Difference between revisions of "SslStrip"
Line 1: | Line 1: | ||
==TLS (SSL)== | ==TLS (SSL)== | ||
− | TLS ( | + | TLS (Transport Layer Security) и неговият предшественик SSL (на английски: Secure Sockets Layer) са криптографски протоколи, които осигуряват сигурност на комуникацията по Интернет. TLS и SSL криптиране са сегменти на мрежови връзки над Transport Layer, използвайки асиметрична криптография. |
Няколко версии на протоколите се използват широко при уеб, електрон поща, гласова комуникация (VoIP) и др. | Няколко версии на протоколите се използват широко при уеб, електрон поща, гласова комуникация (VoIP) и др. |
Revision as of 12:12, 11 October 2013
TLS (SSL)
TLS (Transport Layer Security) и неговият предшественик SSL (на английски: Secure Sockets Layer) са криптографски протоколи, които осигуряват сигурност на комуникацията по Интернет. TLS и SSL криптиране са сегменти на мрежови връзки над Transport Layer, използвайки асиметрична криптография.
Няколко версии на протоколите се използват широко при уеб, електрон поща, гласова комуникация (VoIP) и др.
TLS се описва в5246 и се основава на по-ранните SSL спецификации, разработен от Netscape Communications.
TLS позволява на клиентски / сървърски приложения да комуникират в мрежата по начин, предназначен за предотвратяване на подслушване и подправяне.
TLS клиентът и сървърът договарят динамична връзка чрез процедура на ръкостискане (handshaking) процедура. Процедурата започва, когато клиентът се свързва с TLS-сървър, изисква защитена връзка и представя на сървъра списък на поддържаните криптирания и хаш функции (ciphers and hash functions). От този списък сървърът избира най-силния шифър и хеш функция и уведомява клиента за решението.
Свързване
Сървърът изпраща обратно идентификацията си под формата на цифров сертификат. Сертификатът обикновено съдържа името на сървъра, неговият издател (certificate authority (CA) и публичен ключ за криптиране на сървъра. Клиентът може да се свърже със сървъра, който е издал сертификата и да потвърди валидността на сертификата, преди да продължи нататък.
За да се генерират сесийните ключове, използвани за сигурна връзка, клиентът криптира случайно число с публичния ключ на сървъра и му изпраща резултата. Само сървърът може да го дешифрира с неговия личен ключ. Така завършва процесът ръкостискане и започва защитена шифрована връзка.
Ако някой от по-горните стъпки, се провали, TLS ръкостискането не успява и връзката не се създава.
SSLStrip
SSLStrip е инструмент представен през 2009 година на конференцията BlackHat DC от Moxie Marlinspike. Целта на този инструмент е да направи видими потребителските имена и пароли пренасяни през SSL.
Например: Когато си проверяваме пощата си в Gmail, отваряме уеб клиент и написваме mail.google.com, не се интересуваме дали страницата е http:// или https://,защото знаем,че браузера ще поиска сигурна връзка от сървъра автоматично. Превключването към сигурна връзка се осъществява посредством нормалния http протокол, който не е криптиран и превключването може да да бъде прекъснато. Идеята на SSLStrip е да прекъсне заявката за превключване към сигурна връзка идваща от атакувания и да го накара да комуникира по нормалния http протокол. По такъв начин данните от клиента до атакуващия биват предавани в текстов вид.
Опитна постановка: