首页 / 专利库 / 银行与财务事项 / 加密货币地址 / 基于区块链的认可证书签发系统和方法以及基于区块链的认可证书认证系统和方法

基于链的认可证书签发系统和方法以及基于区块链的认可证书认证系统和方法

阅读:427发布:2020-06-04

专利汇可以提供基于链的认可证书签发系统和方法以及基于区块链的认可证书认证系统和方法专利检索,专利查询,专利分析的服务。并且本 发明 涉及基于 区 块 链 的认可证 书签 发系统和使用该系统的基于区块链的认可证书签发方法,以及基于区块链的认可证书认证系统和使用该系统的基于区块链的认可证书认证方法,通过安装在其中不可能安装用于物理地 访问 和读取系统内部的功能或附加程序的终端中的随机数发生器自主地生成、存储和管理用于认可证书的个人密钥来防止用于认可证书的个人密钥的泄露,通过基于对等(P2P)网络的分布式 数据库 而不是在由经认可的认证机构(CA)运营的 服务器 中在安装在区块链保留服务器中的 电子 钱包的区块链中存储和管理需要维护的用于认可的认证的公钥,因此,如果发生黑客攻击,则由于防止用于建立具有高级安全系统从而最大限度地防止黑客行为的认可证书签发系统的成本以及经营和维护已建立的认可证书签发系统的成本的发生而几乎不产生维护成本,并且即使未建立ActiveX,也可以执行认可的认证过程。,下面是基于链的认可证书签发系统和方法以及基于区块链的认可证书认证系统和方法专利的具体信息内容。

1.一种用于基于链签发公共证书的系统,包括:
信息安全设备,指示其加密引擎基于在存储器中存储和管理的用于所述公共证书的私钥创建用于所述公共证书的公钥并且响应于发送所述公钥的请求发送所创建的公钥,其中,所述私钥基于随机数发生器生成并存储在所述存储器中的随机值获取,然后被提供给用户;
用户设备,发送从所述信息安全设备发送的所述公钥和用于基于区块链签发所述公共证书的个人信息,其中,所述个人信息包括签发所需的用户身份信息;
签发请求服务器:(i)从所述用户设备接收所述个人信息和所述公钥;(ii)散列所述个人信息以获取用于认证的用户身份散列信息;以及(iii)获取所述用于认证的用户身份散列信息、所述公钥以及全部个人信息中包含的全部用户身份信息中与所述用户对应的用户身份信息,从而创建和发送交易请求信号
证书管理服务器:(I)(i)生成(i-1)用于存储公钥的交易信息和(i-2)用于存储公钥的交易ID,其被用作搜索所述用于存储公钥的交易信息的键值,其中,所述交易信息包括所述交易请求信号中的所述公钥,(ii)发送所述用于存储公钥的交易信息,并存储和管理所述用于存储公钥的交易ID;(II)(i)对所述交易请求信号中的所述用于认证的用户身份散列信息和所述用于存储公钥的交易ID进行散列以获取用于认证的用户验证散列信息,(ii)生成(ii-1)包括所述用于认证的用户验证散列信息的用于用户验证的交易信息和(ii-2)用于用户验证的交易ID,其被用作搜索所述用于用户验证的交易信息的键值,(iii)发送所述用于用户验证的交易信息,并存储和管理所述用于用户验证的交易ID;以及(III)在所述交易请求信号中存储和管理所述用户身份信息;以及
区块链节点,将从所述证书管理服务器发送的所述用于用户验证的交易信息以及所述用于存储公钥的交易信息存储在区块链中,其中,如果接收到用于加密货币支付的交易信息,则所述区块链节点通过验证所述用于加密货币支付的交易信息来授权加密货币支付,并且,所述区块链节点通过参考授权处理的结果将所述用于加密货币支付的交易信息存储在所述区块链中。
2.根据权利要求1所述的系统,其中,所述签发请求服务器包括数据库部分,其中,所述数据库部分存储关于操作所述用户设备的所述用户的所述用户身份信息,并且具有存储与全部个人信息对应的全部用户身份信息的身份信息数据库存,其中,所述用户设备将所述个人信息发送到所述签发请求服务器从而请求签发,其中,如果确定与所述个人信息对应的信息存在于所述身份信息数据库存中,则所述签发请求服务器生成用于所述公钥的发送请求信号并将其发送到所述用户设备,其中,所述用户设备将所述发送请求信号发送到所述信息安全设备,
其中,如果接收到所述发送请求信号,则所述信息安全设备指示所述加密引擎使用存储在所述存储器中的所述私钥生成所述公钥,并且将所述公钥发送到所述用户设备,并且其中,所述用户设备将所述公钥发送到所述签发请求服务器。
3.根据权利要求1所述的系统,其中,所述个人信息包括所述用户的姓名、所述用户的出生日期、所述用户的电话号码以及所述用户的电子邮件地址中的至少两个,并且其中,所述用户身份信息是所述用户的电话号码。
4.根据权利要求1所述的系统,其中,所述签发请求服务器包括散列引擎,所述散列引擎散列所述个人信息从而获取所述用于认证的用户身份散列信息。
5.根据权利要求1所述的系统,其中,所述证书管理服务器包括具有关键字数据库、交易处理引擎和散列引擎的数据库部分,
其中,所述交易处理引擎将所述用户身份信息存储在所述关键字数据库中,并且创建用于存储公钥的交易信息,其中,所述交易信息包括所述公钥和用于存储公钥的交易ID,所述用于存储公钥的交易ID用作搜索所述用于存储公钥的交易信息的键值,其中,所述散列引擎获取通过对所述用于存储公钥的交易ID和所述交易请求信号中包括的所述用户身份信息进行散列而计算出的用于认证的用户验证散列信息,并且其中,所述交易处理引擎:
(i)将所述用于存储公钥的交易信息发送到所述区块链节点;(ii)将所述用于存储公钥的交易ID存储在所述关键字数据库中;(iii)创建(iii-1)包括所述用于认证的用户验证散列信息的用于用户验证的交易信息和(iii-2)用于用户验证的交易ID,其被用作搜索所述用于用户验证的交易信息的键值;(iv)将所述用于用户验证的交易信息发送到所述区块链节点;(v)在所述关键字数据库中存储并管理所述用于用户验证的交易ID。
6.根据权利要求1所述的系统,其中,用于存储用于所述公共证书的公钥的交易信息包括:
(i)先前的加密货币支付的交易ID,其用于使用先前的加密货币支付的交易信息来定位待花费的加密货币,所述待花费的加密货币为发送者拥有的加密货币金额的一部分;
(ii)关于所述发送者是否被授权使用所述加密货币的许可信息;
(iii)验证所述许可信息所需的用于加密货币支付的公钥;
(iv)注册费用信息,所述注册费用信息是关于注册签发所需的用于所述公共证书的所述公钥所需的费用金额的信息;
(v)OP_RETURN信息,其表示用于存储用于所述公共证书的公钥的交易信息不是与加密货币支付有关的货币交易而是用于记录信息的元交易;以及
(vi)用于所述公共证书的所述公钥。
7.根据权利要求1所述的系统,其中,所述用于用户验证的交易信息包括:
(i)先前的加密货币支付的交易ID,用于使用先前的加密货币支付的交易信息来定位待花费的加密货币,所述待花费的加密货币为发送者拥有的加密货币金额的一部分;
(ii)关于所述发送者是否被授权使用所述加密货币的许可信息;
(iii)验证所述许可信息所需的用于加密货币支付的公钥;
(iv)注册费用信息,所述注册费用信息是关于注册签发所需的所述用于认证的用户验证散列信息所需的费用金额的信息;
(v)OP_RETURN信息,其表示所述用于用户验证的交易信息不是与加密货币支付有关的货币交易而是用于记录信息的元交易;以及
(vi)所述用于认证的用户验证散列信息。
8.根据权利要求7所述的系统,其中,如果关于撤销所述公共证书的储备费用信息和用于用户验证的交易信息存储在所述区块链节点的所述区块链中,则所述用于用户验证的交易信息还包括转移信息,所述转移信息包括储备费用金额和用于将与所述储备费用信息对应的储备费用转移到指定加密货币地址的储备加密货币地址。
9.一种用于基于区块链的签发公共证书的方法,包括:
步骤S100,信息安全设备连接到用户设备,其中,所述信息安全设备包括随机数发生器及存储和管理所述公共证书的私钥的存储器,所述私钥是从所述随机数发生器生成的;
步骤S110,所述用户设备基于所述区块链向签发请求服务器发送用于签发所述公共证书的个人信息从而请求签发,其中,所述个人信息包括签发所需的用户身份信息;
步骤S120,所述签发请求服务器识别所述个人信息并且创建并向所述用户设备发送请求发送用于所述公共证书的公钥的指导信号;
步骤S130,所述用户设备将发送的指导信号转发到所述信息安全设备;
步骤S140,如果所述指导信号被转发,则所述信息安全设备指示其加密引擎使用存储在所述存储器中的所述私钥创建所述公钥并将所述公钥发送到所述用户设备;
步骤S150,所述用户设备将所述公钥转发到所述签发请求服务器;
步骤S160,所述签发请求服务器接收所述公钥,指示其散列引擎对所述个人信息进行散列以获取用于认证的用户身份散列信息,并获取所述用于认证的用户身份散列信息、所述公钥以及全部个人信息中包含的全部用户身份信息中与用户对应的用户身份信息,从而创建交易请求信号并向证书管理服务器发送所述交易请求信号;
步骤S170,所述证书管理服务器:(i)指示其交易处理引擎将包含在交易请求信号中的用户身份信息存储在关键字数据库中以便搜索用户交易;(ii)创建(ii-1)用于存储公钥的交易信息,其中所述交易信息包括所述公钥,以及(ii-2)用于存储公钥的交易ID,其被用作搜索所述用于存储公钥的交易信息的键值;
步骤S180,所述证书管理服务器指示其散列引擎对所述用于存储公钥的交易ID和所述交易请求信号中的用户身份散列信息进行散列,从而获取用于认证的用户验证散列信息;
步骤S190,所述证书管理服务器:(i)指示所述交易处理引擎将所述用于存储公钥的交易信息发送到区块链节点;(ii)将所述用于存储公钥的交易ID存储在所述关键字数据库中;(iii)创建(iii-1)包括所述用于认证的用户验证散列信息的用于用户验证的交易信息和(iii-2)用于用户验证的交易ID,其被用作搜索所述用于用户验证的交易信息的键值;
(iv)将所述用于用户验证的交易信息发送到所述区块链节点;(v)在所述关键字数据库中存储并管理所述用于用户验证的交易ID;以及
步骤S200,所述区块链节点将所述用于存储公钥的交易信息和所述用于用户验证的交易信息存储在所述区块链中,从而完成签发。
10.根据权利要求9所述的方法,其中,所述个人信息包括所述用户的姓名、所述用户的出生日期、所述用户的电话号码和所述用户的电子邮件地址中的至少两个,并且其中,所述用户身份信息包括电话号码。
11.根据权利要求9所述的方法,其中,在步骤S170,用于存储用于所述公共证书的公钥的交易信息包括:
(i)先前的加密货币支付的交易ID,其用于使用先前的加密货币支付的交易信息来定位待花费的加密货币,所述待花费的加密货币为发送者拥有的加密货币金额的一部分;
(ii)关于所述发送者是否被授权使用所述加密货币的许可信息;
(iii)验证所述许可信息所需的用于加密货币支付的公钥;
(iv)注册费用信息,所述注册费用信息是关于注册签发所需的用于所述公共证书的所述公钥所需的费用金额的信息;
(v)OP_RETURN信息,其表示用于存储用于所述公共证书的公钥的交易信息不是与加密货币支付有关的货币交易而是用于记录信息的元交易;以及
(vi)用于所述公共证书的所述公钥。
12.根据权利要求9所述的方法,其中,在步骤S170,所述用于用户验证的交易信息包括:
(i)先前的加密货币支付的交易ID,用于使用先前的加密货币支付的交易信息来定位待花费的加密货币,所述待花费的加密货币为发送者拥有的加密货币金额的一部分;
(ii)关于所述发送者是否被授权使用所述加密货币的许可信息;
(iv)注册费用信息,所述注册费用信息是关于注册签发所需的所述用于认证的用户验证散列信息所需的费用金额的信息;以及
(v)OP_RETURN信息,表示所述用于用户验证的交易信息不是与加密货币支付有关的货币交易而是用于记录信息的元交易。
13.根据权利要求12所述的方法,其中,如果关于撤销所述公共证书的储备费用信息和用于用户验证的交易信息存储在所述区块链节点的所述区块链中,则所述用于用户验证的交易信息还包括转移信息,所述转移信息具有储备费用金额和用于将与所述储备费用信息对应的储备费用转移到指定的加密货币地址的储备加密货币地址。
14.一种基于区块链的对公共证书进行认证的系统,包括:
信息安全设备,包括解密引擎及具有用于所述公共证书的私钥的存储器;
用户设备,基于所述区块链请求所述公共证书的认证;
认证请求服务器,包括随机数发生器及加密引擎,所述认证请求服务器响应于来自所述用户设备的认证请求,通过发送关于操作所述用户设备的用户的用户身份信息来转发所述认证请求;
证书管理服务器,通过发送与从所述认证请求服务器接收的所述用户身份信息对应的用于用户验证的交易ID和用于存储公钥的交易ID来请求下载用于存储用于所述公共证书的公钥的交易信息和用于用户验证的交易信息;以及
区块链节点:(i)通过验证发送的关于加密货币支付的交易信息来授权加密货币支付;
(ii)在区块链中存储(ii-1)关于加密货币支付的交易信息,(ii-2)用于存储公钥的交易信息,其中所述交易信息包括所述公钥,(ii-3)包括用于认证的用户验证散列信息的用于用户验证的交易信息;以及(iii)通过分别参考从所述证书管理服务器接收的所述用于存储公钥的交易ID和所述用于用户验证的交易ID,向所述证书管理服务器发送从所述区块链检索的用于存储公钥的交易信息和用于用户验证的交易信息;
其中,所述证书管理服务器:(i)从接收自所述区块链节点的所述用于存储公钥的交易信息和所述用于用户验证的交易信息分别获取所述公钥和所述用于认证的用户验证散列信息;(ii)向所述认证请求服务器发送所述公共证书的有效性确认信号,其中,所述有效性确认信号包括所获取的公钥、所述用于认证的用户验证散列信息以及所述用于存储公钥的交易ID,
其中,所述认证请求服务器:
(I)(i)从身份信息数据库存检索用户身份信息,(ii)通过对用户身份信息进行散列获取用于比较的用户身份散列信息;(iii)通过对(iii-1)包括在所述有效性确认信号中的所述用于存储公钥的交易ID和(iii-2)用于比较的用户身份散列信息进行散列,获取用于比较的用户验证散列信息;
(II)(i)如果包含在所述有效性确认信号中的所述用于认证的用户验证散列信息的散列值对应于所述用于比较的用户验证散列信息的散列值,则确认所述用户设备使用的互联网通信的协议,并且(ii)如果所述协议被确定为HTTP,则指示其随机数发生器生成随机会话密钥;并且
(III)指示其加密引擎通过使用包括在所述有效性确认信号中的所述公钥对所述随机会话密钥进行加密来获取加密的随机会话密钥,并通过所述用户设备将加密的随机会话密钥转发到所述信息安全设备,并且
其中,所述信息安全设备指示所述解密引擎通过使用存储在所述存储器中的私钥对加密的随机会话密钥进行解密来获取所述随机会话密钥,并将所述随机会话密钥发送到所述用户设备,从而完成对用户的认证。
15.根据权利要求14所述的系统,其中,所述认证请求服务器包括数据库部分和散列引擎,
其中,所述数据库部分具有存储与签发所述公共证书有关的所有用户身份信息的身份信息数据库存,
其中,所述认证请求服务器响应于来自所述用户设备的认证请求从所述身份信息数据库存获取所述用户身份信息,并将所述用户身份信息发送到所述证书管理服务器,其中,所述散列引擎:(i)通过对所述用户身份信息进行散列来获取用户身份散列信息;(ii)通过对所述用于比较的用户身份散列信息和所述用于存储公钥的交易ID进行散列来获取用于比较的用户验证散列信息,并且
其中,所述认证请求服务器确定所述用于认证的用户验证散列信息的散列值是否对应于所述用于比较的用户验证散列信息的散列值。
16.根据权利要求14所述的系统,其中,所述证书管理服务器包括数据库部分及交易处理引擎,
其中,所述数据库部分具有关键字数据库,所述关键字数据库存储:(i)与用于签发所述公共证书的个人信息对应的用户身份信息,其中,所述个人信息具有在签发时使用的用户身份信息;(ii)用于存储公钥的交易ID,其被用作搜索用于存储公钥的交易信息的键值;
以及(iii)用于用户验证的交易ID,其被用作搜索用于用户验证的交易信息的键值,其中,所述证书管理服务器通过参考所述用户身份信息从所述关键字数据库中检索用于存储公钥的交易ID和用于用户验证的交易ID,并且
其中,所述交易处理引擎分别从所述用于存储公钥的交易信息和所述用于用户验证的交易信息中获取所述公钥和所述用于认证的用户验证散列信息。
17.根据权利要求16所述的系统,其中,所述用于用户验证的交易信息包括转移信息,其中,所述转移信息具有:(i)与用于撤销所述公共证书的储备费用信息对应的储备费用金额;以及(ii)如果储备费用信息和用于用户验证的交易信息存储在所述区块链节点的所述区块链中,用于将储备费用转移到指定的加密货币地址的储备加密货币地址,并且其中,所述储备费用用于撤销所述公共证书,
其中,所述证书管理服务器的交易处理引擎:(i)从所述转移信息获取所述储备加密货币地址;(ii)生成确认请求信号,所述确认请求信号请求与在所述储备加密货币地址处加载的加密货币金额对应的所述储备费用是否被转移;(iii)将所述确认请求信号发送到所述区块链节点,
其中,所述区块链节点向所述证书管理服务器发送通知信号,所述通知信号表示,通过参考包含在所述确认请求信号中的所述储备加密货币地址,在从所述区块链中检索的所述储备加密货币地址处加载的所述储备费用是否被转移,并且
其中,如果,通过参考所述通知信号,在所述储备加密货币地址处加载的所述储备费用被确定为已转移,则所述交易处理引擎向所述用户设备发送表示拒绝所述认证的消息。
18.根据权利要求14所述的系统,其中,用于存储用于所述公共证书的公钥的交易信息包括:
(i)先前的加密货币支付的交易ID,其用于使用先前的加密货币支付的交易信息来定位待花费的加密货币,所述待花费的加密货币为发送者拥有的加密货币金额的一部分;
(ii)关于所述发送者是否被授权使用所述加密货币的许可信息;
(iii)验证所述许可信息所需的用于加密货币支付的公钥;
(iv)注册费用信息,所述注册费用信息是关于注册签发所述公共证书所需的用于所述公共证书的所述公钥所需的费用金额的信息;
(v)OP_RETURN信息,表示用于存储用于所述公共证书的公钥的交易信息不是与加密货币支付有关的货币交易而是用于记录信息的元交易;以及
(vi)用于所述公共证书的所述公钥。
19.根据权利要求14所述的系统,其中,所述用于用户验证的交易信息包括输入数据ID2和输出数据OD2,
其中,ID2具有:(i)先前的加密货币支付的交易ID,用于使用先前的加密货币支付的交易信息来定位待花费的加密货币,所述待花费的加密货币为发送者拥有的加密货币金额的一部分;(ii)关于所述发送者是否被授权使用所述加密货币的许可信息;(iii)验证所述许可信息所需的用于加密货币支付的公钥;(iv)注册费用信息,所述注册费用信息是关于注册签发所需的所述用于认证的用户验证散列信息所需的费用金额的信息;(v)关于用于撤销所述公共证书的费用金额的储备费用信息,
其中,OD2具有:(i)OP_RETURN信息,其表示用于用户验证的交易信息不是与加密货币支付有关的货币交易而是用于记录信息的元交易;(ii)用于认证的用户验证散列信息OD21;(iii)包含转移信息的撤销确认信息OD22,所述转移信息包括(iii-1)与储备费用信息对应的储备费用金额以及(iii-2)如果用于用户验证的交易信息存储在所述区块链节点的所述区块链中,用于将储备费用转移到指定的加密货币地址的储备加密货币地址,其中,所述证书管理服务器具有交易处理引擎和包含关键字数据库的数据库部分,其中所述关键字数据库存储了用于存储用于所述公共证书的公钥的交易ID和用于用户验证的交易ID,
其中,如果生成了请求撤销所述公共证书的撤销信号,则所述证书管理服务器指示所述交易处理引擎从所述关键字数据库中检索用于用户验证的交易ID,并将所述用于用户验证的交易ID发送到所述区块链节点,
其中,所述区块链节点通过参考所述用于用户验证的交易ID向所述证书管理服务器发送从所述区块链检索到的所述用于用户验证的交易信息,
其中,如果接收到所述用于用户验证的交易信息,则所述交易处理引擎生成用于撤销的交易信息并将所述用于撤销的交易信息发送到所述区块链节点,
其中,所述用于撤销的交易信息包括输入数据ID3和输出数据OD3,
其中,ID3具有:(i)通过参考OD2指导转移在储备加密货币地址处加载的储备费用的转移指导信息;(ii)包含允许发送者或用户使用在储备加密货币地址处加载的储备费用的用于加密货币的多个许可信息;以及(iii)确定所述用于加密货币的多个许可信息的有效性所需的用于加密货币支付的公钥,
其中,OD3具有:(i)接收者的加密货币地址,其中在所述储备加密货币地址处加载的所述储备费用将被发送;以及(ii)关于接收者的接收者身份信息,并且
其中,所述区块链节点将所述用于撤销的交易信息存储在所述区块链中,从而完成所述公共证书的撤销。
20.根据权利要求19所述的系统,其中,所述信息安全设备包括加密引擎,其中,如果所述撤销信号被确定为在所述用户设备处生成,则所述证书管理服务器通过所述用户设备将所述用于撤销的交易信息转发到所述信息安全设备,从而请求电子签名,
其中,所述信息安全设备指示其加密引擎对所述用于撤销的交易信息进行电子签名,并且通过所述用户设备将签名的所述用于撤销的交易信息转发到所述证书管理服务器,并且
其中,所述证书管理服务器向所述区块链节点发送从所述用户设备接收的有用户电子签名的所述用于撤销的交易信息。
21.根据权利要求19所述的系统,其中,如果所述撤销信号被确定为在所述证书管理服务器处生成,则所述证书管理服务器指示所述交易处理引擎使用对应于所述证书管理服务器的发送者的私钥对所述用于撤销的交易信息进行电子签名,并将有发送者电子签名的所述用于撤销的交易信息发送到所述区块链节点。
22.根据权利要求14所述的系统,其中,所述信息安全设备包括加密引擎及散列引擎,其中,所述认证请求服务器包括散列引擎:(i)如果包括在从所述证书管理服务器发送的所述有效性确认信号中的所述用于认证的用户验证散列信息的散列值对应于所述用于比较的用户验证散列信息的散列值,则确认所述用户设备使用的互联网通信的协议;(ii)如果协议被确定为HTTPS,则指示其随机数发生器生成随机数并通过所述用户设备将所述随机数转发到所述信息安全设备,
其中,所述信息安全设备指示其散列引擎通过散列所述随机数来获取用于认证的随机数散列信息,指示所述加密引擎通过使用存储在所述存储器中的所述私钥对所述随机数进行加密来获取加密的用于认证的随机数散列信息,并且通过所述用户设备将加密的所述用于认证的随机数散列信息转发到所述认证请求服务器,并且
其中,所述认证请求服务器指示其散列引擎通过对发送到所述信息安全设备的所述随机数进行散列来获取用于比较的随机数散列信息,指示所述解密引擎通过使用所述公钥对加密的所述用于比较的随机数散列信息进行解密来获取所述用于比较的随机数散列信息,并且确认所获取的用于认证的随机数散列信息的散列值对应于用于比较的随机数散列信息的散列值,从而完成对所述用户的认证。
23.一种用于基于区块链的签发公共证书的方法,包括:
步骤S300,用户设备通过连接到认证请求服务器,发送对基于所述区块链的所述公共证书的认证请求;
步骤S310,所述认证请求服务器响应于所述认证请求从身份信息数据库存获取关于操作所述用户设备的用户的用户身份信息,并将所述用户身份信息发送到证书管理服务器;
步骤S320,所述证书管理服务器通过参考所述用户身份信息向区块链节点发送从关键字数据库检索的用于存储用于所述公共证书的公钥的交易ID和用于用户验证的交易ID,从而请求下载用于存储公钥的交易信息和用于用户验证的交易信息;
步骤S330,所述区块链节点通过参考所发送的用于存储公钥的交易ID和所发送的用于用户验证的交易ID向所述证书管理服务器发送从所述区块链节点中检索的所述用于存储公钥的交易信息和所述用于用户验证的交易信息;
步骤S370,所述证书管理服务器指示其交易处理引擎从所述用于存储公钥的交易信息和所述用于用户验证的交易信息分别获取所述公钥和用于认证的用户验证散列信息;
步骤S380,所述证书管理服务器向所述认证请求服务器发送所述公共证书的有效性确认信号,其中,所述有效性确认信号包括:(i)存储在所述关键字数据库中的用于存储公钥的交易ID;(ii)所述公钥;以及(iii)所述用于认证的用户验证散列信息;
步骤S390,所述认证请求服务器从所述身份信息数据库存中检索所述用户身份信息,指示其散列引擎通过散列所述用户身份信息获取用于比较的用户身份散列信息,并获取通过对包括在从所述认证请求服务器发送的所述有效性确认信号中的所述用于存储公钥的交易ID以及所述用于比较的用户身份散列信息进行散列而计算出的用于比较的用户验证散列信息;
步骤S400,所述认证请求服务器在从其散列引擎获取用于认证的用户验证散列信息的散列值和用于比较的用户验证散列信息的散列值之后,确定包括在所述有效性确认信号中的所述用于认证的用户验证散列信息的散列值是否与所述用于比较的用户验证散列信息的散列值相对应;
步骤S410,如果包括在所述有效性确认信号中的所述用于认证的用户验证散列信息的散列值对应于所述用于比较的用户验证散列信息的散列值,则所述认证请求服务器确认用于所述用户设备与所述认证请求服务器之间的互联网通信的协议是HTTP还是HTTPS;
步骤S420,如果所述协议被确定为HTTP,则所述认证请求服务器指示其随机数发生器获取随机会话密钥;
步骤S430,所述认证请求服务器指示其加密引擎通过使用包括在所述有效性确认信号中的所述公钥对所述随机会话密钥进行加密,从而获取加密的随机会话密钥并将其发送给所述用户设备;
步骤S440,所述用户设备将加密的随机会话密钥转发到所述信息安全设备;以及步骤S450,所述信息安全设备指示其解密引擎通过使用其存储器中存储的用于所述公共证书的私钥对加密的随机会话密钥进行解密,以获取所述随机会话密钥,并将所述随机会话密钥发送给所述用户设备,从而完成对所述用户的认证。
24.根据权利要求23所述的方法,在步骤S330之后,还包括:
步骤S340,所述证书管理服务器指示其交易处理引擎从包含在用于用户验证的交易信息中的关于储备费用的转移信息中获取用于撤销所述公共证书的储备加密货币地址,创建请求关于与在所获取的储备加密货币地址处加载的加密货币金额对应的储备费用是否被转移的信息的撤销确认信号,并将所述撤销确认信号发送到所述区块链节点;
步骤S350,所述区块链节点向所述证书管理服务器发送用于撤销的通知信号,所述通知信号通知是否转移了在所述储备加密货币地址处加载的所述储备费用,其中,通过参考包含在所述撤销确认信号中的所述储备加密货币地址从所述区块链中检索所述储备费用;
步骤S360,所述证书管理服务器通过参考所述通知信号指示其交易处理引擎来确认所述储备费用是否被转移;以及
步骤S361,如果所述储备费用被确定为已转移,则所述证书管理服务器将表示拒绝所述公共证书的认证的消息发送给所述用户设备。
25.根据权利要求24所述的方法,其中,在步骤S360,如果确定所述储备费用未被转移,则所述证书管理服务器指示其交易处理引擎进入步骤S370:分别从用于存储公钥的交易信息和用于用户验证的交易信息中获取所述公钥和用于认证的用户验证散列信息。
26.根据权利要求23所述的方法,其中,步骤S400包括:
步骤S401,如果包含在所述有效性确认信号中的所述用于认证的用户验证散列信息的散列值被确定为不对应于所述用于比较的用户验证散列信息的散列值,则所述证书管理服务器向所述用户设备发送表示拒绝认证的消息。
27.根据权利要求23所述的方法,其中,步骤S420至S450包括:
步骤S460,如果所述协议被确定为HTTPS,则所述认证请求服务器指示所述随机数发生器获取随机数并通过所述用户设备将所述随机数转发到所述信息安全设备;
步骤S470,所述信息安全设备指示其散列引擎通过散列所述随机数来获取用于认证的随机数散列信息;
步骤S480,所述信息安全设备指示其加密引擎通过使用存储在所述存储器中的所述私钥来获取加密的用于认证的随机数散列信息,并通过所述用户设备将加密的用于认证的随机数散列信息转发到所述认证请求服务器;
步骤S490,所述认证请求服务器指示其散列引擎散列发送到所述信息安全设备的随机数以获取用于比较的随机数散列信息,指示其解密引擎通过使用所述公钥对加密的用于认证的随机数散列信息进行解密以获取所述用于认证的随机数散列信息,并确认所述用于认证的随机数散列信息的散列值是否对应于所述用于比较的随机数散列信息的散列值,从而完成对所述用户的认证。
28.根据权利要求23或27所述的方法,还包括:
步骤S500,确定是否生成了请求撤销所述公共证书的撤销信号;
步骤S510,如果确定生成了所述撤销信号,则确定生成所述撤销信号的地点,其中,所述地点选自所述用户设备和所述证书管理服务器;
步骤S520,如果所述撤销信号被确定为在所述用户设备处生成,则所述用户设备将所述撤销信号发送到所述证书管理服务器;
步骤S530,所述证书管理服务器指示其交易处理引擎通过参考所述撤销信号从所述关键字数据库检索用于用户验证的交易ID,从而将所述用于用户验证的交易ID发送到所述区块链节点;
步骤S540,所述区块链节点通过参考所述用于用户验证的交易ID向所述证书管理服务器发送从所述区块链节点中检索的用于用户验证的交易信息;
步骤S550,如果接收到所述用于用户验证的交易信息,则所述证书管理服务器指示所述交易处理引擎生成用于撤销的交易信息并且通过所述用户设备将所述用于撤销的交易信息转发到所述信息安全设备,从而请求电子签名,
其中,所述用于撤销的交易信息包括输入数据ID3和输出数据OD3,
其中,ID3具有:(i)通过参考输出数据OD2指导转移在储备加密货币地址处加载的储备费用的转移指导信息;(ii)包含允许发送者或用户使用在储备加密货币地址处加载的所述储备费用的用于加密货币的多个许可信息;以及(iii)确定所述用于加密货币的多个许可信息的有效性所需的用于加密货币支付的公钥,
其中,OD2具有:(i)OP_RETURN信息,表示用于用户验证的交易信息不是与加密货币支付有关的货币交易而是用于记录信息的元交易;(ii)用于认证的用户验证散列信息;(iii)包含转移信息的撤销确认信息,所述转移信息包括(iii-1)与储备费用信息对应的储备费用金额以及(iii-2)如果所述用于用户验证的交易信息存储在所述区块链节点的区块链中,用于将储备费用转移到指定的加密货币地址的储备加密货币地址,并且其中,OD3具有:接收者的接收加密货币地址,其中在所述储备加密货币地址处加载的所述储备费用将被发送;以及关于接收者的接收者身份信息;
步骤S560,所述信息安全设备指示其加密引擎对所述用于撤销的交易信息进行电子签名,并通过所述用户设备将签名的结果转发到所述证书管理服务器;
步骤S570,所述证书管理服务器向所述区块链节点发送有用户电子签名的所述用于撤销的交易信息;以及
步骤S580,所述区块链节点将用户有电子签名的所述用于撤销的交易信息存储在所述区块链中。
29.根据权利要求28所述的方法,其中,步骤S520至S580包括:
步骤S511,如果所述撤销信号被确定为在所述证书管理服务器处生成,则所述证书管理服务器指示其交易处理引擎接收所述用于用户验证的交易信息,生成所述用于撤销的交易信息,并使用为所述证书管理服务器的发送者的私钥对生成的所述用于撤销的交易信息进行签名,从而将签名的所述用于撤销的交易信息发送到所述区块链节点;以及步骤S512,所述区块链节点将有签名的所述用于撤销的交易信息存储在所述区块链中,从而完成所述公共证书的撤销。
30.一种基于区块链的对公共证书进行认证的系统,包括:
信息安全设备,包括解密引擎及具有用于所述公共证书的私钥的存储器;
用户设备,请求对基于所述区块链的所述公共证书进行认证;
认证请求服务器,包括随机数发生器及加密引擎,所述认证请求服务器从身份信息数据库存获取用户的用户身份信息,通过散列所述用户身份信息来获取用于比较的用户身份散列信息,并响应于来自所述用户设备的认证请求发送所获取的用于比较的用户身份散列信息和所述用户身份信息;
证书管理服务器,接收来自所述认证请求服务器的所述用于比较的用户身份散列信息和所述用户身份信息,并发送通过参考所述用户身份信息从关键字数据库检索的用于用户验证的交易ID和用于存储用于所述公共证书的公钥的交易ID,从而请求下载用于存储公钥的交易信息和用于用户验证的交易信息;以及
区块链节点:(i)通过验证发送的关于加密货币支付的交易信息来授权加密货币支付;
(ii)在所述区块链中存储(ii-1)所述关于加密货币支付的交易信息,(ii-2)用于存储公钥的交易信息,其包括所述公钥,以及(ii-3)包含用户验证散列信息的用于用户验证的交易信息;(iii)通过分别参考从所述证书管理服务器接收的用于存储公钥的交易ID和用于用户验证的交易ID,向所述证书管理服务器发送从所述区块链检索的所述用于存储公钥的交易信息和所述用于用户验证的交易信息;
其中,所述证书管理服务器从所述区块链节点发送的所述用于存储公钥的交易信息和所述用于用户验证的交易信息获取公钥和用于认证的用户验证散列信息,通过散列所发送的用于比较的用户身份散列信息和关键字数据库中的用于存储公钥的交易ID获取用于比较的用户验证散列信息,并且如果所获取的用于认证的用户验证散列信息的散列值对应于用于比较的用户验证散列信息的散列值,则向所述认证请求服务器发送所获取的公钥和用户身份信息,
其中,如果接收到所述公钥和所述用户身份信息,则所述认证请求服务器确认所述用户设备使用的互联网通信的协议,并且如果所述协议是HTTP,则指示其随机数发生器生成随机会话密钥,指示其加密引擎通过使用包括在有效性确认信号中的所述公钥对所述随机会话密钥进行加密来获取加密的随机会话密钥,并通过所述用户设备将加密的随机会话密钥转发到所述信息安全设备,并且
其中,所述信息安全设备指示其解密引擎通过使用其存储器中的所述私钥对加密的随机会话密钥进行解密来获取所述随机会话密钥,并将所述随机会话密钥发送给所述用户设备,从而完成对所述用户的认证。
31.根据权利要求30所述的方法,其中,所述认证请求服务器包括散列引擎,其中,所述身份信息数据库存存储关于操作所述用户设备的所述用户的所述用户身份信息,并且存储与签发所述公共证书有关的全部用户身份信息和全部个人信息,并且其中,所述散列引擎散列所述用户身份信息以获取所述用于比较的用户身份散列信息。
32.根据权利要求30所述的方法,其中,所述证书管理服务器包括交易处理引擎及散列引擎,
其中,所述关键字数据库存储:(i)与用于签发所述公共证书的个人信息对应的用户身份信息,其中,所述个人信息具有在签发时使用的用户身份信息;(ii)用于存储公钥的交易ID,其被用作搜索用于存储公钥的交易信息的键值;以及(iii)用于用户验证的交易ID,其被用作搜索用于用户验证的交易信息的键值,
其中,所述交易处理引擎分别从所述用于存储公钥的交易信息和所述用于用户验证的交易信息中获取所述公钥和所述用于认证的用户验证散列信息,并且
其中,所述散列引擎散列所述用于比较的用户身份散列信息和所述关键字数据库中的所述用于存储公钥的交易ID以获取用于比较的用户验证散列信息,并在获取用于认证的用户验证散列信息的散列值和用于比较的用户验证散列信息的散列值之后,确定所获取的所述用于认证的用户验证散列信息的散列值是否对应于所述用于比较的用户验证散列信息的散列值。
33.根据权利要求32所述的方法,其中,所述用于用户验证的交易信息包括转移信息,其中,所述转移信息具有:(i)与用于撤销所述公共证书的储备费用信息对应的储备费用金额;以及(ii)如果储备费用信息和用于用户验证的交易信息存储在区块链节点的区块链中,用于将储备费用转移到指定的加密货币地址的储备加密货币地址,其中,所述储备费用将用于撤销所述公共证书,
其中,所述证书管理服务器的交易处理引擎:(i)从所述转移信息获取所述储备加密货币地址;(ii)生成确认请求信号,所述确认请求信号请求与在所述储备加密货币地址处加载的加密货币金额对应的所述储备费用是否被转移;(iii)将所述确认请求信号发送到所述区块链节点,
其中,所述区块链节点向所述证书管理服务器发送通知信号,所述通知信号表示,通过参考包含在所述确认请求信号中的所述储备加密货币地址,在从所述区块链中检索的所述储备加密货币地址处加载的所述储备费用是否被转移,并且
其中,如果通过参考所述通知信号,在所述储备加密货币地址处加载的所述储备费用被确定为已转移,则所述交易处理引擎向所述用户设备发送表示拒绝所述认证的消息。
34.根据权利要求30所述的方法,其中,所述用于存储公钥的交易信息包括:
(i)先前的加密货币支付的交易ID,用于使用先前的加密货币支付的交易信息来定位待花费的加密货币,所述待花费的加密货币为发送者拥有的加密货币金额的一部分;
(ii)关于所述发送者是否被授权使用所述加密货币的许可信息;
(iii)验证所述许可信息所需的用于加密货币支付的公钥;
(iv)注册费用信息,所述注册费用信息是关于注册签发所述公共证书所需的用于所述公共证书的所述公钥所需的费用金额的信息;
(v)OP_RETURN信息,表示用于存储公钥的交易信息不是与加密货币支付有关的货币交易而是用于记录信息的元交易;以及
(vi)用于所述公共证书的所述公钥。
35.根据权利要求30所述的方法,其中,所述用于用户验证的交易信息包括输入数据ID2和输出数据OD2,
其中,ID2具有:(i)先前的加密货币支付的交易ID,用于使用先前的加密货币支付的交易信息来定位待花费的加密货币,所述待花费的加密货币为发送者拥有的加密货币金额的一部分;(ii)关于所述发送者是否被授权使用所述加密货币的许可信息;(iii)验证所述许可信息所需的用于加密货币支付的公钥;(iv)注册费用信息,所述注册费用信息关于注册签发所需的所述用于认证的用户验证散列信息所需的费用金额的信息;(v)关于用于撤销所述公共证书的费用金额的储备费用信息,
其中,OD2具有:(i)OP_RETURN信息,表示用于用户验证的交易信息不是与加密货币支付有关的货币交易而是用于记录信息的元交易;(ii)用于认证的用户验证散列信息OD21;
(iii)包含转移信息的撤销确认信息OD22,所述转移信息包括(iii-1)与储备费用信息对应的储备费用金额以及(iii-2)如果用于用户验证的交易信息存储在所述区块链节点的所述区块链中,用于将储备费用转移到指定的加密货币地址的储备加密货币地址,其中,所述证书管理服务器具有交易处理引擎及包含关键字数据库的数据库部分,其中所述关键字数据库存储了用于存储用于所述公共证书的公钥的交易ID和用于用户验证的交易ID,
其中,如果生成了请求撤销所述公共证书的撤销信号,则所述证书管理服务器指示所述交易处理引擎从所述关键字数据库中检索用于用户验证的交易ID,并将所述用于用户验证的交易ID发送到所述区块链节点,
其中,所述区块链节点通过参考所述用于用户验证的交易ID向所述证书管理服务器发送从所述区块链检索到的所述用于用户验证的交易信息,
其中,如果接收到所述用于用户验证的交易信息,则所述交易处理引擎生成用于撤销的交易信息并将所述用于撤销的交易信息发送到所述区块链节点,
其中,所述用于撤销的交易信息包括输入数据ID3和输出数据OD3,
其中,ID3具有:(i)通过参考OD2指导转移在所述储备加密货币地址处加载的所述储备费用的转移指导信息;(ii)包括允许发送者或用户使用在储备加密货币地址处加载的储备费用的用于加密货币的多个许可信息;以及(iii)确定所述用于加密货币的多个许可信息的有效性所需的用于加密货币支付的公钥,
其中,OD3具有:(i)接收者的加密货币地址,其中在所述储备加密货币地址处加载的所述储备费用将被发送;以及(ii)关于接收者的接收者身份信息,并且
其中,所述区块链节点将所述用于撤销的交易信息存储在所述区块链中,从而完成所述公共证书的撤销。
36.根据权利要求35所述的方法,其中,所述信息安全设备包括加密引擎,其中,如果所述撤销信号被确定为在所述用户设备处生成,则所述证书管理服务器通过所述用户设备将所述用于撤销的交易信息转发到所述信息安全设备,从而请求电子签名,
其中,所述信息安全设备指示所述加密引擎对所述用于撤销的交易信息进行电子签名,并且通过所述用户设备将有签名的所述用于撤销的交易信息转发到所述证书管理服务器,并且
其中,所述证书管理服务器向所述区块链节点发送从所述用户设备接收的有用户电子签名的所述用于撤销的交易信息。
37.根据权利要求35所述的方法,其中,如果所述撤销信号被确定为在所述证书管理服务器处生成,则所述证书管理服务器指示所述交易处理引擎使用对应于所述证书管理服务器的发送者的私钥对所述用于撤销的交易信息进行电子签名,并将有发送者电子签名的所述用于撤销的交易信息发送到所述区块链节点。
38.根据权利要求30所述的方法,其中,所述信息安全设备包括加密引擎及散列引擎,其中,所述认证请求服务器包括散列引擎:(i)如果接收到所述公钥和所述用户身份信息,则确认所述用户设备使用的互联网通信的协议;(ii)如果确认的协议被确定为HTTPS,则指示所述随机数发生器生成随机数并通过所述用户设备将所述随机数转发到所述信息安全设备,
其中,所述信息安全设备指示其散列引擎通过散列所述随机数来获取用于认证的随机数散列信息,指示所述加密引擎通过使用存储在所述存储器中的所述私钥对所述随机数进行加密来获取加密的用于认证的随机数散列信息,并且通过所述用户设备将加密的所述用于认证的随机数散列信息转发到所述认证请求服务器,并且
其中,所述认证请求服务器指示其散列引擎通过对发送到所述信息安全设备的所述随机数进行散列来获取用于比较的随机数散列信息,指示所述解密引擎通过使用所述公钥对加密的所述用于比较的随机数散列信息进行解密来获取所述用于比较的随机数散列信息,并且确认所获取的用于认证的随机数散列信息的散列值是否对应于用于比较的随机数散列信息的散列值,从而完成对所述用户的认证。
39.一种用于基于区块链的签发公共证书的方法,包括:
步骤S600,用户设备通过连接到认证请求服务器,发送对基于所述区块链的所述公共证书的认证请求;
步骤S610,所述认证请求服务器响应于所述认证请求从身份信息数据库存获取关于操作用户设备的用户的用户身份信息,指示其散列引擎散列所获取的用户身份信息以获取用于比较的用户身份散列信息,并将获取的用于比较的用户身份散列信息和用户身份信息发送给证书管理服务器;
步骤S620,所述证书管理服务器接收所述用户身份信息,通过参考接收到的用户身份信息向区块链节点发送从关键字数据库检索的用于存储用于所述公共证书的公钥的交易ID和用于用户验证的交易ID,从而请求下载用于存储公钥的交易信息和用于用户验证的交易信息;
步骤S630,所述区块链节点通过参考所发送的用于存储公钥的交易ID和所发送的用于用户验证的交易ID向所述证书管理服务器发送从所述区块链节点中检索的所述用于存储公钥的交易信息和所述用于用户验证的交易信息;
步骤S670,所述证书管理服务器指示其交易处理引擎从所述用于存储公钥的交易信息和所述用于用户验证的交易信息分别获取公钥和用于认证的用户验证散列信息;
步骤S680,所述证书管理服务器指示其散列引擎散列所发送的用于比较的用户身份散列信息和用于存储公钥的交易ID,从而获取用于比较的用户验证散列信息,其中用于存储公钥的交易ID存储在关键字数据库中;
步骤S690,所述证书管理服务器的散列引擎获取所获取的用于认证的用户验证散列信息的散列值和用于比较的用户验证散列信息的散列值,并且确认所获取的用于认证的用户验证散列信息的散列值是否对应于用于比较的用户验证散列信息的散列值;
步骤S700,如果所获取的所述用于认证的用户验证散列信息的散列值对应于所述用于比较的用户验证散列信息的散列值,则所述证书管理服务器向所述认证请求服务器发送所获取的所述公钥和所述用户身份信息;
步骤S710,如果接收到所述公钥和所述用户身份信息,则所述认证请求服务器确认用于所述用户设备与所述认证请求服务器之间的互联网通信的协议是HTTP还是HTTPS;
步骤S720,如果所述协议被确定为HTTP,则所述认证请求服务器指示其随机数发生器获取随机会话密钥;
步骤S730,所述认证请求服务器指示其加密引擎通过使用包含在有效性确认信号中的所述公钥对所述随机会话密钥进行加密,从而获取加密的随机会话密钥并将其发送给所述用户设备;
步骤S740,所述用户设备将加密的随机会话密钥转发到所述信息安全设备;以及步骤S750,所述信息安全设备指示其解密引擎通过使用存储在存储器中的所述公共证书的私钥对加密的随机会话密钥进行解密,以获取所述随机会话密钥,并将所述随机会话密钥发送给所述用户设备,从而完成对所述用户的认证。
40.根据权利要求39所述的方法,在步骤S630之后,还包括:
步骤S640,所述证书管理服务器指示其交易处理引擎从包含在所述用于用户验证的交易信息中的关于储备费用的转移信息中获取用于撤销所述公共证书的储备加密货币地址,创建请求关于与在所获取的储备加密货币地址处加载的加密货币金额对应的储备费用是否被转移的信息的撤销确认信号,并将所述撤销确认信号发送到所述区块链节点;
步骤S650,所述区块链节点向所述证书管理服务器发送用于撤销的通知信号,所述通知信号通知是否转移了在所述储备加密货币地址处加载的所述储备费用,其中,通过参考包含在所述撤销确认信号中的所述储备加密货币地址从所述区块链中检索所述储备费用;
步骤S660,所述证书管理服务器通过参考所述通知信号指示其交易处理引擎确认所述储备费用是否被转移;以及
步骤S661,如果所述储备费用被确定为已转移,则所述证书管理服务器将表示拒绝所述认证的消息发送给所述用户设备。
41.根据权利要求40所述的方法,其中,在步骤S660,如果确定储备费用未被转移,则证书管理服务器指示其交易处理引擎进入步骤S670:别从用于存储公钥的交易信息和用于用户验证的交易信息中获取所述公钥和用于认证的用户验证散列信息的。
42.根据权利要求39所述的方法,其中,步骤S690包括:
步骤S691,如果所述用于认证的用户验证散列信息的散列值被确定为不对应于所述用于比较的用户验证散列信息的散列值,则所述证书管理服务器的散列引擎允许所述证书管理服务器向所述用户设备发送表示拒绝所述认证的消息。
43.根据权利要求39所述的方法,其中,步骤S720至S750包括:
步骤S760,如果所述协议被确定为HTTPS,则所述认证请求服务器指示其随机数发生器获取随机数并通过所述用户设备将所述随机数转发到所述信息安全设备;
步骤S770,所述信息安全设备指示其散列引擎通过散列所述随机数来获取用于认证的随机数散列信息;
步骤S780,所述信息安全设备指示其加密引擎通过使用存储在所述存储器中的所述私钥来获取加密的用于认证的随机数散列信息,并通过所述用户设备将加密的用于认证的随机数散列信息转发到所述认证请求服务器;
步骤S790,所述认证请求服务器指示其散列引擎散列发送到所述信息安全设备的所述随机数以获取用于比较的随机数散列信息,指示其解密引擎通过使用所述公钥对加密的用于认证的随机数散列信息进行解密以获取所述用于认证的随机数散列信息,并确认所述用于认证的随机数散列信息的散列值是否对应于所述用于比较的随机数散列信息的散列值,从而完成对所述用户的认证。
44.根据权利要求39或43所述的方法,还包括:
步骤S800,确定是否生成了请求撤销所述公共证书的撤销信号;
步骤S810,如果确定生成了所述撤销信号,则确定生成所述撤销信号的地点,其中,所述地点选自所述用户设备和所述证书管理服务器;
步骤S820,如果所述撤销信号被确定为在所述用户设备处生成,则所述用户设备将所述撤销信号发送到所述证书管理服务器;
步骤S830,所述证书管理服务器通指示其交易处理引擎过参考所述撤销信号从所述关键字数据库检索用于用户验证的交易ID,从而将所述用于用户验证的交易ID发送到所述区块链节点;
步骤S840,所述区块链节点通过参考所述用于用户验证的交易ID向所述证书管理服务器发送从所述区块链节点中检索的用于用户验证的交易信息;
步骤S850,如果接收到所述用于用户验证的交易信息,则所述证书管理服务器指示所述交易处理引擎生成用于撤销的交易信息并且通过所述用户设备将所述用于撤销的交易信息转发到所述信息安全设备,从而请求电子签名,
其中,所述用于撤销的交易信息包括输入数据ID3和输出数据OD3,
其中,ID3具有:(i)通过参考OD2指导转移在储备加密货币地址处加载的储备费用的转移指导信息;(ii)包含允许发送者或用户使用在储备加密货币地址处加载的所述储备费用的用于加密货币的多个许可信息;以及(iii)确定所述用于加密货币的多个许可信息的有效性所需的用于加密货币支付的公钥,并且
其中,OD3具有:接收者的接收加密货币地址,其中在所述储备加密货币地址处加载的所述储备费用将被发送;以及关于接收者的接收者身份信息;
步骤S860,所述信息安全设备指示其加密引擎对用于撤销的交易信息进行电子签名,并通过所述用户设备将签名的结果转发到所述证书管理服务器;
步骤S870,所述证书管理服务器向所述区块链节点发送有用户电子签名的所述用于撤销的交易信息;以及
步骤S880,所述区块链节点在所述区块链中存储有用户电子签名的所述用于撤销的交易信息。
45.根据权利要求44所述的方法,其中,步骤S820至S880包括:
步骤S811,如果所述撤销信号被确定为在所述证书管理服务器处生成,则所述证书管理服务器指示其交易处理引擎接收所述用于用户验证的交易信息,生成所述用于撤销的交易信息,并使用为所述证书管理服务器的发送者的私钥对生成的所述用于撤销的交易信息进行签名,从而将有签名的所述用于撤销的交易信息发送到所述区块链节点;以及步骤S812,所述区块链节点将有签名的所述用于撤销的交易信息存储在所述区块链中,从而完成对所述公共证书的撤销。

说明书全文

基于链的认可证书签发系统和方法以及基于区块链的认

可证书认证系统和方法

技术领域

[0001] 本发明涉及基于区块链的签发公共证书的方法和使用该方法的系统,以及基于区块链的对公共证书进行认证的方法和使用该方法的系统;更具体地说,涉及通过在其内部不能被物理地访问并且在其上程序不能被进一步安装的设备中的随机数发生器内生成并存储公共证书的私钥,即使在没有ActiveX控件的情况下也执行公共证书的认证的方法,因此防止了私钥的泄露,并且,使用基于对等网络(即P2P)的分布式数据库而不是由认证机构(即CA)管理的服务器,通过在区块链节点中的数字钱包的区块链中存储和管理需要维护的公钥,从而最小化维护具有高度的安全性以防止黑客攻击的公共证书发放系统所需的额外成本。

背景技术

[0002] 一般而言,公共证书是由认证机构(CA)签发的用于确认用户身份的电子信息,并且防止在各种工业领域中使用服务时的拒绝交易或伪造和篡改,其代表一种数字交易印鉴的证书。这样的证书包含版本、序列号、有效期限、证书的签发机构、关于用户的电子签名的验证的信息、用户的姓名、关于身份确认的信息、电子签名的方法等。
[0003] 在公钥基础设施(PKI)中使用证书(引用专利文献1)作为标准安全方法。
[0004] 公钥基础设施(PKI)是一组创建、管理、分发、使用、存储和撤销证书以及管理公钥加密所需的参与者、管理政策和流程。
[0005] 然而,在PKI中,用于解密的私钥是由仅是第三方的CA而不是用户生成和提供的,因此它可能被黑客攻击,并且由于用户的私钥以文件的形式存在于通过基于软件令牌的存储方法标准化的存储位置处,容易复制并自动收集私钥文件,并且这具有由泄露的私钥导致财务损失和用户信息被窃的险。因此,向用户提供所生成的私钥的CA必须具有高安全性的证书签发系统以使黑客攻击的企图最小化,这需要操作和维护,并且因此导致证书的签发成本高。
[0006] 此外,只有当ActiveX控件被预先安装时才能使用公共证书,以便通过Web浏览器为用户认证过程提供额外的安全性。但是,要将ActiveX控件安装到个人计算机(PC)上,必须降低PC的安全级别以使ActiveX控件访问包括文件、注册表等的资源。由于由Active X控件导致用户PC的安全级别降低,PC变得容易受到黑客攻击等危险环境的影响。
[0007] 与公共证书相关联的每个问题通过来自申请人的基于区块链的公共证书签发系统(参考专利文献2)及使用该系统的方法以及基于区块链的公共证书认证系统及使用该系统的方法来解决。
[0008] 传统的基于区块链的公共证书签发系统及使用该系统的方法以及传统的基于区块链的公共证书认证系统及使用该系统的方法公开了在由用户操作的用户设备内直接生成用于公共证书的公钥和私钥的方法,用户设备在网络断开时生成公钥和私钥,通过存储和管理与由用户选择的照片图像和密码一起加密的私钥来防止可能的密钥泄漏,其中需要维护的公钥通过使用基于对等网络(P2P)的分布式数据库而不是由CA管理的服务器在区块链服务器中的数字钱包的区块链中存储和管理,从而使维护具有高度的安全性以防止黑客攻击的公共证书签发系统所需的额外成本最小化,并且即使没有ActiveX控件也执行认证。
[0009] 然而,尽管有这样的优点,在传统的基于区块链的公共证书签发系统及使用该系统的方法以及传统的基于区块链的公共证书认证系统及使用该系统的方法中,随着用户设备在网络断开时生成公钥和私钥,将生成的私钥与用户选择的照片图像和密码一起加密,比存储纯文本更安全,然而,在输入密码和选择照片图像时,私钥以纯文本形式存储在存储器中,因此,如果用户设备上正在执行内存转储器,则当用户使用私钥时,存在泄漏的风险。
[0010] [现有技术]
[0011] 被引专利文献:
[0012] 引用的专利文献1:于2003年12月3日登记的韩国专利公开No.10-0411448;
[0013] 引用的专利文献1:于2015年8月3日提交的韩国专利公开No.10-2015-0109320。

发明内容

[0014] 本发明的目的是解决上述所有问题。
[0015] 本发明的另一个目的是提供一种基于区块链的签发公共证书的方法和使用该方法的系统,以及基于区块链的对公共证书进行认证的方法和使用该方法的系统,该方法通过在其内部不能被物理地访问并且在其上程序不能被进一步安装的设备中的随机数发生器内生成和存储公共证书的私钥,即使在没有ActiveX控件的情况下也执行公共证书的认证,从而防止私钥的泄露,并且使用基于对等网络(即P2P)的分布式数据库而不是由认证机构(即CA)管理的服务器,通过在区块链节点中的数字钱包的区块链中存储和管理需要维护的公钥,从而最小化维护具有高度的安全性以防止黑客攻击的公共证书签发系统所需的额外成本。
[0016] 根据本发明的一个方面,提供了一种用于基于区块链的签发公共证书的系统,该系统包括:信息安全设备,指示其加密引擎以基于在存储器中存储和管理的公共证书的私钥创建公共证书的公钥并且响应于发送公钥的请求发送所创建的公钥,其中,私钥是基于从随机数发生器生成的随机值获取的,并存储在存储器中,然后提供给用户;用户设备,发送从信息安全设备发送的公钥和用于签发基于区块链的公共证书的个人信息,其中,个人信息包括签发所需的用户身份信息;签发请求服务器:(i)从用户设备接收个人信息和公钥;(ii)散列个人信息以获取用于认证的用户身份散列信息;(iii)获取用于认证的用户身份散列信息、公钥以及全部个人信息中包含的全部用户身份信息中与用户对应的用户身份信息,从而创建和发送交易请求信号;证书管理服务器:(I)(i)生成(i-1)用于存储公钥的交易信息和(i-2)用于存储公钥的交易ID,其被用作搜索用于存储公钥的交易信息的键值(key value),其中,交易信息包括交易请求信号中的公钥,(ii)发送用于存储公钥的交易信息,存储和管理用于存储公钥的交易ID;(II)(i)对交易请求信号中的用于认证的用户身份散列信息和用于存储公钥的交易ID进行散列以获取用于认证的用户验证散列信息,(ii)生成(ii-1)包括用于认证的用户验证散列信息的用于用户验证的交易信息和(ii-2)用于用户验证的交易ID,其被用作搜索用于用户验证的交易信息的键值,(iii)发送用于用户验证的交易信息,存储和管理用于用户验证的交易ID;(III)在交易请求信号中存储和管理用户身份信息;以及区块链节点,将从证书管理服务器发送的用于用户验证的交易信息以及用于存储公钥的交易信息存储在区块链中,其中,如果接收到加密货币支付的交易信息,则区块链节点通过验证用于加密货币支付的交易信息来授权加密货币支付,并且,区块链节点通过参考授权处理的结果将用于加密货币支付的交易信息存储在区块链中。
[0017] 根据本发明的另一方面,提供了一种用于基于区块链的签发公共证书的方法,该方法包括:步骤S100,信息安全设备连接到用户设备,其中,信息安全设备包括随机数发生器及存储和管理公共证书的私钥的存储器,私钥是从随机数发生器生成的;步骤S110,用户设备基于区块链向签发请求服务器发送用于签发公共证书的个人信息从而请求签发,其中,个人信息包括签发所需的用户身份信息;步骤S120,签发请求服务器识别个人信息并且创建并向用户设备发送请求发送公共证书的公钥的指导信号;步骤S130,用户设备将发送的指导信号转发到信息安全设备;步骤S140,如果指导信号被转发,则信息安全设备指示其加密引擎使用存储在存储器中的私钥创建公钥并将公钥发送到用户设备;步骤S150,用户设备将公钥转发给签发请求服务器;步骤S160,签发请求服务器接收公钥,指示其散列引擎对个人信息进行散列以获取用于认证的用户身份散列信息,并获取用于认证的用户身份散列信息、公钥以及全部个人信息中包含的全部用户身份信息中与用户对应的用户身份信息,从而创建交易请求信号并向证书管理服务器发送交易请求信号;步骤S170,证书管理服务器:(i)指示其交易处理引擎将包含在交易请求信号中的用户身份信息存储在关键字数据库中以便搜索用户交易;(ii)创建(ii-1)用于存储公钥的交易信息,其中交易信息包括公钥,以及(ii-2)用于存储公钥的交易ID,其被用作搜索用于存储公钥的交易信息的键值;步骤S180,证书管理服务器指示其散列引擎将用于存储公钥的交易ID和交易请求信号中的用户身份散列信息进行散列,从而获取用于认证的用户验证散列信息;步骤S190,证书管理服务器:(i)指示交易处理引擎将用于存储公钥的交易信息发送到区块链节点;(ii)将用于存储公钥的交易ID存储在关键字数据库中;(iii)创建(iii-1)包括用于认证的用户验证散列信息的用于用户验证的交易信息和(iii-2)用于用户验证的交易ID,其被用作搜索用于用户验证的交易信息的键值;(iv)将用于用户验证的交易信息发送到区块链节点,在关键字数据库中存储和管理用于用户验证的交易ID;以及步骤S200,区块链节点将用于存储公钥的交易信息和用于用户验证的交易信息存储在区块链中,从而完成签发。
[0018] 根据本发明的又一方面,提供了一种基于区块链的对公共证书进行认证的系统,该系统包括:信息安全设备,包括解密引擎及具有用于公共证书的私钥的存储器;用户设备,基于区块链请求公共证书的认证;认证请求服务器,包括其随机数发生器及加密引擎,认证请求服务器响应于来自用户设备的认证请求,通过向操作用户设备的用户发送用户身份信息来转发认证请求;证书管理服务器,通过发送用于用户验证的交易ID和用于存储与从认证请求服务器接收的用户身份信息对应的公钥的交易ID来请求下载用于存储用于公共证书的公钥的交易信息和用于用户验证的交易信息;以及区块链节点:(i)通过验证发送的关于加密货币支付的交易信息来授权加密货币支付;(ii)在区块链中存储(ii-1)关于加密货币支付的交易信息,(ii-2)用于存储公钥的交易信息,其中该交易信息包括公钥,以及(ii-3)包括用于认证的用户验证散列信息的用于用户验证的交易信息;(iii)通过分别参考从证书管理服务器接收的用于存储公钥的交易ID和用于用户验证的交易ID,向证书管理服务器发送从区块链检索的用于存储公钥的交易信息和用于用户验证的交易信息;其中,证书管理服务器:(i)从区块链节点接收到的用于存储公钥的交易信息和用于用户验证的交易信息分别获取公钥和用于认证的用户验证散列信息;(ii)向认证请求服务器发送公共证书的有效性确认信号,其中有效性确认信号包括所获取的公钥、用于认证的用户验证散列信息以及用于存储公钥的交易ID,其中认证请求服务器:(I)(i)从身份信息数据库存检索用户身份信息,(ii)通过对用户身份信息进行散列来获取用于比较的用户身份散列信息,(iii)通过对(iii-1)包括在有效性确认信号中的用于存储公钥的交易ID和(iii-2)用于比较的用户身份散列信息进行散列,获取用于比较的用户验证散列信息;(II)(i)如果包括在有效性确认信号中的用于认证的用户验证散列信息的散列值对应于用于比较的用户验证散列信息的散列值,则确认所述用户设备使用的互联网通信的协议,(ii)如果协议被确定为HTTP,则指示其随机数发生器生成随机会话密钥;(III)指示其加密引擎通过使用包括在有效性确认信号中的公钥对随机会话密钥进行加密来获取加密的随机会话密钥,并通过用户设备将加密的随机会话密钥转发到信息安全设备,并且其中信息安全设备指示解密引擎通过使用存储在存储器中的私钥对加密的随机会话密钥进行解密来获取随机会话密钥,并将随机会话密钥发送给用户设备,从而完成对用户的认证。
[0019] 根据本发明的又一方面,提供了一种用于基于区块链的签发公共证书的方法,该方法包括:步骤S300,用户设备通过连接到认证请求服务器,发送对基于区块链的公共证书的认证请求;步骤S310,认证请求服务器响应于认证请求从身份信息数据库存获取关于操作用户设备的用户的用户身份信息,并将用户身份信息发送到证书管理服务器;步骤S320,证书管理服务器通过参考用户身份信息向区块链节点发送从关键字数据库检索的用于存储公共证书的公钥的交易ID和用于用户验证的交易ID,从而请求下载用于存储公钥的交易信息和用于用户验证的交易信息;步骤S330,区块链节点通过参考所发送的用于存储公钥的交易ID和所发送的用于用户验证的交易ID向证书管理服务器发送从区块链节点中检索的用于存储公钥的交易信息和用于用户验证的交易信息;步骤S370,证书管理服务器指示其交易处理引擎从用于存储公钥的交易信息和用于用户验证的交易信息分别获取公钥和用于认证的用户验证散列信息;步骤S380,证书管理服务器向认证请求服务器发送公共证书的有效性确认信号,其中有效性确认信号包括:(i)存储在关键字数据库中的用于存储公钥的交易ID;(ii)公钥;以及(iii)用于认证的用户验证散列信息;步骤S390,认证请求服务器从身份信息数据库存中检索用户身份信息,指示其散列引擎通过散列用户身份信息获取用于比较的用户身份散列信息,获取用于比较的用户验证散列信息,用户验证散列信息是通过对包括在从认证请求服务器发送的有效性确认信号中的用于存储公钥的交易ID以及用于比较的用户身份散列信息进行散列计算的;步骤S400,认证请求服务器确定在从其散列引擎获取用于认证的用户验证散列信息的散列值和用于比较的用户验证散列信息的散列值之后,包括在有效性确认信号中的用于认证的用户验证散列信息的散列值是否与用于比较的用户验证散列信息的散列值相对应;步骤S410,如果包括在有效性确认信号中的用于认证的用户验证散列信息的散列值对应于用于比较的用户验证散列信息的散列值,则认证请求服务器确认用于用户设备与认证请求服务器之间的互联网通信的协议是HTTP还是HTTPS;步骤S420,如果协议被确定为HTTP,则认证请求服务器指示其随机数发生器获取随机会话密钥;步骤S430,认证请求服务器指示其加密引擎通过使用包括在有效性确认信号中的公钥对随机会话密钥进行加密,从而获取加密的随机会话密钥并将其发送给用户设备;步骤S440,用户设备将加密的随机会话密钥转发到信息安全设备;步骤S450,信息安全设备指示其解密引擎通过使用其存储器中存储的公共证书的私钥对加密的随机会话密钥进行解密,以获取随机会话密钥,并将随机会话密钥发送给用户设备,从而完成对用户的认证。
[0020] 根据本发明的又一方面,提供了一种基于区块链的对公共证书进行认证的系统,该系统包括:信息安全设备,包括其解密引擎及具有用于公共证书的私钥的存储器;用户设备,请求对基于区块链的公共证书进行认证;认证请求服务器,包括其随机数发生器及加密引擎,认证请求服务器从身份信息数据库存获取用户的用户身份信息,通过散列用户身份信息来获取用于比较的用户身份散列信息,并响应于来自用户设备的认证请求发送所获取的用于比较的用户身份散列信息和用户身份信息;证书管理服务器,接收来自认证请求服务器的用于比较的用户身份散列信息和用户身份信息,并发送通过参考用户身份信息从关键字数据库检索的用于用户验证的交易ID和用于存储公共证书的公钥的交易ID,从而请求下载用于存储公钥的交易信息和用于用户验证的交易信息;以及区块链节点:(i)通过验证发送的关于加密货币支付的交易信息来授权加密货币支付;(ii)在区块链中存储(ii-1)关于加密货币支付的交易信息,(ii-2)包括公钥的用于存储公钥的交易信息,以及(ii-3)包含用户验证散列信息的用于用户验证的交易信息;(iii)通过分别参考从证书管理服务器接收的用于存储公钥的交易ID和用于用户验证的交易ID,向证书管理服务器发送从区块链检索的用于存储公钥的交易信息和用于用户验证的交易信息;其中,证书管理服务器从区块链节点发送的用于存储公钥的交易信息和用于用户验证的交易信息获取公钥和用于认证的用户验证散列信息,通过散列所发送的用于比较的用户身份散列信息和关键字数据库中的用于存储公钥的交易ID获取用于比较的用户验证散列信息,并且如果所获取的用于认证的用户验证散列信息的散列值对应于用于比较的用户验证散列信息的散列值,则向认证请求服务器发送所获取的公钥和用户身份信息,其中,如果接收到公钥和用户身份信息,则认证请求服务器确认用户设备使用的互联网通信的协议,并且如果协议是HTTP,则指示其随机数发生器生成随机会话密钥,指示其加密引擎通过使用包括在有效性确认信号中的公钥对随机会话密钥进行加密来获取加密的随机会话密钥,并通过用户设备将加密的随机会话密钥转发到信息安全设备,并且其中信息安全设备指示解密引擎通过使用存储器中的私钥对加密的随机会话密钥进行解密来获取随机会话密钥,并将随机会话密钥发送给用户设备,从而完成对用户的认证。
[0021] 根据本发明的又一个方面,提供了一种用于基于区块链的签发公共证书的方法,该方法包括:步骤S600,用户设备通过连接到认证请求服务器,基于区块链发送对公共证书的认证请求;步骤S610,认证请求服务器响应于认证请求从身份信息数据库存获取关于操作用户设备的用户的用户身份信息,指示其散列引擎散列所获取的用户身份信息以获取用于比较的用户身份散列信息,并将获取的用于比较的用户身份散列信息和用户身份信息发送给证书管理服务器;步骤S620,证书管理服务器接收用户身份信息,通过参考接收到的用户身份信息向区块链节点发送从关键字数据库检索的用于存储公共证书的公钥的交易ID和用于用户验证的交易ID,从而请求下载用于存储公钥的交易信息和用于用户验证的交易信息;步骤S630,区块链节点通过参考所发送的用于存储公钥的交易ID和所发送的用于用户验证的交易ID向证书管理服务器发送从区块链节点中检索的用于存储公钥的交易信息和用于用户验证的交易信息;步骤S670,证书管理服务器指示其交易处理引擎从用于存储公钥的交易信息和用于用户验证的交易信息分别获取公钥和用于认证的用户验证散列信息;步骤S680,证书管理服务器指示其散列引擎散列所发送的用于比较的用户身份散列信息和用于存储公钥的交易ID,从而获取用于比较的用户验证散列信息,其中用于存储公钥的交易ID存储在关键字数据库中;步骤S690,证书管理服务器的散列引擎获取所获取的用于认证的用户验证散列信息的散列值和用于比较的用户验证散列信息的散列值,并且确认所获取的用于认证的用户验证散列信息的散列值是否对应于用于比较的用户验证散列信息的散列值;步骤S700,如果所获取的用于认证的用户验证散列信息的散列值对应于用于比较的用户验证散列信息的散列值,则证书管理服务器向认证请求服务器发送所获取的公钥和用户身份信息;步骤S710,如果接收到公钥和用户身份信息,则认证请求服务器确认用于用户设备与认证请求服务器之间的互联网通信的协议是HTTP还是HTTPS;步骤S720,如果协议被确定为HTTP,则认证请求服务器指示其随机数发生器获取随机会话密钥;步骤S730,认证请求服务器指示其加密引擎通过使用包含在有效性确认信号中的公钥对随机会话密钥进行加密,从而获取加密的随机会话密钥并将其发送给用户设备;步骤S740,用户设备将加密的随机会话密钥转发到信息安全设备;步骤S750,信息安全设备指示其解密引擎通过使用存储在存储器中的公共证书的私钥对加密的随机会话密钥进行解密,以获取随机会话密钥,并将随机会话密钥发送给用户设备,从而完成对用户的认证。附图说明
[0022] 根据下面结合附图给出的优选实施例的描述,本发明的上述和其他目的和特征将变得显而易见,其中:
[0023] 用于解释本发明的示例实施例的以下附图仅是本发明示例实施例的一部分,并且本领域技术人员可以在没有创造性劳动的情况下基于附图获得其他附图。
[0024] 图1是示出根据本发明的用于基于区块链的签发公共证书的系统的框图
[0025] 图2是示出根据本发明的用于基于区块链的签发公共证书的系统的信息安全设备的详细配置的框图;
[0026] 图3是示出根据本发明的用于基于区块链的签发公共证书的系统的签发请求服务器的详细配置的框图;
[0027] 图4是示出根据本发明的用于基于区块链的签发公共证书的系统的证书管理服务器的详细配置的框图;
[0028] 图5A到5D是示意性地图示包括输入数据和输出数据的各种交易信息的数据结构的图;
[0029] 图6是示出使用根据本发明的用于基于区块链的签发公共证书的系统的公共证书的签发流程的顺序图;
[0030] 图7是示出根据本发明的基于区块链的对公共证书进行认证的系统的框图;
[0031] 图8是示出根据本发明的基于区块链的对公共证书进行认证的系统的认证请求服务器的详细配置的框图;
[0032] 图9至图12是示出使用根据本发明的基于区块链的对公共证书进行认证的系统认证公共证书的流程的顺序图;
[0033] 图13至图16是示出根据本发明另一示例的基于区块链的用于认证公共证书的方法的顺序图。

具体实施方式

[0034] 下面将参考作为示出了可以实现本发明的具体实施例附图和图表对本发明进行详细说明,以便明确本发明的目的、技术方案和优点。足够详细地描述这些实施例以使本领域技术人员能够实践本发明。
[0035] 此外,在本发明的详细描述和权利要求书中,术语“包括”及其变体不旨在排除其他技术特征、附件、组件或步骤。本发明的其他目的、益处和特征将向本领域技术人员揭示,部分来自说明书且部分来自本发明的实施。下面的例子和附图将作为示例提供,但它们并不意图限制本发明。
[0036] 此外,本发明涵盖了本说明书中指示的示例实施例的所有可能的组合。应该理解的是,本发明的各种实施例虽然不同,但并不一定是相互排斥的。例如,在不脱离本发明的精神和范围的情况下,本文中结合一个实施例描述的特定特征、结构或特性可以在其他实施例中实现。此外,应该理解的是,在不脱离本发明的精神和范围的情况下,可以修改每个公开的实施例中的各个元件的位置或布置。因此,下面的详细描述不应被视为具有限制意义,并且本发明的范围仅由所附权利要求限定,以及权利要求书所赋予权利的等同物的全部范围来适当地解释。在附图中,贯穿几个视图,相同的附图标记表示相同或相似的功能。
[0037] 除非在本说明书中另有说明或在上下文中明显矛盾,否则以单数表示的项目包括复数形式的项目,除非上下文中另有要求。将通过参考关于本发明的实施例的附图来充分详细地描述这些实施例,以使本领域技术人员能够实践本发明。
[0038] 本发明中的术语“用户身份信息”可以指特定的用户身份信息,其是关于特定用户的用户身份信息。
[0039] 除非另有说明,否则本发明中的术语“公钥”是指用于公共证书的公钥。
[0040] 本发明包括基于区块链的公共证书的签发的部分和认证的部分。
[0041] 这里,图1至图6示出了基于区块链的签发公共证书的方法和系统,其是用于签发的部分。
[0042] 如图所示,根据本发明的基于区块链的签发公共证书的系统可以包括信息安全设备100、用户设备200、签发请求服务器300、证书管理服务器400和区块链节点500。
[0043] 首先,信息安全设备100可以是其内部不能被物理地访问并且其上不能进一步安装任何程序的设备,并且因为该设备通过使用其随机数发生器110在其自身内部生成用于公共证书的私钥,所以将存储器120中的私钥原样发送给用户,并且在信息安全设备100中生成公钥,该设备可以防止私钥的泄漏。
[0044] 信息安全设备100的详细配置可以包括:其随机数发生器110;它的存储器120,其中存储从随机数发生器110生成的私钥;加密引擎130,响应于公钥的发送请求,基于存储在存储器120中的私钥生成公钥;以及控制部150,其控制随机数发生器110、存储器120和加密引擎130。
[0045] 如前所述,因此信息安全设备100可以是具有最小黑客攻击风险的高度安全的设备,因为一旦信息安全设备被制造,私钥就被生成并存储,并且用其中的私钥提供给用户,其中可以使用物理不可克隆功能(即PUF)技术或防篡改硬件技术。
[0046] 用户设备200可以由接收信息安全设备100的用户使用,并且可以将从信息安全设备100发送的公钥和基于区块链签发公共证书的个人信息发送到稍后将描述的签发请求服务器,其中个人信息包括签发所需的用户身份信息。
[0047] 这里,个人信息可以包括用户的姓名、用户的出生日期、用户的电话号码以及用户的电子邮件地址。
[0048] 这样的用户设备200可以包括如个人计算机或智能手机的多种设备,并且用户设备200与信息安全设备100之间的连接可以通过使用有线或无线通信,如低功耗蓝牙(即BLE)、近场通信(即NFC)和通用串行总线,来执行。
[0049] 此外,用户设备200可以在将个人信息发送到后面将描述的签发请求服务器300之前通过确认操作用户设备200的用户是否已经在基于区块链的公共证书的签发请求服务器300中注册用户身份信息来识别关于用户的信息。
[0050] 为此,签发请求服务器300可以包括数据库部分310,数据库部分310可以存储与操作200的用户有关的用户身份信息,并且数据库部分310可以包括存储与个人信息对应的用户身份信息的身份信息数据库存311。
[0051] 用户设备200可以将个人信息发送到签发请求服务器300,从而请求签发。如果确定与个人信息对应的信息存在于身份信息数据库存311中,则签发请求服务器300可以生成用于公钥的发送请求信号并将其发送到用户设备200。用户设备200可以将发送请求信号发送到信息安全设备100。如果接收到发送请求信号,则信息安全设备100可以指示加密引擎130基于存储在存储器120中的私钥生成公钥,并发送公钥给用户设备200,并且用户设备
200可以将公钥发送到签发请求服务器300。
[0052] 通过这些操作,私钥和公钥的生成在信息安全设备100内执行,信息安全设备100内部不能被物理地访问并且其上不能进一步安装程序,因此可以防止私钥的泄漏。
[0053] 签发请求服务器300可以从用户设备200接收个人信息和公钥,散列(hash)个人信息,从而获取用于认证的用户身份散列信息。然后,签发请求服务器300可以获取用于认证的用户身份散列信息、公钥以及全部个人信息中包含的全部用户身份信息中与该用户对应的用户身份信息,从而创建并将交易请求信号发送到稍后将描述的证书管理服务器400,证书管理服务器400基于区块链管理公共证书。这里,用户身份信息可以利用用户的电话号码,特别是移动电话号码。
[0054] 为此目的,签发请求服务器300可以包括其散列引擎320。
[0055] 这样,签发请求服务器300的散列引擎320可以散列个人信息,从而获取用于认证的用户身份散列信息。
[0056] 具有这种功能的签发请求服务器300可以由行来操作。
[0057] 证书管理服务器400可以:(I)(i)生成(i-1)用于存储公钥的交易信息和(i-2)用于存储公钥的交易ID,其被用作搜索用于存储公钥的交易信息的键值,其中交易信息可以包括来自签发请求服务器300的交易请求信号中的公钥,(ii)发送用于存储公钥的交易信息,并存储和管理用于存储公钥的交易ID;(II)(i)将交易请求信号中的用于认证的用户身份散列信息和用于存储公钥的交易ID散列以获取用于认证的用户验证散列信息,(ii)生成(ii-1)包括用于认证的用户验证散列信息的用于用户验证的交易信息和(ii-2)用于用户验证的交易ID,其被用作搜索用于用户验证的交易信息的键值,(iii)发送用于用户验证的交易信息,并存储和管理用于用户验证的交易ID;(III)在交易请求信号中存储和管理用户身份信息。
[0058] 为了执行这样的功能,证书管理服务器400可以包括数据库部分410(数据库部分410具有用于搜索用户交易的关键字数据库411)、交易处理引擎420和散列引擎430。
[0059] 首先,交易处理引擎420可以:(i)将用户身份信息存储在关键字数据库411中以搜索用户交易;(ii)创建(ii-1)用于存储公钥的交易信息,其中交易信息包括公钥,(ii-2)存储公钥的交易ID,其被用作搜索存储公钥的交易信息的键值。
[0060] 然后,散列引擎430可以散列用于存储公钥的交易ID和交易请求信号中的用于认证的用户身份散列信息,从而获取用于认证的用户验证散列信息。
[0061] 此外,交易处理引擎420可以:(i)将用于存储公钥的交易信息发送到区块链节点500;(ii)将用于存储公钥的交易ID存储在关键字数据库411中;(iii)创建(iii-1)用于用户验证的交易信息,其包括用于认证的用户验证散列信息,(iii-2)用于用户验证的交易ID,其被用作搜索用于用户验证的交易信息的键值;(iv)将用于用户验证的交易信息发送到区块链节点500;(v)在关键字数据库411中存储和管理用于用户验证的交易ID。
[0062] 具有这种功能的证书管理服务器400可以是其服务需要公共证书的公司的服务器,如银行或证券公司的服务器、政府机构的服务器或在线互联网购物中心的服务器。
[0063] 同时,参考图5A,存储在区块链节点500中的用于加密货币支付的交易信息可以包括(i)先前的加密货币支付的交易ID,用于使用先前的加密货币支付的交易信息来定位其为发送者拥有的加密货币金额的一部分的待花费的加密货币,(ii)关于发送者是否被授权使用该加密货币的许可信息,(iii)验证许可信息所需的用于加密货币支付的公钥,(iv)表示交易信息不是与加密货币支付有关的货币交易而是用于记录信息的元交易(meta-transaction)的OP_DUP信息,(v)包括要发送的加密货币金额的数据,以及(vi)用于识别接收者的接收者身份信息。
[0064] 这里,先前的加密货币支付的交易ID可以是用作搜索先前的加密货币支付交易的键值的信息。关于发送者的许可信息可以是发送者的电子签名信息,并且发送者可以是在先前的加密货币支付的交易信息中发送加密货币的用户。
[0065] 此外,用于加密货币支付的交易信息可以包括输入数据ID和输出数据OD的数据结构,其中输入数据ID可以包含先前的加密货币支付的交易ID、许可信息和用于加密货币支付的公钥,并且输出数据OD可以包含OP_DUP信息、加密货币金额和接收者身份信息。
[0066] 参考图5B,用于存储公钥的交易信息可以包括(i)先前的加密货币支付的交易ID,其被用于使用先前的加密货币支付的交易信息来定位待花费的加密货币,待花费的加密货币为发送者拥有的加密货币金额的一部分,(ii)关于发送者是否被授权使用该加密货币的许可信息,(iii)验证许可信息所需的用于加密货币支付的公钥,(iv)注册签发所需的公共证书的公钥所需的费用金额的注册费用信息,(v)表示用于存储用于公共证书的公钥的交易信息不是与加密货币支付相关的货币交易而是用于记录信息的元交易的OP_RETURN信息,以及(vi)公共证书的公钥。
[0067] 这里,用于存储公钥的交易信息可以包括输入数据ID1和输出数据OD1的数据结构,其中输入数据ID1可以包含先前的加密货币支付的交易ID、许可信息、用于加密货币支付的公钥以及公共证书的公钥的注册费用信息,并且输出数据OD1可以包含OP_RETURN信息和公共证书的公钥。
[0068] 这里,公共证书的公钥的注册费用信息可以是向矿工支付的与区块链节点500的区块链中的用于存储公钥的交易信息的注册相关的成本,花费约0.0001比特币。此外,关于用于认证的用户验证散列信息的注册所需的费用金额的注册费用信息可以是向矿工支付的与区块链节点500的区块链中的用于用户验证的交易信息的注册相关的成本。
[0069] 2015年7月,0.0001比特币大约只有4美分,而基于加密货币金额签发公共证书的总成本不到10美分。
[0070] 此外,通过参照图5C,用于用户验证的交易信息可以包括(i)先前的加密货币支付的交易ID,其被用于使用先前的加密货币支付的交易信息来定位待花费的加密货币,待花费的加密货币为发送者拥有的加密货币金额的一部分,(ii)关于发送者是否被授权使用该加密货币的许可信息,(iii)验证许可信息所需的用于加密货币支付的公钥,(iv)注册签发所需的用于认证的用户验证散列信息所需的费用金额的注册费用信息,(v)关于用于撤销公共证书的费用金额的储备费用信息,(vi)表示用于用户验证的交易信息不是与加密货币支付相关的货币交易而是用于记录信息的元交易的OP_RETURN信息,(vii)包含转移信息(transfer information)的撤销确认信息,该转移信息包括(iii-1)储备费用金额和(iii-2)用于将与储备费用信息对应的储备费用转移到指定加密货币地址的储备加密货币地址(如果用于用户验证的交易信息存储在区块链节点500的区块链中),(viii)用于认证的用户验证散列信息。
[0071] 由此,区块链节点500可以存储用于用户验证的交易信息,并且可以通过参考提供用于确认公共证书是否被撤销的数据的撤销确认信息来存储表示储备费用被转移到指定的加密货币地址的信息。
[0072] 此外,用于用户验证的交易信息可以包括输入数据ID2和输出数据OD2的数据结构,其中输入数据ID2可以包含先前的加密货币支付的交易ID、发送者的许可信息、加密货币支付的公钥、关于撤销公共证书的储备费用信息以及关于用于认证的用户验证散列信息的注册所需的费用金额的注册费用信息,并且输出数据OD2可以包含OP_RETURN信息、撤销确认信息以及用于认证的用户验证散列信息。
[0073] 区块链节点500是组成加密货币网络的设备,其通过验证和记录交易来执行加密货币交易。
[0074] 在此,简单解释比特币。比特币是在2009年由中本聪(Satoshi Nakamoto)制造的一种能够进行实物支付的数字货币,并且具有去中心结构,没有发行和管理货币的中央设备。相反,比特币的交易由基于对等网络(即P2P)和公钥加密的分布式数据库处理。
[0075] 有了这种支付方式,比特币的优点是可以在不使用信用卡交易平台需的信息(如卡号、失效期和CCV号码)的情况下进行支付,并且费用不高。此外,比特币被存储在作为电子文件的数字钱包中,并且唯一地址(即公共地址)被分配给该数字钱包,并且比特币交易基于该地址处理。
[0076] 为了使用具有这种交易特征的比特币,首先,比特币用户可以登录比特币交易平台(例如www.coinplug.com),并且使数字钱包随后以KRW(即韩元)加载(load)它。
[0077] 之后,比特币用户在交易平台确认比特币的当前兑换率之后,可以发出包括比特币的数量和单价的购买订单。如果存在与购买订单相匹配的销售订单,则发生交易,并且比特币用户可以用比特币支付产品。
[0078] 如前所述,区块链节点500可以包括由比特币交易平台操作的一个或多个服务器。
[0079] 为此目的,各个区块链节点500可以包括具有区块链的数字钱包,并且如果根据通过数字钱包的典型比特币支付创建的交易信息被发送到区块链,则可以验证该交易信息以授权比特币支付,然后交易信息可被记录并被播送(broadcast)到指定的区块链节点500。
[0080] 也就是说,比特币支付的交易信息的播送由协议定义,并且如果用于比特币支付的交易信息发生,则一个节点将用于比特币支付的初始交易信息播送到八个指定节点,然后接收到信息的八个指定节点中的每一个以金字塔形式再次向另外八个指定节点播送,并且当信息被发送到具有包含比特币支付所需的区块链的数字钱包的所有区块链节点500时,完成播送。
[0081] 因此,包括上述用于存储公钥的交易信息和用于用户验证的交易信息以及用于比特币支付的交易信息的任何交易信息都不能被篡改。
[0082] 同时,这样的区块链节点500可以包括具有区块链的数字钱包,并且可以包括由比特币矿工操作的服务器或终端,或用于比特币支付的用户终端,例如PC或智能手机。
[0083] 在比特币支付的情况下,支付基于包含区块链的数字钱包,并且基于包含区块链的数字钱包的支付方法还可以包括Litecoin、DarkCoin、Namecoin、Dogecoin和Ripple,并且当根据本发明验证金融机构的证书的真实性时,可以使用它们代替比特币。
[0084] 此外,区块链节点500的区块链可以包括私人信息以及用于比特币支付的交易信息。即,也可以存储用于用户验证的交易信息以及包括用户验证散列信息的公钥的交易信息和当基于区块链认证公共证书时所需的公钥的交易信息。
[0085] 也就是说,如果发送包含OP_RETURN(即操作代码[RETURN])信息的用于比特币支付的交易信息,则各区块链节点500中的每个数字钱包将交易信息作为私人信息,而不是作为表示比特币支付的信息播送,并且将OP_RETURN信息包含在用于认证的交易信息中对于确定数字内容的真实性起着主要作用。
[0086] 这里,如果区块链节点500的数字钱包在授权比特币支付时在用于比特币支付的交易信息中检测到OP_RETURN信息,则数字钱包可以发送通知,其中具有OP_RETURN的信息被用于表示任意40字节长数据,而不是交易信息。
[0087] 下面描述根据本发明的基于区块链的签发公共证书的流程,其使用根据本发明的基于区块链的签发公共证书的系统。
[0088] 首先,用户可以访问操作签发请求服务器300的银行,并可以提供诸如用户姓名、用户出生日期、电话号码和电子邮件地址的用户身份信息,然后银行可以指示签发请求服务器300将提供的用户身份信息存储在身份信息数据库存311中。
[0089] 之后,操作签发请求服务器300的银行可以将信息安全设备100交给用户,该信息安全设备100的存储器120存储由随机数发生器110随机生成的私钥。这里,用户以及操作签发请求服务器300的银行可以购买信息安全设备100。
[0090] 之后,在获取的信息安全设备100在步骤S100连接到用户设备200的情况下,则用户可以运行移动应用程序(mobile app)或专用程序,该程序引导用户基于加密货币签发公共证书,安装在用户设备200上以连接到签发请求服务器300,然后,在步骤S110,将用于基于区块链签发公共证书的个人信息发送到签发请求服务器300从而请求签发,其中个人信息包括签发所需的用户身份信息。
[0091] 之后,在步骤S120,在发送的个人信息与身份信息数据库存311相匹配并且用户通过匹配被识别的情况下,签发请求服务器300可以创建并向用户设备200发送请求发送公钥的指导信号。
[0092] 之后,在步骤S130,用户设备200可以将所发送的指导信号转发到信息安全设备100。
[0093] 之后,在步骤S140,如果指导信号被转发,则信息安全设备100可以指示加密引擎130基于存储在存储器120中的私钥创建公钥,并且将公钥发送到用户设备200。
[0094] 在步骤S150,用户设备200可以将公钥转发到签发请求服务器300。
[0095] 在步骤S160,如果接收到公钥,则签发请求服务器300可以指示其散列引擎320散列个人信息并获取用于认证的用户身份散列信息。然后,签发请求服务器300可以获取用于认证的用户身份散列信息、公钥和全部个人信息中包含的全部用户身份信息中与该用户对应的用户身份信息,从而创建并向证书管理服务器400发送交易请求信号。
[0096] 此外,在步骤S170,证书管理服务器400可以:(i)指示其交易处理引擎420将包含在交易请求信号中的用户身份信息存储在关键字数据库411中以供搜索该用户的交易;(ii)创建(ii-1)用于存储公钥的交易信息,其包括公钥,以及(ii-2)用于存储公钥的交易ID,其被用作搜索用于存储公钥的交易信息的键值。
[0097] 之后,在步骤S180,证书管理服务器400可以指示其散列引擎430将用于存储公钥的交易ID和交易请求信号中的用于认证的用户身份散列信息进行散列,从而获取用于认证的用户验证散列信息。
[0098] 此外,在步骤S190,证书管理服务器400可以指示其交易处理引擎420:(i)将用于存储公钥的交易信息发送到区块链节点500;(ii)将用于存储公钥的交易ID存储在关键字数据库411中;(iii)创建(iii-1)包括用于认证的用户验证散列信息的用于用户验证的交易信息和(iii-2)用于用户验证的交易ID,其被用作搜索用于用户验证的交易信息的键值;(iv)将用于用户验证的交易信息发送到区块链节点500;(v)在关键字数据库411中存储和管理用于用户验证的交易ID。
[0099] 在步骤S200,区块链节点500可以将用于存储公钥的交易信息和用于用户验证的交易信息存储在区块链中,从而完成签发。
[0100] 然后,如果在步骤S200完成签发,则在步骤S210,证书管理服务器400可以通知用户设备200签发完成。
[0101] 图9至图12示出了用于基于区块链的验证公共证书的方法和系统,是用于认证的部分。在解释附图之前,将尽可能省略用于签发的部分中描述的部分,并且在用于签发的部分中未描述的元件将在用于验证的部分的该示例实施例中描述。
[0102] 如图所示,根据本发明的基于区块链的验证公共证书的系统可以包括信息安全设备100、用户设备200、认证请求服务器600、证书管理服务器400和区块链节点500。
[0103] 首先,如上所述,信息安全设备100可以是其内部不能被物理地访问并且在其上不能进一步安装程序的设备,并且因为该设备通过使用其随机数发生器110在其自身内部生成公共证书的私钥,将私钥在存储器120中发送给用户,并且在信息安全设备100中生成公钥,该设备可以防止私钥的泄漏并且提供公共证书的安全认证而不会被损害。
[0104] 为此,信息安全设备100可以进一步包括其解密引擎160及散列引擎140,用于执行公共证书的认证。
[0105] 用户设备200可以是基于区块链的请求认证公共证书的设备。
[0106] 认证请求服务器600可以包括其随机数发生器630及加密引擎640,并且可以响应于来自用户设备200的认证请求,通过发送关于操作用户设备200的用户的用户身份信息来转发认证请求。
[0107] 为此,认证请求服务器600可以包括数据库部分610,数据库部分610存储关于操作用户设备200的用户的用户身份信息,并且具有身份信息数据库存611,身份信息数据库存611存储与公共证书的签发相关的所有用户身份信息。
[0108] 基于此,认证请求服务器600可以响应于来自用户设备200的认证请求从身份信息数据库存611获取关于操作用户设备200的用户的用户身份信息,并且可以将用户身份信息发送到证书管理服务器400。
[0109] 证书管理服务器400可以通过发送用于用户验证的交易ID和用于存储与从认证请求服务器600接收的用户身份信息对应的公钥的交易ID来请求下载用于存储公钥的交易信息和用于用户验证的交易信息。
[0110] 为此,证书管理服务器400可以包括其具有关键字数据库411的数据库部分410,数据库部分410存储:(i)与签发公共证书的个人信息对应的用户身份信息,其中个人信息具有在签发时使用的用户身份信息;(ii)用于存储公钥的交易ID,其被用作搜索用于存储公钥的交易信息的键值;(iii)用于用户验证的交易ID,其被用作搜索用于用户验证的交易信息的键值。
[0111] 这里,用于用户验证的交易信息可以进一步包括转移信息和储备加密货币地址,转移信息包括储备费用金额,储备加密货币地址用于将与储备费用信息对应的储备费用转移到指定的加密货币地址(如果关于撤销公共证书的储备费用信息和用于用户验证的交易信息存储在区块链节点500的区块链中)。
[0112] 通过该处理,证书管理服务器400可以指示其交易处理引擎420从包含在用于用户验证的交易信息中的关于储备费用的转移信息中获取用于撤销公共证书的储备加密货币地址,可以创建请求关于与在所获取的储备加密货币地址处加载的加密货币金额对应的储备费用是否被转移的信息的撤销确认信号,并且可以将该撤销确认信号发送到区块链节点500。在此,撤销确认信号可以被发送到多个区块链节点500或发送到区块链节点500中的预先指定的一个。
[0113] 区块链节点500可以向证书管理服务器400发送撤销的通知信号,该通知信号通知是否转移了在储备加密货币地址处加载的储备费用,其中通过参考包含在撤销确认信号中的储备加密货币地址从区块链中检索储备费用。
[0114] 证书管理服务器400的交易处理引擎420可以通过参考通知信号来确认储备费用是否被转移,并且如果确认储备费用被转移,则可以将表示拒绝公共证书的认证的消息发送给用户设备200。
[0115] 然后,证书管理服务器400可以通过参考用户身份信息从关键字数据库411中检索用于存储公钥的交易ID和用于用户验证的交易ID,并且可以指示其交易处理引擎420从用于存储公钥的交易信息和用于用户验证的交易信息获取公钥和用于认证的用户验证散列信息。
[0116] 区块链节点500可以:(i)通过验证发送的关于加密货币支付的交易信息来授权加密货币支付;(ii)在区块链中存储(ii-1)关于加密货币支付的交易信息,(ii-2)用于存储公钥的交易信息,其中该交易信息包括公钥,(ii-3)包括用于认证的用户验证散列信息的用于用户验证的交易信息;(iii)通过分别参考从证书管理服务器400接收的用于存储公钥的交易ID和用于用户验证的交易ID,向证书管理服务器400发送从区块链检索到的用于存储公钥的交易信息和用于用户验证的交易信息。
[0117] 特别地,本发明的主要特征之一是证书管理服务器400可以从区块链节点500发送的用于存储公钥的交易信息和用于用户验证的交易信息中获取公钥和用于认证的用户验证散列信息,并且可以向认证请求服务器600发送包括所获取的公钥、所获取的用于认证的用户验证散列信息和用于存储公钥的交易ID的有效性确认信号。
[0118] 然后,认证请求服务器600可以从身份信息数据库存611中检索用户身份信息,通过散列检索到的用户身份信息来获取用于比较的用户身份散列信息,并且获取用于比较的用户验证散列信息,用户验证散列信息是通过对所获取的用于比较的用户身份散列信息和包括在从证书管理服务器400发送的有效性确认信号中的用于存储公钥的交易ID进行散列计算的,并且如果在获取用于认证的用户验证散列信息的散列值和用户验证散列信息的散列值之后,包含在从证书管理服务器400接收的有效性确认信号中的用于认证的用户验证散列信息的散列值对应于用于比较的用户验证散列信息的散列值,则可以确认用于用户设备200之间的互联网通信的协议。
[0119] 这里,该协议用于在互联网上的用户的web服务器和互联网浏览器之间传输超文本文件,并且包括HTTP(超文本传输协议)和HTTPS(基于安全套接字层的超文本传输协议),其区别在于正在传送的文件是否被加密。也就是说,文档在HTTP中以纯文本形式传输,在HTTPS中以加密文本形式传输。
[0120] 因此,HTTP的使用环境容易受到黑客攻击,因为文档是以纯文本形式传输的。
[0121] 为了解决黑客攻击的风险并将用户认证为公共证书的合法用户,如果用户设备200之间的协议被确定为HTTP,证书管理服务器400可以指示随机数发生器630生成随机会话密钥,可以指示加密引擎640通过使用包括在有效性确认信号中的公钥对随机会话密钥进行加密来获取加密的随机会话密钥,并且可以将加密的随机会话密钥通过用户设备200转发到信息安全设备100。
[0122] 信息安全设备100可以指示其解密引擎160通过使用存储在存储器120中的用于公共证书的私钥来解密加密的随机会话密钥,以获取随机会话密钥,并且可以向用户设备200发送随机会话密钥从而执行用户作为合法用户的认证。也就是说,如果用户的信息安全设备100不具有私钥,则不能执行解密,因此用户不能被验证为合法用户。
[0123] 另外,即使在HTTP的使用环境中,由于文档是通过使用基于信息安全设备100提供的随机会话密钥的加密在用户设备200与认证请求服务器600之间的安全通信线路上传输的,所以即使在用户认证之后,也防止了私钥的泄露,并且执行基于区块链的安全认证。为此目的,用户设备200可以包括其加密引擎及解密引擎。
[0124] 另一方面,如果协议被确定为HTTPS,则通过用户设备200与认证请求服务器600之间的通信线路传输的文档已经被加密,因此只需要用户认证。
[0125] 为此,如果用户设备200之间的协议被确定为HTTPS,则证书管理服务器400可以指示随机数发生器630获取随机数并通过用户设备200将该随机数转发到信息安全设备100。
[0126] 信息安全设备100可以指示其散列引擎140通过散列该随机数来获取用于认证的随机数散列信息,指示其加密引擎130通过使用存储在存储器120中的私钥加密用于认证的随机数散列信息来获取加密的随机数散列信息,并且通过用户设备200将用于认证的加密的随机数散列信息转发到认证请求服务器600。
[0127] 认证请求服务器600可以指示其散列引擎620对已经发送到信息安全设备100的随机数进行散列以获取用于比较的随机数散列信息,可以指示其解密引擎650通过使用公钥解密用于认证的加密的随机数散列信息以获取用于认证的随机数散列信息,并且可以确认用于认证的随机数散列信息的散列值是否对应于用于比较的随机数散列信息的散列值,从而执行用户的认证。
[0128] 同时,与发送者相对应的用户或证书管理服务器400可以撤销公共证书。
[0129] 为此,如果生成了请求撤销公共证书的撤销信号,则证书管理服务器400可以指示其交易处理引擎420从关键字数据库411中检索用于用户验证的交易ID,从而将用于用户验证的交易ID发送到区块链节点500。
[0130] 区块链节点500可以通过参考所发送的用于用户验证的交易ID向证书管理服务器400发送从区块链节点500中检索的用于用户验证的交易信息。
[0131] 如果接收到用于用户验证的交易信息,则证书管理服务器400可以指示其交易处理引擎420生成用于撤销的交易信息并将用于撤销的交易信息发送到区块链节点500,其中用于撤销的交易信息包括输入数据ID3和输出数据OD3,其中ID3可以具有:(i)通过参考OD2指导在储备加密货币地址处加载的储备费用的转移的转移指导信息;(ii)包含允许发送者或用户使用在储备加密货币地址处加载的储备费用的用于加密货币的多个许可信息;(iii)确定用于加密货币的多个许可信息的有效性所需的用于加密货币支付的公钥,并且OD3可以具有:(i)接收者的接收加密货币地址,其中在储备加密货币地址处加载的储备费用将被发送;(ii)关于接收者的接收者身份信息。
[0132] 区块链节点500可以将发送的用于撤销的交易信息存储在区块链中,从而撤销用户的公共证书。
[0133] 同时,如果撤销信号被确定为在用户设备200处生成,则证书管理服务器400可以将生成的用于撤销的交易信息发送给用户设备200,从而请求电子签名。
[0134] 用户设备200可以指示加密引擎130进行电子签名并将用于撤销的交易信息发送到证书管理服务器400。
[0135] 之后,证书管理服务器400可以向区块链节点500发送从用户设备200接收的有用户电子签名的用于撤销的交易信息。
[0136] 然后,如果撤销信号被确定为在证书管理服务器400处生成,则证书管理服务器400可以指示其交易处理引擎420用对应于证书管理服务器400的发送者的私钥对用于撤销的交易信息进行电子签名,并且将有发送者电子签名的用于撤销的交易信息发送到区块链节点500。
[0137] 下面描述根据本发明的基于区块链的认证公共证书的过程,其使用根据本发明的基于区块链的对公共证书进行认证的系统。
[0138] 在步骤S300,用户设备200可以通过连接到认证请求服务器600发送基于区块链的公共证书的认证请求。
[0139] 在步骤S310,认证请求服务器600可以响应于来自用户设备200的认证请求从身份信息数据库存611获取关于操作用户设备200的用户的用户身份信息,并且可以将用户身份信息发送到证书管理服务器400。
[0140] 在步骤S320,证书管理服务器400可以通过参考用户身份信息向区块链节点500发送从关键字数据库411检索到的用于存储公钥的交易ID和用于用户验证的交易ID,从而请求下载用于存储公钥的交易信息和用于用户验证的交易信息。
[0141] 在步骤S330,区块链节点500可以通过参考所发送的用于存储公钥的交易ID和所发送的用于用户验证的交易ID向证书管理服务器400发送从区块链节点500中检索用于存储公钥的交易信息和用于用户验证的交易信息。
[0142] 在步骤S340,证书管理服务器400可以指示其交易处理引擎420从包含在用于用户验证的交易信息中的关于储备费用的转移信息中获取用于撤销公共证书的储备加密货币地址,可以创建请求关于与在所获取的储备加密货币地址处加载的加密货币金额对应的储备费用是否被转移的信息的撤销确认信号,并且可以将该撤销确认信号发送到区块链节点500。
[0143] 在步骤S350,区块链节点500可以向证书管理服务器400发送用于撤销的通知信号,该通知信号通知是否转移了在储备加密货币地址处加载的储备费用,其中通过参考包含在撤销确认信号中的储备加密货币地址从区块链中检索储备费用。
[0144] 在步骤S360,证书管理服务器400的交易处理引擎420可以通过参考通知信号来确认储备费用是否被转移,并且在步骤S361,如果储备费用被确定为已转移,则可以将表示拒绝公共证书的认证的消息发送给用户设备200,并且在步骤S370,如果储备费用被确定为未转移,则可以分别从用于存储公钥的交易信息和用于用户验证的交易信息中获取公钥和用于认证的用户验证散列信息。
[0145] 在步骤S380,证书管理服务器400可以向认证请求服务器600发送公共证书的有效性确认信号,其中有效性确认信号包括:(i)在关键字数据库411中的用于存储公钥的交易ID;(ii)公钥;(iii)用于认证的用户验证散列信息。
[0146] 在步骤S390,认证请求服务器600可以从其身份信息数据库存611中检索用户身份信息,指示其散列引擎620通过散列用户身份信息来获取用于比较的用户身份散列信息,并且获取用于比较的用户验证散列信息,用户验证散列信息是通过对用于比较的用户身份散列信息和包括在从认证请求服务器600发送的有效性确认信号中的用于存储公钥的交易ID进行散列计算的。
[0147] 之后,在步骤S400,通过计算两个散列值,认证请求服务器600的散列引擎620可以确定包括在从证书管理服务器400发送的有效性确认信号中的用于认证的用户验证散列信息的散列值是否对应于用于比较的用户验证散列信息的散列值,并且在步骤S401,如果两个散列值彼此不相同,则可以将表示拒绝认证的消息发送到用户设备200。
[0148] 在步骤S410,认证请求服务器600可以计算用户验证散列信息和用于比较的用户验证散列信息的每一者的散列值,并且如果所述每个散列值被确定为彼此相同,则可以确认用于用户设备200与认证请求服务器600之间的互联网通信的协议是HTTP还是HTTPS。
[0149] 首先,在步骤S420,如果协议被确定为HTTP,则认证请求服务器600可以指示其随机数发生器630获取随机会话密钥,并且在步骤S430,可以指示其加密引擎640通过使用有效性确认信号中包括的公钥来加密随机会话密钥,从而获取加密的随机会话密钥并将其发送到用户设备200。
[0150] 在步骤S440,用户设备200可以通过有线或无线通信线路将加密的随机会话密钥转发到信息安全设备100。
[0151] 在步骤S450,信息安全设备100可以指示其解密引擎160通过使用存储在存储器120中的用于公共证书的私钥来解密加密的随机会话密钥,以获取随机会话密钥,并且可以向用户设备200发送随机会话密钥,从而执行用户的认证。
[0152] 然后,在步骤S460,如果用户设备200与认证请求服务器600之间的协议被确定为HTTPS,则认证请求服务器600可以指示其随机数发生器630获取随机数并且将该随机数通过用户设备200转发到信息安全设备100。
[0153] 之后,在步骤S470,信息安全设备100可以指示其散列引擎140通过对转发的随机数进行散列来获取用于认证的随机数散列信息,指示其加密引擎130通过使用存储在存储器120中的私钥对用于认证的随机数散列信息进行加密来获取用于认证的加密的随机数散列信息,并且在步骤S480,通过用户设备200将用于认证的加密的随机数散列信息转发到认证请求服务器600。
[0154] 之后,在步骤S490,认证请求服务器600可以指示其散列引擎620散列已经发送到信息安全设备100的随机数,以获取用于比较的随机数散列信息,可以指示其解密引擎650通过使用公钥对加密的随机数散列信息进行解密以获取用于认证的随机数散列信息,并且可以确认用于认证的随机数散列信息的散列值是否对应于用于比较的随机数散列信息的散列值,从而执行用户的认证。
[0155] 同时,在步骤S500,确定撤销信号是否生成,并且如果撤销信号被确定为生成,则在步骤S510,确定撤销信号是在用户设备200还是在证书管理服务器400处生成。
[0156] 首先,如果撤销信号被确定为在用户设备200处生成,则在步骤S520,用户设备200可以将生成的撤销信号发送到证书管理服务器400。
[0157] 在步骤S530,证书管理服务器400可以指示其交易处理引擎420通过参考发送的撤销信号从关键字数据库411检索用于用户验证的交易ID,从而将用于用户验证的交易ID发送到区块链节点500。
[0158] 在步骤S540,区块链节点500可以通过参考所发送的用于用户验证的交易ID向证书管理服务器400发送从区块链节点500检索的用于用户验证的交易信息。
[0159] 之后,在步骤S550,证书管理服务器400的交易处理引擎420可以接收用于用户验证的交易信息,可以生成用于撤销的交易信息并且可以通过用户设备200将用于撤销的交易信息转发到信息安全设备100,从而请求电子签名,其中用于撤销的交易信息包括输入数据ID3和输出数据OD3,其中ID3具有:(i)通过参考OD2指导在储备加密货币地址处加载的储备费用的转移的转移指导信息;(ii)包含允许发送者或用户使用在储备加密货币地址处加载的储备费用的用于加密货币的多个许可信息;(iii)确定用于加密货币的多个许可信息的有效性所需的用于加密货币支付的公钥,并且OD3具有:(i)接收者的接收加密货币地址,其中在储备加密货币地址处加载的储备费用将被发送;(ii)关于接收者的接收者身份信息。
[0160] 在步骤S560,信息安全设备100可以指示其加密引擎130对用于撤销的交易信息进行电子签名,并且通过用户设备200将签名结果转发到证书管理服务器400。
[0161] 在步骤S570,证书管理服务器400可以向区块链节点500发送有用户电子签名的用于撤销的交易信息。
[0162] 在步骤S580,区块链节点500可以将发送的用于撤销的交易信息存储在区块链中,从而撤销用户的公共证书。
[0163] 同时,如果确定生成了撤销信号,则在从S520到S580的步骤中确定撤销信号在何处生成,如果撤销信号被确定为在证书管理服务器400处生成,则证书管理服务器400可以指示其交易处理引擎420接收用于用户验证的交易信息,生成用于撤销的交易信息,并且使用作为发送者的证书管理服务器400的私钥对所生成的用于撤销的交易信息进行签名,从而,在步骤S511,将已签名的用于撤销的交易信息发送到区块链节点500,其中用于撤销的交易信息包括输入数据ID3和输出数据OD3,并且ID3具有:(i)通过参考OD2指导在储备加密货币地址处加载的储备费用的转移的转移指导信息;(ii)包含允许发送者或用户使用在储备加密货币地址处加载的储备费用的用于加密货币的多个许可信息;(iii)确定用于加密货币的多个许可信息的有效性所需的用于加密货币支付的公钥,并且OD3具有:(i)接收者的接收加密货币地址,其中在储备加密货币地址处加载的储备费用将被发送;(ii)关于接收者的接收者身份信息。
[0164] 在步骤S512,区块链节点500可以将从发送者发送的用于撤销的交易信息存储在区块链中,从而撤销用户的公共证书。
[0165] 最后,图13至图16是示出根据本发明的另一示例的基于区块链的对公共证书进行认证的方法的图,并且,因为附图标记相同而只有功能关系(functional relations)与前述用于认证的系统不同,因此与用于认证的系统有关的附图被省略。
[0166] 根据本发明的所述另一示例的基于区块链的对公共证书进行认证的系统和方法与前述基于区块链的认证公共证书的系统和方法之间的区别可在于,是通过认证请求服务器600还是证书管理服务器400执行了通过散列确认公共证书的真实性以及确定用于认证的用户验证散列信息和用于比较的用户验证散列信息的过程。
[0167] 也就是说,根据本发明的所述另一示例的基于区块链的对公共证书进行认证的系统包括:信息安全设备100,具有其解密引擎160和其存储器120,存储器120存储用于公共证书的私钥;用户设备200,基于区块链请求公共证书的认证;认证请求服务器600,包括其随机数发生器630及加密引擎640,认证请求服务器600响应于来自用户设备200的认证请求,通过发送关于用户的用户身份信息来转发认证请求;证书管理服务器400,接收用于比较的用户身份散列信息和用户身份信息,通过发送从关键字数据库411中检索的与接收到的用户身份信息对应的用于用户验证的交易ID和用于存储公钥的交易ID,请求下载用于存储公钥的交易信息和用于用户验证的交易信息;以及区块链节点500:(i)通过验证发送的关于加密货币支付的交易信息来授权加密货币支付;(ii)在区块链中存储(ii-1)关于加密货币支付的交易信息,(ii-2)用于存储公钥的交易信息,其中该交易信息包括公钥,以及(ii-3)包括用于认证的用户验证散列信息的用于用户验证的交易信息;(iii)通过分别参考从证书管理服务器400接收的用于存储公钥的交易ID和用于用户验证的交易ID向证书管理服务器400发送从区块链检索的用于存储公钥的交易信息和用于用户验证的交易信息;其中,证书管理服务器400可以:(i)从接收自区块链节点500的用于存储公钥的交易信息和用于用户验证的交易信息分别获取公钥和用于认证的用户验证散列信息;(ii)通过对所发送的用于比较的用户身份散列信息和关键字数据库411中的用于存储公钥的交易ID进行散列来获取用于比较的用户验证散列信息;(iii)如果所获取的用于认证的用户验证散列信息的散列值被确定为与用于比较的用户验证散列信息的散列值相同,则向认证请求服务器600发送所获取的公钥和用户身份信息,其中,如果接收到用于公共证书的公钥和用户身份信息,则认证请求服务器600可以确认用户设备200之间用于互联网通信的协议,并且如果协议被确定为HTTP,则指示其随机数发生器630生成随机会话密钥,并且可以指示其加密引擎640通过使用包括在有效性确认信号中的公钥对随机会话密钥进行加密来获取加密的随机会话密钥,并通过用户设备200将加密的随机会话密钥转发到信息安全设备100,并且其中信息安全设备100可以指示其解密引擎160通过使用存储在其存储器120中的私钥对加密的随机会话密钥进行解密来获取随机会话密钥,并将随机会话密钥发送到用户设备200,从而执行用户的认证。
[0168] 使用这些配置,根据本发明的所述另一示例的基于区块链的对公共证书进行认证的系统可以包括:步骤S600,用户设备200通过连接到认证请求服务器600,发送基于区块链的对公共证书的进行认证请求;步骤S610,认证请求服务器600响应于认证请求从其身份信息数据库存611获取关于用户的用户身份信息,指示其散列引擎620散列所获取的用户身份信息以获取用于比较的用户身份散列信息,并将用户身份信息和用于比较的用户身份散列信息发送给证书管理服务器400;步骤S620,证书管理服务器400接收用户身份信息和用于比较的用户身份散列信息,通过参考接用户身份信息向区块链节点500发送从关键字数据库411检索的用于存储公钥的交易ID和用于用户验证的交易ID,从而请求下载用于存储公钥的交易信息和用于用户验证的交易信息;步骤S630,区块链节点500通过参考所发送的用于存储公钥的交易ID和所发送的用于用户验证的交易ID向证书管理服务器发送从区块链节点500中检索的用于存储公钥的交易信息和用于用户验证的交易信息;步骤S670,证书管理服务器400指示其交易处理引擎420从用于存储公钥的交易信息和用于用户验证的交易信息分别获取用于公共证书的公钥和用于认证的用户验证散列信息;步骤S680,证书管理服务器400指示其散列引擎430对所发送的用于比较的用户身份散列信息和关键字数据库411中的用于存储公钥的交易ID进行散列,从而获取用于比较的用户验证散列信息;步骤S690,证书管理服务器400的散列引擎430通过计算两个散列值确定用于认证的用户验证散列信息的散列值是否对应于用于比较的用户验证散列信息的散列值,然后确定两个散列值是否彼此相同;步骤S700,如果用于认证的用户验证散列信息的散列值被确定为与用于比较的用户验证散列信息的散列值相同,则证书管理服务器400向认证请求服务器600发送所获取的公钥和用户身份信息;步骤S710,如果接收到公钥和用户身份信息,则认证请求服务器600确认用于用户设备200与认证请求服务器600之间的互联网通信协议是HTTP还是HTTPS;步骤S720,如果协议被确定为HTTP,则认证请求服务器600指示其随机数发生器630获取随机会话密钥;步骤S730,认证请求服务器600指示其加密引擎640通过使用包含在有效性确认信号中的公钥对随机会话密钥进行加密,从而获取加密的随机会话密钥并将其发送给用户设备200;步骤S740,用户设备200将加密的随机会话密钥转发到信息安全设备
100;步骤S750,信息安全设备100指示其解密引擎160通过使用存储在存储器120中的公共证书的私钥对加密的随机会话密钥进行解密,以获取随机会话密钥,并将随机会话密钥发送给用户设备200,从而执行用户的认证。
[0169] 通过在其内部不能被物理地访问并且在其上程序不能被进一步安装的设备中的随机数发生器内生成并存储公共证书的私钥,本发明具有即使在没有ActiveX控件的情况下也执行公共证书的认证的效果,因此防止私钥的泄露,并且,使用基于对等网络(P2P)的分布式数据库而不是由CA管理的服务器,通过在区块链节点中的数字钱包的区块链中存储和管理需要维护的公钥,从而最小化维护具有高度的安全性以防止黑客攻击的公共证书签发系统所需的额外成本。
[0170] 基于上述实施例的说明,本领域的技术人员可以清楚地了解到本发明可以通过软件和硬件的结合或仅由硬件来实现。对现有技术做出贡献的部分或本发明的技术方案的目的可以通过多个计算机组件以可执行程序命令的形式来实现,并且可以被制造为计算机程序产品或包括产品的计算机可读介质。计算机可读介质或产品可以单独或组合地包括程序命令、数据文件和数据结构。包括在介质或产品中的程序命令可以是专为本发明设计的组件,或者可以是计算机软件领域的技术人员已知和可用的组件。用于产品的计算机可读介质可以包括:诸如硬盘软盘和磁带的磁介质;诸如CD-ROM和DVD的光介质;诸如光磁软盘的磁光介质;以及诸如ROM、RAM和专为存储和执行程序命令而设计的闪存的硬件设备。程序命令不仅可以包括由编译器生成的机器语言代码,而且可以包括由计算机执行的解释器等可以使用的高级代码。前述的硬件设备可以不仅仅是作为软件模块来执行本发明的动作,并且它们可以在相反的情况下执行相同的操作。硬件设备可以包括:诸如CPU或GPU的处理器,与诸如ROM或RAM的存储设备组合以存储程序命令,被配置为执行存储在存储器中的命令;以及通信部分,其可以与外部设备交换信号。另外,硬件设备可以包括键盘鼠标以及用于接收由开发者准备的命令的任何其他外部输入设备。
[0171] 如上所见,已经通过诸如详细组件、有限实施例和附图的具体事项来解释本发明。它们仅用于帮助更全面地理解本发明。然而,本领域技术人员将理解,在不脱离如在以下权利要求所限定的本发明的精神和范围的情况下,可以从说明书进行各种改变和修改。
[0172] 因此,本发明的思想不应局限于所解释的实施例,并且以下专利权利要求以及包括与专利权利要求相当或等同的变化的所有内容都属于本发明思想的范畴。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈