3. Phân tích mật mã
Phân tích mật mã nhằm xác định ý nghĩa của thông tin đã được mã hóa (cracking the code) mà không cần đến shared secret key.
Cryptanalysis sử dụng một số phương pháp sau:
- Brute-Force Attack
- Ciphertext-Only Attack
- Known-Plaintext Attack
- Chosen-Plaintext Attack
- Chosen-Ciphertext Attack
- Meet-in-the-Middle
3.1. Brute-Force Attack
Attacker sẽ cố gắng thử tất cả các key có thể có. Kiểu tấn công này áp dụng được cho tất cả các thuật toán mã hóa. Nhìn chung, brute-force attack sẽ thành công nếu dò được khoảng 50% keyspace (không gian key). Để ngăn chặn kiểu tấn công này, các thuật toán mã hóa hiện đại cần có keyspace đủ lớn để attacker phải tiêu tốn quá nhiều chi phí và thời gian nếu dùng brute-force attack.
Hiện nay, bằng brute-force attack, attacker có thể crack DES trong vòng 22h; còn với AES thì cần tới 149 triệu năm.
3.2. Ciphertext-Only Attack
Trong kiểu tấn công này, attacker chỉ có mẫu dữ liệu đã mã hóa (ciphertext). Công việc của hắn là khôi phục ciphertext của càng nhiều dữ liệu càng tốt. Attacker sẽ sử dụng phương pháp phân tích thống kê để suy đoán plaintext, thậm chí là key. Kiểu tấn công này không còn áp dụng trong thực tế vì các thuật toán hiện đại sẽ tạo ra các giá trị ngẫu nhiên tạm thời để chống lại phương pháp phân tích thống kê.
3.3. Known-Plaintext Attack
Trong kiểu tấn công này, attacker có ciphertext của một vài dữ liệu và cũng có được ít nhiều plaintext. Với hiểu biết về giao thức, kiểu tập tin, hoặc các chuỗi đặc trưng có trong dữ liệu gốc, attacker sử dụng brute-force để cố tìm key. Known-Plaintext Attack là kiểu tấn công có tính thực tế nhất. Để phòng chống kiểu tấn công này, các thuật toán hiện đại cần tạo ra keyspace khổng lồ. Vì để thành công, attacker cần dò tìm trong tối thiểu ½ keyspace.
3.4. Chosen-Plaintext Attack
Trong kiểu tấn công này, attacker chọn lọc dữ liệu của thiết bị mã hóa rồi thực thi mã hóa và quan sát kết quả. Kiểu tấn công này hiệu quả hơn so với Known-Plaintext Attack nhưng vẫn khó áp dụng vào thực tế vì attacker cần truy cập được vào hệ thống mạng tin cậy và đánh cắp được cả ciphertext và plaintext.
3.5. Chosen-Ciphertext Attack
Trong kiểu tấn công này, attacker có thể chọn lọc các mẫu ciphertext khác nhau để được giải mã và có quyền truy cập tới plaintext đã giải mã. Với cặp mẫu ciphertext/plaintext attacker thực thi dò tìm key. Phương pháp tấn công này tương tự với chosen-plaintext attack và cũng khó áp dụng vào thực tế.
3.6. Meet-in-the-Middle
Kiểu tấn công này còn được gọi là plaintext attack. Attacker biết một phần của plaintext và ciphertext tương ứng. Hắn sẽ dùng các key có thể có để mã hóa plaintex, giải mã ciphertext cho đến khi có kết quả trùng khớp.
3.7. Phương pháp phân tích tần suất (Frequency Analysis)
So với brute-force, phân tích theo tần suất là phương pháp có tính khoa học hơn. Phương pháp này dựa trên một thực tế là có những chữ cái tiếng Anh được sử dụng nhiều hơn chữ khác. Ví dụ: trong ngôn ngữ tiếng Anh, chữ cái E,T và A được sử dụng nhiều nhất. Sử dụng ít nhất là chữ cái J,Q,X và Z. Đặc điểm này có thể giúp giải mã dữ liệu.
Ví dụ: chúng ta có ciphertext được thực hiện bởi thuật toán Caesar là IODQN HDVW DWWDFN DW GDZQ. Trong chuỗi này, có 6 chữ cái D, và 4 chữ W. Theo nhận xét ở trên, các chữ D,W trong ciphertext có thể là chữ E,T hoặc A trong plaintext. Thay thế thử và chúng ta tìm ra chữ D đã mã hóa chữ A, chữ W thay thế chữ T.
( hết phần 1 )
Tham khảo:
- CCNA Security curriculum
(Nguồn: Blog “Học Ở Mọi Hình Thức”https://duchm72.wordpress.com/2015/07/22/cryptographic-systems-he-thong-mat-ma-part-1/)
Phân tích mật mã nhằm xác định ý nghĩa của thông tin đã được mã hóa (cracking the code) mà không cần đến shared secret key.
Cryptanalysis sử dụng một số phương pháp sau:
- Brute-Force Attack
- Ciphertext-Only Attack
- Known-Plaintext Attack
- Chosen-Plaintext Attack
- Chosen-Ciphertext Attack
- Meet-in-the-Middle
3.1. Brute-Force Attack
Attacker sẽ cố gắng thử tất cả các key có thể có. Kiểu tấn công này áp dụng được cho tất cả các thuật toán mã hóa. Nhìn chung, brute-force attack sẽ thành công nếu dò được khoảng 50% keyspace (không gian key). Để ngăn chặn kiểu tấn công này, các thuật toán mã hóa hiện đại cần có keyspace đủ lớn để attacker phải tiêu tốn quá nhiều chi phí và thời gian nếu dùng brute-force attack.

Hiện nay, bằng brute-force attack, attacker có thể crack DES trong vòng 22h; còn với AES thì cần tới 149 triệu năm.
3.2. Ciphertext-Only Attack
Trong kiểu tấn công này, attacker chỉ có mẫu dữ liệu đã mã hóa (ciphertext). Công việc của hắn là khôi phục ciphertext của càng nhiều dữ liệu càng tốt. Attacker sẽ sử dụng phương pháp phân tích thống kê để suy đoán plaintext, thậm chí là key. Kiểu tấn công này không còn áp dụng trong thực tế vì các thuật toán hiện đại sẽ tạo ra các giá trị ngẫu nhiên tạm thời để chống lại phương pháp phân tích thống kê.
3.3. Known-Plaintext Attack
Trong kiểu tấn công này, attacker có ciphertext của một vài dữ liệu và cũng có được ít nhiều plaintext. Với hiểu biết về giao thức, kiểu tập tin, hoặc các chuỗi đặc trưng có trong dữ liệu gốc, attacker sử dụng brute-force để cố tìm key. Known-Plaintext Attack là kiểu tấn công có tính thực tế nhất. Để phòng chống kiểu tấn công này, các thuật toán hiện đại cần tạo ra keyspace khổng lồ. Vì để thành công, attacker cần dò tìm trong tối thiểu ½ keyspace.
3.4. Chosen-Plaintext Attack
Trong kiểu tấn công này, attacker chọn lọc dữ liệu của thiết bị mã hóa rồi thực thi mã hóa và quan sát kết quả. Kiểu tấn công này hiệu quả hơn so với Known-Plaintext Attack nhưng vẫn khó áp dụng vào thực tế vì attacker cần truy cập được vào hệ thống mạng tin cậy và đánh cắp được cả ciphertext và plaintext.
3.5. Chosen-Ciphertext Attack
Trong kiểu tấn công này, attacker có thể chọn lọc các mẫu ciphertext khác nhau để được giải mã và có quyền truy cập tới plaintext đã giải mã. Với cặp mẫu ciphertext/plaintext attacker thực thi dò tìm key. Phương pháp tấn công này tương tự với chosen-plaintext attack và cũng khó áp dụng vào thực tế.
3.6. Meet-in-the-Middle
Kiểu tấn công này còn được gọi là plaintext attack. Attacker biết một phần của plaintext và ciphertext tương ứng. Hắn sẽ dùng các key có thể có để mã hóa plaintex, giải mã ciphertext cho đến khi có kết quả trùng khớp.

3.7. Phương pháp phân tích tần suất (Frequency Analysis)
So với brute-force, phân tích theo tần suất là phương pháp có tính khoa học hơn. Phương pháp này dựa trên một thực tế là có những chữ cái tiếng Anh được sử dụng nhiều hơn chữ khác. Ví dụ: trong ngôn ngữ tiếng Anh, chữ cái E,T và A được sử dụng nhiều nhất. Sử dụng ít nhất là chữ cái J,Q,X và Z. Đặc điểm này có thể giúp giải mã dữ liệu.
Ví dụ: chúng ta có ciphertext được thực hiện bởi thuật toán Caesar là IODQN HDVW DWWDFN DW GDZQ. Trong chuỗi này, có 6 chữ cái D, và 4 chữ W. Theo nhận xét ở trên, các chữ D,W trong ciphertext có thể là chữ E,T hoặc A trong plaintext. Thay thế thử và chúng ta tìm ra chữ D đã mã hóa chữ A, chữ W thay thế chữ T.

( hết phần 1 )
Tham khảo:
- CCNA Security curriculum
(Nguồn: Blog “Học Ở Mọi Hình Thức”https://duchm72.wordpress.com/2015/07/22/cryptographic-systems-he-thong-mat-ma-part-1/)
Bài viết liên quan
Bài viết mới