T100TA:Truecrypt の力を借りて microSD カードの実用性を上げるメモ

<重要>
14/5/30追記
29日から,Truecrypt 公式ウェブサイトがダウンし,sourceforge 上のプロジェクトページで開発中止の告知と利用中止の呼びかけがされています。しかし不自然,不可解な点が多く,ウェブサイト改竄や米政府当局による圧力などの可能性も指摘されています。まだ正確なことは判明していませんが(考察や議論はここここ,twitter 検索などで),以下の二つを徹底してください。
・現在の Truecrypt ウェブサイトで新規公開されたバージョン「7.2」(復号のみ)は危険な可能性があるので,決してインストールしない。ウェブサイトにもなるべくアクセスしない。
・この騒動以前の最終バージョンである「7.1a」は安全と見られるが,改竄の可能性を指摘する声もあるので,正確な情報が判明して騒動が落ち着くまでは極力使用しないようにする。もちろん,この記事の内容も実践しないこと。

14/8/5追記
Truecrypt の件,今なお詳細が明らかになったわけではありませんし,コード監査も途中のようですが,7.1a 初公開当初のバイナリが世界中から提供され,ハッシュ値から現行 7.1a に改竄がないと判明したことから,世間ではひとまず安全らしいという話になっているようです。が,誰も安全だと保証しているわけではありません。この言葉は嫌いですが「自己責任」でお願いします。

 先月書いた記事の続編?です.
 あの記事で私は microSD の利用について「あくまでも補助的に」と述べました。この判断の理由としては,寿命についての懸念もありますが,やはり「何かの拍子に外れて紛失する恐れがあり,セキュリティ上好ましくない」というのが一番でした。しかしこの判断は,「データは暗号化されずに保存される」という前提に立ったものです。その前提を崩せば,すなわち microSD を暗号化ドライブとして利用すれば,内蔵 eMMC と同様に実用できるようになるはずです。「モバイルデバイスでそんなことしたら遅すぎて/CPU 負荷が大きすぎて使い物にならないんじゃないか」と思われるかもしれません。僕自身,おそらくこの「常識」ゆえにディスクを暗号化して使うという発想が今に至るまで出なかったのかもしれませんし,実際に試してみるまでは半信半疑でした。しかし,これが思いのほか実用的だったのです。
 microSD 上に置いた,Truecrypt で AES 方式で暗号化した仮想ドライブについて,前回と同じ条件(CrystalDiskMark,3回,100MB)でベンチを取ってみました。(画像で貼るほど重要でもありませんが)結果は以下です。
pic-20140426-101624
 以前にも増して物悲しい数字ですが,それでもまあ,きちんと用途を限定すれば使えないことはない速度が出ているかと思います。元が悪いので速度はある程度仕方ないとして,驚いたのは CPU 負荷の低さです。きちんと計測したわけではありませんし,処理の内容にもよって違うのですが,たとえばこのベンチマーク中も,CPU 負荷は最大でも22%までの間で推移しており,ほとんどの場合で10%未満に収まっていました。どうでしょう,まるで暗号化なんてしていないかのような低負荷ではないでしょうか。
 ここまでの低オーバーヘッド・低負荷が実現している理由は,Atom では Bay-trail から新しく追加された AES のハードウェアアクセラレーション機能「AES-NI」にあります。AES-NI 自体は目新しいものではないのですが,長らく Core i5 以上の CPU にしか搭載されてこなかった「贅沢機能」でした。それが,Haswell で全 CPU に搭載されるようになったのに合わせて Bay-trail から Atom/Celeron にも搭載されるようになったようです。Atom が組み込み用 CPU に毛が生えた程度のものだった数年前からすると,もはや隔世の感がありますね。
 寿命の心配は依然として残るわけですが,これで,ダウンロードディレクトリや Dropbox ディレクトリ,(それほど重要でない)ソフトの置き場としてなら,活用できる! というわけです。ただし注意として,あくまでも SD カードとして認識されているためか,Truecrypt では,ドライブやパーティションそのものを暗号化することができません。Windows XP までであれば偽のドライバでシステムを騙すというダーティなテクニックがありましたが,最近は署名のされていないドライバは使えないのでおそらくこれは利用できないかと思います。そのため,microSD に tc ファイルを置いて利用することになります。こうするとシステムの水準での起動時自動マウントはできませんので,利用方法によってはトラブルが発生することがあります。たとえば自分は暗号化仮想ドライブを Dropbox のファイル置き場として利用しているのですが,そのままでは Truecrypt によるマウントの完了より先に Dropbox アプリが起動してエラーになることがあります。そのため,スタートアップに置くスクリプトを少し工夫して書く必要があります。個人的には,以下の vbscript で対応しています(この言語には初めて触れました……)。

set objWshShell = WScript.CreateObject(“Wscript.Shell”)
objWshShell.Run “C:Progra~1TrueCryptTrueCrypt.exe /v (tc ファイルの場所) /lz /q /k (keyfile の場所)”,1,1
objWshShell.Run “C:Users(ユーザ名)AppDataRoamingDropboxbinDropbox.exe”

 Truecrypt の作業完了を待って Dropbox を起動させるという流れです。詳しくは後述の参考サイトをご覧ください。keyfile のありかを平文で記述していてセキュリティも何もないのですが,この用途ではこんなもんで充分なはずです。心配ならシステムドライブを暗号化すれば ok(少なくとも大幅にマシにはなる)でしょう。もっとも,取り外し不可の eMMC を採用しているこの機種でそこまでしても,捜査当局に追われているとかの場合以外には役には立たないと思いますが……
 それでは,よい T100TA ライフを。

参考:

最近買ってみて QOL が上がったニッチなもの5つ

 ここ数ヶ月で買ってみて QOL が上がったニッチなもの5点です。どこにでもありそうなものやガジェット類は含めていません。写真があるとわかりやすいのですがめんどくさいので事情により文章のみです。伝われ。

1. 机の下に置ける収納棚
 既にあるという方も多いかも知れません。事務机をイメージしていただくとわかりやすいでしょう,机の下・足の横にくる,あの棚です。自分は安物の机を買ったためこれがありませんでしたが,あったら便利だろうと思いたちホームセンターでちょうどよいサイズのものを探して購入してみました。効果はテキメン,いつでも机の上が片付いて,すっきりした気持ちで作業ができるようになりました(そのかわり一番上の引き出しの中は地獄ですが……)

2. 書類を立てて保管する箱
 「書類立て」という呼称が一般的なようです。100円均一などでもよく売られているあれです。これまで論文や配布資料のたぐいは箱に入れて保管していて,目当てのものを探し出すには「箱から出す→探す→見つける→残りを箱に戻す」という手間が必要だったのですが,これを導入してからは「探す→見つける」とダイレクトにできるようになりました。リングファイルと比べても,いちいちファイリングする手間がなく,穴が傷む問題もなく大変便利です。ただ埃が積もりやすく長期保管には向かないので,古い(=参照頻度が低い)ものはこれまで通りの箱に移動することにしています。個人的には100円均一よりちょっと高めのしっかりしたものがおすすめ。

3. 間接照明のスタンドライト
 間接照明と言えばシャレオツ(死語)な部屋にしか必要ないようなイメージですが,実は逆で,雑然としたダサい部屋でこそ真価を発揮します。煌々と光る昼光色のシーリングライトを消して,おだやかな電球色の明かりだけで過ごしてみると,これがなかなか落ち着くものです。LED 電球ならベッドサイドに置いても安心。

4. 天井とシーリングライトとの間に挟んでリモコン操作を可能にする器具
 ベッドに倒れこんでから照明を消していないことに気づき立ち上がることほど億劫なものはありません。ついぞ立ち上がることができずに照明を付けたまま寝てしまったことも数えきれないほどあります。これでは疲れも取れやしません。しかし,この器具さえあれば,どんなに疲れ果てていても枕元のリモコンに手を伸ばすだけでちゃんと照明を消して眠ることができます。

5. 厚手ビニールの書籍カバー
 小学生の頃使っていたような,あれです。資格予備校のテキストや雑誌などは表紙が普通紙(かそれに近い材質)のため,持ち歩くと非常に傷みやすいですが,これを使えばばっちり保護することができます。たった数百円の投資で,もうみすぼらしいヨレヨレの表紙は見ずにすむようになります。