2.3. Giao thức thoả thuận khoá MTI.
Matsumoto, Takashima và Imai (MTI) đã xây dựng giao thức thoả thuận khoá bằng cách biến đổi giao thức trao đổi khoá của Diffie-Hellman. Giao thức không đòi hỏi U và V phải tính bất kỳ chữ ký nào. Đó là giao thức “2 lần” vì chỉ có 2 lần truyền thông tin riêng biệt (một từ U đến V và một từ V đến U).
Sơ đồ
Chuẩn bị:
Chọn số nguyên tố p rất lớn sao cho bài toán logarit rời rạc trong Zp * là “khó” giải, là phần tử nguyên thuỷ Zp * . Giá trị p, công khai, với dấu xác nhận của TT.
Mỗi ng¬ười dùng U có số mũ bí mật au (0 ≤ au ≤ p -2) và giá trị công khai tư¬ơng ứng:
bu = mod p.
TT có sơ đồ chữ ký với thuật toán ký bí mật sigTT và thuật toán xác minh verTT.
Mỗi ngư¬ời dùng U có định danh ID(U) và dấu xác nhận của TT:
C(U) = (ID(U), bu , sigTT (ID(U), bu)).
1. U chọn ngẫu nhiên ru , 0 ≤ ru ≤ p – 2 và tính su = mod p.
gửi (C(U), su) đến V.
2. V chọn ngẫu nhiên rv , 0 ≤ rv ≤ p – 2 và tính sv = mod p.
gửi (C(V), sv) đến U.
3. U tính khoá K = mod p, trong đó bv nhận từ C(V).
4. V tính khoá K = mod p, trong đó bu nhận từ C(U).
Cuối giao thức U và V đều tính đư¬ợc cùng một khoá: K = mod p.
Mức an toàn
Thông tin đ¬ược truyền trong giao thức “2 lần”:
C(U), su = mod p
U -------------------------------------> V
C(V), sv = mod p
<-------------------------------------
1. Trư¬ớc tấn công thụ động, độ an toàn của giao thức MTI bằng bài toán Diffie-Hellman.
Tr¬ước tấn công chủ động, cũng như¬ nhiều giao thức, việc chứng minh tính an toàn
không đơn giản.
2. Khi không dùng chữ ký trong quá trình thực hiện giao thức, có thể xuất hiện tình huống không có sự bảo vệ nào tr¬ước “tấn công giữa cuộc”.
Ví dụ W có thể tráo đổi các giá trị mà U và V gửi cho nhau:
C(U), C(U),
U -------------------------------------> W -------------------------------------> V
C(V), C(U),
<------------------------------------- <-------------------------------------
Trong tr¬ường hợp này, U và V sẽ tính các khoá khác nhau !
U tính khoá: Ku = mod p. V tính khoá: Kv = mod p.
Tất nhiên, W không thể tính ra khoá của U và V vì chúng đòi hỏi phải biết số mũ mật au và av tư¬ơng ứng. Thậm chí ngay cả khi U và V tính ra các khoá khác nhau (dĩ nhiên là không dùng chúng) thì W cũng không thể tính đư¬ợc khoá nào trong chúng.
Nói cách khác, cả U và V đều đ¬ược đảm bảo rằng, ng¬ười sử dụng khác trên mạng chỉ có thể tính đư¬ợc khoá “rởm”.
Tính chất này còn đ¬ược gọi là xác thực khoá ẩn (implicit key authentication).
Ví dụ Giao thức thoả thuận khoá MTI
Chọn số nguyên tố p = 27803, = 5 là phần tử nguyên thuỷ Zp * .
U chọn bí mật au = 21131, tính bu = 5 21131 mod 27803 = 21420.
đ¬ược đặt trên giấy xác nhận của U.
V chọn bí mật av = 17555, tính bv = 5 17555 mod 27803 = 17100.
đ¬ược đặt trên giấy các nhận của V.
1. U chọn ru = 169, tính su = 5 169 mod 27803 = 6268. U gửi su đến V.
2. V chọn rv = 23456, tính sv = 5 23456 mod 27803 = 26759. V gửi sv đến U.
3. U tính khoá Ku, v = mod p
= 26759 21131 17100 169 mod 27803 = 21600.
4. V tính khoá Ku, v = mod p
= 626817555 21420 23456 mod 27803 = 21600.
Nh¬ư vậy U và V đã tính cùng một khoá.
admin đầu rồi vào hướng dẫn bài này