Прямая анонимная аттестация ( DAA ) — это криптографический примитив , который позволяет проводить удаленную аутентификацию доверенного компьютера , сохраняя при этом конфиденциальность пользователя платформы. Протокол был принят Trusted Computing Group (TCG) в последней версии ее спецификации Trusted Platform Module (TPM) [1] для решения проблем конфиденциальности (см. также Потеря анонимности в Интернете ). ISO/IEC 20008 также определяет DAA, а реализация Enhanced Privacy ID (EPID) 2.0 от Intel для микропроцессоров доступна для лицензирования RAND-Z вместе с открытым исходным кодом SDK.
В принципе, проблема конфиденциальности может быть решена с помощью любой стандартной схемы подписи (или шифрования с открытым ключом ) и одной пары ключей. Производители будут встраивать закрытый ключ в каждый произведенный TPM, а открытый ключ будет опубликован в виде сертификата. Подписи, произведенные TPM, должны были исходить из закрытого ключа, по природе технологии, и поскольку все TPM используют один и тот же закрытый ключ, они неразличимы, что обеспечивает конфиденциальность пользователя. Это довольно наивное решение основано на предположении, что существует глобальный секрет . Достаточно взглянуть на прецедент Content Scramble System (CSS), системы шифрования для DVD , чтобы увидеть, что это предположение в корне ошибочно. Более того, этот подход не позволяет реализовать вторичную цель: способность обнаруживать мошеннические TPM. Мошеннический TPM — это TPM, который был скомпрометирован и из которого были извлечены секреты.
Решение, впервые принятое TCG (спецификация TPM v1.1), требовало доверенной третьей стороны, а именно центра сертификации конфиденциальности (ЦС конфиденциальности). Каждый TPM имеет встроенную пару ключей RSA , называемую ключом подтверждения (EK), которую ЦС конфиденциальности, как предполагается, знает. Для подтверждения TPM генерирует вторую пару ключей RSA, называемую ключом удостоверения личности (AIK). Он отправляет открытый AIK, подписанный EK, в ЦС конфиденциальности, который проверяет его действительность и выдает сертификат для AIK. (Чтобы это работало, либо a) ЦС конфиденциальности должен знать открытый EK TPM априори , либо b) производитель TPM должен предоставить сертификат подтверждения .) Теперь хост/ЦС конфиденциальности может аутентифицировать себя в отношении сертификата. Этот подход допускает две возможности обнаружения мошеннических TPM: во-первых, центр конфиденциальности CA должен вести список TPM, идентифицированных по их EK, которые известны как мошеннические, и отклонять запросы от них, во-вторых, если центр конфиденциальности CA получает слишком много запросов от определенного TPM, он может отклонить их и заблокировать EK TPM. Количество разрешенных запросов должно быть предметом упражнения по управлению рисками. Это решение проблематично, поскольку центр конфиденциальности CA должен принимать участие в каждой транзакции и, таким образом, должен обеспечивать высокую доступность, оставаясь при этом безопасным. Кроме того, требования конфиденциальности могут быть нарушены, если центр конфиденциальности CA и верификатор вступают в сговор. Хотя последняя проблема, вероятно, может быть решена с помощью слепых подписей, первая остается.
Решение EPID 2.0 встраивает закрытый ключ в микропроцессор при его изготовлении, по сути распространяет ключ при поставке физического устройства и обеспечивает подготовку ключа и его готовность к использованию с первого включения питания.
Протокол DAA основан на трех сущностях и двух различных шагах. Сущностями являются участник DAA (платформа TPM или микропроцессор с поддержкой EPID), эмитент DAA и верификатор DAA. Эмитент обязан проверить платформу TPM на этапе присоединения и выдать платформе учетные данные DAA. Платформа (участник) использует учетные данные DAA с верификатором на этапе подписи. С помощью доказательства с нулевым разглашением верификатор может проверить учетные данные, не пытаясь нарушить конфиденциальность платформы. Протокол также поддерживает возможность блокирования, чтобы верификаторы могли идентифицировать подтверждения от TPM, которые были скомпрометированы.
Протокол допускает различные степени конфиденциальности. Взаимодействия всегда анонимны, но Участник/Проверитель может договориться о том, сможет ли Проверитель связывать транзакции. Это позволит профилировать пользователей и/или отклонять запросы, исходящие от хоста, который сделал слишком много запросов. Участник и Проверитель также могут выбрать раскрытие дополнительной информации для выполнения неанонимных взаимодействий (так же, как вы можете решить, сообщать ли незнакомцу свое полное имя или нет). Таким образом, известная личность может быть построена поверх анонимного начала. (Сравните это с: если вы начинаете с известной личности, вы никогда не сможете доказать, что не знаете эту личность, чтобы вернуться к анонимности.)
Первая схема прямого анонимного подтверждения была разработана Брикелем, Каменишем и Ченом; [2] эта схема оказалась небезопасной и требовала исправления. [3] Брикелль, Чен и Ли повысили эффективность этой первой схемы, используя симметричные пары вместо RSA. [4] А Чен, Моррисси и Смарт попытались еще больше повысить эффективность, перейдя от симметричной к асимметричной настройке; [5] [6] к сожалению, асимметричная схема также была небезопасной. [7] Чен, Пейдж и Смарт предложили новую схему криптографии на основе эллиптических кривых, использующую кривые Баррето–Наэрига. [8] Эта схема реализована как стандартом EPID 2.0, так и стандартом TPM 2.0. Она рекомендуется для TPM в целом [9] и требуется для TPM, которые соответствуют профилю клиента ПК. [10] Кроме того, реализация Intel EPID 2.0 ISO/IEC 20008 DAA и доступный SDK с открытым исходным кодом [11] могут использоваться для членов и верификаторов для проведения аттестации. Поскольку один из методов аттестации DAA в TPM 2.0 идентичен EPID 2.0, ведется работа по обеспечению согласованности аттестации ISO/IEC 20008 DAA и TPM 2.0 DAA на уровне спецификации. [ необходима цитата ]