Рейтинг:1

Почему для расшифровки одного и того же файла с 256-битным RSA в TEE требуется больше времени, чем в REE?

флаг cn

Все мы знаем, что TEE может использовать почти всю производительность процессора, поэтому его время, затрачиваемое на шифрование файлов с использованием RSA256, меньше, чем у REE.

А почему нет расшифровки?

Почему для расшифровки одного и того же файла с 256-битным RSA в TEE требуется больше времени, чем в REE?

Maarten Bodewes avatar
флаг in
Обратите внимание, что шифрование с открытым ключом обычно вообще не выполняется в TEE. Внутри TEE обычно выполняются только операции с закрытым ключом, и обычно TEE использует специализированное оборудование, что означает накладные расходы на установку, связь и операции. Без подробностей это все, что можно сказать. Имейте в виду, что вопросы реализации обычно рассматриваются здесь не по теме, поэтому, если вы используете определенный код для тестирования, вы можете вместо этого попробовать [so].
fgrieu avatar
флаг ng
Мне пришлось гуглить REE (Rich Execution Environment), и я не могу точно сказать, что это значит. Я не вижу, чтобы все «TEE могли использовать почти всю производительность процессора». Наоборот, многие TEE (Trusted Execution Environments) представляют собой относительно небольшие выделенные ИС, которые _не могут_ использовать основной ЦП (например, в некоторых смартфонах). Я подозреваю, что вопрос не по теме, и я уверен, что контекст следует объяснить лучше.
Gilles 'SO- stop being evil' avatar
флаг cn
@fgrieu На самом деле «TEE» обычно означает среду, которая не является отдельной ИС. В смартфонах «TEE» в значительной степени является синонимом «безопасного мира TrustZone». Я не уверен, что вопрос по теме; ответ действительно касается реализации криптографии, но только на поверхностном уровне.
fgrieu avatar
флаг ng
@Gilles'SO-stopbeingevil': ах, если мы возьмем TrustZone в качестве модели того, что такое Trusted Execution Environment, а Rich Execution Environment - все остальное, что может делать основной процессор, я лучше понимаю, о чем идет речь. Я знаю смартфоны, в которых некоторые избранные криптографические задачи реализованы в специальной микросхеме безопасности (похожей на TPM ПК), а не в основном процессоре, и подумал, что это TEE. По крайней мере, в этих устройствах мы не можем полностью доверять тому, что делает главный ЦП, защищенным от посторонних глаз других процессов, потому что есть так много побочных каналов.
Рейтинг:1
флаг cn

Производительность не является общим свойством ни криптографической операции, ни типа среды выполнения. Это свойство конкретной реализации в конкретной среде. Таким образом, в целом неверно утверждение, что «для расшифровки одного и того же файла с 256-битным RSA в TEE требуется больше времени, чем в REE». Однако есть правдоподобные причины, по которым это могло произойти.

(Предыстория: TEE (Trusted Execution Environment) — это среда, изолированная от основной операционной системы (REE: Rich Execution Environment) комбинацией аппаратных и программных средств. Это может означать работу на другом процессоре или на том же процессор в другой виртуальной машине или на том же процессоре с какой-либо технологией изоляции, такой как SGX на x86 или TrustZone на руке.Обычно люди, которые склонны использовать термины «TEE» и «REE», работают с TrustZone или SGX.)

TEE, работающий на основном процессоре, обладает всей вычислительной мощностью процессора, поэтому, если он выполняет точно такой же код, он будет работать так же быстро. Однако на практике вполне вероятно, что TEE не выполняет тот же код, что и REE.

SGX и TrustZone защищают TEE от прямых атак, таких как попытка кода REE прочитать память, используемую TEE. Но это не защищает от атак по сторонним каналам. Например, кэш совместно используется TEE и REE; REE не может прочитать строку кэша TEE, но он может наблюдать, когда TEE смещает строку кэша, поэтому он может проводить атаки по времени кэширования. Как следствие, программное обеспечение, работающее в TEE, должно защищать себя от атак синхронизации кэша.TEE особенно уязвим против временных атак, потому что операционная система REE имеет доступ к таймерам с высокой степенью детализации, в большей степени, чем непривилегированный процесс REE, атакующий другой процесс. Защита от утечки побочного канала требует производительности.

В дополнение к контрмерам в реализации криптографии TEE, операционная система TEE может иметь контрмеры, такие как более частое вытеснение кэша, которые также повышают безопасность в ущерб производительности.

Также возможно, что реализация криптографии TEE просто хуже оптимизирована, чем реализация REE. REE, вероятно, использует OpenSSL или ответвление OpenSSL, а OpenSSL — это место, где большая часть усилий по оптимизации выходит за рамки оптимизированного вручную ассемблерного кода для конкретного процессора и алгоритма. На криптографическую оптимизацию в TEE уходит меньше рабочей силы.

Если вы измеряете время из приложения REE, отправка операции в TEE сопряжена с затратами. Однако эта стоимость обычно незначительна для асимметричной криптографии, особенно для расшифровки RSA, которая требует большого объема вычислений. Для симметричной криптографии это может быть существенно.

Вы не говорите, какой тип TEE вы смотрите. ТРОЙНИК может быть реализован в виде отдельного чипа, который, как правило, менее производительный, поскольку он специального назначения и, следовательно, должен быть дешевым. Например, дискретный TPM намного медленнее, чем даже самый дешевый процессор приложений, к которому его можно подключить, и даже специальные ускорители для асимметричной криптографии не полностью компенсируют это.

P.S. 256-битный RSA был смехотворно слабым даже в 1980-х. 2048 бит (256 байт) — типичный размер ключа RSA в наши дни.

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.