Linux でペーパーキーを使用して GPG キーをバックアップする方法
Paperkey は、GPG 秘密キーを人間が読める形式でエクスポートできる Linux 用のコマンド ライン プログラムです。これは、秘密キーの冗長な部分を削除し、重要な秘密ビットのみを残すことによって機能します。
この記事では、Ubuntu にペーパーキーをインストールして設定するプロセスを説明し、ペーパーキーのバックアップを QR コードとして保存し、リカバリ時に抽出する方法を説明します。
GPG キーのバックアップに Paperkey を使用する理由
ペーパーキーの最大の利点の 1 つは、その形式が通常の PGP 秘密キー ブロックよりも小さいことが多いことです。これにより、さまざまな形式での管理と保存が容易になります。たとえば、ペーパーキーのバックアップは、紙に書き込めるほど小さいです。
そのため、paperkey を使用すると、あらゆる電子デバイスから PGP 秘密キーを削除する機会が得られます。現在、一部のデバイスは優れた「保存データ」暗号化を提供していますが、データをオフラインに保つことは、悪意のある者がキーにアクセスできないようにするための信頼できる方法です。
Paperkey の入手とインストール
- Paperkey をインストールする最初のステップは、システム全体を更新することです。これにより、システムのリポジトリ情報にペーパーキーの正しいパッケージ情報が含まれるようになります。
sudo apt updatesudo apt upgrade
- 次のコマンドを実行して、ペーパーキー アプリケーションをインストールします。
sudo apt install paperkey
- Paperkey がシステムに正しくインストールされているかどうかを確認します。
paperkey --version
ペーパーキーのバックアップを構成する
Paperkey をインストールすると、GPG 秘密キーのバックアップを開始できます。このガイドでは、 を実行して作成した 4096 ビット RSA/RSA キーをバックアップしますgpg --full-gen-key
。
- まず、GPG キーリング内の使用可能なキーをすべてリストします。
gpg --list-keys
- エクスポートする秘密キーのバイナリ コピーを出力します。
gpg --export-secret-keys --output private.gpg your-gpg@email.address
- 一緒にペーパーキーを実行します。gpg ファイルを使用して、そのコア秘密キーをプレーン テキスト ファイルで抽出します。
paperkey --secret-key private.gpg --output core-secret.asc
- 公開キーを既知のキーサーバーにアップロードします。これにより、回復プロセス中にキーを確実に再構築できるようになります。
gpg --keyserver keyserver.ubuntu.com --send-key YOUR-KEY-FINGERPRINT
- その後、秘密キー ファイルを完全に消去します。
shred -uvn 10. /private.gpg
ペーパーキーを QR コードに変換する
テキスト ファイルでエクスポートする以外に、paperkey を使用してシークレットを機械可読形式に変換することもできます。たとえば、基本的な UNIX パイプを使用して、コア シークレットを QR コード ジェネレーターにリダイレクトできます。これにより、信頼性が高くエラーのない方法でシークレットを簡単に回復できるようになります。
qrencode
パッケージ マネージャーからプログラムをインストールします。
sudo apt install qrencode
- GPG 秘密キーをバイナリ形式でエクスポートします。
gpg --export-secret-key --output qr-private.gpg your-gpg@email.address
- 「qr-private.gpg」ファイルを使用してpaperkeyを実行し、その出力を直接qrencodeにリダイレクトします。
paperkey --secret-key qr-private.gpg --output-type raw | qrencode --8bit --output /home/$USER/qr-private.png
- システムのファイル マネージャーを開き、QR 画像を確認します。
Paperkey のバックアップを復元する
この時点で、GPG 秘密キーの適切なペーパーキー バックアップが作成されました。人間が判読できるテキスト ファイルを作成することも、QR コードを紙に印刷して安全な場所に保管することもできます。
GPG キーを回復するには:
- 送信先のキーサーバーで公開キーを検索します。
gpg --keyserver keyserver.ubuntu.com --search your-gpg@email.address
- 検索結果リストから取得するキーを選択します。
- 公開キーをバイナリ形式でエクスポートします。
gpg --export --output public.gpg your-gpg@email.address
- Paperkey の
--pubring
とフラグの両方を使用して、元の秘密キーを再構築します。--secrets
paperkey --pubring public.gpg --secrets core-secret.asc --output private.gpg
- GPG を使用して、新しく再構築された秘密キーをインポートします。
gpg --import. /private.gpg
QR コードからペーパーキーのバックアップを復元する
ペーパーキー QR イメージと ID 用の既存の GPG 公開キーを組み合わせて、GPG 秘密キーを取得することもできます。
- zbar ユーティリティをインストールして、コンピューターで QR およびバーコードのスキャンを有効にします。
sudo apt install zbarcam-gtk zbar-tools
- zbarimg を使用して QR 画像をデコードし、その出力をファイルにパイプします。
zbarimg --quiet --raw --oneshot -Sbinary. /qr-private.png > core-secret.bin
- Paperkey を使用して元の GPG 秘密キーを再構築します。
paperkey --pubring public.gpg --secrets core-secret.asc --output private.gpg
- 秘密鍵を GPG キーリングにインポートします。
gpg --import. /private.gpg
よくある質問
Paperkey のバックアップは安全ですか?
デフォルトでは、ペーパーキーのバックアップは GPG キーの固有のプロパティを変更しません。これは、暗号化キーと使用されているビット数に応じて安全性が決まることを意味します。
ペーパーキーの利点の 1 つは、秘密キー データを保存するために電子デバイスに依存しないことです。これにより、特に他のユーザーがオンラインでアクセスできるネットワーク接続されたコンピューターを使用している場合に、高度なセキュリティが提供されます。
GPG 秘密キーをバックアップするときに、破損した入力エラーが発生します。
この問題は、paperkey が間違ったデータ型のファイルを読み取るたびに発生します。この不正なデータ型の最も一般的な原因は、ASCII で保護された GPG 秘密キーです。--armor
これを修正するには、 GPG エクスポート コマンドからオプションを削除する必要があります。
ペーパーキーを別の画像形式に変換することはできますか?
Paperkey は生のバイナリ データのみを提供するため、さまざまなイメージ生成プログラムを使用して独自の「ペーパーキー バックアップ イメージ」を作成することができます。
たとえば、GNU バーコードをインストールして次を実行すると、paperkey --secret-key qr-private.gpg --output-type raw | barcode -S > private.svg
コア シークレット ファイルの SVG バーコードを作成できます。
画像クレジット:Unsplash経由のシンシアリーメディア。すべての変更とスクリーンショットは Ramces Red によるものです。
コメントを残す