CN113114701B - 一种quic数据传输方法及装置 - Google Patents
一种quic数据传输方法及装置 Download PDFInfo
- Publication number
- CN113114701B CN113114701B CN202110481025.8A CN202110481025A CN113114701B CN 113114701 B CN113114701 B CN 113114701B CN 202110481025 A CN202110481025 A CN 202110481025A CN 113114701 B CN113114701 B CN 113114701B
- Authority
- CN
- China
- Prior art keywords
- quic
- data
- message
- frame
- length
- 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
Images
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/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/16—Implementing security features at a particular protocol layer
- H04L63/166—Implementing security features at a particular protocol layer at 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)
- Mobile Radio Communication Systems (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开一种QUIC数据传输方法及装置,所述数据传输方法包括以下步骤:发送设备生成带有协商数据的QUIC报文,所述QUIC报文中的应用数据本身不加密,其余字段均加密;并且所述QUIC报文的头部增加密文块以指示加密长度;所述发送设备与接收设备建立握手通信,启用不加密数据传输;所述接收设备接收到所述QUIC报文后,先判断第一个帧类型,再对加密块长度进行解析,得到原始报文。本发明的优势在于提出了一种使用QUIC安全传输不需要加密应用数据的方案,可以提高传输效率,节省资源,并保证安全性。
Description
技术领域
本发明属于新一代通信技术领域,具体涉及一种QUIC数据传输方法及装置。
背景技术
QUIC是一种安全信道的传输标准,由于其用户态协议实现、0-RTT重连等优势而受到http服务商的喜爱。在目前的草案规定中,quic所有的报文和数据都必须加密,见图1,图1为原始QUIC报文数据结构图(只有UDP头和ConnectId是明文)。
但在有的场景中应用数据已经加密,再次加密会对传输效率影响较大,特别像视频、直播之类的应用,已经出于版权保护加密过了,或者不需要加密,在传输层强制再次加密会严重影响效率,进而影响用户体验。另外QUIC作为隧道或者代理使用时,也不应该对用户数据再次加密。
在IETF的个人草案中,draft-banks-quic-disable-encryption提出了不加密的场景和方法,增加传输参数disable_1rtt_encryption用于客户端和服务端协商是否可以不加密,如果双方都同意不加密,则使用不加密传输数据。握手消息仍然需要加密,防止被中间人恶意篡改为不加密,数据传输报文见图2,图2为QUIC不加密的报文数据结构图。
但除了握手消息,还有很多控制报文会暴露攻击点,比如流控消息,恶意中间人可以篡改流控消息,导致消息收发异常;比如数据报文,可以修改流ID耗尽可用流,导致正常通信双方无法开启新的流;比如地址迁移,恶意中间人可以发起地址迁移,伪装成正常通信方收发报文。这对于数据传输来说是无办法接受的风险。
草案draft-banks-quic-disable-encryption中指明适用场景是完全可信任的通信环境或者应用已经加密了应用数据。但随着云环境越来越普遍,多租户使得云中没有完全可信任的通信环境,即使是私有云的东西向流量也并非绝对安全的;而对于用户已经加密的数据,报文中的QUIC协议部分仍然是很容易受到攻击的。
发明内容
本发明针对上述现有技术中存在的问题,本发明提出了QUIC一种安全传输不需要加密数据的方法,通过加密QUIC报文,但不加密应用数据的方法,解决当前草案中的问题。
为达到上述目的,本发明通过以下方案来实现:
一种QUIC数据传输方法,所述数据传输方法包括以下步骤:
发送设备生成带有协商数据的QUIC报文,所述QUIC报文中的应用数据本身不加密,其余字段均加密;并且所述QUIC报文的头部增加密文块以指示加密长度;
所述发送设备与接收设备建立握手通信,启用不加密数据传输;
所述接收设备接收到所述QUIC报文后,先判断第一个帧类型,再对加密块长度进行解析,得到原始报文。
进一步的,所述发送设备和接收设备通过QUIC报文中的协商数据进行握手通信,所述协商数据为传输参数disable_data_encryption,即只有发送设备和接收设备都能够发送及接收传输参数disable_data_encryption才启用不加密数据传输功能。
进一步的,所述密文块包括两部分,第一密文块位于QUIC头的后面;第二密文块位于第一个帧头的后面。
更进一步的,第一个帧类型是STREAM帧时,所述不加密数据传输的过程具体为:
第一密文块长度解密后得到部分QUIC原报文,将这部分原报文从帧头开始解析,得到帧头部;然后解析第二密文块长度,按照解密出的帧头中的数据长度字段,即data_len1取出第一帧中的应用数据。
更进一步的,第一个帧类型是除STREAM帧其他帧的情况,所述不加密数据传输的过程具体为:
第一密文块长度解密后得到部分QUIC原报文,先从这部分报文中得到此帧头部得到此帧内的max_data数据以及下一个帧头部,然后根据data_len1得到第二帧中的应用数据长度;如果不存在下一帧,则data_len1为0。
进一步的,所述密文块长度采用QUIC的变长编码方式进行编码。
本申请还提供一种QUIC数据传输装置,发送装置生成带有协商数据的QUIC报文,所述QUIC报文中的应用数据本身不加密,其余字段均加密;并且所述QUIC报文的头部增加密文块以指示加密长度。
进一步的,所述密文块包括两部分,第一密文块位于QUIC头的后面;第二密文块位于第一个帧头的后面。
进一步的,所述协商数据为传输参数disable_data_encryption。
本申请还提供一种用于存储上述QUIC数据传输方法的存储介质。
本发明具有如下有益效果:
1. QUIC协商应用数据不加密参数;
2. QUIC报文增加密文长度,作为单独字段或者QUIC头部内的字段,可以是明文或者使用包头保护;
3. QUIC内的报文分段加密和不加密,增加指示加密长度。
附图说明
图1为原始QUIC报文数据结构图;
图2为QUIC不加密的报文数据结构图;
图3为本申请QUIC数据传输方法示意图;
图4为本申请QUIC不加密的报文中应用数据传输的数据结构图;
图5为本申请QUIC不加密的报文中应用数据和协议帧混合传输的数据结构图。
具体实施方式
下面结合具体实施例以及附图对本发明设计方法进行详细阐述。
本申请一种QUIC数据传输方法基于以下QUIC报文实现:
增加传使能输参数disable_data_encryption,用来协商本连接是否需要支持数据不加密。
本申请提供的传输参数disable_data_encryption为TLS规定的一般是字符串,是TLS的扩展选项。
如图4所示,应用数据传输报文中(STREAM帧),除了应用数据本身均加密;如图5所示,QUIC协议帧均加密(除STREAM帧以外的帧)。
客户端建链的时候,除了quic的正常传输参数外,增加传输参数disable_data_encryption,如果收到服务端的disable_data_encryption则表示可以使用数据不加密,如果服务端没有传输参数disable_data_encryption,则不可以使用数据不加密。服务端协商执行客户端相同的逻辑。即只有客户端和服务端都能够发送及接收传输参数disable_data_encryption才可以启用不加密数据传输功能。
增加密文块长度部分,第一密文块长度为明文,或者使用包保护,指示接下来的QUIC加密后数据长度。第二密文块长度包含在第一密文的尾部。密文块长度作为单独字段或者QUIC头部内的字段,可以是明文或者使用包头保护。
最后一个加密块中不含下一长度,因为QUIC包内数据已经结束,不需要再指定结束。
本申请提供的QUIC数据传输方法包括以下步骤:
发送设备生成带有协商数据的QUIC报文,并且所述QUIC报文的头部增加密文块以指示加密长度;
所述发送设备与接收设备建立握手通信,启用不加密数据传输;
所述接收设备接收到所述QUIC报文后,先判断第一个帧类型,再对加密块长度进行解析,得到原始报文。
进一步的,所述发送设备和接收设备通过QUIC报文中的协商数据进行握手通信,所述协商数据为传输参数disable_data_encryption,即只有发送设备和接收设备都能够发送及接收传输参数disable_data_encryption才可以启用不加密数据传输功能。
进一步的,所述密文块包括两部分,第一密文块位于QUIC头的后面;第二密文块位于第一个帧头的后面。
更进一步的,第一个帧类型是STREAM帧时,所述不加密数据传输的过程具体为:
第一密文块长度解密后得到部分QUIC原报文,上述部分QUIC原报文指如图所示,紧随密文长度字段后,长度为密文长度指示的长度的数据,将这部分原报文从帧头开始解析,得到帧头部;然后解析第二密文块长度,按照解密出的data_len1取出第一帧中的应用数据。
更进一步的,第一个帧类型是除STREAM帧其他帧的情况,所述不加密数据传输的过程具体为:
第一密文块长度解密后得到部分QUIC原报文,先从这部分报文中得到帧头部得到帧内的max_data数据以及下一个帧头部,然后根据data_len1得到第二帧中的应用数据。
本发明QUIC数据传输方法中,应用数据本身不加密,其余字段均加密,这里所指的加密指的是采用TLS1.3方式对字段进行加密;本发明的优势在于提出了一种使用QUIC安全传输不需要加密应用数据的方案,可以提高传输效率,节省资源,并保证安全性。
以如下实施场景为例:
实施例1
如图4所示, 对于第一个帧类型是STREAM帧的情况,即承载应用数据的帧,根据第一个密文块长度解密后得到部分原报文,将这部分原报文从帧头开始解析,得到帧头部,如包含流ID、帧类型STREAM、帧内数据长度data_len1等,然后是下一块加密段长度。接下来按照解密出的data_len1取出第一帧中的数据,报文格式示意图见图4。
实施例2
如图5所示,对于第一个帧类型是除STREAM帧的其他帧的情况,根据第一个密文块长度解密后得到部分QUIC原报文,先从这部分报文中得到帧头部,如包含流ID、帧类型MAX_DATA、帧内数据长度data_len1等,并得到帧内的max_data数据,下一个帧头部,如包含流ID、帧类型STREAM、帧内数据长度data_len1等,然后根据data_len1数据得到第二帧中的应用数据。报文示意如图5。
实施例3
本申请还提供一种QUIC数据传输装置,该传输装置能够生成带有上述QUIC数据传输方法中协商数据的QUIC报文,所述QUIC报文中的应用数据本身不加密,其余字段均加密;并且所述QUIC报文的头部增加密文块以指示加密长度。
所述密文块包括两部分,第一密文块位于QUIC头的后面;第二密文块位于第一个帧头的后面;所述协商数据为传输参数disable_data_encryption。
QUIC协商应用数据不加密参数,提高了传输效率。
本申请还提供一种用于存储上述QUIC数据传输方法的存储介质。
以上内容是结合具体的实施例对本发明所作的详细说明,不能认定本发明具体实施仅限于这些说明。对于本发明所属技术领域的技术人员来说,在不脱离本发明构思的前提下,还可以做出若干简单推演或替换,都应当视为属于本发明保护的范围。
Claims (10)
1.一种QUIC数据传输方法,其特征在于,所述数据传输方法包括以下步骤:
发送设备生成带有协商数据的QUIC报文,所述QUIC报文中的应用数据不加密,其余字段均加密,并且所述QUIC报文的头部增加密文块以指示加密长度;
所述发送设备与接收设备建立握手通信,启用不加密数据传输;
所述接收设备接收到所述QUIC报文后,先判断第一个帧类型,再对密文块长度进行解析,得到原始报文。
2.根据权利要求1所述的一种QUIC数据传输方法,其特征在于,所述发送设备和接收设备通过QUIC报文中的协商数据进行握手通信,所述协商数据为传输参数disable_data_encryption,即只有发送设备和接收设备都能够发送及接收传输参数disable_data_encryption才启用不加密数据传输功能。
3.根据权利要求1所述的一种QUIC数据传输方法,其特征在于,所述密文块包括两部分,第一密文块位于QUIC头之后;第二密文块位于第一个帧头之后。
4.根据权利要求3所述的一种QUIC数据传输方法,其特征在于,第一个帧类型是STREAM帧时,所述不加密数据传输的过程具体为:
第一密文块长度解密后得到部分QUIC原报文,将这部分原报文从帧头开始解析,得到帧头部;然后解析第二密文块长度,按照帧头中的数据长度字段得到第一帧中的应用数据。
5.根据权利要求3所述的一种QUIC数据传输方法,其特征在于,第一个帧类型是除STREAM帧其他帧的情况,所述不加密数据传输的过程具体为:
第一密文块长度解密后得到部分QUIC原报文,先从这部分报文得到此帧头部,以及得到此帧内的max_data数据,和下一个帧头部,然后根据帧头中的数据长度字段得到第二帧中的应用数据长度;如果不存在下一帧,则数据长度字段为0。
6.根据权利要求3至5任一项所述的一种QUIC数据传输方法,其特征在于,所述密文块长度采用QUIC的变长编码方式进行编码。
7.一种QUIC数据传输装置,其特征在于,所述传输装置用于生成带有权利要求1所述QUIC数据传输方法中协商数据的QUIC报文,所述QUIC报文中的应用数据不加密,其余字段均加密;并且所述QUIC报文的头部增加密文块以指示加密长度。
8.根据权利要求7所述的一种QUIC数据传输装置,其特征在于,所述密文块包括两部分,第一密文块位于QUIC头之后;第二密文块位于第一个帧头之后。
9.根据权利要求7所述的一种QUIC数据传输装置,其特征在于,所述协商数据为传输参数disable_data_encryption。
10.一种计算机可读存储介质,其特征在于,所述存储介质中存储程序,所述程序被处理器执行时实现如权利要求1至6任一项所述的QUIC数据传输方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110481025.8A CN113114701B (zh) | 2021-04-30 | 2021-04-30 | 一种quic数据传输方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110481025.8A CN113114701B (zh) | 2021-04-30 | 2021-04-30 | 一种quic数据传输方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113114701A CN113114701A (zh) | 2021-07-13 |
CN113114701B true CN113114701B (zh) | 2023-02-28 |
Family
ID=76720880
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110481025.8A Active CN113114701B (zh) | 2021-04-30 | 2021-04-30 | 一种quic数据传输方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113114701B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116074026A (zh) * | 2021-10-29 | 2023-05-05 | 中兴通讯股份有限公司 | Sni域名的提取方法、电子设备、计算机可读存储介质 |
CN113794739B (zh) * | 2021-11-16 | 2022-04-12 | 北京邮电大学 | 针对中间人攻击的双层主动防御的方法及装置 |
CN114679314B (zh) * | 2022-03-23 | 2023-01-31 | 腾讯科技(深圳)有限公司 | 数据解密的方法、装置、设备及存储介质 |
WO2024041064A1 (zh) * | 2022-08-25 | 2024-02-29 | 华为技术有限公司 | Quic报文的传输方法及相关设备 |
CN115242560B (zh) * | 2022-09-23 | 2023-01-17 | 浙江大华技术股份有限公司 | 多通道数据传输方法及装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108156056A (zh) * | 2017-12-28 | 2018-06-12 | 华为技术有限公司 | 网络质量测量方法及其装置 |
WO2019002754A1 (fr) * | 2017-06-27 | 2019-01-03 | Orange | Procédé de communication quic via des chemins multiples |
CN110149388A (zh) * | 2019-05-16 | 2019-08-20 | 北京字节跳动网络技术有限公司 | Httpdns服务器的连接方法、装置及设备 |
CN111211933A (zh) * | 2018-11-22 | 2020-05-29 | 华为技术有限公司 | 一种确定传输链路的质量的方法及装置 |
-
2021
- 2021-04-30 CN CN202110481025.8A patent/CN113114701B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2019002754A1 (fr) * | 2017-06-27 | 2019-01-03 | Orange | Procédé de communication quic via des chemins multiples |
CN108156056A (zh) * | 2017-12-28 | 2018-06-12 | 华为技术有限公司 | 网络质量测量方法及其装置 |
CN111211933A (zh) * | 2018-11-22 | 2020-05-29 | 华为技术有限公司 | 一种确定传输链路的质量的方法及装置 |
CN110149388A (zh) * | 2019-05-16 | 2019-08-20 | 北京字节跳动网络技术有限公司 | Httpdns服务器的连接方法、装置及设备 |
Also Published As
Publication number | Publication date |
---|---|
CN113114701A (zh) | 2021-07-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113114701B (zh) | 一种quic数据传输方法及装置 | |
US9055047B2 (en) | Method and device for negotiating encryption information | |
CN108377495B (zh) | 一种数据传输方法、相关设备及系统 | |
CN107104977B (zh) | 一种基于sctp协议的区块链数据安全传输方法 | |
CN109428867B (zh) | 一种报文加解密方法、网路设备及系统 | |
US20090182668A1 (en) | Method and apparatus to enable lawful intercept of encrypted traffic | |
KR20030011837A (ko) | 데이터 안전화 통신장치 및 그 방법 | |
JP2010505284A (ja) | 入れ子状のインターネットプロトコルセキュリティトンネルを処理するための方法およびネットワーク装置 | |
KR20080059601A (ko) | 무선 네트워크들을 위한 공중-인터페이스 애플리케이션 층보안 | |
CN107040446B (zh) | 一种vpn隧道协议实现方法 | |
Lucena et al. | Syntax and semantics-preserving application-layer protocol steganography | |
CN112073115A (zh) | 基于Lora的低轨卫星物联网注册安全验证方法、物联网终端、网络服务器和用户服务器 | |
KR101448866B1 (ko) | 웹 보안 프로토콜에 따른 암호화 데이터를 복호화하는 보안 장치 및 그것의 동작 방법 | |
Räsänen et al. | Open-source RTP library for end-to-end encrypted real-time video streaming applications | |
CN111555879B (zh) | 一种卫星通信网管信道报文加解密方法及系统 | |
KR101847636B1 (ko) | 암호화 트래픽을 감시하기 위한 방법 및 장치 | |
CN109462480B (zh) | 基于rsa与aes的卫星通信系统加密方法 | |
CN115766902A (zh) | 一种通过quic发送非敏感数据的方法、装置、设备、介质 | |
CN113765900B (zh) | 协议交互信息输出传输方法、适配器装置及存储介质 | |
CN109257388A (zh) | 一种mpls-tp中伪线加密方法 | |
CN115150067A (zh) | 一种基于网络隐蔽通道的tls协议构建方法及系统 | |
JP2003244194A (ja) | データ暗号装置及び暗号通信処理方法及びデータ中継装置 | |
CN115428402A (zh) | 用于数据传输的方法和通信系统 | |
US20080059788A1 (en) | Secure electronic communications pathway | |
CN110855628A (zh) | 一种数据传输方法及系统 |
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 |