Encryption vs Decryption

Encryption in flight (TLS / SSL)

  • Dữ liệu sẽ được encrypt trước khi gửi và được decrypt sau khi nhận
  • TLS certificates hỗ trợ quá trình encrypt (HTTPS)
  • TLS là bản nâng cấp của SSL
  • Encryption in flight đảm bảo không xảy ra MITM (Man-In-The-Middle Attack - tấn công trung gian)
  1. Client khởi tạo dữ liệu gốc: ví dụ như username và password (Username: admin, Password: supersecret)
  2. TLS Encryption: Trước khi gửi, dữ liệu sẽ được mã hóa bằng TLS (được biểu diễn bởi icon ổ khóa đỏ).
  3. Truyền dữ liệu đã mã hóa: Dữ liệu sẽ ở dạng mã hóa (ví dụ: aGVsbG8gd29ybGQ...), không thể đọc được bởi bên thứ ba.
  4. TLS Decryption tại Server: Server sẽ giải mã dữ liệu để nhận lại thông tin gốc (Username: admin, Password: supersecret)
  5. Website (HTTPS): Dữ liệu sau khi giải mã sẽ được sử dụng bởi web server (thường là ứng dụng web sử dụng HTTPS).

Server-side encryption

  • Data sẽ được encrypt sau khi được server nhận
  • Data sẽ được decrypt trước khi được gửi ra ngoài
  • Dữ liệu được lưu trữ dưới dạng đã encrypt, nhờ vào một key (thường là data key)
  • Các encryption/decryption key phải được quản lý ở đâu đó (ví dụ: AWS KMS), và server phải có quyền truy cập

Client-side encryption

  • Dữ liệu được encrypt bởi client và không bao giờ bị decrypt bởi server
  • Việc decrypt sẽ được thực hiện ở phía client nhận dữ liệu
  • Server không nên (và không thể) decrypt dữ liệu
  • Có thể áp dụng Envelope Encryption để bảo vệ data key
Bạn thấy bài này thế nào?