2009-05-21 4 views
4

私は最近、Linuxデスクトップ上のこの小さなnoobの冒険を経て:Linuxで自己完結型の暗号化ファイルを作成するにはどうすればよいですか?

  1. 戻る
  2. (例えばタツノオトシゴと)
  3. それをPGP暗号化機密情報を再インストールし、それをテキストファイルを取りますOS、ハードドライブを削除する、プール内のコンピュータを落とすなど
  4. バックアップから暗号化されたファイルを取得し、恐れを知らせるためにパスワードを解読できないことを認識するために、パスワードを知っていても、 〜/ .gnupgキーが格納された場所。

なぜ私はこれに該当しましたか?私は以前はMacユーザーだったので、暗号化されたスパースディスクイメージを作成し、そこにファイルをドロップしてアンマウントします。私はこのファイルをどこにでも移動させて、どんなマックにドロップしても、マウントして、パスワードを入力して、タ - ダ!私がパスワードを覚えていれば、すべてがよかった。

Linuxでこれを行う方法は誰でも知っていますか?

(私はこれをSOFのためのプログラミングに十分に関連している願っています...それはとにかく私のプログラミングの仕事のために重要です!)

答えて

3

TrueCryptは(あまりにも、他のシステム)Linux上で動作するユーザーフレンドリーなディスク暗号化ソリューションです。 。

Linux専用の低レベルソリューションは、dm-cryptとcrpytoloopです。

+0

新しいカーネルを持っていないディストリビューションに問題があるかもしれません。 – Ian

2

私はCygwinでも利用可能なccryptを使用しています。

ccrypt is a utility for encrypting and decrypting files and streams. It 
    was designed to replace the standard unix crypt utility, which is noto‐ 
    rious for using a very weak encryption algorithm. ccrypt is based on 
    the Rijndael block cipher, which was also chosen by the U.S. government 
    as  the  Advanced  Encryption  Standard  (AES,  see 
    http://www.nist.gov/aes/). This cipher is believed to provide very 
    strong cryptographic security. 
1

私はmcryptのを使用。それはいくつかの最新の暗号化アルゴリズムをサポートしています。これはLinuxマシンではかなり珍しいことです(あるいは、ほとんどのdistorsでプリコンパイルされたパッケージを入手するのは簡単です)。

8

要約:暗号化するときは、--symmetricオプションを使用してください。

ここで実際に起こっていることの詳細を見てみましょう。物事を正しくしようとすると、しばしば少しの理解が助けになります。

GnuPGを使用してファイルを暗号化すると、「シンメトリック」暗号化が使用されます。すなわち、それは、平文を暗号化し、暗号文を解読する単一の鍵を使用する。それはなぜこれをするのですか?対称アルゴリズムが公開鍵/秘密鍵アルゴリズム(暗号化と復号化に別々の鍵が使用される)よりもはるかに高速であるため、後で説明します。

ファイルの暗号化に使用するこのキーはどこから入手できますか?それはランダムなものです。いいえ、私はここであなたを冗談していません。

今のところ、少し問題があると思われるかもしれません。ファイルはランダムな鍵で暗号化されており、誰も(特定のGnuPGプロセスを除いて)それが何であるかは分かりません。だから次はどうなるの?

次に、ランダムキーが他のキーで暗号化され、ファイルに保存されます。これは、複数のユーザーがファイルを解読できるようにする方法です。たとえば、私の会社のバックアップは暗号化されているので、私と私のビジネスパートナの両方が暗号化を解除することができます。GnuPGは公開鍵でファイル暗号化鍵を暗号化し、パートナーの公開鍵で別々に暗号化し、今私は私の秘密鍵を使って、自分の公開鍵で暗号化されたコピーを復号化したり、自分のコピーで同じことをする相手を復号化したり、データを暗号化するために使われた対称鍵を取り出したりすることができます。

だから--symmetricは何をしますか?これは、ランダム暗号鍵を対称アルゴリズム自体で暗号化します。今回は、提供されたパスフレーズに基づく鍵を使用します。パスフレーズを知っている人は誰でもファイルを解読できます。

これは1つのファイルにはうってつけですが、ファイルがたくさんあり、異なるパスフレーズで暗号化されていて、異なるグループのユーザーがアクセスできるようになるとすぐに不便になります。キーシステムを使用します。

しかし、残念なことに、残念なことに、非常に貴重な教訓を学びました。プライベートキーが重要です!あなたがそれを失った場合、公開鍵を使用して誰かが暗号化したものにアクセスできなくなります。それを一度生成し、安全に保ち、いくつかの場所にバックアップしておきます。

パスフレーズだけでファイルを復号できるように、--symmetricオプションを追加しました。

問題は、公開鍵でファイルを暗号化したときに、復号化するために秘密鍵(~/.gnupgに格納されている)が必要であるという問題でした。

1

ecryptfsはセットアップと使用が簡単です。

  • アップサイド:事前にスペースを予約しないでください。ファイルシステム上のレイヤーとして機能します

  • 不利な点:ファイル名は暗号化されていません。明らかに、ツリー全体を圧縮したりtarringしたり、ecryptfsでzipファイルやtarファイルを暗号化したりすることでこれを行うことができますが、それは迷惑です。

    UPDATE 2012年3月現在、この問題は解決されており、しばらく解決されています。ecryptfsはファイル名を暗号化します。この機能が導入されたバージョン番号または日付を簡単に見つけることができませんでした。

+2

実際には、eCryptfsは現在、ファイル名をサポートしています:-) –

2

Curt Sampsonは概念を説明してくれました。私はいくつかの詳細を与えるつもりです。

悲しいことに、Seahorse &友人は対称暗号化を行うオプションをまだ提供していませんが、対称暗号化ファイルの復号化を処理できます。これまで説明したように、コマンドラインから暗号化を行うことができます。あなたはGPGで満足しているが、実際には、GUIをしたい場合は

gpg --symmetric --force-mdc --cipher-algo aes256 -o outfile infile 

、あなたは私のgpg-frontend Pyriteを使用することができます。それは、海藻プラグインのようなノーチラスとは統合されていませんが、私がそう言えば、それはまだかなり甘いです。 :)

他の人が触れたように、eCryptfsはファイルごとの暗号化を提供するこの同じ領域に入る素晴らしいオプションですが、はるかに便利な方法で、基本的に透過的に暗号化/すべての書き込みを解読します&はそれから/から読み込みます。最初は暗号化されたコンテナソリューションのようですが、実際にはファイルを個別に暗号化しています。フォルダを一度マウント解除すると、一度に暗号化された一連のファイルが作成されます。このarticle at LJは、eCryptfsの対比の概要と他のオプションのいくつかとを比較したものです。&ここではそれが行くのeCryptfsを取得することがいかに簡単です:

$ mkdir ~/vault 
$ sudo mount -t ecryptfs ~/vault ~/vault 
Select key type to use for newly created files: 
1) openssl 
2) passphrase 
3) pkcs11-helper 
4) tspi 
Selection: 2 
....... (truncated) 
$ echo hello > ~/vault/encfile 
$ sudo umount ~/vault 
$ ls -a ~/vault 
. .. encfile 
$ cat ~/vault/encfile 
稖��)!x�"3DUfw`��ȿ_���E�����_CONSOLE�W�v0�+�'�hV���Q��VZ��eP�����l⟮j%����?O��V 
....... (truncated) 

あなたは、このに興味があるなら、またsudoのための必要性を排除し、すべてを自動化することができますecryptfs-setup-privateコマンドをチェックアウト。動いている。

最高オプションは、PTSで言及したものであり:とdm-crypt、あなたはどのブロック・デバイスを暗号化することができます(例えば、パーティション、論理ボリュームを、単一のファイル)と(クロスプラットフォーム)TrueCryptもちろん、あなたはそれの上にfsを投げます。 Cryptoloop(dm-cryptの前身)は使用しないでください。

私は主にのみ、レッドハット、Fedoraの経験を持っている&友人が、それらに、あなたは余分なものをインストールすることなく、右ゲートのうち、暗号化されたディスク/パーティションを作成および変更するために素敵なディスク管理GUI palimpsetを使用することができます。もちろんこれにはコマンドラインユーティリティがあります:cryptsetup ... cryptsetupを使って暗号化されたファイルシステムを拡張可能な論理ボリュームから作るための簡単な例をdm-cryptで簡単に説明します:

lvcreate -L 2G -n mybox volgroup 
cryptsetup luksFormat /dev/volgroup/mybox 
cryptsetup luksOpen /dev/volgroup/mybox mybox 
mkfs.ext4 /dev/mapper/mybox 
cryptsetup luksClose mybox 

これを実行したら、Nautilusは自動検出に問題はなく、ロックを解除してそこから安全なユーザーマウントを行うことができます。

EDIT:私は愚かな感じ。私はこの質問に出会ったときにgpgタグをブラウズしていました。私はすべての入力を終えてそれを提出するまで、これが何歳になったのか気付かなかった。しかたがない。おそらくそれは後世のために便利になるでしょう。

+0

**補足:**私はリンクしたLJの記事で、これらの暗号化方式のいずれかを使用するときに暗号化されたスワップを持つことがどれほど重要かについて話しています。どちらの場合でも、システムを最初からセットアップしていない場合は、** 'ecryptfs-setup-swap' **ヘルパーツールのマニュアルページをチェックしてください。 (やさしい。) – rsaw

0

opensslを使用してファイルを暗号化することもできます。

関連する問題