TOTP 등록·검증과 수명이 짧은 MFA 챌린지를 공통 흐름으로 제공합니다.
다중 요소 인증은 서로 독립된 증거를 두 가지 이상 요구해, 자격 증명 하나가 유출돼도 계정을 지킵니다. TOTP는 공유 secret과 현재 시간 구간으로 일회용 코드를 계산합니다. 첫 번째 인증 결과와 두 번째 요소는 수명이 짧은 challenge로 이어 붙여야 합니다.
지식·소유·생체 요소가 한 번의 공격으로 함께 뚫리지 않도록 서로 독립된 수단을 조합합니다.
허용하는 시간 오차를 좁게 두고 이미 쓴 시간 구간을 기록해, 같은 코드를 다시 쓰지 못하게 합니다.
복구 코드는 수명 주기와 저장 방식을 따로 두고, 사용하는 즉시 폐기해야 합니다.
아래 증명은 글로 된 설명이 아닙니다. 버튼을 누르면 이 서버가 지금 직접 계산합니다.
규격이 정해 둔 시각 T=59의 8자리 코드와 시간 구간(counter)을 그대로 재현합니다.
표준 문서에 실린 테스트 벡터를 그대로 넣어 같은 값이 나오는지 확인합니다.
검증에 성공한 counter는 바로 소비됩니다. 어깨너머로 코드를 훔쳐봐도 같은 30초 안에 다시 쓸 수 없습니다.
막아야 할 입력을 실제로 넣고 거부되는지 확인합니다.
규격 원문을 먼저 실었습니다. 사례는 이 분야에서 실제로 보안이 뚫린 일을 다룬 자료입니다.
시간 기반 코드의 원문입니다. 부록 B의 고정 벡터를 증명에서 재현합니다.
TOTP의 바탕이 된 카운터 기반 원형입니다.
요소 독립성과 복구 코드를 다루는 기준이 나옵니다.
다음 단계
소비 시스템의 MFA 설정 저장소에 암호화 envelope를 연결하고, 복구 절차를 운영 환경에서 검증합니다.