Криптографический протокол — это абстрактный или конкретный протокол , который выполняет функцию, связанную с безопасностью , и применяет криптографические методы, часто в виде последовательностей криптографических примитивов . Протокол описывает, как следует использовать алгоритмы , и включает подробную информацию о структурах и представлениях данных, после чего его можно использовать для реализации нескольких совместимых версий программы. [1]
Криптографические протоколы широко используются для безопасной передачи данных на уровне приложений. Криптографический протокол обычно включает в себя по крайней мере некоторые из этих аспектов:
Например, Transport Layer Security (TLS) — это криптографический протокол, используемый для защиты веб-соединений ( HTTPS ). [2] Имеет механизм аутентификации объекта, основанный на системе X.509 ; этап установки ключа, на котором симметричный ключ шифрования формируется с использованием криптографии с открытым ключом; и функция транспортировки данных на уровне приложения. Эти три аспекта имеют важные взаимосвязи. Стандартный TLS не имеет поддержки неотказуемости.
Существуют и другие типы криптографических протоколов, и даже сам термин имеет различное прочтение; Протоколы криптографических приложений часто используют один или несколько основных методов согласования ключей , которые также иногда называют «криптографическими протоколами». Например, TLS использует так называемый обмен ключами Диффи-Хеллмана , который, хотя и является лишь частью TLS как таковой , Диффи-Хеллмана сам по себе можно рассматривать как полноценный криптографический протокол для других приложений.
Широкий спектр криптографических протоколов выходит за рамки традиционных целей конфиденциальности, целостности и аутентификации данных, а также обеспечивает множество других желаемых характеристик компьютерного сотрудничества. [3] Слепые подписи могут использоваться для цифровых денег и цифровых учетных данных , чтобы доказать, что лицо обладает атрибутом или правом, не раскрывая личность этого человека или личности сторон, с которыми это лицо заключило сделку. Безопасную цифровую метку времени можно использовать для доказательства того, что данные (даже если конфиденциальные) существовали в определенное время. Безопасные многосторонние вычисления могут использоваться для вычисления ответов (например, определения самой высокой ставки на аукционе) на основе конфиденциальных данных (например, частных ставок), так что после завершения протокола участники будут знать только свои собственные данные и ответ. Комплексные проверяемые системы голосования обеспечивают набор желаемых свойств конфиденциальности и проверяемости для проведения электронного голосования . Неоспоримые подписи включают интерактивные протоколы, которые позволяют подписавшему доказать подделку и ограничивают круг лиц, которые могут проверить подпись. Отклоняемое шифрование дополняет стандартное шифрование, делая невозможным для злоумышленника математически доказать существование простого текстового сообщения. Цифровые миксы создают трудно отслеживаемые коммуникации.
Криптографические протоколы иногда можно проверить формально на абстрактном уровне. Когда это будет сделано, возникает необходимость формализовать среду, в которой работает протокол, для выявления угроз. Это часто делается с помощью модели Долева-Яо .
Логика, концепции и расчеты, используемые для формального обоснования протоколов безопасности:
Исследовательские проекты и инструменты, используемые для формальной верификации протоколов безопасности:
Для формальной проверки протокола его часто абстрагируют и моделируют с использованием нотации Алисы и Боба . Простой пример:
Это означает, что Алиса намеревается передать Бобу сообщение, зашифрованное общим ключом .
{{citation}}
: CS1 maint: несколько имен: список авторов ( ссылка )