web-dev-qa-db-ja.com

GPGはパスワードマネージャーとジェネレーターの一部として適していますか?

GPGはクラック、推測などに非常に強いと思います。GPGには自信があるので、自分のGPGキーをパスワードマネージャーまたはジェネレーターのマスターキーとして使用するのが適切でしょうか。

7
dzervas

GPGは対称鍵を使用してデータを暗号化し、次に対称鍵を公開鍵/秘密鍵のペアの/で暗号化します。その鍵ペアは通常、対称的に暗号化することにより安全に保たれます。

あなたが求めているのは、そのように図式化するプログラムです:

Symmetric -> Asymmetric -> Symmetric

使用する必要があるのは、次の手順を実行するパスワードマネージャです。

Symmetric

パスワードマネージャーの仕事は、データを平文にしないことと同じくらい単純なことです。 GPGの仕事は、明確なチャネルを介した鍵交換の通信を可能にすることです。パスワードを暗号化/復号化するのはあなただけなので、対称暗号化で十分です。暗号的に言えば。とにかくGPGはOpenSSLをバックエンドに使用しています。これは、無料で入手できる多数のパスワードマネージャーが使用している可能性が高いためです。

さて、以上のことから、 GnuPGキーが外部スマートカード に保持されており、 NFCカードのバージョンがある場合は、電話で作業します。さまざまなパスワードファイルを同期するためにgitを使用できます。

10
Jeff Ferland

私はあなたの質問への簡単な回答から始めます(2つの部分があります)。まず、はい、GPGは強力な暗号化を持つという点でパスワードマネージャーとして適しています。非対称暗号化を使用してパスワードが解読される可能性はほとんどありません(ほとんどが不可能と言われます)。

答えの2番目の部分は、いいえ、それはおそらくパスワードマネージャとして適切ではないということです。複数のマシンを使用している場合はキーを管理する必要があり、プライベートキーを紛失すると、非常に多くのパスワードをリセットする必要が生じます。

キー管理の問題をすばやく解決するには、gpg -c、パスフレーズを使用してgpg対称暗号化を使用できるようにします。これはすばらしいことですが、GPGの主要な利点(公開キー/秘密キー)を実際に使用していないため、代替ソリューションとして実際に推奨する領域に入りました。

現在の設定の詳細については説明しませんが、簡単に説明します。gpgを使用して資格情報のテキストファイルを管理するのではなく、opensslを使用します。これの背後にある理由は単純です。ほとんどすべてのLinux(そして私は、OS X)システムにはopensslがプリインストールされています。それは普遍的で、フラッシュドライブ(もちろん、そのコピー)に暗号化されたファイルを持ち歩いている場合、移植性が非常に簡単になります。管理するキーはなく、使用する暗号化方法を簡単に選択できます。

私はこのようなものを好む傾向があります:openssl aes-256-cbc -salt -in passwords.txt -out passwords.aesパスワードデータベースを暗号化します。プレーンテキストをrmすることを忘れないでください!そこから、openssl aes-256-cbc -d -in passwords.aesgrepは、私が使用しているクレデンシャル用です。物事を追加すると少しトリッキーになります-通常はstdoutに出力するか、一時ファイルを追加してから再暗号化する必要があります-しかし、opensslが提供する移植性のために私には価値があります。

9
dshaw

はい、実際には、暗号化にgpgを使用するパスワードマネージャがあります。これはpassと呼ばれ、linux/Unixの http://www.passwordstore.org/ から入手できます。

パスを使用すると、各パスワードは、パスワードを必要とするWebサイトまたはリソースのタイトルがファイル名であるgpg暗号化ファイル内に存在します。これらの暗号化されたファイルは、意味のあるフォルダー階層に編成され、コンピューターからコンピューターにコピーされ、一般に、標準のコマンドラインファイル管理ユーティリティを使用して操作されます。

passを使用すると、これらの個別のパスワードファイルの管理が非常に簡単になります。すべてのパスワードは〜/ .password-storeにあり、passはパスワードを追加、編集、生成、および取得するためのいくつかのNiceコマンドを提供します。これは非常に短くてシンプルなシェルスクリプトです。クリップボードにパスワードを一時的に配置し、gitを使用してパスワードの変更を追跡することができます。

Passコマンドとともに通常のUNIXシェルコマンドを使用して、パスワードストアを編集できます。ファンキーなファイル形式や学習する新しいパラダイムはありません。 bash補完機能があるので、タブを押すだけで名前とコマンドを入力できます。また、補完フォルダーにあるzshとfishの補完機能もあります。コミュニティは、GUIクライアント、Androidアプリ、iOSアプリ、Firefoxプラグイン、dmenuスクリプト、さらにはemacsパッケージさえも作成しました。

4
Brian Minton

パスワードを読み取るには、ホームディレクトリにある暗号化されたファイルを使用します。復号化するには、GnuPGの復号化コマンドを使用します。これは、Nice Shellスクリプトrpw(読み取りパスワード用)でカバーされています。パスフレーズを要求し、すべてのパスワードをターミナルに表示します。オプションで、次のような検索用語を指定できます。 rpw ebay。次に、パスワードを入力すると、「ebay」が表示される行のみが表示されます。ここで/usr/local/bin/rpwから私のスクリプトを見つけてください:

gpg -d -o - /home/USER/pw.gpg | grep "$1" 

パスワードファイルを書き込み/編集するには、暗号化を解除して編集し、暗号化を解除しながら、暗号化を解除したファイルをワイプします。これがwpw(書き込みパスワード用)と呼ばれるこのスクリプトです。 /usr/local/bin/wpw

gpg -d -o /home/USER/pw_unenc /home/USER/pw.gpg
vi /home/USER/pw_unenc
gpg -o /home/USER/pw.gpg -e /home/USER/pw_unenc
wipe -f -s /home/USER/pw_unenc

これはすべて非常に簡単で、GnuPGのセキュリティに依存しています。

2
Ilja