CN113392411A - 用于识别的区块链证据 - Google Patents
用于识别的区块链证据 Download PDFInfo
- Publication number
- CN113392411A CN113392411A CN202110256432.9A CN202110256432A CN113392411A CN 113392411 A CN113392411 A CN 113392411A CN 202110256432 A CN202110256432 A CN 202110256432A CN 113392411 A CN113392411 A CN 113392411A
- Authority
- CN
- China
- Prior art keywords
- node
- hash result
- graph
- key
- chain
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3236—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/602—Providing cryptographic facilities or services
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3236—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
- H04L9/3239—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions involving non-keyed hash functions, e.g. modification detection codes [MDCs], MD5, SHA or RIPEMD
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/23—Updating
- G06F16/2365—Ensuring data consistency and integrity
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/64—Protecting data integrity, e.g. using checksums, certificates or signatures
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3226—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using a predetermined code, e.g. password, passphrase or PIN
- H04L9/3231—Biological data, e.g. fingerprint, voice or retina
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/50—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Theoretical Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Databases & Information Systems (AREA)
- Bioethics (AREA)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- Data Mining & Analysis (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biodiversity & Conservation Biology (AREA)
- Biomedical Technology (AREA)
- Computing Systems (AREA)
- Storage Device Security (AREA)
- Graft Or Block Polymers (AREA)
- Heterocyclic Carbon Compounds Containing A Hetero Ring Having Oxygen Or Sulfur (AREA)
- Heterocyclic Compounds That Contain Two Or More Ring Oxygen Atoms (AREA)
Abstract
本申请案涉及用于识别的区块链证据。实施方案有效地验证实体的身份声明。一种实例方法包含接收查询密钥与识别实体的性质及从图存取记录识别所述性质的可能匹配,所述可能匹配是身份链中的节点。所述方法还包含验证从所述可能匹配到所述链中的创始节点的完整链。使用所述查询密钥来寻找所述链中的下一节点。未能识别所述创始节点会导致不成功的验证。所述方法还包含响应于定位所述创始节点而生成指示成功的验证请求的响应及否则生成指示不成功的验证请求的响应。
Description
相关申请案
本申请案是2020年3月11日申请的第62/988,271号美国临时申请案的非临时申请案且主张所述非临时申请案的优先权,所述申请案的全部内容以引用的方式并入本文中。
技术领域
本教示涉及用于使用图中的节点进行身份验证的方法、系统及编程。特定来说,本教示涉及一种使任何受信任实体能够担任安全的身份证明提供者而无需发出硬件或软件令牌的可链接节点结构。
背景技术
区块链是一种确保一旦生成数据就无法在不进行检测的情况下轻易修改数据的技术。更具体来说,区块链是以加密方式链接的一系列数据块或节点,其中每一区块包含先前(即,先行)区块的加密哈希。以加密方式链接的这些区块被称为链。从链中的区块开始,为了识别先行区块,计算机系统生成区块链中的区块(区块内容)的哈希直到识别带有与存储在起始区块中的哈希匹配的经哈希内容的区块为止。搜索在创始区块经定位时结束。创始区块不具有包含在其内容中的哈希结果。如果未找到与哈希匹配的区块,那么链断裂,从而指示数据已被修改。因此,区块链可抵抗数据修改。由于这种性质,区块链可用于安全目的,例如数字货币及审计记录。
区块链中的所有区块以综合图或改进式默克尔树结构来结构化/组织。随着区块被添加,链的账本(例如,在图/默克尔树中)增长。一些账本经存储在公共云中。其它账本经存储在本地且公众无法存取。常规上,随着时间流逝,区块链变深,链中带有很多节点,或变宽,其中创始或根区块具有非常高的分支度。
发明内容
实施方案提供一种用于验证实体的身份而无需依赖于第三方来颁发硬件或软件令牌(token)的安全、灵活且分布式的系统。在经授权组织进行成功的身份证明过程之后,实施方案生成实体的链。所述链较短,每一实体仅包含几个区块。所述实体可为人或物体且为身份证明过程的主体。每一链具有创始区块,所述创始区块包含例如实体的2维或3维图像、生物特征标记、不动产的图像等作为描述实体的物理属性的其内容数据的部分。链中的至少一个区块包含与成功的身份证明中使用的文件相关的内容。其它区块可包含其它信息及/或在实体的经授权组织处执行的动作。
实体本身或实体的所有者(如果实体是物体)在成功的身份证明之后提供签名密钥。在生成链时使用签名密钥,例如,通过包含在提供到生成链接链的加密哈希的哈希函数的输入中及/或通过提供在存储区块之前对区块内容进行加密的密钥。在任一情况下,签名密钥是验证链所必需的。签名密钥可由实体的保管者(例如,人或物体的所有者)提供。签名密钥可为由实体的保管者选择的任何事物。非限制性实例包含最喜欢的短语或台词,第一只宠物的名字、图像、最喜欢的歌曲、最喜欢的语录、姓名、出生日期、地址的组合等。签名密钥可由实体提供,例如,存储在特定存储器地址中的数据、物体的特定部分的图像、物体的位置(例如,当前位置或原点位置)等。经授权组织可提供验证实体的服务。为了验证实体,经授权组织需要用于定位实体链的最后一个区块的某种性质(例如名称)及查询密钥。查询密钥对应于签名密钥。换句话说,查询密钥具有与签名密钥相同的功能,但其被提供为链验证的部分而非链生成的部分。如果使用查询密钥及所述性质来定位链,那么验证是成功的。在一些实施方案中,除成功验证的指示以外,查询响应还可包含来自创始区块或链中的某个其它区块的数据。
在没有所揭示实施方案的情况下,安全的身份验证常规上需要第三方公司。例如,常规上,在医院根据适当的法规及法律验证医生的身份之后,医院将硬件令牌发给医生使得医生可使用令牌来存取安全的医院计算机系统。此类令牌由第三方公司来服务。替代必须涉及第三方公司且冒着丢失令牌的风险的是,医院可使用所揭示实施方案来取代硬件令牌。例如,在获得对计算机系统的存取之前,可能要求医生提供查询密钥及搜索字段(例如姓名)作为查询参数。所揭示实施方案可使用经提供查询参数来确定在图中是否存在链;如果无法识别链,那么验证是不成功的。在一些实施方案中,可通过比较创始区块的数据(例如,描述物理特性)或来自某个其它区块的数据与在登录时从医生获得的数据来增加进一步安全性。因此,例如,可能要求医生进行指纹或面部扫描且比较这个指纹或面部扫描与从成功识别的链获得的数据。如果数据未能匹配,即使成功地识别链,验证请求也可能失败。在一些实施方案中,这个额外检查可由请求过程进行。换句话说,成功的验证可将创始区块数据提供回到请求过程且请求过程可使用所述数据来执行第二验证。
作为另一实例,远程控制装置,例如无人机或无人机网络,可用指令进行配置。为了避免按照从非授权用户发送的指令行动,无人机可经配置以在接受指令之前验证提供指令的实体的身份。换句话说,无人机可充当验证服务,其存储一或多个身份区块链且要求在按照指令行动之前对链进行验证。作为另一实例,组织可从所连接装置的网络接收数据。所述装置可将数据(例如,传感器读数、图像等)提供到所述组织。在此设置中,所述组织可存储用于所述网络的一或多个身份区块链,例如,用于所述网络的一个创始区块及从所述网络分叉的若干链,所述网络中的每一装置一个链。使用所揭示技术,装置可向签名密钥提供所述数据且在接收系统接受所述数据之前,接收系统可使用与所述数据一起提供的签名密钥来依据区块链验证所述装置。
附图说明
依据实例实施方案进一步描述本文中所描述的方法、系统及/或编程。参考附图详细地描述这些实例实施方案。这些实施方案是非限制性实例,其中贯穿附图的若干视图,类似参考数字表示类似结构,且其中:
图1描述根据实施方案的系统配置的高级描绘;
图2描述根据实施方案的在区块链识别证据中使用的实例元件的框图;
图3说明根据实施方案的生成在用于识别的区块链证据中使用的实体链的实例过程的流程图;
图4说明根据实施方案的使用链作为用于识别证据的实例过程的流程图;及
图5说明根据实施方案的用于将区块添加到链的实例过程的流程图。
具体实施方式
在以下详细描述中,以实例的方式阐述众多特定细节以便提供对相关教示的透彻理解。然而,对于所属领域的技术人员来说应显而易见的是,可在没有此类细节的情况下实践本教示。在其它例子中,已在相对较高层次描述但未详细地描述熟知方法、程序、系统、组件及/或电路系统,以便避免不必要地混淆本教示的方面。
实施方案提供一种使经授权组织能够维持及提供区块链识别证据的框架。具体来说,经授权组织可在成功的身份证明过程之后生成链且接着提供接口,例如,使其他人能够发送针对实体的验证查询且接收查询响应的应用程序接口(API)。所述响应指示所声称的实体已被验证或尚未被验证。所述响应还可包含从经验证链中的区块取得的信息,请求者可根据所述信息执行额外验证。
如图1中所展示,网络环境100可包含通过网络160或一系列网络160彼此进行数据通信的数个计算装置。网络160可包含因特网、局域网(LAN)、广域网(WAN)、蜂窝网络(例如,5G蜂窝)、内联网等,或这些网络的某个组合。例如,客户端170可经由LAN、蜂窝网络、内联网或因特网与一或多个证明主机110进行通信。证明主机110a可经由因特网、内联网、WAN、LAN、蜂窝网络、有线连接、无线连接等的任何组合与证明主机110b及/或110n进行通信。在一些实施方案中,网络160表示一个以上网络,例如,因特网及WAN或因特网及WI-FI或蜂窝网络。
环境100中的计算装置可包含主计算机,例如证明主机110a、110b及110n。计算装置还可包含客户端装置,例如客户端170。客户端170例如经由浏览器、移动应用程序或某个其它接口提供用户接口,以供人类用户通过网络160例如经由证明主机110的查询API 125存取查询功能。客户端170还可存取其它各种应用程序,包含由证明主机110a提供的应用程序112及由其它证明主机提供的类似应用程序、其它基于云的应用程序等。
证明主机110a(例如,还有110b、110n等)可为用于经授权组织的基于网络的系统,例如金融组织、政府机关或部门、金融机构、教育机构、医疗保健相关组织、许可组织、公用事业、公司等。证明主机110a可要求其用户(例如,雇员或客户)在存取证明主机110a的应用程序112及/或证明应用程序120之前用登录凭证(通常是用户名及密码等)登录。证明主机110a可包含计算装置,例如计算机、服务器或数个通信连接的分布式服务器、大型机等,所述计算装置具有经配置以执行存储在存储器104(例如主存储器、RAM、快闪存储器、高速缓冲存储器或磁盘)中的指令的一或多个处理器102(例如,形成在衬底中的处理器)。指令可经存储在运行时环境、功能模块及/或引擎(例如,应用程序112、证明应用程序120)中,且可提供支持经授权组织(受信任实体)的运作及操作的功能。在一些实施方案中,证明主机110a可为在接受指令且按照指令行动(例如,更新数据114及/或运行应用程序112)之前执行验证的装置,例如远程控制装置。
如本文中所使用,经授权组织是执行身份证明过程的任何组织,例如公司、代理机构、团体、专业组织等或远程控制装置。经授权组织也可被称为受信任实体。经授权组织执行身份证明过程作为至少一个服务或任务的部分。如本文中所使用,身份证明过程是为了验证有关实体的某些事物而执行的过程。身份证明过程通常依赖于特定文件来完成身份证明过程。身份证明过程的非限制性实例包含获得执照、律师资格证、护照等的过程、雇用新雇员的过程、验证土地或汽车所有权的过程、用于设置帐单的过程、用于设置装置的所连接网络或设置远程控制装置的过程等。因此,成功的身份证明过程可包含至少一个支持文件,例如出生证书、所有权凭证、执照、社会保障卡、当前邮件、位置、装置标识符、装置的特定部分的图像等。身份证明过程的结果可为验证人的身份,验证物体是所述物体声称的那样;验证物体归某人所有,验证物体是网络的部分等。身份证明过程可能是严格的(例如,获得护照或准许执业)或轻松的(例如,设置家庭用电)。因此,每一经授权组织通过其相应身份证明过程,可表示有关实体的身份的不同级别的保证。实体可为人、动物、物理物体或数字物体(例如,装置的所连接网络,例如无人机网络、物联网网络等)。
在一些实施方案中,一或多个应用程序112可使证明主机110a的用户能够完成或记载身份证明过程。在此类实施方案中,所述应用程序可在成功地完成实体的身份证明过程之后调用(call/invoke)证明应用程序120。在一些实施方案中,用户(与证明主机110a相关联的经授权组织的代表)可在成功地完成实体的身份证明过程之后直接调用或发起证明应用程序120。
证明应用程序120在可链接身份图131中生成实体的身份链。身份链包含实体的创始区块(或创始节点)。创始区块是所述链中的第一区块且不具有指向另一区块的指针。在一些实施方案中,创始区块具有捕获实体的物理性质的内容。作为非限制性实例,创始区块的内容可包含实体(或实体的一部分)的二维图片、实体的三维图片、生物特征数据(指纹、视网膜扫描、DNA序列)、声纹、所有权凭证的图像、来自装置的特定存储器位置的数据等。身份链是短区块链,例如,在所述链中仅有几个(3个、5个、10个)区块用于实体。所述块经存储在可链接身份图131中。可链接身份图131可具有经授权组织已针对其完成成功的身份证明过程的实体的创始区块。每一实体在可链接身份图131中具有相应创始区块。创始区块也可被称为身份链的根。可链接身份图131中的每一链根植于创始区块。在一些实施方案中,实体可具有根植于其创始区块的一个以上链。例如,更改其姓名且将更改姓名的证据提供到经授权组织的人可具有根植于同一创始区块的两个链。作为另一实例,远程装置可具有植根于其创始区块的两个或更多个链,被授权操作远程装置的每一唯一用户一个链。作为另一实例,远程装置的网络可具有用于植根于所述网络的创始节点的每一授权装置的一个链。替代地,每一远程装置可具有其自身创始节点及身份链。在一些实施方案中,身份链可具有主链且侧链可表示较低权限。例如,远程装置可在验证主链时执行指令,但仅在验证侧链时响应于查询。
可链接身份图131与常规数据库或类似记录存储库不同。首先,常规数据库记录通常可更改。可链接身份区块(也被称为区块或身份节点)不可更改,且链中的任何身份区块的更改导致断裂的链,除非还识别且修改所有后续区块。因为对身份区块的任何更改涉及显著时间成本及计算能力,所以此类更改是不切实际的。这种不变性使可链接身份图131可抵抗欺诈及身份盗窃。可链接身份图131可为改进式默克尔树,其中仅经由先行区块的哈希的包含链接不同区块。链中的每一身份区块具有内容。所述内容包含有效负载数据及其先行者的内容的哈希结果。可因为一创始区域缺乏哈希结果而将其识别为创始区块。如本文中所使用,对名词哈希的引用与对哈希结果的引用相同,且反之亦然。
可链接身份图131中的区块可记录成功的身份证明过程的方面。例如,一或多个身份区块可具有有关在身份证明过程中使用的文件或若干文件的信息作为有效负载数据。例如,此区块可记录(若干)文件的类型、(若干)文件的图像及从(若干)文件提取的一或多个数据项。一或多个身份区块可具有来自由于成功的身份证明过程而颁发的文件或凭据(例如,驾驶执照号码、护照号码、所有权凭证等)的信息作为有效负载数据。链中的一或多个身份区块可具有与实体相关的记录,例如,语音的记录。链中的一或多个身份区块可具有有关与实体相关的活动的信息作为有效负载数据。例如,当经授权组织是颁发执照的部门时,更新执照的人可将新身份区块(或若干新身份区块)添加到那个人的身份链。链中的一或多个身份区块可包含改进或支持区块的一致性及全面性的任何数字化材料。
实施方案还包含图存取记录135。图存取记录135促进识别特定实体的身份链中的最后一个节点。图存取记录135存储包含实体的可搜索性质的记录。这些可搜索性质被称为密钥性质或搜索字段。密钥性质不需要唯一地识别实体,但应识别实体的性质。密钥性质的实例是名字及姓氏、出出生日期期、车牌号码、小区号码、地址等。除一或多个密钥性质以外,图存取记录135中的记录还包含链中的下一块的哈希结果。因此,无论图存取记录135是存储为可链接身份图中的区块或存储为表或以某种其它格式存储,图存取记录均被视为身份链中的最终节点。
可链接身份图131的身份链与其它区块链的不同之处在于成功地遍历所述链且定位创始区块所需的签名密钥的使用。在生成链之前选择这个签名密钥且由实体的保管者选择所述签名密钥。如果实体是人,那么实体的保管者是所述人本身。如果实体不是人,那么实体的保管者是主张实体的看管的人。签名密钥可为由实体的保管者选择的任何数据。例如,签名密钥可为图像、语录、最喜欢的作者/书籍/电影/目的地/日期/食物等。如果实体是报告数据的装置,那么实体的保管者可配置所述装置以报告签名密钥。装置的签名密钥可为例如装置的特定部分的数字图像或扫描、与装置相关联的位置(例如,起点位置、当前位置)、来自静态存储器地址的数据等。签名密钥可为数据项的组合,例如姓名及日期、日期及位置、语录及作者姓名等。签名密钥可能必须符合由经授权组织设置的规则,但可另外为实体保管者选择的任何事物。签名密钥用于生成身份节点,但从不由证明主机110a存储。签名密钥仅由证明主机110a用于生成身份节点及查询可链接身份图131。这增加身份链的安全性,但避免丢失验证所述链所需的密钥的风险。因为签名密钥是由所述保管者选择,所以在正常情况下签名密钥被忘记或丢失的风险较低。
证明应用程序120可包含链生成程序123及查询API 125。链生成程序123可经配置以在成功的身份证明过程之后生成身份链。链生成程序123可从创始数据生成创始节点,可从与身份证明过程相关的数据生成一或多个身份节点,且生成图存取记录作为身份链中的最终节点。链生成程序123可使用由实体或实体的所有者提供的签名密钥来生成所述链。在一些实施方案中,这个签名密钥可与先前节点的内容组合且被提供为哈希算法的输入以生成先前节点的哈希结果。因此,例如,在生成将存储在第一身份节点中的哈希结果之前,可组合签名密钥与创始节点的内容。可组合那个身份节点的内容(例如,有效负载数据及哈希结果)与签名密钥以生成存储在下一身份节点或图存取记录中的第二哈希结果。在一些实施方案中,签名密钥可用作在将节点存储在可链接身份图131中之前对所述节点进行加密的加密过程中的密钥。在一些实施方案中,签名密钥可既用作哈希函数的输入又用作加密密钥。
证明主机110a可使用可链接身份图131来提供验证服务。在验证服务中,实体的所谓保管者(实体或实体的所有者)提供查询密钥及查询性质作为参数且证明主机110a使用这个输入来验证是使用查询参数来识别未断裂的链还是未识别链。如果识别未断裂的链,那么验证是成功的。如果未识别未断裂的链,那么验证是不成功的。证明主机110a可使用查询API 125来向其它平台(例如,向一或多个客户端170)提供查询接口。客户端170可提供查询参数(查询密钥、搜索字段及任选地返回字段)且可接收查询响应。查询响应可为成功或不成功验证的指示。查询响应可包含来自创始节点的数据。来自创始节点的数据可用于客户端处的额外验证步骤。查询响应可包含来自链中的其它节点的数据。例如,来自节点的任何有效负载数据可被包含在响应中。在一些实施方案中,查询请求者可请求一或多个数据项与验证成功指示符(例如返回字段)一起返回。
由验证请求(也被称为验证查询或仅被称为查询)启动验证服务。证明应用程序120可响应于查询而验证是否存在全身份链。可由证明主机110a或客户端170的用户启动查询。全链验证开始于所述链中的最后一个节点(例如,图存取记录)且遵循身份节点链直到到达创始节点为止。如果未到达创始节点,那么验证失败。在一些实施方案中,在可链接身份图131中搜索区块涉及蛮力搜索。在蛮力搜索中,系统从最后一个区块开始在所述图中搜索先行区块。先行区块是具有内容的块,一旦将所述内容(任选地与查询密钥一起)提供到哈希函数,就导致与存储在最后一个区块中的哈希结果匹配的哈希。接着,重复这个过程,其中使用先行区块的哈希结果来寻找其先行区块等,直到到达创始区块为止。创始区块可能是可识别的,因为其缺乏存储为所述内容的部分的哈希结果。这个蛮力搜索在计算上可能是昂贵的。在一些实施方案中,证明主机110a可包含用于验证身份链的特殊处理器。
在一些实施方案中,链中的每一块可包含将所述块识别为属于同一链的数据项。即使其余内容被加密,这个数据项也可能不会被加密。因此,例如,一旦使用图存取记录的哈希结果来定位身份区块,就可使用标识符(例如,群组标识符)来缩减可链接身份图131中作为所述链的可能候选者的区块。在第2020-0265046-A1号美国专利公开案中描述此系统,所述公开案以引用的方式并入本文中。在一些实施方案中,在可对实体采取任何额外动作之前,证明应用程序120可验证实体的链。
在一些实施方案中,一旦已生成链,证明应用程序120就不可更改链。在一些实施方案中,证明应用程序120可响应于某些动作而将额外区块添加到链。每一经授权组织可针对哪些动作将区块添加到链而设置其自身的策略及规则。一个非限制性实例是更新执照的许可实体;可在验证链之后将更新动作添加到链。在一些实施方案中,证明应用程序120可针对某些动作将创始区块或另一区块的分叉添加在身份链中。在一个非限制性实例中,姓名更改(例如,由于结婚或离婚)可能导致从实体的创始区块分叉的新链的生成。替代地,姓名更改可导致具有新姓名的新图存取记录,使得分叉发生在链的更下游处,即,更远离创始区块。在这个实例中,分叉可发生在链中的任何区块处。在一些实施方案中,源自创始区块的分支可使用不同签名密钥来生成新分支。在一些实施方案中,这个第二链(具有与第一链不同的签名密钥)可具有与第一链的密钥性质不同的密钥性质。换句话说,用于识别被视为链中的最后一个块的图存取记录的数据项在两个链之间可能有所不同。在此实施方案中,实体可具有验证链的两种不同方式。因此,例如,装置的网络可具有用于所述网络的创始节点并记录所述网络已知的装置且具有用于每一装置的单独链,因此每一装置可使用其自身的签名密钥来验证所述链。
客户端170可为个人计算系统、终端机、膝上型计算机、平板计算机、销售点装置、移动装置、企业系统、服务器或经配置以通过网络160发送及接收信息的其它类型的计算装置/系统。客户端170可包含经配置以执行存储在存储器174(例如主存储器、RAM、快闪存储器、高速缓冲存储器或磁盘)中的指令的一或多个处理器172(例如,形成在衬底中的处理器)。客户端170还可包含输入装置179,例如麦克风、键盘(虚拟或物理)、触摸屏、鼠标、相机、录音机等。客户端170还包含显示器178或其它输出装置。客户端170还可包含执行各种功能的一或多个应用程序176,例如,浏览器、文字处理程序、电子表格程序、电子邮件客户端、移动应用程序等。客户端170可经由使用已知技术调用查询API 125的应用程序176来与证明主机110a(及/或证明主机110b、110n等)进行通信。
环境100还可包含若干不同的证明主机,例如证明主机110b及证明主机110n。尽管为了简洁起见未在图1中说明,但证明主机110b及证明主机110n还可包含所说明的用于证明主机110a的组件。在一些实施方案中,所述证明主机中的一或多者可由同一商业实体来操作,例如作为分布式系统。在一些实施方案中,证明应用程序120可经配置以存取存储在另一证明主机110处的图存取记录135及/或可链接身份图131。在一些实施方案中,证明应用程序120可经配置以与在另一证明主机110上执行的另一证明应用程序协调查询。
证明主机110a的配置是一个实例且实施方案包含其它配置。例如,由证明应用程序120执行的能力可被包含在应用程序112中的一或多者中。同样,查询API 125可为独立模块或可被包含在应用程序112中的一或多者中。类似地,数据,例如数据114、图存取记录135及可链接身份图131中的一或多者可跨若干计算装置分布及/或可由证明主机110a存取但物理上远离证明主机110a。此外,环境100表示实例环境。尽管在图1中被说明为带有特定组件,但环境100可包含未说明的额外组件,或可不包含所展示的所有元件。另外,一些组件可被组合成单个组件。此外,证明主机110a被理解为经配置以遵守与数据输入及从数据源获得的数据相关的任何适用法律、法规或其它条件。
图2说明根据实施方案的在区块链识别证据中使用的实例元件的框图。可链接身份图131包含若干实体创始区块200,例如,区块200(1)到200(n)。创始区块200表示身份链的根。每一创始区块200具有相关联的有效负载数据201,例如有效负载数据201(1)到有效负载数据201(n)。创始区块的有效负载数据也可被称为创始数据。创始数据可为捕获实体的物理性质的任何数据。在一些实施方案中,创始数据可唯一地识别实体。在一些实施方案中,创始数据不需要是实体独有的。创始数据的非限制性实例包含实体的图像(2维或3维)、从实体获得的生物特征(包含基因数据、指纹、声纹、视网膜扫描等)、不动产地址、车辆识别号码的图像、绘画的光谱分析等。在一些实施方案中,有效负载201在被存储之前进行加密。一些实施方案可使用从实体的保管者获得的签名密钥作为加密密钥。如本文中所揭示,签名密钥可为由实体选择的任何事物,或如果实体不是人,那么签名密钥可为由实体的所有者选择的任何事物。创始区块200被视为身份链中的第一区块。创始区块200的内容是有效负载数据201。
可链接身份图131可具有数百个、数千个或甚至数百万个身份链。身份链从创始区块延伸到图存取记录,所述图存取记录是图存取记录135中的记录。图存取记录与创始区块之间的区块可被称为链接区块。在图2的实例中,链接区块包含区块205、210及215。链接区块可具有不同的有效负载数据。例如,在图2的实例中,区块205包含有关在身份证明过程中使用的识别因子的信息。图2的区块210具有包含在身份证明过程中获得、由身份证明过程生成或与身份证明过程相关的其它信息的有效负载数据。区块215包含与活动相关的有效负载数据。如图2中所说明,识别链可具有任何数目个区块,但通常较短(在3个与10个或15个区块之间)。图2中所说明的链接区块的类型用于说明性目的且身份链中的区块可包含不同类型的数据。链接区块的内容是有效负载数据及哈希结果。哈希结果是从链中的先前区块的内容生成。因此,举例来说,<hash1>可为使用有效负载数据201(1)生成的哈希结果且<hash2>可为使用<Id Factor 1>、<Id Factor 2>及<hash1>等生成的哈希结果。
使用签名密钥来生成可链接身份图131中的链接区块。取决于实施方案,可以不同方式使用签名密钥。例如,一些实施方案可组合签名密钥与先前区块的内容以生成存储在下一区块中的哈希结果。例如,<hash1>可为使用有效负载数据201(1)及签名密钥生成的哈希结果,而<hash2>可为使用<Id Factor 1>、<Id Factor 2>、<hash1>及签名密钥等生成的哈希结果。在一些实施方案中,签名密钥可用于在存储区块的内容之前对所述内容进行加密。在此类实施方案中,在将区块的内容提供到生成哈希结果的哈希算法之前,使用查询密钥来对所述内容进行解密。如果查询密钥与用于对所述内容进行加密的签名密钥不匹配,那么证明程序将无法找到未断裂的链。这些的组合也是可能的。例如,可使用签名密钥来对区块的内容进行加密且可组合经加密内容与签名密钥作为哈希算法的输入。作为另一实例,可从签名密钥与区块的内容的组合生成哈希结果且可使用签名密钥来对块的内容进行加密。实施方案包含在生成身份链时签名密钥的其它类似用法。签名密钥未存储为可链接身份图131或图存取记录135的部分,这增加了验证过程的安全性。
每一身份链以实现使用一些搜索字段来识别所述链的最后一个区块结束。搜索字段被称为实体的密钥性质。密钥性质不需要(但可)唯一地识别实体。密钥性质将大大地减少响应于查询而调查的潜在链的数目。实例密钥性质包含名字及姓氏、出生日期、地址、执照号码、社会保障号码、帐户号码等。最后一个区块也被称为图存取记录。图存取记录可具有与身份链中的其它区块类似的格式,举例来说,例如图2中所说明的图存取记录135’。图存取记录135’被存储为可链接身份图131中的区块。在此类实施方案中,即使链中的其余区块具有经加密内容,搜索字段(密钥性质)也可能不会被加密。这改进了查询响应时间。在一些实施方案中,最后一个区块可为表中的记录,例如图2中所说明的图存取记录135”。表进一步改进查询响应时间,这是因为可索引搜索字段使得可快速地定位响应性图存取记录135”。每一图存取记录包含哈希结果,例如,哈希265。哈希265是从链中的倒数第二个区块的输入生成。因此,例如,<hash8>是从<Proof Detail3>及<hash7>及任选地签名密钥生成。
尽管被视为链中的最后一个区块,但图存取记录135与其它区块的不同之处在于图存取记录135仍然是链中的最后一个区块。换句话说,如果将区块添加到链,那么所述区块在链中的倒数第二个区块之后添加且将存储在图存取记录中的哈希结果作为其哈希结果。图存取记录接收从经插入区块生成的新哈希以替换其当前哈希。因此,例如,如果在苏珊·琼斯(Susan Jones’)的身份链中插入新区块,那么新区块在其内容中取得<hash8>且用从新节点的内容生成的新哈希结果(例如,<hash9>)更新苏珊·琼斯的图存取记录的哈希265。在一些实施方案中,通过删除旧图存取记录且插入新图存取记录来进行更新。当然,如果新区块形成链中的另一区块的分支,那么第二链具有其自身的最后一个区块。
图2中所说明的图存取记录135”具有三个密钥性质;搜索字段250(姓氏)、搜索字段255(名字)及搜索字段260(出生年份)。然而,这些仅是实例且取决于受信任组织的配置及偏好,实施方案可包含更少搜索字段、额外搜索字段或不同搜索字段。如本文中所使用,取决于上下文,对字段的引用涉及字段名称、字段值或两者。例如,查询可具有搜索字段作为参数。应理解,所述字段表示某种类型的数据(例如,字段名称)且具有某一值,因此对搜索字段的引用涉及数据的类型及其值。类似地,链中的区块可在有效负载中包含一或多个字段;然而,所述区块可仅存储所述字段的值。在一些实施方案中,字段名称(类型)可为隐含的。在一些实施方案中,可基于字段在内容内的位置(例如以逗号分隔的列表中的顺序或字节位置)而确定字段名称。在一些实施方案中,字段名称可与所述值配对。
图3说明根据实施方案的生成实体的身份链的实例过程300的流程图。受信任组织可结合身份证明过程来使用过程300。过程300可至少部分地由例如图1的证明主机110a的系统来执行。过程300从与身份证明相关的数据项及由实体的保管者(例如,如果实体是人或拥有实体的人,那么是实体)选择且从其接收的签名密钥生成被证明实体的身份链。过程300可包含由步骤305到315表示的身份证明过程。在一些实施方案中,这些步骤的一部分可由受信任组织的代表(例如,由雇员)来执行。
过程300可开始于接收实体的身份因子(305)。身份因子可为向受信任组织建立实体身份的任何数据项。例如,身份因子可包含出生证书、执照、结婚证书、护照、带有地址的一封邮件、所有权凭证、契约、社会保障卡、出处证书、鉴定、生物特征因子(虹膜、语音、指纹、面纹)等。在一些实施方案中,可例如由受信任组织的代表或由自动化过程验证身份因子(310)。如果验证是不成功的(315,否),那么实体的身份证明过程失败且不生成实体的身份链。如果验证是成功的(315,是),那么身份证明过程是成功的。如果尚未以系统可存取的格式提供,那么在验证成功的情况下,那么可将身份因子键入到系统中或以其它方式使其可供系统使用。响应于成功的身份证明过程,系统可获得创始节点数据且生成创始节点(320)。在一些实施方案中,创始节点数据捕获实体的某种物理性质。在一些实施方案中,创始节点数据可包含数字识别信息,例如数字密钥、IP地址等。创始节点还可包含支持数据元素,例如徽标(2D或3D)、域名等。系统还可从实体的保管者获得签名密钥(325)。由实体的保管者选择签名密钥。在一些实施方案中,签名密钥可具有由受信任组织设置的大小或格式要求。除由特定的受信任组织设置的要求以外,签名密钥为何物可能不存在限制。在一些实施方案中,在生成创始节点之前获得签名密钥。例如,在使用签名密钥来对创始数据进行加密的情况下,可在生成创始节点之前获得签名密钥。
在生成身份链中的额外身份节点时使用签名密钥。节点的数目及各种节点的有效负载是可由受信任组织设置的实施方案细节。因此,所揭示实施方案不依赖于任何特定的链长度或有效负载数据。系统可生成各自具有以下项作为内容的节点:有效负载数据及从包含先前节点的内容的输入生成的哈希(330、330’)。在一些实施方案中,用于生成哈希的输入包含先前节点的内容及签名密钥(330)。在一些实施方案中,系统生成哈希且接着使用签名密钥作为加密密钥来对节点的内容进行加密(330’)。在一些实施方案中,系统可组合签名密钥与所述内容且使用这个组合作为哈希函数的输入并使用签名密钥来对节点的内容进行加密。系统将节点存储在可链接图中。作为所述链中的最后一个节点,系统生成图存取记录(335)。图存取记录包含实体的搜索字段(或若干搜索字段),或换句话说,密钥性质(或若干密钥性质)。这些字段可能已包含在一或多个节点中的有效负载数据中。这些字段可能已专门针对图存取记录获得。图存取记录还包含例如作为330、330’的部分在链中生成的最后一个节点的哈希结果,或这些的组合。哈希是以与用于生成链中的节点的方式类似的方式生成。接着,过程300结束。
图4说明根据实施方案的使用身份链作为用于识别的证据的实例过程400的流程图。过程400是可由客户端启动或作为受信任组织处的初始步骤的查询过程的实例。过程400可由例如图1的证明主机110a的证明主机来执行。过程400采用查询参数作为输入且作为响应提供是否使用查询参数来定位身份链的指示。在一些实施方案中,响应还可包含从身份链中的节点的有效负载获得的数据项。
过程400可响应于接收到查询参数而开始(405)。查询参数可指定一或多个搜索字段。所述字段可由受信任组织经由特定API控制。例如,受信任组织可仅使某些字段可供查询请求者用来提供为参数。在一些实施方案中,所述字段对应于图存取记录中可用的搜索字段。在一些实施方案中,所述字段可包含额外字段,例如,请求链中的节点的有效负载中可用的特定数据项。包含在查询参数中的字段可被统称为密钥性质。除密钥性质之外,查询参数还包含查询密钥。查询密钥对应于签名密钥。查询密钥用于从图存取记录(或若干图存取记录)到创始节点遍历链。未能使用查询密钥从图存取记录到达创始节点会导致不成功的验证响应。
因此,系统使用搜索字段来识别匹配的图存取记录(410)。当图存取记录中的(若干)搜索字段与查询参数中提供的(若干)字段匹配时,图存取记录是匹配的记录。如果未找到匹配的图存取记录(415,否),那么系统发送否定或失败的验证响应(420)且过程400结束。如果识别至少一个匹配的图存取记录(415,是),那么系统获得查询密钥,或换句话说签名密钥。这个密钥由正被验证的实体的保管者提供。在一些实施方案中,查询密钥可能已被提供为步骤405的部分。系统使用查询密钥来遍历可链接图中的节点以确定是否存在全链(例如,从图存取记录到创始节点)。这是由步骤430到460表示的迭代过程,其开始于作为“当前”节点的最后一个节点(图存取记录)。当前节点具有哈希结果且系统试图将那个哈希结果针对为图中的节点计算的哈希结果进行匹配。这个过程包含取决于实施方案且如本文中所描述那样使用密钥作为哈希函数的额外输入或作为解密密钥,或两者。如果未定位匹配的节点(435,否),那么系统未能找到查询密钥与图存取记录的组合的全链。如果不存在其它可能匹配的图存取记录(445,否),那么系统可发送否定的验证响应(420)且过程400针对这个实体而结束。如果存在至少一个额外匹配的图存取记录(445,是),那么过程400继续使用那个图存取记录作为“当前节点”且系统尝试使用查询密钥来定位从那个节点到创始节点的链。在一些实施方案中,数据可结合查询来提供且系统响应于不成功的验证请求或换句话说否定的验证响应而拒绝数据。例如,数据可为例如用于无人机或其它远程装置的指令,且远程装置响应于不成功的验证请求而拒绝或未能按照指令行动。作为另一实例,数据可为由传感器采用的读数且数据可响应于不成功的验证请求而被拒绝且不被包含在分析中。
如果找到匹配的节点(435,是),那么系统可提取节点的一些或所有有效负载(440)。如果到达创始节点,那么可在生成搜索结果时使用有效负载。步骤440是任选的。在一些实施方案中,系统提取仅一些节点的有效负载数据。在一些实施方案中,是否提取有效负载数据及从哪些节点提取有效负载数据可取决于在查询参数中识别的搜索字段。如果所述节点不是创始节点(445,否),那么系统例如在430处使用所述节点作为当前节点且开始搜索先前节点。如果所述节点是创始节点(455,是),那么系统已成功地识别全链且发送肯定的验证响应(460)。在一些实施方案中,作为响应仅提供成功的指示。在一些实施方案中,提供从链中的一或多个节点的有效负载获得的一或多个数据项。在一些实施方案中,在成功的响应的情况下提供创始节点的有效负载。请求者可使用额外数据来对实体执行额外检查。例如,在创始数据是实体的图像的情况下,请求过程可在客户端处显示图像使得用户可验证所呈现的实体与图像中的实体匹配。作为另一实例,年龄可被包含在响应中且请求过程可验证所呈现的实体是否满足某种年龄限定条件(例如,超过21岁且可购买酒类)。来自有效负载的数据可受查询请求者信任,因为其是不可变的;即,难以修改且高度确定是准确的。因此,例如,商店店员可轻松确定商店中呈现的执照是否为伪造的。在一些实施方案中,数据可结合查询来提供且系统响应于成功的验证请求而接受数据。例如,数据可为例如用于无人机或其它远程装置的指令,且远程装置响应于成功的验证请求而按照指令行动或执行指令。作为另一实例,数据可为由传感器采用的读数且可响应于成功的验证请求而接受数据以供分析。
图5说明根据实施方案的用于将节点(区块)添加到链的实例过程500的流程图。过程500可在例如图1的证明主机110a的系统生成原始链之后执行。过程500可使系统能够将额外节点插入到链中。受信任实体可这样做以添加验证实体的额外方式,例如,给予共同所有者从现存创始节点分叉的链或给予已更改其法定姓名的人额外分支。另一解决方法可为添加某人的第二张执照,例如,机动车部门将摩托车执照添加到拥有常规驾驶执照的人。过程500也可用于添加记载与实体相关的某些活动的节点。过程500因此可被理解为实现将单个节点添加在链中的倒数第二个节点之后,以插入链的第二图存取记录,或插入与创始节点分离的链等。
过程500通过验证链是完整的505开始。换句话说,在将任何节点添加到链之前,过程500可使用例如图4的过程400的过程来验证正对其进行更改的实体的身份。取决于引起系统调用过程500的活动,第二身份证明过程可能已成功地完成。其它活动不需要全身份证明过程,而可在实体的成功验证之后启动。针对活动生成新节点或若干新节点(510)。新节点的生成可使用用于例如在步骤505中验证链的相同签名密钥。新节点的生成可使用新签名密钥且生成新节点可包含获得新签名密钥。将新节点插入到链中(515)。如果使用新签名密钥,那么可将新节点插入到创始节点之外,例如,作为创始节点的新分支。如果使用相同签名密钥,那么可插入新节点以便从链中的任何节点分叉。在一些实施方案中,每次插入获得新图存取记录,使得每次插入生成新分支。在一些实施方案中,可在链中的节点中的任一者之外插入新节点(或若干新节点)。在一些实施方案中,将新节点(或若干新节点)插入到链中,例如在图存取记录之前。系统酌情更新或添加图存取记录(520)。接着,过程500结束。
现在描述工作实例。提供这个实例以辅助理解本发明且实施方案不限于所描述的特定场景,因为方法及技术可适于其它类型的环境,如上文所描述。实施方案因此包含使基础技术及科技适应其它行业。
认证机构,例如医疗许可委员会是受信任组织的一个实例。许可委员会受确保正确地审查及识别被许可的从业人员的法规的监管。例如,为了使医师获得医疗执照,医师可提交若干形式的识别及可能的额外验证文件,例如医学院的成绩单、品德及健康证明书、信用报告等。在医疗许可委员会验证所有申请材料之后,医疗许可委员会可生成医师的身份链。例如,所述委员会可对医师的头部进行2维或3维扫描。所述扫描可用作身份链的创始区块中的创始数据。医师可提供签名密钥,例如医师最喜欢的小说的第一行。系统在链中生成第二节点时使用签名密钥。第二节点可包含有关在身份证明过程中使用的识别的形式的信息,例如出生证书的图像或出生证明之外的信息。可在生成存储为第二节点的内容的部分的哈希时使用签名密钥。例如,签名密钥可与扫描组合且被提供为哈希函数的输入。哈希函数的结果变为第二节点的内容的部分。在一些实施方案中,生成额外节点。接着,创建图存取记录。图存取记录可包含医师的姓名及/或颁布给医师的医师标识符。图存取记录还包含从第二节点的内容及签名密钥生成的哈希。接着,一起存储这个哈希与图存取记录。替代地或另外,签名密钥可用于在存储链中的每一节点的内容之前对所述内容进行加密。在此类实施方案中,在查询时间提供签名密钥以在将节点内容提供到哈希函数之前对所述节点内容进行解密。
医疗许可委员会接着可为客户端提供验证服务。因此,例如,医院可使用验证服务作为登录程序的部分。例如,为了存取医院的电子健康记录,医师可能需要使用将查询密钥及医师的姓名作为输入的登录程序。可将这些查询参数传输到许可委员会的服务器,其中所述参数用于确定是否存在身份链。如果找到身份链,那么许可委员会的服务器可提供来自所述链的创始节点的扫描数据。在一些实施方案中,医院可扫描医师的头部且确定扫描是否匹配。如果扫描确实匹配,那么医院将存取授予医师。
在上文所描述的配置中,计算机处理器可指代一或多个设备中的一或多个计算机处理器或一或多个计算机处理器及/或设备的任何组合。实施例的方面涉及致使及/或配置一或多个设备及/或计算机处理器以执行所描述操作。产生的结果可经输出到输出装置,例如,在显示器上显示、在扬声器上播放等。设备或装置是指执行操作的物理机器,例如,实施或执行指令,例如以软件的方式执行指令(所述软件是由包含可编程芯片(芯片组、计算机处理器、电子组件)的计算硬件执行的代码)及/或以计算硬件(例如,在电路系统中,集成电路中的电子组件等)—被统称为(若干)硬件处理器—的方式实施指令,以实现所描述功能或操作的计算机(物理计算硬件或机械)。所描述实施例的功能可在可执行指令或代码的任何类型的设备中实施。
更特定来说,编程或配置或致使设备或装置(例如,计算机)执行实施例的所描述功能创建新机器,其中在计算机的情况下,一旦通用计算机经编程或配置以根据来自程序软件的指令执行实施例的特定功能或致使通用计算机根据来自程序软件的指令执行实施例的特定功能,通用计算机实际上就变为专用计算机。根据实施例的方面,配置设备、装置、计算机处理器是指此类设备、装置或计算机处理器由软件编程或控制以执行所描述功能。
实施实施例的程序/软件可经记录在计算机可读媒体上,例如,非暂时性或持久性计算机可读媒体。非暂时性计算机可读媒体的实例包含磁性记录设备、光盘、磁光盘及/或易失性及/或非易失性半导体存储器(例如,RAM、ROM等)。磁性记录设备的实例包含硬盘装置(HDD)、软盘(FD)。光盘的实例包含DVD(数字通用光盘)、DVD-ROM、DVD-RAM(DVD随机存取存储器)、BD(蓝光盘)、CD-ROM(光盘只读存储器)及CD-R(可记录)/RW。可通过传输通信路径(例如,经由硬件实施的有线及/或无线网络)传输实施实施例的程序/软件。可经由其发送程序/软件的通信媒体的实例包含例如载波信号。
从详细说明书,实施例的许多特征及优点是显而易见的且因此,所附权利要求书意在涵盖落入其真实精神及范围内的实施例的所有此类特征及优点。此外,由于所属领域的技术人员将容易想到众多修改及更改,因此不期望将本发明实施例限于所说明及所描述的确切结构及操作且因此,可采用落入本发明的范围内的所有合适修改及等效物。
所属领域的技术人员将认识到,本教示可进行多种修改及/或增强。例如,尽管上文所描述的各种组件的实施方案可体现在硬件装置中,但其也可被实施为纯软件解决方案—例如,现存服务器上的安装。另外,如本文中所揭示的证明应用程序及其组件可被实施为固件、固件/软件组合、固件/硬件组合或硬件/固件/软件组合。
尽管前文已描述被视为最佳模式及/或其它实例,但应理解,可在其中进行各种修改且可以各种形式及实例实施本文中所揭示的标的物,且所述教示可应用于众多应用中,本文中仅描述所述应用中的一些。所附权利要求书意在主张落入本教示的真实范围内的任何及所有应用、修改及变动。
在一个一般方面中,一种系统包含:至少一个处理器;身份图,其存储身份区块,所述身份区块包含创始区块及图存取记录;及存储器,其存储指令,所述指令在由所述至少一个处理器执行时致使所述系统执行操作。所述操作包含至少接收识别实体的性质及查询密钥,所述查询密钥是所述实体的所谓保管者最初选择的数据。所述操作还包含从图存取记录识别所述性质的可能匹配,所述可能匹配具有相关联哈希结果,所述可能匹配及所述相关联哈希结果被视为链中的当前节点。所述操作还包含通过重复以下步骤来验证从所述当前节点到创始节点的完整链:在图中识别具有在使用所述查询密钥来产生哈希结果的情况下具有与当前节点的所述相关联哈希结果匹配的哈希结果的内容的节点,其中未能识别节点会停止所述重复且其中确定所述节点是创始节点会停止所述重复;及使所述节点为所述当前节点,其中所述节点的所述内容包含相关联哈希结果。所述操作还包含响应于定位所述创始节点而生成指示成功的验证请求的响应及响应于未能定位所述创始节点而生成指示不成功的验证请求的响应。在一些实施方案中,所述系统是远程装置,例如远程控制装置。
根据一个方面,一种方法包含:至少接收识别实体的性质及查询密钥,所述查询密钥是所述实体的所谓保管者最初选择的数据;及从图存取记录识别所述性质的可能匹配,所述可能匹配具有相关联哈希结果,所述可能匹配及所述相关联哈希结果被视为链中的当前节点。所述方法还包含通过重复以下步骤来验证从所述当前节点到创始节点的完整链:在图中识别具有在使用所述查询密钥来产生哈希结果的情况下具有与当前节点的所述相关联哈希结果匹配的哈希结果的内容的节点,其中未能识别节点会停止所述重复且确定所述节点是创始节点会停止所述重复;及使所述节点为所述当前节点,其中所述节点的所述内容包含相关联哈希结果。所述方法还包含响应于定位所述创始节点而生成指示成功的验证请求的响应及响应于未能定位所述创始节点而生成指示不成功的验证请求的响应。
这些及其它方面可单独或组合地包含以下特征中的一或多者。例如,所述查询密钥可为短语、图像或数据元素的组合中的一者,所述查询密钥是作为启动所述创始节点的生成的身份证明过程的部分由所述所谓保管者选择。作为另一实例,所述方法还可包含对于所述链中的至少一个节点,从所述内容获取数据项;及将所述数据项包含在指示成功的验证请求的所述响应中。作为另一实例,所述方法还可包含将所述创始节点的内容包含在指示成功的验证请求的所述响应中。在一些实施方案中,所述方法还可包含在将所述创始节点的所述内容包含在所述响应中之前对所述内容进行解密。在一些实施方案中,所述创始节点的所述内容包含所述实体的二维图像或三维图像。在此实施方案中,所述实体可为人且所述所谓保管者是所述人且所述创始节点的所述内容是生物特征图像,或所述实体是物品且所述所谓保管者是人。
作为另一实例,在成功的验证请求之后,所述方法可包含在所述图中生成新节点,所述新节点具有包含来自在所述成功的验证请求之后发生的活动的数据项及与用于定位所述创始节点的所述性质的所述可能匹配相关联的哈希结果的内容;使用所述新节点及所述查询密钥作为输入来生成新哈希结果;及将用于定位所述创始节点的所述性质的所述可能匹配的所述哈希结果更新为所述新哈希结果。作为另一实例,所述实体可为网络中的远程装置且所述远程装置可结合所述性质及所述查询密钥提供数据且所述方法还可包含响应于成功的验证请求而接受所述数据及响应于不成功的验证请求而拒绝所述数据。作为另一实例,所述方法可由远程控制装置来执行且可结合所述性质及所述查询密钥接收指令且所述方法可进一步包含响应于成功的验证请求而实行所述指令及响应于不成功的验证请求而拒绝所述指令。作为另一实例,使用所述查询密钥来生成所述哈希结果可包含在生成所述哈希结果之前将所述查询密钥添加到所述节点的所述内容及/或在生成所述哈希结果之前对所述内容进行解密。
根据一个方面,一种方法包含响应于包含至少一个身份因子的实体的成功身份证明过程,接收身份链中的创始节点的内容,所述创始节点的所述内容包含捕获所述实体的唯一物理性质的创始数据。所述方法还包含:在图中生成创始节点,所述创始节点具有包含所述创始数据的内容;从所述实体的保管者接收签名密钥,所述保管者已提供所述至少一个身份因子;使用所述创始节点的所述内容及所述签名密钥作为输入来生成第一哈希结果;在所述身份链中生成第二节点,所述第二节点具有包含所述至少一个身份因子及所述第一哈希结果的识别的内容;从使用所述第二节点的所述内容及所述签名密钥作为输入来生成第二哈希结果;及存储图存取记录,所述图存取记录包含所述第二哈希结果及用于响应验证请求而定位所述实体的至少一个密钥性质。接着,可在响应于验证请求时使用所述图中的节点及所述图存取记录。
这些及其它方面可单独或组合地包含以下特征中的一或多者。例如,所述方法还可包含在生成所述创始节点之前对所述创始数据进行加密,所述创始节点存储所述经加密创始数据。作为另一实例,所述图存取记录可为所述图中的节点及/或表中的条目。作为另一个实例,使用所述图中的所述节点及所述图存取记录来响应于验证请求可包含:接收所述验证请求,其包含查询密钥及密钥性质;定位与所述密钥性质匹配的第一图存取记录;及使用所述第一图存取记录中的哈希结果及所述查询密钥来确定是否存在到创始节点的链。在一些实施方案中,响应于确定存在到创始节点的链,所述方法还可包含:在所述图中生成活动节点,所述活动节点包含与所述第一图存取记录相关联的哈希结果且包含与所述实体的活动相关的数据项;通过哈希所述活动节点及所述查询密钥来生成第三哈希结果;及用所述第三哈希结果替换所述第一图存取记录中的所述哈希结果。在一些实施方案中,所述图存取记录是第一图存取记录且所述方法还可包含存储第二图存取记录,所述第二图存取记录包含所述第二哈希结果及与所述第一图存取记录中的所述密钥性质不同的密钥性质。在一些实施方案中,响应于确定存在到创始节点的链,所述方法还可包含:在所述图中生成活动节点,所述活动节点包含与所述第一图存取记录相关联的哈希结果且包含与所述实体的活动相关的数据项;通过哈希所述活动节点及所述查询密钥来生成第三哈希结果;及添加第二图存取记录,所述第二图存取记录具有所述第三哈希结果。
根据一个方面,一种系统,其包含:至少一个处理器;身份图,其存储身份区块,所述身份区块包含创始区块;及存储器,其存储指令,所述指令在由所述至少一个处理器执行时致使所述系统执行操作。所述操作包含:在人的成功身份证明过程之后接收创始数据及签名密钥,所述创始数据捕获所述人的物理性质且由所述人提供所述签名密钥;使用所述创始数据作为输入来生成第一哈希结果;在所述身份图中生成创始区块,所述创始区块具有所述创始数据作为内容,所述内容是使用所述签名密钥进行加密;使用有效负载数据及所述第一哈希结果作为输入来生成第二哈希结果。所述操作还可包含:在所述身份图中生成身份区块,所述身份区块具有所述有效负载数据及所述第一哈希结果作为内容,所述内容是使用所述签名密钥进行加密;生成图存取记录,所述图存取记录包含所述第二哈希结果及所述人的至少一个搜索性质,但缺乏所述签名密钥;及在响应于验证请求时使用所述身份图。在一些实施方案中,所述图存取记录是存储在所述身份图中的块。在一些实施方案中,所述操作可进一步包含:对于所述人,接收活动数据、查询密钥及查询性质;使用所述查询密钥及所述查询性质来确定在所述人的所述身份图中是否存在链;及响应确定存在所述链:使用所述活动数据及所述第二哈希结果作为输入来生成第三哈希结果;在所述身份图中生成新身份区块,所述新身份区块具有所述活动数据及所述第二哈希结果作为内容,其中所述新身份区块的所述内容是使用所述查询密钥进行加密;及通过用所述第三哈希结果替换所述第二哈希结果来更新所述图存取记录。
根据一个一般方面,一种非暂时性计算机可读媒体存储指令,所述指令在由至少一个处理器执行时致使计算装置执行本文中所揭示的操作或方法中的任一者。
根据一个一般方面,一种系统包括至少一个处理器及存储器,所述存储器存储指令,所述指令在由所述至少一个处理器执行时致使所述计算系统执行本文中所揭示的操作或方法中的任一者。
Claims (24)
1.一种方法,其包括:
至少接收识别实体的性质及查询密钥,所述查询密钥是所述实体的所谓保管者最初选择的数据;
从图存取记录识别所述性质的可能匹配,所述可能匹配具有相关联哈希结果,所述可能匹配及所述相关联哈希结果被视为链中的当前节点;
通过重复以下步骤来验证从所述当前节点到创始节点的完整链:
在图中识别具有在使用所述查询密钥来产生哈希结果的情况下具有与当前节点的所述相关联哈希结果匹配的哈希结果的内容的节点,其中未能识别节点会停止所述重复且确定所述节点是创始节点会停止所述重复,及
使所述节点为所述当前节点,其中所述节点的所述内容包含相关联哈希结果;
响应于定位所述创始节点,生成指示成功的验证请求的响应;及
响应于未能定位所述创始节点,生成指示不成功的验证请求的响应。
2.根据权利要求1所述的方法,其中所述查询密钥是短语、图像或数据元素的组合中的一者,所述查询密钥是作为启动所述创始节点的生成的身份证明过程的部分由所述所谓保管者选择。
3.根据权利要求1所述的方法,其进一步包括:
对于所述链中的至少一个节点,从所述内容获取数据项;及
将所述数据项包含在指示成功的验证请求的所述响应中。
4.根据权利要求1所述的方法,其进一步包括:
将所述创始节点的内容包含在指示成功的验证请求的所述响应中。
5.根据权利要求4所述的方法,其中所述创始节点的所述内容包含所述实体的二维图像或三维图像。
6.根据权利要求5所述的方法,其中所述实体是人且所述所谓保管者是所述人且所述创始节点的所述内容是生物特征图像。
7.根据权利要求5所述的方法,其中所述实体是物品且所述所谓保管者是人。
8.根据权利要求4所述的方法,其进一步包括:
在将所述创始节点的所述内容包含在所述响应中之前对所述内容进行解密。
9.根据权利要求1所述的方法,其进一步包括在成功的验证请求之后:
在所述图中生成新节点,所述新节点具有包含来自在所述成功的验证请求之后发生的活动的数据项及与用于定位所述创始节点的所述性质的所述可能匹配相关联的所述哈希结果的内容;
使用所述新节点及所述查询密钥作为输入来生成新哈希结果;及
将用于定位所述创始节点的所述性质的所述可能匹配的所述哈希结果更新为所述新哈希结果。
10.根据权利要求1所述的方法,其中所述实体是网络中的远程装置且所述远程装置结合所述性质及所述查询密钥提供数据且所述方法进一步包括:
响应于成功的验证请求而接受所述数据;及
响应于不成功的验证请求而拒绝所述数据。
11.根据权利要求1所述的方法,其中所述方法由远程控制装置来执行且结合所述性质及所述查询密钥接收指令且所述方法进一步包含:
响应于成功的验证请求而实行所述指令;及
响应于不成功的验证请求而拒绝所述指令。
12.根据权利要求1所述的方法,其中使用所述查询密钥来生成所述哈希结果包含在生成所述哈希结果之前将所述查询密钥添加到所述节点的所述内容。
13.根据权利要求1所述的方法,其中使用所述查询密钥来生成所述哈希结果包含在生成所述哈希结果之前对所述内容进行解密。
14.一种方法,其包括:
响应于包含至少一个身份因子的实体的成功身份证明过程,接收身份链中的创始节点的内容,所述创始节点的所述内容包含捕获所述实体的唯一物理性质的创始数据;
在图中生成创始节点,所述创始节点具有包含所述创始数据的内容;
从所述实体的保管者接收签名密钥,所述保管者已提供所述至少一个身份因子;
使用所述创始节点的所述内容及所述签名密钥作为输入来生成第一哈希结果;
在所述身份链中生成第二节点,所述第二节点具有包含所述至少一个身份因子及所述第一哈希结果的识别的内容;
从使用所述第二节点的所述内容及所述签名密钥作为输入来生成第二哈希结果;及
存储图存取记录,所述图存取记录包含所述第二哈希结果及用于响应验证请求而定位所述实体的至少一个密钥性质,
其中在响应于验证请求时使用所述图中的节点及所述图存取记录。
15.根据权利要求14所述的方法,其进一步包括:
在生成所述创始节点之前对所述创始数据进行加密,所述创始节点存储所述经加密创始数据。
16.根据权利要求14所述的方法,其中所述图存取记录是所述图中的节点。
17.根据权利要求14所述的方法,其中所述图存取记录是表中的条目。
18.根据权利要求14所述的方法,其中使用所述图中的所述节点及所述图存取记录来响应于验证请求包含:
接收所述验证请求,其包含查询密钥及密钥性质;
定位与所述密钥性质匹配的第一图存取记录;及
使用所述第一图存取记录中的哈希结果及所述查询密钥来确定是否存在到创始节点的链。
19.根据权利要求18所述的方法,其进一步包括响应于确定存在到创始节点的链:
在所述图中生成活动节点,所述活动节点包含与所述第一图存取记录相关联的哈希结果且包含与所述实体的活动相关的数据项;
通过哈希所述活动节点及所述查询密钥来生成第三哈希结果;及
用所述第三哈希结果替换所述第一图存取记录中的所述哈希结果。
20.根据权利要求18所述的方法,其中所述图存取记录是第一图存取记录且所述方法进一步包括:
存储第二图存取记录,所述第二图存取记录包含所述第二哈希结果及与所述第一图存取记录中的所述密钥性质不同的密钥性质。
21.根据权利要求18所述的方法,其进一步包括响应于确定存在到创始节点的链:
在所述图中生成活动节点,所述活动节点包含与所述第一图存取记录相关联的哈希结果且包含与所述实体的活动相关的数据项;
通过哈希所述活动节点及所述查询密钥来生成第三哈希结果;及
添加第二图存取记录,所述第二图存取记录具有所述第三哈希结果。
22.一种系统,其包括:
至少一个处理器;
身份图,其存储身份区块,所述身份区块包含创始区块;及
存储器,其存储指令,所述指令在由所述至少一个处理器执行时致使所述系统执行包含以下的操作:
在人的成功身份证明过程之后接收创始数据及签名密钥,所述创始数据捕获所述人的物理性质且由所述人提供所述签名密钥,
使用所述创始数据作为输入来生成第一哈希结果,
在所述身份图中生成创始区块,所述创始区块具有所述创始数据作为内容,所述内容是使用所述签名密钥进行加密,
使用有效负载数据及所述第一哈希结果作为输入来生成第二哈希结果,
在所述身份图中生成身份区块,所述身份区块具有所述有效负载数据及所述第一哈希结果作为内容,所述内容是使用所述签名密钥进行加密,
生成图存取记录,所述图存取记录包含所述第二哈希结果及所述人的至少一个搜索性质,但缺乏所述签名密钥,及
在响应于验证请求时使用所述身份图。
23.根据权利要求22所述的系统,其中所述图存取记录是存储在所述身份图中的区块。
24.根据权利要求22所述的系统,其中所述操作进一步包含:
对于所述人,接收活动数据、查询密钥及查询性质;
使用所述查询密钥及所述查询性质来确定在所述人的所述身份图中是否存在链;及
响应于确定存在所述链:
使用所述活动数据及所述第二哈希结果作为输入来生成第三哈希结果,
在所述身份图中生成新身份区块,所述新身份区块具有所述活动数据及所述第二哈希结果作为内容,其中所述新身份区块的所述内容是使用所述查询密钥进行加密,及
通过用所述第三哈希结果替换所述第二哈希结果来更新所述图存取记录。
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US202062988271P | 2020-03-11 | 2020-03-11 | |
US62/988,271 | 2020-03-11 | ||
US17/247,110 | 2020-11-30 | ||
US17/247,110 US10979230B1 (en) | 2020-03-11 | 2020-11-30 | Block chain proof for identification |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113392411A true CN113392411A (zh) | 2021-09-14 |
Family
ID=75394472
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110256432.9A Pending CN113392411A (zh) | 2020-03-11 | 2021-03-09 | 用于识别的区块链证据 |
Country Status (7)
Country | Link |
---|---|
US (4) | US10979230B1 (zh) |
CN (1) | CN113392411A (zh) |
AU (1) | AU2021234387A1 (zh) |
CA (1) | CA3171228C (zh) |
DE (1) | DE212021000334U1 (zh) |
GB (1) | GB2608564A (zh) |
WO (1) | WO2021184046A1 (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2593116A (en) * | 2018-07-16 | 2021-09-22 | Sita Information Networking Computing Uk Ltd | Self sovereign identity |
CN115099817B (zh) * | 2022-06-17 | 2023-03-24 | 北京中科深智科技有限公司 | 一种高效的区块链交易验证与查询方法及系统 |
US20240097983A1 (en) * | 2022-09-16 | 2024-03-21 | Juniper Networks, Inc. | Translation of a source intent policy model to a target intent policy model |
US12019778B1 (en) * | 2023-11-22 | 2024-06-25 | Verkada Inc. | Systems and methods to perform end to end encryption |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9218476B1 (en) * | 2012-11-07 | 2015-12-22 | Amazon Technologies, Inc. | Token based one-time password security |
US10230526B2 (en) | 2014-12-31 | 2019-03-12 | William Manning | Out-of-band validation of domain name system records |
US9985964B2 (en) | 2016-03-28 | 2018-05-29 | Black Gold Coin, Inc. | Systems and methods for providing block chain-based multifactor personal identity verification |
US10810588B2 (en) * | 2016-06-01 | 2020-10-20 | Mastercard International Incorporated | Method and system for authorization using a public ledger and encryption keys |
US10089521B2 (en) * | 2016-09-02 | 2018-10-02 | VeriHelp, Inc. | Identity verification via validated facial recognition and graph database |
US10965668B2 (en) * | 2017-04-27 | 2021-03-30 | Acuant, Inc. | Systems and methods to authenticate users and/or control access made by users based on enhanced digital identity verification |
US10567369B2 (en) | 2017-07-10 | 2020-02-18 | Intuit Inc. | Secure token passing via hash chains |
US20190303541A1 (en) * | 2018-04-02 | 2019-10-03 | Ca, Inc. | Auditing smart contracts configured to manage and document software audits |
US11695783B2 (en) * | 2018-08-13 | 2023-07-04 | Ares Technologies, Inc. | Systems, devices, and methods for determining a confidence level associated with a device using heuristics of trust |
US11010394B2 (en) | 2019-02-15 | 2021-05-18 | Drfirst.Com, Inc. | Efficient access of chainable records |
-
2020
- 2020-11-30 US US17/247,110 patent/US10979230B1/en active Active
-
2021
- 2021-03-05 US US17/249,592 patent/US11128469B1/en active Active
- 2021-03-09 CN CN202110256432.9A patent/CN113392411A/zh active Pending
- 2021-03-11 AU AU2021234387A patent/AU2021234387A1/en active Pending
- 2021-03-11 DE DE212021000334.6U patent/DE212021000334U1/de active Active
- 2021-03-11 GB GB2214900.9A patent/GB2608564A/en active Pending
- 2021-03-11 WO PCT/US2021/070264 patent/WO2021184046A1/en active Application Filing
- 2021-03-11 CA CA3171228A patent/CA3171228C/en active Active
- 2021-09-20 US US17/448,161 patent/US11621851B2/en active Active
-
2023
- 2023-03-31 US US18/194,246 patent/US20230246843A1/en active Pending
Also Published As
Publication number | Publication date |
---|---|
GB2608564A (en) | 2023-01-04 |
US11621851B2 (en) | 2023-04-04 |
US20210288812A1 (en) | 2021-09-16 |
CA3171228C (en) | 2024-04-23 |
DE212021000334U1 (de) | 2022-12-13 |
WO2021184046A1 (en) | 2021-09-16 |
US20220006638A1 (en) | 2022-01-06 |
CA3171228A1 (en) | 2021-09-16 |
GB202214900D0 (en) | 2022-11-23 |
AU2021234387A1 (en) | 2022-09-29 |
US20230246843A1 (en) | 2023-08-03 |
US10979230B1 (en) | 2021-04-13 |
US11128469B1 (en) | 2021-09-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US12008561B2 (en) | System for verification of pseudonymous credentials for digital identities with managed access to personal data on trust networks | |
US20220052852A1 (en) | Secure biometric authentication using electronic identity | |
US10810290B2 (en) | Robust method and an apparatus for authenticating a client in non-face-to-face online interactions based on a combination of live biometrics, biographical data, blockchain transactions and signed digital certificates | |
US10992478B2 (en) | Blockchain-based digital identity management method | |
US10325090B2 (en) | Digital identity system | |
US9202083B2 (en) | Systems and methods for verifying uniqueness in anonymous authentication | |
US11334882B1 (en) | Data access management on a distributed ledger system | |
US20190236562A1 (en) | Systems, methods, and apparatuses for implementing document interface and collaboration using quipchain in a cloud based computing environment | |
US11128469B1 (en) | Block chain proof for identification | |
CN108122109B (zh) | 一种电子凭据身份管理的方法及装置 | |
US20160239653A1 (en) | Digital identity | |
US10929545B2 (en) | System for providing access to data stored in a distributed trust computing network | |
US9213818B2 (en) | Anonymous authentication using backup biometric information | |
US20160241531A1 (en) | Confidence values | |
US11983711B1 (en) | Hierarchy-based blockchain | |
CN114785511A (zh) | 证明生成方法及装置、电子设备、存储介质 | |
US20210217024A1 (en) | System and Method of Consolidating Identity Services | |
CN112785410A (zh) | 依赖方风险调整指示符系统和方法 | |
Shakila et al. | Design and analysis of digital certificate verification and validation using blockchain-based technology | |
US11916906B2 (en) | Identity management using remote authentication | |
Eche | Criminal Liabilities of Boko Haram in Nigeria | |
Bratli | Document Verification System on iOS with Face ID/Touch ID | |
Greene | Self-Sovereign Identity and the Decentralized, Consent-Based Model | |
JP2024503173A (ja) | デジタルメディアを登録し、デジタルメディアの登録を検証する方法及びシステム | |
Christopher | How to Wisely Identify Natural Subjects in Verifiable Credentials |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |