具有可追踪身份的匿名基于身份的加密
Olivier Blazy 利摩日大学,XLim利摩日, 法国
Laura Brouilhet 利摩日大学,XLim利摩日, 法国
Duong Hieu Phan 利摩日大学, XLim利摩日,法国
我们提出了具有可追踪身份的匿名基于身份的加密,在其中为匿名的基于身份的加密方案提供了一项新功能:在必要情况下(例如当某些接收者涉嫌犯罪时)解除对特定接收者的匿名性。我们的原语允许追踪者在获得与某一身份相关联的追踪密钥后,筛选出所有发送给该特定身份的密文(且仅筛选这些密文)。由于保护守法用户的隐私至关重要,因此安全性考虑了追踪者与被腐蚀用户之间的共谋情况。
我们首先从博延·沃特斯基于身份的加密(IBE)方案开始,然后进一步扩展到Blazy等人提出基于哈希证明系统的IBKEM类别et.al[4]。通过加强仿射消息认证码(MAC)的概念,我们表明这些身份加密方案可以转换为AIBET。有趣的是,我们的转换并未削弱原始方案的安全性:即使对手被允许访问一些额外的预言机,因为我们增加了一项新功能,但其安全性仍然依赖于相同的底层安全假设,并且效率几乎保持不变,仅增加了少量额外密钥,而封装/解封装过程保持不变。
1 引言
基于身份的加密(IBE)由Shamir在1984[16]中提出,提供了一种允许发送方使用接收方的身份作为公钥来加密消息的方法。一个实际的例子是电子邮件地址,它易于记忆,并且几乎不存在可用于预嵌入密码学密钥的熵。
解密由与用户身份id相关联的密钥完成,通常称为 usk[id],该密钥由受信任机构利用主密钥生成。
2001年,Boneh和Franklin[5]以及Cocks[10]提出了最早的基于身份的加密(IBE)方案。这些优雅的方案依赖于随机预言模型。四年后,Waters提出了标准模型下的首个自适应安全构造[17],其中自适应安全性意味着对手在看到公钥以及任意多个由其选择的身份的用户私钥后,仍可选择挑战身份id∗。自此以后,陆续提出了多项改进方案,最终由陈和魏在[9]中实现了标准模型下的首个紧致的基于身份的加密方案。
隐私
隐私在现实世界的应用中是一个主要关注点。Bellare等在[3]中定义了公钥环境下的密钥隐私概念。随后,该概念被扩展到基于身份的环境中的匿名性。尽管在随机预言模型下,Boneh和Franklin[5]提出的首个方案是匿名的,但在标准模型下实现匿名的基于身份的加密一直是一个具有挑战性的问题,直到[8]才得以解决。
可追溯性
旨在兼顾隐私与公共安全。从用户的角度来看,无条件隐私似乎非常具有吸引力。然而,如果在发现非法行为时无法撤销此类隐私,则它可能会成为危害公共安全的危险工具。可追溯性可以起到平衡作用:能够在密文中识别出特定身份(对应于系统中涉嫌犯罪或不诚实的用户),而其他所有用户仍保持匿名。
Kiayias et.al.针对群签名提出了可追溯签名[15]的概念,他们考虑了当某个群成员涉嫌非法活动时,可追溯性允许人们检查某个签名是否由特定用户签发,同时不损害合法成员的隐私。我们将可追溯性应用于基于身份的加密,能够通过与该身份相关联的追踪密钥,在密文中检测到特定身份。我们区分了追踪者和权威机构的角色。在某些电子邮件系统中,追踪者可能是网关,用于检查是否有发往涉嫌非法用户邮箱的邮件被传递。在所有这些示例中,为了诚实成员的隐私,至关重要的是确保即使追踪者被攻破,旁观者的隐私以及明文的机密性仍然得到保障。
实际动机
我们还可以给出一些实际应用场景,其中追踪密钥并不一定与“不良”行为者相关联。有时,我们可以在特定条件下主动泄露具有特定身份的追踪密钥,以实现更好的系统监控工具。为了说明这一点,我们以军队中的一个服务为例。每位员工都必须处理敏感数据,并将结果发送给其主管。然而,员工之间被禁止相互交换信息。因此,通过我们的方案,权威机构能够指定特定的监控员(充当追踪者角色),负责监控信息是否确实发送给了授权的接收者,同时这些监控员无法解密所发送的内容。
撤销是基于身份的解决方案中的一个主要问题。我们的工具提供了一种新的禁止用户的方法。与其撤销其用户密钥(这实际上无法高效完成),我们可以设想一个网关,该网关只需丢弃与给定追踪密钥匹配的所有密文C,而无需了解所交换的消息内容或诚实的接收者。
相关概念
在[13]中,Goyal提出了一种新的IBE概念,使管理机构具有可问责性。该论文的部分内容将这一概念称为可追踪的IBE,因为用户可以追踪用户私钥,以确定管理机构是否如预期那样以不同方式生成了这些密钥。这一术语随后在2008年由Au et.al.[2]以及[14]出于相同原因再次使用。然而,在这些方案中,并没有任何与追踪身份相关的概念,它们本质上仍只是可问责的工具。
我们的方法
我们提出了两种不同的构造,分别基于博延‐沃特斯方案[7]和Blazy等的方案[4]。
我们构造中的共同点是利用封装中嵌入式身份的隐含关系。我们注意到,如果身份未参与封装过程,则无法提供可追溯性。例如,我们无法将大多数基于随机预言模型的IBE无缝转换为AIBET,因为在这些协议中,封装部分与身份无关。
我们添加了一个名为TSKG的新算法,该算法以身份 id和主私钥msk作为输入,输出追踪密钥tsk[id]。该密钥在结构上接近用户密钥usk,但缺少部分秘密密钥,因此比完整的usk“更弱”,并防止解封装。在我们的方案中,我们证明了它们在相同假设下满足新的安全性实验,且具有相似的安全损失。
2 定义
矩阵表示法
如果A ∈ Z(k+1)×n q是一个矩阵,那么A ∈Zk×n q 表示矩阵A的上部矩阵,而A ∈ Z1×n q表示A的最后一行。
我们使用在[11]中引入的群元素的隐式表示。对于s ∈{1, 2,T}和a ∈ Zq,定义[a]s= дsa ∈Gs为a在 Gs中的隐式表示。
对于a,b ∈ Zk q定义e([a]1,[b]2):=[a⊤b]T ∈ GT。
假设
我们回顾一下矩阵Diffie‐Hellman(MDDH)假设[11]的定义。
定义2.1(矩阵分布) 令k ∈ N。我们称Dk为一个矩阵分布,如果它在多项式时间内输出 Z(k+1)×k q中秩为k的满秩矩阵。
不失一般性,我们假设k行的A $ ← Dk构成一个可逆矩阵。Dk‐MDDH问题是要区分两个分布 ([A],[Aw]) 和 ([A],[u]),其中A $ ← Dk,w $ ← Zk q 且 u $ ← Zk+1 q 。
定义2.2(Dk-矩阵Diffie-Hellman假设) 设Dk为一个矩阵分布,且s ∈{1, 2,T}。我们称相对于群 Gs中的 ggen,Dk‐矩阵Diffie‐Hellman(Dk‐MDDH)假设成立,当且仅当对于所有PPT攻击者D,以下差值是可忽略的。
| Pr[D(G,[A]s,[Aw]s)= 1] − Pr[D(G,[A]s,[u]s)= 1]|
其中概率取自 G $ ← ggen(1λ),A $ ←Dk,w $ ← Zk q,u $ ← Zk+1 q 。
3 引入可验证匿名性
我们现在提出我们的概念,旨在允许设计这样的协议:子权威机构可以追踪某个封装是否是为特定个人指定的。
3.1 直观理解
在图1中,我们展示了现有基于身份的密钥封装机制的一种朴素视图。
换句话说,封装做了两件事:一方面生成“胶囊” C,另一方面利用随机性生成关联的密钥K。
一些基于随机预言机模型的[5, 6, 12]协议具有一个有趣的特性,即Enc 1 的输入为(mpk, ∅),因此胶囊与目标身份无关。这类协议具有事实上的匿名性,因为胶囊不依赖于身份,但这也意味着无法构建用于检验身份的陷门。
为了实现我们的目标,这意味着id应在Enc 1 中使用。观察经典标准模型协议,我们可以看到,在这些情况下,Enc 2(mpk,id, ρ) 通常会简单地简化为 Enc 2( mpk, ∅, ρ),如图2所示。
| Gen(K): 返回(主公钥mpk, 主私钥msk) | USKG(msk, id):返回身份集合]的用户私钥[ | Enc(mpk, id) • Enc1(主公钥, 身份集合): 返回 密文C, ρ |
|---|---|---|
| • Enc2(主公钥, 身份集合, ρ): 返回 密钥K | 返回密钥K = K和C。 | Dec(usk[id], id,密文C): 返回密钥K。 |
Gen(K):
返回(主公钥mpk, 主私钥msk)
USKG(msk, id):
返回 usk[id]。
TSKG(msk, id′):
返回 tsk[id′]。
Enc(mpk, id):
• Enc1(mpk, id):返回 C
• Enc2(mpk, ∅, ρ):返回 K
返回 K = K和C。
Dec(usk[id], id,密文C):
K ? =e(usk[id],C) 返回 密钥K。
TVerify(tsk[id], id,密文C):
1 ? = e(密文C, tsk[id′]) 返回 {0, 1}。
3.2 定义
AIBET 由以下 6 个算法定义:
- Gen(K) :生成主公钥/主私钥 mpk/msk。
- USKGen(msk,id) :给定一个身份和主私钥,生成用户私钥 usk[id]。
- TSKGen(主密钥, id) :给定一个身份和主私钥,生成用户追踪密钥 tsk[id]。
- Enc(K, id) :对给定的身份id生成一个封装K,并返回胶囊密文C。
- Dec(usk[id], id,密文C) :使用用户私钥,返回密钥K。
- TVerify(tsk[id], id,密文C) :使用追踪密钥,检查胶囊C是否针对身份id进行加密。
正确性得到增强,我们要求对于所有k ∈N,由Gen(K)生成的所有(mpk, msk)对,所有身份id ∈ID,以及由 USKG(msk, id)生成的所有usk[id], tsk[id],与原始IBKEM定义相比,前面带有 ⊕ 的算法是新增的。
TSKGen(主密钥, id) 和 Encrypt(mpk, id) 输出的所有 (K,C): Pr[Dec(usk[id],id,C) =K∧TVerify(tsk[id],id, C) = 1]= 1。
3.3 安全实验
我们期望其安全性具有双重性:
- 匿名性 :对于给定的胶囊密文C,任何不拥有相关用户密钥或追踪密钥的个体均不应能够推测出目标身份(图3)。
- 不可区分性 :给定一个胶囊密文C,没有相关用户私钥的个体不应能够判断给定的密钥K是否为有效密钥。在此实验中,对手可以访问追踪密钥(图4)。
需要注意的是,追踪密钥查询在匿名性游戏中被记录,而在不可区分性游戏中则不被记录。换句话说,在匿名性游戏中,如果对手对挑战身份发起追踪密钥查询,则视为其失败;而在不可区分性游戏中,允许对手进行此类查询。
4 热身:使用博延‐沃特斯
作为第一个示例,我们从一个经典构造开始,并展示如何对其进行调整以增加可追溯性。有趣的是,我们不需要改变现有的密文构造,这只是一种额外功能,可以直接集成到现有实现中。
我们强调,从技术上讲,博延‐沃特斯具有选择性安全,因此我们的示例最终仅具有选择性安全。在安全实验中,对手必须事先选择他将攻击的身份集合。
4.1 构造
在图5中,我们展示了对Boyen‐Waters IBE的改进,以增加可验证身份功能,我们使用 ⊕来突出新算法。
可以看出,构造的核心部分没有变化,因此它在事实上与现有实现兼容。
定理4.1. 设 G 为一个双线性群。假设在 G 中 (t, ϵ)-判定BDH 成立。不存在运行时间为 t 的对手能够以大于 ϵ 的优势区分两个密文。
定理4.2. 假设在 G 中 (t,ϵ)-决策线性假设成立。不存在运行时间为 t 的对手能够以大于 ϵ 的优势区分两个身份。
新算法与初始算法非常接近,并直接继承了其特性。
5 重新审视仿射消息认证码
在[4]中,作者提出了一种几乎紧致的匿名仿射 IBKEM。在本节中,我们重新审视了他们的构造,以实现一种身份可追溯的紧致安全匿名IBKEM。
5.1 仿射消息认证码
定义5.1。 设K为包含素数阶群G =(G2, q, д2)的系统参数,且设n ∈ N。我们称MAC =(GenMAC, Tag, Ver)在 Zn×n′ q上是仿射的,如果满足以下条件:
(1) 生成算法MAC(K) 返回包含 (B, x0,…, xℓ, x′) 的 skMAC,其中 B ∈ Zn×n′ q, xi ∈ Zn q, x′ ∈ Zq,对应某些 n′, l ∈ N。
(2) Tag(skMAC, m ∈密文Cl) 返回一个 Tag τ=([t]2,[u]2) ∈ Gn2 × G2,对应某个公开函数 fi: M → Zq:
t= Bs ∈ Zn q for s $ ← Zn′ q, u= ∑li=0 fi(m)x⊤i t+ x′ ∈ Zq
(3) Ver(密钥KMAC, m,τ=([t]2 ,[u]2)) 验证上述等式是否成立。
5.2 强化仿射MAC
先前的性质足以在[4]中构建安全的匿名基于身份的加密,但它无法用于实现允许追踪身份的黑盒转换。我们需要能够处理部分标签的查询。
PTag(skMAC, m ∈Bl ) 返回一个部分标签τ=([t]2 ,[u]2) ∈Gn2 × G2 ,其计算方式如下:
t= Bs ∈ Zn q for s $ ← Zn′ q, u= ∑li=0 fi(m)x⊤i t ∈ Zq
在图6中,我们强调PEval查询会将被查询的标签添加到禁止挑战集合中,而图7则没有这种情况,这对于正确隐藏[h0]1 至关重要。在图7中,我们处理了对手对挑战的部分标签进行查询的情况。
5.3 实例化加强型仿射消息认证码
接下来,我们将基于哈希证明系统实例化仿射消息认证码,并展示它们符合新的安全性属性。我们回顾一下基于HPS的仿射消息认证码(图8),如[4]中所述。
定理5.2 MACHPS在Dk-MDDH假设下是RPR-CMA0-安全的。特别地,对于所有对手A,存在一个对手D,使得 TIME(A) ≈ TIME(D)且Advrpr-cma0 MACHPS(A) ≤ 2Q(AdvDk , ggen(D)+ 1/q),其中 Q 是对Eval(·)和PEval(·)查询的总次数。
证明。 我们通过定义一系列中间游戏(图9)来证明定理5.2。设A为针对MACHPS的RPR‐CMA0安全性的对手。游戏G0是真实攻击游戏。在游戏G1, i中,对 Eval、PEval预言机的前i − 1次查询以 Gk+1 1 × G1中的均匀值作为答案,其余查询则按真实方案回答。为了在G1, i和G1, i+1之间进行插值,我们还定义了G′1, i,该游戏中对其中一个预言机的第i次查询通过选取一个随机的t $ ← Zk+1 q 来回答。根据定义,我们有G0 = G1,1。
引理5.3. Pr[RPR-CMA0 realA ⇒ 1]= Pr[GA0 ⇒ 1]=Pr[GA1,1 ⇒ 1].
引理5.4。 存在一个对手 B,满足 TIME(B) ≈ TIME(A) 且 AdvDk,ggen(B) ≥ |Pr[G′A1,i ⇒ 1] − Pr[GA1,i ⇒ 1]|。
引理5.5。 |Pr[GA1,i+1 ⇒ 1] − Pr[G′A1,i ⇒ 1]| ≤ 1/q.
引理5.6. Pr[GA2 ⇒ 1]= Pr[GA1,Q+1 ⇒ 1].
引理5.7。 存在一个对手 B,满足 TIME(B) ≈TIME(A) 且 Q(AdvDk,ggen(B)+1/q) ≥ | Pr[RPR−CMA0 randA⇒1] − Pr[GA2 ⇒定理1]5|.2通过结合引理5.3‐5.7得出。 □
定理5.8. MACHPS 在 Dk-MDDH 假设下是 RPR-CMA1-安全的。特别地,对于所有对手 A,存在一个对手 D,满足 TIME(A) ≈ TIME(D) 且 Advrpr-cma1 MACHPS(A) ≤ 2QP(QE+QP) (AdvDk,ggen(D)+1/q),其中 QE 是对 Eval(·) 的查询次数,QP 是对 PEval(·) 的查询次数。
证明。 其思路与之前的游戏非常相似。只是现在我们需要能够对 PEval(m∗) 查询提供一个有意义的答案。直观上,必须猜测哪一个 PEval 查询是正确的,因此多了QP因子。对于该查询,应提供真实答案s $ ← Zk q,t= Bs, u=(x0⊤+ ∑|m|=1 jmj · xj⊤)t。目前,此答案以及其他模拟过程均未使用值x′,因此仍然可以完全随机化h1= x′0h。对于所有其他查询,则按之前的方式进行。
如果正确猜测了挑战 m∗,那么h0将与给定的答案一致,而我们可以完全随机化h1。由此,可以轻松地调整引理5.3‐5.7以得出结论。 □
6 从强化MAC构造AIBET
我们现在提出一种通用方法(图10),用于从任何满足前述性质的仿射MAC构造具有可追踪身份的匿名IBKEM。
该方案是安全的,其安全性基于底层MAC的安全性。这些证明详见附录A。
7 效率
我们使用charm库实例化了所提出的协议。需要注意的是,charm是一个Python库,基于pbc构建,尽管尚未优化,但它仍展示了该方案可能具备的实际可行性。
我们选择了具有512位安全强度的曲线作为参考。可以看出,结果符合预期:追踪密钥生成的时间开销大致相当于用户密钥生成,而追踪过程比完全解密略为高效(尽管追踪机构需要处理多条消息,但其可用资源也比普通用户更多)。总体而言,在假设方案在 k‐MDDH下安全的前提下,HPS的运行时间随k线性增长。
在表11中,我们展示了我们的方案实现的平均执行时间(毫秒)。
平均而言,一家拥有1000名员工的公司每天收到90,000封邮件,即大约每秒 1封邮件,因此20毫秒的处理时间足以确保过滤不会导致未处理邮件积压。
| USKG | TSKG | Enc | Dec | TVerify | |
|---|---|---|---|---|---|
| Tr.BW | 18.08 | 15.45 | 13.96 | 4.7 | 4.02 |
| Tr.HPS (k=1) | 25.3 | 25.18 | 17.26 | 16.55 | 16.31 |
| Tr.HPS (k=2) | 31.2 | 30.93 | 25.12 | 23.41 | 22.98 |
图11:1000次执行的运行时间(毫秒)
8 结论
我们提出了在标准模型下基于博延‐沃特斯和布拉齐‐基尔茨‐潘IBE方案的两种AIBET构造。我们提出的方案与底层的身份加密方案具有相同的效率。一个开放性问题是如何构建具有更具表达力的追踪密钥的AIBET方案,以实现同时追踪一组用户。
13

被折叠的 条评论
为什么被折叠?



