DUICUO

Toplip: 非常に強力なファイル暗号化および復号化CLIツール

[[259873]]

ファイル保護のためのドキュメント暗号化ツールは数多く市販されています。Cryptomatter、Cryptkeeper、CryptGo、Cryptr、Tomb、GnuPGなど、既にいくつかご紹介しました。本日は、「toplip」というコマンドラインファイル暗号化/復号化ツールについてご紹介します。これは、AES256と呼ばれる強力な暗号化方式を採用した、無料のオープンソース暗号化ツールです。また、XTS-AESを使用して個人データを保護します。さらに、パスワードベースの鍵生成機能であるScryptを使用して、ブルートフォース攻撃からパスワードを保護します。

優れた機能

他のファイル暗号化ツールと比較して、Toplip には次のような独自の優れた機能が備わっています。

  • XTS-AES256 に基づく非常に強力な暗号化方式。
  • 合理的な言い訳もっともらしい否認
  • ファイルを暗号化して画像 (PNG/JPG) に埋め込みます。
  • 複数層のパスワード保護。
  • 直接的なブルートフォース攻撃から保護できます。
  • 識別できない出力マーカー。
  • オープンソース(GPLv3)。

Toplipをインストールする

インストールは不要です。Toplip toplipスタンドアロンの実行バイナリです。公式製品ページからtoplipの最新バージョンをダウンロードし、実行権限を付与するだけです。以下のコマンドを実行するだけです。

  1. chmod + x toplip

使用

パラメータなしでtoplip実行すると、ヘルプ ページが表示されます。

  1. ./ toplip

いくつか例を挙げてみます。

ガイダンスとして、 file1file2 2つのファイルを作成しました。また、 toplip実行バイナリも用意しました。これらはすべてtestというディレクトリに保存しました。

1つのファイルを暗号化/復号化する

それでは、 file1を暗号化してみましょう。これを行うには、次のコマンドを実行します。

  1. ./ toplip file1 > file1 . encrypted

このコマンドはパスワードの入力を求めます。パスワードを入力すると、 file1の内容が暗号化され、現在の作業ディレクトリ内のfile1.encryptedというファイルに保存されます。

上記のコマンドラインの出力例は次のようになります。

  1. This is toplip v1 . 20 ( C ) 2015 , 2016 2 Ton Digital . Author : Jeff Marrison A showcase piece for the HeavyThing library . Commercial support available Proudly made in Cooroy , Australia . More info : https : //2ton.com.au/toplip file1 Passphrase #1: generating keys...Done
  2. Encrypting ... Done

ファイルが本当に暗号化されているかどうかを確認するには、ファイルを開いてみてください。ランダムな文字がいくつか見つかります。

暗号化されたファイルを復号化するには、次のように-dパラメータを使用します。

  1. ./ toplip - d file1 . encrypted

このコマンドは、提供されたドキュメントを復号化し、その内容をターミナル ウィンドウに表示します。

ドキュメントを標準出力に書き込むのではなく保存するには、次のコマンドを実行します。

  1. ./ toplip - d file1 . encrypted > file1 . decrypted

正しいパスワードを入力してファイルを復号してください。file1.encrypted の内容はすべてfile1.decrypted file1.encryptedファイルに保存されます。

この命名規則は使用しないでください。これは理解を容易にするためだけに使用しています。予測しにくい別の名前を使用してください。

複数のファイルを暗号化/復号化する

ここで、2 つの個別のパスワードを使用して各ファイルを暗号化します。

  1. ./ toplip - alt file1 file2 > file3 . encrypted

ファイルごとにパスワードを入力するよう求められます。毎回異なるパスワードを使用してください。

上記のコマンドラインの出力例は次のようになります。

  1. This is toplip v1 . 20 ( C ) 2015 , 2016 2 Ton Digital . Author : Jeff Marrison A showcase piece for the HeavyThing library . Commercial support available Proudly made in Cooroy , Australia . More info : https : //2ton.com.au/toplip
  2. file2 Passphrase # 1 : generating keys ... Done
  3. file1 Passphrase # 1 : generating keys ... Done
  4. Encrypting ... Done

上記のコマンドは、2つのファイルの内容を暗号化し、 file3.encryptedという1つのファイルに保存します。保存されたファイルには、各ファイルに個別のパスワードが付与されます。例えば、 file1のパスワードを指定すると、 toplip file1復元します。 file2のパスワードを指定すると、 toplip file2復元します。

toplip暗号化出力には、それぞれ固有のパスワードを持つ最大4つの個別のファイルが含まれます。暗号化出力はグループ化されているため、複数の文書が存在するかどうかを判断することは容易ではありません。デフォルトでは、実際にtoplip暗号化されているファイルが1つしかない場合でも、ランダムデータが自動的に追加されます。複数のファイルが指定され、それぞれに固有のパスワードが設定されている場合は、各ファイルを選択的に独立して復号できるため、他のファイルが存在する可能性を否定できます。これにより、ユーザーは暗号化されたファイルバンドルを、漏洩リスクを制御された状態で開くことができます。さらに、攻撃者にとって、追加の秘密データの存在を確認するための計算コストの低い方法は存在しません。これは「…」と呼ばれます。合理的な言い訳もっともらしい否認「」はToplipのよく知られた機能の1つです。

file3.encryptedからfile1をデコードするには、次のように入力します。

  1. ./ toplip - d file3 . encrypted > file1 . encrypted

file1の正しいパスワードを入力するよう求められます。

file3.encryptedからfile2デコードするには、次のように入力します。

  1. ./ toplip - d file3 . encrypted > file2 . encrypted

file2の正しいパスワードを入力することを忘れないでください。

複数のパスワード保護を使用する

これも私が気に入っているクールな機能の一つです。暗号化時に、1つのファイルに複数のパスワードを設定できます。これにより、ブルートフォース攻撃からパスワードを保護できます。

  1. ./ toplip - c 2 file1 > file1 . encrypted

ここで、 -c 2 2つの異なるパスワードを表します。上記のコマンドラインの出力例は次のようになります。

  1. This is toplip v1 . 20 ( C ) 2015 , 2016 2 Ton Digital . Author : Jeff Marrison A showcase piece for the HeavyThing library . Commercial support available Proudly made in Cooroy , Australia . More info : https : //2ton.com.au/toplip
  2. file1 Passphrase # 1 : generating keys ... Done
  3. file1 Passphrase # 2 : generating keys ... Done
  4. Encrypting ... Done

上記の例のように、 toplip 2つのパスワードの入力を求めています。同じパスワードを2回入力するのではなく、必ず異なるパスワードを2回入力する必要があることに注意してください。

このファイルをデコードするには、次の手順を実行します。

  1. $ ./ toplip - c 2 - d file1 . encrypted > file1 . decrypted
  2. This is toplip v1 . 20 ( C ) 2015 , 2016 2 Ton Digital . Author : Jeff Marrison A showcase piece for the HeavyThing library . Commercial support available Proudly made in Cooroy , Australia . More info : https : //2ton.com.au/toplip
  3. file1 . encrypted Passphrase # 1 : generating keys ... Done
  4. file1 . encrypted Passphrase # 2 : generating keys ... Done
  5. Decrypting ... Done

画像内のファイルを隠す

ファイル、メッセージ、画像、または動画を別のファイル内に隠す手法はステガノグラフィーと呼ばれます。幸いなことに、 toplipはこの機能がデフォルトで含まれています。

画像内のファイルを非表示にするには、以下に示すように-mパラメータを使用します。

  1. $ ./ toplip - m image . png file1 > image1 . png
  2. This is toplip v1 . 20 ( C ) 2015 , 2016 2 Ton Digital . Author : Jeff Marrison A showcase piece for the HeavyThing library . Commercial support available Proudly made in Cooroy , Australia . More info : https : //2ton.com.au/toplip
  3. file1 Passphrase # 1 : generating keys ... Done
  4. Encrypting ... Done

このコマンドは、 file1の内容をimage1.pngという画像に隠します。

デコードするには、次を実行します。

  1. $ ./ toplip - d image1 . png > file1 . decrypted This is toplip v1 . 20 ( C ) 2015 , 2016 2 Ton Digital . Author : Jeff Marrison A showcase piece for the HeavyThing library . Commercial support available Proudly made in Cooroy , Australia . More info : https : //2ton.com.au/toplip
  2. image1 . png Passphrase # 1 : generating keys ... Done
  3. Decrypting ... Done

パスワードの複雑さを増やす

ファイルの解読をさらに困難にするには、次のようにしてパスワードの複雑さを増やすことができます。

  1. ./ toplip - c 5 - i 0x8000 - alt file1 - c 10 - i 10 file2 > file3 . encrypted

上記のコマンドは、 file1に10個、 file2に5個のパスワードを入力するよう要求し、それらをfile3.encryptedという単一のファイルに保存します。お気づきかもしれませんが、この例では別の-iパラメータを使用しています。これは、鍵生成ループの回数を指定します。このオプションは、 scrypt関数の最初と最後の PBKDF2 ステージのデフォルトのループ回数 1 をオーバーライドします。0x8000 、 10などの0x8000進数と10進数値を使用できます。ただし、これにより計算回数が大幅に増加することに注意してください。

file1をデコードするには、次を使用します。

  1. ./ toplip - c 5 - i 0x8000 - d file3 . encrypted > file1 . decrypted

file2をデコードするには、次を使用します。

  1. ./ toplip - c 10 - i 10 - d file3 . encrypted > file2 . decrypted

基礎となるテクノロジーと使用される暗号化方法の詳細については、 toplip Web サイトを参照してください。

データを守りたい方への個人的なアドバイスは、単一の方法に頼らないことです。ファイルを暗号化する際は、必ず複数のツールや方法を活用してください。パスワードを紙に書き留めたり、ローカルやクラウドに保存したりしないでください。パスワードは必ず覚えておき、使用後は破棄してください。覚えられない場合は、信頼できるパスワードマネージャーの使用を検討してください。

  • KeeWeb – オープンソース、クロスプラットフォームのパスワードマネージャー
  • キンポウゲ
  • Titan – Linux用コマンドラインパスワードマネージャー

今日はこれで終わりです。今後も素晴らしいコンテンツをお届けしますので、どうぞお楽しみに。

幸運をお祈りしています!