CN104869102B - 基于xAuth协议的授权方法、装置和系统 - Google Patents

基于xAuth协议的授权方法、装置和系统 Download PDF

Info

Publication number
CN104869102B
CN104869102B CN201410062649.6A CN201410062649A CN104869102B CN 104869102 B CN104869102 B CN 104869102B CN 201410062649 A CN201410062649 A CN 201410062649A CN 104869102 B CN104869102 B CN 104869102B
Authority
CN
China
Prior art keywords
account
authorization
party application
password
request
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
Application number
CN201410062649.6A
Other languages
English (en)
Other versions
CN104869102A (zh
Inventor
岳增书
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tencent Technology Beijing Co Ltd
Original Assignee
Tencent Technology Beijing Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Tencent Technology Beijing Co Ltd filed Critical Tencent Technology Beijing Co Ltd
Priority to CN201410062649.6A priority Critical patent/CN104869102B/zh
Publication of CN104869102A publication Critical patent/CN104869102A/zh
Application granted granted Critical
Publication of CN104869102B publication Critical patent/CN104869102B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0807Network architectures or network communication protocols for network security for authentication of entities using tickets, e.g. Kerberos
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/083Network architectures or network communication protocols for network security for authentication of entities using passwords
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Storage Device Security (AREA)

Abstract

本发明公开了一种基于xAuth协议的授权方法、装置和系统,属于计算机技术领域。所述方法包括:接收第三方应用客户端发送的授权请求,所述授权请求携带有终端用户在所述服务提供方中注册的账号和密码;检测所述账号和密码是否安全;若检测结果为所述账号和密码安全,则生成访问令牌;向所述第三方应用客户端发送携带有所述访问令牌的授权响应。本发明解决了背景技术中涉及的基于xAuth协议的授权过程存在安全隐患,终端用户的账号和密码很容易发生泄漏或者被非法盗取的问题;本发明实施例在确保账号和密码的安全性之后才向第三方应用反馈访问令牌,排除了账号和密码的安全性威胁,使得整个授权过程更加安全、可靠。

Description

基于xAuth协议的授权方法、装置和系统
技术领域
本发明实施例涉及计算机技术领域,特别涉及一种基于xAuth协议的授权方法、装置和系统。
背景技术
oAuth1.0协议是一个开放授权协议,允许第三方应用访问服务提供方中注册的终端用户的某些资源,且不会把终端用户的账号和密码提供给第三方应用。基于oAuth1.0协议的授权方法可分为三步:第一,第三方应用从服务提供方处获取未授权的请求令牌;第二,在服务提供方的引导下,第三方应用由未授权的请求令牌换取经终端用户授权的请求令牌;第三,第三方应用使用经终端用户授权的请求令牌从服务提供方处换取访问令牌,之后第三方应用便可通过访问令牌访问终端用户存放于服务提供方处的某些资源。可以看出,整个授权过程第三方应用并未接触到终端用户在服务提供方中注册的账号和密码,因此可以认为是一个安全的授权过程。
为了简化授权过程,在oAuth1.0协议的基础上出现了xAuth协议。基于xAuth协议的授权过程省去了第三方应用从服务提供方处获取未授权的请求令牌以及在服务提供方的引导下,第三方应用由未授权的请求令牌换取经终端用户授权的请求令牌的步骤,第三方应用直接通过终端用户在服务提供方中注册的账号和密码从服务提供方处换取访问令牌,之后第三方应用便可通过访问令牌访问终端用户存放于服务提供方处的某些资源。在一个具体的例子中,假设第三方应用能够提供打印服务,终端用户使用第三方应用打印存放于服务提供方中的图片、文档之类的资源,则第三方应用引导用户输入在服务提供方中注册的账号和密码,终端用户输入账号和密码之后,第三方应用即可通过用户输入的账号和密码从服务提供方处换取访问令牌,然后通过访问令牌访问终端用户存放于服务提供方处的图片、文档等资源,进而实现下载和打印。
在实现本发明实施例的过程中,发明人发现背景技术至少存在以下问题:虽然xAuth协议简化了整个授权过程,但第三方应用可以直接接触到终端用户在服务提供方中注册的账号和密码,如果第三方应用存在安全漏洞或者第三方应用本身即为非法恶意软件,那么终端用户的账号和密码很容易发生泄漏或者被非法盗取,存在安全隐患。
发明内容
为了解决背景技术中涉及的基于xAuth协议的授权过程存在安全隐患,终端用户的账号和密码很容易发生泄漏或者被非法盗取的问题,本发明实施例提供了一种基于xAuth协议的授权方法、装置和系统。所述技术方案如下:
第一方面,提供了一种基于xAuth协议的授权方法,用于服务提供方所对应的授权服务器中,所述方法包括:
接收第三方应用客户端发送的授权请求,所述授权请求携带有终端用户在所述服务提供方中注册的账号和密码;
检测所述账号和密码是否安全;
若检测结果为所述账号和密码安全,则生成访问令牌;
向所述第三方应用客户端发送携带有所述访问令牌的授权响应。
第二方面,提供了一种基于xAuth协议的授权方法,用于第三方应用客户端中,所述方法包括:
向服务提供方所对应的授权服务器发送授权请求,所述授权请求携带有终端用户在所述服务提供方中注册的账号和密码;
接收所述授权服务器发送的携带有访问令牌的授权响应,所述访问令牌是在所述授权服务器检测所述账号和密码是否安全,且检测结果为所述账号和密码安全之后生成的。
第三方面,提供了一种基于xAuth协议的授权装置,用于服务提供方所对应的授权服务器中,所述装置包括:
请求接收模块,用于接收第三方应用客户端发送的授权请求,所述授权请求携带有终端用户在所述服务提供方中注册的账号和密码;
安全检测模块,用于检测所述账号和密码是否安全;
令牌生成模块,用于若检测结果为所述账号和密码安全,则生成访问令牌;
响应发送模块,用于向所述第三方应用客户端发送携带有所述访问令牌的授权响应。
第四方面,提供了一种基于xAuth协议的授权装置,用于第三方应用客户端中,所述装置包括:
请求发送模块,用于向服务提供方所对应的授权服务器发送授权请求,所述授权请求携带有终端用户在所述服务提供方中注册的账号和密码;
响应接收模块,用于接收所述授权服务器发送的携带有访问令牌的授权响应,所述访问令牌是在所述授权服务器检测所述账号和密码是否安全,且检测结果为所述账号和密码安全之后生成的。
第五方面,提供了一种基于xAuth协议的授权系统,其特征在于,所述系统包括:服务提供方所对应的授权服务器以及与所述授权服务器通过有线网络或者无线网络相连的第三方应用客户端;
所述授权服务器是如第三方面所述的基于xAuth协议的授权装置;
所述第三方应用客户端是如第四方面所述的基于xAuth协议的授权装置。
本发明实施例提供的技术方案带来的有益效果是:
通过在服务提供方所对应的授权服务器接收到第三方应用客户端发送的授权请求之后,对授权请求中携带的终端用户在服务提供方中注册的账号和密码进行安全检测,当检测结果为账号和密码安全时,才生成访问令牌,并向第三方应用客户端发送携带有访问令牌的授权响应;解决了背景技术中涉及的基于xAuth协议的授权过程存在安全隐患,终端用户的账号和密码很容易发生泄漏或者被非法盗取的问题;本发明实施例在确保账号和密码的安全性之后才向第三方应用反馈访问令牌,排除了账号和密码的安全性威胁,使得整个授权过程更加安全、可靠。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的基于xAuth协议的授权方法所涉及的一种实施环境的结构示意图;
图2是本发明一个实施例提供的基于xAuth协议的授权方法的方法流程图;
图3是本发明另一实施例提供的基于xAuth协议的授权方法的方法流程图;
图4是本发明再一实施例提供的基于xAuth协议的授权方法的方法流程图;
图5是本发明一个实施例提供的基于xAuth协议的授权装置的结构方框图;
图6是本发明另一实施例提供的基于xAuth协议的授权装置的结构方框图;
图7是本发明一个实施例提供的基于xAuth协议的授权系统的结构方框图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
请参考图1,其示出了本发明实施例提供的基于xAuth协议的授权方法所涉及的一种实施环境的结构示意图。该实施环境包括终端120和授权服务器140。
终端120为终端用户使用的终端,终端120中安装有第三方应用客户端。终端120可以是手机、平板电脑、电子书阅读器、MP3播放器(Moving Picture Experts Group AudioLayer III,动态影像专家压缩标准音频层面3)、MP4(Moving Picture Experts GroupAudio Layer IV,动态影像专家压缩标准音频层面3)播放器、膝上型便携计算机和台式计算机等等。
终端120与授权服务器140之间可以通过无线网络或者有线网络相连。
授权服务器140为服务提供方所对应的授权服务器。授权服务器140可以是一台服务器,或者由若干台服务器组成的服务器集群,或者是一个云计算服务中心。
请参考图2,其示出了本发明一个实施例提供的基于xAuth协议的授权方法的方法流程图。本实施例以该授权方法应用于图1所示实施环境中的服务提供方所对应的授权服务器中来举例说明,该授权方法可以包括如下几个步骤:
步骤202,接收第三方应用客户端发送的授权请求,授权请求携带有终端用户在服务提供方中注册的账号和密码。
步骤204,检测账号和密码是否安全。
步骤206,若检测结果为账号和密码安全,则生成访问令牌。
步骤208,向第三方应用客户端发送携带有访问令牌的授权响应。
综上所述,本实施例提供的基于xAuth协议的授权方法,通过在服务提供方所对应的授权服务器接收到第三方应用客户端发送的授权请求之后,对授权请求中携带的终端用户在服务提供方中注册的账号和密码进行安全检测,当检测结果为账号和密码安全时,才生成访问令牌,并向第三方应用客户端发送携带有访问令牌的授权响应;解决了背景技术中涉及的基于xAuth协议的授权过程存在安全隐患,终端用户的账号和密码很容易发生泄漏或者被非法盗取的问题;本发明实施例在确保账号和密码的安全性之后才向第三方应用反馈访问令牌,排除了账号和密码的安全性威胁,使得整个授权过程更加安全、可靠。
请参考图3,其示出了本发明另一实施例提供的基于xAuth协议的授权方法的方法流程图。本实施例以该授权方法应用于图1所示实施环境中的第三方应用客户端中来举例说明,该授权方法可以包括如下几个步骤:
步骤302,向服务提供方所对应的授权服务器发送授权请求,授权请求携带有终端用户在服务提供方中注册的账号和密码。
步骤304,接收授权服务器发送的携带有访问令牌的授权响应,访问令牌是在授权服务器检测账号和密码是否安全,且检测结果为账号和密码安全之后生成的。
综上所述,本实施例提供的基于xAuth协议的授权方法,通过第三方应用客户端向服务提供方所对应的授权服务器发送携带有终端用户在服务提供方中注册的账号和密码的授权请求,并在授权服务器检测账号和密码的安全性之后,接收授权服务器发送的携带有访问令牌的授权响应;解决了背景技术中涉及的基于xAuth协议的授权过程存在安全隐患,终端用户的账号和密码很容易发生泄漏或者被非法盗取的问题;本发明实施例在确保账号和密码的安全性之后才向第三方应用反馈访问令牌,排除了账号和密码的安全性威胁,使得整个授权过程更加安全、可靠。
请参考图4,其示出了本发明再一实施例提供的基于xAuth协议的授权方法的方法流程图。本实施例以该授权方法应用于图1所示实施环境中来举例说明,该授权方法可以包括如下几个步骤:
步骤401,生成请求串。
第三方应用客户端生成请求串,请求串中的参数包括终端用户在服务提供方中注册的账号和密码。比如,当服务提供方为微博时,该账号和密码即为终端用户的微博账号和密码。
在基于xAuth协议的授权过程中,请求串中通常包括如下参数:
(1)x_auth_username:账号,比如“123456”,该账号也可以用由用户名表示;
(2)x_auth_password:密码,比如“code88”;
(3)x_auth_mode:标识字段,标识字段为“client_auth”;
(4)oauth_consumer_key:应用标识,比如“JvyS7DO2qd6NNTsXJ4E7zA”;
(5)oauth_consumer_secret:与应用标识对应的密码,比如“9z6157pUbOBqtbm0A0qiqOJHD465”
(6)oauth_signature_method:签名算法,比如“HMAC-SHA1”;
(7)oauth_timestamp:时间戳,比如“1284565601”;
(8)oauth_nonce:为防止重复请求而设置的随机字符串,比如“12DFGHf56DFG12988OPOvYdTT”;
(9)oauth_version:oAuth协议的版本号,比如“1.0”。
步骤402,将请求串与记录有用于获取访问令牌的服务地址的统一资源定位符URL进行连接,并对请求串进行URL编码。
第三方应用客户端将请求串中包含的参数与URL(Uniform Resource Locator,统一资源定位符)进行连接,该URL为记录有用于获取访问令牌的服务地址的URL。之后,第三方应用客户端对请求串进行URL编码。URL编码遵循固定的编码规则,比如每一对参数名及其对应参数值由固定符号分开。
步骤403,以第三方应用对应的应用标识为密钥,对经URL编码后的请求串进行加密签名得到签名数据。
第三方应用需要预先向服务提供方所对应的授权服务器进行注册,完成注册之后,授权服务器会向第三方应用颁发应用标识oauth_consumer_key和与该应用标识oauth_consumer_key对应的密码oauth_consumer_secret。之后,第三方应用客户端便可通过第三方应用的应用标识oauth_consumer_key和密码oauth_consumer_secret登录至授权服务器,完成后续的授权过程。
在本步骤中,第三方应用客户端以应用标识oauth_consumer_key为密钥,通过预设加密算法对经URL编码后的请求串进行加密签名得到签名数据。其中,预设加密算法通常为HMAC-SHA1算法。
步骤404,生成授权请求。
第三方应用客户端生成授权请求,授权请求包括请求串和签名数据。其中,签名数据以oauth_signature表示。
步骤405,向服务提供方所对应的授权服务器发送授权请求。
授权请求携带有终端用户在服务提供方中注册的账号和密码。其中,账号x_auth_username和密码x_auth_password是请求串中的参数,且在本实施例中授权请求还包括签名数据。
另外,授权请求通常分HTTPS(Hypertext Transfer Protocol over SecureSocket Layer,以安全为目的的HTTP通道)和Post两个通道发送。HTTPS通道发送应用标识oauth_consumer_key、与应用标识对应的密码oauth_consumer_secret、签名算法oauth_signature_method、签名数据oauth_signature、时间戳oauth_timestamp、为防止重复请求而设置的随机字符串oauth_nonce以及oAuth协议的版本号oauth_version等参数。Post通道发送账号x_auth_username、密码x_auth_password以及标识字段x_auth_mode这三个参数。
对应地,授权服务器接收第三方应用客户端发送的授权请求。
步骤406,从授权请求中提取签名数据。
授权服务器接收到第三方应用客户端发送的授权请求之后,从授权请求中提取签名数据。
步骤407,通过签名数据验证第三方应用的身份是否合格。
授权服务器通过签名数据验证第三方应用的身份是否合格。由于签名数据是第三方应用客户端以应用标识oauth_consumer_key为密钥,并通过预设加密算法对经URL编码后的请求串进行加密签名后得到的,授权服务器根据授权请求中包含的签名算法对签名数据进行解密,然后确定第三方应用所对应的应用标识oauth_consumer_key,通过应用标识oauth_consumer_key验证第三方应用的身份是否合格,也即验证该第三方应用是否预先向授权服务器完成注册。
步骤408,若验证第三方应用的身份合格,则检测账号和密码是否安全。
若验证第三方应用的身份合格,则授权服务器检测账号和密码是否安全。为了克服背景技术中涉及的授权方法存在的安全方面的缺陷,在本实施例提供的授权方法中,授权服务器需要验证账号和密码的安全性。
具体地,授权服务器检测账号和密码是否满足预定条件,该预定条件包括账号的请求频率低于第一阈值、第三方应用的请求频率低于第二阈值、第三方应用客户端的IP地址的请求频率低于第三阈值、账号不存在异常中的至少一种。其中,第一阈值、第二阈值以及第三阈值均可根据实际情况预先设定。
授权服务器从账号、应用以及IP地址等多个角度验证账号和密码的安全性。当某个账号向授权服务器发起授权请求的频率较高时,说明该账号可能被非法盗用;当某个第三方应用向授权服务器发起授权请求的频率较高时,说明该第三方应用可能是恶意软件;当某个第三方应用客户端的IP地址向授权服务器发起授权请求的频率较高时,说明可能存在其他人员正在通过该第三方应用客户端尝试暴力破解账号和密码;当某个账号存在病毒、木马或者异地登陆等异常情况时,说明该账号可能受到安全威胁。针对不同的情况,授权服务器可采取不同的措施对账号和密码进行安全保护。
步骤409,若检测结果为账号和密码满足预定条件,则生成访问令牌。
若检测结果为账号和密码满足预定条件,则说明账号和密码安全,此时授权服务器生成访问令牌Access Token。可选地,授权服务器还可生成显示名称screen_name,显示名称screen_name可以作为第三方应用客户端与授权服务器之间进行通信时第三方应用客户端的昵称。
另外,若检测结果为账号和密码不满足预定条件,则针对不同的情况,授权服务器可采取不同的措施对账号和密码进行安全保护,具体地,当账号的请求频率高于第一阈值时,对账号进行第一预设时长的封号处理;当第三方应用的请求频率高于第二阈值时,对第三方应用进行第二预设时长的封杀处理;当第三方应用客户端的IP地址的请求频率高于第三阈值时,对第三方应用客户端的IP地址进行第三预设时长的封杀处理;当账号存在异常时,对账号进行安全保护。
其中,第一预设时长、第二预设时长以及第三预设时长均可根据实际情况预先设定,也可以根据安全威胁的严重程度设定不同的值。预设时长设定的不同,授权服务器对账号、第三方应用或者IP地址进行封杀的时长也就不同。比如,对于安全威胁较轻的情况,可以在短时间内限制授权请求的发送;而对于安全威胁严重的情况,可以进行永久性的封杀处理。另外,对账号进行异常情况的检测,也可排除账号受到病毒、木马或者人为盗用的威胁。
步骤410,向第三方应用客户端发送携带有访问令牌的授权响应。
授权服务器向第三方应用客户端发送携带有访问令牌的授权响应,该访问令牌具有设定时长的有效期,在有效期之内第三方应用客户端可以以该访问令牌为凭证从服务提供方处获取终端用户存放的资源。
对应地,第三方应用客户端接收授权服务器发送的携带有访问令牌的授权响应。
步骤411,从授权响应中提取访问令牌。
第三方应用客户端从授权响应中提取访问令牌。
步骤412,通过访问令牌访问终端用户存放于服务提供方处的资源。
第三方应用客户端通过访问令牌访问终端用户存放于服务提供方处的资源。服务提供方所对应的用于存储终端用户的资源的服务器可以与授权服务器为同一台服务器,可以与授权服务器为不同的服务器。第三方应用客户端获取访问令牌之后,通过指向用于获取终端用户的资源的URL与服务提供方所对应的用于存储终端用户的资源的服务器建立连接,并从该服务器中下载终端用户的资源。
综上所述,本实施例提供的基于xAuth协议的授权方法,通过在服务提供方所对应的授权服务器接收到第三方应用客户端发送的授权请求之后,对授权请求中携带的终端用户在服务提供方中注册的账号和密码进行安全检测,当检测结果为账号和密码安全时,才生成访问令牌,并向第三方应用客户端发送携带有访问令牌的授权响应;解决了背景技术中涉及的基于xAuth协议的授权过程存在安全隐患,终端用户的账号和密码很容易发生泄漏或者被非法盗取的问题;本发明实施例在确保账号和密码的安全性之后才向第三方应用反馈访问令牌,排除了账号和密码的安全性威胁,使得整个授权过程更加安全、可靠。
另外,本实施例通过从账号、应用以及IP地址等多个角度验证账号和密码的安全性,并在发现存在安全问题时,针对不同的情况,授权服务器可采取不同的措施对账号和密码进行安全保护,充分保证了终端用户的账号和密码的安全性。
下述为本发明装置实施例,可以用于执行本发明方法实施例。对于本发明装置实施例中未披露的细节,请参照本发明方法实施例。
请参考图5,其示出了本发明一个实施例提供的基于xAuth协议的授权装置的结构方框图,该授权装置可以通过软件、硬件或者两者的结合实现成为服务提供方所对应的授权服务器的部分或者全部。该授权装置包括:请求接收模块510、安全检测模块520、令牌生成模块530和响应发送模块540。
请求接收模块510,用于接收第三方应用客户端发送的授权请求,所述授权请求携带有终端用户在所述服务提供方中注册的账号和密码。
安全检测模块520,用于检测所述账号和密码是否安全。
令牌生成模块530,用于若检测结果为所述账号和密码安全,则生成访问令牌。
响应发送模块540,用于向所述第三方应用客户端发送携带有所述访问令牌的授权响应。
综上所述,本实施例提供的基于xAuth协议的授权装置,通过在服务提供方所对应的授权服务器接收到第三方应用客户端发送的授权请求之后,对授权请求中携带的终端用户在服务提供方中注册的账号和密码进行安全检测,当检测结果为账号和密码安全时,才生成访问令牌,并向第三方应用客户端发送携带有访问令牌的授权响应;解决了背景技术中涉及的基于xAuth协议的授权过程存在安全隐患,终端用户的账号和密码很容易发生泄漏或者被非法盗取的问题;本发明实施例在确保账号和密码的安全性之后才向第三方应用反馈访问令牌,排除了账号和密码的安全性威胁,使得整个授权过程更加安全、可靠。
请参考图6,其示出了本发明另一实施例提供的基于xAuth协议的授权装置的结构方框图,该授权装置可以通过软件、硬件或者两者的结合实现成为第三方应用客户端的部分或者全部。该授权装置包括:请求发送模块610和响应接收模块620。
请求发送模块610,用于向服务提供方所对应的授权服务器发送授权请求,所述授权请求携带有终端用户在所述服务提供方中注册的账号和密码。
响应接收模块620,用于接收所述授权服务器发送的携带有访问令牌的授权响应,所述访问令牌是在所述授权服务器检测所述账号和密码是否安全,且检测结果为所述账号和密码安全之后生成的。
综上所述,本实施例提供的基于xAuth协议的授权装置,通过第三方应用客户端向服务提供方所对应的授权服务器发送携带有终端用户在服务提供方中注册的账号和密码的授权请求,并在授权服务器检测账号和密码的安全性之后,接收授权服务器发送的携带有访问令牌的授权响应;解决了背景技术中涉及的基于xAuth协议的授权过程存在安全隐患,终端用户的账号和密码很容易发生泄漏或者被非法盗取的问题;本发明实施例在确保账号和密码的安全性之后才向第三方应用反馈访问令牌,排除了账号和密码的安全性威胁,使得整个授权过程更加安全、可靠。
请参考图7,其示出了本发明一个实施例提供的基于xAuth协议的授权系统的结构方框图,该授权系统包括服务提供方所对应的授权服务器500以及与授权服务器500通过有线网络或者无线网络相连的第三方应用客户端600。
授权服务器500包括基于xAuth协议的授权装置,该授权装置可以通过软件、硬件或者两者的结合实现成为服务提供方所对应的授权服务器500的部分或者全部。该授权装置包括:请求接收模块510、签名提取模块512、身份验证模块514、安全检测模块520、令牌生成模块530、处理应对模块532和响应发送模块540。
请求接收模块510,用于接收第三方应用客户端发送的授权请求,所述授权请求携带有终端用户在所述服务提供方中注册的账号和密码。
签名提取模块512,用于当所述授权请求还包括签名数据时,从所述授权请求中提取所述签名数据,所述签名数据是在所述第三方应用客户端以所述第三方应用对应的应用标识为密钥,对经URL编码后的请求串进行加密签名后得到的,所述请求串包括所述账号和密码。
身份验证模块514,用于通过所述签名数据验证所述第三方应用的身份是否合格。
安全检测模块520,用于检测所述账号和密码是否安全。
所述安全检测模块520,还用于若验证所述第三方应用的身份合格,则执行所述检测所述账号和密码是否安全的步骤。
所述安全检测模块520,还用于检测所述账号和密码是否满足预定条件,所述预定条件包括所述账号的请求频率低于第一阈值、所述第三方应用的请求频率低于第二阈值、所述第三方应用客户端的IP地址的请求频率低于第三阈值、所述账号不存在异常中的至少一种。
令牌生成模块530,用于若检测结果为所述账号和密码安全,则生成访问令牌。
所述令牌生成模块530,还用于若检测结果为所述账号和密码满足所述预定条件,则执行所述生成访问令牌的步骤。
处理应对模块532,用于若检测结果为所述账号和密码不满足所述预定条件,则:当所述账号的请求频率高于所述第一阈值时,对所述账号进行第一预设时长的封号处理;当所述第三方应用的请求频率高于所述第二阈值时,对所述第三方应用进行第二预设时长的封杀处理;当所述第三方应用客户端的IP地址的请求频率高于所述第三阈值时,对所述第三方应用客户端的IP地址进行第三预设时长的封杀处理;当所述账号存在异常时,对所述账号进行安全保护。
响应发送模块540,用于向所述第三方应用客户端发送携带有所述访问令牌的授权响应。
第三方应用客户端600包括基于xAuth协议的授权装置,该授权装置可以通过软件、硬件或者两者的结合实现成为第三方应用客户端600的部分或者全部。该授权装置包括:请求串生成模块602、请求串编码模块604、请求串签名模块606、请求生成模块608、请求发送模块610、响应接收模块620、令牌提取模块622和资源访问模块624。
请求串生成模块602,用于生成请求串,所述请求串包括所述账号和密码。
请求串编码模块604,用于将所述请求串与记录有用于获取所述访问令牌的服务地址的统一资源定位符URL进行连接,并对所述请求串进行URL编码。
请求串签名模块606,用于以所述第三方应用对应的应用标识为密钥,对经URL编码后的请求串进行加密签名得到签名数据。
请求生成模块608,用于生成所述授权请求,所述授权请求包括所述请求串和所述签名数据。
请求发送模块610,用于向服务提供方所对应的授权服务器发送授权请求,所述授权请求携带有终端用户在所述服务提供方中注册的账号和密码。
响应接收模块620,用于接收所述授权服务器发送的携带有访问令牌的授权响应,所述访问令牌是在所述授权服务器检测所述账号和密码是否安全,且检测结果为所述账号和密码安全之后生成的。
令牌提取模块622,用于从所述授权响应中提取所述访问令牌。
资源访问模块624,用于通过所述访问令牌访问所述终端用户存放于所述服务提供方处的资源。
综上所述,本实施例提供的基于xAuth协议的授权系统,通过在服务提供方所对应的授权服务器接收到第三方应用客户端发送的授权请求之后,对授权请求中携带的终端用户在服务提供方中注册的账号和密码进行安全检测,当检测结果为账号和密码安全时,才生成访问令牌,并向第三方应用客户端发送携带有访问令牌的授权响应;解决了背景技术中涉及的基于xAuth协议的授权过程存在安全隐患,终端用户的账号和密码很容易发生泄漏或者被非法盗取的问题;本发明实施例在确保账号和密码的安全性之后才向第三方应用反馈访问令牌,排除了账号和密码的安全性威胁,使得整个授权过程更加安全、可靠。
另外,本实施例通过从账号、应用以及IP地址等多个角度验证账号和密码的安全性,并在发现存在安全问题时,针对不同的情况,授权服务器可采取不同的措施对账号和密码进行安全保护,充分保证了终端用户的账号和密码的安全性。
需要说明的是:上述实施例提供的基于xAuth协议的授权装置和系统在完成授权时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的基于xAuth协议的授权装置和系统与基于xAuth协议的授权方法的方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
应当理解的是,在本文中使用的,除非上下文清楚地支持例外情况,单数形式“一个”(“a”、“an”、“the”)旨在也包括复数形式。还应当理解的是,在本文中使用的“和/或”是指包括一个或者一个以上相关联地列出的项目的任意和所有可能组合。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (13)

1.一种基于xAuth协议的授权方法,其特征在于,用于服务提供方所对应的授权服务器中,所述方法包括:
接收第三方应用客户端发送的授权请求,所述授权请求携带有终端用户在所述服务提供方中注册的账号和密码;
检测所述账号和密码是否满足预定条件,所述预定条件包括所述账号的请求频率低于第一阈值、所述第三方应用的请求频率低于第二阈值、所述第三方应用客户端的IP地址的请求频率低于第三阈值、所述账号不存在异常中的至少一种;
若检测结果为所述账号和密码满足所述预定条件,则生成访问令牌;
向所述第三方应用客户端发送携带有所述访问令牌的授权响应。
2.根据权利要求1所述的方法,其特征在于,所述检测所述账号和密码是否满足预定条件之后,还包括:
若检测结果为所述账号和密码不满足所述预定条件,则:
当所述账号的请求频率高于所述第一阈值时,对所述账号进行第一预设时长的封号处理;
当所述第三方应用的请求频率高于所述第二阈值时,对所述第三方应用进行第二预设时长的封杀处理;
当所述第三方应用客户端的IP地址的请求频率高于所述第三阈值时,对所述第三方应用客户端的IP地址进行第三预设时长的封杀处理;
当所述账号存在异常时,对所述账号进行安全保护。
3.根据权利要求1或2所述的方法,其特征在于,所述接收第三方应用客户端发送的授权请求之后,还包括:
当所述授权请求还包括签名数据时,从所述授权请求中提取所述签名数据,所述签名数据是在所述第三方应用客户端以所述第三方应用对应的应用标识为密钥,对经URL编码后的请求串进行加密签名后得到的,所述请求串包括所述账号和密码;
通过所述签名数据验证所述第三方应用的身份是否合格;
若验证所述第三方应用的身份合格,则执行所述检测所述账号和密码是否满足预定条件的步骤。
4.一种基于xAuth协议的授权方法,其特征在于,用于第三方应用客户端中,所述方法包括:
向服务提供方所对应的授权服务器发送授权请求,所述授权请求携带有终端用户在所述服务提供方中注册的账号和密码;
接收所述授权服务器发送的携带有访问令牌的授权响应,所述访问令牌是在所述授权服务器检测所述账号和密码是否满足预定条件,且检测结果为所述账号和密码满足所述预定条件之后生成的;
其中,所述预定条件包括所述账号的请求频率低于第一阈值、所述第三方应用的请求频率低于第二阈值、所述第三方应用客户端的IP地址的请求频率低于第三阈值、所述账号不存在异常中的至少一种。
5.根据权利要求4所述的方法,其特征在于,所述向服务提供方所对应的授权服务器发送授权请求之前,还包括:
生成请求串,所述请求串包括所述账号和密码;
将所述请求串与记录有用于获取所述访问令牌的服务地址的统一资源定位符URL进行连接,并对所述请求串进行URL编码;
以所述第三方应用对应的应用标识为密钥,对经URL编码后的请求串进行加密签名得到签名数据;
生成所述授权请求,所述授权请求包括所述请求串和所述签名数据。
6.根据权利要求4或5所述的方法,其特征在于,所述接收所述授权服务器发送的携带有访问令牌的授权响应之后,还包括:
从所述授权响应中提取所述访问令牌;
通过所述访问令牌访问所述终端用户存放于所述服务提供方处的资源。
7.一种基于xAuth协议的授权装置,其特征在于,用于服务提供方所对应的授权服务器中,所述装置包括:
请求接收模块,用于接收第三方应用客户端发送的授权请求,所述授权请求携带有终端用户在所述服务提供方中注册的账号和密码;
安全检测模块,用于检测所述账号和密码是否满足预定条件,所述预定条件包括所述账号的请求频率低于第一阈值、所述第三方应用的请求频率低于第二阈值、所述第三方应用客户端的IP地址的请求频率低于第三阈值、所述账号不存在异常中的至少一种;
令牌生成模块,用于若检测结果为所述账号和密码满足所述预定条件,则生成访问令牌;
响应发送模块,用于向所述第三方应用客户端发送携带有所述访问令牌的授权响应。
8.根据权利要求7所述的装置,其特征在于,所述装置还包括:
处理应对模块,用于若检测结果为所述账号和密码不满足所述预定条件,则:
当所述账号的请求频率高于所述第一阈值时,对所述账号进行第一预设时长的封号处理;
当所述第三方应用的请求频率高于所述第二阈值时,对所述第三方应用进行第二预设时长的封杀处理;
当所述第三方应用客户端的IP地址的请求频率高于所述第三阈值时,对所述第三方应用客户端的IP地址进行第三预设时长的封杀处理;
当所述账号存在异常时,对所述账号进行安全保护。
9.根据权利要求7或8所述的装置,其特征在于,所述装置还包括:
签名提取模块,用于当所述授权请求还包括签名数据时,从所述授权请求中提取所述签名数据,所述签名数据是在所述第三方应用客户端以所述第三方应用对应的应用标识为密钥,对经URL编码后的请求串进行加密签名后得到的,所述请求串包括所述账号和密码;
身份验证模块,用于通过所述签名数据验证所述第三方应用的身份是否合格;
所述安全检测模块,还用于若验证所述第三方应用的身份合格,则执行所述检测所述账号和密码是否安全的步骤。
10.一种基于xAuth协议的授权装置,其特征在于,用于第三方应用客户端中,所述装置包括:
请求发送模块,用于向服务提供方所对应的授权服务器发送授权请求,所述授权请求携带有终端用户在所述服务提供方中注册的账号和密码;
响应接收模块,用于接收所述授权服务器发送的携带有访问令牌的授权响应,所述访问令牌是在所述授权服务器检测所述账号和密码是否满足预定条件,且检测结果为所述账号和密码满足所述预定条件之后生成的;
其中,所述预定条件包括所述账号的请求频率低于第一阈值、所述第三方应用的请求频率低于第二阈值、所述第三方应用客户端的IP地址的请求频率低于第三阈值、所述账号不存在异常中的至少一种。
11.根据权利要求10所述的装置,其特征在于,所述装置还包括:
请求串生成模块,用于生成请求串,所述请求串包括所述账号和密码;
请求串编码模块,用于将所述请求串与记录有用于获取所述访问令牌的服务地址的统一资源定位符URL进行连接,并对所述请求串进行URL编码;
请求串签名模块,用于以所述第三方应用对应的应用标识为密钥,对经URL编码后的请求串进行加密签名得到签名数据;
请求生成模块,用于生成所述授权请求,所述授权请求包括所述请求串和所述签名数据。
12.根据权利要求10或11所述的装置,其特征在于,所述装置还包括:
令牌提取模块,用于从所述授权响应中提取所述访问令牌;
资源访问模块,用于通过所述访问令牌访问所述终端用户存放于所述服务提供方处的资源。
13.一种基于xAuth协议的授权系统,其特征在于,所述系统包括:服务提供方所对应的授权服务器以及与所述授权服务器通过有线网络或者无线网络相连的第三方应用客户端;
所述授权服务器包括如权利要求7至9任一所述的基于xAuth协议的授权装置;
所述第三方应用客户端包括如权利要求10至12任一所述的基于xAuth协议的授权装置。
CN201410062649.6A 2014-02-24 2014-02-24 基于xAuth协议的授权方法、装置和系统 Active CN104869102B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410062649.6A CN104869102B (zh) 2014-02-24 2014-02-24 基于xAuth协议的授权方法、装置和系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410062649.6A CN104869102B (zh) 2014-02-24 2014-02-24 基于xAuth协议的授权方法、装置和系统

Publications (2)

Publication Number Publication Date
CN104869102A CN104869102A (zh) 2015-08-26
CN104869102B true CN104869102B (zh) 2019-04-02

Family

ID=53914628

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410062649.6A Active CN104869102B (zh) 2014-02-24 2014-02-24 基于xAuth协议的授权方法、装置和系统

Country Status (1)

Country Link
CN (1) CN104869102B (zh)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105791259B (zh) * 2015-10-26 2018-11-16 北京中金国盛认证有限公司 一种个人信息保护的方法
US10075557B2 (en) * 2015-12-30 2018-09-11 Amazon Technologies, Inc. Service authorization handshake
CN105897415B (zh) * 2016-06-06 2018-11-09 腾讯科技(深圳)有限公司 一种提升兼容性的数字签名生成方法及系统
CN106302490A (zh) * 2016-08-23 2017-01-04 浪潮电子信息产业股份有限公司 一种基于Token的Web会话构建和服务调用方法
CN106878335B (zh) * 2017-03-28 2020-10-16 武汉斗鱼网络科技有限公司 一种用于登录验证的方法及系统
EP3382937B1 (en) * 2017-03-28 2022-05-18 Rohde & Schwarz GmbH & Co. KG Transmission device, system as well as method for transmitting monitoring information
CN109361639A (zh) * 2017-12-27 2019-02-19 广州Tcl智能家居科技有限公司 动态共享https请求鉴权方法、存储介质及移动终端
CN109033774B (zh) * 2018-08-31 2020-08-07 阿里巴巴集团控股有限公司 获取、反馈用户资源的方法、装置及电子设备
US11689571B2 (en) * 2019-03-12 2023-06-27 Nxp B.V. Certificate provisioning and customer binding mechanisms using device group identification token
CN110351269B (zh) * 2019-07-05 2021-09-24 思必驰科技股份有限公司 通过第三方服务器登录开放平台的方法
CN110351304B (zh) * 2019-07-31 2021-12-07 深圳市钱海网络技术有限公司 一种不同系统间的一键切换登录实现方法及装置
CN111010375A (zh) * 2019-11-28 2020-04-14 浪潮金融信息技术有限公司 一种允许第三方应用接入访问资源的分布式认证授权方式
CN115277252B (zh) * 2022-09-26 2022-11-25 四川蜀天信息技术有限公司 一种基于多签机制的数据授权方法

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102638473A (zh) * 2012-05-04 2012-08-15 盛趣信息技术(上海)有限公司 一种用户数据授权方法、装置及系统
CN102710640A (zh) * 2012-05-31 2012-10-03 中国联合网络通信集团有限公司 请求授权的方法、装置和系统
CN102724647A (zh) * 2012-06-06 2012-10-10 电子科技大学 一种能力访问授权方法及系统
CN102739708A (zh) * 2011-04-07 2012-10-17 腾讯科技(深圳)有限公司 一种基于云平台访问第三方应用的系统及方法
CN102821085A (zh) * 2011-11-23 2012-12-12 腾讯科技(深圳)有限公司 第三方授权登录方法、开放平台及系统
CN103067338A (zh) * 2011-10-20 2013-04-24 上海贝尔股份有限公司 第三方应用的集中式安全管理方法和系统及相应通信系统

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102739708A (zh) * 2011-04-07 2012-10-17 腾讯科技(深圳)有限公司 一种基于云平台访问第三方应用的系统及方法
CN103067338A (zh) * 2011-10-20 2013-04-24 上海贝尔股份有限公司 第三方应用的集中式安全管理方法和系统及相应通信系统
CN102821085A (zh) * 2011-11-23 2012-12-12 腾讯科技(深圳)有限公司 第三方授权登录方法、开放平台及系统
CN102638473A (zh) * 2012-05-04 2012-08-15 盛趣信息技术(上海)有限公司 一种用户数据授权方法、装置及系统
CN102710640A (zh) * 2012-05-31 2012-10-03 中国联合网络通信集团有限公司 请求授权的方法、装置和系统
CN102724647A (zh) * 2012-06-06 2012-10-10 电子科技大学 一种能力访问授权方法及系统

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
"开放平台XAuth";轩脉刃;《网页》;20110901;全文

Also Published As

Publication number Publication date
CN104869102A (zh) 2015-08-26

Similar Documents

Publication Publication Date Title
CN104869102B (zh) 基于xAuth协议的授权方法、装置和系统
US11799656B2 (en) Security authentication method and device
US9992176B2 (en) Systems and methods for encrypted communication in a secure network
US10547602B2 (en) Communications methods and apparatus related to web initiated sessions
WO2016184216A1 (zh) 一种防止盗链的方法、防止盗链的服务器及客户端
CN105516980B (zh) 一种基于Restful架构的无线传感器网络令牌认证方法
CN102685749B (zh) 面向移动终端的无线安全身份验证方法
CN103179134A (zh) 基于Cookie的单点登录方法、系统及其应用服务器
WO2017192736A1 (en) Methods and apparatus for device authentication and secure data exchange between a server application and a device
Kaur et al. A secure two-factor authentication framework in cloud computing
US10257171B2 (en) Server public key pinning by URL
CN105516066B (zh) 一种对中间人的存在进行辨识的方法及装置
CN107145769A (zh) 一种数字版权管理drm方法、设备及系统
CN104463584B (zh) 实现移动端App安全支付的方法
Chen et al. Security analysis and improvement of user authentication framework for cloud computing
CN109347875A (zh) 物联网设备、物联网平台及接入物联网平台的方法和系统
CN107094156A (zh) 一种基于p2p模式的安全通信方法及系统
CN110166453A (zh) 一种基于se芯片的接口认证方法、系统及存储介质
CN1953452B (zh) 一种流媒体的动态认证及授权方法
CN109525565A (zh) 一种针对短信拦截攻击的防御方法及系统
CN109740319B (zh) 数字身份验证方法及服务器
Thakur et al. Cryptographically secure privacy-preserving authenticated key agreement protocol for an IoT network: A step towards critical infrastructure protection
CN110572392A (zh) 一种基于Hyperledger网络的身份认证方法
CN109495458A (zh) 一种数据传输的方法、系统及相关组件
CN104811421A (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