sshで非常に長い非対称キーを使用する

こんにちは$ユーザー名 あなたが私と同じ暗号マニアックなら、おそらく/ etc / ssh / moduliの再生成に自分自身を制限することはないでしょうし、もっと欲しいでしょう。 たとえば、認証には1024iBより長いdsaキーを使用します。 しかし問題は、ほとんどのUNIX oidが装備されているOpenSSHパッケージのssh-keygenは、そのようなキーを生成したくないということです。 この振る舞いの理由は不明で、男性はFIPS 186-2文書に送られますが、これは明確に何も言わず、この制限の説明はありません。 したがって、長いdsaキーを使用してあらゆる種類の暗号レーキをキャッチしようとしない理由はありません。 そのようなキーを生成するためだけに残ります。 簡単ですが、あらゆる種類のピックに時間を無駄にしたくない場合は、hubracutの下の方法に慣れることができます







Opensslはこの問題に役立ちます。 最初に、dsaキーのパラメーターを生成します。



openssl dsaparam -out parameters.pem 4096







誰かが知らない場合、4096はこれらのパラメーターを使用して生成されるキーの望ましい長さ(ビット単位)であり、パラメーター自体は(自然に)parameters.pemファイルに書き込まれ、base64を使用してエンコードされますバイナリ構造で、特定のキャップとアンチキャップを装備-すべてPEM(プライバシー強化電子メール)標準に準拠。 DSAパラメータ自体は3つの数字です。 詳細はen.wikipedia.org/wiki/DSAにあります



パラメーターが生成された後、キーを生成できます(もちろん、パラメーターが生成されるまで待機します:)が、一般的に、急に携帯電話で実行することに決めた場合は、「Ideal Code」という優れたエッセイの本を購入してください:



openssl dsa -out key.pem parameters.pem







このキーは、実際には公開キーと秘密キーの2つのキーです。 あなたがそれを信じていないなら、あなたは自分で見ることができます:



openssl dsa -noout -text < key.pem







理論的には、DSAパラメータと2つの小さな数値pubおよびprivが表示されるはずです。これらは実際にはキーになります。



次の3つのことを行う必要があります:(1)作成されたキーを自分のIDに宣言する、(2)認識されるopenssh形式で公開キーを削除する、(3)この公開キーをauthorized_keysのターゲットマシンに配置する (2)と(3)は1つのパイプラインに混在します。



mv key.pem /home/username/.ssh/identity

chown 600 /home/username/.ssh/identity








Truesh Theo de Raadtがプロジェクトを主導したため、opensshは読みやすいものであるため、アクセス権を変更する必要があります。



ssh-keygen -y -f /home/username/.ssh/identity | ssh username@somehost.ssh tee -a .ssh/authorized_keys







できた これで、非対称キーのみでssh認証を終了でき、ラトビア、インド、中国、ロシアのハッカーの間で春の悪化を恐れることなく、静かにチェスをプレイできます。



PSもちろん、PuTTYユーザーはputtygenを使用して長いDSAキーを安全に生成できますが、問題は、新しいDSAキーごとにputtygenが新しいパラメーターを生成し、RSAに対するDSAの利点を完全に無効にすることです。新しいキーの生成率で楕円曲線を頼りにする能力を考慮に入れてください。






All Articles