アクセス制御

アクセス制御:安全な情報へのアクセス管理



アクセス制御とは、特定の対象へのアクセスを制限、許可する仕組み、そしてそのプロセスを指します。対象となるのは、物理的な空間(部屋、建物など)からコンピュータシステム、ネットワーク上のデータ、さらにはIoTデバイスまで多岐に渡ります。 鍵のかかった部屋、指紋認証によるスマートフォンのロック解除などは、アクセス制御の身近な例と言えるでしょう。

コンピュータセキュリティにおけるアクセス制御



コンピュータセキュリティの文脈では、アクセス制御は主体(ユーザー、プロセスなど)による対象(ファイル、システム、データなど)へのアクセスを許可または拒否する仕組みを指します。読み込み、書き込み、実行といったアクセス権限を、主体ごとに細かく設定することで、情報セキュリティの三要素である機密性、完全性、可用性を高めます。

機密性 (Confidentiality): 許可された主体のみが情報にアクセスできる状態を保ちます。
完全性 (Integrity): 情報の正確性と信頼性を維持し、不正な変更を防ぎます。許可された主体のみが情報を編集できるよう制御することで実現されます。
可用性 (Availability): 必要な時に、必要な情報にアクセスできる状態を確保します。不正なアクセス要求を効率的に拒絶することでシステムの負荷を軽減し、システム全体の健全性を維持します。

これらの要素がバランスよく保たれることで、適切なユーザーのみが、完全な形で、常に必要な情報にアクセスできる理想的な状態に近づきます。

アクセス制御の破綻:不正アクセス



アクセス制御は、サイバーセキュリティにおいて極めて重要です。アクセス制御システムの脆弱性は、悪意のある第三者による不正アクセスを招き、機密情報の漏洩やデータの改ざんといった深刻な事態を引き起こす可能性があります。日本では不正アクセス行為の禁止等に関する法律によって不正アクセスは厳しく規制されています。

アクセス制御の段階:認証、認可、監査



コンピュータセキュリティにおけるアクセス制御は、一般的に以下の三つの段階から構成されます。

1. 認証 (Authentication, AuthN): 主体が自身の身元を証明する段階です。ユーザーIDとパスワードによるログインなどが一般的ですが、生体認証なども利用されます。
2. 認可 (Authorization, AuthZ): 認証された主体が、どの程度のアクセス権限を持つのかを決定する段階です。アクセス制御リスト (ACL) やロールベースアクセス制御 (RBAC) といった手法が用いられます。
3. 監査 (Audit): アクセス履歴を記録・監査する段階です。不正アクセスやセキュリティ違反の検知、原因究明に役立ちます。監査ログの記録は、説明責任 (Accountability) を担保する上で重要です。

これらの段階を通して、アクセス要求の正当性を検証し、安全なアクセスを実現します。認証・認可には、バイオメトリクス、デジタル署名、暗号化など様々な技術が用いられます。認可の実装には、ロールベースアクセス制御、アクセス制御リスト、XACMLのようなポリシー言語などが利用されます。

アクセス制御の進化:サービス連携と無人化



近年では、サービス間連携やM2M (Machine to Machine) 通信の増加に伴い、アクセス制御の複雑性が増しています。ユーザーAが利用するサービスBを、別のサービスCが利用するといったケースでは、サービスCがサービスBへのアクセスを適切に認可する仕組みが必要です。OAuthやOpenID Connectといった認可手法が、この課題に対応するために開発されています。また、IoTデバイスや機械学習システムなど、人の介在なしに機械同士が連携する状況においても、安全で効率的なアクセス制御が不可欠となっています。

主体の識別



アクセス制御において、主体(ユーザー、プロセスなど)を正しく識別することは非常に重要です。コンピュータ名、MACアドレス、IPアドレス、プロセスIDなどが識別情報として利用されます。識別を行う際には、ユーザーを個人として特定し、地位や役割による差別を避けるべきです。共有アカウントの使用は、説明責任を曖昧にし、セキュリティリスクを高めるため、推奨されません。

アクセス制御モデル



アクセス制御モデルには、いくつかの種類があります。

任意アクセス制御 (DAC): ファイルやリソースの所有者が、アクセス権限を自由に決定します。
強制アクセス制御 (MAC): システムがアクセス権限を決定します。機密性の高いデータを取り扱うシステムなどで利用されます。
ロールベースアクセス制御 (RBAC): ユーザーを役割(ロール)に分類し、役割ごとにアクセス権限を定義します。効率的な管理を実現します。
属性ベースアクセス制御 (ABAC): アクセス要求者の属性、リソースの属性、環境条件などを総合的に考慮してアクセス権限を決定します。柔軟性が高いモデルです。
アイデンティティベースアクセス制御 (IBAC): アクセス要求者の認証後、対象リソースを格納しているシステムのアクセス制御リストに委ねるモデルです。

アクセス制御の粒度



アクセス制御の粒度も重要です。

grant-or-deny: 対象全体へのアクセスを許可または拒否するシンプルな方法です。
Fine-grained access control: データの項目や値ごとにアクセス制御を行うきめ細かい方法です。

セキュリティトークン



アクセス制御には、セキュリティトークンが用いられます。トークンは、アクセス権限に関する情報を暗号化して保持しており、その検証によりアクセスの正当性を確認します。 Web Token (JWT) などが代表的な例です。アクセストークンはリソースへのアクセスを許可するトークン、IDトークンはユーザーの認証情報を保持するトークンです。OAuth 2.0やOpenID Connectといったプロトコルで利用されています。

物理セキュリティにおけるアクセス制御



物理的な空間へのアクセス制御は、警備員、鍵、カードリーダーなどの物理的な手段によって実現されます。

公共政策におけるアクセス制御



公共政策の文脈では、システムへのアクセスを制御し、行動を監視することで、セキュリティと社会統制を強化します。

アクセス制御は、情報セキュリティ、システムセキュリティ、そして社会全体の安全を守る上で不可欠な要素です。

もう一度検索

【記事の利用について】

タイトルと記事文章は、記事のあるページにリンクを張っていただければ、無料で利用できます。
※画像は、利用できませんのでご注意ください。

【リンクついて】

リンクフリーです。