Mímisbrunnr知恵の泉

← サイバーセキュリティ 一覧

🎓 レベル:基礎 | 重要度:A(必須) 📎 前提:なし(ここが出発点)

要点(BLUF)

概念:セキュリティは「3つの性質」を守ること

情報セキュリティと聞くと暗号やファイアウォールを思い浮かべがちですが、それらは手段です。目的はいつも次の3つ(CIA トライアド)に分解できます。

この3つは独立した軸で、ときにトレードオフします。たとえば可用性を最大化しようと全員にアクセスを開けば機密性が下がります。だから「全部を最大」ではなく、対象ごとにどの性質が重要かを決めるのが設計の出発点です。

仕組み:CIAと対策の対応

各性質には、それを守る代表的な技術が対応します。

性質守りたいこと代表的な防御
機密性読まれない暗号化・アクセス制御・最小権限
完全性改ざんされないハッシュ・デジタル署名・MAC
可用性止まらない冗長化・バックアップ・レート制限

完全性の土台はハッシュと署名で、詳しくは 対称鍵暗号とハッシュデジタル署名と証明書(PKI) で扱います。機密性の土台である暗号は 暗号の基礎 目次 へ。

図解:CIAと、それを運用するAAA

CIA が「守る対象」だとすると、それを日々まわすのが AAA です。

flowchart TD
    subgraph CIA["守る対象(CIA)"]
        C["機密性(Confidentiality)"]
        I["完全性(Integrity)"]
        A["可用性(Availability)"]
    end
    subgraph AAA["運用する仕組み(AAA)"]
        AU["認証(Authentication)あなたは誰か"]
        AZ["認可(Authorization)何をしてよいか"]
        AC["監査(Accounting)何をしたか"]
    end
    AU --> AZ
    AZ --> AC
    AAA -->|"アクセスを制御してCIAを支える"| CIA

防御側の使い方:AAAを順番に効かせる

AAA は「順番」が大事です。守る側はこの3段を必ず通します。

  1. 認証(Authentication):通信相手が名乗るとおりの本人か確かめる。パスワード・MFA・証明書など。詳細は 認証の基礎(パスワード保存とMFA)
  2. 認可(Authorization):本人だと分かった上で、その人がこの操作をしてよいかを判定する。役割ベース(RBAC)などで アクセス制御モデルとゼロトラスト へ。
  3. 監査/アカウンティング(Accounting/Audit):誰がいつ何をしたかを記録する。事後の追跡と異常検知の材料になり、ログと監視(SIEM/SOC) につながる。

認証と認可を混同すると事故になります。「ログインできた=何でもしてよい」ではありません。認証は入口、認可は各扉の鍵です。

なぜ安全か:性質ごとに守ると漏れがなくなる

攻撃手口は無数にありますが、それが最終的にどの性質を侵すかで整理すると守りの抜けが見えます。情報漏えいは機密性、改ざん・なりすましは完全性、サービス停止(DoS)は可用性への攻撃です。「この資産で一番守りたいのは CIA のどれか」を先に決めると、過剰でも不足でもない対策が選べます。

仕組みの直観

CIA は家の守りに例えると分かりやすいです。機密性=カーテンと金庫(中を見せない)、完全性=書類が勝手に書き換わらない保証(封印)、可用性=玄関がいつでも開く(停電・故障で締め出されない)。AAA はそれを運用する受付で、入館証の確認(認証)→入れる部屋の指定(認可)→入退館記録(監査)の流れです。

⚠️ よくある誤解・設定ミス

対応 lab

この回は概念整理のため lab はありません。完全性を支えるハッシュの一方向性は、第2章の security-study/labs/hash_oneway_demo.py で実際に観察します。

関連