Special topic on Intelligent authentication approach

Privacy-preserving single sign-on scheme with threshold IdP servers

  • SHEN Xin 1 ,
  • LIN Jingqiang 1 ,
  • ZHOU Chang 1 ,
  • HE Huiyang 1 ,
  • GUO Chengqian 2 ,
  • WANG Wei , 1, *
Expand
  • 1. School of Cyber Science and Technology, University of Science and Technology of China, Hefei 230026, China
  • 2. School of Application and Innovation in Information Technology, Yuncheng Vocational and Technical University, Yuncheng 044000, China

Online published: 2026-01-04

Copyright

Copyright ©2025 Journal of Aeronautical Materials. All rights reserved.

Abstract

With the rapid proliferation of cloud services and online platforms, Single Sign-On (SSO) systems have been widely adopted for their "one-time authentication, universal access" capability. However, existing SSO schemes typically rely on a centralized Identity Provider (IdP), which exposes users to risks of single-point failures and privacy leakage. To address these issues, this paper proposes a privacy-preserving threshold IdP scheme for SSO. Built upon the Password-based Threshold Authentication (PbTA) framework, the scheme distributes IdP functionality across a cluster of $ n $ nodes and adopts a t-out-of-n threshold mechanism. This design ensures system availability as long as at least $ t $ nodes operate correctly and no more than $ t-1 $ nodes are compromised, thereby effectively mitigating single-point failure risks. Simultaneously, through the combination of ephemeral pseudonym generation and elliptic curve cryptography, the scheme defends against privacy threats such as IdP-based login tracking, RP-based identity correlation, and collusion between the IdP and RPs. Performance evaluation shows that the scheme achieves performance comparable to the single-point UPPRESSO architecture with reasonable overhead, balancing security, privacy, and efficiency.

Cite this article

SHEN Xin , LIN Jingqiang , ZHOU Chang , HE Huiyang , GUO Chengqian , WANG Wei . Privacy-preserving single sign-on scheme with threshold IdP servers[J]. Journal of Cybersecurity, 2025 , 3(4) : 67 -80 . DOI: 10.20172/j.issn.2097-3136.250406

0 引言

随着云服务的快速发展和在线平台的增多,用户需要访问的依赖方(Relying Party,RP)数量急剧增加。这种服务多样性导致用户需要在不同平台上重复完成注册与认证,不仅增加了用户负担,也进一步加剧了因口令管理不当带来的安全风险。单点登录(Single Sign-On,SSO)作为一种重要的解决方案被提出,其核心思想是通过一个可信的身份提供商(Identity Provider,IdP)集中处理用户的注册和认证过程。用户仅须在IdP完成一次注册,此后,当访问相关服务时,向IdP发起认证请求。用户在IdP侧认证成功后,IdP会为用户签发一份身份凭据,用于向RP证明用户身份。RP在收到凭据后,首先通过验证凭据中的认证属性确认用户身份,然后根据授权策略决定是否授予访问权限,若授权成功,则将该身份与本地资源所有者进行关联。凭借该凭据,用户无须在不同RP侧重复输入口令,即可访问多个服务,从而实现SSO机制。目前,安全断言标记语言(Security Assertion Markup Language,SAML)[1-2]、OAuth 2.0[3]与OpenID Connect(OIDC)[4]等协议对这种模式进行了标准化支持,并被广泛应用于包括Google、Facebook以及Amazon在内的企业[5-7]和面向消费者的各类系统中,有效减轻了用户的使用负担和口令管理风险。
然而,现有的集中式SSO方案因其架构特性而面临单点故障风险,主要体现在两方面:(1)可用性风险。当IdP因宕机、网络异常或性能瓶颈而中断服务时,所有依赖其认证的RP均无法登录,系统整体可用性完全受制于单一IdP的稳定性。(2)安全性风险。若IdP的核心密钥泄露,攻击者可以伪造令牌以非法访问系统中的资源和信息。同时,集中存储的用户口令哈希一旦泄露,可能被离线破解[8-9],严重威胁系统的安全。为了解决这一问题,Agrawal等[10]基于口令门限认证(Password-based Threshold Authentication,PbTA)的思想引入了门限SSO方案。该方案将IdP的角色分配给$ n $个身份认证服务器,由这些服务器协同完成与用户的交互并生成认证令牌。在门限机制下,需要$ t $$ 2\leqslant t\leqslant n $)个IdP节点才能完成用户认证并生成有效的令牌,而任何攻破至多$ t-1 $个服务器的攻击者都无法伪造有效令牌或实施离线字典攻击,从而有效提升了SSO系统的抗攻击能力。
在当今数字化时代,用户隐私保护的重要性愈发凸显,SSO系统也不例外。传统的SSO协议如OIDC、OAuth 2.0和SAML等,尽管提升了用户体验,但同时引入了多种隐私风险。具体来说,用户身份隐私面临的主要风险体现在以下三方面:(1)IdP在生成身份凭据时须知晓用户访问的目标RP,这使得好奇的IdP有可能追踪用户的所有登录活动,甚至使用这些数据建立用户的画像,该风险可以归纳为基于IdP的登录追踪;(2)RP从身份凭据中获取用户身份,若用户在不同RP间使用相同的身份标识,那么合谋的RP就能够将这些登录活动关联起来,从而推断用户的跨服务行为,该风险可归纳为基于RP的身份关联;(3)在签发身份凭据后,IdP可能与RP共享信息,从而使得不同的RP能够关联同一用户在各自服务中的活动,导致身份隐私泄露,该风险可归纳为IdP与RP合谋获取用户身份信息
针对上述风险,研究者提出了多种隐私保护SSO方案,其目标是在保持便捷性的同时,缓解或消除部分隐私威胁,从而保证敏感信息的安全。基于此,本文在PbTA框架下,参考UPPRESSO[11]的设计思想,提出了一种无需额外可信服务器的门限IdP方案,能够同时抵御IdP登录追踪、RP身份关联以及IdP与RP合谋获取用户身份信息。具体而言,本文的主要贡献如下:
(1)提出了一种隐私保护的门限SSO方案,有效缓解了单点故障风险。本文将门限密码学与UPPRESSO的身份转换机制相结合,设计了一种无需额外可信服务器的门限IdP方案。该方案在利用t-out-of-n门限机制有效缓解单点故障风险的同时,保持了抗IdP登录追踪和抗RP身份关联的核心隐私保护特性。
(2)相较于UPPRESSO提升了隐私保护能力,并给出了形式化证明。安全性分析表明,本方案在保持UPPRESSO的安全属性的基础上,在隐私保护层面实现了扩展与提升。特别地,证明了在标准密码学假设下,方案能够有效抵御不超过$ t-1 $个IdP节点与恶意RP的合谋攻击,相比于UPPRESSO方案实现了更强的隐私保护目标。
(3)对方案进行了原型实现与性能验证。实验结果表明,在引入门限机制以增强容错性与隐私保护的同时,方案的性能开销与UPPRESSO相当,充分展示了其在安全性、隐私性与效率之间的良好平衡。
本文的结构安排如下:第1节分析了隐私保护SSO和门限SSO的相关工作;第2节介绍了SSO的核心概念、主流协议、相关密码学原语及符号说明等预备知识;第3节阐述了方案的设计目标和威胁模型;第4节详细介绍了本文提出的方案;第5节对方案的安全性进行了分析与证明;第6节评估了方案的性能表现;第7节对本文的工作进行了总结并展望了未来的研究方向。

1 相关工作

本节主要对隐私保护的SSO和基于门限机制的SSO的相关工作进行介绍。已有研究表明,隐私保护SSO方案虽在防范IdP追踪、RP关联等方面已有一定成果,但多数未考虑单点故障带来的可用性和安全性风险;门限SSO方案虽然通过多服务器提升了鲁棒性,但缺乏隐私保护或造成功能缺失。下文将展开具体分析。

1.1 隐私保护的SSO方案

为了解决传统SSO系统中的隐私泄露问题,Fett等[12]提出了一种新型协议流程SPRESSO,其核心机制是让托管用户信息的IdP在向RP完成用户认证的过程中,无法获取用户所访问的目标RP的身份标识,从而避免基于IdP的登录追踪。Zhang等[13]提出了一种基于PS签名(Pointcheval-Sanders Signature)的零知识证明令牌方案EL PASSO,旨在兼顾传统OIDC的易用性与匿名令牌的隐私保护优势。该方案通过WebAssembly模块实现了客户端操作,并利用浏览器内置的密码管理器来管理私钥,从而支持多设备使用、密钥恢复以及具备隐私保护的双因素认证,而无须用户预先安装额外的软件。凭借PS签名技术,EL PASSO在登录延迟方面与OIDC相当,甚至在部分场景下表现更优,同时能够与OIDC并行部署。此外,该方案还支持合法去匿名化以实现用户问责,在保证跨RP认证不可关联性的同时,满足了实用环境下的安全性与可用性需求。然而,EL PASSO依赖用户自行管理长期令牌,一旦令牌泄露则会导致用户身份同时暴露。Guo等[11]提出的UPPRESSO设计了一种身份转换机制:RP和用户分别生成临时伪身份,IdP发布的身份令牌仅绑定临时伪身份而非真实身份。该机制既能防止基于IdP的登录追踪,又能抵御基于RP的身份关联。此外,UPPRESSO可直接通过商用浏览器访问,无需插件或扩展,并保持了与现有SSO协议核心功能的兼容性。基于开源OIDC实现的原型验证表明,其性能开销处于合理范围内。Xu等[14]基于可信执行环境(Trusted Execution Environment,TEE)提出了MISO方案,其核心是引入一个可信的第三方Mixer服务器,从而在无须修改IdP的前提下实现与现有IdP的完全兼容。Mixer服务器在与RP交互时扮演IdP,在与IdP交互时扮演RP,一方面能够隐藏用户实际访问的RP以防止基于IdP的登录追踪,另一方面也能混淆IdP返回的信息以避免基于RP的身份关联及不必要的标识符暴露。然而,MISO依赖TEE的硬件安全保证,在实际部署中可能面临TEE安全性失效的风险,同时Mixer本身也可能成为潜在的单点故障点。Alom等[15]基于可验证凭证(Verifiable Credential,VC)提出了VeriSSO,其核心思想是引入由独立认证服务器组成的门限式委员会,以门限方式共同完成RP认证、基于VC的匿名用户认证以及身份令牌的生成。通过将RP认证与匿名用户认证绑定,VeriSSO在保证用户不可关联性的同时实现了对RP的认证,并有效避免了单点故障的发生。此外,该方案允许RP沿用传统的验证流程(即验证身份令牌中的公钥签名),仅引入毫秒级的令牌重构开销,并支持合法去匿名化以实现用户问责,从而在隐私保护与系统兼容性之间取得平衡。

1.2 基于门限机制的SSO方案

为了解决集中式SSO中IdP的单点故障问题,Agrawal等[10]提出了基于PbTA的门限SSO方案PASTA。作为首个将门限机制引入SSO的方案,PASTA将IdP的功能分散至$ n $个服务器,并要求任意$ t $$ 2\leqslant t\leqslant n $)个服务器即可协同验证用户口令的正确性并生成有效令牌,即使攻击者控制至多$ t-1 $个服务器,也无法伪造令牌或实施离线字典攻击,从而有效避免了单一IdP架构下的单点故障风险。Baum等[16]在PASTA的基础上提出了具备主动安全性的分布式SSO方案PESTO,其核心思想是引入主动安全机制,通过周期性刷新令牌签发密钥和不经意伪随机函数密钥,使服务器能够从暂时被攻破的状态中恢复,只要至少存在一台未被攻破的服务器,系统整体仍能保持安全。然而,PESTO并非门限方案,而是一种完全分布式方案。协议执行要求所有服务器同时在线并参与,一旦有任意一台服务器离线,协议将无法继续运行。Rawat等[17]针对PASTA不支持用户更新口令的局限,提出了PAS-TA-U方案。该方案的核心思想是由用户在令牌请求消息中嵌入新口令信息,IdP在验证旧口令后生成令牌,用户再利用该令牌向所有服务器广播新口令,从而实现服务器端口令的同步更新。Zhang等[18]基于伪身份和盲化令牌提出了TSAPP方案。其核心机制是用户通过假名向IdP集群请求令牌,各IdP在验证用户身份后,对假名进行签名并生成部分令牌,用户收集到门限数量的部分令牌后即可构建主令牌,实现了用户匿名性。为防止访问行为被关联,用户进一步利用随机数对主令牌进行盲化,为每次访问生成独立的盲化令牌,并依赖随机数的均匀分布特性确保不同访问间的不可关联性。同时,用户通过零知识证明向RP证明对盲化令牌的所有权,使RP可验证令牌的有效性而无法获取用户的真实身份,即便IdP被攻破也无法追踪用户的访问行为。但是TSAPP方案需要用户主动管理RP侧的身份,无法在RP侧形成唯一账户。Zhang等[19]针对PASTA等现有方案在长期密钥泄露和在线字典攻击方面的不足,提出了面向移动用户的门限SSO方案PROTECT,其核心机制包括:周期性轮换主密钥分片、引入混合机制抵御在线字典攻击、将用户分组并在组内共享服务端密钥,以及限制单个用户在给定时段内的令牌请求次数。Jiang等[20]旨针对现有PbTA方案易受永久秘密泄露攻击(Perpetual Secret Leakage Attacks,PSLA)及缺乏流行口令收集机制的问题,提出了AugSSO方案。为抵御PSLA,AugSSO方案设计了高效密钥更新机制。为支持流行口令收集,引入聚合服务器,在用户注册或修改口令时对口令进行对称加密,并将密钥的随机分片发送至聚合服务器。当某一口令被至少$ t $个用户使用(即成为“流行口令”)时,聚合服务器即可收集足够的分片以重构密钥并解密识别该口令,同时确保非流行口令的隐私性不受影响。
综上,现有研究在安全性与隐私性方面各有侧重。为更直观地呈现其优劣与差异,在表1中对比了典型方案在抵抗单点故障、RP侧用户身份可识别性、不可关联性、不可追踪性以及是否依赖额外可信服务器等方面的特性。可以看出,尽管部分方案在特定维度上表现突出,但整体上仍缺乏一种无须依赖额外可信资源、同时兼顾全面隐私保护与门限容错能力的SSO方案,而这正是实际应用中对安全性、隐私性与可用性的迫切需求。
表 1 隐私保护SSO和门限SSO方案对比

Table 1 Comparison of privacy-preserving SSO and threshold SSO schemes

方案 抵抗单点故障 RP侧唯一账户 不可关联性 不可追踪性 不依赖额外可信服务器
SPRESSO × × ×
EL PASSO ×
UPPRESSO ×
MISO × ×
VeriSSO 1 2 ×
PASTA × ×
PESTO × ×
PAS-TA-U × ×
TSAPP × 3
PROTECT × ×
AugSSO × × 4
本文方案

注:1. VeriSSO中引入认证服务器委员会来代理IdP的职责,以门限方式管理RP认证、基于VC的匿名用户认证及身份令牌生成;2. VeriSSO中认证服务器委员会可以追踪用户登录,但IdP无法追踪;3. TSAPP中将令牌与用户假名绑定,其设计无须包含RP的身份信息;4. AugSSO引入半可信聚合服务器(Semi-trusted Aggregation Server),用于支持流行密码的收集扩展。

2 预备知识

本节主要介绍SSO的背景知识以及本文所提方案应用到的相关技术。

2.1 SSO

SSO是一种集中式身份认证机制,允许用户完成一次注册后即可认证并访问多个应用或服务,无须在各服务间重复进行身份验证。这种机制不仅简化了用户操作流程,还有效降低了口令管理不当所带来的安全风险,已被广泛应用于企业系统、社交平台和云服务等互联网场景,成为核心的身份认证方案。

2.1.1 SSO的核心角色

SSO系统通常由三种核心角色构成,其间的交互关系构成了认证流程的基础。
(1)用户(User),为使用应用服务的个人或实体,通过身份提供方认证并访问RP服务。
(2)RP,也称作服务提供商(Service Provider,SP),为用户提供具体应用或平台服务,并依赖IdP颁发的身份凭据授权用户访问。
(3)IdP,负责用户身份认证和管理,为用户颁发身份凭据(如令牌)。常见的IdP包括Google、Facebook和Microsoft Active Directory等。

2.1.2 主流SSO协议

为规范SSO流程中各角色的交互,标准化组织制定了一系列标准化协议,其中最具有代表性的标准包括OAuth2.0、OIDC等,这些协议定义了令牌格式、认证及授权流程和安全规范。
OAuth2.0是一种开放授权协议,最初设计用于第三方应用获取用户在资源服务器上的有限访问权限(如获取用户头像、好友列表等),而非直接用于身份认证。其核心机制是通过令牌(Token)实现授权:用户向IdP授权后,IdP向第三方应用(RP)颁发访问令牌(Access Token),RP通过令牌间接访问用户资源,无须知晓用户的口令。OAuth2.0定义了四种授权模式(授权码流、隐式流、密码流、客户端凭证流),其中授权码流和隐式流常用于SSO系统。
OIDC是基于OAuth2.0扩展的身份认证层协议,显式支持“身份认证”功能,它通过引入“身份令牌(ID Token)”实现了用户身份验证。ID Token是一个JWT(JSON Web Token)[21],包含用户标识(如邮箱、用户名)、签发者(IdP)、有效期等信息,并由IdP进行数字签名以确保完整性。OIDC兼容OAuth2.0的授权流程,因此可以无缝集成至现有OAuth2.0体系,成为当前SSO的主要实现协议。

2.2 门限不经意伪随机函数

Goldreich等[22]证明了可以构造一种确定性函数,其输出在计算上与真正的随机函数输出不可区分,这类函数被称为伪随机函数(Pseudo-Random Function,PRF)。PRF是一种核心的密码学原语,对于给定的密钥$ k $和输入$ x $,它会输出固定的结果$ \mathrm{P}\mathrm{R}{\mathrm{F}}_{{k}}\left({x}\right) $。当密钥未知时,其输出结果与真正的随机值之间不可区分,具备伪随机性。Naor等[23]发现,他们提出的PRF可以在不经意的行为模式下进行交互计算。客户端持有输入$ x $,服务器持有PRF的密钥$ k $,客户端可以通过与服务器交互获得$ \mathrm{P}\mathrm{R}{\mathrm{F}}_{{k}}\left({x}\right) $。在这一过程中,客户端无法获知密钥$ k $,而服务器既无法获知客户端的输入$ x $,也无法获知计算结果$ \mathrm{P}\mathrm{R}{\mathrm{F}}_{{k}}\left({x}\right) $。Freedman等[24]将这种交互式协议命名为不经意伪随机函数(Oblivious PRF,OPRF)。
在此基础上,门限不经意伪随机函数(Threshold Oblivious Pseudo-Random Function,TOPRF)[24]对OPRF进行了多方扩展,使其适用于多服务器的环境,支持由多个服务器协同计算PRF值,同时具备OPRF的不可预测性、输入隐私性和不经意性。TOPRF采用t-out-of-n门限机制,只要不少于$ t $个服务器参与计算,即使部分失效或被攻破,协议仍然能够正确运行。TOPRF通常由以下概率多项式时间(Probabilistic Polynomial Time,PPT)算法组成。
(1)$ \mathrm{S}\mathrm{e}\mathrm{t}\mathrm{u}\mathrm{p} $。输入安全参数$ {1}^{\kappa } $、服务器数量$ n $、门限$ t $,输出密钥$ sk $的分片集合$ \left[sk\right]=\{s{k}_{1},s{k}_{2},\cdots ,s{k}_{n}\} $(每个分片$ s{k}_{i} $分发给对应参与方$ i $)和公共参数$ pp $(包含曲线参数、哈希算法等配置)。
(2)$ \mathrm{E}\mathrm{n}\mathrm{c}\mathrm{o}\mathrm{d}\mathrm{e} $。输入$ x $(如用户身份、请求参数)和随机数$ r $(用于编码随机性,避免固定模式),输出编码值$ \bar{x} $,即对$ x $进行随机化编码,打破与原始输入的直接对应关系。
(3)$ \mathrm{E}\mathrm{v}\mathrm{a}\mathrm{l} $。输入参与方$ i $的密钥分片$ s{k}_{i} $和编码值$ \bar{x} $,输出TOPRF的计算输出分片$ {y}_{i} $,即参与方$ i $利用分片密钥对编码后的输入进行计算的局部结果。
(4)$ \mathrm{C}\mathrm{o}\mathrm{m}\mathrm{b}\mathrm{i}\mathrm{n}\mathrm{e} $。输入$ x $、分片集合$ {\left\{i,{y}_{i}\right\}}_{i\in S} $$ S\subseteq \left[n\right] $是参与计算的服务器集合,须满足$ \left|S\right|\geqslant t $)和随机数$ r $(须与$ \mathrm{E}\mathrm{n}\mathrm{c}\mathrm{o}\mathrm{d}\mathrm{e} $阶段的随机数一致),输出聚合后的TOPRF输出值$ y $
在TOPRF算法中,只要至少$ t $个参与方提供正确的输出分片,聚合结果便与所有参与方的输出一致,从而保证结果的一致性。

2.3 门限令牌生成

门限令牌生成(Threshold Token Generation,TTG)[10]将认证令牌的生成任务分布在一组$ n $个服务器中,至少需要$ t $个服务器协同参与才能生成令牌,从而提供强不可伪造性保证。即使已有$ {t}^{\prime} < t $个服务器被攻破,当为输入$ x $生成令牌时,至少还需要攻破$ t-{t}^{\prime} $个服务器。
TTG算法由四个PPT算法(Setup, PartEval, Combine, Verify)组成,其具体描述如下:
(1)$ \mathrm{S}\mathrm{e}\mathrm{t}\mathrm{u}\mathrm{p} $。输入安全参数$ {1}^{\kappa } $、服务器数量$ n $、门限$ t $,输出主密钥$ sk $的分片集合$[sk]=\{sk_1, sk_2,…, sk_n\} $、验证密钥$ vk $和公共参数$ pp $
(2)$ \mathrm{P}\mathrm{a}\mathrm{r}\mathrm{t}\mathrm{E}\mathrm{v}\mathrm{a}\mathrm{l} $。输入参与方$ i $的密钥分片$ s{k}_{i} $和输入值$ x $,输出$ x $对应的第$ i $个令牌分片$ toke{n}_{i} $
(3)$ \mathrm{C}\mathrm{o}\mathrm{m}\mathrm{b}\mathrm{i}\mathrm{n}\mathrm{e} $。输入令牌分片集合$ {\left\{i,toke{n}_{i}\right\}}_{i\in S} $$ S\subseteq \left[n\right] $是参与计算的服务器集合,须满足$ \left|S\right|\geqslant t $),输出这些分片聚合得到的完整令牌$ Token $
(4)$ \mathrm{V}\mathrm{e}\mathrm{r}\mathrm{i}\mathrm{f}\mathrm{y} $。输入验证密钥$ vk $和令牌$ Token $,验证令牌$ Token $的有效性,输出1表示有效,0表示无效。
在TTG算法中,只要满足门限条件,无论输入$ x $如何选择或参与聚合的服务器集合如何变化,最终组合而成的令牌$ Token $均可通过验证。

2.4 符号说明

本文涉及的符号及方案中关键变量定义如表2所示。
表 2 符号定义

Table 2 Notation definitions

符号 定义
$ E,G,m $ $ E $是有限域$ {\mathbb{F}}_{q} $上的椭圆曲线;$ G $E上的生成元;$ m $$ G $的阶数
$ \left[r\right]G $ 基于椭圆曲线标量乘法生成的特定点,$ r $是有限域$ {Z}_{m} $中的随机数
$ n,t,i $ $ n $表示IdP集群节点的个数;$ t $表示门限数;$ i $表示第$ i $个IdP节点的索引
$ H,{H}_{1},{H}_{2} $ $ H:{\left\{\mathrm{0,1}\right\}}^{*}\to {\left\{\mathrm{0,1}\right\}}^{\mathcal{l}} $$ {H}_{1}:{\left\{\mathrm{0,1}\right\}}^{*}\to G $$ {H}_{2}:{\left\{\mathrm{0,1}\right\}}^{*}\times G\to {\left\{\mathrm{0,1}\right\}}^{\mathcal{l}} $
$ I{D}_{U} $ 用户的全局真实身份标识符,计算方式$ \mathrm{为}ID_U=PRF_{key_{\mathrm{id}}}(username,passwd) $
$ I{D}_{{\mathrm{RP}}} $ RP的全局身份标识符,形式为$ \left[r\right]G $$ r $是IdP为RP分配的有限域$ {Z}_{m} $中的随机数
$ PI{D}_{{\mathrm{RP}}} $ RP的临时伪身份,$ PI{D}_{{\mathrm{RP}}}=\left[s\right]I{D}_{{\mathrm{RP}}} $$ s $是有限域$ {Z}_{m} $中的随机数
$ PI{D}_{U} $ 用户的临时伪身份,$ PI{D}_{U}=\left[I{D}_{U}\right]PI{D}_{{\mathrm{RP}}} $
$ account $ 用户在RP侧的唯一账户,$ account=\left[I{D}_{U}\right]I{D}_{{\mathrm{RP}}} $
$ Cer{t}_{{\mathrm{RP}}} $ IdP给RP签发的证书,包含$ I{D}_{{\mathrm{RP}}} $等信息
$ \left[sk\right] $ 门限签名的主密钥的分片集合,包含$ n $个分片$ s{k}_{1},s{k}_{2},\cdots ,s{k}_{n} $
$ vk $ 与门限签名主密钥对应的验证公钥
$ ke{y}_{i} $ 用户在第$ i $个IdP节点用于对令牌进行
对称加密的密钥
$ key\mathrm{_{enc}} $ 用于运行TOPRF协议计算对称加密密钥的
TOPRF密钥
$ key\mathrm{_{id}} $ 用于运行TOPRF协议计算$ I{D}_{U} $的TOPRF密钥
$ \left[keyShare\mathrm{_{\mathrm{\mathrm{enc}}}}\right] $ $ keyShare\mathrm{_{enc}} $的分片集合,包含$ n $个分片$ keyShare_{\mathrm{enc}_1},keyShare_{\mathrm{enc}_2},\cdots,keyShare_{\mathrm{enc}_n} $
$ \left[keyShare_{\mathrm{id}}\right] $ $ keyShare_{\mathrm{id}} $的分片集合,包含$ n $个分片$ keyShare_{\mathrm{id}_1},keyShare_{\mathrm{id}_2},\cdots,keyShare_{\mathrm{id}_n} $

2.5 UPPRESSO方案概述

UPPRESSO是一种隐私保护的SSO方案,旨在防范诚实但好奇(honest-but-curious)的IdP以及潜在合谋的恶意RP对用户登录活动隐私的威胁。该系统分析了安全需求与用户隐私保护之间的冲突,并将SSO中的隐私保护问题抽象为身份转换问题。UPPRESSO的协议流程包括注册阶段和登录阶段。
(1)注册阶段。RP需要在IdP侧注册以获取$ I{D}_{{\mathrm{RP}}} $以及绑定了RP相关信息的$ Cer{t}_{{\mathrm{RP}}} $;用户需要在IdP侧注册以生成$ I{D}_{U} $
(2)登录阶段。用户在请求RP的资源后,RP会将$ Cer{t}_{{\mathrm{RP}}} $发送给用户,用户首先对该证书进行验证并提取其中的$ I{D}_{{\mathrm{RP}}} $,利用随机数$ s $计算RP的伪身份$ PI{D}_{{\mathrm{RP}}}=\left[s\right]I{D}_{{\mathrm{RP}}} $,然后向IdP请求令牌。在IdP认证用户身份后,计算用户的伪身份$ PI{D}_{U}=\left[I{D}_{U}\right]PI{D}_{{\mathrm{RP}}} $,最后利用私钥$ S K $签发令牌$ token=\left[PI{D}_{{\mathrm{RP}}},PI{D}_{U},Issuer, Validity,Attr\right]_{S K} $。用户收到该令牌后连同随机数$ s $一并发送给RP,RP使用公钥$ PK $验证令牌的有效性并计算用户的唯一账户标识$ account=\left[{s}^{-1}\right]PI{D}_{U}= \left[I{D}_{U}\right]I{D}_{{\mathrm{RP}}} $
UPPRESSO通过对身份的转换与管理,在保障用户登录便利性的同时,有效增强了隐私保护能力,为解决SSO中的隐私问题提供了创新性的思路与方法。

3 设计目标和威胁模型

本节主要对所提出方案的设计目标和安全模型进行介绍。

3.1 设计目标

本文提出的门限分布式SSO方案旨在同时兼顾功能性、安全性与隐私保护,具体设计目标如下:
(1)核心功能兼容性目标
方案的设计基于UPPRESSO,能够确保基本SSO功能。1)仅向IdP认证:用户仅须与门限IdP集群交互完成身份验证,而无须直接与RP进行认证,并仅须维护在IdP集群的一份身份凭据;2)RP侧唯一账户标识:RP可基于用户的临时伪身份生成本地唯一账户,从而在跨会话中保持用户身份的一致性,并在此基础上提供个性化服务;3)IdP集群可在用户授权下共同生成并提供属性信息(如年龄、权限),确保所提供属性的真实性与完整性。
(2)单点故障防护目标
方案基于PASTA提出的PbTA框架,能够有效缓解集中式SSO的单点故障风险。1)可用性保障:方案采用t-out-of-n门限机制,只要有至少$ t $个节点正常运行,就可以完成用户认证、令牌生成与属性提供,从而避免单点故障导致的服务不可用;2)身份凭据不可伪造性:即使存在不超过$ t-1 $个IdP节点被攻破,攻击者仍无法伪造有效身份令牌,可以防止非法访问RP资源;3)登录口令的不可恢复性:即使部分节点的数据发生泄露,攻击者也无法从泄露数据中恢复用户口令。
(3)隐私保护目标
方案在UPPRESSO的隐私保护特性基础上进行了扩展,并在门限架构下进一步强化了用户隐私。1)抗IdP登录追踪:IdP集群无法通过用户的请求推断访问的目标RP,仅能获取随机不可区分的临时伪身份$ PI{D}_{{\mathrm{RP}}} $,从而无法建立用户跨RP的访问轨迹;2)抗合谋RP身份关联:恶意RP即使共享用户的临时伪身份$ PI{D}_{U} $、令牌信息等,也无法关联同一用户在不同RP的登录记录。不同RP生成的伪身份基于椭圆曲线离散对数问题(Elliptic Curve Discrete Logarithm Problem,EC-DLP)不可逆映射,确保了跨域隐私;3)抵御有限IdP-RP合谋:即便不超过$ t-1 $个IdP节点与恶意RP合谋,双方也无法通过共享各自合法获取的信息恢复用户真实身份$ I{D}_{U} $或构建跨RP的登录关联。

3.2 威胁模型

系统中的潜在威胁与攻击者能力定义如下:
(1)系统角色
1)IdP集群节点。集群由$ n $个节点组成,遵循诚实但好奇假设。该类节点严格按协议执行,但可能尝试从交互数据中推断用户行为或关联关系。若部分节点被攻破,攻击者能够窃取其本地存储的秘密信息,但无法将其控制为任意偏离协议或伪造节点响应。换言之,被攻破的节点可能导致信息泄露,但其对外交互仍按协议运行。
2)恶意用户。攻击者可控制部分用户(如窃取身份凭据、注册虚假用户),行为不受协议约束。其目标包括:冒充诚实用户登录RP、诱导诚实用户以错误账户登录、与其他恶意实体合谋实施攻击。
3)恶意RP。攻击者可控制若干RP(如注册恶意RP或攻陷合法RP),并可进行任意行为。其可能通过篡改临时伪身份$ PI{D}_{{\mathrm{RP}}} $或交互参数诱导用户生成可滥用的令牌,或收集并分析登录信息以关联用户在不同RP的访问行为。
(2)合谋场景
1)恶意用户与恶意RP合谋,伪造身份凭据或共享交互信息以关联诚实用户在不同RP的登录行为。
2)恶意RP与不超过$ t-1 $个诚实但好奇的IdP节点共享其观测数据或被泄露的信息,从而联合分析用户身份或跨RP的登录关联。
(3)安全假设
攻击者无法攻破$ t $个及以上IdP节点,亦无法恢复集群核心密钥(如门限签名主密钥);系统中实体之间的通信采用安全传输层(如HTTPS);所依赖的核心密码学原语(如哈希函数、对称加密与门限签名)均被假设为安全;诚实实体的软件栈实现正确,并能够按照协议可靠地传递消息。

4 方案设计

4.1 基本原理

本方案的基本原理是将身份转换机制、TOPRF和TTG进行有机结合。具体来说,基于UPPRESSO的设计思路,引入了RP和用户的临时伪身份$ PI{D}_{{\mathrm{RP}}} $$ PI{D}_{U} $,使得IdP为用户签发令牌时无法获得其访问的RP的真实身份$ I{D}_{{\mathrm{RP}}} $。同时,RP在验证令牌时无法获得用户的真实身份$ I{D}_{U} $,从而抵御基于IdP的登录追踪和基于RP的身份关联。
此外,本方案令用户和IdP集群通过TOPRF协议协同计算用户的全局身份标识$ I{D}_{U} $和用于恢复令牌分片的密钥分片,每个IdP节点$ Id{P}_{i} $仅能获得用户临时伪身份$ PI{D}_{U} $,无法获取用户的真实身份,从而抵御IdP与RP合谋获取用户身份信息。
最后,结合TTG算法,IdP集群为用户生成认证令牌时采用t-out-of-n门限方式。每个节点仅能签发部分令牌分片,用户需要收集至少$ t $个令牌分片并聚合,才能获得完整令牌。这样既保证了认证令牌的不可伪造性,又确保了系统在部分IdP节点失效或被攻破的情况下仍能正常运行,从而避免了单个IdP的单点故障风险。

4.2 方案流程

本节将详细介绍本文提出的方案,方案包含四个阶段,分别为全局初始化阶段、注册阶段、令牌请求阶段、令牌构建与验证阶段。
(1)全局初始化阶段
$ {\mathrm{GlobalSetup}}\left({1}^{\kappa },n,t\right)\to \left(\left[sk\right],vk,pp\right) $$ {1}^{\kappa } $为安全参数(如密钥长度、哈希函数等),$ n $是IdP集群节点总数,IdP集群可记为$ Id{P}_{1},Id{P}_{2},\cdots ,Id{P}_{n} $$ t $是门限数,$ \left[sk\right] $是用于签发令牌的主密钥的分片集合(包含$ n $个分片$ s{k}_{1},s{k}_{2},\cdots ,s{k}_{n} $),$ vk $是验证公钥,用于验证最终令牌的有效性,$ pp $是公共参数(如哈希函数算法、椭圆曲线参数等)。
(2)注册阶段
1)RP注册
RP向IdP集群发起注册请求,并携带其通用名称(如主机名example.com)。IdP收到请求后,计算RP的身份标识符$ I{D}_{{\mathrm{RP}}}={H}_{1}(example.com) $,并利用私钥$ \left[sk\right] $$ I{D}_{{\mathrm{RP}}} $和主机名等信息生成并签发证书$ Cer{t}_{{\mathrm{RP}}} $。随后,RP使用验证密钥$ vk $验证证书的有效性,如果有效,则接受$ I{D}_{{\mathrm{RP}}} $$ Cer{t}_{{\mathrm{RP}}} $
2)用户注册
用户选择自身的用户名username和口令passwd作为输入$ x $,并计算关于二者的哈希值作为伪随机函数PRF的输入,随机生成密钥$ key_{\mathrm{enc}} $$ key\mathrm{_{id}} $,计算PRF的输出$ y=\mathrm{PRF}_{key_{\mathrm{enc}}}\left(x\right) $$ ID_U=\mathrm{PRF}_{key_{\mathrm{id}}}\left(x\right) $,然后利用基于Shamir秘密共享的密钥分片算法$ {\mathrm{ShamirShare}} $计算$ key\mathrm{_{enc}} $$ key\mathrm{_{id}} $的密钥分片$ \left[keyShare\mathrm{_{enc}}\right]=\mathrm{ShamirShare}\left(key_{\mathrm{enc}}\right) $$ \left[keyShare_{\mathrm{id}}\right]=\mathrm{ShamirShare}\left(key_{\mathrm{id}}\right) $,并根据y派生出用于对称加密的密钥$ ke{y}_{i}=H\left(y\right|\left|i\right) $,随后向IdP集群发起注册请求。IdP集群会检查username是否存在,如果存在,则告知用户重新选择username,反之,$ Id{P}_{i} $$ < username,key_i,keyShare_{\mathrm{\mathrm{\mathrm{enc}}}_i},keyShare_{\mathrm{\mathrm{id}}_i} > $作为一条记录存储。用户注册流程如图1所示。
图 1 用户注册流程

Fig.1 User registration process

(3)令牌请求阶段
借鉴PASTA的设计思想,方案中IdP在收到用户的令牌请求时,使用用户生成的密钥对令牌分片进行对称加密,然后用户在请求票据时只需要再次运行TOPRF协议生成对应的对称加密密钥,解密加密过的令牌分片即可。令牌请求的具体流程如下:用户访问RP时,从RP侧获取并验证$ Cer{t}_{{\mathrm{RP}}} $的有效性,若无效则拒绝访问,反之则从$ Cer{t}_{{\mathrm{RP}}} $中提取出RP的身份$ I{D}_{{\mathrm{RP}}} $。用户接下来选择随机数$ r\in {Z}_{m} $计算$ \bar{x}={H}_{1}{\left(x\right)}^{r} $,随后与IdP集群运行TOPRF协议计算$ ID_U=TOPRF_{key_{\mathrm{id}}}\left(x\right) $,然后选择随机数$ r\in {Z}_{m},s\in {Z}_{m} $,分别计算RP的伪身份$ PI{D}_{{\mathrm{RP}}}=\left[s\right]I{D}_{{\mathrm{RP}}} $和用户的伪身份$ PI{D}_{U}=\left[I{D}_{U}\right]PI{D}_{{\mathrm{RP}}} $,最后用户将$ < username,\bar{x},PI{D}_{{\mathrm{RP}}},PI{D}_{U} > $作为令牌请求发送给IdP集群。
IdP集群中的服务器$ Id{P}_{i} $在收到令牌请求时,首先检查username对应的记录是否存在,如果不存在,则响应失败,如果存在,则使用密钥分片$ s{k}_{i} $$ [PI{D}_{{\mathrm{RP}}},PI{D}_{U},Issuer,Validity,Attr] $签发令牌分片,并使用username对应的对称密钥$ ke{y}_{i} $加密令牌分片,同时使用$ I{D}_{{U}_{i}} $对应的$ keyShare_{\mathrm{enc}_i} $计算$ y_i=\bar{x}^{keyShare_{\mathrm{enc}_i}} $,并将加密后的令牌分片和$ {y}_{i} $作为响应返回给用户。
(4)令牌构建与验证阶段
用户在收到不少于$ t $个IdP节点的响应后,使用盲化因子$ r $和不少于$ t $$ {y}_{i} $计算TOPRF的输出$ y={\mathrm{TOPRF.Combine}}\left(x,\left\{{i,y}_{i}\right\},r\right) $,其中$ \left\{{y}_{i}\right\} $表示不少于$ t $个服务器响应的$ y $,随后利用$ y $计算$ ke{y}_{i}=H\left(y\right|\left|i\right) $,并使用$ ke{y}_{i} $解密获得对应的令牌分片,得到不少于$ t $个令牌分片,最后将这些令牌分片调用$ {\mathrm{TTG.Combine}} $算法得到完整的令牌$ token $。用户将完整的令牌和随机数$ s $发送给RP,由RP验证令牌的合法性。在令牌请求阶段用户与IdP之间的交互如图2所示。
图 2 令牌请求阶段

Fig.2 Token request phase

当RP收到用户的令牌$ token $和随机数$ s $后,使用$ vk $调用$ {\mathrm{TTG.Verify}}(vk,token) $对令牌进行验证,若令牌有效,则RP允许用户登录,且用户在RP侧对应的账户为$ account=\left[{s}^{-1}\right]PI{D}_{U}=\left[I{D}_{U}\right]I{D}_{{\mathrm{RP}}} $

4.3 OIDC兼容性

本文方案基于UPPRESSO协议,而UPPRESSO的设计与OIDC兼容。在此基础上,本文引入门限IdP集群与门限令牌生成机制,以增强隐私保护。该扩展不改变OIDC的令牌结构和RP的验证逻辑,RP仍接收并验证标准化的JWT,可直接复用现有库,无须修改。本文方案与UPPRESSO的主要差异在于IdP的签发过程由t-out-of-n门限签名完成,用户须聚合不少于$ t $个令牌分片才能生成完整的JWT。聚合结果在语义上等价于单一IdP签发的令牌,因而与OIDC保持一致。用户侧仅增加少量逻辑,用于执行TOPRF以及收集令牌分片并执行聚合,可通过浏览器脚本实现。实验结果表明,该改动的计算与通信开销是可接受的,对用户体验无显著影响。
综上,本文方案的门限化扩展仅涉及客户端与IdP集群,RP完全遵循既有OIDC协议,确保了本文方案与现有OIDC协议的兼容性。

5 安全性分析

本节对所提出的隐私保护SSO服务的门限IdP服务器方案的安全性进行分析。

5.1 单点故障防护目标

本文方案在设计上沿用PASTA定义的PbTA框架。在PbTA中,任意不少于$ t $个服务器可共同验证用户口令并生成有效身份令牌,攻击者即使攻破至多$ t-1 $个服务器,也无法伪造有效令牌或恢复用户口令。这一性质确保了本文方案在单点故障防护目标下的三方面安全性,即可用性保障、身份凭据不可伪造性和登录口令的不可恢复性。特别地,用户自行生成$ key\mathrm{_{\mathrm{enc}}} $$ key\mathrm{_{id}} $并分片的设计,其安全性已在PASTA中得到形式化论证,本文方案直接采用该设计以确保单点故障防护目标。

5.2 安全性与隐私保护目标

5.2.1 安全性分析

UPPRESSO针对三类典型攻击场景进行了安全性证明。(1)冒充与身份注入攻击。恶意用户或合谋实体无法伪造身份令牌以冒充诚实用户,也无法诱使诚实用户以错误账户登录目标RP。(2)令牌的RP指定性(RP Designation)。身份令牌严格绑定目标RP,仅在指定的诚实RP侧对应某个注册用户账户,在其他RP侧不产生有意义的身份映射。(3)用户唯一性识别(User Identification)。在目标RP侧,令牌能够唯一标识发起请求的用户,保证令牌对应的账户与真实用户一致。
本文方案在设计上融合了UPPRESSO实现上述安全性的核心逻辑,虽然将单个IdP扩展为门限化的IdP集群,但这并未削弱原有的安全保障。首先,身份转换机制的核心密码学基础未变,伪身份的生成($ PI{D}_{{\mathrm{RP}}}=\left[s\right]I{D}_{{\mathrm{RP}}},PI{D}_{U}=\left[I{D}_{U}\right]PI{D}_{{\mathrm{RP}}} $)以及RP侧最终账户的计算逻辑($ account=\left[{s}^{-1}\right]PI{D}_{U} $)与UPPRESSO完全一致,这些计算的安全性依赖EC-DLP的困难性;其次,令牌的生成与验证逻辑未变,从RP的视角来看,经由TTG聚合的最终令牌在验证上与单一IdP签发的令牌等效,确保了验证逻辑的一致性;最后,门限机制增强而非削弱了抗伪造能力,t-out-of-n的门限机制要求攻击者须攻破至少$ t $个IdP节点才能成功,增强了系统的安全性。
综上,本文方案将UPPRESSO的身份认证逻辑置于一个更具鲁棒性的t-out-of-n门限框架下。由于身份令牌的生成本质(伪身份绑定)和验证逻辑并未改变,因此,UPPRESSO的安全性质在本文方案中依然可以保持。

5.2.2 隐私保护目标

UPPRESSO在隐私保护方面给出了形式化的安全性证明,主要包括以下两点:(1)抗IdP登录追踪。诚实但好奇的IdP无法通过令牌或交互数据推断用户所访问的目标RP。(2)抗RP合谋身份关联。不同RP即使合谋共享用户的伪身份,也无法建立跨RP的登录记录关联。本文方案仅在UPPRESSO基础上引入门限扩展,伪身份生成与转换机制保持一致,因此,上述两类隐私保护目标在本方案中同样成立。
进一步地,本文提出了新的隐私保护目标,即抵御有限IdP-RP合谋。即便存在不超过$ t-1 $个IdP节点与恶意RP合谋,攻击者仍无法恢复用户的真实身份$ I{D}_{U} $或构建跨RP的登录记录关联。采用基于游戏的安全证明方法来证明该目标。
(1)攻击者视图。攻击者可以获得以下信息:token = $ \left[PID_{\mathrm{RP}},PID_U,Issuer,Validity,Attr\right]_{sk},ID_{\mathrm{RP}},s, username, $$ key_i,keyShare_{\mathrm{enc}_i},keyShare_{\mathrm{id}_i},\overline{x},PID_{\mathrm{RP}} $,攻击者的目标是恢复用户的真实身份$ I{D}_{U} $
(2)前提。EC-DLP问题:给定$ G $$ Q=\left[\alpha \right]G $,求$ \alpha $。攻击者$ \mathcal{A} $为多项式时间算法,目标是恢复$ I{D}_{U} $或其等价输入$ x $。若设计哈希函数或OPRF oracle,则采用随机预言机模型,模拟误差项记为$ {\mathrm{negl}}\left(\lambda \right) $
基于PID的规约
定理1 若存在敌手$ \mathcal{A} $能在给定公开量(包括$ PI{D}_{{\mathrm{RP}}}、PI{D}_{U} $等)的情况下以非忽略概率$ \epsilon $恢复$ I{D}_{U} $,则存在多项式时间算法$ \mathcal{B} $能以至少$ \epsilon-{\mathrm{negl}}\left(\lambda \right) $的概率解决EC-DLP。换言之,恢复$ I{D}_{U} $的困难性不低于解决EC-DLP的困难性。
(1)$ Gam{e}_{0} $(真实实验)。挑战者初始化参数与随机数,生成$ (PI{D}_{{\mathrm{RP}}},PI{D}_{U},s) $,将其交给敌手$ \mathcal{A} $。若敌手$ \mathcal{A} $输出$ \widehat{I{D}_{U}}=I{D}_{U} $,则攻击成功。
(2)$ Reduction\mathcal{B} $。输入EC-DLP实例($ I{D}_{{\mathrm{RP}}},Q= \left[\alpha \right]I{D}_{{\mathrm{RP}}} $),目标是求$ \alpha $。构造:$ \mathcal{B} $需要模拟对手视图,使得恢复$ I{D}_{U} $等价于求$ \alpha $。令$ s $$ \mathcal{B} $自行产生的随机数,设置$ PI{D}_{{\mathrm{RP}}}:=\left[s\right]I{D}_{{\mathrm{RP}}},PI{D}_{U}:=Q=\left[\alpha \right]I{D}_{{\mathrm{RP}}} $。将($ PI{D}_{{\mathrm{RP}}},PI{D}_{U}, s $)交给敌手$ \mathcal{A} $,敌手$ \mathcal{A} $输出$ \widehat{I{D}_{U}} $$ \mathcal{B} $输出$ \widehat{I{D}_{U}}\cdot s $作为EC-DLP的候选解。
(3)正确性分析。由构造$ PI{D}_{U}=Q=\left[\alpha \right]I{D}_{{\mathrm{RP}}} $,另一方面又$ PI{D}_{U}=\left[I{D}_{U}\cdot s\right]I{D}_{{\mathrm{RP}}} $,因此有$ \alpha =I{D}_{U}\cdot s\left(modm\right) $。若敌手$ \mathcal{A} $能够正确恢复$ I{D}_{U} $,则$ \mathcal{B} $能够恢复$ \alpha $,从而解决EC-DLP。换言之,若Pr⁡[$\mathcal{A} $成功恢复$ID_U $]=$ \epsilon $,则有$ Ad{v}_{\mathcal{B}}^{{\mathrm{DLP}}}\geqslant \epsilon-{\mathrm{negl}}\left(\lambda \right) $
由以上规约可知,若攻击者能够在不超过$ t-1 $个IdP节点与RP合谋的条件下恢复用户的真实身份$ I{D}_{U} $,则其能力可归约为在椭圆曲线上解决离散对数问题,这与密码学假设矛盾。
此外,由于用户在每次令牌请求时必须携带用户名,因此IdP能够识别该请求是否来自同一用户。在此基础上,若部分IdP节点与RP合谋,它们会尝试利用所签发的令牌分片重构完整令牌,并将重构后的令牌与用户在RP侧提交的令牌进行匹配,从而确认是否为同一用户,同时构建跨RP的登录记录关联。然而,t-out-of-n门限机制阻止了这种合谋行为的实现。不超过$ t-1 $个IdP节点无法将各自签发的令牌分片$ toke{n}_{i} $组合成完整的令牌,因此它们即使与RP合谋,也无法实现跨RP的登录记录关联。综上,相比于UPPRESSO,本方案在标准假设下进一步提升了在有限IdP-RP合谋场景下的隐私保护能力,从而实现了更强的隐私保护目标。

6 性能分析

6.1 方案实现

本文基于Java语言对所提出的方案进行了原型实现,其核心密码学组件与算法的选择与实现细节如下。利用Java的BigInteger类实现2 048位RSA算法,该算法用于门限令牌的生成与验证。基于secp256r1椭圆曲线参数和BouncyCastle库完成椭圆曲线计算。TOPRF算法采用Jarecki等[25]提出的2HashTDH协议,其内部哈希函数实现为:哈希到曲线函数$ {H}_{1} $是将任意输入映射到椭圆曲线上,按照RFC 9380标准[26]实现以保证哈希结果的均匀分布和不可预测性;派生哈希函数$ {H}_{2} $以SHA-256作为基础,确保最终伪随机输出的抗碰撞性和抗原像攻击能力。通用的哈希运算与对称加密分别采用SHA-256和128位AES。性能评估在一台搭载4核Intel Xeon Platinum 8269CY(2.50 GHz)、32 G内存的服务器上进行。为模拟不同的网络环境,利用Linux tc命令进行配置:(1)局域网(Local Area Network,LAN),设置4 ms往返时延,模拟高速内网环境。(2)广域网(Wide Area Network,WAN),设置80 ms往返时延,模拟跨地域的互联网通信。

6.2 计算开销

6.2.1 理论评估

本文首先定义主要耗时密码学操作及其符号,包括将值哈希到椭圆曲线群$ G $的哈希操作$ \mathbb{H} $、群$ G $中的标量乘法$ \mathbb{M} $$ {Z}_{m} $上的模幂运算$ \mathbb{E} $以及双线性配对$ \mathbb{P} $。其他操作(如对称加密/解密、群内加法运算等)因执行效率远高于上述操作,故予以省略。
由于注册过程对每个用户或RP通常仅发生一次,因此,评估重点放在系统常态运行下的令牌请求和构建与验证阶段。为了全面评估本文方案的性能,选择了三个具有代表性的对比方案:(1)PASTA(首个门限化SSO基线方案);(2)UPPRESSO(本文方案的设计基础,便于衡量额外开销);(3)TSAPP(同时支持门限化与隐私保护的方案)。
表3展示了各方案在用户登录阶段的理论计算开销。本方案在用户侧令牌构建与验证效率上与PASTA和UPPRESSO相当。而相较于TSAPP,因避免了昂贵的配对运算,在服务端及整体性能上表现更优。
表 3 用户登录阶段的理论计算开销

Table 3 Theoretical computational overhead of user login phase

方案 令牌请求阶段 令牌构建与验证阶段
用户 IdP 用户 RP
PASTA $ \mathbb{H}+\mathbb{M} $ $ \mathbb{M}+\mathbb{E} $ $ \left(t+1\right)\mathbb{M}+\left(t\right)\mathbb{E} $ $ 2\mathbb{E} $
UPPRESSO $ \mathbb{M}+\mathbb{E} $ $ \mathbb{M}+\mathbb{E} $ $ \mathbb{E} $
TSAPP $ 2\mathbb{H}+4\mathbb{M}+\mathbb{E}+2\mathbb{P} $ $ \mathbb{H}+8\mathbb{M}+2\mathbb{E}+6\mathbb{P} $ $ \left(t+1\right)\mathbb{H}+\left(2t+9\right)\mathbb{M}+\left(t+3\right)\mathbb{E} $ $ 6\mathbb{M}+2\mathbb{P} $
本文方案 $ \mathbb{H}+\left(t+5\right)\mathbb{M}+2\mathbb{E} $ $ 2\mathbb{M}+\mathbb{E} $ $ \left(t+1\right)\mathbb{M}+\left(t\right)\mathbb{E} $ $ 2\mathbb{E} $

6.2.2 实验评估

由于注册和登录过程中的请求由用户与RP并行发出,因此,总体耗时可分为通信与计算两部分。通信开销随IdP节点数的增加变化不大,而计算开销主要受门限数$ t $影响。基于此,将IdP节点数$ n $固定为10,对不同门限数进行实验。
表4展示了UPPRESSO与本文方案在注册和登录阶段的时间开销。结果表明,引入门限机制虽使注册环节的时间开销略有增加,但仍可接受,且注册仅须执行一次,对整体影响有限。因此,实验重点放在登录阶段。相应地,此处重点关注登录阶段核心模块。不同门限数下令牌请求、构建与验证的计算开销如图3所示,令牌请求与构建耗时随门限数的增加而增长,验证耗时则保持稳定。进一步地,在WAN环境下($ n=10 $),本文方案与PASTA登录阶段的总计算开销如图4所示。虽然本文方案的计算开销略高于PASTA,但考虑到本文方案引入了更强的隐私保护机制,这种少量的计算开销增加是完全合理且可接受的。
表 4 核心阶段的时间开销(ms)

Table 4 Execution time of core phases(ms)

方案 (服务器数,
门限数)
注册阶段 登录阶段
用户
注册
RP
注册
令牌
请求
令牌构建
与验证
LAN UPPRESSO 15 35 60 15
本文方案 (10,2) 28 79 63 19
(10,3) 27 84 68 20
(10,5) 31 100 94 22
(10,7) 32 105 99 29
(10,10) 30 122 114 31
WAN UPPRESSO 244 264 745 244
本文方案 (10,2) 253 381 749 248
(10,3) 253 383 750 249
(10,5) 253 396 756 254
(10,7) 253 403 765 255
(10,10) 253 417 771 261
图 3 不同门限数下令牌请求、构建和验证的计算开销

Fig.3 Computational overhead of token request, construction, and verification under different thresholds

图 4 不同门限数下登录阶段的总计算开销

Fig.4 Total computational overhead of login phase under different thresholds

6.3 通信开销

为评估系统在不同规模下的通信性能,本文测量了RP注册、用户注册和用户登录三个阶段的通信开销。在实验设置中,IdP节点数与门限数一致,从10递增至50,每次增量为10,分别记录了请求通信开销、响应通信开销及总通信开销。
在RP注册阶段,RP与$ t $个IdP节点进行两轮通信。不同门限数下RP注册阶段的通信开销如图5所示,通信开销随着IdP门限数的增加呈线性增长,在50个服务器时总开销约为80.6 KB(假设传输速率为1 Mb/s,可在约0.63 s内完成传输)。
图 5 不同门限数下RP注册阶段的通信开销

Fig.5 Communication overhead of RP registration phase under different thresholds

在用户注册阶段,用户同样与$ t $个IdP节点进行两轮通信。不同门限数下用户注册阶段的通信开销如图6所示,当IdP的门限数从10增加到50时,总通信开销从9.62 KB增加至48.12 KB(假设传输速率为1 Mb/s,可在约0.38 s内完成传输)。
图 6 不同门限数下用户注册阶段的通信开销

Fig.6 Communication overhead of user registration phase under different thresholds

在用户登录阶段,通信流程包括两轮与RP的交互以获取$ Cer{t}_{{\mathrm{RP}}} $$ I{D}_{{\mathrm{RP}}} $,以及四轮与$ t $个IdP节点的交互(包括两轮TOPRF用于重建$ I{D}_{U} $和两轮请求令牌分片)。如图7所示,当IdP的门限数从10增加到50时,总通信开销由30.65 KB上升至142.06 KB(假设传输速率为1 Mb/s,可在约1.11 s内完成传输)。图8给出了固定节点数$ n=10 $、不同门限数下,本文方案和PASTA登录阶段的总通信开销(包括请求和响应)。实验结果表明,虽然本文方案的通信开销略高于PASTA方案,但这种增加是为了实现更强的隐私保护功能,其开销在可接受范围内。
图 7 不同门限数下用户登录阶段的通信开销

Fig.7 Communication overhead of user login phase under different thresholds

图 8 不同门限数下登录阶段的总通信开销(n=10)

Fig.8 Total communication overhead of login phase under different thresholds(n=10)

7 结束语

本文针对集中式SSO的单点故障风险和隐私泄露问题,提出了一种隐私保护SSO服务的门限IdP服务器方案。该方案基于PbTA框架,将IdP功能分配给$ n $个节点组成的集群,采用t-out-of-n门限机制,在最多$ t-1 $个节点被攻破时仍可维持系统的正确性与可用性,缓解了单点故障风险。同时,通过临时伪身份生成与椭圆曲线密码学的结合,防范了基于IdP的登录追踪、基于RP的身份关联及IdP与RP合谋的隐私威胁。安全性分析验证了方案满足单点故障防护目标和安全性与隐私保护目标。性能评估实验结果显示,方案在增加有限计算与通信开销的情况下,性能与集中式架构相当,在安全性与性能之间实现了合理权衡。
未来工作可在以下几个方向进一步研究。第一,引入主动安全机制以支持密钥的动态更新及撤销,从而增强系统在长期密钥泄露场景下的安全性;第二,提升协议兼容性,使其能够支持SSO的授权码流,从而扩大方案的适用范围;第三,研究在接入RP时对用户属性(如年龄、学历等)进行验证的方法,确保在不泄露用户完整身份信息的前提下实现细粒度认证;第四,考虑用户在以往口令情况下的身份恢复问题,从而提升系统的可用性与用户体验。
1
HUGHES J, CANTOR S, HODGES J, et al. Profiles for the OASIS security assertion markup language (SAML) V2.0[S]. OASIS Standard, 2005.

2
CANTOR S. SAML V2.0 subject identifier attributes profile version 1.0[EB/OL]. (2019-01-19)[2025-09-10]. https://docs.oasis-open.org/security/saml-subject-id-attr/v1.0/cs01/saml-subject-id-attr-v1.0-cs01.html.

3
HARDT D. The OAuth 2.0 authorization framework: RFC 6749[R]. IETF, 2012.

4
SAKIMURA N, BRADLEY J, JONES M, et al. OpenID connect core 1.0 incorporating errata set 1[J]. The OpenID Foundation, Specification, 2014, 335.

5
Amazon Web Services Inc. Getting started with user pools[EB/OL]. Seattle: Amazon Web Services, [2025-09-10]. https://docs.aws.amazon.com/cognito/latest/developerguide/getting-started-user-pools.html.

6
Meta Platforms Inc. OIDC token with manual flow-facebook login[EB/OL]. [2025-09-10]. https://developers.facebook.com/docs/facebook-login/guides/advanced/oidc-token.

7
Google LLC. OpenID connect[EB/OL]. [2025-09-10]. https://developers.google.com/identity/openid-connect/openid-connect.

8
MOST J. Attack is the best form of defense[EB/OL]. (1884-09-13)[2025-09-10]. https://theanarchistlibrary.org/library/johann-most-attack-is-the-best-form-of-defense.

9
WANG D, WANG P. Offline dictionary attack on password authentication schemes using smart cards[C]//16th International Conference on Information Security (ISC 2013). Springer, 2013: 221-237.

10
AGRAWAL S, MIAO P, MOHASSEL P, et al. PASTA: Password-based threshold authentication[C]//21st ACM SIGSAC Conference on Computer and Communications Security. ACM, 2018: 2042-2059.

11
GUO C, LIN J, CAI Q, et al. UPPRESSO: Untraceable and unlinkable privacy-preserving single sign-on services[J]. arXiv preprint, arXiv:, 2110, 10396, 2025.

12
FETT D, KÜSTERS R, SCHMITZ G. SPRESSO: A secure, privacy-respecting single sign-on system for the web[C]//22nd ACM SIGSAC Conference on Computer and Communications Security. ACM, 2015: 1358-1369.

13
ZHANG Z, KRÓL M, SONNINO A, et al. EL PASSO: Efficient and lightweight privacy-preserving single sign on[J]. Proceedings on Privacy Enhancing Technologies, 2021, 2021 (2): 70- 87.

DOI

14
XU R, YANG S, ZHANG F, et al. MISO: Legacy-compatible privacy-preserving single sign-on using trusted execution environments[C]//8th IEEE European Symposium on Security and Privacy (EuroS&P). IEEE, 2023: 352-372.

15
ALOM I, BHUJEL S, XIAO Y. VeriSSO: A privacy-preserving legacy-compatible single sign-on protocol using verifiable credentials[J]. Cryptology ePrint Archive, Paper 2025/511, 2025.

16
BAUM C, FREDERIKSEN T, HESSE J, et al. PESTO: Proactively secure distributed single sign-on, or how to trust a hacked server[C]//7th IEEE European Symposium on Security and Privacy (EuroS&P). IEEE, 2020: 587-606.

17
RAWAT R, JHANWAR M P. PAS-TA-U: Password-based threshold authentication with password update[C]//International Conference on Security, Privacy, and Applied Cryptography Engineering. Springer, 2020: 25-45.

18
ZHANG Z, XU C, JIANG C, et al. TSAPP: Threshold single-sign-on authentication preserving privacy[J]. IEEE Transactions on Dependable and Secure Computing, 2023, 21 (4): 1515- 1527.

19
ZHANG Y, XU C, LI H, et al. PROTECT: Efficient password-based threshold single-sign-on authentication for mobile users against perpetual leakage[J]. IEEE Transactions on Mobile Computing, 2020, 20 (6): 2297- 2312.

20
JIANG C, XU C, YANG G. AugSSO: Secure threshold single-sign-on authentication with popular password collection[J]. IEEE Transactions on Mobile Computing, 2025, 24 (5): 4355- 4370.

DOI

21
JONES M, BRADLEY J, SAKIMURA N. JSON web token (JWT): RFC 7519[R]. IETF 2015.

22
GOLDREICH O, GOLDWASSER S, MICALI S. How to construct random functions[J]. Journal of the ACM (JACM), 1986, 33 (4): 792- 807.

DOI

23
NAOR M, REINGOLD O. Number-theoretic constructions of efficient pseudo-random functions[J]. Journal of the ACM (JACM), 2004, 51 (2): 231- 262.

DOI

24
FREEDMAN M J, ISHAI Y, PINKAS B, et al. Keyword search and oblivious pseudorandom functions[C]//Theory of Cryptography Conference. Springer, 2005: 303-324.

25
JARECKI S, KIAYIAS A, KRAWCZYK H. Round-optimal password-protected secret sharing and T-PAKE in the password-only model[C]//International Conference on the Theory and Application of Cryptology and Information Security. Springer, 2014: 233-253.

26
FAZ-HERNANDEZ A, SCOTT S, SULLIVAN N, et al. Hashing to elliptic curves: RFC 9380[R]. IRTF, 2023.

Outlines

/