Criptare bazată pe atribute

Criptarea bazată pe atribute ( Criptare pe bază de atribute în limba rusă , criptare ABE ) este un tip de algoritmi de criptare a cheii publice în care cheia privată utilizată de utilizator pentru a decripta datele depinde de anumite atribute ale utilizatorului (de exemplu, poziția, locul de reședință, tipul). a înregistrărilor de cont). Ideea ABE a fost publicată pentru prima dată de Amit Sahai și Brent Waters [1] și a fost dezvoltată în continuare de Vipul Goyal, Omkant Pandey, Amit Sahai și Brent Waters [2] ..

Schema generală de criptare bazată pe atribute

Schema a fost propusă de Sahai și Waters în 2005. Acesta implică proprietarul datelor (transmiterea datelor), utilizatorul (primirea datelor) și o terță parte (autoritatea de încredere) al cărei rol este de a genera chei pentru criptarea și decriptarea datelor de către proprietarii și utilizatorii de date.

Cheile (în special, cheia publică și cheia universală) sunt generate din setul complet de atribute. Dacă un utilizator cu un nou atribut se alătură sistemului, atributul va fi adăugat la set și cheile publice și universale vor fi regenerate.

Proprietarul datelor criptează datele folosind cheia publică și un set de atribute.

Utilizatorul poate decripta datele folosind propria sa cheie privată, pe care o primește de la un centru de încredere. Se verifică o corespondență între atributele care compun cheia privată a utilizatorului și atributele datelor criptate. Dacă numărul de atribute care se potrivesc depășește un prag stabilit , cheia privată a utilizatorului va putea decripta datele. (Să fie, de exemplu, atributele datelor criptate {„Departamentul de Inginerie Radio”, „Profesor”, „Student”}, . Pentru ca utilizatorul să poată decripta datele și să aibă acces la ele, setul de atributele care compun cheia sa privată trebuie să conțină cel puțin două din cele trei atribute de date criptate).

Structuri de acces

Să fie  un set de atribute. O multime se numeste monotona daca:

.

Structura de acces (structură de acces monotonă) este un set (mult monoton) de subseturi nevide , adică . Seturi de atribute care sunt incluse în  - seturi autorizate, utilizatorilor cu acestea li se permite accesul la date; seturile care nu aparțin  sunt seturi de atribute neautorizate.

Schema de criptare bazată pe atribute în forma sa originală este limitată la structurile de acces monotone. În 2007, a fost propusă o generalizare [3] a schemei pentru cazul structurilor nemonotone, dar nu este eficientă [4] .

Structura de acces poate fi reprezentată ca un arbore , în care nodurile frunză sunt atribute, iar nodurile rămase sunt caracterizate prin nodurile lor fii și valorile pragului. Să fie, de exemplu, un nod să aibă vârfuri copil; valoarea sa de prag , . Dacă valoarea de prag a acestui nod este , atunci este un element logic „SAU” , deoarece prezența unuia dintre atributele copil în utilizator este suficientă pentru a atinge valoarea de prag. Dacă valoarea pragului este , atunci în mod evident implementează elementul „ȘI”.

Descrierea algoritmului

Fie , să fie grupuri  biliniare de ordin (  este simplu),  să fie generatorul grupului ;

 este o mapare biliniară ;

 — valoarea pragului.

Schema generală constă din patru etape, pentru fiecare dintre ele există un algoritm corespunzător.

Generare cheie publică și cheie universală

Centrul de încredere alege aleatoriu dintr -un câmp finit și calculează cheia publică , unde  este generatorul unui grup de ordine biliniar (  este un prim). Acest pas generează, de asemenea, o cheie universală .

Generarea de chei private

Centrul de încredere generează o cheie privată pentru fiecare utilizator ;  — set de atribute utilizator. Un polinom de grad este ales la întâmplare astfel încât . Cheia privată a utilizatorului .

Criptare

Proprietarul datelor criptează mesajul folosind un set de atribute și un număr ales aleatoriu :

Decriptare

Dacă , din atributele sunt selectate pentru a calcula valorile , .

mesaj original .

Cheile private din această schemă sunt generate conform principiului partajării secrete: părți din secretul y sunt incluse în componentele cheii private a utilizatorului; cheia privată corespunde unui polinom aleatoriu . Ca urmare a combinării mai multor chei private, o nouă cheie privată nu poate fi obținută, ceea ce previne posibilitatea unui atac de coluziune.

Criptare bazată pe atribute de politică cheie (criptare ABE cu o regulă de acces la cheie privată)

În 2006, Goyal [2] a propus o schemă de criptare ABE cu o regulă de acces bazată pe o cheie privată (Key-policy Attribute-based Encryption). În ea, datele criptate sunt descrise de un set de atribute, iar regula de acces la date este conținută în cheia privată a utilizatorului. Dacă setul de atribute de date se potrivește cu structura de acces din cheia privată a utilizatorului, datele pot fi decriptate. De exemplu, datele sunt criptate cu atributele {"Department of Radio Engineering" "Student"}, iar cheia privată a utilizatorului corespunde structurii de acces {"Department of Radio Engineering" ("Profesor" "Student")}. Atributele datelor criptate se potrivesc cu structura de acces a cheii private a utilizatorului, astfel încât utilizatorul va putea decripta datele.

Algoritmul de criptare diferă de versiunea originală a ABE în etapele de generare a cheilor private și, în consecință, de decriptare: cheia privată a utilizatorului este generată în funcție de structura de acces necesară. Când se separă secretul pentru vârfuri de la rădăcină la fiecare vârf final x, se alege un polinom astfel încât , unde  este nodul părinte față de , și  este numărul vârfurilor dintre vârfurile aparținând aceluiași părinte. Astfel, corespunde cheii universale , care este distribuită între frunzele arborelui corespunzătoare componentelor cheii private.

Ciphertext-policy Criptare bazată pe atribute (criptare ABE cu o regulă de acces bazată pe text cifrat)

În 2007, Bethencourt și colaboratorii au propus în lucrarea lor [5] o schemă de criptare ABE cu o regulă de acces bazată pe text cifrat. Controlul accesului se realizează într-o manieră similară cu CK-ABE, cu toate acestea, regula de acces la date nu este conținută în cheia privată a utilizatorului, ci în datele criptate în sine (text cifrat); cheia privată a utilizatorului corespunde în același timp unui set de atribute. Dacă atributele conținute în cheia privată a utilizatorului se potrivesc cu structura de acces al textului cifrat, utilizatorul poate decripta datele. Dacă, de exemplu, structura de acces conținută în date este {"Department of Radio Engineering" ("Profesor" "Student")}, iar setul de atribute din cheia privată a utilizatorului este {"Department of Radio Engineering" "Teacher" "}, utilizatorul va putea accesa datele .

Schema ABE cu structuri de acces nemonotone

Inițial, schemele de criptare bazate pe atribute au impus restricții asupra structurilor de acces, și anume, a fost implicată monotonitatea acestor structuri. Arborele corespunzător structurii putea conține elementele logice „ȘI”, „SAU”, dar nu și elementul logic „NU”, ceea ce a impus unele restricții asupra posibilelor reguli de acces.

De exemplu, dacă un profesor din cadrul Departamentului de Inginerie Radio dorește să partajeze anumite date studenților, dar nu absolvenților, structura de acces ar trebui să arate ca {"Department of Radio Engineering" "Student" "NOT_Graduate"}.

O modalitate de extindere a algoritmului la cazul structurilor de acces nemonotone a fost propusă în 2007 de Ostrovsky et al. [3] . Negația sa este adăugată spațiului de atribute împreună cu fiecare element; astfel, numărul total de atribute posibile este dublat față de schema clasică. În caz contrar, principiul algoritmului rămâne același.

Această schemă are dezavantaje semnificative. Dacă structura de acces ar trebui să indice în mod explicit negarea tuturor atributelor pentru care nu ar trebui să deschidă accesul la date, atunci, ca rezultat, textul cifrat poate conține un număr mare de negații ale atributelor care nu au importanță practică pentru decriptarea date; ca urmare, dimensiunea textului cifrat este mult crescută. În plus, după criptarea datelor, pot apărea noi atribute în sistem, iar criptarea va trebui reluată.

Vezi și

Note

  1. Amit Sahai și Brent Waters, Fuzzy Identity-Based Encryption Cryptology ePrint Archive, Raport 2004/086 Arhivat la 15 octombrie 2013 la Wayback Machine (2004)
  2. 1 2 Vipul Goyal, Omkant Pandey, Amit Sahai și Brent Waters, Criptare bazată pe atribute pentru controlul de acces fin al datelor criptate ACM CCS (2006) Arhivat la 5 decembrie 2014 la Wayback Machine
  3. 1 2 R. Ostrovsky, A. Sahai, and B. Waters, \Attribute-based encryption with non-monotonic access structures,” în Proceedings of the 14th ACM Conference on Computer and communications security, pp. 195-203, 2007.
  4. Cheng-Chi Lee, Pei-Shan Chung și Min-Shiang Hwang, A Survey on Attribute-based Encryption Schemes of Access Control in Cloud Environments, International Journal of Network Security, Vol.15, No.4, PP.231- 240 iulie 2013
  5. J. Bethencourt, A. Sahai și B. Waters, Ciphertext-policy attribute-based encryption, în Proceedings of IEEE Symposium on Security and Privacy, pp. 321V334, 2007