Mã hoá xác thực xác thực với dữ liệu liên kết (AEAD xác định)

Mã hoá xác thực có tính xác định với dữ liệu liên kết (AEAD có tính xác định) cung cấp tính năng mã hoá với thuộc tính có tính xác định: việc mã hoá cùng một dữ liệu luôn tạo ra cùng một văn bản đã mã hoá. Loại mã hoá này rất hữu ích cho việc gói khoá hoặc cho một số lược đồ tìm kiếm trên dữ liệu đã mã hoá (xem RFC 5297, Mục 1.3 để biết thêm thông tin). Do thuộc tính xác định của hàm số nguyên tố này, việc triển khai hàm số nguyên tố này có thể dẫn đến việc mất tính bảo mật vì kẻ tấn công chỉ cần tìm ra văn bản đã mã hoá cho một thông báo nhất định để xác định các thực thể khác của thông báo đó.

AEAD xác định có các thuộc tính sau:

  • Secrecy: Không có thông tin nào về văn bản thô, ngoại trừ độ dài và tính đồng nhất của các văn bản thô lặp lại.
  • Tính xác thực: Không thể thay đổi văn bản thô đã mã hoá cơ bản của văn bản đã mã hoá mà không bị phát hiện.
  • Đối xứng: Việc mã hoá văn bản thô và giải mã văn bản đã mã hoá được thực hiện bằng cùng một khoá.
  • Định tính: Miễn là khoá chính không thay đổi, việc mã hoá văn bản thô hai lần bằng cùng một tham số sẽ dẫn đến cùng một văn bản đã mã hoá.

Dữ liệu liên quan

Bạn cũng có thể dùng AEAD có tính chất xác định để liên kết văn bản đã mã hoá với dữ liệu liên kết cụ thể. Ví dụ: nếu bạn có một cơ sở dữ liệu với các trường user-idencrypted-medical-history: Trong trường hợp này, user-id có thể được dùng làm dữ liệu liên kết khi mã hoá encrypted-medical-history. Điều này ngăn kẻ tấn công chuyển hồ sơ y tế từ người dùng này sang người dùng khác.

Chọn loại khoá

Bạn nên sử dụng loại khoá AES256_SIV cho tất cả các trường hợp sử dụng.

Cam kết bảo mật

  • Độ mạnh của chế độ xác thực tối thiểu là 80 bit.
  • Văn bản thô và dữ liệu liên kết có thể có độ dài tuỳ ý (trong phạm vi từ 0 đến 232 byte).
  • Cấp độ bảo mật 128 bit chống lại các cuộc tấn công khôi phục khoá, cũng như trong các cuộc tấn công nhiều người dùng với tối đa 232 khoá – tức là nếu đối phương thu được 232 văn bản đã mã hoá của cùng một thông báo được mã hoá theo 232 khoá, thì họ cần thực hiện 2128 phép tính để lấy một khoá duy nhất.
  • Khả năng mã hoá an toàn 238 thư, miễn là mỗi thư có kích thước dưới 1 MB.

Trường hợp sử dụng mẫu

Hãy xem tôi muốn mã hoá dữ liệu một cách xác định và muốn liên kết văn bản đã mã hoá với ngữ cảnh của văn bản đó.