一种移动互联网轻量化安全通信方法技术

技术编号:24862404 阅读:41 留言:0更新日期:2020-07-10 19:13
本发明专利技术公开了一种移动互联网轻量化安全通信方法。本方法为:1)节点A与节点B分别获得可信第三方提供的公钥加解密算法密钥和数字签名算法密钥;其中,节点A、B的加解密公钥为EnPK

【技术实现步骤摘要】
一种移动互联网轻量化安全通信方法
本专利技术涉及一种移动互联网轻量化安全通信方法,属于网络通信

技术介绍
移动互联网具有的开放性、IP化及无线传输特性,使得安全威胁成为终端信息传输过程面临的关键问题之一。4G等常用移动通信网络架构采用的全IP技术使其更易受窃听、注入等方式攻击,增加了隐私泄露的风险;而WLAN技术由于其在认证与网络安全等方面的问题,也有很高的隐私泄露风险。如何保证信息内容以及传输行为等在移动互联网中传输的匿名性,是基于移动互联网的信息传输所面临的一个严峻挑战。以密码学研究为主的通信加密、数字签名和安全通信协议是实现移动互联网信息传输匿名安全的重要一环。一般来说,密码体制包含对称密码体制和公钥密码体制,这两种体制各有优劣。对称密码体制算法速度快,但其通信双方的加密、解密密钥相同,妨碍了密钥管理安全和密钥协商安全的实现,且无法应用于数字签名。公钥密码体制可以将加密密钥和解密密钥分开,但其运算速度较慢,受限于移动硬件平台。目前应用比较广泛的公钥密码体制都会涉及高精度整数乘法和模幂运算。这是导致其运算速度过慢的主要原因,也是目前广泛应用的公钥密码体制无法绕开的问题。
技术实现思路
本专利技术的目的在于提供一种应用于移动设备的轻量化安全通信方法,能够在保障移动设备通信安全的同时,降低用于安全运算的开销。本专利技术通过使用NTRU算法,规避了高精度整数乘法和模幂运算导致的性能问题。本专利技术的主要技术流程为:1)节点A与节点B分别获得可信第三方提供的公钥加解密算法密钥和数字签名算法密钥;其中,节点A的加解密公钥为EnPKa、私钥为EnSKa,数字签名公钥为SignPKa、私钥为SignSKa;节点B的加解密公钥为EnPKb、私钥为EnSKb,数字签名公钥为SignPKb、私钥为SignSKb;2)节点A与节点B通过可信第三方,使用EnPKa、EnSKa、EnPKb、EnSKb进行密钥协商,获得会话密钥Kab,作为对称加密算法密钥;3)节点A使用Kab、SignSKa封装待发送的信息形成协议报文,并发送至节点B;4)节点B使用Kab、SignPKa对收到的协议报文进行解析,获得节点A发出的信息。与现有技术相比,本专利技术的积极效果为:本专利技术能够在具有同RSA等传统密码算法相同安全性的条件下,提高安全协议在移动和嵌入式设备上的运行速度。附图说明图1为本专利技术安全协议的报文封装过程。图2为本专利技术安全协议的报文解析过程。图3为本专利技术安全协议的NTRU加解密算法密钥生成过程。图4为本专利技术安全协议的NTRU加解密算法加密过程。图5为本专利技术安全协议的NTRU加解密算法解密过程。图6为本专利技术安全协议的NTRU数字签名算法密钥生成过程。图7为本专利技术安全协议的NTRU数字签名算法签名生成过程。图8为本专利技术安全协议的NTRU1算法签名验证过程。具体实施方式为使本专利技术的上述目的、特征和优点能够更加明显易懂,下面通过具体实施例和附图,对本专利技术做进一步说明。专利技术通过如下方式实现:本专利技术使用如下协议符号与概念:A,B:网络中的节点身份。TTP(TrustedThirdParty):可信第三方服务提供者。SignPKx:节点X的数字签名算法公钥。SignSKx:节点X的数字签名算法私钥。EnPKx:节点X的公钥加解密算法公钥。EnSKx:节点X的公钥加解密算法私钥。Kab:节点A与B的会话密钥,为对称加密算法密钥。Nx:节点X产生的随机数。{M}K:用密钥K对消息M进行加密、解密、签名或验证。Hash(m):计算消息m的摘要。X→Y:节点X发送消息给节点Y。<m,n>:包含数据m和数据n的结构化数据包。本专利技术在节点A与节点B的通信过程中,包含如下步骤:步骤1:节点A与节点B获得可信第三方提供的公钥加解密算法密钥和数字签名算法密钥。节点A的加解密公钥为EnPKa,私钥为EnSKa;节点B的加解密公钥为EnPKb,私钥为EnSKb;可信第三方加解密公钥为EnPKttp,私钥为EnSKttp。节点A数字签名公钥为SignPKa,私钥为SignSKa;节点B数字签名公钥为SignPKb,私钥为SignSKb;可信第三方数字签名公钥为SignPKttp,私钥为SignSKttp。步骤2:节点A与节点B通过可信第三方,使用EnPKa、EnSKa、EnPKb、EnSKb进行密钥协商,双方获得会话密钥Kab,为对称加密算法密钥。步骤3:节点A使用Kab、SignSKa封装待发送的信息形成协议报文,并发送至节点B。步骤4:节点B使用Kab、SignPKa对接收到的协议报文进行解析,获得节点A发出的信息。节点B在步骤1获取了节点A的签名公钥并保存,用于验证B接收到的消息确实是由A产生的。上述在节点A与节点B的通信过程步骤1中,节点A执行如下具体步骤(如附图3所示):步骤1.ae.1:获取参数Nea,qea,pea=Xea+2,deaf1,deaf2,deaf3,deag。其中Nea,qea,deaf1,deaf2,deaf3,deag为正整数,Xea为截尾多项式环中的多项式。步骤1.ae.2:生成度为Nea-1的多项式gea,其中dgea个系数为1,其他系数为0;dgea取值为70~75。步骤1.ae.3:生成度为Nea-1的稀疏小多项式fea1,fea2,fea3,其中分别有deaf1,deaf2,deaf3个系数为1,其他系数均为0。步骤1.ae.4:计算fea=1+pea*(fea1*fea2+fea3)。步骤1.ae.5:计算feaq=fea-1(modqea)。步骤1.ae.6:判断feaq是否存在(即步骤1.ae.5是否能够计算出一数值)。若是,则执行步骤1.ae.7,否则执行步骤1.ae.2。步骤1.ae.7:计算hea=pea*feaq*gea(modqea)。步骤1.ae.8:输出公钥EnPKa=hea,私钥EnSKa=fea。上述在节点A与节点B的通信过程步骤1中,节点A执行如下具体步骤(如附图6所示):步骤1.as.1:获取正整数参数Nsa,qsa,dsaf,dsag,Bsa。步骤1.as.2:生成Bsa个稀有格基,令i=Bsa。步骤1.as.3:随机选择多项式ksa,lsa,且ksa,lsa中分别有dsak,dsal个系数为1,其他均为0;其中dsak,dsal取值为70~75。步骤1.as.4:计算Ksa,Lsa满足ksa*Lsa–Ksa*lsa=qsa。即求解满足ksa*Lsa–Ksa*l=qsa的Ksa、Lsa。步骤1.as.5:计算hsai=1/ksa-1*Ksa(modqsa)。步骤1.as.6本文档来自技高网...

【技术保护点】
1.一种移动互联网轻量化安全通信方法,其步骤包括:/n1)节点A与节点B分别获得可信第三方提供的公钥加解密算法密钥和数字签名算法密钥;其中,节点A的加解密公钥为EnPK

【技术特征摘要】
1.一种移动互联网轻量化安全通信方法,其步骤包括:
1)节点A与节点B分别获得可信第三方提供的公钥加解密算法密钥和数字签名算法密钥;其中,节点A的加解密公钥为EnPKa、私钥为EnSKa,数字签名公钥为SignPKa、私钥为SignSKa;节点B的加解密公钥为EnPKb、私钥为EnSKb,数字签名公钥为SignPKb、私钥为SignSKb;
2)节点A与节点B通过可信第三方,使用EnPKa、EnSKa、EnPKb、EnSKb进行密钥协商,获得会话密钥Kab,作为对称加密算法密钥;
3)节点A使用Kab、SignSKa封装待发送的信息形成协议报文,并发送至节点B;
4)节点B使用Kab、SignPKa对收到的协议报文进行解析,获得节点A发出的信息。


2.如权利要求1所述的方法,其特征在于,节点A与节点B获得会话密钥Kab的方法为:
21)节点A利用签名密钥SignSKa和可信第三方TTP的公钥EnPKttp分别对<Na,A,B>进行处理,并将处理结果发送给节点B;节点B收到消息后,执行{{<Na,A,B>}SignSKa}SignPKa验证消息签名;Na为节点A生成的随机数;
22)节点B利用签名密钥SignSKb和可信第三方TTP的公钥EnPKttp分别对<Na,A,B>进行处理,并将处理结果发送给TTP;TTP收到消息后,执行{{<Na,A,B>}SignSKb}SignPKb验证消息签名,执行{{<A,B,Na>}EnPKttp}EnSKttp解密消息;
23)TTP生成会话密钥Kab,然后利用PKa、SignSKttp对<B,Na,Kab>进行加密签名处理并将处理结果发送给节点A;节点A收到消息后,执行{{{<B,Na,Kab>}EnPKa}SignSKttp}SignPKttp验证消息签名,执行{{<B,Na,Kab>}EnPKa}EnSKa解密消息,得到会话密钥Kab;
24)TTP利用EnPKb、SignSKttp对<A,Na,Kab>进行加密签名处理并将处理结果发送给节点B;节点B收到消息后,执行{{{<A,Na,Kab>}EnPKb}SignSKttp}SignPKttp验证消息签名,执行{{<A,Na,Kab>}EnPKb}EnSKb解密消息,得到会话密钥Kab。


3.如权利要求2所述的方法,其特征在于,所述步骤21)中,节点A执行如下步骤:
21a)获取公钥hea=EnPKttp,明文mea=<A,B,Na>,正整数参数dear1,dear2,dear3;
21b)生成度为Nea-1的稀疏小多项式rea1,rea2,rea3;其中分别有dear,dear2,dear3个系数为1,其他均为0;
21c)计算rea=rea1*rea2+rea3;
21d)计算eea=rea*hea+mea(modqet);其中,qet为正整数;
21e)输出密文{<A,B,Na>}EnPKttp=eea,并将其发送给节点B。


4.如权利要求2所述的方法,其特征在于,所述步骤21)中,节点A执行如下步骤:
211)获取待签名消息Dsa=<Na,A,B>,私钥fsa=SignSKa={ksai,ksai',hsai},i=0...Bsa,参数NormBoundsa;NormBoundsa用于判断是否需要重新生成签名和签名验证是否通过;
212)令tsa=0;
213)令ssa=0,i=Bsa;
214)计算Zsa=zsa=Hash(Dsa||tsa);
215)计算xsa=[-(1/qsa)zsa*ksai'],ysa=[(1/qsa)zsa*ksai];
216)计算ssai=xsa*ksai+ysa*ksai';
217)计算zsa=ssai*(hsai–hsai-1)(modqsa);
218)计算ssa=ssa+ssai,i=i–1;
219)判断是否i≥0;如果是则执行步骤215),否则执行步骤2110);
2110)计算bsa=||(ssa,ssa*hsa0-Zsa(modqsa))||;
2111)判断是否bsa≤NormBoundsa;若是,则执行步骤2113),否则执行步骤2112);
2112)计算tsa=tsa+1,执行步骤213);
2113)输出签名结果{<Na,A,B>}SignSKa=(tsa,ssa),并将其发送给节点B。


5.如权利要求2所述的方法,其特征在于,步骤22)中,节点B执行如下具体步骤:
221)获取待签名消息Dsb=<Na,B,A>,私钥fsb=SignSKb={ksbi,ksbi',hsbi},i=0...Bsb,参数NormBoundsb;
222)令tsb=0;
223)令ssb=0,i=Bsb;
224)计算Zsb=zsb=Hash(Dsb||tsb);
225)计算xsb=[-(1/qsb)zsb*ksbi'],ysb=[(1/qsb)zsb*ksbi];其中,qsb为正整数;
226)计算...

【专利技术属性】
技术研发人员:郑杰生吴广财刘文彬卢垚松梁瑞刚陈恺温柏坚艾解清尚艳伟
申请(专利权)人:广东电网有限责任公司信息中心中国科学院信息工程研究所
类型:发明
国别省市:广东;44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1