第13章 アプリケーション内のアイデンティティー
13.1. 基本概念 リンクのコピーリンクがクリップボードにコピーされました!
リンクのコピーリンクがクリップボードにコピーされました!
13.1.1. 暗号化について リンクのコピーリンクがクリップボードにコピーされました!
リンクのコピーリンクがクリップボードにコピーされました!
暗号化とは、数学的なアルゴリズムを適用して機密情報を分かりにくくすることを言います。暗号化はデータの侵害やシステム機能の停止などのリスクからインフラストラクチャーを保護する基盤の 1 つとなります。
暗号化はパスワードなどの簡単な文字列データへ適用することができます。また、データ通信のストリームへ適用することも可能です。例えば、HTTPS プロトコルはデータを転送する前にすべてのデータを暗号化します。セキュアシェル (SSH) プロトコルを使用して 1 つのサーバーから別のサーバーへ接続する場合、すべての通信が暗号化された トンネル で送信されます。
暗号化を用いた Enterprise Application Platform の保護に関する詳細は、以下のトピックを参照してください。
13.1.2. セキュリティードメインについて リンクのコピーリンクがクリップボードにコピーされました!
リンクのコピーリンクがクリップボードにコピーされました!
セキュリティードメインは JBoss Enterprise Application Platform のセキュリティーサブシステムの一部になります。セキュリティー設定はすべて管理ドメインのドメインコントローラーかスタンドアローンサーバーによって集中管理されるようになりました。
セキュリティードメインは認証、承認、セキュリティーマッピング、監査の設定によって構成されます。セキュリティードメインは Java 認証承認サービス (JAAS) の宣言的セキュリティーを実装します。
認証とはユーザーアイデンティティーを検証することを言います。セキュリティー用語では、このユーザーをプリンシプルと呼びます。認証と承認は異なりますが、含まれる認証モジュールの多くは承認の処理も行います。
承認とは、許可または禁止されている動作に関する情報が含まれるセキュリティーポリシーのことです。セキュリティー用語では、ロールと呼ばれます。
セキュリティーマッピングとは、情報をアプリケーションに渡す前にプリンシパルやロール、属性から情報を追加、編集、削除する機能のことです。
監査マネージャーは、プロバイダーモジュールを設定することでセキュリティーイベントが報告される方法をコントロールできるようにします。
セキュリティードメインを使用する場合、アプリケーション自体から特定のセキュリティー設定をすべて削除することが可能です。これにより、集中的にセキュリティーパラメーターを変更できるようにします。このような設定構造が有効な一般的な例には、アプリケーションをテスト環境と実稼動環境間で移動するプロセスがあります。
13.1.3. SSL 暗号化 リンクのコピーリンクがクリップボードにコピーされました!
リンクのコピーリンクがクリップボードにコピーされました!
SSL (セキュアソケットレイヤー) は、2 つのシステム間のネットワークトラフィックを暗号化します。接続の ハンドシェーク
フェーズで生成され、2 つのシステムのみが認識する双方向キーを使用して 2 つのシステム間のトラフィックを暗号化します。
双方向暗号化キーを安全にやり取りするため、SSL は公開鍵基盤 (PKI: Public Key Infrastructure) を利用します。PKI とは キーペア
を使った暗号化の方式です。キーペアは公開鍵と秘密鍵の2つの一致する暗号化キーで構成されます。公開鍵は共有され、データを暗号化する際に使用されます。秘密鍵は公開されず公開鍵で暗号化されたデータを復号化する際に使用されます。
クライアントが安全な接続を要求した場合、安全な通信が開始される前にハンドシェイクフェーズが実行されます。SSL のハンドシェイク中にサーバーは公開鍵を証明書としてクライアントに渡します。この証明書にはサーバーの ID (サーバーの URL)、サーバーの公開鍵、証明書を認証するデジタル署名が含まれています。その後、クライアントは証明書を検証し、この認証が信頼できるものかを判断します。この証明書を信頼する場合、クライアントは双方向の暗号キーを SSL 接続に対して生成し、サーバーの公開鍵を使用して暗号化してからサーバーに戻します。サーバーは秘密鍵を使用して、双方向暗号化キーを復号化します。その後、同じ接続でこれらの 2 つのマシンが行う通信はこの双方向暗号キーを使い暗号化されます。
13.1.4. 宣言型セキュリティー リンクのコピーリンクがクリップボードにコピーされました!
リンクのコピーリンクがクリップボードにコピーされました!
宣言的セキュリティーとは、セキュリティー管理にコンテナを使うことで、お使いのアプリケーションコードからセキュリティーの不安要素を切り離す方法のことです。コンテナは、ファイルのパーミッションまたはユーザー、グループ、ロールに基づいた承認システムを提供します。通常、このアプローチはセキュリティー関連すべてをアプリケーション自体で請け負うプログラムセキュリティーよりも優れています。
Enterprise Application Platform はセキュリティードメインより宣言的セキュリティーを提供します。