2010년 무렵, 비밀번호 도난은 계정에 침입하는 기본 수단이었고, 하드웨어 토큰 시스템은 비싸고 독점적이었다. 업계 단체 OATH는 현재 시간과 공유 비밀에서 코드를 도출할 수 있도록 시간 기반 일회용 비밀번호 알고리즘을 개발했다.

이 설계는 서버가 상태를 추적할 필요가 없다는 것을 의미했다. 양쪽이 동일한 시간 단계에서 HMAC을 실행하므로, 휴대폰과 웹사이트가 30초마다 새로운 코드에 합의한다. IETF는 그 결과를 2011년 5월 RFC 6238로 공개했으며, 이는 누구나 구현할 수 있는 공개 표준이었다.

그런 다음 Google은 누구나 QR 코드를 스캔하여 코드를 등록할 수 있는 무료 앱으로 Google Authenticator를 출시했다. 어떤 서비스든 동일한 공개 표준을 채택할 수 있었고, 이중 인증은 하드웨어 구매가 아닌 체크박스가 되어 은행, 소셜 네트워크, 개발자 도구 전반으로 퍼졌다.

시간에서 코드를 도출하여 서버 상태가 필요 없게 함

시간이 카운터를 대체하여 서버와 휴대폰이 상태 없이 동기화됨

공개 RFC 덕분에 어떤 공급업체도 형식을 소유하지 않음

Google의 무료 앱이 도입의 하드웨어 장벽을 제거함

비밀번호만 도난당하는 것으로는 침입에 충분하지 않게 됨

공개 표준과 함께 무료 구현을 출시하면 표준이 스스로 채택된다 — 영업 인력이 필요 없다.

TOTP는 수백만 서비스의 기본 두 번째 인증 요소가 되었으며 비밀번호 관리자와 플랫폼 인증기에 내장되어 있다. 이후 피싱에 강한 WebAuthn 패스키가 이를 대체하기 시작했지만, TOTP는 여전히 기본 이중 인증 표준으로 남아 있다.

근거 확인하기

출처

  1. Time-based one-time password Wikipedia · en.wikipedia.org
  2. RFC 6238: TOTP: Time-Based One-Time Password Algorithm IETF / RFC Editor · datatracker.ietf.org