
プライベート認証局(CA)とは?立ち上げ方法からメリットまで解説

電子契約書の発行の際に、サービスの利用者が本人であることを証明する機関を「認証局(CA:Certificate Authority)」といいますが、一般的なパブリック認証局ではなく、自社のプライベート認証局を利用するのが良い場合もあります。この記事では、プライベート認証局の立ち上げ方法やメリットについて解説します。
認証局とは
認証局(CA:Certificate Authority)とは、インターネット上の相手に対して「電子証明書」の発行を担当する機関です。
電子署名とは「本人確認」と「データが改ざんされていないことの確認」が完了しているインターネット上の署名・捺印のことです。電子契約の法的な効力を高めるため、オンライン契約などの場面で普及が進んでいます。
認証局には「プライベート認証局」と「パブリック認証局」の2種類があり、パブリック認証局の認定を受けるには、デジタル庁への申請が必要です。ふたつの違いについては後述します。
ここではパブリック認証局を例に、電子署名の利用申請をした場合の動きを解説します。おもな流れは、以下の通りです。
- 認証局に電子証明書の利用を申し込む
- 認証局の本人確認、秘密鍵と公開鍵の対応付けの確認後、公開鍵の電子証明書を発行
- 認証局から電子証明書を受理する
- 認証局は、電子証明書が失効した場合、情報をリポジトリ(変更履歴の保管庫)に掲載する
引用:電子署名・認証・タイムスタンプ |総務省
上記の申請によって、Aさんはパブリック認証局で電子署名が利用できるようになります。
プライベート認証局とは?
認証局には「プライベート認証局」と「パブリック認証局」の2種類あり、それぞれ特徴が異なります。
おもな特徴は、下の表をご覧ください。
| プライベート認証局 | パブリック認証局 |
事業者 | 個人・法人 | 第三者機関 |
信頼性 | 低い | 高い |
費用 | 無料(一部有料) | 有料 |
推奨される使用場所 | 社内ネットワーク | 一般的なWebサイト |
設定のカスタマイズ性 | 自由にカスタマイズ可 | ルールに従う |
発行される証明書 | プライベート証明書 | パブリック証明書 |
ユーザーの利用方法 | ルート証明書をインストール | パブリック認証局に申請書を提出 |
プライベート認証局とは、個人や法人が独自に設定する認証局を指します。無料で利用でき、設定のカスタマイズ性が高いため、社内ネットワークでの利用がおもな用途です。
パブリック認証局と比べると、ルート証明書の配布や設定に手間がかかるのがデメリットですが、限定的な用途であればプライベート認証局のほうが使い勝手が良い場合も多いでしょう。
プライベート認証局の立ち上げ方法
ここからは、以下のふたつについて解説します。
- プライベート認証局を立ち上げる手順
- プライベート認証局を構築できるサービス
それぞれ順番にみていきましょう。
プライベート認証局を立ち上げる手順
プライベート認証局を立ち上げる手順は複数存在しますが、この記事で解説するサービスは、無料で使える「OpenSSL」です。プライベート認証局の構築は専門知識が必要なため、難易度は高いといえます。
それでは「OpenSSL」でプライベート認証局の構築方法を紹介します。大まかな流れは以下のとおりです。順を追って解説します。
- OpenSSLをインストールする
- コマンドを用いてルートCA証明書と中間認証局を作成する
- サーバー証明書を作成する
- Webサーバーに証明書を設定する
- クライアントにルート証明書をインストールする
【OpenSSLをインストールする】
まず、公式サイトから「OpenSSL」をインストールします。
公式サイト:https://www.openssl.org/
インストール後、コマンドプロンプトを管理者権限で実行し、各種設定を行う必要があります。
【コマンドを用いてルートCA証明書と中間認証局を作成する】
初期設定のOpenSSLは、プライベート認証局用の状態になっていません。そこで、標準のファイル設定をコピーしてプライベート認証局として使うために編集し、次の2つを作成します。
- ルートCA証明書
- 中間認証局
ルートCA証明書の作成には、自己署名証明書と秘密鍵を生成する必要があります。その後、以下の証明書情報を入力する画面が出た場合は、任意の情報を入力します。
- Country Name(国名)
- State or Province Name(州・都道府県名)
- Locality Name(所在区・市)
- Organization Name(組織名)
- Organizational Unit Name(組織単位の名称)
- Common Name(通称)
- Email Address(メールアドレス)
なお、Eメールのアドレスは省略可能です。
【サーバー証明書を作成する】
プライベート認証局を構築したら、サーバー証明書を発行しましょう。
大まかな手順は、以下の3工程です。
- 秘密鍵を作成
- 秘密鍵を使って、証明書要求を作成
- 認証局で署名し、サーバー証明書を作成
証明書情報の入力が求められた際は、先ほどと同様に任意の情報を入力しましょう。コマンド完了後に認証局で署名して、証明書を完成させます。
【Webサーバーに証明書を設定する】
続いて、コマンドプロンプトでWebサーバーを指定し、先ほどの秘密鍵とサーバー証明書の両方を設定します。この作業により、社内のサーバーで証明書を利用する準備が整います。
【取引先にルート証明書をインストールする】
最後に、取引先のパソコンにルート証明書をインストールしましょう。パブリック認証局と違い、プライベート認証局を利用するために必要な手順です。
Windowsの場合、作成したルート証明書を個別にインストールするためには、コントロールパネルから証明書マネージャーを開きます。
プライベート認証局の立ち上げに利用できるサービス
プライベート認証局の立ち上げに利用できるサービスを3つ紹介します。
- OpenSSL
- OpenXPKI
- ACM
OpenSSLは、SSLとTLSの機能を実装したオープンソースのライブラリです。SSLとTLSとは、インターネット上で標準的に利用される暗号プロトコルです。たとえばSSLが実装されている場合、ブラウザの左上部に南京錠のマークが表示されます。
LinuxやWindowsで利用可能です。
OpenXPKIは、SSL証明書の管理を担うプライベート認証局となるオープンソースのソフトウェアです。OpenSSLと同様に無料で利用できることや、認証局の運営をWebブラウザでできることが特徴です。
ACM(AWS Certificate Manager)は、IT大手のAmazonが運営するサービスです。プライベート認証局の構築やSSL・TLS証明書の作成や管理ができます。上記ふたつとは異なり有償サービスとなっています。
まとめ
プライベート認証局は費用が安くカスタマイズ性が高いため、社内ネットワークの構築に適しています。
コストカットしつつ安全なインターネット環境を整備したい方は、ぜひ試してみてください。
■参考サイト
公開鍵証明書-プライベート認証局(オレオレ認証局)を作り、証明書チェーンを作成するまでの流れ
https://zenn.dev/yuulab/articles/dd8b37761c4987