Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 70 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
70
Dung lượng
1,29 MB
Nội dung
MỤC LỤC MỤC LỤC .1 LỜI CẢM ƠN MỞ ĐẦU Chương CÁC KHÁI NIỆM CƠ BẢN .6 1.1 MỘT SỐ KHÁI NIỆM TOÁN HỌC 1.1.1 Số nguyên tố nguyên tố 1.1.2 Đồng dư thức 1.1.3 Không gian Zn Zn* 1.1.4 Phần tử nghịch đảo .7 1.1.5 Khái niệm nhóm, nhóm con, nhóm Cyclic 1.1.6 Bộ phần tử sinh (Generator-tuple) 1.1.7 Bài toán đại diện (Presentation problem) 1.1.8 Hàm băm 11 1.2 CÁC KHÁI NIỆM VỀ MÃ HOÁ 12 1.2.1 Khái niệm mã hóa 12 1.2.1.1 Hệ mã hóa .12 1.2.1.2 Những khả hệ mật mã .13 1.2.2 Các phương pháp mã hóa 14 1.2.2.1 Mã hóa đối xứng .14 1.2.2.2 Mã hóa phi đối xứng (Mã hóa cơng khai) 15 1.2.3 Một số hệ mã hoá cụ thể 16 1.2.3.1 Hệ mã hoá RSA 16 1.2.3.2 Hệ mã hoá ElGamal 16 1.2.3.3 Mã hoá đồng cấu 17 1.2.3.4 Mã nhị phân .18 1.3 KHÁI NIỆM VỀ KÝ ĐIỆN TỬ 20 1.3.1 Định nghĩa 20 1.3.2 Phân loại sơ đồ chữ ký điện tử 20 1.3.3 Một số sơ đồ ký số 21 1.3.3.1 Sơ đồ chữ ký Elgamal 21 1.3.3.2 Sơ đồ chữ ký RSA .22 1.3.3.3 Sơ đồ chữ ký Schnorr 23 Chương 2: XÁC THỰC BẰNG CHỨNG CHỈ SỐ 24 2.1 VẤN ĐỀ XÁC THỰC 24 2.2 CHỨNG CHỈ SỐ 27 2.2.1 Xác thực định danh 28 2.2.2 Chứng khóa cơng khai 29 2.2.3 Mơ hình CA 31 2.2.4 Thời hạn tồn việc thu hồi chứng .33 2.2.5 Khuôn dạng chứng số theo chuẩn X.509 35 2.2.5.1 Khuôn dạng chứng số X.509 ver 1, ver 36 2.2.5.2 Đặt tên X.509 ver 1, ver 37 2.2.5.3 Đăng ký đối tượng 37 2.2.5.4 Chứng X.509 ver 38 Chương 3: CHƯƠNG TRÌNH MƠ PHỎNG 40 3.1 MƠ TẢ BÀI TỐN .40 3.2 MÔ HÌNH XÁC THỰC SỬ DỤNG CHỨNG CHỈ SỐ 41 3.2.1 Xin cấp chứng số 41 3.2.1.1 Sơ đồ trình xin cấp chứng số 42 3.2.1.2 Kĩ thuật thực .43 3.2.2.1 Sơ đồ trình xác thực từ xa chứng số 45 3.2.2.2 Kĩ thuật thực .46 3.2.3 Giao diện chương trình .47 3.2.3.1 Giao diện trang chủ: 47 3.2.3.1 Giao diện trang đăng kí: 48 Hình 11: Giao diện đăng kí 48 3.2.3.1 Giao diện trang đăng nhập: .49 3.2.3.2 Chứng tạo ra: 50 3.2.3.3 Khóa riêng tạo thành: 51 KẾT LUẬN 53 TÀI LIỆU THAM KHẢO 54 PHỤ LỤC 55 LỜI CẢM ƠN Để hồn thành đồ án này, tơi nhận nhiều giúp đỡ, bảo tận tình động viên người xung quanh Xin gửi lời cảm ơn tới tất người, đặc biệt xin chân thành cảm ơn: Sự quan tâm giúp đỡ, bảo nhiệt tình Thạc sỹ Trần Ngọc Thái - Bộ môn Công nghệ thông tin trường Đại học dân lập Hải Phòng Sự giúp đỡ tạo điều kiện thầy cô Ban giám hiệu nhà trường nói chung Bộ mơn cơng nghệ thơng tin nói riêng MỞ ĐẦU Ngày nay, việc ứng dụng công nghệ thông tin vào mặt đời sống mang lại kết to lớn cho xã hội, đặc biệt ứng dụng mạng Internet thời đại thông tin Thế thách thức bảo mật mạng lại nảy sinh chất chia sẻ tồn cầu Do để có giao dịch trực tuyến an toàn vấn đề cấp bách thiết yếu! Vấn đề xác thực trở thành vấn đề nóng bỏng Xác thực xác minh, kiểm tra thông tin hay thực thể để cơng nhận bác bỏ tính hợp lệ thơng tin hay thực thể Đây yêu cầu quan trọng giao tiếp cần có tin cậy đối tượng tham gia trao đổi thơng tin Trên thực tế, có số hình thức xác thực thực thể chứng minh thư, giấy phép lái xe, giấy tờ cá nhân khác, xác thực tính an tồn thơng tin chữ ký, dấu Cịn chứng số “chứng minh thư giới điện tử” Trong đồ án nghiên cứu phương pháp xác thực dùng chứng số Đồ án gồm chương: Chương 1: Các khái niệm – Trình bày sở toán học khái niệm an tồn bảo mật thơng tin Chương 2: Xác thực chứng số – Trình khái niệm, phân loại cách sử dụng chứng số xác thực điện tử Chương 3: Chương trình mơ – Xây dựng chương trình mơ sử dụng chứng số xác thực thành viên mạng Internet Chương CÁC KHÁI NIỆM CƠ BẢN 1.1 MỘT SỐ KHÁI NIỆM TOÁN HỌC 1.1.1 Số nguyên tố nguyên tố Số nguyên tố số ngun dương chia hết cho Ví dụ: 2, 3, 5, 7, 17, … số nguyên tố Hệ mật mã thường sử dụng số nguyên tố lớn 10150 Hai số m n gọi nguyên tố ước số chung lớn chúng Ký hiệu: gcd(m, n) = Ví dụ: 14 nguyên tố 1.1.2 Đồng dư thức Cho a b số nguyên tố, n số nguyên dương a gọi đồng dư với b theo modulo n n|a-b (tức a - b chia hết cho n, hay chia a b cho n số dư nhau) Số nguyên n gọi modulo đồng dư Kí hiệu: a ≡ b (mod n) Ví dụ: 67 ≡ 11 (mod 7), 67 (mod 7) = 11 (mod 7) = Tính chất đồng dư: Cho a, a1, b, b1, c Z Ta có tính chất: a ≡ b mod n a b có số dư chia cho n Tính phản xạ: a ≡ a mod n Tính đối xứng: Nếu a ≡ b mod n b ≡ a mod n Tính giao hốn: Nếu a ≡ b mod n b ≡ c mod n a ≡ c mod n Nếu a ≡ a1 mod n, b ≡ b1 mod n a + b ≡ (a1 + b1) mod n ab ≡ a1b1 mod n 1.1.3 Không gian Zn Zn* Không gian Zn (các số nguyên theo modulo n) Là tập hợp số nguyên {0, 1, 2, …, n-1} Các phép toán Zn cộng, trừ, nhân, chia thực theo module n Ví dụ: Z11 = {0, 1, 2, 3, …, 10} Trong Z11: + = 2, + = 13≡ (mod 11) Không gian Zn* Là tập hợp số nguyên p Zn, nguyên tố n Tức là: Zn* = {p Zn | gcd (n, p) =1}, (n) số phần tử Zn* Nếu n số nguyên tố thì: Zn* = {p Zn |1 ≤ p ≤ n-1} Ví dụ: Z2 = {0, 1} Z2* = {1} gcd(1, 2) = 1.1.4 Phần tử nghịch đảo Định nghĩa: Cho a Zn Nghịch đảo a theo modulo n số nguyên x Zn cho ax ≡ (mod n) Nếu x tồn giá trị nhất, a gọi khả nghịch, nghịch đảo a ký hiệu a-1 Tính chất: Cho a, b Zn Phép chia a cho b theo modulo n tích a b-1 theo modulo n, xác định b có nghịch đảo theo modulo n Cho a Zn, a khả nghịch gcd(a, n) = Giả sử d=gcd (a, n) Phương trình đồng dư ax ≡ b mod n có nghiệm x d chia hết cho b, trường hợp nghiệm d nằm khoảng đến n - nghiệm đồng dư theo modulo n/d Ví dụ: 4-1 = (mod 9) 4.7 ≡ (mod 9) 1.1.5 Khái niệm nhóm, nhóm con, nhóm Cyclic Nhóm phần tử (G, *) thỏa mãn tính chất: Kết hợp: ( x * y ) * z = x * ( y * z ) Tồn phần tử trung lập e G: e * x= x * e = x , x G Tồn phần tử nghịch đảo x’ G: x’ * x = x * x’ = e Nhóm nhóm (G,*) phần tử (S,*) thỏa mãn tính chất: S G, phần tử trung lập e S x, y S => x * y S Nhóm Cyclic: Là nhóm mà phần tử sinh từ phần tử đặc biệt g G Phần tử gọi phần tử sinh (nguyên thủy), tức là: Với x G: n N mà gn = x Ví dụ: (Z+, *) nhóm cyclic có phần tử sinh Định nghĩa: Ta gọi Cấp nhóm số phần tử nhóm Như vậy, nhóm Zn* có cấp (n) Nếu p số ngun tố nhóm Zp* có cấp p-1 Định nghĩa: Cho a Zn*, cấp a ký hiệu ord(a) định nghĩa số nguyên dương nhỏ t thoả mãn: at ≡ (mod n) Ví dụ: Z21*={1, 2, 4, 5, 8, 10, 11, 13, 16, 17, 19, 20}, (21) = 12 = |Z21*| cấp thành phần Z21* là: a Z21* Cấp a 6 10 11 13 16 17 19 20 1.1.6 Bộ phần tử sinh (Generator-tuple) {g1, , gk} gọi phần tử sinh gi phần tử sinh phần tử khác (gi ≠ gj i ≠ j) Ví dụ: {3, 5} phần tử sinh Z7*, vì: = 36 mod = 56 mod = 32 mod = 54 mod = 31 mod = 55 mod = 34 mod = 52 mod = 35 mod = 51 mod = 33 mod = 53 mod phần tử sinh Z7*, vì: {2, 22, 23 , 24, 25 , 26} = {2,4,1,2,4,1} {1,2,4} Tuy nhiên {1,2,4} tập {1, 2, 3, 4, 5, 6} = Z7*, số gọi “phần tử sinh nhóm G(3)”, G(3) nhóm có thành phần {1,2,4} 1.1.7 Bài tốn đại diện (Presentation problem) Gọi g phần tử sinh nhóm G(q) thuộc Zn* Bài tốn logarit rời rạc liên quan đến việc tìm số mũ a, cho: a = loggh mod n (với h G(q)) Cho k>= 2, 1