基于域管平台的加密分区访问控制方法、系统及计算设备转让专利

申请号 : CN202210235765.8

文献号 : CN114329574B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 卢桢

申请人 : 统信软件技术有限公司

摘要 :

本发明公开了一种基于域管平台的加密分区访问控制方法、系统及计算设备,方法在计算设备的文件管理器中执行,包括步骤:接收文管客户端对磁盘分区的访问请求;获取配置文件,基于配置文件中的加密分区信息来确定所述磁盘分区是否是加密分区;如果是加密分区,对所述文管客户端的用户进行身份认证,并在身份认证成功后从域管平台获取访问令牌;以及将所述访问令牌发送至守护进程,以便通过所述守护进程基于所述访问令牌从域管平台获取与加密分区相对应的秘钥,基于秘钥对所述加密分区进行解密处理得到解密分区,以挂载所述解密分区并进行访问。根据本发明的技术方案,实现了基于域管平台来对多个计算设备的加密分区的访问权限进行统一控制和管理。

权利要求 :

1.一种基于域管平台的加密分区访问控制方法,在计算设备的文件管理器中执行,所述计算设备与所述域管平台通信相连,所述计算设备的操作系统中运行有所述文件管理器的守护进程,且所述操作系统之上布置有文管客户端,其特征在于,所述方法包括步骤:接收文管客户端对磁盘分区的访问请求;

获取配置文件,基于配置文件中的加密分区信息来确定所述磁盘分区是否是加密分区;

如果是加密分区,对所述文管客户端的用户进行身份认证,并在身份认证成功后从所述域管平台获取访问令牌;以及将所述访问令牌发送至守护进程,以便通过所述守护进程基于所述访问令牌从域管平台获取与加密分区相对应的秘钥,基于秘钥对所述加密分区进行解密处理得到解密分区,以挂载所述解密分区并进行访问。

2.如权利要求1所述的方法,其特征在于,所述域管平台存储有与每个文管客户端相对应的固定用户信息,在将访问令牌发送至守护进程之前,包括步骤:从域管平台获取与所述文管客户端相对应的固定用户信息,将当前用户信息与固定用户信息进行比对,如果相同,则将所述访问令牌发送至守护进程。

3.如权利要求1所述的方法,其特征在于,对文管客户端的用户进行身份认证的步骤包括:通过所述文管客户端从域管平台获取认证地址,基于所述认证地址请求从域管平台获取认证页面,并在文管客户端显示所述认证页面;

获取用户在所述认证页面输入的用户信息,基于所述用户信息对所述文管客户端的用户进行身份认证。

4.如权利要求1‑3中任一项所述的方法,其特征在于,从所述域管平台获取访问令牌的步骤包括:通过所述文管客户端请求从所述域管平台的前端获取授权码;

基于所述授权码请求从所述域管平台的后端获取访问令牌。

5.如权利要求1‑3中任一项所述的方法,其特征在于,所述加密分区信息包括预定标签名,基于配置文件中的加密分区信息来确定磁盘分区是否是加密分区的步骤包括:获取所述磁盘分区的标签名,判断该标签名是否与所述加密分区信息中的预定标签名相同;

如果相同,则确定所述磁盘分区是加密分区。

6.如权利要求1‑3中任一项所述的方法,其特征在于,文件管理器适于通过D‑Bus总线与所述守护进程进行通信,所述将访问令牌发送至守护进程包括:调用所述守护进程提供的总线接口,以将所述访问令牌发送至守护进程。

7.如权利要求6所述的方法,其特征在于,所述守护进程适于:在接收到进程对所述总线接口的调用请求时,获取所述进程的进程标识,并基于所述进程标识获取对应的进程路径;

判断所述进程路径是否是文件管理器的路径,如果是,则响应所述调用请求。

8.如权利要求6所述的方法,其特征在于,将访问令牌发送至守护进程的步骤包括:对访问令牌进行加密处理以生成加密访问令牌,并将所述加密访问令牌通过D‑Bus总线发送至守护进程,以便所述守护进程在对所述加密访问令牌进行解密处理后获取所述访问令牌。

9.如权利要求8所述的方法,其特征在于,对访问令牌进行加密处理包括:利用DH秘钥交换算法对所述访问令牌进行加密处理。

10.如权利要求1‑3中任一项所述的方法,其特征在于,所述操作系统在安装于计算设备的过程中适于对磁盘进行分区操作以形成一个或多个磁盘分区,所述一个或多个磁盘分区包括加密分区。

11.一种加密分区访问控制系统,其特征在于,包括:一个或多个计算设备,所述计算设备的操作系统中运行有文件管理器以及文件管理器的守护进程,且所述操作系统之上布置有文管客户端,所述文件管理器适于执行如权利要求1‑10中任一项所述的方法;以及域管平台,与所述一个或多个计算设备通信相连,并适于经由文件管理器来对计算设备中的加密分区的访问权限进行控制。

12.一种计算设备,其特征在于,包括:

至少一个处理器;以及

存储器,存储有程序指令,其中,所述程序指令被配置为适于由所述至少一个处理器执行,所述程序指令包括用于执行如权利要求1‑10中任一项所述的方法的指令。

13.一种存储有程序指令的可读存储介质,其特征在于,当所述程序指令被计算设备读取并执行时,使得所述计算设备执行如权利要求1‑10中任一项所述方法。

说明书 :

基于域管平台的加密分区访问控制方法、系统及计算设备

技术领域

[0001] 本发明涉及计算机技术领域,尤其涉及一种基于域管平台的加密分区访问控制方法、加密分区访问控制系统及计算设备。

背景技术

[0002] 域管平台用于对操作系统进行集中管理,适用于大规模终端使用场景下,其作用包括对系统策略、配置、应用安装等进行统一管理,在提升系统安全性的同时大幅降低管理的成本。虽然域管平台的功能覆盖较广,但目前还没有任何域管平台能实现对加密分区的统一管理。
[0003] 现有技术中常规的创建加密分区的方法,是在安装系统镜像的过程中由用户手动选择一个分区作为加密分区,并通过安装器自带的工具完成对加密分区的创建,在创建过程中手动输入秘钥。在进入操作系统后,可通过文件管理器访问加密分区,如果此时分区处于加密状态,则会弹出对话框要求用户手动输入密钥进行解密。
[0004] 应当指出的是,用户在域管平台通过账户登录后需要能够访问客户端上的所有资源。而根据现有技术方案,在安装系统时已经完成了对加密分区的创建,且分区的秘钥由用户自己输入和管理,这种情况下仅通过域管账户无法进入到加密分区,只能由持有秘钥的用户打开。另外,加密密钥由用户自己进行保存,在域管环境下缺乏对秘钥的统一管理,也违背了域管平台下对所有资源统一配置和管理的原则。而且,根据现有技术方案在访问加密分区之前未进行账户认证,这样,对于持有秘钥的所有用户都可以访问,从而缺乏对加密分区访问者的访问权限限制。
[0005] 为此,需要一种基于域管平台的加密分区访问控制方法,以解决现有技术中存在的问题。

发明内容

[0006] 为此,本发明提供一种基于域管平台的加密分区访问控制方法、加密分区访问控制系统及计算设备,以解决或至少缓解上面存在的问题。
[0007] 根据本发明的一个方面,提供一种基于域管平台的加密分区访问控制方法,在计算设备的文件管理器中执行,所述计算设备与所述域管平台通信相连,所述计算设备的操作系统中运行有所述文件管理器的守护进程,且所述操作系统之上布置有文管客户端,所述方法包括步骤:接收文管客户端对磁盘分区的访问请求;获取配置文件,基于配置文件中的加密分区信息来确定所述磁盘分区是否是加密分区;如果是加密分区,对所述文管客户端的用户进行身份认证,并在身份认证成功后从所述域管平台获取访问令牌;以及将所述访问令牌发送至守护进程,以便通过所述守护进程基于所述访问令牌从域管平台获取与加密分区相对应的秘钥,基于秘钥对所述加密分区进行解密处理得到解密分区,以挂载所述解密分区并进行访问。
[0008] 可选地,在根据本发明的基于域管平台的加密分区访问控制方法中,所述域管平台存储有与每个文管客户端相对应的固定用户信息,在将访问令牌发送至守护进程之前,包括步骤:从域管平台获取与所述文管客户端相对应的固定用户信息,将当前用户信息与固定用户信息进行比对,如果相同,则将所述访问令牌发送至守护进程。
[0009] 可选地,在根据本发明的基于域管平台的加密分区访问控制方法中,对文管客户端的用户进行身份认证的步骤包括:通过所述文管客户端从域管平台获取认证地址,基于所述认证地址请求从域管平台获取认证页面,并在文管客户端显示所述认证页面;获取用户在所述认证页面输入的用户信息,基于所述用户信息对所述文管客户端的用户进行身份认证。
[0010] 可选地,在根据本发明的基于域管平台的加密分区访问控制方法中,从所述域管平台获取访问令牌的步骤包括:通过所述文管客户端请求从所述域管平台的前端获取授权码;基于所述授权码请求从所述域管平台的后端获取访问令牌。
[0011] 可选地,在根据本发明的基于域管平台的加密分区访问控制方法中,所述加密分区信息包括预定标签名,基于配置文件中的加密分区信息来确定磁盘分区是否是加密分区的步骤包括:获取所述磁盘分区的标签名,判断该标签名是否与所述加密分区信息中的预定标签名相同;如果相同,则确定所述磁盘分区是加密分区。
[0012] 可选地,在根据本发明的基于域管平台的加密分区访问控制方法中,文件管理器适于通过D‑Bus总线与所述守护进程进行通信,所述将访问令牌发送至守护进程包括: 调用所述守护进程提供的总线接口,以将所述访问令牌发送至守护进程。
[0013] 可选地,在根据本发明的基于域管平台的加密分区访问控制方法中,所述守护进程适于: 在接收到进程对所述总线接口的调用请求时,获取所述进程的进程标识,并基于所述进程标识获取对应的进程路径;判断所述进程路径是否是文件管理器的路径,如果是,则响应所述调用请求。
[0014] 可选地,在根据本发明的基于域管平台的加密分区访问控制方法中,将访问令牌发送至守护进程的步骤包括:对访问令牌进行加密处理以生成加密访问令牌,并将所述加密访问令牌通过D‑Bus总线发送至守护进程,以便所述守护进程在对所述加密访问令牌进行解密处理后获取所述访问令牌。
[0015] 可选地,在根据本发明的基于域管平台的加密分区访问控制方法中,对访问令牌进行加密处理包括:利用DH秘钥交换算法对所述访问令牌进行加密处理。
[0016] 可选地,在根据本发明的基于域管平台的加密分区访问控制方法中,所述操作系统在安装于计算设备的过程中适于对磁盘进行分区操作以形成一个或多个磁盘分区,所述一个或多个磁盘分区包括加密分区。
[0017] 根据本发明的一个方面,提供一种加密分区访问控制系统,包括:一个或多个计算设备,所述计算设备的操作系统中运行有文件管理器以及文件管理器的守护进程,且所述操作系统之上布置有文管客户端,所述文件管理器适于执行如上所述的方法;以及域管平台,与所述一个或多个计算设备通信相连,并适于经由文件管理器来对计算设备中的加密分区的访问权限进行控制。
[0018] 根据本发明的一个方面,提供一种计算设备,包括:至少一个处理器;存储器,存储有程序指令,其中,程序指令被配置为适于由上述至少一个处理器执行,所述程序指令包括用于执行如上所述的基于域管平台的加密分区访问控制方法的指令。
[0019] 根据本发明的一个方面,提供一种存储有程序指令的可读存储介质,当该程序指令被计算设备读取并执行时,使得该计算设备执行如上所述的基于域管平台的加密分区访问控制方法。
[0020] 根据本发明的技术方案,提供了一种基于域管平台的加密分区访问控制方法,实现了在域管环境下对多个终端用户访问加密分区的统一管理。其中,域管平台存储有与每个计算设备的加密分区相对应的秘钥。每个计算设备的文件管理器与文管客户端用户进行交互,并与域管平台进行交互,基于域管平台提供的认证页面来对用户进行身份认证,在认证通过后可以获得访问令牌。进而,经由守护进程携带访问令牌来从域管平台存储的秘钥,并基于秘钥对加密分区进行解密以访问解密后的分区。这样,本发明实现了基于域管平台来对多个计算设备的加密分区的访问权限进行统一控制和管理。
[0021] 进一步地,每个文管客户端关联一个唯一的固定用户信息并统一存储在域管平台。文件管理器通过从域管平台获取客户端的固定用户信息并与当前用户信息进行比对,以便将对加密分区的访问权限限制为与文管客户端唯一对应的固定用户,从而实现了只允许本机的固定用户登录和访问加密分区,进一步对各个计算设备的加密分区的访问权限进行了限制。
[0022] 此外,根据本发明的技术方案,文件管理器通过D‑Bus与守护进程进行通信,通过将访问总线接口的进程限制为文件管理器进程、或者对基于总线传输的访问令牌进行加密的方式,能够提高文件管理器进程与守护进程之间进行数据交互的安全性,从而有利于增强对加密分区访问过程的安全性。
[0023] 上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。

附图说明

[0024] 为了实现上述以及相关目的,本文结合下面的描述和附图来描述某些说明性方面,这些方面指示了可以实践本文所公开的原理的各种方式,并且所有方面及其等效方面旨在落入所要求保护的主题的范围内。通过结合附图阅读下面的详细描述,本公开的上述以及其它目的、特征和优势将变得更加明显。遍及本公开,相同的附图标记通常指代相同的部件或元素。
[0025] 图1示出了根据本发明一个实施例的加密分区访问控制系统100的示意图;
[0026] 图2示出了根据本发明一个实施例的计算设备200的示意图;
[0027] 图3示出了根据本发明一个实施例的基于域管平台的加密分区访问控制方法300的流程图;以及
[0028] 图4示出了根据本发明一个实施例的文管客户端110的界面效果图。

具体实施方式

[0029] 下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
[0030] 图1示出了根据本发明一个实施例的加密分区访问控制系统100的示意图。
[0031] 如图1所示,加密分区访问控制系统100包括域管平台150、与域管平台150通信相连的一个或多个计算设备200。域管平台150可用于对多个计算设备200的操作系统220进行集中管理,具体地,域管平台150可用于对多个操作系统的系统策略、配置、应用安装等进行统一管理。应当指出,本发明不限于各个计算设备200与域管平台150的通信连接方式,例如,一个或多个计算设备200可以通过有线或无线的方式与域管平台150网络连接。
[0032] 其中,每个计算设备200中运行有操作系统220,且每个计算设备200中包括一个或多个磁盘分区,这里,在计算设备中安装操作系统时通过对磁盘进行分区操作可以形成一个或多个磁盘分区。每个计算设备200的操作系统220中运行有用于文件管理的文件管理器125,并运行有文件管理器的守护进程123,这里,守护进程123即是Daemon。文件管理器125的进程可以与守护进程123进行通信,例如经由D‑Bus总线进行数据交互。另外,每个操作系统220之上布置有文件管理器的客户端(文管客户端110)。文管客户端110作为用户访问各个磁盘分区的入口,用户可以经由文管客户端110与操作系统中的文件管理器125进行交互,以便经由文件管理器125访问各个磁盘分区中的数据。
[0033] 在本发明的一个实施例中,在操作系统安装于计算设备200中之前,可以在系统镜像的OEM(一种用文本配置对功能进行修改、添加的方式)目录中增加分区配置文件,并在分区配置文件中对加密分区的大小和标签名进行配置,例如将加密分区的大小配置为预定大小,将加密分区的标签名配置为预定标签名。基于此,在基于系统镜像安装操作系统的过程中,可以自动预留预定大小的分区来作为加密分区,且加密分区的标签名为预定标签名。这样,在分区操作完成后,对磁盘进行分区操作形成的一个或多个磁盘分区包括预留的加密分区。在一种实现方式中,计算设备中的一个或多个磁盘分区还可以包括系统盘、数据盘等。应当指出的是,在安装完操作系统第一次进入操作系统时,预留的加密分区的初始格式是普通的ext4格式,并不具备加密功能,因此,需要对其进行加密处理后才会创建得到加密格式的、具有加密功能的加密分区。
[0034] 通过从所有分区信息中获取标签名为预定标签名的分区(即加密分区)对应的分区信息,即获取到包括预定标签名的加密分区信息,随后将加密分区信息写入到预定目录下的配置文件中。这样,在进入操作系统后可以在预定目录下获取该配置文件,以便文件管理器基于配置文件来确定加密分区。在一种实现方式中,预定标签名例如为“_reserve_part”。
[0035] 可以理解,基于在系统镜像中对加密分区的配置,使得在多个计算设备中基于系统镜像安装操作系统过程中进行分区操作后,每个计算设备中的加密分区的大小和标签名均相同,从而在域管环境下实现对多个计算设备中的加密分区大小和标签名的统一。
[0036] 根据本发明的技术方案,避免了由用户自己创建加密分区以及在访问加密分区时输入秘钥进行解密。
[0037] 在本发明的实施例中,域管平台150还可用于对一个或多个计算设备200中的加密分区的访问权限进行统一控制和管理。具体地,域管平台150分别与多个计算设备200中的文件管理器125通信相连,可以经由各个计算设备200中的文件管理器125来对加密分区的访问权限进行控制和管理。并且,域管平台150存储有每个加密分区对应的秘钥,以对所有加密分区的秘钥进行全局管理。
[0038] 图4示出了根据本发明一个实施例的文管客户端110的界面效果图。如图4所示,在进入操作系统后,用户可以在文管客户端110的界面上查看一个或多个磁盘分区图标,其中包括系统盘图标、数据盘图标以及加密分区图标。用户可以在文管客户端110向文件管理器125发送对磁盘分区的访问请求后,例如可通过对任意一个磁盘分区图标进行操作(例如双击操作)来向文件管理器125发送对该磁盘分区的访问请求。
[0039] 在本发明的实施例中,文件管理器125通过执行本发明的基于域管平台的加密分区访问控制方法300来实现对加密分区访问权限的控制和管理。基于域管平台的加密分区访问控制方法300将在下文详述。
[0040] 根据本发明的加密分区访问控制系统100,与域管平台150通信相连的每个计算设备200中的文件管理器125均适于执行根据本发明的基于域管平台的加密分区访问控制方法300,以实现对各个计算设备中的加密分区进行统一的访问权限管理。
[0041] 图2示出了根据本发明一个实施例的计算设备200的示意图。
[0042] 如图2所示,在基本的配置202中,计算设备200典型地包括系统存储器206和一个或者多个处理器204。存储器总线208可以用于在处理器204和系统存储器206之间的通信。
[0043] 取决于期望的配置,处理器204可以是任何类型的处理,包括但不限于:微处理器(UP)、微控制器(UC)、数字信息处理器(DSP)或者它们的任何组合。处理器204可以包括诸如一级高速缓存210和二级高速缓存212之类的一个或者多个级别的高速缓存、处理器核心214和寄存器216。示例的处理器核心214可以包括运算逻辑单元(ALU)、浮点数单元(FPU)、数字信号处理核心(DSP核心)或者它们的任何组合。示例的存储器控制器218可以与处理器
204一起使用,或者在一些实现中,存储器控制器218可以是处理器204的一个内部部分。
[0044] 取决于期望的配置,系统存储器206可以是任意类型的存储器,包括但不限于:易失性存储器(诸如RAM)、非易失性存储器(诸如ROM、闪存等)或者它们的任何组合。系统存储器206可以包括操作系统220、一个或者多个应用222以及程序数据224。应用222实际上是多条程序指令,其用于指示处理器204执行相应的操作。在一些实施方式中,应用222可以布置为在操作系统上使得处理器204利用程序数据224进行操作。
[0045] 计算设备200还包括储存设备232,储存设备232包括可移除储存器236和不可移除储存器238。
[0046] 计算设备200还可以包括储存接口总线234。储存接口总线234实现了从储存设备232(例如,可移除储存器236和不可移除储存器238)经由总线/接口控制器230到基本配置
202的通信。操作系统220、应用222以及数据224的至少一部分可以存储在可移除储存器236和/或不可移除储存器238上,并且在计算设备200上电或者要执行应用222时,经由储存接口总线234而加载到系统存储器206中,并由一个或者多个处理器204来执行。
[0047] 计算设备200还可以包括有助于从各种接口设备(例如,输出设备242、外设接口244和通信设备246)到基本配置202经由总线/接口控制器230的通信的接口总线240。示例的输出设备242包括图像处理单元248和音频处理单元250。它们可以被配置为有助于经由一个或者多个A/V端口252与诸如显示器或者扬声器之类的各种外部设备进行通信。示例外设接口244可以包括串行接口控制器254和并行接口控制器256,它们可以被配置为有助于经由一个或者多个I/O端口258和诸如输入设备(例如,键盘、鼠标、笔、语音输入设备、触摸输入设备)或者其他外设(例如打印机、扫描仪等)之类的外部设备进行通信。示例的通信设备246可以包括网络控制器260,其可以被布置为便于经由一个或者多个通信端口264与一个或者多个其他计算设备262通过网络通信链路的通信。
[0048] 网络通信链路可以是通信介质的一个示例。通信介质通常可以体现为在诸如载波或者其他传输机制之类的调制数据信号中的计算机可读指令、数据结构、程序模块,并且可以包括任何信息递送介质。“调制数据信号”可以这样的信号,它的数据集中的一个或者多个或者它的改变可以在信号中以编码信息的方式进行。作为非限制性的示例,通信介质可以包括诸如有线网络或者专线网络之类的有线介质,以及诸如声音、射频(RF)、微波、红外(IR)或者其它无线介质在内的各种无线介质。这里使用的术语计算机可读介质可以包括存储介质和通信介质二者。
[0049] 在根据本发明的实施例中,计算设备200被配置为执行根据本发明的基于域管平台的加密分区访问控制方法300。计算设备200的操作系统中包含用于执行本发明的基于域管平台的加密分区访问控制方法300的多条程序指令,这些程序指令可以指示处理器执行根据本发明的基于域管平台的加密分区访问控制方法300,以便计算设备通过执行本发明的基于域管平台的加密分区访问控制方法300来实现基于域管平台对多个计算设备的加密分区的访问权限进行全面控制和管理。
[0050] 根据本发明的一个实施例,计算设备200的操作系统中包括文件管理器125,并运行有文件管理器的守护进程123,文件管理器125的进程可以与守护进程123进行通信。操作系统之上还布置有文管客户端110,文管客户端110作为用户访问各个磁盘分区的入口,用户可以经由文管客户端110与操作系统中的文件管理器125进行通信,以便经由文件管理器125访问各个磁盘分区中的数据。
[0051] 根据前文所述的加密分区访问控制系统100,域管平台150分别与一个或多个计算设备200通信相连。操作系统在安装于计算设备200的过程中适于对磁盘进行分区操作以形成一个或多个磁盘分区,其中,一个或多个磁盘分区包括预留的预定大小的加密分区。域管平台150可以经由各个计算设备200中的文件管理器125来对计算设备中的加密分区的访问权限进行控制和管理。
[0052] 在本发明的实施例中,文件管理器125中包含用于执行本发明的基于域管平台的加密分区访问控制方法300的多条程序指令,使得文件管理器125可以执行本发明的基于域管平台的加密分区访问控制方法300。
[0053] 在一个实施例中,文件管理器的进程可以通过D‑Bus总线与守护进程进行通信,以实现文件管理器进程与守护进程之间的消息交互。
[0054] 图3示出了根据本发明一个实施例的基于域管平台的加密分区访问控制方法300的流程图。方法300适于在操作系统的文件管理器125中执行。
[0055] 如图3所示,方法300始于步骤S310。
[0056] 在步骤S310中,接收文管客户端110对磁盘分区的访问请求。
[0057] 需要说明的是,在进入操作系统后,用户可以在文管客户端110的界面上查看一个或多个磁盘分区图标(即磁盘分区的访问入口),其中包括加密分区图标。用户可以在文管客户端110通过对任意一个磁盘分区图标进行操作(例如双击操作)来向文件管理器125发送对该磁盘分区的访问请求。例如,通过对磁盘分区图标进行双击操作来向文件管理器125发送对磁盘分区的访问请求。文件管理器125需要对磁盘分区进行判断,以判断该磁盘分区是否是加密分区。
[0058] 随后在步骤S320中,从预定目录下获取配置文件,配置文件中包括加密分区信息。接着,基于配置文件中的加密分区信息来确定用户要访问的磁盘分区是否是加密分区。这里,也即是判断磁盘分区的分区信息是否与配置文件中的加密分区信息相同,如果相同则可以确定该磁盘分区是加密分区。
[0059] 在一个实施例中,从配置文件中获取的加密分区信息包括预定标签名。通过获取用户所要访问的磁盘分区的标签名,判断该标签名是否与加密分区信息中的预定标签名相同,如果标签名相同,则可以确定磁盘分区是加密分区。
[0060] 在步骤S330中,如果确定磁盘分区是加密分区,对文管客户端的用户进行身份认证,并在身份认证成功后从域管平台获取访问令牌(Token),以便基于访问令牌来访问域管理器中的资源。
[0061] 这里,通过获取文管客户端的当前用户信息,来对文管客户端的用户进行身份认证。用户信息包括账户信息。
[0062] 在一个实施例中,文件管理器125在对文管客户端的用户进行身份认证时,需要从域管平台150获取认证界面。认证界面可以实现为Web页面。需要说明的是,为了将Web页面更好地嵌入文件管理器,可以采用对话框方式对Web页面进行封装。由于在一些场景下认证页面可能会接入用户自己的认证系统,认证页面对应的认证地址存在不固定的情况,因此,该认证地址需要从域管平台获取。
[0063] 具体地,通过文管客户端110从域管平台150获取认证页面对应的认证地址。接着,基于认证地址请求从域管平台150获取认证页面,在获取到域管平台150返回的认证页面后,将认证页面显示在文管客户端110,提示用户在认证页面输入用户信息以进行身份认证。
[0064] 当用户在认证页面输入用户信息后,文件管理器125可以获取到用户在认证页面输入的用户信息,用户信息包括账户信息,进而基于用户信息对文管客户端的用户进行身份认证。如果身份认证通过,则文件管理器125可以从域管平台150获取访问令牌,以便基于访问令牌访问域管平台150的资源。
[0065] 根据本发明的一个实施例,域管平台150存储有与每个文管客户端110相对应的固定用户信息。这里,每个文管客户端110关联一个唯一的固定用户信息,以便将对加密分区的访问权限限制为与文管客户端唯一对应的固定用户,只允许固定用户通过固定用户信息中的固定账户信息在文管客户端进行登录以访问加密分区。
[0066] 根据本发明的一个实施例,在对用户进行身份认证通过之后,文件管理器125可以从域管平台150获取到访问令牌。在获取到访问令牌之后,进一步验证在文管客户端110请求访问加密分区的当前用户是否是该文管客户端的固定用户,以确保只能由文管客户端110对应的固定用户基于固定用户信息来访问加密分区。
[0067] 具体地,通过从域管平台150获取与文管客户端110相对应的固定用户信息,将当前用户信息与固定用户信息进行比对,如果当前用户信息与固定用户信息相同,可以确定当前用户是与文管客户端相对应的固定用户,进而可以执行步骤S340来将访问令牌发送至守护进程。这里,用户信息包括用户名,在一种实现方式中,可以从用户信息中获取用户名,将当前用户信息中的用户名与固定用户信息中的用户名进行比对,如果用户名相同,便可以确定当前用户是文管客户端相对应的固定用户,可以访问加密分区。否则,如果当前用户信息中的用户名与固定用户信息中的用户名不同,则视为异常登录,拒绝当前用户在文管客户端110对加密分区的访问。
[0068] 如果当前用户信息与固定用户信息相同,继续执行步骤S340。
[0069] 在步骤S340中,将访问令牌发送至守护进程123,以便通过守护进程基于访问令牌从域管平台150获取与加密分区相对应的秘钥,并基于秘钥对加密分区进行解密处理,得到解密分区,进而可以挂载解密分区并访问其中的文件。这里,守护进程为Daemon。
[0070] 需要说明的是,访问解密分区中的文件如同访问普通的未加密的磁盘分区一样,每个分区对应一个挂载的目录(文件系统),通过将解密分区挂载至相应的目录,便可以访问解密分区对应的目录下的所有文件,从而实现对解密分区中存储的文件的访问。
[0071] 在一种实现方式中,可以采用基于对称秘钥的加密方法,基于同一个秘钥对分区进行加密处理和解密处理。加密分区预先基于秘钥进行了加密处理。因此,在访问加密分区之前,首先需要基于秘钥对加密分区进行解密处理。
[0072] 在一个实施例中,域管平台150存储有与每个计算设备200中的加密分区相对应的秘钥。
[0073] 需要说明的是,文件管理器的权限是普通用户权限,但加密分区需要root权限,因此,文件管理器125通过将访问令牌发送给文件管理器的守护进程123,利用具有root权限的守护进程Daemon来从域管平台150获取与加密分区相对应的秘钥,并基于秘钥对加密分区执行解密操作或加密操作。
[0074] 另外,还需要说明的是,由于第一次进入操作系统时,加密分区是普通的ext4格式,并不具备加密功能。基于此,在守护进程获取到与加密分区相对应的秘钥之后,首先需要确定当前加密分区的格式,根据加密分区的格式来确定是否可以直接对加密分区执行解密操作。具体地,根据配置文件来确定加密分区挂载的文件系统,如果该文件系统是ext4格式,则确定是第一次进入操作系统,当前加密分区还未经过加密处理,需要先基于秘钥对其进行加密处理,以创建LUKS格式(加密格式)的加密分区,进而才能基于秘钥对加密格式的加密分区进行解密处理。如果根据配置文件确定的加密分区挂载的文件系统是LUKS格式,表明当前加密分区已经过了加密处理,则可以直接基于秘钥对当前加密分区进行解密操作。
[0075] 在一种实现方式中,在步骤S330中可以采用OAuth 2.0 授权码方式进行身份认证,这种授权方式可以实现前后端分离,安全性较高。具体地,文件管理器125从域管平台150获取访问令牌的步骤如下。
[0076] 首先,通过文管客户端110请求从域管平台150的前端获取授权码,获取域管平台150的前端返回的授权码。
[0077] 接下来,在获取到授权码后的预定时间内,文件管理器125基于授权码请求从域管平台150的后端获取访问令牌,获取域管平台150的后端返回的访问令牌。之后,所有与域管平台150的所有通信均在域管平台150的后端完成。
[0078] 在一种实现方式中,在步骤S330中请求从域管平台150获取认证页面对应的认证地址之前,首先需要通过网络测试。具体地,文件管理器125可以通过 Ping 命令测试域管平台的地址,基于该地址来判断域管平台是否可以访问,在不能访问的情况下(未通过网络测试)跳过后续流程,并通过弹窗告知用户。如果通过网络测试,可以请求从域管平台150获取认证页面对应的认证地址,并将认证地址显示在文管客户端110的认证对话框,以便基于认证地址请求从域管平台150获取认证页面。用户通过在认证页面输入账户信息来进行身份认证。
[0079] 在身份认证通过后,认证页面会跳转至重定向的地址,并且在跳转时会回传一个授权码:https://xx.com/callback.code=AUTHORIZATION_CODE。这里,code参数即是授权码。随后,文件管理器125便可以基于授权码请求从域管平台150的后端获取访问令牌。
[0080] 在一种实现方式中,文件管理器125可以通过"access_token" 字段来获得访问令牌,随后将该访问令牌发送至守护进程Daemon,由守护进程从域管平台获取数据(秘钥)。访问令牌(Token)的数据格式如下所示:
[0081] {      
[0082] "access_token":"ACCESS_TOKEN",
[0083] "token_type":"xx",
[0084] "expires_in":xx,
[0085] "refresh_token":"xx",
[0086] "scope":"xx",
[0087] "uid":xx,
[0088] "info":{...}
[0089] }。
[0090] 根据本发明的一个实施例,文件管理器进程可以通过D‑Bus总线与守护进程进行通信,从而可以经由D‑Bus总线将访问令牌发送至守护进程。具体地,守护进程123提供有总线接口,文件管理器可以调用守护进程提供的总线接口,来将访问令牌发送至守护进程。基于D‑Bus总线的方式进行进程通信,通信过程的延迟较低,而且开销较小。
[0091] 由于传统的D‑Bus的参数是以明文的形式传递,存在一定的安全隐患。而且,守护进程123提供的总线接口在默认情况下可以被所有进程调用。基于此,在一个实施例中,本发明通过限制调用者的方式,限制调用总线接口的进程为文件管理器进程,以此来提高文件管理器与守护进程通过D‑Bus总线进行通信的安全性。
[0092] 具体地,守护进程123在接收到任意进程对其提供的总线接口的调用请求时,获取该进程的进程标识,并基于进程标识获取对应的进程路径。进而,守护进程123判断该进程路径是否是文件管理器的路径,如果是文件管理器的路径,可以确定调用进程为文件管理器进程,则响应该进程对总线接口的调用请求。这样,能确保只有文件管理器的进程可以调用守护进程123的总线接口,并基于总线接口来与守护进程123进行消息交互、向守护进程123发送访问令牌。通过将访问总线接口的进程限制为文件管理器进程,能够提高文件管理器进程与守护进程之间进行通信的安全性,从而有利于增强对加密分区访问过程的安全性。
[0093] 在一种实现方式中,守护进程123通过调用servicePid函数可以获取调用进程的进程标识。通过执行ps ‑aux | grep ‑v grep | grep PID 命令可以获得进程标识对应的进程路径,以便判断进程路径是否是文件管理器的路径。还需要说明的是,由于域管环境下的应用都进行了签名处理,本发明通过将调用进程的路径作为判断是否为文件管理器进程的依据,有利于进一步增强进程间通信的安全性。
[0094] 在又一个实施例中,本发明通过对传输数据(访问令牌)进行加密的方式,避免明文传输,以此来提高基于文件管理器进程与守护进程基于D‑Bus总线进行通信的安全性。
[0095] 具体地,文件管理器125的进程可以采用以下方式来将访问令牌发送至守护进程123:
[0096] 文件管理器125通过对访问令牌进行加密处理,以生成加密访问令牌,随后并将加密访问令牌通过D‑Bus总线发送至守护进程123。守护进程123在获取到加密访问令牌后,需要对加密访问令牌进行解密处理,以获取解密后的明文形式的访问令牌。
[0097] 在一种实现方式中,可以利用DH秘钥交换算法对传输数据(访问令牌)进行加密处理。DH秘钥交换算法的原理是进行数据通信的双方通过协商一个数字,利用该数字来对需要发送的数据进行加密处理,以此来确保数据传输的安全性。
[0098] 假设存在一个素数q,那么对于正整数a,x,y,可以得出:
[0099]
[0100] 将公式展开后可得:
[0101]
[0102] 根据该公式,只需要在两个进程之间共享质数 p,并创建各自的私有变量x、y,即可以在不传递秘钥的前提下为双方约定一个数字。这样,文件管理器125可以将该约定好的数字作为对传输数据进行加密处理的加密算法的秘钥,并基于秘钥对待发送的数据进行加密。守护进程123在接收到加密数据(加密访问令牌)后,可以将约定好的数字作为秘钥来对加密数据(加密访问令牌)进行解密处理,这样可以得到明文数据。在一种实现方式中,本发明采用AES加密算法来对传输数据进行加密处理。
[0103] 为进一步增强两个进程基于D‑Bus进行数据交互的安全性,根据本发明的一个实施例,通过在加密传输数据中增加时间戳(精度为毫秒),将文件管理器125发送加密传输数据(加密访问令牌)的时间点记为起始时间S,将守护进程123接收到加密传输数据(加密访问令牌)的时间点记为结束时间E。其中,当E ‑ F的值大于预定阈值时,将本次传输数据的消息作废。
[0104] 另外,为防止基于D‑Bus传输的数据被篡改,在本发明的一个实施例中,进一步在加密传输数据的结尾处增加对传输数据(访问令牌)和时间戳进行哈希运算后得到的第一哈希值,得到加密哈希传输数据,将加密哈希传输数据通过调用总线接口发送至守护进程123,以保证传输数据的完整性。
[0105] 接下来,当守护进程123接收到加密哈希传输数据并对该加密哈希传输数据进行解密处理后,可以得到传输数据(访问令牌)、时间戳以及第一哈希值,第一哈希值可作为对传输数据进行完整性校验的依据。进而,守护进程123对解密得到的传输数据(访问令牌)和时间戳进行哈希运算,以得到第二哈希值。随后,通过将第二哈希值与第一哈希值进行比对来对接收到的加密哈希传输数据的完整性进行校验,其中,如果第二哈希值与第一哈希值相等,则确定接收到的加密哈希传输数据完整。反之,如果第二哈希值与第一哈希值不相等,则说明传输数据可能被篡改,将本次传输数据作废。
[0106] 这样,既能确保文件管理器与守护进程经由总线进行数据交互的安全性,又能确保传输数据的完整性。
[0107] 根据本发明的基于域管平台的加密分区访问控制方法300,实现了在域管环境下对多个终端用户访问加密分区的统一管理。其中,域管平台存储有与每个计算设备的加密分区相对应的秘钥。每个计算设备的文件管理器与文管客户端用户进行交互,并与域管平台进行交互,基于域管平台提供的认证页面来对用户进行身份认证,在认证通过后可以获得访问令牌。进而,经由守护进程携带访问令牌来从域管平台存储的秘钥,并基于秘钥对加密分区进行解密以访问解密后的分区。这样,本发明实现了基于域管平台来对多个计算设备的加密分区的访问权限进行统一控制和管理。
[0108] 进一步地,每个文管客户端关联一个唯一的固定用户信息并统一存储在域管平台。文件管理器通过从域管平台获取客户端的固定用户信息并与当前用户信息进行比对,以便将对加密分区的访问权限限制为与文管客户端唯一对应的固定用户,从而实现了只允许本机的固定用户登录和访问加密分区,进一步对各个计算设备的加密分区的访问权限进行了限制。
[0109] 此外,根据本发明的技术方案,文件管理器通过D‑Bus与守护进程进行通信,通过将访问总线接口的进程限制为文件管理器进程、或者对基于总线传输的访问令牌进行加密的方式,能够提高文件管理器进程与守护进程之间进行数据交互的安全性,从而有利于增强对加密分区访问过程的安全性。
[0110] 这里描述的各种技术可结合硬件或软件,或者它们的组合一起实现。从而,本发明的方法和设备,或者本发明的方法和设备的某些方面或部分可采取嵌入有形媒介,例如可移动硬盘、U盘、软盘、CD‑ROM或者其它任意机器可读的存储介质中的程序代码(即指令)的形式,其中当程序被载入诸如计算机之类的机器,并被所述机器执行时,所述机器变成实践本发明的设备。
[0111] 在程序代码在可编程计算机上执行的情况下,移动终端一般包括处理器、处理器可读的存储介质(包括易失性和非易失性存储器和/或存储元件),至少一个输入装置,和至少一个输出装置。其中,存储器被配置用于存储程序代码;处理器被配置用于根据该存储器中存储的所述程序代码中的指令,执行本发明的基于域管平台的加密分区访问控制方法。
[0112] 以示例而非限制的方式,可读介质包括可读存储介质和通信介质。可读存储介质存储诸如计算机可读指令、数据结构、程序模块或其它数据等信息。通信介质一般以诸如载波或其它传输机制等已调制数据信号来体现计算机可读指令、数据结构、程序模块或其它数据,并且包括任何信息传递介质。以上的任一种的组合也包括在可读介质的范围之内。
[0113] 在此处所提供的说明书中,算法和显示不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与本发明的示例一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。
[0114] 在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下被实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
[0115] 类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
[0116] 本领域那些技术人员应当理解在本文所公开的示例中的设备的模块或单元或组件可以布置在如该实施例中所描述的设备中,或者可替换地可以定位在与该示例中的设备不同的一个或多个设备中。前述示例中的模块可以组合为一个模块或者此外可以分成多个子模块。
[0117] 本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
[0118] 此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
[0119] 此外,所述实施例中的一些在此被描述成可以由计算机系统的处理器或者由执行所述功能的其它装置实施的方法或方法元素的组合。因此,具有用于实施所述方法或方法元素的必要指令的处理器形成用于实施该方法或方法元素的装置。此外,装置实施例的在此所述的元素是如下装置的例子:该装置用于实施由为了实施该发明的目的的元素所执行的功能。
[0120] 如在此所使用的那样,除非另行规定,使用序数词“第一”、“第二”、“第三”等等来描述普通对象仅仅表示涉及类似对象的不同实例,并且并不意图暗示这样被描述的对象必须具有时间上、空间上、排序方面或者以任意其它方式的给定顺序。
[0121] 尽管根据有限数量的实施例描述了本发明,但是受益于上面的描述,本技术领域内的技术人员明白,在由此描述的本发明的范围内,可以设想其它实施例。此外,应当注意,本说明书中使用的语言主要是为了可读性和教导的目的而选择的,而不是为了解释或者限定本发明的主题而选择的。因此,在不偏离所附权利要求书的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。对于本发明的范围,对本发明所做的公开是说明性的而非限制性的,本发明的范围由所附权利要求书限定。