Mã xác thực thông báo (MAC)

Dữ liệu gốc MAC cho phép bạn xác minh rằng không có ai can thiệp vào dữ liệu của bạn. Một người gửi dùng chung một khoá đối xứng với người nhận có thể tính toán thẻ xác thực cho một thư nhất định, qua đó cho phép người nhận xác minh rằng thư là của người gửi dự kiến và chưa được sửa đổi.

MAC có các thuộc tính sau:

  • Tính xác thực: Biết khoá là cách duy nhất để tạo thẻ MAC có thể xác minh.
  • Đối xứng: Việc tính toán và xác minh thẻ yêu cầu cùng một khoá.

MAC có thể là định nghĩa hoặc ngẫu nhiên, tuỳ thuộc vào thuật toán. Hiện tại, Tink chưa triển khai các thuật toán MAC không xác định. Bạn chỉ nên sử dụng MAC để xác thực thông báo, không cho các mục đích khác như tạo các byte giả ngẫu nhiên (đối với trường hợp đó, hãy xem phần PRF).

Thay vào đó, nếu bạn cần một ký tự gốc bất đối xứng, hãy xem phần Chữ ký số.

Chọn loại khoá

Bạn nên sử dụng HMAC_SHA256 cho hầu hết các trường hợp sử dụng, nhưng bạn cũng có các lựa chọn khác.

Nhìn chung, những điều sau đây đúng:

  • HMAC_SHA512 có thể nhanh hoặc không nhanh hơn tuỳ thuộc vào kích thước thông báo của bạn và thông tin cụ thể về phần cứng mà bạn sử dụng.
  • HMAC_SHA512 là chế độ thận trọng nhất có thể được sử dụng cho số lượng thông báo trên thực tế không giới hạn.
  • AES256_CMAC hoạt động nhanh nhất trên các hệ thống hỗ trợ tính năng tăng tốc phần cứng AES-NI.

Đảm bảo bảo mật ở mức tối thiểu

  • Độ mạnh xác thực tối thiểu 80 bit
  • Bảo mật chống lại hành vi giả mạo hiện có bằng cuộc tấn công bằng văn bản thuần tuý đã chọn
  • Tối thiểu là 128 bit bảo mật trước các cuộc tấn công khôi phục khoá, cũng như trong trường hợp nhiều người dùng (khi kẻ tấn công không nhắm đến một khoá cụ thể mà nhắm đến bất kỳ khoá nào trong một tập hợp tối đa 232 khoá)

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

Xem mục Tôi muốn bảo vệ dữ liệu khỏi hành vi can thiệp.