データ暗号化 · 1 min read · Jan 04, 2026

TrueCrypt チュートリアル: 本当にポータブルなデータ暗号化

TrueCrypt チュートリアル: 本当にポータブルなデータ暗号化

プログラムの機能の簡単な紹介

TrueCryptはデータを「オンザフライ」で暗号化する無料ソフトウェアです。現在リリースされている最新バージョンは4.3です。TrueCryptを使用すると、暗号化されたハードドライブ、別のパーティション、またはディレクトリを作成できます。ファイルの内容だけでなく、その名前やそれらが含まれているディレクトリの名前も暗号化します。さらに、暗号化されたディレクトリ/HDD/パーティションのサイズを確認する方法はありません。TrueCryptはWindowsとLinuxで利用可能です。

TrueCryptの利点:

  • 暗号化されたハードドライブを作成し、マウントします。
  • ドライブ全体、選択したパーティション/ディレクトリ、さらにはUSBフラッシュドライブを暗号化します。
  • 暗号化は自動的で、オンザフライであり、ユーザーには透明です。
  • 暗号化されたパーティション/ディレクトリのサイズを確認する方法はありません。
  • AES -256、Serpent、Twofishなどの暗号化アルゴリズムを使用します。
  • 隠しボリュームの作成を可能にします。
  • 使用中は作成されたボリュームと一般的なデータを区別できません。
  • 非常に使いやすいです。
  • TrueCryptで作成された仮想ドライブは、オペレーティングシステムから完全に独立しています。
  • 認証キーはUSBスティックに保持できます。
  • その他多数…

暗号化されたデータを保護する方法は3つあります:

  • パスワードで
  • 特殊なキーで
  • パスワードとキーの両方で

このキーとは何ですか?キーは、ハードドライブ上の任意のファイル(例: *.avi*.mpg、または*.txt)や、いくつかのファイルを含むディレクトリ全体である可能性があります。警告!*.txtファイルをキーとして使用する際は注意してください。変更するとキーが変わり、データを復号化できなくなります。 キーを失った場合はどうなりますか?データを回復することは決してありません!だから、キーとパスワードの両方を使用することをお勧めします。この場合、キーを失った場合でも正しいパスワードを入力することで変更できますし、その逆も可能です。もちろん、理想的な解決策はありません。なぜなら、パスワードを忘れたり、キーを同時に失ったりする可能性があるからです。

TrueCryptとDM-Cryptの簡単な比較

実際、これらのプログラムのどちらが優れているかを判断するのは非常に難しいです。オプションの説明を労力をかけてレビューし、両者について熟考した結果、最良の解決策は両者を組み合わせることだと気付きました。どちらも、プライベートファイルを保存できるディレクトリのように機能する暗号化されたファイルである「コンテナ」を作成することを可能にします(全体のパーティションを暗号化したくない場合に非常に便利な機能です)。これらのプログラムの大きな利点は、CD/DVDに焼く際にデータを暗号化できることです。TrueCryptのわずかな欠点は、カーネルを再読み込みした後にTrueCryptモジュールを再インストールする必要がある場合があることです。一方、TrueCryptでは異なる暗号化アルゴリズムを同時に使用できます!また、Windows上でも動作するため、両方のシステムを使用する場合はTrueCryptがより良い選択となります。

最良のキーを選ぶには?

個人的には、ハードドライブ上の任意のファイルやディレクトリをキーとして選ぶことはお勧めしません。最良の方法は、TrueCryptに組み込まれている特殊なキー生成器を使用することです。RNG - Random Number Generator - は、この機能で、最大320バイトのランダムデータを生成し、事前に選択したファイルに保存します。ランダムデータはどのように生成されますか?Linuxの場合、RNGは/dev/randomまたは/dev/urandomを使用し、これはPCに接続されたデバイス(マウスやキーボードなど)によって生成されるすべてのノイズを表します。

TrueCryptはどのように機能しますか?

暗号化プロセス全体はユーザーにとって透明です。暗号化されたドライブにファイルをコピーすると、その構成要素(大きなファイルの場合、例えば映画など)はRAMにコピーされ、次に暗号化されて宛先ファイルに保存されます。復号化プロセスも同様です。最初にファイルが断片ごとにRAMに復号化され、次にユーザーに渡されます。TrueCryptは未暗号化データをドライブに保存することは決してなく、暗号化されたデータは常にRAMに保存されます。これは、ファイルへの偶発的なアクセスを防ぐ非常に安全な方法です。

TrueCryptのダウンロード

プログラムの最新バージョンは常にhttp://www.truecrypt.orgで見つけることができます。TrueCryptが正しく動作するには、dmsetupというツールが必要です。Dmsetupは、デバイスマッパードライバでマッピングされた論理ドライブを操作するためのツールです。dmsetupの最新バージョンはhttp://sources.redhat.com/dm/で入手できます。ソースをダウンロードした後に最初に行うべきことは、dmsetupをインストールすることです:

tar -zxvf device-mapper.*your_version_no*  
cd device-mapper.*your_version_no*  
./configure  
make  
make install (rootまたはsudoとして)

すべてがうまくいった場合は、TrueCryptをインストールしてみてください:

tar -zxvf truecrypt-*your_version_no*  
cd truecrypt-*your_version_no*

linuxディレクトリに入り、インストールします:

cd linux  
./build.sh
ビルド要件を確認中...  
カーネルモジュールをビルド中... 完了。  
truecryptをビルド中... 完了。

最初にスクリプトは、システムがすべての要件を満たしているかどうかを確認します。パッケージの場所を見つけられない場合は情報が表示されます。警告!TrueCryptを正しくインストールするには、カーネル2.6.5以降が必要です。

次に実行します:

./install.sh *(rootまたはsudoとして)*

インストール要件を確認中…
truecryptをテスト中… 完了。

バイナリを[/usr/bin]にインストール: [Enter]を押してください
マニュアルページを[/usr/share/man]にインストール: [Enter]を押してください
ユーザーガイドとカーネルモジュールを[/usr/share/truecrypt]にインストール: [Enter]
非管理ユーザーがTrueCryptを実行できるようにしますか?[y/N]: 非rootユーザーがTrueCryptを使用できるようにするには[y]を押してください、そうでなければ[N]
カーネルモジュールをインストール中… 完了。
truecryptを/usr/binにインストール中… 完了。
マニュアルページを/usr/share/man/man1にインストール中… 完了。
ユーザーガイドを/usr/share/truecrypt/docにインストール中… 完了。
バックアップカーネルモジュールを/usr/share/truecrypt/kernelにインストール中… 完了。

すべてが上記のように進んだ場合は、続行できます。

キー生成

キーを生成するには、次のように入力します:

truecrypt --keyfile-create key.txt

もちろん、他のキー名や拡張子を選ぶことができます。

マウスはTrueCryptが実行されているコンピュータに直接接続されていますか?「Y」を押してください。次に、マウスを動かすように促されます。

すべてが正常であれば、次のテキストが表示されます: キーファイルが作成されました。

仮想ボリュームの作成

新しいボリュームを作成するには、その名前とタイプを考慮する必要があります。このようなボリュームには通常隠しの2種類しかありません。それらの違いは何ですか?隠しはその名の通り、隠されています(配置が異なります - TrueCryptのホームページで詳細情報)。

ターミナルに次のように入力します:

truecrypt -c home.txt

home.txtという名前のボリュームを作成します。拡張子はユーザーの裁量に任されています。私は*.txtを選びました。なぜなら、潜在的なハッカーがそれがボリュームであることを発見するのが難しくなるからです。

ボリュームタイプ:

  1. 通常
  2. 隠し
    選択 [1]: 1を選択してください

ファイルシステム:

  1. FAT
  2. なし
    選択 [1]: 2を選択してください。なぜなら、ボリュームにFAT以外の他のファイルシステムを作成するからです。デフォルトはFATです。

ボリュームサイズを入力してください(バイト - size/sizeK/sizeM/sizeG): 10M -
今、ボリュームのサイズを指定します。私は10MBを選びました。

ハッシュアルゴリズム:

  1. RIPEMD-160
  2. SHA-1
  3. Whirlpool
    選択 [1]: ハッシュを選択してください。SHA-1をお勧めします。デフォルトはRIPEMD-160です。

暗号化アルゴリズム:

  1. AES
  2. Blowfish
  3. CAST5
  4. Serpent
  5. Triple DES
  6. Twofish
  7. AES-Twofish
  8. AES-Twofish-Serpent
  9. Serpent-AES
  10. Serpent-Twofish-AES
  11. Twofish-Serpent
    選択 [1]: アルゴリズムを選択してください。デフォルトはAESです。

新しいボリューム「home.txt」のパスワードを入力してください: パスワードを設定しない場合は[Enter]を押してください

パスワードを再入力してください: 再度[Enter]を押してください

キーファイルのパスを入力してください [none]: ここにキーへの完全なパスを入力するか、キーがない場合は空のままにします

キーファイルのパスを入力してください [finish]: 再度パスを入力するように促されます。複数のキーがある場合は別のパスを入力し、すべてのキーパスを入力した場合は空のままにして[Enter]を押してください

TrueCryptは今、ランダムデータを収集します。

マウスはTrueCryptが実行されているコンピュータに直接接続されていますか?「Y」を押してください。マウスがPCに直接接続されている場合ですが、「n」を押して何が起こるかを見てみてください。

少なくとも320文字のランダムに選ばれた文字を入力し、Enterを押してください: 必要な文字数より少ない場合、プログラムは不足している数を表示します。

今、プログラムはボリュームの作成を開始します。この操作に必要な時間は、CPUとボリュームのサイズによって異なります。スクリプトは完了したときに通知します(ボリュームが作成されました)。ルートのホームディレクトリにはhome.txtというファイルがあるはずです。テキストプロセッサで開いてみてください。もし何かを読むことができたら、おめでとうございます。

ボリュームのマッピングとファイルシステムの作成。

作成プロセス中にボリュームのファイルシステムを選択しなかったことを思い出してください。だから、今それを行う必要があります。これは、TrueCryptがボリュームをマウントするためにLinuxツールmountを使用するため、ファイルシステムをオプションとして渡す必要があるからです。

次のように入力します:

truecrypt /root/home.txt -k /root/key

‘/root/home.txt’のパスワードを入力してください: このボリュームにパスワードがない場合は[Enter]を押してください

OK。マッピングが正常に行われたかどうかを確認するには、次のように入力します:

truecrypt -vl

(マッピングされたデバイスに関する情報を表示)

情報が表示されない場合は、何かがうまくいかなかったことを意味します。

今、ファイルシステムを作成します:

mkfs.ext3 /dev/mapper/truecrypt0

任意のファイルシステムを選択できます。

ファイルシステムが作成されました。

作成されたボリュームのマウント

今、ボリュームにファイルシステムを作成し、マッピングしたので、任意のディレクトリにマウントできます。

これを行うには、次のように入力します:

truecrypt -d /dev/mapper/truecrypt0

ボリュームのマッピングを解除します。

mkdir encrypted -

「encrypted」という名前のディレクトリを作成します。これはボリュームをマウントするディレクトリです。

truecrypt /root/home.txt -k /root/key /root/encrypted

ボリュームをencryptedディレクトリにマウントします。

完了!これ以降、「encrypted」ディレクトリに保存されたすべてのデータは暗号化されます。

しかし、既存のディレクトリを暗号化するにはどうすればよいですか?これは非常に簡単です。このディレクトリからデータを移動し、ボリュームをこのディレクトリにマウントし、データをこのディレクトリに戻すだけです。ボリュームのサイズを指定する際は、すべてのデータを収容できるように適切に大きくしてください。ボリュームのサイズは、ディレクトリのサイズよりも少し大きくする必要があります。

再起動後の自動マウント。

再起動後にボリュームを再度マウントする必要があることがわかります。これを行う簡単な方法があります。TrueCryptのホームページのフォーラムを閲覧していると、2つの異なる解決策を見つけました:

  • /etc/init.dまたは/etc/rc.dにスクリプトを追加すること。
  • ホームディレクトリに.profileという名前の設定ファイルを作成し、適切に編集すること。

私は、以下に説明する2番目の方法を使用することをお勧めします。なぜなら、1つの単純な理由があるからです。たとえば、ボリュームをキーとパスワードで保護した場合、またはパスワードのみで保護した場合、init.dまたはrc.dディレクトリに配置されたブートスクリプトを実行すると、TrueCryptを-pパラメータで初期化する必要があり、パスワードが明示的にそこに書かれることになります。これは最も賢い解決策ではありません。この方法では、誰でもあなたのパスワードを読むことができます。

ホームディレクトリにすでに.profileファイルがあるかもしれませんが、ない場合は:

touch .profile - 新しいファイル .profileを作成します。

.profileをエディタで開き、次の行を追加します:

truecrypt /root/home.txt -k /root/key /root/encrypted

変更を保存してエディタを終了します。これで、システムにログインするたびにTrueCryptがパスワードを要求します(この例ではキーのみで識別されているため、パスワードは持っていないので、[Enter]を押すだけです)し、仮想ボリュームがマウントされます。

キーをペンドライブ/USBスティックに保持できますか?

はい、そのようなオプションがあります。そして、私を信じてください、それほど難しくはありません。最初に行うべきことは、USBドライブを起動時に自動的にマウントすることです。これを行うには、/etc/fstabを編集する必要があります。次に、/mntにペンドライブ用の新しいディレクトリを作成します:

mkdir /mnt/pendrive

最初に、システム内でペンドライブがどこにあるかを確認する必要があります。ペンドライブをUSBポートに差し込み、次のコマンドを実行します:

dmesg > output.txt

ファイルの最後には次のような行があるはずです:

usb 1-1: configuration #1 chosen from 1 choice  
uba: uba1

私のPCではUSBドライブは/dev/uba1にあります。あなたのPCでは/dev/sda*にあるかもしれません。次に、/etc/fstabを修正する必要があります。この行を追加します:

/dev/uba1  /mnt/pendrive  auto  defaults  0  0

次に、次のように入力します:

mount /mnt/pendrive

次のステップは、キーをUSBドライブに移動し、.profileファイル内のキーへのパスを/mnt/pendriveに変更することです。完了!

これで、システムは再起動後に仮想ボリュームを自動的にマウントします。自動マウントの欠点は何ですか?たとえば、非常に好奇心旺盛な兄弟がいて、システムの一部にアクセスさせたくない場合(WindowsまたはLinuxで作業しているかどうかに関係なく)。キーのみで認証し、HDDのどこかに置いている場合、ブート後にデータが復号化されます。「しかし、私はUSBドライブにキーを保持しています」。仕事の後にPCから取り出すのを忘れたらどうしますか?

未来

近い将来、TrueCryptの開発者はその機能を拡張する計画を立てています:

  • MAC OSバージョン
  • 外部認証の追加(ネットワーク/インターネット経由での復号化の可能性)
  • TrueCryptの公式GUIの構築
  • その他多数…

TrueCryptの非公式GUIレイヤーはありますか?もちろんあります。以下のウェブページをチェックすることをお勧めします: TruecryptGUI at GoogleCode。詳細情報はTrueCryptフォーラムを訪れてください。

英語への翻訳: Borys Musielak

修正: T_ziel

著者: Marcin Lipiec aka “lipiec”

このテキストは最初にpolishlinux.orgに掲載されました。

Share: X/Twitter LinkedIn

新しい投稿を受信箱で受け取る

スパムはありません。いつでも購読を解除できます。