Difference between revisions of "SslStrip"

From Ilianko
Line 1: Line 1:
 
==TLS (SSL)==
 
==TLS (SSL)==
TLS (на английски: Transport Layer Security) и неговият предшественик SSL (на английски: Secure Sockets Layer) са криптографски протоколи, които осигуряват сигурност на комуникацията по Интернет. TLS и SSL криптиране са сегменти на мрежови връзки над Transport Layer, използвайки асиметрична криптография.
+
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 протокол. По такъв начин данните от клиента до атакуващия биват предавани в текстов вид.


Опитна постановка:

Опитна постановка за SSL атака