Red Hat Training

A Red Hat training course is available for Red Hat Satellite

3.2. RHN パッケージ用のデジタル署名

RHN から配信されるパッケージにはすべて デジタル署名 があるはずです。 デジタル署名は固有となるプライベートキーで作成され、 対応するパブリックキーを使って検証することができます。 パッケージを作成したら、 SRPM (ソース RPM) と RPM は GnuPG キーでデジタルに署名することができます。 パッケージのインストールが行われる前に、 信頼できる機関によってパッケージが署名されているか、 また署名後にパッケージに変更が行われていないかがパブリックキーを使用して検証されます。

3.2.1. GnuPG キーペアを生成する

GnuPG キーペアはプライベートキーとパブリックキーで構成されます。キーペアを生成するには、シェルプロンプトで root ユーザーとして次のコマンドを入力します。
gpg --gen-key
root 以外のユーザーでこのコマンドを実行すると次のようなメッセージが表示されます。
gpg: Warning: using insecure memory!
root ユーザー以外のユーザーはメモリページをロックできないためこのメッセージが表示されます。 他の人には自分のプライベート GnuPG キーやパスフレーズを知られたくないわけですから、 root になってからキーペアを生成します。 root ユーザーはメモリページのロックができるため、 この情報がディスクに書き込まれることはありません。
キーペア生成のコマンドを実行したら、 次のようなキーオプションを含んだ案内表示が出力されます。
	gpg (GnuPG) 1.2.6; Copyright (C) 2004 Free Software
	Foundation, Inc.  This program comes with ABSOLUTELY NO
	WARRANTY. This is free software, and you are welcome to
	redistribute it under certain conditions. See the file COPYING
	for details. Please select what kind of key you want: (1) DSA
	and ElGamal (default) (2) DSA (sign only) (4) RSA (sign only)
	Your selection?
デフォルトのオプション (1) DSA and ElGamal を受理します。 このオプションにより、 2 種類の技術を使ってデジタル署名の作成と暗号化/解読を行うことができるようになります。 1 と入力して Enter を押します。
次にキーの長さを指定するキーサイズを選択します。 キーが長いほどユーザーのメッセージに対する攻撃への対抗力が増します。 少なくとも 1024 ビットの長さのキーを作成することを推奨します。
次のオプションではキーの有効期間を指定するよう求めてきます。 有効期限の日付を選択する場合、 ユーザーのパブリックキーを使用している人達にその期限を知らせて、新しいパブリックキーを提供する必要があります。 期限は設定しないことを推奨します。 期限を選択しない場合、 その決定の確認が求められます。
Key does not expire at all Is this correct (y/n)?
y を押して決定を確認します。
次にユーザー名、 Email アドレス、 オプションのコメントなどを含むユーザー ID を入力します。 ひとつずつ別々に入力が求められます。 終了すると入力した情報の要約が表示されます。
選択を承認したらパスフレーズを入力します。

注記

アカウントのパスワードと同様、 GnuPG でも最善のセキュリティ対策には適切なパスフレーズが欠かせません。 パスフレーズは大文字、 小文字、 数字を混ぜて句読点も入れると良いでしょう。
パスフレーズの入力と確認を行うとキーが生成されます。 次のようなメッセージが表示されます。
We need to generate a lot of random bytes. It is a good idea to perform some
other action (type on the keyboard, move the mouse, utilize the disks) 
during the prime generation; this gives the random number generator a 
better chance to gain enough entropy. 

+++++.+++++.++++++++....++++++++++..+++++.+++++.+++++++.+++++++ +++.
++++++++++++++++++++++++++++++++++++++..........................++++
画面の出力が停止すると root のホームディレクトリにある .gnupg ディレクトリに新しいキーが配置されます。 root で先のコマンドを実行したためこの場所が選択されました。 root のキーを表示させるには次のコマンドを使用します。
gpg --list-keys
次のような出力になります。
/root/.gnupg/pubring.gpg ----------------  pub 1024D/B7085C8A 2002-02-18
 Your Name<you@example.com> 
sub 1024g/E12AF9C4 2002-02-18
パブリックキーを検索する場合は次のコマンドを使用します。
gpg --export -a 'Your Name' > public_key.txt
パブリックキーが public_key.txt ファイル内に書き込まれます。
このパブリックキーは非常に重要となります。 up2date でカスタムのソフトウェアを受信する全クライアントシステムに配備しなければならないキーになります。 このキーを組織全体に配備するテクニックについては 『Red Hat Network クライアント設定ガイド』 で説明します。