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.
Về phần nội dung các thơng điệp trong cả hai giai đoạn của CurveCP. Ký hiệu 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.