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

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

Info

Publication number
WO2016180202A1
WO2016180202A1 PCT/CN2016/079838 CN2016079838W WO2016180202A1 WO 2016180202 A1 WO2016180202 A1 WO 2016180202A1 CN 2016079838 W CN2016079838 W CN 2016079838W WO 2016180202 A1 WO2016180202 A1 WO 2016180202A1
Authority
WO
WIPO (PCT)
Prior art keywords
client
token
request
status
server
Prior art date
Application number
PCT/CN2016/079838
Other languages
English (en)
French (fr)
Inventor
林育民
肖洪勇
郑霖
许明
Original Assignee
瑞数信息技术(上海)有限公司
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 瑞数信息技术(上海)有限公司 filed Critical 瑞数信息技术(上海)有限公司
Publication of WO2016180202A1 publication Critical patent/WO2016180202A1/zh

Links

Images

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/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/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/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/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/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/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

Definitions

  • the encrypted with the client state request encryption key is also received. a number of machines and a hash value obtained by hashing the random number with the client requesting a hash key;
  • the token management unit is configured to allocate a token to the client after the response processing unit receives the data returned by the server to the client; and provide the request processing unit with the token Token for verification;
  • the security proxy device may further allocate a client status request token Client Status Request Token to the client, and further include a client status request key Client Status Request Key sent along with the Client Status Request Token.
  • the client status request Token can be obtained by encrypting the data including the Client Status Request Key by using the client status request token key tek-CSRT.
  • the Client Status Request Token can use the tek-CSRT timestamp Timestamp and the token sequence.
  • the Token Serial Number, the hash value of the current address, and the Client Status Request Key are encrypted and can be expressed as:
  • the security proxy device After receiving the request from the client, the security proxy device first determines whether the client is assigned a valid token. If the client is not assigned a valid token and the request is sent to the designated server, The request is forwarded directly to the server in the manner described in 201. If the request is not sent to the specified server, the request can be denied. If the client has been assigned a valid token, it is determined whether there is a token assigned to the client along with the request, and if so, the request is forwarded to the server; otherwise, the request is denied, Or record the number of times the request sent by the client does not carry the Client Status Token. If the request of the client exceeds the preset threshold within the set time, the request does not carry the Client Status Token, and the request is rejected. .
  • the client status value Status is set according to whether the request sent by the client carries the correct token or is legal. For example, in normal circumstances, the legal status sets the value of the Status 1. When the request from the client has a predetermined threshold amount within the set time, the request does not carry the client status token Client Status Token, or receives a request from the client. When the client has a large number of illegal requests, set the value of this Status to 0. (The security proxy device can reject the request directly or randomly for a request to use a token with a status of 0)

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

一种安全通讯的方法和装置
本申请要求了申请日为2015年05月14日,申请号为201510243743.6发明名称为“一种安全通讯方法和装置”的中国专利申请的优先权。
技术领域
本发明涉及数据安全技术领域,特别涉及一种安全通讯方法和装置。
背景技术
随着网络技术的迅速发展,无论是移动设备的客户端还是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,Domain Name System)中设置将指向服务器的域名解析为安全代理设备的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中,安全代理设备为客户端分配令牌和令牌密钥,将令牌、 令牌密钥、服务器返回的数据以及执行模块发送给客户端。
其中分配的令牌可以包括访问令牌Access Token,该Access Token可以采用访问令牌密钥tek-AT对包含访问密钥Access Key的数据进行加密后得到。例如,该Access Token可以采用tek-AT对访问密钥Access Key、时间戳Timestamp、令牌序列号Token Serial Number、上述的请求地址的哈希值以及状态值Status进行加密后得到,可以表示为:
Etek-AT(Access Key,Timestamp,Token Serial Number,Hash(请求地址),Status,Hash)
其中,tek-AT仅在安全代理设备上设置。
Access Key用于后续运行于客户端的执行模块,在向服务器发送请求时,加密该请求时使用。
Token Serial Number用于指示Token的序列号,安全代理设备分配令牌时,每次分配的Token Serial Number都不同,但对于同一步骤中分配的不同类型的Token Serial Number是相同的。例如本步骤中除了Access Token之外,还可以分配客户端状态请求令牌Client Status Request Token,这两个Token采用相同的Token Serial Number。
Status用于标识客户端的状态,正常情况下,合法状态设置该Status的值1,当来自该客户端的请求在设定时间内有超过预设阈值数量的请求是不携带客户端状态令牌Client Status Token的,或者接收到来自该客户端的大量非法请求时,设置该Status的值为0(对于后续携带Status的值为0的请求,安全代理可直接或以随机的方式,拒绝该请求)。关于客户端请求携带Client Status Token的情形将在后续描述中涉及。
最后的Hash,表示对之前的参数Access Key,Timestamp,Token  Serial Number,Hash(请求地址),Status取哈希后得到的哈希值,主要用于该数据的接收者来验证数据完整性。后续涉及到的Hash也是此含义,不再赘述。
更进一步地,安全代理设备还可以为客户端分配客户端状态请求令牌Client Status Request Token,连同该Client Status Request Token发送的还包括客户端状态请求密钥Client Status Request Key。该Client Status Request Token可以采用客户端状态请求令牌密钥tek-CSRT对包含Client Status Request Key的数据进行加密后得到,例如,该Client Status Request Token可以采用tek-CSRT时间戳Timestamp、令牌序列号Token Serial Number、当前地址的哈希值和Client Status Request Key进行加密后得到,可以表示为:
Etek-CSRT(Timestamp,Token Serial Number,Hash(请求地址),Client Status Request Key,Hash)
其中,tek-CSRT仅在安全代理设备设置。
发送给客户端的执行模块可以采用客户端代码的形式,该执行模块可以运行于客户端,使得客户端一方面能够执行后续步骤205以检查客户端状态,另一方面能够执行后续步骤207,即按照步骤207的方式向服务器发送请求。
上述令牌、令牌密钥、服务器返回的数据以及执行模块可以插入返回给客户端的数据报文中。更进一步地,插入该数据报文的还可以包括:安全代理设备加密缓存信息Proxy Encrypted Cookie以及非法攻击诱捕模块。其中Proxy Encrypted Cookie主要用于携带针对该客户端的会话信息或上下文信息,以方便在安全代理设备出现故障切换至另外一个安全 代理设备处理时,能够根据这些会话信息或上下文信息继续进行处理,从而提高可靠性。非法攻击诱捕模块中可以设置一些伪造的URL,如果接收到该数据的客户端是具有攻击性的客户端,通常该客户端中运行的非法代码会获取到这些伪造的URL,从而发起攻击,那么就会有该客户端设备发送至该伪造的URL的请求,就能够识别出该客户端为具有攻击性的客户端。
在205中,客户端的执行模块利用Client Status Request Key对随机数R-CSRT进行加密后,将加密后的随机数与分配给客户端的Client Status Request Token发送给安全代理设备,R-CSRT是客户端的执行模块产生的随机数。
其中,Client Status Request Key可以包含两个独立的密钥:客户端状态请求加密密钥Client Status Request Encryption Key和客户端请求哈希密钥Client Status Request Hash Key,在对R-CSRT进行加密时,可以采用Client Status Request Encryption Key对R-CSRT进行加密,表示为ECSREK(R-CSRT),另外采用Client Status Request Hash Key对R-CSRT取哈希值,表示为HCSRHK(R-CSRT)。将ECSREK(R-CSRT)、HCSRHK(R-CSRT)连同Client Status Request Token发送给安全代理设备。
安全代理服务器每次分配的Client Status Request Token均是不同的,保证每个Client Status Request Token只能被使用一次。
在206中,安全代理设备检查接收到的Client Status Request Token是否合法以及对接收到的随机数R-CSRT进行验证,如果Client Status Request Token合法,且随机数通过验证,则利用Client Status Request Key对包含Client Status Token的数据进行加密后返回客户端。
其中,如果Client Status Request Token是为该客户端分配的Client Status Request Token,且未被客户端使用过,则可以认为Client Status Request Token合法;如果Client Status Request Token已经被客户端使用过或者并非为该客户端分配的Client Status Request Token,则可以认为Client Status Request Token非法。
在对接收到的随机数R-CSRT进行验证时,可以利用Client Status Request Encryption Key对ECSREK(R-CSRT)进行解密后得到R-CSRT、然后利用HCSRHK(R-CSRT)对R-CSRT进行验证,
在利用Client Status Request Key对包含Client Status Token的数据进行加密时,可以具体利用Client Status Request Encryption Key对R-CSRT、R-CST、Client Status Token进行加密,表示为:
ECSREK(R-CST,R-CSRT,Client Status Token,Hash)。
另外,在返回ECSREK(R-CST,R-CSRT,Client Status Token,Hash)之前,还可以进一步验证Proxy Encrypted Cookie(执行模块可以将安全代理设备发送给客户端的Proxy Encrypted Cookie再反馈回来),即验证执行模块发送的Proxy Encrypted Cookie与自身存储的Proxy Encrypted Cookie是否一致,如果一致,则通过验证,如果不一致,则不通过验证。
还可以进一步检查Timestamp是否过期。
当Proxy Encrypted Cookie验证通过且Timestamp未过期时,向客户端返回ECSREK(R-CST,R-CSRT,Client Status Token,Hash)。
其中,Client Status Token是利用客户端状态令牌密钥tek-CST对时间戳Timestamp、令牌序列号Token Serial Number、请求地址的哈希值以及状态值Status进行加密后得到的,可以表示为:
Etek-CST(Timestamp,Token Serial Number,Hash(请求地址),Status’,Hash)
其中,Status’用于指示接收到的Client Status Request Token是否合法。当接收到的Client Status Request Token合法时,Status’的值取1,当接收到的Client Status Request Token非法时,Status’的值取0.
在207中,客户端首先利用Client Status Request Key对安全代理设备返回的数据进行解密,得到Client Status Token,利用Access Token和Client Status Token向服务器发送请求,该请求所包含的数据可以利用Access Key进行加密,图中表示为Enc(req1)。
本步骤中,可以具体Client Status Request Encryption Key对安全代理设备返回的数据进行解密,得到R-CSRT、R-CST、Client Status Token;然后对R-CSRT和Hash进行验证,如果验证通过,则利用Client Status Token向服务器发送请求。如果验证未通过,可以返回错误信息给安全代理设备。
在本步骤中,可以依据客户端发送的具体请求来进行不同的处理,可以分为以下几种情况:
第一种情况:客户端向服务器发送的请求为一般地址请求,则可以将该地址请求连同Access Token和Client Status Token进行发送。
第二种情况:客户端向服务器发送的请求为一般表单请求,则可以利用Access Key对表单数据进行加密,将加密后的数据连同Access Token和Client Status Token进行发送。
第三种情况:客户端向服务器发送的请求包含生成的地址与表单数据,则可以利用访问密钥Access Key对请求地址和表单数据进行加密后, 连同访问令牌Access Token和Client Status Token进行发送。
上述三种情况中,令牌可以附加于请求地址、请求的报文(Header)或加密数据中。
可选地,除了对请求包含的数据进行加密之外,被加密的数据还可以包括该请求包含的数据的哈希值,主要用于进行数据验证时使用。
在208中,安全代理设备对接收到的Client Status Token和Access Token进行验证,如果验证通过,则将解密后的请求转发给服务器。
实质上,安全代理设备接收到来自客户端的请求后,会首先判断是否为该客户端分配了有效的令牌,如果没有为该客户端分配有效的令牌且该请求是发送给指定服务器的,则按照201中所述的方式,直接转发请求至服务器。如果该请求并非发送给指定服务器的,则可以拒绝该请求。如果已经为该客户端分配了有效的令牌,则判断是否有为该客户端分配的令牌连同该请求发送,如果是,则将该请求转发给服务器;否则,拒绝对该请求进行转发,或者记录该客户端发送的请求不携带Client Status Token的次数,当该客户端的请求在设定时间内有超过预设阈值的数量的请求是不携带Client Status Token的,则拒绝对该请求进行处理。
除了对令牌进行验证之外,还可以进一步执行以下验证或检查:验证Proxy Encrypted Cookie、检查该请求是否存在非法Header、检查该请求的Header以及请求地址的完整性、检查该请求的Header以及请求地址是否具有攻击代码、检查该请求的数据内容是否包含攻击代码,等等。这些验证或检查都通过后,可以转发请求至服务器。
另外,如果该请求是加密后的请求,则利用Access Key对请求进行解密后转发给服务器,如果该请求是未加密的请求,则直接转发给服务 器。
Client Status Token可以用于检查执行模块的运行状态,如果来自客户端的请求在设定时间内有超过预设阈值数量的请求是不携带Client Status Token的,则可以确定执行模块的运行异常,客户端处于非法状态,后续在210中给客户端分配新的Access Token时,设置Status的值为0。
步骤209同步骤203。
步骤210同步骤204。为了与步骤203和204中返回的数据以及分配的令牌和密钥以示区分,图中将209和210中服务器返回的数据表示为Data1,分配的令牌和密钥分别表示为Access Token1和Access Key1。
之后的交互流程重复执行上述步骤205~210。
需要说明的是,上述步骤205~206用于主要用户检查客户端中执行模块是否运行正常,即客户端是否正常运行安全代理设备发送给客户端的执行代码,并不是必须执行的步骤,如果不执行步骤205~206,则在步骤204中无需为客户端分配并发送Client Status Request Token,在步骤207中,可以不采用Client Status Token,而采用访问令牌Access Token来发送请求。
以上是对本发明提供的方法进行的描述,下面对本发明提供的装置进行详细描述。图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(Access Key,Timestamp,Token Serial Number,Hash(请求地址),Status,Hash),即采用tek-AT对访问密钥Access Key、时间戳Timestamp、令牌序列号Token Serial Number、上述的请求地址的哈希值以及状态值Status进行加密。
Token Serial Number用于指示Token的序列号,安全代理设备分配令牌时,每次分配的Token Serial Number都不同,但对于同次分配的不同类型的Token Serial Number是相同的。例如在此除了Access Token之外,还可以分配客户端状态请求令牌Client Status Request Token,这两个Token采用相同的Token Serial Number。
客户端状态值Status是依据客户端所发送请求是否携带正确的令牌或者是否合法进行设置的。例如正常情况下,合法状态设置该Status的值1,当来自该客户端的请求在设定时间内有超过预设阈值数量的请求是不携带客户端状态令牌Client Status Token的,或者接收到来自该客户端的大量非法请求时,设置该Status的值为0。(安全代理设备对使用status为0的Token的请求,可直接或随机拒绝该请求)
上面已经提到,令牌管理单元02在为客户端分配令牌时,可以进一步分配客户端状态请求令牌。相应地,响应处理单元01在将为客户端分配的令牌、服务器返回给客户端的数据以及执行模块发送给客户端时,进一步发送客户端状态请求令牌和客户端状态请求密钥。
运行于客户端的执行模块,还可以接收到服务器返回的数据后,向 安全代理设备发送客户端状态请求令牌。此时,状态验证单元04接收执行模块发送的客户端状态请求令牌;验证客户端状态请求令牌合法后,触发令牌管理单元02为客户端分配客户端状态令牌,将利用客户端状态请求密钥加密后的客户端状态令牌发送给客户端。
上述操作对应图2中204~206。
后续执行模块发送的请求进一步携带客户端状态令牌,也就是说,后续执行模块在向服务器发送请求时,可以仅携带访问令牌,也可以携带访问令牌和客户端状态令牌。
令牌管理单元02在为客户端分配客户端状态令牌时,可以利用客户端状态请求令牌密钥,对包含客户端状态请求密钥的数据进行加密后,得到客户端状态令牌。例如,客户端状态令牌Client Status Token可以利用客户端状态令牌密钥tek-CST对时间戳Timestamp、令牌序列号Token Serial Number、请求地址的哈希值以及状态值Status进行加密后得到,可以表示为:
Etek-CST(Timestamp,Token Serial Number,Hash(请求地址),Status’,Hash)
其中,Status’用于指示接收到的Client Status Request Token是否合法。当接收到的Client Status Request Token合法时,Status’的值取1,当接收到的Client Status Request Token非法时,Status’的值取0。
状态验证单元04在验证客户端状态请求令牌是否合法时,可以判断接收到的客户端状态请求令牌是否是为该客户端分配的客户端状态请求令牌且未被客户端使用(本发明实施例中,为客户端分配的客户端状态请求令牌通常仅能使用一次),如果是,则确定客户端状态请求令牌合 法;否则,确定客户端状态请求令牌不合法。
优选地,客户端状态请求密钥可以包括:客户端状态请求加密密钥和客户端请求哈希密钥。状态验证单元04可以利用客户端状态请求加密密钥对客户端状态令牌进行加密。
这种情况下,运行于客户端的执行模块可以利用客户端状态请求加密密钥加密随机数R-CSRT,并利用客户端请求哈希密钥对随机数R-CSRT取哈希,然后将加密后的随机数和哈希值发送给安全代理设备。状态验证单元04接收到后,利用客户端状态请求加密密钥对接收到的随机数进行解密,然后利用哈希值对解密得到的随机数进行验证;验证通过后,执行为客户端分配客户端状态令牌的操作。
优选地,响应处理单元04在将为客户端分配的令牌、服务器返回给客户端的数据以及执行模块发送给客户端时,可以进一步发送非法攻击诱捕模块,非法攻击诱捕模块包含伪造的URL。如果接收到该数据的客户端是具有攻击性的客户端,通常该客户端中运行的非法代码会获取到这些伪造的URL,从而发起攻击,那么就会有该客户端设备发送至该伪造的URL的请求。非法攻击检测单元05如果检测到针对伪造的URL的请求,则确定发送针对伪造的URL的请求的客户端为具有攻击性的客户端。
另外,响应处理单元01在将为客户端分配的令牌、服务器返回给客户端的数据以及执行模块发送给客户端时,可以进一步将访问密钥发送给客户端。运行于客户端的执行模块可以将请求所包含的数据利用访问密钥进行加密后,发送给服务器。此时,请求处理单元03在将请求转发给服务器时,可以利用访问密钥对请求包含的数据进行解密,将解密后 的请求转发给服务器。
在本发明所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本发明各个实施例所述方法的部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。

Claims (24)

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

Applications Claiming Priority (2)

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

Publications (1)

Publication Number Publication Date
WO2016180202A1 true WO2016180202A1 (zh) 2016-11-17

Family

ID=55677721

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2016/079838 WO2016180202A1 (zh) 2015-05-14 2016-04-21 一种安全通讯的方法和装置

Country Status (3)

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

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109831446A (zh) * 2019-03-05 2019-05-31 广州虎牙信息科技有限公司 一种请求校验方法、装置、设备和存储介质
CN110855624A (zh) * 2019-10-18 2020-02-28 平安科技(深圳)有限公司 基于web接口的安全校验方法及相关设备

Families Citing this family (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105491001B (zh) * 2015-05-14 2017-02-22 瑞数信息技术(上海)有限公司 一种安全通讯方法和装置
CN105471833B (zh) 2015-05-14 2019-04-16 瑞数信息技术(上海)有限公司 一种安全通讯方法和装置
CN106656979A (zh) * 2016-10-20 2017-05-10 北京集奥聚合科技有限公司 一种接收和传送数据的数据交互方法及系统
CN106341429B (zh) * 2016-11-28 2019-08-02 浙江工业大学 一种保护服务器数据安全的认证方法
US11689930B2 (en) 2018-02-19 2023-06-27 Lenovo (Singapore) Pte. Ltd. Encrypted traffic detection
CN108737110B (zh) * 2018-05-23 2021-05-14 中汇会计师事务所(特殊普通合伙) 一种用于防重放攻击的数据加密传输方法及装置
US10747609B1 (en) * 2018-07-10 2020-08-18 Wells Fargo Bank, N.A. Systems and methods for blockchain repair assurance tokens
CN108924154B (zh) * 2018-07-24 2021-03-09 华数传媒网络有限公司 身份认证方法及装置
CN109309685B (zh) * 2018-10-31 2021-10-29 北京百度网讯科技有限公司 信息传输方法和装置
CN109743303B (zh) * 2018-12-25 2021-10-01 中国移动通信集团江苏有限公司 应用保护方法、装置、系统和存储介质
CN110046500B (zh) * 2019-03-11 2022-04-15 刘勇 一种用于网络防护的动态cookie验证方法及装置
CN110113351B (zh) * 2019-05-14 2022-08-16 辽宁途隆科技有限公司 Cc攻击的防护方法及装置、存储介质、计算机设备
KR20220038106A (ko) 2019-07-23 2022-03-25 사이버 크루시블 인크. 랜섬웨어 검출 및 완화를 위한 시스템 및 방법
CN110691087B (zh) * 2019-09-29 2022-03-01 北京搜狐新媒体信息技术有限公司 一种访问控制方法、装置、服务器及存储介质
CN110891065A (zh) * 2019-12-03 2020-03-17 西安博达软件股份有限公司 一种基于Token的用户身份辅助加密的方法
CN111080253B (zh) * 2019-12-11 2023-03-03 深圳供电局有限公司 随机太阳式输电线路现场作业方法与系统
CN111212077B (zh) * 2020-01-08 2022-07-05 中国建设银行股份有限公司 主机访问系统及方法
US11849040B2 (en) * 2020-07-27 2023-12-19 Micro Focus Llc Adaptive rate limiting of API calls
CN113225351B (zh) * 2021-05-28 2022-12-13 中国建设银行股份有限公司 一种请求处理方法、装置、存储介质及电子设备
CN113992532B (zh) * 2021-12-27 2022-03-25 广州敏行区块链科技有限公司 一种区块链底层系统的测试方法及其系统
CN114826693A (zh) * 2022-04-07 2022-07-29 中通服创立信息科技有限责任公司 一种数据交互方法、装置及介质
CN115208577A (zh) * 2022-06-28 2022-10-18 广西电网有限责任公司电力科学研究院 基于在线交互式web动态防御的随机令牌生成方法

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020026578A1 (en) * 2000-08-22 2002-02-28 International Business Machines Corporation Secure usage of digital certificates and related keys on a security token
CN101674304A (zh) * 2009-10-15 2010-03-17 浙江师范大学 一种网络身份认证系统及方法
CN103095704A (zh) * 2013-01-15 2013-05-08 杭州华三通信技术有限公司 一种可信介质的在线验证方法及装置
CN104113528A (zh) * 2014-06-23 2014-10-22 汉柏科技有限公司 一种基于前置网关的防止敏感信息泄露的方法和系统
CN105471833A (zh) * 2015-05-14 2016-04-06 瑞数信息技术(上海)有限公司 一种安全通讯方法和装置
CN105491001A (zh) * 2015-05-14 2016-04-13 瑞数信息技术(上海)有限公司 一种安全通讯方法和装置

Family Cites Families (27)

* 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
US7219154B2 (en) * 2002-12-31 2007-05-15 International Business Machines Corporation Method and system for consolidated sign-off in a heterogeneous federated environment
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
CA2624623A1 (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
CN101217367B (zh) * 2007-01-04 2010-12-29 中国移动通信集团公司 引入鉴权客户端实现业务鉴权的系统及方法
US8544066B2 (en) * 2007-12-27 2013-09-24 Nec Corporation Access right management system, access right management method, and access right management program
JPWO2009139437A1 (ja) * 2008-05-14 2011-09-22 日本電気株式会社 クライアント装置、その制御方法、プログラム、サーバ装置、その制御方法、通信システム及びその制御方法
CN101741764B (zh) * 2009-12-25 2012-08-22 金蝶软件(中国)有限公司 一种企业广域网文件传输的方法、系统
US9633656B2 (en) * 2010-07-27 2017-04-25 Sony Corporation Device registration process from second display
CN102208980A (zh) * 2010-08-24 2011-10-05 济南聚易信息技术有限公司 一种通信方法及系统
CN102111410B (zh) * 2011-01-13 2013-07-03 中国科学院软件研究所 一种基于代理的单点登录方法及系统
US8447983B1 (en) * 2011-02-01 2013-05-21 Target Brands, Inc. Token exchange
US8943169B2 (en) * 2011-02-11 2015-01-27 Sony Corporation Device affiliation process from second display
US8407776B2 (en) * 2011-02-11 2013-03-26 Good Technology Corporation Method, apparatus and system for provisioning a push notification session
WO2015061977A1 (en) * 2013-10-30 2015-05-07 Hewlett-Packard Development Company, L.P. User authentication
US10135805B2 (en) * 2013-10-31 2018-11-20 Cellco Partnership Connected authentication device using mobile single sign on credentials
CN103780396B (zh) * 2014-01-27 2017-08-25 华为软件技术有限公司 令牌获取方法及装置
US9584515B2 (en) * 2014-04-30 2017-02-28 Citrix Systems, Inc. Enterprise system authentication and authorization via gateway
CN104038490B (zh) * 2014-06-09 2018-01-12 可牛网络技术(北京)有限公司 一种通信安全校验方法及其装置
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
US20170244713A1 (en) * 2015-12-09 2017-08-24 Xasp Security, Llc Web server transmission obfuscation

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020026578A1 (en) * 2000-08-22 2002-02-28 International Business Machines Corporation Secure usage of digital certificates and related keys on a security token
CN101674304A (zh) * 2009-10-15 2010-03-17 浙江师范大学 一种网络身份认证系统及方法
CN103095704A (zh) * 2013-01-15 2013-05-08 杭州华三通信技术有限公司 一种可信介质的在线验证方法及装置
CN104113528A (zh) * 2014-06-23 2014-10-22 汉柏科技有限公司 一种基于前置网关的防止敏感信息泄露的方法和系统
CN105471833A (zh) * 2015-05-14 2016-04-06 瑞数信息技术(上海)有限公司 一种安全通讯方法和装置
CN105491001A (zh) * 2015-05-14 2016-04-13 瑞数信息技术(上海)有限公司 一种安全通讯方法和装置

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109831446A (zh) * 2019-03-05 2019-05-31 广州虎牙信息科技有限公司 一种请求校验方法、装置、设备和存储介质
CN110855624A (zh) * 2019-10-18 2020-02-28 平安科技(深圳)有限公司 基于web接口的安全校验方法及相关设备

Also Published As

Publication number Publication date
CN105491001B (zh) 2017-02-22
CN105491001A (zh) 2016-04-13
US20170012978A1 (en) 2017-01-12

Similar Documents

Publication Publication Date Title
WO2016180202A1 (zh) 一种安全通讯的方法和装置
CN108471432B (zh) 防止网络应用程序接口被恶意攻击的方法
WO2016180204A1 (zh) 一种安全通讯方法和装置
JP6921066B2 (ja) セッション識別子同期を実現する方法及びデバイス
US8418242B2 (en) Method, system, and device for negotiating SA on IPv6 network
CN107579991B (zh) 一种对客户端进行云端防护认证的方法、服务器和客户端
CN112000951B (zh) 一种访问方法、装置、系统、电子设备及存储介质
JP2020080530A (ja) データ処理方法、装置、端末及びアクセスポイントコンピュータ
JP5350649B2 (ja) ユーザを認証する方法、ユーザ端末を認証する装置、及びユーザ端末を認証する認証サーバ
CN109167802B (zh) 防止会话劫持的方法、服务器以及终端
US10257171B2 (en) Server public key pinning by URL
JP2005517347A (ja) クライアントが許可を検証できるキー管理プロトコルを設けるためのシステムおよび方法
TW200402981A (en) Methods for remotely changing a communications password
CN112711759A (zh) 一种防重放攻击漏洞安全防护的方法及系统
KR102137122B1 (ko) 보안 체크 방법, 장치, 단말기 및 서버
KR101531662B1 (ko) 사용자 단말과 서버간 상호 인증 방법 및 시스템
CN106411948A (zh) 一种基于json验证码的安全认证拦截的方法
CN112968910B (zh) 一种防重放攻击方法和装置
CN110035035B (zh) 一种单点登录的二次认证方法及系统
CN105656854B (zh) 一种验证无线局域网络用户来源的方法、设备及系统
KR101837150B1 (ko) 프록시 서비스 제공을 위한 프록시 인증시스템 및 인증방법
US20230179433A1 (en) Systems and Methods for Distributed, Stateless, and Dynamic Browser Challenge Generation and Verification
US11177958B2 (en) Protection of authentication tokens
KR100892609B1 (ko) 보안 통신 시스템, 방법, 및 상기 방법을 실행시키기 위한컴퓨터 프로그램을 기록한 매체
CN114039748A (zh) 身份验证方法、系统、计算机设备和存储介质

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 16792052

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 16792052

Country of ref document: EP

Kind code of ref document: A1