3.1.2 Cơ chế quản lý khóa
i. Khởi tạo khóa
Là q trình tính tốn các cặp khóa mới cho mục đích bảo mật. Trong thiết kế của giao thức bao gồm cả việc tạo cặp khóa cơng khai/ khóa cá nhân cho chữ ký số. Q trình tạo khóa được thực hiện tại mỗi nút. Sau khi tạo khố, nút giữ khóa riêng và
thơng báo khóa cơng khai trong một bản tin quảng bá cho hàng xóm để phản hồi một thơng báo mời hàng xóm và sau khi xác minh các hàng xóm của nó.
ii. Quản lý khóa
Giao thức SZRP thiết kế dựa trên khái niệm quản lý khóa dựa trên danh tính. Ý tưởng cơ bản là sử dụng một định danh có ràng buộc mã hố mạnh với khóa cơng khai. Nó được gọi là “Mã nhận dạng duy nhất (UI)”. Định danh này nên được sở hữu và sử dụng độc quyền bởi nút tạo ra. Mã nhận dạng duy nhất (UI) gồm có sự kết hợp của địa chỉ IP và giá trị băm của khố cơng khai được bảo mật bởi vì kẻ tấn cơng khơng thể sản xuất ra một cặp khóa mới có cùng giá trị băm, hoặc khám phá khóa riêng cho khố cơng khai nhất định. Sau khi xác định được giá trị UI, cơ chế quản lý khóa được thực hiện như sau:
Nút di động gửi thơng điệp cập nhật ràng buộc MSG1 có chứa UI cùng một giá trị ngẫu nhiên do nó sinh ra đến nút tương ứng của nó.
Nút tương ứng trả lời với MSG2 chứa cùng giá trị ngẫu nhiên được tạo ra bởi nút di động.
Khi nhận MSG2, nút di động xác minh rằng giá trị ngẫu nhiên là giống những gì nó đã được gửi trong MSG1. Nó sẽ gửi MSG3 có chứa khóa cơng khai của nó và dấu hiệu được sử dụng để tạo ra mã nhận dạng duy nhất (UI). Bản tin này được ký bởi khóa cá nhân của nút di động.
Khi nút tương ứng nhận được MSG3, nó sẽ kiểm tra chữ ký sử dụng khóa cơng khai được bao gồm, và xác minh rằng khóa cơng khai và dấu hiệu này sẽ tạo ra cùng một giá trị 32 bit của UI. Khi bản tin qua hai lần kiểm tra, nó kết luận rằng nút di động sở hữu địa chỉ này và khố cơng khai. Nút tương ứng lưu trữ địa chỉ và khóa của nút di động để sử dụng trong các cơ chế tiếp theo.
Cơ chế quản lý khóa đề xuất là hiệu quả vì các nút có thể tin cậy các nút tương ứng khi chúng yêu cầu quyền sở hữu của định danh đó. Nó cũng sẽ khơng làm tăng sự phức tạp của mạng vì:
Khơng phải tất cả các nút đều phải sử dụng cơ chế này, mà chỉ có những nút muốn thực hiện cập nhật liên kết.
Không phải tất cả các nút đều cần phải xác minh MSG3, mà chỉ có những nút muốn chấp nhận cập nhật liên kết.
Các tin nhắn được trao đổi trực tiếp giữa nút di động và các hàng xóm của nó mà khơng được chuyển đến các nút khác.
3.1.3 Phát hiện hàng xóm an tồn
Việc thiết lập hàng xóm giữa các nút được thực hiện thông qua các bản tin Hello. Bản tin Hello được sử dụng để phát hiện và giám sát liên kết với hàng xóm. Mỗi nút hoạt động sẽ phát quảng bá định kỳ một bản tin Hello cho tất cả các hàng xóm của nó. Vì các nút gửi định kỳ các bản tin Hello, nếu một nút không nhận được các bản tin Hello từ một hàng xóm, một lỗi liên kết được phát hiện. Các nút cần một cái nhìn chính xác về thông tin láng giềng. Giao thức phát hiện hàng xóm NDP được sử dụng rộng rãi. Tuy nhiên, nó có thể dễ dàng bị tấn cơng do thiếu bảo vệ. Một nút độc hại có thể dễ dàng chuyển tiếp hoặc phát lại các gói tin sai tới các nút khác mà chúng giao tiếp trực tiếp. Nhiều phương pháp đã được đề xuất để bảo vệ thông tin láng giềng trong mơi trường khơng an tồn. Tuy nhiên, những phương pháp này chỉ có thể bảo vệ mối quan hệ láng giềng giữa các nút an toàn trong khi các nút bị tổn thương có thể dễ dàng phá hoại chúng và thiết lập mối quan hệ giả.
Giao thức SZRP sử dụng kết hợp của hai kỹ thuật dựa trên thời gian và vị trí dựa trên các cơ chế phát hiện hàng xóm an tồn. Giao thức dựa trên thời gian, yêu cầu các nút truyền các tin nhắn xác thực có chứa một tập tem thời gian tại thời điểm gửi đi. Một nút đòi hỏi phải gửi các bản tin xác thực có chứa một bộ tem thời gian tại thời điểm gửi và vị trí của chúng. Khi nhận được một thông báo như vậy được gửi từ một nút B, người nhận A tính hai ước tính, ước tính đầu tiên được dựa trên sự khác biệt của đồng hồ của nó tại thời gian tiếp nhận và tem thời gian của tin nhắn. Ước tính thứ hai được tính tốn với sự trợ giúp của vị trí. Nếu hai ước lượng khoảng cách bằng nhau, A chấp nhận B như một hàng xóm.
Đề xuất an toàn trên giao thức khám phá hàng xóm NDP bao gồm ba vòng. Trong vòng đầu tiên, các nút truyền phát một bản tin Hello với vị trí của nó, thời gian gửi và phần xác thực cho biết vị trí và thời gian gửi được xác thực bởi nút A. Quá trình xác thực được thực hiện bằng cách sử dụng chữ ký số với khóa cá nhân của nút A. Khi nhận gói tin ở vịng thứ hai, người nhận tính tốn khoảng cách sử dụng các giá trị vị trí lưu trữ trong gói tin và thời gian truyền, sau đó so sánh các kết quả thu được với phạm vi truyền. Nếu hai ước tính khoảng cách bằng nhau, nó sẽ xác minh
chữ ký. Một khi chữ ký được xác minh, B chấp nhận A là hàng xóm, đánh dấu gói tin và trả lời với một thông báo xác nhận. Khi nút A nhận được thơng báo xác nhận nó so sánh giá trị vị trí của nút A (thu được bằng cách sử dụng GPS) với tín hiệu phát, nếu hai giá trị bằng nhau, nó xác minh chữ ký của gói nhận được sử dụng khóa cơng khai của B. Nếu q trình xác minh được kiểm tra chính xác, nút A chấp nhận B như là một hàng xóm và cập nhật tồn bộ bảng của nó bằng cách gán một giá trị bằng 0 cho mức tin cậy của nút B.
3.1.4 Bảo vệ các gói tin định tuyến
Trong giao thức SZRP, sử dụng cả chữ ký số và hàm băm một chiều để đạt được chứng thực bản tin và tính tồn vẹn của thơng tin định tuyến. Mục đích là để phát hiện ra các thơng điệp định tuyến giả mạo.Trong SZRP có gói tin định tuyến chủ động và gói tin định tuyến theo yêu cầu. Sau đây sẽ trình bày cách bảo vệ gói tin định tuyến trong từng phần.
Định tuyến bảo mật nội vùng
Để cung cấp tính xác thực gói tin và tính tồn vẹn của bản tin trong các gói tin định tuyến nội vùng IARP, chữ ký số sử dụng thuật toán RSA được sử dụng. Định dạng của một gói tin IARP được thể hiện như trên hình 3.2.
Tất cả các trường được làm bóng trong gói sẽ được ký với khóa riêng của người gửi sử dụng thuật tốn RSA. Chữ ký được thêm vào trong các gói tin trước khi gửi đến hàng xóm của nó. Chữ ký này sẽ cung cấp tính xác thực và tính tồn vẹn của người gửi và gói tương ứng.