Ubuntu14.04でポータブル版(インストールしない)のveraCryptをUSBメモリに保存して使います。(職場では、ソフトのインストールは原則禁止ですから。もちろん、ポータブル版でもその使用に関しては上司に許可を取っておきます。そもそもUSBメモリが禁止されているかも。)

Screenshot from 2015-12-20 08:01:02veraCryptは脆弱性があるとして開発が中止されたtrueCryptの派生版として普及しています。なんといっても、使い勝手が本家のtrueCryptとほぼ(全く?)同じであるため、私にとってはとても馴染みやすいのでencFSに変わって利用することにしました。
※encFSとの違いは、暗号化ファイルがボリュームファイル1つですむ。つまり、encFSのように暗号化するファイルの数だけ暗号化されたファイルが生成されない。ディバイスまるごと暗号化するとあたかもフォーマットされていないかのような振る舞いをし、中身を推測されない。encFSでは先の通り暗号化されたファイルが存在していることが容易に見えてしまう。

ちなみに、Windows版のVeraCryptにはポータブル版のインストールと通常インストール後にツールから「トラベラ−ディスクのセットアップ」を実行することで簡単にポータブル版が利用できます。しかも、日本語表示も選択できます。(Linux版では英語表示)

【前提条件】

  1. USBメモリ内にポータブル版を保存して利用
  2. 〔番外〕USBメモリ外にポータブル版を保存して利用

<手順>

  1. veraCryptをポータブル版としてインストール
  2. veraCryptをUSBメモリ内に保存して利用
  3. 〔番外〕veraCryptをUSBメモリ外で利用

1.veraCryptをポータブル版としてインストール

(1) veraCryptのダウンロード

下記のサイトよりダウンロードします。

https://veracrypt.codeplex.com/

※今回は、Windows版とLinux版を利用するので”all release”版をダウンロードしました。(各自必要に応じてダウンロードします。)

(2)解凍

ディレクトリ「ダウンロード」へ移動し、右クリックで「ここに展開」を選択して、クリックする。

図3:右クリック、「ここに展開する」を選択してクリック

図3:右クリック、「ここに展開する」を選択してクリック

(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をクリックします。

図4:Extract .tar Packgage fileをクリック

図4:Extract .tar Packgage fileをクリック

次にライセンス認証(Apache Licence)をするので、I accept and agree ……をクリックする。

図5:I accept ......をクリック

図5:I accept ……をクリック

ポータブル版なのでアンインストール用のスクリプトはいらんばってん、OKしかないので、OKをクリックする。

図6:OKをクリック

図6:OKをクリック

やっと出ました、ポータブル版。えっと、/tmpにveracrypt_1.16_i386.tar.gzとして保存されるとのことです。

図7:/tmpにポータブル版のパッケージができる

図7:/tmpにポータブル版のパッケージができる

では、さっそく/tmpへ移動して中を見ると、

tmpの中身

図8:/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をダブルクリックしてみます。

図9:実行ファイルveracrypt

図9:実行ファイルveracrypt

ダブルクリックすると、

図10:veracryptが起動した

図10: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をダブルクリックすると

図11:/mntに再マウントして起動

図11:/mntに再マウントして起動

veracryptが起動しました。

(3)暗号化用ボリュムファイルの準備

ポータブル版では、USB全体(ディバイスごと)暗号化できません。暗号専用のファイル(暗号化用ボリュムファイル)を準備してそれをマウントして利用します。

(3−1)sudoで起動

暗号化用ボリュムファイルを作成するときは、root権限が必要です。一般ユーザで実行すると、フォーマットのとき警告が出てエラーになります。

図12:フォーマットできません

図12:フォーマットできません

そこで、新規に暗号化用ボリュムファイルを作る時だけsudoでroot権限を取得してveracryptを起動します。

$ sudo /mnt/usr/bin/veracrypt

図13:Create Volumeをクリック

図13:root権限でveracryptを起動

(3−2)暗号化用ボリュムファイルの作成

図13で、Create Volumeをクリック → 

図14:ウィザード起動

図14:ウィザード起動

図14で、Create an encrypted file containerを選択し、Nextをクリック →

図15:Volume Location

図15:Volume Location

図15で、Select Fileをクリックし、暗号化用ボリュームファイルの作成場所を選択 →

図16:ファイル名を入力

図16:ファイル名を入力

図16で、ファイルシステムから/mntを選択し、ファイル名「encryptfile1」(任意)と入力 →

図17:暗号化用ボリュームファイル名が入力できた

図17:暗号化用ボリュームファイル名が入力できた

図17で、Nextをクリック →

図18:AESを選択

図18:AESを選択

図18で、Nextをクリック →

図19:ボリュームファイルの容量を入力

図19:ボリュームファイルの容量を入力

図19で、ボリュームファイルのサイズを入力(20MB) →

図20:パスワード入力

図20:パスワード入力

図20で、パスワードを入力 →

Screenshot from 2015-12-19 20:17:22

図21:パスワードの警告

図21で、パスワードが短いと警告が出る。今回は無視して、「はい」をクリック →

図21:ファイルシステムの選択

図22:ファイルシステムの選択

図22:ファイルシステムにはNTFSを選択する。Windowsでファイル名の文字化けを防ぐため →

図23:I will mount the volume on other platformsを選択

図23:I will mount the volume on other platformsを選択

図23では、Windowsでも利用するのでother platformsを選択 →

図24:NTFSの利用には別にドライバが必要という警告

図24:NTFSの利用には別にドライバが必要という警告

図24では、警告が出る。ファイルシステムがFATではなく、NTFSであるため、別にドライバが必要となる
Ubuntuでは、すでにntfs-3gがインストールされている。もし、なければ「apt-get install ntfs-3g」でインストール →

図25:マウスをグルグル回して暗号強度を高める

図25:マウスをグルグル回して暗号強度を高める

図25では、暗号強度を高めるためにマウスをグルグル回す。そして、Formatをクリック →

図26:フォーマットが始まる

図26:フォーマットが始まる

(USBメモリが/media配下にマウントされていると図26で図12のように警告がでてストップする。)

図27:フォーマットが完了

図27:フォーマットが終了

図28:フォーマット完了

図28:フォーマット完了

図29:Exitをクリック

図29:Exitをクリック

図30、暗号化用ボリュームファイルencryptfile1が/mnt内に完成した。

図30:暗号化用ボリュームファイルencryptfile1が完成

図30:暗号化用ボリュームファイルencryptfile1が完成

(3−3)使ってみる

veraCryptを起動するには/mntに再マウントします。((3−2)から操作を続ける場合は再マウントは不要。)

図11で、/mnt/usr/bin/encryptをダブルクリック → VeraCryptが起動(図31) →

図31:VeraCrypt起動

図31:VeraCrypt起動

図31で、Select Fileをクリック →

図32:encryptfile1を選択し、開くをクリック

図32:encryptfile1を選択し、開くをクリック

図32で、/mntへ移動し、encryptfile1を選択後、開くをクリック →

図33:枠内に/mnt/encryptfile1が表示されている

図33:枠内に/mnt/encryptfile1が表示されている

図33で、枠内に/mnt/encryptfile1が表示されていることを確認して、Mountをクリック →

図34:passwordを入力

図34:passwordを入力

図34で、Password(パスワード)を入力し、OKをクリック →

図35:管理者特権要求?

図35:管理者特権要求?

図35で、Administrator privileges required(管理者特権要求?)が求められる。一般的には現在ログインしているユーザのパスワードを入力する →

図36:しばらく待つとマウントが成功

図36:しばらく待つとマウントが成功

図36で、マウントまでしばらく待つ。マウントが成功すると今回はSlot10にveracrypt10というディレクトリでマウントされる。(左側のパネルでは21MBボリュームとなっている)自動でディレクトリが開くが、開かない時は左パネルにマウントされたディレクトリ名をクリックして開く → 

図37:新規にいろいろ作成

図37:新規にいろいろ作成

図37で、新規にフォルダやファイルを作成し、作業が完了したら保存して閉じておく → 

図38:作業が完了したらDismount

図38:作業が完了したらDismount

図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の両方で暗号化ボリュウムが利用できます。