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

医疗属性令牌访问控制方法、系统、存储介质及电子设备与流程

2021-12-07 21: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.对所述医疗数据信息进行hash运算生成所述医疗数据信息的摘要值和地址信息,且将所述医疗数据信息的摘要值和地址信息上传到所述区块链;
23.对所述访问控制策略信息进行整合,将整合后的所述访问控制策略信息上传到所述区块链。
24.本公开的一种示例性实施例中,所述根据所述医疗属性令牌的信息以及所述访问控制策略信息生成第一访问凭据信息包括:
25.根据所述医疗属性令牌的类型信息进行所述访问控制策略信息的匹配,并根据匹配好的所述访问控制策略信息生成所述第一访问凭据。
26.本公开的一种示例性实施例中,所述根据匹配好的所述访问控制策略信息生成所述第一访问凭据之后,包括:
27.将所述第一访问凭据的生成过程生成访问日志,并将所述访问日志上传到所述区块链。
28.根据本公开实施例的第二方面,提供一种医疗属性令牌访问控制系统,该系统包括:
29.申请及加密模块,用于接收令牌申请信息,生成医疗属性令牌并对所述医疗属性
令牌进行加密,生成加密的医疗属性令牌;
30.数据及策略上传模块,用于接收医疗数据信息和访问控制策略信息;
31.凭据生成模块,用于根据加密的所述医疗属性令牌的信息以及所述访问控制策略信息生成第一访问凭据信息,并将所述第一访问凭据信息上传到区块链;
32.凭据验证模块,用于接收第二访问凭据信息,并根据所述第二访问凭据信息对所述第一访问凭据信息进行验证;
33.发送模块,当对所述第一访问凭据信息验证成功时,发送所述医疗数据信息。
34.根据本公开实施例的第三方面,提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述任意一个实施例中所述医疗属性令牌访问控制方法的步骤。
35.根据本公开实施例的第四方面,提供一种电子设备,包括:
36.处理器;以及
37.存储器,用于存储所述处理器的可执行指令;
38.其中,所述处理器配置为经由执行所述可执行指令来执行上述任意一个实施例中所述医疗属性令牌访问控制方法的步骤。
39.本公开的实施例提供的技术方案可以包括以下有益效果:
40.本公开的实施例中,根据上述实施例提供的医疗属性令牌访问控制方法,通过接收令牌申请信息,生成医疗属性令牌并对其加密,根据医疗属性令牌的信息以及访问控制策略信息生成第一访问凭据信息,并将第一访问凭据信息上传到区块链,避免了传统访问控制模型中属性与访问控制策略的多次匹配,在实现医疗数据细粒度访问控制的同时,一定程度上提高了访问效率。此外,通过将第一访问凭据信息上传到区块链,解决了区块链存储空间较小的问题,同时保证了数据的不可篡改性。
附图说明
41.此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
42.图1示意性示出本公开示例性实施例中医疗属性令牌访问控制方法的流程图;
43.图2示意性示出本公开示例性实施例中医疗属性令牌访问控制系统框图;
44.图3示意性示出本公开示例性实施例中一种程序产品示意图;
45.图4示意性示出本公开示例性实施例中一种电子设备示意图;
46.图5示意性示出本公开示例性实施例中基于属性的访问控制模型流程图;
47.图6示意性示出本公开示例性实施例中区块链框架结构图;
48.图7示意性示出本公开示例性实施例中pbft共识过程图;
49.图8示意性示出本公开示例性实施例中不同密钥长度加密所需时间对比图;
50.图9示意性示出本公开示例性实施例中不同密钥长度下加密令牌所需时间对比图;
51.图10示意性示出本公开示例性实施例中不同令牌长度下加密密钥所需时间对比
图;
52.图11示意性示出本公开示例性实施例中不同密钥长度下解密所需时间对比图;
53.图12示意性示出本公开示例性实施例中不同密文长度下解密所需时间对比图。
具体实施方式
54.现在将参考附图更全面地描述示例实施方式。然而,示例实施方式能够以多种形式实施,且不应被理解为限于在此阐述的范例;相反,提供这些实施方式使得本公开将更加全面和完整,并将示例实施方式的构思全面地传达给本领域的技术人员。所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施方式中。
55.此外,附图仅为本公开的示意性图解,并非一定是按比例绘制。图中相同的附图标记表示相同或类似的部分,因而将省略对它们的重复描述。附图中所示的一些方框图是功能实体,不一定必须与物理或逻辑上独立的实体相对应。可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
56.首先介绍传统基于属性的访问控制模型和实用拜占庭容错共识机制 (pbft)。
57.1、传统基于属性的访问控制模型
58.基于属性的访问控制模型流程如图5所示,具体步骤为:
59.(1)数据拥有者将数据即客体上传到数据服务器中;
60.(2)数据拥有者针对对应的客体生成访问控制策略,并将访问控制策略上传到策略管理点,然后策略管理点将访问控制策略上传到策略控制库中;
61.(3)数据使用者即主体向策略执行点发出访问请求,然后策略执行点生成访问决策请求,并把访问决策请求上传到策略决策点;
62.(4)策略决策点在收到访问决策请求后,首先向策略管理点发出策略查询请求,然后策略管理点在策略控制库中查询访问控制策略,并将查询到的访问控制策略返回给策略决策点;
63.(5)策略决策点向策略信息点发出属性请求查询,然后策略信息点将相应的属性返回给策略决策点;
64.(6)策略决策点将收到的访问控制策略和属性进行匹配和整合,然后生成访问控制结果,并将访问控制结果返回给策略执行点;
65.(7)策略执行点将收到的访问控制结果上传至数据库服务器,数据服务器对收到的客体请求即访问控制结果与相应的客体进行匹配,然后将客体发送给策略执行点;
66.(8)策略执行点将客体发送给主体。
67.2、实用拜占庭容错共识机制(pbft)
68.实用拜占庭容错算法是联盟链中一种共识算法,由麻省理工学院的 miguel castro和barbara liskov于1999年提出,解决了原始拜占庭容错算法效率不高的问题,算法复杂度不再是α
x
级别,而减小成了多项式级别,使得拜占庭容错算法在实际系统应用中变得可行。
69.利用实用拜占庭容错算法可以解决在有限个节点情况下的拜占庭将军问题,当联盟链中的恶意节点为f时,只要链中的总节点个数≥3f 1,便可以保证共识的达成。
70.在实用拜占庭容错共识机制中,运行过程一共分为5个阶段,如图7 所示:
71.请求(request):用户将请求发送给主节点;
72.预准备(pre

prepare):主节点收到消息后向,生成预准备消息,并将消息广播到全体次节点;
73.准备(prepare):次节点在收到主节点发送的预准备消息后,生成准备消息,并将准备消息广播到全网节点;
74.确认(commit):副节点首先收到其他副节点的准备消息,并与主节点发送的预准备消息对比进行确认。若副节点收到除自己广播外的2f个消息,并全部验证通过时,副节点便生成确认消息,并向全网广播;
75.响应(reply):当用户从网络中收到f 1个相同的消息时,说明共识达成,数据将被写入区块中,并将新的区块链接到整个区块链上。
76.下面结合具体实施例对本发明的技术方案作进一步的说明。
77.本示例实施方式中首先提供了一种医疗属性令牌访问控制方法,参考图1中所示,该方法包括以下步骤:
78.步骤s101:接收令牌申请信息,生成医疗属性令牌并对所述医疗属性令牌进行加密,生成加密的所述医疗属性令牌;
79.步骤s102:接收医疗数据信息和访问控制策略信息;
80.步骤s103:根据加密的所述医疗属性令牌的信息以及所述访问控制策略信息生成第一访问凭据信息,并将所述第一访问凭据信息上传到区块链;
81.步骤s104:接收第二访问凭据信息,并根据所述第二访问凭据信息对所述第一访问凭据信息的验证是否成功;
82.步骤s105:当对所述第一访问凭据信息验证成功时,发送所述医疗数据信息。
83.根据上述实施例提供的医疗属性令牌访问控制方法,通过接收令牌申请信息,生成医疗属性令牌并对其加密,根据医疗属性令牌的信息以及访问控制策略信息生成第一访问凭据信息,并将第一访问凭据信息上传到区块链,避免了传统访问控制模型中属性与访问控制策略的多次匹配,在实现医疗数据细粒度访问控制的同时,一定程度上提高了访问效率。此外,通过将第一访问凭据信息上传到区块链,解决了区块链存储空间较小的问题,同时保证了数据的不可篡改性。
84.下面,将参考图1对本示例实施方式中的上述方法的各个步骤进行更详细的说明。
85.在步骤s101中,接收令牌申请信息,生成医疗属性令牌并对所述医疗属性令牌进行加密,生成加密的所述医疗属性令牌;
86.示例的,当需要生成医疗属性令牌时,主体s需将自己的个人信息上传至令牌属性管理中心tamc,令牌属性管理中心tamc对主体信息与属性进行匹配,然后利用匹配好的属性生成相应的医疗属性令牌。
87.当对生成的医疗属性令牌进行加密时,主体需将个人信息上传至至密钥分发中心kdc,密钥分发中心kdc利用主体上传的个人信息,对应生成该主体s的公私钥对,将私钥发送给主体s,将公钥发送给令牌属性管理中心tamc;利用主体s的公钥对生成的医疗属性令牌进行加密并将令牌发送给主体s,完成对医疗属性令牌的加密。
88.其中,主体s是可以是患者或医院内部人员。当主体s为患者时,个人信息可以是姓
名、年龄、就诊信息等,当主体s为医院内部人员时,个人信息可以是姓名、年龄、医生简介等。具体本发明在此不做任何限定。
89.在步骤s102中,接收医疗数据信息和访问控制策略信息;
90.示例的,由数据拥有者do将所拥有的医疗数据信息上传至数据服务器中,具体的,数据拥有者do将自己所要上传的数据,利用send()函数,发送数据库服务器db,其中,数据拥有者do可以是患者、医院内部工作人员或医院信息管理人员,对此,本发明不做任何限定。
91.访问控制策略信息由数据拥有者do上传到策略管理点,其中,访问控制策略提前制定好的,具体是通过调用formulate()函数制定相应的访问控制策略acs,并通过send()函数将访问控制策略acs发送给策略管理点 pap。
92.在步骤s103中,根据所述医疗属性令牌的信息以及所述访问控制策略信息生成第一访问凭据信息,并将所述第一访问凭据信息上传到区块链;
93.示例的,根据医疗属性令牌的类型信息进行访问控制策略信息的匹配,并根据匹配好的访问控制策略信息生成第一访问凭据信息,并将第一凭据信息上传到区块链上。
94.其中,区块链技术首次被提出于中本聪的论文《比特币:一种点对点的电子现金系统》,其最初的设计目标是为了设计一种不需要不可信对三方参与便可以进行交易的数字货币,而其本身是一种类似于链表结构的数据结构。随着比特币的出现,区块链作为一种新兴的技术,凭借着其去中心化,可溯源,不可篡改等优点,逐渐被应用于大数据,物联网,智慧医疗,智慧城市等各种场景。
95.区块链的基础框架如图6所示,主要包括:(1)基础网络层下的数据层和网络层,用来存储交易数据,加盖时间戳以及对交易信息进行广播等;(2)中间协议层下的共识层,激励层和合约层。其中共识层主要是对交易达成共识,形成新的区块并将新的区块加入到区块链中。激励层是记录记账节点的“薪酬体系”,能够对记账节点产生一定的激励。而合约层主要是用来搭载智能合约,其中记录和规定交易过程中的各种规范和条件,一旦达到某一条件,合约层中的智能合约便会开始运行。
96.在步骤s104中,接收第二访问凭据信息,并根据所述第二访问凭据信息对所述第一访问凭据信息进行验证;
97.示例的,上步所生成的第一访问凭据信息与数控库服务器的第二访问凭据信息进行验证,若对所述第一访问凭据信息验证成功时,则执行步骤s105;若对所述第一访问凭据信息验证不成功时,则拒绝将医疗数据信息发送给主体。
98.在步骤s105中,当对所述第一访问凭据信息验证成功时,发送所述医疗数据信息。
99.在一个实施例中,所述接收令牌申请信息,生成医疗属性令牌之前包括:
100.接收医疗属性信息,并对所述医疗属性信息进行整合,且将该整合后的所述医疗属性信息上传到区块链。
101.示例的,医疗属性信息由属性发布方将所需要的所有医疗属性信息上传至令牌属性管理中心,并由令牌属性管理中心对所有医疗属性信息进行整合,并将整合后的所述医疗属性信息发送到日志部署点,然后由日志部署点将医疗属性信息上传至日志链中,以保证所有所述医疗属性信息的公开透明。具体的,在属性发布阶段,医院信息管理系统rp首先利用get()函数获得所有医疗属性信息,在对医疗属性信息进行传输和上传时,则分别利
用send()函数和upload()函数。令牌属性管理中心tamc在得到属性之后,可以调用arrange()函数对所有医疗属性信息进行整合。如医院信息管理系统rp在一开始得到的医疗属性信息并不完整,则需要调用collect()函数对属性进行二次搜集。
102.在一个实施例中,所述接收令牌申请信息,生成医疗属性令牌并对所述医疗属性令牌进行加密,生成加密的所述医疗属性令牌,包括:
103.子步骤s1011,接收个人信息,且将所述个人信息与整合后的所述医疗属性信息匹配,生成所述医疗属性令牌;
104.子步骤s1012,根据所述个人信息,生成对应的公私钥对,利用所述公私钥对中的公钥对所述医疗属性令牌进行加密。
105.示例的,在子步骤s1011中,接收令牌申请信息,生成医疗属性令牌时,由主体将主体的个人信息上传至令牌属性管理中心,所述令牌属性管理中心对所述主体的个人信息与医疗属性信息进行匹配,利用匹配好的医疗属性信息生成相应的医疗属性令牌,完成医疗属性令牌的申领。具体的,当主体s进行医疗属性令牌申请时,首先对s.applation()函数进行判断,如果正确,则主体s调用send()函数,将s_info进行发送,在令牌属性管理中心tamc得到s_info后,再调用verify()函数对s_info进行验证,如果验证结果正确,则令牌属性管理中心tamc调用matching()函数对s_info和attribute_all进行匹配,当匹配结果为true时,令牌属性管理中心tamc调用generate()函数生成s_token。具体的,主体s可以是患者,也可以是医院内部人员,或者是患者和医院内部人员,对此,本发明对此不做限定。
106.在子步骤s1012中,由主体将主体的个人信息上传至密钥分发中心,密钥分发中心利用主体上传的个人信息,对应生成主体的公私钥对,并将私钥发送给所述主体,将公钥发送给令牌属性管理中心;利用公钥对医疗属性令牌进行加密并将该加密后的医疗属性令牌发送给主体。
107.在一个实施例中,所述接收令牌申请信息,生成医疗属性令牌并对所述医疗属性令牌进行加密,生成加密的所述医疗属性令牌,还包括:
108.将所述医疗属性令牌的生成过程及加密过程生成日志,并将该日志上传到所述区块链。
109.示例的,由令牌属性管理中心将整个医疗属性令牌的生成过程以及生成医疗属性令牌的唯一确认标识符的属性信息生成日志,并将该生成的日志发送到日志部署点,最后由日志部署点将生成的日志记录到日志链中。具体的,令牌属性管理中心tamc首先调用send()函数对s_token进行发送,然后调用recording()函数记录下医疗属性令牌信息日志token_log,医疗属性令牌唯一标识符token_id,并把过程process发送给日志部署点 ldp,日志部署点ldp在上传过程process时调用upload()函数,日志链lc 调用get()函数接受日志部署点ldp上传的过程process。
110.在一个实施例中,所述接收医疗数据信息和访问控制策略信息包括:
111.子步骤s1021,对所述医疗数据信息进行hash运算生成所述医疗数据信息的摘要值和地址信息,且将所述医疗数据信息的摘要值和地址信息上传到所述区块链;
112.子步骤s1022,对所述访问控制策略信息进行整合,将整合后的所述访问控制策略信息上传到所述区块链。
113.示例的,在子步骤s1021中,由数据拥有者将所拥有的医疗数据信息上传至数据库
服务器中,数据库服务器接收到医疗数据信息后,并对所述医疗数据信息进行hash运算生成医疗数据信息的摘要值和地址信息,然后将医疗数据信息的摘要值和地址信息上传至数据部署点,最后由数据部署点将该医疗数据信息的摘要值和地址信息上传到数据链中。具体的,数据拥有者do将自己所要上传的医疗数据信息,利用send()函数,发送数据库服务器db,数据库服务器db得到医疗数据信息后,分别调用hash()函数和generate()函数生成医疗数据信息的摘要值和地址信息。然后数据拥有者do利用arrange()函数将(oh,a)进行整合,并将其发送给数据部署点ddp,然后数据部署点ddp调用upload()函数进行上传。其中,数据拥有者do可以是患者、医院内部工作人员或医院信息管理人员,对此,本发明不做任何限定。
114.在子步骤s1022中,由数据拥有者将制定好的访问控制策略信息上传到策略管理点,策略管理点对访问控制策略信息进行整合,并将该整合后的访问控制策略信息发送到策略部署点,策略部署点将接收到的访问控制策略信息部署到数据链上,然后将部署到数据链上的访问控制策略信息在数据链上的地址信息发送到策略管理点进行存储。具体的,医疗系统信息管理人员根据信息内容,通过调用formulate()函数制定相应的访问控制策略信息acs,并通过send()函数将访问控制策略信息acs发送给策略管理点pap,策略管理点pap分别调用arrange()函数和send()函数,对访问控制策略信息acs进行整理和传送,将访问控制策略信息acs传送到策略部署点plp上,策略部署点plp通过调用depoly()函数将访问控制策略acs部署到数据链,并对数据链上的地址信息oc_acs.address进行记录,然后调用send()函数将数据链上的地址信息oc_acs.address发送给策略管理点pap,策略管理点pap通过调用store()函数将数据链上的地址信息oc_acs.address储存。
115.在一个实施例中,所述根据所述医疗属性令牌的信息以及所述访问控制策略信息生成第一访问凭据信息包括:
116.子步骤s1031,根据所述医疗属性令牌的类型信息进行所述访问控制策略信息的匹配,并根据匹配好的所述访问控制策略信息生成所述第一访问凭据。
117.具体的,在子步骤s1031中,由主体将生成的医疗属性令牌上传至策略执行点,由策略执行点对医疗属性令牌信息进行验证并记录,若验证成功,则将成功验证信息的医疗属性令牌发送到策略决策点;反之,则拒绝;具体的,首先由主体s调用send()函数将医疗属性令牌s_token发送到策略执行点pep处,然后策略执行点pep调用verify()函数对医疗属性令牌信息s_token进行验证。如果结果是正确的,策略执行点pep便调用 record()函数对医疗属性令牌唯一标识符token_id进行记录,并将医疗属性令牌s_token发送给策略决策点pdp。
118.策略执行点将成功验证信息的所述医疗属性令牌发送到策略决策点,由策略决策点进行判断医疗属性令牌的类型,并将该医疗属性令牌的类型上传至策略管理点;策略管理点根据具体的医疗属性令牌的类型匹配相应的访问控制策略信息,然后将匹配到的访问控制策略信息发送给策略决策点。具体的,策略决策点pdp收到医疗属性令牌s_token后,调用judge()函数对医疗属性令牌的类型token_type进行判断,并将判断的结果作为医疗属性令牌的类型type发送给策略管理点pap,然后策略管理点pap调用 matching()函数,将医疗属性令牌的类型与访问控制策略(type,acs)进行匹配,并将匹配结果作为访问控制策略信息acs发送给策略决策点pdp。
119.策略决策点将匹配到的访问控制策略信息发送到访问授权点,访问授权点根据接收到的访问控制策略信息生成第一访问凭据。具体的,策略决策点pdp调用send()函数将匹配到的访问控制策略信息(acs,s_info) 发送给访问授权点aap,然后访问授权点app调用generate()函数产生第一访问凭据access令牌并用第一访问凭据令牌ac指代。
120.在一个实施例中,子步骤s1032,所述根据匹配好的所述访问控制策略信息生成所述第一访问凭据之后,包括:
121.将所述第一访问凭据的生成过程生成访问日志,并将所述访问日志上传到所述区块链。
122.示例的,访问授权点将第一访问凭据上传至策略执行点;策略执行点将第一访问凭据分别发送给主体和日志部署点;由日志部署点将访问授权日志和访问凭据部署到日志链上。具体的,访问授权点aap生成第一访问凭据令牌ac后把第一访问凭据令牌ac发送给策略执行点pep,然后策略执行点pep调用send()函数将第一访问凭据令牌ac发送给(s,ldp)。最后由日志部署点ldp调用upload()函数将第一访问凭据生成的日志(ac,aal)上传到日志链lc上。
123.下面结合安全性分析对本示例性实施例的技术效果作详细的描述。
124.(1)抗拒绝服务攻击
125.每个想要访问服务器数据的主体均需要向令牌属性管理中心tamc申请令牌token,而不满足系统内应该具有的属性的主体则无法完成令牌token 的申请。因此在数据访问阶段,攻击者oscar无法利用大量的僵尸主体访问数据库服务器,能够保证每一位对数据库进行访问的主体都真实且可追踪溯源,因此本技术方案可以抵抗拒绝服务攻击。
126.(2)抗恶意篡改攻击
127.写入数据库服务器的每一条数据均会将数据地址info_address和数据哈希值info_hash写入数据链data_chain中,data_chain中的主节点 data_chain_pri将info_address和info_hash进行广播并部署到区块中。假设攻击者oscar入侵数据库服务器并将数据进行修改,首先日志链log_chain 会将攻击者oscar的入侵及篡改过程广播并记录到区块链上,而后由于 data_chain中的info_hash无法被篡改,通过对比仍然可以判断出数据库服务器被入侵。
128.若攻击者oscar想要攻击成功,则必须控制超过1/3的节点,由于在医疗系统中使用的区块链为联盟链,加入节点具有身份认证机制,因此攻击者理论上不可能控制超过1/3的节点进行攻击。所以本技术方案可以抗恶意篡改攻击。
129.(3)抗单点失效攻击
130.跟传统的基于属性的访问控制技术方案相比,本技术方案中日志部署点ldp,数据部署点ddp,策略部署点plp,策略管理点pap,策略执行点pep,策略决策点pdp,访问授权点aap均以智能合约的形式部署在区块链上,不需要人为调控,只要达到特定条件便可以执行,这样可以有效避免原控制技术方案中各点容易被收买或者攻击,使访问授权过程发生错误。
131.另外,访问授权日志aal和数据哈希值info_hash分别存放在日志链 log_chain和数据链data_chain中,攻击者oscar若只攻击一个节点或者一部分节点,并不会使整个系统瘫痪。因此,本技术方案可以抵抗失效攻击。
132.(4)抗主体伪装攻击
133.攻击者oscar向数据库服务器发送请求时需要提供自己的访问令牌access_u(access_id||access strategy||access attribute),若攻击者不通过正规渠道申请,则无法获得访问令牌。
134.假设攻击者oscar截到他人访问令牌, access_u(access_id||access strategy||access attribute)攻击者oscar仍然无法进行数据访问。截取到的令牌属于加密状态,其中内容均为加密数据 ciphertext_a该令牌需要利用令牌拥有者的私钥对令牌进行解密,获得解密数据plaintext_a,才可以成功访问数据库服务器。若无法正确解密,则无法使用截取到的令牌对数据进行访问。因此本技术方案可以抵抗主体伪装攻击。
135.(5)抗重放攻击
136.主体s向令牌属性管理中心tamc申请令牌时,令牌属性管理中心 tamc会返回特定的token(token_id||token_data||generation time)当攻击者oscar截获主体s个人信息并进行重放时,令牌属性管理中心tamc判断主体信息并判断该身份的generation time和expiration time,当c||t

g||t<e||t

g||t时说明当前的系统存在重放攻击,此时将拒绝申请。
137.若攻击者oscar截取到访问令牌,并利用 access_u(access_id||access strategy||access attribute)对数据库服务器db进行访问时,由于access_id是访问令牌的唯一控制标识符,并且每一个访问令牌access_token只允许访问一次,访问之后系统将记录access_id并进行保存,因此当系统判断出该access_id已经进行过访问时,便会拒绝攻击者 oscar的访问请求。综上,本技术方案可以抵抗重放攻击。
138.下面结合实验分析对本技术方案的技术效果作详细的描述。
139.本发明基于python语言实现了属性令牌的rsa加解密,具体实验环境如下:操作系统为windows10中文版64位,cpu为inter(r)core(tm) i7

8750h@2.20ghz,内存大小为8gb内存,利用rsa库来生成加解密所需的公私钥对以及实现具体的加解密。
140.如图8所示,本方案分别对长度为128位,256位,512位,1024位的密钥对生成时间进行了实验分析,其中横坐标为密钥长度,单位(bit),纵坐标代表时间,单位(s)。得到所需时间最长的1024位密钥对的生成仅需0.3秒。密钥对的生成速度符合现在医疗环境下对医疗数据使用的高效性需求。
141.在图9

10中,本方案分别以公钥长度和所需加密的明文长度为自变量,加密时间为因变量,判断在本系统在不同公钥长度(分别是128位, 256位,512位,1024位)和不同明文长度(分别是128位,256位,512 位,1024位,2048位)时的加密速度,在得到的20组数据中,利用1024 位公钥加密2048位明文时仅需0.0011秒。
142.而在图11

12中,方法与上述类似,在得到的20组解密密文的数据中,利用1024位私钥解密2048位明文时仅需0.075秒。
143.上述的密钥对生成速度以及在尽可能保证数据安全性条件下的数据加解密速度当下医疗环境对医疗数据使用的高效性需求。
144.需要说明的是,尽管在附图中以特定顺序描述了本公开中方法的各个步骤,但是,这并非要求或者暗示必须按照该特定顺序来执行这些步骤,或是必须执行全部所示的步骤才能实现期望的结果。附加的或备选的,可以省略某些步骤,将多个步骤合并为一个步骤执
行,以及/或者将一个步骤分解为多个步骤执行等。另外,也易于理解的是,这些步骤可以是例如在多个模块/进程/线程中同步或异步执行。
145.进一步的,本示例实施方式中,还提供了一种医疗属性令牌访问控制系统,参考图2中所示,该系统包括:申请及加密模块201、上传数据及策略模块202、凭据生成模块203、凭据验证模块204及发送模块205。其中:
146.所述申请及加密模块201,用于接收令牌申请信息,生成医疗属性令牌并对所述医疗属性令牌进行加密,生成加密的医疗属性令牌;
147.所述数据及策略上传模块202,用于接收医疗数据信息和访问控制策略信息;
148.所述凭据生成模块203,用于根据所述医疗属性令牌的信息以及所述访问控制策略信息生成第一访问凭据信息,并将所述第一访问凭据信息上传到区块链;
149.所述凭据验证模块204,用于接收第二访问凭据信息,并根据所述第二访问凭据信息对所述第一访问凭据信息进行验证;
150.发送模块205,用于当对所述第一访问凭据信息验证成功时,发送所述医疗数据信息。
151.在一个实施例中,该系统还包括:属性上传模块,所述属性上传模块用于在接收令牌申请信息,生成医疗属性令牌之前,接收医疗属性信息,并对所述医疗属性信息进行整合,且将该整合后的所述医疗属性信息上传到区块链。
152.在一个实施例中,所述申请和加密模块201包括:申请模块和加密模块,
153.所述申请模块,用于接收个人信息,且将所述个人信息与整合后的所述医疗属性信息匹配,生成所述医疗属性令牌;
154.所述加密模块,根据所述个人信息,生成对应的公私钥对,利用所述公私钥对中的公钥对所述医疗属性令牌进行加密。
155.在一个实施例中,所述申请和加密模块201还包括:日志上传模块;所述日志上传模块,用于将所述医疗属性令牌的生成过程及加密过程生成日志,并将该日志上传到所述区块链。
156.在一个实施例中,所述数据及策略上传模块202包括:数据上传模块和策略上传模块;
157.所述数据上传模块,用于对所述医疗数据信息进行hash运算生成所述医疗数据信息的摘要值和地址信息,且将所述医疗数据信息的摘要值和地址信息上传到所述区块链;
158.所述策略上传模块,用于对所述访问控制策略信息进行整合,将整合后的所述访问控制策略信息上传到所述区块链。
159.在一个实施例中,所述凭据生成模块包括:第一访问凭据生成模块;
160.所述第一访问凭据生成模块,用于根据所述医疗属性令牌的类型信息进行所述访问控制策略信息的匹配,并根据匹配好的所述访问控制策略信息生成所述第一访问凭据。
161.在一个实施例中,所述凭据生成模块还包括:第一访问凭据日志上传模块;
162.所述第一访问凭据日志上传模块,用于将所述第一访问凭据的生成过程生成访问日志,并将所述访问日志上传到所述区块链。
163.关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
164.应当注意,尽管在上文详细描述中提及了用于动作执行的设备的若干模块或者单元,但是这种划分并非强制性的。实际上,根据本公开的实施方式,上文描述的两个或更多模块或者单元的特征和功能可以在一个模块或者单元中具体化。反之,上文描述的一个模块或者单元的特征和功能可以进一步划分为由多个模块或者单元来具体化。作为模块或单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现木公开方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
165.在本公开的本示例实施例中,还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被例如处理器执行时可以实现上述任意一个实施例中所述医疗属性令牌访问控制方法的步骤。在一些可能的实施方式中,本发明的各个方面还可以实现为一种程序产品的形式,其包括程序代码,当所述程序产品在终端设备上运行时,所述程序代码用于使所述终端设备执行本说明书上述医疗属性令牌访问控制方法部分中描述的根据本发明各种示例性实施方式的步骤。
166.参考图3中所示,描述了根据本发明的实施方式的用于实现上述方法的程序产品300,其可以采用便携式紧凑盘只读存储器(cd

rom)并包括程序代码,并可以在终端设备,例如个人电脑上运行。然而,本发明的程序产品不限于此,在本文件中,可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
167.所述程序产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以为但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、光纤、便携式紧凑盘只读存储器(cd

rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。
168.所述计算机可读存储介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。可读存储介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。可读存储介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、有线、光缆、rf等等,或者上述的任意合适的组合。
169.可以以一种或多种程序设计语言的任意组合来编写用于执行本发明操作的程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如java、c 等,还包括常规的过程式程序设计语言—诸如“c”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络,包括局域网(lan)或广域网(wan),连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。
170.在本公开的示例性实施例中,还提供一种电子设备,该电子设备可以包括处理器,
以及用于存储所述处理器的可执行指令的存储器。其中,所述处理器配置为经由执行所述可执行指令来执行上述任意一个实施例中所述医疗属性令牌访问控制方法的步骤。
171.所属技术领域的技术人员能够理解,本发明的各个方面可以实现为系统、方法或程序产品。因此,本发明的各个方面可以具体实现为以下形式,即:完全的硬件实施方式、完全的软件实施方式(包括固件、微代码等),或硬件和软件方面结合的实施方式,这里可以统称为“电路”、“模块”或“系统”。
172.下面参照图4来描述根据本发明的这种实施方式的电子设备400。图 4显示的电子设备400仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
173.如图4所示,电子设备400以通用计算设备的形式表现。电子设备400 的组件可以包括但不限于:至少一个处理单元410、至少一个存储单元420、连接不同系统组件(包括存储单元420和处理单元410)的总线430、显示单元440等。
174.其中,所述存储单元存储有程序代码,所述程序代码可以被所述处理单元410执行,使得所述处理单元410执行本说明书上述医疗属性令牌访问控制方法部分中描述的根据本发明各种示例性实施方式的步骤。例如,所述处理单元410可以执行如图1中所示的步骤。
175.所述存储单元420可以包括易失性存储单元形式的可读介质,例如随机存取存储单元(ram)4201和/或高速缓存存储单元4202,还可以进一步包括只读存储单元(rom)4203。
176.所述存储单元420还可以包括具有一组(至少一个)程序模块4205 的程序/实用工具4204,这样的程序模块4205包括但不限于:操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。
177.总线430可以为表示几类总线结构中的一种或多种,包括存储单元总线或者存储单元控制器、外围总线、图形加速端口、处理单元或者使用多种总线结构中的任意总线结构的局域总线。
178.电子设备400也可以与一个或多个外部设备500(例如键盘、指向设备、蓝牙设备等)通信,还可与一个或者多个使得用户能与该电子设备400 交互的设备通信,和/或与使得该电子设备400能与一个或多个其它计算设备进行通信的任何设备(例如路由器、调制解调器等等)通信。这种通信可以通过输入/输出(i/o)接口450进行。并且,电子设备400还可以通过网络适配器460与一个或者多个网络(例如局域网(lan),广域网 (wan)和/或公共网络,例如因特网)通信。网络适配器460可以通过总线430与电子设备400的其它模块通信。应当明白,尽管图中未示出,可以结合电子设备400使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、raid系统、磁带驱动器以及数据备份存储系统等。
179.通过以上的实施方式的描述,本领域的技术人员易于理解,这里描述的示例实施方式可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本公开实施方式的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是cd

rom,u盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、或者网络设备等)执行根据本公开实施方式的上述医疗属性令牌访问控制方法。
180.本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其
它实施方案。本技术旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由所附的权利要求指出。
再多了解一些

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

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

相关文献