인증 앱(OTP 앱)이란?
인증 앱(OTP 앱, Authenticator 앱)은 2단계 인증을 켰을 때 비밀번호 다음에 입력하는 6자리 코드를 만드는 앱입니다. 설정할 때 서비스는 비밀 키가 담긴 QR 코드를 보여 줍니다. 앱은 그 키를 저장하고, 키와 현재 시간으로 30초마다 새 코드를 계산합니다. 인터넷 없이도 작동하며, 코드는 잠시 후면 쓸모가 없어집니다.
코드가 만들어지는 방식
QR 코드에는 서비스와 내 휴대폰만 아는 비밀 키가 들어 있습니다. 앱은 30초마다 키와 현재 시간을 조합해 그 결과를 6자리 숫자로 바꿉니다. 서비스도 같은 계산을 하고, 숫자가 일치하면 로그인됩니다. 이 방식은 TOTP라는 공개 표준(RFC 6238)이라서, ‘인증 앱’을 지원하는 서비스라면 어떤 인증 앱이든 사용할 수 있습니다.
휴대폰으로 전송되는 것이 없어서 비행기 모드에서도 작동합니다. 휴대폰 시계가 중요한 것도 이 때문입니다. 1분 이상 어긋나 있으면 대개 코드가 거부됩니다(해결 방법).
문자(SMS) 코드보다 안전한 이유
- 문자는 전화망을 거쳐 옵니다. 통신사를 속여 유심을 새로 발급받는 등(유심 스와핑) 누군가 내 번호를 가로채면 코드도 함께 넘어갑니다. 인증 앱의 키는 휴대폰 안에 머뭅니다.
- 해외에서도, 신호가 없어도, 전화번호가 없어도 작동합니다.
- 설정이 끝나면 키는 휴대폰 밖으로 나가지 않으므로, 중간에 가로챌 것이 없습니다.
완벽하지는 않습니다. 진짜처럼 꾸민 가짜 로그인 페이지가 코드를 입력하게 한 뒤 곧바로 쓸 수도 있습니다. 코드를 입력하기 전에 주소를 확인하세요. 서비스가 지원한다면 패스키는 이런 방식으로 탈취되지 않습니다.
설정 방법
- 인증 앱을 설치하세요.
- 서비스의 보안 설정에서 2단계 인증을 찾아, 문자 대신 인증 앱(OTP 앱)을 선택하세요.
- 앱으로 QR 코드를 스캔하세요. 스캔할 수 없다면, 대부분의 서비스가 키를 글자로도 보여 주니 직접 입력하세요.
- 앱에 표시된 현재 코드를 입력해 확인하세요.
- 서비스가 보여 주는 백업 코드를 휴대폰이 아닌 다른 곳에 보관하세요. 휴대폰을 잃어버렸을 때 이 코드로 로그인할 수 있습니다.
어떤 앱을 쓸까?
모든 앱이 같은 코드를 만들기 때문에, 차이는 키를 어디에 보관하고 새 휴대폰으로 어떻게 옮기느냐입니다.
- Google Authenticator(구글 OTP): 코드를 Google 계정에 저장할 수도, 계정 없이 쓸 수도 있습니다. 기기 변경 방법
- Microsoft Authenticator: Microsoft 계정과 회사 계정의 로그인 승인도 처리하며, iCloud나 Microsoft 계정에 백업합니다. 기기 변경 방법
- 비밀번호 관리 앱(iPhone의 Apple 암호 앱, 1Password, Bitwarden): 코드를 비밀번호 옆에 보관할 수 있습니다.
- 전용 앱(2FAS, Ente Auth, Kode 등): 코드를 비밀번호와 따로 보관하므로, 한쪽이 유출돼도 둘 다 드러나지는 않습니다.
일부 서비스는 자체 앱을 씁니다(예: Steam Guard). 그리고 ‘본인이 맞습니까? 예’를 누르는 승인은 그 서비스 자체 앱의 기능이지, 인증 앱 전반의 기능이 아닙니다.
휴대폰을 잃어버렸다면
키는 앱이 보관하는 곳에만 있습니다. 동기화나 백업을 해 두었다면 새 휴대폰에서 되찾을 수 있습니다. 그렇지 않다면 키는 사라졌으므로, 백업 코드나 서비스의 계정 복구로 로그인한 뒤 2단계 인증을 다시 설정하세요. 그래서 백업 코드가 중요합니다.
Kode
Kode는 Peter Theill이 만든 iPhone 앱(3,300원, 한 번 구매)으로, 이 코드를 만듭니다. 계정도 광고도 없고 네트워크 통신도 하지 않습니다. 키는 iPhone의 키체인에 저장되고, 종단 간 암호화되는 iCloud 키체인으로 새 iPhone에도 따라갑니다. Google Authenticator 등 다른 앱의 코드를 가져올 수 있습니다: Kode로 코드 옮기기
App Store에서 다운로드