Заверенным открытым ключом,или сертификатом, является чей-то открытый ключ, подписанный заел у-живающим доверия лицом. Заверенные ключи используются, чтобы помешать попыткам подмены ключа [879]. Заверенный ключ Боба в базе данных открытых ключей состоит не только из открытого ключа Боба . Он содержит информацию о Бобе - его имя, адрес, и т.д. - и подписан кем-то, кому Алиса доверяет - Трентом (обычно известным как орган сертификации,certification authority, или СА). Подписав и ключ, и сведения о Бобе, Трент заверяет, что информация о Бобе правильна, и открытый ключ принадлежит ему . Алиса проверяет подпись Трента и затем использует открытый ключ, убедившись в том, что он принадлежит Бобу и никому другому. Заверенные ключи играют важную роль во многих протоколах с открытыми ключами, например, РЕМ [825] (см. раздел 24.10) и Х.509 [304] (см. раздел 24.9).
В таких системах возникает сложная проблема, не имеющая прямого отношения к криптографии . Каков смысл процедуры заверения? Или, иначе говоря, кто для кого имеет полномочия выдавать сертификаты? Кто угодно может заверит своей подписью чей угодно открытый ключ, но должен же быть какой-то способ отфиль т-ровать ненадежные сертификаты: например, открытые ключи сотрудников компании, заверенные СА другой компании. Обычно создается цепочка передачи доверия: один надежный орган заверяет открытые ключи дове-
ренных агентов, те сертифицируют СА компании, а СА компании заверяют открытые ключи своих работников. Вот еще вопросы, над которыми стоит подумать:
— Какой уровень доверия к чьей-то личности обеспечивает сертификат ?
— Каковы взаимоотношения между человеком и СА, заверяющим его открытый ключ, и как эти отношения отражаются в сертификате?
— Кому можно доверить быть "одним надежным органом", возглавляющим сертификационную цепочку ?
— Насколько длинной может быть сертификационная цепочка ?
В идеале прежде, чем СА подпишет сертификат Боба, Бобу нужно пройти определенную процедуру автор и-зации. Кроме того, для защиты от скомпрометированных ключей важно использовать какие-нибудь метки вр е-мени или признаки срока действия сертификата [461].
Использование меток времени недостаточно. Ключи могут стать неправильными задолго до истечения их срока либо из-за компрометации, либо по каким-то административным причинам . Следовательно, важно, чтобы СА хранил список неправильных заверенных ключей, а пользователи регулярно сверялись бы с этим списком . Эта проблема отмены ключей все еще трудна для решения.
К тому же, одной пары открытый ключ/закрытый ключ недостаточно . Конечно же, в любая хорошая реализация криптографии с открытыми ключами должна использовать разные ключи для шифрования и для цифр о-вых подписей. Такое разделение разрешает различные Это разделение учитывает различные уровни защиты, сроки действия, процедуры резервирования, и так далее. Кто-то может подписывать сообщения 2048-битовым ключом, который хранится на интеллектуальной карточке и действует двадцать лет, а кто-то может использ о-вать для шифрования 768-битовый ключ, который хранится в компьютере и действует шесть месяцев .
Однако, одной пары для шифрования и одной для подписи также недостаточно . Закрытый ключ может идентифицировать роль человека также, как и личность, а у людей может быть несколько ролей . Алиса может хотеть подписать один документ как лично Алиса, другой - как Алиса, вице-президент Monolith, Inc., а третий - как Алиса, глава своей общины. Некоторые из этих ключей имеют большее значение, чем другие, поэтому они должны быть лучше защищены. Алисе может потребоваться хранить резервную копию своего рабочего ключа у сотрудника отдела безопасности, а она не хочет, чтобы у компании была копия ключа, которым она подписала закладную. Алиса собирается пользоваться несколькими криптографическими ключами точно также, как она использует связку ключей из своего кармана.