CN109495490B - 一种基于区块链的统一身份认证方法 - Google Patents

一种基于区块链的统一身份认证方法 Download PDF

Info

Publication number
CN109495490B
CN109495490B CN201811473879.6A CN201811473879A CN109495490B CN 109495490 B CN109495490 B CN 109495490B CN 201811473879 A CN201811473879 A CN 201811473879A CN 109495490 B CN109495490 B CN 109495490B
Authority
CN
China
Prior art keywords
user
spk
annual ring
identity
attribute
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.)
Active
Application number
CN201811473879.6A
Other languages
English (en)
Other versions
CN109495490A (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.)
CETC 30 Research Institute
Original Assignee
CETC 30 Research Institute
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 CETC 30 Research Institute filed Critical CETC 30 Research Institute
Priority to CN201811473879.6A priority Critical patent/CN109495490B/zh
Publication of CN109495490A publication Critical patent/CN109495490A/zh
Application granted granted Critical
Publication of CN109495490B publication Critical patent/CN109495490B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0823Network architectures or network communication protocols for network security for authentication of entities using certificates
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/083Network architectures or network communication protocols for network security for authentication of entities using passwords
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0861Network architectures or network communication protocols for network security for authentication of entities using biometrical features, e.g. fingerprint, retina-scan
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0876Network architectures or network communication protocols for network security for authentication of entities based on the identity of the terminal or configuration, e.g. MAC address, hardware or software configuration or device fingerprint

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Power Engineering (AREA)
  • Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • General Health & Medical Sciences (AREA)
  • Storage Device Security (AREA)

Abstract

本发明公开了一种基于区块链的统一身份认证方法,包括以下四个阶段:一、用户注册阶段:用户使用自己的手机号向年轮服务器进行注册,获得年轮服务器CA颁发的证书;二、用户绑定身份阶段:年轮服务器与公安厅合作,在线人脸验证用户身份,并将用户身份验证结果记录在区块链上;三、用户绑定属性阶段:用户向年轮服务器发起对属性的绑定请求,年轮服务器将用户各类属性绑定在区块链上;四、用户出示属性阶段:用户将绑定成功的属性出示给依赖方。与现有技术相比,本发明的积极效果是:一方面通过区块链技术保证用户各种身份信息的不可篡改性,另一方面利用密码手段,保证用户身份的隐私性。

Description

一种基于区块链的统一身份认证方法
技术领域
本发明涉及一种基于区块链的统一身份认证方法。
背景技术
传统的身份认证主要是线下身份认证与基于中心式的电子身份认证。
线下身份认证目前支持得比较好的仅有公民身份证,使用读卡器校验和获取身份证信息。其它证件目前无较好的校验支持,同时线下身份认证对使用者携带各种不同证件带来了极大的不变,同时存在隐私信息泄露和商户过度获取用户信息等问题。
基于中心式的电子身份认证极大的依赖中心的可信,用户的身份数据均保存于中心服务器,存在极大的用户隐私信息泄露和中心服务器作恶的可能,容易遭遇拖库,DDOS等攻击导致信息泄露和服务不可用。
发明内容
为了克服现有技术的上述缺点,本发明提供了一种基于区块链的统一身份认证方法,主要针对于目前线下身份认证繁琐,证件易丢失,用户隐私信息易泄露和中心式的身份认证服务易遭黑客攻击,中心服务不可信等问题,本发明利用区块链系统分布式账本的特性,将用户信息的哈希值存储于区块链上block中,供依赖方校验用户信息。同时设计一套密钥派生算法,保护用户隐私,解决用户身份信息使用中的不可伪造性、机密性、匿名性、不可链接性和便利性等问题。
本发明解决其技术问题所采用的技术方案是:一种基于区块链的统一身份认证方法,包括以下四个阶段:
一、用户注册阶段:用户使用自己的手机号向年轮服务器进行注册,获得年轮服务器CA颁发的证书;
二、用户绑定身份阶段:年轮服务器与公安厅合作,在线人脸验证用户身份,并将用户身份验证结果记录在区块链上;
三、用户绑定属性阶段:用户向年轮服务器发起对属性的绑定请求,年轮服务器将用户各类属性绑定在区块链上;
四、用户出示属性阶段:用户将绑定成功的属性出示给依赖方。
与现有技术相比,本发明的积极效果是:一方面通过区块链技术保证用户各种身份信息的不可篡改性,另一方面利用密码手段,保证用户身份的隐私性;具体表现如下:
(1)在用户绑定身份过程中,年轮服务器只掌握用户的人脸信息以及基础身份提供方返回的用于比对身份的照片,用户其他的身份信息都加密发送(通过年轮转发)给基础身份提供方,年轮服务器不能获得用户的其他身份信息;
(2)在用户绑定属性的过程中,用户的属性信息都加密发送(通过年轮转发)给身份提供者,年轮服务器不能获得用户的属性信息。身份提供者为用户派生的密钥也是加密发送(通过年轮转发)给用户,年轮服务器不能获得用户派生的密钥;
(3)同一用户的不同属性对应的派生密钥不同,且相互独立,泄露其中某个属性对应的派生密钥,不会影响其他派生密钥的安全性;
(4)用户在出示属性过程中,用户的属性信息都加密发送(通过年轮转发)给身份依赖方;
(5)区块链上存储的用户身份及其属性的摘要信息,任何人不能随意篡改;
(6)区块链上存储的用户身份及其属性的摘要信息,采用了哈希加盐技术,因此区块链上存储的信息不会泄露用户隐私。
附图说明
本发明将通过例子并参照附图的方式说明,其中:
图1为用户注册阶段协议;
图2为用户绑定身份协议;
图3为用户绑定属性协议;
图4为用户出示属性协议。
具体实施方式
本专利基于区块链平台设计一种用户统一身份认证的方法,该方法解决了目前身份认证中存在的校验困难、隐私易泄露等不足。
在该方法中一共包含六类参与方,用户,年轮服务器(简称为server),基础身份提供方(简称为PSD),属性提供方(简称为IDP),依赖方(简称为RP),区块链。其中年轮服务器对应用进行管理,作为用户与其他各参与方之间的联系的媒介,并负责在身份绑定过程中,执行用户的人脸与用户身份信息的比对。基础身份提供方提供用户基础身份验证。属性提供方为用户提供各类属性验证。依赖方作为用户属性出示的对象(例如求职者出示学历给需要招聘的公司,则该公司则为依赖方)。区块链用于记录用户的各类属性,基础身份的摘要值,用户各类属性摘要值,以及用户出示属性阶段的关键阶段的证明。
系统中用到了如下四个密钥派生算法:
1、公钥派生算法PF1(rPSD,spki,spki+1,UID):
该算法包含参数哈希函数Hash和椭圆曲线基点P,输入监管密钥rpsd,用户公钥spki,spki+1,以及用户标识UID,输出(spki+2,Ri+2,spki+3,Ri+3,R)。其中,(spki+2,Ri+2,spki+3,Ri+3,R)为派生公钥,R为哈希加盐密钥。
计算步骤如下:
(1)计算ri+2=Hash(rpsd||spki||spki+1||UID||0),
(2)计算ri+3=Hash(rpsd||spki||spki+1||UID||1),
(3)计算spki+2=Hash(ri+2·spki)·P+spki+1
(4)计算Ri+2=ri+2·P;
(5)计算spki+3=Hash(ri+3·spki)·P+spki+1
(6)计算Ri+3=ri+3·P;
(7)计算R=Hash(ri+2·spki+1);
(8)输出(spki+2,Ri+2,spki+3,Ri+3,R)。
2、私钥派生算法SF1(sski,sski+1,Ri+2,Ri+3):
该算法包含参数哈希函数Hash和椭圆曲线基点P,输入用户私钥sski,sski+1,以及用户公钥Ri+2,Ri+3,输出(sski+2,sski+3)。计算步骤如下:
(1)计算sski+2=Hash(Ri+2·sski)·P+sski+1
(2)计算sski+3=Hash(Ri+3·sski)·P+sski+1
(3)输出(sski+2,sski+3)。
3、公钥派生算法PF2(rIDP,spki,spki+1):
该算法包含参数哈希函数Hash和椭圆曲线基点P,输入监管密钥rIDP,用户公钥spki,spki+1,输出派生公钥(spki+2,Ri+2,spki+3,Ri+3)和哈希加盐密钥R’。计算步骤如下:
(1)计算ri+2=Hash(rIDP||spki||spki+1||0),
(2)计算ri+3=Hash(rIDP||spki||spki+1||1),
(3)计算spki+2=Hash(ri+2·spki)·P+spki+1
(4)计算Ri+2=ri+2·P;
(5)计算spki+3=Hash(ri+3·spki)·P+spki+1
(6)计算Ri+3=ri+3·P;
(7)计算R’=Hash(ri+2·spki+1)
(8)输出(spki+2,Ri+2,spki+3,Ri+3,R’)。
4、公/私钥派生算法SPF3(spki+1,sski,sski+1,Ri+2):
该算法包含参数哈希函数Hash和椭圆曲线基点P,输入用户公钥spki+1,用户私钥sski,sski+1,和部分预派生密钥Ri+2,输出派生公私钥(sski+2,spki+2)。
计算步骤如下:
(1)spki+2=Hash(Ri+2·sski)·P+spki+1
(2)sski+2=Hash(Ri+2·sski)+sski+1
(3)输出(sski+2,spki+2)。
该方法一共包含4个阶段:用户注册阶段,用户绑定身份阶段,用户绑定属性阶段,和用户出示属性阶段。首先是用户注册阶段,用户可以使用自己的手机号向年轮服务器进行注册,获得年轮服务器CA颁发的证书。然后,在身份绑定阶段,年轮服务器与基础身份提供方合作,在线人脸验证用户身份,并将用户身份验证结果记录在区块链上。接着,用户可以使用属性绑定流程,将用户各类属性(例如学历信息,社保卡信息,单位门禁卡信息等)绑定在区块链上。在某个属性绑定完成以后,用户可以通过用户出示属性流程,出示该属性给依赖方。
1、用户注册阶段(如图1所示)
(1)用户通过向年轮服务器发送自己手机号发起注册请求;
(2)年轮服务器检查该手机号是否已经被注册,如果手机号已经被注册,则返回消息通知用户,该手机号已经被注册;
(3)如果手机号尚未被注册,则年轮服务器向用户手机推送验证码;
(4)用户本地生成两对签名公私钥(spk1,ssk1)和(spk2,ssk2),和一对加密公私钥(epk1,esk1)并用口令加密私钥,得到密文C;
(5)用户加密发送验证码,所有公钥信息,以及密文C给年轮服务器。
(6)年轮服务器检查验证码是否正确:如果验证码不正确,则返回消息通知用户验证码错误;否则为用户生成一个全网唯一的标识UID。
(7)年轮对用户的公开信息(包括UID,手机号,以及三个用户公钥)进行签名。并将用户的公开信息和年轮签名一起发送给CA(证书授权中心)。
(8)CA验证年轮签名:如果签名不合法,则返回消息签名不合法给年轮服务器;如果签名合法,则CA为用户颁发证书CertID。
(9)CA发送用户证书CertID给年轮服务器。
(10)如果CA返回年轮服务器签名不合法,则重新执行步骤(7),否则将(UID,CertID,C)记入数据库。
(11)年轮服务器转发证书CertID给用户。其中CertID证书中包含用户的手机号,UID,和三个用户公钥spk1,spk2和epk1。
(12)用户验证证书,如果验证通过,则注册成功。
2、用户绑定身份阶段(如图2所示)
(1)用户向年轮服务器发起身份绑定请求,
1)使用基础身份提供方公钥计算用户身份信息identity的加密密文C1,使用ssk2对用户身份信息的密文C1进行签名,得到签名值σssk2
2)发送{C1,σssk2,CertID}给年轮服务器。
(2)年轮服务器验证用户签名,并查询用户状态,如果用户尚未进行身份绑定,则向基础身份提供方转发用户请求。
(3)基础身份提供方使用自己的私钥解密出用户的身份信息,验证用户签名,查询用户身份对应的库存照片。
(4)基础身份提供方使用年轮服务器公钥加密发送对用户身份对应的库存照片给年轮服务器。
(5)年轮服务器发送信息请求用户上传实时照片。
(6)用户上传自己的实时照片。
(7)年轮服务验证用户当前上传照片与身份证照片的一致性。年轮服务器对{实时照片||库存照片||用户公钥||验证结果}进行签名,得到签名值σserver
(8)年轮服务器发送用户验证信息{实时照片,库存照片,验证结果,CertID,σserver}给基础身份提供方。
(9)基础身份提供方执行以下操作:
1)验证并存储年轮服务器签名,
2)计算(spk3,R3,spk4,R4,R)←PF1(rPSD,spk1,spk2);
3)利用哈希函数计算h=Hash(identity||R);
4)使用PSD的私钥计算(spk3,R3,spk4,R4,h)的签名值σPSD
(10)签名发送记链信息(spk3,R3,spk4,R4,h,σSPD)。
(11)区块链验证基础身份提供方签名,如果合法则记链。
(12)返回记链结果;
(13)基础身份提供方发送记链结果签名和记链值密文给年轮服务器。
1)使用用户公钥epk加密记链信息(spk3,R3,spk4,R4,h,σPSD)得到密文C2
2)发送{记链结果,C2}给年轮服务器;
(14)年轮服务器转发{记链结果,C2}给用户;
(15)用户执行以下操作:
1)解密C2得到记链信息(spk3,R3,spk4,R4,h,σSPD);
2)验证签名;
3)计算派生新公钥对应私钥(ssk3,ssk4)←SF1(ssk1,ssk2,R3,R4);
4)并用口令加密密钥(spk3||R3||ssk3||spk4||R4||ssk4)得到密文C3
(16)用户发送口令加密密文C2给年轮服务器。
(17)年轮服务器存储用户标识UID和用户口令密文C3在数据库中,修改用户状态为已通过身份绑定。
3、用户属性绑定阶段(如图3所示)
(1)用户向年轮服务器发起对属性A的绑定请求,
1)计算R=Hash(R3*ssk2);
2)用户使用私钥ssk4对{identity,R,A,epk,spk3,R3}进行签名(其中identity为用户身份信息),得到签名值σssk4
3)用户使用属性提供方IDP的公钥加密(identity,R,A,epk,spk3,R3,spk4,R4,σssk4),得到密文C4
4)用户发送信息密文{C4,属性类型}给年轮服务器。
(2)年轮服务器查看用户状态,如果用户尚未进行基础身份绑定,则向基础身份提供方转发用户请求。如果已经绑定该项属性,则返回已绑定结果。
(3)属性提供方解密信息,验证签名。
(4)属性提供方发送用户基础身份信息{spk3||R3||spk4||R4}给区块链
(5)区块链查询spk3||R3||spk4||R4对应身份信息;
(6)区块链返回查询结果Hash(identity||R)给属性提供方;
(7)属性提供方用户身份和属性,并派生新公钥;
1)验证用户身份信息:通过验证用户发送的身份信息和R的哈希值与区块链查询结果是否一致;
2)验证用户属性A:通过用户身份信息identity判断属性A是否合法;
3)派生新公钥,计算如下:
(spk5,R5,R6,spk6,R’)←PF2(rIDP,spk3,spk4);
(8)属性提供方发送记链信息:
1)属性提供方计算h’=Hash(A||R’)|;
2)对{spk5,R5,R6,spk6,h’}签名,得到签名值σIDP
3)发送记链信息{spk5,R5,R6,spk6,h’,σIDP}
(9)区块链验证签名,合法则记链。
(10)区块链发送记链结果给属性提供方。
(11)属性提供方返回记链结果和加密的属性记链信息。
1)使用用户加密密钥epk加密属性记链信息{spk5,R5,R6,spk6,h’,σIDP1},得到密文C5
2)发送{记链结果,C5}给年轮服务器;
(12)年轮服务器转发{记链结果,C5}给用户
(13)用户解密,验证签名,计算派生公钥对应私钥,口令加密密钥(spk5||R5||ssk5||spk6||R6||ssk6||A)得到密文C6
(14)用户发送C6给年轮服务器。
(15)年轮服务器存储用户私钥密文C6和UID,修改用户该类属性为属性已绑定状态。
4、用户出示属性阶段(如图4所示)
(1)依赖方扫描用户二维码,获得用户UID
(2)依赖方向年轮服务器请求获得用户UID属性信息
1)依赖方对{UID,属性类型}进行签名,得到签名值σRP
2)依赖方RP发送{UID,属性类型,σRP}给年轮服务器
(3)年轮服务器发送IDP预置数据R7给用户(其中,R7=r7·P,由属性提供方产生,预置在年轮服务器,以便用户出示属性时使用,每个R7仅使用一次。选择不同的r7,可对应多个R7,供用户多次使用。)
(4)用户基于属性密钥spk5和spk6,以及R7派生属性出示密钥,执行步骤如下:
1)用户计算(spk7,ssk7)←SPF3(spk6,ssk5,ssk6,R7)
2)用户使用ssk7对属性A计算签名,得到签名值σssk7
3)用户使用RP公钥对消息{属性A,spk5,R5,spk6,R6,spk7,R7,σssk7}进行加密,得到密文C7
4)发送密文{RP,C7}给年轮服务器
(5)年轮服务器转发用户密文属性信息C7给依赖方RP
(6)依赖方解密信息,验证用户属性和用户签名
(7)依赖方发送记链信息:
1)依赖方对消息{spk7,R7}签名,得到签名σRP
2)依赖方发送(属性A,IDP,spk5,R5,spk6,R6,spk7,R7,σRP)给区块链;
(8)区块链验证签名,验证spk5||R5||spk6||R6对应属性是否为属性A;
(9)区块链智能合约通过{R7,spk5},向IDP请求关系密钥RK;
(10)IDP通过R7,查找r7,计算关系密钥RK=r7*spk5,并使用IDP私钥签名关系密钥Hash(RK),得到签名值σIDP2
(11)身份提供方发送{RK,Hash(RK),σIDP2}给区块链节点;
(12)区块链节点验签,验证密钥关系,记链信息{spk7,R7,σRP,Hash(RK),σIDP2};
(13)区块链发送记链结果给IDP和RP;
(14)RP根据记链结果发送用户属性出示结果;
(15)转发属性出示结果。

Claims (9)

1.一种基于区块链的统一身份认证方法,其特征在于:包括以下四个阶段:
一、用户注册阶段:用户使用自己的手机号向年轮服务器进行注册,获得年轮服务器CA颁发的证书;具体流程包括:
(1)用户向年轮服务器发送手机号发起注册请求;
(2)年轮服务器检查该手机号是否已经被注册:如果已经被注册,则返回已经被注册的消息通知用户;如果未被注册,则年轮服务器向该手机号推送验证码;
(3)用户本地生成两对签名公私钥(spk1,ssk1)、(spk2,ssk2),和一对加密公私钥(epk1,esk1),并用口令加密私钥,得到密文C;
(4)用户加密发送验证码,所有公钥信息,以及密文C给年轮服务器;
(5)年轮服务器检查验证码是否正确:如果不正确,则返回消息通知用户验证码错误;否则为用户生成一个全网唯一的标识UID;
(6)年轮服务器对用户的公开信息进行签名,并将用户的公开信息和年轮签名一起发送给CA;
(7)CA验证年轮签名是否合法:如果不合法,则返回消息签名不合法给年轮服务器,然后重新执行第(6)步;如果合法,则CA为用户颁发证书CertID,并发送用户证书CertID给年轮服务器,并将(UID,CertID,C)记入数据库;
(8)年轮服务器转发证书CertID给用户;
(9)用户验证证书,如果验证通过,则注册成功;
二、用户绑定身份阶段:年轮服务器与公安厅合作,在线人脸验证用户身份,并将用户身份验证结果记录在区块链上;
三、用户绑定属性阶段:用户向年轮服务器发起对属性的绑定请求,年轮服务器将用户各类属性绑定在区块链上;
四、用户出示属性阶段:用户将绑定成功的属性出示给依赖方。
2.根据权利要求1所述的一种基于区块链的统一身份认证方法,其特征在于:用户绑定身份阶段的流程包括:
(1)用户向年轮服务器发起身份绑定请求:
1)使用公安厅公钥计算得到用户身份信息的加密密文C1,使用ssk2对C1进行签名,得到签名值σssk2
2)发送{C1,σssk2,CertID}给年轮服务器;
(2)年轮服务器验证用户签名,并查询用户状态,如果用户尚未进行身份绑定,则向基础身份提供方转发用户请求;
(3)基础身份提供方使用自己的私钥解密出用户的身份信息,验证用户签名,查询用户身份对应的库存照片,使用年轮服务器公钥加密发送与用户身份对应的库存照片给年轮服务器;
(4)年轮服务器验证用户上传的实时照片与身份证照片的一致性后,对{实时照片||库存照片||用户公钥||验证结果}进行签名,得到签名值σserver,然后发送用户验证信息{实时照片,库存照片,验证结果,CertID,σserver}给基础身份提供方;
(5)基础身份提供方执行以下操作:
1)验证并存储年轮服务器签名;
2)计算(spk3,R3,spk4,R4,R)←PF1(rPSD,spk1,spk2);
3)利用哈希函数计算h=Hash(identity||R);
4)使用私钥计算(spk3,R3,spk4,R4,h)的签名值σPSD
5)签名发送记链信息(spk3,R3,spk4,R4,h,σPSD);
(6)区块链验证基础身份提供方签名,如果合法则记链,并返回记链结果给基础身份提供方;
(7)基础身份提供方使用用户公钥epk加密记链信息(spk3,R3,spk4,R4,h,σPSD)得到密文C2,然后发送{记链结果,C2}给年轮服务器;
(8)年轮服务器转发{记链结果,C2}给用户;
(9)用户执行以下操作:
1)解密C2得到记链信息(spk3,R3,spk4,R4,h,σPSD);
2)验证签名;
3)计算派生新公钥对应私钥(ssk3,ssk4)←SF1(ssk1,ssk2,R3,R4);
4)用口令加密密钥(spk3||R3||ssk3||spk4||R4||ssk4)得到密文C3
5)发送口令加密密文C3给年轮服务器;
(10)年轮服务器存储用户标识UID和用户口令密文C3在数据库中,修改用户状态为已通过身份绑定。
3.根据权利要求2所述的一种基于区块链的统一身份认证方法,其特征在于:公钥派生算法PF1包含参数哈希函数Hash和椭圆曲线基点P,输入监管密钥rpsd,用户公钥spki,spki+1,以及用户标识UID,输出(spki+2,Ri+2,spki+3,Ri+3,R),其中,(spki+2,Ri+2,spki+3,Ri+3,R)为派生公钥,R为哈希加盐密钥;计算步骤如下:
(1)计算ri+2=Hash(rpsd||spki||spki+1||UID||0);
(2)计算ri+3=Hash(rpsd||spki||spki+1||UID||1);
(3)计算spki+2=Hash(ri+2·spki)·P+spki+1
(4)计算Ri+2=ri+2·P;
(5)计算spki+3=Hash(ri+3·spki)·P+spki+1
(6)计算Ri+3=ri+3·P;
(7)计算R=Hash(ri+2·spki+1);
(8)输出(spki+2,Ri+2,spki+3,Ri+3,R)。
4.根据权利要求3所述的一种基于区块链的统一身份认证方法,其特征在于:私钥派生算法SF1包含参数哈希函数Hash和椭圆曲线基点P,输入用户私钥sski,sski+1,以及用户公钥Ri+2,Ri+3,输出(sski+2,sski+3);计算步骤如下:
(1)计算sski+2=Hash(Ri+2·sski)·P+sski+1
(2)计算sski+3=Hash(Ri+3·sski)·P+sski+1
(3)输出(sski+2,sski+3)。
5.根据权利要求4所述的一种基于区块链的统一身份认证方法,其特征在于:用户绑定属性阶段的流程包括:
(1)用户向年轮服务器发起对属性A的绑定请求:
1)计算R=Hash(R3*ssk2);
2)用户使用私钥ssk4对{identity,R,A,epk,spk3,R3}进行签名,得到签名值σssk4
3)用户使用属性提供方IDP的公钥加密(identity,R,A,epk,spk3,R3,spk4,R4,σssk4),得到密文C4
4)用户发送信息密文{C4,属性类型}给年轮服务器;
(2)年轮服务器查看用户状态,如果用户尚未进行基础身份绑定,则向属性提供方转发用户请求;
(3)属性提供方解密信息,验证签名,然后发送用户基础身份信息{spk3||R3||spk4||R4}给区块链;
(4)区块链查询spk3||R3||spk4||R4对应身份信息,并返回查询结果Hash(identity||R)给属性提供方;
(5)属性提供方验证用户身份和属性,并派生新公钥:
1)验证用户身份信息:通过验证用户发送的身份信息和R的哈希值与区块链查询结果是否一致;
2)验证用户属性A:通过用户身份信息identity判断属性A是否合法;
3)派生新公钥,计算如下:
(spk5,R5,R6,spk6,R’)←PF2(rIDP,spk3,spk4);
(6)属性提供方发送记链信息:
1)属性提供方计算h’=Hash(A||R’)|;
2)对{spk5,R5,R6,spk6,h’}签名,得到签名值σIDP
3)发送记链信息{spk5,R5,R6,spk6,h’,σIDP};
(7)区块链验证签名,合法则记链,并发送记链结果给属性提供方;
(8)属性提供方返回记链结果和加密的属性记链信息:
1)使用用户加密密钥epk加密属性记链信息{spk5,R5,R6,spk6,h’,σIDP1},得到密文C5
2)发送{记链结果,C5}给年轮服务器;
(9)年轮服务器转发{记链结果,C5}给用户;
(10)用户解密,验证签名,计算派生公钥对应私钥,口令加密密钥(spk5||R5||ssk5||spk6||R6||ssk6||A)得到密文C6
(11)用户发送C6给年轮服务器;
(12)年轮服务器存储用户私钥密文C6和UID,修改用户该类属性为属性已绑定状态。
6.根据权利要求5所述的一种基于区块链的统一身份认证方法,其特征在于:所述公钥派生算法PF2包含参数哈希函数Hash和椭圆曲线基点P,输入监管密钥rIDP,用户公钥spki,spki+1,输出派生公钥(spki+2,Ri+2,spki+3,Ri+3)和哈希加盐密钥R’;计算步骤如下:
(1)计算ri+2=Hash(rIDP||spki||spki+1||0);
(2)计算ri+3=Hash(rIDP||spki||spki+1||1);
(3)计算spki+2=Hash(ri+2·spki)·P+spki+1
(4)计算Ri+2=ri+2·P;
(5)计算spki+3=Hash(ri+3·spki)·P+spki+1
(6)计算Ri+3=ri+3·P;
(7)计算R’=Hash(ri+2·spki+1);
(8)输出(spki+2,Ri+2,spki+3,Ri+3,R’)。
7.根据权利要求6所述的一种基于区块链的统一身份认证方法,其特征在于:用户出示属性阶段的流程包括:
(1)依赖方扫描用户二维码,获得用户UID;
(2)依赖方向年轮服务器请求获得用户UID属性信息:
1)依赖方对{UID,属性类型}进行签名,得到签名值σRP
2)依赖方RP发送{UID,属性类型,σRP}给年轮服务器;
(3)年轮服务器发送IDP预置数据R7给用户;
(4)用户基于属性密钥spk5和spk6,以及R7派生属性出示密钥,执行步骤如下:
1)计算(spk7,ssk7)←SPF3(spk6,ssk5,ssk6,R7);
2)使用ssk7对属性A签名,得到签名值σssk7
3)使用RP公钥对消息{属性A,spk5,R5,spk6,R6,spk7,R7,σssk7}进行加密,得到密文C7
4)发送密文{RP,C7}给年轮服务器;
(5)年轮服务器转发用户密文属性信息C7给依赖方RP;
(6)依赖方解密信息,验证用户属性和用户签名,对消息{spk7,R7}签名,得到签名σRP,发送记链信息(属性A,IDP,spk5,R5,spk6,R6,spk7,R7,σRP)给区块链;
(7)区块链验证签名,验证spk5||R5||spk6||R6对应属性是否为属性A,智能合约通过{R7,spk5},然后向IDP请求关系密钥RK;
(8)IDP通过R7查找r7,计算关系密钥RK=r7*spk5,并使用IDP私钥签名关系密钥Hash(RK),得到签名值σIDP2,发送{RK,Hash(RK),σIDP2}给区块链节点;
(9)区块链节点验签,验证密钥关系,记链信息{spk7,R7,σRP,Hash(RK),σIDP2},并发送记链结果给IDP和RP;
(10)RP根据记链结果发送用户属性出示结果给年轮服务器;
(15)年轮服务器转发属性出示结果。
8.根据权利要求7所述的一种基于区块链的统一身份认证方法,其特征在于:公/私钥派生算法SPF3包含参数哈希函数Hash和椭圆曲线基点P,输入用户公钥spki+1,用户私钥sski,sski+1,和部分预派生密钥Ri+2,输出派生公私钥(sski+2,spki+2);计算步骤如下:
(1)spki+2=Hash(Ri+2·sski)·P+spki+1
(2)sski+2=Hash(Ri+2·sski)+sski+1
(3)输出(sski+2,spki+2)。
9.根据权利要求7所述的一种基于区块链的统一身份认证方法,其特征在于:所述预置数据R7=r7·P,由属性提供方产生,预置在年轮服务器,供用户出示属性时使用,每个R7仅使用一次;选择不同的r7,可对应多个R7,供用户多次使用。
CN201811473879.6A 2018-12-04 2018-12-04 一种基于区块链的统一身份认证方法 Active CN109495490B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811473879.6A CN109495490B (zh) 2018-12-04 2018-12-04 一种基于区块链的统一身份认证方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811473879.6A CN109495490B (zh) 2018-12-04 2018-12-04 一种基于区块链的统一身份认证方法

Publications (2)

Publication Number Publication Date
CN109495490A CN109495490A (zh) 2019-03-19
CN109495490B true CN109495490B (zh) 2021-04-09

Family

ID=65698129

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811473879.6A Active CN109495490B (zh) 2018-12-04 2018-12-04 一种基于区块链的统一身份认证方法

Country Status (1)

Country Link
CN (1) CN109495490B (zh)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110011988B (zh) * 2019-03-21 2021-08-10 平安科技(深圳)有限公司 基于区块链的证书验证方法及装置、存储介质、电子装置
CN110490588A (zh) * 2019-08-23 2019-11-22 深圳前海环融联易信息科技服务有限公司 身份证书管理方法、装置、计算机设备及存储介质
CN110493237A (zh) * 2019-08-26 2019-11-22 深圳前海环融联易信息科技服务有限公司 身份管理方法、装置、计算机设备及存储介质
CN110545273B (zh) * 2019-08-29 2022-05-03 广东昭阳信息技术有限公司 一种基于区块链应用的资源分配方法及系统
CN110941668B (zh) * 2019-11-08 2022-09-16 中国电子科技网络信息安全有限公司 一种基于区块链的统一身份管理和认证方法
CN111159681A (zh) * 2019-12-31 2020-05-15 马上游科技股份有限公司 基于区块链的数字身份的实现方法及系统
CN111199036B (zh) * 2020-01-06 2022-06-07 北京三快在线科技有限公司 身份验证方法、装置及系统
CN112700245B (zh) * 2020-12-30 2024-06-21 标信智链(杭州)科技发展有限公司 基于区块链的数字移动证书应用方法及装置
CN114900309A (zh) * 2021-03-29 2022-08-12 北京格瑞空间科技有限公司 一种将信息化应用系统的用户身份标识与区块链链账户对应的方法
CN113381992B (zh) * 2021-06-07 2022-03-18 中国电子科技网络信息安全有限公司 一种基于区块链的证照管理方法
CN114189388A (zh) * 2021-12-17 2022-03-15 中国电子科技网络信息安全有限公司 一种联盟链密钥管理系统及方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107196966A (zh) * 2017-07-05 2017-09-22 北京信任度科技有限公司 基于区块链的多方信任的身份认证方法和系统
CN108123936A (zh) * 2017-12-13 2018-06-05 北京科技大学 一种基于区块链技术的访问控制方法及系统
CN108768933A (zh) * 2018-04-11 2018-11-06 深圳技术大学(筹) 一种区块链平台上自主可监管数字身份认证系统
US10135835B1 (en) * 2018-03-19 2018-11-20 Cyberark Software Ltd. Passwordless and decentralized identity verification

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10079682B2 (en) * 2015-12-22 2018-09-18 Gemalto Sa Method for managing a trusted identity

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107196966A (zh) * 2017-07-05 2017-09-22 北京信任度科技有限公司 基于区块链的多方信任的身份认证方法和系统
CN108123936A (zh) * 2017-12-13 2018-06-05 北京科技大学 一种基于区块链技术的访问控制方法及系统
US10135835B1 (en) * 2018-03-19 2018-11-20 Cyberark Software Ltd. Passwordless and decentralized identity verification
CN108768933A (zh) * 2018-04-11 2018-11-06 深圳技术大学(筹) 一种区块链平台上自主可监管数字身份认证系统

Also Published As

Publication number Publication date
CN109495490A (zh) 2019-03-19

Similar Documents

Publication Publication Date Title
CN109495490B (zh) 一种基于区块链的统一身份认证方法
CN112019591B (zh) 一种基于区块链的云数据共享方法
CN107196966B (zh) 基于区块链的多方信任的身份认证方法和系统
CN101521569B (zh) 实现服务访问的方法、设备及系统
CN113553574A (zh) 一种基于区块链技术的物联网可信数据管理方法
JP2019507510A (ja) 情報及び階層的で決定性の暗号化鍵のセキュアな交換のための共通秘密の決定
CN109687965B (zh) 一种保护网络中用户身份信息的实名认证方法
CN104158827B (zh) 密文数据共享方法、装置、查询服务器和上传数据客户端
CN108880995B (zh) 基于区块链的陌生社交网络用户信息及消息推送加密方法
CN118337410A (zh) 能够在多个存储节点上安全存储大型区块链的计算机实现的系统和方法
CN109347626B (zh) 一种具有反跟踪特性的安全身份认证方法
CN113761582A (zh) 基于群签名的可监管区块链交易隐私保护方法及系统
CN115174091B (zh) 一种面向分布式数字身份的同态加密隐私保护方法
CN111711607B (zh) 一种基于区块链的流式微服务可信加载与验证方法
CN103701787A (zh) 一种基于公开密钥算法实现的用户名口令认证方法
Kravitz Transaction immutability and reputation traceability: Blockchain as a platform for access controlled iot and human interactivity
CN115396096A (zh) 基于国密算法的秘密文件的加、解密方法及保护系统
KR20200016506A (ko) 익명 디지털 아이덴티티 수립 방법
CN116388995A (zh) 一种基于puf的轻量级智能电网认证方法
Hussain et al. An improved authentication scheme for digital rights management system
CN113158250B (zh) 一种排除曾匹配司机的隐私保护网约车方法与系统
CN114154125A (zh) 云计算环境下区块链无证书的身份认证方案
CN113761578A (zh) 一种基于区块链的文书验真方法
CN111245611B (zh) 基于秘密共享和可穿戴设备的抗量子计算身份认证方法及系统
CN117376026A (zh) 物联网设备身份认证方法及系统

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