個々のファイルを暗号化し、すぐに読み取り/編集

個々のファイルを暗号化し、すぐに読み取り/編集

暗号化したいテキストファイルがあります。一般的なソフトウェアを使用すると、簡単にこれを行うことができます。しかし、私はそれをクリックし、パスワードを提供し、読んで、編集し、閉じることを望んでいます。 GUIのすべての項目はKDEと互換性がなければならず、編集者はKateです。理想的には、単一のKRunner呼び出しで利用可能でなければなりません。代替CLI方法も可能ですが、単一のコマンド/関数/エイリアス内に含める必要があります。

1つの可能性は、暗号化されたフォルダを作成することです。その後、フォルダはアクセス時にのみマウントされ、テキストエディタが閉じられるとすぐに単一のCLIコマンドを使用してマウント解除されます。しかし、これは私に少し昔ながらのようで、KRunnerから電話をかけたいと思います。

結論として従う建築ウィキペディア少し:

  • コンピュータが盗まれた場合に備えて、個々のファイルを保護したいと思います。もちろん、プロのデータマイナーが最終的にはそれを手に入れ、私はそれを受け入れます。
  • ファイルにはパスワードでアクセスできる必要があります(読み取り/書き込みアクセス)。即時(要請時)
  • GUIメソッドが優先されますが、.desktopファイル(KRunner経由でアクセス)を使用して呼び出すことができる場合は、CLIメソッドも問題ありません。
  • 高速、安全、優先暗号化方法はありません。オープンソース
  • 暗号化されたフォルダの構造とファイル名(これが唯一の方法である場合)は、コンテンツにアクセスできない限り透明にすることができます。
  • たとえば、鍵の確認に数分かかる場合を除き、すべての暗号化方法が許可されます。

ベストアンサー1

一度に1つのファイルのみ、または非常に時折ファイルの場合は、EncFS / eCryptFS / dm-crypt / LUKSを使用してドライブ全体またはホームディレクトリを暗号化するのは過剰であると思います(ただし、盗難時にはうまく機能します)。

bash機能を使用して復号化、編集、および再暗号化するソリューションは、あなたが探しているものと似ています。私が見たほとんどすべてのLinuxにデフォルトでインストールされ、何十年も使用されており、今後数十年はもっと必要があるため、これを使用したので長期gpg保管に適しているように見えました。これはファイルに入れて.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"
}

今後のことは、「/tmp/gpg-edit.out」ファイルがすでに存在することを確認することです(gpgもしそうなら、上書きが必要です)。
または、ランダム出力ファイルを使用して一度に複数のファイルを編集できます。現在は一度に1つしかありません。これを
省略すると、--no-use-agentgpgのGUIパスワード入力ボックスを使用する必要がありますが、前回そのオプションを省略したときいつもGUIボックスを使用して無視するオプション--passphrase-file

もう1つの短い機能は、最初に同じパスワードファイルを使用してファイルを暗号化することです。

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

おすすめ記事