Get your free and exclusive 80-page Banking Passkey Report
revolut passkeys

Revolut 패스키: 과감한 시도, 하지만 개선의 여지도

Revolut이 조용히 패스키를 출시했습니다. 이번 종합 분석에서 뱅킹 보안, 사용자 경험에 미치는 영향과 개선이 필요한 부분에 대해 알아보세요.

Vincent Delitz

Vincent

Created: July 15, 2025

Updated: July 16, 2025


See the original blog version in English here.

WhitepaperBanking Icon

Want to learn how top banks deploy passkeys? Get our 80-page Banking Passkeys Report (incl. ROI insights). Trusted by JPMC, UBS & QNB.

Get Report

1. 소개#

디지털 뱅킹 분야에서는 사용자 경험을 희생하지 않으면서 강력한 보안을 확보해야 할 필요성 때문에 혁신적인 솔루션들이 등장하고 있습니다. 그중에서도 사용자 인증의 새로운 표준인 패스키가 단연 돋보입니다. 런던에 본사를 둔 선도적인 네오뱅크 Revolut은 최근 개인 및 비즈니스 계정 모두에 패스키를 조용히 출시하기 시작했습니다. 이러한 전략적 움직임은 더 안전하고 편리한 디지털 경험에 대한 증가하는 수요에 부응할 뿐만 아니라, 뱅킹 부문의 패스키 도입에 있어 Revolut을 선구자로 자리매김하게 합니다.

PasskeyAssessment Icon

Get a free passkey assessment in 15 minutes.

Book free consultation

패스키 출시로 RevolutCoinbase, WhatsApp, Nintendo, Uber 등 패스키 열풍을 주도하는 기술 대기업들의 트렌드를 따르고 있습니다. 금융 부문에서 Revolut은 패스키를 출시한 최초의 은행 중 하나이며, 현재까지는 가장 큰 은행일 것입니다.

고지 사항: 앞으로 몇 주 안에 패스키가 더 넓은 범위로 점진적으로 출시되고 버그가 개선될 것으로 예상합니다. 저희는 그에 따라 이 게시물을 업데이트할 예정입니다. 현재 버전은 2024년 2월 7일 기준입니다.

2. 패스키의 본질과 그 중요성#

패스키는 비밀번호 없는 인증의 다음 단계를 대표하며, 사용자에게 원활하면서도 안전한 계정 접근 방법을 제공합니다. 기존 비밀번호와 달리 패스키는 복잡한 비밀번호를 기억할 필요가 없으며, 대신 각 사용자와 기기마다 고유한 키를 사용하는 비대칭 암호화에 의존합니다. 이 방법은 피싱 공격과 데이터 유출의 위험을 줄여 보안을 강화할 뿐만 아니라, 사용자가 Face ID, Touch ID 또는 Windows Hello만 사용하면 되므로 로그인 절차를 단순화하여 전반적인 사용자 경험을 개선합니다.

3. Revolut의 패스키 출시: 혁신과 과제가 뒤섞인 결과#

Revolut은 패스키를 단계적으로 도입하고 있으며, 비즈니스 계정과 개인 계정에 기능을 동시에 출시하지 않고 있습니다. 저희가 조사 중에 발견한 주요 차이점은 다음 표에 요약되어 있습니다.

기능Revolut 개인 계정Revolut 비즈니스 계정
로그인 페이지에 패스키 로그인 버튼 표시아니요
새 기기에서 성공적으로 로그인 후 패스키 홍보 팝업예, 하지만 모든 기기에서 실패예, 모든 기기에서 표시되지만 Windows 11에서만 패스키 생성 성공
계정 보안 설정에서 패스키 설정 가능예, 하지만 패스키 생성 버튼 없음아니요
네이티브 iOS / Android 앱에서 패스키 지원아니요아니요

3.1 Revolut 패스키 통합의 장점#

Revolut의 패스키 통합에서 긍정적으로 언급해야 할 측면은 다음과 같습니다.

  • 뱅킹 부문에서의 안전한 디지털 리더십: 패스키 도입을 선도함으로써 Revolut은 뱅킹 환경에서 디지털 리더로서의 입지를 확보할 뿐만 아니라 다른 금융 기관들도 이를 따르도록 장려합니다.
  • 사용자 경험 개선: 패스키는 사용자가 MFA를 위해 두 번째 기기를 필요로 하지 않고 복잡한 비밀번호를 기억할 필요도 없으므로 가장 간단한 형태의 사용자 인증입니다.
  • SMS OTP 비용 절감: 엔터프라이즈급 기업에서 패스키 도입을 추진하는 동력 중 하나는 종종 UX 개선과 보안상의 이점뿐만 아니라, 구식이면서 상대적으로 안전하지 않은 SMS OTP(은행권에서 여전히 널리 사용됨)에 대한 막대한 비용을 절감하는 것입니다.

3.2 개선의 여지#

패스키 통합을 향한 Revolut의 과감한 발걸음은 칭찬할 만하지만, 출시 과정에 결함이 없었던 것은 아닙니다.

  • 정보성 패스키 자료 부족: 사용자를 위한 공식적인 패스키 FAQ나 가이드가 없다는 점(저희는 찾지 못했습니다)은 기능이 사용자에게 제공되고 있음에도 불구하고 출시 소통에 공백이 있음을 나타냅니다. 상세한 문서를 제공하면 패스키에 대한 궁금증을 해소하고 모든 사용자가 더 원활하게 전환할 수 있도록 도울 수 있습니다.
  • 일관성 없는 패스키 UX: 관찰 결과, 패스키 기능의 사용 가능 여부와 기능성이 기기 및 플랫폼에 따라 다릅니다. 패스키 설정이 안정적으로 표시되고 패스키 홍보 팝업이 실제 패스키 생성 절차로 이어지는 일관된 사용자 경험을 보장한다면(저희 테스트에서는 Windows 11에서만 작동했습니다) 사용자 신뢰도를 높일 수 있을 것입니다.
  • 조건부 UI 부재: 조건부 UI의 도입은 게임 체인저가 될 수 있습니다. 비밀번호뿐만 아니라 사용자 이름도 없는 로그인을 제공하여 사용자 경험을 향상시키면 로그인 절차를 더욱 간소화하고 직관적으로 만들 수 있습니다.
  • 네이티브 앱 통합 부재: 현재 Revolut의 모바일 우선 접근 방식은 네이티브 iOSAndroid 애플리케이션 내 패스키 지원까지는 확장되지 않았습니다. 네이티브 앱에 패스키를 통합하면 iOS 및 Android 기기의 높은 패스키 준비 상태를 활용할 수 있습니다.
  • 플랫폼 간 통합 인증 부재: 웹과 네이티브 앱 패스키 인증 간의 격차를 해소하는 것은 복잡한 과제입니다(샘플 설정에 대한 자세한 기술적 내용은 이 블로그 게시물을 참조하세요). 하지만 웹 앱, iOS 앱, Android 앱 간에 공유 패스키를 허용하는 통합 인증 메커니즘을 만들면 보안과 사용자 편의성을 향상시킬 수 있습니다.
Revolut-logo

Revolut has introduced passkeys

Join them

이어서 Revolut 개인 및 비즈니스 계정과 특정 기기 및 플랫폼에서 패스키가 어떻게 출시되는지에 대해 더 자세히 알아보겠습니다.

4. Revolut 비즈니스 패스키 분석#

네이티브 앱을 분석하기 전에 웹 애플리케이션을 자세히 살펴보며 Revolut 비즈니스 패스키 분석을 시작하겠습니다.

4.1 Revolut 비즈니스 웹 애플리케이션#

이하에서는 간결함을 위해 특정 플랫폼, 기기, 브라우저 조합만 강조하겠습니다.

참고로, Revolut의 패스키 팝업은 기존 인증 방법으로 성공적으로 로그인한 후 한 번만 표시됩니다. 팝업을 다시 트리거하려면 Revolut 쿠키를 삭제하거나 시크릿/개인 브라우저 모드에서 사이트에 접속해야 합니다.

Revolut 비즈니스 로그인 페이지에 접속하면 이메일 입력 필드 아래, Google/Apple 소셜 로그인 위에 위치한 **'패스키로 계속하기'**라는 눈에 띄는 새로운 로그인 옵션을 즉시 발견할 수 있습니다.

4.1.1 Windows 11 + Chrome#

패스키 홍보 팝업은 다음과 같습니다.

흥미롭게도 Revolut 비즈니스의 경우 기본 사용자 식별자는 이메일 주소이지만, 패스키는 전화번호에 연결되어 있습니다. 이는 아마도 Revolut 개인 계정이 먼저 전화번호로 생성되기 때문일 것입니다.

이제 Windows 11과 Chrome에서 성공적으로 패스키를 생성했으므로, 로그아웃하고 로그인 페이지에서 **'패스키로 계속하기'**를 클릭할 수 있습니다. 그러면 패스키 인증을 처리하기 위한 브라우저 UI가 나타납니다.

비밀번호를 입력하고 네이티브 앱의 푸시 알림이나 이메일 매직 링크를 두 번째 인증 요소로 사용하여 신원을 확인해야 하는 현재 Revolut 비즈니스 로그인 절차와는 대조적으로, 패스키 로그인의 경우 추가 인증 방법이 필요하지 않습니다. 이는 패스키가 본질적으로 2FA 역할을 하기 때문입니다. 이는 특히 데스크톱 기기에서 컨텍스트를 전환하거나 두 번째 기기를 사용할 필요가 없으므로 사용자 경험이 크게 개선되었음을 의미합니다.

4.1.2 Android + Chrome#

Android 14 및 Chrome 121에서는 '패스키로 계속하기' 로그인 버튼이 매우 눈에 띕니다.

4.1.3 iOS + Safari#

iOS 17.3 및 Safari에서도 '패스키로 계속하기' 로그인 버튼이 매우 눈에 띕니다.

4.2 Revolut 비즈니스 네이티브 애플리케이션#

Revolut 비즈니스용 네이티브 iOS 및 Android 앱은 아직 패스키를 지원하지 않습니다. 따라서 iOS(스크린샷 참조) 또는 Android 앱의 '보안 및 개인정보' 섹션에는 패스키 옵션이 없습니다.

5. Revolut 개인 계정#

주목해야 할 초기 차이점 중 하나는 Revolut 개인 계정은 전화번호를 기본 사용자 식별자로 사용한다는 것입니다. 비밀번호 대신 6~12자리 패스코드를 통해 인증이 관리되는 반면, Revolut 비즈니스 계정은 4자리 패스코드를 사용하고 기본 로그인 과정에서 비밀번호를 활용합니다.

5.1 Revolut 개인 계정 웹 애플리케이션#

이하에서는 간결함을 위해 특정 플랫폼, 기기, 브라우저 조합만 강조하겠습니다.

Substack Icon

Subscribe to our Passkeys Substack for the latest news.

Subscribe

5.1.1 macOS + Safari#

처음 로그인할 때(또는 쿠키를 삭제하거나 개인 브라우저 모드에 있을 때) 다음과 같은 홍보용 패스키 팝업이 표시됩니다.

어떤 이유에서인지 이전 화면에서 **'패스키 추가'**를 클릭한 후, Touch ID로 패스키 생성 절차를 시작할 기회 없이 바로 로그인된 페이지로 이동했습니다. 문제를 조사하던 중 Safari 개발자 도구의 네트워크 탭에서 해당 API 호출(https://sso.revolut.com/api/challenges/webauthn)을 발견했습니다. 하지만 이 API 호출은 HTTP 403 상태 코드를 반환했는데, 이는 해당 기능이 아직 완전히 출시되지 않았음을 나타내는 것으로 보입니다.

Revolut 비즈니스 계정과 달리, Revolut 개인 계정의 계정 설정에는 패스키 섹션이 있습니다.

5.1.2 iOS + Safari#

처음 로그인할 때(또는 쿠키를 삭제하거나 개인 브라우저 모드에 있을 때) 다음과 같은 홍보용 패스키 팝업이 표시됩니다.

5.2 Revolut 개인 계정 네이티브 애플리케이션#

Revolut 개인 계정용 네이티브 iOS 및 Android 앱은 아직 패스키를 지원하지 않습니다. 하지만 iOS 앱과 Android 앱(아래 스크린샷 참조) 모두 패스키에 대한 보안 설정 섹션을 포함하고 있습니다.

6. 기술적 분석#

아래에서는 몇 가지 기술적 측면에 대해 더 깊이 파고들어 보겠습니다.

Slack Icon

Become part of our Passkeys Community for updates & support.

Join

6.1 계정 유형에 따른 Revolut SSO의 다양한 로그인 옵션#

저희는 기술적 구현 세부 사항을 조사했습니다. 기본적으로 로그인 페이지가 로드될 때마다 _client_id_가 백엔드로 전송되고, 백엔드는 계정 유형에 따라 다른 인증 옵션을 반환합니다.

  • 비즈니스 계정: Apple, Google, 패스키(WebAuthn) 로그인
  • 개인 계정: Apple, Google 로그인

흥미롭게도 Revolut 개인 계정용 패스키 옵션은 준비되었지만 아직 활성화되지 않았습니다(아래 스크린샷 참조). 이는 출시가 임박했으며 신속하게 구현되어 개인 계정에서도 '패스키로 계속하기' 버튼을 사용할 수 있게 될 것임을 시사합니다.

로그인 옵션을 표시하는 결정은 _client_id_를 기반으로 합니다. 예: https://sso.revolut.com/signin?client_id=o3r08ao16zvdlf2y5fde 실험 목적으로 _client_id_를 임의의 값으로 변경했더니, Windows 11과 Chrome에서 모든 로그인 옵션(로그인 식별자를 전화번호와 이메일 간에 전환하는 기능 포함)이 표시되었습니다.

6.2 PublicKeyCredential-RequestOptions 분석#

로그인 절차 중에 PublicKeyCredentialRequestOptions를 분석했습니다. 주목할 점은 allowCredentials가 설정되지 않은 반면, relying party ID는 'sso.revolut.com'으로 설정되었다는 것입니다. userVerification을 'preferred'로 설정한 것은 보안 관점에서 신중한 선택입니다.

publicKeyCredentialRequestOptions.json
{ "allowCredentials": [], "challenge": "WHAxZnJDaDB1VnNXMmlOQW1hVndqdTYzSzF3emR3b3gtRFRCWHVxRjJYRQ", "rpId": "sso.revolut.com", "userVerification": "preferred" }

6.3 연관 파일 분석#

또한 네이티브 iOS 및 Android 앱으로의 출시가 어떻게 이루어질 수 있는지 분석하기 위해 sso.revolut.com의 relying party ID를 사용하고 assetlinks.json(Android) 및 apple-app-site-association(iOS) 파일의 경로를 추가하여 이 파일들이 패스키 출시에 관해 이미 어떤 정보를 담고 있는지 확인했습니다.

6.3.1 assetlinks.json#

https://sso.revolut.com/.well-known/assetlinks.json에 접속하려고 하면 nginx에서 404 오류가 발생하는데, 이는 파일 관리에 리버스 프록시를 사용하고 있음을 시사합니다. https://app.revolut.com 도메인을 사용하여 https://app.revolut.com/.well-known/assetlinks.json에서 assetlinks.json을 찾았고, 이는 Revolut 개인 계정에 대한 통찰력 있는 정보를 제공했습니다.

assetlinks.json
[ { "relation": ["delegate_permission/common.handle_all_urls"], "target": { "namespace": "android_app", "package_name": "com.revolut.revolut", "sha256_cert_fingerprints": [ "9C:9B:E0:71:35:E9:72:78:02:82:C2:E5:D2:7D:A0:6E:CB:8E:E3:AD:FC:75:30:39:17:DD:F6:6D:6F:AA:EF:A4", "11:F2:5B:D6:30:60:CE:B4:EF:EC:48:7C:C8:1F:6D:3D:D0:3A:75:C3:E9:D2:C5:32:3D:69:55:9D:C1:7F:6A:23" ] } }, { "relation": ["delegate_permission/common.handle_all_urls"], "target": { "namespace": "android_app", "package_name": "com.revolut.revolut.test", "sha256_cert_fingerprints": [ "90:EC:5D:75:11:4E:67:B7:F1:3F:C0:D0:57:85:9B:78:0D:A0:BA:49:E2:22:4C:60:42:7E:D2:EA:00:84:D1:B7" ] } } ]

https://well-known.dev를 통해 Revolut 비즈니스용 연관 파일도 https://business.revolut.com/.well-known/assetlinks.json에서 발견했습니다.

assetlinks.json
[ { "relation": ["delegate_permission/common.handle_all_urls"], "target": { "namespace": "android_app", "package_name": "com.revolut.business", "sha256_cert_fingerprints": [ "9C:9B:E0:71:35:E9:72:78:02:82:C2:E5:D2:7D:A0:6E:CB:8E:E3:AD:FC:75:30:39:17:DD:F6:6D:6F:AA:EF:A4", "9F:07:80:54:0F:3A:C9:6F:D7:26:02:8A:37:C5:CD:48:DB:A3:67:EE:2D:93:B3:9D:DE:51:BC:F2:2E:7F:B1:88", "F8:F5:95:3A:C3:85:DB:0D:85:C3:56:E9:9B:37:BD:CA:4D:EE:B0:D2:52:C6:2A:36:4F:BA:C8:3B:C6:AF:3A:C2" ] } } ]

Revolut 개인 계정용 assetlinks.json 파일과 Revolut 비즈니스용 파일 모두 네이티브 Android 앱을 웹 앱과 연결하기 위해 relying party ID로 지정된 경로에 위치하지 않으므로, 웹과 네이티브 Android 앱 모두에서 패스키가 작동하도록 하려면 어떤 변경이 필요한지 고려하는 것이 흥미롭습니다.

6.3.2 apple-app-site-association#

Revolut 개인 계정용 apple-app-site-association 파일은 https://revolut.com/.well-known/apple-app-site-association에서 접근할 수 있으며, 웹 자격 증명에 관한 세부 정보는 아직 추가되지 않았습니다.

apple-app-site-association
{ "applinks": { "apps": [], "details": [ { "appID": "QUZEZSEARC.com.revolut.revolut", "paths": ["/app/*"] }, { "appID": "QUZEZSEARC.com.revolut.test", "paths": ["/app/*"] } ] } }

반면, Revolut 비즈니스 apple-app-site-association 파일은 웹 자격 증명에 관해 더 포괄적인 정보를 포함하고 있습니다. 이는 iOS 앱 QUZEZSEARC.com.revolut.business가 Revolut 비즈니스 웹 애플리케이션과 자격 증명을 공유하도록 구성되었음을 나타냅니다. 이 파일은 https://business.revolut.com/.well-known/apple-app-site-association에서 접근할 수 있습니다.

{ "applinks": { "apps": [], "details": [ { "appID": "QUZEZSEARC.com.revolut.business", "paths": [ "/", "/accept-payments/in-person", "/accept-payments/online-requests", "/accept-payments/web-integrations", "/accounts", "/accounts/connect-external", "/accounts/connect-external/*", "/accounts/new", "/accounts/transactions", "/account-transactions/*", "/action/confirm", "/add-card-to-wallet", "/advances", "/advances/manual-repayment", "/app/*", "/application", "/approvals/requests", "/article/*", "/articles/*", "/bug-report", "/card-reader/order", "/cards", "/cards/*", "/cards/*/sca-counters-exceed", "/cards/*/sca-counters-warn", "/cards/*/security", "/cards/*/settings", "/cards/*/transactions", "/cashback", "/catalogue/manage", "/challenges/*", "/consumer-tickets/*", "/crypto", "/e-commerce", "/exchange", "/expense-documents/*", "/expenses", "/expenses/*", "/faq", "/faq/*", "/favourites", "/form", "/form/*", "/help-centre", "/help-centre/topic/*", "/hub/integrations", "/insurance", "/invoices", "/invoices/*", "/marketplace", "/merchant", "/merchant/*", "/new-card-acceptance-pricing", "/offboarding", "/open-onboarding-application-next-step", "/orders", "/pay-in-store/order/*", "/payments", "/payments/scheduled", "/payments/transfers", "/plan/subscriptions", "/points", "/pricing-plans", "/qr-code-sign-in/*", "/referrals", "/referrals/invite-contacts", "/referrals/invitee-details/*", "/request-info", "/request-info/merchant", "/requests", "/requests/request", "/reset-password", "/rewards", "/sales/revolut-me", "/statements", "/savings", "/send", "/settings/accounts-and-documents", "/settings/business-profile", "/settings/manage-devices", "/settings/merchant-profile", "/settings/merchant-profile/branding", "/settings/notifications", "/settings/personal-profile", "/settings/trusted-merchants", "/settings/vat-number", "/signup/invite", "/stories/*", "/story/*", "/subscriptions", "/team", "/team/approvals", "/team/member/add", "/team/roles", "/tip/settings", "/topup", "/transactions", "/transactions/*/add-expense-info", "/transactions/*/add-info-flow", "/transactions/*/chargeback-status", "/transfers", "/treasury", "/upgrade", "/vouchers" ] } ] }, "webcredentials": { "apps": ["QUZEZSEARC.com.revolut.business"] } }

Android와 마찬가지로, 웹 앱의 relying party ID(sso.revolut.com)가 예상 위치에 연관 파일을 가지고 있지 않다는 점을 고려할 때, 네이티브 앱과 웹 앱 간의 크로스 플랫폼 패스키 공유가 어떻게 구현될 수 있을지는 여전히 흥미로운 부분입니다.

7. 결론#

결론적으로, Revolut의 패스키 출시는 뱅킹 부문의 사용자 인증을 혁신하는 중요한 단계입니다. 패스키를 채택함으로써 Revolut은 기존 비밀번호에서 벗어나 보안을 개선할 뿐만 아니라, 더 간단한 로그인 절차를 통해 UX를 크게 향상시킵니다. 초기 출시에서 기기 간 불일치 및 네이티브 앱 지원 부재와 같은 문제에 직면했지만, Revolut의 노력은 디지털 혁신과 사용자 중심 설계에 대한 약속을 강조합니다.

기술적 분석에 따르면 원활한 패스키 통합을 위한 기반은 마련되었지만, 개선의 여지가 있는 영역이 있습니다. 소통을 강화하고, 플랫폼 간 일관성을 보장하며, 네이티브 모바일 애플리케이션을 포함하도록 지원을 확장하는 것이 중요한 다음 단계입니다. 이러한 영역을 해결하는 것은 Revolut의 구현을 개선할 뿐만 아니라 업계의 기준을 설정하여 다른 금융 기관들이 곧 패스키를 채택하도록 장려할 것입니다(저희의 패스키의 PSD2 준수에 대한 블로그 게시물도 참조하세요).

Next Step: Ready to implement passkeys at your bank? Our 80-page Banking Passkeys Report is available. Book a 15-minute briefing and get the report for free.

Get the Report

Share this article


LinkedInTwitterFacebook

Enjoyed this read?

🤝 Join our Passkeys Community

Share passkeys implementation tips and get support to free the world from passwords.

🚀 Subscribe to Substack

Get the latest news, strategies, and insights about passkeys sent straight to your inbox.

Related Articles