CN117769708A - 使用分割权限的电子设备及其运行方法 - Google Patents
使用分割权限的电子设备及其运行方法 Download PDFInfo
- Publication number
- CN117769708A CN117769708A CN202280053392.0A CN202280053392A CN117769708A CN 117769708 A CN117769708 A CN 117769708A CN 202280053392 A CN202280053392 A CN 202280053392A CN 117769708 A CN117769708 A CN 117769708A
- Authority
- CN
- China
- Prior art keywords
- application
- electronic device
- rights
- information
- authority
- 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
- 238000000034 method Methods 0.000 title claims abstract description 23
- 230000011218 segmentation Effects 0.000 claims abstract description 11
- 238000005192 partition Methods 0.000 claims description 19
- 238000004891 communication Methods 0.000 description 41
- 230000006870 function Effects 0.000 description 21
- 238000010586 diagram Methods 0.000 description 19
- 230000004044 response Effects 0.000 description 17
- 238000003860 storage Methods 0.000 description 13
- 238000012545 processing Methods 0.000 description 11
- 238000011161 development Methods 0.000 description 7
- 230000018109 developmental process Effects 0.000 description 7
- 238000013528 artificial neural network Methods 0.000 description 6
- 238000005516 engineering process Methods 0.000 description 6
- 238000009434 installation Methods 0.000 description 6
- 230000008569 process Effects 0.000 description 5
- 238000004590 computer program Methods 0.000 description 4
- 238000012790 confirmation Methods 0.000 description 4
- 238000013473 artificial intelligence Methods 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 238000013527 convolutional neural network Methods 0.000 description 2
- 230000007613 environmental effect Effects 0.000 description 2
- 238000010801 machine learning Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000000306 recurrent effect Effects 0.000 description 2
- 238000012795 verification Methods 0.000 description 2
- WQZGKKKJIJFFOK-GASJEMHNSA-N Glucose Natural products OC[C@H]1OC(O)[C@H](O)[C@@H](O)[C@@H]1O WQZGKKKJIJFFOK-GASJEMHNSA-N 0.000 description 1
- 230000001133 acceleration Effects 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 239000008280 blood Substances 0.000 description 1
- 210000004369 blood Anatomy 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 230000010267 cellular communication Effects 0.000 description 1
- 239000004020 conductor Substances 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 238000011982 device technology Methods 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 239000000446 fuel Substances 0.000 description 1
- 239000008103 glucose Substances 0.000 description 1
- 230000036541 health Effects 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 230000003155 kinesthetic effect Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 230000001537 neural effect Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
- 230000002787 reinforcement Effects 0.000 description 1
- 230000003252 repetitive effect Effects 0.000 description 1
- 238000004904 shortening Methods 0.000 description 1
- 239000004984 smart glass Substances 0.000 description 1
- 230000005236 sound signal Effects 0.000 description 1
- 239000000758 substrate Substances 0.000 description 1
- 238000010200 validation analysis Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/0819—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
- H04L9/0825—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using asymmetric-key encryption or public key infrastructure [PKI], e.g. key signature or public key certificates
-
- 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/31—User authentication
- G06F21/33—User authentication using certificates
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3247—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
-
- 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
- G06F21/629—Protecting access to data via a platform, e.g. using keys or access control rules to features or functions of an application
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
- H04L63/0823—Network architectures or network communication protocols for network security for authentication of entities using certificates
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/14—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- Telephone Function (AREA)
Abstract
公开了一种使用分割权限的电子设备及其运行方法。所公开的电子设备可以包括处理器和存储器,存储器存储有可由处理器执行的至少一个指令,其中当至少一个指令由处理器执行时,处理器:接收在电子设备中安装第一应用的请求;获取与第一应用声明的签名权限相对应的分割权限信息;将分割权限信息应用于数据库;和安装第一应用,分割权限信息被配置以在与第一应用不同的第二应用中使用所述签名权限。
Description
技术领域
本公开的一个或更多个实施例总体上涉及使用分割(division)权限的电子设备及其运行方法。
背景技术
诸如智能手机或平板电脑等电子设备可以包括提供各种功能或服务的应用。应用可以被预先加载到电子设备上,或可以通过诸如应用商店(app store)等单独的应用下载到电子设备上。当应用被安装在电子设备上时,可以通过使用签名密钥设置应用的权限。
发明内容
技术方案
随着诸如智能手机或平板电脑等电子设备技术的发展,各种应用越来越多地被安装和使用在电子设备上,可能存在以下限制,即,由于安全原因,为了准许各种应用的权限,可能需要使用相同的签名。
根据本公开的某些实施例,当声明签名权限的第一应用和期望使用该签名权限的第二应用被利用不同的签名密钥进行签名时,第二应用可以通过使用分割权限有效地获取签名权限。
此外,根据某些实施例,由于获取分割权限的条件基于在应用上可验证的各种信息进行设置,因此满足条件的第二应用可以有效地获取签名权限,而无需在第一应用上执行签名。
根据多个示例实施例,一种电子设备包括处理器;和存储器,存储器存储有可由处理器执行的至少一个指令,并且,当至少一个指令由处理器执行时,处理器接收在电子设备上安装第一应用的请求,获取与在第一应用上声明的签名权限相对应的分割权限的信息,将分割权限信息应用于数据库,和安装第一应用,并且,可以为了使所述签名权限针对不同于第一应用的第二应用而使用所述分割权限信息。
根据示例实施例,一种电子设备包括处理器;和存储器,所述存储器存储有可由处理器执行的至少一个指令,并且,当至少一个指令由处理器执行时,处理器接收安装要求使用在第一应用上声明的签名权限的第二应用的请求,并检查在数据库中是否存在与签名权限相对应的分割权限信息,响应于当在数据库中不存在分割权限信息时,在不获取签名权限的情况下安装第二应用,响应于当在数据库中存在分割权限信息时,确定第二应用是否满足在分割权限信息中设置的获取条件,以及响应于当第二应用满足所述获取条件时,对第二应用准许签名权限并安装第二应用。
根据示例实施例,一种运行电子设备的方法可以包括:接收在电子设备上安装第一应用的请求的操作,获取与在第一应用上声明的签名权限相对应的分割权限信息的操作,将分割权限信息应用于数据库的操作,和安装第一应用的操作。分割权限信息可以被设置以对不同于第一应用的第二应用使用签名权限。
根据示例实施例,一种运行电子设备的方法可以包括:接收在电子设备上安装要求使用由第一应用声明的签名权限的第二应用的请求的操作,检查在数据库中是否存在与签名权限相对应的分割权限信息的操作,和响应于当在数据库中不存在分割权限信息时、在不获取签名权限的情况下安装第二应用的操作,确定第二应用是否满足在分割权限信息中设置的获取条件的操作,和响应于当第二应用满足获取条件时、对第二应用准许签名权限并安装第二应用的操作。
有益效果
根据某些实施例,当获取分割权限的条件得到满足时,分割权限可以在不需要第三方声明的签名权限的情况下获取,由此有效地缩短了开发应用的时间。
此外,根据某些实施例,通过设置分割权限,可以在不需要第三方签名的情况下,将正在开发的用于获取由第三方声明的签名权限的应用传送给第三方,由此允许更为高效且有效的协作。
其他方面将部分地在后面的描述中阐述,并且部分地根据该描述而明显,或者可以通过所呈现的实施例的实践而被习得。
附图说明
图1是示出根据示例实施例的网络环境中的示例电子设备的框图;
图2是示出根据示例实施例的示例程序的框图;
图3和图4是示出根据示例实施例的基于协作获取签名权限的图;
图5是示出根据示例实施例的安卓(Android)框架的图;
图6是示出根据示例实施例的注册分割权限的操作的图;
图7是示出根据实施例的分割权限的获取条件的图;
图8是示出根据示例实施例的共享用户标识符(UID)的图;
图9是示出根据示例实施例的使用分割权限的操作的图;
图10是示出根据示例实施例的电子设备的图。
具体实施方式
在下文中,将参考附图详细地描述多个示例实施例。当参考附图描述示例实施例时,相似的附图标记指代相似的元件,并且与之相关的重复描述将被省略。
图1是示出根据示例实施例的网络环境中的电子设备的框图。
图1是示出根据示例实施例的网络环境100中的电子设备101的框图。参考图1,网络环境100中的电子设备101可以经由第一网络198(例如,短距离无线通信网络)与电子设备102通信,或者经由第二网络199(例如,长距离无线通信网络)与电子设备104和服务器108中的至少一个通信。根据示例实施例,电子设备101可以经由服务器108与电子设备104通信。根据示例实施例,电子设备101可以包括处理器120、存储器130、输入模块150、声音输出模块155、显示模块160、音频模块170和传感器模块176、接口177、连接端178、触觉模块179、相机模块180、电源管理模块188、电池189、通信模块190、用户识别模块(SIM)196和天线模块197。在一些示例实施例中,可以从电子设备101中省略上述部件中的至少一个(例如,连接端178),或者可以在电子设备101内添加一个或更多个其他部件。在一些示例实施例中,部件中的一些(例如,传感器模块176、相机模块180或天线模块197)可以集成为单个部件(例如,显示模块160)。
处理器120可以执行例如软件(例如程序140)以控制连接到处理器120的电子设备101的至少一个其他部件(例如硬件或软件部件),并且可以执行各种数据处理或计算。根据示例实施例,作为数据处理或计算的至少一部分,处理器120可以将从另一个部件(例如,传感器模块176或通信模块190)接收到的命令或数据存储在易失性存储器132中,处理存储在易失性存储器132中的命令或数据,并将所得到的数据存储在非易失性存储器134中。根据示例实施例,处理器120可以包括主处理器121(例如,中央处理单元(CPU)或应用处理器(AP))和可独立于主处理器121或者与主处理器121相结合地工作的辅助处理器123(例如图形处理单元(GPU)、神经处理单元(NPU)、图像信号处理器(ISP)、传感器中枢处理器或通信处理器(CP))。例如,当电子设备101包括主处理器121和辅助处理器123时,辅助处理器123可以被适配为与主处理器121相比消耗更低的功率,或者特定于指定的功能。辅助处理器123可以与主处理器121分开实现,或者可以作为主处理器121的一部分来实现。
例如,辅助处理器123可以在主处理器121处于不活动(例如,休眠)状态时代替主处理器121控制与电子设备101的部件中的至少一个部件(例如,显示模块160、传感器模块176或通信模块190)相关的功能或状态中的至少一些功能或状态,或者在主处理器121处于活动状态(例如,运行应用)时与主处理器121一起控制与电子设备101的部件中的至少一个部件(例如,显示模块160、传感器模块176或通信模块190)相关的功能或状态中的至少一些功能或状态。根据示例实施例,辅助处理器123(例如,ISP或CP)可以作为与辅助处理器123功能上相关的另一部件(例如,相机模块180或通信模块190)的一部分被实现。根据示例实施例,辅助处理器123(例如,NPU)可以包括被指定用于人工智能模型处理的硬件结构。可以通过机器学习生成人工智能模型。这种学习可以由例如执行人工智能的电子设备101来执行,或者可以经由单独的服务器(例如,服务器108)来执行。学习算法可以包括但不限于例如监督学习、无监督学习、半监督学习或强化学习。AI模型可以包括多个人工神经网络层。人工神经网络可以包括例如深度神经网络(DNN)、卷积神经网络(CNN)、循环神经网络(RNN)、受限波尔兹曼机(RBM)、深度置信网络(DBN)、双向循环深度神经网络(BRDNN)、深度Q网络或上述网络中的两个或更多个的组合,但是本公开不限于此。除了硬件结构之外,AI模型可以另外地或可替代地包括软件结构。
存储器130可以存储由电子设备101的至少一个部件(例如,处理器120或传感器模块176)使用的各种数据。各种数据可以包括例如软件(例如,程序140)以及针对与其相关的命令的输入数据或输出数据。存储器130可以包括易失性存储器132或非易失性存储器134。非易失性存储器134可以包括内部存储器136和外部存储器138。
程序140可以作为软件被存储在存储器130中,并且可以包括例如操作系统(OS)142、中间件144或应用146。
输入模块150可以从电子设备101的外部(例如,用户)接收要由电子设备101的其他部件(例如,处理器120)使用的命令或数据。输入模块150可以包括例如麦克风、鼠标、键盘、键(例如,按钮)或数字笔(例如,手写笔)。
声音输出模块155可以向电子设备101的外部输出声音信号。声音输出模块155可以包括例如扬声器或接收器。扬声器可以用于一般目的,诸如播放多媒体或播放唱片。接收器可以用于传入呼叫。根据示例实施例,接收器可以与扬声器分开实现,或者可以作为扬声器的一部分被实现。
显示模块160可以在视觉上向电子设备101的外部(例如,用户)提供信息。显示模块160可以包括例如用于控制显示器、全息图设备或投影仪的控制电路、以及用于控制该显示器、全息图设备和投影仪中的对应一个的控制电路。根据示例实施例,显示模块160可以包括被适配为检测触摸的触摸传感器,或被适配为测量通过触摸引发的力的强度的压力传感器。
音频模块170可以将声音转换成电信号,或者将电信号转换成声音。根据示例实施例,音频模块170可以经由输入模块150获得声音,或者经由声音输出模块155或与电子设备101直接或无线地连接的外部电子设备(例如,电子设备102,诸如扬声器或耳机)输出声音。
传感器模块176可以检测电子设备101的操作状态(例如,功率或温度)或电子设备101外部的环境状态(例如,用户的状态),并且生成与所检测到的状态相对应的电信号或数据值。根据示例实施例,传感器模块176可以包括例如手势传感器、陀螺仪传感器、大气压力传感器、磁性传感器、加速度传感器、握持传感器、接近传感器、颜色传感器、红外(IR)传感器、生物特征传感器、温度传感器、湿度传感器、或照度传感器。
接口177可以支持一个或更多个指定协议,该一个或更多个指定协议用于直接(例如,有线地)或无线地将电子设备101与外部电子设备(例如,电子设备102)耦接。根据示例实施例,接口177可以包括例如高清晰度多媒体接口(HDMI)、通用串行总线(USB)接口、安全数字(SD)卡接口、或音频接口。
连接端178可以包括可以将电子设备101与外部电子设备(例如,电子设备102)物理连接的连接器。根据示例实施例,连接端178可以包括例如HDMI连接器、USB连接器、SD卡连接器、或音频连接器(例如,耳机连接器)。
触觉模块179可以将电信号转换成用户可以经由其触觉或动觉来辨识的机械刺激(例如,振动或运动)或电刺激。根据示例实施例,触觉模块179可以包括例如电机、压电元件或电刺激器。
相机模块180可以捕获静止图像和运动图像。根据示例实施例,相机模块180可以包括一个或更多个透镜、图像传感器、图像信号处理器或闪光灯。
电源管理模块188可以管理供应给电子设备101的电力。根据示例实施例,可以将电源管理模块188实现为例如电源管理集成电路(PMIC)的至少一部分。
电池189可以向电子设备101的至少一个部件供应电力。根据示例实施例,电池189可以包括例如不可再充电的一次电池、可再充电的二次电池、或燃料电池。
通信模块190可以支持在电子设备101与外部电子设备(例如,电子设备102、电子设备104或服务器108)之间建立直接(例如,有线)通信信道或无线通信信道并且经由所建立的通信信道执行通信。通信模块190可以包括可独立于处理器120工作的一个或更多个通信处理器(例如,AP)并且支持直接(例如,有线)通信或无线通信。根据示例实施例,通信模块190可以包括无线通信模块192(例如,蜂窝通信模块、短距离无线通信模块或全球导航卫星系统(GNSS)通信模块)或有线通信模块194(例如,局域网(LAN)通信模块或电力线通信(PLC)模块)。这些通信模块中的对应一个可以经由第一网络198(例如,短距离通信网络,诸如蓝牙TM、无线保真(WiFi)直连或红外数据协会(IrDA))或第二网络199(例如,长距离通信网络,诸如传统蜂窝网络、5G网络、下一代通信网络、因特网或计算机网络(例如,LAN或广域网(WAN))与外部电子设备104通信。这些各种类型的通信模块可以作为单个部件(例如,单个芯片)被实现,或者可以作为彼此分开的多部件(例如,多芯片)被实现。无线通信模块192可以使用存储在SIM 196中的用户信息(例如,国际移动用户身份(IMSI))来对诸如第一网络198或第二网络199的通信网络中的电子设备101进行识别和认证。
无线通信模块192可以支持4G网络之后的5G网络和下一代通信技术,例如,新无线(NR)接入技术。NR接入技术可以支持增强型移动宽带(eMBB)、大规模机器类型通信(mMTC)、或超可靠低延时通信(URLLC)。无线通信模块192可以支持高频带(例如,毫米波带)以实现例如高的数据传输速率。无线通信模块192可以支持各种技术,诸如例如波束成形、大规模多输入多输出(MIMO)、全维MIMO(FD-MIMO)、阵列天线、模拟波束成形或大规模天线,以保证高频带中的性能。无线通信模块192可以支持电子设备101、外部电子设备(例如,电子设备104)或网络系统(例如,第二网络199)中定义的各种要求。根据示例实施例,无线通信模块192可以支持用于实现eMBB的峰值数据速率(例如,20Gbps或以上)、用于实现mMTC的损耗覆盖(例如,164dB或更小)、或用于实现URLCC的U-平面延时(例如,在下行链路(DL)和上行链路(UL)中的每一个中0.5ms或更小,或1ms或更小的往返时间)。
天线模块197可以向电子设备101的外部(例如,外部电子设备)传输信号或电力或者从电子设备101的外部(例如,外部电子设备)接收信号或电力。根据示例实施例,天线模块197可以包括天线,该天线包括包括导电材料的辐射元件或形成在基板(例如,印刷电路板(PCB))中或基板上的导电图案。根据示例实施例,天线模块197可以包括多个天线(例如,阵列天线)。在这种情况下,适于诸如第一网络198或第二网络199的通信网络中使用的通信方案的至少一个天线可以例如由通信模块190从多个天线中选择。可以经由至少一个所选择的天线在通信模块190与外部电子设备之间传输信号或电力,或接收信号或电力。根据示例实施例,可以将除辐射元件以外的另一部件(例如,射频集成电路(RFIC))另外地形成为天线模块197的一部分。
根据示例实施例,天线模块197可以形成毫米波天线模块。根据示例实施例,毫米波天线模块可以包括:PCB;RFIC,该RFIC布置在PCB的第一表面(例如,底表面)上或者布置为与第一表面相邻,该RFIC能够支持特定高频带(例如,毫米波带);以及多个天线(例如,阵列天线),该多个天线布置在PCB的第二表面(例如,顶表面或侧表面)上或者布置为与第二表面相邻,该多个天线能够在所指定的高频带中传输或接收信号。
上述部件中的至少一些部件可以相互耦接并且经由外设间通信方案(例如,总线、通用输入和输出(GPIO)、串行外设接口(SPI)或移动工业处理器接口(MIPI))在它们之间传递信号(例如,命令或数据)。
根据示例实施例,可以经由与第二网络199耦接的服务器108在电子设备101与外部电子设备104之间传输或接收命令或数据。外部电子设备102和104中的每一个可以是与电子设备101相同的类型或与电子设备101不同的类型的设备。根据示例实施例,可以在一个或更多个外部电子设备(例如外部设备102和104、以及服务器108)处运行将由电子设备101运行的操作中的全部操作或一些操作。例如,如果电子设备101需要自动地或者响应于来自用户或另一设备的请求执行功能或服务,那么作为运行该功能或该服务的代替或补充,电子设备101可以请求一个或更多个外部电子设备执行该功能或该服务的至少一部分。接收请求的一个或更多个外部电子设备可以执行所请求的功能或服务的至少一部分,或与该请求相关的额外功能或额外服务,并且向电子设备101传输执行的结果。电子设备101可以在进一步处理结果的情况下或在不用进一步处理结果的情况下提供该结果,作为对该请求的答复的至少一部分。为此目的,例如,可以使用云计算、分布式计算、移动边缘计算(MEC)或客户端-服务器计算技术。电子设备101可以通过使用例如分布式计算或移动边缘计算来提供超低延时服务。在另一示例实施例,外部电子设备104可以包括物联网(IoT)设备。服务器108可以是使用机器学习和/或神经网络的智能服务器。根据示例实施例,外部电子设备104或服务器108可以被包括在第二网络199中。电子设备101可以被应用于基于5G通信技术或IoT相关技术的智能服务(例如,智能家居、智能城市、智能汽车或医疗保健)。
图2是示出根据示例实施例的示例程序140的框图200。根据示例实施例,程序140可以包括用于控制电子设备101的一个或更多个资源的OS142、中间件144或可在OS142中运行的应用146。OS142可以包括例如AndroidTM、iOSTM、WindowsTM、SymbianTM、TizenTM或BadaTM。例如,程序140的至少一部分可以在制造电子设备101时预加载在电子设备101上,或者可以在用户使用电子设备101时从或由外部电子设备(例如,电子设备102或104、或服务器108)下载或更新。
OS142可以控制管理(例如,分配或收集)电子设备101的一个或更多个系统资源(例如,进程、存储器或电源)。另外地或替代地,OS142可以包括用于驱动电子设备101的其他硬件设备的其他一个或更多个驱动程序,其他硬件设备例如是输入模块150、声音输出模块155、显示模块160、音频模块170、传感器模块176、接口177、触觉模块179、相机模块180、电源管理模块188、电池189、通信模块190、SIM196或天线模块197。
中间件144可以向应用146提供各种功能,使得从电子设备101的一个或更多个资源提供的功能或信息可以被应用146使用。中间件144可以包括例如应用管理器201、窗口管理器203、多媒体管理器205、资源管理器207、电力管理器209、数据库管理器211、包管理器213、连接管理器215、通知管理器217、位置管理器219、图形管理器221、安全管理器223、呼叫管理器225或语音识别管理器227。
应用管理器201可以例如管理应用146的生命周期。窗口管理器203可以例如管理在屏幕上使用的一个或更多个图形用户界面(GUI)资源。多媒体管理器205可以例如识别待被用于播放媒体文件的一种或更多种格式,并且可以通过使用适合于从一种或更多种格式中选择的相对应的格式的编码解码器对媒体文件当中的相应媒体文件进行编码或解码。资源管理器207可以例如管理应用146的源代码或存储器130的存储空间。电力管理器209可以例如管理电池189的容量、温度或功率,并且可以至少部分基于电池189的容量、温度或功率当中的相应信息来确定或提供与待被用于电子设备101的操作的相关信息。根据示例实施例,电力管理器209可以与电子设备101的基本输入/输出系统(BIOS)(未示出)协同工作。
数据库管理器211例如可以生成、搜索或修改将由应用146使用的数据库。包管理器213例如可以管理安装或更新以包文件的形式分发的应用。连接管理器215例如可以管理电子设备101与外部电子设备之间的无线连接或直接连接。通知管理器217例如可以提供用于通知用户发生指定事件(例如,来电、消息或警报)的功能。位置管理器219例如可以管理电子设备101的位置信息。图形管理器221例如可以管理要提供给用户的一种或更多种图形效果或者可以管理与一种或更多种图形效果相关的用户界面。
安全管理器223例如可以提供系统安全或用户认证。呼叫管理器225例如可以管理由电子设备101提供的语音呼叫功能或视频呼叫功能。语音识别管理器227可以将例如用户的语音数据传输到服务器108,并且可以至少部分地基于语音数据或至少部分地基于该语音数据转换的文本数据从服务器108接收与要在电子设备101中运行的功能相对应的命令。根据示例实施例,中间件144可以动态地删除一些现有部件或可以增加新的部件。根据示例实施例,中间件144的至少一部分可以被包括作为OS142的一部分或者可以被实现为独立于OS142的另一软件。
应用146可以包括例如主页251、拨号器253、短消息服务(SMS)/多媒体信息服务(MMS)255、即时消息(IM)257、浏览器259、相机261、闹钟263、联系人265、语音识别267、电子邮件269、日历271、媒体播放器273、相册275、手表277、健康279(例如,例如,用于测量锻炼程度或生物特征信息(诸如血糖))或环境信息281(例如,用于测量大气压力、湿度或温度的信息)应用。根据示例实施例,应用146还可以包括能够支持电子设备101与外部电子设备之间的信息交换的信息交换应用(未示出)。信息交换应用例如可以包括适于向外部电子设备传送指定信息(例如,呼叫、消息或警报)的通知转发应用或适于管理外部电子设备的设备管理应用。通知转发应用可向外部电子设备传送与在电子设备101的另一应用(例如,电子邮件应用269)中发生特定事件(例如,接收到电子邮件)相对应的通知信息。另外或可选地,通知转发应用可从外部电子设备接收通知信息并向电子设备101的用户提供通知信息。
设备管理应用可以控制与电子设备101通信的外部电子设备或外部电子设备的部件的一部分(例如,显示模块或相机模块)的电力(例如,开启或关闭)或功能(例如,亮度、分辨率或焦距)。另外或可替代地,设备管理应用可以支持在外部电子设备中运行的应用的安装、删除或更新。
根据某些示例实施例的电子设备可以是各种类型的电子设备中的一个。电子设备可以包括例如便携式通信设备(例如,智能手机)、计算机设备、便携式多媒体设备、便携式医疗设备、相机、可穿戴设备、或家用电器设备等等。根据本公开的示例实施例,电子设备不限于上述那些电子设备。
应当理解,本公开的某些示例实施例和在本文中使用的术语不旨在将本文阐述的技术特征限于特定实施例并且包括针对对应实施例的各种改变、等同例或替换例。关于附图的描述,类似的附图标记可以用于指类似或相关的部件。应当理解,除非相关上下文另外清楚地指示,否则对应于项目的名词的单数形式可以包括一个或更多个事物。如本文所使用的,“A或B”、“A和B中的至少一个”、“A或B中的至少一个”、“A、B或C”、“A、B和C中的至少一个”以及“A、B或C中的至少一个”,这样的短语中的每一个可以包括在这些短语中的对应一个中一起枚举的项目中的任意一个或所有可能的组合。诸如“第1”和“第2”或“第一”和“第二”这样的术语可以用于简单地区分所讨论的部件和其他部件,而不在其他方面(例如,重要性或次序)方面限制部件。应当理解,如果一元件(例如,第一元件)在有或没有术语“可操作地”或“通信地”的情况下,被称为“与”另一元件(例如,第二元件)“耦接”、“耦接到”另一元件(例如,第二元件)、“与”另一元件(例如,第二元件)“连接”、或“连接到”另一元件(例如,第二元件),则该元件可以直接(例如,有线地)、无线地或经由第三元件与另一元件耦接。
如结合本公开的各种示例实施例所使用的,术语“模块”可以包括以硬件、软件、或固件实现的单元,并且可以与其他术语互换地使用,例如,“逻辑”、“逻辑块”、“部件(part)”或“电路”。模块可以是被适配为执行一个或更多个功能的单个整体部件,或它的最小单元或部件。例如,根据示例实施例,可以以专用集成电路(ASIC)的形式实现该模块。
本文所阐述的某些示例实施例可以作为软件(例如,程序140)来实现,该软件包括存储在存储介质(例如,内部存储器136或外部存储器138)中的一个或更多个指令,该指令可由机器(例如,电子设备101)读取。例如,机器(例如,电子设备101)的处理器(例如,处理器120)可以调用存储在存储介质中的一个或更多个指令中的至少一个指令并执行该至少一个指令。这使得机器根据被调用的至少一个指令工作,以执行至少一种功能。一个或更多个指令可以包括由编译器生成的代码或由解释器可执行的代码。机器可读存储介质可以以非暂时性存储介质的形式提供。这里,术语“非暂时性”仅仅意指存储介质是有形设备,并且不包括信号(例如,电磁波),但是这一术语不区分数据永久存储在存储介质中的情况与数据暂时存储在存储介质中的情况。
根据示例实施例,根据本公开的某些示例实施例的方法可以被包括和提供在计算机程序产品中。计算机程序产品可以作为产品在卖方与买方之间交易。计算机程序产品可以以机器可读存储介质(例如,光盘只读存储器(CD-ROM))的形式分发或可以经由应用商店(例如,Play StoreTM)或在两个用户设备(例如,智能手机)之间在线直接分发(例如,下载或上传)。如果在线分发,计算机程序产品的至少一部分可以暂时生成或至少暂时存储在机器可读存储介质中,诸如,制造商的服务器、应用商店的服务器或中继服务器的存储器。
根据某些示例实施例,上述部件中的每个部件(例如,模块或程序)可以包括单个实体或多个实体,并且多个实体中的一些可以是独立地布置在不同的部件中。根据某些示例实施例,可以省略上述部件中的一个或更多个,或者可以添加一个或更多个部件。替代地或附加地,多个部件(例如,模块或程序)可以集成在单个部件中。在这种情况下,根据某些示例实施例,集成的部件仍然可以以与多个部件中的对应一个部件在集成之前执行的一个或更多个功能相同或类似的方式执行该多个部件中的每个部件的一个或更多个功能。根据某些示例实施例,由模块、程序或其他部件执行的操作可以顺序地、并行地、重复地或以启发式方法执行,或者该操作中的一个或更多个可以以不同的顺序执行或省略,或可以添加一个或更多个其他操作。
图3和图4是示出根据示例实施例的基于协作获取签名权限的图。
图3示出了公司B 320和公司C 330需要公司A 310的签名权限的情况的示例。虽然为便于描述提供了公司A 310、公司B 320和公司C 330作为示例,但示例并不限于此,下面的描述也可以适用于例如多个开发实体需要多个不同签名密钥的情况。
通常,在应用被安装在安卓平台上时,应用可以获取可以根据特定的条件使用的权限。例如,为了从一个应用获取签名权限,声明签名权限的应用的签名和使用该签名权限的应用的签名可能需要相同。例如,当第一应用声明了由第二应用定义的签名权限,并且第一应用和第二应用使用相同的证书进行签名时,在基于安卓的系统中安装时,可以对第一应用准许该签名权限。在其他情况下,可能不会对第一应用准许该签名权限。
由于签名权限的这种实现方式具有较高的保护级别,因此可以用于可能不是每个人都能访问的关键功能相关的权限。用于签名的私钥可以存储在具有高安全性的存储器的位置,由此拒绝未经授权的访问。例如,受限制的数据(例如,系统状态、联系信息、用户的生物特征信息、财务信息和照片)和/或受限制的操作(例如,连接到配对设备、录音、拍照、指纹识别、虹膜识别、面部识别和支付)可能需要签名权限。多数公司可以通过基于签名权限和共享UID设置他们的关键功能来构建他们的应用。将参考图8对共享UID进行详细描述。
在这种环境下,当从事应用项目协作的公司B 320意图使用公司A310声明的权限1时,根据上述限制,可能需要公司B 320将公司B 320开发的应用的安卓应用程序包(APK)传送给公司A 310,由公司A 310签名并传送回公司B 320。因为每当公司B 320需要检查它正在开发的应用是否正常工作时,就需要这些操作,所以这种开发范例既繁琐又耗时。此外,即使该应用是由公司B 320开发的,即使公司B可以承担将开发的应用传送给终端用户的风险,但因为该应用需要公司A 310的签名,该应用也可能不包括在公司B 320构建的应用生态系统中。这可以同样适用于公司C 330使用公司A 310声明的权限2开发应用的情况。
参考图4,可以通过使用分割权限来简化协作期间签名权限的获取。公司A可以开发应用A,并声明签名级权限1和2,并且可以不共享UID。公司B可能希望对已开发的应用B使用权限1,并且其共享UID可以是bbb。公司C可能期望对已开发的应用C使用权限2,并且其共享UID可以是ccc。
在操作410中,公司A的电子设备可以添加与所声明的签名权限的获取条件相关的分割权限信息。例如,电子设备可以将权限1的获取条件设置为基于签名密钥B的签名,并且将权限2的获取条件设置为UID为ccc。例如,签名密钥可以包括私钥。
在操作420中,公司A的电子设备可以将权限1的分割权限信息传送给公司B的电子设备。另外,公司A的电子设备也可以将权限2的分割权限信息传送给公司C的电子设备。
在操作430中,公司B的电子设备可以使用接收到的分割权限信息向公司A传送应用,并向应用B添加权限1,而无需获取公司A的签名。例如,由于权限1的获取条件对应于签名密钥为B,因此利用签名密钥B签名的应用B可以有效地获取权限1。应用B无需公司A直接签名就能够获取权限1,应用B在开发完成后可以被分发。
在操作440中,公司C的电子设备可以使用接收到的分割权限信息将应用C传送给公司A,并在不需要获取公司A签名的情况下向应用C添加权限2。例如,由于权限2的获取条件对应于共享UID为ccc,因此共享UID被设置为ccc的应用C可以有效获取权限2。应用C无需公司A直接签名就能获取权限2,应用C在开发完成后可以被分发。
因此,只要权限1和权限2满足各自的获取条件,则无需公司A直接签名即可获取权限1和权限2。然后,如上所述,可以避免每当需要检查公司B和C公司开发的应用的操作时需要公司A签名的麻烦。此外,应用可以在开发后被分发,从而可以有效地减少开发所需的时间。获取条件可以包括签名信息、包名称、被允许使用签名权限的应用的共享UID或其组合,但示例实施例不限于此,并且获取条件可以不受限制地被设置为该应用中所包括的各种信息。
以下,将参考附图详细描述分割权限。
图5是示出根据示例实施例的安卓框架的图。
参考图5,电子设备(例如,智能手机)的安卓框架500可以包括包管理器510(例如,图2的包管理器213)、权限管理器520和分割权限模块530。
当在电子设备上安装或删除应用时,包管理器510可以注册或移除应用信息。应用信息可以包括电子设备上每个包名称的签名信息、UID和可利用的权限。但是,应用信息不限于此,本文的描述可以适用于其他应用信息。
权限管理器520可以是对应用信息中的权限执行处理的安卓模块。权限管理器520可以提取要在安装应用时声明或使用的权限列表,并且可以操作以获取满足每个应用特定条件的权限。
分割权限模块530可以是用于处理上述分割权限的模块,并且可以包括分割权限管理器531和分割权限数据库532。
在安装应用时,分割权限管理器531可以检查应用的APK中是否存在声明为分割权限的条目。当存在这种条目时,分割权限管理器531可以将该权限存储在分割权限数据库532中。分割权限管理器531可以检查要安装的应用意图使用的权限是否存在于分割权限数据库532中。当该权限存在于分割权限数据库532中时,分割权限管理器531可以检查该权限的获取条件,以在该应用满足该条件时处理该权限的获取。
分割权限数据库532可以存储安装在电子设备上的应用的分割权限信息。分割权限数据库532可以映射权限和该权限的获取条件,并存储该映射的结果。获取条件可以包括被允许使用签名权限的应用的签名信息、包名称、共享UID或其组合。但是,获取条件不限于此,也可以应用其他获取条件。
存储在分割权限数据库532中的分割权限信息的示例可以如下所示。
[表1]
例如,权限1的获取条件对应于利用值为‘123456’的签名密钥所签名的签名,权限2的获取条件对应于共享UID值为‘123’,并且权限3的获取条件对应于利用值为‘222222’的签名密钥所签名的签名以及包名称为‘com.android.example01’。
图6是示出根据示例实施例的注册分割权限的操作的图。
在下面的示例中,操作可以按照所示的顺序执行,也可以不按照所示的顺序执行。例如,可以改变操作的顺序,并且可以并行执行操作中的至少两个操作。操作601至625可以由电子设备(例如,图1的电子设备101)的至少一个部件(例如,图1的处理器120)执行。电子设备可以是图4的示例中描述的注册分割权限信息的公司A的终端,并且图6所示的包管理器(例如,图2的包管理器213和图5的包管理器510)、权限管理器(例如,图5的权限管理器520)、以及分割权限模块(例如,图5的分割权限模块530)可以被包括在该电子设备中。
在操作601中,包管理器可以接收应用A的安装请求。
在操作602中,包管理器可以提取应用A的权限信息,并将该权限信息传送给权限管理器。
在操作603中,权限管理器可以从包管理器接收包括在应用A中的权限信息,并请求分割权限管理器(例如,图5的分割权限管理器531)确认分割权限信息。尽管为便于描述,在图6中将分割权限信息确认请求的请求者图示为权限管理器,但是包管理器可以基于安卓框架(例如,图5的安卓框架500)的结构直接请求对分割权限信息的确认。
在操作604中,分割权限管理器可以响应于确认请求,检查该分割权限信息是否存储在分割权限数据库(例如,图5的分割权限数据库532)中。分割权限信息可以包括作为分割权限目标的签名权限的信息及其获取条件。
在操作605中,可以将确认结果从分割权限数据库传送给分割权限管理器。例如,当确认分割权限数据库中不包含正在考虑的分割权限信息时,随后可以执行操作610。另一方面,当确认分割权限数据库中存在分割权限信息时,随后可以执行操作620。
在分割权限数据库不具有确认请求所针对的新的分割权限信息时,可以执行操作610以注册该分割权限信息。在操作611中,分割权限管理器可以请求该分割权限信息在分割权限数据库中的新注册。在操作612中,可以从分割权限数据库向分割权限管理器传送指示分割权限信息的新注册已完成的通知。在操作613中,分割权限管理器可以将新注册完成的通知传送给包管理器。在操作614中,包管理器可以在电子设备中安装应用A。
当在分割权限数据库中存在分割权限信息时,可以执行操作620以更新分割权限信息。在操作621中,可以将先前存储在分割权限数据库中的分割权限信息传送给分割权限管理器。在操作622中,分割权限管理器可以请求分割权限数据库对安装请求所针对的应用A更新分割权限信息。在操作623中,当分割权限数据库中的分割权限信息被更新时,更新的通知可以被传送给分割权限管理器。在操作624中,分割权限管理器可以向包管理器传送指示分割权限信息的更新完成的通知。在操作625中,包管理器可以在电子设备中安装应用A。
根据示例实施例,运行电子设备的方法可以包括接收在电子设备上安装第一应用的请求、获取与第一应用声明的签名权限相对应的分割权限信息、将该分割权限信息应用于数据库、和安装第一应用。可以设置分割权限信息以对不同于第一应用的第二应用使用该签名权限。
第一应用和第二应用可以是利用不同的签名密钥进行签名的应用。
分割权限信息可以包括由第一应用声明的签名权限的获取条件。
获取条件可以包括被允许使用签名权限的第二应用的签名信息、包名称和/或共享UID。
根据示例实施例,运行电子设备的方法可以包括检查分割权限信息是否存储在数据库中,响应于分割权限信息未被存储在数据库中将分割权限信息存储在数据库中,以及响应于分割权限信息存储在数据库中更新分割权限信息。
图7是示出根据示例实施例的分割权限的获取条件的图。
参考图7,示出的是‘manifest.xml’文件,其中添加了分割权限的获取条件。在图7所示的‘manifest.xml’文件中,包名称为‘package01’,其可以用于识别电子设备(例如,图1的电子设备101)上的应用程序包。安卓版本代码和安卓版本名称均可指示‘manifest.xml’文件的版本,并且在图7的示例中可以是“1”。权限可以在‘manifest.xml’文件的底部定义,权限的名称可以设置为‘Permission1’,权限的保护级别可以为‘签名权限’。另外,该权限可以被设置为分割权限,分割权限的获取条件可以包括值为‘123456789’的签名密钥。但是,获取条件710不限于上述,可以不受限制地应用包括在应用中的各种信息,诸如包名称和/或共享UID。
图8是示出根据示例实施例的共享UID的图。参考图8,示出的是将共享UID用作分割权限的获取条件的应用A 810和应用B 820。
在安装安卓应用时,可以基于应用安装文件中的包生成唯一的ID值。唯一的ID值在本文也可以称为UID。可以根据UID的值来确定对电子设备的内部资源或存储空间的访问权限。
此外,安卓可以提供共享UID构思。通过使用共享UID构思,多个应用可以共享和使用单个UID。例如,相同的值可以通过在彼此相关的两个或更多个不同的应用中的每一个应用的‘AndroidManifest’文件中使用‘android:SharedUserId’标签被设置,相应的应用可以共享和使用单个UID,并使用相同的签名密钥进行应用签名。
如图8所示,当两个或更多个应用使用相同的UID‘1234’时,分配给电子设备的所有UID都可以是相同的——‘1234’,并且共享UID可以实现电子设备上的所有应用访问同一资源或存储空间并进行权限继承。由于应用使用相同的UID‘1234’,因此应用的所有资源UID可以都是相同的——‘1234’。本文描述的资源UID可以指相应的应用包括或使用的数据的标识信息。资源UID中包括的首选项可以指示适用于应用的设置值和/或选项值,并且内部存储器可以指示应用所存储在的或被该应用使用的存储空间。权限可以指示应用可以由应用使用的权限。
例如,当应用A 810和应用B 820使用同一个共享UID时,即使应用B 820没有直接获取由应用A 810获取的权限,应用B 820也可以直接使用由应用A 810获取的权限。
图9是示出根据示例实施例使用分割权限的操作的图。
在下面的示例中,操作可以按照所示的顺序执行,也可以不按照所示的顺序执行。例如,可以改变操作的顺序,并且可以并行执行操作中的至少两个操作。操作901至924可以由电子设备(例如,图1的电子设备101)的至少一个部件(例如,图1的处理器120)来执行。电子设备可以是参考图4所述的使用分割权限信息的公司B或C的终端,并且图9所示的包管理器(例如,图2的包管理器213和图5的包管理器510)、权限管理器(例如,图5的权限管理器520)、以及分割权限模块(例如,图5的分割权限模块530)可以被包括在该电子设备中。
在操作901中,包管理器可以接收意图使用应用A的权限1的应用B的安装请求。应用A和应用B可以是利用不同的签名密钥进行签名的应用。在安卓系统中,对于要使用应用A的签名权限的应用B来说,应用B可能还需要利用与应用A相同的签名密钥进行签名。然而,通过使用上述分割签名,利用不同签名密钥签名的应用B也可以有效地获取应用A的签名权限。例如,应用A可以利用注册分割权限信息的公司A的签名密钥进行签名,并且应用B可以利用使用该分割权限信息的公司B或C的签名密钥进行签名,如上参考图4所述。
在操作902中,包管理器可以将应用B的权限信息传送给权限管理器。权限信息可以包括指示由公司A声明的权限1要被使用的信息。
在操作903中,权限管理器可以请求分割权限管理器(例如,图5的分割权限管理器531)检查应用B所期望的权限1的分割权限信息是否存在。例如,权限管理器可以检查应用B已声明其意图使用的权限中是否存在未由应用B声明的权限。在本示例中,当存在由另一应用声明的权限时,权限管理器可以请求检查该权限的分割权限信息是否存在。
在操作904中,分割权限管理器可以根据检查请求而检查分割权限数据库(例如,图5的分割权限数据库532)中是否存在权限1的分割权限信息。
在操作905中,可以将检查结果从分割权限数据库传送给分割权限管理器。例如,当确认在分割权限数据库中没有权限1的分割权限信息时,随后可以执行操作910。另一方面,当确认在分割权限数据库中存在权限1的分割权限信息时,随后可以执行操作920。
当权限1未在分割权限数据库中被设置为分割权限时,可以执行操作910。例如,在操作911中,分割权限管理器可以向分割管理器传送指示权限1与分割权限信息不对应的信息。在操作912中,分割权限管理器可以向包管理器传送指示因为权限1与分割权限不对应所以应用B的权限1无法获取的信息,并且声明权限1的应用A的签名密钥与意图使用权限1的应用B的签名密钥不同。在操作913中,包管理器可以在没有获取权限1的情况下将应用B安装到电子设备上。
当权限1被存储在分割权限数据库中并与分割权限相对应时,可以执行操作920。例如,在操作921中,分割权限管理器可以验证应用B是否已满足获取存储在分割权限数据库中的分割权限信息的条件。这一获取条件可以包括被允许使用签名权限的应用的签名信息、包名称和共享UID信息中的一者或更多者。然而,获取条件不限于此,并且可以不受限制地应用包括在应用中的各种信息。在操作922中,分割权限管理器可以将应用B的验证结果传送给权限管理器。在操作923中,当基于验证结果验证出应用B满足获取条件时,权限管理器可以向包管理器通知应用B成功获取了权限1。在操作924中,包管理器可以对应用B准许权限1,并将应用B安装到电子设备上。当基于验证结果验证出应用B不满足获取条件时,权限管理器可以将结果通知包管理器,并且包管理器可以在不获取权限1的情况下将应用B安装到电子设备上。
根据本公开的示例实施例,运行电子设备的方法可以包括:接收在电子设备上安装要求使用由第一应用声明的签名权限的第二应用的请求,检查数据库中是否存在与签名权限相对应的分割权限信息,响应于数据库中不存在分割权限信息、在不获取签名权限的情况下安装第二应用,响应于数据库中存在分割权限、确定第二应用是否满足在分割权限信息中设置的获取条件,以及响应于第二应用满足获取条件、对第二应用准许签名权限并安装第二应用。
运行电子设备的方法还可以包括,响应于第二应用不满足获取条件,在不获取签名权限的情况下安装第二应用。
图10是示出根据示例实施例的电子设备的图。
参考图10,电子设备1000(例如,图1的电子设备101)可以包括存储器1010(例如,图1的存储器130)和处理器1020(例如,图1的处理器120)。
存储器1010可以包括计算机可读指令。当存储在存储器1010中的指令由处理器1020执行时,处理器1020可以执行上述操作。存储器1010可以是易失性存储器或非易失性存储器。处理器1020可以是执行指令或程序或控制电子设备1000的设备。处理器1020可以包括微处理器或任何合适类型的处理电路,诸如一个或更多个通用处理器(例如,基于ARM的处理器)、数字信号处理器(DSP)、可编程逻辑器件(PLD)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)、图形处理单元(GPU)、视频卡控制器等。此外,应认识到,当通用计算机访问用于实现本文所示处理的代码时,代码的执行将通用计算机转换为用于执行本文所示处理的专用计算机。图中提供的某些功能和步骤可以以硬件、软件或两者的组合实现,并且可以在计算机的编程指令中全部或部分地执行。本文中的权利要求的元件不应被解释为手段加功能,除非该元件使用短语“用于……的手段”明确引述。此外,技术人员理解并了解,“处理器”或“微处理器”可以是所主张的公开中的硬件。
电子设备1000可以实现为用户终端。用户终端可以包括例如各种计算设备(例如,移动电话、智能手机、笔记本电脑、个人电脑(PC)、平板电脑、电子书设备等)、各种可穿戴设备(例如,智能手表、智能眼镜、头戴式显示器(HMD)、智能服装等)、各种家用电器(例如,智能扬声器、智能电视、智能冰箱等)和其他设备,诸如智能车辆、智能亭、物联网(IoT)设备、行走辅助装置(WAD)、无人机、机器人等。
电子设备1000可以接收在电子设备1000上安装第一应用的请求,获取与由第一应用声明的签名权限相对应的分割权限信息,将分割权限信息应用于数据库,并安装第一应用。或者,电子设备1000可以接收在电子设备1000上安装意图使用由第一应用声明的签名权限的第二应用的请求,检查数据库中是否存在与该签名权限相对应的分割权限信息,当数据库中不存在分割权限信息时、在不获取签名权限的情况下安装第二应用,当数据库中存在分割权限信息时、确定第二应用是否满足分割权限信息中设置的获取条件,以及,当第二应用满足获取条件时、对第二应用准许签名权限并安装第二应用。
电子设备1000可以执行上述的其他操作。
根据示例实施例,电子设备1000可以包括处理器1020和存储器1010,存储器1010包括可由处理器1020执行的至少一个指令。当由处理器1020执行至少一个指令时,处理器1020可以接收在电子设备1000上安装第一应用的请求,获取与由第一应用声明的签名权限相对应的分割权限信息,将分割权限信息应用于数据库,并安装第一应用。分割权限信息可以被设置以对不同于第一应用的第二应用使用签名权限。
第一应用和第二应用可以是利用不同的签名密钥进行签名的应用。
分割权限信息可以包括由第一应用声明的签名权限的获取条件。
获取条件可以包括被允许使用签名权限的第二应用的签名信息、包名称和/或共享UID。
电子设备1000的处理器1020可以检查分割权限信息是否存储在数据库中,当分割权限信息未存储在数据库中时将分割权限信息存储在数据库中,以及,当分割权限信息存储在数据库中时更新分割权限信息。
根据示例实施例,电子设备1000可以包括处理器1020和存储器1010,存储器1010包括可由处理器1020执行的至少一个指令。当处理器1020执行至少一个指令时,处理器1020接收在电子设备上安装要求使用由第一应用声明的签名权限的第二应用的请求,检查数据库中是否存在与签名权限相对应的分割权限信息,响应于当数据库中不存在分割权限信息时、在不获取签名权限的情况下安装第二应用,响应于当数据库中存在分割权限信息时、确定第二应用是否满足分割权限信息中设置的获取条件,以及,响应于当第二应用满足获取条件时对第二应用准许并安装签名权限。
根据示例实施例,在电子设备1000上,响应于当第二应用不满足获取条件时,处理器1020可以在不获取签名权限的情况下安装第二应用。
根据示例实施例,可以设置电子设备1000上的分割权限信息以对不同于第一应用的第二应用使用签名权限。
根据示例实施例,在电子设备1000上,第一应用和第二应用可以是利用不同签名密钥进行签名的应用。
根据示例实施例,电子设备1000上的获取条件可以包括被允许使用签名信息的应用的签名信息、包名称和/或共享用户UID信息。
根据示例实施例,在电子设备1000上,处理器1020可以检查在第二应用要使用的权限中是否存在没有被第二应用声明的权限。
本公开的上述实施例中的某些实施例能够以硬件、固件或经由执行软件或计算机代码来实现,该软件或计算机代码能够被存储在记录介质中,诸如CD ROM、数字多功能光盘(DVD)、磁带、RAM、软盘、硬盘或磁光盘,或可以是通过网络下载的计算机代码,该计算机代码最初存储在远程记录介质或非临时性机器可读介质上,并要被存储在本地记录介质中,以使得本文描述的方法可以通过使用通用计算机或专用处理器或可编程或专用硬件(诸如ASIC或FPGA),经由存储在记录介质上的此类软件来呈现。如本领域中将理解的,计算机、处理器、微处理器控制器或可编程硬件包括存储器部件,例如RAM、ROM、闪存等,其可以存储或接收当由计算机、处理器或硬件访问和执行时,实现本文描述的处理方法的软件或计算机代码。
本说明书和附图中公开的本公开的示例实施例被呈现以方便地阐述本文所述的各种示例实施例的技术细节并帮助其理解,而不是为了限制其各种示例实施例的范围。因此,源自本公开的各种示例实施例的技术思想的所有更改或修改以及本文公开的各种示例实施例可以被解释为属于各种示例实施例的范围。
Claims (15)
1.一种电子设备,所述电子设备包括:
处理器;和
存储器,所述存储器存储有可由所述处理器执行的至少一个指令,
其中,当所述至少一个指令由所述处理器执行时,所述处理器被配置为:
接收在所述电子设备上安装第一应用的请求;
获取与由所述第一应用声明的签名权限相对应的分割权限信息;
将所述分割权限信息应用于数据库;以及
安装所述第一应用,
其中,为了使所述签名权限针对不同于所述第一应用的第二应用而使用所述分割权限信息。
2.根据权利要求1所述的电子设备,其中,所述第一应用和所述第二应用是利用不同的签名密钥进行签名的应用。
3.根据权利要求1所述的电子设备,其中,所述分割权限信息还包括由所述第一应用声明的所述签名权限的获取条件。
4.根据权利要求3所述的电子设备,其中,所述获取条件还包括被允许使用所述签名权限的所述第二应用的签名信息、包名称和/或共享UID。
5.根据权利要求1所述的电子设备,其中,当所述至少一个指令由所述处理器执行时,所述处理器被配置为:
检查所述分割权限信息是否存储在所述数据库中;
当所述数据库中不存在所述分割权限信息时,将所述分割权限信息存储在所述数据库中;以及
当所述分割权限信息存储在所述数据库中时,更新所述分割权限信息。
6.一种电子设备,所述电子设备包括:
处理器;和
存储器,所述存储器存储有可由所述处理器执行的至少一个指令,
其中,当所述至少一个指令由所述处理器执行时,所述处理器被配置为:
接收安装第二应用的请求,所述第二应用要求使用由第一应用声明的签名权限;
检查在数据库中是否存在与所述签名权限相对应的分割权限信息;
当在所述数据库中不存在所述分割权限信息时,在不获取所述签名权限的情况下安装所述第二应用;
当在所述数据库中存在所述分割权限信息时,确定所述第二应用是否满足在所述分割权限信息中设置的获取条件;以及
当所述第二应用满足所述获取条件时,对所述第二应用准许所述签名权限并安装所述第二应用。
7.根据权利要求6所述的电子设备,其中,所述处理器被配置为:
当所述第二应用不满足所述获取条件时,在不获取所述签名权限的情况下安装所述第二应用。
8.根据权利要求6所述的电子设备,其中,设置所述分割权限信息是为了对不同于所述第一应用的所述第二应用使用所述签名权限。
9.根据权利要求6所述的电子设备,其中,所述第一应用和所述第二应用是利用不同的签名密钥进行签名的应用。
10.根据权利要求6所述的电子设备,其中,所述获取条件还包括被允许使用所述签名权限的所述第二应用的签名信息、包名称和/或共享UID。
11.根据权利要求6所述的电子设备,其中,当所述至少一个指令由所述处理器执行时,所述处理器被配置为检查在所述第二应用要使用的权限中是否存在没有被所述第二应用声明的权限。
12.一种运行电子设备的方法,所述方法包括:
接收在所述电子设备上安装第一应用的请求;
获取与由所述第一应用声明的签名权限相对应的分割权限信息;
将所述分割权限信息应用于数据库;以及
安装所述第一应用,
其中,设置所述分割权限信息是为了对不同于所述第一应用的第二应用使用所述签名权限。
13.根据权利要求12所述的方法,其中,所述第一应用和所述第二应用是利用不同的签名密钥进行签名的应用。
14.根据权利要求12所述的方法,其中,所述分割权限信息还包括由所述第一应用声明的所述签名权限的获取条件。
15.根据权利要求14所述的方法,其中,所述获取条件还包括被允许使用所述签名权限的所述第二应用的签名信息、包名称和/或共享UID。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR10-2021-0103103 | 2021-08-05 | ||
KR1020210103103A KR20230021342A (ko) | 2021-08-05 | 2021-08-05 | 분리 권한을 이용하는 전자 장치 및 그 동작 방법 |
PCT/KR2022/009184 WO2023013886A1 (ko) | 2021-08-05 | 2022-06-28 | 분리 권한을 이용하는 전자 장치 및 그 동작 방법 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117769708A true CN117769708A (zh) | 2024-03-26 |
Family
ID=85156119
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202280053392.0A Pending CN117769708A (zh) | 2021-08-05 | 2022-06-28 | 使用分割权限的电子设备及其运行方法 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20230052759A1 (zh) |
KR (1) | KR20230021342A (zh) |
CN (1) | CN117769708A (zh) |
WO (1) | WO2023013886A1 (zh) |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101295428B1 (ko) * | 2011-09-09 | 2013-08-23 | 주식회사 팬택 | 스마트 단말기에서 어플리케이션의 권한정보 관리 장치 및 제어 방법 |
KR20130085504A (ko) * | 2011-12-13 | 2013-07-30 | 주식회사 케이티 | 인터페이스 사용 권한 제공 시스템 및 방법 |
KR101345959B1 (ko) * | 2012-06-22 | 2014-01-03 | 성균관대학교산학협력단 | 단일 사용자용 모바일 단말기 플랫폼을 위한 다중 사용자 권한 관리 방법 및 이를 이용한 모바일 단말기 |
US9519756B2 (en) * | 2013-03-15 | 2016-12-13 | Microsoft Technology Licensing, Llc | Managing policy and permissions profiles |
US9386027B2 (en) * | 2014-08-11 | 2016-07-05 | Indiana University Research & Technology Corporation | Detection of pileup vulnerabilities in mobile operating systems |
KR102337990B1 (ko) * | 2014-09-18 | 2021-12-13 | 삼성전자주식회사 | 권한 설정 토큰을 이용하는 전자 장치 |
US10686836B1 (en) * | 2017-10-30 | 2020-06-16 | Allure Security Technology Inc. | Host-based deception security technology |
WO2021158868A1 (en) * | 2020-02-06 | 2021-08-12 | Quantum Cloak, Inc. | Securing communications via computing devices |
-
2021
- 2021-08-05 KR KR1020210103103A patent/KR20230021342A/ko active Search and Examination
-
2022
- 2022-06-28 WO PCT/KR2022/009184 patent/WO2023013886A1/ko active Application Filing
- 2022-06-28 CN CN202280053392.0A patent/CN117769708A/zh active Pending
- 2022-07-26 US US17/873,573 patent/US20230052759A1/en active Pending
Also Published As
Publication number | Publication date |
---|---|
US20230052759A1 (en) | 2023-02-16 |
WO2023013886A1 (ko) | 2023-02-09 |
KR20230021342A (ko) | 2023-02-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11496900B2 (en) | Electronic device and method for storing user identification information | |
US20220138739A1 (en) | Electronic device for generating transaction including internal data and operating method thereof | |
US20230185554A1 (en) | Application installation method and electronic device for supporting same | |
US20230004660A1 (en) | Method of processing secure data and electronic device supporting the same | |
US20230056827A1 (en) | Method and device for nft-based software | |
US20240250833A1 (en) | Electronic device for processing multi-signed apk file, and operating method therefor | |
US11599321B2 (en) | Electronic device and operating method therefor | |
US11947709B2 (en) | Electronic device for controlling access to device resource and operation method thereof | |
US20230412388A1 (en) | Electronic device for performing hash authentication on neural network, and operating method therefor | |
US20230161872A1 (en) | Method for application security and electronic device for performing the same | |
US20220417016A1 (en) | Method for signing key management by electronic device, and electronic device therefor | |
US20220326964A1 (en) | Processor for initializing model file of application and electronic device including the same | |
US20230052759A1 (en) | Electronic device using division permission and operation method thereof | |
EP3855335B1 (en) | Electronic device for providing security-required service through secure element, and method for controlling same electronic device | |
US20240118887A1 (en) | Method for updating application and electronic device thereof | |
US12026376B2 (en) | Method for preserving data in electronic device initialization situation and electronic device therefor | |
US20230070759A1 (en) | Electronic device for protecting user's biometric information | |
US20230086654A1 (en) | Electronic device for analyzing permission for installation file and method of operating the same | |
US12105814B2 (en) | Electronic device for providing privacy services | |
US20240241961A1 (en) | Electronic device and application package management method | |
US20230359530A1 (en) | Electronic device for supporting data backup, and operation method thereof | |
US20230042496A1 (en) | Electronic device for performing different login process according to authentication type and control method thereof | |
US20230289157A1 (en) | Electronic device and method for changing binary | |
EP4394770A1 (en) | Method and device for editing image in electronic device | |
US20240015156A1 (en) | Electronic device for controlling access to device resource and operation method thereof |
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 |