Лекции.Орг


Поиск:




Категории:

Астрономия
Биология
География
Другие языки
Интернет
Информатика
История
Культура
Литература
Логика
Математика
Медицина
Механика
Охрана труда
Педагогика
Политика
Право
Психология
Религия
Риторика
Социология
Спорт
Строительство
Технология
Транспорт
Физика
Философия
Финансы
Химия
Экология
Экономика
Электроника

 

 

 

 


Протокол SSL




SSL (Secure Socket Layer, Протокол (или уровень) защищенных сокетов) спроектирован для обеспечения конфиденциальности обмена между двумя прикладными процессами клиента и сервера. Он предоставляет возможность аутентификации сервера и, опционно, клиента. SSL и требует применения надежного транспортного протокола (например, TCP).

SSL – это коммуникационный протокол с шифрованием, применяемый для передачи защищенной информации по Internet. Преимуществом SSL является то, что он независим от прикладного протокола. Протоколы приложения, такие как HTTP, FTP, TELNET и т.д. могут работать поверх протокола SSL совершенно прозрачно.

Взаимодействие SSL с приложениями:

 
 

 

 


SSL действует как промежуточный протокол между TCP/IP и протоколами прикладных уровней и, когда клиент устанавливает защищенное соединение, невидимо осуществляет кодирование и декодирование информации.

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

Протокол SSL предоставляет "безопасный канал", который имеет три основные свойства:

  • Канал является частным. Шифрование используется для всех сообщений после простого диалога, который служит для определения секретного ключа.
  • Канал аутентифицирован. Серверная сторона диалога всегда аутентифицируется, в то время как клиентская – аутентифицируется опционно.
  • Канал надежен. Транспортировка сообщений включает в себя проверку целостности.

Сертификат представляет собой зашифрованную информацию, которая связывает открытый ключ шифрования с удостоверением подлинности личности, сервера или другой сущности, известной как субъект. Издателем сертификата является бюро сертификации (Certification Authority – CA). Сертификат содержит:

- имя объекта,

- название организации, с которой связан объект,

- отдел организации, с которой связан объект,

- название города или района, в котором находится объект,

- название штата или области, в котором находится объект,

- название страны, в которой находится объект,

- серийный номер сертификата,

- время действия сертификата.

Самые известные СА – это Verisign и Thawte. Они исследуют различные юридические документы организаций, которые хотят установить свою аутентичность в Internet и после независимой проверки подписывают (заверяют) сертификат собственным открытым ключом.

Сертификат обычно передается в бинарном или кодированном текстовом формате.

Пример транзакции SSL:


 

 

         
   
 
   
 
 
Клиент
 
   

 


Сервер возвращает
  1. Заверенный сертификат сервера
  2. Открытый текст с данными идентификации (ID)
  3. Контрольную сумму данных ID, зашифрованных с помощью секретного ключа сервера

 


 


 

Для того, чтобы web-сервер Apache реагировал на соединения SSL, нужно убедиться в том, что он прослушивает порт 443 – стандартный порт для SSL. Указать это можно в директиве

 

Listen 443

 

Для активизации SSL нужно указать Apache способ и время использования этого протокола, введя директивы SSL в конфигурацию сервера.

Включение механизма SSL:

 

SSLEngine On

 

Личный ключ сервера:

 

SSLCertificateKeyFile conf/ssl/www.server.com.key

 

Сертификат для личного ключа:

 

SSLCertificateFile conf/ssl/www.server.com.crt

 

При динамической загрузке SSL эти директивы нужно размещать после директив

 

LoadModule/AddModule

 

чтобы Apache их понимал. Если указать директивы на уровне сервера, SSL будет разрешен для всего сервера и обычные НТТР-соединения не будут работать ни по какому порту. Если же расположить их в виртуальном хосте на основе IP-адресов, SSL будет разрешен только для одного хоста, выделенного для порта 443.

 

<VirtualHost 192.168.1.1:443>

ServerName server.com

DocumentRoot /www/docs

SSLCertificateKeyFile conf/ssl/www.server.com.key

SSLCertificateFile conf/ssl/www.server.com.crt

</VirtualHost>

 

Реализация SSL в отдельной области:

 

<Directory /home/www/secure/>

SSLrequireSSL

</Directory>

 





Поделиться с друзьями:


Дата добавления: 2015-10-06; Мы поможем в написании ваших работ!; просмотров: 421 | Нарушение авторских прав


Поиск на сайте:

Лучшие изречения:

Начинайте делать все, что вы можете сделать – и даже то, о чем можете хотя бы мечтать. В смелости гений, сила и магия. © Иоганн Вольфганг Гете
==> читать все изречения...

2335 - | 2134 -


© 2015-2025 lektsii.org - Контакты - Последнее добавление

Ген: 0.01 с.