Giao thức Needham-Schroeder
Bách khoa toàn thư mở Wikipedia
Needham-Schroeder là một giao thức truyền thông phục vụ cho việc xác thực trên các mạng máy tính không an toàn. Giao thức do Roger Needham và Michael Schroeder phát minh vào năm 1978. Nó cho phép các thực thể trao đổi thông tin có thể chứng minh nhận dạng của mình đồng thời chống lại việc nghe lén và phát hiện, ngăn chặn việc truy cập, thay đổi thông tin trên đường truyền.
[sửa] Giao thức
Theo cách ký hiệu giao thức mật mã, giao thức Needham-Schroeder được mô tả như sau, trong đó, Alice (A) sử dụng máy chủ (S) chứng minh nhận dạng của mình với Bob (B), đồng thời tạo ra một khóa chung (KAB):
(0) Trước khi các giao dịch có thể diễn ra, mỗi người sử dụng trong hệ thống có một khóa bí mật chia sẻ với máy chủ. Ở đây KXS là khóa chung giữa X và máy chủ S.
(1) Khi muốn trao đổi thông tin với Bob, đầu tiên, Alice gửi một gói tin tới máy chủ trong đó có định danh của Alice và Bob cùng với một số được tạo ngẫu nhiêu NA.
(2) Máy chủ tạo ra một khóa phiên KAB để Alice và Bob sử dụng trong giao dịch tiếp theo. Sau đó, máy chủ gửi khóa này cho Alice dưới dạng mật mã hóa bằng khóa chung giữa máy chủ và Alice; đồng thời máy chủ cũng mật mã hóa khóa phiên bằng khóa chung với Bob và gửi cho Alice. Số ngẫu nhiên NA được gửi kèm cùng gói tin để đảm bảo gói tin là mới (tránh trường hợp kẻ tấn công dùng lại gói tin cũ) và định danh của Bob để Alice biết được người để dùng khóa (trong trường hợp Alice đồng thời giao dịch với nhiều người).
(3) Alice giải mã và gửi phần mã hóa bằng khóa của Bob tới cho Bob. Alice không thể giải mã được phần này và chỉ có Bob mới giải mã được.
(4) Bob giải mã gói tin nhận được và thu được khóa phiên. Bob tạo ra một số ngẫu nhiên khác và gửi cho Alice sau khi mật mã hóa với khóa phiên để chứng tỏ mình đã nhận được khóa.
(5) Alice giải mã, thực hiện một phép toán đơn giản trên giá trị nhận được rồi gửi lại cho Bob để khẳng định giao dịch tiếp tục và Alice là người thực sự có khóa.
[sửa] An toàn
Giao thức này không đảm bảo an toàn. Vấn đề là ở gói tin số 3: Bob không thể xác định được đây có phải là gói tin mới được tạo ra hay là gói tin được phát lại. Nếu một người thứ 3 có được một khóa cũ thì có thể thực hiện tấn công bằng cách phát lại gói tin và làm cho Bob tin rằng mình đang trao đổi thông tin với Alice.
[sửa] Xem thêm
- Giao thức Kerberos
- Giao thức Otway-Rees
- Giao thức Wide Mouth Frog.