Стандарты криптографии с открытыми ключами


Стандарты криптографии с открытыми ключами (Public-Key Cryptography Standards, PKCS) - это попытка компании RSA Data Security, Inc обеспечить промышленный стандарт для криптографии с открытыми ключами. По традиции такими делами занимался ANSI, но, учитывая текущую ситуацию в криптографической политике, RSADSI решила, что лучше они все сделают сами. Работая со множеством компаний, RSADSI разработала набор стандартов. Некоторые из них совместимы с другими стандартами, а некоторые - нет.

Эти стандарты не являются стандартами в общепринятом смысле этого слова, никто не собирался и не голосовал за PKCS. По своим собственным словам RSADSI "будет единственной организацией, правомочной принимать решения о каждом стандарте, и будет пересматривать эти стандарты по мере необходимости " [803].

Даже это уже совсем. Если вы неуверены, какие структуры данных и синтаксис использовать при программировании криптографии с открытыми ключами, эти стандарты не хуже каких-либо других. К тому же, так как это не настоящие стандарты, вы можете подстроить их под свои нужды.

Далее приведено краткое описание каждого PKCS (PKCS #2 и PKCS #4 были включены в PKCS #l).

PKCS #l [1345] описывает способ шифрования и дешифрирования RSA, главным образом для создания цифровых подписей и цифровых конвертов, описанных в PKCS #7. Для цифровых подписей сообщение хэшируется, а затем хэш-значение шифруется закрытым ключом подписывающего. Совместное представление сообщения и хэш-значения подробно описано в in PKCS #7. Для цифровых конвертов (шифрованные сообщения) сообщение сначала шифруется симметричным алгоритмом, а затем ключ сообщений шифруется открытым ключом получателя. Совместное представление шифрованного сообщения и шифрованного ключа должно соответствовать PKCS #7. Эти два метода совместимы со стандартами PEM. Для структуры сертификатов (или их подобия) открытых и закрытых ключей RSA и трех алгоритмов подписи - MD2 и RSA, MD4 и RSA, MD5 и RSA - PKCS #l также описывает синтаксис, идентичный синтаксису X.509 и PEM.

PKCS #3 [1346] описывает способ реализации обмена ключами по схеме Diffie-Hellman.

PKCS #5 [1347) описывает способ шифрования сообщений секретным ключом, полученным из пароля. Стандарт использует MD2 или MD5 для получения ключа из пароля и шифрует сообщения с помощью DES в режиме CBC. Этот метод предназначен главным образом для шифрования закрытых ключей при их передаче от одной компьютерной системы другой, но может быть использован и для шифрования сообщений.

PKCS #6 [1348] описывает стандартный синтаксис сертификатов открытых ключей. Синтаксис является надмножеством сертификата X.509, при необходимости можно извлечь и сертификат X.509. Дополнительные атрибуты не ограничивают процесс сертификации только открытым ключом. Они содержат и другую информацию, например, адрес электронной почты.

PKCS # 7 [1349] представляет собой общий синтаксис для подписываемых или шифруемых данных, например, цифровых подписей или цифровых конвертов. Синтаксис является рекурсивным, поэтому можно организовать вложенность конвертов или поставить чью-то подпись под ранее зашифрованными данными. Синтаксис также разрешает вместе с содержанием сообщения проверку подлинности других атрибутов, например, меток времени. PKCS #7 с PEM, поэтому подписанные и зашифрованные сообщения могут быть преобразованы в сообщения PEM, и наоборот, без дополнительных криптографических операций. Для управления ключами с помощью сертификатов PKCS #7 может поддерживать множество архитектур - одной из них является PEM.

PKCS #8 [1350] описывает синтаксис информации о закрытых ключах, включая закрытый ключ и набор атрибутов, и синтаксис шифрованных закрытых ключей. Для шифрования информации о закрытых ключах можно использовать PKCS #5.

PKCS #9 [1351] определяет избранные типы атрибутов для расширенных сертификатов PKCS #6, сообщений с цифровой подписью PKCS #7 и информации о закрытых ключах PKCS #8.

PKCS #10 [1352,] описывает стандартный синтаксис запросов сертификации. Сертификация включает индивидуальное имя, открытый ключ и (необязательно) набор атрибутов, которые подписаны лицом, приславшим запрос. Запросы сертификации присылаются в сертифицирующий орган, который преобразует запрос либо в сертификат открытого ключа X.509, либо в сертификат PKCS #6.

PKCS #11 [1353], Стандарт API криптографической метки (Cryptographic Token API Standard) , определяет интерфейс программирования, называемый "Cryptoki", для портативных криптографических устройств всех типов. Cryptoki представляет собой обобщенную логическую модель, позволяющую приложениям выполнять криптографические операции на портативных устройствах, не зная деталей используемой технологии. Этот стандарт также определяет профили приложения: наборы алгоритмов, которые может поддерживать устройство.

PKCS #12 [1354] описывает синтаксис хранения в программном обеспечении открытых ключей пользователей, защищенных закрытых ключей, сертификатов и другой связанной криптографической информации. Целью этого является стандартизация единого фала ключей, используемого многими приложениями.

Эти стандарты всесторонни, но не всеобъемлющи. Многие вопросы остались за пределами этих стандартов: проблема присвоения имен, некриптографические вопросы, касающиеся сертификации, длины ключей и условия для различных параметров. PKCS призваны обеспечить формат передачи данных, основанной на криптографии с открытыми ключами, и инфраструктуру, поддерживающую такую передачу.



Дата добавления: 2021-01-26; просмотров: 317;


Поиск по сайту:

Воспользовавшись поиском можно найти нужную информацию на сайте.

Поделитесь с друзьями:

Считаете данную информацию полезной, тогда расскажите друзьям в соц. сетях.
Poznayka.org - Познайка.Орг - 2016-2024 год. Материал предоставляется для ознакомительных и учебных целей.
Генерация страницы за: 0.008 сек.