Поддержка TEE / HSM в операционной системе Android - PullRequest
0 голосов
/ 09 октября 2018

В Android реализована концепция аппаратной защиты как TEE, и в последних версиях Android, т. Е. Устройства Android Pie могут иметь HSM (Strongbox).

1. Какова реальная разница между TEE и HSM?

2. Может ли Android HSM использоваться в качестве решения для криптографии, такого как решение Whitebox?

1 Ответ

0 голосов
/ 20 октября 2018

Trusted Execution Environment (TEE): это программная конструкция, которая реализуется в обычных пределах контекста времени выполнения.Он может использовать чистое программное обеспечение или ЦП и специальные коды операций (например, Intel SGX или эквиваленты ARM) для обеспечения «концепции безопасности с аппаратной поддержкой» [1].Это логическая стена вокруг данных, и вы можете доверять ей только в том случае, если вы доверяете [2] реализации.Самое большее, это может быть NIST FIPS 140-2 Level 1 (утвержденные алгоритмы), но никогда не может быть больше, если только вокруг него не укреплено все устройство.

Модуль аппаратной безопасности (HSM): Это совершенно отдельный контекст времени выполнения.В этом случае это должен быть Trusted Platform Module (TPM), поскольку речь идет об устройствах Android, включая дополнительное оборудование на устройстве.На уровне предприятия HSM - это отдельная вычислительная среда, обычно реализуемая на плате PCIe.TPM, вероятно, могут достичь уровня FIPS 140-2 уровня 2 (очевидно, что существует несанкционированное вмешательство), но, опять же, более высоких уровней (3 и 4), только если само устройство укреплено вокруг TPM.Поскольку это отдельный контекст времени выполнения, ОС будет отправлять в него данные, а содержащиеся в нем ключи будут использоваться для шифрования, подписывания или hmac, а также для выполнения любых других задач.В случае взлома он должен (если это Уровень 2) удалить ключи.

Что касается второй части вашего вопроса, а не с какой-либо реальной безопасностью и не с какой-либо полезностью в качестве «разумной криптографии».сопроцессора.

Скорость хранения, выбора алгоритма и скорости обработки на TPM будет намного меньше, чем на основной платформе, на которой интегрирован TPM.Подумайте «три или четыре ключа» вместо десятков, сотен или тысяч (хотя количество ключей будет ограничено ОЗУ NV на TPM, поэтому классифицируйте этот как «неопределенный»).

Это список алгоритмов, поддерживаемых уровнем аппаратной абстракции (HAL) Keymaster Strongbox:

  • RSA 2048
  • AES 128 и 256
  • ECDSA P-256
  • HMAC-SHA256 (поддерживает размеры ключей от 8 до 64 байтов включительно)
  • Triple DES 168

Так что EdDSA отсутствует (ed25519)).Нет ключей RSA 4k.Нет семьи SHA3.Кроме того, он поддерживает 3DES, так что забудьте о сертификации FIPS, и его включение означает, что команда разработчиков Android ожидает товарных (дешевых) TPM, потому что включение 3DES означает, что они поддерживают TPM <1.2, поэтому даже <em>modern товарные TPM.

Я продолжаю поднимать FIPS из-за второй части вопроса - «можем ли мы использовать это как криптографическое решение».

И TPM будет работать медленнее, чем основной ЦП [3].

TPM предназначены для защиты платформы, к которой он подключен, а не для обеспечения массового шифрования для сторонних приложений, кроме как по специальнымтребования (шифрование данных в состоянии покоя, обмен ключами DH).

[1] концепция защиты с аппаратной поддержкой, так как она, возможно, использует специальные коды операций, которые дешифруют / шифруют данные на лету, используя ЦП.т. е. «аппаратное обеспечение» в данном случае - это процессор.

[2] «Доверие» встроено прямо в метку.

[3] Да, иногда ASIC работают быстрее.Но речь идет о массовом рынке, товарном оборудовании.Если вам нужна масса и безопасный Crypto, купите настоящий HSM.

...