Sun の証明書による署名付きパッケージおよびパッチの検証
「ストリーム形式」の SVR4 署名付きのパッケージまたはパッチには、PEM でコード化された PKCS7 署名が埋め込まれています。この署名には少なくとも、パッケージまたはパッチの暗号化されたダイジェストと署名者の X.509 公開鍵証明書とが含まれています。また、パッケージまたはパッチには「証明書チェーン」を含めることもできます。証明書チェーンを使うと、署名者の証明書からローカルに格納されている信頼される証明書へ、信頼関係のチェーンを形成することができます。
PEM でコード化された PKCS7 署名を使って、次のことを検証します。
-
そのパッケージに署名したエンティティがそのパッケージの作成者である
-
そのエンティティが実際にそのパッケージに署名した
-
そのパッケージがエンティティによる署名後に変更されていない
-
そのパッケージに署名したエンティティが信頼されたエンティティである
次の表は、署名付きパッケージおよびパッチに関する暗号化関連の用語の一覧です。
用語
|
定義
|
|
ASN.1
|
ASN.1 (Abstract Syntax Notation 1) は、一連の抽象オブジェクトを表現するための方式の 1 つである。たとえば、ASN.1 では、公開鍵証明書、公開鍵証明書を構成するすべてのオブジェクト、オブジェクトの収集順序などを定義している。ただし、ASN.1 では、オブジェクトを保存用または転送用にシリアライズする方法は定義していない。
|
|
base64
|
base64 は、任意のバイナリデータを ASCII テキストとしてコード化する方式の 1 つである。
|
|
DER
|
DER (Distinguished Encoding Rules) は、ASN.1 オブジェクトのバイナリ表現の 1 つである。DER では、コンピューティング環境で ASN.1 オブジェクトを保存用または転送用にシリアライズする方法を定義している。
|
|
PEM
|
PEM (Privacy Enhanced Message) は、base64 エンコーディングといくつかの任意のヘッダーを使って、ファイルを (DER またはその他のバイナリ形式で) コード化する方式である。もともとは、MIME タイプの電子メールメッセージをコード化するために使用された。また、PEM は、証明書と非公開鍵をファイルシステム上または電子メールメッセージ内のファイルにコード化する際にも広く使用される。
|
|
PKCS7
|
PKCS7 (Public Key Cryptography Standard #7) は、デジタル署名やデジタルエンベロープなどの暗号化データに対する汎用的な構文を定めた規格である。
|
|
X.509
|
ITU-T (International Telecommunication Union-Telcom) 勧告 X.509 は、広く採用されている X.509 公開鍵証明書の構文を定めた仕様である。
この勧告では、認証サービスを提供するためのフレームワークが定義されている。X.509 で定義された 2 つの認証レベルを次に示す。
| |
Sun Microsystems から発行された認証済みデジタル署名を使って、ダウンロードされたパッケージやパッチが改ざんされていないことを検証できます。こうした証明書は、システムのキーストアにインポートされます。
Sun のすべての証明書は、先頃 GTE CyberTrust を買収した Baltimore Technologies によって発行されています。
Sun の証明書をインポートするときに特別なパスワードを使用することで、キーストアへのアクセスを保護できます。
pkgadm listcert コマンドを使えば、ローカルのパッケージキーストア内に格納されている証明書の情報を表示できます。たとえば、次のようになります。
# pkgadm listcert -P pass:store-pass
Keystore Alias: GTE CyberTrust Root
Common Name: GTE CyberTrust Root
Certificate Type: Trusted Certificate
Issuer Common Name: GTE CyberTrust Root
Validity Dates: <Feb 23 23:01:00 1996 GMT> - <Feb 23 23:59:00 2006 GMT>
MD5 Fingerprint: C4:D7:F0:B2:A3:C5:7D:61:67:F0:04:CD:43:D3:BA:58
SHA1 Fingerprint: 90:DE:DE:9E:4C:4E:9F:6F:D8:86:17:57:9D:D3:91:BC:65:A6...
|
次の表は、pkgadm listcert コマンドの出力を一覧にまとめたものです。
フィールド
|
説明
|
Keystore Alias (キーストア別名)
|
印刷、署名、削除のいずれかの目的で証明書を取得する場合、この名前を証明書の参照名として使用する必要がある。
|
Common Name (共通名)
|
証明書の共通の名前。信頼される証明書の場合、この名前はキーストア別名と同じになる。
|
Certificate Type (証明書の種類)
|
次の 2 つの種類がある。
|
Issuer Common Name (発行者の共通名)
|
この証明書の署名、発行をしたエンティティの名前。信頼される証明書発行局 (CA、Certificate Authority) が発行した証明書の場合、発行者の共通名は、共通名と同じになる。
|
Validity Dates (有効な日付)
|
証明書の有効な日付。
|
MD5 Fingerprint (MD5 フィンガープリント)
|
証明書の MD5 ダイジェスト。このダイジェストを使えば、その証明書が証明元からの転送中に改変されなかったかどうかを検証できる。
|
SHA1 Fingerprint (SHA1 フィンガープリント)
|
MD5 フィンガープリントに似ているが、異なるアルゴリズムを使って計算される。
|
証明書を認証するには、各証明書の MD5 ハッシュおよび SHA1 ハッシュ (「フィンガープリント」とも呼ばれる) を、発行者によって公開されている既知の正しいフィンガープリントと比較します。