CN108650239A - 一种OAuth协议的认证方法 - Google Patents
一种OAuth协议的认证方法 Download PDFInfo
- Publication number
- CN108650239A CN108650239A CN201810343288.0A CN201810343288A CN108650239A CN 108650239 A CN108650239 A CN 108650239A CN 201810343288 A CN201810343288 A CN 201810343288A CN 108650239 A CN108650239 A CN 108650239A
- Authority
- CN
- China
- Prior art keywords
- party
- service
- authorization
- sent
- user information
- 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.)
- Pending
Links
Classifications
-
- 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/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
- H04L63/0428—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
-
- 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
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/321—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving a third party or a trusted authority
- H04L9/3213—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving a third party or a trusted authority using tickets or tokens, e.g. Kerberos
Abstract
本发明提供一种OAuth协议的认证方法,第三方服务申请授权认证;SDK将用户信息加密,并发送至授权方;授权方接收用户信息,并验证第三方服务;授权方解密并验证用户信息,验证通过后将授权令牌加密后发送至第三方服务;第三方服务通过所述授权令牌获取认证,避免了Oauth2.0协议可能存在的安全问题,在数据传输的过程中使用了加密算法对参数进行加密,不仅仅依赖https使得在授权认证过程中更加安全。
Description
技术领域
本发明涉及一种OAuth协议的认证方法。
背景技术
作为服务能力提供者-能力开放平台,允许用户让第三方应用访问该用户在某一网站上存储的私密的信息,用户服务能力,而无需将用户名和密码提供给第三方应用,即第三方无需使用用户的用户名与密码就可以申请获得该用户资源的授权,因此Oauth2.0协议是安全的。
当前互联网中重要的能力开发平台淘宝、腾讯QQ、新浪微博、Facebook、Google等,这些产品都是这个领域的先驱,都采用Oauth2.0协议的认证方法,上述的平台在信息传输上都是一种明文的方式传输,这样很容易发生用户信息的泄露。
发明内容
本发明要解决的技术问题,在于提供一种OAuth协议的认证方法。
本发明是这样实现的:一种OAuth协议的认证方法,包括:
步骤1、第三方服务申请授权认证;
步骤2、SDK将用户信息加密,并发送至授权方;
步骤3、授权方接收用户信息,并验证第三方服务;
步骤4、授权方解密并验证用户信息,验证通过后将授权令牌加密后发送至第三方服务;
步骤5、第三方服务通过所述授权令牌获取认证。
进一步地,所述步骤4进一步具体为:
步骤41、等待用户授权后,授权方解密并验证用户信息;
步骤42、验证通过后,生成授权码,并将授权码加密,之后将加密后的授权码以及请求信息发送至第三方服务;
步骤43、第三方服务接收授权码,并验证请求信息,若所述请求信息为第三方服务发送的请求信息,则第三方服务将授权码以及第二回调地址进行加密并发送至授权方;否,则返回授权失败报文;
步骤44、授权方将授权码以及第二回调地址解密,将第一回调地址与第一回调地址进行比较,若第一回调地址与第一回调地址一致;且授权码有效,则将授权令牌加密后发送至第三方服务。
进一步地,所述步骤5进一步具体为:
第三方服务将授权令牌发送至指定平台,所述平台通过授权方验证授权令牌,若验证通过,则所述平台对第三方服务进行认证,否则,认证不通过。
本发明具有如下优点:本发明避免了Oauth2.0协议可能存在的安全问题,在数据传输的过程中使用了加密算法对参数进行加密,不仅仅依赖https使得在授权认证过程中更加安全。
附图说明
下面参照附图结合实施例对本发明作进一步的说明。
图1为本发明方法执行流程图。
图2为本发明具体实施方式的申请授权时序图。
图3为本发明具体实施方式的SDK加解密示意图。
具体实施方式
本发明OAuth协议的认证方法,包括:
步骤1、第三方服务申请授权认证;
步骤2、SDK将用户信息加密,并发送至授权方,所述用户信息包括第一回调地址;
步骤3、授权方接收用户信息,并验证第三方服务;
步骤41、等待用户授权后,授权方解密并验证用户信息;
步骤42、验证通过后,生成授权码,并将授权码加密,之后将加密后的授权码以及请求信息发送至第三方服务;
步骤43、第三方服务接收授权码,并验证请求信息,若所述请求信息为第三方服务发送的请求信息,则第三方服务将授权码以及第二回调地址进行加密并发送至授权方;否,则返回授权失败报文;
步骤44、授权方将授权码以及第二回调地址解密,将第一回调地址与第一回调地址进行比较,若第一回调地址与第一回调地址一致;且授权码有效,则将授权令牌加密后发送至第三方服务。
步骤5、第三方服务将授权令牌发送至指定平台,所述平台通过授权方验证授权令牌,若验证通过,则所述平台对第三方服务进行认证,否则,认证不通过。
本发明一种具体实施
如图2所示,本发明是对Oauth2.0授权协议基础上进行安全补充,下面将结合时序图来解析本发明的具体实施。
步骤1.用户通过第三方服务发起授权认证;
步骤2.第三方服务调用本发明提供的SDK进行参数加密,加密使用国密SM4加密算法;
步骤3.第三方服务通过本发明提供的SDK申请授权认证;
步骤4.授权服务解析参数验证第三方服务信息,如果验证失败返回验失败报文,失败原因参照附录-授权信息失败码信息表;
步骤5.等待用户确认授权;
步骤6.用户同意授权;
步骤7.授权服务对参数解密并验证第三方服务信息,如果验证失败返回验失败报文,失败原因参照附录-授权信息失败码信息表;
步骤8.生成授权码并加密;
步骤9.回调第三方服务的回调地址返回密文结果;
步骤10.第三方服务调用SDK解密,验证请求状态,如果验证失败SDK直接抛出验证失败异常;
步骤11.第三方服务调用SDK加密参数,并使用授权服务返回授权码到授权服务置换授权令牌(Token);
步骤12.解密并验证第三方的回调地址,如果验证失败返回验失败报文,失败原因参照附录-授权信息失败码信息表;
步骤13.验证授权码是否正确和生命周期,如果验证失败返回验失败报文,失败原因参照附录-授权信息失败码信息表;
步骤14.scope(权限)验证,如果验证失败返回验失败报文,失败原因参照附录-授权信息失败码信息表;
步骤15.返回参数加密;
步骤16.返回授权令牌(Token);
步骤17.SDK解密;
步骤18.获取授权令牌;
步骤19.调用SDK加密平台接口参数;
步骤20.调用平台接口;
步骤21.解密参数;
步骤22.验证授权令牌和访问授权,如果验证失败返回验失败报文,失败原因参照附录-授权信息失败码信息表;
步骤23.返回结果加密;
步骤24.返回服务接口结果;
步骤25.调用SDK加密开放平台返回结果。
如图3所示,SDK实施方式:
步骤1.第三方服务启动调用SDK初始化密钥;
步骤2.SDK在调用授权服务协商加解密密钥信息;
步骤3.授权服务返回密钥协商结果;
步骤4.SDK初始化加解密密钥;
加密过程:
步骤5.1第三方服务调用SDK加密接口;
步骤6.1SDK获取加密密钥;
步骤7.1SDK加密报文;
步骤8.1SDK加密接口返回加密报文;
解密过程:
步骤5.2第三方服务调用SDK解密接口;
步骤6.2SDK获取解密密钥;
步骤7.2SDK解密报文;
步骤8.2SDK根据解密报文信息调用报文安全校验适配器;
步骤9.2SDK校验报文安全信息,如果校验失败直接抛出验证异常信息;
步骤10.2SDK解密接口返回解密报文。
授权信息失败码信息表
内容 | 说明 |
001 | 参数验证失败 |
002 | 客户id不存在 |
003 | 客户端密钥错误 |
003 | 授权码不存在 |
004 | 授权令牌token不存在 |
005 | Scope(权限)不足 |
虽然以上描述了本发明的具体实施方式,但是熟悉本技术领域的技术人员应当理解,我们所描述的具体的实施例只是说明性的,而不是用于对本发明的范围的限定,熟悉本领域的技术人员在依照本发明的精神所作的等效的修饰以及变化,都应当涵盖在本发明的权利要求所保护的范围内。
Claims (3)
1.一种OAuth协议的认证方法,其特征在于:包括:
步骤1、第三方服务申请授权认证;
步骤2、SDK将用户信息加密,并发送至授权方;
步骤3、授权方接收用户信息,并验证第三方服务;
步骤4、授权方解密并验证用户信息,验证通过后将授权令牌加密后发送至第三方服务;
步骤5、第三方服务通过所述授权令牌获取认证。
2.根据权利要求1所述的一种OAuth协议的认证方法,其特征在于:所述用户信息包括第一回调地址,所述步骤4进一步具体为:
步骤41、等待用户授权后,授权方解密并验证用户信息;
步骤42、验证通过后,生成授权码,并将授权码加密,之后将加密后的授权码以及请求信息发送至第三方服务;
步骤43、第三方服务接收授权码,并验证请求信息,若所述请求信息为第三方服务发送的请求信息,则第三方服务将授权码以及第二回调地址进行加密并发送至授权方;否,则返回授权失败报文;
步骤44、授权方将授权码以及第二回调地址解密,将第一回调地址与第一回调地址进行比较,若第一回调地址与第一回调地址一致;且授权码有效,则将授权令牌加密后发送至第三方服务。
3.根据权利要求2所述的一种OAuth协议的认证方法,其特征在于:所述步骤5进一步具体为:
第三方服务将授权令牌发送至指定平台,所述平台通过授权方验证授权令牌,若验证通过,则所述平台对第三方服务进行认证,否则,认证不通过。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810343288.0A CN108650239A (zh) | 2018-04-17 | 2018-04-17 | 一种OAuth协议的认证方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810343288.0A CN108650239A (zh) | 2018-04-17 | 2018-04-17 | 一种OAuth协议的认证方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN108650239A true CN108650239A (zh) | 2018-10-12 |
Family
ID=63746658
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810343288.0A Pending CN108650239A (zh) | 2018-04-17 | 2018-04-17 | 一种OAuth协议的认证方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108650239A (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109672675A (zh) * | 2018-12-20 | 2019-04-23 | 成都三零瑞通移动通信有限公司 | 一种基于OAuth2.0的密码服务中间件的WEB认证方法 |
CN111193691A (zh) * | 2018-11-15 | 2020-05-22 | 中国电信股份有限公司 | 授权方法、系统和相关设备 |
CN111327582A (zh) * | 2019-08-22 | 2020-06-23 | 刘高峰 | 一种基于OAuth协议的授权方法、装置及系统 |
CN112733107A (zh) * | 2021-04-02 | 2021-04-30 | 腾讯科技(深圳)有限公司 | 一种信息验证的方法、相关装置、设备以及存储介质 |
CN114124407A (zh) * | 2021-11-25 | 2022-03-01 | 中国银行股份有限公司 | 基于Oauth2.0协议的后端授权认证方法及系统 |
CN114866274A (zh) * | 2022-03-18 | 2022-08-05 | 中国建设银行股份有限公司 | 基于代理服务的授权认证方法、装置及设备 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103581118A (zh) * | 2012-07-24 | 2014-02-12 | 中兴通讯股份有限公司 | 一种资源汇聚网关及跨平台授权方法与系统 |
CN103685139A (zh) * | 2012-08-30 | 2014-03-26 | 中兴通讯股份有限公司 | 认证授权处理方法及装置 |
CN104168262A (zh) * | 2014-07-02 | 2014-11-26 | 百度在线网络技术(北京)有限公司 | 登录第三方站点的方法和服务器 |
US20150163061A1 (en) * | 2011-08-29 | 2015-06-11 | Salesforce.Com, Inc. | Methods and systems of data security in browser storage |
CN105188060A (zh) * | 2015-10-12 | 2015-12-23 | 深圳竹云科技有限公司 | 一种面向移动终端的单点登录认证方法及系统 |
CN106230838A (zh) * | 2016-08-04 | 2016-12-14 | 中国银联股份有限公司 | 一种第三方应用访问资源的方法和装置 |
CN106295394A (zh) * | 2016-07-22 | 2017-01-04 | 飞天诚信科技股份有限公司 | 资源授权方法及系统和授权服务器及工作方法 |
-
2018
- 2018-04-17 CN CN201810343288.0A patent/CN108650239A/zh active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150163061A1 (en) * | 2011-08-29 | 2015-06-11 | Salesforce.Com, Inc. | Methods and systems of data security in browser storage |
CN103581118A (zh) * | 2012-07-24 | 2014-02-12 | 中兴通讯股份有限公司 | 一种资源汇聚网关及跨平台授权方法与系统 |
CN103685139A (zh) * | 2012-08-30 | 2014-03-26 | 中兴通讯股份有限公司 | 认证授权处理方法及装置 |
CN104168262A (zh) * | 2014-07-02 | 2014-11-26 | 百度在线网络技术(北京)有限公司 | 登录第三方站点的方法和服务器 |
CN105188060A (zh) * | 2015-10-12 | 2015-12-23 | 深圳竹云科技有限公司 | 一种面向移动终端的单点登录认证方法及系统 |
CN106295394A (zh) * | 2016-07-22 | 2017-01-04 | 飞天诚信科技股份有限公司 | 资源授权方法及系统和授权服务器及工作方法 |
CN106230838A (zh) * | 2016-08-04 | 2016-12-14 | 中国银联股份有限公司 | 一种第三方应用访问资源的方法和装置 |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111193691A (zh) * | 2018-11-15 | 2020-05-22 | 中国电信股份有限公司 | 授权方法、系统和相关设备 |
CN111193691B (zh) * | 2018-11-15 | 2022-05-24 | 中国电信股份有限公司 | 授权方法、系统和相关设备 |
CN109672675A (zh) * | 2018-12-20 | 2019-04-23 | 成都三零瑞通移动通信有限公司 | 一种基于OAuth2.0的密码服务中间件的WEB认证方法 |
CN109672675B (zh) * | 2018-12-20 | 2021-06-25 | 成都三零瑞通移动通信有限公司 | 一种基于OAuth2.0的密码服务中间件的WEB认证方法 |
CN111327582A (zh) * | 2019-08-22 | 2020-06-23 | 刘高峰 | 一种基于OAuth协议的授权方法、装置及系统 |
CN112733107A (zh) * | 2021-04-02 | 2021-04-30 | 腾讯科技(深圳)有限公司 | 一种信息验证的方法、相关装置、设备以及存储介质 |
CN112733107B (zh) * | 2021-04-02 | 2021-06-22 | 腾讯科技(深圳)有限公司 | 一种信息验证的方法、相关装置、设备以及存储介质 |
CN114124407A (zh) * | 2021-11-25 | 2022-03-01 | 中国银行股份有限公司 | 基于Oauth2.0协议的后端授权认证方法及系统 |
CN114866274A (zh) * | 2022-03-18 | 2022-08-05 | 中国建设银行股份有限公司 | 基于代理服务的授权认证方法、装置及设备 |
CN114866274B (zh) * | 2022-03-18 | 2024-04-26 | 中国建设银行股份有限公司 | 基于代理服务的授权认证方法、装置及设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108650239A (zh) | 一种OAuth协议的认证方法 | |
JP6492115B2 (ja) | 暗号鍵の生成 | |
CN106603485B (zh) | 密钥协商方法及装置 | |
CN107046531B (zh) | 监测终端的数据接入电力信息网络的数据处理方法及系统 | |
US11544365B2 (en) | Authentication system using a visual representation of an authentication challenge | |
CN111512608B (zh) | 基于可信执行环境的认证协议 | |
CN111615105B (zh) | 信息提供、获取方法、装置及终端 | |
EP2912815B1 (en) | Method and apparatus for securing a connection in a communications network | |
US20150318998A1 (en) | Methods and systems for client-enhanced challenge-response authentication | |
CN110519300B (zh) | 基于口令双向认证的客户端密钥安全存储方法 | |
CN105024819A (zh) | 一种基于移动终端的多因子认证方法及系统 | |
CN107294937A (zh) | 基于网络通信的数据传输方法、客户端及服务器 | |
CN104519066A (zh) | 一种激活移动终端令牌的方法 | |
KR20080089500A (ko) | 모바일 네트워크를 기반으로 하는 엔드 투 엔드 통신에서의 인증을 위한 방법, 시스템 및 인증 센터 | |
CN105871920A (zh) | 终端与云服务器的通讯系统及方法、终端、云服务器 | |
CN108712382A (zh) | 一种基于安全二维码的数字身份的认证方法以及系统 | |
CN104484596A (zh) | 多操作系统中创建密码的方法及终端 | |
CN104243452B (zh) | 一种云计算访问控制方法及系统 | |
CN113015159A (zh) | 初始安全配置方法、安全模块及终端 | |
CN104767766A (zh) | 一种Web Service接口验证方法、Web Service服务器、客户端 | |
CN105657699A (zh) | 数据安全传输方法 | |
EP3820186A1 (en) | Method and apparatus for transmitting router security information | |
CN104901967A (zh) | 信任设备的注册方法 | |
CN110636503B (zh) | 数据加密方法、装置、设备及计算机可读存储介质 | |
CN108737087B (zh) | 邮箱账号密码的保护方法及计算机可读存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20181012 |