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 |
DASS-protokollet ( Distributed Authentication Security Service ) är ett asymmetriskt autentiserings- och distributionsprotokoll för sessionsnyckel som använder en mellanliggande betrodd part.
DASS-protokollet var en del av DASS Distributed Authentication Service som utvecklades av Digital Equipment Corporation och beskrivs i RFC 1507 [1] i september 1993.
I DASS-protokollet, liknande Wide-Mouth Frog- och Denning-Sacco- protokollen , genererar initiatorn (Alice) både en ny sessionsnyckel och, för varje protokollsession, ett nytt offentligt/privat nyckelpar av avsändare. Den betrodda myndigheten (Trent) används som ett arkiv för deltagarnas publika nyckelcertifikat. Men till skillnad från Denning - Sacco vänder sig båda deltagarna till det betrodda centret [2] .
Alice skickar ett meddelande till Trent och ber om Bobs publika nyckel
Trent skickar Bobs publika nyckel och signerar den med sin privata nyckel.
Alice kontrollerar data med hjälp av Trents publika nyckel som hon känner till i förväg, varefter hon genererar en sessionsnyckel , ett sessionsnyckelpar och skickar en uppsättning meddelanden till Bob, inklusive en tidsstämpel och nyckellivslängd , krypterar några av dem, signerar några:
Bob skickar en begäran till Trent om Alices publika nyckel
Trent skickar Alices publika nyckel och signerar den med sin privata nyckel.
Med hjälp av data från Alice och Trents meddelanden kontrollerar Bob Alices signaturer, extraherar den offentliga temporära nyckeln , extraherar sessionsnyckeln (kontrollerar också signaturen med ), och dekrypterar så att han använder det aktuella meddelandet och inte en repris.
Vid behov kan protokollet fortsättas, vilket ger ömsesidig identifiering av parterna:
Alice dekrypterar tidsstämpeln och ser till att hon har fått det aktuella meddelandet [3] .
Beskrivningen av protokollet följer APTC-principen, som eliminerar skillnader i övergångssystemstrukturer, händelsestruktur, etc., och tar hänsyn till deras beteendemässiga motsvarigheter. Han menar att det finns två typer av orsakssamband: kronologisk ordning, modellerad av sekventiell sammansättning, och kausal ordning mellan olika parallella grenar, modellerad av kommunikationsfusion. Han menar också att det finns två typer av konfliktrelationer: strukturella konflikter, modellerade av en alternativ position, och konflikter i olika parallella grenar som måste elimineras. Baserat på en konservativ förlängning har IPTC fyra moduler: BATC (Basic Algebra for True Concurrency), APTC (Algebra for Parallelism in True Concurrency), rekursion och abstraktion. Läs mer... [4]
Protokollet använder livstiden (𝐿) för sessionsnyckeln 𝐾𝑃, men ingen tidsstämpel ingår i meddelandet. Som ett resultat av detta förblir protokollet sårbart för en attack med känd sessionsnyckel (KN). Anta att Mallory kunde spela in hela kommunikationssessionen mellan Alice och Bob och sedan kunde komma åt sessionsnyckeln 𝐾. Detta gör att Mallory kan autentisera sig som Alice till Bob.
(1) 𝑀𝑒𝑙𝑙𝑜𝑟𝑦 (𝐴𝑙𝑖𝑐𝑒) → {𝐸𝐾 (𝑇𝑀), 𝑆𝐴 (𝐿, 𝐴, 𝐾𝑃), 𝑆𝐾𝑃 (𝐸𝐵 (𝐾))} 𝐵𝑜𝑏 𝐵𝑜𝑏 𝐵𝑜𝑏 𝐵𝑜𝑏
(2) 𝐵𝑜𝑏 → {𝐴} → 𝑇𝑟𝑒𝑛𝑡
(3) 𝑇𝑟𝑒𝑛𝑡 → {𝑆𝑇 (𝐴, 𝐾𝐴)} → 𝐵𝑜𝑏
(4) 𝐵𝑜𝑏 → {𝐸𝐾 {𝑇𝐵}} → 𝑀𝑒𝑙𝑙𝑜𝑟𝑦 (𝐴𝑙𝑖𝑐𝑒)
Vid det första passet ändrar Mallory bara det första meddelandet som innehåller tidsstämpeln 𝐸𝐾 (𝑇𝑀). Allt annat kopierar Mallory från den inspelade kommunikationssessionen. Om Bob inte skriver ner nycklarna han använder kommer han inte att märka förändringen. Den enklaste åtgärden för denna sårbarhet är att inkludera en tidsstämpel i meddelandet 𝑆𝐴 (𝑇𝐴, 𝐿, 𝐴, 𝐾𝑃).
Eftersom sessionsnyckeln 𝐾 i protokollet är krypterad av Bobs "master"-nyckel 𝐾𝐵, kommer kompromissen av den senare att leda till att alla tidigare använda sessionsnycklar kompromissar. Det vill säga, protokollet ger inte perfekt framåtsekretess (mål G9). Varken Trent eller Bob är involverade i att skapa nya sessionsnycklar. Därför kan Alice tvinga Bob att använda den gamla sessionsnyckeln, som i Wide-Mouth Frog och Yahalom [2] protokollen .
Autentisering och nyckelutbytesprotokoll | |
---|---|
Med symmetriska algoritmer | |
Med symmetriska och asymmetriska algoritmer | |
Protokoll och tjänster som används på Internet |