一种可显式验证公钥的多接收者签密方法技术

技术编号:13290362 阅读:75 留言:0更新日期:2016-07-09 09:02
本发明专利技术公开了一种可显式验证公钥的多接收者签密方法,具体实现步骤包括:1、生成系统参数;2、用户注册;3、发送者签密;4、接收者解密;5、判断密文的有效性;6、接受明文消息,退出解密;7、拒绝接受明文消息,退出解密。本发明专利技术中设置用户的私钥是用户随机选取的秘密值,并且用户可以对KGC生成的加密公钥的正确性进行验证,解决了现有技术中的密钥托管问题。在用户注册中,任何人都可以对用户的公钥进行验证,解决了现有技术中的公钥替换攻击问题。本发明专利技术提高了系统整体的安全性和可靠性,实现了接收者的身份匿名性,具有安全,高效的优点,可以应用于网络安全技术领域。

【技术实现步骤摘要】

本专利技术属于通信
,更进一步涉及网络安全
中的一种可显式验证公钥的多接收者签密方法。本专利技术以多接收者签密体制为基础,提出了一种无密钥托管问题、用户公钥可以显式验证的多接收者签密方法。本专利技术可用于分布式网络应用当中,解决了网络服务提供商对网络中的所有授权用户进行广播消息的安全问题以及所有授权用户公私钥的安全问题。
技术介绍
在分布式网络应用(例如网络会议、圆桌会议、收费电视等)中,为了克服密钥托管问题和证书管理问题,保护通信系统中进行会话的所有参与者的身份隐私,以及确保会话内容仅可以被授权用户正确解密,而非授权用户无法正确解密,需要安全广播技术作为支持。安全广播是实现一个发送者向多个授权接收者发送相同消息的安全技术,能够实现上述网络应用的安全需求。HungY.,HuangS.,TsengY.和TsaiT.在其发表的论文“EfficientAnonymousMultireceiverCertificatelessEncryption(IEEESystemsJournal,2015)”中提出了一种有效的匿名无证书多接收者加密方法。该方法的主要步骤是:(1)用户(包括发送者和接收者)以自身的身份信息向密钥生成中心KGC(KeyGenerationCenter)进行注册,KGC为每一个注册用户计算部分私钥,并将部分私钥秘密地分发给各个用户;之后用户随机选取一个秘密值作为自己的另一部分私钥,并根据随机选取的秘密值计算出自己相对应的公钥;故,用户的私钥由两部分组成:可信第三方KGC发送给用户的部分私钥和用户随机选取的秘密值;(2)加密时,发送者用授权接收者的身份信息、授权接收者的公钥以及所要发送的明文消息计算得到密文,并将密文进行广播;(3)解密时,授权接收者用自己的私钥计算得到明文和中间参数,若该中间参数与密文中的参数值相等,则授权接收者接收明文消息,否则,拒绝接收。该方法存在的不足之处是:首先,虽然用户的部分私钥是由KGC根据用户的身份信息和系统主密钥生成,但是用户收到KGC发过来的部分私钥后,无法对部分私钥的正确性进行验证,所以该文献提出的方案的安全性依然是建立在对可信第三方绝对信任的基础上,并没有解决密钥托管所带来的不能抵抗恶意的KGC攻击的问题;其次,在该文献提出的方案中,用户的公钥是根据用户随机选取的秘密值计算得到,与用户身份信息无关,所以任何人都无法验证用户公钥的合法性,方案易遭受公钥替换攻击。西安电子科技大学在其申请的专利“多接收者生物特征签密方法”(申请号201210148238.X,申请日期2012.05.14,公开日期2012.10.03)中提出了一种多接收者生物特征签密方法。该方法的主要步骤是:首先,用户向可信第三方KGC进行注册,KGC根据注册用户的身份信息为其计算私钥,并将生物特征数据与该私钥进行绑定得到一个对外公开的矫正参数;签密时,发送者用自己的生物特征以及授权接收者的身份信息进行计算得到密文,并进行广播;解密时,接收者首先进行发送者身份验证,判定发送者是否伪造以及自己是否为授权的接收者,进而确定是否需要进一步解密操作。该方法存在的不足之处是:首先,用户的私钥是由可信第三方KGC直接生成,故存在密钥托管所带来的不能抵抗恶意的KGC攻击的问题;其次,加密过程采用的是拉格朗日(Lagrange)多项式保护接收者的身份隐私,故解密过程中授权接收者可以得到其他授权接收者的身份信息,这样会泄露其他授权接收者的隐私,未能实现接收者的匿名性,存在安全问题。
技术实现思路
本专利技术的目的在于克服上述现有技术在进行广播签密时存在的密钥托管问题、公钥替换攻击问题,提供一种无密钥托管问题、可显式验证公钥的多接收者签密方法。实现本方法目的的思路是:用户随机选取一个秘密值作为自己的私钥,而后根据自己的私钥计算出一个验证份额,并将这个验证份额与自己的身份信息一起发送给密钥生成中心。密钥生成中心根据用户发过来的验证份额及其身份信息,生成用户的加密公钥,并发送给用户。用户收到密钥生成中心发送过来的加密公钥后,对加密公钥进行验证,若成立,则接受加密公钥,否则,拒绝接受,并向密钥生成中心报错。在此过程中,用户的私钥是自己随机选取的秘密值,密钥生成中心只知道用户的加密公钥和对应的身份信息,故无法获取用户的私钥,解决了密钥托管问题;用户的公钥由用户身份的哈希值、验证份额的哈希值以及密钥生成中心发送给用户的加密公钥组成,任何人都可以通过特定等式验证用户公钥的正确性和合法性,故解决了公钥替换攻击问题;同时,发送者在签密消息时采用接收者身份信息混合值将所有接收者的身份信息融合在一起作为签密密文的一部分,从而在签密密文中不直接暴露接收者的身份信息列表,进而实现了接收者的身份匿名。因此,本方法解决了广播通信时潜在的密钥托管问题、公钥替换攻击问题,同时保护了接收者的身份隐私性。本专利技术的具体实现步骤包括如下:(1)生成系统参数:(1a)密钥生成中心KGC将随机选取的一个公开模数N、一个大素数q、一个公开指数u、一个公开整数g作为密码系统参数;(1b)密钥生成中心KGC将随机选取的密码系统主密钥d秘密保存;(1c)密钥生成中心KGC将构造的5个密码单向哈希函数作为密码系统参数:H0:{0,1本文档来自技高网
...

【技术保护点】
一种可显式验证公钥的多接收者签密方法,具体步骤包括如下:(1)生成系统参数:(1a)密钥生成中心KGC将随机选取的一个公开模数N、一个大素数q、一个公开指数u、一个公开整数g作为密码系统参数;(1b)密钥生成中心KGC将随机选取的密码系统主密钥d秘密保存;(1c)密钥生成中心KGC将构造的5个密码单向哈希函数作为密码系统参数:其中,H0,H1,H2,H3,H4表示密钥生成中心KGC构造的5个密码单向哈希函数,{0,1}*表示任意长的“0”或“1”构成的串,A→B表示定义域A到值域B的映射,Zq*表示基于素数q构成的非零乘法群,×表示笛卡尔乘积,l表示明文消息M的长度,{0,1}l表示长度为l的“0”或“1”构成的串;(1d)密钥生成中心KGC发布公开模数N、大素数q、公开指数u、公开整数g、5个密码单向哈希函数H0,H1,H2,H3,H4;(2)用户注册:(2a)用户随机选取一个整数作为自己的私钥;(2b)按照下式,用户计算验证份额:v=g‑SK(modN)其中,v表示用户的验证份额,g表示公开整数,SK表示用户随机选取的自己的私钥,mod表示求模操作,N表示公开模数;(2c)用户将自己的验证份额和自己的身份信息通过安全信道发送给密钥生成中心KGC;(2d)密钥生成中心KGC收到用户的验证份额和身份信息后,按照下式,计算用户的加密公钥:P=(v‑H0(ID))d(modN)其中,P表示用户的加密公钥,v表示用户的验证份额,H0表示密码单向哈希函数,ID表示用户的身份信息,d表示密码系统主密钥,mod表示求模操作,N表示公开模数;(2e)密钥生成中心KGC将用户的加密公钥发送给用户;(2f)判断用户收到的加密公钥是否满足验证条件,若是,则执行步骤(2g),否则,则执行步骤(2i);(2g)用户通知密钥生成中心KGC分别计算用户身份信息的哈希值H0(ID)、用户验证分额的哈希值H2(v);(2h)密钥生成中心KGC对外公布由用户身份信息的哈希值H0(ID)、用户验证分额的哈希值H2(v)和用户的加密公钥P组成的用户公钥,用户在保存了自己的私钥之后退出用户注册过程;(2i)用户向密钥生成中心KGC报错,退出用户注册过程;(3)发送者签密:(3a)发送者在已注册的用户中随机选取n个接收者,其中,n表示大于0的整数;(3b)发送者判断每一个接收者的公钥是否都满足验证条件,若是,则执行步骤(3c),否则,退出发送者签密过程;(3c)按照下式,发送者计算与每一个接收者之间的关联信息:ks,i=(Piu+H0(IDi))SKs(modN)]]>其中,ks,i表示发送者s与第i个接收者Ri之间的关联信息,i=1,2,…,n,n表示发送者在已注册的用户中随机选取的接收者的数目,Pi表示第i个接收者Ri的加密公钥,u表示公开指数,H0表示密码单向哈希函数,IDi表示第i个接收者Ri的身份信息,SKs表示发送者s的私钥,mod表示求模操作,N表示公开模数;(3d)按照下式,发送者计算每一个接收者的伪身份值:wi=H1(H0(IDi),ks,i)其中,wi表示第i个接收者Ri的伪身份值,i=1,2,…,n,n表示发送者在已注册的用户中随机选取的接收者的数目,H1、H0表示两个密码单向哈希函数,IDi表示第i个接收者Ri的身份信息,ks,i表示发送者s与第i个接收者Ri之间的关联信息;(3e)按照下式,发送者计算加密消息密文:EC=H2(t)⊕M]]>其中,EC表示加密消息密文,H2表示密码单向哈希函数,t表示发送者随机选取的整数,表示逐位异或操作,M表示明文消息;(3f)按照下式,发送者构造接收者身份信息混合值:f(x)=Πi=1n(x-wi)+t(mod q)]]>其中,f(·)表示接收者身份信息混合值,x表示隐藏身份种子,∏表示连乘操作,n表示发送者s在已注册的用户中随机选取的接收者的数目,i表示计数游标,wi表示第i个接收者Ri的伪身份值,t表示发送者s随机选取的整数,mod表示求模操作,q表示大素数;(3g)按照下式,发送者计算密文有效性参数:h=H4(a0,a1,…,an‑1,M,EC)其中,h表示密文有效性参数,H4表示密码单向哈希函数,a0,a1,…,an‑1表示接收者身份信息混合值f(·)的系数,M表示明文消息,EC表示加密消息密文;(3h)发送者将加密消息密文、接收者身份信息混合值的系数、密文有效性参数和发送者的身份信息构成签密密文,并对签密密文进行广播;(4)接收者解密:(4a)接收者判断签密密文的签名是否满足验证条件,若是,则执行步骤(4b),否则,执行步骤(7);(4b)按照下式,接收者计算与发送者之间的关联信息:ks,i=(Psu+H0(IDs))SKi]]>其中,ks,i表示发送者s与第i个接收者...

【技术特征摘要】
1.一种可显式验证公钥的多接收者签密方法,具体步骤包括如下:
(1)生成系统参数:
(1a)密钥生成中心KGC将随机选取的一个公开模数N、一个大素数q、一个公开指数u、一
个公开整数g作为密码系统参数;
(1b)...

【专利技术属性】
技术研发人员:庞辽军赵慧洋闫旭霞贾生盼
申请(专利权)人:西安电子科技大学
类型:发明
国别省市:陕西;61

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

1