Các kỹ thuật mật mã cho phép nhiều bài toán dường như không thể giải ddwwocj thành có thể giải được. Một bài toán như vậy gọi là bài toán xây dựng các sơ dồ dịnh danh mật. Trong nhiều trường hợp cần thiết phải chứng minh bằng phương tiện điện tử danh tính của ai đó
Giáo trình tin học Các sơ đồ định danh mật phương pháp chứng minh điện tử danh tính Vietebooks Nguyễn Hoàng Cương Simpo PDF Merge and Split Unregistered Version - http://www.simpopdf.com Giáo trình tin học: Các sơ đồ định danh mật phương pháp chứng minh điện tử danh tớnh Chơng Các sơ đồ định danh 9.1 Giíi thiƯu C¸c kü tht mËt m· cho phÐp nhiỊu toán dờng nh giải đợc thành giải đợc Một toá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ố Để 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ẻ) Để 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ố Để vào mạng máy tính, cần tên hợp lệ ngời sử dụng mật 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 đ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à hoá 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− x−ng danh víi Bob tự bịa đặt Alice Ngoài ra, cố gắng giảm xác suất để Bob thử mạo nhận Alice sau cô 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 toán số học Vì thế, thẻ đòi hỏi khối lợng tính toán lẫn nhớ nhỏ đến mức Thẻ nh an toà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 Trang Vietebooks Nguyn Hoàng Cương Simpo PDF Merge and Split Unregistered Version - http://www.simpopdf.com đờ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 hÃy 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: Bob chọn yêu cầu x- chuỗi ngẫu nhiên 64 bit Bob göi x cho Alice Alice tÝnh y = eK(x) göi nã cho Bob Bob tÝnh: y’ = eK(x) 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 Bob dùng hàm mà lµm luü thõa tÝnh modulo: eK(x) = x102379 mod 167653 Giả sử yêu cầu Bob x = 77835 Khi ®ã Alice sÏ 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 yêu cầu khoá 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ỷ qun cã tÝn nhiƯm mµ ta ký hiƯu lµ TA Ta chọn tham số cho sơ đồ nh sau: p số nguyên tố lớn (tức p 2512) cho toán logarithm rời rạc Zp không giải đợc q ớc nguyên tè lín cđa p-1 (tøc q ≥ 2140) cã bËc q (cã thÓ tÝnh α nh− (p-1) α∈ Z *p ) đợc công khai ?? TA đóng mét 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 Trang Vietebooks Nguyễn Hoàng Cương Simpo PDF Merge and Split Unregistered Version - http://www.simpopdf.com thêi ®iĨm ci, Alice mn chøng minh danh tÝnh cđa c« tr−íc Bob, c« thùc hiƯn 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 đoán giá trị r, cô ta chọn giá trị cho y tính = yv mod p Cô đa cho Bob nh bớc sau nhận đợc yêu cầu r, cô 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 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 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 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 Nh vậy, t = 40 giá trị hợp lý với hầu hết ứng dụng, (tuy nhiªn, chó ý r»ng, Bob sÏ chän r ngÉu nhiªn lần Alice xng danh với Nếu Bob 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 ®Ĩ thut phơc Bob r»ng, ng−êi thùc hiƯn 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 Alice chọn số ngẫu nhiên k, k q-1 tính: γ = αk mod p Trang Vietebooks Nguyễn Hoàng Cương Simpo PDF Merge and Split Unregistered Version - http://www.simpopdf.com Alice gửi dấu xác nhận cho 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 ver(ID(Alice),v,s) = true hay không Bob chọn số ngẫu nhiên r, r 2t ®−a nã cho Alice Alice tÝnh: y = k + ar mod q đa y cho Bob 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đa c« cho Bob: αyvr ≡ αk+arvr (mod p) ≡ αk+arvar (mod p) ≡ αk(mod p) ≡ γ (mod p) Nh− vËy sÏ chÊp nhËn b»ng 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” cđa giao thøc VÝ dơ 9.2 Gi¶ sư p=88667, q = 1031, t=10 PhÇn tư α = 70322 cã bËc q thc Z *p Gi¶ sư sè m· mËt cđa Alice a = 755 Khi ®ã: v = α-a( mod p) = 703221031-755mod 88667 = 13136 Gi¶ sư Alice chọn k = 543, sau cô tính: = αk mod p = 70322543 mod 88667 = 84109 gửi cho Bob Giả thiết Bob đa yêu cầu r = 1000 Khi Alice tính: y = k + ar mod q = 543 + 755× 1000 mod 1031 = 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 hÃy 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’), Trang Vietebooks Nguyễn Hoàng Cương Simpo PDF Merge and Split Unregistered Version - http://www.simpopdf.com vv Song s đợc giả thiết chữ kí (ID(Alice), v, s) đợc Bob x¸c minh b−íc cđa giao thøc NÕu sơ đồ chữ kí TA an toàn, Olga 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 cô 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 giải đợc Có thể chứng minh định lí xác tính an toàn giao thức nh sau: Định lí 9.1 Giả sử Olga biết giá trị nhờ cô có xác suất 1/2t-1 để giả mạo Alice thành công giao thức xác minh Khi Olga cã thĨ tÝnh a thêi gian ®a thøc Chøng minh Với phần 2t yê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 y ẻ v ≡ α y v Ỵ (mod p) hay α y − y ≡ v r −r (mod p) V× v = α-a nªn ta cã: y1-y2 ≡ a(r1- r2) (mod q) XÐt thÊy < | r1- r2 | 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… − 2 2 Đị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 cđa Alice TÝnh chất thờng đợc gọi tính đắn (sound) Dới ví dụ minh hoạ: Trang Vietebooks Nguyễn Hoàng Cương Simpo PDF Merge and Split Unregistered Version - http://www.simpopdf.com VÝ dơ 9.3 Gi¶ sư ta cịng cã c¸c tham sè nh− vÝ dơ 9.2: p = 88667, q = 1031, t= 10, α = 70322, a = 755 v = 13136 Giả sử Olga nghiên cøu thÊy r»ng: α851v1000 ≡ α454v19(mod p) ®ã cã thÓ tÝnh: a =(851 - 454)(1000 - 19)-1 mod 1031 = 755 nh khám phá số mị mËt cđa Alice … 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 cô với Olga giao thức đắn đầy đủ Tuy nhiên hoàn toàn không an toà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 cịng tham gia giao thức - biết (trong giao thức này, thông mật a) Hy vọng thông tin a bị gia tăng Olga Alice chứng minh danh tính cho cô ta, để sau Olga giả dạng nh Alice Nói chung, cã thĨ h×nh dung t×nh hng Alice chøng minh danh tÝnh cđa m×nh víi Olga mét 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 toá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 toàn cho trớc giả thuyết tính toán Sơ đồ Schnorr đà đợc thiết kế với tốc độ nhanh hiệu theo quan điểm tính toá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 hoá lợng tính toán mà Alice phải thực Đây đặc tính tốt thực tế, tính toán Alice phải tính thẻ thông minh có khả tính toán thấp tính toán Bob lại máy lớn Vì mục đích thảo luận, ta hÃy giả sử rằng, ID(Alice) 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 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ỹ Trang Vietebooks Nguyễn Hoàng Cương Simpo PDF Merge and Split Unregistered Version - http://www.simpopdf.com thõa modulo m¹nh vỊ tÝnh to¸n song cã thĨ tÝnh to¸n gi¸n tiÕp nÕu mn Còn tính toá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 Để thiết lập sơ đồ, TA chọn p q nh sơ đồ Schnorr TA chọn hai phần tử Z*p có bậc q Giá trị c = log12 đợc giữ 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ả lẫn có bậc q Z*p ) Gi¶ sư a1=846, a2 = 515, ®ã v = 13078 Gi¶ sư Alice chän k1 = 899, k2 = 16, ®ã γ = 14573 NÕu Bob đa yêu cầu r = 489 Alice trả lời y1 = 131 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 đầ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 toàn miễn 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 TA thiết lập danh tính Alice phát chuỗi định danh ID(Alice) Alice chọn bí mật hai số mũ ngẫu nhiên a1,a2 a1,a2 ≤ q -1 Alice tÝnh: Trang Vietebooks Nguyễn Hoàng Cương Simpo PDF Merge and Split Unregistered Version - http://www.simpopdf.com v = α 1− a α 1− a mod p đ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 vỊ tÝnh an toµn rÊt 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 hiƯn 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 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ô có xác suất thành công t-1 1/2 đánh giá Alice giao thức xác minh Khi đó, Olga tính giá trị b1,b2 thời gian đa thức cho v ≡ α 1− b α 1− b mod p Chứng minh: Với phần 2t yêu cầu r, Olga tính giá trị y1, y2, z1, z2, r vµ s víi r ≠ s vµ: γ ≡ α y α 2y vr z v8(mod p) Ta định nghÜa: b1= (y1 - z1)(r - s)-t mod q vµ b1= (y2 - z2)(r - s)-t mod q Khi ®ã dƠ dµng kiĨm tra thÊy r»ng: 2 2 v ≡ α 1− b1α 2− b2 (mod p ) nh− mong muèn.… Trang Vietebooks Nguyễn Hoàng Cương Simpo PDF Merge and Split Unregistered Version - http://www.simpopdf.com Hình 9.5 Sơ đồ định danh Okamoto Alice chọn số ngẫu nhiên k1, k2, k1, k2 ≤ q -1 vµ tÝnh: γ = α k α 2k (mod p) 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 thức: verTA(ID(Alice),v,s) = true Bob chän sè ngÉu nhiªn r, r 2t đa cho Alice Alice tÝnh: y1 = k1 + a1r mod q vµ y2 = k2 + a2r mod q đa y1,y2 cho Bob Bob x¸c minh xem: γ ≡ α 1y 2y 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ô 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α α 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 1b 2b (mod p ) Giả thiết Alice để lộ giá trị a1 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), (a1-b1)-1 tồn logarithm rời rạc: c = logα α = (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 tính theo mô tả Tuy nhiên, ta r»ng (a1,a2) = (b1,b2) sÏ chØ 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' , a2' ) ∈ Ζ p × Ζ q : α1− a α 2− a ≡ α1− a α 2− a (mod p) } Nghĩa A gồm tất cặp đợc chúng c¸c sè mị mËt cđa Alice XÐt thÊy r»ng: A ={a1- cθ, a2 + θ : θ∈ZP}, 2 1 2 2 ' ' Trang ' ' Vietebooks Nguyễn Hoàng Cương Simpo PDF Merge and Split Unregistered Version - http://www.simpopdf.com Trong ®ã c = logα α 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 Nh vậy, (b1,b2) độc lập với (a1,a2) Cặp (a1,a2) Alice q cặp đợc A thông tin (là cặp đúng) đà bị Alice để lộ cho Olga biết cô xng danh với Olga (Một cách hình thức, Olga biết cặp A chứa số mũ Alice song cô ta cặp nào) Ta hÃy 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 vµ y2 cho: γ = α1y α1 y vr (mod p) Ta nhí l¹i r»ng, Alice tÝnh: y1 = k1 + a1r mod q vµ y2 = k2 + a2r mod q ®ã γ = α1k α1k mod q Chú ý k1 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 rằng, bốn nh đợc tạo nh từ cặp đợc khác (a1, a2) A Để thấy rõ, giả thiết (a1, a2) A, tức a1=a1 - c a2 = 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)+a2r 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' , a 2' ) b»ng viƯc dïng c¸c phÐp chọn ngẫu nhiên k1' = k1 + rc k 2' = 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 cặp A đợc Alice dùng làm số mũ mật cô Đây ®iỊu ph¶i chøng minh.… 1 2 Trang 10 Vietebooks Nguyễn Hoàng Cương Simpo PDF Merge and Split Unregistered Version - http://www.simpopdf.com ViƯc chøng minh tÝnh an toµn tinh vi tối u Chắc hữu dụng để lắp đặc điểm giao thøc, dÉn tíi b»ng chøng vỊ sù 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 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 chØ biÕt mét cỈp A; nÕu ta chøng minh 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 log : 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: 11312287v489 18902303v199 (mod p) Khi cô tính: b1 = (131 - 890)(489 - 199)-1 mod 1031 = 456 vµ b2 = (287 - 303)(489 - 199)-1 mod 1031 = 519 Dùng giá trị a1 a2 Alice đa cho, giá trị c tính nh sau: c = (846 - 456)(519 - 515)-1 mod 1031 = 613 giá trị thực tế log mà xác minh cách tính: 58902613 mod 88667 = 73611 Cuối cùng, cần nhấn mạnh rằng, chứng minh đà biết chứng tỏ sơ đồ Schnorr an toàn (thậm chí giả thiết rằng, toán logarithm rời rạc không giải đợc) song ta nhợc điểm sơ đồ Thực sơ đồ Schnorr đợc a thích sơ đồ Okamoto nhanh 1 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 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í hàm hash Hình 9.6: Phát dấu xác nhận cho Alice TA thiết lập định danh cho Alice phát chuỗi định danh ID(Alice) Trang 11 Vietebooks Nguyễn Hoàng Cương Simpo PDF Merge and Split Unregistered Version - http://www.simpopdf.com Alice chän bí mật số nguyên u, u ≤ n -1 Alice tÝnh: v = (u-1)b mod n đ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 Dấu xác nhận 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 cđa c« cho Bob, c« thùc hiƯn 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 toà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 cô tính: v = (u-1)b mod n = (101576-1)503 mod 223693 = 24412 Hình 9.7: Sơ ®å ®Þnh danh Guillou - Quisquater Alice chän sè ngẫu nhiên k, k n -1 vµ tÝnh: γ = kb mod n 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 Bob chän sè ngÉu nhiªn r, ≤ r b -1 đa cho Alice Alice tính: y = k u mod n đa y cho Bob 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 đ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 … Trang 12 Vietebooks Nguyễn Hoàng Cương Simpo PDF Merge and Split Unregistered Version - http://www.simpopdf.com 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ả thiết hợp lý Định lí 9.4 Giảsử Olga biết giá trị nhờ cô có xác suất thành công việc giả danh Alice > 1/b giao thức xác minh Khi ®ã Olga cã thĨ 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: γ ≡ v r y b ≡ v r y2b (mod n) kh«ng mÊt tÝnh tổng quát, giả sử r1 > r2 Khi ta cã: v r1 − r2 ≡ ( y2 / y1 )b (mod n) v× < r1- r2