SSHは、Ciphers、MAC、およびKexAlgorithms構成オプション用にさまざまなアルゴリズムを提供します。速くて軽い(自分の内部ネットワーク)が必要な場合もあれば、入手できるすべての保護が必要な場合もあります(DEFCONからのVPNのホーム)。
前述の各カテゴリーのアルゴリズムの最も遅い/最も速い、最も/最も安全でない(複雑さの軽減や衝突の可能性の増加などの既知の攻撃)の分類法はありますか?
私は読みました 対称、非対称、ハッシュ、メッセージ認証コード暗号の現実的で最も安全な暗号は何ですか? しかし、アプリケーションごとのさまざまな推奨事項(beefyサーバーサーバー対モバイルデバイス(バッテリ寿命が短く、CPUが弱い)に加えて、さまざまな動作モード(CBC対CTR対ECB)の他の副次的影響と同様に、インタラクティブな使用とファイル転送を比較します。
追加:ちょうどこれを見つけた 概要 異なる暗号化アルゴリズム/モードの有効な転送速度。
上記に対する代替の応答は、セキュリティが心配な場合、アルゴリズムに焦点を当てることはほとんど関係がないということです。なぜなら、0wnedが発生するのは、暗号を攻撃している人ではなく、SSHサーバーの実装バグを介しているためです。特に、DEFCONからVPNのホームを作成するような場合は、DESクラッカーではなく、メタスプロイトから防御する必要があります。 SSHが通常サポートする最も弱いアルゴリズム、単一のDESを使用することができ、完全に安全です。これは、OpenSSHでゼロデイになるか、または最新バージョンを実行していない場合は、それが原因です。したがって、あなたは本当に間違った質問をしているのです。ほとんどすべてのアルゴリズムがあなたを安全に保ちます。それは彼らがあなたを捕まえるであろう実装のバグです。
選択した暗号がSSHのパフォーマンスに影響を与えることはほとんどありません。ほとんどの場合、CPUはネットワークの処理速度よりも速く暗号化/復号化できます。ほとんどの状況では、ネットワーク帯域幅が制限要因のようです。
したがって、SSHはデフォルトのままにしておくことをお勧めします。彼らはいいですよ。デフォルトは適度に安全であり、デフォルトを調整しても、パフォーマンスが著しく向上する可能性は低いです。
パラメータをいじりたい場合は、SSHの圧縮の使用を確認してください。デフォルトでは、すべてのデータは暗号化されたチャネルを介して送信する前に圧縮されます。圧縮レベルはssh -o 'CompressionLevel 6'
で調整できます(6を1〜9の任意の数値に置き換えます。1が最も速く、9が最も遅くなります)。ただし、個人的には、圧縮レベルを変更することによる大きな改善はありません。また、すでにscpで圧縮されているファイルを転送する場合は、scp -o 'Compression no' ...
を使用して圧縮をオフにすることができます。場合によっては(非常に高速なネットワークと低速のCPUを使用している場合)、これが役立つかもしれませんが、私の経験では、それが気になるほどの大きな違いになるとは知りませんでした。
OpenSSHクライアントでサポートされている暗号のうち、以下のすべてが強力なセキュリティを提供します。
aes128-ctr,aes192-ctr,aes256-ctr
aes128-cbc,3des-cbc,blowfish-cbc,cast128-cbc,aes192-cbc,
aes256-cbc
セキュリティが低下するため、des
を使用しないでください(3des
で問題ありません)。 arcfour128
、arcfour256
、arcfour
についてはよくわかりません。この分野の文献についていなかったためですが、他の文献よりもリスクが高いようです。 OpenSSHクライアントでサポートされているメッセージ認証コード(MAC)アルゴリズムのうち、以下のすべてが強力なセキュリティを提供します。
hmac-md5,hmac-sha1,[email protected],
hmac-ripemd160,hmac-sha1-96,hmac-md5-96
OpenSSHクライアントでサポートされているHostKeyAlgorithmsのうち、サポートされているすべてのオプション(ssh-rsa
、ssh-dss
)は問題なく、十分な長さのキーを選択する限り、強力なセキュリティを提供します。 KexAlgorithmsオプションについてはよく知りません。
つまり、基本的に提供されるすべての暗号化オプションは十分に安全でなければなりません。ただし、単純なdes
を使用しないでください。arcfour
ベースの暗号を使用しないことをお勧めします。