본문 바로가기

정보기술/정보보안

HMAC vs 전자서명

HMAC은 메시지 인증은 가능하지만(출처 인증) 사용자 인증이 아니므로 부인방지를 보장할 수 없다

 

구분 HMAC 전자서명(RSA, ECDSA 등)
방식 대칭키 기반 (비밀키 공유) 비대칭키 기반 (개인키 + 공개키)
주요 목적 메시지 무결성, 메시지 인증 메시지 무결성, 발신자 인증, 부인방지
키 소유자 발신자 & 수신자 둘 다 동일한 키 개인키 → 발신자만
공개키 → 모든 수신자
무결성 보장 가능 가능
발신자 인증 제한적 (키 소유자 중 한 명이 보냈다는 것만) 가능 (개인키 소유자임을 증명)
부인방지 불가능 (수신자도 HMAC 생성 가능) 가능 (개인키로만 생성 가능)
속도 빠름 상대적으로 느림
사용 예시 API 요청 서명, TLS 내부 인증 이메일 서명, 소프트웨어 서명, 전자문서 서명

 

핵심 차이

  • HMAC → "우리 둘 다 이 키를 알고 있으니, 너 아니면 나"
  • 전자서명 → "오직 나만 이 개인키를 가지니, 내가 보낸 게 확실"
320x100