HMAC Generator
해시 기반 메시지 인증 코드 (RFC 2104)
개요
비밀 키와 암호학적 해시 함수를 결합하여 RFC 2104 / FIPS 198-1 표준 HMAC(Hash-based Message Authentication Code) 인증 태그를 계산한다: $$\text{HMAC}(K, m) = H\bigl((K' \oplus \text{opad}) \parallel H((K' \oplus \text{ipad}) \parallel m)\bigr)$$
키 길이 제약이 없으며(블록 크기보다 긴 키는 내부에서 먼저 해시하고, 짧은 키는 0으로 패딩함), SHA-256, SHA-384, SHA-512, SHA3-256, SHA3-512를 지원한다.
사용 시점
- API 요청 서명(웹훅 검증, AWS SigV4, JWT HS256/HS384/HS512), 메시지 무결성 및 발신자 인증 태그를 생성할 때 사용한다.
- Encrypt-then-MAC 구조에서 암호문과 메타데이터의 무결성을 보호할 때 사용한다.
파라미터 설정
| 파라미터 (ID) | 타입 및 기본값 | 노출 조건 | 설명 및 옵션 |
|---|---|---|---|
해시 알고리즘algorithm |
select기본값: SHA-256 |
항상 노출 | 이 노드의 해시 알고리즘 설정을 지정한다.
|
포트 입출력 명세
포트 연결 규칙, 데이터 타입별 색상, 가변 포트 생성 방식은 포트 및 연결 문서를 참고한다.
입력 포트
포트 성격: 고정 입력 포트 (총 2개).
| 포트 이름 | 포트 ID | 데이터 타입 | 필수 여부 | 노출 조건 | 설명 |
|---|---|---|---|---|---|
Secret Key |
key |
Bytes |
필수 | 항상 노출 | 비밀 HMAC 키 바이트 배열(Uint8Array, 최소 1바이트 이상)이다. |
Message |
data |
Bytes |
필수 | 항상 노출 | 인증할 메시지 바이트 배열(Uint8Array)이다. |
출력 포트
포트 성격: 고정 출력 포트 (총 1개).
| 포트 이름 | 포트 ID | 데이터 타입 | 노출 조건 | 설명 |
|---|---|---|---|---|
MAC Digest |
mac |
Bytes |
항상 노출 | 계산된 HMAC 인증 태그 바이트 배열(Uint8Array)이다. |
오류 케이스
이 노드는 런타임 실패 케이스가 없으며(errorProfile: none), 타입이 맞는 모든 입력에 대해 항상 성공한다.
활용 예시
HMAC-SHA-256 메시지 인증 코드 생성하기
비밀 키와 메시지로 32바이트 HMAC-SHA-256 태그를 계산한다.
- HMAC Generator에서 해시 알고리즘을
SHA-256으로 선택한다. - 비밀 키를
Secret Key에, 메시지를Data에 연결하면 32바이트MAC Tag가 출력된다.