Ubuntu14.04でポータブル版(インストールしない)のveraCryptをUSBメモリに保存して使います。(職場では、ソフトのインストールは原則禁止ですから。もちろん、ポータブル版でもその使用に関しては上司に許可を取っておきます。そもそもUSBメモリが禁止されているかも。)
veraCryptは脆弱性があるとして開発が中止されたtrueCryptの派生版として普及しています。なんといっても、使い勝手が本家のtrueCryptとほぼ(全く?)同じであるため、私にとってはとても馴染みやすいのでencFSに変わって利用することにしました。
※encFSとの違いは、暗号化ファイルがボリュームファイル1つですむ。つまり、encFSのように暗号化するファイルの数だけ暗号化されたファイルが生成されない。ディバイスまるごと暗号化するとあたかもフォーマットされていないかのような振る舞いをし、中身を推測されない。encFSでは先の通り暗号化されたファイルが存在していることが容易に見えてしまう。
ちなみに、Windows版のVeraCryptにはポータブル版のインストールと通常インストール後にツールから「トラベラ−ディスクのセットアップ」を実行することで簡単にポータブル版が利用できます。しかも、日本語表示も選択できます。(Linux版では英語表示)
【前提条件】
- USBメモリ内にポータブル版を保存して利用
- 〔番外〕USBメモリ外にポータブル版を保存して利用
<手順>
- veraCryptをポータブル版としてインストール
- veraCryptをUSBメモリ内に保存して利用
- 〔番外〕veraCryptをUSBメモリ外で利用
1.veraCryptをポータブル版としてインストール
(1) veraCryptのダウンロード
下記のサイトよりダウンロードします。
https://veracrypt.codeplex.com/
※今回は、Windows版とLinux版を利用するので”all release”版をダウンロードしました。(各自必要に応じてダウンロードします。)
(2)解凍
ディレクトリ「ダウンロード」へ移動し、右クリックで「ここに展開」を選択して、クリックする。
(3)インストールスクリプトに実行権付加
展開後にできたディレクトリ「VeraCrypt_1.16_Bundle」内に移動して中を見ると、
veracrypt-1.16-setup.tar.bz2
があるので、同様に右クリック「ここに展開する」をクリックする。
veracrypt-1.16-setup
ができ、その中をのぞくと
veracrypt-1.16-setup-console-x64
veracrypt-1.16-setup-console-x86
veracrypt-1.16-setup-gui-x64
veracrypt-1.16-setup-gui-x86
が存在する。インストーラみたいなもので、シェルスクリプトで記述されています。
もし、実行権が付与されていなければ下記の通り付与します。
ターミナル(Ctrl+Alt+T)を起動して
$ cd ./ダウンロード/VeraCrypt_1.16_Bundlecd/veracrypt-1.16-setup
「veracrypt-1.16-setup」まで移動します。
$ chmod +x ./veracrypt*
(4)インストール
インストールマシンが32bitなので、「veracrypt-1.16-setup-gui-x86」を実行します。
コマンドを下記のように実行します。
$ sh veracrypt-1.16-setup-gui-x86
Verifying archive integrity… All good.
Uncompressing VeraCrypt 1.16 Installer..
と表示が出て、下図のようなインストーラーが起動しました。
今回は、ポータブル版をインストールしたいので、Extract .tar Packgage fileをクリックします。
もし、パソコンにインストールしたい場合はInstall VeraCriptをクリックします。
次にライセンス認証(Apache Licence)をするので、I accept and agree ……をクリックする。
ポータブル版なのでアンインストール用のスクリプトはいらんばってん、OKしかないので、OKをクリックする。
やっと出ました、ポータブル版。えっと、/tmpにveracrypt_1.16_i386.tar.gzとして保存されるとのことです。
では、さっそく/tmpへ移動して中を見ると、
$ cd /tmp
$ ls -la
veracrypt_1.16_i386.tar.gz
解凍します。
$ tar vzxf veracrypt_1.16_i386.tar.gz
usr/
usr/share/
usr/share/applications/
usr/share/applications/veracrypt.desktop
usr/share/pixmaps/
usr/share/pixmaps/veracrypt.xpm
usr/share/veracrypt/
usr/share/veracrypt/doc/
usr/share/veracrypt/doc/License.txt
usr/share/veracrypt/doc/VeraCrypt User Guide.pdf
usr/bin/
usr/bin/veracrypt-uninstall.sh
usr/bin/veracrypt <<==== コレが実行ファイル
/tmpディレクトリ内にディレクトリusr/ができ、その中のbin/ディレクトリ内にveracryptがあります。これが実行ファイルです。
実行権を付与します。(実行権がなければ。)
$ sudo chmod +x ./usr/bin/veracrypt
お試しにveracryptをダブルクリックしてみます。
ダブルクリックすると、
2.veraCryptをUSBメモリ内に保存して利用
(1)USBメモリにコピー
普通にディレクトリ usr/をまるごとUSBメモリにコピーする。
しかし、veracryptに実行権が付与されない。つまり、通常の/media配下に自動マウントされたUSBメモリ内では実行権が付与できません。Ubuntuの仕様?なのかなぁ。したがって、ダブルクリックしても起動しません。
そこで、/mntにマウントし直します。
(2)USBメモリを/mntに再マウント
まず、一度USBメモリをアンマウントします。
その前にfdiskでどのディバイスファイルとして認識されているか確認します。
$ sudo fdisk -l
Disk /dev/sda: 320.1 GB, 320072933376 bytes
ヘッド 255, セクタ 63, シリンダ 38913, 合計 625142448 セクタ
…………………………………………………………………..
…………………………………………………………………..
ディスク /dev/sdb: 98 MB, 98566144 バイト
ヘッド 251, セクタ 47, シリンダ 16, 合計 192512 セクタ
…………………………………………………………………
デバイス ブート 始点 終点 ブロック Id システム
/dev/sdb1 2048 192511 95232 b W95 FAT32
USBメモリは/dev/sdb1として認識されています。ファイルシステムはfat32ですね。
では、アンマウトします。
$ sudo umount /dev/sdb1
そして、/mntに再マウントします。
$ sudo mount -t vfat -o rw /dev/sdb1 /mnt/
今回はFATだったのでvfatですが、ntfsならntfs-3gとします。
これで、/mnt/usr/binへ移動して、
veracryptをダブルクリックすると
veracryptが起動しました。
(3)暗号化用ボリュムファイルの準備
ポータブル版では、USB全体(ディバイスごと)暗号化できません。暗号専用のファイル(暗号化用ボリュムファイル)を準備してそれをマウントして利用します。
(3−1)sudoで起動
暗号化用ボリュムファイルを作成するときは、root権限が必要です。一般ユーザで実行すると、フォーマットのとき警告が出てエラーになります。
そこで、新規に暗号化用ボリュムファイルを作る時だけsudoでroot権限を取得してveracryptを起動します。
$ sudo /mnt/usr/bin/veracrypt
(3−2)暗号化用ボリュムファイルの作成
図13で、Create Volumeをクリック →
図14で、Create an encrypted file containerを選択し、Nextをクリック →
図15で、Select Fileをクリックし、暗号化用ボリュームファイルの作成場所を選択 →
図16で、ファイルシステムから/mntを選択し、ファイル名「encryptfile1」(任意)と入力 →
図17で、Nextをクリック →
図18で、Nextをクリック →
図19で、ボリュームファイルのサイズを入力(20MB) →
図20で、パスワードを入力 →
図21で、パスワードが短いと警告が出る。今回は無視して、「はい」をクリック →
図22:ファイルシステムにはNTFSを選択する。Windowsでファイル名の文字化けを防ぐため →
図23では、Windowsでも利用するのでother platformsを選択 →
図24では、警告が出る。ファイルシステムがFATではなく、NTFSであるため、別にドライバが必要となる
Ubuntuでは、すでにntfs-3gがインストールされている。もし、なければ「apt-get install ntfs-3g」でインストール →
図25では、暗号強度を高めるためにマウスをグルグル回す。そして、Formatをクリック →
(USBメモリが/media配下にマウントされていると図26で図12のように警告がでてストップする。)
図30、暗号化用ボリュームファイルencryptfile1が/mnt内に完成した。
(3−3)使ってみる
veraCryptを起動するには/mntに再マウントします。((3−2)から操作を続ける場合は再マウントは不要。)
図11で、/mnt/usr/bin/encryptをダブルクリック → VeraCryptが起動(図31) →
図31で、Select Fileをクリック →
図32で、/mntへ移動し、encryptfile1を選択後、開くをクリック →
図33で、枠内に/mnt/encryptfile1が表示されていることを確認して、Mountをクリック →
図34で、Password(パスワード)を入力し、OKをクリック →
図35で、Administrator privileges required(管理者特権要求?)が求められる。一般的には現在ログインしているユーザのパスワードを入力する →
図36で、マウントまでしばらく待つ。マウントが成功すると今回はSlot10にveracrypt10というディレクトリでマウントされる。(左側のパネルでは21MBボリュームとなっている)自動でディレクトリが開くが、開かない時は左パネルにマウントされたディレクトリ名をクリックして開く →
図37で、新規にフォルダやファイルを作成し、作業が完了したら保存して閉じておく →
図38で、作業が完了したらDismountをクリック。自動で暗号化され、ファイルは閉じる。これが、ポータブル版VeraCryptの利用方法でした。
ポイントはUSBメモリを/mntに再マウントさせることです。これはすなわちrootとしてマウントさせ、root特権で実行させることを意味しています。
しかし、このあとの番外でも述べるように、ポータブル版(/tmp/usr/、/tmpディレクトリ内のusr/配下すべて)をパソコン本体にコピーして利用する場合は一般ユーザのまま利用できます。もちろん、マウントの時に図35のように管理者特権要求でパスワード入力を求められます。
3.〔番外〕veraCryptをUSBメモリ外で利用
これは単純です。単に/tmp内にできたusr/ディレクトリ(図19)をローカルの任意の場所(例えばホームなど)にコピーすればよいだけです。ちゃんと実行権も付加されています。一般ユーザのまま実行できます。
もちろん、USBメモリを/mntに再マウントする必要もありません。そのまま/mediaのまま利用可能です。こちらのほうが便利です。Windows版も一緒にUSBメモリ内に保存しておけば、LinuxとWindowsの両方で暗号化ボリュウムが利用できます。