일회용 비밀번호

한 번 자물쇠를 열면 스스로 녹아 사라져 다른 사람이 절대 주워 쓸 수 없는 얼음 열쇠예요.

정의 일회용 비밀번호(OTP)는 로그인을 하거나 돈을 보낼 때 매번 새롭게 생성되어 딱 한 번만 쓸 수 있는 임시 비밀번호예요. 정해진 짧은 시간이 지나거나 한 번 입력하고 나면 효력이 사라지기 때문에, 남이 훔쳐보더라도 다시 악용할 수 없어요.

왜 고정된 비밀번호보다 안전할까요?

우리가 평소에 쓰는 비밀번호는 대문 열쇠와 비슷해요. 열쇠 모양이 바뀌지 않으니 누군가 열쇠를 훔쳐 복사하거나 비밀번호를 엿보면 언제든 대문을 열고 들어올 수 있어요. 아무리 길고 복잡하게 비밀번호를 만들어도 한 번 새어나가면 끝이에요.

하지만 일회용 비밀번호는 문을 열 때마다 자물쇠 모양과 열쇠가 동시에 바뀌는 마법 자물쇠예요. 방금 쓴 비밀번호를 해커가 화면 너머로 엿보더라도 이미 한 번 써서 폐기된 번호는 아무 짝에도 쓸모가 없어요.

게다가 보통 30초에서 1분 정도의 아주 짧은 유효시간이 지나면 자동으로 사라져요. 설령 번호가 중간에 노출되더라도 해커가 그 번호로 무언가를 시도하기 전에 이미 무효가 되어 안전해요.

고정 비밀번호와 일회용 비밀번호의 보안 차이 비교 고정 비밀번호 열쇠 복제 위험 일회용 비밀번호 5 8 3 9 1 4 폐기 완료 30초 후 자동 만료

서버와 내 폰은 인터넷 없이 어떻게 같은 번호를 알까요?

OTP 기기나 스마트폰 인증 앱을 쓸 때 인터넷 연결이 끊겨 있어도 번호가 척척 맞아떨어지는 모습을 보고 신기했던 적이 있을 거예요. 은행 서버와 내 스마트폰이 실시간으로 대화하지 않아도 같은 번호를 만들어내는 비결은 정밀한 시계와 비밀 수학 공식에 있어요.

비밀번호를 처음 등록할 때, 은행 서버와 내 스마트폰은 아무도 모르는 동일한 '비밀 열쇠(비밀 키)'를 나눠 가져요. 그리고 두 기기는 똑같은 수학 공식(알고리즘)에 '현재 시간'과 '비밀 키'를 함께 넣고 각자 계산을 돌려요.

세계 표준시를 기준으로 같은 시간에 같은 공식으로 계산하니, 통신을 하지 않아도 30초마다 똑같은 6자리 번호가 양쪽 화면에 떠오르는 거예요. 이를 시간 기반 일회용 비밀번호(TOTP) 방식이라고 불러요.

시간 기반 일회용 비밀번호(TOTP) 생성 원리 다이어그램 동일 계산 공식 849201 스마트폰 동일 계산 공식 849201 은행 서버 공유된 비밀 키 12:00:30 동일한 현재 시간 동일 번호 생성

조금 더 정확히 말하면 — 무조건 안전한 만능 방패는 아니에요

일회용 비밀번호는 비밀번호 유출 사고를 막아주는 훌륭한 기술이지만, 모든 사이버 공격을 완벽히 막아내는 만능열쇠는 아니에요. 일회용 비밀번호 자체는 뚫을 수 없어도 사람의 실수를 파고드는 사기 수법에는 취약할 수 있거든요.

대표적인 예가 가짜 은행 사이트를 만들어두고 사용자가 직접 OTP 번호를 입력하게 만드는 피싱 공격이에요. 사용자가 가짜 사이트에 번호를 넣는 순간, 해커가 그 번호를 실시간으로 가로채 유효시간 30초 안에 진짜 은행 사이트에 재빨리 입력해 버릴 수 있어요.

따라서 OTP를 쓸 때도 접속한 웹사이트 주소가 진짜인지 꼭 확인해야 해요. 또한 문자로 오는 인증번호는 스마트폰 악성코드나 통신 가로채기 위험이 있어서, 전용 OTP 앱이나 보안키를 함께 쓰는 2단계 인증을 권장해요.

🤔 흔한 오해

✕ 오해

OTP 기기는 인터넷이나 통신망을 통해 은행 서버와 계속 번호를 주고받는다.

✓ 사실

플라스틱 OTP 카드나 앱은 통신 기능 없이도 작동해요. 서버와 기기가 사전에 공유한 비밀 키와 현재 시간을 가지고 각자 독립적으로 계산해 똑같은 번호를 만드는 원리예요.

🧺 일상에서 만나요

1 인터넷 뱅킹에서 큰돈을 이체할 때 조그만 OTP 토큰 기기에 뜬 6자리 숫자를 입력해요.
2 구글이나 깃허브 계정에 로그인할 때 인증 앱에 뜨는 30초 제한 번호를 추가로 입력해요.
💡 그러니까 한마디로

일회용 비밀번호는 수학 공식과 시간을 조합해 매번 새로 만들어지고 단 한 번만 쓰고 버리는 강력한 보안 열쇠예요.