能力安全调用方法、装置及系统的制作方法

文档序号:7768763阅读:104来源:国知局
专利名称:能力安全调用方法、装置及系统的制作方法
技术领域
本发明涉及一种数据业务领域,尤其涉及一种能力安全调用方法、装置及系统。
背景技术
伴随着互联网的发展以及互联网应用的不断丰富,面对互联网发展带来的机遇与挑战,电信运营商在探索如何加大应用创新力度,深度挖掘增值业务拓展潜力的基础上,开始尝试通过开放电信以及互联网能,吸引全球开发者,通过全面降低应用创新门槛,基于开放的能力开发更多长尾应用。运营商通过开放能力,创新应用,用户使用应用过程中,如何保证能力开放的安全性,应用使用的安全性,保证计费安全、用户隐私安全,以及应用和内容等的安全是能力开放的关键问题,因此需要通过有效的安全机制满足能力开放的安全需求。但是,现有的能力开放系统重点解决了能力开放的实现方法,但未能提供有效机制保证能力开放及应用使用等各个环节的安全性,未能满足能力开发的安全需求。因此,如何保证开放移动互联网平台能力开放的安全性成为现有技术需要解决的技术问题。

发明内容
本发明的目的在于,提供一种能力安全调用方法、装置及系统,提高能力调用时的系统安全性。为实现上述目的,根据本发明的一个方面,提供一种能力安全调用方法,包括对接收应用侧发送的能力调用请求中的应用身份认证凭证Token进行验证;验证成功后,到相应的能力平台为所述应用侧调用能力。具体地,所述能力调用请求中包括需要调用能力的应用标识APPID和Token,所述根据所述能力调用请求进行验证的操作包括根据所述APPID查询所述需要调用能力的应用所对应的应用密钥AppKey,用所述AppKey对所述Token进行校验。另外,能力调用请求中还包括用户身份标识,还进一步对所述用户身份标识进行验证。或者能力调用请求中还包括应用侧请求次数计数器的计数值counter,校验所述 counter的大小和期限。平台侧进一步根据所述APPID查询所述需要调用能力的应用所对应的应用密钥 AppKey,用所述AppKey和counter对所述iToken进行校验。优选地,该方法还包括在初始化阶段,接收所述应用侧发送的注册请求,根据所述注册请求生成相应的鉴权因子ked发送给所述应用侧。所述根据所述Token进行验证的操作还包括验证ked是否存在,当ked存在时,应用侧完成终端注册初始化操作,验证成功;否则,验证失败,重新发起初始化操作。更优地,该方法还包括根据所述应用侧应用使用者的身份标识MSISDN及需要调用能力的应用标识APPID生成相应的伪码,并将所述伪码返回给应用侧;接收到的能力调用请求包含作为用户身份标识得伪码,根据所述伪码查询所述应用侧应用使用者的身份标识MSISDN后,对所述能力调用请求中的Token进行验证。该方法还包括验证所述应用侧应用使用者的帐户,验证所述应用侧的应用开发者的帐户,验证所述应用侧的应用产品与所调用能力之间的签约关系,和/或验证所述应用使用者与所述应用侧应用产品的订购关系。在对所述Token验证成功后,还包括生成临时授权Token,为所述临时授权"Token 设置相应的第一有效期;返回所述临时授权Token和小于所述第一有效期的第二有效期至所述应用侧。另外,能力调用请求中还包含应用类型APPTYPE,根据所述应用类型APPTYPE选择相应的校验逻辑对所述Token进行校验。为实现上述目的,根据本发明的另一个方面,提供一种应用请求装置,包括应用模块,用于根据用户请求的应用生成相应的能力调用请求,发送至平台侧。其中,所述应用模块,进一步生成包含需要调用能力的应用标识APPID、用户身份标识和Token的能力调用请求。该装置还包括安全模块,用于生成伪码获取请求发送至平台侧。所述安全模块, 用于将重新计算的调用能力的MAC指纹与预存的MAC指纹之间的一致性进行检测。为实现上述目的,根据本发明的另一个方面,提供一种能力调用平台,包括平台安全模块,用于对接收应用侧发送的能力调用请求中的Token进行验证;平台接入模块,用于在验证成功后,到相应的能力平台为所述应用侧调用能力。具体地,所述平台安全模块,用于根据所述能力调用请求中的APPID查询所述需要调用能力的应用所对应的应用密钥AppKey,用所述AppKey对所述能力调用请求中的 Token进行校验;和/或对所述能力调用请求中的用户身份标识进行验证;和/或校验所能力调用请求中的述counter的大小和期限。该平台还包括平台鉴权模块,其中,所述平台安全模块,还用于接收到所述应用侧发送的伪码获取请求后,根据所述应用侧应用使用者的身份标识MSISDN及需要调用能力的应用标识APPID生成相应的伪码,并将所述伪码返回给应用侧;平台鉴权模块,进一步根据应用侧发送的所述伪码查询所述应用侧应用使用者的身份标识MSISDN后,对所述能力调用请求进行验证。优选地,所述平台安全模块,还用于在对所述Token验证成功后,生成临时授权 Token,为所述临时授权Token设置相应的第一有效期;返回所述临时授权Token和小于所述第一有效期的第二有效期至所述应用侧。为实现上述目的,根据本发明的另一个方面,提供一种能力安全调用系统,包括 应用请求装置,用于生成能力调用请求并发送至所述能力开放装置;能力调用平台,用于根据所述能力调用请求中的Token进行验证;验证成功后,到相应的能力平台为所述应用侧调用能力。本发明的能力安全调用方法、装置及系统,通过对应用侧的能力调用请求进行验证,提高了互联网平台能力开放的安全性。另外,本发明提供了包括应用侧以及能力调用平台侧的安全架构,通过两者之间的交互,保证了能力开放端到端的安全性。


图1是本发明能力调用方法实施例的流程图;图2是本发明能力调用方法另一实施例的流程图;图3是本发明应用请求装置实施例的结构图;图4是本发明能力调用平台实施例的结构图;图5是本发明能力调用平台中平台安全模块实施例的结构图。
具体实施例方式开放移动互联网平台(OMP)通过开放移动运营商的各种能力,如短信、彩信、位置、!Presence等,实现了开发者基于开放的能力开发各种应用,向用户提供丰富的业务体验。本发明基于开放移动互联网平台,提出基于包括系统架构以及实现方案在内的一整套安全体技术解决方案,保证了开放移动互联网平台实现能力开放所涉及的能力开放安全性,应用使用安全性,计费安全性、用户隐私安全性,以及应用和内容等方面的安全性。本发明提供了包括应用侧以及平台侧的安全架构,通过两者之间的交互,保证了能力开放端到端的安全性;此外,基于安全架构,本发明提出了应用开发阶段、应用上线阶段、用户使用阶段等在内的各个环节的安全解决方案,并设计了终端初始化、应用订购、能力调用等关键流程;本发明提出了一整套安全协议及机制,包括基于定制化Token的认证机制、伪码机制等。有效解决了现有系统未解决的关键安全问题。以下结合附图对本发明进行详细说明。方法实施例如图1所示,本发明能力调用方法实施例包括以下步骤步骤102,应用侧将生成的能力调用请求发送至能力调用平台;该能力调用请求中包含需要调用能力的应用标识APPID、应用侧的用户身份标识和应用身份认证凭证Token,其中,由于用户可以通过移动终端或是Web发起能力调用,因此,Token包括 TerToken和WebToken,该能力调用请求中还包含应用类型APPTYPE ;步骤104,能力调用平台接收到能力调用请求后,首先对能力调用请求中的Token 进行验证;本实施例中,能力调用平台根据所述应用类型APPTYPE选择相应的校验逻辑对所述Token进行校验;能力调用平台为每个应用分配相应的AppKey,即应用的APPID与AppKey为一一对应关系;能力调用平台根据能力调用请求中的APPID查询需要调用能力的应用所对应的应用密钥AppKey,用所述AppKey对所述Token进行校验;利用APHfey对T1Oken进行校验的具体过程为平台侧根据APHfey利用校验算法,如HMAC算法等,计算出一个值HMAC[APHfey], 利用这个值与应用侧传送的Token值进行比对,如果一致,则校验通过,否则校验失败;另外,还可以对用户身份标识进行验证,该用户身份标识可以是用户的手机号码;如果验证不通过,则执行步骤106 ;如果验证通过,则则行步骤108 ;
步骤106,直接返回错误代码到应用侧;步骤108,能力调用平台到相应的能力平台为应用侧调用能力;步骤110,能力平台返回能力调用结果响应至能力调用平台;步骤112,能力调用平台将该能力调用结果响应转发至应用侧。本实施例中,通过对应用侧的能力调用请求进行验证,确定应用侧终端或Web的授权情况,提高了互联网平台能力开放的安全性。其中,能力调用平台需要为每一个应用生成一个唯一的AppKey。用于保障应用身份的真实性。针对WEB应用,AppKey是在应用开发阶段,由开发者申请获取并预置在 WEB应用代码当中;针对终端应用,AppKey是在应用通过能力调用平台审核后,安全存储在新建的终端应用安全模块当中,并通过置换开发者在开发阶段所使用安全模块来实现 AppKey (开发者对AppKey是不可知的)的安全分发。能力调用平台还需要对AppKey进行安全存储(如通过加密机等方式)及使用(用于校验TerToken及WebToken),保障AppKey 不被非法获取或泄漏。为了保障所使用的授权Token内部机制的机密性,以避免安全系统被非授权使用,在本发明对授权Token进行了定制。定制的算法包括应用侧的Token生成函数及服务器侧的Token校验函数,并在业务使用过程中,对Token内部机制进行保密。实现机制自下而上共分为五个层次1、标准化算法,最底层为标准化算法实现,例如采用RFC 4226标准的HOTP算法。2、⑶K参数,即全局主密钥设置。用于参与授权Token的生成。即原来用于生成授权Token的密钥Key,由Key和⑶K的Hash值进行替代。3、算法输入转换,即将原用于生成授权Token的明文输入参数进行转换,例如可将明文输入参数的左右两部分进行调换4、应用及能力绑定,即将授权信息进行绑定,并在校验Token,同时对其授权信息进行校验。5、运营商网络绑定,在进行订购或注册请求的Token校验的同时,需要检测IMSI 等运营商参数是否属于所部署该业务的运营商,重点MCC移动国家代码(如中国为“46” ) 及MNC移动网络代码(如中国移动,GSM: “ 000"或〃 002" , TS-SCDMA “ 007")在进行能力请求时,需要检测MSISDN前三位数字是否属于所部署该业务的运营商。本领域技术人员可以理解,上述用于保证Token机密性的五个层次为提升安全性,为优选方案,具体的Token生成算法为现有技术,不再赘述。优选地,本实施例中,针对于应用侧为移动终端的情况,能力调用请求中还包括应用侧请求次数计数器的计数值counter,步骤104中还包括,能力调用平台进一步校验 counter的大小和期限,确定counter的大小是否在预设的范围内,以及期限是否过期,在两个条件都满足的情况下,才继续对Token进行验证;否则,执行步骤106。在应用侧,如果发起能力调用请求的次数超过预设的阈值,则需要重新注册;或者注册时间超过了一定期限,也需要重新注册。更优地,步骤104中,还可以根据应用侧发送的APPID和counter对Token进行校验,即根据API3Key和counter利计算出HMAC[APH(ey,counter],利用这个值与应用侧传送的Token值进行比对,如果一致,则校验通过,否则校验失败。
应用侧的初始注册流程包括(1)应用侧发送注册请求至能力调用平台;(2)能力调用平台检查应用的合法性,确保该应用已在能力调用平台上注册;(3)能力调用平台判断应用是否处于测试状态,若是测试状态,通过测试密钥 TestKey进行后续安全参数验证工作;若应用已上线,通过AppKey进行安全验证;(4)能力调用平台校验MAC指纹是否合法;在终端应用通过测试审核之后,能力调用平台可以自动计算出终端应用模块及终端能力SDK的MAC指纹,自动将MAC指纹安全存储(如加密存储、离散存储、代码混淆、安全算法转换)到新建的终端中;终端注册时,能力调用平台重新计算MAC指纹,和之前计算的MAC指纹进行比对,判读MAC指纹是否被篡改;(5)能力调用平台生成会话ID ;(6)能力调用平台校验成功后,记录用户数据,包括APPID、MSISDN、IMSI、会话ID、 注册时间等,其中对用户IMSI进行加密存储;(7)以上操作均成功以后,能力调用平台返回会话ID至应用侧。注册成功后,应用侧向能力调用平台请求鉴权因子的流程如下(1)应用侧发送获取鉴权因子请求到能力调用平台;(2)校验会话ID是否有效,且来自合法终端用户(匹配IMSI是否一致);(3)判断应用是否处于测试状态,若是测试状态,通过TestKey进行后续安全参数验证工作;若应用已上线,通过AppKey进行安全验证;(4)校验MAC指纹是否合法;(5)生成鉴权因子Seed,并返回至应用侧。优选地,步骤104中还包括能力调用平台还进一步验证验证ked是否存在,当 ked存在时,应用侧完成终端注册初始化操作,验证成功;否则,验证失败。另外,为保护用户码号资源不被外泄及滥用,本实施例还采用伪码机制。能力调用平台根据所应用侧应用使用者的身份标识MSISDN及需要调用能力的应用标识APPID生成相应的伪码PID,并将所述伪码PID返回给应用侧。应用侧发送的能力调用请求中包含的用户身份标识为该伪码PID ;能力调用平台根据伪码PID查询应用侧应用使用者的身份标识 MSISDN后,对能力调用请求进行验证。伪码是用户在系统内部的唯一标识,表示了不同针对不同应用的用户唯一身份标识,与“用户手机号码+APPID(应用ID) ” 一一对应,同一用户对对应的不同应用的伪码不同。伪码是由能力调用平台在用户订购应用成功时生成,返回给鉴权模块存储,用于用户在使用应用中调用能力时的身份鉴别。伪码的生成规则如下nonce= Truncate (SHA-1 (MSISDN.APPID,Random),96);伪码由nonce和timestamp进行置换组合生成,共32个字符。其中Truncate (SHA-1 (MSISDN、APPID、Random),96)表示仅截取前 96bits ;MSISDN 用户手机号;APPID 应用标识;Random 随机数(32 位);nonce为12Bytes,由Byte类型以BASE64编码转化为字符类型共16个字符,从高位到低位的格式为:N(1)N(2)N(3)...N(16);timestamp 时间戳(YYYYMMDDhhmmss) +补充2个字符的随机数,从高位到低位的格式为:T(1)T(2)T(3)...T(16));reversedtimestamp 为 timestamp 中各字节置换后的结果,reversedtimestamp 从高位到低位的格式为:R(1)R(2)R(3).. · R(16)。置换规律如下表所示
权利要求
1.一种能力安全调用方法,其特征在于,包括对接收应用侧发送的能力调用请求中的应用身份认证凭证Token进行验证;验证成功后,到相应的能力平台为所述应用侧调用能力。
2.根据权利要求1所述的能力安全调用方法,其特征在于,所述能力调用请求中包括 需要调用能力的应用标识APPID和Token,对所述Token进行验证的操作包括根据所述APPID查询所述需要调用能力的应用所对应的应用密钥AppKey,用所述 AppKey对所述iToken进行校验。
3.根据权利要求2所述的能力安全调用方法,其特征在于,所述能力调用请求中还包括用户身份标识,还进一步对所述用户身份标识进行验证。
4.根据权利要求2所述的能力安全调用方法,其特征在于,所述能力调用请求中还包括应用侧请求次数计数器的计数值counter,校验所述counter的大小和期限。
5.根据权利要求4所述的能力安全调用方法,其特征在于,对所述Token进行验证的操作包括根据所述APPID查询所述需要调用能力的应用所对应的应用密钥AppKey,用所述 AppKey和counter对所述Token进行校验。
6.根据权利要求1所述的能力安全调用方法,其特征在于,还包括在初始化阶段,接收所述应用侧发送的注册请求,根据所述注册请求生成相应的鉴权因子ked发送给所述应用侧。
7.根据权利要求6所述的能力安全调用方法,其特征在于,所述根据所述Token进行验证的操作还包括验证ked是否存在,当ked存在时,应用侧完成终端注册初始化操作,验证成功;否则,验证失败,重新发起初始化操作。
8.根据权利要求1所述的能力安全调用方法,其特征在于,还包括根据所述应用侧应用使用者的身份标识MSISDN及需要调用能力的应用标识APPID生成相应的伪码,并将所述伪码返回给应用侧;接收到的能力调用请求包含作为用户身份标识得伪码,根据所述伪码查询所述应用侧应用使用者的身份标识MSISDN后,对所述能力调用请求中的Token进行验证。
9.根据权利要求2所述的能力安全调用方法,其特征在于,在对所述Token验证成功后,还包括生成临时授权Token,为所述临时授权Token设置相应的第一有效期;返回所述临时授权Token和小于所述第一有效期的第二有效期至所述应用侧。
10.根据权利要求2所述的能力安全调用方法,其特征在于,所述能力调用请求中还包含应用类型APPTYPE,根据所述应用类型APPTYPE选择相应的校验逻辑对所述Token进行校验。
11.一种应用请求装置,其特征在于,包括应用模块,用于根据用户请求的应用生成相应的能力调用请求,发送至平台侧。
12.根据权利要求11所述的应用请求装置,其特征在于,所述应用模块,进一步生成包含需要调用能力的应用标识APPID、用户身份标识和Token的能力调用请求。
13.根据权利要求11所述的应用请求装置,其特征在于,还包括 安全模块,用于生成伪码获取请求发送至平台侧。
14.根据权利要求13中任意一项所述的应用请求装置,其特征在于,所述安全模块,用于将重新计算的调用能力的MAC指纹与预存的MAC指纹之间的一致性进行检测。
15.一种能力调用平台,其特征在于,包括平台安全模块,用于对接收应用侧发送的能力调用请求中的Token进行验证; 平台接入模块,用于在验证成功后,到相应的能力平台为所述应用侧调用能力。
16.根据权利要求15所述的能力调用平台,其特征在于,所述平台安全模块,用于根据所述能力调用请求中的APPID查询所述需要调用能力的应用所对应的应用密钥AppKey,用所述AppKey对所述能力调用请求中的Token进行校验;和/或对所述能力调用请求中的用户身份标识进行验证; 和/或校验所能力调用请求中的述counter的大小和期限;根据所述AppKey和counter对所述Token进行校验。
17.根据权利要求15所述的能力调用平台,其特征在于,还包括平台鉴权模块,其中, 所述平台安全模块,还用于接收到所述应用侧发送的伪码获取请求后,根据所述应用侧应用使用者的身份标识MSISDN及需要调用能力的应用标识APPID生成相应的伪码,并将所述伪码返回给应用侧;平台鉴权模块,进一步根据应用侧发送的所述伪码查询所述应用侧应用使用者的身份标识MSISDN后,对所述能力调用请求进行验证。
18.根据权利要求16所述的能力调用平台,其特征在于,所述平台安全模块,还用于在对所述Token验证成功后,生成临时授权Token,为所述临时授权Token设置相应的第一有效期;返回所述临时授权Token和小于所述第一有效期的第二有效期至所述应用侧。
19.一种能力安全调用系统,其特征在于,包括应用请求装置,用于生成能力调用请求并发送至所述能力开放装置; 能力调用平台,用于根据所述能力调用请求中的Token进行验证;验证成功后,到相应的能力平台为所述应用侧调用能力。
全文摘要
本发明公开了一种能力安全调用方法、装置及系统。其中能力安全调用方法,包括对接收应用侧发送的能力调用请求中的应用身份认证凭证Token进行验证;验证成功后,到相应的能力平台为所述应用侧调用能力。本发明的能力安全调用方法、装置及系统,通过对应用侧的能力调用请求进行验证,提高了互联网平台能力开放的安全性。另外,本发明提供了包括应用侧以及能力调用平台侧的安全架构,通过两者之间的交互,保证了能力开放端到端的安全性。
文档编号H04L9/32GK102571693SQ20101058842
公开日2012年7月11日 申请日期2010年12月7日 优先权日2010年12月7日
发明者万薇, 于蓉蓉, 刘涛, 孙悦, 孙杰, 张炎, 武威, 王姗姗, 胡伟 申请人:中国移动通信集团公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1