Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 54 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
54
Dung lượng
860,95 KB
Nội dung
BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƢỜNG ĐẠI HỌC DÂN LẬP HẢI PHÒNG -o0o - TÌM HIỂU LƢỢC ĐỒ CHỮ KÝ SỐ CHỐNG CHỐI BỎ ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC HỆ CHÍNH QUY Ngành: Cơng nghệ Thơng tin Sinh viên thực hiện: Hồng Văn Hiệp Giáo viên hƣớng dẫn: TS Hồ Văn Canh Mã số sinh viên: 1351010042 HẢI PHÒNG - 2013 Đồ án tốt nghiệp Trƣờng ĐHDL Hải Phòng MỤC LỤC MỞ ĐẦU CHƢƠNG 1: MẬT MÃ KHĨA CƠNG KHAI 1.1 Lịch sử phát triển 1.1.1 Giới thiệu 1.1.2 Định nghĩa hệ mật 1.2 Một vài hệ mật đơn giản 1.2.1 Mã dịch chuyển 1.2.2 Mã thay 1.2.3 Mã Affine 1.2.4 Mã Vigenere 10 1.2.5 Mã hoán vị 11 1.3 Mật mã khố cơng khai 12 1.3.1 Cơ sở mật mã khóa cơng khai 13 1.3.2 Một số hệ mật điển hình 15 CHƢƠNG 2: CHỮ KÝ SỐ 19 2.1 Giới thiệu 19 2.2 Định nghĩa lƣợc đồ chữ ký số: 20 2.3 Một số lƣợc đồ chữ ký số 20 2.3.1 Lược đồ chữ ký RSA 20 2.3.2 Lược đồ chữ ký Elgamal 22 CHƢƠNG 3: HÀM HASH 26 3.1 Chữ ký hàm Hash 26 3.1.1 Đặt vấn đề 26 3.1.2 Định nghĩa hàm HASH 26 3.2 Một số hàm HASH sử dụng chữ ký số 28 3.2.1 Các hàm HASH đơn giản 28 3.2.2 Hàm HASH MD5: 29 CHƢƠNG 4: CHỮ KÝ CHỐNG CHỐI BỎ 39 4.1 Giới thiệu 39 4.2 Sơ đồ chữ ký chống chối bỏ 40 4.2.1 Thuật toán ký: 40 4.2.2 Thuật toán xác minh: 40 4.2.3 Giao thức từ chối: 40 Hoàng Văn Hiệp - CT1301 Đồ án tốt nghiệp Trƣờng ĐHDL Hải Phòng CHƢƠNG : ÁP DỤNG CHỮ KÝ CHỐNG CHỐI BỎ VÀO QUẢN LÝ HÀNH CHÍNH CỦA TRƢỜNG ĐẠI HỌC DÂN LẬP HẢI PHỊNG 45 5.1 Đặt vấn đề 45 5.2 Giải vấn đề 45 CHƢƠNG 6: CHƢƠNG TRÌNH 48 6.1 Giải thích chƣơng trình 48 6.2 Các phép toán hỗ trợ 48 6.3 Demo chƣơng trình 52 KẾT LUẬN 54 TÀI LIỆU THAM KHẢO 55 Hoàng Văn Hiệp - CT1301 Đồ án tốt nghiệp Trƣờng ĐHDL Hải Phòng MỞ ĐẦU Cùng với phát triển mạnh mẽ công nghệ thông tin giao lƣu thông tin ngày trở nên phổ biến mạng truyền thơng, vấn đề đảm bảo an tồn thơng tin trở thành yêu cầu chung hoạt động kinh tế, xã hội giao tiếp ngƣời Để thực u cầu bảo mật thơng tin cách hay dùng mã hố thơng tin trƣớc gửi Vì mật mã đƣợc nghiên cứu sử dụng từ lâu lịch sử loài ngƣời Tuy nhiên vài ba chục năm gần đây, đƣợc nghiên cứu cơng khai tìm đƣợc lĩnh vực ứng dụng đời sống công cộng với phát triền kỹ thuật tính tốn viễn thơng đại Và từ đó, ngành khoa học phát triển mạnh mẽ, đạt đƣợc nhiều kết lý thuyết sâu sắc tạo sở cho việc phát triển giải pháp bảo mật an tồn thơng tin lĩnh vực hoạt động ngƣời thời đại mà công nghệ thông tin đƣợc ứng dụng rộng rãi Các hệ thống mật mã đƣợc chia làm hai loại: mật mã bí mật mật mã khố cơng khai Trong hệ thống mật bí mật, hai ngƣời muốn truyền tin bí mật cho phải thoả thuận khóa mật mã chung K, K vừa khóa để lập mã vừa khóa để giải mã Và khóa K phải giữ kín có hai ngƣời biết Đề tài dựa sở hệ thống mật mã khóa cơng khai Ở đây, quan niệm bí mật đƣợc gắn với độ phức tạp tính tốn: ta xem giải pháp bí mật, để biết đƣợc bí mật cần phải thực q trình tính tốn phức tạp, phức tạp đến mức mà ta coi “không thể đƣợc” thực tế Với quan niệm đó, ngƣời ta cải tiến tạo nhiều giải pháp mật mã thực đƣợc cơng cụ tính tốn đại Mật mã khóa cơng khai cống hiến lý thuyết mật mã đại có nhiều ứng dụng mà hệ thống mật mã cổ điển có đƣợc Mật mã khóa cơng khai dựa ý tƣởng: tách riêng khóa làm hai phần tƣơng ứng với hai trình lập mã giải mã Bí mật dành cho ngƣời nhận tin, nên phần khóa giải mã phải đƣợc giữ bí mật cho ngƣời nhận tin, cịn phần khóa dành cho việc lập mã để gửi đến ngƣời A cơng khai để ngƣời dùng để gửi thơng tin mật cho A Ý tƣởng đƣợc thực nhờ vào hàm cửa sập phía Tính ƣu việt hệ thống mật mà thể chỗ: hệ truyền tin bảo mật trao đổi khóa bí mật trƣớc với Hồng Văn Hiệp - CT1301 Đồ án tốt nghiệp Trƣờng ĐHDL Hải Phịng cả, ngƣời giữ bí mật riêng mà truyền tin bảo mật với ngƣời khác Điều quan trọng việc truyền tin đƣợc phát triển mạng rộng với số ngƣời sử dụng gần nhƣ không hạn chế Mật mã khóa cơng khai khơng có tác dụng bảo mật, mà cịn có nhiều ứng dụng khác, ứng dụng xác thực, chữ ký số Trong cách giao thiệp truyền thống, chữ ký viết tay ngƣời gửi dƣới văn tẩy, xố đủ xác nhận ngƣời gửi ai, ngƣời gửi có trách nhiệm văn tồn vẹn văn khơng thể chối bỏ trách nhiệm chữ ký Nhƣng truyền tin điện từ, văn dãy bít, nên để đảm bảo đƣợc hiệu lực nhƣ truyền thống ngƣời ta phải dùng chữ ký số Chữ ký số có nhiệm vụ giống chữ ký tay nghĩa dùng để thực chức xác nhận ngƣời gửi văn Nó phải vừa mang dấu vết khơng chối cãi đƣợc ngƣời gửi, vừa phải gắn bó với bit văn mà thay đổi dù bit văn chữ ký khơng cịn đƣợc chấp nhận May thay, u cầu thực đƣợc phƣơng pháp mật mã khố cơng khai Nói chung sơ đồ chữ ký số khơng cần đối thoại Tuy nhiên, số trƣờng hợp để tăng thêm trách nhiệm việc xác nhận, ngƣời ta dùng giao thức có tính chất đối thoại (hay chất vấn )qua vài lần hỏi đáp để thức xác nhận tính đắn (hoặc khơng đắn) chữ ký, tính toàn vẹn văn bản, hay để buộc chấp nhận (khơng thể thối thác, chối bỏ) chữ ký Trên sở đó, đề tài tốt nghiệp tơi tìm hiểu lƣợc đồ chữ ký số chống chối bỏ việc áp dụng quản lý hành mạng trƣờng Đại học Dân Lập Hải Phịng Hồng Văn Hiệp - CT1301 Đồ án tốt nghiệp Trƣờng ĐHDL Hải Phịng CHƢƠNG 1: MẬT MÃ KHĨA CÔNG KHAI 1.1 Lịch sử phát triển 1.1.1 Giới thiệu Theo nhà nghiên cứu lịch sử mật mã Hoàng đế Caesar ngƣời sử dụng mật mã quân Trong năm 1949, báo Claude Shannon lần đƣợc công bố với tiêu đề “lý thuyết thông tin hệ thống mật" (Communication Theory of Secret Systems) The Bell Systems Technical Joumal Bài báo đặt móng khoa học cho mật mã, có ảnh hƣởng lớn đến việc nghiên cứu khoa học mật mã Ý tƣởng hệ mật khố cơng khai đƣợc Diffie Hellman đƣa vào 1976, việc thực hố hệ mật khố cơng khai Rivest, Shamir Adleman đƣa vào năm 1977 Họ tạo nên hệ mật RSA tiếng Kể từ có nhiều hệ mật đƣợc cơng bố đƣợc phân tích, cơng Mục tiêu mật mã giúp hai ngƣời (Bob Alice) thƣờng xuyên liên lạc với qua kênh không an tồn mà cho đối phƣơng (Oscar) khơng thể hiểu họ nói Kênh đƣờng dây điện thoại mạng máy tính Thơng tin Alice muốn gửi cho Bob, mà gọi “thơng báo rõ“, văn tiếng Anh, liệu số, tài liệu có cấu trúc tuỳ ý.Alice mã thơng báo cách sử dụng khoá đƣợc xác định trƣớc gửi kết kênh Oscar thu trộm mã kênh song hiểu đƣợc thông báo rõ gì, nhƣng với Bob ngƣời biết khố mã Alice giải mã thu đƣợc thơng báo rõ 1.1.2 Định nghĩa hệ mật Một hệ mật thành phần (P, C, K, E, D) thoả mãn điểu kiện sau: P: tập hữu hạn rõ C: tập hữu hạn mã K: (khơng gian khố): tập hữu hạn khóa Đối với k K có quy tắc mã ek E quy tắc giải dk D tƣơng ứng, đó: Hồng Văn Hiệp - CT1301 Đồ án tốt nghiệp Trƣờng ĐHDL Hải Phòng Mỗi ek: P → C dk: C→P hàm thoả mãn: dk (ek(x)) = x với x P Tính chất quan trọng tính chất Nội dung rõ x đƣợc mã hoá ek mã đƣợc giải mã dk ta phải thu đƣợc rõ ban đầu x Alice Bob áp dụng thủ tục sau để dùng hệ mật khoá riêng Đầu tiên họ chọn khoá ngẫu nhiên k K Điều đƣợc thực họ chỗ khơng bị theo dõi Oscar, họ có kênh an tồn trƣờng hợp khơng chỗ Sau Alice muốn gửi cho Bob thơng báo kênh khơng an tồn, giả sử thơng báo chuỗi : x= x1 x2 xn (với số nguyên n ≥1, rõ đƣợc ký hiệu xi P, ≤ i ≤ n) Alice mã xi quy tắc ek với khố xác định trƣớc k Nghĩa là, Alice tính: yi = ek(xi), ≤ i ≤n, kết chuỗi: y = y1 y2 yn đƣợc gửi kênh Khi Bob nhận đƣợc y1 y2 yn , giải hàm dk thu đƣợc thông bảo gốc x1 x2 xn Ta hình dung hệ thống liên lạc nhƣ sau: Oscar y Alice x Bộ mã y y Bob k k k x Bộ giải Kênh an toàn Nguồn khóa Rõ ràng trƣờng hợp này, hàm ek phải hàm đơn ánh (ánh xạ 1-1) không việc giải mã không thực đƣợc cách tƣờng minh Ví dụ nếu: y = eK(x1) = e2(x2), x1 ≠ x2, Bob khơng biết giải mã thành x1 hay x2 Chú ý ràng P=C hàm mã hố phép hốn vị, tức tập mã tập rõ đồng hàm mà hoán vị phần tử tập Hoàng Văn Hiệp - CT1301 Đồ án tốt nghiệp Trƣờng ĐHDL Hải Phòng 1.2 Một vài hệ mật đơn giản 1.2.1 Mã dịch chuyển Giả sử P = C = K = Z26 , với 0≤k ≤ 25, định nghĩa: eK(x) = x + k mod 26 dK(x) = y - k mod 26; (x, y € Z26) Ví dụ: Cho k = 11 rõ là: wewillmeetatmidnight Biến đối rõ thành dày số nguyên tƣơng ứng công với k theo modulo 26: 22 22 11 11 12 4 19 19 12 13 19 + K =11 15 19 22 22 23 15 15 11 23 19 14 24 19 17 18 Biến đổi dãy số nguyên ký tự ta đƣợc mã sau: hphtwwxppelextoytrse Để giải mã ta chuyển mã thành dãy số nguyên ,sau trừ K theo modulo 26: 15 19 22 22 23 15 15 11 23 19 14 24 19 17 18 K =11 22 22 11 11 12 4 19 19 12 13 19 ta đƣợc rõ ban đầu là: wewillmeetatmidnight Nhận xét: Mã dịch chuyển khơng an tồn bị thám khóa phƣơng pháp vét cạn( có 26 khóa) Về trung bình, tính đƣợc thơng báo sau 26/2 = 13 lần thử Hoàng Văn Hiệp - CT1301 Đồ án tốt nghiệp Trƣờng ĐHDL Hải Phòng Một hệ mật muốn sử dụng đƣợc thực tế phải thỏa mãn số tính chất định Sau nêu hai số đó: Mỗi hàm mã hóa ek hàm giải mã dk phải có khả tính tốn đƣợc cách hiệu Đối phƣơng dựa xâu mã phải khơng có khả xác định khóa k dùng khơng có khả xác định đƣợc xâu rõ x 1.2.2 Mã thay Định nghĩa hệ mật: Cho P = C = Z26 K chứa hốn vị 26 ký hiệu 0, 1, 2, , 25 Với hoán vị K, ta xác định phép Trong -1 eK (x) = (x) dK (y) = -1 với phép ta định nghĩa: (y) phép ngƣợc , Ví dụ: K= defghijkolnmpqrswtuvyxbaze abcdeighijk1mnopqrstuvwx yz П= defghijkoln mpqrswtuvyxbazc Hãy giải mã sau đây: qdbqj vpybd mdifk yzhhq lfydt utsbo iacza abcdefghijklmnopqrstuvwxyz П-1 = xwzabcdefghjlkimnportsqvuy Để giải mã trên, áp dụng П-1 vào ký tự mã, sau ghép lại ta đƣợc rõ tƣơng ứng Cụ thể nhƣ sau: Hoàng Văn Hiệp - CT1301 Đồ án tốt nghiệp Trƣờng ĐHDL Hải Phòng qdbqj => navvng => nắng vpybd=> smuvva => mƣa mdifk => lafch => yzhhq => uyeen => chuyện lfydt => jcuar => utsbo => trovvi => trời Nhận xét: Mỗi khoá mật mã thay phép hoán vị 26 ký tự Số hoán vị 26!, lớn x 1026 Đó số rấl lớn Bởi vậy, phép tìm khóa vét cạn khơng thể thực đƣợc, chí máy tính 1.2.3 Mã Affine Trong mã Affine, ta xét hàm mã có dạng: e (x) = ax + b mod 26, (a, b Z26) Các hàm đƣợc gọi hàm Affine (khi a = => ta có mã dịch chuyển) Để việc giải mã thực đƣợc, yêu cầu cần thiết hàm Affine phải đơn ánh Với y Z26, ta cần phƣơng trình: ax + b ≡ y (mod 26), phải có nghiệm Đồng dƣ thức tƣơng đƣơng với : ax = y - b (mod 26) Vì y biến đổi Z26 nên (y - b) mod 26 biến đối Z26 Vì vậy, ta cần xét đồng dƣ thức: ax ≡ y (mod 26), y Z26 Ta biết rằng, phƣơng trình có nghiệm y (a, 26) = Trƣớc tiên, giả sử (a, 26) = d > Thế thì, ax≡0(mod 26) có nghiệm phân biệt Z26 x = x =26/d Khi đó, e(x) = ax + b mod 26 khơng phải hàm đơn ánh hàm mã hợp lệ + Ta giả thiết (a, 26) = Khi phƣơng trình ax = y (mod 26) có nghiệm với y Z26 x = a-1 y (mod 26) + Hệ mật: Cho p = c = Z26 giả sử: K = { (a, b) Z26 x Z26 : (a, 26) = 1} Hoàng Văn Hiệp - CT1301 Đồ án tốt nghiệp Trƣờng ĐHDL Hải Phòng Alice xác minh xem có D xf1 f2 mod p không Alice kết luận y giả mạo ( d -e2 f1 ) ≡ (D -f2 e1 ) (mod p) Ta xét vai trò p q sơ đồ Sơ đồ tồn Z*p; cần có khả tính tốn theo nhóm nhân G Z*p có bậc nguyên tố Đặc biệt ta cần có khả tính đƣợc phần tử nghịch đảo modulo |G| - lý giải thích |G| phải số nguyên tố Để thuận lợi lấy p = 2q + 1, q số nguyên tố Trƣớc hết ta chứng minh rằng, Alice chấp nhận chữ ký hợp lệ Trong tính tốn sau đây, tất số mũ đƣợc rút gọn theo modulo q Đầu tiên nhận xét rằng: d≡ c -1 mod p ≡ye1a-1 ≡ a-1 a e2a-1 mod p mod p, ta có: ≡ (mod p) Tƣơng tự: y≡ xa mod p, ta có: ya-1≡ x(mod p) Vì d ≡ xe1 e2 mod p Tiếp theo ta chứng minh Bob lừa Alice chấp nhận chữ ký giả mạo nhƣ chữ ký hợp lệ ngoại trừ xác suất bé Kết khơng phụ thuộc vào giả thiết tính tốn nào, điều có nghĩa độ an tồn vô điều kiện Định lý 1: y xa mod p Alice nhận y chữ ký hợp lệ x với xác suất 1/q Chứng minh: Trƣớc hết, nhận xét yêu cầu c tƣơng ứng xác với q cặp đƣợc sắp(e1,e2) ( y ngun tố q) Vì y= = -1e1+ae2 -1 mod p, = phần tử nhóm nhân G có bậc a mod p nên c = ye1 e2 = -1e1 ae2 mod p mod p, c cố định nên (-1e1+ae2 ) mod q = u cố định Hoàng Văn Hiệp - CT1301 41 Đồ án tốt nghiệp Trƣờng ĐHDL Hải Phòng e2 = a-1(u -1e1) mod q vi e1 Z*q có q giá trị e1 có q cặp (e1, e2) cho cùng giá trị c Bây giờ, Bob nhận đƣợc u cầu c, khơng có cách biết cặp đƣợc (e1,e2) q cặp co thể mà Alice dùng để xây dựng c Ta khẳng định, y xa mod p đáp ứng d G mà Bob tạo tƣơng ứng với xác q cặp đƣợc sắp( e1,e2) sinh G nên ta viết phần tử thuộc G nhƣ số mũ Vì i , số mũ đƣợc xác định theo modulo q Vì viết c= , d= j, x= k y= -1 ; với i,j,k,l Zq phép tính số học theo modulo q Xét hai đồng dƣ thức sau: c≡ ye1 e2 d≡xe1 e2 mod p) (mod p) Hệ tƣơng đƣơng với hệ đồng dƣ thức sau: i≡-le1 +ae2(mod )q j≡ke1 +e2(mod)q Bây giả thiết rằng: y xa (mod p) ta rút : a k(mod q) Vì thế, ma trận hệ số hệ đồng dƣ thức theo modulo q có định thức khác nhƣ tồn nghiệm cho hệ thống Nghĩa là, d G đáp ứng với q cặp (e1,e2) đƣợc Hệ xác suất để Bob đƣa cho Alice đáp ứng d đƣợc xác minh 1/q Bây ta chứng minh hai vấn đề: Bob thuyết phục Alice chữ ký không hợp lệ giả mạo Bob làm Alice tin chữ ký tin cậy giả mạo trừ xác suất bé Định lý 2: Nếu y xa mod p Alice Bob thực theo giao thức từ chối thì(d -e2 f1 ) ≡ (D -f2 e1 ) mod p Chứng minh: Do Alice Bob thực giao thức nên ta sử dụng yếu tố: d≡ca-1 mod p Hoàng Văn Hiệp - CT1301 42 Đồ án tốt nghiệp c≡ye1 a ≡ e2 Trƣờng ĐHDL Hải Phòng mod p mod p -e2 f1 ) ≡((ye1 Ta có: (d ≡(ye1f1a-1 e2 a-1 ) e-2 f1 e2a-1f1 -e2f1 ) (mod p) (mod p)) ≡ye1f1a-1 e2f1 -e2f1 mod p ≡ye1f1a-1 mod p Tƣơng tự, dùng yếu tố D≡Ca-1 mod p , C≡yf1 f2 mod p ≡ a mod p, ta có: -f2 e1 ) ≡ ye1f1a-1 mod p (D phép kiểm tra tính phù hợp bƣớc thành cơng Bây xét xác suất để Bob từ chối chữ ký hợp lệ Trƣờng hợp không giả thiết Bob thực theo thủ tục Nghĩa Bob khơng xây dựng D d nhƣ giao thức Vì định lý chi giả thiết rằng, Bob tạo D d thỏa mãn điều kiện bƣớc 4,8,9 giao thức chối bỏ Định lý 3: Giả sử y≡ xa mod p Alice thực theo giao thức từ chối Nếu d xe1 e2 mod p D xf1 f2 (mod p) xác suất để (d -e2 f1 ) (D -f2 e1 ) (mod p) 1- 1/q Chứng minh: Giả sử đồng dƣ thức sau đƣợc thỏa mãn y≡xa(mod p) d xe1 e2 D xf1 f2 (d (mod p) (mod p) -e2 f1 ) ≡ (D -f2 e1 ) (mod p) ta đƣa đƣợc mâu thuẫn nhƣ sau: Trong giao thức chối bỏ, bƣớc viết lại nhƣ sau: D≡ d0f1 f2 (mod p) đó, d0 = d1/e1 -e2/e1 mod p giá trị phụ thuộc vào bƣớc từ 1-4 giao thức Áp định lý 1, ta kết luận y chữ ký hợp lệ d0 với xác suất 1-1/q Song ta giả thiết y chữ ký hợp lệ x, nghĩa ta có xa≡d0a(mod p) với Hồng Văn Hiệp - CT1301 43 Đồ án tốt nghiệp Trƣờng ĐHDL Hải Phòng xác suất cao, điều kéo theo x = d0 Tuy nhiên d xe1 e2 (mod p) có nghĩa x≡ d1/e1 Và từ biểu thức d0≡d1/e1 -e2/e1 -e2/e1 (mod p), suy x≠d0 (mod p) ta nhận đƣợc mâu thuẫn Nhƣ Bob co thể lừa dối Alice theo cách với xác suất 1/q Ví dụ: Giả sử lấy p=467, vi phần tử nguyên thủy nên 22 = phần tử sinh G, gồm thặng dƣ bậc hai modulo 467 Vì ta lấy =4 Giả thiết a = 101, Khi đó: = a mod 467=449 Bob ký thông báo x=119 với chữ ký: y =119101 mod 467 = 129 Bây giả sử Alice muốn xác minh chữ ký y, cô ta chọn số ngẫu nhiên chẳng hạn e1=38, e2=397 Cơ tính c= 13 lúc Bob trả lời với d= Alice kiểm tra câu trả lời việc xác minh rằng: 119384397=9mod 467 Vì mà Alice chấp nhận y chữ ký hợp lệ Ví dụ: Giả sử p= 467, =4, a=101 =449 Giả sử thông báo x=286 đƣợc ký với chữ ký y = 83 Bob muốn thuyết phục Alice chữ ký không hợp lệ Giả sử Alice bắt đầu việc chọn giá trị ngẫu nhiên e1=45, e2=237 Alice tính c=305 Bob trả lời với d=109 Sau Alice tính: 246454237 mod 467=149 149≠109 nên Alice thực bƣớc chọn giá trị ngẫu nhiên f1=125, f2=9 Alice tính C=270 Bob trả lời với D=68 Alice tính: 28612549mod 467=25 Vì 25≠ 68 nên Alice thực bƣớc cuối kiểm tra tính phù hợp Bƣớc kiểm tra thành cơng vì: (109 x 4-237)125 ≡ 188(mod 467) và: (68 x 4-9)45 ≡ 188(mod 467) Vì Alice tin chữ ký y x khơng hợp lệ Hồng Văn Hiệp - CT1301 44 Đồ án tốt nghiệp Trƣờng ĐHDL Hải Phòng CHƢƠNG : ÁP DỤNG CHỮ KÝ CHỐNG CHỐI BỎ VÀO QUẢN LÝ HÀNH CHÍNH CỦA TRƢỜNG ĐẠI HỌC DÂN LẬP HẢI PHÒNG 5.1 Đặt vấn đề Với quan tổ chức hệ thống quản lý hành đóng vai trị quan trọng Trƣờng Đại Học Dân Lập Hải Phịng có sở số 36Đƣờng dân lập-Dƣ Hàng Kênh- Lê Chân- Hải Phòng, sở 2( xây dựng) Tại Xã Minh Tân- Kiến Thụy- Hải Phòng khu Khách Sạn Sinh Viên Do khoảng cách đia lý nên việc quản lý hành phức tạp khó khăn Trƣờng Đại Học Dân Lập Hải Phòng gồm phòng ban, khoa, trung tâm nên việc ban hành định, văn từ Nhà trƣờng tới phòng ban phận văn thƣ đảm nhiệm nên khó khăn thời gian Mặt khác, yêu cầu, kiến nghị khoa, trung tâm muốn lấy ý kiến, thị lãnh đạo nhà trƣờng phức tạp 5.2 Giải vấn đề Ngày với phát triển mạnh mẽ công nghệ cao, công nghệ internet khơng cịn mẻ ngƣời, việc trao đổi thông tin mạng trở nên phổ biến Vì vậy, giải pháp thuận lợi chuyển định, văn qua mạng Tuy nhiên việc trao đổi tài liệu qua mạng khó khăn: ví dụ đƣờng truyền văn bản, nghị bị sửa đổi, điều nguy hiểm khơng phải tài liệu thơng thƣờng mà nghị quyết, văn quy chế Nhà trƣờng Cũng có vấn đề khác cần giải đáp, ví dụ nhƣ văn có đáng tin khơng? văn có xác khơng? Chúng ta biết rằng, nghị quyết, văn bản, thông thƣờng giấy kết thúc chữ ký ngƣời định Đó chứng để chứng minh hiệu lực văn Nếu chữ ký bị tẩy xóa ta co thể nghi ngờ tài liệu bị sửa đổi, chữ ký giả mạo Nhƣng trao đổi mạng chữ ký viết tay thực đƣợc nhƣ văn thơng thƣờng Hiện có nhiều chữ ký điện tử đƣợc đem vào sử dụng thực tiễn Do tính chất đặc điểm việc quản lý hành chính, tơi chọn chữ ký chống chối bỏ để áp dụng Chữ ký chống chối bỏ chữ ký với ba giao thức: giao thức ký, giao thức kiểm thử giao thức chối bỏ, phù hợp với việc trao đổi mạng, tất áp dụng giao thức chữ ký chống chối bỏ việc Hồng Văn Hiệp - CT1301 45 Đồ án tốt nghiệp Trƣờng ĐHDL Hải Phịng ban hành định có chữ ký Nhà trƣờng hoàn toàn đáng tin cậy Ngƣời ký muốn phủ nhận chữ ký khơng đƣợc Hơn nữa, ngƣời chối bỏ chữ ký khơng phải chữ ký Đặc biệt chữ ký chống chối bỏ nhân đƣợc Khi sử dụng chữ ký chống chối bỏ, tất ngƣời tham gia mạng có số nguyên tố p, phần tử nguyên thủy khóa thƣ mục cơng khai chung Trƣờng khóa bí mật a cho riêng mình, bậc q Z*p, p=2q + (q số nguyên tố) = a phần tử có mod p Ví dụ: Khoa Công Nghệ Thông Tin muốn gửi danh sách sinh viên đủ điều kiện bảo vệ đồ án tốt nghiệp cho Hiệu trƣởng duyệt Trƣớc gửi danh sách cho Hiệu trƣởng Trƣởng khoa Cơng Nghệ Thơng Tin tiến hành việc ký nhƣ sau: Ông lấy số nguyên tố p thƣ mục cơng khai khóa bí mật a dùng cho riêng Tiến hành ký văn bản: y=xa mod p(Ở x văn thu đƣợc sau hai phép biến đổi thông báo cần ký là: Hash đƣa nhóm G) Gửi văn kèm theo chữ ký mạng Về phía mình, Hiệu trƣởng kiểm tra lại chữ ký có Trƣởng khoa Cơng Nghệ Thơng Tin hay khơng? Ơng ta tiến hành giao thức kiểm thử với hợp tác Trƣởng khoa Công Nghệ Thông Tin nhƣ sau: Hiệu trƣởng lấy ngẫu nhiên hai số e1, e2 tính c=ye1 e2mod p gửi lại cho Trƣởng khoa Công Nghệ Thông Tin Trƣởng khoa Công Nghệ Thơng Tin tính d =a-1mod qmod p gửi lại cho Hiệu trƣởng Hiệu trƣởng kiểm tra d≡xe1 e2 mod p chấp nhận chữ ký hợp lệ Sau kiểm tra chữ ký, Hiệu trƣởng định cho sinh viên mà khoa Công Nghệ Thông Tin gửi đƣợc bảo vệ đồ án tốt nghiệp ký vào định trƣớc gửi cho khoa Công Nghệ Thông Tin Khoa Công Nghệ Thông Tin kiểm tra chữ ký Hiệu trƣởng nhƣ cách thức Nếu hai bên khơng có vấn đề thời gian tiến hành bảo vệ khoa Công Nghệ Thông Tin ấn định Nếu danh sách có sai sót ngƣời chịu trách nhiệm Trƣởng khoa Cơng Nghệ Thơng Tin danh sách có chữ ký Trƣởng khoa Tuy nhiên, Trƣởng khoa tuyên bố chữ ký giả mạo từ chối xác minh nó, thực giao thức theo cách để chữ ký khơng thể xác minh Để ngăn chặn tình Hoàng Văn Hiệp - CT1301 46 Đồ án tốt nghiệp Trƣờng ĐHDL Hải Phòng này, Hiệu trƣởng thực hiên giao thức từ chối Nếu Trƣởng khoa Công Nghệ Thông Tin không chấp nhận tham gia vào giao thức từ chối điều xem nhƣ chữ ký thực tế thật ông ta cố gắng từ chối chữ ký cua Nếu Trƣởng khoa tuân thủ bƣớc giao thức kết việc Hiệu trƣởng kết luận chữ ký giả mạo thi ông có quyền chối bỏ chữ ký cách thuyết phục Giao thức từ chối đƣợc tiến hành nhƣ sau: Hiệu trƣởng chọn ngẫu nhiên e1, e2 Z*q Hiệu trƣởng tính c = ye1 e2 mod p gửi cho Trƣởng khoa CNTT Trƣởng khoa CNTT tính d= ca-1 mod q mod p gửi cho Hiệu trƣởng Hiệu trƣởng xác minh xem có d xe1 e2 mod p khơng? Hiệu trƣởng chọn ngẫu nhiên f1, f2 Z*q Hiệu trƣởng tính C= yf1 f2 mod p gửi cho Trƣởng khoa CNTT Trƣởng khoa CNTT tính D = Ca-1 mod q mod p gửi cho Hiệu trƣởng Hiệu trƣởng xác minh xem có D xf1 f2 mod p không? Hiệu trƣởng kết luận y giả mạo (d -e2)f1 ≡(D -f2)e1 (mod p) Nhƣ cách sử dụng chữ ký số chống chối bỏ việc trao đổi định, giấy tờ nhanh xác Hơn nữa, tất chữ ký văn đƣợc lƣu giữ lại kiểm thử lại lúc thấy cần thiết Tuy nhiên, cài đặt lƣợc đồ chữ ký vào mạng thơng tin máy tính trƣờng tơi thấy cần nghiên cứu thêm ba vấn đề nữa: Có thể Hiệu trƣởng Trƣởng khoa Công Nghệ Thông Tin bận, cần ủy quyền cho ngƣời khác tham gia vào giao thức hỏi đáp, phải thực nhƣ nào? Cũng có trƣờng hợp, bên nhận thấy văn gửi cho có nội dung mà chƣa muốn thực nên không tiến hành kiểm tra chữ ký lờ Vậy làm để ngăn chặn cố này? Nghiên cứu việc lƣu trữ máy tính văn chứng tƣơng ứng nhƣ cho an toàn thuận tiện Hoàng Văn Hiệp - CT1301 47 Đồ án tốt nghiệp Trƣờng ĐHDL Hải Phịng CHƢƠNG 6: CHƢƠNG TRÌNH 6.1 Giải thích chƣơng trình Để cài đặt đƣợc sơ đồ chữ ký chông chối bỏ, sử dụng ngôn ngữ C++ để an tồn tơi thực số cỡ lớn hệ số 256 Mỗi số cỡ lớn đƣợc cài đặt nhƣ sau: độ dài số cỡ lớn đƣợc lƣu vào biến unsigned int giá trị lƣu mảng unsigned char Để mơ chữ ký chống chối bỏ, tơi chọn số p có độ dài 19 byte giá trị nhƣ sau: 56 29 43 85 112 151 142 150 211 90 78 106 77 226 71 208 21 191 Khóa đƣợc tạo theo thủ tục sau: Chọn ngẫu nhiên phần tử e Nếu = 1, quay lại bƣớc Z*p tính = e2 mod p Điều kiện để thực chữ ký chống chối bỏ x, y G.Để ký đƣợc văn bất kỳ, thực nhƣ sau: Tiến hành Hash văn gốc( giả sử x1) theo thuật toán MD5 thành văn gồm 16 byte (giả sử m) Tính x = m mod p Và giao thức ký đƣợc tiến hành x để thu đƣợc chữ ký y y đƣợc xem nhƣ chữ ký văn gốc Điều đảm bảo x, y G Chƣơng trình đƣợc chia làm hai modun sau: Tạo danh sách ngƣời sử dụng mạng sở liệu: Modun cho phép đăng ký tham cách nhập user name password Tạo khóa bí mật: Trƣớc tiên, ngƣời sử dụng phải đăng nhập mạng cách nhập user name password(dạng mã hóa) Sau đăng nhập mạng thành cơng tiến hành thủ tục tạo khóa với số p cho trƣớc Khóa , đƣợc đƣa vào thƣ mục cơng khai, cịn khóa bí mật a ngƣời sử dụng giữ cho riêng Cuối modun chứa giao thức ký, kiểm thử từ chối 6.2 Các phép toán hỗ trợ a Thuật toán cộng Input: x,y số nguyên, số gồm n+1 chữ số hệ 256 Output: x+y = (wn+1wn w1w0) hệ 256 c 0( c số nhớ) Hoàng Văn Hiệp - CT1301 48 Đồ án tốt nghiệp Trƣờng ĐHDL Hải Phòng For i=0 to n 2.1 wi (xi +yi+c) mod 256 2.2 if(xi +yi +c