Как CA решает, заслуживает ли организация доверия - PullRequest
2 голосов
/ 07 января 2010

В настоящее время я программирую центр сертификации для универ-класса, в настоящее время я борюсь с концепцией создания сертификатов.

Как ЦС обычно решает, следует ли ему выдавать сертификат субъекту, достаточно ли этого доказать, что субъект является владельцем открытого ключа, подписав запрос сертификата своим закрытым ключом?

Если нет, то как СА обычно решает, заслуживает ли организация доверия?

спасибо,

Ответы [ 5 ]

4 голосов
/ 12 января 2010

Я беспокоюсь, что ваш вопрос предполагает серьезное недоразумение.

Достаточно ли доказать, что объект является владельцем открытого ключа, подписав запрос сертификата своим закрытым ключом?

определенно не достаточно, чтобы объект подписал что-то с закрытым ключом. Как CA узнает, какой открытый ключ использовать для проверки подписи? Он должен доверять сущности, чтобы обеспечить это. Так что любой может связаться с ЦС и сказать:

"Я microsoft.com, и здесь я подписал это своим закрытым ключом. Вы даже можете проверить это с моим открытым ключом. Теперь, не могли бы вы подтвердить, что этот открытый ключ принадлежит microsoft.com, пожалуйста «Я заплачу тебе 1000 долларов!»

(На самом деле, этот шаг необходим , просто не достаточен. Если бы я не подписал что-то с помощью закрытого ключа, то я мог бы отправить любой открытый ключ - даже Microsoft - в ЦС и спросить чтобы подтвердить его как мой. Тогда я могу утверждать, что что-то, подписанное Microsoft (может быть, заявка на патент) на самом деле было подписано мной! Так что CA обязательно проверит, что у меня есть соответствующий закрытый ключ, прежде чем он сертифицирует открытый ключ в сертификате .)

Итак, вопрос в том, что может сделать ЦС для проверки личности человека, запрашивающего сертификат? Никто в CA никогда не слышал об этой сущности раньше!

Простой вариант, который может быть полностью автоматизирован на стороне ЦС, заключается в том, чтобы организация предоставляла адрес электронной почты. CA отправит запрос (например, специальный URL-адрес на веб-сайте CA с длинным случайным числом в нем) на этот адрес электронной почты. Если кто-то отправляет запрос на сервер с этим URL-адресом, то, вероятно, именно тот, кто владеет или имеет доступ к этому адресу электронной почты.

Вы можете попробовать это сами, если зайдете в Verisign и запросите бесплатный пробный SSL-сертификат.

Ограничение состоит в том, что отношение only , которое этот сертификат может подтвердить, находится между открытым ключом и адресом электронной почты. Этого может быть достаточно для некоторых людей, но этого не достаточно для всех.

Если я хочу быть уверен, что конкретный сертификат (или открытый ключ в нем) принадлежит, скажем, XYZ Inc из Эльбонии, потому что я собираюсь отправить им некоторые важные деловые данные, я хочу больше, чем просто адрес электронной почты. Я хочу быть уверен, что ЦС провел серьезное исследование. ЦС должен получить запрос на фирменном бланке. Они должны связаться с компанией, используя номер телефона из телефонного справочника. (Самозванец также должен будет обмануть телефонистов.) ЦС должен проверить в офисе регистрации фирменного наименования, чтобы убедиться, что XYZ Inc зарегистрирована по этому адресу. Они должны опубликовать документ (с длинным случайным числом в нем) по зарегистрированному адресу. (Это означает, что самозванец должен был бы также перехватить почту.) CA может физически посещать зарегистрированный офис организации, чтобы подтвердить, что запрос был сделан.

Все эти проверки личности требуют много времени и средств. ЦС будет взимать с организации плату за такую ​​услугу. Но если организация хочет предоставить своим клиентам высокую степень уверенности в том, что этот открытый ключ действительно принадлежит XYZ Inc, то это то, что нужно сделать.

Как предположил Иэн Коллинз, центры сертификации могут предоставлять дешевые услуги тем, кому требуется только небольшая степень проверки личности, и дорогостоящие услуги для других. Сертификат, который предлагает ЦС, будет содержать указание на уровень проверки личности, которая прошла. Лицо, рассматривающее транзакцию с использованием сертификата, может взглянуть на «Заявление о сертификации», чтобы понять, что означает этот уровень, и типы проверок личности, которые были выполнены.

Наконец, CA не делает никаких утверждений о надежности организации . Помните, что сертификат - это связь между открытым ключом и личностью. Проверки, которые СА действительно гарантирует, что открытый ключ действительно связан с этой конкретной сущностью, а не с кем-то, выдающим себя за эту сущность. Сущность может быть довольно злой!

Таким образом, вы не можете использовать криптографию с открытым ключом для определения личности кого-либо до после сертификата. В сертификате говорится, что ЦС использовал некоторую другую форму проверки личности, и позволяет другим людям полагаться на эту проверку.

4 голосов
/ 07 января 2010

ЦС - это бизнес. Это делает деньги, продавая сертификаты. Чем больше сертификатов продаст, тем больше денег заработает. Если ЦС не будет обоснованно проверять сущности, он потеряет свою репутацию, и никто не захочет платить за его сертификацию.

Как правило, СА действуют в пределах натяжения этих двух противостоящих сил

1 голос
/ 10 января 2010

ИМХО, на практике наиболее важные вещи заключаются в том, что подписчики СА (т. Е. Те, которые проверяют сертификаты) понимают, что делает СА, чтобы они могли надлежащим образом доверять сертификатам, и что сертификат никогда не переиздается. одна и та же личность для двух разных сущностей.

Проверка личности пользователя важна, если имя в сертификате объективно. Например, сертификат веб-сервера, который должен содержать конкретное имя домена / хоста (например, www.example.com), должен быть уверен, что владелец сертификата владеет доменным именем.

1 голос
/ 07 января 2010

Существуют разные уровни доверия, связанные с различными типами сертификатов.

Базовые сертификаты SSL:

Например, базовый сертификат SSL для веб-сайта часто представляет собой автоматизированный процесс, которыйпроверяет, отправляя уникальный URL-адрес с истекшим временем (или код, который необходимо ввести в онлайн-форму), адреса электронной почты, связанные с записью WHOIS доменов.

Для расширенной проверки:

Для более строгой проверки(например, в случае SSL «Расширенная проверка», где вы видите зеленую адресную строку в современных браузерах), обычной практикой является установление легитимности владельца путем сопоставления нескольких источников информации, таких как запрос счета за коммунальные услуги/ свидетельство о регистрации / реквизиты зарегистрированной корпорации (например, Dun and Bradstreet / Регистрационная палата (Великобритания) или эквивалент) и информация о доменах, чтобы убедиться, что они точно совпадают с одинаковыми адресами и названием компании.

В случае сертификатов для• частному лицу часто требуется ксерокопия водительских прав с фотографией или паспортом.

Обычной практикой является также перезвонить по указанному телефону, чтобы подтвердить, что заказ является законным.Законность телефонного номера обычно основывается на номере в информации WHOIS или на номере, указанном в телефонном счете, предоставленном коммунальной компанией.

Процесс получения сертификатов расширенной проверки обычно очень похож, если не идентиченпроцесс для сертификатов подписи кода (когда домен, используемый в качестве почтового контакта для записи, часто воспринимается как домен, для которого вы должны контролировать информацию WHOIS).

Он немного отличается от регистратора к регистратору, и этоможет быть немного неформальным и иногда специальным (потому что некоторые вещи, которые легко обеспечить небольшой компании, трудно охватить крупной корпорацией, и наоборот, поэтому они, как правило, принимаются несколькими альтернативными методами).

1 голос
/ 07 января 2010

Определение идентификации субъекта довольно субъективно для типа сертифицируемого субъекта. По моему опыту, при запросе сертификата для доменного имени, например, www.stackoverflow.com, центр сертификации обычно связывается с техническим контактом, указанным в whois.

В качестве альтернативы, CA может предоставить парольную фразу PKCS # 9 доверенному объекту для предоставления в CSR. CA может затем проверить парольную фразу по списку и решить, является ли запрашиваемый объект законным для этого объекта.

...