Академический Документы
Профессиональный Документы
Культура Документы
O scurt
a prezentare a sistemelor de plat
a electronice
off-line
Prima si cea mai simpla schema a fost definita de Chaum, Fiat si Naor. Prezentam, pe scurt,
ideea acestui protocol.
Fie n, p, q, a, b parametrii sistemului RSA si f o functie de dispersie fara coliziuni tari. O
moneda electronica de o valoare fixata d este reprezentata sub forma
(x, (f (x))b (mod n)
cu x ales aleator. Pentru fiecare valoare a unei monezi trebuie folosit un alt exponent de criptare
b si un exponent de decriptare corespunzator a. Identitatea utilizatorului trebuie inclusa n
moneda electronica asfel ncat daca moneda este folosita corect, identitatea nu poate fi dedusa;
alfel identitatea poate fi calculata.
Pentru aceasta este folosita o tehnica numita Cut-and-Choose: cand U doreste sa extraga
o moneda din banca, construieste un mesaj format din k perechi de numere (k este numarul de
candidati). Aceste numere au proprietatea ca dintr-o pereche se poate calcula identitatea lui U
(de exemplu printr-un simplu XOR ntre cele doua numere ale perechii), iar avand la dispozitie
un singur numar din fiecare pereche nu se poate deduce nici o informatie. U concateneaza cei
k candidati si obtine o semnatura blind de la B asupra mesajului trimis cu protocolul de
semnatura blind RSA.
In momentul n care U doreste sa foloseasca moneda la magazinul S, primeste o provocare
de la S de k biti aleatori. Pentru fiecare bit, U raspunde cu primul numar al perechii corespunzatoare numarului bitului (daca bitul este 0) sau cu al doilea numar daca bitul este 1.
(De exemplu, daca provocarea este 0110 . . . , U raspunde cu primul numar din prima pereche, al
doilea numar din a doua pereche, al doilea numar din a treia pereche etc). Cand S depoziteaza
moneda la banca, i trimite lui B provocarea mpreuna cu numerele trimise de U. B pastreaza
ntr-o baza de date moneda mpreuna cu provocarea si raspunsul lui U.
Daca U ncearca refolosirea monezii, primeste o noua provocare aleatoare de k biti, care
1
difera de prima n cel putin un bit cu o probabilitate destul de mare (1 k ). Astfel pentru
2
bitul care difera, U va revela ambele numere ale perechii corespunzatoare. Acum banca poate
calcula din cele doua numere identitatea lui U.
83
84
BRANDS
PRELEGEREA 7. SISTEMUL ELECTRONIC DE PLATA
Desi este conceptual simpla, aceasta schema nu este eficienta, deoarece fiecare moneda trebuie nsotita de 2k numere mari. Modelul Chaum-Fiat-Naor satisface primele patru proprietati
definite n prelegerea anterioara.
Okamoto si Ohta au descris un sistem universal de plata care satisface toate cele sase
proprietati, dar din pacate este ineficient din punct de vedere al dimensiunii mesajelor
transmise. In schimb ei au avut ideea de a introduce proprietatea de divizibilitate a monezilor
electronice. Pentru fiecare moneda de valoare d se asociaza un arbore binar etichetat astfel:
nodul radacina (de nivel 0) are valoarea d, cele doua noduri de pe nivelul 1 au etichetele d/2 si
d
n general nodurile de pe nivelul k sunt etichetate cu k . Daca d = 2s , arborele are s + 1
2
nivele, cu frunzele avand valoarea minima 1.
Orice suma mai mica decat d poate fi folosita dupa urmatoarele reguli:
1. Odata ce un nod este folosit, toti succesorii si predecesorii sai nu vor putea fi folositi la o
plata viitoare;
2. Nici un nod nu poate fi folosit mai mult decat o data.
Aceste doua reguli asigura folosirea unui singur nod pentru orice drum de la radacina la o
frunza, ceea ce face imposibila folosirea unei valori mai mari decat valoarea radacinii d.
Exemplul 7.1 Sa presupunem ca U are o moned
a n valoare de 4 unitati. Se construieste
arborele binar:
00
0
4a
aa
aa
2
2 01
,
,
000
l
1
001
010
Z
Z
011
7.2. INIT
IALIZAREA SISTEMULUI BRANDS
85
Protocoalele discutate pana acum pot sa detecteze identitatea utilizatorilor necinstiti, fara
nsa a putea preveni utilizarea unei monezi de doua ori. Singurul mod prin care s-ar putea
realiza acest lucru este prin ncorporarea unei componente hardware (chip sau smart card) n
calculatorul utilizatorului, cu rolul de observator al tuturor platilor. In plus, nici un protocol
de plata al utilizatorlui nu poate fi efectuat fara o informatie secreta detinuta de observator.
Astfel, observatorul autorizeaza si participa activ la toate tranzactiile.
Totusi, se poate ntampla ca utilizatorul sa reuseasca printr-o modalitate oarecare sa afle
informatia secreta a observatorului. In acest caz sistemul trebuie sa asigure detectarea utilizatorului care a comis frauda, la fel ca n primele protocoale discutate.
Cele mai cunoscute si utilizate protocoale de plata off-line cu monezi electronice apartin lui
Stefan Brands. Primul sistem real de tip off-line, numit DigiCash, se bazeaza n totalitate
pe aceste protocoale.
7.2
Se cauta doua numere prime mari p si q cu proprietatea q|p 1 (p si q sunt alese la fel ca n
schema de identificare Schnorr) si H o functie de dispersie fara coliziuni tari. Se genereaza un
subgrup Gq de ordin q al lui Zp (aici se vor efectua toate calculele din sistem).
Initializarea sistemului consta n generarea de catre banca a urmatoarelor cinci numere
distincte:
1. g Gq , x Zq ; se calculeaza h = g x (mod q). Tuplul generator (g, h) Gq Gq
constituie cheia publica a bancii, iar x Zq cheia secreta.
2. Un tuplu generator (g1 , g2 ) cu g1 , g2 Gq .
3. Un generator d Gq .
Vom presupune pentru nceput ca exista n sistem monezi de o singura valoare, apoi vom
arata cum se pot introduce monezi de valori diferite.
Securitatea acestei scheme consta n alegerea numerelor g, h, g1 , g2 , d astfel ncat nici un
utilizator sa nu poata exprima oricare din aceste numere ca o combinatie de puteri ale celorlalte.
Acest lucru este din punct de vedere al complexitatii la fel de dificil ca si gasirea unei reprezentari
netriviale a lui 1 n raport cu (g, h, g1 , g2 , d) o problema NP-completa pentru p si q convenabil
alese (prelegerea precedenta).
Cand utilizatorul U si deschide un cont n banca, el genereaza aleator numerele u1 , u2 Zq
si calculeaza I = g1u1 g2u2 (mod p). (u1 , u2 ) va constitui cheia secreta a lui U, iar I Gq va
fi pseudonimul folosit de B pentru identitatea reala a lui U. B stocheaza ntr-o baza de date
identitatea reala a lui U, numarul contului sau si I. Este important ca U sa cunoasca o singura
reprezentare a lui I n raport cu (g1 , g2 ). Daca U utilizeaza o moneda de doua ori, B poate sa
determine (u1 , u2 ).
O moneda electronica este reprezentata sub forma (m, sigK (m)) cu anumite restrictii asupra
lui m, dupa cum vom vedea in continuare.
BRANDS
PRELEGEREA 7. SISTEMUL ELECTRONIC DE PLATA
86
7.3
7.3.1
7.3.2
87
w0 = uw + v (mod q),
0
a0 = au g v = g w (mod p),
hc a0 = g r (mod p)
0
0
(z 0 )c b0 = (m0 )r (mod p)
0
0
Dar r0 = ur+v = u(w+cx)+v (mod p) = g r = g u(w+cx)+v = g ucx g v+uw = (g x )uc g w =
0
0
0
0
0
hc a0 (mod p) si (m0 )r = (m0 )ucx (m0 )uw+v = (m0 )xc (m0 )w = (z 0 )c b0 (mod p),
deci sigK (m0 ) = (z 0 , a0 , b0 , r0 ).
2
0
Protocolul este de tip blind deoarece B nu cunoaste m , mesajul pentru care U a obtinut
o semnatura.
Pentru K = (p, q, g, h, x, w),
verK (m , (z , a , b , r )) = T
Propozitia 7.2
1. Daca U urmeaz
a protocolul pas cu pas, atunci perechea (m0 , sigK (m0 )) nu poate fi legat
a
de nici o executie specific
a a protocolului.
2. Chiar daca B afla m0 , reprezentarea (s, t) a lui m0 n raport cu (m, g) cunoscuta de U i
este ascunsa lui B n setul tuturor reprezent
arilor lui m0 .
Demonstratie:
La finalul protocolului, B este n posesia urmatoarelor informatii: w, z, a, b, c. Aratam ca
exista q alegeri posibile pentru (s, u, v) care produc n final aceeasi pereche (m0 , sigK (m0 )).
Fie s Zq fixat (sunt posibile q 1 alegeri pentru s) si m0 , sigK (m0 ) = (z 0 , a0 , b0 , r0 ) fixate.
Sa analizam n cate moduri putem alege u, v.
Se calculeaza n mod unic c0 = H(m0 ||z 0 ||a0 ||b0 ) (mod q). Deci uc = c0 (mod q) = u =
c0 c1 (mod q), deci si u este unic determinat.
BRANDS
PRELEGEREA 7. SISTEMUL ELECTRONIC DE PLATA
88
7.3.3
In faza de initializare a sistemului, U trebuie sa genereze un tuplu (u1 , u2 ) pentru a-si deschide
un cont n banca si a calcula pseudonimul sau I = g1u1 g2u2 (mod p). Banca trebuie sa se asigure
ca U nu cunoaste doua reprezentari ale lui I n raport cu (g1 , g2 ).
Prin urmatorul protocol U si B genereaza mpreuna un numar aleator h Zq si o reprezentare a acestuia n raport cu tuplul generator (g1 , . . . , gk ).
k+1
Y
i=1
k
k
Y
Y
yi
xi
i=1
7.4
gi = h0 gk+1k+1
gi
i=1
k
Y
yi
gi = h (mod p).
i=1
Sistemul de baz
a Brands
In aceasta sectiune sunt descrise cele trei protocoale care formeaza sistemul de baza: protocolul
de extragere a monezilor electronice, protocolul de plata si protocolul de depozit. Se presupune
ca n sistem exista monezi de o unica valoare. Ulterior vom arata cum se pot introduce n
sistem monezi de diferite valori.
7.4.1
Daca utilizatorul U avand identitatea I = g1u1 g2u2 (mod p) doreste sa extraga o moneda din
contul sau, mai ntai trebuie sa convinga banca ca ntr-adevar el este posesorul contului de unde
se face extragerea. Pentru aceasta U si B vor executa protocolul din prelegerea anterioara, prin
care U i demonstreaza lui B cunoasterea unei reprezentari a lui I n raport cu (g1 , g2 ), fara a
o revela.
BRANDS
7.4. SISTEMUL DE BAZA
89
b0 =
BRANDS
PRELEGEREA 7. SISTEMUL ELECTRONIC DE PLATA
90
7.4.2
Protocolul de plat
a
sigK (A, B) = (z 0 , a0 , b0 , r0 ).
(Daca n sistem sunt monezi de valori diferite U trebuie sa trimita si valoarea monezii.)
2. S se asigura ca AB 6= 1.
Apoi el verifica semnatura bancii:
(
verK (m , sigK (m )) = T
g r = hc a0 (mod p)
cu c0 = H(AB||z 0 ||a0 ||b0 ||A).
0
0
(m0 )r = (z 0 )c b0 (mod p)
Daca relatiile sunt ndeplinite, S este convins ca moneda a fost emisa de banca si
trimite lui U o provocare c Zq \ {1}.
3. U raspunde cu
r1 = x1 + cx2 ,
r2 = y1 + cy2 ,
r3 = z1 + cz2
BRANDS
7.4. SISTEMUL DE BAZA
S accepta
este cinstit =
91
Deci, daca U nu cunoaste o reprezentare a lui m0 n raport cu (g1 , g2 , d), nu are nici o
sansa sa-l faca pe S sa accepte la pasul 4.
3. La sfarsitul protocolului, S se afla n posesia urmatoarelor informatii:
A, B, z, a, b, r, c, r1 , r2 , r3 .
Consideram sistemul (ntai cu necunoscutele u1 , u2 , s, r1 , r2 , r3 , iar a doua oara cu necunoscutele x(1 , x2 , y1 , y2 , z1 , z2 ):
x 1 + x 2 = u1 s
y1 + y2 = u2 s
z1 + z2 = s
x1 + cx2 = r1
y1 + cy2 = r2
z1 + cz2 = r3
(toate ecuatiile sunt scrise modulo q).
Din acest sistem se deduce ca problema determinarii lui (u1 , u2 ) este echivalenta cu problema determinarii numerelor: x1 , x2 , y1 , y2 , z1 , z2 .
Informatiile pe care S le are despre x1 , x2 , y1 , y2 , z1 , z2 sunt:
x1 + cx2 = r1
y1 + cy2 = r2
z1 + cz2 = r3
(mod q)
(1)
(mod q)
(2)
(mod q) (3)
(1) x1 = r1 cx2 (mod q), (2) y1 = r2 cy2 (mod q) , (3) z1 = r3 cz2 (mod q)
Inlocuind x1 , y1 , z1 n (4) si folosind (6) rezulta:
A = g1r1 cx2 g2r2 cy2 dr3 cz2 (mod p) g1r1 g2r2 dr3 = A(g1x2 g2y2 dz2 )c (mod p)
1
g1x2 g2y2 dz2 = (A1 g1r1 g2r2 dr3 ) c = B (mod p). (7)
Relatia (7) este echivalenta cu (5), ceea ce demonstreaza ca din relatiile (1),(2) si (3) nu
se obtine nici o informatie n plus, deci (4) si (5) sunt de fapt singurele informatii esentiale
pe care S le are despre x1 , x2 , y1 , y2 , z1 , z2 .
De aici rezulta ca determinarea lui (x1 , y1 , z1 ) este echivalenta cu determinarea unei
reprezentari a lui A n raport cu (g1 , g2 , d), iar determinarea lui (x2 , y2 , z2 ) este echivalenta
cu determinarea unei reprezentari a lui B.
Daca dispune de o putere de calcul nelimitata, S poate determina o reprezentare a lui A
si o reprezentare a lui B n raport cu (g1 , g2 , d). Probabilitatea ca aceste reprezentari sa
1
1 1
fie egale cu cele cunoscute de U este 2 2 = 4 din Propozitia ?.2 (prelegerea anterioara).
q q
q
Deci probabilitatea ca S sa afle identitatea lui U dupa executarea protocolului este
7.4.3
1
.
q4
Protocolul de depozit
Dupa un anumit interval de timp, toate magazinele depoziteaza la banca monezile electronice
primite de la clienti. Protocolul executat de un magazin S cu banca pentru trimiterea fiecarei
monezi este urmatorul:
92
BRANDS
PRELEGEREA 7. SISTEMUL ELECTRONIC DE PLATA
7.5. CORECTITUDINEA SISTEMULUI DE BAZA
7.5
93
94
BRANDS
PRELEGEREA 7. SISTEMUL ELECTRONIC DE PLATA