[논문 리뷰] UPPRESSO: Untraceable and Unlinkable Privacy-PREserving Single Sign-On Services
UPPRESSO는 사용자와 신뢰당하는 당사자(RP)에 대해 일시적인 가짜식별자(PID)를 사용함으로써 IdP 기반 로그인 추적과 RP 기반 신원 연결을 모두 방지하는 프라이버시 보장 단일 로그온(SSO) 시스템입니다. OpenID Connect와 통합된 신원 변환 기능을 통해 추적 불가능하고 연결 불가능한 SSO를 실현함으로써, SSO 보안이나 성능을 희생시키지 않고 프라이버시 누출을 줄입니다.
Single sign-on (SSO) allows a user to maintain only the credential for an identity provider (IdP) to log into multiple relying parties (RPs). However, SSO introduces privacy threats, as (a) a curious IdP could track a user's all visits to RPs, and (b) colluding RPs could learn a user's online profile by linking her identities across these RPs. This paper presents a privacypreserving SSO scheme, called UPPRESSO, to protect an honest user's online profile against (a) an honest-but-curious IdP and (b) malicious RPs colluding with other users. UPPRESSO proposes an identity-transformation approach to generate untraceable ephemeral pseudo-identities for an RP and a user from which the target RP derives a permanent account for the user, while the transformations also provide unlinkability. This approach protects the identities of the user and the target RPs in a login flow, while working compatibly with widely-deployed SSO protocols and providing services accessed from a commercial-off-the-shelf browser without plug-ins or extensions. We built a prototype of UPPRESSO on top of MITREid Connect, an open-source SSO system. The extensive evaluations show that it fulfills the security and privacy requirements of SSO with reasonable overheads.
연구 동기 및 목표
- 다양한 RPs를 통해 사용자 로그인 활동을 IdP가 추적할 수 있는 SSO의 프라이버시 위협을 해결하기 위해.
- 동일한 사용자의 영구 식별자를 공유함에도 불구하고 RPs 간의 공모로 사용자 신원을 다른 서비스 간에 연결하는 것을 방지하기 위해.
- OpenID Connect와 같은 표준 SSO 프로토콜의 보안성과 기능을 유지하면서도 사용자 프라이버시를 향상시키기 위해.
- SSO의 프라이버시 과제를 신원 변환 문제로 체계화하여 연결 불가능하고 추적 불가능한 인증을 가능하게 하기 위해.
제안 방법
- 일시적인 RP 식별자(PID_RP) 협상, 사용자 식별자(ID_U)를 사용자 가짜식별자(PID_U)로 변환하는 IdP 기반의 변환, 그리고 RP 측에서 영구 계정(Acct)을 유도하는 세 단계로 구성된 신원 변환 파이프라인을 도입합니다.
- 각 RP에 대해 고유한 일시적 식별자를 생성하는 보안 함수 F_PID_RP를 사용하여, 로그인 중 IdP가 RP의 실제 신원을 알 수 없도록 합니다.
- 사용자의 영구 ID를 고유한 일시적 가짜식별자(PID_U)로 매핑하는 두 번째 함수 F_PID_U를 활용하여, RPs 간의 연결 불가능성을 보장합니다. 이는 신원 토큰 내에서 수행되며, 사용자 식별자의 RPs 간 추적 불가능성을 보장합니다.
- RP 측에서 PID_U에서 일관되고 영구적인 사용자 계정(Acct)을 일관되게 파생시키기 위해, 일시적 트랩도어를 사용하는 세 번째 함수 F_Acct를 적용합니다. 이는 각 RP에서 사용자와의 장기적 유대를 가능하게 합니다.
- 기존 SSO 인fra구조와의 후행 호환성을 확보하기 위해, 오픈소스 OIDC 구현체인 MITREid Connect와 프로토콜을 통합합니다.
- 타원 곡선 해싱(Hs)과 보안 키 교환과 같은 암호 기반 원리를 활용하여, 기반이 되는 비밀 정보를暴露하지 않고도 신원을 유대합니다.
실험 결과
연구 질문
- RQ1어떻게 궁금한 IdP가 여러 RPs를 통해 사용자의 로그인 활동을 추적하는 것을 방지할 수 있는가?
- RQ2동일한 사용자의 영구 신원을 공유함에도 불구하고 RPs 간의 공모로 사용자 신원을 다른 서비스 간에 연결하는 것을 어떻게 방지할 수 있는가?
- RQ3표준 SSO 프로토콜의 보안성과 기능을 유지하면서도 연결 불가능하고 추적 불가능한 인증을 달성할 수 있는가?
- RQ4영구 신원과 일시적 로그인 인스턴스를 분리하면서도 SSO 신뢰 보장을 해체하지 않도록 하기 위해 어떤 신원 변환 메커니즘이 필요한가?
주요 결과
- UPPRESSO는 IdP가 영구적인 RP 식별자를 알 수 없도록 하여, IdP 기반 로그인 추적을 성공적으로 방지합니다. 이는 로그인 중에 오직 일시적인 PID_RP만 공개되기 때문입니다.
- 동일한 사용자에 대해 각 RP가 고유하고 비영구적인 계정을 파생시키므로, 시스템은 RP 기반 신원 연결을 방지합니다. 이는 RPs 간의 상관관계 분석이 불가능하게 만듭니다.
- MITREid Connect 기반 프로토타입은 IdP, RP, 사용자가 동일한 위치에 있을 경우 평균 로그인 지연 시간이 174ms이며, 원격 환경에서는 421ms입니다.
- UPPRESSO는 OpenID Connect 및 기타 표준 SSO 프로토콜과 호환되며, 기존 인증 플로우를 수정하지 않고도 구현이 가능합니다.
- 공모하는 IdP와 일부 RPs가 존재하더라도, 비공모 RPs에서의 사용자 활동은 일시적이고 독립적인 삼중세트(t, PID_U, PID_RP)의 특성 덕분에 보호됩니다.
- RP 인증서 바인딩과 postMessage의 targetOrigin 메커니즘을 통한 원본 검증을 통해, 악의적인 RP 위성 공격을 방지하고 안전한 토큰 전달을 보장합니다.
더 나은 연구,지금 바로 시작하세요
논문 읽기부터 검토까지, 연구 시간을 획기적으로 줄여보세요.
카드 등록 없음 · 무료 플랜 제공
이 리뷰는 AI가 만들고, 인간 에디터가 검토했습니다.