13

OWASP Web Service Securityに従って Web サービス セキュリティを適用したい。これにより、次の 2 つの点につまずきました。

  1. メッセージの整合性
  2. メッセージの機密性

これまでのところ、クライアントから直接アクセスできる RESTful サービスしかありません。リクエストごとに、クライアントはサーバーによって認証される必要があります。すべての通信は TLS によって保護されます。Message Integrity文が理解できないので、今は確信が持てません:

公開鍵暗号方式を使用する場合、暗号化によって機密性は保証されますが、受信者の公開鍵は公開されているため、完全性は保証されません。同じ理由で、暗号化は送信者の身元を保証しません。

メッセージの整合性を確保するために、データがクライアントによって署名されていることも必要ですか? TLS はポイントツーポイントのみですが、プロキシについてはどうですか?

についてMessage Confidentialityは、以下のように理解しました。

  1. TLS を使用して、ネットワーク上でメッセージの機密性を確保します。
  2. 対称暗号化を使用して、送信データを暗号化します。
  3. 暗号化されたデータはデータベースに保存されます。

私はそれを正しく理解しましたか?

4

2 に答える 2

15

TLS仕様から:

TLS プロトコルの主な目的は、通信する 2 つのアプリケーション間でプライバシーとデータの整合性を提供することです。[...]

  • 接続はプライベートです。データの暗号化には対称暗号方式が使用されます (例: DES [DES]、RC4 [SCH] など)。[...]

  • 接続は信頼できます。メッセージ トランスポートには、キー付き MAC を使用したメッセージの整合性チェックが含まれます。MAC の計算には、安全なハッシュ関数 (SHA、MD5 など) が使用されます。レコード プロトコルは MAC なしで動作できますが、通常、別のプロトコルがセキュリティ パラメータをネゴシエートするためのトランスポートとしてレコード プロトコルを使用している間、このモードでのみ使用されます。

したがって、TLS は、正しく使用されていれば、転送中にメッセージの完全性と機密性を提供します。

特に、クライアントは証明書を検証して、正しいサーバーと通信していることを確認する必要があります (証明書が本物であり、信頼できる機関によって発行され、接続しようとしているホスト名に発行されていることを検証します)。

  • TLS を使用して、ネットワーク上でメッセージの機密性を確保します。
  • 対称暗号化を使用して、送信データを暗号化します。

TLS は、暗号化によって機密性を提供します。(適切な暗号スイートを使用する必要があります。特に、匿名暗号スイートや暗号スイートは暗号化を無効にしませんが、デフォルトでは常にそうです。)

  • 暗号化されたデータはデータベースに保存されます。

データベース内のデータを暗号化したい場合、それは別の問題です。TLS は、転送中の整合性と機密性のみを提供します。Web アプリケーションによって処理されると、解読されます。

TLS はポイントツーポイントのみですが、プロキシについてはどうですか?

HTTP プロキシは、TLS トラフィックを調べたり変更したりせずに、そのまま中継するだけです。(一部のプロキシ サーバーはトラフィックを傍受できますが、証明書の確認を忘れない限り、証明書の検証は失敗します。)

于 2013-08-23T00:45:39.127 に答える
7

TLS はメッセージの完全性とデータ転送の機密性を保証しますか?

はい。

RESTful Java エンタープライズで

無関係。答えはまだイエスです。

公開鍵暗号方式を使用する場合、暗号化によって機密性は保証されますが、受信者の公開鍵は公開されているため、完全性は保証されません。同じ理由で、暗号化は送信者の身元を保証しません。

無関係。TLS は公開鍵暗号ではありません。この文脈では、これらの発言の要点が本当にわかりませんが、正しくありません。暗号化の形式だけでは、完全性または同一性を保証することはできません。そのためには、追加の手段が必要です。キーが公開されていることも、それとは無関係です。

メッセージの整合性を確保するために、データがクライアントによって署名されていることも必要ですか?

いいえ。安全な HMAC も同様に機能し、TLS はそれらの 1 つを使用します。TLS は、認証段階でデジタル署名を使用します。

TLS はポイントツーポイントのみですが、プロキシについてはどうですか?

プロキシは、それ自体の信頼できる TLS エンドポイントであるか、透過的なバイト パッシング プロキシであり、エンドポイントとしてのピア間で TLS のプロパティを保持します。

メッセージの機密性については、次のように理解しました。

TLS を使用して、ネットワーク上でメッセージの機密性を確保します。

正しい。

対称暗号化を使用して、送信データを暗号化します。

TLS はそれを行います。

暗号化されたデータはデータベースに保存されます。

いいえ。暗号化されたデータは、ネットワークから離れたピアによって復号化されます。ピアがデータベースに対して再暗号化することも、データベースがそれを行うこともできますが、それは別の問題です。

于 2013-08-23T07:45:13.893 に答える