You can edit almost every page by Creating an account. Otherwise, see the FAQ.

Direct Anonymous Attestation

Материал из EverybodyWiki Bios & Wiki
Перейти к:навигация, поиск

Ошибка скрипта: Модуля «Unsubst» не существует. 

Direct Anonymous Attestation (DAA, в переводе «прямая анонимная аттестация» — Шаблон:Tr/lang) — это криптографический примитив, который делает возможным удаленную аутентификацию доверенного компьютера, сохраняя конфиденциальность пользователя.

Trusted Computing Group (TCG) принял прямую анонимную аттестацию (DAA) в качестве метода удаленной аутентификации аппаратного модуля, точнее доверенным аппаратным модулем (TPM)[1], при сохранении конфиденциальности пользователя платформы, которая содержит данный модуль. Прямую анонимную аттестацию (DAA) можно рассматривать как групповую подпись без указания того, что электронная подпись может быть открытой, значит анонимность не может быть отозвана. При этом DAA допускает использование псевдонимов, то есть для каждой подписи пользователь, по согласованию с получателем подписи, может решить будет ли подпись связана с другой подписью. Также DAA позволяет обнаруживать «известные» ключи: если секретные ключи DAA извлекаются из TPM и публикуются, верификатор может обнаружить, что с использованием этих секретных ключей была создана подпись. Схема защищена в модели случайного оракула[2] при условиях устойчивого RSA и принятия решения Диффи — Хеллмана.

Стандарт ISO/IEC 20008 2013 также предусматривает прямую анонимную аттестацию, а этап реализации Intel Enhanced Privacy ID (EPID) 2.0 для микропроцессоров доступен для предоставления лицензии RAND-Z вместе с открытым исходным кодом SDK.

Схема прямой анонимной аттестации[править]

В основе схемы DAA (прямой анонимной аттестации) лежит: доверенный аппаратный модуль (TPM) выбирает секретное «сообщение» f, получает подпись Camenisch-Lysyanskaya (CL) от эмитента по безопасному двухстороннему протоколу. Далее доверенный аппаратный модуль (TPM)[3] может убедить верификатора в том, что он получил аттестацию анонимно с помощью доказательства знания подписи. Верификатор сможет распознать мошеннические доверенные платформенные модули (TPM) в том случае, если доверенный платформенный модуль (TPM) предоставит псевдоним NV и доказательство, что псевдоним получен из секретного f доверенного платформенного модуля (TPM), содержащегося в аттестации, и базы, определенной проверяющим.

В данной схеме используются параметры безопастности n - размер модуля RSA, f - размер fi (информация закодирована в сертификат), e - размер экспоненты, состовляющей часть сертификата, e - размер интервала, из которого выбирается экспонента, - параметром безопасности, управляющий статистическим свойством нулевого разглашения, 𝑣 - размер 𝑣 (случайное значение, часть сертификата), 𝛨 - выходная длина хэш-функции[4], используемая для эвристического алгоритма Фиат-Шамира[5], r - параметр безопасности для уменьшения доказательства безопасности, G - размер модуля G, p - размеру порядка p подгруппы ℤ*G для маркировки ошибок.

При должны выполняться следующие неравенства:

и

Задача дискретного логарифмирования в подгруппе ℤ*𝛤 порядка 𝜌, при условии, что 𝛤, 𝜌 простые числа и , должны иметь одинаковую сложность с факторизацией логарифмических бит RSA, для выполнения данного условия выбираются p, G. 𝛨 - устойчивая к коллизиям хэш-функция H:

Спецификация модели прямой анонимной аттестации[править]

Протокол DAA основан на четырех основных объектах и двух разных этапах. Объектами являются доверенный аппаратный модуль (TPM) или микропроцессор с поддержкой EPID, эмитент, верификатор и хост. На этапе присоединения TPM и хост образуют платформу, которая выполняет протокол соединения с эмитентом. Затем эмитент должен проверить платформу и решить, разрешает ли он ей стать участником. Эмитент является объектом протокола DAA, который выдает учетные данные на основе ключевых атрибутов платформы. За счет использования доказательства с нулевым разглашением TPM преобразует учетные данные в нужную форму, позволяющую сохранить анонимность. TPM, как участник, и принимающая сторона подписывают сообщения базовым именем - bsn . Хоть и подпись не дает никакой информации о подписавшейся личности, но любой верификатор может проверить, что подпись получена из законной платформы и с помощью детерминированного алгоритма проверки. Когда платформа подписывается bsn ≠ ⊥, становится очевидно, что полученные подписи были созданы одной и той же платформой, которая может быть публично протестирована с помощью детерминистического алгоритма. Существует ряд участников, запускающих криптографические протоколы друг с другом, есть нечестный участник(мошенник) Z, который контролирует некоторых участников, и среда E, которая предоставляет участнику Ui входные данные и произвольно взаимодействует с Z.

Среда предоставляет входные данные честным участникам, получает их выходные данные и произвольно взаимодействует с противником Z. Участники не запускают никаких протоколов, но отправляют все свои входные данные и получают свои выходные данные от идеальной полностью доверенной стороны T. Криптографический протокол обеспечивает безопасную реализацию функциональности, если для каждого противника Z, каждой среды E существует симулятор S, управляющий теми же сторонами в идеальной системе, что и Z в реальной системе. Значит среда не сможет различить, запущен он или нет в реальной системе, взаимодействует с Z или работает ли он в идеальной системе и взаимодействует с симулятором S.

Зададим параметры функциональности прямой анонимной аттестации (DAA). Мы можем различать следующие типы участников: эмитент I, модуль доверенной платформы (TPM) Mi с идентификатором idi, хост Hi, в который встроен TPM Mi, функция обнаружения мошенника O. Данная функция показывает мошеннические TPM и верификаторы Vj.

Модель безопасности[править]

Идеальная система доверенного лица T обеспечивает следующие операции[6]:

Setup → Join → DAA-Sign/Verify → Rogue Tagging

Настройка(Setup): Каждый TPM Mi отправляет свой уникальный идентификатор T, пересылающий его соответствующему хосту Hi.

Соединение(Join): Хост Hi связывается с T с просьбой стать участником. T отправляет определенному TPM Mi значение счетчика cnt. Затем T спрашивает эмитента I, может ли платформа с идентификатором id и значением счетчика cnt стать участником. Если Mi был помечен как мошенник в соответствии со значением счетчика, T передает это I тоже. Если эмитент соглашается, T уведомляет Hi, что он стал участником.

DAA-Подпись / Проверка(DAA-Sign/Verify): Хост Hi хочет подписать сообщение m относительно некоторого базового имени bsn и некоторого значения счетчика cnt для некоторого верификатора Vj. Hi отправляет m, bsn и cnt в T. Если Hi или Mi не являются членами cnt, то T отклоняет запрос. Иначе T пересылает m и cnt к соответствующему Mi и спрашивает его о желании подписать это. Если это выполняется, то Т обращается к Hi, что Mi соглашается и спрашивает его какое базовое имя bsn он хочет подписать (или хочет прервать). Если Hi не прерывается, то T будет работать следующим образом:

  • Mi был помечен как мошенник cnt, T отправляет Vj, что мошеннический TPM подписал m.
  • bsn = ⊥, то T отправляет Vj, что m было подписано bsn.
  • bsn ≠ ⊥, то T проверяет, подписали ли Hi или Mi сообщения bsn и cnt. Если это выполнилось, то T ищет соответствующий псевдоним P в своих данных; в другом случае T выбирает новый случайный псевдоним P (lc - параметр безопасности). В конце T сообщает Vj, что платформа с псевдонимом P подписала m.

Идентификация мошенников(Rogue Tagging): o указывает T на пометку платформы с идентификатором cnt как на мошенника. Если TPM с идентификатором id не поврежден, то T отклоняет запрос. Иначе T помечает TPM с идентификатором id как мошенник в соответствии со значения счетчика cnt.

Свойства полноты для подписей[править]

  • Полнота: честная платформа успешно создает подпись для сообщения с базовым именем bsn, честный верификатор принимает подпись.
  • Корректность соединения: честная платформа успешно создает две сигнатуры с1 и с2, одно и то же базовое имя bsn ≠ ⊥, честный верификатор, выполняющий алгоритм соединения на с1 и с2, даст 1.

Задача посложнее заключается в определении свойств безопасности, которые схема DAA должна давать в присутствии мошенника:

  • Стойкость(1): эмитент и все доверенные платформенные модули честны, ни один мошенник не может создать подпись для сообщения m с базовым именем bsn, если ни одна платформа не подписала m bsn.
  • Стойкость(2): эмитент честен, мошенник может подписаться только на имя поврежденных TPM. Если n TPM повреждены, мошенник может создать не более n несвязанных подписей для одного и того же базового имени bsn ≠ ⊥.
  • Анонимность: мошенник, которому даны две подписи, два разных базовых имени или bsn = ⊥, не может найти отличия в том, что были ли обе подписи созданы одной честной платформой или двумя разными.
  • Постоянность: никакой мошенник не может создавать подписи для сообщения m с базовым именем bsn, которое ссылается на подпись, созданную честной платформой, которая никогда не подписывала m bsn. Даже если эмитент поврежден, всегда должно сохраняться свойство.

Функции эмитента[править]

Генерация ключей формирует неинтерактивное доказательство с использованием эвристики Фиат-Шамира того, что выбор ключей был сделан правильно. Это будет гарантировать требования безопасности хоста и его пользователя, следовательно анонимность и конфиденциальность подписей будут сохраняться.

  1. Эмитент выбирает RSA модули с такими p, q, что , , такими что p, p’, q, q’ являются всеми простыми числами и n имеет ln бит.
  2. Эмитент выбирает генератор случайных чисел g’ из QRn (группа квадратичных вычетов по модулю n).
  3. Эмитент выбирает случайные целые числа x0, x1, xz, xs, xb, xg ∈ [1, p’q’] и вычисляет:
  1. Эмитент предоставляет неинтерактивное доказательство того, что вычислены правильно, то есть , , и .
  2. Эмитент генерирует группу простого порядка, то есть выбирает случайные простые числа p и G так, чтобы для некоторого r:

и

Выбирает случайное y' ∈R*𝛤 такое что

Историческая справка[править]

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

Первому решению принятому TCG (спецификация TPM v1.1), требуется пользующаяся доверием третья сторона, то есть центр сертификации (CA) конфиденциальности. Каждый TPM имеет встроенную пару ключей RSA, называемую ключом подтверждения (EK), который должен знать CA конфиденциальности. В целях идентифицировать TPM[7], генерируется вторая пара ключей RSA, называемая ключом удостоверения подлинности (AIK). Он отправляет открытый ключ удостоверения подлинности (AIK), подписанный ключом подтверждения (EK), в центр сертификации (CA) для конфиденциальности, который проверяет его действительность и выдает сертификат для ключа удостоверения подлинности (AIK). Для этой реализации центр конфиденциальности должен знать открытый ключ подтверждения (EK) TPM или изготовитель TPM должен предоставлять сертификат подтверждения. Существует два пути для обнаружения мошеннических TPM данным методом. Во-первых, центр сертификации (CA) конфиденциальности должен вести список TPM, идентифицированных их ключами подтверждения (EK), чтобы узнать мошеннические, и отклонять запросы от них. Во-вторых, если центр сертификации (CA) конфиденциальности получает слишком много запросов от определенного TPM, то он может их отклонить и заблокировать их ключ подтверждения (EK) TPM. Количество разрешенных запросов должно подлежать управлению рисками. Это решение является сложным, так как центр сертификации (CA) конфиденциальности должен принимать участие в каждой транзакции и обеспечивать высокую доступность, оставаясь к тому же безопасным. Более того, требования конфиденциальности могут быть нарушены, если центр сертификации (CA) конфиденциальности и верификатор вступают в сговор.

Существующие реализации[править]

Первая схема прямой анонимной аттестации (DAA) принадлежит Brickell, Camenisch, and Chen. Данная схема небезопасна и требует исправления[8]. Brickell, Chen, Li повысили эффективность первой схемы, используя симметричные пары, а не RSA[9]. Chen, Morrissey, Smart пытались еще больше повысить эффективность, переключаясь с симметричного на асимметричный параметр[10][11], но к сожалению, асимметричная схема оказалась небезопасна.[12]Chen, Page и Smart предложили новую криптографическую схему с использованием кривых Баррето-Наерига[13]. Эта схема реализуется как EPID 2.0, так и стандартом TPM 2.0. [14]

Литература[править]

  1. Brickell E., Camenisch J., Chen L. (2004). "Direct Anonymous Attestation" (PDF). ACM Conference on Computer and Communications Security: 132–145.
  2. Camenisch J., Drijvers M., Lehmann A. (2015). "Universally Composable Direct Anonymous Attestation" (PDF). IBM Research: 3-29.
  3. Matthew Casey, Liqun Chen, Thanassis Giannetsos, Chris Newton, Ralf Sasse, Steve Schneider, Helen Treharne, Jorden Whitef (2019). "Direct Anonymous Attestation in the Wild" (PDF). Surrey Centre for Cyber Security: 3-8.
  4. Jan Camenisch, Ernie Brickell, Liqun Chen, Manu Drivers, Anja Lehmann (2004). "Direct Anonymous Attestation. Revisited" (PDF). IBM Research: 18-33.
  5. "Trusted Computing Group (TCG)"
  6. Brickell E., Camenisch J., Chen L. (2004). "Direct Anonymous Attestation" (PDF). ACM Conference on Computer and Communications Security: 3-7.
  7. "TPM Specification"
  8. Smyth; Ryan; Chen (2015). "Formal analysis of privacy in Direct Anonymous Attestation schemes" (PDF). Science of Computer Programming. 25-28.
  9. Brickell; Chen; Li (2008). "Simplified security notions of Direct Anonymous Attestation and a concrete scheme from pairings" 3rd International Conference on Trust and Trustworthy Computing. 5324: 156–175.
  10. Chen; Morrissey; Smart (2008). "On Proofs of Security for DAA Schemes" 3rd International Conference on Trust and Trustworthy Computing. 5324: 156–175.
  11. Chen; Morrissey; Smart (2008). "Pairings in Trusted Computing". 2nd International Conference on Pairing-Based Cryptography. 5209: 1–17.
  12. Chen; Li (2010)."A note on the Chen-Morrissey-Smart DAA scheme". Information Processing Letters. 110 (12–13): 485–488.
  13. Chen; Page; Smart (2010)."On the Design and Implementation of an Efficient DAA Scheme" (PDF). 8th International Conference on Smart Card Research and Advanced Applications. 6035: 223–237.
  14. (2014). "Trusted Platform Module Library" (PDF). TCG Published: 25-50.



Шаблон:Ambox

This article "Direct Anonymous Attestation" is from Wikipedia. The list of its authors can be seen in its historical and/or the page Edithistory:Direct Anonymous Attestation. Articles copied from Draft Namespace on Wikipedia could be seen on the Draft Namespace of Wikipedia and not main one.



Read or create/edit this page in another language[править]