メッセージの特定フィールドの暗号化と復号化
Oracle SOA SuiteおよびOracle Service BusでWebサービスとJCAアダプタ内を流れる機密データ(個人の身元を特定する情報(PII)と呼ばれる)を保護するために、メッセージのフィールドを暗号化および復号化できます。この機能は、このようなデータが管理コンソールでクリア・テキストで表示されるのを防ぐため、特定のフィールド(たとえば、SSN)を不明瞭化します。
図47-11は、サービス・バインディング・コンポーネント内でSOAコンポジット・アプリケーションに入力されるときに暗号化される受信メッセージ、および参照バインディング・コンポーネント内でSOAコンポジット・アプリケーションから出力されるときに復号化される送信メッセージを示しています。コンポジット外部のメッセージは、他のメッセージ保護ポリシー(WS-Security/SSL)によって保護できます。
次のコードは、暗号化されていないメッセージの例を示しています。PIIフィールドは、name
とdriversLicense
です。
<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ポリシーが認可に使用されるフィールドを暗号化することがあるためです。
認可ポリシーがコンポーネントにアタッチされ、すでに暗号化されたフィールドが必要な場合は、認可は失敗します。