web-dev-qa-db-ja.com

単一のファイルを暗号化し、オンザフライで読み取り/編集します

暗号化したいテキストファイルが1つあります。一般的なソフトウェアならどれでも簡単にできます。しかし、それでは、それをクリックしてパスワードを入力し、読み取り、編集、および閉じることができるようにしたいと思います。すべてGUIからのものであり、KDE互換である必要があり、場合によってはエディターはKateである必要があります。理想的には、これは1回のKRunner呼び出しで利用できるはずです。代替のCLIアプローチは問題ありませんが、単一のコマンド/関数/エイリアスに含める必要があります。

暗号化されたフォルダを作成する可能性があります。次に、アクセス時にのみフォルダーをマウントし、テキストエディターを閉じた直後にすべて1つのCLIコマンドでマウントを解除します。それは私には少しハックに見えます、そして私はKRunnerからの呼び出しだけをしたいと思います。

要約するとArchWiki に続いて少し:

  • PCが盗まれた場合に備えて、1つのファイルを保護したいと思います。もちろん、プロのデータマイニング担当者は最終的にはそれに到達するでしょう、私はそれを受け入れます。
  • ファイルはパスフレーズオンザフライ(オンデマンド)でアクセス可能(読み取り/書き込みアクセス)である必要があります
  • GUIメソッドが推奨されますが、.desktopファイル(KRunner経由でアクセス)で呼び出すことができる限り、CLIメソッドでも問題ありません。
  • それがまともな速度で安全でオープンソースである限り、私は好ましい暗号化方法を持っていません。
  • 暗号化されたフォルダの構造とファイル名(これが唯一の方法である場合)は、コンテンツにアクセスできない限り、透過的にすることができます。
  • たとえば、キーの検証に数分もかからない限り、どの暗号化方法でも受け入れられます。
5
AF7

一度に1つのファイル、または非常にまれなファイルの場合、暗号化されたドライブ全体またはEncFS/eCryptFS/dm-crypt/LUKSを備えたホームはやり過ぎだと思います(ただし、盗難の場合はうまく機能します)。

Bash関数を使用して復号化、編集、再暗号化するソリューションは、探しているもののように聞こえます。 gpgを使用するのは、これまでに見たほとんどすべてのLinuxにデフォルトでインストールされており、数十年前から存在しているはずなので、長期アーカイブに適しているように見えます。このようなものを.bashrcファイルに入れてターミナルで使用したり、ファイルマネージャーの「右クリック」メニューに組み込んだりすることもできます(KDEに精通していないので、あなたはそれがひどく難しいことではないはずです)。

これらの簡単な関数は、最初の引数$1をファイル名として使用して/tmp/gpg-edit.outに復号化し(セキュリティを強化するためにtmpfs/ramdiskを使用できます)、gedit(またはお気に入りのエディター)で編集します)、編集が完了したらファイルを再暗号化します。最初の行だけが読み取られてパスフレーズとして使用される「パスフレーズファイル」を使用するため、安全な場所(tmpfs/ramdiskなど)に保持する必要がありますが、省略してもかまいません。&gpgで要求されます。毎回パスフレーズ。

edit-gpg() {
gpg -v --no-use-agent --passphrase-file=/path/to/keyfile --output "/tmp/gpg-edit.out" "$1" &&
gedit "/tmp/gpg-edit.out" &&
gpg -v --no-use-agent --cipher-algo AES256 --passphrase-file=/path/to/keyfile --output "$1" -c "/tmp/gpg-edit.out" &&
rm "/tmp/gpg-edit.out"
}

今後のTo-Doには、「/ tmp/gpg-edit.out」ファイルがすでに存在するかどうかのチェックが含まれます(存在する場合はgpgが上書きを要求します)。
または、ランダムな出力ファイルを使用して、一度に複数のファイルを編集できるようにします。今のところ、一度に1つずつです。
--no-use-agentを省略すると、gpgのGUIパスフレーズ入力ボックスを使用する必要がありますが、最後にオプションを省略したときは、常に GUIボックスを使用します無視します--passphrase-fileオプション。

別の短い関数は、最初に同じパスフレーズファイルでファイルを暗号化できます。

crypt-gpg() { 
gpg -v --no-use-agent --cipher-algo AES256 --passphrase-file=/path/to/keyfile -c "$1" &&
rm "$1"
}
3
Xen2050

Emacsでは、.gpgで終わるファイルを透過的に編集できます。

1)$ emacs yourfile.txt.gpg

2)ファイルを編集します。

3)C-x C-sを保存するには、[OK]またはC-c C-cをクリックして対称暗号化を選択します。次に、パスワードを入力して確認します。

4)C-x C-cでEmacsを閉じます。

これでファイルが暗号化されました。再度編集するには、上記と同じプロセスに従います。

1
nanny