SslStrip
Теория
TLS от Уикипедия, свободната енциклопедия TLS (на английски: Transport Layer Security) и неговият предшественик SSL (на английски: Secure Sockets Layer) са криптографски протоколи, които осигуряват сигурност на комуникацията по Интернет. TLS и SSL криптиране са сегменти на мрежови връзки над Transport Layer, използвайки асиметрична криптография за личния message authentication code за надеждността на съобщението.
Няколко версии на протоколите се използват широко при web browsing, electronic mail, Internet faxing, instant messaging and voice-over-IP (VoIP).
TLS е IETF standards track протокол, за последен път е актуализиран в 5246 и се основава на по-ранните SSL спецификации, разработен от Netscape Communications.
Описание[редактиране | edit source]
TLS позволява на клиентски / сървърски приложения да комуникират в мрежата по начин, предназначен за предотвратяване на подслушване и подправяне.
TLS клиентът и сървърът договарят динамична връзка чрез handshaking процедура. При нея те установяват съгласие по различни параметри, използвани за да се установи криптираната връзка.
Процедурата започва, когато клиентът се свързва с TLS-сървър, изисква защитена връзка и представя на сървъра списък на поддържаните CipherSuites (ciphers and hash functions). От този списък сървърът избира най-силния шифър и хеш функция и уведомява клиента за решението.
Сървърът изпраща обратно идентификацията си под формата на цифров сертификат. Сертификатът обикновено съдържа името на сървъра, издалият го certificate authority (CA) и публичен ключ за криптиране на сървъра. Клиентът може да се свърже със сървъра, който е издал сертификата (CA) и да потвърди валидността на сертификата, преди да продължи нататък.
За да се генерират сесийните ключове, използвани за сигурна връзка, клиентът криптира случайно число с публичния ключ на сървъра и му изпраща резултата. Само сървърът може да го дешифрира с неговия личен ключ. Така завършва процеса handshake и започва защитена шифрована връзка.
Ако някой от по-горните стъпки, се провали, TLS handshake не успява и връзката не се създава.
Опитна постановка: