CN104243415B - 一种能力调用方法和设备 - Google Patents
一种能力调用方法和设备 Download PDFInfo
- Publication number
- CN104243415B CN104243415B CN201310239597.0A CN201310239597A CN104243415B CN 104243415 B CN104243415 B CN 104243415B CN 201310239597 A CN201310239597 A CN 201310239597A CN 104243415 B CN104243415 B CN 104243415B
- Authority
- CN
- China
- Prior art keywords
- terminal
- authentication information
- network side
- key
- ability
- 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.)
- Active
Links
Landscapes
- Mobile Radio Communication Systems (AREA)
Abstract
本发明公开了一种能力调用方法和设备,终端中设置有小应用和能力库,所述方法包括:当所述小应用通过所述能力库调用网络侧能力时,所述终端利用所述小应用与网络侧约定的应用标识计算第一认证信息;所述终端通过能力调用请求将所述第一认证信息发送给所述网络侧,以使所述网络侧根据所述第一认证信息对所述小应用的合法性进行认证;当认证结果为合法时,所述终端接收网络侧根据所述小应用调用的网络侧能力返回的处理结果,并执行相应操作。通过采用本发明,可以实现在小应用调动网络侧能力时,对小应用的合法性进行认证。
Description
技术领域
本发明涉及通信技术领域,尤其涉及一种能力调用方法和设备。
背景技术
随着移动互联网技术的快速发展和智能移动终端的迅速普及,越来越多的移动互联网业务开始建立在终端应用调用网络侧能力的基本架构之上,因此,如何使移动终端上各种形态的应用程序(尤其是第三方开发的应用程序)能够方便、安全地使用网络侧能力(例如位置服务、计费服务等),已经成为一个急迫需求。小应用是运行在移动终端(手机、PAD)上、必须依赖于特定运行环境(Runtime)的一类应用软件,例如移动微技(MobileWidget)、KJAVA小应用等,它们区别于可以在操作系统(OS)上直接运行的本地(Native)应用。
在现有技术中,通常为应用商店的第三方开发者提供一段代码,供其在开发阶段嵌入应用程序并编译成完整的程序包,以这种方式为移动终端应用提供网络侧能力调用接口。但由于上述方案必须保证代码的安全性和完整性,而小应用很难对代码进行自我保护,因此上述方案仅适用于Native应用,无法被用于小应用。
在现有技术中,还没有解决上述技术问题的技术方案。
发明内容
本发明要解决的问题是如何对小应用的合法性进行认证。
为解决上述问题,本发明实施例提供了一种能力调用方法,终端中设置有小应用和能力库,所述方法包括:
当所述小应用通过所述能力库调用网络侧能力时,所述终端利用所述小应用与网络侧约定的应用标识计算第一认证信息;
所述终端通过能力调用请求将所述第一认证信息发送给所述网络侧,以使所述网络侧根据所述第一认证信息对所述小应用的合法性进行认证;
当认证结果为合法时,所述终端接收网络侧根据所述小应用调用的网络侧能力返回的处理结果,并执行相应操作。
优选的,还包括:所述终端根据自身的终端标识和设置于所述终端上的用户卡的用户卡标识计算并存储第一终端密钥;
所述终端利用所述小应用与网络侧约定的应用标识计算第一认证信息,具体包括:
所述终端根据所述应用标识计算第一应用密钥、并根据所述应用标识、第一应用密钥、第一终端密钥和当前时间的时间戳计算所述第一认证信息。
优选的,当所述终端更换所述用户卡时,所述方法还包括:
所述终端根据所述终端标识和更换后的用户卡的用户卡标识计算第二终端密钥;
所述终端根据所述第一终端密钥、第二终端密钥、所述终端与所述网络侧约定的第二应用密钥以及当前时间的时间戳,计算第二认证信息;
所述终端通过更新请求将所述第二认证信息发送给所述网络侧,以使所述网络侧根据所述第二认证信息对所述终端的合法性进行认证;
当所述网络侧对所述第二认证信息认证成功时,所述终端接收认证成功响应,并使用所述第二终端密钥更新本地存储的所述第一终端密钥。
优选的,还包括:
当需要下载能力库时,所述终端根据自身的终端标识和设置于所述终端上的用户卡的用户卡标识计算第一终端密钥;
所述终端根据所述第一终端密钥、所述终端与所述网络侧约定的第二应用密钥和当前时间的时间戳、计算第三认证信息;
所述终端通过能力库下载请求,将所述第三认证信息发送给所述网络侧,以使所述网络侧根据所述第三认证信息对所述终端的合法性进行认证,其中,所述能力库下载请求中还携带了能力库标识;
当所述网络侧对所述第三认证信息认证成功时,所述终端接收所述网络侧根据所述能力库标识返回的能力库安装程序,并使用所述能力库安装程序安装所述能力库。
本发明实施例还提供了一种能力调用方法,所述方法包括:
当小应用通过能力库调用网络侧能力时,所述网络侧接收终端发送的能力调用请求,获取所述能力调用请求中携带的所述终端利用所述小应用与所述网络侧约定的应用标识计算得到的第一认证信息;
所述网络侧根据所述第一认证信息对所述小应用的合法性进行认证;
当所述认证结果为认证成功时,所述网络侧根据所述小应用所调用的网络侧能力向所述终端返回处理结果。
优选的,所述能力调用请求中还携带了所述应用标识、根据所述终端的终端标识和设置于所述终端上的用户卡的用户卡标识得到的第一终端密钥以及所述终端计算所述第一认证信息时的时间戳;
所述网络侧根据所述第一认证信息对所述小应用的合法性进行认证,具体包括:
所述网络侧根据所述应用标识计算第一应用密钥,并根据所述第一应用密钥、第一终端密钥、应用标识以及所述终端计算所述第一认证信息时的时间戳计算第四认证信息;
当所述第四认证信息与所述第一认证信息相同时,所述网络侧判断认证结果为认证成功。
优选的,所述方法还包括:
所述网络侧接收所述终端发送的更新请求,获取其中携带的第二认证信息、第一终端密钥、根据所述终端标识和更换后的用户卡的用户卡标识计算得到的第二终端密钥以及所述终端计算所述第二认证信息时的时间戳;
所述网络侧根据所述网络侧与所述终端约定的第二应用密钥、所述第一终端密钥、所述第二终端密钥和所述终端计算所述第二认证信息时的时间戳计算第五认证信息;
当所述第五认证信息与所述第二认证信息相同时,所述网络侧判断认证结果为认证成功,使用所述第二终端密钥更新本地存储的所述第一终端密钥,并向终端返回认证成功响应。
优选的,还包括:
所述网络侧接收所述终端发送的能力库下载请求,获取其中携带的能力库标识、第三认证信息、根据所述终端的终端标识和设置于所述终端上的用户卡的用户卡标识得到的第一终端密钥以及所述终端计算所述第三认证信息时的时间戳;
所述网络侧根据所述第一终端密钥、所述终端计算第三认证信息时的时间戳和所述网络侧与所述终端约定的第二应用密钥计算第六认证信息;
当所述第六认证信息与所述第三认证信息相同时,所述网络侧判断认证结果为认证成功,并根据所述能力库标识向终端返回相应的能力库安装程序。
本发明实施例还提供了一种终端,所述终端中设置有小应用和能力库,所述终端包括:
计算模块,用于当所述小应用通过所述能力库调用网络侧能力时,利用所述小应用与网络侧约定的应用标识计算第一认证信息;
收发模块,用于通过能力调用请求将所述计算模块计算得到的所述第一认证信息发送给所述网络侧,以使所述网络侧根据所述第一认证信息对所述小应用的合法性进行认证;以及用于当认证结果为合法时,接收网络侧根据所述小应用调用的网络侧能力返回的处理结果,并执行相应操作。
优选的,所述计算模块,具体用于根据所述终端自身的终端标识和设置于所述终端上的用户卡的用户卡标识计算并存储第一终端密钥;以及具体用于根据所述应用标识计算第一应用密钥、并根据所述应用标识、第一应用密钥、第一终端密钥和当前时间的时间戳计算所述第一认证信息。
优选的,所述计算模块,还用于当所述终端更换所述用户卡时,根据所述终端标识和更换后的用户卡的用户卡标识计算第二终端密钥,以及还用于根据所述第一终端密钥、第二终端密钥、所述终端与所述网络侧约定的第二应用密钥以及当前时间的时间戳,计算第二认证信息;
所述收发模块,还用于通过更新请求将所述计算模块计算得到的所述第二认证信息发送给所述网络侧,以使所述网络侧根据所述第二认证信息对所述终端的合法性进行认证;以及还用于当所述网络侧对所述第二认证信息认证成功时,所述终端接收认证成功响应,并使用所述第二终端密钥更新本地存储的所述第一终端密钥。
优选的,所述计算模块,还用于当需要下载能力库时,根据所述终端自身的终端标识和设置于所述终端上的用户卡的用户卡标识计算第一终端密钥;以及还用于根据所述第一终端密钥、所述终端与所述网络侧约定的第二应用密钥和当前时间的时间戳、计算第三认证信息;
所述收发模块,还用于通过能力库下载请求,将所述计算模块计算得到的所述第三认证信息发送给所述网络侧,以使所述网络侧根据所述第三认证信息对所述终端的合法性进行认证,其中,所述能力库下载请求中还携带了能力库标识;以及还用于当所述网络侧对所述第三认证信息认证成功时,接收所述网络侧根据所述能力库标识返回的能力库安装程序,并使用所述能力库安装程序安装所述能力库。
本发明实施例还提供了一种网络设备,其特征在于,所述网络设备包括:
收发模块,用于当小应用通过能力库调用网络侧能力时,接收终端发送的能力调用请求,获取所述能力调用请求中携带的所述终端利用所述小应用与所述网络侧约定的应用标识计算得到的第一认证信息;以及用于当认证模块的认证结果为认证成功时,根据所述小应用所调用的网络侧能力向所述终端返回处理结果。
所述认证模块,用于根据所述收发模块接收到的所述第一认证信息对所述小应用的合法性进行认证。
优选的,所述能力调用请求中还携带了所述应用标识、根据所述终端的终端标识和设置于所述终端上的用户卡的用户卡标识得到的第一终端密钥以及所述终端计算所述第一认证信息时的时间戳;
所述认证模块,具体用于根据所述应用标识计算第一应用密钥,并根据所述第一应用密钥、第一终端密钥、应用标识以及所述终端计算所述第一认证信息时的时间戳计算第四认证信息;当所述第四认证信息与所述第一认证信息相同时,判断认证结果为认证成功。
优选的,所述收发模块,还用于接收所述终端发送的更新请求,获取其中携带的第二认证信息、第一终端密钥、根据所述终端标识和更换后的用户卡的用户卡标识计算得到的第二终端密钥以及所述终端计算所述第二认证信息时的时间戳;以及还用于当所述认证模块的认证结果为认证成功时,使用所述第二终端密钥更新本地存储的所述第一终端密钥,并向终端返回认证成功响应。
所述认证模块,还用于根据所述网络侧与所述终端约定的第二应用密钥、所述收发模块接收到的所述第一终端密钥、所述第二终端密钥和所述终端计算所述第二认证信息时的时间戳计算第五认证信息;当所述第五认证信息与所述第二认证信息相同时,判断认证结果为认证成功。
优选的,所述收发模块,还用于接收所述终端发送的能力库下载请求,获取其中携带的能力库标识、第三认证信息、根据所述终端的终端标识和设置于所述终端上的用户卡的用户卡标识得到的第一终端密钥以及所述终端计算所述第三认证信息时的时间戳;以及还用于当所述认证模块的认证结果为认证成功时,根据所述能力库标识向终端返回相应的能力库安装程序;
所述认证模块,还用于根据所述收发模块接收到的所述第一终端密钥、所述终端计算第三认证信息时的时间戳和所述网络侧与所述终端约定的第二应用密钥计算第六认证信息;以及还用于当所述第六认证信息与所述第三认证信息相同时,判断认证结果为认证成功。
附图说明
图1为本发明实施例提供的一种系统架构示意图;
图2为本发明实施例提供的一种能力调用方法的流程示意图;
图3为本发明实施例提供的一种小应用注册方法的流程示意图;
图4为本发明实施例提供的一种小应用安装方法的流程示意图;
图5为本发明实施例提供的一种信息更新方法的流程示意图;
图6为本发明实施例提供的一种能力库下载方法的流程示意图;
图7为本发明实施例提供的一种终端的结构示意图;
图8为本发明实施例提供的一种网络设备的结构示意图。
具体实施方式
下面将结合本发明中的附图,对本发明中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
如图1所示,为本发明实施例提供的一种系统架构示意图,包括网络侧和终端,其中,网络侧包括应用开发者门户、应用签名服务器、应用发布平台、网络能力注册平台以及网络能力开放平台,终端包括小应用、该小应用的运行环境、能力库以及安全中间件,其中小应用(Applet)指采用Java创建的基于HTML的程序,用户将其下载到终端中,并在Web页打开时在本地运行。
如图2所示,为本发明实施例提供的一种能力调用方法的流程示意图,应用于安装有小应用的终端中,包括以下步骤:
步骤201,当小应用通过能力库调用网络侧能力时,终端利用小应用与网络侧约定的应用标识计算第一认证信息。
优选的,当小应用调用网络侧能力时,将应用标识AppID作为参数传递给运行环境,运行环境激活相应的能力库及安全中间件,其中,该应用标识AppID为小应用在制作时,由网络侧为其分配的唯一性的标识符。优选的,小应用可以通过其所在的运行环境,将应用标识发送给安全中间件。
步骤202,终端通过能力调用请求将所述第一认证信息发送给所述网络侧,以使所述网络侧根据所述第一认证信息对所述小应用的合法性进行认证。
优选的,终端根据自身的终端标识和设置于所述终端上的用户卡的用户卡标识计算并存储第一终端密钥,并根据应用标识计算第一应用密钥、根据所述应用标识、第一应用密钥、第一终端密钥和当前时间的时间戳计算所述第一认证信息。
具体的,安全中间件可以通过公式第一应用密钥AppKey=HMAC(masterKey,AppID),计算第一应用密钥,其中masterKey为网络侧和终端约定的第二应用密钥。安全中间件可以根据终端标识IMEI和用户卡标识IMSI计算第一终端密钥,具体的,安全中间件可以通过公式第一终端密钥HID=SHA-256(IMEI|IMSI)计算第一终端密钥。安全中间件在得到AppKey和HID后,可以根据公式第一认证信息Token1=HMAC(appKey,AppID|HID|timestamp),计算第一认证信息,其中timestamp为当前时间的时间戳。
安全中间件将AppID、HID、Token1、timestamp发送给能力库,由能力库构造四元组<AppID、HID、Token1、timestamp>四元组作为认证向量,添加到能力调用请求中,并调用终端的通信能力,将能力调用请求发送给网络侧,优选的,能力调用请求可以为SOAP、RESTful等格式。
步骤203,当小应用通过能力库调用网络侧能力时,网络侧接收终端发送的能力调用请求,获取能力调用请求中携带的终端利用小应用与网络侧约定的应用标识计算得到的第一认证信息。
步骤204,网络侧根据所述第一认证信息对所述小应用的合法性进行认证,若认证成功执行步骤205,否则执行步骤206。
优选的,能力调用请求中还携带了应用标识、根据终端的终端标识和设置于终端上的用户卡的用户卡标识得到的第一终端密钥以及终端计算第一认证信息时的时间戳;网络侧根据应用标识计算第一应用密钥,并根据第一应用密钥、第一终端密钥、应用标识以及终端计算第一认证信息时的时间戳计算第四认证信息;当第四认证信息与第一认证信息相同时,网络侧判断认证结果为认证成功。
优选的,网络侧在接收到能力调用请求后,还可以现根据第一终端密钥查找自身是否记录有相应能力对应的能力库的下载记录,若有,再根据自身记录的应用标识和第一终端密钥查找时间记录(若没有,则执行本实施例中提供的能力库下载流程,此处不再赘述),并根据时间戳和时间记录判断该能力调用请求是否为最新的能力调用请求,若是,再执行计算第四认证信息的操作,否则向终端返回错误信息。
具体的,网络能力开放平台收到能力调用请求后,获取四元组<AppID、HID、Token1、timestamp>,并根据HID查找自身是否记录有相应能力库的下载记录,若有,则网络能力开放平台根据AppID和HID查找时间记录,并根据四元组中的timestamp判断该能力调用请求是否为最新的能力调用请求,若是,则根据timestamp更新时间记录,并将四元组转发给网络能力注册平台,否则向终端返回错误信息。
网络能力注册平台接收到四元组后,采用与终端相同的算法Token4=HMAC(appKey,AppID|HID|timestamp),计算第四认证信息,并比较Token1和Token4,若相同,则认证成功,否则认证失败。
步骤205,网络侧根据小应用所调用的网络侧能力向终端返回处理结果,并执行步骤207。
步骤206,网络侧向终端返回错误信息。
步骤207,当认证结果为合法时,终端接收网络侧根据小应用调用的网络侧能力返回的处理结果,并执行相应操作;当认证结果为非法时,终端接收网络侧返回的错误信息,并将错误信息告知用户。
通过采用本发明,可以实现在小应用调动网络侧能力时,对小应用的合法性进行认证。
下面,结合另一实施例阐述小应用的注册过程,如图3所示,为本发明实施例提供的一种小应用注册方法的流程示意图,包括以下步骤:
步骤301,应用开发者登录应用开发者门户,填写小应用的相关信息,并选择该应用需要使用的网络能力。
步骤302,应用开发者门户向网络能力注册平台转发网络能力使用请求。
步骤303,网络能力注册平台为该小应用分配一个具有唯一性的标识符AppID,并使用与终端约定的算法计算与之对应的AppKey,然后通过应用开发者门户向应用开发者返回AppID作为响应。
优选的,网络能力注册平台可以通过公式AppKey=HMAC(masterKey,AppID)计算第一应用密钥,其中,masterKey为网络侧和终端约定的第二应用密钥。
步骤304,小应用开发完成后,应用开发者将AppID按照约定的格式写入小应用内,并将小应用提交到应用开发者门户。
步骤305,应用开发者门户对应用进行安全性、合规性检查,对检查合格且申请了网络能力的应用,提交到应用签名服务器进行代码签名,完成后,发布到应用发布平台供终端下载。
当小应用被发布到应用发布平台后,终端可以通过Wifi或移动网络访问应用发布平台,选中小应用并将其下载到本地,在下载完成后,可以由用户手动或由终端自动安装小应用,本发明实施例还提供了一种小应用的安装方法,如图4所示,为本发明实施例提供的一种小应用安装方法的流程示意图,包括以下步骤:
步骤401,运行环境对检查小应用是否需要调用网络侧能力,若判断结果为是,执行步骤402,否则405。
步骤402,运行环境启动安全中间件。
步骤403,安全中间件检查小应用安装程序的代码签名是否合法,当判断结果为是时,执行步骤404,否则结束流程。
步骤404,安全中间件检查终端是否安装有小应用所调用的网络侧能力的能力库,若判断结果为是,则执行步骤405,否则执行步骤406。
步骤405,安全中间件完成小应用的安装。
步骤406,安全中间件提示用户安装相应能力库,并在能力库安装成功后,完成小应用的安装,若用户拒绝安装能力库,则终止小应用的安装。
当用户更换终端上的用户卡时,由于用户卡IMSI信息改变,因此需要更新终端和网络侧所记录的相应信息,具体的,如图5所示,为本发明实施例提供的一种信息更新方法的流程示意图,包括以下步骤:
步骤501,终端根据终端标识和更换后的用户卡的用户卡标识计算第二终端密钥。
具体的,安全中间件根据更换后的用户卡的IMSI’标识和终端的IMEI标识,计算第二终端密钥HID’=SHA-256(IMEI|IMSI’)。
步骤502,终端根据第一终端密钥、第二终端密钥、第二应用密钥以及当前时间的时间戳,计算第二认证信息。
具体的,安全中间件根据第一终端密钥HID=SHA-256(IMEI|IMSI)计算Token值:Token21=HMAC(masterKey,HID|timestamp),以及根据新的第一终端密钥HID’计算Token22=HMAC(masterKey,HID’|timestamp),其中timestamp是当前时间的时间戳,安全中间件将Token21和Token22作为第二认证信息Token2。
步骤503,终端通过更新请求将第二认证信息发送给网络侧,以使网络侧根据第二认证信息对终端的合法性进行认证。
具体的,安全中间件将(HID,HID’,Token21,Token22,timestamp)五元组作为认证向量,添加到更新请求中,并调用终端信息能力,将更新请求发送给网络能力开放平台。
步骤504,网络侧接收终端发送的更新请求,获取其中携带的第二认证信息、第一终端密钥、根据终端标识和更换后的用户卡的用户卡标识计算得到的第二终端密钥以及终端计算第二认证信息时的时间戳。
具体的,网络能力开放平台接收到更新请求后,获取其中携带的HID,HID’,Token21,Token22以及timestamp。
步骤505,网络侧根据网络侧与终端约定的第二应用密钥、第一终端密钥、第二终端密钥和终端计算第二认证信息时的时间戳计算第五认证信息。
具体的,网络能力开放平台将(HID,Token21,timestamp)和(HID’,Token22,timestamp)作为两个三元组分别转发给网络能力注册平台,网络能力注册平台根据收到的两个三元组,采用与终端相同的算法Token51=HMAC(masterKey,HID|timestamp),Token52=HMAC(masterKey,HID’|timestamp)计算第五认证信息Token5。
优选的,网络能力平台可以先根据HID,查找能力库下载记录,并根据timestamp,判断接收到的更新请求是否为最新的更新请求,若否,则拒绝请求,向终端返回出错信息,是则将(HID,Token21,timestamp)和(HID’,Token22,timestamp)这两个三元组分别转发给网络能力注册平台。
步骤506,当第五认证信息与第二认证信息相同时,网络侧判断认证结果为认证成功,执行步骤507,否则执行步骤508。
步骤507,网络侧使用第二终端密钥更新本地存储的第一终端密钥,并向终端返回认证成功响应,并执行步骤509。
具体的,网络能力开放平台使用HID’替换能力库下载记录中的HID、记录更新请求中的timestamp,并向终端返回更新成功响应。
步骤508,网络侧向终端返回错误信息。
步骤509,当终端接收到更新成功响应时,使用第二终端密钥更新本地存储的第一终端密钥,当终端接收到错误信息时,将错误信息告知用户。
具体的,安全中间件使用HID’更新本地存储的HID。
具体的,若错误代码提示为该更新请求不是最新的更新请求,则终端使用新的时间戳重新发起上述流程;若错误代码提示为认证失败,则使用前述算法重新计算(HID,HID’,Token21,Token22,timestamp)五元组,并重新发起上述流程。
下面,结合具体实施例,对终端下载能力库的流程进行详细阐述,如图6所示,为本发明实施例提供的一种能力库下载方法的流程示意图,包括以下步骤:
步骤601,当需要下载能力库时,终端根据自身的终端标识和设置于终端上的用户卡的用户卡标识计算第一终端密钥。
具体的,安全中间件根据终端标识IMEI和用户卡标识IMSI,计算第一终端密钥HID=SHA-256(IMEI|IMSI),并保存该值备用(如已保存过则直接取用)。
步骤602,终端根据第一终端密钥、终端与所述网络侧约定的第二应用密钥和当前时间的时间戳、计算第三认证信息。
具体的,终端根据第一终端密钥HID,与终端约定的第二应用密钥masterKey和当前时间的时间戳timestamp计算第三认证信息Token3=HMAC(masterKey,HID|timestamp)。
步骤603,终端通过能力库下载请求,将第三认证信息发送给网络侧,以使网络侧根据第三认证信息对终端的合法性进行认证,其中,能力库下载请求中还携带了能力库标识。
具体的,安全中间件可以将<HID、Token3、timestamp>三元组作为认证向量,将该认证向量和需要下载的能力库的能力库标识,添加到能力库下载请求中,其中,该能力库标识可以为一个或多个。
步骤604,网络侧接收终端发送的能力库下载请求,获取其中携带的能力库标识、第三认证信息、根据终端的终端标识和设置于终端上的用户卡的用户卡标识得到的第一终端密钥以及终端计算第三认证信息时的时间戳。
具体的,网络能力开放平台接收该能力库下载请求,获取三元组<HID、Token3、timestamp>,以及能力库标识。
步骤605,网络侧根据第一终端密钥、终端计算第三认证信息时的时间戳和网络侧与终端约定的第三应用密钥计算第六认证信息。
具体的,网络能力开放平台将获取到的三元组发送给网络能力注册平台,网络能力注册平台采用与终端相同的算法Token6=HMAC(masterKey,HID|timestamp),计算第六认证信息,并比较Token3和Token6,若相同,则认证成功,否则认证失败。
优选的,网络能力开放平台可以根据三元组中的HID,查找相应的能力库下载时间记录,并根据三元组中的timestamp判断接收到的能力库下载请求是否为最新的能力库下载请求,是则执行认证操作,否则向终端返回错误信息。
步骤606,网络侧根据第六认证信息对小应用进行认证,若认证成功,执行步骤607,否则执行步骤608。
步骤607,网络侧根据能力库标识向终端返回相应的能力库安装程序,并执行步骤609。
步骤608,网络侧向终端返回错误信息。
步骤609,当终端接收所述网络侧根据所述能力库标识返回的能力库安装程序时,使用能力库安装程序安装相应能力库,当终端接收到错误信息时,将错误信息告知用户。
当安全中间件接收到网络侧返回的能力库安装程序时,根据能力库标识返回的能力库安装程序时,使用能力库安装程序安装能力库。
基于与上述方法实施例相同或相似的技术构思,本发明还提供了一种终端,如图7所示,为该终端的结构示意图,所述终端中设置有小应用和能力库,所述终端包括:
计算模块701,用于当所述小应用通过所述能力库调用网络侧能力时,利用所述小应用与网络侧约定的应用标识计算第一认证信息;
收发模块702,用于通过能力调用请求将所述计算模块701计算得到的所述第一认证信息发送给所述网络侧,以使所述网络侧根据所述第一认证信息对所述小应用的合法性进行认证;以及用于当认证结果为合法时,接收网络侧根据所述小应用调用的网络侧能力返回的处理结果,并执行相应操作。
优选的,所述计算模块,具体用于根据所述终端自身的终端标识和设置于所述终端上的用户卡的用户卡标识计算并存储第一终端密钥;以及具体用于根据所述应用标识计算第一应用密钥、并根据所述应用标识、第一应用密钥、第一终端密钥和当前时间的时间戳计算所述第一认证信息。
优选的,所述计算模块,还用于当所述终端更换所述用户卡时,根据所述终端标识和更换后的用户卡的用户卡标识计算第二终端密钥,以及还用于根据所述第一终端密钥、第二终端密钥、所述终端与所述网络侧约定的第二应用密钥以及当前时间的时间戳,计算第二认证信息;
所述收发模块,还用于通过更新请求将所述计算模块计算得到的所述第二认证信息发送给所述网络侧,以使所述网络侧根据所述第二认证信息对所述终端的合法性进行认证;以及还用于当所述网络侧对所述第二认证信息认证成功时,所述终端接收认证成功响应,并使用所述第二终端密钥更新本地存储的所述第一终端密钥。
优选的,所述计算模块,还用于当需要下载能力库时,根据所述终端自身的终端标识和设置于所述终端上的用户卡的用户卡标识计算第一终端密钥;以及还用于根据所述第一终端密钥、所述终端与所述网络侧约定的第二应用密钥和当前时间的时间戳、计算第三认证信息;
所述收发模块,还用于通过能力库下载请求,将所述计算模块计算得到的所述第三认证信息发送给所述网络侧,以使所述网络侧根据所述第三认证信息对所述终端的合法性进行认证,其中,所述能力库下载请求中还携带了能力库标识;以及还用于当所述网络侧对所述第三认证信息认证成功时,接收所述网络侧根据所述能力库标识返回的能力库安装程序,并使用所述能力库安装程序安装所述能力库。
基于与上述方法实施例相同或相似的技术构思,本发明还提供了一种网络设备,如图8所示,为该网络设备的结构示意图,所述网络设备包括:
收发模块801,用于当小应用通过能力库调用网络侧能力时,接收终端发送的能力调用请求,获取所述能力调用请求中携带的所述终端利用所述小应用与所述网络侧约定的应用标识计算得到的第一认证信息;以及用于当认证模块802的认证结果为认证成功时,根据所述小应用所调用的网络侧能力向所述终端返回处理结果。
所述认证模块802,用于根据所述收发模块801接收到的所述第一认证信息对所述小应用的合法性进行认证。
优选的,所述能力调用请求中还携带了所述应用标识、根据所述终端的终端标识和设置于所述终端上的用户卡的用户卡标识得到的第一终端密钥以及所述终端计算所述第一认证信息时的时间戳;
所述认证模块,具体用于根据所述应用标识计算第一应用密钥,并根据所述第一应用密钥、第一终端密钥、应用标识以及所述终端计算所述第一认证信息时的时间戳计算第四认证信息;当所述第四认证信息与所述第一认证信息相同时,判断认证结果为认证成功。
优选的,所述收发模块,还用于接收所述终端发送的更新请求,获取其中携带的第二认证信息、第一终端密钥、根据所述终端标识和更换后的用户卡的用户卡标识计算得到的第二终端密钥以及所述终端计算所述第二认证信息时的时间戳;以及还用于当所述认证模块的认证结果为认证成功时,使用所述第二终端密钥更新本地存储的所述第一终端密钥,并向终端返回认证成功响应。
所述认证模块,还用于根据所述网络侧与所述终端约定的第二应用密钥、所述收发模块接收到的所述第一终端密钥、所述第二终端密钥和所述终端计算所述第二认证信息时的时间戳计算第五认证信息;当所述第五认证信息与所述第二认证信息相同时,判断认证结果为认证成功。
优选的,所述收发模块,还用于接收所述终端发送的能力库下载请求,获取其中携带的能力库标识、第三认证信息、根据所述终端的终端标识和设置于所述终端上的用户卡的用户卡标识得到的第一终端密钥以及所述终端计算所述第三认证信息时的时间戳;以及还用于当所述认证模块的认证结果为认证成功时,根据所述能力库标识向终端返回相应的能力库安装程序;
所述认证模块,还用于根据所述收发模块接收到的所述第一终端密钥、所述终端计算第三认证信息时的时间戳和所述网络侧与所述终端约定的第二应用密钥计算第六认证信息;以及还用于当所述第六认证信息与所述第三认证信息相同时,判断认证结果为认证成功。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本发明可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
本领域技术人员可以理解附图只是一个优选实施例的示意图,附图中的模块或流程并不一定是实施本发明所必须的。
本领域技术人员可以理解实施例中的装置中的模块可以按照实施例描述进行分布于实施例的装置中,也可以进行相应变化位于不同于本实施例的一个或多个装置中。上述实施例的模块可以合并为一个模块,也可以进一步拆分成多个子模块。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
以上公开的仅为本发明的几个具体实施例,但是,本发明并非局限于此,任何本领域的技术人员能思之的变化都应落入本发明的保护范围。
Claims (12)
1.一种能力调用方法,其特征在于,终端中设置有小应用和能力库,还包括所述终端根据自身的终端标识和设置于所述终端上的用户卡的用户卡标识计算并存储第一终端密钥,该方法具体包括:
当所述小应用通过所述能力库调用网络侧能力时,所述终端利用所述小应用与网络侧约定的应用标识计算第一认证信息;
所述终端通过能力调用请求将所述第一认证信息发送给所述网络侧,以使所述网络侧根据所述第一认证信息对所述小应用的合法性进行认证;
当认证结果为合法时,所述终端接收网络侧根据所述小应用调用的网络侧能力返回的处理结果,并执行相应操作;
其中,所述终端利用所述小应用与网络侧约定的应用标识计算第一认证信息,具体包括:
所述终端根据所述应用标识计算第一应用密钥、并根据所述应用标识、第一应用密钥、第一终端密钥和当前时间的时间戳计算所述第一认证信息。
2.如权利要求1所述的方法,其特征在于,当所述终端更换所述用户卡时,所述方法还包括:
所述终端根据所述终端标识和更换后的用户卡的用户卡标识计算第二终端密钥;
所述终端根据所述第一终端密钥、第二终端密钥、所述终端与所述网络侧约定的第二应用密钥以及当前时间的时间戳,计算第二认证信息;
所述终端通过更新请求将所述第二认证信息发送给所述网络侧,以使所述网络侧根据所述第二认证信息对所述终端的合法性进行认证;
当所述网络侧对所述第二认证信息认证成功时,所述终端接收认证成功响应,并使用所述第二终端密钥更新本地存储的所述第一终端密钥。
3.如权利要求1所述的方法,其特征在于,还包括:
当需要下载能力库时,所述终端根据自身的终端标识和设置于所述终端上的用户卡的用户卡标识计算第一终端密钥;
所述终端根据所述第一终端密钥、所述终端与所述网络侧约定的第二应用密钥和当前时间的时间戳、计算第三认证信息;
所述终端通过能力库下载请求,将所述第三认证信息发送给所述网络侧,以使所述网络侧根据所述第三认证信息对所述终端的合法性进行认证,其中,所述能力库下载请求中还携带了能力库标识;
当所述网络侧对所述第三认证信息认证成功时,所述终端接收所述网络侧根据所述能力库标识返回的能力库安装程序,并使用所述能力库安装程序安装所述能力库。
4.一种能力调用方法,其特征在于,能力调用请求中还携带了应用标识、根据终端的终端标识和设置于所述终端上的用户卡的用户卡标识得到的第一终端密钥以及所述终端计算第一认证信息时的时间戳,所述方法具体包括:
当小应用通过能力库调用网络侧能力时,所述网络侧接收终端发送的能力调用请求,获取所述能力调用请求中携带的所述终端利用所述小应用与所述网络侧约定的应用标识计算得到的第一认证信息;
所述网络侧根据所述第一认证信息对所述小应用的合法性进行认证;
当认证结果为认证成功时,所述网络侧根据所述小应用所调用的网络侧能力向所述终端返回处理结果;
其中,所述网络侧根据所述第一认证信息对所述小应用的合法性进行认证,具体包括:
所述网络侧根据所述应用标识计算第一应用密钥,并根据所述第一应用密钥、第一终端密钥、应用标识以及所述终端计算所述第一认证信息时的时间戳计算第四认证信息;
当所述第四认证信息与所述第一认证信息相同时,所述网络侧判断认证结果为认证成功。
5.如权利要求4所述的方法,其特征在于,所述方法还包括:
所述网络侧接收所述终端发送的更新请求,获取其中携带的第二认证信息、第一终端密钥、根据所述终端标识和更换后的用户卡的用户卡标识计算得到的第二终端密钥以及所述终端计算所述第二认证信息时的时间戳;
所述网络侧根据所述网络侧与所述终端约定的第二应用密钥、所述第一终端密钥、所述第二终端密钥和所述终端计算所述第二认证信息时的时间戳计算第五认证信息;
当所述第五认证信息与所述第二认证信息相同时,所述网络侧判断认证结果为认证成功,使用所述第二终端密钥更新本地存储的所述第一终端密钥,并向终端返回认证成功响应。
6.如权利要求4所述的方法,其特征在于,还包括:
所述网络侧接收所述终端发送的能力库下载请求,获取其中携带的能力库标识、第三认证信息、根据所述终端的终端标识和设置于所述终端上的用户卡的用户卡标识得到的第一终端密钥以及所述终端计算所述第三认证信息时的时间戳;
所述网络侧根据所述第一终端密钥、所述终端计算第三认证信息时的时间戳和所述网络侧与所述终端约定的第二应用密钥计算第六认证信息;
当所述第六认证信息与所述第三认证信息相同时,所述网络侧判断认证结果为认证成功,并根据所述能力库标识向终端返回相应的能力库安装程序。
7.一种能力调用终端,其特征在于,所述终端中设置有小应用和能力库,所述终端包括:
计算模块,用于当所述小应用通过所述能力库调用网络侧能力时,利用所述小应用与网络侧约定的应用标识计算第一认证信息;所述计算模块,还具体用于根据所述终端自身的终端标识和设置于所述终端上的用户卡的用户卡标识计算并存储第一终端密钥;以及具体用于根据所述应用标识计算第一应用密钥、并根据所述应用标识、第一应用密钥、第一终端密钥和当前时间的时间戳计算所述第一认证信息;
收发模块,用于通过能力调用请求将所述计算模块计算得到的所述第一认证信息发送给所述网络侧,以使所述网络侧根据所述第一认证信息对所述小应用的合法性进行认证;以及用于当认证结果为合法时,接收网络侧根据所述小应用调用的网络侧能力返回的处理结果,并执行相应操作。
8.如权利要求7所述的终端,其特征在于,所述计算模块,还用于当所述终端更换所述用户卡时,根据所述终端标识和更换后的用户卡的用户卡标识计算第二终端密钥,以及还用于根据所述第一终端密钥、第二终端密钥、所述终端与所述网络侧约定的第二应用密钥以及当前时间的时间戳,计算第二认证信息;
所述收发模块,还用于通过更新请求将所述计算模块计算得到的所述第二认证信息发送给所述网络侧,以使所述网络侧根据所述第二认证信息对所述终端的合法性进行认证;以及还用于当所述网络侧对所述第二认证信息认证成功时,所述终端接收认证成功响应,并使用所述第二终端密钥更新本地存储的所述第一终端密钥。
9.如权利要求7所述的终端,其特征在于,
所述计算模块,还用于当需要下载能力库时,根据所述终端自身的终端标识和设置于所述终端上的用户卡的用户卡标识计算第一终端密钥;以及还用于根据所述第一终端密钥、所述终端与所述网络侧约定的第二应用密钥和当前时间的时间戳、计算第三认证信息;
所述收发模块,还用于通过能力库下载请求,将所述计算模块计算得到的所述第三认证信息发送给所述网络侧,以使所述网络侧根据所述第三认证信息对所述终端的合法性进行认证,其中,所述能力库下载请求中还携带了能力库标识;以及还用于当所述网络侧对所述第三认证信息认证成功时,接收所述网络侧根据所述能力库标识返回的能力库安装程序,并使用所述能力库安装程序安装所述能力库。
10.一种能力调用网络设备,其特征在于,所述网络设备包括:
收发模块,用于当小应用通过能力库调用网络侧能力时,接收终端发送的能力调用请求,获取所述能力调用请求中携带的所述终端利用所述小应用与所述网络侧约定的应用标识计算得到的第一认证信息;以及用于当认证模块的认证结果为认证成功时,根据所述小应用所调用的网络侧能力向所述终端返回处理结果;
所述认证模块,用于根据所述收发模块接收到的所述第一认证信息对所述小应用的合法性进行认证,并具体用于根据所述应用标识计算第一应用密钥,并根据所述第一应用密钥、第一终端密钥、应用标识以及所述终端计算所述第一认证信息时的时间戳计算第四认证信息;当所述第四认证信息与所述第一认证信息相同时,判断认证结果为认证成功。
11.如权利要求10所述的网络设备,其特征在于,所述收发模块,还用于接收所述终端发送的更新请求,获取其中携带的第二认证信息、第一终端密钥、根据所述终端标识和更换后的用户卡的用户卡标识计算得到的第二终端密钥以及所述终端计算所述第二认证信息时的时间戳;以及还用于当所述认证模块的认证结果为认证成功时,使用所述第二终端密钥更新本地存储的所述第一终端密钥,并向终端返回认证成功响应;
所述认证模块,还用于根据所述网络侧与所述终端约定的第二应用密钥、所述收发模块接收到的所述第一终端密钥、所述第二终端密钥和所述终端计算所述第二认证信息时的时间戳计算第五认证信息;当所述第五认证信息与所述第二认证信息相同时,判断认证结果为认证成功。
12.如权利要求10所述的网络设备,其特征在于,所述收发模块,还用于接收所述终端发送的能力库下载请求,获取其中携带的能力库标识、第三认证信息、根据所述终端的终端标识和设置于所述终端上的用户卡的用户卡标识得到的第一终端密钥以及所述终端计算所述第三认证信息时的时间戳;以及还用于当所述认证模块的认证结果为认证成功时,根据所述能力库标识向终端返回相应的能力库安装程序;
所述认证模块,还用于根据所述收发模块接收到的所述第一终端密钥、所述终端计算第三认证信息时的时间戳和所述网络侧与所述终端约定的第二应用密钥计算第六认证信息;以及还用于当所述第六认证信息与所述第三认证信息相同时,判断认证结果为认证成功。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310239597.0A CN104243415B (zh) | 2013-06-17 | 2013-06-17 | 一种能力调用方法和设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310239597.0A CN104243415B (zh) | 2013-06-17 | 2013-06-17 | 一种能力调用方法和设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104243415A CN104243415A (zh) | 2014-12-24 |
CN104243415B true CN104243415B (zh) | 2017-11-14 |
Family
ID=52230779
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310239597.0A Active CN104243415B (zh) | 2013-06-17 | 2013-06-17 | 一种能力调用方法和设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104243415B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112383663B (zh) * | 2019-05-08 | 2022-03-04 | 华为技术有限公司 | 一种显示的方法及设备 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101651633A (zh) * | 2008-08-12 | 2010-02-17 | 中国移动通信集团公司 | 一种支持移动互联网应用的终端、系统及方法 |
CN101930366A (zh) * | 2010-08-27 | 2010-12-29 | 武汉天喻信息产业股份有限公司 | 一种基于浏览器的手机中间件 |
CN101977219A (zh) * | 2010-10-19 | 2011-02-16 | 中兴通讯股份有限公司 | 一种widget应用保护方法及装置 |
CN102378170A (zh) * | 2010-08-27 | 2012-03-14 | 中国移动通信有限公司 | 一种鉴权及业务调用方法、装置和系统 |
CN102546648A (zh) * | 2012-01-18 | 2012-07-04 | Ut斯达康通讯有限公司 | 一种资源访问授权的方法 |
CN102572815A (zh) * | 2010-12-29 | 2012-07-11 | 中国移动通信集团公司 | 一种对终端应用请求的处理方法、系统及装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060126848A1 (en) * | 2004-12-15 | 2006-06-15 | Electronics And Telecommunications Research Institute | Key authentication/service system and method using one-time authentication code |
-
2013
- 2013-06-17 CN CN201310239597.0A patent/CN104243415B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101651633A (zh) * | 2008-08-12 | 2010-02-17 | 中国移动通信集团公司 | 一种支持移动互联网应用的终端、系统及方法 |
CN101930366A (zh) * | 2010-08-27 | 2010-12-29 | 武汉天喻信息产业股份有限公司 | 一种基于浏览器的手机中间件 |
CN102378170A (zh) * | 2010-08-27 | 2012-03-14 | 中国移动通信有限公司 | 一种鉴权及业务调用方法、装置和系统 |
CN101977219A (zh) * | 2010-10-19 | 2011-02-16 | 中兴通讯股份有限公司 | 一种widget应用保护方法及装置 |
CN102572815A (zh) * | 2010-12-29 | 2012-07-11 | 中国移动通信集团公司 | 一种对终端应用请求的处理方法、系统及装置 |
CN102546648A (zh) * | 2012-01-18 | 2012-07-04 | Ut斯达康通讯有限公司 | 一种资源访问授权的方法 |
Also Published As
Publication number | Publication date |
---|---|
CN104243415A (zh) | 2014-12-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5987039B2 (ja) | 複数のドメインのシステムおよびドメイン所有権 | |
JP6130529B2 (ja) | 加入方式のサービスにアクセスするための登録および資格証明ロールアウト | |
CN103959857B (zh) | 管理无线网络中的移动设备应用 | |
EP1217850B1 (en) | Method for permitting debugging and testing of software on an mobile communication device in a secure environment | |
EP2574089B1 (en) | Authentication procedures for managing mobile device applications | |
WO2019062384A1 (zh) | 一种公网用户接入专网的实现方法及设备 | |
KR20120140249A (ko) | 신뢰성 있는 하드웨어 가입 모듈 간의 크리덴셜 및/또는 도메인의 마이그레이션 | |
JP2012520027A (ja) | 無線装置のプラットフォームの検証と管理 | |
CN105898743B (zh) | 一种网络连接方法、装置及系统 | |
EP3956792B1 (en) | Cryptographic key generation for mobile communications device | |
CN107579966A (zh) | 远程访问内网的控制方法、装置、系统和终端设备 | |
CN104125567B (zh) | 家庭基站接入网络侧的鉴权方法、装置及家庭基站 | |
CN110381075B (zh) | 基于区块链的设备身份认证方法和装置 | |
CN108683690A (zh) | 鉴权方法、用户设备、鉴权装置、鉴权服务器和存储介质 | |
US20230035970A1 (en) | Method for Protecting Terminal Parameter Update and Communication Apparatus | |
CN107196761B (zh) | 一种保护应用程序中的核心函数的方法 | |
US20240187865A1 (en) | Electronic subscriber identity module transfer eligibility checking | |
CN111132305A (zh) | 5g用户终端接入5g网络的方法、用户终端设备及介质 | |
CN102547702B (zh) | 用户认证方法、系统及密码处理装置 | |
CN104243415B (zh) | 一种能力调用方法和设备 | |
CN110351721A (zh) | 接入网络切片的方法及装置、存储介质、电子装置 | |
CN104735749B (zh) | 一种接入网络的方法及无线路由器、门户平台服务器 | |
CN107766212A (zh) | 确定应用程序的安装状态的方法及装置 | |
CN110311928B (zh) | 云终端系统的网络认证方法以及认证设备 | |
CN117692902B (zh) | 一种基于嵌入式家庭网关的智能家居的交互方法及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |