本发明属于移动通信技术领域,尤其涉及一种移动终端的访问控制方法、装置、终端及存储介质。
背景技术:
随着移动互联网的发展,移动支付如今已经成为人们用于支付的常用方式,市场上关于移动支付的应用程序(App)也是多种多样,例如,苹果的APPLE PAY、华为的华为PAY、小米的米PAY、移动公交一卡通、手机电子钱包以及银联的云闪付等,然而,移动支付应用程序的支付安全问题、支付缓慢或卡顿问题已成为了人们关注的焦点,而基于安全元件(Secure Element,简称SE)的移动支付不仅在便携性上有很好的体现,在交易安全性上也得到了较好的保障。
一般而言,移动终端都会有相应的应用程序(App)去访问移动终端中安全元件里面各自小程序(Applet)的模式,而如何控制这些移动终端的应用程序只能访问安全元件里特定的小程序就成了关键所在,如果没有一种有效的访问控制方法,那移动终端的应用程序就可以无限制的访问安全元件中所有小程序,这样的访问方式存有被恶意攻击的隐患。为了解决这种访问安全问题,全球平台组织(Global Platform,简称GP)定义了一套访问规则应用(Access Rule Applet,简称ARA)标准,它主要包含访问控制执行器(Access Control Enforcer,简称ACE)、访问规则主应用(Access Rule Applet-Master,简称ARA-M)以及访问规则从应用(Access Rule Applet-Client,简称ARA-C)三个部分,而访问控制的规则分别存放在ARA-M和ARA-C中,其中ARA-C中的规则由各应用发行商来维护管理,这样就可以让多个应用发行商独立、安全地管理安全元件中各自的小程序,但是这种运行模式在一定情况下存在为恶意者提供拒绝服务攻击(Denial of Service,简称DoS)的安全性漏洞,即有可能会出现某个恶意者拥有了对其中一个ARA-C的控制管理权限,然后恶意者就在这个ARA-C中添加可以访问其它的ARA-C或者是ARA-M的规则,那么他就可以通过读取全部规则的指令获取到其他所有应用发行商的HASH值和要访问的安全元件中小程序的身份标识(Applet Identification,简称AID),然后再在自己的ARA-C中添加其他应用发行商的HASH值的拒绝访问规则,最终造成其他应用发行商的移动终端的应用程序无法正常访问SE的问题。
技术实现要素:
本发明的目的在于提供一种移动终端的访问控制方法、装置、终端及存储介质,旨在解决由于现有技术无法提供一种有效的移动终端的访问控制方法,导致移动终端的访问控制不精确、安全性降低的问题。
一方面,本发明提供了一种移动终端的访问控制方法,所述方法包括下述步骤:
当接收到应用程序请求访问安全元件中对应安全小程序的访问请求时,使用预先生成的私钥对所述访问请求进行签名,得到所述访问请求的数字签名;
将所述访问请求、所述数字签名以及所述对应安全小程序的应用标识码发送给访问规则执行器;
根据预先设置的校验规则指令,控制所述访问规则执行器将接收到的所述访问请求、所述数字签名以及所述应用标识码发送给访问规则主应用;
当根据接收到的所述应用标识码在所述访问规则主应用中未查找到对应的校验规则时,根据所述校验规则指令控制所述访问规则主应用将所述访问请求、所述数字签名以及所述应用标识码发送给已在所述访问规则主应用中注册的访问规则从应用;
根据接收到的所述应用标识码在所述访问规则从应用中查找所述对应的校验规则,根据查找到的所述校验规则通过所述访问规则从应用对所述访问请求和所述数字签名进行验证,并将验证结果返回给所述访问规则主应用,并通过所述访问规则主应用将所述验证结果返回给所述访问规则执行器;
通过所述访问规则执行器根据返回的验证结果确定所述应用程序是否拥有访问所述对应安全小程序的权限。
另一方面,本发明提供了一种移动终端的访问控制装置,所述装置包括:
数字签名单元,用于当接收到应用程序请求访问安全元件中对应安全小程序的访问请求时,使用预先生成的私钥对所述访问请求进行签名,得到所述访问请求的数字签名;
第一信息发送单元,用于将所述访问请求、所述数字签名以及所述对应安全小程序的应用标识码发送给访问规则执行器;
第二信息发送单元,用于根据预先设置的校验规则指令,控制所述访问规则执行器将接收到的所述访问请求、所述数字签名以及所述应用标识码发送给访问规则主应用;
第三信息发送单元,用于当根据接收到的所述应用标识码在所述访问规则主应用中未查找到对应的校验规则时,根据所述校验规则指令控制所述访问规则主应用将所述访问请求、所述数字签名以及所述应用标识码发送给已在所述访问规则主应用中注册的访问规则从应用;
验证结果返回单元,用于根据接收到的所述应用标识码在所述访问规则从应用中查找所述对应的校验规则,根据查找到的所述校验规则通过所述访问规则从应用对所述访问请求和所述数字签名进行验证,并将验证结果返回给所述访问规则主应用,并通过所述访问规则主应用将所述验证结果返回给所述访问规则执行器;以及
权限确定单元,用于通过所述访问规则执行器根据返回的验证结果确定所述应用程序是否拥有访问所述对应安全小程序的权限。
另一方面,本发明还提供了一种移动终端,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如前所述方法的步骤。
另一方面,本发明还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现如前所述方法的步骤。
本发明在当接收到应用程序访问安全元件中对应安全小程序的访问请求时,使用预先生成的私钥生成该访问请求的数字签名,并将该访问请求、数字签名以及对应安全小程序的应用标识码发送给访问规则执行器,控制访问规则执行器根据预先设置的校验规则指令将接收到的访问请求、数字签名以及应用标识码发送给访问规则主应用,当根据接收到的应用标识码在访问规则主应用中未查找到对应的校验规则时,则根据校验规则指令将访问请求、数字签名以及应用标识码发送给访问规则从应用,在访问规则从应用中根据应用标识码查找对应的校验规则,根据查找到的校验规则对访问请求和数字签名进行签名验证,并将验证结果返回给访问规则主应用,再通过访问规则主应用将验证结果返回给访问规则执行器,通过访问规则执行器根据返回的验证结果确定应用程序是否拥有访问对应安全小程序的权限,从而降低了访问规则冲突和为恶意者提供拒绝服务攻击的可能性,提高了访问安全元件的安全性。
附图说明
图1是本发明实施例一提供的移动终端的访问控制方法的实现流程图;
图2是本发明实施例二提供的移动终端的访问控制装置的结构示意图;
图3是本发明实施例三提供的移动终端的访问控制装置的结构示意图;以及
图4是本发明实施例四提供的移动终端的结构示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
以下结合具体实施例对本发明的具体实现进行详细描述:
实施例一:
图1示出了本发明实施例一提供的移动终端的访问控制方法的实现流程,为了便于说明,仅示出了与本发明实施例相关的部分,详述如下:
在步骤S101中,当接收到应用程序请求访问安全元件中对应安全小程序(Applet)的访问请求时,使用预先生成的私钥对访问请求进行签名,得到访问请求的数字签名。
本发明实施例中适用于移动终端,例如,智能手机、智能平板等。当接收到移动终端的应用程序请求访问移动终端的安全元件中对应安全小程序的访问请求时,使用预先生成的私钥对访问请求进行签名,得到该访问请求的数字签名。安全元件中的安全小程序由应用提供商提供,鉴于一些安全小程序的敏感性(例如,银行电子钱包小程序),应用提供商希望由自身来限定哪些移动终端的应用程序可以访问该安全小程序,并自己管理敏感数据(例如,解密密钥)。
优选地,私钥为根据非对称加密算法(RSA)生成的加密密钥,从而提高了对加密信息进行破译的难度,以及降低了管理密钥的难度。
在步骤S102中,将访问请求、数字签名以及对应安全小程序的应用标识码发送给访问规则执行器。
在本发明实施例中,访问规则执行器(Access Control Enforcer,简称ACE)装载在移动终端中,是移动终端的应用程序访问安全元件的访问接口(Application Programming Interface,简称API),每个安全小程序具有唯一的应用标识码(Applet Identification,简称AID)。
在步骤S103中,根据预先设置的校验规则指令,控制访问规则执行器将接收到的访问请求、数字签名以及应用标识码发送给访问规则主应用。
在本发明实施例中,访问规则主应用(Access Rule Applet-Master,简称ARA-M)安装在安全元件中,ARA-M提供校验规则指令接口供ACE调用,ACE根据该接口的传输格式将访问请求、数字签名以及应用标识码发送给访问规则主应用。
在步骤S104中,当根据接收到的应用标识码在访问规则主应用中未查找到对应的校验规则时,根据校验规则指令控制访问规则主应用将访问请求、数字签名以及应用标识码发送给已在访问规则主应用中注册的访问规则从应用。
在本发明实施例中,访问规则从应用(Access Rule Applet-Client,简称ARA-C)安装在安全元件中,ARA-M里存储访问控制规则,同时通过从应用注册表对ARA-C进行管理。ARA-M根据接收到的AID查找对应的校验规则,当没有查找到时,访问规则主应用根据校验规则指令将访问请求、数字签名以及应用标识码发送给已在访问规则主应用中注册的ARA-C。
优选地,校验规则的数据对象由应用索引字段和公钥索引字段组成,同时取消了权限规则字段(AR-DO),其中,应用索引字段通过AID-REF-DO表示,用来存储相关应用的AID,公钥索引字段通过PUBKEY-REF-DO表示,用来存储相关应用的公钥信息,从而降低了访问规则冲突和为恶意者提供拒绝服务攻击的可能性,并提高了签名验证效率。
在步骤S105中,根据接收到的应用标识码在访问规则从应用中查找对应的校验规则,根据查找到的校验规则通过访问规则从应用对访问请求和数字签名进行验证,并将验证结果返回给访问规则主应用,并通过访问规则主应用将验证结果返回给访问规则执行器。
在本发明实施例中,安装在安全元件中的安全小程序的相关信息(例如AID)存储在ARA-C中。具体地,首先,ARA-C根据接收到的AID查找对应的校验规则,当查找到对应的校验规则时,根据该校验规则中的PUBKEY-REF-DO对数字签名进行解密,将解密后的数据和访问请求进行比较,判断是否一致,然后,访问规则从应用将验证结果返回给访问规则主应用,最后,访问规则主应用将验证结果返回给访问规则执行器。
在步骤S106中,通过访问规则执行器根据返回的验证结果确定应用程序是否拥有访问对应安全小程序的权限。
在本发明实施例中,访问规则主应用返回的验证结果为一个Bool量,通过TRUE或者FALSE表示,访问规则执行器根据该Bool量确定应用程序是否拥有访问对应安全小程序的权限。
优选地,当验证结果为TRUE时,则表明应用程序通过签名验证,拥有访问对应安全小程序的权限,访问规则执行器打开安全通信通道,通过安全通信通道将该应用程序和对应安全小程序进行连接,以控制对应安全小程序执行应用程序的操作指令,从而提高了对应安全小程序执行应用程序的操作指令的安全性。
进一步优选地,当验证结果为FALSE时,则表明应用程序没有通过签名验证,没有访问对应安全小程序的权限,访问规则执行器拒绝应用程序访问安全元件的请求,从而提高了应用程序访问安全元件的安全性。
在本发明实施例中,当接收到应用程序请求访问对应安全小程序的访问请求时,通过访问规则执行器根据预先设置的校验规则指令将该访问请求、访问请求的数字签名以及对应安全小程序的应用标识码发送给访问规则主应用,当根据接收到的应用标识码在访问规则主应用中没有查找到对应的校验规则时,则从访问规则从应用根据中查找对应的校验规则并对访问请求和数字签名进行签名验证,将验证结果返回给访问规则主应用,并通过访问规则主应用将验证结果返回给访问规则执行器,通过访问规则执行器根据返回的验证结果确定应用程序是否拥有访问对应安全小程序的权限,从而降低了访问规则冲突和为恶意者提供拒绝服务攻击的可能性,提高了访问安全元件的安全性。
在本发明实施例中,为了提高数字签名的验证成功率,优选地,在使用预先生成的私钥对访问请求进行签名之前,根据访问规则主应用中预先设置的从应用注册表控制访问规则主应用查找是否存在未安装的访问规则从应用,当存在时,从与未安装的访问规则从应用关联的服务器上下载访问规则从应用,并将下载的访问规则从应用安装在安全元件中,将安装好的访问规则从应用相关信息注册到访问规则主应用中,从而提高了数字签名的验证成功率。
实施例二:
图2示出了本发明实施例二提供的移动终端的访问控制装置的结构,为了便于说明,仅示出了与本发明实施例相关的部分,其中包括:
数字签名单元21,用于当接收到应用程序请求访问安全元件中对应安全小程序的访问请求时,使用预先生成的私钥对访问请求进行签名,得到访问请求的数字签名。
本发明实施例中适用于移动终端,例如,智能手机、智能平板等。当接收到移动终端的应用程序请求访问移动终端的安全元件中对应安全小程序(Applet)的访问请求时,使用预先生成的私钥对访问请求进行签名,得到该访问请求的数字签名。安全元件中的安全小程序由应用提供商提供,鉴于一些安全小程序的敏感性(例如,银行电子钱包小程序),应用提供商希望由自身来限定哪些移动终端的应用程序可以访问该安全小程序,并自己管理敏感数据(例如,解密密钥)。
优选地,私钥为根据非对称加密算法(RSA)生成的加密密钥,从而提高了对加密信息进行破译的难度,以及降低了管理密钥的难度。
第一信息发送单元22,用于将访问请求、数字签名以及对应安全小程序的应用标识码发送给访问规则执行器。
在本发明实施例中,访问规则执行器(Access Control Enforcer,简称ACE)装载在移动终端中,是移动终端的应用程序访问安全元件的访问接口(Application Programming Interface,简称API),每个安全小程序具有唯一的应用标识码(Applet Identification,简称AID)。
第二信息发送单元23,用于根据预先设置的校验规则指令,控制访问规则执行器将接收到的访问请求、数字签名以及应用标识码发送给访问规则主应用。
在本发明实施例中,访问规则主应用(Access Rule Applet-Master,简称ARA-M)安装在安全元件中,ARA-M提供校验规则指令接口供ACE调用,ACE根据该接口的传输格式将访问请求、数字签名以及应用标识码发送给访问规则主应用。
第三信息发送单元24,用于当根据接收到的应用标识码在访问规则主应用中未查找到对应的校验规则时,根据校验规则指令控制访问规则主应用将访问请求、数字签名以及应用标识码发送给已在访问规则主应用中注册的访问规则从应用。
在本发明实施例中,访问规则从应用(Access Rule Applet-Client,简称ARA-C)安装在安全元件中,ARA-M里存储访问控制规则,同时通过从应用注册表对ARA-C进行管理。ARA-M根据接收到的AID查找对应的校验规则,当没有查找到时,访问规则主应用根据校验规则指令将访问请求、数字签名以及应用标识码发送给已在访问规则主应用中注册的ARA-C。
优选地,校验规则的数据对象由应用索引字段和公钥索引字段组成,同时取消了权限规则字段(AR-DO),其中,应用索引字段通过AID-REF-DO表示,用来存储相关应用的AID,公钥索引字段通过PUBKEY-REF-DO表示,用来存储相关应用的公钥信息,从而降低了访问规则冲突和为恶意者提供拒绝服务攻击的可能性,并提高了签名验证效率。
验证结果返回单元25,用于根据接收到的应用标识码在访问规则从应用中查找对应的校验规则,根据查找到的校验规则通过访问规则从应用对访问请求和数字签名进行验证,并将验证结果返回给访问规则主应用,并通过访问规则主应用将验证结果返回给访问规则执行器。
在本发明实施例中,安装在安全元件中的安全小程序的相关信息(例如AID)存储在ARA-C中。具体地,首先,ARA-C根据接收到的AID查找对应的校验规则,当查找到对应的校验规则时,根据该校验规则中的PUBKEY-REF-DO对数字签名进行解密,将解密后的数据和访问请求进行比较,判断是否一致,然后,访问规则从应用将验证结果返回给访问规则主应用,最后,访问规则主应用将验证结果返回给访问规则执行器。
权限确定单元26,用于通过访问规则执行器根据返回的验证结果确定应用程序是否拥有访问对应安全小程序的权限。
在本发明实施例中,访问规则主应用返回的验证结果为一个Bool量,通过TRUE或者FALSE表示,访问规则执行器根据该Bool量确定应用程序是否拥有访问对应安全小程序的权限。
在本发明实施例中,移动终端的访问控制装置的各单元可由相应的硬件或软件单元实现,各单元可以为独立的软、硬件单元,也可以集成为一个软、硬件单元,在此不用以限制本发明。
实施例三:
图3示出了本发明实施例三提供的移动终端的访问控制装置的结构,为了便于说明,仅示出了与本发明实施例相关的部分,其中包括:
从应用查找单元30,用于根据预先设置的从应用注册表控制访问规则主应用查找是否存在未安装的访问规则从应用;
从应用安装单元31,用于当存在时,从与未安装的访问规则从应用关联的服务器上下载访问规则从应用并安装;
信息注册单元32,用于将安装好的访问规则从应用相关的信息注册到访问规则主应用中;
数字签名单元33,用于当接收到应用程序请求访问安全元件中对应安全小程序的访问请求时,使用预先生成的私钥对访问请求进行签名,得到访问请求的数字签名;
第一信息发送单元34,用于将访问请求、数字签名以及对应安全小程序的应用标识码发送给访问规则执行器;
第二信息发送单元35,用于根据预先设置的校验规则指令,控制访问规则执行器将接收到的访问请求、数字签名以及应用标识码发送给访问规则主应用;
第三信息发送单元36,用于当根据接收到的应用标识码在访问规则主应用中未查找到对应的校验规则时,根据校验规则指令控制访问规则主应用将访问请求、数字签名以及应用标识码发送给已在访问规则主应用中注册的访问规则从应用;
验证结果返回单元37,用于根据接收到的应用标识码在访问规则从应用中查找对应的校验规则,根据查找到的校验规则通过访问规则从应用对访问请求和数字签名进行验证,并将验证结果返回给访问规则主应用,并通过访问规则主应用将验证结果返回给访问规则执行器;
权限确定单元38,用于通过访问规则执行器根据返回的验证结果确定应用程序是否拥有访问对应安全小程序的权限;以及
应用连接单元39,用于当确定出应用程序拥有访问对应安全小程序的权限时,控制访问规则执行器打开安全通信通道,通过安全通信通道将应用程序和对应安全小程序进行连接,以控制对应安全小程序执行应用程序的操作指令。
在本发明实施例中,移动终端的访问控制装置的各单元可由相应的硬件或软件单元实现,各单元可以为独立的软、硬件单元,也可以集成为一个软、硬件单元,在此不用以限制本发明。各单元的具体实施方式可参考实施例一的描述,在此不再赘述。
实施例四:
图4示出了本发明实施例四提供的移动终端的结构,为了便于说明,仅示出了与本发明实施例相关的部分。
本发明实施例的移动终端4包括处理器40、存储器41以及存储在存储器41中并可在处理器40上运行的计算机程序42。该处理器40执行计算机程序42时实现上述移动终端的访问控制方法实施例中的步骤,例如图1所示的步骤S101至S106。或者,处理器40执行计算机程序42时实现上述各装置实施例中各单元的功能,例如图2所示单元21至26的功能。
在本发明实施例中,当接收到应用程序请求访问安全元件中对应安全小程序的访问请求时,使用预先生成的私钥生成该访问请求的数字签名,并将该访问请求、数字签名以及对应安全小程序的应用标识码发送给访问规则执行器,控制访问规则执行器根据预先设置的校验规则指令将接收到的访问请求、数字签名以及应用标识码发送给访问规则主应用,当根据接收到的应用标识码在访问规则主应用中没有查找到对应的校验规则时,则根据校验规则指令将访问请求、数字签名以及应用标识码发送给访问规则从应用,根据应用标识码在访问规则从应用中查找对应的校验规则,根据查找到的校验规则通过访问规则从应用对访问请求和数字签名进行验证,并将验证结果返回给访问规则主应用,通过访问规则主应用将验证结果返回给访问规则执行器,通过访问规则执行器根据返回的验证结果确定应用程序是否拥有访问对应安全小程序的权限,从而降低了访问规则冲突和为恶意者提供拒绝服务攻击的可能性,提高了访问安全元件的安全性。
本发明实施例的移动终端可以为智能手机、智能平板。该移动终端4中处理器40执行计算机程序42时实现移动终端的访问控制方法时实现的步骤可参考前述方法实施例的描述,在此不再赘述。
实施例五:
在本发明实施例中,提供了一种计算机可读存储介质,该计算机可读存储介质存储有计算机程序,该计算机程序被处理器执行时实现上述移动终端的访问控制方法实施例中的步骤,例如,图1所示的步骤S101至S106。或者,该计算机程序被处理器执行时实现上述各装置实施例中各单元的功能,例如图2所示单元21至26的功能。
在本发明实施例中,当接收到应用程序请求访问安全元件中对应安全小程序的访问请求时,使用预先生成的私钥生成该访问请求的数字签名,并将该访问请求、数字签名以及对应安全小程序的应用标识码发送给访问规则执行器,控制访问规则执行器根据预先设置的校验规则指令将接收到的访问请求、数字签名以及应用标识码发送给访问规则主应用,当根据接收到的应用标识码在访问规则主应用中没有查找到对应的校验规则时,则根据校验规则指令将访问请求、数字签名以及应用标识码发送给访问规则从应用,根据应用标识码在访问规则从应用中查找对应的校验规则,根据查找到的校验规则通过访问规则从应用对访问请求和数字签名进行验证,并将验证结果返回给访问规则主应用,通过访问规则主应用将验证结果返回给访问规则执行器,通过访问规则执行器根据返回的验证结果确定应用程序是否拥有访问对应安全小程序的权限,从而降低了访问规则冲突和为恶意者提供拒绝服务攻击的可能性,提高了访问安全元件的安全性。
本发明实施例的计算机可读存储介质可以包括能够携带计算机程序代码的任何实体或装置、记录介质,例如,ROM/RAM、磁盘、光盘、闪存等存储器。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。