web-dev-qa-db-ja.com

公開鍵/秘密鍵を2台目のコンピューターに転送する安全な方法

Seahorse(暗号化キーのGNOME管理ツール)を使用して公開/秘密キーを作成しました。キーが配置されているコンピューターからファイルを暗号化および復号化することに問題はありませんでしたが、他のコンピューターで復号化および暗号化したいのですが。この場合、公開鍵と秘密鍵を安全に転送する方法は何ですか?

最終的に.gnupgディレクトリを2台目のコンピューターにコピーし、Ubuntuのキーマネージャーが両方のキーを検出したため、パスフレーズを入力した後、ファイルを開くことができましたが、安全で適切な方法を知りたいのですが?

16
Robert Smith

(少なくとも、SSHトンネルを介した、またはUSBキーを使用した盗聴耐性のあるメディアを使用してコピーを行った場合は)本当に良い方法はありません。重要なファイルが両方のシステムのハードディスクにファイルとして保存されている場合、これは単純なデータ転送の問題です。

最終的に、秘密鍵はパスフレーズによって保護されます。

(もちろんpublicキーは、セキュリティ上の問題なしに、適切と思われる方法で転送できます。それらはpublicです。)

7
Tom Leek

秘密鍵を長いパスワードで暗号化し、ターゲットコンピューターで復号化します。方法は次のとおりです。

まず、公開鍵をエクスポートします。

gpg --output public-key.gpg --export {KEYID}

次に、秘密鍵をエクスポートし、ディスクに書き込む前に結果を暗号化します。

gpg --output - --export-secret-key {KEYID} |\
gpg --armor --output secret-key.asc --symmetric --cipher-algo AES256

暗号化には、非常に長いパスワードまたは完全にランダムなパスワードのいずれかを使用してください。

次に、keys.ascをFATフォーマットのフラッシュに転送し、後でそれらを細断処理します。または、CDを破棄する方法(完全に)がわかっている場合は、CDを使用して破棄します。

他のマシンにキーをインポートするには、次のコマンドを実行します。

gpg --no-use-agent --output - keys.asc | gpg --import

これにより、パスワードの入力が求められ、キーが復号化されてインポ​​ートされます。

これを実行した後は、暗号化されたファイルを必ず破棄してください!秘密鍵のような小さなファイルでは、パスワードを総当たりにするのはかなり簡単で、使用可能なハードウェアに応じて、数週間から数か月で実行できます。アタッカー。 PGP秘密鍵の構造が公に知られているため、攻撃者の仕事はさらに単純化されているため、既知のクリアテキスト攻撃を試みることができます。 秘密キーの暗号化されたバージョンが漏洩した場合は、キーを取り消して、新しいキーをすぐに生成してください。

コマンドのソース: http://montemazuma.wordpress.com/2010/03/01/moving-a-gpg-key-privately/

9
Shnatsel

別のコンピューターに転送する前に、公開鍵と秘密鍵を暗号化します。 30文字のランダムなパスワードを使用します。同じパスワードで他のコンピューター上のファイルを復号化します。

3
ponsfonze

別のチャネルを介して受信者にキーを送信します。

別のアカウントから別のアカウントに送信します。

受取人の最初の仕事は、ピースを組み立てることです。

2番目の仕事は、キーを置き換えることです。

0
Martin Cleaver