HMAC 기반 일회용 비밀번호
HMAC 기반 일회용 비밀번호(HMAC-based one-time password, HOTP)는 HMAC 기반 일회용 비밀번호(OTP) 알고리즘이다. 이는 OATH(Initiative for Open Authentication)의 초석이다.
HOTP는 2005년 12월 IETF RFC 4226 정보 문서로 발표되었으며, 이 문서에는 Java 구현과 함께 알고리즘이 문서화되어 있다. 이후 이 알고리즘은 전 세계 여러 기업에서 채택되었다(아래 참조). HOTP 알고리즘은 무료로 제공되는 개방형 표준이다.
알고리즘
[편집]HOTP 알고리즘은 사람이 읽을 수 있는 비밀번호 또는 값을 대칭적으로 생성하여 인증하는 방식을 제공하며, 각 값은 단 한 번의 인증 시도에만 사용된다. 일회용이라는 특성은 각 카운터 값을 한 번만 사용한다는 데서 비롯된다.
HOTP를 사용하려는 당사자는 몇 가지 매개변수를 설정해야 한다. 일반적으로 이러한 토큰은 인증자가 지정하며, 인증된 개체는 이를 수락하거나 수락하지 않는다.
- 암호화 해시 방식 H(기본값은 SHA-1)
- 임의의 바이트 문자열이며 비공개로 유지되어야 하는 비밀 키 K
- 반복 횟수를 계산하는 카운터 C
- HOTP 값 길이 d(6~10, 기본값은 6, 권장 값 6~8)
양쪽 당사자는 비밀 키 K와 카운터 C에서 파생된 HOTP 값을 계산한다. 그런 다음 인증자는 로컬에서 생성된 값을 인증된 개체가 제공한 값과 비교한다.
토큰
[편집]하드웨어 및 소프트웨어 토큰은 다양한 공급업체에서 제공되며, 일부 공급업체는 아래 참조 자료를 참조하십시오.
소프트웨어 토큰은 (거의) 모든 주요 모바일/스마트폰 플랫폼(J2ME,[1] 안드로이드,[2] 아이폰,[3] 블랙베리,[4] Maemo,[5] macOS,[6] Windows Mobile)에서 사용할 수 있다.
같이 보기
[편집]- 시간 기반 일회용 비밀번호 (TOTP)
각주
[편집]- ↑ “DS3 Launches OathToken Midlet Application”. 《Data Security Systems Solutions》. 2006년 2월 24일. 2013년 12월 29일에 원본 문서에서 보존된 문서.
- ↑ “StrongAuth”. 2010. 2010년 5월 18일에 원본 문서에서 보존된 문서.
- ↑ Cobbs, Archie L. (2010). “OATH Token”. 《Archie L. Cobbs》.
- ↑ “ActivIdentity Soft Tokens”. 《ActivIdentity》. 2010. 2010년 9월 17일에 원본 문서에서 보존된 문서.
- ↑ Whitbeck, Sean (2011). “OTP Generator for N900”. 《Sean Whitbeck》.
- ↑ “SecuriToken”. 《Feel Good Software》. 2011. 2012년 4월 25일에 원본 문서에서 보존된 문서.
외부 링크
[편집]- RFC 4226: HOTP: An HMAC-Based One-Time Password Algorithm
- RFC 6238: TOTP: Time-Based One-Time Password Algorithm
- RFC 6287: OCRA: OATH Challenge-Response Algorithm
- Initiative For Open Authentication
- Implementation of RFC 4226 - HOPT Algorithm 보관됨 2021-12-16 - 웨이백 머신 Step by step Python implementation in a Jupyter Notebook