Петрозаводский госуниверситет, А. В. Соловьев, 2007СЕТЕВЫЕ ТЕХНОЛОГИИ SSL/TLS: история Secure Sockets Layer (SSL) – протокол защищённых сокетов первоначально разрабатывался Netscape. Версия 2.0 была опубликована в 1994 г. Однако из-за обнаруженных уязвимостей в 1996 г. была разработана модификация SSLv3. Эта версия была взята за основу IETF для разработки свободного протокола Transport Layer Security (TLS) – протокол безопасности транспортного уровня. TLS v.1.0 – RFC 2246 – 1999 г. TLS v.1.1 – RFC 4346 – 2006 г. Основное назначение: аутентификация сервера (+клиента) и защищённая передача данных (предотвращение подслушивания, подмены данных при передаче, контроль целостности данных) на основе криптоалгоритмов. Rev /
SSL/TLS и OSI RM APPLICATION PRESENTATION SESSION TRANSPORT NETWORK DATA LINK PHYSICAL Layer 7 Layer 6 Layer 5 Layer 4 Layer 3 Layer 2 Layer 1 TCP IP Physical TCP/IPOSI/RM SSL/TLS Петрозаводский госуниверситет, А. В. Соловьев, 2007СЕТЕВЫЕ ТЕХНОЛОГИИ
серверклиент Петрозаводский госуниверситет, А. В. Соловьев, 2007СЕТЕВЫЕ ТЕХНОЛОГИИ SSL/TLS: первая фаза 1.Согласование алгоритмов -клиент сообщает версию протокола, случайное число и список поддерживаемых алгоритмов – ClientHello -сервер сообщает выбранную версию протокола, своё случайное число и выбранные алгоритмы – ServerHello ClientHello ServerHello RNcRNs RNc
серверклиент Петрозаводский госуниверситет, А. В. Соловьев, 2007СЕТЕВЫЕ ТЕХНОЛОГИИ SSL/TLS: вторая фаза 2.Аутентификация сервера -сервер высылает свой сертификат (X.509 или OpenPGP) -сервер может запросить сертификат клиента, чтобы аутентифицировать его -клиент проверяет сертификат сервера, используя PKI Servers Certificate Demand Client Certificate RNcRNs RNc
серверклиент Петрозаводский госуниверситет, А. В. Соловьев, 2007СЕТЕВЫЕ ТЕХНОЛОГИИ SSL/TLS: вторая фаза (доп) 2.Аутентификация клиента (опционально) -клиент может предоставить свой сертификат, тогда сервер, используя PKI, проверяет аутентичность клиента – так обеспечивается взаимная аутентификация -фаза аутентификации заканчивается сообщ. ServerHelloDone Clients Certificate RNcRNs RNc ServerHelloDone
серверклиент Петрозаводский госуниверситет, А. В. Соловьев, 2007СЕТЕВЫЕ ТЕХНОЛОГИИ SSL/TLS: третья фаза 3.Генерация ключа сессии -клиент генерирует Pre-Master-Secret и пересылает его серверу в сообщении ClientKeyExchange -клиент и сервер на основе RNc, RNs и PMS генерируют ключ для симметричного криптоалгоритма ClientKeyExchange RNcRNs RNcPMS Master-Secret PMS
серверклиент Петрозаводский госуниверситет, А. В. Соловьев, 2007СЕТЕВЫЕ ТЕХНОЛОГИИ SSL/TLS: четвертая фаза 4.Завершение квитирования -клиент посылает сообщение о переходе в режим шифрования ChangeCipherSpec и посылает зашифрованное сообщение о завершении квитирования с хэшем всех сообщений -сервер посылает ChangeCipherSpec и зашифрованное сообщение о завершении квитирования с хэшем всех сообщений Finished Master-Secret ChangeCipherSpec Finished
Петрозаводский госуниверситет, А. В. Соловьев, 2007СЕТЕВЫЕ ТЕХНОЛОГИИ SSL/TLS: алгоритмы Алгоритмы обмена ключами: RSA (Ron Rivest, Adi Shamir, Leonard Adleman – MIT, 1977) Diffie-Hellman (Whitfield Diffie, Martin Hellman / Ralph Merkle – 1976) DSA (Digital Signature Algorithm / David W. Kravitz – 1991) SRP (Secure Remote Password Protocol) PSK (Pre-shared key) Симметричные криптоалгоритмы: RC4 TM (Ron Rivest/RSA Security – 1987) или ARCFOUR (1994) 3DES (Triple Data Encryption Standard – IBM, ) AES (Advanced Encryption Standard AKA Rijndael – Joan Daemen and Vincent Rijmen ~1997) Camellia (European Union's NESSIE project, Japanese CRYPTREC project – Mitsubishi & NTT, 2000) IDEA TM (International Data Encryption Algorithm – Xuejia Lai&James Massey/ ETH Zurich, 1991) Алгоритмы хэширования: HMAC-MD5 (Message-Digest algorithm 5 – Ron Rivest, 1991) HMAC-SHA (Secure Hash Algorithm, 1993)
Петрозаводский госуниверситет, А. В. Соловьев, 2007СЕТЕВЫЕ ТЕХНОЛОГИИ Public Key Infrastructure Задачи: определение политики выпуска цифровых сертификатов, выдача их и аннулирование, хранение информации, необходимой для последующей проверки правильности сертификатов. Центр сертификации (Certification Authority) является основной структурой, формирующей цифровые сертификаты подчиненных центров сертификации и конечных пользователей. Центр сертификации сам генерирует собственный секретный ключ и сертификат, содержащий открытый ключ данного центра. Удостоверяет аутентичность открытого ключа пользователя своей электронно-цифровой подписью. Формирует список отозванных сертификатов. Ведет базы всех изготовленных сертификатов и списков отозванных сертификатов.
Петрозаводский госуниверситет, А. В. Соловьев, 2007СЕТЕВЫЕ ТЕХНОЛОГИИ Сертификат X.509 ITU-T/CCITT X.509, RFC 3280 Сертификат привязывается к Distinguished Name (отличительное имя): C=RU, ST=Karelia, L=Petrozavodsk, O=Petrozavodsk State University, OU=DIMS, Структура сертификата: версия, серийный номер, ID алгоритма, издатель, срок действия, субъект, публичный ключ субъекта, ID алгоритма подписи сертификата, подпись сертификата Популярные Интернет-центры сертификации: Verisign - Thawte - Правила безопасности SSL/TLS Клиент проверяет ЭЦП сертификата сервера при помощи публичного ключа доверенного центра сертификации. Клиент проверяет срок действия сертификата. Клиент проверяет, что доменное имя сервера совпадает с именем в сертификате.
Петрозаводский госуниверситет, А. В. Соловьев, 2007СЕТЕВЫЕ ТЕХНОЛОГИИ Приложения SSL/TLS HTTPS POP3S, IMAPS ESMTP stunnel В стандартных приложениях возможно выделение отдельного порта для организации защищённого соединения SSL/TLS (например, POP3S – 995, IMAPS – 993), так и использование того же порта с возможностью переключения на защищённое соединение посредством команды START TLS (например, ESMTP)
Петрозаводский госуниверситет, А. В. Соловьев, 2007СЕТЕВЫЕ ТЕХНОЛОГИИ Средства разработки OpenSSL – лицензия типа Apache GnuTLS – лицензия GPL/LGPL