収入UPの転職を目指す方へ

6種類のアクセス制御の手法

  • 2015/07/08
6種類のアクセス制御の手法

今回は、アクセス制御を行う具体的な手法についてご紹介します。

IT業界まるわかりガイドは、日本初Web専門スクールのインターネット・アカデミーが運営する業界情報メディアです。最新の業界情報を、初心者にも分かりやすくご紹介しています。

目次

アクセス制御には大きく分けて 「任意アクセス制御(DAC)」「強制アクセス制御(MAC)」「コアRBAC」「階層的RBAC」 の4種類のモデルがありますが、どのモデルを採用するかによって、アクセス制御に適した手法も異なってきます。 もちろん、いくつかの異なる手法を組み合わせることもできます。

アクセス制御の手法は、以下の6種類に分けられます。

  • ルールベースのアクセス制御
  • 制約付きユーザーインターフェース
  • アクセス制御マトリクス
  • コンテンツ依存型アクセス制御
  • コンテキスト依存型アクセス制御
  • 時間ベース

ルールベースのアクセス制御(Rule based access control)

ルールベースのアクセス制御においては、サブジェクトとオブジェクトの間に、アクセスに関するルールを適用します。 サブジェクトがオブジェクトにアクセスするためには、ルールに規定された条件を満たさなければなりません。 この手法は、ファイル所有者や管理者などといった個人の属性(ID)にこだわらず、 全てのユーザーに一律にルールが適用される点に特徴があります。

ルールベースのアクセス制御は、以前は強制アクセス制御(MAC)のメカニズムとして使われてきました。 MACにおいては、全てのサブジェクトとオブジェクトにラベル(信用の度合いやグループ情報)が貼られています。 そして「サブジェクトがオブジェクトにアクセスするためには、そのオブジェクトにアクセス可能なラベルを持っていること」 というルールが規定されています。

実際にユーザーがファイルにアクセスするためには、 コンピュータがサブジェクトとオブジェクトのラベルを比較し、 アクセスできるラベルを持っていると認められた場合のみアクセスが許可されます。

現在は、この手法はMACに限らず、 ルーターやファイアーウォールといったシステムやアプリケーションでも使われるようになっています。

制約付きユーザーインターフェース(Constrained user interfaces)

あらかじめ特定タイプのアクセスや、 一定の情報へのアクセスをできないようにしておくことで、 ユーザーが限られた範囲でしかオブジェクトにアクセスできないようにします。

ユーザーは限られた操作しかできないよう、あらかじめ環境を制約されているので、 認められた範囲のオブジェクトにしかアクセスすることができません。

このタイプのアクセス制御としては、例えば銀行のATMのように、 タッチパネルによる決められた一定の操作しかできないコンピュータをイメージして下さい。

アクセス制御マトリクス(Access control matrix)

各サブジェクトが、各オブジェクトに対しどのようなアクションが可能か示した表のことです。 プログラマーが参照テーブルとしてデータ構造を構築した表をマトリクスといい、これをOSが適用し使用します。

アクセス制御マトリクスにおいては、サブジェクトは機能テーブルと結びつけられ、 オブジェクトはアクセス制御リスト(ACL)と結びつけられています。

機能テーブル

サブジェクトが主体となります。特定のサブジェクトが、特定のオブジェクトに対して持っているアクセス権を特定します。 マトリクスの「行」に当たります。

アクセス制御リスト

オブジェクトが主体となります。特定のオブジェクトに対し、アクセスが認可されているサブジェクトのリストです。 また、どのような権限が認可されているのかも定義します。マトリクスの「列」に当たります。

コンテンツ依存型アクセス制御(Content dependent access control)

サブジェクトによるオブジェクトへのアクセスが許されるかどうかは、 オブジェクトの内容がどんなものかによって決定されるという仕組みです。

データベースにおいて使用される手法で、あらかじめ、データの機密性に応じてアクセス範囲を決定しておきます。 アクセス範囲はサブジェクトのIDのみで決定されるわけではありません。

また、「機密情報」などといった言葉を探してフィルタリングをする電子メールフィルタにも、同じ手法が用いられます。

コンテキスト依存型アクセス制御(Context dependent access control)

サブジェクトによるオブジェクトへのアクセスが許されるかどうかは、 オブジェクトの集合体のコンテキスト(「文脈」という意味だが、この場合は集合体の内部状態や状況、与えられた条件などのこと)によって決定されるという仕組みです。

この手法においては、システムはまず状況確認を行った後、 オブジェクトの現在の状況に基づいて、アクセス権の有無や範囲を決定します。 IDやコンテンツの機密性のみで決定されるわけではありません。

この手法の採用例としては、ファイアーウォールがあげられます。 ファイアーウォールは最初にパケットに関する情報を収集し、状況を確認してから、 パケットがネットワークに入ってもよいか決定します。

時間ベース(Time based)

一日のうちで、システムにアクセスできる時間を一定の範囲内に制限する手法です。

例えば、会社の営業時間が朝9時から夕方6時までなら、 その時間のみシステムにアクセスできるようにし、それ以外の時間にはアクセスできないという仕組みです。