Giải pháp DTLS xác thực và bảo mật cho các thiết bị tài nguyên yếu

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 90 - 95)

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

3.3. Giải pháp DTLS xác thực và bảo mật cho các thiết bị tài nguyên yếu

nguyên yếu

3.3.1. Triển khai giải pháp DTLS trên nền tảng Om2M

OneM2M cung cấp một nền tảng dịch vụ M2M ngang hàng để cĩ thể phát triển các dịch vụ một cách độc lập với các hạ tầng mạng phía dưới thuận tiện cho việc triển khai đồng thời các ứng dụng đặc thù trên cùng một mạng các thiết bị hỗn tạp như IoT. Các dịch vụ được cung cấp thơng qua kiến trúc RESTful cho phép các thiết bị IoT khơng đồng nhất cĩ thể yêu cầu và truy cập các dịch vụ một các đơn giản và hiệu quả. Chính vì vậy, các thiết bị hỗ trợ giao thức ứng dụng REST như HTTP hoặc CoAP cĩ thể dễ dàng tương thích với OM2M.

Kiến trúc theo chức năng của oneM2M được minh họa tại Hình 3.1 gồm ba thực thể chức năng chính phân theo ba tầng. Thứ nhất AE (Application Entity) là một thực thể đại diện cho một ứng dụng chuyên biệt trong các lĩnh vực khác nhau được cung cấp cho người dùng đầu cuối trong giải pháp M2M. Mỗi AE cĩ một định danh duy nhất là AE-IoT. Các ứng dụng như theo dõi các phương tiện giao thơng, ứng dụng giám sát lượng đường trong máu từ xa, ứng dụng giám sát mơi trường

hoặc ứng dụng điều khiển là các ví dụ tiêu biểu cho một AE. Thành phần chức năng thứ 2 trong kiến trúc oneM2M là CSE (Common Services Entity) là các thực thể đại diện cho một tập hợp các dịch vụ được chia sẻ chung trong oneM2M. Các dịch vụ như vậy kết nối với các thực thể khác thơng qua điểm tham chiếu Mca và Mcc. Điểm tham chiếu Mcn được sử dụng để truy cập dịch vụ mạng được cung cấp bởi các thực thể đại diện cho hạ tầng mạng ở phía dưới. Mỗi CSE cũng được xác định với một CSE-IoT duy nhất. Ví dụ về chức năng, dịch vụ được cung cấp bởi CSE bao gồm: quản lý dữ liệu, quản lý thiết bị, quản lý đăng ký M2M. Thực thể cuối cùng là thực thể NSE (Network Service Entity) cung cấp các dịch vụ từ hạ tầng mạng cơ sở cho các CSE.

OM2M là dự án mã nguồn mở của Eclipse, được khởi xướng bởi LAAS- CNRS được triển khai dựa trên các chuẩn oneM2M và Smart M2M [10]. OM2M được xây dựng bằng ngơn ngữ lập trình Java sử dụng Maven và Tycho theo kiến trúc mơ-đun dựa trên nền tảng OSGi. OM2M cung cấp các CSE linh hoạt cĩ thể dễ dàng triển khai trong một mạng M2M, một thiết bị hoặc một Gateway. Mỗi CSE gồm một tập hợp các plugin khác nhau mà trong đĩ mỗi một plugin sẽ cung cấp một chức năng cụ thể. Các plugin này cĩ thể điều khiển cài đặt, khởi tạo, dừng, cập nhập hay xĩa từ xa mà khơng yêu cầu hệ thống phải khởi động lại. Vì vậy, OM2M cung cấp khả năng mở rộng thơng qua các plugin và cĩ thể hỗ trợ các giao thức và các cơng nghệ khác [82]. Trong mỗi CSE cĩ một plugin CORE là plugin chính cung cấp một dịch vụ độc lập với các giao thức để xử lý các yêu cầu RESTful. OM2M cũng cho phép triển khai việc truyền dữ liệu bảo mật giữa các thực thể bằng giao thức HTTPS, TLS-PSK một cách dễ dàng với plugin jetty hoặc một số plugin khác. Bên cạnh đĩ, OM2M cũng hỗ trợ các thiết bị trong mạng giao tiếp với các thiết bị khác khơng thuộc OM2M một cách liền mạch thơng qua các proxy là IPUs (Interworking Proxy Units).

Hình 3.1. Kiến trúc mơ hình chuẩn và giao thức OneM2M

Hình 3.1.a: Chồng giao thức IoT theo OneM2M; 3.4.b: Kiến trúc OneM2M 3.3.2. Mơ hình đề xuất

TLS là một trong những giao thức bảo mật được dùng nhiều nhất hiện nay trong các ứng dụng web, mail, VoIP trên Internet. TLS được định nghĩa theo RFC 5246 [77], hoạt động ở tầng phiên (thiết lập kênh truyền sử dụng mật mã bất đối xứng) và tầng trình diễn (mã hĩa dữ liệu sử dụng mật mã đối xứng). Cùng với sự phát triển về chủng loại và số lượng thiết bị IoT, những ứng dụng dựa trên nền tảng UDP ngày càng trở nên phổ biến. Những ứng dụng này khơng phù hợp với TLS do một số nguyên nhân cơ bản. TLS giả thiết gĩi tin được gửi trên kênh truyền ổn định, vì vậy nĩ khơng thể thực hiện bắt tay nếu một trong các gĩi tin bắt tay bị mất. Trong TLS, việc giải mã bản tin N+1 phụ thuộc vào bản tin N. Sự phụ thuộc đĩ được được thể hiện thơng qua ngữ cảnh mã hĩa và số thứ tự được đính kèm trong mỗi bản tin.

DTLS được thiết kế tương tự như TLS, tuy nhiên, nĩ được thiết kế để phù hợp với ứng dụng sử dụng UDP và khắc phục các hạn chế của TLS. DTLS thiết lập bộ đếm thời gian ở cả phía máy chủ và máy khách. Nĩ thực hiện gửi lại các bản tin bị mất hoặc khơng nhận được khi bộ đếm thời gian hết hạn. Tuy nhiên, bộ đếm này khơng áp dụng với bản tin Hello Verify Request để tránh việc phải thiết lập trạng thái trên máy chủ. Các bản tin trong DTLS cĩ một thứ tự nhất định. Thứ tự này giúp máy chủ và máy khách xác định một bản tin nhận được cĩ phải bản tin chúng đang đợi. Nếu đúng, bản tin sẽ được xử lý. Trong trường hợp sai, bản tin sẽ được lưu lại để xử lý sau. Bản tin TLS và DTLS cĩ thể lớn (lên đến 224-1 byte) trong khi kích thước khung dữ liệu UDP bị giới hạn < 1500 byte. DTLS thực hiện chia dữ liệu

thành nhiều đoạn và đính kèm số thứ tự vào từng đoạn để phục vụ cho mục tiêu tổng hợp bản tin đã bị phân mảnh.

Mơ hình bảo mật cho hệ thống IoT theo chuẩn OneM2M, được áp dụng cho các hệ thống IoT với nhiệm vụ giám sát, theo dõi, thu thập thơng tin và tương tác với mơi trường thực tế thơng qua các hệ thống cảm biến. Các thiết bị cảm biến này là các thiết bị hạn chế về năng lượng, khả năng tính tốn và phân bố tại các vị trí khác nhau. Trên cùng một hệ thống IoT cĩ thể triển khai đồng thời nhiều ứng dụng tùy theo các yêu cầu đặc thù của từng lĩnh vực. Kiến trúc tổng quan của mơ hình được minh họa tại Hình 3.2. Hệ thống sẽ gồm ba thành phần chính theo kiến trúc chuẩn của oneM2M, phần thứ nhất là các ứng dụng chuyên biệt đầu cuối cho người dùng. Các ứng dụng này sẽ kết nối và truy cập các tài nguyên dịch vụ được cung cấp thơng qua CSE trong các IN (Infrastructure Node) và MN (Middle Node) của hệ thống M2M bằng RESTful API. Các node này sẽ nằm trên các máy chủ vật lý và kết nối với nhau thơng qua mạng core hay Internet. Trong một hệ thống M2M sẽ chỉ cĩ một IN đĩng vai trị máy chủ trung tâm và được kết nối đến nhiều MN máy chủ cục bộ tại các vị trí khác nhau. Phần thứ ba của hệ thống là các thiết bị cảm biến, cĩ nhiệm vụ thu thập thơng tin, theo dõi sự thay đổi của mơi trường thực tế và chuyển chúng thành các dữ liệu số. Các cảm biến trong cùng một khu vực sẽ được kết nối với một MN để các các tài nguyên của nĩ được cung cấp cho các ứng dụng hoặc người dùng đầu cuối thơng qua CSE trong phạm vi mạng nội bộ, và các MN này sẽ kết nối IN để dữ liệu và tài nguyên này được cung cấp trong một phạm vi rộng rãi thơng qua mạng M2M. Tuy nhiên do các cảm biến hay các thiết bị IoT này là các thiết bị hạn chế nên chúng sẽ giao tiếp với nhau thơng qua giao thức cho mạng năng lượng thấp. Vì vậy, để các thiết bị này cĩ thể giao tiếp với MN sẽ cần cĩ một Gateway trung gian ở giữa làm nhiệm vụ chuyển đổi thơng điệp giữa các giao thức. Trong Hình 3.2 cũng đặc tả chi tiết chồng giao thức được sử dụng trong các thành phần của hệ thống. Các thiết bị IoT sử dụng giao thức IEEE 802.15.4 tại tầng PHY/MAC cho kết nối tốc độ và năng lượng thấp và sử dụng giao thức 6LoWPAN tại tầng mạng để cho phép triển khai IPv6 trên các thiết bị này. Mặt khác, tuy hạ tầng mạng IPv6 đã sẵn sàng triển khai trong thực tế, nhưng hiện nay mạng Internet vẫn chủ yếu sử dụng IPv4. Chính vì vậy, để các thiết bị cảm biến cĩ thể kết nối đến

Internet và giao tiếp với các hệ thống khác trên Internet, thì các thiết bị này sẽ kết nối với các Gateway hỗ trợ cả hai chuẩn IEEE 802.15.4 và chuẩn Wifi (IEEE 802.11) hoặc Ethernet (IEEE 802.3), cùng cơ chế ánh xạ giữa địa chỉ IPv4 và IPv6.

Hình 3.2. Kiến trúc bảo mật cho hệ thống IoT theo chuẩn oneM2M

Để đảm bảo mật cho hệ thống thì việc bảo mật cho quá trình truyền nhận dữ liệu hay thiết lập bảo mật đầu cuối cho hệ thống là một yêu cầu bắt buộc. Trong mơ hình bảo mật của oneM2M, giao thức TLS được sử dụng để thiết lập kênh truyền bảo mật giữa các thực thể trong hệ thống. Tuy nhiên giao thức TLS sẽ khơng phù hợp cho việc truyền nhận dữ liệu an tồn giữa các thiết bị cảm biến với các node trong oneM2M vì sự hạn chế về năng lượng, tài ngun tính tốn của các thiết bị cảm biến. Trong mơ hình này, việc thiết lập kênh truyền bảo mật giữa các thiết bị cảm biến với các node trong mạng oneM2M sẽ dựa trên giao thức DTLS. Như đã trình bày ở trên, DTLS khơng được thiết kế cho các thiết bị IoT hạn chế nên mặc dù hiện nay cũng cĩ một số cơng trình nghiên cứu đề xuất các cơ chế tinh chỉnh và tối ưu DTLS cho các thiết bị IoT nhưng việc triển khai DTLS trên các thiết bị đĩ trong thực tế vẫn gặp rất nhiều khĩ khăn, đặc biệt là khi tích hợp DTLS với các giao thức khác như CoAP, 6LoWPAN. Những vấn đề gặp phải trong quá trình triển khai thực tế sẽ được trình bày chi tiết trong phần thực nghiệm và đánh giá.

Hình 3.3. Xây dựng Plugin để làm việc với giao thức DTLS

Trong phần MN của OM2M nghiên cứu xây dựng một Plugin để làm việc với giao thức DTLS, mơ tả được thể hiện thơng qua Hình 3.3. Module DTLS-Client là module dùng để giao tiếp với DTLS-Server trên sensor với kênh truyền bảo mật DTLS. Module DTLS-Client được viết bằng ngơn ngữ C, sau đĩ build ra file thực thi rồi đưa vào MN làm một module trong đĩ. DTLS-Client cĩ mở một TCP socket dùng để đưa dữ liệu giao tiếp với DTLS-Server ra mơi trường bên ngồi thơng qua chuẩn Socket, module TCP Socket cĩ nhiệm vụ làm cầu nối giữa OM2M với DTLS, module này sẽ giao tiếp với TCP Socket Server được mở trên DTLS-Server giúp việc kết nối trở nên dễ dàng và linh hoạt. Thành phần tiếp theo trong plugin ở MN đĩ là Data model, dữ liệu sau khi lấy từ DTLS-Client rồi chuyển sang TCP Socket sẽ được chuẩn hĩa theo cấu trúc đã được định nghĩa sẵn tại Data model.

Trong mơ hình thử nghiệm, các thiết bị được sử dụng trong mơi trường IoT là các thiết bị tài nguyên yếu, cần cĩ sự điều chỉnh các thơng số, thiết lập cấu hình và bổ sung module kết nối.

3.3.3. Thử nghiệm và đánh giá mơ hình an ninh DTLS

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 90 - 95)