オンラインストレージに対するちょっとした妄想

Dropboxはずっと前に登場しました。 しかし、最初から、自分のファイルを自分のサーバーに保存するという考えは好きではありませんでした。 結局のところ、私は誰かがそれらを見ることは完全に望ましくないようなものを保存したかった...



現在、このようなサービスは多数あり、人々はそれらを積極的に使用しています。 仕事の利便性が損なわれず、プライバシーが破壊されるように、私たちは何をすべきでしょうか? 解決策がありますが、判明したように、eCryptfsで暗号化されたファイルをオンラインで保存することは新しいことではありません。



Linuxについてです。 主にUbuntuとUbuntu Oneについて...





要するに、eCryptfsは2つのディレクトリで動作します。1つは暗号化されたファイル(すべてが1つのキーで暗号化されます)、オプションで暗号化された名前、もう1つはマウント後に使用可能になり、ソースファイル自体が配置されます。 ソースファイルごとに、1つが暗号化されます。 すべてがシンプルです。

次に、オンラインストレージを介して暗号化されたファイルとディレクトリを共有し、同期に参加しているすべてのコンピューターがマウント用の同じキーを持っていることを確認する必要があります。



インストール時のUbuntuには、ホームディレクトリを暗号化するオプションがあり、オンにすると、暗号化された形式のすべてのユーザーファイルは/home/.ecryptfsにあり、ホームディレクトリの内容はログイン時にマウントされます。

一見すると、Ubuntu Oneで/home/.ecryptfsを共有して終わりに対処できるようです。 どんなに。

最初:秘密キーはそれ自体で生成されます(つまり、すべてのコンピューターで異なります)。

第二に、ユーザーディレクトリを正確にすべてのユーザーディレクトリと同期させる必要はほとんどありません。

第三に、このタイプの暗号化を使用することはお勧めできません。 実際、ファイル名を暗号化するとき、ecryptfsはその長さをわずかに増やし、すでに長いものはファイルシステムの制限(ext4fsの場合は256バイト)に反します。



それにも関わらず、Ubuntuにはもう1つの劣らず便利なソリューションがあります:プログラムecryptfs-setup-privateは、たった3つの質問で暗号化されたファイルのディレクトリ〜/ .Privateとソースファイルのディレクトリ〜/ Privateを作成し、ログインによって自動的にマウントされます。



$sudo apt-get install ecryptfs-utils $ ecryptfs-setup-private Enter your login passphrase [user]: Enter your mount passphrase [leave blank to generate one]: Enter your mount passphrase (again):
      
      





「ログインパスフレーズを入力してください」という質問には、システムに入るパスワードを入力する必要があります-これは自動マウントに必要です。

「マウントパスフレーズを入力してください」という質問には、暗号化のためのパスワードを入力する必要があります(同期に参加しているすべてのコンピューターで同じ)。

次に、ログインして〜/ .Privateを共有します。 そしてそれだけです、あなたは平和に眠ることができます。 Ubuntu Oneでファイルを共有するときにこの方法を使用します。



ecryptfs-setup-privateを持っていない人、自分のニーズに合わせて調整する必要がある人、または〜/ [\。{0,1}]プライベートディレクトリをすでに持っている人のための代替方法



ディレクトリの新しいペアが〜/ .Storageおよび〜/ Storageと呼ばれるとします。

だから:

同期に参加しているすべてのコンピューターで、必要なディレクトリを作成します。

 mkdir ~/.Storage mkdir ~/Storage
      
      







いずれかのコンピューターで、最初のマウントを実行します。

 sudo mount -t ecryptfs /home/user/.Storage/ /home/user/Storage/ -o \ key=passphrase,ecryptfs_cipher=aes,ecryptfs_key_bytes=16, \ ecryptfs_passthrough=n,ecryptfs_enable_filename_crypto=yes
      
      





彼は「パスフレーズ」を尋ねます-暗号化のためのパスワードを入力します(すべてのコンピューターで同じ)、

彼は「ファイル名暗号化キー(FNEK)署名」を尋ねます-名前の暗号化のためのパスワードを入力します(すべてのコンピューターで同じ)、

次のようなものが出力されます。

 Attempting to mount with the following options: ecryptfs_unlink_sigs ecryptfs_fnek_sig=a973e495a25fce46 ecryptfs_key_bytes=16 ecryptfs_cipher=aes ecryptfs_sig=a973e495a25fce46
      
      





署名を覚えておいてください。

彼はドライブがまだこのパスワードでマウントされていないと言って、確認を求めます-「はい」と言います、

彼は、次回に確認を求めないように署名を追加するかどうかを尋ねます-「はい」。



次に、受け取った署名とパスワードを使用して、コマンド全体を作成します。コマンドは何も要求せずに実行されます。

 mount -t ecryptfs /home/user/.Storage/ /home/user/Storage/ -o key=passphrase,ecryptfs_cipher=aes,ecryptfs_key_bytes=16, \ ecryptfs_passthrough=n,ecryptfs_enable_filename_crypto=yes, \ passphrase_passwd=<my-password>,ecryptfs_sig=a973e495a25fce46, \ ecryptfs_fnek_sig=a973e495a25fce46
      
      





いくつかのファイルに入れて、起動時に実行します。 そしてもちろん、お気に入りのオンラインストレージで〜/ .Storageを共有します。



All Articles