OTP(One-Time Password)는 금융거래나 온라인 서비스에 접속할 때 본인 확인을 위해 사용하는 일회용 비밀번호이다. 한국어로는 일회용 비밀번호(一回用秘密番號)라고 하며, 한 번만 사용할 수 있거나 일정한 시간 동안만 유효한 비밀번호를 생성하는 인증 방식이다. 일반적인 비밀번호는 사용자가 직접 설정한 문자열을 반복해서 사용하지만, OTP는 거래할 때마다 새로운 비밀번호를 생성하기 때문에 비밀번호가 유출되더라도 재사용하기 어렵다는 장점이 있다.
OTP는 주로 인터넷뱅킹, 모바일뱅킹, 증권거래, 전자금융서비스 등에서 본인 인증과 금융거래의 보안을 강화하기 위해 사용된다. 특히 계좌이체나 고액 금융거래처럼 보안이 중요한 업무에서 추가 인증 수단으로 활용된다. 사용자는 OTP 기기나 스마트폰 앱을 통해 생성된 숫자를 입력해 본인임을 확인받는다.
OTP의 생성 방식은 크게 시간 동기화 방식과 이벤트 동기화 방식으로 구분할 수 있다. 시간 동기화 방식(Time-based OTP, TOTP)은 현재 시각을 기준으로 일정한 시간 간격마다 새로운 비밀번호를 생성한다. 예를 들어 30초마다 6자리 또는 8자리의 비밀번호가 바뀌는 방식이다. 사용자가 입력한 비밀번호와 인증 서버가 같은 시간 정보를 바탕으로 계산한 비밀번호가 일치하면 인증이 완료된다. 반면 이벤트 동기화 방식(Event-based OTP, HOTP)은 버튼을 누르는 횟수나 인증 요청과 같은 특정 사건을 기준으로 새로운 비밀번호를 생성한다. 따라서 시간의 흐름보다는 기기와 인증 서버가 공유하는 일련번호 또는 카운터 값에 따라 비밀번호가 결정된다.
OTP를 사용하는 방법에는 크게 하드웨어 방식과 소프트웨어 방식이 있다. 하드웨어 OTP는 별도의 전용 단말기에서 일회용 비밀번호를 생성하는 방식으로, 화면에 표시된 숫자를 금융거래 화면에 입력해 인증한다. 소프트웨어 OTP는 스마트폰에 설치된 인증 앱이나 금융기관의 모바일 앱을 통해 비밀번호를 생성하는 방식이다. 별도의 기기를 휴대할 필요가 없고 발급과 이용이 편리하다는 장점이 있다.
OTP의 가장 큰 장점은 비밀번호의 재사용으로 발생하는 보안 위험을 줄일 수 있다는 점이다. 일반 비밀번호가 피싱(Phishing)이나 악성코드 등을 통해 유출되면 이후에도 반복적으로 악용될 수 있지만, OTP는 사용 시간이나 횟수에 제한이 있어 탈취된 비밀번호의 활용 가능성을 낮춘다. 또한 아이디와 비밀번호 외에 추가적인 인증 절차를 제공하므로 다중요소인증(MFA, Multi-Factor Authentication)의 한 수단으로 활용할 수 있다.
그러나 OTP도 완벽한 보안 수단은 아니다. 사용자가 피싱 사이트에 접속해 OTP 번호를 직접 입력하면 공격자가 이를 실시간으로 탈취해 부정 거래에 이용할 수 있다. 스마트폰 자체가 악성코드에 감염되거나 인증 기기를 분실하는 경우에도 보안 문제가 발생할 수 있다. 따라서 OTP 번호를 타인에게 알려주지 않고, 출처가 불분명한 링크나 앱을 이용하지 않는 등 기본적인 보안 수칙을 지키는 것이 중요하다.
결론적으로 OTP는 금융거래와 온라인 서비스에서 일회용 비밀번호를 활용해 사용자 본인을 확인하는 보안 인증 기술이다. 비밀번호가 반복적으로 사용되는 데서 발생하는 위험을 줄이고 금융거래의 안전성을 높이는 역할을 한다. 다만 OTP만으로 모든 보안 위협을 차단할 수는 없으므로 생체인증, 기기 인증, 거래 알림 등 다른 보안 수단과 함께 활용하는 것이 효과적이다.