本发明涉及终端技术领域,尤其涉及一种访问控制方法、装置及系统。
背景技术:
通常,嵌入式通用集成电路卡(embeddeduniversalintegratedcircuitcard,简称euicc)嵌入电子设备例如汽车、手表、手机等中使用,对euicc的需求为可以预置/动态下载配置文件profile、可以在不用profile间切换等。
在现有euicc系统架构中,参见图1所示,设备商将本地配置文件助理(localprofileassistant,简称lpa)功能集成在电子设备的操作系统(operatingsystem,简称os)中,为用户提供profile操作界面,连通签约管理服务器和euicc,所述签约管理服务器用于订阅管理和数据准备。并且,lpa通过本地接口与euicc上的lpa服务器进行通信,以创建、激活/去活、删除profile。而isd-p是profile在euicc上的存在方式,不同签约管理服务器(图1中sm-dp)提供的profile在euicc上对应不同的isd-p,相互之间安全隔离。需要说明的是,在图1中,实线代表实际的物理通道,虚线连接的是具有数据/指令传输的两个对象。
然而,现有技术的euicc系统架构存在着由于lpa集成在电子设备的os中导致较难验证的问题。
技术实现要素:
本发明的目的在于提供一种访问控制方法、装置及系统,以解决现有的由于lpa集成在电子设备的os中导致较难验证的问题。
为了实现上述的目的,本发明提供一种访问控制方法,所述方法包括:
获取目标对象对应的第一验证参数和第一应用程序对应的第二验证参数;
利用所述第一验证参数和所述第二验证参数,判断所述第一应用程序是否具有访问所述目标对象的权限;
在判断出所述第一应用程序具有访问所述目标对象的权限时,允许所述第一应用程序访问所述目标对象,否则拒绝所述第一应用程序访问所述目标对象。
本发明还提供一种访问控制装置,所述装置包括:
第一获取模块,用于获取目标对象对应的第一验证参数和第一应用程序对应的第二验证参数;
判断模块,用于利用所述第一验证参数和所述第二验证参数,判断所述第一应用程序是否具有访问所述目标对象的权限;
控制模块,用于在判断出所述第一应用程序具有访问所述目标对象的权限时,允许所述第一应用程序访问所述目标对象,否则拒绝所述第一应用程序访问所述目标对象。
本发明还提供一种访问控制方法,所述方法包括:
获取电子设备发送的验证参数获取请求;
获取安全芯片对应的第一验证参数;
通过验证参数获取请求响应将所述第一验证参数发送给所述电子设备,使得所述电子设备能够在检测到第一应用程序请求访问所述安全芯片时,利用所述第一验证参数和所述第一应用程序对应的第二验证参数判断所述第一应用程序是否具有访问所述安全芯片的权限,并在所述第一应用程序具有访问所述安全芯片的权限时,允许所述第一应用程序访问所述安全芯片,否则拒绝所述第一应用程序访问所述安全芯片。
本发明又提供一种访问控制装置,所述装置包括:
第三获取模块,用于获取电子设备发送的验证参数获取请求;
第四获取模块,用于获取所述安全芯片对应的第一验证参数;
第一发送模块,用于通过验证参数获取请求响应将所述第一验证参数发送给所述电子设备,使得所述电子设备能够在检测到第一应用程序请求访问所述安全芯片时,利用所述第一验证参数和所述第一应用程序对应的第二验证参数判断所述第一应用程序是否具有访问所述安全芯片的权限,并在所述第一应用程序具有访问所述安全芯片的权限时,允许所述第一应用程序访问所述安全芯片,否则拒绝所述第一应用程序访问所述安全芯片。
本发明又提供一种访问控制系统,所述系统包括电子设备和安全芯片;
其中,所述电子设备用于检测是否有应用程序请求访问所述安全芯片,在检测到第一应用程序请求访问所述安全芯片时,获取所述安全芯片对应的第一验证参数和所述第一应用程序对应的第二验证参数,利用所述第一验证参数和所述第二验证参数判断所述第一应用程序是否具有访问所述安全芯片的权限,在判断出所述第一应用程序具有访问所述安全芯片的权限时,允许所述第一应用程序访问所述安全芯片,否则拒绝所述第一应用程序访问所述安全芯片;
所述安全芯片用于获取所述电子设备发送的验证参数获取请求,获取所述安全芯片对应的第一验证参数,通过验证参数获取请求响应将所述第一验证参数发送给所述电子设备。
通过本发明的上述技术方案,本发明的有益效果在于:
本发明的访问控制方法,通过验证判断,能够方便实现对以应用程序形式存在的lpa的认证,且仅在应用程序lpa具有访问目标对象的权限时,才允许所述应用程序lpa访问所述目标对象,实现安全通信。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1表示现有的euicc系统架构的示意图。
图2表示本发明实施例的访问控制方法的流程图。
图3表示现有gsma证书架构的示意图。
图4表示本发明实施例的访问控制装置的结构示意图。
图5表示本发明实施例的另一访问控制方法的流程图。
图6表示本发明实施例的另一访问控制装置的结构示意图。
图7表示本发明实施例的访问控制系统的结构示意图。
图8表示本发明实施例的euicc系统架构的示意图。
图9表示本发明具体实例的mnolpa的认证流程图。
图10表示本发明实施例的另一euicc系统架构的示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
首先,本发明实施例中,lpa以应用程序的形式存在,分别连接着签约管理服务器和安全芯片,这样,能够使lpa有效的与电子设备的os分离,方便单独升级应用程序lpa,且对lpa进行认证。
针对上述的以应用程序形式存在的lpa,本发明实施例提供了一种访问控制方法,参见图2所示,所述方法包括:
步骤201:获取目标对象对应的第一验证参数和第一应用程序对应的第二验证参数;
步骤202:利用所述第一验证参数和所述第二验证参数,判断所述第一应用程序是否具有访问所述目标对象的权限;
步骤203:在判断出所述第一应用程序具有访问所述目标对象的权限时,允许所述第一应用程序访问所述目标对象,否则拒绝所述第一应用程序访问所述目标对象。
这样,本发明实施例的访问控制方法,通过验证判断,能够方便实现对以应用程序形式存在的lpa的认证,且仅在应用程序lpa具有访问目标对象的权限时,才允许所述应用程序lpa访问所述目标对象,实现安全通信。
其中,在本发明具体实施例中,lpa作为连接签约管理服务器和安全芯片的“中间件”,签约管理服务器和安全芯片都可以对其进行验证,因此,本发明具体实施例中,所述目标对象可以为安全芯片或签约管理服务器,所述签约管理服务器与运营商对应,用于订阅管理和数据准备。
本发明实施例中,所述安全芯片具体为嵌入式通用集成电路卡euicc,所述第一应用程序具体为连接签约管理服务器和所述euicc,用于配置管理的应用程序。
本发明实施例中,当所述目标对象为安全芯片时,所述方法用于安装有以应用程序存在的lpa的电子设备,在所述步骤201之前,所述方法还包括:
检测是否有应用程序请求访问所述安全芯片。
且所述步骤201具体为:在检测到所述第一应用程序请求访问所述安全芯片时,获取所述安全芯片对应的第一验证参数和所述第一应用程序对应的第二验证参数。
进一步的,所述电子设备中设置有用于和所述安全芯片进行交互的应用程序编程接口api。
所述检测是否有应用程序请求访问所述安全芯片的步骤具体为:检测所述api的调用情况,确定是否有应用程序请求访问所述安全芯片;即当有应用程序请求调用api时,确定有应用程序请求访问所述安全芯片。
所述步骤203具体为:在判断出所述第一应用程序具有访问所述安全芯片的权限时,允许所述第一应用程序调用所述api来访问所述安全芯片,否则拒绝所述第一应用程序调用所述api来访问所述安全芯片。
本发明实施例中,所述第一验证参数具体为预先存储于所述安全芯片中的根证书,所述第二验证参数为所述第一应用程序提供的待验证证书。
其中,参见图3所示,在现有gsma证书架构中,证书发行机构(certificateissuer,简称ci)的根证书为cicert,ci向卡商(euiccmanufacturer,简称eum)签发证书eumcert,同时向运营商sm-dp+签发证书sm-dp+cert,eum向euicc签发证书euicccert。如果euicc与sm-dp+通过lpa交换命令,需要先通过lpa交换各自的证书。
而本发明实施例中,为了实现对lpa的认证,要将根证书cicert预置于安全芯片中,并利用所述cicert签发与应用程序lpa对应的证书lpacert,以验证所述应用程序lpa。
也就是说,在正常情况下,所述第二验证参数即所述第一应用程序提供的待验证证书,是由预先存储于所述安全芯片中的根证书签发的。
且所述预先存储于所述安全芯片中的根证书,主要是在电子设备启动过程中或在安全芯片接收到验证参数获取请求时由所述安全芯片提供。
所述利用所述第一验证参数和所述第二验证参数,判断所述第一应用程序是否具有访问所述目标对象的权限的步骤具体包括:
验证所述待验证证书是否是所述根证书签署的证书;
在所述待验证证书是所述根证书签署的证书时,利用所述待验证证书验证所述第一应用程序的完整性;
在验证出所述第一应用程序完整时,确定所述第一应用程序具有访问所述安全芯片的权限,否则确定所述第一应用程序不具有访问所述安全芯片的权限。
本发明实施例中,当所述目标对象为签约管理服务器时,所述访问控制方法可用于签约管理服务器,所述第一应用程序为对应的应用程序lpa,以实现签约管理服务器对相应的应用程序lpa的认证。
具体的,当所述目标对象为签约管理服务器时,所述访问控制方法还包括:
获取安全芯片发送的第三验证参数;
根据所述第三验证参数,验证所述安全芯片。
这样,能够实现签约管理服务器对安全芯片的合法性验证。
进一步,所述第二验证参数是随同所述第三验证参数由所述安全芯片发送给所述签约管理服务器的,所述安全芯片从所述第一应用程序处获取所述第二验证参数。这样,所述第二验证参数和所述第三验证参数一并发送,能够使所述签约管理服务器在对安全芯片进行验证时一并对应用程序lpa进行验证,简化操作流程。
需要说明的是,安全芯片在向签约管理服务器发送验证参数时,为了确保所述验证参数在传输过程中不会被篡改,可对包含所述验证参数的信息进行签名,以保证所述验证参数的准确性。
参见图4,本发明实施例还提供一种访问控制装置,与图2所示的访问控制方法相对应,所述装置包括:
第一获取模块41,用于获取目标对象对应的第一验证参数和第一应用程序对应的第二验证参数;
判断模块42,用于利用所述第一验证参数和所述第二验证参数,判断所述第一应用程序是否具有访问所述目标对象的权限;
控制模块43,用于在判断出所述第一应用程序具有访问所述目标对象的权限时,允许所述第一应用程序访问所述目标对象,否则拒绝所述第一应用程序访问所述目标对象。
这样,本发明实施例的访问控制装置,通过验证判断,能够方便实现对以应用程序形式存在的lpa的认证,且仅在应用程序lpa具有访问目标对象的权限时,才允许所述应用程序lpa访问所述目标对象,实现安全通信。
其中,当所述目标对象为安全芯片时,所述装置还包括:
检测模块,用于检测是否有应用程序请求访问所述安全芯片;
所述第一获取模块具体用于:在检测到所述第一应用程序请求访问所述安全芯片时,获取所述安全芯片对应的第一验证参数和所述第一应用程序对应的第二验证参数。
本发明实施例中,所述装置可用于电子设备,所述电子设备中设置有用于和所述安全芯片进行交互的应用程序编程接口api。
所述检测模块具体用于:检测所述api的调用情况,确定是否有应用程序请求访问所述安全芯片。
所述控制模块具体用于:在判断出所述第一应用程序具有访问所述安全芯片的权限时,允许所述第一应用程序调用所述api来访问所述安全芯片,否则拒绝所述第一应用程序调用所述api来访问所述安全芯片。
其中,所述第一验证参数为预先存储于所述安全芯片中的根证书,所述第二验证参数为所述第一应用程序提供的待验证证书。
所述预先存储于所述安全芯片中的根证书在所述电子设备启动过程中或在接收到验证参数获取请求时由所述安全芯片提供。
本发明实施例中,所述判断模块具体包括:
第一验证单元,用于验证所述待验证证书是否是所述根证书签署的证书;
第二验证单元,用于在所述待验证证书是所述根证书签署的证书时,利用所述待验证证书验证所述第一应用程序的完整性;
确定单元,用于在验证出所述第一应用程序完整时,确定所述第一应用程序具有访问所述安全芯片的权限,否则确定所述第一应用程序不具有访问所述安全芯片的权限。
具体的,所述安全芯片为嵌入式通用集成电路卡,所述第一应用程序为连接签约管理服务器和所述嵌入式通用集成电路卡,用于配置管理的应用程序。
本发明实施例中,当所述目标对象为签约管理服务器时,所述装置还包括:
第二获取模块,用于获取安全芯片发送的第三验证参数;
验证模块,用于根据所述第三验证参数,验证所述安全芯片;
其中,所述第二验证参数是随同所述第三验证参数由所述安全芯片发送给所述签约管理服务器的,所述安全芯片从所述第一应用程序处获取所述第二验证参数。
参见图5所示,本发明实施例还提供一种访问控制方法,应用于安全芯片,所述方法包括:
步骤501:获取电子设备发送的验证参数获取请求;
步骤502:获取所述安全芯片对应的第一验证参数;
步骤503:通过验证参数获取请求响应将所述第一验证参数发送给所述电子设备,使得所述电子设备能够在检测到第一应用程序请求访问所述安全芯片时,利用所述第一验证参数和所述第一应用程序对应的第二验证参数判断所述第一应用程序是否具有访问所述安全芯片的权限,并在所述第一应用程序具有访问所述安全芯片的权限时,允许所述第一应用程序访问所述安全芯片,否则拒绝所述第一应用程序访问所述安全芯片。
这样,本发明实施例的访问控制方法,通过验证判断,能够方便实现对以应用程序形式存在的lpa的认证,且仅在应用程序lpa具有访问安全芯片的权限时,才允许所述应用程序lpa访问所述安全芯片,实现安全通信。
具体的,所述安全芯片为嵌入式通用集成电路卡,所述第一应用程序为连接签约管理服务器和所述嵌入式通用集成电路卡,用于配置管理的应用程序。
进一步的,本发明实施例中,所述方法还包括:
接收所述电子设备发送的所述第二验证参数;
将所述第二验证参数随同用于所述嵌入式通用集成电路卡验证的第三验证参数发送给所述签约管理服务器,使得所述签约管理服务器能够利用所述第二验证参数对所述第一应用程序进行验证,并利用所述第三验证参数对所述嵌入式通用集成电路卡进行验证。
这样,能够同时实现签约管理服务器对安全芯片和应用程序lpa的验证,简化操作流程。
其中,所述第一验证参数为预先存储于所述安全芯片中的根证书,所述第二验证参数为第一应用程序提供的待验证证书。
参见图6所示,本发明实施例还提供一种访问控制装置,与图5所示的访问控制方法相对应,所述装置包括:
第三获取模块61,用于获取电子设备发送的验证参数获取请求;
第四获取模块62,用于获取所述安全芯片对应的第一验证参数;
第一发送模块63,用于通过验证参数获取请求响应将所述第一验证参数发送给所述电子设备,使得所述电子设备能够在检测到第一应用程序请求访问所述安全芯片时,利用所述第一验证参数和所述第一应用程序对应的第二验证参数判断所述第一应用程序是否具有访问所述安全芯片的权限,并在所述第一应用程序具有访问所述安全芯片的权限时,允许所述第一应用程序访问所述安全芯片,否则拒绝所述第一应用程序访问所述安全芯片。
具体的,所述安全芯片为嵌入式通用集成电路卡,所述第一应用程序为连接签约管理服务器和所述嵌入式通用集成电路卡,用于配置管理的应用程序。
本发明实施例中,所述装置还包括:
接收模块,用于接收所述电子设备发送的所述第二验证参数;
第二发送模块,用于将所述第二验证参数随同用于所述嵌入式通用集成电路卡验证的第三验证参数发送给所述签约管理服务器,使得所述签约管理服务器能够利用所述第二验证参数对所述第一应用程序进行验证,并利用所述第三验证参数对所述嵌入式通用集成电路卡进行验证。
所述第一验证参数为预先存储于所述安全芯片中的根证书,所述第二验证参数为第一应用程序提供的待验证证书。
参见图7所示,本发明实施例还提供一种访问控制系统,所述系统包括电子设备71和安全芯片72;
其中,所述电子设备71用于检测是否有应用程序请求访问所述安全芯片72,在检测到第一应用程序请求访问所述安全芯片72时,获取所述安全芯片72对应的第一验证参数和所述第一应用程序对应的第二验证参数,利用所述第一验证参数和所述第二验证参数判断所述第一应用程序是否具有访问所述安全芯片72的权限,在判断出所述第一应用程序具有访问所述安全芯片72的权限时,允许所述第一应用程序访问所述安全芯片72,否则拒绝所述第一应用程序访问所述安全芯片72;
所述安全芯片72用于获取所述电子设备发送的验证参数获取请求,获取所述安全芯片72对应的第一验证参数,通过验证参数获取请求响应将所述第一验证参数发送给所述电子设备71。
这样,本发明实施例的访问控制系统,通过验证判断,能够方便实现对以应用程序形式存在的lpa的认证,且仅在应用程序lpa具有访问安全芯片的权限时,才允许所述应用程序lpa访问所述安全芯片,实现安全通信。
下面,参见图8所示,通过具体实例说明本发明的euicc系统架构。
具体的,在图8中,lpa可以包括两类,如下:
第一类lpa,集成于电子设备的os中,作为os的功能存在,如第二lpa;
第二类lpa,以与电子设备的os分离的应用程序形式存在,如第一lpa、运营商lpa(mnolpa)以及第三方lpa;
所有的lpa都用于连接签约管理服务器sm-dp和euicc,不同的是,第二类lpa可以通过调用应用程序编程接口api和euicc进行交互,具体交互过程借助存取控制执行器acenforcer实现。
而在所述euicc上设置有lpa服务和存取控制应用程序acapplet,所述acapplet中预先存储有验证参数,用于应用程序lpa的认证。需要说明的是,在图8中,实线代表实际的物理通道,虚线连接的是具有数据/指令传输需求的两个对象。
基于图8所示的euicc系统架构,参见图9所示,说明对mnolpa的认证过程,具体如下:
步骤901:acenforcer选择acapplet;通常,acenforcer与acapplet进行通信前必须先选择一个acapplet;
步骤902:acapplet返回选择响应;
步骤903:acenforcer向acapplet发送验证参数获取请求;
步骤904:acapplet返回cicert;
步骤905:acenforcer向mnolpa发送验证参数获取请求;
步骤906:mnolpa返回签名证书lpacert;
步骤907:acenforcer利用cicert验证lpacert,若lpacert验证失败,mnolpa将无法调用访问euicc的api接口;
步骤908:若lpacert验证通过,acenforcer利用lpacert验证mnolpa的完整性,若验证成功,mnolpa可以正常调用访问euicc的api接口,否则无法调用。
在现有gsma规范定义的流程中,签约管理服务器不对lpa进行认证,并认为lpa由设备商提供,只有合法的lpa方可访问euicc,仅对euicc进行认证。但在本发明中,lpa以应用程序的方式存在,安全性较低,仅认证euicc可能出现风险。
例如,图10所示的euicc系统架构中,mnolpa1与mnolpa2分别为运营商1和运营商2提供的应用程序lpa,同样拥有访问euicc的权限,签约管理服务器sm-dp+1与运营商1对应,这样,sm-dp+1不会希望mnolpa2能够获得其产生的profile。
所以,为了提高应用程序lpa访问签约管理服务器的合法性,可使签约管理服务器对相应的应用程序lpa进行认证。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。