Mạng Zigbee (IEEE 802.15.4) xây dựng cơ chế bảo mật ở cả ba tầng là tầng MAC, tầng Mạng và tầng Ứng dụng. Trong tầng MAC, việc bảo mật đảm bảo cho các gói tin truyền trực tiếp từ một nút mạng sang nút hàng xóm lân cận của nó. Cơ chế bảo mật trong tầng Mạng và tầng Ứng dụng áp dụng cho các gói tin phải chuyển qua một hoặc nhiều nút trung gian trong mô hình mạng lớn.
Nên tảng bảo mật trong mạng Zigbee được dựa trên phương pháp mã hóa AES 128- bit, AES (Advance Encryption Standard): tiêu chuẩn mã hóa tiên tiến, là một phương phápmã hóa khối (block ciphers) được chính phủ Mỹ áp dụng làm tiêu chuẩn mã hóa. Đây là phương phápmã hóa đối xứng với độ dài khóa là 128bit, (ngoài ra còn có các độ dài 192-bit và 256-bit), dữ liệu sẽ được mã hóa và giải mã nhờ một cặp khóa có quan hệ rõ ràng với nhau (có thể tìm được một khóa nếu biết khóa kia) hoặc có thể hoàn toàn giống nhau. Dữ liệu sẽ được tách để mã hóa và giải mã theo từng khối 128-bit (để phân biệt với mã hóa luồng với dữ liệu được mã hóa theo từng bit).
Hình 3. 38: Mô hình mã hóa và giải mã trong mạng Zigbee [4, tr123]
Có hai dạng khóa được sử dụng trong quá trình truyền thông là khóa liên kết (link key) và khóa mạng (network key). Khóa liên kết là khóa dùng cho việc truyền thông giữa chỉ 2 thiết bị và sử dụng phương thức truyền đơn điểm (unicast), còn khóa mạng là khóa dùng cho việc truyền quảng bá vì được chia sẻ đến tất cả các thành viên trong mạng. Trong mạng Zigbee, có một thiết bị được thiết kế để thực hiện chức năng phân phối khóa có tên là Trung tâm Tin cậy (Trust Center), thiết bị đóng vai trò này sẽ phân phối cả khóa mạng và khóa liên kết đến các thiết bị khác.
Trung tâm Tin cậy được hoạt động dưới 2 chế độ: chế độ thương mại (commercial mode) và chế độ dân cư (residential mode).
Chế độ thương mại: trong chế độ này, Trung tâm Tin cậy phải duy trì danh sách các thiết bị, các khóa. Tất cả các thông điệp đi qua đều phải kiểm tra sự “tươi”. Một gói tin được cho là tươi nếu thỏa mãn không có gói tin nào trùng nó (tránh việc mạo danh). Trong chế độ này, bộ nhớ của nút được làm Trung tâm Tin cậy sẽ gia tăng tỉ lệ thuận với số lượng các thiết bị trong mạng.
Chế độ dân cư: chế độ này ngược lại, được thiế kế cho việc ít bảo mật. Chỉ có khóa là được quản lí bởi trung tâm, hai yêu cầu còn lại là tùy chọn. Việc kiểm tra thiết bị cũng không phải là công việc bắt buộc. Trong chế độ này, bộ nhớ của nút được làm Trung tâm Tin cậy sẽ không gia dựa số lượng các thiết bị trong mạng như chế độ thương mại.
Các chức năng bảo mật trong mạng Zigbee:
- Xác thực (Authentication): có hai dạng là xác thực thiết bị và xác thực dữ liệu.
- Xác thực thiết bị được thực hiện bởi Trung tâm Tin cậy khi thiết bị khởi đầu tham gia vào mạng, thiết bị không được xác thực bởi trung tâm sẽ không được gia nhập mạng.
- Xác thực dữ liệu trong mạng Zigbee thì để đảm bảo tính toàn vẹn của các dữ liệu truyền đi, việc xác thực này dùng mã đặc biệt là Mã Toàn
pháp mã hóa được thống nhất giữa bên gửi và bên nhận, thiết bị không được xác thực sẽ không có quyền tạo ra mã này. Thiết bị nhận sẽ kiểm tra MIC của gói tin được gửi bởi thiết bị gửi để xem dữ liệu nhận được có đảm bảo tính toàn vẹn và chính xác hay không.
Hình 3. 39: Ứng dụng MIC trong xác thực dữ liệu của mạng Zigbee
MIC cũng được gọi là thông điệp mã xác thực MAC (Message Authentication Code) nhưng mạng Zigbee không dùng khái niệm này để tránh hiểu nhầm với khái niệm tầng MAC trong mạng. MIC trong Zigbee được triển khai sử dụng giao thức nâng cấp Mã hóa khối Chuỗi thông điệp mã xác thực với biến đếm CCM* (enhanced Couter with Chaining Message Authentication Code). Giao thức này được định nghĩ để sử dụng kết hợp với mã hóa 128-bit AES và dùng chung dữ liệu khóa.
Trong cấu trúc khung dữ liệu tầng MAC trong mạng Zigbee, có ba trường có liên quan đến việc xác thực dữ liệu bằng MIC/CCM*, đó là trường : Frame Control, Auxiliary Security Header và Data Payload. Trường Auxiliary Security Header không chỉ có ở tầng MAC mà còn có ở các tầng Mạng và Ứng dụng để xác thực dữ liệu. Trong mô hình trao đổi dữ liệu ở trên, có 3 thông tin được đưa vào bộ mã hóa AES-CCM* là dữ liệu, khóa và một thông tin tổng hợp nonce.
Nonce được tạo ra bởi các thông tin trong cấu trúc trường Auxiliary Security
Hình 3. 40: Cấu trúc Auxiliary Security Header và CCM* Nonce [4, tr 131]
Trường Security Control cũng quy định mức độ bảo mật của MIC và quy định dữ liệu có được mã hóa hay không với thuộc tính ENC(Encryption). Bảng dưới đây mô tả các dạng bảo mật của MIC, bao gồm MIC có kích thước 32, 64 và 128-bit. Các mức bảo mật này cũng được áp dụng cho tầng Mạng và tầng Ứng dụng
Bảng 3. 7: Các mức bảo mật về xác thực dữ liệu trong mạng Zigbee
Việc kiểm tra xác thực dữ liệu được áp dụng cho cả 3 tầng là tầng MAC, tầng Mạng và tầng Ứng dụng, trường chứa MIC sẽ được nằm phía bên phải của trường Tải dữ liệu (Payload) của mỗi tầng như thể hiện ở hình 3.41
Hình 3. 41: Trƣờng MIC trong các tầng trong mạng Zigbee [4, tr 131]
Tổng kết lại, các dịch vụ bảo mật của mạng Zigbee có nhiệm vụ: -Mã hóa để bảo mật dữ liệu
-Xác thực thiết bị và xác thực dữ liệu
-Bảo vệ việc chuyển tiếp (bằng cách loại bỏ các gói tin bị trùng lặp)