LAC WATCH

セキュリティとITの最新情報

RSS

株式会社ラック

メールマガジン

サイバーセキュリティや
ラックに関する情報をお届けします。

サービス・製品 | 

技術者でない人のためのVault入門

ラックが扱っているHashiCorp社の「Vault」は、マルチクラウド環境におけるシークレット管理製品としてすでに多くの企業で採用されています。Vaultの機能や役割を、技術に詳しくない上司や同僚に説明するには、どうすれば良いでしょうか。今回は、「技術者でない人のためのVault入門」と題した記事を日本語に訳してお届けします。著者のSean CarolanはHashiCorp社のテクノロジー・スペシャリストで、エンジニアだけでなくビジネスサイドにも技術をわかりやすく説明することを得意としています。


HashiCorp社のVaultは、マルチクラウドに対応しAPIで駆動する統合シークレット管理システムです。この説明がサッパリわからなくても安心してください。この記事では、HashiCorp Vaultについて、わかりやすい比喩と暗号の歴史を使って解説します。お気に入りの紅茶かコーヒーでも飲みながら、5分ほどお付き合いください。

シークレット管理とは何か?

まずはシークレットについての説明から始めましょう。古代より人類は、機密情報を隠す様々な方法を考案してきました。これを暗号化手法とも呼びます。暗号化手法とは、暗号化や復号に関する技術のことです。暗号は、機密情報が人目に触れぬように隠しておくために使われます。これをシークレット管理と呼ぶこともできます。

古代ギリシャの暗号化デバイス「スキュタレー」
古代ギリシャの暗号化デバイス「スキュタレー」

シークレット管理は決して新しい概念ではありません。最も一般的なシークレットはパスワードです。パスワードは何千年も昔から使われています。古代ローマでは、敵国のスパイから野営地を守るために、木製のタブレットに書かれたパスワードが使われていました。コンビネーションロック(訳注:ダイヤル式錠)は、パスワードの最も原始的な姿です。そしてもちろん、パスワードはコンピュータの黎明期から使われています。

コンピュータパスワードの起源

それではここで、パスワードに関するちょっとした秘密をご紹介しましょう。実は、コンピュータのパスワードは、当初はセキュリティのために設計されたわけではなかったのです。近代的なコンピュータパスワードの祖父、MIT(マサチューセッツ工科大学)のフェルナンド・コルバト教授は、メインフレームコンピュータ上で、ユーザーごとにファイルを分けて保存する方法を検討していました。1961年のことです。

世界で最初のパスワード盗難事件が起きたのは、そのわずか1年後のことでした。あるコンピュータ科学者が、パスワードの一覧を印刷して入手することに成功したのです。このパスワード一覧はすぐに仲間内で共有されました。ユーザーは他人のアカウントになりすましてログインし、研究室長を嘲笑するコメントを投稿したようです。もしかしたらこれが、人類初のネットの「荒らし」事件かもしれません。

近代的なコンピュータパスワードの発明者として知られるフェルナンド・コルバト教授
近代的なコンピュータパスワードの発明者として知られるフェルナンド・コルバト教授

パスワードはセキュリティ対策としてはちょっと困った点もあります。フェルナンド・コルバト教授は2014年のインタビューで次のように答えています。

残念ながら、ワールドワイドウェブは今や悪夢のようなものになっている。システムが発行したものであれ、自分で設定したものであれ、すべてのパスワードを覚えている人などいないだろう。となると私たちには2つの選択肢しかない。カンニングペーパーにパスワードをまとめて管理するか、パスワードマネージャーのようなプログラムを使うかのどちらかだ。どちらにせよ困ったものだ。

1980年代のハッカー映画『ウォー・ゲーム』では、パスワードにまつわる問題が浮き彫りにされています。映画の中で、主人公の高校生デビッド・ライトマンは、フォルケン教授のパスワードを推測し、NORAD(北アメリカ航空宇宙防衛司令部)のコンピュータシステムに通じるバックドアを発見します。そのコンピュータは核戦争シミュレータ用の人工知能「ウォーパー(WOPR:War Operation Plan Response)」だったのです!

『ウォー・ゲーム』をまだ観たことがなければ、今度の週末にでもぜひご覧ください。コンピュータネットワークへの接続が83年頃にはどんな感じだったかを知ることができます。

撮影『ウォー・ゲーム』に登場するNORAD指令センターのセット
ここで映画に関するトリビア。『ウォー・ゲーム』のNORAD指令センターは当時最も高価な映画セットだった。撮影当時はまだフラットスクリーンモニターは発明されていなかったので、このスクリーンは背面から映画用のスクリーンを投影している。

さて、良くも悪くも、コンピュータのパスワードは今日も利用されています。初期のインターネットでは、セキュリティを気にする人など誰もいませんでした。当時のインターネットは、一部の大学教授や学生がニューズグループや掲示板でファイルを送受信したり、メッセージを投稿したりする程度の使い方しかされていませんでした。その後、80年代、90年代そして2000年代を通じてインターネットの利用が拡大すると、パスワードの利用量も爆発的に増加しました。

その歴史の中では、不幸にもパスワードの盗難事件も起きました。この間には、パスワードのセキュリティを強化する様々な取り組みも行われました。現在、ほとんどのWebサイトやアプリケーションでは、長くて複雑なパスワードを必要としており、ユーザーがそれらすべてを覚えておくことはますます難しくなっています。

個人用パスワードマネージャー

それではパスワードマネージャーについて解説しましょう。LastPass1Passwordなどのアプリケーションについて聞いたことはありませんか。こうしたアプリケーション、つまりパスワードマネージャーはパスワードの「金庫」のようなもので、ここにすべてのパスワードを保存できます。たった1つのマスターパスワードさえ覚えておけば、他のパスワードが取り出せます。

最近のWebブラウザにも同じようなパスワードマネージャーが組み込まれており、1つのマスターパスワードや指紋認証で、保管されているパスワードが取り出せます。パスワードマネージャーを使うことで、私たちはすべてのパスワードを覚えておく必要はなくなり、「金庫」に保存したパスワードを必要に応じて取り出すことができます。

ここでちょっと立ち止まって考えてみましょう。アカウントを持っているすべてのWebサイトやアプリケーションを思い出してみてください。それぞれのパスワードはいずれも複雑なもので、別のWebサイトやアプリケーションとは共有されていないことになっています。では、この状況を1000倍にしたところを想像してみてください。実はこの問題は、コンピュータを使うすべての組織が直面していることなのです。ああそうですね、アーミッシュには当てはまらないかもしれません(訳注:アーミッシュとはアメリカ合衆国の宗教集団で移民当時の生活様式を保持し、農耕や牧畜による自給自足の生活を送っているとされる集団のこと。移民当時の生活様式を守るため電気を使用せず、一般的な通信機器を持っていないという)。しかしそれ以外の企業には、管理すべきパスワードとシークレットがあるはずです。

インターネットアプリケーションの世界では、パスワードは氷山の一角に過ぎません。人間がマシンやアプリケーションにログインする際に使うシークレット以外にも、マシン同士が接続するときに使われるシークレットも存在します。例えば銀行のWebサイトにログインするだけでも、背後では数十から場合によっては数百にも及ぶトランザクションがコンピュータ間で走っています。このすべての通信が、安全に暗号化され、保護されていなければ、私たちの金融情報は安全とは言えません。

ハッカー、それとも(指輪物語に登場する)指輪の幽鬼?
ハッカー、それとも(指輪物語に登場する)指輪の幽鬼?

シークレットには、コンピュータ同士の接続で使われるものと私たち個人のパスワードとがありますが、管理に関する課題は基本的には一緒です。シークレットや機密情報を、盗聴を防ぎつつ、安全な通信の確立のために利用するにはどうすれば良いでしょうか。厄介な問題ですが、いくつかユースケースをご紹介しましょう。

ユースケース その1:
パスワードストレージ

HashiCorp Vaultは、この記事で説明しているような、パスワードなどシークレットの管理に関する課題の解決を目的とした製品です。巨大な企業や組織では、パスワードや機密情報をどうすれば安全に保護できるでしょうか。Vaultは、企業や組織で使われるパスワードマネージャーのようなもの、と捉えていただいて差し支えありません。Vaultを使えば、シークレットや機密情報をクラウドで安全に保護することができます。

金庫(訳注:vaultは金庫という意味の英単語)という単語からは、重厚な扉のついた大きな銀行の金庫を想像するかもしれません。HashiCorp Vaultは、パスワードをただ保管できるだけではありません。Vaultが他にできることを説明するには、ホテルのフロントを想像してもらうのが良いかもしれません。

ユースケース その2:
動的シークレット

予約したホテルに到着し、チェックインするときに最初に聞かれることは何でしょうか?おそらく次のような質問ではないでしょうか。

「恐れ入りますが、身分証明書とクレジットカードを拝見させていただけますか?」

ルームキーを受け取るには、身分を証明する必要があります。身分証明書を提示し、予約が確認できれば(もちろん、クレジットカードで与信が確認できれば)ルームキーが渡されます。最近のホテルでは、磁気ストライプのついたプラスチック製のルームキーが使われていることが多いでしょう。ルームキーには、滞在期間や予約内容により、ホテル内の利用可能な施設や設備に関する情報が記録されています。設定されたアクセス権に基づき、ホテルの部屋やスポーツジム、フロントドアを開錠できます。ポイントが貯まっていればエグゼクティブラウンジも利用できるかもしれませんね!

ルームキーには、利用者ごとに異なる情報が記録され、有効期限が設定されています。予約した滞在期間が過ぎるとキーは失効し、ホテル内の施設は利用できなくなります。

クロスト・キーズ協会(鍵の秘密結社)のメンバー

ホテルに例えると、Vaultはホテルのフロント(受付)にあたり、ITインフラはホテルの各種設備ということになります。Vaultは、アプリケーションやユーザーの識別を集中して引き受け、様々なITインフラにアクセスするためのシークレットを付与します。例えば、LinuxサーバのパスワードをVaultで管理し、システム管理チームに所属するメンバーだけにアクセス権を付与する、といったことができます。

あるいは、データベースのユーザーIDとパスワードを必要とするアプリケーションがあるかもしれません。Vaultはホテルのルームキーのように、有効期限を持った動的パスワードを生成することができます。もしホテルのルームキーを紛失してしまったら?心配ありません!フロント(受付)に行けば、新しいキーを発行してもらえます。もちろん、新しいキーをもらうには、身分を証明する何かを示す必要があるかと思います。おっと、オートロックの部屋から閉め出されてしまったときは、下着を履いているか確認してからフロントにお越しくださいね!

ユースケース その3:
Encryption as a Service
(EaaS:暗号化ソリューション)

ここまでVaultの主な2つのユースケース、「パスワードストレージ」と、ホテルのルームキーのような有効期限を持つ「動的シークレット」についてご紹介しました。

最後に取り上げるのは、Vaultの暗号化機能です。Vaultではあらゆるプレインテキストを、スーパーコンピュータでもほぼ解読不可能なように暗号化できます。この記事の冒頭に掲載した「スキュタレー」の写真をもう一度ご覧ください。「スキュタレー」は、古代ギリシャで使われていたシンプルな暗号化デバイスで、機密情報を戦場でやりとりするために使われました。「スキュタレー」を用いた暗号は、暗号化するときと同じ直径の棒があれば破ることができてしまいました。もうちょっと最近の例としては、映画『A Christmas Story』(1983年、日本未公開)に出てくるデコーダー・リング(秘密のコードを記録しておける指輪)と似ているかもしれません。

Encryption as a Service(EaaS:暗号化ソリューション)の基本的なアイディアは、デコーダー・リングや第二次世界大戦のエニグマ暗号機と似ています。正しいリングや暗号機を持ってさえいれば、秘密のメッセージを暗号化し、復号することができます。幸いなことに、木に皮を巻いただけのもの(古代ギリシャのスキュタレー)に比べれば、現代の暗号は格段に破られにくいものになっています。Vaultはとても強力なデコーダー・リングのようなものです。Vaultを使えば、クレジットカード番号や個人情報、パスワードなどあらゆる機密情報を暗号化できます。もちろん、復号にもVaultを使います。暗号化と復号を別々のアプリケーションで実装することもできます。

まとめ
HashiCorp社のVaultは、マルチクラウドに対応しAPIで駆動する統合シークレット管理システムです。次のような用途で利用できます。

「Vault」に関するお問い合わせ

この記事は役に立ちましたか?

はい いいえ