Identifierare av Alice ( Alice ), initiativtagaren till sessionen | |
Identifierare för Bob ( Bob ), den sida från vilken sessionen etableras | |
Identifierare för Trent ( Trent ), en pålitlig mellanpart | |
Alice, Bob och Trents publika nycklar | |
Hemliga nycklar till Alice, Bob och Trent | |
Kryptering av data med Alices nyckel, eller Alice och Trents gemensamma nyckel | |
Kryptera data med Bobs nyckel eller Bob och Trents gemensamma nyckel | |
Datakryptering med hemliga nycklar från Alice, Bob (digital signatur) | |
Sessionssekvensnummer (för att förhindra reprisattacker) | |
Slumpmässig sessionsnyckel som ska användas för symmetrisk datakryptering | |
Krypterar data med en tillfällig sessionsnyckel | |
Tidsstämplar har lagts till i meddelanden av Alice respektive Bob | |
Slumptal ( nonce ) som valdes av Alice respektive Bob | |
Alice, Bob och Trents förgenererade offentliga respektive privata nyckelpar | |
Slumpmässig session offentligt/privat nyckelpar som ska användas för asymmetrisk kryptering | |
Signering av data med den privata nyckeln från Alice, Bob, mellanparten ( Trent ), eller en privat nyckel från ett slumpmässigt par. | |
Asymmetrisk datakryptering med den offentliga nyckeln från Alice, Bob, en mellanpart ( Trent ) eller en offentlig nyckel från ett slumpmässigt par, respektive |
Denning-Sacco-protokollet [1] är ett vanligt namn för symmetriska och asymmetriska nyckeldistributionsprotokoll för betrodda parter .
1981 presenterade Purdue University-anställda Dorothy E. Denning och Giovanni Maria Sacco en attack mot Needham-Schroeder-protokollet och föreslog sin egen modifiering av protokollet baserat på användningen av tidsetiketter [2] .
Med symmetrisk kryptering antas det att den hemliga nyckeln som tillhör klienten endast är känd för honom och någon tredje betrodd part - autentiseringsservern. Under exekveringen av protokollet får klienter (Alice, Bob) från autentiseringsservern (Trent) en ny hemlig sessionsnyckel för att kryptera ömsesidiga meddelanden i den aktuella kommunikationssessionen. Överväg implementeringen av Denning-Sacco-protokollet med en symmetrisk nyckel [3] :
Det första meddelandet från Alice till Trent innehåller identifierarna för deltagarna i det kommande utbytet - Alice och Bob. Detta meddelande skickas i klartext:
Trent genererar en sessionsnyckel och skickar ett krypterat meddelande till Alice som inkluderar Bobs ID, sessionsnyckel, tidsstämpel och ett paket som fungerar som Alices certifikat:
Alice dekrypterar sedan Trents meddelande och skickar hennes certifikat till Bob :
I slutet av protokollet har Alice och Bob en delad sessionsnyckel .
Alice och Bob kan verifiera att meddelandena de får är giltiga genom att kontrollera tidsstämplar .
1997 presenterade Gavin Lowe en attack mot protokollet [4] :
Angriparens handlingar leder till att Bob bestämmer sig för att Alice vill etablera en ny förbindelse med honom.
I samma arbete föreslog Low en protokollmodifiering som ger Alices autentisering till Bob [4] :
Inom ramen för protokollet bekräftar Bob inte på något sätt mottagandet av en ny sessionsnyckel och möjligheten att arbeta med den. Meddelandet från Alice på 5:e passet kunde ha snappats upp eller modifierats av en angripare. Men Alice förväntar sig inte längre något svar från Bob och är säker på att protokollet slutfördes framgångsrikt.
En asymmetrisk version av Denning-Sacco-protokollet. Autentiseringsservern äger de publika nycklarna för alla klienter. Överväg implementeringen av Denning-Sacco-protokollet med en offentlig nyckel [5] :
Det första meddelandet från Alice till Trent innehåller identifierarna för deltagarna i det kommande utbytet - Alice och Bob. Detta meddelande skickas i klartext:
Som svar skickar Trent Alice de undertecknade certifikaten för Alice och Bobs offentliga nyckel. Dessutom läggs tidsstämplar till varje certifikat:
Alice genererar en ny sessionsnyckel och skickar den till Bob tillsammans med en tidsstämpel , signerar den med sin nyckel och krypterar den med Bobs publika nyckel, tillsammans med båda meddelandena som tagits emot från Trent:
Bob verifierar CA:s signatur på certifikatet , dekrypterar sessionsnyckeln och verifierar Alices signatur.
Abadi och Needham beskrev en attack mot protokollet [6] där Bob, efter att ha fått ett meddelande från Alice, kan utge sig för att vara henne i en session med en annan användare. Frånvaron av Bobs identifierare i meddelandet från Alice leder till att Bob kan använda data som tas emot från Alice för att imitera Alice i en ny session med en tredje part (Clara).
Clara verifierar framgångsrikt CA:s signatur på certifikatet , dekrypterar sessionsnyckeln och verifierar Alices signatur. Som ett resultat är Clara säker på att hon har upprättat en kommunikationssession med Alice, eftersom alla nödvändiga steg i protokollet utfördes korrekt och alla meddelanden var korrekta.
Autentisering och nyckelutbytesprotokoll | |
---|---|
Med symmetriska algoritmer | |
Med symmetriska och asymmetriska algoritmer | |
Protokoll och tjänster som används på Internet |