사례 연구

X, 패스키 도입 후 로그인 성공률 2배 개선

전문 길이: 3분
Niharika Arora
개발자 관계팀 엔지니어

속보와 엔터테인먼트부터 스포츠와 정치까지 X는 전 세계 약 5억 명의 사용자가 모든 실시간 해설과 함께 전체 스토리를 파악할 수 있도록 지원하는 소셜 미디어 앱입니다. 최근 X 개발자는 사용자가 관심 있는 대화를 놓치지 않도록 Android 앱의 로그인 프로세스를 개편했습니다. 팀은 Credential Manager API를 사용하여 앱에 더 빠르고 쉽고 안전하게 액세스할 수 있도록 새로운 패스키 인증을 구현했습니다.

패스키로 로그인 간소화

오늘날 기존의 비밀번호 기반 인증 시스템은 보안이 취약하고 사이버 공격에 더 취약합니다. 많은 사용자가 추측하기 쉬운 비밀번호를 선택하는 경우가 많으며, 악의적인 행위자는 무차별 대입 공격을 사용하여 이러한 비밀번호를 쉽게 해킹할 수 있습니다. 또한 여러 계정에서 동일한 비밀번호를 재사용하므로 비밀번호 하나가 해킹되면 모든 계정이 도용됩니다.

패스키는 비밀번호를 완전히 없애서 취약한 비밀번호와 피싱 공격으로 인한 계정 보안에 대한 우려를 해결합니다. 이 기능은 더 안전하고 원활한 로그인 환경을 제공하여 사용자가 사용자 이름이나 비밀번호를 기억하지 않아도 됩니다.

X의 보안 책임자인 Kylie McRoberts는 '패스키는 비밀번호를 PIN 또는 지문이나 얼굴 인식과 같은 생체 인식 데이터로 대체하여 더 간단하고 안전하게 로그인할 수 있는 방법입니다'라고 말했습니다. '패스키를 사용하여 사용자가 더 쉽고 안전하게 로그인할 수 있도록 지원하여 비밀번호를 기억하는 번거로움 없이 계정을 보호할 수 있도록 했습니다.'

패스키를 구현한 후 X팀은 로그인 시간과 로그인 흐름 개선을 보여주는 측정항목이 크게 감소했습니다. 패스키를 사용하면 비밀번호에만 의존했을 때와 비교하여 앱의 로그인 성공률이 두 배로 증가 했습니다. 또한 팀은 패스키를 사용 설정한 사용자의 비밀번호 재설정 요청이 감소한 것을 확인했습니다.

X 개발자에 따르면 패스키를 도입하면 보안 강화 및 로그인 환경 간소화 외에도 비용 절감 및 UX 개선과 같은 이점이 있었습니다.

Kylie는 '패스키는 강력한 고유 인증을 제공하므로 SMS 기반 2단계 인증과 관련된 비용을 절감할 수 있었습니다'라고 말했습니다. '또한 사용자는 비밀번호를 기억하거나 재설정하는 데 드는 부담이 적으므로 로그인하기가 쉬워져 플랫폼에 더 많이 참여할 수 있습니다.'

패스키는 공개 키 암호화를 사용하여 사용자를 인증하고 비공개 키를 제공합니다. 즉, 웹사이트와 앱은 공개 키를 확인하고 저장할 수 있지만 비공개 키는 확인할 수 없습니다. 비공개 키는 사용자의 사용자 인증 정보 제공자가 암호화하고 저장합니다. 키는 고유하고 웹사이트나 앱에 연결되어 있으므로 피싱할 수 없어 보안을 더욱 강화할 수 있습니다.

xSaurabh.png

Credential Manager API를 사용한 원활한 통합

패스키를 통합하기 위해 X 개발자는 Android의 Credential Manager API를 사용했으며, 이로 인해 프로세스가 '매우 원활'해졌다고 Kylie는 말했습니다. API는 Smart Lock, One Tap, Google Sign-In을 단일의 간소화된 워크플로로 통합합니다. 또한 개발자는 수백 줄의 코드를 삭제하여 구현을 개선하고 유지보수 오버헤드를 줄일 수 있었습니다.

결국 X 개발자는 Credential Manager로의 이전을 완료하는 데 2주가 걸렸고, 패스키를 완전히 지원하는 데 2주가 더 걸렸습니다. X의 직원 엔지니어인 Saurabh Arora는 '매우 빠른 이전이었고 팀은 이렇게 간단하고 직관적일 것이라고는 예상하지 못했습니다'라고 말했습니다. Credential Manager의 간단한 코루틴 기반 API 덕분에 여러 인증 옵션을 처리하는 복잡성이 기본적으로 제거되어 코드, 버그 발생 가능성, 전반적인 개발자 노력이 줄었습니다.

X 개발자는 Credential Manager API를 통합하여 개발자 속도가 크게 개선되었습니다. Credential Manager API를 통해 패스키 도입으로 전환한 결과 다음과 같은 성과를 거두었습니다.

  • 인증 모듈에서 코드 80% 감소
  • 기존 에지 케이스 버그 90% 해결
  • GIS, One Tap, Smart Lock 처리 코드 85% 감소

createCredentialgetCredential과 같은 Credential Manager API의 최상위 메서드를 사용하면 개별 프로토콜과 관련된 맞춤 로직 복잡성을 제거하여 통합이 간소화되었습니다. 또한 이 균일한 접근 방식을 통해 X 개발자는 단일의 일관된 인터페이스를 사용하여 패스키, 비밀번호, Google 계정으로 로그인과 같은 제휴 로그인 등 다양한 인증 유형을 처리할 수 있었습니다.

Saurabh는 'Credential Manager의 간단한 API 메서드를 사용하면 단일 호출로 패스키, 비밀번호, 제휴 토큰을 가져올 수 있어 분기 로직을 줄이고 응답 처리를 더 깔끔하게 할 수 있었습니다'라고 말했습니다. 'createCredential()getCredential()과 같은 다양한 API 메서드를 사용하면 사용자 인증 정보 저장도 간소화되어 비밀번호와 패스키를 한곳에서 처리할 수 있었습니다.'

X 개발자는 Credential Manager API를 사용하여 Google 계정으로 로그인을 도입할 때 많은 문제에 직면하지 않았습니다. X의 이전 Google Sign In, One Tap, Smart Lock 코드를 더 간단한 Credential Manager 구현으로 대체하면 개발자가 더 이상 연결 또는 연결 해제 상태와 활동 결과를 처리할 필요가 없어 오류 발생 가능성이 줄어듭니다.

passkeys.png

패스키가 있는 미래

X의 패스키 통합은 더 안전하고 사용자 친화적인 인증 환경을 달성할 수 있음을 보여줍니다. X 개발자는 Credential Manager API를 활용하여 통합 프로세스를 간소화하고 잠재적인 버그를 줄이며 보안과 개발자 속도를 모두 개선하는 동시에 사용자 환경을 개선했습니다.

Saurabh는 '패스키 통합을 고려하는 개발자를 위한 조언은 Credential Manager API를 활용하는 것입니다'라고 말했습니다. '이 프로세스를 정말 간소화하고 작성하고 유지관리해야 하는 코드를 줄여 개발자에게 구현을 개선합니다.'

앞으로 X는 패스키만으로 가입을 허용하고 전용 패스키 관리 화면을 제공하여 사용자 환경을 더욱 개선할 계획입니다.

시작하기

패스키 Credential Manager API를 사용하여 앱의 로그인 UX를 개선하는 방법을 알아보세요.

작성자:

계속 읽기