基于用户身份的高可靠文件加密和细粒度访问控制方法与流程

文档序号:32301480发布日期:2022-11-23 08:30阅读:58来源:国知局
基于用户身份的高可靠文件加密和细粒度访问控制方法与流程

1.本发明涉及网络存储技术领域,尤其涉及一种基于用户身份的高可靠文件加密和细粒度访问控制方法。


背景技术:

2.目前的网络存储如samba、nfs等都通过用户认证的技术实现访问控制,用户上传的文件在服务器端并没有实现加密保存,容易被服务器管理员或其它有权限访问网存服务的用户获取到敏感信息。在安全性要求较高的场景下,需要由用户自行对敏感文件进行加密保护,再上传到网络存储设备。操作流程比较复杂,不利于在云环境下存储与业务系统分离的场合下使用。另外一些已经实现的网存文件加密的系统对加密文件的处理方式简单,无法在复杂的网络和存储环境下保证加密数据格式的可靠性。


技术实现要素:

3.针对现在云环境下业务系统与存储分离的应用场合,本发明提出一种基于用户身份的高可靠文件加密和细粒度访问控制方法,设计出一个文件一个密钥的高强度、高可靠性的多功能加密存储网关,可实现网络存储的文件按用户角色细粒度管控和安全使用、密钥管理与密码算法运算分离、加密数据安全可校验。
4.本发明采用的技术方案如下:
5.一种基于用户身份的高可靠文件加密和细粒度访问控制方法,包括:
6.映射建立:加密存储网关根据客户端认证时提供的用户信息,获取到预先配置的策略,构建虚拟存储资源发送给客户端,同时建立客户端请求的虚拟存储资源与真实目标存储服务的映射关系;
7.访问控制:当加密存储网关接收到客户端的访问请求时,根据请求协议标识的类型,以重新封装发往真实目标存储服务或者是调用加密存储网关客户api访问真实目标存储服务的方式,获取到客户端请求的响应信息并重新处理后返回给客户端。
8.进一步地,针对不同的客户端,加密存储网关配置有相应的存储策略和不同细粒度的访问控制策略,并在上传文件时自动加密,下载文件时自动解密。
9.进一步地,加密存储网关执行文件加解密与访问控制策略的方法包括以下步骤:
10.s1.封装设置:设置加密文件格式为加密信息头+文件密文数据块的封装格式,加密文件整体封装到一个文件中;
11.s2.用户登录:验证用户信息并获取到用户的存储策略、访问控制策略;
12.s3.映射建立:获取用户的挂载、连接信息,从存储策略中匹配到真实的网络存储地址、存储目录,建立用户访问目录与真实目标目录的映射;
13.s4.文件创建:以加密存储网关的身份向密钥管理系统创建私有的文件加密密钥,记录密钥与用户的匹配关系,生成加密文件的加密信息头;
14.s5.文件写入:使用步骤s4产生的文件加密密钥对明文数据加密,封装写入请求发
送真实的存储服务器,并向客户端发送写入成功的响应;
15.s6.文件读取:封装文件读取请求发送到真实的存储服务器以获取到密文数据,再使用步骤s4产生的文件加密密钥对密文数据解密;
16.s7.文件打开:封装文件打开请求并发送到真实的存储服务,然后读取加密文件的加密信息头,获取到文件加密密钥标识,分别验证加密密标识和密钥校验数据,都通过后向客户端发送文件打开成功的响应。
17.进一步地,步骤s4中,生成的加密信息头包括密钥标识、加密算法、文件明文长度和密钥校验数据。
18.进一步地,步骤s5包括以下子步骤:
19.s501.解析文件写入协议的关键信息,包括文件路径、写入位置、写入长度和明文数据;
20.s502.根据写入位置和写入长度,获取到当前数据所属的加密块,将数据以0填充成切片长度的整数倍;
21.s503.使用步骤s4产生的文件加密密钥对明文数据加密,获取到密文与mac校验的长度,重新计算密文数据块在加密文件中的真实位置与长度;
22.s504.封装写入请求发送真实的存储服务器,并向客户端发送写入成功的响应。
23.进一步地,步骤s6包括以下子步骤:
24.s601.解析文件读取协议的关键信息,包括文件路径、读取位置和读取长度;
25.s602.计算待读取的数据在加密文件中的真实位置和长度,其中长度是加密块的整数倍大小;
26.s603.封装文件读取请求发送到真实的存储服务器以获取到密文数据;
27.s604.使用步骤s4产生的文件加密密钥对密文数据解密,并向客户端发送读取成功的响应。
28.进一步地,步骤s7包括以下子步骤:
29.s701.解析文件打开协议的文件路径关键信息;
30.s702.验证访问控制策略,通过后封装文件打开请求并发送到真实的存储服务器;
31.s703.读取加密文件的加密信息头,获取到文件加密密钥标识,验证加密密标识与用户是否匹配;
32.s704.若匹配,则以加密存储网关的身份向密钥管理系统申请密钥信息;
33.s705.密钥申请成功后,验证加密信息头中的密钥校验数据,验证通过后向客户端发送文件打开成功的响应。
34.进一步地,客户端发送的请求包含文件长度和/或占用空间信息时,仅从文件的加密标识中获取到明文的长度返回给客户端,文件的密文长度不返回给客户端。
35.本发明的有益效果在于:
36.(1)网络存储服务器和客户端根据用户身份、所属组对文件进行加密保存、解密使用和访问策略管控;文件明文按可配置的大小切片,以切片数据块为单位整体使用带mac校验的对称加密算法加密每一个数据块,保证加密数据的安全和完整;按切片块对文件加密以最大限度地平衡文件内容安全性和文件随机访问的特性要求;文件密文数据分加密标识区域和文件密文数据块两部分,加密标识区保存有文件明文长度、数据有效期、加密密钥标
识id和保护算法等关键信息;文件的保护密钥各不相同,每个密钥在kms中产生和管理,以防止数据失控后泄露明文的风险。
37.(2)加密存储网关实现存储协议的解析和加解密算法调用,密钥保存与访问控制由kms实现、密码运算由密码硬件设备运算,可实现密钥、算法、业务流程的分离,保证系统整体的安全性。加密存储网关后端可挂接多个不同类型的网络存储服务,网关不改变真实目标存储服务的协议,对客户端依然提供不同的存储代理服务,不改变客户端的使用,如挂接nfs存储服务,存储网关对外提供nfs存储服务;挂接samba存储服务,存储网关对外提供samba存储服务。加密存储网关使用虚拟用户的概念,建立虚拟用户和真实存储服务的关联关系,客户端使用加密存储网关分配和管理的虚拟用户完成身份认证,以根据用户身份提供个性化的加密方案,真实的存储服务存储用户身份加密后的加密文件。在客户端无感知的情况下实现网络存储文件的透明加解密和有效的基于身份的细粒度访问控制。
38.(3)加密文件的结构与密文数据绑定在一个文件中,方便备份和恢复,不易丢失,保证系统的健壮性;文件加解密和权限判定在加密存储网关上完成,用户无须手动参与;文件加密密钥以加密存储网关的身份向密钥管理系统申请,其它途径无法获取,可有效防止敏感文件泄露;加密文件按块切片并使用有mac验证的对称密码算法加密,最大限度地保证文件数据的完整性又保证文件随机读写的特性,不会造成显著的性能损失。
39.(4)加密存储网关结合密钥管理系统实现加密文件密钥使用的双重验证机制,保证了用户敏感文件的使用安全、共享安全。加密存储网关兼容samba,nfs等常用网络存储协议,同时又对客户端提供samba、nfs服务,对客户端完全透明。
附图说明
40.图1是本发明实施例的加密存储网关与用户及存储服务的关系示意图。
具体实施方式
41.为了对本发明的技术特征、目的和效果有更加清楚的理解,现说明本发明的具体实施方式。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明,即所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
42.本实施例提供了一种基于用户身份的高可靠文件加密和细粒度访问控制方法,需要使用网络存储的客户端访问存储服务时,以加密存储网关的地址代替真实的存储服务地址,并以虚拟用户身份向存储服务器发起认证请求。如图1所示,该方法包括:
43.映射建立:加密存储网关根据客户端认证时提供的用户信息,获取到预先配置的策略,构建虚拟存储资源发送给客户端,同时建立客户端请求的虚拟存储资源与真实目标存储服务的映射关系;
44.访问控制:当加密存储网关接收到客户端的访问请求时,根据请求协议标识的类型,以重新封装发往真实目标存储服务或者是调用加密存储网关客户api访问真实目标存储服务的方式,获取到客户端请求的响应信息并重新处理后返回给客户端。
45.本实施例中,客户端无法直接访问到加密存储网关所关联的真实存储服务。由于
客户端所有的访问请求都会被加密存储网关接管,因此可针对不同的客户端配置个性化的存储策略和访问控制策略,以实现上传文件时自动加密、下载文件时自动解密、文件细粒度的访问控制等。具体地,加密存储网关执行文件加解密与访问控制关键流程可按以下步骤执行:
46.s1.封装设置:设置加密文件格式为加密信息头+文件密文数据块的封装格式,加密文件整体封装到一个文件中;
47.s2.用户登录:验证用户信息并获取到用户的存储策略、访问控制策略;
48.s3.映射建立:获取用户的挂载、连接信息,从存储策略中匹配到真实的网络存储地址、存储目录,建立用户访问目录与真实目标目录的映射;
49.s4.文件创建:以加密存储网关的身份向密钥管理系统创建私有的文件加密密钥,记录密钥与用户的匹配关系,生成加密文件的加密信息头;优选地,生成的加密信息头包括密钥标识、加密算法、文件明文长度和密钥校验数据;
50.s5.文件写入:使用步骤s4产生的文件加密密钥对明文数据加密,封装写入请求发送真实的存储服务器,并向客户端发送写入成功的响应;
51.s6.文件读取:封装文件读取请求发送到真实的存储服务器以获取到密文数据,再使用步骤s4产生的文件加密密钥对密文数据解密;
52.s7.文件打开:封装文件打开请求并发送到真实的存储服务,然后读取加密文件的加密信息头,获取到文件加密密钥标识,分别验证加密密标识和密钥校验数据,都通过后向客户端发送文件打开成功的响应。
53.优选地,步骤s5包括以下子步骤:
54.s501.解析文件写入协议的关键信息,包括文件路径、写入位置、写入长度和明文数据;
55.s502.根据写入位置和写入长度,获取到当前数据所属的加密块,将数据以0填充成切片长度的整数倍;
56.s503.使用步骤s4产生的文件加密密钥对明文数据加密,获取到密文与mac校验的长度,重新计算密文数据块在加密文件中的真实位置与长度;
57.s504.封装写入请求发送真实的存储服务器,并向客户端发送写入成功的响应。
58.优选地,步骤s6包括以下子步骤:
59.s601.解析文件读取协议的关键信息,包括文件路径、读取位置和读取长度;
60.s602.计算待读取的数据在加密文件中的真实位置和长度,其中长度是加密块的整数倍大小;
61.s603.封装文件读取请求发送到真实的存储服务器以获取到密文数据;
62.s604.使用步骤s4产生的文件加密密钥对密文数据解密,并向客户端发送读取成功的响应。
63.优选地,步骤s7包括以下子步骤:
64.s701.解析文件打开协议的文件路径关键信息;
65.s702.验证访问控制策略,通过后封装文件打开请求并发送到真实的存储服务器;
66.s703.读取加密文件的加密信息头,获取到文件加密密钥标识,验证加密密标识与用户是否匹配;
67.s704.若匹配,则以加密存储网关的身份向密钥管理系统申请密钥信息;
68.s705.密钥申请成功后,验证加密信息头中的密钥校验数据,验证通过后向客户端发送文件打开成功的响应。
69.优选地,客户端发送的请求包含文件长度和/或占用空间信息时,仅从文件的加密标识中获取到明文的长度返回给客户端,文件的密文长度不返回给客户端。
70.本实施例结合密钥管理系统、身份认证系统以及自身具备的用户管理系统实现用户的身份鉴别、权限判定、密钥恢复。优选地,所使用的公钥签名算法为sm2签名算法(gm/t 0003),使用的加密算法为sm4加密算法(gm/t 0002),使用哈希算法为sm3哈希算法(gm/t0004),同时支持通用的国际公开算法和未公开算法。兼容cifs、nfs网络存储协议,应用系统无须做任何修改,即可实现网络存储文件加密存储。
71.需要说明的是,对于前述的方法实施例,为了简便描述,故将其表述为一系列的动作组合,但是本领域技术人员应该知悉,本技术并不受所描述的动作顺序的限制,因为依据本技术,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本技术所必须的。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1