用于智能医学工程的数据安全共享与隐私保护方法及系统转让专利

申请号 : CN202210169441.9

文献号 : CN114553436B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 王连海徐淑奖

申请人 : 山东省计算中心(国家超级计算济南中心)

摘要 :

本发明提供了一种用于智能医学工程的数据安全共享与隐私保护方法及系统,所述方案包括:使用对称密码算法将数据加密存储在存储服务器中,在区块链上发布数据;使用SGX生成的公钥加密对称密码算法加密密钥,并上链存储;数据请求端通过区块链查询数据资源和请求数据共享服务,数据拥有端通过区块链进行数据使用授权;数据请求端请求智能合约部署服务,区块链部分别署链上合约和链下合约;数据请求端在基于SGX可信执行环境中进行智能医学模型训练,并将结果上链安全存储。本发明所述方案可在保护病人隐私和人工智能模型安全的同时,实现面向智能医学工程的数据安全共享。

权利要求 :

1.一种用于智能医学工程的数据安全共享与隐私保护方法,其特征在于,包括:

S1:数据拥有端通过加密密钥对明文数据加密,并上传至存储服务器;所述数据拥有端将明文数据Hash值和数据描述性信息上传至区块链进行发布,同时,利用SGX生成的公钥对所述加密密钥进行加密,并上传至区块链进行存储;

S2:所述区块链接收数据请求端的数据查询和数据请求服务,并接收数据请求端的请求进行链上和链下智能合约部署,具体为:对于查询到的数据,所述数据请求端通过区块链请求数据使用服务;所述区块链查询数据拥有端的授权信息,若已授权,则服务请求端在收到数据使用许可后,向区块链请求部署智能合约;若未授权,则区块链将服务请求端的数据请求转发给数据拥有端,数据拥有端通过区块链授权数据请求端使用数据;

S3:所述区块链通过链上合约将使用SGX生成的公钥加密的明文数据加密密钥和明文数据Hash值发送给链下合约;

S4:所述数据请求端在链下SGX环境中执行链下合约,其中,所述链下合约包括:使用SGX对应的私钥解密加密密钥,从所述存储服务器下载加密数据并通过所述加密密钥进行解密;通过解密获得的明文数据进行智能医学模型的训练,并将训练好的模型上传至所述区块链。

2.如权利要求1所述的一种用于智能医学工程的数据安全共享与隐私保护方法,其特征在于,所述从所述存储服务器下载加密数据并通过所述加密密钥进行解密,对于解密后的数据,采用明文数据Hash值进行数据完整性校验。

3.如权利要求1所述的一种用于智能医学工程的数据安全共享与隐私保护方法,其特征在于,所述通过解密获得的明文数据进行智能医学模型的训练,并将训练好的模型上传至所述区块链,具体为:所述链下合约将训练好的结果返回给链上合约;所述链上合约将训练好的模型上传至区块链进行共享。

4.如权利要求1所述的一种用于智能医学工程的数据安全共享与隐私保护方法,其特征在于,所述通过加密密钥对明文数据加密,采用的加密算法为对称密码算法。

5.一种用于智能医学工程的数据安全共享与隐私保护系统,其特征在于,包括:

数据拥有端,其用于通过加密密钥对明文数据加密,并上传至存储服务器;同时,将明文数据Hash值和数据描述性信息上传至区块链进行发布,利用SGX生成的公钥对所述加密密钥进行加密,并上传至区块链进行存储;

区块链,其用于接收数据请求端的数据查询和数据请求服务,并接收数据请求端的请求进行链上和链下智能合约部署,具体为:对于查询到的数据,所述数据请求端通过区块链请求数据使用服务;所述区块链查询数据拥有端的授权信息,若已授权,则服务请求端在收到数据使用许可后,向区块链请求部署智能合约;若未授权,则区块链将服务请求端的数据请求转发给数据拥有端,数据拥有端通过区块链授权数据请求端使用数据;通过链上合约将使用SGX生成的公钥加密的明文数据加密密钥和明文数据Hash值发送给链下合约;

数据请求端,其用于向区块链发出数据查询和数据请求服务请求,并在链下SGX环境中执行链下合约,其中,所述链下合约包括:使用SGX对应的私钥解密加密密钥,从所述存储服务器下载加密数据并通过所述加密密钥进行解密;通过解密获得的明文数据进行智能医学模型的训练,并将训练好的模型上传至所述区块链;

存储服务器,其用于进行加密后的明文数据存储及访问请求。

6.如权利要求5所述的一种用于智能医学工程的数据安全共享与隐私保护系统,其特征在于,所述通过加密密钥对明文数据加密,采用的加密算法为对称密码算法。

说明书 :

用于智能医学工程的数据安全共享与隐私保护方法及系统

技术领域

[0001] 本发明属于数据安全与隐私保护技术领域,尤其涉及一种用于智能医学工程的数据安全共享与隐私保护方法及系统。

背景技术

[0002] 本部分的陈述仅仅是提供了与本发明相关的背景技术信息,不必然构成在先技术。
[0003] 随着人工智能技术的快速发展和应用的深入,学者们建立了多个医学人工智能模型,使用医学数据,特别是专科病历数据进行智能分析和智能决策,应用于药物研发、智能诊断、医学影像识别和精准医疗等方面,并且已经取得了丰硕的研究成果。
[0004] 发明人发现,人工智能医学需要多家医疗机构、医药企业或个人提供病历、医学影像和药物等医疗数据,进行大量的样本标注和学习训练;但是,医疗数据具有隐私性和敏感性等特征,因为存在数据安全和隐私泄露风险,医疗机构、医药企业和个人往往不愿意共享这些数据,这在一定程度上阻碍了人工智能医学的快速发展,尽管学者们提出了多种隐私保护方案,但是由于其性能受限,严重影响了数据共享的效率,在实用性方面还存在着一些不足之处,例如,由于需要耗费大量的计算资源,以同态加密为代表的密文计算方法难以适用于海量数据的应用场景;安全多方计算适合于参与方较少场景下的隐私防护,但不适合于参与方高动态变化场景下的隐私防护;由于数据的可用性和隐私保护的效果相互制约,数据脱敏降低了数据的可用性。

发明内容

[0005] 本发明为了解决上述问题,提供了一种用于智能医学工程的数据安全共享与隐私保护方法及系统,所述方案通过链上链下协同的方式,实现数据使用授权及智能合约部署;链下合约在基于SGX可信执行环境中进行智能医学模型训练,并将结果上链安全存储;在保护病人隐私和人工智能模型安全的同时,高效的实现面向智能医学工程数据共享应用。
[0006] 根据本发明实施例的第一个方面,提供了一种用于智能医学工程的数据安全共享与隐私保护方法,包括:
[0007] S1:数据拥有端通过加密密钥对明文数据加密,并上传至存储服务器;所述数据拥有端将明文数据Hash值和数据描述性信息上传至区块链进行发布,同时,利用SGX生成的公钥对所述加密密钥进行加密,并上传至区块链进行存储;
[0008] S2:所述区块链接收数据请求端的数据查询和数据请求服务,并接收数据请求端的请求进行链上和链下智能合约部署;
[0009] S3:所述区块链通过链上合约将使用SGX生成的公钥加密的明文数据加密密钥和明文数据Hash值发送给链下合约;
[0010] S4:所述数据请求端在链下SGX环境中执行链下合约,其中,所述链下合约包括:使用SGX对应的私钥解密加密密钥,从所述存储服务器下载加密数据并通过所述加密密钥进行解密;通过解密获得的明文数据进行智能医学模型的训练,并将训练好的模型上传至所述区块链。
[0011] 进一步的,所述区块链接收数据请求端的数据查询和数据请求服务,具体为:对于查询到的数据,所述数据请求端通过区块链请求数据使用服务;所述区块链查询数据拥有端的授权信息,若已授权,则服务请求端在收到数据使用许可后,向区块链请求部署智能合约。
[0012] 进一步的,若未授权,则区块链将服务请求端的数据请求转发给数据拥有端,数据拥有端通过区块链授权数据请求端使用数据。
[0013] 进一步的,所述从所述存储服务器下载加密数据并通过所述加密密钥进行解密,对于解密后的数据,采用明文数据Hash值进行数据完整性校验。
[0014] 进一步的,所述通过解密获得的明文数据进行智能医学模型的训练,并将训练好的模型上传至所述区块链,具体为:所述链下合约将训练好的结果返回给链上合约;所述链上合约将训练好的模型上传至区块链进行共享。
[0015] 进一步的,所述通过加密密钥对明文数据加密,采用的加密算法为对称密码算法。
[0016] 根据本发明实施例的第二个方面,提供了一种用于智能医学工程的数据安全共享与隐私保护系统,包括:
[0017] 数据拥有端,其用于通过加密密钥对明文数据加密,并上传至存储服务器;同时,将明文数据Hash值和数据描述性信息上传至区块链进行发布,利用SGX生成的公钥对所述加密密钥进行加密,并上传至区块链进行存储;
[0018] 区块链,其用于接收数据请求端的数据查询和数据请求服务,并接收数据请求端的请求进行链上和链下智能合约部署;通过链上合约将使用SGX生成的公钥加密的明文数据加密密钥和明文数据Hash值发送给链下合约;
[0019] 数据请求端,其用于向区块链发出数据查询和数据请求服务请求,并在链下SGX环境中执行链下合约,其中,所述链下合约包括:使用SGX对应的私钥解密加密密钥,从所述存储服务器下载加密数据并通过所述加密密钥进行解密;通过解密获得的明文数据进行智能医学模型的训练,并将训练好的模型上传至所述区块链;
[0020] 存储服务器,其用于进行加密后的明文数据存储及访问请求。
[0021] 与现有技术相比,本发明的有益效果是:
[0022] (1)本发明提供了一种面向智能医学工程的数据安全共享与隐私保护方法和系统,所述方案支持数据加密存储、基于区块链的数据资源发布和数据授权使用;通过链上链下协同的方式,实现数据使用授权及智能合约部署;链下合约在基于SGX可信执行环境中进行智能医学模型训练,并将结果上链安全存储;在保护病人隐私和人工智能模型安全的同时,高效的实现面向智能工程数据共享应用。
[0023] (2)本发明使用SGX在不泄露隐私的情况下实现了智能医学模型训练,有力保障了共享数据的安全性和病人隐私;与未使用区块链的现有技术对比,本发明基于区块链实现数据资源发布、数据使用授权、加密后的密钥存储、智能医学模型训练结果存储,既保障了上链数据的可信性和安全性,又提升了数据共享的安全性;与基于区块链的现有技术对比,本发明将加密数据单独链外存储,通过链上链下协同方式实现模型训练,减轻了区块链的负担,提高了数据共享的效率。
[0024] 本发明附加方面的优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。

附图说明

[0025] 构成本发明的一部分的说明书附图用来提供对本发明的进一步理解,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。
[0026] 图1为本发明实施例中所述的一种用于智能医学工程的数据安全共享与隐私保护方法流程图;
[0027] 图2为本发明实施例中所述的链上链下协同数据安全共享与隐私保护方法示意图;
[0028] 图3为本发明实施例中所述的一种用于智能医学工程的数据安全共享与隐私保护系统结构示意图。

具体实施方式

[0029] 下面结合附图与实施例对本发明做进一步说明。
[0030] 应该指出,以下详细说明都是示例性的,旨在对本发明提供进一步的说明。除非另有指明,本文使用的所有技术和科学术语具有与本发明所属技术领域的普通技术人员通常理解的相同含义。
[0031] 需要注意的是,这里所使用的术语仅是为了描述具体实施方式,而非意图限制根据本发明的示例性实施方式。如在这里所使用的,除非上下文另外明确指出,否则单数形式也意图包括复数形式,此外,还应当理解的是,当在本说明书中使用术语“包含”和/或“包括”时,其指明存在特征、步骤、操作、器件、组件和/或它们的组合。
[0032] 在不冲突的情况下,本发明中的实施例及实施例中的特征可以相互组合。
[0033] 术语解释:
[0034] SGX(software guard extensions):其是Intel指令集架构的一个扩展,在内存中提供一个加密的可信执行区域,以硬件安全为强制性保障,不依赖于固件和软件的安全状态,由CPU保护数据和隐私不被恶意窃取。
[0035] 实施例一:
[0036] 本实施例的目的是提供一种用于智能医学工程的数据安全共享与隐私保护方法。
[0037] 一种用于智能医学工程的数据安全共享与隐私保护方法,包括:
[0038] S1:数据拥有端通过加密密钥对明文数据加密,并上传至存储服务器;所述数据拥有端将明文数据Hash值和数据描述性信息上传至区块链进行发布,同时,利用SGX生成的公钥对所述加密密钥进行加密,并上传至区块链进行存储;
[0039] S2:所述区块链接收数据请求端的数据查询和数据请求服务,并接收数据请求端的请求进行链上和链下智能合约部署(如图2所示展示了链上链下协同数据安全共享与隐私保护方法示意图);
[0040] S3:所述区块链通过链上合约将使用SGX生成的公钥加密的明文数据加密密钥和明文数据Hash值发送给链下合约;
[0041] S4:所述数据请求端在链下SGX环境中执行链下合约,其中,所述链下合约包括:使用SGX对应的私钥解密加密密钥,从所述存储服务器下载加密数据并通过所述加密密钥进行解密;通过解密获得的明文数据进行智能医学模型的训练,并将训练好的模型上传至所述区块链。
[0042] 进一步的,所述区块链接收数据请求端的数据查询和数据请求服务,具体为:对于查询到的数据,所述数据请求端通过区块链请求数据使用服务;所述区块链查询数据拥有端的授权信息,若已授权,则服务请求端在收到数据使用许可后,向区块链请求部署智能合约。
[0043] 进一步的,若未授权,则区块链将服务请求端的数据请求转发给数据拥有端,数据拥有端通过区块链授权数据请求端使用数据。
[0044] 进一步的,所述从所述存储服务器下载加密数据并通过所述加密密钥进行解密,对于解密后的数据,采用明文数据Hash值进行数据完整性校验。
[0045] 进一步的,所述通过解密获得的明文数据进行智能医学模型的训练,并将训练好的模型上传至所述区块链,具体为:所述链下合约将训练好的结果返回给链上合约;所述链上合约将训练好的模型上传至区块链进行共享。
[0046] 进一步的,所述通过加密密钥对明文数据加密,采用的加密算法为对称密码算法。
[0047] 具体的,为了便于理解,以下结合附图对本公开所述方案进行详细说明:
[0048] 为了保障共享医学数据安全和病人隐私、提高医学数据拥有端共享数据的积极性,本发明提供了一种用于智能医学工程的数据安全共享与隐私保护方法,所述方法支持数据加密存储、基于区块链的数据资源发布和数据授权使用;通过链上链下协同的方式,实现数据使用授权及智能合约部署;链下合约在基于SGX可信执行环境中进行智能医学模型训练,并将结果上链安全存储;在保护病人隐私和人工智能模型安全的同时,高效的实现面向智能工程数据共享应用。
[0049] 如图1所示,一种用于智能医学工程的数据安全共享与隐私保护方法,其步骤如下:
[0050] 步骤(1):数据加密存储:区块链注册用户数据拥有端A生成明文数据Hash值,使用对称密码算法加密其所拥有的明文数据,并将密文数据上传到存储服务器存储。
[0051] 步骤(2):数据发布:数据拥有端A将明文数据Hash值和数据描述性信息上传到区块链,发布数据。
[0052] 步骤(3):密钥加密并上链存储:数据拥有端A使用SGX生成的公钥加密对称密码算法的加密密钥,并上传到区块链存储。
[0053] 步骤(4):查找数据:区块链注册用户数据请求端B在链上进行查询数据资源,找到需要使用的数据。
[0054] 步骤(5):请求数据使用服务:数据请求端B通过区块链请求数据使用服务。
[0055] 步骤(6):数据使用请求转发:区块链查询数据拥有端A的授权信息,如果已经授权,转至步骤(8);否则将数据请求端B的数据使用请求转发给数据拥有端A。
[0056] 步骤(7):数据使用授权:数据拥有端A通过区块链授权数据请求端B使用数据。
[0057] 步骤(8):合约部署请求:数据请求端在收到数据使用许可后,向区块链请求部署智能合约。
[0058] 步骤(9):区块链部署链上合约和链下合约,并通过链上合约将使用SGX生成的公钥加密的明文数据加密密钥和明文Hash值发送给链下合约。
[0059] 步骤(10):链下合约执行:数据请求端在链下SGX环境中执行链下合约。
[0060] 步骤(10.1):下载加密后的数据加密密钥和明文数据Hash值,使用SGX对应的私钥解密加密密钥;
[0061] 步骤(10.2):下载加密数据,并解密;
[0062] 步骤(10.3):使用明文Hash值,进行数据完整性校验;
[0063] 步骤(10.4):智能医学模型学习训练;
[0064] 步骤(10.5):返回训练结果给链上合约。
[0065] 步骤(11):结果上链:链下合约通过链上合约将智能医学模型训练结果上传至区块链存储。
[0066] 实施例二:
[0067] 本实施例的目的是提供一种用于智能医学工程的数据安全共享与隐私保护系统。
[0068] 一种用于智能医学工程的数据安全共享与隐私保护系统,包括:
[0069] 数据拥有端,其用于通过加密密钥对明文数据加密,并上传至存储服务器;同时,将明文数据Hash值和数据描述性信息上传至区块链进行发布,利用SGX生成的公钥对所述加密密钥进行加密,并上传至区块链进行存储;
[0070] 区块链,其用于接收数据请求端的数据查询和数据请求服务,并接收数据请求端的请求进行链上和链下智能合约部署;通过链上合约将使用SGX生成的公钥加密的明文数据加密密钥和明文数据Hash值发送给链下合约;
[0071] 数据请求端,其用于向区块链发出数据查询和数据请求服务请求,并在链下SGX环境中执行链下合约,其中,所述链下合约包括:使用SGX对应的私钥解密加密密钥,从所述存储服务器下载加密数据并通过所述加密密钥进行解密;通过解密获得的明文数据进行智能医学模型的训练,并将训练好的模型上传至所述区块链;
[0072] 存储服务器,其用于进行加密后的明文数据存储及访问请求。
[0073] 进一步的,所述区块链接收数据请求端的数据查询和数据请求服务,具体为:对于查询到的数据,所述数据请求端通过区块链请求数据使用服务;所述区块链查询数据拥有端的授权信息,若已授权,则服务请求端在收到数据使用许可后,向区块链请求部署智能合约。
[0074] 进一步的,若未授权,则区块链将服务请求端的数据请求转发给数据拥有端,数据拥有端通过区块链授权数据请求端使用数据。
[0075] 进一步的,所述通过加密密钥对明文数据加密,采用的加密算法为对称密码算法。
[0076] 具体的,为了便于理解,以下结合附图对本公开所述方案进行详细说明:
[0077] 如图3所示,一种用于智能医学工程的数据安全共享与隐私保护系统,包括数据服务模块、数据存储器、区块链和SGX模块;其中:
[0078] (1)数据服务模块,数据拥有端A通过数据服务模块实现数据加密存储、数据发布和使用授权;包括:
[0079] 数据拥有端生成明文数据Hash值,使用数据加密模块加密明文数据,并上传至数据存储服务器存储;(数据加密存储);
[0080] 数据拥有端将明文Hash值和数据信息上传至区块链,通过区块链发布数据;(数据发布)
[0081] 数据拥有端使用SGX生成的公钥加密数据加密密钥,并上传至区块链存储;(使用授权)
[0082] 数据拥有端通过数据服务模块对区块链转发的数据使用请求进行授权。
[0083] (2)存储服务器,存储加密后的明文数据。
[0084] (3)区块链:实现数据资源发布、数据资源查询、智能合约部署等功能;包括:
[0085] 接收数据拥有端A上传的明文数据Hash指及数据信息,并发布数据;
[0086] 接收使用SGX生成的公钥加密后的加密密钥;
[0087] 数据请求端通过区块链查询数据资源,查找需求的数据;
[0088] 接收数据请求端B的数据使用请求,查询数据拥有端授权信息,如果已授权,则转发数据使用许可给数据请求端B;否则,转发给数据拥有端A;
[0089] 接收数据拥有端A的授权信息;
[0090] 转发数据使用许可给数据请求端B;
[0091] 接收数据请求端B的智能合约部署请求;
[0092] 为数据请求端B部署智能合约,包括链上合约和链下合约;
[0093] 通过链上合约将使用SGX生成的公钥加密的明文数据加密密钥和明文Hash值发送给链下合约;
[0094] 通过链上合约接收链下合约发来的智能医学模型训练结果,并存储。
[0095] (4)SGX模块:设置在数据请求端电脑上,用于部署和执行链下合约,包括:
[0096] 部署链下合约;
[0097] 使用链下合约接收加密后的数据加密密钥和明文数据Hash值,使用SGX对应的私钥解密加密密钥;
[0098] 下载加密数据,并解密;
[0099] 使用明文Hash值,进行数据完整性校验;
[0100] 智能医学模型学习训练;
[0101] 返回训练结果给链上合约。
[0102] 在更多实施例中,还提供:
[0103] 一种电子设备,包括存储器和处理器以及存储在存储器上并在处理器上运行的计算机指令,所述计算机指令被处理器运行时,完成实施例一中所述的方法。为了简洁,在此不再赘述。
[0104] 应理解,本实施例中,处理器可以是中央处理单元CPU,处理器还可以是其他通用处理器、数字信号处理器DSP、专用集成电路ASIC,现成可编程门阵列FPGA或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
[0105] 存储器可以包括只读存储器和随机存取存储器,并向处理器提供指令和数据、存储器的一部分还可以包括非易失性随机存储器。例如,存储器还可以存储设备类型的信息。
[0106] 一种计算机可读存储介质,用于存储计算机指令,所述计算机指令被处理器执行时,完成实施例一中所述的方法。
[0107] 实施例一中的方法可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器、闪存、只读存储器、可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成上述方法的步骤。为避免重复,这里不再详细描述。
[0108] 本领域普通技术人员可以意识到,结合本实施例描述的各示例的单元即算法步骤,能够以电子硬件或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
[0109] 上述实施例提供的一种用于智能医学工程的数据安全共享与隐私保护方法及系统可以实现,具有广阔的应用前景。
[0110] 以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。