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

Mã hóa khóa công khai (Public Key Encryption): Cơ chế, khóa dùng để mã hóa/giải mã và ứng dụng

Cơ chế mã hóa khóa công khai (Asymmetric Encryption)

Khác với mã hóa đối xứng (cùng một khóa mã hóa/giải mã), mã hóa bất đối xứng sử dụng cặp khóa liên quan toán học:

  • Public Key (Khóa công khai): Công khai cho mọi người - dùng để MÃ HÓA (Encrypt) hoặc XÁC THỰC CHỮ KÝ (Verify Signature)
  • Private Key (Khóa riêng): Giữ bí mật tuyệt đối - dùng để GIẢI MÃ (Decrypt) hoặc TẠO CHỮ KÝ (Sign)

Quy tắc vàng: Dữ liệu mã hóa bằng Public Key chỉ Private Key tương ứng mới giải mã được. Không thể suy ngược Private Key từ Public Key (computationally infeasible).

Quy trình trao đổi khóa phiên (Hybrid Encryption) - Thực tế TLS/HTTPS

  1. Client hello → Server gửi Certificate (chứa Public Key, ký bởi CA)
  2. Client verify Certificate (CA tin cậy, không hết hạn, khớp domain, không bị revoke)
  3. Client sinh Pre-Master Secret ngẫu nhiên → Mã hóa bằng Public Key của Server → Gửi cho Server
  4. Server dùng Private Key giải mã → Lấy Pre-Master Secret
  5. Cả hai độc lập suy ra Session Keys (Symmetric keys: AES-GCM, ChaCha20-Poly1305)
  6. Phiên làm việc dùng Symmetric Encryption (nhanh, hiệu quả) cho dữ liệu ứng dụng

Các thuật toán phổ biến

Tại sao Public Key Encryption an toàn?

  • Private key không bao giờ truyền tải qua mạng - giảm rủi ro bị chặn
  • Dựa trên bài toán khó: Integer Factorization (RSA) hoặc Elliptic Curve Discrete Logarithm (ECC)
  • Forward Secrecy (Ephemeral keys): Compromise private key lâu dài không giải mã được session cũ
  • Authentication: Chữ ký số chứng minh nguồn gốc và toàn vẹn

Ứng dụng thực tế

  • TLS/HTTPS: Bảo vệ web, API, Email (SMTP/IMAP/POP over TLS)
  • Email Encryption: PGP/GPG, S/MIME - Mã hóa nội dung email end-to-end
  • Code Signing: Driver signing, App signing, SBOM signing (cosign, sigstore)
  • SSH Keys: Đăng nhập server không mật khẩu, Git commit signing
  • Document Signing: Adobe PDF, DocuSign, eIDAS qualified signatures
  • Blockchain/Crypto: Address = Hash(Public Key), Transaction signing
  • Messaging E2EE: Signal Protocol (X3DH + Double Ratchet), Matrix/Olm
  • Passkeys / FIDO2 / WebAuthn: Passwordless auth, Public key credential

Lưu ý bảo mật quan trọng

  • Bảo vệ Private Key: HSM (Hardware Security Module), TPM, Secure Enclave, YubiKey, Smart Card
  • Key Rotation: Thay thế định kỳ (90-365 ngày), thu hồi (revoke) ngay khi nghi ngờ compromise
  • Certificate Transparency (CT): Giám sát cert issuance cho domain của mình
  • Post-Quantum Readiness: Chuẩn bị chuyển sang ML-KEM (Kyber), ML-DSA (Dilithium) theo NIST PQC
Thuật toánLoạiĐộ an toàn tương đươngỨng dụng chính
RSA-2048Asymmetric112-bit symmetricTLS Cert, Email encryption, Code signing (đang phase out)
RSA-3072Asymmetric128-bit symmetricYêu cầu mới cho TLS 1.3, Code signing
RSA-4096Asymmetric150-bit symmetricHigh security, Long-term signing (Root CA)
ECDSA P-256 / secp256r1Asymmetric (ECC)128-bit symmetricTLS 1.3, JWT, Blockchain, Passkeys/FIDO2
ECDSA P-384 / secp384r1Asymmetric (ECC)192-bit symmetricSuite B, Government, Top Secret
Ed25519 (EdDSA)Asymmetric (ECC)128-bit symmetricSSH keys, TLS 1.3, Signing, Modern crypto
X25519 (ECDH)Key Agreement128-bit symmetricTLS 1.3 Key Exchange, Signal Protocol, WireGuard
Kyber-768 (ML-KEM)KEM (Post-Quantum)192-bit classical / 128-bit quantumTLS 1.3 PQ, NIST PQC Standard (2024)