Giao thức xác thực dựa trên kỹ thuật zero-knowledge

Một phần của tài liệu (LUẬN VĂN THẠC SĨ) Xác thực trong các mạng vô tuyến (Trang 40 - 42)

CHƢƠNG 1 : XÁC THỰC TRONG MẠNG VÔ TUYẾN

1.4. Xác thực và các các mô hình xác thực

1.4.2.2. Giao thức xác thực dựa trên kỹ thuật zero-knowledge

Nhƣ đã đề cập ở phần trên, các phƣơng pháp xác thực thƣờng bên cần xác thực phải công bố hoặc tiết lộ một phần hoặc những thông tin liên quan tới những bí mật của họ để đƣợc xác thực. Sẽ rất nguy hiểm nếu bên xác thực có ý đồ xấu muốn khôi phục lại những thông tin bí mật của ngƣời cần xác thực dựa trên những thông tin bên cần xác thực cung cấp cho ở những phiên xác thực trƣớc. Ví dụ với giao thức xác thực dùng mật mã khóa đối xứng, bên A sẽ bị tổn thƣơng nếu bên B cố tình tiết lộ khóa chia sẻ của A và B cho một bên thứ ba khác. Kỹ thuật xác thực zero-knowledge đƣợc đề xuất cho phép ngƣời cần xác thực vẫn có thể xác thực đƣợc mà không cần tiết lộ những thông tin bí mật liên quan tới khóa của mình cho bên xác thực. Ngƣợc lại, từ những thông tin bên cần xác thực cung cấp ở những phiên xác thực trƣớc, bên xác thực không thể khôi phục và tạo ra đƣợc thông tin xác thực giả mạo cho bên thứ ba.

Về cơ bản, kỹ thuật xác thực zero-knowledge sử dụng các thông điệp trao đổi kết hợp với các yếu tố ngẫu nhiên để xác thực. Thuật toán Fiat-Shamir [1] là một trong những thuật toán áp dụng kỹ thuật xác thực zero-knowledge. Ta hãy xét thuật toán Fiat-Shamir để minh họa cho kỹ thuật xác thực zero-knowledge.

Bƣớc 1 : Bƣớc khởi tạo

 Ta xét ngữ cảnh là Alice cần xác thực với Bob, thuật toán Fiat-Shamir yêu cầu một bên thứ ba tin cậy làm trung gian gọi là John.

 Darth chọn ra 2 số nguyên tố rất lớn p và q, tính ra tích n = p.q. Darth công bố số tích n nhƣng giữ bí mật p và q.

 Alice chọn một số nguyên dƣơng s, nguyên tố cùng nhau với số n làm khóa bí mật, tính ra c = s2 mod n và đăng ký với Darth khóa công khai của mình là c.

Bƣớc 2: Quá trình trao đổi thông điệp

 Alice tạo ra một số ngẫu nhiên r với 0 < r <n và thực hiện trao đổi với Bob qua giao thức sau:

(1)AliceBob : x= r2 mod n (2)BobAlice : 1 bit ngẫu nhiên b

Comment [u10]: [FS86] Amos Fiat and Adi Shamir. How to prove to yourself: practical solutions to identication and signature problems. In Advances in Cryptology{Crypto 86, pages 186-194, Springer, Berlin, 1987.

(3)AliceBob : y = r x sb mod n

 Quá trình trên đƣợc lặp lại t lần (tn), khi t lần trao đổi kết thúc, ta nhận thấy có 3t thông điệp đƣợc trao đổi, Alice chọn t số ngẫu nhiên

 t1 i i r  , tính đƣợc t giá trị  t 1 i i x  và xác định đƣợc t số  t 1 i i y  . Trong khi đó Bob chọn ra đƣợc t số bit ngẫu nhiên  t1

i i b  , và nhận đƣợc t số  t1 i i x  và t số  t1 i i y  từ Alice. Với: 2mod i i xr n mod bi i i y  r s nBƣớc 3: Xác thực

 Bob sẽ xác thực Alice nếu : 2 bmod

i i

y  x c n với  i t, và yi khác 0. Thật vậy ta có:

     2

2 2 2

mod mod mod bimod mod

b bi

i i i i

xc nr ns n n r s ny

Xét thông điệp Bob gửi cho Alice ở bƣớc (3) :

mod ; 0 ( )mod ; 1 r n r b y r s n b        

Ta nhận thấy nếu Bob sinh ra bit b=0 thì kết quả y Alice trả lại sẽ là r – độc lập với s. Ngƣợc lại nếu bit b = 1thì kết quả y trả lại bằng y =( r x s ) mod n – là giá trị độc lập với khóa bí mật s của Alice bởi r đƣợc sinh ngẫu nhiên, hay nói các khác khóa bí mật sđã đƣợc che dấu bởi 1 đại lƣợng ngẫu nhiên.

Thuật toán Fiat-Shamirlà một minh họa đơn giản và rõ nét cho kỹ thuật xác thực zero-knowledge. Thuật toán đƣợc trình bày ở trên là một dạng cơ bản của thuật toán Fiat-Shamir, thực tế thuật toán này đến nay đã đƣợc cải tiến rất nhiều để tăng cƣờng độ bảo mật của giao thức.

Một phần của tài liệu (LUẬN VĂN THẠC SĨ) Xác thực trong các mạng vô tuyến (Trang 40 - 42)

Tải bản đầy đủ (PDF)

(113 trang)