Advanced

Puncturable Symmetric KEMs for Forward-Secret 0-RTT Key Exchange

Backendal, Matilda LU (2019) EITM01 20191
Department of Electrical and Information Technology
Abstract
The latest version of the Transport Layer Security protocol (TLS 1.3) introduces a pre-shared key zero round-trip time (0-RTT) mode. This enables session resumption with no latency before the first application data can be sent, at the cost of losing forward secrecy and replay protection. There is high demand from Internet companies for this performance-enhancing feature, and some service providers have chosen to already enable it by default despite the security compromise currently associated to it. In this work we explore the possibility to achieve forward secrecy for resumed sessions in 0-RTT mode, mitigating the security risks presently adherent to it.

To abstract the key exchange in TLS 0-RTT mode, we introduce a new primitive which... (More)
The latest version of the Transport Layer Security protocol (TLS 1.3) introduces a pre-shared key zero round-trip time (0-RTT) mode. This enables session resumption with no latency before the first application data can be sent, at the cost of losing forward secrecy and replay protection. There is high demand from Internet companies for this performance-enhancing feature, and some service providers have chosen to already enable it by default despite the security compromise currently associated to it. In this work we explore the possibility to achieve forward secrecy for resumed sessions in 0-RTT mode, mitigating the security risks presently adherent to it.

To abstract the key exchange in TLS 0-RTT mode, we introduce a new primitive which we call symmetric-key key encapsulation mechanisms (S-KEMs). Forward secrecy is attained through ``puncturing'' of the secret key, which we capture formally by puncturable S-KEMs (PS-KEMs). Furthermore, to enable optimizations that leverage ordering and to achieve the greatest possible generality of our model, we also introduce stateful versions of S-KEMs and PS-KEMs. We examine the relationship between these new primitives, give game-based functionality and security notions and show how pseudorandom functions (specifically based on the Goldreich-Goldwasser-Micali construction) can be used to build instantiations which meet the security goals. (Less)
Abstract (Swedish)
I den senaste versionen av kommunikationsprotokollet Transport Layer Security (TLS 1.3), introducerades en funktion som möjliggör att sessioner återupptas i ``zero round-trip time'' (översatt: noll tur- och returtid, förkortat 0-RTT) vilket innebär att snabbare uppkoppling är möjlig eftersom krypterad applikationsdata kan skickas redan med det första dataflödet från klient till server. För att uppnå detta används krypteringsnycklar som har förhandlats fram i tidigare sessioner, så kallade ``pre-shared keys'' (översatt: tidigare delade nycklar). Tyvärr innebär den nya funktionen att kommunikationen inte längre är säker mot framtida korruption av dessa långlivade nycklar. Detta kallas för avsaknad av ``forward secrecy'' (översatt:... (More)
I den senaste versionen av kommunikationsprotokollet Transport Layer Security (TLS 1.3), introducerades en funktion som möjliggör att sessioner återupptas i ``zero round-trip time'' (översatt: noll tur- och returtid, förkortat 0-RTT) vilket innebär att snabbare uppkoppling är möjlig eftersom krypterad applikationsdata kan skickas redan med det första dataflödet från klient till server. För att uppnå detta används krypteringsnycklar som har förhandlats fram i tidigare sessioner, så kallade ``pre-shared keys'' (översatt: tidigare delade nycklar). Tyvärr innebär den nya funktionen att kommunikationen inte längre är säker mot framtida korruption av dessa långlivade nycklar. Detta kallas för avsaknad av ``forward secrecy'' (översatt: framåtsäkerhet).

Trots de lägre säkerhetsgarantierna är efterfrågan på 0-RTT-funktionen stor bland internetleverantörer eftersom den ger en markant hastighetsökning, framförallt för mobila nätverk där latensen är hög. I det här arbetet undersöker vi möjligheten att behålla den snabba återuppkoppling, men samtidigt uppnå samma säkerhet som vid en vanlig anslutning. Detta görs genom en abstraktion av nyckelutbytet i en TLS-session, vilket vi modellerar med ett nytt kryptografiskt objekt som vi har döpt till ``symmetriska nyckelinkapslingsmekanismer'' (S-KEMs). Forward secrecy uppnås genom införandet av ``nyckelpunktering'', vilket vi modellerar med s.k. punkterbara S-KEMs (PS-KEMs). Vi formaliserar funktionalitet- och säkerhetsmålen med hjälp av spelbaserade definitioner för S-KEMs och PS-KEMs. Vi ger även exempel på hur algoritmer kan konstrueras för att uppnå målen, samt utvidgar modellen till att även innefatta ordningsföljden av återanslutna sessioner för att möjliggöra optimeringar. (Less)
Popular Abstract (Swedish)
Integritet på nätet eller snabb uppkoppling? Med dagens krypteringsmetoder är det antingen eller, men i framtiden behöver vi kanske inte kompromissa.
-------------------------------------------------------------------

I takt med att samhället digitaliseras flyttas alltmer kommunikation till internet, vilket i många fall gör livet smidigare. Samtidigt blir vi mer sårbara då data som skickas över nätet eller lagras online riskerar att läcka ut och bli allmänt känd. För att värna om vår integritet och säkerhet vidtas åtgärder för att dölja information som skickas via nätet,
men dessa insatser är tidskrävande och innebär extra överföringar vilket gör uppkopplingen långsammare.

Mer specifikt skyddas internetanslutningar till... (More)
Integritet på nätet eller snabb uppkoppling? Med dagens krypteringsmetoder är det antingen eller, men i framtiden behöver vi kanske inte kompromissa.
-------------------------------------------------------------------

I takt med att samhället digitaliseras flyttas alltmer kommunikation till internet, vilket i många fall gör livet smidigare. Samtidigt blir vi mer sårbara då data som skickas över nätet eller lagras online riskerar att läcka ut och bli allmänt känd. För att värna om vår integritet och säkerhet vidtas åtgärder för att dölja information som skickas via nätet,
men dessa insatser är tidskrävande och innebär extra överföringar vilket gör uppkopplingen långsammare.

Mer specifikt skyddas internetanslutningar till webbadresser som inleds med 'https' idag av kryptering som gör kommunikationen oläslig för alla utomstående. Utan tillgång till nycklar som "låser upp" och dechiffrerar de krypterade meddelandena är de inget mer än rappakalja. För att de kommunicerande parterna ska kunna ta del av innehållet krävs därför att de utbyter krypteringsnycklar. Detta sker i början av uppkopplingen för att se till att krypteringen i varje anslutning är oberoende av tidigare sessioner. Man kan säga att nycklarna är som engångsartiklar. De förhandlas fram, används i en session och slängs sedan. Själva utbytet, när parterna kommer överens om nycklarna, bromsar uppkopplingen och gör att anslutningen upplevs som långsam. Men det finns snabbare sätt.

Nyligen lanserades en snabbuppkopplingsfunktion som gör det möjligt att återansluta utan det inledande nyckelutbytet.
Förenklat kan man säga att om de kommunicerande parterna har varit i kontakt tidigare och redan delar nycklar från en tidigare session, så kan dessa återanvändas för att kryptera även framtida anslutningar. Effekten blir en markant prestandaökning.

Tyvärr ger den nya funktionen lägre säkerhetsgarantier än vid ett fullt nyckelutbyte. Detta eftersom återanvändningen av kryptografiskt material potentiellt leder till att alla sessioner där samma nycklar har använts blir oskyddade om nycklarna läcker ut. Det finns naturligtvis alltid en risk att någon knäcker krypteringen eller kommer över de nycklar som används, men då engångsnycklar används leder det bara till att kommunikationen i den pågående sessionen blir synlig för förövaren. Om nycklarna däremot har använts till flera sessioner, riskerar alla dessa att bli oskyddade.

I det här arbetet undersöks möjligheten att behålla den snabba uppkopplingen som den nya funktionen ger, men utan att behöva kompromissa om säkerheten. Idén bygger på ett smart sätt att återanvända nycklar. Istället för att använda exakt samma nyckel till flera sessioner uppdateras nyckeln mellan varven, så att tidigare sessioners kommunikation inte går att dekryptera om den nya, förändrade nyckeln läcker ut. Operationen kallas för punktering, och man kan föreställa sig att förmågan att dekryptera vissa meddelanden försvinner när nyckeln punkteras, ungefär som när en biljett klipps efter användning. Den går fortfarande att använda till framtida sessioner, men avslutad kommunikation som nyckeln har "punkterats på" är lika oläsbar med den punkterade nyckeln som utan den.

Det här projektet har gått ut på att skapa en modell som visar hur punkterade nycklar skulle kunna användas för att ge både snabb uppkoppling och den önskade säkerheten. Modellen består av en ny matematisk abstraktion som fångar hur den nya funktionen tillåter snabba uppkopplingar. Den innehåller också en påbyggnad som beskriver hur punktering kan användas för högre säkerhetsgarantier. Modellen visar att det i teorin är möjligt att genom punktering uppnå både hög säkerhet och prestanda, men att det finns vissa nackdelar med tillvägagångssättet. Framförallt är det problematiskt att de punkterade nycklarna kräver mer lagringsutrymme än vanliga nycklar, vilket i vissa fall kan vara ett hinder. I arbetet har det därför också undersökts hur ordningsföljden av återanslutna sessioner skulle kunna utnyttjas för att hålla ned storleken på de punkterade nycklarna. Detta genom att designa algoritmer så att det vid normal användning skapas platseffektiva "punkteringsmönster". Studien visar att det finns potential hos förslaget. För att avgöra om idén med punkterbara nycklar är värd att lansera i stor skala krävs dock fortsatta undersökningar där konstruktioner implementeras och testas på verkliga scenarion. (Less)
Please use this url to cite or link to this publication:
author
Backendal, Matilda LU
supervisor
organization
course
EITM01 20191
year
type
H2 - Master's Degree (Two Years)
subject
keywords
cryptography, cryptographic protocols, session resumption, forward secrecy, 0-RTT, TLS 1.3, puncturable PRFs, key encapsulation mechanisms
report number
LU/LTH-EIT 2019-699
language
English
id
8979963
date added to LUP
2019-06-17 09:18:36
date last changed
2019-06-17 09:18:36
@misc{8979963,
  abstract     = {The latest version of the Transport Layer Security protocol (TLS 1.3) introduces a pre-shared key zero round-trip time (0-RTT) mode. This enables session resumption with no latency before the first application data can be sent, at the cost of losing forward secrecy and replay protection. There is high demand from Internet companies for this performance-enhancing feature, and some service providers have chosen to already enable it by default despite the security compromise currently associated to it. In this work we explore the possibility to achieve forward secrecy for resumed sessions in 0-RTT mode, mitigating the security risks presently adherent to it.

To abstract the key exchange in TLS 0-RTT mode, we introduce a new primitive which we call symmetric-key key encapsulation mechanisms (S-KEMs). Forward secrecy is attained through ``puncturing'' of the secret key, which we capture formally by puncturable S-KEMs (PS-KEMs). Furthermore, to enable optimizations that leverage ordering and to achieve the greatest possible generality of our model, we also introduce stateful versions of S-KEMs and PS-KEMs. We examine the relationship between these new primitives, give game-based functionality and security notions and show how pseudorandom functions (specifically based on the Goldreich-Goldwasser-Micali construction) can be used to build instantiations which meet the security goals.},
  author       = {Backendal, Matilda},
  keyword      = {cryptography,cryptographic protocols,session resumption,forward secrecy,0-RTT,TLS 1.3,puncturable PRFs,key encapsulation mechanisms},
  language     = {eng},
  note         = {Student Paper},
  title        = {Puncturable Symmetric KEMs for Forward-Secret 0-RTT Key Exchange},
  year         = {2019},
}