Direct Anonymous Attestation: различия между версиями

Материал из Википедии — свободной энциклопедии
Перейти к навигации Перейти к поиску
[непроверенная версия][непроверенная версия]
Содержимое удалено Содержимое добавлено
Строка 95: Строка 95:


== Литература ==
== Литература ==
* {{статья
| автор = Brickell E., Camenisch J., Chen L.
| заглавие =Direct Anonymous Attestation
| издание = ACM Conference on Computer and Communications Security
| издательство = ACM New York, NY, USA
| год = 2004
| страницы = 132–145
| isbn = 1-58113-961-6
| doi = 10.1145/1030083.1030103
| ref = Brickell
}}
* {{статья
| автор = Camenisch J., Drijvers M., Lehmann A.
| заглавие =Universally Composable Direct Anonymous Attestation
| издание = IBM Research
| издательство = Springer Berlin Heidelberg
| год = 2015
| страницы = 3-29
| isbn = 978-3-662-49387-8
| doi = 10.1007/978-3-662-49387-8_10
| ref = Camenisch
}}
* {{статья
| автор = Matthew Casey, Liqun Chen, Thanassis Giannetsos, Chris Newton, Ralf Sasse, Steve Schneider, Helen Treharne, Jorden Whitefield
| заглавие =Direct Anonymous Attestation in the Wild
| издание = Surrey Centre for Cyber Security
| издательство = RWC
| год = 2019
| страницы = 3-8
| ref = Whitefield
}}
* {{статья
| автор = Jan Camenisch, Ernie Brickell, Liqun Chen, Manu Drivers, Anja Lehmann
| заглавие =Direct Anonymous Attestation. Revisited
| издание = IBM Research
| год = 2004
| страницы = 18-33
| ref = Camenisch
}}
* {{статья
| автор = Ben Smyth, Mark D. Ryan, Liqun Chen
| заглавие =Formal analysis of privacy in Direct Anonymous Attestation schemes
| издание = Elsevier
| издательство = Science of Computer Programming
| год = 2015
| страницы = 25-28
| doi = 10.1016/j.scico.2015.04.004
| ref = Smyth
}}
* {{статья
| автор = Ernie Brickell, Liqun Chen, Jiangtao Li
| заглавие =Simplified security notions of Direct Anonymous Attestation and a concrete scheme from pairings
| издание = International Journal of Information Security
| год = 2008
| страницы = 156–175
| doi = 10.1007/s10207-009-0076-3
| ref = Li
}}
* {{статья
| автор = Chen L., Morrissey P., Smart N.P.
| заглавие =On Proofs of Security for DAA Schemes
| издание = 3rd International Conference on Trust and Trustworthy Computing
| издательство = Springer, Berlin, Heidelberg
| год = 2008
| страницы = 156-175
| isbn = 978-3-540-88733-1
| doi = 10.1007/978-3-540-88733-1_11
| ref = Chen
}}
* {{статья
| автор = Chen L., Morrissey P., Smart N.P.
| заглавие =Pairings in Trusted Computing
| издание = Lecture Notes in Computer Science
| издательство = Springer, Berlin, Heidelberg
| год = 2008
| страницы = 1-17
| isbn = 978-3-540-85538-5
| doi = 10.1007/978-3-540-85538-5_1
| ref = Morrissey
}}
* {{статья
| автор = Chen L., Li J.
| заглавие =A note on the Chen-Morrissey-Smart DAA scheme
| издание = Information Processing Letters
| год = 2010
| страницы = 485–488
| doi = 10.1016/j.ipl.2010.04.017
| ref = Chen
}}
* {{статья
| автор = Chen L., Page D., Smart N.P.
| заглавие =On the Design and Implementation of an Efficient DAA Scheme
| издание = Lecture Notes in Computer Science
| издательство = Springer, Berlin, Heidelberg
| год = 2010
| страницы = 223–237
| isbn = 978-3-642-12510-2
| doi = 10.1007/978-3-642-12510-2_16
| ref = Page
}}
* {{статья
| заглавие =Trusted Platform Module Library
| издание = TCG
| год = 2014
| страницы = 25-50
}}





Версия от 21:47, 21 декабря 2019

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

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.

Литература

  • Brickell E., Camenisch J., Chen L. Direct Anonymous Attestation // ACM Conference on Computer and Communications Security. — ACM New York, NY, USA, 2004. — С. 132–145. — ISBN 1-58113-961-6. — doi:10.1145/1030083.1030103.
  • Camenisch J., Drijvers M., Lehmann A. Universally Composable Direct Anonymous Attestation // IBM Research. — Springer Berlin Heidelberg, 2015. — С. 3-29. — ISBN 978-3-662-49387-8. — doi:10.1007/978-3-662-49387-8_10.
  • Matthew Casey, Liqun Chen, Thanassis Giannetsos, Chris Newton, Ralf Sasse, Steve Schneider, Helen Treharne, Jorden Whitefield. Direct Anonymous Attestation in the Wild // Surrey Centre for Cyber Security. — RWC, 2019. — С. 3-8.
  • Jan Camenisch, Ernie Brickell, Liqun Chen, Manu Drivers, Anja Lehmann. Direct Anonymous Attestation. Revisited // IBM Research. — 2004. — С. 18-33.
  • Ben Smyth, Mark D. Ryan, Liqun Chen. Formal analysis of privacy in Direct Anonymous Attestation schemes // Elsevier. — Science of Computer Programming, 2015. — С. 25-28. — doi:10.1016/j.scico.2015.04.004.
  • Ernie Brickell, Liqun Chen, Jiangtao Li. Simplified security notions of Direct Anonymous Attestation and a concrete scheme from pairings // International Journal of Information Security. — 2008. — С. 156–175. — doi:10.1007/s10207-009-0076-3.
  • Chen L., Morrissey P., Smart N.P. On Proofs of Security for DAA Schemes // 3rd International Conference on Trust and Trustworthy Computing. — Springer, Berlin, Heidelberg, 2008. — С. 156-175. — ISBN 978-3-540-88733-1. — doi:10.1007/978-3-540-88733-1_11.
  • Chen L., Morrissey P., Smart N.P. Pairings in Trusted Computing // Lecture Notes in Computer Science. — Springer, Berlin, Heidelberg, 2008. — С. 1-17. — ISBN 978-3-540-85538-5. — doi:10.1007/978-3-540-85538-5_1.
  • Chen L., Li J. A note on the Chen-Morrissey-Smart DAA scheme // Information Processing Letters. — 2010. — С. 485–488. — doi:10.1016/j.ipl.2010.04.017.
  • Chen L., Page D., Smart N.P. On the Design and Implementation of an Efficient DAA Scheme // Lecture Notes in Computer Science. — Springer, Berlin, Heidelberg, 2010. — С. 223–237. — ISBN 978-3-642-12510-2. — doi:10.1007/978-3-642-12510-2_16.
  • Trusted Platform Module Library // TCG. — 2014. — С. 25-50.