引言

随着云计算和大数据的发展,如何安全、高效地实现数据共享成为亟待解决的问题。在传统公钥加密中,若用户 Alice 希望将自己加密的数据分享给用户 Bob,一个直接但低效的方法是:Alice 使用 Bob 的公钥重新加密数据并发送给 Bob。这种方法需要对每个接收者都进行一次额外加密,增加了数据提供方的开销,不利于多用户场景的数据分发。

代理重加密(Proxy Re-Encryption, PRE)技术为此提供了一种优雅的解决方案:Alice 可以生成一个重加密密钥授权给半可信的代理,使代理能将由 Alice 公钥加密的密文转换为 Bob 公钥下的密文,Bob 随后即可用自己的私钥解密,而代理在此过程中无法获得明文内容。PRE最早由 Blaze 等人在1998年提出,其目标是在无需完全信任第三方的情况下,实现密文从一个密钥体系安全转换到另一个密钥体系。经过二十多年的发展,代理重加密已经演化出多种类型和构造方案,在云存储访问控制、区块链数据共享、医疗数据共享、物联网等领域展现出广阔的应用前景。本文将对代理重加密技术的概念分类、主流加密构造、安全模型、应用场景、近年来研究进展与挑战,以及主流方案对比等方面进行综述和深入分析。

1. 基本概念与主要分类

代理重加密是一种特殊的公钥加密机制,允许一个半可信代理将密文从一个公钥转换为另一个公钥加密的密文,使被授权接收者能够解密,但代理无法获取明文或参与方的私钥信息。换言之,代理重加密实现了“解密权限的安全委托”:数据拥有者(委托者)不必泄露自己的私钥,只需授权代理对密文进行转换,即可将解密权安全地转交给指定的接收者(被委托者)。在正式的模型中,一个典型的PRE方案由五种算法构成:KeyGen(密钥生成)、Encrypt(加密)、ReKeyGen(重加密密钥生成)、ReEncrypt(重加密)和Decrypt(解密)。结合PRE的主要属性,常见分类如下。

  • 单向 vs. 双向(Unidirectional vs. Bidirectional):这是代理重加密最基本的分类之一。双向PRE方案中,代理所持有的重加密密钥不仅可以将Alice的密文转换为Bob的密文,也可以反过来将Bob的密文转换回Alice,即重加密方向是可逆的;而单向PRE中,重加密密钥只能单方向发挥作用,代理只能从Alice到Bob转换,不能从Bob回转换,这增强了安全性。早期提出的PRE方案多为双向的。例如,Blaze 等人在1998年构造的首个PRE方案就是双向的,多次重加密也是允许的。然而双向方案带来安全隐患:如果代理和被委托者合谋,可能从重加密密钥推导出委托者的私钥。因此,后续研究更加关注单向方案。Ateniese 等人在2005年首次利用双线性对构造了单向代理重加密方案,不但防止了上述合谋攻击,还提出了“主密钥安全”(Master Secret Security)的概念以保护委托者私钥安全。当前,大多数现代PRE方案都是单向的,以避免不必要的信任风险。

  • 单跳 vs. 多跳(Single-hop vs. Multi-hop):也称非传递性传递性。单跳(非传递)方案中,每个密文最多只能被代理重加密一次;多跳(传递)方案则允许对已重加密过的密文再次进行重加密,实现任意次数的级联授权。多跳PRE对于需要多级转授权的应用(如层层转发的机密文件)非常有用。然而,实现单向且多跳的PRE极具挑战性——许多双向方案可以天然支持多跳,但单向方案通常默认是单跳的。目前已知能够同时实现“单向”且“多跳”的方案很少,文献指出唯一已知的此类方案是借助全同态加密技术实现的。近年来一些学者尝试通过程序混淆(iO)和基于格假设(如LWE)等工具来构造单向多跳PRE,如 Chandran 等人和 Lai 等人的工作,但这些方案往往结构复杂且开销较大。多跳机制还引出密文可链接性等安全问题,需要额外的措施确保重加密前后密文的关联无法被恶意分析利用。当前,对多跳PRE特别是单向多跳PRE的研究仍在持续,是代理重加密领域的一大前沿课题。

  • 非交互式 vs. 交互式(Non-interactive vs. Interactive):按照重加密密钥的生成方式,可分为非交互式和交互式方案。非交互式PRE是主流形式,指委托者 Alice 单方面即可计算出重加密密钥 (通常使用Alice的私钥和Bob的公钥)并发送给代理,整个授权过程无需Bob参与。这显然更符合实际应用需求,因为Bob不必为了接收数据而暴露自己的私钥或与Alice交互。而交互式PRE要求委托者和被委托者双方协作生成重加密密钥,典型做法是让Bob提供其私钥参与计算。交互式方案在学术上曾被提出以实现某些特别功能(如细粒度策略绑定),但由于需要暴露接收方私钥片段,实用性很差,存在安全隐患。目前绝大多数方案都是非交互式的,交互式PRE更多停留在理论探讨层面,除非在极少数场景下需要双边协同授权。

  • 同态 vs. 非同态(Homomorphic vs. Non-homomorphic):这里的“同态”是指利用同态加密的思想实现代理重加密功能。传统PRE方案通常需要专门的重加密算法,而同态PRE尝试直接在密文上执行某种运算来完成格式转换。例如,一些方案利用Paillier或Damgård-Jurik等加法同态加密,使代理通过在密文上加乘一个噪声项并再用目标公钥加密差分的方式实现重加密。同态PRE的一个突出优势是能够实现单向多跳:由于密文转换是在加密域上同态完成的,重复应用转换操作成为可能。Bellafqira 等人在2017年提出的同态代理重加密方案就是一例,它基于Damgård-Jurik加密体制,允许云端对不同用户的同态加密数据执行重加密而无需双方额外通信,并且方案具备单向性和抗合谋性。不过,同态PRE往往牺牲了一定性能,密文噪声增长和密文尺寸扩大等问题需要考虑。因此,在设计这类方案时需要在功能与效率之间权衡。目前非同态的专用PRE算法仍然占主流,但同态技术为PRE提供了新的思路,特别是在追求更强功能(如多跳、灵活计算)时具有独特价值。

2. 主流的构造方法

不同代理重加密方案在加密算法的选择和构造方法上各有侧重。根据所依赖的底层数学难题,PRE方案主要有以下几类:基于双线性对的方案、基于格理论的方案,以及结合全同态/部分同态加密的方案等。每种构造路线都有其优点和适用场景。

2.1 基于双线性对的方案

双线性对(bilinear pairing)是早期单向代理重加密方案的核心工具之一。这类方案通常在判定性双线性 Diffie-Hellman(DBDH)等假设上证明安全。Ateniese 等人(2005)的著名方案即基于双线性对构造:他们利用 Boneh-Franklin 提出的加密框架,将Alice和Bob的公钥映射到一个双线性群中,使得代理可以据此计算重加密密钥 ,从而将密文上的配对结果重新映射到Bob的公钥下。该方案实现了单向抗合谋(代理与Bob无法合谋出Alice私钥),被视为代理重加密领域的里程碑。此后,多数后续方案延续了这一思路,不断改进安全性和功能。例如,Green 和 Ateniese(2007)将双线性对方案拓展到身份基环境,使重加密密钥可基于用户身份生成,实现了身份驱动的PRE。又如 Libert 和 Vergnaud(2008)构造了首个在标准模型下CCA安全的单向PRE,同样依赖双线性映射来设计复杂的验证值以抵抗选择密文攻击。双线性对方案的一大优势是效率相对较高:配对运算在现代椭圆曲线实现中已有优化,密文长度和密钥长度也较为紧凑。此外,借助配对,许多高级功能如条件重加密属性基重加密等都得以实现。例如,基于配对的PRE可以方便地与属性加密结合,使重加密过程受属性策略约束,实现细粒度访问控制。需要注意的是,基于双线性对类的方案目前多在经典计算安全下(如BDDH、q-DBDHE假设),尚不抗量子攻击;但作为经过实践检验的主流方案,其设计思想和安全模型成熟,在应用系统中仍被广泛采用。

2.2 基于格密码的方案

随着后量子密码学兴起,近年来出现了基于格问题(如LWE-学习错误、LWR-学习与舍入)构造的代理重加密方案。这类方案的最大优点是可以抵御量子计算攻击,被称为后量子安全的PRE方案。格基础的PRE通常使用小整数解问题带学习错误问题为安全基础,通过巧妙设计使密文和重加密密钥在高维向量空间上运算转换。例如,Li等人(2021)提出了首个基于LWE的同态代理重加密方案(HPRE-SAC),利用TrapGen等格算法生成密钥,并通过密钥切换技术来实现重加密。他们的方案能够同时抵抗代理-接收者的强合谋攻击(即使代理和被授权人同时作恶,仍无法解密未授权密文)。又如,Xie等人(2023)提出了基于LWE的“自主路径代理重加密”方案,允许委托者针对重加密路径施加细粒度控制(比如限定密文只能按预定链路传递),并在标准模型下证明了方案的IND-CPA安全性。格方案通常需要较大的公私钥和密文尺寸,但得益于近年来格密码优化(如截断Gaussian采样、基于NTRU的优化等),性能已大幅改进。一些格PRE方案开始探索免配对实现(Pairing-Free)和无证书环境,以降低传统方案中的系统开销。例如,Lu等人(2016)设计了一个无双线性对的证书基础PRE方案,通过RSA模数上的计算实现重加密,在保持合理效率的同时避免了复杂的证书管理。总体而言,格基础的代理重加密为量子时代的数据共享提供了希望,虽然目前实现上相较传统方案仍显臃肿,但随着算法和参数的改进,格PRE有望在未来扮演更加重要的角色。

2.3 基于同态加密的方案

如前所述,同态加密思路可以用于增强代理重加密的功能性。这方面的工作包括利用部分同态(如加法同态)或全同态加密来实现密文转换。一个典型例子是 Bellafqira 等人(2017)提出的基于Paillier/Damgård-Jurik的同态代理重加密方案。其核心思路是在加密域中执行重加密操作:Alice和Bob事先商定一个秘密噪声种子,代理在收到Alice的同态加密密文后,生成相应的加密噪声并计算噪声与密文之差,然后用Bob的公钥加密该差值,叠加回噪声以完成转换。最终得到的结果是Bob公钥下的密文,代理在过程中仅做同态运算,未解开密文。由于该方案所有操作均在密文空间完成,不需要Alice在线参与或提供额外信息,因而是非交互式的。同态PRE的另一个应用是实现多用户协同计算:例如在联邦学习中,可将多个用户加密的本地模型参数通过代理重加密汇聚到服务器端,同态性质确保服务器能对加密参数做聚合运算,同时代理重加密确保服务器最终能将总模型解密给自己。需要指出,同态代理重加密往往需要牺牲一定效率来换取功能。例如Bellafqira方案要求一次额外的同态减法和噪声重加密操作,在数据量大时额外开销明显。此外,如何保障噪声不致膨胀影响解密也是技术难点。不过,随着全同态加密(FHE)技术的发展,将FHE与PRE结合被认为前景光明。近期已有研究探索多密钥同态加密(MKHE)结合代理重加密,实现多个源密文共同转换给目标用户的场景。总体而言,同态加密为代理重加密赋予了在密文下直接操作的能力,拓展了PRE的应用边界,是一个富有潜力的研究方向。

3. 安全模型与安全性分析

设计一个安全的代理重加密方案,需要明确适当的安全模型和威胁假设。通常,PRE方案需要满足以下安全性要求:

  • 机密性(保密性):这一点是基本要求,代理在转换过程中无法获得原始明文的任何信息。无论攻击者截获原始密文、重加密密钥或重加密后的密文,都不应破坏明文的隐私。形式化来说,对于PRE的机密性通常要求满足IND-CPA安全(选择明文下不可区分)或更强的IND-CCA安全(选择密文下不可区分)。早期的大多数PRE仅能满足CPA安全,但实际应用中敌手可能会发起更强力的选择密文攻击,因此近年来许多方案追求CCA安全性。Canetti 和 Hohenberger 在2007年率先提出了PRE的CCA安全定义,并给出了一个CCA安全的方案。值得注意的是,PRE的安全模型相较普通公钥加密更为复杂:攻击者可能既能查询解密oracle,又能查询重加密oracle(即要求代理将某些密文转换)。安全证明中通常需要防止攻击者滥用重加密oracle来绕过挑战。Libert和Vergnaud等人在后续研究中对PRE的安全模型做了扩展,使其适用于单向、多跳场景。总之,CPA安全被认为是PRE的最低要求,CCA安全则是更高级别保证,现代许多方案已能在标准模型下达到CCA或弱CCA(如RCCA, 区分选择密文安全)标准。

  • 代理可见性与匿名性:这一性质关注重加密过程对外的可检测性。在某些应用中,我们希望重加密后的密文看起来与直接用接收者公钥加密的密文无异,从而不泄露任何关于代理参与的信息。这通常称为密文的模糊性或者代理透明性。更进一步的需求是重加密密钥的匿名性(Key-Privacy)。Ateniese 等人在2009年正式提出了密钥私密的代理重加密概念,要求代理(或任何观察者)无法从重加密密钥中判断出委托者和被委托者是谁。传统PRE方案中,重加密密钥通常是两用户公钥和私钥的某种函数,很容易暴露双方身份。这在分布式文件系统等场景下会带来隐患:数据拥有者希望利用代理转发敏感数据,但又不想让代理知道接收者是谁。为此,Key-private PRE要求重加密密钥本身也是模糊的,不泄露用户身份信息。实现这一点需要引入额外的随机化或复杂结构。Ateniese等人的方案通过在重加密密钥中加入线性同态的遮蔽,使得即使代理持有 ,也无法区分它对应哪对用户。需要说明的是,匿名性的提升往往伴随性能代价,但在注重隐私的应用中,这一特性非常重要。此外,还有研究关注源可见性去向可见性:即观察者能否判定一条密文是由代理转换而来,或者能否将重加密前后的密文联系起来。这些都属于“代理可见性”范畴,需要通过协议设计来避免。例如,通过重新随机化密文使转换后的密文与原密文解链,或者在密文中消除标识性的元数据,使其看似普通密文。综合来看,代理匿名性已成为PRE安全性的一个重要衡量指标,新方案在追求高效和安全的同时,也逐渐将匿名性纳入考虑范围。

  • 密钥泄露鲁棒性:代理重加密方案涉及多种密钥(用户私钥、重加密密钥等),需要考虑不同密钥泄露情况下系统的鲁棒性。首先,要求重加密密钥泄露不应导致明文泄露:理想情况下,单独持有 的攻击者无法直接解开任何密文,也无法推导出Alice或Bob的私钥。这一性质通常通过设计让 仅包含Alice私钥和Bob公钥的组合来实现,缺少Bob私钥就无法解密。其次,要求用户私钥泄露的影响可控。如果Alice私钥泄露,显然Alice加密的数据不再安全,但我们希望不会进一步殃及其他用户。一个不好的情况是:如果Alice私钥和 同时泄露,攻击者是否能借此推出Bob的私钥?理想的PRE应避免这种“私钥传染”现象。早期的双向方案存在委托者私钥可由代理和接收者合谋推出的问题,而后来的单向方案通过设置 和 之间的单向函数关系解决了此问题,例如Ateniese方案中满足 ,即使 和 同时泄露,仍难以解出 。再次,需要考虑代理私钥(若代理有公私钥对,用于验证等)泄露的影响,不过大多数PRE系统中代理并不需要持有长期私钥。最后,合谋攻击是密钥安全的重要考验:方案应确保即便半可信代理变为恶意并与某些用户勾结,也无法获得未被授权的数据或他人私钥。总体而言,密钥泄露鲁棒性要求PRE在各种部分妥协情况下仍保持剩余机密性的最大化。这通常通过密码学技巧如分离权限、阈值密码和失效转移等来加强。例如,有研究将用户私钥分成两部分,代理持有一份,被授权人持有一份(类似2003年的Schnorr签名片段方案),从而即便代理单方作恶也无法完成解密。又有方案采用阈值PRE,需要多个独立代理协同才能完成一次重加密授权。这些机制都提高了系统对密钥泄露的鲁棒性。简言之,优秀的PRE方案应在各种极端情况下依然保证敏感信息不外泄,最小化信任安全降级范围

4. 主要应用场景

代理重加密作为一种灵活的密码工具,已在多个领域找到用武之地。以下列举几个典型应用场景。

4.1 云存储访问控制

在云存储环境下实现细粒度的数据访问控制是PRE最经典的应用之一。用户往往将加密后的数据存储在云端,希望授权其他用户访问其中部分数据,但又不信任云服务提供商。代理重加密可以由云服务器扮演代理角色:数据拥有者Alice将文件加密后上传云端,当需要分享给Bob时,Alice给云服务器发送重加密密钥 ,服务器据此将密文转换为Bob可解密的形式。Bob获取转换后的密文后,用自己的私钥解密得到明文,全程Alice无需将自己的私钥托付给云端。这样一来,云服务器负责繁重的加密转换计算,Alice和Bob仅需本地少量操作即可完成安全共享,显著提升了系统性能和可用性。典型的应用如企业云存储:员工A上传加密文档到公司云盘,授权同事B阅读时,只需发送重加密密钥给云盘服务,后者将文档密文转换给B,无需A将文档重新加密多份。又如加密文件系统,利用PRE实现访问权限的动态变更:当某员工离职或新员工加入,只需更新相关重加密密钥,无需重新加密全部历史数据。文献中,Yu 等人(2010)将PRE与属性基加密(ABE)结合,实现了云环境下安全、可扩展、细粒度的数据访问控制方案。他们的系统中,文件加密使用ABE保证策略灵活性,而用户撤销或权限变更通过PRE进行密文更新,从而避免ABE繁重的重新加密开销。总的来说,在云存储场景,PRE使“加密数据可共享”成为可能:云端虽然不可信,但可以作为计算中介完成密文的权限转换,大幅降低数据拥有者的负担,被视为云数据安全保护的有效途径之一。

4.2 区块链和去中心化存储

区块链环境强调去信任化数据不可篡改,这与代理重加密的理念天然契合。近期兴起的区块链+PRE方案,为分布式场景下的隐私数据共享提供了新思路。例如,在区块链上存储加密数据(或存储其引用),数据拥有者可以发布一笔交易,内含对某接收者的重加密密钥。当矿工(作为代理)打包该交易时,自动执行PRE操作,将相应密文转换为接收者可解密的形式,并将转换后的密文上链。由于区块链的共识机制,代理重加密过程公开可验且不可抵赖,实现了去中心化的信任委托。典型案例是去中心化秘钥管理系统 NuCypher:它在以太坊链上注册重加密权限,网络中的节点集体充当代理,对用户上传到IPFS等分布式存储的加密数据进行重加密。NuCypher的Umbral算法甚至引入了门限机制,将重加密密钥拆分成多个片段,由不同节点分别执行重加密,接收者只要收集到一定数量的片段即可恢复有效密文。这种阈值代理重加密提高了安全性,即使部分节点作恶也不影响正确性。除了数据共享,区块链上的PRE还用于分布式身份管理(DID)等领域。如曹等人提出了结合区块链和代理重加密的去中心化身份框架,实现了在区块链上发布审计可追踪的授权证书,并通过PRE机制控制这些凭证仅能被特定机构解密查阅。总的来说,区块链为PRE提供了透明执行可信记录的平台,而PRE为区块链扩展了隐私保护细粒度访问能力。两者结合的系统在医疗数据共享、物联网数据交易等方面已有原型,实现了数据在公开账本上受控分享的新范式。

4.3 电子医疗记录共享

在医疗领域,不同医院或医生之间需要共享患者的电子病历(EMR)时,既要保护患者隐私,又要保证授权医护能及时获取所需信息。代理重加密为电子病历安全共享提供了切实可行的方案。设想患者Alice的病历由医院A保管,她希望授权医院B的专科医生Bob访问部分记录。医院A可将Alice的病历用A的公钥加密(或采用医院A的机构公钥加密),存储在云或联盟链上;当Alice签署同意授权给Bob后,医院A生成 给出,让云端或区块链代理将相关病历密文转换为Bob的公钥密文。Bob拿到转换结果后即可解密阅览,而无须直接联系医院A索要明文副本。这种模式下,患者数据始终以加密形式在网络中流转,只有被授权者才能解密查看,极大降低了隐私泄露风险。更重要的是,授权与撤销可以被精细控制和追踪。例如,通过在重加密密钥中嵌入时间戳或期限(所谓时间锁PRE),可以让病历只在授权期限内对Bob可读,过期自动失效。此外,针对医疗数据往往涉及多属性访问策略,如患者希望不同科室医生只能看到记录的不同部分,学者提出了属性基代理重加密方案,将属性加密(ABE)和PRE结合,按需转换特定属性的密文给相应角色。例如,Huang等人设计了一个医疗数据共享系统,病历用属性「内科」「皮肤科」等加密,医院作为半可信代理,依据医生的科室属性将病历密文重加密给匹配的医生公钥。在整个过程中,病人隐私得到保护,访问控制逻辑由密码机制强制执行而非依赖医院道德。在现实试点中,一些区域医疗信息平台已初步引入PRE来实现跨医院的数据调阅:患者检查结果由检测机构加密上链,经过患者授权,链上存证代理将结果转换给目标医院解密,从而实现“数据不动,权限动”的安全共享模式。可以预见,随着医疗信息化和法规对数据隐私要求的提高,代理重加密将在电子病历、处方流转、远程医疗等场景发挥更大作用。

4.4 物联网(IoT)数据分享

物联网环境下,大量前端设备(传感器、摄像头等)持续产生数据,这些数据可能需要分享给不同的边缘/云应用或其他设备。但IoT设备算力和带宽有限,难以支持繁重的加密操作。代理重加密能够帮助实现轻量级的数据分享:设备先用自己的公钥对数据加密上传至边缘节点或云端,后续若需将数据提供给第三方服务,边缘节点充当代理,使用事先获取的重加密密钥将密文转换给目标服务商的公钥。这样IoT设备只需初始加密一次,无需每次分享都重新加密,降低了能源消耗和通信开销。举例来说,一个智能家居摄像头拍摄的视频加密存储在家庭网关上,当用户授权一个基于云的安防AI分析服务时,只需向网关下发 ,网关将历史视频密文转换为AI服务的公钥密文,供其解密分析;摄像头本身无感知整个过程,既保证了数据安全又实现了功能扩展。同样,在车联网中,车辆上传的加密行驶数据可以通过RSU路侧单元代理,按需重加密给交通管理部门或保险公司。此外,PRE还能配合边缘计算实现数据的隐私处理:研究者提出“预加密的边缘聚合”方案,传感器数据先加密上传,边缘节点利用代理重加密将多源密文转换为同一分析节点可解密的形式,并可在云端对转换后的密文进行同态聚合。整个过程中,各数据提供方彼此数据隔离,但云端仍能对汇总结果进行有用计算。这种技术在智能电网、环境监测等需要隐私汇总统计的场景表现出色。可以说,在物联网领域,代理重加密扮演了“安全数据网关”的角色,将设备、边缘和云连接起来,实现数据可控共享按策略流转,为物联网应用提供了重要的安全支撑。

5. 近期研究进展与未来挑战

近年来,代理重加密技术在理论和应用两方面都取得了显著进展,同时也面临新的挑战和机遇。

5.1 后量子安全的PRE方案

随着量子计算威胁日益逼近,传统基于整数分解和离散对数假设的密码方案可能在未来被攻破。为确保代理重加密在后量子时代依然安全,研究人员积极探索量子安全的PRE方案。基于格的方案是目前的主要方向,如前文提到的基于LWE假设的各种PRE构造。过去五年人们提出多个后量子PRE方案:例如 Li等(2020-2021)的一系列工作构建了格上的同态代理重加密,实现强安全性的同时抗量子攻击;Weng等(2023)提出了自主路径可控的代理重加密,基于LWE在标准模型下证明安全。还有学者研究基于编码难题的PRE和基于多变量多项式的PRE,以拓宽后量子基础。但与传统方案相比,这些后量子PRE普遍存在效率瓶颈:密钥长度和密文大小较大,计算耗时较长。在未来一段时间,权衡安全性和性能仍是后量子PRE的主要挑战。一方面,需要结合更高效的格基算法(如NTRU变种)来优化实现;另一方面,可以考虑混合架构,即在量子易攻部分引入额外假设保护。例如,有提案利用后量子安全的密钥交换先协商一个对称密钥,再进行对称重加密,从而减小公钥操作的频度。总之,如何设计高效实用的后量子代理重加密是迫切课题。在NIST推进后量子密码标准化的大背景下,我们有理由相信未来会出现标准化的后量子PRE算法,以满足政府、金融等对长远安全要求高的领域需求。

5.2 细粒度访问控制与条件代理重加密

现代应用常要求对数据共享实施精细的访问控制:不仅要限定谁能看,还要限定看哪些部分、何时看、满足什么条件才能看等。为此,学术界提出了多种细粒度代理重加密的扩展方案。例如,条件代理重加密为重加密密钥附加一个条件,只有当密文满足该条件时代理才能执行转换,否则转换无效。条件可以是关键字、时间、使用次数等。典型的如 AB-PRE(属性基代理重加密),委托者可指定只有具备某些属性的接收者才能成功解密转换后的密文。Chu等人早在2009年就提出了带条件的交互式PRE概念,近年Lai等人将其拓展为非交互形式,使系统实用性大大提升。此外,时间释放代理重加密也是热门方向,即重加密密钥仅在特定时间段内有效,过期自动失效。Liu Qin等人(2014)提出了首个基于时间的PRE方案,通过在密文和重加密密钥中引入时间戳,代理仅能转换那些属于当前时段的密文。最新的研究甚至将区块链的智能合约引入,构建跨域访问控制:通过智能合约验证访问策略,满足条件时才向代理释放重加密密钥,从而实现策略与密钥的解耦,提高系统灵活性和安全性。在细粒度方向,还有关键字检索代理重加密(PRE with Keyword Search)等创新,将可搜索加密和PRE结合,使代理能在不知道明文的情况下根据关键字匹配执行重加密。总体而言,细粒度PRE满足了“按需共享”的需求,但也带来了新的挑战:一是安全模型更加复杂,需要证明在策略选择权在攻击者手中时方案仍安全;二是性能会有所下降,因为附加的条件检查或属性验证增加了计算量。未来的研究会侧重统一的框架,使各种细粒度功能模块化地叠加在PRE上,同时保持可证明安全性和尽量优化的效率。一些工作正致力于构建动态渗透安全的细粒度多跳PRE安全模型,以指导这方面方案设计。可以预见,随着应用对共享控制要求的提高,可策略定制的代理重加密将会越来越实用。

5.3 可审计性与可追溯代理重加密

在数据监管严格的领域,操作可审计是数据共享系统的重要需求。一方面,希望能够记录每一次重加密行为,包括谁在何时将何数据授予给了谁;另一方面,希望在发生违规泄露时,能够追溯责任主体。传统PRE仅关注机密性,对审计支持不多。近年兴起的区块链技术为审计提供了理想工具,将PRE与区块链结合可以实现天然审计日志。如前文所述,利用智能合约可以把重加密授权、执行过程和结果全部记录在链,这本身就是一种可审计性。但是链上公开记录也带来隐私暴露风险,为此有人提出零知识证明配合PRE:在不泄露明文和密钥的前提下,让代理对每次重加密行为生成一个零知识证明,上链存证以供审计。这种方案能够证明“密文 由代理根据 成功转换得到 ”这一事实,而不泄露明文和密钥细节。一旦发生纠纷,审计方可验证这些证明,确认哪些数据共享行为是经过授权的,从而界定责任。另一个方向是代理可追责(Accountable Proxy):代理在每次转换时对产出的密文进行签名,万一密文泄露或者转换错误,可以通过签名追查是哪一个代理节点处理的。这在多代理网络中尤为重要。目前还有一种“水印式”方法,在重加密时对密文做可识别的标记,仅审计者有密钥提取这个标记,以识别密文是否经过代理转换以及转换链路。当然,这需要确保标记本身不影响安全性和隐私。可审计PRE在数据交易市场医疗数据共享等领域很受关注:监管者希望确保数据仅按授权路径传播,并能审核记录。Huang等(2020)构建了一个支持匿名可追踪的云数据共享方案,结合区块链记录和群签名技术,实现了即使数据接收方是匿名的,仍可由授权机构追踪其身份。未来,可审计性预期会成为PRE方案的一项标准附加功能,尤其在企业级和政府级的数据共享平台上。在实现层面,需要平衡审计信息的完备性和系统性能,以及审计过程对用户隐私的影响(比如需要避免审计记录本身泄露敏感关联)。这些都会是后续研究需要考虑的问题。

5.4 多用户协作与新型应用

随着协同计算和共享经济的发展,许多场景涉及多用户、多方协作的数据共享,给PRE提出了新的需求和挑战。其中之一是门限和多代理协作。单一代理模型下,代理若失信可能滥用重加密密钥为未授权方转换密文。为降低这种风险,学者提出了门限代理重加密(TPRE):将重加密服务由多个独立的代理节点共同承担,只有当至少 个(如大多数)代理参与时才能成功重加密。这样攻击者必须同时攻破多个节点才可获取明文或擅自转换,系统的容错性和抗泄密性大大增强。一篇研究将TPRE用于分布式存储,设计了一个去中心网络中多个节点共同执行重加密的协议,可抵御单点故障和少数节点作恶。该方案也支持对不同代理节点赋予不同优先级,实现灵活的代理路径控制。另一个方向是广播式和多接收者PRE。传统PRE一次转换针对单个接收者,而在某些应用中需要一次发布给一组用户。Broadcast PRE要求代理能将一个密文同时转换成适合多个不同公钥解密的形式。有研究尝试将PRE与广播加密融合,Chu等人提出了IB-BPRE(Identity-Based Broadcast PRE),能够将密文重加密为 个接收者各自的身份下的密文,效率较逐个转换有提升。类似地,多方安全计算中也需要一对多、多对一甚至多对多的转换,比如多个数据源想把各自密文转换给一个数据汇聚方解密。这可以通过多源代理重加密来实现:设计特殊的重加密密钥结构,使代理接受到多份密文和对应密钥片段时,输出一个目标密文给汇聚方解密。最近还有结合PRE实现联邦学习模型更新聚合的工作,用户本地梯度用自己的公钥加密上传,服务器作为代理将其全部转换成全局模型密钥下的密文,然后同态求和,最后由服务器解密得到更新的模型参数。这既确保了各用户梯度的隐私,又实现了多用户协同训练的目标。此外,PRE的应用领域还在不断拓展:例如在边缘分享经济中,用PRE保障不同企业边缘节点之间的数据共享;在数字版权领域,利用PRE实现数字内容转授权(如电影票转赠)而无需明文曝光;在车联网中,PRE协助不同汽车和路侧单元安全交换敏感信息等等。这些新应用往往对PRE提出定制化需求,需要与其它密码技术(如秘密共享、多方计算、可信执行环境)结合来实现。总体而言,代理重加密正从单纯的加密转换工具逐步演变为协同隐私计算的基础设施,如何在多参与方、多权限的复杂环境下保持高效、安全、灵活,是未来研究的重要方向。

6. 主流方案的对比分析

为了更直观地了解各种代理重加密方案的性能、安全性和功能特点,下面对具有代表性的几类方案进行比较(见表1)。这些方案涵盖了从早期经典到近期前沿的不同类型。

表1 典型代理重加密方案的特性对比

方案

方向性质

安全强度

性能开销

功能支持

BBS98

双向,多跳;不抗合谋

CPA安全(离散对数假设)

计算高效(基于ElGamal,无双线性对);密钥和密文尺寸较小

不支持细粒度控制;一次授权可无限传递

AFGH05

单向,单跳;抗合谋

CPA安全(双线性对假设)

配对运算开销中等;密文含两个群元

支持“主密钥安全”,防止委托者私钥泄露;不支持多跳

CH07

双向,多跳;抗合谋

CCA安全(随机预言机模型)

在原方案基础上增加验证开销;密文长度增加常数项

首个定义PRE-CCA安全模型;支持密文无限次重加密

LV08

单向,多跳;抗合谋

CCA安全(标准模型)

依赖复杂配对运算,效率较低;密钥包含多组群元素

首个单向CCA安全方案;支持非交互临时授权(附加有效期参数)

Li+2021

单向,多跳;抗强合谋

CPA安全(LWE假设,抗量子)

密钥为大维矩阵,密文向量长度长,存储和计算开销大

后量子安全;具备同态转换能力,可对密文执行有限计算;支持任意次重加密

上述不同方案各有侧重:早期BBS98方案性能极佳但安全性弱;AFGH05等方案引入单向特性后提高了安全,但牺牲了多跳能力;后来的Libert等方案进一步增强安全性(达到CCA),代价是较高的计算复杂度。最新基于格的方案实现了量子安全和功能改进,但在性能上仍需优化。根据具体应用需求,设计者需要在性能安全功能之间取得平衡。例如,对于区块链这样的开放环境,高安全性(CCA、抗量子)和多跳传递可能更重要,而在资源受限的IoT设备上,则可能优先选择计算更轻量的方案。总的来说,代理重加密技术已经从最初的理论构想发展出丰富的方案体系,能够满足多样化的应用需求。

7. 总结

代理重加密作为实现加密数据灵活共享的技术,在过去二十多年中获得了深入研究和长足进步。从基本概念和分类来看,单向非交互式方案逐渐成为主流,多跳传递性和细粒度控制则是持续攻关的热点方向;从加密构造上,经典的双线性对方案依然在许多系统中发挥作用,同时后量子格方案的兴起为PRE未来的发展提供了保障;安全性分析方面,研究者已经建立了完善的模型,涵盖CPA/CCA安全、匿名性、抗合谋和密钥泄露等方方面面;应用层面,PRE已成功应用于云存储、区块链、医疗、物联网等领域,并展现出极大的灵活性和扩展性。

展望未来,随着量子计算、数据法规和协同计算的发展,代理重加密仍将面临新的挑战,例如如何在后量子环境下兼顾效率,如何实现更复杂的策略控制和可审计功能,如何与其它密码技术融合以服务于隐私计算等。这些都为学术界和工业界提供了广阔的研究空间和创新机会。可以预见,代理重加密将在未来的数据安全共享框架中扮演更加不可或缺的角色。我们有理由相信,通过不断的研究与实践,PRE技术将更加成熟完善,为构建安全、可信、可控的数据共享生态打下坚实基础。

声明:本文来自密码头条,版权归作者所有。文章内容仅代表作者独立观点,不代表安全内参立场,转载目的在于传递更多信息。如有侵权,请联系 anquanneican@163.com。