2

トランスポート層を介してユーザー資格情報 (Active Directory) を送信するための最良/最も簡単な方法は何ですか?

サードパーティのメッセージレイヤー C に接続された 2 つのシステム A と B があります。

サイドAで認証されたユーザーの資格情報を何らかの方法で保存/シリアル化し、Cを介して送信し、サイドBでデシリアライズしてからダウンストリームを呼び出す方法はありますか(.NETで推奨)デシリアライズされた資格情報を使用してシステム D?

4

2 に答える 2

2

AD の認証フロントエンドの 1 つによって認証できる別のシステムに資格情報を「ミュール」するには、なりすましに適したプロトコル (Kerberos など)、生の資格情報自体 (「基本」または「ユーザー名」とも呼ばれる) のいずれかが必要です。 /password" ですが、特定の状況下では RSA キーペアのようなものになることもあります) と、オプションでそれらの資格情報をラップするフレームワーク (WS-Sec、SAML など) を使用することもできます。

Windows の LSA によって生成されたアクセス トークンは、トークンが生成されたシステムでのみ有効です。あるシステムから別のシステムにトークンをシリアル化および逆シリアル化した場合、LSA はプロセスが認証されたことの証明としてそれを受け入れません。そのターゲット システムにアクセスし、システム上の保護されたリソースにアクセスする権利を持っていました。それ以外の場合は、リプレイ攻撃 (あるボックスからセキュリティ コンテキストを取得し、それをリプレイする - 悪意があるかどうかにかかわらず、セキュリティ脅威モデルは気にしない - 別のボックスで) 対象となるシステムについて話していることになります。

したがって、これを行う「最も簡単な」方法は、コードでユーザーにユーザー名とパスワードを入力するように求めることです。これは、セキュリティ上の欠陥の影響を最も受けやすいシナリオでもあります。アプリケーションがこのような大雑把なことを行った場合、正しい考えを持つ組織は窒息するでしょうが、これ理論上のオプションです。

システム間通信に認証プロトコルの組み込みサポートを含める方法を見つけたほうがよいでしょう。これらのコンテキストでしばしば使用できるクロスプラットフォーム API については、GSS-API を参照してください。

于 2010-10-27T18:20:58.433 に答える
0

これはなりすましと呼ばれますが、基盤となるシステムの詳細がなければ、それがサポートされるかどうかはわかりません。

システムが WCF に基づいている場合、これは間違いなく可能です。このMSDNページには、すべての詳細が含まれています。

于 2010-09-27T05:50:24.897 に答える