암호화 · 키 관리
외부에 노출되는 값의 변조를 검출하는 서명·검증 유틸을 제공합니다.
규격 재현과 공격 거부를 이 페이지에서 직접 실행해 확인할 수 있습니다.
HMAC은 공유 비밀키와 메시지로 인증값을 계산해 데이터의 출처와 무결성을 확인합니다. 내용은 숨겨지지 않으므로 암호화가 필요한 데이터와 구분해야 하며, 같은 키를 여러 용도에 재사용하지 않도록 목적을 입력과 키 계층에 포함해야 합니다.
서명값은 변조를 검출하지만 메시지 내용을 숨기지 않으므로 공개돼도 되는 데이터에 사용합니다.
동일한 원문이라도 쿠키·요청·웹훅처럼 용도가 다르면 서로 다른 인증값을 갖게 합니다.
비교 시간의 차이로 올바른 인증값 일부를 추측하지 못하도록 상수 시간 비교를 사용합니다.
아래 증명은 설명이 아니라 실제 실행입니다. 버튼을 누르면 이 서버에서 지금 계산합니다.
HMAC 은 내용을 숨기지 않는다 — 출처와 무결성만 보장하며, 키 교체 중에도 이전 키로 서명된 값을 식별해 재서명 대상으로 표시한다.
표준이 고정한 test vector 를 그대로 실행합니다.
서명 검증은 상수 시간 비교로 이뤄지고, 같은 키라도 purpose 가 다르면 서명이 통하지 않는다 — 한 용도의 서명값을 다른 용도로 옮겨 쓸 수 없다.
막아야 할 입력을 실제로 넣고 거부되는지 확인합니다.
Next step
소비 언어별 고정 test vector를 추가해 versioned envelope의 교차 런타임 호환성을 검증합니다.