Введение в криптографию (ЛП) - Циммерман Филипп
Мета-поручители и доверенные поручители
В большинстве случаев пользователи полностью полагаются на ЦС в проверке подлинности сертификатов. Иными словами, пользователи убеждены, что ЦС провёл всю механическую процедуру проверки за них, и уверены в его поручительствах за подлинность заверенных им сертификатов. Такая схема работает только до некоторого предела в количестве пользователей PKI, перейдя который ЦС не сможет придерживаться прежнего уровня тщательности процедуры проверки. В этом случае становится необходимым добавление в систему дополнительных"поручителей".
ЦС также может быть мета-поручителем. Мета-поручитель не только сам заверяет ключи, но предоставляет и другим лицам (организациям) полномочия заверения. По аналогии с тем, как король передаёт свою личную печать или факсимиле приближённым советникам, чтобы те могли действовать от его имени, так и мета-поручитель уполномочивает других действовать в качестве доверенных поручителей. Эти доверенные поручители могут удостоверять ключи с тем же результатом, что и мета-поручитель. Однако, они не могут создавать новых доверенных поручителей.
"Мета-поручитель" и "доверенный поручитель" — это термины PGP. В среде Х.509 мета-поручитель называется корневым центром сертификации(root CA), а доверенные поручители — подчинёнными, или промежуточными, центрами сертификации(subordinate CAs, intermediate CAs).
Корневой ЦС для подписания ключей использует закрытый ключ, связанный с особым типом сертификата, называемым корневым сертификатом ЦС. Любой сертификат, подписанный корневым ключом ЦС, становится достоверным любому другому сертификату, подписанному корневым. Такой процесс удостоверения действует даже для сертификатов, подписанных другим ЦС в [связанной] системе — если ключ промежуточного ЦС подписан ключом корневого ЦС, любой сертификат подписанный первым расценивается верным в пределах иерархии. Этот процесс отслеживания вдоль ветвей иерархии того, кто подписал какие сертификаты, называется отслеживанием пути, или цепи, сертификатов.
Модели отношений доверия
В относительно закрытых системах, таких как небольшие организации и фирмы, можно без труда отследить путь сертификата назад к корневому ЦС. Однако, пользователям зачастую приходится связываться с людьми за пределами их корпоративной среды, включая и таких, с которыми они прежде никогда не встречались, например, с поставщиками, потребителями, клиентами и др. Установление линии доверия с теми, кто не был явно удостоверен ЦС, становится непростой задачей.
Организации следуют одной из нескольких моделей отношений доверия, которые диктуют пользователям их действия по определению подлинности сертификатов. Существуют три различные модели:
Прямое доверие
Иерархическое доверие
Сеть доверия (Web of Trust)
Прямое доверие
Прямое доверие (или непосредственное доверие) — это простейшая из моделей отношений доверия. В этой схеме пользователь убеждён, что ключ подлинный, поскольку точно знает, от кого получил этот ключ. Все криптосистемы в той или иной мере используют эту форму доверия. Например, в веб-браузерах корневые ключи Центров сертификации доверяются напрямую, т. к. находились в дистрибутиве данного программного продукта. Если и существует какой-либо вид иерархии, то он распространяется из этих напрямую доверяемых сертификатов.
В PGP пользователь, заверяющий ключи самостоятельно, не прибегая к помощи доверенных поручителей, использует схему прямого доверия.
Иерархическое доверие
В иерархической системе существует ряд корневых сертификатов, от которых распространяется доверие. Эти сертификаты могут либо сами заверять сертификаты конечных пользователей, либо они могут уполномочивать другие сертификаты, которые будут заверять сертификаты пользователей по некоторой цепи. Представьте, что это большое "дерево" доверия. Подлинность сертификатов-"листьев" (сертификатов конечных пользователей) определяется отслеживанием цепочки к их удостоверителям, а от них уже к удостоверителям этих удостоверителей, и так до тех пор, пока не будет найден напрямую доверяемый корневой сертификат.
Сеть доверия
Сеть доверия объединяет обе предыдущие модели, также привнося принцип, что доверие есть понятие субъективное (что соотносится с житейским представлением), и идею о том, что чем больше информации, тем лучше. Таким образом, это накопительная модель доверия. Сертификат может быть доверяем напрямую или доверяем по некоторой цепочке, уходящей к напрямую доверяемому корневому сертификату (мета-поручителю), или может быть заверен группой доверенных поручителей.
Возможно, вам знакомо понятие"шесть степеней разделения", означающее, что любой индивид может установить некоторую цепочку к любому другому индивиду на планете, используя шесть или менее человек в качестве посредников. Это — сеть поручителей.
Таково же и представление PGP о доверии. PGP использует цифровые подписи как собственный вид поручительства. Когда один пользователь подписывает ключ другого, он становиться поручителем этого ключа (поручительствует за подлинность ключа и его принадлежность предполагаемому владельцу). Этот процесс, расширяясь, и образует сеть доверия.
В среде PGP любой пользователь может выступать в качестве центра сертификации. Каждый пользователь может заверить открытый ключ другого пользователя. Однако, такой сертификат будет расценен подлинным у третьего пользователя только тогда, когда последний признаёт заверителя своим доверенным поручителем. (Иными словами, вы доверяете моему мнению о подлинности других ключей, только если считаете меня своим доверенного поручителем. В противном случае, моя субъективная оценка подлинности чужих ключей для вас по меньшей мере сомнительна.)
считает ли пользователь определённый ключ подлинным;
уровень доверия, предоставленный пользователем этому ключу, с которым его владелец будет выступать поручителем в подлинности других ключей.
Вы указываете на своей копии моего ключа, насколько весомым считаете моё мнение о подлинности подписанных мною ключей. Это исключительно система репутации: некоторые пользователи известны тем, что тщательно проверяют ключи и дают хорошие подписи, которым люди доверяют как безоговорочному показателю подлинности.
Степени доверия в PGP
Наивысший уровень доверия — безусловное доверие (Implicit Trust) — это доверие вашей собственной ключевой паре. PGP полагает, что если вы владеете закрытым ключом, то должны доверять и действиям соответствующего открытого. Все ключи, подписанные вашим безусловно доверяемым, для вас верны и подлинны.
Существует три степени доверия, которые вы можете присвоить чужому открытому ключу:
Полное доверие
Частичное доверие
Нет доверия
Чтобы ещё более всё запутать, существует также три уровня подлинности:
Подлинный
Возможно подлинный
Неопределённый (недостоверный)
Чтобы дать другому ключу полномочия поручительства, вы:
1. Берёте подлинный ключ, который
либо подписан вами,
либо иным доверенным поручителем, и затем
2. Устанавливаете уровень доверия, которого, как вам кажется, заслуживает владелец.
Для примера представим, что на вашей связке есть ключ Алисы. Вы определили подлинность её ключа и, подписывая его, указываете на это. Вам известно, что Алиса — активный сторонник тщательной проверки чужих ключей. Поэтому вы наделяете её Полным доверием, что, фактически, превращает её в Центр сертификации: если Алиса подпишет чужой ключ, он будет верным на вашей связке априори.