[clearfix]
1. 개요
가장 많이 사용하는 2단계 인증인 문자메시지와 구글 OTP |
2단계 인증은 로그인이나 송금을 할 때 아이디와 암호 이외의 다른 방식으로 본인을 인증하는 방법이다. 주로 휴대전화나 OTP처럼 물리적으로 하나만 존재할 수 있거나 한정된 방법으로만 접근할 수 있는 수단으로 인증을 한다.
2. 역사
인터넷 초창기에는 로그인을 하거나 본인을 인증할 때 아이디와 암호만 입력하면 충분했다. 하지만 시간이 흘러 인터넷 상에서 점점 더 많은 일들이 가능해지면서, 아이디와 암호만으로 본인을 인증하는 방식에 많은 취약점이 있다는 사실이 알려지게 되었다.실제로 아이디와 암호 방식은 해킹에 매우 취약하다. 인터넷의 성장기였던 2000년대~2010년대까지는 정말 셀 수 없이 많은 아이디 해킹 피해가 발생했고 그 피해액도 천문학적인 수준이었다. 아이디를 해킹당해 피해를 입어도 해킹당한 사람이 잘못이라는 답변만 돌아올 뿐 어떠한 구제나 보상도 받을 수 없었다. 해킹 프로그램을 이용하는 전문적인 해킹도 많았지만, 단순히 옆자리에서 키보드 타이핑을 훔쳐보기만 해도 해킹이 가능했기 때문에 정말 무법천지가 따로 없었다.
비밀번호를 길게 설정한다면 큰 문제는 없을지 몰라도 오랫동안 비밀번호를 변경하지 않으면 복호키가 유출되어 암호가 풀릴 수도 있으며, 사용자들이 아이디와 비밀번호를 외우는 것을 귀찮아해서 짧은 비밀번호를 선호하기 때문에 일부 기업에서는 2단계 인증을 거의 강제적으로 도입하고 있다.
결국 은행권을 중심으로 해킹이 불가능한 인증수단에 대한 논의가 시작되었고, 2001년에 공인인증서와 보안카드라는 새로운 인증수단을 선보였다. 그후 OTP, 문자메시지, 이메일, 인증앱 등 많은 2단계 인증 방법이 등장했고 인터넷 상에서 널리 쓰이게 되었다.
3. 상세
2단계 인증의 핵심은 아무나 인증 수단에 접근할 수 없다는 점이다.아이디와 암호는 일단 알아내기만 하면 마음껏 입력할 수 있지만, 2단계 인증은 그 정보에 접근할 수 있는 방법이 매우 한정적이다. 여기에서 강력한 보안성이 발생한다. 아이디와 암호를 탈취할 수 있는 방법은 많지만, 2단계 인증수단을 물리적으로 손에 넣는다는 건 거의 불가능에 가깝기 때문에 해커 입장에서도 2단계 인증에 가로막히면 해킹 자체를 포기하게 된다.
그러나 여기에도 허점은 있다. 로그인 시에 현재 기기를 신뢰할 수 있는 기기로 등록하면 그 기기에서는 2단계 인증을 생략하고 로그인할 수 있게 되는데(특히 게임 계정에 이게 많다), PC방이나 공공기관 등의 개방되어 있는 PC를 신뢰할 수 있는 기기로 등록하면 해당 기기에서는 2단계 인증이 의미 없어지는 것이다.[1] 그렇기 때문에 공공 PC를 이용할 경우 신뢰할 수 있는 기기로 등록하지 말고, 이미 등록했다면 해제하도록 하자.
4. 종류
4.1. 이메일
세계적으로 최초로 등장한 2단계 인증 방법이다.원래는 아이디와 암호를 잊어버린 회원에게 암호를 찾을수 있는 방법을 제공하기 위해서 고안된 방법이다. 가장 대중적인 방식이기는 하지만 이메일도 해킹이 가능하다는 점에서 보안성이 떨어진다.
요즘은 이메일을 2단계 인증으로 삼는 사이트가 많아지면서 해커가 피해자의 계정을 해킹하기 전에 먼저 이메일을 해킹하는 경우가 많다. 그래서 회원가입을 할때 주로 등록하는 이메일은 반드시 2단계 인증으로 따로 보호해야 한다.
4.2. 휴대전화 인증
한국에서 가장 많이 사용되는 인증방법이다. 특히 한국은 휴대전화 본인인증이라는 세계적으로도 발전된 본인인증 시스템을 가지고 있어서 휴대폰만 있으면 못하는게 없다.2020년경 이후부터는 한국 이외의 다른 나라들도 금융권을 중심으로 문자메시지 인증을 필수로 요구하는 경우가 많다.[2]
다만 이메일 보다 조금 나은 수준이지만 보안에 취약하다. 그래서 Android는 외부 앱 연결 금지하는 정책으로 바꾸었다.
4.3. OTP
일회용 암호(One Time Password) 라는 뜻으로 일정 시간마다 암호가 계속 바뀌는 장치의 암호를 입력하는 방법이다. RFC 6238이라는 TOTP 공개 표준이 있으며, 많은 해외 사이트에서 이를 지원한다. 한국어 사이트 중에는 나무위키, 디시인사이드 등에서 지원하고 있다.4.3.1. 목록
- Google Authenticator
- 가장 널리 알려진 OTP앱이다.
- 2023년 4월 25일 구글 계정을 통한 백업 및 동기화를 드디어 지원한다.[3] 그런데 이 백업 기능이 보안에 있어 중요한 종단간 암호화가 적용되지 않은 채 그냥 사용자들의 데이터를 구글 서버로 백업 한다는 사실이 알려져 다소 논란이 일었다.[4] 게다가 해당 기능을 활성화하고 여러 기기에서 사용 시 버그도 있는 것으로 확인됐다. 해당 영상 그 후 이같은 우려를 인지한 구글 측에서 향후 Google Authenticator에 종단간 암호화 또한 적용을 하겠다고 말은 했다.[5]
- Microsoft Authenticator
- Microsoft 계정에 백업 기능을 지원하며, 안드로이드 앱 기준 캡처 방지 옵션을 제공한다.
- Twilio Authy
- 종단간 암호화가 적용된 클라우드 백업 및 동기화, 멀티 디바이스 지원
- iCloud 키체인
- Apple 기기의 경우 아이클라우드 키체인이 기본적으로 갖추어져 있으며, 비밀번호 저장과 함께 2FA를 지원하고 iCloud를 통해 백업 및 기기 간 연동도 된다. OTP 자동 완성을 지원하여 굳이 OTP 앱을 확인하지 않아도 되며, Apple 암호 앱에 들어가면 확인할 수 있다. 또한 FIDO2 방식의 보안 키인 WebAuthn 역시 지원한다.
- 1Password
- 웹사이트 페이지의 QR코드를 인식하여 2단계 인증을 등록할 수 있다. 보안 키도 2023년 9월 경에 지원한다.
- Bitwarden
- LastPass
- 삼성 패스
- 삼성 갤럭시 스마트폰에 기본으로 탑재된 삼성 패스에도 2단계 인증 OTP 기능이 있다. 앱이나 웹사이트에 대한 로그인 정보를 삼성 패스에 저장 후, 저장된 삼성 패스의 로그인 정보에 들어가 각각의 앱이나 웹사이트에 대한 2단계 인증을 설정할 수 있다. 방법은 구글이나 마이크로소프트의 OTP 앱 등록법과 동일하다.
대부분의 TOTP 앱들은 설치된 휴대폰에 물리적으로 접근하거나 휴대폰을 해킹해서 원격접속을 하지 않는 이상 OTP 복제가 불가능하게끔 되어 있어 안전하다.
4.4. 보안 키
YubiKey 등의 물리적인 보안 키를 이용하는 방법이다. 로그인을 한 후 본인이 맞는지 확인하기 위해서 보안 키를 USB 포트에 꽂고 키 비밀번호를 입력해야 한다. 보안 키를 잃어버리지만 않는다면 보안 수준이 매우 높은 방법이다. 다만 보안 키를 잃어버린 경우 로그인이 불가능할 수 있기 때문에 보안 키 인증을 주 인증 방법으로 사용하고자 한다면 다른 방법을 한 가지 더 등록해 두는 것이 좋다. #4.5. 전용 인증 앱
네이버, Steam처럼 해당 기업의 모바일 앱으로 로그인 여부를 확인하는 방법이다. 이 앱이 설치된 본인 명의 휴대전화가 아닌 다른 기기로 로그인하려고 하면 본인 휴대전화에 설치된 앱에 인증요청이 뜬다. 이 알림에서 승인 버튼을 눌러 로그인을 완료하는 방식이다. 이러한 종류의 서비스가 늘어남으로써 사용자는 여러 종류의 인증앱을 설치해야만 하는 문제가 발생하고 있다.자사앱이 없거나, 기능을 추가할 예산이 없는 소규모 서비스에서는 사용하지 않고, 다른 기업의 인증만을 목적으로 하는 전문 OTP앱을 사용한다.
4.6. 백업코드
2단계 인증을 설정한 후 앱에서 발급받은 1회용 코드[6]로 로그인 하는 방식이며 휴대전화를 분실했거나 불가피하게 사용할 수 없는 경우 대부분 이 방법으로 로그인한다. 코드가 1회용이기 때문에 백업코드를 다 써버리면 재생성[7]해야 하는데 코드를 모두 사용할 때마다 수시로 재생성해야되므로 번거롭다는 단점이 있다.[8]5. 대표적으로 사용하는 경우
소셜 계정 로그인(네이버, 다음, 마이크로소프트, 페이스북 계정 등으로 로그인)을 지원하는 경우도 있는데, OTP를 지원하지 않더라도 소셜 계정이 OTP를 지원하면 2단계 인증이 걸리는 셈이 된다.- 게임
사이트 TOTP 소셜 로그인 전용 앱 Steam O Grand Theft Auto 시리즈[9] O O 배틀넷[10] O O 플레이스테이션[11] O 넥슨[12] O O 한게임[13] O O 스마일게이트 O O 던전앤파이터[14] O O 리그 오브 레전드[15] O 엠게임[16] O 에픽게임즈[17] O
보통 게임의 경우 2단계 인증을 걸어 놓는 계정에 어드밴티지를 주는 경우가 많으며, 대부분 전용 앱을 많이 사용하는 경향이 있다.
- 웹사이트
사이트 TOTP 소셜 로그인 전용 앱 아마존닷컴 O Google O MEGA O Microsoft O PayPal O Apple O 네이버 O 삼성[18] O O 나무위키[19] O 알라딘 O 교보문고 O YES24 O 퀘이사존 O 뽐뿌 O 쿨엔조이 O 플레이웨어즈 O 루리웹 O 인벤 O 엠엘비파크 O 이토랜드 O Slack O O Dropbox O O 모질라 재단 O O 로지텍 O ASUS O MSI O GIGABYTE O 와디즈 O 텀블벅 O Adobe O 포스타입 O
국내 웹사이트는 소셜 계정으로 간접적인 OTP 지원을 하는 경우가 매우 많으며, 해외 사이트는 TOTP를 이용하는 경향을 보인다.
- 메신저/SNS
사이트 TOTP 소셜 로그인 전용 앱 X(SNS) O 페이스북 O 인스타그램 O Discord O BAND[20] O O Kakao O WhatsApp O 텔레그램 O Signal(메신저) O 얼룩소 O velog O
메신저는 그 특성상 전용 앱을 많이 사용하는 경향이 있다.
- OTT
사이트 TOTP 소셜 로그인 전용 앱 왓챠 O TVING O Wavve O
OTT 사이트는 여러 기기에서 로그인하는 것을 염두에 둔 건지는 몰라도 다른 사이트에 비해 지원하는 수가 확실히 적다.
6. 관련 문서
[1] PC방 같은 공공장소에서는 게스트 모드로 로그인을 해야 한다.[2] 삼성계정의 경우 반드시 2단계 인증을 설정하도록 정책이 바뀌었다.[3] 백업이 가능해졌더라도, 구글 계정 로그인이 불가능한 상황에 대비해 2단계 인증 백업 코드를 반드시 발급받도록 하자.[4] 최초 이 문제를 발견한 보안 연구원은 구글에서 추가 조치가 있기 전까진 사용자들에게 해당 기능을 사용하지 않길 권장했다.[5] 애초 해당 기능을 도입할 때 당연히 적용했어야 될 암호화를 배제한 채 허술하게 업데이트를 진행한 구글이 이해가 안가는 부분.[6] 8자리 숫자로 구성된 코드이며 Discord의 경우 백업(복구)코드에 영문과 숫자가 섞여있다.[7] 기존의 백업코드는 삭제되며 새로운 1회용 백업코드가 생성된다.[8] 1회용 백업코드를 로그인할 때 다 써버리면 재생성하기 전까지 로그인이 불가능하다.[9] 소셜클럽 계정을 말한다.[10] 원래 인증기 앱이 따로 있었으나 2023년 8월 18일 기준으로 Battle.net 앱으로 통일되었다.[11] 문자 인증과 TOTP 인증 중에 선택 가능하다.[12] 특이하게 계정 로그인이 아닌, 게임 실행 시에 인증하며 컴퓨터에 뜨는 숫자를 넥슨플레이 앱에 입력하는 형식이다. 모든 게임이 다 되는 것은 아니며 일부 게임은 자체 OTP가 따로 있었으나 2023년 8월 기준으로는 통합되었다.[13] 등록한 전화로 걸려오는 ARS를 통해 인증번호를 입력하는 형식으로 전화 인증도 가능하다.[14] 넥슨 게임이므로 당연히 소셜 로그인 인증이 되며, 던파 OTP 앱이 따로 있다. 넥슨 게임사 아니랄까봐 게임이 실행되고 나서 OTP를 인증하며 원래는 PC OTP도 지원을 하였으나, PC OTP는 서비스가 종료되었다. 다른 게임과는 다르게 OTP를 다양하게 쓰는데, 아이템 잠금 해제 시나 화면잠금 해제 시에도 OTP를 인증한다.[15] 라이엇 계정은 이메일 인증만 된다[16] 전용 인증기 앱은 2024년 8월 30일부로 종료되었다.[17] TOTP로 할지, SMS 인증으로 할지, 이메일 인증으로 할지 선택이 가능하다.[18] 원래는 필수가 아니었으나, 계정 생성 시에 무조건 2단계 인증을 설정하도록 변경되었다.[19] 2차 인증을 걸어 놓으면 기본적으로는 이메일 인증이며, <내 정보> 항목에서 TOTP로 설정이 가능하다.[20] BAND 자체 OTP 앱이 없으나, 네이버 및 Apple 계정으로 가입 가능하기 때문에 전용 앱을 사용하는 것으로도 볼 수 있다.