《GM-T0129-2023 SSH密码协议规范.docx》由会员分享,可在线阅读,更多相关《GM-T0129-2023 SSH密码协议规范.docx(9页珍藏版)》请在优知文库上搜索。
1、92协议流程鉴别协议的协议流程见图2。客户端服务端SSi1.MsG-USERAim1.REQ1.EST-一SSHmsgUseracthsuccess图2鳌别Ifr议侨议浅程9.3 数据包9.3.1 鉴别请求消息所有的鉴别请求使用消息格式见表9.表9数据包格式名称致楙类型SS1.tfSG1Seraiiiirequestbyteuscr.11anestring.UTF-8痂码senicestringIietIxxJstringub1.ickeya1.gorithnna的stringub1.ic_k?yb1.obstringmethod3*,pub1.ic-key,.pub1.ic-key-a1.g
2、orithm-name为飞m2”,pubIiJkey_b1.ob为服务璃SI字证书。9.13如果服务端拒绝请求,响应的数据包格式见发12,12败包格式名称数如类里网NsG,幽Am1.FAIWREhytrauthenticatio113wtcan-cont1nuenaje-HstPar1.ia1.SUCCeSSboaIau1.hentication_1.ha1._can_continuc为IneIhOd方法列衣,根据支持的身份认证方式,au(he11tica-tion_that_can_continuc可为passwordpubIiJkCyfcertificate”或者三者的组合,f1.-pas
3、sword,certificate.如果在帑别失败后限务战断开链接,Pania1.SUCCeSS为fake,否则为ue,赛别失败是否需要断开旌接取决于服务耕的策略设置及齐户端的行为,如11令鉴别失败超过设定次数,或在设定时间内进行多次失败的尝试时,可断开碓接.9.3.4 KMMM如果服务端签别成功.则应发送响应消息.数据包格式见表13.13我1格式名称数据类型SSI1.MSGJiSERAUTi1.SKCESSbyteprorptstring客户端可连续发送多个鉴别请求而不必等待前一个请求的响应.服务端应完整地处理每个请求.对于失败的5别,发送SSH_MSGJJSERAUTH.FAI1.URE消
4、息,然后维续处埋下一个请求.鉴别成功后服务端发送SSH_MSG_USERAUTH.SUCCESS消息.之后客户端发送的鉴别请求.服务端应忽略.发送的其他请求,附传递给鉴别协议之上的其他协议(如连接协议).服务端应启动客户端所请求的服务。9.3.5服务潜可在6别协议从请求直至成功期间的任意阶段发送SSH_MSG_USERAUTH.BANNER消息。消息数据包格式见表14。14触庖格式名称数据类型SSHMSGUSERAUTHBANNERbyteMessagestring,UTF-8编码客户端应在屏幕上显示message,meSSage可为多行,以CR1.F换行,提示消息包可用于提示错误或者指导刖户
5、操作.客户崩可选择忽略或者显示给用户.9.4 圻口令的基利方法服务端和客户端都应支持此方法.使用此方法,用户使用客户端时应钻入口令进行身份鉴别,当使用基于口令的鉴别方法时,客户端发送的鉴别响应数掘包格式见我15,15依据包*式名际数据类型SSHMGIISER11HRESIMbyteusernonestring.UTF-8编码Servieenan*?string.ASCuS1.码methistringresponsestringa1.gorihnnamtstringmc1.hodpassword”.,response为口令与认证参数进行密码计算的结果“a1.gon1.hm_name为密码校验函数
6、,为*m,reponse的计算方法为:response=HASH(chaiIengc1.SM3(passwordsai1.)。9.5 *F非福同f1.的叫制方法此方法为可选方法.当使用此方法时,用户使用客户端应拥有非对称密钥时.当使用基于非对称密钥的签别方法时,客户端发送的签别响应数据包格式见表16。16敷M格式名称I数报类型SSI1.MSGUSERAIF1.RKSPWD|byteusernanestring.UTF*咻码senice-rw11cstring,ASCIifiP1.tethodstringrexponxrstringPUb1.ijkoya1.gorithmrvnestringpu
7、b1.ickeyb1.obstringmethod为pub1.iJkCy*.a1.gorithm.name为非对称算法.osm2.pub1.ickcy_b1.ob为用户的公辆.response值为使用用户签幺私期对表1?所示数据的签名(按顺序拼接).17,筌名It格式名政数据类型sessionJdstringSSHNSGI1.SERAIrnIREQ1.ESTbyteuserna0?stringMrvicc-11jtx?stringIie1.1.wdstringcha1.1.engestringub1.ickeya1.gorithnnastringPUbHeJCRyb1.obstrity:HKt
8、hcx1.为“pub1.ijkcy”.pubIijkCy_a1.gorithm_namc为sm2”,puNic_kcy_b1.ob为用户公钥。9.6 *Hft字证书的皇利方法服务阳和客户端都应支持此方法.使用此方法,用户使用客户端应拥有签名证书和加密证书。当使用基于数字证拈的鉴别方法时,客户端发送的要别请求包格式见表18.18敷包格式名杉数据类型SSIINSGI1.SERAUniRESKImbyteus?r_naiw?string.UFKPMV1C?11DCstring,ASrH缄码nrtbcdstringresponsestringpub1.ickey.aIgorithnna11string
9、pub1.ickeyb1.obstringincihod为“certificate.PUbIiJkC1.aIgOrithn1.namC为sm2”.pub1.ic_kcy_b1.ob为用户的数字证书.response为使用用户签名私钥时表19所示数据的签名(按IBi序拼接)并编码后生成的SignedData类型数据,Signo1.Da1.a类基定义应符合GBrr35275的规定.19将签名敷格式名称数幅类型sessix.idstringSSI1.MsGvSERArn1.REWESTbytUeerjtanestringSerVieQna?stringmethodstringcha1.1.enges
10、tringpb1.ickoy_a1.gorithnrw11?stringpub1.ic_kry_b1.obstringmethod为“ccrtficatc,rpub1.ickeya1.gtwthmnamcJ,sn2.PUbIiC_kcy_b1.ob为用户的数字证书.10M1.WMKt连接协议运行于筹别协议之上,连接协议提供交互式登录会话、远程命令执行、TCP/IP连接转发和X1.1.连接找发服务。连接协议的Servicjname为Sshymneciion.连接协议使用的消息编号为:SSH_MSG_G1.OBA1.REQUEST80SSH_MSG_REQUEST.SUCCESS81SSH_MSG
11、_REQUEST.FAI1.URE82SSH_MSG_CHANNE1._OPEN90SSH_MSG_CHANNE1._OPEN_CONHRMAHON91SSH_MSG_CHANNE1._OPEN.FAI1.URE92SSH_MSG_CHANNE1._V1N1X)W_ADJUST9312Mtt三连接信道为客户端与服务皓建立的登录会话、转发连接。服务端和客户端都可新建信道。多个信道复用同一个连接。双方通过信道编号对信道进行识别.同一个信道在客户端和服务端的彘号可不同.当新建信道时,发送方在请求常忠中提供己方的新建信道编号.其他消息数据包中则包括接收方的伯道编号.1.tt3*三t当客户端或者服务端新
12、建连接时,首先为该信道分配个本地编号,然后向财方发送消兄格式见表20.20我智包格式名称数据类型SSHMSGQ1.ANNE1.X冲bytchanne1._typcstring,ASC1.If1.j1.HsendercJnne1.iocket.sizeUiN32接收方如果同意新隹连接.则发送确认响应消息,格式见表2121政包播式名称数据类型SSHjKG-Ct1.ANNEjoPEMOONFIKHAriONbyterecipient_channe1.idui11t32senderchanne1.idIHnI32initia1._vindaA_sizeUint32nax11jPaCkeJSiZQuint32