draft-ietf-secsh-transport-17.2.ps

来自「OTP是开放电信平台的简称」· PS 代码 · 共 2,068 行 · 第 1/5 页

PS
2,068
字号
/fdir () def/ftail () def/user_header_p false def%%EndPageSetup5 723 M(Internet-Draft        SSH Transport Layer Protocol              Oct 2003) s5 690 M(   The "aes192-cbc" cipher. Same as above but with 192-bit key.) s5 668 M(   The "aes128-cbc" cipher. Same as above but with 128-bit key.) s5 646 M(   The "serpent256-cbc" cipher in CBC mode, with 256-bit key as) s5 635 M(   described in the Serpent AES submission.) s5 613 M(   The "serpent192-cbc" cipher. Same as above but with 192-bit key.) s5 591 M(   The "serpent128-cbc" cipher. Same as above but with 128-bit key.) s5 569 M(   The "arcfour" is the Arcfour stream cipher with 128 bit keys. The) s5 558 M(   Arcfour cipher is believed to be compatible with the RC4 cipher) s5 547 M(   [SCHNEIER]. RC4 is a registered trademark of RSA Data Security Inc.) s5 536 M(   Arcfour \(and RC4\) has problems with weak keys, and should be used) s5 525 M(   with caution.) s5 503 M(   The "idea-cbc" cipher is the IDEA cipher in CBC mode [SCHNEIER].) s5 481 M(   The "cast128-cbc" cipher is the CAST-128 cipher in CBC mode) s5 470 M(   [RFC2144].) s5 448 M(   The "none" algorithm specifies that no encryption is to be done.) s5 437 M(   Note that this method provides no confidentiality protection, and it) s5 426 M(   is not recommended.  Some functionality \(e.g. password) s5 415 M(   authentication\) may be disabled for security reasons if this cipher) s5 404 M(   is chosen.) s5 382 M(   Additional methods may be defined as specified in [SSH-ARCH].) s5 360 M(5.4 Data Integrity) s5 338 M(   Data integrity is protected by including with each packet a message) s5 327 M(   authentication code \(MAC\) that is computed from a shared secret,) s5 316 M(   packet sequence number, and the contents of the packet.) s5 294 M(   The message authentication algorithm and key are negotiated during) s5 283 M(   key exchange.  Initially, no MAC will be in effect, and its length) s5 272 M(   MUST be zero.  After key exchange, the selected MAC will be computed) s5 261 M(   before encryption from the concatenation of packet data:) s5 239 M(     mac = MAC\(key, sequence_number || unencrypted_packet\)) s5 217 M(   where unencrypted_packet is the entire packet without MAC \(the length) s5 206 M(   fields, payload and padding\), and sequence_number is an implicit) s5 195 M(   packet sequence number represented as uint32.  The sequence number is) s5 184 M(   initialized to zero for the first packet, and is incremented after) s5 173 M(   every packet \(regardless of whether encryption or MAC is in use\).  It) s5 129 M(Ylonen & Moffat, Editor    Expires March 31, 2004               [Page 9]) s_RSPStoPSsaved restoreuserdict/PStoPSsaved save putPStoPSmatrix setmatrix595.000000 421.271378 translate90 rotate0.706651 dup scaleuserdict/PStoPSmatrix matrix currentmatrix putuserdict/PStoPSclip{0 0 moveto 595.000000 0 rlineto 0 842.000000 rlineto -595.000000 0 rlineto closepath}put initclipPStoPSxform concat%%BeginPageSetup_S75 0 translate/pagenum 10 def/fname () def/fdir () def/ftail () def/user_header_p false def%%EndPageSetup5 723 M(Internet-Draft        SSH Transport Layer Protocol              Oct 2003) s5 690 M(   is never reset, even if keys/algorithms are renegotiated later.  It) s5 679 M(   wraps around to zero after every 2^32 packets. The packet sequence) s5 668 M(   number itself is not included in the packet sent over the wire.) s5 646 M(   The MAC algorithms for each direction MUST run independently, and) s5 635 M(   implementations MUST allow choosing the algorithm independently for) s5 624 M(   both directions.) s5 602 M(   The MAC bytes resulting from the MAC algorithm MUST be transmitted) s5 591 M(   without encryption as the last part of the packet.  The number of MAC) s5 580 M(   bytes depends on the algorithm chosen.) s5 558 M(   The following MAC algorithms are currently defined:) s5 536 M(     hmac-sha1    REQUIRED        HMAC-SHA1 \(digest length = key) s5 525 M(                                  length = 20\)) s5 514 M(     hmac-sha1-96 RECOMMENDED     first 96 bits of HMAC-SHA1 \(digest) s5 503 M(                                  length = 12, key length = 20\)) s5 492 M(     hmac-md5     OPTIONAL        HMAC-MD5 \(digest length = key) s5 481 M(                                  length = 16\)) s5 470 M(     hmac-md5-96  OPTIONAL        first 96 bits of HMAC-MD5 \(digest) s5 459 M(                                  length = 12, key length = 16\)) s5 448 M(     none         OPTIONAL        no MAC; NOT RECOMMENDED) s5 426 M(                                Figure 1) s5 404 M(   The "hmac-*" algorithms are described in [RFC2104] The "*-n" MACs use) s5 393 M(   only the first n bits of the resulting value.) s5 371 M(   The hash algorithms are described in [SCHNEIER].) s5 349 M(   Additional methods may be defined as specified in [SSH-ARCH].) s5 327 M(5.5 Key Exchange Methods) s5 305 M(   The key exchange method specifies how one-time session keys are) s5 294 M(   generated for encryption and for authentication, and how the server) s5 283 M(   authentication is done.) s5 261 M(   Only one REQUIRED key exchange method has been defined:) s5 239 M(     diffie-hellman-group1-sha1       REQUIRED) s5 217 M(   This method is described later in this document.) s5 195 M(   Additional methods may be defined as specified in [SSH-ARCH].) s5 129 M(Ylonen & Moffat, Editor    Expires March 31, 2004              [Page 10]) s_RSPStoPSsaved restore%%Page: (10,11) 6userdict/PStoPSsaved save putPStoPSmatrix setmatrix595.000000 0.271378 translate90 rotate0.706651 dup scaleuserdict/PStoPSmatrix matrix currentmatrix putuserdict/PStoPSclip{0 0 moveto 595.000000 0 rlineto 0 842.000000 rlineto -595.000000 0 rlineto closepath}put initclip/showpage{}def/copypage{}def/erasepage{}defPStoPSxform concat%%BeginPageSetup_S75 0 translate/pagenum 11 def/fname () def/fdir () def/ftail () def/user_header_p false def%%EndPageSetup5 723 M(Internet-Draft        SSH Transport Layer Protocol              Oct 2003) s5 690 M(5.6 Public Key Algorithms) s5 668 M(   This protocol has been designed to be able to operate with almost any) s5 657 M(   public key format, encoding, and algorithm \(signature and/or) s5 646 M(   encryption\).) s5 624 M(   There are several aspects that define a public key type:) s5 613 M(   o  Key format: how is the key encoded and how are certificates) s5 602 M(      represented.  The key blobs in this protocol MAY contain) s5 591 M(      certificates in addition to keys.) s5 580 M(   o  Signature and/or encryption algorithms.  Some key types may not) s5 569 M(      support both signing and encryption.  Key usage may also be) s5 558 M(      restricted by policy statements in e.g. certificates.  In this) s5 547 M(      case, different key types SHOULD be defined for the different) s5 536 M(      policy alternatives.) s5 525 M(   o  Encoding of signatures and/or encrypted data. This includes but is) s5 514 M(      not limited to padding, byte order, and data formats.) s5 492 M(   The following public key and/or certificate formats are currently defined:) s5 470 M(   ssh-dss              REQUIRED     sign    Raw DSS Key) s5 459 M(   ssh-rsa              RECOMMENDED  sign    Raw RSA Key) s5 448 M(   x509v3-sign-rsa      OPTIONAL     sign    X.509 certificates \(RSA key\)) s5 437 M(   x509v3-sign-dss      OPTIONAL     sign    X.509 certificates \(DSS key\)) s5 426 M(   spki-sign-rsa        OPTIONAL     sign    SPKI certificates \(RSA key\)) s5 415 M(   spki-sign-dss        OPTIONAL     sign    SPKI certificates \(DSS key\)) s5 404 M(   pgp-sign-rsa         OPTIONAL     sign    OpenPGP certificates \(RSA key\)) s5 393 M(   pgp-sign-dss         OPTIONAL     sign    OpenPGP certificates \(DSS key\)) s5 371 M(   Additional key types may be defined as specified in [SSH-ARCH].) s5 349 M(   The key type MUST always be explicitly known \(from algorithm) s5 338 M(   negotiation or some other source\).  It is not normally included in) s5 327 M(   the key blob.) s5 305 M(   Certificates and public keys are encoded as follows:) s5 283 M(     string   certificate or public key format identifier) s5 272 M(     byte[n]  key/certificate data) s5 250 M(   The certificate part may have be a zero length string, but a public) s5 239 M(   key is required. This is the public key that will be used for) s5 228 M(   authentication; the certificate sequence contained in the certificate) s5 217 M(   blob can be used to provide authorization.) s5 195 M(   Public key / certifcate formats that do not explicitly specify a) s5 184 M(   signature format identifier MUST use the public key / certificate) s5 173 M(   format identifier as the signature identifier.) s5 129 M(Ylonen & Moffat, Editor    Expires March 31, 2004              [Page 11]) s_RSPStoPSsaved restoreuserdict/PStoPSsaved save putPStoPSmatrix setmatrix595.000000 421.271378 translate90 rotate0.706651 dup scaleuserdict/PStoPSmatrix matrix currentmatrix putuserdict/PStoPSclip{0 0 moveto 595.000000 0 rlineto 0 842.000000 rlineto -595.000000 0 rlineto closepath}put initclipPStoPSxform concat%%BeginPageSetup_S75 0 translate/pagenum 12 def/fname () def/fdir () def/ftail () def/user_header_p false def%%EndPageSetup5 723 M(Internet-Draft        SSH Transport Layer Protocol              Oct 2003) s5 690 M(   Signatures are encoded as follows:) s5 679 M(     string    signature format identifier \(as specified by the) s5 668 M(               public key / cert format\)) s5 657 M(     byte[n]   signature blob in format specific encoding.) s5 624 M(   The "ssh-dss" key format has the following specific encoding:) s5 602 M(     string    "ssh-dss") s5 591 M(     mpint     p) s5 580 M(     mpint     q) s5 569 M(     mpint     g) s5 558 M(     mpint     y) s5 536 M(   Here the p, q, g, and y parameters form the signature key blob.) s5 514 M(   Signing and verifying using this key format is done according to the) s5 503 M(   Digital Signature Standard [FIPS-186] using the SHA-1 hash. A) s5 492 M(   description can also be found in [SCHNEIER].) s5 470 M(   The resulting signature is encoded as follows:) s5 448 M(     string    "ssh-dss") s5 437 M(     string    dss_signature_blob) s5 415 M(   dss_signature_blob is encoded as a string containing r followed by s) s5 404 M(   \(which are 160 bits long integers, without lengths or padding,) s5 393 M(   unsigned and in network byte order\).) s5 371 M(   The "ssh-rsa" key format has the following specific encoding:) s5 349 M(     string    "ssh-rsa") s5 338 M(     mpint     e) s5 327 M(     mpint     n) s5 305 M(   Here the e and n parameters form the signature key blob.) s5 283 M(   Signing and verifying using this key format is done according to) s5 272 M(   [SCHNEIER] and [PKCS1] using the SHA-1 hash.) s5 250 M(   The resulting signature is encoded as follows:) s5 228 M(     string    "ssh-rsa") s5 217 M(     string    rsa_signature_blob) s5 195 M(   rsa_signature_blob is encoded as a string containing s \(which is an) s5 184 M(   integer, without lengths or padding, unsigned and in network byte) s5 173 M(   order\).) s5 129 M(Ylonen & Moffat, Editor    Expires March 31, 2004              [Page 12]) s_RSPStoPSsaved restore%%Page: (12,13) 7userdict/PStoPSsaved save putPStoPSmatrix setmatrix595.000000 0.271378 translate90 rotate0.706651 dup scaleuserdict/PStoPSmatrix matrix currentmatrix putuserdict/PStoPSclip{0 0 moveto 595.000000 0 rlineto 0 842.000000 rlineto -595.000000 0 rlineto closepath}put initclip/showpage{}def/copypage{}def/erasepage{}defPStoPSxform concat%%BeginPageSetup_S75 0 translate/pagenum 13 def/fname () def/fdir () def/ftail () def/user_header_p false def%%EndPageSetup5 723 M(Internet-Draft        SSH Transport Layer Protocol              Oct 2003) s5 690 M(   The "spki-sign-rsa" method indicates that the certificate blob) s5 679 M(   contains a sequence of SPKI certificates. The format of SPKI) s5 668 M(   certificates is described in [RFC2693]. This method indicates that) s5 657 M(   the key \(or one of the keys in the certificate\) is an RSA-key.) s5 635 M(   The "spki-sign-dss". As above, but indicates that the key \(or one of) s5 624 M(   the keys in the certificate\) is a DSS-key.) s5 602 M(   The "pgp-sign-rsa" method indicates the certificates, the public key,) s5 591 M(   and the signature are in OpenPGP compatible binary format) s5 580 M(   \([RFC2440]\). This method indicates that the key is an RSA-key.) s5 558 M(   The "pgp-sign-dss". As above, but indicates that the key is a) s5 547 M(   DSS-key.) s5 525 M(6. Key Exchange) s5 503 M(   Key exchange begins by each side sending lists of supported) s

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?