Đồ án tốt nghiệp: Giải pháp xác thực số potx

68 177 0
Đồ án tốt nghiệp: Giải pháp xác thực số potx

Đ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

Đồ án tốt nghiệp Giải pháp xác thực số Giải pháp xác thực số Đồ án tốt nghiệp – Khoa công nghệ thông tin trường DHDL Hải Phòng 1 MỤC LỤC LỜI CẢM ƠN 4 MỞ ĐẦU 5 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 6 1.1.1 Số nguyên tố và nguyên tố cùng nhau 6 1.1.2 Đồng dư thức 6 1.1.3 Không gian Z n và Z n * 7 1.1.4 Phần tử nghịch đảo 7 1.1.5 Hàm băm 8 1.1.5.1 Giới thiệu 8 1.1.5.2 Cấu trúc của hàm băm 9 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ã hoá 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 bả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 và trả lời 22 1.4.4.2 Giao thức mật khẩu được chuyển đổi 22 1.4.4.3 Giao thức mật khẩu sử dụng một lần 22 1.4.4.4 Giao thức chứng chỉ số 23 1.5 Chứng thực điện tử 23 1.5.1 Chứng thực điện tử là gì? 23 Giải pháp xác thực số Đồ án tốt nghiệp – Khoa công nghệ thông tin trường DHDL Hải Phòng 2 1.5.2 Làm thế nào để có và 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 về chứng chỉ số 25 2.1.1 Chứng chỉ số là gì? 25 2.1.2 Chứng chỉ gốc là gì ? 26 2.1.3 Chứng chỉ số làm việc như thế nào ? 26 2.1.4 Tại sao cần một chứng chỉ số ? 26 2.1.5 Chứng chỉ số được áp dụng vào những công việc gì ? 27 2.1.6 Kiểm tra và tạo chữ ký điện tử như thế nào ? 28 2.2 Cơ sở hạ tầng khóa công khai Public Key Infrastructure – PKI 28 2.2.1 PKI là gì ? 28 2.2.2 PKI hoạt động như thế nào ? 30 2.2.3 Thành phần của PKI 31 2.2.4 Phân phối khóa công khai 32 2.3 Thời hạn tồn tại và việc thu hồi chứng chỉ 34 2.4 Nhà cấp chứng chỉ số (Certificate Authority - CA) 35 2.4.1 CA là gì ? 35 2.4.2 Mô hình CA 35 2.4.3 Chữ ký của CA trên chứng chỉ số 37 2.5 Khuôn dạng chứng chỉ X.509 37 2.5.1 Khuôn dạng chứng chỉ số X.509 v1, v2 38 2.5.2 Đặt tên trong X.509 v1, v2 39 2.5.3 Khuôn dạng chứng chỉ số X.509 v3 40 2.5.4 Đặt tên trong khuôn dạng chứng chỉ X.509 v3 42 2.6 Đăng ký đối tƣợng 43 2.7 Quy trình xin cấp một chứng chỉ số 44 CHƢƠNG III: XÂY DỰNG HỆ THỐNG QUẢN LÝ CHỨNG CHỈ SỐ 46 3.1 Chức năng của chƣơng trình 46 3.2 Mô tả hoạt động và một số giao diện của chƣơng trình 46 3.2.1 Đăng ký cấp chứng chỉ 46 3.2.2 Lấy thông tin chứng chỉ 47 3.2.3 Tìm thông tin về chứng chỉ của một người khác 49 Giải pháp xác thực số Đồ án tốt nghiệp – Khoa công nghệ thông tin trường DHDL Hải Phòng 3 3.2.4 Mã hóa và 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 chính xác của chữ ký 52 3.2.7 Thu hồi chứng chỉ 53 3.3 Công cụ hỗ trợ và ngôn ngữ lập trình 54 3.3.1 Ngôn ngữ lập trình php5 54 3.3.2 OpenSSL trong PHP 5 58 3.3.2.1 Giới thiệu 58 3.3.2.2 Khóa và chứng chỉ 58 3.3.2.3 Một số hàm trong OpenSSL 59 3.4 Một số đoạn mã quan trọng của chƣơng trình 60 3.4.1 Tạo chứng chỉ 60 3.4.2 Mã hóa và 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ế và hƣớng phát triển 65 3.5.1 Hạn chế của 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 Giải pháp xác thực số Đồ án tốt nghiệp – Khoa công nghệ thông tin trường DHDL Hải Phòng 4 LỜI CẢM ƠN Em xin chân thành cám ơn Ths.Hồ Thị Hương Thơm – người luôn chỉ bảo, hướng dẫn, cung cấp những tài liệu quý báu trong quá trình học và hoàn thành đồ án này. Em xin cám ơn các thầy cô giáo trong khoa công nghệ thông tin – trường DHDL Hải Phòng và gia đình đã tạo điều kiện giúp đỡ về vật chất cũng như tinh thần để em có thể học tập tốt và hoàn thành đồ án này. Sinh viên Phùng Thế Phƣơng Giải pháp xác thực số Đồ án tốt nghiệp – Khoa công nghệ thông tin trường DHDL Hải Phòng 5 MỞ ĐẦU Sự ra đời của internet, sự phát triển nhanh chóng của công nghệ thông tin đã tạo ra một thay đổi lớn trong các lĩnh vực đời sống của con người. Internet ra đời, nhu cầu truyền thông tin trên mạng là một nhu cầu tất yếu. Và đặc biệt với sự ra đời của thương mại điện tử thì nhu cầu này càng rõ rệt và cấp thiết hơn. Vấn đề đặt ra là phải tạo một phương pháp truyền thông tin an toàn, tránh sự 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 này một loạt các giải pháp được ra đời. Mã hóa, chữ ký điện tử đảm bảo được tính xác thực, và an toàn của thông tin nhưng vẫn chưa đủ để xác thực khi người sử dụng các cặp khóa công khai và bí mật chối bỏ các thông tin về khóa mình đã sử dụng. Từ lý do đó mà người ta thấy cần phải có một bên thứ ba đứng ra xác nhận các thông tin về khóa dùng để mã hóa gắn liền với chủ thể sử dụng. Chứng chỉ số ra đời. Chứng chỉ số là một tệp tin điện tử do một cơ quan, tổ chức cấp trong đó lưu trữ các thông tin về chủ thể sử dụng và các thông tin về khóa. Đồ án đề cập đến chứng chỉ số và sử dụng chứng chỉ số để xác thực. Đồ án gồm 3 chương.  Chương I: Các khái niệm cơ bản Trong chương này sẽ đề cập đến một số khái niệm toá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 chỉ số Trong chương này sẽ trình bày chi tiết về chứng chỉ số.  Chương III: Xây dựng hệ thống quản lý chứng chỉ số Trong chương này sẽ giới thiệu việc xây dựng một chương trình hệ thống quản lý chứng chỉ số viết bằng ngôn ngữ PHP 5. Giải pháp xác thực số Đồ án tốt nghiệp – Khoa công nghệ thông tin trường DHDL Hải Phòng 6 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ố và nguyên tố cùng nhau Số nguyên tố là số chỉ chia hết cho 1 và chính nó. Ví dụ: 2, 3, 5, 7, 17, … là những số nguyên tố. Hệ mật mã thường sử dụng các số nguyên tố ít nhất là lớn hơn 10150. Hai số m và n được gọi là nguyên tố cùng nhau nếu ước số chung lớn nhất của chúng bằng 1. Ký hiệu: gcd(m,n) = 1. Ví dụ: 9 và 14 là nguyên tố cùng nhau. 1.1.2 Đồng dư thức Cho a và b là các số nguyên tố, n là số nguyên dương thì a được gọi là đồng dư với b theo modulo n nếu n|a-b (tức a - b chia hết cho n, hay khi chia a và b cho n được cùng một số dư như nhau). Số nguyên n được gọi là modulo của đồng dư. Kí hiệu: a ≡ b (mod n) Ví dụ: 67 ≡ 11 (mod 7), bởi vì 67 (mod 7) = 4 và 11 (mod 7) = 4. Tính chất của đồng dƣ: Cho a, a 1 , b, b 1 , c  Z. Ta có các tính chất:  a≡b mod n nếu và chỉ nếu a và b có cùng số dư khi chia cho n.  Tính phản xạ: a ≡ a mod n.  Tính đối xứng: Nếu a ≡ b mod n thì b ≡ a mod n.  Tính giao hoán: Nếu a ≡ b mod n và b ≡ c mod n thì a ≡ c mod n.  Nếu a ≡ a 1 mod n, b ≡ b 1 mod n thì a+b ≡ a 1 + b 1 mod n và ab ≡a 1 b 1 mod n. Giải pháp xác thực số Đồ án tốt nghiệp – Khoa công nghệ thông tin trường DHDL Hải Phòng 7 1.1.3 Không gian Z n và Z n * Không gian Z n (các số nguyên theo modulo n) là tập hợp các số nguyên {0,1,2,…,n-1}. Các phép toán trong Z n như cộng, trừ, nhân, chia đều được thực hiện theo module n. Ví dụ: Z 11 = {0,1,2,3,…,10} Trong Z 11 : 6 + 7 = 2, bởi vì 6 + 7 = 13≡ 2 (mod 11). Không gian Z n * là tập hợp các số nguyên pZ n , nguyên tố cùng n. Tức là: Z n * = { p  Z n | gcd (n,p) =1} Φ(n) là số phần tử của Z n * Nếu n là một số nguyên tố thì: Z n * = { p  Z n |1≤ p ≤ n - 1} Ví dụ: Z 2 = {0,1} thì Z 2 * = {1} vì gcd(1,2) = 1. 1.1.4 Phần tử nghịch đảo Định nghĩa: Cho a  Z n . Nghịch đảo của a theo modulo n là số nguyên x  Z n sao cho ax ≡ 1 (mod n). Nếu x tồn tại thì đó là giá trị duy nhất, và a được gọi là khả nghịch, nghịch đảo của a ký hiệu là a-1. Tính chất:  Cho a,b Z n . Phép chia của a cho b theo modulo n là tích của a và b−1 theo modulo n, và chỉ được xác định khi b có nghịch đảo theo modulo n.  Cho a Z n , a nghịch đảo khi và chỉ khi gcd(a, n) = 1.  Giả sử d=gcd (a, n). Phương trình đồng dư ax ≡ b mod n có nghiệm x nếu và chỉ nếu d chia hết cho b, trong trường hợp các nghiệm d nằm trong khoảng 0 đến n - 1 thì các nghiệm đồng dư theo modulo n/d. Ví dụ: 4-1 = 7 (mod 9) vì 4.7 ≡1 (mod 9) Giải pháp xác thực số Đồ án tốt nghiệp – Khoa công nghệ thông tin trường DHDL Hải Phòng 8 1.1.5 Hàm băm 1.1.5.1 Giới thiệu Một hàm băm (hash function) hay một giải thuật băm là một phương pháp sinh một địa chỉ trong phần bộ nhớ dành cho các khóa được sắp thứ tự. Các hàm này cung cấp một cách tạo một "vân tay" số nhỏ từ bất kỳ loại dữ liệu nào. Hàm này cắt và trộn (thay thế và chuyển vị) dữ liệu để tạo một giá trị thường được gọi là giá trị băm. Giá trị băm thường được biểu diễn trong hệ cơ số 16. Hàm băm tốt là hàm cho ra ít đụng độ băm (hash collision) trong các miền dữ liệu trông đợi. Trong các bảng băm và việc xử lý dữ liệu, các đụng độ này dẫn đến chi phí cao hơn cho việc tìm kiếm các bản ghi trong cơ sở dữ liệu. Hình 1.1 Hai điều kiện sau đây được người ta cho là hai điều kiện chủ yếu cho một hàm băm: 1. Hàm băm phải là hàm một phía nghĩa là cho x tính z=h(x) là việc dễ nhưng ngược lại, biết z tính x là việc cực khó (có thể quy ước dễ hay khó là có thể tính được trong thời gian đa thức hay không). 2. Hàm băm phải là hàm không va chạm mạnh theo nghĩa sau đây: không có thuật toán tính được trong thời gian đa thức giả bài toán “tìm x 1 và x 2 thuộc  sao cho x 1 ≠ x 2 và h(x 1 ) = h(x 2 )”; nói cách khác tìm hai văn bản khác nhau có cùng một đại diện là cực kỳ khó. Giải pháp xác thực số Đồ án tốt nghiệp – Khoa công nghệ thông tin trường DHDL Hải Phòng 9 Danh sách các hàm băm: Hình 1.2 1.1.5.2 Cấu trúc của hàm băm Hầu hết các hàm băm mật mã đầu có cấu trúc giải thuật như sau:  Cho trước một thông điệp M có độ dài bất kỳ. Tùy theo thuật toán được sử dụng chúng ta có thể cần bổ sung một số bit vào thông điệp này để nhận được thông điệp có dộ dài là bội số của một hằng số cho trước. Chia nhỏ thông điệp thành từng khối có kích thước bằng nhau: M 1 , M 2, ,M s.  Gọi H là trạng thái có kích thước n bit, f là “hàm nén: thực hiện thao tác trộn khối dữ liệu với trạng thái hiện hành. - Khởi gán H 0 bằng một vector khởi tạo nào đó. - H 1 = f(H i-1 ,M i ) với I = 1,2,3,….,s. [...]... ta có thể thấy việc xác thực thực thể thường được thực thi bằng các giấy tờ như chứng minh thư, giấy phép lái xe, hoặc các giấy tờ cá nhân khác Còn việc xác thực tính an toàn của thông tin trao đổi thường dựa trên chữ ký, con dấu 1.4.2 Các dạng xác thực Có hai dạng xác thực là sự xác thực thực thể và sự xác thực trách nhiệm văn bản gốc 1.4.2.1 Xác thực thực thể Trong sự xác thực thực thể, người dùng... ta có: y=sig(x)=xd mod n Gửi (x,y) 3 Kiểm tra chữ ký: Đồ án tốt nghiệp – Khoa công nghệ thông tin trường DHDL Hải Phòng 19 Giải pháp xác thực số Ver(x,y)=True x=ye mod n 1.4 Xác thực 1.4.1 Khái niệm xác thực Xác thực là việc xác minh, kiểm tra một thông tin hay một thực thể để công nhận hoặc bác bỏ tính hợp lệ của thông tin hay thực thể đó Xác thực luôn là yêu cầu quan trọng trong các giao tiếp cần... . Đồ án tốt nghiệp Giải pháp xác thực số Giải pháp xác thực số Đồ án tốt nghiệp – Khoa công nghệ thông tin trường DHDL. 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 bản gốc 21 1.4.3 Các phương pháp xác thực 21 1.4.4. Chứng thực điện tử 23 1.5.1 Chứng thực điện tử là gì? 23 Giải pháp xác thực số Đồ án tốt nghiệp – Khoa công nghệ thông tin trường DHDL Hải Phòng 2 1.5.2 Làm thế nào để có và sử dụng chứng thực

Ngày đăng: 30/07/2014, 16:20

Từ khóa liên quan

Tài liệu cùng người dùng

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

Tài liệu liên quan