はじめに
情報セキュリティの基本概念「CIAトライアド」の中で、完全性(Integrity) は「情報が改ざんされないこと」を保証する重要な要素です。
Bibaモデルは、1977年に Kenneth J. Biba によって提案され、不正なデータ改ざんや汚染を防ぐこと を目的としています。
Bibaモデルとは?
- 1977年に発表。
- 「データの信頼性・正確性を維持する」 ためのアクセス制御モデル。
- Bell-La Padula と対になる存在:
- Bell-La Padula = 「情報を漏らさない」
- Biba = 「情報を壊さない」
基本概念
-
完全性レベル(Integrity Level)
- 情報や主体は「どれだけ信頼できるか」というレベルを持ちます。
- 例:Highly Trusted、Medium Trusted、Untrusted。
-
主体と客体
- 主体(ユーザー/プロセス)が客体(ファイル/データベース)にアクセスする際に「改ざんリスクがないか」を重視。
主要ルール(Bibaの二大原則)
1. Simple Integrity Property(単純完全性特性)
- 「No Read Down」(下位レベルからの読み取り禁止)
- 主体は、自分より 信頼性の低いデータを読めない。
- 理由:汚染されたデータを取り込んでしまう危険があるから。
2. Star Integrity Property(*-Property)
- 「No Write Up」(上位レベルへの書き込み禁止)
- 主体は、自分より 高い完全性レベルのデータへ書き込めない
- 理由:信頼性の低い主体が高レベルデータを汚すのを防ぐ
図解で理解する Biba
Mermaid 図での表現
- 点線矢印:下位レベルから 読むの禁止(No Read Down)
- 実線矢印:上位レベルへ 書き込み禁止(No Write Up)
上下関係イメージ図
↑ 書き込みは禁止(No Write Up)
│
│ ┌───────────────┐
│ │ High Integrity│ ← 信頼性が最も高い
│ └───────────────┘
│ ┌───────────────┐
│ │Medium Integrity│
│ └───────────────┘
│ ┌───────────────┐
│ │ Low Integrity │ ← 信頼性が低い
│ └───────────────┘
│
↓ 読み取りは禁止(No Read Down)
具体例
- 「会計システム」を考えます。
- 会計監査官 = High Integrity
- 一般社員 = Medium Integrity
- 外部からの入力データ = Low Integrity
- 一般社員は、外部の怪しい入力データを 読めない(No Read Down)。
- 一般社員は、監査官用の高信頼データベースに 書き込めない(No Write Up)。
➡ これにより、信頼性の低いデータが重要データに混ざるのを防止できます。
Bell-La Padula vs Biba の比較
モデル | 重視する要素 | 主要ルール | キャッチフレーズ |
---|---|---|---|
Bell-La Padula | 機密性(Confidentiality) | No Read Up / No Write Down | 「漏らさない」 |
Biba | 完全性(Integrity) | No Read Down / No Write Up | 「壊さない・汚さない」 |
まとめ
- Bibaモデルは「完全性」を守るためのセキュリティモデル
- 情報が「下から汚染されない」「上に書き込めない」というルールで改ざんを防ぐ
- Bell-La Padula と対比することで、セキュリティの多角的理解が深まる