매직 링크: 패스워드리스 로그인
매직 링크란 패스워드리스 로그인 (비밀번호가 필요 없는 로그인 형태)을 말합니다. 로그인 자격 증명을 입력하는 대신 사용자에게 이메일, 때로는 SMS를 통해 토큰이 삽입된 URL이 전송됩니다. 사용자가 링크를 클릭하여 인증하면 애플리케이션이나 시스템으로 다시 리디렉션되어 실제로 비밀번호를 사용하지 않았지만 마치 "마법의" 비밀번호를 사용한 것처럼 성공적으로 로그인됩니다.
다수의 기업들이 비밀번호 기반 인증 방식에서 탈피함에 따라 매직 링크 (혹은 패스워드리스) 로그인이 새로운 소비자 인증 방식으로 각광받고 있습니다. Slack 매직 링크가 필요하든, Tumblr 매직 링크가 필요하든, 혹은 앱과 서비스에 쉽게 액세스할 수 있는 방법이 필요하든 상관없이 매직 링크 로그인을 이용하면 긴 비밀번호를 일일이 기억해야 하는 부담을 덜 수 있습니다.
이번 게시물에서는 매직 링크의 원리를 자세히 살펴보고, 조직이 매직 링크를 사용해 안전하고 사용자 친화적인 경험을 제공할 수 있는 여러 가지 상황에 대해 알아보겠습니다. 또한 엔드 유저와 개발자 입장에서 매직 링크 인증이 어떠한 장점과 단점이 있는지도 함께 알아보겠습니다.
매직 링크의 작동 원리 및 프로세스
매직 링크는 다음의 세 가지 단계로 이루어집니다.
- 사용자가 로그인 화면에서 이메일 주소를 입력합니다.
- 등록된 이메일 주소라면 사용자에게 매직 링크가 포함된 이메일이 발송됩니다.
- 사용자가 이메일을 열고 매직 링크를 클릭하여 로그인 프로세스를 마칩니다.
그 밖에 등록할 때 이후 인증에 사용할 수 있는 라이브 링크를 사용자에게 전송하는 방법도 있습니다. 이러한 절차는 사용자가 새로운 비밀번호를 만들 수 있는 비공개 링크를 수신한다는 점에서 비밀번호 리셋 프로세스와 유사합니다. 앱 개발자가 매직 로그인을 구성하려면 비밀번호(및 관련 리셋 프로세스)를 제거하고 일회성 비공개 링크를 사용자의 이메일 주소로 전송할 수 있는 프로세스가 필요합니다.
개발자는 링크의 유효 기간을 설정된 주기 또는 사용자의 세션 수명주기로 구성할 수 있습니다. 사용자가 유효 기간 내에 링크를 클릭하면 인증과 함께 세션 기간 동안 로그인 상태를 유지하는 쿠키가 설정됩니다.
매직 링크는 사용자가 계정에 액세스하기 위해 비밀번호를 기억하거나 입력할 필요가 없다는 점만 제외하면 비밀번호를 수차례 리셋하면서 경험했던 방식과 동일하게 진행됩니다. 따라서 로그인 프로세스를 간소화하여 매력적인 사용자 경험을 제공할 뿐만 아니라 별도의 하드웨어 요구 사항도 없습니다.
매직 링크 사용 방법 및 사례
매직 링크를 구현할 생각이라면 아마도 강력한 보안 전략에 유용한 사용자 친화적인 기능을 앱에 추가할 방법을 모색하게 될 것입니다. 그럼 이 매직 링크의 기능을 이해하실 수 있도록 몇 가지 주요 사용 사례에 대해 간략히 살펴보겠습니다.
매직 링크:
- 로그인이 빈번하지 않을 때 이상적입니다. 매직 링크는 각 사용자 세션이 시작될 때 발송되어 일회성으로 사용자를 인증합니다. 따라서 인증이 드물게, 혹은 한 번만 필요한 앱에서 사용할 때 원활한 액세스가 보장됩니다.
- WebAuthn과 함께 사용하기에 유용합니다. WebAuthn은 비밀번호가 필요 없는 인증을 위한 표준 기반 프레임워크로서, 웹 애플리케이션은 이를 통해 등록된 디바이스를 인증 요소로 사용할 수 있습니다. 이 프레임워크는 내부 인증자(예: Google Chrome 같은 브라우저 지원) 외에도 YubiKeys, 생체인식 식별자 등 다양한 외부 인증자를 지원합니다. 매직 링크는 기업과 사용자가 하드웨어를 추가로 구현하지 않더라도 WebAuthn을 지원하는 앱에 대체 인증 계층을 제공할 수 있습니다.
- 비밀번호 기반 공격을 방지합니다. Verizon의 데이터 침해 조사 보고서를 보면, 침해 사고의 80%가 탈취되거나 무차별 대입 공격을 받은 자격 증명과 연관된 "해킹"으로 분류되면서 자격 증명 탈취가 가장 많이 사용되는 해킹 전술이라고 나와있습니다. 오늘날 자격 증명 스터핑이나 피싱과 같은 비밀번호 기반 공격이 증가하고 있는 가운데, 매직 링크는 비밀번호에 내재된 보안 위험을 막아주는 보호자와 같습니다. 비밀번호가 취약하면 다른 사람이 추측하거나 입수하기 쉬우며, 다른 자격 증명까지 암기해야 한다는 불편으로 인해 여러 계정에서 비밀번호를 재사용하는 등 잘못된 보안 행동을 초래할 수 있습니다.
- 계정 생성 및 로그인을 간소화합니다. 매직 링크에서는 앱 개발자가 부트스트랩을 이용해 사용자 등록과 로그인을 동시에 처리할 수 있습니다. 새로운 사용자는 등록 단계에서 세부 정보를 입력하거나 자격 증명을 설정하지 않고도 로그인 링크를 얻을 수 있기 때문에 사용자 불편을 최소화하는 동시에 사용자 여정에서 언제든지 계정을 생성할 수 있습니다.
매직 링크의 특징 및 이점
기업은 매직 링크를 구현하여 다양한 이점을 얻을 수 있습니다. 매직 링크의 이점은 다음과 같습니다.
- 손쉬운 인증 구축 및 사용. 매직 링크는 비밀번호 리셋과 거의 동일한 프로세스를 따르기 때문에 추가 비용 없이 코드만 부분적으로 조정하여 구현할 수 있습니다.
- 원활한 온보딩. 사용자는 자신의 이메일 주소를 입력하고 매직 링크를 클릭하면 앱에 간편하게 등록할 수 있으므로 온보딩 프로세스가 간소화됩니다.
- 로그인 문제해결 감소. 기업은 비밀번호를 매직 링크로 교체하여 관리 오버헤드를 줄일 수 있습니다. 로그인 실패로 인해 보안 알림을 처리해야 하는 시간이 줄어들 뿐만 아니라 더 이상 새로운 비밀번호 요청에 대응할 필요가 없기 때문입니다.
- 앱 도입 증가. "매직" 비밀번호를 통해 로그인 프로세스를 긍정적인 경험으로 만들어 주기 때문에 사용자가 앱을 계속 사용하게 만들 수 있습니다. 매직 링크는 충성도를 높여 재방문 사용자의 수를 늘리는 데도 효과적입니다.
- 구매 전환율 증가. 상품 판매 시 로그인 프로세스의 간소화 덕분에 구매를 포기하는 고객이 줄어들어 웹과 모바일 환경 모두 구매 전환율이 증가할 수 있습니다.
- 공격 대상 감소. 취약하거나 재사용되는 자격 증명은 기업을 공격할 수 있는 허점으로 작용합니다. 하지만 비밀번호가 필요 없으면 자격 증명 유출로 인한 계정 탈취 및 데이터 침해의 위험이 줄어듭니다.
엔드 유저에게도 다양한 이점이 있습니다.
- 하드웨어 종속성 탈피. 하드 토큰이나 생체인식과 같은 인증 방법을 적용하려면 사용자가 일정한 기술을 보유하고 있어야 하지만 매직 링크는 리소스 요건이 따로 존재하지 않습니다. 따라서 진입 장벽이 없기 때문에 인증에 대한 접근성이 가장 우수합니다.
- 직관적인 사용자 경험. 매직 링크는 익숙한 비밀번호 리셋 프로세스를 간소화한 형태이기 때문에 등록과 로그인 절차가 간단합니다.
- 다양한 디바이스에서 사용할 수 있는 유용성. 매직 링크는 사용자가 자신의 이메일에 액세스할 수만 있다면 어떤 디바이스에서든지 손쉽게 인증이 가능하여 스마트폰, 태블릿, 노트북, 데스크톱 등에서도 동일하게 사용할 수 있습니다. 매직 링크는 디바이스에 수신된 링크를 클릭하면 사용자 인증이 가능하기 때문입니다. 또한 사용자는 작업 중인 디바이스에서 본능적으로 이메일을 열어보기 때문에 불편을 초래할 이유도 없습니다.
매직 링크 사용 시 해결해야 할 과제
매직 링크는 비밀번호보다 더욱 강력한 보안을 제공할 수 있지만 몇 가지 해결해야 할 사항도 존재합니다.
- 보안과 직접 연결되는 사용자의 이메일 계정. 이것 자체로도 보안 위험에 노출됩니다. 매직 링크 이메일은 메일 서버 사이에서 위태롭게 전송되기 때문에 사용자의 이메일 공급업체 직원들이 볼 수도 있습니다. 아무런 보안 조치 없이 방치된 디바이스라면 사용자의 메일 수신함도 쉽게 열어볼 수 있습니다. 따라서 매직 링크 이메일에 대한 보안을 빈틈없이 유지하려면 다중 요소 인증을 사용해 이메일 계정을 보호해야 합니다.
- 링크 공유를 제어하지 못하는 관리자. 비밀번호와 마찬가지로 잘못된 보안 행동 역시 취약점을 야기합니다. 관리자는 사용자가 비공개 링크를 다른 사람과 공유하지 못하도록 막을 방법이 없습니다.
- 중간자 공격에 취약. 사용자가 암호화된 네트워크를 통해 이메일에 액세스하지 않을 경우 해커가 이메일을 가로채 매직 링크에서 세션 토큰을 탈취할 수 있습니다.
매직 링크: 요점
결론적으로 매직 링크는 사용자에게 편리한 로그인 프로세스를 제공한다는 점에서 유용하며, 가장 안전한 인증 방법이라고 할 수는 없습니다.
이를 위해 매직 링크를 Okta Adaptive MFA (Multi-Factor Authentication)을 함께 사용하는 것도 한 가지 해결책이 될 수 있습니다. 매직 로그인의 취약점을 감안했을 때 사용자가 신뢰할 수 없는, 즉 암호화되지 않은 네트워크를 통해 이메일 계정에 액세스할 경우 인증을 추가로 요구하는 정책을 설정하면 중간자 공격의 위험을 완화할 수 있습니다. 또한 Adaptive MFA에서는 암호화된 네트워크를 통해 등록된 사용자에게만 매직 링크를 배포하도록 선택하는 등 동적 상황을 인식하는 액세스 정책을 시행할 수 있습니다.
보안을 가장 중요하게 생각한다면 로그인을 보호할 수 있는 방법을 추가로 마련하는 것이 좋습니다. 예를 들어 WebAuthn을 사용하면 안전을 보장하는 여러 가지 인증 요소와 매직 링크를 함께 사용하여 기업과 사용자를 안전하게 보호하기 때문에 비밀번호가 필요 없는 편의성과 엄격한 보안을 모두 도입할 수 있습니다.
비밀번호가 필요 없는 인증은 성공으로 가는 길입니다. Okta가 제공하는 패스워드리스(passwordless) 로그인 구성 요소를 빠짐없이 살펴보고 고객에게 패스워드리스 구성 요소가 필요한 이유가 무엇인지 알아보십시오. 개발자라면 안전한 인증 환경을 앱에 구축하는 데 도움이 되는 Okta 툴에 대해 알아보십시오.