0

サーバーへの署名の送信は常に異なるため、私が読んだところはどこでも、sshキーペア認証は単純なパスワード認証よりも安全であると言われています。したがって、誰かが私の署名を取得した場合、次回は私に代わってログインするためにそれを使用することはできません。

今私の質問は、この署名がどのようにユニークであるかということです。

サーバーは最初にランダムな文字列を送信し、コンピューターが秘密鍵で署名して返送しますか?これが、署名が毎回一意であると私が考える唯一の方法だからです。しかし、Web上のどこでも、クライアントは最初に署名を送信すると言われていますが(これが最初のステップであるため)、サーバーは最初にランダムな文字列を送信する必要があると思います。

4

2 に答える 2

0

私はセキュリティの専門家ではありませんが、キーベースの認証がどのように機能するかについての私の理解は次のとおりです。サーバーは、秘密キーを使用して暗号化された乱数を送信します。クライアントはチャレンジを復号化してサーバーに送り返し、秘密鍵を所有していることを確認します。

ただし、パスワードベースの認証にも同様の手法が使用されていると思います。サーバーは乱数を送信します。クライアントはパスワードに乱数を追加し、ハッシュを計算してサーバーに送信します。サーバーは同じ方法で乱数を計算して検証します。

したがって、それが公開鍵ベースの認証が「より安全」である理由ではないようです。

于 2011-09-26T18:04:34.647 に答える
0

鍵認証の場合、秘密鍵がサーバーに公開されることはなく(したがって、攻撃者には公開されません)、公開鍵のみが公開されます。同様に、サーバーの秘密鍵があなた(または攻撃者)に公開されることはなく、公開鍵のみが公開されます。

Diffie-Hellmanは、認証が単純なパスワードを使用するか公開鍵認証を使用するかに関係なく、アプリケーションデータを送受信するために使用される2つのキーペア(各パーティに1つ)を導出するために使用されます。

パスワード認証の場合、セッションキーペアは、ユーザー/パスワードがネットワークを介して送信される前に計算されます。これにより、単純な盗聴は防止されますが、もちろん、攻撃者がユーザーとパスワードの組み合わせに直接接続して推測することを防ぐことはできません。そしてもちろん、多くのユーザーは貧弱なパスワードを選択します

公開鍵認証の場合、セッション鍵ペアが計算され、RSAまたは同様のアルゴリズムを使用して簡単な会話(通常は数学の質問/回答)が行われ、宣言されたユーザーが公開鍵と一致することを確認します。この会話は、秘密鍵の1つを推測せずに偽造することはできません。正しく行われると、これは最も強力なパスワードよりもはるかに困難になります。乱数ジェネレーターなどの公開鍵認証に弱点がある場合でも、結果として生じる弱い公開鍵認証は、パスワード認証よりもはるかに強力になる可能性があります。

于 2011-09-26T18:21:01.640 に答える