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

Luận văn Thạc sĩ Khoa học máy tính: Nghiên cứu cơ sở hạ tầng khóa công khai PKI ứng dụng chứng thực cho các giao dịch hành chính công điện tử

Chia sẻ: _ _ | Ngày: | Loại File: PDF | Số trang:80

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

Mục tiêu của đề tài là xây dựng một bộ tiêu chuẩn bảo mật tổng hợp cùng các công cụ quản lý, cho phép người sử dụng cũng như các tổ chức có thể tạo, lưu trữ và trao đổi các thông tin một cách an toàn. Mời các bạn cùng tham khảo!

Chủ đề:
Lưu

Nội dung Text: Luận văn Thạc sĩ Khoa học máy tính: Nghiên cứu cơ sở hạ tầng khóa công khai PKI ứng dụng chứng thực cho các giao dịch hành chính công điện tử

  1. ĐẠI HỌC THÁI NGUYÊN TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG NGÔ THU PHƯƠNG NGHIÊN CỨU CƠ SỞ HẠ TẦNG KHÓA CÔNG KHAI PKI ỨNG DỤNG CHỨNG THỰC CHO CÁC GIAO DỊCH HÀNH CHÍNH CÔNG ĐIỆN TỬ LUẬN VĂN THẠC SĨ KHOA HỌC MÁY TÍNH THÁI NGUYÊN - 2017
  2. ĐẠI HỌC THÁI NGUYÊN TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG NGÔ THU PHƯƠNG NGHIÊN CỨU CƠ SỞ HẠ TẦNG KHÓA CÔNG KHAI PKI ỨNG DỤNG CHỨNG THỰC CHO CÁC GIAO DỊCH HÀNH CHÍNH CÔNG ĐIỆN TỬ Chuyên ngành: Khoa học máy tính Mã số: 60.48.01.01 LUẬN VĂN THẠC SĨ KHOA HỌC MÁY TÍNH Người hướng dẫn khoa học: TS. Phạm Thế Quế THÁI NGUYÊN - 2017
  3. i LỜI CAM ĐOAN Tôi cam đoan đây là công trình nghiên cứu của riêng tôi, dưới sự chỉ dẫn của TS. Phạm Thế Quế. Các số liệu, kết quả nêu trong luận văn là trung thực, luận văn này cho đến nay chưa được bảo vệ tại bất kỳ hội đồng nào và chưa hề được công bố trên bất kỳ phương tiện nào khác. Thái nguyên, ngày ..... tháng ..... năm 2017 Tác giả luận văn Ngô Thu Phương
  4. ii LỜI CẢM ƠN Em xin chân thành cảm ơn thầy giáo TS. Phạm Thế Quế đã tận tình hướng dẫn và tạo mọi điều kiện cho em hoàn thành luận văn. Em xin chân thành cảm ơn các thầy cô giáo, các cán bộ nhân viên phòng đào tạo, ban lãnh đạo Trường Đại học Công nghệ thông tin và Truyền thông đã giúp đỡ tạo điều kiện cho em hoàn thành luận văn này. Cuối cùng, em xin chân thành cảm ơn sự quan tâm giúp đỡ của gia đình, cơ quan, bạn bè và tập thể lớp Cao học K14B đã cổ vũ động viên em hoàn thành luận văn của mình. Tuy đã cố gắng nhưng do thời gian và trình độ có hạn nên chắc chắn luận văn này còn nhiều thiếu sót và hạn chế nhất định. Kính mong nhận được sự góp ý của thầy cô và các bạn. Thái nguyên, ngày ..... tháng ..... năm 2017 Học viên Ngô Thu Phương
  5. iii MỤC LỤC LỜI CAM ĐOAN ....................................................................................................... i LỜI CẢM ƠN........................................................................................................... ii MỤC LỤC ............................................................................................................... iii DANH MỤC NHỮNG TỪ VIẾT TẮT ................................................................. vi DANH MỤC BẢNG............................................................................................... vii DANH MỤC HÌNH .............................................................................................. viii MỞ ĐẦU ....................................................................................................................1 1. Lý do chọn đề tài ................................................................................................1 2. Ý nghĩa khoa học của đề tài ...............................................................................2 3. Đối tượng và phạm vi nghiên cứu ......................................................................2 4. Những nội dung nghiên cứu chính .....................................................................2 CHƯƠNG 1 CƠ SỞ HẠ TẦNG KHÓA CÔNG KHAI ........................................3 1.1 Hệ mật mã khóa bất đối xứng [2] .................................................................3 1.1.1 Khái niệm ................................................................................................3 1.1.2 Thuật toán mật mã RSA ...........................................................................5 1.1.3 Chuyển đổi văn bản rõ ...........................................................................7 1.1.4 Đánh giá kỹ thuật mật mã bất đối xứng ................................................8 1.1.5 Một số kỹ thuật phá mã RSA .................................................................9 1.1.6 Một số hệ mật mã khóa công khai khác ...............................................9 1.2 Hàm băm bảo mật ............................................................................................9 1.2.1 Giới thiệu .................................................................................................9 1.2.2 Các tính chất của hàm băm bảo mật ...................................................10 1.2.3 Ứng dụng hàm băm bảo mật ...................................................................11 1.2.4 Hàm băm bảo mật SHA ..........................................................................12 1.2.5 Hàm băm MD5 ........................................................................................13 1.3 Chữ ký số [2] ..................................................................................................14
  6. iv 1.3.1 Khái niệm chữ ký số ...............................................................................14 1.3.2 Quy trình tạo và kiểm tra chữ ký số ........................................................15 1.3.3 Những vấn đề còn tồn tại của chữ ký số .................................................18 1.4 Cơ sở hạ tầng khóa công khai PKI [3] ...........................................................19 1.4.1 Khái niệm ................................................................................................19 1.4.2 Chức năng chủ yếu của PKI ....................................................................21 1.4.3 Các thành phần PKI ................................................................................22 1.4.4 Các thủ tục trong PKI ..............................................................................23 1.4.5 Khái niệm chứng thực số ........................................................................24 1.5 Một số thuật toán quản lý khóa [2] .............................................................25 1.5.1 Thuật toán trao đổi khoá Diffie-Hellman ...........................................25 1.5.2 Đánh giá độ an toàn thuật toán trao đổi khoá Diffie-Hellman .........26 1.5.3 Quản lý khoá công khai trong mật mã bất đối xứng ..............................27 1.5.4 Sử dụng mật mã bất đối xứng để trao đổi khóa bí mật ...........................29 Kết luận chương ........................................................................................................31 CHƯƠNG 2 KỸ THUẬT XÁC THỰC THÔNG TIN TRONG GIAO DỊCH ĐIỆN TỬ ..................................................................................................................32 2.1 Giới thiệu chung xác thực thông tin ...........................................................32 2.2 Các kỹ thuật xác thực thông tin [2] ................................................................33 2.2.1 Sử dụng các thuật toán mật mã khóa đối xứng .......................................34 2.2.2 Sử dụng các thuật toán mật mã khóa bất đối xứng .................................35 2.2.3 Sử dụng mã xác thực MAC .....................................................................36 2.2.4 Sử dụng các hàm băm bảo mật ...............................................................37 2.2.5 Xác thực thông tin dùng chữ ký điện tử .................................................38 2.2.6 Xác thực thông tin dùng chữ ký điện tử và chứng thực điện tử ...........40 2.3 Các giao thức xác thực ...................................................................................42 2.3.1 Mật khẩu ..................................................................................................42 2.3.2 Các giao thức xác thực trong mô hình điểm - điểm ................................43 2.3.3 Xác thực trong các hệ thống phân tán .....................................................44
  7. v 2.3.4 Giao thức xác thực Kerberos 4 ................................................................48 2.3.5 Giao thức xác thực Kerberos 5 ................................................................52 Kết luận chương ........................................................................................................55 CHƯƠNG 3 GIẢI PHÁP XÁC THỰC CHO CÁC GIAO DỊCH HÀNH CHÍNH CÔNG ĐIỆN TỬ ......................................................................................56 3.1 Dịch vụ hành chính công .............................................................................56 3.1.1 Khái niệm ................................................................................................57 3.1.2 Các đặc trưng cơ bản của dịch vụ hành chính công ................................57 3.2 Mô hình xác thực người dùng hành chính công ........................................58 3.2.1 Các thành phần hệ thống xác thực .......................................................... 58 3.2.2 Hệ thống ký hiệu ..................................................................................... 59 .......................................................................................................................... 60 3.2.3 Hoạt động hệ thống xác thực thông tin ... Error! Bookmark not defined. 3.3 Các quy trình xác thực hệ thống thông tin hành chính công ................... 60 3.3.1 Quy trình cấp và quản lý chứng thực khóa ........................................ 60 3.3.2 Quy trình xác thực thông tin ................................................................... 63 3.3.3 Một số nhận xét ....................................................................................... 64 3.4 Cài đặt thử nghiệm ......................................................................................... 65 3.5 Đánh giá kết quả thử nghiệm .......................... Error! Bookmark not defined. KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN ............................................................. 68 TÀI LIỆU THAM KHẢO ...................................................................................... 70
  8. vi DANH MỤC NHỮNG TỪ VIẾT TẮT AES Advanced Encryption Standard Chuẩn mã hoá tiên tiến ANSI American National Standards Viện tiêu chuẩn quốc gia Mỹ Institude CA Certification Authority Nhà cung cấp chứng thực CRL Certificate Revocation List Danh sách chứng thực thu hồi DES Data Ecryption Standard Chuẩn mã dữ liệu DNS Domain Name System Hệ thống tên miền DSA Digital Signature Algorithm Thuật toán chữ ký điện tử DSS Digital Signature Standard Chuẩn chữ ký điện tử EDI Electronic Data Interchange Trao đổi dữ liệu điện tử FIPS Federal Information Processing Chuẩn xử lý thông tin liên bang Standard Mỹ FTP File Transfer Protocol Giao thức truyền file HTTP Hyper Text Transport Protocol Giao thức truyền siêu văn bản IDEA International Data Encryption Thuật toán mã hoá dữ liệu quốc Algorithm tế ISO International Organization for Tổ chức tiêu chuẩn hoá quốc tế Standardization ISP Internet Service Provider Nhà cung cấp dịch vụ Internet ITU International Telecommunication Liên minh viễn thông quốc tế Union MD5 Message Digest 5 NIST National Institute of Standards Viện quốc gia về chuẩn và công and Technology nghệ OSI Open System Interconnection Kết nối giữa các hệ thống mở PGP Pretty Good Private PKI Public Key Infrastructure Cơ sở hạ tầng khoá công khai RA Registration Authority Nhà quản lý đăng ký RSA Rivest-Shamir-Aldeman SET Secure Electronic Transaction Giao dịch điện tử an toàn SHA Secure Hash Algorithm Thuật toán băm an toàn TCP/IP Transmission Control Protocol Giao thức điều khiển truyền / Internet protocol dẫn/ giao thức Internet URL Uniform Resource Locator Bộ định vị tài nguyên
  9. vii DANH MỤC BẢNG Bảng 1.1: Các phiên bản SHA ..................................................................................13 Bảng 1.2: So sánh các thông số giữa SHA-1 và MD5 ..............................................13 Bảng 3.1: Kết quả thử nghiệm ..................................................................................67
  10. viii DANH MỤC HÌNH Hình 1.1: Cấu trúc hệ thống mật mã khóa bất đối xứng .............................................5 Hình 1.2: Một ứng dụng điển hình của hàm băm .....................................................10 Hình 1.3: Định nghĩa chữ ký số ................................................................................15 Hình 1.4: Sơ đồ tổng quát tạo chữ ký số ...................................................................16 Hình 1.5: Sơ đồ tổng quát kiểm tra chữ ký số ..........................................................17 Hình 1.6: Sơ đồ tổng quát tạo và kiểm tra chữ ký số ................................................17 Hình 1.7: Các thành phần cơ bản của một PKI.........................................................23 Hình 1.8: Thuật toán trao đổi khoá Diffie-Hellman .................................................26 Hình 1.9: Dùng mật mã bất đối xứng để trao đổi khoá.............................................29 Hình 2.1: Xác thực thông tin dùng mật mã đối xứng ...............................................34 Hình 2.2: Sử dụng khóa bất đối xứng để trao đổi khóa bí mật .................................35 Hình 2.3: Xác thực thông tin dùng mật mã bất đối xứng .........................................35 Hình 2.4: Xác thực thông tin dùng MAC .................................................................36 Hình 2.5: Xác thực thông tin dùng hàm băm ............................................................37 Hình 2.6: Xác thực dùng hàm băm và mật mã bất đối xứng ....................................38 Hình 2.7: Xác thực thông tin dùng chữ ký số ...........................................................39 Hình 2.8: Xác thực thông tin dùng chữ ký số ...........................................................39 Hình 2.9: Minh hoạ xác thực sử dụng chứng chỉ số và chữ ký điện tử ....................40 Hình 2.10: Sơ đồ minh họa quá trình xin cấp chứng chỉ số ......................................41 Hình 2.11: Giao thức xác thực PAP..........................................................................44 Hình 2.12: Giao thức xác thực CHAP ......................................................................44 Hình 2.13: Thủ tục xác thực Kerberos 4 ...................................................................49 Hình 2.14: Xác thực giữa hai lãnh địa Kerberos ......................................................52 Hình 3.1: Mô hình tổng quát cấp chứng thực khóa ..................................................62 Hình 3.2: Quy trình khởi tạo chứng thực khóa cho người sử dụng ..........................63 Hình 3.3: Giao diện chương trình demo chữ ký số ... Error! Bookmark not defined. Hình 3.4: Giao diện kiểm tra chuỗi toàn vẹn ........... Error! Bookmark not defined.
  11. 1 MỞ ĐẦU 1. Lý do chọn đề tài Ngày nay, cùng với sự phát triển của công nghệ thông tin và truyền thông, giao dịch điện tử đã và đang phát triển mạnh mẽ thay thế dần các giao dịch truyền thống. Sự bùng nổ của Internet, một mặt đem lại nhiều ứng dụng tiện lợi, nhưng hầu hết các thông tin quan trọng và nhạy cảm (thông tin mật, mã số tài khoản…) đều được lưu trữ và trao đổi trên môi trường Internet. Triển khai các giao dịch điện tử trên Internet như trao đổi thư tín, các giao dịch hành chính công Chính phủ - công dân,… đã trở thành một phần tất yếu của cuộc sống hiện đại. Tuy nhiên các nguy cơ, lừa đảo, giả mạo, chiếm quyền điều khiển,… qua mạng ngày càng gia tăng với các thủ đoạn tinh vi. Vì vậy việc đảm bảo an toàn thông tin, tránh mọi nguy cơ bị thay đổi, sao chép hoặc mất mát dữ liệu trong các ứng dụng trên mạng luôn là vấn đề bức xúc và cần thiết, được nhiều người quan tâm. Nhu cầu thực tế được đặt ra, đó là phải có một cơ quan đảm bảo chứng thực điện tử cho các giao dịch điện tử, nhằm đảm bảo yêu cầu xác thực, bí mật, toàn vẹn, chống chối bỏ. Thực tế là hiện nay trên thế giới, có rất nhiều cách xây dựng, triển khai một hệ thống PKI. Có thể đơn cử ra một vài ví dụ cụ thể như: CA - Microshoft, OpenCA - Opensourc, Entrus…. Cấu trúc hạ tầng mã khóa công khai PKI (Public Key Infrastructure), cùng với các tiêu chuẩn và các công nghệ ứng dụng của nó có thể coi là một giải pháp tổng hợp và độc lập mà các tổ chức, doanh nghiệp có thể ứng dụng để giải quyết vấn đề này. PKI bản chất là một hệ thống công nghệ vừa mang tính tiêu chuẩn, vừa mang tính ứng dụng được sử dụng để khởi tạo, lưu trữ và quản lý các văn bản điện tử cũng như các khóa công khai và bí mật. Ngoài việc bảo đảm an toàn cho thông tin liên lạc và lưu trữ, PKI còn là cơ sở pháp lý để giải quyết khi có tranh chấp. Vì vậy mục tiêu đặt ra là xây dựng một bộ tiêu chuẩn bảo mật tổng hợp cùng các công cụ quản lý, cho phép người sử dụng cũng như các tổ chức có thể tạo, lưu trữ và trao đổi các thông tin một cách an toàn.
  12. 2 Luận văn này với mục đích nghiên cứu về hạ tầng khóa công khai PKI và ứng dụng cho các giao dịch hành chính điện tử. 2. Ý nghĩa khoa học của đề tài Nghiên cứu lý thuyết mật mã, chữ ký số và xác thực; hạ tầng khóa công khai PKI và ứng dụng của nó. Từ đó xây dựng chương trình ứng dụng có khả năng bảo mật nội dung thông tin dưới dạng văn bản điện tử, tạo chữ ký trên văn bản điện tử và chứng thực chữ ký số trên văn bản điện tử; góp phần phục vụ những người quản lý đơn vị trao đổi thông tin với các đối tác khách hàng, điều hành công việc từ xa. 3. Đối tượng và phạm vi nghiên cứu 3.1 Đối tượng nghiên cứu − Xác thực và mã hóa ứng dụng khóa công khai PKI − Các giải pháp mã hóa, hàm băm, chữ ký số 3.2 Phạm vi nghiên cứu: − Xây dựng các mô hình xác thực dịch vụ hành chính công − Xây dựng quy trình xác thực hành chính công 4. Những nội dung nghiên cứu chính Luận văn gồm 3 chương như sau: CHƯƠNG 1 : CƠ SỞ HẠ TẦNG KHÓA CÔNG KHAI CHƯƠNG 2: KỸ THUẬT XÁC THỰC THÔNG TIN TRONG GIAO DỊCH ĐIỆN TỬ CHƯƠNG 3: GIẢI PHÁP XÁC THỰC CHO CÁC GIAO DỊCH HÀNH CHÍNH CÔNG ĐIỆN TỬ
  13. 3 CHƯƠNG 1 CƠ SỞ HẠ TẦNG KHÓA CÔNG KHAI 1.1 Hệ mật mã khóa bất đối xứng[2] 1.1.1 Khái niệm Đặc trưng của hệ mật mã khóa bất đối xứng (Asymmetric Key Encryption), hay còn được gọi là hệ mật mã khóa công khai (Public Key Encryption) là dùng 2 khóa riêng biệt cho hai quá trình mã hóa và giải mã, trong đó có một khóa được phổ biến công khai (Public Key), không cần giữ bí mật, ký hiệu PU và khóa còn lại gọi là khóa riêng (Private Key) được giữ bí mật, chỉ có chủ sở hữu được biết, ký hiệu là PR. Cả hai khoá có thể được dùng để mã hoá hoặc giải mã theo nhu cầu sử dụng. Việc chọn khoá công khai hay khoá bí mật cho quá trình mã hoá sẽ tạo các ứng dụng khác nhau: 1. Dùng khoá công khai PU để mã hoá và khoá riêng để giải mã cho ứng dụng bảo mật thông tin (Confidentiality). 2. Dùng khoá riêng PR để mã hoá và khoá công khai PU để giải mã cho ứng dụng xác thực nội dung và nguồn gốc thông tin (Authentication). Thuật toán mật mã bất đối xứng dựa trên các hàm toán học. Mật mã hóa bất đối xứng còn được gọi bằng một tên thông dụng hơn là mật mã hóa dùng khóa công khai (Public Key Kncryption). Nói chung, mật mã hóa bất đối xứng không phải là một kỹ thuật mật mã an toàn hơn so với mật mã đối xứng, mà độ an toàn của một thuật toán mã nói chung phụ thuộc vào 2 yếu tố: Độ dài của khóa và mức độ phức tạp khi thực hiện thuật toán (trên máy tính). Hơn nữa, mặc dù được ra đời sau nhưng không có nghĩa rằng mật mã bất đối xứng hoàn toàn ưu điểm hơn và sẽ được sử dụng thay thế cho mật mã đối xứng. Mỗi kỹ thuật mã có một thế mạnh riêng và mật mã đối xứng vẫn rất thích hợp cho các hệ thống nhỏ và đơn giản. Ngoài ra, vấn đề phân phối khóa trong mật mã bất đối xứng cũng được đánh giá là một trong những vấn đề phức tạp khi triển khai kỹ thuật mật mã này trong thực tế.
  14. 4 Các bước cơ bản của một hệ thống mật mã khóa công khai bao gồm: 1. Mỗi thực thể thông tin (User) tạo ra một cặp khóa công khai PU (Public Key) và khóa riêng PR (Private Key). 2. User thông báo khoá công khai PU cho các User khác biết, còn khóa riêng PR là sở hữu riêng, giữ bí mật. 3. Nếu User A muốn gửi thông tin cho User B, User A sẽ thực hiện mã hóa thông tin cần gửi bằng khóa công khai của User B. 4. Khi nhận được thông tin đã mã hóa từ User A, User B thực hiện giải mã thông tin đó bằng khóa riêng của nó. Do khóa riêng không phổ biến công khai nên chỉ có User B có khả năng giải mã được. Mật mã hóa bất đối xứng được sử dụng trong các ứng dụng: che giấu thông tin, tạo chữ ký số (Digital Signature) và trao đổi khóa trong các thuật toán mật mã đối xứng (Key Exchange). a) Ứng dụng bảo mật thông tin
  15. 5 b) Ứng dụng xác thực thông tin Hình 1.1: Cấu trúc hệ thống mật mã khóa bất đối xứng 1.1.2 Thuật toán mật mã RSA RSA (Rivest – Shamir – Adleman hay RSA) là thuật toán mật mã khóa bất đối xứng được xây dựng bởi Ron Rivest, Adi Shamir và Len Adleman tại viện công nghệ Massachusetts (MIT), ra đời năm 1977, đến nay đã được ứng dụng trong nhiều lĩnh vực. Cũng như các thuật toán mật mã bất đối xứng khác, nguyên lý của RSA dựa chủ yếu trên lý thuyết số, lý thuyết logic rời rạc RSA là một thuật toán mật mã khối, kích thước khối thông thường là 1024 hoặc 2048 bit. Thông tin gốc của RSA được xử lý như các số nguyên. Ví dụ, khi chọn kích thước khối của thuật toán là 1024 bit thì số nguyên này có giá trị từ 0 đến 21024 – 1, tương đương với số thập phân có 309 chữ số. Chú ý rằng đây là những số nguyên cực lớn, không thể xử lý được bằng cách sử dụng các cấu trúc dữ liệu có sẵn của các ngôn ngữ lập trình phổ biến. Thuật toán RSA được mô tả như sau: 1. Chọn hai số nguyên tố đủ lớn p và q. 2. Ký hiệu N = pq, φ(N) = (p-1)(q-1). 3. Chọn một số e sao cho e và φ(N) là hai số nguyên tố cùng nhau. 4. Tìm số d sao cho ed = 1 mod φ(N)
  16. 6 5. Cặp khóa bất đối xứng − Khóa công khai (Public): PU= (N, e) − Khóa bí mật (Private): PR = (N, d) 6. Nếu sử dụng kỹ thuật RSA để mã hóa thông tin − Mã hóa: • Khối thông tin gốc “m” chuyển về số nguyên M≤ N • C = Me mod N − Giải mã: M = Cd mod N Ví dụ: 1. Chọn các số nguyên tố: p = 11 và q = 3 2. N = pq = 3*11 = 33, φ(N) = (p-1) (q-1) = (11 - 1) (3 - 1) = 20 3. Chọn e = 3, vì 3 và 20 nguyên tố cùng nhau. 4. Với e = 3, chọn d = 7, vì e*d = 3*7 = 1 mod 20 5. Cặp khóa bất đối xứng − Khóa công khai (Public): PU = (33, 3) − Khóa bí mật (Private): PR = (33, 7) 6. Giả sử User A có cặp khóa PUA = (33, 3) và PRA = (33, 7),User B muốn gửi thông tin M = 15 cho User A − User B mã hóa M bằng PUA = (33,3), C = 153 mod 33 = 3375 mod 33 = 9 mod 33. Khi đó, thông tin mật gửi cho User A là C = 9 − Khi nhận C = 9, User A giải mã bằng khóa riêng PRA = (33, 7): M = Cd mob N = 97 mod 33 = 4.782.969 mod 33 = 15 mod 33. - Thông tin giải mã được là M = 15 Tóm lại, thuật toán mật mã RSA được thực hiện gồm 3 quá trình tách rời: tạo khoá, mã hoá và giải mã được tóm tắt như sau: 1. Tạo khoá: • Chọn p, q (p và q là số nguyên tố, p ≠ q) • Tính N = p*q • Tính φ(N) = (p - 1)(q - 1) • Chọn e sao ước số chung lớn nhất của e và φ(N) là 1 • Chọn d sao cho e.d mod φ(N) = 1 • Cặp khoá RSA được tạo ra là PU = (N, e), PR = (N, d) 2. Mã hoá: C = Me mod N (M là số nguyên nhỏ hơn N)
  17. 7 3. Giải mã: M = Cd mod N Trong thực tế, để đạt được độ an toàn cao, cặp khóa phải được chọn trên các số p và q đủ lớn (N nhỏ nhất phải là 1024 bit), do vậy, vấn đề thực thi RSA bao gồm các phép toán lũy thừa trên các số rất lớn. Vấn đề giảm chi phí tính toán và tăng tốc độ thực hiện thuật toán RSA là một trong những vấn đề quan trọng cần phải giải quyết. Trên các hệ thống máy tính hiện nay, hiệu suất thực hiện giải thuật RSA là chấp nhận được. 1.1.3 Chuyển đổi văn bản rõ Trước khi thực hiện mã hóa, ta phải thực hiện việc chuyển đổi văn bản rõ (chuyển đổi từ M sang m) sao cho không có giá trị nào của M tạo ra văn bản mã không an toàn. Nếu không có quá trình này, RSA sẽ gặp phải một số vấn đề: Nếu m = 0 hoặc m = 1 sẽ tạo ra các bản mã có giá trị là 0 và 1 tương ứng Khi mã hóa với số mũ nhỏ (chẳng hạn e = 3) và m cũng có giá trị nhỏ, giá trị cũng nhận giá trị nhỏ (so với n). Như vậy phép modulo không có tác dụng và có thể dễ dàng tìm được m bằng cách khai căn bậc e của c (bỏ qua modulo). RSA là phương pháp mã hóa xác định, không có thành phần ngẫu nhiên, nên Hacker có thể tấn công lựa chọn bản rõ bằng cách tạo ra một bảng tra giữa bản rõ và bản mã. Khi gặp một bản mã, Hacker sử dụng bảng tra để tìm ra bản rõ tương ứng. Trên thực tế, thường gặp 2 vấn đề đầu khi gửi các bản tin ASCII ngắn với m là nhóm vài ký tự ASCII. Một đoạn tin chỉ có 1 ký tự NUL sẽ được gán giá trị m = 0 và cho ra bản mã là 0 bất kể giá trị của e và N. Tương tự, một ký tự ASCII khác, SOH, có giá trị 1 sẽ luôn cho ra bản mã là 1. Với các hệ thống dùng giá trị e nhỏ thì tất cả ký tự ASCII đều cho kết quả mã hóa không an toàn vì giá trị lớn nhất của m chỉ là 255 và 2553 nhỏ hơn giá trị n chấp nhận được. Những bản mã này sẽ dễ dàng bị phá mã. Để tránh gặp phải những vấn đề trên, RSA trên thực tế thường bao gồm một hình thức chuyển đổi ngẫu nhiên hóa m trước khi mã hóa. Quá trình chuyển đổi này phải đảm bảo rằng m không rơi vào các giá trị không an toàn. Sau khi chuyển đổi, mỗi bản rõ khi mã hóa sẽ cho ra một trong số khả năng trong tập hợp bản mã. Điều này làm giảm tính khả thi tấn công lựa chọn bản rõ (một bản rõ sẽ có thể tương ứng với nhiều bản mã tuỳ thuộc vào cách chuyển đổi).
  18. 8 Một số chuẩn, như PKCS, được thiết kế chuyển đổi bản rõ trước khi mã hóa bằng RSA. Các phương pháp chuyển đổi này bổ sung thêm bít vào M. Các phương pháp chuyển đổi cần được thiết kế cẩn thận để tránh những dạng tấn công phức tạp, tận dụng khả năng biết trước được cấu trúc của bản rõ. Phiên bản ban đầu của PKCS dùng một phương pháp Ad- hoc mà về sau được biết là không an toàn trước tấn công lựa chọn bản rõ thích ứng (Adaptive Chosen Ciphertext Attack). Các phương pháp chuyển đổi hiện đại sử dụng các kỹ thuật như chuyển đổi mã hóa bất đối xứng tối ưu (Optimal Asymmetric Encryption Padding - OAEP) để chống lại tấn công dạng này. Tiêu chuẩn PKCS còn được bổ sung các tính năng khác để đảm bảo an toàn cho chữ ký RSA (Probabilistic Signature Scheme for RSA - RSA - PSS). 1.1.4 Đánh giá kỹ thuật mật mã bất đối xứng Kỹ thuật mật mã bất đối xứng hoàn toàn có thể đáp ứng được những yêu cầu về bảo mật hệ thống như trong kỹ thuật mật mã đối xứng, mặc dù tốc độ thực thi của mã bất đối xứng thường thấp hơn do bản chất thuật toán dựa trên các thao tác số học chứ không dựa trên các thao tác xử lý bit. Hơn nữa, mã bất đối xứng chỉ phù hợp với việc thực thi bằng phần mềm. Mật mã bất đối xứng đảm bảo được 2 yêu cầu cơ bản của thông tin là tính bí mật và tính toàn vẹn. Kỹ thuật mật mã bất đối xứng có 2 ưu điểm so với mã đối xứng: 1. Hai thực thể không cần thực hiện trao đổi khóa trước khi làm việc. 2. Bên cạnh công dụng đảm bảo tính toàn vẹn của dữ liệu, mật mã bất đối xứng (khi được sử dụng cho mục đích xác thực) còn đảm bảo được tính không thể phủ nhận (non-repudiation) của thông tin. Theo lý thuyết, RSA có thể bị tấn công bằng những phương thức sau: − Brute-force attack: tìm lần lượt khoá riêng PR − Mathematical attack: xác định p và q bằng cách phân tích N thành tích của các thừa số nguyên tố rồi từ đó xác định e và d. − Timing attack: dựa trên thời gian thực thi của thuật toán giải mã.
  19. 9 − Chosen ciphertext attack: sử dụng các đoạn thông tin mật (ciphertext) đặc biệt để khôi phục thông tin gốc. Tuy nhiên trong thực tế, nguy cơ tấn công các hệ thống mật mã RSA là rất thấp, do RSA là một thuật toán linh động, kích thước khối dữ liệu gốc và chiều dài khoá dễ dàng được thay đổi mà không ảnh hưởng đến thuật toán mã. 1.1.5 Một số kỹ thuật phá mã RSA RSA có thể bị tấn công bằng những phương thức sau đây: − Tìm lần lượt khoá riêng PR − Xác định p và q bằng cách phân tích N thành tích của các thừa số nguyên tố rồi từ đó xác định e và d. − Dựa trên thời gian thực hiện của thuật toán giải mã. − Sử dụng các đoạn thông tin mật (Ciphertext) đặc biệt để khôi phục thông tin gốc. − Trong thực tế, nguy cơ tấn công các hệ thống mật mã RSA là rất thấp, vì RSA là một thuật toán linh động, kích thước khối dữ liệu gốc và chiều dài khoá dễ dàng thay đổi mà không ảnh hưởng đến thuật toán mã. 1.1.6 Một số hệ mật mã khóa công khai khác − ELGamal(ELGamal,s Public-key Cryptosystem): Độ bảo mật dựa trên tính khó giải của bài toán logarit rời rạc trên các trường hữu hạn. − Schnorr( Schnorr,s Public-key Cryptosystem): Độ bảo mật dựa trên các thuật toán logarit rời rạc. − DSA (Digital Signature Algorithm): Độ bảo mật dựa sự kết hợp của ELGamal và Schnorr. − ECC(The Elliptic Curve Cryptosystem): Là biến tướng của các hệ mật khác (ELGamal), làm việc trên các đường cong Elip. 1.2 Hàm băm bảo mật 1.2.1 Giới thiệu Hàm băm bảo mật (Secure Hash Function) còn được gọi là hàm băm (Hash) là một trong những kỹ thuật cơ bản để thực hiện các cơ chế xác thực thông tin (Message Authentication). Ngoài ra, hàm băm cũng còn được sử dụng trong nhiều thuật toán mật mã, trong chữ ký số (Digital Signature) và trong nhiều ứng dụng khác. Nguyên tắc của hàm băm là biến đổi khối thông tin gốc M có độ dài bất kỳ thành một đoạn thông tin ngắn hơn có độ dài cố định. Đoạn thông tin này gọi là giá
  20. 10 trị băm, hay còn được gọi là mã băm h = H(M) (Hash Code hay Message Digest). Mã băm được dùng để kiểm tra tính chính xác của thông tin nhận được. Thông thường, mã băm được gửi đính kèm với thông tin gốc. Ở phía nhận, hàm băm lại được áp dụng đối với thông tin gốc để tìm ra mã băm mới, giá trị này được so sánh với mã băm đi kèm với thông tin gốc. Nếu hai mã băm giống nhau, nghĩa là thông tin gửi đi không bị thay đổi. 1.2.2 Các tính chất của hàm băm bảo mật Chỉ có thể dùng hàm băm để tính mã băm từ thông tin gốc chứ không thể tính được thông tin gốc từ mã băm. Do đặc tính này, các hàm băm bảo mật cũng còn được gọi là hàm băm một chiều (One Way Hash Function). Các tính chất của một hàm băm bảo mật h = H(M) − H(M)có thể được áp dụng cho khối thông tin với chiều dài bất kỳ − Dung lượng mã băm h = H(M) luôn có chiều dài cố định − Hàm băm H(M) với một giá trị có thể thực hiện trên phần cứng hoặc bằng phần mềm. − Tính chất một chiều (One Way Property): Cho trước một giá trị h, khó có thể tìm được một giá trị M sao cho H(x) = h. − Tính chất đụng độ yếu (Weak Collision Resistance): Cho trước khối thông tin M, không thể tìm được một khối thông tin M” ≠ M sao cho cùng giá trị băm H(M”) = H(M). − Tính chất đụng độ mạnh (Strong Collision Resistance): Không thể tìm được hai khối thông tin M” ≠ M sao cho H(M”) = H(M). Thông tin gốc Thông tin gốc Thông tin gốc H : So sánh H : Mã băm H : Hàm băm Hình 1.2: Một ứng dụng điển hình của hàm băm
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

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