SNMPv3
Khuôn dạng bản tin SNMPv3 được phân chia trong trong bốn phần
- Dữ liệu chung (Common data)- Trường này xuất hiện trong tất cả các bản tin SNMPv3.
- Bảo mật mô hình dữ liệu (Security model data)- Vùng này có ba phần: phần chung, phần dành cho sự chứng thực và phần cho dữ liệu riêng.
- Context – Hai trường nhận dạng và tên được dùng để cung cấp context cho PDU nào sẽ phải xử lý.
- PDU –Vùng này chứa một SNMPv2c PDU.
MessageVersion : Trường đầu tiên trong bản tin là trường phiên bản SNMP.Trường này cung cấp tính tương thích với các phiên bản khác nhau. Giá trị 3 trong trường này chỉ ra đây là một bản tin SNMPv3. Giá trị 2 và 1 tương ứng với SNMPv2 và SNMPv1.
MessageID: là một số được sử dụng giữa hai thực thể cho bản tin tương quan.
MaxMessageSize: kích thước lớn nhất của bản tin được hỗ trợ bởi bên gửi bản tin.
MessageFlags: Cờ đánh dấu bản tin có độ dài 1 byte, xác định sự thiết lập chứng thực và đặt riêng cho bản tin. Nó cũng thông báo khi bản tin yêu cầu một sự đáp lại từ phía máy thu.
+ 0 được dành cho “ any ” (bất kỳ). + 1 được dành cho SNMPv1. + 2 được dành cho SNMPv2c.
+ 3 được dành cho USM (User-based Security Model).
+ 4-555 được dành cho những mô hình bảo mật tiêu chuẩn khác.
Mô hình bảo mật dữ liệu chung:
Phần chung của mô hình bảo mật dữ liệu bao gồm các trường sau: + EngineID: Sự nhận dạng duy nhất của engine SNMPv3.
+ EngineBoots: là khoảng thời gian mà engine SNMP bắt đầu up hoặc reset giá trị của usmUserTable cuối cùng bị sửa đổi.
+ EngineTime: Số giây mà giá trị EngineBoots cuối được sửa đổi. + UserName: Tên của người dùng.
Những trường trên đi trước các vùng dữ liệu chứng thực và riêng lẻ. EngineID và User Name được dùng để tạo một chỉ số trong một bảng gọi là usmUserTable. Bảng này lưu giữ dữ liệu mô hình bảo mật cho EngineID và cặp người dùng.
Mô hình bảo mật dữ liệu qua chứng thực:
Hai giao thức chứng thực hỗ trợ trong SNMPv3 là MD5 và SHA. Cả hai giao thức cùng phục vụ cho mục đích: xác nhận thông báo SNMPv3.
Mô hình bảo mật dữ liệu qua giao thức riêng:
Trường của giao thức riêng lẻ là chuỗi 18 byte octet dùng cho thuật toán tiêu chuẩn mã hóa dữ liệu DES (Data Encryption Standard). Mã hóa dùng khóa 16 byte.