Krypterad SNI i TLS 1.3

Server Name Indication () är den del av som berättar för servern till vilken webbserver du vill besöka. Detta behövs om din webbserver bara har en IP-adress men flertalet certifikat. Detta fält går i klartext och gör att någon som kan se din nätverkstrafik också kan se vilken webbserver du besöker.

För att göra det svårare har bl.a. Domain Fronting används av såväl Tor som skadlig kod för att försvåra analys av nätverkstrafik men detta är något som flertalet leverantörer såsom nu stängt ner.

Följande bild förevisar bra där server_name skickas i klartext under handskakningsprocessen:

Firefox släppte precis stöd för ESNI (encrypted SNI) i sin nightly build. Du kan testa att fungerar genom att surfa till följande URL. Och glöm inte att slå på DoH:

Att ta fram en lösning som krypterar SNI var inte helt trivialt eftersom det rör sig om ett ”hönan eller ägget”-problem. Men för att lösa detta problem så används en ny nyckel hos klienten samt en ESNIKeys-structure som placeras i DNS:

Givetvis bör krypterad DNS också användas:

Moreover, as noted in the introduction, SNI encryption is
less useful without encryption of DNS queries in transit via DoH or DPRIVE mechanisms.

För mer matnyttig läsning rekommenderas följande IETF-draft:

 

Jonas Lejon

Om Jonas Lejon

En av sveriges främsta cybersäkerhetsexperter med nästan 20 års erfarenhet inom området och en bakgrund från FRA och Försvarsmakten. Kontakta mig gärna på telefonnummer 010 1889848 eller [email protected] om Er organisation behöver hjälp med cybersäkerhet. LinkedIn Twitter

One comment

Skriv en kommentar

Du kan använda följande HTML HTML:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

Denna webbplats använder Akismet för att minska skräppost. Lär dig hur din kommentardata bearbetas.