2019年04月01日に初出の投稿

Last modified: 2019-04-01

会社と自宅で共有している Keepass Password Safe のバイナリ・ファイル(データベース)は、毎月の初旬に ZIP か 7Z にパスワード付きで圧縮している。そして、そのファイルに "keepass_database_master.20190401.7z" などと日付を付けて、以下のクラウド・ストレージ・サービスにアップロードしている。

・Google Backup and Sync

・OneDive

・Dropbox = nCrypted Cloud

・Box

・Yahoo! Box

・iCloud

Dropbox と nCrypted Cloud が同じなのは、後者が単なる Dropbox のコンテンツの同期にすぎないからだ。場所は分散しているが、同期するにあたっての API 接続は Dropbox のパスワードを使っているため、事実上は同じものと考えてもいいだろう。

もちろん、Keepass Password Safe のデータベースは、パスワードを付けて圧縮などしなくてもいいと言えばいい。なぜなら、このデータベースを開くには Keepass のパスフレーズと、更に鍵ファイルが必要だからだ。そして、パスフレーズは圧縮ファイルを作る時のパスワードに匹敵する強度(64桁以上とは書いておく)だし、鍵ファイルは会社のマシンと自宅のマシンの二か所にしかないので、クラウド・ストレージの運営会社のエンジニアがファイルを盗んでローカル・アタックしても(少なくとも暗号論的には)無駄だからだ。

しかし、ここまで手間をかけるほどのことかという気がしないでもない。更に強い、そしてシンプルな防御手段があるかもしれないからだ。たとえば、クラウド・ストレージのサービスをいくつも使っているのだが、こんなにたくさんのサービスに全く同じファイルを預けておく必要があるのかどうかは、自明とは言えないだろう。仮に、半数のサービスが半年と事業継続できないかもしれない弱小ベンチャーであったなら、データベース・ファイルが半年後に消失したり、手の届かない場所へ持ち運ばれるかもしれないからだ(運営会社がデータを持ち主へ返してくれる保証などない)。いや、運営しているのが現状と同じくマイクロソフトや Google であっても、彼らが半年後にお馴染みの「選択と集中」とやらでサービスを休止させる可能性などいくらでもある。

情報セキュリティにおいて情報資産を安全に保管するための方針として妥当なものは、まず第一に、信頼できる相手に預けるということだ。その筆頭は、恐らく自分自身である。よって、僕が自分の業務マシン(しかも大企業の業務マシンのように、クソみたいな情報システム部の新卒がセットアップしたマシンなどではなく、最低でも OS の起動サービスや登録タスクを精査したという意味で僕自身がセットアップしたマシン)と、自宅マシンで記憶させたり保管しているデータは、ひとまず安全なデータと言ってよい。というより、このデータベースをオリジナル(マスター)として、他のマシンやサービスにコピー(スレイブ)をアップロードしたり分散させるのであるから、これが信用できないとあっては他にどうしようもない。誰かに作成してもらったパスワードを、オンラインの管理システムでそのまま使うくらいしか方法がなくなるだろう。しかし、オンラインやリモートの機器あるいはサービスで発行されたまま保管されるパスワードをマスターにするなどというのは、僕には全く信用できない方針だ。

そして、妥当な方針の二つ目は、複数の記録方法を使うということ。元のデータはパソコンの HDD 上で生成される磁気データなのであるから、他の記録方法として選択できる余地があるのは、SSD のような記憶素子の方式、あるいは同じ磁気記録方式でもテープを使った方法もあるし、データの量さえ少なければテキスト・データとして印刷してしまうのも一つの方法としてありえる。たとえば、データベースを開くために使う鍵ファイルならデータの量が少ないので、紙に印刷してラミネートでもしてから銀行に預けるのも妥当と言いうる。ちなみに太陽のフレアで磁気がパソコンの動作や記録内容に影響を及ぼすかといえば、そんなことはない。寧ろ地磁気の変動で停電が起きたときの影響が大きいため、なんにせよパソコンや周辺機器や携帯電話は電気機器なのであるから、電源の調達やエネルギー行政を心配した方がよい。

ところで、当サイトでは秘密分散法の紹介ページを公開しているが、それぞれのクラウド・ストレージに秘密鍵の分散させた情報を預けるという方法はどうだろうか。これは、機密情報の保護や安全な保管という目標について秘密分散法を使うべきかどうかという問題にもかかわる話なのだが、僕は個人の機密情報については反対だ。僕という個人をターゲットにして、分散させている秘密鍵を手に入れることだけを目的としている人物なら、手に入れたデータベース・ファイルをローカルまたは AWS のような大量のインスタンスを立てるサービスで解析するよりも、ストレージ・サービスを提供している各社へデータベース・エンジニアとして入社し、閾値を超える数の分散情報を手に入れる方が、やろうと思えば簡単だからだ。その人物が有能であればあるほど、あるいは公的機関の人間であればなおさら、Google, Microsoft, Apple などへ1年ごとに転職して、クラウド・ストレージの部門へ配属されるようにふるまうのは簡単だろう。だからといって、分散させている個々の情報をパスワードで暗号化したらどうか。これでは全く分散させてもさせなくても同じである。

  1. もっと新しいノート <<
  2. >> もっと古いノート

冒頭に戻る


※ 以下の SNS 共有ボタンは JavaScript を使っておらず、ボタンを押すまでは SNS サイトと全く通信しません。

Twitter Facebook