MFA란? TOTP 방식의 원리와 도입
MFA(다중 인증)의 개념과 TOTP 방식의 동작 원리를 정리합니다. 비밀번호에 더해 일회용 코드를 요구하는 인증이 왜 필요한지 쉽게 설명합니다.
MFA(Multi-Factor Authentication, 다중 인증)는 비밀번호에 더해 하나 이상의 인증 요소를 추가로 요구하는 방식입니다. 비밀번호가 유출되더라도 두 번째 요소가 없으면 로그인이 막히므로, 계정 탈취 위험을 크게 줄여 줍니다. 그 두 번째 요소로 널리 쓰이는 것이 TOTP입니다.
MFA가 필요한 이유
비밀번호는 유출·재사용·추측에 취약합니다. 한 서비스에서 새어 나간 비밀번호가 다른 서비스 로그인에 그대로 쓰이는 경우도 많습니다. MFA는 "아는 것(비밀번호)"에 "가진 것(인증 기기)"을 더해, 비밀번호 하나가 뚫려도 계정이 바로 넘어가지 않게 합니다.
TOTP는 어떻게 동작하나
TOTP(Time-based One-Time Password)는 시간 기반 일회용 비밀번호 방식으로, RFC 6238로 표준화되어 있습니다. 서버와 인증 앱이 처음에 비밀 키를 공유하고, 이후 이 키와 현재 시각을 조합해 짧은 숫자 코드를 계산합니다. 보통 6자리이며 약 30초마다 새 코드로 바뀝니다.
서버와 앱이 같은 키와 같은 시각을 쓰므로, 서로 통신하지 않아도 같은 코드를 만들어 냅니다. 사용자는 인증 앱에 뜬 코드를 입력하기만 하면 됩니다. 코드가 짧은 시간마다 바뀌기 때문에, 한 번 노출된 코드가 오래 악용되기 어렵습니다.
TOTP는 네트워크 없이 기기 안에서 코드를 계산한다는 점에서, 문자 메시지로 코드를 받는 방식과 다릅니다. 문자로 받는 코드는 통신망을 거치는 과정에서 가로채이거나 지연될 수 있지만, TOTP는 인증 앱과 서버가 공유한 키만으로 코드를 만들기 때문에 그런 경로가 없습니다.
TOTP 도입 시 유의점
인증 기기를 분실했을 때를 대비한 백업 코드나 재등록 절차를 함께 준비해야 합니다. 또한 서버와 기기의 시각이 크게 어긋나면 코드가 맞지 않을 수 있으므로 시간 동기화가 중요합니다.
AxiPass는 TOTP 기반 MFA를 제공하며, 테넌트 전체 강제와 그룹 단위 강제를 설정할 수 있습니다. 보안 모델 전반은 보안 페이지에서 확인할 수 있고, 무료로 시작해 MFA 설정을 직접 살펴볼 수 있습니다.
