Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Юрин1.doc
Скачиваний:
42
Добавлен:
15.02.2015
Размер:
275.97 Кб
Скачать

23. Протокол tls/ssl.

TLS(Transport Layer Security) - криптографический протокол, обеспечивающий защищённую передачу данных между узлами в сети Интернет.

TLS-протокол основан на Netscape SSL-протоколе версии 3.0 и состоит из двух частей - TLS Record Protocol и TLS Handshake Protocol. Различие между SSL 3.0 и TLS 1.0 незначительные, поэтому далее в тексте термин «SSL» будет относиться к ним обоим.

TLS предоставляет возможности аутентификации и безопасной передачи данных через Интернет с использованием криптографических средств. Часто происходит лишь аутентификация сервера, в то время как клиент остается неаутентифицированным. Для взаимной аутентификации каждая из сторон должна поддерживать инфраструктуру открытого ключа (PKI), которая позволяет защитить клиент-серверные приложения от перехвата сообщений, редактирования существующих сообщений и создания поддельных.

SSL включает в себя три основных фазы:

  • Диалог между сторонами, целью которого является выбор алгоритма шифрования

  • Обмен ключами на основе криптосистем с открытым ключом или аутентификация на основе сертификатов.

  • Передача данных, шифруемых при помощи симметричных алгоритмов шифрования

Клиент и сервер, работающие по TLS, устанавливают соединение, используя процедуру handshake ("рукопожатие"). В течение этого handshake, клиент и сервер принимают соглашение относительно параметров, используемых для установления защищенного соединения.

Последовательность действий при установлении TLS соединения:

  • Клиент подключается к TLS — поддерживаемому серверу и запрашивает защищенное соединение.

  • Клиент предоставляет список поддерживаемых алгоритмов шифрования и хеш-функций.

  • Сервер выбирает из списка, предоставленного клиентом, наиболее устойчивые алгоритмы, которые так же поддерживаются сервером, и сообщает о своем выборе клиенту.

  • Сервер отправляет клиенту цифровой сертификат для собственной идентификации. Обычно цифровой сертификат содержит имя сервера, имя доверенного центра сертификации и открытый ключ сервера.

  • Клиент может связаться с сервером доверенного центра сертификации и подтвердить аутентичность переданного сертификата до начала передачи данных.

  • Для того чтобы сгенерировать ключ сессии для защищенного соединения, клиент шифрует случайно сгенерированную цифровую последовательность открытым ключом сервера и посылает результат на сервер. Учитывая специфику алгоритма асимметричного шифрования, используемого для установления соединения, только сервер может расшифровать полученную последовательность, используя свой закрытый ключ.

В данной текущей версии протокола доступны следующие алгоритмы:

  • Для обмена ключами и проверки их подлинности применяются комбинации алгоритмов: RSA (асимметричный шифр), Diffie-Hellman (безопасный обмен ключами), DSA (алгоритм цифровой подписи) и алгоритмы технологии Fortezza.

  • Для симметричного шифрования: RC2, RC4, IDEA, DES, Triple DES или AES.

  • Для хэш-функций: MD5 или SHA.

24. Протокол ssh.

SSH(Secure Shell) - сетевой протокол прикладного уровня, позволяющий производить удалённое управление операционной системой и туннелирование TCP-соединений (например, для передачи файлов). Сходен по функциональности с протоколами Telnet и rlogin, но, в отличие от них, шифрует весь трафик, включая и передаваемые пароли. SSH допускает выбор различных алгоритмов шифрования. SSH-клиенты и SSH-серверы имеются для большинства сетевых операционных систем.

SSH позволяет безопасно передавать в незащищенной среде практически любой другой сетевой протокол, таким образом, можно не только удаленно работать на компьютере через командную оболочку, но и передавать по шифрованному каналу звуковой поток или видео (например, с веб-камеры). Также SSH может использовать сжатие передаваемых данных для последующего их шифрования, что удобно, например, для удаленного запуска клиентов X Window System.

Большинство хостинг-провайдеров за определенную плату предоставляют клиентам доступ к их домашнему каталогу по SSH. Это может быть удобно как для работы в командной строке, так и для удаленного запуска программ (в том числе графических приложений).

Рекомендации по безопасности использования SSH:

  • Запрещение удаленного root-доступа.

  • Запрещение подключения с пустым паролем или отключение входа по паролю.

  • Выбор нестандартного порта для SSH-сервера.

  • Использование длинных SSH2 RSA-ключей (2048 бит и более). По состоянию на 2006 год система шифрования на основе RSA считалась надёжной, если длина ключа не менее 1024 бит. *) (см. КОММЕНТАРИЙ В КОНЦЕ ТЕКСТА)

  • Ограничение списка IP-адресов, с которых разрешен доступ (например, настройкой файрвола).

  • Запрещение доступа с некоторых потенциально опасных адресов.

  • Отказ от использования распространенных или широко известных системных логинов для доступа по SSH.

  • Регулярный просмотр сообщений об ошибках аутентификации.

  • Установка детекторов атак (IDS, Intrusion Detection System).

  • Использование ловушек, подделывающих SSH-сервис (honeypots).