現在、さまざまなクライアントの種類と役割に対する一連のWebサービス公開インターフェイスが用意されています。SSLクライアント証明書の検証の最適化
背景:
- 認証がSSLクライアント証明書の検証を介して処理されます。これはです。現在はがWebサービスコードで実行されています(HTTPサーバーではありません)。私たちはこれより安全性の低いスキームを使用したくありません。この投稿は認可についてのみではなく、認証についての話ではありません。
- WebサービスはSOAPとREST(JSON)の両方を話します。どちらのアプローチのメリットについても議論を開始することには興味がありません。
- Webサービスを介して公開されるすべての操作は、ステートレスです。
私の問題は、各リクエストのクライアント証明書を検証することは非常に重く、アプリケーションサーバー上のCPU時間を簡単に支配することです。私はすでに負荷を軽減するために、認証の&アプリケーション部分を別の物理サーバーに分けることを試みましたが、全体的なディスパッチ速度は改善されません - 要求がどこで行われても依然として認証に一定の時間がかかります。
クライアント証明書の検証が成功した後にHTTP Cookie(関連するサーバー側セッションとともに)を生成することで、認証の数を制限しようとしています。クライアント証明書の検証により、クライアント証明書の検証がスキップされますまだSSLで話しています)。また、セッションをタイムリミットし、プロセスをクライアントの観点からできるだけ透明にしたいと思っています。
私の質問:
- これはまだのように安全ですか? (セキュリティと実用性のために最適化するにはどうすればよいでしょうか)
- このスキームは無料で実装されていますか? (私はCAのSiteMinder製品に気付いています)
- 上記のことを考えれば、引き続きアプリケーション内で認証を行うか、またはサーバー内に移行する必要がありますか? により供給されたとき、クライアントは、クライアント 証明書の検証が
をスキップされるようになります 成功したクライアント証明書 検証、後( 関連するサーバー側のセッションで)HTTPクッキーを生成
このようにおねがいします。同じ質問が同じ日に3回起こった後、私は少しずつ掘り起こし始めました。答えはもう少し複雑です:http://extendedsubset.com/?p=8 –