CN115242518B - 混合云环境下医疗健康数据保护系统与方法 - Google Patents

混合云环境下医疗健康数据保护系统与方法 Download PDF

Info

Publication number
CN115242518B
CN115242518B CN202210878353.6A CN202210878353A CN115242518B CN 115242518 B CN115242518 B CN 115242518B CN 202210878353 A CN202210878353 A CN 202210878353A CN 115242518 B CN115242518 B CN 115242518B
Authority
CN
China
Prior art keywords
data
encryption
key
attribute
information
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
Application number
CN202210878353.6A
Other languages
English (en)
Other versions
CN115242518A (zh
Inventor
鲜湛
贺昕
曾柏霖
张海滨
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shenzhen Wanhaisi Digital Medical Co ltd
Original Assignee
Shenzhen Wanhaisi Digital Medical Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Shenzhen Wanhaisi Digital Medical Co ltd filed Critical Shenzhen Wanhaisi Digital Medical Co ltd
Priority to CN202210878353.6A priority Critical patent/CN115242518B/zh
Publication of CN115242518A publication Critical patent/CN115242518A/zh
Application granted granted Critical
Publication of CN115242518B publication Critical patent/CN115242518B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/604Tools and structures for managing or administering access control systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • G06F21/6245Protecting personal data, e.g. for financial or medical purposes
    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16HHEALTHCARE INFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR THE HANDLING OR PROCESSING OF MEDICAL OR HEALTHCARE DATA
    • G16H10/00ICT specially adapted for the handling or processing of patient-related medical or healthcare data
    • G16H10/60ICT specially adapted for the handling or processing of patient-related medical or healthcare data for patient-specific data, e.g. for electronic patient records
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • H04L63/0435Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload wherein the sending and receiving network entities apply symmetric encryption, i.e. same key used for encryption and decryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/20Network architectures or network communication protocols for network security for managing network security; network security policies in general
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Medical Informatics (AREA)
  • Primary Health Care (AREA)
  • Public Health (AREA)
  • Epidemiology (AREA)
  • Automation & Control Theory (AREA)
  • Databases & Information Systems (AREA)
  • Storage Device Security (AREA)

Abstract

本发明公开了一种混合云环境下医疗健康数据保护系统与方法,混合云环境下医疗健康数据保护系统包括:数据属主客户端、后台服务模块、云服务器、认证中心、数据请求客户端,后台服务模块包括数据解析单元和数据加密存储单元,数据加密存储单元用于使用加密密钥对数据信息进行加密得到第二加密信息,根据公钥和访问策略将加密密钥进行加密得到密钥密文,构建属性隐藏过滤器隐藏访问策略的策略函数,将第二加密信息、密钥密文和属性隐藏过滤器上传至云服务器。通过采用两层加密机制,首先对数据信息进行加密保证数据信息的机密性,再对加密密钥进行加密,保证加密密钥的安全性,从而保证第二加密信息的安全性。

Description

混合云环境下医疗健康数据保护系统与方法
技术领域
本发明涉及信息安全技术领域,更具体地,涉及一种混合云环境下医疗健康数据保护系统与方法。
背景技术
5G、物联网、边缘计算、雾计算、云计算、大数据等技术的发展以及电子病历结构化的普及,推动了线上医疗行业的发展,催生出新的医疗模式,即智慧医疗。
智慧医疗服务不仅提高了医疗与健康咨询的精准度,且打破了地域的限制,给用户使用健康服务带来了便捷。由于医疗大数据在云端存储且医疗数据爆发式增长,敏感数据在存储和传输过程中存在被非法获取或篡改的风险,并且医疗数据中包含大量用户的隐私信息,因此如何保护医疗数据保密性以及隐私性有重要的意义。具体的,智慧医疗通过加速医疗数据在整个医疗生态中的流动和开放来提高服务质量,然而医疗数据流动得越快越广,带来的安全隐患也更加严重,尤其是涉及个人敏感信息的医疗数据所面临的安全风险更为突出,因而,智慧医疗网络的的安全与隐私保护研究是保障智慧医疗快速发展的重要基础。智慧医疗网络中的智能设备为了便携性、可穿戴,不得不设计成“小、轻、便于携带”的样式,致使智能设备无法配备足够的存储空间和计算能力,数以亿计的智能设备不间断地收集医疗数据,这些医疗数据不可避免地要存储到云端,医疗数据脱离设备意味着用户失去了部分控制权,带来医疗数据泄露、非授权、隐私泄露等新的安全隐患。鉴于智能设备远且多,云中心强大但集中的特点,雾计算、边缘计算技术作为沟通两者的桥梁,在帮助智能设备执行数据缓存和本地计算来缓解网络拥塞、减少时延的同时,也会造成非授权访问、数据篡改等安全隐患,这些安全隐患限制了智慧医疗服务在现实生活中的有效推广。
目前用户的医疗数据的收集、存储、管理与使用等均缺乏规范,更缺乏监管,主要依靠企业的自律,用户无法确定自己的隐私信息的用途。而在商业化场景中,用户应有权决定自己的信息如何被利用,实现用户可控的隐私保护,例如用户可以决定自己的信息何时以何种形式披露,何时被销毁。如何在不泄露用户隐私的前提下,提高医疗数据的利用率,挖掘其中蕴藏的价值,也是目前制约智慧医疗发展的重要因素。因此,医疗健康大数据的全生命周期中,需要在充分利用医疗数据的同时,严密防范隐私泄漏,力图在医疗数据利用和隐私保护二者之间找到一个平衡。
为保护医疗数据的机密性,必须使用适当的加密方案,使用传统的对称加密方法对医疗健康大数据进行加密,虽然在加解密速度上有所保障,但因为医疗大数据存储系统面对着大量用户,也导致了传统的对称加密算法的密钥分发过程过于复杂,所以对称加密并不适用于对医疗健康大数据进行加密。非对称加密方法,其密钥相对易于管理,但对于不断增长的医疗健康大数据而言,计算开销过大,同样也不适用。为解决混合云计算环境下,对医疗健康数据实现细粒度的访问控制的同时保护用户隐私是智慧医疗平台需要解决的关键问题。作为一种支持细粒度访问控制的加密方案,基于属性的加密(Ciphertext-Policy Attribute-Based Encryption CP-ABE)被广泛研究。许多研究人员提出了适用不同场景的CP-ABE的变体。现有的CP-ABE方案不能直接应用于智慧医疗场景,这些方案要么要求CP-ABE要求策略明文传输,要么只支持部分策略隐藏。前者会导致用户敏感属性信息完全泄漏,后者则会引起攻击者对健康医疗数据的特殊关注。此外,这些方案没有考虑服务器端数据的可信删除。当第三方服务器没有诚实地执行用户的删除请求时,数据拥有者认为已经删除的个人健康数据可能依然能够在网络上传播。
因此,提供一种混合云环境下医疗健康数据保护系统与方法是亟待解决的问题。
发明内容
有鉴于此,本发明提供了一种混合云环境下医疗健康数据保护系统与方法,本发明提供的一种混合云环境下医疗健康数据保护系统,包括:
数据属主客户端,与后台服务模块耦接,用于提供数据信息、为所述数据信息制定访问策略、采用编码密钥对具有所述访问策略的所述数据信息进行加密得到第一加密信息,向所述后台服务模块上传所述第一加密信息;
所述后台服务模块,分别与所述数据属主客户端、认证中心、云服务器耦接,所述后台服务模块包括数据解析单元和数据加密存储单元,所述数据解析单元用于对所述第一加密信息进行解密得到所述数据信息并传递给所述数据加密存储单元,所述数据加密存储单元用于使用加密密钥对所述数据信息进行加密得到第二加密信息,根据公钥和所述访问策略将所述加密密钥进行加密得到密钥密文,构建属性隐藏过滤器隐藏所述访问策略的策略函数,将所述第二加密信息、所述密钥密文和所述属性隐藏过滤器上传至所述云服务器;
所述云服务器,分别与所述后台服务模块、所述认证中心、数据请求客户端耦接,用于存储所述第二加密信息、所述密钥密文和所述属性隐藏过滤器;
所述认证中心,分别与所述后台服务模块、所述云服务器、所述数据请求客户端耦接,用于接收所述数据请求客户端的访问请求时,更新所述访问策略和所述属性隐藏过滤器,判断所述数据请求客户端的自身属性是否满足更新后的所述访问策略的要求,若符合要求,根据所述数据请求客户端的自身属性、所述公钥、所述属性隐藏过滤器获取更新后的所述访问策略对应的第二策略函数,再根据所述第二策略函数得到所述更新后的所述访问策略发送至所述数据请求客户端;
所述数据请求客户端,分别与所述云服务器、所述认证中心耦接,用于根据所述更新后的所述访问策略和私钥解密所述密钥密文得到所述加密密钥,再根据所述加密密钥获取所述第二加密信息对应的所述数据信息。
另一方面,本发明提供了一种混合云环境下医疗健康数据保护方法,应用于上述任一项所述的混合云环境下医疗健康数据保护系统,包括:
数据属主客户端提供数据信息、为所述数据信息制定访问策略、采用编码密钥对具有所述访问策略的所述数据信息进行加密得到第一加密信息,向后台服务模块上传所述第一加密信息;
所述后台服务模块包括数据解析单元和数据加密存储单元,所述数据解析单元对所述第一加密信息进行解密得到所述数据信息并传递给所述数据加密存储单元,所述数据加密存储单元使用加密密钥对所述数据信息进行加密得到第二加密信息,根据公钥和所述访问策略将所述加密密钥进行加密得到密钥密文,构建属性隐藏过滤器隐藏所述访问策略的策略函数,将所述第二加密信息、所述密钥密文和所述属性隐藏过滤器上传至云服务器;
所述云服务器存储所述第二加密信息、所述密钥密文和所述属性隐藏过滤器;
认证中心接收数据请求客户端的访问请求时,更新所述访问策略和所述属性隐藏过滤器,判断所述数据请求客户端的自身属性是否满足更新后的所述访问策略的要求,若符合要求,根据所述数据请求客户端的自身属性、所述公钥、所述属性隐藏过滤器获取更新后的所述访问策略对应的第二策略函数,再根据所述第二策略函数得到所述更新后的所述访问策略发送至所述数据请求客户端;
所述数据请求客户端根据所述更新后的所述访问策略和私钥解密所述密钥密文得到所述加密密钥,再根据所述加密密钥获取所述第二加密信息对应的所述数据信息。
与现有技术相比,本发明提供的混合云环境下医疗健康数据保护系统与方法,至少实现了如下的有益效果:
本发明提供的混合云环境下医疗健康数据保护系统中数据解析单元用于对第一加密信息进行解密得到数据信息并传递给数据加密存储单元,数据加密存储单元用于使用加密密钥对数据信息进行加密得到第二加密信息,根据公钥和访问策略将加密密钥进行加密得到密钥密文,构建属性隐藏过滤器隐藏访问策略的策略函数,将第二加密信息、密钥密文和属性隐藏过滤器上传至云服务器,通过采用两层加密机制,首先对数据信息进行加密保证数据信息的机密性,再对加密密钥进行加密,保证加密密钥的安全性,从而保证第二加密信息的安全性。认证中心用于接收数据请求客户端的访问请求时,更新访问策略和属性隐藏过滤器,每次更新访问策略都是随机的,使每次访问时更新的访问策略都不同,能够保证访问退出后无法再得到传送的信息,再次访问时也无法直接获取之前得到的信息,满足向前向后的安全性。判断数据请求客户端的自身属性是否满足更新后的访问策略的要求,若符合要求,根据数据请求客户端的自身属性、公钥、属性隐藏过滤器获取更新后的访问策略对应的第二策略函数,再根据第二策略函数得到更新后的访问策略发送至数据请求客户端;数据请求客户端用于根据更新后的访问策略和私钥解密密钥密文得到加密密钥,再根据加密密钥获取第二加密信息对应的数据信息,即只有自身属性符合访问更新后的的访问策略的数据请求客户段才能获取加密密钥,不符合更新后的访问策略的数据请求者由于无法知悉策略函数,无法获取更新后的访问策略,也无法在多项式时间内暴力破解,保证更新后的访问策略的安全。
当然,实施本发明的任一产品必不特定需要同时达到以上所述的所有技术效果。
通过以下参照附图对本发明的示例性实施例的详细描述,本发明的其它特征及其优点将会变得清楚。
附图说明
被结合在说明书中并构成说明书的一部分的附图示出了本发明的实施例,并且连同其说明一起用于解释本发明的原理。
图1是本发明提供的混合云环境下医疗健康数据保护系统的一种结构示意图;
图2是本发明提供的混合云环境下医疗健康数据保护系统的另一种结构示意图;
图3是本发明提供的混合云环境下医疗健康数据保护系统的又一种结构示意图;
图4是本发明提供的混合云环境下医疗健康数据保护系统的又一种结构示意图;
图5是属性布谷鸟过滤器的建构示意图;
图6是疾病属性的脱离敏感数据信息的流程;
图7是用户、属性、文件和策略的流程图;
图8是本发明提供的混合云环境下医疗健康数据保护方法的一种流程图;
1-数据属主客户端,2-后台服务模块,3-认证中心,4-云服务器,5-数据解析单元,6-数据加密存储单元,7-数据请求客户端,8-初始化单元,9-医疗服务客户端,10-数据脱敏单元,11-删除验证单元。
具体实施方式
现在将参照附图来详细描述本发明的各种示例性实施例。应注意到:除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对布置、数字表达式和数值不限制本发明的范围。以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本发明及其应用或使用的任何限制。在这里示出和讨论的所有例子中,任何具体值应被解释为仅仅是示例性的,而不是作为限制。因此,示例性实施例的其它例子可以具有不同的值。
参照图1、图2和图3,图1是本发明提供的混合云环境下医疗健康数据保护系统的一种结构示意图,图2是是本发明提供的混合云环境下医疗健康数据保护系统的另一种结构示意图,图3是本发明提供的混合云环境下医疗健康数据保护系统的又一种结构示意图,本实施例提供一种具体的混合云环境下医疗健康数据保护系统,包括:
数据属主客户端1,与后台服务模块2耦接,用于提供数据信息、为数据信息制定访问策略、采用编码密钥对具有访问策略的数据信息进行加密得到第一加密信息,向后台服务模块2上传第一加密信息;
后台服务模块2,分别与数据属主客户端1、认证中心3、云服务器4耦接,后台服务模块2包括数据解析单元5和数据加密存储单元6,数据解析单元5用于对第一加密信息进行解密得到数据信息并传递给数据加密存储单元6,数据加密存储单元6用于使用加密密钥对数据信息进行加密得到第二加密信息,根据公钥和访问策略将加密密钥进行加密得到密钥密文,构建属性隐藏过滤器隐藏访问策略的策略函数,将第二加密信息、密钥密文和属性隐藏过滤器上传至云服务器4;
云服务器4,分别与后台服务模块2、认证中心3、数据请求客户端7耦接,用于存储第二加密信息、密钥密文和属性隐藏过滤器;
认证中心3,分别与后台服务模块2、云服务器4、数据请求客户端7耦接,用于接收数据请求客户端7的访问请求时,更新访问策略和属性隐藏过滤器,判断数据请求客户端7的自身属性是否满足更新后的访问策略的要求,若符合要求,根据数据请求客户端7的自身属性、公钥、属性隐藏过滤器获取更新后的访问策略对应的第二策略函数,再根据第二策略函数得到更新后的访问策略发送至数据请求客户端7;
数据请求客户端7,分别与云服务器4、认证中心3耦接,用于根据更新后的访问策略和私钥解密密钥密文得到加密密钥,再根据加密密钥获取第二加密信息对应的数据信息。
需要说明的是,混合云环境为私有云环境和公有云环境共存的环境,在图2中未示意出后台服务模块2,属性隐藏过滤器优选为属性布谷鸟过滤器(ACF),访问策略是数据属主客户端1对数据请求客户端7能够访问哪些属性的授权,数据信息包括企业和用户信息、医疗健康档案、医疗健康服务提供者信息、视频、图片等,将加密后的数据信息连同访问策略一起上传至云服务器4,供其他合作用户访问并使用这些数据,具体的,其他合作用户通过数据请求客户端7进行访问。认证中心3和后台服务模块2位于可信计算环境中,即私有云环境内,云服务器4为半可信计算环境,即公有云环境,认证中心3负责属性授权与认证服务,具体的,它负责管理系统中数据属主客户端1制定的访问策略所需的所有属性,并且负责属性的分配以及权限的授予,包括系统各个阶段的授权、认证算法以及密钥的生成。认证中心3的数量可以为多个,多个认证中心3服务为无状态服务,可集群部署,提供高可靠认证服务,认证中心3还负责访问策略的动态更新。数据请求客户端7访问云服务器4时,云服务器4会发送指令将访问策略动态更新,使数据请求客户端7每次访问资源时的访问策略的策略矩阵都发生改变。数据请求客户端7是系统的访问者,基于数据属主客户端1制定的访问策略,查询自身属性是否符合要求,来确定自己是否可以访问数据信息,当然,数据请求客户端7可以联合其他数据请求客户端7一起满足访问策略来达到访问数据信息的目的。
可以理解的是,采用编码密钥对具有访问策略的数据信息进行加密得到第一加密信息,向后台服务模块2上传第一加密信息,具体为:
将数据信息序列化为JSON对象,然后通过AjaxPost协议提交到后台服务模块2,序列化时,选择加密的敏感属性、编码密钥,将编码密钥用CryptoJS方法(CryptoJS.enc.Utf8.parse(keyStr))转换为utf8编码的字符串,然后使用AES的ECB模式加密,偏移为CryptoJS.pad.Pkcs7;由于CryptoJS生成的密文是二进制对象数据块,无法在网络直接传输,需要通过Base64编码转换为字符串,得到可传输的密文,将生成密文包装为JSON对象,提交到后台服务模块2。为了防止数据属主客户端1的隐私泄漏,本系统采用支持动态策略更新的基于LSSS访问结构的隐藏访问策略的属性基加密(CP-ABE)方案实现访问控制,在共享数据信息前,数据属主客户端1需要将数据信息进行加密,当加密后的数据信息上传到云服务器4前,还需要进一步将访问策略的策略函数或属性隐藏,防止包含数据属主客户端1的隐私信息的属性访问权限泄露。
与现有技术相比,本发明提供的混合云环境下医疗健康数据保护系统与方法,至少具有以下好处:本发明提供的混合云环境下医疗健康数据保护系统中数据解析单元5用于对第一加密信息进行解密得到数据信息并传递给数据加密存储单元6,数据加密存储单元6用于使用加密密钥对数据信息进行加密得到第二加密信息,根据公钥和访问策略将加密密钥进行加密得到密钥密文,构建属性隐藏过滤器隐藏访问策略的策略函数,将第二加密信息、密钥密文和属性隐藏过滤器上传至云服务器4,通过采用两层加密机制,首先对数据信息进行加密保证数据信息的机密性,再对加密密钥进行加密,保证加密密钥的安全性,从而保证第二加密信息的安全性。认证中心3用于接收数据请求客户端7的访问请求时,更新访问策略和属性隐藏过滤器,每次更新访问策略都是随机的,使每次访问时更新的访问策略都不同,能够保证访问退出后无法再得到传送的信息,再次访问时也无法直接获取之前得到的信息,满足向前向后的安全性。判断数据请求客户端7的自身属性是否满足更新后的访问策略的要求,若符合要求,根据数据请求客户端7的自身属性、公钥、属性隐藏过滤器获取更新后的访问策略对应的第二策略函数,再根据第二策略函数得到更新后的访问策略发送至数据请求客户端7;数据请求客户端7用于根据更新后的访问策略和私钥解密密钥密文得到加密密钥,再根据加密密钥获取第二加密信息对应的数据信息,即只有自身属性符合访问更新后的的访问策略的数据请求客户段才能获取加密密钥,不符合更新后的访问策略的数据请求者由于无法知悉策略函数,无法获取更新后的访问策略,也无法在多项式时间内暴力破解,保证更新后的访问策略的安全。
在一些可选的实施例中,参照图2、图3和图4,图4是本发明提供的混合云环境下医疗健康数据保护系统的又一种结构示意图,认证中心3包括初始化单元8,初始化单元8用于在系统初始阶段生成公钥和主密钥。
可以理解的是,认证中心3调用Setup算法,设U表示系统中的属性集合,设G和GT为质数阶p的循环乘法集合,e:G0×G0→GT是双线性映射。设LA是系统中属性空间中属性的大小,LRN为访问矩阵的行数的长度。设LACF是属性布谷鸟过滤器的位数组的大小,k为与ACF相关的散列函数的数量,按照以下方式对系统初始化,得到公钥和主密钥:
输入:安全参数λ;
输出:公钥、主密钥。
认证中心3随机选择一个生成器,g∈G,
从属性空间U中随机选取一组元素h1,h2...hu∈G,生成k个哈希函数H1()...HK(),将元素e映射到[1,LACF]范围内的位置。
输出公钥为:
PK=<g,e(g,g)a,gα,LA,LRN,LACF>;
主密钥为:MSK=gα
其中,PK为公钥,MSK为主密钥,g为生成元,G为群。
在一些可选的实施例中,继续参照图2至图4,数据解析单元5还用于当数据属主客户端1请求注册时向认证中心3提交第一注册请求;
认证中心3还用于接收第一注册请求时,判断数据属主客户端1是否合法,若合法,根据公钥和主密钥为数据属主客户端1生成私钥。
可以理解的是,数据属主客户端1注册时,需要验证其特定属性的合法性,如果合法,则表示数据属主客户端1拥有访问该系统数据的权限。随后认证中心3从属性集合U中选择一组特定属性分配给数据属主客户端1。通过系统初始化产生的主密钥、公钥、以及特定属性,调用密钥生成算法解出数据属主客户端1的私钥,私钥的生成算法按照以下方式进行计算:
K=gαgat
最后,私钥为:SK=<K,L,{Kx}x∈S,S>;
其中,K、L都是密钥中的元素,S为特定属性集合。
进一步地,数据请求客户端7注册时会向认证中心3提交第二注册请求,认证中心3接收第二注册请求时,判断数据请求客户端7是否合法,若合法,也会根据公钥和主密钥为数据请求客户端7生成私钥。
初始化后得到公钥后用于数据信息机密,数据加密存储单元6使用加密密钥对数据信息进行加密得到第二加密信息,按照以下方式进行计算:
数据加密存储单元6使用对称加密算法和加密密钥将企业信息、用户信息、服务机构信息、电子病历(EHRs)等数据信息进行对称加密,对称加密算法可以采用国密算法SM4,当然,并不限于此,在使用对称加密算法和加密密钥对数据信息进行加密的同时还可以设置有效访问时间,设置后访问具有时效性约束,进一步增加数据信息安全性。
根据公钥和访问策略将加密密钥进行加密得到密钥密文,按照以下方式进行计算:
输入:公钥、加密密钥的明文和访问策略;
输出:密钥密文。
具体的,访问策略包括访问矩阵和策略函数,访问矩阵是一个l×n矩阵M,l为访问矩阵的行数,n为访问矩阵的列数,策略函数将访问矩阵的行映射到属性,为生成密钥密文,选择l+1个随机整数s,t1并设置向量
对加密密钥加密的具体计算方式为:
For i=1 to l,i∈(1...l);
λi=Mi·V//其中Mi是访问矩阵M的第i行向量,利用行向量计算加密所需参数λi
计算C0=DK·e(g,g)as、C‘=gs,对于所有的属性行,有
END For
输出CT=<C0,C‘,
其中,λ为安全参数,DK为加密密钥,e(g,g)为双线性,g为生成元,CT为密钥密文。
在传统的基于属性的加密方案中,访问策略将会以明文形式附加到加密后的数据信息后,可能导致数据属主客户端1的私人信息发生泄漏,因此本实施例将移除访问策略的属性映射,即策略函数,以避免访问策略泄露。基于访问策略,生成布谷鸟滤器,在数据属主客户端1对数据信息完成加密时,利用布谷鸟过滤器来定位属性的具体位置,从而达到通过自身属性判断是否符合访问策略的目的。将布谷鸟过滤器的位数组设置为λ-bit数组,其中λ是安全参数,与系统初始化阶段的安全参数保持一致,这样设置的优点在于降低构建属性布谷鸟过滤器的误报概率。因为误报率不仅取决于字符串匹配速度,还取决于散列函数的碰撞概率。
参照图5,图5是属性布谷鸟过滤器的建构示意图,基于布谷鸟过滤器和更新后的访问策略,应用算法BuildACF构建属性布谷鸟过滤器(ACF),隐藏属性与访问矩阵间的映射,按照以下方式进行计算:
输入:更新后的访问策略;
输出:生成属性布谷鸟过滤器。
具体的,首先将访问策略中涉及到的属性及其对应的行号绑定在访问矩阵M中,并获得一组元素Se={i||atte}i∈[1,l],其中,访问矩阵第i行映射到属性att=ρ(i),通过在字符串的左侧填充零,将行号i和属性att两者扩展到最大位长度,其中,ρ为策略函数,att为属性。
将属性元素集Se作为输入,使用布谷鸟过滤器构建算法来构造属性布谷鸟过滤器。为了将集合Se中的元素e添加到布谷鸟过滤器中,首先通过随机生成k-1个γ位的字符串r1,e,r2, e...rk-1,e来共享(k,k)秘密共享属性的元素e,定义它与元素e相关联的属性组成具有k个独立且统一的散列函数H1()...Hk(),得到H1(atte),H2(atte),...Hk(atte),其中Hi(atte)(i∈[1,k]),代表属性布谷鸟过滤器中位置的索引,如图5所示,继续向属性布谷鸟过滤器添加元素时,某些位置j=Hi(e)可能已被元素占用,如果发生这种情况,将现有元素作为一个新的元素,元素e2的位置与元素e1的位置相同。而该位置已被占用,此时令而不是随机添加其他的字符串;如果用另一个字符串改变这个位置,之前插入的元素不能被收回,完成属性布谷鸟过滤器构建,输出属性布谷鸟过滤器。经过改进得到的属性布谷鸟过滤器隐藏整个属性与访问策略间的映射。通过属性布谷鸟过滤器可以定位属性的具体位置,当有属性符合更新后的访问策略的请求,重现隐藏的策略函数,当系统中的不同的参与者之间进行通信时,即能保存所有的数据记录和事务信息,也能保证数据的可追溯与不可篡改。
在一些可选的实施例中,继续参照图3和图4,还包括医疗服务客户端9,与后台服务模块2耦接;数据解析单元5还用于当数据属主客户端1请求医疗服务时向医疗服务客户端9提交医疗服务预约请求;医疗服务客户端9用于接收预约请求生成预约请求序号,医疗服务客户端9通过后台服务模块2与数据属主客户端1建立连接,生成服务请求序号,医疗服务客户端9通过预约请求号和服务请求序号作为数据属主客户端1的编码密钥,解密数据属主客户端1上传的第一加密信息。
可以理解的是,第一加密信息是保存在私有云中的,私有云为可信环境,若获取编码密钥,即可以根据编码密钥将密文由Base64格式字符串转换为二进制对象,随后使用AES的ECB模式进行解密,按照utf8格式转化为明文字符串。可选的,数据属主客户端1可以为移动设备端,医疗服务客户端9可以为医生PC端,当患者通过移动设备端与医生进行预约挂号、图文问诊以及远程会诊的过程中,移动设备端会缓存部分会话数据、企业、客户及医疗服务提供者信息、患者就医问诊信息等隐私数据,为了防止移动设备提供的数据信息泄露,为了保证移动设备提供的数据信息本地存储安全,本地缓存的数据需要加密存储,同时,请求数据也是加密后通过Https协议提交到后台服务器。由于移动设备计算能力和存储空间有限,系统根据编码密钥采用轻量级对称加密算法对本地用户敏感数据进行加密,编码密钥优选使用AES-128bit加密模式,优选十六字节字符串。
数据属主客户端1预约医疗服务客户端9,生成预约请求序号,当数据属主客户端1成功预约医疗服务客户端9后,即数据属主客户端1与医疗服务客户端9之间可以进行交流,数据属主客户端1提交问诊请求时,即患者向医生PC端提交健康咨询或预约问诊时,患者客户端对请求中的就诊卡号、症状描述、上传的照片数据等隐私信息,进行加密处理,医疗服务客户端9下载后解密,具体的,数据属主客户端1提交问诊请求时,生成服务请求序号,数据属主客户端1和医疗服务客户端9共享服务请求序号,服务请求序号唯一且标识数据属主客户端1的问诊请求,服务请求序号为13字节的字符串,在服务请求序号后填充三个字符,填充的三个字符通过抽取预约请求序号的后6位,转换成16进制数,对其通过对双方已知的常数进行求模取余运算变换得到,从而生成16字节的字符串作为密钥,本实施例只提供了一种具体的方式,但并不限于此。
在一些可选的实施例中,继续参照图3和图4,更新访问策略,按照以下方式进行更新:
访问策略包括访问矩阵和策略函数,策略函数将访问矩阵的一行元素对应一个属性,对访问矩阵中每一行的元素随机变换位置,再对访问矩阵中每一列的元素随机变换位置,策略函数对应变化为第二策略函数,第二策略函数和变换后的访问矩阵形成更新后的访问策略。
可以理解的是,当数据请求客户端7访问云服务器4中的数据信息时,根据数据请求客户端7发出的访问指令,认证中心3通过策略更新机制对访问策略进行动态更新。访问策略是一个l×n的矩阵M,对矩阵的每一行中的每个元素按照随机生成的序列进行变换位置,之后每一列元素也按照随机生成的序列进行变换,生成的新访问矩阵的访问策略发生变化,每个属性对应的索引信息的位置hi(x)同时变化,增加了非法用户破译访问策略的复杂度。由于更新是随机等可能的,因此生成的每个随机序列为不重复的正整数,而生成随机序列所需的时间消耗也正比于策略矩阵的规模大小,不需要额外的内存空间来存储随机序列。随后,数据访问者再根据自身属性通过新的访问策略来对数据进行访问。
访问策略按照以下方式进行表示:
属性布谷鸟过滤器可以按照以下方式进行表示:
在LSSS访问结构(M,ρ)中表示访问策略,其中M是访问矩阵,ρ将矩阵M的每一行Mi与属性匹配,并通过删除属性来隐藏属性匹配函数ρ。如果没有属性匹配函数ρ,则需要设计属性定位算法来检测属性是否在访问策略中,并在访问策略中找到正确的位置。此外,为提高系统安全性,还需要对整个访问策略做出调整,通过重新生成随机序列,混淆属性策略矩阵行向量顺序,使得每次访问的策略都会做出更新,避免由于多次访问使得攻击者推算出最终的访问策略,导致信息泄露。为此构建了一个属性布谷鸟过滤器ACF来定位匿名访问策略的属性,节省大量的存储开销和计算成本。
具体的,随机生成的序列按照以下方式进行计算:
输入:元素数量N;
输出:生成N位长度的不重复正整数的随机序列。
具体如下:
1:声明并初始化两个长度为N的整数数组a,b;
2:for i=0 to n;
3:a[i]=i;
4:声明并初始化一个随机序列random;
5:int end=n-1;
6:for i=0 to n;
7:int num=random.Next(0,end+1);
8:b[i]=a[num];
9:a[num]=a[end];
10:end--;
11:return b;
由于该算法是随机等可能的,因此生成的每个随机序列为不重复的正整数,而生成随机序列所需的时间消耗也正比于策略矩阵的规模大小,不需要额外的内存空间来存储随机序列。随后,数据请求客户端7再根据自身的属性通过新的访问策略来对数据信息进行访问,访问策略更新过程按照以下方式进行计算:
输入:访问策略;
输出:更新后的访问策略;
具体如下:
1:Hi=the position of random number sequence f;
2:Li=row of matrix M where i∈l;
3:Nj=column of matrix M where j∈n;
4:for i=0 to l;
5:for each e∈Li(i∈l)do;
6:ei=Hi(e)//Each element is in the order of f;
7:generate a new matrix M';
8:for j=0 to n;
9:for each e∈Nj(j∈n)do;
10:ej=Hj(e);
11:generate a useful matrix M”;
12://Every row of matrix M'is a att then;
13:generate a new mapping functionρ′;
14:finally generate a new access policy(M′,ρ′);
其中,(M,ρ)表示访问策略,(M’,ρ’)表示更新后的访问策略,M是策略矩阵,ρ将矩阵M的每一行Mi与属性匹配,并通过删除属性来隐藏属性匹配函数ρ。如果没有属性匹配函数ρ,则需要设计属性定位算法来检测属性是否在访问策略中,并在访问策略中找到正确的位置。此外,为提高系统安全性,还需要对整个访问策略做出调整,通过重新生成随机序列,混淆属性策略矩阵行向量顺序,使得每次访问的策略都会做出更新,避免由于多次访问使得攻击者推算出最终的访问策略,导致信息泄露。为此构建了一个属性布谷鸟过滤器ACF来定位匿名访问策略的属性,节省大量的存储开销和计算成本。
在一些可选的实施例中,参照图3、图4和图6,图6是疾病属性的脱离敏感数据信息的流程,后台服务模块2还包括数据脱敏单元10,用于在数据解析单元5将数据信息并传递给数据加密存储单元6前,将数据信息进行属性分类,将部分属性删除,将另一部分属性进行泛化处理。
可以理解的是,K’-匿名算法是一种在公开数据中起到保护用户敏感数据信息的一种算法,传统K’-匿名算法并没有对数据信息中的确定信息进行敏感性定义,未充分考虑敏感属性隐私保护的问题,所以攻击者可以利用一致性攻击或背景知识攻击来标识敏感数据信息与个体的关系。并且,传统K’-匿名算法预先设定K’值,根据数据表属性列是否满足K’值这个条件不断进行匿名,这样会出现过度泛化、数据失真度过高的情况。通过一种基于敏感数据隐私分级的K’-匿名算法,根据平台用户咨询疾病的隐私级别进行不同程度的匿名的操作,定义每个非敏感属性列的阈值,即为可以接受的最大失真度,当失真度小于阈值,进行泛化,一旦失真度超过阈值,则停止对该属性列的泛化,标志着匿名完成。针对医疗数据中的疾病属性,泛化程度根据敏感级别,隐私度较低的一些普通疾病不进行泛化处理,隐私度中等的进行一次泛化,隐私级别高的进行两次泛化。
例如,使用的用户医疗健康数据集中有六个属性,分别是姓名、年龄、性别、体重、婚姻状况、疾病,在系统中采用的基于敏感数据隐私级别的K’-匿名算法实现步骤为遵从树模型的属性分类,首先将标识属性“姓名”删除,再按照表1定义数据表各个属性类型。
表1.定义数据表各个属性类型
属性名 属性值类型 属性类别
年龄 数值型 准标识符属性
性别 字符型 准标识符属性
体重 数值型 准标识符属性
婚姻状况 字符型 准标识符属性
疾病 字符型 敏感属性
再定义属性列泛化(匿名)规则,参照表2,对年龄进行泛化。
表2.年龄泛化表
参照表3,对体重进行泛化。
表3.体重泛化表
参照表4,对性别进行泛化。
表4.性别泛化表
原始数据 第一次匿名
[F,M] NoN
参照表5,对婚姻状况进行泛化。
表5.婚姻状况泛化表
原始数据 匿名
{离婚,未婚,分居,丧偶} 单身
{已婚,再婚} 已婚
参照图6,定义医疗数据中疾病属性的隐私等级,分级进行泛化处理。按高、中、低划分,低级别疾病有过敏、骨质疏松症、扁桃体炎、牙周炎、颈部损伤、发烧、咳嗽、鼻炎、水痘、腹泻、近视、小腿骨折、头痛、冻疮、急性咽炎、关节炎等,不执行泛化;高级别疾病有恶性淋巴瘤、麻风病、感染艾滋病病毒(HIV)、胶质瘤、肺结核,匿名到“疾病”;其他疾病则为中级别,匿名为疾病对应的科室。
设定非敏感属性列泛化阈值,数据发布的目的是被科研机构使用,进行研究,如果在数据发布前因为数据脱敏技术,使得脱敏后的数据与原数据表数据差距过大,则影响了数据的可用性。而通过K’-匿名算法对医疗数据进行处理可以将具体数据信息变为合理的数据范围,既不泄露用户的数据隐私,也不破坏数据的可用性,因此,泛化后的数据相较于原数据的损失程度需要虑在内。进一步地,K’-匿名算法数据清洗的具体步骤:
第一步:读取数据表数据,生成元组。
第二步:判断是否是疾病属性列,如果是低隐私级别,则不匿名,如果是中隐私级别,匿名到就诊科室,高级私级别,匿名为疾病,更新属性。
第三步:如果是其他列,则根据预先设置的阈值进行匿名,更新匿名属性,计算信息损失率。如果损失率小于阈值,继续进行匿名操作直到损失率大于等于阈值。
第四步:更新K’值。
第五步:输出数据表。
其中:泛化损失度量通过对比泛化后,表格中数据与原始数据表中的数据信息的泛化层次来计算泛化后的数据信息损失程度:
其中,Hij表示准标识符属性,i代表泛化最高层次数,h代表K’-匿名后表格中第j条记录的第i个属性被泛化到的层次数,|RT|代表数据表包含的总元组个数,NA代表数据集中包含的准标识符个数。泛化损失公式是对数据表中各个元组的准标识属性的相对泛化程度求均值。
为减少计算开销,按属性列进行泛化,每泛化一次,求该属性列的属性损失值,将Precision公式变形为:
其中,Hi表示准标识符属性i的泛化层级数树的高度,h表示准标识符属性i泛化的层级,NA表示准标识符属性的数目。定义年龄阈值为(0,0.5)时只匿名一层,[0.5,1)时匿名两层;性别阈值为0时不匿名,大于0时进行匿名;体重(0,0.25)时匿名一层,[0.25,0.33]时部分匿名两层,[0.34,0.42]时全部二级匿名,[0.43,0.57]时部分全匿名,[0.58,1]时全匿名;婚姻状况阈值为0时不匿名,大于0时全匿名。
应用基于隐私数据级别的K’-匿名脱敏算法,对平台产生的医疗健康数据表中的数据进行敏感属性和非敏感属性区分,对于敏感属性列,根据隐私级别的高低选取不同强度的匿名方法,对于非敏感属性列,用数据失真度作为阈值,约束数据泛化层次,保障数据可用性的同时,有效避免了攻击者在数据发布后通过链接攻击确定用户身份信息。
在一些可选的实施例中,参照图7,图7为用户、属性、文件和策略的流程图,数据解析单元5还用于当数据属主客户端1请求数据删除时向认证中心3提交关键属性集合;认证中心3根据关键属性集合修改访问策略并更新至云服务器4,访问策略修改后,所有数据请求客户端7的自身属性均无法满足更新后的访问策略的要求。
可以理解的是,策略删除实现加密密钥的删除,当所有数据请求客户端7对要删除的访问策略的权限变为非授权时,就认为该访问策略被删除了。当一个策略被删除后,对所有数据请求客户端7来说,该策略的值都是false。也就是说,所有授权用户对策略的访问权限改变了。该访问策略对应的保护类保护的所有文件被删除了。
本实施例将具有同一种访问控制策略的文件作为一个最小访问单元,使用相同的密钥预先加密这些文件,定义保护类来描述一组具有相同访问策略的文件,一个保护类对应一个访问策略,不同的保护类对应的访问策略不同,因此,一个保护类保护的一组文件是访问、删除的最小单位,数据属主客户端1通过删除密钥发起删除操作时,删除的是某个策略加密的所有文件,当然,本实施例的访问机制也可以退化为一个文件对应一个加密密钥,只要数据属主客户端1人为的将相同访问策略或上一个时间属性使每个策略各不相同即可,在本实施例中,通过加密密钥的删除实现文件删除,而加密密钥的删除依赖于对应访问策略的删除。
参照图7,如图所示:令G=(V,E)表示一个策略图,V是节点集合,每个节点都是一个布尔值,它共包含两种节点,源节点和内节点,源节点就是属性节点,只有出度没有入度;内节点就是保护类节点,既有入度也有出度。E是边的集合,它共有两种边,从属性节点到保护类节点、从保护类节点到保护类节点。每个属性节点与一组用户有关,表示这些用户都包含该属性,对于这组用户来说该节的值为真。每个保护类节点与一组文件有关,表示这组文件的访问策略就是该保护类节点表示的访问策略。当一个用户是一个访问策略的授权用户时,该策略对应的保护类节点的值为真。例如,保护类节点P3的访问策略为Att3|Att5。对于User1和User2而言,P3为真。而对于User3和User4,P3为假。保护类节点的值与用户是否被授权有关。当保护类节点哈希值存在于Cuckoo Filter中时,表明该用户是保护类对应访问策略的授权者,可以正确解密加密密钥。当保护类节点哈希值不在Cuckoo Filter中时,说明用户是非授权用户。
为了实现用户访问权限撤销,本实施例为每个访问策略定义一个关键属性集合,一个属性集合是一个访问策略的关键属性集合,当且仅当集合中全部属性为假时访问策略的值总为假,令P表示一个访问策略,Sp是策略对应的属性集合。令KASp表示P的一个关键属性集合,不属于Sp的属性不会影响策略的真值,因此本实施例只关注包含于Sp的关键属性集合,即每个关键属性集合必然包含于策略的属性集合。一个访问策略有多个关键属性集合,由构成策略的门类型决定。Sp一定是策略P的一个关键属性集合。如图所示,一个策略为Att1&Att2,另一个为Att1|Att2。前者共有3个关键属性集合,{Att1},{Att2}和{Att1,Att2},后者只有1个关键属性集合,{Att1,Att2},对于纯与门策略来说,将其任意孩子节点置为false其值总是false;对于纯或门策略来说,只有将所有孩子节点置为false其值才总是false。任意策略均可以表示为二叉树的形式,每个非叶节点都可以抽象为一个简单策略,通过递归的求每个节点的关键属性集合可以得到一个策略的关键属性集合,为了实现高效删除,本实施例总是选择最小的关键属性集合。根据输入的删除策略属性集KAS更新原访问矩阵M,得到更新的访问矩阵M’,同时使用向量LR=[LR1,LR1,LR2…LRn]标记KAS中的属性在原访问矩阵M中的行号。
属性撤销意味着用户权限的变更,当一个数据请求客户端7的属性被撤销时,该数据请求客户端7对所有访问策略的权限被更新,而其他数据请求客户端7的访问权限不受任何影响。当一个数据请求客户端7的属性被撤销时,其他包含该属性但未发生撤销的数据请求客户端7需要更新被撤销属性对应的私钥组件,包含被撤销属性的密文同样也需要更新该属性对应的密文组件。这样,被撤销某个属性的用户将不能解密包含该属性的密文,而其他包含该属性的用户的解密不受影响。
在本方案中,通过访问策略删除实现加密密钥的删除,当所有数据请求客户端7对要删除的访问策略的权限变为非授权时,就认为该访问策略被删除了。当一个访问策略被删除后,对所有数据请求客户端7来说,该访问策略的值都是false,即所有授权的数据请求客户端7对该策略的访问权限被改变了,该访问策略对应的保护类保护的所有文件被删除了,本实施例通过仅更新被删除访问策略的密钥密文实现访问策略删除,因此,密文的更新是指更新关键属性集合中所有属性对应的密文组件。
可信删除方案由数据请求客户端7和云服务器4共同实现,其中,数据请求客户端7负责发起删除请求并生成删除密钥,最后云服务器4的密文删除,而云服务器4负责根据删除密钥更新密文。
具体的,可信删除的实施按照以下方法:
数据属主客户端1先为删除策略选择最小关键属性集合KAS,由于需要更新的密文组件数与关键属性集合中的属性个数一致,而更新密文开销远大于计算最小关键属性集合的开销,因此,选择的关键属性集合越小,要更新的密文组件数越少。数据属主客户端1根据输入的删除策略属性集KAS修改原访问矩阵M,得到修改后的访问矩阵M’,同时使用向量LR=[LR1,LR2…LRn]标记KAS中的属性在原访问矩阵M中的行号。数据属主客户端1为受保护数据选择唯一的标识符ID,随机选取新的加密密钥DK,通过国密算法SM4加密数据信息包得到第三加密信息,将ID和第三加密信息上传云服务器4中,并更新原数据索引值。数据属主客户端1更改第三加密信息的访问策略(M”,ρ”),使用新加密密钥DK’,新的访问策略(M”,ρ”),加密生成第三加密信息,即Enc(PK,DK,(M”,ρ”))→CT’,将第三加密信息存储在云服务器4,为第三加密信息和数据请求客户端7置新的有效访问时间。基于新的访问策略(M”,ρ”),生成新的布谷鸟属性滤器ACF’,将ACF’,访问策略M’上传至云服务器4。移除策略中的属性映射ρ”,以避免访问策略泄露。
综上,云服务器4只更新KAS集合中的属性的密文组件和隐藏的访问策略,更新第三加密信息后,所有用户都变为该策略的非授权用户,都不能正确解密密文,即该策略对应的数据块被删除。
在一些可选的实施例中,继续参照图3和图4,后台服务模块2还包括删除验证单元11,删除验证单元11用于计算第二加密信息得到第一标签根,再从云服务器4中获取最新的第二加密信息,计算最新的第二加密信息得到第二标签根,若第二标签根等于第一标签根,完成删除。
可以理解的是,删除云服务器4中的第二加密信息是在半可信的云服务器4中执行的,所以数据属主客户端1需要通过梅克尔树(Merkle树)对云服务器4上的第二加密信息更新进行验证。在数据属主客户端1计算初始第二加密信息的数据信息时(即加密的数据信息未删除),为初始的第二加密信息{C2,τ}计算Merkle根,MerkleRoot,即第一标签根;在验证加密的第二加密信息更新时(即加密的数据信息已删除),数据属主客户端1从云服务器4获取最新的第二加密信息,并执行以下计算:
如果访问策略中则对应数据块C″2,i=C′2,i;如果访问策略中(Lri∈LR),则对应数据块C″2,i=Dec(C′2,i,DK);之后为更新的加密数据信息{C″2,i}计算Merkle根,MerkleRoot′,即第二标签根,如果MerkleRoot=MerkleRoot′,则说明云服务器4诚实地执行了加密的数据信息的更新,否则,重新向云服务器4发送删除请求直到验证成功。
具体的,基于用户权限的数据信息可信删除方案,先定义一个策略图,将加密的数据信息删除转化为策略撤销,并为每个访问策略定义一个关键属性集合以及最小关键属性集合选择算法。在此基础上,借助加密的数据信息的更新实现策略撤销,为了确保可信删除,数据属主客户端1利用Merkle树对云服务器4文件删除进行验证,当且仅当获取的最新的加密的数据信息的根节点与原始上传的加密的数据信息的根节点一致时,即第二标签根等于第一标签根,才认为文件删除成功。
可选的,在智慧医疗场景中,数据属主客户端1存在数据信息删除需求,删除操作前,要求所有非授权用户无法访问原始数据信息,删除操作后,则要求任何人无法获取数据信息的明文,包括授权用户和非授权用户。系统的删除假设是数据请求客户端7不能在本地存储原始明文,并且云服务器4在删除前已经执行去冗余操作,即在执行删除前,整个系统中只存在一份被删除数据,且其存储在云服务器4内,假设可以通过存在性证明和去冗余技术完成,由于删除操作由云服务器4执行,验证云服务器4是否正确执行协义规定的删除操作也是数据信息可信删除的一个重要目标,本系统通过用户访问权限撤销实现数据删除,并借助Merkle树对加密后的数据信息删除进行验证,确保数据信息的可信删除。
在一些可选的实施例中,数据属主客户端1注册成功后,生成唯一用户身份字符串,唯一用户身份字符串复用为编码密钥。
可以理解的是,数据属主客户端1注册时,需要上传的数据信息的敏感属性,在前端进行加密,后台解密,前后台都共享唯一用户身份,唯一用户身份是十九字节的字符串,唯一用户身份的后16字节也可作为编码密钥。
在一些可选的实施例中,参照图8,图8是本发明提供的混合云环境下医疗健康数据保护方法的一种流程图,本实施例提供混合云环境下医疗健康数据保护方法应用上述实施例中提供的混合云环境下医疗健康数据保护系统,包括:
S1:数据属主客户端1提供数据信息、为数据信息制定访问策略、采用编码密钥对具有访问策略的数据信息进行加密得到第一加密信息,向后台服务模块2上传第一加密信息;
S2:后台服务模块2包括数据解析单元5和数据加密存储单元6,数据解析单元5对第一加密信息进行解密得到数据信息并传递给数据加密存储单元6,数据加密存储单元6使用加密密钥对数据信息进行加密得到第二加密信息,根据公钥和访问策略将加密密钥进行加密得到密钥密文,构建属性隐藏过滤器隐藏访问策略的策略函数,将第二加密信息、密钥密文和属性隐藏过滤器上传至云服务器4;
S3:云服务器4存储第二加密信息、密钥密文和属性隐藏过滤器;
S4:认证中心3接收数据请求客户端7的访问请求时,更新访问策略和属性隐藏过滤器,判断数据请求客户端7的自身属性是否满足更新后的访问策略的要求,若符合要求,根据数据请求客户端7的自身属性、公钥、属性隐藏过滤器获取更新后的访问策略对应的第二策略函数,再根据第二策略函数得到更新后的访问策略发送至数据请求客户端7;
S5:数据请求客户端7根据更新后的访问策略和私钥解密密钥密文得到加密密钥,再根据加密密钥获取第二加密信息对应的数据信息。
在步骤S4中,数据请求客户端7根据策略函数得到更新后的访问策略,获取对应的数据信息,包括:
数据请求客户端7获取云服务器4中的文件ID和数据信息访问地址;
数据请求客户端7在数据属主客户端1设置的有效时间内,从云服务器4获取加密后的数据信息;
通过自身属性向认证中心3查询属性隐藏过滤器,重现策略函数;
根据第二策略函数得到更新后的访问策略;
在步骤S5中,访问云服务器4,从云服务器4下载第二加密信息;
利用更新后的访问策略执行属性隐藏过滤器解密得到加密密钥,通过加密密钥解密得到数据信息的明文。
其中,认证中心3通过数据请求客户端7提交的自身属性、文件ID、属性布谷鸟过滤器和公钥重现策略函数,按照以下方法计算:
输入:数据请求客户端7提交的自身属性,属性布谷鸟过滤器ACF、公钥;
输出:策略函数。
具体如下:
对于数据请求客户端7具备的每个属性att∈S,将属性att哈希函数H1()...Hk()一起来计算元素的位置索引函数Hi(atte)(i∈[1,k])
通过索引函数取出相应的字符串ri,e之后,将元素e重构为:
其中,元素e的格式为e=i||atte,取字符串e的最后一个LA位,并删除字符串左边的所有零位获得属性值;再从字符串e中获取第一个LRN位,删除左边的所有零位来获取相应的行号,如果atte与属性att相同,则该属性att在访问矩阵中;否则,atte与属性att不同,这意味着访问策略中不存在属性att;最后,将行号和属性组合成属性映射:ρ={(row,att)}att∈S,其中,att表示属性,row表示属性att在在访问策略中的行号,输出策略函数。通过策略函数得到访问策略,当获得访问策略时,数据请求客户端7可以通过数据解密子程序解密密文,获得数据信息的加密密钥。
数据请求客户端7将分别从云服务器4获取的访问矩阵M、加密后的加密密钥、认证中心3返回的第二策略函数,以及私钥输入支持细粒度访问控制的加密方案(CP-ABE)解密算法,对加密后的加密密钥进行解密,得到加密密钥的明文。
对加密后的加密密钥进行解密,得到加密密钥的明文按照以下方式进行计算:
输入:私钥、加密后的加密密钥、访问矩阵、和认证中心3返回的第二策略函数;
输出:加密密钥的明文。
其中,如果属性能够满足访问策略,则可以利用拉格朗日差值公式来计算系数{ci|i∈I},其中使得∑i∈I ciλi=S,数据请求客户端7能够得到:
其中,Π为秘密共享机制,加密密钥的明文信息为CT为加密后的加密密钥。
如果数据请求客户端7自身的属性不满足访问策略时,则输出⊥,表示解密过程失败,用户无法获取加密文件的密钥。
通过上述实施例可知,本发明提供的混合云环境下医疗健康数据保护系统,至少实现了如下的有益效果:
本发明提供的混合云环境下医疗健康数据保护系统中数据加密存储单元用于使用加密密钥对数据信息进行加密得到第二加密信息,根据公钥和访问策略将加密密钥进行加密得到密钥密文,构建属性隐藏过滤器隐藏访问策略的策略函数,将第二加密信息、密钥密文和属性隐藏过滤器上传至云服务器,通过采用两层加密机制,首先对数据信息进行加密保证数据信息的机密性,再对加密密钥进行加密,保证加密密钥的安全性,从而保证第二加密信息的安全性。认证中心用于接收数据请求客户端的访问请求时,更新访问策略和属性隐藏过滤器,每次更新访问策略都是随机的,使每次访问时更新的访问策略都不同,能够保证访问退出后无法再得到传送的信息,再次访问时也无法直接获取之前得到的信息,满足向前向后的安全性。判断数据请求客户端的自身属性是否满足更新后的访问策略的要求,若符合要求,根据数据请求客户端的自身属性、公钥、属性隐藏过滤器获取更新后的访问策略对应的第二策略函数,再根据第二策略函数得到更新后的访问策略发送至数据请求客户端;数据请求客户端用于根据更新后的访问策略和私钥解密密钥密文得到加密密钥,再根据加密密钥获取第二加密信息对应的数据信息,即只有自身属性符合访问更新后的的访问策略的数据请求客户段才能获取加密密钥,不符合更新后的访问策略的数据请求者由于无法知悉策略函数,无法获取更新后的访问策略,也无法在多项式时间内暴力破解,保证更新后的访问策略的安全。
虽然已经通过例子对本发明的一些特定实施例进行了详细说明,但是本领域的技术人员应该理解,以上例子仅是为了进行说明,而不是为了限制本发明的范围。本领域的技术人员应该理解,可在不脱离本发明的范围和精神的情况下,对以上实施例进行修改。本发明的范围由所附权利要求来限定。

Claims (10)

1.一种混合云环境下医疗健康数据保护系统,其特征在于,包括:
数据属主客户端,与后台服务模块耦接,用于提供数据信息、为所述数据信息制定访问策略、采用编码密钥对具有所述访问策略的所述数据信息进行加密得到第一加密信息,向所述后台服务模块上传所述第一加密信息;
所述后台服务模块,分别与所述数据属主客户端、认证中心、云服务器耦接,所述后台服务模块包括数据解析单元和数据加密存储单元,所述数据解析单元用于对所述第一加密信息进行解密得到所述数据信息并传递给所述数据加密存储单元,所述数据加密存储单元用于使用加密密钥对所述数据信息进行加密得到第二加密信息,根据公钥和所述访问策略将所述加密密钥进行加密得到密钥密文,构建属性隐藏过滤器隐藏所述访问策略的策略函数,将所述第二加密信息、所述密钥密文和所述属性隐藏过滤器上传至所述云服务器;
所述云服务器,分别与所述后台服务模块、所述认证中心、数据请求客户端耦接,用于存储所述第二加密信息、所述密钥密文和所述属性隐藏过滤器;
所述认证中心,分别与所述后台服务模块、所述云服务器、所述数据请求客户端耦接,用于接收所述数据请求客户端的访问请求时,更新所述访问策略和所述属性隐藏过滤器,判断所述数据请求客户端的自身属性是否满足更新后的所述访问策略的要求,若符合要求,根据所述数据请求客户端的自身属性、所述公钥、所述属性隐藏过滤器获取更新后的所述访问策略对应的第二策略函数,再根据所述第二策略函数得到所述更新后的所述访问策略发送至所述数据请求客户端;
所述数据请求客户端,分别与所述云服务器、所述认证中心耦接,用于根据所述更新后的所述访问策略和私钥解密所述密钥密文得到所述加密密钥,再根据所述加密密钥获取所述第二加密信息对应的所述数据信息。
2.根据权利要求1所述的混合云环境下医疗健康数据保护系统,其特征在于,所述认证中心包括初始化单元,所述初始化单元用于在系统初始阶段生成所述公钥和主密钥。
3.根据权利要求2所述的混合云环境下医疗健康数据保护系统,其特征在于,所述数据解析单元还用于当所述数据属主客户端请求注册时向所述认证中心提交第一注册请求;
所述认证中心还用于接收所述第一注册请求时,判断所述数据属主客户端是否合法,若合法,根据所述公钥和所述主密钥为所述数据属主客户端生成所述私钥。
4.根据权利要求1所述的混合云环境下医疗健康数据保护系统,其特征在于,还包括医疗服务客户端,与所述后台服务模块耦接;
所述数据解析单元还用于当所述数据属主客户端请求医疗服务时向所述医疗服务客户端提交医疗服务预约请求;
所述医疗服务客户端用于接收所述预约请求生成预约请求序号,所述医疗服务客户端通过所述后台服务模块与所述数据属主客户端建立连接,生成服务请求序号,所述医疗服务客户端通过预约请求号和所述服务请求序号作为所述数据属主客户端的所述编码密钥,解密所述数据属主客户端上传的所述第一加密信息。
5.根据权利要求1所述的混合云环境下医疗健康数据保护系统,其特征在于,所述更新所述访问策略,按照以下方式进行更新:
所述访问策略包括访问矩阵和所述策略函数,所述策略函数将所述访问矩阵的一行元素对应一个属性,对所述访问矩阵中每一行的元素随机变换位置,再对所述访问矩阵中每一列的元素随机变换位置,所述策略函数对应变化为所述第二策略函数,所述第二策略函数和所述变换后的所述访问矩阵形成更新后的所述访问策略。
6.根据权利要求1所述的混合云环境下医疗健康数据保护系统,其特征在于,所述后台服务模块还包括数据脱敏单元,用于在所述数据解析单元将所述数据信息并传递给所述数据加密存储单元前,将所述数据信息进行属性分类,将部分属性删除,将另一部分属性进行泛化处理。
7.根据权利要求1所述的混合云环境下医疗健康数据保护系统,其特征在于,所述数据解析单元还用于当所述数据属主客户端请求数据删除时向所述认证中心提交关键属性集合;
所述认证中心根据所述关键属性集合修改所述访问策略并更新至所述云服务器,所述访问策略修改后,所有所述数据请求客户端的自身属性均无法满足更新后的所述访问策略的要求。
8.根据权利要求7所述的混合云环境下医疗健康数据保护系统,其特征在于,所述后台服务模块还包括删除验证单元,所述删除验证单元用于计算所述第二加密信息得到第一标签根,再从所述云服务器中获取最新的所述第二加密信息,计算最新的所述第二加密信息得到第二标签根,若所述第二标签根等于所述第一标签根,完成删除。
9.根据权利要求3所述的混合云环境下医疗健康数据保护系统,其特征在于,所述数据属主客户端注册成功后,生成唯一用户身份字符串,所述唯一用户身份字符串复用为所述编码密钥。
10.一种混合云环境下医疗健康数据保护方法,其特征在于,应用于权利要求1-9中任一项所述的混合云环境下医疗健康数据保护系统,包括:
数据属主客户端提供数据信息、为所述数据信息制定访问策略、采用编码密钥对具有所述访问策略的所述数据信息进行加密得到第一加密信息,向后台服务模块上传所述第一加密信息;
所述后台服务模块包括数据解析单元和数据加密存储单元,所述数据解析单元对所述第一加密信息进行解密得到所述数据信息并传递给所述数据加密存储单元,所述数据加密存储单元使用加密密钥对所述数据信息进行加密得到第二加密信息,根据公钥和所述访问策略将所述加密密钥进行加密得到密钥密文,构建属性隐藏过滤器隐藏所述访问策略的策略函数,将所述第二加密信息、所述密钥密文和所述属性隐藏过滤器上传至云服务器;
所述云服务器存储所述第二加密信息、所述密钥密文和所述属性隐藏过滤器;
认证中心接收数据请求客户端的访问请求时,更新所述访问策略和所述属性隐藏过滤器,判断所述数据请求客户端的自身属性是否满足更新后的所述访问策略的要求,若符合要求,根据所述数据请求客户端的自身属性、所述公钥、所述属性隐藏过滤器获取更新后的所述访问策略对应的第二策略函数,再根据所述第二策略函数得到所述更新后的所述访问策略发送至所述数据请求客户端;
所述数据请求客户端根据所述更新后的所述访问策略和私钥解密所述密钥密文得到所述加密密钥,再根据所述加密密钥获取所述第二加密信息对应的所述数据信息。
CN202210878353.6A 2022-07-25 2022-07-25 混合云环境下医疗健康数据保护系统与方法 Active CN115242518B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210878353.6A CN115242518B (zh) 2022-07-25 2022-07-25 混合云环境下医疗健康数据保护系统与方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210878353.6A CN115242518B (zh) 2022-07-25 2022-07-25 混合云环境下医疗健康数据保护系统与方法

Publications (2)

Publication Number Publication Date
CN115242518A CN115242518A (zh) 2022-10-25
CN115242518B true CN115242518B (zh) 2024-03-22

Family

ID=83674747

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210878353.6A Active CN115242518B (zh) 2022-07-25 2022-07-25 混合云环境下医疗健康数据保护系统与方法

Country Status (1)

Country Link
CN (1) CN115242518B (zh)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115720152A (zh) * 2022-10-27 2023-02-28 郑茂满 结合数字化的智慧医疗大数据处理方法
CN115801843B (zh) * 2023-01-30 2023-05-05 湖南一特医疗股份有限公司 一种基于云技术的医疗服务平台和方法
CN115904739B (zh) * 2023-02-21 2023-05-16 四川边缘算力科技有限公司 一种边缘计算方法以及边缘计算系统
CN116527355B (zh) * 2023-04-25 2024-01-23 湖北联时科技有限公司 一种医疗数据的加密共享系统
CN116915520B (zh) * 2023-09-14 2023-12-19 南京龟兔赛跑软件研究院有限公司 基于分布式计算的农业产品信息化数据安全优化方法
CN116959657B (zh) * 2023-09-18 2023-12-12 苏州绿华科技有限公司 一种医疗大数据安全管理系统
CN116956355B (zh) * 2023-09-21 2023-12-19 中日友好医院(中日友好临床医学研究所) 云安全医疗用户个人信息加密保护系统及其加密保护方法
CN117407849B (zh) * 2023-12-14 2024-02-23 四川省电子产品监督检验所 一种基于工业互联网技术的工业数据安全保护方法及系统

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106059763A (zh) * 2016-07-29 2016-10-26 南京邮电大学 云环境下属性基多机构层次化密文策略权重加密方法
WO2016197680A1 (zh) * 2015-06-12 2016-12-15 深圳大学 面向云存储服务平台的访问控制系统及其访问控制方法
CN110099043A (zh) * 2019-03-24 2019-08-06 西安电子科技大学 支持策略隐藏的多授权中心访问控制方法、云存储系统
CN110138561A (zh) * 2019-03-22 2019-08-16 西安电子科技大学 基于cp-abe自动校正的高效密文检索方法、云计算服务系统
CN111914269A (zh) * 2020-07-07 2020-11-10 华中科技大学 一种区块链和云存储环境下的数据安全共享方法和系统
CN113708917A (zh) * 2021-08-18 2021-11-26 上海应用技术大学 基于属性加密的app用户数据访问控制系统及方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11310041B2 (en) * 2019-04-05 2022-04-19 Arizona Board Of Regents On Behalf Of Arizona State University Method and apparatus for achieving fine-grained access control with discretionary user revocation over cloud data

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016197680A1 (zh) * 2015-06-12 2016-12-15 深圳大学 面向云存储服务平台的访问控制系统及其访问控制方法
CN106059763A (zh) * 2016-07-29 2016-10-26 南京邮电大学 云环境下属性基多机构层次化密文策略权重加密方法
CN110138561A (zh) * 2019-03-22 2019-08-16 西安电子科技大学 基于cp-abe自动校正的高效密文检索方法、云计算服务系统
CN110099043A (zh) * 2019-03-24 2019-08-06 西安电子科技大学 支持策略隐藏的多授权中心访问控制方法、云存储系统
CN111914269A (zh) * 2020-07-07 2020-11-10 华中科技大学 一种区块链和云存储环境下的数据安全共享方法和系统
CN113708917A (zh) * 2021-08-18 2021-11-26 上海应用技术大学 基于属性加密的app用户数据访问控制系统及方法

Also Published As

Publication number Publication date
CN115242518A (zh) 2022-10-25

Similar Documents

Publication Publication Date Title
CN115242518B (zh) 混合云环境下医疗健康数据保护系统与方法
Ramu A secure cloud framework to share EHRs using modified CP-ABE and the attribute bloom filter
US11425171B2 (en) Method and system for cryptographic attribute-based access control supporting dynamic rules
Chen et al. A Blockchain‐Based Medical Data Sharing Mechanism with Attribute‐Based Access Control and Privacy Protection
Ying et al. A lightweight policy preserving EHR sharing scheme in the cloud
Liu et al. Cloud-based electronic health record system supporting fuzzy keyword search
CN113407627B (zh) 一种基于区块链的智能医疗网络系统及医疗数据共享方法
CN112751670B (zh) 一种多中心密文策略的属性基可搜索加密及相应的搜索获取数据的方法
Huang et al. FSSR: Fine-grained EHRs sharing via similarity-based recommendation in cloud-assisted eHealthcare system
CN106850656A (zh) 一种云环境下多用户文件共享控制方法
US20230083642A1 (en) Methods and systems for managing user data privacy
Ramu et al. Fine-grained access control of EHRs in cloud using CP-ABE with user revocation
Li et al. Traceable Ciphertext‐Policy Attribute‐Based Encryption with Verifiable Outsourced Decryption in eHealth Cloud
WO2019058952A1 (ja) 医療データ検索システム、医療データ検索方法および医療データ検索プログラム
Sethia et al. CP-ABE for selective access with scalable revocation: A case study for mobile-based healthfolder.
Hahn et al. Efficient Attribute‐Based Secure Data Sharing with Hidden Policies and Traceability in Mobile Health Networks
Rai Ephemeral pseudonym based de-identification system to reduce impact of inference attacks in healthcare information system
CN116668149A (zh) 一种基于策略隐藏和属性更新的电子医疗数据共享方法
Zaghloul et al. d-emr: Secure and distributed electronic medical record management
Ali et al. Anonymous aggregate fine-grained cloud data verification system for smart health
Gan et al. An encrypted medical blockchain data search method with access control mechanism
CN118074986A (zh) 一种基于区块链的个人医疗数据共享方法及系统
CN117744120A (zh) 一种多用户可搜索加密方法及系统
Peng et al. A Secure Signcryption Scheme for Electronic Health Records Sharing in Blockchain.
Yuan et al. B‐SSMD: A Fine‐Grained Secure Sharing Scheme of Medical Data Based on Blockchain

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