개인 정보 보호 ID 제휴를 위한 웹 API입니다.
FedCM이란 무엇인가요?
FedCM (제휴 사용자 인증 정보 관리)은 서드 파티 쿠키 또는 탐색 리디렉션을 사용하지 않는 제휴 ID 서비스 (예: '다음으로 로그인')에 대한 개인 정보 보호 접근 방식입니다.
구현 상태
- Chrome 플랫폼 상태
- FedCM은 Chrome 108에서 제공됩니다.
- FedCM 제안은 공개 토론을 위해 공개되어 있습니다.
- FedCM은 아직 다른 브라우저에서 지원되지 않습니다.
앞으로 Google은 ID 공급업체 (IdP), 신뢰 당사자 (RP), 브라우저 공급업체로부터 받은 의견을 바탕으로 다양한 새로운 기능을 도입할 계획입니다. ID 공급업체가 FedCM을 채택하기를 바라지만 FedCM은 아직 개발 중인 API임을 유의하세요.
하위 호환되지 않는 변경사항을 배포할 때 발생하는 문제를 최소화하기 위해 ID 제공업체에 다음 두 가지 권장사항을 제공합니다.
- API가 발전함에 따라 업데이트를 보내드리는 뉴스레터를 구독하세요.
- IdP는 API가 성숙하는 동안 JavaScript SDK를 사용하여 FedCM API를 배포하고 RP는 SDK를 자체 호스팅하지 않는 것이 좋습니다. 이렇게 하면 IdP가 모든 신뢰 당사자에게 재배포를 요청하지 않고도 API가 발전함에 따라 변경할 수 있습니다.
FedCM이 필요한 이유는 무엇인가요?
지난 10년 동안 ID 제휴는 사이트별 사용자 이름 및 비밀번호에 비해 신뢰성, 사용 편의성(예: 비밀번호 없는 싱글 로그인), 보안 (예: 피싱 및 크리덴셜 스터핑 공격에 대한 향상된 저항력) 측면에서 웹 인증의 기준을 높이는 데 중요한 역할을 해 왔습니다.
ID 제휴를 사용하면 RP (신뢰 당사자)가 IdP (ID 공급자)를 사용하여 새 사용자 이름과 비밀번호를 요구하지 않고 사용자에게 계정을 제공할 수 있습니다.
안타깝게도 ID 제휴에서 사용한 메커니즘 (iframe, 리디렉션, 쿠키)이 웹에서 사용자를 추적하는 데 악용되고 있습니다. 사용자 에이전트는 ID 제휴와 추적을 구분할 수 없으므로 다양한 유형의 악용을 완화하면 ID 제휴를 배포하기가 더 어려워집니다.
제휴 인증 관리 API(FedCM)는 사용자가 웹사이트에 로그인할 IdP의 계정을 선택할 수 있는 브라우저 매개 대화상자를 노출하여 웹에서 제휴 ID 흐름을 위한 사용 사례별 추상화를 제공합니다.
FedCM은 웹에서 ID를 개선하기 위한 여러 단계의 여정입니다. 첫 번째 단계에서는 서드 파티 쿠키 제한이 제휴 ID에 미치는 영향을 줄이는 데 중점을 두고 있습니다 (자세한 내용은 로드맵 섹션 참고).
어떤 영향을 받을 것으로 예상하나요?
커뮤니티의 노력과 Google의 연구를 통해 서드 파티 쿠키 제한의 영향을 받는 ID 제휴 관련 통합이 몇 가지 있음을 확인했습니다.
FedCM의 첫 번째 목표는 서드 파티 쿠키 제한이 ID 제휴에 미치는 영향을 줄이는 것이며, 다음은 영향을 받을 것으로 예상되는 영역입니다. 목록에 없는 추가 사용 사례가 있는 경우 응대하고 의견을 공유할 수 있습니다.
FedCM을 다른 API의 신뢰 신호로 사용
FedCM은 제휴 ID를 처리하는 것 외에도 다른 개인 정보 보호 샌드박스 API의 신뢰 신호 역할을 합니다.
Chrome 131부터 Storage Access API (SAA)는 FedCM을 신뢰 신호로 사용합니다. 이 통합은 인증을 위해 FedCM을 사용하고 교차 출처 iframe이 필요한 저장소에 액세스할 수 있도록 SAA를 모두 사용하는 웹사이트에 유용합니다.
사용자가 RP 선택사항을 사용 설정하여 FedCM으로 인증하면 RP 웹사이트에 삽입된 IdP의 콘텐츠가 requestStorageAccess()
메서드를 호출하여 추가 사용자 메시지 없이 자체 최상위 쿠키에 대한 스토리지 액세스 권한을 자동으로 가져올 수 있습니다. 이 권한은 사용자가 FedCM으로 로그인되어 있고 FedCM 로그인 상태가 활성 상태인 경우에만 자동으로 부여됩니다. 자세한 내용은 Storage Access API 문서를 참고하세요.
FedCM을 사용해야 하는 사용자
FedCM은 다음 조건이 모두 적용되는 경우에만 유용합니다.
- ID 공급업체 (IdP)입니다.
- 서드 파티 쿠키 제한의 영향을 받습니다.
- RP는 서드 파티 사이트입니다. RP가 유의미하게 관련된 사이트인 경우 관련 웹사이트 세트를 사용하는 것이 더 나을 수 있습니다.
IdP입니다.
FedCM을 사용하려면 ID 공급업체의 지원이 필요합니다. 신뢰 당사자는 FedCM을 독립적으로 사용할 수 없습니다. RP인 경우 IdP에 안내를 요청할 수 있습니다.
서드 파티 쿠키 제한의 영향을 받는 경우
FedCM은 현재 통합이 서드 파티 쿠키 제한의 영향을 받는 경우에만 사용해야 합니다.
서드 파티 쿠키를 사용할 수 없는 경우에도 ID 제휴가 계속 작동하는지 확실하지 않다면 Chrome에서 서드 파티 쿠키를 차단하여 웹사이트에 미치는 영향을 테스트할 수 있습니다.
서드 파티 쿠키 없이 ID 제휴에 식별 가능한 영향이 없는 경우 FedCM 없이 현재 통합을 계속 사용할 수 있습니다.
무엇을 확인해야 할지 잘 모르겠다면 서드 파티 쿠키 제한의 영향을 받을 것으로 예상되는 알려진 기능에 관해 자세히 알아보세요.
RP가 서드 파티인 경우
RP가 IdP와 퍼스트 파티 관계를 맺고 있는 ID 제공업체인 경우 관련 웹사이트 세트가 더 나은 옵션일 수 있습니다. 관련 웹사이트 세트 (RWS)는 조직이 사이트 간의 관계를 선언하는 방식으로, 브라우저에서 특정한 목적으로 제한된 서드 파티 쿠키 액세스를 허용합니다. 이렇게 하면 서드 파티 쿠키가 제한된 경우에도 의미 있는 관련 사이트 간에 서드 파티 쿠키가 작동할 수 있습니다.
사용자가 FedCM과 어떻게 상호작용할 수 있나요?
FedCM의 주요 목표는 서드 파티 쿠키 제한의 영향을 완화하는 것입니다. 사용자는 Chrome의 사용자 설정에서 FedCM을 사용 또는 사용 중지할 수 있습니다.
FedCM은 프로토콜에 관계없이 설계되었으며 다음과 같은 인증 관련 기능을 제공합니다.
데모를 확인하여 작동 방식을 알아보세요.
신뢰 당사자에 로그인
FedCM에는 두 가지 UI 모드가 있습니다.
패시브 모드. 패시브 모드에서는 FedCM 메시지가 표시되기 위해 사용자 상호작용이 필요하지 않습니다. 사용자가 신뢰 당사자 (RP) 웹사이트를 방문하면 navigator.credentials.get()
가 호출되고 사용자가 IdP에 로그인되어 있는 경우 FedCM 로그인 대화상자가 표시될 수 있습니다.
활성 모드. 활성 모드에서는 FedCM 메시지를 트리거하려면 사용자 상호작용 (예: 버튼 클릭)이 필요합니다.
사용자에게 RP에 IdP 계정이 없는 경우 RP의 서비스 약관 및 개인정보처리방침(제공된 경우)과 같은 추가 공개 텍스트가 포함된 가입 대화상자가 표시됩니다.
사용자는 계속...을 탭하여 로그인을 완료할 수 있습니다. 성공하면 브라우저는 사용자가 IdP로 RP에 제휴 계정을 만들었다는 사실을 저장합니다.
RP는 FedCM을 지원하지 않는 브라우저에서 작동할 것으로 예상됩니다. 사용자는 이러한 브라우저에서 FedCM이 아닌 기존 로그인 프로세스를 사용할 수 있어야 합니다. FedCM에서 로그인이 작동하는 방식을 자세히 알아보세요.
FedCM 사용 설정 또는 중지 설정
사용자는 수동 모드에서 FedCM을 사용 설정하거나 사용 중지할 수 있습니다. 로그인 요청은 사용자 동작으로 시작되며 브라우저는 사용자가 로그인 흐름을 완료하도록 지원해야 하므로 활성 모드에는 영향을 미치지 않습니다.
데스크톱
사용자는 chrome://settings/content/federatedIdentityApi
에서 데스크톱용 Chrome의 FedCM을 사용 설정하거나 중지할 수 있습니다.
Android
Android용 Chrome에서 FedCM을 사용 설정하거나 사용 중지하려면 Chrome의 설정 > 사이트 설정 > 서드 파티 로그인으로 이동한 다음 전환 버튼을 변경하면 됩니다.
메시지 대기 기간
사용자가 UI를 수동으로 닫으면 항목이 일시적으로 설정 UI에 추가되고 일정 기간 동안 동일한 웹사이트에 UI가 표시되지 않습니다. 이 기간이 지나면 UI가 다시 사용 설정되지만 연속으로 닫을 때마다 기간이 기하급수적으로 늘어납니다. 예를 들어 Chrome의 경우 다음 단계를 따르세요.
연속 종료 횟수 | FedCM 메시지가 억제되는 기간 |
---|---|
1 | 2시간 |
2 | 하루 |
3 | 1주 |
4+ | 4주 |
다른 브라우저에서는 쿨다운 기간을 다르게 정의할 수 있습니다.
사용자는 설정 페이지로 이동하거나 PageInfo UI (URL 표시줄 옆에 있는 자물쇠 아이콘)를 클릭하고 권한을 재설정하여 RP에서 FedCM을 수동으로 다시 사용 설정할 수 있습니다.
로드맵
FedCM에 여러 변경사항을 적용하기 위해 노력하고 있습니다. 자세한 내용은 업데이트를 참고하세요.
- 변경 로그: Federated Credential Management API 업데이트
IdP, RP, 브라우저 공급업체로부터 접수된 문제를 비롯해 아직 완료해야 할 몇 가지 사항이 있습니다. Google은 다음과 같은 문제를 해결하는 방법을 알고 있다고 생각합니다.
- 교차 출처 iframe 지원: IdP는 교차 출처 iframe 내에서 FedCM을 호출할 수 있습니다 (업데이트).
- 맞춤설정된 버튼: IdP는 IdP 소유의 교차 출처 iframe 내에서 로그인 버튼에 재방문 사용자의 ID를 표시할 수 있습니다 (업데이트).
- 측정항목 엔드포인트: IdP에 실적 측정항목을 제공합니다.
또한 Google에서 평가하거나 프로토타입을 제작 중인 구체적인 제안서를 비롯하여 해결되지 않은 문제가 있습니다.
- CORS: FedCM 가져오기의 사양을 개선하기 위해 Apple 및 Mozilla와 논의하고 있습니다.
- Multiple-IdP API: FedCM 계정 선택 도구에서 여러 IdP가 협력적으로 공존할 수 있도록 지원하는 방법을 모색하고 있습니다.
- IdP 로그인 상태 API: Mozilla는 타이밍 공격 문제를 발견했으며 IdP가 문제를 완화하기 위해 브라우저에 사용자의 로그인 상태를 알림하는 방법을 모색하고 있습니다. (업데이트)
- IdP API에 로그인: 다양한 시나리오를 지원하기 위해 사용자가 IdP에 로그인하지 않은 경우 브라우저는 사용자가 RP를 벗어나지 않고 로그인할 수 있는 UI를 제공합니다.
마지막으로 Mozilla, Apple, TAG 검토자의 의견을 바탕으로 아직 완료해야 할 사항이 있습니다. YouTube는 다음과 같은 미해결 문제에 가장 적합한 해결책을 평가하기 위해 노력하고 있습니다.
- 사용자 이해도 향상 및 의도 일치: Mozilla에서 언급한 대로 Google은 다양한 UX 공식 및 노출 영역과 트리거 기준을 계속 탐색하고자 합니다.
- ID 속성 및 선택적 공개: TAG 검토자가 언급한 대로, Google에서는 이메일, 연령대, 전화번호 등 ID 속성을 선택적으로 공유할 수 있는 메커니즘을 제공하고자 합니다.
- 개인 정보 보호 속성 제기: Mozilla가 표준 입장에서 제안한 대로 IdP 맹시, 지향형 식별자와 같은 더 나은 개인 정보 보호 보장을 제공하는 메커니즘을 계속 모색하고자 합니다.
- WebAuthn과의 관계: Apple에서 제안한 대로 패스키의 진행 상황을 확인하고 FedCM, 비밀번호, WebAuthn, WebOTP 간에 일관되고 통합된 환경을 제공하기 위해 노력하고 있습니다.
- 로그인 상태: Apple이 개인 정보 보호 CG의 로그인 상태 API에서 제안한 것처럼, 사용자의 로그인 상태는 브라우저가 정보에 입각한 결정을 내리는 데 도움이 되는 유용한 정보라는 직관을 공유하며, 이를 통해 어떤 기회가 생길지 기대하고 있습니다. (업데이트)
- 기업 및 교육: FedID CG에서 분명히 알 수 있듯이 FedCM에서 제대로 지원하지 않는 다양한 사용 사례가 있습니다(예: 프런트 채널 로그아웃(IdP가 로그아웃을 위해 RP에 신호를 전송하는 기능) 및 SAML 지원).
- mDL/VC 등의 관계: Mobile Document Request API와 같이 FedCM 내에서 이러한 항목이 어떻게 적용되는지 계속해서 파악합니다.
FedCM API 사용
FedCM을 사용하려면 Chrome의 IdP와 RP 모두에 보안 컨텍스트 (HTTPS 또는 localhost)가 필요합니다.
FedCM과 통합하려면 계정 목록, 어설션 발급, (선택사항) 클라이언트 메타데이터에 관한 잘 알려진 파일, 구성 파일, 엔드포인트를 만들어야 합니다. 그러면 FedCM은 RP가 IdP로 로그인하는 데 사용할 수 있는 JavaScript API를 노출합니다.
FedCM API 사용 방법을 알아보려면 FedCM 개발자 가이드를 참고하세요.
참여 및 의견 공유
- GitHub: 설명서를 읽고 문제를 제기하고 토론을 확인합니다.
- 개발자 지원: 개인 정보 보호 샌드박스 개발자 지원 저장소에서 질문을 게시하고 토론에 참여하세요.
ePrivacy법 준수
FedCM을 IdP 또는 RP로 사용하는 경우 사용자의 터미널 장비에 정보를 저장하거나 이미 저장된 정보에 액세스해야 하므로 일반적으로 사용자 동의를 필요로 하는 유럽 경제 지역(EEA) 및 영국의 개인 정보 보호법의 적용을 받습니다. FedCM 사용이 사용자가 명시적으로 요청한 온라인 서비스를 제공하는 데 절대적으로 필요하므로 동의 요건이 면제되는지 여부를 판단하는 것은 개발자의 책임입니다. 자세한 내용은 개인 정보 보호 샌드박스 개인 정보 보호 관련 규정 준수 FAQ를 참고하세요.