CDN-провайдер Cloudflare объявил, что запускает для клиентов новую услугу Keyless SSL, то есть «SSL без ключей». Это означает, что Cloudflare может устанавливать защищённые соединения от имени своих клиентов, даже не имея на руках их секретных ключей.

Такой способ защиты реализован, чтобы одновременно обеспечить защищённую связь и оставить нетронутыми секретные SSL-ключи клиентов. Это действительно важная причина, ведь многие компании из финансового или государственного сектора не могут воспользоваться услугами CDN-провайдера, потому что не имеют права передавать свои секретные цифровые ключи. В то же время, их сайты обязаны работать по HTTPS. Теперь эта проблема решена. По крайней мере, так считает Cloudflare, хотя некоторые независимые эксперты не одобряют подобный подход.

Традиционная схема SSL-рукопожатия с использованием секретного ключа RSA на стороне сервера
Традиционная схема SSL-рукопожатия с использованием секретного ключа RSA на стороне сервера

Cloudflare предлагает слегка модифицировать традиционную схему рукопожатия при установке SSL-соединения, чтобы вместо секретного ключа использовался key-сервер. Он просто возвращает «секретное» значение, которое подписано секретным ключом. При этом key-сервер находится в локальной сети клиента, а Cloudflare не имеет к нему доступа.

Другими словами, процесс рукопожатия SSL разбивается географически. Основная часть происходит на серверах Cloudflare, но только одно секретное значение нужно получить с key-сервера клиента. Этот сервер может работать под Linux (Red Hat/CentOS, Debian, Ubuntu и др.), другими UNIX-системами (включая FreeBSD) и Microsoft Windows Server.

В этом случае схема SSL-рукопожатия выглядит следующим образом.

Cхема рукопожатия Keyless SSL без использования секретного ключа RSA
Cхема рукопожатия Keyless SSL без использования секретного ключа RSA
Cхема рукопожатия Keyless SSL без использования секретного ключа DH
Cхема рукопожатия Keyless SSL без использования секретного ключа DH

Исходный код Keyless SSL прошёл независимый аудит в компаниях iSEC Partners и Matasano Security. Реализация подобной схемы потребует внесения изменений в библиотеку OpenSSL и сервер Nginx, говорит Cloudflare.

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



2 комментария

  1. 22.09.2014 at 13:50

    Т.е., другими словами, я могу послать что-нибудь на Key Server и получить настоящую подпись?

  2. 22.09.2014 at 21:15

    L7-семантику SSL все-равно скроет, а значит все L7 атаки пройдут «насквозь».

    Закрыть все на периметре влоть до SSL handshake можно и без терминирования SSL на периметре. Так какой смысл этот огород городить?

Оставить мнение