Linux で GPG キーを保護する 5 つのヒント

Linux で GPG キーを保護する 5 つのヒント
ノートパソコンのキーボードの上にある真鍮製のロックの写真。

そのため、悪意のある人物から GPG キーを保護することで、他の人との通信で誰かがあなたになりすますことができなくなります。ここでは、Linux で GPG キーを保護するための 5 つの簡単なヒントを紹介します。

1. 各GPG関数のサブキーを作成する

Linux で GPG キーを保護する最も簡単な方法の 1 つは、キー機能ごとに個別のサブキーを作成することです。サブキーは、プライマリ マスター キーに付加される追加の暗号化 ID です。これにより、プライマリ プライベート キーは一般的なキー操作には使用されないため、悪意のある人物がプライマリ プライベート キーを盗み出すことが難しくなります。

これを行うには、プライマリキーの GPG キープロンプトを開きます。

実行してchange-usage、主キーのデフォルトの機能を変更します。

「S」と入力して を押すと、Enter主キーの署名機能が無効になります。

主キーの機能の選択プロンプトを強調表示する端末。

実行してaddkey、主キーの 2 番目のサブキーを作成します。

端末を強調表示

キーアルゴリズムプロンプトで「8」を選択し、を押しますEnter

サブキーのアルゴリズム オプションを強調表示する端末。

プロンプトに「=S」と入力し、 を押してEnterサブキーの機能を「署名のみ」に設定します。

キーサイズプロンプトに「4096」と入力し、 を押してEnterRSA サブキーのサイズを 4096 ビットに設定します。

サブキーのキーサイズプロンプトを強調表示する端末。

サブキーの適切な有効期間を設定します。私の場合は、サブキーの有効期限が 1 年になるように設定します。

サブキーのキー有効期間を強調表示する端末。

Enter「y」と入力し、確認プロンプトを押して新しいサブキーを作成します。

コマンドを再実行しaddkey、暗号化機能と認証機能用の他の 2 つのサブキーを作成します。

サブコマンドを実行して、GPG キーにすべての機能のサブキーがあることを確認しますlist

主キーで使用可能なさまざまなサブキーを表示する端末。

2. キーの有効期限を設定する

Linux で GPG キーを保護するもう 1 つの簡単な方法は、主キーとサブキーに有効期限を設定することです。これはキーの署名、暗号化、認証の機能には影響しませんが、有効期限を設定すると、他の GPG ユーザーがキーサーバーに対して常にキーを検証する理由が与えられます。

まず、GPG CLI ツール内で主キーを開きます。

「expire」と入力して、 を押してEnter主キーの有効期限を編集します。私の場合は、10 年後に有効期限が切れるように設定します。

主キーのキーサイズの有効性プロンプトを強調表示する端末。

GPG キーのパスワードを入力し、を押してEnter新しい有効期限を確定します。

GPG キーの内部サブキーを選択するには、次のコマンドを実行します。

サブキー選択のインジケーターを強調表示する端末。

を実行しexpire、サブキーの有効期限を指定します。ほとんどの場合、これらのキーはプライマリキーよりも早く期限切れになります。私の場合は、8 か月後に期限切れになるように設定します。

サブキーのセットを一括更新するためのキーの有効期間を強調表示する端末。

「save」と入力し、 を押してEnter変更を GPG キーリングにコミットします。

次のコマンドを実行して、キーの有効期限が適切であることを確認しますgpg --list-keys

主キーとそのサブキーの両方の更新された有効期限を表示する端末。

3. GPGキーをセキュリティキーに保存する

セキュリティ キーは、プライベート認証データを保持するために特別に設計された小さなデバイスです。この点で、セキュリティ全体を損なうことなく、GPG キーを保存するためにも使用できます。

まず、セキュリティ キーをマシンに接続し、次のコマンドを実行して GPG がそれを検出するかどうかを確認します。

主キーの GPG プロンプトを開き、次のコマンドlistを実行してキーリングの詳細をすべて出力します。

使用値が「S」のサブキーを見つけて、サブキー リストでキーとその順序番号の後に続くキーを実行します。たとえば、私の「S」サブキーはリストの最初のキーなので、 を実行しますkey 1

端末でサブキーを強調表示し、

「S」サブキーをセキュリティ キーの内部ストレージに移動します。

転送プロンプトで「1」を選択し、プライマリ GPG キーのパスワードを入力してから、keyコマンドを再度実行して最初のサブキーの選択を解除します。

サブキーをセキュリティ キーに移動するための選択プロンプトを強調表示している端末。

使用値が「A」のサブキーを見つけて、keyサブキーのインデックス番号に続けてコマンドを実行します。

コマンドを使用して「A」サブキーをセキュリティ デバイスに転送しkeytocard、転送プロンプトで「3」を選択してから、キー コマンドを再実行して「A」サブキーの選択を解除します。

認証サブキーの選択プロンプトを強調表示し、それをセキュリティ キーに移動する端末。

使用値が「E」のサブキーを見つけて、keyコマンドを使用して選択します。

keytocard コマンドを使用して「E」サブキーをセキュリティ デバイスに転送し、プロンプトで「2」を選択します。

暗号化サブキーの選択プロンプトを強調表示し、それをセキュリティ キーに移動する端末。

を実行しsave、 を押してEnter変更を GPG キーリングにコミットします。

最後に、 を実行して、マシンからサブキーが適切にエクスポートされたことを確認しますgpg --list-secret-keys YOUR-GPG@EMAIL.ADDRESS。これを行うと、サブキーの「ssb」ラベルの横に大なり記号 (>) が表示されます。

サブキー インジケーターを強調表示している端末。これは、サブキーがセキュリティ キーで使用可能になったことを示しています。

4. メインの秘密鍵を紙にバックアップする

セキュリティ キーの他に、Linux で GPG キーを印刷可能なテキスト ファイルにエクスポートして保護することもできます。 Paperkey は、秘密キーを取得してそのコアの秘密バイトに分解するシンプルなコマンド ライン ユーティリティです。 これは、GPG キーをデジタル デバイスの外部に保存する方法を探している場合に便利です。

まず、Linux ディストリビューションのパッケージ リポジトリから paperkey をインストールします。

プライマリ秘密鍵と公開鍵のバイナリ バージョンをエクスポートします。

バイナリ秘密鍵をそのコア秘密データに変換します。

ペーパーキーのバックアップからプライマリ秘密キーを再構築できることを確認します。

お気に入りのグラフィカル テキスト エディターを使用して、コア シークレット ファイルを開きます。私の場合は、GNOME のデフォルトのテキスト エディターを使用しています。

paperkey を使用して GPG 秘密キーから抽出された秘密データを示すスクリーンショット。

ウィンドウの右上隅にある「オプション」メニューをクリックし、「印刷」サブメニュー項目を選択します。

スクリーンショットでは、

5. システムからメインの秘密鍵を削除する

新しい GPG キーを生成すると、コンピューターはファイルシステム内に公開キーと秘密キーのコピーを保存します。これは便利ですが、ネットワーク接続されたコンピューターや共有アクセス コンピューターを使用している場合は問題になることがあります。

これを解決する 1 つの方法は、自分の GPG キーリングの秘密キーを削除することです。これにより、悪意のある人物がコンピューターから秘密キーを抽出してサブキーに署名したり認証したりすることができなくなります。

まず、元のプライマリ GPG 秘密キーとサブキーをバックアップします。

対称暗号化を使用してプライマリ秘密キーブロック出力を暗号化します。

秘密鍵データに比較的強力なパスワードを入力し、 を押しますEnter

GPG での対称暗号化のパスワードプロンプトを示すスクリーンショット。

暗号化された GPG 秘密キーを外部ストレージ デバイスに保存します。

GPG キーペアからすべての秘密キーデータを削除します。

秘密サブキー ブロックを GPG キー ペアにインポートします。

次のコマンドを実行して、プライマリ秘密鍵がシステムにまだ存在するかどうかを確認します。

これを行うと、主キーの「sec」ラベルの横にポンド記号 (#) が表示されます。これは、秘密キーが GPG キーリングに存在しないことを示します。

GPG キーリング内にプライベートキーがもう存在しないことを示すターミナル。

これらの簡単なヒントを使用して GPG キーを保護する方法を学ぶことは、公開キー暗号化の広大なエコシステムを探索するほんの一部にすぎません。GPG を使用して SSH サーバーにログインし、このプログラムをさらに深く理解してください。

画像クレジット: FlyD via Unsplash。すべての変更とスクリーンショットは Ramces Red によるものです。

コメントを残す

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