2FASync
TOTP는 시간으로 계산하는 일회용 비밀번호
문자로 받는 인증번호와 인증 앱이 만드는 번호는 같은 OTP라는 이름을 쓰지만 만들어지는 방식은 다를 수 있습니다.
서버에 물어보지 않고 번호가 나오는 원리
서비스와 사용자가 처음 등록 때 공유한 비밀 키와 현재 시간 구간을 이용해 짧은 숫자를 계산합니다. 인증번호 생성 자체에는 실시간 통신이 필요하지 않습니다.
갱신 주기는 설정에 따라 달라져요
많은 서비스가 30초 주기를 쓰지만 숫자 길이, 해시 방식과 주기는 발급한 서비스의 설정을 따릅니다. 시계가 많이 틀리면 정상 등록된 키도 거부될 수 있습니다.
노출되면 재등록해야 하는 것은 설정 키
설정 QR이나 원본 비밀 키가 유출되면 타인도 이후의 인증번호를 생성할 수 있습니다. 화면에 표시된 짧은 코드 또한 제삼자에게 알려주지 마세요.
사용자가 관리해야 하는 두 가지 시간
인증번호를 복사하는 순간의 남은 시간과 장치 시계의 정확성은 서로 다른 조건입니다. 현재 코드가 곧 끝나면 다음 코드로 기다리는 것이 도움이 되지만, 시스템 시간이 수 분 잘못됐다면 다음 코드를 기다려도 실패가 이어질 수 있습니다.
자동 시간 동기화가 가능한 환경이라면 우선 이를 점검합니다. 단순히 현재 숫자가 바뀌는 것을 보고 시계가 정확하다고 판단하기는 어렵습니다. 원래 사이트가 허용하는 유효 시간 구간도 서비스마다 달라질 수 있습니다.
TOTP는 보통 로그인 비밀번호 뒤에 쓰는 추가 요소이지 그 사이트의 비밀번호 자체를 보관하거나 대체하는 도구가 아닙니다. 보안 강화를 위해 사이트가 제공하는 다른 복구 수단도 준비하세요.
인터넷을 끊어도 인증번호가 보이나요?
등록된 TOTP 키와 정확한 장치 시간이 있으면 번호 계산은 가능합니다. 실제 서비스에 로그인하는 과정은 인터넷이 필요할 수 있습니다.
