TLS
OSI модел |
---|
1. Физически слой |
2. Канален слой |
3. Мрежов слой |
4. Транспортен слой |
5. Сесиен слой |
6. Представителен слой |
7. Приложен слой |
TLS (на английски: Transport Layer Security) и неговият предшественик SSL (на английски: Secure Sockets Layer) са криптографски протоколи, които осигуряват сигурност на комуникацията по интернет. TLS и SSL криптирането са сегменти на мрежови връзки в приложния слой (над транспортния слой), използвайки асиметрична криптография за личния код на автентикация на съобщението, което увеличава надеждността на съобщението.[1]
Няколко версии на протоколите се използват широко при сърфиране в интернет, електронна поща, интернет факс, чат и voice-over-IP (VoIP).
TLS е IETF standards track протокол, за последен път е актуализиран в RFC 5246, и се основава на по-ранните SSL спецификации, разработен от Netscape Communications.
Описание
[редактиране | редактиране на кода]TLS позволява на клиентски / сървърни приложения да комуникират в мрежата по начин, предназначен за предотвратяване на подслушване и подправяне.
TLS клиентът и сървърът договарят динамична връзка чрез процедура по т.нар. ръкостискане. При нея те установяват съгласие по различни параметри, използвани, за да се установи криптираната връзка.
Процедурата започва, когато клиентът се свързва с TLS сървър, изисква защитена връзка и представя на сървъра списък на поддържаните CipherSuites (ciphers and hash functions). От този списък сървърът избира най-силния шифър и хеш функция и уведомява клиента за решението.
Сървърът изпраща обратно идентификацията си под формата на цифров сертификат. Сертификатът обикновено съдържа името на сървъра, издалия го орган (certificate authority) и публичен ключ за криптиране на сървъра. Клиентът може да се свърже със сървъра, който е издал сертификата (CA), и да потвърди валидността на сертификата, преди да продължи нататък.
За да се генерират сесийните ключове, използвани за сигурна връзка, клиентът криптира случайно число с публичния ключ на сървъра и му изпраща резултата. Само сървърът може да го дешифрира със своя личен ключ. Така завършва процесът на ръкостискане и започва защитена шифрована връзка.
Ако някоя от по-горните стъпки се провали, TLS ръкостискането не се получава и връзката не се създава.