机上向学 -GAKIRA.NET-

ガジェット好きな筆者のPC・クラウド・アウトドア・防災に関する事を書いてみる、そんなブログです。

机上向学 DropBoxをセキュアに使用する方法 OSX専用

この記事を書く2週間ほど前だったでしょうか、Dropboxサービス数時間にわたってパスワードロックが解除されてしまいIDさえ分かればログインし放題になる事件がありました。
ユーザーも順調に増えている真っ最中だっただけにかなりクリティカルな障害だったと言えます。(もっとも自分はその障害が発生していることに気がつかぬまま使用していたわけですが)
Dropboxのセキュリティーポリシーについては以下が参考になります。
Dropbox - Terms - Simplify your life
それによると
・AES-256規格に準拠したDropboxデータ内の暗号化されています
・データセンターとしてamazon S3を使用していて物理的なセキュリティーも完備されています
・データ通信は256bitのSSLで守られています
・データは分散して相互にバックアップされ冗長性が保たれます
とざっくり要約すると以上のようになります。
また実際に保存されたデータに対するDropbox自身のアクセスについては「厳密なルールにより閲覧しないようにしている」という意味のことが書かれています。
ただし当然技術的な意味によりデータそのものにアクセス出来る権限を持っている技術者はいるとも書かれています。

ここでクラウドサービスのセキュリティーについて自分自身の考えを述べておくと、
・サービスのシステムに関するセキュリティーは事業社が負う→これは当然
・サービスと接続する通信関係については事業社とユーザーが応分に負う→状況に寄りますがSSLまで使用していれば事業社の責任は果たしていると思う
・サービスのログイン情報の管理については原則ユーザーが負う→先日のソニーの情報漏洩は1番目に該当。これはあくまで電話番号や誕生日をパスワードにしているとかのこと…
・保管しているデータそのもののセキュリティーは原則ユーザーが負う→これが今回の本題!

使い勝手の良さとセキュリティーは普通両立しません(多分)。今回も多少の不便さを許容しつつ便利なDropboxを安全に使おうという発想で考えています。
とはいえ面倒なセキュリティーソフトを使うとか言うとハードルも高くなり、コストも掛かるというのではつまらない。ということでOSX限定ながら付属の機能だけで実現可能な
セキュアなDropboxを構築します。

いきなりですが以前書いたブログの記事を参考にOSXのディスクユーティリティーを使用して「スパースディスクイメージ」を作成します。これは内包している容量によってディスクイメージの容量が増減する特徴を持ったファイルです。
OSX環境下でセキュリティー性の高いポータブルドライブを作る - G@KIRA NET
これをDropboxフォルダーへ保存し、その中に今までそのまま入れていたファイルを移動すれば完了です。では実際の使用方法です。
1)Dropboxフォルダーに保存したディスクイメージファイル(以下Dファイル)をダブルクリックします。するとDファイルの作成過程で設定したパスワードを求められます。このとき使い勝手を優先するならばキーチェーンにパスワードを保存させておくことも出来ます。ただし持ち出しを前提にしているMacBookなどでは都度パスワードを入力するほうがよりセキュアであることは明白です。
f:id:gakira:20110713170526p:image:w360
2)デスクトップにイメージディスクが表示されます。ここに必要なデータをコピーしていきます。デスクトップにマウントされた別のディスクですので全てコピー扱いになります。
3)データをコピーしているとメニューバーのDropboxアイコンがくるくると回っていることに気がつくと思います。実はDropboxフォルダーに保管されたDファイルとデスクトップにマウントされているイメージディスクの間にはきちんと関係性が保たれているのです。
f:id:gakira:20110713170527p:image
イメージディスクにファイルが新しく作成・あるいはファイルの更新が行われると、Dファイルも一緒に更新されます。これはファイルの変更日時が同時に変更されていくので確認できます。
f:id:gakira:20110713170528p:image:w360
4)試しに2台のMac間で確認してみます。AのMacでイメージディスクをデスクトップにマウントしておき、新しくファイルを追加します。この時点でAのMacのDropboxフォルダ内のDファイルが更新されます。次ぎにAをそのままにしてもう一台、BのMacのDropboxフォルダを開きます。当然同じ名前のDファイルが作成されています。これをBのMacのデスクトップへイメージディスクをマウントすると内部のデータはAと同じ状態で保存されていることが確認できます。
5)それでは次ぎにBのMac側で新しいファイルをイメージディスクへ追加してみます。同じく同期作業が行われたことを確認してから先ほどそのままにしてあるAを見てみます。こちらでもメニューバーのDropboxアイコンが同期していることを示しているはずです。それが完了したことを確認してからAのデスクトップにマウントされたイメージディスク内を確認してみます。
実はこの時点でこのディスクの中にBで追加したファイルは含まれていません。理由はあくまで同期しているのはDropboxフォルダ内のDファイルですでにマウント済みのイメージディスクは直接の同期対象になっていません。ですのでこの例で行くと一端Aのイメージディスクをアンマウントしてから再度Dファイルをダブルクリックしてマウントし直すときちんとファイルが追加されているのが確認できます。

以上の事から
・マウントしたイメージディスクとDファイルとの間には一方通行の関連性がある
・DファイルはDropbox内でリアルタイムで同期されている
・同期されているのはあくまでDファイル
・イメージディスクに変更を反映するには一端アンマウントしてから再マウントする必要がある
ということになります。

この仕組みを利用することでDropboxのセキュリティは格段に上がります。不正アクセスを受けても暗号化されたファイルの中身まで見るのは容易ではないでしょう。

実際の運用としては
1)OSXのユーザーのログイン項目に使用するDファイルを登録しておく 
2)OSXの起動時にイメージディスクがマウントさせる
3)終了時にイメージディスクをアンマウントしDropboxの同期を待つ
4)終了する
という手順を踏むことになるでしょう。

現在お試し中ですが今後の課題としては「OSXとWindows間でのセキュアな共有」と言うことになると思うので追ってレポートします。