Đị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 bảo mật thông tin (Trang 104 - 106)

CHƢƠNG 5 MÃ CHỨ NG THỰC THÔNG ĐIỆP, HÀM BĂM

6.2 Giao thức bảo mật

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

KDC

1. REQUEST to B

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ùng KAB này làm khóa phiê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) A  KDC: IDA||IDB||N1

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

101 3) A giải mã có được KS và E(KS||IDA, KB)

4) A  B: E(KS||IDA, KB) // IDA ể B biết khóa phiên này dùng với A

5) B  A: E(N2, KS)

6) A  B: E(f(N2), KS) // f là hàm bất kỳ

7) A  B: 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 được KS và E(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) A  B: IDA ||NA

2) B  KDC: IDB||NB||E(IDA||NA, KB)

3) KDC  A: E(IDB||NA||KS, KA)|| E(IDA|| KS, KB)|| NB

4) A  B: E(IDA||KS, KB)|| E(NB, KS)

5) A  B: E(P, KS)

Trong giao thức trên A gửi NA cho Bob, Bob gửi tiếp cho KDC, KDC nhúng NA 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ửi NB cho KDC, KDC gửi lại cho A, A gửi lại NB 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ơng bị 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 bảo mật thông tin (Trang 104 - 106)

Tải bản đầy đủ (DOCX)

(190 trang)
w