Download as pdf or txt
Download as pdf or txt
You are on page 1of 6

PROPOSAL PAPER FOR CRYPTOGRAPHY PROJECT

APPLYING ZIGBEE PROTOCOL INTO THE SECURITY


NETWORK OF IOT-BASED SMART CITIES

Members:
- Nguyễn Hữu Nhân - 22521002
- Hoàng Vũ - 22521690

Lecturer: Nguyễn Ngọc Tự

—-------------------------------------------------------------------------------

1. Application Scenarios:
Phát triển hạ tầng thành phố thông minh
Tự động hóa nhà cửa và các tòa nhà thông minh
Tự động hóa và kiểm soát công nghiệp
Giám sát và quản lý y tế
Giám sát và kiểm soát môi trường

1.1 Gaps:
Ngày nay, vì công nghệ IOT vẫn còn mới nên đã nảy sinh nhiều vấn đề lớn
ở nhiều khía cạnh, trong đó, những mặt hạn chế về các vấn đề an ninh và
bảo mật, điển hình là các cuộc tấn công cryptanalysis là không thể xem
nhẹ.
Trong đó, các loại tấn công phổ biến là Known-plaintext attack,
Ciphertext-only attack và Man in the middle Attack, …

Điều này dẫn đến nhiều mối lo ngại về an ninh liên quan đến các lỗ hổng
tiềm ẩn trong hệ thống Smart city.
Thiếu các giao thức tiêu chuẩn để tích hợp mượt mà với các hệ thống
thành phố thông minh hiện tại.

1.2 Realistic Examples: Theo thống kê thực tế, có đến hơn 80% các
công ty liên quan đến công nghệ IoT đã từng báo cáo xảy ra vi phạm bảo
mật liên quan đến các sản phẩm, mặt hàng có sử dụng công nghệ này.

1.3 Related Stakeholders:


Công dân: người dùng dịch vụ
Server: cung cấp dịch vụ
Attacker: đánh cắp thông tin
Nhà sản xuất: cung cấp thiết bị hỗ trợ Zigbee

2. Solutions.

- Nâng cấp phương diện bảo mật của phương thức Zigbee thường được
sử dụng trong công nghệ IoT bằng các thuật toán crypto mang tính bảo mật
tốt và áp dụng nó vào hệ thống Smart City.

Sử dụng thuật toán mã hóa AES (Advanced Encryption Standard)

Chúng ta sẽ sử dụng thuật toán AES-128 cho việc mã hóa, là một loại mã
hóa đối xứng, sử dụng cùng một khóa để mã hóa và giải mã dữ liệu của
bạn. Điều này có nghĩa là cả người gửi và người nhận dữ liệu đều cần biết
khóa để có thể giao tiếp an toàn. Dưới đây là cách áp dụng AES vào
phương thức Zigbee để nâng cao bảo mật của nó:

● Tạo khóa: Tạo 1 khóa 128-bit để sử dụng cho cả quá trình encryption
và decryption. Khóa này cần được trao đổi một cách bí mật giữa các
thiết bị bằng một phương thức trao đổi khóa.
● Encryption: Khi một thiết bị muốn gửi một tin nhắn, nó cần đầu tiên
mã hóa tin nhắn bằng thuật toán AES-128 bit. Tin nhắn sau đó sẽ
được gửi đi qua mạng lưới Zigbee.

● Decryption: Khi một thiết bị nhận được cipher text, nó giải mã tin nhắn
bằng cùng một thuật toán AES-128 và khóa riêng đã được lưu trước
đó.

● Authentication (xác thực): Zigbee cũng sử dụng AES-128 cho xác


thực tin nhắn. Người gửi tin nhắn tạo một Message Integrity Code
(MIC) bằng thuật toán AES-128 và thêm nó vào tin nhắn. Người nhận
sau đó tạo ra MIC của riêng mình cho tin nhắn đã nhận và so sánh nó
với MIC nhận được để xác minh tính xác thực của tin nhắn.

Zigbee sử dụng mã hóa AES trong chế độ hoạt động CCM* (Counter with
CBC-MAC).

Chế độ CCM* là sự kết hợp giữa chế độ CTR (Counter) và chế độ


CBC-MAC (Cipher Block Chaining Message Authentication Code). Nó cung
cấp cả hai chức năng là mã hóa và xác thực.
Cấu trúc CBC-MAC

Trong chế độ CCM*, tin nhắn được xác thực trước và sau đó được mã hóa.
Phần xác thực được thực hiện bằng cách sử dụng CBC-MAC và quá trình
mã hóa được thực hiện bằng chế độ CTR (Counter).

Chế độ hoạt động này rất phù hợp cho các giao thức truyền thông không
dây như Zigbee vì nó cung cấp một mức độ bảo mật cao và hiệu quả trong
xử lý các khối dữ liệu nhỏ, điều này thường xuyên xuất hiện trong các mạng
truyền thông không dây.

3. Implementation

Cần đảm bảo các yêu cầu sau đây

Sau khi triển khai AES vào Zigbee, nên đảm bảo các tiêu chí sau được đáp
ứng:

Bảo mật thông tin: Mã hóa AES nên đảm bảo rằng dữ liệu truyền qua
mạng Zigbee là bí mật. Chỉ có người nhận đích thực với khóa đúng mới có
thể giải mã và đọc dữ liệu.
Integrity (Tính toàn vẹn): Việc triển khai nên đảm bảo tính toàn vẹn của dữ
liệu. Bất kỳ sự thay đổi nào trong dữ liệu trong quá trình truyền phải có thể
phát hiện được.

Xác thực: Triển khai AES kết hợp với giao thức Zigbee nên cung cấp cách
để xác thực các thiết bị trong mạng. Điều này có nghĩa là các thiết bị nên có
khả năng xác minh danh tính của nhau.

Non-repudiation (Không chối bỏ): Hệ thống nên đảm bảo tính chất không
thể chối bỏ, có nghĩa là một thiết bị không thể phủ nhận đã gửi một tin
nhắn.

Hiệu suất: Triển khai AES không nên làm giảm đáng kể hiệu suất của
mạng Zigbee. Quá trình mã hóa và giải mã nên được thực hiện một cách
hiệu quả.

Quản lý khóa: Mỗi thiết bị đều lưu trữ khóa riêng để có thể mã hóa và giải
mã khi truyền dữ liệu

Tương thích: Triển khai AES nên tương thích với các thiết bị và tiêu chuẩn
Zigbee hiện tại.

Khả năng chống lại các cuộc tấn công: Triển khai nên chống lại các cuộc
tấn công mật mã đã biết như tấn công replay, tấn công trung gian, vv.

4. Open Source and Platform


- Program language: C++
- Do thiết bị IOT có giới hạn về dung lượng nên không gọi thêm các thư viện
cryptographic bên ngoài.

References:

- https://development.libelium.com/zigbee-networking-guide/security-an
d-data-encryption
- https://ieeexplore.ieee.org/abstract/document/8910320
- https://en.wikipedia.org/wiki/Advanced_Encryption_Standard
- https://en.wikipedia.org/wiki/Block_cipher_mode_of_operation#Count
er_with_cipher_block_chaining_message_authentication_code_(CCM)
- Usage of ZigBee and LoRa wireless technologies in IoT systems |
IEEE Conference Publication | IEEE Xplore
- Security algorithm of Internet of Things based on ZigBee protocol
(researchgate.net)

You might also like