OTP(일회용 비밀번호)란 무엇인가?
OTP(One-Time Password, 일회용 비밀번호)는 단 한 번의 로그인에만 사용할 수 있도록 시스템이 자동으로 생성하는 숫자 또는 문자 조합입니다. 생성된 OTP는 SMS, 음성 전화, 푸시 알림 등을 통해 사용자의 휴대폰으로 전달되며, 해커의 공격이나 웹사이트의 데이터·계정 정보 유출을 막는 핵심 보안 장치로 활용됩니다.
OTP의 작동 원리
OTP 기반 인증은 사용자가 아이디와 비밀번호를 올바르게 입력한 후에 진행됩니다. 이때 사용자 계정에 등록된 휴대폰 번호로 일회용 코드가 전송되고, 로그인 화면에 해당 코드를 입력해야 인증이 최종적으로 완료됩니다.
각 OTP는 과거 로그인 기록이나 시간·날짜 정보와 같은 문맥 정보를 알고리즘에 반영하여 생성됩니다. 따라서 동일한 코드를 재사용할 수 없으며, 유효 시간이 지나면 자동으로 만료됩니다.
SMS OTP의 기술적 배경
SMS OTP 인증은 사용자의 앱과 인증 서버 간에 공유된 비밀 키(secret)를 기반으로 작동합니다. 해시 기반 메시지 인증 코드(HMAC) 알고리즘에 시간 정보(TOTP) 또는 이벤트 카운터(HOTP) 같은 변수를 조합하여 일회용 비밀번호를 만들어냅니다.
OTP는 얼마나 안전한가?
정적인(static) 비밀번호는 편리하지만 보안에 취약합니다. 특히 사용자가 직접 만든 비밀번호는 쉽게 유추되거나 여러 계정에서 재사용되는 경우가 많아 위험합니다. 반면 OTP는 로그인할 때마다 새로 생성되기 때문에 정적 비밀번호보다 훨씬 안전합니다.
다만 OTP도 완벽하지는 않습니다. SMS로 받는 코드보다는 사용자 기기의 앱에서 직접 생성된 OTP가 상대적으로 더 안전하며, 그럼에도 해커가 사용자의 OTP를 가로채는 중간자(man-in-the-middle) 공격에는 노출될 수 있습니다.
인터넷 뱅킹과 카드 결제에서의 OTP
온라인 뱅킹은 금융 및 민감한 거래의 보안을 위해 2단계 인증(Two-Factor Authentication) 서비스를 제공하며, 그 핵심이 바로 OTP입니다. 거래 중에는 실시간으로 6자리 숫자 코드가 SMS로 발송되며, 이 코드를 입력해야 거래가 승인됩니다.
신용카드 결제에서도 마찬가지입니다. 거래 등록 과정에서 무작위로 생성된 OTP가 등록된 휴대폰 번호와 이메일 주소로 전송되어, 카드 결제 시 한층 강화된 보안을 제공합니다.
OTP 앱 사용 방법
OTP 앱을 사용하면 6자리 코드를 손쉽게 확인할 수 있습니다. 2FA와 OTP가 모두 활성화되어 있다면 로그인할 때마다 OTP 입력을 요구받게 되며, 앱에서 해당 OTP 항목을 선택하고 '비밀번호 보기(View Password)'를 누르면 코드를 빠르게 확인할 수 있습니다.
일부 서비스(예: Quickteller 앱)에서는 'Generate Safetoken' 버튼을 눌러 OTP를 생성할 수 있고, 휴대폰에서 *322*0# 같은 USSD 코드를 입력하는 방법도 있습니다. 이 외에도 이메일로 OTP를 받는 방식이 널리 사용됩니다.
휴대폰으로 받는 OTP의 특징
휴대폰으로 전송되는 OTP는 한 세션 동안만 유효한 임시 PIN 코드로, SMS나 이메일을 통해 전달됩니다. 회원가입 시 OTP 코드를 받고 확인하지 못하면 계정 등록을 완료할 수 없습니다.
문자 메시지 OTP는 숫자 또는 숫자·문자 혼합 코드를 사용자의 모바일 기기로 보내는 안전한 인증 방식입니다. 로그인이나 본인 확인 절차에 이 코드를 추가하면 보안이 한층 강화됩니다.
파일 확장자로서의 OTP
흥미롭게도 OTP는 보안 용어 외에 파일 형식을 뜻하기도 합니다. 오픈오피스(Apache OpenOffice)의 프레젠테이션 프로그램인 임프레스(Impress)는 프레젠테이션 템플릿 파일로 .otp 확장자를 사용하며, OpenDocument 호환 프레젠테이션 소프트웨어로도 이 파일을 만들고 열 수 있습니다.
SNS에서의 OTP, 또 다른 의미
스냅챗(Snapchat)이나 텀블러 같은 SNS에서 'otp'는 전혀 다른 의미로 쓰입니다. 팬덤 문화에서 유래한 이 표현은 'One True Pairing(최고의 커플)'을 뜻하며, 현실이나 작품 속에서 함께했으면 하는 커플을 지칭할 때 자주 사용됩니다.
한편 'opt'는 '선택하다'라는 뜻으로, 'opt-in'은 수신자가 문자 메시지 수신에 동의했다는 것을 의미합니다. 이는 마케팅 메시지를 발송하기 전에 반드시 확보해야 하는 수신 동의 절차를 가리킵니다.
마무리
OTP는 매번 새롭게 생성되고 짧은 시간 안에 만료되는 특성 덕분에 정적 비밀번호의 한계를 보완하는 강력한 인증 수단입니다. 인터넷 뱅킹, 신용카드 결제, 계정 보호 등 다양한 분야에서 활용되고 있으므로, 안전한 온라인 생활을 위해 OTP 사용 습관을 들이는 것이 좋습니다.