8 : データの署名および暗号化 #
GNOMEのパスワードと鍵プログラムは、システムの暗号化インフラストラクチャの重要なコンポーネントです。このプログラムでは、PGP鍵やSSH鍵の作成と管理、鍵のインポート、エクスポート、共有、鍵やキーリングのバックアップ、およびパスフレーズのキャッシュを行うことができます。
アプリケーションを起動するには、Metaを押して、アクティビティ画面を開き、pass
を検索します。
8.1 署名および暗号化 #
署名. 電子メールメッセージやソフトウェアなど、情報に電子署名を添付して、その送信元を証明します。他のユーザにより名前が使用され、メッセージが書き込まれることがないように、そして自身と送信先ユーザの双方を保護するために、メールに署名するべきです。署名によって、受信したメッセージの送信者を確認し、正当なメッセージと悪意のあるメッセージを見分けることができます。
ソフトウェア開発者は、完全性をチェックできるように、ソフトウェアに署名します。非公式のサーバからのソフトウェアを所有している場合でも、パッケージを署名で検証できます。
暗号化. 他者から保護する必要がある機密情報を所有していることもあります。暗号化によって、データを変換して他者が読めないようにすることができます。このことは企業にとって、社内情報と社員のプライバシーを保護するために重要です。
8.2 新しい鍵ペアの生成 #
暗号化されたメッセージを他のユーザと交換するには、まず自分の鍵ペアを生成する必要があります。鍵ペアは、次の2つの部分で構成されます。
[公開鍵]. この鍵は、暗号化に使用されます。発信者宛てのファイルやメッセージの暗号化に使用できるように、通信相手に配布します。
秘密鍵. この鍵は、復号化に使用されます。この鍵を使用して、他のユーザ(または自分自身)からの暗号化されたファイルやメッセージを再度判読できるようにします。
他のユーザが発信者の秘密鍵へのアクセス権を獲得すると、発信者宛てのファイルやメッセージを復号化することができます。秘密鍵へのアクセス権を他のユーザに付与しないでください。
8.2.1 OpenPGP鍵の作成 #
OpenPGPは、PGPに基づく公開鍵暗号化方式を使用することで電子メールを暗号化するための非専有プロトコルです。これは、公開鍵を交換するための暗号化されたメッセージ、署名、秘密鍵、および証明書の標準形式を指定します。
氏名および電子メールアドレスを指定します。
- コメント
オプションのコメントです。
- [暗号化の種類]
キーを生成するための暗号化アルゴリズムを指定します。
は、必要に応じて、暗号化、復号化、署名、確認を行うことができるので、推奨される選択肢です。 および ではともに、署名のみが可能です。- 鍵の強度
鍵の長さ(ビット)を指定します。鍵の長さが長くなればなるほど、安全性が高くなります(強力なパスフレーズが使用されている場合)。長い鍵を使用して操作を実行する場合は、短い鍵を使用する場合よりも時間がかかることに注意してください。許容される値は、1024~4096ビットです。少なくとも2048ビットを使用することをお勧めします。
- 期限満了日
暗号化処理または署名処理の実行のために鍵を使用できる最後の日付を指定します。この期間が経過した後、有効期限を変更するか、新しい鍵またはサブ鍵を生成する必要があります。信頼性のステータスを維持するために、鍵の期限が切れる前に古い鍵で新しい鍵を署名します。
新しい鍵のパスフレーズを2回指定し、
をクリックします。パスフレーズを指定するときは、強力なパスワードを作成する場合と同じ慣例に従ってください。
8.2.2 セキュアシェル鍵の作成 #
セキュアシェル(SSH)は、該当マシン上でコマンドを実行するためにリモートコンピュータにログインする手段です。SSH鍵は、デフォルトのパスワード認証システムに代わる鍵ベースの認証システムで使用されます。鍵ベースの認証では、認証するためのパスワードを手動で入力する必要はありません。
使用する鍵の記述を指定します。
電子メールアドレスまたは他のリマインダを使用できます。
オプションで、
をクリックし、次の高度なキーオプションを指定します。[暗号化の種類]. キーを生成するための暗号化アルゴリズムを指定します。SSH鍵を作成するためにRSA (Rivest-ShamirAdleman)アルゴリズムを使用するには、 を選択します。これは、推奨されるより安全な選択肢です。 を選択し、SSH鍵を作成するためにデジタル署名アルゴリズム(DSA)を使用します。
鍵の強度. 鍵の長さ(ビット)を指定します。鍵の長さが長くなればなるほど、安全性が高くなります(強力なパスフレーズが使用されている場合)。長い鍵を使用して操作を実行する場合は、短い鍵を使用する場合よりも時間がかかることに注意してください。許容される値は、1024~4096ビットです。少なくとも2048ビットを使用することをお勧めします。
新しい鍵を作成するには
をクリックし、鍵を作成して認証で使用する別のコンピュータを設定するには をクリックします。新しい鍵のパスフレーズを指定して
をクリックし、さらに繰り返します。パスフレーズを指定するときは、強力なパスワードを作成する場合と同じ慣例に従ってください。
8.3 鍵のプロパティの変更 #
既存のOpenPGP鍵またはSSH鍵のプロパティを変更できます。
8.3.1 OpenPGP鍵のプロパティの編集 #
このセクションの記述は、すべてのOpenPGP鍵に当てはまります。
表示または編集するPGP鍵をダブルクリックします。
鍵に写真を追加するか、または鍵に関連するパスフレーズを変更するには、
タブでオプションを使用します。写真IDにより、鍵の所有者が鍵に1つ以上の自身の画像を埋め込むことができます。これらのIDは、通常のユーザIDと同じように署名できます。写真IDは、JPEGフォーマットであることが必要です。推奨サイズは、120 x 150ピクセルです。
選択した画像が目的のファイルの種類またはサイズと一致しない場合、
では、GDKライブラリでサポートされる画像フォーマットからその場でサイズ変更および変換を行うことができます。詳細については、8.3.1.1項 「ユーザIDの追加」を参照してください。
鍵ID: 鍵IDは指紋に類似していますが、鍵IDには指紋の最後の8文字のみが含まれます。一般に鍵IDのみで鍵を識別できますが、2つの鍵が同じ鍵IDを持つ場合もあります。
タイプ: 鍵を生成するための暗号化アルゴリズムを指定します。DSA鍵では、署名のみを行うことができます。ElGamal鍵は、暗号化のために使用されます。
強度: 鍵の長さ(ビット)を示します。鍵が長いほど、セキュリティはより強力になります。ただし、長い鍵を使用しても、脆弱なパスフレーズを使用している場合に、それが相殺されることはありません。
指紋: 鍵を正確に識別する固有の文字列です。
作成日: 鍵が作成された日付。
有効期限: 鍵が使用できなくなる日付(鍵の期限が切れると、鍵の処理を実行するために鍵を使用することができなくなります)。鍵の有効期限を将来のある時点に変更すると、鍵が再度有効になります。一般的な良い慣行は、期限が切れないマスタ鍵を用意し、マスタ鍵によって署名された期限が切れる複数のサブ鍵を使用することです。
所有者の信用度: ここで、鍵の所有者に対する信頼レベルを設定できます。信頼とは、Webの信頼性を適切に向上させるあるユーザの能力に対する自身の信頼度です。自分が署名していない鍵がある場合、鍵の有効性は、その署名と署名を行ったユーザに対する信頼度によって決まります。
秘密鍵のエクスポート: 鍵をファイルにエクスポートします。
サブ鍵: 詳細については、8.3.1.2項 「OpenPGPサブ鍵のプロパティの編集」を参照してください。
8.3.1.1 ユーザIDの追加 #
ユーザIDにより、同じ鍵で複数のIDおよび電子メールアドレスを使用できます。たとえば、業務用に1つ、友人用に1つIDを使用する場合に、ユーザIDを追加すると役立ちます。ユーザIDの形式は次のとおりです。
Name (COMMENT) <E-MAIL>
表示または編集するPGP鍵をダブルクリックします。
このフィールドには、少なくとも5文字を入力する必要があります。
この電子メールアドレスにより、大半のユーザが鍵サーバまたは他の鍵プロバイダ上で鍵を検索します。次に進む前に、電子メールアドレスが正しいことを確認します。
この情報は、鍵サーバ上で検索できます。
変更内容を確認し、パスフレーズを求められたら入力します。
8.3.1.2 OpenPGPサブ鍵のプロパティの編集 #
各OpenPGP鍵は、署名でのみ使用される単一のマスタ鍵を持ちます。サブ鍵はまた、暗号化および署名で使用されます。これにより、サブ鍵の安全性に問題が生じても、マスタ鍵を破棄する必要はなくなります。
編集するPGP鍵をダブルクリックします。
ダイアログの左側にあるボタンを使用して、サブ鍵の追加、削除、失効、破棄を行います。
各サブ鍵には、次の情報が含まれます。
ID: サブ鍵のID。
タイプ: サブ鍵を生成するための暗号化アルゴリズムを指定します。DSA鍵では署名のみを行うことができます。また、ElGamal鍵は暗号化、RSA鍵は署名および暗号化のために使用します。
使用方法: 鍵を署名または認証に使用できるかどうか、さらに暗号化にも使用できるかどうかを示します。
作成日: 鍵が作成された日付を示します。
有効期限: 鍵が使用できなくなる日付を示します。
ステータス: 鍵のステータスを示します。
強度: 鍵の長さ(ビット)を示します。鍵が長いほど、セキュリティはより強力になります。ただし、長い鍵を使用しても、脆弱なパスフレーズを使用している場合に、それが相殺されることはありません。
8.3.2 セキュアシェル鍵のプロパティの編集 #
このセクションの記述は、すべてのSSH鍵に当てはまります。
表示または編集するSecure Shell鍵をダブルクリックします。
鍵に関連する鍵またはパスフレーズの名前を変更する場合は、
タブのオプションを使用します。アルゴリズム: 鍵を生成するための暗号化アルゴリズムを指定します。
強度: 鍵の長さ(ビット)を示します。鍵が長いほど、セキュリティはより強力になります。ただし、長い鍵を使用しても、脆弱なパスフレーズを使用している場合に、それが相殺されることはありません。
場所: 秘密鍵が保存されている場所です。
指紋: 鍵を正確に識別する固有の文字列です。
完全な鍵のエクスポート: 鍵をファイルにエクスポートします。
8.4 鍵のインポート #
鍵をテキストファイルにエクスポートすることができます。これらのファイルには、鍵の冒頭と末尾のテキストが人が判読できる形式で格納されます。この形式は、ASCII-armored鍵と呼ばれます。
鍵をインポートするには
ASCII-armored公開鍵が少なくとも1つ格納されたファイルを選択します。
鍵をインポートするには、
をクリックします。
また、
で鍵を貼り付けることもできます。テキストのASCII-armored公開ブロックを選択し、クリップボードにコピーします。
8.5 鍵のエクスポート #
鍵をエクスポートするには
エクスポートする鍵を選択します。
エクスポートする鍵のファイル名と場所を指定します。
また、テキストのASCII-armoredブロックで鍵をクリップボードにエクスポートすることもできます。
エクスポートする鍵を選択します。
8.6 鍵の署名 #
別のユーザの鍵に署名すると、ユーザに対して信頼を与えることになります。鍵に署名する前に、鍵が実際にそのユーザに属していることを確認するために、鍵の指紋を慎重にチェックします。
信頼とは、Webの信頼性を適切に向上させるあるユーザの能力に対する自身の信頼度です。自分が署名していない鍵がある場合、鍵の有効性は、その署名と署名を行ったユーザに対する信頼度によって決まります。
8.7 パスワードキーリング #
キーリングの作成または削除、アプリケーションパスワードのデフォルトのキーリングの設定、またはキーリングのロック解除パスワードの変更を行うために、パスワードキーリングの初期設定を使用できます。新しいキーリングを作成するには、次の手順に従います。
キーリングの名前を入力し、
をクリックします。キーリングの新しい
を設定して確認し、 をクリックします。
既存のキーリングのロック解除パスワードを変更するには、
タブでキーリングを右クリックし、 をクリックします。パスワードを変更するには、古いパスワードを入力する必要があります。アプリケーションパスワードのデフォルトのキーリングを変更するには、
タブでキーリングを右クリックし、 をクリックします。8.8 鍵サーバ #
リモート鍵サーバに対して鍵を定期的に同期することにより、鍵を最新の状態に維持できます。同期により、すべての鍵で最新の署名を持ち、信頼のウェブを有効にすることができます。
HKP鍵サーバ: HKP鍵サーバは、広く普及している
hkp://pgp.mit.edu:11371
などの通常のWebベースの鍵サーバで、http://pgp.mit.eduでアクセスすることもできます。LDAP鍵サーバ: LDAP鍵サーバはそれほど一般的ではありませんが、鍵をホストするために標準のLDAPプロトコルを使用します。
ldap://keyserver.pgp.com
は適切なLDAPサーバです。左側のボタンを使用して、使用する鍵サーバを
したり、 したりすることができます。新しい鍵サーバを追加する場合は、必要に応じて種類、ホスト、ポートを設定します。公開鍵を自動的に発行するかどうか、および使用する鍵サーバを設定します。鍵サーバから鍵を自動的に取得するかどうか、および変更した鍵を鍵サーバと同期するかどうかを設定します。
8.9 鍵の共有 #
鍵の共有は、DNS-SD(BonjourまたはRendevousと呼ばれることもあります)により提供されます。鍵の共有を有効にすると、ローカルの
ユーザの公開鍵リングがリモートの検索ダイアログに追加されます。こうしたローカルの鍵サーバを使用する場合、一般にリモートサーバにアクセスするよりも高速です。