12

WCFとセキュリティを調べています。いくつかのセキュリティモードがありますが、全体像は、セキュリティで保護できる2つの主要な「レイヤー」(トランスポートまたはメッセージ)があることです。

誰かがこれをもっと深く説明できますか?トランスポートを保護するときに何を想像する必要がありますか、それはどのように機能しますかなど。

4

3 に答える 3

12

予想どおり、トランスポートセキュリティはトランスポートを保護します(SSL over HTTPなど)が、メッセージセキュリティはメッセージを保護します。メッセージセキュリティを使用する理由のmsdnの概要は次のとおりです。http: //msdn.microsoft.com/en-us/library/ms733137.aspx

およびトランスポートの概要:http: //msdn.microsoft.com/en-us/library/ms729700.aspx

(メッセージセキュリティリンクから):Windows Communication Foundation(WCF)には、セキュリティを提供するための2つの主要なモード(トランスポートとメッセージ)と、2つを組み合わせた3番目のモード(TransportWithMessageCredential)があります。このトピックでは、メッセージのセキュリティとそれを使用する理由について説明します。

メッセージセキュリティとは何ですか?

メッセージセキュリティは、WS-Security仕様を使用してメッセージを保護します。WS-Securityspecificationは、(トランスポートレベルではなく)SOAPメッセージレベルでの機密性、整合性、および認証を保証するためのSOAPメッセージングの拡張機能について説明しています。

簡単に言うと、メッセージセキュリティは、メッセージ保護(署名または暗号化)とともにすべてのメッセージにセキュリティクレデンシャルとクレームをカプセル化するという点で、トランスポートセキュリティとは異なります。コンテンツを変更してメッセージに直接セキュリティを適用すると、セキュリティの側面に関して、セキュリティで保護されたメッセージを自己完結型にすることができます。これにより、トランスポートセキュリティが使用されている場合には不可能ないくつかのシナリオが可能になります。

メッセージセキュリティを使用する理由

メッセージレベルのセキュリティでは、すべてのセキュリティ情報がメッセージにカプセル化されます。トランスポートレベルのセキュリティではなくメッセージレベルのセキュリティでメッセージを保護することには、次の利点があります。•エンドツーエンドのセキュリティ。Secure Sockets Layer(SSL)などのトランスポートセキュリティは、通信がポイントツーポイントの場合にのみメッセージを保護します。メッセージが最終的な受信者に到達する前に1つ以上のSOAP仲介者(ルーターなど)にルーティングされる場合、仲介者がネットワークからメッセージを読み取ると、メッセージ自体は保護されません。さらに、クライアント認証情報は最初の仲介者のみが利用でき、必要に応じて帯域外方式で最終的な受信者に再送信する必要があります。これは、ルート全体が個々のホップ間でSSLセキュリティを使用している場合でも適用されます。メッセージセキュリティはメッセージと直接連携し、メッセージ内のXMLを保護するため、最終的な受信者に到達する前に関与する仲介者の数に関係なく、セキュリティはメッセージにとどまります。これにより、真のエンドツーエンドのセキュリティシナリオが可能になります。

•柔軟性の向上。メッセージ全体ではなく、メッセージの一部に署名または暗号化することができます。これは、仲介者が自分宛てのメッセージの部分を表示できることを意味します。送信者がメッセージ内の情報の一部を仲介者に表示する必要があるが、改ざんされていないことを確認したい場合は、署名するだけで暗号化されないままにすることができます。署名はメッセージの一部であるため、最終的な受信者は、メッセージ内の情報が完全に受信されたことを確認できます。1つのシナリオには、Actionヘッダー値に従ってメッセージをルーティングするSOAP中間サービスがある場合があります。既定では、WCFはAction値を暗号化しませんが、メッセージセキュリティが使用されている場合は署名します。したがって、この情報はすべての仲介者が利用できますが、誰も変更することはできません。

•複数のトランスポートのサポート。セキュリティのためにプロトコルに依存することなく、名前付きパイプやTCPなどのさまざまなトランスポートを介してセキュリティで保護されたメッセージを送信できます。トランスポートレベルのセキュリティでは、すべてのセキュリティ情報は単一の特定のトランスポート接続にスコープされ、メッセージコンテンツ自体からは利用できません。メッセージセキュリティは、メッセージの送信に使用するトランスポートに関係なくメッセージを安全にし、セキュリティコンテキストはメッセージ内に直接埋め込まれます。

•幅広い資格情報とクレームのサポート。メッセージセキュリティはWS-Security仕様に基づいており、SOAPメッセージ内であらゆるタイプのクレームを送信できる拡張可能なフレームワークを提供します。トランスポートセキュリティとは異なり、使用できる認証メカニズムまたはクレームのセットは、トランスポート機能によって制限されません。WCFメッセージセキュリティには、複数の種類の認証とクレーム送信が含まれ、必要に応じて追加の種類をサポートするように拡張できます。これらの理由から、たとえば、フェデレーションクレデンシャルシナリオはメッセージセキュリティなしでは不可能です。WCFがサポートするフェデレーションシナリオの詳細については、「フェデレーションと発行されたトークン」を参照してください。

于 2013-02-20T08:04:17.663 に答える
2

Secure Sockets Layer(SSL)などのトランスポートセキュリティは、通信がポイントツーポイントの場合にのみメッセージを保護します。メッセージが最終的な受信者に到達する前に1つ以上のSOAP仲介者(ルーターなど)にルーティングされる場合、仲介者がネットワークからメッセージを読み取ると、メッセージ自体は保護されません。

誤解を招く。メッセージを復号化するにはサービス側のSSL証明書が必要なため、トランスポート層のセキュリティ(サーバー側のSSL証明書)で暗号化されている場合、ネットワークルーターまたはスイッチ(OSIレイヤー2および3)はメッセージコンテンツにアクセスできません。トランスポート層セキュリティは、宛先サービスプロバイダーのみがメッセージの復号化に必要なSSLプライベート証明書を持っていると想定されるため、クライアントと目的の宛先IPアドレスの間のメッセージを保護します。SOAP仲介者は、SOAP仲介者(つまりESB)が実際にクライアントとの暗号化されたトランスポートチャネルを実際に確立する意図されたメッセージ宛先である場合にのみコンテンツを読み取ることができ、クライアントからサーバーへの安全なチャネルをネットワークホップ、ルーター、スイッチなど(OSIレイヤー2および3)。

メッセージレベルのセキュリティは、メッセージにセキュリティを追加し、ミドルウェアESB(意図されたSOAP仲介)がルーティング決定を行うためにメッセージの一部を読み取る必要がある場合(コンテンツベースのルーティング)、メッセージの一部を暗号化できますが、他を読み取ることはできませんダウンストリームシステムのみがアクセスする必要があるメッセージの一部。

于 2016-10-05T16:25:44.163 に答える
1

トランスポートを使用すると、使用しているチャネルが保護され、メッセージを使用すると、送信するメッセージ(コンテンツ)が保護されます。

于 2013-02-20T07:56:50.183 に答える