회사에서 ISMS 심사를 위해 관리툴 로그인에 2차 인증을 추가 할 업무가 주어졌고, Google OTP를 추가해보기로했다.
One Time Password의 약자로, 일회성 비밀번호를 생성하는 방법이다.
일회성이라는 특징 때문에 일반 비밀번호 입력이나 공인인증서 이용보다도 더 안전한 방법으로 알려져있다.
요즘에는 이메일 인증이나 깃 로그인시에도 활용되고 있는 것 같다.
찾아보기전까지는 몰랐지만 OTP 인증은 서버끼리 통신하는것이 아니라 같은 알고리즘을 이용하여 알고리즘을 통해 확인하는 방식이라고 한다.
OTP는 TOTP(시간)/HOTP(이벤트) 기반으로 생성된다고한다.
GoogleOTP는 TOTP 방식으로 사용된다.
TOTP는 시간 기반 OTP 생성 방식으로, 현재 시간과 공유 비밀 키를 사용하여 OTP를 생성하는 방식이다.
구글링해서 찾아 본 결과
TOTP는 RFC 6238에서 정의된 표준을 따릅니다. 이 표준에서는 HMAC-SHA-1을 기본 알고리즘으로 사용하도록 권장하고 있으며, 선택적으로 HMAC-SHA-256 또는 HMAC-SHA-512 같은 더 강력한 해시 알고리즘도 사용할 수 있다고 명시하고 있습니다. 라고 한다.