Bài giảng An toàn và bảo mật thông tin: Phần 2 - Trần Văn Minh
Số trang: 85
Loại file: pdf
Dung lượng: 3.97 MB
Lượt xem: 17
Lượt tải: 0
Xem trước 9 trang đầu tiên của tài liệu này:
Thông tin tài liệu:
(NB) Nối tiếp phần 1 của "Bài giảng An toàn và bảo mật thông tin" mời các bạn cùng tìm hiểu phần 2 để nắm bắt một số vấn đề cơ bản về giao thức; một số ứng dụng thực tiễn; phá mã vi sai và phá mã tuyến tính;... Hy vọng tài liệu là nguồn thông tin hữu ích cho quá trình học tập và nghiên cứu của các bạn.
Nội dung trích xuất từ tài liệu:
Bài giảng An toàn và bảo mật thông tin: Phần 2 - Trần Văn Minh CHƢƠNG 6. GIAO THỨC Trong các chương trước, chúng ta đã tìm hiểu về cách thức thực hiện tính bảo mật, tính chứng thực và tính không thoái thác của các phương pháp mã hóa đối xứng và mã hóa khóa công khai. Chương này trước tiên tìm hiểu cơ chế chống lại hình thức tấn công phát lại thông điệp (replay attack). Tiếp theo trình bày về các giao thức bảo mật, là các nguyên tắc áp dụng các kỹ thuật mã hóa nhằm đảm bảo việc truyền dữ liệu là an toàn trước những hình thức tấn công đã được đề cập trong chương một. Chương này trình bày các giao thức dưới dạng nguyên tắc lý thuyết, chương tiếp theo trình bày một số giao thức ứng dụng thực tiễn. 6.1 Phát lại thông điệp (Replay Attack) Trong hình thức tấn công phát lại thông điệp, Trudy chặn thông điệp của Alice gửi cho Bob, và sau đó một thời gian gửi lại thông điệp này cho Bob. Như vậy Bob sẽ nghĩ rằng Alice gửi thông điệp hai lần khác nhau. Tuy nhiên thực sự thì Alice chỉ gửi một lần. Chỉ sử dụng mã hóa đối xứng và mã hóa khóa công khai thì không thể ngăn cản hình thức tấn công này. Để chống lại reply attack có 3 phương pháp: 1) Dùng số định danh: trong mỗi thông điệp gửi cho Bob, Alice nhúng vào đó một con số định danh thông điệp S. Mỗi thông điệp ứng với một S khác nhau. || là phép nối dãy bít Do đó nếu Trudy phát lại thông điệp, Bob biết được hai thông điệp có cùng số định danh và loại bỏ thông điệp thứ hai. Tuy nhiên, phương pháp này có hạn chế là Bob phải lưu trữ số định danh của Alice để có cơ sở so sánh. Do đó phương pháp này thường chỉ sử dụng cho một phiên làm việc (connection oriented). 2) Dùng timestamp: trong mỗi thông điệp gửi cho Bob, Alice nhúng vào một timestamp T xác định thời điểm gửi. Bob chỉ chấp nhận thông điệp nếu nó đến được Bob trong một giới hạn thời gian nào đó kể từ lúc gửi. Tuy nhiên phương pháp này yêu cầu đồng hồ của Alice và của Bob phải đồng bộ, không được sai lệch đáng kể. Ngoài ra độ trễ của việc truyền tin trên mạng cũng là một trở ngại đối với phương pháp này. 3) Dùng cơ chế challenge/response: để bảo đảm thông điệp từ Alice không phải là replay, Bob gửi 1 số ngẫu nhiên N cho Alice (gọi là nounce). Alice sẽ nhúng N trong thông điệp gửi cho Bob. N A C=E(P||N, KAB) B Mã hóa đối xứng A N Mã hóa khóa công khai A C=E(M||N, KUB) B A 100 Khi Bob giải mã thì sẽ kiểm tra N mà Bob nhận được xem có trùng khớp với N Bob gửi đi không. Như vậy Trudy không thể replay thông điệp E(P||N, KAB) được vì mỗi lần Bob sẽ gửi một số N khác nhau. Tuy nhiên phương pháp này đòi hỏi thêm một bước là Bob phải gửi N trước cho Alice. Vì vậy trong thực tế tùy trường hợp mà người ta sẽ sử dụng một trong 3 kỹ thuật trên cho hợp lý. 6.2 Giao thức bảo mật Trong thực tế, khi hai người bất kỳ chưa biết trước muốn trao đổi dữ liệu với nhau, họ phải xác định người kia là ai, sau đó thống nhất với nhau là phải dùng phương pháp mã hóa nào, khóa là gì,… Để làm được điều đó họ phải tiến hành thông qua giao thức bảo mật. Như vậy có thể định nghĩa giao thức bảo mật là các quy định mà nếu hai cá thể tuân theo các quy định đó, thì họ có thể trao đổi dữ liệu với nhau một cách an toàn bảo mật. Một giao thức bảo mật thường nhằm xác định các yếu tố sau: Định danh hai cá thể trao đổi dữ liệu, chống replay attack. Trao đổi khóa phiên bí mật để mã hóa dữ liệu. Vì mã đối xứng thực hiện nhanh hơn mã hóa công khai nên ngày nay người ta dùng mã đối xứng để mã hóa dữ liệu, còn việc trao đổi khóa phiên bí mật thì có thể dùng mã hóa đối xứng hay mã hóa khóa công khai. Trong phần 3.9 hay phần 4.6.2 và 4.7 chúng ta đã xem một số giao thức tập trung vào việc trao đổi khóa phiên. Trong phần này, ta sẽ mở rộng các giao thức trên nhằm định danh cá thể trao đổi dữ liệu và chống replay attack. 6.2.1 Định danh và trao đổi khóa phiên dùng mã hóa đối xứng với KDC Xét lại mô hình phần 3.9 trao đổi khóa phiên KDC 1. REQUEST to B 2. E(KAB, KA)||E(KAB, KB) 4. E(KAB, KB) A 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 ...
Nội dung trích xuất từ tài liệu:
Bài giảng An toàn và bảo mật thông tin: Phần 2 - Trần Văn Minh CHƢƠNG 6. GIAO THỨC Trong các chương trước, chúng ta đã tìm hiểu về cách thức thực hiện tính bảo mật, tính chứng thực và tính không thoái thác của các phương pháp mã hóa đối xứng và mã hóa khóa công khai. Chương này trước tiên tìm hiểu cơ chế chống lại hình thức tấn công phát lại thông điệp (replay attack). Tiếp theo trình bày về các giao thức bảo mật, là các nguyên tắc áp dụng các kỹ thuật mã hóa nhằm đảm bảo việc truyền dữ liệu là an toàn trước những hình thức tấn công đã được đề cập trong chương một. Chương này trình bày các giao thức dưới dạng nguyên tắc lý thuyết, chương tiếp theo trình bày một số giao thức ứng dụng thực tiễn. 6.1 Phát lại thông điệp (Replay Attack) Trong hình thức tấn công phát lại thông điệp, Trudy chặn thông điệp của Alice gửi cho Bob, và sau đó một thời gian gửi lại thông điệp này cho Bob. Như vậy Bob sẽ nghĩ rằng Alice gửi thông điệp hai lần khác nhau. Tuy nhiên thực sự thì Alice chỉ gửi một lần. Chỉ sử dụng mã hóa đối xứng và mã hóa khóa công khai thì không thể ngăn cản hình thức tấn công này. Để chống lại reply attack có 3 phương pháp: 1) Dùng số định danh: trong mỗi thông điệp gửi cho Bob, Alice nhúng vào đó một con số định danh thông điệp S. Mỗi thông điệp ứng với một S khác nhau. || là phép nối dãy bít Do đó nếu Trudy phát lại thông điệp, Bob biết được hai thông điệp có cùng số định danh và loại bỏ thông điệp thứ hai. Tuy nhiên, phương pháp này có hạn chế là Bob phải lưu trữ số định danh của Alice để có cơ sở so sánh. Do đó phương pháp này thường chỉ sử dụng cho một phiên làm việc (connection oriented). 2) Dùng timestamp: trong mỗi thông điệp gửi cho Bob, Alice nhúng vào một timestamp T xác định thời điểm gửi. Bob chỉ chấp nhận thông điệp nếu nó đến được Bob trong một giới hạn thời gian nào đó kể từ lúc gửi. Tuy nhiên phương pháp này yêu cầu đồng hồ của Alice và của Bob phải đồng bộ, không được sai lệch đáng kể. Ngoài ra độ trễ của việc truyền tin trên mạng cũng là một trở ngại đối với phương pháp này. 3) Dùng cơ chế challenge/response: để bảo đảm thông điệp từ Alice không phải là replay, Bob gửi 1 số ngẫu nhiên N cho Alice (gọi là nounce). Alice sẽ nhúng N trong thông điệp gửi cho Bob. N A C=E(P||N, KAB) B Mã hóa đối xứng A N Mã hóa khóa công khai A C=E(M||N, KUB) B A 100 Khi Bob giải mã thì sẽ kiểm tra N mà Bob nhận được xem có trùng khớp với N Bob gửi đi không. Như vậy Trudy không thể replay thông điệp E(P||N, KAB) được vì mỗi lần Bob sẽ gửi một số N khác nhau. Tuy nhiên phương pháp này đòi hỏi thêm một bước là Bob phải gửi N trước cho Alice. Vì vậy trong thực tế tùy trường hợp mà người ta sẽ sử dụng một trong 3 kỹ thuật trên cho hợp lý. 6.2 Giao thức bảo mật Trong thực tế, khi hai người bất kỳ chưa biết trước muốn trao đổi dữ liệu với nhau, họ phải xác định người kia là ai, sau đó thống nhất với nhau là phải dùng phương pháp mã hóa nào, khóa là gì,… Để làm được điều đó họ phải tiến hành thông qua giao thức bảo mật. Như vậy có thể định nghĩa giao thức bảo mật là các quy định mà nếu hai cá thể tuân theo các quy định đó, thì họ có thể trao đổi dữ liệu với nhau một cách an toàn bảo mật. Một giao thức bảo mật thường nhằm xác định các yếu tố sau: Định danh hai cá thể trao đổi dữ liệu, chống replay attack. Trao đổi khóa phiên bí mật để mã hóa dữ liệu. Vì mã đối xứng thực hiện nhanh hơn mã hóa công khai nên ngày nay người ta dùng mã đối xứng để mã hóa dữ liệu, còn việc trao đổi khóa phiên bí mật thì có thể dùng mã hóa đối xứng hay mã hóa khóa công khai. Trong phần 3.9 hay phần 4.6.2 và 4.7 chúng ta đã xem một số giao thức tập trung vào việc trao đổi khóa phiên. Trong phần này, ta sẽ mở rộng các giao thức trên nhằm định danh cá thể trao đổi dữ liệu và chống replay attack. 6.2.1 Định danh và trao đổi khóa phiên dùng mã hóa đối xứng với KDC Xét lại mô hình phần 3.9 trao đổi khóa phiên KDC 1. REQUEST to B 2. E(KAB, KA)||E(KAB, KB) 4. E(KAB, KB) A 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 ...
Tìm kiếm theo từ khóa liên quan:
An toàn và bảo mật thông tin An toàn thông tin Bảo mật thông tin Phá mã tuyến tính Phá mã vi sai Tìm hiểu giao thứcGợi ý tài liệu liên quan:
-
Giáo trình An toàn và bảo mật thông tin - ĐH Bách khoa Hà Nội
109 trang 304 0 0 -
Đề cương chi tiết bài giảng môn Đảm bảo và an toàn thông tin
25 trang 269 0 0 -
10 trang 220 1 0
-
5 trang 178 0 0
-
Giáo trình An toàn, an ninh thông tin và mạng lưới
142 trang 165 0 0 -
Kiến thức căn bản về Máy tính - Phùng Văn Đông
52 trang 162 0 0 -
Xây dựng thuật toán, thử nghiệm đánh giá mô hình cứng hóa giao thức IKEv2.0
7 trang 157 0 0 -
Giáo trình An toàn và bảo mật thông tin - Đại học Bách Khoa Hà Nội
110 trang 111 0 0 -
Về một giải pháp cứng hóa phép tính lũy thừa modulo
7 trang 101 0 0 -
Một số thuật toán giấu tin trong ảnh có bảng màu và áp dụng giấu tin mật trong ảnh GIF
5 trang 94 0 0