6.3. Encryption (暗号化)
6.3. Encryption (暗号化)
暗号化アルゴリズムと鍵は鍵交換中にネゴシエートされる。暗号化が有効な場合, 各パケットのパケット長, パディング長, ペイロード, パディングフィールドは, 指定されたアルゴリズムで暗号化されなければならない (MUST)。
一方向に送信されるすべてのパケットの暗号化されたデータは, 単一のデータストリームとして扱われるべきである (SHOULD)。たとえば, 初期化ベクトルは, あるパケットの終わりから次のパケットの始まりに渡されるべきである (SHOULD)。すべての暗号は, 有効鍵長が 128 ビット以上の鍵を使用すべきである (SHOULD)。
各方向の暗号は互いに独立して実行されなければならない (MUST)。ローカルポリシーで複数のアルゴリズムが許可されている場合, 実装は各方向のアルゴリズムを独立して選択できるようにしなければならない (MUST)。ただし実際には, 両方向で同じアルゴリズムを使用することが推奨される (RECOMMENDED)。
現在定義されている暗号は次のとおりである:
3des-cbc REQUIRED CBC モードの 3 鍵 3DES
blowfish-cbc OPTIONAL CBC モードの Blowfish
twofish256-cbc OPTIONAL CBC モードの Twofish, 256 ビット鍵
twofish-cbc OPTIONAL "twofish256-cbc" のエイリアス (歴史的理由で保持)
twofish192-cbc OPTIONAL 192 ビット鍵の Twofish
twofish128-cbc OPTIONAL 128 ビット鍵の Twofish
aes256-cbc OPTIONAL CBC モードの AES, 256 ビット鍵
aes192-cbc OPTIONAL 192 ビット鍵の AES
aes128-cbc RECOMMENDED 128 ビット鍵の AES
serpent256-cbc OPTIONAL CBC モードの Serpent, 256 ビット鍵
serpent192-cbc OPTIONAL 192 ビット鍵の Serpent
serpent128-cbc OPTIONAL 128 ビット鍵の Serpent
arcfour OPTIONAL 128 ビット鍵の ARCFOUR ストリーム暗号
idea-cbc OPTIONAL CBC モードの IDEA
cast128-cbc OPTIONAL CBC モードの CAST-128
none OPTIONAL 暗号化なし; 非推奨
各暗号の詳細な仕様は参照される標準文書に記載されている。
[SSH-ARCH] と [SSH-NUMBERS] で指定されているように追加の方法を定義してもよい。