SSHdの設定やキー署名など、SSH-CA全体を設定する方法を知っています。しかし、私が知りたいのは、認証が具体的にどのように行われるのかということです。
説明どおりここ公開鍵認証は最後の章で詳しく説明されています。答えが見つかりません。
私はそれが次のように動作すると想像しています:
- サーバー側:signedCertificateのサブジェクトがvalidPrincipalsファイルに格納されていることを確認し、signedCertificateを検証し、signedCertificateのCA公開鍵がサーバーに構成されている信頼できる公開鍵と一致することを確認します。
- サーバー側:乱数を生成し、提供された公開鍵を使用してそれを暗号化してからクライアントに送信します。
- クライアント:乱数を復号化し、乱数とSharedSessionKeyを使用してMD5 Sumを作成し、それをサーバーに送信します。
- サーバー側:また、randomNumberとSharedSessionKeyを使用してMD5ハッシュを作成し、受信したものと一致することを確認し、アクセスを許可またはブロックします。