CN108566361A - 一种基于ssl/tls协议的安全参数协商方法和系统 - Google Patents

一种基于ssl/tls协议的安全参数协商方法和系统 Download PDF

Info

Publication number
CN108566361A
CN108566361A CN201810009255.2A CN201810009255A CN108566361A CN 108566361 A CN108566361 A CN 108566361A CN 201810009255 A CN201810009255 A CN 201810009255A CN 108566361 A CN108566361 A CN 108566361A
Authority
CN
China
Prior art keywords
data packet
protocol data
client
server
parameter
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201810009255.2A
Other languages
English (en)
Other versions
CN108566361B (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.)
WUHAN ARGUSEC TECHNOLOGY CO LTD
Original Assignee
WUHAN ARGUSEC TECHNOLOGY CO LTD
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by WUHAN ARGUSEC TECHNOLOGY CO LTD filed Critical WUHAN ARGUSEC TECHNOLOGY CO LTD
Priority to CN201810009255.2A priority Critical patent/CN108566361B/zh
Publication of CN108566361A publication Critical patent/CN108566361A/zh
Application granted granted Critical
Publication of CN108566361B publication Critical patent/CN108566361B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/20Network architectures or network communication protocols for network security for managing network security; network security policies in general
    • H04L63/205Network architectures or network communication protocols for network security for managing network security; network security policies in general involving negotiation or determination of the one or more network security mechanisms to be used, e.g. by negotiation between the client and the server or between peers or by selection according to the capabilities of the entities involved
    • 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/166Implementing security features at a particular protocol layer at the transport layer
    • 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

Landscapes

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

Abstract

本发明公开了一种基于SSL/TLS协议的安全参数协商方法,包括:客户端接收用户发送的网络协议数据包,并根据网络协议数据包中的关键字段确定用户所处应用场景的安全级别,客户端扫描服务端提供SSL/TLS服务的地址和端口,以获取服务端支持的所有参数信息,客户端根据确定的用户所处应用场景的安全级别从参数信息中选择对应的值,并将该值填入SSL/TLS协议的ClientHello字段中。本发明能够根据不同的应用场景,使用不同强度的安全参数,提高了用户数据的安全性和传输效率。可以避免因安全参数不支持而产生错误,能够提高通信的效率,并且可以快速定位问题,提高解决问题的效率。

Description

一种基于SSL/TLS协议的安全参数协商方法和系统
技术领域
本发明属于信息安全技术领域和互联网通信领域,更具体地,涉及一种基于SSL/TLS协议的安全参数协商方法和系统。
背景技术
随着信息化程度的不断提高,各政府部门或企事业单位都已经在互联网上部署了大量的业务系统,并通过互联网与其他各地的分支机构或者合作伙伴进行业务数据往来,这些业务数据是政府部门或企事业单位的重要数字资产,信息化建设过程中需要保证其机密性、真实性、完整性和不可否认性。
在这些业务数据的传输过程中,出于安全上的考虑,往往不能将这些业务数据直接发送给远程服务器,而需要与远程服务端建立SSL/TLS连接,以接收、处理和响应这些业务数据。在SSL/TLS连接的握手过程中,SSL/TLS客户端需要将其所支持的所有安全参数发送给SSL/TLS服务端,SSL/TLS服务端从SSL/TLS客户端的安全参数信息中选择一种协商算法,约定为双方在后续通讯过程中所使用。
然而,现有的SSL/TLS安全参数协商机制存在如下几个方面的技术问题:第一、SSL/TLS客户端被动的接受SSL/TLS服务器选择的安全参数,当SSL/TLS客户端处在低安全级别的应用环境中,SSL/TLS服务端可能会选择高强度的安全参数,从而导致传输效率低下,而当SSL/TLS客户端处在高安全级别的应用环境中,SSL/TLS服务端可能会选择低强度的安全参数,导致用户数据得不到高强度的加密保护;第二、如果SSL/TLS服务端不支持SSL/TLS客户端发送的安全参数时,会导致SSL/TLS握手失败,从而降低了SSL/TLS通信的效率,此外,如果要确定SSL/TLS握手失败的原因,则需要在SSL/TLS服务端查看配置文件或者日志文件,并且通过将该文件与和SSL/TLS服务端通信的每个SSL/TLS客户端进行比对,这样会产生浪费运维人员的大量时间,费时费力,效率低下,不利于快速排查的技术问题。
发明内容
针对现有技术的以上缺陷或改进需求,本发明提供了一种基于SSL/TLS协议的安全参数协商方法和系统,其目的在于,根据用户所处的不同应用场景,使用不同强度的安全参数,从而提高客户端接收到的用户数据的安全性和传输效率,此外,本发明还能够避免因安全参数不被服务端支持而产生握手错误,从而提高通信的效率。
为实现上述目的,按照本发明的一个方面,提供了一种基于SSL/TLS协议的安全参数协商方法,包括以下步骤:
(1)客户端接收用户发送的网络协议数据包,并根据网络协议数据包中的关键字段确定用户所处应用场景的安全级别;
(2)客户端发送第一握手协议数据包到服务端;
(3)服务端判断来自客户端的第一握手协议数据包是否是用于安全参数协商的握手协议数据包,如果是则转入步骤(4),否则丢弃该第一握手协议数据包,过程结束;
(4)服务端生成第二握手协议数据包,在该第二握手协议数据包的安全参数字段中填入该服务端对应的安全参数,并将该第二握手数据包发送到客户端;
(5)客户端根据其自身支持的安全参数和步骤(1)确定的用户所处应用场景的安全级别从第二握手协议数据包中的安全参数字段中选择对应的值,并将该值填入SSL/TLS协议的ClientHello字段中。
优选地,第一握手协议数据包和第二握手协议数据包中均包括至少一个安全参数字段,第一握手协议数据包的安全参数字段是客户端支持的密码套件列表字段、第二握手协议数据包的安全参数字段是服务端支持的密码套件列表字段。
优选地,第一握手协议数据包的安全参数字段进一步包括客户端SSL/TLS协议版本字段、以及客户端支持的压缩算法列表字段;第二握手协议数据包的安全参数字段进一步包括服务端SSL/TLS协议版本字段、以及服务端支持的压缩算法列表字段。
优选地,步骤(3)具体为,首先判断握手协议数据包中的握手类型字段的值是否等于客户端与服务端预先协商的值,如果等于,则表示该握手协议数据包就是用于安全参数协商的握手协议数据包,否则则表示其不是用于安全参数协商的握手协议数据包。
优选地,在第二握手协议数据包的密码套件列表字段中,所有加密套件被按照加密强度从高到低进行了排序,其中最前面的一部分加密套件用作高加密强度的加密套件,对应于高安全级别,中间的一部分加密套件用于中加密强度的加密套件,对应于中安全级别,剩余的加密套件用于低加密强度的加密套件,对应于低安全级别。
按照本发明的另一方面,提供了一种基于SSL/TLS协议的安全参数协商系统,包括:
第一模块,其设置于客户端中,用于接收用户发送的网络协议数据包,并根据网络协议数据包中的关键字段确定用户所处应用场景的安全级别;
第二模块,其设置在客户端中,用于发送第一握手协议数据包到服务端;
第三模块,其设置于服务端中,用于判断来自客户端的第一握手协议数据包是否是用于安全参数协商的握手协议数据包,如果是则转入第四模块,否则丢弃该第一握手协议数据包,过程结束;
第四模块,其设置于服务端中,用于生成第二握手协议数据包,在该第二握手协议数据包的安全参数字段中填入该服务端对应的安全参数,并将该第二握手数据包发送到客户端;
第五模块,其设置于客户端中,用于根据其自身支持的安全参数和第一模块确定的用户所处应用场景的安全级别从第二握手协议数据包中的安全参数字段中选择对应的值,并将该值填入SSL/TLS协议的ClientHello字段中。
总体而言,通过本发明所构思的以上技术方案与现有技术相比,上述方法和系统具有以下的有益效果:
(1)本发明通过针对用户所处的不同用户场景,使用不同强度的安全参数字段,从而提高了客户端接收到的用户数据的安全性和传输效率;
(2)本发明的客户端能够从服务端发送的加密套件列表字段中选择其自身支持的一个或多个加密套件,从而能够避免因安全参数不被服务端支持而产生握手错误,并进而提高通信的效率。
按照本发明的另一方面,提供了一种基于SSL/TLS协议的安全参数协商方法,包括以下步骤:
(1)客户端接收用户发送的网络协议数据包,并根据网络协议数据包中的关键字段确定用户所处应用场景的安全级别。
(2)客户端扫描服务端提供SSL/TLS服务的地址和端口,以获取服务端支持的所有参数信息;
(3)客户端根据其自身支持的参数信息和步骤(1)确定的用户所处应用场景的安全级别从安全参数规划库中选择对应的值,并将该值填入SSL/TLS协议的ClientHello字段中。
优选地,步骤(2)具体为:首先客户端通过应用程序或者工具与服务端建立一次成功完整的SSL/TLS连接,以获取到一组服务端支持的参数信息。然后客户端将该参数信息录入安全参数规则库,其后客户端删除该参数信息,并再次与服务端建立成功完整的SSL/TLS连接,以获得下一组服务端支持的参数信息,依次类推,直到获取到服务端支持的所有参数信息并将其录入客户端的安全参数数据库为止。
优选地,参数信息是服务端支持的加密套件列表。
按照本发明的另一方面,提供了一种基于SSL/TLS协议的安全参数协商系统,其设置于客户端中,包括:
第一模块,用于接收用户发送的网络协议数据包,并根据网络协议数据包中的关键字段确定用户所处应用场景的安全级别。
第二模块,用于扫描服务端提供SSL/TLS服务的地址和端口,以获取服务端支持的所有参数信息;
第三模块,用于根据客户端自身支持的参数信息和步骤(1)确定的用户所处应用场景的安全级别从安全参数规则库中选择对应的值,并将该值填入SSL/TLS协议的ClientHello字段中。
总体而言,通过本发明所构思的以上技术方案与现有技术相比,上述方法和系统具有以下的有益效果:
(1)本发明通过针对用户所处的不同用户场景,使用不同强度的参数信息,从而提高了客户端接收到的用户数据的安全性和传输效率;
(2)当本发明在客户端和服务端不具备相同的参数信息时,会出现握手错误,此时通过查看客户端的扫描结果,既可以快速定位握手错误的问题,提高解决问题的效率。
附图说明
图1是根据本发明第一实施方式的基于SSL/TLS协议的安全参数协商方法的流程图。
图2是根据本发明第二实施方式的基于SSL/TLS协议的安全参数协商方法的流程图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。此外,下面所描述的本发明各个实施方式中所涉及到的技术特征只要彼此之间未构成冲突就可以相互组合。
如图1所示,根据本发明第一实施方式的基于安全套接层/传输层安全(SecureSockets Layer/Transport Layer Security,简称SSL/TLS)协议的安全参数协商方法包括以下步骤:
(1)客户端接收用户发送的网络协议数据包,并根据网络协议数据包中的关键字段确定用户所处应用场景的安全级别。
具体而言,网络协议数据包是建立在TCP协议之上的一种应用层数据包。
在本实施方式中,客户端是设置在网关中,其具体是能够发送和接收用于安全参数协商的SSL/TLS握手协议数据包的SSL/TLS应用程序或业务系统。
用户是能够发送TCP协议之上的一种应用层数据包的应用程序和业务系统。
本发明中的方法发生在发送SSL/TLS握手协议数据包ClientHello之前,应该理解的是,本发明中的SSL/TLS协议包括,但不局限于国际标准SSL/TLS协议、国家密码SSL/TLS协议等。
本步骤确定应用场景的安全级别是通过查看网络协议数据包中的关键字来实现;举例而言,如果网络协议数据包中存在有关键字“内容安全等级:查看”,则说明用户所处应用场景的安全级别为低,如果网络协议数据包中存在关键字“内容安全等级:查询”,则说明用户所处应用场景的安全级别为中,如果网络协议数据包中存在关关键字“内容安全等级:交易”,则说明用户所处应用场景的安全级别为高。
在本发明中判断用户所处应用场景的关键字,并不是固定不变的,该关键字可以在通信过程中,由客户端和服务端双方进行约定。另外,在本实施方式中,关键字是自定义的类型,其也可以是标准应用层协议中规定的关键字类型,例如,可以使用“POST”作为为高安全级别,“GET”为低安全级别。
(2)客户端发送第一握手协议数据包到服务端;
在本实施方式中,服务端是设置在网关中,其具体是能够发送和接收用于安全参数协商的SSL/TLS握手协议数据包的SSL/TLS应用程序或业务系统。
应该注意的是,本步骤发送的第一握手协议数据包中包括至少一个安全参数字段,在本实施方式中,该安全参数字段为客户端支持的密码套件列表字段。作为进一步优选的,该安全参数字段还可以包括客户端SSL/TLS协议版本字段、以及客户端支持的压缩算法列表字段等,应该理解的是,本发明并不局限于以上列举的三个字段,其他任何可用于协商SSL/TLS协议的安全参数字段也在本发明的保护范围内。密码套件列表中包括有多个密码套件,例如TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA、ECC_SM4_SM3等。
(3)服务端判断来自客户端的第一握手协议数据包是否是用于安全参数协商的握手协议数据包,如果是则转入步骤(4),否则丢弃该第一握手协议数据包,过程结束;
应该注意的是,本步骤接收的第一握手协议数据包在到达SSL/TLS服务端之前,经过了0个到多个中间设备,如交换机、集线器等;
本步骤具体为,首先判断第一握手协议数据包中的握手类型字段(例如,在TLS1.2版本的标准文档RFC 5246中规定是“握手类型”)的值是否等于客户端与服务端预先协商的值(例如241),如果等于,则表示该第一握手协议数据包就是用于安全参数协商的握手协议数据包,否则则表示其不是用于安全参数协商的握手协议数据包。
(4)服务端生成第二握手协议数据包,在该第二握手协议数据包的安全参数字段中填入该服务端对应的安全参数,并将该第二握手数据包发送到客户端;
具体而言,本步骤中安全参数字段的数量和类型,与上述步骤(2)中描述的第一握手协议数据包中的安全参数字段是完全对应的。例如,如果第一握手协议数据包中仅仅包括客户端支持的密码套件列表字段,则本步骤中的第二握手协议数据包中仅仅包括服务端支持的密码套件列表字段,在填充安全参数时,所填入的就是服务端自身所支持的密码套件列表。
作为进一步优选的,第二握手协议数据包中的安全参数字段还可以包括服务端SSL/TLS协议版本字段、以及服务端支持的压缩算法列表字段等,应该理解的是,本发明并不局限于以上列举的三个字段,其他任何可用于协商SSL/TLS协议的安全参数字段都在本发明的保护范围内。
(5)客户端根据其自身支持的安全参数和步骤(1)确定的用户所处应用场景的安全级别从第二握手协议数据包中的安全参数字段中选择对应的值,并将该值填入SSL/TLS协议的ClientHello字段中。
具体而言,在第二握手协议数据包的密码套件列表字段中,已经对所有加密套件按照加密强度从高到低进行了排序,其中最前面的一部分(例如1/3或)加密套件用作高加密强度的加密套件,对应于高安全级别,中间的一部分加密套件用于中加密强度的加密套件,对应于中安全级别,剩余的加密套件用于低加密强度的加密套件,对应于低安全级别。
本步骤具体为,如果应用场景是低安全级别,则客户端从加密套件列表字段中选择其自身支持的一个或多个低加密强度的加密套件;如果应用场景是中安全级别,则客户端从加密套件列表字段中选择其自身支持的一个或多个中加密强度的加密套件;如果应用场景是高安全级别,则客户端从加密套件列表字段中选择其自身支持的一个或多个高加密强度的加密套件。
需要注意的是,在上述步骤(2)和步骤(4)中,安全参数字段所涉及的协议版本可以为SSL3.0、TLS1.0、TLS1.1、TLS1.2、TLS1.3、国家密码SSL等,但应该理解的是,本发明绝不局限于上述的协议版本,任何本领域公知的SSL/TLS协议版本都可以被使用。
在上述步骤(2)、步骤(4)中,加密套件中的密钥交换算法可以为ECDHE算法、ECC算法、RSA算法等,身份认证算法可以为SM2算法、RSA算法等,数据加密算法可以为AES算法、DES算法、3DES算法、SM1算法、SM4算法等,MAC算法可以为SHA-1算法、SM3算法等。
但应该理解的是,本发明绝不局限于上述的密钥交换算法,任何本领域公知的密钥交换算法都可以被使用。本发明绝不局限于上述的身份认证算法,任何本领域公知的非对称加密算法都可以被使用。本发明绝不局限于上述的数据加密算法,任何本领域公知的对称加密算法都可以被使用。本发明绝不局限于上述的MAC算法,任何本领域公知的散列算法(摘要算法)都可以被使用。
如图2所示,根据本发明第二实施方式的基于SSL/TLS协议的安全参数协商方法包括以下步骤:
(1)客户端接收用户发送的网络协议数据包,并根据网络协议数据包中的关键字段确定用户所处应用场景的安全级别。
具体而言,网络协议数据包是建立在TCP协议之上的一种应用层数据包。
在本实施方式中,客户端是设置在网关中,其具体是能够发送和接收用于安全参数协商的安全套接层/传输层安全协议(Secure Sockets Layer/Transport LayerSecurity,简称SSL/TLS)握手协议数据包的SSL/TLS应用程序或业务系统。
用户为能够发送TCP协议之上的一种应用层数据包的应用程序和业务系统。
本发明中的方法发生在发送SSL/TLS握手协议数据包ClientHello之前,应该理解的是,本发明中的SSL/TLS协议包括但不局限于国际标准SSL/TLS协议、国家密码SSL/TLS协议等。
本步骤确定应用场景的安全级别是通过查看网络协议数据包中的关键字来实现;举例而言,如果网络协议数据包中存在有关键字“内容安全等级:查看”,则说明用户所处应用场景的安全级别为低,如果网络协议数据包中存在关键字“内容安全等级:查询”,则说明用户所处应用场景的安全级别为中,如果网络协议数据包中存在关关键字“内容安全等级:交易”,则说明用户所处应用场景的安全级别为高。
在本发明中判断用户所处应用场景的关键字,并不是固定不变的,该关键字可以在通信过程中,由客户端和服务端双方进行约定。另外,在本实施方式中,关键字是自定义的类型,其也可以是标准应用层协议中规定的关键字类型,例如,可以使用“POST”作为为高安全级别,“GET”为低安全级别。
(2)客户端扫描服务端提供SSL/TLS服务的地址和端口,以获取服务端支持的所有参数信息;
本步骤具体为,首先客户端通过应用程序或者工具与服务端建立一次成功完整的SSL/TLS连接,以获取到一组服务端支持的参数信息。然后客户端将该参数信息录入安全参数规则库,然后客户端删除该参数信息,并再次与服务端建立成功完整的SSL/TLS连接,以获得下一组服务端支持的参数信息,依次类推,直到获取到服务端支持的所有参数信息并将其录入客户端的安全参数数据库为止。
在本实施方式中,客户端使用的应用程序可以是多种形式(比如设置在客户端中的应用程序,或者远端第三方程序),只要应用程序能够写入安全参数规则库,并使得客户端有权限访问该安全参数数据库即可。工具也可以是多种形式,如sslscan等开源工具等等。应该理解的是,本发明并不局限于此,使用其它工具或者应用程序获取到服务端参数信息等也在本发明的保护范围内。
具体而言,参数信息是服务端支持的加密套件列表。优选地,参数信息也可以包括当前SSL/TLS协议版本、以及服务端支持的压缩算法。
应该注意的是,本步骤SSL/TLS客户端和SSL/TLS服务端之间的通信,经过了0个到多个中间设备,如交换机、集线器等。
(3)客户端根据其自身支持的参数信息和步骤(1)确定的用户所处应用场景的安全级别从安全参数规则库中选择对应的值,并将该值填入SSL/TLS协议的ClientHello字段中。
具体而言,在安全参数规则库中,已经对所有加密套件按照加密强度从高到低进行了排序,其中最前面的一部分(例如1/3)加密套件用作高加密强度的加密套件,对应于高安全级别,中间的一部分加密套件用于中加密强度的加密套件,对应于中安全级别,剩余的加密套件用于低加密强度的加密套件,对应于低安全级别。
如果应用场景是低安全级别,则客户端可以选择一个或多个低加密强度的加密套件;如果应用场景是中安全级别,则客户端可以选择一个或多个中加密强度的加密套件;如果应用场景是高安全级别,则客户端可以选择一个或多个高加密强度的加密套件。
需要注意的是,在上述步骤(1)、步骤(2)、步骤(3)中,安全参数中涉及的协议版本可以为SSL3.0、TLS1.0、TLS1.1、TLS1.2、TLS1.3、国家密码SSL等,但应该理解的是,本发明绝不局限于上述的协议版本,任何本领域公知的协议版本都可以被使用。
在上述步骤(1)、步骤(2)、步骤(3)中,加密套件中的密钥交换算法可以为ECDHE算法、ECC算法、RSA算法等,身份认证算法可以为SM2算法、RSA算法等,加密算法可以为AES算法、DES算法、3DES算法、SM1算法、SM4算法等,MAC算法可以为SHA-1算法、SM3算法等。
但应该理解的是,本发明绝不局限于上述的密钥交换算法,任何本领域公知的密钥交换算法都可以被使用。本发明绝不局限于上述的身份认证算法,任何本领域公知的非对称加密算法都可以被使用。本发明绝不局限于上述的数据加密算法,任何本领域公知的对称加密算法都可以被使用。本发明绝不局限于上述的MAC算法,任何本领域公知的散列算法(摘要算法)都可以被使用。
总而言之,本发明能够根据不同的应用场景,使用不同强度的安全参数,提高了用户数据的安全性和传输效率。可以避免因安全参数不支持而产生错误,能够提高通信的效率。可以查看含有双方安全参数信息的消息包,快速定位问题,提高解决问题的效率。
本领域的技术人员容易理解,以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

Claims (10)

1.一种基于SSL/TLS协议的安全参数协商方法,其特征在于,包括以下步骤:
(1)客户端接收用户发送的网络协议数据包,并根据网络协议数据包中的关键字段确定用户所处应用场景的安全级别;
(2)客户端发送第一握手协议数据包到服务端;
(3)服务端判断来自客户端的第一握手协议数据包是否是用于安全参数协商的握手协议数据包,如果是则转入步骤(4),否则丢弃该第一握手协议数据包,过程结束;
(4)服务端生成第二握手协议数据包,在该第二握手协议数据包的安全参数字段中填入该服务端对应的安全参数,并将该第二握手数据包发送到客户端;
(5)客户端根据其自身支持的安全参数和步骤(1)确定的用户所处应用场景的安全级别从第二握手协议数据包中的安全参数字段中选择对应的值,并将该值填入SSL/TLS协议的ClientHello字段中。
2.根据权利要求1所述的安全参数协商方法,其特征在于,
第一握手协议数据包和第二握手协议数据包中均包括至少一个安全参数字段;
第一握手协议数据包的安全参数字段是客户端支持的密码套件列表字段,第二握手协议数据包的安全参数字段是服务端支持的密码套件列表字段。
3.根据权利要求2所述的安全参数协商方法,其特征在于,
第一握手协议数据包的安全参数字段进一步包括客户端SSL/TLS协议版本字段、以及客户端支持的压缩算法列表字段;
第二握手协议数据包的安全参数字段进一步包括服务端SSL/TLS协议版本字段、以及服务端支持的压缩算法列表字段。
4.根据权利要求1所述的安全参数协商方法,其特征在于,步骤(3)具体为,首先判断握手协议数据包中的握手类型字段的值是否等于客户端与服务端预先协商的值,如果等于,则表示该握手协议数据包就是用于安全参数协商的握手协议数据包,否则则表示其不是用于安全参数协商的握手协议数据包。
5.根据权利要求1所述的安全参数协商方法,其特征在于,在第二握手协议数据包的密码套件列表字段中,所有加密套件被按照加密强度从高到低进行了排序,其中最前面的一部分加密套件用作高加密强度的加密套件,对应于高安全级别,中间的一部分加密套件用于中加密强度的加密套件,对应于中安全级别,剩余的加密套件用于低加密强度的加密套件,对应于低安全级别。
6.一种基于SSL/TLS协议的安全参数协商系统,其特征在于,包括:
第一模块,其设置于客户端中,用于接收用户发送的网络协议数据包,并根据网络协议数据包中的关键字段确定用户所处应用场景的安全级别;
第二模块,其设置在客户端中,用于发送第一握手协议数据包到服务端;
第三模块,其设置于服务端中,用于判断来自客户端的第一握手协议数据包是否是用于安全参数协商的握手协议数据包,如果是则转入第四模块,否则丢弃该第一握手协议数据包,过程结束;
第四模块,其设置于服务端中,用于生成第二握手协议数据包,在该第二握手协议数据包的安全参数字段中填入该服务端对应的安全参数,并将该第二握手数据包发送到客户端;
第五模块,其设置于客户端中,用于根据其自身支持的安全参数和第一模块确定的用户所处应用场景的安全级别从第二握手协议数据包中的安全参数字段中选择对应的值,并将该值填入SSL/TLS协议的ClientHello字段中。
7.一种基于SSL/TLS协议的安全参数协商方法,其特征在于,包括以下步骤:
(1)客户端接收用户发送的网络协议数据包,并根据网络协议数据包中的关键字段确定用户所处应用场景的安全级别。
(2)客户端扫描服务端提供SSL/TLS服务的地址和端口,以获取服务端支持的所有参数信息;
(3)客户端根据其自身支持的参数信息和步骤(1)确定的用户所处应用场景的安全级别从安全参数规则库中选择对应的值,并将该值填入SSL/TLS协议的ClientHello字段中。
8.根据权利要求7所述的安全参数协商方法,其特征在于,步骤(2)具体为:首先客户端通过应用程序或者工具与服务端建立一次成功完整的SSL/TLS连接,以获取到一组服务端支持的参数信息。然后客户端将该参数信息录入安全参数规则库,其后客户端删除该参数信息,并再次与服务端建立成功完整的SSL/TLS连接,以获得下一组服务端支持的参数信息,依次类推,直到获取到服务端支持的所有参数信息并将其录入客户端的安全参数数据库为止。
9.根据权利要求7所述的安全参数协商方法,其特征在于,参数信息是服务端支持的加密套件列表。
10.一种基于SSL/TLS协议的安全参数协商系统,其设置于客户端中,其特征在于,包括:
第一模块,用于接收用户发送的网络协议数据包,并根据网络协议数据包中的关键字段确定用户所处应用场景的安全级别。
第二模块,用于扫描服务端提供SSL/TLS服务的地址和端口,以获取服务端支持的所有参数信息;
第三模块,用于根据其自身支持的参数信息和步骤(1)确定的用户所处应用场景的安全级别从安全参数规则库中选择对应的值,并将该值填入SSL/TLS协议的ClientHello字段中。
CN201810009255.2A 2018-01-05 2018-01-05 一种基于ssl/tls协议的安全参数协商方法和系统 Active CN108566361B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810009255.2A CN108566361B (zh) 2018-01-05 2018-01-05 一种基于ssl/tls协议的安全参数协商方法和系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810009255.2A CN108566361B (zh) 2018-01-05 2018-01-05 一种基于ssl/tls协议的安全参数协商方法和系统

Publications (2)

Publication Number Publication Date
CN108566361A true CN108566361A (zh) 2018-09-21
CN108566361B CN108566361B (zh) 2020-08-21

Family

ID=63530650

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810009255.2A Active CN108566361B (zh) 2018-01-05 2018-01-05 一种基于ssl/tls协议的安全参数协商方法和系统

Country Status (1)

Country Link
CN (1) CN108566361B (zh)

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110012097A (zh) * 2019-04-04 2019-07-12 苏州足加新能源科技有限公司 充电桩客户端与充电桩服务器间通信方法
CN110768988A (zh) * 2019-10-28 2020-02-07 杭州迪普科技股份有限公司 一种建立ssl vpn隧道的方法及装置
CN111464387A (zh) * 2020-03-31 2020-07-28 南方电网科学研究院有限责任公司 一种检测终端ssl/tls配置安全性的方法、装置、系统和设备
CN111478974A (zh) * 2020-04-27 2020-07-31 奇安信科技集团股份有限公司 网络连接方法及装置、电子设备和可读存储介质
CN111600914A (zh) * 2020-07-27 2020-08-28 北京信安世纪科技股份有限公司 一种数据传输方法、服务端和客户端
CN112714053A (zh) * 2020-12-25 2021-04-27 北京天融信网络安全技术有限公司 通信连接方法及装置
CN113328783A (zh) * 2021-05-25 2021-08-31 广州爱浦路网络技术有限公司 天地一体化信息网络中的数据传输方法、装置和存储介质
CN113746807A (zh) * 2021-08-11 2021-12-03 北银金融科技有限责任公司 一种区块链节点支持国密算法通信检测方法
CN114520824A (zh) * 2021-12-27 2022-05-20 北京升明科技有限公司 基于tls协议的通信握手方法、装置、电子设备及介质
CN114584393A (zh) * 2022-03-31 2022-06-03 深圳市瑞云科技有限公司 一种自动选择加密协议的方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1972280A (zh) * 2005-11-25 2007-05-30 华为技术有限公司 具有分级服务功能的通信系统和方法
CN101567880A (zh) * 2008-04-21 2009-10-28 成都市华为赛门铁克科技有限公司 加密套件选择方法、装置和系统
CN106533689A (zh) * 2015-09-15 2017-03-22 阿里巴巴集团控股有限公司 一种在ssl/tls通信中加载数字证书的方法和装置
CN107276969A (zh) * 2016-04-08 2017-10-20 杭州海康威视数字技术股份有限公司 一种数据的传输方法及装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1972280A (zh) * 2005-11-25 2007-05-30 华为技术有限公司 具有分级服务功能的通信系统和方法
CN101567880A (zh) * 2008-04-21 2009-10-28 成都市华为赛门铁克科技有限公司 加密套件选择方法、装置和系统
CN106533689A (zh) * 2015-09-15 2017-03-22 阿里巴巴集团控股有限公司 一种在ssl/tls通信中加载数字证书的方法和装置
CN107276969A (zh) * 2016-04-08 2017-10-20 杭州海康威视数字技术股份有限公司 一种数据的传输方法及装置

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110012097A (zh) * 2019-04-04 2019-07-12 苏州足加新能源科技有限公司 充电桩客户端与充电桩服务器间通信方法
CN110768988A (zh) * 2019-10-28 2020-02-07 杭州迪普科技股份有限公司 一种建立ssl vpn隧道的方法及装置
CN111464387A (zh) * 2020-03-31 2020-07-28 南方电网科学研究院有限责任公司 一种检测终端ssl/tls配置安全性的方法、装置、系统和设备
CN111478974B (zh) * 2020-04-27 2023-10-13 奇安信科技集团股份有限公司 网络连接方法及装置、电子设备和可读存储介质
CN111478974A (zh) * 2020-04-27 2020-07-31 奇安信科技集团股份有限公司 网络连接方法及装置、电子设备和可读存储介质
CN111600914A (zh) * 2020-07-27 2020-08-28 北京信安世纪科技股份有限公司 一种数据传输方法、服务端和客户端
CN111600914B (zh) * 2020-07-27 2020-11-24 北京信安世纪科技股份有限公司 一种数据传输方法、服务端和客户端
CN112714053A (zh) * 2020-12-25 2021-04-27 北京天融信网络安全技术有限公司 通信连接方法及装置
CN113328783A (zh) * 2021-05-25 2021-08-31 广州爱浦路网络技术有限公司 天地一体化信息网络中的数据传输方法、装置和存储介质
CN113746807A (zh) * 2021-08-11 2021-12-03 北银金融科技有限责任公司 一种区块链节点支持国密算法通信检测方法
CN114520824A (zh) * 2021-12-27 2022-05-20 北京升明科技有限公司 基于tls协议的通信握手方法、装置、电子设备及介质
CN114584393A (zh) * 2022-03-31 2022-06-03 深圳市瑞云科技有限公司 一种自动选择加密协议的方法
CN114584393B (zh) * 2022-03-31 2023-10-20 深圳市瑞云科技有限公司 一种自动选择加密协议的方法

Also Published As

Publication number Publication date
CN108566361B (zh) 2020-08-21

Similar Documents

Publication Publication Date Title
CN108566361A (zh) 一种基于ssl/tls协议的安全参数协商方法和系统
CN110708170B (zh) 一种数据处理方法、装置以及计算机可读存储介质
CN104618108B (zh) 安全通信系统
CN105027493B (zh) 安全移动应用连接总线
CN104580189B (zh) 一种安全通信系统
EP2304636B1 (en) Mobile device assisted secure computer network communications
CN109309685B (zh) 信息传输方法和装置
CN104580190B (zh) 安全浏览器的实现方法和安全浏览器装置
CN109067803A (zh) 一种ssl/tls加解密通信方法、装置及设备
US20060143453A1 (en) Inter-authentication method and device
CN111756529B (zh) 一种量子会话密钥分发方法及系统
US20090307486A1 (en) System and method for secured network access utilizing a client .net software component
EP1635502A1 (en) Session control server and communication system
CN108156178A (zh) 一种ssl/tls数据监控系统和方法
WO2019178942A1 (zh) 一种进行ssl握手的方法和系统
CN103503408A (zh) 用于提供访问凭证的系统和方法
CN108243176B (zh) 数据传输方法和装置
CN106941401A (zh) 加速设备以及基于加速设备获取会话秘钥的方法
CN112751851B (zh) 一种ssh登录成功行为判断方法、装置及存储介质
CN106411926A (zh) 一种数据加密通信方法及系统
CN111756528B (zh) 一种量子会话密钥分发方法、装置及通信架构
CN104580553A (zh) 网络地址转换设备的识别方法和装置
CN105471896B (zh) 基于ssl的代理方法、装置及系统
US20180183584A1 (en) IKE Negotiation Control Method, Device and System
WO2007134082A2 (en) Security-preserving proxy tunnel

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