首页> 中国专利> 一种空间信息网络中可跨域的基于身份广播加密方法

一种空间信息网络中可跨域的基于身份广播加密方法

摘要

本发明公开了一种空间信息网络中可跨域的基于身份广播加密方法实现步骤包括:1、系统安全初始化;2、源端安全域内广播加密传输信息;3、判断源端安全域代理是否属于接收用户;4、代理安全域内广播加密传输信息;5、判断目的安全域是否属于接收用户;6、目的安全域内广播加密传输信息;7、操作完成,退出。本发明在安全域使用基于身份的广播加密前提下,跨域的广播加密通过在源端安全域、代理安全域和目的安全域三个阶段的消息传播,使得发送方不需要涉及接受方所在域内的安全体制,进而实现了各个不同域之间的信息传输,可以用于空间信息网络等技术领域。

著录项

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2018-11-30

    授权

    授权

  • 2016-10-26

    实质审查的生效 IPC(主分类):H04L29/06 申请日:20160506

    实质审查的生效

  • 2016-09-28

    公开

    公开

说明书

技术领域

本发明属于无线通信技术领域,更进一步涉及网络安全技术领域中的一种空间信息网络中可跨域的基于身份广播加密方法。本发明以基于身份广播加密体制为基础,提出了一种可用于空间信息网中,实现接收用户可以分布于不同的多个安全域之间,相互进行广播加密的安全传输方法。

背景技术

随着航天技术的飞速发展,我国的空间信息网也在不断地建设和完善着。空间信息网是由具有空间通信能力的航天器,如卫星、航天飞机等和地面站组成的网络信息系统,它能够实现地面站与卫星、空间站之间的互联互通功能。它能把部署在不同轨道的、执行不同任务的各类卫星、飞行器等空间站和地面系统联系起来。同时,航空器,如飞机、热气球等也能够接入空间信息网。空间信息作为国家重要的空间信息基础设施,对于提高我国的国际地位,促进经济社会的发展,保障国家安全等许多方面,具有十分重大特殊的战略意义。

由于空间信息网中空、天结点的暴露性及无线的通信方式使通信信号易受到截获、干扰、侵入等安全威胁,空、天结点甚至会受到攻击和摧毁,使得空间信息网络面临极大的安全威胁,无法实现基于空间信息网络的跨域协同操作。当空间信息网将涉及到多个安全域时,难以实现多个安全域间的协同操作。

未来空间信息网应用呈现多样性,将会遇到终端面向的环境不同、安全需求不同、安全机制不同等方面问题,空间信息网将涉及到多个安全域。安全域是由在同一工作环境中、具有相同或相似的安全保护需求和保护策略、相互信任、相互关联或相互作用的实体组成的网络。对于每一个安全域而言,至少存在一个代理结点用来实现代理结点与域内结点的安全关联以及域内结点间的安全关联。同时,代理结点也为安全域间或跨域结点间的安全提供支持。

如何保证多个不同安全域之间的数据安全可靠地进行信息传输是网络安全领域一个重要的议题,也是要实现异构多域环境下核心安全任务之一。可跨域的基于身份广播加密方法是实现一个发送者向多个可能处于不同安全域的授权接受者发送相同消息的安全技术,能够实现上述网络应用的安全需求。

B.Malek和A.Miri在其发表的论文“Adaptively secure broadcast encryption with short ciphertexts(International Journal of Network Security,2012)”中提出了一种短密文大小的广播加密方法。该方法的主要步骤是:(1)系统初始化时,私钥生成中心输入系统参数以及接受用户的数量,计算出公开参数和主秘钥。(2)加密时,发送者用授权接收者的身份信息集合、授权接收者的公钥以及所要发送的明文消息计算得到密文,并将密文进行广播;(3)解密时,接收者首先判断自身是否在授权接收者的身份信息集合里,若是,则向私钥颁发中心获取自身私钥,然后解密出明文,否则,拒绝接受消息。该方法存在的不足之处是:首先,虽然该方案构造出的固定长度密文有利于信息的快速传输,但是它公开参数的大小会随着系统中用户总数的增加而线性增长。当系统用户的数量过大时,需要花费过多的开销。其次,在该文献提出的方案属于地面网络中的传统广播安全传输解决方案,由于没有考虑到空间网络具有复杂性、异构性、高动态性、信道开放性等特点,所以并不适用于空间网络。

北京航天航空大学在其申请的专利“一种基于身份的分层广播加密方法”(申请号201410209022.9,申请日期2014.05.16,公开日期2014.08.13)中提出了一种基于身份的分层广播加密方法。该方法的主要步骤是:(1)初始化模块。私钥生成中心将系统安全参数、用户分层结构的最大深度和用户数量的最大值作为输入,输出主密钥和公钥;(2)数据加密模块。加密方在这一模块中将公钥和待加密的消息以及接收密文用户的身份向量集合V作为输入,输出加密后的密文;(3)私钥生成模块。私钥生成中心将用户的身份ID、代理和主密钥输入,生成对应的私钥;(4)解密模块。将接收密文用户的身份向量集合V、加密后的密文和用户私钥作为输入,如果满足条件ID∈V,则该模块输出正确的明文消息,否则,系统输出无效符号。该方法存在的不足之处是:首先,用户的公开参数是与系统用户的总数量成线性相关的,当系统用户数量过多时,必然会影响着该广播加密方案的性能。其次,该方案的构建过程只考虑了同一安全域的广播加密过程,它并不能直接使用于空间信息网络中的广播加密。

发明内容

本发明的目的在于克服上述现有技术的不足,提出一种空间信息网络中可跨域的基于身份广播加密方法,以满足空间信息网的特点,保证其各个安全域之间的用户可以进行安全的广播加密传输。

为实现上述目的,本发明采用的技术方案包括以下步骤:

(1)系统安全初始化:

运行系统初始化算法,对源端安全域S的私钥颁发中心PKGS、代理安全域A的私钥颁发中心PKGA和目的安全域D的私钥颁发中心PKGD分别进行初始化,获得源端安全域S的公开参数PKS和其主密钥MSKS、代理安全域A的公开参数PKA和其主密钥MSKA、目的安全域D的公开参数PKD和其主密钥MSKD

(2)源端安全域S内广播加密传播信息:

(2a)将所有安全域的接收用户集合输入到源端安全域S的发送方UserS,源端安全域S的发送方UserS运行解析消息队列算法,得到消息队列MQ;

(2b)将消息队列MQ输入到源端安全域S的发送方UserS,源端安全域S的发送方UserS运行解析源端系数向量算法,得到源端安全域S的接收用户集合和源端安全域S的系数向量

(2c)将明文信息M、消息队列MQ、源端安全域S的公开参数PKS和源端安全域S的接收用户集合输入到源端安全域S的发送方UserS,源端安全域S的发送方UserS运行加密算法,得到密文信息CTS并广播信息;

(2d)源端安全域S的私钥颁发中心PKGS运行私钥生成算法,得到源端安全域S的接收用户的私钥di,S

(2e)将接收到的密文信息CTS、源端安全域S接收用户的私钥di,S、源端安全域S的接收用户集合输入到源端安全域S的接收用户ClientS,源端安全域S的接收用户ClientS运行解密算法,获得明文信息M和消息队列MQ;

(3)判断源端安全域代理AgentS是否在源端安全域S的接收用户集合中,若是,则执行步骤(4),否则,执行步骤(7);

(4)代理安全域A内广播加密传播信息:

(4a)将消息队列MQ输入到源端安全域代理AgentS,源端安全域代理AgentS运行解析代理系数向量算法,得到代理安全域A的接收用户集合和代理安全域A的系数向量

(4b)将明文信息M、消息队列MQ、代理安全域A的公开参数PKS以及代理 安全域A的接收用户集合输入到源端安全域代理AgentS,源端安全域代理AgentS运行加密算法,得到密文信息CTA并广播信息;

(5)判断代理安全域A的目的安全域代理AgentD是否在代理安全域A的接收用户集合中,若是,则执行步骤(6),否则,执行步骤(7);

(6)代理安全域A内广播加密传播信息:

(6a)代理安全域A的私钥颁发中心PKGA运行私钥生成算法,得到目的安全域代理AgentD的私钥di,D

(6b)将接收到的密文信息CTA、目的安全域D接收用户的私钥di,D、代理安全域A的接收用户集合输入到目的安全域代理AgentD,目的安全域代理AgentD运行解密算法,获得明文信息M和消息队列MQ;

(6c)将消息队列MQ输入到目的安全域代理AgentD,目的安全域代理AgentD运行解析目的系数向量算法,得到目的端安全域D的接收用户集合和目的安全域D的系数向量

(6d)将明文信息M、目的安全域D的公开参数PKD以及目的端安全域D的接收用户集合输入到目的安全域代理AgentD,目的安全域代理AgentD运行加密算法,得到密文信息CTD并广播信息;

(6e)目的安全域D的私钥颁发中心PKGD运行私钥生成算法,得到目的安全域D的接收用户的私钥di,D

(6f)将接收到的密文信息CTD、目的安全域D接收用户的私钥di,D、目的端安全域D的接收用户集合输入到目的安全域D的接收用户ClientD,目的安全域D的接收用户ClientD运行解密算法,得到明文信息M;

(7)操作完成,退出。

本发明具有如下优点:

第一,本发明在系统安全初始化中,所产生的公开参数大小只与安全域内所有接收集合的最大值有关,并不会随着安全域内用户总数的增加而线性增长,可满足空间信息网拓扑结构高动态性以及空间结点能力有限的特点;

第二,本发明在安全域使用基于身份的广播加密前提下,其跨域的广播加密通过在源端安全域、代理安全域和目的安全域三个阶段的消息传播,使得发送方 不需要涉及接收方所在域内的安全体制,进而实现了各个不同域之间的信息传输,可以满足空间信息网异构多安全域并存的特点。

附图说明

图1是本发明使用的基于身份的广播加密模型;

图2是本发明使用的网络模型;

图3是本发明的流程图;

图4是本发明获取消息队列步骤的流程图;

图5是本发明解析源端系数向量步骤的流程图;

图6是本发明解析代理系数向量步骤的流程图;

图7是本发明解析目的系数向量步骤的流程图。

具体实施方式

下面结合附图,对本发明作进一步详细的描述。

参照图1,本发明所适用的基于身份的广播模型包括加密方、解密方以及私钥颁发中心。其中,发送方将明文消息加密成密文消息并发送给接收方;接收方向私钥颁发中心索取自身的私钥,私钥颁发中心产生接收方的私钥并返回给接收方;接收方将密文消息解密,得到明文消息。

参照图2,本发明所适用的网络模型包括源端安全域S、代理安全域A和目的安全域D这三个安全域。其中源端安全域S有源端安全域代理AgentS、源端安全域发送用户UserS和源端安全域私钥颁发中心PKGS;目的安全域D有目的安全域代理AgentD、目的安全域接收用户ClientD和目的安全域私钥颁发中心PKGD;代理安全域A有源端安全域代理AgentS、目的安全域代理AgentD和源端安全域私钥颁发中心PKGS;源端安全域代理AgentS与目的安全域代理AgentD已经建立安全关联,并且它们之间存在一个安全信道。

安全域是由在同一工作环境中、具有相同或相似的安全保护需求和保护策略、相互信任、相互关联或相互作用的实体组成的网络。对于每一个安全域而言,至少存在一个安全域代理用来实现安全域代理与域内网络端点的安全关联以及域内网络端点间的安全关联。同时,安全域代理也为安全域间或跨域网络端点间的安全提供支持。每个安全域的代理又共同组合成一个代理安全域。其中,安全域中每个用户将自身的身份作为各自的身份标识,将每个域中代理的身份作为该 域的域标识。

参照图3,本发明在上述两个模型下进行空间信息网跨域基于身份的广播加密包括:系统初始化、源端安全域内传播、代理安全域内传播和目的安全域内传播四个阶段,其中,在代理安全域内传播前需要检验源端安全域代理是否属于接收用户,在目的安全域传播前需要检验目的端安全域代理是否属于接收用户。

一、系统初始化阶段。

步骤1.系统安全初始化。

运行系统初始化算法,对源端安全域S的私钥颁发中心PKGS、代理安全域A的私钥颁发中心PKGA和目的安全域D的私钥颁发中心PKGD分别进行初始化,获得源端安全域S的公开参数PKS和其主密钥MSKS、代理安全域A的公开参数PKA和其主密钥MSKA、目的安全域D的公开参数PKD和其主密钥MSKD

初始化算法的具体步骤如下:

第1步,私钥颁发中心PKG对系统输入的安全参数进行系统初始化,分别输出三个离散的大素数因子P1、P2、P3,两个阶数为N的循环乘法群G和循环乘法群GT,以及一个双线性映射:G×G→GT;其中,N为P1、P2和P3的乘积,×表示笛卡尔集操作,→表示双线性映射操作。

第2步,私钥颁发中心PKG从阶数为P1的循环乘法群GP1中随机选取一个生成元g,根据生成元g随机得出元素u,w,v,h。

第3步,将域内接收用户集合的最大值n输入到私钥颁发中心PKG,私钥颁发中心PKG从域ZN中随机指数δ以及随机n个元素αi,将随机指数δ作为该域的主密钥MSK,将n个随机元素组成用户向量其中,域ZN表示从0到N-1的整数集合,i表示第i个随机元素。

第4步,私钥颁发中心PKG进行一次双线性对运算,得到循环乘法群GT中的一个元素e(g,h)δ

第5步,按照下式,获得公开参数:

PK=·{g,u,w,vαi,hαi,e(g,h)δ:in}

其中,PK表示公开参数,g、u、w、v、h分别表示循环乘法群GP1中的随机元素,αi表示域ZN中的第i个随机元素,i的大小取值范围[1,n],n表示域内 的接收用户集合的最大值,e(g,h)δ表示循环乘法群GT的一个元素。

源端安全域S的私钥颁发中心PKGS输入自身的系统安全参数λS和所有集合中用户数量的最大值nS,进行系统安全初始化,将δS作为源端安全域的主密钥MSKS,源端安全域S将作为公开参数PKS

其中,下标S表示该参数属于源端安全域的参数,δS表示源端安全域的主密钥,nS表示源端安全域中接收用户集合的最大值,gS,uS,wS,vS,hS分别表示源端安全域中的5个随机元素,αi表示第i个从域中的随机元素,i的范围取值为[1,nS],e(gS,hS)表示对元素gS和hS进行一次双线性对运算的结果。

代理安全域A的私钥颁发中心PKGA输入自身的系统安全参数λA和所有集合中用户数量的最大值nA,进行系统安全初始化,将δA作为代理安全域的主密钥MSKA,将作为公开参数PKA

其中,下标a表示该参数属于源端安全域的参数,δA表示代理安全域的主密钥,nA表示代理安全域中接收用户集合的最大值,gA,uA,wA,vA,hA分别表示代理安全域中的5个随机元素,αi表示第i个从域中的随机元素,i的范围取值为[1,nA],e(gA,hA)表示对元素gA和hA进行一次双线性对运算的结果。

目的安全域S的私钥颁发中心PKGD输入自身的系统安全参数λD和所有集合中用户数量的最大值nD,进行系统安全初始化,将δD作为目的安全域的主密钥MSKD,将作为公开参数PKD

其中,下标d表示该参数属于目的安全域的参数,δD表示目的安全域的主密钥,nD表示目的安全域中接收用户集合的最大值,gD,uD,wD,vD,hD分别表示目的安全域中的5个随机元素,αi表示第i个从域中的随机元素,i的范围取值为[1,nD],e(gD,hD)表示对元素gD和hD进行一次双线性对运算的结果。

二、源端安全域内传播阶段。

步骤2.源端安全域S内广播加密传播信息。

将所有安全域的接收用户集合输入到源端安全域S的发送方UserS,源端安全域S的发送方UserS运行解析消息队列算法,得到消息队列MQ。

下面结合附图4,对解析消息队列算法的具体步骤描述如下:

第1步,将所有安全域中用户的身份作为各自的身份标识,将每个域中代理的身份作为该域的域标识。

第2步,所有安全域内的用户在各自身份标识之后添加各自用户所在域的域标识,组成各自的用户信息。

第3步,所有安全域内的接收用户按照各自用户信息中的域标识,将具有相同域标识的接收用户组成同一域内的接收用户集合。

第4步,将每个域的域标识与同一域内的接收用户集合的所有身份标识首尾相接,组成各自安全域的身份队列,其中可得到的身份队列包含具有源端安全域S域标识的身份队列和具有目的安全域D域标识的身份队列。

第5步,设置一个只具有源端安全域S域标识的身份队列的消息队列MQ。

第6步,判断具有目的安全域D域标识的身份队列是否只有一个域标识,若是,则执行第8步,否则,执行第7步。

第7步,将具有目的安全域D域标识的身份队列加入到消息队列MQ中,得到所有安全域内的接收用户所在域的消息队列MQ。

第8步,无需进行任何添加操作,直接得到所有安全域内的接收用户所在域的消息队列MQ。

将消息队列MQ输入到源端安全域S的发送方UserS,源端安全域S的发送方UserS运行解析源端系数向量算法,得到源端安全域S的接收用户集合和源端安全域S的系数向量

下面结合附图5,对解析源端系数向量算法的具体步骤描述如下:

第1步,依次查询消息队列MQ中每个身份队列的域标识,从中取出具有源端安全域S域标识的身份队列;

第2步,设置一个空的源端安全域S接收用户的身份集合;

第3步,从具有源端安全域S域标识的身份队列中取出该域内接收用户集合的所有身份标识,加入到源端安全域S接收用户的身份集合;

第4步,判断消息队列MQ中是否含有非源端安全域S的身份队列,若有,则执行第5步,否则,执行第6步;

第5步,将源端安全域代理AgentS的身份标识加入到源端安全域S接收用户 的身份集合中;

第6步,将具有源端安全域S域标识的身份队列,从消息队列MQ中删除;

第7步,将源端安全域S接收用户的身份集合中所有的身份标识作为输入,按照下式将多项式展开,得到源端安全域S接收用户的身份集合的展开系数;

Πj=1k(z-ij)

其中,k表示源端安全域S接收用户的总数,∏表示连乘操作,z表示多项式连乘操作的辅助参数,ij表示源端安全域S接收用户的身份向量集合中接收用户j的身份标识;

第8步,将源端安全域S接收用户的身份集合的展开系数按照下标由大到小的顺序排列,得到源端安全域S的系数向量

将明文信息M、消息队列MQ、源端安全域S的公开参数PKS和源端安全域S的接收用户集合输入到源端安全域S的发送方UserS,源端安全域S的发送方UserS运行加密算法,得到密文信息CTS并广播信息。

加密算法的具体步骤如下:

第1步,将明文消息M、消息队列MQ、源端安全域S的公开参数PKS以及接收用户的身份向量集合输入到源端安全域的发送方。

第2步,源端安全域的发送方从域中随机选择两个元素bS、tS作为指数。

第3步,按照下式,得到需要加密的消息的密文CTS

CTS=(C0,S,C1,S,C2,S,C3,S,C4,S)=((M||MQ)·e(gS,hS)δSbS,hSbS,wSbS,vS<αS,zS>tS,hS<αS,zS>tS,uStS)

其中,C0,S,C1,S,C2,S,C3,S,C4,S表示密文消息CTS的五个部分,M表示明文消息,MQ表示消息队列,||表示连接操作,gS,hS,wS,vS,hS分别表示公开参数PKS中的五个随机数,e(gS,hS)表示进行一次双线性运行,bS和tS表示从域得到的两个随机指数,表示公开参数PKS中的用户向量,表示源端系数向量,表示公开参数PKS中用户向量与加密用户所在域的系数向量的内乘积。

源端安全域S的私钥颁发中心PKGS运行私钥生成算法,得到源端安全域S的接收用户的私钥di,S

私钥生成算法的具体步骤如下:

第1步,将主密钥MSKS、接收方的身份标识以及源端安全S的公开参数PKS输入到源端安全域S的私钥颁发中心PKGS

第2步,源端安全域的私钥颁发中心PKGS从域中随机选择两个元素yS、rS作为指数。

第3步,按照下式,PKGS得到源端安全域中接收用户的私钥:

di,S=(K0,S,K1,S,K2,S,K3,nS:j[1,nS])=(gSδSwSyS,hSyS,vSySuSrS,hS(-α0,Sxj,Sx0,S+αj,S):j[1,nS])

其中,表示接收用户私钥的nS+3个部分,nS表示源端安全域内所有集合大小中的最大值,δS表示源端安全域S的主密钥MSKS,gS,uS,wS,vS,hS分别表示公开参数PKS中的五个随机数,yS和rS表示从域得到的两个随机指数,αj表示公开参数PKS中用户向量中的第j个元素,xj表示接收方身份标识的j次方。

将接收到的密文信息CTS、源端安全域S接收用户的私钥di,S、源端安全域S的接收用户集合输入到源端安全域S的接收用户ClientS,源端安全域S的接收用户ClientS运行解密算法,获得明文信息M和消息队列MQ。

解密算法的具体步骤如下:

第1步,将接收用户的身份向量集合、接收到的密文、系数向量以及接收方自身的私钥输入给接收方。

第2步,接收方按照下式解密接收到的密文,得到明文信息和消息队列:

M||MQ=C0,S·e(K1,S,C2,S)e(Πj=1kK3,jSZjS,C4,S)e(K0,S,C1,S)e(K2,S,C3,S)

其中,M表示解密后得到的明文信息,MQ表示解密后得到的消息队列,C0,S,C1,S,C2,S,C3,S,C4,S表示密文消息CTS的五个部分,e表示进行一次双线性运算,表示接收用户私钥的nS+3个部分,nS表示源端安全域内所有集合大小中的最大值,Zj表示源端系数向量中第j个元素,k表示源端 安全域内接收用户的总数。

步骤3.判断源端安全域代理AgentS是否在源端安全域S的接收用户集合中,若是,则执行步骤(4),否则,执行步骤(7)。

当源端安全域代理AgentS在源端安全域S的接收用户集合时,说明有来自于非源端安全域的接收用户,需要进一步将消息广播传输。

当源端安全域代理AgentS不在源端安全域S的接收用户集合时,说明只有来自于源端安全域的接收用户,无需将消息广播到其他安全域。

三、代理安全域层传播阶段。

步骤4.代理安全域A内广播加密传播信息。

将消息队列MQ输入到源端安全域代理AgentS,源端安全域代理AgentS运行解析代理系数向量算法,得到代理安全域A的接收用户集合和代理安全域A的系数向量

下面结合附图6,对解析代理系数向量算法的具体步骤描述如下:

第1步,源端安全域S代理从源端安全域S明文信息中获得作为附加信息的消息队列MQ。

第2步,设置一个空的代理安全域A接收用户的身份集合。

第3步,将消息队列MQ中所有身份队列的域标识,加入到代理安全域A接收用户的身份集合中。

第4步,将代理安全域A接收用户的身份集合中所有的身份标识作为输入,按照下式将多项式展开,得到代理安全域A接收用户的身份集合的展开系数。

Πj=1k(z-ij)

其中,k表示代理安全域A接收用户的总数,∏表示连乘操作,z表示多项式连乘操作的辅助参数,ij表示代理安全域A接收用户的身份向量集合中接收用户j的身份标识。

第5步,将代理安全域A接收用户的身份集合的展开系数按照下标由大到小的顺序排列,得到代理安全域A的系数向量。

将明文信息M、消息队列MQ、代理安全域A的公开参数PKS以及代理安全域A的接收用户集合输入到源端安全域代理AgentS,源端安全域代理AgentS运行加 密算法,得到密文信息CTA并广播信息。

加密算法的具体步骤如下:

第1步,将明文消息M、消息队列MQ、公开参数PKS以及接收用户的身份向量集合输入到源端安全域代理。

第2步,源端安全域代理从域中随机选择两个元素bA、tA作为指数。

第3步,按照下式,得到需要加密的消息的密文CTS

CTA=(C0,A,C1,A,C2,A,C3,A,C4,A)=((M||MQ)·e(gA,hA)δAbA,hAbA,wAbA,vA<αA,zA>tA,hA<αA,zA>tA,uAtA)

其中,C0,A,C1,A,C2,A,C3,A,C4,A表示密文消息CTA的五个部分,M表示明文消息,gA,hA,wA,vA,hA分别表示公开参数PKA中的五个随机数,e(gA,hA)表示进行一次双线性运行,bA和tA表示从域得到的两个随机指数,表示公开参数PKA中的用户向量,表示源端系数向量,表示公开参数PKA中用户向量与加密用户所在域的系数向量的内乘积。

步骤5.判断代理安全域A的目的安全域代理AgentD是否在代理安全域A的接收用户集合中,若是,则执行步骤(6),否则,执行步骤(7)。

当目的安全域代理AgentD在代理安全域A的接收用户集合时,说明此目的安全域有接收用户,需要更进一步将消息广播传输。

当目的安全域代理AgentD不在代理安全域A的接收用户集合时,说明此目的安全域没有接收用户,无需更进一步将消息广播传播。

四、目的安全域传播阶段。

步骤6.代理安全域A内广播加密传播信息。

代理安全域A的私钥颁发中心PKGA运行私钥生成算法,得到目的安全域代理AgentD的私钥di,D

私钥生成算法的具体步骤如下:

第1步,将主密钥MSKA、接收方的身份标识以及公开参数PKA输入到代理安全域的私钥颁发中心PKGA

第2步,代理安全域的私钥颁发中心PKGA从域中随机选择两个元素yA、 rA作为指数。

第3步,按照下式,PKGA得到目的安全域代理的私钥:

di,A=(K0,A,K1,A,K2,A,K3,nA:j[1,nA])=(gAδAwAyA,hAyA,vAyAuArA,hA(-α0,Axj,Ax0,A+αj,A):j[1,nA])

其中,表示接收用户私钥的nA+3个部分,nA表示源端安全域内所有集合大小中的最大值,δA表示源端安全域A的主密钥MSKA,gA,uA,wA,vA,hA分别表示公开参数PKA中的五个随机数,yA和rA表示从域得到的两个随机指数,αj表示公开参数PKA中用户向量中的第j个元素,xj表示接收方身份标识的j次方。

将接收到的密文信息CTA、目的安全域D接收用户的私钥di,D、代理安全域A的接收用户集合输入到目的安全域代理AgentD,目的安全域代理AgentD运行解密算法,获得明文信息M和消息队列MQ。

解密算法的具体步骤如下:

第1步,将接收用户的身份向量集合、接收到的密文、系数向量以及接收方自身的私钥输入给目的安全域代理。

第2步,目的安全域代理按照下式解密接收到的密文,得到明文信息:

M||MQ=C0,A·e(K1,A,C2,A)e(Πj=1kK3,jAZjA,C4,A)e(K0,A,C1,A)e(K2,A,C3,A)

其中,M表示解密后得到的明文信息,C0,A,C1,A,C2,A,C3,A,C4,A表示密文消息CTA的五个部分,e表示进行一次双线性运算,表示目的安全域代理的私钥中的nA+3个部分,nA表示目的安全域内所有集合大小中的最大值,Zj表示代理系数向量中第j个元素,k表示代理安全域内接收用户的总数。

将消息队列MQ输入到目的安全域代理AgentD,目的安全域代理AgentD运行解析目的系数向量算法,得到目的端安全域D的接收用户集合和目的安全域D的系数向量

下面结合附图7,对解析目的系数向量算法的具体步骤描述如下:

第1步,目的端安全域D代理从代理安全域A明文中获得作为附加信息的消息队列MQ。

第2步,依次查询消息队列MQ中每个身份队列的域标识,从中取出具有目的端安全域D域标识的身份队列。

第3步,设置一个空的目的端安全域D接收用户的身份集合。

第4步,从具有目的端安全域D域标识的身份队列中所有的身份标识,加入到目的端安全域D接收用户的身份集合中。

第5步,将目的端安全域D接收用户的身份集合中所有的身份标识作为输入,按照下式将多项式展开,得到目的端安全域D接收用户的身份集合的展开系数。

Πj=1k(z-ij)

其中,k表示目的安全域A接收用户的总数,∏表示连乘操作,z表示多项式连乘操作的辅助参数,ij表示目的安全域A接收用户的身份向量集合中接收用户j的身份标识。

第6步,将目的端安全域D接收用户的身份集合的展开系数按照下标由大到小的顺序排列,得到目的端安全域D的系数向量。

将明文信息M、目的安全域D的公开参数PKD以及目的端安全域D的接收用户集合输入到目的安全域代理AgentD,目的安全域代理AgentD运行加密算法,得到密文信息CTD并广播信息。

加密算法的具体步骤如下:

第1步,将明文消息M、公开参数PKD以及接收用户的身份向量集合输入到目的安全域代理。

第2步,目的安全域代理方从域中随机选择两个元素bD、tD作为指数。

第3步,按照下式,得到需要加密的消息的密文CTS

CTD=(C0,D,C1,D,C2,D,C3,D,C4,D)=(M·e(gD,hD)δDbD,hDbD,wDbD,vD<αD,zD>tD,hD<αD,zD>tD,uDtD)

其中,C0,D,C1,D,C2,D,C3,D,C4,D表示密文消息CTD的五个部分,M表示明文消息,gD,hD,wD,vD,hD分别表示公开参数PKD中的五个随机数,e(gD,hD)表示进行一次 双线性运行,bD和tD表示从域得到的两个随机指数,表示公开参数PKD中的用户向量,表示源端系数向量,表示公开参数PKD中用户向量与加密用户所在域的系数向量的内乘积。

目的安全域D的私钥颁发中心PKGD运行私钥生成算法,得到目的安全域D的接收用户的私钥di,D

私钥生成算法的具体步骤如下:

第1步,将主密钥MSKD、接收方的身份标识以及公开参数PKD输入到目的安全域的私钥颁发中心PKGD

第2步,目的安全域的私钥颁发中心PKGD从域中随机选择两个元素yD、rD作为指数。

第3步,按照下式,PKGD得到目的安全域中接收用户的私钥:

di,D=(K0,D,K1,D,K2,D,K3,nD:j[1,nD])=(gDδDwDyD,hDyD,vDyDuDrD,hD(-α0,Dxj,Dx0,D+αj,D):j[1,nD])

其中,表示接收用户私钥的nD+3个部分,nD表示目的安全域内所有集合大小中的最大值,δD表示目的安全域D的主密钥MSKD,gD,hD,wD,vD,hD分别表示公开参数PKD中的五个随机数,yD和rD表示从域得到的两个随机指数,αj表示公开参数PKD中用户向量中的第j个元素,xj表示接收方身份标识的j次方。

将接收到的密文信息CTD、目的安全域D接收用户的私钥di,D、目的全域D的接收用户集合输入到目的安全域D的接收用户ClientD,目的安全域D的接收用户ClientD运行解密算法,得到明文信息M。

解密算法的具体步骤如下:

第1步,将接收用户的身份向量集合、接收到的密文、系数向量以及接收方自身的私钥输入给接收方。

第2步,接收方按照下式解密接收到的密文,得到明文信息:

M=C0,D·e(K1,D,C2,D)e(Πj=1kK3,jDZjA,C4,D)e(K0,D,C1,D)e(K2,D,C3,D)

其中,M表示解密后得到的明文信息,C0,D,C1,D,C2,D,C3,D,C4,D表示密文消息CTD的五个部分,e表示进行一次双线性运算,表示接收用户私钥的nD+3个部分,nD表示目的安全域内所有集合大小中的最大值,Zj表示目的系数向量中第j个元素,k表示目的安全域内接收用户的总数。

步骤7.操作完成,退出。

以上描述仅是本发明的一个具体实例,不构成对本发明的任何限制,显然对于本领域的专业人员来说,在了解本发明内容和原理后,都可能在不背离本发明原理、结构的情况下,进行形式上和细节上的各种修正和改变,但是这些基于本发明思想的修正和改变在本发明的权利要求保护范围之内。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号