ある種の公開鍵認証を使用するようにApacheまたは他のWebサーバーを構成することは可能ですか?
理想的には、ユーザーがブラウザにキーファイル(または類似のもの)をインストールし、そのキーが「承認」されていれば、ユーザー名/パスワードを必要とせずにユーザーがサイトにアクセスできるようにしたいと考えています。サーバー側。
探しているものは、一般的に相互認証と呼ばれます。通常、サーバー証明書は「サーバー認証」用に存在します。つまり、サーバーのIDをクライアントに対して検証します。
このスキームを追求する場合、クライアントの証明書の更新に関する追加の課題があることに注意してください。
これは、1つの製品でどのように行われるかの例です。
SSLは公開鍵認証です。最も一般的には、リモートサーバーのIDを認証するために使用されます。サーバーは、認証局の秘密鍵で署名された証明書を提示し、ブラウザは認証局の公開鍵に対してそれを検証します。
SSLを使用してクライアントのIDを認証することもできます。この場合、ブラウザーがリモートサーバーに接続するときにクライアント証明書を提示するようにブラウザーを構成すると、リモートサーバーは証明書をある機関に対して認証します。
これはすべて比較的簡単で、ほとんどのWebサーバーで十分にサポートされています。 このドキュメント は、Apacheでの設定について説明しています。 SSLRequire ステートメントは、この種の構成の面倒な作業のほとんどを実行します。