アクセス制御
























アクセス制御(アクセスせいぎょ、Access Control)は、物理セキュリティ、コンピュータセキュリティ、ネットワークセキュリティなどにおいて各々下記の意味を持つ。




目次






  • 1 物理セキュリティのアクセス制御


  • 2 コンピュータセキュリティのアクセス制御


    • 2.1 識別と認証


    • 2.2 認可


    • 2.3 説明可能性(accountability)


    • 2.4 アクセス制御モデル




  • 3 通信におけるアクセス制御


  • 4 公共政策のアクセス制御


  • 5 関連項目


  • 6 脚注





物理セキュリティのアクセス制御


物理セキュリティにおいては、敷地や建造物、部屋などの入り口で、許可された人だけに入場を制限することを指す。このような物理的アクセス制御は、警備員、用心棒、受付係などの人間によって、あるいは鍵と錠などの機械的手段、カードによるアクセスシステムなど技術的手段によって実現される。



コンピュータセキュリティのアクセス制御


コンピュータセキュリティにおけるアクセス制御とは、あるサブジェクト(能動体、人間やプロセス)が、どのオブジェクト(受動体、システムやファイル)に対して、どのアクセス(読み/書き/実行)ができるかを許可したり拒否したりする機能を指す。


コンピュータセキュリティによるアクセス制御は、認証 (authentication)、認可 (authorization)、監査 (audit) からなる。それらは、物理的機器による手段としてバイオメトリクス、金属錠、デジタル署名、暗号化、社会的障壁、人間や自動化システムによる監視などを含む。認可は、ロールベースアクセス制御、アクセス制御リスト、XACMLのようなポリシー言語などで実装される。


アクセス制御システムは、基本サービスとして、識別と認証 (identification & authentication、I&A)、認可 (authorization)、説明可能性 (accountability) を提供する。識別と認証はシステムにログインできる者を決定し、認可は認証された者ができることを決定し、説明可能性はそのユーザーが何をしたかを特定する。



識別と認証


識別と認証 (I&A) は、システムにログインできる者を決定する2段階の処理である。識別は、ユーザー自身が誰であるかをシステムに伝える方法を意味する(例えばユーザー名などを使う)。アクセス制御システムの識別機構は、ユーザー名やユーザーIDに基づいた比較的簡単な機構である。システムやプロセスの場合、識別は一般に次のような情報に基づく。



  • コンピュータ名


  • MACアドレス(Media Access Control)

  • IPアドレス


  • プロセスID (PID)


識別は次のような方針に基づいて行われる。



  • ユーザーを完全に個人として特定する。

  • ユーザーの地位や組織における重要性などで区別すべきでない(社長やCEOを特別扱いしない)。

  • 共有アカウントを使うのを避ける(root、admin、sysadminなど)。


共有アカウントは説明可能性を否定することにつながり、クラッカーからも狙われやすい。


認証はユーザーが主張する識別情報を照合する(例えば、入力されたパスワードとシステムに記憶されているパスワードとを比較する)。


認証は次の3つのいずれかに基づいて行われる。



  • 知識:パスワードや個人識別番号 (PIN) など。そのパスワードやPINを所有者以外は知らないことが前提となる。

  • 所有物:スマートカードやトークンなど。アカウントの所有者だけが必要なスマートカードやトークンを持っていることが前提となる。

  • 生体:指紋、声、網膜、虹彩の特徴など。



認可


認可(または確立; establishment)は、システム上のユーザーの権利と許可情報(パーミッション)を決定する。ユーザー(利用者やプロセス)が認証されると、認可機構によってそのユーザーがシステム上でできることが決定される。


最近のオペレーティングシステムは、以下の3種類の基本型を拡張した許可情報を定義している。



  • 読込み (R): ユーザーは

    • ファイルの内容を読むことができる

    • ディレクトリ内容をリスト表示できる



  • 書込み (W): ユーザーはファイルやディレクトリを次のような処理によって変更することができる:

    • 追記/追加

    • 生成/作成

    • 削除/消去

    • 改名



  • 実行 (X): ファイルがプログラムなら、ユーザーはそれを実行させることができる。ディレクトリならそこに入ることができる(カレントディレクトリ)。


これらの権利と許可の実装は、「任意アクセス制御」(DAC) を使うシステムと「強制アクセス制御」(MAC) を使うシステムとでは異なる。



説明可能性(accountability)







アクセス制御モデル


アクセス制御モデルは、任意アクセス制御と強制アクセス制御と大別されるほか、複数のモデルが提示されている。



  1. 任意アクセス制御 (DAC)

    任意アクセス制御 (Discretionary Access Control) はファイル(あるいは他のリソース)の所有者がアクセス方針を決定する。所有者がアクセスを許可する人を決め、その人への認可(与えられる権利)も決定する。


  2. 強制アクセス制御 (MAC)

    強制アクセス制御 (Mandatory Access Control) は所有者ではなくシステムが決定するアクセス方針である。MACが使われるのは政府や軍の情報のような機密データを扱う多重レベルシステムである。多重レベルシステムとは、サブジェクトやオブジェクトを複数のレベルにクラス分けするコンピュータシステムを意味する。


  3. ロールベースアクセス制御 (RBAC)

    ロールベースアクセス制御 (Role-Based Access Control) は、サブジェクト(アクセスする主体)とオブジェクト(対象)の中間に「ロール(役割)」の概念をおくモデルである。「ロール(役割)」はサブジェクトとなるユーザほど頻繁には変わらず、オブジェクトへのアクセス権限はロール(役割)に応じて規定されるという仮定に基づいて、効率的な運用管理を指向している。


  4. 属性ベースアクセス制御 (ABAC)

    属性ベースアクセス制御 (Attribute-Based Access Control) は、「アクセス要求者の属性」と「対象リソースの属性」を比較し、その際に環境条件も加味するルールエンジンにおいて、指定するポリシーの論理式を適用してアクセスの可否を決定するモデルである[1]。管理ドメイン外からのアクセス要求に応えてアクセス制御できる。


  5. アイデンティティベースアクセス制御 (IBAC)
    アイデンティティベースアクセス制御は、アクセス要求者の認証のあとは対象リソースを格納しているシステムのアクセス制御リストに委ねるモデルである。




通信におけるアクセス制御


アメリカ合衆国規格 (Federal Standard 1037C) では、通信におけるアクセス制御は以下のような意味をもつと定義している。



  1. 通信システムの構成要素の使用を許可するかしないかを指定されるサービス機能/技術(例えば電話の各種サービスをユーザーが使えるか使えないかなど)

  2. 個人またはアプリケーションプログラムが記憶装置からデータを得るかまたは書込む権利を定義または制限する技術。これには、ロールベースアクセス制御、強制アクセス制御、任意アクセス制御がある。

  3. 個人またはアプリケーションプログラムが記憶装置からデータを得るかまたは書込む権利の定義または制限

  4. 情報処理システム (automated information system, AIS) のリソースにアクセスできるユーザー、プログラム、プロセスなどを制限する処理

  5. ユーザー要求に対してシステムのリソースを割り当てるリソース割当て機 (resource allocator) の機能



公共政策のアクセス制御


公共政策において、システムへのアクセスを制限(認可)し、システム内の行動を監視記録(説明可能性)するアクセス制御は、セキュリティや社会統制のための信頼できるシステムで実装される機能である。



関連項目



  • アイデンティティ管理

  • アクセス制御リスト


  • ファイルパーミッション - ファイルの許可情報


  • Capability-based security - ケイパビリティに基づくアクセス制御

  • リージョンコード

  • 不正競争防止法

  • 最小権限の原則



脚注





  1. ^ SP 800-162, Guide to Attribute Based Access Control (ABAC) Definition and Considerations (PDF)”. NIST (2014年1月). 2015年11月28日閲覧。









Popular posts from this blog

MongoDB - Not Authorized To Execute Command

in spring boot 2.1 many test slices are not allowed anymore due to multiple @BootstrapWith

How to fix TextFormField cause rebuild widget in Flutter