Định danh và trao đổi khóa phiên dùng mã hóa đối xứng với KDC

Một phần của tài liệu bài giảng an toàn và bảo mật TẢI HỘ 0984985060 (Trang 108 - 109)

Xét lại mô hình phần 3.9 trao đổi khóa phiên

KDC

1.REQUESTtoB

2.E(KAB,KA)||E(KAB,KB)

A 4.E(KAB,KB) B

5.E(P,KAB)

Mô hình trên có thể bị tấn công replay attack. Ví dụ, Trudy có thể replay bước 4 mà B vẫn nghĩ là A gửi và B tiếp tục dùngKABnàylàmkhóaphiên.Dựa trên cơ sở đó Trudy tiếp tục replay bước 5. (việc replay dữ liệu tại bước 5 sẽ gây ra hậu quả không mong muốn như chúng ta đã đề cập trong chương 1).

Needham and Schroeder đã đề xuất sửa đổi mô hình trên như sau: 1) AKDC: IDA||IDB||N1

2) KDCA:E(KS||IDB||N1||E(KS||IDA,KB),KA) // KSlàkhóaphiên, IDB ể A biết khóa phiên này dùng với B

101 3) AgiimãcóđượcKS vàE(KS||IDA,KB)

4) AB: E(KS||IDA,KB) // IDA ể B biết khóa phiên

này dùng với A

5) BA: E(N2,KS)

6) AB: E(f(N2),KS) //flàhàmbất kỳ 7) AB: E(P,KS)

Tại bước 1, A gửi cho KDC nounce N1 và KDC nhúng N1 vào trong bản rõ ở bước 2. Do đó bước 2 không thể bị replay attack (theo phương pháp challenge/response).

Tại bước 5, B gửi cho A giá trị nounce N2, và chờ A gửi lại giá trị f(N2), f là một hàm được chọn trước. Do đó nếu Trudy replay attack tại bước 4 thì Trudy không thể thực hiện bước 6 vì Trudy không có KS để tính N2 và f(N2). Bob nhận biết Trudy là giả mạo và Trudy không thể replay dữ liệu tiếp tại bước 7.

Như vậy có thể thấy các bước 4, 5, 6 cũng là một hình thức challenge/response để chống replay attack. Để phòng Trudy replay bước 4 để sử dụng lại một KS cũ. Bob challenge tại bước 5 và yêu cầu được response tại bước 6 xem người gửi có biết KS không (chỉ có Alice mới biết KS)

Tuy nhiên giao thức này chưa hoàn toàn chặc chẽ, có một khuyết điểm là nếu sau này Trudy biết đượcKSE(KS||IDA,KB)tương ứng thì Trudy có thể replay attack bước 4, sau đó dựa trên KS tính được N2 và phản hồi N2 cho Bob. Như vậy Bob không biết được là Trudy đã mạo danh Alice và tiếp tục dùng khóa phiên KS đã bị lộ nàỵ Do đó giao thức Needham/Schroeder tiếp tục được sửa lại như sau:

1) AB: IDA||NA

2) BKDC: IDB||NB||E(IDA||NA,KB)

3) KDCA: E(IDB||NA||KS,KA)|| E(IDA||KS,KB)|| NB

4) AB: E(IDA||KS,KB)|| E(NB,KS)

5) AB: E(P,KS)

Trong giao thức trên A gửiNA cho Bob, Bob gửi tiếp cho KDC, KDC nhúngNA vào bản rõ gửi cho Ạ Do đó nếu A nhận được NA thì có nghĩa là bản mãE(IDB||NA||KS,KA) trong bước 3 không bị replay attack. B gửiNB cho KDC, KDC gửi lại cho A, A gửi lạiNB

cho B dưới dạng mã hóạ Đo đó nếu B nhận được NB thì có nghĩa E(IDA||KS,KB) trong bước 4 khôngbị replay attack. Do đóKS mà Alice và Bob nhận được là khóa phiên mớị Trudy không thể replay lại các bản mãE(P,KS)cũ trong các lần trước tại bước 5.

Một phần của tài liệu bài giảng an toàn và bảo mật TẢI HỘ 0984985060 (Trang 108 - 109)