一种基于身份密码机制的多重数字签名方法技术

技术编号:14245354 阅读:154 留言:0更新日期:2016-12-22 01:16
本发明专利技术涉及一种基于身份密码机制的多重数字签名方法,包括如下步骤:一、系统参数初始化;二、密钥的生成与分发;三、多重签名的生成及认证。本发明专利技术能够降低认证机构的投资成本,减轻证书管理的负担,提高系统的运算效率,并且加强系统的安全性和稳定性。

【技术实现步骤摘要】

本专利技术涉及数据安全技术,特别是涉及一种基于身份密码机制的多重数字签名方法
技术介绍
数字签名是密码学中的重要问题之一,它是传统文件手写签名的模拟,能够实现用户对电子形式存放消息的认证。数字签名可以提供数据源认证、数据完整性和不可否认性,通常由可信的认证中心使用数字签名来签署将通信实体和其公钥相绑定的证书。在电子商务、企业信息平台等领域中,数字签名体制被广泛运用。数字签名的安全性是保障认证、授权、完整性、不可抵赖等安全服务的关键技术。数字签名的目标类似于物理的笔记签名,它必须易生成和验证而难伪造和抵赖,并且保证被签名的内容难以篡改。这可以通过非对称密码体制实现。在用于数字签名的非对称密码体制中,签名用户有两个一一对应的密钥,一个是私有密钥(简称私钥),必须严格保密,另一个是公有密钥(简称公钥),可以公之于众。在传统的公钥密码学体制下,私钥生成过程要求所有公钥必须随机化,而在认证过程中我们又必须把一个主体的公钥与他的身份信息结合起来。然而,对于目前应用比较广泛的公钥基础设施来说,应用起来十分困难,主要存在以下几个问题:一、建立这样的认证机构的成本和复杂程度是非常高的,需要认证机构较大的投资,无疑也增加了证书管理的负担;二、系统计算的复杂度高,严重降低了系统的运算效率;三、存在内部的合谋攻击的可能性,验证者只能知道其前面一个人签名的情况和签名的真伪,影响了系统的安全性和稳定性;有鉴于此,本专利技术人专门设计了一种基于身份密码机制的多重数字签名方法,本案由此产生。
技术实现思路
本专利技术的目的在于提供一种基于身份密码机制的多重数字签名方法,以降低认证机构的投资成本,减轻证书管理的负担,提高系统的运算效率,并且加强系统的安全性和稳定性。为了实现上述目的,本专利技术采用的技术方案为:一种基于身份密码机制的多重数字签名方法,包括如下步骤:S01:系统参数初始化,并生成公钥;S02:对签名用户的ID进行身份的物理验证,并确认用户的ID是否具有唯一性;S03:分别为每一个签名用户生成对应的私钥,并通过秘密的信道将其分发给相应的签名用户Ui,其中i=1,…,n,n≥2;S04:签名中心形成签名顺序,并将该签名顺序发送给每一个签名用户Ui;S05:签名中心确定需要发送的消息m,并对其进行哈希运算m'=h(m,t),t为消息m的时间戳;S06:将消息m发送给第一个签名用户U1,并将时间戳t发送给每一位签名用户Ui,设置每个签名用户Ui的签名时间Δti;S07:计算每一位签名用户Ui的ti,ti=t+Δti;S08:判断消息(m,m')是否在t1时刻之前到达第一个签名用户U1,若消息(m,m')在t1时刻之前尚未到达,则签名用户U1向签名中心发送一个超时消息,表示对消息m的签名失败;若消息(m,m')在t1时刻之前能够到达,则验证m'=h(m,t),如果该等式不成立,签名用户U1请求签名中心重发消息,如果该等式成立,则执行下述步骤S09;S09:签名用户U1计算哈希函数h1=h(m),然后对消息m进行签名,并将该签名信息依照签名顺序发送至下一签名用户Ui(i≥2);S10:若签名用户Ui-1的签名信息在ti时刻之前尚未到达签名用户Ui,则签名用户Ui请求签名用户Ui-1重新发送消息,重新发送消息的次数大于预设次数Num或签名用户Ui-1重新发送的消息在ti时刻之前还是没有到达,则签名用户Ui向签名用户Ui-1发送一个超时消息,表示对消息m的签名失败;若签名用户Ui-1的签名信息在ti时刻之前到达签名用户Ui,则签名用户Ui验证签名用户Ui-1的签名信息;S11:若签名用户Ui对Ui-1的签名信息验证通过,则对消息m进行签名,并将签名后的消息发送至签名用户Ui+1:S12:计算i=i+1并返回步骤S10,直至签名用户Un完成对消息m的签名。所述步骤S01中,由公钥生成中心独立地选取两个大素数p和q,并计算N=pq,保存(p,q,1/2)为系统的主密钥,并公开公钥(2,N)。所述步骤S03中,公钥生成中心为每一个签名用户Ui生成私钥,计算公式如下:gi=IDi^(1/2)(mod N)。所述步骤S09中,签名用户U1按照该公式对消息m进行签名:S1=g1h1=g1h(m)(mod N),签名用户U1再将(S1,m)发送至下一签名用户Ui(i≥2)。所述步骤S11中,签名用户Ui按照以下公式对签名用户Ui-1的签名信息验证:若该等式成立,则验证通过,否则验证失败。所述步骤S11中,待签名用户Ui-1的签名信息验证通过后,则按照以下公式对消息m进行签名:Si≡gih(m)Si-1(mod N),签名用户Ui再将(Si,m)发送给Ui+1。采用上述方案后,本专利技术具有以下几个优点:一、本专利技术将身份密码机制与Rabin算法相结合,简化了系统的复杂性,大大地降低了系统的开销,减轻了证书管理的负担;二、本专利技术减少了系统的计算量和通信量,具有较高的运算效率;三、本专利技术在签名接受者在收到最终的签名时,只需要一步就能知道之前是不是经过了所有人的签名和签名的真伪以及是否对消息进行了篡改,克服了很多方案中验证者只能知道其前面一个人签名情况的弊端,保证了传递消息的完整性和真实性,防止了内部的合谋攻击和重放攻击,有效地增强了系统的安全性和稳定性。附图说明此处所说明的附图用来提供对本专利技术的进一步理解,构成本专利技术的一部分,本专利技术的示意性实施例及其说明用于解释本专利技术,并不构成对本专利技术的不当限定。在附图中:图1是本专利技术的流程框图。具体实施方式为了使本专利技术所要解决的技术问题、技术方案及有益效果更加清楚、明白,以下结合附图和实施例,对本专利技术进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本专利技术,并不用于限定本专利技术。如图1所示,本专利技术提供一种基于身份密码机制的多重数字签名方法,包括如下步骤:S01:系统参数初始化,并生成公钥;S02:对签名用户的ID进行身份的物理验证,并确认用户的ID是否具有唯一性,签名用户的ID表示签名用户唯一可识别的身份;S03:分别为每一个签名用户生成对应的私钥,并通过秘密的信道将其分发给相应的签名用户Ui,其中i=1,…,n,n≥2;S04:签名中心形成签名顺序,并将该签名顺序发送给每一个签名用户Ui;S05:签名中心确定需要发送的消息m,并对其进行哈希运算m'=h(m,t),t为消息m的时间戳;S06:将消息m发送给第一个签名用户U1,并将时间戳t发送给每一位签名用户Ui,设置每个签名用户Ui的签名时间Δti,以防止重复签名;每个签名用户Ui的签名时间Δti值可相同,也可不同。S07:计算每一位签名用户Ui的ti,ti=t+Δti;S08:判断消息(m,m')是否在t1时刻之前到达第一个签名用户U1,若消息(m,m')在t1时刻之前尚未到达,则签名用户U1向签名中心发送一个超时消息,表示对消息m的签名失败;若消息(m,m')在t1时刻之前能够到达,则验证m'=h(m,t),如果该等式不成立,签名用户U1请求签名中心重发消息,如果该等式成立,则执行下述步骤S09;S09:签名用户U1计算哈希函数h1=h(m),然后对消息m进行签名,并将该签名信息依照签名顺序发送至下一签名用户Ui(i≥2);S10:若签名用户Ui-1的签名信本文档来自技高网...
一种基于身份密码机制的多重数字签名方法

【技术保护点】
一种基于身份密码机制的多重数字签名方法,其特征在于,包括如下步骤:S01:系统参数初始化,并生成公钥;S02:对签名用户的ID进行身份的物理验证,并确认用户的ID是否具有唯一性;S03:分别为每一个签名用户生成对应的私钥,并通过秘密的信道将其分发给相应的签名用户Ui,其中i=1,…,n,n≥2;S04:签名中心形成签名顺序,并将该签名顺序发送给每一个签名用户Ui;S05:签名中心确定需要发送的消息m,并对其进行哈希运算m'=h(m,t),t为消息m的时间戳;S06:将消息m发送给第一个签名用户U1,并将时间戳t发送给每一位签名用户Ui,设置每个签名用户Ui的签名时间Δti;S07:计算每一位签名用户Ui的ti,ti=t+Δti;S08:判断消息(m,m')是否在t1时刻之前到达第一个签名用户U1,若消息(m,m')在t1时刻之前尚未到达,则签名用户U1向签名中心发送一个超时消息,表示对消息m的签名失败;若消息(m,m')在t1时刻之前能够到达,则验证m'=h(m,t),如果该等式不成立,签名用户U1请求签名中心重发消息,如果该等式成立,则执行下述步骤S09;S09:签名用户U1计算哈希函数h1=h(m),然后对消息m进行签名,并将该签名信息依照签名顺序发送至下一签名用户Ui(i≥2);S10:若签名用户Ui‑1的签名信息在ti时刻之前尚未到达签名用户Ui,则签名用户Ui请求签名用户Ui‑1重新发送消息,重新发送消息的次数大于预设次数Num或签名用户Ui‑1重新发送的消息在ti时刻之前还是没有到达,则签名用户Ui向签名用户Ui‑1发送一个超时消息,表示对消息m的签名失败;若签名用户Ui‑1的签名信息在ti时刻之前到达签名用户Ui,则签名用户Ui验证签名用户Ui‑1的签名信息;S11:若签名用户Ui对Ui‑1的签名信息验证通过,则对消息m进行签名,并将签名后的消息发送至签名用户Ui+1:S12:计算i=i+1并返回步骤S10,直至签名用户Un完成对消息m的签名。...

【技术特征摘要】
1.一种基于身份密码机制的多重数字签名方法,其特征在于,包括如下步骤:S01:系统参数初始化,并生成公钥;S02:对签名用户的ID进行身份的物理验证,并确认用户的ID是否具有唯一性;S03:分别为每一个签名用户生成对应的私钥,并通过秘密的信道将其分发给相应的签名用户Ui,其中i=1,…,n,n≥2;S04:签名中心形成签名顺序,并将该签名顺序发送给每一个签名用户Ui;S05:签名中心确定需要发送的消息m,并对其进行哈希运算m'=h(m,t),t为消息m的时间戳;S06:将消息m发送给第一个签名用户U1,并将时间戳t发送给每一位签名用户Ui,设置每个签名用户Ui的签名时间Δti;S07:计算每一位签名用户Ui的ti,ti=t+Δti;S08:判断消息(m,m')是否在t1时刻之前到达第一个签名用户U1,若消息(m,m')在t1时刻之前尚未到达,则签名用户U1向签名中心发送一个超时消息,表示对消息m的签名失败;若消息(m,m')在t1时刻之前能够到达,则验证m'=h(m,t),如果该等式不成立,签名用户U1请求签名中心重发消息,如果该等式成立,则执行下述步骤S09;S09:签名用户U1计算哈希函数h1=h(m),然后对消息m进行签名,并将该签名信息依照签名顺序发送至下一签名用户Ui(i≥2);S10:若签名用户Ui-1的签名信息在ti时刻之前尚未到达签名用户Ui,则签名用户Ui请求签名用户Ui-1重新发送消息,重新发送消息的次数大于预设次数Num或签名用户Ui-1重新发送的消息在ti时刻之前还是没有到达,则签名用户Ui向签名用户Ui-1发送一个超时消息,表示对消息m的签名...

【专利技术属性】
技术研发人员:涂高元邱志斌张艳蓉刘鉴元郭永兴陆云燕吴炜斌陈雅贤沈廷强
申请(专利权)人:厦门天锐科技股份有限公司
类型:发明
国别省市:福建;35

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

1