Заверенные открытые ключи

Заверенным открытым ключом,или сертификатом, является чей-то открытый ключ, подписанный заел у-живающим доверия лицом. Заверенные ключи используются, чтобы помешать попыткам подмены ключа [879]. Заверенный ключ Боба в базе данных открытых ключей состоит не только из открытого ключа Боба . Он содер­жит информацию о Бобе - его имя, адрес, и т.д. - и подписан кем-то, кому Алиса доверяет - Трентом (обычно известным как орган сертификации,certification authority, или СА). Подписав и ключ, и сведения о Бобе, Трент заверяет, что информация о Бобе правильна, и открытый ключ принадлежит ему . Алиса проверяет под­пись Трента и затем использует открытый ключ, убедившись в том, что он принадлежит Бобу и никому другому. Заверенные ключи играют важную роль во многих протоколах с открытыми ключами, например, РЕМ [825] (см. раздел 24.10) и Х.509 [304] (см. раздел 24.9).

В таких системах возникает сложная проблема, не имеющая прямого отношения к криптографии . Каков смысл процедуры заверения? Или, иначе говоря, кто для кого имеет полномочия выдавать сертификаты? Кто угодно может заверит своей подписью чей угодно открытый ключ, но должен же быть какой-то способ отфиль т-ровать ненадежные сертификаты: например, открытые ключи сотрудников компании, заверенные СА другой компании. Обычно создается цепочка передачи доверия: один надежный орган заверяет открытые ключи дове-


ренных агентов, те сертифицируют СА компании, а СА компании заверяют открытые ключи своих работников. Вот еще вопросы, над которыми стоит подумать:

— Какой уровень доверия к чьей-то личности обеспечивает сертификат ?

— Каковы взаимоотношения между человеком и СА, заверяющим его открытый ключ, и как эти отношения отражаются в сертификате?

— Кому можно доверить быть "одним надежным органом", возглавляющим сертификационную цепочку ?

— Насколько длинной может быть сертификационная цепочка ?

В идеале прежде, чем СА подпишет сертификат Боба, Бобу нужно пройти определенную процедуру автор и-зации. Кроме того, для защиты от скомпрометированных ключей важно использовать какие-нибудь метки вр е-мени или признаки срока действия сертификата [461].

Использование меток времени недостаточно. Ключи могут стать неправильными задолго до истечения их срока либо из-за компрометации, либо по каким-то административным причинам . Следовательно, важно, чтобы СА хранил список неправильных заверенных ключей, а пользователи регулярно сверялись бы с этим списком . Эта проблема отмены ключей все еще трудна для решения.

К тому же, одной пары открытый ключ/закрытый ключ недостаточно . Конечно же, в любая хорошая реали­зация криптографии с открытыми ключами должна использовать разные ключи для шифрования и для цифр о-вых подписей. Такое разделение разрешает различные Это разделение учитывает различные уровни защиты, сроки действия, процедуры резервирования, и так далее. Кто-то может подписывать сообщения 2048-битовым ключом, который хранится на интеллектуальной карточке и действует двадцать лет, а кто-то может использ о-вать для шифрования 768-битовый ключ, который хранится в компьютере и действует шесть месяцев .

Однако, одной пары для шифрования и одной для подписи также недостаточно . Закрытый ключ может иден­тифицировать роль человека также, как и личность, а у людей может быть несколько ролей . Алиса может хотеть подписать один документ как лично Алиса, другой - как Алиса, вице-президент Monolith, Inc., а третий - как Алиса, глава своей общины. Некоторые из этих ключей имеют большее значение, чем другие, поэтому они должны быть лучше защищены. Алисе может потребоваться хранить резервную копию своего рабочего ключа у сотрудника отдела безопасности, а она не хочет, чтобы у компании была копия ключа, которым она подписала закладную. Алиса собирается пользоваться несколькими криптографическими ключами точно также, как она использует связку ключей из своего кармана.