【バルス】滅びの呪文のセキュリティ【天空の城ラピュタ】
みんな大好き、スタジオジブリの名作「天空の城ラピュタ」。映画がテレビで放送されるたびに盛り上がっています。
作中では、登場人物のパズーとシータが滅びの呪文「バルス」を唱えることでラピュタ城が崩壊し、物語が幕を閉じます。
たった3文字の言葉で城が崩壊してしまうのは不味いのでは?ラピュタのセキュリティは大丈夫なのか?という話題が、エンジニア界隈でいつも議論になっています。
この記事では、バルスの発動条件を考察してみます。
多要素認証
まずは、セキュリティの重要な要素である多要素認証をおさらいします。
ひと昔前のシステムはID/パスワードだけで認証が行われていましたが、これらは外部に流出しただけで認証を乗っ取ることができ、大きな被害が出てしまいます。
現代では、ID/パスワード以外の物理的に異なる認証手段を組み合わせることで、セキュリティを強化するのが一般的です。
以下のような認証手段があります。二つ以上を組み合わせたときに多要素認証が成立します。
知識情報
本人しか知り得ない情報を用いる認証です。
他人にバレたり、総当たりで調べられるリスクがあるため、単体で使用するのはよろしくありません。
- パスワード
- 暗証番号
- 合言葉
所持情報
本人しか持っていない物理的な道具を用いる認証です。
遠隔で利用できないため強固な認証手段ですが、盗まれないよう気を付ける必要があります。
- ICカード(マイナンバーカード、キャッシュカードなど)
- 携帯電話のSMS認証
- ソフトウェアトークン(Google Authenticatorなど)
- ハードウェアトークン
- 鍵
生体情報
本人の身体的な特徴を用いる認証です。
盗まれないためかなり安全ですが、顔認証など複製しやすいものもあるため注意が必要です。
- 指紋認証
- 静脈認証
- 網膜認証
- 顔認証
バルス発動までの流れ
では、これらを踏まえて物語を見ていきましょう。
(1)「困った時のおまじない」をシータが唱える
物語中盤、軍に捕まっているシータは、祖母から困ったときのおまじないとして聞かされていた「リテ・ラトバリタ・ウルス・ アリアロス・バル・ネトリール」という呪文を唱えます。
これはラピュタの封印を解く言葉であり、飛行石自体も活性化し、ラピュタ城を指し示す「聖なる光」を発するようになります。ラピュタの機能全般が活性化し、ロボット兵も反応して活動を再開します。
つまり、「ラピュタにログインする」「ラピュタのスリープモードを解除する」機能と言えそうです。
聖なる光も、セッションが確立したと解釈できますね。
Wikipediaによると、飛行石はラピュタ王家の血を引く者が口にする言葉に反応する(発動には石の継承者自身が首にかけるか手で持つ必要がある)とのことなので、知識認証(呪文)・所持認証(飛行石の所持)・生体認証(王家の血筋)をすべて満たしています。
(2)ムスカによるラピュタの操作
物語終盤、ムスカはシータから手に入れた飛行石を使って、ラピュタ城の中枢部にある黒い石板の端末を操作し、兵器を起動させています。
端末がある部屋は王家の人間しか入室資格を得られず、ムスカの部下や軍人は入れない描写があります。データセンター並みの物理セキュリティは確保されています。
ただ、飛行石さえ持っていれば、封印を解いた(ログインした)シータでなくても操作できるようです。
これは良くないですね。セッションが乗っ取られてしまいました。
認証トークン管理の重要性がわかります。
ムスカは王家の分家の血筋らしいので、先ほどの認証要素のうち所持認証、生体認証を満たしています。
王家の血筋なら誰でも良いのであれば、共用アカウント的な設計になっているのかもしれません。
(3)バルス
飛行石を取り戻したシータとパズーは、滅びの呪文「バルス」を一緒に唱えます。
ラピュタ城の巨大飛行石が上方に飛んでいき、城が自壊してしまいます。
エネルギーの供給源である巨大飛行石を放棄することでラピュタの維持機能を停止させる、シャットダウンコマンドのようなものなのでしょう。
シータ・パズー「sudo shutdown -h now」
城を崩壊させるような危険コマンドが、こんな簡単に実行できて良いのでしょうか。
ネットでは、玉座の間にいる必要がある(位置情報による制限)、2人で唱えないといけない(承認)、王家の分家ではなく本家の血筋が必要(管理権限)、といった説があるようですが、確証がありません。
多要素認証はクリアできていますが、もし石板端末と同じ設計なら攻撃者がバルスを唱えられる可能性があります。
2人で呪文を唱えたのは感心できます。
現実でも、本番稼働しているシステムで危険コマンドを実行するときはオペミス防止のため2人作業をするので、エンジニアの素質があると言えるでしょう。
まとめ
いかがだったでしょうか?
飛行石は多要素認証を備えた十分なセキュリティが確保されているものの、 個人レベルの認証ではなく一種の共用アカウントなので不安要素が残ります。ラピュタ城のシステムを、悪意を持つ攻撃者が操作できてしまう脆弱性があると言えます。
この記事を読んだ皆さんも、ラピュタのようなシステムを構築する際は、端末のセキュリティや個人の認証などは十分に配慮して設計するようにしましょう。