微企信息加密的探讨

2017-10-21 15:11朱志强孙红岩武传胜周寅兴杨草旺赵健
科学导报·学术 2017年5期
关键词:加密算法数字签名手机用户

朱志强 孙红岩 武传胜 周寅兴 杨草旺 赵健

【中图分类号】 F626.5 【文献标识码】A 【文章编号】2236-1879(2017)05-0296-02

基于微企信息息的业务从现有的娱乐应用已进入到商务应用、电子政务和社会服务等领域。然而在美好景象的背后,存在着不可小视的安全问题。虚假与不良微企信息息的传播;侵犯个人隐私;手机病毒的传播以及垃圾微企信息的泛滥等。这些都涉及到信息的加密与解密,通信双方身份的相互认证,信息的完整性鉴别等安全方面的问题。

数字签名是通信双方进行身份认证和防止抵赖必不可少的技术,现有的大多数数字签名方案都是基于离散对数问题,但这类签名方案中都普遍存在着“生日攻击”问题。由于微企信息息通信有着自己独特的特点,以及Tate配对的计算量要比Weil配对几乎少一半的性质,我们选择了利用椭圆曲线上的Tate配对构造了一种新的签名加密算法,将数字签名和加密技术融为一体,不仅能够识别发送信息者的身份和对微企信息息的保密,还能有效地抵抗“生日攻击”。在该加密算法中加入了时间标志,可以抵抗重发密文的攻击。

、微企信息息加密方案

1、系统参数的建立(由一个可信中心执行)

(1)选择p、q、k、m、l、G1、G2和G3,G2的一个生成元P以及Tate配对T。

(2)在E(Fq)上选择基点G=(xG,yG),点G的阶ord(G)=n,n是一个大素数,Zn*是一个是特征为n的有限域。随机选取s∈Zn*,Ppub=sP,s作为主密钥。

(3)选择H:{0,1}*×G2→F*qK为公开的哈希函数;L:{0,1}*→{0,1}160是一种安全Hash算法;强密码杂凑函数F:{0,1}*→G1将用户的身份映射到G1中的一个元素。

(4)选择对称加密算法AES和椭圆曲线加密体制ECC。可信中心把s作为系统的私钥保存,公开参数(G1,G2,G3,T,n,P,Ppub,H,L,F)。

2、用户密钥的生成

假设ID表示用户Alice的身份,可信中心对Alice进行物理鉴定以确信ID具有唯一性后,计算QID=F(ID),dID=sQID,通过安全信道将密钥dID发送给Alice,QID为公钥。

3、微企信息息加密

手机用户之间的微企信息息通信,通常以微企信息息业务服务商作为媒介。设手机用户A和微企信息息业务服务商B的密钥对是(dA,QA)和(dB,QB),A将微企信息息m发送给B,则手机用户A依次执行如下的加密算法:

4、微企信息息解密

微企信息业务服务商B收到(c,y1,t)后,执行如下的解密算法:计算△t=tb-t,tb是微企信息业务服务商B收到微企信息息的时间,如果△t大于規定的时间,则拒绝解密,否则进行如下处理:

(1)生成随机会话密钥K:

计算dBy1=(c1,c2),K=L(c1modn)。

(2)用CFB模式的AES和密钥K对密文进行解密:

DK(EK(m,r1,r2,S,T))。

(3)验证签名:

计算等式T(S,P)=T(QA,Ppub)(v1+v2)(r1)v2(r2)v1是否成立。

(4)检验时间标志:

计算等式T=H(m,S,t)是否成立。当且仅当(3)和(4)两个等式同时成立时,接受m为手机用户A发送的有效微企信息息。

四、签名加密算法的安全性分析

1、双层加密

该方案采用双层加密模型,其安全性主要基于椭圆曲线加法群的离散对数问题。用椭圆曲线加密体制ECC生成对称密码体制AES的随机会话密钥K,再用AES加密明文m和(r1,r2,S,T)。选择128比特以上的AES和256比特的ECC;为了更好的掩盖明文m,使用AES的CFB模式来加密信息。如果攻击者选择攻击密文c,则在现有的技术条件下直接攻击128比特的AES是极其困难的;若选择攻击密钥K,则面临棘手的ECDLP数学难题;且密钥K是一次性的密钥,只使用一次此后不再有效,即使得到密钥K也没有多大的实用价值。Hash函数的多次使用,增强了加密解密的单向性,进一步提高了算法的安全性。

2、密钥交换

在该方案中,AES的随机会话密钥K只使用一次,以后不再使用。通信双方可以动态的交换密钥K,只有接收方B收到发送方A的y1后才能恢复出密钥K。

由于dBy1=dB(k1G)=k1(dBG)=k1QB=(c1,c2),所以K=L(c1modn)。

3、签名验证

该方案中数字签名算法的安全性主要基于有限域上椭圆曲线加法群的ECDLP问题和Tate配对的BDH问题。整个签名过程是不可伪造的,因为根据公钥Q求私钥d是非常困难的ECDLP问题;根据ri求随机数Pi(i=1,2)是难度很大的BDH问题。

定理1接收方B收到发送方A递交的(c,y1,t)后,若T(S,P)=T(QA,Ppub)(v1+v2)(r1)v2(r2)v1,则(r1,r2,S)是A对消息m的簽名。

证明:B对(c,y1,t)解密处理后得到(r1,r2,S),则v1=H(m,r1),v2=H(m,r2),T(S,P)=T((v1+v2)dA+v2P1+v1P2,P)=T((v1+v2)dA,P)T(v2P1,P)T(v1P2,P)=T(dA,P)(v1+v2)T(P1,P)v2T(P2,P)v1=T(sQA,P)(v1+v2)(r1)v2(r2)v1=T(QA,P)s(v1+v2)(r1)v2(r2)v1=T(QA,sP)(v1+v2)(r1)v2(r2)v1=T(QA,Ppub)(v1+v2)(r1)v2(r2)v1

即(r1,r2,S)是A对消息m的签名。

4、生日攻击

所谓“生日攻击”问题就是指,在23个人中出现两个人生日相同的概率会大于0.5[1]。若使用该方案的签名算法对消息m1,m2签名时,选取了相同的P1,P2∈G1,则:

r1=T(P1,P),r2=T(P2,P),v11=H(m1,r1),v12=H(m1,r2),v21=H(m2,r1),v22=H(m2,r2),S1=(v11+v12)dA+v12P1+v11P2,S2=(v21+v22)dA+v22P1+v21P

通过最后两个等式能解出dA+P1和dA+P2,两个式子中有三个变量dA,P1和P2,所以无法确定dA,P1和P2中的任何一个。如果使用该方案中的签名算法签名m次,则P1,P2重复出现的概率是p=\[1-(Pqm//qm)\]2,只有m大约等于q时,概率p才会大于0.5[1],而q是一个很大的素数,所以这种情况不可能能存在。两个随机数P1和P2的引入,减少了两次签名选用相同随机数的概率,增加了生日攻击的难度,所以本方案可以有效的抵抗生日攻击。

辽宁科技大学大学生创新创业训练计划项目

猜你喜欢
加密算法数字签名手机用户
交通运输行业数字签名系统的设计与实现分析
基于蓝牙技术的蓝牙路况测险仪设计研究
新媒体时代下手机广告发展现状分析
关于电子商务中安全数字签名的研究
论小米和360大战对用户自主选择权的侵害
教育云平台的敏感信息保护技术研究
一种改进的加密算法在空调群控系统中的研究与实现
基于XML的数字签名在电子病历的应用方法
基于Jave的AES加密算法的实现
掌握方法用好数字签名