運用・管理 / ローカルCA


トラストポイント
ローカルCAの作成
ローカルCA「local」の自動生成
ローカルCAの手動作成
使用すべきトラストポイント名
「local」以外の手動作成
「local」の手動作成
ローカルCAと証明書の確認
サーバー証明書の発行
ユーザー証明書の発行と配布
ルートCA証明書の配布


本製品は電子証明書を発行する認証局(CA)としての機能(ローカルCA機能)を備えています。
ローカルCAが発行した証明書は本製品の各種機能で利用可能です。
Note
ローカルCAでは、発行済み証明書の失効機能はサポートしていません。

トラストポイント

トラストポイントは、本製品の各種機能で使用する証明書と鍵をグループ化して保存・管理するための設定要素です(crypto pki trustpointコマンドで作成)。
他システムにおいて「証明書ストア」、「証明書レポジトリー」、「認証情報ストレージ」、「キーストア・トラストストア」などと呼ばれているものと類似する概念です。

トラストポイントはローカルCA機能とローカルCAが発行した証明書を利用する機能によって使用されます。
ローカルCA用のトラストポイントには次の情報が保存されます。

なお、ローカルCA機能においては「トラストポイント」=「ローカルCA」と見なせるため、以下の説明ではおもに「ローカルCA」の用語を使用していますが、証明書の保存場所という意味合いで「トラストポイント」を使用している箇所もあります。あらかじめご了承ください。

ローカルCAの作成

ローカルCA機能を使用するには、最初にローカルCAに相当するトラストポイントを作成(初期設定)する必要があります。
ローカルCAの作成とは、具体的には次のことを指します。
  1. ローカルCAの公開鍵ペア(秘密鍵と公開鍵)を作成する。
  2. ローカルCAの自己署名ルート証明書を発行する。
    すなわち、手順1で作成した公開鍵の電子証明書を、手順1で作成した自身の秘密鍵で署名する。

ローカルCAの作成には複数の方法がありますが、ローカルRADIUSサーバーを使用する環境では、radius-server localコマンドを初めて実行したときに「local」という名前のローカルCA用トラストポイントが自動作成され、サーバー証明書の発行も自動的に行われるため、通常はローカルCAの作成を手動で行う必要はありません。

ただし、ローカルRADIUSサーバーを使わない環境や、ローカルCAを再セットアップする場合には手動での作成が必要です。
以下、それぞれの方法について解説します。

ローカルCA「local」の自動生成

初めてローカルRADIUSサーバーの設定を行うときには、「local」という名前(トラストポイント名)を持つローカルCAの作成が自動的に行われ、さらにローカルRADIUSサーバーの動作に必要なサーバー証明書も自動的に発行されます。

radius-server localコマンドの初回実行時に自動実行されるローカルCA関連コマンドは次のとおりです。
crypto pki trustpoint local
end
crypto pki enroll local
これにより次のことが行われます。
  1. crypto pki trustpointコマンドにより、「local」という名前のローカルCAを作成します(自己署名ルートCA証明書を発行)。
  2. crypto pki enrollコマンドにより、ローカルCA「local」からローカルRADIUSサーバーの証明書(サーバー証明書)を発行します。
ローカルRADIUSサーバー機能を使用するときは、自動生成されるローカルCA「local」を必ず使用してください。

なお、ローカルCA「local」は、ローカルRADIUSサーバー以外の機能でも使用可能です。ただし、AMFネットワーク上でAT-Vista Manager EX(AVM EX)をTLSクライアント証明書で認証する場合、ローカルCA「local」は使えません。この用途には、後述する手順 にしたがい、「local」以外の名前でローカルCAを作成してください。

ローカルCAの手動作成

ローカルRADIUSサーバーを使用しない場合など、ローカルCAを手動で作成するには次の手順を実行します。
このとき、ローカルCAに付ける名前(トラストポイント名)が「local」かそれ以外かによって手順が異なります。
「local」という名前は特別扱いされ、その他の場合より手順が簡略化されるため、以下では最初に「local」以外の場合を説明し、その後「local」の場合の手順を説明します。

使用すべきトラストポイント名

使用するトラストポイント名は次の基準で選択してください。

AMFネットワーク上でAT-Vista Manager EX(AVM EX)をTLSクライアント証明書で認証する場合は、「local」以外のトラストポイント名を持つローカルCAが必要なため、後述する手順にしたがい、「local」以外のトラストポイント名を持つローカルCAを作成してください。

また、AMFアプリケーションプロキシーのホワイトリスト機能において、プロキシーノード・ホワイトリストサーバー間の通信(コントロールセッション)を暗号化する場合は、「local」以外の名前でトラストポイントを作成し、ローカルCAではなく外部CAを使用するように設定する必要があります。具体的な設定方法はAMF応用編をご覧ください。

それ以外の機能でローカルCAを使う場合は「local」のみがサポート対象になりますので、後述する手順にしたがい、「local」という名前のローカルCAを作成してください。

「local」以外の手動作成

「local」以外の名前を持つローカルCAを作成するには、以下の手順を実行します。
Note
「local」以外の名前を持つローカルCAは、AMFネットワーク上でAT-Vista Manager EX(AVM EX)をTLSクライアント証明書で認証する場合にのみ使用できます(この用途には「local」以外を使う必要があります)。それ以外の機能でローカルCAを使う場合は、次節で述べる手順 にしたがい、「local」という名前でローカルCAを別途作成してください。
  1. crypto pki trustpointコマンドで「local」以外の任意の名前を指定し、ローカルCAの名前を定義します。
    ここでは例として「myca」という名前のローカルCAを定義します。
    awplus(config)# crypto pki trustpoint myca
    Created trustpoint "myca".
    awplus(ca-trustpoint)# 
    
    crypto pki trustpointコマンドを実行すると、グローバルコンフィグモードからCAトラストポイントモードに移動します。

    この時点では、ローカルCAの名前が定義されただけで、CAが使う公開鍵ペアもルート証明書もまだ作成・発行されていません。
    そのことは、次のように show crypto pki trustpointコマンドやshow crypto pki certificatesコマンドでも確認できます。
    awplus(ca-trustpoint)# do show crypto pki trustpoint
    --------------------
    Trustpoint "myca"
       Type            : Non-authenticated trustpoint
    
    awplus(ca-trustpoint)# do show crypto pki certificates
    
    

  2. 実際にローカルCAの公開鍵ペアを作成し、自己署名ルート証明書を発行するには、enrollmentコマンドで証明書の追加方法としてselfsigned(自己署名)を指定し、その後特権EXECモードのcrypto pki authenticateコマンドでローカルCAの名前(トラストポイント名)を指定します。
    awplus(ca-trustpoint)# enrollment selfsigned
    awplus(ca-trustpoint)# end
    awplus# crypto pki authenticate myca
    Generating 2048-bit key for local CA...
    Successfully authenticated trustpoint "myca".
    
    これにより、ローカルCAの公開鍵ペア生成と自己署名ルート証明書の発行が行われ、ローカルCAの作成が完了します。
    これで、各機能が使用する証明書の発行準備が整いました。

「local」の手動作成

ローカルRADIUSサーバーの初回設定時に自動生成されるのと同じトラストポイント名「local」は、ローカルCAを手動作成する場合にも特別扱いされ、作成手順が簡略化されます。

ローカルCA「local」を手動作成する場合の手順は次のとおりです。
  1. crypto pki trustpointコマンドで「local」を指定します。
    awplus(config)# crypto pki trustpoint local
    Created trustpoint "local".
    Generating 2048-bit key for local CA...
    Automatically authenticated trustpoint "local".
    
    ローカルCAの名前として「local」を指定した場合は、crypto pki trustpointコマンドを実行するだけで、ローカルCAの公開鍵ペア生成と自己署名ルート証明書の発行が行われ、ローカルCAの作成が完了します。

    すなわち、「local」以外のローカルCAを作成するときに、enrollmentコマンドでselfsigned(自己署名)を指定し、crypto pki authenticateコマンドを実行したのと同じことが、「local」の手動作成時にはcrypto pki trustpointコマンドだけで完了します。

    これで、各機能が使用する証明書の発行準備が整いました。

ローカルCA「local」は、各種機能で使用可能です。ただし、AMFネットワーク上でAT-Vista Manager EX(AVM EX)をTLSクライアント証明書で認証する場合、ローカルCA「local」は使えません。この用途には、前述の手順 にしたがい、「local」以外の名前でローカルCAを作成してください。

ローカルCAと証明書の確認

■ 作成したローカルCAの情報は、show crypto pki trustpointコマンドで確認できます。
awplus# show crypto pki trustpoint
--------------------
Trustpoint "myca"
   Type            : Self-signed certificate authority
   Root Certificate: B5AA9359 5A9B2833 785BAA15 C6DC803C 81446F6F
   Local Server    : The server is not enrolled to this trustpoint.

   Authentication and Enrollment Parameters
      Enrollment   : selfsigned

■ ローカルCAの証明書は、show crypto pki certificatesコマンドで確認できます。
awplus# show crypto pki certificates

--------------------
Trustpoint "myca" Certificate Chain
--------------------
Self-signed root certificate
   Subject     : /O=Allied Telesis, Inc./CN=AlliedWarePlusCAA050490000000000
   Issuer      : /O=Allied Telesis, Inc./CN=AlliedWarePlusCAA050490000000000
   Valid From  : Nov  9 08:40:35 2017 GMT
   Valid To    : Nov  7 08:40:35 2027 GMT
   Fingerprint : B5AA9359 5A9B2833 785BAA15 C6DC803C 81446F6F

サーバー証明書の発行

各機能で使用する本製品の証明書(サーバー証明書)を発行するには、次の手順を実行します。

なお、前述のとおり、ローカルRADIUSサーバーを使用する環境では、ローカルRADIUSサーバーの初回設定時にローカルCA「local」が自動作成され、また、ローカルRADIUSサーバーの動作に必要な本製品のサーバー証明書も自動的に発行されるため、以下の手順は基本的に不要ですが、ローカルRADIUSサーバーを使わない場合や、他の機能では別のローカルCAが発行したサーバー証明書を使いたい場合には以下の手順が必要です。
  1. 本製品のサーバー証明書を発行するには、crypto pki enrollコマンドで発行元のローカルCAを指定します。
    たとえば、ローカルCA「local」を発行元として本製品のサーバー証明書を発行するには次のようにします。
    awplus# crypto pki enroll local
    Generating 2048-bit key "server-default"...
    Successfully enrolled the local server.
    
    同コマンドの初回実行時には、「server-default」という名前で識別される本製品の公開鍵ペア(秘密鍵と公開鍵)が自動的に生成され、その公開鍵証明書をローカルCAの秘密鍵で署名して、サーバー証明書の発行が完了します。

発行したサーバー証明書の情報は、show crypto pki certificatesコマンドで確認できます。
awplus# show crypto pki certificates

--------------------
Trustpoint "local" Certificate Chain
--------------------
Server certificate
   Subject     : /O=AlliedWare Plus/CN=awplus
   Issuer      : /O=Allied Telesis, Inc./CN=AlliedWarePlusCAA050490000000000
   Valid From  : Nov  9 09:04:48 2017 GMT
   Valid To    : Nov  8 09:04:48 2022 GMT
   Fingerprint : 61DEDC23 AFD1BCAA 1AC8575F EC3CC342 E99930DE

Self-signed root certificate
   Subject     : /O=Allied Telesis, Inc./CN=AlliedWarePlusCAA050490000000000
   Issuer      : /O=Allied Telesis, Inc./CN=AlliedWarePlusCAA050490000000000
   Valid From  : Nov  9 08:53:04 2017 GMT
   Valid To    : Nov  7 08:53:04 2027 GMT
   Fingerprint : 79DF0F8B DA5B190F A38AFDE9 9EEE5BD9 48FC8E6E

なお、その後、別の名前のローカルCAでサーバー証明書を発行する場合も、デフォルトでは同じ公開鍵ペア(「server-default」という名前で識別される公開鍵ペア)が使われます。その際、すでに「server-default」という公開鍵ペアが生成済みであればそれを使い、公開鍵ペア「server-default」が存在していない場合は新規に生成します。

ローカルCAごとに異なる公開鍵ペアのサーバー証明書を発行したい場合は、以下の手順で発行対象の公開鍵ペアを明示的に指定してからサーバー証明書を発行してください。

たとえば、ローカルCA「myca」からは、デフォルトの「server-default」とは異なる公開鍵ペアを対象にサーバー証明書を発行したい場合は、次のようにします。
なお、ここでは、ローカルCA「myca」は作成済みであると仮定します。
  1. crypto pki trustpointコマンドで作成済みのローカルCA名「myca」を指定し、CAトラストポイントモードに入ります。
    awplus(config)# crypto pki trustpoint myca
    

  2. rsakeypairコマンドでサーバー証明書の発行対象とする公開鍵ペアの名前を指定します。このとき「server-default」以外の任意の名前を指定してください。
    ここでは例として、サーバーの公開鍵ペア名として「myserverkey」を指定します。
    awplus(ca-trustpoint)# rsakeypair myserverkey
    
    Note
    サーバー公開鍵ペアはデフォルトで2048ビット長になります。これを変更したい場合は、次のようにrsakeypairコマンドのオプションパラメーターで鍵の長さをビットで指定してください。有効範囲は1024~4096ビットです。
    awplus(ca-trustpoint)# rsakeypair longserverkey 4096
    

  3. 特権EXECモードに移動し、crypto pki enrollコマンドを実行して、ローカルCA「myca」からサーバー証明書を発行します。
    awplus# crypto pki enroll myca
    Generating 2048-bit key "myserverkey"...
    Successfully enrolled the local server.
    
    これにより、デフォルトの「server-default」の代わりに、「myserverkey」という名前で識別される公開鍵ペアが生成され、この公開鍵を対象に本製品のサーバー証明書が発行されます。

ユーザー証明書の発行と配布

ローカルRADIUSサーバー機能において、認証方式としてEAP-TLSを使用する場合は、ローカルCA機能を利用して登録ユーザーの電子証明書(ユーザー証明書)を発行し、ローカルCAの電子証明書(ルートCA証明書)とともに、該当ユーザーの使用するSupplicantにインストールする必要があります(RADIUSサーバーに対し、正当なユーザーであることを証明するため)。

■ ローカルRADIUSサーバーに登録しているユーザーの電子証明書を発行し、ユーザーに配布するには、次のようにします。
  1. crypto pki enroll userコマンドで発行対象のユーザー名を指定します。これにより、該当ユーザーの証明書と秘密鍵が発行され、ローカルCA用のトラストポイントに格納されます。
    なお、同コマンドの実行時には、ユーザー証明書の書き出し時にファイルを暗号化するためのパスワードを聞かれるため、確認を含め2回同じパスワード文字列を入力してください。空文字列や「abort」を入力した場合、および、入力した文字列が一致しない場合は発行が中止されます。
    awplus# crypto pki enroll local user user11
    Enter an export passphrase, or "abort" to cancel.
    XXXXXXXXXXXX ↓(実際には表示されません)
    Enter the export passphrase again.
    XXXXXXXXXXXX ↓(実際には表示されません)
    Generating a user private key for "user1"...
    Successfully enrolled user "user1".
    The PKCS#12 file is ready to export.
    

  2. 発行した証明書と秘密鍵をcrypto pki export pkcs12コマンドでPKCS#12形式のファイルに書き出します。書き出し先のファイル名は任意ですが、拡張子を.p12にしておくとSupplicantへの取り込み時に便利です。
    awplus# crypto pki export local pkcs12 user11 flash:/user11.p12
    

  3. 書き出したPKCS#12形式ファイル(ここではflash:/user11.p12)をユーザーに渡し、Supplicantにインストールしてもらってください。その際、crypto pki enroll userコマンド実行時に指定したパスワードを安全な方法で伝えることも忘れないでください。
Note
ローカルCAでは証明書失効リスト(CRL)の発行をサポートしていないため、ユーザー証明書を無効にするには、ローカルCAの再セットアップが必要となります(crypto pki trustpointコマンドをno形式、通常形式の順に実行後、機器を再起動する)。なお、ローカルCAを再セットアップすると、それ以前に発行した証明書はすべて無効になり、再発行が必要になるので注意してください。
Note
バージョン5.4.6-1.1以降のファームウェアでCA証明書を作成し使用している場合、それより前のバージョンにダウングレードする時は証明書をクライアントに再配布する必要があります。

ルートCA証明書の配布

本製品に接続する他の装置やソフトウェアが本製品の証明書(サーバー証明書)を検証するためには、ローカルCAの証明書(ルートCA証明書)をそれらにインストールしておく必要があります。

そのためには、ローカルCAの証明書をファイルに書き出し、該当装置/ソフトウェアの管理者に配布する必要があります。以下、その手順を説明します。
  1. crypto pki export pemコマンドを実行して、ローカルCAの証明書をPEM形式のファイルに書き出します。書き出し先のファイル名は任意ですが、一般的には拡張子を.cerか.crtにしておくと他の装置やソフトウェアへの取り込み時に便利です。
    awplus# crypto pki export local pem flash:/localca.cer
    

  2. 書き出したPEM形式ファイル(ここではflash:/localca.cer)を該当装置/ソフトウェアの管理者に渡し、インストールを依頼してください。
Note
バージョン5.4.6-1.1以降のファームウェアでCA証明書を作成し使用している場合、それより前のバージョンにダウングレードする時は証明書をクライアントに再配布する必要があります。


(C) 2012 - 2020 アライドテレシスホールディングス株式会社

PN: 613-001763 Rev.AK