首页 / 专利库 / 银行与财务事项 / 加密货币钱包 / 使用集中式或分布式分类账来提供信息证明的方法和设备

使用集中式或分布式分类账来提供信息证明的方法和设备

阅读:415发布:2020-05-30

专利汇可以提供使用集中式或分布式分类账来提供信息证明的方法和设备专利检索,专利查询,专利分析的服务。并且描述了用于提供用户的信息的认证的方法和设备。在验证该信息后,将第一散列函数应用于用户的信息以创建散列。通过将所述用户的信息的散列与一个或更多个公钥组合来生成公共证明密钥。基于所述公共证明密钥来生成证明地址。包括所述公共证明密钥的已签名交易被传送以用于在所述证明地址处存储在集中式或分布式分类帐中。,下面是使用集中式或分布式分类账来提供信息证明的方法和设备专利的具体信息内容。

1.一种由证明器提供信息的证明的方法,所述方法在具有通过机器可读指令配置的一个或更多个物理处理器的计算机系统上实现,所述机器可读指令在被执行时执行所述方法,所述方法包括:
在与所述证明器相关联的处理器处接收所述信息和针对所述信息生成的公钥;
将散列函数应用于所述信息以创建散列;
将所述信息的散列与针对所述信息生成的所述公钥组合以生成公共证明密钥;
基于所述公共证明密钥来生成证明地址;以及
将已签名的交易传送到集中式或分布式分类帐以用于存储在所述证明地址处。
2.根据权利要求1所述的方法,其中,使用椭圆曲线加法来将所述信息的散列与针对所述信息生成的所述公钥组合以生成所述公共证明密钥。
3.根据权利要求1所述的方法,其中,将所述信息的散列与针对所述信息生成的所述公钥组合包括使用作为偏移量的所述信息的散列以及使用针对所述信息生成的所述公钥来生成所述公共证明密钥。
4.根据权利要求3所述的方法,其中,使用作为偏移量的所述信息的散列以及使用针对所述信息生成的所述公钥来生成所述公共证明密钥符合用于等级确定性钱包的比特币BIP32标准。
5.根据权利要求1所述的方法,其中,生成所述证明地址包括利用实现付款给脚本散列(P2SH)函数的多重签名脚本来组合潜在签名者的两个或更多个公钥。
6.根据权利要求5所述的方法,其中,所述潜在签名者的公钥中的一个是所述公共证明密钥。
7.根据权利要求5所述的方法,其中,所述潜在签名者的公钥中的一个是钱包提供商的公钥、所述证明器的公钥和用户的恢复公钥中的一个。
8.根据权利要求1所述的方法,其中,生成对于单个签名交易的证明地址包括将第二散列函数应用于所述公共证明密钥。
9.根据权利要求8所述的方法,其中,所述第二散列函数包括P2PKH算法
10.根据权利要求1所述的方法,其中,生成对于多重签名交易的证明地址包括使用多个签署者的公钥来生成赎回脚本,序列化所述赎回脚本以创建序列化输出,将第二散列函数应用于所述序列化输出以创建第二散列,以及将第三散列函数应用于所述第二散列。
11.根据权利要求10所述的方法,其中,所述第二散列函数包括SHA256算法,并且所述第三散列函数包括RIPEMD160算法。
12.根据权利要求1所述的方法,其中,所述集中式或分布式分类帐是比特币链。
13.一种用于提供与交易相关联的信息的证明的数据块,所述交易用于存储在集中式或分布式分类账中,所述数据块包括:
用于基于公共证明密钥在所述集中式或分布式分类帐上存储所述交易的证明地址,所述公共证明密钥通过将散列函数应用于所述信息以创建散列,并且将所述信息的散列与针对所述信息生成的公钥组合来生成。
14.根据权利要求13所述的数据块,其中,使用椭圆曲线加法来将所述信息的散列与针对所述信息生成的所述公钥组合以生成所述公共证明密钥。
15.根据权利要求13所述的数据块,其中,使用作为偏移量的所述信息的散列与针对所述信息生成的所述公钥来生成所述公共证明密钥。
16.根据权利要求13所述的数据块,其中,通过利用实现付款给脚本散列(P2SH)函数的多重签名脚本来组合潜在签名者的两个或更多个公钥来生成所述证明地址。
17.根据权利要求16所述的数据块,其中,所述潜在签名者的公钥中的一个是所述公共证明密钥、钱包提供商的公钥、所述证明器的公钥和用户的恢复公钥中的一个。
18.根据权利要求13所述的数据块,其中,通过将第二散列函数应用于所述公共证明密钥来创建对于单个签名交易的证明地址。
19.根据权利要求13所述的数据块,其中,通过使用所述多个签署者的公钥来生成赎回脚本、序列化所述赎回脚本以创建序列化输出、将第二散列函数应用于所述序列化输出以创建第二散列,以及将第三散列函数应用于所述第二散列来创建对于多重签名交易的证明地址。
20.根据权利要求19所述的数据块,其中,所述第二散列函数包括SHA256算法,并且所述第三散列函数包括RIPEMD160算法。
21.一种提供与证明交易相关的用户的信息的检验的方法,所述方法在具有通过机器可读指令配置的一个或更多个物理处理器的计算机系统上实现,所述机器可读指令在被执行时执行所述方法,所述方法包括:
发送对所述用户的信息的请求,其中所述信息先前已经在证明地址处存储在集中式或分布式分类账内的证明交易中进行了证明,所述集中式或分布式分类账提供交易的记录;
在与检验器相关联的处理器处接收所述用户的信息;
发送加密质询现时值;
在与所述检验器相关联的处理器处接收由所述用户的私钥签名的所述加密质询现时值;
利用由所述用户的私钥签名的所述加密质询现时值来检验用户身份;
通过使用所述用户的信息来导出公共证明密钥;
使用所述公共证明密钥来导出证明地址;以及
检验所述证明交易在所述集中式或分布式分类帐中的所述证明地址处的存在。
22.根据权利要求21所述的方法,
其中,发送对信息的请求还包括发送对所述用户的公钥的请求;并且
其中,接收所述信息还包括接收所述用户的公钥。
23.根据权利要求22所述的方法,
其中,检验用户身份还包括检查所述用户的公钥和由所述用户的私钥签名的所述加密质询现时值。
24.根据权利要求22所述的方法,
其中,导出公共证明密钥还包括使用所述信息和所述用户的公钥来导出所述公共证明密钥。
25.根据权利要求22所述的方法,还包括提供与证明器相关联的处理器以用于生成所述证明交易。
26.根据权利要求25所述的方法,还包括检验能够使用付款给脚本散列(P2SH)与所述公共证明密钥和所述证明器的公钥来导出对于所述证明交易的所述证明地址。
27.根据权利要求25所述的方法,还包括检验能够使用付款给脚本散列(P2SH)与所述公共证明密钥、所述证明器的公钥和第三方联合签名者公钥来导出对于所述证明交易的所述证明地址。
28.根据权利要求25所述的方法,
其中,发送对信息的请求还包括发送对所述证明器的公钥和第三方联合签名者的公钥的请求。
29.根据权利要求25所述的方法,
其中,使用所述信息来导出所述公共证明密钥还包括使用所述用户的公钥、证明器的公钥和第三方联合签名者的公钥中的至少一个来导出所述公共证明密钥。
30.根据权利要求25所述的方法,其中,导出公共证明密钥包括使用所述证明器的应用或网站来导出所述公共证明密钥。
31.根据权利要求21所述的方法,其中,导出公共证明密钥包括使用第三方应用或网站来导出所述公共证明密钥。
32.根据权利要求25所述的方法,其中,与所述检验器相关联的处理器将由所述用户接收的所述信息发送到与所述证明器相关联的处理器,并且从与所述证明器相关联的处理器接收所述公共证明密钥。
33.根据权利要求30所述的方法,其中,与所述检验器相关联的处理器生成所述公共证明密钥。
34.根据权利要求30所述的方法,其中,与所述检验器相关联的处理器生成所述证明地址。
35.根据权利要求30所述的方法,其中,与所述检验器相关联的处理器将所述用户信息和所述用户的公钥发送给第三方应用或网站,并且其中与所述检验器相关联的处理器从所述第三方应用或网站接收所述公共证明密钥和所述证明地址。
36.根据权利要求30所述的方法,其中,与所述检验器相关联的处理器使用第三方数字钱包提供商应用或网站来检验所述证明交易在所述证明地址处的存在。
37.根据权利要求30所述的方法,其中,与所述检验器相关联的处理器将从所述用户接收的所述信息发送到证明器以检验所述证明地址处的所述证明交易。
38.根据权利要求21所述的方法,其中,发送对所述用户的信息的请求包括向所述用户提供对所述用户的信息的请求,并且其中接收所述用户的信息包括从所述用户接收所述用户的信息。
39.根据权利要求21所述的方法,其中,发送对所述用户的信息的请求包括向证明器提供对所述用户的信息的请求;并且其中接收所述用户的信息包括从所述证明器接收所述用户的信息。
40.一种用于提供与证明交易相关的用户的信息的检验的系统,所述系统包括计算机系统,其具有一个或更多个物理处理器,所述一个或更多个物理处理器通过机器可读指令配置以进行以下操作:
发送对所述用户的信息的请求,其中所述信息先前已经在证明地址处存储在集中式或分布式分类账内的证明交易中进行了证明,所述集中式或分布式分类账提供可检验的交易记录
在与所述检验器相关联的处理器处接收所述用户的信息;
发送加密质询现时值;
在与所述检验器相关联的处理器处接收由所述用户的私钥签名的所述加密质询现时值;
利用由所述用户的私钥签名的所述加密质询现时值来检验用户身份;
通过使用所述用户的信息来导出公共证明密钥;
使用所述公共证明密钥来导出证明地址;
检验所述证明交易在所述集中式或分布式分类帐中的所述证明地址处的存在。
41.一种撤销关于用户的信息的证明交易的方法,所述方法在具有通过机器可读指令配置的一个或更多个物理处理器的计算机系统上实现,所述机器可读指令在被执行时执行所述方法,所述方法包括:
生成已签名的撤销交易以撤销先前证明的信息,其中所述信息先前已经在证明地址处存储在集中式或分布式分类账内的证明交易中进行了证明,所述集中式或分布式分类账提供可检验的交易记录;以及
将所述已签名的撤销交易发送到所述集中式或分布式分类帐,并且通过支出与所述证明交易关联的加密货币来撤销所述证明交易。
42.根据权利要求41所述的方法,还包括
接收针对所述信息生成的公钥;
将所述信息的散列与所述公钥组合以生成公共证明密钥;以及
基于所述公共证明密钥来生成所述证明地址。
43.根据权利要求41所述的方法,其中,生成所述已签名的交易包括使用所述用户的公钥。
44.根据权利要求41所述的方法,还包括提供与证明器相关联的处理器以用于生成与所述证明交易相关联的所述证明地址。
45.根据权利要求44所述的方法,其中,生成所述已签名的交易包括使用所述用户的公钥和所述证明器的公钥中的至少一个。
46.根据权利要求44所述的方法,其中,生成所述已签名的交易包括使用所述用户的公钥、所述证明器的公钥和第三方的公钥中的至少一个。
47.根据权利要求44所述的方法,其中,要撤销的先前证明的信息包括所述先前证明的信息中的不再有效的至少一部分。
48.根据权利要求45所述的方法,其中,支出与所述证明交易相关联的加密货币包括将加密货币转移到与所述证明器相关联的钱包。
49.根据权利要求41所述的方法,还包括提供与用户具有关系的第三方,所述方法还包括因为所述用户与所述第三方之间的关系已变为无效而从所述第三方接收对撤销的请求。
50.根据权利要求41所述的方法,其中,与所述用户相关联的处理器生成所述已签名的交易,所述已签名的交易支出与现有证明相关联的加密货币或尘埃。
51.根据权利要求44所述的方法,其中,与所述证明器相关联的处理器生成所述已签名的交易,所述已签名的交易支出与交易相关联的加密货币或尘埃。
52.根据权利要求44所述的方法,其中,与所述用户相关联的处理器执行识别要撤销的先前证明的信息的步骤,并且
其中,与所述证明器相关联的处理器执行以下步骤:生成已签名的撤销交易以撤销所述先前证明的信息;以及将所述已签名的撤销交易广播到所述集中式或分布式分类帐并撤销所述证明交易。
53.一种撤销关于用户的信息的证明交易的方法,所述方法在具有通过机器可读指令配置的一个或更多个物理处理器的计算机系统上实现,所述机器可读指令在被执行时执行所述方法,所述方法包括:
生成已签名的撤销交易以撤销先前证明的信息,其中所述信息先前已经在证明地址处存储在集中式或分布式分类账内的证明交易中进行了证明,所述集中式或分布式分类账提供可检验的交易记录;
将所述已签名的撤销交易发送到所述集中式或分布式分类帐,并且通过支出与所述证明交易关联的加密货币来撤销所述证明交易;以及
如果存在要被证明的新信息,则生成与第二证明交易相关联的第二证明地址。
54.根据权利要求53所述的方法,还包括
在生成第二证明地址之前,确定是否存在用于证明的新信息。
55.根据权利要求53所述的方法,其中,生成第二证明地址包括:
接收针对所述新信息生成的公钥;
将所述新信息的散列与所述公钥组合以生成公共证明密钥;以及
基于所述公共证明密钥来生成所述第二证明地址。
56.根据权利要求53所述的方法,其中,所述新信息包括要撤销的先前证明的信息。
57.根据权利要求53所述的方法,其中,与要撤销的所述先前证明的信息相比,所述新信息与不同的用户相关联。
58.根据权利要求53所述的方法,还包括提供与证明器相关联的处理器以用于基于所述信息生成与所述第二证明交易相关联的第二证明地址。
59.根据权利要求53所述的方法,还包括使用所述用户的公钥、所述证明器的公钥和第三方的公钥中的至少一个来生成已签名的证明。
60.一种撤销关于用户信息的证明交易的系统,所述系统包括
计算机系统,其具有一个或更多个物理处理器,该一个或更多个物理处理器通过机器可读指令配置以进行以下操作:
生成已签名的撤销交易以撤销先前证明的信息,其中所述信息先前已经在证明地址处存储在集中式或分布式分类账内的证明交易中进行了证明,所述集中式或分布式分类账提供可检验的交易记录;以及
将所述已签名的撤销交易发送到所述集中式或分布式分类帐,并且通过支出与所述证明交易相关联的加密货币来撤销所述证明交易。
61.一种执行来自商业网站的商业交易的方法,所述方法在具有通过机器可读指令配置的一个或更多个物理处理器的计算机系统上实现,所述机器可读指令在被执行时执行所述方法,所述方法包括:
在与所述商业网站相关联的处理器处从用户接收开始处理商业交易的指示;
发送对所述用户的信息的请求,其中所述信息先前已经在证明地址处存储在集中式或分布式分类账内的证明交易中进行了证明,所述集中式或分布式分类账提供可检验的交易记录;
在与所述商业网站相关联的处理器处接收所述用户的信息;
发送加密质询现时值;
在与所述商业网站相关联的处理器处接收由所述用户的私钥签名的所述加密质询现时值;
利用由所述用户的私钥签名的所述加密质询现时值来检验用户身份;
通过使用所述用户的信息来导出公共证明密钥;
使用所述公共证明密钥来导出证明地址;
检验所述证明交易在所述集中式或分布式分类帐中的所述证明地址处的存在;以及在检验到所述证明交易的存在时,完成所述商业交易。
62.根据权利要求61所述的方法,还包括有助于所述用户通过电子显示器开始处理所述交易的指示。
63.根据权利要求61所述的方法,其中,从用户接收开始处理交易的指示包括从所述用户接收登录信息并验证所述登录信息。
64.根据权利要求61所述的方法,其中,发送对所述用户的信息的请求包括向所述用户提供对所述用户的信息的请求。
65.根据权利要求64所述的方法,其中,接收所述用户的信息包括从所述用户接收所述用户的信息。
66.根据权利要求61所述的方法,其中,发送对所述用户的信息的请求包括向证明器提供对所述用户的信息的请求。
67.根据权利要求66所述的方法,其中,接收所述用户的信息包括从所述证明器接收所述用户的信息。
68.根据权利要求61所述的方法,其中,发送加密质询现时值包括将加密质询现时值发送到所述用户的数字钱包。
69.根据权利要求68所述的方法,其中,接收由所述用户的私钥签名的所述加密质询现时值包括从所述用户的数字钱包接收由所述用户的私钥签名的所述加密质询现时值。
70.根据权利要求61所述的方法,其中,所述证明交易包括
从所述用户接收所述信息和针对所述信息生成的公钥;
将散列函数应用于所述信息以创建散列;
将所述信息的散列与针对所述信息生成的所述公钥组合以生成公共证明密钥;
基于所述公共证明密钥来生成证明地址;以及
将已签名的交易传送到所述集中式或分布式分类帐以用于存储在所述证明地址处。
71.一种用于执行来自商业网站的商业交易的系统,所述系统包括
计算机系统,其具有一个或更多个物理处理器,该一个或更多个物理处理器通过机器可读指令配置以进行以下操作:
从用户接收开始处理商业交易的指示;
发送对所述用户的信息的请求,其中所述信息先前已经在证明地址处存储在集中式或分布式分类账内的证明交易中进行了证明,所述集中式或分布式分类账提供可检验的交易记录;
在与所述商业网站相关联的处理器处接收所述用户的信息;
发送加密质询现时值;
在与所述商业网站相关联的处理器处接收由所述用户的私钥签名的所述加密质询现时值;
利用由所述用户的私钥签名的所述加密质询现时值来检验用户身份;
通过使用所述用户的信息来导出公共证明密钥;
使用所述公共证明密钥来导出证明地址;
检验所述证明交易在所述集中式或分布式分类帐中的所述证明地址处的存在;以及在检验到所述证明交易的存在时,完成所述商业交易。
72.根据权利要求71所述的系统,还包括
电子显示器,所述电子显示器有助于所述用户开始处理所述交易的指示。
73.根据权利要求71所述的系统,其中,所述一个或更多个物理处理器进一步通过机器可读指令来配置成:
从所述用户接收登录信息并验证所述登录信息。
74.根据权利要求71所述的系统,其中,所述一个或更多个物理处理器进一步通过机器可读指令来配置成:
发送对所述用户的信息的请求,包括向所述用户提供对所述用户的信息的请求,其中所述信息先前已经在证明交易中进行了证明。
75.根据权利要求74所述的系统,其中,接收所述用户的信息包括从所述用户接收所述用户的信息。
76.根据权利要求71所述的系统,其中,发送对所述用户的信息的请求包括向证明器提供对所述用户的信息的请求,其中所述信息先前已经在证明交易中进行了证明。
77.根据权利要求76所述的系统,其中,接收所述用户的信息包括从所述证明器接收所述用户的信息。
78.根据权利要求71所述的系统,其中,所述计算机系统通过机器可读指令来配置成将所述加密质询现时值发送到所述用户的数字钱包。
79.根据权利要求78所述的系统,其中,所述计算机系统通过机器可读指令来配置成从所述用户的数字钱包接收由所述用户的私钥签名的所述加密质询现时值。
80.根据权利要求71所述的系统,进一步被配置成执行所述证明交易,其中所述一个或更多个物理处理器进一步通过机器可读指令配置成:
从所述用户接收所述信息和针对所述信息生成的公钥;
将散列函数应用于所述信息以创建散列;
将所述信息的散列与针对所述信息生成的所述公钥组合以生成公共证明密钥;
基于所述公共证明密钥来生成证明地址;以及
将已签名的交易传送到所述集中式或分布式分类帐以用于存储在所述证明地址处。
81.一种提供数字实体的身份的检验的方法,所述方法在具有通过机器可读指令配置的一个或更多个物理处理器的计算机系统上实现,所述机器可读指令在被执行时执行所述方法,所述方法包括:
向与所述数字实体相关联的处理器发送对所述数字实体的信息和公钥的请求,其中所述信息先前已经在证明地址处存储在集中式或分布式分类账内的证明交易中进行了证明,所述集中式或分布式分类账提供交易记录;
在与用户相关联的处理器处接收所述信息和所述数字实体的公钥;
使用所述信息和所述数字实体的公钥来导出证明地址;
检验所述证明交易在所述集中式或分布式分类帐中的所述证明地址处的存在并检验所述证明交易是否尚未被撤销;
将加密质询现时值发送到与所述数字实体相关联的处理器;
在与所述用户相关联的处理器处接收由所述数字实体的私钥签名的所述加密质询现时值;以及
利用由所述数字实体的密钥签名的所述加密质询现时值来检验所述数字实体的身份。
82.根据权利要求81所述的方法,其中,所述数字实体的公钥包括数字证书。
83.根据权利要求81所述的方法,其中,使用所述信息和所述数字实体的公钥来导出证明地址包括使用所述信息来导出公共证明密钥。
84.根据权利要求83所述的方法,其中,使用所述信息和所述数字实体的公钥来导出证明地址还包括使用所述公共证明密钥和所述数字实体的公钥来导出所述证明地址。
85.根据权利要求81所述的方法,其中,检验所述证明交易是否尚未被撤销包括进行检查以查看所述证明地址是否存在于UTXO高速缓存中。
86.根据权利要求81所述的方法,其中,所述用户是个人、网络浏览器或操作系统
87.根据权利要求81所述的方法,其中,所述数字实体是与商品或服务的提供商或金融机构相关联的网站。
88.一种用于提供数字实体的身份的检验的系统,所述系统包括
计算机系统,其具有一个或更多个物理处理器,该一个或更多个物理处理器通过机器可读指令配置以进行以下操作:
向与数字实体相关联的处理器发送对所述数字实体的信息和公钥的请求,其中所述信息先前已经在证明地址处存储在集中式或分布式分类账内的证明交易中进行了证明,所述集中式或分布式分类账提供交易记录;
在与用户相关联的处理器处接收所述信息和所述数字实体的公钥;
使用所述信息和所述数字实体的公钥来导出证明地址;
检验所述证明交易在所述集中式或分布式分类帐中的所述证明地址处的存在以及所述证明交易是否尚未被撤销;
将加密质询现时值发送到与所述数字实体相关联的处理器;
在与所述用户相关联的处理器处接收由所述数字实体的私钥签名的所述加密质询现时值;以及
利用由所述数字实体的密钥签名的所述加密质询现时值来检验所述数字实体的身份。
89.一种执行与商业实体的商业交易的方法,所述方法在具有通过机器可读指令配置的一个或更多个物理处理器的计算机系统上实现,所述机器可读指令在被执行时执行所述方法,所述方法包括:
在与所述商业实体相关联的处理器处接收表示用户的信息的代码,其中所述代码由用于与所述用户相关联的处理器的输出装置提供,并且其中所述信息先前已经在证明地址处存储在集中式或分布式分类账内的证明交易中进行了证明,所述集中式或分布式分类账提供交易记录;
将所述代码转换为所述用户的信息;
通过使用所述用户的信息来导出公共证明密钥;
使用所述公共证明密钥来导出证明地址;
检验所述证明交易在所述集中式或分布式分类帐中的所述证明地址处的存在;以及在检验到所述证明交易的存在时,完成所述商业交易。
90.根据权利要求89所述的方法,还包括在完成所述商业交易之前:
将加密质询现时值发送到与所述用户相关联的处理器;
在与所述商业实体相关联的处理器处接收由所述用户的私钥签名的所述加密质询现时值;以及
利用由所述用户的私钥签名的所述加密质询现时值来检验用户身份。
91.根据权利要求89所述的方法,其中,在与所述商业实体相关联的处理器处接收表示所述用户信息的代码包括接收在用于与所述用户相关联的处理器的显示单元上显示的视觉代码。
92.根据权利要求91所述的方法,其中,在与所述商业实体相关联的处理器处接收表示所述用户的信息的视觉代码包括光学地识别在用于与所述用户相关联的处理器的显示单元上显示的所述视觉代码。
93.根据权利要求91所述的方法,其中,在与所述商业实体相关联的处理器处接收表示所述用户的信息的视觉代码包括将与所述商业实体的处理器相关联的光学识别装置放置在用于与所述用户相关联的处理器的显示单元的视觉邻近处。
94.根据权利要求89所述的方法,其中,在与所述商业实体相关联的处理器处接收表示所述用户的信息的代码包括接收由用于与所述用户相关联的处理器的短距离发射器发射的信号
95.根据权利要求94所述的方法,其中,由所述短距离发射器发射的信号包括本地Wi-Fi、蓝牙、蓝牙LE、近场通信(NFC)、红外、RFID、环境音频和声波音频通信中的至少一个。
96.一种用于执行来自商业实体的商业交易的系统,所述系统包括
计算机系统,其具有一个或更多个物理处理器,该一个或更多个物理处理器通过机器可读指令配置以进行以下操作:
在与所述商业实体相关联的处理器处接收表示用户的信息的视觉代码,其中所述代码由用于与所述用户相关联的处理器的输出装置提供,并且其中所述信息先前已经在证明地址处存储在集中式或分布式分类账内的证明交易中进行了证明,所述集中式或分布式分类账提供交易记录;
将所述代码转换为所述用户的信息;
通过使用所述用户的信息来导出公共证明密钥;
使用所述公共证明密钥来导出证明地址;
检验所述证明交易在所述集中式或分布式分类帐中的所述证明地址处的存在;以及在检验到所述证明交易的存在时,完成所述商业交易。
97.根据权利要求96所述的系统,其中,所述计算机系统进一步通过机器可读指令配置成:
将加密质询现时值发送到与所述用户相关联的处理器;
在与所述商业实体相关联的处理器处接收由所述用户的私钥签名的所述加密质询现时值;以及
利用由所述用户的私钥签名的所述加密质询现时值来检验用户身份。
98.根据权利要求96所述的系统,其中,所述代码是在用于与用户相关联的处理器的显示单元上显示的视觉代码。
99.根据权利要求98所述的系统,还包括:
与所述商业实体的处理器相关联的光学识别装置,其被配置成光学地识别在用于与所述用户相关联的处理器的显示单元上显示的视觉代码。
100.根据权利要求99所述的系统,其中,所述视觉代码包括条形码或运动QR,并且光学识别装置包括相机或扫描仪
101.根据权利要求96所述的系统,其中,所述代码是由用于与用户相关联的处理器的短距离发射器发射的信号。
102.根据权利要求101所述的系统,其中,由所述短距离发射器发射的信号包括本地Wi-Fi、蓝牙、蓝牙LE、近场通信(NFC)、红外、RFID、环境音频和超声波音频通信中的至少一个。
103.根据权利要求96所述的系统,其中,所述计算机系统进一步通过机器可读指令配置成:
维护证明交易的数据库,每个证明交易与所述用户的信息的一个或更多个项相关,所述证明交易包括基于公共证明密钥的证明地址,其中通过将所述信息的散列与针对所述信息生成的用户的公钥组合来导出所述公共证明。
104.根据权利要求103所述的系统,其中,所述计算机系统进一步通过机器可读指令配置成:
在所述显示单元上提供用于由所述用户对信息的一个或更多个项的选择的呈现;
接收对经证明信息的用户选择;
显示表示所选择的经证明信息的视觉代码。
105.根据权利要求96所述的系统,其中,与所述用户相关联的处理器包括移动装置。

说明书全文

使用集中式或分布式分类账来提供信息证明的方法和设备

[0001] 相关申请的交叉引用
[0002] 本申请要求2016年4月30日提交的题目为“Decentralized Personal Information Authentication System”的美国临时专利申请号62/330,097的优先权,所述专利申请据此通过引用以其整体并入本文。

技术领域

[0003] 本公开大体涉及用于通过使用集中式或分布式分类帐来提供信息证明的技术。
[0004] 背景
[0005] 验证信息和身份以及维护信息和身份安全的现有方法具有许多缺点。例如,私人用户信息(诸如社会保险号(SSN)或信用卡号)的泄漏使得犯罪分子可以模仿另一个人并代表其执行未经授权的交易。导致该类型的信息泄露的安全漏洞已经成为大型零售商的常见问题。
[0006] 身份检验通常过度依赖于不可靠的通信网络。当网络出现故障或连接不足时,交易系统可能被完全禁止,从而导致零售环境中的资金损失并导致其他交易的极大延迟。信息检验通常还依赖于可以被伪造的物理文档。身份检验通常仅依赖于对个人信息的了解,尤其是在人未到场以证明身份的情况下,诸如电话呼叫或在线。
[0007] 使用个人可识别信息(PII)的尝试受到供应商的不一致保护。例如,使用个人的SSN来申请新信用的尝试通常仅在已经执行信用查询后才被报告给该人。因此,在SSN的欺诈性使用的情况下,通常在已经发生一些或全部的损害之后才通知受害者(如果他们被通知的话)。
[0008] 因此,仍然需要用于保护用户身份的使用和用于安全地提供个人信息的改进的装置、系统和方法。
[0009] 概述
[0010] 在所公开的主题的一个方面中,提供了一种由证明器提供信息证明的方法和系统,其包括:接收信息和针对信息生成的公钥;将散列函数应用于信息以创建散列;将信息的散列与针对信息生成的公钥组合以生成公共证明密钥;基于公共证明密钥来生成证明地址;以及将已签名的交易传送到集中式或分布式分类帐以用于存储在证明地址处。
[0011] 在一些实施例中,使用椭圆曲线加法来将信息的散列与针对信息生成的公钥组合以生成公共证明密钥。
[0012] 在一些实施例中,通过以下方式来生成公共证明密钥:使用作为偏移量的信息的散列并使用针对信息生成的公钥来生成公共证明密钥。在一些实施例中,以符合用于等级确定性钱包的比特币BIP32标准的方式执行通过使用作为偏移量的信息的散列来生成公共证明密钥。
[0013] 在一些实施例中,生成证明地址包括利用实现付款给脚本散列(Pay to Script Hash,P2SH)函数的多重签名脚本来组合潜在签名者的两个或更多个公钥。潜在签名者的公钥可以包括公共证明密钥、钱包提供商的公钥、证明器的公钥和用户的恢复公钥中的一个或更多个。
[0014] 在一些实施例中,生成用于单个签名交易的证明地址包括将第二散列函数应用于公共证明密钥。第二散列函数可以包括P2PKH算法
[0015] 在一些实施例中,生成用于多重签名交易的证明地址包括使用多个签署者的公钥来生成赎回脚本、序列化赎回脚本以创建序列化输出、将第二散列函数应用于序列化输出以创建第二散列以及将第三散列函数应用于第二散列。第二散列函数可以包括SHA256算法并且第三散列函数可以包括RIPEMD160算法。
[0016] 在一些实施例中,集中式或分布式分类帐是比特币链。
[0017] 提供了一种用于提供与用于存储在集中式或分布式分类账中的交易相关联的信息的证明的数据块,该数据块包括:公共证明密钥,该公共证明密钥通过将散列函数应用于信息以创建散列并且将信息的散列与针对信息生成的公钥组合而生成;以及证明地址,其用于基于公共证明密钥在集中式或分布式分类帐上存储交易。
[0018] 在一些实施例中,使用椭圆曲线加法来将信息的散列与针对信息生成的公钥组合以生成公共证明密钥。
[0019] 在一些实施例中,使用作为偏移量的信息的散列与针对信息生成的公钥来生成公共证明密钥。
[0020] 在一些实施例中,通过利用实现付款给脚本散列(P2SH)函数的多重签名脚本来组合潜在签名者的两个或更多个公钥来生成证明地址。潜在签名者的公钥可以包括公共证明密钥、钱包提供商的公钥、证明器的公钥和用户的恢复公钥中的一个或更多个。
[0021] 在一些实施例中,通过将第二散列函数应用于公共证明密钥来创建用于单个签名交易的证明地址。第二散列函数可以包括P2PKH算法。
[0022] 在一些实施例中,通过使用多个签署者的公钥来生成赎回脚本、序列化赎回脚本以创建序列化输出、将第二散列函数应用于序列化输出以创建第二散列以及将第三散列函数应用于第二散列来创建用于多重签名交易的证明地址。第二散列函数可以包括SHA256算法并且第三散列函数可以包括RIPEMD160算法。
[0023] 在所公开的主题的另一个方面中,提供了一种提供与证明交易相关的用户信息的检验的方法。该方法在具有通过机器可读指令配置的一个或更多个物理处理器的计算机系统上实现,该机器可读指令在被执行时执行该方法,并且该方法包括:发送对用户的信息的请求,其中先前已经在证明地址处存储在集中式或分布式分类账内的证明交易中证明了该信息,该集中式或分布式分类账提供交易的记录;在与检验器相关联的处理器处接收用户的信息;发送加密质询现时值(nonce);在与检验器相关联的处理器处接收由用户的私钥签名的加密质询现时值;通过由用户的私钥签名的加密质询现时值来检验用户身份;通过使用用户的信息来导出公共证明密钥;使用公共证明密钥来导出证明地址;以及检验证明交易在集中式或分布式分类帐中的证明地址处的存在。
[0024] 在一些实施例中,发送对信息的请求还包括发送对用户的公钥的请求;并且接收信息还包括接收用户的公钥。
[0025] 在一些实施例中,检验用户身份还包括检查用户的公钥和由用户的私钥签名的加密质询现时值。
[0026] 在一些实施例中,导出公共证明密钥还包括使用信息和用户的公钥来导出公共证明密钥。
[0027] 在一些实施例中,该方法还包括提供与证明器相关联的处理器以用于生成证明交易。
[0028] 在一些实施例中,该方法还包括检验用于证明交易的证明地址可以使用付款给脚本散列(P2SH)与公共证明密钥以及证明器的公钥来导出。
[0029] 在一些实施例中,该方法还包括检验用于证明交易的证明地址可以使用付费给脚本散列(P2SH)与公共证明密钥、证明器的公钥以及第三方联合签名者公钥来导出。
[0030] 在一些实施例中,发送对信息的请求还包括发送对证明器的公钥和第三方联合签名者的公钥的请求。
[0031] 在一些实施例中,使用信息来导出公共证明密钥还包括使用用户的公钥、证明器的公钥和第三方联合签名者的公钥中的至少一个来导出公共证明密钥。
[0032] 在一些实施例中,导出公共证明密钥包括使用证明器的应用或网站来导出公共证明密钥。
[0033] 在一些实施例中,导出公共证明密钥包括使用第三方应用或网站来导出公共证明密钥。
[0034] 在一些实施例中,与检验器相关联的处理器将由用户接收的信息发送到与证明器相关联的处理器,并且从与证明器相关联的处理器接收公共证明密钥。
[0035] 在一些实施例中,与检验器相关联的计算机系统生成公共证明密钥。在一些实施例中,与检验器相关联的计算机系统生成证明地址。
[0036] 在一些实施例中,与检验器相关联的计算机系统将用户信息和用户的公钥发送给第三方应用或网站,并且与检验器相关联的计算机系统从第三方应用或网站接收公共证明密钥和证明地址。
[0037] 在一些实施例中,与检验器相关联的计算机系统使用第三方数字钱包提供商应用或网站来检验证明交易在证明地址处的存在。
[0038] 在一些实施例中,与检验器相关联的计算机系统将从用户接收的信息发送到证明器以检验证明地址处的证明交易。
[0039] 在一些实施例中,发送对用户的信息的请求包括向用户提供对用户的信息的请求,并且接收用户的信息包括从用户接收用户的信息。
[0040] 在一些实施例中,发送对用户的信息的请求包括向证明器提供对用户的信息的请求,并且接收用户的信息包括从证明器接收用户的信息。
[0041] 提供了一种用于提供与证明交易相关的用户的信息的检验的系统。该系统包括:计算机系统,其具有一个或更多个物理处理器,该一个或更多个物理处理器通过机器可读指令配置以进行以下操作:发送对用户的信息的请求,其中信息先前已经在证明地址处存储在集中式或分布式分类账内的证明交易中进行了证明,集中式或分布式分类账提供交易的记录;在与检验器相关联的处理器处接收用户的信息;发送加密质询现时值;在与检验器相关联的处理器处接收由用户的私钥签名的加密质询现时值;通过由用户的私钥签名的加密质询现时值来检验用户身份;通过使用用户的信息来导出公共证明密钥;使用公共证明密钥来导出证明地址;以及检验证明交易在集中式或分布式分类帐中的证明地址处的存在。
[0042] 在所公开的主题的另一个方面中,提供了一种撤销关于用户的信息的证明交易的方法。该方法在具有通过机器可读指令配置的一个或更多个物理处理器的计算机系统上实现,该机器可读指令在被执行时执行该方法,该方法包括:生成已签名的撤销交易以撤销先前证明的信息;以及将已签名的撤销交易发送到集中式或分布式分类账,其中该信息先前已经在证明地址处存储在集中式或分布式分类账内的证明交易中进行了证明,该集中式或分布式分类账提供可检验的交易记录,以及通过支出与证明交易相关联的加密货币来撤销证明交易。
[0043] 在一些实施例中,该方法还包括接收针对信息生成的公钥;将信息的散列与公钥组合以生成公共证明密钥;以及基于公共证明密钥来生成证明地址。
[0044] 在一些实施例中,生成已签名的交易包括使用用户的公钥。
[0045] 在一些实施例中,该方法还包括提供与证明器相关联的处理器以用于生成与证明交易相关联的证明地址。
[0046] 在一些实施例中,生成已签名的交易包括使用用户的公钥和证明器的公钥中的至少一个。在一些实施例中,生成已签名的交易包括使用用户的公钥、证明器的公钥和第三方的公钥中的至少一个。
[0047] 在一些实施例中,要撤销的先前证明的信息包括先前证明的信息中的不再有效的至少一部分。
[0048] 在一些实施例中,支出与证明交易相关联的加密货币包括将加密货币转移到与证明器相关联的钱包。
[0049] 在一些实施例中,该方法还包括提供与用户具有关系的第三方,以及因为用户与第三方之间的关系已变为无效而从第三方接收对撤销的请求。
[0050] 在一些实施例中,与用户相关联的处理器生成已签名的交易,该已签名的交易支出与现有证明相关联的加密货币或尘埃(dust)。
[0051] 在一些实施例中,与证明器相关联的处理器生成已签名的交易,该已签名的交易支出与交易相关联的加密货币或尘埃。
[0052] 在一些实施例中,与用户相关联的处理器执行识别要撤销的先前证明的信息的步骤,并且与证明器相关联的处理器执行生成已签名的撤销交易以撤销先前证明的信息、以及将已签名的撤销交易广播到集中式或分布式分类帐并撤销证明交易的步骤。
[0053] 一种方法在具有通过机器可读指令配置的一个或更多个物理处理器的计算机系统上实现,该机器可读指令在被执行时执行该方法,该方法包括:生成已签名的撤销交易以撤销先前证明的信息;以及将已签名的撤销交易发送到集中式或分布式分类账,其中该信息先前已经在证明地址处存储在集中式或分布式分类账内的证明交易中进行了证明,该集中式或分布式分类账提供可检验的交易记录,以及通过支出与证明交易相关联的加密货币来撤销证明交易;以及如果有新信息要进行证明,则生成与第二证明交易相关联的第二证明地址。
[0054] 在一些实施例中,该方法包括在生成第二证明地址之前,确定是否存在用于证明的新信息。
[0055] 在一些实施例中,生成第二证明地址包括接收针对新信息生成的公钥;将新信息的散列与公钥组合以生成公共证明密钥;以及基于公共证明密钥来生成第二证明地址。
[0056] 在一些实施例中,新信息包括要撤销的先前证明的信息。在一些实施例中,与要撤销的先前证明的信息相比,新信息与不同的用户相关联。
[0057] 在一些实施例中,该方法还包括提供与证明器相关联的处理器以用于基于该信息生成与第二证明交易相关联的第二证明地址。
[0058] 在一些实施例中,该方法还包括使用用户的公钥、证明器的公钥和第三方的公钥中的至少一个来生成已签名的证明。
[0059] 提供了一种撤销关于用户的信息的证明交易的系统。该系统包括计算机系统,其具有一个或更多个物理处理器,该一个或更多个物理处理器通过机器可读指令配置以进行以下操作:生成已签名的撤销交易以撤销先前证明的信息,其中该信息先前已经在证明地址处存储在集中式或分布式分类账内的证明交易中进行了证明,该集中式或分布式分类账提供可检验的交易记录;以及将已签名的撤销交易发送到集中式或分布式分类帐,并且通过支出与证明交易相关联的加密货币来撤销证明交易。
[0060] 在所公开的主题的又一个方面中,提供了一种执行来自商业网站的商业交易的方法。该方法在具有通过机器可读指令配置的一个或更多个物理处理器的计算机系统上实现,该机器可读指令在被执行时执行该方法,该方法包括:在与商业网站相关联的处理器处从用户接收开始处理商业交易的指示;发送对用户的信息的请求,其中该信息先前已经在证明地址处存储在集中式或分布式分类账内的证明交易中进行了证明,该集中式或分布式分类账提供可检验的交易记录;在与商业网站相关联的处理器处接收用户的信息;发送加密质询现时值;在与商业网站相关联的处理器处接收由用户的私钥签名的加密质询现时值;通过由用户的私钥签名的加密质询现时值来检验用户身份;通过使用用户的信息来导出公共证明密钥;使用公共证明密钥来导出证明地址;检验证明交易在集中式或分布式分类帐中的证明地址处的存在;以及在检验到证明交易的存在时,完成商业交易。
[0061] 在一些实施例中,商业交易是购买交易。在一些实施例中,商业网站是商家网站。在一些实施例中,该方法还包括有助于用户通过电子显示器开始处理交易的指示。
[0062] 在一些实施例中,从用户接收开始处理交易的指示包括从用户接收登录信息并验证登录信息。
[0063] 在一些实施例中,发送对用户的信息的请求包括向用户提供对用户的信息的请求。在一些实施例中,接收用户的信息包括从用户接收用户的信息。
[0064] 在一些实施例中,发送对用户的信息的请求包括向证明器提供对用户的信息的请求。在一些实施例中,接收用户的信息包括从证明器接收用户的信息。
[0065] 在一些实施例中,发送加密质询现时值包括将加密质询现时值发送到用户的数字钱包。在一些实施例中,接收由用户的私钥签名的加密质询现时值包括从用户的数字钱包接收由用户的私钥签名的加密质询现时值。
[0066] 在一些实施例中,证明交易包括从用户接收信息和针对信息生成的公钥;将散列函数应用于信息以创建散列;将信息的散列与针对信息生成的公钥组合以生成公共证明密钥;基于公共证明密钥来生成证明地址;以及将已签名的交易传送到集中式或分布式分类帐以用于存储在证明地址处。
[0067] 一种用于执行来自商业网站的商业交易的系统,该系统包括计算机系统,其具有一个或更多个物理处理器,该一个或更多个物理处理器通过机器可读指令配置以进行以下操作:从用户接收开始处理商业交易的指示;发送对用户的信息的请求,其中该信息先前已经在证明地址处存储在集中式或分布式分类账内的证明交易中进行了证明,该集中式或分布式分类账提供可检验的交易记录;在与商业网站相关联的处理器处接收用户的信息;发送加密质询现时值;在与商业网站相关联的处理器处接收由用户的私钥签名的加密质询现时值;通过由用户的私钥签名的加密质询现时值来检验用户身份;通过使用用户的信息来导出公共证明密钥;使用公共证明密钥来导出证明地址;检验证明交易在集中式或分布式分类帐中的证明地址处的存在;以及在检验到证明交易的存在时,完成商业交易。
[0068] 在一些实施例中,该系统还包括电子显示器,该电子显示器有助于用户开始处理交易的指示。
[0069] 在一些实施例中,一个或更多个物理处理器进一步通过机器可读指令配置成:从用户接收登录信息并验证登录信息。
[0070] 在一些实施例中,一个或更多个物理处理器进一步通过机器可读指令配置成:发送对用户的信息的请求,其包括向用户提供对用户的信息的请求,其中该信息先前已经在证明交易中进行了证明。在一些实施例中,接收用户的信息包括从用户接收用户的信息。
[0071] 在一些实施例中,发送对用户的信息的请求包括向证明器提供对用户的信息的请求,其中该信息先前已经在证明交易中进行了证明。在一些实施例中,接收用户的信息包括从证明器接收用户的信息。
[0072] 在一些实施例中,计算机系统通过机器可读指令来配置成将加密质询现时值发送到用户的数字钱包。在一些实施例中,计算机系统通过机器可读指令来配置成从用户的数字钱包接收由用户的私钥签名的加密质询现时值。
[0073] 在一些实施例中,该系统被配置成执行证明交易,其中一个或更多个物理处理器进一步通过机器可读指令配置成:从用户接收信息和针对信息生成的公钥;将散列函数应用于信息以创建散列;将信息的散列与针对信息生成的公钥组合以生成公共证明密钥;基于公共证明密钥来生成证明地址;以及将已签名的交易传送到集中式或分布式分类帐以用于存储在证明地址处。
[0074] 在所公开的主题的又一个方面中,一种方法执行与商业实体(诸如商家)的商业交易,该方法在具有通过机器可读指令配置的一个或更多个物理处理器的计算机系统上实现,该机器可读指令在被执行时执行该方法,该方法包括:在与商家相关联的处理器处接收表示用户的信息的代码,其中该代码由用于与用户相关联的处理器的输出装置提供,并且其中该信息先前已经在证明地址处存储在集中式或分布式分类账内的证明交易中进行了证明,该集中式或分布式分类账提供交易记录;将代码转换为用户的信息;通过使用用户的信息来导出公共证明密钥;使用公共证明密钥来导出证明地址;检验证明交易在集中式或分布式分类帐中的证明地址处的存在;以及在检验到证明交易的存在时,完成商业交易。
[0075] 在一些实施例中,在完成商业交易之前,该方法包括将加密质询现时值发送到与用户相关联的处理器;在与商家相关联的处理器处接收由用户的私钥签名的加密质询现时值;以及通过由用户的私钥和用户的公钥签名的加密质询现时值来检验用户身份。
[0076] 在一些实施例中,在与商家相关联的处理器处接收表示用户的信息的代码包括接收在用于与用户相关联的处理器的显示单元上显示的视觉代码。
[0077] 在一些实施例中,在与商家相关联的处理器处接收表示用户的信息的视觉代码包括光学地识别在用于与用户相关联的处理器的显示单元上显示的视觉代码。在一些实施例中,在与商家相关联的处理器处接收表示用户的信息的视觉代码包括将与商家的处理器相关联的光学识别装置放置在用于与用户相关联的处理器的显示单元的视觉邻近处。
[0078] 在一些实施例中,在与商家相关联的处理器处接收表示用户的信息的代码包括接收由用于与用户相关联的处理器的短距离发射器发射的信号。在一些实施例中,由短距离发射器发射的信号包括本地Wi-Fi、蓝牙、蓝牙LE、近场通信(NFC)、红外、RFID、环境音频和声波音频通信中的至少一个。
[0079] 提供了一种用于执行来自商业实体(诸如商家)的商业交易的系统。该系统包括计算机系统,其具有一个或更多个物理处理器,该一个或更多个物理处理器通过机器可读指令配置以进行以下操作:在与商家相关联的处理器处接收表示用户的信息的视觉代码,其中代码由用于与用户相关联的处理器的输出装置提供,并且其中该信息先前已经在证明地址处存储在集中式或分布式分类账内的证明交易中进行了证明,该集中式或分布式分类账提供交易记录;将代码转换为用户的信息;通过使用用户的信息来导出公共证明密钥;使用公共证明密钥来导出证明地址;检验证明交易在集中式或分布式分类帐中的证明地址处的存在;以及在检验到证明交易的存在时,完成商业交易。
[0080] 在一些实施例中,计算机系统进一步通过机器可读指令配置成:将加密质询现时值发送到与用户相关联的处理器;在与商家相关联的处理器处接收由用户的私钥签名的加密质询现时值;以及通过由用户的私钥和用户的公钥签名的加密质询现时值来检验用户身份。
[0081] 在一些实施例中,代码是在用于与用户相关联的处理器的显示单元上显示的视觉代码。在一些实施例中,与商家的处理器相关联的光学识别装置被配置成光学地识别在用于与用户相关联的处理器的显示单元上显示的视觉代码。在一些实施例中,视觉代码包括条形码或运动QR,并且光学识别装置包括相机或扫描仪
[0082] 在一些实施例中,代码是由用于与用户相关联的处理器的短距离发射器发射的信号。在一些实施例中,由短距离发射器发射的信号包括本地Wi-Fi、蓝牙、蓝牙LE、近场通信(NFC)、红外、RFID、环境音频和超声波音频通信中的至少一个。
[0083] 在一些实施例中,计算机系统进一步通过机器可读指令配置成:维护证明交易的数据库,每个证明交易涉及用户的信息的一个或更多个项,证明交易包括基于公共证明密钥的证明地址,并且其中通过将信息的散列与针对信息生成的用户的公钥组合来导出公共证明。
[0084] 在一些实施例中,计算机系统进一步通过机器可读指令配置成:在显示单元上提供用于由用户选择信息的一个或更多个项的呈现;接收对经证明信息的用户选择;以及显示表示所选择的经证明信息的视觉代码。
[0085] 在一些实施例中,与用户相关联的处理器包括移动装置。
[0086] 提供了一种提供数字实体的身份的检验的方法,该方法在具有通过机器可读指令配置的一个或更多个物理处理器的计算机系统上实现,该机器可读指令在被执行时执行该方法,该方法包括:在与用户相关联的处理器处接收数字实体的信息和公钥,其中该信息先前已经在证明地址处存储在集中式或分布式分类账内的证明交易中进行了证明,该集中式或分布式分类账提供交易记录;使用数字实体的信息和公钥来导出证明地址;检验证明交易在集中式或分布式分类帐中的证明地址处的存在并检验证明交易是否尚未被撤销;将加密质询现时值发送到与数字实体相关联的处理器;在与用户相关联的处理器处接收由数字实体的私钥签名的加密质询现时值;以及通过由数字实体的密钥签名的加密质询现时值来检验数字实体的身份。
[0087] 在一些实施例中,在与用户相关联的处理器处接收数字实体的公钥包括向与数字实体相关联的处理器发送对数字实体的信息和公钥的请求。
[0088] 在一些实施例中,数字实体的公钥包括数字证书。
[0089] 在一些实施例中,使用数字实体的信息和公钥来导出证明地址包括使用信息来导出公共证明密钥。
[0090] 在一些实施例中,使用数字实体的信息和公钥来导出证明地址还包括使用公共证明密钥和数字实体的公钥来导出证明地址。
[0091] 在一些实施例中,检验证明交易是否尚未被撤销包括进行检查以查看证明地址是否存在于UTXO高速缓存中。
[0092] 在一些实施例中,数字实体是与商品或服务的提供商或金融机构相关联的网站。
[0093] 提供了一种用于提供数字实体的身份的检验的系统,该系统包括计算机系统,其具有一个或更多个物理处理器,该一个或更多个物理处理器通过机器可读指令配置以进行以下操作:在与用户相关联的处理器处接收数字实体的信息和公钥,其中该信息先前已经在证明地址处存储在集中式或分布式分类账内的证明交易中进行了证明,该集中式或分布式分类账提供交易记录;使用数字实体的信息和公钥来导出证明地址;检验证明交易在集中式或分布式分类帐中的证明地址处的存在以及证明交易是否尚未被撤销;将加密质询现时值发送到与数字实体相关联的处理器;在与用户相关联的处理器处接收由数字实体的私钥签名的加密质询现时值;以及通过由数字实体的密钥签名的加密质询现时值来检验数字实体的身份。
[0094] 附图简述
[0095] 如附图所示的,本文所述的装置、系统和方法的前述和其他目的、特征和优点将从以下对其特定实施例的描述中变得明显。附图不一定按比例绘制,而是将重点放在示出本文所述的装置、系统和方法的原理上。
[0096] 图1是示出根据所公开主题的示例性实施例的用于使用集中式或分布式分类帐来提供信息的证明的系统的图示;
[0097] 图2是示出根据所公开主题的示例性实施例的可用于证明和检验系统中的信息的各种协议的图示;
[0098] 图3是用于证明信息的过程的一个实现方式的流程图
[0099] 图4是用于检验信息的过程的一个实现方式的流程图;
[0100] 图5a是用于撤销一些或所有的先前证明信息的过程的一个实现方式的流程图;
[0101] 图5b是用于撤销一些或所有的先前证明信息的过程的另一实施例的流程图;
[0102] 图6是用于创建用于证明的用户帐户的方法的一个实现方式的流程图;
[0103] 图7是用于使用检验协议以在线购买商品的过程的一个实现方式的流程图;
[0104] 图8是使用视觉代码来表示经证明信息的一个实现方式的流程图;
[0105] 图9是在商业实体(诸如商家)处使用视觉代码来处理商业交易的一个实现方式的流程图;
[0106] 图10是用于使用检验协议以登录网站的过程的一个实现方式的流程图;
[0107] 图11是用于在网站处创建新用户帐户的检验协议的一个实现方式的流程图;
[0108] 图12是在帐户创建期间验证信息的方法的一个实现方式的流程图;
[0109] 图13a是用于在使用属于用户的信息来尝试交易时通知该用户的方法的一个实现方式的流程图;
[0110] 图13b是用于在使用属于用户的信息来尝试交易时通知该用户的方法的另一实现方式的流程图;
[0111] 图14是包括用于根据所公开主题的示例性实施例的系统的各种个人识别信息的显示呈现或识别卡的图示;
[0112] 图15是用于认证数字实体的身份的方法的一个实现方式的流程图;以及
[0113] 图16是用于认证数字实体的身份的方法的另一实现方式的流程图。
[0114] 详细描述
[0115] 本文描述了用于由证明器提供对用户的个人识别信息的认证的方法和设备。在一个示意性示例中,接收用户的个人识别信息。在验证该信息后,将第一散列函数应用于用户的个人识别信息以创建散列。通过将用户的个人识别信息的散列与包括用户的公钥的一个或更多个公钥组合来生成公共证明密钥。在一个实现方式中,通过将第二散列函数应用于用户的公钥来生成证明地址。包括公共证明密钥的已签名交易被生成并被传送以用于在证明地址处存储在集中式或分布式分类帐中。分类帐中的已签名交易可以由第三方检验。
[0116] 现在将在下文中参考附图更全面地描述实施例,在所述附图中示出了优选实施例。然而,上述内容可以按照许多不同形式加以实现并且不应视为只局限于本文所阐述的所示实施例。
[0117] 本文提及的所有文献均据此通过引用以其整体并入。除非另有明确说明或从上下文中清楚的,否则对单数形式项的引用应当被理解为包括复数形式的项,反之亦然。除非另有说明或从上下文中清楚的,否则语法连词旨在表达联合条款、句子、单词等的任何和所有的反意连词和连词组合。因此,术语“或”通常应当被理解为表示“和/或”等。
[0118] 除非本文另有说明,否则本文中对值范围的叙述并非旨在进行限制,而是单独地指代落入该范围内的任何和所有值,并且在这种范围内的每个单独值被并入说明书中,就好像它在本文中单独叙述一样。当伴随数值时,词语“约”、“大约”等应当被解释为表示如本领域普通技术人员将认识到的出于预期目的而令人满意地进行操作的偏差。值和/或数值的范围在本文中仅作为示例提供,并且不构成对所描述的实施例的范围的限制。本文提供的任何和所有示例或示例性语言(“例如”、“诸如”等)的使用仅旨在更好地说明实施例,并且不是对实施例或权利要求的范围构成限制。说明书中的语言不应当被解释为表明任何未要求保护的要素对实施例的实践来说必不可少。
[0119] 在以下描述中,应当理解的是,诸如“第一”、“第二”、“顶部”、“底部”、“向上”、“向下”等术语是具有方便性的词语并且不应当被解释为限制性术语,除非另有明确相反地说明。
[0120] 本文描述了用于身份检验、交易险降低和数据认证的装置、系统和方法。尽管以下描述可能强调用于个人信息认证的装置、系统和方法,但实现方式还可以或替代地用于其他类型的实体认证,诸如认证自主车辆、机器人等。此外,本文描述的装置、系统和方法可以适用于认证除人类以外的生命形式,包括但不限于宠物、野生动物、牲畜等。更一般地,系统可以适用于任何企业、公司、实体、生命形式、可移动物品、或可有用地呈现自身以用于检验等的类似物等。在实现方式中,能够被认证、检验或证实的任何数据或任何内容可以用于本文讨论的各种装置、系统和方法。
[0121] 在若干实施例中,该装置、系统和方法应用于提供数字加密货币系统的“比特币”网络。然而,在其他实施例中,所述装置、系统和方法也可以应用于其他合适的网络和环境。
[0122] 下面描述了系统中的各种参与者的一些示例。
[0123] 用户可以包括但不限于活人、公民、法律实体、自主车辆、自主装置、机器人、企业、组织、公司或合伙企业或者可执行合同的其他法律实体、代理人或代表、大使、州、城市、国家、县、交易方、团体、军队、政府、家庭等。用户也可以是不能依据法规来签订约束合同或者具有与自然人不同的另一组权利的实体。用户还可以或替代地包括儿童、未成年人、婴儿、宠物、动物、生物、细胞集合、生物体等。用户可以是无生命物体、包裹、空气、海洋、陆地、航天器等。
[0124] 证明器可以包括但不限于证明站点或装置、公司、人、计算机实现的算法、分散式计算系统等。证明器可以包括国家、政府、社会、部落、医院、分娩中心、人口普查局、父母、创造者、来源、证人、街区、区、镇、县、州、辖区、州、省、单一民族国家、国家、议会、军事组织、家庭、社区、政府、民兵阻止、警察机关、团体、派系、俱乐部、大使、大使馆、家庭等。证明器也可以或代替地包括独立的第三方观察员、自然人、法人、机器、在线服务、软件服务、在线应用程序接口(API)、客户端-服务器应用、桌面应用、移动应用等。
[0125] 验证器可以包括但不限于验证站点或装置、任何用户或证明器、边界代理、治安官员、军事邮政、军官、运输安全管理局(TSA)代理人、酒店职员、商人、交易伙伴、卖方、买方、信用检验机构、行、商店、合作伙伴、同伴、雇员、雇主等。验证器可以包括已经与其建立关系的某人或某事物。验证器可以包括其关系仍然期望的某人或某事物。验证器可以包括潜在的个人合作伙伴或伴侣。验证器可以包括但不限于身份验证服务提供商、生物识别装置、亲自了解用户的任何实体、公证人、信用报告机构、政府、学校、亲戚、另一个用户等。验证器也可以是机器人和自主车辆等。验证器可以包括但不限于确认属于用户的信息或财产的有效性、准确性、所有权或其他专有方面的某人或某事物。
[0126] 商家可以包括但不限于向用户或其他商家以及需要确定地知道用户是真实的人提供产品和服务,和/或由用户呈现的信息是真实的并且属于该用户,和/或用户声称是其自己的财产实际上属于该用户的商业或商务场所。身份验证服务提供商可以包括但不限于提供确认证明器将证明的用户信息是有效且真实的并属于该用户的服务的人或对象或商业。
[0127] 数字钱包是控制数字资产或资金的密钥集合。它可以允许用户容易且安全地进行电子商务交易。数字钱包可以支持多重脚本,换言之,钱包可以能够采用多个密钥来创建证明地址。将支持多个密钥的数字钱包可以被称为M-of-N数字钱包。这种钱包接受来自N个不同方的N个不同密钥,并且这些密钥中的M个密钥足以使数字钱包系统计算加密密钥以便执行交易。M-of-N数字钱包的示例是2-of-3数字钱包。M和N也可以是相同的数字,即一(1)。
[0128] 数字钱包提供商是代表用户通常在远程服务器上存储用户的数字钱包以使得可以从任何地方轻松访问信息的提供商。出于本申请的目的,用户还可以具有其自己的自定义数字钱包,该自定义数字钱包可以存在于其自己的电话或装置上而不是存在于远程服务器上。此外,用户自己的数字钱包可以被备份到第三方网站或服务。第三方联合签名者是参与利用多重签名钱包进行交易的一方,该第三方联合签名者在证明完成并广播到区块链网络之前需要来自M of N密钥的签名。
[0129] 站点可以包括但不限于网站、服务、服务器、分布式云服务、SaaS应用、分散式应用、托管服务、应用、移动应用等。站点可以包括银行站点、电子商务站点、商家站点、政府站点、个人站点、社交网站、消息传递站点、搜索站点、新闻站点、信息站点等。站点可以包括亲自尝试交易的物理位置,诸如零售店。当站点是物理位置时,可以在没有局域网或广域网的装置之间例如通过个人区域网络技术(诸如蓝牙、近场通信(NFC)、声音、使用在屏幕上扫描的特殊加密图像等)发送数据。还可以通过诸如蜂窝和其他无线网络的广域网发送信息。在作为物理位置的站点处,可以使用完全相同的机构将两个端点连接在一起,例如其中快速响应(QR)代码告诉装置要将身份数据发送到哪个端点。作为物理位置的站点可以使用基于网络的装置、应用、或现场的其他装置来读取和确认身份,使得其基本上与在线完成相同。站点还可以包括虚拟世界中的位置或目的地,或者可以存在于利用增强现实系统创建的叠加物中。站点可以随着用户的运动而移动,或者相对于地图静止并固定。站点可以是您想要被识别的任何事物或任何地方,例如,您需要显示身份或使用身份的(真实或虚拟)地方。另外的示例包括边境通道或海关入境点、旅行安全检查点,诸如运输安全管理局(TSA)代理/检查点,全球旅行快速通关机(Global Entry Kiosk)等。站点还可以包括用于将数据与私有数据库进行比较的专用系统。例如,在过境通道站点处,可表示例如人的指纹的图像可以存储在电话上,然后经由安全数据传输机构来传输。站点可以使用这些图像,就像该人实际上已经在现场一样。
[0130] 应用(也称为app)可以包括但不限于在可执行指令并处理输入以产生输出的计算平台上运行的任何移动、桌面、基于自助服务终端、基于云、家庭、企业、服务器、客户端-服务器、SaaS、嵌入式、神经、基于微控制器、基于固件、基于芯片、化学执行的算法、软件、程序、方法或技术等。app可以在智能电话、平板电脑、膝上型电脑、台式机、手表机、汽车、自助服务终端、可穿戴装置、皮下计算植入物智能卡、SIM卡、微控制器等上运行。
[0131] 通信信道是在双方之间交换信息的任何方法。这可以包括有线链路、无线链路、人对人无线链路(诸如蓝牙或NFC)、或者面对面交换。应当理解的是,有许多不同的协议可以用于通过通信信道交换信息。优选的通信信道是用户在尝试其他通信信道之前选择使用的通信信道。优选的通信信道可以是语境或环境相关的。
[0132] 信息可以是或包括个人信息、个人识别信息(PII)、数据或用户数据,并且可以包括但不限于任何个人识别数据或个人信息的表示。个人可识别信息(PII)或敏感个人信息(特别是如在美国隐私法和信息安全中使用的信息)是可单独使用或与其他信息一起使用以识别、联系或定位单个人或在环境中识别个体的信息。个人可识别信息可以包括一个或更多个信息项,包括全名、家庭地址、电话号码、社会保险号(SSN)、信用卡号、出生日期、出生地、驾驶执照号码、电子邮件地址、国家身份证号码、护照号码、用户ID、消息传递、社交媒体和其他应用中的登录名或用户名、密码或个人识别码(PIN)、IP地址、车辆登记牌号、面部、指纹、视网膜扫描、手写样本、生物识别数据、数字身份和遗传信息。
[0133] 信息可以包括表示个人信息的物理证件,诸如护照、社会保险卡、绿卡、驾驶执照、大学学位、文凭、培训证书、结婚证、法庭文书、头衔、契约、所有权链等。信息可以包括:物理文档中包含的数据、这些文档所代表的数据、这些文档所证实的任何数据;人的身份、人的名称;人按照法规的地位,诸如未成年人、成年人、脱离父母而独立生活的未成年人、外籍居留者、公民、双重国籍公民、男性、女性、单性别、双性别、非性别化、退伍军人、退休人员、养老金领取者、校友、鳏夫、父母、孩子、亲戚、本地种族、本地人、受保护阶级、俱乐部成员、团体、社会或服务等。信息还可以包括关于任何此类个人信息的验证元数据、来自他人的关于该信息有效性的证据或证明等。
[0134] 如本领域所公知的,非对称密钥或公钥密码术使用公钥和私钥来加密和解密数据。密钥是已配对在一起而不相同的多位数(large numbers),并且被称为加密非对称密钥对。一个密钥可以与每个人共享,并且这被称为公钥。该对中的另一个密钥是保密的并被称为私钥。密钥中的任一个都可以用于加密消息;相对的密钥用于解密。不同的系统参与者都可以具有公钥。例如,证明器可以具有公钥,检验器可以具有公钥,并且第三方联合签名者可以具有公钥。
[0135] 加密散列函数或“散列”是将任意大小的数据映射到固定大小的位串的数学算法。它被设计为单向函数。从理想加密散列函数的输出重新创建输入数据的唯一方式是尝试对可能输入进行强搜索以查看它们是否产生匹配。
[0136] 数字加密货币是一种类似于普通货币的交换媒介,但被设计用于交换数字信息的目的。密码术用于保护交易并控制新货币单位的创建。第一个并且也是最著名的加密货币是比特币。
[0137] 数字加密货币尘埃或“尘埃”是指非常小或尽可能最小的交易。过多非常小的交易会使网络资源拥挤,因此网络通常收取交易费以处理小额交易。在本申请的上下文中,尘埃是实现交易所需的最小可能值。它可能不是固定量。该小货币量与交易费不同。根据与特定分布式分类帐相关联的规则(例如,但不限于比特币网络),尘埃仅指加密货币的最小金融量。为处理这种交易而收取的费用可能是固定费用,或者也可能是交易大小的百分比,或者可以通过某个其他方法确定。一些分布式分类帐可能没有最小交易大小并且可能不收取交易费。通常,尘埃可能没有金融价值并且可以是使有效交易通过网络传播所需的任何参数。
[0138] 交易用于传输一定量的加密货币(例如,尘埃),其包含所有必要的证明、在不同密钥或不同数字钱包之间的移动数据。交易总是为了创建新散列并将它们放入用户的数字钱包中的目的,或者用于撤销先前证明的数据并从用户的数字钱包中移除此类数据。
[0139] 数字分类帐是谁拥有什么的数字记录。集中式分类帐或集中式数据库是其中数据存储在具有单一控制点的主数据库中的系统。存在一个网守方,其单独代表客户端来修改系统状态。比特币使用称为区块链的分布式分类账。分布式分类帐与集中分类帐从根本上不同。在分布式分类帐中,网络上的任何一方都可以访问分类帐。认证并非是最后添加到系统中的功能,而是内置于堆栈的最低层。分布式分类帐在对等网络中的许多不同节点之间复制,并且共识算法确保分类帐的每个节点的副本与每个其他节点的副本相同。资产所有者必须使用加密签名来在数字分类帐上进行交易。
[0140] 证明密钥是使用散列数据创建并结合公钥的密钥,所述散列数据由信息组成或从信息导出。被散列化并用于创建证明密钥的信息可能是与用户名称一样简单的事物。在一个实施例中,用于创建证明密钥的散列数据可以是信息的组合,诸如用户的名称和出生日期。在一个实施例中,用于创建证明密钥的散列数据可以包括导出数据。例如,用户信息可以包括人的出生日期,并且散列数据不仅包括出生日期,还包括用户年龄大于21岁的声明或指示。可以使用默克尔树解决方案、单向累加器、或可创建单向或不可逆散列的任何其他合适的加密算法来执行用于证明密钥的数据的散列的创建。
[0141] 公共证明密钥组合上述散列数据(包括用户信息或从用户信息导出),并与公钥结合。
[0142] 私有证明密钥组合上述散列数据(所述数据包括用户信息或从用户信息导出),并与私钥结合。
[0143] 证明地址是可以在分布式分类帐上找到交易的地址。对于单个签名交易,可以将散列函数应用于公共证明密钥。在一些实施例中,散列函数是P2PKH算法。证明地址可以是多重签名证明地址,其在一个实现方式中是以下的结果:公共证明密钥根据M of N多重签名赎回脚本加密签名协议与证明器的公钥和所有联合签名者的公钥一起被签名。潜在联合签名者可以包括但不限于钱包提供商、证明器和用户钱包的恢复公钥。如果M-of-N联合签名者对从证明地址支出的交易进行签名,则只能支出或撤销发送到证明地址的资金。在另一个实现方式中,通过创建说明所需数量和实际公钥的合同来实现多签名过程。在另一个实现方式中,多重签名证明地址包括两个或更多个公钥并且使用付款给脚本散列(P2SH)协议来创建。根据一些实施例,使用多个签名者的公钥来生成赎回脚本,将所得的赎回脚本序列化以创建序列化输出。将散列函数(诸如SHA256算法)应用于序列化输出以创建第二散列。随后,将另一散列函数(诸如RIPEMD160算法)应用于第二散列以生成证明地址。
[0144] 数字签名用于检验消息。证明地址是数字签名。通过用公钥对消息进行散列化,一方可以检查经证明信息是否是真实的,从而检验签名是否是从控制由已知公钥表示的私钥的一方产生的。这是用于比较签名的ECDSA的标准实现方式。可以使用证书将公钥绑定到人或其他实体,即以提供公钥属于该实体的保证。证书本身通常由受信任的第三方或证书颁发机构(CA)签署,例如Verisign。
[0145] 加密现时值是在加密通信中仅使用一次的任意数。现时值可以是随机数或伪随机数,或者可以包括时间戳以确保现时值仅使用一次。加密现时值可以用于将更多熵引入散列。用于创建证明密钥的散列用户数据可能以预定或标准化格式放置以用于在其将来再次被散列化时保持一致性。
[0146] 现在将描述各种新型系统协议。在本文描述的装置、系统和方法的上下文中,用户可能具有他们希望传达给另一方的信息,其中所期望的是另一方信任信息或依赖于信息的有效性。为了建立这种信任,用户和另一方可以参与信息传递协议,所述协议辅助另一方决定用户信息是否是真实的、有效的或可行动的。另一方可以执行检验协议作为信息传递协议的一部分。
[0147] 在一个方面中,证明协议可以由证明器执行以证明由用户提供的信息的有效性。证明器可以执行证明协议以便认证用户信息并在集中式或分布式分类帐上创建证明交易,其用作用户信息已经被认证的证明。作为证明协议的一部分,用户的密钥在证明交易中被序列化并可用。正如传统证书颁发机构可以被视为密钥交换的形式一样,该协议可以用于临时密钥交换,如在加密通信中使用的那样。作为证明协议的一部分,一旦证明器通过执行验证协议已经学习并已经验证用户身份和/或用户信息,证明器可以通过使用签名协议来证明用户信息并将其与用户的经验证身份相关联,所述签名协议在集中式或分布式分类账上创建包括用户信息的证明交易。
[0148] 在一个实施例中,证明协议要求证明器将加密散列函数(诸如SHA256加密散列函数)应用于包括一些或全部的用户信息的数据或者从一些或全部的用户信息导出的数据。然后,证明器将从用户信息导出的数据的该“散列”与用户的公钥组合以创建证明密钥。作为证明协议的一部分,验证协议可以由验证器执行。验证协议描述验证器如何认证由用户向证明器提供的信息。例如,验证器可以检查由用户提供的信息。验证器可以采用多因素认证来确定用户控制用户的已提供的通信信道。验证器试图建立一定程度的信任,即用户是他们所声称的人,或者用户希望传达给另一方的信息是真实的,或者用户控制或拥有他们声称的财产或权利。证明器可以执行验证器的色,或者验证器可以是与证明器和用户不同的第三方。在一个实施例中,证明器和第三方都可以执行验证器的不同功能。作为证明协议的一部分,证明器可以在有或没有第三方联合签名者协作的情况下,在集中式或分布式分类账上创建表示证明器对用户信息有效性的证明的证明交易。在证明协议中没涉及第三方联合签名者的情况下,证明交易在集中式或分布式分类帐中的位置被称为证明地址。在证明协议中涉及一个或更多个第三方联合签名者的情况下,证明交易在集中式或分布式分类帐中的位置可以被称为证明地址或多重签名证明地址。
[0149] 当一些用户信息已经被证明并且现在用户想要证明器证明更多信息时,新型方法允许将附录添加到已证明的数据中。由于生成证明密钥的方式,用户信息包含在作为可支出交易的记录中。为了修改该证明,交易可以被支出回相同地址并且可以与新信息组合到新交易中。在一个实施例中,可以将全新交易输入到分布式分类账上,这将允许改变先前证明的数据。
[0150] 类似地,如果用户想要仅撤销部分的经证明信息,则可以通过支出尘埃来撤销交易,并且可以写入具有更新的用户信息的新交易。这允许改变经证明信息,例如,如果用户移动并具有新的家庭地址或者改变他们的电话号码。
[0151] 如更早描述的,可以使用默克尔树解决方案、单向累加器、或创建单向或不可逆散列的任何其他合适的加密算法来执行用于证明密钥的数据的散列的创建。这实际上是用于创建表示被证明的数据的散列的数据模型。这允许在单个交易中存储多个证明以及证明的变体。例如,可以将生日,以及日、月和年全部存储在单个散列中,但仅提供所请求的散列加上所有其他散列来解决最终存储的散列。撤消或编辑不会改变其工作方式。例如,如果需要更新地址,则将使用指定的散列化算法之一来创建并编译具有已更新地址的全新交易,这将撤消旧数据。在用户控制中,在新地址处支出尘埃。这有效地撤销旧数据(因为现在其将被支出)并创建新证明。撤销密钥交易的一部分与仅使用经证明数据来编译新散列完全相同,但是从树或累加器或其他利用的机制中排除已撤销的组成部分。有利地,使用任何默克尔树、累加器或其他合适机制允许减少或最小化将证明存储在分类帐或区块链上所需的交易的数量。然而,这不是必需的,并且也可以通过简单地为每个被证明的单独项创建散列来完成。然而,可以想象,如果示例包含年龄和出生日期的各种组成部分,则需要至少五次单独交易而不是只一次交易。
[0152] 用于在比特币区块链上存储数据的现有技术的当前平是使用OP_RETURN。OP_RETURN是用于将交易输出标记为无效的脚本操作码。由于OP_RETURN之后的数据与比特币的付款系统无关,因此可以在OP_RETURN之后将任意数据添加到输出中。目前,默认的比特币客户端中继多达80个字节的OP_RETURN交易,但没有为用户提供创建OP_RETURN交易的方法。比特币社区中的一些成员认为使用OP_RETURN违反了比特币的合同,因为比特币旨在提供对于金融交易的记录,而不是对于任意数据的记录。使用OP_RETURN的做法现在仍在继续,因为OP_RETURN在作为消耗的区块链空间的部分而存储的数据字节方面相当有效。然而,一个缺点在于,针对出于存储数据的目的而使用某些区块链存在强烈的情绪。这意味着容忍但无效的交易可能无法始终是可用的。
[0153] 与通过使用OP_RETURN来存储数据相比,如本文所述的那样在证明交易中存储信息具有显著的优点,即它可以被保护以防止比特币协议中的改变,因为理论上比特币社区可以移除使用OP_RETURN的能力。
[0154] 使用证明协议来存储信息的附加优点与未支付交易输出缓存相关。在使用OP_RETURN时,在未支付交易输出(UTXO)缓存中没有创建条目。这使得在区块链上定位信息变得更加困难。此外,由于没有与该交易相关联的货币,因此一旦交易在区块链上,它就只表示数据而不能再支出。因此,数据不能容易被撤销或更新。相比之下,如本文所述的那样在证明交易中存储信息具有使人们更容易检查交易是否仍然有效的显著优点。为了找到有效的交易,一方只需查看UTXO缓存。如果可以在那里找到交易,则交易(即证明)仍然有效。
[0155] 另一方面,使用OP_RETURN来存储数据的交易不能被支出,因为它们实际上不是有效的交易。因此,在UTXO缓存中不存在与OP_RETURN相关联的数据。这意味着,为了撤销使用OP_RETURN存储的信息,撤销OP_RETURN交易将必须放在区块链上(并且该方需要知道如何以及在何处找到它)或者需要引用第三方系统。换言之,撤销或更新使用OP_RETURN存储在区块链上的数据的唯一方式是在更新第一条记录的区块链上找到另一条类似记录,这将是困难且耗时的。
[0156] 本公开中描述的一种新型技术通过创建和使用证明密钥来实现在区块链上存储数据的不同方式。本文描述的证明密钥方法与安全比特币区块链系统兼容,并且与所有现有标准以及比特币实现协议兼容。这意味着因为证明密钥方法不违反任何协议,所以该证明密钥方法现在是可行的并且是永久性的。证明密钥方法也可与其他分布式分类账一起使用。
[0157] 此外,证明密钥方法是便宜的。在用密钥对用户信息进行散列化以创建证明密钥(其是新密钥)时,不会增加数据记录的长度。存储更长的数据记录意味着需要支付更多费用才能处理记录,以使得可以将其添加到区块链中。另一个优点是如前所述的未支付交易输出(UTXO)。为了跟踪UTXO池,您只需要存储分布式分类帐的子集,这对移动或便携式装置来说是很大的优势。在另一个方面中,使用证明协议、验证协议、检验协议、或这些协议的任何组合可以降低用户登录站点以及在用户与站点所有者之间执行交易的复杂性。在站点处尝试登录或创建新用户身份或认证现有用户身份的用户可以使用应用来登录该站点。在使用该应用的情况下,用户可以通过扫描或记录由站点提供的在该站点处的静止或动画内容来执行该功能。该行动立即将它们记录到站点中并将站点所需的所有数据传递给站点。由于该数据被证明,因此该站点能够使用检验协议来检验信息,并且然后知道它正在获取经认证的信息(该信息由在分布式分类帐上对证明交易签名的证明器认证)。因为信息被证明,所以站点可以更加信任信息,这减少或消除了站点需要进行的检验量。这也意味着简化了用户体验,因为他们不必再次键入所有信息来进行诸如开立账户、输入金融信息等操作。
[0158] 在另一个方面中,证明协议和/或验证协议和/或检验协议可用于传输属于用户的数据。一个示例可能是用户的医疗记录。这些记录可以绑定到用户并存储在用户的移动装置上。用户可以使用本文描述的协议将该信息发送给接收者。通常,本文描述的协议可以用于以可信和安全的方式出于任何目的传输任何数据。
[0159] 用户信息并不总是必须由第三方证明器认证。信息的自我证明是有可能的,并且可以使用本文描述的协议来传输任何信息。由数据的接收者决定针对所接收的数据的每个项需要什么水平的信任。传输的数据不必以任何方式在区块链上得到证明,因为只有在用户想要检验独立证明的情况下才需要这样做。
[0160] 在另一个方面中,用户进行商业交易,例如但不限于,在用户没有帐户并且不想开立帐户的站点处购买产品。例如,该站点可以是商店或电子商务站点。该站点显示用户可以使用证明器进行其商业交易或购买的图标或其他指示。站点可以显示条形码或QR码或可由用户装置扫描的某个其他代码,或者站点可能以其他方式与用户装置通信。如果站点显示可扫描的代码,则用户可以用其移动装置扫描代码。用户可以从证明器打开应用以扫描代码。用户可以具有在后台运行并可检测站点与用户装置之间是否存在直接通信的证明器应用。
[0161] 用户装置通过证明器应用或通过其他方式建立到站点的直接链接,该站点希望检验用户以允许用户进行商业交易或购买。直接链接可以是URL。通过用户与站点之间的这种直接链接,用户信息和用户公钥从用户传输到站点。通过该直接链接,站点向用户发送加密质询现时值以使用户使用其私钥进行签名,并且用户将已签名的加密质询现时值发送回站点。该站点能够使用已签名的现时值和用户公钥以便检验用户是否可以控制用于对原始经证明信息进行签名的私钥。该站点还能够将用户信息与用户的公钥相结合以创建公共证明密钥,并且然后能够使用该公共证明密钥来创建证明地址,并以此检验区块链上的原始证明交易的存在。因此,该站点能够批准商业交易或购买,其中用户无需开立帐户。
[0162] 用户还可以或者代替地通过另一种方式从站点接收识别该站点的信息,诸如但不限于QR码或移动图像,例如音频、无线网络协议、射频信号或可视频谱数据传输技术。用户还可以或替代地输入诸如统一资源定位符(URL)的地址。应用可以允许用户仅选择他们希望提供给站点的用户信息,或者应用可以告诉用户该站点正在请求什么特定信息并使得用户能够允许将该信息提供给站点。根据检验协议,用户可以使用应用或直接利用站点向站点提供特定信息和公钥,并且站点可以遵循检验协议,从而能够立即且在不用从用户请求进一步信息的情况下允许用户登录、创建新的用户身份,或者利用站点认证现有用户身份。站点可以能够允许这些或其他用户功能(诸如数据传输),而无需直接咨询任何证明器,因为检验协议可能不要求在需要用户检验时的证明器的参与,而检验协议还可以提供对用户信息真实性的可证明的、可审计的肯定检验。
[0163] 在另一个方面中,由于在证明协议中结合多方签名的能力,因此如果证明器的安全性受到损害,并且即使证明器例如由于破产或遗弃而停止运行,站点仍可以能够检验用户信息的真实性。站点可以根据检验协议继续在集中式或分布式分类帐中定位证明交易,直到经由撤销协议撤销用户信息的证明为止。
[0164] 在另一个方面中,证明器可以与用户协作,或者与用户的经证明信息的第三方联合签名者协作(但不是唯一的),从而使用撤销协议来撤销对用户信息的证明。用户可以通过证明器或第三方的协作来这样做,并且第三方可以通过用户或证明器的协作来这样做。通常,交易可能需要M of N个签名,或者只需要一个签名者。可能是证明器不想要具有可撤销性并且完全由用户管理和撤销其信息的情况。在这种情况下,证明器仅向用户发送标准交易。在一个实施例中,证明器可能希望在撤销证明时多方必须一致,例如5方中的3方。
[0165] 在另一个方面中,即使证明器受损,也不能执行用户信息的欺诈性证明,因为攻击者仍然缺少用户的和第三方联合签名者的私钥。换言之,即使某人控制了证明器的密钥以对交易签名,他们也无法独立地在分布式分类账上进行并发出欺诈性证明,因为他们需要第二签名才能这样做。第二签名是第三方数字钱包提供商或拥有数据的用户的签名。
[0166] 现在描述检验协议。用户可以响应于第三方数据请求向第三方提交信息,并且第三方(检验器)需要检验该用户信息的真实性。检验器可以在不需要联系中央信任提供商的情况下采用检验协议来检验由用户提供的信息,其中用户先前已由证明器证明了信息作为证明协议的一部分。例如,使用应用、网站和证明器API中的一个或更多个,检验器自身可以通过重新导出证明交易的证明地址并且鉴于在证明地址处证明交易存在于集中式或分布式分类账中而使自身满足由用户提供的信息是可信的。检验器可以向用户提供唯一的、时间敏感的信息(诸如加密现时值),然后该用户可以根据需要使用签名协议利用用户的私钥对信息进行签名。以此方式,检验器可以确定该经证明信息属于用户或者用户的私钥处于用户的当前控制中。检验器通过使用公共证明密钥检验签名来确定这一点,所述公共证明密钥对应于与用户信息相关联的证明交易。证明交易应当将一定量支出到证明地址,从而确认交易是由受信任的证明器密钥签名的,从而确认集中式或分布式分类账中的交易有效并且所提供的用户信息是真实的。
[0167] 在另一个方面中,用户可能想要跟踪他们的信息何时被访问或使用,并且可能想要能够主动授权或拒绝该信息的调用或使用。由证明器控制的证明站点、网站或应用可以允许用户注册和创建身份并提交他们的信息(诸如社会保险号)。证明器可以执行证明协议以便认证用户信息并在集中式或分布式分类帐上创建证明交易,其用作用户信息已经被认证的证明。证明器还可以执行验证协议以确定用户不是欺诈性的并且所提交的信息是真实的。验证协议可以使用第三方身份验证服务提供商(诸如 )来认证用户信息。由执行验证协议的证明器控制的证明站点网站或应用可以呼叫、发送文本、打电话、发消息、或者将物理邮件发送到用户提供的地址。由执行验证协议的证明器控制的证明站点、网站或应用可以接收用户的识别文档的图片或扫描或射频识别(RFID)读出或红外捕获。执行验证协议的证明器可以从装置接收经认证的信息或生物识别信息,该装置可以是用户装置或者可能是在FBI认证的指纹收集点处的指纹读取器(其可以是证明器)。
[0168] 由证明器控制的证明站点、网站或应用可以向其他第三方站点提供API,使得第三方站点可以在访问用户信息时以主动方式经由证明器应用或网站通知用户。例如,可以允许银行站点通过将用户的SSN发送到证明器来联系用户。因为证明器具有用户的app密钥,所以证明器可以通过通信信道向用户发送说明正在使用他们的SSN的警告。
[0169] 作为示例,用户可以尝试在线或离线地在银行站点处申请信用。用户可以向银行站点提供社会保险号(SSN)。银行站点可以使用证明API将SSN提交到证明器。证明器可以使用其所具有的针对该SSN的认证用户的优选联系信息,以便联系该用户并检验该用户是否打算申请信用。证明器可以要求用户肯定地向证明器或第三方(在这种情况下是银行站点)传送响应,从而授权或拒绝对于信用的申请。
[0170] 在另一个方面中,可以使用本文描述的证明协议、验证协议或检验协议中的任一个来代替传统的证书颁发机构(CA)供应商。更广泛地说,这些方法和协议通常用于证明公司的真实性并将该证明放在集中式或分布式分类帐上。为公司发放身份不一定纯粹是为了替换CA。验证公司并将其放在区块链上的过程可以具有许多应用,其包括但不限于在网上交易中使用经证明的公司数据代替标准证书。更一般地说,任何实体都可以以此方式来验证和证明信息并将信息存储在集中式或分布式分类账中,并且任何两个实体都可以使用检验协议作为以可信任的方式彼此传送信息的方式。在一些实施例中,可以从网站到网站,从服务器到API,从一个设备到另一个设备等使用这些协议和方法。本文描述的用户和各方是这些方法和协议的可能使用的非限制性示例,并且该协议适用于需要证实其身份的任何用户或任何方。
[0171] 证明器和用户使用这些协议来创建的证明交易可以用于向预期的通信伙伴或交易伙伴提供数字实体(诸如商家网站或金融机构)的肯定识别,从而代替中央权威机构。因此,使用本文描述的协议的交易或通信中的参与者可以能够使用本领域已知的密钥交换技术并且从而建立加密通信而不依赖于CA供应商。例如,证明器可以向站点提供身份,并且然后用户将能够使用完全相同的机制将站点识别为有效的,其方式与现在信任CA证书一样。例如,证明器可以组合公司名称和其他公司信息以在证明地址处创建证明交易。证明器验证公司的凭证并确保公司是合法的,并且证明交易成为该公司已经由证明器验证的证据。
然后,公司可以将证明中使用的信息放在其网站上。想要检验公司身份的用户可以使用公司在其网站上放置的信息以及本文描述的检验协议来检查该证明地址处是否存在证明交易。该技术不需要证书撤销列表(CRL)或使用在线证书状态协议(OCSP)。公司信息能够以证明个人信息的方式的相同的方式来证明。根据本文中描述的所公开的系统和方法,公司将向证明器申请证明,而不是传统地向证书颁发机构申请。证明器将验证公司信息并使用公司的公钥(其证书)和公司信息来创建证明交易。例如,公司然后可以在其网站上显示表明其公司已经经由证明器证明的代码。在一个实施例中,公司还将已经被证明的信息放在其网站上。在一个实施例中,不会在网站上显示任何内容。网站将公司详细信息传递给用户的浏览器。在一个实施例中,将要更新用户的浏览器以支持检验协议或者必须安装插件。用户的浏览器将从网站接收信息(即公司名称等)。在一个实施例中,交易将由用户的浏览器发起。用户的浏览器可以将现时值发送到公司的站点并请求站点发送公司名称、已签名的现时值加上所需的任何附加详细信息。公司站点将发送这些详细信息。用户的浏览器将使用检验协议来重新创建如本文所述的证明地址以便建立所接收信息的有效性。在一个实施例中,这将是自动化过程,而不需要接受交易或任何人工干预。在一个实施例中,使用本领域已知的方法,用户可以使用已签名的加密质询现时值来检验公司是否控制其私钥。任何上述步骤可由代表用户或公司的证明器执行。在一个实施例中,用于创建证明密钥的公司信息被标准化,以此种方式,任何公司将用于创建证明交易以表示其有效性的信息与数据字段和类型一致。
[0172] 在另一个方面中,本文描述的证明协议、验证协议或检验协议中的任一个可以与加密货币和区块链的已建立的集中式或分布式分类账特征结合使用以记录证明交易。希望交换商品或服务或所有权的双方通常希望在集中式或分布式分类帐中记录这种转移,但所述双方缺乏另一方是其所说的人,或者另一方实际拥有商品或者可以提供服务或拥有所有权的确定或保证。用户可以使用本文描述的协议来提供其身份的经证明证据,并进一步提供拥有权或控制的经证明证据,由此满足进行交换所需的所有条件。
[0173] 在另一个方面中,用户可以利用证明器创建账户并亲自创建证明交易。类似于自动柜员机的自助服务终端或站台可以位于银行或超市或其他零售场所。该自助服务终端可以起到证明器、检验器、验证者的功能,或者可以实现所有这些功能。希望利用证明器创建帐户并利用其信息创建证明交易的用户可以使用自助服务终端,这将允许用户通过输入联系信息和/或通过呈现其他检验信息或身份证明文档来参与证明协议或检验协议。证明器自助服务终端或站台可以配备有前置相机,使得可以拍摄用户以便使用面部识别技术作为验证协议的一部分。可以使用相机以便在用户与远离自助服务终端的证明器或验证器之间建立实时视频会议。例如,基于用户的社会保险号或任何其他国家或地区识别号码,执行验证协议的远程验证器可以在执行验证协议以验证用户时使用例如一组信用局质询/响应查询。作为验证协议的一部分,用户可以键入或说出对质询/响应查询的响应。用户可以对着相机举起身份证件。还可能要求用户将身份证件插入可以读取证件(诸如护照、驾驶执照或其他身份证件)的专业阅读器。证明器自助服务终端或站台可以使用自动欺诈检测和远程用户干预或交互的组合。证明器自助服务终端或站台可以采用远程证明器或验证器而不向寻求认证的用户突出该事实,例如以便监督呈现身份证件的用户的活动。
[0174] 在成功完成针对用户的验证协议后,证明器自助服务终端或站台可以触发对证明可以被肯定认证的用户信息的有效性的一个或更多个证明交易的创建。关于新创建的证明交易的特定信息可以使用任何用户通信信道来发送给用户,或者可以在自主服务终端的屏幕上呈现给用户。证明器自助服务终端或站台可以向用户呈现QR码或其他运动代码,从而提示用户在用户的移动装置上下载证明器的应用。然后,用户可以在其移动电话或装置上使用证明器应用来扫描附加的QR或动作代码,以便接收任何生成的公钥、私钥或与其信息的一个或更多个证明交易相关的公共或私有证明密钥。
[0175] 在一个实施例中,证明器自助服务终端或站台可以使用户在发起证明协议和验证协议之前安装证明器的应用,使得例如用户信息和对证明交易所需的任何私钥被生成并仅存储在用户的移动装置上,而不存储在自助服务终端中并不存储在证明器处。证明器自助服务终端或站台或证明器应用可以使用户在用户的移动电话或装置上安装数字钱包应用。公钥、私钥或证明密钥可以存储在用户的数字钱包中。用户信息可以存储在用户的数字钱包中。如果用户具有多于一个数字钱包应用,则可以提示用户选择他们想要在其中存储密钥和/或信息的数字钱包,并且上述功能可以替代地由面对面出纳员而不是自助服务终端来实现。这个面对面出纳员可以充当验证器和/或证明器。
[0176] 现在将讨论通知系统的示例。在本文描述的装置、系统和方法的上下文中,证明器可以具有证明站点或应用,其可以提供证明API以允许经认证的用户(在集中式或分布式分类帐上存在其证明交易的用户)与需要收集或检验关于该用户的特定信息的其他站点进行通信。证明API可以提供对证明站点或应用或者使得商家或银行或其他用户在执行与经认证的用户的交易时能够提供额外安全性或其他服务的不同站点或网络服务的访问。当用户尝试与商家或银行或其他用户进行交易时,例如申请信用,用户可以向商家、银行或其他用户提供其证明站点或证明器信息以代替提供个人信息,例如其普通联系信息、其地址、其出生日期或其社会保险号。用户移动装置上的证明器应用可以向商家、银行或其他用户提供证明站点或证明器信息,以代替用户直接提供这些。
[0177] 在一个实施例中,用户可以结合其他普通信息提供其证明站点信息。当商家或银行或其他用户正试图为用户运行信用检查时,它可以使用证明API来向证明器传送访问或使用用户信息的尝试。证明API还可以允许商家或银行或其他用户直接或通过证明器或证明器应用向用户传达某人正试图访问或使用他们的用户信息以及提供用户信息的目的。在该示例中,向用户通知他们的SSN正被访问或用于开立新信用的目的。证明器或证明器的应用,或者商家、银行或其他用户或商家、银行或其他用户的应用可以通过应用、语音消息、文本消息或任何其他通信信道为用户提供允许或拒绝交易的提示。证明API的使用可以为商家和银行以及其他用户提供欺诈量的减少,并且可以为用户提供关于其信息的更高安全感。
[0178] 在一个方面中,证明站点或应用可以提供API以允许其经认证的用户中的任一个与其他站点进行通信,所述其他站点具有有关该用户的信息但缺乏联系用户的直接方式,因为它们不知道任何用户通信信道。证明站点或应用可能为提供该API收取费用。证明站点或应用可以根据用户偏好或证明站点策略来控制要发送给用户的通信的频率或量或类型。证明站点或应用可防止用户通信信道信息(诸如联系用户的方式)在该API中被泄露。
[0179] 由于未经请求信息从其他站点传输到证明站点的经认证的用户的机会,因此证明站点可以在聚合的基础上对传入通信执行垃圾邮件过滤和未经请求通信过滤。证明站点还可以要求其他站点提供与它们试图与之通信的用户相关的足够信息,以便确立在另一站点与用户之间存在预存在的商业关系。可以对另一站点执行附加的认证步骤,类似于它们对用户执行所述步骤的方式,以便认证尝试通信的站点。本文描述的通知方法可以为已经向证明器注册的用户提供接收来自各方的关键通信的新型方式,所述各方缺少对用户的正确或更新的通信信道信息但可能具有与用户通信的合法需要。
[0180] 图1是示出用于提供信息(诸如用户的个人识别信息)的认证的系统100的图示。如图1所示,系统100可以经由一个或更多个通信网络190以通信关系互连多个参与者(例如,装置、系统、部件、资源、设施等)。例如,参与者可以包括用户计算装置或用户110、证明器站点或装置或证明器120、身份检验站点或装置或检验器130、以及检验器站点或装置或检验器160。检验器160可以是商家、银行、或需要检验用户身份的其他实体。系统100中的其他实体包括数字钱包提供商站点或装置或数字钱包提供商140,以及第三方联合签名者计算装置或第三方联合签名者112。
[0181] 一些或所有的参与者可以访问集中式或分布式分类帐150。集中式或分布式分类账150是包含经检验的数字加密货币交易的列表的电子分类账。在比特币中,集中式或分布式分类账150是被称为区块链的分布式分类账。尽管交易通过比特币网络传送以进入区块链,但被称为“矿工”的参与者最终可能是执行交易检验和区块链进入的实体。
[0182] 系统100可以包括一个或更多个附加或替代性证明器120,其可以是私有或公共实体。附加或替代性证明器可以是对于用户的实际识别源的提供商。例如,附加或替代性证明器可以是或包括被指定成发布用户识别源的政府实体的站点或装置(例如,发布护照的政府办公室、发布驾驶执照的机动车辆或DMV等)。具有一个或更多个通信网络190的系统100可以利用适合于在系统100中的参与者之间传送数据和控制信息的任何数据网络或互联网络。这可以包括:公共网络(诸如互联网),私有网络,和电信网络,诸如使用第二代蜂窝技术(例如,2G、GSM或EDGE)、第三代蜂窝技术(例如,3G或IMT-2000、UMTS或WCDMA)、第四代蜂窝技术(例如,4G、LTE、LTE-Advanced、E-UTRA等或WiMAX-Advanced(IEEE 802.16m))、5G蜂窝技术、对等和个人区域网络技术(例如,蓝牙、蓝牙LE、Wi-Fi Direct、LTE Direct、NFC和/或其他技术)的公共交换电话网或蜂窝网络,以及各种公司区域网、大城市区域网、校园网或其他局域网或企业网络中的任何一个,连同可用于在系统100中的参与者之间运载数据的任何交换机、路由器、集线器、网关等。网络也可以是高带宽、高延迟的网络,诸如“步行网”,其中大容量存储装置上的信息亲自递送或经由邮寄服务( 国家邮政服务、
等)来递送。网络还可以利用视觉数据信道,诸如条形码、2D条形码、快
速响应(QR)码、运动QR码、或者可由计算机或便携式装置中的视觉捕获装置捕获的任何形式的动画视觉信息。网络还可以利用音频信道来递送以水印或指纹音频编码的信息,诸如由 等提供的信息。系统100还可能利用间歇网络连接或以断开的离线模式工作。
所利用的网络还可以包括数据网络的组合并且不需要限于严格的公共或私有网络。装置、系统和方法还可以使用“比特币”网络来进行通信,所述“比特币”网络包括通过互联网根据对等(P2P)比特币协议操作的多个节点。
[0183] 系统100中的参与者可以各自包括用于通过网络进行通信的网络接口等。参与者的网络接口可以在共享网络基础上或直接在参与者之间的对等基础上允许任何参与者之间的实时数据同步。
[0184] 部分或全部的集中式或分布式分类帐150可以由系统100中的任何参与者下载或高速缓存以供离线使用。当它们在线连接时,任一方可以定期下载集中式或分布式分类账150。集中式或分布式分类帐150可以经由参与者操作的邮政邮件、递送服务或私人递送信道来定期或一次性地递送给参与者。在实施例中,比特币区块链可以用作分布式分类账
150。在另一个方面中,可以使用不同的分布式、集中式或分散式分类账150来代替比特币区块链。可以从高速缓存的离线存储来访问集中式或分布式分类帐150。可以由证明器120提供集中式或分布式分类帐150的相关子集。
[0185] 图2是示出可用于提供对信息(例如,在图1的系统中的个人识别信息或“PII”)的认证的各种协议的流程图200,所述各种协议包括证明协议202、检验协议204、签名协议206、检验协议210和撤销协议212。
[0186] 最初,利用密码术为用户110创建密钥对。密钥对的创建包括用户私钥和公钥的创建。密钥对可以使用椭圆曲线密码术来创建,诸如在Guide to Elliptic Curve Cryptography(Springer Professional Computing)ISBN-13:978-0387952734中所描述的,所述文献据此通过引用以其整体并入本文。
[0187] 用户110可以向证明器120提供用户公钥。在一个方面中,用户110还可以向交易提供第三方联合签名者的公钥。第三方联合签名者可以是例如比特币钱包提供商的数字钱包提供商(例如,图1的数字钱包提供商140)或者可为交易提供公钥的任何其他实体。可能存在多个第三方联合签名者(例如,图1的第三方联合签名者112),从而使得密钥总数为N。在一个实施例中,公钥的集合稍后用于使用多重签名交易来创建证明地址。在这种情况下,仅可以在其中提供M of N密钥的情况下利用多重签名交易撤销证明交易(即,该证明地址处的资金只能被花费)。以此方式,单方无法撤销证明。如图2所示,在使用证明协议202执行证明的请求中,证明器120可以从用户110接收信息。来自用户110的信息可以是可唯一地识别用户110的个人识别信息或“PII”。通常,证明协议202使得使用签名协议206对来自用户110的信息(例如,PII)进行验证和证明。
[0188] 在接收到信息后,证明器120将首先尝试使用验证协议204来确认信息的真实性。该验证协议204可以由验证器(例如,图1的验证器130)执行。验证器可以是与证明器120相同的实体,或者它可以是单独的实体(诸如第三方识别服务提供商)。验证协议204可以包括用于验证用户110的身份的任何合适的验证步骤。验证协议204可以包括使用由用户110提供的任何联系信息或通信信道的常规验证步骤。这些步骤可以包括利用所提供的联系信息的通信,诸如向用户110发短信、电子邮件、呼叫或发消息。验证器可以在由用户110提供的或已知属于用户110的任何通信信道上发出消息。验证器可以将物理明信片或邮件发送到由用户110提供的物理地址,并且要求用户110在证明器的站点或应用上输入物理明信片或邮件上提供的代码以便继续或完成验证协议204。验证器可以要求用户110通过提供可检验的所有权来证实他们拥有或控制某物,或者他们知道密码。作为验证协议204的一部分,验证器可以在用户110的一个通信信道上向用户110提供信息,并且要求用户在用户110的另一个通信信道上输入相同的信息以检验用户110身份的合法性。
[0189] 验证协议204可以确定用户110的信息和/或身份不是真实的,并且可以指示和/或传送该失败(“失败”)。证明器120可以向用户110指示该失败。在另一方面中,验证协议204可以确定用户110和用户信息是真实的,并且可以指示和/或传送该真实性(“通过”)。
[0190] 当信息由于真实而通过时,证明器120继续执行包括签名协议206的证明协议202。在一个实施例中,证明协议202和签名协议206为用户110提供数字签名的证明交易,从而将一定量的加密货币(例如,尘埃)支出到由使用M of N密钥的秘密共享密码算法控制的数字钱包。该已签名的证明交易由证明器120传送到网络以用于存储在集中式或分布式分类帐
150中。已签名的证明交易可以包括用户的公共证明密钥并存储在证明地址处。在一个实施例中,用户存储被验证并用于生成证明密钥的用户信息。在一个实施例中,用户信息存储在用户装置上。在一个实施例中,用户信息存储在用户的数字钱包中。在一个实施例中,用户信息存储在用户装置上的证明器应用中。在一个实施例中,用户信息在用户装置上的可视或移动代码中被捕获。应当注意,尽管交易通过比特币网络传送以进入区块链,但被称为“矿工”的参与者可以最终是执行交易检验和进入区块链的实体。
[0191] 用于通过使用比特币加密货币来创建交易的技术和协议的描述可以在Antonopoulos,Andreas  M.的书Mastering  Bitcoin:Unlocking Digital 
Cryptocurrencies,O’Reilly Media,2014,ISBN 978-1449374044中找到,所述文献在此通过引用以其整体并入。可以使用付款给脚本散列(P2SH)比特币协议来计算证明交易的证明地址。证明交易的证明地址可以是P2SH多重签名地址。证明交易的输出可以由包括证明器或验证者的公钥、一个或更多个第三方联合签名者的公钥和用户的公钥的组合花费。应当注意,稍后将关于图3的流程图再次描述证明协议202以及签名协议206。
[0192] 继续参考图2的流程图200,在证明器120的证明之后,检验器160可以通过使用检验协议210来检验用户信息。检验器160可以是商家、银行或其他实体。检验协议210可以接收并利用用户的公钥、一个或更多个第三方联合签名者的一个或更多个公钥、用于创建证明地址的用户信息、以及由证明器120签名的证明交易。检验协议210使用前面采用的相同或类似方法来导出用户的公钥。检验协议210检查证明交易的证明地址是否是由用户110、任何第三方联合签名和证明器120控制的。证明地址可以映射到M of N数字钱包以实现多重签名的签名协议。检验协议210检验证明交易是否仍然有效并且尚未被撤销,从而检查证明交易是否仍在集中式或分布式分类帐150中。成功的检验指示经认证的用户信息仍然有效。
[0193] 此外,检验协议210可以向用户110发送质询加密现时值以使用签名协议和用户的私钥来进行签名。该加密现时值可以通过本领域已知的加密现时值生成算法来生成。加密现时值可以用时间戳来生成或者可以包括时间戳。加密现时值可以通过对随机值或伪随机值的重复散列化来生成。该质询加密现时值可以通过软件或使用支持加密的专用硬件电路或芯片来生成。加密现时值质询可以由移动应用、由数字钱包或由证明应用来生成。响应于接收到质询加密现时值,用户110使用签名协议和用户的私钥来对加密现时值进行签名。这确认了用户110仍然具有对该特定私钥/公钥对的当前控制。应当注意,稍后将关于图4的流程图再次描述检验协议210。
[0194] 继续参考图2的流程图200,用户110或证明器120可以通过使用撤销协议212来撤销过去做出的证明。撤销协议212可以利用第三方数字钱包提供商或其他第三方联合签名者,或者它可以仅由用户110或证明器120执行,或者由用户110和证明器120执行。作为示例,可以使用移动应用或基于网络的客户端或云服务来执行撤销协议212。可以允许参与者通过对新交易进行签名、支出与原始证明相对应的尘埃来撤销他们在过去做出的证明。为了支出这种尘埃,参与者可能需要提供原始证明的第三方联合签名者的子集,即用户的私有证明密钥和一个或更多个第三方联合签名者密钥。可以允许证明器120通过对交易进行签名、使用证明器的私钥支出证明的尘埃来撤销证明。应当注意,稍后将关于图5a和图5b的流程图再次描述撤销协议212。在证明协议202中,集中式或分布式分类帐可以接收由证明器或第三方联合签名者计算的到多重签名证明地址的已签名证明交易。应当注意,集中式或分布式分类帐可以从与证明器或第三方联合签名者不同的第三方数字钱包提供商接收该交易。为了用户的方便,证明器或第三方联合签名者或两者或第三方数字钱包提供商或另一第三方可以代表用户存储由密码保护的用户的证明密钥或公钥。
[0195] 在一个实施例中,等级确定性钱包(HD钱包)用于生成公共证明密钥。在一些实施例中,散列信息用作与针对该信息生成的公钥组合的偏移量,符合比特币BIP32标准。
[0196] 证明器或第三方联合签名者可以使用现有的分布式分类账(诸如比特币区块链),并且在这样做时,利用针对该分布式分类账限定的现有交易协议,如本领域中已知的。例如,可以使用比特币区块链上的“彩色币”来实现本文限定的协议。
[0197] 图3是用于描述可由证明器执行的证明协议202的方法的流程图300。
[0198] 从图3的开始块302处开始,证明器接收信息和可从该信息生成的公钥(图3的步骤304)。例如,信息可以是属于用户的个人识别信息(“PII”)。为该信息生成公钥,并且该公钥可以是用户的公钥。在检验该信息时,将第一散列函数应用于该信息以创建散列(图3的步骤306)。将信息的散列与公钥组合以生成公共证明密钥(图3的步骤308)。在一些实施例中,使用椭圆曲线加法来将信息的散列与为信息生成的公钥组合。基于公共证明密钥生成证明地址(图3的步骤310)。包括用户的公共证明密钥的已签名交易被生成,并且被传送用于在证明地址处存储在集中式或分布式分类帐中(图3的步骤312)。为用户存储用于生成证明密钥的信息。在一个实施例中,用户信息存储在用户装置上。在一个实施例中,用户信息存储在用户数字钱包中。在一个实施例中,用户信息存储在用户装置上的证明器应用中。在一个实施例中,用户信息被捕获在用户装置上的可视或移动代码中。在一些实施例中,传送到集中式或分布式分类帐的交易包括以数据块形式的数据文件,其至少包括通过本文描述的技术生成的公共证明密钥和证明地址。流程图在图3的结束块314处结束。可以由检验器检查分类账中的已签名交易以用于使用检验协议来进行检验的目的。用户或证明器可以使用撤销协议来撤销分类帐中的已签名交易。可以使用椭圆曲线加密术来创建密钥对。可以通过将椭圆曲线生成器点G乘以参与者的私钥来生成每个参与者的公钥。每个参与者可以知道彼此的公钥。可以通过加密散列函数(例如,SHA256、RIPEMD160或两者)对信息进行散列化。
[0199] 图4是用于描述检验器的检验协议210的方法的流程图400。协议开始于图4的块402。在步骤404处,检验器向用户发送对用户信息的请求。从用户请求的信息包括先前已经在存储在集中式或分布式分类帐内的证明交易中证明的信息。检验器还需要用于对证明交易进行签名的所有公钥。在步骤406处,检验器从用户接收信息。在步骤407中,检验器向用户发送质询加密现时值,其中请求用户使用其私钥对该现时值进行签名。在步骤408中,检验器从用户接收已签名的加密现时值。除非另有说明,否则应当理解这些步骤可以按所述顺序发生。可替代地,这些步骤可以同时发生,或者以不同的顺序发生。例如,步骤404和步骤407可以同时发生。类似地,步骤406和步骤408可以同时发生或以不同的顺序发生。在步骤410中,检验器使用用户的公钥和已签名的加密现时值来检验用户是否是他们声称的人,即用户控制用于生成用户公钥的私钥。在步骤412中,检验器然后获取用户发送的信息连同用户发送的公钥,并且导出公共证明密钥。在步骤414中,检验器获取公共证明密钥和由用户发送的所有公钥,并且导出证明地址。然后,在步骤416处,检验器使用证明地址来检验在集中式或分布式分类帐中的该地址处是否存在证明交易。协议在图4的结束块418处结束。
因此,已经检验用户的信息和有效性。
[0200] 在图4中的步骤404中,检验器需要来自用户的特定信息。在一个实施例中,检验器可能需要用户的信用卡号、安全码和地址以便完成商业交易。在一个实施例中,检验器可能需要用户的社会保险号或其他联邦识别号以便处理应用。检验器可能需要来自用户的信息以执行与该信息相关的任何功能。如果信息先前已经由证明器证明并因此可以被假设为有效的,则检验器可能仅希望执行与该信息相关的功能。如果可以示出发送信息的用户具有对信息的控制或拥有该信息,则检验器可能仅希望执行与该信息相关的功能。检验器向用户发送数据请求。在一个实施例中,该对数据的请求被称为dataRequest。在一个实施例中,加密质询现时值与对数据的请求一起发送。在一个实施例中,对信息的请求和加密质询现时值被分开发送。在一个实施例中,对数据的请求包括使用户发送用户公钥的请求。在一个实施例中,对数据的请求包括用户仅发送在生成原始证明交易时存储的数据的请求。在一个实施例中,对数据的请求包括使用户发送用于创建证明地址的所有公钥的请求,所述公钥包括例如用户、证明器、第三方联合签名者、数字钱包提供商的公钥等。
[0201] 在检验协议210的步骤406中,检验器接收从用户请求的信息。在一个实施例中,除了所请求的信息之外,检验器还接收用户的公钥。在一个实施例中,检验器还接收用于创建证明地址的公钥。在一个实施例中,所发送的信息是在原始证明协议期间存储的信息。在一个实施例中,从用户接收的公钥包括证明器的公钥和一个或更多个第三方联合签名者的公钥。在一个实施例中,所接收的数据包括已经通过用户的私钥来签名的加密质询现时值。在一个实施例中,在步骤407中将加密质询现时值发送给用户,并且在步骤408中接收回利用用户的私钥来签名的加密质询现时值。在步骤410中,检验器可以使用已签名的加密现时值和用户的公钥来检验用户是否是他们所说的人,如本领域中已知的。在步骤412中,检验器使用从用户接收的信息和用户的公钥来导出公共证明密钥。在一个实施例中,检验器可以亲自使用证明器的应用或网站来创建公共证明密钥,所述应用或网站使用证明协议的一部分来生成公共证明密钥。在一个实施例中,检验器可以使用由第三方(例如但不限于数字钱包提供商)提供的应用或网站来创建公共证明密钥。在一个实施例中,检验器可以使用应用来创建公共证明密钥,所述应用使用证明协议的一部分来生成公共证明密钥。在一个实施例中,检验器可以将由用户接收的信息发送给证明器,并且可以从证明器接收回公共证明密钥。在一个实施例中,检验器可以具有证明协议的先验知识并且可以在本地生成公共证明密钥。在步骤414中,检验器然后使用公共证明密钥和用户所发送的其他密钥来导出证明地址。在一个实施例中,检验器可以亲自创建证明地址。在一个实施例中,检验器可以使用证明器的应用或网站来创建证明交易。在一个实施例中,检验器将用户信息、用户的公钥、以及由用户发送的所有其他密钥发送给第三方应用或网站,并且第三方应用或网站代表检验器执行计算公共证明密钥和证明地址的功能。在一个实施例中,检验器使用第三方数字钱包提供商应用或网站来检验证明交易在证明地址处的存在。在一个实施例中,检验器可以经由API将公共证明密钥和用户所接收的其他公钥发送到第三方应用或网站。在一个实施例中,检验器可以检验是否可使用付款给脚本散列(P2SH)与公共证明密钥以及由用户发送的其他公钥(其可包括证明器的公钥和第三方联合签名者公钥)来导出证明交易的证明地址。在步骤416中,通过检验证明交易在集中式或分布式分类帐中的证明地址处的存在,以及通过检验与证明交易相关联的加密货币是否尚未支出来确定是否撤销交易,检验器可以检查证明交易的证明地址是否有效。在一个实施例中,检验器可以使用第三方数字钱包提供商应用或网站来检验证明交易在证明地址处的存在。在一个实施例中,检验器可以将从用户接收的数据发送给证明器,以便检验证明交易在证明地址处的存在。在一个实施例中,使用质询现时值来检验对用户私钥的控制;导出公共证明密钥;生成证明地址;以及检验在集中式或分布式分类帐中的证明地址处的证明交易的上述步骤可以由检验器、由证明器或由第三方以各种组合来完成。
[0202] 图5a是用于描述撤销协议212的方法的流程图500。在描述图5a的撤销协议212的步骤之前,应当注意,证明交易认证信息已经被生成并被存储在集中式或分布式分类帐中。在一个实施例中,撤销协议用于移除先前已经被证明的信息。如果用户已经证明对于他们拥有某些财产并且稍后出售该财产的契约,则用户可能希望撤销证明交易。在一个实施例中,证明器想要撤销经证明信息。例如,如果驾驶执照因某种违法行为而需要被撤销,则可以是该信息的原始证明器的机动车部门将撤销所述驾驶执照。在另一个示例中,证明器可以与需要被撤销的信息的发布者不同,但是仍然可以是撤销交易的一方。例如,证明器可能发现用户以某种方式使用欺诈性识别在证明器处创建了帐户,并且然后证明器将撤销用户已经创建的证明。在一个实施例中,用户可能想要撤销他们自己的经证明信息,例如,如果他们认为该信息已经受损。在一个实施例中,使用撤销协议来改变先前已经证明的信息。如果用户先前已经证明了包括地址和信用卡号的个人信息,并且然后信用卡号改变了,则用户可以使用撤销协议来改变经证明信息中的信用卡信息。在一个实施例中,通过使用m-of-n多重签名交易来生成原始证明交易,并且因此必须使用相同的m-of-n签名来撤销所述交易。开始于图5a的开始块502处,生成新的已签名交易以撤销先前证明的信息(图5a的步骤
504)。在一个实施例中,存在与先前证明的信息相关联的证明交易。然后,通过网络将已签名交易发送到集中式或分布式分类帐(图5a的步骤506),所述分类帐通过支出与证明交易相关联的加密货币来撤销证明交易。图5a的流程图500在结束块508处结束。
[0203] 因此,在撤销协议212中,可以通过支出加密货币并从而使被创建以表示早期证明的交易无效来撤销认证用户信息的证明交易。在一个实施例中,与支出交易相关联的加密货币的目的地将是发起撤销的个人或实体。在一个实施例中,证明器正在发起撤销,并且加密货币被发送回证明器的数字钱包。在一个实施例中,需要证明地址中的M of N密钥来对支出交易进行签名以撤销证明,换言之,需要用于对原始证明交易进行签名的M of N密钥以便对支出交易进行签名,从而撤销证明。撤销交易可以由证明器、由用户、由第三方联合签名者或由不属于m-of-n组的第四方输入集中式或分布式分类帐中。
[0204] 图5b是更详细地描述撤销协议的示例性实施例的流程图510。协议在开始块502处开始。识别先前证明的信息,其被捕获在证明地址处的证明交易中并需要被删除或改变。在一个实施例中,该信息可以由用户识别,例如因为一些个人信息(诸如地址、驾驶执照号码或信用卡号)已经改变。在一个实施例中,由于担心数据泄露,用户可以发起撤销。在一个实施例中,该信息可以由证明器识别,所述证明器先前已经证明了来自该用户的信息,并且已经识别出先前证明的信息中的一些不再有效。在一个实施例中,证明器可以识别由于用户不再存在而需要被撤销的信息。在一个实施例中,例如在已经变为无效的在用户与第三方之间建立的关系的情况中,第三方可以请求撤销先前证明的信息。在步骤504处,生成新的证明交易以支出与现有交易相关联的加密货币(尘埃),以便撤销为撤销而识别的一些或所有的先前证明信息,如上所讨论。在一个实施例中,用户生成已签名的交易,所述交易支出与现有证明相关联的加密货币或尘埃。在一个实施例中,证明器生成已签名的交易,所述交易支出与交易相关联的加密货币或尘埃。在一个实施例中,用户可以识别需要被撤销的信息,并且证明器或其他第三方可以代表用户执行实际撤销协议的所有步骤。在一个实施例中,要被撤销的信息是现有未支出证明交易中的信息的子集。在一个实施例中,期望撤销现有证明交易中的所有信息。在步骤506处,将新签名的交易发送到集中式或分布式分类帐,由此支出与先前证明交易相关联的加密货币。在步骤507a处,确定是否存在需要证明的新信息。在一个实施例中,新信息可以替换刚被撤销的信息。在一个实施例中,新信息可以是对刚被撤销的信息的校正。在一个实施例中,在已签名的撤销交易被发送到集中式或分布式分类帐时支出的证明交易包含用户想要撤销的一些信息以及用户想要保留的一些信息,并且因此新信息可以包含被撤销的旧信息中的一些。在一个实施例中,与刚被撤销的信息相比,新信息可以与不同的用户相关联。如果没有要证明的新信息,则协议移到块508并结束。如果有要证明的新信息,则调用证明协议。该协议的主要步骤在步骤507b、507c和507d中示出。在步骤507b中,使用待证明的新信息的散列结合用户公钥来创建新的公共证明密钥。在步骤507c中,基于证明的所有签署者的公钥来创建新证明地址,并且对证明交易进行签名。为了编辑证明交易的详细信息,可以撤消现有交易并且然后可以使用证明协议来创建全新交易。在步骤507d中,将已签名的证明交易广播到集中式或分布式分类帐。然后,协议移动到块508并结束。
[0205] 图6是用于描述用于为了证明目的而利用证明器为用户创建用户帐户的方法的流程图600。将用户引导到证明器的网站或app(图6的步骤602)。证明器站点提示用户申请新帐户并提供信息(例如,PII)(图6的步骤603)。证明器站点从用户接收创建新帐户的指示,并且从用户接收待证明的信息(例如,PII)以及帮助检验信息的任何支持证件和/或其他证据(图6的步骤604)。所接收的信息可以包括全名、家庭住址、社会保险号(SSN)和出生日期(DOB),连同包括SSN卡、出生证明和驾驶执照的证件。
[0206] 验证器(其可以是第三方、证明器或两者)可以使用验证协议来验证信息(图6的步骤605)。这里,例如,验证器可以为证明器产生基于了解的问题以呈现给用户(图6的步骤606)。作为响应,用户可以提交由证明器接收的答案(图6的步骤607)。证明器和/或验证器可以部分地基于用户回答基于了解的问题的正确程度来计算用户的风险程度(图6的步骤
608)。有条件地,如果用户的风险预测过高,则证明器可以拒绝创建或验证用户帐户(图6的步骤609)。
[0207] 另一方面,当确定信息有效时,证明器继续创建用户帐户并执行用于证明的步骤。这致使为用户创建加密非对称密钥对(公钥和私钥)(图6的步骤610)。该密钥对可以由证明器、数字钱包提供商或其他装置创建。在使用私钥的情况下,用户能够执行签名协议以对证明交易进行签名。在不同的时间处并针对各种协议,有必要确定用户控制证明交易,换言之,证明交易尚未被撤销且仍然是有效的交易。在一个实施例中,这通过进行检查以确保交易未被支出来完成。在一个实施例中,通过查看是否可以在未支出交易输出(UTXO)高速缓存中找到交易,可以将交易检验为未支出的。
[0208] 证明器还可以为用户创建或致使创建数字钱包(图6的步骤611)。证明器和第三方联合签名者都可以对用户的根密钥进行签名,并且可以将密钥放在先前创建的数字钱包中。证明器或第三方联合签名者可以存储根密钥(图6的步骤612和613)。证明器执行或致使执行证明协议、验证协议和签名协议,以用于创建经由网络(例如,比特币网络)传送以便存储在集中式或分布式分类帐中的已签名交易(图6的步骤614)。
[0209] 图7是用于描述执行来自商业网站的商业交易的方法的流程图700。在示例性实施例中,商业交易是购买交易,并且商业网站是商家网站。可替代地,商业网站用于金融服务机构等。开始于图7的开始块702处,商家网站或在用户移动装置上运行的商家应用可以从用户接收开始处理购买交易的指示(图7的步骤710)。在步骤720中,发送对用户信息的请求,其中该信息先前已经在证明地址处存储在集中式或分布式分类账内的证明交易中进行了证明,所述集中式或分布式分类账提供可检验的交易记录。在步骤730中,与商家网站相关联的处理器接收用户的信息。在步骤740中,向用户发送加密质询现时值。在步骤750中,加密质询现时值利用用户私钥进行签名,并被发送回商家网站或在用户移动装置上运行的商家应用。在步骤760中,使用由用户私钥签名的加密质询现时值来检验用户的身份。在步骤770中,使用用户的信息来导出公共证明密钥。在步骤780中,使用公共证明密钥来导出证明地址。在步骤790中,检验证明交易在集中式或分布式分类账中的证明地址处的存在。在步骤792中,在检验到证明地址的存在时,完成购买交易。方法在步骤794处结束。
[0210] 在一个实施例中,商家应用可以有助于指示用户通过电子显示器开始处理交易。在一个实施例中,电子显示或呈现具有对应于商家网站的登录或输入屏幕,并且从用户接收开始处理交易的指示包括从用户接收登录信息并验证登录信息。在一个实施例中,在呈现中,用户可以点击按钮、菜单项或其他指示符以登录、输入或开始与在线站点相关联的处理。在一个实施例中,例如,如果用户作为访客进入商家的站点,则商家接收用户登录或来自用户的开始处理而无需登录的指示。在步骤720中,商家发送对用户信息的请求。在一个实施例中,商家的网站可能需要用户信息以完成购买交易。例如,商家的网站可能需要用户的信用卡或付款信息或货运信息。在一个实施例中,商家提示用户与商家的网站共享必要的信息。在一个实施例中,商家向用户通知所请求的信息需要已经由证明器证明。在一个实施例中,所请求的信息可以包括例如用户付款信息或用户货运信息。在一个实施例中,从用户请求的信息可以包括用户的公钥,以及证明器的公钥和经证明信息的任何第三方联合签名者。在一个实施例中,商家可以从数字钱包请求用户、证明器和任何一个或更多个第三方联合签名者的公钥。在一个实施例中,发送对用户信息的请求包括向证明器提供关于用户信息的请求。在图7的步骤730中,商家网站接收为了完成购买所需的用户信息。在一个实施例中,接收信息包括从证明器接收用户信息。
[0211] 然后,商家网站可以使用上面更早描述的检验协议来检验信息。在步骤740中,商家网站可以向用户发送加密质询现时值,从而请求用户用他们的私钥对现时值进行签名。商家执行该步骤以便确认用户已经控制了用户的私钥。在一个实施例中,将加密质询现时值发送给证明器应用,其中证明器管理用户的私钥并且可以利用用户的私钥对加密现时值进行签名。在一个实施例中,将加密质询现时值发送到第三方数字钱包提供商,其中数字钱包提供商控制用户的私钥并且可以利用用户的私钥对加密现时值进行签名。在步骤750中,商家网站接收利用用户私钥签名的加密质询现时值。在步骤760中,商家网站利用由用户私钥签名的加密质询现时值来检验用户身份。在一个实施例中,通过使用本领域已知的用户公钥来执行该步骤。在一个实施例中,由代表商家的证明器执行该步骤。在一个实施例中,由商家或用户正在与之交互的证明器应用执行该步骤。在一个实施例中,证明器提供API以便使商家执行该步骤。在一个实施例中,由代表商家的数字钱包提供商执行该步骤。如果该检验成功,则商家现在具有高度信任,即用户是他们所说的人,因为他们控制用户的私钥。
在步骤770中,商家使用从用户接收的信息和用户私钥来导出公共证明密钥,如本文的方法中所述的。在步骤780中,商家还使用公共证明密钥和接收的其他公钥来导出证明地址,如本文的方法中所述。在步骤790中,商家检验证明交易在集中式或分布式分类帐中的证明地址处的存在。在一个实施例中,商家附加地检验到交易在未支出交易输出(UTXO)高速缓存中并且因此仍然有效且尚未被撤销。在一个实施例中,步骤770、780和790中的一个或更多个可以由证明器执行。在一个实施例中,步骤770、780和790中的一个或更多个可以由代表证明器或商家的数字钱包提供商执行。商家现在可以具有高度信任,即由用户提供的信息是有效的。商家可以在步骤792中继续完成购买交易,而不必通过附加的欺诈检测和预防步骤重新检验信息。方法在图7的步骤794处结束。
[0212] 图8是用于描述执行与商家的购买交易的方法的流程图800。在一个实施例中,该方法使用在用户装置上运行的证明应用来离线检验身份(例如,在没有活动的互联网数据连接的情况下)。在一个实施例中,方法使用第三方数字钱包应用。在一个实施例中,方法使用由证明器提供的API。在一个实施例中,方法使用商家网站或应用。
[0213] 用户先前已经具有由证明器证明的信息。在步骤810中,用户在用户的装置上打开应用,并被显示用于选择经证明信息的不同项的呈现。在一个实施例中,用户可以选择在所有经证明信息中要共享哪些经证明信息。在一个实施例中,用户可以选择预配置的信息模板。在步骤820中,用户装置上的应用接收用户对经证明信息的选择。在一个实施例中,用户对经证明信息的选择包括一组付款信息。在一个实施例中,用户对经证明信息的选择包括对于活动的适当执照或许可证、对于事件的票证、或对于边境站的护照。
[0214] 在选择信息时,在步骤830中,应用呈现表示用户装置上的所选择的经证明信息的视觉代码。在一个实施例中,视觉代码是条形码或移动视觉图像。视觉代码表示所选择的经证明信息。在一个实施例中,用户可以向检验器示出该呈现,所述检验器可以是商家、边境代理、地旋转门或其他人。在一个实施例中,作为示例,检验器可以通过使用移动装置上的扫描仪或相机来扫描视觉代码。
[0215] 在步骤840中,应用经由视觉代码传输所选择的经证明信息。在一个实施例中,运行应用的用户装置可以使用许多其他对等(P2P)通信技术之一来传输信息,所述通信技术包括但不限于本地Wi-Fi、蓝牙、蓝牙LE、近场通信(NFC)、红外、RFI、环境音频、超声波音频等。在接收到经证明信息时,检验器的装置执行检验协议以断言证明器过去是否证明了数据,从而指示信息是否被检验。检验器可以查询其自身的高速缓存副本或可包含用户证明交易的集中式或分布式分类帐数据库的子集。如果证明交易在分类帐中,指示出直到本地高速缓存的年限,任何有能力的各方都没有撤销证明,则证明仍然有效。作为检验协议的一部分,检验器的装置可以使用上文描述的程序以加密现时值消息的形式向用户发送质询。在一个实施例中,检验器是商家。在一个实施例中,检验器是代表商家起作用的证明器。在一个实施例中,检验器是代表商家起作用的第三方数字钱包提供商。
[0216] 图9是用于描述执行与商家的购买交易的方法的流程图900。在一个实施例中,该方法使用在用户装置上运行的证明应用来离线检验身份(例如,在没有活动的互联网数据连接的情况下)。用户先前已经具有由证明器证明的信息,并且存储了该信息。在用户的装置与商家的服务器之间建立通信信道以便使所有数据通过。在一个实施例中,可以由用户在其装置上呈现商家可扫描的代码来建立信道。在一个实施例中,通过接收由用于与用户相关联的处理器的短距离发射器发射的信号、使用许多对等(P2P)通信技术之一来建立通信信道,所述通信技术包括但不限于本地Wi-Fi、蓝牙、蓝牙LE、近场通信(NFC)、红外、RFI、环境音频、超声波音频等。在一个实施例中,只有在与互联网的连接不可用时才使用对等通信。在一个实施例中,用户在移动装置上打开证明应用,并且被显示用于选择不同的先前存储的经证明信息的呈现。在一个实施例中,用户装置上的证明应用创建既用于建立通信链路又用于传输先前证明的信息和用户公钥的代码。在一个实施例中,用户可以选择要共享哪些经证明信息,或者选择预配置的信息模板。在步骤910中,商家接收表示其保存的用户信息的代码,其中代码由用于与用户相关联的处理器的输出装置提供,并且其中该信息先前已经在证明地址处存储在集中式或分布式分类账内的证明交易中进行了证明。在一个实施例中,商家经由商家装置上的证明器应用来接收代码。在一个实施例中,商家经由商家装置上的第三方数字钱包应用来接收代码。在一个实施例中,在与商家相关联的处理器处接收表示用户信息的代码包括接收在用于与用户相关联的处理器的显示单元上显示的视觉代码。在一个实施例中,在与商家相关联的处理器处接收表示用户信息的代码包括光学地识别在用于与用户相关联的处理器的显示单元上显示的视觉代码。在一个实施例中,在与商家相关联的处理器处接收表示用户信息的代码包括将与商家处理器相关联的光学识别装置放置在用于与用户相关联的处理器的显示单元的视觉邻近处。在一个实施例中,商家可以充当检验器并且可以如前所述的那样使用检验协议。在一个实施例中,商家可以是边境代理、在公共交通的入口处的门或十字转门、或另一个人。在一个实施例中,用户对经证明信息的选择包括一组付款信息、对于活动的适当执照或许可证、对于事件的票证、或对于边境站的护照。
[0217] 在步骤920中,与商家相关联的处理器将所接收的代码转换为用户的信息。在一个实施例中,作为示例,商家通过使用移动装置上的扫描仪或相机来扫描视觉代码。在一个实施例中,证明器应用将代码转换为用户的信息。在步骤930中,通过使用用户的信息来导出公共证明密钥。在一个实施例中,使用证明器应用来导出公共证明密钥。在一个实施例中,使用数字钱包应用来导出公共证明密钥。在一个实施例中,从代码转换的用户信息包括用户的公钥。在一个实施例中,用户的公钥由证明器应用或由第三方数字钱包应用存储。在步骤940中,使用公共证明密钥来导出证明地址。在步骤950中,使用证明地址来检验证明交易在集中式或分布式分类帐中的存在,如先前所示。在步骤960中,在检验到证明交易的存在时,商家完成购买交易。在一个实施例中,在完成购买交易之前,商家将加密质询现时值发送到与用户相关联的处理器以便检验到用户控制用户的私钥。
[0218] 图10是用于描述用于在移动电话或装置(例如,智能电话)上使用证明应用来登录网站或在线站点或服务的方法的流程图1000。首先,向用户呈现在线站点的登录或输入屏幕。用户可以点击按钮、菜单项或其他指示符以登录、输入或开始与在线站点相关联的处理(图10的步骤1010)。在线站点向用户提供视觉代码(例如,条形码或运动QR)的呈现(图10的步骤1020)。用户继续使用证明应用来扫描视觉代码(例如,通过使用移动装置上的相机)(图10的步骤1030)。扫描视觉代码的行为致使在移动装置与在线站点之间建立直接连接。
[0219] 在线站点提供呈现和程序以允许用户传送已经由证明器证明的信息。用户在其证明应用中传递经证明的该识别信息以进行登录(图10的步骤1040)。例如,该识别信息可以包括电子邮件地址和/或任何其他信息项。然后,在线站点继续使用上面更早讨论的协议来检验用户的识别信息(图10的步骤1050)。如果检验了用户的识别信息,则用户基于由证明应用提供的经认证信息来成功登录到在线站点(图10的步骤1060),在此之后执行在线站点上的正常会话管理技术。
[0220] 图11是用于描述用于在移动电话或装置(例如,智能电话)上使用证明应用以在在线站点或服务上注册或登记以创建用户帐户的方法的流程图1100。首先,向用户呈现对于在线站点的登录或输入屏幕。用户可以点击按钮(例如,登录按钮)、菜单项等来登录或进入在线站点(图11的步骤1110)。在线站点向用户提供视觉代码(例如,条形码或运动QR)的呈现(图11的步骤1120)。用户继续使用证明应用来扫描视觉代码(例如,通过使用移动装置上的相机)(图11的步骤1130)。扫描视觉代码的行为致使在移动装置与在线站点之间建立直接连接。
[0221] 接下来,向用户提供要求用户共享某些信息以便创建帐户的呈现(图11的步骤1140)。可能需要所请求的信息中的一些以便使用户开立帐户,并且所请求的信息中的一些可以是可选的。用户可以选择他们想要提供哪些可选信息作为帐户创建的一部分(图11的步骤1150)。用户可以使用证明应用将所需信息和所选择的可选信息发送到在线站点。这里,可以将用户的经证明信息连同用户的同意从用户移动装置的证明应用发送到在线站点(图11的步骤1160)。在线站点可以信任通过证明应用提供的经证明信息。另一方面,在线站点可以决定使用先前在前面更早描述的检验协议来执行附加检验。一旦在线站点信任用户信息的真实性,则在线站点遵循其基于经证明(并且可能经检验)的信息创建新用户帐户的正常过程(图11的步骤1180)。
[0222] 图12是用于描述由证明器1240在帐户创建期间验证个人识别信息、或者添加要验证和认证的新的或更新的个人识别信息的方法的流程图1200。方法开始于用户1230的证明器站点和/或app为用户1230提供登录或输入屏幕,并且用户1230继续登录到证明器1240(图12的步骤1210)。用户130开始利用证明器1240获取账户的过程并向证明器1240提供信息(图2的步骤1211)。信息可以包括用户的社会保险号、出生日期、名称、物理地址、电话号码等。证明器1240可以针对内部黑名单检查用户信息,以便确定是否继续帐户的创建以及对该用户信息的后续证明(图12的步骤1213)。
[0223] 如果证明器1240确定继续,则证明器可以对用户信息执行证明协议和验证协议。这些协议在上面例如关于图2-3已经先前被描述。在一个实施例中,证明器1240可以利用一个或更多个验证器1250来执行验证协议中的一些或全部,并且可以将用户信息发送到验证器1250(图12的步骤1214)。证明器1240可以执行其他验证过程并检查其他记录以查看该帐户创建是否应当继续。如前所述,一个或更多个验证器1250可以根据验证协议针对内部记录和外部记录检查数据的有效性(图12的步骤1215)。验证协议可以涉及检查由用户1230提供的数据是否与信用记录匹配(图2的步骤1212)。验证协议可以涉及审查社交网络上可用的信息以分析用户1230是真人的可能性。
[0224] 一个或更多个验证器1250可以利用统计风险确定模型来确定是否需要更多的信息来做出有效性决定(图12的步骤1216)。如果是,则一个或更多个验证器1250可以生成进一步的用户信息要求,诸如使用户1230回答的一组问题(图12的步骤1217)。这些问题可能是诸如用户过去十年住在哪里、用户与哪些公司有贷款的问题,或者基于只有该用户才应当容易知道的信息的其他问题。一个或更多个验证器1250将这些附加用户信息要求发送到证明器1240。证明器1240向用户1230提出对于附加用户信息要求的请求(图12的步骤1218)。作为响应,用户1230向证明器1240提供对附加信息请求的回答(图12的步骤1218)。
证明器1240接收附加用户信息并进而将其传递到一个或更多个验证器1250(图12的步骤
1218)。
[0225] 如果一个或更多个验证器1250确定不再需要更多的信息来验证用户1230,则一个或更多个验证器可以向证明器1240发送统计分数,所述统计分数表示用户1230是真实的可能性(图12的步骤1219)。证明器1240可以创建标记为临时的用户帐户(图12的步骤1220),并且可以设置与用户帐户相关联的计时器。计时器被设置成使得,如果在时间限制内未完成进一步的验证步骤,则将暂停、保留或删除用户帐户。
[0226] 甚至可以采取进一步的验证步骤以用于进一步保证。证明器1240可以向用户的电子邮件地址发送网站链接或URL以便验证用户的电子邮件地址(图12的步骤1221)。可能要求用户1230转到或点击从证明器1240发送的电子邮件中的链接,这将用户的浏览器引导到证明器站点的网页以便使用户1230输入进一步的认证信息来激活他们的帐户。在另一个方面中,证明器1240可以要求用户1230通过使用户1230以该电话号码进行呼叫或发短信并收集响应来验证所提供的电话号码。在另一个方面中,证明器1240可以使用第三方多因素认证服务,诸如AUTHY.COM等。在另一个方面中,证明器1240可以使用本领域已知的各种2因素或多因素认证方法之一。在步骤1222处,证明器1240可以通过国家邮件服务或其他递送服务向位于提供给站点的住宅或其他地址的用户1230发送明信片。在接收时,用户1230可以将该明信片上的代码输入到证明器应用或网站上的表格中(图12的步骤1223)以验证创建了帐户的用户1230是否也控制该地址处的物理邮件。证明器1240可以将步骤1220处创建的帐户标记为永久活动的(图12的步骤1224)。
[0227] 图13a是用于描述与用户的个人识别信息的使用有关的通知消息传送的方法的流程图1300。在图13a的方法中,可以合法地是用户1305或由用户1305授权的、或者可替代地可能是欺诈的个人1310在步骤1350中尝试执行交易或从组织1320接收服务,该尝试包括提供用户的信息和用户的公钥。在步骤1352中,组织1320将从尝试交易的个人接收的信息和用户的公钥发送到证明器1330。在步骤1354中,证明器使用信息和公钥来生成证明密钥,并且使用证明密钥和用于生成与用户和信息相关联的原始证明交易的公钥来生成证明地址,并且检验证明交易是否在证明地址处存储在集中式或分布式分类帐内,以及证明交易是否尚未被撤销(例如,加密货币尚未被支出)。在步骤1356中,如果该信息先前已经在证明交易中进行证明并且证明交易尚未被撤销,则证明器在已知通信信道上或经由用户装置上的证明应用向用户发送通知消息。在一个实施例中,可以经由第三方向用户发送通知消息。在一个实施例中,第三方可以是应用提供商。在一个实施例中,第三方可以是证明器。在步骤1358中,用户响应于通知消息。在步骤1359中,证明器1330确定来自用户的响应是批准还是不批准商业交易。在步骤1360中,如果用户确认商业交易,则证明器1330向组织1320通知用户批准商业交易。在步骤1362中,如果用户未确认商业交易,则证明器1330向组织1320通知用户未批准商业交易。
[0228] 在图13a的方法中,可以合法地是用户1305或由用户1305授权的、或者可替代地可能是欺诈的个人1310尝试执行交易或接收服务。在一个实施例中,个人1310可能是欺诈性的,但可以控制属于用户1305的信息。在一个实施例中,个人1310是与用户1305相同的实体。在一个实施例中,组织1320可以是商家,并且个人可以在步骤1350中尝试进行购买。在一个实施例中,组织1320可以是银行或金融机构,并且个人可以在步骤1350中尝试提取或转移资金。对于本领域技术人员来说明显的是,如果个人1310以欺诈方式伪装成用户1305,则个人1310可以在组织1320处发起许多不同类型的交易,这将导致对用户1305的损害。在步骤1350中,在尝试接收服务的情况下,个人1310向组织1320发送先前证明的信息及其公钥。在一个实施例中,信息是进行商业交易所需并且先前也已经被证明的信息。在步骤1352中,当组织从寻求进行交易或接收服务的个人1310接收信息和公钥时,组织可以将该信息发送给证明器1330,使得证明器可以检验该信息是否已经被证明并且尚未被撤销。在一个实施例中,组织或证明器可以向个人发送要利用个人的私钥来签名的加密质询现时值,以便检验个人是否控制对应于公钥的私钥。在一个实施例中,组织向证明器通知已经进行了使用用户1305信息的尝试。在一个实施例中,组织1320可以指示个人1310正在进行的特定类型的请求,并且可以在请求中向证明器1330提供补救电话号码。在一个实施例中,证明器1330可以向组织1320提供应用或API,使得组织1320可以关于用户信息的使用而直接联系用户1305。在一个实施例中,组织1320发送提供给证明器1330或由证明器1330提供的应用或API的信息和公钥以便检验个人1310。在一个实施例中,所提供的信息可以包括社会保险或身份号,并且它被发送到证明器1330或由证明器1330提供的应用或API,以便检验个人
1310。在一个实施例中,组织1320从个人1310请求附加信息片段以便将该信息提供给证明器1330,以便检验个人1310。在一个实施例中,证明器1330从组织1320请求附加信息片段以便识别和检验个人1310。在一个实施例中,不同的第三方经由证明器1330使此类第三方服务提供商可用的API或应用来执行图13a中的证明器1330的角色。在步骤1354中,证明器
1330检验所接收的个人1310的信息是否先前已经被证明。在一个实施例中,证明器1330可以使用公钥或个人信息或公共证明密钥或证明地址,以使用标准数据库搜索功能在经证明用户的现有数据库中识别用户。在一个实施例中,证明器1330可以使用信息和用户的公钥来创建证明密钥和证明地址,以便检验该信息是否先前已经被证明。在一个实施例中,步骤
1354由组织1320经由访问证明器1330的API或应用执行。在一个实施例中,经证明用户的现有数据库由证明器1330存储。在一个实施例中,经证明用户的现有数据库存储在在线或基于云的存储装置中。在一个实施例中,数据库由第三方提供。在一个实施例中,现有数据库包括具有经证明信息的所有用户,而不管证明该信息的证明器如何。在一个实施例中,根据证明的信息的类型,存在不同的用户数据库。
[0229] 在一个实施例中,组织1320可以是证明器1330的客户。在步骤1354中,个人的信息或公钥或证明密钥或证明地址导致在经证明用户的现有数据库中识别个人1310。在一个实施例中,证明器1330可能需要来自个人1310的最小量的信息以便唯一地识别个人。在一个实施例中,证明器1330可以要求个人信息的至少某个子集,诸如个人的姓名、出生日期和地址的组合。在一个实施例中,作为非限制性示例,证明器1330可以仅需要个人信息的单个片段,诸如社会保险号。在步骤1356中,证明器1330在用户的通信信道上发送通知消息。在一个实施例中,可以通过在用户装置上使用证明器应用将通知消息传递到用户。在一个实施例中,通知消息用于通知用户1305尝试开始商业交易。在一个实施例中,证明器1330在用户1305的优选通信信道上发送通知消息。在一个实施例中,可以提示或要求用户1305授权对服务的访问,并且可以基于在用户装置处呈现的查询来允许或拒绝对服务的访问。在一个实施例中,用户1305可以通过响应于文本消息或语音呼叫来允许或拒绝对服务的访问。在多于一个通信信道上有关服务来查询用户1305的情况下,可以要求用户1305在一个、多于一个、或所有的通信信道上授权该交易。在步骤1358中,用户1305发送对通知消息的响应。
在一个实施例中,对通知消息的响应是从用户1305到证明器1330。在一个实施例中,对通知消息的响应包括来自用户1305的对尝试开始商业交易的确认、或者来自用户1305的对尝试开始商业交易的拒绝。在一个实施例中,用户1305在优选通信信道上发送对通知消息的响应。在一个实施例中,用户1305在用户装置上的证明器应用上指示对通知消息的响应。在步骤1359中,证明器确定来自用户1305的响应是否是对尝试开始商业交易的确认。如果响应是对尝试开始商业交易的肯定确认,则证明器1330向组织1320发送用户1305批准商业交易的通知,并且因此用户1305和个人1310可能是同一个人。如果响应是对尝试开始商业交易的拒绝,则证明器1330向组织1320发送用户1305未批准商业交易的通知,并且因此试图开始商业交易的个人1310可能是欺诈性的。
[0230] 图13b的方法示出了图13a中描述的方法的另一实施例。如前所述,在步骤1350中,在尝试接收服务的情况下,个人1310向组织发送信息及其公钥。在步骤1352中,当组织从寻求进行交易或接收服务的个人1310接收信息和公钥时,组织可以将该信息发送给证明器1330。在一个实施例中,证明器可以检验由组织发送的信息中指示的用户是否是在证明器处持有有效帐户的注册用户。如前所讨论的,在一个实施例中,证明器1330可以使用标准数据库搜索功能在经证明用户的现有数据库中查找信息或公钥或证明密钥。在一个实施例中,证明器1330可以使用已经接收的个人的信息和/或公钥来肯定地识别在证明器处持有有效账户的现有经认证且注册的用户(注册用户)。如果用户不是注册用户并且没有持有有效帐户,则证明器1330通知组织1320并且组织退回到传统个人检验。如果用户是注册的并且确实持有有效帐户,则在步骤1354中,证明器1330使用信息和公钥来生成证明密钥并使用证明密钥来生成证明地址,并且检验证明交易是否存在于证明地址处以及证明交易是否尚未被撤销。如果证明器1330确定不存在表示用户信息的有效证明交易,则证明器1330向组织1320警告他们不能够检验个人1310的信息并且在步骤1355c中,组织退回到检验个人
1310以便处理或拒绝商业交易的传统方法。在一个实施例中,在步骤1355d中,证明器1330检查用户1305的优选通信信道,例如证明器1330可以检查在用户简档中识别的用户1305的任何通信偏好。例如,用户的通信偏好可以是SMS或发短信、电子邮件、到特定智能电话或移动装置应用的推送消息、或其他用户提供的信道中的任何一个。在步骤1356中,证明器1330在通信信道上向用户1305的地址发送通知消息。在一个实施例中,通知消息用于通知用户
1305尝试开始商业交易。在步骤1358中,用户1305发送对通知消息的响应。在一个实施例中,对通知消息的响应是从用户1305到证明器1330。在一个实施例中,对通知消息的响应包括来自用户1305的对尝试开始商业交易的确认、或者来自用户1305的对尝试开始商业交易的拒绝。在一个实施例中,用户1305在优选通信信道上发送对通知消息的响应。在一个实施例中,用户1305在用户装置上的证明器应用上指示对通知消息的响应。在步骤1359中,证明器确定来自用户1305的响应是否是对尝试开始商业交易的确认。如果响应是对尝试开始商业交易的拒绝,则证明器1330向组织1320发送用户1305未批准商业交易的通知,并且因此试图开始商业交易的个人1310可能是欺诈性的。如果响应是来自用户1305的确认,则在步骤1360中,证明器1330向组织1320发送用户1305批准商业交易的确认,并且因此用户1305和个人1310可能是同一个人。在步骤1311中,在接收到用户1305批准商业交易的通知时,组织1320继续进行交易。在来自用户1305的响应不是对交易尝试的确认的情况下,证明器
1330在步骤1313a中向用户1305发送欺诈警告。在一个实施例中,证明器1330在步骤1313b中向组织1320发送欺诈警告。在一个实施例中,证明器1330在步骤1313c中向权威机构1340发送欺诈警告。如果组织1320在步骤1313b中从证明器接收到欺诈警告,则在一个实施例中,组织1320可以在步骤1314中阻止商业交易。当权威机构1340在步骤1313c中从证明器
1330接收到欺诈警告时,在一个实施例中,权威机构可以在步骤1315中向银行或信用卡公司警告用户受损。在一个实施例中,权威机构1340可以在步骤1316中针对个人1310启动欺诈行为后果。在一个实施例中,欺诈行为后果可能涉及针对个人进行指控。在一个实施例中,权威机构1340还可以在步骤1317中附加地为用户启动欺诈补救。在一个实施例中,欺诈补救可以涉及立即暂停所有用户帐户。在一个实施例中,欺诈补救可以涉及跟踪对任何用户帐户的任何进一步使用。在一个实施例中,欺诈补救可以涉及用户1305的一个或更多个账户的重新发出。
[0231] 图14示出了使用户向验证器提供信息的应用屏幕。用户移动装置上的用户界面屏幕可以模拟识别卡1400。识别卡1400可以呈现个人识别信息,其可以包括用户的照片、他们的年龄、他们的雇主、他们的家庭地址、他们的性别、身高、眼睛颜色、体重、电话号码、消息地址、电子邮件地址、社交媒体地址/用户名/句柄等。它还可以示出他们的数字加密货币接收者地址1430。识别卡1400可以包括一系列复选框1410(例如,在图的左下方),其示出了由证明器认证哪些信息源。在该示例中,识别卡示出了经认证的用户信息是用户的驾驶执照、雇主和生物识别数据。地址可能未被证明,因为地址旁边的部分未被复选,并且定图标1420可以指示卡的安全级别。
[0232] 为了与检验器通信,识别卡1400可以呈现动画图像1440,其将信息传送到在另一个智能电话上运行或使用附接到计算机的相机的检验器应用或证明器应用。可以放置识别卡1400,使得接收应用可以查看运动图像1440。数据传输可以用于发送经认证的信息,如图2-图5a/5b和本文所述。
[0233] 用户还可以使用识别卡1400来登录诸如网站的站点。在这种情况下,站点可以如在1440中显示移动图形,但在这种情况下,证明器应用可以使用智能电话相机来记录和解释从站点传输的信息。然后,如本文所述,识别卡1400的应用可以将适当的经证明凭证传输到站点。
[0234] 图15是用于描述使用本文描述的协议以便在互联网上认证数字实体身份的方法的流程图1500。本文描述的方法消除了对诸如证书颁发机构(CA)供应商的常规第三方的需要。CA供应商是发布在互联网上检验数字实体身份的电子证件的可信实体。被称为数字证书的电子证件是常规安全通信的基本部分,并且在公钥基础设施(PKI)中发挥着重要作用。证书通常包括所有者的公钥、证书的到期日期、所有者的名称、以及有关公钥所有者的其他信息。安全套接层/传输层安全性(SSL/TLS)证书系统的基本要素在于浏览器供应商需要信任发布证书的CA供应商。如果失去对CA供应商的信任,则主要浏览器将不信任并阻止使用由该供应商签名的数字证书的网站以便防止恶意黑客入侵和中间人攻击。CA供应商将证书存储在其自身的基础设施中,并且该基础设施本身可能被黑客入侵。例如,已发现一个CA供应商已经为许多域发布了欺诈性SSL证书。调查显示这是由于入侵CA供应商的基础设施而引起的。因此,常规CA系统中由于信任CA供应商储存和保管数字证书的事实而存在固有的弱点,并且容易受到入侵。
[0235] 证明器和公司可以创建证明交易,用户、操作系统、浏览器和包括预期通信或交易伙伴的其他实体可以使用所述证明交易来代替传统CA供应商发布的SSL证书。方法在开始块1502处开始。在步骤1504中,证明器从希望使其信息和身份得到验证和证明的数字实体接收信息和公钥。在步骤1506中,证明器验证从数字实体接收的信息,从而对数字实体进行调查以确保其是合法的。在步骤1508中,证明器根据本文描述的证明协议将信息的散列与公钥组合以创建公共证明密钥。在步骤1510中,证明器基于公共证明密钥来创建证明地址。在步骤1512中,证明器生成已签名的交易并将交易广播到集中式或分布式分类帐。方法在结束块1514处结束。
[0236] 在步骤1504中,证明器从数字实体接收的信息可以是数字实体的名称。在一个实施例中,数字实体必须提供的信息被标准化。在一个实施例中,数字实体可以提供比为了辅助验证数字实体的过程所需的信息更多的信息。在一个实施例中,信息可以包括数字实体的域名。在步骤1506中,证明器对数字实体进行调查并验证从数字实体接收的信息。在一个实施例中,该调查可以包括证明器验证数字实体是否拥有或具有使用信息中包括的域名的合法权利。在一个实施例中,证明器可以验证数字实体是合法且合法负责的实体。
[0237] 在步骤1508中,通过创建信息的散列并将信息的散列与数字实体的公钥组合以创建公共证明密钥,证明器使用数字实体的信息和数字实体的公钥来开始创建证明交易的方法。在步骤1510中,证明器基于公共证明密钥来创建证明地址,如前所述。在步骤1512中,使用其私钥来生成已签名的交易并将交易广播到集中式或分布式网络。方法在结束块1514处结束。
[0238] 图16是示出用户(例如,用户的网络浏览器或操作系统)可以通过其来确定它是否应该信任数字实体的服务器的方法的流程图。方法可以在不依赖于诸如传统CA供应商的附加第三方的情况下继续进行。如上所述,数字实体先前已经使其信息由证明器验证和证明。方法在开始块1602处开始。在步骤1604中,用户向数字实体发送对信息的请求,对信息的请求包括加密质询现时值。在一个实施例中,用户请求的信息是标准化信息集。在一个实施例中,用户请求的信息包括数字实体的公钥。在一个实施例中,在数字实体的网站上显示数字实体的公钥。在步骤1606中,用户从数字实体接收包括利用数字实体的私钥来签名的加密质询现时值的信息。在步骤1608中,使用本文先前描述的协议,用户使用从数字实体接收的信息和数字实体的公钥来创建证明地址。在步骤1610中,用户使用证明地址来检验证明交易是否在证明地址处存在于集中式或分布式分类帐上,以及证明交易是否尚未被撤销。在一个实施例中,用户利用证明器应用或API或插件来检验证明地址是否存在以及是否尚未被撤销。在一个实施例中,检验证明交易是否尚未被撤销的过程包括进行检查以查看证明交易是否存在于UTXO高速缓存中。在步骤1612中,用户使用已签名的加密现时值来检验数字实体是否控制公钥-私钥对中的私钥,如本领域中已知的。在接收到集中式或分布式分类帐上存在证明交易并且证明交易尚未被撤销的检验,和/或接收到对数字实体的身份的检验时,用户可以信任该数字实体并继续访问其服务器。以此方式,提供了一种方法,用户可以通过所述方法来检验数字实体的有效性,而不必信任CSL或OCSP存储和管理已签名证书。
[0239] 在一个实施例中,数字实体可以例如在其网站上显示代码,所述代码提供它们的信息和它们的公钥并且指示它们经由证明器来验证。当用户随后想要检验该数字实体是否合法并且他们是否可以信任该数字实体的证书时,用户可以简单地直接从网站上接收数字实体信息。应当理解的是,任何上述步骤可以由代表用户或公司的证明器执行。在一个实施例中,在检验证明交易是否在证明地址处存在于集中式或分布式分类帐上并且证明交易是否尚未被撤销之前,用户可以检验数字实体是否可以控制其私钥。在一个实施例中,数字实体或证明器可以使用撤销协议来撤销分类帐中的已签名交易。在一个实施例中,可以利用加密散列函数(例如,SHA256、RIPEMD160或两者)对信息进行散列化。
[0240] 虽然前面描述了用于证明和验证信息的一组特定技术,但是应当理解,信息证明具有更广泛的适用性,并且可以有用地用于增强、公民交易、金融交易身份检验、政治交易、合同、条约、数字签名、以及广泛的其他有用过程。
[0241] 上述系统、装置、方法、过程等可以用硬件、软件/或适合于应用的硬件和软件的任何组合来实现。硬件可以包括通用计算机和/或专用计算装置。这包括在一个或更多个微处理器、微控制器、嵌入式微控制器、可编程数字信号处理器或其他可编程装置或处理电路,连同内部和/或外部存储器中的实现。这也可以或替代地包括一个或更多个专用集成电路、可编程门阵列、可编程阵列逻辑部件、或可以被配置成处理电子信号的一个或更多个任何其他装置。将进一步认识到,上述过程或装置的实现可以包括使用结构化编程语言(诸如C)、面向对象编程语言(诸如C++)、或任何其他高级或低级编程语言(包括汇编语言,硬件描述语言和数据库编程语言和技术)来创建的计算机可执行代码,其可以被存储、编译或解释为在上述装置之一以及处理器的异构组合、处理器体系结构、或不同硬件和软件的组合上运行。在另一个方面中,所述方法可以体现在执行其步骤的系统中,并且可能以若干方式跨装置分布。同时,处理可以分布在诸如上述各种系统的装置上,或者所有功能可以集成到专用的独立装置或其他硬件中。在另一个方面中,用于执行与上述过程相关联的步骤的装置可包括上述任何硬件和/或软件。所有这些排列和组合都旨在落入本公开的范围内。
[0242] 本文公开的实施例可以包括计算机程序产品,其包括在一个或更多个计算装置上执行时执行其任何和/或所有步骤的计算机可执行代码或计算机可用代码。代码可能以非暂时的方式存储在计算机存储器中,所述计算机存储器可以是程序从其执行的存储器(例如,与处理器相关联的随机存取存储器),或者存储装置,诸如磁盘驱动器、闪存或任何其他光学、电磁、磁性、红外或其他装置或装置组合。在另一个方面中,上述任何系统和方法可以体现在承载计算机可执行代码和/或来自其的任何输入或输出的任何合适的传输或传播介质中。
[0243] 将认识到,上述装置、系统和方法是作为示例而非限制来阐述的。在没有明确相反的指示的情况下,可以在不脱离本公开的范围的情况下修改、补充、省略和/或重新排序所公开的步骤。对于本领域普通技术人员来说,许多变化、添加、省略和其他修改是明显的。此外,以上描述和附图中的方法步骤的顺序或呈现并不旨在要求这种执行所述步骤的顺序,除非明确要求或者从上下文中清楚地明确说明顺序。
[0244] 本文描述的实现方式的方法步骤旨在包括使执行此类方法步骤的任何合适的方法,与所附权利要求的可专利性一致,除非明确地提供或者从上下文中清楚地明白不同的含义。因此,例如,执行步骤X包括用于使诸如远程用户、远程处理资源(例如,服务器或云计算机)或机器的另一方执行步骤X的任何合适方法。类似地,执行步骤X、Y和Z可以包括指导或控制此类其他个人或资源的任何组合执行步骤X、Y和Z以获得此类步骤的益处的任何方法。因此,本文描述的实现方式的方法步骤旨在包括使一个或更多个其他方或实体执行步骤的任何合适方法,与所附权利要求的可专利性一致,除非明确地提供或者从上下文中清楚地明白不同的含义。此类方或实体无需受任何其他方或实体的指导或控制,并且无需位于特定管辖区内。
[0245] 还应当认识到,上述方法是作为示例提供的。在没有明确相反的指示的情况下,可以在不脱离本公开的范围的情况下修改、补充、省略和/或重新排序所公开的步骤。
[0246] 将认识到,上述方法和系统是作为示例而非限制来阐述的。对于本领域普通技术人员来说,许多变化、添加、省略和其他修改是明显的。此外,以上描述和附图中的方法步骤的顺序或呈现并不旨在要求这种执行所述步骤的顺序,除非明确要求或者从上下文中清楚地明确说明特定顺序。因此,虽然已经示出和描述了特定实施例,但是对于本领域技术人员来说明显的是,在不脱离本公开的精神和范围的情况下,其中可以在形式和细节上进行各种改变和修改,并且所述各种改变和修改旨在形成由所附权利要求限定的本公开的一部分,所述权利要求在法律可允许的最广泛意义上进行解释。
高效检索全球专利

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

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

申请试用

分析报告

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

申请试用

QQ群二维码
意见反馈