tcpcrypt er en udvidelse til TCP -protokollen , der tilføjer muligheden for opportunistisk at kryptere trafik til TCP [1] [2] . Hvis en af abonnenterne ikke understøtter tcpcrypt-udvidelsen, etableres en almindelig TCP-forbindelse. Hvis begge abonnenter understøtter tcpcrypt, krypteres dataene gennemsigtigt til applikationer (applikationsunderstøttelse er ikke påkrævet; ingen konfiguration er påkrævet (i modsætning til VPN )).
tcpcrypt-udvidelsen blev oprettet for at løse følgende opgaver:
tcpcrypt-udvidelsen, i modsætning til TLS- og IPsec -protokollerne , indeholder ikke brugergodkendelsesværktøjer , men giver et "Session-ID"-felt. "Sessions-ID" kan bruges på højere niveauer af OSI-netværksmodellen til at implementere enhver godkendelsesordning (f.eks. godkendelse med adgangskoder eller godkendelse med PKI- certifikater ).
Betjeningen af tcpcrypt-udvidelsen er gennemsigtig for applikationer (dvs. ingen applikationsændring er nødvendig for at understøtte tcpcrypt). I standardtilfældet (uden godkendelse ) kræver udvidelsen ikke konfiguration. Men når den kører uden godkendelse, er udvidelsen sårbar over for et aktivt [3] man-in-the-middle- angreb .
Det meste af arbejdet med at etablere en forbindelse (arrangering af kryptering ved hjælp af en offentlig nøgle) foregår på klientsiden. Dette gøres med vilje for at reducere belastningen på serverne og reducere sandsynligheden for DoS-angreb [4] .
Ifølge forfatternes forskning reduceres serverbelastningen ved brug af tcpcrypt-udvidelsen sammenlignet med TCP / TLS på grund af en enklere og hurtigere handshake - procedure .
tcpcrypt-udvidelsen bruger TCP-tidsstempler og tilføjer flere af sine TCP-indstillinger til hver pakke. På grund af dette øges pakkestørrelsen med 36 bytes sammenlignet med størrelsen på en normal TCP-pakke. Hvis vi antager, at den gennemsnitlige TCP-pakkestørrelse er 471 bytes [5] , vil linkgennemstrømningen falde med 8%. Brugere med båndbredder større end 64 kbs bør ikke bemærke en forskel, men opkaldsbrugere kan opleve betydelige opbremsninger.
tcpcrypt-udvidelsen er designet af et team på seks personer [6] :
og præsenteret på det 19. USENIX sikkerhedssymposium i 2010.
I juli 2010 blev det første udkast til specifikationen offentliggjort, og i august 2010 kildekoderne til referenceimplementeringen . Repræsentanter for organisationen " IETF " stiftede bekendtskab med udkastet, men standarden blev ikke accepteret. På grund af dette udviklede projektet sig først i 2011 [7] .
I 2013-2014 afslørede Edward Snowden oplysninger om NSA 's og andre regeringsorganisationers masseovervågning af internetbrugere. IETF besluttede at beskytte brugere mod overvågning ved at skabe sikre internetprotokoller [8] [9] . tcpcrypt-udvidelsen krypterede gennemsigtigt al trafik, og IETF viste interesse i at standardisere den.
I marts 2014 oprettede IETF en mailingliste for at diskutere tcpcrypt [ 10] . I juni 2014 dannede IETF en arbejdsgruppe kaldet "TCPINC" (fra det engelske TCP øget sikkerhed ) for at standardisere tcpcrypt-udvidelsen [11] og offentliggjorde et nyt udkast til specifikationen.
Udkastet ( engelsk internetudkast ) kan findes på linket (utilgængeligt link) [12] .
Implementeringer af tcpcrypt-udvidelsen er blevet forberedt til flere operativsystemer : Linux , FreeBSD , Windows og Mac OS X. Alle implementeringer:
IPv6-protokollen understøttes i øjeblikket kun af Linux - implementeringen .
Det forventes, at når tcpcrypt-udvidelsen er standardiseret, vil indbyggede implementeringer dukke op på alle operativsystemer.