CHƯƠNG 1: TỔNG QUAN VỀ MẬT MÃ VÀ MÃ KHỐI.1 Giới thiệu Trước đây khi công nghệ máy tính chưa phát triển, khi nói đến vấn đề an toàn bảo mật thông tin (Information Security), chúng ta thường hay nghĩ đến các biện pháp nhằm đảm bảo cho thông tin được trao đổi hay cất giữ một cách an toàn và bí mật. Chẳng hạn là các biện pháp như: Đóng dấu và ký niêm phong một bức thư để biết rằng lá thư có được chuyển nguyên vẹn đến người nhận hay không. Dùng mật mã mã hóa thông điệp để chỉ có người gửi và người nhận hiểu được thông điệp. Phương pháp này thường được sử dụng trong chính trị và quân sự.
Lưu giữ tài liệu mật trong các két sắt có khóa, tại các nơi được bảo vệ nghiêm ngặt, chỉ có những người được cấp quyền mới có thể xem tài liệu. Với sự phát triển mạnh mẽ của công nghệ thông tin, đặc biệt là sự phát triển của mạng Internet, ngày càng có nhiều thông tin được lưu giữ trên máy vi tính và gửi đi trên mạng Internet. Và do đó xuất hiện nhu cầu về an toàn và bảo mật thông tin trên máy tính. Có thể phân loại mô hình an toàn bảo mật thông tin trên máy tính theo hai hướng chính như sau: Bảo vệ thông tin trong quá trình truyền thông tin trên mạng (Network Security).
Các giải pháp mật mã được sử dụng. Bảo vệ hệ thống máy tính, và mạng máy tính, khỏi sự xâm nhập phá hoại từ bên ngoài (System Security) 1.2 Bảo vệ thông tin trong quá trình truyền trên mạng 1. Các loại hình tấn công Để xem xét những vấn đề bảo mật liên quan đến truyền thông trên mạng, chúng ta hãy lấy một bối cảnh sau: có ba nhân vật tên là Alice, Bob và Trudy, trong đó Alice và Bob thực hiện trao đổi thông tin với nhau, còn Trudy là kẻ xấu, đặt thiết bị can thiệp vào kênh LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com 2 truyền tin giữa Alice và Bob. Sau đây là các loại hành động tấn công của Trudy mà ảnh hưởng đến quá trình truyền tin giữa Alice và Bob: a.
Xem trộm thông tin (Release of Message Content) Trong trường hợp này Trudy chặn các thông điệp Alice gửi cho Bob, và xem được nội dung của thông điệp. 1 Xem trộm thông tin b. Thay đổi thông điệp (Modification of Message) Sửa thông diệp của Alice gửi cho Bob Hình 1. 2 Sửa thông điệp Trudy chặn các thông điệp Alice gửi cho Bob và ngăn không cho các thông điệp này đến đích.
Sau đó Trudy thay đổi nội dung của thông điệp và gửi tiếp cho Bob. Bob nghĩ rằng nhận được thông điệp nguyên bản ban đầu của Alice mà không biết rằng chúng đã bị sửa đổi. LUAN VAN CHAT LUONG download : add luanvanchat@agmail. Mạo danh (Masquerade) Trong trường hợp này Trudy giả là Alice gửi thông điệp cho Bob.
Bob không biết điều này và nghĩ rằng thông điệp là của Alice. Phát lại thông điệp (Replay) Trudy sao chép lại thông điệp Alice gửi cho Bob. Sau đó một thời gian Trudy gửi bản sao chép này cho Bob. Bob tin rằng thông điệp thứ hai vẫn là từ Alice, nội dung hai thông điệp là giống nhau.
Thoạt đầu có thể nghĩ rằng việc phát lại này là vô hại, tuy nhiên trong nhiều trường hợp cũng gây ra tác hại không kém so với việc giả mạo thông điệp. Xét tình huống sau: giả sử Bob là ngân hàng còn Alice là một khách hàng. Alice gửi thông điệp đề nghị Bob chuyển cho Trudy 1000$. Alice có áp dụng các biện pháp như chữ ký điện tử với mục đích không cho Trudy mạo danh cũng như sửa thông điệp.
Tuy nhiên nếu Trudy sao chép và phát lại thông điệp thì các biện pháp bảo vệ này không có ý nghĩa. Bob tin rằng Alice gửi tiếp một thông điệp mới để chuyển thêm cho Trudy 1000$ nữa. LUAN VAN CHAT LUONG download : add luanvanchat@agmail. 4 Phát lại thông điệp 1.2 Yêu cầu của một hệ truyền thông tin an toàn và bảo mật Phần trên đã trình bày các hình thức tấn công, một hệ truyền tin được gọi là an toàn và bảo mật thì phải có khả năng chống lại được các hình thức tấn công trên.
Như vậy hệ truyền tin phải có các đặt tính sau: a) Tính bảo mật (Confidentiality): Ngăn chặn được vấn đề xem trộm thông điệp. b) Tính chứng thực (Authentication): Nhằm đảm bảo cho Bob rằng thông điệp mà Bob nhận được thực sự được gửi đi từ Alice, và không bị thay đổi trong quá trình truyền tin. Như vậy tính chứng thực ngăn chặn các hình thức tấn công sửa thông điệp, mạo danh, và phát lại thông điệp. c) Tính không từ chối (Nonrepudiation): xét tình huống sau: Giả sử Bob là nhân viên môi giới chứng khoán của Alice.
Alice gởi thông điệp yêu cầu Bob mua cổ phiếu của công ty Z. Ngày hôm sau, giá cổ phiếu công ty này giảm hơn 50%. Thấy bị thiệt hại, Alice nói rằng Alice không gửi thông điệp nào cả và quy trách nhiệm cho Bob. Bob phải có cơ chế để xác định rằng chính Alice là người gởi mà Alice không thể từ chối trách nhiệm được.
LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com 5 Khái niệm chữ ký trên giấy mà con người đang sử dụng ngày nay là một cơ chế để bảo đảm tính chứng thực và tính không từ chối. Và trong lĩnh vực máy tính, người ta cũng thiết lập một cơ chế như vậy, cơ chế này được gọi là chữ ký điện tử. 5 Mô hình bảo mật thông tin trên mạng 1.3 Vai trò của mật mã trong việc bảo mật thông tin trên mạng Mật mã hay mã hóa dữ liệu (cryptography), là một công cụ cơ bản thiết yếu của bảo mật thông tin. Mật mã đáp ứng được các nhu cầu về tính bảo mật (confidentiality), tính chứng thực (authentication) và tính không từ chối (non- repudiation) của một hệ truyền tin.
Mã hóa dữ liệu bao gồm mã hóa đối xứng và mã hóa bất đối xứng, chúng đóng vai trò quan trọng trong mật mã hiện đại. Mã khối là một hình thức của mã hóa đối xứng. Ngoài ra, hàm băm (hàm Hash) cũng là một công cụ bảo mật quan trọng mà có nhiều ứng dụng lý thú, trong đó có chữ ký điện tử. Trong khuôn khổ của đề tài nghiên cứu, sẽ đi sâu để nghiên cứu về mã khối và các mạng hoán vị thay thế điều khiển được để xây dựng các mã khối áp dụng trong các mạng truyền thông tốc độ cao.
LUAN VAN CHAT LUONG download : add luanvanchat@agmail.1 Khái niệm Mật mã khối là phương thức cho phép mã hóa trên một nhóm các bit (khối) với độ dài nào đó, lần lượt mỗi khối được mã hoặc giải mã. Kích thước mỗi khối thường là 64 bit hoặc lớn hơn. Các tham số quan trọng của mã hóa khối là kích thước (độ dài) của mỗi khối, kích thước khóa, cấu trúc của vòng mã hóa cơ sở,. Các mã khối đều được xây dựng dựa trên ý tưởng của Shannon đưa ra năm 1949.2 Phương pháp thiết kế mật mã khối a.
Cấu trúc thiết kế Xuất phát từ ý tưởng của Shannon, một số cấu trúc mã hóa khối cơ sở đã được đề xuất. Trong số đó, cấu trúc mạng Feistel (Feistel network) và mạng hoán vị thay thế (Substitution Permutation Network - SPN) là 2 cấu trúc mã hóa khối được sử dụng phổ biến trong việc phát triển các thuật toán mã hóa khối hiện nay. - Cấu trúc Feistel Horst Feistel đề xuất ra cấu trúc Feistel dựa trên mã tích nghịch đảo được, tức là kết hợp mã thay thế với mã hoán vị và qui trình mã/giải mã là giống nhau, quá trình giải mã chỉ cần thay đổi vai trò khối bản mã với khối bản rõ và thứ tự các khoá con được dùng. Từ khóa chính sẽ sinh ra cho mỗi vòng mã hóa một khóa con tương ứng.
Quy trình thực hiện được mô tả như trong hình 1. LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com 7 Bản rõ (2w bits) L0 R0 Vòng 1 K1 ˷ F L1 R1 Vòng 2 Ki ˷ F Li Ri Vòng n Kn ˷ F Ln Rn Ln+1 Rn+1 Bản mã (2w bits) Hình 1. 6 Cấu trúc mạng Feistel - Cấu trúc SPN Cấu trúc SPN là một trong các cấu trúc được sử dụng chung nhất trong các mã khối. Cấu trúc SPN được dựa trên các nguyên tắc của Shannon về tính hỗn loạn (confusion) và khuếch tán (diffusion).
Các nguyên tắc này được được thực hiện thông qua việc sử dụng các phép thay thế và các phép hoán vị. Quy trình thực hiện được mô tả như trong hình 1.7 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com 8 Khóa vòng K1 S1 S2 Sn Phép biến đổi tuyến tính Khóa vòng K2 S1 S2 Sn Khóa vòng Km S1 S2 Sn Hình 1. 7 Cấu trúc SPN b. Tiêu chuẩn thiết kế b1.Tiêu chuẩn thiết kế chung Các tiêu chuẩn chung sau được chấp nhận bởi phần lớn các nhà mật mã học.
Nó bao gồm: độ an toàn, tính hiệu quả, tính linh hoạt của khóa và tính đa dụng. Ngoài ra còn một số các tiêu chuẩn khác như: tính đơn giản, tính đối xứng (gồm đối xứng qua các vòng, đối xứng trong biến đổi vòng, đối xứng trong hộp S, đối xứng giữa phép mã và giải mã), tính song song, tính mềm dẻo đối với thứ tự của các bước, độ dài khối thay đổi, lựa chọn một số phép toán số học. Tiêu chuẩn về độ an toàn và tính hiệu quả được áp dụng bởi tất cả các nhà thiết kế mật mã. Có một số trường hợp tính hiệu quả phải hy sinh để nhận LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com 9 được một ngưỡng an toàn cao.
Thách thức được đặt ra cho việc thiết kế mật mã là đề xuất một ngưỡng an toàn hợp lý trong khi tối ưu tính hiệu quả. Tiêu chuẩn về độ linh hoạt của khóa và tính đa dụng là ít vạn năng hơn. Trong một số trường hợp các tiêu chuẩn này là không thích đáng bởi vì mã pháp được ngụ ý cho một ứng dụng cụ thể và sẽ được cài đặt trên một nền tảng cụ thể. Tiêu chuẩn khuếch tán.
Hai nguyên tắc quan trọng đối với việc thiết kế mật mã khối đó là: Tiêu chuẩn thác lũ chặt (SAC: Strict Avalanche Criteria) và chiến lược vết rộng và số nhánh (The wide-trail strategy and the branch number). 1) Tiêu chí thác lũ chặt Về mặt lịch sử, SAC [3] được sử dụng trong các thiết kế mã khối đơn giản để mô tả sự khuếch tán của chúng. Theo đó, một hộp S được xác định như hàm logic hoặc như một tập của m hàm logic nhị phân ,. Một hàm logic nhị phân thỏa mãn SAC nếu một bit của véc tơ đầu vào thay đổi thì có một nửa số bit của đầu ra thay đổi.