Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 85 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
85
Dung lượng
2,67 MB
Nội dung
vi MC LC Trang tựa Trang Quyết định giao đề tài Lý lịch cá nhân i Lời cam đoan ii Cảm tạ iii Tóm tắt iv Mục lục v Danh sách chữ viết tắt vii Danh sách các hình viii Danh sách các bảng ix Chương 1. TNG QUAN 1 1.1. Tổng quan chung về lĩnh vực nghiên cứu 1 1.2. Mục đích của đề tài 3 1.3. Nhiệm vụ và giới hn của đề tài 3 1.3.1. Nhiệm vụ của đề tài 3 1.3.2. Giới hạn của đề tài 3 1.4. Phương pháp nghiên cứu 4 Chương 2.C S LÝ THUYẾT 5 2.1. An toàn và bo mt thong tin 5 2.2. Mt mã học 6 2.3. Hệ thống mã hoá 8 2.4. Vai trò của khoá trong các phương pháp bo mt 12 2.4.1. Vai trò của khoá 12 2.4.2. Vấn đề an toàn khoá trong các giải pháp bảo mật 15 2.5. Một số khái niệm liên quan 17 2.6. Cơ s toán học 19 2.6.1. Lý thuyết số 19 vi 2.6.2. Cơ bản về đại số trừu tượng 20 2.6.3. Bài toán logarit rời rạc 23 2.7. Các thut toán mt mã liên quan 26 2.7.1. Hệ mật Elgamal 26 2.7.2. Hàm băm 27 2.7.3. Chữ ký số 34 Chương 3. XÂY DNG GIAO THC TRAO ĐI KHịA AN TOÀN 46 3.1. Phân tích một số giao thức trao đổi khóa có tích hợp ch ký số 46 3.1.1. Các yêu cầu đối với giao thức trao đổi khóa hiện nay 46 3.1.2. Giao thức trao đổi khóa của Arazi 47 3.1.3. Những phát triển của Lein Harn 49 3.1.4. Giao thức trao đổi khóa của Phan 51 3.1.5. Giao thức trao đổi khóa Jie Liu và Jianhua Li 54 3.1.6. Đánh giá và hướng cải tiến 56 3.2. Xây dựng giao thức trao đổi khóa 58 3.2.1. Đặt bài toán 58 3.2.2. Tổ chức giao thức 59 3.2.3. Nhận xét 63 3.3. Mô phỏng giao thức 67 3.3.1. Môi trường cài đặt 67 3.3.2. Giao diện chương trình 67 KẾT LUN VÀ KIN NGH 71 TÀI LIU THAM KHO 72 PH LC 74 vii DANH SÁCH CH VIẾT TT TT Kí hiệu Gii thích 1 ASSRDH-DSA Against session state reveal Diffie-Hellman - DSA: Giao thức cải tiến 2 AKA Auxiliary Key Agreement: Bổ trợ thỏa thuận khóa 3 CA Certificate authority: Trung tâm phân phối khóa 4 CKĐT Chữ ký điện tử 5 CKS Chữ ký số 6 CSDL Cơ sở dữ liệu 7 DH Trao đổi khóa Diffie – Hellman 8 DSA Digital signature algorithm: Giải thuật chữ ký số 9 ECC Elliptic curve cryptography: Hệ mật trên đường cong elliptic 10 NIST National Institute of Standards and Technology: Viện tiêu chuẩn và công nghệ quốc gia Hoa Kỳ 11 SHA Secure hash algorithm: Thuật toán băm bí mật 12 TĐK Trao đổi khóa viii DANH SÁCH CÁC HÌNH HÌNH Trang Hình 2.1: Mô hình chung của hệ thống mật mã khóa đối xứng 9 Hình 2.2. a) Chức năng bảo mật của hệ mật với khóa công khai 11 Hình 2.2. b) Chức năng xác thực của hệ mật với khóa công khai 11 Hình 2.3. Sơ đồ ký và kiểm thử sử dụng hàm băm 28 Hình 3.1. Giao thức TĐK của Arazi 48 Hình 3.2. Giao thức TĐK ba vòng của Lein Harn 50 Hình 3.3. Giao thức TĐK ba vòng sau khi sửa 53 Hình 3.4. Giao thức TĐK Liu và Li cải tiến 55 Hình 3.5. Giao thức TĐK ARSDH-DSA 62 Hình 3.6. Giao diện nhập khóa bí mật 67 Hình 3.7. Mô phỏng bước một của giao thức 68 Hình 3.8. Mô phỏng bước hai của giao thức 68 Hình 3.9. Mô phỏng bước ba của giao thức 69 Hình 3.10. Mô phỏng bước bốn của giao thức 69 Hình 3.11. Mô phỏng bước bốn của giao thức 70 ix DANH SÁCH CÁC BNG BNG Trang Bảng 2.1: Các tính chất của các thuật toán băm an toàn 34 Bảng 3.1: Liệt kê các thuộc tính bảo mật của các giao thức 56 Bảng 3.2. Đặc tính của giao thức DH kết hợp với DSA 63 1 Chương 1 TNG QUAN 1.1. Tổng quan chung về lĩnh vực nghiên cứu Ngày nay, công nghệ thông tin và thương mại điện tử đã xâm nhập vào mọi khía cạnh của hoạt động xã hội. Việc trao đổi và đảm bảo an toàn cho các thông tin nhạy cảm trên các mạng truyền dẫn là vấn đề mang tính thời sự và vô cùng phức tạp. Trên thực tế, các kỹ thuật mật mã là phương pháp an toàn và hiệu quả nhất để bảo đảm truyền tin an toàn trên mạng. Trong đó, bài toán trao đổi khóa luôn được đặt ra để có thể đáp ứng được những ứng dụng của các thuật toán mật mã trên. Xác lập khóa (Key Establishment) là tiến trình trong đó hai (hoặc nhiều) đối tượng xác lập một khóa bí mật được chia sẻ. Trong thực tế có hai kiểu giao thức xác lập khóa [3]: 1) Các giao thức truyền khóa (Key Transport Protocols), trong đó một khóa được phát sinh bởi một đối tượng và truyền an toàn đến đối tượng khác. 2) Các giao thức thỏa thuận khóa (Key Agreement Protocols), trong đó các đối tượng trao đổi các thông tin để xác lập một khóa bí mật được chia sẻ. Trong khuôn khổ luận văn, người viết chỉ quan tâm đến các giao thức thỏa thuận (trao đổi) khóa. Các khóa dùng trong các quá trình mã hóa và giải mã phải được giữ bí mật và cần được trao đổi bằng một phương pháp an toàn như gặp nhau trực tiếp hay thông qua một người đưa thư tin cậy. Vì vậy quá trình phân phối khóa trong thực tế gặp rất nhiều khó khăn, đặc biệt là khi số lượng người sử dụng rất lớn. Mật mã hóa khóa công khai đã giải quyết được vấn đề này vì nó cho phép người dùng gửi thông tin mật trên đường truyền không an toàn mà không cần thỏa thuận khóa từ trước. Thuật toán mật mã hóa khóa công khai được thiết kế đầu tiên bởi James H. Ellis, Clifford Cocks, và Malcolm Williamson vào đầu thập kỷ 1970. Năm 1976, Whitfield Diffie và Martin Hellman công bố một hệ thống mật mã hóa khóa bất đối xứng trong đó nêu ra phương pháp trao đổi khóa công khai. Trao đổi 2 khóa Diffie-Hellman (DH) là phương pháp có thể áp dụng trên thực tế đầu tiên để phân phối khóa bí mật thông qua một kênh thông tin không an toàn. Giao thức DH được thiết kế để có khả năng chống lại các tấn công thụ động, tuy nhiên nó không cung cấp sự xác thực giữa các đối tượng tham gia truyền thông. Giải pháp xác thực cần được sử dụng khi áp dụng giao thức này trong thực tế là: sử dụng kết hợp với trung tâm phân phối khóa (CA) hoặc chữ ký số (CKS). Tuy nhiên, khi sử dụng kết hợp với CA, việc thay đổi khóa công khai là ít vì vậy khóa bí mật chia sẻ thường chỉ được sử dụng làm khóa chủ để mã hóa các khóa phiên trong các phiên liên lạc. Khi kết hợp với CKS, việc thay đổi khóa công khai sẽ dễ dàng hơn. Arazi là người đầu tiên kết hợp giao thức DH và CKS DSA để cung cấp tính năng xác thực khóa. Tuy nhiên, Nyberg and Rueppel [7] đã chỉ ra một điểm yếu trong lược đồ của Arazi là tấn công khóa biết. Một kiểu tấn công khác như là tấn công khoá chia sẻ không biết hay tấn công lặp lại khóa. Vì vậy, năm 2004 Lein Harn đã mở rộng cách tiếp cận của Arazi để tích hợp một cách tin cậy giao thức DH trong DSA. Giao thức TĐK do Lein Harn đề xuất đã cung cấp được các đặc tính như: an toàn khóa biết, ngăn cản tấn công khóa chia sẻ không biết (unknown key–share resilience) và ngăn cản tấn công khóa lặp lại. Ba tính năng an toàn này là các yêu cầu chuẩn cho giao thức TĐK bất kỳ. Tuy nhiên, giao thức này không cung cấp hai tính năng chuẩn an toàn khác, như là: an toàn phía trước và khả năng làm mới khóa. Do đó năm 2005 R.C.W. Phan đã sắp xếp giao thức để đảm bảo cả hai đặc tính an toàn phía trước và khả năng làm mới khóa mà vẫn duy trì được các đặc tính cơ bản của giao thức gốc. Năm 2010 Jie Liu và Jianhua Li đưa ra sự cải tiến nhằm làm cho giao thức an toàn hơn nhưng vẫn giữ được các yêu cầu cơ bản trong lược đồ của Phan. Tuy nhiên giao thức cải tiến của Liu và li vẫn chưa khắc phục được tính năng bảo mật chống lại lộ trạng thái khóa phiên. 3 Trong vòng 50 năm qua, rất nhiều thuật toán được xây dựng và triển khai. Các nghiên cứu đưa ra nhằm cải thiện sự an toàn của các giao thức. Các giao thức mới có tính bảo mật ngày càng tốt hơn. 1.2. Mục đích của đề tài Nghiên cứu tổng quan một số vấn đề về trao đổi khóa, những thuật toán mật mã liên quan, nghiên cứu giao thức trao đổi khóa bí mật Diffie – Hellman và các phát triển của giao thức này được giới thiệu bởi Arazi, Lein Harn, Phan, và Liu và Li từ đó đưa ra cải tiến giao thức trao đổi khóa an toàn trên cơ sở sử dụng giao thức trao đổi khóa Diffe – Hellman kết hợp với chữ ký số làm tăng độ bảo mật của giao thức. 1.3. Nhiệm vụ và giới hn của đề tài 1.3.1. Nhiệm vụ đề tài Trước hết đây là vấn đề khó, đòi hỏi phải có tập trung nghiên cứu trong thời gian dài. Do đó người viết chỉ tập trung vào một số vấn đề sau: + Tìm hiểu tổng quan về vấn đề trao đổi khóa, các thuật toán mật mã liên quan như hàm băm, chữ ký điện tử, giải thuật ký số… + Phân tích các thuật toán đã được đưa ra để tim ra vấn đề tồn tại về bảo mật trong trao đổi khóa. Từ đó đưa ra các cải tiến để khắc phục vấn đề còn tồn tại. + Tìm hiểu về ngôn ngữ lập trình Visual studio 2010 để viết chương trình mô phỏng cách thức hoạt động của giao thức cải tiến. 1.3.2. Giới hn đề tài Do đặc thù ngành và điều kiện vật chất nên các nghiên cứu về mật mã và an ninh mạng hiện nay thường ít được triển khai trong thực tê. Do đó người thực hiện chỉ giới hạn nghiên cứu về mặt lý thuyết và toán học. 1.4. Phương pháp nghiên cứu 4 Phương pháp phân tích: nghiên cứu, tìm hiểu, phân tích về vấn đề trao đổi khóa, cơ sở toán học, các đặc tính phải có của một giao thức trao đổi khoá, các giao thức trao đổi khóa đã được triển khai tìm ra những ưu điểm và hạn chế Phương pháp mô phỏng: Tìm hiểu về ngôn ngữ lập trình từ đó xây dựng chương trình mô phỏng hoạt động của giao thức 5 Chương 2 C S LÝ THUYẾT 2.1. An toàn và bảo mật thông tin h - [...]... thông tin gi , tham gia vào giao dịch An toàn khóa trong các giao thức trao đổi Giao th c trao đổi khóa là quá trình thực hiện mà nhờ đó hai (hay nhiều) bên cùng nhau thiết lập khóa bí mật dùng chung thông qua quá trình truyền thông trên một kênh công cộng Sau một số bước trao đổi gói tin cho nhau, A và B sẽ có chung một giá trị K Bài toán an toàn khóa đặt ra trong các giao th c này là: 1) M c th nh... hai kiểu giao th c xác lập khóa: 1) Các giao th c chuyển khóa, trong đó một khóa được phát sinh bởi một đối tượng và truyền bí mật đến đối tượng th hai 17 2) Các giao th c thỏa thuận khóa, trong đó c hai đối tượng trao đổi các thông tin để xác lập một khóa bí mật được chia sẻ Trong luận văn này, người viết chỉ quan tâm đến các giao th c thỏa thuận (trao đổi) khóa giữa hai đối tượng * Giao thức: là... mã hóa đối x ng chính là bài toán trao đổi mã khóa thì ngược lại, các phương pháp mã hóa khóa công cộng giúp cho việc trao đổi mã khóa trở nên dễ dàng hơn Nội dung c a khóa công cộng (public key) không cần ph i giữ bí mật như đối với khóa bí mật trong các phương pháp mã hóa quy ước Sử dụng khóa công cộng, chúng ta có thể thiết lập một quy trình an toàn để trao đổi khóa bí mật được sử dụng trong hệ... nhận để thu nhận được khóa mã cũng như thông tin đã trao đổi Kênh an toàn được hiểu như là tổ hợp c a các biện pháp về mặt tổ ch c cũng như kỹ thuật để b n đ m truyền tin an toàn (ở đây để truyền khóa bí mật) B n rõ Mã hóa Kênh truyền Gi i mã B n mã K B n rõ K Nguồn sinh Kênh an toàn khóa K? B n rõ ? Người gửi Người t n công Người nhận Hình 2.1 Mô hình chung c a hệ thống mật mã khóa đối x ng Trái ngược... b n mã, và tính an toàn c a khóa, ch không ph i là an toàn thuật toán, t c là nếu biết b n mã và thuật toán mã hóa nhưng không biết khóa vẫn không thể tìm được b n rõ Nói cách khác, ta không cần giữ bí mật thuật toán mà chỉ cần giữ bí mật khóa Việc giữ bí mật khóa trở thành điểm m u chốt c a hệ mã khóa loại này, nếu vì lý do nào đó mà khóa bị lộ thì t t c những văn b n hai bên trao đổi với nhau cũng... cùng một mục tiêu an toàn thông tin Cùng với sự khám phá ra hàm băm, chữ ký điện tử, người ta nhận ra rằng đó là hai mục tiêu an toàn thông 13 tin hoàn toàn độc lập Xưng danh và xác nhận danh tính r t cần thiết trong các hoạt động thông tin, đặc biệt là khi các hoạt động này thông qua mạng Mục tiêu an toàn c a việc xưng danh là b o đ m sao cho khi “nghe” một ch thể A nào đó xưng danh với ch thể B,... thuật toán mã hóa khóa đối x ng (thông thường các thuật toán khóa đối x ng nhanh hơn kho ng từ 30 - 100 lần so với các thuật toán phi đối x ng tương đương) thì khóa đối x ng được thống nh t và trao đổi với nhau bằng cách nào đó chỉ có hai bên tham gia trao đổi mới biết mà thôi 2.5 Một số khái niệm liên quan * Xác lập khóa: là tiến trình trong đó hai (hoặc nhiều) đối tượng xác lập một khóa bí mật được... với khóa công khai Khi làm việc với các hệ mật với khóa công khai yêu cầu mỗi người sử dụng ph i được phân phát tối thiểu hai khóa Một khóa, được gọi là khóa riêng (private key), ký hiệu KRi (trong đó chỉ số i để chỉ người sử dụng), cũng còn gọi là khóa mật, còn khóa kia được gọi là khóa công khai, ký hiệu KUi, để cho các đối tác sử dụng Hai khóa này có mối liên hệ chặt chẽ với nhau, và mối 11 quan... với khóa như nhau) Trong phần này, chúng ta sẽ trình bày rõ phân loại dựa vào cách sử dụng khóa, có thể phân các hệ mật mã thành hai loại: hệ mật mã khóa đối x ng (mật mã khóa bí mật) và hệ mật mã khóa b t đối x ng (mật mã khóa công khai) Hệ mật khóa đối xứng Trong hệ thống mã hóa đối x ng, quá trình mã hóa và gi i mã một thông điệp sử dụng cùng một mã khóa gọi là khóa bí mật (secret key) hay khóa. .. công có biết thuật toán và khóa công khai nhưng không biết khóa bí mật vẫn khó tìm được cách gi i mã Trong trường hợp, dữ liệu công khai được các bên l y từ một máy ch nào đó ở xa, giao th c chỉ an toàn nếu gi i quyết được trường hợp tấn công người đứng giữa Nếu một kẻ W có kh năng tráo đổi chìa khóa trên cơ sở dữ liệu (CSDL) khóa công khai thì người đó dễ dàng thu được toàn bộ thông tin mà A gửi cho . giao thức trao đổi khóa hiện nay 46 3.1.2. Giao thức trao đổi khóa của Arazi 47 3.1.3. Những phát triển của Lein Harn 49 3.1.4. Giao thức trao đổi khóa của Phan 51 3.1.5. Giao thức trao đổi. Li từ đó đưa ra cải tiến giao thức trao đổi khóa an toàn trên cơ sở sử dụng giao thức trao đổi khóa Diffe – Hellman kết hợp với chữ ký số làm tăng độ bảo mật của giao thức. 1.3. Nhiệm vụ và. Phương pháp phân tích: nghiên cứu, tìm hiểu, phân tích về vấn đề trao đổi khóa, cơ sở toán học, các đặc tính phải có của một giao thức trao đổi khoá, các giao thức trao đổi khóa đã được triển khai