CN115879088A - 权限检查的方法和电子设备 - Google Patents
权限检查的方法和电子设备 Download PDFInfo
- Publication number
- CN115879088A CN115879088A CN202111150947.7A CN202111150947A CN115879088A CN 115879088 A CN115879088 A CN 115879088A CN 202111150947 A CN202111150947 A CN 202111150947A CN 115879088 A CN115879088 A CN 115879088A
- Authority
- CN
- China
- Prior art keywords
- file
- electronic equipment
- electronic device
- identification information
- application program
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/17—Details of further file system functions
- G06F16/172—Caching, prefetching or hoarding of files
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/17—Details of further file system functions
- G06F16/176—Support for shared access to files; File sharing support
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/18—File system types
- G06F16/182—Distributed file systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/44—Program or device authentication
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Computer Security & Cryptography (AREA)
- Databases & Information Systems (AREA)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- Human Computer Interaction (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Storage Device Security (AREA)
Abstract
本申请提供了一种权限检查的方法和电子设备,该方法应用于第一电子设备,该方法包括:第一电子设备接收第二电子设备发送的第一文件的访问请求消息,该访问请求消息包括第二电子设备的账户和应用程序的标识信息,其中,标识信息为对应用程序标识进行第一计算得到的,第一文件位于第一电子设备中;第一电子设备解析访问请求消息,得到账户和标识信息;第一电子设备根据账户和标识信息确定账户和应用程序对第一文件的访问权限对应的权限值是否匹配目标权限值;第一电子设备根据匹配的结果,向第二电子设备发送访问请求消息对应的不同结果。该技术方案能够提升文件共享和数据访问的安全性。
Description
技术领域
本申请涉及电子技术领域,并且更具体地,涉及一种权限检查的方法和电子设备。
背景技术
分布式文件系统(distributed file system,DFS)将分布于不同地点的文件系统扩展成一个系统网络,点对点网络模式的分布式文件系统没有客户端或服务器的概念,不同的终端设备均为同级节点,当用户在其所在的终端设备请求文件时,若本地节点拥有该文件,则直接从本地文件系统获取,否则向其他节点请求该文件。
分布式文件系统上的数据从生成开始,在其存储、使用、传输的过程中都需要根据对应的访问控制策略进行安全防护,因此,如何提升分布式文件系统中文件共享和数据访问的安全性,成为需要解决的问题。
发明内容
本申请提供一种涉及一种权限检查的方法和电子设备,以期提升文件共享和数据访问的安全性。
第一方面,提供了一种权限检查的方法,所述方法应用于第一电子设备,所述方法包括:
所述第一电子设备接收第二电子设备发送的第一文件的访问请求消息,所述访问请求消息包括所述第二电子设备的账户和应用程序的标识信息,其中,所述标识信息为对所述应用程序标识进行第一计算得到的,所述第一文件位于所述第一电子设备中;
所述第一电子设备解析所述访问请求消息,得到所述账户和所述标识信息;
所述第一电子设备根据所述账户和所述标识信息确定所述账户和应用程序对所述第一文件的访问权限对应的权限值是否匹配目标权限值;
所述第一电子设备根据所述匹配的结果,向所述第二电子设备发送所述访问请求消息对应的不同结果。
基于本申请实施例,第一电子设备接收到另一电子设备的访问请求消息后,解析该访问请求消息获取到第二电子设备的账户和应用程序的标识信息,并确定该账户和应用程序对文件的访问权限对应的权限值是否匹配目标权限值,并根据匹配结果向另一电子设备发送不同的结果。该技术方案可以避免非授权的账户和应用程序对文件的访问,从而提升跨设备访问数据的安全性。
结合第一方面,在第一方面的某些实现方式中,若所述第一电子设备首次接收所述访问请求消息,所述方法还包括:
所述第一电子设备从磁盘中读取所述第一文件的访问控制列表ACL;
所述第一电子设备根据所述账户和所述标识信息从所述访问控制列表中获取所述目标权限值。
其中,该账户和所述标识信息以及权限值可以作为一条记录,也可以作为多条记录。例如,该ACL中可以包括账户、权限值;标识信息、权限值;账户、标识信息、权限值。
结合第一方面,在第一方面的某些实现方式中,所述访问请求消息中还包括所述第一文件的路径,所述第一电子设备从磁盘中读取所述第一文件的访问控制列表ACL,包括:
所述第一电子设备根据所述路径从磁盘中读取所述第一文件的访问控制列表ACL。
结合第一方面,在第一方面的某些实现方式中,所述方法还包括:
所述第一电子设备将所述目标权限值存入缓存中。
基于本申请实施例,第一电子设备将获取到的目标权限值存入缓存中,从而在下一次第二电子设备发送同样的访问请求消息时,该第一电子设备无需从磁盘中获取该目标权限值,从而有利于提升数据访问的效率。
结合第一方面,在第一方面的某些实现方式中,若所述第一电子设备非首次接收所述访问请求消息,所述方法还包括:
所述第一电子设备根据所述账户和所述标识信息从缓存中获取所述目标权限值。
基于本申请实施例,该第一电子设备无需从磁盘中获取该目标权限值,从而有利于提升数据访问的效率。
结合第一方面,在第一方面的某些实现方式中,所述应用程序的标识信息包括应用程序的包名。
其中,该应用程序的标识信息可以为应用程序的包名,也可以为应用程序名等。
结合第一方面,在第一方面的某些实现方式中,所述第一计算为哈希计算,所述应用程序的标识信息为对所述应用程序的包名经过所述哈希计算得到的长度为32比特的信息。
应理解,本申请实施例中的哈希计算还可以用其他算法进行替代,该计算后的信息的长度也可以为其他长度,如64比特等。
第二方面,提供了一种权限检查的方法,所述方法应用于第二电子设备,所述方法包括:
所述第二电子设备检测应用程序对第一文件的第一操作;
响应于所述第一操作,所述第二电子设备对所述应用程序的标识进行第一计算得到所述应用程序的标识信息;
所述第二电子设备向所述第一电子设备发送所述第一文件的访问请求消息,所述访问请求消息包括所述标识信息和所述第二电子设备的账户。
基于本申请实施例,第二电子设备向第一电子设备发送的访问请求消息中,包括该第二电子设备的账户和应用程序的标识信息,从而可以进一步提升跨设备数据访问的安全性。
第三方面,提供了一种权限检查的装置,包括:收发单元,用于接收第二电子设备发送的第一文件的访问请求消息,所述访问请求消息包括所述第二电子设备的账户和应用程序的标识信息,其中,所述标识信息为对所述应用程序标识进行第一计算得到的,所述第一文件位于所述装置中;处理单元,用于解析所述访问请求消息,得到所述账户和所述标识信息;所述处理单元,还用于根据所述账户和所述标识信息确定所述账户和应用程序对所述第一文件的访问权限对应的权限值是否匹配目标权限值;所述收发单元,还用于根据所述匹配的结果,向所述第二电子设备发送所述访问请求消息对应的不同结果。
结合第三方面,在第三方面的某些实现方式中,若首次接收所述访问请求消息,所述处理单元还用于:从磁盘中读取所述第一文件的访问控制列表ACL;根据所述账户和所述标识信息从所述访问控制列表中获取所述目标权限值。
结合第三方面,在第三方面的某些实现方式中,所述访问请求消息中还包括所述第一文件的路径,所述处理单元具体用于:根据所述路径从磁盘中读取所述第一文件的访问控制列表ACL。
结合第三方面,在第三方面的某些实现方式中,所述处理单元还用于:将所述目标权限值存入缓存中。
结合第三方面,在第三方面的某些实现方式中,若非首次接收所述访问请求消息,所述处理单元还用于:根据所述账户和所述标识信息从缓存中获取所述目标权限值。
结合第三方面,在第三方面的某些实现方式中,所述应用程序的标识信息包括应用程序的包名。
结合第三方面,在第三方面的某些实现方式中,所述第一计算为哈希计算,所述应用程序的标识信息为对所述应用程序的包名经过所述哈希计算得到的长度为32比特的信息。
第四方面,提供一种权限检查的装置,包括:处理单元,用于检测应用程序对第一文件的第一操作;所述处理单元,还用于响应于所述第一操作,对所述应用程序的标识进行第一计算得到所述应用程序的标识信息;收发单元,用于向第一电子设备发送所述第一文件的访问请求消息,所述访问请求消息包括所述标识信息和账户。
第五方面,提供了一种电子设备,包括一个或多个处理器;一个或多个存储器;所述一个或多个存储器存储有一个或多个计算机程序,所述一个或多个计算机程序包括指令,当所述指令被一个或多个处理器执行时,使得如上述第一方面及其任一种可能的实现方式中或第二方面及其任一种可能的实现方式中所述的权限检查的方法被执行。
第六方面,提供一种芯片,所述芯片包括处理器和通信接口,所述通信接口用于接收信号,并将所述信号传输至所述处理器,所述处理器处理所述信号,使得如上述第一方面及其任一种可能的实现方式中或第二方面及其任一种可能的实现方式中所述的权限检查的方法被执行。
第七方面,提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机指令,当所述计算机指令在计算机上运行时,使得如上述第一方面及其任一种可能的实现方式中或第二方面及其任一种可能的实现方式中所述的权限检查的方法被执行。
第八方面,提供一种计算机程序产品,包括计算机指令,当所述计算机指令在计算机上运行时,使得如上述第一方面及其任一种可能的实现方式中或第二方面及其任一种可能的实现方式中所述的权限检查的方法被执行。
附图说明
图1是本申请实施例提供的电子设备的结构示意图。
图2是本申请实施例提供的电子设备的软件结构示意图。
图3是本申请实施例提供的一种跨设备权限检查的示意性流程图。
图4是本申请实施例提供的一种权限检查的示意性流程图。
图5是本申请实施例提供的另一种权限检查的示意性流程图。
图6是本申请实施例提供的另一种权限检查的示意性流程图。
图7是本申请实施例提供的一种电子设备的示意性框图。
具体实施方式
下面将结合附图,对本申请中的技术方案进行描述。
本申请实施例中的建立连接的方法可以应用于智能手机、平板电脑、笔记本电脑、个人计算机(personal computer,PC)、超级移动个人计算机(ultra-mobile personalcomputer,UMPC)、上网本、个人数字助理(personal digital assistant,PDA)、车载设备、可穿戴设备等电子设备中,本申请实施例对此并不限定。
图1示出了电子设备100的结构示意图。电子设备100可以包括处理器110,外部存储器接口120,内部存储器121,通用串行总线(universal serial bus,USB)接口130,充电管理模块140,电源管理模块141,电池142,天线1,天线2,移动通信模块150,无线通信模块160,音频模块170,扬声器170A,受话器170B,麦克风170C,耳机接口170D,传感器模块180,按键190,马达191,指示器192,摄像头193,显示屏194,以及用户标识模块(subscriberidentification module,SIM)卡接口195等。其中传感器模块180可以包括压力传感器180A,陀螺仪传感器180B,气压传感器180C,磁传感器180D,加速度传感器180E,距离传感器180F,接近光传感器180G,指纹传感器180H,温度传感器180J,触摸传感器180K,环境光传感器180L,骨传导传感器180M等。
可以理解的是,本申请实施例示意的结构并不构成对电子设备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可以包括一个或多个接口。接口可以包括集成电路(inter-integrated circuit,I2C)接口,集成电路内置音频(inter-integrated circuitsound,I2S)接口,脉冲编码调制(pulse code modulation,PCM)接口,通用异步收发传输器(universal asynchronous receiver/transmitter,UART)接口,移动产业处理器接口(mobile industry processor interface,MIPI),通用输入输出(general-purposeinput/output,GPIO)接口,用户标识模块(subscriber identity module,SIM)接口,和/或通用串行总线(universal serial bus,USB)接口等。
I2C接口是一种双向同步串行总线,包括一根串行数据线(serial data line,SDA)和一根串行时钟线(derail clock line,SCL)。
I2S接口可以用于音频通信。在一些实施例中,处理器110可以包含多组I2S总线。处理器110可以通过I2S总线与音频模块170耦合,实现处理器110与音频模块170之间的通信。
PCM接口也可以用于音频通信,将模拟信号抽样,量化和编码。在一些实施例中,音频模块170与无线通信模块160可以通过PCM总线接口耦合。
UART接口是一种通用串行数据总线,用于异步通信。该总线可以为双向通信总线。它将要传输的数据在串行通信与并行通信之间转换。在一些实施例中,UART接口通常被用于连接处理器110与无线通信模块160。
MIPI接口可以被用于连接处理器110与显示屏194,摄像头193等外围器件。
GPIO接口可以通过软件配置。GPIO接口可以被配置为控制信号,也可被配置为数据信号。在一些实施例中,GPIO接口可以用于连接处理器110与摄像头193,显示屏194,无线通信模块160,音频模块170,传感器模块180等。
USB接口130是符合USB标准规范的接口,具体可以是Mini USB接口,Micro USB接口,USB Type C接口等。USB接口130可以用于连接充电器为电子设备100充电,也可以用于电子设备100与外围设备之间传输数据。
可以理解的是,本申请实施例示意的各模块间的接口连接关系,只是示意性说明,并不构成对电子设备100的结构限定。在本申请另一些实施例中,电子设备100也可以采用上述实施例中不同的接口连接方式,或多种接口连接方式的组合。
充电管理模块140用于从充电器接收充电输入。其中,充电器可以是无线充电器,也可以是有线充电器。在一些有线充电的实施例中,充电管理模块140可以通过USB接口130接收有线充电器的充电输入。在一些无线充电的实施例中,充电管理模块140可以通过电子设备100的无线充电线圈接收无线充电输入。充电管理模块140为电池142充电的同时,还可以通过电源管理模块141为电子设备供电。
电源管理模块141用于连接电池142,充电管理模块140与处理器110。
电子设备100的无线通信功能可以通过天线1,天线2,移动通信模块150,无线通信模块160,调制解调处理器以及基带处理器等实现。
移动通信模块150可以提供应用在电子设备100上的包括2G/3G/4G/5G等无线通信的解决方案。
调制解调处理器可以包括调制器和解调器。其中,调制器用于将待发送的低频基带信号调制成中高频信号。解调器用于将接收的电磁波信号解调为低频基带信号。随后解调器将解调得到的低频基带信号传送至基带处理器处理。低频基带信号经基带处理器处理后,被传递给应用处理器。应用处理器通过音频设备(不限于扬声器170A,受话器170B等)输出声音信号,或通过显示屏194显示图像或视频。在一些实施例中,调制解调处理器可以是独立的器件。在另一些实施例中,调制解调处理器可以独立于处理器110,与移动通信模块150或其他功能模块设置在同一个器件中。
无线通信模块160可以提供应用在电子设备100上的包括无线局域网(wirelesslocal area networks,WLAN)(如无线保真(wireless fidelity,Wi-Fi)网络),蓝牙(bluetooth,BT),全球导航卫星系统(global navigation satellite system,GNSS),调频(frequency modulation,FM),近距离无线通信技术(near field communication,NFC),红外技术(infrared,IR)等无线通信的解决方案。
在一些实施例中,电子设备100的天线1和移动通信模块150耦合,天线2和无线通信模块160耦合,使得电子设备100可以通过无线通信技术与网络以及其他设备通信。
电子设备100通过GPU,显示屏194,以及应用处理器等实现显示功能。GPU为图像处理的微处理器,连接显示屏194和应用处理器。GPU用于执行数学和几何计算,用于图形渲染。处理器110可包括一个或多个GPU,其执行程序指令以生成或改变显示信息。
显示屏194用于显示图像,视频等。显示屏194包括显示面板。显示面板可以采用液晶显示屏(liquid crystal display,LCD),也可以采用有机发光二极管(organic light-emitting diode,OLED)、有源矩阵有机发光二极体或主动矩阵有机发光二极体(active-matrix organic light emitting diode,AMOLED)、柔性发光二极管(flex light-emitting diode,FLED)、Miniled、MicroLed、Micro-oLed或量子点发光二极管(quantumdot light emitting diodes,QLED)等材料中的一种所制作的显示面板。在一些实施例中,电子设备100可以包括1个或N个显示屏194,N为大于1的正整数。
电子设备100可以通过ISP,摄像头193,视频编解码器,GPU,显示屏194以及应用处理器等实现拍摄功能。
ISP用于处理摄像头193反馈的数据。摄像头193用于捕获静态图像或视频。
数字信号处理器用于处理数字信号,除了可以处理数字图像信号,还可以处理其他数字信号。
视频编解码器用于对数字视频压缩或解压缩。电子设备100可以支持一种或多种视频编解码器。
外部存储器接口120可以用于连接外部存储卡,例如Micro SD卡,实现扩展电子设备100的存储能力。
内部存储器121可以用于存储计算机可执行程序代码,所述可执行程序代码包括指令。处理器110通过运行存储在内部存储器121的指令,从而执行电子设备100的各种功能应用以及数据处理。
电子设备100可以通过音频模块170,扬声器170A,受话器170B,麦克风170C,耳机接口170D,以及应用处理器等实现音频功能。例如音乐播放,录音等。
音频模块170用于将数字音频信息转换成模拟音频信号输出,也用于将模拟音频输入转换为数字音频信号。
扬声器170A,也称“喇叭”,用于将音频电信号转换为声音信号。
受话器170B,也称“听筒”,用于将音频电信号转换成声音信号。
麦克风170C,也称“话筒”,“传声器”,用于将声音信号转换为电信号。
耳机接口170D用于连接有线耳机。
压力传感器180A用于感受压力信号,可以将压力信号转换成电信号。在一些实施例中,压力传感器180A可以设置于显示屏194。
陀螺仪传感器180B可以用于确定电子设备100的运动姿态。
气压传感器180C用于测量气压。在一些实施例中,电子设备100通过气压传感器180C测得的气压值计算海拔高度,辅助定位和导航。
加速度传感器180E可检测电子设备100在各个方向上(一般为三轴)加速度的大小。
距离传感器180F,用于测量距离。
指纹传感器180H用于采集指纹。
触摸传感器180K,也称“触控面板”。触摸传感器180K可以设置于显示屏194,由触摸传感器180K与显示屏194组成触摸屏,也称“触控屏”。
骨传导传感器180M可以获取振动信号。在一些实施例中,骨传导传感器180M可以获取人体声部振动骨块的振动信号。骨传导传感器180M也可以接触人体脉搏,接收血压跳动信号。
按键190包括开机键,音量键等。
马达191可以产生振动提示。
指示器192可以是指示灯,可以用于指示充电状态,电量变化,也可以用于指示消息,未接来电,通知等。
SIM卡接口195用于连接SIM卡。
电子设备100的软件系统可以采用分层架构,事件驱动架构,微核架构,微服务架构,或云架构。本申请实施例以分层架构的Android系统为例,示例性说明电子设备100的软件结构。
图2是本申请实施例的电子设备100的软件结构框图。分层架构将软件分成若干个层,每一层都有清晰的角色和分工。层与层之间通过软件接口通信。在一些实施例中,将Android系统分为四层,从上至下分别为应用程序层,应用程序框架层,安卓运行时(Android runtime)和系统库,以及内核层。应用程序层可以包括一系列应用程序包。
如图2所示,应用程序包可以包括相机,图库,日历,通话,地图,导航,WLAN,蓝牙,音乐,视频,短信息等应用程序。
应用程序框架层为应用程序层的应用程序提供应用编程接口(applicationprogramming interface,API)和编程框架。应用程序框架层包括一些预先定义的函数。
如图2所示,应用程序框架层可以包括窗口管理器,内容提供器,视图系统,电话管理器,资源管理器,通知管理器等。
窗口管理器用于管理窗口程序。窗口管理器可以获取显示屏大小,判断是否有状态栏,锁定屏幕,截取屏幕等。
内容提供器用来存放和获取数据,并使这些数据可以被应用程序访问。所述数据可以包括视频,图像,音频,拨打和接听的电话,浏览历史和书签,电话簿等。
视图系统包括可视控件,例如显示文字的控件,显示图片的控件等。视图系统可用于构建应用程序。显示界面可以由一个或多个视图组成的。例如,包括短信通知图标的显示界面,可以包括显示文字的视图以及显示图片的视图。
电话管理器用于提供电子设备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绘图的绘图引擎。
内核层是硬件和软件之间的层。内核层至少包含显示驱动,摄像头驱动,音频驱动,传感器驱动。
应理解,本申请实施例中的电子设备也可以是安装有鸿蒙、苹果等操作系统的电子设备。
分布式文件系统将分布在不同地点的不同类型的文件任意地扩展成一个系统网络,让众多的设备节点通过节点间的网络连接和信息传递,达到让用户在具有网络的地方可以随时访问数据,而不需受到设备和地点的限制。
传统的分布式文件系统基于客户端/服务器模式,该模式采用中心化的多机服务器,服务器利用负载均衡、哈希分片等技术来存储客户端的数据,然后由客户端通过网络发送文件请求来获取数据。
点对点(peer-to-peer,P2P)网络模式下的分布式文件系统中没有客户端/服务器的概念,不同终端设备均为平等的同级节点,该节点可以同时作为客户端/服务器,没有中心服务器,所有的终端设备连接到一个文件系统中,当用户在其所在的终端设备请求文件时,若本地节点拥有该文件,则直接从本地文件系统获取,若本地节点中不存在该文件,则向其他节点请求该文件。
在上述文件访问的过程中,为了提升数据安全性,终端设备可以对访问该终端设备上的文件的其他用户设置一些访问权限。
访问控制列表(access control list,ACL)属于自主访问控制下的一种机制,文件拥有者可以自主的将其拥有的客体的权限给予其他的用户。ACL是一种细粒度的访问控制机制,用户可以针对具体文件配置多种访问控制规则,允许或拒绝指定应用程序访问特定文件,从而即使应用程序获得了存储权限也不能对保护的文件进行读写操作,这实现了文件系统上访问控制粒度从整个文件系统细化到了单个文件。ACL通过增加ACL_USER和ACL_GROUP类型,可以实现对指定用户或用户组授权。一条ACL策略可以用一个<tag,perm,id>来表示,其中,tag表示用户类型;perm表示授予的权限;id表示应用程序的用户身份证明(user identification,uid)或gid。ACL访问控制规则perm包括三种类型的访问权限:读(read,r)、写(write,w)和执行(execute,x),从而一个客体的权限信息可以表示为这三种类型的组合。例如,文件的权限信息“rwxr--r--”代表允许文件的拥有者读写执行该文件,允许这个文件的同组用户读该文件,其他用户或组对该文件有读权限。对于访问控制信息的存储,一个文件的ACL访问控制规则是存储在文件inode的扩展属性“system.posix_acl_access”中。在Linux系统中,通过调用setacl()方法来配置文件的ACL访问控制规则,该方法最终通过调用setxattr()方法来将ACL访问控制规则转换为扩展属性保存在文件的扩展属性“system.posix_acl_access”中。在执行文件的ACL权限检查时,系统会调用getacl()方法获取该文件的访问控制规则,该方法通过调用getxattr()方法来将保存在文件中的扩展属性转化为具体的ACL访问控制规则,与ACL访问控制规则相关的函数方法都定义在文件系统的inode_operations结构体中。
Linux安全模块(linux security module,LSM)是Linux内核的一个轻量级通用访问控制框架。它使得各种不同的安全访问控制模型能够以Linux可加载内核模块的形式实现出来,用户可以根据其需求选择适合的安全模块加载到Linux内核中,从而大大提高了Linux安全访问控制机制的灵活性和易用性。LSM在设计之初就遵循了以下原则:解耦合、可装卸性与高效性。这使得模块可以做到:在提供安全机制的条件下对现有模块的运行与更迭产生最小影响;在用户或开发者不需要该安全机制时,可以将该模块卸载且不对系统产生其他负面影响;在内核中运行时对性能产生最小的负面影响。这些特性使得当系统对内核出现了新的安全需求时,使用LSM开发有着更广泛的使用场景和更高的效率。
随着物联网技术的发展,跨设备场景下的数据共享需求增加,在手机、平板、智能电视、路由器、车机、手表等设备的操作系统上使用的分布式文件系统依赖上层服务,来实现用户和应用程序数据的分布式管理。分布式系统的需求是利用用户/应用程序的数据不再与设备绑定、在集群中分散的设备上数据存储与业务逻辑分离。在对这些设备数据进行统一化的管理,来实现不同的终端设备之间的快速连接、能力互助和资源共享的同时,分布式文件系统上的数据从生成开始,在其存储、使用、传输的整个过程都需要根据对应的访问控制策略提供安全防护。
有鉴于此,本申请实施例提供一种权限检查的方法,该技术方案能够提升文件共享和数据访问的安全性。
下文将结合图3-图5介绍本申请实施例中的权限检查的方法。
图3是本申请实施例提供的一种跨设备权限检查的方法的示意性流程图。
如图3所示,该方法可以应用于第一电子设备和第二电子设备中,该方法可以包括步骤601至步骤608。
601,第二电子设备中的应用程序触发对第一文件的第一操作。
应理解,该第一文件可以存在于第二电子设备中;该第一操作可以是前文中的读、写或执行等。
示例性地,第二电子设备中的应用程序A访问位于第一电子设备中的文件B,如,对文件B进行读操作。
这里的触发可以是用户在使用应用程序B的过程中,点击某个功能控件,也可以是应用程序B在运行的过程中需要访问文件B等等,本申请实施例对此不予限定。
可选地,上层账户触发对第一文件的第一操作。应理解,该账户为通过云端认证之后的账户,如,华为账户。
602,调用第二DFS。
通过系统调用,即通过系统接口调用位于内核虚拟文件系统(virtual filesystem,VFS)层中的第二DFS。
示例性地,若该第一操作为读操作,则可以调用第二DFS中的dfs_read_remote函数;若该第一操作为写操作,则可以调用第二DFS中的dfs_write_remote函数。
603,第二DFS对应用程序的标识进行计算,得到标识信息。
应理解,该应用程序的标识可以为App ID如,应用程序源的标识符(sourceid),应用程序包名(packagename),应用名(appname)等等。
示例性地,该标识为应用程序包名,则可以对该应用程序包名进行第一计算,如哈希计算,将该应用程序包名转换为长度为32比特的标识信息。应理解,该应用程序的包名也可以为其他长度。
应理解,还可以对该应用程序包名进行别的运算,以得到该标识信息。
604,第二DFS向第一DFS发送访问请求消息,该访问请求消息中包括标识信息。
可选地,该访问请求消息中还可以包括第二电子设备上登录的账户,应理解,该账户为通过云端认证之后的账户,如,华为账户。
可选地,该访问请求消息中还可以包括第一文件所在的路径等,该访问请求消息中还包括上述第一操作。
605,第一电子设备的第一DFS接收到该访问请求消息,并解析该访问请求消息。
其中,该第一DFS接收到访问请求消息后,可以对该访问请求消息进行解析,以获取该访问请求消息中的标识信息,如长度为32比特的应用程序包名。606,第一DFS将该标识信息发送至内核中的安全模块(secDFS)中。
示例性地,可以通过hook函数调用该安全模块。该安全模块属于LSM。
可选地,第一DFS解析该访问请求消息,并得到账户信息,如经过云端认证的华为账户。
607,安全模块对该访问请求进行权限检查。
在一种可能的实现方式中,若第二电子设备是首次访问第一电子设备中的第一文件,则该第一电子设备可以从磁盘文件中获取该第一文件的ACL,根据该标识信息获取该应用程序对应的权限值。
可选地,第二电子设备将该应用程序对该第一文件的权限值存入缓存中。这种情况下,当第二电子设备的应用程序A再次访问该第一文件时,第一电子设备可以从该缓存中获取其对应的权限值,无需从磁盘中获取,从而可以减少第二电子设备短时间多次访问该第一文件的通信开销,提升分布式场景下文件访问的效率。
该ACL中可以包括对该第一文件访问的用户、应用程序的权限等信息,例如,该ACL中可以保存有对应权限的权限值,如,读权限对应的权限值为4、写权限对应的权限值为2、执行权限对应的权限值为1。
应理解,该ACL可以包括有应用程序A的标识信息,以及该标识信息对应的权限,则可以用于表征该应用程序A的权限,例如,应用程序A的标识信息为32比特的应用程序包名,则该ACL中可以包括该32比特的应用程序包名以及权限值。
示例性地,该ACL中可能为第二电子设备的应用程序A对该第一文件的权限值为4,则对应该应用程序A对该第一文件具有读权限。
可选地,该ACL中还可能包括有账户、应用程序A的标识信息以及对应的权限,从而可以进一步保证数据的安全性。
应理解,该ACL可以为该第一文件的拓展属性。每个文件可以具有一个ACL。
在另一种可能的实现方式中,若第二电子设备不是首次访问第一电子设备中的第一文件,则第一电子设备可以从缓存中获取该应用程序A对该第一文件访问的权限值。
示例性地,该缓存中存储的该应用程序A对该第一文件访问的权限值为2,则该应用程序对该第一文件具有写权限。
608,将结果返回第二电子设备中。
在一个示例中,若该访问请求消息中指示该应用程序A请求对第一文件进行读操作,而第二电子设备获取到的该应用程序A对第一文件的权限值为4,则说明第二电子设备中的第一文件允许应用程序A对其进行读操作,则可以将读取到的第一文件返回至第二电子设备中。
具体地,可以将该读取到的第一文件从第一DFS发送至第二DFS,该第二DFS将该读取到的第一文件发送至应用程序A中。
在另一个示例中,若该访问请求消息中指示该应用程序A请求对第一文件进行写操作,而第二电子设备获取到的该应用程序A对第一文件的权限值为4,则说明第二电子设备中的第一文件仅允许应用程序A对其进行读操作,而不能对第一文件进行写操作或执行,此时,意味着第二电子设备中的第一文件不允许应用程序A对其进行写操作,那么第一电子设备可以将错误值返回至第二电子设备中,从而可以保证该第一文件的数据安全。
基于本申请实施例,当第二电子设备中应用程序A希望访问第一电子设备中的第一文件时,可以在访问请求消息中携带该应用程序A的标识信息,从而第一电子设备在接收到该访问请求消息之后,可以调用安全模块根据该标识信息获取其对应的权限值,从而可以确定该应用程序A是否有相应的权限访问该第一文件。从而可以提升跨设备数据访问的安全性。
上文介绍了第二电子设备跨设备访问第一电子设备上的文件,下面将结合图4介绍电子设备中的应用程序访问本地的第二文件的技术方案。
图4是本申请实施例提供的一种权限检查的方法的示意性流程图。
如图4所示,该方法可以应用于电子设备中,该方法可以包括步骤701至步骤706。
701,电子设备中的应用程序B触发对第二文件的第二操作。
应理解,该第二文件存储在该电子设备的本地,如存储在该电子设备的存储器中。该第一操作可以是上文中的读、写或执行等。
示例性地,该电子设备中的应用程序B访问电子设备本地存储的文件B,如对文件B进行写操作。
这里的触发可以是用户在使用应用程序B的过程中,点击某个功能控件,也可以是应用程序B在运行的过程中需要访问文件B等等,本申请实施例对此不予限定。
可选地,上层账户触发对第二文件的第二操作。应理解,该账户为通过云端认证之后的账户,如,华为账户。
702,调用DFS。
通过系统调用,即通过系统接口调用位于内核VFS层中的DFS。
示例性地,若该第二操作为读操作,则可以调用DFS中的dfs_read_local函数;若该第二操作为写操作,则可以调用DFS中的dfs_write_local函数。
703,DFS对应用程序B的标识进行计算,得到标识信息。
应理解,该应用程序B的标识可以为App ID如,应用程序源的标识符(sourceid),应用程序包名(packagename),应用名(appname)等等。
示例性地,该标识为应用程序包名,则可以对该应用程序包名进行第一计算,如哈希计算,将该应用程序包名转换为长度为32比特的标识信息。
应理解,该应用程序的包名也可以为其他长度。
应理解,还可以对该应用程序包名进行别的运算,以得到该标识信息。
704,调用安全模块。
示例性地,可以通过hook函数调用该安全模块。该安全模块属于LSM。
705,安全模块对该第二操作进行权限检查。
在一种可能的实现方式中,若应用程序B是首次访问该第二文件,则该电子设备可以从磁盘文件中获取该第二文件的ACL,根据该标识信息获取该应用程序B对应的权限值。
该ACL中可以包括对该第二文件访问的用户、应用程序的权限等信息,例如,该ACL中可以保存有对应权限的权限值,如,读权限对应的权限值为4、写权限对应的权限值为2、执行权限对应的权限值为1。
应理解,该ACL可以包括有应用程序B的标识信息,以及该标识信息对应的权限,则可以用于表征该应用程序B的权限,例如,应用程序B的标识信息为32比特的应用程序包名,则该ACL中可以包括该32比特的应用程序包名以及权限值。
示例性地,该ACL中的应用程序B对该第二文件的权限值为4,则对应该应用程序B对该第二文件具有读权限。
可选地,电子设备将该应用程序B对该第二文件的权限值存入缓存中。这种情况下,当应用程序B再次访问该第二文件时,电子设备可以从该缓存中获取其对应的权限值,无需从磁盘中获取,从而可以减少应用程序B多次访问该第二文件的通信开销,提升分布式场景下文件访问的效率。
在另一种可能的实现方式中,若应用程序B不是首次访问该第二文件,则电子设备可以从缓存中获取该应用程序B对该第二文件访问的权限值。
示例性地,该缓存中存储的该应用程序B对该第二文件访问的权限值为2,则该应用程序B对该第二文件具有写权限。
706,将结果返回应用程序B中。
在一种可能的实现方式中,若该第二操作为该应用程序B请求对第二文件进行读操作,而电子设备获取到的该应用程序B对第二文件的权限值为4,则说明该电子设备中的第二文件允许应用程序B对其进行读操作,则可以将读取到的第二文件返回至应用程序B中。
在另一种可能的实现方式中,若该第二操作为该应用程序B请求对第二文件进行写操作,而电子设备获取到的该应用程序B对第二文件的权限值为4,则说明该电子设备中的第二文件仅允许应用程序B对其进行读操作,而不能对第二文件进行写操作或执行,此时,意味着该电子设备中的第二文件不允许应用程序B对其进行写操作,那么可以将错误值返回至应用程序B中,从而可以保证该第二文件的数据安全。
基于本申请实施例,当电子设备中的应用程序B需要访问本地的第二文件时,该电子设备可以调用安全模块执行权限检查,以提升数据访问的安全性。
图5是本申请实施例提供的一种权限检查的示意性流程图。
如图5所示,该方法可以应用于第一电子设备,该方法可以包括步骤810至步骤840。
810,所述第一电子设备接收第二电子设备发送的第一文件的访问请求消息,所述访问请求消息包括所述第二电子设备的账户和应用程序的标识信息,其中,所述标识信息为对所述应用程序标识进行第一计算得到的,所述第一文件位于所述第一电子设备中。
其中,该账户可以是第二电子设备上登录的账户,该账户可以为经过云端认证的账户,如华为账户。该账户也可以是应用程序上登录的账户等,本申请实施例对此不予限定。
该应用程序标识可以为应用程序的包名,在这种情况下,该标识信息可以为对该应用程序的包名进行哈希计算得到的长度为32比特的信息。
应理解,该应用程序标识还可以包括应用程序名、应用程序源的标识符等等。该标识信息的长度也可以为其他值。
820,所述第一电子设备解析所述访问请求消息,得到所述账户和所述标识信息。
第一电子设备对接收到的访问请求消息进行解析,以得到上述账户和标识信息。
830,所述第一电子设备根据所述账户和所述标识信息确定所述账户和应用程序对所述第一文件的访问权限对应的权限值是否匹配目标权限值。
该目标权限值即第一电子设备中存储的权限值。
示例性地,该第一电子设备中存储有第一文件的ACL,该ACL中包括了可以访问第一文件的账户和应用程序,及其对应的权限值。例如,该ACL中可以包括账户以及权限值;应用程序的标识信息以及权限值;或者账户、应用程序的标识信息以及权限值,这种情况下,账户和应用程序是绑定一体的,共同具有该权限值,即表示该账户下的应用程序具有的访问权限。
840,所述第一电子设备根据所述匹配的结果,向所述第二电子设备发送所述访问请求消息对应的不同结果。
在一种可能的实现方式中,该第一电子设备确定所述账户和应用程序对所述第一文件的访问权限对应的权限值与目标权限值匹配,则说明该第一文件允许上述账户和应用程序对其进行相应的访问,则可以向第二电子设备返回相应的结果。
示例性地,该访问请求消息中指示账户A、应用程序A请求对第一文件进行读操作,第一电子设备通过对账户A、应用程序A进行权限检查,发现该账户A、应用程序A的权限值为4,则此时第一电子设备可以将读到的第一文件发送至第二电子设备中。
在另一种可能的实现方式中,该第一电子设备确定所述账户和应用程序对所述第一文件的访问权限对应的权限值与目标权限值不匹配,则说明该第一文件不允许上述账户和/或应用程序对其进行相应的访问,则可以向第二电子设备返回错误。
示例性地,该访问请求消息中指示账户A、应用程序A请求对第一文件进行写操作,此时,第一电子设备通过对账户A、应用程序A的权限值进行校验,发现账户A的权限值为4、或者应用程序A的权限值为4、或者账户A以及应用程序A整体的权限值为4,则可以确定账户A和/或应用程序A对该第一文件仅有读权限,不具有写权限,则此时第一电子设备可以向第二电子设备发送错误。
基于本申请实施例,第一电子设备接收到第二电子设备的访问请求消息后,解析该访问请求消息获取到第二电子设备的账户和应用程序的标识信息,并确定该账户和应用程序对文件的访问权限对应的权限值是否匹配目标权限值,并根据匹配结果向第二电子设备发送不同的结果。该技术方案可以避免非授权的账户和应用程序对文件的访问,从而可以提升跨设备访问数据的安全性。
该技术方案中,第一电子设备接收的访问请求消息中携带了应用程序的标识信息,从而该第一电子设备可以根据该标识信息唯一确定该应用程序,第一电子设备中也存储了该标识信息对应的权限值,从而使得在第二电子设备在跨设备访问数据时,其他的电子设备(如第一电子设备)标识该应用程序的标识信息一致。
可选地,若所述第一电子设备首次接收所述访问请求消息,所述方法还包括:所述第一电子设备从磁盘中读取所述第一文件的访问控制列表ACL;所述第一电子设备根据所述账户和所述标识信息从所述访问控制列表ACL中获取所述目标权限值。
其中,该账户和所述标识信息以及权限值可以作为一条记录,也可以作为多条记录。例如,该ACL中可以包括账户、权限值;标识信息、权限值;账户、标识信息、权限值。
可选地,所述访问请求消息中还包括所述第一文件的路径,所述第一电子设备从磁盘中读取所述第一文件的访问控制列表ACL,包括:所述第一电子设备根据所述路径从磁盘中读取所述第一文件的访问控制列表ACL。
可选地,所述方法还包括:所述第一电子设备将所述目标权限值存入缓存中。
应理解,在第一电子设备首次接收到该访问请求消息的情况下,该第一电子设备可以将账户和应用程序对应的目标权限值存入缓冲中,从而在第一电子设备下次接收到同样的访问请求消息时,可以从该缓存中获取到目标权限值,无需每次从磁盘文件中第一文件所在的位置处获取,进而有利于提升数据访问的效率。
可选地,若所述第一电子设备非首次接收所述访问请求消息,所述方法还包括:所述第一电子设备根据所述账户和所述标识信息从缓存中获取所述目标权限值。
基于本申请实施例,该第一电子设备无需从磁盘中获取该目标权限值,从而有利于提升数据访问的效率。
可选地,所述第一计算为哈希计算,所述应用程序的标识信息为对所述应用程序的包名经过所述哈希计算得到的长度为32比特的信息。
应理解,本申请实施例中的哈希计算还可以用其他算法进行替代,该计算后的信息的长度也可以为其他长度,如64比特等。
图6是本申请实施例提供的一种权限检查的示意性流程图。
如图6所示,该方法可以应用于第二电子设备,该方法可以包括步骤910至步骤930。
910,所述第二电子设备检测应用程序对第一文件的第一操作,所述第一文件位于第一电子设备中。
该第一操纵可以为前文中的读、写或执行等。
920,响应于所述第一操作,所述第二电子设备对所述应用程序的标识进行第一计算得到所述应用程序的标识信息。
该应用程序的标识可以为应用程序的包名,在这种情况下,该标识信息可以为对该应用程序的包名进行哈希计算得到的长度为32比特的信息。
应理解,该应用程序的标识还可以包括应用程序名、应用程序源的标识符等等。该标识信息的长度也可以为其他值。
930,所述第二电子设备向所述第一电子设备发送所述第一文件的访问请求消息,所述访问请求消息包括所述标识信息和所述第二电子设备的账户。
其中,该账户可以是第二电子设备上登录的账户,该账户可以为经过云端认证的账户,如华为账户。该账户也可以是应用程序上登录的账户等,本申请实施例对此不予限定。
基于本申请实施例,基于本申请实施例,第二电子设备向第一电子设备发送的访问请求消息中,包括该第二电子设备的账户和应用程序的标识信息,从而可以进一步提升跨设备数据访问的安全性。
图7是本申请实施例提供的一种电子设备的示意性框图。
如图7所示,该电子设备1000可以包括一个或多个存储器1010,一个或多个处理器1020,该一个或多个存储器1010中存储有一个或多个计算机程序,该一个或多个计算机程序包括指令,当该指令被一个或多个处理器1020执行时,使得如前文实施例中任一种可能的实现方式中所述的权限检查的方法被执行。
本申请实施例还提供一种权限检查的装置,包括:收发单元,用于接收第二电子设备发送的第一文件的访问请求消息,所述访问请求消息包括所述第二电子设备的账户和应用程序的标识信息,其中,所述标识信息为对所述应用程序标识进行第一计算得到的,所述第一文件位于所述装置中;处理单元,用于解析所述访问请求消息,得到所述账户和所述标识信息;所述处理单元,还用于根据所述账户和所述标识信息确定所述账户和应用程序对所述第一文件的访问权限对应的权限值是否匹配目标权限值;所述收发单元,还用于根据所述匹配的结果,向所述第二电子设备发送所述访问请求消息对应的不同结果。
可选地,若首次接收所述访问请求消息,所述处理单元还用于:从磁盘中读取所述第一文件的访问控制列表ACL;根据所述账户和所述标识信息从所述访问控制列表中获取所述目标权限值。
可选地,所述访问请求消息中还包括所述第一文件的路径,所述处理单元具体用于:根据所述路径从磁盘中读取所述第一文件的访问控制列表ACL
可选地,所述处理单元还用于:将所述目标权限值存入缓存中。
可选地,若非首次接收所述访问请求消息,所述处理单元还用于:根据所述账户和所述标识信息从缓存中获取所述目标权限值。
可选地,所述应用程序的标识信息包括应用程序的包名。
可选地,所述第一计算为哈希计算,所述应用程序的标识信息为对所述应用程序的包名经过所述哈希计算得到的长度为32比特的信息。
本申请实施例还提供一种权限检查的装置,包括:处理单元,用于检测应用程序对第一文件的第一操作;所述处理单元,还用于响应于所述第一操作,对所述应用程序的标识进行第一计算得到所述应用程序的标识信息;收发单元,用于向第一电子设备发送所述第一文件的访问请求消息,所述访问请求消息包括所述标识信息和账户。
本申请实施例还提供一种芯片,所述芯片包括处理器和通信接口,所述通信接口用于接收信号,并将所述信号传输至所述处理器,所述处理器处理所述信号,使得如前文实施例中任一种可能的实现方式中所述的权限检查的方法被执行。
本实施例还提供一种计算机可读存储介质,该计算机可读存储介质中存储有计算机指令,当该计算机指令在计算机上运行时,使得如前文实施例中任一种可能的实现方式中所述的权限检查的方法被执行。
本实施例还提供了一种计算机程序产品,当该计算机程序产品在计算机上运行时,使得计算机执行上述相关步骤,以实现上述实施例中的权限检查的方法。
另外,本申请的实施例还提供一种装置,这个装置具体可以是芯片,组件或模块,该装置可包括相连的处理器和存储器;其中,存储器用于存储计算机执行指令,当装置运行时,处理器可执行存储器存储的计算机执行指令,以使芯片执行上述各方法实施例中的权限检查的方法。
其中,本实施例提供的电子设备、计算机可读存储介质、计算机程序产品或芯片均用于执行上文所提供的对应的方法,因此,其所能达到的有益效果可参考上文所提供的对应的方法中的有益效果,此处不再赘述。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(read-only memory,ROM)、随机存取存储器(random access memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。
Claims (11)
1.一种权限检查的方法,其特征在于,所述方法应用于第一电子设备,所述方法包括:
所述第一电子设备接收第二电子设备发送的第一文件的访问请求消息,所述访问请求消息包括所述第二电子设备的账户和应用程序的标识信息,其中,所述标识信息为对所述应用程序标识进行第一计算得到的,所述第一文件位于所述第一电子设备中;
所述第一电子设备解析所述访问请求消息,得到所述账户和所述标识信息;
所述第一电子设备根据所述账户和所述标识信息确定所述账户和应用程序对所述第一文件的访问权限对应的权限值是否匹配目标权限值;
所述第一电子设备根据所述匹配的结果,向所述第二电子设备发送所述访问请求消息对应的不同结果。
2.根据权利要求1所述的方法,其特征在于,若所述第一电子设备首次接收所述访问请求消息,所述方法还包括:
所述第一电子设备从磁盘中读取所述第一文件的访问控制列表ACL;
所述第一电子设备根据所述账户和所述标识信息从所述访问控制列表中获取所述目标权限值。
3.根据权利要求2所述的方法,其特征在于,所述访问请求消息中还包括所述第一文件的路径,所述第一电子设备从磁盘中读取所述第一文件的访问控制列表ACL,包括:
所述第一电子设备根据所述路径从磁盘中读取所述第一文件的访问控制列表ACL。
4.根据权利要求2或3所述的方法,其特征在于,所述方法还包括:
所述第一电子设备将所述目标权限值存入缓存中。
5.根据权利要求1所述的方法,其特征在于,若所述第一电子设备非首次接收所述访问请求消息,所述方法还包括:
所述第一电子设备根据所述账户和所述标识信息从缓存中获取所述目标权限值。
6.根据权利要求1-5中任一项所述的方法,其特征在于,所述应用程序的标识信息包括应用程序的包名。
7.根据权利要求6所述的方法,其特征在于,所述第一计算为哈希计算,所述应用程序的标识信息为对所述应用程序的包名经过所述哈希计算得到的长度为32比特的信息。
8.一种权限检查的方法,其特征在于,所述方法应用于第二电子设备,所述方法包括:
所述第二电子设备检测应用程序对第一文件的第一操作;
响应于所述第一操作,所述第二电子设备对所述应用程序的标识进行第一计算得到所述应用程序的标识信息;
所述第二电子设备向所述第一电子设备发送所述第一文件的访问请求消息,所述访问请求消息包括所述标识信息和所述第二电子设备的账户。
9.一种电子设备,其特征在于,包括一个或多个处理器;一个或多个存储器;所述一个或多个存储器存储有一个或多个计算机程序,所述一个或多个计算机程序包括指令,当所述指令被一个或多个处理器执行时,使得如权利要求1-7、或8中任一项所述的权限检查的方法被执行。
10.一种芯片,其特征在于,所述芯片包括处理器和通信接口,所述通信接口用于接收信号,并将所述信号传输至所述处理器,所述处理器处理所述信号,使得如权利要求1-7、或8中任一项所述的权限检查的方法被执行。
11.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机指令,当所述计算机指令在计算机上运行时,使得如权利要求1-7、或8中任一项所述的权限检查的方法被执行。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111150947.7A CN115879088A (zh) | 2021-09-29 | 2021-09-29 | 权限检查的方法和电子设备 |
PCT/CN2022/120260 WO2023051355A1 (zh) | 2021-09-29 | 2022-09-21 | 权限检查的方法和电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111150947.7A CN115879088A (zh) | 2021-09-29 | 2021-09-29 | 权限检查的方法和电子设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115879088A true CN115879088A (zh) | 2023-03-31 |
Family
ID=85756103
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111150947.7A Pending CN115879088A (zh) | 2021-09-29 | 2021-09-29 | 权限检查的方法和电子设备 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN115879088A (zh) |
WO (1) | WO2023051355A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116415281A (zh) * | 2023-04-18 | 2023-07-11 | 青海省第三地质勘查院 | 基于改进末位校验和双重散列函数的权限控制方法及系统 |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117931463A (zh) * | 2022-10-14 | 2024-04-26 | 华为终端有限公司 | 一种应用控制方法、电子设备和系统 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7860784B2 (en) * | 2006-12-29 | 2010-12-28 | Ebay Inc. | Method and system for user payment account management |
CN106998551B (zh) * | 2016-01-25 | 2021-06-29 | 中兴通讯股份有限公司 | 一种应用接入鉴权的方法、系统、装置及终端 |
CN105956426A (zh) * | 2016-04-26 | 2016-09-21 | 上海斐讯数据通信技术有限公司 | 一种应用程序权限认证授权方法及智能设备 |
EP3477526B1 (en) * | 2017-10-24 | 2022-12-07 | Mastercard International Incorporated | Method and system for securely controlling access to data |
CN112364308A (zh) * | 2020-11-13 | 2021-02-12 | 四川长虹电器股份有限公司 | 一种联网授权的安卓apk签名方法和装置 |
-
2021
- 2021-09-29 CN CN202111150947.7A patent/CN115879088A/zh active Pending
-
2022
- 2022-09-21 WO PCT/CN2022/120260 patent/WO2023051355A1/zh unknown
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116415281A (zh) * | 2023-04-18 | 2023-07-11 | 青海省第三地质勘查院 | 基于改进末位校验和双重散列函数的权限控制方法及系统 |
CN116415281B (zh) * | 2023-04-18 | 2023-10-20 | 青海省第三地质勘查院 | 基于改进末位校验和双重散列函数的权限控制方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
WO2023051355A1 (zh) | 2023-04-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113032766B (zh) | 应用权限管理的方法和装置 | |
WO2023051355A1 (zh) | 权限检查的方法和电子设备 | |
WO2020150917A1 (zh) | 一种应用权限的管理方法及电子设备 | |
WO2021253975A1 (zh) | 应用程序的权限管理方法、装置和电子设备 | |
CN111464987B (zh) | 一种显示蓝牙设备标识的方法及电子设备 | |
CN113986092B (zh) | 消息显示方法和装置 | |
WO2022089121A1 (zh) | 处理推送消息的方法和装置 | |
WO2022160991A1 (zh) | 权限控制方法和电子设备 | |
WO2022022422A1 (zh) | 一种权限管理方法及终端设备 | |
WO2021057982A1 (zh) | 应用程序的处理方法及相关产品 | |
CN112860445B (zh) | 一种快应用与原生应用间数据共享的方法及终端 | |
CN114915618B (zh) | 升级包下载方法及装置 | |
CN114741256B (zh) | 传感器监听方法、装置及终端设备 | |
CN110602689B (zh) | 一种设备安全操作的方法和装置 | |
CN114862398A (zh) | 一种基于分布式安全设备的风险控制方法以及相关装置 | |
CN114546969A (zh) | 一种文件共享方法、装置及电子设备 | |
CN114579954B (zh) | 安全启动校验的方法及电子设备 | |
WO2021238376A1 (zh) | 功能包的加载方法、装置、服务器和电子设备 | |
CN115794361A (zh) | 管理内存的方法和电子设备 | |
CN114692119A (zh) | 校验应用的方法和电子设备 | |
CN116049812B (zh) | 访问硬件资源的方法和电子设备 | |
US11991040B2 (en) | Network configuration method and device | |
WO2022052962A1 (zh) | 应用模块启动方法和电子设备 | |
CN115017473B (zh) | 授权方法及电子设备 | |
CN115981576B (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 |