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.2. Thử nghiệm triển khai CurveCP với các điều chỉnh
Hệ điều hành Contiki cĩ những ưu điểm nổi trội, đã được triển khai với nhiều nghiên cứu khoa học khác nhau nên cĩ đầy đủ cơ sở hạ tầng, tài nguyên để thực hiện,
do đĩ để đảm bảo tính tối ưu, do vậy luận án tiếp tục sử dụng hệ điều hành này để mơ phỏng giải pháp CurveCP.
Thư viện mã nguồn “curvecp” về giao thức CurveCP trên hệ điều hành Contiki OS được viết bởi Jan Mojzis trong dự án phát triển cơ chế Tiny SSH cho mạng IoT với việc kế thừa các giao thức bảo mật trong Networking and Cryptography library (NaCl) cũng do nhĩm nghiên cứu của Daniel J. Bernstein thiết kế. Do giao thức này sử dụng thư viện MUSL được phát triển bởi Rich Felker vào năm 2011 [84], nên việc cần làm đầu tiên là cài đặt thư viện MUSL cũng như tồn bộ tham chiếu đến thư viện này trong Hệ điều hành Contiki OS sẽ mơ phỏng mạng IoT. Việc cài thư viện MUSL bao gồm 2 bước là tải thư viện mã nguồn “musl” về và cấu hình trên hệ điều hành Contiki OS.
Giao thức này chỉ hoạt động bên trong mơi trường mơ phỏng mạng IoT nên phải tiếp tục tải thư mục “contiki-master” chứa các mã nguồn mơ phỏng hoạt động nút mạng IoT trong thực tế cũng như mơi trường thí nghiệm Cooja. Mã nguồn “curvecp” sẽ được cài đặt trong thư mục “apps” của “contiki” vì đây là thư mục lưu trữ các giao thức bên ngồi bổ trợ cho mạng IoT. Ngồi ra, vì cĩ hai kịch bản là kịch bản CurveCP cĩ điều chỉnh giảm độ dài mã, và kịch bản CurveCP thơng thường khơng cĩ tùy biến, nên cần sao lưu thành hai thư mục giống nhau là “curvecp” và “improved-curvecp”. Với những kịch bản điều chỉnh trên giao thức CurveCP thì việc giảm độ dài mã khĩa sẽ được diễn ra trên file cấu hình “crypto-
block.IoT” trong thư mục “src” ở thư mục “improved-curvecp” (mã lệnh được mơ tả
trong Phụ lục Hình 10 (PL)).
Sau khi đã cài đặt xong thì việc cuối cùng là cài đặt tham chiếu lên kịch bản mơ phỏng nằm ở file “project-conf.IoT” trong thư mục “rpl-udp” cĩ đường dẫn “contiki-master/examples/ipv6/” bằng cách thêm vào tham chiếu sau:
Với CurveCP nguyên bản: APPS += curvecp
Với CurveCP cĩ điều chỉnh: APPS += improved-curvecp
Ngồi ra, cũng cần lưu ý rằng giao thức CurveCP cĩ hai phiên bản riêng biệt: một dành cho Server và một dành cho Client. Trước các tệp cấu hình thơng số nút mạng phải thêm dịng mã nguồn tham chiếu đến phiên bản của giao thức CurveCP.
Cụ thể, ở file “sink-node.c” nút Server thêm dịng: initiate_server_curvecp(); 97
File “sensor-node.c”, nút Client thêm dịng: initiate_server_curvecp().
Sau quá trình cấu hình thì cấu hình tồn bộ phục vụ giao thức CurveCP đã hồn thành. Cơng việc tiếp theo là xây dựng mơ hình và kịch bản thí nghiệm.
Mục tiêu của thí nghiệm là cho thấy sự khả thi trong triển khai giao thức CurveCP vào mạng IoT mơ phỏng, cho thấy hoạt động của giao thức CurveCP khơng gây ảnh hưởng lớn về tốc độ, hiệu năng thơng thường và mạng IoT vẫn hoạt động bình thường. Sẽ cĩ 3 tình huống trên cùng mơ hình mạng IoT là kịch bản cĩ cài giao thức CurveCP điều chỉnh và kịch bản khơng cài giao thức CurveCP, cài đặt CurveCP nguyên bản, từ đĩ sẽ dễ dàng so sánh và đối chiếu giữa các trường hợp với nhau, thời gian là mỗi tình huống là 60 phút.