Linux でペーパーキーを使用して GPG キーをバックアップする方法

Linux でペーパーキーを使用して GPG キーをバックアップする方法

Paperkey は、GPG 秘密キーを人間が読める形式でエクスポートできる Linux 用のコマンド ライン プログラムです。これは、秘密キーの冗長な部分を削除し、重要な秘密ビットのみを残すことによって機能します。

この記事では、Ubuntu にペーパーキーをインストールして設定するプロセスを説明し、ペーパーキーのバックアップを QR コードとして保存し、リカバリ時に抽出する方法を説明します。

GPG キーのバックアップに Paperkey を使用する理由

ペーパーキーの最大の利点の 1 つは、その形式が通常の PGP 秘密キー ブロックよりも小さいことが多いことです。これにより、さまざまな形式での管理と保存が容易になります。たとえば、ペーパーキーのバックアップは、紙に書き込めるほど小さいです。

そのため、paperkey を使用すると、あらゆる電子デバイスから PGP 秘密キーを削除する機会が得られます。現在、一部のデバイスは優れた「保存データ」暗号化を提供していますが、データをオフラインに保つことは、悪意のある者がキーにアクセスできないようにするための信頼できる方法です。

GPG 秘密鍵のコアシークレットを示す端末。

Paperkey の入手とインストール

  • Paperkey をインストールする最初のステップは、システム全体を更新することです。これにより、システムのリポジトリ情報にペーパーキーの正しいパッケージ情報が含まれるようになります。

sudo apt updatesudo apt upgrade

  • 次のコマンドを実行して、ペーパーキー アプリケーションをインストールします。

sudo apt install paperkey

  • Paperkey がシステムに正しくインストールされているかどうかを確認します。

paperkey --version

Paperkey の現在のバージョンを表示するターミナル。

ペーパーキーのバックアップを構成する

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

QRencode プログラムの結果を表示するターミナル。
  • システムのファイル マネージャーを開き、QR 画像を確認します。
QR コード形式の GPG 秘密キーの例を示すスクリーンショット。

Paperkey のバックアップを復元する

この時点で、GPG 秘密キーの適切なペーパーキー バックアップが作成されました。人間が判読できるテキスト ファイルを作成することも、QR コードを紙に印刷して安全な場所に保管することもできます。

GPG キーを回復するには:

  • 送信先のキーサーバーで公開キーを検索します。

gpg --keyserver keyserver.ubuntu.com --search your-gpg@email.address

  • 検索結果リストから取得するキーを選択します。
キーサーバーから GPG 公開キーをインポートするプロセスを示すターミナル。
  • 公開キーをバイナリ形式でエクスポートします。

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

QR コードからコア秘密データを削除するプロセスを示す端末。
  • Paperkey を使用して元の GPG 秘密キーを再構築します。

paperkey --pubring public.gpg --secrets core-secret.asc --output private.gpg

  • 秘密鍵を GPG キーリングにインポートします。

gpg --import. /private.gpg

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 によるものです。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です