CN105491001A - 一种安全通讯方法和装置 - Google Patents

一种安全通讯方法和装置 Download PDF

Info

Publication number
CN105491001A
CN105491001A CN201510243743.6A CN201510243743A CN105491001A CN 105491001 A CN105491001 A CN 105491001A CN 201510243743 A CN201510243743 A CN 201510243743A CN 105491001 A CN105491001 A CN 105491001A
Authority
CN
China
Prior art keywords
client
request
token
state
server
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
CN201510243743.6A
Other languages
English (en)
Other versions
CN105491001B (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.)
Rui Digital Information Technology (shanghai) Co Ltd
Original Assignee
Rui Digital Information Technology (shanghai) 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 Rui Digital Information Technology (shanghai) Co Ltd filed Critical Rui Digital Information Technology (shanghai) Co Ltd
Priority to CN201510243743.6A priority Critical patent/CN105491001B/zh
Publication of CN105491001A publication Critical patent/CN105491001A/zh
Priority to PCT/CN2016/079838 priority patent/WO2016180202A1/zh
Priority to US15/147,780 priority patent/US20170012978A1/en
Application granted granted Critical
Publication of CN105491001B publication Critical patent/CN105491001B/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/0884Network architectures or network communication protocols for network security for authentication of entities by delegation of authentication, e.g. a proxy authenticates an entity to be authenticated on behalf of this entity vis-à-vis an authentication entity
    • 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/0876Network architectures or network communication protocols for network security for authentication of entities based on the identity of the terminal or configuration, e.g. MAC address, hardware or software configuration or device fingerprint
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • G06F21/33User authentication using certificates
    • G06F21/335User authentication using certificates for accessing specific resources, e.g. using Kerberos tickets
    • 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
    • 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/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/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/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1408Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1441Countermeasures against malicious traffic
    • H04L63/1458Denial of Service
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1441Countermeasures against malicious traffic
    • H04L63/1466Active attacks involving interception, injection, modification, spoofing of data unit addresses, e.g. hijacking, packet injection or TCP sequence number attacks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1441Countermeasures against malicious traffic
    • H04L63/1491Countermeasures against malicious traffic using deception as countermeasure, e.g. honeypots, honeynets, decoys or entrapment
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/564Enhancement of application control based on intercepted application data
    • 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/40Network security protocols
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2151Time stamp
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/02Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
    • H04L63/0281Proxies
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Power Engineering (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Computer And Data Communications (AREA)

Abstract

本发明提供了一种安全通讯的方法和装置,在客户端和服务器之间设置安全代理设备;所述安全代理设备接收到服务器返回给客户端的数据后,为所述客户端分配令牌,将所述令牌、所述服务器返回给客户端的数据以及执行模块发送给所述客户端;接收运行于所述客户端的所述执行模块利用所述令牌发送的请求,对所述令牌进行验证,如果验证通过,则将所述请求转发给所述服务器。本发明提高了客户端与服务器之间通讯的安全性,并能防护各类对服务器的自动化攻击。

Description

一种安全通讯方法和装置
【技术领域】
本发明涉及数据安全技术领域,特别涉及一种安全通讯方法和装置。
【背景技术】
随着网络技术的迅速发展,无论是移动设备的客户端还是PC的客户端与服务器之前的通讯都面临严峻的安全问题。该安全问题主要涉及:对服务器的自动化攻击、通讯数据的外泄、中间人对服务器的非法攻击、非法客户端对服务器的访问,等等。
【发明内容】
有鉴于此,本发明提供了一种安全通讯方法和装置,以便于提高客户端与服务器之间通讯的安全性。
具体技术方案如下:
本发明提供了一种安全通讯的方法,该方法由设置于客户端和服务器之间的安全代理设备执行,该方法包括:
S1、接收到服务器返回给客户端的数据后,为所述客户端分配令牌,将所述令牌、所述服务器返回给客户端的数据以及执行模块发送给所述客户端;
S2、接收运行于所述客户端的所述执行模块利用所述令牌发送的请求,对所述令牌进行验证,如果验证通过,则将所述请求转发给所述服务器。
根据本发明一优选实施方式,该方法还包括:
接收到所述客户端向所述服务器发送的请求后,判断是否已为该客户端分配有效的令牌,如果否,则将该请求转发给服务器;如果是,则判断该请求是否携带令牌,如果携带,则执行所述对所述令牌进行验证的步骤。
根据本发明一优选实施方式,该方法还包括:
对所述请求进行合法性验证,如果验证失败,则拒绝对所述请求进行处理。
根据本发明一优选实施方式,所述合法性验证包括以下一种或任意组合:
验证请求的协议头是否符合协议规定的类型;
对请求的协议头和请求地址进行语法验证;
验证请求的协议头和请求地址是否包含攻击代码;以及,
对请求的请求地址进行身份验证。
根据本发明一优选实施方式,为所述客户端分配令牌包括:采用访问令牌密钥对包含访问密钥的数据进行加密后,得到访问令牌;
在所述S2中,所述执行模块发送的请求携带所述访问令牌。
根据本发明一优选实施方式,所述包含访问密钥的数据还包括以下数据中的一种或任意组合:
时间戳、令牌序列号、请求地址的哈希值以及客户端状态值;
其中所述客户端状态值是依据客户端所发送请求是否携带正确的令牌或者是否合法进行设置的。
根据本发明一优选实施方式,为所述客户端分配令牌还包括客户端状态请求令牌;
在所述S1中发送给客户端的还包括:所述客户端状态请求令牌和客户端状态请求密钥;
在所述S1和所述S2之间,还包括:
S31、接收所述执行模块发送的客户端状态请求令牌;
S32、验证所述客户端状态请求令牌合法后,为客户端分配客户端状态令牌,将利用所述客户端状态请求密钥加密后的客户端状态令牌发送给所述客户端;
在所述S2中,所述执行模块发送的请求进一步携带所述客户端状态令牌。
根据本发明一优选实施方式,所述客户端状态请求令牌是利用客户端状态请求令牌密钥对包含客户端状态请求密钥的数据进行加密后得到的。
根据本发明一优选实施方式,在所述S32中,对所述客户端状态请求令牌是否合法的验证包括:
判断接收到的所述客户端状态请求令牌是否是为该客户端分配的客户端状态请求令牌且未被客户端使用过,如果是,则确定所述客户端状态请求令牌合法;否则,确定所述客户端状态请求令牌不合法。
根据本发明一优选实施方式,所述客户端状态请求密钥包括:客户端状态请求加密密钥和客户端请求哈希密钥;
在所述S32中利用所述客户端状态请求加密密钥对客户端状态令牌进行加密;
在所述S31中还接收到利用所述客户端状态请求加密密钥加密的随机数和利用所述客户端请求哈希密钥对所述随机数取哈希得到的哈希值;
在所述S32中进一步包括:利用所述客户端状态请求加密密钥对接收到的随机数进行解密,然后利用所述哈希值对解密得到的随机数进行验证;验证通过后,执行所述为客户端分配客户端状态令牌的步骤。
根据本发明一优选实施方式,在所述S2中,如果对所述令牌进行验证失败,或者接收到的请求不携带所述令牌,则拒绝对所述请求进行转发。
根据本发明一优选实施方式,在所述S1中发送给客户端的还包括:非法攻击诱捕模块,所述非法攻击诱捕模块包含伪造的URL;
如果检测到针对所述伪造的URL的请求,则确定发送针对所述伪造的URL的请求的客户端为具有攻击性的客户端。
根据本发明一优选实施方式,在所述S1中还包括:将所述访问密钥发送给所述客户端;
在所述S2中,将所述请求转发给所述服务器包括:利用所述访问密钥对请求包含的数据进行解密,将解密后的请求转发给所述服务器。
本发明还提供了一种安全通讯的装置,该装置设置于客户端和服务器之间的安全代理设备,该装置包括:响应处理单元、令牌管理单元和请求处理单元;
所述响应处理单元,用于接收服务器返回给客户端的数据,将为所述客户端分配的令牌、所述服务器返回给客户端的数据以及执行模块发送给所述客户端;
所述令牌管理单元,用于在所述响应处理单元接收到服务器返回给客户端的数据后,为所述客户端分配令牌;对所述请求处理单元提供的令牌进行验证;
所述请求处理单元,用于接收运行于所述客户端的所述执行模块利用所述令牌发送的请求,将所述令牌提供给所述令牌管理单元,如果所述令牌验证通过,则将所述请求转发给所述服务器。
根据本发明一优选实施方式,所述请求处理单元,还用于接收到所述客户端向所述服务器发送的请求后,触发所述令牌管理单元判断是否已为该客户端分配有效的令牌,如果所述令牌管理单元的判断结果为否,则将该请求转发给服务器;如果所述令牌管理单元的判断结果为是,则判断该请求是否携带令牌,如果携带,则执行将所述令牌提供给所述令牌管理单元的操作。
根据本发明一优选实施方式,所述请求处理单元,还用于对所述请求进行合法性验证,如果验证失败,则拒绝对所述请求进行处理。
根据本发明一优选实施方式,所述请求处理单元,还用于对所述请求执行以下合法性验证中的一种或任意组合:
验证请求的协议头是否符合协议规定的类型;
对请求的协议头和请求地址进行语法验证;
验证请求的协议头和请求地址是否包含攻击代码;以及,
对请求的请求地址进行身份验证。
根据本发明一优选实施方式,所述令牌管理单元在为所述客户端分配令牌时,具体采用访问令牌密钥对包含访问密钥的数据进行加密后,得到访问令牌;
所述执行模块发送的请求携带所述访问令牌。
根据本发明一优选实施方式,所述包含访问密钥的数据还包括以下数据中的一种或任意组合:
时间戳、令牌序列号、请求地址的哈希值以及客户端状态值;
其中所述客户端状态值是依据客户端所发送请求是否携带正确的令牌或者是否合法进行设置的。
根据本发明一优选实施方式,该装置还包括:状态验证单元;
所述令牌管理单元在为所述客户端分配令牌时,进一步分配客户端状态请求令牌;受到所述状态验证单元的触发后,为所述客户端分配客户端状态令牌;
所述响应处理单元在将为所述客户端分配的令牌、所述服务器返回给客户端的数据以及执行模块发送给所述客户端时,进一步发送所述客户端状态请求令牌和客户端状态请求密钥;
所述状态验证单元,用于接收所述执行模块发送的客户端状态请求令牌;验证所述客户端状态请求令牌合法后,触发所述令牌管理单元为客户端分配客户端状态令牌;将利用所述客户端状态请求密钥加密后的客户端状态令牌发送给所述客户端;
所述执行模块发送的请求进一步携带所述客户端状态令牌。
根据本发明一优选实施方式,所述令牌管理单元在为客户端分配客户端状态令牌时,具体利用客户端状态请求令牌密钥,对包含客户端状态请求密钥的数据进行加密后,得到所述客户端状态令牌。
根据本发明一优选实施方式,所述状态验证单元在验证所述客户端状态请求令牌是否合法时,具体用于:
判断接收到的所述客户端状态请求令牌是否是为该客户端分配的客户端状态请求令牌且未被客户端使用过,如果是,则确定所述客户端状态请求令牌合法;否则,确定所述客户端状态请求令牌不合法。
根据本发明一优选实施方式,所述客户端状态请求密钥包括:客户端状态请求加密密钥和客户端请求哈希密钥;
所述状态验证单元具体利用所述客户端状态请求加密密钥对客户端状态令牌进行加密;
所述状态验证单元还接收到利用所述客户端状态请求加密密钥加密的随机数和利用所述客户端请求哈希密钥对所述随机数取哈希得到的哈希值;利用所述客户端状态请求加密密钥对接收到的随机数进行解密,然后利用所述哈希值对解密得到的随机数进行验证;验证通过后,执行所述触发令牌管理单元为客户端分配客户端状态令牌的操作。
根据本发明一优选实施方式,如果所述令牌验证失败,或者接收到的请求不携带所述令牌,则所述请求处理单元拒绝对所述请求进行转发。
根据本发明一优选实施方式,所述响应处理单元在将为所述客户端分配的令牌、所述服务器返回给客户端的数据以及执行模块发送给所述客户端时,进一步发送非法攻击诱捕模块,所述非法攻击诱捕模块包含伪造的URL;
该装置还包括:非法攻击检测单元,用于如果检测到针对所述伪造的URL的请求,则确定发送针对所述伪造的URL的请求的客户端为具有攻击性的客户端。
根据本发明一优选实施方式,所述响应处理单元在将为所述客户端分配的令牌、所述服务器返回给客户端的数据以及执行模块发送给所述客户端时,进一步将所述访问密钥发送给所述客户端;
所述请求处理单元在将所述请求转发给所述服务器时,利用所述访问密钥对请求包含的数据进行解密,将解密后的请求转发给所述服务器。
由以上技术方案可以看出,本发明在客户端和服务器之间设置安全代理设备,由安全代理设备完成客户端和服务器之间请求和数据的转发,并且通过向客户端注入执行模块,使得客户端利用安全代理设备为客户端分配的令牌发送请求,从而实现对客户端的访问控制,提高了客户端与服务器之间通讯的安全性,并有效保护服务器的安全。
【附图说明】
图1为本发明所基于的系统结构图;
图2为本发明实施例提供的方法流程图;
图3为本发明实施例提供的装置结构图。
【具体实施方式】
为了使本发明的目的、技术方案和优点更加清楚,下面结合附图和具体实施例对本发明进行详细描述。
本发明实施例基于如图1中所示的系统架构,在该系统中,客户端与服务器之间设置有安全代理设备(可为硬件、软件及虚拟机等形态),该安全代理设备作为中间设备,负责客户端与服务器之间的通讯安全,客户端与服务器之间交互的数据必须经由安全代理设备转发。为了实现安全代理设备对客户端与服务器之间交互数据的转发,可以预先采用但不限于以下网络设置方式:
第一种方式:将安全代理设备组网于服务器的入口位置,该组网方式使得客户端与服务器之间交互的数据必须经由安全代理设备。
第二种方式:在域名解析系统(DNS,DomainNameSystem)中设置将指向服务器的域名解析为安全代理设备的IP地址,这样发送给服务器的数据将会被发送给安全代理设备,然后设置安全代理设备接收到来自客户端的数据均发送给服务器。
在本发明实施例中安全代理设备的功能主要表现为以下几个方面,具体功能实现将在后续实施例中详细描述:
1)对于尚未分配令牌的客户端发送的请求,若是访问指定入口(即是客户端发送给指定服务器的请求),则直接转发给服务器,并转发服务器返回的数据给客户端;否则,拒绝该请求。
2)对请求或数据内容的安全性进行验证。
3)在将服务器返回的数据转发给客户端时,为客户端分配令牌和令牌密钥,并连同执行模块和数据一通发送给客户端。
4)利用为客户端分配的令牌密钥,对客户端发送的请求进行解密、
5)接收到客户端发送的请求时,基于连同请求发送的令牌对客户端进行访问控制。
图2为本发明实施例提供的方法流程图,如图2中所示,该方法可以包括以下步骤:
在201中,安全代理设备接收来自客户端的请求,该请求表示为req,对该请求进行合法性验证,如果验证通过,则继续执行202。如果验证失败,则拒绝对该请求的处理。
其中对该请求进行的合法性验证可以包括但不限于:
1)对该请求的协议头(Header)进行合法性验证,即验证是否符合协议规定的类型,如果是,则验证通过,否则验证失败。
2)对该请求的Header和请求地址的语法进行验证,即验证其语法是否符合协议规定的语法要求,如果是,则验证通过,否则验证失败。这里的请求地址指的是所请求的资源地址,可以体现为URL。
3)对该请求的Header和请求地址是否包含攻击内容进行验证,即验证其是否包含攻击代码,如果是,则验证失败,否则验证通过。该验证可以基于黑名单或者基于攻击代码的特征来实现。
4)对请求地址进行身份验证,可以基于白名单或黑名单的方式,例如验证请求地址是否在白名单中,如果是,则验证通过,否则验证失败。
在202中,安全代理设备将该请求转发至服务器。
步骤201~202所示的情况可以是该客户端首次发送请求给安全代理设备,安全代理设备尚未分配令牌给该客户端,若该请求是发送给指定服务器的,则直接转发该客户端的请求至服务器。
如果客户端发送的请求并非是发送给指定服务器的,那么安全代理设备可以拒绝该请求。
另外,在安全代理设备中可以对服务器返回的数据进行本地存储,因此在将请求转发至服务器之前,可以首先判断该请求所请求的数据是否在本地存储有,且是最新数据,如果是,则安全代理设备可以直接利用本地存储的数据执行204,否则执行203。其中在判断本地存储的数据是否为最新时,可以根据数据的老化时间来判断,也可以通过与服务器交互数据版本号的方式来判断,在此不再详述。
在203中,安全代理设备接收服务器返回的数据,图中标识为Data。还可以进一步对该数据进行验证,例如验证该数据是否存在攻击内容,验证数据的正确性等等。如果通过验证,服务器可以执行204,还可以进一步将该数据在安全代理设备本地进行存储。
在204中,安全代理设备为客户端分配令牌和令牌密钥,将令牌、令牌密钥、服务器返回的数据以及执行模块发送给客户端。
其中分配的令牌可以包括访问令牌AccessToken,该AccessToken可以采用访问令牌密钥tek-AT对包含访问密钥AccessKey的数据进行加密后得到。例如,该AccessToken可以采用tek-AT对访问密钥AccessKey、时间戳Timestamp、令牌序列号TokenSerialNumber、上述的请求地址的哈希值以及状态值Status进行加密后得到,可以表示为:
Etek-AT(AccessKey,Timestamp,TokenSerialNumber,Hash(请求地址),Status,Hash)
其中,tek-AT仅在安全代理设备上设置。
AccessKey用于后续运行于客户端的执行模块,在向服务器发送请求时,加密该请求时使用。
TokenSerialNumber用于指示Token的序列号,安全代理设备分配令牌时,每次分配的TokenSerialNumber都不同,但对于同一步骤中分配的不同类型的TokenSerialNumber是相同的。例如本步骤中除了AccessToken之外,还可以分配客户端状态请求令牌ClientStatusRequestToken,这两个Token采用相同的TokenSerialNumber。
Status用于标识客户端的状态,正常情况下,合法状态设置该Status的值1,当来自该客户端的请求在设定时间内有超过预设阈值数量的请求是不携带客户端状态令牌ClientStatusToken的,或者接收到来自该客户端的大量非法请求时,设置该Status的值为0(对于后续携带Status的值为0的请求,安全代理可直接或以随机的方式,拒绝该请求)。关于客户端请求携带ClientStatusToken的情形将在后续描述中涉及。
最后的Hash,表示对之前的参数AccessKey,Timestamp,TokenSerialNumber,Hash(请求地址),Status取哈希后得到的哈希值,主要用于该数据的接收者来验证数据完整性。后续涉及到的Hash也是此含义,不再赘述。
更进一步地,安全代理设备还可以为客户端分配客户端状态请求令牌ClientStatusRequestToken,连同该ClientStatusRequestToken发送的还包括客户端状态请求密钥ClientStatusRequestKey。该ClientStatusRequestToken可以采用客户端状态请求令牌密钥tek-CSRT对包含ClientStatusRequestKey的数据进行加密后得到,例如,该ClientStatusRequestToken可以采用tek-CSRT时间戳Timestamp、令牌序列号TokenSerialNumber、当前地址的哈希值和ClientStatusRequestKey进行加密后得到,可以表示为:
Etek-CSRT(Timestamp,TokenSerialNumber,Hash(请求地址),ClientStatusRequestKey,Hash)
其中,tek-CSRT仅在安全代理设备设置。
发送给客户端的执行模块可以采用客户端代码的形式,该执行模块可以运行于客户端,使得客户端一方面能够执行后续步骤205以检查客户端状态,另一方面能够执行后续步骤207,即按照步骤207的方式向服务器发送请求。
上述令牌、令牌密钥、服务器返回的数据以及执行模块可以插入返回给客户端的数据报文中。更进一步地,插入该数据报文的还可以包括:安全代理设备加密缓存信息ProxyEncryptedCookie以及非法攻击诱捕模块。其中ProxyEncryptedCookie主要用于携带针对该客户端的会话信息或上下文信息,以方便在安全代理设备出现故障切换至另外一个安全代理设备处理时,能够根据这些会话信息或上下文信息继续进行处理,从而提高可靠性。非法攻击诱捕模块中可以设置一些伪造的URL,如果接收到该数据的客户端是具有攻击性的客户端,通常该客户端中运行的非法代码会获取到这些伪造的URL,从而发起攻击,那么就会有该客户端设备发送至该伪造的URL的请求,就能够识别出该客户端为具有攻击性的客户端。
在205中,客户端的执行模块利用ClientStatusRequestKey对随机数R-CSRT进行加密后,将加密后的随机数与分配给客户端的ClientStatusRequestToken发送给安全代理设备,R-CSRT是客户端的执行模块产生的随机数。
其中,ClientStatusRequestKey可以包含两个独立的密钥:客户端状态请求加密密钥ClientStatusRequestEncryptionKey和客户端请求哈希密钥ClientStatusRequestHashKey,在对R-CSRT进行加密时,可以采用ClientStatusRequestEncryptionKey对R-CSRT进行加密,表示为ECSREK(R-CSRT),另外采用ClientStatusRequestHashKey对R-CSRT取哈希值,表示为HCSRHK(R-CSRT)。将ECSREK(R-CSRT)、HCSRHK(R-CSRT)连同ClientStatusRequestToken发送给安全代理设备。
安全代理服务器每次分配的ClientStatusRequestToken均是不同的,保证每个ClientStatusRequestToken只能被使用一次。
在206中,安全代理设备检查接收到的ClientStatusRequestToken是否合法以及对接收到的随机数R-CSRT进行验证,如果ClientStatusRequestToken合法,且随机数通过验证,则利用ClientStatusRequestKey对包含ClientStatusToken的数据进行加密后返回客户端。
其中,如果ClientStatusRequestToken是为该客户端分配的ClientStatusRequestToken,且未被客户端使用过,则可以认为ClientStatusRequestToken合法;如果ClientStatusRequestToken已经被客户端使用过或者并非为该客户端分配的ClientStatusRequestToken,则可以认为ClientStatusRequestToken非法。
在对接收到的随机数R-CSRT进行验证时,可以利用ClientStatusRequestEncryptionKey对ECSREK(R-CSRT)进行解密后得到R-CSRT、然后利用HCSRHK(R-CSRT)对R-CSRT进行验证,
在利用ClientStatusRequestKey对包含ClientStatusToken的数据进行加密时,可以具体利用ClientStatusRequestEncryptionKey对R-CSRT、R-CST、ClientStatusToken进行加密,表示为:
ECSREK(R-CST,R-CSRT,ClientStatusToken,Hash)。
另外,在返回ECSREK(R-CST,R-CSRT,ClientStatusToken,Hash)之前,还可以进一步验证ProxyEncryptedCookie(执行模块可以将安全代理设备发送给客户端的ProxyEncryptedCookie再反馈回来),即验证执行模块发送的ProxyEncryptedCookie与自身存储的ProxyEncryptedCookie是否一致,如果一致,则通过验证,如果不一致,则不通过验证。
还可以进一步检查Timestamp是否过期。
当ProxyEncryptedCookie验证通过且Timestamp未过期时,向客户端返回ECSREK(R-CST,R-CSRT,ClientStatusToken,Hash)。
其中,ClientStatusToken是利用客户端状态令牌密钥tek-CST对时间戳Timestamp、令牌序列号TokenSerialNumber、请求地址的哈希值以及状态值Status进行加密后得到的,可以表示为:
Etek-CST(Timestamp,TokenSerialNumber,Hash(请求地址),Status’,Hash)
其中,Status’用于指示接收到的ClientStatusRequestToken是否合法。当接收到的ClientStatusRequestToken合法时,Status’的值取1,当接收到的ClientStatusRequestToken非法时,Status’的值取0.
在207中,客户端首先利用ClientStatusRequestKey对安全代理设备返回的数据进行解密,得到ClientStatusToken,利用AccessToken和ClientStatusToken向服务器发送请求,该请求所包含的数据可以利用AccessKey进行加密,图中表示为Enc(req1)。
本步骤中,可以具体ClientStatusRequestEncryptionKey对安全代理设备返回的数据进行解密,得到R-CSRT、R-CST、ClientStatusToken;然后对R-CSRT和Hash进行验证,如果验证通过,则利用ClientStatusToken向服务器发送请求。如果验证未通过,可以返回错误信息给安全代理设备。
在本步骤中,可以依据客户端发送的具体请求来进行不同的处理,可以分为以下几种情况:
第一种情况:客户端向服务器发送的请求为一般地址请求,则可以将该地址请求连同AccessToken和ClientStatusToken进行发送。
第二种情况:客户端向服务器发送的请求为一般表单请求,则可以利用AccessKey对表单数据进行加密,将加密后的数据连同AccessToken和ClientStatusToken进行发送。
第三种情况:客户端向服务器发送的请求包含生成的地址与表单数据,则可以利用访问密钥AccessKey对请求地址和表单数据进行加密后,连同访问令牌AccessToken和ClientStatusToken进行发送。
上述三种情况中,令牌可以附加于请求地址、请求的报文(Header)或加密数据中。
可选地,除了对请求包含的数据进行加密之外,被加密的数据还可以包括该请求包含的数据的哈希值,主要用于进行数据验证时使用。
在208中,安全代理设备对接收到的ClientStatusToken和AccessToken进行验证,如果验证通过,则将解密后的请求转发给服务器。
实质上,安全代理设备接收到来自客户端的请求后,会首先判断是否为该客户端分配了有效的令牌,如果没有为该客户端分配有效的令牌且该请求是发送给指定服务器的,则按照201中所述的方式,直接转发请求至服务器。如果该请求并非发送给指定服务器的,则可以拒绝该请求。如果已经为该客户端分配了有效的令牌,则判断是否有为该客户端分配的令牌连同该请求发送,如果是,则将该请求转发给服务器;否则,拒绝对该请求进行转发,或者记录该客户端发送的请求不携带ClientStatusToken的次数,当该客户端的请求在设定时间内有超过预设阈值的数量的请求是不携带ClientStatusToken的,则拒绝对该请求进行处理。
除了对令牌进行验证之外,还可以进一步执行以下验证或检查:验证ProxyEncryptedCookie、检查该请求是否存在非法Header、检查该请求的Header以及请求地址的完整性、检查该请求的Header以及请求地址是否具有攻击代码、检查该请求的数据内容是否包含攻击代码,等等。这些验证或检查都通过后,可以转发请求至服务器。
另外,如果该请求是加密后的请求,则利用AccessKey对请求进行解密后转发给服务器,如果该请求是未加密的请求,则直接转发给服务器。
ClientStatusToken可以用于检查执行模块的运行状态,如果来自客户端的请求在设定时间内有超过预设阈值数量的请求是不携带ClientStatusToken的,则可以确定执行模块的运行异常,客户端处于非法状态,后续在210中给客户端分配新的AccessToken时,设置Status的值为0。
步骤209同步骤203。
步骤210同步骤204。为了与步骤203和204中返回的数据以及分配的令牌和密钥以示区分,图中将209和210中服务器返回的数据表示为Data1,分配的令牌和密钥分别表示为AccessToken1和AccessKey1。
之后的交互流程重复执行上述步骤205~210。
需要说明的是,上述步骤205~206用于主要用户检查客户端中执行模块是否运行正常,即客户端是否正常运行安全代理设备发送给客户端的执行代码,并不是必须执行的步骤,如果不执行步骤205~206,则在步骤204中无需为客户端分配并发送ClientStatusRequestToken,在步骤207中,可以不采用ClientStatusToken,而采用访问令牌AccessToken来发送请求。
以上是对本发明提供的方法进行的描述,下面对本发明提供的装置进行详细描述。图3为本发明实施例提供的装置结构图,该装置可以设置于上述安全代理设备,如图3所示,该装置可以包括:响应处理单元01、令牌管理单元02和请求处理单元03,还可以包括状态验证单元04和非法攻击检测单元05。其中各组成单元的主要功能如下:
响应处理单元01负责处理服务器返回给客户端的数据,主要包括:接收服务器返回给客户端的数据,将为客户端分配的令牌、服务器返回给客户端的数据以及执行模块发送给客户端。
令牌管理单元02负责为客户端分配令牌以及对令牌的管理、验证。主要包括:在响应处理单元01接收到服务器返回给客户端的数据后,为客户端分配令牌;对请求处理单元03提供的令牌进行验证。
请求处理单元03负责对客户端发送给服务器的数据进行处理,主要包括:接收运行于客户端的执行模块利用令牌发送的请求,将令牌提供给令牌管理单元02,如果令牌验证通过,则将请求转发给服务器。如果令牌验证失败,或者接收到的请求不携带为所述客户端分配的令牌,则请求处理单元03可以拒绝对请求进行处理。
其中请求处理单元03接收到客户端发送至指定服务器的请求后,可以首先触发令牌管理单元02判断是否已为该客户端分配有效的令牌,如果令牌管理单元02的判断结果为否,则将该请求转发给服务器,这种情况对应于图2中202所示的情况。如果令牌管理单元02的判断结果为是,则判断该请求是否携带令牌,如果携带,则执行将令牌提供给令牌管理单元02的操作,这种情况对应于图2中208所示的情况。
请求处理单元03在接收到上述请求后,可以对请求进行合法性验证,如果验证失败,则可以拒绝对该请求进行处理。具体地,可以执行以下合法性验证中的一种或任意组合:
验证请求的协议头是否符合协议规定的类型;
对请求的协议头和请求地址进行语法验证;
验证请求的协议头和请求地址是否包含攻击代码;以及,
对请求的请求地址进行身份验证。
令牌管理单元02在为客户端分配令牌时,可以采用访问令牌密钥对包含访问密钥的数据进行加密后,得到访问令牌。相应地,执行模块发送的请求携带访问令牌。此时,包含访问密钥的数据还包括以下数据中的一种或任意组合:时间戳、令牌序列号、请求地址的哈希值以及客户端状态值。例如,可以表示为:Etek-AT(AccessKey,Timestamp,TokenSerialNumber,Hash(请求地址),Status,Hash),即采用tek-AT对访问密钥AccessKey、时间戳Timestamp、令牌序列号TokenSerialNumber、上述的请求地址的哈希值以及状态值Status进行加密。
TokenSerialNumber用于指示Token的序列号,安全代理设备分配令牌时,每次分配的TokenSerialNumber都不同,但对于同次分配的不同类型的TokenSerialNumber是相同的。例如在此除了AccessToken之外,还可以分配客户端状态请求令牌ClientStatusRequestToken,这两个Token采用相同的TokenSerialNumber。
客户端状态值Status是依据客户端所发送请求是否携带正确的令牌或者是否合法进行设置的。例如正常情况下,合法状态设置该Status的值1,当来自该客户端的请求在设定时间内有超过预设阈值数量的请求是不携带客户端状态令牌ClientStatusToken的,或者接收到来自该客户端的大量非法请求时,设置该Status的值为0。(安全代理设备对使用status为0的Token的请求,可直接或随机拒绝该请求)
上面已经提到,令牌管理单元02在为客户端分配令牌时,可以进一步分配客户端状态请求令牌。相应地,响应处理单元01在将为客户端分配的令牌、服务器返回给客户端的数据以及执行模块发送给客户端时,进一步发送客户端状态请求令牌和客户端状态请求密钥。
运行于客户端的执行模块,还可以接收到服务器返回的数据后,向安全代理设备发送客户端状态请求令牌。此时,状态验证单元04接收执行模块发送的客户端状态请求令牌;验证客户端状态请求令牌合法后,触发令牌管理单元02为客户端分配客户端状态令牌,将利用客户端状态请求密钥加密后的客户端状态令牌发送给客户端。
上述操作对应图2中204~206。
后续执行模块发送的请求进一步携带客户端状态令牌,也就是说,后续执行模块在向服务器发送请求时,可以仅携带访问令牌,也可以携带访问令牌和客户端状态令牌。
令牌管理单元02在为客户端分配客户端状态令牌时,可以利用客户端状态请求令牌密钥,对包含客户端状态请求密钥的数据进行加密后,得到客户端状态令牌。例如,客户端状态令牌ClientStatusToken可以利用客户端状态令牌密钥tek-CST对时间戳Timestamp、令牌序列号TokenSerialNumber、请求地址的哈希值以及状态值Status进行加密后得到,可以表示为:
Etek-CST(Timestamp,TokenSerialNumber,Hash(请求地址),Status’,Hash)
其中,Status’用于指示接收到的ClientStatusRequestToken是否合法。当接收到的ClientStatusRequestToken合法时,Status’的值取1,当接收到的ClientStatusRequestToken非法时,Status’的值取0。
状态验证单元04在验证客户端状态请求令牌是否合法时,可以判断接收到的客户端状态请求令牌是否是为该客户端分配的客户端状态请求令牌且未被客户端使用(本发明实施例中,为客户端分配的客户端状态请求令牌通常仅能使用一次),如果是,则确定客户端状态请求令牌合法;否则,确定客户端状态请求令牌不合法。
优选地,客户端状态请求密钥可以包括:客户端状态请求加密密钥和客户端请求哈希密钥。状态验证单元04可以利用客户端状态请求加密密钥对客户端状态令牌进行加密。
这种情况下,运行于客户端的执行模块可以利用客户端状态请求加密密钥加密随机数R-CSRT,并利用客户端请求哈希密钥对随机数R-CSRT取哈希,然后将加密后的随机数和哈希值发送给安全代理设备。状态验证单元04接收到后,利用客户端状态请求加密密钥对接收到的随机数进行解密,然后利用哈希值对解密得到的随机数进行验证;验证通过后,执行为客户端分配客户端状态令牌的操作。
优选地,响应处理单元04在将为客户端分配的令牌、服务器返回给客户端的数据以及执行模块发送给客户端时,可以进一步发送非法攻击诱捕模块,非法攻击诱捕模块包含伪造的URL。如果接收到该数据的客户端是具有攻击性的客户端,通常该客户端中运行的非法代码会获取到这些伪造的URL,从而发起攻击,那么就会有该客户端设备发送至该伪造的URL的请求。非法攻击检测单元05如果检测到针对伪造的URL的请求,则确定发送针对伪造的URL的请求的客户端为具有攻击性的客户端。
另外,响应处理单元01在将为客户端分配的令牌、服务器返回给客户端的数据以及执行模块发送给客户端时,可以进一步将访问密钥发送给客户端。运行于客户端的执行模块可以将请求所包含的数据利用访问密钥进行加密后,发送给服务器。此时,请求处理单元03在将请求转发给服务器时,可以利用访问密钥对请求包含的数据进行解密,将解密后的请求转发给服务器。
在本发明所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本发明各个实施例所述方法的部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-OnlyMemory,ROM)、随机存取存储器(RandomAccessMemory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。

Claims (26)

1.一种安全通讯的方法,其特征在于,该方法由设置于客户端和服务器之间的安全代理设备执行,该方法包括:
S1、接收到服务器返回给客户端的数据后,为所述客户端分配令牌,将所述令牌、所述服务器返回给客户端的数据以及执行模块发送给所述客户端;
S2、接收运行于所述客户端的所述执行模块利用所述令牌发送的请求,对所述令牌进行验证,如果验证通过,则将所述请求转发给所述服务器。
2.根据权利要求1所述的方法,其特征在于,该方法还包括:
接收到所述客户端向所述服务器发送的请求后,判断是否已为该客户端分配有效的令牌,如果否,则将该请求转发给服务器;如果是,则判断该请求是否携带令牌,如果携带,则执行所述对所述令牌进行验证的步骤。
3.根据权利要求1或2所述的方法,其特征在于,该方法还包括:
对所述请求进行合法性验证,如果验证失败,则拒绝对所述请求进行处理。
4.根据权利要求3所述的方法,其特征在于,所述合法性验证包括以下一种或任意组合:
验证请求的协议头是否符合协议规定的类型;
对请求的协议头和请求地址进行语法验证;
验证请求的协议头和请求地址是否包含攻击代码;以及,
对请求的请求地址进行身份验证。
5.根据权利要求1所述的方法,其特征在于,为所述客户端分配令牌包括:采用访问令牌密钥对包含访问密钥的数据进行加密后,得到访问令牌;
在所述S2中,所述执行模块发送的请求携带所述访问令牌。
6.根据权利要求5所述的方法,其特征在于,所述包含访问密钥的数据还包括以下数据中的一种或任意组合:
时间戳、令牌序列号、请求地址的哈希值以及客户端状态值;
其中所述客户端状态值是依据客户端所发送请求是否携带正确的令牌或者是否合法进行设置的。
7.根据权利要求5所述的方法,其特征在于,为所述客户端分配令牌还包括客户端状态请求令牌;
在所述S1中发送给客户端的还包括:所述客户端状态请求令牌和客户端状态请求密钥;
在所述S1和所述S2之间,还包括:
S31、接收所述执行模块发送的客户端状态请求令牌;
S32、验证所述客户端状态请求令牌合法后,为客户端分配客户端状态令牌,将利用所述客户端状态请求密钥加密后的客户端状态令牌发送给所述客户端;
在所述S2中,所述执行模块发送的请求进一步携带所述客户端状态令牌。
8.根据权利要求7所述的方法,其特征在于,所述客户端状态请求令牌是利用客户端状态请求令牌密钥对包含客户端状态请求密钥的数据进行加密后得到的。
9.根据权利要求7所述的方法,其特征在于,在所述S32中,对所述客户端状态请求令牌是否合法的验证包括:
判断接收到的所述客户端状态请求令牌是否是为该客户端分配的客户端状态请求令牌且未被客户端使用过,如果是,则确定所述客户端状态请求令牌合法;否则,确定所述客户端状态请求令牌不合法。
10.根据权利要求7所述的方法,其特征在于,所述客户端状态请求密钥包括:客户端状态请求加密密钥和客户端请求哈希密钥;
在所述S32中利用所述客户端状态请求加密密钥对客户端状态令牌进行加密;
在所述S31中还接收到利用所述客户端状态请求加密密钥加密的随机数和利用所述客户端请求哈希密钥对所述随机数取哈希得到的哈希值;
在所述S32中进一步包括:利用所述客户端状态请求加密密钥对接收到的随机数进行解密,然后利用所述哈希值对解密得到的随机数进行验证;验证通过后,执行所述为客户端分配客户端状态令牌的步骤。
11.根据权利要求1所述的方法,其特征在于,在所述S2中,如果对所述令牌进行验证失败,或者接收到的请求不携带所述令牌,则拒绝对所述请求进行转发。
12.根据权利要求1或7所述的方法,其特征在于,在所述S1中发送给客户端的还包括:非法攻击诱捕模块,所述非法攻击诱捕模块包含伪造的URL;
如果检测到针对所述伪造的URL的请求,则确定发送针对所述伪造的URL的请求的客户端为具有攻击性的客户端。
13.根据权利要求5所述的方法,其特征在于,在所述S1中还包括:将所述访问密钥发送给所述客户端;
在所述S2中,将所述请求转发给所述服务器包括:利用所述访问密钥对请求包含的数据进行解密,将解密后的请求转发给所述服务器。
14.一种安全通讯的装置,其特征在于,该装置设置于客户端和服务器之间的安全代理设备,该装置包括:响应处理单元、令牌管理单元和请求处理单元;
所述响应处理单元,用于接收服务器返回给客户端的数据,将为所述客户端分配的令牌、所述服务器返回给客户端的数据以及执行模块发送给所述客户端;
所述令牌管理单元,用于在所述响应处理单元接收到服务器返回给客户端的数据后,为所述客户端分配令牌;对所述请求处理单元提供的令牌进行验证;
所述请求处理单元,用于接收运行于所述客户端的所述执行模块利用所述令牌发送的请求,将所述令牌提供给所述令牌管理单元,如果所述令牌验证通过,则将所述请求转发给所述服务器。
15.根据权利要求14所述的装置,其特征在于,所述请求处理单元,还用于接收到所述客户端向所述服务器发送的请求后,触发所述令牌管理单元判断是否已为该客户端分配有效的令牌,如果所述令牌管理单元的判断结果为否,则将该请求转发给服务器;如果所述令牌管理单元的判断结果为是,则判断该请求是否携带令牌,如果携带,则执行将所述令牌提供给所述令牌管理单元的操作。
16.根据权利要求14或15所述的装置,其特征在于,所述请求处理单元,还用于对所述请求进行合法性验证,如果验证失败,则拒绝对所述请求进行处理。
17.根据权利要求16所述的装置,其特征在于,所述请求处理单元,还用于对所述请求执行以下合法性验证中的一种或任意组合:
验证请求的协议头是否符合协议规定的类型;
对请求的协议头和请求地址进行语法验证;
验证请求的协议头和请求地址是否包含攻击代码;以及,
对请求的请求地址进行身份验证。
18.根据权利要求14所述的装置,其特征在于,所述令牌管理单元在为所述客户端分配令牌时,具体采用访问令牌密钥对包含访问密钥的数据进行加密后,得到访问令牌;
所述执行模块发送的请求携带所述访问令牌。
19.根据权利要求18所述的装置,其特征在于,所述包含访问密钥的数据还包括以下数据中的一种或任意组合:
时间戳、令牌序列号、请求地址的哈希值以及客户端状态值;
其中所述客户端状态值是依据客户端所发送请求是否携带正确的令牌或者是否合法进行设置的。
20.根据权利要求18所述的装置,其特征在于,该装置还包括:状态验证单元;
所述令牌管理单元在为所述客户端分配令牌时,进一步分配客户端状态请求令牌;受到所述状态验证单元的触发后,为所述客户端分配客户端状态令牌;
所述响应处理单元在将为所述客户端分配的令牌、所述服务器返回给客户端的数据以及执行模块发送给所述客户端时,进一步发送所述客户端状态请求令牌和客户端状态请求密钥;
所述状态验证单元,用于接收所述执行模块发送的客户端状态请求令牌;验证所述客户端状态请求令牌合法后,触发所述令牌管理单元为客户端分配客户端状态令牌;将利用所述客户端状态请求密钥加密后的客户端状态令牌发送给所述客户端;
所述执行模块发送的请求进一步携带所述客户端状态令牌。
21.根据权利要求20所述的装置,其特征在于,所述令牌管理单元在为客户端分配客户端状态令牌时,具体利用客户端状态请求令牌密钥,对包含客户端状态请求密钥的数据进行加密后,得到所述客户端状态令牌。
22.根据权利要求20所述的装置,其特征在于,所述状态验证单元在验证所述客户端状态请求令牌是否合法时,具体用于:
判断接收到的所述客户端状态请求令牌是否是为该客户端分配的客户端状态请求令牌且未被客户端使用过,如果是,则确定所述客户端状态请求令牌合法;否则,确定所述客户端状态请求令牌不合法。
23.根据权利要求20所述的装置,其特征在于,所述客户端状态请求密钥包括:客户端状态请求加密密钥和客户端请求哈希密钥;
所述状态验证单元具体利用所述客户端状态请求加密密钥对客户端状态令牌进行加密;
所述状态验证单元还接收到利用所述客户端状态请求加密密钥加密的随机数和利用所述客户端请求哈希密钥对所述随机数取哈希得到的哈希值;利用所述客户端状态请求加密密钥对接收到的随机数进行解密,然后利用所述哈希值对解密得到的随机数进行验证;验证通过后,执行所述触发令牌管理单元为客户端分配客户端状态令牌的操作。
24.根据权利要求14所述的装置,其特征在于,如果所述令牌验证失败,或者接收到的请求不携带所述令牌,则所述请求处理单元拒绝对所述请求进行转发。
25.根据权利要求14或20所述的装置,其特征在于,所述响应处理单元在将为所述客户端分配的令牌、所述服务器返回给客户端的数据以及执行模块发送给所述客户端时,进一步发送非法攻击诱捕模块,所述非法攻击诱捕模块包含伪造的URL;
该装置还包括:非法攻击检测单元,用于如果检测到针对所述伪造的URL的请求,则确定发送针对所述伪造的URL的请求的客户端为具有攻击性的客户端。
26.根据权利要求18所述的装置,其特征在于,所述响应处理单元在将为所述客户端分配的令牌、所述服务器返回给客户端的数据以及执行模块发送给所述客户端时,进一步将所述访问密钥发送给所述客户端;
所述请求处理单元在将所述请求转发给所述服务器时,利用所述访问密钥对请求包含的数据进行解密,将解密后的请求转发给所述服务器。
CN201510243743.6A 2015-05-14 2015-05-14 一种安全通讯方法和装置 Active CN105491001B (zh)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CN201510243743.6A CN105491001B (zh) 2015-05-14 2015-05-14 一种安全通讯方法和装置
PCT/CN2016/079838 WO2016180202A1 (zh) 2015-05-14 2016-04-21 一种安全通讯的方法和装置
US15/147,780 US20170012978A1 (en) 2015-05-14 2016-05-05 Secure communication method and apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510243743.6A CN105491001B (zh) 2015-05-14 2015-05-14 一种安全通讯方法和装置

Publications (2)

Publication Number Publication Date
CN105491001A true CN105491001A (zh) 2016-04-13
CN105491001B CN105491001B (zh) 2017-02-22

Family

ID=55677721

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510243743.6A Active CN105491001B (zh) 2015-05-14 2015-05-14 一种安全通讯方法和装置

Country Status (3)

Country Link
US (1) US20170012978A1 (zh)
CN (1) CN105491001B (zh)
WO (1) WO2016180202A1 (zh)

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016180202A1 (zh) * 2015-05-14 2016-11-17 瑞数信息技术(上海)有限公司 一种安全通讯的方法和装置
CN106341429A (zh) * 2016-11-28 2017-01-18 浙江工业大学 一种保护服务器数据安全的认证方法
CN106656979A (zh) * 2016-10-20 2017-05-10 北京集奥聚合科技有限公司 一种接收和传送数据的数据交互方法及系统
CN108737110A (zh) * 2018-05-23 2018-11-02 中汇会计师事务所(特殊普通合伙) 一种用于防重放攻击的数据加密传输方法及装置
US10142297B2 (en) 2015-05-14 2018-11-27 River Security Inc. Secure communication method and apparatus
CN108924154A (zh) * 2018-07-24 2018-11-30 华数传媒网络有限公司 身份认证方法及装置
CN109309685A (zh) * 2018-10-31 2019-02-05 北京百度网讯科技有限公司 信息传输方法和装置
CN109743303A (zh) * 2018-12-25 2019-05-10 中国移动通信集团江苏有限公司 应用保护方法、装置、系统和存储介质
CN110113351A (zh) * 2019-05-14 2019-08-09 辽宁途隆科技有限公司 Cc攻击的防护方法及装置、存储介质、计算机设备
CN110691087A (zh) * 2019-09-29 2020-01-14 北京搜狐新媒体信息技术有限公司 一种访问控制方法、装置、服务器及存储介质
CN111212077A (zh) * 2020-01-08 2020-05-29 中国建设银行股份有限公司 主机访问系统及方法
CN113225351A (zh) * 2021-05-28 2021-08-06 中国建设银行股份有限公司 一种请求处理方法、装置、存储介质及电子设备
US20220029806A1 (en) * 2020-07-27 2022-01-27 Micro Focus Llc Adaptive rate limiting of api calls
CN115208577A (zh) * 2022-06-28 2022-10-18 广西电网有限责任公司电力科学研究院 基于在线交互式web动态防御的随机令牌生成方法

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11689930B2 (en) 2018-02-19 2023-06-27 Lenovo (Singapore) Pte. Ltd. Encrypted traffic detection
US10747609B1 (en) 2018-07-10 2020-08-18 Wells Fargo Bank, N.A. Systems and methods for blockchain repair assurance tokens
CN109831446B (zh) * 2019-03-05 2021-08-20 广州虎牙信息科技有限公司 一种请求校验方法、装置、设备和存储介质
CN110046500B (zh) * 2019-03-11 2022-04-15 刘勇 一种用于网络防护的动态cookie验证方法及装置
AU2020315905A1 (en) * 2019-07-23 2022-03-03 Cyber Crucible Inc. Systems and methods for ransomware detection and mitigation
CN110855624A (zh) * 2019-10-18 2020-02-28 平安科技(深圳)有限公司 基于web接口的安全校验方法及相关设备
CN110891065A (zh) * 2019-12-03 2020-03-17 西安博达软件股份有限公司 一种基于Token的用户身份辅助加密的方法
CN111080253B (zh) * 2019-12-11 2023-03-03 深圳供电局有限公司 随机太阳式输电线路现场作业方法与系统
CN113992532B (zh) * 2021-12-27 2022-03-25 广州敏行区块链科技有限公司 一种区块链底层系统的测试方法及其系统
CN114826693A (zh) * 2022-04-07 2022-07-29 中通服创立信息科技有限责任公司 一种数据交互方法、装置及介质
CN114938352B (zh) * 2022-05-19 2024-06-18 中国银行股份有限公司 一种图片上传方法、服务端、客户端及系统

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1732465A (zh) * 2002-12-31 2006-02-08 国际商业机器公司 在异构联合环境中统一注销的方法和系统
CN101217367A (zh) * 2007-01-04 2008-07-09 中国移动通信集团公司 引入鉴权客户端实现业务鉴权的系统及方法
CN101741764A (zh) * 2009-12-25 2010-06-16 金蝶软件(中国)有限公司 一种企业广域网文件传输的方法、系统
CN102111410A (zh) * 2011-01-13 2011-06-29 中国科学院软件研究所 一种基于代理的单点登录方法及系统
CN102208980A (zh) * 2010-08-24 2011-10-05 济南聚易信息技术有限公司 一种通信方法及系统
CN103780396A (zh) * 2014-01-27 2014-05-07 华为软件技术有限公司 令牌获取方法及装置
CN104038490A (zh) * 2014-06-09 2014-09-10 可牛网络技术(北京)有限公司 一种通信安全校验方法及其装置

Family Cites Families (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5805803A (en) * 1997-05-13 1998-09-08 Digital Equipment Corporation Secure web tunnel
US6327662B1 (en) * 1998-09-30 2001-12-04 3Com Corporation Security through the use of tokens and automatically downloaded applets
US20020026578A1 (en) * 2000-08-22 2002-02-28 International Business Machines Corporation Secure usage of digital certificates and related keys on a security token
US7607009B2 (en) * 2003-02-10 2009-10-20 International Business Machines Corporation Method for distributing and authenticating public keys using time ordered exchanges
US7836493B2 (en) * 2003-04-24 2010-11-16 Attachmate Corporation Proxy server security token authorization
US20050154887A1 (en) * 2004-01-12 2005-07-14 International Business Machines Corporation System and method for secure network state management and single sign-on
WO2007047183A2 (en) * 2005-10-11 2007-04-26 Citrix Systems, Inc. Systems and methods for facilitating distributed authentication
US20070226483A1 (en) * 2006-03-24 2007-09-27 Dennis Cox System and method for storing and/or transmitting emulated network flows
WO2009084601A1 (ja) * 2007-12-27 2009-07-09 Nec Corporation アクセス権限管理システム、アクセス権限管理方法及びアクセス権限管理用プログラム
JPWO2009139437A1 (ja) * 2008-05-14 2011-09-22 日本電気株式会社 クライアント装置、その制御方法、プログラム、サーバ装置、その制御方法、通信システム及びその制御方法
CN101674304B (zh) * 2009-10-15 2013-07-10 浙江师范大学 一种网络身份认证系统及方法
US9633656B2 (en) * 2010-07-27 2017-04-25 Sony Corporation Device registration process from second display
US8447983B1 (en) * 2011-02-01 2013-05-21 Target Brands, Inc. Token exchange
US8407776B2 (en) * 2011-02-11 2013-03-26 Good Technology Corporation Method, apparatus and system for provisioning a push notification session
US8943169B2 (en) * 2011-02-11 2015-01-27 Sony Corporation Device affiliation process from second display
CN103095704A (zh) * 2013-01-15 2013-05-08 杭州华三通信技术有限公司 一种可信介质的在线验证方法及装置
US10348721B2 (en) * 2013-10-30 2019-07-09 Hewlett Packard Enterprise Development Lp User authentication
US10135805B2 (en) * 2013-10-31 2018-11-20 Cellco Partnership Connected authentication device using mobile single sign on credentials
US9584515B2 (en) * 2014-04-30 2017-02-28 Citrix Systems, Inc. Enterprise system authentication and authorization via gateway
CN104113528A (zh) * 2014-06-23 2014-10-22 汉柏科技有限公司 一种基于前置网关的防止敏感信息泄露的方法和系统
US9848005B2 (en) * 2014-07-29 2017-12-19 Aruba Networks, Inc. Client reputation driven role-based access control
US20160142409A1 (en) * 2014-11-18 2016-05-19 Microsoft Technology Licensing, Llc Optimized token-based proxy authentication
US9813385B2 (en) * 2015-02-10 2017-11-07 DeNA Co., Ltd. Method and system for load balancing
CN105471833B (zh) * 2015-05-14 2019-04-16 瑞数信息技术(上海)有限公司 一种安全通讯方法和装置
CN105491001B (zh) * 2015-05-14 2017-02-22 瑞数信息技术(上海)有限公司 一种安全通讯方法和装置
US20170244713A1 (en) * 2015-12-09 2017-08-24 Xasp Security, Llc Web server transmission obfuscation

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1732465A (zh) * 2002-12-31 2006-02-08 国际商业机器公司 在异构联合环境中统一注销的方法和系统
CN101217367A (zh) * 2007-01-04 2008-07-09 中国移动通信集团公司 引入鉴权客户端实现业务鉴权的系统及方法
CN101741764A (zh) * 2009-12-25 2010-06-16 金蝶软件(中国)有限公司 一种企业广域网文件传输的方法、系统
CN102208980A (zh) * 2010-08-24 2011-10-05 济南聚易信息技术有限公司 一种通信方法及系统
CN102111410A (zh) * 2011-01-13 2011-06-29 中国科学院软件研究所 一种基于代理的单点登录方法及系统
CN103780396A (zh) * 2014-01-27 2014-05-07 华为软件技术有限公司 令牌获取方法及装置
CN104038490A (zh) * 2014-06-09 2014-09-10 可牛网络技术(北京)有限公司 一种通信安全校验方法及其装置

Cited By (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10142297B2 (en) 2015-05-14 2018-11-27 River Security Inc. Secure communication method and apparatus
WO2016180202A1 (zh) * 2015-05-14 2016-11-17 瑞数信息技术(上海)有限公司 一种安全通讯的方法和装置
CN106656979A (zh) * 2016-10-20 2017-05-10 北京集奥聚合科技有限公司 一种接收和传送数据的数据交互方法及系统
CN106341429A (zh) * 2016-11-28 2017-01-18 浙江工业大学 一种保护服务器数据安全的认证方法
CN106341429B (zh) * 2016-11-28 2019-08-02 浙江工业大学 一种保护服务器数据安全的认证方法
CN108737110A (zh) * 2018-05-23 2018-11-02 中汇会计师事务所(特殊普通合伙) 一种用于防重放攻击的数据加密传输方法及装置
CN108737110B (zh) * 2018-05-23 2021-05-14 中汇会计师事务所(特殊普通合伙) 一种用于防重放攻击的数据加密传输方法及装置
CN108924154B (zh) * 2018-07-24 2021-03-09 华数传媒网络有限公司 身份认证方法及装置
CN108924154A (zh) * 2018-07-24 2018-11-30 华数传媒网络有限公司 身份认证方法及装置
CN109309685A (zh) * 2018-10-31 2019-02-05 北京百度网讯科技有限公司 信息传输方法和装置
CN109309685B (zh) * 2018-10-31 2021-10-29 北京百度网讯科技有限公司 信息传输方法和装置
CN109743303B (zh) * 2018-12-25 2021-10-01 中国移动通信集团江苏有限公司 应用保护方法、装置、系统和存储介质
CN109743303A (zh) * 2018-12-25 2019-05-10 中国移动通信集团江苏有限公司 应用保护方法、装置、系统和存储介质
CN110113351A (zh) * 2019-05-14 2019-08-09 辽宁途隆科技有限公司 Cc攻击的防护方法及装置、存储介质、计算机设备
CN110113351B (zh) * 2019-05-14 2022-08-16 辽宁途隆科技有限公司 Cc攻击的防护方法及装置、存储介质、计算机设备
CN110691087A (zh) * 2019-09-29 2020-01-14 北京搜狐新媒体信息技术有限公司 一种访问控制方法、装置、服务器及存储介质
CN111212077A (zh) * 2020-01-08 2020-05-29 中国建设银行股份有限公司 主机访问系统及方法
CN111212077B (zh) * 2020-01-08 2022-07-05 中国建设银行股份有限公司 主机访问系统及方法
US20220029806A1 (en) * 2020-07-27 2022-01-27 Micro Focus Llc Adaptive rate limiting of api calls
CN113225351A (zh) * 2021-05-28 2021-08-06 中国建设银行股份有限公司 一种请求处理方法、装置、存储介质及电子设备
CN113225351B (zh) * 2021-05-28 2022-12-13 中国建设银行股份有限公司 一种请求处理方法、装置、存储介质及电子设备
CN115208577A (zh) * 2022-06-28 2022-10-18 广西电网有限责任公司电力科学研究院 基于在线交互式web动态防御的随机令牌生成方法

Also Published As

Publication number Publication date
WO2016180202A1 (zh) 2016-11-17
CN105491001B (zh) 2017-02-22
US20170012978A1 (en) 2017-01-12

Similar Documents

Publication Publication Date Title
CN105491001A (zh) 一种安全通讯方法和装置
CN108173662B (zh) 一种设备的认证方法和装置
US8196186B2 (en) Security architecture for peer-to-peer storage system
JP5181094B2 (ja) 信頼される処理技術を使用したデジタル権利管理
CN105471833A (zh) 一种安全通讯方法和装置
CN108243176B (zh) 数据传输方法和装置
CN109981255B (zh) 密钥池的更新方法和系统
US11831753B2 (en) Secure distributed key management system
CN111030814A (zh) 秘钥协商方法及装置
CN108737110B (zh) 一种用于防重放攻击的数据加密传输方法及装置
CN109873819B (zh) 一种防止非法访问服务器的方法及系统
CN103138939A (zh) 云存储模式下基于可信平台模块的密钥使用次数管理方法
CN101860540A (zh) 一种识别网站服务合法性的方法及装置
CN109040079A (zh) 直播链接地址的组建和验证方法及相应装置
CN104199657A (zh) 开放平台的调用方法及装置
CN104883255A (zh) 一种密码重置方法和装置
KR101407373B1 (ko) 서버와 클라이언트 시스템 간의 통신 세션에서 상태 추적메커니즘을 수행하는 방법
CN113395282A (zh) 一种阻止第三方访问服务端资源的方法及系统
US20200336523A1 (en) Apparatus for monitoring multicast group
CN110138558B (zh) 会话密钥的传输方法、设备及计算机可读存储介质
CN111431957B (zh) 文件处理方法、装置、设备和系统
CN110445774B (zh) IoT设备的安全防护方法、装置及设备
CN109587134B (zh) 接口总线的安全认证的方法、装置、设备和介质
CN107241341B (zh) 访问控制方法及装置
CN114338091B (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
C14 Grant of patent or utility model
GR01 Patent grant
PE01 Entry into force of the registration of the contract for pledge of patent right

Denomination of invention: Secure communication method and device

Effective date of registration: 20190404

Granted publication date: 20170222

Pledgee: Silicon Valley Bank Co., Ltd.

Pledgor: Rui digital information technology (Shanghai) Co., Ltd.

Registration number: 2019310000016

PE01 Entry into force of the registration of the contract for pledge of patent right
PC01 Cancellation of the registration of the contract for pledge of patent right

Date of cancellation: 20201204

Granted publication date: 20170222

Pledgee: Silicon Valley Bank Co.,Ltd.

Pledgor: Ruishu information technology (Shanghai) Co.,Ltd.

Registration number: 2019310000016

PC01 Cancellation of the registration of the contract for pledge of patent right