intTypePromotion=1
zunia.vn Tuyển sinh 2024 dành cho Gen-Z zunia.vn zunia.vn
ADSENSE

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

Chia sẻ: Le Thuy Duong | Ngày: | Loại File: PDF | Số trang:67

315
lượt xem
107
download
 
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

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...

Chủ đề:
Lưu

Nội dung Text: Đồ án tốt nghiệp: Giải pháp xác thực số

  1. Đồ án tốt nghiệp Giải pháp xác thực số
  2. Giải pháp xác thực số 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 Zn và Zn* ............................................................................ 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 Đồ án tốt nghiệp – Khoa công nghệ thông tin trường DHDL Hải Phòng 1
  3. Giải pháp xác thực số 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 Đồ án tốt nghiệp – Khoa công nghệ thông tin trường DHDL Hải Phòng 2
  4. Giải pháp xác thực số 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 Đồ án tốt nghiệp – Khoa công nghệ thông tin trường DHDL Hải Phòng 3
  5. 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 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 Đồ án tốt nghiệp – Khoa công nghệ thông tin trường DHDL Hải Phòng 4
  6. Giải pháp xác thực số 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. Đồ án tốt nghiệp – Khoa công nghệ thông tin trường DHDL Hải Phòng 5
  7. 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ố 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, a1, b, b1, 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 ≡ a1 mod n, b ≡ b1 mod n thì a+b ≡ a1 + b1 mod n và ab ≡a1b1 mod n. Đồ án tốt nghiệp – Khoa công nghệ thông tin trường DHDL Hải Phòng 6
  8. Giải pháp xác thực số 1.1.3 Không gian Zn và Zn* Không gian Zn (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 Zn như cộng, trừ, nhân, chia đều được thực hiện theo module n. Ví dụ: Z11 = {0,1,2,3,…,10} Trong Z11: 6 + 7 = 2, bởi vì 6 + 7 = 13≡ 2 (mod 11). Không gian Zn* là tập hợp các số nguyên pZn, nguyên tố cùng n. Tức là: Zn* = { p  Zn | gcd (n,p) =1} Φ(n) là số phần tử của Zn* Nếu n là một số nguyên tố thì: Zn* = { p  Zn |1≤ p ≤ n - 1} Ví dụ: Z2 = {0,1} thì Z2*= {1} vì gcd(1,2) = 1. 1.1.4 Phần tử nghịch đảo Định nghĩa: Cho a  Zn. Nghịch đảo của a theo modulo n là số nguyên x  Zn 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 Zn. 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 Zn, 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) Đồ án tốt nghiệp – Khoa công nghệ thông tin trường DHDL Hải Phòng 7
  9. 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 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 x1 và x2 thuộc  sao cho x1 ≠ x2 và h(x1) = h(x2)”; 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ó. Đồ án tốt nghiệp – Khoa công nghệ thông tin trường DHDL Hải Phòng 8
  10. Giải pháp xác thực số 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: M1, M2,....,Ms.  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 H0 bằng một vector khởi tạo nào đó. - H1 = f(Hi-1,Mi) với I = 1,2,3,….,s. Đồ án tốt nghiệp – Khoa công nghệ thông tin trường DHDL Hải Phòng 9
  11. Giải pháp xác thực số  Hs chính là thông điệp rút gọn của thông điệp M ban đầu. 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) được giáo sư Rivest đề nghị vào năm 1990. Vào năm sau, phiên bản cải tiến. Thông điệp ban đầu x sẽ được mở rộng thành dãy bit X có độ dài là bội số của 512. Một bit 1 được thêm vào sau dãy bit x, tiếp đến là dãy gồm d bit 0 và cuối cùng là dãy 64 bit l biểu diễn độ dài của thông điệp x. Dãy gồm d bit 0 được thêm vào sao cho dãy X có độ dài là bội số của 512. Quy định này được thể hiện bằng 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 là các từ 32-bit nên dãy X sẽ được biểu diễn thành dãy các tư X[i] 32 bit: X=X[0]X[1]………X[N-1] với N là bội số của 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
  12. Giải pháp xác thực số Đầu tiên bốn biến ABCD được khởi tạo. Những biến này được gọi là chaining variables. Bốn chu kỳ biến đổi trong MD5 hoàn toàn khác nhau và lần lượt sử dụng các hàm F,G,H và I. Mỗi hàm có các tham số X,Y,Y là cá từ 32 bit và kết quả là một từ 32 bit. F(X,Y,Z)= (XY)((X)Z) G(X,Y,Z)= (XZ)(Y(Z)) H(X,Y,Z)= XYZ I(X,Y,Z)= Y(X(Z)) Với quy ước: XY: Phép toán AND trên bit giữa X và Y. XY: Phép toán OR trên bit giữa X và Y. XY: Phép toán XOR trên bit giữa X và Y. X: Phép toán NOT trên bit của X. Phép cộng (modulo 232). X+Y: X
  13. Giải pháp xác thực số Chu kỳ biến đổi trong MD5 Hình 1.6 Hình 1.7 Đồ án tốt nghiệp – Khoa công nghệ thông tin trường DHDL Hải Phòng 12
  14. Giải pháp xác thực số Hàm băm mật mã SHA: Trong các hàm băm SHA, chúng ta cần sử dụng thao tác quay phải một từ, ký hiệu là ROTR, và thao tác dịch phải một từ, ký hiệu là SHR. Khung thuật toán chung cho hàm băm SHA: Hình 1.8 Đồ án tốt nghiệp – Khoa công nghệ thông tin trường DHDL Hải Phòng 13
  15. Giải pháp xác thực số Hình 1.9 Mỗi thuật toán có bảng hằng số phân bố thông điệp tương ứng. Kích thước bảng hằng số thông điệp (ScheduleRound) của SHA-224 và SHA-256 là 64, kích thước bảng hằng số thông điệp của SHA-384 và SHA-512 là 80. Trong phương pháp SHA-224 và SHA-256 sử dụng các hàm sau: Trong phương pháp SHA-384 và SHA-512 sử dụng các hàm sau: Đồ án tốt nghiệp – Khoa công nghệ thông tin trường DHDL Hải Phòng 14
  16. Giải pháp xác thực số Hình 1.10: Các tính chất của các thuật toán băm an toàn 1.2 Vấn đề mã hóa 1.2.1 Khái niệm mã hoá Mã hóa là phương pháp để biến thông tin (phim ảnh, văn bản, hình ảnh...) từ dạng bình thường sang dạng thông tin “khó” thể hiểu được, nếukhông có phương tiện giải mã. Giải mã là phương pháp để chuyển thông tin đã được mã hóa về dạng thông tin ban đầu (quá trình ngược của mã hóa). Ví dụ: Thông điệp cần mã hoá là chuỗi nhị phân M=1011, hàm mã hoá vàgiải mã là hàm XOR, với K= 1010. Mã hóa: Đồ án tốt nghiệp – Khoa công nghệ thông tin trường DHDL Hải Phòng 15
  17. Giải pháp xác thực số Giải mã: Việc giao dịch thông tin trên mạng ngày càng trở nên phổ biến, vấn đề an toàn thông tin được đặt ra, làm thế nào để thông tin không bị đánh cắp. Nếu kẻ cắp lấy được dữ liệu, nhưng “khó” lấy được thông tin thực sự. Điều này có thể thực hiện bằng cách mã hoá, nghĩa là trước khi gửi thông điệp, thông điệp được chuyển từ bản rõ sang bản mã, rồi mới gửi đi. Kẻ cắp có thể lấy được bản mã, nhưng không có được bản rõ (nghĩa là không lấy được nội dung của thông điệp). Mã hoá tuân theo qui tắc nhất định gọi là Hệ mã hoá. Hiện nay có hai loại mã hoá: • Mã hoá đối xứng. • Mã hoá khoá công khai (phi đối xứng). Hệ mã hoá được định nghĩa là bộ năm (P,C,K,E,D) trong đó: P là một tập hữu hạn các bản rõ có thể. C là một tập hữu hạn các bản mã có thể. K là một tập hữu hạn các khoá có thể. E là tập các hàm lập mã. D là tập các hàm giải mã. Với mỗi k  K, có một hàm lập mã ek  E. ek : P→C, và một hàm giải mã dk: C→P sao cho dk(ek(x))=x  x  P. Hệ mã hoá khóa công khai sử dụng một cặp khóa. Một trong hai khóa được gọi là khóa riêng (Private Key) và phải được giữ bí mật bởi người sở hữu. Khóa còn lại được gọi là khóa công khai (Public Key), nó được phổ biến cho tất cả những ai muốn giao dịch với người giữ khóa riêng tương ứng. Cặp khóa này có liên quan về mặt toán học, và không thể sử dụng các thông tin của khóa công khai để tìm ra khóa riêng. Theo lý thuyết bất kỳ ai cũng có thể gửi cho người giữ khóa riêng một thông điệp được mã hóa bằng khóa công khai, và như vậy chỉ có Đồ án tốt nghiệp – Khoa công nghệ thông tin trường DHDL Hải Phòng 16
  18. Giải pháp xác thực số người nào sở hữu khóa riêng mới có thể giải mã được. Đồng thời, người sở hữu khóa riêng cũng chứng minh được tính toàn vẹn của dữ liệu mà anh ta gửi cho người khác bằng chữ ký điện tử thông qua việc sử dụng khóa riêng để mã hóa. Bất kỳ ai nhận được dữ liệu đó đều có thể sử dụng khóa công khai tương ứng để kiểm tra xem nó do ai gửi và có còn toàn vẹn hay không. 1.2.2 Hệ mã hoá khóa công khai RSA là hệ mã hoá khoá công khai, và độ an toàn của hệ dựa vào bài toán khó: ”phân tích số nguyên thành thừa số nguyên tố”, sau đây là chi tiết về hệ mã hoá RSA. Sơ đồ: Chọn p, q là số nguyên tố rất lớn. Tính: n = p * q, Φ(n) = (p-1)*(q-1). Chọn b là số nguyên tố với Φ(n), để tồn tại phần tử nghịch đảo b-1, nghĩa là gcd(b,Φ(n)) = 1. Chọn a là nghịch đảo của b: a*b = 1 mod Φ(n) (nghịch đảo theo modulo Φ(n)). + b là khoá lập mã, công khai. + a là khoá giải mã, giữ bí mật. Lập mã: Chọn P = C = Zn với n = p * q, Zn = {0, 1, 2, ..., n-1} x  Zn → y = xb mod n  Zn Giải mã: y  Zn → x = ya mod n  Zn Ví dụ: Giả sử ông B cần gửi cho ông A một thông điệp x=8 trên kênh truyền công cộng. A và B muốn giữ bí mật tài liệu, hai bên thống nhất sử dụng hệ mã khoá RSA.Sau đây là các bước thực hiện để A và B trao đổi thông điệp. • Chuẩn bị: Đồ án tốt nghiệp – Khoa công nghệ thông tin trường DHDL Hải Phòng 17
  19. Giải pháp xác thực số Lấy p = 3; q=5 (Đây là ví dụ minh họa, nên chọn p,q là hai số nguyên tố nhỏ để tiện cho việc tính toán).  n=p*q=3*5=15; Φ(n) = (p-1)*(q-1)=2*4= 8. Chọn b=7 (thoả mãn gcd(7,8)=1),  a= b-1mod Φ(n)=7 (thoả mãn 7*7=1 mod 8). Khóa công khai b=7; n=15. Khóa bí mật a = 7. • Quá trình mã hóa: Cho x= 8; Mã hóa: y = xb mod n = 87 mod 15 = 2097152 mod 15 = 2. • Quá trình giải mã: Nhận y = 2. Giải mã: x = ya mod n = 27 mod 15 = 128 mod 15=8. 1.3 Vấn đề chữ ký điện tử 1.3.1 Giới thiệu Giống như chữ ký của bạn trên các tài liệu thì chữ ký điện tử cũng có một ý nghĩa tương tự, đó là dùng chữ ký điện tử để ký lên một e-mail hoặc dữ liệu điện tử. Chữ ký điện tử được tạo ra và được chứng thực do việc dùng chứng chỉ số. Ngày nay, trên thế giới đã có nhiều quốc gia đã ban hành những điều luật công nhận chữ ký điện tử có giá trị pháp lý như những chữ ký trên các văn bản, giấy tờ trước đây vẫn dùng. Để ký, để tạo nên một giao dịch an toàn thì chứng chỉ số của bạn là duy nhất. Chữ ký điện tử mang lại cho bạn nhiều chức năng quan trọng như: • Tính xác thực. • An toàn và toàn vẹn dữ liệu. • Không chối cãi nguồn gốc. 1.3.2 Định nghĩa Một sơ đồ ký số thông thường gồm 2 thành phần tương ứng với 2 giai đoạn: - Thuật toán ký – tương ứng với giai đoạn ký. Đồ án tốt nghiệp – Khoa công nghệ thông tin trường DHDL Hải Phòng 18
  20. Giải pháp xác thực số - Thuật toán xác minh – tương ứng với giai đoạn kiểm tra chữ ký. Định nghĩa một cách hình thức sơ đồ ký số gồm 5 thành phần: ( P, A, K, S, V ) P là tập các thông điệp. A là tập hữu hạn chữ ký. K là tập các khóa. S là tập hàm ký. V là tập hợp các hàm kiểm thử chữ ký. Với mỗi k K thì tồn tại một thuật toán ký sigk S và thuật toán xác nhận là Verk V. Thông điệp xP => yA sao cho y=sigk(x) và từ xA và yA thì ta có Verk(x,y)=True  y=sigk(x) Sử dụng khóa bí mật kết hợp với hàm giải mã để ký. Kiểm tra chữ ký bằng cách sử dụng khóa công khai và hàm mã. 1.3.3 Sơ đồ chữ ký RSA Sơ đồ chữ ký RSA sử dụng thao tác sinh khóa của hệ mã RSA. 1. Tạo khóa: Chọn hai số nguyên tố lớn p và q khác nhau. N= p*q. Φ(N)=(p-1)*(q-1). Chọn e sao cho (e, Φ(N))=1 và (1
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

Đồng bộ tài khoản
3=>0