SSL(Secure Socket Layer)使用時の動作環境である証明書/鍵管理環境について説明します。
■証明書と秘密鍵
SSLを使用するためには、認証局の証明書(発行局証明書)、サイト証明書、それに対応する秘密鍵が必要となります。また、証明書の有効性を確認するために、CRL(証明書失効リスト)が利用されます。
X.509またはRFC2459に準拠し、RSA暗号アルゴリズムの鍵が使用されている証明書・CRLが使用できます。
認証局の証明書(発行局証明書)
認証局(発行局)が発行した証明書を保証するための、認証局自身の証明書です。CA証明書ともいいます。
認証局が配下の認証局に証明書を発行することがあります。この場合、認証局自身の証明書に加え、配下の認証局に発行した証明書も、認証局の証明書と呼びます。また、配下の認証局に発行した証明書を特に中間CA証明書と呼びます。
サイト証明書
サーバ、クライアントの身元を保証するために、認証局が発行した証明書です。
利用者(サーバ/クライアント/サービス)に関する情報と認証局に関する情報が含まれています。
サイト証明書は、必ずこれを発行した認証局の証明書を組み合わせて使用する必要があります。
証明書には有効期間が設定されています。有効期間を過ぎた証明書は無効と判断され、利用することができなくなります。有効期間を過ぎる前に、証明書を更新し、新しい証明書を入手する必要があります。詳細については、“■証明書を更新する(証明書の有効期限が切れる)場合”を参照してください。
サイト証明書に対応する秘密鍵
サイト証明書の中に含まれている公開鍵と対になる鍵です。
秘密鍵をなくすと、対応するサイト証明書は使用できなくなります。そのため、必ずバックアップするようにしてください。
CRL(証明書失効リスト)
CRLは認証局が発行し、その認証局が発行したが無効になった証明書の一覧が含まれています。証明書を無効にする(失効する)のは、秘密鍵が盗まれた場合や、利用資格がなくなった場合、などがあります。
SSL通信で利用する場合には、接続先のサイトやクライアントの証明書が無効になっていないかを確認する場合に参照されます。
CRLは定期的に発行され、認証局の管理しているWebサーバやディレクトリサーバなどに公開されます。公開方法は、認証局の運用によって異なるため、認証局に確認してください。なお、証明書の中に公開場所が記載されている場合もあります。
認証局からの配布や、バックアップなどの手段として、PKCS#12データが用いられることがあります。PKCS#12データには、証明書とそれに対応する秘密鍵と、その証明書の検証に必要な証明書が含まれており、パスワード文字列で暗号化されています。
証明書/鍵管理環境では、以下のPKCS#12データを移入する(登録する)ことができます。
Systemwalker PkiMGRで作成されたPKCS#12データ
Interstage証明書環境からscsexppfxコマンドで移出された(取り出された)PKCS#12データ
証明書/鍵管理環境からcmmkpfxコマンドで移出されたPKCS#12データ
また、証明書/鍵管理環境から移出されたPKCS#12データは、以下の環境に移入することができます。
Interstage証明書環境(scsimppfxコマンドを利用)
証明書/鍵管理環境(cmentpfxコマンドを利用)
■認証局(証明書発行局)
証明書を作成するためには、認証局(証明書発行局)が必要です。
証明書/鍵管理環境では、以下で発行された証明書・CRLをサポートしています。
Systemwalker PkiMGR
(当社のインターネット/イントラネットで証明書管理を実現するソフトウェア)
日本ベリサイン株式会社
セキュア・サーバID、セキュア・サーバID EV(EV SSL証明書)をサポートしています。
日本認証サービス株式会社
Webサーバ証明書をサポートしています。
サイバートラスト株式会社
SureServer for SSL証明書をサポートしています。
Systemwalker PkiMGRについては、Systemwalker PkiMGRのカタログやマニュアルを参照してください。
上記以外の認証局が発行する証明書については、以下の条件を満たす証明書を扱うことができると考えられます。
X.509またはRFC2459に準拠
RSA暗号アルゴリズムを利用し、その鍵長が2048bit以下
ハッシュアルゴリズムにはMD5かSHA1を利用
しかし、証明書の入手方法も含め、本製品として動作確認を行っていないため、サポート対象とはしていません。
■証明書/鍵管理環境のイメージ
証明書/鍵管理環境は以下のようになっています。
■秘密鍵の管理方法
秘密鍵管理では、秘密鍵をスロット、トークンの概念で扱います。
スロットは暗号装置を装着する物理的な口を抽象化したものであり、トークンとはスロットに装着する暗号装置を抽象化したものです。
1つのスロットには1つのトークンが割り当てられますが、1つのトークンには複数の秘密鍵を登録できます。
このスロット、トークン、秘密鍵の関係を以下に示します。
スロットの情報を処理する操作にはスロットパスワードが、トークンの情報を処理する操作には、SO-PIN、またはユーザPINが必要であり、それぞれスロットの生成時、トークンの生成時に設定されます。なお、SO-PINは、設定だけであり通常の運用では使用しません。
ユーザPINは、トークン内の秘密鍵にアクセスする際(cmmakecsrコマンドで秘密鍵を生成する場合やcmenterkeyコマンドで秘密鍵を登録する場合)に必要となる認証のための情報です。なお、ユーザPINはトークン単位で存在するため、1つのトークンに複数の秘密鍵が登録されている場合には、1つのユーザPINで複数の秘密鍵情報にアクセスできることになります。
スロット、トークンに関するパスワードとPINの関係を以下に示します。
種別 | 個数 | 主な用途 |
---|---|---|
スロットパスワード | スロットに1個 | トークンの生成 |
SO-PIN | トークンに1個 | - |
ユーザPIN | トークンに1個 | 秘密鍵アクセス |