Hai máy thực hiện việc truyền thông an toàn như thế nào ? Chúng sẽ mã hoá
sự truyền thông đó, đương nhiên rồi. Để hoàn thành một protocol là phức tạp hơn việc truyền thông. Chúng ta hãy cùng xem xét điều gì sẽ xảy ra nếu máy
Client muốn gửi thông báo mã hoá tới cho Server.
1. Client và Server đồng ý sử dụng một hệ mã hóa.
2. Client và Server thống nhất khoá với nhau.
3. Client lấy bản rõ và mã hoá sử dụng thuật toán mã hoá và khoá.
Sau đó bản mã đã được tạo ra.
4. Client gửi bản mã tới cho Server.
5. Server giải mã bản mã đó với cùng một thuật toán và khoá, sau đó
đọc được bản rõ.
Điều gì sẽ xảy ra đối với kẻ nghe trộm cuộc truyền thông giữa Client và
Server trong protocol trên. Nếu như kẻ nghe trộm chỉ nghe được sự truyền đi
bản mã trong bước 4, chúng sẽ cố gắng phân tích bản mã. Những kẻ nghe
trộm chúng không ngu rốt, chúng biết rằng nếu có thể nghe trộm từ bước 1 đến bước 4 thì chắc chắn sẽ thành công. Chúng sẽ biết được thuật toán và
khoá như vậy chúng sẽ biết được nhiều như Server. Khi mà thông báo được
truyền đi trên kênh truyền thông trong bước thứ 4, thì kẻ nghe trộm sẽ giải
mã bằng chính những điều đã biết.
Đây là lý do tại sao quản lý khoá lại là vấn đề quan trọng trong hệ thống mã
hoá. Một hệ thống mã hoá tốt là mọi sự an toàn phụ thuộc vào khoá và
không phụ thuộc vào thuật toán. Với thuật toán đối xứng, Client và Server
Khoá phải được giữ bí mật trước, trong khi, và sau protocol, mặt khác thông
báo sẽ không giữ an toàn trong thời gian dài.
Tóm lại, hệ mật mã đối xứng có một vài vấn đề như sau :
Nếu khoá bị tổn thương (do đánh cắp, dự đoán ra, khám phá, hối lộ) thì đối thủ là người có khoá, anh ta có thể giải mã tất cả thông báo với khoá đó. Một điều rất quan trọng là thay đổi khoá tuần tự để giảm thiểu vấn đề
này.
Những khoá phải được thảo luận bí mật. Chúng có thể có giá trị hơn bất
kỳ thông báo nào đã được mã hoá, từ sự hiểu biết về khoá có nghĩa là
hiểu biết về thông báo.
Sử dụng khoá riêng biệt cho mỗi cặp người dùng trên mạng vậy thì tổng
số khoá tăng lên rất nhanh giống như sự tăng lên của số người dùng. Điều
này có thể giải quyết bằng cách giữ số người dùng ở mức nhỏ, nhưng
điều này không phải là luôn luôn có thể.