一种数字证书管理方法及系统
技术领域
本发明涉及信息安全领域。
背景技术
目前,信息数据的加密和网络身份认证主要通过数字证书技术来实现。数字证书的生成、更新、注销等操作由数字证书认证中心(CA)来完成。数字证书的权威性、安全性由CA来保证,因此,基于数字证书技术的应用体系的安全性取决于CA,CA成为被网络攻击的关键点。
CA由专门的机构来运营维护,其管理人员安全意识、操作的合规性等在很大程度上影响CA的安全性与权威性。
CA作为中心化权威机构,如被攻击将造成整个应用体系安全性降低,同时,希望建立相互信任的用户群体必须在同一个CA或具备交叉信任关系的CA申请数字证书,证书的生成、注销及更新等操作必须向CA提出申请,自主灵活性低,且需向CA缴纳费用,成本高。
发明内容
本发明所要解决的技术问题是提供一种数字证书管理方法及系统,目的在于解决现有数字证书申请存在的自主灵活性低、成本高的问题。
本发明解决上述技术问题的技术方案如下:一种数字证书管理方法,该方法是由以下过程实现的:
S1、建立区块链应用系统,部署多个节点,每个节点对应一个公开、共享的账本,每个账本中均记录多个区块;
S2、建立数字证书管理模式,在每个账本中同步记录数字证书生成、数字证书注销和数字证书更新操作。
在上述技术方案的基础上,本发明还可以做如下改进。
进一步,所述S1的具体实现过程包括:
S11、建立P2P网络,部署多个节点;
S12、每个节点均维护一个公开、共享的账本,每个账本中均记录有多个区块,每个区块记录多条操作或交易数据;
S13、每个节点均由各用户自主进行维护。
进一步,所述S2的具体实现过程包括:
S21、用户生成的证书向全节点发布,经过区块链全节点的共识处理,将新生成的证书记录在各节点的账本中。证书生成操作结束。
S22、用户证书注销请求向全节点发布,经过区块链全节点的共识处理,将证书注销请求记录在各节点的账本中。证书注销操作结束。
S23、依次执行注销数字证书操作和生成数字证书操作实现数字证书的更新。
进一步,所述S21的具体实现过程包括:
S211、用户生成公私钥对(p,s),同时生成自签名数字证书Cert;
S212、通过私钥计算签名Sign(t,m,Hash(r)),
其中,
t为当前操作时间;
m为特定信息,具体为随机数或用户自定义信息;
r为随机数,秘密保存,用于用户丢失私钥后,证明自身身份的证据;
Hash(r)为标准Hash函数;
S213、将Cert、t、m、Hash(r)及Sign(t,m,Hash(r))作为一笔操作记录向全部节点发布;
S214、其他节点接收到操作记录,使用Cert中的公钥p及t、m、Hash(r)信息验证签名Sign(t,m,Hash(r))是否正确,同时验证t是否与当前时间相一致;
S215、根据区块链共识处理机制,当半数以上节点验证通过,将操作记录记录到区块链中,用户数字证书生成成功。
进一步,所述S22的具体实现过程包括:
S221、用户采用私钥s对该用户证书序列号n、当前操作时间t和注销原因w进行签名Sign(n,t,w),将n,t,w及Sign(n,t,w)作为一条操作记录向全部节点发布;
S222、如果用户私钥s丢失,则用户将证书序列号n、秘密保存的随机数r及注销原因w作为一条记录向全部节点发出;
S223、根据区块链共识处理机制,当半数以上节点验证通过,则将该操作记录记录到区块链中,用户数字证书注销成功。
本发明的有益效果:本发明所述的数字证书管理方法没有中心化CA机构,用户无需向CA缴纳任何费用,使用分布式证书管理技术,如对本发明所述的数字证书进行攻击,则需同时攻击半数以上的节点,难度极大,安全性大大优于中心化CA方案;另外用户自己维护证书信任体系,即使半数以下用户合谋攻击,也无法攻击成功。区块链中所有操作交易均不可更改或删除,任何操作交易均可审计追溯,安全性和可靠性由全网节点共同维护。
一种数字证书管理系统,该系统包括:
区块链应用系统建立模块,用于部署多个节点,每个节点对应一个公开、共享的账本,每个账本中均记录多个区块;
数字证书管理模式建立模块,用于在每个账本中同步记录数字证书生成、数字证书注销和数字证书更新操作。
进一步,所述区块链应用系统建立模块包括:
节点部署模块,用于建立P2P网络,部署多个节点;
数据记录模块,用于采用一对一的方式,令每个节点维护一个公开、共享的账本,每个账本中均记录有多个区块,每个区块记录多条操作或交易数据;
自主维护模块,用于各用户自主对每个节点进行维护。
进一步,所述数字证书管理模式建立模块包括:
数字证书生成模块,用于用户生成的证书向全节点发布,经过区块链全节点的共识处理,将新生成的证书记录在各节点的账本中,证书生成操作结束。
数字证书注销模块,用于用户证书注销请求向全节点发布,经过区块链全节点的共识处理,将证书注销请求记录在各节点的账本中,证书注销操作结束。
数字证书更新模块,用于依次执行注销数字证书操作和生成数字证书操作实现数字证书的更新。
进一步,所述数字证书生成模块包括:
公私钥对生成模块,用于用户生成公私钥对(p,s),同时生成自签名数字证书Cert;
签名计算模块,用于通过私钥计算签名Sign(t,m,Hash(r)),
其中,
t为当前操作时间;
m为特定信息,具体为随机数或用户自定义信息;
r为随机数,秘密保存,用于用户丢失私钥后,证明自身身份的证据;
Hash(r)为标准Hash函数;
证书生成操作记录发布模块,用于将Cert、t、m、Hash(r)及Sign(t,m,Hash(r))作为一笔操作记录向全部节点发布;
验证模块,用于当其他节点接收到操作记录,使用Cert中的公钥p及t、m、Hash(r)信息验证签名Sign(t,m,Hash(r))是否正确,同时验证t是否与当前时间相一致;
证书生成处理模块,用于根据区块链共识处理机制,当半数以上节点验证通过,将操作记录记录到区块链中,用户数字证书生成成功。
进一步,所述数字证书注销模块包括:
证书注销操作记录发布模块,用于用户采用私钥s对该用户证书序列号n、当前操作时间t和注销原因w进行签名Sign(n,t,w),将n,t,w及Sign(n,t,w)作为一条操作记录向全部节点发布;
私钥丢失操作记录发布模块,用于当用户私钥s丢失,则用户将证书序列号n、秘密保存的随机数r及注销原因w作为一条记录向全部节点发出;
证书注销处理模块,用于根据区块链共识处理机制,当半数以上节点验证通过,则将该操作记录记录到区块链中,用户数字证书注销成功。
本发明的有益效果:本发明所述的数字证书管理系统没有中心化CA机构,用户无需向CA缴纳任何费用,使用分布式证书管理技术,如对本发明所述的数字证书进行攻击,则需同时攻击半数以上的节点,难度极大,安全性大大优于中心化CA方案;另外用户自己维护证书信任体系,即使半数以下用户合谋攻击,也无法攻击成功。区块链中所有操作交易均不可更改或删除,任何操作交易均可审计追溯,安全性和可靠性由全网节点共同维护。
附图说明
图1为本发明实施例所述的数字证书管理方法的流程图;
图2为本发明实施例所述的建立区块链应用系统的流程图;
图3为本发明实施例所述的建立数字证书管理模式的流程图;
图4为本发明实施例所述的数字证书生成的流程图;
图5为本发明实施例所述的数字证书注销的流程图;
图6为本发明实施例所述的数字证书管理系统的原理示意图;
图7为本发明实施例所述的区块链应用系统建立模块1的原理示意图;
图8为本发明实施例所述的数字证书管理模式建立模块2的原理示意图;
图9为本发明实施例所述的数字证书生成模块6的原理示意图;
图10为本发明实施例所述的数字证书注销模块7的原理示意图。
附图中,各标号所代表的部件列表如下:
1、区块链应用系统建立模块,2、数字证书管理模式建立模块,3、节点部署模块,4、数据记录模块,5、自主维护模块,6、数字证书生成模块,7、数字证书注销模块,8、数字证书更新模块,9、公私钥对生成模块,10、签名计算模块,11、证书生成操作记录发布模块,12、验证模块,13、证书生成处理模块,14、证书注销操作记录发布模块,15、私钥丢失操作记录发布模块,16、证书注销处理模块。
具体实施方式
以下结合附图对本发明的原理和特征进行描述,所举实例只用于解释本发明,并非用于限定本发明的范围。
实施例1
如图1所示,本实施例提出了一种数字证书管理方法,该方法首先建立区块链应用系统,然后建立数字证书管理模式,包括证书生成、注销以及更新,以实现对数字证书的分布式、自维护、可审计的管理,提供了整个数字证书系统的安全性和可靠性,具体实现过程为:
S1、建立区块链应用系统,部署多个节点,每个节点对应一个公开、共享的账本,每个账本中均记录多个区块;
S2、建立数字证书管理模式,在每个账本中同步记录数字证书生成、数字证书注销和数字证书更新操作。
优选的,如图2所示,建立区块链应用系统的具体实现过程为:
S11、建立P2P网络,部署多个节点;
S12、每个节点均维护一个公开、共享的账本,每个账本中均记录有多个区块,每个区块记录多条操作或交易数据;
S13、每个节点均由各用户自主进行维护,也可以采用特定的某些机构进行维护。
优选的,如图3所示,建立数字证书管理模式的具体实现过程为:
S21、用户生成的证书向全节点发布,经过区块链全节点的共识处理,将新生成的证书记录在各节点的账本中。证书生成操作结束。
S22、用户证书注销请求向全节点发布,经过区块链全节点的共识处理,将证书注销请求记录在各节点的账本中。证书注销操作结束。
S23、依次执行注销数字证书操作和生成数字证书操作实现数字证书的更新。
优选的,如图4所示,数字证书生成的具体过程为:
S211、用户生成公私钥对(p,s),同时生成自签名数字证书Cert;
S212、通过私钥计算签名Sign(t,m,Hash(r)),
其中,
t为当前操作时间;
m为特定信息,具体为随机数或用户自定义信息;
r为随机数,秘密保存,用于用户丢失私钥后,证明自身身份的证据;
Hash(r)为标准Hash函数;
S213、将Cert、t、m、Hash(r)及Sign(t,m,Hash(r))作为一笔操作记录向全部节点发布;
S214、其他节点接收到操作记录,使用Cert中的公钥p及t、m、Hash(r)信息验证签名Sign(t,m,Hash(r))是否正确,同时验证t是否与当前时间相一致;
S215、根据区块链共识处理机制,当半数以上节点验证通过,将操作记录记录到区块链中,用户数字证书生成成功。
优选的,如图5所示,数字证书注销的具体过程为:
S221、用户采用私钥s对该用户证书序列号n、当前操作时间t和注销原因w进行签名Sign(n,t,w),将n,t,w及Sign(n,t,w)作为一条操作记录向全部节点发布;
S222、如果用户私钥s丢失,则用户将证书序列号n、秘密保存的随机数r及注销原因w作为一条记录向全部节点发出;
S223、根据区块链共识处理机制,当半数以上节点验证通过,则将该操作记录记录到区块链中,用户数字证书注销成功。
本实施例所述的数字证书管理方法主要针对CA作为中心化权威机构已被攻击而导致整个安全体系崩溃的问题,建立了基于分布式、自信任、可追溯的区块链应用体制,在此基础上建立了数字证书管理模式,并成为一套完整实现了分布式、高安全性、高可靠性的、用户自主实现证书管理的解决方案。
实施例2
如图6所示,本实施例提出了一种数字证书管理系统,该系统包括:
区块链应用系统建立模块1,用于部署多个节点,每个节点对应一个公开、共享的账本,每个账本中均记录多个区块;
数字证书管理模式建立模块2,用于在每个账本中同步记录数字证书生成、数字证书注销和数字证书更新操作。
优选的,如图7所示,所述区块链应用系统建立模块1包括:
节点部署模块3,用于建立P2P网络,部署多个节点;
数据记录模块4,用于采用一对一的方式,令每个节点维护一个公开、共享的账本,每个账本中均记录有多个区块,每个区块记录多条操作或交易数据;
自主维护模块5,用于用户自主对每个节点进行维护。
优选的,如图8所示,所述数字证书管理模式建立模块2包括:
数字证书生成模块6,用户生成的证书向全节点发布,经过区块链全节点的共识处理,将新生成的证书记录在各节点的账本中。证书生成操作结束。
数字证书注销模块7,用户证书注销请求向全节点发布,经过区块链全节点的共识处理,将证书注销请求记录在各节点的账本中。证书注销操作结束。
数字证书更新模块8,用于依次执行注销数字证书操作和生成数字证书操作实现数字证书的更新。
优选的,如图9所示,所述数字证书生成模块6包括:
公私钥对生成模块9,用于用户生成公私钥对(p,s),同时生成自签名数字证书Cert;
签名计算模块10,用于通过私钥计算签名Sign(t,m,Hash(r)),
其中,
t为当前操作时间;
m为特定信息,具体为随机数或用户自定义信息;
r为随机数,秘密保存,用于用户丢失私钥后,证明自身身份的证据;
Hash(r)为标准Hash函数;
证书生成操作记录发布模块11,用于将Cert、t、m、Hash(r)及Sign(t,m,Hash(r))作为一笔操作记录向全部节点发布;
验证模块12,用于当其他节点接收到操作记录,使用Cert中的公钥p及t、m、Hash(r)信息验证签名Sign(t,m,Hash(r))是否正确,同时验证t是否与当前时间相一致;
证书生成处理模块13,用于根据区块链共识处理机制,当半数以上节点验证通过,将操作记录记录到区块链中,用户数字证书生成成功。
优选的,如图10所示,所述数字证书注销模块7包括:
证书注销操作记录发布模块14,用于用户采用私钥s对该用户证书序列号n、当前操作时间t和注销原因w进行签名Sign(n,t,w),将n,t,w及Sign(n,t,w)作为一条操作记录向全部节点发布;
私钥丢失操作记录发布模块15,用于当用户私钥s丢失,则用户将证书序列号n、秘密保存的随机数r及注销原因w作为一条记录向全部节点发出;
证书注销处理模块16,用于根据区块链共识处理机制,当半数以上节点验证通过,则将该操作记录记录到区块链中,用户数字证书注销成功。
本实施例所述的数字证书管理系统没有中心化CA机构,用户无需向CA缴纳任何费用,使用分布式证书管理技术,如对本发明所述的数字证书进行攻击,则需同时攻击半数以上的节点,难度极大,安全性大大优于中心化CA方案;另外用户自己维护证书信任体系,即使半数以下用户合谋攻击,也无法攻击成功。区块链中所有操作交易均不可更改或删除,任何操作交易均可审计追溯,安全性和可靠性由全网节点共同维护。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。