1. Trang chủ
  2. » Luận Văn - Báo Cáo

Luận văn thạc sĩ Kỹ thuật viễn thông: Thiết kế và triển khai framework bảo mật đa lớp cho mạng 6lowpan/ipv6

94 0 0
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Nội dung

Trang 1

TRƯỜNG ĐẠI HỌC BÁCH KHOA

Trang 2

Cán bộ hướng dẫn khoa học : TS Võ Quế Sơn

Cán bộ chấm nhận xét 1 : TS Trịnh Xuân Dũng

Cán bộ chấm nhận xét 2 : PGS TS Võ Nguyễn Quốc Bảo

Luận văn thạc sĩ được bảo vệ tại Trường Đại học Bách Khoa, ĐHQG Tp HCM ngày 04 tháng 07 năm 2022

Thành phần Hội đồng đánh giá luận văn thạc sĩ gồm: 1 Chủ tịch: GS.TS Lê Tiến Thường

2 Thư ký: PGS.TS Trần Trung Duy 3 Phản biện 1: TS Trịnh Xuân Dũng

4 Phản biện 2: PGS.TS Võ Nguyễn Quốc Bảo 5 Uỷ viên: PGS.TS Đỗ Hồng Tuấn

Xác nhận của Chủ tịch Hội đồng đánh giá LV và Trưởng Khoa quản lý chuyên ngành sau khi luận văn đã được sửa chữa (nếu có)

CHỦ TỊCH HỘI ĐỒNG TRƯỞNG KHOA ĐIỆN – ĐIỆN TỬ

GS.TS Lê Tiến Thường

Trang 3

NHIỆM VỤ LUẬN VĂN THẠC SĨ

Ngày, tháng, năm sinh: 14/12/1997 Nơi sinh: BR-VT Chuyên ngành: Kỹ thuật Viễn Thông Mã số : 8520208

I TÊN ĐỀ TÀI:

Thiết Kế Và Triển Khai Framework Bảo Mật Đa Lớp Cho Mạng 6lowpan/Ipv6 Design and Implementation of Multi-Layer Security Framework for 6lowpan/Ipv6 Network

II NHIỆM VỤ VÀ NỘI DUNG

1 Nắm rõ các giao thức ngăn xếp/lớp được phát triển trong hệ điều hành Contiki OS 2 Nghiên cứu các phương pháp tấn công vào hệ thống IOT hiện nay

3 Nghiên cứu các phương pháp bảo mật đa lớp (lớp application và lớp link)

4 Triển khai hệ thống, ghi nhận kết quả được mô phỏng trên phần mềm Cooja Simulator 5 Triển khai hệ thống, ghi nhận kết quả trên thiết bi thực tế

III NGÀY GIAO NHIỆM VỤ: 14/02/2022

IV NGÀY HOÀN THÀNH NHIỆM VỤ: 06/06/2022

V CÁN BỘ HƯỚNG DẪN (Ghi rõ học hàm, học vị, họ, tên): TS Võ Quế Sơn

Trang 4

LỜI CẢM ƠN

Trước tiên, em xin gửi lời cảm ơn chân thành đến thầy TS Võ Quế Sơn, người hướng dẫn em thực hiện luận văn này Thầy đã truyền đạt những hiểu biết, kinh nghiệm; cung cấp các tài liệu cần thiết và giải đáp những thắc mắc, vấn đề mà em gặp phải trong quá trình làm luận văn Sự tận tình và quan tâm của Thầy chính là động lực để em cố gắng nghiên cứu và học tập Một lần nữa, em xin bày tỏ lòng biết ơn sâu sắc đến thầy

Tiếp theo, em xin gửi lời cảm ơn chân thành đến các thầy cô ở Bộ môn Viễn Thông, Khoa Điện - Điện tử, trường Đại học Bách Khoa Tp Hồ Chí Minh Tuy không trực tiếp hướng dẫn em, nhưng những kiến thức mà thầy cô đã giảng dạy cho em trong suốt những năm đại học là cơ sở, nền tảng vững chắc giúp em có đủ khả năng để thực hiện luận văn này

Cuối cùng, em xin gửi lời cảm ơn chân thành đến gia đình, những người đã luôn bên cạnh, ủng hộ em về cả vật chất lẫn tinh thần để em hoàn thành luận văn này

Tp Hồ Chí Minh, ngày 13 tháng 06 năm 2022 Học viên

Lưu Thanh An

Trang 5

TÓM TẮT

Hiện nay, IOT đã và đang là một ngành công nghiệp phát triển, được ứng dụng ở rất nhiều lĩnh vực Được dự báo là ngành có tốc độ tăng trưởng về số lượng thiết bị, người dùng, cũng như giá trị kinh tế 6Lowpan được xem là một network quan trọng, nắm vai trò cốt lõi trong sự hình thành và phát triển được như ngày nay của IOT Mạng này đem lại sự thuận tiện cho người dùng với số lượng thiết bị kết nối lớn, mà vẫn giữ được sự ổn định, ngoài ra đó là sự tiết kiệm năng lượng cho các thiết bị, không phải thay nguồn dự trữ nhiều, cũng như thay thế hoàn toàn thiết bị, đem lại sự hiệu quả về kinh tế

Do sự lớn mạnh của mạng 6lowpan, mà từ đó hình thành nên các vấn đề gây ra xung quanh nó Với hàng loạt các thiết bị thông minh được kết nối, lượng data truyền qua các thiết bị, truyền qua người dùng cuối, thậm chí là các dữ liệu nhạy cảm của người dùng, giờ đây trở thành miếng mồi ngon cho các tin tặc tấn công, nhằm chiếm đoạt sở hữu dữ liệu, cũng như là chiếm quyền kiểm soát các thiết bị

Vì lý do đó, luận văn đem đến một giải pháp bảo mật cho vấn đề đã nêu trên Gia tăng tính bảo mật ở nhiều lớp, đặc biệt là lớp link và lớp application, mã hóa dữ liệu, phân phối key mã hóa, để từ đó dữ liệu truyền đi giữa các bên được bảo mật hơn, hạn chế tối đã sự xâm chiếm của tin tặc

Từ khóa: IOT Security, 6lowpan, Contiki, Link layer security, Application layer security, Multi-layer security

Trang 6

ABSTRACT

Currently, IoT has been and is a developed industry, being applied in many fields It is forecasted to be an industry with a growth rate in the number of devices, users, as well as economic value 6Lowpan is considered an important network, playing a core role in the formation and development of IoT today This network brings convenience to users with a large number of connected devices, while maintaining stability, in addition, it is energy saving for devices, not having to change much reserve power, as well as saving energy such as completely replacing equipment, bringing economic efficiency

Due to the growth of the 6lowpan network, problems arise around it With a wide range of connected smart devices, the amount of data passing through devices, passing through the end user, even sensitive user data, now becomes a prey for hackers to attack public, in order to take ownership of data, as well as take control of devices

For that reason, the thesis provides a secure solution to the above-mentioned problem Increase security at many layers, especially the link layer and application layer, encrypt data, distribute encryption keys, so that data transmitted between parties is more secure, minimizing intrusion taken by hackers

Keywords: IOT Security, 6lowpan, Contiki, Link layer security, Application layer security, Multi-layer security

Trang 7

LỜI CAM ĐOAN

Tôi tên: Lưu Thanh An, là học viên Thạc sĩ chuyên ngành Kỹ thuật Điện tử - Viễn thông, khóa 2021, tại Đại học Quốc gia thành phố Hồ Chí Minh – Trường Đại học Bách Khoa Tôi xin cam đoan những nội dung sau đều là sự thật:

 Công trình nghiên cứu này hoàn toàn do chính tôi thực hiện;

 Các tài liệu và trích dẫn trong luận văn này được tham khảo từ các nguồn thực tế, có uy tín và độ chính xác cao;

 Các số liệu và kết quả của công trình này được tôi tự thực hiện một cách độc lập và trung thực

Tp Hồ Chí Minh, tháng 06 năm 2022

Lưu Thanh An

Trang 8

MỤC LỤC

CHƯƠNG 1 GIỚI THIỆU 1

1.1TỔNG QUAN 1

1.2NHIỆM VỤ LUẬN VĂN 2

1.2.1Nhiệm vụ của đề tài 2

1.2.2Giới hạn của đề tài 3

1.2.3Nội dung thực hiện 3

CHƯƠNG 2 CƠ SỞ LÝ THUYẾT 5

2.1 TỔNG QUAN VỀ MẠNG CẢM BIẾT KHÔNG DÂY 5

2.1.1 Giới thiệu mạng cảm biến không dây 5

2.1.2 Cấu trúc mạng cảm biến không dây 6

2.1.3 Ứng dụng của mạng cảm biến không dây 12

2.2 6LOWPAN PROTOCOL STACK 13

CHƯƠNG 3 CÁC CƠ CHẾ BẢO MẬT CHO 6LOWPAN 21

3.1 Những hạn chế của các phương pháp bảo mật 6loWPAN hiện nay 21

Trang 9

3.2 The Link-Layer Security Sublayer 22

3.3 AdaptiveSEC - Adaptive Key Establishment Scheme (AKES) 31

3.4 Secure Radio Duty Cycling – ContikiMAC 38

3.5 Các phương thức tấn công vào mạng 6LoWPAN 42

3.6 Đánh giá phương thức phòng thủ từ chối giấc ngủ của AKES 44

CHƯƠNG 4 KẾT QUẢ MÔ PHỎNG VÀ THỰC NGHIỆM 53

4.1 THỰC HIỆN TRIỂN KHAI BẢO MẬT TRÊN LỚP APPLICATION 53

4.2 THỰC HIỆN TRIỂN KHAI BẢO MẬT TRÊN LỚP LINK 58

4.3 CHẠY THỰC TẾ TRÊN THIẾT BỊ TEXAS INSTRUMENTS CC2538 69

4.3.1 GIỚI THIỆU VỀ THIẾT BỊ TI CC2538 69

Trang 10

DANH SÁCH HÌNH VẼ

Hình 2.1 Tổng quan mạng cảm biến không dây 6

Hình 2.2 Cấu tạo nút cảm biến 7

Hình 2.3 Kiến trúc giao thức mạng cảm biến không dây 9

Hình 2.4 Cấu trúc phẳng mạng cảm biến không dây 10

Hình 2.5 Cấu trúc tầng mạng cảm biến không dây 11

Hình 2.6 Phân bố tần số trong IEEE 802.15.4 14

Hình 2.7 Lớp Link trong ContikiOS 14

Hình 2.8 Mạng 6LoWPAN Nguồn [6] 15

Hình 2.9 RPL trong protocol stack 16

Hình 2.10 Cấu trúc IEEE 802.15.4 frame 19

Hình 2.11 Cấu trúc IEEE 802.15.4 frame 20

Hình 3.1 Khung tin 6loWPAN truyền thống Nguồn [4] 21

Hình 3.2 Blom’s scheme Nguồn [4] 23

Hình 3.3 Các cách chia sẻ bí mật qua các pluggable scheme Nguồn [4] 26

Hình 3.4 Dữ liệu APKES trong 1 nút mạng u Nguồn [4] 27

Hình 3.5 Khung tin APKES (a) khi broadcast không mã hóa và (b) khi broadcast có mã hóa Nguồn [4] 29

Hình 3.6 Tổng quát AKES - Adaptive Key Establishment Scheme Nguồn [5] 32

Hình 3.7 LB-optimization Nguồn [5] 34

Trang 11

Hình 3.8 Chi tiết quá trình 3 bước bắt tay AKES để thành lập key Nguồn [5] 36

Hình 3.9 Cấu trúc khung tin 802.15.4 có thêm POTR Nguồn [6] 39

Hình 3.10 Chi tiết ý nghĩa của trường Frame Type Nguồn [6] 39

Hình 3.11 AKES - POTR Nguồn [6] 41

Hình 3.12 Leaky Bucket Counter (LBC) Nguồn [7] 46

Hình 3.13 Các thông số thời gian trong ContikiMAC Nguồn [8] 49

Hình 3.14 Hoạt động gửi gói tin unicast của Dozing Optimization Nguồn [8] 49

Hình 3.15 AKES (a) và AKES + Secure Phase-lock Optimization (b) Nguồn [8] 50

Hình 4.1 Mô hình chạy thử nghiệm triển khai bảo mật trên lớp application 53

Hình 4.2 Mô phỏng thiết lập key 54

Hình 4.3 Node nhận được challenge code 55

Hình 4.4 Kiểm tra CRC hợp lệ, và tiến hành gửi key 55

Hình 4.5 Node nhận key thành công 56

Hình 4.6 Mô phỏng trao đổi gói tin giữa node và gateway 56

Trang 12

Hình 4.13 Mô hình chạy mô phỏng “Speed Of Adding Permanent Neighbors” 64

Hình 4.14 (a) Không retransmissions, (b) Có retransmissions 64

Hình 4.15 Mô hình chạy mô phỏng “Phòng Thủ Chống Lại Các Cuộc Tấn Công Yo-Yo” 66 Hình 4.16 Kết quả mô phỏng lần 1,2 (a) (b) 66

Hình 4.16 Kết quả mô phỏng lần 3,4 (c) (d) 66

Hình 4.17 Mô hình chạy mô phỏng “Hidden Wormhole Attacks” 68

Hình 4.18 Mô phỏng hidden wormhole attack không kết hợp collision attack 68

Hình 4.19 Mô phỏng hidden wormhole attack kết hợp collision attack 69

Hình 4.20 CC2538 Development Board 69

Trang 13

DANH SÁCH BẢNG

Bảng 3.1 Những cấp độ tương ứng với mỗi độ dài của MIC 30

Bảng 3.2 Dữ liệu mà u lưu mỗi nút hàng xóm 34

Bảng 3.3 Chú thích các kí hiệu 51

Bảng 4.1 Các thông số chạy mô phỏng 60

Bảng 4.2 Các kết quả thu được khi mô phỏng tiêu tán năng lượng 73

Bảng 5.1 Một vài thông số tiêu biểu của CC2538 73

Bảng 5.2 Kết quả chạy thực tế phòng thủ chống lại các cuộc tấn công hidden wormhole 73 Bảng 5.3 Kết quả chạy thực tế phòng thủ chống lại các cuộc tấn công yo-yo 76

Trang 14

CHƯƠNG 1 GIỚI THIỆU

1.1 TỔNG QUAN

Internet of Things (IOT) – là từ khóa đang ngày càng phổ biến trên thế giới, là xu hướng đang được các doanh nghiệp trong mọi lĩnh vực quan tâm và đầu tư nghiên cứu Cuộc đua nghiên cứu, tìm tòi, phát triển về “kết nối vạn vật” đang tăng một cách chóng mặt trong thị trường trong và ngoài nước Đặc biệt hơn, khi con người đang tìm đến những công nghệ giúp họ tận hưởng những tiện nghi tốt nhất trong ngôi nhà của chính mình, và từ đó thuật ngữ “Smart Home” (còn được gọi là Home Automation) được ra đời

Theo một phân tích dự đoán của trang phân tích dataprot.net: thiết bị IOT dành cho người tiêu dùng sẽ thống trị trong năm 2021 với hơn 21 tỷ thiết bị được lắp đặt, dành cho công nghiệp là khoảng 3,17 tỷ Và sẽ tăng lên thành 25.4 tỷ thiết bị vào năm 2030, ngoài ra trang này cũng đưa ra một tính toán là sẽ có 152,200 thiết bị IOT kết nối với Internet mỗi phút Các thiết bị IOT hiện nay được phân bổ rộng trên nhiều lĩnh vực: Với các thiết bị dành cho người dùng phổ thông, được xem là động lực tăng trưởng chính của IOT hiện nay, với khoảng 5.2 tỷ thiết bị trong năm 2017, và đã tăng lên 11,19 tỷ thiết bị vào năm 2018 Với người tiêu dùng, loại thiết bị chính là phương tiện giao thông (xe ô tô), smartTV và các loại set-top box kỹ thuật số Với các thiết bị dành cho doanh nghiệp, các thiết bị như camera an ninh, hệ thống đo lượng điện tiêu thụ thông minh cũng gia tăng đáng kể về số lượng Trong tương lai, IOT tập trung vào các dịch vụ sản phẩm trong nhà (Connected Home), tích hợp vào hệ thống công nghệ thông tin và công nghê vận hành có sẵn (IT/OT Intergration) để nâng cao chất lượng quản lý và năng suất lao động Học máy thống kệ, học dữ liệu, thuật toán phân tích và dự báo thông minh đang được IoT dựa vào để phụ vụ các nhu cầu khác nhau Hai sản phẩm điển hình là Google Nest và Amazon Echo (Alexa) Các công ty lớn trong ngành cũng đã và đang đẩy mạnh đầu tư, xây dựng hệ sinh thái cho riêng mình và

Trang 15

Một vấn đề bên cạnh sự phát triển rầm rộ của các thiết bị IOT, đó là vấn đề bảo mật Các khía cạnh bảo mật cần được quan tâm liên quan tới xác minh chủ thiết bị, an toàn khi truyền-nhận tin giữa chủ thiết bị tới thiết bị, an toàn khi truyền-nhận tin giữa các thiết bị với nhau… Khi các thiết bị được sử dụng nhiều hơn, người dùng không quá để tâm đến các vấn đề bảo mật, chỉ gần như chú trọng tới sự thuận tiện mà các thiết bị này đem lại, việc này sẽ trở thành miếng mồi ngon, miền đất hứa cho những hacker, tin tặc, kẻ xấu xâm phạm, chiếm quyền điều khiển các thiết bị này, gây khó khăn cho người dùng, phá hoại, làm trò tiêu khiển, nhưng nguy hiểm hơn, đó là đánh cắp, chiếm đoạt các thông tin nhạy cảm của chủ thiết bị (thông tin cá nhân, thông tin ngân hàng,…)

Để tiếp cận và bắt kịp các xu hướng, vấn đề bảo mật trên, với sự hướng dẫn của TS Võ Quế Sơn – giảng viên bộ môn viễn thông, em quyết định đi đến đề tài luận văn với tên “Thiết Kế Và Triển Khai Framework Bảo Mật Đa Lớp Cho Mạng 6lowpan/Ipv6”

1.2 NHIỆM VỤ LUẬN VĂN

Với những vấn đề bảo mật đáng chú ý khi sự nở rộ các thiết bị IOT trong cuộc sống con người hiện nay, thì việc nghiên cứu các phương pháp bảo mật trên mạng 6LoWPAN được sử dụng trên các hệ thống các thiết bị IOT, được xem là cấp thiết, khả thi và theo kịp xu hướng IOT ít nhất là ở Việt Nam Dưới đây là nhiệm vụ đặt ra và hướng giải quyết của đề tài luận văn này

1.2.1 Nhiệm vụ của đề tài

Nhiệm vụ chính của luận văn là tìm hiểu các lỗ hổng, các dạng tấn công của tin tặc, hacker sẽ sử dụng để tấn công vào hệ thống IOT hiện nay, từ đó sẽ đo đạc, thiết kế, chạy thử nghiệm các phương pháp phòng ngự lại các kiểu tấn công này, sau đó ghi nhận lại kết quả khi chạy mô phỏng, thực tế

Các nhiệm vụ được chia nhỏ như sau:

 Nắm rõ các giao thức ngăn xếp/lớp được phát triển trong hệ điều hành Contiki OS (bao gồm các lớp sau: Physical, Link, Network, Transport, Application và lớp AdaptiveSec - lớp bảo mật), đặc biệt là các giao thức của 6LoWPAN/IPv6 được tích hợp trong Lớp Network của Contiki OS

Trang 16

 Nghiên cứu các phương pháp tấn công vào hệ thống IOT hiện nay: Denial-of-Sleep Attack (HELLO Flood Attack, Yo-Yo Attack, Hidden Wormhole Attack)

 Nghiên cứu các phương pháp bảo mật đa lớp (lớp application và lớp link) để ngăn chặn, hạn chế các tấn công trên

 Triển khai hệ thống, ghi nhận kết quả được mô phỏng trên phần mềm Cooja Simulator

 Triển khai hệ thống, ghi nhận kết quả trên thiết bi thực tế

1.2.2 Giới hạn của đề tài

Hệ thống được mô phỏng với số lượng các node tham gia lớn, từ đó phần mềm yêu cầu phần cứng cao, do hạn chế về phần cứng (chỉ sử dụng laptop cấu hình tầm trung) nên kết quả được ghi nhận phần mềm mô phỏng với thời gian hoạt động ngắn Ngoài ra cũng hạn chế về thiết bị thực tế, nên chỉ triển khai hệ thống trên một mô hình nhỏ, số lượng ít

1.2.3 Nội dung thực hiện

Các nội dung cần thực hiện để hoàn thành đề tài luận văn bao gồm các công việc sau:

Nội dung 1: Tìm hiểu lý thuyết mạng cảm biến không dây, cấu trúc và các ứng dụng xung quanh

Ở nội dung này, em sẽ tìm hiểu về mạng cảm biến không dây, các chuẩn giao tiếp chính hiện nay, mô hình mạng và các ứng dụng hiện nay để có cái nhìn tổng quan để tiến hành thực hiện đề tài này

Nội dung 2: Nghiên cứu Contiki OS bao gồm các lớp trong Contiki OS, các chuẩn giao thức của mạng 6LoWPAN, bảo mật

Contiki OS bao gồm rất nhiều giao thức và ngăn xếp/lớp khác nhau (theo mô hình OSI) trong đó nổi bật là giao thức 6LoWPAN/IPv6 mà em hướng đến, ngoài ra còn bảo mật cho mạng 6LoWPAN/IPv6

Nội dung 3: Nghiên cứu về các phương pháp tấn công Denial-of-Sleep

Trang 17

Tìm hiểu cách thức, cơ chế tấn công Denial-of-sleep (còn được gọi là từ chối ngủ) tác động lên các node trong mạng, làm cho chúng không thể “ngủ” khi không hoạt động, từ đó làm tiêu tốn nhiều năng lượng

Nội dung 4: Nghiên cứu về các phương pháp phòng thủ ở lớp application và lớp link

Từ việc phân tích cuộc tấn công ở trên, em sẽ tìm hiểu các phương pháp phòng thủ, làm hạn chế đi sự nguy hiểm mà cuộc tấn công đó đem lại

Nội dung 5: Tiến hành mô phỏng, đo đạc các thông số, và chạy trên thiết bị thực tế

Chạy demo mô phỏng trên phần mềm Cooja, để kiểm nghiệm sự hiệu quả của các phương pháp phòng thủ Từ đó chạy thực tế trên phần cứng để xác minh kết quả, cũng như kiểm tra các sai số nếu có giữa giữa môi trường thử nghiệm và môi trường thực tế

Nội dung 6: Viết báo cáo, chuẩn bị slide thuyết trình

Trang 18

CHƯƠNG 2

CƠ SỞ LÝ THUYẾT

Ở chương 2 - Cơ sở lý thuyết này, em trình bày các lý thuyết của mạng cảm biến không dây cũng như giới thiệu về Contiki OS, các ngăn xếp giao thức có trong ContikiOs từ đó giới thiệu mạng 6LoWPAN/IPv6 trên nền tảng hệ điều hành cho các thiết bị IoT này

2.1 TỔNG QUAN VỀ MẠNG CẢM BIẾT KHÔNG DÂY

2.1.1 Giới thiệu mạng cảm biến không dây

Trong những năm gần đây, rất nhiều mạng cảm biến không dây đã và đang được triển khai cho nhiều ứng dụng khác nhau: theo dõi sự thay đổi của môi trường, khí hậu, chuẩn đoán sự hỏng hóc của máy móc, thiết bị, theo dấu và giám sát các bệnh nhân, quản lý thuốc trong các bệnh viên, quản lý kho hàng, theo dõi và điều khiển giao thông, các phương tiện xe cộ Hơn nữa với sự tiến bộ công nghệ gần đây và hội tụ của hệ thống các công nghệ như kỹ thuật vi điện tử, công nghệ nano, giao tiếp không dây, công nghệ mạch tích hợp, vi mạch phần cảm biến, xử lý và tính toán tín hiệu, đã tạo ra những con cảm biến có kích thước nhỏ, đa chức năng, giá thành thấp, công suất tiêu thụ thấp, làm tăng khả năng ứng dụng rộng rãi của mạng cảm biến không dây

Một mạng cảm biến không dây là một mạng bao gồm nhiều nút cảm biến nhỏ có giá thành thấp, và tiêu thụ năng lượng ít, giao tiếp thông qua các kết nối không dây, có nhiệm vụ cảm nhận, đo đạc, tính toán nhằm mục đích thu thập dữ liệu để đưa ra các quyết định về môi trường xung quanh Một trong những đặc điểm quan trọng là sự giới hạn về năng lượng của chúng Các nút cảm biến này yêu cầu tiêu thụ công suất thấp Các nút cảm biến hoạt động có giới hạn và nói chung là không thể thay thế được nguồn cung cấp Do đó, trong khi mạng truyền thông tập trung vào đạt được các dịch vụ chất lượng cao, thì các giao thức mạng cảm biến phải tập trung đầu tiên vào bảo toàn công suất

Trang 19

Mạng cảm biến có một số đặc điểm sau:

 Có khả năng tự tổ chức, yêu cầu ít hoặc không có sự can thiệp của con người

 Truyền thông tin cậy, quảng bá trong phạm vi hẹp và định tuyến multihop

 Triển khai dày đặc và khả năng kết hợp giữa các nút cảm biến

 Giới hạn về mặt năng lượng, công suất phát, bộ nhớ và công suất tính toán

Chính những đặc tính này đã đưa ra những yêu cầu thay đổi trong thiết kế mạng cảm biến

2.1.2 Cấu trúc mạng cảm biến không dây

2.1.2.1 Tổng quan cấu trúc mạng cảm biến không dây

Trong hệ thống mạng cảm biến không dây có các trạm gốc và trung tâm điều khiển Trạm gốc đóng vai trò cổng kết nối giữa nút mạng và trung tâm điều khiển, tiếp nhận thông tin của các nút mạng và chuyển tới trung tâm điều khiển qua nhiều cách khác nhau Các nút mạng truyền tin theo kiểu nhiều chặng, từ nút mạng này sang nút mạng khác và về trạm gốc Từ trạm gốc có thể gửi thông tin cho người sử dụng (trung tâm điều khiển) theo nhiều cách như trực tiếp qua hệ thống máy tính, qua mạng Internet, qua vệ tinh nhờ đó người giám sát có thể nhận được thông tin dù đang ở bất cứ đâu

Hình 2.1 Tổng quan mạng cảm biến không dây

2.1.2.2 Giới thiệu về nút cảm biến

Mỗi nút cảm biến được cấu thành bởi 4 thành phần cơ bản như ở Hình 2.2 đơn vị cảm biến (a sensing unit), đơn vị xử lý (a processing unit), đơn vị truyền dẫn (a transceiver unit) và bộ nguồn (a power unit) Ngoài ra có thể có thêm những thành phần khác tùy thuộc vào từng ứng dụng

Trang 20

Hình 2.2 Cấu tạo nút cảm biến

Các đơn vị cảm biến (sensing units) bao gồm cảm biến và bộ chuyển đổi tương tự-số Dựa trên những hiện tượng quan sát được, tín hiệu tương tự tạo ra bởi sensor được chuyển sang tín hiệu số bằng bộ ADC, sau đó được đưa vào bộ xử lý Đơn vị xử lý thường được kết hợp với bộ lưu trữ nhỏ (storage unit), quyết định các thủ tục làm cho các nút kết hợp với nhau để thực hiện các nhiệm vụ định sẵn Phần thu phát vô tuyến kết nối các nút vào mạng

Hầu hết các kĩ thuật định tuyến và các nhiệm vụ cảm biến của mạng đều yêu cầu có độ chính xác cao về vị trí Các bộ phận di động đôi lúc cần phải dịch chuyển các nút cảm biến khi cần thiết để thực hiện các nhiệm vụ đã ấn định Tất cả những thành phần này cần phải phù hợp với kích cỡ từng module Ngoài kích cỡ ra các nút cảm biến có một số ràng buộc nghiêm ngặt khác, như là: phải tiêu thụ rất ít năng lượng, hoạt động ở mật độ cao, có giá thành thấp, có thể tự hoạt động, và thích biến với sự biến đổi của môi trường

2.1.2.3 Đặc điểm của cấu trúc mạng cảm biến không đây

Như trên ta đã biết đặc điểm của mạng cảm biến là bao gồm một số lượng lớn các nút cảm biến, các nút cảm biến có giới hạn và ràng buộc về tài nguyên đặc biệt là năng lượng rất khắt khe Sau đây ta sẽ phân tích một số đặc điểm nổi bật trong mạng cảm biến như sau:

 Chi phí thấp: trong mạng cảm biến không dây thường là hàng trăm hoặc hàng ngàn các nút cảm biến được triển khai để đo bất kỳ môi trường vật lý nào Để giảm tổng chi phí của toàn bộ mạng lưới chi phí của nút cảm biến phải được giữ ở mức khả thi

Trang 21

 Năng lượng hiệu quả: Năng lượng trong mạng cảm biến không dây được sử dụng cho các mục đích khác nhau mục đích như tính toán, truyền thông và lưu trữ Nút cảm biến tiêu thụ năng lượng nhiều hơn so với bất kỳ giao tiếp khác Vì thế,các giao thức và sự phát triển thuật toán nên xem xét tiêu thụ điện năng trong giai đoạn thiết kế

 Công suất tính toán: bình thường nút có giới hạn tính toán như chi phí và năng lượng cần phải được xem xét

 Khả năng truyền thông: mạng cảm biến không dây thường giao tiếp sử dụng sóng vô tuyến qua một kênh không dây Nó có thể giao tiếp trong phạm vi ngắn, hẹp và băng thông rộng Kênh truyền thông có thể là hai chiều hoặc đơn hướng Với những người không được giám sát và thù địch môi trường vận hành thì rất khó chạy mạng cảm biến không dây trơn tru.Vì vậy, phần cứng và phần mềm để truyền thông phải có để xem xét tính mạnh mẽ, an ninh và khả năng phục hồi

 An ninh và Bảo mật: Mỗi nút cảm biến phải có cơ chế bảo mật đủ để ngăn chặn truy cập trái phép, tấn công, và thiệt hại không chủ ý của thông tin bên trong nút cảm biến

 Phân biệt cảm biến và xử lý: số lượng lớn nút cảm biến được phân phối thống nhất hoặc ngẫu nhiên mạng cảm biến không dây mỗi node có khả năng thu thập, phân loại, xử lý, tập hợp và gửi dữ liệu đến bộ thu nhận (sink) Vì vậy phân phối cảm nhận cung cấp sự vững mạnh cho hệ thống

2.1.2.4 Kiến trúc giao thức của mạng cảm nhận không dây

Kiến trúc giao thức cảm biến không dây bao gồm: Lớp vật lý, lớp liên kết dữ liệu, lớp mạng, lớp truyền tải, lớp ứng dụng, phần quản lý công suất, phần quản lý di động và phần quản lý nhiệm vụ Lớp vật lý cung cấp các kỹ thuật điều chế, phát và thu Tại lớp liên kết dữ liệu, giao thức điều khiển truy cập môi trường (MAC) phải tối ưu sử dụng năng lượng và có khả năng giảm thiểu xung đột giữa các nút mạng khi truy cập môi trường Thiết kế giao thức MAC là rất quan trọng vì nó quyết định nhiều đến việc tiêu thụ năng lượng các nút mạng Lớp mạng đảm bảo các hoạt động định tuyến số liệu được cung cấp bởi lớp truyền tải Lớp truyền tải giúp duy trì luồng số liệu nếu ứng dụng mạng cảm biến yêu cầu Tùy theo nhiệm vụ cảm biến, các loại phần mềm khác nhau có thể được xây dựng và sử dụng ở lớp ứng dụng

Trang 22

Ngoài ra, các phần quản lý công suất, di chuyển và nhiệm vụ sẽ giám sát việc sử dụng công suất, sự di chuyển và thực hiện nhiệm vụ giữa các nút cảm nhận Những phần này giúp các nút cảm nhận phân phối nhiệm vụ cảm biến và tiêu thụ năng lượng tổng thể thấp hơn

Hình 2.3 Kiến trúc giao thức mạng cảm biến không dây

Phần quản lý năng lượng điều khiển việc sử dụng năng lượng của nút mạng Ví dụ, nút mạng có thể tắt khối thu của nó sau khi thu được một bản tin từ một nút lân cận, điều này giúp tránh việc nhận các bản tin trùng lặp dư thừa không cần thiết Khi mức năng lượng của nút mạng thấp, nó sẽ phát quảng bá tới các nút lân cận để thông báo nó có mức năng lượng thấp và không thể tham gia vào các bản tin định tuyến Phần năng lượng còn lại sẽ dành riêng cho nhiệm vụ cảm biến

Phần quản lý di chuyển phát hiện và ghi lại sự dịch chuyển của các nút cảm nhận để duy trì tuyến tới người sử dụng và các nút có thể lưu vết của các nút cảm nhận lân cận Nhờ xác định được các nút lân cận, các nút cảm nhận có thể cân bằng giữa công suất và nhiệm vụ thực hiện

Phần quản lý nhiệm vụ dùng để làm cân bằng và lên kế hoạch các nhiệm vụ cảm biến trong một vùng xác định Không phải tất cả các nút cảm nhận trong vùng đó đều phải thực hiện nhiệm vụ cảm biến tại cùng một thời điểm Kết quả, một số nút cảm nhận thực hiện nhiều hơn các nút khác tùy theo mức công suất của nó Những phần quản lý này là cần thiết để các nút cảm nhận có thể làm việc cùng nhau, sử dụng hiệu quả năng lượng, định tuyến số liệu trong mạng và phân chia tài nguyên giữa các nút cảm nhận

Trang 23

2.1.2.5 Các cấu trúc đặc trưng của mạng cảm biến không dây

Cấu Trúc Phẳng

Trong cấu trúc phẳng (flat architecture) (hình 2.4), tất cả các nút đều ngang hàng và đồng nhất trong hình dạng và chức năng Các nút giao tiếp với sink qua multihop sử dụng các nút ngang hàng làm bộ tiếp sóng Với phạm vi truyền cố định, các nút gần sink hơn sẽ đảm bảo vai trò của bộ tiếp sóng đối với một số lượng lớn nguồn Giả thiết rằng tất cả các nguồn đều dùng cùng một tần số để truyền dữ liệu, vì vậy có thể chia sẻ thời gian Tuy nhiên cách này chỉ có hiệu quả với điều kiện là có nguồn chia sẻ đơn lẻ, ví dụ như thời gian, tần số

Hình 2.4 Cấu trúc phẳng mạng cảm biến không dây

Cấu Trúc Tầng

Trong cấu trúc tầng (tiered architecture) (hình 2.5), các cụm được tạo ra giúp các tài nguyên trong cùng một cụm gửi dữ liệu single hop hay multihop (tùy thuộc vào kích cỡ của cụm) đến một nút định sẵn, thường gọi là nút chủ (cluster head) Trong cấu trúc này các nút tạo thành một hệ thống cấp bậc mà ở đó mỗi nút ở một mức xác định thực hiện các nhiệm vụ đã định sẵn

Trang 24

Hình 2.5 Cấu trúc tầng mạng cảm biến không dây

Trong cấu trúc tầng thì chức năng cảm nhận, tính toán và phân phối dữ liệu không đồng đều giữa các nút Những chức năng này có thể phân theo cấp, cấp thấp nhất thực hiện tất cả nhiệm vụ cảm nhận, cấp giữa thực hiện tính toán, và cấp trên cùng thực hiện phân phối dữ liệu

Mạng cảm biến xây dựng theo cấu trúc tầng hoạt động hiệu quả hơn cấu trúc phẳng, do các lý do sau:

 Cấu trúc tầng có thể giảm chi phí chi mạng cảm biến bằng việc định vị các tài nguyên ở vị trí mà chúng hoạt động hiệu quả nhất Rõ ràng là nếu triển khai các phần cứng thống nhất, mỗi nút chỉ cần một lượng tài nguyên tối thiểu để thực hiện tất cả các nhiệm vụ Vì số lượng các nút cần thiết phụ thuộc vào vùng phủ sóng xác định, chi phí của toàn mạng vì thế sẽ không cao Thay vào đó, nếu một số lượng lớn các nút có chi phí thấp được chỉ định làm nhiệm vụ cảm nhận, một số lượng nhỏ hơn các nút có chi phí cao hơn được chỉ định để phân tích dữ liệu, định vị và đồng bộ thời gian, chi phí cho toàn mạng sẽ giảm đi

 Mạng cấu trúc tầng sẽ có tuổi thọ cao hơn cấu trúc mạng phẳng Khi cần phải tính toán nhiều thì một bộ xử lý nhanh sẽ hiệu quả hơn, phụ thuộc vào thời gian yêu cầu thực hiện tính toán Tuy nhiên, với các nhiệm vụ cảm nhận cần hoạt động trong khoảng thời gian dài, các nút tiêu thụ ít năng lượng phù hợp với yêu cầu xử lý tối thiểu sẽ hoạt động hiệu quả hơn Do vậy với cấu trúc tầng mà các chức năng mạng phân chia giữa các phần cứng đã được thiết kế riêng cho từng chức năng sẽ làm tăng tuổi thọ của mạng

Trang 25

 Việc nghiên cứu các mạng cấu trúc tầng đem lại nhiều triển vọng để khắc phục vấn đề này Một cách tiếp cận là dùng một kênh đơn lẻ trong cấu trúc phân cấp, trong đó các nút ở cấp thấp hơn tạo thành một cụm xung quanh trạm gốc Mỗi một trạm gốc đóng vai trò là cầu nối với cấp cao hơn, cấp này đảm bảo việc giao tiếp trong cụm thông qua các bộ phận hữu tuyến Trong trường hợp này, dung lượng của mạng tăng tuyến tính với số lượng các cụm Các nghiên cứu khác đã thử cách dùng các kênh khác nhau ở các mức khác nhau của cấu trúc phân cấp Trong trường hợp này, dung lượng của mỗi lớp trong cấu trúc tầng và dung lượng của mỗi cụm trong mỗi lớp xác định là độc lập với nhau

Tóm lại, việc tương thích giữa các chức năng trong mạng có thể đạt được khi dùng cấu trúc tầng Những chức năng như vậy có thể phân phối đến mọi nút, một phần phân bố đến tập con của các nút

2.1.3 Ứng dụng của mạng cảm biến không dây

Ứng dụng trong môi trường và ngành nông nghiệp

Kiểm tra các điều kiện môi trường ảnh hưởng tới mùa màng và vật nuôi, tình trạng nước tưới, kiểm tra môi trường không khí, đất trồng, phát hiện cháy rừng; nghiên cứu khí tượng và địa lý; vẽ bản đồ sinh học phức tạp của môi trường và nghiên cứu ô nhiễm môi trường

Ứng dụng trong y tế và giám sát sức khoẻ

Kiểm tra tình trạng của bệnh nhân; chẩn đoán; quản lý dược phẩm trong bệnh viện; kiểm tra sự di chuyển và các cơ chế sinh học bên trong của côn trùng và các loài sinh vật nhỏ khác; kiểm tra từ xa các số liệu về sinh lý con người; giám sát, kiểm tra các bác sĩ và bệnh nhân bên trong bệnh viện

Ứng dụng trong quân sự

Một số ứng dụng của mạng cảm biến trong quân sự có thể kể đến: kiểm tra lực lượng, trang bị, đạn dược, giám sát chiến trường, trinh sát vùng và lực lượng địch, tìm mục tiêu, đánh giá thiệt hại trận đánh, trinh sát và phát hiện các vũ khí hóa học – sinh học – hạt nhân

Tự động hoá gia đình, Smart Home

Trang 26

Giám sát và điều khiển công nghiệp

Mạng cảm biến không dây được ứng dụng trong linh vực này chủ yêu phục vụ việc thu thập thông tin, giám sát trạng thái hoạt động của hệ thống như trạng thái các van, trạng thái thiết bị, nhiệt độ và áp suất,…

2.2 6LOWPAN PROTOCOL STACK

 868,0–868,6 MHz: Châu Âu, cho phép một kênh liên lạc (2003, 2006, 2011)

 902–928 MHz: Bắc Mỹ, ban đầu được phép tối đa mười kênh (2003), nhưng sau đó đã được mở rộng đến ba mươi (2006)

 2400–2483,5 MHz: sử dụng trên toàn thế giới, lên đến mười sáu kênh (2003, 2006) Ở Contiki, lớp PHY hỗ trợ 2 băng tần: 1 ở tần dưới 1GHz và 1 ở 2.4GHz với 26 channel Vì dùng chung băng tần với mạng Wifi 2.4GHz mà mạng 6loWPAN dễ dàng bị overheard Do đó ta cần lựa chọn kênh phù hợp khi bố trí mạng trong nhà, trong các tòa cao tầng nơi có mạng Wifi dày đặc Ta cùng xem xét hình 2.6 dưới đây để thấy được mạng 6loWPAN và mạng Wifi chồng lấn kênh nhau, và thấy được kênh 15, 20, 25 và 26 có thể lựa chọn để sử dụng mạng 6loWPAN trong môi trường dày đặc Wifi

Trang 27

Hình 2.6 Phân bố tần số trong IEEE 802.15.4

2.2.2 Link layer

Giao thức MAC (Media Access Control) mô tả lượng truy cập trung bình được thực hiện trong mạng, bằng cách thiết lập các quy tắc xác định khi nào một nút cho phép truyền các gói dữ liệu Các giao thức được chia theo sự kiện hoặc dựa trên sự đặt chỗ Thứ nhất dựa trên Carrier Sensing để phát hiện hoạt động trung bình, nó dễ bị va chạm và tốn nhiều năng lượng khi có nhiều nút hoạt động nhưng đây là cách dễ thực thi Còn nhóm thứ 2 có hiệu quả về mặt năng suất và năng lượng nhưng lại yêu cầu đồng bộ phải chính xác và ít thích nghi với dạng dynamic traffic Khác với thông thường, ở lớp Link của Contiki được chia làm 3 lớp: Framer, Radio Duty Cycle (RDC) và Medium Access Control (MAC)

Hình 2.7 Lớp Link trong ContikiOS

Trang 28

Lớp con RDC là lớp chịu trách nhiệm về chế độ ngủ chu kỳ của các nút, quyết định thời điểm gửi một gói tin, tùy thuộc vào thời gian đánh thức của người nhận

Có một số giao thức RDC có thể được triển khai trong mạng cảm biến không dây, nhưng trong

luận điểm này, sự chú ý sẽ được tập trung vào bốn các giao thức được sử dụng trong Contiki: ContikiMAC, LPP, CXMAC và NullRDC

Cuối cùng, lớp con MAC, chịu trách nhiệm cho việc truyền lại các gói bị mất

Framer là một bộ các chức năng để đóng khung dữ liệu được truyền, và để phân tích dữ liệu nhận được, trong đó đáng chú ý là framer-802.15.4 và framer-nullmac

2.2.3 Network layer

Hình 2.8 Mạng 6LoWPAN Nguồn [6]

Lớp mạng 6LoWPAN cung cấp khả năng kết nối internet cho các nút cảm biến Các hoạt động của lớp này là giao thức địa chỉ, ánh xạ và định tuyến Như đã mô tả trước đó, quyết định định tuyến theo lưới xảy ra trong lớp thích ứng 6LoWPAN Mặt khác, quyết định định tuyến theo tuyến xảy ra trong lớp mạng 6LoWPAN Trong lược đồ định tuyến, mỗi bước nhảy của lớp liên kết là một bước nhảy IP và mỗi nút hoạt động như một bộ định tuyến IP Gói tin được chuyển tiếp từng bước từ nguồn đến đích giữa các liên kết này Tải trọng của gói được gói gọn trong tiêu đề IP Sau đó, gói IP được phân mảnh và các mảnh này được gửi đến bước tiếp theo dựa trên thông tin bảng định tuyến Nếu lớp thích ứng trong bước tiếp theo nhận được tất cả các phân mảnh thành công, thì nó sẽ tạo một gói IP từ các phân mảnh và gửi nó lên lớp mạng Sau đó, lớp mạng sẽ gửi gói đến lớp trên (lớp vận chuyển), nếu gói

Trang 29

đó được định sẵn Nếu không, nó chuyển tiếp gói tin tới bước tiếp theo theo thông tin bảng định tuyến Tuy nhiên, nếu thiếu một số đoạn, tất cả các đoạn sẽ được truyền lại trong một bước nhảy

Trong Contiki, giao thức định tuyến mặc định là RPL Các giao thức khác như Adodway On-Demand Distance Vector (AODV) không nằm trong phạm vi của phần này Các chi tiết cụ thể của việc thực hiện RPL nằm ngoài phạm vi của phần này, nhóm chỉ mô tả các cấu hình thông thường và cung cấp khái niệm ngắn gọn về RPL Để biết thêm chi tiết, chúng ta có thể theo đường dẫn sau: core/net/rpl

RPL - IPv6 Routing Protocol for Low-Power and Lossy Networks: RPL là một giao thức

định tuyến IPv6 cho các mạng có công suất thấp và mất gói được thiết kế bởi IETF Routing Over Low và mạng Lossy (lossy network), được sử dụng làm giao thức định tuyến de facto trong Contiki RPL là một giao thức vector khoảng cách chủ động, nó bắt đầu tìm kiếm các tuyến đường ngay khi mạng RPL được khởi tạo

Hình 2.9 RPL trong protocol stack

Trang 30

Trong một mạng, có thể có nhiều các RPL Một nút RPL có thể thuộc về các RPL khác, và có thể hoạt động như một bộ định tuyến Một tập hợp nhiều DODAG có thể được đặt trong RPL INSTANCE và một nút có thể là một thành viên của nhiều RPL INSTANCE, nhưng có thể thuộc về nhiều nhất một DODAG cho mỗi DAG INSTANCE

Một cơ chế định thời nhỏ giọt quy định truyền tin DODAG Information Object (DIO), được sử dụng để xây dựng và duy trì các tuyến trên của DODAG, quảng bá RPL của nó, số phiên bản DODAG ID, RANK và DODAG Một nút có thể yêu cầu thông tin DODAG bằng cách gửi Thông điệp Solicitation của DODAG (DIS), thu thập thông điệp DIO từ các vùng lân cận để cập nhật thông tin định tuyến và tham gia một cá thể

Các nút phải theo dõi các thông báo DIO trước khi gia nhập một DODAG, và sau đó tham gia vào một DODAG bằng cách chọn một Node parent từ các mạng lân cận sử dụng độ trễ quảng bá của nó, OF và RANK Các thông điệp Quảng bá Đích (DAO) được sử dụng để duy trì các tuyến xuống bằng cách chọn parent được ưu tiên có bậc thấp hơn và gửi một gói tin tới DAG ROOT qua từng Nút trung gian

RPL có hai cơ chế để sửa chữa tô pô của DODAG, một để tránh lặp lại và cho phép các nút nối/tham gia lại, và hai gọi là sửa chữa toàn cầu Sửa chữa toàn cầu được bắt đầu tại ROOT DODAG bằng cách tăng Số Phiên bản DODAG để tạo một Phiên bản DODAG mới

Trang 31

2.2.4 Transport layer

Lớp Transport tạo ra các phiên giao tiếp giữa các ứng dụng đang chạy trên các thiết bị đầu cuối Lớp này cho phép nhiều ứng dụng trên mỗi thiết bị có kênh giao tiếp riêng TCP là giao thức truyền chiếm ưu thế trên Internet Tuy nhiên, TCP là một giao thức dựa trên kết nối (bao gồm packet ordering) với chi phí lớn và do đó không phải lúc nào cũng thích hợp cho các thiết bị đòi hỏi tiêu thụ điện năng cực thấp Đối với những loại hệ thống này, UDP, với chi phí thấp, chiếm tài nguyên ít, giao thức connectionless (nghĩa là có gói tin nào là đẩy ngay vào đường truyền mà không cần thiết lập các kết nối trước), có thể là một lựa chọn tốt hơn

Giao thức UDP:

Là một giao thức truyền tải theo phương thức connectionless điển hình Giao thức của phương thức này không xây dựng kết nối trước khi truyền mà truyền trực tiếp ngay lập tức – truyền theo kiểu best effort(truyền tổng lực) Phương thức connectionless cũng không có các phương thức đảm bộ độ tin cậy như báo nhận, điều khiển kết nối ( flow control ), hay kiểu đánh số thức tự các gói tin bị chặt nhỏ trên đường truyền Nên giao thức này truyền tải rất nhanh, được dùng cho các gói tin như Voice hay Video Tuy nhiên hoạt động truyền này không có độ tin cậy cao và dễ gây mất gói và gây lỗi

 Thực hiện các cơ chế báo nhận khi truyền dữ liệu, mỗi segment gửi đi đều phải được báo nhận (Acknowledge), những segment nào không được bật ACK thì coi nhưng segment lỗi và phải xử lí để bật ACK và truyền lại

 Có cơ chế đánh số thứ tự (Sequencing) cho các segment được truyền

Trang 32

Kèm theo cơ chế điều khiển kết nối – điều khiển luồng dữ liệu (flow control) để xử lí tránh ngẽn đường truyền Một kết nối TCP cũng được xem như một cặp đường kết nối luận lý giữa 2 host end to end, mỗi đường phục vụ cho một hướng truyền dữ liệu – kiểu truyền full duplex

Hình 2.10 Cấu trúc IEEE 802.15.4 frame

Do vấn đề này, một IPv6 cần được truyền qua khung IEEE 802.15.4 phải được chia thành nhiều hơn 16 phân mảnh Do đó, lớp thích ứng nên xử lý quá trình phân mảnh và lắp ráp lại

• Nén tiêu đề

IEEE 802.15.4 định nghĩa bốn loại khung: khung báo hiệu, khung lệnh MAC, khung báo nhận và khung dữ liệu Hình bên dưới cho thấy các gói IPv6 phải được mang trên các khung dữ liệu Sau khi gói được phân mảnh và truyền qua các khung IEEE 802.15.4, mỗi phân

Trang 33

Hình 2.11 Cấu trúc IEEE 802.15.4 frame

Khung IEEE 802.15.4 có kích thước gói tối đa là 128 byte; thay vào đó kích thước tiêu đề IPv6 là 40 byte, kích thước tiêu đề Giao thức dữ liệu người dùng (UDP) và Giao thức thông báo điều khiển Internet (ICMP) đều là 4 byte, tiêu đề phân mảnh thêm 5 byte nữa Nếu không có tính năng nén, 802.15.4 không thể truyền tải bất kỳ trọng tải nào một cách hiệu quả

• Routing

Có một số giao thức định tuyến hiện có trong 6LoWPAN như: 6LoWPAN Ad-hoc Demand Distance Vector (LOAD), Multipath based 6LoWPAN Ad-hoc On-Demand Distance Vector (MLOAD), Dynamic MANET On-Demand for 6LoWPAN Routing (DYMO-Low), Hierarchical Routing (Hi-Low), Extended Hi-Low and Sink Adhoc On-Demand Distance Vector Routing (SAODV)

Trang 34

Hình 3.1 Khung tin 6loWPAN truyền thống Nguồn [4]

Cơ chế tham gia mạng 6LoWPAN còn phụ thuộc vào lớp Network nơi giao thức RPL lấy nút chịu trách nhiệm root trong mạng làm chủ, nắm quyền do đó các nút con chỉ quan tâm đến nút chủ đó mà không quan tâm đến hàng xóm của mình (các nút cũng chịu root bởi nút chủ), khi không có cơ chế xác thực các hàng xóm của mình thì việc kẻ tấn công giả dạng rồi lấy gói hay "tiêm" các gói làm nghẽn mạng rất dễ xảy ra

Việc sử dụng key chung cho toàn mạng không an toàn vì khi đã được tham gia vào mạng ở lớp Network thì việc trích ra trong các gói tin trao đổi hoàn toàn có thể xảy ra [34]

Trang 35

Ngoài ra còn có một phương pháp là mỗi mỗi nút mạng mỗi key Điều này không thực tế vì nếu nút mạng dày đặc, mỗi nút phải lưu toàn bộ các thông tin sau: key (ít nhất 16bytes), frame counter (từ 2-4bytes) chính việc này đã không phù hợp với bộ nhớ cực kì hạn chế của mạng 6LoWPAN

Sử dụng frame counter không có cơ chế xử lý khi node bị reboot (hết pin, lỗi stack, v.v ) hoặc rời khỏi mạng nên dễ dàng khai thác khi kẻ tấn công có thể phát lại những khung tin trước đó Hơn nữa frame counter chỉ để dành cho có khung tin unicast mà gói tin broadcast không thể sử dụng điều này

Vì chính những điều này mà lớp mới ra đời thay cho 802.15.4 security sublayer truyền thống: The link-layer security sublayer và Adaptive Security Later Các lớp này vẫn nằm giữa 2 lớp Link layer và Network layer nhưng mang nhiều ưu điểm hơn, khắc phục hạn chế được nêu ra ở trên, hơn nữa vẫn liên tục cập nhật các giao thức bảo mật mới được phát triển bởi các nhà phát triển Những phần tiếp sau đây ta sẽ tìm hiểu các phương pháp bảo mật được sử dụng trong mạng 6LoWPAN ở lớp Adaptive Security và The Link-Layer Security Sublayer

3.2 The Link-Layer Security Sublayer

Ở phần này ta sẽ tìm hiểu lớp LLSEC qua các giao thức, chương trình trao đổi key đôi (pairwise key) ngẫu nhiên giữa các hàng xóm với nhau cũng như qui định các khung tin unicast, broadcast để đảm bảo xác thực cho mạng 6LoWPAN, khắc phục những hạn chế của bảo mật truyền thống mà phù hợp với những tính chất đặc trưng của mạng năng lượng thấp Trong đó ta cần tìm hiểu 2 "scheme" được "plug-in" vào APKES phổ biến hiện nay để chia sẻ an toàn bí mật của các khóa đuọc load trước trong mạng là LEAP, Fully Pairwise Keys scheme, Random scheme và Blom’s scheme

Pluggable Schemes sử dụng trong APKES

a) Localized Encryption and Authentication Protocol (LEAP)

Ở LEAP, các nút mạng trước hết cần phải load trước Km - master key và ngay sau khi hình thành pairwise key thì xóa master key này đi Ví dụ nút u chưa hình thành pairwise key và vẫn còn giữ Km, khi đó u sẽ tạo ra một số bí mật riêng Ku từ Km là Ku = F(Km, IDu) với F

Trang 36

là hàm giả ngẫu nhiên từ seed Km và input là IDu IDu chính là địa chỉ duy nhất của u trong mạng Lúc tạo Ku xong, u sẽ broadcast HELLO với kịch bản như sau

u -> * : HELLO < 𝐼𝐷𝑢 > v -> u : ACK < 𝐼𝐷𝑣, 𝐼𝐷𝑢 >, 𝐾𝑢

Khi đó, hàm xóm v nhận được gói tin thì trả lại ACK cho u Gói tin ACK này được xác thực bằng MIC được tạo từ 𝐾𝑣 (là khóa ngẫu nhiên tạo từ 𝐾𝑚 qua hàm giả ngẫu nhiên) Nhờ vào việc trích được 𝐼𝐷𝑣trong gói tin mà u lấy được từ ACK, u tạo ra 𝐾𝑣 nhờ 𝐾𝑚 qua hàm giả ngẫu và so sánh xem có đúng với MIC được đính kèm hay không, nếu đúng thì lúc này u sẽ tạo ra pairwise key là 𝐾𝑢,𝑣 = F(𝐾𝑣, 𝐼𝐷𝑢) và ngay sau đó xóa master key 𝐾𝑚 đi Bên cạnh đó v cũng tạo ra 𝐾𝑣,𝑢 từ 𝐾𝑢 và 𝐼𝐷𝑣 qua hàm giả ngẫu

Hạn chế của phương pháp này là ở đây v vẫn tạo ra pairwise key 𝐾𝑣,𝑢 mặc dù chưa xác thực u nên APKES đã thêm tính năng xác thực 2 chiều vào để khắc phục

b) Blom’s Scheme

Với việc sử dụng và load trước nhiều thông số hơn LEAP như λ, n, l hay các ma trận D, G cũng như các ràng buộc của chúng thì việc tạo ra key từ các ma trận nhưng hiệu quả mang lại không cao khi tốn tài nguyên tính toán, flash memory cũng như RAM tỉ lệ với các thông số trên

Hình 3.2 Blom’s scheme Nguồn [4]

c) Fully Pairwise Keys Scheme

Trang 37

Một lược đồ đơn giản khác là lược đồ các khóa theo cặp đầy đủ, trong đó mỗi nút được tải trước một khóa theo cặp để giao tiếp với bất kỳ nút nào khác Đây là sự thỏa hiệp có khả năng phục hồi cao hơn, nhưng vẫn còn ba vấn đề:

1 Đầu tiên, lược đồ các khóa ghép nối đầy đủ có thể quá tiêu tốn bộ nhớ cho các mạng 6LoWPAN quy mô lớn Ví dụ: khi sử dụng các khóa 128 bit trong mạng 32.768 nút, mỗi nút phải lưu trữ 500KB (≈ 32, 767 × 16 byte) các khóa theo cặp Đây đã là một nửa tổng dung lượng bộ nhớ flash ngoài trên một mote TelosB - một nút điển hình Ngoài ra, để hỗ trợ việc bổ sung các nút mới trong thời gian chạy, mỗi nút cần lưu trữ một khóa ghép nối để liên lạc với mỗi nút chưa được triển khai Có thể tải trước ít khóa ghép nối hơn nếu các nút lân cận của nút được biết trước, nhưng điều này sẽ làm phức tạp việc triển khai

2 Thứ hai, có một vấn đề liên quan đến việc quản lý các bộ đếm khung Để phát hiện các khung được phát lại, bộ đếm khung gần đây nhất trên mỗi địa chỉ nguồn cần được lưu trữ Việc xóa bộ đếm khung hình khi một nút biến mất là không thể vì kẻ tấn công sau đó có thể phát lại các khung hình cũ Do đó, theo thời gian, không phải tất cả các bộ đếm khung hình đều sẽ phù hợp với bộ nhớ truy cập ngẫu nhiên giới hạn (RAM) trên các nút, mà một số bộ đếm cần được hoán đổi sang bộ nhớ flash ngoài, điều này tiêu tốn năng lượng

3 Thứ ba, trong khi các khóa ghép nối cung cấp một giải pháp có khả năng phục hồi thỏa hiệp để đảm bảo các khung hình đơn, không có giải pháp nào như vậy cho các khung hình quảng bá Các khung phát sóng phải được xác thực bằng các khóa được chia sẻ giữa các nút lân cận Do đó, một sự thỏa hiệp nút không chỉ tiết lộ một khóa quảng bá duy nhất, mà còn cả những khóa của các nút lân cận Đây là vấn đề khi cố gắng phát hiện các nút bị xâm phạm vì khung phát sóng xác thực độc hại có thể giả vờ bắt nguồn từ một nút không bị xâm phạm

d) Random Scheme

Nhớ lại rằng trong lược đồ các khóa theo cặp đầy đủ, mỗi nút được tải trước bằng một khóa theo cặp để giao tiếp với bất kỳ nút nào khác Ngược lại, trong lược đồ các khóa theo cặp ngẫu nhiên, chỉ một số cặp nút có các khóa theo cặp Ví dụ, trong mạng 10.000 nút, mỗi nút

Trang 38

chỉ phải lưu trữ 75 khóa ghép nối để đạt được xác suất 0,5 để có một khóa ghép nối với nút khác Lý do tương tự như nghịch lý ngày sinh Hơn nữa, nếu mỗi nút có ít nhất 20 hàng xóm, mạng được kết nối với xác suất 0,99999 Hai nút không có khóa ghép nối phải sử dụng nút trung gian để thiết lập khóa đường dẫn Qua đó, nút trung gian không may học được khóa đường dẫn đã thiết lập Để giảm thiểu vấn đề này, có thể sử dụng nhiều bên trung gian

Adaptable Pairwise Key Establishment Scheme (APKES)

APKES là chương trình hình thành pairwise key (được tạo một cách random) giữa 2 node hàng xóm với nhau, điều này giúp việc ngoài chịu root của nút chủ trong mạng 6LoWPAN mà còn phải biết được hàng xóm của mình "là ai?" - bạn hay thù APKES trải qua 3 pha:

 Pha 1: Optional preloading of short addresses - tùy chọn việc load trước địa chỉ ngắn Như đã đề cập ở trên, việc load trước các thông số bảo mật là cần thiết, đặc biệt là IDs để tạo ra các số ngẫu nhiên khi xác thực Với việc có 3 loại địa chỉ trong mạng là PAN-ID (PAN) và Short Address (SA) và Extended Address (EA) Ở APKES sẽ sử dụng 3 dạng địa chỉ trên để preload Tùy vào các scheme mà chọn 1 trong 3 dạng địa chỉ trên (Hình 3.3)

 Pha 2: Preloading of cryptographic material - load trước các khóa key Trước khi tham gia vào việc hình thành pairwise key thì bắt buộc mỗi nút u, v phải tạo ra được các số ngẫu nhiên mà cần ở đây là seed Si Do đó vào preload thông số này, Ví dụ Si ở đây là master key Km

 Pha 3: Pairwise key establishment - giai đoạn hình thành khóa key đôi Ở pha này, 2 nút u, v sẽ trao đổi với nhau 2 chiều qua các gói tin HELLO, HELLOACK, và ACK Tất cả đều tồn tại tại Lớp 2 (Link layer) mà không được xử lý ở các lớp trên Cho nút u là nút bắt đầu khởi tạo pairwise key với hàng xóm v 3 bước bắt tay như sau:

Trang 39

Hình 3.3 Các cách chia sẻ bí mật qua các pluggable scheme Nguồn [4]

Lúc khởi tạo, u sẽ tạo ra số ngẫu nhiên 𝑅𝑢 và broadcast gói tin HELLO chứa 𝑅𝑢 trong đó Hàng xóm v nhận được gói tin đó cũng tạo cho mình số ngẫu nhiên 𝑅𝑣 sao đó tính 𝑅𝑢||𝑅𝑉 và đợi 𝑇𝜔 (khoảng chờ ngẫu nhiên với max là 𝑀𝜔 - giúp tránh u khỏi bị nghẽn vì có quá nhiều HELLOACK trả về vì không phải chỉ có v mới là hàng xóm) Ngay khi chờ 𝑇𝜔 xong thì v gửi HELLOACK chứa 𝑅𝑢, 𝑢 và 𝑅𝑣 Ngoài ra gói HELLOACK được chèn thêm xác thực bằng CCM* key 𝐾𝑣,𝑢 nhờ vào việc chia sẻ bí mật thông qua các scheme đã đề cập trên Đồng thời v cũng tạo ra pairwise key là 𝐾′𝑣,𝑢 = AES(𝐾𝑣,𝑢 , 𝑅𝑢 || 𝑅𝑣)

Lúc này, u nhận gói ACK từ v sẽ tiến hành xác thực CCM* MIC bằng cách tạo ra 𝐾𝑢,𝑣 qua scheme tương ứng Ngoài ra là u còn check thêm 𝑅𝑢 có giữ không đổi hay không Khi tất cả điều trên thành công, u tạo pairwise key 𝐾′𝑢,𝑣 và gửi ACK cho v với xác thực bằng 𝐾′𝑢,𝑣 Dựa vào gói tin ACK từ u mà v kiểm tra CCM* MIC bằng việc sử dụng pairwise key 𝐾′𝑢,𝑣 vừa tạo

u : Tạo 𝑅𝑢 ngẫu nhiên u → * : HELLO < 𝑅𝑢 >

v : Tạo 𝑅𝑣 ngẫu nhiên và đợi trong 𝑇𝜔 ≤ 𝑀𝜔

Trang 40

v : 𝐾𝑣,𝑢 = xem hình

v → u : HELLOACK < 𝑅𝑢, 𝑅𝑣 >𝐾𝑣,𝑢

v : 𝐾′𝑣,𝑢 = AES(𝐾𝑣,𝑢, 𝑅𝑢 || 𝑅𝑣) u : 𝐾𝑢,𝑣 = xem hình

u : 𝐾′𝑢,𝑣 = AES(𝐾𝑢,𝑣, 𝑅𝑢 || 𝑅𝑣) u → v : ACK <>𝐾′𝑢,𝑣

a) Một số đặc điểm APKES

Ta thấy khung tin HELLO và HELLOACK đều có trường short address, nhờ vào SA này mà ta sử dụng được các scheme chia sẻ bí mật trong mạng Độ dài của |Ru| = |Rv| là 𝐿𝑝,𝑘

2 mà 𝐿𝑝,𝑘 là độ dài của pairwise key và thường chọn 16 bytes Ngoài ra còn có 4 byte frame counter Để tăng tính an toàn, chống kẻ tấn công khi cố gắng phát các gói tin HELLO gây tổn hại năng lương thì APKES cho mỗi nút chứa dữ liệu APKES (hình 3.4) để ngăn ngừa việc này và chia hàng xóm thành 2 loại: Nhất thời (Tentative neighbors) và Vình viễn (Permanent neighbors)

Hình 3.4 Dữ liệu APKES trong 1 nút mạng u Nguồn [4]

Ngày đăng: 31/07/2024, 09:45

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN