🏯 もふねこ城めぐり|大分県・岡城跡

岡城跡の石垣群を歩いて考えた🐾
「多層防御」のたとえ
——ハッシュ関数と「荒城の月」は補足で

📍 岡城跡(大分県竹田市) 📅 訪問レポート 🔐 中心テーマ:多層防御(補足:ハッシュ関数)
侍もふねこ

大分県竹田市の岡城跡に行ってきたよ🐾 「荒城の月」で有名な、あの岡城!

海抜325mの山の上にそびえる石垣群を見たとき、「これはサイバーセキュリティの多層防御(Defense in Depth)にたとえられるかも」って思ったんだ。この記事は、この多層防御のたとえを中心に、石垣の話とハッシュ関数の連想は補足として紹介するね。

📝 この記事の目次

📸 岡城跡 訪問フォトレポート

🏯 岡城跡を知る——「難攻不落」の名城

岡城は、大分県竹田市にある山城です。阿蘇山の火砕流によって形成された海抜325mの険しい岩山の上に築かれ、その天然の要塞としての立地から「難攻不落」と呼ばれてきた城です。断崖絶壁は、ITで言えば外部との境目を守る『ネットワークの境界(ファイアウォール)』にたとえられます(当サイトのたとえです)。

1185年(文治元年)、緒方惟栄(おがた これよし)が源義経を迎えるために築城したと伝えられています。その後、志賀氏が居城とし、豊臣秀吉の時代には中川秀成が入城。江戸時代を通じて中川氏の居城として栄えました。

明治の廃城令により建物は取り壊されましたが、山肌に沿って幾重にも重なる巨大な石垣群が今も見事に残されています。そして何より、この城は作曲家瀧廉太郎が少年時代に見た荒れ果てた城跡の景色から「荒城の月」のインスピレーションを得たとされる場所として有名です。

📌 岡城跡の基本データ
築城:1185年(文治元年)と伝わる / 築城主:緒方惟栄(伝承) / 場所:大分県竹田市
構造:山城・標高325m / 天然の防御:阿蘇火砕流の断崖絶壁
歴代城主:緒方氏→志賀氏→中川氏(江戸時代)
現在:国指定史跡・日本100名城(No.95)/ 入城料:高校生以上300円

🛡️ 幾重もの石垣——多層防御(Defense in Depth)の教科書

岡城を実際に歩いて最も印象的なのは、石垣が何層にも重なっていることです。山の麓から頂上まで、いくつもの曲輪(くるわ)が段々に配置され、それぞれが独立した防御ラインを形成しています。

一つの石垣を越えても、次の石垣がある——この見え方を、現代のサイバーセキュリティにおける「多層防御(Defense in Depth)」の考え方にたとえます。なお、現在見えている石垣が、いつの時代のどの戦いのときの状態だったかは、この記事では確認していません。

🪨 岡城の防御構造 🔐 多層防御(サイバーセキュリティ)
断崖絶壁の岩山(地形としての障壁) ファイアウォール(ネットワーク境界)
大手門(正面入口の関門) 入口での検査(WAF・IDS/IPSなど)
何段もの石垣と曲輪(区画ごとの防御) ネットワークセグメンテーション(区画分離)
本丸への複雑な経路(迷路構造) 認証を何段階も重ねるイメージ
教授もふねこ

石垣が何層にも重なっている眺めは、「一つの防御が破られても、すぐに全体が崩れないようにする」多層防御のたとえにしやすいんだ🐾 竹田市の資料には、1586〜87年の豊薩戦争で『志賀親次』が岡城に拠って島津軍を防いだとあるよ。でもそのときの城の姿と、いま歩ける石垣が同じとは限らないから、戦いと現在の石垣を直接つなげるのは控えておくね。城の話とITの話は別物で、あくまで見立てだよ🐾

補足:現代の多層防御の4つの層(ネットワーク・アプリ・データ・監視)

🔐 多層防御の4つの防御層

現代のセキュリティでは、複数の防御層を重ねます(以下は、岡城の石垣を連想した当サイトのたとえです):

1

🌐 ネットワーク層

岡城の断崖絶壁のように、ネットワークの境界で外部からの侵入を防ぐ。ファイアウォールやVPNがこの層を担当。

2

🖥️ アプリケーション層

各曲輪の門のように、アプリケーションごとにアクセスを制御。WAF(Web Application Firewall)が、SQLインジェクションのような不正な攻撃リクエスト(敵の工作員)を遮断して守る。

3

🗄️ データ層

本丸の奥深くに秘められた軍事機密のように、データそのものを暗号化で保護。侵入されても、中身を読まれにくくできる。

4

👁️ 監視・検知層

城壁の上から敵を監視する見張り台のように、ログ監視・異常検知で不正アクセスをリアルタイムに発見する。

💡 多層防御(Defense in Depth)とは?

単一のセキュリティ対策に頼るのではなく、異なる種類の防御を複数の層で重ねる考え方です。

岡城が「難攻不落」と呼ばれてきたのは、自然の地形と人工の石垣の組み合わせが理由のひとつと考えられます(見立てです)🐾

#️⃣ 補足:石垣が残る姿とハッシュ関数の連想

岡城跡で心に残ったのは、建物はほとんど失われ、石垣が中心に残っている姿です。この眺めから、ハッシュ関数の性質をひとつだけ連想してみます。

明治6年(1873年)の廃城令の後、建物は取り壊されました。しかし石垣は——長い年月の風雨に耐え、今もなお山の上にそびえ立っています。

#️⃣

ハッシュ関数の「一方向性」と石垣(ゆるい連想)

ハッシュ関数とは、任意のデータを固定長の値(ハッシュ値)に一方向変換する関数です。重要な特性は以下の2つ:

  • 一方向性:ハッシュ値から元のデータを復元できない(不可逆)
  • 耐衝突性(Collision Resistance):同じハッシュ値になる異なる2つのデータ(「衝突」)を、現実的な計算量では見つけられないように設計されている性質

岡城に重ねると——城の建物(元データ)は失われ、石垣という手がかりが残っています。石垣から「ここに城があった」ことは分かりますが、元の城の姿を完全に復元することはできません。この「手がかりから元は戻せない」という点を、ハッシュ関数の「一方向性」にゆるく重ねました。ただし、実際のハッシュ値は元データから計算で作られる値で、石垣は城が壊れた後に残った遺構です。作られ方が違うので、性質の一部だけの連想です。

さらにハッシュ関数のもう一つの特徴は、何十階建ての巨大な城(データ)でも、小さな小屋(データ)でも、出力されるハッシュ値のサイズ(文字数)は、どんなデータでも一定だということです(石垣のたとえとは別の、ハッシュ関数の性質です)。

🏯 岡城跡の姿

  • 城の建物は全て失われた
  • 石垣だけが残り続けている
  • 石垣から城があったことは分かる
  • 石垣から元の城を完全に再現することは難しい

#️⃣ ハッシュ関数の性質

  • 元のデータから、一方向の変換でハッシュ値を作る
  • ハッシュ値だけを保存して確認に使うことがある
  • ハッシュ値で、同じデータかどうかを確かめられる
  • ハッシュ値から元データを復元することは、設計上できない
教授もふねこ

パスワードを安全に保存するのもハッシュ関数のおかげだよ🐾 サービス運営者はパスワードそのものではなく「ハッシュ値」だけを保存するんだ。さらに現代では、パスワードに『ソルト(塩)』と呼ばれるランダムなデータを混ぜてからハッシュ化することで、あらかじめ計算した表を使い回す攻撃(レインボーテーブル攻撃)に対して効きにくくなるんだ。ただし、ソルトがあっても、パスワードを推測して試す攻撃は残るから、それに強い方式(遅いハッシュ関数など)と組み合わせるよ🐾

🌙 補足:「荒城の月」とデータの永続性

🌙 荒城の月

春高楼の花の宴
めぐる盃かげさして
千代の松が枝わけいでし
むかしの光いまいずこ

作詞:土井晩翠 / 作曲:瀧廉太郎(1901年発表)

瀧廉太郎は竹田市で過ごした少年時代に、荒れ果てた岡城跡の姿を見て「荒城の月」のインスピレーションを得たとされています。

ここに暗号技術の重要な概念が隠れています——データの永続性(Data Persistence)です。

📀 データの永続性とは?

岡城の建物は消えました。しかし、瀧廉太郎が城跡を見て感じた情報(感動・印象)は、音楽という全く異なる媒体に変換されて125年以上も生き続けています。

これはITの世界における「データ・マイグレーション(システム移行)」に通じる例です。データは紙→磁気テープ→ハードディスク→クラウド→ブロックチェーンと、媒体が変わっても情報(本質)は生き続ける。暗号化やハッシュ、電子署名などの技術は、そうした移行の過程でデータを守る手段のひとつです。

城の建物が失われても歌が受け継がれたように、媒体が変わっても内容が受け継がれることがある——暗号などの技術は、そのデータを守る手段のひとつだよ🐾

🐾 まとめ——写真で見えること・たとえ・たとえの限界

今回の岡城跡訪問で考えたことを整理すると(以下は当サイトのたとえです):

  1. 幾重にも重なる石垣群は「多層防御(Defense in Depth)」にたとえやすい——一つの層が破られても、次の層がある、という考え方
  2. 補足:城の建物が失われ石垣が残る姿は、「ハッシュ関数の一方向性」をゆるく連想させる(同じ仕組みではない)
  3. 補足:「荒城の月」が歌い継がれるように、内容は媒体が変わっても受け継がれうる
  4. 補足:城の立地を支えた自然の岩盤は、暗号の安全性が数学的な困難性の仮定(素因数分解の難しさ等)に支えられていることを連想させる

🏯 城の石垣から、セキュリティを考えよう

岡城の石垣を、多層防御のたとえで眺めてみました🐾
次はハッシュ関数の仕組みを詳しく学ぼう!

🔐 ハッシュとパスワードを学ぶ 🏯 城めぐり一覧に戻る

🔗 関連する暗号技術を学ぶ