周 让,张小松,汪小芬,李冬芬,陈 涛,张晓均
(1.成都理工大学 计算机与网络安全学院,四川 成都 610059;2.电子科技大学 计算机科学与工程学院,四川 成都 611731;3.鹏城实验室 网络空间安全研究中心,广东 深圳 518055;4.西南石油大学 计算机科学学院,四川 成都 610500)
随着工业5.0的推广应用,海量的物联网数据被采集以完成物联网的应用需求。为了对这些数据进行规范化管理,研究者引入了针对物联网数据的安全管理[1]。而在实际的物联网系统中,大量的物联网设备被布置到系统的各类实际应用中。这些物联网设备主要完成数据的采集和上传[2]。由于物联网设备来自于不同厂商,因此这些物联网设备会采用不同的数据格式进行采集和上传,这就使得物联网数据因数据来源不同而呈现出了数据异源性[3]。
这些异源数据的混合存储不仅会降低后期数据分析的效率,还会使后期的数据访问控制变得更加困难[4-5]。为更加高效地对这些数据进行安全管理,就需要引入物联网数据筛选[6]。但是,现有的数据筛选方法主要是基于数据内容来完成的,这种方法仅关注采用同种数据表达格式的同源物联网数据筛选[7-9]。这些数据筛选方法都不能直接解决异源数据混合存储所导致的问题。为了解决这些问题,就需要对来自不同物联网设备的数据按照来源进行筛选,实现按设备身份的数据归类,并将这些异源数据进行筛选,分类为同源数据进行分别存储,为后一步的数据访问控制及数据分析提供更好的服务。
为实现数据筛选的目标,研究者在首次提出了基于BSD开源协议的包筛选方法[10]之后,又提出了基于交叉筛选的方法[11]和基于相似性检测的联合筛选方法[12],但是这些方法均只对明文数据进行筛选,应用场景受限且容易泄露数据内容隐私。为了增强数据安全性,防止数据内容隐私泄露,就需要对传输的数据进行加密[13],加密数据筛选因此成为研究者关注的重点[14]。
当前,加密数据筛选主要采用对数据包进行检测的技术对通过网关的流量进行监控,进而实现数据的筛选[15]。研究者通过隐私信息检索、群同态加密和加法同态算法构建了隐私数据筛选方法[16]。在此基础上,研究者又通过在安全传输层协议中引入中间件的方法设计了一个对数据的盲盒方法检测,实现了加密数据的筛选[7]。在此之后,文献[17]改进了盲盒方法测试,使得加密数据筛选能支持多条件规则集下的令牌匹配,有效提升了盲盒方法的检测效率。接着,研究者提出了深度数据包检测的方法来优化握手过程以提升盲盒检测的整体效率[8]。而文献[9]加入了一个密文完整性检测来阻断不规范数据的转发,在防止数据污染的同时,进一步提高了数据筛选效率。同时,文献[18]通过引入基于中间件的可搜索加密完成了对过滤规则的生成,实现了对用户数据隐私的保护。接着,研究者又提出了两个效率改进方案[19-20]以实现对中间件的匹配策略隐藏。在此基础上,文献[21-22]提出了双层无共谋服务器架构,文献[21]在功能上实现了合法数据包的快速过滤,而文献[22]将关键字联合搜索加入到了数据筛选中。
以上的加密数据筛选方案,主要依托于关键字可搜索加密技术[23-24],是对于数据包内容本身的筛选,采用的具体方法是在网关设定关键字陷门,而终端对数据内容提取关键字标签,网关通过加密关键字的匹配来实现数据筛选。但是,这类方法并未对数据来源身份进行隐私保护。通常情况下,这些身份标识中都包含物联网终端设备的关键标识信息,这些信息如果泄露,攻击者就能推断出数据设备的来源或是数据设备身份编码规则,这就使得攻击者有机会对特定的数据终端设备发起攻击,造成设备节点失效,并造成物联网网络失陷点,进而影响物联网安全。因此,需要在加密物联网数据筛选过程中对数据来源设备的身份隐私进行保护,以增强整个物联网的安全性。
为解决这个问题,文献[25]提出了数据来源身份信息匹配的筛选方式,以取代关键字信息的筛选方式,并引入了中继转发筛选的方法对数据提供者的身份进行隐藏。但该方法仅仅是将前述方案中的关键字替换成了身份信息,其对于身份的隐私保护强度较低。为了实现更强的身份隐私保护,研究者提出了隐藏发送者身份的数据筛选方案[26-27]。文献[26]将IP地址分成4块来标记数据来源身份,进而实现数据筛选功能。文献[27]则是将IP地址视为整体来标记数据来源身份,在一定程度上提高了方案的安全性。但是,这两个方案使用了多个不同的双线性对匹配计算来实现搜索匹配,存在效率不足的问题,同时也使得这两个方案的数据筛选匹配操作仅能应用于计算和转发能力较强的网关,而不能应用到计算和转发能力受限的物联网中继节点设备,极大地限制了方案在物联网环境的应用。
笔者立足于物联网数据安全管理,提出了一个支持隐私保护的加密物联网数据筛选方案,实现了物联网采集数据的筛选和分流。
(1) 不仅对传输数据进行了加密,还在数据筛选时对设备身份隐私进行了保护,使得所传输数据和其对应的数据发送设备身份信息都不会泄露,从而支持数据内容隐私保护和数据发送设备身份隐私保护。此外,还通过对加密后的数据密文进行签名来确保采集数据的完整有效。
(2) 在数据上传阶段,利用中继网络中的中继节点设备组实现数据筛选,使得数据能被分类且按其类型存储到预定位置,更加有效地支持后期的数据提取与分析。
(3) 在规则设定上,通过引入时戳机制的筛选规则陷门设置,用于增强数据筛选的实时性,以灵活应对不断变化的物联网实际应用需求。
(4) 仿真实验结果评估表明,所提方案比同类型方案的执行效率更高,更加适用于实际的物联网数据采集应用。
离散对数求解困难问题:已知(G,p,g,gx),其中p为质数,g是循环群G的一个生成元,gx是G上的一个元素,求解x是困难的。
判定性Diffie-Hellman困难问题:已知(G,p,g,gx,gy),其中p为质数,g是循环群G的一个生成元,gx、gy是G上两个不同的元素,判断Z是G上的一个随机元素还是Z=gxy是困难的。
安全的对称加密算法:能通过抵抗常规分析和攻击来保证数据机密性的对称加密算法。
该系统的架构如图1所示,存在6个参与方,分别为生成系统参数和密钥的可信第三方T、设定数据筛选规则的用户A、数据发送端B、利用数据筛选规则进行数据筛选的物联网中继节点设备组、物联网终端设备和物联网数据存储服务器。其中,物联网中继节点设备组中的节点为半可信节点,即只会进行被动攻击,而不会主动干扰数据筛选的相关操作。
图1 系统架构图
在该系统的架构中,物联网终端设备节点与数据发送端事先沟通好数据采集的对称加密密钥,再用该密钥和安全的对称加密算法将采集到的数据加密并发送给数据发送端;数据发送端得到数据之后先对数据解密,然后计算出传输用的数据加密密钥,并使用安全的对称加密算法生成可以被目标用户解读的数据密文,再用数据筛选密钥生成可以被中继节点设备组匹配分流的筛选标签,接着生成用于验证数据完整性的签名,通过无线或有线网络将生成的数据密文、筛选标签和完整性签名发送到中继节点设备,在中继节点设备进行数据完整性验证之后,最后进行筛选标签和筛选陷门的匹配,匹配成功的加密物联网数据及其对应的筛选标签和完整性签名被分流存储到对应的存储服务器。筛选标签和完整性签名可以用于用户从服务器取回数据时验证所取回加密数据的完整性。
文中所提的系统方案包含以下8个部分:
(1) 系统设置(Setup):算法输入安全参数μ,生成系统参数P。
(2) 密钥生成:
① KeygenT:算法输入系统参数P,生成系统主密钥(msk,mpk);
② KeygenA:算法输入系统参数P,用户A的身份IDA,生成用户A密钥(skA,pkA);
③ KeygenB:算法输入系统参数P,设备B的身份IDB,生成设备B密钥(skB,pkB)。
(3) 密钥验证(Check):算法输入系统参数P,系统主公钥mpk、验证者自己的密钥(sk,pk),进行密钥验证。若sk是有效密钥,则算法输出“1”;否则,sk不是有效密钥,输出“0”。
(4) 筛选陷门生成(Trapdoor):算法输入系统参数P,用户A的私钥skA设备B的公钥pkB和时戳t,生成t时刻的筛选规则陷门Tr。
(5) 数据密文和筛选标签生成(Index):算法输入系统参数P,设备B的私钥skB和用户A的公钥pkA,时戳t和物联网数据data,生成加密物联网数据m和用于匹配筛选的标签I。
(6) 完整性签名生成(Sign):算法输入系统参数P,设备B的私钥skB与加密物联网数据m和筛选标签I,生成用于保证数据完整性的签名σ。
(7) 完整性签名验证(Verify):算法输入系统参数P,设备B的公钥pkB与加密物联网数据m和保证数据完整性的签名σ。若σ是有效签名,则算法输出“1”;否则,σ不是有效签名,输出“0”。
(8) 数据筛选匹配(Match):算法输入筛选规则陷门Tr和用于筛选的标签I。若匹配成功,算法输出“1”;否则,输出“0”。
针对支持隐私保护的物联网数据筛选方案,其安全需求主要包括支持物联网数据发送设备身份隐私保护、保证密文完整有效和支持数据内容隐私保护。
支持物联网数据发送设备身份隐私保护就需要抵御针对设备身份的攻击,而这种攻击可以分为选择身份攻击和身份猜测攻击。选择身份攻击是针对筛选陷门中的身份信息进行攻击,攻击者挑战两个不同身份的数据发送端,在不能获得对应密钥和陷门的情况下判断筛选标签具体是这两个数据发送设备中的哪一个生成的;身份猜测攻击是针对筛选标签中的身份信息进行攻击,攻击者挑战两个不同身份的数据发送端,在不能获得对应密钥和标签的情况下判断筛选陷门具体是匹配这两个数据发送设备中的哪一个。
保证密文完整有效就需要保证密文签名的不可伪造,必须将筛选标签和加密物联网数据进行绑定来生成签名,通过签名验证来确认加密物联网数据的真实有效,其安全模型类似于抵抗一次性签名伪造攻击。
支持数据内容隐私保护就需要保证数据的机密性,必须对数据进行加密,以防止数据内容明文发送而导致数据内容泄露。
文中提出的方案包含以下8个部分:
(2) 密钥生成:
(3) 密钥验证(Check):用户A和设备B在收到自己的私钥后,均可完成私钥认证,方法相同。以设备B为例,判断gpkB2=pkB0pkB1mpkH0(IDB‖skB‖pkB1)是否成立。若成立,skB是有效密钥,算法输出“1”;否则skB不是有效密钥,输出“0”。
密钥验证正确性推导过程如下所示:
pkB0pkB1mpkH0(IDB‖skB‖pkB1)=grBgtBgαH0(IDB‖skB‖pkB1)=grB+tB+αH0(IDB‖skB‖pkB1)=gpkB2。
(1)
完整性签名验证正确性推导过程如下所示:
(2)
数据筛选匹配正确性推导过程如下所示:
(3)
为了更接近真实的物联网,实验环境使用了PC端和可用于模拟工控终端的Raspberry Pi。具体实验环境如下:PC端使用了Intel Core i7-7700处理器,其CPU为4核3.60 GHz主频,内存为4 GB,操作系统为Ubuntu 14.04.3;Raspberry Pi使用ARMv7处理器,同时CPU的主频和内存分别被限制为600 MHz和128 MB,操作系统为Ubuntu MATE 16.04。为了更接近物联网应用实际情况,其中PC端用于模拟系统可信第三方和用户,而Raspberry Pi用于模拟物联网中继节点设备和数据发送设备。实验使用了PBC库来实现相关椭圆曲线计算,并且选用了A型椭圆曲线:y2=x3+x,其中有|Zp|=160比特,|G1|=512比特,|G2|=1 024比特。效率执行分析主要分为计算开销和通信开销。
4.1.1 计算开销
为更实际的评估开销,将以系统架构中的参与者为主体进行计算开销分析。所计算开销主要从私钥生成、密钥验证、筛选陷门生成、筛选标签和完整性签名生成、完整性签名验证和数据筛选匹配5个方面进行分析。其中,密钥会分别分配给用户和数据发送端,从用户主体(PC模拟)和数据发送端主体(Raspberry Pi模拟)两个方面来分别进行密钥验证的计算开销分析。此外,筛选标签生成中的物联网数据加密可以与文献[27]中的物联网数据加密选取相同的安全加密算法,使得其计算效率相同,因此这里忽略这一部分的效率对比。同理,这里也忽略数据解密的计算效率对比。
图2为计算开销分析的实验效率图。从图2可以得知,文中所提的方案在私钥生成、密钥验证、陷门生成、数据密文与筛选标签生成和签名生成、签名验证和数据筛选匹配5个方面所需的计算开销都要更低,因此,所提出的方案更适用于物联网应用。此外,由于用户主体的密钥验证使用PC模拟执行,而数据发送端的密钥验证使用Raspberry Pi来模拟实现,这两种设备在计算资源上存在差异,PC端的计算资源强于Raspberry Pi,因此验证实验数据也反映了相同的密钥验证,在PC的运行速度快于Raspberry Pi,即用户的密钥验证速度快于数据发送端。对私钥生成及密钥的理论预估和实际实验验证开销结果进行进一步分析,造成对比方案[27]私钥生成和密钥验证计算开销更大的原因是将哈希函数计算结果映射到G1所需的计算量比在G1上进行指数计算的开销更大。
表1 同类型方案通信和存储开销对比
(a) 私钥生成计算开销
4.1.2 通信开销
通信和存储开销分析如表1所示。从表中可以看到,文中所采用的方案在终端私钥长度上具有优势,而在陷门与标签长度上则略显不足。下面将结合实际物联网情况来对方案的通信和存储开销进行分析。
在私钥方面,考虑到在实际物联网数据发送设备中需要可信存储空间来存储设备私钥,所提方案所布置的物联网数据发送设备对可信存储空间的需求较小,其设备制造成本更低,更具有存储优势,同时也更符合物联网应用。
在标签方面,尽管所提方案的通信开销有所增加,|Zp|=160比特,但在实际的物联网布置中,通常以每个中继节点设备只管理一个小范围区域的数据发送设备的方式进行设备管理,而每个数据发送设备和中继节点设备之间的数据传输多采用无线或有线网络连接,由于这种传输方式速度较快,故其增加的数据传输消耗很低,可以忽略,并不影响物联网的实际运行。因此,这些增加的通信开销是可以容忍的。
在陷门方面,尽管所提方案的存储开销会增加|Zp|=160比特,但在实际的物联网布置中,通常以每个中继节点设备只管理一个小范围区域的数据发送设备的方式进行设备管理,每个中继节点设备所存的筛选陷门数量较少,且这些陷门不需要秘密存储,故其增加的存储消耗也较少,可以忽略。因此,这些存储开销是可以容忍的。
此外,对比文献[27]和文中所提方案,可以发现文中方案不涉及任何双线性对运算,而文献[27]在计算数据对称加解密密钥和进行筛选匹配时均使用了双线性对运算。因此所提方案计算过程中所需的内存基本长度为|G1|=512比特,而文献[27]中参与对称加解密密钥计算和筛选匹配所需的内存基本长度为|G2|=1 024比特。对于数据发送设备,对称密钥长度变短会使其内存需求降低,从而降低其设备制造成本;对于中继节点设备,进行每一次筛选匹配所需的内存需求会降低,这使得中继节点设备能够高效地并行处理数据筛选分流。因此,所提方案更符合物联网实际应用。
综上所述,所提方案相比于已有的方案[27],在计算开销上有明显优势,而在通信和存储开销上是可以容忍的;并且所提方案因不涉及任何的双线性对运算,更适合计算能力和内存受限的设备。所以,可以得知所提方案的执行效率更高,也更适用于物联网环境。
根据安全需求可以发现,所提方案需对物联网设备的身份信息实现隐私保护,即需能抵抗选择身份攻击和身份猜测攻击;本方案需保证密文完整有效,即需能抵抗密文签名伪造攻击;本方案还需提供对数据内容隐私保护,即需要通过数据的加密来保证数据内容的机密性。
在抵抗身份猜测攻击方面,攻击者选定用户的身份为A,两个数据发送设备的身份B1、B2。构建安全游戏如下:限定敌手不能询问A、B1、B2的私钥,同时可以发起除了从B1到A和B2到A的任何筛选陷门生成及筛选标签生成询问,最后挑战者从身份B1和B2中选择一个Bw,并计算相应的陷门。敌手需要根据所收到的陷门Tr1=xH1(KBωA‖t)+rA,Tr2=pkxBω0,Tr3=gx,判断出ω∈{0,1} 的值。首先,由于敌手不能询问A、B1、B2的私钥和从B1到A与B2到A的任何筛选陷门生成及筛选标签,敌手不能从前置的询问中获得更多的有效信息。然后可以分两种情况讨论:① 由求解目标中KBωA=grBωrA与A、B1、B2的公钥grA、grB1、grB2可以得知,敌手需要解决判定性Diffie-Hellman困难问题才能猜测成功;② 由求解目标中pkxBω0与B1、B2的公钥grB1、grB2和gx可以得知,敌手需要解决判定性Diffie-Hellman困难问题才能猜测成功。
保证数据的机密性方面,采用了对称加密的方法,若敌手能攻破所提方案等同于敌手具备攻破所选安全对称加密算法的能力。
综上所述,由于攻击者需具备解决离散对数困难问题、判定性Diffie-Hellman问题、选定安全对称加密算法中至少一项的能力,才能攻破所提出的方案,因此文中所提方案能够满足设备身份隐私保护、密文完整有效和数据内容隐私保护等性质。
笔者提出了一个保护设备身份隐私的物联网数据筛选方案。该方案通过在物联网中继设备节点放置筛选陷门来设定数据筛选规则,在支持设备身份隐私保护、密文完整有效和数据内容隐私保护的基础上,实现了对物联网数据按设备身份进行数据筛选和分流的功能。实验结果显示,该方案的执行效率更高,适合于物联网数据安全管理的应用。