1 Hệ phân phối khóa Blom 3 Giao thức phân phối khóa Blom là nơi quản trị khóa. Việc thỏa thuận khóa nói chung không cần có sự tham gia của 1 TA nào và chỉ có thể xảy ra khi các hệ bảo mật mà ta sử dụng là hệ có khóa công khai…. 2 Hệ phân phối khóa Kerberos 6 Kerberos là một giao thức mật mã dùng để xác thực trong các mạng máy tính hoạt động trên những đường truyền không an toàn. Giao thức được xây dựng dựa trên mật mã hóa khóa đối xứng và cần đến một bên thứ ba mà cả hai phía tham gia giao dịch tin tưởng. 3 – Hệ phân phối khóa Diffle – Hellman 10 Thiết lập một khóa chia sẻ bí mật được sử dụng cho thông tin liên lạc bí mật bằng cách trao đổi dữ liệu thông qua mạng công cộng. Không cần có sự can thiệp của một TA – cơ quan ủy thác, làm nhiệm vụ điều hành hoặc phân phối khóa. Cho phép những người sử dụng có thể cùng nhau tạo ra một khóa bí mật thông qua một kênh truyền không đảm bảo về độ bảo mật. Khóa bí mật này dung để trao đổi thông tin với nhau.
Nhóm 6 CHƯƠNG 4 MỘT SỐ HỆ PHÂN PHỐI KHÓA BLOM, KERBEROS, DIFFLE –HELLMAN) Các hệ phân phối khóa 1 – Hệ phân phối khóa Blom 2 – Hệ phân phối khóa Kerberos 3 – Hệ phân phối khóa Diffie - Hellman 1 – Hệ phân phối khóa Blom 1.1 – Giới thiệu: Giao thức phân phối khóa Blom là nơi quản trị khóa Việc thỏa thuận khóa nói chung không cần có sự tham gia của 1 TA nào và chỉ có thể xảy ra khi các hệ bảo mật mà ta sử dụng là hệ có khóa công khai… 1 – Hệ phân phối khóa Blom 1.2 - Ý tưởng chính *Trong một mạng: n: người sử dụng Zp: trường hữu hạn + p là số nguyên tố (p ≥ n) + k là số nguyên, 1 ≤ k ≤ n-2 TT(trung tâm được ủy quyền) sẽ truyền đi k+1 phần tử của Zp , cho người sử dụng trên kênh an toàn (so với n-1 trong sơ đồ phân phối trước cơ bản) *Điều kiện an toàn: tập bất kì gồm nhiều nhất k người sử dụng không liên kết từ U, V phải không có khả năng xác định bất kì thông tin nào về Ku,v 1 – Hệ phân phối khóa Blom 1.3 – Giao thức phân phối khóa Blom với k = 1 P được công khai, với người sử dụng U, phần tử ru ∈ Z Zp là công khai, khác nhau TT chọn 3 phần tử ngẫu nhiên bí mật a, b, c ∈ Z Zp (không cần khác biệt) và thiết lập đa thức: f(x, y) = (a + b*(x + y) + c*x*y) mod p Với người sử dụng U, TT tính đa thức: gu(x) = f(x, ru) mod p Nếu U và V muốn liên lạc với nhau, họ sẽ dùng khoá chung: Ku,v = Ku,v = f(ru, rv) = (a + b*(ru+ rb) + c.ru.rv ) mod p U tính Ku,v = f(ru, rv) = gu(rv) =(a+b.(rv+ ru) + c.rv ru ) mod p V tính Ku,v = f(ru,rv) = gv(ru) =(a+b.(ru+ rv) + c.ru.rv) mod p Do tính chất đối xứng của đa thức f(x,y), nên Ku,v= Kv,u 1 – Hệ phân phối khóa Blom Ví dụ: f(x, y) = • Giả sử có 3 người sử dụng là U,V và W Chọn số nguyên tố p =17, • Các phần tử công khai của họ là ru = 12, rv = 7, rw = 1 • TT chọn ngẫu nhiên, bí mật a = 8, b = 7, c = 2 Khi đó đa thức f như sau: (8 + 7*(x + y) + 2*x*y) mod 17 • TT tính các đa thức và gửi cho U, V, W tương ứng là: Gu(x) = f(x, 12) = (8 + 7*(x + 12) + 12*2*x ) mod 17 = 7 + 14*x gv(x) = f(x, 7) = (8 + 7*(x + 7) + 7*2*x ) mod 17 = 6 + 4*x gw(x) = f(x, 1) = (8 + 7*(x + 1) + 12*2*x ) mod 17 = 15 + 9*x 1 – Hệ phân phối khóa Blom Ví dụ: • Khi U và V muốn liên lạc với nhau, người dùng tự tính khoá chung: U tính Ku,v= gu(rv) = f(ru,rv) =(a+b.(rv+ ru) + c.rv ru ) mod p =7 + 14*7 mod 17 = 3 V tính Ku,v = gv(ru) = f(ru,rv) =(a+b.(ru+ rv) + c.ru.rv) mod p = 6 + 4*12 mod 17 =3 * 3 khoá tương ứng với 3 cặp người dùng là: Ku,v = f(ru,rv) = (8 + 7*(12 + 7) + 2*12*7 ) mod 17 = 3 Ku,w = f(ru,rw) =(8 + 7*(12 + 1) + 2*12*71) mod 17 = 4 Kv,w = f(rv,rw) = (8 + 7*(7 + 1) + 2*7*71 ) mod 17 = 10 1 – Hệ phân phối khóa Blom 1.4 – Giao thức phân phối khóa Blom với k > 1 • Sơ đồ Để tạo lập sơ đồ phân phối khoá chống lại được liên minh k đối thủ, TT sẽ dùng đa thúc f(x,y) dạng sau: xiyj mod p Trong đó: ai,j ∈ Z Zp (0 ≤ i ≤ k, 0 ≤ j ≤ k) và ai,j = aj,i với mọi i, j Các phần còn lại của giao thức như sơ đồ phân phối khoá Blom với k=1 2 – Hệ phân phối khóa Kerberos 2.1 – Khái niệm • Kerberos là một giao thức mật mã dùng để xác thực trong các mạng máy tính hoạt động trên những đường truyền không an toàn • Giao thức được xây dựng dựa trên mật mã hóa khóa đối xứng và cần đến một bên thứ ba mà cả hai phía tham gia giao dịch tin tưởng 2 – Hệ phân phối khóa Kerberos 2.2 – Nguyên tắc Hoạt động Kerberos được thiết kế dựa trên giao thức Needham-Schroeder Kerberos sử dụng một bên thứ ba tham gia vào quá trình nhận thực gọi là "trung tâm phân phối khóa" (key distribution center - KDC) KDC bao gồm hai chức năng: ● Máy chủ xác thực ● Máy chủ cung cấp vé 2 – Hệ phân phối Kerberos 2 2.2 Nguyên tắc hoạt động Khóa chung 1 “Vé” 3 Khóa phiên 2 – Hệ phân phối Kerberos 2.3 - Ứng dụng - OpenSSH (với Kerberos v5 hoặc cao hơn) - NFS (kể từ NFSv3) - PAM (với mô đun pam_krb5) - SOCKS (kể từ SOCKS5) - Apache (với mô đun mod_auth_kerb ) - Dovecot IMAP4 và POP3 - Một cách gián tiếp, tất cả phần mềm sử dụng SASL để nhận thực, chẳng hạn như OpenLDAP - Bộ Kerberos còn đi kèm với các bộ phần mềm máy chủ và máy khách của rsh, FTP và Telnet - Hệ thống X Window 2 – Hệ phân phối khóa Kerberos 2.4 – Mô tả giao thức • Theo hệ thống ký hiệu giao thức mật mã, Kerberos được mô tả như sau (trong đó Alice (A) sử dụng máy chủ (S) để nhận thực với Bob (B)): A → S: A,B S → A:{TS, L, KAB, B, {TS, L, KAB, A}KBS}KAS A → B: {TS, L, KAB, AKBS,{A, TA}KAB B → A: {TA + 1}KAB 2 – Hệ phân phối Kerberos • Giải thích: KAB: khóa phiên giữa A và B {TS, L, KAB, A}KBS: vé gửi từ máy khách tới máy chủ {A, TA}KAB: phần để nhận thực A với B {TA + 1}KAB: Nhận dạng lại B để chấp nhận A 2 – Hệ phân phối Kerberos 2.5 – Hoạt động 1 Login 2 tạo khóa 3 gửi yêu 4 AS xác 5 Client lấy bí mật cầu dịch vụ thực user khóa phiên từ tới AS AS 11 Máy 10 Client xác 9 Client gửi 8 SS giải 6 chủ cung nhận và gửi y/ tới SS 2 gói tin mã vé User cấp dịch gửi 2 c dịch vụ gói vụ tin tới TGS 7 TGS giải mà và reply 2 – Hệ phân phối Kerberos 2.6 – Nhược điểm Ngừng hoạt động theo máy chủ Đồng bộ hóa đồng hồ đổi mật khẩu không tiêu chuẩn hóa 3 – Hệ phân phối khóa Diffie-Hellman Tổng quan - Thiết lập một khóa chia sẻ bí mật được sử dụng cho thông tin liên lạc bí mật bằng cách trao đổi dữ liệu thông qua mạng công cộng - Không cần có sự can thiệp của một TA – cơ quan ủy thác, làm nhiệm vụ điều hành hoặc phân phối khóa - Cho phép những người sử dụng có thể cùng nhau tạo ra một khóa bí mật thông qua một kênh truyền không đảm bảo về độ bảo mật Khóa bí mật này dung để trao đổi thông tin với nhau 3 – Hệ phân phối khóa Diffie-Hellman Tình huống - Alice và Bob muốn chia sẻ thông tin bảo mật cho nhau nhưng phương tiện truyền thông duy nhất của họ là không an toàn Tất cả các thông tin mà họ trao đổi được quan sát bởi Even – kẻ thù của họ - Làm thế nào để Alice và Bob chia sẻ thông tin bảo mật cho nhau mà không làm cho Even biết được? 3 – Hệ phân phối khóa Diffie-Hellman •• Alice và Bob đồng ý dùng chung về một nhóm cyclic hữu hạn G và một yếu tố tạ ra g trong G • Khi Alice và Bob muốn truyền thông tin bảo mật cho nhau có thể cùng thực hiện theo giao thức sau để trao đổi 1.Alice chọn ngẫu nhiên số aA (0) bí mật, tính bA và gửi cho Bob 2 Tương tự, Bob chọn số ngẫu nhiên aB (0 ) bí mật, tính bB và gửi cho Alice 3 Alice tính được khóa 4 Bob tính được khóa • Bây giờ, Alice và Bob có cùng khóa chung là: 3 – Hệ phân phối khóa Diffie-Hellman Ví dụ minh họa 1 Alice và Bob đã thống nhất với nhau chọn số nguyên tố p=37 và g=5 2 Alice chọn một giá trị ngẫu nhiên bất kỳ aA=7 và bí mật aA Alice tính bA=57mod 37 =18 Sau đó Alice gửi bA=18 cho Bob 3 Bob chọn một giá trị ngẫu nhiên bất kỳ aB=5 và bí mật Ab Bob tính bB=55mod 37 =17 Sau đó Bob gửi bB=17 cho Alice 4 Bob nhận được bA=18 Tính khóa chung và bí mật kB kB=184 mod 37=15 5 Alice nhận được bB=17 Tính khóa chung và bí mật kA kA=177 mod 37 = 15