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 |
Wu-Lam- protokollen er en godkendelses- og nøgleudvekslingsprotokol. Som i tilfældet med DASS -protokollen, vedligeholder mellemparten - Trent - en database med alle nøgler.
Protokollen blev beskrevet af Thomas Wu og Simon Lam i 1992 1]2]
Alice sender sit ID til Bob:
Bob sender et tilfældigt tal til Alice:
Alice sender dette nummer til Bob og krypterer det med hendes og Trents fælles nøgle:
Bob sender Trent en besked krypteret på hans og Trents nøgle, som indeholder Alices identifikator og hendes besked modtaget af Bob ved 3. pass:
Trent dekrypterer beskeden med Alices nøgle, krypterer den med Bobs nøgle og sender ham:
Alice sender en besked til Trent med hendes ID og Bob:
Trent sender Bobs offentlige nøgle til Alice og signerer den med sin private nøgle:
Alice verificerer signaturen og sender derefter Bob hendes ID og et tilfældigt nummer, krypteret med Bobs offentlige nøgle
Bob sender sit ID og Alices ID til Trent, samt Alices tilfældige nummer krypteret med Trents offentlige nøgle:
Trent sender to beskeder til Bob. Den første indeholder Alices offentlige nøgle signeret med Trents nøgle. Den anden indeholder Alices tilfældige nummer, en tilfældig sessionsnøgle og id'erne for Bob og Alice. Den anden besked er signeret med Trents nøgle og krypteret med Bobs offentlige nøgle:
Bob godkender meddelelser ved hjælp af Trents offentlige nøgle. Derefter sender han Alice den anden del af beskeden fra Trent (sammen med sin signatur), supplerer den med sit eget tilfældige nummer og krypterer den med Alices offentlige nøgle:
Alice tjekker Trents underskrift og matcher hendes tilfældige nummer. Derefter sender den Bob sit tilfældige nummer og krypterer det med sessionsnøglen:
Bob afkoder nummeret og sørger for, at det ikke har ændret sig [3] .
Denne protokol, baseret på symmetrisk kryptografi, blev beskrevet af Wu og Lam i 1994 [4] .
Alice genererer et tilfældigt tal og sender sit ID og dette nummer til Bob:
Bob genererer også et tilfældigt tal og sender sit ID og dette nummer til Alice:
Alice sender hende og hans id'er og tilfældige numre til Bob og krypterer beskeden med hendes og Trents fælles nøgle:
Bob sender to beskeder til Trent. Den første er beskeden modtaget fra Alice. Den anden er den samme information som i beskeden fra Alice (både identifikatorer og tilfældige tal), men krypteret på hans nøgle med Trent:
Trent dekrypterer beskeder fra Bob, finder ud af ID'er og tilfældige antal deltagere, genererer derefter en sessionsnøgle og sender to beskeder til Bob. Den første besked indeholder Bobs ID, begge tilfældige tal, og sessionsnøglen krypteret med Alices nøgle. Den anden besked indeholder Alices ID, både tilfældige tal og sessionsnøglen, krypteret med Bobs nøgle:
Bob sender to beskeder til Alice. Den første er den første besked, der blev modtaget på det forrige pas fra Trent. Den anden er både tilfældige tal ( og ) krypteret med sessionsnøglen:
Alice dekrypterer den første besked, henter nøglen , dekrypterer den anden besked og sender Bob sit tilfældige nummer:
Der er et parallelt sessionsangreb på den symmetriske version af Wu-Lam-protokollen, beskrevet af Abadie og Needham [5] [6] .
Mallory er bruger af systemet og deler en nøgle med Trent. Hun skal også blokere alle beskeder, der sendes til Alice, det vil sige, Mallory skal være en aktiv kryptanalytiker.
Mallory starter to sessioner - en på vegne af Alice og en på hendes vegne - og sender to beskeder til Bob:
Bob tror, at Alice og Mallory vil kontakte ham, og sender hver sit tilfældige nummer:
Mallory ignorerer sit tilfældige nummer og sender den samme besked til Bob i begge sessioner - et tilfældigt tal beregnet til Alice, krypteret med Mallory og Trents fælles nøgle :
Bob, der følger instruktionerne i protokollen og ikke sammenligner meddelelserne med hinanden, sender dem til Trent, tilføjer identifikatorer og krypterer dem med deres fælles nøgle :
Trent i hver session dekrypterer beskeden ved hjælp af nøglen til den deltager, hvis id han modtog. Da han i den første session modtog Alices ID, og nummeret blev krypteret på Mallorys nøgle , vil dekryptering resultere i et andet nummer ("skrald").
Bob ser i en af de sidste beskeder et tilfældigt tal , som han sendte til Alice (som han tror), og i den anden - skrald. På grund af dette mener Bob, at han har etableret en forbindelse med Alice, selvom Alice slet ikke deltog i beskeden.
Sekvensen af sessioner i dette tilfælde er ikke vigtig - angrebet vil udvikle sig på samme måde.
Abadie og Needham foreslog et forsvar mod dette angreb: Trent skulle inkludere Alices identifikator i den 5. pass-meddelelse. I dette tilfælde vil Bob, efter at have modtaget Mallorys identifikator og det tilfældige nummer (som han sendte til Alice), kassere en sådan besked, og angrebet vil mislykkes.
Denne version af protokollen angribes også ved hjælp af en parallel session [7] .
Lad Alice indlede en opkaldsanmodning til Mallory. Så kan Mallory indlede en parallel kommunikationssession med Alice, etablere en forbindelse i den første session og udsætte den anden. Derefter, efter et stykke tid (selv efter afslutningen af den første session), fortsæt med at etablere en forbindelse i den anden session og tving Alice til at acceptere den gamle sessionsnøgle (den, der blev brugt i den første session). Hun skal også blokere beskeder sendt af Trent til Alice, hvilket betyder, at Mallory skal være en aktiv kryptanalytiker.
Alice begynder en kommunikationssession med Mallory. Mallory svarer ved at starte en session med Alice ved at sende hende det samme tilfældige nummer, som hun modtog:
Derefter venter Mallory på, at Alice svarer på hendes besked fra den anden session, trækker et tilfældigt tal fra den og indsætter det i beskeden til Alice i den første session.
Alice og Mallory afslutter derefter den første protokolsession normalt:
Efter et stykke tid fortsætter Mallory med at etablere en anden kommunikationssession:
Alice sender en besked til serveren, som Mallory opsnapper og blokerer.
Mallory, på vegne af serveren, sender Alice en besked med den gamle sessionsnøgle, blot ved at bytte dele af beskeden fra det 5. gennemløb af den første session.
Alice og Mallory afslutter derefter forbindelsen.
Autentificering og nøgleudvekslingsprotokoller | |
---|---|
Med symmetriske algoritmer | |
Med symmetriske og asymmetriske algoritmer | |
Protokoller og tjenester, der bruges på internettet |