メッセージの特定フィールドの暗号化と復号化

Oracle SOA SuiteおよびOracle Service BusでWebサービスとJCAアダプタ内を流れる機密データ(個人の身元を特定する情報(PII)と呼ばれる)を保護するために、メッセージのフィールドを暗号化および復号化できます。この機能は、このようなデータが管理コンソールでクリア・テキストで表示されるのを防ぐため、特定のフィールド(たとえば、SSN)を不明瞭化します。

図47-11は、サービス・バインディング・コンポーネント内でSOAコンポジット・アプリケーションに入力されるときに暗号化される受信メッセージ、および参照バインディング・コンポーネント内でSOAコンポジット・アプリケーションから出力されるときに復号化される送信メッセージを示しています。コンポジット外部のメッセージは、他のメッセージ保護ポリシー(WS-Security/SSL)によって保護できます。

図47-11 SOAコンポジット・アプリケーションでのメッセージの暗号化と復号化

図47-11の説明が続きます
「図47-11 SOAコンポジット・アプリケーションでのメッセージの暗号化と復号化」の説明

次のコードは、暗号化されていないメッセージの例を示しています。PIIフィールドは、namedriversLicenseです。

<person>
  <name>John</name>
  <driversLicense>B1234</driversLicense>
  <ssn>123-456-789</ssn>
</person>

次のコードは、nameおよびdriversLicenseフィールドが暗号化書式で暗号化されたメッセージの例を示しています。

<person>
  <name>John</name>
 <driversLicense>encrypted:fdslj[lmsfwer09fsn;keyname=pii-csf-key</driversLicense>
  <ssn>encrypted:gdf45md%mfsd103k;keyname=pii-csf-key</ssn>
</person>

暗号化書式は次のとおりです。

encrypted:<CIPHER_TEXT>;keyname:<CSF_KEY_NAME>

ノート:

PIIポリシーと認可ポリシーの両方がSOAコンポジット・アプリケーションにアタッチされている場合は、PIIポリシーの前に認可ポリシーが実行されます。これは、PIIポリシーが認可に使用されるフィールドを暗号化することがあるためです。

認可ポリシーがコンポーネントにアタッチされ、すでに暗号化されたフィールドが必要な場合は、認可は失敗します。