CN110059499A - 一种文件访问权限认证方法及电子设备 - Google Patents

一种文件访问权限认证方法及电子设备 Download PDF

Info

Publication number
CN110059499A
CN110059499A CN201910220920.7A CN201910220920A CN110059499A CN 110059499 A CN110059499 A CN 110059499A CN 201910220920 A CN201910220920 A CN 201910220920A CN 110059499 A CN110059499 A CN 110059499A
Authority
CN
China
Prior art keywords
file
identity information
key
access request
electronic equipment
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.)
Pending
Application number
CN201910220920.7A
Other languages
English (en)
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.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
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 Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN201910220920.7A priority Critical patent/CN110059499A/zh
Publication of CN110059499A publication Critical patent/CN110059499A/zh
Priority to PCT/CN2020/079104 priority patent/WO2020192447A1/zh
Priority to US17/439,467 priority patent/US20220156391A1/en
Priority to EP20778010.7A priority patent/EP3913516B1/en
Pending legal-status Critical Current

Links

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/606Protecting data by securing the transmission between two devices or processes
    • 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/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6209Protecting access to data via a platform, e.g. using keys or access control rules to a single file or object, e.g. in a secure envelope, encrypted and accessed using a key, or with access control rules appended to the object itself
    • 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/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
    • G06F21/6281Protecting 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 at program execution time, where the protection is within the operating system
    • 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/64Protecting data integrity, e.g. using checksums, certificates or signatures
    • 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

Abstract

本申请提供一种文件访问权限认证方法及电子设备,涉及通信技术领域,可在访问系统中的文件访问请求进行权限认证,提高电子设备的系统的安全性,保护用户数据。该方法包括:电子设备接收文件访问请求,其中,文件访问请求用于请求访问电子设备中的第一文件,然后获取文件访问请求的第一进程标识和确定与第一进程标识对应的第一固定身份信息,最终将第一固定身份信息与第一文件对应的合法固定身份信息进行匹配,当匹配成功时,则确定文件访问请求认证通过。

Description

一种文件访问权限认证方法及电子设备
技术领域
本申请涉及终端技术领域,尤其涉及一种文件访问权限认证方法及电子设备。
背景技术
近年来,随着电子产业和通信技术的飞速发展,目前智能终端设备越来越多,例如手机,智能音箱、智能手环等,人们的生活变得越来越智能化。由于手机的便携性,且可以从应用商店上下载各种功能的应用软件,所以手机已经成为人们日常生活中必不可少的必备品。
当前手机的文件访问控制依赖于操作系统的沙箱隔离访问机制,沙箱隔离访问机制可以保证应用A的文件无法被应用B访问,每个应用仅能够访问自身应用中的文件。但是当手机的操作系统被木马程序攻击时,木马程序可能会获取到最高的访问权限,因此木马程序可以突破沙箱隔离访问机制,直接获取其它应用中的文件,例如复制了通讯录应用中的电话本信息,导致用户的隐私发生泄露。
发明内容
本申请提供一种文件访问权限认证方法及电子设备,用以改善终端操作系统中文件访问控制存在安全性低的问题,增强终端的操作系统的安全性。
第一方面,本申请实施例提供了一种文件访问权限认证方法,所述方法适用于电子设备,该方法包括:电子设备接收文件访问请求,该文件访问请求用于请求访问电子设备中的第一文件,然后电子设备获取该文件访问请求的第一进程标识,并确定与第一进程标识对应的第一固定身份信息,接着电子设备判断第一固定身份信息与第一文件对应的合法固定身份信息是否一致,当二者不一致时,电子设备则确定该文件访问请求认证不通过;当二者一致时,电子设备则确定该文件访问请求认证通过。
本申请实施例中,电子设备通过结合利用手机应用自身的固定身份信息,利用固定身份信息对文件访问请求的访问权限进行认证。认证方法可以是通过判断访问请求中的进程标识对应的固定身份信息,是否与被访问的文件的合法固定身份信息一致,若一致,则认证通过,文件系统解密该文件,否则认证不通过。这样,当恶意应用对其它应用的文件进行文件访问时,文件系统会对该文件访问请求进行认证,因认证不通过,所以拒绝恶意应用的访问,因此达到对文件系统中的文件进行安全访问的目的,提高了系统的安全性。
在一种可能的设计中,当匹配成功时,电子设备还可以利用所述第一固定身份信息解密文件密钥密文,当解密成功时,则确定所述文件访问请求认证通过,当解密失败时,确定所述文件访问请求认证失败。其中,所述文件密钥密文是用于加密所述第一文件的文件密钥的密文。
本申请实施例中通过上述方法,文件系统可以对文件访问请求进行权限认证,当文件访问请求是来自文件所属应用时,才能给完成固定身份信息的匹配,即使恶意应用将固定身份信息进行了篡改,也会在文件密钥密文解密这一过程被监测出固定身份信息被篡改,导致认证失败。该方法可以有效地完善当前的文件系统访问机制,再结合沙箱机制有效地保护隐私安全。且这一文件访问权限认证过程并不需要用户参与,对用户是不可见的,所以既提高了系统安全,也有效地简化用户操作,提高了用户体验。
在一种可能的设计中,在电子设备接收文件访问请求之前,电子设备获取运行的应用程序的进程标识和固定身份信息,并建立所述进程标识和固定身份信息之间的对应关系,以及建立新创建的文件和固定身份信息之间的对应关系。
本申请实施例中,身份管理模块从包管理服务模块获取应用的固定身份信息,建立固定身份信息与文件标识之间的映射关系,以及该文件所属应用的进程标识和固定身份信息之间的对应关系。以便于电子设备在收到文件访问请求时,可以对比固定身份信息。
在一种可能的设计中,在电子设备接收文件访问请求之前,电子设备根据第一文件的固定身份信息、文件系统主密钥和预设的密钥加密算法,对所述第一文件的文件密钥进行加密,生成文件密钥密文;并利用第一文件的文件密钥对所述第一文件进行加密,生成第一文件的密文,其中,所述第一文件的密文的头部包括合法固定身份信息和文件密钥密文;所述电子设备将所述第一固定身份信息与所述第一文件对应的合法固定身份信息进行匹配,包括:电子设备将第一固定身份信息与第一文件的密文头部的合法固定身份信息进行匹配。
本申请实施例中,密钥加解密模块用于利用固定身份信息将文件密钥加密生成文件密钥密文,该文件密钥密文被存储在文件密文的头部。当权限认证模块认证通过之后,密钥加解密模块利用访问文件的文件访问请求的进程标识所对应的固定身份信息解密该文件密钥密文,若无法解密得到文件密钥,则通知权限认证模块认证不通过,否则认证通过,解密得到文件密钥。接着,文件加解密模块利用该文件密钥解密文件密文得到文件明文。
第二方面,本申请实施例提供了一种文件访问权限认证方法,所述方法适用于电子设备,该方法包括:电子设备接收文件访问请求,该文件访问请求用于请求访问电子设备中的第一文件,然后电子设备获取该文件访问请求的第一进程标识,并确定与第一进程标识对应的第一固定身份信息,接着利用所述第一固定身份信息解密文件密钥密文,当解密成功时,则确定所述文件访问请求认证通过;当解密失败时,确定所述文件访问请求认证失败。其中,所述文件密钥密文是用于加密所述第一文件的文件密钥的密文。
本申请实施例中通过上述方法,文件系统可以对文件访问请求进行权限认证,即使恶意应用将固定身份信息进行了篡改,也会在文件密钥密文解密这一过程被监测出固定身份信息被篡改,导致认证失败。该方法可以有效地完善当前的文件系统访问机制,再结合沙箱机制有效地保护隐私安全。且这一文件访问权限认证过程并不需要用户参与,对用户是不可见的,所以既提高了系统安全,也有效地简化用户操作,提高了用户体验。
第三方面,本申请实施例提供一种电子设备,包括处理器和存储器。其中,存储器用于存储一个或多个计算机程序;当存储器存储的一个或多个计算机程序被处理器执行时,使得该电子设备能够实现上述任一方面的任意一种可能的设计的方法。
第四方面,本申请实施例还提供一种装置,该装置包括执行上述任一方面的任意一种可能的设计的方法的模块/单元。这些模块/单元可以通过硬件实现,也可以通过硬件执行相应的软件实现。
第五方面,本申请实施例中还提供一种计算机可读存储介质,所述计算机可读存储介质包括计算机程序,当计算机程序在电子设备上运行时,使得所述电子设备执行上述任一方面的任意一种可能的设计的方法。
第六方面,本申请实施例还提供一种包含计算机程序产品,当所述计算机程序产品在终端上运行时,使得所述电子设备执行上述任一方面的任意一种可能的设计的方法。
本申请的这些方面或其他方面在以下实施例的描述中会更加简明易懂。
附图说明
图1为本申请实施例提供的一种互联场景示意图;
图2为本申请实施例提供的一种手机的结构示意图;
图3为本申请实施例提供的安卓操作系统结构示意图;
图4a至图4c为本申请实施例提供的一组文件访问模块的交互示意图;
图5为本申请实施例提供的一种文件访问权限认证方法流程示意图;
图6为本申请实施例提供的另一种文件访问权限认证方法流程示意图;
图7为本申请实施例提供的文件结构示意图;
图8a至图8c为本申请实施例提供的一组密钥保护层级示意图;
图9为本申请实施例提供的一种电子设备结构示意图。
具体实施方式
为了便于理解,示例的给出了部分与本申请实施例相关概念的说明以供参考。
文件系统(file system,FS)是存储和组织计算机文件和数据的方法。文件系统的种类繁多,有基于对象的文件系统;有基于日志的文件系统。
沙箱(Sandbox)机制是一种程序的隔离运行机制,在安卓操作系统中,应用通常都在一个独立的沙箱中运行,即每一个应用程序都在它自己的进程中运行,都拥有一个独立的虚拟机实例。
应用程序的固定身份信息是应用程序的一种固定标识,固定身份信息可以是应用程序的程序包的包名或签名,也可以应用程序的通用唯一识别码(universally uniqueidentifier,uuid),一般地,可以用来标识应用程序的固定属性的参数均可以作为固定身份信息。例如,微信应用的包名(packagename)是com.android.weixin,微信应用的签名(signature)是184afda9653afe。
文件系统主密钥,用于对文件密钥进行加密,或者用于生成文件密钥,存储于可信执行环境(trusted execution environment,TEE)中,当然文件系统主密钥也允许存储在TEE外,本申请不作限制。一般地,文件系统主密钥同时被硬件密钥、锁屏密钥两个因子保护,使得手机开机输入锁屏密码之前,手机中的文件无法解密。
文件密钥,用于对文件进行加密。加密算法包括3DES,AES等,加密模式包括ECB,CBC等,还可以使用其它加密算法或者加密模式,此处不做限定。
如背景技术所述,当前手机的沙箱机制仍然存在安全隐患。例如图1所示的场景中,手机100通过数据线连接其它电子设备200,该其它电子设备200可以是公共充电宝或者公共电脑。其它电子设备200中可能存在恶意应用或者非法程序,当手机连接公共充电宝进行充电时,或者当手机连接公共的PC(个人电脑)充电或者传输数据时,手机均有可能遭受到非法攻击。假设公共充电宝或者公共PC中的恶意应用或者非法程序攻击手机,获得最高访问权限,即root(根)权限,当恶意应用或者非法程序向手机的文件系统发送文件访问请求时,文件系统仅通过root权限认证该文件访问请求是合法请求,因此恶意应用或者非法程序可以从文件系统中获取文件,导致发生隐私泄露。例如恶意应用成功获取手机微信应用中的图片,或者是恶意应用成功获取通讯录应用中的电话本。
为此,本申请实施例提供一种文件访问权限认证方法,该方法通过结合利用手机应用自身的固定身份信息,利用固定身份信息对文件访问请求的访问权限进行认证。认证方法可以是通过判断访问请求中的进程标识对应的固定身份信息,是否与被访问的文件的合法固定身份信息一致,若一致,则认证通过,文件系统解密该文件,否则认证不通过。这样,当恶意应用对其它应用的文件进行文件访问时,文件系统会对该文件访问请求进行认证,因认证不通过,所以拒绝恶意应用的访问,因此达到对文件系统中的文件进行安全访问的目的,提高了系统的安全性。
本申请实施例所提供的一种文件访问权限认证方法可应用于手机、平板电脑、桌面型、膝上型、笔记本电脑、超级移动个人计算机(ultra-mobile personal computer,UMPC)、手持计算机、上网本、个人数字助理(personal digital assistant,PDA)、可穿戴电子设备、虚拟现实设备等电子设备中,本申请实施例对此不做任何限制。
以电子设备是手机为例,图2示出了手机的结构示意图。
手机可以包括处理器110,外部存储器接口120,内部存储器121,USB接口130,充电管理模块140,电源管理模块141,电池142,天线1,天线2,移动通信模块150,无线通信模块160,音频模块170,扬声器170A,受话器170B,麦克风170C,耳机接口170D,传感器模块180,按键190,马达191,指示器192,摄像头193,显示屏194,以及SIM卡接口195等。其中传感器模块180可以包括陀螺仪传感器,加速度传感器,接近光传感器、指纹传感器等(图中未示出)。
可以理解的是,本发明实施例示意的结构并不构成对手机100的具体限定。在本申请另一些实施例中,手机100可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件,软件或软件和硬件的组合实现。
处理器110可以包括一个或多个处理单元,例如:处理器110可以包括应用处理器(application processor,AP),调制解调处理器,图形处理器(graphics processingunit,GPU),图像信号处理器(image signal processor,ISP),控制器,存储器,视频编解码器,数字信号处理器(digital signal processor,DSP),基带处理器,和/或神经网络处理器(Neural-network Processing Unit,NPU)等。其中,不同的处理单元可以是独立的器件,也可以集成在一个或多个处理器中。其中,控制器可以是手机100的神经中枢和指挥中心。控制器可以根据指令操作码和时序信号,产生操作控制信号,完成取指令和执行指令的控制。
处理器110中还可以设置存储器,用于存储指令和数据。在一些实施例中,处理器110中的存储器为高速缓冲存储器。该存储器可以保存处理器110刚用过或循环使用的指令或数据。如果处理器110需要再次使用该指令或数据,可从所述存储器中直接调用。避免了重复存取,减少了处理器110的等待时间,因而提高了系统的效率。
处理器110可以运行本申请实施例提供的文件访问权限认证方法,该方法通过判断访问请求中的进程标识对应的固定身份信息,是否与被访问的文件的固定身份信息一致,若一致,则认证通过,文件系统解密该文件,否则认证不通过。当处理器110集成不同的器件,比如集成CPU和GPU时,CPU和GPU可以配合执行本申请实施例提供的文件访问权限认证方法,比如方法中部分算法由CPU执行,另一部分算法由GPU执行,以得到较快的处理效率。
显示屏194用于显示图像,视频等。显示屏194包括显示面板。显示面板可以采用液晶显示屏(liquid crystal display,LCD),有机发光二极管(organic light-emittingdiode,OLED),有源矩阵有机发光二极体或主动矩阵有机发光二极体(active-matrixorganic light emitting diode的,AMOLED),柔性发光二极管(flex light-emittingdiode,FLED),Miniled,MicroLed,Micro-oLed,量子点发光二极管(quantum dot lightemitting diodes,QLED)等。在一些实施例中,手机100可以包括1个或N个显示屏194,N为大于1的正整数。
在本申请实施例中,显示屏可以利用图形用户界面对文件系统访问的安全性显示提示信息,例如提醒用户当前电话本信息被非法访问,请断开数据线连接。
摄像头193(前置摄像头或者后置摄像头)用于捕获静态图像或视频。通常,摄像头193可以包括感光元件比如镜头组和图像传感器,其中,镜头组包括多个透镜(凸透镜或凹透镜),用于采集待拍摄物体反射的光信号,并将采集的光信号传递给图像传感器。图像传感器根据所述光信号生成待拍摄物体的原始图像。
内部存储器121可以用于存储计算机可执行程序代码,所述可执行程序代码包括指令。处理器110通过运行存储在内部存储器121的指令,从而执行手机100的各种功能应用以及数据处理。内部存储器121可以包括存储程序区和存储数据区。其中,存储程序区可存储操作系统,应用程序(比如相机应用,微信应用等)的代码等。存储数据区可存储手机100使用过程中所创建的数据(比如相机应用采集的图像、视频、电话本)等。
此外,内部存储器121可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件,闪存器件,通用闪存存储器(universal flash storage,UFS)等。
示例性的,手机100的显示屏194显示主界面,主界面中包括多个应用(比如相机应用、微信应用等)的图标。用户通过触摸传感器180K点击主界面中相机应用的图标,触发处理器110启动相机应用,打开摄像头193。显示屏194显示相机应用的界面,例如取景界面。
手机100的无线通信功能可以通过天线1,天线2,移动通信模块151,无线通信模块152,调制解调处理器以及基带处理器等实现。
天线1和天线2用于发射和接收电磁波信号。手机100中的每个天线可用于覆盖单个或多个通信频带。不同的天线还可以复用,以提高天线的利用率。例如:可以将天线1复用为无线局域网的分集天线。在另外一些实施例中,天线可以和调谐开关结合使用。
移动通信模块151可以提供应用在手机100上的包括2G/3G/4G/5G等无线通信的解决方案。移动通信模块151可以包括至少一个滤波器,开关,功率放大器,低噪声放大器(lownoise amplifier,LNA)等。移动通信模块151可以由天线1接收电磁波,并对接收的电磁波进行滤波,放大等处理,传送至调制解调处理器进行解调。移动通信模块150还可以对经调制解调处理器调制后的信号放大,经天线1转为电磁波辐射出去。在一些实施例中,移动通信模块151的至少部分功能模块可以被设置于处理器110中。在一些实施例中,移动通信模块151的至少部分功能模块可以与处理器110的至少部分模块被设置在同一个器件中。
调制解调处理器可以包括调制器和解调器。其中,调制器用于将待发送的低频基带信号调制成中高频信号。解调器用于将接收的电磁波信号解调为低频基带信号。随后解调器将解调得到的低频基带信号传送至基带处理器处理。低频基带信号经基带处理器处理后,被传递给应用处理器。应用处理器通过音频设备(不限于扬声器170A,受话器170B等)输出声音信号,或通过显示屏194显示图像或视频。在一些实施例中,调制解调处理器可以是独立的器件。在另一些实施例中,调制解调处理器可以独立于处理器110,与移动通信模块150或其他功能模块设置在同一个器件中。
无线通信模块152可以提供应用在手机100上的包括无线局域网(wireless localarea networks,WLAN)(如无线保真(wireless fidelity,Wi-Fi)网络),蓝牙(bluetooth,BT),全球导航卫星系统(global navigation satellite system,GNSS),调频(frequencymodulation,FM),近距离无线通信技术(near field communication,NFC),红外技术(infrared,IR)等无线通信的解决方案。无线通信模块152可以是集成至少一个通信处理模块的一个或多个器件。无线通信模块152经由天线2接收电磁波,将电磁波信号调频以及滤波处理,将处理后的信号发送到处理器110。无线通信模块152还可以从处理器110接收待发送的信号,对其进行调频,放大,经天线2转为电磁波辐射出去。
另外,手机100可以通过音频模块170,扬声器170A,受话器170B,麦克风170C,耳机接口170D,以及应用处理器等实现音频功能。例如音乐播放,录音等。手机100可以接收按键190输入,产生与手机100的用户设置以及功能控制有关的键信号输入。手机100可以利用马达191产生振动提示(比如来电振动提示)。手机100中的指示器192可以是指示灯,可以用于指示充电状态,电量变化,也可以用于指示消息,未接来电,通知等。手机100中的SIM卡接口195用于连接SIM卡。SIM卡可以通过插入SIM卡接口195,或从SIM卡接口195拔出,实现和手机100的接触和分离。
应理解,在实际应用中,手机100可以包括比图1所示的更多或更少的部件,本申请实施例不作限定。
本申请实施例所适用的电子设备的软件系统可以采用分层架构,事件驱动架构,微核架构,微服务架构,或云架构。本申请实施例以分层架构的Android(安卓)系统为例,示例性说明电子设备的软件结构。
图3是本申请实施例的手机100的软件结构框图。
分层架构将软件分成若干个层,每一层都有清晰的角色和分工。层与层之间通过软件接口通信。在一些实施例中,将Android系统分为四层,从上至下分别为应用程序层,应用程序框架层,安卓运行时(Android runtime)和系统库,以及内核层。
应用程序层可以包括一系列应用程序包。如图3所示,应用程序包可以包括通信录,相机,图库,日历,通话,地图,导航,蓝牙,音乐,视频,短信息等应用程序。
应用程序框架层为应用程序层的应用程序提供应用编程接口(applicationprogramming interface,API)和编程框架。应用程序框架层包括一些预先定义的函数。
如图3所示,应用程序框架层可以包括窗口管理器,内容提供器,视图系统,电话管理器,资源管理器,通知管理器、包管理服务模块等。
窗口管理器用于管理窗口程序。窗口管理器可以获取显示屏大小,判断是否有状态栏,锁定屏幕,截取屏幕等。
内容提供器用来存放和获取数据,并使这些数据可以被应用程序访问。所述数据可以包括视频,图像,音频,拨打和接听的电话,浏览历史和书签,电话簿等。
视图系统包括可视控件,例如显示文字的控件,显示图片的控件等。视图系统可用于构建应用程序。显示界面可以由一个或多个视图组成的。例如,包括短信通知图标的显示界面,可以包括显示文字的视图以及显示图片的视图。
电话管理器用于提供手机100的通信功能。例如通话状态的管理(包括接通,挂断等)。
资源管理器为应用程序提供各种资源,比如本地化字符串,图标,图片,布局文件,视频文件等等。
通知管理器使应用程序可以在状态栏中显示通知信息,可以用于传达告知类型的消息,可以短暂停留后自动消失,无需用户交互。比如通知管理器被用于告知下载完成,消息提醒等。通知管理器还可以是以图表或者滚动条文本形式出现在系统顶部状态栏的通知,例如后台运行的应用程序的通知,还可以是以对话窗口形式出现在屏幕上的通知。例如在状态栏提示文本信息,发出提示音,电子设备振动,指示灯闪烁等。
包管理服务模块,用于在应用启动时,获取应用的固定身份信息,例如应用的包名和签名等。
Android Runtime包括核心库和虚拟机。Android runtime负责安卓系统的调度和管理。
核心库包含两部分:一部分是java语言需要调用的功能函数,另一部分是安卓的核心库。
应用程序层和应用程序框架层运行在虚拟机中。虚拟机将应用程序层和应用程序框架层的java文件执行为二进制文件。虚拟机用于执行对象生命周期的管理,堆栈管理,线程管理,安全和异常的管理,以及垃圾回收等功能。
系统库可以包括多个功能模块。例如:表面管理器(surface manager),媒体库(Media Libraries),三维图形处理库(例如:OpenGL ES),2D图形引擎(例如:SGL)等。
表面管理器用于对显示子系统进行管理,并且为多个应用程序提供了2D和3D图层的融合。
媒体库支持多种常用的音频,视频格式回放和录制,以及静态图像文件等。媒体库可以支持多种音视频编码格式,例如:MPEG4,H.264,MP3,AAC,AMR,JPG,PNG等。
三维图形处理库用于实现三维图形绘图,图像渲染,合成,和图层处理等。2D图形引擎是2D绘图的绘图引擎。
内核层是硬件和软件之间的层。内核层至少包含显示驱动,摄像头驱动,音频驱动,传感器驱动等,本申请实施例对此不做任何限制。
在本申请实施例中,内核层还包括文件系统(例如F2FS),其中,文件系统中包括文件加解密模块,该模块用于对文件进行加密和解密。
另外,在本申请实施例中,内核层还包括权限认证模块和身份管理模块。
身份管理模块用于从包管理服务模块获取应用的合法固定身份信息,建立合法固定身份信息与文件标识之间的映射关系,以及该文件所属应用的进程标识和合法固定身份信息之间的对应关系。之所以身份管理模块需要生成上述对应关系,是因为受操作系统的分层结构制约,文件系统处于内核层,无法直接从应用层获取应用的合法固定身份信息,因此需要身份管理模块存储这一对应关系。需要说明的是,合法固定身份信息指的是应用本身的固定身份信息,是从包管理服务模块获取的。本申请实施例中,合法固定身份信息被保存在身份管理模块,有可能会被恶意应用篡改,但文件系统仍会把篡改后的固定身份信息看作合法固定身份信息,用于对访问权限的认证。本申请实施例中的合法固定身份信息可以是由包名、签名和uuid中的全部或者部分拼接组成的,或者对包名、签名和uuid中的全部或者部分进行哈希运算得到的。例如,本申请实施例中微信应用的合法固定身份信息可以是微信应用的包名与签名的拼接,即com.android.weixin184afda9653afe。再比如,微信应用的固定身份信息可以对微信应用的包名与签名进行哈希运算的结果,即HASH(com.android.weixin184afda9653afe)。
权限认证模块用于判断当前访问文件的文件访问请求的进程标识所对应的合法固定身份信息,是否与该文件对应的合法固定身份信息一致,若一致,则认证通过,否则认证不通过。
在本申请实施例中,内核层还可以包括密钥加解密模块,密钥加解密模块用于利用合法固定身份信息将文件密钥加密生成文件密钥密文,该文件密钥密文被存储在文件密文的头部。当权限认证模块认证通过之后,密钥加解密模块利用访问文件的文件访问请求的进程标识所对应的第一固定身份信息解密该文件密钥密文,若无法解密得到文件密钥,则通知权限认证模块认证不通过,否则认证通过,解密得到文件密钥。接着,文件加解密模块利用该文件密钥解密文件密文得到文件明文。
阶段1
示例性地,如图4a和图4b所示,第一应用程序或者第二应用程序在启动时,身份管理模块通过包管理服务模块获取应用的合法固定身份信息,然后建立应用的合法固定身份信息和应用所属的进程标识之间的第一对应关系。另外,当第一应用程序向文件系统发送创建文件指令时,身份管理模块获取被创建的文件的标识,并建立该文件与合法固定身份信息之间的第二对应关系。
需要说明的是,第二对应关系可以以映射表的形式存储在身份管理模块中,也可以直接在所创建的文件的头部添加固定身份信息,以实现二者的对应。
接着,密钥加解密模块从身份管理模块获取合法固定身份信息,然后利用该合法固定身份信息对创建的文件的文件密钥进行加密,得到文件密钥密文。文件系统加解密模块利用文件密钥对创建的文件进行加密,生成文件密文,其中文件密文的头部携带有合法固定身份信息、文件密钥密文。然后文件加解密模块将加密后的文件密文保存在存储介质中。
阶段2
示例性地,如图4c所示,当第二应用程序启动时,身份管理模块从包服务管理模块获取第二应用程序的固定身份信息和获取该应用的进程标识,并建立第二应用程序的固定身份信息和进程标识的对应关系。当第二应用程序向内核层的文件系统发送文件访问请求时,权限认证模块先从身份管理模块中查找确定与该文件访问请求的进程标识对应的固定身份信息,以及从身份管理模块中查找与被访问的文件的标识对应的合法固定身份信息,若两个固定身份信息一致,则认证通过,否则认证不通过。然后将认证结果发送至文件加解密模块,由文件加解密模块确定是否解密文件。一种情况是,认证通过,文件系统加解密模块从存储介质中获取文件密文,并利用文件密钥解密文件密文,得到文件明文。另一种情况是,认证失败,文件系统加解密模块拒绝解密文件。
在一种可能的实施例中,文件加解密模块还可以在加密后的文件密文中携带该文件的合法固定身份信息,当文件系统接收到文件访问请求时,权限认证模块先从身份管理模块中查找第一对应关系确定与该文件访问请求的进程标识对应的第一固定身份信息,然后将该第一固定身份信息与从存储介质中获取的文件密文中的固定身份信息进行匹配,若匹配成功,则认证通过,否则认证不通过。
在一种可能的实施例中,密钥加解密模块可以从身份管理模块查找与被访问文件对应的合法固定身份信息,利用该合法固定身份信息对该文件的文件密钥进行加密,得到文件密钥密文,并将该文件密钥密文存储在文件密文的头部。若权限认证模块认证通过,密钥加解密模块先调用该文件访问请求的进程标识对应的第一固定身份信息解密文件密钥,若无法解密,则通知权限认证模块认证失败,否则解密得到文件密钥,接着,文件加解密模块利用该文件密钥解密文件密文。
需要说明的是,权限认证模块和身份管理模块可以独立于文件系统,也可以与文件加解密模块和密钥加解密模块一起集成在文件系统中。如图4a所示,权限认证模块的功能和身份管理模块的功能分别在不同的模块中实现,不同模块之间的通信属于进程间通信。另外权限认证模块的功能和身份管理模块的功能也可以集成在一个模块中实现,当集成在一个模块中,对固定身份信息的调用则属于进程内通信。
基于图3所示的软件结构,本申请实施例提供一种文件访问权限认证方法,参见图5所示的流程,该方法是由电子设备执行,该方法包括如下步骤。
步骤501,电子设备接收文件访问请求,该文件访问请求用于请求访问电子设备中的第一文件。
结合图4a来说,电子设备的文件系统接收来自应用层中的第二应用程序模块的文件访问请求,该第二应用程序可能是被访问的文件所属的应用程序,也可能是电子设备所连接的其它电子设备中的恶意应用。
步骤502,电子设备获取该文件访问请求的第一进程标识,并确定与第一进程标识对应的第一固定身份信息。
需要说明的是,电子设备的操作系统在接收到文件访问请求时,会自动为该请求分配唯一的第一进程标识。且身份管理模块会从包管理服务模块获取该进程所属应用的第一固定身份信息,并生成该第一进程标识和第一固定身份信息之间的映射关系。因此,内核层中的权限认证模块可以从身份管理模块中查找到与第一进程标识对应的第一固定身份信息。
步骤503,电子设备判断第一固定身份信息与第一文件对应的合法固定身份信息是否一致。
具体地,第一种可能的实现是,文件系统中的权限认证模块先从身份管理模块中获取该第一文件对应的合法固定身份信息,然后二者进行比较。第二种可能的实现是,文件系统从存储介质中获取第一文件的密文,其中第一文件的密文头部中携带有合法固定身份信息,因此权限认证模块先从密文头部获取合法固定身份信息,然后将第一固定身份信息与合法固定身份信息进行比较。
步骤504,当二者不一致时,电子设备则确定该文件访问请求认证不通过。
也就是说,若第一固定身份信息与合法固定身份信息匹配不成功,则说明该文件访问请求可能是来自恶意应用或者非法程序,因此文件系统中的文件加解密模块拒绝解密文件。
步骤505,当二者一致时,电子设备则确定该文件访问请求认证通过。
之后,在一种可能实现中,文件系统的文件加解密模块可以从存储介质中获取第一文件的密文,并利用文件密钥解密该密文,得到第一文件,进而将第一文件反馈至发送文件访问请求的一侧。在第二种可能的实现中,文件系统的文件加解密模块利用文件密钥解密该密文,得到第一文件,进而将第一文件反馈至发送文件访问请求的一侧。
考虑到,恶意应用可能会把文件密文头部的合法固定身份信息篡改为恶意应用自身对应的第一固定身份信息,或者是,恶意应用可能会把身份管理模块中与第一文件对应的合法固定身份信息篡改为恶意应用自身对应的第一固定身份信息,这样就导致上述认证方法失效。因此在另一种可能的实施例中,当二者一致时,电子设备还可以继续执行步骤506至步骤507,也就是执行第二次认证,具体步骤如下。
步骤506,电子设备利用第一固定身份信息解密第一文件的文件密钥密文。
也就是说,密钥加解密模块预先已利用第一文件的合法固定身份信息,以及文件系统主密钥对第一文件密钥进行加密,生成文件密钥密文,其中,第一文件的密文中携带有该文件密钥密文。当第一固定身份信息与合法固定身份信息匹配成功之后,密钥加解密模块继续利用第一固定身份信息和文件系统密钥去解密第一文件的头部的文件密钥密文。
步骤507,电子设备判断解密是否成功,若不成功,则返回执行步骤504,若成功,则执行步骤508。
步骤508,当解密成功,电子设备利用解密得到的文件密钥去解密第一文件的密文,得到第一文件。
如下以手机运行微信运行为例,举例说明上述文件访问权限认证过程。
需要说明的是,在微信应用接收文件访问请求之前,需要先执行如下过程。
微信应用启动时,身份管理模块通过包管理服务模块获取微信应用的合法固定身份信息(假设是com.android.weixin184afda9653afe),建立微信应用的进程标识和合法固定身份信息之间的第一对应关系。例如表1所示。
表1
进程标识 固定身份信息
1111 com.android.weixin184afda9653afe
另外,一种实施例中,当微信应用创建第一文件时(例如保存图片),身份管理模块获取文件的标识,并建立第一文件的标识和该文件所属微信应用的合法固定身份信息之间的第二对应关系。例如表2所示。
表2
文件标识 固定身份信息
aaa com.android.weixin184afda9653afe
另一种实施例中,当微信应用创建第一文件时(例如保存图片),身份管理模块获取文件所属微信应用的合法固定身份信息,然后将该合法固定身份信息插入到第一文件的密文的头部。例如文件结构如表3所示。
表3
文件头 文件体
合法固定身份信息 第一文件的密文内容
另一种实施例中,微信应用创建第一文件时(例如保存图片),身份管理模块获取文件所属微信应用的合法固定身份信息,然后将该合法固定身份信息插入到第一文件的密文的头部。另外,密钥加解密模块利用文件系统主密钥和固定身份信息加密文件密钥,得到文件密钥密文,并将文件密钥密文保存在文件的密文头部。例如文件结构如表4所示。
表4
进一步地,微信应用接收文件访问请求之后,可能存在如下几种认证场景。
场景一
文件系统获取文件访问请求的第一进程标识,例如是1111,然后通过身份管理模块查找与之对应的第一固定身份信息是com.android.weixin184afda9653afe,因此将该第一固定身份信息与表2中被访问的第一文件对应的合法固定身份信息比较,因一致,所以认证通过。或者将第一固定身份信息与第一文件的密文的头部中的合法固定身份信息比较,因一致,所以认证通过。
场景二
文件系统获取文件访问请求的第一进程标识,例如是2222,然后通过身份管理模块查找与之对应的第一固定身份信息是空(NULL),因此将该的第一固定身份信息与表2中被访问的第一文件对应的合法固定身份信息比较,因不一致,所以认证不通过。或者将该第一固定身份信息与第一文件的密文的头部中的合法固定身份信息比较,因不一致,所以认证不通过。
场景三
假设文件访问请求来自恶意应用,该恶意应用将微信的第一文件的密文的头部中的合法固定身份信息直接篡改为恶意应用自身的第一固定身份信息(例如改为空)。这样文件系统获取文件访问请求的第一进程标识,例如是2222,然后通过身份管理模块查找与之对应的第一固定身份信息是空(NULL),因此将该第一固定身份信息与当前第一文件对应的合法固定身份信息比较,发现二者一致。进一步地文件加解密模块利用第一固定身份信息对第一文件的密文的头部中的文件密钥密文进行解密,发现解密失败,因此通知权限认证模块认证失败,拒绝对第一文件的密文进行解密。或者,文件加解密模块在解密文件密钥密文时监测所使用的固定身份信息与第一固定身份信息是否一致,若不同,则通知权限认证模块认证失败,拒绝对第一文件的密文进行解密。
可见,通过上述方法,文件系统可以对文件访问请求进行权限认证,当文件访问请求是来自文件所属应用时,才能给完成与文件对应的合法固定身份信息的匹配,即使恶意应用将文件的合法固定身份信息进行了篡改,也会在文件密钥密文解密这一过程被监测出合法固定身份信息被篡改,导致认证失败。该方法可以有效地完善当前的文件系统访问机制,再结合沙箱机制有效地保护隐私安全。且这一文件访问权限认证过程并不需要用户参与,对用户是不可见的,所以既提高了系统安全,也有效地简化用户操作,提高了用户体验。
本申请实施例提供另一种文件访问权限认证方法,参见图6所示的流程,该方法是由电子设备执行,该方法包括如下步骤。
步骤601,电子设备接收文件访问请求,该文件访问请求用于请求访问电子设备中的第一文件。
结合图4a来说,电子设备的文件系统接收来自应用层中的第二应用程序模块的文件访问请求,该第二应用程序可能是被访问的文件所属的应用程序,也可能是电子设备所连接的其它电子设备中的恶意应用。
步骤602,电子设备获取该文件访问请求的第一进程标识,并确定与第一进程标识对应的第一固定身份信息。
需要说明的是,电子设备的操作系统在接收到文件访问请求时,会自动为该请求分配唯一的第一进程标识。且身份管理模块会从包管理服务模块获取该进程所属应用的第一固定身份信息,并生成该第一进程标识和第一固定身份信息之间的映射关系。因此,内核层中的权限认证模块可以从身份管理模块中查找到与第一进程标识对应的第一固定身份信息。
步骤603,电子设备利用第一固定身份信息解密文件密钥密文。
其中,电子设备预先会利用文件密钥加密第一文件,且利用第一文件对应的合法固定身份信息和系统主密钥加密文件密钥,生成文件密钥密文,并将文件密钥密文和合法固定身份信息保存在第一文件的密文的头部。
具体地,文件系统中的密钥加解密模块利用第一固定身份信息解密第一文件的密文中文件密钥密文,若第一固定身份信息与第一文件对应的固定身份信息一致,则按照预设的解密算法可以解密成功,否则解密失败。
步骤604,电子设备判断解密是否成功,若不成功,则执行步骤605,否则执行步骤606。
即文件系统中的密钥加解密模块判断利用第一固定身份信息和其它密钥参数(例如文件系统主密钥和随机参数)解密文件密钥密文是否成功。
步骤605,若解密不成功,则确定该文件访问请求认证不通过。
也就是说,解密不成功说明第一固定身份信息与第一文件的合法固定身份信息不一致,则说明该文件访问请求可能是来自恶意应用或者非法程序,因此文件系统中的文件加解密模块拒绝解密文件。
步骤606,若解密成功,则确定该文件访问请求认证通过。
也就是说,解密成功说明第一固定身份信息与第一文件的合法固定身份信息一致,则说明该文件访问请求可能是来第一文件所属应用。之后,文件系统的文件加解密模块利用文件密钥解密该密文,得到第一文件,进而将第一文件反馈至发送文件访问请求的一侧。
如下仍以手机运行微信为例,举例说明上述文件访问权限认证过程。
需要说明的是,在微信应用接收文件访问请求之前,需要先执行如下过程。
微信应用启动时,身份管理模块通过包管理服务模块获取微信应用的合法固定身份信息(假设是com.android.weixin184afda9653afe),建立微信应用的进程标识和合法固定身份信息之间的第一对应关系。例如表1所示。
另外,当微信应用创建第一文件时(例如保存图片)时,密钥加解密模块从身份管理模块获取文件所属微信应用的合法固定身份信息和文件系统主密钥,利用文件系统主密钥和固定身份信息对第一文件的文件密钥进行加密,得到文件密钥密文。然后文件加解密模块利用文件密钥对第一文件进行加密,并将文件密钥密文和合法固定身份信息保存在第一文件的密文的头部。
进一步地,微信应用接收文件访问请求之后,可能存在如下几种认证场景。
场景一
文件系统获取文件访问请求的第一进程标识,例如是1111,然后通过身份管理模块查找与之对应的合法固定身份信息是com.android.weixin184afda9653afe,因此将利用该合法固定身份信息以及其它密钥参数(例如文件系统主密钥、随机参数),按照预设的密钥解密算法对第一文件的密文的头部的文件密钥密文进行解密,并且解密成功,密钥加解密模块通知权限认证模块认证通过。
场景二
文件系统获取文件访问请求的第一进程标识,例如是2222,然后通过身份管理模块查找与之对应的第一固定身份信息是com.android.hook184afda9653afe(NULL),因此将利用该第一固定身份信息以及其它密钥参数(例如文件系统主密钥、随机参数),按照预设的密钥解密算法对第一文件的密文的头部的文件密钥密文进行解密,因第一固定身份信息与表1中加密文件密钥的固定身份信息不同,所以解密失败,密钥加解密模块通知权限认证模块认证不通过。
可见,通过上述方法,文件系统可以对文件访问请求进行权限认证,当文件访问请求的进程标识所对应的第一固定身份信息无法完成文件密钥密文的解密时,将导致认证失败。该方法可以完善当前的文件系统访问机制,再结合沙箱机制可以有效地保护文件安全。且这一文件访问权限认证过程并不需要用户参与,对用户是不可见的,所以既提高了系统安全,也有效地简化用户操作,提高了用户体验。
本申请实施例中,一方面,密钥加解密模块可以采用密钥参数和预设的密钥加密算法,对文件密钥进行加密,得到文件密钥密文。例如,文件密钥密文=ENC-AEAD(文件系统主密钥,文件密钥,应用固定身份信息)。其中ENC-AEAD为认证加密类方法的统称,包括不限于,AES-GCM,AES-CCM,AES加密与HMAC认证的组合应用。
以AES-GCM算法为例,算法原型参数为:密文=AES-GCM-ENC(密钥,明文,AAD,IV)。在本申请实施例中,该算法中的密钥可以指的是文件系统主密钥;明文指的是文件密钥;AAD指的是固定身份信息;IV指的是指定的随机数(例如16byte长的随机数)。而密文即文件密钥密文。当然,本申请实施例也可以使用其他认证加密算法,如AES-CCM,AES-CBC+HMAC,原理类似,此处不再一一列举。
可见,按照上述方法所生成的文件密钥密文是固定身份信息绑定的,如果在解密时使用的固定身份信息并非加密时所使用的固定身份信息,将无法解密该文件密钥密文。
另外,本申请实施例中,文件系统可以将文件密钥密文和密钥参数(随机数参数、固定身份信息)写入文件的头部(metadata),Metadata与文件密钥加密所生成的文件密文内容组成文件密文。如图7所示。
另一方面,密钥加解密模块可以采用密钥参数和预设的密钥解密算法,对文件密钥密文进行解密,得到文件密钥(明文)。即密钥加解密模块先从可信执行环境中获取文件系统主密钥,然后结合利用文件头部的密钥参数对文件密钥密文进行解密。例如,文件密钥=DEC-AEAD(文件系统主密钥,文件密钥密文,固定身份信息)。其中ENC-AEAD为认证加密类方法的统称,包括不限于,AES-GCM,AES-CCM,AES-HMAC。
以AES-GCM算法为例,算法原型参数为:明文=AES-GCM-DEC(密钥,密文,AAD,IV)。其中,在本申请实施例中,该算法中的密钥可以指的是文件系统主密钥;密文指的是从文件头部获取的文件密钥密文;AAD为固定身份信息(可以是从文件头部获取的,也可以文件访问请求的进程标识所对应的固定身份信息);IV指的是从文件头部获取的随机数。
基于上述方法,因文件密钥的加解密过程与固定身份信息绑定,所以即使文件头部的固定身份信息被篡改,也会因无法解密文件密钥密文,导致该文件访问请求认证失败。
需要说明的是,用于加密文件的文件密钥可能是一个,也可能是多个,本申请实施例可以对用于加密该文件中的任意一个或者多个文件密钥进行加密。具体来说,常用的密钥层级可能有如下几种,示例如下。
如图8a所示,文件系统主密钥即作为文件密钥,文件系统主密钥被用来加密文件系统中的各个文件。针对这一示例,密钥加解密模块可以采用固定参数信息和预设的密钥加密算法,对文件系统主密钥进行加密,得到文件密钥密文。
如图8b所示,有一个文件系统主密钥,每个文件均有一个对应的文件密钥,文件密钥用来加密对应的文件,文件系统主密钥用来加密文件密钥。也就是说,文件密钥1用来加密文件1,文件密钥2用来加密文件2,文件密钥n用来加密文件n,文件系统主密钥则用来加密文件密钥1、文件密钥2等等。针对这一示例,密钥加解密模块可以采用固定参数信息、文件系统主密钥和预设的密钥加密算法,对文件密钥进行加密,得到文件密钥密文。
如图8c所示,有一个文件系统主密钥,每个文件均有两个对应的文件密钥,文件密钥用来加密对应的文件,中间密钥用来加密文件密钥,文件系统主密钥用来加密中间密钥。也就是说,文件密钥1用来加密文件1,文件密钥2用来加密文件2,文件密钥n用来加密文件n,中间密钥1用来加密文件密钥1,中间密钥2用来加密文件密钥2,中间密钥n用来加密文件密钥n,文件系统主密钥则用来加密中间密钥1、中间密钥2等等。针对这一示例,密钥加解密模块可以采用固定参数信息、文件系统主密钥和预设的密钥加密算法,对中间密钥或者文件密钥进行加密,得到文件密钥密文。需要说明是,中间密钥还可以有多个层级,利用中间密钥1的下一级别是中间密钥11,中间密钥11再对文件密钥1进行加密,另外,中间密钥和下一层级密钥也可以不限定为1对1的关系,例如可以有n个中间密钥,m个下一级中间密钥(或m个文件密钥),其中n可以小于m,n中的一个密钥可以加密m中的多个密钥,此处不再一一列举。
本申请实施例中还提供一种生成文件密钥的方法,在该方法中,文件系统利用固定身份信息、文件系统主密钥和预设的派生算法,生成文件密钥。例如,KDF(文件系统主密钥,应用固定身份)=文件密钥,其中KDF为派生算法的统称,例如HKDF,NIST800-108HMACKDF,此处不做限制。该生成文件密钥的方法也可以用于生成上述示例的密钥层级的任意一层的中间密钥。该方法中用来生成文件密钥的固定身份信息、文件系统主密钥不易被获取,可提高生成的文件密钥的安全性。
如图9所示,本申请实施例公开了一种电子设备,包括:触摸屏901,所述触摸屏901包括触敏表面906和显示屏907;一个或多个处理器902;存储器903;通信模块908;一个或多个应用程序(未示出);以及一个或多个计算机程序904,上述各器件可以通过一个或多个通信总线905连接。其中该一个或多个计算机程序904被存储在上述存储器903中并被配置为被该一个或多个处理器902执行,该一个或多个计算机程序904包括指令,该指令可以用于执行上述实施例中的各个步骤,例如,该指令可以用于执行图5和图6中所示的各个步骤。
通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请实施例各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:快闪存储器、移动硬盘、只读存储器、随机存取存储器、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本申请实施例的具体实施方式,但本申请实施例的保护范围并不局限于此,任何在本申请实施例揭露的技术范围内的变化或替换,都应涵盖在本申请实施例的保护范围之内。因此,本申请实施例的保护范围应以所述权利要求的保护范围为准。

Claims (9)

1.一种文件访问权限认证方法,应用于电子设备,其特征在于,所述方法包括:
接收文件访问请求,所述文件访问请求用于请求访问电子设备中的第一文件;
获取所述文件访问请求的第一进程标识和确定与所述第一进程标识对应的第一固定身份信息;
将所述第一固定身份信息与所述第一文件对应的合法固定身份信息进行匹配,当匹配成功时,则确定所述文件访问请求认证通过。
2.根据权利要求1所述的方法,其特征在于,所述当匹配成功时,则确定所述文件访问请求认证通过,包括:
当匹配成功时,利用所述第一固定身份信息解密文件密钥密文,当解密成功时,则确定所述文件访问请求认证通过,其中,所述文件密钥密文是用于加密所述第一文件的文件密钥的密文。
3.根据权利要求2所述的方法,其特征在于,还包括:
当解密失败时,确定所述文件访问请求认证失败。
4.根据权利要求1或2所述的方法,其特征在于,在电子设备接收文件访问请求之前,还包括:
获取运行的应用程序的进程标识和固定身份信息,并建立所述进程标识和固定身份信息之间的对应关系,以及建立新创建的文件和固定身份信息之间的对应关系。
5.根据权利要求2所述的方法,其特征在于,在电子设备接收文件访问请求之前,还包括:
根据第一文件的固定身份信息、文件系统主密钥和预设的密钥加密算法,对所述第一文件的文件密钥进行加密,生成文件密钥密文;
并利用第一文件的文件密钥对所述第一文件进行加密,生成第一文件的密文,其中,所述第一文件的密文的头部包括合法固定身份信息和文件密钥密文;
所述电子设备将所述第一固定身份信息与所述第一文件对应的合法固定身份信息进行匹配,包括:
将所述第一固定身份信息与所述第一文件的密文头部的合法固定身份信息进行匹配。
6.一种文件访问权限认证方法,应用于电子设备,其特征在于,所述方法包括:
接收文件访问请求,所述文件访问请求用于请求访问电子设备中的第一文件;
获取所述文件访问请求的第一进程标识和确定与所述第一进程标识对应的第一固定身份信息;
利用所述第一固定身份信息解密文件密钥密文,当解密成功时,则确定所述文件访问请求认证通过,其中,所述文件密钥密文是用于加密所述第一文件的文件密钥的密文。
7.根据权利要求6所述的方法,其特征在于,还包括:
当解密失败时,确定所述文件访问请求认证失败。
8.一种电子设备,包括存储器,处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时使得所述计算机设备实现如权利要求1至7任一项所述的方法。
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质包括计算机程序,当计算机程序在电子设备上运行时,使得所述电子设备执行如权利要求1至7任一项所述的方法。
CN201910220920.7A 2019-03-22 2019-03-22 一种文件访问权限认证方法及电子设备 Pending CN110059499A (zh)

Priority Applications (4)

Application Number Priority Date Filing Date Title
CN201910220920.7A CN110059499A (zh) 2019-03-22 2019-03-22 一种文件访问权限认证方法及电子设备
PCT/CN2020/079104 WO2020192447A1 (zh) 2019-03-22 2020-03-13 一种文件访问权限认证方法及电子设备
US17/439,467 US20220156391A1 (en) 2019-03-22 2020-03-13 File access right authentication method and electronic device
EP20778010.7A EP3913516B1 (en) 2019-03-22 2020-03-13 File access authority authentication method and electronic device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910220920.7A CN110059499A (zh) 2019-03-22 2019-03-22 一种文件访问权限认证方法及电子设备

Publications (1)

Publication Number Publication Date
CN110059499A true CN110059499A (zh) 2019-07-26

Family

ID=67315897

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910220920.7A Pending CN110059499A (zh) 2019-03-22 2019-03-22 一种文件访问权限认证方法及电子设备

Country Status (4)

Country Link
US (1) US20220156391A1 (zh)
EP (1) EP3913516B1 (zh)
CN (1) CN110059499A (zh)
WO (1) WO2020192447A1 (zh)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110519380A (zh) * 2019-08-29 2019-11-29 北京旷视科技有限公司 一种数据访问方法、装置、存储介质及电子设备
CN110602121A (zh) * 2019-09-20 2019-12-20 腾讯科技(深圳)有限公司 一种网络密钥获取方法、装置和计算机可读存储介质
CN110889125A (zh) * 2019-11-15 2020-03-17 珠海豹趣科技有限公司 一种文件保护方法、装置及电子设备
WO2020192447A1 (zh) * 2019-03-22 2020-10-01 华为技术有限公司 一种文件访问权限认证方法及电子设备
WO2021129557A1 (zh) * 2019-12-23 2021-07-01 华为技术有限公司 一种文件加密方法及相关装置
CN113343253A (zh) * 2021-05-28 2021-09-03 赵飞 一种基于加密和认证机制的文件管理系统
CN115019348A (zh) * 2022-06-27 2022-09-06 北京睿家科技有限公司 一种生物特征识别处理方法、装置、系统、设备及介质
TWI783189B (zh) * 2019-11-08 2022-11-11 精品科技股份有限公司 位元鎖磁碟管理系統
CN116738485A (zh) * 2023-06-21 2023-09-12 江苏克胜集团股份有限公司 一种基于数字化信息传输的安全管理平台

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115150142A (zh) * 2022-06-24 2022-10-04 深圳市北科瑞声科技股份有限公司 一种数据访问处理方法、系统、设备及存储介质
CN115174109A (zh) * 2022-06-30 2022-10-11 中国联合网络通信集团有限公司 企业员工身份认证方法、装置、设备及存储介质
CN115758420B (zh) * 2022-11-29 2023-06-09 北京天融信网络安全技术有限公司 文件访问控制方法、装置、设备及介质
CN117371032B (zh) * 2023-10-10 2024-03-08 吉林大学 一种高效的文件访问安全方法、系统、设备及介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101719210A (zh) * 2009-12-25 2010-06-02 武汉大学 基于linux平台数字版权管理的文件使用控制方法
CN104123506A (zh) * 2013-04-28 2014-10-29 北京壹人壹本信息科技有限公司 数据访问方法、装置、数据加密、存储及访问方法、装置
WO2016046324A1 (en) * 2014-09-26 2016-03-31 British Telecommunications Public Limited Company Secure object access

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AU7707894A (en) * 1993-09-29 1995-04-18 Pumpkin House Incorporated Enciphering/deciphering device and method and enciphering/deciphering communication system
AU722463B2 (en) * 1996-10-25 2000-08-03 Gemalto Sa Using a high level programming language with a microcontroller
EP1154348B9 (en) * 2000-05-11 2007-06-13 Matsushita Electric Industrial Co., Ltd. File management apparatus
US7340603B2 (en) * 2002-01-30 2008-03-04 Sony Corporation Efficient revocation of receivers
JP4007873B2 (ja) * 2002-07-09 2007-11-14 富士通株式会社 データ保護プログラムおよびデータ保護方法
EP1715616A1 (en) * 2004-03-30 2006-10-25 Matsushita Electric Industrial Co., Ltd. Update system for cipher system
US8990561B2 (en) * 2011-09-09 2015-03-24 Microsoft Technology Licensing, Llc Pervasive package identifiers
JP5867190B2 (ja) * 2012-03-13 2016-02-24 日本電気株式会社 情報処理装置、ファイル暗号化判定方法、権限決定方法およびプログラム
CN104281814B (zh) * 2013-07-03 2018-11-02 江苏保旺达软件技术有限公司 文件防泄密系统及其工作方法
JP6292045B2 (ja) * 2014-06-16 2018-03-14 富士通株式会社 ソフトウェア情報管理プログラム、ソフトウェア情報管理装置およびソフトウェア情報管理方法
US9659170B2 (en) * 2015-01-02 2017-05-23 Senteon LLC Securing data on untrusted devices
CN104869569A (zh) * 2015-03-31 2015-08-26 小米科技有限责任公司 应用程序的网络权限控制方法及装置
US10158623B2 (en) * 2015-09-30 2018-12-18 International Business Machines Corporation Data theft deterrence
CN109923548B (zh) * 2016-10-11 2022-06-10 佰倬信息科技有限责任公司 通过监管进程访问加密数据实现数据保护的方法、系统及计算机程序产品
US11018880B2 (en) * 2017-05-03 2021-05-25 Visa International Service Association System and method for software module binding
CN108228770A (zh) * 2017-12-27 2018-06-29 青岛海信移动通信技术股份有限公司 一种应用文件来源查询的方法及装置
CN108985095B (zh) * 2018-07-05 2022-04-01 深圳市网心科技有限公司 一种非公开文件访问方法、系统及电子设备和存储介质
CN110059499A (zh) * 2019-03-22 2019-07-26 华为技术有限公司 一种文件访问权限认证方法及电子设备

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101719210A (zh) * 2009-12-25 2010-06-02 武汉大学 基于linux平台数字版权管理的文件使用控制方法
CN104123506A (zh) * 2013-04-28 2014-10-29 北京壹人壹本信息科技有限公司 数据访问方法、装置、数据加密、存储及访问方法、装置
WO2016046324A1 (en) * 2014-09-26 2016-03-31 British Telecommunications Public Limited Company Secure object access

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020192447A1 (zh) * 2019-03-22 2020-10-01 华为技术有限公司 一种文件访问权限认证方法及电子设备
CN110519380A (zh) * 2019-08-29 2019-11-29 北京旷视科技有限公司 一种数据访问方法、装置、存储介质及电子设备
CN110602121A (zh) * 2019-09-20 2019-12-20 腾讯科技(深圳)有限公司 一种网络密钥获取方法、装置和计算机可读存储介质
CN110602121B (zh) * 2019-09-20 2021-06-08 腾讯科技(深圳)有限公司 一种网络密钥获取方法、装置和计算机可读存储介质
TWI783189B (zh) * 2019-11-08 2022-11-11 精品科技股份有限公司 位元鎖磁碟管理系統
CN110889125A (zh) * 2019-11-15 2020-03-17 珠海豹趣科技有限公司 一种文件保护方法、装置及电子设备
CN110889125B (zh) * 2019-11-15 2024-01-23 珠海豹趣科技有限公司 一种文件保护方法、装置及电子设备
WO2021129557A1 (zh) * 2019-12-23 2021-07-01 华为技术有限公司 一种文件加密方法及相关装置
CN113343253A (zh) * 2021-05-28 2021-09-03 赵飞 一种基于加密和认证机制的文件管理系统
CN113343253B (zh) * 2021-05-28 2024-04-16 湖南哥禄安科技有限公司 一种基于加密和认证机制的文件管理系统
CN115019348A (zh) * 2022-06-27 2022-09-06 北京睿家科技有限公司 一种生物特征识别处理方法、装置、系统、设备及介质
CN116738485A (zh) * 2023-06-21 2023-09-12 江苏克胜集团股份有限公司 一种基于数字化信息传输的安全管理平台
CN116738485B (zh) * 2023-06-21 2023-12-05 江苏克胜集团股份有限公司 一种基于数字化信息传输的安全管理系统

Also Published As

Publication number Publication date
EP3913516B1 (en) 2024-02-14
US20220156391A1 (en) 2022-05-19
WO2020192447A1 (zh) 2020-10-01
EP3913516A1 (en) 2021-11-24
EP3913516A4 (en) 2022-04-13

Similar Documents

Publication Publication Date Title
CN110059499A (zh) 一种文件访问权限认证方法及电子设备
EP3605989B1 (en) Information sending method, information receiving method, apparatus, and system
CN105848134B (zh) 虚拟sim卡管理装置、通信终端、访问控制及管理方法
CN108964903A (zh) 密码存储方法及装置
CN111563251B (zh) 一种终端设备中私密信息的加密方法和相关装置
CN106778337A (zh) 文件保护方法、装置及终端
EP4030680A1 (en) Application processing method and related product
EP3907930B1 (en) File processing method and terminal device
CN113468606A (zh) 一种应用程序的访问方法及电子设备
WO2023061320A1 (zh) 一种设备标识符防伪造方法、装置和电子设备
CN110826097A (zh) 一种数据处理方法及电子设备
CN113821787B (zh) 一种安全认证方法及电子设备
CN114756849B (zh) 一种验证个人身份识别码pin码的方法和装置
KR20240045262A (ko) 컴퓨팅 디바이스의 데이터 복구
CN112528311B (zh) 数据管理方法、装置及终端
CN115146253A (zh) 一种移动App登录方法、移动设备及系统
WO2022143136A1 (zh) 一种密码重置的方法、装置和电子设备
CN117195276B (zh) 一种数据保护方法及电子设备
CN110996088B (zh) 视频处理方法及相关装置
JP5819714B2 (ja) 携帯端末及び情報保護方法
CN114095205A (zh) 一种蓄电池远程核容数据加密传输的通信系统及方法
CN115549934A (zh) 一种安全认证方法、相关电子设备及系统
KR20240026069A (ko) 전자 장치 및 전자 장치에서 사용자 인증을 수행하는 방법
CN115700562A (zh) 认证方法、可读介质和电子设备
CN114722419A (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
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20190726