CN104717648B - 一种基于sim卡的统一认证方法和设备 - Google Patents
一种基于sim卡的统一认证方法和设备 Download PDFInfo
- Publication number
- CN104717648B CN104717648B CN201310682006.7A CN201310682006A CN104717648B CN 104717648 B CN104717648 B CN 104717648B CN 201310682006 A CN201310682006 A CN 201310682006A CN 104717648 B CN104717648 B CN 104717648B
- Authority
- CN
- China
- Prior art keywords
- party application
- unified certification
- certification module
- shared key
- token
- 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
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W12/00—Security arrangements; Authentication; Protecting privacy or anonymity
- H04W12/06—Authentication
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W12/00—Security arrangements; Authentication; Protecting privacy or anonymity
- H04W12/04—Key management, e.g. using generic bootstrapping architecture [GBA]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Telephonic Communication Services (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
本发明公开了一种基于SIM卡的统一认证方法和设备,在SIM卡应用中预置有统一认证模块,该方法包括:在第三方应用调用统一认证模块提供的API请求登录时,统一认证模块确定第三方应用对应的共享密钥KS;利用所述共享密钥KS生成Token信息,将所述Token信息签发给第三方应用,由第三方应用利用所述Token信息发起登录过程。本发明实施例中,统一认证模块通过SDK的方式为第三方应用提供Token获取接口,实现Token信息的签发,避免使用认证客户端提供Token信息,解决Token信息存在被截获风险的问题,保证安全性。任何支持SIM卡的移动终端都可提供服务,屏蔽了操作系统间的差异,解决现有技术的开发工作量比较大,安装部署繁琐等问题。
Description
技术领域
本发明涉及通信技术领域,尤其是涉及一种基于SIM(Subscriber IdentityModule,用户识别模块)卡的统一认证方法和设备。
背景技术
统一认证、单点登录是目前比较流行的业务整合解决方案。随着移动互联网的快速发展,Facebook、Google等均将发展战略的主题放在移动平台上进行统一认证、单点登录。现有技术中,基于移动终端的身份认证、单点登录技术涉及认证客户端、认证平台、第三方应用和第三方业务平台,包括客户端应用单点登录、客户端应用到web单点登录、web到客户端的单点登录等。
现有技术中,基于单点登录的统一认证方法的实现流程包括:(1)第三方应用向认证客户端请求登录,在此过程中,需要调用认证客户端中间件提供的API(ApplicationProgramming Interface,应用程序接口)。(2)认证客户端为第三方应用签发Token信息。(3)第三方应用向第三方业务平台发起携带Token信息的登录请求。(4)第三方业务平台将登录请求中携带的Token信息发送到认证平台,请求对Token信息进行验证。(5)认证平台验证Token信息的有效性。(6)认证平台验证通过后,向第三方业务平台发送验证通过信息。(7)第三方业务平台向第三方应用确认登录请求,应用完成登录。
在上述实现过程中,需要由认证客户端为第三方应用签发Token信息,即认证客户端作为中间件提供Token信息以及密钥管理等服务,从而导致现有技术中至少存在以下问题:(1)安全问题:Token信息以及密钥存在被截获的风险;(2)不同第三方业务平台需要开发不同的认证客户端,且用户需要在移动终端上安装各认证客户端,开发工作量比较大,安装部署繁琐。
发明内容
本发明实施例提供一种基于SIM卡的统一认证方法和设备,以通过SIM卡实现Token信息的签发,从而避免使用认证客户端提供Token信息。
为了达到上述目的,本发明实施例提供一种基于用户识别模块SIM卡的统一认证方法,在SIM卡应用中预置有统一认证模块,所述方法包括:
在第三方应用调用所述统一认证模块提供的应用程序接口API请求登录时,所述统一认证模块确定所述第三方应用对应的共享密钥KS;
所述统一认证模块利用所述共享密钥KS生成Token信息,将所述Token信息签发给第三方应用,由第三方应用利用所述Token信息发起登录过程。
所述方法还包括:在第三方应用调用所述统一认证模块提供的API请求登录时,所述统一认证模块通过数据短信的形式向用户弹出授权登录信息。
所述统一认证模块确定所述第三方应用对应的共享密钥KS的过程,具体包括:在所述第三方应用首次调用所述统一认证模块提供的API请求登录时,所述统一认证模块生成第一随机数,并向统一认证平台发送用于请求共享密钥KS的包含第一随机数的数据短信,由所述统一认证平台生成第二随机数,并利用所述第一随机数和所述第二随机数生成共享密钥KS;所述统一认证模块接收所述统一认证平台返回的包含第二随机数的数据短信,并利用所述第一随机数和所述第二随机数生成共享密钥KS,并存储所述共享密钥KS,并确定当前生成的共享密钥KS为所述第三方应用对应的共享密钥KS;
在第三方应用不是首次调用统一认证模块提供的API请求登录时,所述统一认证模块利用存储的共享密钥KS确定第三方应用对应的共享密钥KS。
所述第三方应用调用所述统一认证模块提供的API请求登录的过程,具体包括:所述统一认证模块提供的API接收第三方应用发出的用于获取Token的请求消息,所述请求消息中携带所述第三方应用的用于获取Token的信息;
所述统一认证模块提供的API构建UPDATE RECORD命令,并通过所述UPDATERECORD命令在所述用于获取Token的信息中添加特殊字符,并将添加了所述特殊字符的用于获取Token的信息写入到指定类型短消息文件中,并将所述指定类型短消息文件发送给所述统一认证模块;
所述统一认证模块在收到所述指定类型短消息文件之后,如果检测到所述指定类型短消息文件的特殊字符能够匹配预设规则,则确定所述第三方应用当前在调用所述统一认证模块提供的API请求登录,并需要执行确定所述第三方应用对应的共享密钥KS以及生成Token信息的过程。
所述统一认证模块生成Token信息,并将Token信息签发给第三方应用的过程,具体包括:所述统一认证模块在生成所述Token信息之后,通过UPDATE RECORD命令在所述Token信息中添加特殊字符,并通过UPDATE RECORD命令将添加了特殊字符的Token信息写入到指定类型短消息文件的特殊位置,并将所述指定类型短消息文件发送给所述统一认证模块提供的API;所述统一认证模块提供的API通过READ RECORD命令读取所述指定类型短消息文件的特殊位置的Token信息,并按照所述第三方应用对应的格式组装所述特殊位置的Token信息,并将所述Token信息签发给第三方应用。
所述第三方应用调用所述统一认证模块提供的API请求登录前,所述方法进一步包括:当第三方应用需要请求登录时,所述统一认证模块接收来自所述第三方应用的应用认证请求,且所述应用认证请求中携带应用标识和加密信息;所述统一认证模块对所述应用标识和加密信息进行验证,并在验证通过之后,允许所述第三方应用调用所述统一认证模块提供的API请求登录。
本发明实施例提供一种移动终端,所述移动终端的用户识别模块SIM卡应用中预置有统一认证模块,且所述统一认证模块具体包括:
确定单元,用于在第三方应用调用所述统一认证模块提供的应用程序接口API请求登录时,确定所述第三方应用对应的共享密钥KS;
生成单元,用于利用所述共享密钥KS生成Token信息;
发送单元,用于将所述Token信息签发给所述第三方应用,由所述第三方应用利用所述Token信息发起登录过程。
所述发送单元,还用于在所述第三方应用调用所述统一认证模块提供的API请求登录时,通过数据短信的形式向用户弹出授权登录信息。
所述确定单元,具体用于在第三方应用首次调用统一认证模块提供的API请求登录时,生成第一随机数,并向统一认证平台发送用于请求共享密钥KS的包含第一随机数的数据短信,由统一认证平台生成第二随机数,并利用第一随机数和第二随机数生成共享密钥KS;接收统一认证平台返回的包含第二随机数的数据短信,并利用第一随机数和第二随机数生成共享密钥KS,并存储所述共享密钥KS,并确定当前生成的共享密钥KS为所述第三方应用对应的共享密钥KS;在第三方应用不是首次调用统一认证模块提供的API请求登录时,利用存储的共享密钥KS确定第三方应用对应的共享密钥KS。
所述发送单元,还用于接收第三方应用发出的用于获取Token的请求消息,所述请求消息中携带第三方应用的用于获取Token的信息;构建UPDATE RECORD命令,通过所述UPDATE RECORD命令在所述用于获取Token的信息中添加特殊字符,将添加了所述特殊字符的用于获取Token的信息写入到指定类型短消息文件中,将所述指定类型短消息文件发送给所述确定单元;
所述确定单元,还用于在收到所述指定类型短消息文件之后,如果检测到所述指定类型短消息文件的特殊字符能够匹配预设规则,则确定所述第三方应用当前在调用所述统一认证模块提供的API请求登录,并需要执行确定所述第三方应用对应的共享密钥KS以及生成Token信息的过程。
所述发送单元,进一步用于在生成所述Token信息之后,通过UPDATE RECORD命令在所述Token信息中添加特殊字符,并通过UPDATE RECORD命令将添加了特殊字符的Token信息写入到指定类型短消息文件的特殊位置;
通过READ RECORD命令读取所述指定类型短消息文件的特殊位置的Token信息,并按照所述第三方应用对应的格式组装所述特殊位置的Token信息,并将所述Token信息签发给所述第三方应用。
所述确定单元,还用于当所述第三方应用需要请求登录时,接收来自所述第三方应用的应用认证请求,且所述应用认证请求中携带应用标识和加密信息;对所述应用标识和加密信息进行验证,并在验证通过之后,允许所述第三方应用调用所述统一认证模块提供的API请求登录。
与现有技术相比,本发明实施例至少具有以下优点:本发明实施例中,SIM卡的统一认证模块通过SDK(Software Development Kit,软件开发工具包)的方式为第三方应用提供Token获取接口,实现Token信息的签发,避免使用认证客户端提供Token信息,解决Token信息存在被截获风险的问题,保证了安全性。任何支持SIM卡的移动终端都可以提供服务,屏蔽了操作系统间的差异,解决了现有技术的开发工作量比较大,安装部署繁琐等问题。
附图说明
为了更清楚地说明本发明的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例一提供的一种基于SIM卡的统一认证方法流程图;
图2是本发明实施例二提供的一种基于SIM卡的统一认证方法流程图;
图3是本发明实施例三提供的一种移动终端的结构示意图。
具体实施方式
下面将结合本发明中的附图,对本发明中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例一
考虑到SIM卡中的STK应用是运营商的特有资源,针对现有技术中存在的问题,本发明实施例一提供一种基于SIM卡的统一认证方法,通过在SIM卡应用中预置统一认证模块,以通过统一认证模块为不同业务系统的客户端管理维护Token信息和密钥状态,从而基于统一认证模块实现统一认证过程。
如图1所示,该基于SIM卡的统一认证方法,具体可以包括以下步骤:
步骤101,在第三方应用调用统一认证模块提供的API请求登录时,该统一认证模块确定该第三方应用对应的共享密钥KS。
步骤102,统一认证模块利用该共享密钥KS生成Token信息,将该Token信息签发给第三方应用,由第三方应用利用该Token信息发起登录过程。
本发明实施例中,为了进一步保障安全,统一认证模块可以采用STK(SIM ToolKit,用户识别应用发展工具)菜单的形式,弹出授权登录信息对话框,由用户进行二次确认。基于此,在第三方应用调用统一认证模块提供的API请求登录时,统一认证模块通过数据短信的形式向用户弹出授权登录信息,由用户进行二次确认,从而保障登录过程的安全性以及用户可知性。
本发明实施例中,统一认证模块确定第三方应用对应的共享密钥KS,具体包括:在第三方应用首次调用统一认证模块提供的API请求登录时,统一认证模块生成第一随机数,向统一认证平台发送用于请求共享密钥KS的包含第一随机数的数据短信,由统一认证平台生成第二随机数,并利用第一随机数和第二随机数生成共享密钥KS;统一认证模块接收统一认证平台返回的包含第二随机数的数据短信,并利用第一随机数和第二随机数生成共享密钥KS,并存储共享密钥KS,并确定当前生成的共享密钥KS为第三方应用对应的共享密钥KS;在第三方应用不是首次调用统一认证模块提供的API请求登录时,统一认证模块利用存储的共享密钥KS确定第三方应用对应的共享密钥KS。
本发明实施例中,第三方应用调用统一认证模块提供的API请求登录的过程,具体包括:统一认证模块提供的API接收第三方应用发出的用于获取Token的请求消息,且该请求消息中携带第三方应用的用于获取Token的信息;统一认证模块提供的API构建UPDATERECORD(更新记录)命令,并通过该UPDATE RECORD命令在用于获取Token的信息中添加特殊字符,并将添加了特殊字符的用于获取Token的信息写入到指定类型短消息文件中,并将指定类型短消息文件发送给统一认证模块;统一认证模块在收到指定类型短消息文件之后,如果检测到指定类型短消息文件的特殊字符能够匹配预设规则,则确定第三方应用当前在调用统一认证模块提供的API请求登录,并需要执行确定第三方应用对应的共享密钥KS以及生成Token信息的过程。
本发明实施例中,统一认证模块生成Token信息,并将Token信息签发给第三方应用的过程,具体包括:统一认证模块在生成Token信息之后,通过UPDATE RECORD命令在Token信息中添加特殊字符,并通过UPDATE RECORD命令将添加了特殊字符的Token信息写入到指定类型短消息文件的特殊位置,并将该指定类型短消息文件发送给统一认证模块提供的API;之后,统一认证模块提供的API通过READ RECORD(读取记录)命令读取指定类型短消息文件的特殊位置的Token信息,并按照第三方应用对应的格式组装特殊位置的Token信息,并将该格式下的Token信息签发给第三方应用。
其中,该指定类型短消息文件具体可以为6F3C短消息文件。
本发明实施例中,在第三方应用调用统一认证模块提供的API请求登录之前,当该第三方应用需要请求登录(即单点登录,统一认证)时,统一认证模块接收来自第三方应用的应用认证请求,且该应用认证请求中携带应用标识和加密信息;统一认证模块对应用标识和加密信息进行验证,并在验证通过之后,允许第三方应用调用统一认证模块提供的API请求登录。
本发明实施例中提供的SIM卡的统一认证模块,能够实现对第三方应用请求Token的生成以及Token状态管理,同时,该统一认证模块可以实现对Token计算的共享密钥KS的安全存储,从而达到任何支持SIM卡的移动终端都可以提供安全、方便的统一身份认证服务、实现单点登录。本发明实施例中提供的SIM卡的统一认证模块,可以通过STK菜单的方式实现用户对第三方应用请求登录的二次授权确认,保障登录过程的安全性和用户可知性。本发明实施例中提供的SIM卡的统一认证模块,通过封装标准指令UPDATE RECORD、READRECORD命令读取6F3C短消息文件、在请求信息中加入特殊字符的方式,提供API接口给第三方应用,具备移动终端的无关性,任何移动终端的第三方应用均可以与SIM卡的统一认证模块进行交互。
综上所述,本发明实施例中,SIM卡的统一认证模块通过SDK的方式为第三方应用提供Token获取接口,从而实现Token信息的签发,并且避免使用认证客户端提供Token信息,解决了Token信息存在被截获风险的问题,保证了安全性。进一步的,任何支持SIM卡的移动终端都可以提供服务,屏蔽了操作系统间的差异,解决了现有技术的开发工作量比较大,安装部署繁琐等问题。进一步的,通过用户的二次确认,提高了登录操作的安全性。
实施例二
本发明实施例二提供一种基于SIM卡的统一认证方法,通过在SIM卡应用中预置统一认证模块,以通过统一认证模块为不同业务系统的客户端管理维护Token信息和密钥状态,从而基于统一认证模块实现统一认证过程。
如图2所示,该基于SIM卡的统一认证方法,具体可以包括以下步骤:
步骤201,第三方应用调用统一认证模块提供的API请求登录。
步骤202,统一认证模块通过数据短信的形式弹出授权登录信息(即是否授权第三方应用调用统一认证模块提供的API的信息),由用户进行确认,并在用户确认第三方应用可以调用统一认证模块提供的API时,执行步骤203。
步骤203,在第三方应用首次调用统一认证模块提供的API请求登录时,统一认证模块生成第一随机数,并向统一认证平台发送包含第一随机数的数据短信。其中,该包含第一随机数的数据短信用于请求共享密钥KS。
步骤204,统一认证平台在收到包含第一随机数的数据短信之后,生成第二随机数,并利用第一随机数和第二随机数生成共享密钥KS,并存储该共享密钥KS,并向统一认证模块返回包含该第二随机数的数据短信。
步骤205,统一认证模块利用第一随机数和第二随机数生成共享密钥KS,并存储该共享密钥KS,并利用该共享密钥KS生成Token信息。
步骤206,统一认证模块将该Token信息签发给第三方应用。
步骤207,第三方应用向第三方业务平台发起携带Token信息的登录请求。
步骤208,第三方业务平台在收到登录请求之后,通过SAML(Security AssertionMarkup Language,安全断言标记语言)协议将该登录请求中携带的Token信息发送到认证平台,以请求认证平台对该Token信息进行验证。
步骤209,认证平台验证Token信息的有效性。认证平台可以使用共享密钥KS和Token信息中的序列号和MAC值对Token信息的有效性进行验证。
步骤210,认证平台验证通过后,向第三方业务平台发送验证通过信息。
步骤211,第三方业务平台向第三方应用确认登录请求,应用完成登录。
在上述过程中,为保障安全性,在第三方应用调用统一认证模块提供的API请求登录之前,SIM卡的统一认证模块还需要对第三方应用资格进行验证。其中,当用户通过第三方应用发出统一认证请求时,第三方应用需要首先向统一认证模块发送带有应用标识等加密信息的认证请求。进一步的,验证方式是统一认证模块在初始化时内置密钥,通过密钥对应用资格进行验证。
该验证过程具体包括:(1)第三方应用在需要调用统一认证模块提供的API时,发送应用认证请求;(2)统一认证模块使用根密钥验证第三方应用;(3)在验证通过之后,统一认证模块返回第三方应用许可,且第三方应用在申请Token信息时需要携带统一认证模块对第三方应用的许可信息。
在上述生成共享密钥KS的过程中,第三方应用向统一认证模块请求登录时,如果是首次请求,则统一认证模块需要与统一认证平台协商生成共享密钥KS,并存储该共享密钥KS,该共享密钥KS用于生成Token信息。进一步的,当共享密钥KS超过有效期限后,统一认证模块会更新该共享密钥KS。
该共享密钥KS的生成过程具体包括:(1)在第三方应用向统一认证模块请求登录时,统一认证模块根据应用信息生成第一随机数,并向统一认证平台发送用于请求共享密钥KS的包含第一随机数的数据短信;(2)统一认证平台在收到包含第一随机数的数据短信之后,生成第二随机数,并利用第一随机数和第二随机数生成共享密钥KS,并存储该共享密钥KS;(3)统一认证平台将第二随机数放入数据短信中,并利用当前生成的共享密钥KS对数据短信计算摘要并生成MAC信息,并将该MAC信息放入数据短信中。(4)统一认证平台将携带第二随机数的数据短信发送给统一认证模块。(5)统一认证模块接收统一认证平台返回的包含第二随机数的数据短信,并利用第一随机数和第二随机数生成共享密钥KS,并利用该共享密钥KS校验数据短信中的MAC信息,以防止数据短信被篡改;在校验成功之后,存储共享密钥KS。
在Token信息的处理过程中,由于移动终端操作系统、基带芯片等限制原因,移动终端的第三方应用无法直接与SIM卡交互。基于此,本发明实施例中采用GSM11.11中标准、通用的UPDATE RECORD、READ RECORD命令操作6F3C短消息文件的方式,封装获取Token的API与第三方应用交互。
进一步的,上述Token信息的处理过程具体可以包括以下步骤:
步骤1、第三方应用调用SIM卡的统一认证模块提供的获取Token的API,发出getToken请求,输入第三方应用许可证、用户授权信息、用户名等信息。
步骤2、统一认证模块提供的API接收第三方应用发出的用于获取Token的请求消息,该请求消息中携带第三方应用的用于获取Token的信息,该用于获取Token的信息包括第三方应用许可证、用户授权信息、用户名等信息。
步骤3、统一认证模块提供的API内部构建UPDATE RECORD命令,通过该UPDATERECORD命令在用于获取Token的信息中添加特殊字符。进一步的,统一认证模块提供的API将添加了特殊字符的用于获取Token的信息写入到指定类型短消息文件,并将指定类型短消息文件发送给统一认证模块。
步骤4、统一认证模块在收到指定类型短消息文件之后,检测指定类型短消息文件的特殊字符是否能够匹配预设规则;如果检测到指定类型短消息文件的特殊字符能够匹配预设规则,则统一认证模块确定第三方应用当前在调用统一认证模块提供的API请求登录,并通过共享密钥KS生成Token信息;如果检测到指定类型短消息文件的特殊字符不能够匹配预设规则,则执行正常的UPDATE RECORD命令逻辑,该过程本发明实施例中不再赘述。
步骤5、统一认证模块在生成Token信息之后,通过UPDATE RECORD命令在Token信息中添加特殊字符,并通过UPDATE RECORD命令将添加了特殊字符的Token信息写入到指定类型短消息文件的特殊位置。之后,统一认证模块将该指定类型短消息文件发送给统一认证模块提供的API。
步骤6、统一认证模块提供的API通过READ RECORD命令读取指定类型短消息文件的特殊位置的Token信息,并按照第三方应用对应的格式组装特殊位置的Token信息,并将该格式下的Token信息签发给第三方应用。
其中,第三方应用对应的格式为统一认证模块提供的API与第三方应用协定的格式;此外,该指定类型短消息文件具体可以为6F3C短消息文件。
在上述过程中,通过标准、通用的UPDATE RECORD、READ RECORD命令操作6F3C短消息文件,在请求信息中加入特殊标记的方式,向移动终端的第三方应用提供获取认证Token的API。由于统一认证模块对第三方应用提供的API是基于3GPP11.11标准中通用命令,因此,任何移动终端上的应用程序都可以使用该命令与统一认证模块进行交互,做到了移动终端无关性。
需要说明的是,在本发明实施例的上述处理方式中,采用本发明实施例提供的统一认证方法的服务对象具体包括但不限于:本网用户,异网用户,互联网用户,移动自有各业务单元以及第三方应用开发者等。
实施例三
基于与上述方法同样的发明构思,本发明实施例中还提供了一种移动终端,所述移动终端的用户识别模块SIM卡应用中预置有统一认证模块,如图3所示,所述统一认证模块具体包括:
确定单元11,用于在第三方应用调用所述统一认证模块提供的应用程序接口API请求登录时,确定所述第三方应用对应的共享密钥KS;
生成单元12,用于利用所述共享密钥KS生成Token信息;
发送单元13,用于将所述Token信息签发给所述第三方应用,由所述第三方应用利用所述Token信息发起登录过程。
所述发送单元13,还用于在所述第三方应用调用所述统一认证模块提供的API请求登录时,通过数据短信的形式向用户弹出授权登录信息。
所述确定单元11,具体用于在第三方应用首次调用统一认证模块提供的API请求登录时,生成第一随机数,并向统一认证平台发送用于请求共享密钥KS的包含第一随机数的数据短信,由统一认证平台生成第二随机数,并利用第一随机数和第二随机数生成共享密钥KS;接收统一认证平台返回的包含第二随机数的数据短信,并利用第一随机数和第二随机数生成共享密钥KS,并存储所述共享密钥KS,并确定当前生成的共享密钥KS为所述第三方应用对应的共享密钥KS;在第三方应用不是首次调用统一认证模块提供的API请求登录时,利用存储的共享密钥KS确定第三方应用对应的共享密钥KS。
所述发送单元13,还用于接收第三方应用发出的用于获取Token的请求消息,该请求消息中携带第三方应用的用于获取Token的信息;构建UPDATE RECORD命令,通过所述UPDATE RECORD命令在所述用于获取Token的信息中添加特殊字符,将添加了所述特殊字符的用于获取Token的信息写入到指定类型短消息文件中,将指定类型短消息文件发送给所述确定单元11;
所述确定单元11,还用于在收到所述指定类型短消息文件之后,如果检测到所述指定类型短消息文件的特殊字符能够匹配预设规则,则确定所述第三方应用当前在调用所述统一认证模块提供的API请求登录,并需要执行确定所述第三方应用对应的共享密钥KS以及生成Token信息的过程。
所述发送单元13,进一步用于在生成所述Token信息之后,通过UPDATE RECORD命令在所述Token信息中添加特殊字符,并通过UPDATE RECORD命令将添加了特殊字符的Token信息写入到指定类型短消息文件的特殊位置;
通过READ RECORD命令读取所述指定类型短消息文件的特殊位置的Token信息,并按照所述第三方应用对应的格式组装所述特殊位置的Token信息,并将所述Token信息签发给所述第三方应用。
所述确定单元11,还用于当所述第三方应用需要请求登录时,接收来自所述第三方应用的应用认证请求,且所述应用认证请求中携带应用标识和加密信息;对所述应用标识和加密信息进行验证,并在验证通过之后,允许所述第三方应用调用所述统一认证模块提供的API请求登录。
其中,本发明装置的各个模块可以集成于一体,也可以分离部署。上述模块可以合并为一个模块,也可以进一步拆分成多个子模块。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本发明可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
本领域技术人员可以理解附图只是一个优选实施例的示意图,附图中的模块或流程并不一定是实施本发明所必须的。
本领域技术人员可以理解实施例中的装置中的模块可以按照实施例描述进行分布于实施例的装置中,也可以进行相应变化位于不同于本实施例的一个或多个装置中。上述实施例的模块可以合并为一个模块,也可以进一步拆分成多个子模块。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
以上公开的仅为本发明的几个具体实施例,但是,本发明并非局限于此,任何本领域的技术人员能思之的变化都应落入本发明的保护范围。
Claims (10)
1.一种基于用户识别模块SIM卡的统一认证方法,其特征在于,在SIM卡应用中预置有统一认证模块,所述方法包括以下步骤:
在第三方应用调用所述统一认证模块提供的应用程序接口API请求登录时,所述统一认证模块确定所述第三方应用对应的共享密钥KS;
所述统一认证模块利用所述共享密钥KS生成Token信息,将所述Token信息签发给第三方应用,由第三方应用利用所述Token信息发起登录过程;
其中,所述统一认证模块确定所述第三方应用对应的共享密钥KS的过程,具体包括:
在所述第三方应用首次调用所述统一认证模块提供的API请求登录时,所述统一认证模块生成第一随机数,并向统一认证平台发送用于请求共享密钥KS的包含第一随机数的数据短信,由所述统一认证平台生成第二随机数,并利用所述第一随机数和所述第二随机数生成共享密钥KS;所述统一认证模块接收所述统一认证平台返回的包含第二随机数的数据短信,并利用所述第一随机数和所述第二随机数生成共享密钥KS,并存储所述共享密钥KS,并确定当前生成的共享密钥KS为所述第三方应用对应的共享密钥KS;
在第三方应用不是首次调用统一认证模块提供的API请求登录时,所述统一认证模块利用存储的共享密钥KS确定第三方应用对应的共享密钥KS。
2.如权利要求1所述的方法,其特征在于,所述方法还包括:
在所述第三方应用调用所述统一认证模块提供的API请求登录时,所述统一认证模块通过数据短信的形式向用户弹出授权登录信息。
3.如权利要求1所述的方法,其特征在于,所述第三方应用调用所述统一认证模块提供的API请求登录的过程,具体包括:
所述统一认证模块提供的API接收第三方应用发出的用于获取Token的请求消息,且所述请求消息中携带所述第三方应用的用于获取Token的信息;
所述统一认证模块提供的API构建UPDATE RECORD命令,并通过所述UPDATE RECORD命令在所述用于获取Token的信息中添加特殊字符,并将添加了所述特殊字符的用于获取Token的信息写入到指定类型短消息文件中,并将所述指定类型短消息文件发送给所述统一认证模块;
所述统一认证模块在收到所述指定类型短消息文件之后,如果检测到所述指定类型短消息文件的特殊字符能够匹配预设规则,则确定所述第三方应用当前在调用所述统一认证模块提供的API请求登录,并需要执行确定所述第三方应用对应的共享密钥KS以及生成Token信息的过程。
4.如权利要求3所述的方法,其特征在于,所述统一认证模块生成Token信息,并将所述Token信息签发给第三方应用的过程,具体包括:
所述统一认证模块在生成所述Token信息之后,通过UPDATE RECORD命令在所述Token信息中添加特殊字符,并通过UPDATE RECORD命令将添加了特殊字符的Token信息写入到指定类型短消息文件的特殊位置,并将所述指定类型短消息文件发送给所述统一认证模块提供的API;
所述统一认证模块提供的API通过READ RECORD命令读取所述指定类型短消息文件的特殊位置的Token信息,并按照所述第三方应用对应的格式组装所述特殊位置的Token信息,并将所述Token信息签发给第三方应用。
5.如权利要求1所述的方法,其特征在于,所述第三方应用调用所述统一认证模块提供的API请求登录之前,所述方法进一步包括:
当第三方应用需要请求登录时,所述统一认证模块接收来自所述第三方应用的应用认证请求,且所述应用认证请求中携带应用标识和加密信息;
所述统一认证模块对所述应用标识和加密信息进行验证,并在验证通过之后,允许所述第三方应用调用所述统一认证模块提供的API请求登录。
6.一种移动终端,其特征在于,所述移动终端的用户识别模块SIM卡应用中预置有统一认证模块,且所述统一认证模块具体包括:
确定单元,用于在第三方应用调用所述统一认证模块提供的应用程序接口API请求登录时,确定所述第三方应用对应的共享密钥KS;其中,确定所述第三方应用对应的共享密钥KS的过程,具体包括:在所述第三方应用首次调用所述统一认证模块提供的API请求登录时,所述统一认证模块生成第一随机数,并向统一认证平台发送用于请求共享密钥KS的包含第一随机数的数据短信,由所述统一认证平台生成第二随机数,并利用所述第一随机数和所述第二随机数生成共享密钥KS;所述统一认证模块接收所述统一认证平台返回的包含第二随机数的数据短信,并利用所述第一随机数和所述第二随机数生成共享密钥KS,并存储所述共享密钥KS,并确定当前生成的共享密钥KS为所述第三方应用对应的共享密钥KS;在第三方应用不是首次调用统一认证模块提供的API请求登录时,所述统一认证模块利用存储的共享密钥KS确定第三方应用对应的共享密钥KS;
生成单元,用于利用所述共享密钥KS生成Token信息;
发送单元,用于将所述Token信息签发给所述第三方应用,由所述第三方应用利用所述Token信息发起登录过程。
7.如权利要求6所述的移动终端,其特征在于,
所述发送单元,还用于在所述第三方应用调用所述统一认证模块提供的API请求登录时,通过数据短信的形式向用户弹出授权登录信息。
8.如权利要求6所述的移动终端,其特征在于,
所述发送单元,还用于接收第三方应用发出的用于获取Token的请求消息,所述请求消息中携带第三方应用的用于获取Token的信息;构建UPDATE RECORD命令,通过所述UPDATERECORD命令在所述用于获取Token的信息中添加特殊字符,将添加了所述特殊字符的用于获取Token的信息写入到指定类型短消息文件中,将所述指定类型短消息文件发送给所述确定单元;
所述确定单元,还用于在收到所述指定类型短消息文件之后,如果检测到所述指定类型短消息文件的特殊字符能够匹配预设规则,则确定所述第三方应用当前在调用所述统一认证模块提供的API请求登录,并需要执行确定所述第三方应用对应的共享密钥KS以及生成Token信息的过程。
9.如权利要求8所述的移动终端,其特征在于,
所述发送单元,进一步用于在生成所述Token信息之后,通过UPDATE RECORD命令在所述Token信息中添加特殊字符,并通过UPDATE RECORD命令将添加了特殊字符的Token信息写入到指定类型短消息文件的特殊位置;
通过READ RECORD命令读取所述指定类型短消息文件的特殊位置的Token信息,并按照所述第三方应用对应的格式组装所述特殊位置的Token信息,并将所述Token信息签发给所述第三方应用。
10.如权利要求6所述的移动终端,其特征在于,
所述确定单元,还用于当所述第三方应用需要请求登录时,接收来自所述第三方应用的应用认证请求,且所述应用认证请求中携带应用标识和加密信息;对所述应用标识和加密信息进行验证,并在验证通过之后,允许所述第三方应用调用所述统一认证模块提供的API请求登录。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310682006.7A CN104717648B (zh) | 2013-12-12 | 2013-12-12 | 一种基于sim卡的统一认证方法和设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310682006.7A CN104717648B (zh) | 2013-12-12 | 2013-12-12 | 一种基于sim卡的统一认证方法和设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104717648A CN104717648A (zh) | 2015-06-17 |
CN104717648B true CN104717648B (zh) | 2018-08-17 |
Family
ID=53416508
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310682006.7A Active CN104717648B (zh) | 2013-12-12 | 2013-12-12 | 一种基于sim卡的统一认证方法和设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104717648B (zh) |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3306969B1 (en) | 2015-09-25 | 2021-10-06 | Guangdong Oppo Mobile Telecommunications Corp., Ltd. | Terminal authentication method and device |
CN107710673B (zh) | 2015-09-28 | 2020-04-10 | Oppo广东移动通信有限公司 | 用户身份认证的方法及设备 |
CN106817347A (zh) * | 2015-11-27 | 2017-06-09 | 中兴通讯股份有限公司 | 第三方应用认证方法、认证服务器、终端及管理服务器 |
SG10201606061PA (en) | 2016-07-22 | 2018-02-27 | Huawei Int Pte Ltd | A method for unified network and service authentication based on id-based cryptography |
CN107820238B (zh) * | 2016-09-12 | 2024-05-03 | 国民技术股份有限公司 | Sim卡、区块链应用安全模块、客户端及其安全操作方法 |
CN107147496A (zh) * | 2017-04-28 | 2017-09-08 | 广东网金控股股份有限公司 | 一种面向服务技术框架下不同应用间统一授权认证的方法 |
CN111107055B (zh) * | 2019-11-22 | 2023-01-10 | 航天信息股份有限公司 | 一种实现ca统一认证平台用户认证登录方法及系统 |
CN112800393B (zh) * | 2021-01-29 | 2022-08-26 | 深圳市商汤科技有限公司 | 授权认证、软件开发工具包生成方法、装置及电子设备 |
CN114978709B (zh) * | 2022-05-24 | 2023-06-27 | 成都市第三人民医院 | 一种面向医疗应用的轻量级统一安全认证方法 |
WO2024049335A1 (en) * | 2022-08-30 | 2024-03-07 | Telefonaktiebolaget Lm Ericsson (Publ) | Two factor authentication |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101964791A (zh) * | 2010-09-27 | 2011-02-02 | 北京神州泰岳软件股份有限公司 | 客户端与web应用的通讯认证系统及认证方法 |
CN102378170A (zh) * | 2010-08-27 | 2012-03-14 | 中国移动通信有限公司 | 一种鉴权及业务调用方法、装置和系统 |
CN103312678A (zh) * | 2012-03-15 | 2013-09-18 | 中国移动通信集团公司 | 一种客户端安全登录方法、装置及系统 |
CN103379093A (zh) * | 2012-04-13 | 2013-10-30 | 腾讯科技(北京)有限公司 | 一种实现帐号互通的方法及装置 |
-
2013
- 2013-12-12 CN CN201310682006.7A patent/CN104717648B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102378170A (zh) * | 2010-08-27 | 2012-03-14 | 中国移动通信有限公司 | 一种鉴权及业务调用方法、装置和系统 |
CN101964791A (zh) * | 2010-09-27 | 2011-02-02 | 北京神州泰岳软件股份有限公司 | 客户端与web应用的通讯认证系统及认证方法 |
CN103312678A (zh) * | 2012-03-15 | 2013-09-18 | 中国移动通信集团公司 | 一种客户端安全登录方法、装置及系统 |
CN103379093A (zh) * | 2012-04-13 | 2013-10-30 | 腾讯科技(北京)有限公司 | 一种实现帐号互通的方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN104717648A (zh) | 2015-06-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104717648B (zh) | 一种基于sim卡的统一认证方法和设备 | |
CN108901022B (zh) | 一种微服务统一鉴权方法及网关 | |
CN104113552B (zh) | 一种平台授权方法、平台服务端及应用客户端和系统 | |
US20200036692A1 (en) | System and method for providing controlled application programming interface security | |
CN103609090B (zh) | 身份登录方法及设备 | |
CN103139200B (zh) | 一种Web service单点登录的方法 | |
CN104486343B (zh) | 一种双因子双向认证的方法及系统 | |
CN104158802B (zh) | 一种平台授权方法、平台服务端及应用客户端和系统 | |
CN107070667A (zh) | 身份认证方法、用户设备和服务器 | |
TWI756200B (zh) | 帳號綁定和業務處理的方法及裝置 | |
CN112953970B (zh) | 一种身份认证方法及身份认证系统 | |
CN110351269A (zh) | 通过第三方服务器登录开放平台的方法 | |
CN112131021B (zh) | 一种访问请求处理方法及装置 | |
CN102202306B (zh) | 移动安全认证终端及方法 | |
CN106209749A (zh) | 单点登录方法及装置、相关设备和应用的处理方法及装置 | |
CN105812350B (zh) | 一种跨平台单点登录系统 | |
CN106657032B (zh) | 基于安全介质保密短信实现身份鉴别及数据认证的系统及方法 | |
CN106953831A (zh) | 一种用户资源的授权方法、装置及系统 | |
US20210176234A1 (en) | Cooperative communication validation | |
CN109815683A (zh) | 权限验证方法及相关装置 | |
CN108243188A (zh) | 一种接口访问、接口调用和接口验证处理方法及装置 | |
CN110247758A (zh) | 密码管理的方法、装置及密码管理器 | |
CN106331003A (zh) | 一种云桌面上应用门户系统的访问方法及装置 | |
CN109981680A (zh) | 一种访问控制实现方法、装置、计算机设备及存储介质 | |
CN109428893A (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 |