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