权限管理方法、装置、电子设备及存储介质与流程

文档序号:27047693发布日期:2021-10-24 07:30阅读:149来源:国知局
权限管理方法、装置、电子设备及存储介质与流程

1.本技术涉及计算机领域,尤其涉及一种权限管理方法、装置、电子设备及存储介质。


背景技术:

2.安卓系统的系统签名是对一个正式发布版本的安卓系统的认证,是软件所属主体的认证。安卓系统通常只支持一套系统签名,该系统签名用于在安卓系统的编译过程中,对安卓系统自身的编译文件以及安装在安卓系统上的应用签名进行认证。此外,安卓系统不仅用于认证,还用于对系统权限的管理和控制。
3.应用程序若要使用安卓系统的系统权限,需要与安卓系统使用同一个签名。目前采用的方式是对应用程序原有的应用签名进行改签,使系统签名作为应用程序的应用签名。但是,这种方式由于要修改应用程序的应用签名,因此提高了应用程序获取系统权限的复杂度,并且修改了应用程序的应用签名,会提升应用程序的集成风险。


技术实现要素:

4.本技术提供一种权限管理方法、装置、电子设备及存储介质。用以解决现有的应用程序在获取系统权限时,过程复杂并且造成应用程序集成风险的问题。
5.第一方面,本技术实施例提供一种权限管理方法,应用于电子设备,权限管理方法包括:当检测到应用程序在获取操作系统的系统权限时,确定应用程序的应用签名,其中,应用程序是由第三方平台开发的,应用签名是第三方平台为应用程序签名的私钥;从预设存储位置获取自定义系统签名,自定义系统签名是来自第三方平台的与私钥对应的公钥;比对自定义系统签名和应用签名;若自定义系统签名和应用签名比对成功,则为应用程序配置系统权限。
6.在本技术的一个实施例中,比对自定义系统签名和应用签名,包括:获取自定义系统签名对应的验证数据,验证数据是操作系统从应用程序对应的第三方平台获取的,验证数据指示自定义系统签名和应用签名的比对方式;根据验证数据,比对自定义系统签名和应用签名。
7.在本技术的一个实施例中,获取自定义系统签名对应的验证数据之前,还包括:接收第三方平台发送的验证数据,验证数据与自定义系统签名对应;将验证数据合入到操作系统中。
8.在本技术的一个实施例中,当检测到应用程序在获取操作系统的系统权限时,确定应用程序的应用签名之前,还包括:接收第三方平台发送的自定义系统签名;将自定义系统签名存储至预设存储位置。
9.在本技术的一个实施例中,将自定义系统签名存储至预设存储位置之前,还包括:接收第三方平台发送的身份信息;验证身份信息;确定身份信息验证通过。
10.在本技术的一个实施例中,从预设存储位置获取自定义系统签名之前,还包括:获
取操作系统的原始系统签名;比对原始系统签名和应用签名;若比对不成功,则执行从预设存储位置获取自定义系统签名。
11.第二方面,本技术实施例提供另一种权限管理方法,应用于第三方平台,权限管理方法包括:生成应用程序的私钥以及与私钥对应的公钥;将公钥发送给电子设备,公钥用于指示电子设备将公钥作为自定义系统签名存储在预设存储位置;确定私钥为应用程序的应用签名,应用签名用于指示当检测到应用程序在获取操作系统的系统权限时,根据比对自定义系统签名和应用签名,来确定是否为应用程序配置系统权限。
12.在本技术的一个实施例中,生成比对私钥和公钥的验证数据;将验证数据发送给电子设备,验证数据用于指示电子设备根据所验证数据,比对自定义系统签名和应用签名。
13.在本技术的一个实施例中,权限管理方法还包括:将第三方平台的身份信息发送给电子设备;身份信息用于指示电子设备验证身份信息。
14.第三方面,本技术实施例提供一种权限管理装置,包括:
15.确定模块,用于当检测到应用程序在获取操作系统的系统权限时,确定应用程序的应用签名,其中,应用程序是由第三方平台开发的,应用签名是第三方平台为应用程序签名的私钥;
16.获取模块,用于从预设存储位置获取自定义系统签名,自定义系统签名是来自第三方平台的与私钥对应的公钥;
17.比对模块,用于比对自定义系统签名和应用签名;
18.配置模块,用于若自定义系统签名和应用签名比对成功,则为应用程序配置系统权限。
19.在本技术的一个实施例中,比对模块具体用于获取自定义系统签名对应的验证数据,验证数据是操作系统从应用程序对应的第三方平台获取的,验证数据指示自定义系统签名和应用签名的比对方式;根据验证数据,比对自定义系统签名和应用签名。
20.在本技术的一个实施例中,权限管理装置还用于接收第三方平台发送的验证数据,验证数据与自定义系统签名对应;将验证数据合入到操作系统中。
21.在本技术的一个实施例中,权限管理装置还用于接收第三方平台发送的自定义系统签名;将自定义系统签名存储至预设存储位置。
22.在本技术的一个实施例中,权限管理装置还用于接收第三方平台发送的身份信息;验证身份信息;确定身份信息验证通过。
23.在本技术的一个实施例中,权限管理装置还用于获取操作系统的原始系统签名;比对原始系统签名和应用签名;若比对不成功,则执行从预设存储位置获取自定义系统签名。
24.第四方面,本技术实施例提供另一种权限管理装置,应用于第三方平台,包括:
25.生成模块,用于生成应用程序的私钥以及与私钥对应的公钥;
26.发送模块,用于将公钥发送给电子设备,公钥用于指示电子设备将公钥作为自定义系统签名存储在预设存储位置;
27.确定模块,用于确定私钥为应用程序的应用签名,应用签名用于指示当检测到应用程序在获取操作系统的系统权限时,根据比对自定义系统签名和应用签名,来确定是否为应用程序配置系统权限。
28.在本技术的一个实施例中,权限管理装置还用于生成比对私钥和公钥的验证数据;将验证数据发送给电子设备,验证数据用于指示电子设备根据所验证数据,比对自定义系统签名和应用签名。
29.在本技术的一个实施例中,权限管理装置还用于将第三方平台的身份信息发送给电子设备,身份信息用于指示电子设备验证身份信息
30.第五方面,本技术实施例提供一种第一电子设备,包括:
31.至少一个处理器;以及
32.与至少一个处理器通信连接的存储器;其中,
33.存储器存储有可被至少一个处理器执行的指令,指令被至少一个处理器执行,以使电子设备能够执行本技术第一方面中任一项的权限管理方法。
34.第六方面,本技术实施例提供一种第二电子设备,包括:
35.至少一个处理器;以及
36.与至少一个处理器通信连接的存储器;其中,
37.存储器存储有可被至少一个处理器执行的指令,指令被至少一个处理器执行,以使电子设备能够执行本技术第二方面中任一项的权限管理方法。
38.第七方面,本技术实施例提供一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现本技术第一方面或第二方面中任一项的权限管理方法。
39.第八方面,本技术实施例提供一种计算机程序产品,包括计算机程序,计算机程序被处理器执行时实现本技术第一方面或第二方面中任一项的权限管理方法。
40.本技术实施例提供一种权限管理方法、装置、电子设备及存储介质,该权限管理方法包括:当检测到应用程序在获取操作系统的系统权限时,确定应用程序的应用签名,其中,应用程序是由第三方平台开发的,应用签名是第三方平台为应用程序签名的私钥;从预设存储位置获取自定义系统签名,自定义系统签名是来自第三方平台的与私钥对应的公钥;比对自定义系统签名和应用签名;若自定义系统签名和应用签名比对成功,则为应用程序配置系统权限。在本技术实施例中,应用程序可以不用配置操作系统的原始系统签名,也可以拥有操作系统的系统权限,进而能够简化应用程序获取系统权限的流程,并且增加应用程序与操作系统之家更深入的合作,以及避免应用程序需要配置操作系统的原始的系统签名带来的集成风险。
附图说明
41.为了更清楚地说明本技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图做一简单地介绍,显而易见地,下面描述中的附图是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
42.图1为本技术实施例提供的一种权限管理方法的场景示意图;
43.图2为本技术实施例提供的一种权限管理方法的步骤流程图;
44.图3为本技术实施例提供的另一种权限管理方法的场景示意图;
45.图4为本技术实施例提供的另一种权限管理方法的步骤流程图
46.图5为本技术实施例提供的又一种权限管理方法的步骤流程图;
47.图6为本技术实施例提供的一种权限管理装置的结构框图;
48.图7为本技术实施例提供的另一种权限管理装置的结构框图;
49.图8为本技术一实施例提供的电子设备的硬件结构示意图。
50.通过上述附图,已示出本技术明确的实施例,后文中将有更详细的描述。这些附图和文字描述并不是为了通过任何方式限制本技术构思的范围,而是通过参考特定实施例为本领域技术人员说明本技术的概念。
具体实施方式
51.为使本技术实施例的目的、技术方案和优点更加清楚,下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
52.本技术的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本技术的实施例例如能够以除了在这里图示或描述的那些以外的顺序实施。
53.此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
54.示例性的,图1为本技术一实施例提供的权限管理方法的场景示意图,如图1所示,在电子设备10上安装有应用程序20,如图1中的聊天应用。当应用程序在使用时,需要获取电子设备的操作系统的系统权限,电子设备检测到该应用程序要获取系统权限,则电子设备读取该应用程序的应用签名,对验证签名进行验证,验证通过后即给应用程序配置系统权限,若验证不通过,则不给应用程序配置系统权限。
55.示例性的,在图1中,电子设备10上安装有应用程序20,应用程序20为聊天应用,用户想要给朋友a拍摄图片或视频时,电子设备在界面上显示出是否允许“应用程序”拍摄照片和录制视频,用户点击“始终允许”后,电子设备会检测到应用程序20在获取系统权限,则开始对应用程序20的应用签名进行验证,如果验证通过,用户可以拍摄图像或视频发送给朋友a。如果验证未通过,则说明应用程序20没有使用系统权限的资格。
56.每个电子设备提供商会开发自己的操作系统,操作系统配置有系统签名,系统签名用于管理和控制操作系统的系统权限。例如,手机a的操作系统a具有系统签名a,手机b的操作系统b具有系统签名b。此外,每个应用程序提供商会为自己开发的应用程序进行签名,使应用程序具有自己的应用签名,该应用签名用于表征应用程序的身份。
57.目前,应用程序为了获取到操作系统的系统权限,需要与操作系统使用同一个系统签名,但是使用了系统签名作为应用程序的身份证明,这样会让应用程序失去自身原有的应用签名(即身份),进而会影响应用程序在操作系统上具有集成风险,例如:无法根据应用签名确定应用程序的发布者身份,由于应用程序在更新时,需要应用程序的发布者使用新的应用程序替换旧的应用程序,其中,新的应用程序需要和旧的应用程序具有相同的应
用签名才能替换。此外,应用签名可以确保应用程序包中的文件不会替换,而没有应用签名,会导致应用程序包中文件被随意替换。
58.鉴于上述问题,本技术提供一种权限管理方法,使在操作系统中配置自定义系统权限,使自定义系统权限与应用程序的应用签名进行比对,来确定是否给应用程序配置系统权限,使应用程序能够在不改变自身应用签名的情况下获取到系统权限,进而能够避免应用程序集成的风险。
59.下面,通过具体实施例对本技术的技术方案进行详细说明。需要说明的是,下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。
60.图2为本技术一实施例提供的权限管理方法的流程图。本技术实施例提供一种权限管理方法,应用于电子设备,权限管理方法具体包括以下步骤:
61.s101,当检测到应用程序在获取操作系统的系统权限时,确定应用程序的应用签名。
62.其中,应用程序是由第三方平台开发的,应用签名是第三方平台为应用程序签名的私钥。
63.具体的,参照图3,第三方平台用于开发应用程序。第三方平台开发的应用程序主要包括两类,一类是需要系统权限的应用,例如,聊天、购物、游戏等应用程序。另一类是普通应用,例如,时钟、日历、天气等应用程序。其中,需要系统权限的应用,需要获取到系统权限才能执行自身一些功能。普通应用不需要系统权限即可执行自身的所有功能。
64.进一步的,第三方平台在开发应用程序时,都会采用私钥给应用程序签名,使应用程序拥有应用签名。
65.此外,在图3中,安卓系统包括多个操作系统,例如允许在手机a上的操作系统1,以及运行在手机b上的操作系统2等。其中,操作系统的开发主体在开发操作系统时,也会给操作系统配置系统签名,该系统签名为原始系统签名。
66.进一步的,参照图1,当应用程序需要执行某向功能时,向操作系统发送获取系统权限的请求,在操作系统检测到应用程序正在获取系统权限时,获取应用程序的应用签名。
67.具体的,可以通过pms(packagemanagerservice,包管理服务)在应用程序对应的文件包中读取应用签名。
68.s102,从预设存储位置获取自定义系统签名。
69.其中,自定义系统签名是来自第三方平台的与私钥对应的公钥。
70.具体的,公钥是第三方平台生成的x.509格式的公钥。示例性的,预设存储位置为/system/etc/security/ecarx/目录,此外,公钥以文件后缀“.0”结尾。
71.在本技术实施例中,第三方平台生成签名证书文件。签名证书文件包括:私钥、公钥、自签ca(certificate authority,证书授权),以及验证数据。其中,私钥和公钥组成一对密钥对,验证数据是一种算法,通过这种算法能够使私钥和公钥进行配对解密。自签ca表示第三方平台的身份信息。
72.进一步的,第三方平台采用私钥签名自己开发的应用程序,将公钥、自签ca(身份信息)以及验证数据发送给与第三方平台合作的电子设备,以使电子设备通过自签ca(身份信息)验证第三方平台是否为合作的平台,然后将公钥作为自定义系统签名存储在电子设
备中。
73.s103,比对自定义系统签名和应用签名。
74.其中,可以根据预设的方式,比对自定义系统签名和应用签名。
75.示例性的,第三方平台会将私钥和公钥设置成相同的,则预设的方式是比对自定义系统签名和应用签名是否相同。此外,第三方平台会将私钥和公钥设置为不同的,第三方平台设置私钥和公钥采用验证数据才能使私钥和公钥比对成功,则预设的方式为采用验证数据比对自定义系统签名和应用签名。
76.在本技术实施例中,比对的是自定义系统签名和应用签名,则不需要给应用程序配置操作系统的原始系统签名,因此能够使同一应用程序在多个操作系统上运行。
77.示例性的,参照图3,若应用程序a1要运行在操作系统1中,则应用程序a1中需要配置操作系统1的系统签名,而配置操作系统1的系统签名的应用程序a1由于系统签名与操作系统2的系统签名不同,因此是无法运行在操作系统2上的。
78.而在本技术实施例中,当有多个操作系统,则在多个操作系统中均配置自定义系统签名,则应用程序a1不需要修改重新配置系统签名,只需要使用自身的应用签名,即可运行在多个操作系统中。
79.s104,若自定义系统签名和应用签名比对成功,则为应用程序配置系统权限。
80.其中,系统权限包括:位置权限、通话记录权限、相机权限、相册权限等。
81.此外,若自定义系统签名和应用签名比对成功,给应用程序配置其要获取的系统权限,进而能够使应用程序执行相应的功能。
82.示例性的,在图1中,应用程序要获取相机权限,则给应用程序配置相机权限,则应用程序能够使用操作系统上的相机进行拍摄等操作。
83.本技术实施例提供一种权限管理方法,该权限管理方法包括:当检测到应用程序在获取操作系统的系统权限时,确定应用程序的应用签名,其中,应用程序是由第三方平台开发的,应用签名是第三方平台为应用程序签名的私钥;从预设存储位置获取自定义系统签名,自定义系统签名是来自第三方平台的与私钥对应的公钥;比对自定义系统签名和应用签名;若自定义系统签名和应用签名比对成功,则为应用程序配置系统权限。在本技术实施例中,应用程序可以不用配置操作系统的原始系统签名,也可以拥有操作系统的系统权限,进而能够简化应用程序获取系统权限的流程,并且增加应用程序与操作系统之家更深入的合作,以及避免应用程序需要配置操作系统的原始的系统签名带来的集成风险。
84.参照图4,为本技术另一实施例提供的权限管理方法的步骤流程图,具体包括如下步骤:
85.s201,接收第三方平台发送的身份信息。
86.其中,身份信息包括第三方平台的自签ca。
87.具体的,第三方平台生成签名证书文件。签名证书文件包括:私钥、公钥、身份信息,以及验证数据。第三方平台可以同时将公钥、身份信息,以及验证数据发送给电子设备,也可以根据需要先发送身份信息,待身份信息验证通过后,发送公钥和验证数据。本技术对此不加以限定。
88.s202,验证身份信息。
89.其中,第三方平台为开发应用程序的平台,第三方平台预先和开发操作系统的开
发主体建立合作,则电子设备验证身份信息是指验证身份信息对应的第三方平台是否为预先建立合作的平台。
90.具体的,可以在电子设备中预存第三方平台的身份信息,在接收到第三方平台的身份信息后,比对接收到的身份信息和预存的第三方平台的身份信息,如果相同,则验证通过,如果不同,则验证不通过。
91.s203,确定身份信息验证通过。
92.其中,当确定身份信息验证通过,则确定第三方平台是与电子设备具有合作关系的开发平台。
93.s204,接收第三方平台发送的自定义系统签名。
94.其中,自定义系统签名是第三方平台生成的公钥,该自定义系统签名具体为x.509格式的公钥文件。
95.s205,将自定义系统签名存储至预设存储位置。
96.示例性的,预设存储位置为/system/etc/security/ecarx/目录。其中,预设存储位置也可以是电子设备的其他存储位置,在此不加以限定。
97.s206,接收第三方平台发送的验证数据,验证数据与自定义系统签名对应。
98.其中,验证数据为一种patch(补丁)文件,具体为java代码文件。
99.此外,验证数据与自定义系统签名以及应用签名均具有对应关系。
100.在本技术实施例中,设置验证数据可以提高应用程序使用系统权限的安全性。
101.s207,将验证数据合入到操作系统中。
102.其中,通过diff(比对)指令,将验证数据通过修改操作系统原java代码的方式合入到操作系统。在此,验证数据可以通过其他方式合入到操作系统中,对此不加以限定。
103.此外,验证数据合入到操作系统中的作用是,采用验证数据比对自定义系统权限和应用签名。
104.进一步的,当将验证数据合入到操作系统中后,重启操作系统,检测是否运行正常,如果运行正常执行后续步骤,如果运行异常重新执行将验证数据合入到操作系统中的步骤。
105.s208,当检测到应用程序在获取操作系统的系统权限时,确定应用程序的应用签名。
106.此步骤的实现方式具体参照s101,在此不再赘述。需要补充说明的是,应用程序可以是在安装时,获取操作系统的系统权限时,确定应用程序的应用签名。也可以是已经安装后,获取操作系统的系统权限时,确定应用程序的应用签名。对此,不加以限定。
107.此外,当应用程序在安装时,获取操作系统的系统权限时,确定应用程序的应用签名,则s208之前,还包括:下载应用程序包;解析应用程序包;安装应用程序。具体的,可以通过应用市场安装应用程序或者以集成的方式将应用程序预装到操作系统上。
108.进一步的,用户下载到应用程序包,解析应用程序包中包含的应用信息,应用信息包括:应用程序包名、申明的权限列表,是否申明系统权限,包含的组件配置以及应用签名等信息。通过应用程序包中的应用信息,获取到应用程序的应用签名。
109.s209,获取操作系统的原始系统签名。
110.其中,原始系统签名是指操作系统的开发主体为操作系统配置的系统签名,用于
表征操作系统唯一身份的签名。
111.s210,比对原始系统签名和应用签名。
112.在本技术实施例中,原始系统签名与自定义系统签名在操作系统中具有一样的作用,即应用签名与原始系统签名或者自定义系统签名的任一个比对成功,均可以获取到操作系统的系统权限。
113.此外,比对原始系统签名和应用签名可以是比对原始系统签名和应用签名是否相同,也可以是比对原始系统签名和应用签名是否同属同一密钥对。
114.示例性的,当操作系统的开发主体和应用程序的开发主体相同时,则可以给操作系统配置的原始系统签名与应用程序的应用签名是相同的或属于同一密钥对。
115.s211,判断原始系统签名和应用签名是否比对成功。
116.其中,优先比对原始系统签名和应用签名,若原始系统签名和应用签名是否比对不成功,则执行s212,若原始系统签名和应用签名是否比对成功,执行s216。
117.此外,原始系统签名和应用签名是否比对成功包括:原始系统签名和应用签名相同或者原始系统签名和应用签名同属同一密钥对。
118.s212,从预设存储位置获取自定义系统签名。
119.其中,自定义系统签名是来自第三方平台的与私钥对应的公钥。
120.此外,该步骤的具体实现过程参照s102,在此不再赘述。需要补充说明的是,从预设存储位置获取自定义系统签名后,将自定义系统签名加载到内存,以便后续执行比对操作。
121.s213,获取自定义系统签名对应的验证数据。
122.其中,验证数据是操作系统从应用程序对应的第三方平台获取的,验证数据指示自定义系统签名和应用签名的比对方式。
123.此外,验证数据和自定义系统签名是同一第三方平台生成的,具有对应关系。
124.s214,根据验证数据,比对自定义系统签名和应用签名。
125.在本技术实施例中,验证数据实质上是一种算法。自定义系统签名和应用签名是通过该算法得到的一个密钥对,通过这种算法得到密钥对能保证是唯一的。因此,采用验证数据也可以使自定义系统签名和应用签名互相解密。如果解密成功,则说明自定义系统签名和应用签名为同一密钥对,则比对成功,如果解密失败,则说明自定义系统签名和应用签名不为同一密钥对,则比对失败。
126.此外,比对自定义系统签名和应用签名包括:解析自定义系统签名得到公钥,解析应用签名得到私钥,比对公钥和私钥。
127.s215,判断自定义系统签名和应用签名是否比对成功。
128.其中,若自定义系统签名和应用签名比对成功,执行s216,若自定义系统签名和应用签名比对不成功,结束流程。
129.此外,结束流程为不给应用程序配置系统权限,或者给应用程序配置普通权限。
130.s216,为应用程序配置系统权限。
131.其中,系统权限包括系统签名权限、系统uid(user identification,用户账号)、selinux(security

enhanced linux,安全增强linux)或设置系统签名应用标志中的至少一项。
132.此外,应用程序在配置系统权限后,可根据获取到的系统权限执行系统级的操作。
133.进一步的,电子设备具有多个自定义系统签名和多个验证数据,则在电子设备获取到应用签名后,可以采用轮询的方式比对应用签名和各个自定义系统签名,只要有一个自定义系统签名与应用签名比对成功,就给应用程序配置系统权限。
134.可见,在本技术实施例中,一个应用程序可以不用修改应用签名即可在多个操作系统上运行时,获取对应的系统权限。一个操作系统也支持多个合作的应用程序在其上运行,并支持多个应用程序获取系统权限。因此,本技术实施例能够更方便的使应用程序与操作系统进行深入合作。
135.本技术实施例提供一种权限管理方法,该权限管理方法包括:当检测到应用程序在获取操作系统的系统权限时,确定应用程序的应用签名,其中,应用程序是由第三方平台开发的,应用签名是第三方平台为应用程序签名的私钥;从预设存储位置获取自定义系统签名,自定义系统签名是来自第三方平台的与私钥对应的公钥;比对自定义系统签名和应用签名;若自定义系统签名和应用签名比对成功,则为应用程序配置系统权限。在本技术实施例中,应用程序可以不用配置操作系统的原始系统签名,也可以拥有操作系统的系统权限,进而能够简化应用程序获取系统权限的流程,并且增加应用程序与操作系统之间更深入的合作,以及避免应用程序需要配置操作系统的原始的系统签名带来的集成风险。
136.参照图5,为本技术又一实施例提供的权限管理方法的步骤流程图,该权限管理方法应用于第三方平台,该权限管理方法具体包括如下步骤:
137.s301,生成应用程序的私钥以及与私钥对应的公钥。
138.其中,第三方平台在生成应用程序的私钥以及与私钥对应的公钥的同时,生成比对私钥和公钥的验证数据;将验证数据发送给电子设备,验证数据用于指示电子设备根据所验证数据,比对自定义系统签名和应用签名。
139.此外,还包括:将第三方平台的身份信息发送给电子设备,身份信息用于指示电子设备验证身份信息。
140.s302,将公钥发送给电子设备。
141.其中,公钥用于指示电子设备将公钥作为自定义系统签名存储在预设存储位置。
142.s303,确定私钥为应用程序的应用签名。
143.其中,应用签名用于指示当检测到应用程序在获取操作系统的系统权限时,根据比对自定义系统签名和应用签名,来确定是否为应用程序配置系统权限。
144.此外,s301至s303的相关说明可以参考上述方法实施例,在此不再赘述。
145.在本技术实施例中,第三方平台生成私钥和与私钥对应的公钥,采用私钥对应用程序进行签名,将公钥发送给电子设备,使电子设备将公钥作为自定义系统签名进程存储。能够使应用程序在获取系统权限时,通过比对自定义系统签名和应用签名确定是否为应用程序配置系统权限。因此,不需要应用程序配置操作系统的原始系统签名,使应用程序能够避免应用程序集成的风险,同时简化了应用程序获取系统权限的流程。
146.图6为本技术一实施例提供的权限管理装置的结构示意图。该权限管理装置应用于电子设备,如图6所示,本技术实施例提供的权限管理装置40包括:
147.确定模块41,用于当检测到应用程序在获取操作系统的系统权限时,确定应用程序的应用签名,其中,应用程序是由第三方平台开发的,应用签名是第三方平台为应用程序
签名的私钥;
148.获取模块42,用于从预设存储位置获取自定义系统签名,自定义系统签名是来自第三方平台的与私钥对应的公钥;
149.比对模块43,用于比对自定义系统签名和应用签名;
150.配置模块44,用于若自定义系统签名和应用签名比对成功,则为应用程序配置系统权限。
151.在本技术的一个实施例中,比对模块43具体用于获取自定义系统签名对应的验证数据,验证数据是操作系统从应用程序对应的第三方平台获取的,验证数据指示自定义系统签名和应用签名的比对方式;根据验证数据,比对自定义系统签名和应用签名。
152.在本技术的一个实施例中,权限管理装置40还用于接收第三方平台发送的验证数据,验证数据与自定义系统签名对应;将验证数据合入到操作系统中。
153.在本技术的一个实施例中,权限管理装置40还用于接收第三方平台发送的自定义系统签名;将自定义系统签名存储至预设存储位置。
154.在本技术的一个实施例中,权限管理装置40还用于接收第三方平台发送的身份信息;验证身份信息;确定身份信息验证通过。
155.在本技术的一个实施例中,权限管理装置40还用于获取操作系统的原始系统签名;比对原始系统签名和应用签名;若比对不成功,则执行从预设存储位置获取自定义系统签名。
156.本技术实施例提供的权限管理装置,用于执行图2或图3对应的方法实施例中的技术方案,其实现原理和技术效果类似,在此不再赘述。
157.图7为本技术又一实施例提供的权限管理装置的结构示意图。该权限管理装置应用于第三方平台,如图7所示,本技术实施例提供的权限管理装置50包括:
158.生成模块51,用于生成应用程序的私钥以及与私钥对应的公钥;
159.发送模块52,用于将公钥发送给电子设备,公钥用于指示电子设备将公钥作为自定义系统签名存储在预设存储位置;
160.确定模块53,用于确定私钥为应用程序的应用签名,应用签名用于指示当检测到应用程序在获取操作系统的系统权限时,根据比对自定义系统签名和应用签名,来确定是否为应用程序配置系统权限。
161.在本技术的一个实施例中,权限管理装置50还用于生成比对私钥和公钥的验证数据;将验证数据发送给电子设备,验证数据用于指示电子设备根据所验证数据,比对自定义系统签名和应用签名。
162.在本技术的一个实施例中,权限管理装置50还用于将第三方平台的身份信息发送给电子设备,身份信息用于指示电子设备验证身份信息
163.本技术实施例提供的权限管理装置,用于执行图4对应的方法实施例中的技术方案,其实现原理和技术效果类似,在此不再赘述。
164.图8为本技术实施例提供的电子设备(第一电子设备或第二电子设备)的硬件结构示意图。如图8所示,本技术实施例的电子设备70可以包括:至少一个处理器71(图8中仅示出了一个处理器);以及,与至少一个处理器通信连接的存储器72。其中,存储器72存储有可被至少一个处理器71执行的指令,指令被至少一个处理器71执行,以使电子设备70能够执
行前述任一方法实施例中的技术方案。
165.可选的,存储器72既可以是独立的,也可以跟处理器71集成在一起。
166.当存储器72是独立于处理器71之外的器件时,电子设备70还包括:总线73,用于连接存储器72和处理器71。
167.本技术实施例提供的电子设备可以执行前述任一方法实施例的技术方案,其实现原理和技术效果类似,在此不再赘述。
168.本技术实施例还提供一种计算机可读存储介质,计算机可读存储介质中存储有计算机程序,当计算机程序被处理器执行时用于实现前述任一方法实施例中的技术方案。
169.本技术实施例提供一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现前述任一方法实施例中的技术方案。
170.本技术实施例还提供了一种芯片,包括:处理模块与通信接口,该处理模块能执行前述方法实施例中的技术方案。
171.进一步地,该芯片还包括存储模块(如,存储器),存储模块用于存储指令,处理模块用于执行存储模块存储的指令,并且对存储模块中存储的指令的执行使得处理模块执行前述方法实施例中的技术方案。
172.应理解,上述处理器可以是中央处理单元(英文:central processing unit,简称:cpu),还可以是其他通用处理器、数字信号处理器(英文:digital signal processor,简称:dsp)、专用集成电路(英文:application specific integrated circuit,简称:asic)等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合发明所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。
173.存储器可能包含高速ram存储器,也可能还包括非易失性存储nvm,例如至少一个磁盘存储器,还可以为u盘、移动硬盘、只读存储器、磁盘或光盘等。
174.总线可以是工业标准体系结构(industry standard architecture,isa)总线、外部设备互连(peripheral component,pci)总线或扩展工业标准体系结构(extended industry standard architecture,eisa)总线等。总线可以分为地址总线、数据总线、控制总线等。为便于表示,本技术附图中的总线并不限定仅有一根总线或一种类型的总线。
175.上述存储介质可以是由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(sram),电可擦除可编程只读存储器(eeprom),可擦除可编程只读存储器(eprom),可编程只读存储器(prom),只读存储器(rom),磁存储器,快闪存储器,磁盘或光盘。存储介质可以是通用或专用计算机能够存取的任何可用介质。
176.一种示例性的存储介质耦合至处理器,从而使处理器能够从该存储介质读取信息,且可向该存储介质写入信息。当然,存储介质也可以是处理器的组成部分。处理器和存储介质可以位于专用集成电路(application specific integrated circuits,简称:asic)中。当然,处理器和存储介质也可以作为分立组件存在于电子设备中。
177.最后应说明的是:以上各实施例仅用以说明本技术的技术方案,而非对其限制;尽管参照前述各实施例对本技术进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本技术各实施例技术
方案的范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1