Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 67 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
67
Dung lượng
2,62 MB
Nội dung
Giải pháp xác thực số MỤC LỤC LỜI CẢM ƠN MỞ ĐẦU CHƯƠNG I: CÁC KHÁI NIỆM CƠ BẢN .6 1.1 Các khái niệm toán học 1.1.1 Số nguyên tố nguyên tố .6 1.1.2 Đồng dư thức 1.1.3 Không gian Zn Zn* 1.1.4 Phần tử nghịch đảo 1.1.5 Hàm băm .8 1.1.5.1 Giới thiệu 1.1.5.2 Cấu trúc hàm băm 1.1.5.3 Một số loại hàm băm 10 1.2 Vấn đề mã hóa 15 1.2.1 Khái niệm mã hoá .15 1.2.2 Hệ mã hố khóa cơng khai 17 1.3 Vấn đề chữ ký điện tử 18 1.3.1 Giới thiệu 18 1.3.2 Định nghĩa 18 1.3.3 Sơ đồ chữ ký RSA .19 1.4 Xác thực 20 1.4.1 Khái niệm xác thực 20 1.4.2 Các dạng xác thực 20 1.4.2.1 Xác thực thực thể 20 1.4.2.2 Xác thực trách nhiệm văn gốc 21 1.4.3 Các phương pháp xác thực 21 1.4.4 Các giao thức xác thực .22 1.4.4.1 Giao thức thử thách trả lời .22 1.4.4.2 Giao thức mật chuyển đổi 22 1.4.4.3 Giao thức mật sử dụng lần 22 1.4.4.4 Giao thức chứng số .23 1.5 Chứng thực điện tử 23 1.5.1 Chứng thực điện tử gì? 23 Đồ án tốt nghiệp – Khoa công nghệ thơng tin trường DHDL Hải Phịng Giải pháp xác thực số 1.5.2 Làm để có sử dụng chứng thực điện tử? .23 1.6 Chứng thực chéo 24 CHƯƠNG II: CHỨNG CHỈ SỐ 25 2.1 Vài nét chứng số 25 2.1.1 Chứng số gì? 25 2.1.2 Chứng gốc ? .26 2.1.3 Chứng số làm việc ? 26 2.1.4 Tại cần chứng số ? .26 2.1.5 Chứng số áp dụng vào công việc ? 27 2.1.6 Kiểm tra tạo chữ ký điện tử ? 28 2.2 Cơ sở hạ tầng khóa cơng khai Public Key Infrastructure – PKI 28 2.2.1 PKI ? 28 2.2.2 PKI hoạt động ? 30 2.2.3 Thành phần PKI 31 2.2.4 Phân phối khóa cơng khai .32 2.3 Thời hạn tồn việc thu hồi chứng 34 2.4 Nhà cấp chứng số (Certificate Authority - CA) 35 2.4.1 CA ? 35 2.4.2 Mơ hình CA 35 2.4.3 Chữ ký CA chứng số 37 2.5 Khuôn dạng chứng X.509 37 2.5.1 Khuôn dạng chứng số X.509 v1, v2 38 2.5.2 Đặt tên X.509 v1, v2 39 2.5.3 Khuôn dạng chứng số X.509 v3 40 2.5.4 Đặt tên khuôn dạng chứng X.509 v3 .42 2.6 Đăng ký đối tượng 43 2.7 Quy trình xin cấp chứng số 44 CHƯƠNG III: XÂY DỰNG HỆ THỐNG QUẢN LÝ CHỨNG CHỈ SỐ 46 3.1 Chức chương trình 46 3.2 Mơ tả hoạt động số giao diện chương trình 46 3.2.1 Đăng ký cấp chứng .46 3.2.2 Lấy thông tin chứng 47 3.2.3 Tìm thơng tin chứng người khác 49 Đồ án tốt nghiệp – Khoa công nghệ thông tin trường DHDL Hải Phòng Giải pháp xác thực số 3.2.4 Mã hóa ký thơng điệp 49 3.2.5 Giải mã thông điệp 51 3.2.6 Kiểm tra tính xác chữ ký 52 3.2.7 Thu hồi chứng 53 3.3 Công cụ hỗ trợ ngôn ngữ lập trình 54 3.3.1 Ngơn ngữ lập trình php5 54 3.3.2 OpenSSL PHP .58 3.3.2.1 Giới thiệu 58 3.3.2.2 Khóa chứng 58 3.3.2.3 Một số hàm OpenSSL 59 3.4 Một số đoạn mã quan trọng chương trình 60 3.4.1 Tạo chứng 60 3.4.2 Mã hóa ký .62 3.4.3 Giải mã 63 3.4.4 Kiểm tra chữ ký 64 3.5 Những hạn chế hướng phát triển 65 3.5.1 Hạn chế chương trình .65 3.5.2 Hướng phát triển chương trình .65 KẾT LUẬN 66 TÀI LIỆU THAM KHẢO 67 Đồ án tốt nghiệp – Khoa công nghệ thơng tin trường DHDL Hải Phịng Giải pháp xác thực số LỜI CẢM ƠN Em xin chân thành cám ơn Ths.Hồ Thị Hương Thơm – người bảo, hướng dẫn, cung cấp tài liệu quý báu q trình học hồn thành đồ án Em xin cám ơn thầy cô giáo khoa cơng nghệ thơng tin – trường DHDL Hải Phịng gia đình tạo điều kiện giúp đỡ vật chất tinh thần để em học tập tốt hoàn thành đồ án Sinh viên Phùng Thế Phương Đồ án tốt nghiệp – Khoa công nghệ thơng tin trường DHDL Hải Phịng Giải pháp xác thực số MỞ ĐẦU Sự đời internet, phát triển nhanh chóng cơng nghệ thơng tin tạo thay đổi lớn lĩnh vực đời sống người Internet đời, nhu cầu truyền thông tin mạng nhu cầu tất yếu Và đặc biệt với đời thương mại điện tử nhu cầu rõ rệt cấp thiết Vấn đề đặt phải tạo phương pháp truyền thơng tin an tồn, tránh phá hoại, ăn cắp thông tin hay làm sai lệch thông tin Cùng với nhu cầu loạt giải pháp đời Mã hóa, chữ ký điện tử đảm bảo tính xác thực, an tồn thơng tin chưa đủ để xác thực người sử dụng cặp khóa cơng khai bí mật chối bỏ thơng tin khóa sử dụng Từ lý mà người ta thấy cần phải có bên thứ ba đứng xác nhận thơng tin khóa dùng để mã hóa gắn liền với chủ thể sử dụng Chứng số đời Chứng số tệp tin điện tử quan, tổ chức cấp lưu trữ thơng tin chủ thể sử dụng thơng tin khóa Đồ án đề cập đến chứng số sử dụng chứng số để xác thực Đồ án gồm chương Chương I: Các khái niệm Trong chương đề cập đến số khái niệm tốn học, vấn đề mã hóa, chữ ký điện tử, xác thực, chứng thực điện tử Chương II: Chứng số Trong chương trình bày chi tiết chứng số Chương III: Xây dựng hệ thống quản lý chứng số Trong chương giới thiệu việc xây dựng chương trình hệ thống quản lý chứng số viết ngôn ngữ PHP Đồ án tốt nghiệp – Khoa công nghệ thông tin trường DHDL Hải Phòng Giải pháp xác thực số CHƯƠNG I: CÁC KHÁI NIỆM CƠ BẢN 1.1 Các khái niệm toán học 1.1.1 Số nguyên tố nguyên tố Số nguyên tố số 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 Đồ án tốt nghiệp – Khoa công nghệ thơng tin trường DHDL Hải Phịng Giải pháp xác thực số 1.1.3 Không gian Zn Zn* Không gian Zn (các số nguyên theo modulo n) 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* tập hợp số nguyên pZn, 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 nghịch đảo 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 ≡1 (mod 9) Đồ án tốt nghiệp – Khoa công nghệ thông tin trường DHDL Hải Phòng Giải pháp xác thực số 1.1.5 Hàm băm 1.1.5.1 Giới thiệu Một hàm băm (hash function) hay giải thuật băm phương pháp sinh địa phần nhớ dành cho khóa thứ tự Các hàm cung cấp cách tạo "vân tay" số nhỏ từ loại liệu Hàm cắt trộn (thay chuyển vị) liệu để tạo giá trị thường gọi giá trị băm Giá trị băm thường biểu diễn hệ số 16 Hàm băm tốt hàm cho đụng độ băm (hash collision) miền liệu trông đợi Trong bảng băm việc xử lý liệu, đụng độ dẫn đến chi phí cao cho việc tìm kiếm ghi sở liệu Hình 1.1 Hai điều kiện sau người ta cho hai điều kiện chủ yếu cho hàm băm: Hàm băm phải hàm phía nghĩa cho x tính z=h(x) việc dễ ngược lại, biết z tính x việc cực khó (có thể quy ước dễ hay khó tính thời gian đa thức hay không) Hàm băm phải hàm không va chạm mạnh theo nghĩa sau đây: khơng có thuật tốn tính thời gian đa thức giả tốn “tìm x1 x2 thuộc cho x1 ≠ x2 h(x1) = h(x2)”; nói cách khác tìm hai văn khác có đại diện khó Đồ án tốt nghiệp – Khoa cơng nghệ thơng tin trường DHDL Hải Phịng Giải pháp xác thực số Danh sách hàm băm: Hình 1.2 1.1.5.2 Cấu trúc hàm băm Hầu hết hàm băm mật mã đầu có cấu trúc giải thuật sau: Cho trước thơng điệp M có độ dài Tùy theo thuật toán sử dụng cần bổ sung số bit vào thơng điệp để nhận thơng điệp có dộ dài bội số số cho trước Chia nhỏ thơng điệp thành khối có kích thước nhau: M1, M2, ,Ms Gọi H trạng thái có kích thước n bit, f “hàm nén: thực thao tác trộn khối liệu với trạng thái hành - Khởi gán H0 vector khởi tạo - H1 = f(Hi-1,Mi) với I = 1,2,3,….,s Hs thơng điệp rút gọn thông điệp M ban đầu Đồ án tốt nghiệp – Khoa cơng nghệ thơng tin trường DHDL Hải Phịng Giải pháp xác thực số 1.1.5.3 Một số loại hàm băm Hàm băm MD5: Hàm băm MD4 (Message Digest 4) giáo sư Rivest đề nghị vào năm 1990 Vào năm sau, phiên cải tiến Thông điệp ban đầu x mở rộng thành dãy bit X có độ dài bội số 512 Một bit thêm vào sau dãy bit x, tiếp đến dãy gồm d bit cuối dãy 64 bit l biểu diễn độ dài thông điệp x Dãy gồm d bit thêm vào cho dãy X có độ dài bội số 512 Quy định thể thuật toán sau: Thuật toán xây dựng dãy bit X từ dãy bit x Hình 1.3 Đơn vị xử lý trog MD5 từ 32-bit nên dãy X biểu diễn thành dãy tư X[i] 32 bit: X=X[0]X[1]………X[N-1] với N bội số 16 Thuật toán MD5: Hình 1.4 Đồ án tốt nghiệp – Khoa cơng nghệ thơng tin trường DHDL Hải Phịng 10 ... pháp xác thực số 1.5.2 Làm để có sử dụng chứng thực điện tử? .23 1.6 Chứng thực chéo 24 CHƯƠNG II: CHỨNG CHỈ SỐ 25 2.1 Vài nét chứng số 25 2.1.1 Chứng số gì? 25 2.1.2 Chứng. .. để mã hóa gắn liền với chủ thể sử dụng Chứng số đời Chứng số tệp tin điện tử quan, tổ chức cấp lưu trữ thơng tin chủ thể sử dụng thông tin khóa Đồ án đề cập đến chứng số sử dụng chứng số để xác. .. dạng xác thực xác thực thực thể xác thực trách nhiệm văn gốc 1.4.2.1 Xác thực thực thể Trong xác thực thực thể, người dùng yêu cầu chấp nhận người thức hợp pháp hệ thống Dịch vụ xác thực thực