1. 2단계 인증이란?
계정명과 비밀번호만으로 로그인할 수 있게 하는 방식과 달리, 2단계 인증(2-Factor Authentication, 2FA) 방식은 로그인을 하기 위해 비밀번호 이외의 다른 수단, 이를테면 어떤 물리적인 장치를 보유하고 있을 것을 강제하는 방식을 말합니다. 스마트폰 등 항상 지니고 있는 기기를 사용하도록 하는 경우가 많고, 별도의 하드웨어 장비인 ‘보안 토큰’이라고 부르는 특별한 기기가 사용되기도 합니다.
2단계 인증을 사용하면 설령 비밀번호가 유출되는 일이 발생하더라도, 공격자가 2단계 인증에 필요한 물리적인 장치를 확보하지 못한다면 인증을 통과하지 못하게 됩니다. 즉, 공격자가 당신의 계정에 접근하기 위해서는 당신의 비밀번호는 물론 휴대전화까지 손에 넣어야 하므로 계정 탈취 등의 공격으로부터 좀더 안전해질 수 있습니다.
물론 2단계 인증을 사용하기 위해서는, 인증 대상이 되는 서비스가 2단계 인증 방식을 지원해야 합니다. 2024년 기준 구글, 노션 등 국내에서 활발히 사용되고 있는 클라우드 협업 도구들이 2단계 인증 기능을 지원하고 있습니다.
휴대전화를 이용한 ‘2단계 인증’은 크게 두 가지 방법이 사용되곤 합니다. 당신이 로그인할 때마다 당신의 휴대전화로 SMS 메시지를 보내거나, 휴대전화 자체에서 보안 코드를 생성하는 인증 프로그램을 사용하는 방법이 활용됩니다. 이러한 방법들은 공격자가 당신의 비밀번호는 가지고 있지만, 휴대전화에 물리적으로 접근할 수 없을 때 당신의 계정을 보호하는 데 도움이 됩니다.
전자(SMS 메시지를 보내는 방식)의 휴대전화를 이용한 2단계 인증은 당신의 휴대전화 번호를 서비스 업체에 제공해야 하는데, 이는 개인의 신원을 의도하지 않게 드러낼 수도 있습니다. 특히, 한국과 같이 휴대전화 서비스 이용을 위해 신원 확인을 해야만 하는 경우 이는 민감한 문제일 수 있습니다.
한편 구글이나 노션 등은 시간 기반 일회용 비밀번호(Time-based One-Time Passwords, TOTP) 방식의 2단계 인증을 지원합니다. TOTP를 지원하는 앱을 스마트폰에 설치하고, 이 앱에 제공할 TOTP 정보를 생성해 즉시 TOTP 앱에 등록하면, TOTP 앱은 일정 시간마다 1회용 비밀번호를 만들고, 해당 1회용 비밀번호가 일치할 때에만 2단계 인증이 통과하도록 하는 방식입니다.
KeePassXC, KeePassDX, StrongBox 등의 비밀번호 관리 도구는 TOTP 기능을 지원하며, TOTP 기능만을 수행하는 별도의 앱(Aegis Authenticator, Bitwarden Authenticator, Google Authenticator, Microsoft Authenticator 등)을 사용하여 관리할 수도 있습니다.
여러 사람이 하나의 계정을 공유하는 경우, 2단계 인증을 사용하기 위해서는 2단계 인증의 수단 또한 공유할 수 있어야만 합니다. SMS 메시지를 보내는 방식의 2단계 인증을 사용하려면 누군가 한 사람의 휴대전화번호로 문자메시지를 수신하고, 이를 다른 사람에게 전달해야 하는데 이 과정에서 필연적으로 보안 취약점이 발생할 수 있습니다. TOTP를 사용하고자 한다면 2단계 인증을 위해 TOTP 앱에 QR Code 등을 등록하기 위해, 2단계 인증 수단을 공유해야 하는 기기를 가진 사람들이 한 자리에 모여 TOTP 앱에 정보를 저장해야 합니다. 또한 구성원의 교체 등으로 인해 2단계 인증을 새로 설정해야 할 때 다시 모여야 한다는 점에 유의하여야 합니다.
2. 패스키(PassKey) 등의 새로운 인증 방식에 대한 이해
패스키(PassKey)는 비밀번호를 사용하지 않으면서도 안전한 인증방식을 제공하기 위해 도입된 새로운 인증방식입니다. 로그인을 위해서 계정의 비밀번호 대신 항상 당신이 갖고 다니는 스마트폰 등의 기기와 해당 기기를 인증하는 데 쓰일 수 있는 생체정보 혹은 그 기기 자체에 설정한 비밀번호를 사용하도록 합니다. 아래 사진과 같은 과정을 거쳐 구글 계정에 패스키를 설정할 수 있습니다.
패스키는 항상 내 곁에 특정한 기기가 있고, 또한 그 기기에는 오직 나 자신만 풀 수 있는 인증방식이 마련되어 있다는 두 가지 전제를 하고 있습니다. 따라서 패스키가 적용된 기기를 분실하였을 경우, 기존처럼 비밀번호를 이용하거나 혹은 패스키가 적용되어 있는 제3의 기기를 사용하거나 하는 등의 방법으로 계정에 로그인할 방법이 있다는 전제 하에, 해당 기기에 연결된 패스키를 계정에서 제거하는 식으로 보안 상황을 유지할 수 있습니다.
비밀번호가 전송되는 횟수 혹은 전송되기 위해 입력되는 횟수가 늘어날수록 비밀번호가 유출될 수 있는 가능성은 증가할 수밖에 없습니다. 패스키를 활용하는 방식에 대해 좀더 자세히 알아보려면, 패스키에 대해 소개하는 애플, 구글 등 여러 서비스의 소개문을 살펴보세요.