掌桥专利:专业的专利平台
掌桥专利
首页

分散式文档和实体验证引擎

文献发布时间:2023-06-19 09:41:38


分散式文档和实体验证引擎

技术领域

本公开涉及认证系统和方法的领域。特别地,本公开涉及基于从独立的可加密验证的源(independent cryptographically verifiable source,ICVS)检索的原始认证数据来提供真实实体信息,以便认证实体和/或由此提供的数据。

背景技术

背景描述包括有助于理解本发明的信息。不承认这里提供的任何信息是现有技术或与当前要求保护的发明相关,或者任何具体或隐含引用的出版物是现有技术。

在当前的数字化时代,许多文档以电子或数字格式存储在授权的存储库中。某些授权存储库存储独特的信息,独特的信息包括各种用户的生物特征凭证,并在必要时用于验证/认证用户的身份。这种存储库可以包括驾驶执照、出生和死亡证明、护照等的存储,其中包含用户的认证信息。许多这样的文件需要为不同的目的提供。在实例中,使用这些存储库的身份验证/认证可以允许访问一些政府利益和服务。在另一实例,潜在雇主或银行可能要求收到候选人的身份证明文档的认证副本。虽然在线文档的可用性如上所述的在不断增加,但相关联的身份欺诈问题也在增加。使用可免费获得的软件,可以非常容易地操纵或Photoshop(图像处理)数字以及硬拷贝/打印拷贝这些文档。因此,身份欺诈的实例不断增加。

存在各种方法来减轻现有的问题。由PCT申请号PCT/IB2016/053086(称为‘086专利)公开的技术提供了一种检测文档篡改的方法。根据‘086专利,原始文档与来自服务器上的至少一个发行机构的至少一个数字证书一起存储。唯一标识符与原始文档相关联,并且也对应于存储在服务器上的原始文档。创建原始文档的另一实例,其中原始文档的实例包括唯一标识符,使得原始文档的实例的用户通过将唯一标识符发送到服务器来验证原始文档的实例的源和真实性,以便基于唯一标识符检索相关联的至少一个数字证书,并评估检索的相关联的数字证书。

然而,‘086专利公开的方法涉及存储的原始文档的检索,而不涉及实时从经验证源的原始信息的检索。因此,由‘086专利提供的方法不太安全,并且不处理身份验证或组合多个原始文档来创建更强的身份。此外,身份数据没有加密保护,因此很容易被黑客攻击。此外,其他现有方法本身增加了额外的层,其中信息可能被操纵,导致身份欺诈。例如,在生物识别设备上提供一个人的指纹,就有可能提供的指纹本身被用来创建欺诈性的身份。

除了上述问题之外,全球数字身份系统并不存在,因此所有实体(诸如银行)仍然需要实际了解您的客户(Know Your Customer,KYC),以符合反洗钱(Anti-MoneyLaundering,AML)法规。此外,许多政府或企业服务和登机工作流程需要公证和加注或用户的实际存在,因此政府需要有实际的申请处理中心,其签证、执照和许可证等的区域覆盖范围有限。此外,暴露于假冒和伪造会给全球商业带来不必要的时间、成本、责任和摩擦。传统的凭证验证方法的另一个问题是“电话家庭问题”,其中凭证需要与发行者一起验证,从而导致凭证用户的大规模监控的可能性。

因此,在本领域中需要一种方法和系统,通过该方法和系统,用户可以在任何时候基于来自经验证源的原始数据提供真实用户信息。本领域还需要一种系统和方法,其能够在保存与用户有关的敏感信息的隐私的同时,最大化用户信息的真实性,加密地保护用户信息,并提供身份共享的防欺诈方法。

本公开的目的

本公开的一般目的是提供一种用于为实体或用户生成经验证文档的系统和方法。

本公开的另一个目的是提供一种用于生成不能被篡改的经验证文档的系统和方法。

本公开的又一个目的是提供一种用于生成可以被依赖实体或机构用作用户真实信息(authentic information)的证明的经验证文档的系统和方法。

本公开的又一个目的是提供一种用于生成可与唯一标识符/代码相关联的经验证文档的系统和方法,使得用户或依赖实体可使用该唯一标识符/代码来出于各种目的获取用户的经验证信息。

本公开的另一个目的是提供一种用于生成经验证文档的系统和方法,该系统和方法允许在不丧失信任的情况下访问用户的私人数据。

本公开的另一个目的是提供一种用于生成经验证文档的系统和方法,该系统和方法提供针对全局第三方的防假冒检查。

本公开的另一个目的是提供一种用于生成经验证文档的系统和方法,该系统和方法通过使用区块链分散验证证明来解决传统的“电话家庭问题”。

本公开的另一个目的是提供一种用于生成经验证文档的系统和方法,该系统和方法使得依赖方能够访问与第三方存储的私人信息,同时最大化其真实性、隐私性和分散验证。

附图说明

附图被包括在内以用于提供对本公开的进一步理解,并且附图被并入并构成本说明书的部分。附图示出了本公开的示例性实施例,并且与描述一起用于解释本公开的原理。

这些图仅用于说明,因此不是对本公开的限制,其中:

图1示出了根据本公开的实施例的示例性网络架构,该示例性网络架构示出了多个用户以及多个用户如何与系统交互。

图2示出了根据本发明实施例的分散式文档和实体验证引擎(DecentralizedDocument and Entity Verification Engine,DDEVE)的示例性功能组件。

图3A-图3B示出了根据本发明实施例的系统的示例性实施方式。

图4A-图4C示出了根据本发明实施例的真实文档的生成的示例。

图5A-图5C示出了根据本发明实施例的真实文档的生成的另一示例。

图6A-图6B是示出根据本公开实施例的示例性方法的流程图。

图7示出了示例性计算机系统,本发明的实施例可以在该计算机系统中使用或者与该计算机系统一起使用。

发明内容

提供本发明内容是为了介绍便于文档认证和验证的系统和方法的简化概念,这将在下面的详细描述中进一步描述。该发明内容不旨在标识所要求保护的主题的关键或必要特征,也不旨在用于确定/限制所要求保护的主题的范围。

本公开涉及认证系统和方法的领域。特别地,它涉及基于从独立的可加密验证的源(ICVS)检索的原始认证数据来提供真实实体信息,以便认证实体和/或由此提供的数据。

本公开的一个方面涉及一种系统,该系统包括处理器和存储器,该存储器包括一个或多个例程,当由处理器执行时,该例程使得处理器为在由依赖实体提供的验证发起者单元(Verification Initiator Unit,VIU)上工作的用户配置具有超链接的第一会话,该超链接使得能够使用网络网关在VIU上的虚拟浏览器上实例化第二会话,所述第二会话被部分地配置在远程终端上,以便将远程终端与第一计算设备的用户的第一会话可操作地耦合;配置第二会话以在虚拟浏览器中打开独立的可加密验证的源(ICVS),以使所述ICVS能够认证用户;通过安全数据通道从ICVS检索与用户有关的第一组数据分组;将从第一组数据分组中选择的第二组数据分组与ICVS的始发信息(origination information)绑定,以便生成第三组数据分组;并将第三组数据分组发送给第一会话的依赖实体。

本公开的另一方面涉及一种设备,包括:运行可信执行环境(Trusted ExecutionEnvironment,TEE)的处理器;以及包括一个或多个例程的存储器,当由处理器执行时,所述例程使得处理器:通过安全数据通道从独立的可加密验证的源(ICVS)检索与用户有关的第一组数据分组;将从第一组数据分组中选择的第二组数据分组与ICVS的始发信息绑定,以便生成第三组数据分组,该第三组数据分组被处理以生成与所述第三组数据分组有关的加密值;以及将加密值存储在不可变存储器中,所述加密值被第三依赖方用来校验第三组数据分组的完整性。

本公开的又一方面涉及一种方法,该方法包括:由一个或多个处理器为在由依赖实体提供的验证发起者单元(VIU)上工作的用户配置第一会话,该第一会话具有超链接,该超链接使得能够使用网络网关在VIU上的虚拟浏览器上实例化第二会话,所述第二会话部分地配置在远程终端上,以便将远程终端与第一计算设备的用户的第一会话可操作地耦合;由所述一个或多个处理器配置所述第二会话,以在所述虚拟浏览器中打开独立的可加密验证的源(ICVS),从而使得所述ICVS能够认证所述用户;由所述一个或多个处理器通过安全数据通道从ICVS检索与用户有关的第一组数据分组;由所述一个或多个处理器将从第一组数据分组中选择的第二组数据分组与ICVS的始发信息绑定,以便生成第三组数据分组;以及由一个或多个处理器向第一会话的依赖实体发送第三组数据分组。

根据以下优选实施例的详细描述以及附图,本公开的各种目的、特征、方面和优点将变得更加明显,在附图中,相同的附图标记代表相同的特征。

在本申请的范围内,可以清楚地设想,前面段落中、权利要求中和/或下面的描述和附图中阐述的各个方面、实施例、示例和替代方案,特别是其各个特征,可以独立地或以任何组合的方式进行。结合一个实施例描述的特征适用于所有实施例,除非这些特征不兼容。

具体实施方式

以下是在附图中描述的本公开的实施例的详细描述。这些实施例如此详细以至于清楚地传达了本公开。然而,所提供的细节的数量并不旨在限制实施例的预期变化;相反,本发明旨在涵盖落入由所附权利要求书限定的本公开的精神和范围内的所有修改、等同物和替代物。

在以下描述中,阐述了许多具体细节,以便提供对本发明实施例的透彻理解。对于本领域技术人员来说显而易见的是,本发明的实施例可以在没有这些具体细节的一些的情况下实施。

本发明的实施例包括各种步骤,这些步骤将在下面描述。这些步骤可以由硬件组件来执行,或者可以包含在机器可执行指令中,这些指令可以用于使用这些指令编程的通用或专用处理器来执行这些步骤。可选地,步骤可以由硬件、软件和固件的组合和/或由操作人员来执行。

这里描述的各种方法可以通过将包含根据本发明的代码的一个或多个机器可读存储介质与适当的标准计算机硬件相结合来实现,以执行其中包含的代码。用于实施本发明的各种实施例的装置可以包括一个或多个计算机(或单个计算机中的一个或多个处理器)和存储系统,该存储系统包含或具有对根据这里描述的各种方法编码的计算机程序的网络访问,并且本发明的方法步骤可以通过计算机程序产品的模块、例程、子例程或子部分来实现。

如果规范规定某个部件或特征“可以”、“能够”、“可能”或“或许”被包括在内或具有某个特征,则不要求该特定部件或特征被包括在内或具有该特征。

如在这里的描述中以及在随后的权利要求中所使用的,“一”、“一个”和“该”的含义包括复数指代,除非上下文另有明确规定。此外,如在这里的描述中所使用的,“在……内”的含义包括“在……内”和“在……上”,除非上下文清楚地另有规定。

现在将在下文中参考附图更全面地描述示例性实施例,在附图中示出了示例性实施例。这些示例性实施例仅仅是为了说明的目的而提供的,因此本公开将是彻底和完整的,并且将向本领域普通技术人员充分传达本发明的范围。然而,所公开的发明可以以许多不同的形式来实施,并且不应该被解释为局限于这里阐述的实施例。各种修改对于本领域技术人员来说是显而易见的。在不脱离本发明的精神和范围的情况下,这里定义的一般原理可以应用于其他实施例和应用。此外,这里叙述本发明实施例的所有陈述,以及其具体示例,旨在包括其结构和功能等同物。另外,这种等同物旨在包括当前已知的等同物以及将来开发的等同物(即,无论结构如何,开发的执行相同功能的任何元件)。此外,所使用的术语和措辞是为了描述示例性实施例的目的,不应被认为是限制性的。因此,本发明将被赋予最宽的范围,该范围包括与所公开的原理和特征一致的许多替换、修改和等同物。为了清楚起见,没有详细描述与本发明相关的技术领域中已知的技术材料相关的细节,以免不必要地模糊本发明。

因此,例如,本领域的普通技术人员将会意识到,图表、示意图、图解等表示图解体现本发明的系统和方法的概念性视图或过程。附图中所示的各种元件的功能可以通过使用专用硬件以及能够执行相关软件的硬件来提供。同样,图中所示的任何转换(switch)都只是概念性的。它们的功能可以通过程序逻辑的操作、通过专用逻辑、通过程序控制和专用逻辑的交互、或者甚至手动来实现,实现本发明的实体可以选择特定的技术。本领域的普通技术人员还理解,这里描述的示例性硬件、软件、过程、方法和/或操作系统是为了说明的目的,因此,不旨在限制任何特定的命名元素。

本发明的实施例可以作为计算机程序产品来提供,该计算机程序产品可以包括有形地包含在其上的指令的机器可读存储介质,该指令可以用于对计算机(或其他电子设备)进行编程以执行过程。术语“机器可读存储介质”或“计算机可读存储介质”包括但不限制于固定(硬盘)驱动器、磁带、软盘、光盘、光盘只读存储器(CD-ROM)和磁光盘、半导体存储器,诸如ROM(只读存储器)、PROM(可编程序存储器)、随机存取存储器(RAM)、可编程序只读存储器(PROM)、可擦除PROM(可编程序只读存储器)、电可擦除PROM(EEPROM,可编程序只读存储器)、闪存、磁卡或光卡,或其它类型的适于存储电子指令(例如计算机编程代码,诸如软件或固件)的介质/机器可读介质。机器可读介质可以包括其中可以存储数据的非暂时性介质,并且不包括以无线方式或通过有线连接传播的载波和/或暂时性电子信号。非暂时性介质的示例可以包括但不限制于磁盘或磁带、诸如光盘(CD)或数字多功能盘(DVD)的光存储介质、闪存、存储器或存储器设备。计算机程序产品可以包括代码和/或机器可执行指令,该代码和/或机器可执行指令可以表示过程、函数、子程序、程序、例程、子例程、模块、软件包、类或指令、数据结构或程序语句的任何组合。代码段可以通过传递和/或接收信息、数据、自变量、参数或存储器内容而耦合到另一个代码段或硬件电路。信息、参数、参数、数据等可以经由包括存储器共享、消息传递、令牌传递、网络传输等任何合适的方式来传递、转发或传输。

此外,实施例可以通过硬件、软件、固件、中间件、微码、硬件描述语言或其任何组合来实现。当以软件、固件、中间件或微码实现时,执行必要任务的程序代码或代码段(例如,计算机程序产品)可以存储在机器可读介质中。处理器可以执行必要的任务。

一些图中描绘的系统可以以各种配置提供。在一些实施例中,系统可以被配置为分布式系统,其中系统的一个或多个组件分布在云计算系统中的一个或多个网络上。

所附权利要求中的每一项限定了单独的发明,出于侵权目的,该发明被认为包括权利要求中指定的各种元素或限制的等同物。根据上下文,以下所有对“发明”的引用在某些情况下可能仅指某些特定实施例。在其他情况下,将认识到对“发明”的引用将指在一个或多个但不一定是所有权利要求中引用的主题。

这里描述的所有方法可以以任何合适的顺序执行,除非这里另有说明或者与上下文明显矛盾。这里关于某些实施例提供的任何和所有示例或示例性语言(例如,“诸如”)的使用仅仅是为了更好地说明本发明,而不是对本发明的要求保护的范围提出限制。说明书中的任何语言都不应被解释为表示对本发明的实践来说是必要的任何未要求保护的元素。

此处使用的各种术语如下所示。在权利要求中使用的术语没有在下面定义的情况下,应该给出相关领域的人员在提交时在印刷出版物和发布的专利中给出的最广泛的定义。本公开涉及认证系统和方法的领域。特别地,本公开涉及基于从独立的可加密验证的源(ICVS)检索的原始认证数据来提供真实实体信息,以便认证实体和/或由此提供的数据。

本公开涉及用于实体/用户(这两个术语在此可互换使用)认证的系统和方法领域。特别地,本公开涉及基于存储在一个/多个远程存储库中的原始认证数据和/或关于个人的真实文档/数据/信息的接受来认证用户,同时最大化隐私,使得个人的敏感数据不被泄露。

本公开的一个方面涉及一种系统,包括:处理器;以及包括一个或多个例程的存储器,当由处理器执行时,所述例程使得处理器:为在由依赖实体提供的验证发起者单元(VIU)上工作的用户配置具有超链接的第一会话,所述超链接使得能够使用网络网关在VIU上的虚拟浏览器上实例化第二会话,所述第二会话在远程终端上被部分配置,以便将远程终端与第一计算设备的用户的第一会话可操作地耦合;配置第二会话以在虚拟浏览器中打开独立的可加密验证的源(ICVS),以使所述ICVS能够认证用户;通过安全数据通道从ICVS检索与用户有关的第一组数据分组;将从第一组数据分组中选择的第二组数据分组与ICVS的始发信息绑定,以便生成第三组数据分组;并且向第一会话的依赖实体提供第三组数据分组的访问。

在一个实施例中,远程终端在运行可信执行环境(TEE)上,其中TEE的一个或多个属性与第三组数据分组相关联。

在一个实施例中,虚拟浏览器包括至少接收与第一会话相关联的会话参数的插件,其中所述参数涉及会话id、用户设备、用户、ICVS、时间戳、位置和IP地址中的任何一个或其组合。

在一个实施例中,虚拟浏览器是安全浏览器,该安全浏览器不允许第一组数据分组的篡改超过ICVS所允许的篡改。

在一个实施例中,第一会话处理并利用第一组数据分组,以便将包含用户信息的第一组数据分组与第一会话中可用的用户信息进行匹配。

在一个实施例中,第三组数据分组以可验证声明或凭证、可移植文档文件(Portable Document File,PDF)文件、决定、JavaScript对象符号(JavaScript ObjectNotation,JSON)、可扩展标记语言(Extensible Markup Language,XML)、电子记录和密钥的任何一个或其组合的形式与一个或多个第二组依赖方共享。

本公开的另一方面涉及一种设备,包括:运行可信执行环境(TEE)的处理器;以及包括一个或多个例程的存储器,当由处理器执行时,所述例程使得处理器:通过安全数据通道从独立的可加密验证的源(ICVS)检索与用户有关的第一组数据分组;将从第一组数据分组中选择的第二组数据分组与ICVS的始发信息绑定,以便生成第三组数据分组,该第三组数据分组被处理以生成与所述第三组数据分组有关的加密值;以及将加密值存储在不可变存储器中,所述加密值被第三依赖方用来校验第三组数据分组的完整性。

在一个实施例中,ICVS是安全网站、近场通信(Near-Field-Communication,NFC)卡、监管实体发布的文件、和具有由认证机构发布的证书的源中的任何一个或其组合。

在一个实施例中,当ICVS是NFC卡时,处理器:在设备上从NFC卡的接收器检索第一组数据分组;并且在该设备上解密所检索的第一组数据分组,以使得能够选择第二组数据分组并且随后将所选择的第二组数据分组与始发信息绑定。

在一个实施例中,处理器还被配置为在设备处将来自第一、第二或第三组数据分组中的任何一个或其组合的数据分组与来自设备的身份数据进行匹配,所述身份数据与用户有关。

在一个实施例中,第三组数据分组与用户的身份相关联,所述身份从与用户相关联的公钥基础设施(Public Key Infrastructures,PKI)、用户的密码、用户的个人标识号(Personal Identification Number,PIN)、用户的生物特征、用户的行为数据、用户的不可替换令牌(Non-Fungible Tokens,NFT)、用户的快速在线身份(Fast Identity Online,FIDO)凭证、用户的设备属性和用户的人口特征中的任何一个或其组合中选择。

在一个实施例中,ICVS的始发信息基于安全套接字层(Secure Sockets Layer,SSL)、传输层安全性(Transport Layer Security,TLS)、NFC信息、IP地址、域名、who is信息(who is information)、证书所有者信息、IP路由、与ICVS有关的取证数据、时间戳、与ICVS有关的传感器数据、ICVS的位置信息、ICVS的状态以及ICVS的证书信息的至少一部分中的任何一个或其组合。

在一个实施例中,ICVS的始发信息包括操作软件和用于生成第三组数据分组的TEE中的至少一个的加密证明、用户的加密证明、运行TEE的实体的加密证明、验证者的加密证明和第三依赖方的加密证明中的任何一个或其组合。

在一个实施例中,第一组数据分组在通过在ICVS处认证、在设备处认证用户、使用生物特征手段认证和使用私钥认证中的任何一个或其组合的用户的成功认证之后被检索。

在一个实施例中,第三组数据分组与与用户有关的认证数据相关联。

在一个实施例中,TEE配置在所述设备上,或者从所述设备虚拟地配置,并且可操作地与所述设备耦合。

在一个实施例中,不可变存储器从区块链、分布式分类账技术(Distributedledger technology,DLT)、merkle树和数据库中的任何一个或其组合中选择。

在一个实施例中,加密值与基于从ICVS检索第一组数据分组的时间戳相关联。

在一个实施例中,TEE包括安全网络浏览器,该安全网络浏览器配置有使用从远程桌面协议(Remote Desktop Protocol,RDP)和虚拟网络计算(Virtual NetworkComputing,VNC)中的任何一个或其组合中选择的协议的远程安全虚拟终端。

在一个实施例中,第一组数据分组以在安全网络浏览器中打开的网页、文本、图片、上下文、超文本标记语言(Hypertext Markup Language,HTML)、级联样式表(CascadingStyle Sheet,CSS)、动态HTML(Dynamic HTML,DHTML)、MIME HTML(MHTML)、PDF和下载文件中的任何一个或其组合的形式被检索。

在一个实施例中,安全网络浏览器不允许第一组数据分组的篡改超过ICVS所允许的篡改。

在一个实施例中,第二组数据分组与ICVS的始发信息的绑定由加密签名(cryptographic signature)的可执行代码来执行。

在一个实施例中,设备基于硬件安全模块(hardware security module,HSM)或可信平台模块(trusted platform module,TPM)中的任何一个或其组合对加密值进行数字签名。

在一个实施例中,第三依赖方在接受到要验证其真实性的文档时,生成第二加密值,并将所述第二加密值针对存储在不可变存储器中的至少一个加密值进行匹配,以便校验文档的真实性。

在一个实施例中,加密值与用户的加密签名相关联。

在一个实施例中,第一组数据分组包括从用户的照片、用户的指纹、用户的声音和用户的虹膜细节中的任何一个或其组合中选择的生物特征信息,所述生物特征信息用于认证用户。

在一个实施例中,第二组数据分组与ICVS的始发信息之间的绑定使用校验和、散列函数和加密函数中的任何一个或其组合来执行。

在一个实施例中,第三组数据分组包括与用户匹配生物特征信息的结果、或与用户匹配认证信息的结果、或与用户匹配身份信息的结果或与之相关联。

在一个实施例中,基于任何或组合的SSL/TLS证书来验证ICVS,其中证书链包括有效根证书、从可信根证书机构发布的第一组数据分组的签名、白名单中的存在、否定列表中的不存在、网页排名、由解析器执行的检查。

在一个实施例中,ICVS与解析器相关联,以生成可验证的声明或凭证。

在一个实施例中,从多个白名单门户网站中选择ICVS,所述多个白名单门户网站具有一个或多个属性,所述属性从用户认证的强度、身份证明的强度、可用的生物特征的类型、人口覆盖范围、法律接受度、可用的身份属性的类型、白名单的类别、每个白名单门户网站所属的区域/国家以及相关联的标准化解析器输出中的任何一个或其组合中选择。

在一个实施例中,用户是实体、虚拟用户、指定用户(nominated user)或自然人。

在一个实施例中,从第一、第二或第三组数据分组中的任何一个或其组合生成一组可验证凭证,所述一组可验证凭证包括源、用户身份信息、姓名、地址、出生日期、城市、唯一标识符、电子邮件、电话号码、根据万维网联盟(World Wide Web,W3C)的标准化凭证和生物特征信息中的任何一个或其组合。

在一个实施例中,该组可验证凭证与用户的私钥或自主权身份相关联。

在一个实施例中,第三组数据分组与用户的身份相关联,所述身份还与从第二ICVS生成的相应的第四组数据分组相关联。

在一个实施例中,用户身份与第四组数据分组的相关联发生在基于有效密码、基于知识的认证、生物特征认证、基于设备的认证、基于一次性密码(one-time password,OTP)的认证、基于公钥基础设施的认证、社会认证、基于单点登录(Single-sign-on,SSO)的认证或行为认证中的任何一个或其组合的用户认证之后。

在一个实施例中,第三组数据分组用令牌加密,所述加密的第三组数据分组存储在远程服务器上,其中基于用户的同意,令牌与多个实体和/或用户共享。

在一个实施例中,使用相应多个实体的用户的公钥来加密令牌。

在一个实施例中,使用ICVS的SSL/TLS证书的公钥加密令牌。

在一个实施例中,基于来自第一、第二或第三组数据分组的信息,该令牌被配置为区块链或DLT上的不可替换令牌(NFT),使得用于创建NFT的信息在所有有效的NFT中保持唯一。

在一个实施例中,NFT或令牌与用户身份相关联。

在一个实施例中,使用解析器创建并行的第二和第三组数据分组,以基于ICVS的一个或多个属性生成第二和第三组数据分组的翻译(translation)、中的至少一个、或可验证凭证、或标准化输出中的一个。

本公开的又一方面涉及一种由运行可信执行环境(TEE)的处理器实现的方法,包括:通过安全数据通道从独立的可加密验证的源(ICVS)检索与用户有关的第一组数据分组;将从第一组数据分组中选择的第二组数据分组与ICVS的始发信息绑定,以便生成第三组数据分组,该第三组数据分组被处理以生成与所述第三组数据分组有关的加密值;以及将加密值存储在不可变存储器中,所述加密值被第三依赖方用来校验第三组数据分组的完整性。

在一个实施例中,该方法还包括:为在由第三依赖实体提供的验证发起者单元(VIU)上工作的用户配置第一会话,该第一会话具有超链接,该超链接使得能够使用网络网关在VIU上的虚拟浏览器上实例化第二会话,所述第二会话在远程终端上被部分配置,以便将远程终端与第一计算设备的用户的第一会话可操作地耦合;以及配置第二会话以在虚拟浏览器中打开ICVS,以使所述ICVS能够认证用户。

在一个实施例中,在通过在ICVS处认证、在设备处认证所述用户、使用生物特征手段认证和使用私钥认证中的任何一个或其组合的用户的成功认证之后检索第一组数据分组,使得第三组数据分组与被认证的用户相关联。

图1示出了根据本公开的实施例的示例性网络架构100,其示出了多个用户以及多个用户如何与系统交互。

根据网络实施方式100,系统102(在下文中称为系统102)可以包括分散式文档和实体验证引擎(DDEVE)110,其便于与实体和实体本身相关联的文档的认证和验证。这些实体可互换地称为用户108-1、108-2…108-N(统称为用户108,以下单独称为用户108),其包括虚拟用户、指定用户或自然人。

尽管考虑到系统102被实现为服务器上的应用来解释本主题,但是可以理解,系统102也可以在各种计算系统中实现,诸如膝上型计算机、台式计算机、笔记本、工作站、服务器、网络服务器、基于云的环境等。应当理解,系统102可以由多个用户108通过一个或多个计算设备106-1、106-2…106-N(以下统称为计算设备106,单独称为计算设备106)或驻留在计算设备106上的应用来访问。此外,计算设备106可以是由依赖实体提供的VIU以认证用户108。在一个示例中,在诸如新客户的用户开通账户期间,诸如银行的组织可以提供验证服务。为了验证的目的,可以在银行的场所配置VIU,以便用户108在需要时可以访问。在VIU和系统102之间的通信可以经由任何适当的方式进行,诸如互联网等。

在一个方面,系统102可以可操作地耦合到网站,并且因此可以从任何支持互联网的计算设备106操作。计算设备106的示例可以包括但不限制于便携式计算机、个人数字助理、手持设备和工作站。计算设备106可以通过网络104与系统102通信地耦合。

在一个实施方式中,网络104可以是无线网络、有线网络或其组合。网络104可以被实现为不同类型的网络之一,诸如内联网、局域网(LAN)、广域网(WAN)、互联网等。此外,网络104可以是专用网络或共享网络。共享网络代表使用各种协议(例如超文本传输协议(HTTP)、传输控制协议/互联网协议(TCP/IP)、无线应用协议(WAP)等)相互通信的不同类型网络的相关联。此外,网络104可以包括各种网络设备,包括路由器、网桥、服务器、计算设备、存储设备等。在另一实施方式中,网络104可以是基于各种技术的蜂窝网络或移动通信网络,包括但不限制于全球移动通信系统(Global System for Mobile,GSM)、通用分组无线业务(General Packet Radio Service,GPRS)、码分多址(Division Multiple Access,CDMA)、长期演进(Long Term Evolution,LTE)、WiMAX等。

在一个方面,DDEVE 110可以被配置在设备中,使得TEE被配置在设备上或者从设备虚拟地配置,并且可操作地与设备耦合。TEE可以包括配置有远程终端(诸如远程安全虚拟终端,该远程安全虚拟终端使用从RDP和VNC中的任何一个或其组合中选择的协议)的安全网络浏览器。DDEVE 110可以通过安全数据通道从ICVS检索与用户108有关的第一组数据分组,使得第一组数据分组可以以在安全网络浏览器中打开的网页、文本、图片、上下文、HTML、CSS、DHTML、MHTML、PDF、下载文件等的任何形式或其组合的形式被检索。ICVS可以与解析器相关联,以生成可验证的声明或凭证,并且从多个白名单门户网站中选择,多个白名单门户网站具有一个或多个属性,该一个或多个属性从用户认证的强度、身份证明的强度、可用的生物特征的类型、人口覆盖范围、法律认可、可用的身份属性的类型、白名单的类别、每个白名单门户网站所属的区域/国家以及相关联的标准化解析器输出中的任何一个或其组合中选择。第一组数据分组还可以包括生物特征信息,诸如用户108的照片、用户108的指纹、用户108的声音、用户108的虹膜细节等,其可以用于认证用户108。在一个实施例中,ICVS包括安全网站、NFC卡、监管实体发布的文档、具有由认证机构发布的证书的源等,其可以基于SSL/TLS证书来验证,其中证书链包括有效的根证书、从可信的根证书机构发布的第一组数据分组的签名、白名单中的存在、否定列表中的不存在、网络排名、由解析器执行的检查等。

在一个方面,DDEVE 110可以使用加密签名的可执行代码将从第一组数据分组中选择的第二组数据分组与ICVS的始发信息绑定,以便生成第三组数据分组,该第三组数据分组被处理以生成与用户108的加密签名相关联的加密值。ICVS的始发信息可以从以下信息中的任何一个或其组合中选择:SSL、TLS、NFC信息、IP地址、域名、who is信息、证书所有者信息、IP路由、与ICVS有关的取证数据、时间戳、与ICVS有关的传感器数据、ICVS的位置信息以及ICVS的证书信息的至少一部分。ICVS的始发信息还可以包括操作软件和用于生成第三组数据分组的TEE中的至少一个的加密证明、用户的加密证明、运行TEE的实体的加密证明、验证者的加密证明和第三依赖方的加密证明中的任何一个或其组合。第二组数据分组与ICVS的始发信息之间的绑定可以使用校验和、散列等中的任何一个或其组合来执行。

此外,DDEVE 110可以将加密值存储在不可变的存储器中,诸如区块链、DLT、merkle树、数据库等,使得依赖方112可以使用加密值来校验可以与用户108的身份相关联的第三组数据分组的完整性。身份可以包括与用户108相关联的PKI、用户108的密码、用户108的PIN、用户108的生物特征、用户108的行为数据、用户108的不可替换令牌、用户108的FIDO凭证、用户108的设备属性、用户108的人口统计等。第三组数据分组还包括或可以与用户108的生物特征信息匹配的结果相关联、或用户108的认证信息匹配的结果相关联或用户108的身份信息匹配的结果相关联。本领域技术人员将会理解,为了增强安全性,可以基于HSM和TPM中的任何一个或其组合对加密值进行数字签名,并且可以与基于从ICVS检索第一组数据分组的时间戳相关联。

在一个实施例中,当ICVS是NFC卡时,DDEVE 110可以从NFC卡的接收器检索第一组数据分组,并且可以解密检索的第一组数据分组,以能够选择第二组数据分组、以及随后将所选择的第二组数据分组与始发信息绑定。

在一个实施例中,其中DDEVE 110可以被配置为将来自第一、第二或第三组数据分组中的任何一个或其组合的数据分组与源自设备的与用户有关的身份数据进行匹配。

在一个实施例中,可以从第一、第二或第三组数据分组中的任何一个或其组合生成与用户私钥或自主权身份相关联的一组可验证凭证,其中该组可验证凭证可以包括用户身份信息、姓名、地址、出生日期、城市、唯一标识符、电子邮件、电话号码、符合W3C的标准化凭证、生物特征信息等中的任何一个或其组合。

在一个实施例中,第三组数据分组可以与用户108的身份相关联,该身份还与从第二ICVS生成的相应的第四组数据分组相关联。用户身份与第四组数据分组的相关联可以发生在基于有效密码、基于知识的认证、生物特征认证、基于设备的认证、基于OTP的认证、基于PKI的认证、社会认证、基于SSO的认证、或行为认证中的任何一个或其组合的用户认证之后。

在一个实施例中,第三组数据分组可以用令牌加密,使得加密的第三组数据分组可以存储在远程服务器上,并且基于用户的同意,令牌可以与多个实体和/或用户108共享。令牌还可以使用相应多个实体的用户108的公钥或ICVS的SSL/TLS证书的公钥来加密。基于来自第一、第二或第三组数据分组的信息,令牌可以被配置为区块链或DLT上的NFT,使得用于创建NFT的信息保持唯一,并且NFT或令牌与用户108的身份相关联。

在一个实施例中,可以使用解析器来创建并行的第二和第三组数据分组,以基于ICVS的属性生成第二和第三组数据分组的翻译中的至少一个、或可验证凭证、或标准化输出中的一个。

根据另一方面,DDEVE 110可以为在由依赖实体112提供的VIU上工作的用户108配置具有超链接的第一会话,使得第一会话能够使用网络网关在VIU上的虚拟浏览器上实现实例化第二会话,其中虚拟浏览器可以包括插件,该插件至少接收与与第一会话相关联的用户、ICVS、时间戳、位置、IP地址等中的任何一个或其组合相关的会话参数。第二会话可以部分地配置在运行在TEE上的远程终端上,以便将远程终端与第一计算设备106的用户108的第一会话可操作地耦合。此外,DDEVE 110可以配置第二会话以在虚拟浏览器中打开ICVS,从而使ICVS能够认证用户108。

在一个实施例中,为了认证用户108,DDEVE 110可以通过安全数据通道从ICVS检索与用户108有关的第一组数据分组。本领域技术人员将会理解,虚拟浏览器是安全浏览器,安全浏览器不允许第一组数据分组的篡改超过ICVS允许的篡改。此外,第一会话可以处理和利用第一组数据分组,以便将包含用户信息的第一组数据分组与第一会话中可用的用户信息进行匹配。此外,可替换地,可以在通过在ICVS处认证、在设备处认证用户、使用生物特征手段认证和使用私钥认证中的任何一个或其组合的用户的成功认证之后,检索第一组数据分组。

在一个实施例中,DDEVE 110可以将从第一组数据分组中选择的第二组数据分组与ICVS的始发信息绑定,以便生成与与用户有关的认证数据和TEE的一个或多个属性相关联的第三组数据分组。此外,第三组数据分组可以由第一会话的依赖实体或一个或多个依赖实体以可验证声明或凭证、PDF文件、决定、JSON、XML、电子记录和密钥中的任何一个或其组合的形式来访问。

图2示出了根据本发明实施例的DDEVE 110的示例性功能组件。

如图所示,DDEVE 110可以包括一个或多个处理器202。处理器202可以被实现为一个或多个微处理器、微型计算机、微控制器、数字信号处理器、中央处理单元、逻辑电路和/或基于操作指令操纵数据的任何设备。在其他能力中,处理器202被配置为获取和执行存储在DDEVE 110的存储器204中的计算机可读指令。存储器204可以存储一个或多个计算机可读指令或例程,这些指令或例程可以被获取和执行以通过网络服务创建或共享数据单元。存储器204可以包括任何非暂时性存储设备,包括例如诸如RAM的易失性存储器,或诸如EPROM、闪存等的非易失性存储器。在示例实施例中,存储器204可以是本地存储器或者可以位于远程,诸如服务器、文件服务器、数据服务器和云。

DDEVE 110还可以包括一个或多个接口206。接口206可以包括各种接口,例如,用于数据输入和输出设备的接口,称为I/O设备、存储设备等。接口206可以便于DDEVE 110与耦合到DDEVE 110的各种设备的通信。接口206还可以为DDEVE 110的一个或多个组件提供通信路径。这种组件的示例包括但不限制于一个或多个处理引擎208和数据218。

处理引擎208可以被实现为硬件和软件或固件编程(例如,可编程指令)的组合,以实现引擎208的一个或多个功能。在这里描述的示例中,硬件和软件或固件编程的这种组合可以以多种不同的方式实现。例如,用于引擎的编程可以是存储在非暂时性机器可读存储介质上的处理器可执行指令,并且用于引擎208的硬件可以包括处理资源(例如,一个或多个处理器),以执行这样的指令。在示例中,机器可读存储介质可以存储指令,当由处理资源执行时,这些指令实现引擎208。在这样的示例中,DDEVE 110可以包括存储指令的机器可读存储介质和执行指令的处理资源,或者机器可读存储介质可以是独立的,但是可由DDEVE110和处理资源访问。在其他示例中,处理引擎208可以由电子电路实现。数据218可以包括作为由处理引擎208的任何组件实现的功能的结果而存储或生成的数据。

在一个示例中,处理引擎208可以包括用户数据检索引擎210、始发信息绑定引擎212、校验引擎214和其他引擎216。其他引擎216可以实现由DDEVE 110或处理引擎208执行的补充应用或功能的功能。

在一个实施例中,用户数据检索引擎210可以通过安全数据通道从ICVS检索与用户有关的第一组数据分组。ICVS可以从具有一个或多个属性的多个白名单门户网站中选择,所述属性包括用户认证的强度、身份证明的强度、可用的生物特征的类型、人口覆盖范围、法律接受度、可用的身份属性的类型、白名单的类别、每个白名单门户网站所属的区域/国家以及相关联的标准化解析器输出。ICVS可以包括安全网站、NFC卡、监管实体发布的文件、具有由认证机构发布的证书的源等。例如,ICVS可以包括Aadhaar(UIDAI)、护照办公室、选举委员会、银行、所得税办公室等的官方网站,这些网站可以与解析器相关联,以生成可验证的声明或凭证,诸如用户名、出生日期等。本领域技术人员将理解,可以基于任何或组合的SSL/TLS证书来验证ICVS,其中证书链可以包括有效的根证书、从可信的根证书机构发布的第一组数据分组的签名、白名单中的存在、否定列表中的不存在、网页排名、由解析器执行的检查等。例如,可以基于诸如XYZ银行的认证权限、网站在白名单中的存在、网站在否定列表中的不存在、网站的网站排名等因素来确定XYZ银行的网站是否是有效的ICVS。这种验证使得DDEVE 110能够从认证的源获得第一组数据分组。

本领域技术人员将会理解,不同用户的身份数据已经可以在与各种ICVS相关联的一个或多个安全存储库中可用。例如,印度用户可以通过登录UIDAI网站并提供他/她的用户名和密码来访问Aadhaar数据。随着越来越多的数据类别和越来越多的每个用户被添加到这样的存储库中,这样的存储库以及其中的记录/数据的数量可以保持增长。例如,其他ICVS或数据存储库可以具有关于出生证明、资格、驾照等的信息,并且随着所提出的系统获得认可,可以由各种政府机构、教育机构甚至私人机构提供信息。

在一个实施例中,用户数据检索引擎210还可以检索生物特征信息,诸如用户的照片、用户的指纹、用户的声音、用户的虹膜细节等,作为可用于认证用户的第一组数据分组的部分。本领域的技术人员将会理解,第一组数据分组可以以在安全网络浏览器中打开的网页、文本、图片、上下文、HTML、CSS、DHTML、MHTML、PDF、下载文件等的任何形式或组合的形式从ICVS检索。

在一个实施例中,当ICVS是诸如电子护照或其他国民身份证的NFC卡时,用户数据检索引擎210可以从NFC卡的接收器检索第一组数据分组,并且可以解密检索的第一组数据分组。

在一个实施例中,由依赖实体提供的在VIU上运行的第一会话可以提供超链接,使得第一会话能够使用网络网关在VIU上的虚拟浏览器上实例化第二会话。虚拟浏览器可以包括插件,该插件至少接收与与第一会话相关联的用户、ICVS、时间戳、位置、IP地址等中的任何一个或其组合相关的会话参数。第二会话可以部分地配置在运行在TEE的远程终端上,将远程终端与运行在VIU上的第一会话可操作地耦合。因此,第二会话可以从正在VIU上进行的第一会话实例化,使得第二会话在虚拟浏览器中打开ICVS,以使ICVS能够认证用户。用户数据检索引擎210然后可以通过安全数据通道从ICVS检索与用户有关的第一组数据分组。

在一个示例中,当用户试图在VIU处认证自己时,例如在呈现在VIU的显示设备上的网络界面上,第一会话可以在界面上提供链接/按钮,使得第二会话可以在虚拟浏览器中被实例化,该虚拟浏览器可以共享形成VIU的部分的会话信息的第一组数据分组。本领域技术人员将会理解,虚拟浏览器是安全浏览器,该安全浏览器不允许第一组数据分组的篡改超过ICVS允许的篡改。此外,第一会话可以处理和利用第一组数据分组,以便将包含用户信息的第一组数据分组与第一会话中可用的用户信息进行匹配。例如,用户提供的用户数据可以与ICVS检索的第一组数据进行匹配。此外,可替换地,可以在通过在ICVS处认证、在设备处认证用户、使用生物特征手段认证和使用私钥认证中的任何一个或组合的用户的成功认证之后,检索第一组数据分组。例如,当用户提供的登录细节正确时,可以检索第一组数据分组,从而用于向需要认证用户数据的机构(例如,用户已经去开通账户的银行)认证用户。

在一个实施例中,始发信息绑定引擎212可以使用加密签名的可执行代码将从第一组数据分组中选择的第二组数据分组与ICVS的始发信息绑定,以便生成第三组数据分组,该第三组数据分组被处理以生成与用户的加密签名相关联的加密值。ICVS的始发信息可以从SSL、TLS、NFC信息、IP地址、域名、who is信息、证书所有者信息、IP路由、与ICVS有关的取证数据、时间戳、与ICVS有关的传感器数据、ICVS的位置信息以及ICVS的证书信息的至少一部分中的任何一个或其组合中选择。ICVS的始发信息还可以包括操作软件和用于生成第三组数据分组的TEE中的至少一个的加密证明、用户的加密证明、运行TEE的实体的加密证明、验证者的加密证明和第三依赖方的加密证明中的任何一个或其组合。例如,始发信息绑定引擎212可以将加密签名附加到第二组数据分组,使得接收第三组数据分组的任何适当配置的依赖实体可以校验第三组数据分组确实是由TEE生成的。

在一个示例中,用户可以点击在VIU上显示第一会话的用户界面上的链接/按钮,这种链接显示为认证按钮。点击认证按钮后,第二会话可以在VIU上的安全虚拟浏览器中实例化,该安全虚拟浏览器可以显示ICVS的登录界面,以便用户可以向ICVS认证自己,或者从ICVS接收真实文档/数据。可以理解,在VIU上可以容易地提供多个链路,每个链路与不同的ICVS有关。用户可以通过在VIU上实例化的虚拟浏览器上运行的第二会话登录到ICVS,并请求从ICVS检索的所有(即,第一组数据或子集、即第二组数据)。例如,为了由依赖实体进行认证的目的,用户可能只需要从ICV检索到他的照片和签名。始发信息绑定引擎212可以使用校验和、散列函数、加密函数等将第二组数据与始发信息绑定,以生成第三组数据。

在另一个实施例中,始发信息可以包括散列密钥,如果第一或第二组信息以任何方式被篡改,该散列密钥可以用于发出警报。始发信息还可以包括用户访问的HTML网页的元数据(可以包括作者、创建日期、修改日期、文件大小、关键词等)、检索时间、捕获日期、用户/请求者的IP地址、虚拟浏览器/安全存储库108的至少部分SSL证书等。可以向该HTML网页提供数字签名。该数字签名可以包括(或关联于)如上所述的全部或部分数据,包括已经与该HTML网页相关联的至少部分SSL证书/数字证书。该页面连同数字签名可以被进一步散列并存储在区块链上。例如,散列可以是校验和的形式。

在一个实施例中,校验引擎214可以将加密值存储在不可变的存储器中,诸如区块链、DLT、merkle树、数据库等,使得依赖方可以使用加密值来校验可以与用户身份相关联的第三组数据分组的完整性。或者,第三组数据分组可以由第一会话的依赖实体或一个或多个依赖实体以可验证声明或凭证、PDF文件、决定、JSON、XML、电子记录和密钥的任何形式或组合的形式来访问,用于校验。

在一个实施方式中,第三组数据分组可以作为标准化输出(例如,在PDF文件中)被提供,该标准化输出被传输到VIU或可由用户下载的计算设备。标准化文档可以包含始发信息;然而,始发信息可能是可见的,也可能是不可见的。标准化文档可以包括例如制作文档的隐藏水印,使得文档不能被复制。标准化输出可以与相关联的加密签名一起类似地存储在区块链上,从而防止其中包含的数据被篡改。

如上所述,第三组数据分组可以以不可变的方式存储在区块链上。这种存储可以包括或以不可替换令牌(NFT)的形式存在。NFT是一种在互动和流通过程中可唯一识别和区分的令牌。NET非常适合处理与唯一信息相关联的数据分组,例如每个个人的唯一Aadhaar卡号。NFT可以与个人身份信息相关联,诸如出生证明、护照、驾驶执照等。可以将访问控制添加到NFT中。例如,教育机构可以使用NFT在区块链存储个人的大学文凭,并可以向个人提供NFT的访问。组织可以在它的办公室提供VIU,使得用户,即在到达办公室的候选人由组织面试,可以使用VIU以安全和不可篡改的方式访问他的NFT和相关联的大学文凭。在经过认证以后,大学文凭数据可以提供给组织进一步使用。在另一示例性实施例中,与存储在区块链上的第三组数据分组相关联的NFT可以确保数据分组在被销毁之前仅被检索有限制的次数。

本领域技术人员将理解,身份可以包括与用户相关联的PKI、用户的密码、用户的PIN、用户的生物特征、用户的行为数据、用户的不可替换令牌、用户的FIDO凭证、用户的设备属性、用户的人口统计等。第三组数据分组还包括与用户匹配生物特征信息的结果、或与用户匹配认证信息的结果、或与用户匹配身份信息的结果或可以与之相关联。本领域技术人员将会理解,为了增强安全性,可以基于HSM和TPM中的任何一个或其组合对加密值进行数字签名,并且可以与基于从ICVS检索第一组数据分组的时间戳相关联。

在一个实施例中,校验引擎214可以将来自第一、第二或第三组数据分组中的任何一个或其组合的数据分组与源自设备的与用户有关的身份数据进行匹配。此外,可以从第一、第二或第三组数据分组中的任何一个或其组合生成与用户的私钥或自主权身份相关联的一组可验证凭证,其中该组可验证凭证可以包括用户身份信息、姓名、地址、出生日期、城市、唯一标识符、电子邮件、电话号码、符合W3C的标准化凭证、生物特征信息等中的任何一个或其组合。

在一个实施例中,第三组数据分组可以与用户的身份相关联,该身份还与从第二ICVS生成的相应的第四组数据分组相关联。例如,可以使用来自Aadhaar的数据生成第三组数据分组,并且可以从从电子护照获得的数据生成第四组数据分组,使得校验引擎214能够基于第三组数据和第四组数据的匹配进行校验。用户身份与第四组数据分组的相关联可以发生在基于有效密码、基于知识的认证、生物认证、基于设备的认证、基于OTP的认证、基于PKI的认证、社会认证、基于SSO的认证或行为认证中的任何一种或其组合的用户认证之后。

在一个实施例中,校验引擎214可以用令牌加密第三组数据分组,使得加密的第三组数据分组可以存储在远程服务器上,并且可以基于用户的同意与多个实体和/或用户共享令牌。该令牌还可以使用相应多个实体的用户的公钥或ICVS的SSL/TLS证书的公钥来加密。基于来自第一、第二或第三组数据分组的信息,令牌可以被配置为区块链或DLT上的NFT,使得用于创建NFT的信息在所有有效的NFT中保持唯一,并且NFT或令牌与用户的身份相关联。

在一个实施方式中,第三组数据分组不一定需要被递送回计算设备或VIU,并且可以被直接递送到能够确认包含在第三组数据分组中的信息没有被篡改的依赖实体(例如,银行系统的认证计算机)。包含在第三组数据分组中的信息,用于为下游设备(例如,自动柜员机上的现金分配设备)生成合适的信号(例如,警报或许可命令)。

在一个实施例中,在第三组数据分组的生成时,校验引擎214可以使用解析器来创建并行的第二组和第三组数据分组,以基于ICVS的一个或多个属性来生成第二组和第三组数据分组的至少一个翻译、或可验证凭证、或标准化输出。例如,当生成标准化输出时,校验引擎214可以创建标准化输出的翻译(以任何语言),该翻译可以被依赖实体用作包含用户的真实信息。

图3A-图3B示出了根据本发明实施例的系统的示例性实施方式(300和350)。

根据图3A所示的实施方式,系统102链接依赖实体302、用户计算设备304、身份提供者306和TEE 308。在示例的上下文中,用户通过用户计算设备304(其可以包括VIU)可以提供用户凭证来访问来自ICVS的安全数据(第一组数据)。可以从第一组数据中选择第二组数据,使得系统102可以将第二组数据与由身份提供者306所提供的始发信息(SSL/TSL证书、加密签名、人口统计签名等)绑定来生成第三组数据分组。TEE 308可以捕获第三组数据分组,并且可以使得能够将第三组数据分组或者与第三组数据分组有关的加密值存储在不可变的存储器中,诸如区块链。可选地,TEE 208能够将第三组数据分组传输到依赖实体302,该依赖实体302可以接受第三组数据分组作为由用户提供的完整且真实数据。

根据如图3B所示的实施方式,用户可以使用具有超链接的第一会话(其可以是运行在计算设备上的不可信会话352),用于在计算设备上的虚拟浏览器中实例化第二会话。第二会话可以通过远程安全浏览器打开ICVS,使得可以通过安全数据通道从ICVS检索用户数据(第一组数据分组),并且用户数据可以与ICVS的始发信息356绑定,以生成第三组数据分组。第三组数据分组可以作为标准化输出(例如真实文档358)生成,并且可以由依赖实体访问。

图4A-图4C示出了根据本发明实施例的真实文档的生成的示例。

根据示例,如表示400所示,用户的计算设备通过NFC卡的接收器可以通过使用“检索数据”按钮从用户的护照的NFC芯片检索用户数据(第一组数据分组)。检索的第一组数据分组可以被解密,以使得能够选择第二组数据分组,并且随后将选择的第二组数据分组与始发信息绑定。

此外,如表示420所示,用户可以通过按下“生成和存储真实文档”按钮来生成真实文档(表示第三组数据分组)。真实文档可以通过将第二组数据分组与始发信息绑定来生成。此外,可以生成与第三组数据分组有关的加密值。

如表示430所示,真实文档(或加密值)可以显示在计算设备上,并且可以存储在不可变的存储器中,使得真实文档可以被依赖实体用来校验第三组数据分组的完整性。

图5A-图5C示出了根据本发明实施例的真实文档的生成的另一示例。

根据一个示例,如表示500所示,可以向在由依赖实体或用户计算设备提供的VIU上工作的用户显示具有超链接(例如,“认证”按钮)的第一会话,该超链接使得能够在虚拟浏览器中实例化第二会话。在一个示例中,第一会话可以使用户能够提供用户名和密码,使得用户可以被引导到第二会话。

如表示520所示,第二会话可以打开ICVS(例如包含Aadhaar数据的UIDAI网站),以使ICVS能够通过安全数据通道检索与用户有关的第一组数据分组(例如姓名和出生日期)来认证用户。用户可以使用“生成真实文档”按钮继续。

在按下生成真实文档按钮时,全部或部分用户数据(第二组数据分组)可以与ICVS的始发信息绑定,以便生成第三组数据分组,该第三组数据分组可以是如表示530所示的标准文档,该标准文档可以向用户显示,并且可以由依赖实体访问。依赖实体可以使用真实文档以进一步使用。

图6A-图6B是示出根据本公开实施例的示例性方法的流程图。

参考图6A所示的示例,在框602,可以通过安全数据通道从ICVS检索与用户有关的第一组数据分组。此外,在框604,从第一组数据分组中选择的第二组数据分组可以与ICVS的始发信息绑定,以便生成第三组数据分组,该第三组数据分组被处理以生成与第三组数据分组有关的加密值。在框606,加密值可以被存储在不可变的存储器中,该加密值被第三依赖方用来校验第三组数据分组的完整性。

参考图6B所示的示例,在框652,可以为在由依赖实体提供的VIU上工作的用户配置第一会话。第一会话可以具有超链接,该超链接使得能够使用网络网关在VIU上的虚拟浏览器上实例化第二会话。第二会话可以部分地配置在远程终端上,以便将远程终端与第一计算设备的用户的第一会话可操作地耦合。

在框654,第二会话可以被配置为在虚拟浏览器中打开ICVS,以使ICVS能够认证用户。在框656,可以通过安全数据通道从ICVS检索与用户有关的第一组数据分组。在框658,从第一组数据分组中选择的第二组数据分组可以与ICVS的始发信息绑定,以便生成第三组数据分组,并且在框660,可以向第一会话的依赖实体提供对第三组数据分组的访问。

本领域技术人员将理解,这里公开的技术,例如,将从ICVS检索的用户数据与ICVS的始发信息绑定,并将相关联的加密值存储在不可变的存储器中,该不可变的存储器可由依赖方用来校验在保存与用户有关的敏感信息的隐私时,有利地最大化用户信息的真实性,加密地保护用户信息数据的完整性,并提供身份共享的防欺诈方法。

图7示出了示例性计算机系统700,可以在其中使用本发明的实施例或可以与本发明的实施例一起使用。

如图7所示,计算机系统包括外部存储设备710、总线720、主存储器730、只读存储器740、大容量存储设备750、通信端口760和处理器770。计算机系统可以代表依赖实体112、计算设备106或系统102的某个部分。

本领域技术人员将理解,计算机系统700可以包括一个以上的处理器770和通信端口760。处理器770的示例包括但不限制于

通信端口760可以是用于基于调制解调器的拨号连接的RS-232端口、10/100以太网端口(Ethernet port)、使用铜或光纤的千兆(Gigabit)或万兆端口、串行端口、并行端口或其他现有或未来端口中的任何一种。通信端口660可以根据网络(诸如局域网(LAN)、广域网(WAN)或计算机系统所连接的任何网络)来选择。

存储器730可以是随机存取存储器(RAM),或本领域公知的任何其他动态存储设备。只读存储器740可以是任何静态存储设备,例如但不限制于用于存储静态信息的可编程只读存储器(PROM)芯片,例如用于处理器770的启动或BIOS指令。

大容量存储750可以是任何当前或未来的大容量存储解决方案,其可以用于存储信息和/或指令。示例性大容量存储解决方案包括但不限制于并行高级技术附件(ParallelAdvanced Technology Attachment,PATA)或串行高级技术附件(Serial AdvancedTechnology Attachment,SATA)硬盘驱动器或固态驱动器(内部或外部,例如具有通用串行总线(Universal Serial Bus,USB)和/或火线接口),例如可从希捷(Seagate)(例如希捷梭鱼(Seagate Barracuda)7200系列)或日立(Hitachi)(例如日立桌面星(HitachiDeskstar)7K1000)、一个或多个光盘,独立磁盘冗余阵列(Redundant Array ofIndependent Disk,RAID)存储(例如,SATA阵列)获得大容量存储,可从各种供应商处获得大容量存储,其供应商包括多山系统公司(Dot Hill Systems Corp.)、LaCie、Nexsan技术公司(Nexsan Technologies,Inc.)和增强型技术公司(Enhance Technology,Inc.)。

总线720将处理器770与其他存储器、存储装置和通信块通信耦合。总线720可以是例如外围组件互连(Peripheral Component Interconnect,PCI)/PCI扩展(PCI Extended,PCI-X)总线、小型计算机系统接口(Small Computer System Interface,SCSI)、USB等,用于连接扩展卡、驱动器和其他子系统以及其他总线,诸如将处理器770连接到软件系统的前端总线(front side bus,FSB)。

可选地,操作器(operator)和管理界面,例如显示器、键盘和光标控制设备,也可以耦合到总线720,以支持操作器与计算机系统的直接交互。可以通过通过通信端口760连接的网络连接来提供其他操作器和管理界面。外部存储设备710可以是任何类型的外部硬盘驱动器、软盘驱动器、

因此,本领域的普通技术人员将会意识到,图表、示意图、图解等表示说明体现本发明的系统和方法的概念性视图或过程。附图中所示的各种元件的功能可以通过使用专用硬件以及能够执行相关联的软件的硬件来提供。同样,图中所示的任何转换都只是概念性的。它们的功能可以通过程序逻辑的操作、通过专用逻辑、通过程序控制和专用逻辑的交互、或者甚至手动来实现,实现本发明的实体可以选择特定的技术。本领域的普通技术人员还理解,这里描述的示例性硬件、软件、过程、方法和/或操作系统是为了说明的目的,因此,不旨在限制于任何特定的名称。

如本文所用,除非上下文另有规定,术语“耦合到”旨在包括直接耦合(其中两个彼此耦合的元件彼此接触)和间接耦合(其中至少一个附加元件位于两个元件之间)。因此,术语“耦合到”和“与……耦合”用作同义词。在本文档的上下文中,术语“耦合到”和“与……耦合”也被委婉地用来表示通过网络“通信地耦合到”,其中两个或多个设备能够通过网络彼此交换数据,可能经由一个或多个中间设备。

对于本领域技术人员来说,很明显,在不脱离这里的发明概念的情况下,除了已经描述的那些之外,许多更多的修改是可能的。因此,除了所附权利要求的精神之外,本发明的主题不受限制。此外,在解释说明书和权利要求时,所有术语都应以与上下文一致的最广泛的可能方式来解释。具体而言,术语“包括”和“包含”应当被解释为以非排他性的方式指代元件、组件或步骤,指示所引用的元件、组件或步骤可以存在、使用或与未明确引用的其他元件、组件或步骤组合。其中说明书权利要求书涉及从由A、B、C……和N组成的组中选择的至少一个,文本应该被解释为只需要组中的一个元素,而不是A加N,或者B加N,等等。

虽然前面描述了本发明的各种实施例,但是在不脱离本发明的基本范围的情况下,可以设计出本发明的其他和进一步的实施例。本发明的范围由权利要求所确定。本发明不限制于所描述的实施例、版本或示例,当与本领域普通技术人员可获得的信息和知识相结合时,包括这些实施例、版本或示例以使本领域普通技术人员能够制造和使用本发明。

本公开的优点

本公开提供了一种用于为实体生成经验证文档的系统和方法。

本公开提供了一种用于生成不能被篡改的经验证文档的系统和方法。

本公开提供了一种用于生成可以被依赖实体或机构用作用户的真实信息的证明经验证文档的系统和方法。

本公开提供了一种用于生成可与唯一标识符/代码相关联的经验证文档的系统和方法,使得用户或依赖实体可使用该唯一标识符/代码来出于各种目的获取用户的经验证信息。

本公开提供了一种用于生成经验证文档的系统和方法,该系统和方法允许在不丧失信任的情况下访问用户的私人数据。

本公开提供了一种用于生成经验证文档的系统和方法,该系统和方法提供了针对全局第三方的防假冒检查。

本公开提供了一种用于生成经验证文档的系统和方法,该系统和方法通过使用区块链分散验证证明来解决传统的“电话家庭问题”。

本公开提供了一种用于生成经验证文档的系统和方法,该系统和方法使得依赖方能够访问与第三方存储的私人信息,同时在最大化其真实性、隐私性和分散验证。

相关技术
  • 分散式文档和实体验证引擎
  • 文档验证方法和文档验证设备
技术分类

06120112264258