Hệ mật Kích thước khối tin Độ dài khĩa Số vịng mã hĩa
KLEIN 64 bits 64 – 80 – 96 bits 12 – 16 – 20
LED 64 bits 64 - 128 bits 32 - 48
78
MINI-AES 64 bits 64 bits 10
MCRYPTON 64 bits 64 – 96 - 128 bits 12
KATAN 32 – 48 – 64 bits 80 bits
3.2.3. Các cơng trình tích hợp mã hĩa hạng nhẹ
Abhijan Bhattacharyya đã đề xuất ý tưởng kết nối song song giữa mã hĩa hạng nhẹ tầng phiên với giao thức DTLS [72]. Điều đặc biệt là tác giả đã loại bỏ cơ chế mã hĩa bất đối xứng trong giao thức DTLS vì quan niệm rằng mã hĩa hạng nhẹ cĩ thể làm thay vai trị của nĩ. Tác giả đã thí nghiệm với mạng quy mơ vừa và kết quả là giải pháp của tác giả vẫn đảm bảo mạng khơng bị cạn kiệt tài nguyên mà cĩ thể phịng chống một số loại hình tấn cơng giả mạo và nghe lén. Trong một cuộc khảo sát về an tồn thơng tin [73], Rana đã đề xuất mơ hình kết hợp mã hĩa hạng nhẹ Elliptic, giao thức DTLS cải tiến và cơ chế phịng chống tấn cơng DoS thơng qua Backup dữ liệu. Điều đặc biệt của giải pháp này là việc cải thiện giao thức DTLS theo cách tiếp cận giảm độ dài mã hĩa đi 40%, tương đồng với cách tiếp cận của tác giả luận án. Mã hĩa Elliptic cũng cĩ chung cách tiếp cận khi giảm độ dài khĩa đi 10%, từ đĩ giảm độ phức tạp trong tính tốn. Mặc dù vậy, nghiên cứu của tác giả chỉ dừng ở mức lý luận nên chưa thực hiện thí nghiệm.
Kết luận, việc tích hợp mã hĩa hạng nhẹ song song với giao thức DTLS nhằm tạo ra sự bảo vệ cho tồn bộ hệ thống WSN, cả mơi trường cảm biến cũng như Cổng kết nối đồng thời với giải pháp phịng chống tấn cơng DoS để tạo ra giải pháp an ninh tổng thể. Tuy vậy, điểm yếu cơng trình này là chưa cĩ một giải pháp tích hợp cả giao thức DTLS, mã hĩa hạng nhẹ và giải pháp phịng chống tấn cơng DoS thành một giải pháp an ninh về cả lý thuyết lẫn thực hành. Cơng trình [72] đã cĩ thành cơng bước đầu trong triển khai nhưng khơng tích hợp cơ chế chống tấn cơng DoS trong khi cơng trình [73]mới chỉ dừng ở mức độ lý thuyết, dù đã tích hợp cả giao thức DTLS, mã hĩa hạng nhẹ và giải pháp phịng chống tấn cơng DoS và thậm chí, cách tiếp cận về cải tiến giao thức DTLS tương tự với các cách cải tiến của tác giả luận án. Ngồi ra, cơng trình [72] vẫn cĩ mức độ tiêu thụ tài nguyên lớn, chưa áp dụng cho mạng quy mơ nhỏ. Luận án đã tận dụng cơ chế Overhearing đã nghiên cứu cùng với cách thức cải tiến giao thức DTLS bằng giảm độ dài mã hĩa đã thành cơng trong các cơng trình nghiên cứu trước. Về việc lựa chọn mã hĩa hạng nhẹ, do mã hĩa Elliptic từ cơng trình
79
[72] vẫn cĩ mức tiêu thụ tài nguyên lớn, việc cải tiến quá nhiều sẽ làm giảm độ mạnh của giao thức trong bảo mật, do đĩ, tác giả đã nghiên cứu và lựa chọn hàm Quark để cải tiến và tích hợp.
Hiện nay, các thiết bị IoT đang được ứng dụng và triển khai trong rất nhiều lĩnh vực gồm giám sát theo dõi mơi trường, hệ thống nhà thơng minh, thành phố thơng minh, hệ thống quản lý và điều khiển tự động hĩa trong cơng nghiệp, hệ thống quản lý IoT y tế, giám sát và chăm sĩc sức khỏe, … Trong mơi trường IoT, việc truyền thơng giữa máy-với-máy (M2M) là xương sống của hạ tầng mạng, các thiết bị giao tiếp với nhau để thu thập, lưu trữ và truyền tải thơng tin. Việc giao tiếp thơng thường được thực hiện thơng qua các chuẩn kết nối với một chồng giao thức chung như trong mạng Internet truyền thống các máy tính cĩ thể kết nối với nhau bằng các chuẩn Wifi (IEEE 802.11), Ethernet (IEEE 802.3) hoặc truyền thơng di động như 3G, LTE, Wimax, … nhưng đều sử dụng chung chồng giao thức TCP/IP.
Tuy nhiên, do yêu cầu về tính năng của sản phẩm như nhỏ gọn, di động, tiêu thụ điện năng thấp, truyền thơng tầm ngắn và yêu cầu phần cứng đặc biệt khác mà các nhà sản xuất IoT sử dụng các chuẩn kết nối mới như NFC, BLE, Zigbee, IEEE 802.15.4, LoRa, Sigfox,... để tích hợp vào sản phẩm của mình. Vì vậy IoT là sự kết nối của một tập các mạng khơng đồng nhất với nhau như WSN, WPAN, WLAN. Trong cùng một mạng, các thiết bị sẽ sử dụng chung một bộ giao thức để kết nối và trao đổi thơng tin và các mạng khác nhau sẽ giao tiếp thơng qua các Gateway trung gian cĩ nhiệm vụ chuyển đổi dữ liệu giữa các giao thức.
Hiện cĩ nhiều các cơng trình nghiên cứu đã được cơng bố, trong đĩ các tác giả đã tiến hành khảo sát và đưa ra bức tranh tổng thể IoT, từ các kiến trúc mạng cơ bản, sự phân mảnh của cơng nghệ và chuẩn giao thức kết nối cho đến các ứng dụng tiềm năng, các vấn đề tồn tại và thách thức cần giải quyết của IoT. Tuy nhiên, do vẫn chưa cĩ một bộ tiêu chuẩn tồn cầu thống nhất nên các nhĩm nghiên cứu, tổ chức khác nhau đã xây dựng, phát triển và đưa ra các bộ tiêu chuẩn riêng cho IoT. Các bộ tiêu chuẩn được sử dụng rộng rãi là AllSeen Alliance, OCF, OneM2M, Thread Group, IEEE P2413 Working Group, IETF, ISO/IEC, IIC [17]. Trong đĩ, bộ tiêu chuẩn oneM2M cho M2M và IoT của tổ chức OneM2M [38], ra đời năm 2012 dưới sự hỗ trợ của 8 tổ chức tiêu chuẩn tồn cầu (ARIB, ALTIS, ETSI, …) và 6 tập đồn cơng
80
nghiệp lớn (IoT&T, Adobe, Ericsson, IBM, …) cùng hơn 200 thành viên khác là được sử dụng rộng rãi và phổ biến nhất. OneM2M đề xuất các giao thức chuẩn cho IoT theo từng tầng của kiến trúc mạng. Các giao thức này bao gồm các giao thức mạng truyền thống và các giao thức mạng mới được phát triển cho “things” trong IoT. Minhaj Ahmad Khan và các cộng sự [37] đã chỉ ra trong một mạng IoT điển hình sẽ bao gồm các thiết bị khơng đồng nhất, trong đĩ bao gồm các thiết bị nhỏ gọn, hạn chế về năng lượng, tài nguyên tính tốn và bộ nhớ. Chính vì sự hạn chế về phần cứng, các thiết bị này giao tiếp với nhau thơng qua mạng cá nhân, khơng dây tốc độ thấp LR-WPAN và các giao thức mới được phát triển cho mạng năng lượng thấp LPWAN. Trong mạng LR-WPAN và LPWAN, các thiết bị sử dụng các giao thức được thiết kế để tiêu thụ ít năng lượng như giao thức IEEE 802.15.4 định nghĩa lớp vật lý – Physic và lớp điều khiển truy cập – MAC cho kết nối giao tiếp tầm ngắn (<100m), tốc độ thấp (<250kps), tiêu thụ năng lượng ít (thời gian hoạt động tính theo tháng hoặc năm), nhỏ gọn (kích thước chồng giao thức <32kb) phù hợp với các thiết bị IoT trong các ứng dụng giám sát và điều khiển. Trước đây, việc mở rộng IP cho mạng LPWPAN được xem là khơng thực tế vì các mạng đĩ bị hạn chế về khả năng xử lý và phải hoạt động bằng pin trong một thời gian dài. Tuy nhiên, sự ra đời của giao thức 6LoWPAN đã tạo ra một lớp thích ứng cho phép giao tiếp hiệu quả IPv6 trên chuẩn IEEE 802.15.4, 6LoWPAN đề xuất một cơ chế nén tiêu đề gĩi tin và cơ chế phân mảnh IPv6 datagram để truyền được gĩi tin IPv6 trong các mạng khơng dây sử dụng chuẩn kết nối IEEE 802.15.4 với MTU chỉ 127 byte. IPv6 với số lượng địa chỉ gần như khơng giới hạn cho phép mỗi một thiết bị trong IoT được định danh bởi một địa chỉ duy nhất. Các giao thức tầng ứng dụng truyền thống như HTTP và HTTPS khơng phù hợp để triển khai trên các thiết bị IoT do hạn chế về kích thước của gĩi tin của chuẩn IEEE 802.15.4 cũng như hạn chế về tài nguyên tính tốn.
Tổ chức IETF đã xây dựng giao thức CoAP, một giao thức ứng dụng tương tự HTTP những đã được tối ưu cho các thiết bị IoT. Giao thức CoAP được đĩng gĩi trong giao thức UDP của tầng giao vận và tương thích với giao thức 6LoWPAN. Tuy nhiên, với việc UDP thiếu tính tin cậy và các gĩi tin cĩ thể mất mát trong quá trình truyền tin nên để cĩ thể đảm bảo an tồn và bảo mật cho quá trình truyền tin các thiết bị này phải sử dụng giao thức DTLS.
81
Bên cạnh CoAP, trong chuẩn OneM2M cũng sử dụng giao thức MQTT (Message Queuing Telemetry Transport) [37] cho quá trình trao đổi thơng điệp giữa M2M và các thiết bị IoT. MQTT là một giao thức gửi thơng điệp theo cơ chế publish/subscribe với băng thơng thấp, độ tin cậy cao và khả năng được sử dụng trong mạng lưới khơng ổn định.
Chuẩn oneM2M cho phép xây dựng một nền tảng kết nối M2M để các ứng dụng trong các lĩnh vực khác nhau được triển khai độc lập khơng bị phụ thuộc vào tầng mạng phía dưới, phát triển các dịch vụ ngang hàng (CSE - Common Service Capability) thay vì các triển khai các dịch vụ riêng lẻ trên một hạ tầng mạng IoT độc lập với nhau.
Việc đảm bảo an tồn bảo mật cho tồn bộ hệ thống hay việc cĩ thể triển khai các cơ chế bảo mật giữa các thiết bị khơng đồng nhất trong hệ thống vẫn là một thách thức lớn, đặc biệt khi triển khai trên các thiết bị trong mơi trường thực tế. Các tác giả [74] đã đề xuất các cơ chế nén tiêu đề DTLS trên 6LoWPAN để giảm kích thước của các gĩi tin DTLS cho phép tích hợp được CoAP, DTLS trên các thiết bị IoT. Tuy nhiên các tác giả khơng tiến hành đánh giá hiệu năng của các giao thức này trên một thiết bị thực tế nên khơng cho thấy được tính khả thi của cơ chế đề xuất. Perelman và Glissa [75] đã triển khai các giao thức TLS/DTLS trên Contiki OS, hệ điều hành cho các thiết bị IoT. Các tác giả đã đánh giá việc triển khai các giao thức này trên các thiết bị thực tế, tuy nhiên các thử nghiệm chỉ giới hạn trong phạm vi kết nối giữa 2 nút mạng sử dụng giao thức 6LoWPAN mà khơng đánh giá trong ngữ cảnh của một ứng dụng cụ thể. Diogo và các cộng sự [76] đã đề xuất hệ thống giám sát theo thời gian thực dựa trên chuẩn oneM2M với giao thức MQTT và triển khai đánh giá trên các thiết bị thực tế, tuy nhiên hệ thống đề xuất lại thiếu các cơ chế bảo mật cần thiết. Hiện cĩ nhiều sự quan tâm trong việc tối ưu hĩa DTLS trong mơi trường IoT, và cũng tiến hành thử nghiệm khả năng thực hiện DTLS sử dụng 6LoWPAN và CoAP [77][80]. Tính năng khác nhau của giao thức đã được xác định là đặt ra thách thức đối với việc áp dụng các DTLS trong mơi trường hạn chế.
Như đã trình bày trong [81], hạn chế DTLS đĩ là khơng thể hỗ trợ truyền thơng multicast, trong đĩ sẽ được yêu cầu an tồn truyền thơng trong nhiều mơi trường IoT,
82
CoAP cũng sẽ yêu cầu cơ chế tạo nhĩm khĩa thích hợp hỗ trợ việc thành lập khĩa phiên thích hợp của những thiết bị khác nhau tham gia.
Trong phần này, luận án giới thiệu mơ hình bảo mật cho IoT dựa theo chuẩn oneM2M và đề xuất áp dụng mơ hình này trong hệ thống hỗ trợ giám sát và theo dõi sức khỏe của bệnh nhân bằng các cảm biến IoT y tế. Hệ thống được triển khai dựa trên nền tảng mã nguồn mở OM2M và sử dụng bộ giao thức TLS/DTLS để đảm bảo an tồn cho việc truyền nhận dữ liệu điều khiển và các thơng tin IoT y tế giữa các thiết bị cảm biến và các ứng dụng quản lý.
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
83
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
84
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.