Trong phần lớn chương này, chúng ta đã tìm hiểu về cách thức mã hóa đối xứng thực hiện tính bảo mật. Vậy còn tính chứng thực thì saỏ Mã hóa đối xứng có thể chống lại các hình thức tấn công sửa đổi thông điệp, mạo danh và phát lại thông điệp được hay không? Câu trả lời là có.
Trước tiên là vấn đề mạo danh. Trudy có thể nào gửi thông điệp cho Bob mà Bob nghĩ rằng thông điệp đó là từ Alice không? Xét tình huống sau:
• Alice và Bob quyết định dùng mã Vigenere để trao đổi dữ liệu, với khóa bí mật
KAB là ‘DECEPTIVE’
• Khi Alice gửi cho Bob một bản mã C, Bob dùng KAB để giải mã cho ra bản rõ. Ví dụ, Alice gửi bản mã: ‘ZICVTWQNGRZGVTWAVZHCQYGLMGJ’. Bob giải mã có được bản rõ: ‘wearediscoveredsaveyourself’. Đây là một bản tin tiếng Anh có ý nghĩạ
• Trudy muốn mạo danh Alice nên tìm một bản mã CTvà gửi CTcho Bob. Bob nghĩ rằng CT là từ Alice nên giải mã bằng KAB và có được bản rõ PT. Vấn đề ở đây là làm sao Bob biết được PT là của Trudy chứ không phải của Alicẻ
• Vì Trudy không biết KAB nên Trudy không thể chọn PT trước rồi mới có CT. Do đó Trudy phải chọn ngẫu nhiên một CT nào đó. Ví dụ Trudy chọn CT là ‘WDTAXRLKY’. Như vậy Bob giải mã có được PT là ‘tzrwiydpu’. Tuy nhiên PT
này không phải là văn bản có nghĩa trong tiếng Anh.
• Có thể thấy rằng việc Trudy chọn được một CT nào đó, sao cho sau khi Bob giải mã cho ra PT là văn bản có nghĩa, thì có xác suất rất bé. Trong trường hợp PT có nghĩa theo ý muốn của Trudy thì coi như là không thể xảy rạ
Mã khối K C0 Mã khối K K Mã khối ⊕ P0 s b b C1 ⊕ P1 s b C2 ⊕ P2 s b IV
Thanh ghi dịch trái s bít
b b s s s s bít s s
55 • Do đó có thể chắc chắn rằng nếu Trudy mạo danh thì PT sẽ là văn bản vô nghĩa, từ
đó Bob biết được CT là không phải từ Alicẹ
Tương tự như vậy với vấn đề sửa nội dung thông điệp, nếu Trudy chặn được bản mã
C của Alice và sửa C thành CT, thì xác suất để PT là văn bản có nghĩa cũng rất bé. Và Bob biết được C đã bị sửa đổị
Đối với mã hóa hiện đại cũng vậy, nếu Trudy chọn CT là một dãy bít bất kỳ thì bản rõ
PT cũng là một dãy bít lộn xộn, không có cấu trúc ý nghĩạ
Tuy nhiên, trong thực tế, việc xác định như thế nào là dãy bít vô nghĩa là một công việc khó khăn đối với máy tính. Ngoài ra, có những loại dữ liệu hoàn toàn là một dãy bít ngẫu nhiên. Vì vậy, trong thực tế, chúng ta phải chấp nhận rằng bất cứ dãy bít P nào cũng có thể là có ý nghĩạ Do đó, để đảm bảo tính chứng thực, người ta dùng khái niệm mã chứng thực thông điệp – MAC để biến dãy bít ngẫu nhiên thành dãy bít có cấu trúc. Chúng ta sẽ tìm hiểu về MAC trong chương 5. Còn tại thời điểm này, chúng ta chấp nhận rằng một thông điệp có ý nghĩa thì là một dãy bít có cấu trúc.
Đối với tấn công phát lại thông điệp (replay attack). Alice gửi bản mã C cho Bob, Bob nhận được và giải mã để có bản rõ P. Tuy nhiên Trudy chặn được bản mã C và sau đó mạo danh Alice gửi C cho Bob thêm một lần nữạ Bob giải mã và cũng có được P. Như vậy Bob nhận được cùng một thông điệp P hai lần. Tại lần thứ 2, Bob không có cơ sở xác định là Alice muốn gửi lại hay là do Trudy gửị Chương 6 sẽ trình bày các phương pháp chống lại hình thức tấn công phát lại thông điệp.