WCFにおけるトランスポートセキュリティとメッセージセキュリティの主な違いは、トランスポートセキュリティがクライアントからサービスへメッセージを送る実際のトランスポート(パイプ)を保護するのに対し、メッセージセキュリティはクライアントからサービスへ渡すメッセージを保護する点です。
WCFはWindows Communication Foundationの略で、開発者はサービス指向のアプリケーションを作成することができる。
WCFは、SOAP、XML、HTTP、HTTPSなど、さまざまなプロトコルをサポートしています。
WCFの主な利点は、異なるプログラミング言語や技術を使用して開発されたアプリケーションを接続するのに役立つことです。
WCFには、トランスポートセキュリティとメッセージセキュリティの2種類のセキュリティレベルがあります。
WCFにおけるトランスポートセキュリティとは
トランスポートセキュリティは、クライアントからサービスへのメッセージの転送媒体を保護することに重点を置いています。
SSL(Secure Socket Layer)を使用して、ポイント・ツー・ポイントの保護を確立します。
最も一般的な方法は、HTTPSを使用して送信するパケットの内容を暗号化し、署名するためにSSLを使用することです。
このセキュリティメカニズムは伝送媒体に依存するため、メッセージセキュリティと比較すると、認証オプションが少なくなります。
さらに、クライアントとサービスの間に複数の中間システムがある場合、各中間ポイントで新しいSSL接続を行う必要があります。
WCFのメッセージセキュリティとは
メッセージセキュリティは、WS Security 仕様を使用して、メッセージを保護します。
この仕様は、SOAPメッセージに含まれるべき機密性、完全性、および認証について説明しています。
さらに、ユーザー認証情報をカプセル化し、すべてのメッセージが WS Security 仕様を使用していることを確認します。
つまり、この方法は、メッセージに直接セキュリティを適用する。
しかし、暗号化と復号化はメッセージセキュリティの性能低下を引き起こす。
また、クライアントとサービスの双方がWSセキュリティ仕様を理解する必要があり、古い技術に対するサポートがない。
そのため、メッセージセキュリティは相互運用性に欠ける。
WCFにおけるトランスポートとメッセージのセキュリティの違い
定義
トランスポートセキュリティは、使用するバインディングとトランスポート/トランスポートメディアに依存するWCFのメカニズムであり、メッセージセキュリティは、WS-Security仕様を使用してメッセージを保護するWCFのメカニズムです。
したがって、これがWCFにおけるトランスポート・セキュリティとメッセージ・セキュリティの主な違いです。
認証
WCFにおけるトランスポートセキュリティとメッセージセキュリティのもう一つの違いは、メッセージセキュリティはトランスポートセキュリティよりも認証に柔軟性があることです。
仲介システム
さらに、WCFにおけるトランスポート・セキュリティとメッセージ・セキュリティのもう一つの違いは、トランスポート・セキュリティでは、中間ポイントごとに新しいSSL接続が作成されることです。
メッセージ・セキュリティでは、メッセージが保護されるため、ネットワーク上の中間ホップには影響がありません。
セキュリティオプション
また、メッセージ・セキュリティでは、利用可能なセキュリティ・オプションがトランスポート・セキュリティよりも多くなっています。
また、メッセージセキュリティでは、カスタムセキュリティを実装することが可能です。
この点も、WCFのTransport SecurityとMessage Securityの違いと言えるでしょう。
相互運用性
また、相互運用性とは、WCFにおけるTransport SecurityとMessage Securityの違いです。
トランスポートセキュリティでは、クライアントとサービスはWSセキュリティの仕様を理解する必要はない。
そのため、相互運用性が得られる。
一方、メッセージセキュリティでは、クライアントとサービスの双方がWSセキュリティの仕様を理解する必要がある。
そのため、相互運用性はありません。
パフォーマンス
メッセージセキュリティは、メッセージの暗号化・復号化があるため、トランスポートセキュリティに比べ、パフォーマンスが低下する。
そのため、WCFのTransport SecurityとMessage Securityでは、パフォーマンスが大きく異なる。
結論
WCFのトランスポートセキュリティとメッセージセキュリティの主な違いは、トランスポートセキュリティはクライアントからサービスへメッセージを送信する実際のトランスポート(パイプ)を保護し、メッセージセキュリティはクライアントからサービスへ渡すメッセージそのものを保護することである。
簡単に言うと、トランスポートセキュリティはクライアントとサービスが同じネットワークにある場合に適しており、メッセージセキュリティはクライアントとサービスが同じネットワークにある場合と異なるネットワークにある場合の両方のシナリオで機能します。