Chống tấn công replay trong MobileIP

Một phần của tài liệu (LUẬN VĂN THẠC SĨ) Nghiên cứu giao thức Mobile IP và giải pháp bảo mật (Trang 78 - 81)

Trường định danh (Identification) trong thông điệp đăng ký của MN với HA để HA có thể kiểm tra rằng một thông điệp đăng ký mới được gửi đi bởi MN mà không phải là một thông điệp tấn công replay lợi dụng được từ một lần đăng ký trước đó. Có hai phương pháp để chống tấn công replay được đưa ra trong chuẩn giao thức Mobile IP: sử dụng nhãn thời gian (bắt buộc) và sử dụng nonce (tùy chọn). Theo chuẩn giao thức Mobile IP [2] , tất cả các MN và HA đều phải cài đặt

cơ chế chống tấn công replay sử dụng nhãn thời gian. MN (bắt buộc); và HA cũng có thể cài đặt cơ chế chống tấn công replay dựa trên nonce (tùy chọn).

Cách thức chống tấn công replay trong cài đặt cụ thể giữa một MN và HA tương ứng là một phần của thiết lập bảo mật giữa MN và HA. Theo đó, MN và HA sẽ thống nhất phương thức chống tấn công replay được sử dụng. Cách hiểu trường

định danh trong thông điệp đăng ký sẽ phụ thuộc vào phương thức chống replay cụ

thể.

Cho dù phương pháp chống replay nào được sử dụng thì 32bit thấp trong trường định danh phải được sao nguyên vẹn từ yêu cầu đăng ký sang trả lời đăng ký. FA sử dụng các bit đó (và địa chỉ gốc của MN) để khớp các yêu cầu đăng ký với các trả lời tương ứng. MN phải kiểm tra rằng 32bit của mọi trả lời đăng ký là khớp với 32 bit mà MN đã gửi trong yêu cầu đăng ký.

Trường định danh trong một yêu cầu đăng ký mới phải không giống một yêu cầu ngay trước đó. Trường định danh cũng không nên được sử dụng lại khi một ngữ cảnh bảo mật vẫn đang được dùng giữa MN và HA.

3.2.1. Chng tn công replay bng nhãn thi gian

Nguyên lý cơ bản của biện pháp chống tấn công bằng nhãn thời gian (timestamp) là một nút tạo một thông điệp sẽ chèn thời gian hiện tại; nút nhận được thông điệp kiểm tra nhãn thời gian đảm bảo rằng thời gian đó tương đối gần với ngày giờ của chính MN. Trừ khi được chỉ ra khác đi trong ngữ cảnh bảo mật cho nút, giá trị ngầm định là 7 giây – được sử dụng để giới hạn sự khác nhau về thời gian. Giá trị này cần lớn hơn 3 giây. Giải pháp này hiển nhiên chỉ khả thi khi hai nút tham gia có đồng hồđồng bộ.

Theo phương thức sử dụng nhãn thời gian thì MN sẽ phải thiết lập giá trị định danh của thông điệp đăng ký theo khuôn dạng 64 bit của giao thức NTP (Network Time Protocol). Trong đó, 32 bit thấp của khuông dạng NTP biểu thị

phần phân của thời gian tính theo giây, nếu các bit này không nhận được từ các nguồn thời gian thì chúng cần được sinh từ các nguồn ngẫu nhiên. Lưu ý rằng, khi

sử dụng nhãn thời gian cho trường định danh 64 bit trong thông điệp yêu cầu đăng ký của MN tới HA, trường định danh đó phải có giá trị lớn hơn giá trị trường định danh đã sử dụng trong các yêu cầu đăng ký trước đó bởi HA cũng sử dụng trường này như là số thứ tự (sequence number). Nếu không có số thứ tự, một bản yêu cầu

đăng ký bị trễ của một đăng ký trước đó có thể tới HA và sẽ được xử lý một cách nhầm lẫn, gây ra thay đổi trong địa chỉ COA đã đăng ký của MN.

Khi nhận được một thông điệp yêu cầu đăng ký có mở rộng xác thực, HA sẽ phải kiểm tra tính xác thực của trường định danh. Để đảm bảo tính đúng đắn, nhãn thời gian trong trường định danh phải có độ lệch với thời gian của HA trong khoảng giá trị cho phép; đồng thời nhãn thời gian đó phải lớn hơn tất cả các nhãn thời gian đã được chấp nhận của cùng MN đó.

Nếu nhãn thời gian là hợp lệ, HA sẽ chép toàn bộ trường định danh vào thông điệp trả lời đăng ký (registration reply) để trả lời MN. Nếu nhãn thời gian không hợp lệ, HA sẽ chỉ chép 32 bit thấp sang thông điệp trả lời yêu cầu và cung cấp 32 bit cao từ thời gian của chính nó. Trong thường hợp này, HA phải từ chối

đăng ký bằng cách trả lời MN với mã 133 (định danh không hợp lệ) trong thông

điệp trả lời đăng ký. Lúc đó, MN sẽ phải kiểm tra đểđảm bảo rằng 32 bit thấp trong trường định danh của thông điệp trả lời đăng ký là giống với 32 bit của thông điệp yêu cầu đăng ký MN đã gửi đi; sau đó MN sẽ dùng 32 bit cao của thông điệp trả lời

đểđồng bộ thời gian.

3.2.2. Chng tn công bng Nonces

Nguyên lý của phương pháp chống tấn công này là nút A sẽ gửi cho nút B một số ngẫu nhiên mới trong mỗi thông điệp gửi nút B, và kiểm tra rằng nút B trả

lại đúng số ngẫu nhiên đó trong thông điệp tiếp theo cho nút A. Cả hai thông điệp sử dụng một mã xác thực để chống việc làm thay đổi giá trị từ một kẻ tấn công.

Đồng thời, nút B có thể gửi các nonces của nó trong mọi thông điệp tới nút A, để

HA sẽ tính toán các số giả ngẫu nhiên (pseudo-random) và chèn vào 32 bit cao của trường định danh trong tất cả các thông điệp trả lời đăng ký. HA chép 32 bit thấp của trường định danh trong thông điệp yêu cầu đăng ký vào 32 bit thấp của trường định danh trong thông điệp trả lời đăng ký. Khi MN nhận được một trả lời

đăng ký chấp nhận (authenticated) từ HA, MN lưu 32 bit cao của trường định danh trong thông điệp trả lời để sử dụng cho 32 bit cao trong các thông điệp đăng ký tiếp theo.

MN sẽ chịu trách nhiệm sinh 32 bit thấp của trường định danh trong các thông điệp yêu cầu đăng ký. Một cách lý tưởng, MN sẽ tự tạo các nonce ngẫu nhiên. Tuy nhiên, MN có thể sử dụng các phương pháp thích hợp, bao gồm cả việc ghép đôi giá trị ngẫu nhiên nhận được từ HA. Phương pháp lựa chọn là tùy thuộc vào MN vì chính MN sẽ kiểm tra giá trị được trả lại trong thông điệp trả lời đăng ký. Giá trị 32 bit cao và 32 bit thấp của trường định danh nên khác với các giá trị

của chúng trước đó. HA sử dụng các giá trị 32 bit cao mới và MN sử dụng các giá trị 32 bit thấp mới cho mỗi thông điệp đăng ký.

Nếu một thông điệp đăng ký bị từ chối vì một nonce không hợp lệ, thông

điệp trả lời sẽ cung cấp cho MN một nonce mới để MN sử dụng cho đăng ký tiếp theo.

Một phần của tài liệu (LUẬN VĂN THẠC SĨ) Nghiên cứu giao thức Mobile IP và giải pháp bảo mật (Trang 78 - 81)

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

(121 trang)