Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Lập Trình

Cơ chế hoạt động của Mã hóa Dữ liệu

Mã hóa chuyển plaintext → ciphertext bằng thuật toán E(K, P) = C. Giải mã: D(K, C) = P. Quy trình cốt lõi:

1. Đối xứng (Symmetric Encryption)

Một khóa K dùng chung cho enc/dec. Ví dụ: AES-GCM (khóa 128/192/256-bit).

Sender:  C = AES-GCM-Encrypt(K, P, nonce, AAD) → (C, tag)
Receiver: P = AES-GCM-Decrypt(K, C, nonce, AAD, tag) → P hoặc FAIL
  • Nonce (IV) phải duy nhất cho mỗi (K, nonce) pair.
  • AAD (Additional Authenticated Data): metadata không mã hóa nhưng được xác thực.
  • Tag: xác thực toàn vẹn + nguồn gốc.

2. Bất đối xứng (Asymmetric / Public-key Encryption)

Cặp khóa (PK, SK). PK công khai, SK bí mật.

  • Key Encapsulation (KEM): PK → đóng gói khóa đối xứng ngẫu nhiên K_sym. (RSA-OAEP, ECIES, Kyber).
  • Data Encapsulation (DEM): K_sym → AES-GCM mã hóa dữ liệu lớn.
  • Hybrid Encryption: Kết hợp KEM + DEM (tiêu chuẩn TLS 1.3, HPKE RFC 9180).

3. Quy trình thực tế (Ví dụ TLS 1.3)

  1. ClientHello: hỗ trợ cipher suite, key share (ECDHE).
  2. ServerHello: chọn suite, key share, certificate (RSA/ECDSA).
  3. Xác thực certificate chain (CA tin cậy).
  4. Key derivation: HKDF-Extract/Expand từ shared secret ECDHE → traffic keys.
  5. Application data: mã hóa bằng AES-256-GCM hoặc ChaCha20-Poly1305 với record sequence number làm nonce.

4. Quản lý khóa (Key Lifecycle)

  • Sinh: CSPRNG (hardware RNG, /dev/urandom, HSM).
  • Phân phối: KEM, key agreement (ECDH), hoặc out-of-band.
  • Lưu trữ: HSM, KMS, vault (HashiCorp Vault, AWS KMS, Azure Key Vault).
  • Xoay vòng (Rotation): Định kỳ, sau sự kiện bảo mật, khi nhân viên nghỉ.
  • Hủy/Destroy: Zeroize, revoke certificate.

5. Thiết bị di động / Portable

Laptop, USB, phone: Full-disk encryption (BitLocker, FileVault, LUKS, Android/iOS FBE) — bảo vệ dữ liệu at rest khi thiết bị mất/móc.

Lưu ý quan trọng: Mã hóa không tự bảo vệ chính nó. Cần: triển khai đúng thư viện (libsodium, OpenSSL, BoringSSL), constant-time, audit code, quản lý khóa chặt chẽ, monitoring.