Contents of this directory is archived and no longer updated.

В разных интернетах разные пользователи доставляют разные заблуждения на тему PKI. Это вполне нормальное поведение для тех, кто не является специалистом в этой области. Но ненормальное для пользователей претендующих на это звание. Сегодня на повестке дня 3 вопроса:

  • Standalone CA и шаблоны сертификатов;
  • тайна самоподписанных сертификатов EFS;
  • сертификаты на кластере NLB.

Standalone CA и шаблоны сертификатов

Вчера в одном блоге вычитал утверждение, что Standalone CA может использовать шаблоны сертификатов. На самом деле это не так. Standalone CA выгодно отличается от Enterprise, что ему не нужны шаблоны. Совсем. Он собирает сертификат из той информации, которая хранится в запросе сертификата. Если в оснастке certsrv.msc у Enterprise CA есть секция Certificate Templates, то у Standalone CA её нет:

Standalone CA

вот, есть Revoked, Issued certificates, Pending, Failed Requests, но никакого Certificate Templates, так что использовать их в такой ситуации нельзя.

Тайна самоподписанных сертификатов EFS

Я думаю, что многие шифровали файлы в системе простым, автоматически сгенерированным системой сертификатом. Находится он в оснастке certmgr.msc, контейнере Personal и выглядит примерно так:

Self-signed EFS certificate

Как мы видим, это самоподписанный сертификат, у которого Issuer и Subject одинаковые и соответствуют имени текущего пользователя. Срок действия — 100 лет. Всем известно, чтобы сертификат был доверенный, корневой сертификат из его цепочки (или он сам, если это самоподписанный сертификат) должен находиться в контейнере Trusted Root CA. Но в случае с этим сертификатом EFS такое не наблюдается. И вчера в том же самом блоге узнал, что этот самоподписанный сертификат какой-то волшебный и на него не распространяются правила доверия.

Но на самом деле всё гораздо интересней. PKI — технология очень железная с не менее железной логикой и всё в ней подчиняется простым принципам. Это делает PKI весьма надёжной и непробиваемой. Но давайте вернёмся к нашим баранамсампоподписанным сертификатам EFS. На самом деле его копия тоже установлена в контейнере, который делает сертификаты доверенными. И имя ему Trusted People:

Trusted People

Если удалить ваш сертификат из контейнера Trusted People, он станет недоверенным и мы будем горько плакать по этому поводу. Вот что говорят об этом технеты:

Trusted People (TrustedPeople) — This container keeps certificates issued to people or end entities that are explicitly trusted. Most often, these are self-signed certificates or certificates explicitly trusted in an application such as Microsoft Outlook. To share an EFS–encrypted file with other parties, you must have their certificate in this store.

Иными словами, контейнер Trusted People своего рода аналог контейнера Trusted Root CAs, но только для пользовательских сертификатов.

Сертификаты на кластере NLB

Предположим, у вас кластер NLB, который несёт роль веб-сервера. Зачастую там будет какой-нибудь HTTPS, которому нужны сертификаты. Бытует весьма устойчивое мнение, будто бы сертификат SSL должен быть одинаковый на всех узлах кластера, иначе что-то не будет работать при отказе какого-то узла. В действительности это тоже весьма далеко от истины. Дело в том, что сессионные ключи не реплицируются между узлами кластера и каждый узел поддерживает свою сессию SSL c клиентом (это реально, когда клиент одновременно подключен к нескольким узлам кластера). И переключение с одного узла на второй (если один отказал) вызывает инициирование новой сессии SSL. Т.е. снова запрос сертификата сервера, проверка на доверие и отзыв, генерация сессии, сессионных ключей и всё остальное.

Следовательно, каждый узел кластера может поддерживать свой собственный сертификат SSL. И это, между прочим, является бест практисом (возможно проплаченный верисайном с тафтом). Бест практис в данном случае заключается в том, что каждый узел кластера запрашивает для себя свой сертификат и нет необходимости экспортировать ключи в PFX. Потому что когда люди копируют ключи в PFX защищая его простеньким паролем. Или сложным, но записывая пароль на бумажке, которая попадает нежелательному пользователю, ну а остальное вы знаете :-)

На сегодня это всё.


Share this article:

Comments:

URANUS

Vadims Podāns, спасибо, ваши статьи интересны и обстоятельны, вчера с любопытством читал "тот блог", а сегодня тут уже прояснение моментов, которые начали вызывать сомнения в обладаемых знаниях :)

gexeg.blogspot.com

Со всем согласен. Единственно конечно, что режет ухо: PKI — технология очень железная с не менее железной логикой и всё в ней подчиняется простым принципам. Это делает PKI весьма надёжной и непробиваемой. Что бы это означало? хотя бы в контексте этой статьи или абзаца.

Vadims Podāns

Это означает, что архитектура (или концепция) PKI основывается на ряде несложных фундаментальных принципах. И эти принципы соблюдаются во всех аспектах PKI и доказали свою состоятельность на протяжении десятков лет. И обмануть эту архитектуру крайне сложно. Если говорить по конкретный контекст (доверенные самоподписанные сертификаты), здесь тоже соблюдаются те же прописные истины. Чтобы доверять конкретному самоподписанному сертификату, необходимо явно организовать доверие для него. Как это будет реализовано — зависит от конкретной реализации (если мы говорим про Windows PKI, это контейнеры Trusted Root CAs и Trusted People). И никакой мистики здесь не бывает. Вообще в PKI в полной мере работает теорема «знание некоторых принципов компенсирует незнание многих фактов». Как-то так.

gexeg.blogspot.com

То есть, это означает, что чтобы пользоваться сертификатами в криптографии, необходимо чтобы соблюдались правила PKI, такие как, сертификат должен быть доверенным (за счет тех или иных контейнеров), сертификат не должен быть просроченным...???? (я говорю сейчас про реализацию Windows PKI)

Vadims Podāns

в общем смысле — да. Но в ряде случаев можно пользоваться и просроченными сертификатами. Например, вы можете зашифровать файл/почту действующим сертификатом. Но никто не мешает расшифровать его обратно уже просроченным и недоверенным сертификатом. Другой пример, подписать файл можно только действующим сертификатом. Но проверить подпись можно и после истечения срока действия сертификата подписи (при условии, что при подписи был установлен timestamp). Если сертификат подписи недоверен, подпись в любом случае будет считаться недоверенной. И это относится не только к Windows PKI, но и к PKI в целом.

gexeg.blogspot.com

как бэ.. рецензия :) http://itband.ru/2011/04/pki-%D0%BC%D0%B8%D1%84%D1%8B-%D0%BE-%D0%BC%D0%B8%D1%84%D0%B0%D1%85/

mikas

OFFTOP! Вадим, у вас на сайте в Favorites странные ссылки...

Vadims Podāns

> Вадим, у вас на сайте в Favorites странные ссылки... а что в них странного?

mikas

Просто обычно это ссылки по теме, дружественные блоги. А тут, как будто, реклама сайта с интимным содержанием в первой ссылке. Бывает такое: есть достаточно уважаемый сайт, а на нём рекламный блог. Сначала всё в норме, а потом в этом блоке начинают интим рекламировать. А автор и не вкурсе. Но да ладно, проверили, Ваши, значит всё в ннорме.

Vadims Podāns

Я добавил эти ссылки исключительно из любви к искусству и чтобы как-то разбавить засилье технического материала чем-то, что не так сильно разрывает мозг. Кстати, говоря, в этом блоге кроме меня других авторов нету :)

mikas

описался... конечно же не блог.. а БЛОК - рекламный блок

artem

> OFFTOP! > Вадим, у вас на сайте в Favorites странные ссылки... почти так же круто, как > Thanks HTH

Ruslan V. Karmanov

Я вижу, что звон бубенчиков самого лучшего MVP в Солнечной Системе, под названием Евгений, донёсся и сюда. :))))

Comments are closed.