一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

基于区块链的数据访问授权方法、装置、设备及存储介质与流程

2021-11-25 00:59:00 来源:中国专利 TAG:


1.本发明涉及区块链的账本使用管理技术领域,尤其涉及一种基于区块链的数据访问授权方法、装置、设备及存储介质。


背景技术:

2.目前我国多省市均已实现电子健康档案数据共享,但在已建成电子健康档案的省市中仍存在电子健康档案难以集中统一、利用率低以及安全隐私保护不到位等问题。随着智慧医疗冶建设的不断深入,利用新技术解决数据共享效率和安全性问题已成为当下电子健康档案管理与应用研究的关键问题。
3.现有的协调诊所、医院、实验室、制药厂和保险公司之间医疗数据共享机制效果不佳,所有涉事方数据的清单,或者一份表明数据访问次序清单对应的数据标准并不统一,也就是,每一份电子健康档案都采用了不同的工作流进行数据储存。
4.在主流区块链技术中,以太坊 公有链的形式中,应用节点只能访问自己密钥对应的账本内容,而超级账本 联盟链的形式中,只有链上的超级节点才能赋予背书信用,这就使得在实际的医疗健康管理场景中,无法实现每个普通用户对任意应用节点进行授权操作,即使可以成功执行授权操作,也需要普通用户将自身的密钥提供给被授权对象(例如,医生),但是这种授权行为是不可追溯的,很容易被篡改。


技术实现要素:

5.本发明提供了一种基于区块链的数据访问授权方法、装置、设备及存储介质,用于确保授权行为的身份有效性,以及提高用户访问授权行为的安全性和可追溯性。
6.为实现上述目的,本发明第一方面提供了一种基于区块链的数据访问授权方法,包括:接收目标终端发送的用户信息注册请求,并按照所述用户信息注册请求将目标用户信息存储至预设的电子档案系统中,得到目标用户对应的区块链密钥,所述目标终端包括普通用户终端和医生用户终端;接收所述普通用户终端发送的健康码获取请求,按照所述健康码获取请求生成健康码,并将所述健康码返回至所述普通用户终端,所述健康码获取请求包括用户标识;当所述医生用户终端扫描所述普通用户终端展示的健康码,且所述普通用户终端确认所述医生用户终端发送的授权请求时,获取所述普通用户终端发送的签名授权信息,并按照所述签名授权信息对所述健康码进行校验,得到校验结果,所述签名授权信息携带所述区块链密钥、所述用户标识和医生标识;当所述校验结果为校验成功时,确定对所述医生用户终端授权成功,将授权过程中的所有操作数据记录至区块链账本中,并将普通用户终端的电子档案地址发送至所述医生用户终端;当所述校验结果为校验失败时,确定对所述医生用户终端授权失败,并向所述医生用户终端返回授权失败提醒信息。
7.可选的,在本发明第一方面的第一种实现方式中,所述接收目标终端发送的用户信息注册请求,并按照所述用户信息注册请求将目标用户信息存储至预设的电子档案系统中,得到目标用户对应的区块链密钥,包括:接收目标终端发送的用户信息注册请求,对所
述用户信息注册请求依次进行参数解析、身份验证和数据验证处理,得到目标用户信息,所述目标用户信息包括用户医疗数据;将所述目标用户信息写入至所述电子档案系统对应的区块链网络中,并按照预设的密钥生成算法对所述目标用户信息进行密钥生成运算,得到目标用户对应的区块链密钥对;从所述区块链密钥对中提取区块链密钥和区块链公钥,将所述区块链密钥和所述区块链公钥存储至所述区块链网络中,并将所述区块链密钥发送至所述目标终端,所述区块链密钥和所述区块链公钥存在一一对应关系。
8.可选的,在本发明第一方面的第二种实现方式中,所述接收所述普通用户终端发送的健康码获取请求,按照所述健康码获取请求生成健康码,并将所述健康码返回至所述普通用户终端,所述健康码获取请求包括用户标识,包括:接收所述普通用户终端发送的健康码获取请求,从所述健康码获取请求中提取用户标识;根据所述用户标识从所述区块链网络中读取所述区块链密钥对应的区块链公钥;基于所述用户标识、所述区块链公钥和当前时刻生成健康码,并将所述健康码返回至所述普通用户终端。
9.可选的,在本发明第一方面的第三种实现方式中,所述基于所述用户标识、所述区块链公钥和当前时刻生成健康码,并将所述健康码返回至所述普通用户终端,包括:获取当前时刻的时间戳,并对所述区块链公钥与所述当前时刻的时间戳进行组合,得到已组合的字符串;通过预设的哈希算法对所述已组合的字符串计算组合哈希值;按照所述用户标识和所述组合哈希值生成图形标识码,将所述图形标识码作为健康码,并将所述健康码返回至所述普通用户终端。
10.可选的,在本发明第一方面的第四种实现方式中,所述当所述医生用户终端扫描所述普通用户终端展示的健康码,且所述普通用户终端确认所述医生用户终端发送的授权请求时,获取所述普通用户终端发送的签名授权信息,并按照所述签名授权信息对所述健康码进行校验,得到校验结果,所述签名授权信息携带所述区块链密钥、所述用户标识和医生标识,包括:当所述医生用户终端扫描所述普通用户终端展示的健康码,且所述普通用户终端确认所述医生用户终端发送的授权请求时,接收所述普通用户终端发送的签名授权信息校验请求,从所述签名授权信息校验请求中提取并验证所述签名授权信息,得到验证结果,所述签名授权信息携带所述区块链密钥、所述用户标识和医生标识;当所述验证结果为验证通过时,按照所述用户标识获取所述医生用户终端扫描的健康码,并从所述健康码中读取组合哈希值和所述用户标识;根据所述用户标识和所述区块链密钥确定所述普通用户终端对应的区块链公钥,并通过所述普通用户终端对应的区块链公钥对所述组合哈希值进行验签处理,得到验签结果;当所述验签结果为验签成功时,按照所述医生标识获取医生用户终端对应的区块链密钥,并基于所述电子档案系统对所述医生用户终端对应的区块链密钥进行信息校验,得到校验结果。
11.可选的,在本发明第一方面的第五种实现方式中,所述当所述校验结果为校验成功时,确定对所述医生用户终端授权成功,将授权过程中的所有操作数据记录至区块链账本中,并将普通用户终端的电子档案地址发送至医生用户终端,包括:当所述校验结果为校验成功时,确定对所述医生用户终端授权成功,并基于授权过程中的所有操作数据设置智能合约;将所述智能合约存储至区块链账本中,并通过所述区块链账本将所述授权过程中的所有操作数据共享至所述区块链网络中全部应用节点;根据所述用户标识查询普通用户终端的电子档案地址,并将所述普通用户终端的电子档案地址发送至所述医生用户终端。
12.可选的,在本发明第一方面的第六种实现方式中,所述当所述校验结果为校验失败时,确定对所述医生用户终端授权失败,并向所述医生用户终端返回授权失败提醒信息,包括:当所述校验结果为校验失败时,确定对所述医生用户终端授权失败,并按照预设的信息警示模板生成授权失败提醒信息;通过预设的消息队列将所述授权失败提醒信息推送至所述医生用户终端,以使得所述医生用户终端显示和/或语音播放所述授权失败提醒信息。
13.本发明第二方面提供了一种基于区块链的数据访问授权装置,包括:存储模块,用于接收目标终端发送的用户信息注册请求,并按照所述用户信息注册请求将目标用户信息存储至预设的电子档案系统中,得到目标用户对应的区块链密钥,所述目标终端包括普通用户终端和医生用户终端;生成模块,用于接收所述普通用户终端发送的健康码获取请求,按照所述健康码获取请求生成健康码,并将所述健康码返回至所述普通用户终端,所述健康码获取请求包括用户标识;授权模块,用于当所述医生用户终端扫描所述普通用户终端展示的健康码,且所述普通用户终端确认所述医生用户终端发送的授权请求时,获取所述普通用户终端发送的签名授权信息,并按照所述签名授权信息对所述健康码进行校验,得到校验结果,所述签名授权信息携带所述区块链密钥、所述用户标识和医生标识;处理模块,用于当所述校验结果为校验成功时,确定对所述医生用户终端授权成功,将授权过程中的所有操作数据记录至区块链账本中,并将普通用户终端的电子档案地址发送至所述医生用户终端;提醒模块,用于当所述校验结果为校验失败时,确定对所述医生用户终端授权失败,并向所述医生用户终端返回授权失败提醒信息。
14.可选的,在本发明第二方面的第一种实现方式中,所述存储模块具体用于:接收目标终端发送的用户信息注册请求,对所述用户信息注册请求依次进行参数解析、身份验证和数据验证处理,得到目标用户信息,所述目标用户信息包括用户医疗数据;将所述目标用户信息写入至所述电子档案系统对应的区块链网络中,并按照预设的密钥生成算法对所述目标用户信息进行密钥生成运算,得到目标用户对应的区块链密钥对;从所述区块链密钥对中提取区块链密钥和区块链公钥,将所述区块链密钥和所述区块链公钥存储至所述区块链网络中,并将所述区块链密钥发送至所述目标终端,所述区块链密钥和所述区块链公钥存在一一对应关系。
15.可选的,在本发明第二方面的第二种实现方式中,所述生成模块包括:提取单元,用于接收所述普通用户终端发送的健康码获取请求,从所述健康码获取请求中提取用户标识;读取单元,用于根据所述用户标识从所述区块链网络中读取所述区块链密钥对应的区块链公钥;生成单元,用于基于所述用户标识、所述区块链公钥和当前时刻生成健康码,并将所述健康码返回至所述普通用户终端。
16.可选的,在本发明第二方面的第三种实现方式中,所述生成单元具体用于:获取当前时刻的时间戳,并对所述区块链公钥与所述当前时刻的时间戳进行组合,得到已组合的字符串;通过预设的哈希算法对所述已组合的字符串计算组合哈希值;按照所述用户标识和所述组合哈希值生成图形标识码,将所述图形标识码作为健康码,并将所述健康码返回至所述普通用户终端。
17.可选的,在本发明第二方面的第四种实现方式中,所述授权校验模块具体用于:当所述医生用户终端扫描所述普通用户终端展示的健康码,且所述普通用户终端确认所述医生用户终端发送的授权请求时,获取所述普通用户终端发送的签名授权信息,从所述签名
授权信息中提取并验证所述签名授权信息,得到验证结果,所述签名授权信息携带所述区块链密钥、所述用户标识和医生标识;当所述验证结果为验证通过时,按照所述用户标识获取所述医生用户终端扫描的健康码,并从所述健康码中读取组合哈希值和所述用户标识;根据所述用户标识和所述区块链密钥确定所述普通用户终端对应的区块链公钥,并通过所述普通用户终端对应的区块链公钥对所述组合哈希值进行验签处理,得到验签结果;当所述验签结果为验签成功时,按照所述医生标识获取医生用户终端对应的区块链密钥,并基于所述电子档案系统对所述医生用户终端对应的区块链密钥进行信息校验,得到校验结果。
18.可选的,在本发明第二方面的第五种实现方式中,所述处理模块具体用于:当所述校验结果为校验成功时,确定对所述医生用户终端授权成功,并基于授权过程中的所有操作数据设置智能合约;将所述智能合约存储至区块链账本中,并通过所述区块链账本将所述授权过程中的所有操作数据共享至所述区块链网络中全部应用节点;根据所述用户标识查询普通用户终端的电子档案地址,并将所述普通用户终端的电子档案地址发送至所述医生用户终端。
19.可选的,在本发明第二方面的第六种实现方式中,所述提醒模块具体用于:当所述校验结果为校验失败时,确定对所述医生用户终端授权失败,并按照预设的信息警示模板生成授权失败提醒信息;通过预设的消息队列将所述授权失败提醒信息推送至所述医生用户终端,以使得所述医生用户终端显示和/或语音播放所述授权失败提醒信息。
20.本发明第三方面提供了一种基于区块链的数据访问授权设备,包括:存储器和至少一个处理器,所述存储器中存储有计算机程序;所述至少一个处理器调用所述存储器中的所述计算机程序,以使得所述基于区块链的数据访问授权设备执行上述的基于区块链的数据访问授权方法。
21.本发明的第四方面提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序,当其在计算机上运行时,使得计算机执行上述的基于区块链的数据访问授权方法。
22.本发明提供的技术方案中,接收目标终端发送的用户信息注册请求,并按照所述用户信息注册请求将目标用户信息存储至预设的电子档案系统中,得到目标用户对应的区块链密钥,所述目标终端包括普通用户终端和医生用户终端;接收所述普通用户终端发送的健康码获取请求,按照所述健康码获取请求生成健康码,并将所述健康码返回至所述普通用户终端,所述健康码获取请求包括用户标识;当所述医生用户终端扫描所述普通用户终端展示的健康码,且所述普通用户终端确认所述医生用户终端发送的授权请求时,获取所述普通用户终端发送的签名授权信息,并按照所述签名授权信息对所述健康码进行校验,得到校验结果,所述签名授权信息携带所述区块链密钥、所述用户标识和医生标识;当所述校验结果为校验成功时,确定对所述医生用户终端授权成功,将授权过程中的所有操作数据记录至区块链账本中,并将普通用户终端的电子档案地址发送至所述医生用户终端;当所述校验结果为校验失败时,确定对所述医生用户终端授权失败,并向所述医生用户终端返回授权失败提醒信息。本发明实施例中,通过电子档案系统对应的区块链网络对医生用户终端和普通用户终端分配区块链密钥,确保用户访问授权行为的身份有效性;并将授权过程中的所有操作数据作为智能合约纳入区块链账本中,利用区块链去中心化的特
性,提高了用户访问授权行为的安全性和可追溯性。
附图说明
23.图1为本发明实施例中基于区块链的数据访问授权方法的一个实施例示意图;
24.图2为本发明实施例中基于区块链的数据访问授权方法的另一个实施例示意图;
25.图3为本发明实施例中基于区块链的数据访问授权装置的一个实施例示意图;
26.图4为本发明实施例中基于区块链的数据访问授权装置的另一个实施例示意图;
27.图5为本发明实施例中基于区块链的数据访问授权设备的一个实施例示意图。
具体实施方式
28.本发明实施例提供了一种基于区块链的数据访问授权方法、装置、设备及存储介质,用于通过区块链密钥确保授权行为的身份有效性,以及提高用户访问授权行为的安全性和可追溯性。
29.本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括”或“具有”及其任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
30.为便于理解,下面对本发明实施例的具体流程进行描述,请参阅图1,本发明实施例中基于区块链的数据访问授权方法的一个实施例包括:
31.101、接收目标终端发送的用户信息注册请求,并按照用户信息注册请求将目标用户信息存储至预设的电子档案系统中,得到目标用户对应的区块链密钥,目标终端包括普通用户终端和医生用户终端。
32.可以理解的是,目标终端包括普通用户终端和医生用户终端,普通用户终端和医生用户终端分别向预设的电子档案系统提供个人信息(也就是,目标用户信息)。电子档案系统按照个人信息的唯一性实现普通用户或医生的注册,以及不同普通用户(包括患者或者非患者)或医生的区分。其中,该目标用户信息具体可包括普通用户姓名、身份证号、性别、电话、家庭住址等,该目标用户信息还可以包括医生姓名、身份证号、性别、科室和所属医疗机构等,在一种可能的实施方式中,该目标用户信息还可以包括用户医疗数据,例如,个人健康档案、查房数据和检查报告等数据。具体此处不做限定。
33.进一步地,预设的电子档案系统可以提供不同的普通用户终端和医生用户终端入口供用户注册及录入信息,普通用户终端和医生用户终端均可以为h5、公众号、小程序、应用程序等。当目标终端检测到目标用户(也就是,普通用户或医生)请求注册个人信息时,目标终端展示个人信息输入页面,该个人信息输入页面可以包括输入框,由普通用户或医生在输入框中输入个人信息。或者,该个人信息输入页面还可以是附件导入的页面,由普通用户或医生在该个人信息输入页面上传身份证照片等可以证明自己身份的附件,从而实现个人信息的输入。进一步地,个人信息输入页面上还提供一个确认按键,当检测到目标用户触
发该确认按键时,将目标用户输入的个人信息通过互联网传输至预设的电子档案系统。
34.可以理解的是,本发明的执行主体可以为基于区块链的数据访问授权装置,还可以是终端或者服务器,具体此处不做限定。本发明实施例以服务器为执行主体为例进行说明。
35.102、接收普通用户终端发送的健康码获取请求,按照健康码获取请求生成健康码,并将健康码返回至普通用户终端,健康码获取请求包括用户标识。
36.可以理解的是,普通用户终端向电子档案系统发送健康码请求,通过电子档案系统提供一个用于执行授权行为的健康码,并将该健康码作为介质,实现普通用户终端对医生用户终端的授权行为。其中,普通用户终端入口会提供登录服务,也就是说目标用户需要在普通用户终端登录,并在登录成功的情况下才可以向电子档案系统发送健康码获取请求,电子档案系统接收健康码获取请求,并为普通用户终端生成健康码,并将该健康码返回给普通用户终端。实际应用的过程中,健康码请求中会携带用于表示用户身份的用户标识,该用户标识可为用户id或用户身份证号等。该用户标识无需普通用户在普通用户终端填写或者提供。
37.需要说明的是,电子档案系统可以划分为两部分,包括健康管理平台服务和监管机构服务。其中,健康管理平台服务接收目标终端发送的各种请求,并对目标终端发送的各种请求进行响应。监管机构服务中设置有健康码服务,该健康码服务实质上是一种区块链服务,利用区块链网络中的电子认证服务中心,实现健康码的生成、健康码的下发以及健康码的校验操作。
38.103、当医生用户终端扫描普通用户终端展示的健康码,且普通用户终端确认医生用户终端发送的授权请求时,获取普通用户终端发送的签名授权信息,并按照签名授权信息对健康码进行校验,得到校验结果,签名授权信息携带区块链密钥、用户标识和医生标识。
39.也就是,普通用户终端接收电子档案系统返回的健康码,并将该健康码展示出来,以便医生用户终端对该健康码进行扫描,实现授权行为。医生用户终端扫描普通用户终端展示的健康码,扫描成功后,医生用户终端会向该健康码指示的普通用户终端发送授权请求,以使避免健康码泄露被恶意用户扫描。其中,医生用户终端也是登录成功才可以执行健康码的扫描以及授权请求的发送操作,因此,医生用户终端在向普通用户终端发送授权请求时,可以直接确定是哪个医生发送的授权请求,将该医生的医生标识携带在该授权请求中。普通用户终端接收到医生用户终端的授权请求后,若普通用户终端检测到用户同意授权,则普通用户终端基于区块链密钥(普通用户对应的区块链密钥)、用户标识和医生标识进行签名,得到签名授权信息,普通用户终端基于该签名授权信息封装为签名授权信息校验请求,并将签名授权信息校验请求传输至服务器中的电子档案系统,签名授权信息包括区块链密钥。
40.进一步地,服务器通过电子方案系统接收并解析普通用户终端发送的签名授权信息校验请求,得到签名授权信息;服务器获取医生用户终端扫描的健康码,服务器基于签名授权信息中的用户标识、医生标识、区块链密钥和区块链密钥对应的区块链公钥对健康码进行校验,得到校验结果,校验结果包括校验成功和校验失败,区块链密钥和区块链密钥是一组密钥对。
41.104、当校验结果为校验成功时,确定对医生用户终端授权成功,将授权过程中的所有操作数据记录至区块链账本中,并将普通用户终端的电子档案地址发送至医生用户终端。
42.其中,授权过程中的所有操作数据可包括普通用户终端的用户标识、普通用户终端持有的区块链密钥、健康码、签名授权信息、医生用户终端的医生标识以及医生用户终端持有的区块链密钥,也就是,服务器将整个授权过程中利用到的信息以及生成的信息全部记录下来,服务器记录下的内容形成智能合约,服务器将智能合约纳入到区块链网络的账本(也就是区块链账本)中,利用区块链网络的特性,不仅将整个过程记录下来,还将整个过程共享至区块链网络中全部应用节点,避免授权过程的内容被篡改。
43.105、当校验结果为校验失败时,确定对医生用户终端授权失败,并向医生用户终端返回授权失败提醒信息。
44.也就是,当校验结果为校验失败时,服务器确定对医生用户终端授权失败,服务器生成授权失败提醒信息,并基于医生标识向医生用户终端返回授权失败提醒信息,以使得普通用户终端和医生用户终端重新执行用户访问授权行为。
45.本发明实施例中,通过电子档案系统对应的区块链网络对医生用户终端和普通用户终端分配区块链密钥,确保用户访问授权行为的身份有效性;并将授权过程中的所有操作数据作为智能合约纳入区块链账本中,利用区块链去中心化的特性,提高了用户访问授权行为的安全性和可追溯性。
46.请参阅图2,本发明实施例中基于区块链的数据访问授权方法的另一个实施例包括:
47.201、接收目标终端发送的用户信息注册请求,并按照用户信息注册请求将目标用户信息存储至预设的电子档案系统中,得到目标用户对应的区块链密钥,目标终端包括普通用户终端和医生用户终端。
48.需要说明的是,区块链密钥的生成可以通过哈希算法或重加密算法等各种密钥生成算法,本发明实施例中提及的密钥生成算法只是一种举例说明,实际应用的过程中还可以为其他的算法,本发明对此不进行具体限定。服务器通过预设的密钥生成算法对接收到的个人信息进行计算处理,利用个人信息的唯一性,保证计算得到的区块链密钥也是唯一且不同的,也就是说每个普通用户以及医生对应的区块链密钥都是不同的。
49.可选的,首先,服务器接收目标终端发送的用户信息注册请求,服务器对用户信息注册请求依次进行参数解析、身份验证和数据验证处理,得到目标用户信息,目标用户信息包括用户医疗数据。其次,服务器将目标用户信息写入至电子档案系统对应的区块链网络中,并按照预设的密钥生成算法对目标用户信息进行密钥生成运算,得到目标用户对应的区块链密钥对。进一步地,当服务器在将普通用户或医生分别对应的个人信息注册在预设的电子档案系统中时,服务器对目标用户生成对应的区块链密钥,将该区块链密钥返回给目标终端,以便后续目标用户可以基于这一个密钥,实现复杂的授权行为,降低了个人信息泄露风险。最后,服务器从区块链密钥对中提取区块链密钥和区块链公钥,将区块链密钥和区块链公钥存储至区块链网络中,服务器将区块链密钥发送至目标终端,目标终端可以显示并存储区块链密钥,其中,区块链密钥和所述区块链公钥存在一一对应关系,也就是区块链密钥和区块链公钥可以互为加解密关系。目标终端向目标用户展示区块链密钥,以便于
目标用户记录该区块链密钥,以及目标终端应用该区块链密钥进行授权行为。其中,目标终端入口中也可以设置一个私密空间,以将该区块链密钥存储在私密空间中。这不仅实现了对注册在电子档案系统中的全部目标用户的区分,而且还确保了后续的授权操作以及查询操作等都是实名执行的,避免不法分子利用电子档案系统进行恶意行为。
50.202、接收普通用户终端发送的健康码获取请求,从健康码获取请求中提取用户标识。
51.具体的,服务器接收普通用户终端发送的健康码获取请求,服务器对普通用户终端发送的健康码获取请求进行参数解析和参数校验处理,得到用户标识。例如,用户标识为user_001,用户标识还可以为用户电话号码或身份证号码,具体此处不做限定。
52.203、根据用户标识从区块链网络中读取区块链密钥对应的区块链公钥。
53.具体的,服务器获取与用户标识对应的查询权限;服务器向区块链网络发送与所述查询权限匹配、且携带区块链密钥的查询请求,得到查询结果,当查询结果不为空值时,从查询结果中读取区块链密钥对应的区块链公钥。
54.204、基于用户标识、区块链公钥和当前时刻生成健康码,并将健康码返回至普通用户终端。
55.其中,电子健康码用于指示便于用户(包括普通用户)享有医疗服务和公共卫生服务,并反馈个人全生命周期电子健康档案的电子二维码。可选的,服务器获取当前时刻的时间戳,并对区块链公钥与当前时刻的时间戳进行组合,得到已组合的字符串;服务器通过预设的哈希算法对已组合的字符串计算组合哈希值;服务器按照用户标识和组合哈希值生成图形标识码,将图形标识码作为健康码,并将健康码返回至普通用户终端。
56.205、当医生用户终端扫描普通用户终端展示的健康码,且普通用户终端确认医生用户终端发送的授权请求时,获取普通用户终端发送的签名授权信息,并按照签名授权信息对健康码进行校验,得到校验结果,签名授权信息携带区块链密钥、用户标识和医生标识。
57.需要说明的是,普通用户终端接收到医生用户终端的授权请求后,普通用户终端会为用户提供选项,包括同意授权和不同意授权,这两个选项可以采用按钮方式,也可以采用单选方式,具体此处不做限定。若普通用户终端检测到目标用户触发了同意授权的按钮,则普通用户终端确定检测到用户同意授权,普通用户终端会对持有的区块链密钥、用户标识和医生标识进行哈希计算,并生成哈希值,普通用户终端将该哈希值作为签名授权信息,并将该签名授权信息传输至电子档案系统,以供电子档案系统校验。若普通用户终端检测到目标用户触发了不同意授权按钮,则普通用户终端确定检测到用户不同意授权,则普通用户终端向医生用户终端返回终端授权失败信息,并结束当前流程。
58.可选的,当医生用户终端扫描普通用户终端展示的健康码,且普通用户终端确认医生用户终端发送的授权请求时,服务器接收普通用户终端发送的签名授权信息校验请求,从签名授权信息校验请求中提取并验证签名授权信息,得到验证结果,签名授权信息校验请求携带区块链密钥、用户标识和医生标识;当验证结果为验证通过时,服务器按照用户标识获取医生用户终端扫描的健康码,并从健康码中读取组合哈希值和用户标识;服务器根据用户标识和区块链密钥确定普通用户终端对应的区块链公钥,并通过普通用户终端对应的区块链公钥对组合哈希值进行验签处理,得到验签结果;当验签结果为验签成功时,服
务器按照医生标识获取医生用户终端对应的区块链密钥,并基于电子档案系统对医生用户终端对应的区块链密钥进行信息校验,得到校验结果。
59.也就是,若服务器接收到普通用户终端传输的签名授权信息,则服务器确定可以对该医生用户终端进行授权,服务器获取该医生用户终端扫描的健康码,并对健康码进行校验,当校验成功时,执行步骤206;当校验失败时,执行步骤207。进一步地,服务器在对健康码进行校验时,由于健康码中携带有普通用户终端对应的区块链公钥与时间戳进行组合后得到的组合哈希值,因此,服务器通过普通用户终端对应的区块链公钥对该组合哈希值进行签名。若签名成功,则服务器确定该健康码是真实的,且携带的信息也是正确的,此时便对医生用户终端的区块链密钥进行校验,也就是,服务器查询电子档案系统中是否存在医生用户终端的区块链密钥,并确定该并医生用户终端是否在电子档案系统中已注册,当对密钥验证成功,并确定该医生用户终端已经在信息中注册时,服务器确定整个验证过程通过且结束。若签名失败,则服务器确定该健康码存在异常,例如,伪造的健康码,其中携带的组合哈希值错误,无法授权,因此,服务器确定校验失败。
60.206、当校验结果为校验成功时,确定对医生用户终端授权成功,将授权过程中的所有操作数据记录至区块链账本中,并将普通用户终端的电子档案地址发送至医生用户终端。
61.需要说明的是,在授权过程记录完毕后,由于健康码中会携带用户的用户标识,所以服务器基于该用户标识,在电子档案系统中可以确定该用户标识指示的用户档案的电子档案地址,并将该电子档案地址提供至医生用户终端。
62.可选的,当校验结果为校验成功时,服务器确定对医生用户终端授权成功,并基于授权过程中的所有操作数据设置智能合约;服务器将智能合约存储至区块链账本中,并通过区块链账本将授权过程中的所有操作数据共享至区块链网络中全部应用节点;服务器根据用户标识查询普通用户终端的电子档案地址,并将普通用户终端的电子档案地址发送至医生用户终端。
63.207、当校验结果为校验失败时,确定对医生用户终端授权失败,并向医生用户终端返回授权失败提醒信息。
64.其中,授权失败提醒信息可以为文字信息,也可以为语音信息,具体此处不做限定。可选的,当校验结果为校验失败时,服务器确定对医生用户终端授权失败,并按照预设的信息警示模板生成授权失败提醒信息;服务器通过预设的消息队列将授权失败提醒信息推送至医生用户终端,以使得医生用户终端显示和/或语音播放授权失败提醒信息。进一步地,服务器基于授权失败的医生用户终端、健康码和授权失败提醒信息生成授权失败分析报告,并将授权失败分析报告存储至区块链网络中。
65.本发明实施例中,通过电子档案系统对应的区块链网络对挂载在区块链网络中各应用节点上的医生用户终端和普通用户终端分配区块链密钥,确保用户访问授权行为的身份有效性;并将授权过程中的所有操作数据作为智能合约纳入区块链账本中,利用区块链去中心化的特性,提高了用户访问授权行为的安全性和可追溯性。
66.上面对本发明实施例中基于区块链的数据访问授权方法进行了描述,下面对本发明实施例中基于区块链的数据访问授权装置进行描述,请参阅图3,本发明实施例中基于区块链的数据访问授权装置的一个实施例包括:
67.存储模块301,用于接收目标终端发送的用户信息注册请求,并按照用户信息注册请求将目标用户信息存储至预设的电子档案系统中,得到目标用户对应的区块链密钥,目标终端包括普通用户终端和医生用户终端;
68.生成模块302,用于接收普通用户终端发送的健康码获取请求,按照健康码获取请求生成健康码,并将健康码返回至普通用户终端,健康码获取请求包括用户标识;
69.授权校验模块303,用于当医生用户终端扫描普通用户终端展示的健康码,且普通用户终端确认医生用户终端发送的授权请求时,获取普通用户终端发送的签名授权信息,并按照签名授权信息对健康码进行校验,得到校验结果,签名授权信息携带区块链密钥、用户标识和医生标识;
70.处理模块304,用于当校验结果为校验成功时,确定对医生用户终端授权成功,将授权过程中的所有操作数据记录至区块链账本中,并将普通用户终端的电子档案地址发送至医生用户终端;
71.提醒模块305,用于当校验结果为校验失败时,确定对医生用户终端授权失败,并向医生用户终端返回授权失败提醒信息。
72.本发明实施例中,通过电子档案系统对应的区块链网络对医生用户终端和普通用户终端分配区块链密钥,确保用户访问授权行为的身份有效性;并将授权过程中的所有操作数据作为智能合约纳入区块链账本中,利用区块链去中心化的特性,提高了用户访问授权行为的安全性和可追溯性。
73.请参阅图4,本发明实施例中基于区块链的数据访问授权装置的另一个实施例包括:
74.存储模块301,用于接收目标终端发送的用户信息注册请求,并按照用户信息注册请求将目标用户信息存储至预设的电子档案系统中,得到目标用户对应的区块链密钥,目标终端包括普通用户终端和医生用户终端;
75.生成模块302,用于接收普通用户终端发送的健康码获取请求,按照健康码获取请求生成健康码,并将健康码返回至普通用户终端,健康码获取请求包括用户标识;
76.授权校验模块303,用于当医生用户终端扫描普通用户终端展示的健康码,且普通用户终端确认医生用户终端发送的授权请求时,获取普通用户终端发送的签名授权信息,并按照签名授权信息对健康码进行校验,得到校验结果,签名授权信息携带区块链密钥、用户标识和医生标识;
77.处理模块304,用于当校验结果为校验成功时,确定对医生用户终端授权成功,将授权过程中的所有操作数据记录至区块链账本中,并将普通用户终端的电子档案地址发送至医生用户终端;
78.提醒模块305,用于当校验结果为校验失败时,确定对医生用户终端授权失败,并向医生用户终端返回授权失败提醒信息。
79.可选的,存储模块301还可以具体用于:
80.接收目标终端发送的用户信息注册请求,对用户信息注册请求依次进行参数解析、身份验证和数据验证处理,得到目标用户信息,目标用户信息包括用户医疗数据;
81.将目标用户信息写入至电子档案系统对应的区块链网络中,并按照预设的密钥生成算法对目标用户信息进行密钥生成运算,得到目标用户对应的区块链密钥对;
82.从区块链密钥对中提取区块链密钥和区块链公钥,将区块链密钥和区块链公钥存储至区块链网络中,并将区块链密钥发送至目标终端,区块链密钥和区块链公钥存在一一对应关系。
83.可选的,生成模块302还可以包括:
84.提取单元3021,用于接收普通用户终端发送的健康码获取请求,从健康码获取请求中提取用户标识;
85.读取单元3022,用于根据用户标识从区块链网络中读取区块链密钥对应的区块链公钥;
86.生成单元3023,用于基于用户标识、区块链公钥和当前时刻生成健康码,并将健康码返回至普通用户终端。
87.可选的,生成单元3023还可以具体用于:
88.获取当前时刻的时间戳,并对区块链公钥与当前时刻的时间戳进行组合,得到已组合的字符串;
89.通过预设的哈希算法对已组合的字符串计算组合哈希值;
90.按照用户标识和组合哈希值生成图形标识码,将图形标识码作为健康码,并将健康码返回至普通用户终端。
91.可选的,授权校验模块303还可以具体用于:
92.当医生用户终端扫描普通用户终端展示的健康码,且普通用户终端确认医生用户终端发送的授权请求时,接收普通用户终端发送的签名授权信息校验请求,从签名授权信息校验请求中提取并验证签名授权信息,得到验证结果,签名授权信息携带区块链密钥、用户标识和医生标识;
93.当验证结果为验证通过时,按照用户标识获取医生用户终端扫描的健康码,并从健康码中读取组合哈希值和用户标识;
94.根据用户标识和区块链密钥确定普通用户终端对应的区块链公钥,并通过普通用户终端对应的区块链公钥对组合哈希值进行验签处理,得到验签结果;
95.当验签结果为验签成功时,按照医生标识获取医生用户终端对应的区块链密钥,并基于电子档案系统对医生用户终端对应的区块链密钥进行信息校验,得到校验结果。
96.可选的,处理模块304还可以具体用于:
97.当校验结果为校验成功时,确定对医生用户终端授权成功,并基于授权过程中的所有操作数据设置智能合约;
98.将智能合约存储至区块链账本中,并通过区块链账本将授权过程中的所有操作数据共享至区块链网络中全部应用节点;
99.根据用户标识查询普通用户终端的电子档案地址,并将普通用户终端的电子档案地址发送至医生用户终端。
100.可选的,提醒模块305还可以具体用于:
101.当校验结果为校验失败时,确定对医生用户终端授权失败,并按照预设的信息警示模板生成授权失败提醒信息;
102.通过预设的消息队列将授权失败提醒信息推送至医生用户终端,以使得医生用户终端显示和/或语音播放授权失败提醒信息。
103.本发明实施例中,通过电子档案系统对应的区块链网络对挂载在区块链网络中各应用节点上的医生用户终端和普通用户终端分配区块链密钥,确保用户访问授权行为的身份有效性;并将授权过程中的所有操作数据作为智能合约纳入区块链账本中,利用区块链去中心化的特性,提高了用户访问授权行为的安全性和可追溯性。
104.上面图3和图4从模块化的角度对本发明实施例中的基于区块链的数据访问授权装置进行详细描述,下面从硬件处理的角度对本发明实施例中基于区块链的数据访问授权设备进行详细描述。
105.图5是本发明实施例提供的一种基于区块链的数据访问授权设备的结构示意图,该基于区块链的数据访问授权设备500可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上处理器(central processing units,cpu)510(例如,一个或一个以上处理器)和存储器520,一个或一个以上存储应用程序533或数据532的存储介质530(例如一个或一个以上海量存储设备)。其中,存储器520和存储介质530可以是短暂存储或持久存储。存储在存储介质530的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对基于区块链的数据访问授权设备500中的一系列计算机程序操作。更进一步地,处理器510可以设置为与存储介质530通信,在基于区块链的数据访问授权设备500上执行存储介质530中的一系列计算机程序操作。
106.基于区块链的数据访问授权设备500还可以包括一个或一个以上电源540,一个或一个以上有线或无线网络接口550,一个或一个以上输入输出接口560,和/或,一个或一个以上操作系统531,例如windows serve,mac osx,unix,linux,freebsd等等。本领域技术人员可以理解,图5示出的基于区块链的数据访问授权设备结构并不构成对基于区块链的数据访问授权设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
107.本发明还提供一种计算机可读存储介质,该计算机可读存储介质可以为非易失性计算机可读存储介质,该计算机可读存储介质也可以为易失性计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序,当所述计算机程序在计算机上运行时,使得计算机执行所述基于区块链的数据访问授权方法的步骤。
108.本发明还提供一种基于区块链的数据访问授权设备,所述基于区块链的数据访问授权设备包括存储器和处理器,存储器中存储有计算机程序,所述计算机程序被处理器执行时,使得处理器执行上述各实施例中的所述基于区块链的数据访问授权方法的步骤。
109.进一步地,所述计算机可读存储介质可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序等;存储数据区可存储根据区块链节点的使用所创建的数据等。
110.本发明所指区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链(blockchain),本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。区块链可以包括区块链底层平台、平台产品服务层以及应用服务层等。
111.所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
112.所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干计算机程序用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(read

onlymemory,rom)、随机存取存储器(random access memory,ram)、磁碟或者光盘等各种可以存储程序代码的介质。
113.以上所述,以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献