Jump to contentJump to page navigation: previous page [access key p]/next page [access key n]
適用先 openSUSE Leap 15.6

8 パスワードと鍵: データへの署名と暗号化 Edit source

概要

PGP や SSH 鍵の作成および管理方法を説明しています。

GNOME の パスワードと鍵 プログラムは、お使いのシステムにおける暗号化インフラストラクチャです。このプログラムを使用することで、 PGP や SSH の鍵を管理することができるほか、 1 つもしくは複数の鍵を取り込んだり取り出したり、共有したりバックアップしたり、鍵を開く際のパスフレーズを記憶させたりすることができます。

アプリケーションを起動するには、 Meta を押して アクティビティ オーバービューを表示させ、 key で検索を行います。

パスワードと鍵 のメインウインドウ
図 8.1: パスワードと鍵 のメインウインドウ

8.1 署名と暗号化 Edit source

署名: 電子メールのメッセージやソフトウエアなど、特定の情報に対して電子署名を追加することで、情報の発信源を保証することができるようになります。たとえば、自分以外の誰かが自分の名前を偽ったりするようなことがあり得る場合、電子メールに対して署名を付与することで、相手側で送信者が正しいことを確認することができます。このように電子署名は、メッセージの送信者を検証し、正当なメッセージと不当なメッセージを区別することができます。

ソフトウエアの開発者であれば、ソフトウエア自身に署名を付与することもできます。これにより、非公式のサーバからソフトウエアを取得した場合でも、その正当性を検証することができるようになります。

暗号化: 他社には見られたくない機密情報を送信したい場合、暗号化が役に立ちます。暗号化は元のデータを変換して、他社からは読み取ることのできない形式にします。これは特に企業内などで、内部情報や従業員情報を保護したいような場合に使用します。

8.2 新しい鍵対の生成 Edit source

他のユーザとの間で暗号化したメッセージをやり取りするには、まず自分自身の鍵対を生成する必要があります。鍵対には下記のものが含まれています:

  • 公開鍵: この鍵は暗号化を施す際に使用します。この鍵はやり取りを行う相手に配布すべきもの (つまり公開すべきもの) で、この鍵を使用してご自身に対するデータを暗号化することができます。

  • 秘密鍵: この鍵は暗号化を解除 (解読) する際に使用します。この鍵を使用することで、他者から送られた暗号化されたデータを、 (自分自身で) 元の形式に戻すことができるようになります。

重要
重要: 秘密鍵の保護について

もしも他者が秘密鍵にアクセスできてしまうと、他者がファイルやメッセージを解読できてしまうことになります。そのため、秘密鍵は必ず保護するものとし、他者からはアクセスできないようにしておいてください。

8.2.1 OpenPGP 鍵の作成 Edit source

OpenPGP は PGP をベースにした、公開鍵暗号による電子メール向け暗号化公開プロトコルです。暗号化されたメッセージや署名、秘密鍵や公開鍵を交換する際の証明書に関する標準を規定しています。

  1. アクティビティ オーバービューを開いて key で検索を行います。

  2. パスワードと鍵 を開きます。

  3. ウインドウの左上にある + ボタンを押します。

  4. 表示された一覧から PGP 鍵 を選択します。

  5. 氏名 欄に名前を入力します。

    必要であれば、メールアドレスや鍵に対するコメント文などを記入します。

  6. 生成 を押すと新しい鍵対を作成することができます。

    パスワードダイアログではパスワードを入力します。

  7. OK を押します。

    パスワードを指定する際には、できる限り強力なものを入力してください。

8.2.2 Secure Shell 鍵の作成 Edit source

Secure Shell (SSH) はリモートのコンピュータにログインするための方式で、この方式によって、相手側のマシンでコマンドを実行することができるようになる仕組みです。 SSH の鍵は鍵ベースの認証システムで使用するもので、既定のパスワード認証システムに対する代替として動作することになります。鍵ベースの認証を行うことで、パスワードを入力する必要が無くなります。

  1. アクティビティ オーバービューを開いて key で検索を行います。

  2. パスワードと鍵 を開きます。

  3. ウインドウの左上にある + ボタンを押します。

  4. 表示された一覧から セキュアシェルの鍵 を選択します。

  5. 鍵に設定する説明文を入力します。

    必要であれば、暗号化の種類や鍵の長さなどを変更します。

    暗号化の種類: 鍵を生成する際に使用する暗号化アルゴリズムを指定します。 RSA を選択すると、 Rivest-Shamir-Adleman (RSA) と呼ばれるアルゴリズムを利用して鍵を生成します。こちらが推奨値であり、より機密を保持できる方式になります。一方の DSA は、 Digital Signature Algorithm (DSA) と呼ばれる方式で鍵を生成します。

    鍵の長さ: 鍵の長さをビット数で指定します。鍵を長くすると機密性が高まります (ただしパスフレーズも強固に設定する必要があります) 。ただし、鍵を長くすると、それだけ処理に時間を要するようになります。設定可能な鍵の長さは 1024 から 4096 までで、通常は 2048 以上を推奨します。

  6. そのまま鍵を作成する場合は 生成のみ を、鍵を生成して接続先の情報も設定する場合は、 生成と設定 をそれぞれ押します。後者を選択した場合は、公開鍵のインストール手順に進みます。

8.3 鍵の属性情報の変更 Edit source

OpenPGP や SSH の鍵に対して、その属性情報を編集することができます。

8.3.1 OpenPGP 鍵の属性の編集 Edit source

本セクションで説明している内容は、全ての OpenPGP 鍵に対して当てはまります。

  1. アクティビティ オーバービューを開いて key で検索を行います。

  2. パスワードと鍵 を開きます。

  3. 左側のサイドパネルで GnuPG 鍵 を選択します。

  4. 編集したい PGP 鍵を選んでマウスの右ボタンを押し、 プロパティ を選択します。

    表示されたダイアログには、下記のような情報が表示されます:

    鍵 ID: 鍵 ID は鍵の指紋に似た仕組みですが、鍵 ID は指紋の末尾 8 文字分のみを使用しています。そのため、一般的には鍵 ID のみで鍵を識別できますが、稀に異なる鍵同士で鍵 ID が一致してしまうこともあります。

    指紋: この鍵を正確に識別することのできる文字列を表します。

    有効期限: その鍵の使用期限日付を表します (期限が切れたあとは、その鍵を利用した操作を行わないことを表明するものです) 。有効期限を延ばすことで、鍵を再度有効化することもできます。通常は有効期限のないマスターキーを作成しておいて、そこに期限付きの複数の副鍵を設定し、マスターキーで署名しておくのが一般的です。

    副鍵: 詳しくは 8.3.1.2項 「OpenPGP の副鍵の属性編集」 をお読みください。

    所有者の信用度: ここでは、鍵の所有者に対する信頼レベルを設定することができます。信頼レベルとは Web of Trust と呼ばれる仕組みで、その鍵をどれだけ信頼しているのかを表すものです。自分自身で直接信頼し、署名しているもの以外の鍵に対して、その鍵がどれだけの信頼できる人々から信頼されているのかを元にして、度合いを決定するためのものです。

  5. 鍵に写真を追加したい場合はダイアログ内の + ボタンを、鍵に結びつけられたパスワードを変更したい場合は、 左上のメニューボタンから Change passphrase を選択します。

    写真では、鍵の中に 1 つ以上の所有者の画像を組み込むことができます。もちろん鍵は通常通り使用することができます。写真は JPEG 形式で、推奨サイズは 120×150 ピクセルです。

    選択した画像が推奨されるファイル形式やサイズでなかった場合、 パスワードと鍵 は GDK ライブラリを利用して、推奨される形式とサイズにその場で修正することができます。

  6. ダイアログを閉じれば完了です。

8.3.1.1 ユーザ ID の追加 Edit source

ユーザ ID には複数の識別情報を設定することができます。これにより、同じ鍵の中に複数の電子メールアドレスを設定することができます。たとえば仕事用のメールアドレスと友人向けのメールアドレスを設定したりします。ユーザ ID は下記のような書式で設定します:

名前 (コメント) <メールアドレス>
  1. アクティビティ オーバービューを開いて key で検索を行います。

  2. パスワードと鍵 を開きます。

  3. 左側のサイドパネルで GnuPG 鍵 を選択します。

  4. 一覧から 自分の PGP 鍵 を選択します。

  5. 鍵の上でマウスの右ボタンを押し、 プロパティ › Add user ID を選択します。

  6. 表示されたダイアログ内で、新しいユーザ ID に対する 氏名 , メールアドレス , 鍵の説明 をそれぞれ入力します。

    メールアドレスは、キーサーバやその他のキー提供元で、ほとんどの人々が鍵を探す際に使用する項目です。内容が正しいことをよくお確かめください。

  7. パスフレーズを入力して OK を押せば完了です。

8.3.1.2 OpenPGP の副鍵の属性編集 Edit source

それぞれの OpenPGP 鍵には、署名のみを目的とした単一のマスターキーが存在しています。副鍵は暗号化と署名の両方に使用します。この仕組みにより、副鍵の安全性が損なわれた場合でも、マスターキーそのものを失効させる必要が無くなります。

  1. アクティビティ オーバービューを開いて key で検索を行います。

  2. パスワードと鍵 を開きます。

  3. 一覧から GnuPG 鍵 を選択します。

  4. 一覧から 自分の PGP 鍵 を選択します。

  5. 鍵の上でマウスの右ボタンを押し、 プロパティ を選択します。

  6. 鍵の属性情報を変更します。

  7. 変更点を確認してダイアログボックスを閉じます。

8.3.2 Secure Shell 鍵の属性編集 Edit source

本セクションで説明している内容は、全ての SSH 鍵に対して当てはまります。

  1. アクティビティ オーバービューを開いて key で検索を行います。

  2. パスワードと鍵 を開きます。

  3. 一覧から OpenSSH 鍵 を選択して、表示された一覧から編集したい鍵の上でマウスの右ボタンを押し、 プロパティ を選択します。

  4. 下記のような情報を表示し、編集することのできるダイアログが表示されます:

    アルゴリズム: 鍵を生成する際に使用した暗号化アルゴリズムが表示されます。

    場所: 秘密鍵の保存先を表します。

    指紋: この鍵を正確に識別することのできる文字列を表します。

    エクスポート: ファイルに鍵全体を出力します。

  5. 変更点を確認してダイアログを閉じます。

8.4 鍵の取り込み Edit source

鍵はテキストファイルに保存することができます。これらのファイルには、冒頭に PGP 鍵であることを示すテキストが、その後ろに鍵そのものが記述されます。この形式を ASCII-armored 鍵と呼びます。

鍵を取り込むには、下記の手順を実施します:

  1. アクティビティ オーバービューを開いて key で検索を行います。

  2. パスワードと鍵 を開きます。

  3. 左上にある + ボタンを押します。

  4. 一覧から ファイルからインポート を選択します。

  5. 表示されたダイアログで取り込むべき鍵を選択します。 SSH の公開鍵の場合、通常は pub で終わるファイル名になります。

  6. 開く を押すと鍵を取り込むことができます。

このほかにも、 パスワードと鍵 内に鍵を貼り付ける方法もあります:

  1. ASCII-armored 公開鍵のテキストを選択して、クリップボードにコピーします。

  2. アクティビティ オーバービューを開いて key で検索を行います。

  3. パスワードと鍵 を開きます。

  4. 左上にある + ボタンを押します。

  5. 適切な場所に鍵を貼り付けます。

8.5 鍵の取り出し Edit source

鍵を取り出すには、下記の手順を実施します:

  1. アクティビティ オーバービューを開いて key で検索を行います。

  2. パスワードと鍵 を開きます。

    左側のサイドパネルで GnuPG 鍵 を選択します。

  3. 取り出したい 自分の PGP 鍵 を選択します。

  4. 鍵の上でマウスの右ボタンを押し、 エクスポート を選択します。

  5. ASCII 形式で鍵を保存したい場合は、 アスキー形式の PGP 鍵 を選択します。

  6. あとは取り出し先を選択して エクスポート を押します。

8.6 鍵への署名 Edit source

他者の鍵に対して署名を付与することで、その人に対する信頼を設定することになります。そのため、鍵に署名を行う場合は、事前に鍵の指紋をよくご確認になり、その鍵が本当にその人のものなのかをお確かめください。

信頼とは、その人に対する信頼度を設定するための仕組みです。自分自身で直接信頼し、署名しているもの以外の鍵に対して、その鍵がどれだけの信頼できる人々から信頼されているのかを元にして、度合いを決定するためのものです。

  1. アクティビティ オーバービューを開いて key で検索を行います。

  2. パスワードと鍵 を開きます。

  3. まずは署名したい鍵を取り込みます。

  4. GnuPG 鍵 の一覧から、取り込んだ鍵を選択します。

  5. 鍵の上でマウスの右ボタンを押し、 プロパティ › 信用度 を選択します。

  6. Sign this Key ボタンを押します。

  7. 鍵をどれくらい入念にチェックしたのかを選択します。

  8. また、署名を一定期間後に失効させるかどうかや、署名を公開するかどうかをそれぞれ選択することができます。

  9. 最後に 署名する を押します。

8.7 ファイルマネージャとの統合 Edit source

パスワードと鍵は GNOME Files と統合することができます。ファイルマネージャのウインドウから暗号化や暗号の解読、署名や署名の検証、公開鍵の取り込みなどを行うことができます。 パスワードと鍵 をわざわざ起動する必要はありません。

注記
注記: ファイルマネージャとの統合の要件について

ファイルマネージャとの統合機能を利用するには、 nautilus-extension-seahorse パッケージをインストールしなければなりません。

8.7.1 GNOME Files でのファイルの暗号化 Edit source

  1. GNOME Files で暗号化したいファイルを選択して、マウスの右ボタンを押します。

  2. 暗号化 を選択します。

  3. ファイルを送る相手 (受信者) を選択して OK を押します。

  4. 場合によっては、秘密鍵のパスフレーズを入力するよう求められることがあります。その場合は、パスフレーズを入力して OK を押します。

8.7.2 GNOME Files でのファイルへの署名 Edit source

  1. GNOME Files で署名を付与したいファイルを選択して、マウスの右ボタンを押します。

  2. 署名 を選択します。

  3. 署名者を選択して OK を押します。

  4. 場合によっては、秘密鍵のパスフレーズを入力するよう求められることがあります。その場合は、パスフレーズを入力して OK を押します。

8.7.3 GNOME Files でのファイルの解読 Edit source

GNOME Files で暗号化されたファイルを解読するには、解読したいファイルを選んでダブルクリックします。

場合によっては、秘密鍵のパスフレーズを入力するよう求められることがあります。その場合は、パスフレーズを入力します。

8.7.4 GNOME Files でのファイル署名の検証 Edit source

ファイルの署名を検証するには、対象のファイルとは別に用意された署名ファイルをダブルクリックします。

8.8 パスワードキーリング Edit source

パスワードキーリングの設定を行うことで、キーリングの作成や削除のほか、アプリケーションのパスワードを保存する際の既定のキーリングの指定や、キーリングを解錠する際のパスワードを変更することもできます。新しいキーリングを作成するには、下記の手順を行います:

  1. アクティビティ オーバービューを開いて key で検索を行います。

  2. パスワードと鍵 を開きます。

  3. 左上にある + ボタンを押します。

  4. 一覧から パスワードキーリング を選択します。

  5. キーリングに設定する名前を入力して OK を押します。

  6. キーリングに設定する パスワード とその確認を入力して 続行 を押すと、キーリングを作成することができます。

既存のキーリングに対して海上用のパスワードを変更するには、 パスワード タブ内でキーリングを選択して右ボタンを押し、 パスワードの変更 を選択します。まずはパスワードを変更するため、既存のパスワードの入力を求められます。

アプリケーションのパスワードを保存する際の既定のキーリングを変更するには、 パスワード タブ内でキーリングを選択して右ボタンを押し、 デフォルトにする を選択します。

8.9 鍵サーバ Edit source

リモートの鍵サーバとの間で定期的に同期を行うことで、お使いの鍵を常に最新の状態に保つことができます。同期を行うことで、お使いの鍵に対する署名情報を最新に保つことができますので、 Web of Trust の世界がより効率的になります。

  1. アクティビティ オーバービューを開いて key で検索を行います。

  2. パスワードと鍵 を開きます。

  3. 同期したい PGP 鍵を選択します。

  4. ヘッダ部分にあるメニューボタンを押します。

  5. 鍵の公開と同期 を選択します。

    HKP 鍵サーバ: HKP 鍵サーバは Web ベースの鍵サーバで、著名なところでは hkp://pgp.mit.edu:11371 などがあります。こちらは http://pgp.mit.edu からもアクセスできるようになっています。

    LDAP 鍵サーバ: LDAP 鍵サーバは一般的に使用されるものではありませんが、標準化された LDAP プロトコルを利用して鍵にアクセスを行います。推奨されるサーバとしては ldap://keyserver.pgp.com などがあります。

    左側にあるボタンを利用することで、鍵サーバを 追加 または 削除 することができます。新しい鍵サーバを追加するには、種類とホスト名、およびポートをそれぞれ指定します。

  6. また、ご自身の公開鍵を自動的に公開するかどうかを選択するほか、どこに対して鍵を公開するのかを選択することもできます。また、鍵サーバから自動的に鍵を取得するよう設定したり、変更した鍵を鍵サーバとの間で自動的に同期したりすることもできます。

  7. 同期する を押すと、鍵を同期することができます。

8.10 鍵の共有 Edit source

鍵の共有は DNS-SD (Bonjour や Rendezvous とも呼ばれます) を介して提供されている仕組みで、ローカルの パスワードと鍵 にあるユーザの公開鍵を、リモートの検索ダイアログから検索できるようになります。インターネット上のサーバにアクセスするよりは、一般的に高速に動作します。

  1. アクティビティ オーバービューを開いて key で検索を行います。

  2. パスワードと鍵 を開きます。

  3. 左側のサイドパネルで GnuPG 鍵 を選択します。

  4. 共有したい 自分の PGP 鍵 を一覧から選択します。

  5. ヘッダ部分にあるメニューボタンを押します。

  6. 鍵の公開と同期 を選択します。

  7. 鍵サーバ ボタンを押すと、鍵サーバの一覧を表示することができます。

  8. 鍵を公開したい場合は、メニューからサーバを選んでからウインドウを閉じ、元のダイアログに戻ります。

  9. 同期する を押せば同期が行われます。

このページを印刷