全网唯一标准王
ICS 35.030 CCS L 80 GM 中华人民共和国密码行业标准 GM/T 0128—2023 数据报传输层密码协议规范 Specification of datagram transport layer cryptography protocol 2023-12-04发布 2024-06-01实施 国家密码管理局 发布 GM/T 0128—2023 目 次 前言 II 1 范围 2 规范性引用文件 3 术语和定义 缩略语 5 密码算法和密钥种类 5.1 概述 5.2 密码算法 5.3 密钥种类 协议 6 6.1 概述 6.2 数据类型定义 6.3 记录层协议 6.4 握手协议族 6.5 密钥计算 参考文献 GM/T 0128—2023 前言 本文件按照GB/T1.12020《标准化工作导则 第1部分:标准化文件的结构和起草规则》的规定 起草。 请注意本文件的某些内容可能涉及专利。本文件的发布机构不承担识别专利的责任。 本文件由密码行业标准化技术委员会提出并归口。 本文件起草单位:中电科网络安全科技股份有限公司、四川大学、格尔软件股份有限公司、北京信安 世纪科技股份有限公司、山东得安信息技术有限公司、北京海泰方圆科技股份有限公司、兴唐通信科技 有限公司。 本文件主要起草人:罗俊、龚勋、郑强、汪宗斌、马洪富、蒋红宇、王妮娜。 II GM/T 0128—2023 数据报传输层密码协议规范 1范围 本文件规定了数据报传输层密码协议,包括记录层协议、握手协议族和密钥计算 本文件适用于数据报传输层密码协议相关产品(如网关、终端等)的研制、检测、管理和使用。 2 规范性引用文件 下列文件中的内容通过文中的规范性引用而构成本文件必不可少的条款。其中,注日期的引用文 本文件。 GB/T38636—20201 信息安全技术传输层密码协议(TLCP) GM/Z4001 密码术语 3 术语和定义 GM/Z4001界定的以及下列术语和定义适用于本文件。 3.1 路径最大传输单元 path maximum transmission unit 通信的源节点和目的节点之间的路径上的任一通信链路所能支持的链路最大传输单元(MTU)的 最小值。 3.2 用户数据报协议userdatagramprotocol 无连接的传输协议,为应用程序提供一种无需建立连接就能发送封装的IP数据包的方法。 4缩略语 下列缩略语适用于本文件。 AEAD:带关联数据的可鉴别加密(AuthenticatedEncryptionwithAssociatedData) DTLCP:数据报传输层密码协议(Datagram Transport Layer CryptographyProtocol) MAC:消息鉴别码(MessageAuthenticationCodes) PMTU:路径最大传输单元(Path Maximum Transmission Unit) UDP:用户数据报协议(UserDatagramProtocol) 5密码算法和密钥种类 5.1概述 为使用UDP协议的两个应用程序之间提供保密性和数据的完整性。协议用到的密码算法包含非对称 1 GM/T 0128—2023 密码算法、分组密码算法、密码杂凑算法、数据扩展函数和伪随机函数,协议用到的密钥种类包含服务端 密钥、客户端密钥、预主密钥、主密钥和工作密钥, 5.2密码算法 5.2.1非对称密码算法 用于身份鉴别、数字签名、密钥交换等。 5.2.2分组密码算法 用于密钥交换数据的加密保护和报文数据的加密保护。采用的工作模式应为Galois计数器模式 (GCM)或密文分组链接(CBC)模式。 5.2.3密码杂凑算法 用于对称密钥生成和完整性校验。 5.2.4数据扩展函数P_hash P_hash函数的定义和使用方法应符合GB/T38636一2020中5.2.4的规定。 5.2.5伪随机函数PRF PRF的计算方法应符合GB/T38636—2020中5.2.5的规定。 5.3密钥种类 5.3.1概述 在本文件中采用非对称密码算法进行身份鉴别和密钥交换,身份鉴别通过后协商预主密钥,双方各 自计算主密钥,进而推导出工作密钥。使用工作密钥进行加解密和完整性校验。 5.3.2服务端密钥 服务端密钥为非对称密码算法的密钥对,包括签名密钥对和加密密钥对,其中签名密钥用于握手过 5.3.3客户端密钥 客户端密钥为非对称密码算法的密钥对,包括签名密钥对和加密密钥对,其中签名密钥用于握手过 5.3.4预主密钥 预主密钥(pre_master_secret)是双方协商生成的密钥素材,用于生成主密钥。 5.3.5主密钥 主密钥(master_secret)由预主密钥、客户端随机数、服务端随机数、常量字符串,经计算生成的 48字节密钥素材,用于生成工作密钥。 5.3.6工作密钥 工作密钥包括数据加密密钥和校验密钥。其中数据加密密钥用于数据的加密和解密,校验密钥用 GM/T 0128—2023 于数据的完整性计算和校验。在本文件中,发送方使用的工作密钥称为写密钥,接收方使用的工作密钥 称为读密钥。 6协议 6.1概述 DTLCP包括记录层协议和握手协议族,握手协议族包含密码规格变更协议、报警协议及握手 协议。 6.2数据类型定义 数据类型定义应符合GB/T38636一2020中6.2的规定 6.3记录层协议 6.3.1通则 记录层协议是分层次的,每一层都包括长度字段、描述字段和内容字段。记录层协议接收将要被传 输的消息,将数据分块、压缩(可选)、计算采用带密钥杂凑的消息鉴别码(HMAC)、加密,然后传输。接 收到的数据经过解密、验证、解压缩(可选)、重新封装然后传送给高层应用 通过记录层协议消息进行传输的协议类型包括握手协议族和应用数据等。为了支持协议的扩 展,记录层协议宜支持其他的记录类型。任何新的记录类型都应在针对上述类型分配的内容类型值之 外去分配。如果接收到一个不能识别的记录类型应忽略。 6.3.2连接状态 连接状态是记录层协议的操作环境。与传输层密码协议(TLCP)相同,DTLCP也包括四种典型的 连接状态:当前读状态、写状态、未决的读状态、未决的写状态。每种状态的定义,以及连接状态的安全 参数结构、定义和使用方法,应符合GB/T38636一2020中6.3.2的规定。 6.3.3记录层 6.3.3.1概述 记录层接收从高层来的任意大小的非空连续数据,将数据分段、压缩、计算校验码、加密,然后传输。 接收到的数据经过解密、验证、解压缩、重新封装然后传送给高层应用。 6.3.3.2分段 为避免IP分片,记录层将数据分成不超过PMTU的消息记录。每个DTLCP消息记录应在单个 UDP报文内,多个DTLCP消息记录可放在同一个UDP报文中。UDP报文载荷的第一个字节应为 DTLCP消息记录的开始,DTLCP消息记录不能跨UDP报文传输。位于同一个UDP报文的多个 按照GB/T38636一2020中6.3.3.2规定的记录层协议报文,数据报传输层密码协议在记录层协议 报文中增加了显式的序列号字段,使得接收端能正确的验证MAC值。 每个消息记录结构如下: struct ( ContentType type; ProtocolVersion version; 3 GM/T 0128—2023 uint16 epoch; uint48 sequence_number; uintl6 length; opaque fragment[DTLSPlaintext.length] ; } DTLSPlaintext; 其中: a)Type: 记录层协议类型。定义为: enum change_cipher_spec(20),alert(21),handshake(22), application_data(23),(255) } ContentType; b) Version: 所用协议的版本号。本文件的版本号为1.1。定义为: struct ^ uint8 major=0x01, uint8 minor=0x0l; } ProtocolVersion; c)epoch 一个计数值,数据报传输层密码协议新增字段,每次密码规格变更都应增加该值。 d)sequence_number 本记录的序列号,数据报传输层密码协议新增字段。 e)length 以字节为单位的记录长度,小于或等于PMTU。 f) fragment 将传输的数据。记录层协议不关心具体数据内容。 DTLCP使用显式序列号,位于记录中的sequence_number域。对于每个epoch,sequence number序列号都单独维护,每个epoch对应的sequence_number都初始化为O且在每次发送一个 (ChangeCipherSpec)时单调递增。 当同时有几个握手并行时,有可能出现不同握手的记录序列号重复的情况,epoch用于区分这种情 况。为确保epoch/sequence_number对的唯一性,在相当于2倍TCP的MSL(最大分段生存期)时间 内 epoch的值不能重用。 基于UDP的DTLCP协议报文存在乱序可能性,属于前一个epoch的记录也可能出现在后一个 epoch开始之后。一般情况下属于早期epoch的记录应予丢弃,但密钥素材等信息可被保留相当于 TCP的最大分段生存期(MSL)时间以进行报文重排序。在本次握手结束之前,属于前一个epoch的报 文应被接收。 序列号(sequence_number)或epoch回绕之前应终止旧的连接,重新握手建立一个新的连接。 6.3.3.3压缩和解压缩 所有的

.pdf文档 GM-T 0128-2023 数据报传输层密码协议规范

文档预览
中文文档 17 页 50 下载 1000 浏览 0 评论 309 收藏 3.0分
温馨提示:本文档共17页,可预览 3 页,如浏览全部内容或当前文档出现乱码,可开通会员下载原始文档
GM-T 0128-2023 数据报传输层密码协议规范 第 1 页 GM-T 0128-2023 数据报传输层密码协议规范 第 2 页 GM-T 0128-2023 数据报传输层密码协议规范 第 3 页
下载文档到电脑,方便使用
本文档由 人生无常 于 2025-07-26 18:26:13上传分享
友情链接
站内资源均来自网友分享或网络收集整理,若无意中侵犯到您的权利,敬请联系我们微信(点击查看客服),我们将及时删除相关资源。