CN112396421B - 一种基于区块链通证的身份认证系统及方法 - Google Patents
一种基于区块链通证的身份认证系统及方法 Download PDFInfo
- Publication number
- CN112396421B CN112396421B CN202011492586.XA CN202011492586A CN112396421B CN 112396421 B CN112396421 B CN 112396421B CN 202011492586 A CN202011492586 A CN 202011492586A CN 112396421 B CN112396421 B CN 112396421B
- Authority
- CN
- China
- Prior art keywords
- chain
- certificate
- identity authentication
- user
- identity
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 26
- 238000004891 communication Methods 0.000 claims abstract description 6
- 238000012795 verification Methods 0.000 claims description 14
- 238000005516 engineering process Methods 0.000 description 9
- 241001125929 Trisopterus luscus Species 0.000 description 4
- 238000011161 development Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000015556 catabolic process Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 238000002955 isolation Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/382—Payment protocols; Details thereof insuring higher security of transaction
- G06Q20/3821—Electronic credentials
- G06Q20/38215—Use of certificates or encrypted proofs of transaction rights
-
- 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/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/57—Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/382—Payment protocols; Details thereof insuring higher security of transaction
- G06Q20/3829—Payment protocols; Details thereof insuring higher security of transaction involving key management
Abstract
本发明涉及区块链技术领域,具体地说,涉及一种基于区块链通证的身份认证系统及方法。该身份认证系统包括公共主链、业务链和身份认证链,公共主链具有多个扩展接口用于与业务链和身份认证链进行交互,每条业务链用于负责同一主题的业务,身份认证链用于对业务链中所有用户的证书进行管理;其中,业务链和身份认证链均部署在搭载TEE硬件的环境中。该身份认证方法基于上述系统实现。本发明能够较佳地实现去中心化的身份认证。
Description
技术领域
本发明涉及区块链技术领域,具体地说,涉及一种基于区块链通证的身份认证系统及方法。
背景技术
随着信息科技的不断发展,跨境电子商务发展迅猛,电子交易安全性问题始终限制该行业发展。传统密码学技术手段不能很好的应用于移动计算环境和分布式网络环境,近年来提出的区块链技术融合密码学、数学和分布式网络技术在保证交易数据传输安全性、完整性、可用性和不可篡改性方面取得很好的发展,但在身份验证方面,仍然依托公钥基础设施(Public Key Infrastructure,PKI)实现,需要引入可信第三方作为证书认证中心(Certification Authority,CA),CA不可信和中心化故障问题将导致整个身份验证环节崩溃。Certcoin和CertChain提出基于区块链的分布式PKI系统构建,但是计算环节复杂不能直接用于电子商务。
发明内容
本发明提供了一种基于区块链通证的身份认证系统,其能够克服现有技术的某种或某些缺陷。
根据本发明的一种基于区块链通证的身份认证系统,其包括公共主链、业务链和身份认证链,公共主链具有多个扩展接口用于与业务链和身份认证链进行交互,每条业务链用于负责同一主题的业务,身份认证链用于对业务链中所有用户的证书进行管理;其中,业务链和身份认证链均部署在搭载TEE硬件的环境中。
其中,身份认证链的主要功能就是进行证书管理,其中证书签发、证书撤销和证书更新的结果由区块链的安全性、一致性和不可篡改性的安全特性进行背书,能够较佳地克服中心化CA证书管理的单点故障问题,通过由全网共识保证证书权威。另外,通过使业务链中每个用户秘钥的生成和身份认证链身份的秘钥管理都采用了硬件可信TEE技术,故能够较佳地从源头保证秘钥等敏感数据的安全性,极大降低非法获取敏感数据的可能。
作为优选,身份认证链采取联盟链形式,身份认证链中的节点由业务链中的用户推选而出。从而能够较佳地保障身份认证链中的每个参与方的可信性。
基于上述系统,本发明还提供了一种基于区块链通证的身份认证方法,其在公共主链处设置单独的身份认证链,身份认证链用于对公共主链处的业务链的用户的证书进行管理,且业务链和身份认证链均部署在搭载TEE硬件的环境中。从而能够较佳地实现去中心化的身份认证。
作为优选,身份认证链对业务链的用户的证书的管理包括如下步骤,步骤S1、身份认证链管理步骤
步骤S11、身份认证链的参与方在TEE内核中生成符合标准的公私钥对,即参与方公钥PKi和参与方私钥SKi;参与方私钥SKi存储于TEE内核中,通过构建公钥注册交易并基于共识算法将参与方公钥PKi以一一对应的<公钥,公钥哈希散列>表的形式更新并存储于身份认证链中;其中,i=1,2,3,……;
步骤S12、身份认证链创建一对用于识别身份认证链身份的公私钥对,即身份链公钥PK0和身份链私钥SK0;身份链私钥SK0存储于TEE内核中,身份链公钥PK0通过跨链技术公布于公共主链和业务链处;
步骤S13、通过<公钥,公钥哈希散列>表访问所有身份认证链参与方的参与方公钥PKi,采用每个身份认证链参与方的参与方公钥PKi对身份链私钥SK0进行加密以形成一一对应的<公钥哈希散列,加密身份链私钥>列表;<公钥哈希散列,加密身份链私钥>列表通过共享内存供非安全空间访问,并通过共识算法更新并存储于身份认证链处;
步骤S2、业务链证书管理步骤
该步骤中,包括证书创建、证书签发、证书更新和证书撤销。
本发明的步骤S1中,通过步骤S11使得身份认证链的参与方能够较佳地在安全硬件TEE中生成符合标准的公钥私钥对,从而能够较佳地借助安全硬件TEE的环境保障公钥私钥对生成的安全性;通过步骤S12,能够较佳地在TEE安全内核创建一对用于识别身份认证链身份的公私钥对,身份链公钥PK0能够公布于公共主链和业务链处,通过采用身份链私钥SK0对业务链用户的证书进行签名,使得业务链中的参与方能够采用身份链公钥PK0对业务链用户的证书进行验证,从而能够较佳实现身份认证链对业务链用户的证书的背书;通过步骤S13,使得身份认证链的参与方能够较佳地获取身份链私钥SK0,从而能够较佳地实现对业务链用户的证书的签名。
作为优选,步骤S1中,在身份认证链处设置一个参与方数量阈值N,在身份认证链的参与方数量未超过N时,仅进行步骤S11;在身份认证链的参与方数量超过N时,依次进行步骤S11、步骤S12和S13。
本发明中,通过主动设置一个参与方数量阈值N,使得只有当身份认证链处的参与方数量达到设定值时,身份认证链才会对业务链用户的证书进行如签发、更新及撤销等操作,从而能够较佳地保证身份认证链处的安全等级。
作为优选,步骤S11和步骤S13中的共识算法采用基于更新时间的共识算法,身份认证链处在有新的参与方加入并发起公钥注册交易时,新的参与方向TEE可信硬件区域申请随机计时器;
每个既有参与方根据身份认证链处存放的<公钥,公钥哈希散列>表和<公钥哈希散列,加密身份链私钥>列表,依据新的参与方的参与方公钥PKi更新<公钥,公钥哈希散列>表,若<公钥,公钥哈希散列>表发生变化,则使用自身的参与方私钥SKi对加密身份链私钥进行解密以获取身份链私钥SK0,并采用新的参与方的参与方公钥PKi对身份链私钥SK0进行加密以完成<公钥哈希散列,加密身份链私钥>列表的更新;若上述操作在随机计时器到期前完成,则以第一个完成更新的既有参与方作为胜出者,并通过胜出者将更新结果传播至身份认证链中;若上述操作未在随机计时器到期前完成,则新的参与方重新申请随机计时器并进行列表更新直至有胜出者。
本实施例中,通过设计基于更新时间的共识算法能够较高效地实现证书的签发、撤销和更新等操作。
作为优选,步骤S2中的证书创建步骤具体包括如下步骤,
步骤S211、业务链中的用户在TEE内核中根据物理地址addrmac、互联网协议地址IP、申请时间戳tc和随机数numran生成符合标准的公私钥对,即用户公钥PubK和用户私钥PriK;
步骤S212、将用户私钥PriK存储于TEE安全空间内且外部不可访问,通过用户公钥PubK创建符合国际X.509标准格式的用户证书Certificate;
步骤S213、将用户公钥PubK和用户证书Certificate发送给身份认证链请求背书。
本发明中,通过步骤S211-S213,使得业务链中的用户能够依赖可信硬件环境TEE获取公私钥对,从而能够较佳地保障公私钥对的安全性。
作为优选,步骤S2中的证书签发包括如下步骤,
步骤S221、身份认证链接收到用户公钥PubK和用户证书Certificate后,对用户证书Certificate的合法性进行检测,若用户证书Certificate满足国际X.509标准,则使用身份链私钥SK0对用户证书Certificate进行签名以获取签名用户证书Certificatesign,同时对证书可用性状态表Certificatetable进行更新;
步骤S222、身份认证链中的参与方基于共识算法将签名用户证书Certificatesign和证书可用性状态表Certificatetable进行全网公布。
本发明中,通过步骤S221和步骤S222,能够较佳地实现证书的签发。其中,步骤S222中的共识算法能够采用上述的基于更新时间的共识算法,从而能够较为高效地实现证书签发。
作为优选,步骤S2中的证书更新包括如下步骤,
步骤S231、业务链中的用户向身份认证链发起更新证书请求,更新证书请求包括更新指令、经用户公钥PubK创建的新证书、经用户私钥PriK签名的原用户证书Certificate和身份认证链签发的原签名用户证书Certificatesign;
步骤S232、身份认证链采用用户公钥PubK对经用户私钥PriK签名的原用户证书Certificate进行验证,并采用身份链公钥PK0对身份认证链签发的原签名用户证书Certificatesign进行验证,若而这验证结果比对一致,则进行下一步,否则不执行证书更新请求;
步骤S233、身份认证链签发新签名用户证书Certificatenew.sign(),同时将新签名用户证书Certificatenew.sign()与原签名用户证书Certificatesign进行关联,并将原签名用户证书Certificatesign撤销,之后对证书可用性状态表Certificatetable进行更新;
步骤S234、身份认证链中的参与方基于共识算法将新签名用户证书Certificatesign和更新后的证书可用性状态表Certificatetable进行全网公布。
本发明中,通过步骤S231-S234,能够较佳地实现证书的更新。其中,步骤S234中的共识算法能够采用上述的基于更新时间的共识算法,从而能够较为高效地实现证书更新。
作为优选,步骤S2中的证书撤销包括如下步骤,
步骤S241、业务链中的用户向身份认证链发起撤销证书请求,撤销证书请求包括撤销指令、经用户私钥PriK签名的用户证书Certificate和身份认证链签发的签名用户证书Certificatesign;
步骤S242、身份认证链通过用户公钥PubK和身份链公钥PK0分别对经用户私钥PriK签名的用户证书Certificate和身份认证链签发的签名用户证书Certificatesign进行验证,若验证结果比对一致则进行下一步,否则不执行证书撤销请求;
步骤S243、身份认证链撤销签名用户证书Certificatesign同时更新证书可用性状态表Certificatetable;
步骤244、身份认证链中的参与方基于共识算法将新签名用户证书Certificatesign和更新后的证书可用性状态表Certificatetable进行全网公布。
本发明中,通过步骤S241-S244,能够较佳地实现证书的撤销。其中,步骤S244中的共识算法能够采用上述的基于更新时间的共识算法,从而能够较为高效地实现证书更新。
附图说明
图1为实施例1中的一种基于区块链通证的身份认证系统的框图示意图。
具体实施方式
为进一步了解本发明的内容,结合附图和实施例对本发明作详细描述。应当理解的是,实施例仅仅是对本发明进行解释而并非限定。
实施例1
结合图1所示,本实施例提供了一种基于区块链通证的身份认证系统,其包括公共主链、业务链和身份认证链,公共主链具有多个扩展接口用于与业务链和身份认证链进行交互,每条业务链用于负责同一主题的业务,身份认证链用于对业务链中所有用户的证书进行管理;其中,业务链和身份认证链均部署在搭载TEE硬件的环境中。
其中,业务链和身份认证链均为子链,其通过扩展接口与公共主链进行交互。公共主链作为连接业务链和身份认证链的桥梁,其用于存储业务链和身份链所有的操作哈希;业务链用于进行资产转移,身份认证链用于对业务链中的交易双方进行身份安全保障。
其中,业务链和身份认证链均部署在支持TEE(Trusted Execution Environment)技术的硬件上,TEE技术从硬件层面区分安全空间和非安全空间,二者独立运行,非安全空间内即使获得系统最高权限也不能访问安全空间数据,只能通过调用TEE预编译API与TEE授权的可信应用TA进行数据传递,将需要处理的信息放入共享内存中,由可信应用TA切换硬件监控器环境,调用TEE内部API及安全空间存储数据完成消息指令操作,处理后的信息置于共享内存供非安全空间访问,保障了安全区域的独立性和隔离安全性。
通过本实施例中的系统使得,业务链上的所有主体在申请账户时能够依赖可信硬件环境TEE获取公钥私钥对,例如在安全内核TEE中根据物理地址addrmac、互联网协议地址IP、申请时间戳tc和随机数numran生成符合标准的公钥私钥对。其中,私钥能够存储于TEE安全空间内且外部不可访问,公钥能够用于生成符合国际X.509标准格式的证书,公钥和证书能够一起发送至身份认证链处请求背书。从而较佳地实现了去中心化身份认证。
本实施例中,身份认证链的主要功能就是进行证书管理,其中证书签发、证书撤销和证书更新的结果由区块链的安全性、一致性和不可篡改性的安全特性进行背书,能够较佳地克服中心化CA证书管理的单点故障问题,通过由全网共识保证证书权威。另外,通过使业务链中每个用户秘钥的生成和身份认证链身份的秘钥管理都采用了硬件可信TEE技术,故能够较佳地从源头保证秘钥等敏感数据的安全性,极大降低非法获取敏感数据的可能。
本实施例中,身份认证链能够采取例如联盟链的形式,也即身份认证链中的节点由业务链中的用户推选而出。从而能够较佳地保障身份认证链中的每个参与方的可信性。
基于本实施例中的身份认证系统,本实施例还提供了一种基于区块链通证的身份认证方法,其在公共主链处设置单独的身份认证链,身份认证链用于对公共主链处的业务链的用户的证书进行管理,且业务链和身份认证链均部署在搭载TEE硬件的环境中。从而能够较佳地实现去中心化的身份认证。
本实施例中,身份认证链对业务链的用户的证书的管理包括如下步骤,
步骤S1、身份认证链管理步骤
步骤S11、身份认证链的参与方在TEE内核中生成符合标准的公私钥对,即参与方公钥PKi和参与方私钥SKi;参与方私钥SKi存储于TEE内核中,通过构建公钥注册交易并基于共识算法将参与方公钥PKi以一一对应的<公钥,公钥哈希散列>表的形式更新并存储于身份认证链中;其中,i=1,2,3,……;
步骤S12、身份认证链创建一对用于识别身份认证链身份的公私钥对,即身份链公钥PK0和身份链私钥SK0;身份链私钥SK0存储于TEE内核中,身份链公钥PK0通过跨链技术公布于公共主链和业务链处;
步骤S13、通过<公钥,公钥哈希散列>表访问所有身份认证链参与方的参与方公钥PKi,采用每个身份认证链参与方的参与方公钥PKi对身份链私钥SK0进行加密以形成一一对应的<公钥哈希散列,加密身份链私钥>列表;<公钥哈希散列,加密身份链私钥>列表通过共享内存供非安全空间访问,并通过共识算法更新并存储于身份认证链处;
步骤S2、业务链证书管理步骤
该步骤中,包括证书创建、证书签发、证书更新和证书撤销。
本实施例的步骤S1中,通过步骤S11使得身份认证链的参与方能够较佳地在安全硬件TEE中生成符合标准的公钥私钥对,从而能够较佳地借助安全硬件TEE的环境保障公钥私钥对生成的安全性;通过步骤S12,能够较佳地在TEE安全内核创建一对用于识别身份认证链身份的公私钥对,身份链公钥PK0能够公布于公共主链和业务链处,通过采用身份链私钥SK0对业务链用户的证书进行签名,使得业务链中的参与方能够采用身份链公钥PK0对业务链用户的证书进行验证,从而能够较佳实现身份认证链对业务链用户的证书的背书;通过步骤S13,使得身份认证链的参与方能够较佳地获取身份链私钥SK0,从而能够较佳地实现对业务链用户的证书的签名。
本实施例中,通过步骤S2,能够较佳地实现对业务链用户证书的管理。
本实施例中,步骤S1中,在身份认证链处设置一个参与方数量阈值N,在身份认证链的参与方数量未超过N时,仅进行步骤S11;在身份认证链的参与方数量超过N时,依次进行步骤S11、步骤S12和S13。
可以理解的是,作为区块链的特性之一,其参与方的数量越多则链上数据篡改的代价越高,也即参与方的数量越多则数据的权威性越高。本实施例中,通过主动设置一个参与方数量阈值N,使得只有当身份认证链处的参与方数量达到设定值时,身份认证链才会对业务链用户的证书进行如签发、更新及撤销等操作,从而能够较佳地保证身份认证链处的安全等级。本领域技术人员应当理解的是,N的数值越高,则安全性越高,N的设置能够根据实际要求进行设置。
本实施例中,在设置了参与方数量阈值N后,在身份认证链的参与方数量未超过N时,身份认证链的参与方仅能进行公钥注册交易也即步骤S11,其中根据公钥注册交易的数量即可较佳地对参与方数量进行识别。
其中,对于第N+1个参与方,首先进行步骤S11创建一对用于识别该第N+1个参与方的公私钥对参与方公钥PKN+1和参与方私钥SKN+1;之后进行步骤S12,创建身份链公钥PK0和身份链私钥SK0,身份链公钥PK0公钥公布于身份认证链上并通过跨链技术公布于公共主链和业务链上;之后进行步骤S13,在TEE内核访问第1至第N+1个参与方的参与方公钥PKi,采用每个参与方的参与方公钥PKi对身份链私钥SK0进行加密并形成<公钥哈希散列,加密身份链私钥>列表,同时将列表结果通过共享内存供非安全空间访问,经过共识存储于身份认证链上。
其中,对于后续加入的参与方(如第N+2个及之后的参与方),依次进行步骤S11-S13,并通过共识算法对<公钥,公钥哈希散列>表和<公钥哈希散列,加密身份链私钥>列表进行更新,从而使得每个身份认证链的参与方均能够通过访问<公钥哈希散列,加密身份链私钥>列表获取与自己的公钥相匹配的加密的身份链私钥SK0,通过自己的公钥在TEE内核进行解密即可较佳地获取身份链私钥SK0。
本实施例中,步骤S11和步骤S13中的共识算法采用基于更新时间的共识算法(PoUT,Proof of Update Time),身份认证链处在有新的参与方加入并发起公钥注册交易时,新的参与方向TEE可信硬件区域申请随机计时器;
每个既有参与方根据身份认证链处存放的<公钥,公钥哈希散列>表和<公钥哈希散列,加密身份链私钥>列表,依据新的参与方的参与方公钥PKi更新<公钥,公钥哈希散列>表,若<公钥,公钥哈希散列>表发生变化,则使用自身的参与方私钥SKi对加密身份链私钥进行解密以获取身份链私钥SK0,并采用新的参与方的参与方公钥PKi对身份链私钥SK0进行加密以完成<公钥哈希散列,加密身份链私钥>列表的更新;若上述操作在随机计时器到期前完成,则以第一个完成更新的既有参与方作为胜出者,并通过胜出者将更新结果传播至身份认证链中;若上述操作未在随机计时器到期前完成,则新的参与方重新申请随机计时器并进行列表更新直至有胜出者。
本实施例中,通过设计基于更新时间的共识算法能够较高效地实现证书的签发、撤销和更新等操作。其中随机计时器是TEE硬件标配。
本实施例中。步骤S2中的证书创建步骤具体包括如下步骤,
步骤S211、业务链中的用户在TEE内核中根据物理地址addrmac、互联网协议地址IP、申请时间戳tc和随机数numran生成符合标准的公私钥对,即用户公钥PubK和用户私钥PriK;
步骤S212、将用户私钥PriK存储于TEE安全空间内且外部不可访问,通过用户公钥PubK创建符合国际X.509标准格式的用户证书Certificate;
步骤S213、将用户公钥PubK和用户证书Certificate发送给身份认证链请求背书。
本实施中,通过步骤S211-S213,使得业务链中的用户能够依赖可信硬件环境TEE获取公私钥对,从而能够较佳地保障公私钥对的安全性。
其中,证书创建采用的算法能够如下:
上述算法中,“//”左侧为代码原文,“//”为代码注释,下同。
本实施例中,步骤S2中的证书签发包括如下步骤,
步骤S221、身份认证链接收到用户公钥PubK和用户证书Certificate后,对用户证书Certificate的合法性进行检测,若用户证书Certificate满足国际X.509标准,则使用身份链私钥SK0对用户证书Certificate进行签名以获取签名用户证书Certificatesign,同时对证书可用性状态表Certificatetable进行更新;
步骤S222、身份认证链中的参与方基于共识算法将签名用户证书Certificatesign和证书可用性状态表Certificatetable进行全网公布。
本实施例中,通过步骤S221和步骤S222,能够较佳地实现证书的签发。其中,步骤S222中的共识算法能够采用上述的基于更新时间的共识算法,从而能够较为高效地实现证书签发。
其中,证书签发采用的算法能够如下:
本实施例中,步骤S2中的证书更新包括如下步骤,
步骤S231、业务链中的用户向身份认证链发起更新证书请求,更新证书请求包括更新指令、经用户公钥PubK创建的新证书、经用户私钥PriK签名的原用户证书Certificate和身份认证链签发的原签名用户证书Certificatesign;
步骤S232、身份认证链采用用户公钥PubK对经用户私钥PriK签名的原用户证书Certificate进行验证,并采用身份链公钥PK0对身份认证链签发的原签名用户证书Certificatesign进行验证,若而这验证结果比对一致,则进行下一步,否则不执行证书更新请求;
步骤S233、身份认证链签发新签名用户证书Certificatenew.sign(),同时将新签名用户证书Certificatenew.sign()与原签名用户证书Certificatesign进行关联,并将原签名用户证书Certificatesign撤销,之后对证书可用性状态表Certificatetable进行更新;
步骤S234、身份认证链中的参与方基于共识算法将新签名用户证书Certificatesign和更新后的证书可用性状态表Certificatetable进行全网公布。
本实施例中,通过步骤S231-S234,能够较佳地实现证书的更新。其中,步骤S234中的共识算法能够采用上述的基于更新时间的共识算法,从而能够较为高效地实现证书更新。
其中,证书更新采用的算法能够如下:
本实施例中,步骤S2中的证书撤销包括如下步骤,
步骤S241、业务链中的用户向身份认证链发起撤销证书请求,撤销证书请求包括撤销指令、经用户私钥PriK签名的用户证书Certificate和身份认证链签发的签名用户证书Certificatesign;
步骤S242、身份认证链通过用户公钥PubK和身份链公钥PK0分别对经用户私钥PriK签名的用户证书Certificate和身份认证链签发的签名用户证书Certificatesign进行验证,若验证结果比对一致则进行下一步,否则不执行证书撤销请求;
步骤S243、身份认证链撤销签名用户证书Certificatesign同时更新证书可用性状态表Certificatetable;
步骤244、身份认证链中的参与方基于共识算法将新签名用户证书Certificatesign和更新后的证书可用性状态表Certificatetable进行全网公布。
本实施例中,通过步骤S241-S244,能够较佳地实现证书的撤销。其中,步骤S244中的共识算法能够采用上述的基于更新时间的共识算法,从而能够较为高效地实现证书更新。
其中,证书撤销采用的算法能够如下:
本实施例中,所提出的PoUT共识算法是基于安全硬件TEE内核计数器设计得到,在身份认证链进行节点身份管理时,共识算法会有部分计算量,在对证书管理结果进行共识时会退化为Intel公司基于TEE安全内核提出的基于时间消耗的共识算法(PoET,Proof ofelapsed time)。基于硬件内核的共识算法共识效率高,适用于证书认证的交互式应用场景。
本实施例中,通过身份认证链结可信硬件TEE技术处理重要数据并基于TEE提出PoUT共识算法,较佳地增强了链上身份数据的安全性,提高身份认证效率,解决中心化身份认证问题。
以上示意性的对本发明及其实施方式进行了描述,该描述没有限制性,附图中所示的也只是本发明的实施方式之一,实际的结构并不局限于此。所以,如果本领域的普通技术人员受其启示,在不脱离本发明创造宗旨的情况下,不经创造性的设计出与该技术方案相似的结构方式及实施例,均应属于本发明的保护范围。
Claims (7)
1.一种基于区块链通证的身份认证方法,其在公共主链处设置单独的身份认证链,身份认证链用于对公共主链处的业务链的用户的证书进行管理,且业务链和身份认证链均部署在搭载TEE硬件的环境中;
身份认证链对业务链的用户的证书的管理包括如下步骤,
步骤S1、身份认证链管理步骤
步骤S11、身份认证链的参与方在TEE内核中生成符合标准的公私钥对,即参与方公钥PKi和参与方私钥SKi;参与方私钥SKi存储于TEE内核中,通过构建公钥注册交易并基于共识算法将参与方公钥PKi以一一对应的<公钥,公钥哈希散列>表的形式更新并存储于身份认证链中;其中,i=1,2,3,……;
步骤S12、身份认证链创建一对用于识别身份认证链身份的公私钥对,即身份链公钥PK0和身份链私钥SK0;身份链私钥SK0存储于TEE内核中,身份链公钥PK0通过跨链技术公布于公共主链和业务链处;
步骤S13、通过<公钥,公钥哈希散列>表访问所有身份认证链参与方的参与方公钥PKi,采用每个身份认证链参与方的参与方公钥PKi对身份链私钥SK0进行加密以形成一一对应的<公钥哈希散列,加密身份链私钥>列表;<公钥哈希散列,加密身份链私钥>列表通过共享内存供非安全空间访问,并通过共识算法更新并存储于身份认证链处;
步骤S2、业务链证书管理步骤
该步骤中,包括证书创建、证书签发、证书更新和证书撤销;
步骤S1中,在身份认证链处设置一个参与方数量阈值N,在身份认证链的参与方数量未超过N时,仅进行步骤S11;在身份认证链的参与方数量超过N时,依次进行步骤S11、步骤S12和S13;
步骤S11和步骤S13中的共识算法采用基于更新时间的共识算法,身份认证链处在有新的参与方加入并发起公钥注册交易时,新的参与方向TEE可信硬件区域申请随机计时器;
每个既有参与方根据身份认证链处存放的<公钥,公钥哈希散列>表和<公钥哈希散列,加密身份链私钥>列表,依据新的参与方的参与方公钥PKi更新<公钥,公钥哈希散列>表,若<公钥,公钥哈希散列>表发生变化,则使用自身的参与方私钥SKi对加密身份链私钥进行解密以获取身份链私钥SK0,并采用新的参与方的参与方公钥PKi对身份链私钥SK0进行加密以完成<公钥哈希散列,加密身份链私钥>列表的更新;
若上述共识算法的操作在随机计时器到期前完成,则以第一个完成更新的既有参与方作为胜出者,并通过胜出者将更新结果传播至身份认证链中;若上述共识算法的操作未在随机计时器到期前完成,则新的参与方重新申请随机计时器并进行列表更新直至有胜出者。
2.根据权利要求1所述的一种基于区块链通证的身份认证方法,其特征在于:步骤S2中的证书创建步骤具体包括如下步骤,
步骤S211、业务链中的用户在TEE内核中根据物理地址addrmac、互联网协议地址IP、申请时间戳tc和随机数numran生成符合标准的公私钥对,即用户公钥PubK和用户私钥PriK;
步骤S212、将用户私钥PriK存储于TEE安全空间内且外部不可访问,通过用户公钥PubK创建符合国际X.509标准格式的用户证书Certificate;
步骤S213、将用户公钥PubK和用户证书Certificate发送给身份认证链请求背书。
3.根据权利要求2所述的一种基于区块链通证的身份认证方法,其特征在于:步骤S2中的证书签发包括如下步骤,
步骤S221、身份认证链接收到用户公钥PubK和用户证书Certificate后,对用户证书Certificate的合法性进行检测,若用户证书Certificate满足国际X.509标准,则使用身份链私钥SK0对用户证书Certificate进行签名以获取签名用户证书Certificatesign,同时对证书可用性状态表Certificatetable进行更新;
步骤S222、身份认证链中的参与方基于共识算法将签名用户证书Certificatesign和证书可用性状态表Certificatetable进行全网公布。
4.根据权利要求3所述的一种基于区块链通证的身份认证方法,其特征在于:步骤S2中的证书更新包括如下步骤,
步骤S231、业务链中的用户向身份认证链发起更新证书请求,更新证书请求包括更新指令、经用户公钥PubK创建的新证书、经用户私钥PriK签名的原用户证书Certificate和身份认证链签发的原签名用户证书Certificatesign;
步骤S232、身份认证链采用用户公钥PubK对经用户私钥PriK签名的原用户证书Certificate进行验证,并采用身份链公钥PK0对身份认证链签发的原签名用户证书Certificatesign进行验证,若而这验证结果比对一致,则进行下一步,否则不执行证书更新请求;
步骤S233、身份认证链签发新签名用户证书Certificatenew.sign(),同时将新签名用户证书Certificatenew.sign()与原签名用户证书Certificatesign进行关联,并将原签名用户证书Certificatesign撤销,之后对证书可用性状态表Certificatetable进行更新;
步骤S234、身份认证链中的参与方基于共识算法将新签名用户证书Certificatesign和更新后的证书可用性状态表Certificatetable进行全网公布。
5.根据权利要求4所述的一种基于区块链通证的身份认证方法,其特征在于:步骤S2中的证书撤销包括如下步骤,
步骤S241、业务链中的用户向身份认证链发起撤销证书请求,撤销证书请求包括撤销指令、经用户私钥PriK签名的用户证书Certificate和身份认证链签发的签名用户证书Certificatesign;
步骤S242、身份认证链通过用户公钥PubK和身份链公钥PK0分别对经用户私钥PriK签名的用户证书Certificate和身份认证链签发的签名用户证书Certificatesign进行验证,若验证结果比对一致则进行下一步,否则不执行证书撤销请求;
步骤S243、身份认证链撤销签名用户证书Certificatesign同时更新证书可用性状态表Certificatetable;
步骤244、身份认证链中的参与方基于共识算法将新签名用户证书Certificatesign和更新后的证书可用性状态表Certificatetable进行全网公布。
6.一种基于区块链通证的身份认证系统,用于实现权利要求1-5中任一所述的一种基于区块链通证的身份认证方法,其特征在于:包括公共主链、业务链和身份认证链,公共主链具有多个扩展接口用于与业务链和身份认证链进行交互,每条业务链用于负责同一主题的业务,身份认证链用于对业务链中所有用户的证书进行管理;其中,业务链和身份认证链均部署在搭载TEE硬件的环境中。
7.根据权利要求6所述的一种基于区块链通证的身份认证系统,其特征在于:身份认证链采取联盟链形式,身份认证链中的节点由业务链中的用户推选而出。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011077020 | 2020-10-10 | ||
CN2020110770200 | 2020-10-10 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112396421A CN112396421A (zh) | 2021-02-23 |
CN112396421B true CN112396421B (zh) | 2023-12-12 |
Family
ID=74625082
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011492586.XA Active CN112396421B (zh) | 2020-10-10 | 2020-12-17 | 一种基于区块链通证的身份认证系统及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112396421B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113660632B (zh) * | 2021-06-29 | 2023-10-27 | 国家计算机网络与信息安全管理中心 | 一种基于区块链的v2x身份管理方法及管理系统 |
CN113382025B (zh) * | 2021-08-12 | 2021-10-08 | 环球数科集团有限公司 | 一种在通证交换的过程中对使用者身份的检验方法 |
CN114978668B (zh) * | 2022-05-19 | 2023-05-02 | 中国人民大学 | 一种跨链数据实体身份管理和认证方法及系统 |
CN117692151A (zh) * | 2024-02-02 | 2024-03-12 | 杭州天谷信息科技有限公司 | 基于服务网络的通证撤销方法和通信方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109286678A (zh) * | 2018-10-30 | 2019-01-29 | 刘国勋 | 完全去中心化和闭环的区块链群生态系统及可读存储介质 |
CN111353175A (zh) * | 2020-05-22 | 2020-06-30 | 腾讯科技(深圳)有限公司 | 数据处理方法、装置、设备、区块链系统及存储介质 |
CN111461723A (zh) * | 2020-04-17 | 2020-07-28 | 支付宝(杭州)信息技术有限公司 | 基于区块链的数据处理系统及方法、装置 |
-
2020
- 2020-12-17 CN CN202011492586.XA patent/CN112396421B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109286678A (zh) * | 2018-10-30 | 2019-01-29 | 刘国勋 | 完全去中心化和闭环的区块链群生态系统及可读存储介质 |
CN111461723A (zh) * | 2020-04-17 | 2020-07-28 | 支付宝(杭州)信息技术有限公司 | 基于区块链的数据处理系统及方法、装置 |
CN111353175A (zh) * | 2020-05-22 | 2020-06-30 | 腾讯科技(深圳)有限公司 | 数据处理方法、装置、设备、区块链系统及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN112396421A (zh) | 2021-02-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106789090B (zh) | 基于区块链的公钥基础设施系统及半随机联合证书签名方法 | |
CN112396421B (zh) | 一种基于区块链通证的身份认证系统及方法 | |
CN110603783B (zh) | 采用可信硬件的安全动态阈值签名方案 | |
CN106411901B (zh) | 一种数字身份标识管理方法及系统 | |
JP6285454B2 (ja) | エンティティ・ネットワーク・トランスレーション(ent) | |
CN100546245C (zh) | 跨安全域的网络认证和密钥分配方法 | |
US6230266B1 (en) | Authentication system and process | |
JP4800624B2 (ja) | 暗号鍵を入れ替えるためのシステム、装置及び方法 | |
CN101090316B (zh) | 离线状态下存储卡与终端设备之间的身份认证方法 | |
CN101212293B (zh) | 一种身份认证方法及系统 | |
CN109963282B (zh) | 在ip支持的无线传感网络中的隐私保护访问控制方法 | |
CN109150539A (zh) | 一种基于区块链的分布式ca认证系统、方法及装置 | |
KR102177794B1 (ko) | 사물인터넷 블록체인 환경에서의 디바이스 분산 인증 방법 및 이를 이용한 디바이스 분산 인증 시스템 | |
JP2006115502A (ja) | ポータブルセキュリティトークン使用型認証機関間相互認証方法及び装置 | |
JP2017157910A (ja) | 電子抽選システム及び電子抽選方法 | |
CN111444492A (zh) | 一种基于医疗区块链的数字身份验证的方法 | |
JP6742558B2 (ja) | 認証システムおよび認証プログラム | |
JP2010231404A (ja) | 秘密情報管理システム、秘密情報管理方法、および秘密情報管理プログラム | |
CN113468570A (zh) | 基于智能合约的隐私数据共享方法 | |
JP6742557B2 (ja) | 認証システム | |
Boontaetae et al. | RDI: Real digital identity based on decentralized PKI | |
JP2009212689A (ja) | 共通鍵自動配布システム、クライアント、第三者認証機関側サーバ、及び共通鍵自動共有方法 | |
Ray et al. | Design of mobile-PKI for using mobile phones in various applications | |
Palomar et al. | Secure content access and replication in pure p2p networks | |
CN116015669A (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 |