CN105471833B - 一种安全通讯方法和装置 - Google Patents
一种安全通讯方法和装置 Download PDFInfo
- Publication number
- CN105471833B CN105471833B CN201510245307.2A CN201510245307A CN105471833B CN 105471833 B CN105471833 B CN 105471833B CN 201510245307 A CN201510245307 A CN 201510245307A CN 105471833 B CN105471833 B CN 105471833B
- Authority
- CN
- China
- Prior art keywords
- client
- key
- token
- connection
- security agent
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 53
- 238000004891 communication Methods 0.000 title claims abstract description 22
- 230000004044 response Effects 0.000 claims abstract description 57
- 238000012795 verification Methods 0.000 claims abstract description 41
- 230000007246 mechanism Effects 0.000 claims abstract description 15
- 238000009826 distribution Methods 0.000 claims abstract description 9
- 238000012545 processing Methods 0.000 claims description 17
- 230000008569 process Effects 0.000 claims description 14
- 239000003795 chemical substances by application Substances 0.000 abstract 2
- 238000002347 injection Methods 0.000 abstract 1
- 239000007924 injection Substances 0.000 abstract 1
- 238000010586 diagram Methods 0.000 description 5
- 230000006870 function Effects 0.000 description 4
- 238000003860 storage Methods 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 206010028980 Neoplasm Diseases 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
- H04L63/083—Network architectures or network communication protocols for network security for authentication of entities using passwords
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
- H04L63/0428—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/06—Network architectures or network communication protocols for network security for supporting key management in a packet data network
- H04L63/061—Network architectures or network communication protocols for network security for supporting key management in a packet data network for key exchange, e.g. in peer-to-peer networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/06—Network architectures or network communication protocols for network security for supporting key management in a packet data network
- H04L63/062—Network 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
- H04L63/0807—Network architectures or network communication protocols for network security for authentication of entities using tickets, e.g. Kerberos
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/10—Network architectures or network communication protocols for network security for controlling access to devices or network resources
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/0838—Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these
- H04L9/0841—Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these involving Diffie-Hellman or related key agreement protocols
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/14—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/30—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3263—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/76—Proxy, i.e. using intermediary entity to perform cryptographic operations
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/02—Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
- H04L63/0281—Proxies
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computing Systems (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Computer And Data Communications (AREA)
Abstract
本发明提供了一种安全通讯方法和装置,在客户端和服务器之间设置安全代理设备,其中,方法包括:安全代理设备利用密钥交换机制与客户端进行连线密钥的协商;以及在对所述客户端进行身份认证通过后,为所述客户端分配令牌;接收到所述客户端发送给服务器的请求时,验证连同所述请求发送来的令牌是否是为所述客户端分配的令牌;如果验证通过,则将利用所述连线密钥对所述请求进行解密后得到的请求转发给所述服务器;接收到所述服务器返回的响应后,利用所述连线密钥对所述响应进行加密,将加密后的响应转发给所述客户端。本发明能够提高客户端与服务器之间通讯的安全性,并能有效防护对服务器及客户端的各类重放、恶意代码注入及自动化攻击。
Description
【技术领域】
本发明涉及数据安全技术领域,特别涉及一种安全通讯方法和装置。
【背景技术】
随着网络技术的迅速发展,无论是移动设备的客户端还是PC的客户端与服务器之前的通讯都面临严峻的安全问题。该安全问题主要涉及:通讯数据的外泄、中间人对服务器的非法攻击、非法客户端对服务器的访问,等等。
【发明内容】
有鉴于此,本发明提供了一种安全通讯方法和装置,以便于提高客户端与服务器之间通讯的安全性。
具体技术方案如下:
本发明提供了一种安全通讯的方法,该方法由设置于客户端和服务器之间的安全代理设备执行,该方法包括:
利用密钥交换机制与客户端进行连线密钥的协商;以及在对所述客户端进行身份认证通过后,为所述客户端分配令牌;
接收到所述客户端发送给服务器的请求时,验证连同所述请求发送来的令牌是否是为所述客户端分配的令牌;如果验证通过,则将利用所述连线密钥或令牌连线密钥对所述请求进行解密后得到的请求转发给所述服务器;其中,所述令牌连线密钥是为客户端分配后利用所述连线密钥发送给所述客户端的;
接收到所述服务器返回的响应后,利用所述连线密钥或令牌连线密钥对所述响应进行加密,将加密后的响应转发给所述客户端。
本发明还提供了一种安全通讯的方法,该方法应用于包含客户端、安全代理设备和服务器的***,该方法包括:
所述客户端利用密钥交换机制与所述安全代理设备进行连线密钥的协商,以及获取所述安全代理设备在对所述客户端进行身份认证通过后分配给所述客户端的令牌;
利用所述连线密钥或令牌连线密钥对发送给所述服务器的请求进行加密,将加密后的请求连同所述令牌发送至所述安全代理设备;
获取所述安全代理设备转发来的响应,利用所述连线密钥或所述令牌连线密钥对所述响应进行解密;
其中所述令牌连线密钥是所述安全代理设备分配给客户端,并利用所述连线密钥加密所述令牌连线密钥后发送给所述客户端的。
本发明还提供了一种安全通讯的装置,该装置设置于客户端和服务器之间的安全代理设备中,该装置包括:
密钥协商单元,用于利用密钥交换机制与客户端进行连线密钥的协商;
身份认证单元,用于对所述客户端进行身份认证;
令牌分配单元,用于在对所述客户端进行身份认证通过后,为所述客户端分配令牌;
请求处理单元,用于接收到所述客户端发送给服务器的请求时,验证连同所述请求发送来的令牌是否是为所述客户端分配的令牌;如果验证通过,则将利用所述连线密钥或令牌连线密钥对所述请求进行解密后得到的请求转发给所述服务器;其中,所述令牌连线密钥是所述令牌分配单元为客户端分配后并利用所述连线密钥进行加密后发送给所述客户端的;
响应处理单元,用于接收到所述服务器返回的响应后,利用所述连线密钥或令牌连线密钥对所述响应进行加密,将加密后的响应转发给所述客户端。
本发明还提供了一种安全通讯的装置,设置于客户端,该装置包括:
密钥协商单元,用于利用密钥交换机制与安全代理设备进行连线密钥的协商;
令牌获取单元,用于获取所述安全代理设备在对所述客户端进行身份认证通过后分配给所述客户端的令牌;
请求发送单元,用于利用所述连线密钥或令牌连线密钥对发送给服务器的请求进行加密,将加密后的请求连同所述令牌发送至所述安全代理设备;
响应获取单元,用于获取所述安全代理设备转发来的响应,利用所述连线密钥或所述令牌连线密钥对所述响应进行解密;
其中所述令牌连线密钥是所述安全代理设备分配给客户端,并利用所述连线密钥加密所述令牌连线密钥后发送给所述客户端的。
由以上技术方案可以看出,本发明通过安全代理设备实现客户端与服务器之间报文的转发,一方面通过密钥交换机制协商的连线密钥对客户端与安全代理设备之间的报文进行加密,另一方面通过安全代理设备为客户端分配的令牌实现对服务器的访问控制,双重保障了客户端与服务器自身与其之间通讯的安全性。
【附图说明】
图1为本发明所基于的***结构图;
图2为本发明实施例提供的方法流程图;
图3为本发明实施例提供的设置于安全代理服务器的装置结构图;
图4为本发明实施例提供的设置于客户端的装置结构图。
【具体实施方式】
为了使本发明的目的、技术方案和优点更加清楚,下面结合附图和具体实施例对本发明进行详细描述。
本发明实施例基于如图1中所示的***架构,在该***中,客户端与服务器之间设置有安全代理设备,该安全代理设备作为中间设备,负责客户端与服务器之间的通讯安全,客户端与服务器之间交互的数据必须经由安全代理设备转发。为了实现安全代理设备对客户端与服务器之间交互数据的转发,可以预先采用但不限于以下网络设置方式:
第一种方式:将安全代理设备组网于服务器的入口位置,该组网方式使得客户端与服务器之间交互的数据必须经由安全代理设备。
第二种方式:在域名解析***(DNS,Domain Name System)中设置将指向服务器的域名解析为安全代理设备的IP地址,这样发送给服务器的数据将会被发送给安全代理设备,然后设置安全代理设备接收到来自客户端的数据均发送给服务器。
在本发明实施例中安全代理设备的功能主要表现为以下几个方面,具体功能实现将在后续实施例中详细描述:
1)对客户端的身份认证。
2)与客户端进行密钥协商。
3)对认证通过的客户端进行令牌分配。
4)利用分配给客户端的令牌,对客户端进行访问权限的控制。
5)利用与客户端协商的密钥对客户端发送的请求进行解密、完整性检查与连线序列号验证。
6)利用与客户端协商的密钥,对服务器返回给客户端的响应进行加密后发送给客户端。
图2为本发明实施例提供的安全通讯的方法流程示意图,在该实施例中,需要预先进行以下初始配置:
针对安全代理设备,安全代理设备可以通过云端或者离线工具获取证书Proxy-Cert。在安全代理设备中配置以下内容:
1)安全代理设备的身份标识Proxy-ID;
2)密钥协商保护密钥C_AKE-Key;
3)客户端的根证书公钥;
4)加密公开参数p和q。
针对客户端,客户端在生成时,可以通过云端或者离线工具进行打包,可以预先在客户端置入以下内容:
1)密钥协商保护密钥C_AKE-Key;
2)客户端身份标识Client-ID;
3)加密公开参数p和q;
4)安全代理设备的身份标识Proxy-ID;
5)安全代理设备的根证书公钥;
6)客户端应用签名。
另外,客户端可以预先向安全代理设备注册,获取客户端证书Client-Cert,例如客户端在第一次使用时,向安全代理设备注册获取Client-Cert。
在进行了上述初始配置后,可以开始执行如图2中所示流程,该方法可以包括以下步骤:
在201中执行第一认证密钥交换(AKE,Authenticated Key Exchange)处理,图中标识为AKE-1。在AKE-1中,客户端利用密钥协商保护密钥C_AKE-Key对包含Client-ID的数据进行加密后发送给安全代理设备。其中加解密算法预先配置于客户端和安全代理设备中,在本发明实施例中可以采用Diffe-Hellman密钥交换方法,该加密后得到的数据可以表示为:
EC_AKE-Key(Client-ID,(gx mod p),H(gx mod p)),其中x为产生的随机数,H(gx modp)表示对gx mod p进行哈希运算后得到的哈希值。
在202中执行第二认证密钥交换处理,图中标识为AKE-2。在AKE-2中,安全代理设备对客户端发送的数据进行解密后,得到Client-ID。即解密EC_AKE-Key(Client-ID,(gx modp),H(gx mod p))后得到Client-ID。对Client-ID进行认证,该认证可以基于但不限于预设的黑/白名单,如果该Client-ID在黑名单中,则确认该客户端非法,禁止访问。如果该Client-ID不在黑名单中,则该客户端认证通过。
还可以进一步利用H(gx mod p))对(gx mod p)进行验证,目的是对数据完整性进行验证。
如果客户端认证通过并且利用H(gx mod p))对(gx mod p)进行的验证也通过,则安全代理设备利用Client-ID产生服务器验证密钥C_AKE-Session-Key-2。产生服务器验证密钥的方式可以采用但不限于计算哈希值的方式,例如:
C_AKE-Session-Key-2=Hash(2,Client-ID,gy,gx,gxy),其中y为安全代理设备产生的随机数。需要说明的是,其中的“2”在此的目的是为了标识消息顺序,也可以采用其他值。
然后安全代理设备利用C_AKE-Session-Key-2对包含Proxy-ID的数据进行加密。具体地,可以首先利用安全代理设备的根证书私钥对包含Proxy-ID和Client-ID的数据进行签名,然后利用C_AKE-Session-Key-2对该签名和安全代理设备的整数Proxy-Cert进行加密。加密后的数据可以表示为:
EC_AKE-Session-Key-2(Proxy-Cert,SigProxy(2,Proxy-ID,Client-ID,gy,gx)),其中SigProxy表示利用安全代理设备的根证书私钥进行签名,该签名得到的SigProxy(2,Proxy-ID,Client-ID,gy,gx)在客户端可以通过安全代理设备的根证书公钥解密。同样,其中的“2”在此的目的是为了标识消息顺序,也可以采用其他值。
安全代理设备将加密后的数据发送给客户端。例如将EC_AKE-Session-Key-2(Proxy-Cert,SigProxy(2,Proxy-ID,Client-ID,gy,gx))发送给客户端,还可以同时将gy mod p发送给客户端。
在203中,执行第三认证密钥交换处理,图中标识为AKE-3。在该AKE-3中,客户端对接收到的数据进行解密和验证。
在解密时,首先利用Client-ID产生服务器验证密钥C_AKE-Session-Key-2,产生方式与安全代理设备采用的方式相同。然后利用C_AKE-Session-Key-2对接收到的数据进行解密,得到Proxy-Cert,和SigProxy(2,Proxy-ID,Client-ID,gy,gx)。
然后,利用安全代理设备的根证书公钥对SigProxy(2,Proxy-ID,Client-ID,gy,gx)进行解密,得到Proxy-ID、Client-ID、gy和gx。然后验证gy mod p。
如果验证通过,则利用Cient-ID和Proxy-ID产生客户端验证密钥C-AKE-Session-Key-3和连线密钥C-AKE-Session-Key。产生客户端验证密钥和连线密钥的方式可以采用但不限于计算哈希值的方式,例如:
C_AKE-Session-Key-3=Hash(3,Client-ID,Proxy-ID,gx,gy,gxy)。同样,其中的“3”在此的目的是为了标识消息顺序,也可以采用其他值。
C_AKE-Session-Key=Hash(0,Client-ID,Proxy-ID,gx,gy,gxy)。其中的“0”在此的目的是为了标识消息顺序,也可以采用其他值。
然后客户端利用客户端验证密钥C-AKE-Session-Key-3对包含客户端证书和客户端应用签名的数据进行加密,加密后得到的数据可以表示为:
EC_AKE-Session-Key-3(Client-Cert,SigClient(3,Client-ID,Proxy-ID,gx,gy)),其中SigClient(3,Client-ID,Proxy-ID,gx,gy)为客户端应用签名,该SigClient为利用客户端的根证书私钥进行签名。
利用连线密钥C_AKE-Session-Key对客户端环境信息进行加密,其中客户端环境信息可以包括客户端设备标识Client Device ID,客户端应用签名Client App Sig,客户端环境参数Client Environment Information中的一种或任意组合,可以通过客户端内置程序或者安全代理设备派发的程序获取。Client Environment Information可以采用配置文件时间、出厂标识等等。利用连线密钥C_AKE-Session-Key对客户端环境信息进行加密后得到的数据可以表示为:
EC_AKE-Session-Key(Client Device ID,Client App Sig,Client EnvironmentInformation)
将加密得到的数据EC_AKE-Session-Key-3(Client-Cert,SigClient(3,Client-ID,Proxy-ID,gx,gy))和EC_AKE-Session-Key(Client Device ID,Client App Sig,Client EnvironmentInformation)发送给安全代理设备。
在204中,主要完成针对客户端的令牌分配。
为了保证安全性,安全代理设备可以在分配令牌之前,首先对接收到的数据进行解密,并验证客户端应用签名和客户端环境信息。
安全代理设备在进行解密时,首先产生客户端验证密钥C-AKE-Session-Key-3和连线密钥C-AKE-Session-Key,产生方式与AKE-3中所述的在客户端的产生方式相同。然后利用C-AKE-Session-Key-3对接收到的EC_AKE-Session-Key-3(Client-Cert,SigClient(3,Client-ID,Proxy-ID,gx,gy))进行解密,得到SigClient(3,Client-ID,Proxy-ID,gx,gy),然后对其进行验证;另外利用C-AKE-Session-Key对接收到的EC_AKE-Session-Key(Client Device ID,Client App Sig,Client Environment Information)进行解密,得到Client Device ID,Client App Sig,Client Environment Information,然后对其进行验证。
在此对客户端信息进行的验证,特别是对客户端环境参数进行的验证,例如设备唯一标识、硬件标识、软件签名及是否越狱或提权等,能够进一步提高防攻击的能力,有效防止伪装者的攻击。需要说明的是,由于客户端预先向安全代理设备注册的过程中,安全代理设备能够获取到客户端环境参数,因此,在这对客户端环境参数进行的验证是基于注册过程中获取的客户端环境参数的。
如果客户端签名和客户端信息均通过验证,则安全代理设备为该客户端分配令牌Access Token,并将该Access Token发送给客户端。在分配令牌时,可以利用连线密钥C_AKE-Session-Key和随机参数生成,其中随机参数可以采用诸如时间戳。在此举一种生成令牌的方式,表示如下:
EAccess-Token-Enc-Key(C_AKE-Session-Key,Client ID,Session-ID,Time Stamp),即利用令牌密钥Access-Token-Enc-Key对C_AKE-Session-Key、Client ID、Session-ID(由安全代理设备生成)和时间戳Time Stamp进行加密后获得令牌。其中Access-Token-Enc-Key只有安全代理设备自己保留,不向外公开。其中,Session-ID为可选内容。如果令牌的生成利用了Session-ID,则在发送令牌给客户端时,需要额外发送EC_AKE-Session-Key(Session-ID,Time Stamp),这里的Time Stamp与令牌中的Time Stamp一致。
令牌的生成,还可以采用另外一种方式,即生成一个令牌连线密钥C_Token-Session-Key,然后采用如下方式生成令牌:
EAccess-Token-Enc-Key(C_Token-Session-Key,Client ID,Session-ID,Time Stamp),即利用令牌密钥Access-Token-Enc-Key对C_Token-Session-Key、Client ID、Session-ID和时间戳Time Stamp进行加密后获得令牌。其中Access-Token-Enc-Key只有安全代理设备自己保留,不向外公开。这种情况下,在发送令牌给客户端的同时,需要额外发送如下内容:
EC_AKE-Session-Key(C_Token-Session-Key,Session-ID,Time Stamp),即利用C_AKE_Session-Key对C_Token-Session-Key、Session-ID和Time Stamp进行加密后得到的值。同样,Session-ID为可选内容,Time Stamp与令牌中的Time Stamp一致。
以上步骤201~204主要是密钥协商和令牌分配的过程,下面就客户端就可以利用协商的密钥和分配的令牌开始与服务器进行通讯。
在205中,客户端利用连线密钥C_AKE-Session-Key对发送给服务器的请求进行加密,将加密后的请求连同令牌Access Token向服务器发送。
加密后的请求可以表示为:EC_AKE-Session-Key(Req,H(Req))。H(Req)为可选项。
如果在上述步骤中,安全代理设备向客户端传送了令牌连线密钥,那么在本步骤中,也可以利用令牌连线密钥C_Token-Session-Key对请求进行加密。此时加密后的请求可以表示为:EC_Token-Session-Key(Req,H(Req)),H(Req)为可选项。
另外,在加密请求的同时,可以同时加密Session-ID。
在206中,安全代理设备获取到上述加密的请求和Access Token,利用C_AKE-Session-Key对请求进行解密并且对Access Token进行验证,即是否为分配给该客户端的令牌,如果验证通过,则将解密后的请求(图中表示为Req)转发给服务器。如果验证失败,则拒绝处理接收到的请求。
其中,对请求进行解密后,可以进一步对解密后得到的请求进行检验,检验是否包含攻击代码。该检验方式可以基于白名单或者黑名单的方式。其中基于白名单的方式主要是基于一些语法格式或者预设的规则,基于黑名单主要是基于一些攻击代码特征。如果检验出请求包含攻击代码,则可以拒绝转发该请求。
同样,本步骤中,也可以利用令牌连线密钥C_Token-Session-Key对请求进行解密。
如果在步骤205中加密请求的同时加密Session-ID,则在本步骤中还可以进一步包括完整性验证的处理,即验证Session-ID是否未使用过且在合理范围。
对于后续步骤208中对响应进行加密的处理,也可以使用C_AKE-Session-Key或C_Token-Session-Key,在步骤28中仅以C_AKE-Session-Key为例。
在207中,安全代理设备获取服务器返回的响应R。
在208中,安全代理设备利用连线密钥C_AKE-Session-Key对服务器返回的响应R进行加密,将加密后的响应转发给客户端。
加密后的响应可以表示为:EC_AKE-Session-Key(R,H(R)),H(R)为可选项。其中加密的内容还可以包括Session_ID,以便客户端利用Session_ID进行完整性检查。
在令牌有效期内,客户端可以通过令牌直接获取访问权限,后续客户端与服务器的通讯可以将Session-ID+1后,重复执行步骤205~208所示的过程。令牌超出有效期后,客户端需要从步骤201开始重新协商密钥和获取令牌。
以上是对本发明所提供的方法进行的详细描述,下面结合实施例对本发明提供的装置进行详细描述。
图3为本发明实施例提供的设置于安全代理服务器的装置结构图,该装置可以通过硬件、软件或虚拟机等形式实现。如图3中所示,该装置可以包括:密钥协商单元01、身份认证单元02、令牌分配单元03、请求处理单元04和响应处理单元05。其中各单元的主要功能如下:
密钥协商单元01负责利用密钥交换机制与客户端进行连线密钥的协商。
身份认证单元02负责对客户端进行身份认证。
令牌分配单元03负责在对客户端进行身份认证通过后,为客户端分配令牌。
请求处理单元04负责接收到客户端发送给服务器的请求时,验证连同请求发送来的令牌是否是为客户端分配的令牌;如果验证通过,则将利用连线密钥或令牌连线密钥对请求进行解密后得到的请求转发给服务器。如果验证出连同请求发送来的令牌不是为客户端分配的令牌,则拒绝处理请求。其中令牌连线密钥是令牌分配单元03为客户端分配后并利用连线密钥进行加密后发送给客户端的。
响应处理单元05负责接收到服务器返回的响应后,利用连线密钥或令牌连线密钥对响应进行加密,将加密后的响应转发给客户端。
其中,上述身份认证单元02对客户端进行的身份认证,可以在连线密钥的协商过程中完成,此时令牌分配单元03在连线密钥协商完成后,为客户端分配令牌。
具体地,密钥协商单元01可以执行以下操作:
操作1:利用密钥协商保护密钥对客户端发送的包含客户端标识的数据进行解密,其中密钥协商保护密钥预先设置于客户端和安全代理设备。例如,解密客户端发送的EC_AKE-Key(Client-ID,(gx mod p),H(gx mod p))后得到Client-ID,在此还可以进一步利用H(gx mod p))对(gx mod p)进行验证,目的是对数据完整性进行验证,验证通过后执行操作2。
操作2:利用解密后得到的客户端标识产生服务器验证密钥,例如利用C_AKE-Session-Key-2=Hash(2,Client-ID,gy,gx,gxy)产生服务器验证密钥C_AKE-Session-Key-2。
操作3:利用服务器验证密钥对包含安全代理设备标识的数据进行加密,将加密后的数据发送给客户端,以便客户端利用客户端标识和安全代理设备标识产生连线密钥。其中在利用服务器验证密钥对包含安全代理设备标识的数据进行加密时,可以利用安全代理设备的根证书私钥对安全代理设备标识和客户端标识进行签名;再利用服务器验证密钥对签名和安全代理设备的证书进行加密。例如,可以利用EC_AKE-Session-Key-2(Proxy-Cert,SigProxy(2,Proxy-ID,Client-ID,gy,gx)),其中SigProxy表示利用安全代理设备的根证书私钥进行签名,该签名得到的SigProxy(2,Proxy-ID,Client-ID,gy,gx)在客户端可以通过安全代理设备的根证书公钥解密。
上述操作均对应于图2中的202。
操作4:利用客户端标识和安全代理设备标识,产生连线密钥。此处采用与客户端一致的方式产生连线密钥,例如C_AKE-Session-Key=Hash(0,Client-ID,Proxy-ID,gx,gy,gxy),产生连线密钥C_AKE-Session-Key。本操作对应于图2中的204。
上述的身份认证单元02可以采用但不限于以下方式或者以下方式的任意结合,对客户端进行身份认证:
第一种方式:获取到客户端标识后,对客户端标识进行认证。身份认证单元02可以在密钥协商单元01执行上述操作1得到客户端标识后,利用该客户端标识进行认证。该认证可以基于白名单或黑名单的方式,判断客户端标识是否在预设的黑名单中,如果否,则客户端通过身份认证,如果是,则客户端未通过身份认证。或者,判断客户端标识是否在预设的白名单中,如果是,则客户端通过身份认证;否则客户端未通过身份认证。
第二种方式:获取到客户端环境信息后,对客户端环境信息进行验证。客户端在生成连线密钥后,可以利用连线密钥对客户端环境信息进行加密后发送给安全代理设备,因此身份认证单元02可以在操作4生成连线密钥后,利用连线密钥对接收到的客户端环境信息进行解密,然后对客户端环境信息进行验证。其中环境信息包括客户端设备标识、客户端应用签名和客户端环境参数中的至少一种,在此特别是对客户端环境参数进行验证。需要说明的是,由于客户端预先向安全代理设备注册的过程中,安全代理设备能够获取到客户端环境参数,因此,在这对客户端环境参数进行的验证是基于注册过程中获取的客户端环境参数的。
第三种方式:获取到客户端应用签名信息后,对客户端应用签名信息进行验证。客户端在生成连线密钥时,会生成客户端验证密钥,利用客户端验证密钥对客户端应用签名进行加密后发送给安全代理服务器。安全代理服务器利用客户端标识和安全代理设备标识,采用与客户端相同的方式生成客户端验证密钥,再利用客户端验证密钥对客户端应用签名进行解密,然后对该客户端应用签名进行验证。
上述令牌分配单元03在为客户端分配令牌时,可以利用令牌密钥对包含连线密钥和随机参数的数据或者对包含令牌连线密钥和随机参数的数据进行加密,得到为客户端分配的令牌,令牌密钥预置于安全代理设备或者由安全代理设备动态产生。例如,可以采用EAccess-Token-Enc-Key(C_AKE-Session-Key,Client ID,Session-ID,Time Stamp),即利用令牌密钥Access-Token-Enc-Key对C_AKE-Session-Key、Client ID、Session-ID(连线序列号)和时间戳Time Stamp进行加密后获得令牌。其中Access-Token-Enc-Key只有安全代理设备自己保留,不向外公开。其中,Session-ID为可选内容。
令牌的生成,还可以采用另外一种方式,即生成一个令牌连线密钥C_Token-Session-Key,然后采用如下方式生成令牌:
EAccess-Token-Enc-Key(C_Token-Session-Key,Client ID,Session-ID,Time Stamp),即利用令牌密钥Access-Token-Enc-Key对C_Token-Session-Key、Client ID、Session-ID和时间戳Time Stamp进行加密后获得令牌。其中Access-Token-Enc-Key只有安全代理设备自己保留,不向外公开。
更进一步地,令牌分配单元03在发送令牌时,进一步发送利用连线密钥对连线序列号进行加密后的数据。请求处理单元04在对请求进行解密时,解密得到连线序列号,进一步验证连线序列号是否正确,只有连线序列号正确才将解密后得到的请求转发给服务器。响应处理单元05在对响应进行加密时,进一步加密连线序列号,将加密后的连线序列号发送给客户端。
图4为本发明实施例提供的设置于客户端的装置结构图,如图4所示,该装置可以包括:密钥协商单元11、令牌获取单元12、请求发送单元13和响应获取单元14,还包括身份提供单元15。其中各单元的主要功能如下:
密钥协商单元11负责利用密钥交换机制与安全代理设备进行连线密钥的协商。
令牌获取单元12负责获取安全代理设备在对客户端进行身份认证通过后分配给客户端的令牌。
请求发送单元13负责利用连线密钥或令牌连线密钥对发送给服务器的请求进行加密,将加密后的请求连同令牌发送至安全代理设备。
响应获取单元14负责获取安全代理设备转发来的响应,利用连线密钥或令牌连线密钥对响应进行解密。
其中,令牌连线密钥是安全代理设备分配给客户端,并利用连线密钥加密该令牌连线密钥后发送给客户端的。
具体地,密钥协商单元11可以执行以下操作:
操作1:利用密钥协商保护密钥对包含客户端标识的数据进行加密,将加密后的数据发送给安全代理设备,其中密钥协商保护密钥预先设置于客户端和安全代理设备。例如,将EC_AKE-Key(Client-ID,(gx mod p),H(gx mod p))发送给安全代理设备,本操作对应图2中的步骤101。
操作2:利用服务器验证密钥对安全代理设备发送的包含安全代理设备标识的数据进行解密,服务器验证密钥是利用客户端标识产生的。在本操作中,可以首先利用客户端标识Client-ID产生服务器验证密钥C_AKE-Session-Key-2,产生方式与安全代理设备采用的方式相同。然后利用服务器验密钥对安全代理设备发送的数据进行解密,得到安全代理设备的证书Proxy-Cert和利用安全代理设备的根证书私钥对安全代理设备标识Proxy-ID和客户端标识Client-ID进行的签名SigProxy(2,Proxy-ID,Client-ID,gy,gx)。然后利用安全代理设备的根证书公钥对SigProxy(2,Proxy-ID,Client-ID,gy,gx)进行解密,得到安全代理设备标识Proxy-ID。
操作3:利用客户端标识和解密得到的安全代理设备标识产生连线密钥。例如,可以采用C_AKE-Session-Key=Hash(0,Client-ID,Proxy-ID,gx,gy,gxy)的方式产生连线密钥C_AKE-Session-Key。
身份提供单元15可以将客户端标识、客户端环境信息以及客户端签名信息中的至少一种发送给安全代理设备,以便安全代理设备对客户端进行身份认证。
其中身份提供单元15可以通过上述操作1将客户端标识提供给安全代理设备。
身份提供单元15在将客户端环境信息发送给安全代理设备时,可以利用连线密钥对客户端环境信息进行加密,将加密后的客户端环境信息发送给安全代理设备;环境信息包括客户端设备标识、客户端应用签名和客户端环境参数中的至少一种。例如利用连线密钥C_AKE-Session-Key对客户端环境信息进行加密后得到的数据可以表示为:
EC_AKE-Session-Key(Client Device ID,Client App Sig,Client EnvironmentInformation)
身份提供单元15在将客户端签名信息发送给安全代理设备时,可以利用客户端标识和安全代理设备标识生成客户端验证密钥,利用客户端验证密钥对客户端签名信息进行加密,将加密后的客户端签名信息发送给安全代理设备。例如,客户端验证密钥C-AKE-Session-Key-3可以采用如下方式产生:C_AKE-Session-Key-3=Hash(3,Client-ID,Proxy-ID,gx,gy,gxy)。利用客户端验证密钥对客户端签名信息进行加密可以表示为:EC_AKE-Session-Key-3(Client-Cert,SigClient(3,Client-ID,Proxy-ID,gx,gy)),其中SigClient(3,Client-ID,Proxy-ID,gx,gy)为客户端应用签名,该SigClient为利用客户端的根证书私钥进行签名。
另外,令牌获取单元12在获取令牌时,进一步获取利用连线密钥加密后的连线序列号,利用连线密钥对获取的连线序列号进行解密。请求发送单元13在对请求进行加密时,进一步加密连线序列号。响应获取单元14对接收到的响应进行解密时,进一步解密得到连线序列号,验证连线序列号是否正确,如果不正确,则丢弃该响应。
需要说明的是,本发明对加解密算法并不加以限制,只要保证客户端与安全代理设备采用一致的加解密算法即可。
本发明提供的方法和装置,一方面通过协商的连线密钥对客户端与安全代理设备之间的报文进行加密,防止数据泄露,另一方面通过安全代理设备为客户端分配的令牌实现对服务器的访问控制,防止中间人对服务器的非法攻击、非法客户端对服务器的访问,通过这种机制保障了客户端与服务器之间的通讯安全。
在本发明所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本发明各个实施例所述方法的部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。
Claims (34)
1.一种安全通讯的方法,其特征在于,该方法由设置于客户端和服务器之间的安全代理设备执行,该方法包括:
利用密钥交换机制与客户端进行连线密钥的协商;以及在对所述客户端进行身份认证通过后,为所述客户端分配令牌;
接收到所述客户端发送给服务器的请求时,验证连同所述请求发送来的令牌是否是为所述客户端分配的令牌;如果验证通过,则将利用所述连线密钥或令牌连线密钥对所述请求进行解密后得到的请求转发给所述服务器;其中,所述令牌连线密钥是为客户端分配后利用所述连线密钥发送给所述客户端的;
接收到所述服务器返回的响应后,利用所述连线密钥或令牌连线密钥对所述响应进行加密,将加密后的响应转发给所述客户端;
其中,为所述客户端分配令牌包括:
利用令牌密钥对包含所述连线密钥和随机参数的数据或对包含所述令牌连线密钥和随机参数的数据进行加密,得到为所述客户端分配的令牌,所述令牌密钥预置于所述安全代理设备或由所述安全代理设备动态产生。
2.根据权利要求1所述的方法,其特征在于,在所述连线密钥的协商过程中对所述客户端进行身份认证;
在所述连线密钥协商完成后,为所述客户端分配令牌。
3.根据权利要求1所述的方法,其特征在于,所述利用密钥交换机制与客户端进行连线密钥的协商包括:
利用密钥协商保护密钥对客户端发送的包含客户端标识的数据进行解密,其中所述密钥协商保护密钥预先设置于所述客户端和所述安全代理设备;
利用解密后得到的客户端标识产生服务器验证密钥;
利用所述服务器验证密钥对包含安全代理设备标识的数据进行加密,将加密后的数据发送给所述客户端,以便所述客户端利用所述客户端标识和所述安全代理设备标识产生连线密钥;
利用所述客户端标识和所述安全代理设备标识,产生连线密钥。
4.根据权利要求3所述的方法,其特征在于,利用所述服务器验证密钥对包含安全代理设备标识的数据进行加密包括:
利用安全代理设备的根证书私钥对所述安全代理设备标识和所述客户端标识进行签名;
利用所述服务器验证密钥对所述签名和安全代理设备的证书进行加密。
5.根据权利要求1、2或3所述的方法,其特征在于,对所述客户端进行身份认证包括:
获取到客户端标识后,对所述客户端标识进行认证;和/或,
获取到客户端环境信息后,对所述客户端环境信息进行验证;和/或,
获取到客户端签名信息后,对所述客户端签名信息进行验证。
6.根据权利要求5所述的方法,其特征在于,对所述客户端标识进行认证包括:
判断所述客户端标识是否在预设的黑名单中,如果否,则所述客户端通过身份认证,如果是,则所述客户端未通过身份认证;或者,
判断所述客户端标识是否在预设的白名单中,如果是,则所述客户端通过身份认证;否则所述客户端未通过身份认证。
7.根据权利要求5所述的方法,其特征在于,所述获取到客户端环境信息包括:
利用所述连线密钥对客户端发送的客户端环境信息进行解密;所述环境信息包括客户端设备标识、客户端应用签名和客户端环境参数中的至少一种。
8.根据权利要求5所述的方法,其特征在于,所述获取到客户端签名信息包括:
利用客户端标识和安全代理设备标识生成客户端验证密钥,利用客户端验证密钥对客户端发送的客户端签名信息进行解密。
9.根据权利要求1所述的方法,其特征在于,在发送令牌时,进一步发送利用所述连线密钥对连线序列号进行加密后的数据,所述连线序列号由所述安全代理设备生成;
在对所述请求进行解密时,解密得到所述连线序列号,进一步验证所述连线序列号是否正确,只有所述连线序列号正确才将解密后得到的请求转发给所述服务器;
在对所述响应进行加密时,进一步加密所述连线序列号,将加密后的连线序列号发送给所述客户端。
10.根据权利要求1所述的方法,其特征在于,该方法还包括:
如果验证出连同所述请求发送来的令牌不是为所述客户端分配的令牌,则拒绝处理所述请求。
11.一种安全通讯的方法,其特征在于,该方法应用于包含客户端、安全代理设备和服务器的***,该方法包括:
所述客户端利用密钥交换机制与所述安全代理设备进行连线密钥的协商,以及获取所述安全代理设备在对所述客户端进行身份认证通过后分配给所述客户端的令牌;其中,分配给所述客户端的令牌是所述安全代理设备利用令牌密钥对包含所述连线密钥和随机参数的数据或对包含令牌连线密钥和随机参数的数据进行加密后得到的,所述令牌密钥预置于所述安全代理设备或由所述安全代理设备动态产生;
利用所述连线密钥或令牌连线密钥对发送给所述服务器的请求进行加密,将加密后的请求连同所述令牌发送至所述安全代理设备;
获取所述安全代理设备转发来的响应,利用所述连线密钥或所述令牌连线密钥对所述响应进行解密;
其中所述令牌连线密钥是所述安全代理设备分配给客户端,并利用所述连线密钥加密所述令牌连线密钥后发送给所述客户端的。
12.根据权利要求11所述的方法,其特征在于,所述客户端利用密钥交换机制与所述安全代理设备进行连线密钥的协商包括:
利用密钥协商保护密钥对包含客户端标识的数据进行加密,将加密后的数据发送给所述安全代理设备,其中所述密钥协商保护密钥预先设置于所述客户端和所述安全代理设备;
利用服务器验证密钥对所述安全代理设备发送的包含安全代理设备标识的数据进行解密,所述服务器验证密钥是利用所述客户端标识产生的;
利用所述客户端标识和解密得到的安全代理设备标识产生连线密钥。
13.根据权利要求12所述的方法,其特征在于,所述包含安全代理设备标识的数据包括:
安全代理设备的证书,以及利用安全代理设备的根证书私钥对所述安全代理设备标识和所述客户端标识进行的签名。
14.根据权利要求11所述的方法,其特征在于,该方法还包括:
所述客户端将客户端标识、客户端环境信息以及客户端签名信息中的至少一种发送给所述安全代理设备,以便所述安全代理设备对所述客户端进行身份认证。
15.根据权利要求14所述的方法,其特征在于,所述客户端将客户端环境信息发送给所述安全代理设备包括:
利用所述连线密钥对客户端环境信息进行加密,将加密后的客户端环境信息发送给所述安全代理设备;所述环境信息包括客户端设备标识、客户端应用签名和客户端环境参数中的至少一种。
16.根据权利要求14所述的方法,其特征在于,所述客户端将客户端签名信息发送给所述安全代理设备包括:
利用客户端标识和安全代理设备标识生成客户端验证密钥,利用所述客户端验证密钥对客户端签名信息进行加密,将加密后的客户端签名信息发送给所述安全代理设备。
17.根据权利要求11所述的方法,其特征在于,在获取所述令牌时,进一步获取利用所述连线密钥加密后的连线序列号,利用所述连线密钥对获取的连线序列号进行解密;
在对所述请求进行加密时,进一步加密所述连线序列号;
对所述响应进行解密时,进一步解密得到连线序列号,验证所述连线序列号是否正确,如果不正确,则丢弃所述响应。
18.一种安全通讯的装置,其特征在于,该装置设置于客户端和服务器之间的安全代理设备中,该装置包括:
密钥协商单元,用于利用密钥交换机制与客户端进行连线密钥的协商;
身份认证单元,用于对所述客户端进行身份认证;
令牌分配单元,用于在对所述客户端进行身份认证通过后,为所述客户端分配令牌;
请求处理单元,用于接收到所述客户端发送给服务器的请求时,验证连同所述请求发送来的令牌是否是为所述客户端分配的令牌;如果验证通过,则将利用所述连线密钥或令牌连线密钥对所述请求进行解密后得到的请求转发给所述服务器;其中,所述令牌连线密钥是所述令牌分配单元为客户端分配后并利用所述连线密钥进行加密后发送给所述客户端的;
响应处理单元,用于接收到所述服务器返回的响应后,利用所述连线密钥或令牌连线密钥对所述响应进行加密,将加密后的响应转发给所述客户端;
其中,所述令牌分配单元在为所述客户端分配令牌时,具体执行:
利用令牌密钥对包含所述连线密钥和随机参数的数据或对包含所述令牌连线密钥和随机参数的数据进行加密,得到为所述客户端分配的令牌,所述令牌密钥预置于所述安全代理设备或由所述所述安全代理设备动态产生。
19.根据权利要求18所述的装置,其特征在于,所述身份认证单元在所述连线密钥的协商过程中对所述客户端进行身份认证;
所述令牌分配单元在所述连线密钥协商完成后,为所述客户端分配令牌。
20.根据权利要求18所述的装置,其特征在于,所述密钥协商单元具体执行:
利用密钥协商保护密钥对客户端发送的包含客户端标识的数据进行解密,其中所述密钥协商保护密钥预先设置于所述客户端和所述安全代理设备;
利用解密后得到的客户端标识产生服务器验证密钥;
利用所述服务器验证密钥对包含安全代理设备标识的数据进行加密,将加密后的数据发送给所述客户端,以便所述客户端利用所述客户端标识和所述安全代理设备标识产生连线密钥;
利用所述客户端标识和所述安全代理设备标识,产生连线密钥。
21.根据权利要求20所述的装置,其特征在于,所述密钥协商单元在利用所述服务器验证密钥对包含安全代理设备标识的数据进行加密时,具体执行:
利用安全代理设备的根证书私钥对所述安全代理设备标识和所述客户端标识进行签名;
利用所述服务器验证密钥对所述签名和安全代理设备的证书进行加密。
22.根据权利要求18、19或20所述的装置,所述身份认证单元,具体用于:
获取到客户端标识后,对所述客户端标识进行认证;和/或,
获取到客户端环境信息后,对所述客户端环境信息进行验证;和/或,
获取到客户端签名信息后,对所述客户端签名信息进行验证。
23.根据权利要求22所述的装置,其特征在于,所述身份认证单元在对所述客户端标识进行认证时,具体执行:
判断所述客户端标识是否在预设的黑名单中,如果否,则所述客户端通过身份认证,如果是,则所述客户端未通过身份认证;或者,
判断所述客户端标识是否在预设的白名单中,如果是,则所述客户端通过身份认证;否则所述客户端未通过身份认证。
24.根据权利要求22所述的装置,其特征在于,所述身份认证单元在获取客户端环境信息时,具体执行:
利用所述连线密钥对客户端发送的客户端环境信息进行解密;所述环境信息包括客户端设备标识、客户端应用签名和客户端环境参数中的至少一种。
25.根据权利要求22所述的装置,其特征在于,所述身份认证单元在获取客户端签名信息时,具体执行:
利用客户端标识和安全代理设备标识生成客户端验证密钥,利用客户端验证密钥对客户端发送的客户端签名信息进行解密。
26.根据权利要求18所述的装置,其特征在于,所述令牌分配单元在发送令牌时,进一步发送利用所述连线密钥对连线序列号进行加密后的数据,所述连线序列号由安全代理设备生成;
所述请求处理单元在对所述请求进行解密时,解密得到所述连线序列号,进一步验证所述连线序列号是否正确,只有所述连线序列号正确才将解密后得到的请求转发给所述服务器;
所述响应处理单元在对所述响应进行加密时,进一步加密所述连线序列号,将加密后的连线序列号发送给所述客户端。
27.根据权利要求18所述的装置,其特征在于,所述请求处理单元,还用于如果验证出连同所述请求发送来的令牌不是为所述客户端分配的令牌,则拒绝处理所述请求。
28.一种安全通讯的装置,其特征在于,设置于客户端,该装置包括:
密钥协商单元,用于利用密钥交换机制与安全代理设备进行连线密钥的协商;
令牌获取单元,用于获取所述安全代理设备在对所述客户端进行身份认证通过后分配给所述客户端的令牌;其中,分配给所述客户端的令牌是所述安全代理设备利用令牌密钥对包含所述连线密钥和随机参数的数据或对包含令牌连线密钥和随机参数的数据进行加密后得到的,所述令牌密钥预置于所述安全代理设备或由所述安全代理设备动态产生;
请求发送单元,用于利用所述连线密钥或令牌连线密钥对发送给服务器的请求进行加密,将加密后的请求连同所述令牌发送至所述安全代理设备;
响应获取单元,用于获取所述安全代理设备转发来的响应,利用所述连线密钥或所述令牌连线密钥对所述响应进行解密;
其中所述令牌连线密钥是所述安全代理设备分配给客户端,并利用所述连线密钥加密所述令牌连线密钥后发送给所述客户端的。
29.根据权利要求28所述的装置,其特征在于,所述密钥协商单元,具体用于:
利用密钥协商保护密钥对包含客户端标识的数据进行加密,将加密后的数据发送给所述安全代理设备,其中所述密钥协商保护密钥预先设置于所述客户端和所述安全代理设备;
利用服务器验证密钥对所述安全代理设备发送的包含安全代理设备标识的数据进行解密,所述服务器验证密钥是利用所述客户端标识产生的;
利用所述客户端标识和解密得到的安全代理设备标识产生连线密钥。
30.根据权利要求29所述的装置,其特征在于,所述包含安全代理设备标识的数据包括:
安全代理设备的证书,以及利用安全代理设备的根证书私钥对所述安全代理设备标识和所述客户端标识进行的签名。
31.根据权利要求28所述的装置,其特征在于,该装置还包括:身份提供单元,用于将客户端标识、客户端环境信息以及客户端签名信息中的至少一种发送给所述安全代理设备,以便所述安全代理设备对所述客户端进行身份认证。
32.根据权利要求31所述的装置,其特征在于,所述身份提供单元在将客户端环境信息发送给所述安全代理设备时,具体执行:
利用所述连线密钥对客户端环境信息进行加密,将加密后的客户端环境信息发送给所述安全代理设备;所述环境信息包括客户端设备标识、客户端应用签名和客户端环境参数中的至少一种。
33.根据权利要求31所述的装置,其特征在于,所述身份提供单元在将客户端签名信息发送给所述安全代理设备时,具体执行:
利用客户端标识和安全代理设备标识生成客户端验证密钥,利用所述客户端验证密钥对客户端签名信息进行加密,将加密后的客户端签名信息发送给所述安全代理设备。
34.根据权利要求28所述的装置,其特征在于,所述令牌获取单元在获取所述令牌时,进一步获取利用所述连线密钥加密后的连线序列号,利用所述连线密钥对获取的连线序列号进行解密;
所述请求发送单元在对所述请求进行加密时,进一步加密所述连线序列号;
所述响应获取单元对所述响应进行解密时,进一步解密得到连线序列号,验证所述连线序列号是否正确,如果不正确,则丢弃所述响应。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510245307.2A CN105471833B (zh) | 2015-05-14 | 2015-05-14 | 一种安全通讯方法和装置 |
PCT/CN2016/079856 WO2016180204A1 (zh) | 2015-05-14 | 2016-04-21 | 一种安全通讯方法和装置 |
US15/146,814 US10142297B2 (en) | 2015-05-14 | 2016-05-04 | Secure communication method and apparatus |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510245307.2A CN105471833B (zh) | 2015-05-14 | 2015-05-14 | 一种安全通讯方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105471833A CN105471833A (zh) | 2016-04-06 |
CN105471833B true CN105471833B (zh) | 2019-04-16 |
Family
ID=55609105
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510245307.2A Active CN105471833B (zh) | 2015-05-14 | 2015-05-14 | 一种安全通讯方法和装置 |
Country Status (3)
Country | Link |
---|---|
US (1) | US10142297B2 (zh) |
CN (1) | CN105471833B (zh) |
WO (1) | WO2016180204A1 (zh) |
Families Citing this family (36)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105471833B (zh) * | 2015-05-14 | 2019-04-16 | 瑞数信息技术(上海)有限公司 | 一种安全通讯方法和装置 |
CN105491001B (zh) * | 2015-05-14 | 2017-02-22 | 瑞数信息技术(上海)有限公司 | 一种安全通讯方法和装置 |
US9767318B1 (en) | 2015-08-28 | 2017-09-19 | Frank Dropps | Secure controller systems and associated methods thereof |
US9882894B2 (en) * | 2015-12-15 | 2018-01-30 | Verizon Patent And Licensing Inc. | Secure authentication service |
US10277407B2 (en) * | 2016-04-19 | 2019-04-30 | Microsoft Technology Licensing, Llc | Key-attestation-contingent certificate issuance |
US10116634B2 (en) * | 2016-06-28 | 2018-10-30 | A10 Networks, Inc. | Intercepting secure session upon receipt of untrusted certificate |
US10348713B2 (en) * | 2016-09-16 | 2019-07-09 | Oracle International Corporation | Pluggable authentication for enterprise web application |
WO2018170367A1 (en) * | 2017-03-17 | 2018-09-20 | Icrypto, Inc. | System and method for dual notifications and responses |
CN107026730B (zh) * | 2017-04-01 | 2021-01-05 | 北京深思数盾科技股份有限公司 | 数据处理方法、装置及*** |
CN107357631A (zh) * | 2017-07-17 | 2017-11-17 | 郑州云海信息技术有限公司 | 一种管理虚拟机密钥的方法和装置及计算机可读存储介质 |
BR112020000870A2 (pt) * | 2017-07-21 | 2020-07-21 | Huawei International Pte. Ltd. | método de transmissão de dados, dispositivo e sistema relacionados ao mesmo |
US11019073B2 (en) * | 2017-07-23 | 2021-05-25 | AtScale, Inc. | Application-agnostic resource access control |
CN107508819B (zh) * | 2017-09-05 | 2020-06-05 | 广东思派康电子科技有限公司 | 加密方法和加密装置 |
CN107508673A (zh) * | 2017-09-11 | 2017-12-22 | 金蝶软件(中国)有限公司 | Erp与第三方组件之间密钥获取的方法及相关装置 |
CN107612926B (zh) * | 2017-10-12 | 2020-09-29 | 成都知道创宇信息技术有限公司 | 一种基于客户端识别的一句话WebShell拦截方法 |
CN110740116B (zh) * | 2018-07-20 | 2023-06-30 | 北京思源理想控股集团有限公司 | 一种多应用身份认证的***及方法 |
US20200106612A1 (en) * | 2018-09-28 | 2020-04-02 | Yokogawa Electric Corporation | System and method for providing cloud service |
EP3888301A4 (en) * | 2018-11-26 | 2022-08-24 | Forticode Ltd | MUTUAL AUTHENTICATION OF COMPUTER SYSTEMS ON AN UNSECURED NETWORK |
CN110046192B (zh) * | 2019-04-22 | 2021-08-20 | 广州荔支网络技术有限公司 | 请求信息的序号生成***和方法 |
US11303588B1 (en) * | 2019-09-05 | 2022-04-12 | Meta Platforms, Inc. | Automating a response to a message communicated to a business entity via an online messaging application |
US10985921B1 (en) | 2019-11-05 | 2021-04-20 | Capital One Services, Llc | Systems and methods for out-of-band authenticity verification of mobile applications |
CN111131215B (zh) * | 2019-12-18 | 2022-08-05 | 深圳市任子行科技开发有限公司 | 一种无感知审计部署方法及装置 |
CN111475824B (zh) * | 2020-03-23 | 2023-05-05 | 深圳前海百递网络有限公司 | 数据访问方法、装置、设备和存储介质 |
CN111510460A (zh) * | 2020-04-24 | 2020-08-07 | 武汉火神信息科技有限公司 | 集中管理主机并拦截转发指令的安全服务*** |
US11134074B1 (en) * | 2020-05-22 | 2021-09-28 | Fmr Llc | Systems and methods for secure HTTP connections using a distributed certificate validation model |
US11979395B2 (en) * | 2020-09-28 | 2024-05-07 | Sap Se | Application security through deceptive authentication |
CN112383912B (zh) * | 2020-11-02 | 2022-08-02 | 中国联合网络通信集团有限公司 | 开户方法、服务器、***及存储介质 |
CN112689283B (zh) * | 2020-12-15 | 2021-11-23 | 青海大学 | 一种密钥保护和协商方法、***和存储介质 |
CN112688949B (zh) * | 2020-12-25 | 2022-12-06 | 北京浪潮数据技术有限公司 | 一种访问方法、装置、设备及计算机可读存储介质 |
CN113055169B (zh) * | 2021-03-29 | 2023-04-14 | 京东方科技集团股份有限公司 | 数据加密方法、装置、电子设备及存储介质 |
CN114158047B (zh) * | 2021-12-30 | 2024-06-11 | 支付宝(杭州)信息技术有限公司 | 一键登录业务的实现方法和装置 |
CN114553570B (zh) * | 2022-02-25 | 2024-04-12 | 中国建设银行股份有限公司 | 生成令牌的方法、装置、电子设备及存储介质 |
CN115086053A (zh) * | 2022-06-23 | 2022-09-20 | 支付宝(杭州)信息技术有限公司 | 用于识别伪装设备的方法和*** |
US20240154945A1 (en) * | 2022-11-04 | 2024-05-09 | OpenMethods | System and method for third party service integration into a browser client application |
CN116743461B (zh) * | 2023-06-15 | 2023-12-22 | 上海银满仓数字科技有限公司 | 基于时间戳的商品数据加密方法和装置 |
CN117728958A (zh) * | 2024-02-05 | 2024-03-19 | 浙江大华技术股份有限公司 | 一种通信方法、装置和*** |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6965939B2 (en) * | 2001-01-05 | 2005-11-15 | International Business Machines Corporation | Method and apparatus for processing requests in a network data processing system based on a trust association between servers |
CN101247391A (zh) * | 2007-12-28 | 2008-08-20 | 上海电力学院 | Opc安全代理***及其代理方法 |
CN101674304A (zh) * | 2009-10-15 | 2010-03-17 | 浙江师范大学 | 一种网络身份认证***及方法 |
CN103179115A (zh) * | 2013-03-18 | 2013-06-26 | 中国科学院信息工程研究所 | 一种面向云电视终端跨云应用的云服务访问控制方法 |
CN104023085A (zh) * | 2014-06-25 | 2014-09-03 | 武汉大学 | 一种基于增量同步的安全云存储*** |
CN104350501A (zh) * | 2012-05-25 | 2015-02-11 | 佳能株式会社 | 授权服务器和客户端设备、服务器协作***和令牌管理方法 |
Family Cites Families (35)
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 |
US7113994B1 (en) * | 2000-01-24 | 2006-09-26 | Microsoft Corporation | System and method of proxy authentication in a secured network |
US20020026578A1 (en) * | 2000-08-22 | 2002-02-28 | International Business Machines Corporation | Secure usage of digital certificates and related keys on a security token |
US7219154B2 (en) | 2002-12-31 | 2007-05-15 | International Business Machines Corporation | Method and system for consolidated sign-off in a heterogeneous federated environment |
US7421576B1 (en) * | 2003-01-16 | 2008-09-02 | The United States Of America As Represented By The United States Department Of Energy | Interception and modification of network authentication packets with the purpose of allowing alternative authentication modes |
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 |
US8340283B2 (en) * | 2004-06-30 | 2012-12-25 | International Business Machines Corporation | Method and system for a PKI-based delegation process |
AU2006303992A1 (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 | ***通信集团公司 | 引入鉴权客户端实现业务鉴权的***及方法 |
JP5423397B2 (ja) | 2007-12-27 | 2014-02-19 | 日本電気株式会社 | アクセス権限管理システム、アクセス権限管理方法及びアクセス権限管理用プログラム |
US20110066681A1 (en) | 2008-05-14 | 2011-03-17 | Naoki Shiota | Client device, control method thereof, program, server device, control method thereof, communication system, and control method thereof |
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 |
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 |
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 | 可牛网络技术(北京)有限公司 | 一种通信安全校验方法及其装置 |
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 |
-
2015
- 2015-05-14 CN CN201510245307.2A patent/CN105471833B/zh active Active
-
2016
- 2016-04-21 WO PCT/CN2016/079856 patent/WO2016180204A1/zh active Application Filing
- 2016-05-04 US US15/146,814 patent/US10142297B2/en active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6965939B2 (en) * | 2001-01-05 | 2005-11-15 | International Business Machines Corporation | Method and apparatus for processing requests in a network data processing system based on a trust association between servers |
CN101247391A (zh) * | 2007-12-28 | 2008-08-20 | 上海电力学院 | Opc安全代理***及其代理方法 |
CN101674304A (zh) * | 2009-10-15 | 2010-03-17 | 浙江师范大学 | 一种网络身份认证***及方法 |
CN104350501A (zh) * | 2012-05-25 | 2015-02-11 | 佳能株式会社 | 授权服务器和客户端设备、服务器协作***和令牌管理方法 |
CN103179115A (zh) * | 2013-03-18 | 2013-06-26 | 中国科学院信息工程研究所 | 一种面向云电视终端跨云应用的云服务访问控制方法 |
CN104023085A (zh) * | 2014-06-25 | 2014-09-03 | 武汉大学 | 一种基于增量同步的安全云存储*** |
Also Published As
Publication number | Publication date |
---|---|
US10142297B2 (en) | 2018-11-27 |
US20160337321A1 (en) | 2016-11-17 |
WO2016180204A1 (zh) | 2016-11-17 |
CN105471833A (zh) | 2016-04-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105471833B (zh) | 一种安全通讯方法和装置 | |
CN107465689B (zh) | 云环境下的虚拟可信平台模块的密钥管理***及方法 | |
US10015159B2 (en) | Terminal authentication system, server device, and terminal authentication method | |
JP2020202594A (ja) | セキュアセッションの確立と暗号化データ交換のためのコンピュータ利用システム及びコンピュータ利用方法 | |
CN112235235B (zh) | 一种基于国密算法的sdp认证协议实现方法 | |
CN112751821B (zh) | 一种数据传输方法、电子设备和一种存储介质 | |
CN104506534A (zh) | 安全通信密钥协商交互方案 | |
JP6548172B2 (ja) | 端末認証システム、サーバ装置、及び端末認証方法 | |
CN112351037B (zh) | 用于安全通信的信息处理方法及装置 | |
CA2551113A1 (en) | Authentication system for networked computer applications | |
CN111756529B (zh) | 一种量子会话密钥分发方法及*** | |
CN111030814A (zh) | 秘钥协商方法及装置 | |
CN111756528B (zh) | 一种量子会话密钥分发方法、装置及通信架构 | |
CN104243439A (zh) | 文件传输处理方法、***及终端 | |
JP5452192B2 (ja) | アクセス制御システム、アクセス制御方法およびプログラム | |
CN114513339A (zh) | 一种安全认证方法、***及装置 | |
US20090276622A1 (en) | Secret authentication system | |
CN111130775A (zh) | 一种密钥协商方法、装置及设备 | |
Hartman et al. | A generalized framework for Kerberos pre-authentication | |
CN100544254C (zh) | 一种实现网络接入认证的方法 | |
CN116055207B (zh) | 一种物联网通讯数据的加密方法及*** | |
CN110225011B (zh) | 用户节点的认证方法、设备及计算机可读存储介质 | |
WO2021017660A1 (zh) | 一种维护操作的执行方法及装置 | |
KR20120089903A (ko) | 비실시간 iptv 시스템을 위한 인증 장치 및 방법 | |
KR100917564B1 (ko) | Id 기반 티켓인증방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |