当前位置: 首页 > 专利查询>胡祥义专利>正文

一种安全高效的区块链实现方法技术

技术编号:19702395 阅读:28 留言:0更新日期:2018-12-08 14:12
一种安全高效的区块链实现方法,是采用“垂直认证”技术建立区块链安全体系,基于单钥密码算法,完成身份认证、数字签名、密钥交换和数据加密4项功能,能解决海量用户并发认证和并发签验的难题,对比PKI可提高区块链签名验证速度200倍,使用组合密钥生成算法实时产生加密、认证或签名密钥,一次一变,解决单钥密码算法密钥管理的难题,在客户端加密芯片里,对区块链的合同、账本记录或交易单进行签名,在节点服务器端加密芯片里,对合同、账本记录或交易单的数字签名进行签名验证,保证合同、账本记录或交易单的真实、可信,其中:采用了“芯片”对“芯片”的身份认证、签名或签验协议,从而,建立“芯片级”可信区块链系统。

【技术实现步骤摘要】
一种安全高效的区块链实现方法
:本专利技术涉及区块链应用安全领域。
技术介绍
:目前,国内外的区块链都是采用公钥体制如:PKI技术来实现,但是,由于公钥体制运行效率较低,造成现有区块链应用速度较慢,如:比特币每秒只能完成7笔交易,这影响并阻碍了区块链实现规模化并发交易的应用,同时,公钥是以明文形式存储在网络公钥服务器中,容易受到黑客的攻击,其安全等级较低,造成现有区块链应用安全事件频发,如:比特币每半年就出现一次信息安全事件,给用户带来较大损失,总之,现有的区块链技术和产品不能满足市场的需求。
技术实现思路
:一种安全高效的区块链实现方法,是在区块链各个节点服务器端建立分布式账本数据库,是无中心化体系,在有中心数据库情况下,在客户端安装加密芯片,在加密芯片里建立客户端加密系统,并建立身份认证协议、签名协议和加密协议,在支付服务器端建立认证中心,认证中心由加密设备组成,在认证中心加密芯片里建立认证中心端加密系统,并建立身份认证协议、签名验证协议和解密协议;当用户A与用户B进行交易时,用户A使用客户端加密系统,调用身份认证协议发出身份认证请求,支付服务器端认证中心,对用户A的身份进行身份认证,若未通过身份认证,则用户A身份不可信,若通过身份认证,则该用户A可登录对应自己的账号,并填写交易单,用户A客户端加密系统再调用签名协议,对交易单进行签名,并发送给支付服务器端认证中心,认证中心端加密系统,对被签名的交易单进行签名验证,若未通过签名验证,则交易单不可信,若通过通过签名验证,则支付服务器将交易单的数额支付给用户B的账号里,并将交易单登记到交易单数据库里,从而,完成用户之间交易单的登记和支付过程;一种安全高效的区块链实现方法,是采用“垂直认证”技术建立区块链安全体系,基于单钥密码算法,完成身份认证、数字签名、密钥交换和数据加密4项功能,能解决海量用户并发认证和并发签验的难题,对比PKI可提高区块链签名验证速度200倍,使用组合密钥生成算法实时产生加密、认证或签名密钥,一次一变,解决单钥密码算法密钥管理的难题,在客户端和节点服务器端的加密芯片里分别建立加密系统,在客户端加密芯片里,对区块链的合同、账本记录或交易单进行签名,在节点服务器端加密芯片里,对合同、账本记录或交易单的数字签名进行签名验证,保证合同、账本记录或交易单的真实、可信,在区块链系统中,部署2~10个密钥管理服务器,负责对交易双方用户进行实时密钥交换,同时,对节点服务器端“密钥种子”数据库记录进行更新,其中:采用了“芯片”对“芯片”的身份认证、签名或签验协议,从而,建立“芯片级”可信区块链系统,其方法的技术特征在于:首先,在用户的客户端嵌入加密芯片,在客户端加密芯片里建立加密系统,并写入单钥密码算法、摘要算法、组合密钥生成算法、一组“密钥种子”表i的元素、身份认证协议、签名协议、加密协议、解密协议,从而,建立“芯片级”区块链的客户端,其中:i=1~n,n≤20亿,n为全体区块链用户总数;在区块链系统中建立m个密钥管理服务器,在密钥管理服务器端也部署加密芯片硬件,在加密芯片里建立密钥管理服务器端加密系统,写入单钥密码算法、一组“存储密钥”K、组合密钥生成算法、加密协议,在密钥管理服务器端建立“密钥种子”数据库,将全体用户的标识、账号、对应的“密钥种子”表i的元素密文,一并存储在密钥管理服务器端的“密钥种子”数据库中,从而,建立“芯片级”的区块链的密钥管理服务器,其中:用密钥管理服务器端的“存储密钥”K,分别加密全体用户的“密钥种子”表i元素,m=2~10,m为全体密钥管理服务器的总数,不同密钥管理服务器端的“存储密钥”K,两两相同;在区块链系统中建立j个节点,在节点的服务器端部署加密芯片硬件设备,在加密芯片里建立节点服务器端加密系统,写入单钥密码算法、组合密钥生成算法、一组“存储密钥”K、身份认证协议、签名验证协议、解密协议,在节点服务器端建立“密钥种子”数据库,将全体用户的标识、账号、“密钥种子”表i的元素密文,一并存储在节点服务器端的“密钥种子”数据库中,从而,建立“芯片级”的区块链节点,其中:用密钥管理服务器端的“存储密钥”K,分别加密全体用户的“密钥种子”表i元素,j=100~10万,j为区块链全部节点的总数,i=1~n,n≤20亿,n为全体区块链用户总数,不同节点服务器端的“存储密钥”K,两两相同,节点服务器端和密钥管理服务器端的“存储密钥”K,都两两相同;“垂直认证”技术模式的定义:密钥集中生成,集中灌装,集中分发,集中销毁;由密码管理单位,负责集中生成密钥,集中灌装到客户端、节点服务器端和密钥管理服务器端加密芯片里,通过客户端、节点服务器端和密钥管理服务器端的加密芯片,集中分发密钥,集中将全体用户的“密钥种子”表i元素,在加密设备中分别加密成密文,并分发给各个节点服务器端和密钥管理服务器端,同时,密钥管理服务器端的系统管理员,在“密钥种子”数据库中,对已经时效的密钥进行集中销毁;组合密钥生成算法,是由一组时间戳和随机数组成的选取参数,来对一组“密钥种子”表的元素进行选取,将选出的Y个元素,并合成一组认证密钥RK、签名密钥QK,或加密密钥JK,因为,区块链加密系统采用单钥密码算法,则:客户端的认证密钥RK=节点服务器端的认证密钥RK,签名密钥QK=签名验证密钥QK,加密密钥JK=解密密钥JK,其中:Y=16或32;当用户客户端的加密芯片丢失需要为用户重新配发加密芯片时,由密钥管理单位负责更新用户客户端加密芯片,在新的加密芯片里写入一组新“密钥种子”表元素,其他内容与原用户客户端加密芯片里内容完全相同,同时,更新密钥管理服务器端的“密钥种子”数据库里对应用户的记录,再由密钥管理服务器端加密系统,对所有节点服务器端的“密钥种子”数据库里对应用户的记录进行自动更新;定义:区块链的记账时间为T,T=10~200分钟;定义:区块链的一种共识算法如下:将一次一变的一组随机数的数值,来确定那个用户具有记录一个区块的权利即:对一个区块进行记账;智能合约:是采用一种可编程合约,当用户之间签署的合同、账本记录或交易单在达到区块链某种条件时,合约自动执行,可编程合约保证区块链运行公平,公证,减少人工干预;区块链为每个用户分配一个账号,用户账号的第一笔款进入账号里,用户使用客户端加密芯片里的签名密钥QK对自己的账号资金进行签名,之后,用户账号里的每一笔支付款和收入款,交易双方用户都采用自己的签名密钥QK分别进行签名,保证用户账号资金真实,可信,且不可抵赖;每个节点服务器端事先部署了权限管理系统,用户可以通过身份认证协议,登录自己的账号浏览交易记录,同时,用户可调用自己的签名验证密钥QK,对每一笔账号记录进行签名验证,保证用户账号资金真实,可信,或者,用户之间的合同、账本记录或交易单通过节点服务器端验证后,节点服务器端权限管理系统自动登录对应用户的账号,验证用户账号资金是否合规;在区块链合同或账本记录登记应用领域,当用户A和用户B的合同或账本记录在区块链上登记时,用户A和用户B分别调用客户端加密芯片里的签名协议,产生用户A的签名密钥QKa和用户B的签名密钥QKb,分别对用户A和用户B的合同或账本记录进行签名,所有节点服务器端都将已被用户A和用户B签名的合同本文档来自技高网...

【技术保护点】
1.一种安全高效的区块链实现方法,是在区块链各个节点服务器端建立分布式账本数据库,是无中心化体系,在有中心数据库情况下,在客户端安装加密芯片,在加密芯片里建立客户端加密系统,并建立身份认证协议、签名协议和加密协议,在支付服务器端建立认证中心,认证中心由加密设备组成,在认证中心加密芯片里建立认证中心端加密系统,并建立身份认证协议、签名验证协议和解密协议;当用户A与用户B进行交易时,用户A使用客户端加密系统,调用身份认证协议发出身份认证请求,支付服务器端认证中心,对用户A的身份进行身份认证,若未通过身份认证,则用户A身份不可信,若通过身份认证,则该用户A可登录对应自己的账号,并填写交易单,用户A客户端加密系统再调用签名协议,对交易单进行签名,并发送给支付服务器端认证中心,认证中心端加密系统,对被签名的交易单进行签名验证,若未通过签名验证,则交易单不可信,若通过通过签名验证,则支付服务器将交易单的数额支付给用户B的账号里,并将交易单登记到交易单数据库里,从而,完成用户之间交易单的登记和支付过程;一种安全高效的区块链实现方法,是采用“垂直认证”技术建立区块链安全体系,基于单钥密码算法,完成身份认证、数字签名、密钥交换和数据加密4项功能,能解决海量用户并发认证和并发签验的难题,对比PKI可提高区块链签名验证速度200倍,使用组合密钥生成算法实时产生加密、认证或签名密钥,一次一变,解决单钥密码算法密钥管理的难题,在客户端和节点服务器端的加密芯片里分别建立加密系统,在客户端加密芯片里,对区块链的合同、账本记录或交易单进行签名,在节点服务器端加密芯片里,对合同、账本记录或交易单的数字签名进行签名验证,保证合同、账本记录或交易单的真实、可信,在区块链系统中,部署2~10个密钥管理服务器,负责对交易双方用户进行实时密钥交换,同时,对节点服务器端“密钥种子”数据库记录进行更新,其中:采用了“芯片”对“芯片”的身份认证、签名或签验协议,从而,建立“芯片级”可信区块链系统,其方法的技术特征在于:首先,在用户的客户端嵌入加密芯片,在客户端加密芯片里建立加密系统,并写入单钥密码算法、摘要算法、组合密钥生成算法、一组“密钥种子”表i的元素、身份认证协议、签名协议、加密协议、解密协议,从而,建立“芯片级”区块链的客户端,其中:i=1~n,n≤20亿,n为全体区块链用户总数;在区块链系统中建立m个密钥管理服务器,在密钥管理服务器端也部署加密芯片硬件,在加密芯片里建立密钥管理服务器端加密系统,写入单钥密码算法、一组“存储密钥”K、组合密钥生成算法、加密协议,在密钥管理服务器端建立“密钥种子”数据库,将全体用户的标识、账号、对应的“密钥种子”表i的元素密文,一并存储在密钥管理服务器端的“密钥种子”数据库中,从而,建立“芯片级”的区块链的密钥管理服务器,其中:用密钥管理服务器端的“存储密钥”K,分别加密全体用户的“密钥种子”表i元素,m=2~10,m为全体密钥管理服务器的总数,不同密钥管理服务器端的“存储密钥”K,两两相同;在区块链系统中建立j个节点,在节点的服务器端部署加密芯片硬件设备,在加密芯片里建立节点服务器端加密系统,写入单钥密码算法、组合密钥生成算法、一组“存储密钥”K、身份认证协议、签名验证协议、解密协议,在节点服务器端建立“密钥种子”数据库,将全体用户的标识、账号、“密钥种子”表i的元素密文,一并存储在节点服务器端的“密钥种子”数据库中,从而,建立“芯片级”的区块链节点,其中:用密钥管理服务器端的“存储密钥”K,分别加密全体用户的“密钥种子”表i元素,j=100~10万,j为区块链全部节点的总数,i=1~n,n≤20亿,n为全体区块链用户总数,不同节点服务器端的“存储密钥”K,两两相同,节点服务器端和密钥管理服务器端的“存储密钥”K,都两两相同;“垂直认证”技术模式的定义:密钥集中生成,集中灌装,集中分发,集中销毁;由密码管理单位,负责集中生成密钥,集中灌装到客户端、节点服务器端和密钥管理服务器端加密芯片里,通过客户端、节点服务器端和密钥管理服务器端的加密芯片,集中分发密钥,集中将全体用户的“密钥种子”表i元素,在加密设备中分别加密成密文,并分发给各个节点服务器端和密钥管理服务器端,同时,密钥管理服务器端的系统管理员,在“密钥种子”数据库中,对已经时效的密钥进行集中销毁;组合密钥生成算法,是由一组时间戳和随机数组成的选取参数,来对一组“密钥种子”表的元素进行选取,将选出的Y个元素,并合成一组认证密钥RK、签名密钥QK,或加密密钥JK,因为,区块链加密系统采用单钥密码算法,则:客户端的认证密钥RK=节点服务器端的认证密钥RK,签名密钥QK=签名验证密钥QK,加密密钥JK=解密密钥JK,其中:Y=16或32;当用户客户端的加密芯片丢失需要为用户重新配发加密芯...

【技术特征摘要】
1.一种安全高效的区块链实现方法,是在区块链各个节点服务器端建立分布式账本数据库,是无中心化体系,在有中心数据库情况下,在客户端安装加密芯片,在加密芯片里建立客户端加密系统,并建立身份认证协议、签名协议和加密协议,在支付服务器端建立认证中心,认证中心由加密设备组成,在认证中心加密芯片里建立认证中心端加密系统,并建立身份认证协议、签名验证协议和解密协议;当用户A与用户B进行交易时,用户A使用客户端加密系统,调用身份认证协议发出身份认证请求,支付服务器端认证中心,对用户A的身份进行身份认证,若未通过身份认证,则用户A身份不可信,若通过身份认证,则该用户A可登录对应自己的账号,并填写交易单,用户A客户端加密系统再调用签名协议,对交易单进行签名,并发送给支付服务器端认证中心,认证中心端加密系统,对被签名的交易单进行签名验证,若未通过签名验证,则交易单不可信,若通过通过签名验证,则支付服务器将交易单的数额支付给用户B的账号里,并将交易单登记到交易单数据库里,从而,完成用户之间交易单的登记和支付过程;一种安全高效的区块链实现方法,是采用“垂直认证”技术建立区块链安全体系,基于单钥密码算法,完成身份认证、数字签名、密钥交换和数据加密4项功能,能解决海量用户并发认证和并发签验的难题,对比PKI可提高区块链签名验证速度200倍,使用组合密钥生成算法实时产生加密、认证或签名密钥,一次一变,解决单钥密码算法密钥管理的难题,在客户端和节点服务器端的加密芯片里分别建立加密系统,在客户端加密芯片里,对区块链的合同、账本记录或交易单进行签名,在节点服务器端加密芯片里,对合同、账本记录或交易单的数字签名进行签名验证,保证合同、账本记录或交易单的真实、可信,在区块链系统中,部署2~10个密钥管理服务器,负责对交易双方用户进行实时密钥交换,同时,对节点服务器端“密钥种子”数据库记录进行更新,其中:采用了“芯片”对“芯片”的身份认证、签名或签验协议,从而,建立“芯片级”可信区块链系统,其方法的技术特征在于:首先,在用户的客户端嵌入加密芯片,在客户端加密芯片里建立加密系统,并写入单钥密码算法、摘要算法、组合密钥生成算法、一组“密钥种子”表i的元素、身份认证协议、签名协议、加密协议、解密协议,从而,建立“芯片级”区块链的客户端,其中:i=1~n,n≤20亿,n为全体区块链用户总数;在区块链系统中建立m个密钥管理服务器,在密钥管理服务器端也部署加密芯片硬件,在加密芯片里建立密钥管理服务器端加密系统,写入单钥密码算法、一组“存储密钥”K、组合密钥生成算法、加密协议,在密钥管理服务器端建立“密钥种子”数据库,将全体用户的标识、账号、对应的“密钥种子”表i的元素密文,一并存储在密钥管理服务器端的“密钥种子”数据库中,从而,建立“芯片级”的区块链的密钥管理服务器,其中:用密钥管理服务器端的“存储密钥”K,分别加密全体用户的“密钥种子”表i元素,m=2~10,m为全体密钥管理服务器的总数,不同密钥管理服务器端的“存储密钥”K,两两相同;在区块链系统中建立j个节点,在节点的服务器端部署加密芯片硬件设备,在加密芯片里建立节点服务器端加密系统,写入单钥密码算法、组合密钥生成算法、一组“存储密钥”K、身份认证协议、签名验证协议、解密协议,在节点服务器端建立“密钥种子”数据库,将全体用户的标识、账号、“密钥种子”表i的元素密文,一并存储在节点服务器端的“密钥种子”数据库中,从而,建立“芯片级”的区块链节点,其中:用密钥管理服务器端的“存储密钥”K,分别加密全体用户的“密钥种子”表i元素,j=100~10万,j为区块链全部节点的总数,i=1~n,n≤20亿,n为全体区块链用户总数,不同节点服务器端的“存储密钥”K,两两相同,节点服务器端和密钥管理服务器端的“存储密钥”K,都两两相同;“垂直认证”技术模式的定义:密钥集中生成,集中灌装,集中分发,集中销毁;由密码管理单位,负责集中生成密钥,集中灌装到客户端、节点服务器端和密钥管理服务器端加密芯片里,通过客户端、节点服务器端和密钥管理服务器端的加密芯片,集中分发密钥,集中将全体用户的“密钥种子”表i元素,在加密设备中分别加密成密文,并分发给各个节点服务器端和密钥管理服务器端,同时,密钥管理服务器端的系统管理员,在“密钥种子”数据库中,对已经时效的密钥进行集中销毁;组合密钥生成算法,是由一组时间戳和随机数组成的选取参数,来对一组“密钥种子”表的元素进行选取,将选出的Y个元素,并合成一组认证密钥RK、签名密钥QK,或加密密钥JK,因为,区块链加密系统采用单钥密码算法,则:客户端的认证密钥RK=节点服务器端的认证密钥RK,签名密钥QK=签名验证密钥QK,加密密钥JK=解密密钥JK,其中:Y=16或32;当用户客户端的加密芯片丢失需要为用户重新配发加密芯片时,由密钥管理单位负责更新用户客户端加密芯片,在新的加密芯片里写入一组新“密钥种子”表元素,其他内容与原用户客户端加密芯片里内容完全相同,同时,更新密钥管理服务器端的“密钥种子”数据库里对应用户的记录,再由密钥管理服务器端加密系统,对所有节点服务器端的“密钥种子”数据库里对应用户的记录进行自动更新;定义:区块链的记账时间为T,T=10~200分钟;定义:区块链的一种共识算法如下:将一次一变的一组随机数的数值,来确定那个用户具有记录一个区块的权利即:对一个区块进行记账;智能合约:是采用一种可编程合约,当用户之间签署的合同、账本记录或交易单在达到区块链某种条件时,合约自动执行,可编程合约保证区块链运行公平,公证,减少人工干预;区块链为每个用户分配一个账号,用户账号的第一笔款进入账号里,用户使用客户端加密芯片里的签名密钥QK对自己的账号资金进行签名,之后,用户账号里的每一笔支付款和收入款,交易双方用户都采用自己的签名密钥QK分别进行签名,保证用户账号资金真实,可信,且不可抵赖;每个节点服务器端事先部署了权限管理系统,用户可以通过身份认证协议,登录自己的账号浏览交易记录,同时,用户可调用自己的签名验证密钥QK,对每一笔账号记录进行签名验证,保证用户账号资金真实,可信,或者,用户之间的合同、账本记录或交易单通过节点服务器端验证后,节点服务器端权限管理系统自动登录对应用户的账号,验证用户账号资金是否合规;在区块链合同或账本记录登记应用领域,当用户A和用户B的合同或账本记录在区块链上登记时,用户A和用户B分别调用客户端加密芯片里的签名协议,产生用户A的签名密钥QKa和用户B的签名密钥QKb,分别对用户A和用户B的合同或账本记录进行签名,所有节点服务器端都将已被用户A和用户B签名的合同或账本记录,分别收入一个区块里,否则,则用户A和用户B的合同或账本记录无效;每个节点服务器端加密系统,分别生成用户A的签名验证密钥QKa1和用户B的签名验证密钥QKb1,对已经被用户A和用户B签名的合同或账本记录进行签名验证,若通过签名验证,每个节点服务器端加密系统,将用户A和用户B签名的合同或账本记录写入一个区块中;在经过时间T后,各个节点服务器端加密系统,根据“共识算法”,确认某个用户对区块进行记账,将时间T内所有通过签名验证的合同或账本记录,登记在一个区块里,智能合约将上一个区块的摘要信息写入本区块“头部”,形成区块链中的一个区块,并对该区块进行摘要得到本区块的摘要信息M,其他节点服务器端加密系统对摘要信息M进行验证,通过验证后也在所有其他节点服务器端记录该区块,从而,完成用户之间合同或账本记录登记的区块链应用;若用户A和用户B的合同或账本记录内容需要保密,则通过密钥管理服务器产生过程密钥GK,对用户A和用户B的合同或账本记录进行加密,用户A和用户B分别调用各自客户端加密芯片里的签名协议,分别对用户A和用户B的合同或账本记录进行签名,同时,对过程密钥GK分别进行加密;各个节点服务器端加密系统,分别调用各自加密芯片里的签名验证协议,对用户A和用户B签名的合同或账本记录密文进行签名验证,实现用户A和用户B的合同或账本记录以密文形式传输,以密文形式存储在区块中,只有用户A和用户B,才能调用自己的密钥,对用户A和用户B签名的合同或账本记录密文进行解密,并浏览合同或账本记录的内容;其中:合同或账本记录登记包括:数字档案登记,数字版权登记,房产证登记,电子病历登记,商用合同登记,购物账目记录登记,物联网传感信息登记,食品和药品生产各环节登记,商品的生产、物流、经销过程管理登记,用户诚信记录登记;在区块链的数字货币应用领域,当用户A和用户B进行交易,如:用户A支付一笔款给用户B时,用户A和用户B调用各自客户端加密芯片里的签名协议,分别产生用户A的签名密钥QKa和用户B的签名密钥QKb,对用户A和用户B的交易单进行签名,所有节点服务器都将已被用户A和用户B签名的交易单,分别收入一个区块里,每个节点服务器端加密芯片里,分别生成用户A的签名验证密钥QKa1和用户B的签名验证密钥QKb1,对已经被用户A和用户B签名的交易单进行签名验证,若通过签名验证,则每个节点服务器端根据权限管理系统,分别登录用户A的账号和用户B的账户,查询资金流水是否合规,若通过签名验证,各个节点服务器端加密系统,将用户A和用户B的交易单写入区块中,否则,则用户A和用户B的交易单无效;在经过时间T后,各个节点服务器端加密系统,根据“共识算法”,确认某个用户对区块进行记账,将时间T内所有通过签名验证的交易单登记在一个区块里,智能合约将上一个区块的摘要信息写入本区块“头部”,形成区块链中的一个区块,并对本区块进行摘要得到摘要信息M,其他节点服务器端加密系统对摘要信息M进行验证,通过验证后也在其他所有节点服务器端记录该区块,从而,完成用户之间的交易单登记的区块链应用;若用户A和用户B之间交易单内容需要保密,则通过密钥管理服务器产生过程密钥GK,对用户A和用户B之间交易单进行加密,用户A和用户B客户端加密系统,分别调用各自加密芯片里的签名协议,生成用户A的签名密钥QKa和用户B的签名密钥QKb,分别对用户A和用户B的交易单进行签名,同时,对过程密钥GK分别进行加密;各个节点服务器端加密系统,分别调用各自加密芯片里的签名验证协议,对用户A和用户B签名的交易单密文进行签名验证,实现用户A和用户B的交易单以密文形式传输,以密文形式存储在区块中,用户通过身份认证登录各个节点服务器端,可浏览节点服务器端区块的各条记录,只有交易双方如:用户A和用户B,才能调用自己的密钥,对用户A和用户B签名的交易单密文进行解密,并浏览交易单的内容;在区块链的数字货币应用领域,当用户A和用户B进行交易,如:用户A发送一张现金支票给用户B时,用户A客户端加密系统,调用加密芯片里的签名协议,产生用户A的签名密钥QKa,对用户A发送给用户B的现金支票进行签名,用户B客户端加密系统,调用加密芯片里的加密协议,产生用户B的加密密钥JKb,将用户A发送给用户B的现金支票加密成密文,所有节点服务器都将已被用户A签名和用户B加密的交易单,分别收入一个区块里,每个节点服务器端加密芯片里,分别生成用户A的签名验证密钥QKa1和用户B的解密密钥JKb1,对已经被用户A签名的现金支票进行签名验证,若未通过签名验证,则现金支票不可信,否则,每个节点服务器端根据权限管理系统,分别登录用户A的账号,查询现金支票的数额是否合规,若查询通过,则用户A发送给用户B的现金支票有效,各个节点服务器端加密系统将用户A发送给用户B的现金支票写入一个区块中;在经过时间T后,各个节点服务器端加密系统,根据“共识算法”,确认某个用户对区块进行记账,将时间T内所有通过签名验证的现金支票登记在一个区块里,智能合约将上一个区块的摘要信息写入本区块“头部”,形成区块链中的一个区块,并对该区块进行摘要得到摘要信息M,其他节点服务器端加密系统,对摘要信息M进行验证,通过验证后,也在其他所有节点服务器端记录该区块,从而,完成用户现金支票登记的区块链应用,只有用户B才能调用自己的密钥,对用户A发送给用户B的现金支票密文进行解密,并使用该现金支票;总之,采用“垂直认证”技术,是基于单钥密码算法建立区块链加密系统,在客户端、节点服务器端和密钥管理服务器端都部署加密芯片,建立“芯片级”可信区块链系统。2.根据权利要求1的方法,其特征在于:“垂直认证”技术是基于单钥密码算法建立认证架构,采用组合密钥生成算法,实现认证、签名和加密密钥实时生成,都一次一变,解决单钥密码算法密钥更新管理的难题,仅用单钥密码算法,实现身份认证、数字签名、密钥交换和数据加密4项功能。3.根据权利要求1的方法,其特征在于:“垂直认证”技术定义:密钥集中生成,集中灌装,集中分发,集中销毁;具体密钥生成管理过程如下:(1)密钥集中生成,由密码管理单位,使用加密设备的CPU芯片里随机数发生器,产生一组随机数,将该组随机数作为一组“存储密钥”K,由密码管理单位,使用加密设备的CPU芯片里随机数发生器,产生一组F2字节随机数,将该组随机数作为一组“密钥种子”,若取时间戳为:10位,即:年、月、日和时,则:取F2=1424或1680字节,将F2字节的随机数组成,一套W×Y的“密钥种子”表D,其中:表D的元素为Duv,u=0~w-1,v=0~y-1,Duv占0.5字节,或1字节,W=89,或105,Y=16,或32;总之,由密码管理单位,集中生成“存储密钥”K,集中生成“密钥种子”表i的元素;(2)密钥集中灌装,由密码管理单位,将集中生成的“存储密钥”K,在离线的环境下,灌装到所有密钥管理服务端的加密芯片里,同时,灌装到所有节点服务器端加密芯片里;再将集中生成的“密钥种子”表i的元素,与对应的用户标识i、账号i一起,在离线的环境下,分别灌装到全体用户客户端的加密芯片里;同时,在加密设备的芯片里,将集中生成的“密钥种子”表i的元素,用“存储密钥”K将“密钥种子”表i元素加密成密文,存储在“密钥种子”数据库中,每个用户的标识i和账号i,都对应一组“密钥种子”表i元素,从而,实现用加密设备集中灌装密钥;(3)密钥集中分发,由密码管理单位,通过分发客户端加密芯片来实现用户客户端的密钥分发;由密码管理单位,将“存储密钥”K,通过密钥管理服务器端加密芯片和节点服务器端加密芯片,集中分发到密钥管理服务器端和节点服务器端,从而,实现用加密硬件集中分发“存储密钥”K;将生成的“密钥种子”数据库,分别传输给各个密钥管理服务器和各个节点服务器中,从而,实现通过密文形式集中分发“密钥种子”数据库的记录;(4)密钥集中销毁,若用户丢失手机端加密芯片如:PC机端U盾,手机端带加密芯片的SIM卡、SD卡或TF卡,则密钥管理服务器端系统管理员,将存储在密钥管理服务器端“密钥种子”数据库中对应用户标识的的记录删除,从而,实现用户密钥集中销毁;同时,密钥管理服务器端加密系统,将更新后的“密钥种子”数据库,分别替代所有节点服务器端“密钥种子”数据库;当用户客户端的加密芯片丢失需要为用户重新配发加密芯片时,由密钥管理单位,负责更新用户客户端加密芯片,在新的客户端加密芯片里写入一组新“密钥种子”表i元素,对应的用户标识i、账号i,与原用户客户端加密芯片里内容完全相同,在加密设备芯片里,用“存储密钥”K将该新“密钥种子”表i元素加密成密文,同时,更新各个密钥管理服务器端的“密钥种子”数据库里对应用户的记录,密钥管理服务器端加密系统,将更新后的“密钥种子”数据库的记录,来替代所有节点服务器端“密钥种子”数据库中的记录,将用户标识i和账号i对应的记录作为一张表,写入更新后的“密钥种子”表i元素的密文,并增添更新“密钥种子”表i元素时的时间戳,保留原“密钥种子”表i元素,表中最多存储10套“密钥种子”表i元素的密文,即:用户最多可以丢失10次客户端的加密芯片硬件;为用户重新配发客户端加密芯片后,用户客户端加密系统可调用签名协议,由新“密钥种子”表i元素生成签名密钥,对用户之间的合同、账本记录或交易单进行签名,节点服务器端加密系统,调用对应用户的新“密钥种子”表i的元素密文,在节点服务器端加密芯片里解密新“密钥种子”表i的元素密文成明文,并生成签名验证密钥,对用户之间已被签名的合同、账本记录或交易单进行签名验证,原来丢失的“密钥种子”表i元素已经被替换,不能对合同、账本记录或交易单进行签名;用户通过客户端加密芯片里的身份认证协议,登录任何一个节点服务器端,可以浏览所有区块中的记录,可以“点击”区块中一个历史记录进行签名验证,节点服务器端加密系统,则根据用户“密钥种子”表i元素更新前的时间戳,调用届时对应用户用户“密钥种子”表i元素的密文,生成签名验证密钥对该条记录进行签名验证,原来的“密钥种子”表i元素,只能针对原来签名的合同、账本记录和交易单进行签名验证,不能再对合同、账本记录或交易单进行签名,从而,实现用户的“密钥种子”表i元素的更新过程,其中:i=1~n,n≤20亿,n为全体区块链用户的总数。4.根据权利要求1的方法,其特征在于:(1)组合密钥生成算法,是通过一组时间戳和随机数组成的选取参数,来对一组“密钥种子”表的元素进行选取,用时间戳对“密钥种子”表的“行”元素进行选取,选出Y行Y列的“密钥种子”表的子表,再根据随机数,对Y行Y列的“密钥种子”表的“列”元素进行选取,选出Y个元素,并合成一组存储密钥K,或认证/签名密钥CK,其中:Y=16或32;组合密钥生成算法的具体实现方法如下:以表D为例,来说明组合密钥生成算法的具体实现方法,当选择表D元素为89行16列元素时,即:89×16=1424个元素,每个元素占1字节,共占1424字节,当选择表D元素为105行32列元素时,即:105×32=3360个元素,每个元素占,0.5字节,共占1680字节;■用时间戳的“年”对应表D中的第1~10行,共10行,“月”对应表D中的第11~22行,共12行,“日”对应表D中的第23~53行,共31行,“时”对应表D中的第54~77行,共24行,当选择表D元素为89行16列元素时,表D还有12行元素不对应时间戳;当选择表D元素为105行32列元素时,表D还有28行元素不对应时间戳;根据时间戳从表D的元素中先选出4行,其方法是:从表D的第1~10行共10行中取1行即:用时间戳“年”数字中个位数的数值,作为取表D中“年”对应的行数,如:时间戳为:2013XXXXXX,则:取表D中的第4行,从表D的第11~22行共12行中取1行即:用时间戳“月”数字的数值,作为取表D中“月”对应的“行”,如:时间戳为:20XX11XXXX,则:取表D中的第21行,从表D的第23~53行共31行中取1行即:用时间戳“日”数字的数值,作为取表D中“日”对应的“行”,如:时间戳为:20XXXX30XX,则:取表D中的第52行,从表D的第54~77行共24行中取1行即:用时间戳“时”数字的数值,作为取表D中“时”对应的“行”,如:时间戳为:20XXXKXX21,则:取表D中的第74行,再将表D的第78行~第W行共W-78+1行选出,共选出Y行,其中:Y=16或32行,组成:Y×Y表D的子表D1,其中:表D1的元素为:Dvv,v=0~Y-1,Dvv占0.5或1字节,Y=16或32;表D1中第5行~第Y行的元素与表D的第78行~第W行的元素完全相同;■设:随机数为:Q1,Q2,......,QY,对应的数值分别为:L1,L2,......,LY,当Y=16时,16位随机数对应的数值为:0~15之间,用:L1,L2,......,L16,对表D1的列进行选取,即:用第1位随机数Q1的数值L1,来选取表D1第1行的第L1+1列的元素,用第2位随机数Q2的数值L2,来选取表D1第2行的第L2+1列的元素,......,用第16位随机数Q16的数值L16,来选取表D1第16行的第L16+1列的元素,共选出16个元素;当Y=32时,32位随机数的数值为:0~31,用:L1,L2,......,L32,对表D1的列进行选取,即:用第1位随机数Q1的数值L1,来选取表D1第1行的第L1+1列的元素,用第2位随机数Q2的数值L2,来选取表D1第2行的第L2+1列的元素,......,用第32位随机数Q32的数值L32,来选取表D1第32行的第L32+1列的元素,共选出32个元素;由于,国家规定单钥密码算法的密钥长度为128比特,则从表D中选出的Y组元素合并成一组密钥,若表D的元素为:8比特,Y=16,则从表D中选出的16组元素合并成的密钥为128比特,若表D的元素为:4比特,Y=32,则从表D中选出的32组元素合并成的密钥也为128比特,设:存储密钥K、认证密钥RK、签名密钥QK和过程密钥GK都为128比特;(2)根据组合密钥生成算法,能实时产生密钥,一次一变,若时间戳取10位,即:年、月、日和时,“密钥种子”表为89×16,随机数取16位二进制数,其中:每位随机数占4比特,共16种变化,则密钥的变化量为:264/小时;若时间戳取10位即:年、月、日和时,“密钥种子”表为105×32,随机数取32位二进制数,其中:每位随机数占5比特,共32种变化,则密钥的变化量为:2160/小时。5.根据权利要求1的方法,其特征在于:用户身份认证协议,用户A采用挑战/应答式身份认证登录自己账号,首先,用户A“点击”任意一节点服务器端的认证“按钮”发出身份认证请求,节点服务器端产生一组时间戳1并发给客户端,在客户端产生一组随机数1,在客户端加密芯片里,根据组合密钥生成算法,对一组“密钥种子”表a元素进行选取,选出Y=16,或32个元素合成一组认证密钥RK,再调用摘要算法对该组时间戳1和随机数1进行摘要,得到该组时间戳1和随机数1的摘要信息即:验证码1,用认证密钥RK加密验证码1得到签名码,将认证参数:用户A的标识、账号、验证码1、签名码、时间戳1和随机数1,一并发送给拟登录的节点服务器端,该节点服务器端加密系统,根据用户A的标识取出“密钥种子”库中,对应的“密钥种子”表a元素的密文,在该节点服务器端加密芯片里,用“存储密钥”K解密“密钥种子”表a元素的密文得到明文,根据时间戳1和随机数1组成的组合密钥生成算法,生成节点服务器端的认证密钥RK1,用认证密钥QK1解密签名码得到验证码2,若验证码1≠验证码2,则用户A登录该节点服务器端失败,否则,用户A可成功登录该节点服务器端;用户通过身份认证协议,可登录任何一个节点,浏览区块链区块中的记录,同时,可根据节点服务器端的权限管理系统,进入自己的账号,浏览用户自己账号的交易记录,另外,用户客户端加密系统,可根据交易记录中的时间戳和随机数,组成的组合密钥生成算法,产生签名验证密钥QK,对每一笔账号资金记录进行签名验证,验证用户账号交易记录是否真实,可信。6.根据权利要求1的方法,其特征在于:在区块链合同或账本记录登记应用领域,当用户A和用户B的合同或账本记录在区块链上登记时,用户A的客户端加密系统调用签名协议,首先,产生一组时间戳1和随机数1,在加密芯片里根据组合密钥生成算法,对一套“密钥种子”表a的元素进行选取,将选出的Y=16,或32个元素合成一组签名密钥QKa,调用摘要算法对合同或账本记录进行摘要,得到摘要信息L1,再使用签名密钥QKa将摘要信息L1加密成密文,即:用户A对合同或账本记录的数字签名,同时,用户A的客户端加密系统,将用户A的标识、合同或账本记录、用户A对合同或账本记录的数字签名、时间戳1和随机数1,发送给用户B客户端,用户B的客户端加密系统调用签名协议,首先,产生一组时间戳2和随机数2,在加密芯片里根据组合密钥生成算法,对一套“密钥种子”表b的元素进行选取,生成一组签名密钥QKb,调用摘要算法对合同或账本记录进行摘要,得到摘要信息L3,再使用签名密钥QKb将摘要信息L3加密成密文即:用户B对合同或账本记录的数字签名,用户B的客户端加密系统,将合同或账本记录,以及相关参数:用户A标识、用户B的标识、摘要信息L1、摘要信息L3、用户A对合同或账本记录的数字签名、用户B对合同或账本记录的数字签名、时间戳1和随机数1、时间戳2和随机数2,一并发送给各个节点服务器端;所有节点服务器端都将已被用户A和用户B签名的合同或账本记录以及相关参数,分别收入一个区块里,每个节点服务器端加密系统,分别对合同或账本记录的数字签名进行签名验证,具体签名验证过程如下:首先,每个...

【专利技术属性】
技术研发人员:胡祥义
申请(专利权)人:胡祥义
类型:发明
国别省市:北京,11

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

1