Computer >> Hướng Dẫn Máy Tính >  >> Kết Nối Mạng >> An Ninh Mạng

Sequence Key (Khóa chuỗi) trong bảo mật mạng: Khái niệm, vai trò và ứng dụng

Sequence Key (Sequence Number / Session Sequence) là gì?

Trong bảo mật mạng, Sequence Key thường chỉ Sequence Number (Số thứ tự gói tin/phiên) – một giá trị số tăng dần (monotonically increasing) được gán cho từng gói tin hoặc bản ghi trong một phiên giao tiếp an toàn (secure session). Mục đích: ngăn chặn Replay Attack (tấn công phát lại) và đảm bảo tính thứ tự (ordering) của luồng dữ liệu.

Vai trò cốt lõi

  1. Anti-Replay (Chống phát lại): Receiver duy trì cửa sổ trượt (sliding window) của các sequence number đã nhận. Gói tin có sequence number ≤ window thấp nhất hoặc đã có trong window → drop (loại bỏ).
  2. Reordering / Loss Detection: Phát hiện gói tin mất, đến sai thứ tự → yêu cầu retransmit (TCP) hoặc xử lý theo logic ứng dụng (DTLS, QUIC, IPsec).
  3. Key Derivation / Key Rotation: Sequence number đôi khi dùng làm input cho KDF (Key Derivation Function) để sinh khóa phiên con (per-record key) – ví dụ: TLS 1.3 record layer, IPsec ESP.
  4. State Synchronization: Đồng bộ trạng thái giữa sender/receiver trong stateful protocol (TCP, IPsec SA, TLS record layer, SSH, DTLS, QUIC).

Ứng dụng trong các giao thức bảo mật chính

Giao thứcCơ chế Sequence NumberKích thướcChống Replay
IPsec ESP (RFC 4303)32-bit Sequence Number (mỗi SA). Sender tăng 1 mỗi gói. Receiver: sliding window 64-bit (mặc định).32-bit (mở rộng 64-bit ESN - Extended Sequence Number)Anti-replay window (default 64 packets).
TLS 1.2 / 1.3 Record LayerImplicit 64-bit sequence number (mỗi direction, mỗi epoch). Không truyền trên dây (implicit). Dùng cho AEAD nonce construction.64-bit (implicit)Receiver track window, drop duplicate/old.
DTLS 1.2 / 1.3Explicit 16-bit epoch + 48-bit sequence number (trên dây). Xử lý reorder/loss do UDP.64-bit (epoch+seq)Sliding window, bitmap.
SSH (RFC 4253)32-bit packet sequence number mỗi direction. Dùng trong MAC calculation (Encrypt-then-MAC).32-bitDrop nếu seq không tăng dần.
QUIC (RFC 9000)Packet Number (PN) 62-bit (variable-length encoding). Mỗi packet space (Initial, Handshake, 0-RTT, 1-RTT) có PN riêng.62-bitACK frame xác nhận PN nhận được, drop duplicate.
SRTP (RFC 3710)48-bit rollover counter (ROC) + 16-bit sequence number = 64-bit index. Dùng cho key derivation (AES-GCM, AES-CM).64-bitReplay list / bitmap.

Sequence Key vs Session Key vs Master Key

  • Master Key (MK): Khóa gốc (từ key exchange: DH, ECDH, RSA, PSK) – dùng để derive các khóa khác.
  • Session Key / Traffic Key: Khóa mã hóa/xác thực cho một phiên (derive từ MK + nonces).
  • Sequence Number (Sequence Key): KHÔNG PHẢI KHÓA MÃ HÓA – là counter công khai (hoặc implicit) dùng để đảm bảo tính tươi (freshness) và trật tự, đầu vào cho nonce/IV construction.

Lỗ hổng liên quan đến Sequence Number

  1. Sequence Number Wraparound: 32-bit SN hết giá trị sau 4 tỷ gói tin (IPsec) → cần Extended Sequence Number (ESN 64-bit) cho high-speed link.
  2. Replay Window quá lớn / không kiểm tra: Cho phép gói tin cũ được chấp nhận.
  3. IV/Nonce reuse do Sequence Number reset: Nếu session resume/rekey không reset sequence đúng cách → nonce reuse → catastrophic failure cho AES-GCM/ChaCha20-Poly1305.
  4. Side-channel timing attack trên sequence number check.

Best Practice triển khai

  • Luôn bật Anti-Replay (IPsec: `replay-window`, TLS/DTLS: built-in).
  • Dùng Extended Sequence Number (ESN) cho IPsec high-throughput (>1Gbps sustained).
  • Đảm bảo Key Rotation / Rekey trước khi sequence number wraparound (IPsec: rekey dựa trên time/volume).
  • Triển khai Constant-time sequence check để tránh timing side-channel.
  • Audit log: ghi nhận sequence gap lớn (potential attack/loss).

Kết luận

Sequence Key (Sequence Number) không phải khóa bí mật mà là counter công khai/implicit đóng vai trò then chốt trong chống Replay Attack, đảm bảo thứ tự gói tin, và xây dựng nonce/IV cho AEAD. Mọi giao thức bảo mật hiện đại (IPsec, TLS 1.3, DTLS, SSH, QUIC, SRTP, WireGuard) đều tích hợp cơ chế sequence number + sliding window anti-replay. Triển khai đúng: bật anti-replay, dùng ESN khi cần, quản trị rekey trước wraparound, constant-time check.