数据安全管理方法、电子设备和存储介质

文档序号:25022047发布日期:2021-05-11 16:46阅读:77来源:国知局
数据安全管理方法、电子设备和存储介质

本发明实施例涉及信息安全技术领域,特别涉及数据安全管理方法、电子设备和存储介质。



背景技术:

基于物联网的电子医疗系统作为物联网、云计算和传统医疗结合的产物,在近几年迅速发展。在一个基于物联网的电子医疗系统中,物联网设备可以持续地收集病人的健康数据,物联网网关会定时地把这些数据整合成个人医疗记录,然后上传给云服务器。这样的话,基于物联网的电子医疗系统不仅为病人提供及时的诊断,为误诊提供证据,而且节省了本地的存储空间,极大的方便了医疗记录的访问和分享。

在基于物联网的电子医疗系统中,保护病人的隐私是一个很大的挑战。因此,个人医疗记录文件上传到云服务之前,对其进行加密是很有必要的。但是,加密后的文件失去了关键词搜索的能力。对称可搜索加密技术成功解决了密文搜索的难题,它可以通过加密的关键词对密文直接搜索。

基于物联网的电子医疗系统中,个人健康记录文件需要被频繁地动态更新。因此,设计支持动态更新的对称可搜索加密方案是很有意义的。虽然有很多的动态对称可搜索加密方案被提出,但是当个人健康记录更新时,这些方案均不能抵抗文件注入攻击。文件注入攻击是一种云服务器通过注入伪造的文件到搜索数据库中推断出之前的搜索陷门对应的关键词的攻击。具体地说,云服务器把精心伪造地文件插入到搜索文件集合中,云服务器用之前的搜索陷门和这些伪造文件的陷门进行匹配,若匹配成功的话,说明该文件中包含该关键词,进一步,就知道了该陷门对应的关键词。这种攻击极大地破坏了病人的隐私,使数据的安全无法得到有力保障。



技术实现要素:

本发明实施方式的目的在于提供一种数据安全管理方法、电子设备和存储介质,使得数据可以免受注入攻击,数据更加安全。

为解决上述技术问题,本发明的实施方式提供了一种数据安全管理方法,包括以下步骤:

基于所述待更新文件中的属性,对所述待更新文件中的关键词进行加密,生成更新陷门,其中,所述关键词与所述属性相互对应;

随机选择一个字符串作为新状态;

根据所述更新陷门和所述新状态生成索引表中新索引位置,其中,所述索引表用于索引所述关键词和所述属性;

根据所述更新陷门、所述新状态、所述待更新文件的标识符和更新前待更新关键词的状态,生成新索引信息,存储于所述新索引位置。

本发明的实施方式还提供了一种数据安全管理方法,包括:

接收客户端发送的搜索陷门和新状态,其中,所述搜索陷门由所述待搜索关键词和所述待搜索属性加密生成,所述新状态为所述待搜索关键词更新后生成;

根据所述搜索陷门和所述新状态,获取所述关键词在索引中的位置,其中,所述索引中的位置为所述关键词更新后的新索引位置;

根据所述新索引位置获取包含所述待搜索关键词的所述待搜索文件,形成待搜索文件集;

将所述待搜索文件集发送至所述客户端。

本发明的实施方式还提供了一种电子设备,包括:至少一个处理器;

以及,与所述至少一个处理器通信连接的存储器;

其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行任一所述的数据安全管理方法。

本发明的实施方式还提供了一种计算机可读存储介质,所述计算机程序被处理器执行时实现任一项所述的数据安全管理方法。

本发明实施方式相对于相关技术而言,在数据进行更新时,通过对属性和关键词进行加密,保证更新陷门是加密状态,在陷门角度上保证数据安全;同时,设置随机的状态用于生成新索引位置,使索引位置的变更无迹可寻,进而使已经使用过的搜索陷门无法发现更新后的数据,即可以抵抗注入攻击,随机选择一个比特串作为新的状态,每次更新时,通过这个新的状态,陷门也能够及时的更新,这样更新陷门就不会和之前的陷门匹配,保证了数据的前向安全性。

另外,本发明实施方式提供的数据安全管理方法,所述基于所述待更新文件中的待更新属性,对所述待更新文件中的待更新关键词进行加密,包括:根据预先生成的属性密钥加密所述属性,生成关键词密钥;根据所述关键词密钥加密所述关键词,生成所述更新陷门。

另外,本发明实施方式提供的数据安全管理方法,所述根据所述更新陷门、所述新状态、所述待更新文件的标识符和更新前文件的状态,生成新索引信息,存储于所述新索引位置后,还包括:对用户针对已更新文件的所述属性的访问权限进行更新。

另外,本发明实施方式提供的数据安全管理方法,所述对用户针对已更新文件的所述属性的访问权限进行更新,包括:将已更新文件的所述标识符和位置信息发送至服务器,其中,所述位置信息为所述属性对应的文件的位置;根据服务器返回的旧访问值和已更新文件的所述标识符,生成新访问值;将所述新访问值替换所述旧访问值,其中,所述访问值用于在用户进行搜索时判断访问权限。

另外,本发明实施方式提供的数据安全管理方法,所述将所述待搜索文件集发送至所述客户端后,还包括:将所述待搜索文件集替换所述搜索关键词在服务器中的相关文件。

另外,本发明实施方式提供的数据安全管理方法,所述将所述待搜索文件集发送至所述客户端前,还包括:对通过所述客户端发送所述搜索陷门和所述新状态的用户的访问权限进行验证。

附图说明

一个或多个实施例通过与之对应的附图中的图片进行示例性说明,这些示例性说明并不构成对实施例的限定,附图中具有相同参考数字标号的元件表示为类似的元件,除非有特别申明,附图中的图不构成比例限制。

图1是本发明的第一实施方式提供的数据安全管理方法的流程图;

图2是本发明的第二实施方式提供的数据安全管理方法的流程图;

图3是本发明的第三实施方式提供的数据安全管理方法的电子医疗系统示意图;

图4是本发明的第三实施方式提供的数据安全管理方法的健康医疗记录数据文件数据库示例图;

图5是本发明的第三实施方式提供的数据安全管理方法的位图索引示意图;

图6是本发明的第三实施方式提供的数据安全管理方法的索引表示意图;

图7本发明的第三实施方式提供的数据安全管理方法的名字属性对应的索引表和状态表示意图;

图8本发明的第四实施方式提供的数据安全管理装置的结构示意图;

图9发明的第五实施方式提供的数据安全管理装置的结构示意图;

图10是本发明的第六实施方式提供的电子设备的结构示意图。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合附图对本发明的各实施方式进行详细的阐述。然而,本领域的普通技术人员可以理解,在本发明各实施方式中,为了使读者更好地理解本申请而提出了许多技术细节。但是,即使没有这些技术细节和基于以下各实施方式的种种变化和修改,也可以实现本申请所要求保护的技术方案。

以下各个实施例的划分是为了描述方便,不应对本发明的具体实现方式构成任何限定,各个实施例在不矛盾的前提下可以相互结合相互引用。

本发明的第一实施方式涉及一种数据安全管理方法,应用于对待更新文件进行更新的过程中。具体流程如图1所示。

步骤101,基于所述待更新文件中的属性,对所述待更新文件中的关键词进行加密,生成更新陷门,其中,所述关键词与所述属性相互对应;

根据预先生成的属性密钥加密所述属性,生成关键词密钥;根据所述关键词密钥加密所述关键词,生成所述更新陷门。

其中,密钥的生成具体为:由第三方预先设置密钥集,密钥集中包括属性密钥,用于加密属性;关键词密钥,用于加密关键词。被授权的(即具有访问权限的)用户才能得到密钥。

具体地,设置待更新文件的标识符为bs,待更新文件中包括待更新属性att,att中包含待更新关键词w。

对待更新属性att进行加密,生成密钥,即其中,kw为生成的密钥,y为伪随机函数,k2为第三方生成的属性密钥。用kw加密关键词w,生成更新陷门,即其中,tw为更新陷门,g为伪随机函数。

前向安全要求更新陷门不能和之前的搜索陷门匹配,所以为了实现前向安全,当有文件需要被更新时,陷门也应该被更新。

步骤102,随机选择一个字符串作为新状态;

需要说明的是,每一个关键词对应一个状态,即在文件中有多少个关键词便有多少个状态。在设置新状态前,待更新关键词已经具有对应的状态。

步骤103,根据所述更新陷门和所述新状态生成索引表中新索引位置,其中,所述索引表用于索引所述关键词和所述属性;

对更新陷门和新状态进行哈希,生成索引表中的新索引位置。

其中,索引表是为了提高搜索效率构建的的文件、属性和关键词之间的映射,存放于服务器端。

步骤104,根据所述更新陷门、所述新状态、所述待更新文件的标识符和更新前待更新关键词的状态,生成新索引信息,存储于所述新索引位置。

新索引信息中包括新状态、更新前待更新关键词的状态、属性、关键词和文件标识符。

进一步地,在对待更新文件的待更新属性进行更新后,还可对访问权限进行更新,包括:文件权限变更和用户权限变更。

文件权限变更具体为:对于已经变更的属性,变更用户针对该属性的访问权限。将已更新文件的所述标识符和位置信息发送至服务器,其中,所述位置信息为所述属性对应的文件的位置;根据服务器返回的旧访问值和已更新文件的所述标识符,生成新访问值;将所述新访问值替换所述旧访问值。其中,访问值用于判断用户对于该属性是否具有访问权限。一般来说,设置1为具有权限,0为不具有权限。

需要说明的是,用户的访问权限集中在一个数组中,称之为访问数组。

用户权限变更具体为:

(1)删除用户的所有相关的访问权限,即删除用户访问权限的数组。

(2)增加用户对某一个属性的访问权限。

本发明实施方式相对于相关技术而言,在数据进行更新时,通过对属性和关键词进行加密,保证更新陷门是加密状态,在陷门角度上保证数据安全;同时,设置随机的状态用于生成新索引位置,使索引位置的变更无迹可寻,进而使已经使用过的搜索陷门无法发现更新后的数据,即可以抵抗注入攻击,随机选择一个比特串作为新的状态,每次更新时,通过这个新的状态陷门也能够及时的更新,这样更新陷门就不会和之前的陷门匹配,保证了数据的前向安全性。

本发明的第二实施方式涉及一种数据安全管理方法。应用于对待搜索属性中包含待搜索关键词的待搜索文件进行搜索的过程中,其中,所述待搜索文件是第一实施例中的已更新文件。如图2所示。

步骤201,接收客户端发送的搜索陷门和新状态,其中,所述搜索陷门由所述待搜索关键词和所述待搜索属性加密生成,所述新状态为所述待搜索关键词更新后生成;

用户通过客户端搜索待搜索属性中包含待搜索关键词的待搜索文件。首先对关键词和属性进行加密,加密方法为对称加密,生成搜索陷门;从状态数组中获取待搜索属性的关键词对应的新状态,其中,状态数组为存储各属性中关键词对应的状态的数组;将加密后的搜索陷门,新状态发送给服务器。

服务器接收客户端发送的用户的搜索陷门和新状态。

步骤202,根据所述搜索陷门和所述新状态,获取所述关键词在索引中的位置,其中,所述索引中的位置为所述关键词更新后的新索引位置;

步骤203,根据所述新索引位置获取包含所述待搜索关键词的所述待搜索文件,形成待搜索文件集;

服务器基于搜索陷门和新状态计算待搜索关键词在索引中的位置。因为之前的状态(更新前文件的状态)都被嵌入到新索引信息中,所以服务器通过解密索引位置对应的新索引信息可以得到所有的状态和文件标识。最终,服务器把得到的所有文件标识符进行异或操作得到最终的搜索结果,即待搜索文件集。

需要说明的是,为了节省存储空间,每次搜索完成后,服务器删除与待搜索关键词相关的条目,仅把最终的搜索结果(即待搜索文件集)存放在新状态对应的索引条目中。

进一步地,需要对用户的访问权限进行验证,即验证用户的访问值,如果具有访问权限则发送搜索结果。

具体地,服务器在访问数组中找到用户关于待搜索属性对应的值,然后和搜索结果进行与操作,如果为1,则具有访问权限。

步骤204,将所述待搜索文件集发送至所述客户端。

客户端接收到待搜索文件集后,通过密钥进行解密,获取文件集中数据。

上面各种方法的步骤划分,只是为了描述清楚,实现时可以合并为一个步骤或者对某些步骤进行拆分,分解为多个步骤,只要包括相同的逻辑关系,都在本专利的保护范围内;对算法中或者流程中添加无关紧要的修改或者引入无关紧要的设计,但不改变其算法和流程的核心设计都在该专利的保护范围内。

本发明第三实施方式涉及一种数据安全管理方法,以电子医疗系统图3为例,电子医疗系统包括:穿戴物联网设备的病人,医生和护士,云服务器和医院。病人,作为数据拥有者,通过穿戴的物联网设备收集的生命体征数据存放在云服务器上。首先物联网网关把物联网设备收集的数据定时地整合成医疗记录文件,然后构造安全索引,对每个文件的每个属性值分别进行加密,之后,将安全索引和加密的健康记录文件上传给云服务器。医生和护士,作为用户,需要搜索病人的个人健康信息或者是做某种疾病的研究,实现方式具体为:生成搜索陷门发送给云服务器。云服务器收到搜索陷门后,和安全索引中的每一条进行匹配,在找到匹配的健康记录后,云服务器还需要进一步判断该用户对匹配文件的属性值是否有访问权限。医院,用来生成加密健康记录文件的对称密钥,仅把密钥给授权的病人和用户。

随着医疗健康记录存放形式越来越标准化,现在大多数健康医疗记录文件是以属性值类型存放的。每个条目表示一个医疗记录文件,用一个不同的文件标识符表示。每个文件包含多个属性,每个属性对应一个属性值。如图4所示,有三个医疗记录文件,四个属性,每个文件的每个属性对应一个属性值。文件0001的过敏属性值为空,表示该文件不包含该属性。

在进行搜索或更新前预先设置密钥集和索引集。具体地,医院设置密钥集包括:输入一个安全参数λ生成密钥集合{k1,k2,ks}。k1,k2被用来加密属性,ks被用来加密关键词。医院生成对称密钥ke被用来加解密文件,仅有医院授权的病人、医生和护士才能得到该密钥。

具体地,设置索引集包括:

(1)扫描个人健康记录文件集合提取不同的关键词,构造关键词集合:其中表示属性atti包含的关键词集合。每个健康记录文件的每个属性值分别用对称加密原语进行加密:cbs,att←ske.enc(ke,vbsatt)

(2)为了提高搜索效率,初始化一个映射t构造安全索引,存放在服务器端。

(3)初始化一个映射∑来存放每个属性对应的每个关键词的最新状态,由病人和用户分别进行存储;

(4)初始化一个映射a来存放每个用户对每个属性的访问权限,用二进制字符串表示。用户允许访问的文件属性位置置1,否则置0,由服务器端存储。

对数据进行更新具体为:病人的身体数据、生命体征数据通过物联网设备获取,需要对该病人在服务器中存储的文件中数据进行变更。更新标识符为bs的文件,对待更新属性att进行加密,生成密钥,即其中,kw为生成的密钥,y为伪随机函数,k2为第三方生成的属性密钥。用kw加密关键词w,生成更新陷门,即其中,tw为更新陷门,g为伪随机函数。

前向安全要求更新陷门不能和之前的搜索陷门匹配,所以为了实现前向安全,当有文件需要被更新时,陷门也应该被更新。

随机选择一个λ比特的字符串stc+1←{0,1}λ作为一个新的状态,其中,st为状态,c表示已经过c次更新状态,现在再更新为第c+1次。通过对更新陷门和新状态哈希生成索引表t中新的索引位置l←h1(tw||stc+1),其中1为索引位置,h1为哈希函数;生成的新索引信息其中e为新索引位置,被存放在索引表t生成的新的位置上t[l]←e,其中,前一个状态被嵌入到新的索引信息中。

需要说明是的,文件标识符通过位图索引来表示,如图5所示,具体地,文件标识符用一个长度为m的二进制字符串来表示,其中m表示方案可以支持的最大文件个数,从最右边位开始计数,如果第i位为1,表示文件fi存在;否则的话,表示不存在。如图5所示,该方案最多可以支持4个文件,(a)图表示当前搜索文件集合中仅包含文件f1,(b)图表示想要添加一个f2到搜索文件集合中,需要生成一个二进制字符串22=0100和原来的字符串0010进行异或操作,得到0110,即搜索集合中包含文件f1和f2;(c)图表示从搜索文件集合中删除文件f1,需要生成一个二进制字符串21=0010和原来的字符串0110进行异或操作,得到0100,即当前搜索集合中仅包含文件f2。

对访问权限进行更新包括:

(1)文件权限更新:设允许用户u访问新更新文件的属性att,属性访问数组a中相应的访问属性值应该被更新。病人发送更新文件标识符bs和位置信息给云服务器。位置信息表示数组a用户u被允许访问的属性att对应条目位置。根据数组a的位置信息,服务器可以搜索到相应的值,即a[t],然后和更新的文件标识符进行异或操作得到一个新的值来代替原来的值

(2)用户权限的变更:如果用户ui要在医院离职,他就不能访问智能物联网医疗系统中的任何文件,医院应该撤销该用户的所有访问权限,即和用户ui相关的所有条目都应该在数组a中删除,即删除如果用户uj要在医院入职,医院应该授权给用户文件的某些属性的访问权限,和用户uj相关的所有属性条目应该添加到数组a中,即对属性集合att中的所有属性atti∈att,其中bs是一个长度为m(方案可以支持的最多的文件个数)位的二进制数组,允许用户uj访问的文件置1,其他置0。

需要说明的是,每个属性的每个关键词对应一条链表,如图6所示,每次更新时,生成一个新的状态来生成一个新的索引位置,存放更新文件的标识符和前一个状态。搜索时,服务器通过关键词对应的最新状态stc和搜索陷门tw,可以得到所有之前的状态和文件标识。最后,通过对这些标识符进行异或操作,得到最终包含搜索关键词的文件标识。

如图7所示,图7(a)所示是图4健康医疗记录文件数据库的名字属性对应的索引表。名字属性包含两个不同的关键词{alice,bob},每个关键词对应一条链表,图7(a)左边图是alice对应的链表,只进行过两次更新;右边图是bob对应的链表,只进行过一次更新。图5(b)是图4健康医疗记录文件数据库的名字属性对应的状态数组,用来存放每个属性不同关键词的最新状态。在图7(b)中,存放了名字属性包含关键词alice的最新状态为st2,名字属性包含关键词bob的最新状态为st1。

对数据进行搜索包括:当用户u想要搜索包含搜索关键词的属性值时,他需要加密搜索属性和搜索关键词生成搜索陷门然后,把加密的搜索陷门tw,加密的属性katt和最新状态stc给云服务器。最新的状态可以从状态数组∑中得到stc←∑[att||w]。

当云服务器收到上述信息,云服务器基于搜索陷门tw和最新状态stc计算搜索关键词在安全索引t中的位置。因为之前的状态都被嵌入到索引信息中,所以云服务器通过解密索引位置对应的索引信息可以得到所有的状态sti和文件标识bsi。最终,云服务器把得到的所有文件标识符进行异或操作得到最终的搜索结果

本实施方式相对于相关技术而言,是一个可以应用于基于物联网的电子医疗系统,且能抵抗文件注入攻击的动态对称可搜索加密方案。可以有效的抵抗注入攻击,实现了属性值类型的电子医疗记录的前向安全性。即每次有电子医疗记录更新时,陷门也进行更新,之前的搜索陷门不会和更新文件的陷门匹配,前向安全得以实现。

本发明第四实施方式涉及一种数据安全管理装置,如图8。

陷门生成模块801,用于基于所述待更新文件中的属性,对所述待更新文件中的关键词进行加密,生成更新陷门,其中,所述关键词与所述属性相互对应;

状态更新模块802,用于随机选择一个字符串作为新状态;

位置更新模块803,用于根据所述更新陷门和所述新状态生成索引表中新索引位置,其中,所述索引表用于索引所述关键词和所述属性;

信息更新模块804,用于根据所述更新陷门、所述新状态、所述待更新文件的标识符和更新前待更新关键词的状态,生成新索引信息,存储于所述新索引位置。

不难发现,本实施方式为与第一实施方式相对应的装置实施例,本实施方式可与第一实施方式互相配合实施。第一实施方式中提到的相关技术细节在本实施方式中依然有效,为了减少重复,这里不再赘述。相应地,本实施方式中提到的相关技术细节也可应用在第一实施方式中。

值得一提的是,本实施方式中所涉及到的各模块均为逻辑模块,在实际应用中,一个逻辑单元可以是一个物理单元,也可以是一个物理单元的一部分,还可以以多个物理单元的组合实现。此外,为了突出本发明的创新部分,本实施方式中并没有将与解决本发明所提出的技术问题关系不太密切的单元引入,但这并不表明本实施方式中不存在其它的单元。

本发明第五实施方式涉及一种数据安全管理装置,如图9。

接收模块901,用于接收客户端发送的搜索陷门和新状态,其中,所述搜索陷门由所述待搜索关键词和所述待搜索属性加密生成,所述新状态为所述待搜索关键词更新后生成;

位置获取模块902,用于根据所述搜索陷门和所述新状态,获取所述关键词在索引中的位置,其中,所述索引中的位置为所述关键词更新后的新索引位置;

信息获取模块903,用于根据所述新索引位置获取包含所述待搜索关键词的所述待搜索文件,形成待搜索文件集;

发送模块904,用于将所述待搜索文件集发送至所述客户端。

由于第二实施方式与本实施方式相互对应,因此本实施方式可与第二实施方式互相配合实施。第二实施方式中提到的相关技术细节在本实施方式中依然有效,在第二实施方式中所能达到的技术效果在本实施方式中也同样可以实现,为了减少重复,这里不再赘述。相应地,本实施方式中提到的相关技术细节也可应用在第二实施方式中。

本发明第六实施方式涉及一种电子设备,如图10所示,包括:

至少一个处理器1001;以及,与所述至少一个处理器1001通信连接的存储器1002;

其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行如第一至第三实施例所述的数据安全管理方法。

其中,存储器和处理器采用总线方式连接,总线可以包括任意数量的互联的总线和桥,总线将一个或多个处理器和存储器的各种电路链接在一起。总线还可以将诸如外围设备、稳压器和功率管理电路等之类的各种其他电路链接在一起,这些都是本领域所公知的,因此,本文不再对其进行进一步描述。总线接口在总线和收发机之间提供接口。收发机可以是一个元件,也可以是多个元件,比如多个接收器和发送器,提供用于在传输介质上与各种其他装置通信的单元。经处理器处理的数据通过天线在无线介质上进行传输,进一步,天线还接收数据并将数据传送给处理器。

处理器负责管理总线和通常的处理,还可以提供各种功能,包括定时,外围接口,电压调节、电源管理以及其他控制功能。而存储器可以被用于存储处理器在执行操作时所使用的数据。

本领域技术人员可以理解实现上述实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序存储在一个存储介质中,包括若干指令用以使得一个设备(可以是单片机,芯片等)或处理器(processor)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等各种可以存储程序代码的介质。

本领域的普通技术人员可以理解,上述各实施方式是实现本发明的具体实施例,而在实际应用中,可以在形式上和细节上对其作各种改变,而不偏离本发明的精神和范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1