7.2. クライアント証明書の発行¶
クライアント証明書認証を利用する場合、原則クライアントデバイス1台毎に1つのクライアント証明書を発行する形になります。 それぞれのクライアント証明書に対して、BaaSのユーザ1つが対応付けられる形になります。
7.2.1. 認証局(CA)の選択¶
クライアント証明書を発行する認証局(CA)には以下の選択肢があります。
- プライベートCA
- パブリックCA (VeriSign など)
サーバ証明書と異なり、クライアント証明書認証を行う場合はプライベートCAの運用で問題ありません。 これは利用するロードバランサやリバースプロキシに該当する CA の証明書を事前に登録しておくことができるためです。 (サーバ証明書の場合は、不特定多数のブラウザで認証しなければならないので、予めブラウザに プリインストールされているパブリックCAを選択しなければならない)
プライベートCAの構築手順については (参考)プライベートCAの構築・運用手順 を参照してください。
7.2.2. クライアント証明書のパラメータ¶
クライアント証明書発行時には、クライアントデバイスを一意に識別するIDをパラメータとして指定する必要があります。 指定した ID は、そのまま BaaS の「username」にマッピングされます。
IDの指定方法としては、以下の3通りがあります。 推奨は 1 または 2 です。
- Subject の CN (Common Name)
- Subject の UID
- シリアル番号
CN に格納する場合の Subject の例を以下に示します。
C=JP,S=Tokyo,L=Minato,O=NEC,OU=IoT,CN=device00001
UIDに格納する場合の Subject の例を以下に示します。
C=JP,S=Tokyo,L=Minato,O=NEC,OU=IoT,CN=SystemA,UID=device00001
シリアル番号を使用する場合は、証明書発行時に CA が割り当てたシリアル番号がそのまま使用されます。
7.2.3. 有効期限¶
クライアント証明書の有効期限は十分に長い期間を指定することを推奨します。
短い期間(1年など)を使用することも可能ですが、期限が切れると認証ができなくなるため証明書の入れ替えが必要になります。