CN112818404B - 数据访问权限的更新方法、装置、设备及可读存储介质 - Google Patents

数据访问权限的更新方法、装置、设备及可读存储介质 Download PDF

Info

Publication number
CN112818404B
CN112818404B CN202110217563.6A CN202110217563A CN112818404B CN 112818404 B CN112818404 B CN 112818404B CN 202110217563 A CN202110217563 A CN 202110217563A CN 112818404 B CN112818404 B CN 112818404B
Authority
CN
China
Prior art keywords
file
ciphertext
target
encryption key
user 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
CN202110217563.6A
Other languages
English (en)
Other versions
CN112818404A (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.)
Qingdao University
Original Assignee
Qingdao University
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 Qingdao University filed Critical Qingdao University
Priority to CN202110217563.6A priority Critical patent/CN112818404B/zh
Publication of CN112818404A publication Critical patent/CN112818404A/zh
Application granted granted Critical
Publication of CN112818404B publication Critical patent/CN112818404B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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
    • 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
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2107File encryption
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2141Access rights, e.g. capability lists, access control lists, access tables, access matrices

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer Hardware Design (AREA)
  • Health & Medical Sciences (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Databases & Information Systems (AREA)
  • Storage Device Security (AREA)

Abstract

本发明公开了一种数据访问权限的更新方法,包括:对文件变更事件进行解析,得到目标原始文件和执行方的目标用户信息;从目标原始文件的授权用户信息组内除目标用户信息之外的各用户信息中选取代表用户信息,用于解密原始密文重加密密钥;利用解密到的原始明文重加密密钥对预存的第一重加密密文包进行解密,得到目标原始文件对应的掩码密文文件的第一密文片段;根据第一密文片段恢复得到掩码密文文件,并生成第二随机数;根据掩码密文文件和第二随机数计算目标明文重加密密钥,并同步给除目标用户信息外的其他用户信息。本发明降低了数据处理规模,减轻了数据访问权限更新负担。本发明还公开了一种装置、设备及存储介质,具有相应技术效果。

Description

数据访问权限的更新方法、装置、设备及可读存储介质
技术领域
本发明涉及存储技术领域,特别是涉及一种数据访问权限的更新方法、装置、设备及计算机可读存储介质。
背景技术
随着物联网、社交网络等技术产生的数据爆炸性增长,用户很难将这些大规模的数据存储在本地。由于云存储的优势,将大数据外包到云端进行存储逐渐成为一种趋势。但是直接将数据外包到云端会给用户数据的安全性带来威胁,于是用户选择在外包数据前对数据进行加密处理。由于用户加密密钥的不同,相同的数据将会被加密成不同的密文,给云端执行去重操作带来了挑战。
但是目前现存的去重方案中,大多数基于密文的去重方案都不支持数据访问权限的动态更新。而在实际场景中,存储在云服务器上的数据可能会经常被更新(例如数据的修改、删除等),数据的访问权限也随之发生变更。另外,还存在通过对密文文件进行整体重加密的方式进行数据访问权限的更新,如果处理的数据规模很大,权限更新流程复杂,相应的费用会很高,导致数据访问权限更新负担大。
综上所述,如何有效地解决现有的数据访问权限更新方式,权限更新流程复杂,费用高,数据访问权限更新负担大等问题,是目前本领域技术人员急需解决的问题。
发明内容
本发明的目的是提供一种数据访问权限的更新方法,该方法降低了数据处理规模,降低了费用,减轻了数据访问权限更新负担;本发明的另一目的是提供一种数据访问权限的更新装置、设备及计算机可读存储介质。
为解决上述技术问题,本发明提供如下技术方案:
一种数据访问权限的更新方法,包括:
对检测到的文件变更事件进行解析,得到所述文件变更事件对应的目标原始文件和执行方的目标用户信息;
获取所述目标原始文件对应的授权用户信息组,并从所述授权用户信息组内除所述目标用户信息之外的各用户信息中选取代表用户信息;
利用所述代表用户信息解密所述目标原始文件对应的原始密文重加密密钥,得到原始明文重加密密钥;
利用所述原始明文重加密密钥对预存的所述目标原始文件对应的第一重加密密文包进行解密,得到所述目标原始文件对应的掩码密文文件的第一密文片段;其中,所述第一密文片段根据所述原始明文重加密密钥对应的第一随机数从所述掩码密文文件中进行定位选取得到;
根据所述第一密文片段恢复得到所述掩码密文文件,并生成第二随机数;
根据所述掩码密文文件和所述第二随机数计算目标明文重加密密钥,并将所述目标明文重加密密钥同步给所述授权用户信息组中除所述目标用户信息之外的其他用户信息。
在本发明的一种具体实施方式中,还包括:
接收利用预置对称加密密钥加密得到的密文待上传文件;
计算所述密文待上传文件的目标哈希值;
判断预置哈希列表中是否存在所述目标哈希值;
若是,则查找所述目标哈希值对应的目标已存文件,将所述目标已存文件授权给上传所述密文待上传文件的新增用户信息。
在本发明的一种具体实施方式中,将所述目标明文重加密密钥同步给所述授权用户信息组中除所述目标用户信息之外的其他用户信息,包括:
采用CP-ABE协议将所述目标明文重加密密钥同步给所述授权用户信息组中除所述目标用户信息之外的其他用户信息。
在本发明的一种具体实施方式中,根据所述掩码密文文件和所述第二随机数计算目标明文重加密密钥,包括:
根据所述掩码密文文件计算所述目标原始文件的哈希值;
结合所述掩码密文文件、所述第二随机数、以及所述哈希值计算目标明文重加密密钥。
一种数据访问权限的更新装置,包括:
事件解析模块,用于对检测到的文件变更事件进行解析,得到所述文件变更事件对应的目标原始文件和执行方的目标用户信息;
信息选取模块,用于获取所述目标原始文件对应的授权用户信息组,并从所述授权用户信息组内除所述目标用户信息之外的各用户信息中选取代表用户信息;
重加密密钥解密模块,用于利用所述代表用户信息解密所述目标原始文件对应的原始密文重加密密钥,得到原始明文重加密密钥;
掩码密文片段获得模块,用于利用所述原始明文重加密密钥对第一重加密密文包进行解密,得到所述目标原始文件对应的掩码密文文件的第一密文片段;其中,所述第一密文片段根据所述原始明文重加密密钥对应的第一随机数从所述掩码密文文件中进行定位选取得到;
随机数生成模块,用于根据所述第一密文片段恢复得到所述掩码密文文件,并生成第二随机数;
重加密密钥同步模块,用于根据所述掩码密文文件和所述第二随机数计算目标明文重加密密钥,并将所述目标明文重加密密钥同步给所述授权用户信息组中除所述目标用户信息之外的其他用户信息。
在本发明的一种具体实施方式中,还包括:
密文文件接收模块,用于接收利用预置对称加密密钥加密得到的密文待上传文件;
哈希值计算模块,用于计算所述密文待上传文件的目标哈希值;
判断模块,用于判断预置哈希列表中是否存在所述目标哈希值;
文件授权模块,用于当确定预置哈希列表中存在所述目标哈希值时,查找所述目标哈希值对应的目标已存文件,将所述目标已存文件授权给上传所述密文待上传文件的新增用户信息。
在本发明的一种具体实施方式中,所述重加密密钥同步模块具体为采用CP-ABE协议将所述目标明文重加密密钥同步给所述授权用户信息组中除所述目标用户信息之外的其他用户信息的模块。
在本发明的一种具体实施方式中,所述重加密密钥同步模块包括重加密密钥计算子模块,所述重加密密钥计算子模块包括:
哈希值计算单元,用于根据所述掩码密文文件计算所述目标原始文件的哈希值;
重加密密钥计算单元,用于结合所述掩码密文文件、所述第二随机数、以及所述哈希值计算目标明文重加密密钥。
一种数据访问权限的更新设备,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如前所述数据访问权限的更新方法的步骤。
一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如前所述数据访问权限的更新方法的步骤。
本发明所提供的数据访问权限的更新方法,对检测到的文件变更事件进行解析,得到文件变更事件对应的目标原始文件和执行方的目标用户信息;获取目标原始文件对应的授权用户信息组,并从授权用户信息组内除目标用户信息之外的各用户信息中选取代表用户信息;利用代表用户信息解密目标原始文件对应的原始密文重加密密钥,得到原始明文重加密密钥;利用原始明文重加密密钥对预存的目标原始文件对应的第一重加密密文包进行解密,得到目标原始文件对应的掩码密文文件的第一密文片段;其中,第一密文片段根据原始明文重加密密钥对应的第一随机数从掩码密文文件中进行定位选取得到;根据第一密文片段恢复得到掩码密文文件,并生成第二随机数;根据掩码密文文件和第二随机数计算目标明文重加密密钥,并将目标明文重加密密钥同步给授权用户信息组中除目标用户信息之外的其他用户信息。
由上述技术方案可知,通过预先计算目标原始文件的掩码密文文件,采用定位选取方式选取掩码密文文件的片段进行重加密。当需要进行数据访问权限变更时,仅需要在重新计算重加密密钥之后,重新选取掩码密文文件的新片段进行重加密,不需要对整个文件进行重加密计算,较大地降低了数据处理规模,降低了权限更新流程复杂度,降低了费用,减轻了数据访问权限更新负担。
相应的,本发明还提供了与上述数据访问权限的更新方法相对应的数据访问权限的更新装置、设备和计算机可读存储介质,具有上述技术效果,在此不再赘述。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例中数据访问权限的更新方法的一种实施流程图;
图2为本发明实施例中数据访问权限的更新方法的另一种实施流程图;
图3为本发明实施例中一种数据访问权限的更新装置的结构框图;
图4为本发明实施例中一种数据访问权限的更新设备的结构框图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面结合附图和具体实施方式对本发明作进一步的详细说明。显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例一:
参见图1,图1为本发明实施例中数据访问权限的更新方法的一种实施流程图,该方法可以包括以下步骤:
S101:对检测到的文件变更事件进行解析,得到文件变更事件对应的目标原始文件和执行方的目标用户信息。
云服务器在接收到各客户端上传的文件之后,检测是否存在文件变更事件,如是否存在对已存文件进行修改或删除的行为,若存在,则获取文件变更事件,文件变更事件中包含被变更的目标原始文件和执行文件变更的执行方的目标用户信息。对检测到的文件变更事件进行解析,得到文件变更事件对应的目标原始文件和执行方的目标用户信息。
S102:获取目标原始文件对应的授权用户信息组,并从授权用户信息组内除目标用户信息之外的各用户信息中选取代表用户信息。
云服务器预先对接收到的文件进行去重操作,保证内容相同的文件只存储一份。即对于先后申请上传的多份相同文件,仅对最先上传的一份文件进行存储,并对该文件上传方对应的用户信息进行授权,后续再接收到相同的待上传文件时,则直接将已存储的相应文件授权给相应文件上传方对应的用户信息,从而针对已存储的文件形成相应的授权用户信息组。
在解析得到文件变更事件对应的目标原始文件和执行方的目标用户信息之后,获取目标原始文件对应的授权用户信息组,并从授权用户信息组内除目标用户信息之外的各用户信息中选取代表用户信息。代表用户信息的选取规则可以为随机选取。
S103:利用代表用户信息解密目标原始文件对应的原始密文重加密密钥,得到原始明文重加密密钥。
预先将用户信息作为解密密文重加密密钥的私钥,从而保证只有被合法授权的用户才能解密密文重加密密钥,保证了重加密密钥的隐私性。
在选取得到代表用户信息之后,利用代表用户信息解密目标原始文件对应的原始密文重加密密钥,得到原始明文重加密密钥。
S104:利用原始明文重加密密钥对预存的目标原始文件对应的第一重加密密文包进行解密,得到目标原始文件对应的掩码密文文件的第一密文片段。
其中,第一密文片段根据原始明文重加密密钥对应的第一随机数从掩码密文文件中进行定位选取得到。
预先利用对称密钥对目标原始文件进行加密,得到目标密文文件,并计算目标密文文件的掩码密文文件,生成第一随机数,并根据第一随机数计算原始明文重加密密钥,根据原始明文重加密密钥的哈希值从掩码密文文件中进行定位选取第一密文片段,并利用原始明文重加密密钥对第一密文片段进行重加密得到的第一重加密密文包。在解密得到原始明文重加密密钥之后,利用原始明文重加密密钥对预存的目标原始文件对应的第一重加密密文包进行解密,得到目标原始文件对应的掩码密文文件的第一密文片段。
S105:根据第一密文片段恢复得到掩码密文文件,并生成第二随机数。
在解密得到目标原始文件对应的掩码密文文件的第一密文片段之后,根据第一密文片段恢复得到掩码密文文件,并生成第二随机数。
S106:根据掩码密文文件和第二随机数计算目标明文重加密密钥,并将目标明文重加密密钥同步给授权用户信息组中除目标用户信息之外的其他用户信息。
在生成第二随机数之后,根据掩码密文文件和第二随机数计算目标明文重加密密钥,并将目标明文重加密密钥同步给授权用户信息组中除目标用户信息之外的其他用户信息,从而使得对目标原始文件存在修改或删除等变更行为的目标用户信息从授权用户信息组中剔除。并利用生成的目标明文重加密密钥从掩码密文文件中进行定位选取新的密文片段进行重加密,并对重加密片段进行存储,从而达到对大数据安全去重的同时,实现对数据访问权限的高效动态更新。
由上述技术方案可知,通过预先计算目标原始文件的掩码密文文件,采用定位选取方式掩码密文文件的片段进行重加密。当需要进行数据访问权限变更时,仅需要在重新计算重加密密钥之后,重新选取掩码密文文件的新片段进行重加密,不需要对整个文件进行重加密计算,较大地降低了数据处理规模,降低了权限更新流程复杂度,降低了费用,减轻了数据访问权限更新负担。
需要说明的是,基于上述实施例一,本发明实施例还提供了相应的改进方案。在后续实施例中涉及与上述实施例一中相同步骤或相应步骤之间可相互参考,相应的有益效果也可相互参照,在下文的改进实施例中不再一一赘述。
实施例二:
参见图2,图2为本发明实施例中数据访问权限的更新方法的另一种实施流程图,该方法可以包括以下步骤:
S201:对检测到的文件变更事件进行解析,得到文件变更事件对应的目标原始文件和执行方的目标用户信息。
S202:获取目标原始文件对应的授权用户信息组,并从授权用户信息组内除目标用户信息之外的各用户信息中选取代表用户信息。
S203:利用代表用户信息解密目标原始文件对应的原始密文重加密密钥,得到原始明文重加密密钥。
S204:利用原始明文重加密密钥对预存的目标原始文件对应的第一重加密密文包进行解密,得到目标原始文件对应的掩码密文文件的第一密文片段。
其中,第一密文片段根据原始明文重加密密钥对应的第一随机数从掩码密文文件中进行定位选取得到。
目标原始文件的初始上传过程包括收敛密钥生成、加密、去重检查、重加密上传共四个步骤。
(1)MLE(Message-Locked Encryption)密钥生成:客户端与密钥服务器(KeyServer,KS)通过一个OPRF(Oblivious Pseudorandom Function)密钥产生算法来计算生成MLE密钥,该技术基于盲RSA签名,确保了信息的内容对客户端和密钥服务器通信双方都是不可见的。
1)密钥服务器执行密钥产生算法,算法输入系统公共参数RSA指数e,输出模数N,d,且满足e×d≡1modφ(N),其中,φ(·)为欧拉函数,密钥服务器的公私钥密对取自((N,e),(N,d))。
2)客户端选择一个随机数
Figure BDA0002954453710000081
即从比N小的非负正整数集合中随机选择一个数,并计算目标原始文件M的哈希值h=H(M),其中,H(·)为哈希函数。基于h,r和RSA指数e,客户端计算盲化的哈希值x=h·re mod N,并将x发送给密钥服务器。
3)收到客户端发来的盲化哈希值x后,计算RSA签名y=xdmod N,并把签名y返回给客户端。
4)客户端收到签名y后,然后解盲化z=y·r-1mod N并核实zemod N=h是否成立。成立的话,用户计算MLE加密密钥KM=H(z)。
(2)数据加密:对目标原始文件进行加密处理等其他操作。
1)计算得到加密密钥KM后,计算密文CM=E(KM,M),其中,E(·)表示对称加密函数。
2)为哈希值h计算其掩码G(h)=E(h,P),其中P是一个公共块,与密文CM大小相同,然后计算CM的掩码
Figure BDA0002954453710000082
3)将密文C1分成一系列与h相同大小的片段,通过对所有片段和h进行异或运算得到密文C2。在这种情况下,除非用户能够得到整个密文C1,否则自异或的结果不能被预测。
(3)去重检查:计算标签进行去重检查,如果存在,则无需再次上传可以节省网络带宽。
1)基于密文C1,计算哈希值hc=H(C1),然后选择一个随机数rhc,计算得到标签TM=(hc,rhc)并发送给云服务器进行去重检查。
2)云服务器收到标签TM后,在列表V中检查(hc,rhc)是否存在,其中列表V用来为每个文件存储相应的哈希值和随机数对。由于是初始上传,数据是初次上传的,所以该标签不在列表V中,此时云服务器将标签TM插入到列表V中,并返回用户一个“非重复”响应值μ=0。
(4)重加密上传:在重加密数据前,用户需要先计算重加密密钥,然后再执行相应的重加密操作,将重加密数据上传至云服务器。
步骤一:重加密数据
1)基于从云服务器收到的去重检查响应,用户计算重加密密钥rk=H(C2||hc||rhc)。
2)用户计算id=H(rk)modL,其中L代表文件的长度,id用来定位密文Ct的起始位置(Ct是用来被重加密的部分,即第一密文片段)。与预先设置的Ct长度为128位,于是用户从id开始计数,直到数够128位,如果数到文件的末尾不足128位,则从头开始接着数直到数够128位。用户从C1中提取出该128位数据作为密文包Ct
3)用户将密文C2与密文C1剩余的(n-128)位连接起来作为密文Cr,最后用户使用重加密密钥rk对Ct进行重加密得到密文包Ct′
4)重加密操作结束后,用户将密文包Ct′,Cr,文件名字和大小等信息上传到云服务器进行存储。
步骤二:加密重加密密钥
1)为了保障重加密密钥rk的隐私性以及保障只有合法授权用户才能解密得到该密钥,密钥服务器根据文件访问策略使用CP-ABE(Ciphertext-policy attribute-basedencryption)技术对其进行加密。基于CP-ABE,使用一个树T来表示访问策略。
2)在云计算环境中,用户的身份属性往往扮演着访问设置的角色,于是在我们的方案中,我们舍弃使用其他复杂的属性,而使用用户的身份作为访问属性并分发每个用户对应的客户端与其用户身份相关的CP-ABE私钥。这些授权用户通过访问树T中的阈值OR门连接,并在树T中作为叶子节点,这确保了只有授权的用户才能通过访问控制然后解密得到重加密密钥。
3)最后,在完成上传任务后新用户的身份将作为属性添加到CP-ABE访问树中。重加密密钥的密文也上传到云服务器进行存储。
数据下载过程包括解密密文重加密密钥和解密密文两步。
(1)重加密密钥解密
1)在解密恢复目标原始文件之前,用户需要先从云服务器下载相关的密文包Ct′、Cr、以及其他文件相关信息(如文件的大小和名字)、重加密密钥的密文。
2)如果用户的用户信息是合法授权用户信息,那么其身份属性是可以通过该文件的CP-ABE访问树,于是便可以解密出重加密密钥rk。
3)利用计算得到rk来解密密文包Ct′得到Ct。随后用户计算id=H(rk)modL,根据计算得到的id,然后通过提取前t位数据得到C2,再将密文Ct插入到Cr中的合适位置,最后得到的新的Cr也即是密文C1
(2)文件解密
1)为了解密恢复出原文件M,根据上面计算得到的密文C1,将其分割成一系列固定大小为C2的片段,然后将所有片段与密文C2进行异或运算得到文件哈希值h。基于h,利用公式
Figure BDA0002954453710000101
得到原文件的密文CM
2)基于文件密文CM,利用MLE密钥KM解密密文得到原始文件:M=D(KM,CM)。为了核实数据的完整性以确保下载的数据是正确的没有被篡改或损坏,利用公式H(M)=h进行核实,如果该等式成立说明数据是完整的,可以留下该文件。
当检测到文件变更事件时,需要先从云服务器下载文件相关信息、文件密文(即第一重加密密文包)、以及重加密密钥密文。解密重加密密钥密文得到原始明文重加密密钥rk,然后用rk解密第一重加密密文包Ct′得到Ct,基于Ct和Cr,类似文件下载阶段,用户采用相同的处理恢复得到密文C1和C2
S205:根据第一密文片段恢复得到掩码密文文件,并生成第二随机数。
在得到目标原始文件对应的掩码密文文件的第一密文片段Ct,并根据Ct恢复得到C1和C2之后,生成一个新的随机数rhc′
S206:根据掩码密文文件计算目标原始文件的哈希值。
恢复得到掩码密文文件之后,根据掩码密文文件计算目标原始文件的哈希值。也可以预先对哈希值进行存储,通过直接的方式获取的C1的哈希值hc,云服务器用新的(hc,rhc′)代替以前的(hc,rhc)。
S207:结合掩码密文文件、第二随机数、以及哈希值计算目标明文重加密密钥。
在恢复得到掩码密文文件,生成第二随机数,并得到哈希值之后,结合掩码密文文件、第二随机数、以及哈希值计算目标明文重加密密钥rk′=H(C2||hc||rhc′)。基于目标明文重加密密钥rk′,用户计算得到新的密文包Ct′和Cr,然后上传到云服务器进行存储。
S208:采用CP-ABE协议将目标明文重加密密钥同步给授权用户信息组中除目标用户信息之外的其他用户信息。
在计算得到目标明文重加密密钥之后,采用CP-ABE协议将目标明文重加密密钥同步给授权用户信息组中除目标用户信息之外的其他用户信息。
S209:接收利用预置对称加密密钥加密得到的密文待上传文件。
当后续需要文件上传时,接收利用预置对称加密密钥加密得到的密文待上传文件。
S210:计算密文待上传文件的目标哈希值。
在接收到密文待上传文件之后,计算密文待上传文件的目标哈希值。
S211:判断预置哈希列表中是否存在目标哈希值,若是,则执行步骤S212,若否,则执行步骤S213。
在计算得到密文待上传文件的目标哈希值之后,判断预置哈希列表中是否存在目标哈希值,若是,则说明云服务器中已经存在与密文待上传文件相同的文件,执行步骤S212,若否,则说明该密文待上传文件为初次上传,执行步骤S213。
S212:查找目标哈希值对应的目标已存文件,将目标已存文件授权给上传密文待上传文件的新增用户信息。
在确定预置哈希列表中存在目标哈希值时,说明云服务器中已经存在与密文待上传文件相同的文件,查找目标哈希值对应的目标已存文件,将目标已存文件授权给上传密文待上传文件的新增用户信息。
S213:对所述密文待上传文件进行片段重加密并存储操作。
当确定预置哈希列表中不存在目标哈希值时,说明该密文待上传文件为初次上传,对所述密文待上传文件进行片段重加密并存储操作。
文件后续上传可以包括以下几个步骤:
(1)MLE密钥生成:该过程与初始上传阶段中描述相同,通过与密钥服务器通信计算得到MLE加密密钥。
(2)数据加密:该过程也与初始上传阶段中相同。
1)基于加密密钥KM,计算文件的密文CM=E(KM,M)。
2)对密文CM进行处理,得到C1和C2
(3)去重检查:计算标签发送给云服务器进行去重检查,如果该文件标签不存在,则表明用户需要上传相关的信息到云服务器进行存储;如果存在,则无需再次上传,可以节省网络带宽。
1)基于密文C1,用户计算哈希值hc=H(C1),然后选择一个随机数rhc′,计算得到标签TM=(hc,rhc′)并发送给云服务器进行去重检查。
2)云服务器收到标签TM后,在列表V中检查(hc,rhc′)是否存在。由于是后续上传,数据已经上传过,虽然rhc′是随机选择的,但是哈希值hc=H(C1)是确定性的并且已经上传过,云服务器可以找到另一个与该hc相匹配的rhc,然后将该值和一个“重复”响应μ=1返回给用户。
3)用户对应的客户端收到云服务器发来的响应后,获知该文件已经上传过,无需再上传。为了确保该用户后续能够顺利访问已上传的相应数据,该合法用户会得到该文件的访问权。
(4)重加密:尽管用户无需再次上传数据但是仍需要对重加密密钥进行处理。
1)根据从云服务器收到的回复,计算重加密密钥rk=H(C2||hc||rhc)。
2)为了保障该密钥rk的安全性以及确保只有授权的用户才能够解密得到该密钥,密钥服务器根据文件访问策略使用CP-ABE技术对其进行加密并发送给云端进行存储。
2)同样,此时也基于用户的身份作为访问属性构建访问树,并通过阈值OR门连接,最后分发给该用户与其身份相关的CP-ABE私钥,确保该用户被授权,以便后续能够通过访问树才解密得到重加密密钥。
本实施例区别于独立权利要求1所要求保护的技术方案对应的实施例一,还增加了从属权利要求2至4对应要求保护的技术方案,当然,根据实际情况和要求的不同,可将各从属权利要求对应要求保护的技术方案在不影响方案完整性的基础上进行灵活组合,以更加符合不同使用场景的要求,本实施例只是给出了其中一种包含方案最多、效果最优的方案,因为情况复杂,无法对所有可能存在的方案一一列举,本领域技术人员应能意识到根据本申请提供的基本方法原理结合实际情况可以存在很多的例子,在不付出足够的创造性劳动下,应均在本申请的保护范围内。
实施例三:
相应于上面的方法实施例,本发明还提供了一种数据访问权限的更新装置,下文描述的数据访问权限的更新装置与上文描述的数据访问权限的更新方法可相互对应参照。
参见图3,图3为本发明实施例中一种数据访问权限的更新装置的结构框图,该装置可以包括:
事件解析模块31,用于对检测到的文件变更事件进行解析,得到文件变更事件对应的目标原始文件和执行方的目标用户信息;
信息选取模块32,用于获取目标原始文件对应的授权用户信息组,并从授权用户信息组内除目标用户信息之外的各用户信息中选取代表用户信息;
重加密密钥解密模块33,用于利用代表用户信息解密目标原始文件对应的原始密文重加密密钥,得到原始明文重加密密钥;
掩码密文片段获得模块34,用于利用原始明文重加密密钥对第一重加密密文包进行解密,得到目标原始文件对应的掩码密文文件的第一密文片段;其中,第一密文片段根据原始明文重加密密钥对应的第一随机数从掩码密文文件中进行定位选取得到;
随机数生成模块35,用于根据第一密文片段恢复得到掩码密文文件,并生成第二随机数;
重加密密钥同步模块36,用于根据掩码密文文件和第二随机数计算目标明文重加密密钥,并将目标明文重加密密钥同步给授权用户信息组中除目标用户信息之外的其他用户信息。
由上述技术方案可知,通过预先计算目标原始文件的掩码密文文件,采用定位选取方式掩码密文文件的片段进行重加密。当需要进行数据访问权限变更时,仅需要在重新计算重加密密钥之后,重新选取掩码密文文件的新片段进行重加密,不需要对整个文件进行重加密计算,较大地降低了数据处理规模,降低了权限更新流程复杂度,降低了费用,减轻了数据访问权限更新负担。
在本发明的一种具体实施方式中,该装置还可以包括:
密文文件接收模块,用于接收利用预置对称加密密钥加密得到的密文待上传文件;
哈希值计算模块,用于计算密文待上传文件的目标哈希值;
判断模块,用于判断预置哈希列表中是否存在目标哈希值;
文件授权模块,用于当确定预置哈希列表中存在目标哈希值时,查找目标哈希值对应的目标已存文件,将目标已存文件授权给上传密文待上传文件的新增用户信息。
在本发明的一种具体实施方式中,重加密密钥同步模块36具体为采用CP-ABE协议将目标明文重加密密钥同步给授权用户信息组中除目标用户信息之外的其他用户信息的模块。
在本发明的一种具体实施方式中,重加密密钥同步模块36包括重加密密钥计算子模块,重加密密钥计算子模块包括:
哈希值计算单元,用于根据掩码密文文件计算目标原始文件的哈希值;
重加密密钥计算单元,用于结合掩码密文文件、第二随机数、以及哈希值计算目标明文重加密密钥。
实施例四:
相应于上面的方法实施例,参见图4,图4为本发明所提供的数据访问权限的更新设备的示意图,该设备可以包括:
存储器41,用于存储计算机程序;
处理器42,用于执行上述存储器41存储的计算机程序时可实现如下步骤:
对检测到的文件变更事件进行解析,得到文件变更事件对应的目标原始文件和执行方的目标用户信息;获取目标原始文件对应的授权用户信息组,并从授权用户信息组内除目标用户信息之外的各用户信息中选取代表用户信息;利用代表用户信息解密目标原始文件对应的原始密文重加密密钥,得到原始明文重加密密钥;利用原始明文重加密密钥对预存的目标原始文件对应的第一重加密密文包进行解密,得到目标原始文件对应的掩码密文文件的第一密文片段;其中,第一密文片段根据原始明文重加密密钥对应的第一随机数从掩码密文文件中进行定位选取得到;根据第一密文片段恢复得到掩码密文文件,并生成第二随机数;根据掩码密文文件和第二随机数计算目标明文重加密密钥,并将目标明文重加密密钥同步给授权用户信息组中除目标用户信息之外的其他用户信息。
对于本发明提供的设备的介绍请参照上述方法实施例,本发明在此不做赘述。
相应于上面的方法实施例,本发明还提供一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时可实现如下步骤:
对检测到的文件变更事件进行解析,得到文件变更事件对应的目标原始文件和执行方的目标用户信息;获取目标原始文件对应的授权用户信息组,并从授权用户信息组内除目标用户信息之外的各用户信息中选取代表用户信息;利用代表用户信息解密目标原始文件对应的原始密文重加密密钥,得到原始明文重加密密钥;利用原始明文重加密密钥对预存的目标原始文件对应的第一重加密密文包进行解密,得到目标原始文件对应的掩码密文文件的第一密文片段;其中,第一密文片段根据原始明文重加密密钥对应的第一随机数从掩码密文文件中进行定位选取得到;根据第一密文片段恢复得到掩码密文文件,并生成第二随机数;根据掩码密文文件和第二随机数计算目标明文重加密密钥,并将目标明文重加密密钥同步给授权用户信息组中除目标用户信息之外的其他用户信息。
该计算机可读存储介质可以包括:U盘、移动硬盘、只读存储器(Read-OnlyMemory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
对于本发明提供的计算机可读存储介质的介绍请参照上述方法实施例,本发明在此不做赘述。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。对于实施例公开的装置、设备及计算机可读存储介质而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的技术方案及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明权利要求的保护范围内。

Claims (10)

1.一种数据访问权限的更新方法,其特征在于,包括:
对检测到的文件变更事件进行解析,得到所述文件变更事件对应的目标原始文件和执行方的目标用户信息;
获取所述目标原始文件对应的授权用户信息组,并从所述授权用户信息组内除所述目标用户信息之外的各用户信息中选取代表用户信息;
利用所述代表用户信息解密所述目标原始文件对应的原始密文重加密密钥,得到原始明文重加密密钥;
利用所述原始明文重加密密钥对预存的所述目标原始文件对应的第一重加密密文包进行解密,得到所述目标原始文件对应的掩码密文文件的第一密文片段;其中,所述第一密文片段根据所述原始明文重加密密钥对应的第一随机数从所述掩码密文文件中进行定位选取得到;
根据所述第一密文片段恢复得到所述掩码密文文件,并生成第二随机数;
根据所述掩码密文文件和所述第二随机数计算目标明文重加密密钥,并将所述目标明文重加密密钥同步给所述授权用户信息组中除所述目标用户信息之外的其他用户信息;
所述第一密文片段根据所述原始明文重加密密钥对应的第一随机数从掩码密文文件中进行定位选取得到,具体为:
预先利用对称密钥对所述目标原始文件进行加密,得到目标密文文件,并计算所述目标密文文件的掩码密文文件,生成第一随机数,并根据所述第一随机数计算所述原始明文重加密密钥,根据所述原始明文重加密密钥的哈希值从所述掩码密文文件中进行定位选取第一密文片段,并利用所述原始明文重加密密钥对所述第一密文片段进行重加密得到的第一重加密密文包,在解密得到所述原始明文重加密密钥之后,利用所述原始明文重加密密钥对预存的所述目标原始文件对应的所述第一重加密密文包进行解密,得到所述目标原始文件对应的所述掩码密文文件的第一密文片段。
2.根据权利要求1所述的数据访问权限的更新方法,其特征在于,还包括:
接收利用预置对称加密密钥加密得到的密文待上传文件;
计算所述密文待上传文件的目标哈希值;
判断预置哈希列表中是否存在所述目标哈希值;
若是,则查找所述目标哈希值对应的目标已存文件,将所述目标已存文件授权给上传所述密文待上传文件的新增用户信息。
3.根据权利要求1所述的数据访问权限的更新方法,其特征在于,将所述目标明文重加密密钥同步给所述授权用户信息组中除所述目标用户信息之外的其他用户信息,包括:
采用CP-ABE协议将所述目标明文重加密密钥同步给所述授权用户信息组中除所述目标用户信息之外的其他用户信息。
4.根据权利要求1至3任一项所述的数据访问权限的更新方法,其特征在于,根据所述掩码密文文件和所述第二随机数计算目标明文重加密密钥,包括:
根据所述掩码密文文件计算所述目标原始文件的哈希值;
结合所述掩码密文文件、所述第二随机数、以及所述哈希值计算目标明文重加密密钥。
5.一种数据访问权限的更新装置,其特征在于,包括:
事件解析模块,用于对检测到的文件变更事件进行解析,得到所述文件变更事件对应的目标原始文件和执行方的目标用户信息;
信息选取模块,用于获取所述目标原始文件对应的授权用户信息组,并从所述授权用户信息组内除所述目标用户信息之外的各用户信息中选取代表用户信息;
重加密密钥解密模块,用于利用所述代表用户信息解密所述目标原始文件对应的原始密文重加密密钥,得到原始明文重加密密钥;
掩码密文片段获得模块,用于利用所述原始明文重加密密钥对第一重加密密文包进行解密,得到所述目标原始文件对应的掩码密文文件的第一密文片段;其中,所述第一密文片段根据所述原始明文重加密密钥对应的第一随机数从所述掩码密文文件中进行定位选取得到;所述第一密文片段根据所述原始明文重加密密钥对应的第一随机数从掩码密文文件中进行定位选取得到,具体为:
所述第一密文片段根据所述原始明文重加密密钥对应的第一随机数从掩码密文文件中进行定位选取得到,具体为:
预先利用对称密钥对所述目标原始文件进行加密,得到目标密文文件,并计算所述目标密文文件的掩码密文文件,生成第一随机数,并根据所述第一随机数计算所述原始明文重加密密钥,根据所述原始明文重加密密钥的哈希值从所述掩码密文文件中进行定位选取第一密文片段,并利用所述原始明文重加密密钥对所述第一密文片段进行重加密得到的第一重加密密文包,在解密得到所述原始明文重加密密钥之后,利用所述原始明文重加密密钥对预存的所述目标原始文件对应的所述第一重加密密文包进行解密,得到所述目标原始文件对应的所述掩码密文文件的第一密文片段;
随机数生成模块,用于根据所述第一密文片段恢复得到所述掩码密文文件,并生成第二随机数;
重加密密钥同步模块,用于根据所述掩码密文文件和所述第二随机数计算目标明文重加密密钥,并将所述目标明文重加密密钥同步给所述授权用户信息组中除所述目标用户信息之外的其他用户信息。
6.根据权利要求5所述的数据访问权限的更新装置,其特征在于,还包括:
密文文件接收模块,用于接收利用预置对称加密密钥加密得到的密文待上传文件;
哈希值计算模块,用于计算所述密文待上传文件的目标哈希值;
判断模块,用于判断预置哈希列表中是否存在所述目标哈希值;
文件授权模块,用于当确定预置哈希列表中存在所述目标哈希值时,查找所述目标哈希值对应的目标已存文件,将所述目标已存文件授权给上传所述密文待上传文件的新增用户信息。
7.根据权利要求5所述的数据访问权限的更新装置,其特征在于,所述重加密密钥同步模块具体为采用CP-ABE协议将所述目标明文重加密密钥同步给所述授权用户信息组中除所述目标用户信息之外的其他用户信息的模块。
8.根据权利要求5至7任一项所述的数据访问权限的更新装置,其特征在于,所述重加密密钥同步模块包括重加密密钥计算子模块,所述重加密密钥计算子模块包括:
哈希值计算单元,用于根据所述掩码密文文件计算所述目标原始文件的哈希值;
重加密密钥计算单元,用于结合所述掩码密文文件、所述第二随机数、以及所述哈希值计算目标明文重加密密钥。
9.一种数据访问权限的更新设备,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如权利要求1至4任一项所述数据访问权限的更新方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至4任一项所述数据访问权限的更新方法的步骤。
CN202110217563.6A 2021-02-26 2021-02-26 数据访问权限的更新方法、装置、设备及可读存储介质 Active CN112818404B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110217563.6A CN112818404B (zh) 2021-02-26 2021-02-26 数据访问权限的更新方法、装置、设备及可读存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110217563.6A CN112818404B (zh) 2021-02-26 2021-02-26 数据访问权限的更新方法、装置、设备及可读存储介质

Publications (2)

Publication Number Publication Date
CN112818404A CN112818404A (zh) 2021-05-18
CN112818404B true CN112818404B (zh) 2022-11-04

Family

ID=75864083

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110217563.6A Active CN112818404B (zh) 2021-02-26 2021-02-26 数据访问权限的更新方法、装置、设备及可读存储介质

Country Status (1)

Country Link
CN (1) CN112818404B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114124458A (zh) * 2021-10-25 2022-03-01 中国农业银行股份有限公司惠州分行 一种计算机登录者访问权限信息更新方法
CN116599650B (zh) * 2023-07-14 2023-10-13 民航成都电子技术有限责任公司 一种密文去重方法、装置、设备及存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103973698A (zh) * 2014-05-19 2014-08-06 华中科技大学 一种云存储环境中的用户访问权限回收方法
CN108322447A (zh) * 2018-01-05 2018-07-24 中电长城网际系统应用有限公司 云环境下的数据共享方法及系统、终端和云服务器

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108600217B (zh) * 2018-04-23 2022-08-12 南京理工大学 一种云端基于代理重加密的数据授权确定性更新方法
CN110213042B (zh) * 2019-05-09 2021-02-02 电子科技大学 一种基于无证书代理重加密的云数据去重方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103973698A (zh) * 2014-05-19 2014-08-06 华中科技大学 一种云存储环境中的用户访问权限回收方法
CN108322447A (zh) * 2018-01-05 2018-07-24 中电长城网际系统应用有限公司 云环境下的数据共享方法及系统、终端和云服务器

Also Published As

Publication number Publication date
CN112818404A (zh) 2021-05-18

Similar Documents

Publication Publication Date Title
US9898473B2 (en) Security via data concealment
EP3361408B1 (en) Verifiable version control on authenticated and/or encrypted electronic documents
CN110213354B (zh) 云存储数据机密性保护方法
CN108200172B (zh) 一种支持安全数据去重与删除的云存储系统及方法
US20090158037A1 (en) System and method for protecting an electronic file
US20130290731A1 (en) Systems and methods for storing and verifying security information
JP3871996B2 (ja) データ分割管理方法及びプログラム
WO2013050613A1 (en) System and apparatus for securely storing data
CN112818404B (zh) 数据访问权限的更新方法、装置、设备及可读存储介质
US20240121089A1 (en) Protecting data using controlled corruption in computer networks
Virvilis et al. Secure cloud storage: Available infrastructures and architectures review and evaluation
CN110188545B (zh) 一种基于链式数据库的数据加密方法及装置
US20130290732A1 (en) Systems and methods for storing and verifying security information
US9762388B2 (en) Symmetric secret key protection
JP5511803B2 (ja) 対称暗号を実行するための技法
KR102216869B1 (ko) 종단간 암호화가 적용된 파일에 대한 복호화 장치 및 방법
Al-Odat et al. A big data storage scheme based on distributed storage locations and multiple authorizations
CN114503506A (zh) 支持交易中包含的明文数据变更的区块链系统
CN115865461A (zh) 一种高性能计算集群中分发数据的方法和系统
GB2446200A (en) Encryption system for peer-to-peer networks which relies on hash based self-encryption and mapping
KR101595056B1 (ko) 인터클라우드 환경에서의 데이터 공유 시스템 및 공유 방법
Roshan et al. SECURE FILE STORAGE ON CLOUD USING HYBRID CRYPTOGRAPHY
Walia et al. Multi Encryption Approach to Provide Security for Cloud Integrated Internet of Things
Awale Secure Auditing and Data Deduplication in the Cloud
CN117744116A (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
GR01 Patent grant
GR01 Patent grant