《GM-T0128-2023 数据报传输层密码协议规范.docx》由会员分享,可在线阅读,更多相关《GM-T0128-2023 数据报传输层密码协议规范.docx(17页珍藏版)》请在优知文库上搜索。
1、ICS35.030CCS1.XO中华人民共和国密码行业标准GM/T01282023数据报传输层密码协议规范Specificationofdatagramtransport1.ayercryptographyPrOtOCO1.2024-0D1.实施2023-12-04发布国家密码管理局发布目次wFmIIII越困I2规范性引用文件I3术语和定义I4缩珞语I5密码算法和密铜种类I5.1 概述15.2 密码算法25.3 格钢种类26协议36.1 ftt述36.2 数据类型定义36.3 Vattttttttatttttttt36.4 握手协议族66.5 密钥计算13参考文献14前言本文件按照GB,,T1
2、.12020%标准化工作导则第1部分:标准化文件的结构和起隼规则3的规定起草。请注意本文件的某些内容可能涉及专利.本文件的发布机构不承担识别专利的责任.本文件由密码行业标准化技术委员会提出并归口。本文件起草单位:中电科网络安全科技股份有限公司、四川大学、格尔软件股份有限公司、北京信安世纪科技股份有限公司、山东得安信息技术有限公司、北京海泰方圆科技股份有限公司、兴唐通信科技有限公E.本文件上耍起电人:罗俊、龚勋、郑强、汪宗斌、马洪海、蒋红宇王娓娜.数据报传物层密码协议规范1%9本文件规定了数据报传赫层密眄力议.包括记录层协议、握手协议族和密钥计算.本文件适用于数据报传输层密码协议相关产品(如网关
3、、终剂等)的斫制、检测、管埋和使用.2规范性引用文件下列文件中的内容通过文中的规他性引用而构成本文件必不可少的条款.其中,注日期的引用文件,仅该日期对应的版本适用于本文件:不注日期的引用文件,其最新版本(包括所有的脩改单)适用于本文件.GB/T38636-2020信息安全技术传输层密码办议(T1.CP)GM/Z4001率码术语3 #三mXGM/Z4(X)1界定的以及下列术语和定义适用于本文件.3.1路径大传单元pathmaximumtransmissionunit遹信的源节点和目的节点之间的路径上的任一-通信链路所能支持的胜路最大传怆单元(MTU)的设小值.3.2用户初8报的议userdata
4、graaPrOtoCo无连接的传输处议,为应用程序提供一种无需建立连接就能发送封装的IP数据包的方法.4 MHB下列缩略语适用于本文件.AEAD:带关联数据的可鉴别加密(AUthCnIiCatCdEncrjptionwithAssociatedData)DT1.CP:,数据报住输层密码协议(DaIagnUnTranSPOn1.ayerCryptographyProtoco1.)MAC:消息鉴别码(MeSSageAu1.hentica1.ionCodes)PMTU:路位最大传怆单元(PathMaximumTransmissionUnit)UDP:用户数楙报协议(USCrDatagramPrOto
5、COI)5宙码算法和密钥美1.1.1DTiX-P在传输层梏码协议(T1.CP)的基础上针对用户数据报协议的特点进行改进,采用密码技术为使用UDP例议的两个应用程序之间提供保密性和数据的完整性。仍议用到的率码算法包含非对称密码算法、分组密码算法、密用杂凌兜法、数据扩展函数和伪!机函数.协议用到的密件种类包含服务端密物.客户端密的、顶主密的、主密用和工作a?的.1.1.2 ,法1.1.3 对彝解3用于身份鉴别、数字签名、密到交换等.5.2.2 分组密码真法用于定切交换数据的M密保护和批文数据的加密保护.采用的工作模式应为GaIOiSi效;K模式(GCM)或密文分组摄接(CBC)模式.5.2.3 亩
6、研趣埠法用于对称密钥生成和充整性校验。5.2.4 ftWT*aftPhashPhash函数的定义和使用方法应符合GB/T386362020中5.2.4的规定.5.2.5 伪机函StPRFPRF的计W方法应符合GB,T386362020中5.2.5的规定.5.3MM5.3.1 3在本文件中采用非对称密码就法迸行身份将别和密钥交换,身份箱别通过后协商预主密钥,双方各白计徵主密钥,进而推导出工作密切,使用工作密钥进行加解率和完整性校验,5.3.2 KMf1.HH服务维密钥为非对称去码竦法的监钥对,包括答名第钥对和加密密钥对,其中签名密钢用于握手过程中服务端身份症别,加诙密钥对用于预主密钥的称商,5.
7、3.3 客户密IR客户端密用为非对称密码算法的烹例对.包括签名密件对和加密潜税对.其中经名密税用于弗干过程中客户端身份鉴别,加密密的对用于倏主密的的协商。5.3.4 f1.1.e*!但E密的(prc_master_sccrcO是双方协商生成的常钠素材.用于牛.成主雷税“5.3.5 ra主密尚(mastCjSCaa)由预主密钥、客户端的机数.服务掂随机数*常量字符小,经计*生成的48字节衡钥素材,用于生成工作密钢,5.3.6 工作宙,I:作密W1.包括tt据加密密的和校验包柄.其中数据加密密作用于数据的加密和解密.校奥密钥用于数据的完整性计算和校验.在本文件中,发送方使用的工作密包称为写密钥,接
8、收方使用的工作密钥称为读密钥.6Wtt6.1 蚪DT1.CP包括记录层协议和握手协议族.握手协议故包含密码规格变更协仅,报部协议及握手协议.6.2 脓集Stft义数据类里定义应符合GBZT386362020中6.2的规定.6.3 记录J1.傍设&rim记录层协议是分层次的.每一层都包括长度字段、描述字段和内容字段.记录层协议接收将要被传输的消息.将数抠分块、Jk缩(可选)、计究采用带密阴杂诿的消息鉴别码(HMAG、加密.然后传输.接收到的数据经过解定、验证、解压缩(可选)、成新封装然后传送给高层应用。通过记录层协议消息进行传输的侨议类型包括握手伊议族和应用数据等,为了支持协议的犷展,记录层协议
9、宜支持其他的记录类里.任何新的记录类型都应在针对上述炎型分配的内容类里依之外去分配.如果接收到一个不能识别的记录类里应忽略,6.3.2连接状态是记录层协议的操作环境.与传输层密码力议(T1.CP)I1.1.同,DT1.CP也包括四种奥戈的连接状h当前读状态、写状态、未决的读状态、未决的写状态,何种状态的定义,以及连接状态的安全参数结构、定义和使用方法,应符合GBT386362020中6.3.2的设定.6.13&3.3,162记录层接收从高层来的任意大小的非空连续数据,将数据分段、收缩、计翼校验码、加密,然后传输,接收到的数据经过解密、验证、解压缩、史新对装然后传送给高层应用.&3.12分IS为
10、避免IP分片,记录层将数据分成不超过PMTU的消息记录.拇个DT1.CP消息记录应在单个UDP报文内,多个DT1.CP消息记录可放在同一个UDP推文中,UDP报文栽荷的第一个字节应为DT1.CP济息记录的开始,DT1.CP消息记录不能府UDP报文传输.位于同一个UDP报文的多个DT1.CP济息记录可连续放置,并根据DT1.CP消息记业的数据结构决定每个记录的边界。按照GBJT386362020中6.3.3.2规定的记荥层协议报文,数据报传输层密码协议在记录层协议批文中增加了显式的序列号字段.使得接收端能正确的5i三MACtfi.每个消息记录结构如卜丁siruct(ContcntTypctype
11、:ProtocoIVcrsionversion:uint16epoch;uint48SeqUenCjnUmber:uirn1.61.ength;OPaqUCfragment!DT1.SPIaintcxtJcngthI;)DT1.SP1.aiinexc其中:a)Type:记录层协议类型。定义为:enum(changc_ciphcr_spcc(20),a1.crt(21).handshakc(22),app1.ication-data(23).(255)IContentType;b)Versio11:所用协议的版本号。本文件的版本号为1.1.定义为:struct!Uint8major=0x01.U
12、inI8IniiKH=OxOk)Protoco1.Vcrsion;c)epch一个计数值,数据报传输层蟒码协议新增字段,年次密码规格变更都应增加该值.d)seqUenCe_iIUmber本记录的序列号,数据报传输层密码协议新增字段.e)1.ength以字节为取位的记录长度,小于或等于PMTU,0fragment将传输的数据.记录层协议不关心具体数据内容.DT1.CP使用显式序列号,位于记录中的SeQUenCenUmber域。对于每个epoch,sequence,number序列号都单独维护,每个epoch对应的SeqUenCe.number都初始化为0口在每次发送一个DT1.CP记录层数据报文
13、时单调递增。斑个epoch初始化为0I1.在每次发送一个密E3规格变更(ChangeCipheiSpec)Bt单调递增:当同时有几个握手并行时,有可能出现不同握手的记录序列号重宓的情况,epoch用于区分这种情况”为确保CPodvScqUCnCJnUmbCr对的唯一性,在相当于2倍TCP的MS1.(最大分段生存期)时间内叩OCh的值不能由用,基于UDP的DT1.CP怖议报文存在乱序可能性,属于前一个epoch的记录也可能出现在后一个epoch开始之后。般情况下属于早期epoch的记录应予丢弁,但密钿素材等信息可被保留相当于TCP的最大分段生存期(MS1.)时间以进行报文重排序,在本次握手结束之
14、附,属于前个epoch的报文应被接收.序列号(SeqUenCe.number)或epoch回绕之前应终止旧的连接,重新握手建立-一个新的连接。SiraisM所有的记录都应使用当前会话状态指定的压缩算法进行压缩。当前会话状态指定的压缩算法被初始化为空算法。默认压缩算法为空算法,压缩算法将一个DTIP1.aintext结构的数据转换成一个DTICompressed结构的数据.压缩后的侬据长哎最多只能增加1024个字节,如果解压缩后的数据长度超过了21,个字节,则报告一个decompressionfai1.ure致命错误。与T1.CP相比,DT1.CP压缩后数据结构增加epoch和ScqUence_
15、numbcr字段:SIniCHContcnfIypctype:Pnj1.oco1.Versionversion:uint16epoch;uint48scqucncc_numbcr;uind61.ength;opaquefragmentDT1.SCompressed.1.eng(h;)DT1.SComprcssod;其中:a)typeversion、epoch、sequencenumber的定义同6.3.3.2b)1.ength以字节为单位的D1.SComprcsscd.fragment长度.小于或等于21024.C)fragmentDT1.SPiaintext.fragment的压缩形式。&3.3.4mmt加密运算和校骁运