基于代理重加密的物联网云节点授权可信更新机制

2018-07-19 11:58曹梦元谢绒娜付安民
计算机研究与发展 2018年7期
关键词:代理服务器密文解密

苏 铓 曹梦元 谢绒娜 付安民

1(南京理工大学计算机科学与工程学院 南京 210094) 2(中原工学院 郑州 450007) 3 (北京电子科技学院信息安全系 北京 100070) (sumang@njust.edu.cn)

物联网于2005年被国际电信联盟正式提出,其后传感器网络、智能芯片等技术的进步推动着物联网产业的飞速发展.通过各种信息传感设备,物联网能够实时采集任何需要互联、互通、互操作的物体或过程中产生的信息和数据,是互联网的扩展和延伸,加速了网络与人类的生活融合.2016年,通过物联网实现互联的网络设备数量已经多达176亿,这个数字在2020年预计将突破300亿,而物联网的市场规模将突破7万亿美元[1].随着智能家居、智能交通、智慧医疗、智慧城市等概念和产品的涌现,物联网的应用范围已经渗透到了人们生活的方方面面,互联网中计算机与计算机的通信已经逐步变化为物联网中的人与人、人与设备、设备和设备的信息交互,即M2M.在物联网相关技术发展的同时,其他相关平台和技术也在不断进步,其中云计算技术就是代表之一,云计算满足了人们数据共享的需求,越来越多的网络用户通过云获取软件、平台、基础设施等服务.用户通过购买云服务对数据进行的存储、处理和共享. 通常情况下物联网被划分为感知层、传输层和应用层[2],而针对物联网的各类研究和开发也就是上述3层,感知层节点采集数据,通过传输层将数据传递给应用层进行处理,云计算的强大运算能力则可以为应用层提供重要的技术支撑,因此出现了物联网和云计算的结合,将传统物联网中传感设备感知的信息和接受的指令连入互联网中,通过云计算技术实现海量数据存储和运算.各类互联网应用厂商在提供了功能强大的云平台的同时也推出了物联网云平台,如微软、IBM、Google、阿里、腾讯等都推出了自己的产品,在现有云平台的基础上,增加了节点的模拟、定义、设计和管理等功能.

物联网与云计算的结合促进了云在人们生活中的渗透,也提升了物联网节点的通信与数据处理能力,但是,两者的结合也造成了更多的安全问题.首先,物联网节点的接入,使得云端的数据量激增,其中敏感数据和隐私信息越来越多,以智能家居为例,家用摄像头其获取的数据即为用户日常私人生活的真实记录,直接关系到用户的生活隐私保护.针对节点采集后的数据如何传输到云端,如何被合法的节点获取,如何防止非法窃取和服务商的挖掘至关重要;再次,各类传感器节点的运算能力、防攻击能力远不及计算机终端设备,及其容易受到攻击者的破坏和控制,当合法节点被攻击或者破坏后,如何确保该节点不再能够在云端获取数据也是亟待解决的问题.

针对上述问题,研究人员开始关注物联网相关的访问控制、授权管理等机制,物联网与云计算的结合产生的全新计算模式要求访问控制技术的研究需要满足大规模、强动态性及强隐私性的特点,基于属性的访问控制(attribute based access control, ABAC)使用属性作为访问控制的关键要素,能够为满足上述特点需求,为云计算、物联网计算等新型计算环境提供了理想的访问控制策略[3];针对物联网的访问控制研究一类是针对节点的认证和鉴别,由于节点的特殊性,身份信息的模糊特点导致物联网节点的认证和鉴别很难基于传统的访问控制机制和认证策略,基于信任和历史信息的访问控制思想[4]更加适合这样的需求场景;文献[5]针对感知层提出了一种分层访问控制方案,按照安全级别将感知节点划分层次,为不同层次的节点设置偏序管理的访问控制机制;传统密码算法,如DES,LBlock等也针对物联网感知层轻量级的需求,设计了相关的算法和策略[6-7];为了降低公钥密码运算对节点资源的占用,提升认证的效率,文献[8]则将对称密码和消息验证码引入到了物联网节点的接入认证中.第2类,研究平台对节点需要访问数据的保护和管理,这一层将主要面向各类用户需求和各类平台,由于与云计算结合,为了确保数据的机密性和隐私性,物联网云平台应用层访问控制需要与密码相结合,数据通常以密文的形式保存在云服务器中,数据所有者通过控制用户的密钥的分发进行权限管理.基于角色的加密[9]、基于身份的加密(identity based encryption, IBE)、属性基加密等机制(attribute based encryption, ABE)[10-11]分别以用户角色、身份和属性为解密密钥参数,也为目前物联网云端的数据安全保障提供了技术机制.上述机制可以应用于物联网云平台的云端数据管理中,实现对数据资源密文的授权管理,为了解决权限更新时密文数据的变更,文献[12]中将用户密钥分为欺骗密钥和私钥2个部分,用户的解密密钥由2部分运算生成,通过更新欺骗密钥实现密钥撤销,但是未论述2部分密钥的分发和管理方式,并未从本质上说明如何进行密钥数据的确定性更换. 但是与通用云平台一样,物联网云平台面临着数据权限的可信更新问题,即当节点被攻击者劫持后,如何安全有效地撤销节点在云端平台的访问权限问题.此外,传统数据的确定性更新方案往往要求进行密文数据的重新计算,由于云平台的特性,这项工作需要交付给可信的物联网数据库,将消耗用户大量的资源,也导致云服务器仅仅停留在存储的层面.代理重加密(proxy re-encryption, PRE)技术能够将共享数据密文的计算工作尽可能地托管到云计算平台,减轻了用户在数据创建与访问时的运算量.基于PRE技术,用户在创建数据时仅需要计算一次共享数据的密文,其后则由云计算进行重加密工作,计算针对不同用户的密文.通过与IBE,ABE等具体机制相结合,PRE成为了云端密文访问控制的重要技术之一.身份、属性、证书、条件、密钥类型等均作为参数增加到PRE的算法构造中. 代理重加密在物联网方面也有相应的机制和应用,如密钥更新、节点数据解密代理、节点数据传输与共享[13-15]等.

本文针对物联网与云计算结合后产生的安全问题,将PRE的思想引入到物联网云平台节点访问授权的更新和管理中,提出一种基于代理重加密的物联网云节点授权可信更新机制(PRE based trusted update scheme of authorization for nodes on IoT cloud platform, PRE-TUAN), PRE-TUAN机制由系统模型和具体算法构成,系统主要包含IoT数据服务器、节点授权管理服务器、重加密代理服务器和工作节点等部分,其中重加密代理服务器部署到云端.初始状态下节点在系统中进行注册,完成初始化,授权管理服务器为每个节点分配重加密解密参数,由授权管理服务器管理.当节点需要获取数据服务器数据时,由重加密代理服务器进行数据的重加密,重加密密钥的参数则需要由授权管理服务器提供,节点获取密文数据进行解密时则需要节点私钥和授权管理服务器处获取的解密参数.当需要进行授权撤销时,授权管理服务器将对应节点的参数进行变更,即可确保权限的可信变化.本文将从系统目标与假设、系统描述、安全性证明等方面来论述PRE-TUAN机制.

1 相关知识

1) 双线对映射

双线对映射主要用于基于身份密码学、基于属性的密码学的算法构造中,令群G1,G2,G3为的p阶乘法循环群,在实际算法构造和应用中可以依据需求设定G1=G2或者G1≠G2.

映射e:G1×G2→G3称为可接受的双线性映射,则需要满足3个属性:

② 非退化性.存在非单位元素g∈G1和h∈G2,存在e(g,h)≠1.

③ 可计算性.存在有效的算法,对于任意g∈G1和h∈G2,在多项式时间内能够计算出e(g,h).

2) 决定性双线性Diffie-Hellman问题

DBDH(decisional bilinear Diffie-Hellman)问题:分别定义五元组g,ga,gb,gc,e(g,g)abc,令算法A计算z=abcmodp,若A具有优势ε的优势解决DBDH问题,当且仅当|Pr[A(g,ga,gb,gc,e(g,g)abc)=0]-Pr[A(g,ga,gb,gc,e(g,g)z)=0]|≤ε.

DBDH复杂性假设:一个概率多项式时间内没有算法A具有ε优势解决DBDH问题,则称DBDH假设成立.

2 系统目标与假设

2.1 系统目标

PRE-TUAN机制的设计目标有4个方面:

1) 实现物联网节点对服务器密文数据访问权限的可信更新.进行数据的解密时,节点需要同时具备私钥和解密参数,通过授权管理服务器对解密参数的管理,实现在节点被劫持、破坏时数据访问权限的可信更新.

2) 利用已有的基础设施和安全设备.物联网云平台无需额外的安全服务和专用特殊的安全设备即可使用PRE-TUAN机制进行数据授权的管理和保护.

3) 充分发挥云等大型半可信及不可信服务器的运算能力,减轻物联网节点运算消耗.由物联网云平台的重加密代理服务器进行数据的重加密,尽量降低由于加解密运算的引入,为物联网节点带来能源和资源的消耗.

4) 能够抵抗攻击.PRE-TUAN机制要求能够抵抗针对重加密代理服务器、数据服务器的密码分析和攻击,在节点被劫持后迅速撤销其授权,降低由于节点抗攻击能力的短板带来的系统损失.

2.2 机制假设

为了实现PRE-TUAN机制,需要满足2种假设:

1) 物联网云平台主要针对数据的分享和传播应用场景

物联网应用场景众多,例如智能城市、智能医疗、智能家居等,本文中所提出的机制主要针对信息传播和分享的应用场景.例如,智能家居中智能家电需要获取家庭用电的秘钥参数,实现电量的获取;军事管理中,远洋舰艇的火力管理系统接收远程配置参数;高铁列车获取远端控制参数、停靠通知等.针对主要用于数据采集的节点及其应用场景,由于该类节点很少获取远端服务器的数据,或并没有秘密数据传输和解密的需求,因此不再本文的讨论范围之内.

2) 物联网节点在未被攻击的情况下将忠实地依据具体协议运行

物联网节点在未被攻击者攻击时,需严格按照系统要求运行,首先节点在解密后将不进行参数、密钥的存储.在数据使用结束后,节点也不存储解密后的明文.

3 方案构造

3.1 系统模型

3.1.1 参数定义和实体描述

PRE-TUAN机制中涉及的符号和参数定义如下:

1) (pki,ski):节点i的公私钥对;

2)rki:服务器端针对节点i的重加密密钥;

3)Φ:重加密密钥参数列表重加密解密参数列表;Φ由一组节点对应的参数构成,具体描述为Φ={(η1,φ1),(η2,φ2),…,(ηn,φn)},其中n为节点个数;

4)φi:节点i的重加密密钥参数1重加密解密参数;

5)η1:节点i的重加密密钥参数2,由节点i和IoT数据服务器的公私钥信息构成;

6)CA:由IoT数据服务器存储的数据初始密文,其中A为密文的编号ID,CA={(M)K,E(K)A},(M)K为消息M以K为密钥进行对称加密的密文数据,E(K)A则为K在物联网云中初始创建时进行非对称加密后的密文;

7)CA i:节点i在重加密代理服务器作用下获取的数据密文,CA={(M)K,E(K)A i},其中(M)K为消息M以K为密钥进行对称加密的密文数据,E(K)A i则为K在重加密代理服务器作用下产生的重加密密文.

对应上述定义,PRE-TUAN机制的系统模型如图1所示:

Fig. 1 The system model of PRE-TUAN图1 PRE-TUAN系统模型

包含实体及其功能说明5点:

1) IoT数据服务器.物联网云服务平台的数据中心,存储需要分发给各个节点的数据,在数据创建时IoT数据服务器对数据使用初始密钥进行加密,产生初始密文.

2) 节点授权管理服务器.物联网云服务平台中节点的授权管理中心,负责节点的注册、密钥的分发和管理、权限的授权和撤销等,节点授权管理服务器向重加密代理服务器提供重加密参数列表,同时为节点提供解密参数,通过对参数的控制实现对节点授权的管理.

3) 重加密代理服务器.基于节点授权管理服务器的参数表,对IoT数据服务器的初始密文进行重加密,为授权节点产生相应的密文数据.

4) 物联网节点.通过传感器网络等无线网络形式对物联网云服务平台的数据进行访问的物理设备.

5) 潜在攻击者.系统面临这针对初始加密密文和重加密密文的密码分析,针对IoT数据服务器、节点授权管理服务器等数据库的破解和分析,同时需要应针对物联网节点的劫持攻击等.

其中IoT数据服务器和阶段授权管理服务器为可信实体,代理重加密服务器则为租用的云端用于计算和存储的半可信服务器.最终实现由可信服务器进行数据的产生和管理,半可信的云服务器物联网节点数据的计算和分发.

3.1.2 机制概述

PRE-TUAN机制主要涉及2个阶段,工作原理如图2所示:

Fig. 2 Working principles of PRE-TUAN图2 PRE-TUAN工作原理

1) 阶段1

该阶段完成数据的封装以及权限设置工作(图2上半部分),该阶段中首先节点向节点权限管理服务器进行注册,分发节点公私钥,节点授权管理服务器则依据注册信息产生重加密参数列表Φ;IoT数据服务器则将需要分发给节点的原始数据M进行对称加密产生(M)K,对称加密的算法可以采用现有成熟的对称加密算法,例如AES等.对于对称加密密钥K,IoT数据数据服务器进行初始化加密,产生密文E(K)IoT,并提交到重加密代理服务器进行处理.重加密代理服务器为节点通过重加密算法ReEnc产生K的密文数据E(K)IoTi,其中i为节点的身份标识.ReEnc的过程中所使用的重加密密钥则由授权管理服务器提供,授权管理服务器依据参数列表Φ通过ReKeyGen的算法产生重加密密钥.最终密文数据E(K)IoTi和(M)K进行连接,提供给授权节点.

2) 阶段2

该阶段完成节点数据的获取与解密工作(图2下半部分),节点i在获取重加密代理服务器产生的{E(K)IoTi‖(M)K}.在节点授权管理服务器获取解密参量列表Φ中i对应的表项(ηi,φi),以φi和自身私钥ski解密获取K,最终通过对称解密获取明文M.

3.1.3 系统流程

PRE-TUAN方案主要包含了7个系统流程.

1) 系统建立.基于给定的参数q,调用算法Setup产生系统公共参数代理重加密相关的公私钥参数.

2) 节点注册.节点将身份标识信息提交给授权管理服务器,可以采用在线或者离线的方式,若为在线方式则需考虑信息传递的完整性和机密性,并非本文讨论范围,因此此处不多做描述.节点在注册后,节点授权管理服务器调用算法KeyGen为其产生公私钥对,并将其公钥存储到授权管理服务器,调用ReKeyPara算法产生注册节点的重加密密钥生成解密参数(η,φ),并将其添加到列表Φ中.

3) 密文数据创建.IoT数据服务器产生需要分发的消息M,对M进行对称加密,其对称加密的密钥K,则调用算法InitEnc产生密文E(K)IoT并传输给重加密代理服务器.

4) 重加密数据生成.重加密代理服务器接收IoT数据服务器的初始密文E(K)IoT,依据节点授权服务器提供的参数列表Φ,运行算法ReKeyGen为相应的节点产生重加密密钥,运行算法ReEnc产生密文E(K)IoTi,并将E(K)IoTi与(M)K进行连接,在IoT数据服务器进行存储,满足节点访问需求.

5) 合法授权节点的重加密密文解密.假设节点i为合法访问节点,欲解密获取信息M.首先,节点i在重加密代理服务器获取{E(K)IoTi‖(M)K};其次节点i在授权管理服务器获取解密参数φi,调用算法Dec获取K;最后调用对称解密算法获取消息M.

6) 授权可信更新.授权管理服务器更新参数列表中对应的表项,将需要撤销的授权对应的参数φj进行删除.

7) 被撤销权限节点的数据解密.假设系统识别到节点j被攻击者破坏或劫持,则将其对应的参数φj删除,实现节点授权的撤销,此后,若j欲解密获取信息M时,将向授权管理服务器请求获取解密参量φj,由于j对应的参量已经被授权管理服务器更新,则C已经不具备解密的条件,因此无法获取数据.

3.2 算法描述

PRE-TUAN机制的实施过程中主要涉及7个算法函数.

1) 参数建立:Setup(q)→param.

2) 初始密钥生成:KeyGen(param)→(ski,pki).

3) 初始加密:InitEnc(k,pkIoT)→E(k)IoT.

IoT数据服务器使用自身公钥pkIoT加密对称密钥K,选取i∈G2,计算r=H2(k‖i),则E(K)IoT={c1,c2,c3,c4,c5}.

c1=gr;

c2=i·e(pkA,H1(pkA))r;

c3=k⊕H3(i);

c4=H1(pkA);

c5=H4(c1‖c2‖c3‖c4)

4) 重加密参量(η,φ)生成:ReKeyPara(pki,pkIoT,skIoT,param)→(ηi,φi).

授权管理服务器产生无符号随机字符串φ,计算η={pki,H(pkIoT)s kIoT,r}.

5) 代理重加密密钥生成:ReKeyGen(ηi,φi)→rkIoTi.

6) 代理重加密:ReEnc(E(K)IoT,rkIoTi)→E(K)IoTi.

7) 解密:ReDec(E(K)IoTi,ski,φi)→K.

4 安全模型与证明

4.1 安全模型

本文提出的PRE-TUAN机制以PRE为实现基础,因此方案的安全性依托于所提出算法的安全性,首先,构建算法安全模型进行安全性证明;PRE-TUAN机制的代理重加密安全模型描述如下:

攻击者A可以询问密钥生成、代理重加密密钥生成、重加密、解密等过程.

Setup.挑战者设置系统参数param.

阶段1. 攻击者A发出询问以下任何一个过程.

KeyGen,ReKeyPara,ReKeyGen,ReEnc,ReDec,其中询问ReKeyPara,ReKeyGen,ReEnc,ReDec时使用的密钥由KeyGen产生.

挑战.A完成阶段1询问后,输出等长明文(m0,m1)∈M,第1部分重加密解密参数φ*,第2部分重加密参数η*及其攻击的目标公钥pk*,此处要求pk*由KeyGen产生,其对应私钥未被泄露,η*和φ*由ReKeyGen产生.当A以(η*,η′,φ*)询问ReKeyGen时,η′对应的私钥并未被泄露.挑战者随机选取位b∈{0,1},计算Cb=InitEnc(mb,pk*)并以此为密文对A进行挑战.

阶段2. A继续阶段1中的询问,同时满足以下条件.

1) 若A以(η*,η′,φ*)询问ReKeyGen时,η′对应的私钥并未被泄露.

2) 以(Cb,η*,η′,φ*)询问ReEnc时,pk′对应的私钥并未被泄露.

猜想.A猜测b′∈{0,1},若b′=b,则A挑战成功.

4.2 安全性证明

定理1. 若DBDH假设在群(G1,G2)上成立,则PRE-TUAN的代理重加密方案在随机语言模型下是CCA安全的.

证明.

2) G1:挑战者C同G0进行该游戏,除了如下内容:

3) G2:挑战者C同G1进行该游戏,除了Hi发生碰撞,由于Hash函数Hi为标准的随机过程,因此|Pr[T1]-Pr[T2]|可忽略.

4) G3:挑战者C同G2进行游戏,仅在调用ReDec时有区别,若输入为(C,η*,φ*),A未以(η*‖φ*)对H1进行询问,C则终止游戏,否则C返回解密结果给A.由于加解密算法过程确定,且所使用的Hash函数为随机过程,因此|Pr[T2]-Pr[T3]|可忽略.

5) G4:挑战者C同G3进行游戏,仅在调用ReKeyGen和ReEnc有区别.

7) 调用ReEnc中C使用A提出的(η,φ,Ci)计算ReEnc中的解密参数,若不成立则C反馈终止,否则C在密钥和重加密密钥列表中进行密钥查询,为A反馈密文.若A在ReKeyGen中使用的pki不是通过KeyGen获取的,则C终止游戏.|Pr[T3]-Pr[T4]|可忽略.

证毕.

5 综合分析

5.1 性能分析

为了进行算法的性能分析,假设t1是指数运算的时间开销,t2是线性对运算的时间开销,PRE-TUAN主要函数的时间复杂度如表1所示:

表1 PRE-TUAN主要函数时间复杂度Table 1 Time Complexity of Functions

空间复杂度这里主要关注用户密钥存储花费的开销,由于PRE-TUAN节点解密时提供其唯一私钥,针对可信更新的参数则由节点授权管理服务器进行保存,节点的密钥存储的空间复杂度为O(1).

5.2 属性分析

本节中将PRE-TUAN与文献[13,16-18]进行比较分析,首先,文献[13,16-18]将云计算与物联网进行结合,其中文献[16]侧重云服务器的存储能力,文献[13,17-18]借助云计算进行数据的处理和运算;其次,文献[16]重点论述了节点数据上传的流程,对于节点数据的共享并未提及;PRE-TUAN则将代理重加密引入物联网云的数据管理中,以云服务器为代理重加密服务器,进一步降低了节点的运算量,同时能够授权的确定性更新具体比较结果如表2所示:

Table 2 Properties Comparisons Between Current Works and Our Scheme表2 属性对比分析

Notes: “√” means the scheme can support the property; “×” means the scheme can not support the property.

6 结 论

本文阐述了一种面向物联网云平台的节点授权可信更新机制(PRE-TUAN),定义系统由IoT数据服务器、节点授权管理服务器、重加密代理服务器和工作节点等部分构成,数据由可信的IoT数据服务器产生,通过无线传感器网络发布给节点,要求节点在节点授权管理服务器进行注册,其后注册的节点将在云端的重加密代理服务器获取密文数据,并且在节点授权管理服务器获取解密参数进行数据解密.并针对系统流程给出了相应的算法及其安全性证明.PRE-TUAN具有2个优点:1)充分发挥了云平台在物联网数据分发中的作用,由部署与云端的重加密代理服务器进行大量节点密文数据的产生,同时上述密文的产生基于数据服务器产生的初始密文,保障了数据的机密性和隐私;2)针对发现的被劫持节点,由授权管理服务器撤销其解密参数,则云端的重加密密文将无法解密,确保了授权撤销的可信,同时无需用户服务器进行重复加密.针对PRE-TUAN机制,下一步需研究如何优化算法设计,减轻节点的运算负担;同时需研究节点被劫持和攻击的发现与识别机制,与PRE-TUAN联动实现物联网云平台安全的保障.

猜你喜欢
代理服务器密文解密
一种支持动态更新的可排名密文搜索方案
群智感知网络环境下的一种高效安全数据聚合方案*
基于模糊数学的通信网络密文信息差错恢复
炫词解密
支持多跳的多策略属性基全同态短密文加密方案
解密“一包三改”
炫词解密
炫词解密
基于防火墙技术的网络安全机制
防火墙技术与校园网络安全的研究