CN105656881A - 一种电子病历的可验证外包存储和检索系统及方法 - Google Patents

一种电子病历的可验证外包存储和检索系统及方法 Download PDF

Info

Publication number
CN105656881A
CN105656881A CN201510974899.1A CN201510974899A CN105656881A CN 105656881 A CN105656881 A CN 105656881A CN 201510974899 A CN201510974899 A CN 201510974899A CN 105656881 A CN105656881 A CN 105656881A
Authority
CN
China
Prior art keywords
user
ciphertext
electronic health
health record
retrieval
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.)
Granted
Application number
CN201510974899.1A
Other languages
English (en)
Other versions
CN105656881B (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.)
Hubei University of Technology
Original Assignee
Hubei University of Technology
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 Hubei University of Technology filed Critical Hubei University of Technology
Priority to CN201510974899.1A priority Critical patent/CN105656881B/zh
Publication of CN105656881A publication Critical patent/CN105656881A/zh
Application granted granted Critical
Publication of CN105656881B publication Critical patent/CN105656881B/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/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/06Network architectures or network communication protocols for network security for supporting key management in a packet data network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0815Network architectures or network communication protocols for network security for authentication of entities providing single-sign-on or federations
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/1066Session management
    • H04L65/1073Registration or de-registration
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/3331Query processing
    • G06F16/334Query execution
    • G06F16/3346Query execution using probabilistic model
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/3331Query processing
    • G06F16/3349Reuse of stored results of previous queries
    • G06Q50/24

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • General Business, Economics & Management (AREA)
  • Multimedia (AREA)
  • Medical Treatment And Welfare Office Work (AREA)
  • Storage Device Security (AREA)

Abstract

本发明公开了一种电子病历的可验证外包存储和检索系统及方法,系统由电子病历上传和下载模块、数据处理模块和电子病历检索模块三大功能模块组成;电子病历上传和下载模块用于电子病历数据在服务器和用户本地之间的传输,同时负责用户上传电子病历数据时对明文的加密以及用户下载电子病历数据时对密文的解密,为电子病历数据检索模块提供需求;数据处理模块用于处理用户上传的电子病历数据的密文并进行存储;电子病历检索模块用于进行病历检索关键字的加密和密文的计算。本发明为资源受限的个人和企业在软硬件及其维护上节省了大量的开销,同时保证了信息的安全及个人隐私性。

Description

一种电子病历的可验证外包存储和检索系统及方法
技术领域
本发明属于云存储和云计算技术领域,涉及一种个人电子病历的安全存储和检索系统及方法,特别涉及一种电子病历的可验证外包存储和检索的方法及系统。
背景技术
随着我国信息技术的发展,电子病历系统已经能够为卫生医疗机构或保健医院提供良好的数字化便捷管理工作环境。电子病历根据国家卫生部颁发的《电子病历基本架构与数据标准电子病历》中定义为:电子病历是医疗机构对门诊、住院患者(或保健对象)临床诊疗和指导干预的、数字化的医疗服务工作记录。2013年国家卫生计生委和国家中医药管理局发行的《医疗机构病历管理规定(2013年版)》中第四条规定:按照病历记录形式不同,可区分为纸质病历和电子病历。电子病历与纸质病历具有同等效力。电子病历在医疗中作为主要的信息源,提供超越纸张病历的服务,满足医疗、法律和管理需求。
电子病历中的病历信息主要包括:病人的姓名、性别等自然信息;出/入院及转院等流行情况、病人所接受的各种检查记录、医生为病人制定的各种治疗记录以及医疗机构对病人的护理记录等。这些记录都是关乎个人隐私的信息,不能随意泄露传播。这些信息一旦被泄露,对用户的隐私和安全将造成十分严重的后果。所以一个安全的电子病历的外包存储及检索对医生和病人来说很有必要。
近年来快速兴起的云计算,使得外包存储和外包计算成为了现实,这也使得电子病历的的应用和普及成为现实。云计算是将需要计算的任务分布在大量计算机构成的资源池上,使各种应用系统能够根据需要获取计算能力、存储空间和各种软件服务。云计算为我们生活中的许多场景提供较好的解决方案,它使得云用户的计算能力不再受限于各自的资源约束型设备,通过外包工作负载给云,云用户可以使用云提供的无限资源来完成高代价的计算,大程度地缩减云用户的资本支出,减轻云用户端的工作负载,提高工作效率。
然而,电子病历的应用和普及为医生和病人带来便利的同时,也为用户的信息安全及隐私保护问题带来了许多挑战。经过对云端的研究发现,云服务器也是存在安全隐患的。一方面,云用户的外包计算工作负载通常包含敏感信息,这些敏感信息如果在外包给云服务器之前不加以加密,则很有可能被泄漏;另一方面,由于可能存在的软件漏洞、硬件故障甚至局外人的恶意攻击,都有可能影响云端计算结果的质量。
安全电子病历存储和检索需要解决的问题主要有两个,如何确保工作负载中输入输出信息的隐私性?如何验证计算结果的完整性和正确性?目前,已经提出了许多基于云外包计算的安全方案,这些方案可以确保云用户输入输出的敏感信息不被云端知晓,达到了安全保密的效果。安全的可验证外包计算方案既可以保证用户输入输出的隐私,同时可以验证计算结果的正确性和完整性。
发明内容
为了解决了个人电子病历数据在云端存储及检索的安全问题,本发明提出了一种电子病历的可验证外包存储和检索系统及方法。
本发明的系统所采用的技术方案是:一种电子病历的可验证外包存储和检索系统,其特征在于:由电子病历上传和下载模块、数据处理模块和电子病历检索模块三大功能模块组成;
所述电子病历上传和下载模块用于电子病历数据在服务器和用户本地之间的传输,同时负责用户上传电子病历数据时对明文的加密以及用户下载电子病历数据时对密文的解密,为电子病历数据检索模块提供需求;所述数据处理模块用于处理用户上传的电子病历数据的密文并进行存储;所述电子病历检索模块用于进行病历检索关键字的加密和密文的计算。
本发明的方法所采用的技术方案是:一种电子病历的可验证外包存储和检索方法,其特征在于,包括以下步骤:
步骤1:新用户注册;新用户在云存储平台通过注册,从而加入云平台;新用户输入注册信息,云端根据用户输入的信息生成一对新的密钥,并分发给新用户;
步骤2:用户登录;用户根据注册信息和分发的密钥,登录云存储平台,与云存储系统进行功能交互,实现数据上传、下载以及检索功能;
步骤3:用户上传或下载信息;用户将电子病历数据从本地上传到服务器或从服务器下载到本地,其中包含了用户上传电子病历数据时对数据明文的加密以及用户从服务器下载数据时对密文的解密;
其中加密过程是将电子病历数据的明文W进行比特分组,消息分组为w=w1w2...wn∈{0,1}n,运用加密算法对每个明文分组wi进行加密得到密文ci,再将分组密文进行整合,得到密文c=c1c2...cn
上传过程是用户将加密后得到的合并密文c上传至服务器;
下载过程是用户从服务器下载所需电子病历数据的密文至本地;
解密过程是用户运用解密算法对下载的密文进行解密,得到所需电子病历数据的明文结果;
步骤4:用户检索云端电子病历数据;
步骤4.1:用户输入病历检索关键字,在此处将关键字定义为f(i),对于每个i∈[n]都有f(i)=wi
步骤4.2:运用步骤3.1中加密方法,对电子病历检索关键字进行加密处理,将加密后的病历密文上传给云服务器;
步骤4.3:云服务器接收电子病历检索关键字的密文,运用可验证计算算法对密文进行检索计算,最终生成检索结果的密文并附带一个对结果正确性的证明;
步骤5:用户解密并验证检索结果;
步骤5.1:用户接收服务器发送的检索密文结果并利用步骤3.4中的解密算法进行解密,得到电子病历检索明文;
步骤5.2:用户利用服务器发送的结果正确性证明,对检索计算结果进行验证,若验证结果正确,则输出计算结果,否则用户不接受结果。
作为优选,步骤3中所述对数据明文加密,其具体实现包括以下子步骤:
步骤3.1.1:用户将电子病历数据明文消息w进行比特分组,消息分组为w=w1w2...wn∈{0,1}n
步骤3.1.2:对每个明文分组wi进行加密运算,得到密文r∈ZN,其中g1为循环群G1的生成元,h=uq,u←RGi,即u=g1 δ,δ∈ZN,;将分组密文进行整合,得到密文c=c1c2...cn
作为优选,步骤的3.1.2中,假设安全参数为λ,群生成器G(1λ,k(n+1))输出一组阶为N,生成元为g1,...,gk(n+1)的循环群G1,...,Gk(n+1),其中,N=pq,p和q为2个λbit的素数,
作为优选,步骤3中所述对下载的密文进行解密,其具体实现包括以下子步骤:
步骤3.4.1:用户从服务器端下载加密后的病历数据c至本地,进行解密,计算cp=(g1 whr)p=g1 pwurpq=g1 pm
步骤3.4.2:在值域范围W中求离散对数问题得到明文数据w。
作为优选,步骤4.2中所述对电子病历检索关键字进行加密处理,其具体实现过程是首先选取用户的函数输入计算 其中l∈[k],rl←ZN;经过BGN2k+1加密后输出的密文为(σ1,σ2,...,σk),同时生成一个验证密钥τx=⊥由用户保存。
作为优选,步骤4.3中所述生成检索结果的密文并附带一个对结果正确性的证明,其具体实现过程是根据输入函数f(x)的加密结果Enc(f(x))以及函数输入a的加密形式σ,结合BGN方案,服务器返回计算加密函数值ρ=Enc(f(a))和一个结果正确性证明π=Enc(c(s)),其中因BGNk方案能支持无限次的加法同态和k-1次乘法同态,故,已知Enc(m1),...,Enc(mk),能计算Enc(m1+…+mk)和Enc(m1...mk),Enc(m1+…+mk)=Enc(m1)...Enc(mk),Enc(m1...mk)=ek(Enc(m1)...Enc(mk)),其中Enc表示BGN加密,mk为明文数据,ek表示多线性映射。
作为优选,步骤5中所述用户下载密文进行解密同时对检索结果进行正确性验证,其具体实现过程是使用求得函数值y=f(a),即为解密后的计算结果,其中p为λbit的素数;用户对解密后的结果进行正确性的验证:e(t/g1 y,g2k+1 p)=e(g1 s/g1 a1 p);若等式成立,验证成功,输出y,否则输出⊥;其中s为用户选择输入的明文。
本发明的有益效果是:
(1)电子病历的可验证外包存储和检索的方法及系统是基于云端信息数据的安全存储及可验证计算方案,主要通过对电子病历数据加密保证了数据在上传过程中的安全,防止了云端数据隐私被泄露、窃取及修改等不安全情况;
(2)本方法运用已有的BGN加密方案和VC方案的有效结合,实现了对个人电子病历数据安全有效检索及可验证正确性的操作,防止云端不诚实的计算,同时充分利用云端的计算能力,使电子病历的可验证外包存储和检索成为现实,大大提高了方案的效率。
附图说明
图1是本发明实施例的系统结构图;
图2是本发明实施例的方法流程图;
图3是本发明实施例的方法中检索计算流程图;
图4是本发明实施例的方法中检索的可验证计算框架图。
具体实施方式
下面将结合本方案的附图,对本方案实施过程进行清除完整的描述,显然,所描述的实施方案是方案核心过程。基于本方案中的实施例,在本领域人员在没有做出创新性劳动的前提下,所有实施步骤均为本方案的保护范围。
在传统的可验证外包方案中,可以实现用户输入的保密性,但不能实现多项式函数输入的保密性;本发明结合了多线性映射、可验证计算方案以及BGN加密算法,实现了用户的输入以及函数的保密性,且能有效验证服务器计算结果的外包计算方案。
请见图1,本发明提供的一种电子病历的可验证外包存储和检索系统,由电子病历上传和下载模块、数据处理模块和电子病历检索模块三大功能模块组成;电子病历上传和下载模块用于电子病历数据在服务器和用户本地之间的传输,同时负责用户上传电子病历数据时对明文的加密以及用户下载电子病历数据时对密文的解密,为电子病历数据检索模块提供需求;数据处理模块用于处理用户上传的电子病历数据的密文并进行存储;电子病历检索模块用于进行病历检索关键字的加密和密文的计算。
请见图2,本发明提供的一种电子病历的可验证外包存储和检索方法,包括以下步骤:
步骤1:新用户注册;新用户在云存储平台通过注册,从而加入云平台;新用户输入注册信息,云端根据用户输入的信息生成一对新的密钥,并分发给新用户;
步骤1.1:用户向云服务器发送注册请求后,服务器反馈一个注册页面给用户;
步骤1.2:用户在注册页面输入注册个人信息,并向服务器发送用户名和密码;
步骤1.3:服务器端接收用户名和密码,将密码以hash散列值的形式存于服务器;
步骤2:用户登录;用户根据注册信息和分发的密钥,登录云存储平台,与云存储系统进行功能交互,实现数据上传、下载以及检索功能;
步骤2.1:用户在平台登录页面输入用户名和密码;
步骤2.2:服务器接收密码,并对用户输入的密码进行hash运算,得到密码的hash值;
步骤2.3:服务器将计算得到的密码hash值与服务器端存储的hash值进行比较,若二者一致则允许用户登入,否则拒绝登录;
步骤3:用户上传或下载信息;
用户将电子病历数据从本地上传到服务器或从服务器下载到本地,其中包含了用户上传电子病历数据时对数据明文的加密以及用户从服务器下载数据时对密文的解密;
步骤3.1:加密;将电子病历数据的明文W进行比特分组,消息分组为w=w1w2...wn∈{0,1}n,运用加密算法对每个明文分组wi进行加密得到密文ci,再将分组密文进行整合,得到密文c=c1c2...cn
步骤3.2:上传;用户将加密后得到的合并密文c上传至服务器;
步骤3.3:下载;用户从服务器下载所需电子病历数据的密文至本地;
步骤3.4:解密;用户运用解密算法对下载的密文进行解密,得到所需电子病历数据的明文结果;
步骤4:用户检索云端电子病历数据;
用户在本地输入病历检索关键字,并对关键字进行加密处理,将密文上传给云服务器,云服务器接收密文,运用检索算法对密文进行检索,生成检索结果的密文以及对结果正确性的证明;
步骤4.1:用户输入病历检索关键字,在此处将关键字定义为f(i),对于每个i∈[n]都有f(i)=wi
步骤4.2:运用步骤3.1中加密方法,对电子病历检索关键字进行加密处理,将加密后的病历密文上传给云服务器;
步骤4.3:云服务器接收电子病历检索关键字的密文,运用可验证计算算法对密文进行检索计算,最终生成检索结果的密文并附带一个对结果正确性的证明;
其中生成检索结果的密文并附带一个对结果正确性的证明,其具体实现过程是根据输入函数f(x)的加密结果Enc(f(x))以及函数输入a的加密形式σ,结合BGN方案,服务器返回计算加密函数值ρ=Enc(f(a))和一个结果正确性证明π=Enc(c(s)),其中因BGNk方案能支持无限次的加法同态和k-1次乘法同态,故,已知Enc(m1),...,Enc(mk),能计算Enc(m1+…+mk)和Enc(m1...mk),Enc(m1+…+mk)=Enc(m1)...Enc(mk)Enc(m1...mk)=ek(Enc(m1)...Enc(mk)),其中Enc表示BGN加密。
步骤5:用户解密并验证检索结果;
服务器将检索结果的密文发送给用户,用户下载密文进行解密,同时对检索结果进行正确性验证,若正确,则接受,反之,则不接受;
步骤5.1:用户接收服务器发送的检索密文结果并利用步骤3.4中的解密算法进行解密,得到电子病历检索明文;
步骤5.2:用户利用服务器发送的结果正确性证明,对检索计算结果进行验证,若验证结果正确,则输出计算结果,否则用户不接受结果。
请见图3和图4,本实施例的用户检索过程中数据明文的加密和数据密文的解密方法是:用户开始检索→输入检索关键字→关键字加密→计算加密函数输入及证明→下载加密数据,解密并验证。具体流程如下:
(1)用户输入电子病历检索关键字;本发明中将其定义为多项式函数f(x)和函数的输入x,可表示为f(x)=f0+f1x+…+fnxn
(2)关键字加密;输入安全参数λ用于随机密钥生成算法KeyGen,生成一对公钥pk和私钥sk。具体步骤如下:
步骤1:用户输入的函数f(x)为一元n阶多项式,可表示为f(x)=f0+f1x+…+fnxn
步骤2:选取Γ=(N,G1,...,Gk(n+1),e,g1,...,gk(n+1))←G(1λ,k(n+1)),G(1λ,k(n+1))为群生成器,输出一组阶为N,生成元为g1,...,gk(n+1)的循环群G1,...,Gk(n+1),其中,N=pq,p和q为2个λbit的素数,
步骤3:定义多线性映射:ei:G1×...×G1→Gi,i∈{2,...,k(n+1)},对任意a1,...,ai∈ZN e i ( g 1 a 1 , ... , g 1 a i ) = g i a 1 ... a i . 所以对于任何 g i a i ∈ G i , g j a j ∈ G j , 可以计算 e ( g i a i , g j a j ) = g i + j a i a j .
选取s←ZN,并计算t=g1 f(s)。对于每一个i∈{0,1,...,n},选取vi←ZN,并计算 γ i = g 1 f i h v i . 生成的公钥 p k = ( Γ , g 1 , h ; g 1 s , g 1 s 2 , ... , g 1 s 2 k - 1 ; γ ) , 私钥sk=(p,q,s,t),其中h=uq,u←RGi,即u=g1 δ,δ∈ZN,γ=(γ0,...,γn)。
步骤4:用户输入私钥sk和函数的输入x,问题生成算法ProGen输出加密后的输入σx并同时生成一个验证密钥τx。假设用户的输入为取rl←ZN,l∈[k],计算 σ l = E n c ( a 2 l - 1 ) = g 1 a 2 l - 1 h r l . 问题生成算法经过BGN2k+1加密后输出的密文为(σ12,...,σk),同时生成一个验证密钥τx=⊥由用户保存。
(3)计算加密函数输入及证明。服务器收到加密后的输入σ=(σ12,...,σk),运用Compute算法计算加密函数值ρ和验证值π。具体步骤如下:
步骤1:计算加密函数值ρ。对于任意的i∈{0,1,...,n},都有二进制表示形式(i1,i2,...,ik),即 i = Σ l = 1 k 2 l - 1 i l , a i = a i 1 · ( a 2 ) i 2 ... ( a 2 k - 1 ) i k . 当il=1时,令φl=σl;否则,φl=g1,那么 ρ i = e k ( φ 1 , φ 2 , ... , φ k ) = g k μ i = g k m h k r 是m=ai在BGN2k+1加密算法下对应的密文,其中 μ i = Π l = 1 k ( a 2 l - 1 + qδr l ) i l , r = 1 q δ ( μ i - a i ) .
ai对应的密文为 ρ i = e n ( ρ 1 , ρ 2 , ... , ρ n ) = g k μ i . 函数 f ( a ) = Σ i = 0 n f i a i , 函数在BGN2k+1下所对应的密文计算计算 ρ = Π i = 0 n ρ i ′ = Π i = 0 n g k + 1 μ i ′ , 其中μ′i=(fi+qδvii
步骤2:计算结果正确性证明π。运用代数性质,对于一元n阶多项式f(x),存在唯一的n-1阶多项式c(x),使等式f(x)-f(a)=(x-a)c(x)成立,经过代数计算 c ( s ) = ( f ( s ) - f ( a ) ) / ( s - a ) = Σ i = 0 n - 1 Σ j = 0 i f i + 1 a j s i - j , 对于每个i∈{0,1,...,n-1}和j∈{0,1,...,i},就可以计算πij=Enc(fi+1ajsi-j)。
步骤3:将i和j用表示为二进制形式。当jl=1时,令φl=σl;否则,φl=g1。当il=1时,令否则ψl=g1。明文m=ajsi-j在BGN2k+1下对应的密文为: π i j = e ( e k ( φ 1 , ... , φ k ) , e k ( ψ 1 , ... , ψ k ) ) = g 2 k v i j = g 2 k m h 2 k r , 其中 v i j = s i - j Π l = 1 k ( a 2 l - 1 + qδr l ) j l , r = 1 q δ ( v i j - m ) , h 2 k = g 2 k q δ . 计算 π i j ′ = e ( γ i + 1 , π i j ) = g 2 k + 1 v i j ′ , 其中vij′=(fi+1+qδvi+1)vij。因此可以求得结果正确性证明 π = Π i = 0 n - 1 Π j = 0 i π i j ′ .
(4)下载加密病历数据,解密并验证。运用验证算法Verify使用求得函数值y=f(a),即为解密后的计算结果;需要注意的是,解密算法是运用解离散对数问题来得到明文y,在电子病历的可验证外包存储和检索的应用场景中,f(a)∈{0,1},即f(a)取自于多项式的域M中,在m←M的情形下,离散对数问题是可解的。最后对解密后的结果进行正确性的验证:e(t/g1 y,g2k+1 p)=e(g1 s/g1 a1 p)。若等式成立,则验证成功,输出y即为用户需要的检索结果;否则输出⊥,表示用户拒绝接受服务器检索结果。
应当理解的是,本说明书未详细阐述的部分均属于现有技术。
应当理解的是,上述针对较佳实施例的描述较为详细,并不能因此而认为是对本发明专利保护范围的限制,本领域的普通技术人员在本发明的启示下,在不脱离本发明权利要求所保护的范围情况下,还可以做出替换或变形,均落入本发明的保护范围之内,本发明的请求保护范围应以所附权利要求为准。

Claims (8)

1.一种电子病历的可验证外包存储和检索系统,其特征在于:由电子病历上传和下载模块、数据处理模块和电子病历检索模块三大功能模块组成;
所述电子病历上传和下载模块用于电子病历数据在服务器和用户本地之间的传输,同时负责用户上传电子病历数据时对明文的加密以及用户下载电子病历数据时对密文的解密,为电子病历数据检索模块提供需求;所述数据处理模块用于处理用户上传的电子病历数据的密文并进行存储;所述电子病历检索模块用于进行病历检索关键字的加密和密文的计算。
2.一种电子病历的可验证外包存储和检索方法,其特征在于,包括以下步骤:
步骤1:新用户注册;新用户在云存储平台通过注册,从而加入云平台;新用户输入注册信息,云端根据用户输入的信息生成一对新的密钥,并分发给新用户;
步骤2:用户登录;用户根据注册信息和分发的密钥,登录云存储平台,与云存储系统进行功能交互,实现数据上传、下载以及检索功能;
步骤3:用户上传或下载信息;用户将电子病历数据从本地上传到服务器或从服务器下载到本地,其中包含了用户上传电子病历数据时对数据明文的加密以及用户从服务器下载数据时对密文的解密;
其中加密过程是将电子病历数据的明文W进行比特分组,消息分组为w=w1w2…wn∈{0,1}n,运用加密算法对每个明文分组wi进行加密得到密文ci,再将分组密文进行整合,得到密文c=c1c2…cn
上传过程是用户将加密后得到的合并密文c上传至服务器;
下载过程是用户从服务器下载所需电子病历数据的密文至本地;
解密过程是用户运用解密算法对下载的密文进行解密,得到所需电子病历数据的明文结果;
步骤4:用户检索云端电子病历数据;
步骤4.1:用户输入病历检索关键字,在此处将关键字定义为f(i),对于每个i∈[n]都有f(i)=wi
步骤4.2:运用步骤3.1中加密方法,对电子病历检索关键字进行加密处理,将加密后的病历密文上传给云服务器;
步骤4.3:云服务器接收电子病历检索关键字的密文,运用可验证计算算法对密文进行检索计算,最终生成检索结果的密文并附带一个对结果正确性的证明;
步骤5:用户解密并验证检索结果;
步骤5.1:用户接收服务器发送的检索密文结果并利用步骤3.4中的解密算法进行解密,得到电子病历检索明文;
步骤5.2:用户利用服务器发送的结果正确性证明,对检索计算结果进行验证,若验证结果正确,则输出计算结果,否则用户不接受结果。
3.根据权利要求2所述的方法,其特征在于:步骤3中所述对数据明文加密,其具体实现包括以下子步骤:
步骤3.1.1:用户将电子病历数据明文消息w进行比特分组,消息分组为w=w1w2…wn∈{0,1}n
步骤3.1.2:对每个明文分组wi进行加密运算,得到密文r∈ZN,其中g1为循环群G1的生成元,h=uq,q为λbit的素数,u←RGi,即u=g1 δ,δ∈ZN;将分组密文进行整合,得到密文c=c1c2…cn
4.根据权利要求3所述的方法,其特征在于:步骤的3.1.2中,假设安全参数为λ,群生成器G(1λ,k(n+1))输出一组阶为N,生成元为g1,…,gk(n+1)的循环群G1,…,Gk(n+1),其中,N=pq,p和q为2个λbit的素数,
5.根据权利要求3所述的方法,其特征在于:步骤3中所述对下载的密文进行解密,其具体实现包括以下子步骤:
步骤3.4.1:用户从服务器端下载加密后的病历数据c至本地,进行解密,计算cp=(g1 whr)p=g1 pwurpq=g1 pm
步骤3.4.2:在值域范围W中求离散对数问题得到明文数据w。
6.根据权利要求2所述的方法,其特征在于:步骤4.2中所述对电子病历检索关键字进行加密处理,其具体实现过程是首先选取用户的函数输入计算其中l∈[k],rl←ZN;经过BGN2k+1加密后输出的密文为(σ12,…,σk),同时生成一个验证密钥τx=⊥由用户保存。
7.根据权利要求6所述的方法,其特征在于:步骤4.3中所述生成检索结果的密文并附带一个对结果正确性的证明,其具体实现过程是根据输入函数f(x)的加密结果Enc(f(x))以及函数输入a的加密形式σ,结合BGN方案,服务器返回计算加密函数值ρ=Enc(f(a))和一个结果正确性证明π=Enc(c(s)),其中 因BGNk方案能支持无限次的加法同态和k-1次乘法同态,故,已知Enc(m1),…,Enc(mk),能计算Enc(m1+…+mk)和Enc(m1…mk),Enc(m1+…+mk)=Enc(m1)…Enc(mk),Enc(m1…mk)=ek(Enc(m1)…Enc(mk)),其中Enc表示BGN加密,mk为明文数据,ek表示多线性映射。
8.根据权利要求7所述的方法,其特征在于:步骤5中所述用户下载密文进行解密同时对检索结果进行正确性验证,其具体实现过程是使用求得函数值y=f(a),即为解密后的计算结果,其中p为λbit的素数;用户对解密后的结果进行正确性的验证:e(t/g1 y,g2k+1 p)=e(g1 s/g1 a,π1 p);若等式成立,验证成功,输出y,否则输出⊥;其中s为用户选择输入的明文。
CN201510974899.1A 2015-12-21 2015-12-21 一种电子病历的可验证外包存储和检索系统及方法 Active CN105656881B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510974899.1A CN105656881B (zh) 2015-12-21 2015-12-21 一种电子病历的可验证外包存储和检索系统及方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510974899.1A CN105656881B (zh) 2015-12-21 2015-12-21 一种电子病历的可验证外包存储和检索系统及方法

Publications (2)

Publication Number Publication Date
CN105656881A true CN105656881A (zh) 2016-06-08
CN105656881B CN105656881B (zh) 2018-12-14

Family

ID=56477622

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510974899.1A Active CN105656881B (zh) 2015-12-21 2015-12-21 一种电子病历的可验证外包存储和检索系统及方法

Country Status (1)

Country Link
CN (1) CN105656881B (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107634829A (zh) * 2017-09-12 2018-01-26 南京理工大学 基于属性的可搜索加密电子病历系统及加密方法
CN108171066A (zh) * 2017-12-22 2018-06-15 湖北工业大学 一种医疗云中隐私保护下的关键词跨域搜索方法及系统
CN109104404A (zh) * 2018-06-20 2018-12-28 广州中国科学院软件应用技术研究所 一种动态加密的医疗大数据系统及方法
CN109117662A (zh) * 2018-06-14 2019-01-01 安徽师范大学 基于区块链的电子病历安全搜索方法
CN111625856A (zh) * 2020-02-27 2020-09-04 南京理工大学 基于国密算法的溯源和前向安全的可搜索密文病历系统

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1087589A1 (en) * 1999-09-27 2001-03-28 Ford Motor Company Utilizing intelligent software agents in a mobile vehicle
CN102075542A (zh) * 2011-01-26 2011-05-25 中国科学院软件研究所 一种云计算数据安全支撑平台
CN103095733A (zh) * 2013-03-04 2013-05-08 淮阴工学院 一种面向云存储的关键字密文检索方法
CN103281377A (zh) * 2013-05-31 2013-09-04 北京鹏宇成软件技术有限公司 一种面向云的密文数据存储与查询方法
US20150046190A1 (en) * 2013-08-12 2015-02-12 Ironwood Medical Information Technologies, LLC Medical data system and method

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1087589A1 (en) * 1999-09-27 2001-03-28 Ford Motor Company Utilizing intelligent software agents in a mobile vehicle
CN102075542A (zh) * 2011-01-26 2011-05-25 中国科学院软件研究所 一种云计算数据安全支撑平台
CN103095733A (zh) * 2013-03-04 2013-05-08 淮阴工学院 一种面向云存储的关键字密文检索方法
CN103281377A (zh) * 2013-05-31 2013-09-04 北京鹏宇成软件技术有限公司 一种面向云的密文数据存储与查询方法
US20150046190A1 (en) * 2013-08-12 2015-02-12 Ironwood Medical Information Technologies, LLC Medical data system and method

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
《中兴通讯技术》 *
《中国优秀硕士学位论文全文数据库 信息科技辑》 *

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107634829A (zh) * 2017-09-12 2018-01-26 南京理工大学 基于属性的可搜索加密电子病历系统及加密方法
CN108171066A (zh) * 2017-12-22 2018-06-15 湖北工业大学 一种医疗云中隐私保护下的关键词跨域搜索方法及系统
CN109117662A (zh) * 2018-06-14 2019-01-01 安徽师范大学 基于区块链的电子病历安全搜索方法
CN109117662B (zh) * 2018-06-14 2021-07-30 安徽师范大学 基于区块链的电子病历安全搜索方法
CN109104404A (zh) * 2018-06-20 2018-12-28 广州中国科学院软件应用技术研究所 一种动态加密的医疗大数据系统及方法
CN109104404B (zh) * 2018-06-20 2022-03-29 广州中国科学院软件应用技术研究所 一种动态加密的医疗大数据系统及方法
CN111625856A (zh) * 2020-02-27 2020-09-04 南京理工大学 基于国密算法的溯源和前向安全的可搜索密文病历系统
CN111625856B (zh) * 2020-02-27 2022-10-25 南京理工大学 基于国密算法的溯源和前向安全的可搜索密文病历系统

Also Published As

Publication number Publication date
CN105656881B (zh) 2018-12-14

Similar Documents

Publication Publication Date Title
CN111835500B (zh) 基于同态加密与区块链的可搜索加密数据安全共享方法
CN108881314B (zh) 雾计算环境下基于cp-abe密文隐私保护方法及系统
US11379609B2 (en) Health file access control system and method in electronic medical cloud
CN107104982B (zh) 移动电子医疗中具有叛逆者追踪功能的可搜索加密系统
CN104363215B (zh) 一种基于属性的加密方法和系统
EP3375129B1 (en) Method for re-keying an encrypted data file
CN108040056B (zh) 基于物联网的安全医疗大数据系统
CN104038341B (zh) 一种基于身份的跨系统代理重加密方法
CN104168108B (zh) 一种泄露密钥可追踪的属性基混合加密方法
CN105100083B (zh) 一种隐私保护且支持用户撤销的基于属性加密方法和系统
CN105024802B (zh) 云存储中基于双线性对的多用户多关键词可搜索加密方法
US20230019301A1 (en) Attribute-based encryption (abe) method with multiple tracing attribute authorities for cloud-assisted internet-of-things (iot)
CN105656881A (zh) 一种电子病历的可验证外包存储和检索系统及方法
CN104158880B (zh) 一种用户端云数据共享解决方法
CN110022309B (zh) 一种移动云计算系统中安全高效的数据共享方法
CN105245328A (zh) 一种基于第三方的用户及文件的密钥产生管理方法
CN104135473B (zh) 一种由密文策略的属性基加密实现身份基广播加密的方法
CN104022866A (zh) 云存储中多用户密文关键词可搜索的加密方法
CN103929434A (zh) 基于加密和权限制度的文件共享方法
CN104270448B (zh) 可外包重构的电子医疗记录的秘密共享云存储方法
CN104993931A (zh) 一种云存储中多用户的加密搜索方法
CN107359979A (zh) 基于截断多项式的对称全同态加密方法
CN111274594A (zh) 一种基于区块链的安全大数据隐私保护共享方法
CN118381600B (zh) 联邦学习隐私保护方法及系统
CN104993929B (zh) 一种支持系统属性扩展的属性基加密系统及方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant