Webservices-web-services-security
Webサービス-セキュリティ
セキュリティはWebサービスにとって重要です。 ただし、XML-RPC仕様もSOAP仕様も明示的なセキュリティまたは認証の要件を満たしていません。
Webサービスには3つの特定のセキュリティ問題があります-
- 守秘義務
- 認証
- ネットワークセキュリティー
守秘義務
クライアントがサーバーにXML要求を送信する場合、通信の機密性を確保できますか?
答えはここにあります-
- XML-RPCとSOAPは、主にHTTPの上で実行されます。
- HTTPはSecure Sockets Layer(SSL)をサポートしています。
- 通信はSSLを介して暗号化できます。
- SSLは実証済みのテクノロジーであり、広く展開されています。
単一のWebサービスは、一連のアプリケーションで構成されている場合があります。 たとえば、1つの大きなサービスが他の3つのアプリケーションのサービスを結び付ける場合があります。 この場合、SSLは適切ではありません。メッセージはサービスパスに沿った各ノードで暗号化する必要があり、各ノードはチェーン内の潜在的な弱いリンクを表します。 現在、この問題に対する合意済みの解決策はありませんが、有望な解決策の1つはW3C XML暗号化標準です。 この標準は、XMLドキュメント全体またはXMLドキュメントの一部のみを暗号化および復号化するためのフレームワークを提供します。 www.w3.org/Encryptionで確認できます。
認証
クライアントがWebサービスに接続する場合、ユーザーをどのように識別するのですか? ユーザーはサービスの使用を許可されていますか?
次のオプションを検討できますが、強力な認証スキームについて明確なコンセンサスはありません。
- HTTPには基本認証およびダイジェスト認証の組み込みサポートが含まれているため、HTMLドキュメントが現在保護されているのとほぼ同じ方法でサービスを保護できます。
- SOAPデジタル署名(SOAP-DSIG)は、公開鍵暗号化を利用してSOAPメッセージにデジタル署名します。 これにより、クライアントまたはサーバーは、相手の身元を検証できます。 www.w3.org/TR/SOAP-dsigで確認してください。
- 構造化情報標準化推進機構(OASIS)は、セキュリティアサーションマークアップ言語(SAML)に取り組んでいます。
ネットワークセキュリティー
現在、この問題に対する簡単な答えはなく、多くの議論の対象となっています。 現時点では、SOAPまたはXML-RPCメッセージを完全に除外する場合は、コンテンツタイプをtext/xmlに設定するすべてのHTTP POST要求を除外する可能性があります。
別の方法は、SOAPAction HTTPヘッダー属性をフィルタリングすることです。 ファイアウォールベンダーは現在、Webサービストラフィックをフィルタリングするために明示的に設計されたツールも開発しています。