web-dev-qa-db-ja.com

Azure ACS 2.0のセキュリティ機能とADFS 2.0の違いは何ですか?

ADFSまたはAzure ACS 2.0を使用するように証明書利用者(Webサイト)を構成しています。

ADFS 2.0には、(SQLバージョンでの)トークン再生防止などのいくつかの興味深い機能があり、他のSAML セキュリティ機能 もある場合があります(これは理解できない場合があります)。

誰かがADFSとACSのセキュリティリスクの違いを抽出できますか?

例えば:

  • トークンの再生はそれぞれで異なる方法で処理されますか?
  • プロトコルサポートの違いによりセキュリティが向上または低下しますか?
  • より安全なOpenID、OAuth、SAML1またはSAML2などとは...
  • 暗号化とハッシュは同様に行われますか?
  • キーの更新はどのように行われますか? (例:ADFSは一定の間隔で更新されます)
  • ホームレルムの検出ページを無効にして、IDPをリークしないようにカスタマイズできますか?
  • ...?
5

これは素晴らしい質問です。ただし、ACS v2とADFS v2の間には、リスクの観点からかなりの数の違いがあります。

  1. ACSにはIdPがないため、認証は行われませんが、ADFSは行われます。
  2. 私が理解している限り、ACSはトークンのリプレイを防止しようとしません。元のトークンを提供するIdPとRPに任せます。ドキュメントが見つからないため、これが100%正しいとは言えませんが、これをテストするプロジェクトに取り組んでいます...結果は更新されます。
  3. ACSは3つのトークンタイプとプロトコル(WS-Fed、SAML 1.1/2.0、およびSWT)をサポートしますが、ADFSは2つのタイプ(WS-Fed。SAML 1.1/2.0)のみをサポートします。
  4. ADFSはカスタム属性ストアをサポートしています。 ACSは、受信したトークン内のクレームのみを使用します。

以上のことをすべて踏まえて、ACSとADFSは何よりも補完的であると主張します。 ACSは、他のIdPを受け入れるように比較的簡単に変更できるため、Azure/Cloudでホストされるアプリケーションのエンドポイントとして適切に機能します。 ADFSは内部で適切に機能しますが、IdP信頼を追加するのは少し面倒です。これにより、アプリケーション、環境(クラウドなど)、および組織内部のセキュリティ境界が与えられます。

編集:補足質問:

6
Steve

デフォルトでは、ACSで トークンを再生できます は、開発者がそれに対して保護するための手順を実行しない限りです。

これを参照してください Microsoftが公開したセキュリティ問題のリスト ACSを使用するときに安全な展開で留意すべきこと

1