A tcpcrypt a TCP protokoll kiterjesztése , amely lehetőséget ad a forgalom opportunista titkosítására a TCP számára [1] [2] . Ha az egyik előfizető nem támogatja a tcpcrypt kiterjesztést, normál TCP-kapcsolat jön létre. Ha mindkét előfizető támogatja a tcpcrypt-et, az adatok az alkalmazások számára transzparensen titkosítva lesznek (az alkalmazás támogatása nem szükséges; nincs szükség konfigurációra (a VPN -től eltérően )).
A tcpcrypt kiterjesztés a következő feladatok megoldására jött létre:
A tcpcrypt kiterjesztés a TLS- és IPsec -protokollokkal ellentétben nem tartalmaz felhasználói hitelesítési eszközöket , de egy "Session ID" mezőt biztosít. A "Session ID" az OSI hálózati modell magasabb szintjein használható bármilyen hitelesítési séma megvalósításához (például jelszavas hitelesítés vagy PKI -tanúsítványokkal történő hitelesítés ).
A tcpcrypt kiterjesztés működése átlátható az alkalmazások számára (vagyis a tcpcrypt támogatásához nincs szükség alkalmazásmódosításra). Az alapértelmezett esetben ( hitelesítés nélkül ) a bővítmény nem igényel konfigurációt. Ha azonban hitelesítés nélkül fut, a bővítmény ki van téve egy aktív [3] man-in-the-middle támadásnak .
A kapcsolatépítés (nyilvános kulcs segítségével történő titkosítás megszervezése) munka nagy részét a kliens oldalon végzik. Ez szándékosan történik, hogy csökkentsék a szerverek terhelését és csökkentsék a DoS támadások valószínűségét [4] .
A szerzők kutatása szerint a tcpcrypt kiterjesztés használatakor a TCP / TLS -hez képest a szerver terhelése csökken az egyszerűbb és gyorsabb kézfogási eljárásnak köszönhetően .
A tcpcrypt kiterjesztés TCP-időbélyegeket használ, és több TCP-beállítást is hozzáad minden csomaghoz. Emiatt a csomag mérete 36 bájttal nő egy normál TCP-csomag méretéhez képest. Ha feltételezzük, hogy az átlagos TCP-csomag mérete 471 bájt [5] , akkor a kapcsolat átviteli sebessége 8%-kal csökken. A 64 kb/s- nál nagyobb sávszélességű felhasználók nem vehetnek észre különbséget, de a betárcsázós felhasználók jelentős lassulást tapasztalhatnak.
A tcpcrypt kiterjesztést egy hat fős csapat tervezte [6] :
és bemutatták a 19. USENIX biztonsági szimpóziumon 2010-ben.
2010 júliusában megjelent a specifikáció első vázlata, 2010 augusztusában pedig a referencia implementáció forráskódja . Az " IETF " szervezet képviselői megismerkedtek a tervezettel, de a szabványt nem fogadták el. Emiatt a projekt csak 2011-ben fejlődött ki [7] .
2013 és 2014 között Edward Snowden nyilvánosságra hozott információkat az internetezők NSA és más kormányzati szervezetek általi tömeges megfigyeléséről. Az IETF úgy döntött, hogy biztonságos internetes protokollok létrehozásával megvédi a felhasználókat a felügyelettől [8] [9] . A tcpcrypt kiterjesztés átláthatóan titkosította az összes forgalmat, és az IETF érdeklődést mutatott a szabványosítás iránt.
2014 márciusában az IETF létrehozott egy levelezőlistát a tcpcrypt megvitatására [10] . 2014 júniusában az IETF "TCPINC" néven (az angol TCP fokozott biztonságból ) munkacsoportot hozott létre a tcpcrypt kiterjesztés [11] szabványosítására, és közzétette a specifikáció új tervezetét.
A tervezet ( angol internet draft ) a [12] linken található (elérhetetlen link) .
A tcpcrypt kiterjesztés implementációi több operációs rendszerre készültek : Linux , FreeBSD , Windows és Mac OS X. Minden megvalósítás:
Az IPv6 protokollt jelenleg csak a Linux implementáció támogatja .
A tcpcrypt kiterjesztés szabványosítását követően várhatóan minden operációs rendszeren megjelennek a beépített implementációk.