Tải bản đầy đủ (.pdf) (5 trang)

Các sơ đồ định danh mật và phương pháp chứng minh điện tử danh tính là gì ? phần 2

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (118.23 KB, 5 trang )

Vietebooks

Nguyn Hong Cng

Ví dụ 9.3
Giả sử ta cũng có các tham sè nh− trong vÝ dô 9.2: p = 88667, q =
1031, t= 10, α = 70322, a = 755 và v = 13136. Giả sử Olga nghiên cứu thấy
rằng:
851v1000 ≡ α454v19(mod p).
khi ®ã cã thĨ tÝnh:
a =(851 - 454)(1000 - 19)-1 mod 1031 = 755
và nh vậy sẽ khám phá ra số mũ mật của Alice.
Chúng ta đà chứng minh rằng, giao thức có tính đúng đắn và đầy đủ.
Song tính đúng đắn và đầy đủ cha đủ để bảo đảm rằng giao thức là an toàn.
Chẳng hạn, nếu Alice để lộ số mũ mật a của mình khi chứng minh danh tính
của cô với Olga thì giao thức vẫn còn đúng đắn và đầy đủ. Tuy nhiên nó sẽ
hoàn toàn không an toàn vì sau đó Olga có thể mạo danh Alice.
Điều này thúc đẩy động cơ xem xét thông tin mật đà cho ngời xác
minh - ng−êi còng tham gia trong giao thøc - biÕt (trong giao thức này, thông
mật là a). Hy vọng là không có thông tin nào về a có thể bị gia tăng bởi Olga
khi Alice chứng minh danh tính của mình cho cô ta, để sau đó Olga có thể
giả dạng nh− Alice.
Nãi chung, cã thĨ h×nh dung t×nh hng khi Alice chøng minh danh
tÝnh cđa m×nh víi Olga trong mét số tình huống khác nhau. Có lẽ Olga
không chọn các yêu cầu của cô (tức các giá trị r) theo kiểu ngẫu nhiên. Sau
vài lần thực hiện giao thức, Olga sẽ cố gắng xác định giá trị a để sau đó có
thể mạo danh Alice. Nếu Olga không thể xác định đợc chút thông tin nào
về a qua tham gia với số lần đa thức thực hiện giao thức và sau đó thực hiện
một lợng tính toán đa thức thì giao thức có thể đợc gọi là an toàn.
Hiện tại vẫn cha chứng minh đợc rằng giao thc Schnorr là an toàn,
song trong phần tiếp sau, ta sẽ đa ra một cải tiến về sơ đồ này (do Okmoto


đa ra) mà có thể chứng minh đợc nó là an toàn khi cho trớc giả thuyết
tính toán nào đó.
Sơ đồ Schnorr đà đợc thiết kế với tốc độ nhanh và hiệu quả theo quan
điểm cả về tính toán lẫn lợng thông tin cần thiết để trao đổi trong giao thức.
Nó cũng đợc thiết kế nhằm tối thiểu hoá lợng tính toán mà Alice phải thực
hiện. Đây là những đặc tính tốt vì trong thực tế, các tính toán của Alice sẽ
phải tính trên các thẻ thông minh có khả năng tính toán thấp trong khi các
tính toán của Bob lại trên các máy lớn.
Vì mục đích thảo luận, ta hÃy giả sử rằng, ID(Alice) là chuỗi 512 bit, v
cũng gồm 512 bit, còn s bằng 320 bit nến DSS đợc dùng nh sơ đồ chữ kí.
Kích thớc tổng cộng của dấu xác nhận C(Alice) (cần đợc lu trên thẻ của
Alice) là 1444 bit.
Xét các tính toán của Alice: Bớc 1 cần lấy mũ theo modulo, bớc 5
so sánh một phép công modulo và một phép nhân modulo. Đó là phép luỹ
Trang 6


Vietebooks

Nguyn Hong Cng

thừa modulo mạnh về tính toán song có thể tính toán gián tiếp nếu muốn.
Còn các tính toán trực tiếp đợc Alice thực hiện bình thờng.
Việc tính số bit cần thiết trong quá trình liên lạc để thực hiện giao thức
cũng khá đơn giản. Có thể mô tả thông tin đợc liên lạc ở dạng đồ hình nh
sau
C,
Alice
r
Bob

y
Alice ®−a cho Bob 1444 + 512 = 1956 bit th«ng tin trong b−íc 2: Bob
®−a cho Alice 40 bit trong bớc 4 và Alice đa cho Bob 160 bit trong bớc 6.
Nh vậy các yêu cầu về liên lạc rất mức độ.
9.3 Sơ đồ định danh của Okamoto.
Trong phần này ta sẽ đa ra một biến thể của sơ đồ Schnorr do
Okamoto đa ra. Sơ đồ cải tiến này Zp không giải đợc.
Để thiết lập sơ đồ, TA chọn p và q nh trong sơ đồ Schnorr. TA cũng
chọn hai phần tử 1 và 2 Z*p đều có bậc q. Giá trị c = log12 đợc giữ bí
mật kể cả đối với Alice. Ta sẽ giả thiết rằng, không ai có thể giải đợc (thậm
chí Alice và Olga liên minh với nhau) để tính ra giá trị c. Nh trớc đây, TA
chọn sơ đồ chữ kí số và hàm hash. Dấu xác nhận mà TA đà phát cho Alice
đợc xây dựng nh mô tả ở hình 9.4.
Dới đây là một ví dụ về sơ đồ Okamoto.
Ví dụ 9.4.
Cũng nh− vÝ dơ tr−íc, ta lÊy p = 88667, q = 1031, t = 10. Cho α1 =
58902 vµ cho 2 = 73611 (cả 1 lẫn 2 đều có bËc q trong Z*p ). Gi¶ sư
a1=846, a2 = 515, khi đó v = 13078.
Giả sử Alice chọn k1 = 899, k2 = 16, khi ®ã γ = 14573. NÕu Bob đa ra
yêu cầu r = 489 thì Alice sẽ trả lời y1 = 131 và y2 = 287. Bob sẽ xác minh
thấy:
58902131786112871378489 14574 (mod 88667).
Vì thế Bob chấp nhËn b»ng chøng cđa Alice vỊ danh tÝnh cđa c«.
Việc chứng minh giao thức là đầy đủ không khó (tøc lµ Bob sÏ chÊp
nhËn b»ng chøng vỊ danh tÝnh của cô). Sự khác nhau giữa sơ đồ của
Okamoto và Schnorr là ở chỗ, ta có thể chứng minh rằng sơ đồ Okamota an
toàn miễn là bài toán logarithm rời rác không giải đợc.
Hình 9.4: Đóng dấu xác nhận cho Alice.
1. TA thiết lập danh tính của Alice và phát chuỗi định danh ID(Alice).
2. Alice chọn bí mật hai số mũ ngẫu nhiên a1,a2 trong đó 0 a1,a2 q -1

Alice tÝnh:
Trang 7


Vietebooks

Nguyễn Hoàng Cương

v = α 1− a α 1− a mod p
và đa cho TA.
3. TA tạo chữ kí
s = sigTA(I,v).
và đa dấu xác nhận
C(Alice) = (ID(Alice),v,s)
cho Alice
Phép chứng minh về tính an toàn rất tinh tế. Đây là ý kiến chung: Nh
trớc đây, Alice tự định danh với Olga trong nhiều thời gian đa thức thông
qua thực hiện giao thức. Khi đó ta giả thiết rằng Olga có khả năng nghiên
cứu một số thông tin về các giá trị a1,a2. Nếu nh vậy thì Olga và Alice kết
hợp với nhau có khả năng tính đợc logarithm rời rạc c trong thời gian đa
thức. Điều này mâu thuẫn với giả định ở trên và chứng tỏ rằng Olga chắc
không thể nhận đợc chút thông tin nào về các số mũ của Alice thông qua
việc tham gia vào giao thức.
Phần đầu tiên của giao thức này tơng tự với chứng minh tính đầy đủ
trong sơ đồ Schnorr.
Định lý 9.2.
Giả sử Olga biết a giá trị mà nhờ nó cô có xác suất thành công
t-1
1/2 khi đánh giá Alice trong giao thức xác minh. Khi đó, Olga có thể tính
các giá trị b1,b2 trong thời gian đa thức sao cho

v ≡ α 1− b α 1− b mod p .
Chứng minh:
Với phần trên 2t yêu cầu có thể r, Olga có thể tính các giá trị y1, y2,
z1, z2, r vµ s víi r ≠ s vµ:
γ ≡ α 1 y α 2y vr ≡ α 1 z 2 v8(mod p).
Ta định nghĩa:
b1= (y1 - z1)(r - s)-t mod q

b1= (y2 - z2)(r - s)-t mod q
Khi ®ã dƠ dµng kiĨm tra thÊy r»ng:
1

2

1

2

1

2

1

2

v ≡ α 1− b1α 2− b2 (mod p )

nh− mong muèn.…


Trang 8


Vietebooks

Nguyn Hong Cng

Hình 9.5. Sơ đồ định danh Okamoto.
1. Alice chọn các số ngẫu nhiên k1, k2, 0 k1, k2 ≤ q -1 vµ tÝnh:
γ = α 1 k α 2k (mod p).
2. Alice gưi dÊu x¸c nhËn cđa cô C(Alice) = (ID(Alice),v,s) và cho Bob.
3. Bob xác minh chữ kí của TA bằng cách kiểm tra xem có thoả mÃn đồng
nhất thức:
verTA(ID(Alice),v,s) = true
4. Bob chọn số ngẫu nhiên r, 1 r 2t và đa nó cho Alice.
5. Alice tÝnh:
y1 = k1 + a1r mod q

y2 = k2 + a2r mod q
và đa y1,y2 cho Bob.
6. Bob x¸c minh xem:
γ ≡ α 1y α 2y vr(mod p) hay không.
Bây giờ ta tiếp tục chỉ ra cách Alice và Olga cùng tính giá trị c.
Định lý 9.3.
Giả sử Olga biết giá trị (mà với nó cô có xác suất giả danh Alice
thành công là 1/2t-1) trong giao thức xác minh. Khi đó, Alice và Olga cã
thÓ cïng nhau tÝnh logα α 2 trong thêi gian đa thức với xác suất 1-1/q.
Chứng minh
Theo định lý 9.2, Olga có khả năng xác định các giá trị b1 vµ b2 sao
cho

v ≡ α 1b α 2b (mod p )
Giả thiết rằng Alice để lộ các giá trị a1 và a2 cho Olga biết. Dĩ nhiên:
v 1a α 2a (mod p )
v× thÕ
α 1a −b ≡ α 2b − a (mod p)
gi¶ sư r»ng (a1,a2) ≠ (b1,b2), khi đó (a1-b1)-1 tồn tại và logarithm rời rạc:
c = logα α 2 = (a1-b1)(b2-a2)-1 mod q
cã thÓ tÝnh đợc trong thời gian đa thức.
Phần còn lại là xem xét xác suất để (a1,a2) = (b1,b2). Nếu xảy ra điều
này thì giá trị c không thể tính theo mô tả ở trên. Tuy nhiên, ta sẽ chỉ ra rằng
(a1,a2) = (b1,b2) sẽ chỉ xảy ra với xác suất rất bé 1/q, vì thế giao thức nhờ đó
Alice và Olga tính đợc c sẽ hầu nh chắc chắn thành công.
Định nghÜa:
A ={ (a1' , a2' ) ∈ Ζ p × Ζ q : α1− a α 2− a ≡ α1− a α 2− a (mod p) }
NghÜa lµ A gåm tất cả các cặp đợc sắp có thể và chúng có thể là các số mũ
mật của Alice. Xét thấy r»ng:
A ={a1- cθ, a2 + θ : θ∈ZP},
1

2

1

2

1

1

1


2

1

2

1

2

2

1

'
1

'
2

Trang 9

'
1

'
2



Vietebooks

Nguyễn Hồng Cương

Trong ®ã c = logα α 2 . Nh vậy A chứa q cặp đợc sắp.
Cặp đợc sắp (b1,b2) do Olga tÝnh ch¾c ch¾n ë trong tËp A. Ta sẽ chỉ ra
rằng, giá trị của cặp (b1,b2) độc lập với cặp (a1,a2) chứa các số mũ mật của
Alice. Vì (a1,a2) đợc Alice chọn đầu tiên một cách ngẫu nhiên nên xác suất
để (a1,a2) = (b1,b2) là 1/q.
Nh vậy, (b1,b2) là độc lập với (a1,a2). Cặp (a1,a2) của Alice là
một trong q cặp đợc sắp có thể trong A và không có thông tin nào về nó (là
cặp đúng) đà bị Alice để lộ cho Olga biết khi cô xng danh với Olga. (Một
cách hình thức, Olga biết một cặp trong A chứa số mũ của Alice song cô ta
không biết nó là cặp nào).
Ta hÃy xét thông tin đợc trao đổi trong giao thức định danh. Về cơ
bản, trong mỗi lần thực hiện giao thức, Alice chọn , Olga chọn r và Alice để
lộ y1 và y2 sao cho:
γ = α1y α1 y vr (mod p).
Ta nhí l¹i r»ng, Alice tÝnh:
y1 = k1 + a1r mod q

y2 = k2 + a2r mod q
trong ®ã
γ = α1k α1k mod q
Chú ý rằng k1 và k2 không bị lộ (mà a1 và a2 cũng không).
Bốn phần tử cụ thể (,r,y1,y2) đợc tạo ra trong thực hiện giao thức tuỳ thuộc
vào cặp (a1,a2) của Alice vì y1 và y2 đợc định nghĩa theo a1 và a2. Tuy nhiên
ta sẽ chỉ ra rằng, mỗi bộ bốn nh vậy có thể đợc tạo ra nh nhau từ cặp
đợc sắp bất kì khác (a1, a2) A. Để thấy rõ, giả thiết (a1, a2) A, tøc lµ
a’1=a1 - cθ vµ a’2 = a2 + θ, trong ®ã 0 ≤ θ ≤ q -1.

Cã thĨ biĨu diƠn y1 vµ y2 nh− sau:
y1 = k1 + a1r
= k1 + (a1’+ cθ)r
= (k1 + rcθ)+a1’r

y2 = k2 + a2r
= k2 + (a2’ - θ)r
= (k2 - rθ)+a2’r
Trong ®ã tất cả các phép tính số học đều thực hiện trong Zp. Nghĩa là bộ bốn
(,r,y1,y2) cũng phù hợp với cặp đợc sắp (a1' , a 2' ) bằng việc dùng các phép
chọn ngẫu nhiên k1' = k1 + rc và k 2' = r để tạo ra . Cần chú ý rằng, các giá trị
k1 và k2 không bị Alice làm lộ nên bộ (, r, y1, y2) không cho biết thông tin gì
về cặp nào trong A đợc Alice dùng làm số mũ mật của cô. Đây là ®iỊu ph¶i
chøng minh.…
1

1

2

1

2

Trang 10



×