0Pricing
Cyber Security Academy · 강의

TOTP와 HOTP

시간 기반 일회용 비밀번호

TOTP와 HOTP은(는) CoddyKit의 무료 Cyber Security Academy 강의입니다. 이것은 4개 중 2번째 강의입니다. 아래에서 전체 강의를 무료로 읽을 수 있으며, 내장 코드 에디터와 24/7 AI 튜터와 함께 브라우저에서 직접 실습할 수 있습니다. 이 강의는 Cyber Security Academy 학습 경로의 일부이며, 진행 상황이 웹과 CoddyKit 앱에 동기화됩니다. Cyber Security Academy 강의에는 총 4개의 강의가 포함되어 있습니다.

일회용 비밀번호

일회용 비밀번호(OTP)는 한 번의 로그인 또는 짧은 시간 동안만 유효한 코드입니다.

일회용 비밀번호를 생성하는 두 가지 표준 알고리즘은 HOTP와 TOTP입니다.

공유 비밀

두 알고리즘은 모두 서버와 인증 앱만 알고 있는 공유 비밀에서 시작합니다.

설정 중에 보통 QR 코드로 전달되며 양쪽에 저장됩니다.

HOTP: 횟수 기반

HOTP (HMAC 기반 OTP)는 HMAC을 사용해 공유 비밀과 횟수를 결합한 다음 결과를 짧은 숫자 코드로 잘라 냅니다.

생성된 코드마다 횟수가 1씩 증가합니다.

HOTP = Truncate( HMAC-SHA1(secret, counter) )

TOTP: 시간 기반

TOTP (시간 기반 OTP)는 횟수 값이 현재 시간을 고정된 간격으로 나눈 값인 HOTP입니다(보통 30초).

시간은 계속 앞으로 흐르므로 양쪽이 수동으로 횟수를 추적하지 않아도 동기화 상태를 유지할 수 있습니다.

T = floor( (current_unix_time) / 30 )
TOTP = Truncate( HMAC-SHA1(secret, T) )

30초 유효 시간

TOTP 코드는 일반적으로 30초마다 바뀝니다. 이렇게 짧은 유효 기간으로 도난당한 코드가 유용한 시간을 제한합니다.

그래서 인증 앱에는 카운트다운 막대가 표시됩니다.

시계 오차 허용 범위

기기의 시계는 조금씩 어긋납니다. 유효한 코드가 거부되지 않도록 서버는 현재 시간 범위의 앞뒤 한 단계에 해당하는 코드도 허용합니다.

범위가 너무 넓으면 보안이 약해지므로 작게 유지합니다.

HOTP 동기화

생성된 코드를 사용하지 않으면 HOTP가 어긋날 수 있습니다(기기에서는 횟수가 증가하지만 서버에서는 증가하지 않기 때문입니다).

서버는 재동기화하기 위해 작은 미리 확인 범위를 허용하지만, 차이가 크면 수동으로 다시 동기화해야 합니다.

otpauth URI

QR 코드는 비밀과 매개변수를 설명하는 otpauth URI를 인코딩합니다.

otpauth://totp/Example:alice@example.com?secret=JBSWY3DPEHPK3PXP&issuer=Example&period=30

TOTP가 더 널리 쓰이는 이유

TOTP가 HOTP보다 훨씬 더 널리 사용되는 이유는 다음과 같습니다.

  • 어긋나거나 재동기화할 횟수 기록이 없습니다.
  • 코드가 자연스럽게 만료됩니다.
  • 인터넷 연결 없이도 작동하며 코드 생성에 네트워크가 필요하지 않습니다.

장점과 한계

TOTP는 비밀번호만 사용하는 것보다 보안을 크게 향상하지만 여전히 피싱에 취약합니다. 가짜 사이트가 사용자를 속여 유효한 코드를 입력하게 만들 수 있습니다.

하드웨어 키는 다음 수업에서 다루며 이러한 공격에 대응할 수 있습니다.

백업과 복구

비밀을 보관한 기기를 잃어버리면 계정에 접근하지 못할 수 있습니다. 다음 방법을 권장합니다.

  • 설정할 때 발급된 복구 코드를 저장합니다.
  • 비밀값을 안전하게 복사해 두거나 두 번째 인증 앱을 등록합니다.

간단한 확인

HOTP와 TOTP의 핵심적인 차이점은 무엇인가요?

복습

OTP 알고리즘의 작동 방식을 배웠습니다.

  • 둘 다 공유 비밀과 HMAC을 기반으로 합니다.
  • HOTP는 카운터를 사용하고, TOTP는 시간을 사용합니다.
  • TOTP 코드는 약 30초마다 만료되지만 여전히 피싱에 취약합니다.
  • 복구 코드를 보관해 두십시오.

다음에는 푸시 승인과 하드웨어 키를 살펴봅니다.

자주 묻는 질문

“TOTP와 HOTP” 강의는 무료인가요?

네 — “TOTP와 HOTP” 전체 내용을 이 웹사이트에서 무료로 읽을 수 있습니다. 인터랙티브하게 실습하려면(내장 코드 에디터와 24/7 AI 튜터), CoddyKit PRO로 업그레이드하면 Cyber Security Academy 강의 전체를 잠금 해제할 수 있습니다. Cyber Security Academy 강의에는 총 4개의 강의가 포함되어 있습니다.

“TOTP와 HOTP”에서 뭘 배우나요?

시간 기반 일회용 비밀번호 브라우저에서 직접 실행하는 실습 코드로 Cyber Security Academy을(를) 배우며, 24/7 AI 튜터가 강의를 진행하면서 질문에 답변해줍니다.

Cyber Security Academy을(를) 시작하는 데 경험이 필요한가요?

사전 경험은 필요하지 않습니다. CoddyKit의 Cyber Security Academy은(는) 초급자부터 고급 학습자까지를 위해 구성되어 있으므로, 여기서 시작하거나 처음부터 시작할 수 있으며 자신의 속도대로 진행할 수 있습니다. 이것은 4개 중 2번째 강의입니다.

“TOTP와 HOTP” 강의는 얼마나 걸리나요?

대부분의 CoddyKit 강의는 약 5~10분이 소요됩니다. 각 강의는 간결하고 인터랙티브하여 꾸준한 진행이 가능하며, 웹과 앱에서 중단한 부분부터 바로 시작할 수 있습니다.

이 Cyber Security Academy 강의에서 코드를 작성하고 실행할 수 있나요?

네. 모든 Cyber Security Academy 강의에는 내장 코드 에디터가 포함되어 있으므로, 브라우저에서 바로 실제 코드를 작성하고 실행한 후 즉시 AI 피드백을 받을 수 있습니다 — 로컬 설정이 필요 없습니다.

이 강의의 모든 강의

  1. 인증 요소
  2. TOTP와 HOTP
  3. 푸시와 하드웨어 키
  4. MFA 우회 위험
← Cyber Security Academy(으)로 돌아가기