CN108259606B - 云计算公有云文件存储及检索方法 - Google Patents
云计算公有云文件存储及检索方法 Download PDFInfo
- Publication number
- CN108259606B CN108259606B CN201810049403.3A CN201810049403A CN108259606B CN 108259606 B CN108259606 B CN 108259606B CN 201810049403 A CN201810049403 A CN 201810049403A CN 108259606 B CN108259606 B CN 108259606B
- Authority
- CN
- China
- Prior art keywords
- data
- medical institution
- encryption
- institution terminal
- medical
- 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.)
- Expired - Fee Related
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1097—Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
- H04L63/0428—Network 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
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)
- Medical Treatment And Welfare Office Work (AREA)
- Measuring And Recording Apparatus For Diagnosis (AREA)
Abstract
本发明提供了一种云计算公有云文件存储及检索方法,该方法包括:本地医疗机构终端生成加密私钥,并使用所述加密私钥对公有云文件分块加密后将加密数据存储到公有云端;本地医疗机构终端向公有云端发送获取数据的请求以及所述加密私钥的分发数量t;公有云端利用该加密私钥对数据进行解密后将解密数据返回给本地医疗机构终端,同时存储所述加密私钥的分发数量t;确认远程机构终端的身份后,根据所述加密私钥的分发数量t得到加密鉴权请求标记tagc并返回给远程机构终端。本发明提出了一种云计算公有云文件存储及检索方法,有效防止恶意破坏者对于医疗数据存储系统有效信息的获取,大大加强了医疗数据存储系统的可信度;恢复数据过程中降低了容错率和系统的计算强度。
Description
技术领域
本发明涉及安全云计算,特别涉及一种云计算公有云文件存储及检索方法。
背景技术
可信云计算是在计算和通信系统中广泛使用基于硬件安全模块支持下的可信云计算平台,可信云计算为行为安全而生。可信云计算核心的概念是密钥,医疗数据持久化中密钥的安全性,是整个可信医疗数据存储系统的基础保障。传统的医学云存储,在医学公有云端或是在用户端产生可信鉴权查询都是不合适的,因为它们都不能保证可以提供公正的鉴权结果。对于第三方鉴权,不是只有本地医疗机构用户来获取医学公有云端的公共医疗数据,远程医疗机构用户医疗机构用户由于实际需要也会获取该公共医疗数据,而现有方案缺乏对远程医疗机构用户医疗机构用户获取数据的安全有效的方案。
发明内容
为解决上述现有技术所存在的问题,本发明提出了一种云计算公有云文件存储及检索方法,包括:
步骤1,本地医疗机构终端生成加密私钥,并使用所述加密私钥对公有云文件分块加密后将加密数据存储到公有云端;
步骤2,由本地医疗机构终端向公有云端发送获取数据的请求以及所述加密私钥的分发数量t,该获取数据的请求含有前述加密私钥;公有云端在接收该请求后利用该加密私钥对数据进行解密后得到解密数据,并将解密数据返回给本地医疗机构终端,同时存储所述加密私钥的分发数量t备用;
步骤3,由远程机构终端向本地医疗机构终端发出鉴权请求;本地医疗机构终端确认远程机构终端的身份后,根据所述加密私钥的分发数量t得到加密鉴权请求标记tagc,并将加密鉴权请求标记tagc返回给远程机构终端。
优选地,在步骤1中,所述加密数据作为公共医疗数据。
优选地,所述将加密鉴权求标记tagc返回给远程机构终端的步骤还包括:
本地医疗机构终端还将加密私钥一并发送给远程机构终端。
优选地,在步骤3之后,该方法还包括:
远程机构终端向公有云端发送获取数据的请求以及所述加密鉴权请求标记tagc,公有云端对接收的加密鉴权请求标记tagc进行解密后得到分发数量t’,在判断t’与存储的t相等时将解密数据返回给远程机构终端,否则不解密数据。
优选地,在对存储的医疗数据进行加密时,具体执行以下操作:
调用私钥产生函数,从有限域ZP中任意选取aij,根据每个aij的值以及用户输入的安全参数λ,输出解密密钥对{KE,KD},并将加密私钥KE与公有云端Hi共享,将解密密钥KD存储在本地机构终端;
通过公有云端向伪随机序列生成器输入aij,生成与aij一一对应的标识Labelij,同时调用同态加密函数,输入加密私钥及每个aij所对应的数据值Vij,生成密文Zij,Labelij和cij均为n×n矩阵,分别记为Label和Z矩阵,n为原始医疗数据被剖分的单元数;用Label矩阵按下式对C’进行一次单向加密得到C”:Label×C’=C”;然后用Z矩阵对C”进行二次单向加密得到C”’:C”×Z=C”’;任意随机产生B个向量,其中B≥2n,随机将该向量安排入C”’中,得到一个N1×N2的矩阵Q,其中N1和N2均大于n,所述向量用于保护真实的n值;将以上得到的变量以及向量上传到存储公有云端。
本发明相比现有技术,具有以下优点:
本发明提出了一种云计算公有云文件存储及检索方法,有效防止恶意破坏者对于医疗数据存储系统有效信息的获取,大大加强了医疗数据存储系统的可信度;恢复数据过程中降低了容错率和系统的计算强度。
附图说明
图1是根据本发明实施例的云计算公有云文件存储及检索方法的流程图。
具体实施方式
下文与图示本发明原理的附图一起提供对本发明一个或者多个实施例的详细描述。结合这样的实施例描述本发明,但是本发明不限于任何实施例。本发明的范围仅由权利要求书限定,并且本发明涵盖诸多替代、修改和等同物。在下文描述中阐述诸多具体细节以便提供对本发明的透彻理解。出于示例的目的而提供这些细节,并且无这些具体细节中的一些或者所有细节也可以根据权利要求书实现本发明。
本发明的一方面提供了一种云计算公有云文件存储及检索方法。图1是根据本发明实施例的云计算公有云文件存储及检索方法流程图。
本发明基于可信云计算的医疗数据检索系统包括医疗数据上传模块、医疗数据持久化模块、入侵监测模块。所述医疗数据上传模块验证进行信息收集的云计算环境中的数据节点,判断数据节点可信度,建立所收集信息的信任关系,通过分布式系统来上传网络各处的医疗数据,对于从各节点收集来的数据进行统一格式转换,并将转换后的信息格式定义为各子系统间通信的统一事件格式为整体信任环境的构建提供基础,构建医疗数据平台;所述医疗数据上传模块设置有数据发送应用,医疗数据持久化模块和入侵监测模块均设置有数据接收和发送应用;
医疗数据持久化模块包括医疗数据预处理模块、分布式存储模块、医疗数据再现模块和医疗数据评价模块:医疗数据预处理模块,用于对所述医疗数据上传模块上传的大规模数据进行聚类,其具体执行以下两个操作:通过FCM聚类对医疗数据进行聚类,以聚类中心为名称为每一分类建立目录,重复以上分类过程,将医疗数据进行细分,形成分类下的子分类,并形成多级医疗数据索引;
分布式存储模块,包括医疗数据剖分单元、医疗数据加密单元和公有云端存储单元。
医疗数据剖分单元,用于对存储的数据进行剖分,其具体执行以下操作:当需要存储医疗数据r时,首先在本地将原始医疗数据r剖分成长度均为h的n部分r1,r2,…,rn,然后在有限域ZP中将每个ri分别剖分成n个子块ri,1,ri,2…ri,n,设p>2h,则对于第j个子块ri,j=ri.ri,1.ri,2…ri,j-1)-1mod p,其中mod代表求余运算符;
将{ri.ri,1.ri,2…ri,j-1}设成是初始的分块集,映射到集合{p1,p2…pn}构建线性相关关系,用下式表示方程组:
ai1r1,1+ai2r1,2+…+ainr1,n=ci,1
ai1r2,1+ai2r2,2+…+ainr2,n=ci,2
……
ai1rn,1+ai2rn,2+…+ainrn,n=ci,n
其中aij是从有限域ZP中任意选取的,以此类推得出c2,1,c2,2,…,c2,n,…,cn,1,cn,2,…,cn,n,用矩阵的形式表现出其相关关系,令
则上述方程组表示为A×R=C;
对矩阵R按下式进行二次混合得到新的矩阵C’:A×R×A=C’;
医疗数据加密单元用于对存储的医疗数据进行加密以提高数据的安全性,其具体执行以下操作:
调用私钥产生函数,根据每个aij的值以及用户输入的安全参数λ,输出解密密钥对{KE,KD},并将加密私钥KE与公有云端Hi共享,将解密密钥KD存储在本地机构终端;
通过公有云端向伪随机序列生成器输入aij,生成与aij一一对应的标识Labelij,同时调用同态加密函数,输入加密私钥及每个aij所对应的数据值Vij,生成密文Zij,Labelij和cij均为n×n矩阵,分别记为Label和Z矩阵;用Label矩阵按下式对C’进行一次单向加密得到C”:Label×C’=C”;然后用Z矩阵对C”进行二次单向加密得到C”’:C”×Z=C”’;任意随机产生B个向量,其中B≥2n,随机将该向量安排入C”’中,得到一个N1×N2的矩阵Q,其中N1和N2均大于n,所述向量用于保护真实的n值,进一步加强了数据的安全性;
公有云端存储单元用于将加密后的医疗数据上传到存储公有云端进行存储,将得到的A、C、C’、C”、C”’、Q、Label、Z、由C”’得到矩阵Q时的具体随机路径以及所述向量上传到存储公有云端;
医疗数据再现模块,用于根据医疗机构用户的请求将存储的医疗数据的再现和取出,其包括逐级配准单元和重配准单元,用户包括授权用户和未授权用户:
逐级配准单元具体执行以下操作:
用户发出请求需要恢复的医疗数据r,从公有云端中读取矩阵Q、生成矩阵Q时的随机路径和向量,按照该随机路径逆向删除向量后得到矩阵C”’1;
将C”’1与从公有云端中读取的C”’比较,如果无法配准则报错,如果配准则进入下一步;
将C”’1按照预先编写好的逆向函数以及从公有云端中读取的矩阵Z和矩阵Label分别得到出C”1和C’1,并分别与C”和C’比较,任一步骤无法配准均报错,配准成功后进入下一步;
读取矩阵A,一方面根据矩阵A的可逆性按照R=A-1C’A-1得到存储数据r,另一方面将A用预先编好的解密函数解密,得到解密密钥KD’,KD’与存储在本地的解密密钥KD进行比较,如果KD’与存储在本地的解密密钥KD相配准,则公有云端向用户发送得到的存储医疗数据r,这样就恢复了医疗数据r;
重配准单元用于,如果KD’与KD无法配准则报错并且将得到的医疗数据r在设定的时间t内存储,如果在时间t内用户重新配准上密钥,则直接将原始医疗数据r发送给用户,否则丢失该医疗数据r;
医疗数据评价模块对医疗数据预处理模块中的数据分类过程、分布式存储模块中的数据剖分和加密过程、医疗数据再现模块中的逐级配准过程进行监督,通过医疗数据上传模块、医疗数据持久化模块共同构建数据提供平台,构建整体可信环境;
所述入侵监测模块对受到的入侵进行撤销连接、断路响应、屏蔽发生内部滥用的主机。
本发明优选实施例提供的基于公有云端的数据检索方法包括以下步骤:
首先,在步骤1中,由本地医疗机构终端生成加密私钥,并使用所述加密私钥对公有云文件分块加密后将加密数据存储到公有云端。该加密数据作为公共医疗数据。
随后,在步骤2中,由本地医疗机构终端向公有云端发送获取数据的请求以及所述加密私钥的分发数量t,该获取数据的请求含有前述加密私钥。公有云端在接收该请求后利用该加密私钥对数据进行解密后得到解密数据,并将解密数据返回给本地医疗机构终端,同时存储所述加密私钥的分发数量t备用。
最后,在步骤3中,由远程机构终端向本地医疗机构终端发出鉴权请求。本地医疗机构终端确认远程机构终端的身份后,根据所述加密私钥的分发数量t得到加密鉴权请求标记tagc,并将加密鉴权请求标记tagc返回给远程机构终端。优选地,本地医疗机构终端还将加密私钥一并发送给远程机构终端。之后,远程机构终端向公有云端发送获取数据的请求以及所述加密鉴权请求标记tagc,公有云端对接收的加密鉴权请求标记tagc进行解密后得到分发数量t’,在判断t’与存储的t相等时将解密数据返回给远程机构终端,否则不解密数据。
本发明利用加密私钥的分发数量t进行远程机构终端的验证,一方面是与加密私钥相关,另一方面实施起来简单有效,在提高数据检索方法安全性时不会增大运算量。
相应地,基于公有云端的数据检索系统还包括机构鉴权中心,具有存储和/或获取鉴权的功能。
存储鉴权的步骤可在前述步骤1中本地医疗机构终端向公有云端上传数据后执行,该存储鉴权步骤包括:本地医疗机构终端在向公有云端上传数据后将加密文件的摘要信息发送给机构鉴权中心。机构鉴权中心根据所述加密文件的摘要信息向公有云端发起质证,并根据公有云端返回的质证的相应检索许可验证存储在公有云端的数据是否完整,并将验证结果反馈给本地医疗机构终端。
获取鉴权步骤可在前述步骤2和/或3后执行,该获取鉴权步骤包括:由本地医疗机构终端或者将解密数据发送给远程机构终端,远程机构终端在接收解密数据后将解密影像文件的摘要信息发送给机构鉴权中心。机构鉴权中心根据接收的解密影像文件的摘要信息判断与原始本地医疗机构终端加密时发送的加密文件的摘要信息是否相等,是则发送无需重新加密的验证信息给本地医疗机构终端,否则发送需要重新加密的验证信息给本地医疗机构终端。
本发明中需要存储的数据包括医学影像文件F,基于公有云端的数据检索方法具体包括以下步骤:
S1、由本地医疗机构终端将医学影像文件F分成n个文件块,记为mi∈Zp,i∈I,I=[1,n]。本地医疗机构终端将本地的图像存储到公有云端之前,需要先对图像进行加密,加密后的图像每一块都对应一块标记,标记也需要进行加密,然后再存储到公有云端,因此该步骤中需要先生成加密私钥即KG→(keyc,pkt,skt,skh),其中包括影像文件的加密私钥keyc,以及影像文件分块后每一个文件块的标记密钥skt、HASH密钥skh和标记公钥pkt=(gx,ux);其中,x∈Zp为一个随机数,skt=ylabel,ylabel是一个随机素数,ylabel1,ylabel2,.....,ylabeln是与ylabel互质的素数,并随机确定参数。在标记公钥pkt=(gx,ux)中,若G为一个群,若G中存在一个元素g,对于属于G中的任意x,都存在整数k,使x=gk,则G为循环群,g为群的生成元。
S2、医学影像文件F分块后每一个影像文件块的标记记为ti∈Zp,总的标记记为T={ti}i∈[1,n];本地医疗机构终端将生成后的标记附加在对应的文件块上实现数据隐藏,记为m’i=mi+ti。
S3、本地医疗机构终端将加密医疗数据发送至公有云端,所述加密医疗数据包括
影像文件的加密医疗数据、加密影像文件的摘要信息和带标记的鉴权信息。影像文件的加
密医疗数据为F’={m’i}i∈[1,n],所述带标记的鉴权信息为
其中Ri=FID||i,FID为影像文件的标识信息,“||”为连接算符。其中,H(skh,Ri)为HASH函数,skh和Ri均为该HASH函数的输入参数。本发明中加密文件或者解密影像文件的摘要信息为文件的名称、文件分块的个数n、标记的个数和用户端的类别。本发明对每块数据设立一个标记,此处标记的个数与文件分块的个数相等,也为n。
随后,在步骤S4-S7中执行存储鉴权,具体包括:
S4、本地医疗机构终端在执行数据存储步骤后将鉴权请求发送给机构鉴权中心,优选地,该鉴权请求中含有加密文件的摘要信息以及标记公钥pkt。
S5、机构鉴权中心定义质证并向公有云端发起质证C={(i,vi),Q};其中,vi为加密医疗数据每一块对应产生的随机数,Q=pkt q是一个质证集,q为随机数。生成质证的输入中含有标记公钥。质证集是在文件分块后将所有标记获取出来,由所有标记组成的,该计算在一定程度上增加了复杂度,提高了数据传输的安全性,避免了因为密钥被轻易解析而造成数据被截获。
S6、公有云端接收所述质证后,对这个质证做出响应,生成相应检索许可P=(ρ’i,μ,ε,τ)返回给所述机构鉴权中心;其中:
S7、机构鉴权中心收到公有云端返回的相应检索许可后验证鉴权检索许可的正确性,得到相应的验证结果e(ρ,g):
若该等式成立,则判断存储在公有云端的医疗数据是完整的,否则不完整。
本地医疗机构终端根据公有云端返回的验证结果选择是否删除本地机构医疗数据。
当外界需要获取公有云端的公共医疗数据时,需要有加密医疗数据的密钥才能获取公共医疗数据,此时分两种情况,即本地医疗机构用户和远程医疗机构用户医疗机构用户获取的情况。
当本地医疗机构终端需要向公有云端获取医疗数据时,在步骤S8-S9中执行医疗数据获取步骤,具体包括:
S8、由本地医疗机构终端向公有云端发送获取医疗数据请求以及所述加密私钥的分发数量t,该获取数据的请求中还含有前述加密私钥。
S9、公有云端在接收该请求后利用该加密私钥对医疗数据进行解密后得到解密数据,并将解密数据返回给本地医疗机构终端,同时存储所述加密私钥的分发数量t备用。由于公有云端的计算能力远大于用户端,可以在很大程度上减轻用户端的计算量。
随后执行获取鉴权步骤,具体包括:
S10、由本地医疗机构终端在接收解密数据后将解密影像文件的摘要信息发送给机构鉴权中心。
S11、机构鉴权中心根据接收的解密影像文件的摘要信息判断与原始本地医疗机构终端加密时发送的加密文件的摘要信息是否相等,是则发送无需重新加密的验证信息给本地医疗机构终端,否则发送需要重新加密的验证信息给本地医疗机构终端。机构鉴权中心通过摘要信息中用户端的类别,例如id号,来判断该发送摘要信息的用户是否为本地的本地医疗机构终端。如果是本地医疗机构终端,则摘要信息必然相等,机构鉴权中心返回一个获取的验证信息sub=0。本地医疗机构终端收到sub=0时,保持不变。
当远程医疗机构用户的远程机构终端需要向公有云端获取医疗数据时,具体包括:
S12、远程机构终端首先需要向本地医疗机构终端发出鉴权请求。
S13、本地医疗机构终端在接收鉴权请求后确认远程机构终端的身份,当给予授权时,对采用的原始加密文件的加密私钥的分发数量t进行加密得到加密鉴权请求标记tagc,并将加密鉴权请求标记tagc返回给远程机构终端。优选地,本地医疗机构终端可以使用标记密钥skt对分发数量t进行加密得到加密鉴权请求标记tagc。该本地医疗机构终端还将加密私钥一并发送给远程机构终端。
S14、远程机构终端向公有云端发送获取医疗数据请求以及所述加密鉴权请求标记tagc。该远程机构终端发送的获取医疗数据请求中含有本地医疗机构终端发送的加密私钥。
S15、公有云端对接收的加密鉴权请求标记tagc进行解密后得到分发数量t’,并判断分发数量t’与预先存储的分发数量t是否相等,若相等则利用远程机构终端发送的加密私钥解密公共医疗数据,然后将解密数据返回给远程机构终端。如果分发数量t’与预先存储的分发数量t不相等,则不解密数据。
最后,执行获取鉴权步骤,具体包括:
S16、由将解密数据发送给远程机构终端,远程机构终端在接收解密数据后将解密影像文件的摘要信息发送给机构鉴权中心。
S17、机构鉴权中心根据接收的解密影像文件的摘要信息判断与原始本地医疗机构终端加密时发送的加密文件的摘要信息是否相等,是则发送无需重新加密的验证信息给本地医疗机构终端,否则发送需要重新加密的验证信息给本地医疗机构终端。如果是远程机构终端发送的解密影像文件的摘要信息,则该摘要信息必然与原始加密文件的摘要信息不相同,机构鉴权中心返回一个获取的验证信息sub=1。本地医疗机构终端收到sub=1时,重新生成密钥对原始的文件数据进行加密。
基于可信云计算的医疗数据检索系统的入侵监测模块包括安全确定单元、安全配置单元、侦听单元,所述安全确定单元将医疗机构终端分为不同的安全层级,所述安全配置单元根据安全确定单元的分层结果,为不同安全层级的医疗机构终端以及节点之间的链路提供不同的安全加密服务;所述侦听单元用于监测医疗机构终端状态。
安全确定单元通过将医疗机构终端分为不同的安全层级来构建整体信任环境和医疗数据平台,所述安全确定单元为可信链的起点,所述安全确定单元、安全配置单元、侦听单元生成共同构成可信链,通过移除待测节点来评价该节点在该网络中的依赖性,如果待测节点被移除后,得到的新图中生成树的数目越少,那么该节点的依赖性值就越大。
用G表示一个具有m个医疗机构终端V和n条链路E的DAG图,其中V={V1,V2,…Vm},E={E1,E2,…En},用一个m×n的矩阵R表示节点和链路的连接关系,矩阵R的一行对应网络中的一个计算节点,R的一列表示医疗机构终端与对应边的关联属性的值,R中每个元素的值均为0或1,其中0代表链路与医疗机构终端不关联,1代表链路与医疗机构终端关联;
用(i,j)代表DAG图G中连接医疗机构终端Vi与医疗机构终端Vj的链路,μ(Vi,Vj)代表此链路的权重,若存在T为E的子集,使得μ(T)最小,则将T作为G的优化树,则G中优化树数量τ(G)=rgl(RRT),其中rgl()代表行列式生成函数;
由下式得到节点Vi的依赖性值ri:
其中τ(G)为由优化树计算模块得到的优化树数量;k为矩阵R中第i行非零元素的数量,Z是移除R的第i行和第i行的非零元素所在列之后得到的新的矩阵,rgl(Zi)代表Z的行列式;ri的值越大,即节点显示出越高的依赖性,当ri的值取1的时候,则表示Vi是该网络中最重要的节点;按以上方法分别计算所有医疗机构终端节点的依赖性值,同时设定分层阈值T1、T2、T3,且T1>T2>T3,如果ri>T1,则将该医疗机构终端标记为关键节点,如果T1>ri>T2,则将该医疗机构终端标记为次关键节点,如果T2>ri>T3,则将该医疗机构终端标记为中间节点,如果ri小于T3,则将该医疗机构终端标记为边缘节点;
每当医疗机构终端数量或者位置发生变化时,自动重新计算每个医疗机构终端的依赖性值,并重新进行安全分层和标记;
安全配置单元在安全层级相同的医疗机构终端之间,认证进行信息收集的网络中的数据节点,判断数据节点可信度,建立所上传信息的信任关系,不同安全层级的医疗机构终端之间采用工作在网络层协议之上的应用层协议进行信息交互,应用层的安全以PKI系统为基础,具体来说采用以下的加密方式进行加密:
a.对于安全层级为n1的医疗机构终端A和安全层级为n2的医疗机构终端B,当A要向B传送信息INFO时,首先由A向B发送请求,B返回|n1-n2|个随机数RD1,B保留RD1;
b.A用预先分配的密钥对每个RD1进行数字签名,并产生|n1-n2|个对应的随机数RD2;将RD1和RD2组成一个|n1-n2|×|n1-n2|阶的矩阵,利用矩阵加密技术对信息INFO进行加密,将加密结果发送到B;n1和n2的取值均在1-4之间,而对于安全层级相同的医疗机构终端来说,n1-n2=0,即不进行矩阵加密的操作;当安全层级越级传递级数越高,|n1-n2|就越大,则加密矩阵的阶数越大,加密安全性就越好,而对于同级或者越级不大时,加密算法的计算量相应降低,有较强的自适应性。
c.B调用解密函数对加密后的信息进行解密,得到RD1’和信息INFO,将RD1和RD1’进行比较配准,如果配准成功则接收并保留INFO,如果不一致则将INFO返回A或者将其丢弃;
所述侦听单元用于监测医疗机构终端数量和位置,配合安全确定单元共同构建安全信任环境。
本发明的入侵监测模块使得不同安全层级的计算节点之间可信度以及计算量能自适应调整;安全层级越级传递越高,则加密矩阵的阶数越大,加密安全性就越好,有较强的自适应性。提高计算速度,节约时间成本。
本发明还给出了一种医学影像文件存取融合的方法,使得医学影像文件在公有云端融合后,高效率地获得存取位置而非传统的查表索引方式;被融合的医学影像文件同时拥有良好时间局部性和空间局部性。将若干医学影像文件融合在同一个文件桶中,通过计算获得存取位置。在存储系统中定义标识字段iscom:iscom若为正数,则表明该文件为单个文件,其绝对值表示文件被条带化之后对象在文件内的编号;iscom若为负数,则表明该文件为融合后的医学影像文件,其绝对值表示该医学影像文件在文件桶内的区域编号。
医疗机构终端在存取数据时,首先需到元数据服务器获取对应文件的元数据,主要包括fid和iscom,fid唯一标识了文件,iscom唯一标识了该文件所处的文件桶;然后获得该文件的物理位置,即adr;最后直接存取对象存储设备,并在存取结束后更新元数据服务器中的元数据。所述元数据服务器用于管理元数据信息,包括访问权限信息和逻辑视图信息,如fid、iscom、最后修改时间、访问权限、文件大小。将若干医学影像文件融合在同一文件桶中,存取时通过fid和iscom来计算出医学影像文件所在的文件桶以及医学影像文件在文件桶内的区域。编号为fid的医学影像文件被融合于文件桶的计算公式为:adr=((fid+iscom+1)<<32)|1
该医学影像文件在该文件桶的第-iscom个区域中。
医学影像文件优化存取访问中,写操作包括以下步骤:
1.1)在医学影像文件创建时,为医学影像文件分配全局唯一编号fid,分配原则为时序递增。
1.2)将S个fid连续的医学影像文件融合写入同一文件桶中。每个医学影像文件存放在相同大小的区域中。为医学影像文件分配文件桶中唯一的编号iscom,第K个区域中的医学影像文件iscom计算公式为:iscom=-K;
1.3)计算得出全局唯一的文件桶编号adr。文件桶内任一区域的医学影像文件均可以通过该公式计算出相同的adr;
1.4)将编号为adr的文件桶存储于具体的对象存储设备OSD中,OSD编号的计算公式为:
OSD=HASH(adr)
读过程包括以下步骤:
2.1)获取待读取医学影像文件的fid和iscom。
2.2)计算该医学影像文件所在的文件桶的编号adr。
2.3)计算该文件桶所存储于OSD的编号OSD。
2.4)将该OSD中的编号为adr的文件桶中S个时序的医学影像文件融合内容,读取至本地缓存。计算出医学影像文件的位置,并将其内容返回给应用程序;将该文件桶中其他区域的数据内容保存在缓存中。
2.5)通过映射表将逻辑地址映射为物理地址;检测空闲空间,当出现不足,即低于空间不足的阈值θ%时触发垃圾回收;
标记缓存中所有块的类型,并统计LRU队列外的被修改过的块数量CD。统计存储节点中无效段数量IP,其中第i个块中的无效段数量为IPi。
计算存储节点中所有块的垃圾率GR,其中第i个块的垃圾率计算公式为:GRi=*(IPi+CD)/BlockSize
BlockSize为块的大小;将垃圾率最高的块作为回收块;将回收块中的CP和HD直接拷贝至迁移位置。将回收块中的LRU队列外的被修改过的块标记为无效块,将该LRU队列中的被修改过的块在缓存中的最新数据块拷贝至迁移位置。
综上所述,本发明提出了一种云计算公有云文件存储及检索方法,有效防止恶意破坏者对于医疗数据存储系统有效信息的获取,大大加强了医疗数据存储系统的可信度;恢复数据过程中降低了容错率和系统的计算强度。
显然,本领域的技术人员应该理解,上述的本发明的各模块或各步骤可以用通用的计算系统来实现,它们可以集中在单个的计算系统上,或者分布在多个计算系统所组成的网络上,可选地,它们可以用计算系统可执行的程序代码来实现,从而,可以将它们存储在存储系统中由计算系统来执行。这样,本发明不限制于任何特定的硬件和软件结合。
应当理解的是,本发明的上述具体实施方式仅仅用于示例性说明或解释本发明的原理,而不构成对本发明的限制。因此,在不偏离本发明的精神和范围的情况下所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。此外,本发明所附权利要求旨在涵盖落入所附权利要求范围和边界、或者这种范围和边界的等同形式内的全部变化和修改例。
Claims (4)
1.一种云计算公有云文件存储及检索方法,其特征在于,包括:
步骤1,本地医疗机构终端生成加密私钥,并使用所述加密私钥对公有云文件分块加密后将加密数据存储到公有云端;
步骤2,由本地医疗机构终端向公有云端发送获取数据的请求以及所述加密私钥的分发数量t,该获取数据的请求含有前述加密私钥;公有云端在接收该请求后利用该加密私钥对数据进行解密后得到解密数据,并将解密数据返回给本地医疗机构终端,同时存储所述加密私钥的分发数量t备用;
步骤3,由远程机构终端向本地医疗机构终端发出鉴权请求;本地医疗机构终端确认远程机构终端的身份后,根据所述加密私钥的分发数量t得到加密鉴权请求标记tagc,并将加密鉴权请求标记tagc返回给远程机构终端;
该方法进一步还包括:根据医疗机构用户的请求将存储的医疗数据的再现和取出;
在对存储的医疗数据进行加密时,具体执行以下操作:
调用私钥产生函数,从有限域Zp中任意选取aij,根据每个aij的值以及用户输入的安全参数λ,输出解密密钥对{KE,KD},并将加密私钥KE与公有云端Hi共享,将解密密钥KD存储在本地机构终端;
当需要存储医疗数据r时,首先在本地将原始医疗数据r剖分成长度均为h的n部分r1,r2,…,rn,然后在有限域Zp中将每个ri分别剖分成n个子块ri,1,ri,2…ri,n,设p>2h,则对于第j个子块ri,j=(ri.ri,1.ri,2…ri,j-1)-1mod p,其中mod代表求余运算符;
将{ri.ri,1.ri,2…ri,j-1}设成是初始的分块集,基于所述分块集构建线性相关关系,用下式表示方程组:
ai1r1,1+ai2r1,2+…+ainr1,n=ci,1
ai1r2,1+ai2r2,2+…+ainr2,n=ci,2
……
ai1rn,1+ai2rn,2+…+ainrn,n=ci,n
其中aij是从有限域Zp中任意选取的,根据上述方程组得出c2,1,c2,2,…,c2,n,…,cn,1,cn,2,…,cn,n,用矩阵的形式表示其相关关系:
则上述方程组表示为A×R=C;
对矩阵R按下式进行二次混合得到新的矩阵C’:A×R×A=C’;
通过公有云端向伪随机序列生成器输入aij,生成与aij一一对应的标识Labelij,同时调用同态加密函数,输入加密私钥及每个aij所对应的数据值Vij,生成密文Zij,Labelij和cij均为n×n矩阵,分别记为Label和Z矩阵,n为原始医疗数据被剖分的单元数;用Label矩阵按下式对C’进行一次单向加密得到C”:Label×C’=C”;然后用Z矩阵对C”进行二次单向加密得到C”’:C”×Z=C”’;任意随机产生B个向量,其中B≥2n,随机将该向量安排入C”’中,得到一个N1×N2的矩阵Q,其中N1和N2均大于n,所述向量用于保护真实的n值;将以上得到的A、C、C’、C”、C”’、Q、Label、Z以及向量上传到公有云端;
该方法进一步包括:
将本地医疗机构终端分为不同的安全层级,通过移除待测节点来评价该节点的网络依赖性;
用G表示一个具有m个医疗机构终端V和n条链路E的DAG图,其中V={V1,V2,…Vm},E={E1,E2,…En},用一个m×n的矩阵R表示节点和链路的连接关系,矩阵R的一行对应网络中的一个计算节点,R的一列表示医疗机构终端与对应边的关联属性的值,R中每个元素的值均为0或1,其中0代表链路与医疗机构终端不关联,1代表链路与医疗机构终端关联;
用(i,j)代表DAG图G中连接医疗机构终端Vi与医疗机构终端Vj的链路,μ(Vi,Vj)代表此链路的权重,若存在T为E的子集,使得μ(T)最小,则将T作为G的优化树,则G中优化树数量τ(G)=rgl(RRT),其中rgl()代表行列式生成函数;
由下式得到节点Vi的依赖性值ri:
其中τ(G)为由优化树计算模块得到的优化树数量;k为矩阵R中第i行非零元素的数量,Z是移除R的第i行的非零元素所在列之后得到的新的矩阵,rgl(Zi)代表Z的行列式;ri的值越大,即节点显示出越高的依赖性,当ri的值取1的时候,则表示Vi是该网络中最重要的节点;
按以上方法分别计算所有医疗机构终端节点的依赖性值,同时设定分层阈值T1、T2、T3,且T1>T2>T3,如果ri>T1,则将该医疗机构终端标记为关键节点,如果T1>ri>T2,则将该医疗机构终端标记为次关键节点,如果T2>ri>T3,则将该医疗机构终端标记为中间节点,如果ri小于T3,则将该医疗机构终端标记为边缘节点;
每当医疗机构终端数量或者位置发生变化时,自动重新计算每个医疗机构终端的依赖性值,并重新进行安全分层和标记;
在安全层级相同的医疗机构终端之间,认证进行信息收集的网络中的数据节点,判断数据节点可信度,建立所上传信息的信任关系,不同安全层级的医疗机构终端之间采用工作在网络层协议之上的应用层协议进行信息交互,应用层的安全以PKI系统为基础,采用以下的加密方式进行加密:
a.对于安全层级为n1的医疗机构终端A和安全层级为n2的医疗机构终端B,当A要向B传送信息INFO时,首先由A向B发送请求,B返回|n1-n2|个随机数RD1,B保留RD1;
b.A用预先分配的密钥对每个RD1进行数字签名,并产生|n1-n2|个对应的随机数RD2;将RD1和RD2组成一个|n1-n2|×|n1-n2|阶的矩阵,利用矩阵加密技术对信息INFO进行加密,将加密结果发送到B;n1和n2的取值均在1-4之间,而对于安全层级相同的医疗机构终端来说,n1-n2=0,即不进行矩阵加密的操作;
c.B调用解密函数对加密后的信息进行解密,得到RD1’和信息INFO,将RD1和RD1’进行比较配准,如果配准成功则接收并保留INFO,如果不一致则将INFO返回A或者将其丢弃。
2.根据权利要求1所述的方法,其特征在于,在步骤1中,所述加密数据作为公共医疗数据。
3.根据权利要求1所述的方法,其特征在于,所述将加密鉴权请求标记tagc返回给远程机构终端的步骤还包括:
本地医疗机构终端还将加密私钥一并发送给远程机构终端。
4.根据权利要求3所述的方法,其特征在于,在步骤3之后,该方法还包括:
远程机构终端向公有云端发送获取数据的请求以及所述加密鉴权请求标记tagc,公有云端对接收的加密鉴权请求标记tagc进行解密后得到分发数量t’,在判断t’与存储的t相等时将解密数据返回给远程机构终端,否则不解密数据。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810049403.3A CN108259606B (zh) | 2018-01-18 | 2018-01-18 | 云计算公有云文件存储及检索方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810049403.3A CN108259606B (zh) | 2018-01-18 | 2018-01-18 | 云计算公有云文件存储及检索方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108259606A CN108259606A (zh) | 2018-07-06 |
CN108259606B true CN108259606B (zh) | 2021-05-18 |
Family
ID=62741070
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810049403.3A Expired - Fee Related CN108259606B (zh) | 2018-01-18 | 2018-01-18 | 云计算公有云文件存储及检索方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108259606B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109918925A (zh) * | 2019-02-19 | 2019-06-21 | 上海泉坤信息科技有限公司 | 数据存储方法、数据节点及存储介质 |
CN115221135B (zh) * | 2022-07-21 | 2023-05-09 | 陕西合友网络科技有限公司 | 一种工业互联网数据的共享方法及系统 |
CN116756778B (zh) * | 2023-08-15 | 2023-11-14 | 四川玉米星球科技有限公司 | 私密文件存储及访问方法、装置 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2003069559A (ja) * | 2001-08-23 | 2003-03-07 | Sony Corp | コンテンツ保護システム |
CN106202945A (zh) * | 2016-07-13 | 2016-12-07 | 张志华 | 一种高安全性的医患信息管理系统 |
CN107197037B (zh) * | 2017-02-24 | 2018-02-02 | 重庆第二师范学院 | 一种基于云服务器的具有审计功能的数据存取方法及系统 |
CN107147720B (zh) * | 2017-05-16 | 2018-07-03 | 安徽大学 | 一种云存储数据共享中可追踪的有效公开审计方法和系统 |
-
2018
- 2018-01-18 CN CN201810049403.3A patent/CN108259606B/zh not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
CN108259606A (zh) | 2018-07-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112019591B (zh) | 一种基于区块链的云数据共享方法 | |
AU2017269736B2 (en) | Multiple-link cryptologic blockchain | |
EP3451579B1 (en) | Multiple-phase rewritable blockchain | |
EP3356988B1 (en) | Method and system for verifiable searchable symmetric encryption | |
CN110213042A (zh) | 一种基于无证书代理重加密的云数据去重方法 | |
US20100005318A1 (en) | Process for securing data in a storage unit | |
US8995655B2 (en) | Method for creating asymmetrical cryptographic key pairs | |
CN106612320A (zh) | 云存储中一种加密数据的去重方法 | |
CN108197496A (zh) | 云计算环境下数据安全增强方法 | |
CN106776904A (zh) | 一种不可信云计算环境中支持动态验证的模糊查询加密方法 | |
JP2010205258A (ja) | 検索方法、検索装置、索引生成方法、索引生成装置 | |
CN110008755B (zh) | 一种云存储可撤销动态数据完整性验证系统及方法 | |
CN105959111A (zh) | 基于云计算和可信计算的信息安全大数据资源访问控制系统 | |
CN108259606B (zh) | 云计算公有云文件存储及检索方法 | |
CN105659231A (zh) | 实现对数据的访问 | |
CN108777619B (zh) | 基于标识的cpk体制和密钥管理方法、装置、服务器及终端 | |
CN110188545B (zh) | 一种基于链式数据库的数据加密方法及装置 | |
CN108269610A (zh) | 基于云计算的数据可靠性验证方法 | |
CN108763940B (zh) | 一种基于秘密共享的可检验数据库加密检索方法及系统 | |
CN115001730A (zh) | 分布式场景下基于角色属性的访问控制系统及方法 | |
CN117454442A (zh) | 匿名安全和可追溯的分布式数字取证方法与系统 | |
CN115604030B (zh) | 数据共享方法、装置、电子设备和存储介质 | |
CN107395609A (zh) | 数据加密方法 | |
CN115174072B (zh) | 一种保护隐私的医疗信息相似范围查询方法 | |
CN116663046A (zh) | 基于区块链的隐私数据共享和检索方法、系统及设备 |
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 | ||
TA01 | Transfer of patent application right | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20210425 Address after: Room 313, 3rd floor, building 7, 333 Yunhua Road, high tech Zone, Chengdu, Sichuan 610000 Applicant after: CHENGDU SIXIANG LIANCHUANG TECHNOLOGY Co.,Ltd. Address before: 610000 Chengdu province high tech Zone, West core road, No. 4, No. Applicant before: CHENGDU BORUIDE TECHNOLOGY Co.,Ltd. |
|
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20210518 Termination date: 20220118 |