2FA (2단계 인증)
리소스 및 데이터에 액세스할 때 두 가지 형태의 인증이 요구되는 ID 및 액세스 관리 보안 방법으로, 다양한 구현 방법이 있으며 TOTP를 활용한 2FA를 구현했습니다.
OTP vs TOTP(Time-based OTP)
OTP
- 일반적으로 각 인증 시도마다 고유한 비밀번호를 생성(ex. 이메일 인증코드, SMS 인증코드)
TOTP
- 사용자와 서비스 제공자가 공유한 비밀 키와 현재 시간을 결합하여 주기적으로 변경되는 OTP
TOTP 인증 과정
- 사용자 디바이스 앱(pasdsworld Authenticator)에서 현재 시간과 비밀 키를 결합해 고유 비밀번호(TOTP)를 생성
- 생성한 TOTP로 사용자 인증 요청
- 인증 요청을 받은 서버는 사용자 디바이스와 사전에 공유한 고유 비밀 키와 현재 시간을 결합해 TOTP 생성
- 서버가 생성한 TOTP와 사용자로부터 받은 TOTP 일치 여부 확인
- 일치 → 인증 성공
- 불일치 → 인증 실패
2FA (2단계 인증)