セキュリティパターンは 、セキュリティ分野における目標達成のために適用できます。古典的なデザインパターンはすべて、機密性、完全性、可用性といった情報セキュリティの 目標を達成するために、さまざまな形で実装されています。さらに、特定のセキュリティ目標を達成するために、新しいデザインパターンを作成することも可能です。
既存のセキュリティパターン パターンコミュニティは、パターン言語プログラム (PLoP)カンファレンスのワークショップで議論されたセキュリティパターンのコレクションを提供しました。それらは統合され、共同プロジェクトとして公開されています。[ 1 ]
オープングループは、 文書化された一連のセキュリティパターンを提供している。
利用可能なシステムパターン これらは、資産の可用性に関わるパターンです。資産とは、ユーザーに提供されるサービスまたはリソースのことです。
チェックポイント型システム パターンとは、コンポーネントの障害発生時にレプリケーション を利用して復旧を行う設計を指す。スタンバイパターンの 目的は、障害が発生したコンポーネントのサービスを再開できる代替コンポーネントを提供することです。 コンパレータチェック型耐障害性システム パターンは、コンポーネントの故障のない動作を監視する方法を提供する。複製システム パターンとは、冗長なコンポーネントの設計と、サービスの利用不能になる可能性を低減するための負荷分散およびリダイレクト手段を指します。エラー検出/訂正 パターンは、エラーを推測し、可能であれば修正することで、正しい情報交換または保存を保証することを目的としています。
保護されたシステムパターン これは、機密データのアクセスと使用を管理する手段を提供することで、情報の機密性と完全性に関わる一連のパターンです。
保護システム パターンでは、リソースを所有する参照モニターまたはエンクレーブが提供され、アクセスするにはこれを迂回する必要があります。モニターは単一のポイントとしてポリシーを適用します。デザインパターンでは 、これを「保護プロキシ」と呼びます。
ポリシーパターンは 、ポリシーを通常のリソースコードから分離するためのアーキテクチャです。認証されたユーザーは、セキュリティコンテキスト(例えばロール)を所有しており、それがリソースのガードに渡されます。ガードはポリシー内で、このユーザーのコンテキストとルールが一致するかどうかを確認し、リソースへのアクセスを許可または拒否します。
認証パターンは、プラグイン可能な認証モジュール 、 またはJava認証および認可サービス (JAAS)とも呼ばれます。
主題記述子 パターンセキュアな通信は 、シングルサインオンやRBACに似ています。セキュリティコンテキスト は、通信保護プロキシ、セキュリティコンテキスト、およびサブジェクト記述子パターンの組み合わせです。セキュリティアソシエーションは 、セキュアな通信パターンを拡張したものです。セキュアプロキシ パターンは、多層防御に利用できます。
Java EE、XML Webサービス、およびID管理のためのセキュリティパターン出典:[ 2 ]
これは、Sun Java Center – Sun Microsystemsの エンジニアであるRamesh Nagappan氏とChristopher Steel氏によって開発されたセキュリティパターンのセットであり、多層Java EEエンタープライズアプリケーションやXMLベースのWebサービスにエンドツーエンドのセキュリティを組み込むのに役立ち、シングルサインオン認証 、多要素認証 などのWebアプリケーションにおけるID管理を可能にし、WebベースアプリケーションにおけるIDプロビジョニングを可能にします。
認証エンフォーサー パターンは、認証プロセスを管理および委任するために使用できます。認可エンフォーサー パターンは、認可プロセスを管理および委任するために使用できます。バリデーター パターンをインターセプトすることで、クライアントからの入力データのセキュリティ検証を実行できます。セキュアベースアクション パターンは、セキュリティタスクの処理をベースアクションクラスに集中させる方法を示しています。セキュアロガー パターンは、機密データのログ記録と改ざん防止ストレージの確保に使用できます。セキュアセッションマネージャーは、 セッション情報の処理を安全に一元化する方法を示しています。Webエージェントインターセプター パターンは、インターセプターメカニズムを使用してWebアプリケーションのセキュリティを提供する方法を示しています。難読化転送オブジェクト パターンは、転送オブジェクト内およびアプリケーション層間で受け渡されるデータを保護する方法を示しています。監査インターセプター パターンは、セキュリティ関連のイベントをキャプチャしてログ記録と監査をサポートする方法を示しています。メッセージインスペクター パターンは、セキュリティトークンと組み合わせたXML署名 やXML暗号化 など、XMLメッセージレベルのセキュリティメカニズムの検証と妥当性確認を示します。メッセージインターセプターゲートウェイ パターンは、受信および送信XML Webサービスメッセージのセキュリティ適用を一元化するための単一エントリポイントソリューションを示します。これにより、Webサービスエンドポイントとの安全な通信に必要なトランスポートレベルおよびメッセージレベルのセキュリティメカニズムを適用できます。セキュアメッセージルーター パターンは、メッセージレベルのセキュリティを採用する複数のパートナーエンドポイントとの安全なXML通信を可能にします。これはセキュリティ仲介コンポーネントとして機能し、メッセージレベルのセキュリティメカニズムを適用してメッセージを複数の受信者に配信します。受信者はメッセージの必要な部分のみにアクセスでき、残りのメッセージ断片は機密情報として扱われます。シングルサインオン(SSO)デリゲーター パターンは、シングルサインオン(SSO)のためにレガシーシステム を処理するデリゲーターエージェントを構築する方法を説明します。アサーションビルダー パターンは、IDアサーション(例えば、認証アサーションや認可アサーション)を構築する方法を定義します。資格情報同期 パターンは、IDプロビジョニングを使用して複数のアプリケーション間で資格情報とプリンシパルを安全に同期する方法を説明します。
参考文献 ↑ マルクス・シューマッハ、エドゥアルド・フェルナンデス=ブリオーニ、デュアン・ハイバートソン、フランク・ブッシュマン、ピーター・サマーラッド。セキュリティ パターン: セキュリティとシステム エンジニアリングの統合、ソフトウェア デザイン パターンの Wiley シリーズ、2005 年。 ↑ Ramesh Nagappan、Christopher Steel。『コアセキュリティパターン:J2EE、Webサービス、およびアイデンティティ管理のためのベストプラクティスと戦略』、Prentice Hall、2005年。
外部リンク N. 吉岡、H. 鷲崎、K. 丸山、「セキュリティパターンに関する調査」、Progress in Informatics、第5号、pp. 35–47、(2008) オープン・グループ・セキュリティ・パターン・ガイド マイクロソフト パターン&プラクティス グループ ラメシュ・ナガッパン著、『J2EEアプリケーション、Webサービス、ID管理、およびサービスプロビジョニングのためのセキュリティパターン』