Криптографические протоколы и криптографические примитивы с открытым ключом
Вопросы криптографии в Российской Федерации регулируются ФСБ (8 ым Центром), т.е. спецслужбами.В других странах за эти вопросы отвечают различные структуры, например в США криптографические стандарты определяет NIST (англ. The National Institute of Standards and Technology); в Великобритании - CESG [1] .
На практике в РФ применяются обычно как отечественные, так и зарубежные криптографические стандарты. В случае использования первого из указанных стандартов ФСБ может выдать лицензию на соответствующий продукт. Однако, ФСБ допускает применение и некоторых зарубежных стандартов.
Содержание
История криптографии с ооткрытым ключом
1976 г. - публикация новаторской работы W. Diffie и M. Hellman "New directions in cryptography". По сути, эта работа стала началом развития кирптографии с открытым ключом.
В дальнейшем повествовании приняты следующие обозначения:
Необходимость в криптографии с открытым ключом возникает, когда отсутствует полное доверие сторон.
Свойства безопасности
- Секретность: информация недоступна незаконному пользователю.
- Целостность: информация не изменяется, не уничтожается, т.е. в любой момент времени t : t > t 1 информация такая же, как и в момент времени t 1 .
- Подлинность (Аутентичность): отправитель и, в свою очередь, получатель уверены, что сообщение дойдет до адресата (при этом 1-е и 2-е свойства безопасности могут не соблюдаться.
- Неотказуемость (Non-repudiation): при выполнении действий впоследствии отсутствует возможность отказаться от каких-либо действий.
В различных системах выполняются разные требования.
Сравнение криптографий с закрытым и открытым ключом
Ни для криптографии с закрытым ключом, равно как ни для криптографии с открытым ключом не установлена нижняя граница стойкости (т.е., фактически, не доказана безопасность).
Существует понятие Proven Security (Доказуемая Безопасность): если вскрыть систему не легче, чем решить трудоемкую задачу (например, факторизации, дискретного логарифмирования), то система безопасна именно в таком смысле.
Размеры ключей
Согласно постановлению Правительства №957 допускается не получать лицензию ФСБ в том случае, если размер ключа не превышает 56 бит (для криптосистем с секретным ключом) или 128 бит (для криптосистем с ОК). Стоит отметить, что криптосистемы с таким длинами ключей относительно легко вскрываются.
Классификация криптографических протоколов
Все действия описаны точно и недвусмысленно; все участники четко ему (протоколу) следуют; следующее действие на начнется, пока не завершится предыдущее.
Каждый протокол имеет конкретную цель, выражающуюся в решении некоторой задачи.
- Функции зашифрования/расшифрования;
- Функции вычисления ЭЦП;
- Функции вычисления кодов аутентификации;
- Функции генерации случайных последовательностей.
Криптографические протоколы классифицируют по следующим признакам [2] :
- По характеру разрешения спорных вопросов
- С арбитром
- С судьей
- Самодостаточные
- На основе симметричной криптографии;
- На основе асимметричной криптографии;
- Смешанные (гибридные)
- Двухсторонние
- Трехсторонние
- Многосторонние
- Интерактивный протокол
- Не интерактивный протокол
- Протоколы обеспечения целостности сообщений
- Протоколы цифровой подписи
- Протоколы идентификации участников
- Протоколы обеспечения конфиденциальности
- Протоколы доказательства [3];
- Протоколы доказательства знания
- Протоколы доказательства умения решать некоторую задачу
- Примитивные (базовые)
- Прикладные
- В системах электронного обмена данными
- В системах электронной подписи
- В системах электронной коммерции
- В системах поддержки правовых отношений
- В игровых системах;
Предварительное распределение ключей между участниками требуется, например, в симметричном шифровании.
В данном протоколе предполагается, что участники не владеют распределенной секретной информацией. Протокол является двухсторонним (участвуют два пользователя). Открытый текст М передается от пользователя А к пользователю В с соблюдением конфиденциальности. Протокол состоит из следующий трех этапов:
- Этап 1. Пользователь А помещает сообщение в "сундук", закрывает его своим "замком" и передает В. Пользователь В не сможет прочесть, что положил в "сундук" А, т.к. не имеет ключа от замка А. Иными словами, закрытие пользователем А сообщения в "сундуке" на свой замок эквивалентно шифрованию М на секретном ключе пользователя А:
- Этап 2.В навешивает на "сундук" свой "замок" и отправляет "сундук" обратно А, т.е. В выполняет действия, аналогичные проделанным А:
- Этап 3.А снимает свой "замок" и отправляет "сундук" В, В проделывает ту же операцию и получает сообщение М. Действия А и В эквивалентны расшифрованию (т.е. преобразованию, обратному к зашифрованию на Этапе 1) открытого текста М:
Протокол обеспечивает секретность и целостность, по при этом НЕ обеспечивается аутентичность. Рассмотрим следующую ситуацию: пусть при в момент пересылки возникает злоумышленник Z, обладающий собственным "замком":
Рассмотренный выше пример применим в случае двух участников. Но как быть, если участников много, гораздо больше двух? В таком случае может быть использован Удостоверяющий Центр (УЦ), в котором хранятся все замки.
Пред началом передачи участники могут узнать посредством обращения к УЦ, какой замок кому принадлежит.
Достоинства: УЦ не знает, о чем переписываются участники, и не может открыть "сундук". Роль "замков" в рассматриваемом случае играют сертификаты открытых ключей (используются для электронной цифровой подписи (ЭЦП), шифрования), хранящиеся в УЦ для каждого участника. ЭЦП нужна для подтверждения подлинности. Сертификаты содержат подписываются цифровой подписью УЦ открытые ключи.
Стандарт X.509 определяет, что должен включать сертификат: сам ключ; подпись УЦ; алгоритм, с помощью которого получена подпись; временные границы действия ключей.
Также УЦ располагает списком отозванных сертификатов (CRL).
В Российской Федерации на сегодняшний день существуют сотни некорпоративных, корпоративных УЦ [5] и УЦ органов государственной власти (применяются для государственных структур).