CN110190955B - 基于安全套接层协议认证的信息处理方法及装置 - Google Patents

基于安全套接层协议认证的信息处理方法及装置 Download PDF

Info

Publication number
CN110190955B
CN110190955B CN201910447394.8A CN201910447394A CN110190955B CN 110190955 B CN110190955 B CN 110190955B CN 201910447394 A CN201910447394 A CN 201910447394A CN 110190955 B CN110190955 B CN 110190955B
Authority
CN
China
Prior art keywords
message
server
session
data
handshake message
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201910447394.8A
Other languages
English (en)
Other versions
CN110190955A (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.)
New H3C Security Technologies Co Ltd
Original Assignee
New H3C Security Technologies 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 New H3C Security Technologies Co Ltd filed Critical New H3C Security Technologies Co Ltd
Priority to CN201910447394.8A priority Critical patent/CN110190955B/zh
Publication of CN110190955A publication Critical patent/CN110190955A/zh
Application granted granted Critical
Publication of CN110190955B publication Critical patent/CN110190955B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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/02Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
    • 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
    • H04L63/0435Network 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 wherein the sending and receiving network entities apply symmetric encryption, i.e. same key used for encryption and decryption
    • 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/0869Network architectures or network communication protocols for network security for authentication of entities for achieving mutual authentication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/16Implementing security features at a particular protocol layer
    • H04L63/168Implementing security features at a particular protocol layer above the transport layer
    • 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/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • 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/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0838Key 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
    • 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/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0869Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds

Landscapes

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

Abstract

本申请实施例提供了一种基于安全套接层协议认证的信息处理方法及装置。防火墙设备从用户设备与服务器交互的第一握手报文、第二握手报文和密钥交换报文中,分别获取客户端随机数、服务器随机数、加密算法和加密随机数据。防火墙设备将加密随机数据和加密算法发送给服务器。服务器利用服务器的私钥和加密算法对加密随机数据进行解密处理,得到原始随机数据,将原始随机数据发送给防火墙设备。防火墙设备根据原始随机数据、客户端随机数和服务器随机数,生成用户设备与服务器间通信的加密密钥。应用本申请实施例提供的技术方案,能够实现对SSL协议双向认证的加密数据进行安全检测。

Description

基于安全套接层协议认证的信息处理方法及装置
技术领域
本申请涉及通信技术领域,特别是涉及一种基于安全套接层协议认证的信息处理方法及装置。
背景技术
随着互联网技术的发展,接入互联网的设备越来越多。为了提高两个设备间通信的安全性,常常采用安全套接层(英文:Secure Sockets Layer,简称:SSL)协议进行认证,建立SSL连接,进而对传输的数据进行加密。SSL协议认证分为单向认证和双向认证。单向认证为用户设备对服务器的认证。双向认证包括用户设备对服务器的认证和服务器对用户设备的认证。
对于单向认证,目前可通过将防火墙设备作为“中间人”的方式,实现SSL协议认证。其工作基本原理分为两部分:第一部分为用户设备对防火墙设备的认证,第二部分为防火墙设备对服务器的认证。对于第一部分,用户设备从防火墙设备获取证书,对比获取的证书与用户设备上安装的防火墙证书,若二者匹配,则确定对获取的证书认证成功,防火墙设备合法,从获取的证书获取出通信的公钥,以该公钥对协商数据加密后,传输给防火墙设备,防火墙设备可以利用本身的私钥对加密的协商数据进行解密,防火墙设备可根据解密后得到的协商数据计算得出用户设备侧用于数据加解密的加密密钥。对于第二部分,防火墙设备从服务器获取证书,对比获取的证书与防火墙设备上安装的服务器证书,若二者匹配,则确定对获取的证书认证成功,服务器合法,从获取的证书获取出通信的公钥,以该公钥对协商数据加密后,传输给服务器,服务器可以利用本身的私钥对加密的协商数据进行解密,根据解密后得到的协商数据计算得出服务器侧用于数据加解密的加密密钥。
对于双向认证,其工作基本原理为:用户设备和服务器间相互认证,即:用户设备从服务器获取证书,以对获取的服务器的证书进行认证,以及服务器从用户设备获取证书,以对获取的用户设备的证书的进行认证。用户设备和服务器在对各自获取的证书认证成功后,分别基于用户设备和服务器间传输的协商数据,生成用户设备与服务器间用于数据加解密的加密密钥。
针对上述单向认证,防火墙设备可分别获取到用户设备侧和服务器侧用于数据加密的加密密钥,进而可以实现对数据的安全检测。但对于双向认证,其本意就是为了增强SSL认证的安全等级,避免网络中存在伪造的访问者(攻击者),因此,无论从SSL协议本身来说还是服务提供者的安全性要求上来说,都无法支持简单通过类似单向认证场景中伪造中间人的方式来实现双向认证。一方面,除非服务器安装防火墙证书,否则防火墙设备是无法通过伪造中间人的方式完成双向认证;另一方面,如果服务器安装防火墙证书,则意味着防火墙设备必须具有同服务器一样的证书安全检测的能力,这对防火墙设备来说无法实现,并且对服务器来说,安装防火墙证书的这种“授权”也是不允许的。
因此,在双向认证时,防火墙设备无法获取到用户设备与服务器协商的加密密钥,进而无法对用户设备与服务器间传输的数据进行解密,以及无法对数据进行安全检测。
发明内容
本申请实施例的目的在于提供一种基于安全套接层协议认证的信息处理方法及装置,以实现对SSL协议双向认证的加密数据进行安全检测。具体技术方案如下:
第一方面,本申请实施例提供了一种基于SSL协议认证的信息处理方法,应用于防火墙设备,所述方法包括:
接收用户设备发送的第一握手报文,将所述第一握手报文向服务器转发,并从所述第一握手报文中获取客户端随机数;
接收所述服务器发送的应答所述第一握手报文的第二握手报文,将所述第二握手报文向所述用户设备转发,并从所述第二握手报文中获取服务器随机数和加密算法;
接收所述用户设备发送的密钥交换报文,从所述密钥交换报文中获取加密随机数据,所述加密随机数据为所述用户设备利用所述服务器的公钥和所述加密算法对原始随机数据加密后得到的;
将所述加密随机数据和所述加密算法发送给所述服务器,以使所述服务器利用所述服务器的私钥和所述加密算法对所述加密随机数据进行解密处理,得到原始随机数据;
接收所述服务器发送的所述原始随机数据;
根据所述原始随机数据、所述客户端随机数和所述服务器随机数,生成所述用户设备与所述服务器间通信的加密密钥。。
第二方面,本申请实施例提供了一种基于SSL协议认证的信息处理装置,应用于防火墙设备,所述装置包括:
第一获取单元,用于接收用户设备发送的第一握手报文,将所述第一握手报文向服务器转发,并从所述第一握手报文中获取客户端随机数;
第二获取单元,用于接收所述服务器发送的应答所述第一握手报文的第二握手报文,将所述第二握手报文向所述用户设备转发,并从所述第二握手报文中获取服务器随机数和加密算法;
第三获取单元,用于接收所述用户设备发送的密钥交换报文,从所述密钥交换报文中获取加密随机数据,所述加密随机数据为所述用户设备利用所述服务器的公钥和所述加密算法对原始随机数据加密后得到的随机数据;
发送单元,用于将所述加密随机数据和所述加密算法发送给所述服务器,以使所述服务器利用所述服务器的私钥和所述加密算法对所述加密随机数据进行解密处理,得到原始随机数据;
第一接收单元,用于接收所述服务器发送的所述原始随机数据;
生成单元,用于根据所述原始随机数据、所述客户端随机数和所述服务器随机数,生成所述用户设备与所述服务器间通信的加密密钥。
第三方面,本申请实施例提供了一种防火墙设备,包括处理器和机器可读存储介质,所述机器可读存储介质存储有能够被所述处理器执行的机器可执行指令,所述处理器被所述机器可执行指令促使:实现第一方面提供的一种基于SSL协议认证的信息处理方法的任一步骤。
第四方面,本申请实施例提供了一种机器可读存储介质,所述机器可读存储介质存储有能够被所述处理器执行的机器可执行指令,所述处理器被所述机器可执行指令促使:实现第一方面提供的一种基于SSL协议认证的信息处理方法的任一步骤。
本申请实施例提供的一种基于安全套接层协议认证的信息处理方法及装置,在SSL协议认证中,用户设备向服务器发送第一握手报文、密钥交换报文等报文,服务器向用户设备发送第二握手报文等报文。防火墙设备从第一握手报文中获取客户端随机数,从第二握手报文中获取服务器随机数和加密算法。之后,防火墙设备从密钥交换报文中获取加密随机数据,将加密随机数据和加密算法同时发送给服务器。此时,服务器可以利用自身的私钥和防火墙设备发送的加密算法,对加密随机数据进行解密处理,得到原始随机数据,将原始随机数据发送给防火墙设备。防火墙设备根据原始随机数据、客户端随机数和服务器随机数,生成用户设备与服务器间通信的加密密钥。用户设备与服务器同样是根据原始随机数据、客户端随机数和服务器随机数,生成加密密钥。因此,防火墙设备生成的加密密钥与用户设备和服务器生成的加密密钥相同,防火墙设备可以对用户设备或服务器的数据报文携带的用户数据进行解密处理,得到原始用户数据,进而对原始用户数据进行安全检测,实现了对SSL协议双向认证的加密数据进行安全检测。
当然,实施本申请的任一产品或方法必不一定需要同时达到以上所述的所有优点。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的SSL协议认证组网的一种结构示意图;
图2为现有的双向认证的一种信令图;
图3为本申请实施例提供的基于SSL协议认证的信息处理方法的第一种流程示意图;
图4为本申请实施例提供的基于SSL协议认证的信息处理的一种信令图;
图5为本申请实施例提供的基于SSL协议认证的信息处理方法的第二种流程示意图;
图6为本申请实施例提供的告警报文处理的一种流程示意图;
图7为本申请实施例提供的数据报文处理的一种流程示意图;
图8为本申请实施例提供的基于SSL协议认证的信息处理装置的一种结构示意图;
图9为本申请实施例提供的防火墙设备的一种结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
SSL协议认证分为单向认证和双向认证。单向认证为用户设备对服务器的认证。双向认证包括用户设备对服务器的认证和服务器对用户设备的认证。
对于单向认证,用户设备上安装防火墙证书,在防火墙设备上安装服务器证书。用户设备与防火墙设备协商密钥,建立SSL连接1。防火墙设备与服务器协商密钥,建立SSL连接2。此时,用户设备和防火墙设备之间使用SSL连接1协商出的加密密钥进行加解密数据,防火墙设备和服务器之间使用SSL连接2协商出的加密密钥进行加解密数据。防火墙设备可分别获取到用户设备侧和服务器侧用于数据加密的加密密钥,进而可以实现对数据的安全检测。
随着网络攻击技术的不断更新,用户对个人隐私保护意识的不断增强,在网络银行、数据存储安全性要求很高的业务领域,普遍采用SSL协议双向认证。如图1所示的SSL协议认证组网,包括用户设备100、防火墙设备101和服务器102-104。SSL协议认证组网可包括一个或多个用户设备,一个或多个服务器。这里,仅以一个用户设备、三个服务器为例进行说明,并不起限定作用。
对于双向认证,以图1所示组网中的服务器102和用户设备100进行SSL协议双向认证为例,结合图2所示的双向认证的信令图,对SSL协议双向认证流程进行说明。具体的,SSL协议双向认证流程包括如下步骤。
用户设备100通过防火墙设备101向服务器102发送客户端握手(Client Hello)报文。Client Hello报文包含用户设备100支持的SSL协议版本信息、加密套件候选列表、以及用于生成加密密钥的客户端随机数。其中,加密套件候选列表包括用户设备100支持的多个加密套件等。每一加密套件包括密钥交换算法、报文认证信息码(摘要)算法、加密算法、密钥生成算法和伪随机函数。
服务器102根据Client Hello报文包含的SSL协议版本信息,确定与用户设备100建立SSL连接的SSL协议版本信息,并从Client Hello报文包含的加密套件候选列表中选择一个加密套件。服务器102通过防火墙设备101向用户设备100发送服务器握手(ServerHello)报文。Server Hello报文包含确定的SSL协议版本信息,选择的加密套件和服务器随机数。
服务器102通过防火墙设备101将证书(Certificate)报文1发送给用户设备100。Certificate报文1包括服务器102的证书1,证书1包括用于服务器102身份验证的身份信息和服务器102的公钥1。另外,服务器102通过防火墙设备101向用户设备100发送证书请求(Certificate Request)报文1。Certificate Request报文1用于要求用户设备100发送用户设备100的证书2给服务器102。证书2包括用于用户设备100身份验证的身份信息和用户设备100的公钥2。再次,服务器102通过防火墙设备101向用户设备100发送服务器握手结束(Server Hello Done)报文。Server Hello Done报文用于指示Server Hello报文发送结束的报文。
用户设备100接收到Certificate报文1后,验证证书1是否合法。如果证书1非法,则用户设备100根据不同的非法情况,做出风险提示。如果证书1合法,则用户设备100根据Certificate Request报文1通过防火墙设备101向服务器102发送Certificate报文2,Certificate报文2包括用户设备100的证书2,证书2包括用于用户设备100身份验证的身份信息和用户设备100的公钥2。另外,用户设备100按照预设算法生成随机数据1,利用ServerHello报文确认的加密套件以及证书1中包括的公钥1,对随机数据1加密后,携带在密钥交换(Key Exchange)报文中通过防火墙设备101发送给服务器102。此时,用户设备100已经获取到了计算加密密钥的全部信息,即客户端随机数、服务器随机数和随机数据1,从而可以计算得到与服务器间通信的加密密钥。
为了避免用户设备100和服务器102协商的信息被中间人攻击所篡改,用户设备100通过防火墙设备101向服务器102发送证书验证(Certificate Verity)报文,将之前所有交互的报文用证书2的私钥2进行签名,供服务器102校验。这样,一旦之前的任一个报文经历过篡改,只要私钥2没有泄漏,服务器102一定可以发现攻击者的存在。之后,用户设备100通过更改密码规则(Change Cipher Spec)报文1通知服务器102后续的通信都采用协商的加密密钥和加密算法,并向服务器102发送加密的结束(Finish)报文1。其中,Finish报文1用于指示服务器102对协商出的加密密钥进行验证。
服务器102接收到Certificate报文2后,验证证书2是否合法。如果证书2非法,则服务器102根据不同的非法情况,做出风险提示。如果证书2合法,则服务器102使用证书2的公钥2对Certificate Verity报文的签名进行解密和验证。对Certificate Verity报文的签名验证通过后,服务器102认为用户设备100是可信的,使用证书1的私钥对Key Exchange报文中包括的加密后的随机数据1进行解密,获得随机数据1,基于客户端随机数、服务器随机数和随机数据1,从而可以计算得到与用户设备100通信的加密密钥。
之后,服务器102利用获得的加密密钥解密Finish报文1中的加密信息,验证解密后的数据和加密密钥的正确性。确定正确后,服务器102向用户设备100发送Change CipherSpec报文2和Finish报文2,以通知用户设备100后续的通信都采用协商的加密密钥和加密算法。
至此,用户设备100和服务器102将SSL协议协商完成,后续数据报文可以使用协商出的加密密钥和加密算法进行加密传输。
可见,在SSL协议双向认证中,防火墙设备无法作为“中间人”获取到用户设备侧和服务器侧用于数据加密的加密密钥,因此无法对用户设备与服务器间传输的数据进行解密,进而无法对数据的安全检测。
为实现对SSL协议双向认证的加密数据进行安全检测,本申请实施例提供了一种基于SSL协议认证的信息处理方法。在SSL协议认证中,用户设备向服务器发送第一握手报文、密钥交换报文等报文,服务器向用户设备发送第二握手报文等报文。防火墙设备从第一握手报文中获取客户端随机数,从第二握手报文中获取服务器随机数和加密算法。之后,防火墙设备从密钥交换报文中获取加密随机数据,将加密随机数据和加密算法同时发送给服务器。此时,服务器可以利用服务器的私钥和防火墙设备发送的加密算法,对加密随机数据进行解密处理,得到原始随机数据,将原始随机数据发送给防火墙设备。防火墙设备根据原始随机数据、客户端随机数和服务器随机数,生成用户设备与服务器间通信的加密密钥。用户设备与服务器同样是根据原始随机数据、客户端随机数和服务器随机数,生成加密密钥。因此,防火墙设备生成的加密密钥,与用户设备和服务器生成的加密密钥相同,防火墙设备可以对接收的数据报文携带用户数据进行解密处理,得到原始用户数据,进而对原始用户数据进行安全检测,实现了对SSL协议双向认证的加密数据进行安全检测。
下面通过具体实施例,对本申请实施例提供的基于SSL协议双向认证的信息处理方法进行说明。
参考图3,图3为本申请实施例提供的基于SSL协议认证的信息处理方法的第一种流程示意图。该方法适用于SSL协议双向认证的场景。该方法应用于防火墙设备,包括如下步骤。
步骤301,接收用户设备发送的第一握手报文,将第一握手报文向服务器转发,并从第一握手报文中获取客户端随机数。在本申请实施例中,从某一报文中获取某一信息是指:解析该报文,从而获取该信息。例如:从第一握手报文中获取客户端随机数是指:解析第一握手报文,从而获取客户端随机数。本申请实施例中类似的描述均做此解释。
SSL协议双向认证中,第一握手报文为Client Hello报文。
在SSL协议认证中,用户设备将第一握手报文发送给防火墙设备。防火墙设备从第一握手报文中获取客户端随机数。在获取到客户端随机数后,防火墙设备将第一握手报文发送给服务器。
在本申请的一个实施例中,防火墙设备接收用户设备向服务器发送的第一握手报文。在从第一握手报文中获取客户端随机数之后,防火墙设备根据第一握手报文包括的五元组信息和第一握手报文携带的客户端随机数,创建第一会话。一个示例中,第一会话中可以包括五元组信息和协商信息,协商信息包括客户端随机数、服务器随机数、加密套件和加密密钥等信息。如表1所示会话。
表1
源地址 源端口 目的地址 目的端口 协商信息
一个可选的实施例中,防火墙设备可以虚拟为多个设备,为实现用户隔离,防火墙设备为这多个虚拟设备分配虚拟路由转发表(英文:Virtual Routing Forwarding,简称:VRF)。此时,防火墙设备创建的第一会话中还可以包括VRF的标识,如表2所示。
表2
源地址 源端口 目的地址 目的端口 VRF 协商信息
VRF表示VRF的标识。VRF的标识可以理解为一个虚拟设备的标识。
表1和表2中的协商信息可参见表3所示。
表3
加密套件 客户端随机数 服务器随机数 加密密钥
步骤302,接收服务器发送的应答第一握手报文的第二握手报文,将第二握手报文向用户设备转发,并从第二握手报文中获取服务器随机数和加密算法。
SSL协议双向认证中,第二握手报文为Server Hello报文。
服务器接收到第一握手报文后,根据第一握手报文,将第二握手报文发送给防火墙设备。防火墙设备从第二握手报文中,获取服务器随机数和加密算法。在获取到服务器随机数和加密算法后,防火墙设备将第二握手报文发送给服务器。
在本申请的一个实施例中,防火墙设备接收服务器向用户设备发送的第二握手报文。防火墙设备将第二握手报文包括的五元组信息与上述第一会话包括的五元组信息匹配。若第二握手报文包括的五元组信息与第一会话包括的五元组信息匹配,则防火墙设备从第二握手报文中获取服务器随机数和加密算法,在第一会话中记录第二握手报文携带的服务器随机数和加密算法。如表3所示,防火墙设备将第二握手报文携带的服务器随机数记录在表3的服务器随机数字段,将第二握手报文携带的加密算法记录在表3的加密套件字段。若第二握手报文包括的五元组信息与第一会话包括的五元组信息不匹配,则防火墙设备丢弃第二握手报文。
本申请实施例中,从用户设备到服务器的报文为正向报文,从服务器到用户设备的报文为反向报文。上述第一会话是基于第一握手报文的五元组信息创建的,即基于正向报文建立的。对于作为反向报文的第二握手报文,防火墙设备在将第二握手报文包括的五元组信息与第一会话包括的五元组信息匹配时,将第二握手报文的源地址与第一会话包括的目的地址匹配,将第二握手报文的源端口与第一会话包括的目的端口匹配,将第二握手报文的目的地址与第一会话包括的源地址匹配,将第二握手报文的目的端口与第一会话包括的源端口匹配,将第二握手报文所属VRF与第一会话包括的VRF匹配。若上述信息均匹配,则防火墙设备从第二握手报文中获取服务器随机数和加密算法。若上述信息中任一信息不匹配,则防火墙设备丢弃第二握手报文。
步骤303,接收用户设备发送的密钥交换报文,从密钥交换报文中获取加密随机数据,加密随机数据为用户设备利用服务器的公钥和加密算法对原始随机数据加密后得到的随机数据。
SSL协议双向认证中,密钥交换报文即为Key Exchange报文。
本申请实施例中,服务器接收到第一握手报文后,除了发送第二握手报文外,还可以发送Certificate报文、Certificate Request报文和Server Hello Done报文。防火墙设备对Certificate报文、Certificate Request报文和Server Hello Done报文不做处理,直接转发给用户设备。
用户设备按照预设算法生成一个原始随机数据,利用第二握手报文携带的加密算法,以及服务器发送的Certificate报文中携带证书的公钥,对生成的原始随机数据进行加密处理,得到加密随机数据。用户设备将加密随机数据携带在密钥交换报文中发送给防火墙设备。其中,服务器发送的Certificate报文中携带证书的公钥即为服务器的公钥。防火墙设备从密钥交换报文中获取加密随机数据。
在本申请的一个实施例中,防火墙设备接收用户设备向服务器发送的密钥交换报文。防火墙设备将密钥交换报文包括的五元组信息与上述第一会话包括的五元组信息匹配。若密钥交换报文包括的五元组信息与第一会话包括的五元组信息匹配,则防火墙设备从密钥交换报文中获取加密随机数据。若密钥交换报文包括的五元组信息与第一会话包括的五元组信息不匹配,则防火墙设备丢弃密钥交换报文。
本申请实施例中,上述第一会话是基于正向报文建立的。对于作为正向报文的密钥交换报文,防火墙设备在将密钥交换报文包括的五元组信息与第一会话包括的五元组信息匹配时,将密钥交换报文的源地址与第一会话包括的源地址匹配,将密钥交换报文的源端口与第一会话包括的源端口匹配,将密钥交换报文的目的地址与第一会话包括的目的地址匹配,将密钥交换报文的目的端口与第一会话包括的目的端口匹配,将密钥交换报文所属VRF与第一会话包括的VRF匹配。若上述信息均匹配,则防火墙设备从密钥交换报文中获取加密随机数据。若上述信息中任一信息不匹配,则防火墙设备丢弃密钥交换报文。
步骤304,将加密随机数据和加密算法发送给服务器。
防火墙设备从密钥交换报文获取到加密随机数据后,将加密随机数据以及从第二握手报文中获取到的加密算法均发送给服务器。服务器接收到加密随机数据和加密算法后,利用服务器的私钥和该加密算法,对加密随机数据进行解密处理,得到原始随机数据。其中,服务器的私钥为上述服务器发送的Certificate报文中携带证书的公钥对应的私钥。该私钥仅存储在服务器本地,不会携带在证书中发送给用户设备。
在本申请的一个实施例中,为了提高数据传输的安全性,服务器和防火墙设备间预先协商传输数据的端口和数据格式等协议信息。防火墙设备从密钥交换报文获取到加密随机数据后,按照预先协商的协议信息,将加密随机数据和加密算法携带在传输控制协议(英文:Transmission Control Protocol,简称:TCP)报文中发送给服务器。服务器按照预先协商的协议信息,从TCP报文中获取加密随机数据和加密算法,利用服务器的私钥和加密算法,对加密随机数据进行解密处理,得到原始随机数据。服务器按照预先协商的协议信息,将原始随机数据携带在TCP报文中发送给防火墙设备。
例如,预先协商的协议信息包括端口1、载荷的第30-37字节存放加密随机数据、载荷的第41-52字节存放加密算法、载荷的第30-49字节存放原始随机数据。防火墙设备从密钥交换报文获取到加密随机数据后,按照预先协商的协议信息,将获取到的加密随机数据存放在TCP报文1的载荷的第30-37字节,将获取到的加密算法存放在TCP报文1的载荷的第41-52字节,通过端口1向服务器放TCP报文1。服务器通过端口1接收到TCP报文1后,从TCP报文1的第30-37字节获取加密随机数据,并从TCP报文1的第41-52字节获取到加密算法,利用服务器的私钥和加密算法,对加密随机数据进行解密处理,得到原始随机数据。服务器将原始随机数据存放在TCP报文2的载荷的第30-49字节,并通过端口1将TCP报文2发送给防火墙设备。此时,防火墙设备通过端口1接收到TCP报文2后,可从TCP报文2中获取原始随机数据。
应当理解的是,本申请实施例中,仅以TCP报文实现防火墙设备与服务器间的信息的传输为例进行说明。具体的,防火墙设备将加密随机数据和加密算法携带在TCP报文中发送给服务器,服务器将原始随机数据也携带在TCP报文中发送给防火墙设备。在其他实施方式中,还可以以自定义格式的报文或者其他现有报文(例如IP报文)实现防火墙设备与服务器间的信息的传输,本申请实施例并不作特别限定。
步骤305,接收服务器发送的原始随机数据。
服务器对加密随机数据进行解密处理得到原始随机数据后,将该原始随机数据发送给防火墙设备。
在本申请的一个实施例中,为便于服务器对加密随机数据进行处理,可以在服务器上安装防火墙插件。防火墙设备从密钥交换报文获取到加密随机数据后,将加密随机数据以及加密算法均发送给防火墙插件。防火墙插件获取服务器的私钥,使用服务器的私钥,结合加密算法,对加密随机数据进行解密处理,得到原始随机数据。防火墙插件将原始随机数据发送给防火墙设备。
步骤306,根据原始随机数据、客户端随机数和服务器随机数,生成用户设备与服务器间通信的加密密钥。
用户设备和服务器计算加密密钥的信息包括:原始随机数据、客户端随机数和服务器随机数。此时防火墙设备已获取到了计算加密密钥的全部信息,根据原始随机数据、客户端随机数和服务器随机数,生成用户设备与服务器间通信的加密密钥。
一个实施例中,防火墙设备在接收到第二握手报文后,可以从第二握手报文中,获取密钥生成算法、密钥交换算法、摘要算法和伪随机函数等加密套件信息,并在第一会话中记录从第二握手报文中获取到的加密套件信息。如表3所示,防火墙设备将从第二握手报文中获取到的加密套件信息记录在表3的加密套件字段。
防火墙设备在获取到原始随机数据后,利用从第二握手报文中获取到的密钥生成算法,对原始随机数据、客户端随机数和服务器随机数进行处理,生成用户设备与服务器间通信的加密密钥。
本申请实施例中,用户设备和服务器使用相同的加密算法和加密密钥对数据进行加密和解密处理,也就是,用户设备和服务器生成的加密密钥为对称密钥,对数据进行加密和解密处理的加密算法为对称加密算法。其中,对称加密算法可以为数据加密标准(英文:Data Encryption Standard,简称:DES)算法、三重DES(简称:3DES)算法、国际通用数据加密算法(英文:International Data Encryption Algorithm,简称:IDEA)、快速数据加密算法(英文:Fast Data Encipherment Algorithm,简称:FEAL、布鲁斯(英文:Blowfish)算法等。
防火墙设备用于生成加密密钥的信息与用户设备和服务器用于生成加密密钥的信息相同。因此,防火墙设备生成的加密密钥为对称密钥,从第二握手报文中获取到的加密算法为对称加密算法。进而,防火墙设备利用生成的加密密钥和获取到的加密算法,对接收的数据报文携带用户数据进行加密和解密处理。
在本申请的一个实施例中,防火墙设备生成加密密钥后,可将该加密密钥记录在第一会话中,并将密钥交换报文发送给服务器。
另外,对于用户设备发送的Certificate报文、Certificate Verify报文、ChangeCipher Spec报文和Finish报文等,防火墙设备不做处理,直接转发给服务器。
本申请实施例提供的技术方案中,防火墙设备可以在不对任何报文进行修改的情况下,得到用户设备与服务器间通信的加密密钥,并利用该加密密钥,对用户设备或服务器发送的数据报文携带的用户数据进行解密处理,得到原始用户数据,进而对原始用户数据进行安全检测,实现了对SSL协议双向认证的加密数据进行安全检测。
本申请实施例提供的技术方案还可以应用于SSL协议单向认证,获取单向认证时用户设备与服务器间通信的加密密钥,实现对SSL协议单向认证的加密数据进行安全检测。
本申请实施例提供的技术方案中,防火墙设备仅仅在接收到密钥交换报文后,对加密随机数据做了一次解密处理。用户设备不必对防火墙设备进行单向认证,建立SSL连接,防火墙设备也不必对服务器进行单向认证,建立SSL连接,有效降低了设备计算资源的损耗。
结合图3和图4所示的基于SSL协议认证的信息处理的一种信令图,对本申请实施例提供的基于SSL协议认证的信息处理方法进行说明。
步骤401,用户设备100向防火墙设备101发送Client Hello报文。
步骤402,防火墙设备101接收Client Hello报文,从Client Hello报文中获取客户端随机数。
步骤403,防火墙设备101向服务器102发送Client Hello报文。
步骤404,服务器102接收Client Hello报文,根据Client Hello报文,向防火墙设备101发送Server Hello报文。
步骤405,防火墙设备101接收Server Hello报文,从Server Hello报文中获取服务器随机数、加密算法和密钥生成算法。
步骤406,防火墙设备101向服务器102发送Server Hello报文。
步骤407,用户设备100接收Server Hello报文,根据Server Hello报文,获取服务器102的公钥和原始随机数据,利用服务器102的公钥和加密算法,对原始随机数据进行加密处理,得到加密随机数据,向防火墙设备101发送携带该加密随机数据的Key Exchange报文。
步骤408,防火墙设备101接收Key Exchange报文,从Key Exchange报文中获取加密随机数据。
步骤409,防火墙设备101向服务器102发送携带加密随机数据和加密算法的第一报文。应当理解的是,第一报文可以是TCP报文。在其他实施方式中,第一报文还可以是自定义格式的报文或者其他现有报文(例如IP报文,本申请实施例并不作特别限定。
步骤410,服务器102接收第一报文,获取本身的私钥,利用本身的私钥和第一报文携带的加密算法,对加密随机数据进行解密处理,得到原始随机数据。
步骤411,服务器102向防火墙设备101发送携带原始随机数据的第二报文。应当理解的是,第二报文可以是TCP报文。在其他实施方式中,第二报文还可以是自定义格式的报文或者其他现有报文(例如IP报文,本申请实施例并不作特别限定。
步骤412,防火墙设备101接收第二报文,将原始随机数据、客户端随机数和服务器随机数输入密钥生成算法,得到用户设备100与服务器102间通信的加密密钥。
上述步骤401-412的描述比较简单,具体可参考步骤301-306部分的描述。
结合上述图3所示实施例,本申请实施例还提供了一种基于SSL协议认证的信息处理方法。参考图5,图5为本申请实施例提供的基于SSL协议认证的信息处理方法的第二种流程示意图。该方法应用于防火墙设备,可以包括如下步骤。
步骤501,接收用户设备发送的第一握手报文,将第一握手报文向服务器转发,并从第一握手报文中获取客户端随机数。步骤501与步骤301相同。
步骤502,接收服务器发送的应答第一握手报文的第二握手报文,将第二握手报文向用户设备转发,并从第二握手报文中获取服务器随机数和加密算法。
步骤502与步骤302相同。
步骤503,接收用户设备发送的密钥交换报文,从密钥交换报文中获取加密随机数据,加密随机数据为用户设备利用服务器的公钥和加密算法对原始随机数据加密后得到的随机数据。步骤503与步骤303相同。
步骤504,将加密随机数据和加密算法发送给服务器。步骤504与步骤304相同。
步骤505,接收服务器发送的原始随机数据。步骤505与步骤305相同。
步骤506,根据原始随机数据、客户端随机数和服务器随机数,生成用户设备与服务器间通信的加密密钥。步骤506与步骤306相同。
步骤507,接收数据报文。数据报文为用户设备向服务器发送的报文,或服务器向用户设备发送的报文。
本申请实施例中,防火墙设备生成加密密钥后,将密钥交换报文发送给服务器。对于用户设备发送的Certificate报文、Certificate Verify报文、Change Cipher Spec报文和Finish报文等,防火墙设备不做处理,直接转发给用户设备。这样,在用户设备与服务器均生成加密密钥且建立SSL连接后,用户设备与服务器可进行通信。也就是,用户设备可以通过防火墙设备向服务器发送的数据报文,服务器通过防火墙设备向用户设备发送的数据报文。
步骤508,利用加密密钥和加密算法,对数据报文携带用户数据进行解密处理,得到原始用户数据。
防火墙设备接收到数据报文后,利用生成的加密密钥和步骤503获取的加密算法,对数据报文携带用户数据进行解密处理,得到原始用户数据。
一个可选的实施例中,防火墙设备接收到数据报文后,将数据报文的五元组信息与会话包括的五元组信息进行匹配。若数据报文的五元组信息与第一会话包括的五元组信息匹配,则防火墙设备获取第一会话中包括的加密算法和加密密钥,利用获取的加密密钥和加密算法,对数据报文携带用户数据进行解密处理,得到原始用户数据。
步骤509,对原始用户数据进行安全检测。
防火墙设备获取到原始用户数据后,对原始用户数据进行安全检测。其中,安全检测包括深度包检测(英文:Deep Packet Inspection,简称:DPI)、内容安全检测和审计等处理。
一个可选的实施例中,若防火墙设备对原始用户数据进行安全检测后,确定数据报文为攻击报文,则可以构造挥手报文,分别发送给用户设备和服务器,以断开用户设备与服务器间的连接,并删除与数据报文的五元组信息匹配的第一会话。这样,可有效的提高网络的安全性。若防火墙设备对原始用户数据进行安全检测后,确定数据报文为正常报文,则转发该数据报文。
一个可选的实施例中,用户设备和服务器在检测到威胁的情况下会向防火墙设备发送告警报文。例如,用户设备对服务器的证书进行验证后,确定服务器的证书非法,则向防火墙设备发送告警报文。再例如,服务器对用户设备的证书进行验证后,确定用户设备的证书非法,则向防火墙设备发送告警报文。对于告警报文的处理流程如图6所示。
步骤601,接收告警报文。
其中,告警报文可为用户设备向服务器发送的报文,也可以为服务器向用户设备发送的报文。告警报文中包括告警报文的类型。例如,告警报文的类型可以分为致命(Fatal)类型和警告(Warning)类型。Fatal类型用于指示断开SSL连接。Warning类型用于提示用户存在风险,不必断开SSL连接。告警报文的类型可以根据实际需求进行设定,本申请实施例对此不进行限定。
步骤602,检测告警报文的类型是否为致命类型。若是,则执行步骤603。若否,则执行步骤605。
防火墙设备接收到告警报文后,检测告警报文的类型是否为致命类型。
步骤603,查找与告警报文的五元组信息匹配的第二会话。若查找到,则执行步骤604。若未查找到,则执行步骤605。
若告警报文的类型为致命类型,则防火墙设备确定与当前告警报文的五元组信息匹配的SSL会话对应的SSL连接存在很大的风险,需要断开此SSL连接,查找与告警报文的五元组信息匹配的第二会话。
步骤604,删除第二会话,并向用户设备和服务器发送挥手报文。
防火墙设备若查找到与告警报文的五元组信息匹配的第二会话,则向用户设备和服务器发送挥手报文,并删除第二会话,以断开当前告警报文所在SSL连接,回收会话资源。用户设备和服务器根据挥手报文,分别断开用户设备和服务器间的连接。
步骤605,转发告警报文。
若告警报文的类型为致命类型,或未查找到第二会话,则防火墙设备进行后续处理,转发告警报文。
在本申请的一个实施例中,防火墙设备若接收到服务器或用户设备发送的挥手报文,则查找与该挥手报文的五元组信息匹配的第三会话,并删除该第三会话,回收会话资源,并转发挥手报文。
在本申请的一个实施例中,防火墙设备可以设置SSL连接保活机制。具体的,若超过预设时长未接收与第一会话匹配的报文,则防火墙设备删除第一会话。这避免了用户设备与服务器间的SSL连接断开后,会话残留的问题,节约了会话资源。
在本申请的一个实施例中,为了便于防火墙设备管理,防火墙设备上可以设置会话状态,如表4所示,在协商信息中可以包括会话状态字段。
表4
会话状态 加密套件 客户端随机数 服务器随机数 加密密钥
其中,会话状态可以包括第一握手报文已达状态、第二握手报文已达状态和密钥交换报文已达状态。其中,第一握手报文已达状态(Client Hello Received状态)用于指示已接收到第一握手报文。在Client Hello Received状态下,后续期望处理的是服务器发送的第二握手报文。
第二握手报文已达状态(Server Hello Received状态)用于指示已接收到第二握手报文。在Server Hello Received状态下,后续期望处理的是密钥交换报文。
密钥交换报文已达状态(Key Exchange Received状态)用于已接收到密钥交换报文。在Key Exchange Received状态下,后续期望处理的是Change Cipher Spec报文以及应用层的加密数据报文。
这种情况下,防火墙设备接收到第一握手报文后,根据第一握手报文包括的五元组信息,创建第一会话;在第一会话中记录第一握手报文携带的客户端随机数,并将会话的状态设置为Client Hello Received状态。
防火墙设备接收到第二握手报文后,若第二握手报文包括的五元组信息与第一会话包括的五元组信息匹配,检测第一会话和第二握手报文是否满足第一预设条件,第一预设条件为第一会话的状态为Client Hello Received状态,或第一会话的状态为ServerHello Received状态且第二握手报文为重传报文。若满足第一预设条件,则防火墙设备在第一会话中记录第二握手报文携带的服务器随机数和加密算法,并将第一会话的状态设置为Server Hello Received状态。若不满足第一预设条件,则防火墙设备丢弃第二握手报文。
防火墙设备接收到密钥交换报文后,若密钥交换报文包括的五元组信息与第一会话包括的五元组信息匹配,则检测第一会话和密钥交换报文是否满足第二预设条件,第二预设条件为第一会话的状态为Server Hello Received状态,或第一会话的状态为KeyExchange Received状态且密钥交换报文为重传报文。若满足第二预设条件,则防火墙设备从密钥交换报文中获取加密随机数据,并将第一会话的状态设置为Key ExchangeReceived状态。若不满足第二预设条件,则防火墙设备丢弃密钥交换报文。
基于上述会话状态,防火墙设备处理数据报文的流程可参考图7所示。
步骤701,接收数据报文。数据报文为用户设备向服务器发送的报文,或服务器向用户设备发送的报文。
步骤702,查找与数据报文的五元组信息匹配的第四会话。若查找到,则执行步骤703。若未查找到,则执行步骤707。
步骤703,检测第四会话的状态是否为Key Exchange Received状态。若是,则执行步骤704。若否,则执行步骤707。
步骤704,利用第四会话中记录的加密算法和加密密钥,对数据报文携带用户数据进行解密处理,得到原始用户数据。
步骤705,对原始用户数据进行安全检测,确定数据报文是否为攻击报文。若是,则执行步骤706。若否,则执行步骤708。
步骤706,构造挥手报文,分别发送给用户设备和服务器。
步骤707,丢弃数据报文。
步骤708,转发数据报文。
步骤701-708部分的描述相对简单,具体可参考上述图3-5部分的相关描述。
上述第一会话、第二会话、第三会话和第四会话可以相同,也可以不同。本申请实施例对此不进行限定。本申请实施例提供的技术方案中,防火墙设备只需要三种会话状态,状态机相对简单,有效节约了设备资源。
基于相同的发明构思,根据上述基于SSL协议认证的信息处理方法,本申请实施例还提供了一种基于SSL协议认证的信息处理装置。参考图8,图8为本申请实施例提供的基于SSL协议认证的信息处理装置的一种结构示意图,该装置应用于防火墙设备,包括:第一获取单元801、第二获取单元802、第三获取单元803、发送单元804、第一接收单元805和生成单元806。
第一获取单元801,用于接收用户设备发送的第一握手报文,将第一握手报文向服务器转发,并从第一握手报文中获取客户端随机数;
第二获取单元802,用于接收服务器发送的应答第一握手报文的第二握手报文,将第二握手报文向用户设备转发,并从第二握手报文中获取服务器随机数和加密算法;
第三获取单元803,用于接收用户设备发送的密钥交换报文,从密钥交换报文中获取加密随机数据,加密随机数据为用户设备利用服务器的公钥和加密算法对原始随机数据加密后得到的随机数据;
发送单元804,用于将加密随机数据和加密算法发送给服务器,以使服务器利用服务器的私钥和加密算法对加密随机数据进行解密处理,得到原始随机数据;
第一接收单元805,用于接收服务器发送的原始随机数据;
生成单元806,用于根据原始随机数据、客户端随机数和服务器随机数,生成用户设备与服务器间通信的加密密钥。
一个可选的实施例中,上述基于SSL协议认证的信息处理装置还可以包括:
第二接收单元,用于在生成用户设备与服务器间通信的加密密钥之后,接收数据报文,数据报文为用户设备向服务器发送的报文,或服务器向用户设备发送的报文;
解密单元,用于利用加密密钥和加密算法,对数据报文携带用户数据进行解密处理,得到原始用户数据;
检测单元,用于对原始用户数据进行安全检测。
一个可选的实施例中,第一获取单元801,具体可以用于在从第一握手报文中获取客户端随机数之后,根据第一握手报文包括的五元组信息和第一握手报文携带的客户端随机数,创建第一会话;
第二获取单元802,具体可以用于若第二握手报文包括的五元组信息与第一会话包括的五元组信息匹配,则从第二握手报文中获取服务器随机数和加密算法;
第三获取单元803,具体可以用于若密钥交换报文包括的五元组信息与第一会话包括的五元组信息匹配,则从密钥交换报文中获取加密随机数据。
一个可选的实施例中,第一获取单元801,具体可以用于根据第一握手报文包括的五元组信息,创建第一会话;在第一会话中记录第一握手报文携带的客户端随机数,并将会话的状态设置为第一握手报文已达状态,第一握手报文已达状态用于指示已接收到第一握手报文;
第二获取单元802,具体可以用于检测第一会话和第二握手报文是否满足第一预设条件,第一预设条件为第一会话的状态为第一握手报文已达状态,或第一会话的状态为第二握手报文已达状态且第二握手报文为重传报文,第二握手报文已达状态用于指示已接收到第二握手报文;若是,则在第一会话中记录第二握手报文携带的服务器随机数和加密算法,并将第一会话的状态设置为第二握手报文已达状态;
第三获取单元803,具体可以用于检测第一会话和密钥交换报文是否满足第二预设条件,第二预设条件为第一会话的状态为第二握手报文已达状态,或第一会话的状态为密钥交换报文已达状态且密钥交换报文为重传报文,密钥交换报文已达状态用于指示已接收到密钥交换报文;若是,则从密钥交换报文中获取加密随机数据,并将第一会话的状态设置为密钥交换报文已达状态。
一个可选的实施例中,上述基于SSL协议认证的信息处理装置还可以包括:
第三接收单元,用于接收告警报文;
查找单元,用于若告警报文的类型为致命类型,则查找与告警报文的五元组信息匹配的第二会话,致命类型用于指示断开SSL连接;
删除单元,用于若查找到第二会话,则删除第二会话,并向用户设备和服务器发送挥手报文,以使用户设备和所述服务器根据挥手报文,分别断开用户设备和服务器间的连接。
本申请实施例提供的技术方案中,防火墙设备可以在不对任何报文进行修改的情况下,得到用户设备与服务器间通信的加密密钥,进而利用该加密密钥,对用户设备或服务器发送的数据报文携带的用户数据进行解密处理,得到原始用户数据,进而对原始用户数据进行安全检测,实现了对SSL协议双向认证的加密数据进行安全检测。
基于相同的发明构思,根据上述基于SSL协议认证的信息处理方法,本申请实施例还提供了一种防火墙设备,如图9所示,包括处理器901和机器可读存储介质902,机器可读存储介质902存储有能够被处理器901执行的机器可执行指令。处理器901被机器可执行指令促使实现上述图3-图7所示的任一步骤。
一个可选的实施例中,如图9所示,防火墙设备还可以包括:通信接口903和通信总线904;其中,处理器901、机器可读存储介质902、通信接口903通过通信总线904完成相互间的通信,通信接口903用于上述防火墙设备与其他设备之间的通信。
基于相同的发明构思,根据上述基于SSL协议认证的信息处理方法,本申请实施例还提供了一种机器可读存储介质,机器可读存储介质存储有能够被处理器执行的机器可执行指令。处理器被机器可执行指令促使实现上述图3-图7所示的任一步骤。
上述通信总线可以是PCI(Peripheral Component Interconnect,外设部件互连标准)总线或EISA(Extended Industry Standard Architecture,扩展工业标准结构)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。
上述机器可读存储介质可以包括RAM(Random Access Memory,随机存取存储器),也可以包括NVM(Non-Volatile Memory,非易失性存储器),例如至少一个磁盘存储器。另外,机器可读存储介质还可以是至少一个位于远离前述处理器的存储装置。
上述处理器可以是通用处理器,包括CPU(Central Processing Unit,中央处理器)、NP(Network Processor,网络处理器)等;还可以是DSP(Digital Signal Processing,数字信号处理器)、ASIC(Application Specific Integrated Circuit,专用集成电路)、FPGA(Field-Programmable Gate Array,现场可编程门阵列)或其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于基于SSL协议认证的信息处理装置、防火墙设备和机器可读存储介质实施例而言,由于其基本相似于基于SSL协议认证的信息处理方法实施例,所以描述的比较简单,相关之处参见基于SSL协议认证的信息处理方法实施例的部分说明即可。
以上所述仅为本申请的较佳实施例而已,并非用于限定本申请的保护范围。凡在本申请的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本申请的保护范围内。

Claims (12)

1.一种基于安全套接层协议认证的信息处理方法,其特征在于,应用于防火墙设备,所述方法包括:
接收用户设备发送的第一握手报文,将所述第一握手报文向服务器转发,并从所述第一握手报文中获取客户端随机数;
接收所述服务器发送的应答所述第一握手报文的第二握手报文,将所述第二握手报文向所述用户设备转发,并从所述第二握手报文中获取服务器随机数和加密算法;
接收所述用户设备发送的密钥交换报文,从所述密钥交换报文中获取加密随机数据,所述加密随机数据为所述用户设备利用所述服务器的公钥和所述加密算法对原始随机数据加密后得到的随机数据;
将所述加密随机数据和所述加密算法发送给所述服务器,以使所述服务器利用所述服务器的私钥和所述加密算法对所述加密随机数据进行解密处理,得到原始随机数据;
接收所述服务器发送的所述原始随机数据;
根据所述原始随机数据、所述客户端随机数和所述服务器随机数,生成所述用户设备与所述服务器间通信的加密密钥。
2.根据权利要求1所述的方法,其特征在于,在生成所述用户设备与所述服务器间通信的加密密钥之后,还包括:
接收数据报文,所述数据报文为所述用户设备向所述服务器发送的报文,或所述服务器向所述用户设备发送的报文;
利用所述加密密钥和所述加密算法,对所述数据报文携带用户数据进行解密处理,得到原始用户数据;
对所述原始用户数据进行安全检测。
3.根据权利要求1所述的方法,其特征在于,在从所述第一握手报文中获取客户端随机数之后,还包括:
根据所述第一握手报文包括的五元组信息和所述第一握手报文携带的客户端随机数,创建第一会话;
所述从所述第二握手报文中获取服务器随机数和加密算法的步骤,包括:
若所述第二握手报文包括的五元组信息与所述第一会话包括的五元组信息匹配,则从所述第二握手报文中获取服务器随机数和加密算法;
所述从所述密钥交换报文中获取加密随机数据的步骤,包括:
若所述密钥交换报文包括的五元组信息与所述第一会话包括的五元组信息匹配,则从所述密钥交换报文中获取加密随机数据。
4.根据权利要求3所述的方法,其特征在于,所述根据所述第一握手报文包括的五元组信息和所述第一握手报文携带的客户端随机数,创建会话的步骤,包括:
根据所述第一握手报文包括的五元组信息,创建第一会话;在所述第一会话中记录所述第一握手报文携带的客户端随机数,并将所述会话的状态设置为第一握手报文已达状态,所述第一握手报文已达状态用于指示已接收到所述第一握手报文;
所述从所述第二握手报文中获取服务器随机数和加密算法的步骤,包括:
检测所述第一会话和所述第二握手报文是否满足第一预设条件,所述第一预设条件为所述第一会话的状态为所述第一握手报文已达状态,或所述第一会话的状态为第二握手报文已达状态且所述第二握手报文为重传报文,所述第二握手报文已达状态用于指示已接收到所述第二握手报文;若是,则在所述第一会话中记录所述第二握手报文携带的服务器随机数和加密算法,并将所述第一会话的状态设置为所述第二握手报文已达状态;
所述从所述密钥交换报文中获取加密随机数据的步骤,包括:
检测所述第一会话和所述密钥交换报文是否满足第二预设条件,所述第二预设条件为所述第一会话的状态为所述第二握手报文已达状态,或所述第一会话的状态为密钥交换报文已达状态且所述密钥交换报文为重传报文,所述密钥交换报文已达状态用于指示已接收到所述密钥交换报文;若是,则从所述密钥交换报文中获取加密随机数据,并将所述第一会话的状态设置为所述密钥交换报文已达状态。
5.根据权利要求3或4所述的方法,其特征在于,所述方法还包括:
接收告警报文;
若所述告警报文的类型为致命类型,则查找与所述告警报文的五元组信息匹配的第二会话;
若查找到,则删除所述第二会话,并向所述用户设备和所述服务器发送挥手报文,以使所述用户设备和所述服务器根据所述挥手报文,分别断开所述用户设备和所述服务器间的连接。
6.一种基于安全套接层协议认证的信息处理装置,其特征在于,应用于防火墙设备,所述装置包括:
第一获取单元,用于接收用户设备发送的第一握手报文,将所述第一握手报文向服务器转发,并从所述第一握手报文中获取客户端随机数;
第二获取单元,用于接收所述服务器发送的应答所述第一握手报文的第二握手报文,将所述第二握手报文向所述用户设备转发,并从所述第二握手报文中获取服务器随机数和加密算法;
第三获取单元,用于接收所述用户设备发送的密钥交换报文,从所述密钥交换报文中获取加密随机数据,所述加密随机数据为所述用户设备利用所述服务器的公钥和所述加密算法对原始随机数据加密后得到的随机数据;
发送单元,用于将所述加密随机数据和所述加密算法发送给所述服务器,以使所述服务器利用所述服务器的私钥和所述加密算法对所述加密随机数据进行解密处理,得到原始随机数据;
第一接收单元,用于接收所述服务器发送的所述原始随机数据;
生成单元,用于根据所述原始随机数据、所述客户端随机数和所述服务器随机数,生成所述用户设备与所述服务器间通信的加密密钥。
7.根据权利要求6所述的装置,其特征在于,所述装置还包括:
第二接收单元,用于在生成所述用户设备与所述服务器间通信的加密密钥之后,接收数据报文,所述数据报文为所述用户设备向所述服务器发送的报文,或所述服务器向所述用户设备发送的报文;
解密单元,用于利用所述加密密钥和所述加密算法,对所述数据报文携带用户数据进行解密处理,得到原始用户数据;
检测单元,用于对所述原始用户数据进行安全检测。
8.根据权利要求6所述的装置,其特征在于,所述第一获取单元,具体用于在从所述第一握手报文中获取客户端随机数之后,根据所述第一握手报文包括的五元组信息和所述第一握手报文携带的客户端随机数,创建第一会话;
所述第二获取单元,具体用于若所述第二握手报文包括的五元组信息与所述第一会话包括的五元组信息匹配,则从所述第二握手报文中获取服务器随机数和加密算法;
所述第三获取单元,具体用于若所述密钥交换报文包括的五元组信息与所述第一会话包括的五元组信息匹配,则从所述密钥交换报文中获取加密随机数据。
9.根据权利要求8所述的装置,其特征在于,所述第一获取单元,具体用于根据所述第一握手报文包括的五元组信息,创建第一会话;在所述第一会话中记录所述第一握手报文携带的客户端随机数,并将所述会话的状态设置为第一握手报文已达状态,所述第一握手报文已达状态用于指示已接收到所述第一握手报文;
所述第二获取单元,具体用于检测所述第一会话和所述第二握手报文是否满足第一预设条件,所述第一预设条件为所述第一会话的状态为所述第一握手报文已达状态,或所述第一会话的状态为第二握手报文已达状态且所述第二握手报文为重传报文,所述第二握手报文已达状态用于指示已接收到所述第二握手报文;若是,则在所述第一会话中记录所述第二握手报文携带的服务器随机数和加密算法,并将所述第一会话的状态设置为所述第二握手报文已达状态;
所述第三获取单元,具体用于检测所述第一会话和所述密钥交换报文是否满足第二预设条件,所述第二预设条件为所述第一会话的状态为所述第二握手报文已达状态,或所述第一会话的状态为密钥交换报文已达状态且所述密钥交换报文为重传报文,所述密钥交换报文已达状态用于指示已接收到所述密钥交换报文;若是,则从所述密钥交换报文中获取加密随机数据,并将所述第一会话的状态设置为所述密钥交换报文已达状态。
10.根据权利要求8或9所述的装置,其特征在于,所述装置还包括:
第三接收单元,用于接收告警报文;
查找单元,用于若所述告警报文的类型为致命类型,则查找与所述告警报文的五元组信息匹配的第二会话,所述致命类型用于指示断开SSL连接;
删除单元,用于若查找到所述第二会话,则删除所述第二会话,并向所述用户设备和所述服务器发送挥手报文,以使所述用户设备和所述服务器根据所述挥手报文,分别断开所述用户设备和所述服务器间的连接。
11.一种防火墙设备,其特征在于,包括处理器和机器可读存储介质,所述机器可读存储介质存储有能够被所述处理器执行的机器可执行指令,所述处理器被所述机器可执行指令促使:实现权利要求1-5任一所述的方法步骤。
12.一种机器可读存储介质,其特征在于,所述机器可读存储介质存储有能够被所述处理器执行的机器可执行指令,所述处理器被所述机器可执行指令促使:实现权利要求1-5任一所述的方法步骤。
CN201910447394.8A 2019-05-27 2019-05-27 基于安全套接层协议认证的信息处理方法及装置 Active CN110190955B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910447394.8A CN110190955B (zh) 2019-05-27 2019-05-27 基于安全套接层协议认证的信息处理方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910447394.8A CN110190955B (zh) 2019-05-27 2019-05-27 基于安全套接层协议认证的信息处理方法及装置

Publications (2)

Publication Number Publication Date
CN110190955A CN110190955A (zh) 2019-08-30
CN110190955B true CN110190955B (zh) 2022-05-24

Family

ID=67718114

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910447394.8A Active CN110190955B (zh) 2019-05-27 2019-05-27 基于安全套接层协议认证的信息处理方法及装置

Country Status (1)

Country Link
CN (1) CN110190955B (zh)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110557244B (zh) * 2019-09-06 2021-12-28 江苏省水文水资源勘测局 一种水利工业控制***中应用数据单元加密方法
CN110677389B (zh) * 2019-09-09 2022-01-25 杭州迪普科技股份有限公司 基于ssl协议的混合攻击防护方法和装置
CN110944001A (zh) * 2019-12-06 2020-03-31 浙江军盾信息科技有限公司 一种服务器安全防护方法、装置及其相关设备
CN114830602A (zh) * 2019-12-17 2022-07-29 微芯片技术股份有限公司 用于低吞吐量通信链路的***的相互认证协议及用于执行该协议的设备
CN111107087B (zh) * 2019-12-19 2022-03-25 杭州迪普科技股份有限公司 报文检测方法及装置
CN111541682B (zh) * 2020-04-17 2022-08-12 北京天融信网络安全技术有限公司 一种数据安全检测方法、装置、存储介质和电子设备
CN112383392B (zh) * 2020-11-13 2024-03-15 随锐科技集团股份有限公司 一种视频会议轮换加密方法、设备及计算机可读存储介质
CN112689014A (zh) * 2020-12-24 2021-04-20 百果园技术(新加坡)有限公司 一种双全工通信方法、装置、计算机设备和存储介质
CN112751858B (zh) * 2020-12-30 2023-04-07 恒安嘉新(北京)科技股份公司 数据加密通信终端方法、装置、终端、服务器及存储介质
CN115701026A (zh) * 2021-07-21 2023-02-07 中移物联网有限公司 一种传输层安全协议的测试方法、装置及终端
CN113765927A (zh) * 2021-09-09 2021-12-07 图易(常熟)信息技术有限公司 一种云端上传内容网络版权加密方法及***
CN114679299B (zh) * 2022-02-24 2024-03-15 广东电网有限责任公司 通信协议加密方法、装置、计算机设备和存储介质
CN116032545B (zh) * 2022-12-06 2024-03-22 北京中睿天下信息技术有限公司 一种ssl或tls流量多级过滤方法和***

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8707027B1 (en) * 2012-07-02 2014-04-22 Symantec Corporation Automatic configuration and provisioning of SSL server certificates
CN104468560A (zh) * 2014-12-02 2015-03-25 中国科学院声学研究所 网络保密数据明文的采集方法及***
CN105763566A (zh) * 2016-04-19 2016-07-13 成都知道创宇信息技术有限公司 一种客户端与服务器之间的通信方法
CN106941401A (zh) * 2017-03-23 2017-07-11 深信服科技股份有限公司 加速设备以及基于加速设备获取会话秘钥的方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2909988B1 (en) * 2012-10-19 2018-05-16 Telefonaktiebolaget LM Ericsson (publ) Unidirectional deep packet inspection

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8707027B1 (en) * 2012-07-02 2014-04-22 Symantec Corporation Automatic configuration and provisioning of SSL server certificates
CN104468560A (zh) * 2014-12-02 2015-03-25 中国科学院声学研究所 网络保密数据明文的采集方法及***
CN105763566A (zh) * 2016-04-19 2016-07-13 成都知道创宇信息技术有限公司 一种客户端与服务器之间的通信方法
CN106941401A (zh) * 2017-03-23 2017-07-11 深信服科技股份有限公司 加速设备以及基于加速设备获取会话秘钥的方法

Also Published As

Publication number Publication date
CN110190955A (zh) 2019-08-30

Similar Documents

Publication Publication Date Title
CN110190955B (zh) 基于安全套接层协议认证的信息处理方法及装置
Vanhoef et al. Key reinstallation attacks: Forcing nonce reuse in WPA2
US9432340B1 (en) System and method for secure end-to-end chat system
CN109428867B (zh) 一种报文加解密方法、网路设备及***
US8468347B2 (en) Secure network communications
CN109302412B (zh) 基于CPK的VoIP通信处理方法、终端、服务器及存储介质
US20090220080A1 (en) Application-Level Service Access to Encrypted Data Streams
CN109167802B (zh) 防止会话劫持的方法、服务器以及终端
KR20080089500A (ko) 모바일 네트워크를 기반으로 하는 엔드 투 엔드 통신에서의 인증을 위한 방법, 시스템 및 인증 센터
CN113225352B (zh) 一种数据传输方法、装置、电子设备及存储介质
CN114503507A (zh) 安全的发布-订阅通信方法和设备
KR102433939B1 (ko) 무선 네트워크들에서 빠르고, 안전하며 프라이버시에 해가 되지 않는 인터넷 접속 발견을 위한 방법들
CN107547559B (zh) 一种报文处理方法及装置
CN110719248A (zh) 用户数据报协议报文的转发方法及装置
US10291600B2 (en) Synchronizing secure session keys
Sari et al. Comparative analysis of wireless security protocols: WEP vs WPA
CN110493367B (zh) 无地址的IPv6非公开服务器、客户机与通信方法
CN112637136A (zh) 加密通信方法及***
CN114143082B (zh) 一种加密通信方法、***及装置
WO2017185978A1 (zh) 一种报文解析方法及设备
CN110971616B (zh) 基于安全传输层协议的连接建立方法、客户端和服务器
Noh et al. Secure key exchange scheme for WPA/WPA2-PSK using public key cryptography
CN104243452A (zh) 一种云计算访问控制方法及***
Hu et al. Gatekeeper: A gateway-based broadcast authentication protocol for the in-vehicle Ethernet
KR101448866B1 (ko) 웹 보안 프로토콜에 따른 암호화 데이터를 복호화하는 보안 장치 및 그것의 동작 방법

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant