Цифровой сертификат
цифровой или бумажный документ, подтверждающий соответствие между открытым ключом и информацией, идентифицирующей владельца ключа.
На картинке графически показано содержимое сертификата
вид сертификата на программном уровне
Data:
Version: 1 (0x0)
Serial Number: 7829 (0x1e95)
Signature Algorithm: md5WithRSAEncryption
Issuer: C=ZA, ST=Western Cape, L=Cape Town, O=Thawte Consulting cc,
OU=Certification Services Division,
CN=Thawte Server CA/Email=server-certs@thawte.com
Validity
Not Before: Jul 9 16:04:02 1998 GMT
Not After : Jul 9 16:04:02 1999 GMT
Subject: C=US, ST=Maryland, L=Pasadena, O=Brent Baccala,
OU=FreeSoft, CN=www.freesoft.org/Email=baccala@freesoft.org
Subject Public Key Info:
Public Key Algorithm: rsaEncryption
RSA Public Key: (1024 bit)
Modulus (1024 bit):
00:b4:31:98:0a:c4:bc:62:c1:88:aa:dc:b0:c8:bb:
33:35:19:d5:0c:64:b9:3d:41:b2:96:fc:f3:31:e1:
66:36:d0:8e:56:12:44:ba:75:eb:e8:1c:9c:5b:66:
70:33:52:14:c9:ec:4f:91:51:70:39:de:53:85:17:
16:94:6e:ee:f4:d5:6f:d5:ca:b3:47:5e:1b:0c:7b:
c5:cc:2b:6b:c1:90:c3:16:31:0d:bf:7a:c7:47:77:
8f:a0:21:c7:4c:d0:16:65:00:c1:0f:d7:b8:80:e3:
d2:75:6b:c1:ea:9e:5c:5c:ea:7d:c1:a1:10:bc:b8:
e8:35:1c:9e:27:52:7e:41:8f
Exponent: 65537 (0x10001)
Signature Algorithm: md5WithRSAEncryption
93:5f:8f:5f:c5:af:bf:0a:ab:a5:6d:fb:24:5f:b6:59:5d:9d:
92:2e:4a:1b:8b:ac:7d:99:17:5d:cd:19:f6:ad:ef:63:2f:92:
ab:2f:4b:cf:0a:13:90:ee:2c:0e:43:03:be:f6:ea:8e:9c:67:
d0:a2:40:03:f7:ef:6a:15:09:79:a9:46:ed:b7:16:1b:41:72:
0d:19:aa:ad:dd:9a:df:ab:97:50:65:f5:5e:85:a6:ef:19:d1:
5a:de:9d:ea:63:cd:cb:cc:6d:5d:01:85:b5:6d:c8:f3:d9:f7:
8f:0e:fc:ba:1f:34:e9:96:6e:6c:cf:f2:ef:9b:bf:de:b5:22:
68:9f
Цель ЭЦП на сертификате
Цель ЭЦП на сертификате -- указать, что сведения сертификата были заверены третим лицом или организацией. В то же время цифровая подпись
не подтверждает достоверность сертификата как целого; она является поручительством только того, что подписанный ID связан с конкретным общественным ключом.
Таким образом, сертификат, обычно, -- это открытый ключ с прикреплёнными к нему одной или несколькими формами ID, плюс отметка одобрения от доверенного лица.
Распространение сертификатов
Сертификаты применяются, когда нужно обменяться с кем-нибудь ключами. Небольшим группам людей, которые желают общаться защищённо, не составит труда просто
передать друг другу дискеты или отправить электронные письма, содержащие копии их ключей.
Это -- ручное распространение открытых ключей и оно целесообразно только до определённого момента. Дальнейшее -- за пределами возможностей данного метода,
и тогда становится необходимым установить систему, которая бы обеспечивала достаточную надёжность и безопасность, предоставляла возможности хранения и обмена
ключами, так что коллеги, бизнес-партнёры или незнакомцы смогут отправлять друг другу зашифрованные сообщения, если в том возникнет необходимость.
Такая система может вылиться в форму простого хранилища-депозитария, называемого общественным сервером сертификатов, или иметь более сложную и комплексную структуру, предполагающую дополнительные возможности администрирования ключей, и называемую Инфраструктурой открытых ключей (Public Key Infrastructure, PKI).
Серверы-депозитарии
Сервер-депозитарий, также называемый сервером сертификатов, или сервером ключей, -- это база данных, позволяющая пользователям оставлять и извлекать из неё цифровые сертификаты. Сервер ключей также может предоставлять некоторые административные функции, помогающие компании поддерживать свою политику безопасности. Например, на хранение могут оставляться только ключи, удовлетворяющие определённым критериям. PGP Keyserver предоставляет такие возможности, тогда как депозитарии общего пользования -- нет.
(PKIs)
PKI, как и серверы-депозитарии, имеет системы хранения сертификатов, но, в то же время, предоставляет сервисы и протоколы по управлению открытыми ключами. В них входят возможности выпуска, отзыва и системы доверия сертификатов. Главной же возможностью PKI является введение компонентов, известных как Центр сертификации (Certification Authority, CA) и Центр регистрации (Registration Authority, RA).
Центр сертификации (ЦС) создаёт цифровые сертификаты и подписывает их своим закрытым ключом . Из-за важности своей роли, ЦС является центральным компонентом инфраструктуры PKI. Используя открытый ключ ЦС, каждый, желающий сверить достоверность конкретного сертификата, сличает подпись Центра сертификации и, следовательно, удостоверяется в целостности содержащейся в сертификате информации.
Как правило, Центром регистрации (ЦР) называется общность лиц, процессов и устройств, служащих целям регистрации новых пользователей в структуре PKI (зачислению) и дальнейшему администрированию постоянных пользователей системы. Также, ЦР может производить «веттинг» -- процесс проверки того, принадлежит ли конкретный открытый ключ своему «законному» обладателю.
ЦР -- это человеческое сообщество: лицо, группа, департамент, компания или иная ассоциация. С другой стороны, ЦС -- обычно, программа, используемая для выдачи самих сертификатов своим зарегистрированным пользователям. Существуют даже причудливые аппаратные ЦС, сконструированные из оружейного металла, защищённые от взлома и имеющие кнопки питания, которые, в случае атаки, аннулируют все хранящиеся в системе ключи.
Форматы сертификатов
Как правило, цифровой сертификат -- это набор идентифицирующих сведений, связанных с открытым ключом и подписанных доверенным третьим лицом, дабы доказать их достоверность и взаимосвязанность. Сертификат может быть представлен в виде ряда форматов.
PGP поддерживает два формата сертификатов:
Сертификаты стандарта PGP (чаще называемые просто ключами PGP)
Сертификаты стандарта X.509
Доверие и достоверность
Каждый пользователь в среде системы открытых ключей подвержен ошибочному принятию поддельного ключа (сертификата) за настоящий. Достоверность есть убеждённость в том, что конкретный открытый ключ принадлежит предполагаемому обладателю. Достоверность является одним из существеннейших принципов в среде системы открытых ключей, где вы должны постоянно устанавливать подлинность каждого конкретного сертификата.
Когда вы убедились, что PGP-ключ, принадлежащий кому-то другому, достоверен, вы можете подписать его копию на своей связке ключей, чем подтвердите факт, что вы его проверили и нашли достоверным. Если вы захотите, чтобы другие знали вашу степень доверия этому сертификату, вы можете экспортировать подпись на сервер-депозитарий, с тем чтобы другие могли её видеть.
Как было описано в секции «Инфраструктуры открытых ключей (PKIs)», некоторые компании уполномочивают один или более Центр сертификации (ЦС) на проверку достоверности сертификатов. В организации, использующей PKI с сертификатами Х.509, задача Центров регистрации состоит в приёме запросов на сертификаты, а задача Центров сертификации в выдаче сертификатов конечным пользователям -- процесс ответа на запрос пользователя на сертификат. В организации, использующей PGP-сертификаты без PKI, задача ЦС -- в проверке достоверности всех PGP-сертификатов и подписании верных. Как правило, основная цель ЦС -- собственной подписью «связать» общественный ключ с идентификационной информацией, содержащейся в сертификате, чем заверяя третьих лиц, что были приняты определённые меры по установлению связи между ключом и идентификационными сведениями.
Центр сертификации в организации -- это краеугольный камень системы доверия и достоверности; в некоторых организациях, как, например, в тех, которые используют PKI, ни один сертификат не считается достоверным, пока не будет подписан доверенным ЦС.
Проверка достоверности
Один из способов установления достоверности -- определённый ручной процесс. Существует несколько вариантов его проведения. Например, вы можете попросить вашего реципиента передать вам копию его открытого ключа «физически» . Но зачастую это бывает неудобно и неэффективно.
Другой вариант -- это вручную сверить отпечатки (fingerprints) сертификата. Насколько уникальны отпечатки пальцев каждого человека, настолько же уникальны и отпечатки каждого сертификата PGP. Отпечаток -- это хэш сертификата пользователя, который показан как один из его параметров. В PGP отпечаток может быть представлен или как шестнадцатеричное число, или как набор т.н. биометрических слов, фонетически чётких и применяемых для упрощения вербальной идентификации отпечатка.
Вы можете установить достоверность сертификата позвонив обладателю ключа (таким образом, что вы начнёте коммуникацию) и попросив его прочитать отпечаток с его ключа; вам же нужно сверить этот отпечаток с тем, который находится на полученной вами копии. Это проходит, если вам знаком голос владельца, но как вы установите личность того, с кем даже незнакомы? Некоторые с этой целью помещают отпечатки ключей на свои визитные карточки.
Ещё один способ установления достоверности чьего-то сертификата -- довериться тому, что третье лицо провело процесс его удостоверения.
ЦС, например, отвественно за детальную проверку принадлежности открытого ключа предполагаемому владельцу перед выдачей ему сертификата. Каждый, доверяющий ЦС, будет автоматически расценивать верными все сертификаты, подписанные ЦС.
Другой аспект проверки достоверности состоит в том, чтобы убедиться, что сертификат не был аннулирован (отозван). За дополнительной информацией по этому вопросу обращайтесь к разделу «Ревокация сертификата».
Установление доверия
Вы удостоверяете сертификаты. Вы доверяете людям. Также, вы доверяете людям удостоверять сертификаты других людей. Обычно, если только владелец сам не вручил вам копию, вы должны положиться на чьё-то мнение о достоверности ключа.
Модели доверия
В относительно закрытых системах, таких как небольшие фирмы, можно без труда отследить путь сертификата назад к корневому ЦС. Однако, пользователям зачастую приходится связываться с людьми за пределами их корпоративной среды, включая и таких, с которыми они никогда не встречались, например, с поставщиками, потребителями, клиентами и пр. Установление линии доверия с теми, кто не был явно удостоверен ЦС, становится непростой задачей.
Компании следуют одной из нескольких моделей доверия, которые диктуют пользователям их действия по установлению достоверности сертификатов. Существует три различных модели:
Прямое доверие
Иерархическое доверие
Сеть доверия (Web of Trust)
Ревокация сертификата
Сертификаты действенны только пока действительны. Небезопасно полагаться на то, что сертификат будет защищён вечно. В большинстве организаций и во всех PKI сертификат имеет ограниченный срок «жизни». Этим уменьшается период, в который система становится уязвимой, если сертификат окажется скомпрометирован.
Таким образом, сертификат создаётся с запланированным периодом достоверности, начинающимся с даты создания и заканчивающимся датой истечения . Сертификат может быть использован в течение всего периода достоверности (срока его жизни), по истечении которого перестаёт быть верным, поскольку достоверность его идентификационно-ключевой пары более не может быть гарантирована. (Тем не менее, сертификат может по-прежнему применяться для подтверждения информации, зашифрованной или подписанной им в течение срока жизни; однако, он становится неприменим для будущих криптографических нужд.)
Также, бывают ситуации, когда необходимо аннулировать сертификат до истечения его действия, например, в случае увольнения обладателя сертификата с настоящего места работы или когда ему становиться известно, что частный ключ данного сертификата был взломан. Такой процесс аннулирования называется ревокацией, отзывом, или отменой. Отозванный сертификат гораздо более подозрителен, нежели просроченный. Просроченные сертификаты более непригодны к использованию, однако, не несут такой угрозы скомпрометированности, как отменённые.
Кто бы ни подписал сертификат, он в любой момент может отозвать с него свою подпись (используя тот же закрытый ключ, которым её создавал). Отозванная подпись указывает на то, что подписавший посчитал, что открытый ключ и идентификационная информация более не связаны друг с другом, или что открытый ключ сертификата (или соотвествующий частный) был взломан. Отозванная подпись имеет почти такое же значение, как и аннулированный сертификат.
В случае с сертификатами Х.509, отозванная подпись представляет ровно то же самое, что и отменённый сертификат, поскольку вообще только одна подпись делала сертификат достоверным -- подпись Центра сертификации. Сертификаты PGP предоставляют вам дополнительную возможность аннулирования всего сертификата (а не только подписей на нём), если вы вдруг посчитаете, что он был скомпрометирован.
Только владелец сертификата (обладатель соотвествующего частного ключа) или некто, специально уполномоченный владельцем (т.н. уполномоченный отменитель -- designated revoker), может аннулировать PGP-сертификат. (Уполномочивание третьего лица на отмену сертификата бывает полезным, т.к. потеря пароля к частному ключу, которая обычно и служит причиной отзыва, делает этот отзыв самим владельцем невозможным.) И только выдавший сертификат Х.509 может его отменить.
Оповещение об аннулировании сертификата
После аннулирования сертификата очень важно передать всем потенциальным корреспондентам, что он более недействителен. В случае сертификата PGP, наиболее простой способ оповещения -- это размещение отменённого сертификата на сервере-депозитарии; таким образом, все, кто могут решить связаться с вами, будут предупреждены не использовать этот общественный ключ.
В среде PKI предупреждение об отмене сертификатов обычно происходит через специальную структуру, называемую реестром аннулированных сертификатов (Certificate Revocation List, CRL) и публикуемую Центром сертификации. CRL содержит датируемый, актуальный список всех отозванных непросроченных сертификатов системы. Отозванные сертификаты остаются в списке только до момента своего фактического истечения, после чего убираются оттуда -- это предотвращает бесконечное увеличение списка.
ЦС обновляет CRL через определённые регулярные промежутки времени. Теоретически, это должно предотвратить непреднамеренное использование аннулированного сертификата. Хотя, всё же остаётся вероятным случайное применение скомпрометированного сертификата во временном промежутке между публикациями CRL.
сертификаты
SSL
|