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

Khóa riêng tư (Private Key) trong bảo mật mạng: Khái niệm, vai trò và cách hoạt động

Khóa riêng tư (Private Key) là gì?

Khóa riêng tư (còn gọi là khóa bí mật - secret key) là một chuỗi ký tự ngẫu nhiên, được giữ kín trong mật mã học khóa công khai (asymmetric cryptography). Nó luôn đi cặp với khóa công khai (Public Key) để thực hiện mã hóa/giải mã và chữ ký số.

Cơ chế hoạt động

Chức năngKhóa công khaiKhóa riêng tư
Mã hóa dữ liệuAi cũng có thể dùng để mã hóaChỉ chủ sở hữu mới dùng được để giải mã
Chữ ký sốAi cũng có thể xác thực chữ kýChỉ chủ sở hữu mới tạo được chữ ký
Bảo mậtCó thể chia sẻ công khaiPhải bảo vệ tuyệt đối, không chia sẻ

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

  • RSA: 2048-bit trở lên, dùng cho chữ ký SSL/TLS, email mã hóa
  • ECC (Elliptic Curve Cryptography): Curve25519, NIST P-256 - khóa ngắn hơn nhưng an toàn ngang RSA, hiệu năng tốt hơn
  • DSA/DSS: Chuẩn chữ ký số liên bang (FIPS 186)

Ứng dụng thực tế

1. Xác thực SSH

Khóa riêng tư lưu ở client (~/.ssh/id_rsa), khóa công khai copy lên server (~/.ssh/authorized_keys). Cho phép đăng nhập không mật khẩu, an toàn hơn brute-force.

2. Chứng chỉ SSL/TLS (HTTPS)

Server giữ khóa riêng tư, trình duyệt dùng khóa công khai (trong chứng chỉ) để thiết lập phiên mã hóa.

3. Mã hóa email (PGP/GPG, S/MIME)

Người gửi mã hóa bằng khóa công khai người nhận → chỉ người nhận (nắm khóa riêng) mới đọc được.

4. Chữ ký code/phần mềm

Nhà phát triển ký code bằng khóa riêng → hệ điều hành xác thực bằng khóa công khai → đảm bảo code không bị sửa đổi.

Quản lý khóa riêng tư an toàn

  • Tạo khóa: Dùng ssh-keygen -t ed25519 hoặc openssl genrsa 4096 trên máy tin cậy
  • Lưu trữ: File được mã hóa bằng passphrase mạnh (AES-256), backup offline (USB mã hóa, HSM, token phần cứng YubiKey)
  • Thu hồi: Nghi ngờ bị lộ → thu hồi chứng chỉ, tạo cặp khóa mới, cập nhật tất cả hệ thống liên quan
  • Không bao giờ: Commit khóa riêng vào Git, gửi qua email/chat, lưu trên cloud không mã hóa

Khác biệt: Private Key vs Secret Key (Khóa đối xứng)

Private Key (bất đối xứng): Cặp khóa công khai/riêng tư, dùng cho trao đổi khóa, chữ ký số, xác thực danh tính.

Secret Key (đối xứng - AES, ChaCha20): Một khóa duy nhất dùng cho cả mã hóa và giải mã, nhanh hơn, dùng cho mã hóa dữ liệu lượng lớn (file, ổ cứng, TLS session).

Kiểm tra cặp khóa

# So sánh modulus của cert và private key
openssl x509 -noout -modulus -in cert.pem | openssl md5
openssl rsa -noout -modulus -in private.key | openssl md5
# Kết quả MD5 phải trùng nhau