Mở đầu 1. Lý do chọn đề tài 2. Mục đích và nhiệm vụ 3. Phương pháp nghiên cứu 4.
Đối tượng và phạm vi nghiên cứu 5. Ý nghĩa khoa học của đề tài. Chƣơng 1: Tổng quan về PKI Chƣơng 2: Kiến trúc và các thuật toán trong Cryptosys PKI Chƣơng 3: Xây dựng chƣơng trình thử nghiệm Kết luận Đánh giá và nêu ưu nhược điểm của đề tài. Trình bày các kết quả thu được sau khi thực hiện đề tài.
Hướng phát triển tiếp theo của đề tài. Đóng góp của luận văn Luận văn hệ thống các cơ sở lý thuyết cơ bản về hệ mật mã khóa công khai. Xây dựng chương trình thử nghiệm mô hình PKI cơ bản dựa trên nền bộ công cụ lập trình Cryptosys PKI (PKI- Public Key Infrastructure). Mô hình này hoàn toàn có thể phát triển tạo ra cơ sở hạ tầng khóa công khai đáp ứng trong thực tế.
Giúp người sử dụng hiểu rõ hơn về khả năng ứng dụng mật mã trong các bài toán bảo mật thông tin. Ngoài ra giúp người sử dụng hiểu rõ hơn hệ thống PKI, từ đó có thể vận hành tốt các hệ thống PKI trong thực tế. Số hóa bởi Trung tâm Học liệu – ĐHTN http://www.vn download by : skknchat@gmail.com 11 Chƣơng 1. TỔNG QUAN VỀ PKI 1.
Giới thiệu chung Mật mã được sử dụng để bảo vệ tính bí mật của thông tin khi thông tin được truyền trên các kênh truyền công cộng như kênh bưu chính, mạng truyền thông tin máy tính, điện thoại, mạng Internet,… Mật mã đã được con người sử dụng từ lâu đời[1]. Các hình thức mật mã sơ khai đã được tìm thấy từ khoảng bốn nghìn năm trước trong nền văn minh Ai Cập cổ đại. Trải qua hàng nghìn năm lịch sử, mật mã được sử dụng rộng rãi ở khắp nơi trên thế giới từ Đông sang Tây để giữ bí mật cho việc giao lưu thông tin trong nhiều lĩnh vực hoạt động giữa con người và các quốc gia, đặc biệt trong các lĩnh vực quân sự, chính trị, ngoại giao. Mật mã trước hết là một loại hoạt động thực tiễn, nội dung chính của nó là để giữ bí mật thông tin.
Ví dụ một văn bản được gửi từ người A đến người nhận B mà không muốn bất kì một ai khác B đọc được văn bản đó. A mã hóa văn bản đó thành bản mã tương ứng thay vì gửi văn bản thì A chỉ gửi bản mã cho B, B nhận được bản mã và giải mã lại văn bản để hiểu được thông tin mà A muốn gửi cho mình. Do văn bản gửi đi thường được chuyển qua các con đường công khai nên người ngoài có thể “ đánh cắp” được, nhưng vì đó là bản mã nên không thể đọc hiểu được. Mô hình mã hóa và giải mã sử dụng mật mã.
A có thể tạo ra bản mã và B có thể giải mã thành văn bản rõ để hiểu được là do hai người đã có một thoả thuận về một chìa khoá chung, chỉ với khoá chung này Số hóa bởi Trung tâm Học liệu – ĐHTN http://www.vn download by : skknchat@gmail.com 12 thì A mới tạo được bản mã từ bản rõ và B mới khôi phục được bản rõ từ bản mã. Khoá chung đó được gọi là khoá mã. Để thực hiện được một phép mã, ta còn cần có một thuật toán biến bản rõ cùng với khoá mã thành bản mã và một thuật toán ngược lại biến bản mã cùng với khoá mã thành bản rõ. Các thuật toán đó được gọi tương ứng là thuật toán lập mã và thuật toán giải mã.
Các thuật toán này thường không nhất thiết phải giữ bí mật, mà cái luôn cần được giữ bí mật là khoá mã. Trong thực tiễn, có những hoạt động ngược lại với hoạt động bảo mật là khám phá bí mật từ các bản mã “lấy trộm” được, hoạt động này thường được gọi là mã thám hay phá khoá. Mật mã khóa đối xứng và mật mã khóa bất đối xứng Mật mã khóa đối xứng Mật mã khóa đối xứng còn có tên gọi khác như Private Key Cryptography – mã hóa hóa bí mật. Mã hóa đối xứng sẽ sử dụng một khóa chung cho cả hai quá trình mã hóa và giải mã.[1] Trước khi truyền dữ liệu hai bên gửi và nhận phải thỏa thuận về khóa dùng chung cho quá trình mã hóa và giải mã.
Khóa sẽ được phân phối bằng cách an toàn nào đó như đĩa mềm, dùng bên thứ 3 tin cậy, hoặc bằng phương pháp mã hóa công khai,… Hai bên phải giữ bí mật về khóa dùng chung này. Sau đó, bên gửi sẽ mã hóa bản rõ bằng cách sử dụng khóa bí mật đã được thỏa thuận giữa 2 bên và gửi thông điệp được mã hóa sang cho bên nhận. Bên nhận sau khi nhận được thông điệp này sẽ dùng khóa bí mật để giải mã và sẽ nhận được bản rõ. Mô hình đơn giản của hệ thống mã hóa đối xứng Mã hóa đối xứng có thể phân làm 2 loại sau: Block Cipher ( mã khối): Tác động trên bản rõ theo từng khối bits, từng nhóm Số hóa bởi Trung tâm Học liệu – ĐHTN http://www.vn download by : skknchat@gmail.com 13 bits này còn được gọi là khối (Block).
Từng khối dữ liệu trong văn bản ban đầu được thay thế bằng một khối dữ liệu khác có cùng độ dài. Ví dụ như thuật toán DES với khối dữ liệu có độ dài là 64 bits, 3DES (Triple DES), AES với khối dữ liệu có độ dài là 128 bits và khóa có độ dài là 128, 192 hoặc 256 bits Stream Cipher (mã dòng): Tác động lên bản rõ theo từng bits một. Dữ liệu của văn bản được mã hóa từng bits một. Các thuật toán mã dòng này có tốc độ nhanh hơn các thuật toán mã khối và nó thường được áp dụng khi lượng dữ liệu cần mã hóa chưa biết trước.
Phương pháp này tạo ra lỗi ít hơn so với phương pháp mã khối và nếu có xảy ra lỗi cũng chỉ ảnh hưởng trên 1 bit. Các thuật toán được dùng như là RC5, SEAL,… Thuật toán mã hóa đối xứng cũng có thể được dùng để xác thực tính toàn vẹn và nguồn gốc dữ liệu. A sử dụng khóa của mình để sinh ra ciphertext (bản mã) cho toàn bộ plaintext (bản rõ). Sau đó gửi bản plaintext và 1 phần của ciphertext cho B.
Một phần của ciphertext đó được gọi là đoạn mã xác thực thông điệp (MAC). B sử dụng bản sao khóa của mình để sinh ra ciphertext, lấy một phần tương tự của ciphertext và so sánh nó với MAC nhận được. Nếu chúng giống nhau thì B biết được rằng A đã gửi thông điệp đó cho anh. Tuy nhiên, phương pháp này không cung cấp khả năng chống chối bỏ.
A có thể phủ nhận việc gửi thông điệp đó, bởi vì chính B cũng có thể sinh ra thông điệp như vậy. A và B cần chia sẻ một khóa đối xứng trước khi A mã hóa hay tạo ra một MAC cho một thông điệp. Cần thành lập một nơi để chia sẻ khóa gọi là hệ thống quản lý khóa (key management), nhưng đây vẫn là một vấn đề rất khó. Hệ thống quản lý khóa có thể được thực hiện với mật mã khóa đối xứng, nhưng đó là một vấn đề nan giải.
Để sử dụng mật mã đối xứng, A và B cần chia sẻ một cách bí mật. Nơi đầu tiên chia sẻ khóa phải được thành lập thông qua kỹ thuật “out-of- band” (một kênh giao tiếp riêng). Nó có thể chấp nhận được nếu A chỉ liên lạc với B. Nếu A liên lạc với một cộng đồng lớn hơn, thì việc thành lập từng mối quan hệ trở nên phức tạp và khó để đạt được các dịch vụ bảo mật.
Số hóa bởi Trung tâm Học liệu – ĐHTN http://www.vn download by : skknchat@gmail.com 14 Tuy nhiên, vấn đề này có thể trở thành dễ sử dụng thông qua sự giới thiệu của một bên thứ ba tin cậy (Trusted Third Party). Nếu A và người mà A muốn liên lạc đều tin vào TTP, họ có thể lấy một khóa mới cho ý định đó từ TTP. Mỗi bên phải thành lập một out-of-band bí mật với TTP như một điểm khởi đầu. Tuy nhiên, A sẽ không cần lặp lại quá trình đó cho mỗi người mới mà A muốn liên lạc.
Ưu, nhược điểm của mật mã khóa đối xứng: + Ưu điểm: Có thể được thiết kế để đạt tốc độ cao. Các thiết bị phần cứng hỗ trợ có thể đạt tốc độ hàng trăm megabytes mỗi giây trong khi việc thực thi bằng phần mềm chỉ đạt được khoảng vài megabytes mỗi giây. Khóa bí mật dùng cho việc mã hóa và giải mã tương đối ngắn. Được xem như thành phần cơ bản có thể triển khai để xây dựng các kỹ thuật mã hóa khác bao gồm khởi tạo các số ngẫu nhiên, các hàm băm, các kỹ thuật tính toán.
Có thể được kết hợp để tạo ra các thuật toán mã hóa mạnh hơn. + Nhược điểm: Trong quá trình truyền thông giữa hai người, khóa phải được giữ bí mật cho cả hai phía. Trong một hệ thống mạng lớn, số lượng khóa cần được quản lý rất nhiều. Ví dụ để đảm bảo giao thông liên lạc an toàn cho tất cả mọi người trong một nhóm gồm n người, tổng số lượng khóa cần phải có là.
Do vậy việc quản lý khóa một cách hiệu quả đòi hỏi sử dụng một bộ phận tin cậy thứ ba (TTP :Trusted Third Party). Khóa bí mật cần được thay đổi thường xuyên. Mật mã khóa bất đối xứng Mật mã khóa bất đối xứng hay còn được gọi là mật mã công khai (Public Key Cryptography). Trong thuật toán này sẽ có hai khóa được sử dụng, một được dùng để mã hóa và một được dùng để giải mã.
Khóa dùng để mã hóa được gọi là khóa công khai (Public key), còn khóa dùng để giải mã được gọi là khóa bí mật (private key). Một người dùng bất kỳ có thể dùng khóa công khai để mã hóa dữ liệu nhưng chỉ có người có khóa giải mã tương ứng mới có thể đọc được dữ liệu đó mà thôi. Số hóa bởi Trung tâm Học liệu – ĐHTN http://www.vn download by : skknchat@gmail. Mô hình đơn giản của mật mã khóa bất đối xứng Mã hóa khóa công khai ra đời nhằm giải quyết vấn đề phân phối khóa của các phương pháp mã hóa đối xứng.
Quá trình này được thực hiện như sau: Bên gửi sẽ yêu cầu lấy khóa công khai của bên nhận đến bên nhận hoặc có thể gửi yêu cầu này đến trung tâm phân phối khóa. Sau đó hai bên sẽ thống nhất thuật toán dùng để mã hóa dữ liệu, bên gửi sẽ sử dụng khóa công khai của người nhận cùng với thuật toán đã thống nhất để mã hóa dữ liệu gửi đi.