CN113541966A - 权限管理方法、装置、电子设备及存储介质 - Google Patents
权限管理方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN113541966A CN113541966A CN202110838423.0A CN202110838423A CN113541966A CN 113541966 A CN113541966 A CN 113541966A CN 202110838423 A CN202110838423 A CN 202110838423A CN 113541966 A CN113541966 A CN 113541966A
- Authority
- CN
- China
- Prior art keywords
- signature
- application
- application program
- party platform
- rights management
- 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
- 238000007726 management method Methods 0.000 title claims abstract description 65
- 238000000034 method Methods 0.000 claims abstract description 47
- 238000012795 verification Methods 0.000 claims description 84
- 238000004590 computer program Methods 0.000 claims description 14
- 239000000126 substance Substances 0.000 claims description 4
- 230000008569 process Effects 0.000 abstract description 14
- 230000010354 integration Effects 0.000 abstract description 9
- 238000011161 development Methods 0.000 description 7
- 238000010586 diagram Methods 0.000 description 7
- 230000006870 function Effects 0.000 description 5
- 238000012545 processing Methods 0.000 description 5
- 230000000694 effects Effects 0.000 description 3
- 238000009434 installation Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000002159 abnormal effect Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
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/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
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- General Health & Medical Sciences (AREA)
- Bioethics (AREA)
- Storage Device Security (AREA)
Abstract
本申请提供一种图像权限管理方法、装置、电子设备及存储介质。该权限管理方法包括:当检测到应用程序在获取操作***的***权限时,确定应用程序的应用签名,其中,应用程序是由第三方平台开发的,应用签名是第三方平台为应用程序签名的私钥;从预设存储位置获取自定义***签名,自定义***签名是来自第三方平台的与私钥对应的公钥;比对自定义***签名和应用签名;若自定义***签名和应用签名比对成功,则为应用程序配置***权限。在本申请中应用程序可以不用配置操作***的原始***签名,也可以拥有操作***的***权限,进而能够简化应用程序获取***权限的流程,以及避免应用程序需要配置操作***的原始的***签名带来的集成风险。
Description
技术领域
本申请涉及计算机领域,尤其涉及一种权限管理方法、装置、电子设备及存储介质。
背景技术
安卓***的***签名是对一个正式发布版本的安卓***的认证,是软件所属主体的认证。安卓***通常只支持一套***签名,该***签名用于在安卓***的编译过程中,对安卓***自身的编译文件以及安装在安卓***上的应用签名进行认证。此外,安卓***不仅用于认证,还用于对***权限的管理和控制。
应用程序若要使用安卓***的***权限,需要与安卓***使用同一个签名。目前采用的方式是对应用程序原有的应用签名进行改签,使***签名作为应用程序的应用签名。但是,这种方式由于要修改应用程序的应用签名,因此提高了应用程序获取***权限的复杂度,并且修改了应用程序的应用签名,会提升应用程序的集成风险。
发明内容
本申请提供一种权限管理方法、装置、电子设备及存储介质。用以解决现有的应用程序在获取***权限时,过程复杂并且造成应用程序集成风险的问题。
第一方面,本申请实施例提供一种权限管理方法,应用于电子设备,权限管理方法包括:当检测到应用程序在获取操作***的***权限时,确定应用程序的应用签名,其中,应用程序是由第三方平台开发的,应用签名是第三方平台为应用程序签名的私钥;从预设存储位置获取自定义***签名,自定义***签名是来自第三方平台的与私钥对应的公钥;比对自定义***签名和应用签名;若自定义***签名和应用签名比对成功,则为应用程序配置***权限。
在本申请的一个实施例中,比对自定义***签名和应用签名,包括:获取自定义***签名对应的验证数据,验证数据是操作***从应用程序对应的第三方平台获取的,验证数据指示自定义***签名和应用签名的比对方式;根据验证数据,比对自定义***签名和应用签名。
在本申请的一个实施例中,获取自定义***签名对应的验证数据之前,还包括:接收第三方平台发送的验证数据,验证数据与自定义***签名对应;将验证数据合入到操作***中。
在本申请的一个实施例中,当检测到应用程序在获取操作***的***权限时,确定应用程序的应用签名之前,还包括:接收第三方平台发送的自定义***签名;将自定义***签名存储至预设存储位置。
在本申请的一个实施例中,将自定义***签名存储至预设存储位置之前,还包括:接收第三方平台发送的身份信息;验证身份信息;确定身份信息验证通过。
在本申请的一个实施例中,从预设存储位置获取自定义***签名之前,还包括:获取操作***的原始***签名;比对原始***签名和应用签名;若比对不成功,则执行从预设存储位置获取自定义***签名。
第二方面,本申请实施例提供另一种权限管理方法,应用于第三方平台,权限管理方法包括:生成应用程序的私钥以及与私钥对应的公钥;将公钥发送给电子设备,公钥用于指示电子设备将公钥作为自定义***签名存储在预设存储位置;确定私钥为应用程序的应用签名,应用签名用于指示当检测到应用程序在获取操作***的***权限时,根据比对自定义***签名和应用签名,来确定是否为应用程序配置***权限。
在本申请的一个实施例中,生成比对私钥和公钥的验证数据;将验证数据发送给电子设备,验证数据用于指示电子设备根据所验证数据,比对自定义***签名和应用签名。
在本申请的一个实施例中,权限管理方法还包括:将第三方平台的身份信息发送给电子设备;身份信息用于指示电子设备验证身份信息。
第三方面,本申请实施例提供一种权限管理装置,包括:
确定模块,用于当检测到应用程序在获取操作***的***权限时,确定应用程序的应用签名,其中,应用程序是由第三方平台开发的,应用签名是第三方平台为应用程序签名的私钥;
获取模块,用于从预设存储位置获取自定义***签名,自定义***签名是来自第三方平台的与私钥对应的公钥;
比对模块,用于比对自定义***签名和应用签名;
配置模块,用于若自定义***签名和应用签名比对成功,则为应用程序配置***权限。
在本申请的一个实施例中,比对模块具体用于获取自定义***签名对应的验证数据,验证数据是操作***从应用程序对应的第三方平台获取的,验证数据指示自定义***签名和应用签名的比对方式;根据验证数据,比对自定义***签名和应用签名。
在本申请的一个实施例中,权限管理装置还用于接收第三方平台发送的验证数据,验证数据与自定义***签名对应;将验证数据合入到操作***中。
在本申请的一个实施例中,权限管理装置还用于接收第三方平台发送的自定义***签名;将自定义***签名存储至预设存储位置。
在本申请的一个实施例中,权限管理装置还用于接收第三方平台发送的身份信息;验证身份信息;确定身份信息验证通过。
在本申请的一个实施例中,权限管理装置还用于获取操作***的原始***签名;比对原始***签名和应用签名;若比对不成功,则执行从预设存储位置获取自定义***签名。
第四方面,本申请实施例提供另一种权限管理装置,应用于第三方平台,包括:
生成模块,用于生成应用程序的私钥以及与私钥对应的公钥;
发送模块,用于将公钥发送给电子设备,公钥用于指示电子设备将公钥作为自定义***签名存储在预设存储位置;
确定模块,用于确定私钥为应用程序的应用签名,应用签名用于指示当检测到应用程序在获取操作***的***权限时,根据比对自定义***签名和应用签名,来确定是否为应用程序配置***权限。
在本申请的一个实施例中,权限管理装置还用于生成比对私钥和公钥的验证数据;将验证数据发送给电子设备,验证数据用于指示电子设备根据所验证数据,比对自定义***签名和应用签名。
在本申请的一个实施例中,权限管理装置还用于将第三方平台的身份信息发送给电子设备,身份信息用于指示电子设备验证身份信息
第五方面,本申请实施例提供一种第一电子设备,包括:
至少一个处理器;以及
与至少一个处理器通信连接的存储器;其中,
存储器存储有可被至少一个处理器执行的指令,指令被至少一个处理器执行,以使电子设备能够执行本申请第一方面中任一项的权限管理方法。
第六方面,本申请实施例提供一种第二电子设备,包括:
至少一个处理器;以及
与至少一个处理器通信连接的存储器;其中,
存储器存储有可被至少一个处理器执行的指令,指令被至少一个处理器执行,以使电子设备能够执行本申请第二方面中任一项的权限管理方法。
第七方面,本申请实施例提供一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现本申请第一方面或第二方面中任一项的权限管理方法。
第八方面,本申请实施例提供一种计算机程序产品,包括计算机程序,计算机程序被处理器执行时实现本申请第一方面或第二方面中任一项的权限管理方法。
本申请实施例提供一种权限管理方法、装置、电子设备及存储介质,该权限管理方法包括:当检测到应用程序在获取操作***的***权限时,确定应用程序的应用签名,其中,应用程序是由第三方平台开发的,应用签名是第三方平台为应用程序签名的私钥;从预设存储位置获取自定义***签名,自定义***签名是来自第三方平台的与私钥对应的公钥;比对自定义***签名和应用签名;若自定义***签名和应用签名比对成功,则为应用程序配置***权限。在本申请实施例中,应用程序可以不用配置操作***的原始***签名,也可以拥有操作***的***权限,进而能够简化应用程序获取***权限的流程,并且增加应用程序与操作***之家更深入的合作,以及避免应用程序需要配置操作***的原始的***签名带来的集成风险。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图做一简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的一种权限管理方法的场景示意图;
图2为本申请实施例提供的一种权限管理方法的步骤流程图;
图3为本申请实施例提供的另一种权限管理方法的场景示意图;
图4为本申请实施例提供的另一种权限管理方法的步骤流程图
图5为本申请实施例提供的又一种权限管理方法的步骤流程图;
图6为本申请实施例提供的一种权限管理装置的结构框图;
图7为本申请实施例提供的另一种权限管理装置的结构框图;
图8为本申请一实施例提供的电子设备的硬件结构示意图。
通过上述附图,已示出本申请明确的实施例,后文中将有更详细的描述。这些附图和文字描述并不是为了通过任何方式限制本申请构思的范围,而是通过参考特定实施例为本领域技术人员说明本申请的概念。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例例如能够以除了在这里图示或描述的那些以外的顺序实施。
此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、***、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
示例性的,图1为本申请一实施例提供的权限管理方法的场景示意图,如图1所示,在电子设备10上安装有应用程序20,如图1中的聊天应用。当应用程序在使用时,需要获取电子设备的操作***的***权限,电子设备检测到该应用程序要获取***权限,则电子设备读取该应用程序的应用签名,对验证签名进行验证,验证通过后即给应用程序配置***权限,若验证不通过,则不给应用程序配置***权限。
示例性的,在图1中,电子设备10上安装有应用程序20,应用程序20为聊天应用,用户想要给朋友A拍摄图片或视频时,电子设备在界面上显示出是否允许“应用程序”拍摄照片和录制视频,用户点击“始终允许”后,电子设备会检测到应用程序20在获取***权限,则开始对应用程序20的应用签名进行验证,如果验证通过,用户可以拍摄图像或视频发送给朋友A。如果验证未通过,则说明应用程序20没有使用***权限的资格。
每个电子设备提供商会开发自己的操作***,操作***配置有***签名,***签名用于管理和控制操作***的***权限。例如,手机A的操作***A具有***签名A,手机B的操作***B具有***签名B。此外,每个应用程序提供商会为自己开发的应用程序进行签名,使应用程序具有自己的应用签名,该应用签名用于表征应用程序的身份。
目前,应用程序为了获取到操作***的***权限,需要与操作***使用同一个***签名,但是使用了***签名作为应用程序的身份证明,这样会让应用程序失去自身原有的应用签名(即身份),进而会影响应用程序在操作***上具有集成风险,例如:无法根据应用签名确定应用程序的发布者身份,由于应用程序在更新时,需要应用程序的发布者使用新的应用程序替换旧的应用程序,其中,新的应用程序需要和旧的应用程序具有相同的应用签名才能替换。此外,应用签名可以确保应用程序包中的文件不会替换,而没有应用签名,会导致应用程序包中文件被随意替换。
鉴于上述问题,本申请提供一种权限管理方法,使在操作***中配置自定义***权限,使自定义***权限与应用程序的应用签名进行比对,来确定是否给应用程序配置***权限,使应用程序能够在不改变自身应用签名的情况下获取到***权限,进而能够避免应用程序集成的风险。
下面,通过具体实施例对本申请的技术方案进行详细说明。需要说明的是,下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。
图2为本申请一实施例提供的权限管理方法的流程图。本申请实施例提供一种权限管理方法,应用于电子设备,权限管理方法具体包括以下步骤:
S101,当检测到应用程序在获取操作***的***权限时,确定应用程序的应用签名。
其中,应用程序是由第三方平台开发的,应用签名是第三方平台为应用程序签名的私钥。
具体的,参照图3,第三方平台用于开发应用程序。第三方平台开发的应用程序主要包括两类,一类是需要***权限的应用,例如,聊天、购物、游戏等应用程序。另一类是普通应用,例如,时钟、日历、天气等应用程序。其中,需要***权限的应用,需要获取到***权限才能执行自身一些功能。普通应用不需要***权限即可执行自身的所有功能。
进一步的,第三方平台在开发应用程序时,都会采用私钥给应用程序签名,使应用程序拥有应用签名。
此外,在图3中,安卓***包括多个操作***,例如允许在手机A上的操作***1,以及运行在手机B上的操作***2等。其中,操作***的开发主体在开发操作***时,也会给操作***配置***签名,该***签名为原始***签名。
进一步的,参照图1,当应用程序需要执行某向功能时,向操作***发送获取***权限的请求,在操作***检测到应用程序正在获取***权限时,获取应用程序的应用签名。
具体的,可以通过PMS(PackageManagerService,包管理服务)在应用程序对应的文件包中读取应用签名。
S102,从预设存储位置获取自定义***签名。
其中,自定义***签名是来自第三方平台的与私钥对应的公钥。
具体的,公钥是第三方平台生成的X.509格式的公钥。示例性的,预设存储位置为/system/etc/security/ecarx/目录,此外,公钥以文件后缀“.0”结尾。
在本申请实施例中,第三方平台生成签名证书文件。签名证书文件包括:私钥、公钥、自签CA(Certificate Authority,证书授权),以及验证数据。其中,私钥和公钥组成一对密钥对,验证数据是一种算法,通过这种算法能够使私钥和公钥进行配对解密。自签CA表示第三方平台的身份信息。
进一步的,第三方平台采用私钥签名自己开发的应用程序,将公钥、自签CA(身份信息)以及验证数据发送给与第三方平台合作的电子设备,以使电子设备通过自签CA(身份信息)验证第三方平台是否为合作的平台,然后将公钥作为自定义***签名存储在电子设备中。
S103,比对自定义***签名和应用签名。
其中,可以根据预设的方式,比对自定义***签名和应用签名。
示例性的,第三方平台会将私钥和公钥设置成相同的,则预设的方式是比对自定义***签名和应用签名是否相同。此外,第三方平台会将私钥和公钥设置为不同的,第三方平台设置私钥和公钥采用验证数据才能使私钥和公钥比对成功,则预设的方式为采用验证数据比对自定义***签名和应用签名。
在本申请实施例中,比对的是自定义***签名和应用签名,则不需要给应用程序配置操作***的原始***签名,因此能够使同一应用程序在多个操作***上运行。
示例性的,参照图3,若应用程序a1要运行在操作***1中,则应用程序a1中需要配置操作***1的***签名,而配置操作***1的***签名的应用程序a1由于***签名与操作***2的***签名不同,因此是无法运行在操作***2上的。
而在本申请实施例中,当有多个操作***,则在多个操作***中均配置自定义***签名,则应用程序a1不需要修改重新配置***签名,只需要使用自身的应用签名,即可运行在多个操作***中。
S104,若自定义***签名和应用签名比对成功,则为应用程序配置***权限。
其中,***权限包括:位置权限、通话记录权限、相机权限、相册权限等。
此外,若自定义***签名和应用签名比对成功,给应用程序配置其要获取的***权限,进而能够使应用程序执行相应的功能。
示例性的,在图1中,应用程序要获取相机权限,则给应用程序配置相机权限,则应用程序能够使用操作***上的相机进行拍摄等操作。
本申请实施例提供一种权限管理方法,该权限管理方法包括:当检测到应用程序在获取操作***的***权限时,确定应用程序的应用签名,其中,应用程序是由第三方平台开发的,应用签名是第三方平台为应用程序签名的私钥;从预设存储位置获取自定义***签名,自定义***签名是来自第三方平台的与私钥对应的公钥;比对自定义***签名和应用签名;若自定义***签名和应用签名比对成功,则为应用程序配置***权限。在本申请实施例中,应用程序可以不用配置操作***的原始***签名,也可以拥有操作***的***权限,进而能够简化应用程序获取***权限的流程,并且增加应用程序与操作***之家更深入的合作,以及避免应用程序需要配置操作***的原始的***签名带来的集成风险。
参照图4,为本申请另一实施例提供的权限管理方法的步骤流程图,具体包括如下步骤:
S201,接收第三方平台发送的身份信息。
其中,身份信息包括第三方平台的自签CA。
具体的,第三方平台生成签名证书文件。签名证书文件包括:私钥、公钥、身份信息,以及验证数据。第三方平台可以同时将公钥、身份信息,以及验证数据发送给电子设备,也可以根据需要先发送身份信息,待身份信息验证通过后,发送公钥和验证数据。本申请对此不加以限定。
S202,验证身份信息。
其中,第三方平台为开发应用程序的平台,第三方平台预先和开发操作***的开发主体建立合作,则电子设备验证身份信息是指验证身份信息对应的第三方平台是否为预先建立合作的平台。
具体的,可以在电子设备中预存第三方平台的身份信息,在接收到第三方平台的身份信息后,比对接收到的身份信息和预存的第三方平台的身份信息,如果相同,则验证通过,如果不同,则验证不通过。
S203,确定身份信息验证通过。
其中,当确定身份信息验证通过,则确定第三方平台是与电子设备具有合作关系的开发平台。
S204,接收第三方平台发送的自定义***签名。
其中,自定义***签名是第三方平台生成的公钥,该自定义***签名具体为X.509格式的公钥文件。
S205,将自定义***签名存储至预设存储位置。
示例性的,预设存储位置为/system/etc/security/ecarx/目录。其中,预设存储位置也可以是电子设备的其他存储位置,在此不加以限定。
S206,接收第三方平台发送的验证数据,验证数据与自定义***签名对应。
其中,验证数据为一种patch(补丁)文件,具体为java代码文件。
此外,验证数据与自定义***签名以及应用签名均具有对应关系。
在本申请实施例中,设置验证数据可以提高应用程序使用***权限的安全性。
S207,将验证数据合入到操作***中。
其中,通过diff(比对)指令,将验证数据通过修改操作***原java代码的方式合入到操作***。在此,验证数据可以通过其他方式合入到操作***中,对此不加以限定。
此外,验证数据合入到操作***中的作用是,采用验证数据比对自定义***权限和应用签名。
进一步的,当将验证数据合入到操作***中后,重启操作***,检测是否运行正常,如果运行正常执行后续步骤,如果运行异常重新执行将验证数据合入到操作***中的步骤。
S208,当检测到应用程序在获取操作***的***权限时,确定应用程序的应用签名。
此步骤的实现方式具体参照S101,在此不再赘述。需要补充说明的是,应用程序可以是在安装时,获取操作***的***权限时,确定应用程序的应用签名。也可以是已经安装后,获取操作***的***权限时,确定应用程序的应用签名。对此,不加以限定。
此外,当应用程序在安装时,获取操作***的***权限时,确定应用程序的应用签名,则S208之前,还包括:下载应用程序包;解析应用程序包;安装应用程序。具体的,可以通过应用市场安装应用程序或者以集成的方式将应用程序预装到操作***上。
进一步的,用户下载到应用程序包,解析应用程序包中包含的应用信息,应用信息包括:应用程序包名、申明的权限列表,是否申明***权限,包含的组件配置以及应用签名等信息。通过应用程序包中的应用信息,获取到应用程序的应用签名。
S209,获取操作***的原始***签名。
其中,原始***签名是指操作***的开发主体为操作***配置的***签名,用于表征操作***唯一身份的签名。
S210,比对原始***签名和应用签名。
在本申请实施例中,原始***签名与自定义***签名在操作***中具有一样的作用,即应用签名与原始***签名或者自定义***签名的任一个比对成功,均可以获取到操作***的***权限。
此外,比对原始***签名和应用签名可以是比对原始***签名和应用签名是否相同,也可以是比对原始***签名和应用签名是否同属同一密钥对。
示例性的,当操作***的开发主体和应用程序的开发主体相同时,则可以给操作***配置的原始***签名与应用程序的应用签名是相同的或属于同一密钥对。
S211,判断原始***签名和应用签名是否比对成功。
其中,优先比对原始***签名和应用签名,若原始***签名和应用签名是否比对不成功,则执行S212,若原始***签名和应用签名是否比对成功,执行S216。
此外,原始***签名和应用签名是否比对成功包括:原始***签名和应用签名相同或者原始***签名和应用签名同属同一密钥对。
S212,从预设存储位置获取自定义***签名。
其中,自定义***签名是来自第三方平台的与私钥对应的公钥。
此外,该步骤的具体实现过程参照S102,在此不再赘述。需要补充说明的是,从预设存储位置获取自定义***签名后,将自定义***签名加载到内存,以便后续执行比对操作。
S213,获取自定义***签名对应的验证数据。
其中,验证数据是操作***从应用程序对应的第三方平台获取的,验证数据指示自定义***签名和应用签名的比对方式。
此外,验证数据和自定义***签名是同一第三方平台生成的,具有对应关系。
S214,根据验证数据,比对自定义***签名和应用签名。
在本申请实施例中,验证数据实质上是一种算法。自定义***签名和应用签名是通过该算法得到的一个密钥对,通过这种算法得到密钥对能保证是唯一的。因此,采用验证数据也可以使自定义***签名和应用签名互相解密。如果解密成功,则说明自定义***签名和应用签名为同一密钥对,则比对成功,如果解密失败,则说明自定义***签名和应用签名不为同一密钥对,则比对失败。
此外,比对自定义***签名和应用签名包括:解析自定义***签名得到公钥,解析应用签名得到私钥,比对公钥和私钥。
S215,判断自定义***签名和应用签名是否比对成功。
其中,若自定义***签名和应用签名比对成功,执行S216,若自定义***签名和应用签名比对不成功,结束流程。
此外,结束流程为不给应用程序配置***权限,或者给应用程序配置普通权限。
S216,为应用程序配置***权限。
其中,***权限包括***签名权限、***UID(User Identification,用户账号)、SELinux(Security-Enhanced Linux,安全增强Linux)或设置***签名应用标志中的至少一项。
此外,应用程序在配置***权限后,可根据获取到的***权限执行***级的操作。
进一步的,电子设备具有多个自定义***签名和多个验证数据,则在电子设备获取到应用签名后,可以采用轮询的方式比对应用签名和各个自定义***签名,只要有一个自定义***签名与应用签名比对成功,就给应用程序配置***权限。
可见,在本申请实施例中,一个应用程序可以不用修改应用签名即可在多个操作***上运行时,获取对应的***权限。一个操作***也支持多个合作的应用程序在其上运行,并支持多个应用程序获取***权限。因此,本申请实施例能够更方便的使应用程序与操作***进行深入合作。
本申请实施例提供一种权限管理方法,该权限管理方法包括:当检测到应用程序在获取操作***的***权限时,确定应用程序的应用签名,其中,应用程序是由第三方平台开发的,应用签名是第三方平台为应用程序签名的私钥;从预设存储位置获取自定义***签名,自定义***签名是来自第三方平台的与私钥对应的公钥;比对自定义***签名和应用签名;若自定义***签名和应用签名比对成功,则为应用程序配置***权限。在本申请实施例中,应用程序可以不用配置操作***的原始***签名,也可以拥有操作***的***权限,进而能够简化应用程序获取***权限的流程,并且增加应用程序与操作***之间更深入的合作,以及避免应用程序需要配置操作***的原始的***签名带来的集成风险。
参照图5,为本申请又一实施例提供的权限管理方法的步骤流程图,该权限管理方法应用于第三方平台,该权限管理方法具体包括如下步骤:
S301,生成应用程序的私钥以及与私钥对应的公钥。
其中,第三方平台在生成应用程序的私钥以及与私钥对应的公钥的同时,生成比对私钥和公钥的验证数据;将验证数据发送给电子设备,验证数据用于指示电子设备根据所验证数据,比对自定义***签名和应用签名。
此外,还包括:将第三方平台的身份信息发送给电子设备,身份信息用于指示电子设备验证身份信息。
S302,将公钥发送给电子设备。
其中,公钥用于指示电子设备将公钥作为自定义***签名存储在预设存储位置。
S303,确定私钥为应用程序的应用签名。
其中,应用签名用于指示当检测到应用程序在获取操作***的***权限时,根据比对自定义***签名和应用签名,来确定是否为应用程序配置***权限。
此外,S301至S303的相关说明可以参考上述方法实施例,在此不再赘述。
在本申请实施例中,第三方平台生成私钥和与私钥对应的公钥,采用私钥对应用程序进行签名,将公钥发送给电子设备,使电子设备将公钥作为自定义***签名进程存储。能够使应用程序在获取***权限时,通过比对自定义***签名和应用签名确定是否为应用程序配置***权限。因此,不需要应用程序配置操作***的原始***签名,使应用程序能够避免应用程序集成的风险,同时简化了应用程序获取***权限的流程。
图6为本申请一实施例提供的权限管理装置的结构示意图。该权限管理装置应用于电子设备,如图6所示,本申请实施例提供的权限管理装置40包括:
确定模块41,用于当检测到应用程序在获取操作***的***权限时,确定应用程序的应用签名,其中,应用程序是由第三方平台开发的,应用签名是第三方平台为应用程序签名的私钥;
获取模块42,用于从预设存储位置获取自定义***签名,自定义***签名是来自第三方平台的与私钥对应的公钥;
比对模块43,用于比对自定义***签名和应用签名;
配置模块44,用于若自定义***签名和应用签名比对成功,则为应用程序配置***权限。
在本申请的一个实施例中,比对模块43具体用于获取自定义***签名对应的验证数据,验证数据是操作***从应用程序对应的第三方平台获取的,验证数据指示自定义***签名和应用签名的比对方式;根据验证数据,比对自定义***签名和应用签名。
在本申请的一个实施例中,权限管理装置40还用于接收第三方平台发送的验证数据,验证数据与自定义***签名对应;将验证数据合入到操作***中。
在本申请的一个实施例中,权限管理装置40还用于接收第三方平台发送的自定义***签名;将自定义***签名存储至预设存储位置。
在本申请的一个实施例中,权限管理装置40还用于接收第三方平台发送的身份信息;验证身份信息;确定身份信息验证通过。
在本申请的一个实施例中,权限管理装置40还用于获取操作***的原始***签名;比对原始***签名和应用签名;若比对不成功,则执行从预设存储位置获取自定义***签名。
本申请实施例提供的权限管理装置,用于执行图2或图3对应的方法实施例中的技术方案,其实现原理和技术效果类似,在此不再赘述。
图7为本申请又一实施例提供的权限管理装置的结构示意图。该权限管理装置应用于第三方平台,如图7所示,本申请实施例提供的权限管理装置50包括:
生成模块51,用于生成应用程序的私钥以及与私钥对应的公钥;
发送模块52,用于将公钥发送给电子设备,公钥用于指示电子设备将公钥作为自定义***签名存储在预设存储位置;
确定模块53,用于确定私钥为应用程序的应用签名,应用签名用于指示当检测到应用程序在获取操作***的***权限时,根据比对自定义***签名和应用签名,来确定是否为应用程序配置***权限。
在本申请的一个实施例中,权限管理装置50还用于生成比对私钥和公钥的验证数据;将验证数据发送给电子设备,验证数据用于指示电子设备根据所验证数据,比对自定义***签名和应用签名。
在本申请的一个实施例中,权限管理装置50还用于将第三方平台的身份信息发送给电子设备,身份信息用于指示电子设备验证身份信息
本申请实施例提供的权限管理装置,用于执行图4对应的方法实施例中的技术方案,其实现原理和技术效果类似,在此不再赘述。
图8为本申请实施例提供的电子设备(第一电子设备或第二电子设备)的硬件结构示意图。如图8所示,本申请实施例的电子设备70可以包括:至少一个处理器71(图8中仅示出了一个处理器);以及,与至少一个处理器通信连接的存储器72。其中,存储器72存储有可被至少一个处理器71执行的指令,指令被至少一个处理器71执行,以使电子设备70能够执行前述任一方法实施例中的技术方案。
可选的,存储器72既可以是独立的,也可以跟处理器71集成在一起。
当存储器72是独立于处理器71之外的器件时,电子设备70还包括:总线73,用于连接存储器72和处理器71。
本申请实施例提供的电子设备可以执行前述任一方法实施例的技术方案,其实现原理和技术效果类似,在此不再赘述。
本申请实施例还提供一种计算机可读存储介质,计算机可读存储介质中存储有计算机程序,当计算机程序被处理器执行时用于实现前述任一方法实施例中的技术方案。
本申请实施例提供一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现前述任一方法实施例中的技术方案。
本申请实施例还提供了一种芯片,包括:处理模块与通信接口,该处理模块能执行前述方法实施例中的技术方案。
进一步地,该芯片还包括存储模块(如,存储器),存储模块用于存储指令,处理模块用于执行存储模块存储的指令,并且对存储模块中存储的指令的执行使得处理模块执行前述方法实施例中的技术方案。
应理解,上述处理器可以是中央处理单元(英文:Central Processing Unit,简称:CPU),还可以是其他通用处理器、数字信号处理器(英文:Digital Signal Processor,简称:DSP)、专用集成电路(英文:Application Specific Integrated Circuit,简称:ASIC)等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合发明所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。
存储器可能包含高速RAM存储器,也可能还包括非易失性存储NVM,例如至少一个磁盘存储器,还可以为U盘、移动硬盘、只读存储器、磁盘或光盘等。
总线可以是工业标准体系结构(Industry Standard Architecture,ISA)总线、外部设备互连(Peripheral Component,PCI)总线或扩展工业标准体系结构(ExtendedIndustry Standard Architecture,EISA)总线等。总线可以分为地址总线、数据总线、控制总线等。为便于表示,本申请附图中的总线并不限定仅有一根总线或一种类型的总线。
上述存储介质可以是由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。存储介质可以是通用或专用计算机能够存取的任何可用介质。
一种示例性的存储介质耦合至处理器,从而使处理器能够从该存储介质读取信息,且可向该存储介质写入信息。当然,存储介质也可以是处理器的组成部分。处理器和存储介质可以位于专用集成电路(Application Specific Integrated Circuits,简称:ASIC)中。当然,处理器和存储介质也可以作为分立组件存在于电子设备中。
最后应说明的是:以上各实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述各实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的范围。
Claims (15)
1.一种权限管理方法,其特征在于,应用于电子设备,所述权限管理方法包括:
当检测到应用程序在获取操作***的***权限时,确定所述应用程序的应用签名,其中,所述应用程序是由第三方平台开发的,所述应用签名是所述第三方平台为所述应用程序签名的私钥;
从预设存储位置获取自定义***签名,所述自定义***签名是来自所述第三方平台的与所述私钥对应的公钥;
比对所述自定义***签名和所述应用签名;
若所述自定义***签名和所述应用签名比对成功,则为所述应用程序配置所述***权限。
2.根据权利要求1所述的权限管理方法,其特征在于,所述比对所述自定义***签名和所述应用签名,包括:
获取自定义***签名对应的验证数据,所述验证数据是所述操作***从所述应用程序对应的第三方平台获取的,所述验证数据指示所述自定义***签名和所述应用签名的比对方式;
根据所述验证数据,比对所述自定义***签名和所述应用签名。
3.根据权利要求2所述的权限管理方法,其特征在于,所述获取自定义***签名对应的验证数据之前,还包括:
接收所述第三方平台发送的所述验证数据,所述验证数据与所述自定义***签名对应;
将所述验证数据合入到所述操作***中。
4.根据权利要求1所述的权限管理方法,其特征在于,所述当检测到应用程序在获取操作***的***权限时,确定所述应用程序的应用签名之前,还包括:
接收所述第三方平台发送的所述自定义***签名;
将所述自定义***签名存储至所述预设存储位置。
5.根据权利要求4所述的权限管理方法,其特征在于,所述将所述自定义***签名存储至所述预设存储位置之前,还包括:
接收所述第三方平台发送的身份信息;
验证所述身份信息;
确定所述身份信息验证通过。
6.根据权利要求1至5任一项所述的权限管理方法,其特征在于,所述从预设存储位置获取自定义***签名之前,还包括:
获取所述操作***的原始***签名;
比对所述原始***签名和所述应用签名;
若比对不成功,则执行所述从预设存储位置获取自定义***签名。
7.一种权限管理方法,其特征在于,应用于第三方平台,所述权限管理方法包括:
生成应用程序的私钥以及与所述私钥对应的公钥;
将所述公钥发送给电子设备,所述公钥用于指示所述电子设备将所述公钥作为自定义***签名存储在预设存储位置;
确定所述私钥为所述应用程序的应用签名,所述应用签名用于指示当检测到所述应用程序在获取所述操作***的***权限时,根据比对所述自定义***签名和所述应用签名,来确定是否为所述应用程序配置所述***权限。
8.根据权利要求7所述的权限管理方法,其特征在于,还包括:
生成比对所述私钥和所述公钥的验证数据;
将所述验证数据发送给所述电子设备,所述验证数据用于指示所述电子设备根据所验证数据,比对所述自定义***签名和所述应用签名。
9.根据权利要求7或8所述的权限管理方法,其特征在于,还包括:
将所述第三方平台的身份信息发送给所述电子设备,所述身份信息用于指示所述电子设备验证所述身份信息。
10.一种权限管理装置,其特征在于,应用于电子设备,所述权限管理装置包括:
确定模块,用于当检测到应用程序在获取操作***的***权限时,确定所述应用程序的应用签名,其中,所述应用程序是由第三方平台开发的,所述应用签名是所述第三方平台为所述应用程序签名的私钥;
获取模块,用于从预设存储位置获取自定义***签名,所述自定义***签名是来自所述第三方平台的与所述私钥对应的公钥;
比对模块,用于比对所述自定义***签名和所述应用签名;
配置模块,用于若所述自定义***签名和所述应用签名比对成功,则为所述应用程序配置所述***权限。
11.一种权限管理装置,其特征在于,应用于第三方平台,所述权限管理装置包括:
生成模块,用于生成应用程序的私钥以及与所述私钥对应的公钥;
发送模块,用于将所述公钥发送给电子设备,所述公钥用于指示所述电子设备将所述公钥作为自定义***签名存储在预设存储位置;
确定模块,用于确定所述私钥为所述应用程序的应用签名,所述应用签名用于指示当检测到所述应用程序在获取所述操作***的***权限时,根据比对所述自定义***签名和所述应用签名,来确定是否为所述应用程序配置所述***权限。
12.一种第一电子设备,其特征在于,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述电子设备能够执行权利要求1至6中任一项所述的权限管理方法。
13.一种第二电子设备,其特征在于,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述电子设备能够执行权利要求7至9中任一项所述的权限管理方法。
14.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至6或7至9中任一项所述权限管理方法。
15.一种计算机程序产品,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至6或7至9中任一项所述权限管理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110838423.0A CN113541966A (zh) | 2021-07-23 | 2021-07-23 | 权限管理方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110838423.0A CN113541966A (zh) | 2021-07-23 | 2021-07-23 | 权限管理方法、装置、电子设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113541966A true CN113541966A (zh) | 2021-10-22 |
Family
ID=78088841
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110838423.0A Pending CN113541966A (zh) | 2021-07-23 | 2021-07-23 | 权限管理方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113541966A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116049799A (zh) * | 2022-07-14 | 2023-05-02 | 荣耀终端有限公司 | ***权限管理方法、***及电子设备 |
CN117077090A (zh) * | 2023-10-16 | 2023-11-17 | 武汉星纪魅族科技有限公司 | 应用签名方法、装置、设备及存储介质 |
CN117714275A (zh) * | 2023-07-11 | 2024-03-15 | 荣耀终端有限公司 | 分布式应用的身份管理方法及相关装置 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101083556A (zh) * | 2007-07-02 | 2007-12-05 | 蔡水平 | 一种按地域分层次无线信息发布搜索交流应用*** |
US20080010458A1 (en) * | 2006-07-07 | 2008-01-10 | Michael Holtzman | Control System Using Identity Objects |
CN106161036A (zh) * | 2016-08-18 | 2016-11-23 | 福建联迪商用设备有限公司 | 一种授信的终端状态转换方法和*** |
WO2017220014A1 (zh) * | 2016-06-24 | 2017-12-28 | 中兴通讯股份有限公司 | ***权限管理方法、装置及智能终端 |
US20180367315A1 (en) * | 2017-06-14 | 2018-12-20 | Beijing Xiaomi Mobile Software Co., Ltd. | Method and apparatus for signing and verifying application installation package, and storage medium |
US20200084042A1 (en) * | 2018-09-10 | 2020-03-12 | Dell Products L.P. | Information handling system entitlement validation |
-
2021
- 2021-07-23 CN CN202110838423.0A patent/CN113541966A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080010458A1 (en) * | 2006-07-07 | 2008-01-10 | Michael Holtzman | Control System Using Identity Objects |
CN101083556A (zh) * | 2007-07-02 | 2007-12-05 | 蔡水平 | 一种按地域分层次无线信息发布搜索交流应用*** |
WO2017220014A1 (zh) * | 2016-06-24 | 2017-12-28 | 中兴通讯股份有限公司 | ***权限管理方法、装置及智能终端 |
CN106161036A (zh) * | 2016-08-18 | 2016-11-23 | 福建联迪商用设备有限公司 | 一种授信的终端状态转换方法和*** |
US20180367315A1 (en) * | 2017-06-14 | 2018-12-20 | Beijing Xiaomi Mobile Software Co., Ltd. | Method and apparatus for signing and verifying application installation package, and storage medium |
US20200084042A1 (en) * | 2018-09-10 | 2020-03-12 | Dell Products L.P. | Information handling system entitlement validation |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116049799A (zh) * | 2022-07-14 | 2023-05-02 | 荣耀终端有限公司 | ***权限管理方法、***及电子设备 |
CN116049799B (zh) * | 2022-07-14 | 2023-11-07 | 荣耀终端有限公司 | ***权限管理方法、***及电子设备 |
CN117714275A (zh) * | 2023-07-11 | 2024-03-15 | 荣耀终端有限公司 | 分布式应用的身份管理方法及相关装置 |
CN117077090A (zh) * | 2023-10-16 | 2023-11-17 | 武汉星纪魅族科技有限公司 | 应用签名方法、装置、设备及存储介质 |
CN117077090B (zh) * | 2023-10-16 | 2024-01-23 | 武汉星纪魅族科技有限公司 | 应用签名方法、装置、设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109214168B (zh) | 固件升级方法及装置 | |
CN107615292B (zh) | 用于管理需要高风险权限访问的应用程序包的安装的***和方法 | |
US8566937B2 (en) | Information processing apparatus and method for preventing unauthorized cooperation of applications | |
CN113541966A (zh) | 权限管理方法、装置、电子设备及存储介质 | |
KR101239012B1 (ko) | 적어도 하나의 설치된 프로파일에 기초하여 소프트웨어 코드의 실행을 인가하는 시스템 및 방법 | |
ES2334336T3 (es) | Distribucion y ejecucion de aplicacion seguras en un entorno inalambrico. | |
CN107301343B (zh) | 安全数据处理方法、装置及电子设备 | |
KR101252921B1 (ko) | 사업자에게 부여된 자격들에 기초하여 장치 내의 소프트웨어 코드의 실행을 인가하는 시스템 및 방법 | |
KR20100126476A (ko) | 보안 동작 환경에서의 소프트웨어 개발자들에 대한 코드 자격들의 관리 | |
CN108880859B (zh) | 升级文件的配置方法、装置、服务器、终端及存储介质 | |
US9344406B2 (en) | Information processing device, information processing method, and computer program product | |
CN112507291B (zh) | Android设备的唯一标识的生成方法和装置 | |
CN103744686A (zh) | 智能终端中应用安装的控制方法和*** | |
CN104751049A (zh) | 一种应用程序安装方法及移动终端 | |
CN110874467B (zh) | 信息处理方法、装置、***以及处理器、存储介质 | |
CN108229144B (zh) | 一种应用程序的验证方法、终端设备及存储介质 | |
KR100660641B1 (ko) | 휴대 단말기의 부팅 보안 방법 및 그 휴대 단말기 | |
CN111159657A (zh) | 一种应用程序鉴权方法及*** | |
CN108197469B (zh) | 校验应用程序的方法、装置和存储介质以及电子设备 | |
CN114880011A (zh) | Ota升级方法、装置、电子设备及可读存储介质 | |
CN114329358A (zh) | 应用签名方法、***、交易终端及服务平台 | |
CN107479923A (zh) | 应用程序升级方法、装置及显示终端 | |
CN116707758A (zh) | 可信计算设备的认证方法、设备和服务器 | |
CN111177674A (zh) | 设备验证方法及设备 | |
JP2019008592A (ja) | セキュアエレメント、コンピュータプログラム、デバイス、os起動システム及びos起動方法 |
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 | ||
TA01 | Transfer of patent application right | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20220329 Address after: 430051 No. b1336, chuanggu startup area, taizihu cultural Digital Creative Industry Park, No. 18, Shenlong Avenue, Wuhan Economic and Technological Development Zone, Wuhan, Hubei Province Applicant after: Yikatong (Hubei) Technology Co.,Ltd. Address before: 430056 building B, No.7 building, kaidixiexin kechuangyuan, South taizihu innovation Valley, Wuhan Economic and Technological Development Zone, Wuhan City, Hubei Province Applicant before: HUBEI ECARX TECHNOLOGY Co.,Ltd. |