URL: https://ssl.opennet.ru/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID10
Нить номер: 4965
[ Назад ]

Исходное сообщение
"Объясните плиз как браузер проверяет SSL сертификат ?"

Отправлено Radiante , 14-Ноя-11 13:28 
У сайта domain.com есть Thawte SSL сертификат.
Обычная схема - у клиента сертификата нет, он просто заходит на сайт и если сертификат поддельный видит что этому сайту нельзя доверять.
Браузер клиента запрашивает IP домена domain.com у DNS, устанавливает соединение с этим IP и получает открытый ключ и сертификат, а далее браузер проверяет подлинность сертификата... объясните пожалуйста как?

Содержание

Сообщения в этом обсуждении
"Объясните плиз как браузер проверяет SSL сертификат ?"
Отправлено Дядя_Федор , 14-Ноя-11 13:45 
> Браузер клиента запрашивает IP домена domain.com у DNS, устанавливает соединение с этим
> IP и получает открытый ключ и сертификат, а далее браузер проверяет
> подлинность сертификата... объясните пожалуйста как?

https://developer.mozilla.org/en/Introduction_to_SSL Читаем и объясняем для себя - как и что.


"Объясните плиз как браузер проверяет SSL сертификат ?"
Отправлено Radiante , 14-Ноя-11 13:50 
>> Браузер клиента запрашивает IP домена domain.com у DNS, устанавливает соединение с этим
>> IP и получает открытый ключ и сертификат, а далее браузер проверяет
>> подлинность сертификата... объясните пожалуйста как?
> https://developer.mozilla.org/en/Introduction_to_SSL Читаем и объясняем для себя -
> как и что.

спасибо. а можно в двух словах суть? верно ли что сертификаты от центров нужны только чтобы удостовериться что DNS выдал верный IP и мы попали на реальный сайт, а не фишинговый?


"Объясните плиз как браузер проверяет SSL сертификат ?"
Отправлено Дядя_Федор , 14-Ноя-11 14:42 
> спасибо. а можно в двух словах суть? верно ли что сертификаты от
> центров нужны только чтобы удостовериться что DNS выдал верный IP и
> мы попали на реальный сайт, а не фишинговый?

Cертификат выдает не Центр. Сертификат выдает сервер (который ДО этого получил сертификат у CA - за определенные деньги), клиент же, получив сертификат, шлет запрос одному из CA (который указана в сертификате) на получение подтверждения, что сервер, который выдал сертификат является именно тем, за кого себя выдает. Собственно, на этом построен бизнес этих самых CA. На одном из таких (Thawte) небезызвестный Шаттлворт сделал очень большие деньги. Потом он продал бизнес не менее известной VeriSign. Простите за оффтоп.
Думаю, так. :) Или надо еще подробнее? Более подробнее - не интересовался. На всякий случай замечу, что есть еще самоподписанные сертификаты. Сгенерированные на самом сервере и не подписанные CA. Доверять им или нет - личное дело пользователя.


"Объясните плиз как браузер проверяет SSL сертификат ?"
Отправлено Radiante , 14-Ноя-11 14:57 
>[оверквотинг удален]
> сертификат у CA - за определенные деньги), клиент же, получив сертификат,
> шлет запрос одному из CA (который указана в сертификате) на получение
> подтверждения, что сервер, который выдал сертификат является именно тем, за кого
> себя выдает. Собственно, на этом построен бизнес этих самых CA. На
> одном из таких (Thawte) небезызвестный Шаттлворт сделал очень большие деньги. Потом
> он продал бизнес не менее известной VeriSign. Простите за оффтоп.
> Думаю, так. :) Или надо еще подробнее? Более подробнее - не интересовался.
> На всякий случай замечу, что есть еще самоподписанные сертификаты. Сгенерированные на
> самом сервере и не подписанные CA. Доверять им или нет -
> личное дело пользователя.

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


"Объясните плиз как браузер проверяет SSL сертификат ?"
Отправлено reader , 14-Ноя-11 15:53 
>[оверквотинг удален]
>> Думаю, так. :) Или надо еще подробнее? Более подробнее - не интересовался.
>> На всякий случай замечу, что есть еще самоподписанные сертификаты. Сгенерированные на
>> самом сервере и не подписанные CA. Доверять им или нет -
>> личное дело пользователя.
> это я все знаю, это и так понятно. вопрос как технически это
> происходит? в чем защита? ведь клиент не получает закрытого ключа, он
> получает данные доступные любому, кто зашел на сайт, и если сайт
> поддельный то он даст те же данные сертификата, и браузер запросив
> подтверждение у CA так же получит положительный ответ.
> В же чем защита?

в сертификате указан публичный ключ который и будет использовать клиент и что бы им что-то правильно расшифровать, нужно что бы сервер шифровал правильным закрытым ключом  


"Объясните плиз как браузер проверяет SSL сертификат ?"
Отправлено PavelR , 14-Ноя-11 15:56 
>[оверквотинг удален]
>>> личное дело пользователя.
>> это я все знаю, это и так понятно. вопрос как технически это
>> происходит? в чем защита? ведь клиент не получает закрытого ключа, он
>> получает данные доступные любому, кто зашел на сайт, и если сайт
>> поддельный то он даст те же данные сертификата, и браузер запросив
>> подтверждение у CA так же получит положительный ответ.
>> В же чем защита?
> в сертификате указан публичный ключ который и будет использовать клиент и что
> бы им что-то правильно расшифровать, нужно что бы сервер шифровал правильным
> закрытым ключом

.... т.е. поддельному сайту нужно иметь приватный(закрытый) ключ, соответствующий сертификату. А закрытый ключ, как уже было выше замечено, "клиент не получает", т.е. по сети не передается.


"Объясните плиз как браузер проверяет SSL сертификат ?"
Отправлено Дядя_Федор , 14-Ноя-11 16:20 
Да вот тут описаны все 5 этапов сего действа - https://developer.mozilla.org/en/Introduction_to_SSL#Server_... В более подробном виде.



"Объясните плиз как браузер проверяет SSL сертификат ?"
Отправлено жора , 14-Ноя-11 19:47 
> это я все знаю, это и так понятно. вопрос как технически это
> происходит? в чем защита? ведь клиент не получает закрытого ключа, он
> получает данные доступные любому, кто зашел на сайт, и если сайт
> поддельный то он даст те же данные сертификата, и браузер запросив
> подтверждение у CA так же получит положительный ответ.
> В же чем защита?

Уже всё разъяснили, попробую ещё проще.
Сервер присылает свой сертификат, в котором помимо своего открытого ключа есть цифровая подпсь CA, где закрытым ключем CA зашифровано: "Верь, Вася. Это в самом деле ключ сайта pupkin.ru"
Клиент в своей базе находит открытый ключ CA и расшифровывает эту сигнатуру.


"Объясните плиз как браузер проверяет SSL сертификат ?"
Отправлено PavelR , 14-Ноя-11 15:54 
>> спасибо. а можно в двух словах суть? верно ли что сертификаты от
>> центров нужны только чтобы удостовериться что DNS выдал верный IP и
>> мы попали на реальный сайт, а не фишинговый?
>  Cертификат выдает не Центр. Сертификат выдает сервер (который ДО этого получил
> сертификат у CA - за определенные деньги), клиент же, получив сертификат,
> шлет запрос одному из CA (который указана в сертификате) на получение
> подтверждения, что сервер, который выдал сертификат является именно тем, за кого
> себя выдает.

ну и зачем вводить в заблуждение?

Клиент, получив сертификат, используя имеющуюся у себя базу корневых сертификатов, проверяет валидность сертификата. Валидность - это степень доверия, определяется, действительно ли подписан ли полученный сертификат корневым или нет. Если подписан, то тогда "типа да, доверяем".

Кроме этой проверки, есть еще проверка на отозванность сертификата, которая да, осуществляется путем отправки запроса на получение списка CRL - certificate revocation list-а, т.е. списка отзыва сертификатов. При этом полученный сертификат не должен быть отозван, отозван - значит не действителен, не доверяем.

> Собственно, на этом построен бизнес этих самых CA.

Кроме денег за выдачу, ЦА может брать деньги за отзыв сертификата (за размещение в CRL) =)


> На  одном из таких (Thawte) небезызвестный Шаттлворт сделал очень большие деньги. Потом
> он продал бизнес не менее известной VeriSign. Простите за оффтоп.
> Думаю, так. :) Или надо еще подробнее? Более подробнее - не интересовался.
> На всякий случай замечу, что есть еще самоподписанные сертификаты. Сгенерированные на
> самом сервере и не подписанные CA. Доверять им или нет -
> личное дело пользователя.


"Объясните плиз как браузер проверяет SSL сертификат ?"
Отправлено Дядя_Федор , 14-Ноя-11 16:08 
> ну и зачем вводить в заблуждение?
> Клиент, получив сертификат, используя имеющуюся у себя базу корневых сертификатов, проверяет
> валидность сертификата. Валидность - это степень доверия, определяется, действительно
> ли подписан ли полученный сертификат корневым или нет. Если подписан, то
> тогда "типа да, доверяем".

Я правильно понял Вашу мысль? То есть - клиент ВООБЩЕ не обращается к CA, у которого запрашивает достоверность полученного сертификата? А сравнивает с некой своей базой сертфикатов, хранящихся у самого клиента (в браузере)? По-моему, Вы не правы. Но спорить не буду - просто не интересовался подробностями.


"Объясните плиз как браузер проверяет SSL сертификат ?"
Отправлено PavelR , 14-Ноя-11 16:36 
>> ну и зачем вводить в заблуждение?
>> Клиент, получив сертификат, используя имеющуюся у себя базу корневых сертификатов, проверяет
>> валидность сертификата. Валидность - это степень доверия, определяется, действительно
>> ли подписан ли полученный сертификат корневым или нет. Если подписан, то
>> тогда "типа да, доверяем".
>  Я правильно понял Вашу мысль? То есть - клиент ВООБЩЕ не
> обращается к CA, у которого запрашивает достоверность полученного сертификата? А сравнивает
> с некой своей базой сертфикатов, хранящихся у самого клиента (в браузере)?
> По-моему, Вы не правы.

сначала проверяет по внутренней базе.
а иначе откуда он будет знать, как обратиться к СА ?

> Но спорить не буду - просто не интересовался подробностями.

обращается за проверкой по CRL.



"Объясните плиз как браузер проверяет SSL сертификат ?"
Отправлено Дядя_Федор , 14-Ноя-11 17:00 
> сначала проверяет по внутренней базе.
> а иначе откуда он будет знать, как обратиться к СА ?

Список CA есть в каждом браузере - называются CTL - Certificate Trust Lists. Оттуда и знает. Кроме того - имя CA есть в самом сертификате, который посылает сервер на этапе хэндшейкинга (первичной фазы SSL-сеанса).

> обращается за проверкой по CRL.

CRL - проверка не действенность (неотозванность) сертификата - всего лишь одна из фаз проверки. В описании выше я о ней не указал - согласен. :) Просто забыл.



"Объясните плиз как браузер проверяет SSL сертификат ?"
Отправлено жора , 14-Ноя-11 19:42 
Дядь Федор.
Открытые ключи CA общеизвестны и хранятся локально в браузере и/или ОС, поэтому для проверки подписи CA обращаться к нему лично нет необходимости и браузеры обычно этого не делают. Тобиш, SSL будет работать, даже если сам CA недоступен.

"Объясните плиз как браузер проверяет SSL сертификат ?"
Отправлено Дядя_Федор , 14-Ноя-11 22:35 
Остается упомянутый выше механизм CRL. ;) Вот тут уж никуда без запроса.

"Объясните плиз как браузер проверяет SSL сертификат ?"
Отправлено Aleks305 , 14-Ноя-11 22:47 
> Остается упомянутый выше механизм CRL. ;) Вот тут уж никуда без запроса.

Вот уж я сомневаюсь, что CRL засасывается Вашим компом у CA всякий раз, когда Вы открываете https-ный сайт. Читайте, как обновляется CRL в Windows.


"Объясните плиз как браузер проверяет SSL сертификат ?"
Отправлено Дядя_Федор , 15-Ноя-11 08:20 
> Вот уж я сомневаюсь, что CRL засасывается Вашим компом у CA всякий
> раз, когда Вы открываете https-ный сайт. Читайте, как обновляется CRL в
> Windows.

Не всякий. Но засасывается. http://blogs.technet.com/b/pki/archive/2007/09/13/how-to-ref...