物联网数据传输系统及其密钥生成方法和数据传输方法与流程

文档序号:20702072发布日期:2020-05-12 15:51阅读:278来源:国知局
物联网数据传输系统及其密钥生成方法和数据传输方法与流程
本发明涉及物联网设备
技术领域
,特别是涉及一种物联网数据传输系统及其密钥生成方法和数据传输方法。
背景技术
:云计算可以为用户提供弹性计算资源,满足终端用户的需求。然而,随着物联网和大数据的发展,集中式计算系统开始遭受难以忍受的传输延迟和服务退化。边缘计算是一种新兴的分布式系统技术,具有位置感知、低时延、支持移动性等特点。它不仅可以处理大量数据,提高我们的生活质量,而且能够收集实时数据,进行数据监测、实时分析。虽然边缘计算网络将计算资源扩展到网络边缘,极大的提高了传输效率,但其存在许多安全问题。安全通信是使用边缘计算将数据传输到云进行存储和处理时引起用户最关心的问题之一。在通信过程中边缘计算网络面临数据更改、未授权访问等威胁。此外,由于边缘节点部署在网络边缘,且成本比云服务器低得多,因此它们更容易受到攻击,也更不可信。与此同时,a.alrawais等人也指出了物联网中的边缘计算的安全问题仍处于初级阶段,面临许多安全访问方面的问题。技术实现要素:本发明的目的是提供一种物联网数据传输系统及其密钥生成方法和数据传输方法,以实现在物联网传输过程中密文的安全性的同时,降低计算的复杂度,减少计算量。为实现上述目的,本发明提供了如下方案:一种物联网数据传输系统,所述传输系统包括核心云平台、边缘节点、密钥信任机制、物联网终端用户、物联网数据所有者;所述密钥信任机制用于根据物联网终端用户的id和私密值参数生成部分私钥和部分公钥,并将所述部分私钥和部分公钥发送给边缘节点;所述边缘节点用于根据所述部分私钥和所述部分公钥生成公钥,并将所述公钥和所述部分私钥发送给所述核心云平台;所述核心云平台用于存储所述公钥,并将所述公钥和所述部分私钥发送给所述物联网终端用户;所述物联网终端用户用于根据所述公钥和所述部分私钥生成私钥;所述物联网数据所有者用于根据物联网终端用户的请求从所述核心云平台获取请求的物联网终端用户的公钥,利用标量点乘法对用户请求访问的明文进行加密,生成密文,并将密文发送给所述边缘节点;所述边缘节点还用于对所述密文进行验证,并将验证后的密文通过核心云平台发送给所述物联网终端用户;所述物联网终端用户用于根据所述物联网终端用户的私钥对所述密文进行解密,获得明文。可选的,所述边缘节点包括主边缘节点和相邻边缘节点;所述主边缘节点用于根据所述部分私钥和所述部分公钥生成公钥,并将所述公钥和所述部分私钥发送给所述核心云平台;所述相邻边缘节点用于对所述密文进行验证,并将验证后的密文通过核心云平台发送给所述物联网终端用户。一种物联网数据传输系统的密钥生成方法,所述密钥生成方法包括如下步骤:通过密钥信任机制生成公共参数和主密钥;通过物联网终端用户根据所述公共参数生成物联网终端用户的id、私密值和私密值参数;通过密钥生成机制根据物联网终端用户的id、私密值参数、公共参数和主密钥,计算物联网终端用户的部分私钥和部分公钥;通过边缘节点根据物联网终端用户的id、私密值参数、部分私钥、部分公钥和公共参数生成物联网终端用户的公钥;通过物联网终端用户根据所述物联网终端用户的id、私密值、私密值参数、公共参数、公钥和部分私钥,生成物联网终端用户的私钥。可选的,所述通过密钥信任机制生成公共参数,具体包括:随机生成第一素数k和与所述第一素数k互质的第二素数p;生成有限域fp上的椭圆曲线e;在所述椭圆曲线e上选取加性循环群gp;在所述椭圆曲线e上采用椭圆加密ecc算法生成性循环群的生成器p;利用所述生成器p在所述椭圆曲线e选取加性循环群gp;根据所述生成器,利用公式ppub=sp,计算系统公钥ppub;其中,s为从整数集中随机选取的主密钥;选取第一安全散列函数、第二安全散列函数、第三安全散列函数和第四安全散列函数;建立包括第二素数p、有限域fp、椭圆曲线e、加性循环群gp、生成器p、系统公钥ppub、无双线性配对加密算法的对称加密函数ek、对称加密函数对应的解密函数dk、第一安全散列函数h0、第二安全散列函数h1、第三安全散列函数h2和第四安全散列函数h3的公共参数:params=<p,fp,e,gp,p,ppub,ek,dk,h0,h1,h2,h3>。可选的,所述通过物联网终端用户根据所述公共参数生成物联网终端用户的id、私密值和私密值参数,具体包括:随机选取第二整数作为物联网终端用户的私密值;根据所述公共参数中的生成器p和所述私密值,利用公式vi=vip,计算物联网终端用户的私密值参数;其中,vi和vi分别表示第i个物联网终端用户的私密值和私密值参数。可选的,所述通过密钥生成机制根据物联网终端用户的id、私密值参数、公共参数和主密钥,计算物联网终端用户的部分私钥和部分公钥,具体包括:随机选取第三整数;根据物联网终端用户的id和私密值参数、第三整数和公共参数,利用公式ppi=h0(idi,vi)p+dip,计算物联网终端用户的部分公钥;其中,idi、vi、di和ppi分别表示第i个物联网终端用户的id、私密值参数、第三整数和部分公钥,p和h0分别表示公共参数中的生成器p和第一安全散列函数;根据物联网终端用户的id、私密值参数、第三整数、主密钥和公共参数,利用公式psi=h0(idi,vi)+(s+di)(modp),计算物联网终端用户的部分私钥;其中,s和p分别表示主密钥和公共参数中的第二素数;psi表示第i个物联网终端用户的部分私钥。可选的,所述通过边缘节点根据物联网终端用户的id、私密值参数、部分私钥、部分公钥和公共参数,生成物联网终端用户的公钥,具体包括:根据物联网终端用户的部分公钥、部分私钥和公共参数,判断方程psip=ppi+ppub是否成立,得到第一判断结果;其中,psi和ppi分别表示第i个物联网终端用户的部分私钥和部分公钥;p和ppub分别表示公共参数中的生成器和系统公钥。若所述第一判断结果表示成立,则利用公式pki=ppi+h1(idi,vi,di)vi,计算物联网终端用户的公钥;其中,pki、idi、vi和di分别表示第i个物联网终端用户的公钥、id、私密值参数和第三整数;h1表示公共参数中的第二安全散列函数。可选的,所述通过物联网终端用户根据所述物联网终端用户的id、私密值、私密值参数、公共参数、公钥和部分私钥,生成物联网终端用户的私钥,具体包括:根据所述物联网终端用户的id、私密值、私密值参数、公共参数、公钥和部分私钥,利用公式ski=h0(idi,pki)(psi+h1(idi,vi,di)vi)(modp)生成物联网终端用户的私钥;其中,ski、idi、pki、psi、vi、di和vi分别表示第i个物联网终端用户的私钥、id、公钥、部分私钥、私密值参数、第三参数和私密值;h0、h1和p分别表示公共参数的第一安全散列函数、第二安全散列函数和第二素数。一种物联网数据传输系统的数据传输方法,所述数据传输方法包括如下步骤:物联网终端用户通过边缘节点向物联网数据所有者发送数据访问请求,所述数据访问请求包括访问的物联网终端用户的id;物联网数据所有者从通过边缘节点获取请求访问的物联网终端用户的公钥,并根据请求访问的物联网终端用户的id、公钥和公共参数,利用加密算法对用户请求访问的明文进行加密,获得密文,利用公共参数中的加密函数生成密文验证信息,并将密文和密文验证信息发送给边缘节点;边缘节点根据密文验证信息利用公共参数中的解密函数对所述密文验证信息进行验证,并将验证通过的密文通过核心云平台发送给物联网终端用户;物联网终端用户利用物联网终端用户的私钥和公共参数,利用解密算法对应的解密函数,对所述验证后的密文进行解密,获得明文。根据本发明提供的具体实施例,本发明公开了以下技术效果:本发明提出了一种物联网数据传输系统及其密钥生成方法和数据传输方法,本发明提出了将无双线性配对的无证书多接收机方案应用到边缘计算中,其中利用标量点乘法来提高计算效率。为保证密钥的安全性,利用密钥信任机制(kta)和边缘节点、用户分别计算私钥和公钥,既保证了密钥的安全性,又减少了用户端的计算量,提高了传输效率。本发明提出了一种边缘计算中基于无双线性配对(unbilinearpairwiseencryption)upe的加密方案,提高数据访问控制的安全性。并将部分加密、解密操作外包给kta,减少终端用户的计算量;密钥生成由密钥信任机制、用户和边缘节点共同完成,保证了其安全性。附图说明为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。图1为本发明提供的边缘计算网络系统模型的结构示意图;图2为本发明提供的一种物联网数据传输系统的结构示意图;图3为本发明提供的一种物联网数据传输系统的密钥生成方法和数据传输方法的原理示意图;图4为本发明提供的数据传输方法与现有技术中的传输方法的加密解密过程的效率对比图。具体实施方式下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。本发明的目的是提供一种物联网数据传输系统及其密钥生成方法和数据传输方法,以实现在物联网传输过程中密文的安全性的同时,降低计算的复杂度,减少计算量。为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。本发明基于的理论基础包括:a.边缘计算网络系统模型:如图1所示,边缘计算模型通常分为3层,即在云平台层、与物联网设备层中间多了边缘节点层;云平台层:主要包括集群服务器和数据存储器,其有强大的数据处理能力,主要用来存储与传输边缘设备处理过的数据密钥。边缘节点层:接近物联网设备中的终端用户,能够对数据进行预处理,计算能力不如云平台,但是有更强的实时性和分布性,降低网络延迟。主要用来加密物联网设备传来的数据并存储。物联网设备:由大量的传感设备构成,分为数据所有者和终端用户两类。数据所有者采集数据传输给边缘节点,终端用户发送请求来达成自己的意愿。b.计算问题:在接下来的部分,给出了计算性diffie-hellman问题(cdh)的定义和假设。定义1.(计算diffie–hellman(cdh)问题).设p是阶为p的加性循环群g的一个生成元。给定随机元素p∈gp,使其满足q=ap,r=bp。采用多项式时间有界算法计算abp,计算难度较大。故我们定义一个多项式时间有界算法a能够求解cdh问题的概率为:定义2.(计算性diffie–hellman假设)。对于任意概率多项式时间有界算法a,当advcdh(a)≤ε,则称advcdh(a)是可忽略的。ε为可忽略函数,foreveryc>0,thereexistsk0suchthatforeveryk≥k0。c.安全模型:本发明给出关于边缘计算无证书签名方案安全模型,攻击者分为a1类攻击者:不知道主密钥,但可以替换合法用户的公钥;a2类攻击者:可得主密钥,但禁止替换合法用户的公钥。1)消息不可伪造性方案的不可伪造性模型被称为:针对边缘计算选择性多接收机,选择明文攻击(unf-csec-spa)的无证书签密的强不可伪造性。针对a1的unf-csec-spa(unf-csec-spa-i)和针对a2的unf-csec-spa(unf-csec-spa-ii)将分别由定义3进行描述。定义3.a1/a2类攻击者的不可伪造性:如果a1/a2在多项式时间(ppt)内博弈获胜的概率是可忽略的,则称本方案满足不可伪造性。1)设置阶段:挑战者b输入安全参数k,运行算法获得主密钥s和系统参数params,将s和params发送给攻击者a1。在接收params时,a1输出一组目标身份l={id1,id2,…idn},其中n是正整数。2)查询阶段:私密值查询:a1/a2要求挑战者对id进行私密值查询。收到查询后运行算法以获取用户的私密值vid并返回给a1/a2。部分私钥生成查询:a1/a2选择一个身份标识id,根据参数params和系统主密钥s和私密值vid,挑战者运行算法以获取用户部分私钥psid并返回给a1/a2。公钥生成查询:a1/a2选择一个id,挑战者运行算法获取用户的公钥pkid,并返回给a1/a2。私钥生成查询:a1/a2选择一个id,挑战者运行算法获取用户的私钥skid,并返回给a1/a2。公钥替换查询:针对任意身份标识id,a1进行公钥替换,将pk'id替换原公钥pkid,保留为用户的新公钥。注意:a2无公钥替换查询。签密查询:针对任意身份标识id和明文m,随机选择身份信息ids,运行算法生成密文t,然后将t发送给a1/a2。解密签名查询:a1/a2要求挑战者使用密文t进行解密签名查询。收到查询后,挑战者运行解密算法得到明文m,验证m是否有效,并返回给a1/a2。3)伪造阶段:a1/a2用一组目标身份l={id1,id2,…idn}和明文m伪造新的密文t*,如果密文t*可以由l中的任意用户正确解密,则a1/a2赢得游戏。否则,a1/a2失败。注意,a1不能对目标身份l执行extract-partial-private-key查询,并且ai无法对目标身份中已经被替换的公钥执行set-private-key查询。,t*不能由sig-ncryption查询生成。(a2的限制条件是不能对目标标识l执行set-secret-value查询,t*不能由sig-ncryption查询生成)定义a1/a2在这个博弈游戏中获胜的概率优势定义为:advunf-csec-spa(a1)≤ε,其中ε为不可忽略的概率优势。2)消息机密性所提出的方案的消息机密性被称为边缘计算无证书签密与选择性多接收机选择的密文攻击(ind-csec-sca)的不可区分性。针对a1的ind-csec-sca(indclms-cca-i)和针对a2的ind-csec-sca(ind-csec-sca-ii)将分别由定义4进行描述。定义4.a1/a2类攻击者的机密性:a1/a2在ppt时间内赢得博弈的概率是可忽略的,则称本方案在适应性选择消息攻击下具有机密性。具体步骤如下:1)设置阶段:与定义3中的设置相同。2)查询阶段:与定义3中的私密值查询、部分私钥查询、私钥生成查询和公钥生成查询、公钥替换查询、签密查询和解密查询相同,并且挑战者做出相应的响应。注意:a2无公钥替换查询。3)博弈阶段:a1/a2随机选择一对长度相等的明文<m0,m1>,发送给挑战者b。b收到<m0,m1>后,随机选择β∈{0,1},并用所选择的明文mβ生成密文t*,然后将t*返回给a1/a2。a1/a2在博弈中胜利的其他限制条件与定义3中伪造阶段的限制条件相同。a1/a2获得胜利的概率优势定义为:为了实现上述目的,基于上述理论基础本发明提供一种物联网数据传输系统,如图2所述传输系统包括核心云平台1、边缘节点2、密钥信任机制3、物联网终端用户4、物联网数据所有者5;所述密钥信任机制3用于根据物联网终端用户的id和私密值参数生成部分私钥和部分公钥,并将所述部分私钥和部分公钥发送给边缘节点2。所述密钥信任机制3为系统生成主密钥和系统参数,向终端用户和边缘节点发送密钥和系统参数,当终端用户发送请求时,能够生成部分私钥和部分公钥,并将其发送给边缘节点。本发明假设密钥信任机制是半可信的。所述边缘节点2用于根据所述部分私钥和所述部分公钥生成公钥,并将所述公钥和所述部分私钥发送给所述核心云平台1;边缘节点2部署在网络的边缘,提供各种服务,包括主边缘节点enm和相邻边缘节点ena。边缘节点主要负责生成公钥;通过安全信道传输公钥和密文。具体的,所述边缘节点2包括主边缘节点和相邻边缘节点;所述主边缘节点用于根据所述部分私钥和所述部分公钥生成公钥,并将所述公钥和所述部分私钥发送给所述核心云平台;所述相邻边缘节点用于对所述密文进行验证,并将验证后的密文通过核心云平台发送给所述物联网终端用户。所述核心云平台1用于存储所述公钥,并将所述公钥和所述部分私钥发送给所述物联网终端用户4。所述核心云平台1拥有高计算力和高数据存储容量,能够用于存储最终的秘钥和密文。所述物联网终端用户4用于根据所述公钥和所述部分私钥生成私钥;所述物联网终端用户4用于生成终端用户的私密值、私密值参数及其私钥并存储。物联网终端用户连接到边缘设备,接收到边缘节点中的公钥及密文后,解密密文,来完成数据安全访问。所述物联网数据所有者5用于根据物联网终端用户的请求从所述核心云平台1获取请求的物联网终端用户5的公钥,利用标量点乘法对应用户请求访问的明文进行加密,生成密文,并将密文发送给所述边缘节点2;所述物联网数据所有者5用于存储物联网设备中的临时数据及一些实时数据,可以获取云中的资源,还用于生成密文并传输给边缘节点。所述边缘节点2还用于对所述密文进行验证,并将验证后的密文通过核心云平台1发送给所述物联网终端用户4;所述物联网终端用户4用于根据所述物联网终端用户的私钥对所述密文进行解密,获得明文。如图3所示本发明还提供一种物联网数据传输系统的密钥生成方法,所述密钥生成方法包括如下步骤:通过密钥信任机制生成公共参数和主密钥;具体包括:随机生成第一素数k和与所述第一素数k互质的第二素数p;生成有限域fp上的椭圆曲线e;在所述椭圆曲线e上选取加性循环群gp;在所述椭圆曲线e上采用椭圆加密ecc算法生成性循环群的生成器p;利用所述生成器p在所述椭圆曲线e选取加性循环群gp;根据所述生成器,利用公式ppub=sp,计算系统公钥ppub;其中,s为从整数集中随机选取的主密钥;选取第一安全散列函数、第二安全散列函数、第三安全散列函数和第四安全散列函数;建立包括第二素数p、有限域fp、椭圆曲线e、加性循环群gp、生成器p、系统公钥ppub、无双线性配对加密算法的对称加密函数ek、对称加密函数对应的解密函数dk、第一安全散列函数h0、第二安全散列函数h1、第三安全散列函数h2和第四安全散列函数h3的公共参数:params=<p,fp,e,gp,p,ppub,ek,dk,h0,h1,h2,h3>。对应图3中的setup.kta步骤,具体的,setup.kta步骤的实现过程为:1.以k作为输入,随机选择素数p(p≥2η),生成椭圆曲线e,并选择gp和p;2.随机选择一个整数作为主密钥,并计算系统的公钥ppub=sp。3.选择3个安全散列函数:5.params=<p,fp,e,gp,p,ppub,ek,dk,h0,h1,h2,h3>其中k为安全参数,η为长整数,e为在有限域fp上定义的椭圆曲线,在e上选择加性循环群gp,p是gp的生成器。ek为对称加密函数,dk为对应的解密函数。通过物联网终端用户根据所述公共参数生成物联网终端用户的id、私密值和私密值参数;具体包括:随机选取第二整数作为物联网终端用户的私密值;根据所述公共参数中的生成器p和所述私密值,利用公式vi=vip,计算物联网终端用户的私密值参数;其中,vi和vi分别表示第i个物联网终端用户的私密值和私密值参数。对应图3中的setup.user步骤,具体的,步骤setup.user的实现过程为:1.随机选择整数2.计算vi=vip;其中vi为用户idi的私密值,vi为其私密值参数。计算完成后通过公共安全信道将idi和vi传送给kta和边缘节点,自己保存vi。通过密钥生成机制根据物联网终端用户的id、私密值参数、公共参数和主密钥,计算物联网终端用户的部分私钥和部分公钥;具体包括:随机选取第三整数;根据物联网终端用户的id和私密值参数、第三整数和公共参数,利用公式ppi=h0(idi,vi)p+dip,计算物联网终端用户的部分公钥;其中,idi、vi、di和ppi分别表示第i个物联网终端用户的id、私密值参数、第三整数和部分公钥,p和h0分别表示公共参数中的生成器p和第一安全散列函数;根据物联网终端用户的id、私密值参数、第三整数、主密钥和公共参数,利用公式psi=h0(idi,vi)+(s+di)(modp),计算物联网终端用户的部分私钥;其中,s和p分别表示主密钥和公共参数中的第二素数;psi表示第i个物联网终端用户的部分私钥。kta从用户接收到idi和vi后,执行以下算法,来得到用户的部分私钥psi和部分公钥ppi,并将psi、ppi通过安全信道传输给边缘节点。对应图3中的keygen.kta步骤,具体的,步骤keygen.kta的实现过程为:1.随机选择整数2.计算ppi=h0(idi,vi)p+dip;3.计算psi=h0(idi,vi)+(s+di)(modp);通过边缘节点根据物联网终端用户的id、私密值参数、部分私钥、部分公钥和公共参数生成物联网终端用户的公钥;具体包括:根据物联网终端用户的部分公钥、部分私钥和公共参数,判断方程psip=ppi+ppub是否成立,得到第一判断结果;其中,psi和ppi分别表示第i个物联网终端用户的部分私钥和部分公钥;p和ppub分别表示公共参数中的生成器和系统公钥;若所述第一判断结果表示成立,则利用公式pki=ppi+h1(idi,vi,di)vi,计算物联网终端用户的公钥;其中,pki、idi、vi和di分别表示第i个物联网终端用户的公钥、id、私密值参数和第三整数;h1表示公共参数中的第二安全散列函数。边缘节点执行keygen.edge算法,以获得用户公钥pki,并保存,对应图3中的keygen.edge步骤,具体的,步骤keygen.edge的实现过程为:1.检查方程psip=ppi+ppub。若成立执行2,若不成立拒绝部分私钥psi和部分公钥ppi。2.计算pki=ppi+h1(idi,vi,di)vi。证明:方程psip=ppi+ppub的建立保证了用户部分私钥验证的正确性,方程的推导过程如下:psip=(h0(idi,vi)+s+di)p=h0(idi,vi)p+dip+sp=ppi+ppub通过以上推导,可得psip=ppi+ppub成立。结果表明,密钥提取算法对用户部分私钥的验证是正确的。通过物联网终端用户根据所述物联网终端用户的id、私密值、私密值参数、公共参数、公钥和部分私钥,生成物联网终端用户的私钥;具体包括:根据所述物联网终端用户的id、私密值、私密值参数、公共参数、公钥和部分私钥,利用公式ski=h0(idi,pki)(psi+h1(idi,vi,di)vi)(modp)生成物联网终端用户的私钥;其中,ski、idi、pki、psi、vi、di和vi分别表示第i个物联网终端用户的私钥、id、公钥、部分私钥、私密值参数、第三参数和私密值;h0、h1和p分别表示公共参数的第一安全散列函数、第二安全散列函数和第二素数。对应图3中的computingsecretkey步骤,具体的步骤computingsecretkey的实现过程为:用户计算ski=h0(idi,pki)(psi+h1(idi,vi,di)vi)(modp)作为私钥,并保存如图3所示,本发明还提供一种物联网数据传输系统的数据传输方法,所述数据传输方法包括如下步骤:物联网终端用户通过边缘节点向物联网数据所有者发送数据访问请求,所述数据访问请求包括访问的物联网终端用户的id;(对应图3中的accessrequest)。物联网数据所有者从通过边缘节点获取请求访问的物联网终端用户的公钥,并根据请求访问的物联网终端用户的id、公钥和公共参数,利用加密算法对用户请求访问的明文进行加密,获得密文,利用公共参数中的加密函数生成密文验证信息,并将密文和密文验证信息发送给边缘节点;对应图3中的sign-cryption步骤,步骤sign-cryption的具体实现过程为:1.计算qi=pki+ppub,其中i=1,2,…n;2.随机选择整数计算w=wp,fi=wh0(idi,pki)qi和αi=h1(idi,fi,w),其中i=1,2,…n;3.随机选择计算多项式4.计算k=h2(ζ),h=h3(m||idr,ζ,a0,a1,…,an-1,w);5.计算h-1使其满足hh-1≡1modp,计算z=h-1(skr+w)(modp);6.密文为t=<idr,w,m,z,h,a0,a1,…an-1>;7.计算b=h0(idr,pkr)w,j=ek(t),8.计算密文验证信息v=<idr,c>。边缘节点根据密文验证信息利用公共参数中的解密函数对所述密文验证信息进行验证,并将验证通过的密文通过核心云平台发送给物联网终端用户;密文验证后的信息的生成过程对应图3中的verify步骤,步骤verify的具体实现过程为:1.计算b=h0(idr,pkr)w,2.计算3.计算t'=dk(j').邻近边缘节点ena运行步骤verify,通过云平台发送t'给终端用户的相邻边缘节点。物联网终端用户利用物联网终端用户的私钥和公共参数,利用解密算法对应的解密函数,对所述验证后的密文进行解密,获得明文。解密算法对应图3中的de-cryption步骤,物联网终端用户从边缘节点获取密文t=<idr,w,m,z,h,a0,a1,…an-1>和t',然后验证t'=t是否正确。如果不正确,输出终止符"⊥"。若正确,每个终端用户都可以用自己的私钥ski和系统公共参数params解密密文t,步骤de-cryption具体过程如下:1.计算fi=skiw,αi=h1(idi,fi,w);2.计算f(x)=a0+a1x+…+an-1xn-1+xn和ξ=f(αi);3.计算k=h2(ξ);4.计算h'=h3(m||idr,ξ,a0,a1,…an-1,w),5.检查h'=h是否成立。若成立执行第6步,否则拒绝接收m并退出签密过程;6.获取pkr并判断hzp=h0(idr,pkr)(pkr+ppub)+w是否成立。7.若成立,则接收明文m并退出签密过程。否则拒绝接收m并退出签密过程;其中pkr为数据所有者r的公钥。证明:通过h'=h和hzp=h0(idr,pkr)(pkr+ppub)+w保证了解密算法的正确性,这两个方程的推导过程如下:1)对于每个终端用户ri,利用密文t,都有fi=skiw和αi=h1(idi,fi,w)。然后利用αi,可计算ξ=f(αi),然后得k=h2(ξ)。最后使得h'=h3(m||ids,ξ,a0,a1,…an-1,w)。故h'=h成立。2)当解密数据所有者的身份idr时,终端用户可以获得数据所有者的公钥并拥有hzp=hh-1(skr+w)p=skrp+w=h0(idr,pkr)(psr+h1(idr,vr,dj)vr)p+w=h0(idr,pkr)(ppr+h1(idr,vr,dj)vr+ppub)+w=h0(idr,pkr)(pkr+ppub)+w即hzp=h1(idr,pkr)(pkr+ppub)+w成立。通过1)和2)的推导过程可得h'=h和hzp=h0(idr,pkr)(pkr+ppub)+w成立。结果表明解密算法是正确的。本发明还对本发明提出的一种物联网数据传输系统及其密钥生成方法和数据传输方法的安全性进行了分析,具体如下:根据安全模型,对本发明所提出的方案的具体安全性证明具体过程为:在定理1中,本发明将证明所提出的方案可以实现suf-clms-cpa-i/2安全性。在定理2中,本发明将证明所提出的方案可以实现ind-clms-cca-i/2安全性。定理1:suf-clms-cpa-1/2。在suf-clms-cpa下,如果有一个对手a1/a2可以在多项式运行时间τ中以不可忽略的概率优势赢得定义3中的博弈。则挑战者b可以通过与对手ai在时间τ'≤τ+(2qkey+2qes)o(τs)内(与对手aii在时间τ'≤τ+(3qkey+2qes)o(τs))相互作用来解决cdh,具有不可忽略的概率优势ε'≥(ε-qes/2k)/2,其中τs是椭圆曲线标量点的时间乘法运算,qkey是密钥查询的时间,qes是签密查询的时间,qde是密钥查询的时间,qh是哈希查询的时间(h=0,1,2,3)。证明:假设对手ai/a2可以以不可忽略的概率优势攻击suf-clms-cpa安全性,并在随机预言模型下向挑战者b询问一系列查询。给定一组元素<p,ap,bp>,挑战者b通过在时间有界多项式内与对手a1/a2进行交互来计算abp来解决cdh。攻击者b和对手ai/a2之间的相互作用如下所示:(1)设置阶段:对于a1攻击者:b运行此算法生成主密钥和系统的公共参数params=<p,fp,e,gp,p,ppub=ap,h0,h1,h2,h3>,然后将params发送给a1的同时在私密保存s。在接收params后,a1输出一组目标身份l={id1,id2,…idn},其中n表示正整数。对于a2攻击者:b运行此算法生成主密钥和系统的公共参数params=<p,fp,e,gp,p,ppub=ap,h0,h1,h2,h3>,然后将params和s发送到a2。在接收到params和s时,aii输出一组目标身份l={id1,id2,…idn},其中n表示正整数。应该注意的是,h0,h1,h2和h3是由b控制的随机预言模型,a1/a2和b之间的随机预言模型相互作用如下所示:1)h0哈希查询:使用元组<idj,vj>和<idj,pkj>作为输入,ai/a2要求b进行h0哈希查询。在接收到查询时,b检查元组<idj,vj,μj>和<idj,pkj,δj>是否在列表l0中。如果是,则b将μj和δj返回给a1/a2。否则,b随机选择一个整数并将其返回给a1/a2。同时,b更新列表l0中的元组<idj,vj,μj>和<idj,pkj,δj>。2)h1哈希查询:使用元组和<idj,vj,di>和<idj,fj,wj>作为输入,a1/a2要求b进行h1哈希查询。在接收到查询时,b检查元组<idj,vj,di,θj>和<idj,fj,wj,αj>是否在列表l1中。如果是,则b将θj和αj返回a1/a2。否则,b随机选择两个整数并将它们返回给a1/a2。同时,b更新列表l1中的元组<idj,vj,di,θj>和<idj,fj,wj,αj>。3)h2哈希查询:使用元组<ζj>作为输入,a1/a2要求b进行h1哈希查询。在接收到查询时,b检查元组<ζj,kj>是否在列表l2中。如果是,则b将kj返回a1/a2。否则,b随机选择两个整数并将它们返回给a1/a2。同时,b更新列表l2中的元组<ζj,kj>。4)h3哈希查询:使用元组<mj||ids,ζj,aj,0,aj,1,…aj,n-1,wj>作为输入,ai/a2要求b进行h2哈希查询。在接收到查询时,b检查元组<mj||ids,ζj,aj,0,aj,1,…aj,n-1,wj,hj>在列表l3中。如果是,b将hj返回a1/a2。否则,b随机选择一个整数并将其返回给a1/a2。同时,b更新列表l3中的元组<mj||ids,ζj,aj,0,aj,1,…aj,n-1,wj,hj>。(2)查询阶段:a1/a2要求b进行一系列自适应查询,b响应如下:1)密钥查询:对于a1攻击者:b检查元组<idj,skj,pkj,vj,psj>是否在列表lc中。如果是,b保留元组。否则,b执行如下:a)如果idj=idi,其中i=1,2,…,n,b随机选择两个整数设置vj=vjp和skj←⊥,计算ppj=h0(idi,vi)p+dip和pkj=ppj+h1(idj,vj,dj)vj,然后更新列表lc中的元组<idj,skj,pkj,vj,psj>。b)如果idj≠idi,i=1,2,…,n,b随机选择两个整数设置vj=vjp,计算ppj=psjp-ppub,pkj=ppj+h1(idj,vj,dj)vj和skj=h0(idj,pkj)(psj+h1(idj,vj,dj)vj(modp),然后更新列表lc中的元组<idj,skj,pkj,vj,psj>。对于a2攻击者:b检查元组<idj,skj,pkj,vj,psj>是否在列表lc中。如果是,b保留元组。否则,b执行如下:a)如果idj=idi,i=1,2,…,n,b随机选择两个整数计算psj=h0(idi,vi)+(s+di)(modp)和pkj=h0(idj,vj)p+djp+h0(idj,vj,dj)vj,然后更新列表lc中的元组<idj,skj,pkj,vj,psj>,其中vj=vjp和skj←⊥。b)如果是idj≠idi,i=1,2,…,n,b随机选择两个整数并计算psj=h0(idi,vi)+(s+di)(modp),pkj=h0(idj,vj)p+djp+h0(idj,vj,dj)vj,和skj=h0(idj,pkj)(psj+h1(idj,vj,dj)vj)(modp),然后更新列表lc中的元组<idj,skj,pkj,vj,psj>,其中vj=vjp。2)私密值设置查询:a1/a2请求b对idj进行私密值设置查询。在接收到查询时,b检查元组<idj,skj,pkj,vj,psj>是否在列表lc中。如果是,则b将vj返回给a1/a2。否则,b执行密钥查询以获得元组<idj,skj,pkj,vj,psj>,并将vj返回给a1/a2。3)部分私钥生成查询:a1/a2请求b对idj进行的extractpartial-private-key查询。收到查询后,b执行如下:a)如果idj=idi,i=1,2,…,n,b向a1/a2返回“失败”。b)如果是idj≠idi,i=1,2,…,n,b检查元组<idj,skj,pkj,dj,vj,psj>是否在列表lc中。如果是,b将psj返回a1/a2。否则,b执行密钥查询以获得元组<idj,skj,pkj,vj,psj>并psj返回给a1/a2。4)公钥生成查询:ai/a2要求b对idj进行set-public-key查询。在接收到查询时,b检查元组<idj,skj,pkj,vj,psj>是否在列表lc中。如果是,b将pkj返回a1/a2。否则,b执行密钥查询以获得元组<idj,skj,pkj,vj,psj>并将pkj返回给a1/a2。5)私钥生成查询:ai要求b对idj进行set-private-key查询。收到查询后,b回复如下:a)如果idj=idi,i=1,2,…,n,b向ai返回“失败”。b)如果是idj≠idi,i=1,2,…,n,b检查元组<idj,skj,pkj,dj,vj,psj>是否在列表lc中。如果是,则b将skj返回给a1。否则,b执行密钥查询以获得元组<idj,skj,pkj,vj,psj>并将skj返回给ai。6)公钥替换查询:a1要求b利用pk'j对idj进行的publickey-replacement查询。在接收到查询时,b在列表lc中搜索元组<idj,skj,pkj,dj,vj,psj>并用pk'j替换pkj。然后,b更新列表lc中的元组<idj,skj,pkj,vj,psj>。注意:a2没有公钥替换查询。7)签密查询:a1/a2要求b对明文m和身份信息ids进行上的sign-cryption查询。收到查询后,b判断ids≠idi是否成立,i=1,2,…,n。如果是,则b执行私钥生成查询以获得私钥sks,生成密文t,并将t返回给a1/a2。否则,b执行如下:a)随机选择整数并计算w=wp,fj=wh0(idj,pkj)(pkj+ppub)和αj=h1(idj,fj,w),j=1,2,…,n;b)随机选择整数构造多项式c)计算k=h2(ζ)和h=h3(m||ids,ζ,a0,a1,...an-1,w);d)随机选择整数e)返回密文t=<ids,m,w,z,h,a0,a1,…an-1>到a1/a2。8)解密签名查询:a1/a2要求b对密文t进行解密签密查询。收到查询后,b随机选择一个身份信息idj,判断idj=idi是否正确,i=1,2,...,n。如果是,b将“失败”返回给a1/a2。否则,b执行如下:a)在列表lc中搜索元组<idj,skj,pkj,vj,psj>以获得skj,并计算fj=skjw和αj=h1(idj,fj,w);b)计算f(x)=a0+a1x+…an-1xn-1+xn,并通过f(x)和αj获得ζ;c)计算k=h2(ζ);d)判断方程hzp=h0(ids,pks)(pks+ppub)+w是否成立。如果是,b将m返回a1/a2。否则,b将“失败”返回给ai/a2。(3)伪造阶段:a1/a2利用一组目标身份l={id1,id2,…idn}和明文m,伪造一个新的密文t*=<idi,m,w,z,h,a0,a1,…an-1>,。如果等式h=h'和hzp=h0(ids,pks)(pks+ppub)+w成立,则密文t*被成功伪造。并且设置pk'i=b-1pki和fi=b(pk'i+ppub),b计算fi=pki+abp,并输出abp=fi-pki作为cdh的解决方案。否则,b输出“失败”。通过上面的讨论,可以得出结论。对于a1类攻击者:在qa签密查询期间,其成功的概率优势至少是εes=ε-qes/2k。并且在伪造过程中,b计算abp的正确概率至少为εg=1/2。因此,b通过与对手ai在运行时间τ'≤τ+(2qkey+2qes)o(τs)内,交互来解决cdh的概率优势是ε'≥εesεg=(ε-qes/2k)/2,其中τs是椭圆曲线标量点乘法运算的时间。对于a2类攻击者:在qa签密查询期间,其成功的概率优势至少是εes=ε-qes/2k。并且对于伪造过程,b计算abp的正确概率至少为εg=1/2。因此,b通过与对手aii在运行时间τ'≤τ+(3qkey+2qes)o(τs)内τ交互,来解决cdh的概率优势是ε'≥εesεg=(ε-qes/2k)/2,其中τs是椭圆曲线标量点乘法运算的时间。定理2:ind-clms-cca-1/2。在ind-clms-cca下,如果有一个对手a1/a2在多项式运行时间内以不可忽略的概率优势赢得定义4中的博弈,(ai/a2可以请求与定理1中相同的查询),挑战者b可以与对手a1在时间τ'≤τ+(2qkey+3qde)o(τs)内进行交互来解决cdh(与对手a2在时间τ'≤τ+(3qkey+3qde)o(τs)上相互作用来解决cdh),并且具有不可忽略的概率优势ε'≥(ε-qdeq3/2k)/nq1,其中τs是椭圆曲线标量点乘法运算的时间。证明:假设对手ai/a2可以以不可忽略的概率优势攻击ind-clms-cca安全性,并在随机预言模型下向挑战者b询问一系列查询。给定一组元素<p,ap,bp>,挑战者b通过在时间有界多项式内与对手a1/a2进行交互来计算abp来解决cdh。。攻击者b和对手a1/a2之间的交互如下所示:(1)设置阶段:该步骤与定义1中的设置阶段相同。(2)查询阶段:ai/a2要求b进行与定理1中的自适应查询相同,并作出响应。(3)博弈阶段:对于攻击者a1:ai随机选择一对长度相等的明文<m0,m1>,并将它们发送给b。收到<m0,m1>后,b随机选择β∈{0,1}并用选择的明文mβ生成密文t*,如下所示:a)设置wi=bpki,fi=b(pki+ppub)和αi=h1(idi,fi,wi),其中i=1,2,...,n;b)随机选择整数并构造多项式c)计算k=h2(ζ)和h*=h3(mβ||ids,ζ,a0,a1,...an-1,wi);d)随机选择整数e)返回密文t*=<idi,m,wi,z,h,a0,a1,…an-1>到a1。注意:a1不能对t*执行解密签名查询,a1博弈中胜利的条件为:a1猜测β*=β成立。若成立,则a1赢得游戏,b输出abp=wi-fi作为cdh的解决方案。否则,b输出“失败”。对于攻击者a2:aii随机选择一对长度相等的明文<m0,m1>,并将它们发送给b.收到<m0,m1>后,b随机选择β∈{0,1}并用选择的明文mβ生成密文t*,如下所示:a)设置wi=b(pki+y),fi=b(pki+ppub)和αi=h1(idi,fi,wi),其中y=k+ppub和i=1,2,...,n;b)随机选择整数并构造多项式c)计算k=h2(ζ)和h*=h3(mβ||ids,ζ,a0,a1,...an-1,wi);d)随机选择整数e)返回密文t*=<idi,m,wi,z,h,a0,a1,…an-1>到aii。aii无法对t*执行解密签名查询。a2博弈胜利的条件是猜测β*=β成立。若成立,则aii赢得游戏,b输出abp=wi-fi作为cdh的解决方案。否则,b输出“失败”。通过上面的讨论,可以得出结论。对于a1:在解密查询期间,h3哈希可以提供有效的密文,所以一个有效的密文被拒绝的概率不大于q3/2k。由于a1在攻击过程中要求b进行qd解密查询,因此b成功解密密文的概率优势是εde≥ε-q3qde/2k。在博弈过程中,h1哈希值满足cdh,因此b计算abp的正确概率至少为εg=1/nq1。因此,b与对手a1在运行时间τ'≤τ+(2qkey+3qde)o(τs)内的交互来解决cdh的概率优势为ε'≥εdeεg≥(ε-qdeq3/2k)/nq1,其中τs椭圆曲线标量点乘法运算的时间。对于a2:在解密查询期间,h2哈希可以提供有效的密文,因此拒绝有效密文的概率不大于q3/2k。由于aii在攻击过程中要求b进行qd解密查询,因此b成功解密密文的概率优势是εde≥ε-q3qde/2k。并且在猜测过程中,h1哈希值满足cdh,因此b计算abp的正确概率至少为εg=1/nq1。因此,b可以通过与对手aii在运行时间τ'≤τ+(3qkey+3qde)o(τs)内,交互来解决cdh的概率优势为ε'≥εdeεg≥(ε-qdeq3/2k)/nq1,其中τs是椭圆曲线标量点乘法运算的时间。本发明还对本发明提出的方案与现有技术中的方案进行了比较,以说明本发明的技术效果。将本发明的技术方案与文献islamsh,khanmk,al-khouriam.anonymousandprovablysecurecertificatelessmultireceiverencryptionwithoutbilinearpairing[j].securityandcommunicationnetworks,2015,8(13):2214-2231中islam等人的椭圆加密方案,文献hed,wangh,wangl,etal.efficientcertificatelessanonymousmulti-receiverencryptionschemeformobiledevices[j].softcomputing,2016中he等人的椭圆加密方案,文献selvissd,vivekss,shuklad,etal.efficientandprovablysecurecertificatelessmulti-receiversigncryption[c]//internationalconferenceonprovablesecurity.springer,berlin,heidelberg,2008中selvi等人的双线性配对加密方案和文献lif,shirasem,takagit.certificatelesshybridsigncryption[c]//proceedingsofthe5thinternationalconferenceoninformationsecuritypracticeandexperience.springerberlinheidelberg,2009中hung等人的双线性配对加密方案进行对比。a.效率比较通过仿真实验测试出一些基本运算消耗的时间:tp表双线性对运算耗费的时间;te表模幂运算耗费的时间;tpe表双线性对指数运算;ta点加运算耗费的时间;tsm表标量点乘运算耗费时间;th是hash函数映射到点(mtp)耗费的时间。实验环境是戴尔笔记本(i5-4200ucpu@1.60ghz8gb内存windows7操作系统),以上基本运算耗费的时间如表1所示。值得注意的是,本发明只考虑表1中定义的这些操作的时间,并且不考虑其他操作的时间,因为与表1中定义的操作相比,它们的运行时间可以忽略不计。表1基本运算消耗的时间/mstptetpetsmthta12.01934.0689.0456.0326.7200.023表2显示了本发明的方案与selvi等人的双线性配对加密方案、hung等人的双线性配对加密方案、islam等人的椭圆加密方案、he等人的椭圆加密方案的加密和解密阶段的效率比较。其中n为数据接收者的数量。由于系统设置、密钥生成阶段主要是在密钥信任机制(kta)上进行的,并且这两个阶段的重点是其安全性,这在第五章已经讨论。故我们研究加密和解密阶段的效率。方案selvi等人的双线性配对加密方案、hung等人的双线性配对加密方案的无证书加密是基于双线性配对加密方案,islam等人的椭圆加密方案、he等人的椭圆加密方案和本发明的方案是基于ecc中标量点乘法来进行加密解密操作的。从表2可以看出,本发明的方案效率比selvi等人的双线性配对加密方案,hung等人的双线性配对加密方案更有效,但低于islam等人的椭圆加密方案,he等人的椭圆加密方案。原因是本发明的方案解密过程有验证消息来源的步骤,但方案islam等人的椭圆加密方案,he等人的椭圆加密方案没有。表2算法效率比较b.功能比较当本发明的数据接收者的数量n=1时,本发明的方案与selvi等人的双线性配对加密方案、hung等人的双线性配对加密方案、islam等人的椭圆加密方案、he等人的椭圆加密方案的比较如图4所示,通过图4可明显得出,本发明的方案比无证书的基于双线性加密的方案在加密阶段和解密阶段效率提升较大。根据本发明提供的具体实施例,本发明公开了以下技术效果:本发明提出了一种物联网数据传输系统及其密钥生成方法和数据传输方法,本发明提出了将无双线性配对的无证书多接收机方案应用到边缘计算中,其中利用标量点乘法来提高计算效率。为保证密钥的安全性,利用密钥信任机制(kta)和边缘节点、用户分别计算私钥和公钥,既保证了密钥的安全性,又减少了用户端的计算量,提高了传输效率。本发明提出了一种边缘计算中基于无双线性配对(unbilinearpairwiseencryption)upe的加密方案,提高数据访问控制的安全性。并将部分加密、解密操作外包给kta,减少终端用户的计算量;密钥生成由密钥信任机制、用户和边缘节点共同完成,保证了其安全性。本说明书中等效实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,等效实施例之间相同相似部分互相参见即可。本文中应用了具体个例对发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想,所描述的实施例仅仅是本发明的一部分实施例,而不是全部的实施例,基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1