Identifikatorer for Alice ( Alice ), initiativtageren til sessionen | |
Identifikator for Bob ( Bob ), den side, hvorfra sessionen er etableret | |
Identifikator for Trent ( Trent ), en betroet mellempart | |
Alice, Bob og Trents offentlige nøgler | |
Alice, Bob og Trents hemmelige nøgler | |
Kryptering af data med Alices nøgle, eller Alice og Trents fælles nøgle | |
Kryptering af data med Bobs nøgle eller Bob og Trents fælles nøgle | |
Datakryptering med hemmelige nøgler af Alice, Bob (digital signatur) | |
Sessionssekvensnummer (for at forhindre gentagelsesangreb) | |
Tilfældig sessionsnøgle, der skal bruges til symmetrisk datakryptering | |
Kryptering af data med en midlertidig sessionsnøgle | |
Tidsstempler føjet til beskeder af henholdsvis Alice og Bob | |
Tilfældige tal ( nonce ), der blev valgt af henholdsvis Alice og Bob | |
Alice, Bob og Trents prægenererede henholdsvis offentlige og private nøglepar | |
Tilfældig session offentligt/privat nøglepar, der skal bruges til asymmetrisk kryptering | |
Signering af data ved hjælp af den private nøgle fra Alice, Bob, den mellemliggende part ( Trent ) eller en privat nøgle fra et tilfældigt par, hhv. | |
Asymmetrisk datakryptering ved hjælp af den offentlige nøgle fra henholdsvis Alice, Bob, en mellempart ( Trent ) eller en offentlig nøgle fra et tilfældigt par |
Denning-Sacco-protokollen [ 1] er et almindeligt navn for symmetriske og asymmetriske nøgledistributionsprotokoller til betroede parter .
I 1981 præsenterede Purdue University-medarbejderne Dorothy E. Denning og Giovanni Maria Sacco et angreb på Needham-Schroeder-protokollen og foreslog deres egen ændring af protokollen baseret på brugen af tidslabels [2] .
Med symmetrisk kryptering antages det, at den hemmelige nøgle, der tilhører klienten, kun er kendt af ham og en tredje betroet part - autentificeringsserveren. Under udførelsen af protokollen modtager klienter (Alice, Bob) fra godkendelsesserveren (Trent) en ny hemmelig sessionsnøgle til at kryptere gensidige beskeder i den aktuelle kommunikationssession. Overvej implementeringen af Denning-Sacco-protokollen med en symmetrisk nøgle [3] :
Den første besked fra Alice til Trent indeholder identifikatorerne for deltagerne i den kommende udveksling - Alice og Bob. Denne besked sendes i klartekst:
Trent genererer en sessionsnøgle og sender Alice en krypteret besked, der inkluderer Bobs ID, sessionsnøgle, tidsstempel og en pakke , der fungerer som Alices certifikat:
Alice dekrypterer derefter Trents besked og sender hendes certifikat til Bob :
I slutningen af protokollen har Alice og Bob en delt sessionsnøgle .
Alice og Bob kan bekræfte, at de beskeder, de modtager, er gyldige ved at tjekke tidsstempler .
I 1997 præsenterede Gavin Lowe et angreb på protokollen [4] :
Angriberens handlinger får Bob til at beslutte, at Alice vil etablere en ny forbindelse med ham.
I det samme arbejde foreslog Low en protokolmodifikation, der sørger for Alices autentificering til Bob [4] :
Inden for rammerne af protokollen bekræfter Bob på ingen måde modtagelsen af en ny sessionsnøgle og muligheden for at arbejde med den. Beskeden fra Alice på 5. gennemløb kunne være blevet opsnappet eller ændret af en angriber. Men Alice forventer ikke længere noget svar fra Bob og er sikker på, at protokollen blev gennemført med succes.
En asymmetrisk version af Denning-Sacco-protokollen. Godkendelsesserveren ejer alle klienters offentlige nøgler. Overvej implementeringen af Denning-Sacco-protokollen med en offentlig nøgle [5] :
Den første besked fra Alice til Trent indeholder identifikatorerne for deltagerne i den kommende udveksling - Alice og Bob. Denne besked sendes i klartekst:
Som svar sender Trent Alice de underskrevne offentlige nøglecertifikater fra Alice og Bob. Derudover tilføjes tidsstempler til hvert certifikat:
Alice genererer en ny sessionsnøgle og sender den til Bob sammen med et tidsstempel , signerer den med sin nøgle og krypterer den med Bobs offentlige nøgle sammen med begge meddelelser modtaget fra Trent:
Bob verificerer CA's signatur på certifikatet , dekrypterer sessionsnøglen og verificerer Alice's signatur.
Abadi og Needham beskrev et angreb på protokollen [6] , hvor Bob, efter at have modtaget en besked fra Alice, kan efterligne hende i en session med en anden bruger. Fraværet af Bobs identifikator i meddelelsen fra Alice fører til, at Bob kan bruge data modtaget fra Alice til at efterligne Alice i en ny session med en tredjepart (Clara).
Clara verificerer med succes CA's signatur på certifikatet , dekrypterer sessionsnøglen og verificerer Alices signatur. Som et resultat er Clara sikker på, at hun har etableret en kommunikationssession med Alice, da alle de nødvendige trin i protokollen blev udført korrekt, og alle meddelelser var korrekte.
Autentificering og nøgleudvekslingsprotokoller | |
---|---|
Med symmetriske algoritmer | |
Med symmetriske og asymmetriske algoritmer | |
Protokoller og tjenester, der bruges på internettet |