MAC 프리미티브를 사용하면 아무도 데이터를 조작하지 않는지 확인할 수 있습니다. 수신자와 대칭 키를 공유하는 발신자가 특정 메시지의 인증 태그를 계산할 수 있으므로 수신자가 메시지가 예상한 발신자가 보낸 것이고 수정되지 않았음을 확인할 수 있습니다.
MAC에는 다음과 같은 속성이 있습니다.
- 진위성: 키를 아는 것이 검증 가능한 MAC 태그를 만드는 유일한 방법입니다.
- 대칭: 태그를 계산하고 확인하려면 동일한 키가 필요합니다.
MAC은 알고리즘에 따라 확정적 또는 무작위화될 수 있습니다. Tink는 비확정적 MAC 알고리즘을 구현하지 않습니다. MAC는 의사 난수 바이트 생성과 같은 다른 용도가 아닌 메시지 인증에만 사용해야 합니다 (PRF 참고).
대신 비대칭 프리미티브가 필요한 경우 디지털 서명을 참고하세요.
키 유형 선택
대부분의 경우 HMAC_SHA256을 사용하는 것이 좋지만 다른 옵션도 있습니다.
일반적으로 다음과 같은 사항이 적용됩니다.
- HMAC_SHA512는 메시지 크기 및 사용하는 하드웨어의 사양에 따라 더 빠를 수도 있고 그렇지 않을 수도 있습니다.
- HMAC_SHA512는 사실상 무제한의 메시지에 사용할 수 있는 가장 보수적인 모드입니다.
AES256_CMAC는 AES-NI 하드웨어 가속을 지원하는 시스템에서 가장 빠릅니다.
최소한의 보안 보장
- 80비트 이상의 인증 강도
- 선택된 일반 텍스트 공격에 따른 실존적 위조로부터 보호
- 키 복구 공격 및 멀티 사용자 시나리오에서도 최소 128비트 보안 (공격자가 특정 키가 아니라 최대 232개의 키 조합에서 모든 키를 타겟팅하는 경우)
사용 사례
데이터 조작을 방지하고 싶습니다를 참조하세요.