ключ ssl сертификата что это
SSL для чайников: что это такое и как установить
Что такое SSL
SSL (или Secure Sockets Layer) — это специальный протокол, который передаёт данные в зашифрованном виде по HTTPS. Для расшифровки необходим специальный ключ, а для работы протокола — предустановленный на сайт сертификат. SSL называют паспортом или цифровой подписью сайта: перед установлением соединения подлинность проверяется третьей стороной — центрами сертификации. Именно за счёт шифрования и аутентификации SSL обеспечивает безопасную работу сайта.
Помимо безопасности, есть ещё как минимум две причины установить сертификат на ваш сайт.
Первая — это результаты поисковой выдачи. С 2014-го года Google учитывает наличие сертификата при ранжировании поисковых результатов. Сайты с наличием SSL поднимутся в позиции, без SSL — отправятся вниз.
Вторая — определение местоположения пользователя. В соответствии с новыми правилами Google Chrome не позволяет устанавливать геолокацию ненадёжным хостам. Для мобильного сайта необходимо дать пользователю возможность узнать, где находится ближайший филиал, или выстроить к нему маршрут. Для такого сайта наличие SSL-сертификта становится обязательным.
Обычно SSL используют:
Установка
После заказа сертификата в сертификационном центре ваша заявка обрабатывается какое-то время, после чего вам пришлют все необходимые файлы. Данные для установки сертификата обычно присылаются по электронной почте. Иногда сертификат можно установить прямо через форму на сайте сертификационного центра. В противном случае у вас есть ещё два варианта.
Установка с помощью панелей управления
ISPmanager → «Пользователи» → выбрать пользователя → «Вход»
ISPmanager → «Пользователи» → двойной клик по нужному пользователю → «Права»
«World Wide Web» → «SSL-сертификаты» → «Создать»
«Тип сертификата» — существующий ;
«Имя сертификата» — любое имя на ваш выбор. Под этим именем он будет отображаться в системе;
«Приватный ключ» — ключ, высланный вам сертификационным центром;
«Сертификат» — содержимое файла-сертификата, также высылается сертификационным центром;
«Пароль» — указывается в тех случаях, когда он есть, иначе поле оставить пустым;
«Цепочка сертификатов» — здесь необходимо указать всю цепочку сертификатов, которыми подписан ваш сертификат, т.е. промежуточные сертификаты и корневой;
«WWW домены» → двойной клик на домене → галочка на «SSL» → выбрать нужный сертификат из списка
Через Parallels Plesk
Parallels Plesk → «Сайты и домены» → «Развернуть» → «Настройки SSL» → «Добавить SSL-сертификат»
«Имя сертификата» — любое имя на ваш выбор. Под этим именем он будет отображаться в системе
«Закрытый ключ» — ключ, высланный вам сертификационным центром;
«Сертификат» — содержимое файла-сертификата, также высылается сертификационным центром;
«Корневой сертификат» — здесь необходимо указать всю цепочку сертификатов, которыми подписан ваш сертификат, т.е. промежуточные сертификаты и корневой;
Нажимаем «Отправить текст», после чего вы получите сообщение о том, что сертификат был успешно добавлен
«Сайты и домены» → «Настройки хостинга» → «Безопасность» → галочка на «Поддержка SSL» → выбрать сертификат
cPanel → «Безопасность» → «SSL/TLS» → «Управление сайтами с SSL» → выбрать домен, для которого устанавливается сертификат
«Сертификат» — содержимое файла-сертификата, также высылается сертификационным центром;
«Закрытый ключ» — ключ, высланный вам сертификационным центром;
«Пакет центра сертификации» — здесь необходимо указать всю цепочку сертификатов, которыми подписан ваш сертификат, т.е. промежуточные сертификаты и корневой;
«Включить SNI для почтовых служб» — поставить галочку в случае, если у вас нет дополнительных IP-адресов;
Нажимаем «Установить сертификат» и в открывшемся окне нажимаем «Ок»
Установка SSL вручную
Создайте блок виртуального хоста и скопируйте туда следующие строчки:
DocumentRoot /home/user/data/www/domain.com
ServerName domain.com
SSLEngine on
SSLCertificateFile /path/to/domain.crt
SSLCertificateKeyFile /path/to/domain.key
SSLCACertificateFile /path/to/ca.crt
domain.com — это имя вашего домена;
10.0.0.1 — ip-адрес, на котором располагается домен;
/home/user/data/www/domain.com — путь до корневой директории вашего домена;
/path/to/domain.crt — файл сертфиката;
/path/to/domain.key — файл с ключом сертификата;
/path/to/ca.crt — файл корневого сертификата.
Перезапускаем Apache командой apachectl restart или apache2ctl restart. Если где-то была допущена ошибка, перезапустить не получится.
а) черезUNIX-команду cat:
cat intermediate.crt >> domain.crt
б) редактированием файла домена: после текста основного сертификата в файле domain.crt вставляем текст из файлов остальных сертификатов — причём, каждый сертификат указывается с новой строчки.
Создаём серверный модуль для SSL соединения.
server <
listen 10.0.0.1:443;
server_name domain.com;
ssl on;
ssl_certificate /path/to/domain.crt;
ssl_certificate_key /path/to/domain.key ;
>
domain.com — это имя вашего домена;
10.0.0.1 — ip-адрес, на котором располагается домен;
/path/to/domain.crt — файл сертфиката;
/path/to/domain.key — файл с ключом сертификата.
Как проверить, установлен ли сертификат
Где взять данные для установки SSL-сертификата
Данные для установки SSL-сертификата отправляются после его выпуска и активации. Они высылаются на контактный e-mail сертификата. Некоторые данные (CSR-запрос и приватный ключ) генерируются только во время покупки SSL-сертификата и не высылаются в письме. Своевременно сохраните их на компьютер, так как REG.RU не сможет предоставить вам эти данные.
Если SSL-сертификат заказывался через партнёра REG.RU, контактный e-mail указан на сайте партнёра.
Кликните по строке нужного SSL-сертификата:
На открывшейся странице перейдите на вкладку «Сведения о сертификате». E-mail, на который высылаются данные для установки SSL-сертификата, указан внизу страницы:
Готово! Вы узнали e-mail, на который были высланы данные SSL-сертификата.
Данные для установки в письме

В письме вы найдёте:
Приватный ключ (Private Key) сертификата не хранится на серверах REG.RU. Скопируйте приватный ключ из письма, вставьте в пустой текстовый файл и сохраните его в формате .txt или .key. Это файл понадобится для дальнейшей установки SSL-сертификата.
Если вы потеряли или скомпрометировали приватный ключ, текущий SSL-сертификат использовать не удастся. Чтобы решить проблему, переиздайте SSL-сертификат по инструкции: Переиздание SSL-сертификата.
Из письма скопируйте последний текстовый блок начиная с «——BEGIN RSA PRIVATE KEY——» и заканчивая «——END RSA PRIVATE KEY——» включительно:
Нажмите Файл — Сохранить:
Выберите папку, в которую хотите сохранить файл. В поле «Имя файла» напишите «name.key» и нажмите Сохранить:
Некоторые данные (Сертификат, Корневой + Промежуточный сертификат и CSR-запрос) дублируются в Личном кабинете. Они представлены в виде файлов, которые вы можете скачать, а затем загрузить при установке SSL-сертификата на сервер.
Чтобы скачать данные:
Кликните по строке нужного SSL-сертификата:
Что дальше?
Чтобы установить SSL-сертификат на сайт, воспользуйтесь инструкциями из раздела Установка SSL-сертификата.
Что такое открытый и закрытый ключ шифрования SSL
Ключ шифрования – криптографический термин. Это секретная информация (набор цифр и букв), которую использует специальный алгоритм для шифрования/ расшифровки сообщений, постановке/ проверке цифровых подписей и т.п. Количество информации в ключе измеряется в битах: чем больше битов в ключе, тем надежней зашифрована информация.
Ключи шифрования бывают:
Асимметричная криптография — более надежная с точки зрения того, что злоумышленники, перехватившие часть трафика, не смогут получить всю информацию, так как для расшифровки им понадобится вторая часть ключа, а она хранится непосредственно у пользователя.
Данные вашего сайта под защитой
Установите SSL-сертификат, и ваш сайт будет работать по безопасному соединению HTTPS
Открытый и закрытый ключ сертификата
Одна из сфер употребления системы асимметричного шифрования — SSL-сертификаты. Подробнее о нем вы можете прочитать в статье Для чего нужен SSL-сертификат. Длина шифра SSL (иными словами, степень его надежности) складывается из длины открытой и закрытой частей ключа:
Размер ключа SSL гарантирует защищенность зашифрованной информации и сохранность передачи данных. Данные шифруются при обращении браузера к серверу с помощью открытого публичного ключа. Закрытый ключ шифрования генерируется при выпуске SSL-сертификата и сообщается только администратору домена. Такое шифрование применяется на этапе расшифровки информации, поступающей от браузера.
Поясним процесс обмена информацией между браузером и сервером по защищенному соединению с помощью наглядного примера, используемого в криптографии.
У нас есть два персонажа: Боб (сервер) и Алиса (браузер пользователя). Боб передает Алисе навесной замок. Открыть этот замок может только Боб, так как ключ есть только у него.
Замок = публичный (открытый) ключ.
Ключ от замка = приватный (закрытый) ключ.
Получив замок, Алиса надевает его на ящик, в котором содержится некая секретная информация, и посылает обратно Бобу. Аналогично, браузер шифрует сообщение публичным ключом и отдает серверу.
Ящик с замком попадет к Бобу, тот откроет замок своим ключом и узнает секретную информацию. Так, сервер расшифровывает сообщение закрытым ключом, который есть только у него.
SSL-сертификат — полная инструкция для бизнеса
Безопасность информации в Сети — один из основных вопросов, на который должны обращать пристальное внимание владельцы сайтов. В мире стремительно развивающихся кибер-угроз им нужно чётко понимать, как предотвратить утечку данных или защитить свой ресурс от доступа к нему третьим лицам.
Современным стандартом безопасности сайтов стала установка SSL-сертификатов. Однако подобный механизм защиты относительно нов и сложен для массового пользователя. Давайте разберемся, что из себя представляет данная технология и как она обеспечивает безопасность информации на веб-ресурсах.
Что такое SSL-сертификат
Прежде чем перейти к пункту о том, зачем сайту нужен SSL-сертификат, стоит обозначить понятие самого протокола SSL. Это криптографический протокол, обеспечивающий надежную передачу данных в сети. Он является гарантией безопасного соединения между пользовательским браузером и ресурсом.
Протокол HTTPS значительно расширил возможности обеспечения безопасности данных HTTP.
Если на сайте установлен SSL, то все данные передаются по HTTPS — защищенному варианту протокола HTTP. Он зашифровывает данные пользователя и переправляет их владельцу сайта через транспортный протокол TCP. Другими словами, вся информация, передаваемая пользователем, скрыта шифрованием от третьих лиц: операторов, администраторов Wi-Fi и провайдеров.
Как работает SSL-протокол
Как известно, основой всех методов кодирования является ключ, который помогает зашифровать или прочитать информацию. SSL-протокол использует ассиметричный шифр с двумя видами ключей:
Чтобы сайт обрабатывал такие соединения, его владельцу нужен SSL-сертификат. Это своеобразная цифровая подпись, которая индивидуальна для каждой платформы.
Что внутри SSL-сертификата
SSL-сертификат может содержать следующую важную информацию:
Доверенные и недоверенные сертификаты
Главным источником SSL-сертификатов служат доверенные центры сертификации или удостоверяющие центры (Certification authority, CA). Это организации, имеющие неоспоримый авторитет на рынке IT-услуг и пользующиеся известным открытым криптографическим ключём. В браузерах их список обычно можно посмотреть в разделе «Доверенные корневые центры сертификации».
Цифровая подпись, заверенная сертификатом такого центра, является доказательством подлинности компании, которой принадлежит доменное имя, и обуславливает право владельца законно использовать секретный ключ. Она называется доверенной.
SSL-сертификат от крупного центра — не всегда гарантия отсутствия проблем для сайта.
К недоверенным подписям относятся:
SSL сертификаты Eternalhost — выгодный способ получить электронную цифровую подпись от 100% надёжного Удостоверяющего Центра.
Кому не обойтись без SSL-сертификата
Предоставляя данные о своих банковских картах, контактную и личную информацию, пользователь должен быть уверен, что они не попадут в руки третьего лица. Поэтому получение SSL-сертификата — важный пункт для интернет-магазинов, а также банков, платежных систем и площадок, где требуется создание аккаунта.
Для SEO-специалистов, которые учитывают малейшие аспекты продвижения, также рекомендуется подключение подписи. Хотя на данный момент этот фактор слабо влияет на ранжирование страниц.
А вот чисто информационным ресурсам — блогам, визиткам и личным страницам можно обойтись и без сертификации.
Типы SSL-сертификатов
SSL-сертификаты делятся не несколько видов в зависимости от количества доменных и субдоменных имен, на которые они будут устанавливаться, а также от способа проверки платформы. По методу проверки существует три основных варианта:
Зелёный замочек в адресной строке — сайту можно доверять.
Помимо этого, существуют дополнительные типы SSL:
Выбор цифровой подписи
Какой SSL-сертификат выбрать, в первую очередь, зависит от владельца ресурса. Для физических лиц подойдет тип DV, который является подтверждением права на владение доменным именем.
Для компаний дело обстоит несколько сложнее:
Получение и установка SSL-сертификата
Чтобы получить цифровую подпись, необходимо зайти на сайт центра сертификации и предоставить необходимую информацию для данного типа цифровой подписи. Например, для получения DV SSL достаточно предоставить доменное имя, email и номер телефона. Для других разновидностей могут понадобится документы, которые подтверждают наличие юридического лица: ИНН, сведения из ЕГРЮЛ и прочее.
После активации, ссылка на которую придет на указанную почту, следует дождаться окончания проверки. Этот процесс может занять от десятка минут до нескольких суток, после чего на e-mail придет архив с сертификатом, который требуется установить на сайт.
Приватный ключ SSL-сертификата выглядит именно так.
В архиве обычно содержаться три файла – приватный и публичный ключи, а также цепочка SSL-сертификатов (CA Bundle), которая нужна для повышения доверия к ресурсу. Далее можно подключить SSL-сертификат через панель управления хостингом или сервером. После этого меняем протокол с HTTP на HTTPS, путём настраивания редиректа.
Для содания самоподписанных сертификатов в Центр сертификации обращаться не нужно. Для этого необходимо создать корневой сертификат с информацией о стране, городе, названии компании и домене, а к нему уже выпускать самоизданные, используя файлы конфигурации.
Заключение
Использование SSL-сертификата повышает доверие пользователей к вашему сайту. Это стоит учитывать владельцам интернет-магазинов, банковских и платежных систем, а также площадок, где посетителям требуется предоставить свои персональные данные для создания аккаунта. Однако важно понимать, что цифровая подпись не является стопроцентной гарантией защиты от хакерских или DDoS-атак.
Основы SSL
SSL — семейство протоколов для установки шифрованного соединения между двумя сторонами, желающими обмениваться данными. Это обмен в процессе которого соединяющиеся стороны договариваются какие механизмы шифрования каждый из них поддерживает, какую длину ключа использовать, режимы шифрования, производится обмен сертификатами, несимметричный алгоритм шифрования используется для обмена ключом симметричного протокола шифрования, который потом используется при дальнейшем взаимодействии. Такой начальный обмен данными называется handshake.
Симметричный ключ генерируется во время handshake и действует только для одной SSL сессии. Если сессия не остается активной, ключ устаревает (expire). Максимальное время после которого SSL сессия устаревает (expire) может быть задано. После устаревания сессии handshake должен быть повторен с начала. Результатом установки сессии является новый симметричный ключ.
Сертификаты и ключи
Прежде чем углубляться в детали SSL, нужно ввести понятие ключей и сертификатов. SSL/TLS используют асимметричное шифрование для аутентификации и для обмена симметричным ключом, который будет использоваться для шифрования данных во время сессии.
Асимметричное шифрование использует пары ключей для шифрования — приватный ключ и соответствующий ему публичный ключ. Данные зашифрованные одним ключом могут быть расшифрованы парным ключом. Аналогично данные подписанные одним ключом, могут быть проверены вторым ключом. Приватный ключ, как предполагает его имя, должен храниться в секрете.
Сертификаты.
Сертификат состоит из публичного ключа, вместе с некоторой идентифицирующей владельца информацией и даты прекращения срока действия ключа. Также сертификат содержит цифровую подпись организации выдавшей сертификат (certificate authority CA). Цифровая подпись гарантирует, что сертификат не подделан. Сертификат обычно выдается веб-серверу, приложению или пользователю. Сертификат является способом распространения публичного ключа шифрования.
Если клиент шифрует сообщение публичным ключом сервера (из сертификата сервера), клиент может быть уверен, что только легальный сервер сможет расшифровать сообщение. В процессе установления SSL/TLS сессии, клиент создает часть сессионного ключа, шифрует сообщение с помощью публичного ключа сервера и передает на сервер. Если сервер тот, за кого себя выдает, он сможет расшифровать сообщение с помощью приватного ключа и достать из сообщения сессионный ключ.
Сертификаты бывают двух типов.
Self-signed сертификаты — сертификаты введенные для тестирования, чтобы разработчики, не дожидаясь получения официально-подписанного сертификата могли тестировать свое программное обеспечение. Self-signed сертификат отличается тем, что подлинность его невозможно проверить, если только вы его не сделали лично или не получили на цифровом носителе из надежного источника. В остальном self-signed сертификаты точно такие, как и официальные. Программно они могут использоваться точно также.
Доверие (Trust)
Ключевым понятием SSL соединения является концепция доверия (trust) сертификату. Важным является способ получения сертификата, используемого для соединения. Если вы получаете сертификат из надежного источника, например лично от владельца сайта, вы можете быть уверенным что сертификат подлинный и вы действительно соединяетесь с настоящим сайтом. Однако при установке соединения из веб-браузера, к примеру, сертификат сервера может получаться с самого сервера, с которым вы устанавливаете соединение. Встает вопрос подлинности сертификата. Что если хакер создал его собственную пару асимметричных ключей и затем сделал собственный сертификат для подделки сервера банка?
Модель доверия, простая. Каждый клиент или сервер решает, что он доверяет определенным организациям (certificate authorities (CA)) выдающим сертификаты. Доверять CA, значит доверять что любые сертификаты выданные CA легальные и что идентифицирующая информация в сертификате корректна и заслуживает доверия. Verisign — пример CA, подписывающий множество сертификатов для больших Internet компаний. Все браузеры верят Verisign по умолчанию. Идентификационная информация сертификата содержит цифровую подпись, сгенерированную CA. Клиент или сервер доверяет CA, добавляя сертификат в файл хранилище, называемый ‘truststore’. Сохранение CA сертификата в truststore позволяет java проверять цифровую подпись сертификата сгенерированную CA и решить доверять сертификату или нет.
Если хакер подкладывает поддельный сертификат для Barclay’s банка, ваш браузер будет пытаться проверить цифровую подпись у сертификата. Эта проверка будет не успешной поскольку в truststore нет сертификата, которым подписан сертификат злоумышленника.
Certificate Chain
На практике формат сертификатов таков, что в сертификат может входить множество подписей. В сертификате хранится не одна подпись а некий «Certificate Chain»
Когда генерируются приватный и публичные ключи, для публичного ключа автоматически генерируется self-signed сертификат. Т.е. изначально вы получаете пару из приватного ключа и сертификата, содержащего подписанный публичный ключ. Self-signed certificate — такой сертификат, в котором создатель ключа и подписывающий является одним лицом.
Позже, после генерации Certificate Signing Request (CSR) и получения ответа от Certification Authority (CA), self-signed (самоподписанный) сертификат заменяется на цепочку сертификатов (Сertificate Chain). В цепочку добавляется сертификат от CA, подтверждающий подлинность публичного ключа, за ним сертификат, подтверждающий подлинность публичного ключа CA.
Во многих случаях, последний сертификат в цепочке (удостоверяющий подлинность публичного ключа CA) сам является самоподписанным. В других случаях, CA в свою очередь, может вернуть не один а цепочку сертификатов. В таком случае, первым в цепочке лежит публичный ключ, подписанный CA который выдал сертификат, а вторым сертификатом может быть сертификат другого CA, подтверждающий подлинность публичного ключа первого CA, которому посылался запрос на подпись. Следом будет идти сертификат, подтверждающий подлинность публичного ключа второго CA, и т.д. до тех пор пока цепочка не закончится самоподписанным корневым root — сертификатом. Каждый сертификат в цепочке подтверждает подлинность публичного ключа предыдущего сертификата в цепочке.
Рассмотрим SSL глубже. Бывает два вида SSL соединений.
Простая аутентификация (1 way SSL authentication)
Перед установкой шифрованного SSL/TLS соединения должна быть выполнена аутентификация. Чтобы простое соединение могло быть установлено, должен быть установлен сервер с закрытым ключом, для которого получен сертификат. Клиент также должен хранить список организаций СА, которым он доверяет.
Клиент проверяет подлинность сервера перед установкой шифрованного соединения.
2 way SSL authentication (двусторонняя аутентификация)
При таком типе аутентификации и сервер, и клиент, оба предоставляют сертификаты для проверки подлинности друг-друга перед установкой шифрованного соединения.
Проверка сертификата
При односторонней аутентификации (первый тип), сервер имеет сертификат с парным приватным ключом. Данные зашифрованные с помощью публичного серверного ключа могут быть расшифрованы с помощью приватного ключа на сервере. Клиент, желающий установить соединение с сервером, проверяет сертификат сервера прежде чем переходить к установке шифрованного соединения. Клиент должен проверить следующее:
Проверяются также другие мелкие детали, такие как алгоритм шифрования цифровой подписи, длины ключа и т.д.
При 2 стороней аутентификации клиент и сервер оба владеют приватными ключами и сертификатами. Оба проверяют сертификаты друг-друга, перед установкой шифрованного соединения. Клиент проделывает проверки описанные выше и сервер выполняет те же действия над клиентским сертификатом.
Запрос подписи и подписывание сертификатов
Создание ключей и сертификатов регламентируется стандартами.
Ключи генерируются в соответствии с PKCS (http://ru.wikipedia.org/wiki/PKCS).
Когда пара состоящая из публичного и приватного ключей сгенерирована, создается объект запроса на сертификат, называющийся Certificate Signing Request (CSR), регламентируемый стандартом PKCS#10. Trusted CA (certificate authority) должен затем решить хочет ли он подписать CSR, доверяет ли он запрашивающему регистрацию клиенту и предоставленной им информации в его сертификате.
Если CA (certificate authority) рещает доверять запросу на подпись сертификата (CSR), результатом становится выпуск подисанного сертификата с идентификационной информацией предоставленной в CSR. Сертификат регламентируется стандартом X.509.
Взято:
https://dev64.wordpress.com/2013/06/12/ssl-basic/
Tags: Основы SSL
javadev.ru
Opensource проект с кодами BitBucket. Желающие могут поучавствовать в его развитии.
























