Attributbaserad kryptering ( Rysk Attributbaserad kryptering, ABE-kryptering ) är en typ av krypteringsalgoritmer för offentlig nyckel där den privata nyckel som används av användaren för att dekryptera data beror på vissa användarattribut (till exempel position, bostadsort, typ av kontouppgifter). Idén om ABE publicerades först av Amit Sahai och Brent Waters [1] och vidareutvecklades av Vipul Goyal, Omkant Pandey, Amit Sahai och Brent Waters [2] ..
Systemet föreslogs av Sahai och Waters 2005. Det involverar ägaren av datan (sänder data), användaren (tar emot data) och en tredje part (betrodd myndighet) vars roll är att generera nycklar för att kryptera och dekryptera data av dataägare och användare.
Nycklarna (i synnerhet den publika nyckeln och den universella nyckeln) genereras från den etablerade kompletta uppsättningen av attribut. Om en användare med ett nytt attribut ansluter sig till systemet kommer attributet att läggas till i uppsättningen och de publika och universella nycklarna kommer att återskapas.
Dataägaren krypterar data med den publika nyckeln och en uppsättning attribut.
Användaren kan dekryptera data med sin egen privata nyckel, som han får från ett betrodd center. En överensstämmelse kontrolleras mellan attributen som utgör användarens privata nyckel och attributen för den krypterade datan. Om antalet matchande attribut överstiger ett inställt tröskelvärde kommer användarens privata nyckel att kunna dekryptera data. (Låt till exempel attributen för krypterad data {"Institutionen för radioteknik", "Lärare", "Student"}, . För att användaren ska kunna dekryptera data och få tillgång till dem, måste uppsättningen av attribut som utgör hans privata nyckel måste innehålla minst två av de tre krypterade dataattributen).
Låt vara en uppsättning attribut. En uppsättning kallas monoton om:
.
Åtkomststruktur (monotone åtkomststruktur) är en uppsättning (monotone uppsättning) av icke-tomma delmängder , dvs. Attributuppsättningar som ingår i - auktoriserade uppsättningar, användare med dem tillåts åtkomst till data; uppsättningar som inte hör till är obehöriga attributuppsättningar.
Det attributbaserade krypteringsschemat i sin ursprungliga form är begränsat till monotona åtkomststrukturer. 2007 föreslogs en generalisering [3] av systemet för icke-monotona strukturer, men det är inte effektivt [4] .
Åtkomststrukturen kan representeras som ett träd , där lövnoderna är attribut, och de återstående noderna kännetecknas av sina underordnade hörn och tröskelvärden. Låt till exempel en nod ha underordnade hörn; dess tröskelvärde , . Om tröskelvärdet för denna nod är , då är det ett logiskt element "ELLER" , eftersom närvaron av ett av underordnade attribut i användaren är tillräckligt för att nå tröskelvärdet. Om tröskelvärdet är implementerar det uppenbarligen "AND"-elementet.
Låt , vara bilinjära grupper av ordning ( är enkel), vara generatorn av gruppen ;
är en bilinjär kartläggning ;
- tröskelvärde.
Det allmänna schemat består av fyra steg, för var och en av dem finns en motsvarande algoritm.
Det betrodda centret väljer slumpmässigt från ett ändligt fält och beräknar den publika nyckeln , där är generatorn för någon bilinjär ordningsgrupp ( är ett primtal). Detta steg genererar också en universell nyckel .
Det betrodda centret genererar en privat nyckel för varje användare ; — uppsättning användarattribut. Ett polynom av grad väljs slumpmässigt så att . Användarens privata nyckel .
Dataägaren krypterar meddelandet med hjälp av en uppsättning attribut och ett slumpmässigt valt nummer :
Om , från attribut väljs för att beräkna värden , .
originalmeddelande .
Privata nycklar i detta schema genereras enligt principen om hemlig delning: delar av hemligheten y ingår i komponenterna i användarens privata nyckel; den privata nyckeln motsvarar ett slumpmässigt polynom . Som ett resultat av att kombinera flera privata nycklar kan en ny privat nyckel inte erhållas, vilket förhindrar möjligheten till en maskopisattack.
2006 föreslog Goyal [2] ett ABE-krypteringsschema med en åtkomstregel baserad på en privat nyckel (Key-policy Attribute-based Encryption). I den beskrivs krypterad data av en uppsättning attribut, och dataåtkomstregeln finns i användarens privata nyckel. Om dataattributuppsättningen matchar åtkomststrukturen i användarens privata nyckel, kan data dekrypteras. Till exempel är data krypterad med attributen {"Institutionen för radioteknik" "Student"}, och användarens privata nyckel motsvarar åtkomststrukturen {"Institutionen för radioteknik" ("Lärare" "Student")}. Attributen för den krypterade datan matchar åtkomststrukturen för användarens privata nyckel, så användaren kommer att kunna dekryptera datan.
Krypteringsalgoritmen skiljer sig från den ursprungliga versionen av ABE i stadierna för generering av privata nycklar och följaktligen dekryptering: användarens privata nyckel genereras enligt den nödvändiga åtkomststrukturen. När man separerar hemligheten för hörn från roten till varje slutlig vertex x, väljs ett polynom så att , där är föräldernoden med avseende på , och är numret på vertexen bland de hörn som tillhör samma förälder. Motsvarar alltså den universella nyckeln , som är fördelad bland trädens blad som motsvarar komponenterna i den privata nyckeln.
År 2007 föreslog Bethencourt et al i sin artikel [5] ett ABE-krypteringsschema med en chiffertextbaserad åtkomstregel. Åtkomstkontroll utförs på ett sätt som liknar CK-ABE, dock finns dataåtkomstregeln inte i användarens privata nyckel, utan i den krypterade datan själv (chiffertext); användarens privata nyckel motsvarar samtidigt en uppsättning attribut. Om attributen som finns i användarens privata nyckel matchar chiffertextåtkomststrukturen kan användaren dekryptera datan. Om till exempel åtkomststrukturen som finns i data är {"Department of Radio Engineering" ("Lärare" "Student")} och uppsättningen attribut i användarens privata nyckel är {"Department of Radio Engineering" "Lärare "}, kommer användaren att kunna komma åt data .
Ursprungligen införde attributbaserade krypteringsscheman begränsningar för åtkomststrukturer, nämligen monotoniteten hos dessa strukturer antyddes. Trädet som motsvarar strukturen skulle kunna innehålla de logiska elementen "AND", "ELLER", men inte det logiska elementet "NOT", vilket medförde vissa begränsningar för de möjliga åtkomstreglerna.
Till exempel, om en lärare vid institutionen för radioteknik vill dela vissa data med studenter men inte akademiker, bör åtkomststrukturen se ut som {"Institutionen för radioteknik" "Student" "NOT_Graduate"}.
Ett sätt att utvidga algoritmen till fallet med icke-monotona åtkomststrukturer föreslogs 2007 av Ostrovsky et al. [3] . Dess negation läggs till attribututrymmet tillsammans med varje element; sålunda fördubblas det totala antalet möjliga attribut jämfört med det klassiska schemat. Annars förblir principen för algoritmen densamma.
Detta system har betydande nackdelar. Om åtkomststrukturen är tänkt att uttryckligen indikera negationen av alla attribut för vilka den inte är tänkt att öppna åtkomst till data, kan som ett resultat chiffertexten innehålla ett stort antal negationer av attribut som inte är av praktisk betydelse för att dekryptera data; som ett resultat ökar storleken på chiffertexten avsevärt. Dessutom, efter datakryptering, kan nya attribut dyka upp i systemet, och kryptering måste göras igen.
Symmetriska kryptosystem | |
---|---|
Streama chiffer | |
Feistel nätverk | |
SP nätverk | |
Övrig |
Public key kryptosystem | |||||||||
---|---|---|---|---|---|---|---|---|---|
Algoritmer |
| ||||||||
Teori |
| ||||||||
Standarder |
| ||||||||
Ämnen |
|
Hash-funktioner | |
---|---|
generell mening | |
Kryptografisk | |
Nyckelgenereringsfunktioner | |
Kontrollnummer ( jämförelse ) | |
Hashes |
|