Welcome! Log In Create A New Profile

Advanced

Re: [offtopic] клиентские SSL-сертификаты

Maxim Dounin
July 18, 2016 08:18AM
Hello!

On Mon, Jul 18, 2016 at 12:03:07PM +0300, Evgeniy Berdnikov wrote:

> On Mon, Jul 18, 2016 at 11:05:12AM +0300, Vladislav Shabanov wrote:
> > Пусть есть сайт ABC, на котором внедрили клиентские SSL-сертификаты
> > для сотрудников. Такой сайт любому зашедшему браузеру сообщает, что
> > принимает сертификаты, выданные организацией ZZZ. Если это
> > сотрудник, то он сможет передать сертификат, сайт сможет его
> > проверить, принять решение и т. д. Если нет, то будет выдана
> > какая-то страница ??в доступе отказано??.
>
> Мне кажется, что запрос сертификата в SSL/TLS делается передачей клиенту
> какого-то флага (бита), там нет места для указания развесистых условий
> вроде "в DN сертификата поле OU должно быть непустым и совпадать со
> сторокой ZZZ". То есть сказать браузеру "я принимаю сертификаты для
> организации ZZZ" сервер не имеет технической возможности.

Вам кажется. Запрос сертификата предусматривает список DN'ов
корневых сертификатов, которым доверяет запрашивающий сертификат
сервер.

Цитата из спецификации TLS 1.2,
https://tools.ietf.org/html/rfc5246#section-7.4.4:

certificate_authorities
A list of the distinguished names [X501] of acceptable
certificate_authorities, represented in DER-encoded format. These
distinguished names may specify a desired distinguished name for a
root CA or for a subordinate CA; thus, this message can be used to
describe known roots as well as a desired authorization space. If
the certificate_authorities list is empty, then the client MAY
send any certificate of the appropriate ClientCertificateType,
unless there is some external arrangement to the contrary.

Собственно, директивы ssl_client_certificate и
ssl_trusted_certificate отличаются именно тем, будет ли сертификат
включён в список certificate_authorities, отсылаемых клиенту, или
нет.

> > Вопрос вот в чём: нехороший человек это заметил и настроил свой сайт
> > DEF так, чтобы во время SSL handshake тот тоже сообщал всем
> > браузерам, что принимает сертификаты организации с названием
> > ZZZ. Правильно ли я понимаю, что сотрудники компании ZZZ после этого
> > уже никогда не смогут посещать сайт DEF анонимно? Браузер ведь будет
> > тупо выдавать единственный установленный сертификат, у которого имя
> > организации совпало?
>
> Соответственно, сайт может лишь попросить сертификат. А что ему вернут
> зависит от того, как ведёт себя браузер. У браузера есть много вариантов
> для выбора, прежде всего спросить юзера, хочет ли он передавать
> клиентский сертификат.

Всё так. Но стоит учитывать, что список authorities легко делает
выбор браузера однозначным даже в случае наличия у браузера
нескольких клиентских сертификатов. Пошлёт ли браузер
единственный подходящий сертификат автоматически - зависит только
от него.

Из имеющихся у меня под рукой бразеров (Chrome, Safari, Firefox) -
ни один не посылает. Но скажем тот же Firefox - оборудован опцией
"посылать автоматически", которую можно включить. Так что стоит
учитывать возможность небезопасного поведения браузера и следить
за тем, чем пользуешься.

--
Maxim Dounin
http://nginx.org/

_______________________________________________
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru
Subject Author Posted

[offtopic] клиентские SSL-сертификаты

Vladislav Shabanov July 18, 2016 04:06AM

Re: [offtopic] клиентские SSL-сертификаты

Илья Шипицин July 18, 2016 04:44AM

Re: [offtopic] клиентские SSL-сертификаты

Evgeniy Berdnikov July 18, 2016 05:04AM

Re: [offtopic] клиентские SSL-сертификаты

Dmitry Ivanov July 18, 2016 06:04AM

Re: [offtopic] клиентские SSL-сертификаты

Илья Шипицин July 18, 2016 06:36AM

Re: [offtopic] клиентские SSL-сертификаты

Maxim Dounin July 18, 2016 08:18AM



Sorry, only registered users may post in this forum.

Click here to login

Online Users

Guests: 221
Record Number of Users: 6 on February 13, 2018
Record Number of Guests: 421 on December 02, 2018
Powered by nginx      Powered by FreeBSD      PHP Powered      Powered by MariaDB      ipv6 ready