在使用OpenSSH服务器(sshd)时,我们指定了允许的密码器、主机密钥算法和MAC。这些密码中有一些附加了电子邮件地址,例如aes256-gcm@openssh.com而不是aes256-ctr。那是什么意思?我查了sshd_配置,找不到解释。
发布于 2020-05-05 15:24:43
这些算法是由openssh这样的供应商定义的,而不是由SSH标准(IETF )定义的。它们是协议的扩展。当然,您不能保证除openssh之外的其他软件将与这些选项进行互操作。
aes256-gcm@openssh.com的具体内容在openssh文档中定义:
1.6传输: AES-GCM OpenSSH支持RFC 5647中指定的AES-GCM算法.由于密钥交换规范的问题,OpenSSH的行为与RFC不同: AES-GCM仅作为密码算法“AES 128-gcm@openssh.com”或“美学256-gcm@openssh.com”而不是作为MAC算法。此外,如果选择AES-GCM作为密码,交换的MAC算法将被忽略,并且不需要匹配的MAC。
在本例中,非标准扩展被用作规范的修补程序。
一般来说,使用非标准扩展是他们如何能够实验支持后量子密钥交换算法,sntrup4591761x25519-sha512@tinyssh.org,几年前PQ密码将得到标准化。
这与Chrome为ChaCha20Poly1305使用自定义的TLS密码套件相比,在IETF以不兼容的方式标准化之前,有些TLS服务器支持旧的chacha和ietf。或者Chrome是如何使用非标准密码套件值进行一系列后量子密码实验的。
已经广泛部署且没有遇到问题的算法可能会得到IETF的“认可”,并变得标准化,理论上,这就是IETF协议演变的方式:从业者之间达成了广泛的共识,而不是标准化一个没有人尝试使用(甚至实现过的)设计,只有在标准超出之后才能发现问题。
发布于 2020-05-06 07:38:46
顺便说一下,那是一个域名,而不是电子邮件地址。正如节4251第6节中明确指出的那样:
There are two formats for algorithm and method names:
o Names that do not contain an at-sign ("@") are reserved to be
assigned by IETF CONSENSUS. ....
o Anyone can define additional algorithms or methods by using names
in the format name@domainname, e.g., "ourcipher-cbc@example.com".
The format of the part preceding the at-sign is not specified;
however, these names MUST be printable US-ASCII strings, and MUST
NOT contain the comma character (","), whitespace, control
characters (ASCII codes 32 or less), or the ASCII code 127 (DEL).
They MUST have only a single at-sign in them. The part following
the at-sign MUST be a valid, fully qualified domain name [RFC1034]
controlled by the person or organization defining the name. Names
are case-sensitive, and MUST NOT be longer than 64 characters. It
is up to each domain how it manages its local namespace. It
should be noted that these names resemble STD 11 [RFC0822] email
addresses. This is purely coincidental and has nothing to do with
STD 11 [RFC0822].https://security.stackexchange.com/questions/231092
复制相似问题