CN106911684A - 一种鉴权方法及系统 - Google Patents

一种鉴权方法及系统 Download PDF

Info

Publication number
CN106911684A
CN106911684A CN201710087135.XA CN201710087135A CN106911684A CN 106911684 A CN106911684 A CN 106911684A CN 201710087135 A CN201710087135 A CN 201710087135A CN 106911684 A CN106911684 A CN 106911684A
Authority
CN
China
Prior art keywords
character string
http request
client terminal
public key
authentication ciphering
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.)
Granted
Application number
CN201710087135.XA
Other languages
English (en)
Other versions
CN106911684B (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.)
Xi'an Yimai Software Technology Co.,Ltd.
Original Assignee
Wuhan Douyu Network Technology 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 Wuhan Douyu Network Technology Co Ltd filed Critical Wuhan Douyu Network Technology Co Ltd
Priority to CN201710087135.XA priority Critical patent/CN106911684B/zh
Priority to PCT/CN2017/076603 priority patent/WO2018149004A1/zh
Publication of CN106911684A publication Critical patent/CN106911684A/zh
Application granted granted Critical
Publication of CN106911684B publication Critical patent/CN106911684B/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/06Network architectures or network communication protocols for network security for supporting key management in a packet data network
    • H04L63/062Network architectures or network communication protocols for network security for supporting key management in a packet data network for key distribution, e.g. centrally by trusted party
    • 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
    • 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
    • H04L63/108Network architectures or network communication protocols for network security for controlling access to devices or network resources when the policy decisions are valid for a limited amount of time
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/002Countermeasures against attacks on cryptographic mechanisms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0643Hash functions, e.g. MD5, SHA, HMAC or f9 MAC

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)
  • Power Engineering (AREA)
  • Information Transfer Between Computers (AREA)
  • Storage Device Security (AREA)

Abstract

本发明提出一种鉴权方法及系统,所述方法在客户终端HTTP请求Header头信息中添加鉴权信息,最后进行鉴权操作。本发明具有如下有益效果:1、将鉴权信息加入HTTP请求Header头信息中,不会导致HTTP请求Header头信息中Url不一致;2、特殊的鉴权加密字符串生成算法能够有效的防止第三方的恶意模仿。

Description

一种鉴权方法及系统
技术领域
本发明涉及通信技术领域,更具体地,涉及一种鉴权方法及系统。
背景技术
目前,互联网软件产品从产品受众主要划分为两大类,包括面向终端消费者的大众类互联网产品,例如新浪微博Web端、知乎Web端等。这类产品的特点在于使用该类产品的对象是人类,大部分提供的媒体内容为无结构化的文本(例如小说、博客)、图片、音视频等。另一类产品面向的受众是计算机,即服务主要形式为提供编程接口的API(ApplicationProgramming Interface,应用程序接口),方便程序员利用该API进行二次开发。这类产品的特点在于服务的对象为计算机,提供的媒体内容大部分为结构化的文本,例如XML、JSON等。
鉴权(authentication)是指验证用户是否拥有访问系统的权利。传统的鉴权是通过密码来验证的。这种方式的前提是,每个获得密码的用户都已经被授权。在建立用户时,就为此用户分配一个密码,用户的密码可以由管理员指定,也可以由用户自行申请。这种方式的弱点十分明显:一旦密码被偷或用户遗失密码,情况就会十分麻烦,需要管理员对用户密码进行重新修改,而修改密码之前还要人工验证用户的合法身份。为了克服这种鉴权方式的缺点,需要一个更加可靠的鉴权方式。目前的主流鉴权方式是利用认证授权来验证数字签名的正确与否。
针对API型产品,目前对于接入其的对应用户终端鉴权常见的做法是利用相应的鉴权加密算法,生成与用户终端请求信息相对应的鉴权加密字符串与用户终端发送的请求信息一同发送给需要访问的服务器,服务器利用PHP(ertext Preprocessor,“超文本预处理器”)是一种通用开源脚本语言,进行鉴权操作。
然而,不同的大型科技公司由于自身安全考虑,都会设计各自的鉴权加密算法;同时,利用PHP进行鉴权操作不能满足很多情形下对于鉴权效率的更高要求。
发明内容
本发明为克服上述问题或者至少部分地解决上述问题,提供一种鉴权方法及系统。
根据本发明的一个方面,提供一种鉴权方法,包括:
步骤1,在所述客户终端HTTP请求Header头信息中添加HTTP请求中API接口公钥、当前客户终端时刻和鉴权加密字符串;
步骤2,接收所述客户终端HTTP请求,确认所述Header头信息中API接口公钥正确,确认所述客户终端时刻与当前服务器时刻差值小于预设阈值;
步骤3,确认所述鉴权加密字符串正确。
根据本发明的另一个方面,提供一种鉴权系统,包括加密模块、第一确认模块和第二确认模块:
所述加密模块与所述第一确认模块相连,用于生成鉴权加密字符串;在所述客户终端HTTP请求Header头信息中添加API接口公钥、当前客户终端时刻和鉴权加密字符串;
所述第一确认模块分别与所述加密模块和第二确认模块相连,用于接收所述客户终端HTTP请求,确认所述API接口公钥正确;确认所述客户终端时刻与当前服务器时刻差值小于预设阈值;
所述第二确认模块与所述第一确认模块相连,用于确认所述鉴权加密字符串正确。
本申请提出一种鉴权方法及系统,所述方法在客户终端HTTP请求Header头信息中添加鉴权信息,Nginx。本发明具有如下有益效果:1、将鉴权信息加入HTTP请求Header头信息中,不会导致HTTP请求Header头信息中Url不一致;2、特殊的鉴权加密字符串生成算法能够有效的防止第三方的恶意模仿。
附图说明
图1为根据本发明实施例一种鉴权方法的整体流程示意图;
图2为根据本发明实施例一种鉴权方法的流程示意图;
图3为根据本发明实施例一种鉴权系统的整体框架示意图。
具体实施方式
下面结合附图和实施例,对本发明的具体实施方式作进一步详细描述。以下实施例用于说明本发明,但不用来限制本发明的范围。
首先对于本发明具体实施例中涉及到的一些技术名词进行说明。
HTTP:从客户端到服务器端的请求消息。
Header:HTTP请求中所携带的Header头信息。
API(Application Programming Interface,应用程序编程接口):是一些预先定义的函数,目的是提供应用程序与开发人员基于某软件或硬件得以访问一组例程的能力,而又无需访问源码,或理解内部工作机制的细节。
公钥(Public Key)与私钥(Private Key)是通过一种算法得到的一个密钥对(即一个公钥和一个私钥),公钥是密钥对中公开的部分,私钥则是非公开的部分。公钥通常用于加密会话密钥、验证数字签名,或加密可以用相应的私钥解密的数据。通过这种算法得到的密钥对能保证在世界范围内是唯一的。使用这个密钥对的时候,如果用其中一个密钥加密一段数据,必须用另一个密钥解密。比如用公钥加密数据就必须用私钥解密,如果用私钥加密也必须用公钥解密,否则解密将不会成功。
公钥AID:API接口加密使用的公钥。
秘钥AID:API接口加密使用的秘钥,不对外,由服务器端提供。
MD5:Message Digest Algorithm MD5(信息-摘要算法5)。
GET请求:HTTP客户端发送请求的类型,表示向Web服务器请求一个文件。
Post请求:HTTP客户端发送请求的类型,表示向Web服务器发送数据让Web服务器进行处理。
鉴权加密字符串:根据一定规则生产的用于鉴权的加密字符串。
Nginx:是一款轻量级的Web服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务。
Proxy_cache:Nginx自带的内置缓存模块。
Url:统一资源标识符(Uniform Resource Identifier,或URI)是一个用于标识某一互联网资源名称的字符串。
lua是一个小巧的脚本语言,一个完整的Lua解释器不过200k,在目前所有脚本引擎中,Lua的速度是最快的。
如图1,示出本发明一个具体实施例中一种鉴权方法总体流程示意图。整体上,包括以下步骤:步骤1,在所述客户终端HTTP请求Header头信息中添加HTTP请求中API接口公钥、当前客户终端时刻和鉴权加密字符串;步骤2,接收所述客户终端HTTP请求,确认所述API接口公钥正确;确认所述客户终端时刻与当前服务器时刻差值小于预设阈值;步骤3,确认所述鉴权加密字符串正确。
在本发明上述具体实施例中,将加密信息客户终端HTTP请求Header头信息中不会导致HTTP请求Url不一致,不会因为请求Url不一致导致命中不了服务器缓存。
在本发明另一个具体实施例中,一种鉴权方法,所述步骤1中鉴权加密字符串通过以下步骤生成:S11,将所述HTTP请求中的统一资源标识符的第一个字符“/”删除;S12,将删除字符“/”得到的字符串和HTTP请求中API接口公钥、客户终端时刻,和所述客户终端HTTP请求中的get参数字符串按照预设排序规则进行排序;将所述排序后各字符串按顺序进行拼接;S13,在所述拼接后得到的字符串中指定位置插入API接口秘钥;得到鉴权加密字符串;将所述鉴权加密字符串转换为MD5码。
在本发明上述具体实施例中,通过特殊生成规则生成的鉴权加密字符串可以有效防止第三方爬虫或恶意攻击的侵扰,从而提高被访问服务器的安全性。由于MD5是一种不可逆的加密算法,安全性很高,广泛被用作判断文件完整性;所以将生成的鉴权加密字符串转换为MD5码,能够有效的防止最终鉴权加密字符串被反向破解,更高程度的保证了鉴权加密字符串的安全有效性。
在本发明另一个具体实施例中,一种鉴权方法,所述步骤2前还包括:确认所述客户终端HTTP请求Header头信息中同时包含API接口公钥、客户终端时刻和鉴权加密字符串。完成上述步骤后再执行步骤2的确认过程,避免在三个字段不全的全框架就执行步骤2确认操作,浪费不必要的服务器资源与时间。
在本发明另一个具体实施例中,一种鉴权方法,所述步骤3前还包括:将客户身份信息加入API接口公钥中,根据API接口公钥访问权限确认所述客户终端具有所述HTTP请求的权限。在本实施例中,可以将客户的身份信息加入所述API接口钥匙对中,需要执行所述步骤3的鉴权加密字符串操作前,检查所述HTTP请求包含的API接口公钥中的身份信息对应的访问权限是否能够支持所述客户终端具有所述HTTP请求的权限。
在本发明另一个具体实施例中,一种鉴权方法,所述步骤1中生成鉴权加密字符串还包括:S11’,确认所述HTTP请求中包含post信息;S12’,将所述post信息参数字符串与所述删除第一个字符“/”的统一资源标识符、API接口公钥、客户终端时刻和客户终端HTTP请求中的get参数字符串进行拼接,拼接后将上述各字符按预设排序规则进行排序;S13’,在排序后获得的字符串指定位置插入API接口秘钥,获得鉴权加密字符串;将所述鉴权加密字符串转换为MD5码。
在本发明另一个具体实施例中,一种鉴权方法,所述步骤2中的预设阈值≤5分钟。本实施例中预设阈值设置为5分钟的原因为:每次HTTP请求的Url都是有时间限制的,即使Url被抓包抓到了,最多也只能使用5分钟时间。所以,为了保证被鉴权后的HTTP请求还是有效的,应当将所述预设阈值设置为不超过5分钟。
在本发明另一个具体实施例中,一种鉴权方法,所述步骤1中预设排序规则为:按照所述各字符串首字母的升/降序进行排序。本实施例中的排序规则只是其中一种,将各字符串首字母在26字母表中的升/降序进行排序。本发明在实际操作不限于上述两种排序规则,只要是固定的打乱排序规则都能够实现本发明的字符串排序目的。
图2中,示出本发明另一个具体实施例一种鉴权方法整体流程示意图。总体上,包括以下步骤:
客户终端在HTTP请求Header头中附加公钥aid、客户端当前请求时间戳time、鉴权加密字符串auth。
上述具体加密auth生成算法如下:(1)请求的接口地址uri(即/api/thirdPart/live)部分,从第二位开始截取(即api/v1/live);(2)上述步骤获得的字符串与get参数、公钥aid和time拼接后,根据各参数字符串首字母名升序排序。所述公钥aid中包含客户身份信息。(3)在用户HTTP请求中包含post数据时,上一步骤排序后用&符号连接到get参数字符串后再进行上一步骤的排序操作,随后将秘钥插入所述字符串中指定位置,最后得出加密的字符串(api/thirdPart/live?aid=xxx&limit=10&offset=30&time=146 8897751+客户端密钥KEY+post参数字符串);并将所述字符串转换为MD5码。
服务器Nginx中lua模块检查Header里面是否同时包含aid、time、auth三个字段;服务器检查公钥aid的合法性;服务器检查客户端传过来的time和服务器的time误差是否在5分钟之内;服务器检查公钥AID访问权限范围;检查鉴权字符串是否正确。
利用Nginx的proxy_cache缓存功能,如果没有命中缓存就代理到php里面处理业务逻辑,命中了就直接返回。
在本发明另一个具体实施例中,一种鉴权方法,所述步骤2、3由Web服务器Nginx中的脚本语言lua模块执行。
Nginx:是一款轻量级的Web服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务。其特点是占有内存少,并发能力强,事实上Nginx的并发能力确实在同类型的网页服务器中表现较好。Lua是一个小巧的脚本语言,一个完整的Lua解释器不过200k,在目前所有脚本引擎中,Lua脚本处理的速度是最快的。将Lua实现的鉴权操作脚本作为一个模块嵌在所述Nginx中执行步骤2、3的鉴权操作相比现有技术中直接在PHP实现的鉴权操作中进行鉴权速度有明显的提升。
在本发明另一个具体实施例中,一种鉴权方法,所述步骤3后还包括:当所述HTTP请求的获取目标信息不在服务器缓存中时,利用所述Web服务器Nginx中的缓存模块proxy_cache代理到超文本预处理器中处理业务逻辑。Proxy_cache为Nginx自带的内置缓存模块。当所述HTTP请求没有在服务器缓存中获取到想要的信息时,Proxy_cache就代理到PHP处理业务逻辑。如果用户终端HTTP请求命中了服务器缓存就直接返回其需要的内容。
图3中,示出本发明一个具体实施例中一种鉴权系统整体结构示意图。总体上,包括加密模块A1、第一确认模块A2和第二确认模块A3:所述加密模块A1与所述第一确认模块A2相连,用于生成鉴权加密字符串;在所述客户终端HTTP请求Header头信息中添加API接口公钥、当前客户终端时刻和鉴权加密字符串;所述第一确认模块A2分别与所述加密模块A1和第二确认模块A3相连,用于接收所述客户终端HTTP请求,确认所述API接口公钥正确;确认所述客户终端时刻与当前服务器时刻差值小于预设阈值;所述第二确认模块A3与所述第一确认模块A2相连,用于确认所述鉴权加密字符串正确。
在本发明上述具体实施例中,将加密信息客户终端HTTP请求Header头信息中不会导致HTTP请求Url不一致,不会因为请求Url不一致导致命中不了服务器缓存。
在本发明另一个具体实施例中,一种鉴权系统,所述加密模块A1还包括鉴权加密字符串生成单元,用于将所述HTTP请求中的统一资源标识符的第一个字符“/”删除;将删除字符“/”得到的字符串和HTTP请求中API接口公钥、客户终端时刻和所述客户终端HTTP请求中的get参数字符串按照预设排序规则进行排序;将所述排序后各字符串按顺序进行拼接;在所述拼接后得到的字符串中指定位置插入API接口秘钥;得到鉴权加密字符串;将所述鉴权加密字符串转换为MD5码。
在本发明上述具体实施例中,鉴权加密字符串生成单元通过特殊生成规则生成的鉴权加密字符串可以有效防止第三方爬虫或恶意攻击的侵扰,从而提高被访问服务器的安全性。由于MD5是一种不可逆的加密算法,安全性很高,广泛被用作判断文件完整性;所以将生成的鉴权加密字符串转换为MD5码,能够有效的防止最终鉴权加密字符串被反向破解,更高程度的保证了鉴权加密字符串的安全有效性。
在本发明另一个具体实施例中,一种鉴权系统,所述第一确认单元还用于:确认所述客户终端HTTP请求Header头信息中同时包含API接口公钥、客户终端时刻和鉴权加密字符串。完成上述步骤后再执行步骤2的确认过程,避免在三个字段不全的全框架就执行步骤2确认操作,浪费不必要的服务器资源与时间。
在本发明另一个具体实施例中,一种鉴权系统,所述加密模块A1还用于将客户身份信息加入API接口公钥中;所述第一确认模块还用于根据API接口公钥访问权限确认所述客户终端具有所述HTTP请求的权限。在本实施例中,可以将客户的身份信息加入所述API接口钥匙对中,需要执行所述步骤3的鉴权加密字符串操作前,检查所述HTTP请求包含的API接口公钥中的身份信息对应的访问权限是否能够支持所述客户终端具有所述HTTP请求的权限。
在本发明另一个具体实施例中,一种鉴权系统,所述加密模块还用于确认所述HTTP请求中包含post信息,将所述post信息参数字符串与所述删除第一个字符“/”的统一资源标识符、API接口公钥、客户终端时刻和客户终端HTTP请求中的get参数字符串进行拼接,拼接后将上述各字符按预设排序规则进行排序;在排序后获得的字符串指定位置插入API接口秘钥,获得鉴权加密字符串;将所述鉴权加密字符串转换为MD5码。本发明具体实施例中,考虑到了当客户终端发送的HTTP请求中包含有POST信息时,可以将POST信息一起加入鉴权加密字符串中进行排序,从而增加鉴权加密字符串的复杂性,进而进一步提高服务器的安全性。
在本发明另一个具体实施例中,一种鉴权系统,所述第一确认模块中的预设阈值≤5分钟。本实施例中预设阈值设置为5分钟的原因为:每次HTTP请求的Url都是有时间限制的,即使Url被抓包抓到了,最多也只能使用5分钟时间。所以,为了保证被鉴权后的HTTP请求还是有效的,应当将所述预设阈值设置为不超过5分钟。
在本发明另一个具体实施例中,一种鉴权系统,所述加密模块中的预设排序规则为:按照所述各字符串首字母的升/降序进行排序。本实施例中的排序规则只是其中一种,将各字符串首字母在26字母表中的升/降序进行排序。本发明在实际操作不限于上述两种排序规则,只要是固定的打乱排序规则都能够实现本发明的字符串排序目的。
在本发明另一个具体实施例中,一种鉴权系统,所述第一确认模块、第二确认模块由Web服务器Nginx中的脚本语言lua模块实现。Nginx:是一款轻量级的Web服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务。其特点是占有内存少,并发能力强,事实上Nginx的并发能力确实在同类型的网页服务器中表现较好。Lua是一个小巧的脚本语言,一个完整的Lua解释器不过200k,在目前所有脚本引擎中,Lua脚本处理的速度是最快的。将Lua实现的鉴权操作脚本作为一个模块嵌在所述Nginx中执行步骤2、3的鉴权操作相比现有技术中直接在PHP实现的鉴权操作中进行鉴权速度有明显的提升。
在本发明另一个具体实施例中,一种鉴权系统,还包括代理模块,与所述第二确认模块A3相连,用于当所述HTTP请求的获取目标信息不在服务器缓存中时,利用所述Web服务器Nginx中的缓存模块proxy_cache代理到超文本预处理器中处理业务逻辑。Proxy_cache为Nginx自带的内置缓存模块。当所述HTTP请求没有在服务器缓存中获取到想要的信息时,Proxy_cache就代理到PHP处理业务逻辑。如果用户终端HTTP请求命中了服务器缓存就直接返回其需要的内容。
最后,本申请的方法仅为较佳的实施方案,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (10)

1.一种鉴权方法,其特征在于,包括:
步骤1,在所述客户终端HTTP请求Header头信息中添加HTTP请求中API接口公钥、当前客户终端时刻和鉴权加密字符串;
步骤2,接收所述客户终端HTTP请求,确认所述Header头信息中API接口公钥正确,确认所述客户终端时刻与当前服务器时刻差值小于预设阈值;
步骤3,确认所述鉴权加密字符串正确。
2.如权利要求1所述的方法,其特征在于,所述步骤1中鉴权加密字符串通过以下步骤生成:
S11,将所述HTTP请求中的统一资源标识符的第一个字符“/”删除;
S12,将删除字符“/”得到的字符串和HTTP请求中API接口公钥、客户终端时刻,和所述客户终端HTTP请求中的get参数字符串按照预设排序规则进行排序;将所述排序后各字符串按顺序进行拼接;
S13,在所述拼接后得到的字符串中指定位置插入API接口秘钥;得到鉴权加密字符串;将所述鉴权加密字符串转换为MD5码。
3.如权利要求1所述的方法,其特征在于,所述步骤2前还包括:确认所述客户终端HTTP请求Header头信息中同时包含API接口公钥、客户终端时刻和鉴权加密字符串。
4.如权利要求1所述的方法,其特征在于,所述步骤3前还包括:将客户身份信息加入API接口公钥中,根据API接口公钥访问权限确认所述客户终端具有所述HTTP请求的权限。
5.如权利要求1所述的方法,其特征在于,所述步骤1中生成鉴权加密字符串还包括:
S11’,确认所述HTTP请求中包含post信息;
S12’,将所述post信息参数字符串与所述删除第一个字符“/”的统一资源标识符、API接口公钥、客户终端时刻和客户终端HTTP请求中的get参数字符串进行拼接,拼接后将上述各字符按预设排序规则进行排序;
S13’,在排序后获得的字符串指定位置插入API接口秘钥,获得鉴权加密字符串;将所述鉴权加密字符串转换为MD5码。
6.如权利要求1所述的方法,其特征在于,所述步骤2中的预设阈值≤5分钟。
7.如权利要求2所述的方法,其特征在于,所述步骤1中预设排序规则为:按照所述各字符串按首字母的升/降序进行排序。
8.如权利要求2所述的方法,其特征在于,所述步骤2、3由Web服务器Nginx中的脚本语言lua模块执行。
9.如权利要求8所述的方法,其特征在于,所述步骤3后还包括:当所述HTTP请求的获取目标信息不在服务器缓存中时,利用所述Web服务器Nginx中的缓存模块proxy_cache代理到超文本预处理器中处理业务逻辑。
10.一种鉴权系统,其特征在于,包括加密模块、第一确认模块和第二确认模块:
所述加密模块与所述第一确认模块相连,用于生成鉴权加密字符串;在所述客户终端HTTP请求Header头信息中添加API接口公钥、当前客户终端时刻和鉴权加密字符串;
所述第一确认模块分别与所述加密模块和第二确认模块相连,用于接收所述客户终端HTTP请求,确认所述API接口公钥正确;确认所述客户终端时刻与当前服务器时刻差值小于预设阈值;
所述第二确认模块与所述第一确认模块相连,用于确认所述鉴权加密字符串正确。
CN201710087135.XA 2017-02-17 2017-02-17 一种鉴权方法及系统 Active CN106911684B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201710087135.XA CN106911684B (zh) 2017-02-17 2017-02-17 一种鉴权方法及系统
PCT/CN2017/076603 WO2018149004A1 (zh) 2017-02-17 2017-03-14 一种鉴权方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710087135.XA CN106911684B (zh) 2017-02-17 2017-02-17 一种鉴权方法及系统

Publications (2)

Publication Number Publication Date
CN106911684A true CN106911684A (zh) 2017-06-30
CN106911684B CN106911684B (zh) 2020-06-16

Family

ID=59207671

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710087135.XA Active CN106911684B (zh) 2017-02-17 2017-02-17 一种鉴权方法及系统

Country Status (2)

Country Link
CN (1) CN106911684B (zh)
WO (1) WO2018149004A1 (zh)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107483563A (zh) * 2017-07-31 2017-12-15 九次方大数据信息集团有限公司 防爬虫的数据查询方法和装置以及客户端和服务器
CN107733635A (zh) * 2017-11-29 2018-02-23 四川长虹电器股份有限公司 基于网关的数据安全传输方法
CN108897898A (zh) * 2018-07-26 2018-11-27 广东浪潮大数据研究有限公司 一种静态网站托管数据访问的方法、系统及服务器
CN109150865A (zh) * 2018-08-07 2019-01-04 厦门市美亚柏科信息股份有限公司 一种移动终端app通讯协议的保护、装置及存储介质
CN109522726A (zh) * 2018-10-16 2019-03-26 平安万家医疗投资管理有限责任公司 小程序的鉴权方法、服务器及计算机可读存储介质
CN110636041A (zh) * 2019-08-09 2019-12-31 西藏宁算科技集团有限公司 一种基于OpenResty的云端鉴权方案实现方法及系统
CN111083681A (zh) * 2019-11-20 2020-04-28 广州小鹏汽车科技有限公司 近距离通信数据加密方法、终端设备及车辆
CN112491549A (zh) * 2020-12-08 2021-03-12 平安国际智慧城市科技股份有限公司 数据信息加密校验方法、系统及计算机可读存储介质

Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020158904A1 (en) * 2001-04-25 2002-10-31 Gunter Carl A. Method for automatically generating list of meeting participants and delegation permission
CN101534196A (zh) * 2008-03-12 2009-09-16 因特伟特公司 用于安全调用rest api的方法和装置
CN103701761A (zh) * 2012-09-28 2014-04-02 中国电信股份有限公司 开放接口调用的认证方法与系统
CN105022952A (zh) * 2014-04-28 2015-11-04 深圳市茁壮网络股份有限公司 一种中间件授权认证方法及装置
CN105262592A (zh) * 2015-09-18 2016-01-20 浪潮(北京)电子信息产业有限公司 一种数据交互的方法及api接口
CN105306473A (zh) * 2015-11-05 2016-02-03 北京奇虎科技有限公司 一种防止注入攻击的方法、客户端、服务器和系统
CN105306534A (zh) * 2015-09-21 2016-02-03 拉扎斯网络科技(上海)有限公司 一种基于开放平台的信息校验方法和开放平台
CN105407102A (zh) * 2015-12-10 2016-03-16 四川长虹电器股份有限公司 http请求数据可靠性验证方法
CN105450730A (zh) * 2015-11-05 2016-03-30 北京奇虎科技有限公司 一种处理客户端请求的方法和装置
CN105681470A (zh) * 2012-03-29 2016-06-15 北京奇虎科技有限公司 基于超文本传输协议的通信方法、服务器、终端
CN106101258A (zh) * 2016-07-08 2016-11-09 腾讯科技(深圳)有限公司 一种混合云的接口调用方法、装置及系统

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8181227B2 (en) * 2006-08-29 2012-05-15 Akamai Technologies, Inc. System and method for client-side authenticaton for secure internet communications
KR101434569B1 (ko) * 2007-04-06 2014-08-27 삼성전자 주식회사 홈 네트워크에서 보안 서비스를 제공하는 장치 및 방법
CN102739671B (zh) * 2012-06-26 2015-11-04 中国电力科学研究院 一种电力系统协同计算中的桌面虚拟化及应用展示平台

Patent Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020158904A1 (en) * 2001-04-25 2002-10-31 Gunter Carl A. Method for automatically generating list of meeting participants and delegation permission
CN101534196A (zh) * 2008-03-12 2009-09-16 因特伟特公司 用于安全调用rest api的方法和装置
CN105681470A (zh) * 2012-03-29 2016-06-15 北京奇虎科技有限公司 基于超文本传输协议的通信方法、服务器、终端
CN103701761A (zh) * 2012-09-28 2014-04-02 中国电信股份有限公司 开放接口调用的认证方法与系统
CN105022952A (zh) * 2014-04-28 2015-11-04 深圳市茁壮网络股份有限公司 一种中间件授权认证方法及装置
CN105262592A (zh) * 2015-09-18 2016-01-20 浪潮(北京)电子信息产业有限公司 一种数据交互的方法及api接口
CN105306534A (zh) * 2015-09-21 2016-02-03 拉扎斯网络科技(上海)有限公司 一种基于开放平台的信息校验方法和开放平台
CN105306473A (zh) * 2015-11-05 2016-02-03 北京奇虎科技有限公司 一种防止注入攻击的方法、客户端、服务器和系统
CN105450730A (zh) * 2015-11-05 2016-03-30 北京奇虎科技有限公司 一种处理客户端请求的方法和装置
CN105407102A (zh) * 2015-12-10 2016-03-16 四川长虹电器股份有限公司 http请求数据可靠性验证方法
CN106101258A (zh) * 2016-07-08 2016-11-09 腾讯科技(深圳)有限公司 一种混合云的接口调用方法、装置及系统

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107483563A (zh) * 2017-07-31 2017-12-15 九次方大数据信息集团有限公司 防爬虫的数据查询方法和装置以及客户端和服务器
CN107733635A (zh) * 2017-11-29 2018-02-23 四川长虹电器股份有限公司 基于网关的数据安全传输方法
CN107733635B (zh) * 2017-11-29 2020-10-09 四川长虹电器股份有限公司 基于网关的数据安全传输方法
CN108897898A (zh) * 2018-07-26 2018-11-27 广东浪潮大数据研究有限公司 一种静态网站托管数据访问的方法、系统及服务器
CN109150865A (zh) * 2018-08-07 2019-01-04 厦门市美亚柏科信息股份有限公司 一种移动终端app通讯协议的保护、装置及存储介质
CN109522726A (zh) * 2018-10-16 2019-03-26 平安万家医疗投资管理有限责任公司 小程序的鉴权方法、服务器及计算机可读存储介质
CN110636041A (zh) * 2019-08-09 2019-12-31 西藏宁算科技集团有限公司 一种基于OpenResty的云端鉴权方案实现方法及系统
CN111083681A (zh) * 2019-11-20 2020-04-28 广州小鹏汽车科技有限公司 近距离通信数据加密方法、终端设备及车辆
CN111083681B (zh) * 2019-11-20 2023-08-29 广州小鹏汽车科技有限公司 近距离通信数据加密方法、终端设备及车辆
CN112491549A (zh) * 2020-12-08 2021-03-12 平安国际智慧城市科技股份有限公司 数据信息加密校验方法、系统及计算机可读存储介质

Also Published As

Publication number Publication date
WO2018149004A1 (zh) 2018-08-23
CN106911684B (zh) 2020-06-16

Similar Documents

Publication Publication Date Title
CN106911684A (zh) 一种鉴权方法及系统
US10798081B2 (en) Method, apparatus, and system for providing a security check
US10999272B2 (en) Authenticating and authorizing users with JWT and tokenization
WO2017028804A1 (zh) 一种Web实时通信平台鉴权接入方法及装置
US9853964B2 (en) System and method for authenticating the legitimacy of a request for a resource by a user
US8381272B1 (en) Systems and methods for strengthening web credentials
CN106576041A (zh) 客户端与服务器之间相互验证的方法
CN108322416B (zh) 一种安全认证实现方法、装置及系统
US11770385B2 (en) Systems and methods for malicious client detection through property analysis
CN110826049B (zh) 基于智慧企业门户的单点登录实现系统
CN107517194B (zh) 一种内容分发网络的回源认证方法和装置
US20210399897A1 (en) Protection of online applications and webpages using a blockchain
CN104579657A (zh) 身份认证方法及装置
WO2015179640A1 (en) Method, apparatus, and system for providing a security check
CN113055357B (zh) 单包验证通信链路可信的方法、装置、计算设备及存储介质
CN110572392A (zh) 一种基于Hyperledger网络的身份认证方法
CN112566121B (zh) 一种防止攻击的方法及服务器、存储介质
CN110830493B (zh) 基于智慧企业门户的单点登录实现方法
WO2021078062A1 (zh) Ssl证书校验方法、装置、设备及计算机存储介质
CN116527341A (zh) 一种客户端调用后端接口鉴权授权安全方法
CN111385258A (zh) 一种数据通信的方法、装置、客户端、服务器和存储介质
US20220343095A1 (en) Fingerprint-Based Device Authentication
CN112565156B (zh) 信息注册方法、装置和系统
CN115361683B (zh) 一种业务访问方法、sim卡、服务器及业务平台
CN113381978B (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
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20240426

Address after: 710000, Room 418-012, 4th Floor, Sigma Building, Fenghui South Road, High tech Zone, Xi'an City, Shaanxi Province

Patentee after: Xi'an Yimai Software Technology Co.,Ltd.

Country or region after: China

Address before: 430000 Wuhan Donghu Development Zone, Wuhan, Hubei Province, No. 1 Software Park East Road 4.1 Phase B1 Building 11 Building

Patentee before: WUHAN DOUYU NETWORK TECHNOLOGY Co.,Ltd.

Country or region before: China