Page 439 - 《软件学报》2026年第2期
P. 439

918                                                        软件学报  2026  年第  37  卷第  2  期


                 的身份认证协议. 但该协议要求用户单独在每个服务器完成注册并记忆其在每个服务器的登录口令, 用户的口令
                 维护成本较高, 在多服务器环境下可用性较低. 1991              年, Chang  等人  [29] 首次提出了基于口令和智能卡的双因子用
                 户身份认证协议. 但该协议的安全性基于智能卡抗窜扰的强假设, 即假设敌手无法获取智能卡中存储的数据内容.
                 2001  年, Tsaur [30] 提出了首个基于“口令+智能卡”的适于多服务器环境的认证协议, 用户只需要记忆一个口令, 便可
                 登录同一管理域下的多个服务.
                    随着网络服务规模的不断扩展, 用户需要维护的口令数量急剧攀升, 因记忆负担过重, 用户往往倾向于设置结
                 构简单、易于回忆的弱口令, 并在多个服务间反复使用相同口令                     [17,18] . 在此情形下, 传统的基于口令的身份认证协
                 议难以抵御离线      DGA  攻击. 为提升口令类凭证的安全性, 自          Lamport 的早期工作提出以来, 国内外研究者陆续构
                 建了大量具备不同防护特性的基于口令的认证方案                  [25–27] . 最直接的方式是避免在身份服务器中存储口令明文, 而
                 改以存储口令的哈希值. 然而, 当攻击者能够执行大规模离线口令猜测时, 只需重复调用哈希函数即可恢复口令.
                 因此, 通过采用计算成本更高的新型哈希函数来增加敌手的破解开销, 成为提升认证方案安全性的一个方向                                  [31,32] .
                 另一类常见方法是引入口令加盐机制             [33] : 身份服务器为每个用户维护一个独立盐值, 并存储加盐后的哈希值. 只
                 要盐值不泄露, 敌手便难以利用预计算攻击或离线                 DGA  恢复口令. 然而, 盐值完全由身份服务器生成和管理, 一
                 旦半诚实或恶意的服务器泄露盐值, 敌手仍可执行离线                  DGA. 相较之下, 服务器协助的基于口令的认证机制               [34] 在
                 安全性与效率之间取得更好的平衡, 并展现出更高的实际应用价值. 在此类方案中, 用户向一个可信的密钥服务器
                 请求协助, 密钥服务器保存服务器端密钥并与用户交互, 将用户口令“强化”为高强度凭证. 当用户需要向身份服务
                 器证明其身份时, 只需再次通过强化流程生成认证凭证, 由身份服务器比对新旧凭证是否一致即可完成身份认证.
                 基于上述构建理念, Everspaugh    等人  [35] 提出了  Pythia 这一基于伪随机函数   (pseudorandom function, PRF) 的代表性
                 方案. 随后, Lai 等人  [36] 提出了在更强安全性定义下仍保持高效性能的             Phoenix  协议. 然而, Phoenix  依赖身份服务
                 器在整个系统生命周期内始终保持诚实的强假设, 因而容易产生单点失效问题. 为缓解此风险, Agrawal 等人                             [37] 提
                 出了门限化的     PASTA  协议: 借助口令与服务器端秘密共享, 用户在多个服务器协助下生成强化口令与认证令牌,
                 只要被攻破的服务器数量未超过门限, 方案即可抵御离线                   DGA. 但  PASTA  未考虑敌手可自适应选择攻击目标的
                 情形, 也缺乏对服务器故障的修复机制. 基于             PASTA  的框架, Baum  等人  [24] 进一步设计了分布式单点登录       (single
                 sign on, SSO) 协议  PESTO, 利用不经意的分布式    PRF  与分布式签名技术实现非交互式密钥更新, 并支持敌手自适
                 应攻破服务器. 在被攻破服务器低于门限值的前提下, PESTO                 能够在  UC  模型中证明安全性. 然而, 该协议要求用
                 户每次认证时都需经由服务器协助强化口令并生成凭证, 导致通信与计算开销较高, 不利于移动用户的便捷使用.
                 本文提出的方案      CADC  引入长短效秘密结合的方法, 移动用户拥有长效的用户口令和短效的设备公私钥对, 用户
                 在短期内可直接使用设备私钥完成身份认证, 无需再次与                  App  交互以加固长效口令, 极大地提升了用户端的效率,
                 实现了适用于移动用户且便携高效的安全认证机制.
                  1.2   数据可信共享与流转
                    在数据跨    App  流转过程中, 为了抵御半诚实的云服务器, 一种最简单的解决方法是由数据拥有者自行下载全
                 部密文并解密后, 再使用数据接收者的公钥加密数据并发送给数据接收者, 但这无疑给数据拥有者带来了极大的
                 计算开销, 同时也失去了云辅助下完成数据流转的便捷性和高效性. 如何实现云辅助的数据安全跨域流转引起了
                 学术界的广泛关注. 目前, 已有多种技术可以实现不同应用场景下安全的数据跨域流转, 包括隐私集合交集
                 (private set intersection, PSI) 技术、私有信息检索  (private information retrieval, PIR) 技术、可搜索加密  (searchable
                 encryption) 技术等. 在本节中, 我们讨论了上述技术的应用场景, 以及其在云辅助的跨                  App  数据流转场景下应用的
                 优缺点.
                    PSI 技术能够在双方分别持有私有集合的情况下安全计算其交集, 同时确保除交集外的其他元素不被泄
                 漏  [38,39] . 然而, PSI 本质上针对两方计算设计, 对于“以用户为中心”的跨         App  数据流转而言, 用户通常需跨越不同
                 应用查询其数据而非与每个          App  比对上传集合. 如果采用       PSI 完成检索, 用户必须与每一个应用单独运行一次
                 PSI 协议, 通信与计算代价将指数式增长, 难以满足实际需求. 另一类典型工具是                      PIR  技术, 其目标是允许用户在
                 不暴露查询内容的前提下从服务器数据库中检索所需信息                     [40] . PIR  强调保护查询隐私, 而服务器完全掌握数据库
   434   435   436   437   438   439   440   441   442   443   444