Chương 1: Giới thiệu khái quát về mã hoá và bảo mật thông tin Chương 2: Các phương pháp mã hoá và bảo mật thông tin Chương 3: Ứng dụng các hệ thống mã hoá trong môi trường thương mại điện tử Chương 4: Nghiên cứu triển khai ứng dụng xác thực người sử dụng bằng hệ thống RSA SecurID TIEU LUAN MOI download : skknchat@gmail.com –6– CHƢƠNG 1: GIỚI THIỆU KHÁI QUÁT VỀ MÃ HOÁ VÀ BẢO MẬT THÔNG TIN Từ cryptology (chuyên khoa mật mã) có nguồn gốc từ tiếng Hy Lạp cổ đại và được cấu tạo bởi hai thành phần: “cryptos” có nghĩa là che giấu, “logos” có nghĩa là từ ngữ. Chuyên khoa mật mã đã có từ lâu đời, những phương pháp mã hoá đầu tiên xuất hiện khoảng 4000 năm trước đây được coi là một nghệ thuật và được sử dụng chủ yếu cho mục đích bảo vệ các thông tin trong quân sự, các thông điệp trong quan hệ bang giao. Một ví dụ điển hình là đế chế Julius Caesar nổi tiếng thời La mã cổ đại thường sử dụng lối viết chữ đan xen (cipher) để mã hoá các thông điệp gửi cho quân đội của ông ta. Trải qua thời gian, các cá nhân cũng như các tổ chức chính phủ đã nghiên cứu phát triển nhiều phương thức, thuật toán mã hoá có độ phức tạp cao hơn, áp dụng rộng rãi trong nhiều lĩnh vực hơn khiến mã hoá thông tin dần trở thành một phần quan trọng trong thế giới vi tính.
Chuyên khoa mật mã có thể được chia thành hai nghành khác nhau: mã hoá (cryptography) và phá mã (cryptanalysis) [5]. Mã hoá là phương pháp lưu trữ và truyền thông tin dưới dạng sao cho chỉ có những người có thẩm quyền mới đọc và xử lý được. Mã hoá là một phương pháp hiệu quả để bảo vệ các thông tin nhạy cảm khi lưu trữ hoặc khi truyền trên các kênh truyền thông. Mặc dù mục tiêu cơ bản của mã hoá là bảo vệ, che giấu thông tin khỏi con mắt của những kẻ tò mò bất hợp pháp, nhưng phần lớn các thuật toán đều có thể bị phá vỡ và thông tin được giải mã (một cách bất hợp pháp) nếu kẻ tấn công có đủ thời gian và các phương tiện cần thiết.
Phá mã là một lĩnh vực khoa học nhằm nghiên cứu độ an toàn và tìm cách phá vỡ các thuật toán mã hoá cũng như các thành phần của chúng. Việc nghiên cứu độ an toàn của thuật toán có thể tiến hành bởi các viện nghiên cứu nhằm tìm ra những điểm yếu để ngăn chặn những kẻ gian lận, phá hoại hoặc tiến hành bởi các kẻ tấn công (hackers) với mục đích thoả mãn trí tò mò và tìm cách gian lận, trộm cắp TIEU LUAN MOI download : skknchat@gmail.com –7– thông tin. Các chuyên gia mã hoá (cryptographer) nghiên cứu cải tiến và phát triển các thuật toán nhằm bảo vệ và mã hoá thông tin còn các chuyên gia phá mã (cryptanalyst) thì tìm cách giải mã, phá vỡ hệ thống do các chuyên gia mã hoá xây dựng lên. Mục tiêu của các chuyên gia phá mã có thể không tốt nhưng những nỗ lực của họ, cộng với sự phát triển mạnh mẽ sức mạnh xử lý của máy tính phần nào đã tác động ngược trở lại, thôi thúc các chuyên gia mã hoá làm việc tốt hơn và thúc đẩy ngành mã hoá phát triển nhanh hơn.1 Lịch sử của mã hoá Mã hoá có nguồn gốc khoảng 2000 năm trước công nguyên khi người Ai Cập cổ đại sử dụng chữ tượng hình trang trí trên hầm mộ để miêu tả cuộc sống của người đã khuất.
Thực chất hành động này không nhằm che giấu thông tin, nhưng làm cho hầm mộ trở nên lộng lẫy hơn, sang trọng hơn, tức là ẩn chứa một thông điệp rằng người đã khuất thuộc một dòng tộc cao quý (hình 1.1: Chữ viết tượng hình đầu tiên được sử dụng như một dạng mã hoá Trong thực tế, mã hoá là phương pháp chủ yếu dùng để che giấu thông tin để những người không có thẩm quyền không thể đọc được. TIEU LUAN MOI download : skknchat@gmail.com –8– Người Hebrew sử dụng phương pháp mã hoá bằng cách tráo đổi các ký tự. Mỗi một ký tự sẽ được gán tương ứng với một ký tự khác trong bảng chữ cái. Phương pháp mã hoá này được gọi là atbash.
Một ví dụ của từ khoá được sử dụng trong phương pháp mã hóa atbash như sau: ABCDEFGHI JK LMNOPQ R STU VW XYZ ZYXWVUTSR QP ONMLKJ I HGF ED CBA Khi đó từ “security” sẽ được mã hoá thành “hvxfirgb”. Đây là loại mã viết chữ đan xen với các chữ cái được thay bằng chữ khác (substitution cipher). Cách viết đan xen này còn được gọi là mã thay thế ký tự đơn lẻ (monoalphabetic substitution). Một số cách viết khác sử dụng nhiều ký tự khác nhau để thay thế cho một ký tự.
Khoảng 400 năm trước Công nguyên, những người Spartans sử dụng hệ thống mã hoá thông tin bằng cách viết các thông điệp lên những mảnh giấy cói quấn quanh một cây quyền trượng. Thông điệp chỉ có thể đọc được khi mảnh giấy cói quấn quanh cây quyền trượng có kích thước thích hợp. Phương pháp này được gọi phương pháp viết chữ đan xen kiểu scytale (scytale cipher). Khi mảnh giấy cói được tháo ra khỏi cây quyền trượng, các chữ viết trên mảnh giấy cói xuất hiện dưới dạng một chuỗi các ký tự ngẫu nhiên.
Những mảnh giấy cói chứa thông điệp được truyền đến các chiến binh. Khi các chiến binh quấn mảnh giấy cói quanh cây quyền trượng có đường kính và chiều dài thích hợp, các ký tự ngẫu nhiên sẽ sắp xếp theo một trật tự xác định và thông điệp cần truyền tải sẽ hiện ra (hình 1.2: Cây quyền trượng được người Spartans dùng để giải mã các thông điệp Ngày nay các kỹ thuật này quá đơn giản nhưng thời đó rất ít người có thể đọc được nên kỹ thuật ấy là một phương pháp để bảo vệ thông tin hiệu quả có độ an toàn cao. TIEU LUAN MOI download : skknchat@gmail.com –9– Cuộc cách mạng mã hoá tiếp tục phát triển khi người châu Âu phát minh ra những phương pháp và công cụ mã hoá mới dùng trong suốt thời kỳ Trung đại. Đến cuối những năm 1800, mã hoá đã được sử dụng phổ biến trong các liên lạc truyền tin giữa các đơn vị quân đội.
Trong cuộc chiến tranh Thế giới lần thứ II, các thiết bị mã hoá đơn giản đã được cải tiến đáng kể bằng các kỹ thuật cơ khí, điện từ tạo ra các thiết bị truyền tin điện báo và sử dụng sóng vô tuyến. Chiếc máy mã hoá sử dụng các trục quay rotor khác nhau để tạo ra thông điệp phức tạp rất khó giải mã là một bước đột phá quan trọng trong lĩnh vực mã hoá thông tin quân sự. Chiếc máy nổi tiếng nhất do người Đức chế tạo có tên là Enigma. Chiếc máy Enigma có 3 trục quay, một bàn phím và một trục quay hồi tiếp.
Từ khoá gốc được cấu hình cho máy trước khi tiến hành quá trình mã hoá. Khi người điều khiển gõ một ký tự, máy sẽ thay thế ký tự ấy bằng một ký tự khác và trả về cho người điều khiển. Quá trình mã hoá này được thực hiện bằng cách tịnh tiến trục quay một số lần định trước để thay thế ký tự gõ vào bằng một ký tự khác. Nếu người điều khiển gõ vào chữ T, máy Enigma có thể trả về ký tự M.
Người điều khiển viết ký tự M ra giấy rồi tịnh tiến trục quay và nhập ký tự tiếp theo. Sau mỗi một ký tự mã hoá, người điều khiển lại tịnh tiến trục quay đến một vị trí mới. Quá trình này tiếp diễn cho đến khi toàn bộ thông điệp được mã hoá. Việc lựa chọn ký tự thay thế cho từng ký tự phụ thuộc vào cấu hình của trục quay.
Do đó bí mật của quá trình xử lý này (khoá mã) là cách người điều khiển tịnh tiến trục quay khi mã hoá và giải mã thông tin. Người điều khiển tại hai đầu phải thống nhất quy tắc tịnh tiến này để điều khiển trục quay cho phù hợp. Mặc dù tại thời điểm đó, cơ chế mã hoá của máy Enigma khá phức tạp nhưng một nhóm kỹ sư người Ba lan đã giải mã thành công và cung cấp các thông tin về kế hoạch tấn công, di chuyển quân sự của người Đức cho người Anh. Có thể nói rằng việc phá mã thành công đã giúp kết thúc chiến tranh Thế giới lần thứ II sớm hơn 2 năm [6].
Sau chiến tranh, thông tin chi tiết về chiếc máy Enigma được công bố rộng rãi, một trong những chiếc máy này hiện đang được trưng bày tại học viện Smithsonian Institute. [6] TIEU LUAN MOI download : skknchat@gmail.com – 10 – Mã hoá có một lịch sử lâu dài và phong phú trong đó quân sự là một lĩnh vực lớn sử dụng mã hoá để che giấu các thông tin quân sự cũng như để phá mã các thông tin của đối phương. William Frederick Friedman tác giả của cuốn sách “Lý thuyết ngẫu nhiên và ứng dụng trong mã hoá” được coi là cha đẻ của nghành mã hoá hiện đại và ông là người đã phá mã được rất nhiều thông điệp quân sự trong chiến tranh Thế giới thứ II [1]. Với sự phát triển của máy tính, các thuật toán, thiết bị và ứng dụng mã hoá đã phát triển mạnh mẽ.
Kỷ nguyên công nghệ thông tin đã đem lại những cơ hội chưa từng thấy cho các chuyên gia nghiên cứu mật mã. Dự án nổi tiếng nhất và thành công nhất là dự án phát triển thuật toán mã hoá Lucifer do IBM phát triển. Thuật toán Lucifer bao gồm rất nhiều hàm và phương trình toán học phức tạp đã được Cơ quan An ninh Quốc gia Hoa kỳ chấp thuận và sửa đổi thành tiêu chuẩn mã hoá quốc gia Hoa kỳ - DES (Data Encryption Standard) [6]. DES đã được chấp thuận thành một tiêu chuẩn liên bang và được sử dụng rộng rãi trong các giao dịch tài chính cũng như trong các ứng dụng thương mại.
Thuật toán DES có một lịch sử phong phú trong các thuật toán mã hoá phát triển bằng máy tính và đã được sử dụng rộng rãi trên 20 năm nay. Ngày nay, mã hoá thông tin đã có một vai trò rất quan trọng trong đời sống kinh tế, chính trị. Các thuật toán mã hoá được bảo vệ bởi tổ chức chính phủ và luật pháp. Việc phát triển các chip chuyên dụng để giải mã đường truyền (ví dụ như Clipper Chip) đã bị chính phủ một số nước liệt vào hành vi phạm pháp tương đương với việc buôn bán sử dụng ma tuý (tất nhiên việc này cũng dấy lên nhiều làn sóng công kích đòi hỏi quyền riêng tư và chống lại quyền nghe trộm của chính phủ).