Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 152 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
152
Dung lượng
3,49 MB
Nội dung
HỌC VIỆN CƠNG NGHỆ BƯU CHÍNH VIỄN THƠNG - ĐỖ XUÂN CHỢ IT BÀI GIẢNG PT MẬT MÃ HỌC CƠ SỞ Hà Nội, tháng 12 năm 2016 MỞ ĐẦU Với xu bùng nổ phát triển công nghệ ứng dụng sống vấn đề an tồn bảo mật hệ thống thông tin trở nên cấp thiết hết Có nhiều phương pháp, kỹ thuật, cách thức để bảo vệ hệ thống công nghệ thông tin trước công Mỗi phương pháp kỹ thuật có ưu điểm nhược điểm riêng Một phương pháp để đảm bảo an tồn cho thơng tin ứng dụng kỹ thuật mật mã để mã hóa thơng tin Hiện nay, ứng dụng mật mã học triển khai áp dụng hầu hết lĩnh vực công nghệ đời sống Chính vậy, việc nghiên cứu tìm hiểu mật mã học ứng dụng mật mã thực tế vấn đề cần quan tâm Môn học “Mật mã học sở” môn sở chuyên ngành thuộc chương trình đào IT tạo đại học ngành An tồn thơng tin Học Viện Cơng Nghệ Bưu Chính Viễn Thơng Môn học cung cấp cho sinh viên kiến thức mật mã học bao gồm: vai trò tầm quan trọng mật mã, khái niệm toán học mật mã; thuật tốn mã hóa PT thông dụng; hàm băm; vấn đề quản lý phân phối khóa; số ứng dụng mật mã thực tế Bài giảng “Mật mã học sở” biên soạn sở đề cương chi tiết môn học duyệt tổng hợp tài liệu từ nhiều nguồn nhằm cung cấp tài liệu phục vụ cho sinh viên nghiên cứu học tập Bài giảng cấu trúc thành chương sau: Chương 1: Tổng quan mật mã học Chương cung cấp kiến thức liên quan đến mật mã học bao gồm: khái niệm, thuật ngữ, lịch sử phát triển số ứng dụng Bên cạnh đó, chương cịn trình bày số lý thuyết toán học ứng dụng lĩnh vực mật mã như: lý thuyết số, lý thuyết thông tin, độ phức tạp thuật tốn… Chương 2: Mã hóa khóa đối xứng Chương cung cấp kiến thức hệ mật khóa đối xứng nguyên tắc mã hóa, giải mã số thuật tốn mã hóa khóa đối xứng Ngồi ra, chương trình bày số ưu nhược điểm kỹ thuật mã hóa khóa đối xứng Chương 3: Mã hóa khóa bất đối xứng Chương trình bày số kiến thức liên quan đến kỹ thuật mã hóa khóa bất đối xứng bao gồm: khái niệm, nguyên tắc mã hóa, giải mã, ưu điểm nhược điểm Bên cạnh đó, chương đề cập số ứng dụng mã hóa khóa bất đối xứng thực tế Chương 4: Các hàm băm Chương cung cấp kiến thức liên quan đến hàm băm bao gồm: định nghĩa, khái niệm, tính chất, vai trị hàm băm Ngồi ra, chương cịn trình bày số hàm băm phổ biến nguyên tắc làm việc số hàm băm Chương 5: Quản lý khóa Chương cung cấp kiến thức liên quan đến vấn đề quản lý phân phối khóa bao gồm: khái niệm, phân loại, vai trị… Ngồi ra, chương PT IT cịn mơ tả quy trình quản lý phân phối khóa số giao thức phổ biến Bài giảng Mật mã học sở MỤC LỤC DANH MỤC CÁC BẢNG BIỂU VÀ HÌNH VẼ DANH MỤC CÁC TỪ VIẾT TẮT CHƯƠNG 1: TỔNG QUAN VỀ MẬT MÃ HỌC 11 1.1 CÁC THUẬT NGỮ VÀ CÁC KHÁI NIỆM CƠ BẢN 11 1.2 LỊCH SỬ PHÁT TRIỂN 13 1.3 PHÂN LOẠI 15 1.4 VAI TRÒ 17 1.5 MỘT SỐ ỨNG DỤNG CỦA MẬT MÃ HỌC 18 Kerberos 18 1.5.2 Krypto Knight 19 1.5.3 PGP 19 1.5.4 Thẻ thông minh 20 1.6 IT 1.5.1 MỘT SỐ KHÁI NIỆM TOÁN HỌC TRONG MẬT MÃ 21 Lý thuyết thông tin 21 1.6.2 Lý thuyết số 34 1.6.3 Độ phức tạp thuật toán 37 PT 1.6.1 CHƯƠNG 2: MÃ HÓA KHÓA ĐỐI XỨNG 42 2.1 GIỚI THIỆU VỀ MÃ HÓA KHÓA ĐỐI XỨNG 42 2.2 CÁC KỸ THUẬT MÃ HÓA ĐỐI XỨNG CỔ ĐIỂN 43 2.2.1 Phương pháp thay 43 2.2.2 Phương pháp mã hóa hốn vị 53 2.2.3 Phương pháp mã hóa XOR 53 2.2.4 Phương pháp sách khóa chạy 54 2.3 CÁC KỸ THUẬT MÃ HÓA ĐỐI XỨNG HIỆN ĐẠI 54 2.3.1 Thuật tốn mã hóa DES/3DES 54 2.3.2 Thuật toán mã hóa AES 69 2.3.3 Thuật tốn mã hóa A5/1 83 2.3.4 Thuật tốn mã hóa RC4 87 2.4 ƯU ĐIỂM VÀ NHƯỢC ĐIỂM CỦA MÃ HÓA ĐỐI XỨNG 91 Bài giảng Mật mã học sở CHƯƠNG 3: MÃ HÓA KHÓA BẤT ĐỐI XỨNG 94 3.1 GIỚI THIỆU VỀ MÃ HÓA BẤT ĐỐI XỨNG 94 3.1.1 Giới thiệu chung 94 3.1.2 Một số thuật tốn mã hóa bất đối xứng 96 3.2 THUẬT TỐN MÃ HĨA RSA 97 3.3 ƯU ĐIỂM, NHƯỢC ĐIỂM CỦA MÃ HÓA BẤT ĐỐI XỨNG 100 3.4 ỨNG DỤNG CỦA MÃ HÓA BẤT ĐỐI XỨNG 102 CHƯƠNG 4: CÁC HÀM BĂM 104 4.1 GIỚI THIỆU VỀ HÀM BĂM 104 Định nghĩa 104 4.1.2 Phân loại 105 4.1.3 Các tính chất 104 4.1.4 Vai trò 107 4.2 IT 4.1.1 CÁC HÀM BĂM KHƠNG KHĨA 108 4.2.1 MDC độ dài đơn 109 PT 4.2.2 MDC độ dài kép: MDC-2 MDC- 110 4.3 CÁC HÀM BĂM CÓ KHÓA 112 4.4 MỘT SỐ HÀM BĂM THÔNG DỤNG 113 4.4.1 Hàm băm họ MD - Message Digest (MD5) 114 4.4.2 Hàm băm họ SHA - Secure Hash Algorithm (SHA-1) 117 CHƯƠNG 5: QUẢN LÝ KHÓA 121 5.1 GIỚI THIỆU 121 5.2 PHÂN PHỐI VÀ THỎA THUẬN KHĨA BÍ MẬT 124 5.2.1 Các kỹ thuật phân phối thỏa thuận khóa bí mật 124 5.2.2 Một số giao thức phân phối thỏa thuận khóa bí mật 129 5.3 PHÂN PHỐI VÀ THỎA THUẬN KHĨA CƠNG KHAI 137 5.3.1 Các kỹ thuật phân phối thỏa thuận khóa công khai 137 5.3.2 Chứng xác thực khóa cơng khai X.509 140 5.4 5.4.1 PHÂN PHỐI VÀ THỎA THUẬN KHÓA KẾT HỢP 143 Giới thiệu chung 143 Bài giảng Mật mã học sở 5.4.2 Giao thức Diffie-Hellman 144 PT IT TÀI LIỆU THAM KHẢO 151 Bài giảng Mật mã học sở DANH MỤC CÁC HÌNH VẼ Hình 1 Mơ hình mã hóa giải mã đơn giản 12 Hình Sơ đồ mã hóa mã dòng 16 Hình Sơ đồ giải mã mã dòng 16 PT IT Hình 1: Mơ hình mã hóa đối xứng 42 Hình 2 Mơ hình Feistel 55 Hình Sơ đồ tổng qt q trình mã hóa DES 57 Hình Mơ hình vịng lặp DES 59 Hình Mô tả hàm f DES 60 Hình Mơ hình bước tạo khóa DES 65 Hình Sơ đồ mã hóa giải mã Triple DES 69 Hình Sơ đồ SPN 70 Hình Sơ đồ mã hóa giải mã AES 74 Hình 10 Phép biến đổi SubByte 76 Hình 11 Phép biến đổi ShiftRows 78 Hình 12 Phép biến đổi MixColumn 79 Hình 13 Ví dụ phép MixColumn 80 Hình 14 Biểu diễn sinh Nk khóa khóa mã 128 bit 81 Hình 15 Sơ đồ mã hóa giải mã A5/1 87 Hình 16 Khởi tạo S T 88 Hình 17 Q trình hốn vị S 89 Hình 18 Q trình sinh số mã hóa thơng điệp 90 Hình Mơ hình mã hóa bất đối xứng 95 Hình Mơ hình bảo mật 101 Hình 3 Mơ hình xác thực 101 Hình Mơ hình chứng thực khơng chối bỏ 102 Hình Ví dụ tính chất hàm băm 104 Hình Phân loại hàm băm 105 Hình Sơ đồ kiểm tra toàn vẹn dùng MAC 107 Hình 4 Sơ đồ kiểm tra toàn vẹn dùng MDC mã hóa 108 Hình Sơ đồ kiểm tra tính tồn vẹn dùng MDC kênh an tồn 108 Hình Các sơ đồ hàm băm MDC đơn 109 Hình Sơ đồ thuật toán MDC-2 111 Hình Sơ đồ thuật toán MDC-4 112 Hình Sơ đồ hàm băm MAC 113 Hình 10 Sơ đồ hàm băm MD5 115 Hình 11 Sơ đồ cấu trúc hàm F 116 Bài giảng Mật mã học sở Hình 12 Cấu trúc biến đổi vòng MD5 117 Hình 13 Sơ đồ thuật toán băm SHA-1 118 Hình 14 Cấu trúc hàm F thuật toán băm SHA-1 119 PT IT Hình Sơ đồ trao đổi khóa hệ thống người 124 Hình Phân phối khóa điểm – điểm 124 Hình Mơ hình tạo sử dụng khóa hệ mã hóa khóa đối xứng 125 Hình Mơ hình trao đổi khóa tập trung 126 Hình 5 Mơ hình trao đổi khóa đơn giản sử dụng KDC 126 Hình Sơ đồ mơ tả q trình trao đổi khóa giao thức Needham-Schroeder 130 Hình Hoạt động Kerberos 133 Hình Mơ hình tạo sử dụng khóa hệ mã hóa khóa bất đối xứng 138 Hình Mơ hình trao đổi khóa cơng khai thơng qua sử dụng máy chủ không trực tuyến chứng 139 Hình 10 Cơ chế xác thực chiều 142 Hình 11 Cơ chế xác thực hai chiều 142 Hình 12 Cơ chế xác thực ba chiều 143 Hình 13 Q trình thiết lập khóa phiên hai thực thể 144 Hình 14 Sơ đồ ví dụ việc trao đổi khóa 145 Bài giảng Mật mã học sở DANH MỤC CÁC BẢNG BIỂU Bảng 1 Độ phức tạp để phân tích số nguyên thừa số nguyên tố 40 PT IT Bảng 1: Bảng thống kê kết công vét cạn 44 Bảng 2: Ma trận mã hóa Palayfair 46 Bảng Bảng A 50 Bảng Bảng chân trị phép toán XOR 53 Bảng Bảng hoán vị khởi tạo DES 58 Bảng Bảng hoán vị kết thúc DES 58 Bảng Bảng Expand DES 60 Bảng Bảng S-box1 61 Bảng Bảng S-box2 61 Bảng 10 Bảng S-box3 62 Bảng 11 Bảng S-box4 62 Bảng 12 Bảng S-box5 62 Bảng 13 Bảng S-box6 63 Bảng 14 Bảng S-box7 63 Bảng 15 Bảng S-box8 63 Bảng 16 Bảng P-box 64 Bảng 17 Bảng nén khóa 64 xuống 56bit DES 65 Bảng 18 Bảng nén khóa 56 bit xuống 48 bit DES 65 Bảng 19 Ví dụ mã hóa DES 66 Bảng 20 Bảng S-box AES 75 Bảng 21 Hộp thay ngược IS 77 Bảng 22 Bảng kết trình sinh khóa 83 Bảng Các hàm băm thông dụng 113 Bảng Bảng tính giá trị ROTL(t, s) 117 Bảng Q trình trao đổi khóa hai thực thể giao thức Shamir 132 Bảng Bảng diễn giải giao thức Diffie-Hellman 146 Bài giảng Mật mã học sở DANH MỤC CÁC TỪ VIẾT TẮT Thuật ngữ Tiếng Anh Thuật ngữ Tiếng Việt AES Advanced Encryption Standard Chuẩn mã hóa nâng cao CBC Cipher Block Chaining Chế độ mã móc xích CFB Ciphe Feedback Mode Chế độ mã phản hồi CRHF Collision resistant hash functions Hàm băm chống đụng độ DES Data Encryption Standard Chuẩn mã hóa liệu ECB Electronic code book Chế độ bảng tra mã điện tử H Hash function Hàm băm KDC Key distribution center Trung tâm phân phối khóa KTC Key translation center Trung tâm dịch khóa MAC Message authentication codes Mã xác thực thông điệp MD Message Digest MDC Modification detection codes Mã phát sửa đổi One-way hash functions Hàm băm chiều Public-key certificate Chứng khóa cơng khai Secure Hash Algorithm Thuật tốn băm an toàn PKC SHA SPN PT OWHF IT Từ viết tắt Substitution-Permutation Network Tóm tắt thơng điệp (có thể xem loại hàm băm) Mạng thay hoán vị 10 Chương IT Bài giảng Mật mã học sở Hình Mơ hình tạo sử dụng khóa hệ mã hóa khóa bất đối xứng Q trình sinh khóa truyền tin hình 5.8 diễn sau: B sinh cặp khóa: khóa cơng khai khóa bí mật Sau đó, B gửi cho A khóa PT - cơng khai qua kênh truyền an toàn (chỉ dùng để xác thực); - A sau nhận khóa cơng khai B A dùng khóa cơng khai B để mã hóa rõ, sau gửi mã cho B qua kênh truyền (khơng cần kênh an tồn); - B nhận mã dùng khóa bí mật để giải mã thu rõ Cũng giống kỹ thuật phân phối khóa bí mật, kỹ thuật phân phối khóa cơng khai có nhiều phương pháp phân phối khóa Tiếp theo, giảng trình bày số phương pháp phân phối khóa phổ biến Trao đổi kiểu điểm-điểm thông qua kênh tin cậy: Đặc điểm phương pháp phân phối khóa cơng khai theo kiểu điểm-điểm thông qua kênh tin cậy sau: Các bên trực tiếp trao đổi khóa cơng khai với thông qua kênh tin cậy thư bảo đảm phương tiện chuyển giao đảm bảo khác, thích hợp với hệ thống đóng kín cỡ nhỏ sử dụng với trao đổi không 138 Bài giảng Mật mã học sở Chương thường xuyên Tuy nhiên, nhược điểm lớn phương pháp là: độ trễ lớn sử dụng kênh tin cậy riêng đắt tiền Truy nhập trực tiếp vào danh mục công cộng (public-key registry): Đặc điểm phương pháp phân phối khóa cơng khai theo kiểu truy nhập trực tiếp vào danh mục công cộng sau: Một sở liệu công cộng tin cậy thiết lập, bao gồm tên người dùng khóa công khai tương ứng Cơ sở liệu công cộng vận hành bên tin cậy Người dùng truy nhập khóa cơng khai từ sở liệu Sử dụng máy chủ trực tuyến tin cậy: Đặc điểm phương pháp phân phối khóa cơng khai theo kiểu sử dụng máy chủ trực tuyến tin cậy sau: Máy chủ trực tuyến tin cậy cung cấp khóa cơng khai IT khóa cơng khai ký gửi cho bên yêu cầu Ưu điểm phương pháp là: Kênh truyền khơng địi hỏi phải bí mật bên u cầu sử dụng khóa cơng khai máy chủ để xác thực chữ ký máy chủ qua kiểm tra tính xác thực, tồn vẹn khóa PT Tuy nhiên, phương pháp có nhược điểm là: Máy chủ phải trực tuyến máy chủ trở thành điểm nút cổ chai Sử dụng máy chủ không trực tuyến chứng chỉ: Trung tâm chứng thực CA Hình Mơ hình trao đổi khóa cơng khai thơng qua sử dụng máy chủ không trực tuyến chứng 139 Bài giảng Mật mã học sở Chương Hình 5.9 mơ tả mơ hình trao đổi khóa cơng khai thơng qua sử dụng máy chủ không trực tuyến chứng Các bước thực cấp chứng chỉ: - A gửi định danh IDA khóa cơng khai KUA đến trung tâm chứng thực CA Trung tâm chứng nhận kiểm tra tính hợp lệ A A phải có chứng chứng minh thực A với CA Sau xác nhận A, trung tâm chứng thực cấp chứng CA để xác nhận khóa cơng khai KUA tương ứng với IDA Chứng ký chứng thực khóa riêng trung tâm để đảm bảo nội dung chứng trung tâm ban hành; CA = E(IDA|| KUA , KRAuth) - A công khai chứng CA; - B muốn trao đổi thơng tin với A giải mã CA khóa cơng khai trung tâm chứng thực để có khóa cơng khai KUA A Nếu B tin tưởng trung tâm chứng IT thực B tin tưởng KUA khóa cơng khai A Như vậy, thay phải xác nhận tin tưởng khóa cơng khai nhiều người muốn trao đổi liệu, người gửi cần tin tưởng trung tâm chứng thực chứng truy nhập PT khóa cơng khai đưa vào danh mục công cộng người dùng Sử dụng hệ thống đảm bảo tính xác thực với tham số công cộng: Đặc điểm phương pháp phân phối khóa cơng khai theo kiểu sử dụng hệ thống đảm bảo tính xác thực với tham số công cộng sau: Các hệ thống dựa định danh (Identity-based systems) sử dụng khóa chứng thực (implicitly certified keys) Ưu điểm phương pháp hệ thống có khả phát sửa đổi với tham số cơng cộng 5.3.2 Chứng xác thực khóa cơng khai X.509 Trong kỹ thuật phân phối thỏa thuận khóa cơng khai có sử dụng nhiều giao thức để phân phối khóa Trong giảng phân tích làm rõ quy trình hoạt động chứng xác thực khóa cơng khai X.509 140 Bài giảng Mật mã học sở Chương X.509 (v3) chứng xác thực khóa cơng khai sử dụng phổ biến nay, ITU đưa lần vào năm 1988 Dịch vụ xác thực X.509 hầu hết nhà cung cấp PKI triển khai Các thành phần X.509 bao gồm: - Version: xác định phiên chứng - Serial Number: CA cấp, định danh - Signature Algorithm: thuật tốn CA sử dụng để kí chứng - Issuer Name: tên CA thực cấp chứng - Validity Period: khoảng thời gian chứng có hiệu lực, gồm giá trị: “not before” – thời gian chứng bắt đầu có hiệu lực “not after” – thời gian chứng hết hiệu lực - Subject Name: xác định thực thể mà khố cơng khai thực thể xác nhận Tên subject phải thực thể CA xác nhận Public Key: chứa khố cơng khai tham số liên quan; xác định thuật tốn IT - (ví dụ RSA) sử dụng với khoá - Issuer Unique ID: trường không bắt buộc, trường cho phép sử dụng lại tên - PT người cấp Trường sử dụng triển khai thực tế Subject Unique ID: trường tùy chọn, cho phép sử dụng lại tên Subject hạn Trường sử dụng thực tế - Extensions: có chứng X.509v3 - Signature: gồm có phần Phần chứa tất trường lại chứng Phần chứa tóm tắt phần mã hóa khóa cơng khai CA Phần gồm thuật toán sử dụng phần Trong X.509 bao gồm thủ tục xác thực tùy chọn: - Xác thực chiều (One-way Authentication): giúp xác nhận danh tính A tin từ A gửi Hình 5.10 mơ tả chế xác thực 141 Bài giảng Mật mã học sở Chương Thơng điệp A B Hình 10 Cơ chế xác thực chiều - Xác thực hai chiều (Two-way Authentication): Xác thực thực thể với tem thời gian Thơng điệp A B Trả lời Hình 11 Cơ chế xác thực hai chiều Các ký hiệu sử dụng trình trao đổi: IT tA, tB: tem thời gian A B tạo ra, rõ thời gian hết hạn thông điệp; rA, rB: số ngẫu nhiên sinh A, B không dùng lại (để tránh công kiểu phát lại); PT PA(k1), PB(k2): mã liệu k1/k2; mã hóa khóa cơng khai A/B SA(DA), SB(DB): chữ ký A/B, sử dụng khóa riêng A/B liệu DA/DB certA, certB: chứng số A/B, kết hợp khóa cơng khai A/B với thông tin định danh A/B Khóa cơng khai A/B cho phép mã hóa kiểm tra chữ ký (giải mã) Các bước thực trình trao đổi sau: A tạo DA gửi cho B thông điệp (1) Các thành phần data1 khóa bí mật k1 tùy chọn; DA = (tA, rA, B, data1*, PB(k1)*) A → B: certA, DA, SA(DA) (1) B kiểm tra tính xác thực certA (kiểm tra chữ ký, ngày hết hạn,…), tách lấy khóa cơng khai A kiểm tra chữ ký A khối liệu DA B kiểm tra định danh thơng điệp (1), tem thời gian tA A, tham số rA có bị lặp (dùng lại) hay khơng Nếu tất kiểm tra cho kết hợp lệ, B xác nhận việc xác thực A thành công B giải mã PB(k1) sử dụng khóa riêng 142 Bài giảng Mật mã học sở Chương lưu k1 làm khóa chia sẻ Sau đó, B tạo DB gửi cho A thông điệp (2) Các thành phần data2 khóa bí mật k2 tùy chọn: DB = (tB, rB, A, rA, data2*, PA(k2)*) B → A: certB, DB, SB(DB) (2) A sau nhận thông điệp từ B, tiến hành thủ tục kiểm tra thông tin thông điệp (2) tương tự B thực Nếu tất kiểm tra cho kết hợp lệ, A xác nhận việc xác thực B thành công Sau đó, A lưu khóa k2 để sử dụng Kết luận: Như A B xác thực chia sẻ khóa k1 k2 - Xác thực ba chiều (Three-way Authentication): Xác thực thực thể sử dụng giao thức Thách thức – Trả lời IT A Thơng điệp Trả lời B Trả lời Hình 12 Cơ chế xác thực ba chiều PT Nhìn chung, thủ tục xác thực ba chiều giống với xác thực hai chiều Tuy nhiên, xác thực ba chiều có số điểm khác biệt sau: Tem thời gian tA, tB đặt không cần kiểm tra; Khi nhận thông điệp (2), A kiểm tra rA nhận phải giống rA ban đầu; A gửi thông điệp thứ cho B: A → B: (rB, B), SA(rB, B) (3) Khi nhận thông điệp (3), B kiểm tra chữ ký trùng với chuỗi tạo từ rõ, định danh B phải khớp tham số rB nhận phải trùng với rB gửi thông điệp (2) 5.4 PHÂN PHỐI VÀ THỎA THUẬN KHÓA KẾT HỢP 5.4.1 Giới thiệu chung Phương pháp mã hóa khóa cơng khai có đặc điểm thời gian mã hóa giải mã chậm phương pháp mã hóa khóa đối xứng Chính thế, phân phối khóa, có 143 Bài giảng Mật mã học sở Chương phương pháp kết hợp sử dụng khóa cơng khai để thiết lập khóa bí mật dùng cho phiên trao đổi liệu Hình 5.13 mơ tả q trình thiết lập khóa phiên A B Hình 13 Q trình thiết lập khóa phiên hai thực thể Theo hình 5.13, bước thực cụ thể sau: A gửi chứng xác thực CA cho B; - B gửi chứng xác thực CB cho A; - Sau xác thực với nhau, A tạo khóa phiên KS tiến hành bước mã hóa: IT - Mã hóa KS khóa bí mật KRA A: E(KS, KRA); Mã hóa E(KS, KRA) khóa cơng khai B: E(E(KS, KRA), KUB); - PT A gửi cho B thông điệp vừa mã hóa B nhận thơng điệp tiến hành bước giải mã: Dùng khóa bí mật B để giải mã thông điệp, thu E(KS, KRA); Dùng khóa cơng khai A để tiếp tục giải mã E(KS, KRA), thu khóa phiên KS; Như vậy, A B dùng khóa phiên KS để tiến hành trao đổi thông tin Sau kết thúc việc trao đổi thông tin, KS bị hủy bỏ 5.4.2 Giao thức Diffie-Hellman Một giao thức phân phối thỏa thuận khóa kết hợp giao thức Diffie-Hellman Trong tài liệu tập trung mô tả Diffie-Hellman để làm rõ nguyên tắc phân phối thỏa thuận khóa giao thức Điểm cần lưu ý số tài liệu, giao thức Diffie-Hellman coi giao thức quản lý phân phối khóa cơng khai Tuy nhiên, quy trình quản lý phân phối khóa, giao thức có sử dụng khóa cơng 144 Bài giảng Mật mã học sở Chương khai để trao đổi khóa bí mật Chính vậy, coi giao thức Diffie-Hellman giao thức phân phối thỏa thuận khóa kết hợp Giao thức Diffie-Hellman công bố lần Whitfield Diffie Martin Hellman vào năm 1976, trước vài năm phát minh cách độc lập quan tình báo Anh, James H Ellis, Clifford Cocks Malcolm J Williamson giữ bí mật Năm 2002, Hellman đề xuất thuật tốn nên gọi trao đổi khóa Diffie–Hellman–Merkle để ghi nhận đóng góp Ralph Merkle việc phát PT IT minh lĩnh vực mật mã hóa khóa cơng khai Hình 14 Sơ đồ ví dụ việc trao đổi khóa Hình 5.14 minh họa ý tưởng việc trao đổi khóa thơng qua ví dụ màu sơn Điểm chủ chốt ý tưởng Alice Bob trao đổi màu sơn bí mật thông qua hỗn hợp sơn Ý tưởng trao đổi Alice Bob (hình 5.14) thực cụ thể sau: 145 Bài giảng Mật mã học sở - Chương Đầu tiên Alice Bob trộn màu biết chung (màu vàng) với màu bí mật riêng người Sau đó, người chuyển hỗn hợp tới người thơng qua kênh vận chuyển công cộng; Khi nhận hỗn hợp người kia, người trộn thêm với màu bí mật riêng nhận hỗn hợp cuối Hỗn hợp sơn cuối hoàn toàn giống cho hai người có riêng hai người biết Mấu chốt người ngồi khó (về mặt tính tốn) cho họ để tìm hỗn hợp bí mật chung hai người (nghĩa hỗn hợp cuối cùng) Alice Bob sử dụng hỗn hợp bí mật chung để mã hóa giải mã liệu truyền kênh công cộng Lưu ý: Màu sơn (màu vàng) tùy ý lựa chọn, thỏa thuận trước Alice Bob Màu sơn giả sử khơng bí mật người thứ ba mà khơng làm lộ bí mật chung cuối Alice Bob Giao thức IT diễn giải dạng toán học bảng 5.3 Bảng Bảng diễn giải giao thức Diffie-Hellman Bob Tính PT Alice Bí Cơng khai mật a p, g a p, g, A a p, g, A a, s p, g, A, B Gửi a A = g mod p p, g → A→ ←B s = Ba mod p Cơng khai Tính b B = g mod p s = Ab mod p Bí mật b b p, g p, g, b A, B p, g, B, s A, B Giao thức sử dụng nhóm nhân số nguyên modulo p, p số nguyên tố, g nguyên thủy mod p Các bước thực hiện: Đầu tiên, Alice Bob thỏa thuận dùng chung số nguyên tố p số nguyên thủy g; Alice chọn số ngẫu nhiên bí mật a (0 ≤ a ≤ p-2), tính: A = ga mod p Alice gửi cho Bob giá trị A 146 Bài giảng Mật mã học sở Chương Bob chọn số ngẫu nhiên bí mật b (0 ≤ b ≤ p-2), tính: B = gb mod p Bob gửi cho Alice giá trị B Alice tính s = Ba mod p Bob tính s = Ab mod p Alice Bob có khóa chung s sử dụng để trao đổi thông tin Trong thực tế, để giao thức an toàn, người ta sử dụng giá trị lớn cho a, b, p (trong ví dụ có tổng cộng 23 kết khác cho n mod 23; kẻ cơng cần thử hết 23 trường hợp tìm khóa bí mật) Nếu số ngun tố p có 300 chữ số, cịn a b có 100 chữ số, máy tính đại khơng thể tìm a biết g, p, gb mod p ga mod p Đây gọi IT tốn Lơgarit rời rạc, chưa có cách giải hiệu máy tính (vì sử dụng để tạo khóa cơng khai) Tham số g khơng cần thiết ngun thủy có giá trị lớn Trong thực tế người ta hay sử dụng giá trị 2, PT Ví dụ quy trình trao đổi khóa Alice Bob: Alice Bob thỏa thuận sử dụng chung số nguyên tố p=23 nguyên thủy g=5 Alice chọn số nguyên bí mật a=6, gửi cho Bob giá trị A A = 56 mod 23 = Bob chọn số nguyên bí mật b=15, gửi cho Alice giá trị B B = 515 mod 23 = 19 Alice tính s: s = 196 mod 23 = Bob tính s: s = 815 mod 23 = Như vậy, Alice Bob chia sẻ khóa bí mật chung s=2 Một điểm ý giao thức Diffie-Hellman giao thức không giới hạn việc thỏa thuận khóa cho hai bên tham gia Bất kỳ số lượng người sử dụng tham gia vào giao thức để tạo khóa bí mật chung cách thực lặp lại 147 Bài giảng Mật mã học sở Chương bước trao đổi thơng tin tính tốn giao thức Ví dụ làm rõ nhận định Alice, Bob Carol tham gia trao đổi thông tin sử dụng giao thức DiffieHellman để thỏa thuận khóa Q trình trao đổi khóa diễn sau (lưu ý: tất tính tốn dựa modulo p): Các bên thỏa thuận trước tham số p g; Mỗi bên tự tạo khóa bí mật, a, b, c; Alice tính ga mod p gửi cho Bob; Bob tính (ga)b mod p = gab mod p gửi cho Carol; Carol tính (gab)c mod p = gabc mod p giữ bí mật giá trị Đây khóa bí mật chia sẻ, Carol dùng để trao đổi thông tin với Alice Bob; IT Bob tính gb mod p gửi cho Carol; Carol tính (gb)c mod p = gbc mod p gửi cho Alice; Alice tính (gbc)a mod p = gbca mod p giữ bí mật giá trị Đây khóa bí PT mật chia sẻ, Alice dùng để trao đổi thông tin với Bob Carol; Carol tính gc mod p gửi cho Alice; Alice tính (gc)a mod p = gca mod p gửi cho Bob; Bob tính (gca)b mod p = gcab mod p giữ bí mật giá trị Đây khóa bí mật chia sẻ, Bob dùng để trao đổi thông tin với Alice Carol Trong thực tế, nhóm nhiều hai người tiến hành trao đổi khóa, phát sinh vấn đề, là: thứ tự trao đổi khóa thành viên nhóm diễn để đảm bảo tất người tham gia tạo khóa biết khóa chung bí mật? Để giải vấn đề này, người ta đưa phương pháp sau: - Phương pháp vòng tròn: Là phương pháp đơn giản dễ hiểu Cách thức làm việc phương pháp sau: N người tham gia xếp theo vịng trịn; N khóa chuyển theo vịng trịn khóa chuyển tới tất N người tham gia (kết thúc với người sở hữu khóa đó); 148 Bài giảng Mật mã học sở Chương Mỗi người tham gia phải thực N phép tính modulo lũy thừa - Phương pháp chia để trị: Giúp giảm số lượng phép tính modulo lũy thừa người xuống, log2(N) + Dưới trình bày ví dụ trao đổi khóa hệ thống gồm người (N=8): Mỗi người A, B, C, D thực phép tính lũy thừa để tính gabcd mod p Giá trị gửi đến E, F, G, H Ngược lại, E, F, G, H thực tính gefgh mod p để gửi đến A, B, C, D A B, người thực phép tính lũy thừa để tính gefghab mod p gửi cho C, D Ngược lại, C D làm tương tự để gửi cho A B giá trị gefghcd mod p Tương tự, E F tính gabcdef mod p gửi cho G H; G H tính gabcdgh mod p gửi cho E F IT A thực tính gefghcda mod p để gửi cho B B tính gefghcdb mod p để gửi cho A C D, E F, G H thực công việc tương tự A thực phép tính cuối tính gefghcdba mod p = gabcdefgh mod p giữ bí mật PT giá trị B tính gefghcdab mod p = gabcdefgh mod p C tính gefghabdc mod p = gabcdefgh mod p D tính gefghabcd mod p = gabcdefgh mod p E tính gabcdghfe mod p = gabcdefgh mod p F tính gabcdghef mod p = gabcdefgh mod p G tính gabcdefhg mod p = gabcdefgh mod p H tính gabcdefgh mod p = gabcdefgh mod p Như vậy, gabcdefgh mod p khóa bí mật chia sẻ người Mỗi người cần thực phép tính lũy thừa thay phép tính lũy thừa phương pháp vòng tròn 5.5 CÂU HỎI VÀ BÀI TẬP 1) Hãy trình bày khái niệm quản lý khóa? Quản lý khóa cung cấp tính gì? Các mối đe dọa mà quản lý khóa gặp phải? 2) Hãy cho biết đặc điểm chung kỹ thuật phân phối thỏa thuận khóa bí mật? 149 Bài giảng Mật mã học sở Chương 3) Hãy trình bày KDC KTC? Hãy so sánh kỹ thuật này? 4) Hãy nêu bước q trình trao đổi khóa giao thức NeedhamSchroeder? 5) Hãy nêu bước q trình trao đổi khóa giao thức Otway-Rees? 6) Hãy trình bày giao thức khơng khóa Shamir? 7) Hãy nêu bước hoạt động giao thức Kerberos? 8) Hãy cho biết đặc điểm chung kỹ thuật phân phối khóa cơng khai? 9) Hãy trình bày chứng xác thực khóa cơng khai X.509? 10) Hãy trình bày kỹ thuật phân phối thỏa thuận khóa kết hợp? 11) Hãy nêu bước giao thức thỏa thuận khóa Diffie-Hellman? Các điểm PT IT cần lưu ý sử dụng giao thức này? 150 Bài giảng Mật mã học sở TÀI LIỆU THAM KHẢO TÀI LIỆU THAM KHẢO [1] Nguyễn Bình, Ngơ Đức Thiện Cơ sở mật mã học Học Viện Công Nghệ Bưu Chính Viễn Thơng, 2013 237 trang [2] Behrouz A Forouzan Introduction to cryptography and network security Moscow, 2010, 784p [3] Nguyễn Khanh Văn Cơ sở an tồn thơng tin Đại học Bách khoa Hà Nội, 2014 230 trang [4] William Stallings, Cryptography and Network Security, Prentice Hall, 2010 [5] Jonathan Katz and Yehuda Lindell, Introduction to Modern Cryptography, Chapman & Hall/ CRC, 2007 in C, Wiley, 1996 IT [6] Bruce Schneier, Applied Cryptography: Protocols, Algorithms, and Source Code [7] Clifford Neuman, Tom Yu, Sam Hartman, Kenneth Raeburn, The Kerberos Network Authentication Service (V5), 2005 PT [8] Bc Tomáš Král, Advanced authentication in Java applications using Kerberos protocol, 2011 [9] Refik Molva, Gene Tsudik, Els Van Herreweghenz, Stefano Zattiz, KryptoKnight Authentication and Key Distribution System, 1993 [10] Ray Bird, Inder Gopal, Amir Herzberg, Phil Janson, Shay Kutten, Refik Molva, Moti Yung, The KryptoKnight Family of Light-Weight Protocols for Authentication and Key Distribution, 1993 151 152 IT PT ... mã học 13 Bài giảng Mật mã học sở Chương Mật mã học cổ điển: cách khoảng 4500 năm người Hy Lạp cổ đại sử dụng kỹ thuật mật mã ví dụ gậy mật mã Cũng có chứng cho thấy người La Mã nắm kỹ thuật mật. .. quan trọng mật mã, khái niệm toán học mật mã; thuật toán mã hóa PT thơng dụng; hàm băm; vấn đề quản lý phân phối khóa; số ứng dụng mật mã thực tế Bài giảng ? ?Mật mã học sở? ?? biên soạn sở đề cương... Môn học ? ?Mật mã học sở? ?? môn sở chuyên ngành thuộc chương trình đào IT tạo đại học ngành An tồn thơng tin Học Viện Cơng Nghệ Bưu Chính Viễn Thơng Mơn học cung cấp cho sinh viên kiến thức mật mã học