セキュリティアーキテクチャ

アーキテクチャとは、 ある目的を実現するための設計方針、設計思想または、それに必要な構造や 仕組み または、そのフレームワークのことです。
例えば、エンタープライズ アーキテクチャ(Enterprise Architecture:EA)であれば、 企業活動(Enterprise)において、組織能力を高めるために、無駄なIT投資を抑えて最適なIT戦略を策定するための フレームワークとして使われる用語です。
つまりセキュリティアーキテクチャ(Security Architecture:SA)とは、 セキュリティ確保の設計方針や設計思想または、それに必要な仕組みを実現のため フレームワークのことです。そして、セキュリティアーキテクチャでは次のように特化した用語があります。

ここで、システムセキュリティアーキテクチャについて説明すると、 システムアーキテクチャをセキュリティの観点で捕らえたものと言えます。
具体的には、ハードウェアやオペレーティングシステムで「マルチレベルセキュリティ」を 実現するための仕組みです。
これを高い信頼性で満たすシステムを 「高信頼性コンピューティング基盤」と呼び、 標準化団体 TCG (Trusted Computing Group)によ り規格さています。

マルチレベルセキュリティ」とは、 多層的な権限があり、利用者(またはプロセス)が自分の権限のない情報区分にアクセスすること防ぐシステムで、 そのためには、アクセス制御を保証するために「リファレンスモニター」の実装が必要とされています。
リファレンスモニター(Reference Monitor)」には、 「利用する資源へのアクセスがモニターを迂回することができないこと」 「それ自身が改ざんできないこと」 「実装が十分にシンプルで安全であることが証明できること」 が求められており、 セキュリティポリシーやアクセスコントロールで制御され、結果は監視ファイルに記録される仕組みを持っています。


なお、上記のセキュリティアーキテクチャを実装しても、 それを評価して認定する基準がなければ判断できません。 そこで生まれたのがトラステッド・コンピュータ・システム評価基準です。 「TCSEC(Trusted Computer System Evaluation Criteria)」は、 米の情報機関である「国家安全保障局(NSA:National Security Agency)」の 下部組織「NCSC(National Computer Security Center)」が発行したセキュリティ評価基準ガイドラインです。 そこでは、OSのセキュリティレベルをクラスD、C1、C2、B1、B2、B3、A(クラスAが最高、Dが最低レベルのセキュリティ)に分けていました。 その後規格化されて、現在では「Common Criteria for Information Technology Security Evaluation」、 通称「コモンクライテリア(CC)」として標準化されています。(ISO/IEC 15408)。
そこでは、評価保証レベル(EAL - Evaluation Assurance Level)が EAL7, EAL6, EAL5, EAL4, EAL3, EAL2, EAL1 の7段階に格付けされています。

セキュリティポリシーモデル

上記のリファレンスモニタで扱うセキュリティポリシーとは、「どの主体が、どの対象物をどのように操作できるか」を正確に規定したもです。 一般的に、「主体」は「サブジェクト(Subject)」、対象物は「オブジェクト(Object)」と呼ばれています。 このサブジェクトとオブジェクトの関係を形式的に定義したものがセキュリティポリシーモデルです。
以下で代表的なセキュリティポリシーモデル概要を示します。

Bell-LaPadula モデル( ベル・ラパドゥラモデル)((BLPモデル)

1973年に米国空軍の要請によってDavid Bell氏と、Len Lapadula氏によって提案され、「機密性」に特化したアクセス制御モデルです。 多階層セキュリティモデルとして知られ、一般的にはMLS(Multilevel Secure)と呼ばれている。 高いセキュリティレベルのデータを読むことを出来なくし、低いセキュリティレベルへデータを書き込むことを出来なくする考え方です。 低いセキュリティレベルへの書き込み権限を無くすことで、低いレベルへの漏洩を不可能にしています。

Bibaモデル 

Ken Biba氏により提案され、「完全性」に特化したモデルである。(BLPモデルと対象的な特徴) 高い完全性レベルに書き込むことを出来なくし、低い完全性レベルを読むことことを出来なくする考え方です。
これは金銭などの改ざんができない完全性を保つ場合の考え方で、上位の詳細情報を読めるが、下位詳細情報は読めないようにして、 下位の精度情報を変更できるが、上位の精度情報を変更(書き込み)できない手法です。

任意アクセス制御(DAC)

 任意アクセス制御(DAC:Discretionary Access Control)では,オブジェクト(ファイルなど)の所有者が,メンバーの属性ごとに権限を設定します。
 例えば,「持ち主(Owner)」,「グループ(Group)」,「全員(Everyone)」など,各ファイルやディレクトリにアクセスしてくるメンバーの属性ごとに, 「読み取り(Read)」,「書き込み(Write)」,「実行(eXecute)」などの権限を決めて,それに従ってアクセスを制御します。
LinuxやUNIXが標準で採用しているファイルへのアクセス制御方式が,この任意アクセス制御方式です。
これは、持ち主が任意にアクセス権限を変更できる利便性がある反面、 その設定によって他人のアクセスを許すことが可能になります。

強制アクセス制御(MAC:Mandatory Access Control)

操作主体と操作対象それぞれのセキュリティ・レベルを段階分けして,その段階(レベル)を比較することで強制的にアクセス権限を決定する方式です。 操作主体(サブジェクト)はユーザーやアプリケーション,操作対象(オブジェクト)はファイルやディレクトリが該当します。
例えば,アクセス権限は以下のルールに従うものとして運用します。
操作主体のレベル ≧ 操作対象のレベル :読み取りが許可される
操作主体のレベル ≦ 操作対象のレベル :書き込みが許可される