Federated Credential Management API (FedCM)가 Chrome 108 (현재 베타 채널에서 제공)에 출시됩니다. 2022년 11월 말에 Chrome 안정화 버전으로 제공되는 FedCM API는 플래그나 오리진 트라이얼 토큰이 없어도 Chrome에서 작동합니다.
FedCM은 웹에서 제휴 ID 흐름에 사용 사례별 추상화를 제공하는 개인 정보 보호 샌드박스 API입니다. FedCM은 사용자가 웹사이트에 로그인할 때 ID 공급업체의 계정을 선택할 수 있는 브라우저 중재 대화상자를 표시합니다.
누적 업데이트 페이지에서 최신 API 변경사항을 검토하세요.
Google은 ID 공급업체 (IdP), 신뢰 당사자 (RP), 브라우저 공급업체의 의견을 바탕으로 여러 가지 새로운 기능을 도입할 계획입니다. ID 공급업체가 FedCM을 채택하기를 바라지만 FedCM은 여전히 개발 중인 API이며 이전 버전과 호환되지 않는 변경사항은 2023년 4분기까지 있을 것으로 예상됩니다.
이전 버전과 호환되지 않는 변경사항을 배포할 때 발생하는 문제를 최소화하기 위해 현재 ID 공급업체를 위한 두 가지 권장사항이 있습니다.
- API가 발전함에 따라 업데이트를 제공하는 뉴스레터를 구독하세요.
- API가 발전하는 동안 JavaScript SDK를 통해 FedCM API를 배포하고 자체 호스팅 SDK를 사용하지 않도록 IdP에서 적극 권장합니다. 이렇게 하면 모든 신뢰 당사자에게 재배포를 요청할 필요 없이 API가 발전함에 따라 IdP가 변경할 수 있습니다.
배경
지난 10년 동안 ID 제휴는 사이트별 사용자 이름과 비밀번호에 비해 신뢰성, 사용 편의성(예: 비밀번호가 없는 싱글 로그인), 보안 (예: 피싱 및 사용자 인증 정보 스터핑 공격에 대한 저항력 향상) 측면에서 웹 인증의 기준을 높이는 데 핵심적인 역할을 했습니다.
안타깝게도 ID 제휴가 사용한 메커니즘 (iframe, 리디렉션, 쿠키)은 웹에서 사용자를 추적하는 데 악용되고 있습니다. 사용자 에이전트는 ID 제휴와 추적을 구분할 수 없으므로 다양한 유형의 악용을 완화하는 조치로 ID 제휴 배포를 더 어렵게 만듭니다.
FedCM은 웹에서의 ID를 개선하기 위한 다단계 여정이며, 첫 번째 단계에서는 서드 파티 쿠키가 제휴 ID에 미치는 단계적 지원 중단의 영향을 줄이는 데 중점을 둡니다 (아래 다음 단계 참고).
Chrome은 Chrome 101부터 FedCM을 실험해 왔습니다.
Google ID 서비스팀은 오리진 트라이얼에 참여했으며, 서드 파티 쿠키를 사용하지 않는 보다 비공개적이고 안전한 로그인 프로세스로 전환하면 기존 라이브러리의 이전 버전과 호환되는 업데이트를 통해 투명하게 전환될 수 있음을 입증했습니다. 이를 위해 20개의 서로 다른 신뢰 당사자와 30만 명이 넘는 사용자가 오리진 트라이얼 동안 FedCM에 로그인했습니다. 이 기업이 서드 파티 쿠키에 대한 의존성을 없애기 위한 계획을 자세히 알아보세요.
Mozilla는 디자인 관련 토론에 적극적으로 참여하고 Firefox에서 FedCM의 프로토타입 제작을 시작한 Mozilla와 많은 공통점을 찾게 되어 기쁩니다. Apple은 사양에 관한 일반적인 지원을 밝혔으며 FedID CG의 논의에 참여하기 시작했습니다.
다음 단계
FedCM에 여러 가지 변경사항을 적용하기 위해 노력하고 있습니다.
IdP, RP, 브라우저 공급업체에서 파악된 문제를 비롯해 여전히 조치가 필요한 사항이 몇 가지 있습니다. Google은 이러한 문제의 해결 방법을 알고 있다고 믿습니다.
- 교차 출처 iframe 지원: IdP는 교차 출처 iframe 내에서 FedCM을 호출할 수 있습니다.
- 맞춤설정 버튼: IdP는 교차 출처 iframe 내 로그인 버튼에 재사용자의 ID를 표시할 수 있습니다.
- 측정항목 엔드포인트: IdP에 성능 측정항목을 제공합니다.
또한 Google에서 평가하거나 프로토타입을 제작하고 있는 특정 제안서를 포함하여 현재 적극적으로 탐색하고 있는 미해결 문제가 있습니다.
- CORS: FedCM 가져오기 사양 개선을 위해 Apple 및 Mozilla와 논의 중입니다.
- Multiple-IdP API: Google은 FedCM 계정 선택기에서 공동으로 공존할 수 있도록 여러 IdP를 지원하는 방법을 모색하고 있습니다.
- IdP Sign-in Status API: Mozilla는 타이밍 공격 문제를 확인했으며 Google은 문제를 완화하기 위해 IdP에서 사전에 브라우저에 사용자의 로그인 상태를 알리는 방법을 모색하고 있습니다.
- IdP API에 로그인: 다양한 시나리오를 지원하기 위해 사용자가 IdP에 로그인하지 않은 경우 브라우저는 사용자가 RP를 벗어나지 않고도 로그인할 수 있는 UI를 제공합니다.
마지막으로, Mozilla, Apple, TAG 검토자의 의견에 따라 여전히 개선이 필요하다고 생각되는 부분이 있습니다. Google에서는 다음과 같은 미해결 질문에 가장 적합한 해결책을 평가하기 위해 노력하고 있습니다.
- 사용자 이해도 및 매칭 인텐트 개선: Mozilla에서 언급했듯이 Google은 다양한 UX 수식과 노출 영역 및 트리거 기준을 계속 모색하고자 합니다.
- ID 속성 및 선택적 공개: 태그 검토자가 명시한 대로 Google은 ID 속성 (예: 이메일, 연령대, 전화번호 등)을 더 많이 또는 더 적게 선택적으로 공유할 수 있는 메커니즘을 제공하려고 합니다.
- 개인 정보 보호 속성 확대: Mozilla가 여기에서 제안한 것처럼 Google은 IdP 무시 및 방향성 식별자와 같이 더 나은 개인 정보 보호 보장을 제공하는 메커니즘을 계속 모색하고자 합니다.
- WebAuthn과의 관계: Apple에서 제안한 바와 같이 패스키의 발전 상황을 확인하고 FedCM, Passwords, WebAuthn, WebOTP 간에 일관되고 일관된 환경을 제공하기 위해 노력하게 되어 매우 기쁩니다.
- 로그인 상태: Apple이 개인 정보 보호 CG의 Login Status API에 제안한 바와 같이 Google은 사용자의 로그인 상태가 브라우저가 정보에 입각한 결정을 내리는 데 도움이 되는 유용한 정보라는 직관을 공유하며, 이로 인해 어떤 기회가 발생할지 많은 기대가 됩니다.
- 기업 및 교육: FedID CG에서 알 수 있듯이, 전면 채널 로그아웃 (IdP에서 로그아웃을 위해 RP에 신호를 보내는 기능) 및 SAML 지원과 같이 FedCM에서 잘 지원하지 않는 사용 사례가 여전히 많이 있습니다.
- mDL, VC 등과의 관계: Mobile Document Request API 등 FedCM 내에서 이러한 벤치마크가 어떻게 적용되는지 파악하기 위해 계속 노력해야 합니다.
자료
- FedCM 데모를 사용해 보세요.
- FedCM 구현에 관심이 있는 IdP인 경우 개발자 가이드를 참고하세요. RP인 경우 FedCM을 구현할 계획이 있는지 IdP에 문의하세요.
- FedCM API 업데이트를 검토합니다.
- 기능 요청, 의견 또는 문제가 있으면 GitHub의 FedCM 공개 저장소에 제출하세요.