首页 / 专利库 / 银行与财务事项 / 区块链处理实体 / 使用区块链的身份管理服务

使用链的身份管理服务

阅读:648发布:2020-08-12

专利汇可以提供使用链的身份管理服务专利检索,专利查询,专利分析的服务。并且在第一远程设备上的逻辑引起对来自标识卡的标识用户的个人数据的捕捉。逻辑使用散列 算法 根据个人数据生成散列值并且以使用与公共密钥 配对 的私人密钥创建的数字签名来对所述散列值签名。逻辑通过网络将签名的散列值和公共密钥从远程设备传输到分布式公共 数据库 用于存储。逻辑通过网络从分布式公共数据库接收事务号码。然后逻辑将事务号码和个人数据传输到第二远程设备。第二远程设备上的逻辑核实签名的散列值中的散列值与生成的散列值是相同的并且核实签名的散列值是以私人密钥签名的。,下面是使用链的身份管理服务专利的具体信息内容。

1.一种方法,其包括如下操作:
捕捉来自标识卡的标识用户的个人数据,其中,由支持用户可访问接口的远程设备执行捕捉操作;
使用散列算法根据个人数据生成散列值;
以使用与公共密钥配对的私人密钥创建的数字签名来对散列值签名;
通过网络将签名的散列值和公共密钥从远程设备传输到分布式公共数据库用于存储;
通过网络从分布式公共数据库接收事务号码;以及
使用用户可访问的接口将事务号码和个人数据传输到第三方用于核实。
2.如权利要求1所述的方法,进一步包括使用公共密钥加密个人数据和将加密的个人数据存储在远程设备上的操作。
3.如权利要求1所述的方法,其中,远程设备是智能电话、或平板计算机或电子设备中的一个。
4.如权利要求1所述的方法,其中,分布式公共数据库是从多个实体接收用于存储的数据的链,接收的用于存储的数据被配置以被处理来生成依赖于存储到区块链的先前的数据的事务记录,其中依赖于存储到区块链的先前的数据的事务记录确保存储到区块链的数据不是可修改的,因为存储到区块链的之后的数据继续依赖于存储到区块链的先前的数据。
5.如权利要求1所述的方法,其中,标识卡是驾驶员执照、或护照、或雇员徽章、或军人标识或政治标识中的一个。
6.如权利要求1所述的方法,其中,使用数字照相机、或扫描器、或智能电话、或键盘、或触摸屏、或语音识别、或手写识别或其两个或更多的组合来执行捕捉操作。
7.如权利要求1所述的方法,其中,将个人数据的至少一部分编码在条形码或QR代码中。
8.一种方法,其包括如下操作:
从标识卡接收标识用户的个人数据,其中,在支持用户可访问的接口的第一远程设备上接收所述个人数据;
使用散列算法根据个人数据创建散列值;
以使用与第一公共密钥配对的第一私人密钥创建的数字签名来对散列值签名;
通过网络将签名的散列值和第一公共密钥从第一远程设备传输到分布式公共数据库用于存储;
从分布式公共数据库接收第一事务号码;以及
将第一事务号码和个人数据传输到第二远程设备,其中,第二远程设备上的逻辑使用第一事务号码来从分布式公共数据库取回签名的散列值和第一公共密钥,使用散列算法散列个人数据以创建生成的散列值,
核实签名的散列值中的散列值与生成的散列值是相同的,
核实以第一私人密钥对签名的散列值进行了签名,以及
创建证明。
9.如权利要求8所述的方法,其中,证明包括第一事务号码和个人数据或个人数据的选择的字段。
10.如权利要求9所述的方法,其中,在第二远程设备上用与第二公共密钥配对的第二私人密钥对证明签名。
11.如权利要求10所述的方法,其中,通过网络将签名的证明记录传输到分布式公共数据库用于存储。
12.如权利要求11所述的方法,其中,由第二远程设备从分布式公共数据库接收第二事务号码。
13.如权利要求8所述的方法,其中,每个远程设备是智能电话、或平板计算机或电子设备中的一个。
14.如权利要求8所述的方法,其中,分布式公共数据库是从多个实体接收用于存储的数据的区块链,接收的用于存储的数据被配置以被处理来生成依赖于存储到区块链的先前的数据的事务记录,其中依赖于存储到区块链的先前的数据的事务记录确保存储到区块链的数据不是可修改的,因为存储到区块链的之后的数据继续依赖于存储到区块链的先前的数据。
15.一种方法,其包括如下操作:
从标识卡接收标识用户的个人数据,其中在第一智能电话上接收所述个人数据;
使用散列算法根据个人数据创建散列值;
以使用与第一公共密钥配对的第一私人密钥创建的数字签名来对散列值签名;
通过网络将签名的散列值和第一公共密钥从第一智能电话传输到区块链数据库;
从区块链数据库接收第一事务号码;以及
将第一事务号码和个人数据传输到第二智能电话,其中,第二智能电话上的逻辑,使用第一事务号码从区块链数据库取回签名的散列值和第一公共密钥,
使用散列算法散列个人数据以创建生成的散列值,
核实签名的散列值中的散列值与生成的散列值是相同的,
核实以第一私人密钥对签名的散列值进行了签名,以及
创建证明。
16.如权利要求15所述的方法,其中,证明包括第一事务号码和个人数据或个人数据的选择的字段。
17.如权利要求16所述的方法,其中,在第二智能电话上用与第二公共密钥配对的第二私人密钥对证明签名。
18.如权利要求17所述的方法,其中,通过网络将签名的证明记录传输到区块链数据库。
19.如权利要求18所述的方法,其中,由第二远程设备从区块链数据库接收第二事务号码。
20.如权利要求15所述的方法,其中,将个人数据的至少一部分编码在条形码或QR代码中。
21.一种方法,其包括如下操作:
在第一远程设备上接收从第二远程设备传输的第一事务号码和个人数据,其中响应于第二远程设备上的签名的散列值和与第一私人密钥相关联的第一公共密钥的来自第二远程设备的传输,从分布式公共数据库接收第一事务号码,其中通过用第一私人密钥对散列值签名来创建签名的散列值,并且其中通过在第二远程设备上用散列算法散列个人数据来生成散列值;
使用第一事务号码来从分布式公共数据库取回签名的散列值和第一公共密钥,使用散列算法来散列个人数据以创建生成的散列值;
核实取回的签名的散列值中的散列值与生成的散列值是相同的;
核实以第一私人密钥对取回的签名的散列值进行了签名;以及
创建证明。
22.如权利要求21所述的方法,其中,证明包括第一事务号码和个人数据或个人数据的选择的字段。
23.如权利要求21所述的方法,其中,在第一远程设备上用第二私人密钥对证明签名。
24.如权利要求21所述的方法,其中,通过网络将签名的证明记录传输到分布式公共数据库用于存储。
25.如权利要求21所述的方法,其中,由第一远程设备从分布式公共数据库接收第二事务号码。
26.如权利要求21所述的方法,其中,分布式公共数据库是从多个实体接收用于存储的数据的区块链,接收的用于存储的数据被配置以被处理来生成依赖于存储到区块链的先前的数据的事务记录,其中依赖于存储到区块链的先前的数据的事务记录确保存储到区块链的数据不是可修改的,因为存储到区块链的之后的数据继续依赖于存储到区块链的先前的数据。
27.如权利要求21所述的方法,其中远程设备是智能电话、或平板计算机或电子设备中的一个。
28.如权利要求21所述的方法,其中标识卡是驾驶员执照、或护照、或雇员徽章、或军人标识或政治标识中的一个。
29.如权利要求21所述的方法,其中使用数字照相机、或扫描器、或智能电话、或键盘、或触摸屏、或语音识别、或手写识别或其两个或更多的组合来执行捕捉操作。
30.如权利要求21所述的方法,其中将个人数据的至少一部分编码在条形码或QR代码中。
31.一种方法,其包括如下操作:
在第一智能电话上接收从第二智能电话传输的第一事务号码和个人数据,其中响应于第二智能电话上的签名的散列值和与第一私人密钥相关联的第一公共密钥的来自第二智能电话的传输,从区块链接收第一事务号码,其中通过用第一私人密钥对散列值签名来创建签名的散列值,并且其中通过在第二远程设备上用散列算法散列个人数据来生成散列值;
使用第一事务号码来从区块链取回签名的散列值和第一公共密钥,
使用散列算法来散列个人数据以创建生成的散列值;
核实取回的签名的散列值中的散列值与生成的散列值是相同的;
核实以第一私人密钥对取回的签名的散列值进行了签名;以及
创建证明。
32.如权利要求31所述的方法,其中,证明包括第一事务号码和个人数据或个人数据的选择的字段。
33.如权利要求32所述的方法,其中,在第一智能电话上用第二私人密钥对证明签名。
34.如权利要求33所述的方法,其中,通过网络将签名的证明记录传输到区块链用于存储。
35.如权利要求34所述的方法,其中,由第一智能电话从区块链接收第二事务号码。
36.如权利要求31所述的方法,其中,标识卡是驾驶员执照、或护照、或雇员徽章、或军人标识或政治标识中的一个。
37.如权利要求31所述的方法,其中,使用数字照相机、或扫描器、或智能电话、或键盘、或触摸屏、或语音识别、或手写识别或其两个或更多的组合来执行捕捉操作。
38.一种方法,其包括如下操作:
在第一智能电话上接收从第二智能电话传输的第一事务号码和个人数据,其中所述接收涉及扫描条形码或QR代码,其中响应于第二智能电话上的签名的散列值和与第一私人密钥相关联的第一公共密钥的来自第二智能电话的传输,从区块链接收了第一事务号码,其中通过用第一私人密钥对散列值签名来创建签名的散列值,并且其中通过在第二远程设备上用散列算法散列个人数据来生成散列值;
使用第一事务号码来从区块链取回签名的散列值和第一公共密钥,
使用散列算法来散列个人数据以创建生成的散列值;
核实取回的签名的散列值中的散列值与生成的散列值是相同的;
核实以第一私人密钥对取回的签名的散列值进行了签名;以及
创建证明。
39.如权利要求38所述的方法,其中,证明包括第一事务号码和个人数据或个人数据的选择的字段。
40.如权利要求39所述的方法,其中,在第一智能电话上用第二私人密钥对证明签名。

说明书全文

使用链的身份管理服务

[0001] 优先权的要求本申请要求于2015年5月5日提交的题为“A User Identification Management 
System and Method”的美国临时专利申请No.62/157,256和于2016年3月7日提交的题为“An identity Management Service Using a Blockchain”的美国临时专利申请No.62/
304,934的优先权和权益。为了所有目的,将那两个申请的公开都并入本文中。

背景技术

[0002] 本发明一般地涉及用于管理用户的身份和向第三方标识那些用户的系统和方法。身份盗用引起每年数百亿(tens of billions)美元的损失。
[0003] 在对抗身份盗用的努中,已经开发了用于向第三方标识用户的系统和方法。在通常的二因素(two factor)应用中,除了对应于行卡或信用卡的个人标识号码(“PIN”)之外,用户还呈现该银行卡或信用卡。在其他系统中,用户提供密码来标识他自己/她自己并且可以给予用户具有唯一代码的短消息服务(SMS)文本消息,为了访问,用户必须列举(recite)所述唯一代码。在又一些其他系统中,可以给予用户挑战问题以核实他的/她的身份。然而,这些系统中的每个都遭受来自基本安全漏洞的攻击和最终的击败。
[0004] 具有用于管理用户的身份和向第三方标识用户的更安全的系统和方法将是有利的。

发明内容

[0005] 在示例实施例中,描述了一种方法。根据所述方法,远程设备上的逻辑对来自标识卡的标识用户的个人数据的捕捉。远程设备支持用户可访问的接口。逻辑使用散列算法根据个人数据生成散列值,并且以使用与公共密钥配对的私人密钥创建的数字签名来对所述散列值签名(sign)。然后逻辑通过网络将签名的散列值和公共密钥从远程设备传输到分布式公共数据库用于存储。然后逻辑通过网络从分布式公共数据库接收事务号码,并且使用用户可访问的接口将事务号码和个人数据传输到第三方的远程设备用于证明(certification)和/或核实。
[0006] 在另一个示例实施例中,描述了另一种方法。根据所述方法,在第一远程设备上的逻辑引起对来自标识卡的标识用户的个人数据的捕捉。第一远程设备支持用户可访问的接口。逻辑使用散列算法根据个人数据生成散列值,并且以使用与第一公共密钥配对的第一私人密钥创建的数字签名来对所述散列值签名。然后逻辑通过网络将签名的散列值和第一公共密钥从远程设备传输到分布式公共数据库用于存储。然后逻辑通过网络从分布式公共数据库接收第一事务号码。
[0007] 然后逻辑将第一事务号码和个人数据传输到第二远程设备,其中第二远程设备上的逻辑(a)使用第一事务号码来从分布式公共数据库取回签名的散列值和第一公共密钥、(b)使用散列算法来散列个人数据以创建生成的散列值、(c)核实签名的散列值中的散列值与生成的散列值是相同的、(d)核实以第一私人密钥对签名的散列值签名以及(c)创建证明。
[0008] 在另一个示例实施例中,描述了另一种方法。根据所述方法,在第一智能电话上的逻辑引起对来自标识卡的标识用户的个人数据的捕捉。逻辑使用散列算法根据个人数据生成散列值,并且以使用与第一公共密钥配对的第一私人密钥创建的数字签名来对所述散列值签名。然后逻辑通过网络将签名的散列值和第一公共密钥从远程设备传输到区块链数据库用于存储。然后逻辑通过网络从区块链数据库接收第一事务号码。
[0009] 然后逻辑将第一事务号码和个人数据传输到第二智能电话,其中第二智能电话上的逻辑(a)使用第一事务号码来从区块链数据库取回签名的散列值和第一公共密钥、(b)使用散列算法来散列个人数据以创建生成的散列值、(c)核实签名的散列值中的散列值与生成的散列值是相同的、(d)核实以第一私人密钥对签名的散列值签名以及(c)创建证明。
[0010] 在示例实施例中,描述了一种方法。根据所述方法,在第一远程设备上的逻辑接收从第二远程设备传输的第一事务号码和个人数据。响应于第二远程设备上的与第一私人密钥相关联的第一公共密钥和签名的散列值的来自第二远程设备的传输,从分布式公共数据库接收第一事务号码。通过用第一私人密钥对散列值签名来创建签名的散列值,并且通过在第二远程设备上用散列算法散列个人数据来生成散列值。第一远程设备上的逻辑使用第一事务号码来从分布式公共数据库取回签名的散列值和第一公共密钥。逻辑使用散列算法来散列个人数据以创建生成的散列值。然后逻辑核实取回的签名的散列值中的散列值与生成的散列值是相同的,并且核实以第一私人密钥对取回的签名的散列值签名。然后逻辑创建证明。
[0011] 在另一个示例实施例中,描述了另一种方法。根据所述方法,在第一智能电话上的逻辑接收从第二智能电话传输的第一事务号码和个人数据。响应于第二智能电话上的签名的散列值和与第一私人密钥相关联的第一公共密钥的来自第二智能电话的传输,从区块链数据库接收第一事务号码。通过用第一私人密钥对散列值签名来创建签名的散列值,并且通过在第二智能电话上用散列算法散列个人数据来生成散列值。第一智能电话上的逻辑使用第一事务号码来从区块链数据库取回签名的散列值和第一公共密钥。逻辑使用散列算法来散列个人数据以创建生成的散列值。然后逻辑核实取回的签名的散列值中的散列值与生成的散列值是相同的,并且核实以第一私人密钥对取回的签名的散列值签名。然后逻辑创建证明。
[0012] 在另一个示例实施例中,描述了另一种方法。根据所述方法,在第一智能电话上的逻辑接收从第二智能电话传输的第一事务号码和个人数据。接收涉及扫描条形码或QR代码。响应于第二智能电话上的签名的散列值和与第一私人密钥相关联的第一公共密钥的来自第二智能电话的传输,从区块链数据库接收第一事务号码。通过用第一私人密钥对散列值签名来创建签名的散列值,并且通过在第二智能电话上用散列算法散列个人数据来生成散列值。第一智能电话上的逻辑使用第一事务号码来从区块链数据库取回签名的散列值和第一公共密钥。逻辑使用散列算法来散列个人数据以创建生成的散列值。然后逻辑核实取回的签名的散列值中的散列值与生成的散列值是相同的,并且核实以第一私人密钥对取回的签名的散列值签名。然后逻辑创建证明。
[0013] 根据以下具体实施方式结合附图,本发明的其他方面和优点将变得清楚,附图通过示例的方式说明了本发明的原理。

附图说明

[0014] 图1A示出了用于密封公共存储设施中的人的身份的系统和方法的简化的框图
[0015] 图1B也示出了用于密封公共存储设施中的人的身份的系统和方法的简化的框图。
[0016] 图1C示出了用于密封公共存储设施中的任何输入数据的系统和方法的简化的框图。
[0017] 图2A示出了用于证明人的身份的系统和方法的简化的框图。
[0018] 图2B-1和2B-2示出了用于核实散列的输入数据和数字签名的过程。
[0019] 图2C示出了用于记录确认的简化的框图。
[0020] 图3A示出了用于核实确认记录的系统和方法的简化的框图。
[0021] 图3B示出了用于核实确认记录和其潜在的证明记录的方法的流程图
[0022] 相应的参考字符贯穿附图指示相应的部分。

具体实施方式

[0023] 在下列描述中,记载了多个具体细节以便提供对示例性实施例的透彻的理解。然而,对本领域技术人员而言将清楚的是,在没有这些具体细节中的一些的情况下,可以实施示例实施例。在其他实例中,如果已经公知,则不详细描述过程操作和实现细节。
[0024] 图1A示出了用于通过与公共存储设施128进行可核实的事务的方式来管理用户的身份的系统100和方法的简化的框图。通过示例,可以使用标识卡102。在其他实施例中,可以使用可以是数字的或非数字的其他形式的标识。在标识卡102的示例中,在其上包含标识用户的个人数据104。个人数据可以包括用户的照片106;用户的姓名、地址和驾驶员执照号码108,和/或条形码110或用于存储、扫描和/或取回附加数据的类似的计算机代码。此类编码可以包括PDF417代码、QR代码以及其他此类代码。然而,不必具有此类代码并且标识卡可以仅具有人类可读文本串。如上面指出的那样,在示例实施例中,标识卡102还可以采取物理的或数字的形式,并且可以通过扫描如所描述的代码、对文本串执行光学字符识别(OCR)、将数字标识卡从一个系统数字地传递到另一个系统、使用键盘人工地输入信息、使用语音识别人工地输入信息等任一取回信息。
[0025] 标识卡102可以是政府发布形式的标识,诸如驾驶员执照、护照、雇员徽章、军人标识、政治文档或者诸如此类。标识卡102还可以是私人发布形式的标识,诸如学生ID、图书馆卡、社交俱乐部卡或由第三方发布的任何其他形式的标识。
[0026] 在一个实施例中,如由三形114指示的那样,可以使用输入设备112来输入来自标识卡102的此类个人数据以提供输入数据。输入设备112可以采取许多形式。例如,输入设备112可以是用于从标识卡102读取包括在卡102上出现的任何代码的数据的数字扫描器、数字照相机或智能电话(例如,具有通常在智能电话中找到的照相机)。输入设备112还可以是用于人工地输入个人数据的设备,诸如键盘、触摸屏、语音识别设备、手写识别设备或其他人工输入设备。
[0027] 如在图1A中示出的那样,在操作119b中,可以可选地由加密逻辑118来加密输入数据并且安全地存储输入数据。在一个实现中,将输入数据直接地传递到散列逻辑120,而不通过加密逻辑118。为了容易理解,将首先讨论可选的加密逻辑118的操作,并且然后讨论由散列逻辑120处理的操作。因此,过程可以直接从经由112接收用户信息继续到散列逻辑120。
[0028] 将从输入设备112(例如,用户的智能电话)收集的输入数据传递到输入设备112上的加密逻辑118。在示例实施例中,加密逻辑118可能包括软件固件硬件或其任何组合,并且由例如RSA加密算法的一个或多个加密算法组成。加密逻辑118用公共密钥来加密输入数据以提供加密的数据。公共密钥与相关联的私人密钥配对,当使用RSA加密算法、椭圆曲线数字签名算法(ECDSA)或对本领域技术人员而言已知的其他加密算法生成此类密钥时这是常规的。如在操作119b中示出的那样,然后可以将该加密的数据本地地存储在输入设备112上用于增加的安全性。然后仅可以用输入设备112上的用户的私人密钥来访问它,可能在操作119a中将所述用户的私人密钥存储在输入设备112的更安全的部分中,例如,如果输入设备112是iOS(例如,由Apple公司制造的设备使用的操作系统)智能电话,则输入设备112的更安全的部分是“Keychain”。如果设备是不同类型的,例如,使用Android OS(例如,Google公司的操作系统)的设备,则可以使用类似的安全设备存储方法。以该方式,为了增加的安全性,不危害私人密钥并且将私人密钥安全地保持在输入设备112上。应当理解,可以将私人密钥存储在另一个设备上,但是应当处理类似的或附加的安全性以确保不损害私人密钥。
[0029] 如上面指出的那样,在从输入设备112接收输入数据之后,可以直接地继续要被散列逻辑120执行的操作。在该实施例中,使用散列逻辑120来散列输入数据(例如,收集的个人信息)以提供或生成散列值。散列值有时被称作“散列数据”,其由算法生成。在示例实施例中,散列逻辑120可能是软件、固件、硬件或其任何组合,并且由例如安全散列算法(SHA)算法的一个或多个散列算法组成。散列逻辑120将散列值传递到数字签名逻辑121,其使用输入设备112上的私人密钥对散列值执行数字签名。在示例实施例中,数字签名逻辑121可能是加密逻辑118的部件(或模块)。在其他实施例中,可以由单独的代码、固件和/或硬件定义数字签名逻辑121。
[0030] 在一个实施例中,数字签名逻辑121然后将签名的散列值和公共密钥传递到用户可访问的接口126(例如,图形用户接口或GUI),其可能是在输入设备112上运行的其他软件。在示例实施例中,用户可访问的接口126可能是应用或应用程序的部分,所述应用或应用程序包括加密逻辑118、散列逻辑120和数字签名逻辑121和/或其他模块或代码。可能由用户使用用户可访问的接口126来经由线130将数字签名的散列值和公共密钥传输到公共存储设施128,并且从公共存储设施128接收回对应于传输的散列值和公共密钥的事务号码132。如在本公开中使用的那样,在示例实施例中, “线”可能是有线和/或无线连接或网络的部分,包括总线、内联网、互联网、外联网、公共计算机网络、私人计算机网络等。在替代的示例实施例中,用户可能仅将签名的散列值传输到公共存储设施128,并且取回签名的散列值的人可能从其他处(例如,用户、公共数据库、因特网储存库、web站点等)获得公共密钥。
如公知的那样,不存在对保持公共密钥安全的需要,并且事实上,设计使用公共/私人密钥对的算法以使能公共密钥的完全共享。在另一方面上,必须保持私人密钥安全,如上面指出的那样。
[0031] 在一个实施例中,公共存储设施128可以采取区块链(例如,在比特币在线支付系统中)或任何其他公共或私人分布式数据库的形式。公共存储设施128经由线连接到通信链接并且可以适以通过公共计算机网络、互联网、内联网、外联网或任何私人通信网络通信。广义地讲,公共存储设施128是可由具有因特网连接的任何设备通过网络访问的。如在本领域中已知的那样,区块链是使能用户的访问以在公共场所中安全存储数据的系统。数据被认为是安全的,因为每次写数据时,写的数据依赖于包括执行密码散列操作的先前写的数据。使用区块链的益处在于,一旦将数据写到区块链并且建立区块链事务,则该事务保持完整并且在将来可以被核实。针对此的原因在于,例如,在进行特定事务之后,连续将数据写到区块链,并且之后的数据依赖于较早的特定事务。因此,通过将数据写到实现公共区块链的公共存储设施,可以实际地确保该数据的之后的核实是正确的。在一个实施例中,分布式公共数据库是区块链,其从多个实体接收用于存储的数据。实体不需要是相关的,并且数据的类型不需要是相同的。通常,存储区块链的实体是不相关的,并且数据的类型可以变化成几乎任何类型的数字数据,例如,不限于身份数据、商业数据、比特币数据等。因此,接收用于存储的数据被配置成被处理以生成依赖于存储到区块链的先前的数据的事务记录。依赖于存储到区块链的先前的数据的事务记录确保了存储到区块链的数据不是可修改的,因为存储到区块链的每个之后的数据继续依赖于存储到区块链的先前的数据。
[0032] 如上面指示的那样,在示例实施例中,在可选地连同公共密钥的从输入设备(例如,用户的智能电话)112到公共存储设施128用于存储的传输之前,可能散列输入数据并且可能用使用与公共密钥配对的私人密钥创建的数字签名对得到的散列值签名。因此,将用户可访问的接口126适配以将签名的散列值和公共密钥“密封”在公共存储设施128中。在一个实施例中,如果另一方能够散列相同的输入数据,则一旦将散列值以及可选地用户的公共密钥在事务中写到区块链,就可以进行之后的核实。
[0033] 如在图1B中描绘的那样,用户可访问的接口126(例如,GUI)可以是可由输入设备112的用户控制的以对事务号码132、输入数据以及可选地用户的公共密钥加密并且向第三方(例如,从事商业的、私人事务或与用户的其他事务的金融机构或其他实体)的输入设备
142(例如,智能电话)提供事务号码132、输入数据以及可选地用户的公共密钥以例如建立用户的身份。在一个实施例中,第三方将使用事务号码132访问区块链以取回数字地签名的散列值以及如果先前未由第三方从另一个源/位置获得公共密钥则可选地公共密钥,并且使能与由第三方使用输入数据和相同的散列算法生成的散列值的比较。
[0034] 在示例实施例中,可以由加密逻辑118使用与第三方的私人密钥配对的第三方的公共密钥来执行事务号码132、输入数据以及可选地用户的公共密钥的加密。然后,输入设备112上的编码逻辑150可能将加密的条目编码在条形码或QR代码中,并且第三方可能使用输入设备142来扫描条形码或QR代码并且对其解码以得到对加密的条目的访问。此后,第三方可能使用第三方的私人密钥对加密的条目解密以执行核实操作。在一个实施例中,核实可以使用RSA算法,如以下进一步详细地解释的那样。取决于配置的实现,还可以使用其他核实算法。
[0035] 图1C示出了用于将任何输入数据密封在公共存储设施中的系统和方法的简化的框图。如上面指出的那样,在从输入设备112接收用户信息之后,可以直接继续要被散列逻辑120执行的操作。在该实施例中,将散列逻辑120用于散列输入数据(例如,收集的个人信息)以提供或生成散列值。散列值有时被称作“散列数据”,其由算法生成。在示例实施例中,散列逻辑120可能是软件、固件、硬件或其任何组合,并且由例如安全散列算法(SHA)算法的一个或多个散列算法组成。散列逻辑120将散列值传递到数字签名逻辑121,其使用输入设备112上的私人密钥对散列值执行数字签名。在示例实施例中,数字签名逻辑121可能是加密逻辑118的部件(或模块)。在其他实施例中,可以由单独的代码、固件和/或硬件定义数字签名逻辑121。
[0036] 在一个实施例中,数字签名逻辑121然后将签名的散列值和公共密钥传递到用户可访问的接口126(例如,图形用户接口或GUI),其可能是在输入设备112上运行的其他软件。在示例实施例中,用户可访问的接口126可能是应用或应用程序的部分,所述应用或应用程序包括加密逻辑118、散列逻辑120和数字签名逻辑121,和/或其他模块或代码。可能由用户使用用户可访问的接口126来经由线130将数字签名的散列值和公共密钥传输到公共存储设施128,并且从公共存储设施128接收回对应于传输的散列值和公共密钥的事务号码132。在替代的示例实施例中,用户可能仅将签名的散列值传输到公共存储设施128,并且取回签名的散列值的人可能从其他处(例如,用户、公共数据库、因特网储存库、web站点等)获得公共密钥。如公知的那样,不存在对保持公共密钥安全的需要,并且事实上,设计使用公共/私人密钥对的算法以使能公共密钥的完全共享。在另一方面,必须保持私人密钥安全,如上面指出的那样。
[0037] 在一个实施例中,公共存储设施128可以采取区块链(例如,在比特币在线支付系统中)或任何其他公共或私人分布式数据库的形式。公共存储设施128经由线连接到通信链接,并且可以适于通过公共计算机网络、互联网、内联网、外联网或任何私人通信网络通信。广义地讲,公共存储设施128是可由具有因特网连接的任何设备通过网络访问的。
[0038] 如上面指示的那样,在示例实施例中,在可选地连同公共密钥的从输入设备(例如,用户的智能电话)112到公共存储设施128用于存储的传输之前,可能散列输入数据并且可能用使用与公共密钥配对的私人密钥创建的数字签名对得到的散列值签名。因此,用户可访问的接口126适于将签名的散列值和公共密钥“密封”在公共存储设施128中。在一个实施例中,如果另一方能够散列相同的输入数据,则一旦将散列值以及可选地用户的公共密钥在事务中写到区块链,就可以进行之后的核实。
[0039] 图2A示出了用于管理公共存储设施228中的用户的身份的证明方法的简化的框图。通过示例,可以使用标识卡202。在其他实施例中,可以使用可以是数字的或非数字的其他形式的标识。在标识卡202的示例中,在其上包含标识用户的个人数据204。输入数据可以包括用户的照片206;用户的姓名、地址和驾驶员执照号码208,和/或条形码210或用于存储、扫描和/或取回附加数据的类似的计算机代码。此类编码可以包括PDF417代码、QR代码以及其他此类代码。然而,不必具有此类代码并且标识卡可以仅具有人类可读文本串。如上面指出的那样,在示例实施例中,标识卡202还可以采取物理的或数字的形式,并且可以通过扫描如所描述的代码、对文本串执行光学字符识别(OCR)、将数字标识卡从一个系统数字地传递到另一个系统、使用键盘人工地输入信息、使用语音识别人工地输入信息等任一取回信息。
[0040] 标识卡202可以是政府发布形式的标识,诸如驾驶员执照、护照、雇员徽章、军人标识、政治文档或者诸如此类。标识卡202还可以是私人发布形式的标识,诸如学生ID、图书馆卡、社交俱乐部卡或由第三方发布的任何其他形式的标识。
[0041] 在一个实施例中,如由三角形214指示的那样,可以使用输入设备212来输入来自标识卡202的此类个人数据以提供输入数据。输入设备212可以采取许多形式。例如,输入设备212可以是用于从标识卡202读取包括在卡202上出现的任何代码的数据的数字扫描器、数字照相机或智能电话(例如,具有通常在智能电话中发现的照相机)。输入设备212还可以是用于人工地输入个人数据的设备,诸如键盘、触摸屏、语音识别设备、手写识别设备或其他人工输入设备。
[0042] 如在图2A中示出的那样,可以可选地由加密逻辑218加密输入数据并且安全地存储输入数据。在一个实现中,将输入数据直接地传递到散列逻辑220,而不通过加密逻辑218。为了容易理解,将首先讨论可选的加密逻辑218的操作,并且然后讨论由散列逻辑220处理的操作。因此,过程可以从经由212接收用户信息直接地继续到散列逻辑220。
[0043] 将从输入设备212(例如,用户的智能电话)收集的输入数据传递到输入设备212上的加密逻辑218。在示例实施例中,加密逻辑218可能包括软件、固件、硬件或其任何组合,并且由例如RSA加密算法的一个或多个加密算法组成。加密逻辑218用公共密钥来加密输入数据以提供加密的数据。公共密钥与相关联的私人密钥配对,当使用RSA加密算法、椭圆曲线数字签名算法(ECDSA)或对本领域技术人员而言已知的其他加密算法生成此类密钥时这是常规。然后可以将该加密的数据本地地存储在输入设备212上用于增加的安全性。然后仅可以用输入设备212上的用户的私人密钥来访问它,可能将所述用户的私人密钥存储在输入设备212的更安全的部分中,例如,如果输入设备212是iOS(例如,由Apple公司制造的设备使用的操作系统)智能电话,则输入设备212的更安全的部分是“Keychain”。如果设备是不同类型的,例如,使用Android OS(例如,Google公司的操作系统)的设备,可以使用类似的安全设备存储方法。以该方式,为了增加的安全性,不损害私人密钥并且将私人密钥安全地保持在输入设备212上。应当理解,可以将私人密钥存储在另一个设备上,但是应当处理类似的或附加的安全性以确保不损害私人密钥。
[0044] 如上面指出的那样,在从输入设备212接收输入数据之后,可以直接地继续要被散列逻辑220执行的操作。在该实施例中,将散列逻辑220用于散列输入数据(或输入数据或个人数据的选择的字段)以提供或生成散列值。散列值有时被称作“散列数据”,其由算法生成。在示例实施例中,散列逻辑220可能是软件、固件、硬件或其任何组合,并且由例如安全散列算法(SHA)算法的一个或多个散列算法组成。散列逻辑220将散列值传递到数字签名逻辑221,其使用输入设备212上的私人密钥对散列值执行数字签名。在示例实施例中,数字签名逻辑221可能是加密逻辑218的部件(或模块)。在其他实施例中,可以由单独的代码、固件和/或硬件定义数字签名逻辑221。
[0045] 在一个实施例中,数字签名逻辑221然后将签名的散列值和公共密钥传递到用户可访问的接口226(例如,图形用户接口或GUI),其可能是在输入设备212上运行的其他软件。在示例实施例中,用户可访问的接口226可以是应用或应用程序的部分,所述应用或应用程序包括加密逻辑218、散列逻辑220和数字签名逻辑221,和/或其他模块或代码。可能由用户使用用户可访问的接口226以经由线230将数字签名的散列值和可选地公共密钥传输到公共存储设施228,并且从公共存储设施228接收回对应于传输的散列值和公共密钥的事务号码232。
[0046] 在一个实施例中,公共存储设施228可以采取区块链(例如,在比特币在线支付系统中)或任何其他公共或私人分布式数据库的形式。公共存储设施228经由线连接到通信链接,并且可以将公共存储设施228适配以通过公共计算机网络、互联网、内联网、外联网或任何私人通信网络通信。广义地讲,公共存储设施228是可由具有因特网连接的任何设备通过网络访问的。
[0047] 如上面指示的那样,在示例实施例中,在连同可选地公共密钥的从输入设备(例如,用户的智能电话)212到公共存储设施228用于存储的传输之前,可能散列输入数据(或输入数据的选择的字段)并且可能用使用与公共密钥配对的私人密钥创建的数字签名对得到的散列值签名。因此,将用户可访问的接口226适配以将签名的散列值和公共密钥“密封”在公共存储设施228中。在一个实施例中,如果另一方能够散列相同的输入数据,则一旦将散列值以及可选地用户的公共密钥在事务中写到区块链,就可以进行之后的核实。
[0048] 用户可访问的接口226(例如,GUI)可以是可由输入设备212的用户控制的以对事务号码232、输入数据(或输入数据的选择的字段)以及可选地公共密钥加密并且向证明者的输入设备242(例如,智能电话)提供事务号码232、输入数据(或输入数据的选择的字段)以及可选地公共密钥。在示例实施例中,可能由加密逻辑218使用与证明者的私人密钥配对的证明者的公共密钥来执行加密。然后,输入设备212上的编码逻辑可能将加密的事务号码232、输入数据(或输入数据的选择的字段)以及可选地公共密钥编码在条形码或QR代码中,并且证明者可能使用输入设备242来扫描条形码或QR代码并且对其解码以得到对加密的条目的访问。此后,证明者可能使用证明者的私人密钥对加密的条目解密并且核实它们,例如使用对RSA算法的“核实”功能调用,如以下进一步详细地解释的那样。
[0049] 一旦证明者的输入设备242接收条形码或QR代码,则证明者的输入设备212上的解码逻辑可能对条形码或QR代码解码并且证明者的输入设备242上的解密逻辑270可能使用证明者的私人密钥来对加密的条目解密。在示例实施例中,解密逻辑270可能是更一般的加密逻辑的部件(或模块)。在一个实施例中,可能由证明者的输入设备242上的散列逻辑272使用相同的散列算法来将解密的输入数据(或输入数据的选择的字段)散列成散列值,所述相同的散列算法曾被用于创建由用户数字地签名的散列值。并且可能由用户可访问的接口280(例如,GUI)使用解密的事务号码232来访问公共存储设施228(例如,区块链)并且取回签名的散列值和用户的公共密钥。然后可能将取回的签名的散列值、生成的散列值以及取回的或获得的公共密钥输入到核实逻辑273用于核实(例如,通过对RSA算法的“核实”功能调用),如果两个散列值是相同的并且公共密钥与签名是相关联的,则其输出“真”值,或者,如果两个散列值不是相同的或公共密钥与签名不是相关联的,则其输出“假”值。在示例实施例中,核实逻辑273可能是解密逻辑270的部件(或模块)。在另一个实施例中,核实逻辑
273可以是单独的模块、软件、固件和/或硬件。如上面指示的那样,在示例实施例中,可能从除了示例实施例中的公共存储设施228之外的一些其他源(例如,从用户)获得用户的公共密钥。
[0050] 在图2B-1和2B-2中描绘了该核实过程。图2B-1示出了如何根据输入数据创建数字签名的散列值。在操作1中,由用户的输入设备112上的散列逻辑220将输入数据(或输入数据的选择的字段)散列成散列值“ABC”。在操作2中,然后使用数字的签名逻辑121以用户的私人密钥对散列值“ABC”数字地签名以创建数字签名的散列值“XYZ”。
[0051] 图2B-2示出了在从公共存储设施228连同用户的公共密钥取回数字签名的散列值之后如何核实数字签名的散列值。在操作3中,在证明者的输入设备242处从用户的输入设备212接收输入数据(或输入数据的选择的字段),并且使用散列逻辑272将输入数据(或输入数据的选择的字段)散列成生成的散列值“ABC”。然后,在操作4中,将签名的散列值“XYZ”、生成的散列值“ABC”以及用户的公共密钥输入到核实逻辑273。在示例实施例中,核实逻辑273可能包括RSA核实算法。如果数字签名的散列值“XYZ”中的散列值与生成的散列值“ABC”是相同的并且以与用户的公共密钥相关联的私人密钥对数字签名进行了签名,则核实逻辑273返回“真”的值。否则核实逻辑273返回“假”的值。应当理解,可以在需要执行核实操作的任何设备(例如,用户的设备、证明者的设备、核实者的设备、第三方的设备、商业实体的设备、私人实体的设备等)上执行核实逻辑273。
[0052] 在来自加密逻辑270的“真”值的接收时,证明者可能创建指代核实的证明记录。在示例实施例中,证明记录可能包括事务号码232、从用户接收的输入数据(或输入数据的选择的字段)以及可选地时间戳,并且可能通过证明者使用与公共密钥相关联的证明者的私人密钥来散列证明记录和对证明记录数字地签名。然后证明者可能使用用户可访问的接口280(例如,GUI)来将签名的证明记录传输到公共存储设施228用于存储并且作为回报从公共存储设施228接收事务号码282。在示例实施例中,在向公共存储设施228的传输之前,证明者可能用证明者的公共密钥来加密证明记录,以便保持证明记录私密。
[0053] 将会理解,可能使用在图2B-1和2B-2中示出的核实过程来核实数据的条目上的数字签名而不是由输入设备212接收的输入数据(或输入数据的选择的字段)。在示例实施例中,在被数字地签名之前,可能不散列被数字地签名的数据的条目。在示例实施例中,可能使用在图2B-1和2B-2中示出的核实过程来核实文档而不是标识卡的数字签名的散列,例如,如上面描述的数字地签名的证明或如以下描述的数字地签名的确认。或者,可能使用相同的核实过程来核实通过发送者使用安全信封(secure-envelope)过程发送的数字地签名的令牌(例如,随机数)。当从用户向证明者、核实者、第三方等传输数据时,可能使用如下所述的安全信封过程代替公共密钥加密,或除了公共密钥加密之外还可能使用如下所述的安全信封过程,并且反之亦然。
[0054] 在示例实施例中,当使用安全信封过程时,发送者可鞥散列实时令牌(例如,由用户的远程设备生成的随机数)并且使用发送者的私人密钥对散列的令牌数字地签名。在示例实施例中,令牌可能可选地包括时间戳。然后发送者可能将签名的散列的令牌以及可选地与发送者的私人密钥相关联的公共密钥传输到分布式公共数据库用于存储,作为回报从分布式公共数据库接收事务号码。此后,在用接收者的公共密钥加密事务号码和令牌之后,可选地,发送者可能将事务号码和令牌传输到接收者,例如证明者、核实者、第三方等。在示例实施例中,接收者可能接收事务号码和令牌(可选地包括时间戳),如果需要,则使用接收者的私人密钥解密它们,并且然后使用事务号码来从分布式公共数据库取回数字地签名的散列的以及可选地发送者的公共密钥。接收者可能使用发送者使用的相同的散列算法来生成令牌的散列。然后接收者可能例如使用如上面描述的RSA核实调用来核实生成的散列中的令牌与数字地签名的散列令牌中的令牌是相同的,并且核实数字签名是用发送者的私人密钥创建的。可以例如由核实逻辑273处理RSA核实调用,例如以执行核实操作。在示例实施例中,在对令牌(可选地包括时间戳)签名之前,可能不散列令牌(可选地包括时间戳)。
[0055] 在一个配置中,如在图2C中描绘的那样,证明者可能用用户的公共密钥加密证明记录和事务号码282(例如,证明者从公共存储设施228接收的事务号码)并且在281中使用用户可访问的接口280(例如,GUI)将加密的证明记录传输到用户。在接收加密的证明记录时,用户可能使用用户的私人密钥解密它,并且然后如果核实了证明记录则创建指代或包括证明记录以及可选地包括时间戳的确认记录,以便链接公共存储设施228中的两个记录以促进第三方的方便的查找。此处,再次,为了核实证明记录,用户可能使用在证明者的数字签名之前证明者使用的相同的散列算法来散列证明记录。用户可能使用事务号码282来从公共存储设施228取回签名的证明记录和证明者的公共密钥。然后用户可能核实生成的散列中的证明记录与数字签名的证明记录中的证明记录是相同的,并且例如使用如上面描述的RSA核实调用来核实数字签名是用证明者的私人密钥创建的。
[0056] 在示例实施例中,确认记录可能包括证明记录、事务号码282以及可选地时间戳,并且用户可能用用户的私人密钥来对确认记录数字地签名。然后用户可能使用用户可访问的接口228(例如,GUI)来将签名的确认记录和用户的公共密钥传输到公共存储设施228用于存储,并且作为响应从公共存储设施228接收事务号码229。在示例实施例中,在到公共存储设施228的传输之前,用户可能用用户的公共密钥加密签名的确认记录以便保持确认记录私密。
[0057] 图3A示出了用于证明未决的事务的系统和方法的简化的框图。通过示例,可以使用标识卡302。在其他实施例中,可以使用可以是数字的或非数字的其他形式的标识。在标识卡302的示例中,在其上包含标识用户的个人数据304。个人数据可能包括用户的照片306;用户的姓名、地址和驾驶员执照号码308,和/或条形码310或用于存储、扫描和/或取回附加数据的类似的计算机代码。此类编码可以包括PDF417代码、QR代码以及其他此类代码。
然而,不必具有此类代码并且标识卡可以仅具有人类可读文本串。如上面指出的那样,在示例实施例中,标识卡302还可以采取物理的或数字的形式,并且可以通过扫描如所描述的代码、对文本串执行光学字符识别(OCR)、将数字标识卡从一个系统数字地传递到另一个系统、使用键盘人工地输入信息、使用语音识别人工地输入信息等任一取回信息。
[0058] 标识卡302可以是政府发布形式的标识,诸如驾驶员执照、护照、雇员徽章、军人标识、政治文档或者诸如此类。标识卡302还可以是私人发布形式的标识,诸如学生ID、图书馆卡、社交俱乐部卡或由第三方发布的任何其他形式的标识。
[0059] 在一个实施例中,如由三角形314指示的那样,可以使用输入设备312来输入来自标识卡302的此类个人数据以提供输入数据。输入设备312可以采取许多形式。例如,输入设备312可以是用于从标识卡302读取包括在卡302上出现的任何代码的数据的数字扫描器、数字照相机或智能电话(例如,具有通常在智能电话中发现的照相机)。输入设备312还可以是用于人工地输入个人数据的设备,诸如键盘、触摸屏、语音识别设备、手写识别设备或其他人工输入设备。
[0060] 如在图3A中示出的那样,可以可选地由加密逻辑318加密输入数据并且安全地存储输入数据。在一个实现中,将输入数据直接地传递到散列逻辑320,而不通过加密逻辑318。为了容易理解,将首先讨论可选的加密逻辑318的操作,并且然后讨论由散列逻辑320处理的操作。因此,过程可以从经由312接收用户信息直接地继续到散列逻辑320。
[0061] 将从输入设备312(例如,用户的智能电话)收集的输入数据传递到输入设备312上的加密逻辑318。在示例实施例中,加密逻辑318可能包括软件、固件、硬件或其任何组合,并且由例如RSA加密算法的一个或多个加密算法组成。加密逻辑318用公共密钥来加密输入数据以提供加密的数据。公共密钥与相关联的私人密钥配对,当使用RSA加密算法、椭圆曲线数字签名算法(ECDSA)或对本领域技术人员而言已知的其他加密算法生成此类密钥时这是常规的。然后可以将该加密的数据本地地存储在输入设备312上用于增加的安全性。然后可以用输入设备312上的用户的私人密钥来仅访问它,所述用户的私人密钥可能被存储在输入设备312的更安全的部分中,例如,如果输入设备312是iOS(例如,由Apple公司制造的设备使用的操作系统)智能电话,则输入设备312的更安全的部分是“Keychain”。如果设备是不同类型的,例如,使用Android OS(例如,Google公司的操作系统)的设备,可以使用类似的安全设备存储方法。以该方式,为了增加的安全性,不损害私人密钥并且将私人密钥安全地保持在输入设备312上。应当理解,可以将私人密钥存储在另一个设备上,但是应当处理类似的或附加的安全性以确保不损害私人密钥。
[0062] 如上面指出的那样,在从输入设备312接收用户信息之后,可以直接地继续要被散列逻辑320执行的操作。在该实施例中,将散列逻辑320用于散列输入数据(或输入数据或个人数据的选择的字段)以提供或生成散列值。散列值有时被称作“散列数据”,其由算法生成。在示例实施例中,散列逻辑320可能是软件、固件、硬件或其任何组合,并且由例如安全散列算法(SHA)算法的一个或多个散列算法组成。散列逻辑320将散列值传递到数字签名逻辑321,其使用输入设备312上的私人密钥对散列值执行数字签名。在示例实施例中,数字签名逻辑321可能是加密逻辑318的部件(或模块)。在其他实施例中,可以由单独的代码、固件和/或硬件定义数字签名逻辑321。
[0063] 在一个实施例中,数字签名逻辑321然后将签名的散列值以及可选地公共密钥传递到用户可访问的接口326(例如,图形用户接口或GUI),其可能是在输入设备312上运行的其他软件。在示例实施例中,用户可访问的接口326可能是应用或应用程序的部分,所述应用或应用程序包括加密逻辑318、散列逻辑320和数字签名逻辑321,和/或其他模块或代码。用户可能使用用户可访问的接口326经由线330将数字地签名的散列值和可选地公共密钥传输到公共存储设施328,并且从公共存储设施328接收回对应于传输的散列值和公共密钥的事务号码332。
[0064] 在一个实施例中,公共存储设施328可以采取区块链(例如,在比特币在线支付系统中)或任何其他公共或私人分布式数据库的形式。公共存储设施328经由线连接到通信链接,并且可以将公共存储设施328适配以通过公共计算机网络、互联网、内联网、外联网或任何私人通信网络通信。广义地讲,公共存储设施328是可由具有因特网连接的任何设备通过网络访问的。
[0065] 如上面指示的那样,在示例实施例中,在可选地连同公共密钥的从输入设备(例如,用户的智能电话)312到公共存储设施328用于存储的传输之前,可能散列输入数据并且可能用使用与公共密钥配对的私人密钥创建的数字签名对得到的散列值签名。因此,将用户可访问的接口326适配以将签名的散列值和公共密钥“密封”在公共存储设施328中。在一个实施例中,如果另一方能够散列相同的输入数据,则一旦将散列值以及可选地用户的公共密钥在事务中写到区块链,就可以进行之后的核实。
[0066] 用户可访问的接口326(例如,GUI)可以是可由输入设备312的用户控制的以在350中将确认记录、用于签名的确认记录的事务号码以及可选地用户的公共密钥传输到核实者342。在示例实施例中,还可能将用于签名的输入数据的事务号码332和输入数据传输到核实者342,用于使用由证明者使用的核实过程的核实,如上面讨论的那样。如在本文中使用的那样,为了提供对核实者342的功能或操作的宽广的理解,提供了银行是核实者的示例使用情况。应当理解,核实者可以是需要核实身份、数据或(一个或多个)事务的任何实体。另外,证明者可以是具有证明的身份、数据或(一个或多个)事务的任何实体。因此,在该使用情况示例中,银行不必与证明者是相同的实体,但是在其他情况中,银行也可以是证明者。
通过示例,银行可以核实由另一个实体做出的证明,所述另一个实体例如信用卡公司、汽车公司、政府机关、私人实体等。上面参考图2C详细地讨论了确认记录和用于签名的确认记录的事务号码。如上面指示的那样,用户可能使用利用核实者的公共密钥的加密和/或安全信封过程用于传输350。
[0067] 一旦核实者接收确认记录和用于签名的确认记录的事务号码,则核实者就可能使用在图3B中示出的过程来核实确认记录和其潜在的证明记录。在操作1中,核实者使用事务号码来从公共存储设施328取回签名的确认记录以及可选地用户的公共密钥。然后,在操作2中,核实者用由用户使用的相同的散列算法来散列确认记录,并且使用如上面详细讨论的核实算法来核实确认记录和用户的签名。在操作3中,如果核实是成功的,则核实者使用用于签名的证明记录的事务号码来从公共存储设施328取回签名的证明记录和证明者的公共密钥。然后,在操作4中,核实者用由证明者使用的相同的散列算法来散列证明记录,并且使用如上面详细讨论的核实算法核实证明记录和证明者的签名。如果该核实也是成功的,则核实者可能创建如上面讨论的的另一个证明记录,并且将其传输到公共存储设施328,作为响应,接收另一个事务号码,其可能连同核实者的证明记录被传输到用户用于另一个确认记录。
[0068] 在到区块链的传输之前可选地加密证明记录和/或确认记录的情况中,用户将未加密的确认记录传输到核实者,并且核实者使用未加密的确认记录中的数据来执行其核实。在示例实施例中,这些核实包括检查确认记录事实上存在于具有用于签名的确认记录的事务号码的区块链中。而且,在示例实施例中,未加密的确认记录包括签名的证明记录的事务号码连同来自证明记录的其他未加密的数据。使用用于签名的证明的事务号码和来自证明记录的未加密的数据,核实者可以确认证明记录事实上存在于区块链上并且可以处理证明记录中的未加密的数据以核实证明者的签名,即使在到区块链的传输之前证明记录也被加密。
[0069] 应当理解,在本文中的实施例和描述的使用情况仅是作为示例。由在本文中描述的功能可以包含和促进许多新的使用情况。例如,可以将身份核实集成到各种商业应用以及私人应用中。商业应用可以包括要求商业实体核实用户的身份的那些商业应用。可以要求核实用户的身份用于实现任何数量的功能,诸如旅行、进行交易、银行业务、通信、贷款核实、信用核实、购买核实以及其他使用。还可以使用在本文中描述的方法、装置、计算机可读介质和系统来促进私人身份核实。当用户希望以快而且高效的方式向另一个用户证明他们的身份时,私人身份核实可能是有用的。如上面描述的那样,在本文中描述的系统利用将数据写到区块链数据库的方法,所述区块链数据库是不可重写的并且永久地维持记录而不损害。这使能以可以由通过本发明的方法执行的一个或多个事务核实的方式将信息写到区块链。
[0070] 另外,可以用任何数量的计算机系统执行在本文中描述的方法操作。通过示例,计算机系统可以包括用户设备,诸如移动电话、平板计算机、台式计算机、手表计算机、头戴计算机、眼镜计算机或其组合。还可以在客户端设备之间执行和传送服务器操作以促进与区块链数据库、服务器存储设备以及诸如此类的事务。通过示例,这些计算机设备可以通过诸如因特网之类的网络来通信。网络使个别设备能够诸如通过发送、接收和处理交换的信息的方式来与彼此交易。交换的信息可以包括不同类型的加密的数据、散列的数据、信封、代码、QR代码、消息、通知以及其他类型的数据。
[0071] 提供消息收发和通信功能以使用户能交换数据以便核实身份,或使能用户对服务、货物或商业事务的访问或向用户提供对服务、货物或商业事务的访问。在银行业务操作的情况下,可以由银行以及银行的用户或需要来自关于用户的银行的证明的信息的第三方利用核实过程。在旅行类型核实的情况下,不同的旅行实体可以要求用户的标识,并且由他们自己或由被信任的其他第三方核实所述标识。可以使用执行核实过程的系统、方法、计算机可读介质和代码来促进这些操作。广义地讲,用户身份的核实在任何类型的行业或私人环境(private setting)中可以是有用的。通过使用核实基础设施、程序代码、应用以及其组合来简单地促进核实的使用,以确保该核实是安全的。
[0072] 在一些实施例中,可以在应用中实现核实系统,所述应用诸如可以在移动设备上安装的那些(例如,应用程序)。通过示例,希望使得他们的身份被核实的用户可以使用应用程序来密封关于他们的身份的信息。一旦已经密封了数据并且已经将加密的数据存储到区块链,则可以将该数据用于由另一方的之后的证明。其他方还可以正在利用相应的应用程序,其使能数据、代码、QR代码、消息或通知的高效读取以验证用户的身份。
[0073] 在又一些其他实施例中,可以将代码插件(plug-in)集成到商业web站点中,其可以将身份核实用于不同的原因或功能。例如,银行可以安装可以执行核实处理的部分或全部的插件应用、代码或程序以密封信息和/或以证明关于身份的信息。鉴于前述内容,应当理解,在本文中描述的核实过程和各种使用情况仅是作为示例,并且附加的使用情况对本领域技术人员而言将是明白的。
[0074] 在本文中限定的各种实施例可以限定个别实现或可以限定依赖于限定的实施例中的一个或多个的组合的实现。此外,可以用各种计算机系统配置来实施本发明的实施例,所述计算机系统配置包括手持式设备、微处理器系统、基于微处理器或可编程的消费者电子设备、小型计算机、大型计算机以及诸如此类。还可以在分布式计算环境中实施本发明,其中由通过基于有线的网络或无线网络链接的远程处理设备执行任务。
[0075] 形成本发明的部分的在本文中描述的操作中的各种操作是有用的机器操作。本发明还涉及用于执行这些操作的设备或装置。可以特别地构造装置用于需要的目的,或者装置可以是由存储在计算机中的计算机程序选择性地激活的或配置的通用计算机。特别地,可以将各种通用机器与根据在本文中的教导编写的计算机程序一起使用,或者构造更专化的装置来执行需要的操作可能是更方便的。
[0076] 还可以将本发明实现为计算机可读介质上的计算机可读代码。计算机可读介质是可以存储数据的任何数据存储设备,此后可以由计算机系统读所述数据。还可以将计算机可读介质分布在网络耦合计算机系统上,使得以分布式的方式存储和执行计算机可读代码。
[0077] 已经提供了该具体实施方式,应该清楚,在不脱离在所附权利要求书中限定的本发明的范围的情况下,修改和变型是可能的。当介绍本发明或其(一个或多个)优选的实施例的元素时,冠词“一”、“一个”、“该”和“所述”旨在表示存在元素中的一个或多个。术语“包括”、“包含”和“具有”旨在是包括性的并且意味着除了列出的元素之外可能还存在附加的元素。鉴于上面,将会看到实现了本发明的若干目的并且达到了其他有利的结果。因为在不脱离本发明的范围的情况下,可以在上面的系统中做出各种改变,所以旨在在上面的描述中包含的和在附图中示出的所有事情应被解释为说明性的并且不是限制性的意义。
[0078] 考虑到上面的实施例,应当理解,本发明可能采用涉及在计算机系统中存储的数据的各种计算机实现的操作。形成本发明的部分的在本文中描述的操作中的各种操作是有用的机器操作。本发明还涉及用于执行这些操作的设备或装置。装置可以被特别地构造用于要求的目的,诸如上面讨论的载波网络,或者其可以是由存储在计算机中的计算机程序选择性地激活的或配置的通用计算机。特别地,可以将各种通用机器与根据在本文中的教导编写的计算机程序一起使用,或者构造更专门化的装置来执行要求的操作可能是更方便的。
[0079] 还可以将本发明实现为计算机可读介质上的计算机可读代码。计算机可读介质是可以存储数据的任何数据存储设备,此后可以由计算机系统读所述数据。计算机可读介质的示例包括硬盘驱动器、网络附着存储(NAS)、只读存储器随机存取存储器、CD-ROM、CD-R、CD-RW、DVD、闪存、磁带和其他光学和非光学数据存储设备。还可以将计算机可读介质分布在网络耦合的计算机系统上,使得以分布式的方式存储和执行计算机可读代码。
[0080] 虽然为了理解的清楚的目的已经相当详细地描述了本发明的示例实施例,但是将清楚,可以在以下权利要求书的范围内实施某些改变和修改。例如,web站点可能托管在线零售商或在线出版,代替连接的电视服务。此外,可以以任何合适方式对上面描述的操作排序、模块化和/或分布。因此,本实施例要被认为是说明性的并且不是限制性的,并且本发明不旨在限制于在本文中给出的细节,而是可以在以下权利要求书的范围和等同物内修改。在以下权利要求书中,元素和/或步骤不隐含操作的任何特定顺序,除非在权利要求书中明确地声明或由本公开隐含地要求。
高效检索全球专利

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

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

申请试用

分析报告

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

申请试用

QQ群二维码
意见反馈