一种基于区块链技术的跨域单点登录访问方法及系统技术方案

技术编号:33071396 阅读:38 留言:0更新日期:2022-04-15 10:05
本发明专利技术公开了一种基于区块链技术的跨域单点登录访问方法及系统,包括:响应于用户的资源事件请求,获取第一资源事件;其中,所述第一资源事件为经过用户使用对应的身份证书进行签名,且使用对应的交易证书进行加密的资源事件;根据所述第一资源事件识别到的用户所在的源通道ID,调用源通道内的源通道锚节点验证用户的访问资源是否为所述源通道的访问资源,若验证到用户的访问资源是非所述源通道的访问资源,根据识别到的目标通道ID,调用目标通道的目标通道锚节点进行跨域资源访问;采用本发明专利技术实施例能够减少跨域访问系统瓶颈、受入侵后跨域访问系统破坏面大的情况,同时保证了域内服务和资源的访问不受整体区块链系统的影响。响。响。

【技术实现步骤摘要】
一种基于区块链技术的跨域单点登录访问方法及系统


[0001]本专利技术涉及计算机
,尤其涉及一种基于区块链技术的跨域单点登录访问方法及系统。

技术介绍

[0002]随着网络系统的规模应用不断扩大,各种服务和资源被置于不同的域中,通过域的划分和管理,可以使用户在各自的信任域中存取各自的服务和资源,在同一个域中的访问权限一般是统一的。但是越来越多的应用需要为不同域用户提供不同需求的服务和资源,这种不在同一信任域中的访问资源的方式就涉及到跨域访问。
[0003]传统的跨域访问中,采用集中式的中介或代理来对其他域访问权进行授权,以在认证授权通过后进行跨域访问,然而,集中式认证授权容易出现跨域访问系统瓶颈、受入侵后跨域访问系统破坏面大的情况。

技术实现思路

[0004]本专利技术实施例的目的是提供一种基于区块链技术的跨域单点登录访问方法及系统,通过将各通道的通道锚节点作为中介和代理授权服务器,能够减少跨域访问系统瓶颈、受入侵后跨域访问系统破坏面大的情况,同时保证了域内服务和资源的访问不受整体区块链系统的影响,认证和授权效率高。
[0005]为实现上述目的,本专利技术实施例提供了一种基于区块链技术的跨域单点登录访问方法,包括:响应于用户的资源事件请求,获取第一资源事件;其中,所述第一资源事件为经过用户使用对应的身份证书进行签名,且使用对应的交易证书进行加密的资源事件;根据所述第一资源事件识别到的用户所在的源通道ID,调用源通道内的源通道锚节点验证用户的访问资源是否为所述源通道的访问资源,若验证到用户的访问资源是非所述源通道的访问资源,根据识别到的目标通道ID,调用目标通道的目标通道锚节点进行跨域资源访问;其中,所述跨域资源访问具体包括:所述目标通道锚节点验证所述源通道锚节点发送来的第二资源事件的真实性和正确性,在验证通过后解析所述第二资源事件,获得解析后的第二资源事件;其中,所述第二资源事件为经过所述源通道锚节点使用对应的身份证书进行签名的资源事件;所述目标通道锚节点根据解析后的第二资源事件,在全域区块链授权信息账本上检索目标域区块链授权信息账本,通过对比所述目标域区块链授权信息账本与解析后的第二资源事件,判断所述目标域区块链授权信息账本的授权信息是否符合访问策略,若符合访问策略,向所述目标通道的目标资源服务器发送服务请求,以使所述目标资源服务器生成目标域Token,并将所述目标域Token返回给所述目标通道锚节点;其中,所述全域区块链授权信息账本存储有各域区块链的授权信息账本,所述服务请求为经过所述目标通道锚节
点使用对应的身份证书进行签名的服务请求,所述目标域Token为带有时间戳的Token;所述目标通道锚节点将所述第二资源事件和所述目标域Token进行打包签名,执行部署在所述目标通道上的链码,并在经过验证、排序后提交到所述全域区块链授权信息账本,以使所述目标通道的各交易节点更新授权信息账本;所述目标通道锚节点将所述目标域Token进行加密签名后发送给用户,以使用户通过加密签名后的目标域Token进行跨域资源访问。
[0006]作为上述方案的改进,所述若验证到用户的访问资源是非所述源通道的访问资源,根据识别到的目标通道ID,调用目标通道的目标通道锚节点进行跨域资源访问,具体包括:所述源通道锚节点若验证到用户的访问资源是非所述源通道的访问资源,生成第三资源事件;其中,所述第三资源事件为经过所述源通道锚节点使用对应的身份证书私钥进行签名,且使用对应的交易证书私钥进行加密后附上签名信息的资源事件;所述源通道锚节点解析所述第三资源事件以验证用户的真实性,根据验证通过后的第三资源事件识别目标通道ID,向目标通道内的目标通道锚节点发送第三资源事件,以调用所述目标通道锚节点进行跨域资源访问;其中,所述第三资源事件为经过所述源通道锚节点使用对应的身份证书进行签名的资源事件。
[0007]作为上述方案的改进,所述目标资源服务器生成目标域Token,并将所述目标域Token返回给所述目标通道锚节点,具体包括:所述目标资源服务器验证收到的所述服务请求的真实性和正确性,在验证通过后,生成目标域Token,并将所述目标域Token返回给所述目标通道锚节点。
[0008]作为上述方案的改进,所述基于区块链技术的跨域单点登录访问方法,还包括:所述源通道锚节点若验证到用户的访问资源是所述源通道的访问资源,进行域内资源访问;其中,所述域内资源访问具体包括:所述源通道锚节点根据位于所述源通道内的源域区块链授权信息账本验证用户是否具有访问所述源通道内资源的权限,若是,向用户发送源域Token,以使用户通过所述源域Token进行域内资源访问;其中,所述源域Token为带有时间戳的Token;所述源通道锚节点将所述第一资源事件和所述源域Token进行打包签名,执行部署在所述源通道上的链码,并在经过验证、排序后提交到所述源域区块链授权信息账本,以使所述源通道的各交易节点更新授权信息账本。
[0009]作为上述方案的改进,在所述响应于用户的资源事件请求,获取第一资源事件之前,所述基于区块链技术的跨域单点登录访问方法还包括:响应于用户的注册请求,将经过系统管理员审核通过的注册信息及注册成功信息发送给用户,以使用户根据所述注册信息进行登录;在判断到用户根据所述注册信息成功登录时,响应于用户的申请证书请求,返回用户身份证书、交易证书和属性证书;其中,所述属性证书包括系统管理员授予用户对资源访问的授权信息。
[0010]作为上述方案的改进,通过以下步骤将授权信息存储于每个通道的区块链上:用户所在通道的背书节点根据接收到的经过加密并签名的授权信息查看是否具
有通道操作权限,若查看到具有通道权限,对加密并签名过的授权信息进行解密,以验证签名的正确性;所述背书节点通过对比哈希值查看经加密并签名过的授权信息是否正确,若正确,将签名验证通过的授权信息加上背书节点的ID并使用对应的交易证书签名后提交给对应的排序节点,并反馈成功信息给用户;所述背书节点基于背书策略,当判断到授权信息记录达到预设的背书节点数时,将交易提案的参数作为输入,在当前状态数据库上执行模拟交易,并使交易处于挂起状态,生成交易结果,以基于所述交易结果,将签名验证通过的授权信息发送给对应的排序节点;排序节点接收到用户广播的所述交易提案和所述交易结果,按通道分类和时间戳先后顺序对所述交易提案进行排序,并为每个通道创建包含交易的区块;其中,所述交易提案中包含背书节点的签名结果和通道标识;所述排序节点将区块发送到所述排序节点所在通道上的所有节点,以在通过共识过程后,验证节点验证交易提案,并将验证过的交易提案提交到所述排序节点所在通道的提交节点;所述提交节点根据所述签名结果查看区块的结构是否完整或被篡改过,并确认交易是否符合背书策略,若验证到区块结构完整、区块结构未被篡改且交易符合背书策略,将新产生的授权信息区块追加到对应的提交节点所在的授权信息账本记录上,并将预设的消息广播给链上各记账节点,以使链上各记账节点进行授权信息账本的更新,并根据更新后的授权信息账本更新全域区块链授权信息本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于区块链技术的跨域单点登录访问方法,其特征在于,包括:响应于用户的资源事件请求,获取第一资源事件;其中,所述第一资源事件为经过用户使用对应的身份证书进行签名,且使用对应的交易证书进行加密的资源事件;根据所述第一资源事件识别到的用户所在的源通道ID,调用源通道内的源通道锚节点验证用户的访问资源是否为所述源通道的访问资源,若验证到用户的访问资源是非所述源通道的访问资源,根据识别到的目标通道ID,调用目标通道的目标通道锚节点进行跨域资源访问;其中,所述跨域资源访问具体包括:所述目标通道锚节点验证所述源通道锚节点发送来的第二资源事件的真实性和正确性,在验证通过后解析所述第二资源事件,获得解析后的第二资源事件;其中,所述第二资源事件为经过所述源通道锚节点使用对应的身份证书进行签名的资源事件;所述目标通道锚节点根据解析后的第二资源事件,在全域区块链授权信息账本上检索目标域区块链授权信息账本,通过对比所述目标域区块链授权信息账本与解析后的第二资源事件,判断所述目标域区块链授权信息账本的授权信息是否符合访问策略,若符合访问策略,向所述目标通道的目标资源服务器发送服务请求,以使所述目标资源服务器生成目标域Token,并将所述目标域Token返回给所述目标通道锚节点;其中,所述全域区块链授权信息账本存储有各域区块链的授权信息账本,所述服务请求为经过所述目标通道锚节点使用对应的身份证书进行签名的服务请求,所述目标域Token为带有时间戳的Token;所述目标通道锚节点将所述第二资源事件和所述目标域Token进行打包签名,执行部署在所述目标通道上的链码,并在经过验证、排序后提交到所述全域区块链授权信息账本,以使所述目标通道的各交易节点更新授权信息账本;所述目标通道锚节点将所述目标域Token进行加密签名后发送给用户,以使用户通过加密签名后的目标域Token进行跨域资源访问。2.如权利要求1所述的基于区块链技术的跨域单点登录访问方法,其特征在于,所述若验证到用户的访问资源是非所述源通道的访问资源,根据识别到的目标通道ID,调用目标通道的目标通道锚节点进行跨域资源访问,具体包括:所述源通道锚节点若验证到用户的访问资源是非所述源通道的访问资源,生成第三资源事件;其中,所述第三资源事件为经过所述源通道锚节点使用对应的身份证书私钥进行签名,且使用对应的交易证书私钥进行加密后附上签名信息的资源事件;所述源通道锚节点解析所述第三资源事件以验证用户的真实性,根据验证通过后的第三资源事件识别目标通道ID,向目标通道内的目标通道锚节点发送第三资源事件,以调用所述目标通道锚节点进行跨域资源访问;其中,所述第三资源事件为经过所述源通道锚节点使用对应的身份证书进行签名的资源事件。3.如权利要求1所述的基于区块链技术的跨域单点登录访问方法,其特征在于,所述目标资源服务器生成目标域Token,并将所述目标域Token返回给所述目标通道锚节点,具体包括:所述目标资源服务器验证收到的所述服务请求的真实性和正确性,在验证通过后,生成目标域Token,并将所述目标域Token返回给所述目标通道锚节点。4.如权利要求1所述的基于区块链技术的跨域单点登录访问方法,所述基于区块链技
术的跨域单点登录访问方法,还包括:所述源通道锚节点若验证到用户的访问资源是所述源通道的访问资源,进行域内资源访问;其中,所述域内资源访问具体包括:所述源通道锚节点根据位于所述源通道内的源域区块链授权信息账本验证用户是否具有访问所述源通道内资源的权限,若是,向用户发送源域Token,以使用户通过所述源域Token进行域内资源访问;其中,所述源域Token为带有时间戳的Token;所述源通道锚节点将所述第一资源事件和所述源域Token进行打包签名,执行部署在所述源通道上的链码,并在经过验证、排序后提交到所述源域区块链授权...

【专利技术属性】
技术研发人员:李军周凌云罗宇恒刘良斌陈晓佳卢琰李海威
申请(专利权)人:广东省科技基础条件平台中心
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1