tcpcrypt är ett tillägg till TCP- protokollet som lägger till möjligheten att opportunistiskt kryptera trafik till TCP [1] [2] . Om en av abonnenterna inte stöder tillägget tcpcrypt upprättas en vanlig TCP-anslutning. Om båda prenumeranterna stöder tcpcrypt, krypteras data transparent för applikationer (programstöd krävs inte; ingen konfiguration krävs (till skillnad från VPN )).
Tillägget tcpcrypt skapades för att lösa följande uppgifter:
Tillägget tcpcrypt, till skillnad från TLS- och IPsec- protokollen , innehåller inte användarautentiseringsverktyg , men tillhandahåller ett "Sessions-ID"-fält. "Sessions-ID" kan användas på högre nivåer av OSI-nätverksmodellen för att implementera alla autentiseringsscheman (till exempel autentisering med lösenord eller autentisering med PKI- certifikat ).
Driften av tcpcrypt-tillägget är transparent för applikationer (det vill säga ingen applikationsändring krävs för att stödja tcpcrypt). I standardfallet (utan autentisering ) kräver tillägget inte konfiguration. Men när tillägget körs utan autentisering är tillägget sårbart för en aktiv [3] man-in-the-middle- attack .
Det mesta av arbetet med att upprätta en anslutning (ordna kryptering med en publik nyckel) görs på klientsidan. Detta görs avsiktligt för att minska belastningen på servrarna och minska sannolikheten för DoS-attacker [4] .
Enligt författarnas forskning, när du använder tillägget tcpcrypt, jämfört med TCP / TLS , reduceras serverbelastningen på grund av en enklare och snabbare handskakningsprocedur .
Tillägget tcpcrypt använder TCP-tidsstämplar och lägger till flera av dess TCP-alternativ till varje paket. På grund av detta ökas paketstorleken med 36 byte jämfört med storleken på ett vanligt TCP-paket. Om vi antar att den genomsnittliga TCP-paketstorleken är 471 byte [5] kommer länkgenomströmningen att minska med 8 %. Användare med bandbredder större än 64 kbs bör inte märka någon skillnad, men uppringda användare kan uppleva betydande nedgångar.
Tillägget tcpcrypt är designat av ett team på sex personer [6] :
och presenterades vid det 19:e USENIX - säkerhetssymposiet 2010.
I juli 2010 publicerades det första utkastet till specifikationen och i augusti 2010 källkoderna för referensimplementeringen . Representanter för organisationen " IETF " bekantade sig med utkastet, men standarden accepterades inte. På grund av detta utvecklades projektet inte förrän 2011 [7] .
Under 2013-2014 avslöjade Edward Snowden information om massövervakning av internetanvändare av NSA och andra statliga organisationer. IETF beslutade att skydda användare från övervakning genom att skapa säkra Internetprotokoll [8] [9] . Tillägget tcpcrypt krypterade transparent all trafik, och IETF visade intresse för att standardisera den.
I mars 2014 skapade IETF en e-postlista för att diskutera tcpcrypt [ 10] . I juni 2014 bildade IETF en arbetsgrupp kallad "TCPINC" (från engelska TCP ökad säkerhet ) för att standardisera tillägget tcpcrypt [11] och publicerade ett nytt utkast till specifikationen.
Utkastet ( engelskt internetutkast ) finns på länken (otillgänglig länk) [12] .
Implementeringar av tillägget tcpcrypt har förberetts för flera operativsystem : Linux , FreeBSD , Windows och Mac OS X. Alla implementeringar:
IPv6 -protokollet stöds för närvarande endast av Linux - implementeringen .
Det förväntas att när tcpcrypt-tillägget är standardiserat kommer inbyggda implementeringar att visas på alla operativsystem.