OTP 앱 vs SMS 인증, 뭐가 더 안전할까
목차
로그인할 때마다 문자로 오는 6자리 인증번호, 편하긴 한데 정말 안전할까. 결론부터 말하면 SMS 인증은 통신사 회선을 거쳐야 하는 구조라 심 스와핑 같은 공격에 뚫릴 여지가 있고, 구글 OTP·네이버 OTP 같은 인증 앱은 코드가 내 기기 안에서만 생성돼 그 경로 자체가 없다.

사진: Jonas Leupe (Unsplash)
SMS 인증과 OTP 앱, 코드가 만들어지는 방식이 다르다
SMS 인증은 로그인을 시도하면 서버가 문자메시지로 6자리 코드를 보내주고, 그 코드를 입력하는 방식이다. 코드 자체는 서버에서 만들어져 통신망을 거쳐 내 번호로 전달된다.
반면 OTP 앱(구글 OTP, 네이버 OTP 등)은 처음 등록할 때 서비스와 앱이 공유 비밀키를 주고받고, 이후로는 그 비밀키와 현재 시각을 조합해 앱이 기기 안에서 직접 코드를 계산해낸다. 서버로 코드가 오가지 않으니 통신망이나 문자메시지를 가로챌 방법 자체가 성립하지 않는다.
SMS 인증이 뚫리는 대표적인 방식 — 심 스와핑
심 스와핑(SIM Swapping)은 공격자가 피해자의 개인정보를 이용해 통신사에서 유심을 재발급받거나 번호를 자신의 기기로 옮기는 수법이다. 성공하면 피해자의 전화번호로 오는 문자·전화가 그대로 공격자에게 넘어가고, SMS 인증번호도 함께 탈취된다.
국내에서도 실제 피해 사례가 보고됐다. 유심을 재발급받은 뒤 가상자산 거래소의 SMS 인증을 통해 계정에 접근해 자산을 빼돌린 사건이 여러 건 있었고, 피해자들은 공통적으로 스마트폰이 갑자기 먹통이 되는 증상을 겪은 뒤 피해를 인지했다. 스마트폰이 갑자기 통화·문자가 안 되는데 본인이 유심을 건드린 적이 없다면 심 스와핑을 의심하고 즉시 통신사에 확인해야 한다.
OTP 앱은 이런 경로 자체가 없다. 코드가 통신망을 타지 않고 기기 안에서만 만들어지기 때문에, 번호를 탈취당해도 OTP 앱의 코드까지 같이 넘어가지는 않는다.

사진: Towfiqu barbhuiya (Unsplash)
그렇다고 SMS 인증이 무의미한 건 아니다
OTP 앱이 구조적으로 더 안전하지만, SMS 인증도 아무 방어 없이 비밀번호만 쓰는 것보다는 훨씬 낫다. 두 방식 모두 비밀번호가 유출돼도 추가 인증 단계 하나를 더 넣는다는 본질은 같고, 실제 계정 탈취 사고의 상당수는 2단계 인증 자체가 꺼져 있는 계정에서 일어난다.
다만 가상자산 거래소, 인터넷뱅킹처럼 금전적 피해가 직결되는 서비스일수록 SMS보다 OTP 앱이나 은행이 제공하는 전용 OTP(스마트OTP, 보안카드 대체용 앱)를 우선 설정하는 게 안전하다. 일반 커뮤니티나 쇼핑몰 로그인처럼 상대적으로 위험도가 낮은 서비스는 SMS 인증만으로도 크게 아쉬울 건 없다.
OTP 앱, 이렇게 등록한다
- 구글 OTP(Google Authenticator) 또는 네이버 OTP 앱 설치
- 등록하려는 서비스의 보안 설정에서 ‘OTP 앱으로 2단계 인증’ 선택
- 화면에 뜨는 QR코드를 앱으로 스캔하거나 설정 키 직접 입력
- 앱에 표시되는 6자리 코드를 서비스 화면에 입력해 등록 완료
한 가지 주의할 점은 기기를 바꿀 때다. OTP 앱은 코드가 기기 안에 저장된 비밀키로 생성되므로, 백업 없이 스마트폰을 바꾸면 등록해둔 모든 서비스의 OTP가 한 번에 사라진다. 새 기기로 옮기기 전에 각 서비스에서 제공하는 백업 코드를 미리 저장해두거나, 앱 자체의 백업 기능(계정 동기화)을 켜두는 것이 안전하다.
자주 묻는 질문
Q. OTP 앱을 쓰면 SMS 인증은 아예 꺼도 되나요?
A. 완전히 끄기보다는 백업 수단으로 남겨두는 걸 권한다. OTP 앱이 설치된 기기를 분실했을 때 SMS가 유일한 복구 경로가 될 수 있다. 다만 두 수단을 동시에 켜둔 서비스라면 평소 로그인은 OTP 앱을 우선 쓰는 게 안전하다.
Q. 정부24나 은행 앱도 OTP 방식을 쓰나요?
A. 은행권은 자체 발급하는 스마트OTP나 보안카드 대체 앱을 많이 쓰고, 정부24는 공동인증서·간편인증(카카오·네이버 인증서 등) 중심이라 서비스마다 인증 방식이 조금씩 다르다. 정확한 지원 방식은 이용하는 서비스의 보안 설정 화면에서 직접 확인하는 게 가장 확실하다.
Q. 스마트폰을 잃어버리면 OTP 앱에 등록한 서비스는 어떻게 되나요?
A. 미리 저장해둔 백업 코드가 있으면 그걸로 로그인해 새 기기에 OTP를 재등록할 수 있다. 백업 코드도 없다면 서비스별 본인 확인 절차(고객센터, 신분증 인증 등)를 거쳐 2단계 인증을 초기화해야 하므로, 등록 시점에 백업 코드를 캡처해두는 습관이 꼭 필요하다.
마무리
SMS 인증은 편리하지만 통신망을 거치는 구조상 심 스와핑 같은 공격에 뚫릴 여지가 있고, OTP 앱은 코드가 기기 안에서만 만들어져 그 경로 자체를 차단한다. 스미싱 문자 구분법이나 딥페이크 보이스피싱 대응법까지 함께 알아두면, 적어도 인증 수단 때문에 계정을 통째로 잃는 일은 막을 수 있다.