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 vấn đề xác thực giao dịch ngân hàng trực tuyến sử dụng mật khẩu dạng OTP

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

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

Luận văn "Nghiên cứu vấn đề xác thực giao dịch ngân hàng trực tuyến sử dụng mật khẩu dạng OTP" được lựa chọn với mục đích nghiên cứu sâu về mật khẩu sử dụng một lần, các phương pháp sinh và tạo mật khẩu sử dụng một lần và ứng dụng trong việc xác thực các giao dịch ngân hàng, cài đặt thử nghiệm ứng dụng mật khẩu sử dụng một lần để nâng cao an toàn cho xác thực các giao dịch ngân hàng trực tuyế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 vấn đề xác thực giao dịch ngân hàng trực tuyến sử dụng mật khẩu dạng OTP

  1. ĐẠI HỌC THÁI NGUYÊN ĐẠI HỌC CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG LÊ THU HƯƠNG NGHIÊN CỨU VẤN ĐỀ XÁC THỰC GIAO DỊCH NGÂN HÀNG TRỰC TUYẾN SỬ DỤNG MẬT KHẨU DẠNG OTP LUẬN VĂN THẠC SĨ KHOA HỌC MÁY TÍNH THÁI NGUYÊN, 2016
  2. ĐẠI HỌC THÁI NGUYÊN ĐẠI HỌC CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG LÊ THU HƯƠNG NGHIÊN CỨU VẤN ĐỀ XÁC THỰC GIAO DỊCH NGÂN HÀNG TRỰC TUYẾN SỬ DỤNG MẬT KHẨU DẠNG OTP 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. VŨ VINH QUANG THÁI NGUYÊN, 2016
  3. i LỜI CAM ĐOAN Sau quá trình học tập tại Trường Đại học công nghệ thông tin & truyền thông, với những kiến thức lý thuyết và thực hành đã tích lũy được, với việc vận dụng các kiến thức vào thực tế, em đã tự nghiên cứu các tài liệu, các công trình nghiên cứu, đồng thời có sự phân tích, tổng hợp, đúc kết và phát triển để hoàn thành luận văn thạc sĩ của mình. Em xin cam đoan luận văn này là công trình do bản thân em tự tìm hiểu, nghiên cứu và hoàn thành dưới sự hướng dẫn của thầy giáo TS. Vũ Vinh Quang. Thái Nguyên, tháng 12 năm 2016 Học viên Lê Thu Hương
  4. ii LỜI CẢM ƠN Trong thời gian hai năm của chương trình đào tạo thạc sỹ, trong đó gần một nửa thời gian dành cho các môn học, thời gian còn lại dành cho việc lựa chọn đề tài, giáo viên hướng dẫn, tập trung vào nghiên cứu, viết, chỉnh sửa và hoàn thiện luận văn. Với quỹ thời gian như vậy và với vị trí công việc đang phải đảm nhận, không riêng bản thân em mà hầu hết các sinh viên cao học muốn hoàn thành tốt luận văn của mình trước hết đều phải có sự sắp xếp thời gian hợp lý, có sự tập trung học tập và nghiên cứu với tinh thần nghiêm túc, nỗ lực hết mình; tiếp đến cần có sự ủng hộ về tinh thần, sự giúp đỡ về chuyên môn một trong những điều kiện không thể thiếu quyết định đến việc thành công của luận văn. Để hoàn thành được luận văn này trước tiên em xin gửi lời cảm ơn đến thầy giáo hướng dẫn TS. Vũ Vinh Quang, người đã có những định hướng cho em về nội dung và hướng phát triển của đề tài, người đã có những đóng góp quý báu cho em về những vấn đề chuyên môn của luận văn, giúp em tháo gỡ kịp thời những vướng mắc trong quá trình làm luận văn. Em cũng xin cám ơn các thầy cô giáo Trường Đại học Công nghệ thông tin và Truyền thông đã có những ý kiến đóng góp bổ sung cho đề tài luận văn của em. Em xin hứa sẽ cố gắng hơn nữa, tự trau dồi bản thân, tích cực nâng cao năng lực chuyên môn của mình để sau khi hoàn thành luận văn này sẽ có hướng tập trung nghiên cứu sâu hơn, không ngừng hoàn thiện hơn nữa luận văn của mình để có những ứng dụng thực tiễn cao trong thực tế. Thái Nguyên, tháng 12 năm 2016 Học viên Lê Thu Hươ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 CÁC CHỮ VIẾT TẮT ........................................................................ vi DANH MỤC HÌNH VẼ ............................................................................................vii MỞ ĐẦU .................................................................................................................... 1 Chương 1. MỘT SỐ KIẾN THỨC CƠ BẢN VỀ BẢO MẬT THÔNG TIN....... 3 1.1. Giới thiệu về an toàn và bảo mật thông tin .......................................................... 3 1.1.1. Các khái niệm cơ bản ........................................................................................ 3 1.1.2. Mục tiêu của an toàn bảo mật thông tin ............................................................ 3 1.1.3. Các chiến lược an toàn hệ thống ....................................................................... 4 1.1.4. An toàn thông tin bằng mật mã ......................................................................... 5 1.2. Một số hệ mã hóa thông dụng .............................................................................. 8 1.2.1. Hệ mã RSA ....................................................................................................... 8 1.2.2. Hệ mã Rabin ...................................................................................................... 9 1.2.3. Hệ mã Elgamal ................................................................................................ 10 1.2.4. Hệ mã MHK (Merkle -Hellman Knapsack) .................................................... 11 1.2.5. Hệ mật mã Rabin ............................................................................................. 12 1.2.6. Hệ mật mã McEliece ...................................................................................... 13 1.3. Giới thiệu về mật khẩu ....................................................................................... 15 1.3.1. Định nghĩa ....................................................................................................... 15 1.3.2. Phương pháp xác thực ..................................................................................... 16 1.3.3. Độ an toàn ....................................................................................................... 17 Chương 2. MỘT SỐ KHÁI NIỆM VỀ OTP CÁC PHƯƠNG PHÁP ................ 26 2.1. Giới thiệu về OTP ............................................................................................. 26 2.1.1. Định nghĩa về OTP.......................................................................................... 26 2.1.2. Ưu điểm ........................................................................................................... 26 2.1.3. Nhược điểm ..................................................................................................... 27 2.2. Ứng dụng của OTP ............................................................................................ 27 2.2.1. Ứng dụng trong xác thực................................................................................. 27 2.2.2. Ứng dụng trong đăng nhập .............................................................................. 28
  6. iv 2.3. Giới thiệu về hàm băm mật mã, các thuật toán ................................................. 29 2.3.1. Giới thiệu......................................................................................................... 29 2.3.2. Cấu trúc, vai trò của hàm băm mật mã ........................................................... 29 2.3.3. Một số hàm băm mật mã thông dụng .............................................................. 36 2.3.4. Các ứng dụng cơ bản của hàm băm ............................................................... 37 2.4. Một số phương pháp sinh OTP .......................................................................... 41 2.4.1. Phương pháp sinh theo thời gian ..................................................................... 41 2.4.2. Phương pháp sinh theo thuật toán ................................................................... 42 2.4.3. Phương pháp sinh theo giải pháp S/KEY ....................................................... 44 2.4.4. Phương pháp sinh sử dụng HOTP................................................................... 44 2.4.5. Phương pháp sinh sử dụng Security token ...................................................... 44 2.4.6. Phương pháp sinh bằng giao thức ................................................................... 44 2.5. Các phương pháp chuyển giao OTP .................................................................. 45 2.5.1. Chuyển giao OTP bằng giấy ........................................................................... 45 2.5.2. Chuyển giao OTP bằng tin nhắn SMS ............................................................ 46 2.5.3. Tạo OTP sử dụng token .................................................................................. 47 2.5.4. Tạo OTP sử dụng điện thoại di động .............................................................. 49 2.5.5. Chuyển giao OTP sử dụng gmail .................................................................... 51 Chương 3. XÂY DỰNG CHƯƠNG TRÌNH ỨNG DỤNG XÁC THỰC SỬ DỤNG OTP TRONG GIAO DỊCH NGÂN HÀNG TRỰC TUYẾN ................. 53 3.1 Đặt vấn đề ........................................................................................................... 53 3.2 Mô hình sử dụng giao dịch trực tuyến của ngân hàng Eximbank ....................... 54 3.2.1. Giới thiệu Mobile OTP ................................................................................... 55 3.2.1. Hướng dẫn sử dụng Mobile OTP .................................................................... 56 3.3. Kết quả xây dựng mô hình thực nghiệm ............................................................ 56 3.4. Cài đặt ................................................................................................................ 56 3.5. Kết chương ......................................................................................................... 56 KẾT LUẬN .............................................................................................................. 57 TÀI LIỆU THAM KHẢO ...................................................................................... 58 PHỤ LỤC ................................................................................................................. 59
  7. v DANH MỤC CÁC CHỮ VIẾT TẮT OTP One Time Password DES Data Encrypt Standar RSA R.Rivest A.Shamir L.Adleman MHK Merkle -Hellman Knapsack SHA Secure Hash Algorithm
  8. vi DANH MỤC HÌNH VẼ Hình 1: Mã hoá với khoá mã và khoá giải giống nhau...................................... 6 Hình 2: Minh họa xác thực mật khẩu .............................................................. 15 Hình 3: Minh họa đăng nhập một lần .............................................................. 16 Hình 4: Mô hình đăng nhập duy nhất SSO ...................................................... 26 Hình 5: Cơ chế hoạt động của openSSO ......................................................... 30 Hình 6: Người dùng truy cập vào ứng dụng khi ................................................ 32 Hình 7: Người dùng truy cập ứng dụng mà chưa ............................................ 32 Hình 8: Sơ đồ phân loại hàm băm ................................................................... 34 Hình 9: Cấu trúc tổng quát của hàm băm ........................................................ 35 Hình 10: Mô hình sinh mã OTP theo thời gian ................................................. 39 Hình 11: Thiết bị sinh OTP - OTP Token ......................................................... 40 Hình 12: Ứng dụng Mobile OTP - IOS ............................................................. 40 Hình 13: Ứng dụng Mobile OTP - Window Phone 8. ....................................... 42 Hình 14: Mô hình xác thực người dùng dựa trên giao thức ................................. 44 Hình 15: Thẻ mật khẩu OTP với mật khẩu in sẵn của VinaGame .................... 45 Hình 16: Chuyển giao OTP bằng tin nhắn SMS ............................................... 46 Hình 17: Minh họa thẻ EMV ............................................................................. 48 Hình 18: Minh họa thiết bị E-Token ................................................................. 49 Hình 19: Mô hình kết nối SSL VPN đến Vigor2950 có điện thoại ................... 49 Hình 20: Cài đặt phần mềm sinh OTP trên iPhone với Vigor2950 ................... 51 Hình 21: Mô hình nhận OTP qua gmail ............................................................ 53 Hình 22: Hướng dẫn cài đặt ứng dụng Mobile OTP ......................................... 54 Hình 23: Hướng dẫn đăng nhập và kích hoạt dịch vụ ....................................... 54 Hình 24: Hướng dẫn sử dụng Mobile OTP để xác thực giao dịch .................... 55 Hình 25: Hướng dẫn chức năng đồng bộ OTP .................................................. 55 Hình 26: Hướng dẫn cấp lại mật khẩu ............................................................... 56 Hình 27: Hướng dẫn đổi mật khẩu .................................................................... 56 Hình 28: Người dùng đăng nhập vào hệ thống.................................................. 56 Hình 29: Người dùng nhập thông tin chuyển khoản ......................................... 56 Hình 30: Người dùng chấp nhận chuyển khoản ................................................ 56 Hình 31: Người dùng chuyển khoản thành công ............................................... 56 Hình 32: Mô tả lịch sử giao dịch ....................................................................... 56
  9. 1 MỞ ĐẦU Trong kĩ thuật bảo mật thông tin, mật khẩu (password) được sử dụng rộng rãi trong quá trình đăng nhập (log-on) để xác thực người dùng khi truy nhập vào các hệ thống máy tính và mạng, các phần mềm ứng dụng trên máy tính cá nhân, máy chủ công ty và cả website của các tổ chức tài chính, ngân hàng. Phương pháp phổ thông thường hay dùng nhất để xác thực người dùng chỉ là mật khẩu (tên đăng nhập username - password). Tuy nhiên, hầu hết các chuyên gia bảo mật đều đánh giá là việc sử dụng password không còn an toàn trước các thủ đoạn tấn công tinh vi hiện nay. Mật khẩu có thể bị nghe lén, bị đánh cắp, hoặc bị phá mã. Một trong những hướng nghiên cứu để tăng cường độ an toàn của hệ thống là mật khẩu sử dụng một lần OTP (One Time Password). Đây là phương pháp được giới thiệu để tăng cường độ an toàn trong quá trình xác thực người dùng, xác thực các giao dịch, đặc biệt là các giao dịch thanh toán trực tuyến trong các hệ thống ngân hàng đang được sử dụng phổ biến hiện nay. Đề tài "Nghiên cứu vấn đề xác thực giao dịch ngân hàng trực tuyến sử dụng mật khẩu dạng OTP" được lựa chọn với mục đích nghiên cứu sâu về mật khẩu sử dụng một lần, các phương pháp sinh và tạo mật khẩu sử dụng một lần và ứng dụng trong việc xác thực các giao dịch ngân hàng, cài đặt thử nghiệm ứng dụng mật khẩu sử dụng một lần để nâng cao an toàn cho xác thực các giao dịch ngân hàng trực tuyến. Mục đích của luận văn Tìm hiểu nghiên cứu sâu về mật khẩu sử dụng một lần, các phương pháp sinh và tạo mật khẩu sử dụng một lần và ứng dụng trong xác thực giao dịch ngân hàng trực tuyến. Đối tượng và phạm vi nghiên cứu Luận văn tìm hiểu nghiên cứu về lý thuyết mật mã, các thuật toán mã hóa cơ bản, lý thuyết về hàm băm và thuật toán mã hóa SHA-1, lý thuyết về OTP và vấn đề xác thực các giao dịch ngân hàng trực tuyến. Xây dựng hệ thống xác thực các giao dịch ngân hàng bằng mật khẩu sử dụng 1 lần OTP trên ngôn ngữ Java. Cấu trúc của luận văn gồm có Phần mở đầu: Nêu lý do chọn đề tài và hướng nghiên cứu chính Chương 1: Các kiến thức cơ bản về lý thuyết bảo mật thông tin, một số thuật toán mã hóa cơ bản, khái niệm về mật khẩu và ứng dụng.
  10. 2 Chương 2: Giới thiệu tổng quan về mật khẩu OTP, các ứng dụng cơ bản, các phương pháp sinh mật khẩu OTP, các phương pháp chuyển giao Chương 3: Xây dựng chương trình ứng dụng xác thực trong giao dịch trực tuyến tại các ngân hàng Việt Nam dựa trên mật khẩu OTP
  11. 3 Chương 1 MỘT SỐ KIẾN THỨC CƠ BẢN VỀ BẢO MẬT THÔNG TIN Nội dung chính của chương 1 sẽ giới thiệu các khái niệm cơ bản về lý thuyết an toàn và bảo mật thông tin thông qua các hệ mật mã và mật khẩu, các kiến thức cơ bản này đã được tham khảo trong các tài liệu [1, 5, 6, 8]. 1.1. Giới thiệu về an toàn và bảo mật thông tin 1.1.1 Các khái niệm cơ bản Trong thời đại ngày nay, các phương thức truyền đạt thông tin ngày càng đa dạng và phát triển. Với sự ra đời của máy tính và mạng máy tính, việc trao đổi thông tin đã trở nên dễ dàng hơn, nhanh chóng hơn, đa dạng hơn. Nhưng kèm theo đó là các nguy cơ xâm phạm thông tin cũng ngày càng tăng. Khi nhu cầu trao đổi thông tin dữ liệu ngày càng lớn và đa dạng, các tiến bộ về điện tử - viễn thông và công nghệ thông tin không ngừng được phát triển ứng dụng để nâng cao chất lượng và lưu lượng truyền tin thì các quan niệm ý tưởng và biện pháp bảo vệ thông tin dữ liệu cũng được đổi mới. Bảo vệ an toàn thông tin dữ liệu là một chủ đề rộng, có liên quan đến nhiều lĩnh vực và trong thực tế có thể có rất nhiều phương pháp được thực hiện để bảo vệ an toàn thông tin dữ liệu. Các phương pháp bảo vệ an toàn thông tin dữ liệu có thể được phân thành ba nhóm sau: + Bảo vệ an toàn thông tin bằng các biện pháp hành chính. + Bảo vệ an toàn thông tin bằng các biện pháp kỹ thuật (phần cứng). + Bảo vệ an toàn thông tin bằng các biện pháp thuật toán (phần mềm). Ba nhóm trên có thể được ứng dụng riêng rẽ hoặc phối kết hợp. Môi trường khó bảo vệ an toàn thông tin nhất và cũng là môi trường đối phương dễ xâm nhập nhất đó là môi trường mạng và truyền tin. Biện pháp hiệu quả nhất và kinh tế nhất hiện nay trên mạng truyền tin và mạng máy tính là biện pháp thuật toán. 1.1.2. Mục tiêu của an toàn bảo mật thông tin Một hệ thống an toàn thông tin cần đảm bảo các yếu tố sau đây: + Tính bí mật (Confjdentialy): Đảm bảo dữ liệu được truyền đi một cách an toàn và không thể bị lộ thông tin. Chỉ những người được phép mới có khả năng đọc được nội dung thông tin ban đầu.
  12. 4 + Tính xác thực (Authentication): Giúp cho người nhận dữ liệu xác định được chắc chắn dữ liệu mà họ nhận là dữ liệu gốc ban đầu. Người nhận có khả năng kiểm tra nguồn gốc thông tin mà họ nhận được. + Tính toàn vẹn (Integrity): dữ liệu không bị thay đổi trong quá trình truyền đi. + Tính không thể chối bỏ (Non-repudation): Người gửi hay người nhận không thể chối bỏ sau khi đã gửi hoặc nhận thông tin. 1.1.3. Các chiến lược an toàn hệ thống Để xây dựng một hệ thống an toàn thông tin, người ta thường sử dụng các chiến lược sau: + Giới hạn quyền hạn tối thiểu (Last Privilege): Đây là chiến lược cơ bản nhất theo nguyên tắc này bất kỳ một đối tượng nào cũng chỉ có những quyền hạn nhất định đối với tài nguyên mạng, khi thâm nhập vào mạng đối tượng đó chỉ được sử dụng một số tài nguyên nhất định. + Bảo vệ theo chiều sâu (Defence InDepth): Xây dựng hệ thống bảo vệ theo chiều sau để đảm bảo nâng cao hệ số an toàn. + Nút thắt (Choke Point): Tạo ra một “cửa khẩu” hẹp và chỉ cho phép thông tin đi vào hệ thống bằng con đường duy nhất chính, từ đó xây dựng tổ chức một cơ cấu kiểm soát và điều khiển thông tin đi qua cửa này. + Điểm nối yếu nhất (Weakest Link): Cần phải gia cố các vị trí yếu điểm nhất của hệ thống. Thông thường chúng ta chỉ quan tâm đến người tấn công trên mạng hơn là kẻ tiếp cận hệ thống, do đó an toàn vật lý được coi là yếu điểm nhất trong hệ thống của chúng ta. + Tính toàn cục: Các hệ thống an toàn đòi hỏi phải có tính toàn cục của các hệ thống cục bộ. Nếu có thể bẻ gãy một cơ chế an toàn thì chúng có thể thành công bằng cách tấn công hệ thống tự do của ai đó và sau đó tấn công hệ thống từ nội bộ bên trong. - Tính đa dạng bảo vệ: Cần phải sử dụng nhiều biện pháp bảo vệ khác nhau cho hệ thống khác nhau, nếu không có người tấn công vào được một hệ thống thì chúng cũng dễ dàng tấn công vào các hệ thống khác.
  13. 5 1.1.4. An toàn thông tin bằng mật mã Mật mã là một ngành khoa học chuyên nghiên cứu các phương pháp truyền tin bí mật. Mật mã bao gồm: Lập mã và phá mã. Lập mã bao gồm hai quá trình: mã hóa và giải mã. Để bảo vệ thông tin trên đường truyền người ta thường biến đổi nó từ dạng nhận thức được sang dạng không nhận thức được trước khi truyền đi trên mạng, quá trình này được gọi là mã hoá thông tin (encryption), ở trạm nhận phải thực hiện quá trình ngược lại, tức là biến đổi thông tin từ dạng không nhận thức được (dữ liệu đã được mã hoá) về dạng nhận thức được (dạng gốc), quá trình này được gọi là giải mã. Đây là một lớp bảo vệ thông tin rất quan trọng và được sử dụng rộng rãi trong môi trường mạng.  Vai trò của hệ mật mã + Che dấu nội dung của văn bản rõ (PlainText) để đảm bảo sao cho chỉ người chủ hợp pháp của thông tin mới có quyền truy cập thông tin (Secrety), hay nói cách khác là chống truy nhập không đúng quyền hạn. + Tạo các yếu tố xác thực thông tin, đảm bảo thông tin lưu hành trong hệ thống đến người nhận hợp pháp là xác thực (Authenticity). + Tổ chức các sơ đồ chữ ký điện tử, đảm bảo không có hiện tượng giả mạo, mạo danh để gửi thông tin trên mạng. Ưu điểm lớn nhất của bất kỳ hệ mật mã nào đó là có thể đánh giá được độ phức tạp tính toán phải giải quyết bài toán để có thể lấy được thông tin của dữ liệu đã được mã hoá. Tuy nhiên mỗi hệ mật mã có một số ưu và nhược điểm khác nhau, nhưng nhờ đánh giá được độ phức tạp tính toán mà ta có thể áp dụng các thuật toán mã hoá khác nhau cho từng ứng dụng cụ thể tuỳ theo độ yêu cầu về độ an toàn.  Các thành phần của một hệ mật mã: Một hệ mật mã là một bộ 5 (P,C,K,E,D) thoả mãn các điều kiện sau: + P: Là một tập hợp hữu hạn các bản rõ, nó được gọi là không gian bản rõ. + C: Là tập hữu hạn các bản mã, nó được gọi là không gian bản mã. Mỗi phần tử của C có thể nhận được bằng cách áp dụng phép mã hoá Ek lên một phần tử của P, với k  K + K: Là tập hữu hạn các khoá hay còn gọi là không gian khoá. Đối với mỗi phần tử k của K được gọi là một khoá. Số lượng của không gian khoá phải đủ lớn để “kẻ địch” không có đủ thời gian để thử mọi khoá có thể (phương pháp vét cạn). Đối với
  14. 6 mỗi k  K có một quy tắc mã ek: PC và một quy tắc giải mã tương ứng dk D. Mỗi ek: P C và dk: CP là những hàm mà: Dk (ek(x))=x với mọi bản rõ x P. Hình 1: Mã hoá với khoá mã và khoá giải giống nhau  Tiêu chuẩn đánh giá hệ mật mã Để đánh giá một hệ mật mã người ta thường đánh giá thông qua các tiêu chí sau: + Độ an toàn: Một hệ mật được đưa vào sử dụng điều đầu tiên phải có độ an toàn cao. Ưu điểm của mật mã là có thể đánh giá được độ an toàn thông qua độ an toàn tính toán mà không cần phải cài đặt. Một hệ mật được coi là an toàn nếu để phá hệ mật mã này phải dùng n phép toán. Mà để giải quyết n phép toán cần thời gian vô cùng lớn, không thể chấp nhận được. Một hệ mật mã được gọi là tốt thì nó cần phải đảm bảo các tiêu chuẩn sau: - Chúng phải có phương pháp bảo vệ mà chỉ dựa trên sự bí mật của các khoá, công khai thuật toán. - Khi cho khoá công khai eK và bản rõ P thì chúng ta dễ dàng tính được eK(P) = C. Ngược lại khi cho dK và bản mã C thì dễ dàng tính được dK(M)=P. Khi không biết dK thì không có khả năng để tìm được M từ C, nghĩa là khi cho hàm f: X Y thì việc tính y=f(x) với mọi x thuộc X là dễ còn việc tìm x khi biết y lại là vấn đề khó và nó được gọi là hàm một chiều. - Bản mã C không được có các đặc điểm gây chú ý, nghi ngờ. + Tốc độ mã và giải mã: Khi đánh giá hệ mật mã chúng ta phải chú ý đến tốc độ mã và giải mã. Hệ mật tốt thì thời gian mã và giải mã nhanh.
  15. 7 + Phân phối khóa: Một hệ mật mã phụ thuộc vào khóa, khóa này được truyền công khai hay truyền khóa bí mật. Phân phối khóa bí mật thì chi phí sẽ cao hơn so với các hệ mật có khóa công khai. Vì vậy đây cũng là một tiêu chí khi lựa chọn hệ mật mã.  Phân loại hệ mật mã Có nhiều cách để phân loại hệ mật mã. Dựa vào cách truyền khóa có thể phân các Hệ mật mã thành hai loại: - Hệ mật mã đối xứng (hay còn gọi là mật mã khóa bí mật): là những hệ mật mã dùng chung một khoá cả trong quá trình mã hoá dữ liệu và giải mã dữ liệu. Do đó khoá phải được giữ bí mật tuyệt đối. - Hệ mật mã bất đối xứng (hay còn gọi là mật mã khóa công khai) : Hay còn gọi là hệ mật mã công khai, các hệ mật mã này dùng một khoá để mã hoá sau đó dùng một khoá khác để giải mã, nghĩa là khoá để mã hoá và giải mã là khác nhau. Các khoá này tạo nên từng cặp chuyển đổi ngược nhau và không có khoá nào có thể suy được từ khoá kia. Khoá dùng để mã hoá có thể công khai nhưng khoá dùng để giải mã phải giữ bí mật. Ngoài ra nếu dựa vào thời gian đưa ra hệ mật mã ta còn có thể phân làm hai loại: Mật mã cổ điển (là hệ mật mã ra đời trước năm 1970) và mật mã hiện đại (ra đời sau năm 1970). Còn nếu dựa vào cách thức tiến hành mã thì hệ mật mã còn được chia làm hai loại là mã dòng (tiến hành mã từng khối dữ liệu, mỗi khối lại dựa vào các khóa khác nhau, các khóa này được sinh ra từ hàm sinh khóa, được gọi là dòng khóa) và mã khối (tiến hành mã từng khối dữ liệu với khóa như nhau). 1.2 Một số hệ mã hóa thông dụng 1.2.1 Hệ mã RSA Hệ mật mã RSA ra đời năm 1976 bởi các tác giả R.Rivets, A.Shamir, và L.Adleman. Sơ đồ mã hoá RSA là sơ đồ mã hoá khối, đoạn tin được mã hoá từng khối với mỗi khối có giá trị < n với n là số nguyên đủ lớn. RSA là hệ mã dựa vào bài toán logarit rời rạc và bài toán phân tích một số nguyên thành tích các thừa số nguyên tố, là hệ mã được sử dụng rộng rãi nhất. Nó cung cấp cả sự bí mật và chữ ký điện tử, và tính bảo mật của nó là cơ sở cho độ khó trong vấn đề tìm thừa số nguyên tố. Thuật toán Tạo khoá: Mỗi thực thể tạo một khoá công khai và một khoá riêng tương ứng. Thực thể A cần làm công việc sau:
  16. 8 1. Tạo 2 số nguyên tố lớn p và q bất kỳ có cỡ xấp xỉ nhau. 2. Tính n = p×q và Ф(n)= (p-1)(q-1). 3. Chọn 1 số nguyên e, 1
  17. 9 Tạo khoá: Mỗi thực thể tạo một khoá công khai và một khoá riêng tương ứng. Mỗi thực thể A cần thực hiện các công việc sau: 1. Tạo hai số nguyên tố lớn p và q có cỡ xấp xỉ nhau. 2. Tính n=p×q. 3. Khoá công khai của A là n, khoá riêng của A là (p,q). Mã hoá: B mã hoá văn bản m gửi cho A. 1. Nhận được khoá công khai xác thực của A là n. 2. Biểu diễn đoạn văn bản là một số nguyên trong miền: {0, 1, . . , n-1} 3. Tính c = m2 mod n. 4. Gửi bản mã c cho A. Giải mã: Khôi phục bản rõ m từ c, cần phải dùng thuật toán tìm căn bậc hai theo modulo n từ số nguyên tố p và q đã cho để tính ra 4 căn bậc hai m1, m2, m3 và m4 của c theo modulo n. Khi đó văn bản đã gửi là một trong các giá trị m1, m2, m3 hoặc m4. A bằng cách này hay cách khác quyết định đâu là m. Tính bảo mật Do việc phân tích n thành thừa số là rất khó nên lược đồ mã khoá công khai Rabin là minh chứng bảo đảm chống lại sự tấn công của đối phương. Tuy nhiên, lược đồ mã khoá công khai Rabin không chống lại được sự tấn công bản mã chọn trước. Mặt hạn chế của lược đồ mã khoá công khai Rabin là người nhận phải lựa chọn chính xác bản rõ từ 4 khả năng. Sự nhập nhằng trong giải mã có thể dễ dàng khắc phục trong thực tế bằng cách thêm phần mở rộng vào bản rõ trước khi mã hoá. Khi đó, với xác suất cao, chính xác một trong bốn căn bậc 2: m1, m2, m3, m4 của bản mã c sẽ có phần mở rộng này, và người nhận sẽ chọn đó là bản rõ mong đợi. Nếu không có căn bậc 2 nào của c có phần mở rộng này thì người nhận từ chối. Nếu phần mở rộng được sử dụng như đã nói ở trên, lược đồ Rabin không dễ bị tấn công bằng bản mã chọn trước. 1.2.3 Hệ mã Elgamal Hệ mã Elgamal xây dựng dựa trên bài toán logarit rời rạc là bài toán được dùng nhiều trong thủ tục mật mã. Thuật toán Tạo khoá: Mỗi thực thể tạo một khoá công khai và một khoá riêng tương ứng. 1. Tạo một số nguyên tố p và phần tử sinh   nhóm nhân Z*P . 2. Chọn một số nguyên a, 1  a  p-2, và tính  a mod p. 3. Khoá công khai của A là (p,  ,  a ); khoá riêng là a.
  18. 10 Mã hoá: B mã hoá văn bản m gửi cho A. 1. Thu được khoá công khai của A (p,  ,  ). a 2. Biểu diễn văn bản như một số nguyên m trong {0, 1,..,p-1}. 3. Chọn ngẫu nhiên một số nguyên k, 1  k  p-2. 4. Tính    mod p và   m  (  ) mod p. k a k 5. Gửi bản mã c = (  , ) cho A. Giải mã: Khôi phục bản rõ m từ c bằng việc tính (   1 )   mod p. Chú ý: Một bất lợi của mã hoá Elgamal là sự mở rộng của văn bản, bản mã có thể dài gấp 2 lần so với bản rõ. Mã hoá Elgamal là một trong những lược đồ mã hoá sử dụng sự ngẫu nhiên trong tiến trình mã hoá. Những nguyên tắc cơ bản đằng sau kỹ thuật mã hoá ngẫu nhiên là sử dụng tính ngẫu nhiên để tăng thêm sự bảo mật bằng mật mã của tiến trình mã hoá theo một trong các phương thức sau: 1. Tăng dần khoảng trống trong bản rõ một cách phù hợp. 2. Ngăn ngừa hoặc làm suy giảm sự có hiệu lực của sự tấn công bản rõ chọn trước thông qua ánh xạ một - nhiều từ bản rõ đến bản mã. Tính bảo mật Vấn đề bẻ khoá lược đồ mã hoá Elgamal, khôi phục m từ p,  ,  ,  , và  a tương đương với giải quyết vấn đề Diff-Hellman. Trên thực tế, lược đồ mã hoá Elgamal được xem như sự thay đổi khoá Diff-Hellman để quyết định khoá  , và ak việc mã hoá văn bản bằng tính nhân với khoá đó. Vì lý do này, tính bảo mật của lược đồ mã hoá Elgamal được gọi là cơ sở trong vấn đề logarithm rời rạc trong Z *P 1.2.4 Hệ mã MHK (Merkle -Hellman Knapsack) Sơ đồ mã khoá công khai ba lô dựa trên cơ sở của bài toán tập con, quan điểm cơ bản là chọn một trường hợp của bài toán tổng con mà dễ dàng tìm lời giải, sau đó che giấu nó như một trường hợp của bài toán tổng con tổng quát khó có hy vọng giải được. Khoá được thiết lập ban đầu có thể dùng như khoá riêng, còn khoá được thiết lập sau khi biến đổi là khoá công khai. Sơ đồ mã hoá MHK che giấu lời giải bằng phép nhân theo modulo và phép hoán vị. Định nghĩa một dãy siêu tăng là một dãy các số nguyên dương (b1,b2, ..., bn) i 1 bi   b j thoả mãn tính chất j 1 với mỗi i, 2  i  n.
  19. 11 Thuật toán Tạo khoá: Mỗi thực thể tạo một khoá công khai và một khoá riêng tương ứng. Một số nguyên n được cố định như một tham số hệ thống phổ biến. 1. Chọn một dãy siêu tăng (b1, b2, ..., bn) và modulo M sao cho M > b1 + b2 + ... + bn. 2. Chọn số nguyên ngẫu nhiên W 1  W  M-1 sao cho UCLN(W, M) = 1. 3. Chọn một phép hoán vị ngẫu nhiên  của n số nguyên {1,2,...,n}. 4. Tính ai = Wb  (i) mod M với i = 1, 2, ..., n. 5. Khoá công khai là (a1, a2, ..., an), khoá riêng là (  , M, W, (b1,b2, ..., bn)). Mã hoá: B mã hoá văn bản m gửi cho A. 1. Thu được khoá công khai (a1, a2, ..., an) của A. 2. Biểu diễn văn bản m như một chuỗi nhị phân có độ dài n, m=m1m2...mn. 3. Tính số nguyên c = m1a1 + m2a2 + ... + mnan. 4. Gửi bản mã c cho A. Giải mã: Để khôi phục bản rõ m từ c, cần thực hiện các công việc sau: 1. Tính d = W-1c mod M. 2. Sử dụng thuật toán tìm lời giải bài toán tổng dãy siêu tăng để tìm các số nguyên r1,r2,...,rn,ri{0,1}, sao cho d=r1b1+r2b2+ ... +rnbn. 3. Các bit văn bản m là mi = r  (i), i = 1, 2, ..., n. Tính bảo mật Lược đồ mã hoá MHK có thể bị bẻ khoá bởi thuật toán thời gian đa thức. Trong cách thiết lập khoá công khai, thuật toán này tìm một cặp số nguyên U’, M’ sao cho U’/M’ là tỉ lệ với U/M (W và M là một phần khoá riêng, và U=W-1 mod M) và sao cho các số nguyên b’i = U’ai mod M, 1  i  n từ dãy siêu tăng. Dãy này có thể được một đối thủ sử dụng thay thế vào dãy (b1, b2, ..., bn) để giải mã văn bản. 1.2.5 Hệ mật mã Rabin Đây là hệ mật mã dựa trên độ phức tạp của việc tính căn bậc hai theo hợp số. Đây là hệ mật mã có độ an toàn về mặc tính toán chống lại được tấn công bản rõ lựa chọn và không có khả năng phân tích được n=pq. Thuật toán được ứng dụng rất nhiều trong thực tế. Quá trình tạo khóa: Để tạo ra khóa A cần phải thực hiện các thao tác sau: 1. Chọn 2 số nguyên tố ngẫu nhiên p và q, thỏa mãn điều kiện sau: p  q .
  20. 12 2. Tính tích p và q: n  p  q . 3. Chọn số ngẫu nhiên b  Z n* . 4. Sử dụng cặp (n, b) làm cặp khóa công cộng và cặp (p, q) làm khóa mật. Quá trình mã hóa: Để gởi thông tin mật M  Z n* cho A, B cần tạo ra bảng mã c như sau: c  M (M  b)(modn) Quá trình giải mã: Để giải mã bản mã c, A giải phương trình bậc hai sau: M 2  bM  c  0(mod n) Với M
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

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