일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
Tags
- OSX
- 인증
- 애플
- MFA
- WebAuthn
- Xcode
- 앱리소스
- OTP
- Android
- Nodejs
- git
- 앨범북
- SSL
- MYSQL
- SSH
- fido
- 2FA
- otpkey
- 앱스토어
- appres
- FIDO2
- 안드로이드
- MSYS2
- SWIFT
- css
- SwiftUI
- openssl
- apple
- kmip
- albumbook
Archives
- Today
- Total
인디노트
HMAC (Hash-based Message Authentication Code) 본문
HMAC 은 원본 데이터에 특정한 값 (이 값은 비공개 비밀정보여야 하기 때문에 이 값을 HMAC 키라고 함) 을 더해서 함께 해시하는 키 기반 해시 (Keyed Hash) 로 일반적인 해시 함수로만 수행할 때보다 더 높은 안정성을 확보할 수 있다.
키 기반 해시는 난수 형태인 비밀값을 키 값으로 사용한다.
안정성의 확보 뿐 아니라 해당 해시를 자신이 생성 했음을 인증하려는 목적에서 키를 추가하여 해시하기도 한다. 키를 추가하면 역상 저항성이 높아져 원본 데이터를 알아내기가 그만큼 더 어려워진다.
충돌 저항성의 관점에서 같은 해시값을 생성하는 원본 데이터를 노출해도 키를 제외한 부분은 알 수 없으므로 다른 서비스까지 위험하게 하지 않는다.
즉. HMAC 은 제2 역상 저항성과 비밀키의 안정성에 따라 보안 강도를 향상 시킬 수 있다.
키 기반 해시에 필요한 키 값을 생성하기 위해 “키 생성기” 로서 키 유도함수를 사용한다. 일종의 난수 발생기라고 할 수 있다.
키 유도함수는 키를 생성하는 입력 값의 안정성과 해시 함수의 역상 저항성에 따라 보안 강도가 다르게 된다.
실예로써 하기의 캡춰와 같은 사이트에서 알 수 있듯이 OTP 키를 생성하기 위해서 Secret 를 사용하게 되는데 여기서 Secret 값이 비밀키로 사용된다.
반응형
'인증기술 > 보안기술' 카테고리의 다른 글
KMIP 관련 문서 연결 링크 (0) | 2021.07.14 |
---|---|
Q#기반 양자난수생성기를 OpenVPN 에 적용하기 (0) | 2021.07.02 |
Q#에서 퀀텀 난수 생성기 구현 (0) | 2021.07.02 |
SSH Private Key 패스워드 없애기 (0) | 2021.05.30 |
How to parse the attestationObject in Node.js (0) | 2020.12.21 |
Comments