TrueCrypt−偽装コンテナファイルの作成(1)

TrueCrypt−偽装コンテナファイルの作成(1)※Ver 5.1a以前


参考:http://forums.truecrypt.org/viewtopic.php?t=2319

2008/07/06追記
以下の記事は、バージョン5.1a以前のTrueCryptでボリュームを作成した場合のものであり、バージョン6.0以降は隠しボリュームヘッダの位置が変更されているため、適用できません。ver6.0以降は(3)を参照してください。

はじめに


 TrueCryptにおけるコンテナファイル(暗号化ボリュームのデータを格納したファイル)の内容は、先頭のヘッダから暗号化ボリューム本体のデータまで、一見ランダムなデータで埋められた状態になっている。
 そのため、「ランダムなデータで構成された巨大なサイズのファイル」はTrueCryptのコンテナファイルであると推測され得る。
 こうした推測を回避するには、コンテナファイルのデータを代替データストリームに保存する方法がある。

 その他の方法として、コンテナファイルを一見正常なデータであるように見せかける手がある。
 たとえば、正常なMPEGデータとして再生できるが、内部に暗号化ボリュームが埋め込まれており、マウントすれば暗号化ボリュームにアクセス可能といった具合。


 このページでは、前半部分が正常データで、後半部分にTrueCrypt暗号化ボリュームを埋め込んだコンテナファイルの作成方法について、フォーラムで示されていた手順を解説する。
※埋め込むといっても、「埋め込んだ部分のデータも正常なMPEGとして再生できる」というわけではない。埋め込んだ部分は暗号化データに置き換えられて再生できない。(この意味で「ステガノグラフィ」とは異なるものであると筆者は考える。)
 後半部分が不正なデータである(再生できない)ことから、コンテナファイルであることを推測される可能性は残る。

偽装ファイル(サイズを512バイトの倍数にあらかじめ揃えておく)の後ろ側に、隠しボリュームを含んだコンテナファイルを結合する方法もある。この場合は偽装対象ファイルのほぼ全てが温存される。この手法についてはその(3)に記した。

  
  今回作るファイル。前半部分は正常なMPEGデータ。後半は暗号化ボリュームデータで置き換えられている。



注意:''この手法は、偽装対象ファイルのデータの一部を壊すことになります。大切なデータは必ずバックアップしてください。その他ファイルの取り扱いやトラブル等については自己責任でお願いいたします。

以下の記事は、バージョン5.1a以前のTrueCryptでボリュームを作成した場合のものであり、バージョン6.0以降は隠しボリュームヘッダの位置が変更されているため、適用できません。


作成方法の概要

 偽装コンテナの作成には、TrueCryptの隠しボリューム作成機能、および、ヘッダのバックアップ・リストア機能を利用する。

 ここではMPEGデータ(test.mpg)の後半部分に、TrueCrypt隠しボリュームを埋め込む方法について概略を示す。
 具体的なTrueCryptの操作法については、その(2)で記す。


1.擬装用データの加工


  TrueCrypt隠しボリュームのボリュームヘッダは、ファイル末尾から1536バイト(512*3バイト)目に格納される。
  TrueCryptは、コンテナファイルのサイズが512バイトの倍数でなければ正常にマウントできない。
  したがって、偽装するファイル(test.mpeg)のサイズが512バイトの倍数となるよう末尾部分を切り取る。




2.ヘッダのバックアップ


  隠しボリュームを含むダミーのコンテナファイルを作成しておく。(ここではdummy.datとする)
  (手順は「TrueCryptで隠し暗号化ボリュームを作成」を参照のこと)
  <作成時の注意>
  ダミーのコンテナファイル(dummy.dat)のサイズは任意でよい。 
  ただし、ダミーコンテナ内の隠しボリュームのサイズは、偽装対象ファイル(test.mpg)のサイズを越えてはならない。(※1)

  ダミーコンテナ(dummy.dat)の作成後、dummy.datのヘッダをバックアップする。ここではheader.binという名前にする。 

TrueCryptでdummy.datのヘッダをバックアップする。

3.隠しボリュームヘッダのリストア


  さきほどバックアップしたヘッダ(header.bin)のうち、隠しボリュームのヘッダのみ、偽装対象ファイル(test.mpg)にリストア(復元)する。

TreuCryptで隠しボリュームのヘッダをtest.mpgにリストアする。


4.隠しボリュームのフォーマット


  隠しボリュームのパスワードを入力して、偽装ファイル(test.mpg)をマウントする。
  マウント後、ボリュームをExplorerで開き、フォーマットする。

test.mpegをTrueCryptでマウント後、Explorerでボリュームを開き、フォーマットする。

その(2)へ続く。

※1
「隠しボリュームのサイズ ≒ 偽装対象ファイルのデータのうち、暗号化データに置き換えられる可能性のある部分のサイズ」
であるため、必要以上に大きくしないほうがよい。

2008年10月12日(日) 22:24:20 Modified by hiverd

添付ファイル一覧(全5件)
a792b90677fc6eee.png (28.76KB)
Uploaded by hiverd 2007年02月03日(土) 21:39:53
7fce5bb78626a3f3.png (24.48KB)
Uploaded by hiverd 2007年02月03日(土) 21:39:53
ea62b63ddc6e5893.png (21.39KB)
Uploaded by hiverd 2007年02月03日(土) 21:39:53
4c4128f88297a12f.png (11.25KB)
Uploaded by hiverd 2007年02月03日(土) 21:39:52
488d83e8ef791ca3.png (42.46KB)
Uploaded by hiverd 2007年02月03日(土) 21:39:52



スマートフォン版で見る