1. Trang chủ
  2. » Luận Văn - Báo Cáo

NGHIÊN CỨU, THỰC THI LƯỢC ĐỒ THIẾT LẬP KHÓA NHÓM DỰA TRÊN CÂY DỮ LIỆU NHỊ PHÂN THEO TIÊU CHUẨN ISOIEC 117705

82 0 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

NGHIÊN CỨU, THỰC THI LƯỢC ĐỒ THIẾT LẬP KHÓA NHÓM DỰA TRÊN CÂY DỮ LIỆU NHỊ PHÂN THEO TIÊU CHUẨN ISOIEC 117705 Trong hệ mật đối xứng, vấn đề về quản lý khóa đóng vai trò rất quan trọng trong hoạt động của các hệ mật cũng như giao thức mật mã có cài đặt hệ mật khóa đối xứng. Những năm gần đây, các nhà mật mã học đã nghiên cứu và đưa ra nhiều công bố về các lược đồ thiết lập khóa cho hệ mật khóa bí mật. Những lược đồ (giao thức) thiết lập khóa rất nổi tiếng được áp dụng rộng rãi như DiffieHellman hay Kerberos. Đây là những lược đồ thiết lập khóa cho từng hai bên đối tác liên lạc trên kênh truyền an toàn. Ngoài những công bố về các lược đồ thiết lập khóa cho hai người dùng đơn lẻ trong một phiên liên lạc thì còn có những công bố về các lược đồ thiết lập khóa nhóm với ưu điểm cung cấp khóa phiên liên lạc cho một nhóm người dùng thay vì chỉ cung cấp khóa cho hai bên liên lạc. Các lược đồ thiết lập khóa nhóm được chuẩn hóa trong chuẩn ISOIEC 11770 5 ngoài ưu điểm cung cấp khóa cho một nhóm người dùng còn có những ưu điểm về sự an toàn và hiệu quả trong cài đặt và rất tốt khi áp dụng cho các tổ chức doanh nghiệp với nhiều người dùng. Vì vậy, em chọn đề tài Nghiên cứu và thực thi thiết lập khóa nhóm dựa trên cây dữ liệu nhị phân theo chuẩn ISOIEC 117705. Nội dung của đề tài bao gồm ba chương: CHƯƠNG 1: TỔNG QUAN VỀ CÂY DỮ LIỆU NHỊ PHÂN VÀ QUẢN LÝ KHÓA NHÓM TRONG MẬT MÃ Chương này trình bày tìm hiểu Tổng quan về kiến trúc cây dữ liệu và vấn đề phân phối khóa nhóm trong mật mã. Tổng quan về kiến trúc cây dữ liệu. Lịch sử phát triển khóa nhóm trong mật mã. Vấn đề khóa nhóm và phân phối khóa nhóm trong mật mã. Ứng dụng của cây dữ liệu trong sinh, phân phối khóa nhóm trong mật mã. CHƯƠNG 2: CÁC LƯỢC ĐỒ THIẾT LẬP KHÓA NHÓM THEO CHUẨN ISOIEC 117705 Chương này trình bày Nghiên cứu, tìm hiểu cơ chế thiết lập khóa nhóm dựa trên khóa đối xứng trong tiêu chuẩn ISOIEC 117705. 2 Các kiến trúc cây dữ liệu trong chuẩn ISOIEC 117705. Các tiến trình thiết lập khóa trên cây dữ liệu nhị phân trong tiêu chuẩn ISOIEC 117705: quá trình tham gia, quá trình dời đi, quá trình cập nhật lại khóa. Các lược đồ thiết lập khóa dựa trên khóa đối xứng. Đánh giá sự hiệu quả và tính an toàn của hai cơ chế thiết lập khóa trong chuẩn ISOIEC 117705. CHƯƠNG 3: THỰC THI MÔ PHỎNG LƯỢC ĐỒ THIẾT LẬP KHÓA TRONG CHUẨN ISOIEC 117705 Chương này thực thi mô phỏng lược đồ thiết lập khóa nhóm trong chuẩn ISOIEC 117705: Các môđun chương trình thiết lập lược đồ khóa nhóm. Thử nghiệm chương trình mô phỏng. Xây dựng ứng dụng mã hóa dữ liệu sử dụng mã hóa khối AES để mã hóa thông điệp và khóa nhóm bằng khóa được sinh ra từ chương trình mô phỏng để đảm bảo an toàn trong liên lạc nhóm.

ĐẠI HỌC BÁCH KHOA HÀ NỘI LUẬN VĂN THẠC SĨ NGHIÊN CỨU, THỰC THI LƯỢC ĐỒ THIẾT LẬP KHÓA NHÓM DỰA TRÊN CÂY DỮ LIỆU NHỊ PHÂN THEO TIÊU CHUẨN ISO/IEC 11770-5 Nguyen Thanh Long Hà Nội - 2023 MỤC LỤC LỜI CẢM ƠN Lỗi! Thẻ đánh dấu không được xác định LỜI CAM ĐOAN Lỗi! Thẻ đánh dấu không được xác định MỤC LỤC i DANH MỤC HÌNH ẢNH iii DANH MỤC BẢNG BIỂU v DANH MỤC VIẾT TẮT vi LỜI MỞ ĐẦU CHƯƠNG TỔNG QUAN VỀ CÂY DỮ LIỆU NHỊ PHÂN VÀ QUẢN LÝ KHÓA NHÓM TRONG MẬT MÃ 1.1 Tổng quan kiến trúc liệu 1.1.1 Các khái niệm liệu 1.1.2 Cây nhị phân .4 1.1.3 Cây nhị phân tìm kiếm 1.2 Tổng quan khóa nhóm phân phối khóa nhóm mật mã 1.2.1 Giới thiệu 1.2.2 Lịch sử phát triển các lược đồ quản lý khóa nhóm 1.2.3 Các vấn đề khóa nhóm quản lý phân phối khóa nhóm mật mã 14 1.3 Kết luận chương 22 CHƯƠNG CÁC LƯỢC ĐỒ THIẾT LẬP KHÓA NHÓM TRONG CHUẨN ISO-IEC 11770-5 23 2.1 Giới thiệu 23 2.2 Các yêu cầu 23 2.3 Cơ chế thiết lập khóa cho nhiều thực thể 24 2.3.1 Mơ hình chung 24 2.3.2 Quá trình tham gia 25 2.3.3 Quá trình rời 25 i 2.3.4 Quá trình cập nhật lại khóa 25 2.4 Các cấu trúc khóa logic 25 2.4.1 Cấu trúc d-ary 25 2.4.2 Cấu trúc chung 26 2.5 Cơ chế thiết lập khóa dựa khóa đối xứng 27 2.5.1 Cơ chế thiết lập khóa cập nhật khóa cá nhân 27 2.5.2 Cơ chế thiết lập khóa cập nhật lại khóa theo chuỗi 30 2.6 Đánh giá hiệu tính an tồn 32 2.6.1 Cập nhật khóa cá nhân 32 2.6.2 Cập nhật khóa theo chuỗi định kì 34 2.7 Kết luận chương 36 CHƯƠNG CÀI ĐẶT MƠ PHỎNG CÂY KHĨA NHỊ PHÂN VÀ ỨNG DỤNG MÃ HÓA DỮ LIỆU LƯU TRỮ 37 3.1 Các mô đun cài đặt khóa nhị phân 37 3.1.1 Mô đun sinh 37 3.1.2 Mơ đun xóa người dùng 39 3.1.3 Mô đun thêm người dùng 40 3.2 Thực nghiệm chương trình mơ khóa nhị phân 42 3.2.1 Sinh với n người dùng 42 3.2.2 Xóa người dùng 43 3.2.3 Thêm người dùng 45 3.2 Ứng dụng mã hóa liệu 47 3.2.1 Xây dựng ứng dụng mã hóa liệu AES – CBC – 256 47 3.3.2 Thử nghiệm chương trình mã hóa liệu AES – CBC - 256 48 3.3 Kết luận chương 53 KẾT LUẬN 54 TÀI LIÊU THAM KHẢO 55 PHỤ LỤC 56 PHỤ LỤC 63 ii DANH MỤC HÌNH ẢNH Hình 1.1 Cây nhị phân Hình 1.2 Các phương pháp quản lý khóa Hình 1.3 Hệ thống phân cấp khóa 17 Hình 1.4 Bộ khoá nút gốc nút anh em U4 18 Hình 1.5 Thành viên U2 tham gia nhóm 19 Hình 2.1 Mơ hình chung thiết lập khóa cho nhiều thực thể 24 Hình 2.2 Cấu trúc d-ary với d=2 26 Hình 2.3 Cấu trúc chung 26 Hình 2.4 Quá trình tham gia chế cập nhật lại khóa cá nhân 28 Hình 2.5 Quy trình khóa logic 29 Hình 2.6 Quy trình rời chế cập nhật lại khóa cá nhân 29 Hình 2.7 Quá trình tham gia chế cập nhật lại khóa theo chuỗi 31 Hình 2.8 Quá trình cập nhật khóa theo chuỗi 32 Hình 2.9 Vấn đề khơng đồng 34 Hình 2.10 Cửa sổ lỗ hổng an tồn 36 Hình 3.1 Lược đồ mơ đun sinh khóa 37 Hình 3.2 Lược đồ mơ đun xóa người dùng 39 Hình 3.3 Lược đồ mơ đun thêm người dùng 41 Hình 3.4 Cấu trúc khóa với thành viên 43 Hình 3.5 Cây được khởi tạo 43 Hình 3.6 Cấu trúc sau xóa node[11] 44 Hình 3.7 Cây sau xóa người dùng 44 Hình 3.8 Các khóa node ban đầu 45 Hình 3.9 Các khóa node xóa người dùng node[11] 45 Hình 3.10 Cấu trúc sau thêm người dùng vào vị trí node[11] 46 Hình 3.11 Cây sau thêm người dùng vị trí node[11] 46 Hình 3.12 Mơ hình AES – CBC – 256 47 Hình 3.13 Giao diện ứng dụng mã hóa giải mã AES – CBC – 256 48 Hình 3.14 Người dùng mã hóa thơng điệp khóa nhóm 49 Hình 3.15 Các người dùng khác dùng khóa nhóm để giải mã thơng điệp 49 Hình 3.16 Cây khóa 50 Hình 3.17 Mã hóa thơng điệp cập nhật khóa 51 Hình 3.18 Người dùng dùng IK3 giải mã thông điệp cập nhật khóa 51 iii Hình 3.19 Mơ hình sau thêm người dùng 52 Hình 3.20 Mã hóa thơng điệp cập nhật khóa IK9 52 Hình 3.21 Người dùng giải mã thơng điệp cập nhật khóa khóa cá nhân IK9 53 iv DANH MỤC BẢNG BIỂU Bảng 1.1 Sơ lược các lược đồ quản lý khóa tập trung 12 Bảng 1.2 Bảng khóa với w = 20 Bảng 1.3 Quá trình cập nhật lại khóa sau thành viên có định danh 20 Bảng 1.4 So sánh các lược đồ quản lý khóa tập trung 20 v DANH MỤC VIẾT TẮT GKM Group key management Quản lý khóa nhóm KS Key server Máy chủ khóa LKH Logic Key Hierarchy Hệ thống phân cấp khóa logic OFT One way function trees Cây hàm chiều KDC Key Distributed Centre Trung tâm phân phối khóa TEK Traffic Encryption Key Khóa mã hóa lưu lượng KEK Key Encryption Key Khóa mã hóa khóa CTR Chinese Remainder Định lý phần dư Trung Theorem Hoa vi LỜI MỞ ĐẦU Trong hệ mật đối xứng, vấn đề quản lý khóa đóng vai trị rất quan trọng hoạt động các hệ mật giao thức mật mã có cài đặt hệ mật khóa đối xứng Những năm gần đây, các nhà mật mã học nghiên cứu đưa nhiều công bố các lược đồ thiết lập khóa cho hệ mật khóa bí mật Những lược đồ (giao thức) thiết lập khóa rất tiếng được áp dụng rộng rãi Diffie-Hellman hay Kerberos Đây lược đồ thiết lập khóa cho hai bên đối tác liên lạc kênh truyền an tồn Ngồi cơng bố các lược đồ thiết lập khóa cho hai người dùng đơn lẻ phiên liên lạc cịn có cơng bố các lược đồ thiết lập khóa nhóm với ưu điểm cung cấp khóa phiên liên lạc cho nhóm người dùng thay cung cấp khóa cho hai bên liên lạc Các lược đồ thiết lập khóa nhóm được chuẩn hóa chuẩn ISO/IEC 117705 ngồi ưu điểm cung cấp khóa cho nhóm người dùng cịn có ưu điểm an toàn hiệu cài đặt rất tốt áp dụng cho các tổ chức doanh nghiệp với nhiều người dùng Vì vậy, em chọn đề tài Nghiên cứu thực thi thiết lập khóa nhóm dựa liệu nhị phân theo chuẩn ISO/IEC 11770-5 Nội dung đề tài bao gồm ba chương: CHƯƠNG 1: TỔNG QUAN VỀ CÂY DỮ LIỆU NHỊ PHÂN VÀ QUẢN LÝ KHÓA NHÓM TRONG MẬT MÃ Chương trình bày tìm hiểu Tổng quan kiến trúc liệu vấn đề phân phối khóa nhóm mật mã - Tổng quan kiến trúc liệu - Lịch sử phát triển khóa nhóm mật mã - Vấn đề khóa nhóm phân phối khóa nhóm mật mã - Ứng dụng liệu sinh, phân phối khóa nhóm mật mã CHƯƠNG 2: CÁC LƯỢC ĐỒ THIẾT LẬP KHĨA NHĨM THEO CHUẨN ISO/IEC 11770-5 Chương trình bày Nghiên cứu, tìm hiểu chế thiết lập khóa nhóm dựa khóa đối xứng tiêu chuẩn ISO/IEC 11770-5 - Các kiến trúc liệu chuẩn ISO/IEC 11770-5 - Các tiến trình thiết lập khóa liệu nhị phân tiêu chuẩn ISO/IEC 11770-5: quá trình tham gia, quá trình dời đi, quá trình cập nhật lại khóa - Các lược đồ thiết lập khóa dựa khóa đối xứng - Đánh giá hiệu tính an tồn hai chế thiết lập khóa chuẩn ISO/IEC 11770-5 CHƯƠNG 3: THỰC THI MƠ PHỎNG LƯỢC ĐỒ THIẾT LẬP KHĨA TRONG CHUẨN ISO/IEC 11770-5 Chương thực thi mô lược đồ thiết lập khóa nhóm chuẩn ISO/IEC 11770-5: - Các mơ-đun chương trình thiết lập lược đồ khóa nhóm - Thử nghiệm chương trình mơ - Xây dựng ứng dụng mã hóa liệu sử dụng mã hóa khối AES để mã hóa thơng điệp khóa nhóm khóa được sinh từ chương trình mơ để đảm bảo an tồn liên lạc nhóm CHƯƠNG TỔNG QUAN VỀ CÂY DỮ LIỆU NHỊ PHÂN VÀ QUẢN LÝ KHÓA NHÓM TRONG MẬT MÃ 1.1 Tổng quan kiến trúc liệu 1.1.1 Các khái niệm liệu Một (tree) - hình 1.1- gồm tập hữu hạn các nút (node) tập hữu hạn các cành (branch) nối các nút Cành vào nút gọi cành vào (indegree), cành khỏi nút gọi cành (outdegree) Số cành từ nút gọi bậc (degree) nút Nếu khơng rỗng phải có nút gọi nút gốc (root), nút khơng có cành vào Cây hình 1.1 có A nút gốc Các nút lại, nút phải có xác cành vào Tất các nút có 0, 1, nhiều số cành [1] A B E D C F G L M H I K N Hình 1.1 Cây nhị phân Nút lá (leaf) được định nghĩa nút mà số cành Các nút khơng phải nút gốc nút lá được gọi nút trung gian hay nút (internal node) Nút có số cành khác gọi nút cha (parent) các nút mà cành vào, các nút được gọi các nút (child) Các nút cha được gọi các nút anh em (sibling) với Nút nút cha gọi nút ơng (grandparent, số toán cần gọi tên để trình bày giải thuật) Như hình 1.1, các nút lá gồm: E, L, M, N, H, I, K; các nút trung gian gồm: B, F, D, G Nút G cha hai nút M N M N G, nút anh em với Đường (path) từ nút 𝑛1 đến nút 𝑛𝑘 được định nghĩa dãy các nút 𝑛1 , 𝑛2 , … , 𝑛𝑘 cho ni nút cha nút 𝑛𝑖+1 với ≤ 𝑖 < 𝑘 Chiều dài (length) đường số cành nó, 𝑘 − Mỗi nút có đường chiều dài t2 = clock(); a1 = ((double) (t2 - t2)) / CLOCKS_PER_SEC; printf("\nSo node cua cay = %d \n", num_node); //In cay print_tree(&mt_a); printf("Thoi gian xay dung cay %.10f seconds", a1); //xoa nguoi dung tai vi tri 11 cua cay t3 = clock(); delete_user(&mt_a, 11); t4 = clock(); a2 = ((double) (t4 - t3)) / CLOCKS_PER_SEC; //in cay printf("\nTree A sau xoa phan tu: \n"); print_tree(&mt_a); printf("Thoi gian xoa node %.10f seconds", a2); //Them nguoi dung tai vi tri 11 cua cay tree mt_b = {num_node+2, height_tree, KEY_SIZE, NULL}; clock(); t5 = clock(); add_user(&mt_a,&mt_b, 11); t6 = clock(); a3 = ((double) (t6 - t5)) / CLOCKS_PER_SEC; //in cay printf("\nTree A sau them nguoi dung: \n"); print_tree(&mt_b); printf("Thoi gian them user %.10f seconds", a3); free_tree(&mt_a); return 0; } 61 62 PHỤ LỤC XÂY DỰNG ỨNG DỤNG MÃ HÓA DỮ LIỆU AES – CBC – 256 - Tập tin hextool.h #include #include char *bin2hex(unsigned char *p, { char *hex = malloc(((2*len) char *r = hex; while(len && p) { (*r) = ((*p) & 0xF0) >> (*r) = ((*r)

Ngày đăng: 24/08/2023, 19:41

Xem thêm:

TÀI LIỆU CÙNG NGƯỜI DÙNG

  • Đang cập nhật ...

TÀI LIỆU LIÊN QUAN

w