메일 인증 코드 (MAC)

MAC 원시 함수를 사용하면 데이터가 조작되지 않았는지 확인할 수 있습니다. 발신자가 수신자와 대칭 키를 공유하면 특정 메시지의 인증 태그를 계산할 수 있습니다. 이를 통해 수신자는 메시지가 예상 발신자가 보낸 메시지이고 수정되지 않았는지 확인할 수 있습니다.

MAC에는 다음과 같은 속성이 있습니다.

  • 진위성: 키를 알고 있어야만 검증 가능한 MAC 태그를 만들 수 있습니다.
  • Symmetric: 태그를 계산하고 확인하려면 동일한 키가 필요합니다.

MAC은 알고리즘에 따라 결정론적일 수도 있고 무작위일 수도 있습니다. Tink는 현재 비결정론적 MAC 알고리즘을 구현하지 않습니다. MAC은 메시지 인증에만 사용해야 하며, 가상 무작위 바이트 생성과 같은 다른 목적으로는 사용해서는 안 됩니다 (이 경우 PRF 참고).

대신 비대칭 원시 요소가 필요한 경우 디지털 서명을 참고하세요.

키 유형 선택

대부분의 경우 HMAC_SHA256을 사용하는 것이 좋지만 다른 옵션도 있습니다.

일반적으로 다음이 적용됩니다.

  • HMAC_SHA512는 메시지 크기와 사용하는 하드웨어의 세부사항에 따라 더 빠를 수도 있고 더 느릴 수도 있습니다.
  • HMAC_SHA512는 거의 무제한의 메시지에 사용할 수 있는 가장 보수적인 모드입니다.
  • AES256_CMAC은 AES-NI 하드웨어 가속을 지원하는 시스템에서 가장 빠릅니다.

최소 보안 보장

  • 인증 강도 80비트 이상
  • 선택된 일반 텍스트 공격에서 실존 위조에 대해 보호
  • 키 복구 공격에 대한 최소 128비트 보안 및 다중 사용자 시나리오 (공격자가 특정 키가 아닌 최대 232개의 키 세트 중 하나를 타겟팅하는 경우)

사용 사례

조작으로부터 데이터를 보호하려고 합니다를 참고하세요.