]步骤211,第三方业务平台向第三方应用确认登录请求,应用完成登录。
[0061]在上述过程中,为保障安全性,在第三方应用调用统一认证模块提供的API请求登录之前,SM卡的统一认证模块还需要对第三方应用资格进行验证。其中,当用户通过第三方应用发出统一认证请求时,第三方应用需要首先向统一认证模块发送带有应用标识等加密信息的认证请求。进一步的,验证方式是统一认证模块在初始化时内置密钥,通过密钥对应用资格进行验证。
[0062]该验证过程具体包括:(I)第三方应用在需要调用统一认证模块提供的API时,发送应用认证请求;(2)统一认证模块使用根密钥验证第三方应用;(3)在验证通过之后,统一认证模块返回第三方应用许可,且第三方应用在申请Token信息时需要携带统一认证模块对第三方应用的许可信息。
[0063]在上述生成共享密钥KS的过程中,第三方应用向统一认证模块请求登录时,如果是首次请求,则统一认证模块需要与统一认证平台协商生成共享密钥KS,并存储该共享密钥KS,该共享密钥KS用于生成Token信息。进一步的,当共享密钥KS超过有效期限后,统一认证模块会更新该共享密钥KS。
[0064]该共享密钥KS的生成过程具体包括:(I)在第三方应用向统一认证模块请求登录时,统一认证模块根据应用信息生成第一随机数,并向统一认证平台发送用于请求共享密钥KS的包含第一随机数的数据短信;(2)统一认证平台在收到包含第一随机数的数据短信之后,生成第二随机数,并利用第一随机数和第二随机数生成共享密钥KS,并存储该共享密钥KS ; (3)统一认证平台将第二随机数放入数据短信中,并利用当前生成的共享密钥KS对数据短信计算摘要并生成MAC信息,并将该MAC信息放入数据短信中。(4)统一认证平台将携带第二随机数的数据短信发送给统一认证模块。(5)统一认证模块接收统一认证平台返回的包含第二随机数的数据短信,并利用第一随机数和第二随机数生成共享密钥KS,并利用该共享密钥KS校验数据短信中的MAC信息,以防止数据短信被篡改;在校验成功之后,存储共享密钥KS。
[0065]在Token信息的处理过程中,由于移动终端操作系统、基带芯片等限制原因,移动终端的第三方应用无法直接与SM卡交互。基于此,本发明实施例中采用GSM11.11中标准、通用的UPDATE RECORD,READ RECORD命令操作6F3C短消息文件的方式,封装获取Token的API与第三方应用交互。
[0066]进一步的,上述Token信息的处理过程具体可以包括以下步骤:
[0067]步骤1、第三方应用调用SM卡的统一认证模块提供的获取Token的API,发出getToken请求,输入第三方应用许可证、用户授权信息、用户名等信息。
[0068]步骤2、统一认证模块提供的API接收第三方应用发出的用于获取Token的请求消息,该请求消息中携带第三方应用的用于获取Token的信息,该用于获取Token的信息包括第三方应用许可证、用户授权信息、用户名等信息。
[0069]步骤3、统一认证模块提供的API内部构建UPDATE RECORD命令,通过该UPDATERECORD命令在用于获取Token的信息中添加特殊字符。进一步的,统一认证模块提供的API将添加了特殊字符的用于获取Token的信息写入到指定类型短消息文件,并将指定类型短消息文件发送给统一认证模块。
[0070]步骤4、统一认证模块在收到指定类型短消息文件之后,检测指定类型短消息文件的特殊字符是否能够匹配预设规则;如果检测到指定类型短消息文件的特殊字符能够匹配预设规则,则统一认证模块确定第三方应用当前在调用统一认证模块提供的API请求登录,并通过共享密钥KS生成Token信息;如果检测到指定类型短消息文件的特殊字符不能够匹配预设规则,则执行正常的UPDATE RECORD命令逻辑,该过程本发明实施例中不再赘述。
[0071]步骤5、统一认证模块在生成Token信息之后,通过UPDATE RECORD命令在Token信息中添加特殊字符,并通过UPDATE RECORD命令将添加了特殊字符的Token信息写入到指定类型短消息文件的特殊位置。之后,统一认证模块将该指定类型短消息文件发送给统一认证模块提供的API。
[0072]步骤6、统一认证模块提供的API通过READ RECORD命令读取指定类型短消息文件的特殊位置的Token信息,并按照第三方应用对应的格式组装特殊位置的Token信息,并将该格式下的Token信息签发给第三方应用。
[0073]其中,第三方应用对应的格式为统一认证模块提供的API与第三方应用协定的格式;此外,该指定类型短消息文件具体可以为6F3C短消息文件。
[0074]在上述过程中,通过标准、通用的UPDATE RECORD、READ RECORD命令操作6F3C短消息文件,在请求信息中加入特殊标记的方式,向移动终端的第三方应用提供获取认证Token的API。由于统一认证模块对第三方应用提供的API是基于3GPP11.11标准中通用命令,因此,任何移动终端上的应用程序都可以使用该命令与统一认证模块进行交互,做到了移动终端无关性。
[0075]需要说明的是,在本发明实施例的上述处理方式中,采用本发明实施例提供的统一认证方法的服务对象具体包括但不限于:本网用户,异网用户,互联网用户,移动自有各业务单元以及第三方应用开发者等。
[0076]实施例三
[0077]基于与上述方法同样的发明构思,本发明实施例中还提供了一种移动终端,所述移动终端的用户识别模块SIM卡应用中预置有统一认证模块,如图3所示,所述统一认证模块具体包括:
[0078]确定单元11,用于在第三方应用调用所述统一认证模块提供的应用程序接口 API请求登录时,确定所述第三方应用对应的共享密钥KS ;
[0079]生成单元12,用于利用所述共享密钥KS生成Token信息;
[0080]发送单元13,用于将所述Token信息签发给所述第三方应用,由所述第三方应用利用所述Token信息发起登录过程。
[0081]所述发送单元13,还用于在所述第三方应用调用所述统一认证模块提供的API请求登录时,通过数据短信的形式向用户弹出授权登录信息。
[0082]所述确定单元11,具体用于在第三方应用首次调用统一认证模块提供的API请求登录时,生成第一随机数,并向统一认证平台发送用于请求共享密钥KS的包含第一随机数的数据短信,由统一认证平台生成第二随机数,并利用第一随机数和第二随机数生成共享密钥KS ;接收统一认证平台返回的包含第二随机数的数据短信,并利用第一随机数和第二随机数生成共享密钥KS,并存储所述共享密钥KS,并确定当前生成的共享密钥KS为所述第三方应用对应的共享密钥KS ;在第三方应用不是首次调用统一认证模块提供的API请求登录时,利用存储的共享密钥KS确定第三方应用对应的共享密钥KS。
[0083]所述发送单元13,还用于接收第三方应用发出的用于获取Token的请求消息,该请求消息中携带第三方应用的用于获取Token的信息;构建UPDATE RECORD命令,通过所述UPDATE RECORD命令在所述用于获取Token的信息中添加特殊字符,将添加了所述特殊字符的用于获取Token的信息写入到指定类型短消息文件中,将指定类型短消息文件发送给所述确定单元11 ;
[0084]所述确定单元11,还用于在收到所述指定类型短消息文件之后,如果检测到所述指定类型短消息文件的特殊字符能够匹配预设规则,则确定所述第三方应用当前在调用所述统一认证模块提供的API请求登录,并需要执行确定所述第三方应用对应的共享密钥KS以及生成Token信息的过程。
[0085]所述发送单元13,进一步用于在生成所述Token信息之后,通过UPDATE RECORD命令在所述Token信息中添加特殊字符,并通过UPDATE RECORD命令将添加了特殊字符的Token信息写入到指定类型短消息文件的特殊位置;
[0086]通过READ RECORD命令读取所述指定类型短消息文件的特殊位置的Token信息,并按照所述第三方应用对应的格式组装所述特殊位置的Token信息,并将所述Token信息签发给所述第三方应用。
[0087]所述确定单元11,还用于当所述第三方应用需要请求登录时,接收来自所述第三方应用的应用认证请求,且所述应用认证请求中携带应用标识和加密信息;对所述应用标识和加密信息进行验证,并在验证通过之后,允许所述第三方应用调用所述统一认证模块提供的API请求登录。
[0088]其中,本发明装置的各个模块可以集成于一体,也可以分离部署。上述模块可以合并为一个模块,也可以进一步拆分成多个子模块。
[0089]通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本发明可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的