Tổng quan về CurveCP

Một phần của tài liệu Luận án nghiên cứu phát triển giải pháp nâng cao an toàn trong mạng internet of things (Trang 103 - 107)

3. SỬ DỤNG MÃ HĨA NHẸ CHO CÁC THIẾT BỊ IOT TÀI NGUYÊN YẾU

3.4. Triển khai CurveCP trên mạng WSN

3.4.1. Tổng quan về CurveCP

Như đã trình bày ở trên, các cuộc tấn cơng nghe lén vào tính bảo mật và các cuộc tấn cơng giả mạo vào tính tồn vẹn của thơng tin gây ra nhiều thiệt hại cho hệ thống mạng IoT về cả tài chính lẫn niềm tin. Trước tình hình đĩ, các nhà khoa học đã thiết kế các giao thức bảo mật dành riêng cho các thành phần trong mạng IoT và một trong số đĩ là giao thức mã hĩa CurveCP. Giao thức CurveCP đã được giới thiệu vào năm 2011 [30] và đã qua nhiều lần cải tiến và hồn thiện về mặt lý thuyết. Mặc dù vậy, chưa cĩ một nghiên cứu nào cĩ thể cài đặt hồn chỉnh giao thức này và thí nghiệm

với một mơ hình mạng cĩ thật trong thực tế. Về mặt lý thuyết, việc triển khai một mơ hình phụ trợ đặc biệt là các mơ hình bảo mật cĩ cơ chế mã hĩa luơn luơn tạo ra sự tiêu thụ rất nhiều tài nguyên, ảnh hưởng đến hoạt động mạng IoT và thậm chí cĩ thể làm ngưng trệ tồn mạng. Chính vì lẽ đĩ, phần nghiên cứu này tập trung vào điều chỉnh và cài đặt mã nguồn của giao thức CurveCP trên mơ phỏng hoạt động IoT ở hệ điều hành Contiki OS để so sánh hiệu năng mạng đã cài đặt giao thức CurveCP với mạng chưa cài đặt giao thức CurveCP và từ đĩ đánh giá tính khả thi của việc cài đặt CurveCP trên mạng IoT.

CurveCP là một giao thức bảo mật kết hợp mã hĩa, sử dụng mật mã Elliptic Curve Cryptography, với sự gọn nhẹ, linh hoạt, độ an tồn tương đối tốt thơng qua các cơ chế mã hĩa, phù hợp với mơi trường IoT. Vị trí cài đặt của giao thức CurveCP được mơ tả như Trong Hình 3.6.

Hình 3.6. Vị trí cài đặt của Giao thức CurveCP

Từ Hình 3.6, dễ dàng nhận ra giao thức CurveCP được chia làm hai phiên bản là CurveCP Server dành cho một nút Sink cĩ vai trị tập hợp dữ liệu và CurveCP Client dành cho các nút Sensor. Giao thức CurveCP kiểm sốt đường truyền của mỗi nút mạng IoT, mọi dữ liệu đi ra và vào các nút mạng này đều được CurveCP bắt chặn gĩi tin để tiến hành mã hĩa – giải mã trước khi được xử lý bởi nút mạng.

a. Cơ chế mã hĩa trong CurveCP

Giao thức CurveCP tuân theo cơ chế mã hĩa dịng (Stream-Cipher), sử dụng trên tầng Ứng dụng của mạng IoT. CurveCP cĩ 4 đặc điểm quan trọng gồm những đặc điểm sau:

- Thứ nhất, giao thức CurveCP dùng cho cơ chế Client – Server và chỉ tập trung vào bảo vệ máy chủ Server.

- Thứ hai, giao thức CurveCP sử dụng cơ chế khĩa bất đối xứng bao gồm khĩa cơng khai (Public key) và khĩa mật (Secret key). Cơ chế này cho phép kết hợp mã hĩa với xác thực dữ liệu thơng qua một Hộp mã hĩa (Cryptography Box) mà chỉ chức năng mã hĩa hoặc giải mã bằng các khĩa riêng biệt. Chính vì thế, ưu điểm của giao thức mã hĩa CurveCP là kết hợp giữa xác thực và mã hĩa thơng qua hàm Box nên chi phí tính tốn thấp hơn.

- Thứ ba, giao thức CurveCP phân phối khĩa theo cơ chế khĩa phiên – khĩa chính. Khĩa chính sử dụng cĩ tần suất thay đổi rất thấp nhưng yêu cầu bảo mật cao cịn khĩa phiên thì được ánh xạ từ khĩa chính, thời gian sử dụng ngắn và được sử dụng thường xuyên nên khơng cĩ tính bảo mật cao như khĩa chính. Việc điều phối hoạt động giữa khĩa chính và khĩa phiên do một đoạn mã Thơng báo điều phối (Nonce) quyết định. Trong việc trao đổi dữ liệu, chỉ cĩ khĩa phiên cơng khai, định danh và Nonce là nằm ở bản rõ, cịn tất cả những thơng số cịn lại đều phải được mã hĩa thơng qua các khĩa phiên cơng khai của cả Server và Client. Ngồi ra, điều đặc biệt của Hộp mã hĩa trong CurveCP cĩ thể sử dụng khĩa phiên để mà hĩa và khĩa chính để giải mã hoặc ngược lại và phải đi kèm với Nonce.

- Cuối cùng, giao thức CurveCP sử dụng bộ đệm (Cookies) mà chỉ cĩ Server cĩ thể đọc được và Server cĩ sở hữu một khĩa đối xứng được gọi là khĩa siêu mật để mã hĩa và giải mã Cookies đĩ.

Trong cơ chế mã hĩa ở Giao thức CurveCP, Giao thức trao đổi khĩa là nhân tố quan trọng làm lên thành cơng của bộ mã hĩa này. Giao thức này được chia làm 2 giai đoạn: Khởi tạo và Truyền tin. Hình 3.7 mơ tả tổng thể giao thức trao đổi khĩa mã hĩa trong CurveCP.

Hình 3.7. Cơ chế trao đổi khĩa trong giao thức CurveCP.

như sau: Client sở hữu khĩa chính cơng khai C(P), khĩa chính mật C(S), khĩa phiên cơng khai C’(P) và khĩa phiên mật C’(S); Server sở hữu khĩa chính cơng khai S(P), khĩa chính mật S(S), khĩa phiên cơng khai S’(P) và khĩa phiên mật S’(S); Nonce sẽ được ký hiện là N(x) trong đĩ x là khĩa cần xác thực; B(x) là bản mật của bản rõ x được mã hĩa đối xứng bằng Box B. Nếu x quá dài và đã được đề cập thì cĩ thể ký hiệu tắt là B(…) trong đĩ B là tên của Box; s(x) là bản mật của bản rõ x được mã hĩa phi đối xứng bằng khĩa siêu mật của Server. Nếu x quá dài và đã được đề cập thì cĩ thể ký hiệu tắt là s(…); 0 là các bit 0 và Data là dữ liệu.

Bảng 3.6 sẽ chỉ ra thành phần thơng điệp trong giai đoạn 1: Khởi tạo.

Bảng 3.6. Thành phần thơng điệp trong của giao thức CurveCP

Thơng điệp Bên gửi Bên nhận Nội dung

Hello Client Server Hello(0), C’(P), N(C’(P)) Cookies Server Client Cookies(s(C’(P), N(C’(P)), S’(S), N(S’(S))), S’(P)), N(S’(P)) Initiate Client Server s(C’(P),N(C’(P)), S’(S), N(S’(S)), Initiate(Vouch(C’(P), S’(P)), C(P)), N(C’(P)) Ở giai đoạn 2: Trao đổi dữ liệu, cho dù là Server gửi Client hay Client gửi Server, thơng điệp hai bên sẽ như sau: Client gửi Server: CMessage(Data), N(C’(P)), Server gửi Client: SMessage(Data), N(S’(P)). Bảng 3.7 sẽ chỉ rõ hoạt động của từng Box trong giao thức CurveCP.

Bảng 3.7. Hoạt động của Box trong giao thức CurveCP

Box Vị trí Mã hĩa Giải mã Nội dung bản rõ

Hello Client C’(S) S(P) 0

Cookies Server S’(S) C’(P) s(…), S’(S), N(S’(P)

Vouch Client C(S) S’(P) C’(P), S’(P)

Initiate Client C’(P) S’(S) V(…), C(P)

CMessage Client C’(P) S’(S) Data

SMessage Server S’(P) C’(S) Data

Mã hĩa CurveCP sử dụng nguyên tắc: “Khĩa mã hĩa và khĩa giải mã khơng đến từ cùng một bên cung cấp”. Cĩ nghĩa là Box chỉ được mã hĩa bằng khĩa của bên

gửi và giải mã bằng khĩa của bên nhận. Ưu điểm của phương pháp này là cho phép phục vụ mục đích xác thực và bảo mật thơng tin. Bởi vì Box chỉ được giải mã bằng khĩa phiên mật của bên nhận nên sự an tồn được đảm bảo trong khi, trong giao thức phân phối khĩa, chỉ cĩ bên nhận cĩ được khĩa phiên cơng khai của bên gửi nên sẽ đảm bảo chỉ cĩ bên nhận mới mã hĩa được thơng điệp đĩ.

Như vậy giao thức CurveCP sử dụng một cơ chế mã hĩa kết hợp xác thực và mã hĩa dữ liệu nhằm tiết kiệm cơng suất tính tốn cho mạng IoT nhưng vẫn đảm bảo mục đích chính là giúp mạng IoT nâng cao khả năng phịng chống các cuộc tấn cơng nghe lén và giả mạo dữ liệu nâng cao sự an tồn trong tính tồn vẹn và tính bảo mật của dữ liệu.

b. Điều chỉnh giao thức CurveCP

Các điều chỉnh này sẽ diễn ra trên cả ba loại thơng điệp bao gồm Thơng điệp Hello, Thơng điệp Cookies và thơng điệp Initiate. Cụ thể, tất cả 8 khĩa (mỗi nút 4 loại khĩa) bao gồm các khĩa như đã ký hiệu trên Bảng 3.3 bao gồm C(P), C(S), C’(P), C’(S) ở Client và S(P), S(S), S’(P) S’(S) ở Sever đều cĩ độ dài là 32 bit, sẽ được giảm xuống cịn 16 bits.

Cụ thể, tất cả 8 khĩa (mỗi nút 4 loại khĩa) bao gồm các khĩa như đã ký hiệu trên Bảng 3.4 bao gồm C(P), C(S), C’(P), C’(S) ở Client và S(P), S(S), S’(P) S’(S) ở Sever đều cĩ độ dài là 32 bits, sẽ được giảm cịn 16 bit. Với việc giảm như vậy, thời gian tính tốn của từng lần mã hĩa trong thuật tốn sẽ ít hơn, mặc dù vậy các điều chỉnh này cũng làm độ bảo mật của giao thức CurveCP bị giảm đi do độ dài khĩa ngắn sẽ khiến cho nguy cơ bị tấn cơng vét cạn thành cơng trở nên lớn hơn. Mặc dù vậy rõ ràng là mục tiêu của giao thức bảo mật như CurveCP, ngồi bảo vệ an tồn dữ liệu, cịn phải đảm bảo hiệu năng hoạt động của mạng IoT và vai trị của giao thức bảo mật sẽ là vơ nghĩa nếu hoạt động của giao thức đĩ làm mạng bị ngưng trệ và khơng đạt u cầu hiệu năng. Chính vì lý do đĩ, việc đánh đổi giữa độ mạnh trong tính bảo mật của giao thức CurveCP với độ tiêu thụ tài nguyên của giao thức này trong tồn hoạt động mạng IoT là cần thiết.

Một phần của tài liệu Luận án nghiên cứu phát triển giải pháp nâng cao an toàn trong mạng internet of things (Trang 103 - 107)

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

(150 trang)
w