基于代理重加密的物联网设备安全
摘要
物联网(IoT)最近似乎已引起广泛关注,受到私营和公共部门的高度重视。物联网是一种通过用户周围所有物体之间的连接实现数据交换的技术,能够创造新的服务。物体间的数据通信不仅限于个人信息,还可以传输来自周围环境收集的感知信息等不同类型的数据。当此类数据被攻击者恶意收集和使用时,其面临的威胁比传统网络环境更加严重。因此,确保物联网环境中所有传输数据的安全对于防范攻击至关重要。然而,在轻量级设备上应用传统的加密算法存在困难。为此,我们提出了一种在各种情况下利用传统加密算法在轻量级设备上进行数据共享与管理的方法。该方法通过实现代理重加密来减少加密次数以管理数据,并提供数据共享功能,以弥补轻量级设备网络容量的不足。
Keywords 物联网 · 轻量级设备 · 代理重加密 · 数据共享
1 引言
物联网(IoT)是指一个可以从所有连接设备中收集、处理和修改信息以提供新服务的网络。物联网可以以多种方式使用,网络通信期间传输的数据可以有多种形式,从个人数据到从环境中收集的感知信息。如果攻击者收集此类数据并恶意使用,那么在物联网中自然会产生比现有环境更大的安全威胁。被动攻击,例如通过冰箱或智能电视发送垃圾信息,可能会导致这些设备受损,而更积极的攻击甚至可能威胁用户的生命;例如,通过入侵车辆通信系统或医疗设备。此外,在物联网平台上收集的用户数据可能导致隐私侵犯;例如,利用智能电表进行用电模式分析可能暴露一个人的生活方式。尽管用户可以通过数据收集享受定制服务带来的好处,但有些人可能不希望将自己的个人数据暴露给服务提供商。考虑到上述因素,物联网环境中的数据传输安全对于管理多种形式的个人数据以及避免由安全威胁造成的损害至关重要。
然而,现有的安全系统可能无法应用于物联网环境中的设备。这是因为实现现有加密算法的安全解决方案难以在小型化、轻量级设备上使用,且随着由无数节点组成的复杂网络结构,入侵路径正变得越来越多样化。
因此,我们提出了一种方法,可在由多个轻量级设备组成的环境中,利用现有的加密算法实现数据共享与管理。在本研究中,通过减少每个设备的加密和解密次数,并采用代理重加密方案来管理数据。此外,代理重加密还提供了一种数据共享功能,使系统能够充分利用网络设备有限的数据存储容量。
此外,我们通过应用基于属性的加密并考虑不可信数据存储,提出了一种安全且高效的数据共享方法。
2 相关工作
人们已研究了各种加密技术,以保护存储在云服务器上的用户数据免受不可信管理员或攻击者的侵害。然而,现有数据加密技术的一个缺点是,它们难以直接应用于云存储中多个用户之间的数据共享服务。为解决此问题,可通过最基本的方案来管理数据,即对存储的数据进行加密。然而,现有的简单加密方案在云环境中存储数据的访问管理方面存在诸多问题。例如,可能有大量用户希望同时访问云服务器中的数据,或需要实现多种功能,包括根据用户等级实施的访问控制。现有的公钥或基于对称密钥的加密方案均无法解决密钥管理问题,也无法满足访问控制需求。
2.1 Apache Hadoop分布式文件系统
Hadoop分布式文件系统(HDFS)与现有的分布式文件系统非常相似,并且旨在现有硬件上运行。然而,它在多个方面有所不同,例如其高效的故障恢复功能,以及专为适用于低价硬件而设计的特点。HDFS最常被用于各种IT公司的云计算平台,如亚马逊的EC2和雅虎。
HDFS设计和实现的细节与谷歌文件系统(GFS)几乎相同,尽管HDFS在使用Java方面具有优势,因此在不同平台之间表现出卓越的可移植性。Java语言的高可移植性使HDFS能够在支持Java的多种服务器上运行,从而为其提供了优势。
2.2 基于属性的加密
为了解决现有加密方案存在的问题,近年来人们积极研究适用于分布式存储服务器的方法。作为一个典型的研究实例,Sahai和Brent(2005)提出了基于属性的加密(ABE),它是基于身份的加密(IBE)概念的一种扩展形式。基于身份的加密方法最早由Shamir(1984)提出,旨在解决公钥加密中的证书问题。
ABE基于基于身份的加密方法,并通过使用属性而非用户ID。用户属性可以由多个方面组成;例如,只有当隶属关系属性的属性值为计算机科学系且职位属性的属性值为教授时,才能解密数据。
ABE 是一种基于解密密钥和分配给加密数据的属性或访问策略来控制对加密数据访问的技术。ABE 的类型包括密文策略属性加密(CP‐ABE 或 ciphertext‐policy ABE),该技术在文档加密时确定访问结构;以及密钥策略属性加密(KP‐ABE 或 key‐policy ABE),该技术在用户密钥生成时确定访问结构。
2.3 云环境中数据共享的先前研究
Thatikayala 等人(2014)讨论了在云服务器存储个人健康记录(PHRs)时可能出现的问题。为应对该问题,在将PHRs加密并存储到服务器的过程中采用了基于属性的加密。在此方案中,允许多个加密数据所有者引用相同的数据值。此外,支持高效的用户属性添加和删除。该系统还通过基于属性的加密实现了在云计算环境下的PHRs可扩展性和共享性。然而,在此方案中,需更新加密密钥以撤销用户的数据共享权限。这可能导致存储在云中的加密数据的重加密过程效率降低。
Liang 等人(2014)将代理重加密应用于 ABE,基于密文策略属性基代理重加密(CP‐ABPRE)。作者提出了一种方法,可在基于 ABE 加密的密文属性变更时,有效减少不可避免的加密过程次数。然而,该方法的缺点是在使用重加密密钥对密文进行重加密时,计算量增加,且所需的加密过程数量较多。
Kumar 等人(2015)定义了数据外包的安全要求,并描述了云环境中的数据共享考虑因素。存储的数据应防止未授权访问。需要保护数据和数据访问免受系统管理员(不可信管理员)的威胁。现有的访问控制机制和加解密方案在上述场景中并不充分。当考虑数据共享与协作时,现有的简单加密技术也不足够。为了在云环境中实现数据共享与协作,需要适当的密钥管理。云环境中的数据共享考虑因素:数据所有者应能够指定一个数据共享组。成员组成员应能够在无需数据所有者干预的情况下访问数据。除数据所有者和组成员之外的用户(包括云服务提供商)不应能够访问数据。数据所有者应能够取消组成员的数据访问权限(权限撤销)。数据所有者应能够向组中添加成员。组成员不应能够取消其他成员的权限或授权新增用户。
Li 等人(2015)认为,尽管可搜索加密为支持基于关键词的搜索提供了高效解决方案,但在数据共享过程中,授权用户之间可能会产生密钥共享问题。Li 等人随后提出了一种安全的数据共享单一结构,该结构能够在不共享密钥的情况下对加密数据Ea执行基于关键词的搜索。该结构为未授权用户访问共享数据提供了双层访问控制;即只有授权用户才能对密文CT进行基于关键词的搜索。
Marimuthu 等人(2014)讨论了云用户之间的群组资源共享问题。在不可信云网络中,动态的群组成员变更以及多用户之间的数据共享是重大挑战。本文提出了一种在云环境下动态群组中多用户之间的数据共享方案。在该方案中,我们结合使用了群签名和动态广播加密技术。存储开销和加密计算的成本与被撤销用户的数量无关。为解决这一问题,本研究中采用了一次性密码(OTP)。
2.4 代理重加密
代理重加密方案通过转换加密数据,使得原本使用用户A的私钥才能解密的数据,也可以使用用户B的私钥进行解密。代理不会将用户A的密文解密后再用用户B的公钥重新加密,而是直接将使用用户A的公钥加密的密文转换为使用用户B的公钥加密的密文。在此过程中,用户A生成重加密密钥并将其发送给代理(2005)(Ateniese et al. 2006; Blaze et al. 1998; Hui and Sherratt 2017; Ivanand Dodis 2003; Keegan et al. 2016; Maity and Park 2016)。
3 提议的方案
3.1 基于代理重加密的数据管理
在本研究中,我们提出了一种物联网网络环境,该环境中从数十个传感器节点收集和处理信息。在此环境中,每个节点通过与服务器(作为网关)通信,将信息共享给位于不同位置的节点。现有的公钥加密方案要求加密次数与节点数量(n)相对应。例如,如果分配了50个传感器节点,则每个节点在数据传输过程中必须加密50次。如果采用所提出的代理重加密方案,每个节点执行一次加密,生成n个重加密密钥,并将其发送至代理服务器。然后,服务器生成允许其他节点解密的密文,从而降低每个节点的加密计算负担(图1)。
提出的方法使用以下系统系数:
- p :素数
- G:阶为p的加法群
- q : 阶为p的加法群 的生成元
- e :双线性映射,G ×G → GT
- sk* :*的私钥
- pk* :*的公钥
1. 密钥生成
每个传感器节点生成并维护其密钥对,具体如下:
随机 x ∈ Zq
ska= x
pka= gx (= gsk a)
2. 数据加密
每个节点生成要传输的数据,如下所示:
随机数 r ∈ Zq
A= pka r
B = 双线性映射(g,g)ska⋅r
C = 双线性映射(g,H(pka)) r ⋅ m
E =(A, B, C)。
3. 重加密密钥生成
每个节点生成一个重加密密钥,以便与其他节点共享其数据。为了使节点 a 能够与节点 b 共享数据,需使用节点 a 的私钥和节点 b 的公钥生成重加密密钥,并将该重加密密钥与密文一起发送至代理服务器。
在所提出的场景中,每个节点为其自身以外的所有其他节点创建重加密密钥:
4. 重加密
代理服务器将从节点 a 接收到的A′替换为A,并利用重加密密钥、目标密文CT和公钥进行重加密,生成可由节点 b 解密的重加密密文。
5. 解密
节点 b 使用其私钥解密从 a 接收到的密文,步骤如下:
A= pkb r
rka→b=(A, pkb −sk a).
B= e(A, rk a→b)
= e(A, pkb −sk a)=e(A, g sk b∕ sk a) = e(g sk a ⋅r, g sk b∕ sk a)=e(g, g) sk b ⋅r
E=(A , B , C).
m= C∕e(A , H 2(pka)) −sk b
= e(g, H 2(pka)) r ⋅ m / e(A , H 2(pka)) −sk b
= e(g, H 2(pka )) r ⋅ m / e(pkb r , H 2 (pka )) − sk b
= e(g, H 2(pka )) r ⋅ m / e(g sk b ⋅r , H 2 (pka )) − sk b
= e(g, H 2 (pka )) r ⋅ m / e(g, H 2 (pka )) sk b ⋅ r ⋅− sk b
= m.
3.2 基于属性重加密的数据共享方案
本研究中使用的整体云计算环境基于Apache HDFS设计,提出的方法的基本概念基于CP‐ABE(基于属性的加密)。在某一组中满足特定属性的用户可以获得获取解密密钥的权限。在此方案中,用户可根据其权限等级获得数据的最终解密权利。当用户A希望与用户B共享数据时,如果双方具有相同的属性,则他们将拥有相同的解密权利;但如果他们的属性不同,则必须撤销另一方用户的权限。
在提出的数据共享方案中,无需撤销用户属性。
用户A基于用户B的属性公钥,使用自身的属性对可解密加密数据Ea的加密密钥进行重加密,并将该加密密钥传输给希望访问共享数据的用户B。因此,提出的方法消除了不必要的流程,从而提高了效率并实现了更安全的数据共享。
- n:参与者数量
- P : 参与者集合 Pi(1 ⩽ i ⩽ n)在秘密分发中
- q : 分数
- k : 秘密信息 ∈Zq
- K : 秘密信息集合 k
- sPi :秘密片段 ∈Zq
- SPi :秘密片段集合 sPi 由各个参与者持有的秘密片段集合Pi
- k :安全参数
- i :属性值
- L :属性集合
- ai, ̂ai, a ∗ i∈Z ∗ P:对应于属性 i
- W=[W1, W2,…, Wn] :访问结构
- r ∈Z p ∗ :随机值
- M:明文
1. 初始化
输入安全参数k,输出与该参数值对应的公钥PK 和主密钥MK。
1 ] =[ T ∈ 。G p,G,G ,g G,e 生成随机值w ∈Z∗P。
2. 选择与属性i对应的随机值ai, ̂ai, a∗ i ∈Z∗P,其中(1 ⩽ i ⩽ n)。
3. 计算Y =e(g, g) w以及A i =ga i, ̂Ai =gâ i, A ∗i =ga ∗i 。
4. 公钥PK为
,主密钥MK为< w,(ai, ̂ai, ̂a ∗ i。
2. 密钥生成
这是一个用于输入主密钥MK和属性集合L以输出对应于访问结构的密钥SKL的算法。
1. 输入属性集合 L = ⌊L1, L2,…,Ln⌋以生成密钥。
2. 随机选择 si ∈ ZP ∗ ,并计算 =∑n i=1si,D0= gw−s。
3 ∗] 4 i= 1 [ i i
计算 D ,D g si ̂ ai ,g si ai 。密钥为 SKL=< D0,(Di, Di ∗)1⩽i⩽n>。
3. 加密
该算法通过输入公钥PK、访问结构W以及明文 M,输出与明文对应的密文CT。
1. 加密访问结构W =[W1,W2,...., Wn]和明文M。
2. 计算随机值r ∈ Zp ∗ ,并̃C = MYr,C0= gr。
3. 计算满足以下条件的密文:Ci ∶Wi= 1,Ci=Ai r,Wi= 0,Ci= ̂Ari ,Wi=∗,Ci= Ai ∗r。
4. 密文为CT =< ̃ C, C0,(Ci)1⩽i⩽n>。
di= H(CT)
A =pkdi
B = e(g, g )SKL ⋅di
C = e(g, H(pk))di ⋅m
Ea=(A, B, C)。
6. 将 Ea存储在云存储中。
4. 重加密密钥生成
用户A使用与之共享数据的用户B的属性公钥,传递可解密数据的重加密密钥。
5. 解密
该算法通过输入恢复的密钥SKL和密文CT,输出对应的明文M。
1. 密文CT= C∕e(A,哈希函数H(pka)) skL.
2. 使用密文 CT=< ̃C, C0,(Ci)1⩽i⩽n>和密钥 SKL=< D0,(Di, D i ∗)1⩽i⩽n>.
D i= Di if Wi ≠∗ Di ∗ if Wi=∗
C̃ / e(C0, D0) ∏
{i=1}^n e(Ci, D i) = M(e(g, g)w) r / e(gr, gw−s) ∏
{i=1}^n e((ga i) r, g s i a i) = M(e(g, g)w r ) / e(g r, g w−s) ⋅ e(g, g) s⋅r = M(e(g, g)w r ) / e(g, g) w⋅r = M.
4 提出方法的分析
4.1 基于代理重加密的数据管理
4.1.1 通信流量
表1 提供了现有网络与提出的方法(Liu 等,2014)中节点间通信次数和持续时间的比较。与现有方案中计算时间随节点数量迅速增加不同,提出的方法数据显示随着节点数量的增加,时间呈线性增长。也就是说,当节点数量超过100时,持续时间将增加到11秒以上。因此,未来有必要考虑更长时间范围的情况。
| 节点数量 | 通信次数(现有) | 持续时间(秒) | 通信次数(提出的方法) | 持续时间(秒) |
|---|---|---|---|---|
| 2 | 2 | 0.22 | 2 | 0.22 |
| 3 | 6 | 0.66 | 3 | 0.33 |
| 4 | 12 | 1.32 | 4 | 0.44 |
| 5 | 20 | 2.2 | 5 | 0.55 |
| … | … | … | … | … |
| 50 | 2450 | 269.5 | 50 | 5.5 |
4.1.2 机密性
使用提出的方法,即使恶意第三方通过配对方式窃听节点到节点的通信,也难以推断通信内容。
4.1.3 数据共享效率
我们使用无需检查可靠性的代理服务器,以便在节点之间进行安全高效的数据共享。此外,通过高效的数据共享,可以解决轻量级设备(如Atmega128)的数据存储容量有限的问题。
4.2 基于属性重加密的数据共享方案
4.2.1 安全性
提出的方法在数据共享过程中采用配对技术,以防止恶意第三方用户理解通信内容,即使在客户端和服务器之间进行窃听也是如此。此外,
rka→b=(A′,pkb⁻ˢᵏᴸ)
用户A的加密密钥在重加密过程中生成的重加密密钥是数据共享期间使用的一次性密钥,因此共享数据的用户B无法持续使用该密钥。因此,该方法还可以提供后向保密性。
4.2.2 计算量
提出的方法2,通过在不可信的云存储服务器上执行轻量级的配对计算来进行重加密,从而在数据共享期间提供高效的计算。此外,与现有方法相比,该方法更加高效,因为它只需对加密密钥进行重加密来传输加密密钥,而无需对数据本身进行重加密或传输全部数据(见表1中对数据共享期间计算量的比较可知,在计算过程中,提出的方法在数据共享延迟时间增加方面优于现有方法(图2)。此外,根据共享成员数量变化的数据计算量表明,该方法在组间数据共享过程中具有很高的效率。
| 方案 | 公开信息 | 非法用户追踪 | 数据共享计算 | 共享量 |
|---|---|---|---|---|
| Li 等(2015) | (X, TX, gX),f(K)X | m + h + a | O(n(n−1)/2) | — |
| Marimuthu 等(2014) | 哈希函数H[h] = (RX[h], TX[h]) | O{(明文M³+明文M)+3哈希函数H+2a} | O(n(n−1)/2) | — |
| Kar 等人(2011) | (X, TX, gX), f(K), g(K) | O{2m + h + a} | O(n(n−1)/2) | — |
| 提议的方案 | (n. e. P, PK, gX) | O(明文M + 素数) | O(n) | — |
4.2.3 前向和后向保密
在组间数据共享中,用户可以灵活地订阅和取消订阅。已订阅的组成员不应知晓之前使用的群组密钥,而已取消订阅的成员不应知晓新的群组密钥。提出的方法基于群签名,因此提供了安全性。
5 结论与未来研究
本研究提出了一种在物联网环境中多个节点之间提高数据共享和管理安全性与效率的方法。与现有环境相比,该方法提供了更高效的通信设置。此外,我们的方法通过在轻量级设备中使用基于椭圆曲线密码系统的代理重加密方案,提供了更强的安全特性。
有必要研究解决代理重加密方案的单向性和不可转移性问题的方法。另一个需要解决的问题是,尽管该方法比以往的方法更高效,但其操作时间会随着传感器节点数量的增加而成比例增长。
通过在云环境中实现详细的用户访问控制,可以更安全地管理存储在云服务器上的敏感信息。该提出的方法提供了一种结构,能够安全高效地访问大量各类数据,包括需要高保密性的用户个人信息。我们期望该提出的方法能够在云计算环境中得到广泛而高效的应用。然而,与现有的基于属性的加密方法相比,由于该方法提供了更多功能,因此在多项式方程上的计算量有所增加,这是该方法的一个缺点。未来,我们将基于该提出的方法研究更高效且更安全的方案。
20

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



