1. Trang chủ
  2. » Trung học cơ sở - phổ thông

Chuong9doc

14 4 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Nội dung

Alice dÜ nhiªn chØ biÕt mét cÆp trong A; nÕu ta chøng minh r»ng Olga cã thÓ gi¶ danh Alice th× Olga cã thÓ tÝnh mét cÆp trong A kh¸c víi cÆp cña Alice (víi x¸c suÊt cao)... Còng nh vËy, [r]

(1)

Ch¬ng

Các sơ đồ định danh 9.1 Giới thiệu.

Các kỹ thuật mật mã cho phép nhiều tốn dờng nh khơng thể giải đợc thành giải đợc Một tốn nh toán xây dựng sơ đồ định danh mật Trong nhiều trờng hợp cần thiết phải “chứng minh” ph-ơng tiện điện tử danh tính Dới số trờng hợp điển hình: Để rút tiền từ máy thủ quỹ tự động (ATM), ta dùng thẻ với số

định danh cá nhân (PIN) có chữ số

2 Để trả tiền cho mua bán điện thoại dùng thẻ tín dụng, tất cần số thẻ tín dụng (và thời hạn dùng thẻ)

3 Để trả tiền cho cú gọi điện thoại đờng dài (dùng thẻ gọi) cần số điện thoại PIN ch s

4 Để vào mạng máy tính, cần tên hợp lệ ngời sử dụng mËt khÈu t¬ng øng

Thực tế, kiểu sơ đồ thờng không đợc thực theo cách an toàn Trong giao thức thực điện thoại, kẻ nghe trộm dùng thơng tin định danh cho mục đích riêng Những ngời ngời nhận thơng tin Các mu đồ xấu thẻ tín dụng hoạt động theo cách Thẻ ATM an toàn chút song cịn điểm yếu Ví dụ, điều khiển đờng dây liên lạc nhận đợc tất thơng tin đợc mã hố dải từ tính thẻ nh thơng tin PIN Điều cho phép kẻ mạo danh tiếp cận vào tài khoản nhà băng Cuối cùng, việc chui vào mạng máy tính từ xa vấn đề nghiêm trọng ID mật ngời sử dụng đợc truyền mạng dạng không mã Nh vậy, họ vùng dễ bị tổn thơng ngời điều khiển mạng máy tính

Mục đích sơ đồ định danh là: “nghe” nh Alice t xng danh với Bob khơng thể tự bịa đặt Alice Ngồi ra, cố gắng giảm xác suất để Bob thử mạo nhận Alice sau ta tự xng danh với Nói cách khác, Alice muốn có khả chứng minh danh tính phơng tiện điện tử mà khơng cần đa chút thơng tin hết danh tính

Một vài sơ đồ định danh nh đợc nêu Một mục đích thực tế tìm sơ đồ đủ đơn giản để thực đợc thẻ thông minh, đặc biệt thẻ tín dụng gắn thêm chíp có khả thực tính tốn số học Vì thế, thẻ địi hỏi khối lợng tính tốn lẫn nhớ nhỏ đến mức Thẻ nh an tồn thẻ ATM Tuy nhiên, điều quan trọng cần ý an toàn “đặc biệt” liên quan đến ngời điều khiển đờng dây thông tin Vì thẻ để chứng minh danh tính nên khơng cần bảo vệ chống thẻ Song cần thiết có PIN để biết chủ nhân thực thẻ

Trong phần sau mô tả số sơ đồ định danh thông dụng Tuy nhiên, trớc hết xét sơ đồ đơn giản dựa hệ thống mã khoá riêng bất kì, chẳng hạn nh DES Giao thức mơ tả hình 9.1 đợc gọi giao thức “yêu cầu trả lời”, giả thiết rằng, Alice tự xng danh với Bob cô Bob chia khoá mật chung K, khoá hàm mã eK

Hình 9.1: Giao thức Yêu cầu đáp ứng:

(2)

2 Alice tÝnh y = eK(x)

göi nã cho Bob Bob tÝnh:

y = eK(x)

và xác minh y = y

Ta minh hoạ giao thức ví dụ nhỏ dới dây Ví dụ 9.1

Giả sư Alice vµ Bob dïng hµm m· lµm l thõa tÝnh modulo: eK(x) = x102379 mod 167653

Giả sử yêu cầu Bob x = 77835 Khi Alice trả lời với y = 100369 Mọi sơ đồ định danh thực giao thức “Yêu cầu đáp ứng” song sơ đồ hiệu lại khơng u cầu khố chia sẻ (dùng chung) ý tởng đợc tiếp tục phần lại chơng

9.2 Sơ đồ định danh Schnorr.

Ta bắt đầu việc mô tả sơ đồ định danh Schnorr - sơ đồ định danh thực tiễn đáng ý Sơ đồ đòi hỏi ngời đợc uỷ quyền có tín nhiệm mà ta ký hiệu TA Ta chọn tham số cho sơ đồ nh sau:

1 p số nguyên tố lớn (tức p 2512) cho toán logarithm rời rạc

trong Zp không giải đợc

2 q ớc nguyên tố lớn p-1 (tức q 2140).

 Zp

có bậc q (có thể tính  nh (p-1)  ) đợc cơng khai

TA đóng dấu xác nhận cho Alice Khi Alice muốn nhận đợc dấu xác thực từ TA, cô phải tiến hành bớc nh hình 9.2 Vào thời điểm cuối, Alice muốn chứng minh danh tính trớc Bob, thực giao thức nh hình 9.3

Nh nêu trên, t tham số mật Mục đích ngăn kẻ mạo danh - chẳng hạn Olga - khỏi đoán yêu cầu r Bob Ví dụ, Olga đốn giá trị r, ta chọn giá trị cho y tính

 = yv mod p

Cơ đa cho Bob  nh bớc sau nhận đợc u cầu r, cung cấp giá trị y chọn sẵn Khi  đợc Bob xác minh nh bớc Hình 9.2 Cấp dấu xác nhận cho Alice.

1 TA thiết lập danh tính Alice cách lập giấy chứng minh thông th-ờng chẳng hạn nh xác nhận ngày sinh, hộ chiếu Sau TA thiết lập chuỗi ID (Alice) chứa thông tin định danh cô ta

2 Alice bÝ mËt chän mét sè mị ngÉu nhiªn a,  a  q-1 Alice tÝnh: v = -a mod p

vµ gưi v cho TA TA tạo chữ kí:

s =sigTA(I,v)

DÊu x¸c nhËn

C(Alice) = (ID(Alice),v,s) đa cho Alice

Xỏc suất để Olga đoán r 2-t r đợc Bob chọn ngẫu nhiên.

(3)

luôn dùng r Olga mạo danh Alice phơng pháp mô tả trên)

Có hai vấn đề nảy sinh giao thức xác minh Trớc hết, chữ kí s chứng minh tính hợp lệ dấu xác nhân Alice Nh vậy, Bob xác minh chữ ký TA dấu xác nhận Alice để thuyết phục thân dấu xác nhận xác thực Đây xác nhận tơng tự nh cách dùng chơng

Vấn đề thứ hai giao thức liên quan đến mã số mật a Giá trị a có chức tơng tự nh PIN để thuyết phục Bob rằng, ngời thực giao thức định danh thực Alice Tuy nhiên có khác quan trọng so với PIN là: giao thức định danh, a không bị lộ Thay vào đó, Alice (hay xác thẻ thông minh cô) chứng minh rằng, cô (thẻ) biết giá trị a bớc cách tính y trả lời đòi hỏi r Bob đa Vì a khơng bị lộ nên kĩ thuật gọi chứng minh không tiết lộ thông tin

Hình 9.3 sơ đồ định danh Schnorr

1 Alice chän mét sè ngÉu nhiªn k,  k  q-1 vµ tÝnh:  = k mod p.

2 Alice gửi dấu xác nhận cho C(Alice) = (ID(Alice),v,s) cho Bob

3 Bob xác minh chữ kí TA cách kiểm tra xem có thoả mÃn ver(ID(Alice),v,s) = true hay không.

4 Bob chän mét sè ngÉu nhiªn r, 1 r  2t đa cho Alice.

5 Alice tính:

y = k + ar mod q đa y cho Bob

6 Bob xác minh xem có thoả mãn đồng d thức sau không   yvr (mod p).

Các đồng d sau chứng minh Alice có khả chứng minh danh tính cô cho Bob:

yvr  k+arvr (mod p)

 k+arvar (mod p)

 k(mod p)

  (mod p)

Nh chấp nhận chứng danh tính Alice giao thức đợc gọi có tính đầy đủ

Dới ví dụ nhỏ minh hoạ khía cạnh “thách thức đáp ứng” giao thức

VÝ dơ 9.2

Gi¶ sư p=88667, q = 1031, t=10 PhÇn tư  = 70322 cã bËc q thuéc Zp

Giả sử số mã mật Alice a = 755 Khi đó:

v = -a(mod p)

= 703221031-755mod 88667

= 13136

Giả sử Alice chọn k = 543, sau tính:  = k mod p

= 70322543 mod 88667

= 84109

và gửi  cho Bob Giả thiết Bob đa u cầu r = 1000 Khi Alice tính: y = k + ar mod q

(4)

= 851

và gửi y cho Bob Sau Bob xác minh xem 84109  70322851131361000(mod 88667)

Nếu đúng, Bob tin liên lạc với Alice

Tiếp theo ta xem xét cách mạo danh Alice Olga - kẻ cố mạo danh Alice cách làm giả dấu xác nhận:

C’(Alice) = (ID(Alice), v’, s’),

trong v’v Song s’ đợc giả thiết chữ kí (ID(Alice), v’, s’) đ-ợc Bob xác minh bớc giao thức Nếu sơ đồ chữ kí TA an tồn, Olga khơng thể làm giả chữ kí s’ (mà sau bị Bob xác minh)

Biện pháp khác cho Olga dùng dấu xác nhận Alice C(Alice) = (ID(Alice), v, s) (nhớ lại rằng, dấu xác nhận không mật thông tin dấu xác nhận bị lộ lần thực giao thức định danh) Tuy nhiên Olga mạo danh Alice ta biết giá trị a Đó “yêu cầu” r bớc bớc 5, Olga phải tính y mà y hàm a Việc tính a từ v bao hàm việc giải toán logarithm rời rạc toán mà ta giả thiết khơng thể giải đợc

Có thể chứng minh định lí xác tính an ton ca giao thc nh sau:

Định lí 9.1.

Giả sử Olga biết giá trị  nhờ có xác suất   1/2t-1 để giả mạo

Alice thành công giao thức xác minh Khi Olga tính a trong thời gian đa thức.

Chøng minh

Với phần  2t u cầu r, Olga tính giá trị y (sẽ đợc Bob

chÊp nhËn bíc 6) Vì 1/2t-1 nên ta có 2t/ vµ bëi vËy, Olga cã

thể tính đợc giá trị y1,y2,r1 r2 cho

y1 y2

y1vẻ1 y2vẻ2 (mod p)

hay αy−− y2≡ vr1− r2

(modp)

Vì v = -a nên ta có:

y1-y2 a(r1- r2) (mod q)

XÐt thÊy < | r1- r2 | <2t q > 2t nguyên tố Vì UCLN(r1- r2, q) =

và Olga cã thÓ tÝnh:

a = (y1-y2)(r1 - r2)-1mod q

nh mong muèn…

Định lý chứng minh rằng, có hội (khơng phải khơng đáng kể) thực thành công giao thức định danh phải biết (hoặc tính thời gian đa thức) số mũ mật a Alice Tính chất thờng đợc gọi tính đắn (sound) Dới ví dụ minh hoạ:

VÝ dơ 9.3

Giả sử ta có tham số nh 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 tính:

a =(851 - 454)(1000 - 19)-1 mod 1031 = 755

(5)

Chúng ta chứng minh rằng, giao thức có tính đắn đầy đủ Song tính đắn đầy đủ cha đủ để bảo đảm giao thức an toàn Chẳng hạn, Alice để lộ số mũ mật a chứng minh danh tính với Olga giao thức đắn đầy đủ Tuy nhiên hồn tồn khơng an tồn sau Olga mạo danh Alice

Điều thúc đẩy động xem xét thông tin mật cho ngời xác minh - ngời tham gia giao thức - biết (trong giao thức này, thông mật a) Hy vọng khơng có thơng tin a bị gia tăng Olga Alice chứng minh danh tính cho ta, để sau Olga giả dạng nh Alice

Nói chung, hình dung tình Alice chứng minh danh tính với Olga số tình khác Có lẽ Olga không chọn yêu cầu cô (tức giá trị r) theo kiểu ngẫu nhiên Sau vài lần thực giao thức, Olga cố gắng xác định giá trị a để sau mạo danh Alice Nếu Olga xác định đợc chút thông tin a qua tham gia với số lần đa thức thực giao thức sau thực lợng tính tốn đa thức giao thức đợc gọi an toàn

Hiện cha chứng minh đợc giao thc Schnorr an toàn, song phần tiếp sau, ta đa cải tiến sơ đồ (do Okmoto đa ra) mà chứng minh đợc an tồn cho trớc giả thuyết tính tốn

Sơ đồ Schnorr đợc thiết kế với tốc độ nhanh hiệu theo quan điểm tính tốn lẫn lợng thơng tin cần thiết để trao đổi giao thức Nó đợc thiết kế nhằm tối thiểu hố lợng tính tốn mà Alice phải thực Đây đặc tính tốt thực tế, tính tốn Alice phải tính thẻ thơng minh có khả tính tốn thấp tính tốn Bob lại máy lớn

Vì mục đích thảo luận, ta giả sử rằng, ID(Alice) chuỗi 512 bit, v gồm 512 bit, s 320 bit nến DSS đợc dùng nh sơ đồ chữ kí Kích thớc tổng cộng dấu xác nhận C(Alice) (cần đợc lu thẻ Alice) 1444 bit

Xét tính toán Alice: Bớc cần lấy mũ theo modulo, bớc so sánh phép công modulo phép nhân modulo Đó phép luỹ thừa modulo mạnh tính tốn song tính tốn gián tiếp muốn Cịn tính tốn trực tiếp đợc Alice thực bình thờng

Việc tính số bit cần thiết trình liên lạc để thực giao thức đơ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 bớc 2: Bob đa cho Alice 40 bit bớc Alice đa cho Bob 160 bit bớc Nh yêu cầu liên lạc mức độ

9.3 Sơ đồ định danh Okamoto.

Trong phần ta đa biến thể sơ đồ Schnorr Okamoto đa Sơ đồ cải tiến Zp không giải đợc

(6)

bí mật kể Alice Ta giả thiết rằng, khơng giải đợc (thậm chí Alice Olga liên minh với nhau) để tính giá trị c Nh trớc đây, TA chọn sơ đồ chữ kí số 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 ví dụ 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  có bậc q Zp

) Gi¶ sư a1=846, a2

= 515, v = 13078

Giả sử Alice chọn k1 = 899, k2 = 16,  = 14573 Nu Bob a

yêu cầu r = 489 Alice trả lời y1 = 131 y2 = 287 Bob 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 đầy đủ khơng khó (tức Bob chấp nhận chứng danh tính cơ) Sự khác sơ đồ Okamoto Schnorr chỗ, ta chứng minh sơ đồ Okamota an tồn miễn tố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 Alice phát chuỗi định danh ID(Alice)

2 Alice chọn bí mật hai số mũ ngẫu nhiên a1,a2  a1,a2  q -1

Alice tÝnh:

v = 1a1

1

a2modp

và đa cho TA TA tạo chữ kí

s = sigTA(I,v)

đa dấu xác nhận

C(Alice) = (ID(Alice),v,s) cho Alice

Phép chứng minh tính an tồn tinh tế Đây ý kiến chung: Nh trớc đây, Alice tự định danh với Olga nhiều thời gian đa thức thông qua thực giao thức Khi ta giả thiết Olga có khả nghiên cứu số thơng tin giá trị a1,a2 Nếu nh Olga Alice kết hợp với

nhau có khả tính đợc logarithm rời rạc c thời gian đa thức Điều mâu thuẫn với giả định chứng tỏ Olga nhận đợc chút thông tin số mũ Alice thông qua việc tham gia vào giao thức

Phần giao thức tơng tự với chứng minh tớnh y s Schnorr

Định lý 9.2.

Giả sử Olga biết a giá trị  mà nhờ có xác suất thành cơng   1/2t-1khi đánh giá Alice giao thức xác minh Khi ú, Olga cú th tớnh

các giá trị b1,b2 thêi gian ®a thøc cho

v  α1−b1α

1

− b2modp

Chứng minh:

Với phần 2t yêu cầu r, Olga tính giá trị y 1, y2,

z1, z2, r vµ s víi r  s vµ:

  α1y1α2

y2 vr  α

1z1α2

Ζ2 v8(mod p)

(7)

vµ b1= (y2 - z2)(r - s)-t mod q

Khi dễ dàng kiểm tra thấy rằng:

v ≡ α1− b1α

2

−b2

(modp)

(8)

Hình 9.5 Sơ đồ định danh Okamoto.

1 Alice chän c¸c sè ngÉu nhiªn k1, k2,  k1, k2  q -1 vµ tÝnh:

 = α1k1α2

k2 (mod p)

2 Alice gửi dấu xác nhận cô C(Alice) = (ID(Alice),v,s)  cho Bob Bob xác minh chữ kí TA 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 đa cho Alice.

5 Alice tÝnh:

y1 = k1 + a1r mod q

vµ y2 = k2 + a2r mod q

vµ ®a y1,y2 cho Bob

6 Bob x¸c minh xem:   α1y1α

2

y2 vr(mod p) hay không

Bây ta tiếp tục cách Alice Olga tính giá trị c Định lý 9.3.

Giả sử Olga biết giá trị  (mà với có xác suất giả danh Alice thành công   1/2t-1) giao thức xác minh Khi đó, Alice Olga có

thĨ cïng tÝnh logα1α2 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ả xác định giá trị b1 b2

cho

v  α1b1α

2

b2

(modp)

Giả thiết Alice để lộ giá trị a1 a2 cho Olga biết Dĩ nhiên:

v  α1a1α

2

a2

(modp)

v× thÕ α1a1−b1≡ α

2

b2−a2

(modp)

giả sử (a1,a2)  (b1,b2), (a1-b1)-1 tồn logarithm rời rạc:

c = logα1α2=¿ (a1-b1)(b2-a2)

-1 mod q

có thể tính đợc thời gian đa thức

Phần lại xem xét xác suất để (a1,a2) = (b1,b2) Nếu xảy điều giá trị c khơng thể tính theo mơ tả Tuy nhiên, ta (a1,a2) = (b1,b2) xảy với xác suất bé 1/q, giao thức nhờ Alice Olga tính đợc c hầu nh chắn thành công

Định nghĩa: A ={ (a1' , a

2

'

)∈Ζp× Ζq:α1− a1 '

α2−a2 '

α1−a1 '

α2− a2 '

(modp) }

Nghĩa A gồm tất cặp đợc chúng số mũ mật Alice Xét thấy rằng:

A ={a1- c, a2 +  : ZP},

Trong c = logα1α2 Nh A chứa q cặp đợc

Cặp đợc (b1,b2) Olga tính chắn tập A Ta rằng, giá trị cặp (b1,b2) độc lập với cặp (a1,a2) chứa số mũ mật Alice Vì (a1,a2) đợc Alice chọn cách ngẫu nhiên nên xác suất để (a1,a2) = (b1,b2) 1/q

(9)

Ta xét thông tin đợc trao đổi giao thức định danh Về bản, lần thực giao thức, Alice chọn , Olga chọn r Alice để lộ y1 y2 cho:

 = α1y1α

1y2 v

r (mod p).

Ta nhí l¹i r»ng, Alice tÝnh: y1 = k1 + a1r mod q

vµ y2 = k2 + a2r mod q

trong

 = α1k1α

1k2 mod q

Chó ý r»ng k1 vµ k2 không bị lộ (mà a1 a2 không)

Bốn phần tử cụ thể (,r,y1,y2) đợc tạo thực giao thức tuỳ thuộc

vào cặp (a1,a2) Alice y1 y2 đợc định nghĩa theo a1 a2 Tuy nhiên ta

sẽ rằng, bốn nh đợc tạo nh từ cặp đợc khác (a

1, a2) A Để thấy rõ, giả thiết (a’1, a’2) A, tøc lµ a’1=a1 - c

vµ a’

2 = a2 + ,    q -1

Cã thĨ biĨu diƠn y1 vµ y2 nh sau:

y1 = k1 + a1r

= k1 + (a1’+ c)r

= (k1 + rc)+a1’r

vµ y2 = k2 + a2r

= k2 + (a2’ - )r

= (k2 - r)+a2’r

Trong tất phép tính số học thực Zp Nghĩa bốn

(,r,y1,y2) phù hợp với cặp đợc (a1' , a2') việc dùng phép

chọn ngẫu nhiên k1'=k1+rcθ k2'=rθ để tạo  Cần ý rằng, giá

trÞ k1 k2 không bị Alice làm lộ nên (, r, y1, y2) kh«ng cho biÕt th«ng tin

gì cặp A đợc Alice dùng làm số mũ mật cô Đây điều phải chứng minh.…

Việc chứng minh tính an tồn tinh vi tối u Chắc hữu dụng để lắp đặc điểm giao thức, dẫn tới chứng an toàn Nh vậy, Alice chọn số mũ mật cao chọn Có tổng cộng q cặp A tơng đơng với cặp (a1,a2) Alice Điều dẫn đến mâu thuẫn

cơ là, việc hiều biết hai cặp khác A cho phơng pháp hiệu tính toán logarithm rời rạc c Alice dĩ nhiên biÕt mét cỈp A; nÕu ta chøng minh r»ng Olga giả danh Alice Olga tính cặp A khác với cặp Alice (với xác suất cao) Nh Alice Olga tìm hai cặp A tính c - cho m©u thn nh mong mn

Díi ví dụ nhỏ minh hoạ việc Alice Olga tính toán log12 :

Ví dụ 9.5.

Gièng nh vÝ dô 9.4, ta lÊy p =88667, q = 1031, t = 10 giả sử v = 13078

Giả thiết Olga xác định đợc rằng:

11312287v489  18902303v199 (mod p)

Khi tính:

b1 = (131 - 890)(489 - 199)-1 mod 1031 = 456

b2 = (287 - 303)(489 - 199)-1 mod 1031 = 519

(10)

c = (846 - 456)(519 - 515)-1 mod 1031 = 613

giá trị thực tế log12 mà xác minh cách tính:

58902613 mod 88667 = 73611.

Cuối cùng, cần nhấn mạnh rằng, khơng có chứng minh biết chứng tỏ sơ đồ Schnorr an toàn (thậm chí giả thiết rằng, tốn logarithm rời rạc khơng giải đợc) song ta khơng biết nhợc điểm sơ đồ Thực sơ đồ Schnorr đợc a thích sơ đồ Okamoto nhanh

9.4 Sơ đồ định danh Guillou - quisquater.

Trong phần mô tả sơ đồ định danh khác Guillou Quisquater đa dựa RSA

Việc thiết lập sơ đồ nh sau: TA chọn số nguyên tố p q lập tích n =pq Giá trị p q đợc giữ bí mật n cơng khai Giống nh trớc đây, p q nên chọn đủ lớn để việc phân tích n khơng thể thực đợc Cũng nh vậy, TA chọn số nguyên tố đủ lớn b giữ chức tham số mật nh số mũ mật RSA Giả thiết b số nguyên tố dài 40 bít Cuối TA chọn sơ đồ ch kớ v hm hash

Hình 9.6: Phát dấu x¸c nhËn cho Alice

1 TA thiết lập định danh cho Alice phát chuỗi định danh ID(Alice) Alice chọn bí mật số ngun u,  u  n -1 Alice tính:

v = (u-1)b mod n

và đa u cho TA TA tạo chữ kí:

s = sigTA(I,v)

DÊu x¸c nhËn:

C(Alice) = (ID(Alice), v, s) đa cho Alice

Du xỏc nhn TA phát cho Alice đợc xây dựng nh mô tả hình 9.6 Khi Alice muốn chứng minh danh tính cho Bob, thực giao thức hình 9.7 Ta chứng minh rằng, sơ đồ Guillou - Quisquater đắn đầy đủ Tuy nhiên, sơ đồ khơng đợc chứng minh an tồn (mặc dù giả thiết hệ thống mã RSA an toàn)

VÝ dô 9.6:

Giả sử TA chọn p = 467, q = 479, n = 223693 Giả sử b = 503 số nguyên mật Alice u = 101576 Khi tính:

v = (u-1)b mod n

= (101576-1)503 mod 223693

= 24412

Hình 9.7: Sơ đồ định danh Guillou - Quisquater.

1 Alice chọn số ngẫu nhiên k,  k  n -1 tính:  = kb mod n

2 Alice ®a cho Bob dấu xác nhận cô C(Alice) = (ID(Alice), v, s) Bob xác minh chữ kí TA cách kiểm tra xem có thoả mÃn hay

không đồng d thức:

ver(ID(Alice), v, s) = true.

4 Bob chän sè ngÉu nhiªn r, r b -1 đa cho Alice Alice tÝnh:

y = k u’ mod n

(11)

6 Bob x¸c minh r»ng

  vryb (mod n)

Giả sử Bob trả lời yêu cầu r = 375 Khi Alice tính y = ku’ mod n

= 187485  101576375 mod 223693

= 93725

và đa cho Bob Bob xác minh thấy:

24412  8988837593725503(mod 223693)

v× thÕ Bob chÊp nhËn b»ng chøng vỊ danh tÝnh cđa Alice …

Giống nh trờng hợp tổng quát, việc chứng minh tính đầy đủ đơn giản: vryb  (u-b)r(kur)b(mod n)

 u-brkbubr (mod n)

 kb (mod n)

  (mod n)

Bây ta xét đến tính đắn Ta chứng minh sơ đồ đắn miễn không dễ dàng tính đợc u từ v Vì v đợc lập từ u phép mã RSA nên gi thit cú v hp lý

Định lí 9.4

Giảsử Olga biết giá trị  nhờ có xác suất thành cơng việc giả danh Alice  > 1/b giao thức xác minh Khi Olga tính u thời gian đa thức.

Chøng minh

Với  đó, Olga tính giá trị y1, y2, r1, r2 với r1  r2 cho:

  vr1ybvr2y

2

b

(modn)

khơng tính tổng quát, giả sử r1 > r2 Khi ta có: y2y1¿b(modn)

vr1−r2

¿

v× < r1- r2 <b b số nguyên tố nên t = (r1 - r2)-1 mod b tồn Olga

cã thĨ tÝnh nã thêi gian ®a thức thuật toán Euclidean Vì ta có:

y2y1¿bt(modn)

v(r1− r2)t≡

¿

xÐt thÊy, (r1- r2)t = lb +1

với số nguyên dơng l đó, thế: vlb +1  (y

2/y1)bt(mod n)

hay tơng đơng,

v  (y2/y1)bt(v-1)lb(mod n)

Nâng hai vế lên luỹ thừa b-1 mod (n) ta cã:

u-1 (y

2/y1)t(v-1)l(mod n)

cuối tính modulo đảo hai vế đồng d thức này, ta nhận đợc công thức sau cho u:

u = (y2/y1)tvl mod n

Olga dùng cơng thức để tính u thời gian đa thức … Ví dụ 9.7

Gièng nh vÝ dơ tríc, gi¶ sư r»ng n = 223963, b = 503, u = 101576 vµ v = 89888 Giả thiết Olga nghiên cứu thấy rằng:

v401103386b v37593725b (mod n)

Trớc tiên cô tính:

(12)

= (401 - 375)-1mod 503

= 445 TiÕp theo c« tÝnh:

l = ((r1- r2)t - 1)/b

= ((401 - 375)445 -1)/503 = 23

Cuối nhận đợc giá trị u mật nh sau: u = (y1/y2)tvl mod n

= (103386/93725)4458988823 mod 233693

= 101576

và nh vậy, số mũ mật Alice bị lộ … 9.4.1Sơ đồ định danh dựa tính đồng nhất.

Sơ đồ định danh Guillou - Quisquater chuyển thành sơ đồ định danh dựa tính đồng Điều có nghĩa khơng cần dấu xác nhận Thay vào đó, TA tính giá trị u nh hàm chuỗi ID Alice cách dùng hàm hash công khai h phạm vi Zn nh

hình 9.8 Giao thức định danh lúc làm việc nh mơ tả hình 9.9 Giá trị v đợc tính từ chuỗi ID Alice thơng qua hàm hash công khai Để tiến hành giao thức định danh, Alice cần biết giá trị u, giá trị TA tính đợc (giả thiết hệ thống mã khố cơng khai RSA an tồn) Nếu Olga cố tự xng Alice khơng thành cụng nu khụng bit u

Hình 9.8: Phát giá trÞ u cho Alice

1 Thiết lập danh tính Alice phát chuỗi định danh ID(Alice): TA tớnh

u = (h(ID(Alice)-1)a mod n

và đa u cho Alice

Hình 9.9: Sơ đồ định danh dựa tính đồng Guillou - Quisquater. Alice chọn số ngẫu nhiên k,  k  n -1 tính:

 = kb mod n

2 Alice đa ID(Alice) cho Bob Bob tÝnh:

v = h(ID(Alice))

4 Bob chän số ngẫu nhiên r, r b-1 ®a nã cho Alice Alice tÝnh:

y = kur mod n

và đa y cho Bob

6 Bob xác minh xem có thoả mÃn hay không ®iỊu kiƯn díi ®©y:  = vryb(mod n)

9.5 Chuyến sơ đồ định danh thành sơ đồ chữ kí.

Có phơng pháp chuẩn để chuyển sơ đồ định danh thành sơ đồ chữ kí ý tởng thay ngời xác minh (Bob) hàm hash cơng khai h Trong sơ đồ chữ kí thực theo phơng pháp này, thông báo không bị chặt (băm) trớc đợc kí: Q trình băm đợc tích hợp thành thuật tốn kí Sau minh hoạ biện pháp việc chuyển sơ đồ Schnorr thành sơ đồ chữ kí (hình 9.10) Thực tế, có khả đa hàm hash h vào SHS làm giảm đợc modulo q Do SHS tạo xâu bit có độ dài 160 q số nguyên tố 160 bit, nên việc giảm đợc modulo q cần thiết tóm lợc thơng báo SHS tạo vợt q Thậm chí trờng hợp này, cần trừ q khỏi kết

(13)

một yêu cầu (challenge) kẻ mạo danh cần có khả đốn u cầu để tính trớc câu trả lời (mà đợc chấp nhận) Song phạm vi sơ đồ chữ kí, ta cần cac tóm lợc thơng báo có kích thớc lớn nhiều để ngăn chặc công thông qua việc tìm kiếm va chạm hàm hash Hình 9.10: Sơ đồ chữ kí Schnorr.

Cho p số ngun tố 512 bít cho tốn logarithm rời rạc ZP không giải đợc; cho q số nguyên tố 160 bít chia hết cho p-1 Gi s

p

là bậc q 1modulo p Cho h hàm hash phạm vi p

Định nghĩa P= p .A = Ζ

p

❑  Z

P định nghĩa:

K = {(p, q, , a, v) : v -a(mod p)}

Các giá trị p, q, v công khai a mËt Víi K = (p, q, , a, v) vµ víi sè ngÉu nhiªn k mËt  Ζp

, ta định nghĩa: sigK(x,k) = (,y)

trong

 = k mod p

y = k + ah(x,) mod q víi x,  Ζp vµ yZ

P, định nghĩa

ver(x, , y) = true    yvh(x,y)(mod p)

9.6 C¸c chó giải tài liệu tham khảo

S nh danh Schnorr nêu tài liệu [Sc91], sơ đồ Okamoto đợc đa [OK93] sơ đồ Guillou - quisquater tìm thấy [GQ88] Một sơ đồ khác chứng minh an tồn dới giả thiết tính toán hợp lý Brickell McCurley [BM92]

Các sơ đồ định danh phổ biến khác chứa đựng sơ đồ Fiege - Fiat - Shamir [FFS88] sơ đồ nhân hoán vị [SH90] Sơ đồ Fiege - Fiat - Shamir đợc chứng minh an toàn nhờ dùng kĩ thuật tri thức không

Phơng pháp xây dựng sơ đồ chữ kí từ sơ đồ định danh Fiat Shamir đa [FS87] Chúng đợc mơ tả phiên dựa tính đồng sơ đồ định danh họ

Các tổng quan sơ đồ định danh đợc cơng bố cơng trình Burmester, Desmedt Beth [BDB92] cơng trình Waleffe Quisquater [DWQ93]

Các tập

9.1 Xột s đồ định danh sau đây: Alice sở hữu khoá mật n = pq, p q là số nguyên tố p  q  (mod 4) Các giá trị n ID(Alice) TA kí nh thờng lệ lu dấu xác nhận Alice Khi Alice muốn tự xng danh với Bob, Bob đa cho Alice thặng d bình phơng theo modulo n gọi x Sau Alice tính bình phơng y x đa cho Bob Khi Bob xác minh xem y2 có  x(mod n) hay khơng Hãy giải thích sơ

đồ khơng an tồn

9.2 Giả sử Alice dùng sơ đồ Schnorr với q = 1201, p =122503, t = 10 = 11538

a/ H·y kiĨm tra xem  cã bËc q trªn Ζp

(14)

d/ Giả sử Bob đa yêu cầu r = 501, hÃy tính câu trả lời y cđa Alice e/ Thùc hiƯn c¸c tÝnh to¸n cđa Bob x¸c minh y

9.3 Giả thiết, Alice dùng sơ đồ Schnorr với p, q, t nh tập 9.2. v=51131 giả sử Olga nghiên cứu thấy rằng:

3v148  151v1077 (mod p)

H·y chØ c¸ch Olga cã thĨ tÝnh sè mị mËt a cña Alice

9.4 Giả sử Alice dùng sơ đồ Okamoto với q = 1201, p = 122503, t= 10, 1=60497 2 = 17163

a/ Giả sử số mũ mật Alice a1=432, a2 = 423, h·y tÝnh v

b/ Gi¶ sư k1 = 389, k2 = 191, tÝnh 

c/ Gi¶ thiết Bob đa yêu cầu r = 21 HÃy tính câu trả lời y1 y2

Alice

d/ Thực tính toan Bob để xác minh y1và y2

9.5/ Cũng giả thiết Alice dùng sơ đồ Okamoto với p, q, t, 1và 2 nh

trong bµi tËp 9.4, vµ v = 119504

a/ HÃy kiểm tra xem phơng trình sau có thoả mÃn không:

1 70

2 1033

v877=α1 248

α2 883

v992(modp)

b/ Dùng thơng tin để tính b1 b2 cho:

α1−b1α

2

− b2v

(modp)

c/ Giả sử Alice để lộ 1=484 2 =935 Hãy cách Alice

vµ Olga cïng tÝnh logα1α2

9.6 Giả sử rằng, Alice dùng sơ đồ Quisquater với p = 503, q = 379 và b= 509

a/ Gi¶ sử giá trị u mật Alice = 155863 tính v b/ Gi¶ sư k = 123845, h·y tÝnh 

c/ Giả thiết Bob đa yêu cầu r = 487 Hãy tính câu trả lời y Alice d/ Thực tính tốn Bob để xác minh y

9.7 Giả sử Alice dùng sơ đồ Quisquater với n = 199543, b = 523 và v=146152 Giả thiết Olga khám phá

v456101360b = v25736056b(mod n)

Ngày đăng: 25/05/2021, 20:02

TÀI LIỆU CÙNG NGƯỜI DÙNG

  • Đang cập nhật ...

TÀI LIỆU LIÊN QUAN

w