CN112035813A - 区块链中基于指纹识别分层生成分布式身份的方法和计算机可读介质 - Google Patents

区块链中基于指纹识别分层生成分布式身份的方法和计算机可读介质 Download PDF

Info

Publication number
CN112035813A
CN112035813A CN202010707945.2A CN202010707945A CN112035813A CN 112035813 A CN112035813 A CN 112035813A CN 202010707945 A CN202010707945 A CN 202010707945A CN 112035813 A CN112035813 A CN 112035813A
Authority
CN
China
Prior art keywords
holder
identity
authority
certificate
registration
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.)
Granted
Application number
CN202010707945.2A
Other languages
English (en)
Other versions
CN112035813B (zh
Inventor
杜晓楠
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Individual
Original Assignee
Individual
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Individual filed Critical Individual
Priority to CN202010707945.2A priority Critical patent/CN112035813B/zh
Publication of CN112035813A publication Critical patent/CN112035813A/zh
Application granted granted Critical
Publication of CN112035813B publication Critical patent/CN112035813B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • G06F21/32User authentication using biometric data, e.g. fingerprints, iris scans or voiceprints
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/107License processing; Key processing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/64Protecting data integrity, e.g. using checksums, certificates or signatures

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • Health & Medical Sciences (AREA)
  • Databases & Information Systems (AREA)
  • Multimedia (AREA)
  • Technology Law (AREA)
  • Storage Device Security (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明涉及一种区块链中基于指纹识别分层生成分布式身份的方法。扫描身份持有者的至少两个指纹以生成第一指纹码和第二指纹码。基于第一和第二指纹码第一和第二密钥对。可验证证书颁发机构基于自身密钥向身份注册机构进行注册。身份持有者分别第二和第二密钥对进行第一和第二注册。身份持有者基于验证证书机构的要求从可验证证书颁发机构获取可验证证书。身份持有者采用第一私钥或第二私钥对可验证证书进行签名并提交到验证证书机构。本发明还涉及一种计算机可读存储介质。本发明使得身份持有者在使用身份信息的时候可以无需输入密码地使用身份信息和使用区块链上的资产,并可以采用多个指纹来进行操作,避免了因为指纹损伤导致无法操作的情况。

Description

区块链中基于指纹识别分层生成分布式身份的方法和计算机 可读介质
技术领域
本发明涉及区块链领域,更具体地说,涉及一种区块链中基于指纹识别分层生成分布式身份的方法和计算机可读介质。
背景技术
传统的数字认证是中心化的,比如互联网名称与数字地址分配机构(TheInternet Corporation for Assigned Names and Numbers,ICANN)管理的域名与IP地址分配,以及公钥基础设施(Public Key Infrastructure,PKI)系统中的证书授权(Certificate Authority,CA)机构管理的数字证书。中心化身份系统的本质就是,中央集权化的权威机构掌握着身份数据,因为围绕数据进行的认证、授权等也都由中心化的机构来决定。身份不是由用户自己控制的。
为了解决这个问题,许多网站自己联合起来推出了联盟身份(这个概念是首先由微软在1999年提出的)。在联盟身份体系下,用户的在线身份有了一定的可移植性。如今的不少网站注册都可以支持第三方登录,比如微信、QQ、新浪微博等。
身份系统的去中心化依然成为一个大趋势,著名的国际组织w3c和dif也都推出了其去中心化身份系统标准。然而,w3c和dif制定的标准还是过于宽泛,并没有很详细的具体到实际的行业应用当中来。比如说:规定了可认证证书里面包含的信息要尽量少的透露用户的信息,但是却并没有给出具体的标准和方法来减少用户信息的透露;规定了身份有公钥和私钥但是却没有给出具体使用什么密钥体系和什么方式生成。
发明内容
本发明要解决的技术问题在于,针对现有技术的上述缺陷,提供一种区块链中基于指纹识别分层生成分布式身份的方法和计算机可读介质,可以使得身份持有者在使用身份信息的时候可以无需输入密码地使用身份信息和使用区块链上的资产,非常便于用户使用。
本发明涉及一种区块链中基于指纹识别分层生成分布式身份的方法,包括:
S1、扫描身份持有者的第一个指纹以生成第一指纹码,基于所述第一指纹码生成第一持有者私钥和第一持有者公钥;
S2、可验证证书颁发机构基于自身密钥向身份注册机构进行注册;
S3、所述身份持有者基于所述第一持有者私钥和所述第一持有者公钥向所述可验证证书颁发机构进行第一注册;
S4、扫描所述身份持有者的第二个指纹以生成第二指纹码,基于所述第二指纹码生成第二持有者私钥和第二持有者公钥;
S5、所述身份持有者基于所述第二持有者私钥和所述第二持有者公钥向所述可验证证书颁发机构进行第二注册;
S6、所述身份持有者基于所述验证证书机构的要求从所述可验证证书颁发机构获取可验证证书;
S7、所述身份持有者采用所述第一持有者私钥或所述第二持有者私钥对所述可验证证书进行签名并提交到所述验证证书机构;
S8、所述验证证书机构对所述可验证证书进行验证。
在本发明所述的区块链中基于指纹识别分层生成分布式身份的方法中,所述步骤S1和所述步骤S4进一步包括:
S11、扫描所述身份持有者的一个指纹以生成指纹码;
S12、对所述指纹码做哈希,使用获得的哈希值作为随机种子生成持有者私钥;
S13、基于所述持有者私钥生成持有者公钥。
在本发明所述的区块链中基于指纹识别分层生成分布式身份的方法中,所述步骤S2进一步包括:
S21、所述可验证证书颁发机构生成机构私钥并基于所述机构私钥生成机构公钥;
S22、所述可验证证书颁发机构生成注册请求,并采用所述机构私钥签名所述注册请求,并将签名注册请求发送到所述身份注册机构;
S23、所述身份注册机构验证所述签名注册请求,并在验证通过后生成所述可验证证书颁发机构的去中心化身份标识符和去中心化身份标识符文档。
在本发明所述的区块链中基于指纹识别分层生成分布式身份的方法中,所述步骤S3进一步包括:
S31、所述身份持有者向所述可验证证书颁发机构提交第一注册请求,采用所述第一持有者私钥签名所述注册请求,并将签名第一注册请求发送到所述可验证证书颁发机构;
S32、所述可验证证书颁发机构验签所述签名注册请求,在验签通过后验证所述身份持有者的注册信息,并在验证通过之后继续向所述身份注册机构发送验证请求,所述验证请求中包含所述第一持有者公钥;
S33、所述身份注册机构根据所述第一持有者公钥生成所述身份持有者的去中心化身份标识符、去中心化身份标识符文档以及所述第一持有者公钥,并将其返回给所述可验证证书颁发机构;
S34、所述可验证证书颁发机构将所述身份持有者的去中心化身份标识符和去中心化身份标识符文档返回给所述身份持有者。
在本发明所述的区块链中基于指纹识别分层生成分布式身份的方法中,所述步骤S5进一步包括:
S51、所述身份持有者向所述可验证证书颁发机构提交第二注册请求,采用所述第二持有者私钥签名所述注册请求,并将签名第二注册请求发送到所述可验证证书颁发机构,所述第二注册请求包括所述身份持有者的去中心化身份标识符、所述第二持有者公钥、所述第二持有者私钥对所述第二注册请求的签名,以及所述第一持有者私钥对所述第二注册请求的签名;
S52、所述可验证证书颁发机构根据所述身份持有者的去中心化身份标识符向所述身份注册机构请求所述身份持有者的所述去中心化身份标识符文档以获取所述第一持有者公钥;
S53、所述可验证证书颁发机构采用所述第一持有者公钥对所述第一持有者私钥对所述第二注册请求的签名进行验签,在验签通过后使用所述第二持有者公钥对所述第二持有者私钥对所述第二注册请求的签名进行验签,并在验签通过后,向所述身份注册机构提交验证请求,要求将所述身份持有者的所述去中心化身份标识符与所述第二持有者公钥关联;
S54、所述身份注册机构根据所述验证请求更新所述身份持有者的去中心化身份标识符文档,并将其返回给所述可验证证书颁发机构;
S55、所述可验证证书颁发机构将更新后的所述身份持有者的去中心化身份标识符文档返回给所述身份持有者。
在本发明所述的区块链中基于指纹识别分层生成分布式身份的方法中,所述更新的所述身份持有者的去中心化身份标识符文档包括所述身份持有者的去中心化身份标识符,所述第一持有者公钥和所述第二持有者公钥。
在本发明所述的区块链中基于指纹识别分层生成分布式身份的方法中,所述步骤S6进一步包括:
S61、所述身份持有者向所述验证证书机构发送业务开始请求,所述业务开始请求包括所述去中心化身份标识符、所述去中心化身份标识符文档、以及所述身份持有者对业务开始请求的签名;
S62、所述验证证书机构基于所述请求返回可验证证书信息;
S63、所述身份持有者基于一个持有者私钥向所述可验证证书颁发机构发送证书颁发请求,所述证书颁发请求包括所述身份持有者的所述去中心化身份标识符、所述可验证证书信息、以及使用所述持有者私钥对证书颁发请求的签名;
S64、所述可验证证书颁发机构基于所述去中心化身份标识符向所述身份注册机构请求所述身份持有者的所述去中心化身份标识符文档,所述身份持有者的所述去中心化身份标识符文档包括所述身份持有者的所述去中心化身份标识符,以及所述身份持有者注册过的全部持有者公钥;
S65、所述可验证证书颁发机构利用所述全部持有者公钥对所述证书颁发请求分别进行验签,当有至少一个持有者公钥验签通过时,向所述身份持有者颁发所述可验证证书。
在本发明所述的区块链中基于指纹识别分层生成分布式身份的方法中,所述可验证证书包括:所述身份持有者的去中心化身份标识符、颁发所述可验证证书的所述可验证证书颁发机构的去中心化身份标识符、所述身份持有者对所述可验证证书的签名、所述可验证证书颁发机构对所述可验证证书的签名,以及需验证的内容。
在本发明所述的区块链中基于指纹识别分层生成分布式身份的方法中,所述步骤S8进一步包括:
S81、所述验证证书机构根据所述可验证证书颁发机构的去中心化身份标识符向所述身份注册机构请求所述机构公钥,并使用所述机构公钥验证所述可验证证书颁发机构对所述可验证证书的签名以获得第一验证结果;
S82、所述验证证书机构根据所述身份持有者的去中心化身份标识符向所述身份注册机构请求所述身份持有者的所述去中心化身份标识符文档,以获取所述身份持有者注册过的全部持有者公钥;并依次使用全部持有者公钥验证所述身份持有者对所述可验证证书的签名以获得第二验证结果;
S83、基于所述第一验证结果、所述第二验证结果以及所述需验证的内容的验证结果,判定验证是否通过。
本发明解决其技术问题采用的另一技术方案是,构造一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现所述的区块链中基于指纹识别分层生成分布式身份的方法。
实施本发明的区块链中基于指纹识别分层生成分布式身份的方法和计算机可读存储介质,可以录入用户的指纹来生成指纹码,再通过指纹码作为随机种子来生成身份持有者私钥,从而可以使得身份持有者在使用身份信息的时候可以无需输入密码地使用身份信息和使用区块链上的资产,并且可以采用多个指纹来进行操作,避免了因为指纹损伤导致无法操作的情况。进一步地,本发明还明确定义了身份持有者、可验证证书颁发机构的注册过程和验证过程,从而提供了安全有效的构建去中心化区块链身份的方法。
附图说明
下面将结合附图及实施例对本发明作进一步说明,附图中:
图1是本发明的区块链中基于指纹识别分层生成分布式身份的方法的第一优选实施例的流程图;
图2是本发明的区块链中基于指纹识别分层生成分布式身份的方法的第二优选实施例的指纹码的生成流程示意图;
图3是本发明的区块链中基于指纹识别分层生成分布式身份的方法的第二优选实施例的可验证证书颁发机构的注册流程示意图;
图4是本发明的区块链中基于指纹识别分层生成分布式身份的方法的第二优选实施例的身份持有者的第一次注册流程示意图;
图5是本发明的区块链中基于指纹识别分层生成分布式身份的方法的第二优选实施例的身份持有者的第二次注册流程示意图;
图6是本发明的区块链中基于指纹识别分层生成分布式身份的方法的第二优选实施例的可验证证书的验证流程示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
本发明涉及一种区块链中基于指纹识别分层生成分布式身份的方法。扫描身份持有者的第一个指纹以生成第一指纹码,基于所述第一指纹码生成第一持有者私钥和第一持有者公钥。可验证证书颁发机构基于自身密钥向身份注册机构进行注册。所述身份持有者基于所述第一持有者私钥和所述第一持有者公钥向所述可验证证书颁发机构进行第一注册。扫描所述身份持有者的第二个指纹以生成第二指纹码,基于所述第二指纹码生成第二持有者私钥和第二持有者公钥。所述身份持有者基于所述第二持有者私钥和所述第二持有者公钥向所述可验证证书颁发机构进行第二注册。所述身份持有者基于所述验证证书机构的要求从所述可验证证书颁发机构获取可验证证书。所述身份持有者采用所述第一持有者私钥或所述第二持有者私钥对所述可验证证书进行签名并提交到所述验证证书机构。所述验证证书机构对所述可验证证书进行验证。实施本发明的区块链中基于指纹识别分层生成分布式身份的方法,可以录入用户的指纹来生成指纹码,再通过指纹码作为随机种子来生成身份持有者私钥,从而可以使得身份持有者在使用身份信息的时候可以无需输入密码地使用身份信息和使用区块链上的资产,并且可以采用多个指纹来进行操作,避免了因为指纹损伤导致无法操作的情况。进一步地,本发明还明确定义了身份持有者、可验证证书颁发机构的注册过程和验证过程,从而提供了安全有效的构建去中心化区块链身份的方法。
图1是本发明的区块链中基于指纹识别分层生成分布式身份的方法的第一优选实施例的流程图。如图1所示,在步骤S1中,扫描身份持有者的第一个指纹以生成第一指纹码,基于所述第一指纹码生成第一持有者私钥和第一持有者公钥。在本发明的一个优选实施例中,所述步骤S1进一步包括扫描所述身份持有者的指纹以生成指纹码;对所述指纹码做哈希,使用获得的哈希值作为随机种子生成所述持有者私钥;然后基于所述持有者私钥生成所述持有者公钥。本领域技术人员知悉,指纹码可以采用本领域中任何的指纹采集器生成。针对获得的指纹码,可以采用哈希函数,将其进行计算,从而获得具有唯一固定长度的字符串,并将其作为随机种子生成所述持有者私钥。在此,可以采用任何已知方法生成持有者私钥。
可以采用任何已知的方法生成所述持有者公钥,例如可以采用椭圆曲线密钥体系获取所述持有者公钥,例如R=r*G。其中,G表示椭圆曲线算法中的私钥公钥换算因子。因此可以从持有者私钥r推导出持有者公钥R,但是无法从持有者公钥R推导出持有者私钥r,因此是不可逆的。
在步骤S2中,可验证证书颁发机构基于自身密钥向身份注册机构进行注册。在本发明的优选实施例中,所述可验证证书颁发机构生成机构私钥并基于所述机构私钥生成机构公钥。所述可验证证书颁发机构生成注册请求,并采用所述机构私钥签名所述注册请求,并将签名注册请求发送到所述身份注册机构。所述身份注册机构验证所述签名注册请求,并在验证通过后生成所述可验证证书颁发机构的去中心化身份标识符和去中心化身份标识符文档。如果验证没有通过,则注册流程结束,显示注册失败。在本发明的优选实施例中,如前所述,所述机构私钥和机构公钥的生成同样可以采用椭圆曲线密钥体系获得。当然,也可以采用本领域中已知的任何密钥生成算法。
在步骤S3中,所述身份持有者基于所述第一持有者私钥和所述第一持有者公钥向所述可验证证书颁发机构进行第一注册。在本发明的优选实施例中,所述身份持有者向所述可验证证书颁发机构提交第一注册请求,采用所述第一持有者私钥签名所述注册请求,并将签名第一注册请求发送到所述可验证证书颁发机构。所述可验证证书颁发机构验签所述签名注册请求,在验签通过后验证所述身份持有者的注册信息,如果验签没有通过,则注册流程结束,显示注册失败。如果验签通过,在验证通过之后继续向所述身份注册机构发送验证请求,所述验证请求中包含所述第一持有者公钥。所述身份注册机构根据所述第一持有者公钥生成所述身份持有者的去中心化身份标识符、去中心化身份标识符文档以及所述第一持有者公钥,并将其返回给所述可验证证书颁发机构。所述可验证证书颁发机构将所述身份持有者的去中心化身份标识符和去中心化身份标识符文档返回给所述身份持有者。
在步骤S4中,如图1所示,扫描身份持有者的第二个指纹以生成第二指纹码,基于所述第二指纹码生成第二持有者私钥和第二持有者公钥。在本发明的一个优选实施例中,所述步骤S4进一步包括扫描所述身份持有者的指纹以生成指纹码;对所述指纹码做哈希,使用获得的哈希值作为随机种子生成所述持有者私钥;然后基于所述持有者私钥生成所述持有者公钥。本领域技术人员知悉,指纹码可以采用本领域中任何的指纹采集器生成。针对获得的指纹码,可以采用哈希函数,将其进行计算,从而获得具有唯一固定长度的字符串,并将其作为随机种子生成所述持有者私钥。在此,可以采用任何已知方法生成持有者私钥。
可以采用任何已知的方法生成所述持有者公钥,例如可以采用椭圆曲线密钥体系获取所述持有者公钥,例如R=r*G。其中,G表示椭圆曲线算法中的私钥公钥换算因子。因此可以从持有者私钥r推导出持有者公钥R,但是无法从持有者公钥R推导出持有者私钥r,因此是不可逆的。
在步骤S5中,所述身份持有者基于所述第二持有者私钥和所述第二持有者公钥向所述可验证证书颁发机构进行第二注册。在本发明的优选实施例中,所述身份持有者向所述可验证证书颁发机构提交第二注册请求,采用所述第二持有者私钥签名所述注册请求,并将签名第二注册请求发送到所述可验证证书颁发机构,所述第二注册请求包括所述身份持有者的去中心化身份标识符、所述第二持有者公钥、所述第二持有者私钥对所述第二注册请求的签名,以及所述第一持有者私钥对所述第二注册请求的签名。所述可验证证书颁发机构根据所述身份持有者的去中心化身份标识符向所述身份注册机构请求所述身份持有者的所述去中心化身份标识符文档以获取所述第一持有者公钥。所述可验证证书颁发机构采用所述第一持有者公钥对所述第一持有者私钥对所述第二注册请求的签名进行验签,在验签通过后使用所述第二持有者公钥对所述第二持有者私钥对所述第二注册请求的签名进行验签,并在验签通过后,向所述身份注册机构提交验证请求,要求将所述身份持有者的所述去中心化身份标识符与所述第二持有者公钥关联。所述身份注册机构根据所述验证请求更新所述身份持有者的去中心化身份标识符文档,并将其返回给所述可验证证书颁发机构。所述可验证证书颁发机构将更新后的所述身份持有者的去中心化身份标识符文档返回给所述身份持有者。优选地,所述更新的所述身份持有者的去中心化身份标识符文档包括所述身份持有者的去中心化身份标识符,所述第一持有者公钥和所述第二持有者公钥。
在步骤S6中,所述身份持有者基于所述验证证书机构的要求从所述可验证证书颁发机构获取可验证证书。在本发明的优选实施例中,所述身份持有者向所述验证证书机构发送业务开始请求,所述业务开始请求包括所述去中心化身份标识符、所述去中心化身份标识符文档、以及所述身份持有者对业务开始请求的签名。所述验证证书机构基于所述请求返回可验证证书信息。所述可验证证书信息例如可以是可验证证书的类型信息,其可以根据所述身份持有者的业务开始请求确定,例如可以是所述身份持有者的某个属性,比如年龄、资产金额、身体健康状况等等。所述身份持有者基于一个持有者私钥向所述可验证证书颁发机构发送证书颁发请求,所述证书颁发请求包括所述身份持有者的所述去中心化身份标识符、所述可验证证书信息、以及使用所述持有者私钥对证书颁发请求的签名。所述可验证证书颁发机构基于所述去中心化身份标识符向所述身份注册机构请求所述身份持有者的所述去中心化身份标识符文档,所述身份持有者的所述去中心化身份标识符文档包括所述身份持有者的所述去中心化身份标识符,以及所述身份持有者注册过的全部持有者公钥。所述可验证证书颁发机构利用所述全部持有者公钥对所述证书颁发请求分别进行验签,当有至少一个持有者公钥验签通过时,向所述身份持有者颁发所述可验证证书。当全部的持有者公钥都无法验签通过时,拒绝向所述身份持有者颁发所述可验证证书。优选地,所述可验证证书包括:所述身份持有者的去中心化身份标识符、颁发所述可验证证书的所述可验证证书颁发机构的去中心化身份标识符、所述身份持有者对所述可验证证书的签名、所述可验证证书颁发机构对所述可验证证书的签名,以及需验证的内容。在此,所述需验证的内容可以是所述身份持有者的某个属性,比如年龄、资产金额、身体健康状况等等。
在步骤S7中,所述身份持有者采用所述第一持有者私钥或所述第二持有者私钥对所述可验证证书进行签名并提交到所述验证证书机构。
在步骤S8中,所述验证证书机构对所述可验证证书进行验证。在本发明的优选实施例中,整个验证过程可以包括如下步骤。所述验证证书机构根据所述可验证证书颁发机构的去中心化身份标识符向所述身份注册机构请求所述机构公钥,并使用所述机构公钥验证所述可验证证书颁发机构对所述可验证证书的签名以获得第一验证结果。所述验证证书机构根据所述身份持有者的去中心化身份标识符向所述身份注册机构请求所述身份持有者的所述去中心化身份标识符文档,以获取所述身份持有者注册过的全部持有者公钥;并依次使用全部持有者公钥验证所述身份持有者对所述可验证证书的签名以获得第二验证结果。S83、基于所述第一验证结果、所述第二验证结果以及所述需验证的内容的验证结果,判定验证是否通过。
实施本发明的区块链中基于指纹识别分层生成分布式身份的方法,可以录入用户的指纹来生成指纹码,再通过指纹码作为随机种子来生成身份持有者私钥,从而可以使得身份持有者在使用身份信息的时候可以无需输入密码地使用身份信息和使用区块链上的资产,并且可以采用多个指纹来进行操作,避免了因为指纹损伤导致无法操作的情况。进一步地,本发明还明确定义了身份持有者、可验证证书颁发机构的注册过程和验证过程,从而提供了安全有效的构建去中心化区块链身份的方法。
图2是本发明的区块链中基于指纹识别分层生成分布式身份的方法的第二优选实施例的指纹码的生成流程示意图图3是本发明的区块链中基于指纹识别分层生成分布式身份的方法的第二优选实施例的可验证证书颁发机构的注册流程示意图。图4是本发明的区块链中基于指纹识别分层生成分布式身份的方法的第二优选实施例的身份持有者的第一次注册流程示意图。图5是本发明的区块链中基于指纹识别分层生成分布式身份的方法的第二优选实施例的身份持有者的第二次注册流程示意图。图6是本发明的区块链中基于指纹识别分层生成分布式身份的方法的第二优选实施例的可验证证书的验证流程示意图。
下面结合图2-6对本发明的第二优选实施例说明如下。首先对本发明中使用到的进行术语解释如下:
去中心化身份标识符(Decentralized Identifier,简称DID)
一串作用类似于URL的字符串,其标准可以遵循w3c或者dif等标准组织制定的标准,也可以遵循多个联盟机构制定的标准。DID记录了在多个联盟机构内唯一的身份标识符,以及查找DID所需要的协议。多个联盟机构可以根据DID定位到存储了DID详细信息的实体,并向该实体请求DID的详细信息,包括公钥等。
去中心化身份标志符文档(Decentralized Identifier Document,简称DID文档)
DID文档保存了DID的详细信息,包括:DID的公钥,DID签名类型,DID认证类型,DID支持的服务类型以及支持DID服务的URL等。在本发明当中,一个DID的DID文档里面可以包含多个公钥。
指纹码(Fingerprint Code,简称FC)
通过指纹录入并生成的唯一标识,在计算机存储介质上表现为一个长度固定的字符串
指纹采集器(Fingerprint Code Collector,简称FCC)
采集指纹并生成指纹码的机器
哈希函数(Hash Function,简称HF)
对计算机存储介质上内容进行计算后,得到唯一固定长度的函数,在本发明当中用于对指纹码生成唯一固定长度的字符串
私钥(Secret Key,简称SK)
用于发送消息前,加签本发明各个实体之间交互的消息的密钥,证明实体身份的真实性,该密钥隐私不可见
公钥(Public Key,简称PK)
用于验证各个实体之间交互的消息的密钥,该密钥公开
身份持有者(Identifier Holder,简称IH)
持有唯一身份的人,身份持有者需要通过录入指纹来生成自己的SK和PK
可验证证书(Verifiable Credentials,简称VC)
可以验证的证书,证书中包含颁发证书的机构,以及需要验证的信息,以及颁发机构对该证书的签名等信息
可验证证书颁发机构(ISSUER,简称IS)
被信任的有资格颁发VC证书的机构,可以是学校,银行,律师事务所,公立医院,连锁饭店,连锁酒店等。
验证证书机构(Inspector Verifier,简称IV)
需要对IH进行身份验证的机构,例如:用人单位,信贷机构等。IV不仅可以对IH的身份进行验证,并且可以对IH的某个属性进行验证,例如:年龄,资产金额,身体健康状况等。
身份注册机构(Identifier Registry,简称IR)
用于注册身份的机构,维护本发明当中所有实体的DID的数据库,如某条区块链、分布式账本。
图2示出了基于指纹扫描,生成指纹码,在生成持有者私钥和公钥的具体过程。
在图3所示实施例中,首先IS向IR注册,以获取得到颁发VC的资格,其具体注册步骤如下:
①IS首先生成一个SK,然后通过SK再生成PK;
②IS通过SK加签注册请求,并将请求提交到IR;
③IR对IS的注册请求进行验证,验证通过之后生成IS的DID,以及DID文档。
在图4所示实施例中,IH向IS进行首次注册,其具体注册步骤如下:
①IH通过录入单个手指的指纹生成唯一的指纹码也就是FC,并通过HF对FC做哈希,生成唯一的哈希值;
②将唯一哈希值作为生成SK0的随机种子,生成SK0
③通过SK0生成PK0;
④IH提交注册请求到IS,IS对IH的请求进行验签,并对IH的注册信息进行验证;
⑤如果验证通过,则继续向IR提交验证请求,验证请求当中包含IH的公钥PK0;
⑥IR根据IS的请求,针对IH的公钥PK0生成DID和DID文档,并返回DID文档给IS。返回给DID的文档至少包括:IH的DID和公钥PK0。
⑦IS将DID和DID文档返回给IH。
在图5所示实施例中IH向IS进行再次注册,其具体注册步骤如下:
①IH再次录入单个手指的指纹生成唯一的指纹码也就是FC,并通过HF对FC哈希,生成唯一哈希值;
②将唯一哈希值作为生成SK1的随机种子,生成SK1;
③通过SK1生成PK1;
④IH提交再注册请求到IS,在注册请求包含:IH的DID;PK1;SK1对注册请求的签名S1;SK0对注册请求的签名S0;
⑤IS收到再次注册请求之后;首先会根据IH的DID向IR请求,获取IH的DID文档,从DID文档当中获取到IH首次录入指纹的公钥PK0;使用PK0对S0进行验签;如果S0验签通过,则使用PK1对S1进行验签,否则拒绝再次注册;如果S1验签通过,则IS向IR提交验证请求,要求IR把IH的DID和新的公钥PK1关联起来;
⑥IR根据IS的请求,更新DID文档,将IH的DID和新公钥PK1关联起来,将新的DID文档返回给IS,新的DID文档包括IH的DID;公钥PK0;公钥PK1;
⑦IS收到IR更新的DID文档之后,返回更新后的DID文档给IH。
如果IH想继续使用其他手指的指纹对DID做再次注册,重复步骤①到⑦即可。
在图6所示实施例中IH使用VC向IV进行认证。IH需要进行某项业务,而进行业务的前提条件是IV需要确认IH具有进行该业务的资格,例如:年龄,资产金额等。其具体步骤如下
①IH向IV发送业务开始请求,该业务开始请求包括:IH的DID、DID文档,以及IH对业务请求的签名;而IV返回可验证证书信息,该可验证证书信息即为需要IH提交VC的信息,VC的内容包括:IH的DID,颁发VC的IS的DID,IH对VC的签名,IS对VC的签名,需验证的内容(例如年龄、资产金额、身体健康状况等等)。
②IH输入其中一个注册过的指纹码,恢复出该指纹码对应的持有者私钥,假设是SK1,请求IS颁发VC,向IS发送VC颁发请求,该VC颁发请求当中携带如下信息:IH的DID、所述可验证证书信息(包含例如年龄、资产金额、身体健康状况等等需要验证的内容),IH使用SK1对本次请求的签名。
③IS根据IH的DID向IR请求IH的DID文档以对IH的请求签名进行验证。
④IR返回IH的DID文档,IH的DID文档至少包括:IH的DID;IH注册过的所有公钥,例如SK0,SK1等。
⑤IS一次使用IR返回IH的DID文档里面的公钥对IH的请求进行验签,只要有一个能验签通过,则颁发VC给IH,否则拒绝颁发VC给IH。
⑥IH提交VC到IV,IV对VC进行认证,具体验证过程如下:
根据VC当中IS的DID向IR请求IS的公钥;
使用IS的公钥验证VC当中IS的签名;
根据VC当中IH的DID向IR请求IH的DID文档,IR返回IH的DID文档包含所有IH的注册过的公钥;
依次使用IR返回的所有IH的公钥验证VC当中IH的签名,只要有一个验证通过则验证通过,否则验证不通过;
如果IS和IH的签名都验证通过,则判断VC当中的要求条件是否符合要求,如符合要求则验证通过,否则验证不通过。
实施本发明的区块链中基于指纹识别分层生成分布式身份的方法,可以录入用户的指纹来生成指纹码,再通过指纹码作为随机种子来生成身份持有者私钥,从而可以使得身份持有者在使用身份信息的时候可以无需输入密码地使用身份信息和使用区块链上的资产,并且可以采用多个指纹来进行操作,避免了因为指纹损伤导致无法操作的情况。进一步地,本发明还明确定义了身份持有者、可验证证书颁发机构的注册过程和验证过程,从而提供了安全有效的构建去中心化区块链身份的方法。
本发明解决其技术问题采用的另一技术方案是,构造一种计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行时实现所述的区块链中基于指纹识别分层生成分布式身份的方法。
实施本发明的计算机可读存储介质,可以录入用户的指纹来生成指纹码,再通过指纹码作为随机种子来生成身份持有者私钥,从而可以使得身份持有者在使用身份信息的时候可以无需输入密码地使用身份信息和使用区块链上的资产,并且可以采用多个指纹来进行操作,避免了因为指纹损伤导致无法操作的情况。进一步地,本发明还明确定义了身份持有者、可验证证书颁发机构的注册过程和验证过程,从而提供了安全有效的构建去中心化区块链身份的方法。
因此,本发明可以通过硬件、软件或者软、硬件结合来实现。本发明可以在至少一个计算机系统中以集中方式实现,或者由分布在几个互连的计算机系统中的不同部分以分散方式实现。任何可以实现本发明方法的计算机系统或其它设备都是可适用的。常用软硬件的结合可以是安装有计算机程序的通用计算机系统,通过安装和执行程序控制计算机系统,使其按本发明方法运行。
本发明还可以通过计算机程序产品进行实施,程序包含能够实现本发明方法的全部特征,当其安装到计算机系统中时,可以实现本发明的方法。本文件中的计算机程序所指的是:可以采用任何程序语言、代码或符号编写的一组指令的任何表达式,该指令组使系统具有信息处理能力,以直接实现特定功能,或在进行下述一个或两个步骤之后实现特定功能:a)转换成其它语言、编码或符号;b)以不同的格式再现。
虽然本发明是通过具体实施例进行说明的,本领域技术人员应当明白,在不脱离本发明范围的情况下,还可以对本发明进行各种变换及等同替代。另外,针对特定情形或材料,可以对本发明做各种修改,而不脱离本发明的范围。因此,本发明不局限于所公开的具体实施例,而应当包括落入本发明权利要求范围内的全部实施方式。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

Claims (10)

1.一种区块链中基于指纹识别分层生成分布式身份的方法,其特征在于,包括:
S1、扫描身份持有者的第一个指纹以生成第一指纹码,基于所述第一指纹码生成第一持有者私钥和第一持有者公钥;
S2、可验证证书颁发机构基于自身密钥向身份注册机构进行注册;
S3、所述身份持有者基于所述第一持有者私钥和所述第一持有者公钥向所述可验证证书颁发机构进行第一注册;
S4、扫描所述身份持有者的第二个指纹以生成第二指纹码,基于所述第二指纹码生成第二持有者私钥和第二持有者公钥;
S5、所述身份持有者基于所述第二持有者私钥和所述第二持有者公钥向所述可验证证书颁发机构进行第二注册;
S6、所述身份持有者基于所述验证证书机构的要求从所述可验证证书颁发机构获取可验证证书;
S7、所述身份持有者采用所述第一持有者私钥或所述第二持有者私钥对所述可验证证书进行签名并提交到所述验证证书机构;
S8、所述验证证书机构对所述可验证证书进行验证。
2.根据权利要求1所述的区块链中基于指纹识别分层生成分布式身份的方法,其特征在于,所述步骤S1和所述步骤S4进一步包括:
S11、扫描所述身份持有者的一个指纹以生成指纹码;
S12、对所述指纹码做哈希,使用获得的哈希值作为随机种子生成持有者私钥;
S13、基于所述持有者私钥生成持有者公钥。
3.根据权利要求2所述的区块链中基于指纹识别分层生成分布式身份的方法,其特征在于,所述步骤S2进一步包括:
S21、所述可验证证书颁发机构生成机构私钥并基于所述机构私钥生成机构公钥;
S22、所述可验证证书颁发机构生成注册请求,并采用所述机构私钥签名所述注册请求,并将签名注册请求发送到所述身份注册机构;
S23、所述身份注册机构验证所述签名注册请求,并在验证通过后生成所述可验证证书颁发机构的去中心化身份标识符和去中心化身份标识符文档。
4.根据权利要求3所述的区块链中基于指纹识别分层生成分布式身份的方法,其特征在于,所述步骤S3进一步包括:
S31、所述身份持有者向所述可验证证书颁发机构提交第一注册请求,采用所述第一持有者私钥签名所述注册请求,并将签名第一注册请求发送到所述可验证证书颁发机构;
S32、所述可验证证书颁发机构验签所述签名注册请求,在验签通过后验证所述身份持有者的注册信息,并在验证通过之后继续向所述身份注册机构发送验证请求,所述验证请求中包含所述第一持有者公钥;
S33、所述身份注册机构根据所述第一持有者公钥生成所述身份持有者的去中心化身份标识符、去中心化身份标识符文档以及所述第一持有者公钥,并将其返回给所述可验证证书颁发机构;
S34、所述可验证证书颁发机构将所述身份持有者的去中心化身份标识符和去中心化身份标识符文档返回给所述身份持有者。
5.根据权利要求4所述的区块链中基于指纹识别分层生成分布式身份的方法,其特征在于,所述步骤S5进一步包括:
S51、所述身份持有者向所述可验证证书颁发机构提交第二注册请求,采用所述第二持有者私钥签名所述注册请求,并将签名第二注册请求发送到所述可验证证书颁发机构,所述第二注册请求包括所述身份持有者的去中心化身份标识符、所述第二持有者公钥、所述第二持有者私钥对所述第二注册请求的签名,以及所述第一持有者私钥对所述第二注册请求的签名;
S52、所述可验证证书颁发机构根据所述身份持有者的去中心化身份标识符向所述身份注册机构请求所述身份持有者的所述去中心化身份标识符文档以获取所述第一持有者公钥;
S53、所述可验证证书颁发机构采用所述第一持有者公钥对所述第一持有者私钥对所述第二注册请求的签名进行验签,在验签通过后使用所述第二持有者公钥对所述第二持有者私钥对所述第二注册请求的签名进行验签,并在验签通过后,向所述身份注册机构提交验证请求,要求将所述身份持有者的所述去中心化身份标识符与所述第二持有者公钥关联;
S54、所述身份注册机构根据所述验证请求更新所述身份持有者的去中心化身份标识符文档,并将其返回给所述可验证证书颁发机构;
S55、所述可验证证书颁发机构将更新后的所述身份持有者的去中心化身份标识符文档返回给所述身份持有者。
6.根据权利要求5所述的区块链中基于指纹识别分层生成分布式身份的方法,其特征在于,所述更新的所述身份持有者的去中心化身份标识符文档包括所述身份持有者的去中心化身份标识符,所述第一持有者公钥和所述第二持有者公钥。
7.根据权利要求6所述的区块链中基于指纹识别分层生成分布式身份的方法,其特征在于,所述步骤S6进一步包括:
S61、所述身份持有者向所述验证证书机构发送业务开始请求,所述业务开始请求包括所述去中心化身份标识符、所述去中心化身份标识符文档、以及所述身份持有者对业务开始请求的签名;
S62、所述验证证书机构基于所述请求返回可验证证书信息;
S63、所述身份持有者基于一个持有者私钥向所述可验证证书颁发机构发送证书颁发请求,所述证书颁发请求包括所述身份持有者的所述去中心化身份标识符、所述可验证证书信息、以及使用所述持有者私钥对证书颁发请求的签名;
S64、所述可验证证书颁发机构基于所述去中心化身份标识符向所述身份注册机构请求所述身份持有者的所述去中心化身份标识符文档,所述身份持有者的所述去中心化身份标识符文档包括所述身份持有者的所述去中心化身份标识符,以及所述身份持有者注册过的全部持有者公钥;
S65、所述可验证证书颁发机构利用所述全部持有者公钥对所述证书颁发请求分别进行验签,当有至少一个持有者公钥验签通过时,向所述身份持有者颁发所述可验证证书。
8.根据权利要求7所述的区块链中基于指纹识别分层生成分布式身份的方法,其特征在于,所述可验证证书包括:所述身份持有者的去中心化身份标识符、颁发所述可验证证书的所述可验证证书颁发机构的去中心化身份标识符、所述身份持有者对所述可验证证书的签名、所述可验证证书颁发机构对所述可验证证书的签名,以及需验证的内容。
9.根据权利要求8所述的区块链中基于指纹识别分层生成分布式身份的方法,其特征在于,所述步骤S8进一步包括:
S81、所述验证证书机构根据所述可验证证书颁发机构的去中心化身份标识符向所述身份注册机构请求所述机构公钥,并使用所述机构公钥验证所述可验证证书颁发机构对所述可验证证书的签名以获得第一验证结果;
S82、所述验证证书机构根据所述身份持有者的去中心化身份标识符向所述身份注册机构请求所述身份持有者的所述去中心化身份标识符文档,以获取所述身份持有者注册过的全部持有者公钥;并依次使用全部持有者公钥验证所述身份持有者对所述可验证证书的签名以获得第二验证结果;
S83、基于所述第一验证结果、所述第二验证结果以及所述需验证的内容的验证结果,判定验证是否通过。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述程序被处理器执行时实现根据权利要求1-9中任意一项权利要求所述的区块链中基于指纹识别分层生成分布式身份的方法。
CN202010707945.2A 2020-07-21 2020-07-21 区块链中基于指纹识别分层生成分布式身份的方法和计算机可读介质 Active CN112035813B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010707945.2A CN112035813B (zh) 2020-07-21 2020-07-21 区块链中基于指纹识别分层生成分布式身份的方法和计算机可读介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010707945.2A CN112035813B (zh) 2020-07-21 2020-07-21 区块链中基于指纹识别分层生成分布式身份的方法和计算机可读介质

Publications (2)

Publication Number Publication Date
CN112035813A true CN112035813A (zh) 2020-12-04
CN112035813B CN112035813B (zh) 2023-12-08

Family

ID=73581916

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010707945.2A Active CN112035813B (zh) 2020-07-21 2020-07-21 区块链中基于指纹识别分层生成分布式身份的方法和计算机可读介质

Country Status (1)

Country Link
CN (1) CN112035813B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022016842A1 (zh) * 2020-07-21 2022-01-27 杜晓楠 去中心化身份系统中隐藏用户信息的方法和计算机可读介质
CN115102760A (zh) * 2022-06-21 2022-09-23 上海万向区块链股份公司 基于区块链和did的无密码安全登录系统、方法及介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030076961A1 (en) * 2001-10-18 2003-04-24 Kim Hee Sun Method for issuing a certificate using biometric information in public key infrastructure-based authentication system
FR2896646A1 (fr) * 2006-01-24 2007-07-27 France Telecom Certification avec autorite de certification distribuee
CN107070667A (zh) * 2017-06-07 2017-08-18 国民认证科技(北京)有限公司 身份认证方法、用户设备和服务器
CN109727032A (zh) * 2018-12-29 2019-05-07 杭州趣链科技有限公司 一种基于身份标识密码的联盟区块链访问控制方法
WO2020117020A1 (ko) * 2018-12-07 2020-06-11 주식회사 코인플러그 생체 정보 기반의 pki 키 생성 방법 및 이를 이용한 키 생성 장치

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030076961A1 (en) * 2001-10-18 2003-04-24 Kim Hee Sun Method for issuing a certificate using biometric information in public key infrastructure-based authentication system
FR2896646A1 (fr) * 2006-01-24 2007-07-27 France Telecom Certification avec autorite de certification distribuee
CN107070667A (zh) * 2017-06-07 2017-08-18 国民认证科技(北京)有限公司 身份认证方法、用户设备和服务器
WO2020117020A1 (ko) * 2018-12-07 2020-06-11 주식회사 코인플러그 생체 정보 기반의 pki 키 생성 방법 및 이를 이용한 키 생성 장치
CN109727032A (zh) * 2018-12-29 2019-05-07 杭州趣链科技有限公司 一种基于身份标识密码的联盟区块链访问控制方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
张昊迪;刘国荣;汪来富;王帅;: "基于区块链技术的跨域身份认证机制研究", 广东通信技术, no. 07, pages 27 - 35 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022016842A1 (zh) * 2020-07-21 2022-01-27 杜晓楠 去中心化身份系统中隐藏用户信息的方法和计算机可读介质
CN115102760A (zh) * 2022-06-21 2022-09-23 上海万向区块链股份公司 基于区块链和did的无密码安全登录系统、方法及介质

Also Published As

Publication number Publication date
CN112035813B (zh) 2023-12-08

Similar Documents

Publication Publication Date Title
CN112035883B (zh) 去中心化身份系统中用户信用评分的方法和计算机可读介质
US10382427B2 (en) Single sign on with multiple authentication factors
US11838425B2 (en) Systems and methods for maintaining decentralized digital identities
CN112035806B (zh) 区块链中基于指纹识别生成分布式身份的方法和计算机可读介质
US7069440B2 (en) Technique for obtaining a single sign-on certificate from a foreign PKI system using an existing strong authentication PKI system
JP7083892B2 (ja) デジタル証明書のモバイル認証相互運用性
CN111901106B (zh) 去中心化身份系统中隐藏用户真实公钥的方法和计算机可读介质
WO2003077082A2 (en) A biometric authentication system and method
CN112035870B (zh) 去中心化身份系统中隐藏用户具体年龄的方法和计算机可读介质
CN104541475A (zh) 用于交易认证的经提取且随机化的一次性密码
CN112035813B (zh) 区块链中基于指纹识别分层生成分布式身份的方法和计算机可读介质
CN111641605B (zh) 基于动态口令的电子签章方法及系统
EP4128686A1 (en) Deauthorization of private key of decentralized identity
CN112035814B (zh) 区块链中基于虹膜识别生成分布式身份的方法和计算机可读介质
Gulati et al. Self-sovereign dynamic digital identities based on blockchain technology
CN112037054B (zh) 去中心化身份系统中隐藏用户的资产额度的方法和计算机可读介质
JP2008176383A (ja) ワンタイムパスワード生成方法、ワンタイムパスワード認証方法、ワンタイムパスワード生成装置、ワンタイムパスワードの生成機能を備えたicカード、ワンタイムパスワード認証装置、icカードプログラム及びコンピュータプログラム
Schaffner Analysis and evaluation of blockchain-based self-sovereign identity systems
WO2022016842A1 (zh) 去中心化身份系统中隐藏用户信息的方法和计算机可读介质
EP4220454A1 (en) Attribute information conversion device, attribute information conversion program, and attribute information conversion method
Anjaneyulu et al. Novel Authentication Process of the Smart Cards Using Face and Fingerprint Recognition
US20230336523A1 (en) Domain name registration based on verification of entities of reserved names
US20230421399A1 (en) Cross chain access granting to applications
JP2002124944A (ja) 遍在署名認証を用いたidスプーフィング防止
Beuchat et al. A Digital Identity in the Hands of Swiss Citizens

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
GR01 Patent grant
GR01 Patent grant