Private CAとは?

Private CAは、プライベート証明書を簡単に発行して管理できる認証局(CA)機能を提供するサービスです。現代の暗号システムの中で、公開鍵基盤の証明書システムは多方面で活用されています。代表的な例としては、暗号化通信のHTTPS Webサービスのための基盤技術であるSSL/TLSがあります。また、金融サービスや電子決済時の本人認証のための電子署名技術もあります。このように多方面で使用されている証明書は、発行や使用において継続して有効性を保証し管理する機能が必須となります。この役割は認証局(Certificate Authority)が担当し、CAは証明書を安全に管理するため様々な標準と勧告事項に関するニーズを満たし、証明書の発行や照会、失効などに関する様々な機能を提供する必要があります。

汎用ネットワーク環境で使用される公認認証書とは違い、制限された範囲内ではプライベート証明書を使用した方が効率的です。ネットワーク信頼境界線(Network Trust Boundary)を定義する際にプライベート証明書を用いれば、簡単に信頼境界線内の個体を識別して認証できます。専用仮想ネットワーク内のサーバやIoTデバイスの暗号化されたチャンネルでも有効に使用できます。ただし、先に言及したように、証明書を発行して管理するCAは様々な要求事項を満たす必要があるため、プライベート証明書を安全に活用するためにプライベートCAを構築して運営するのは多少難しくならざるを得ません。

Private CAを用いることにより、標準に基づいたプライベートCAの構築と運営において、高い費用を払わずにCA機能を利用できます。階層構造を持つプライベートCAを簡単に構築でき、CAの秘密鍵はKey Management Serviceを通じて安全に守られます。プライベート証明書を簡単に発行し失効リストを管理できる機能と、証明書を確認して照会できる様々な機能を提供しています。NCPリソースにプライベート証明書を簡単に適用できるように、Private CAはNCPの様々なサービスと連携される予定です。


Private CAの制限

秘密鍵の管理制限

Private CAの秘密鍵は、Key Management Systemと同じシステムの内部で一連のプロセスにより自動作成され、安全に保管されます。Key Management Systemはキーを用いたすべての機能が封印(Sealing)されているため、CAの秘密鍵に対しては内部管理者であっても徹底的にアクセスが制御され、Private CAの外部に抽出(Export)することはできません。また、外部で作成された秘密鍵を任意に注入(Import)することもできません。

リソース作成の制限

Private CAは顧客ごとに最大10個のCAを管理でき、各CAは最大30,000個の証明書を安全に発行できます。追加リソースが必要な場合はサポートセンターまでお問い合わせください。


用語及び概念

認証局(Certificate Authority、CA)

様々なメッセージをやり取りするネットワークシステムでは、あらゆるリクエストと応答を処理するために、接続を試みる遠隔ユーザーに対する確認と伝送されたメッセージに対する完全性を検証する必要があります。それぞれユーザー認証とメッセージ認証と呼ばれるこのプロセスは、証明書を利用して処理できます。証明書を用いると、ユーザーであることを証明する電子署名が可能になり、安全な暗号化チャンネル(SSL/TLS)を構成することもできます。認証局(Certificate Authority)は証明書を発行する主体であり、証明書の所持者の身元を保証する役目を果たします。この他に、CAは発行した証明書の有効性を継続して管理するために、更新及び失効などの全般的な証明書の管理任務を行います。

公開鍵基盤構造(Public Key Infrastructure, PKI)

証明書は、公開鍵暗号システムを基盤に作成されたユーザーの鍵ペア(Key pair)のうち、公開鍵で作成された証明書署名リクエスト(CSR)をCAが署名することによって発行されます。安全な認証システムのためには、証明書の発行以外にも配布及び管理、保存、失効などのプロセスが追加で必要になります。このために、人的資源、物理的資源のみならず、ポリシーと手続きなどを包括的に定義した複合的なセキュリティシステム環境を公開鍵基盤(Public Key infrastructure)といいます。PKIにおいてCAは、厳格な基準に従って証明書の発行及び失効を担当することになります。実際には、証明書の発行を代行する機関であるRegistration Authority(RA)がユーザーの身元確認及び発行業務を代行する事例もあります。例えば、金融機関でユーザー認証のために公認認証書を利用する場合、当該金融機関はグローバルCAのRAとしてユーザーの公認認証書発行を代行します。

CAの階層構造

CAが証明書管理業務を処理する際はCA自らの証明書を利用し、証明書の発行者(Issuer)は証明書を署名したCAになります。CA証明書も他のCAが発行でき、この場合階層的な構造を形成するようになります。この場合、上位階層のCAは下位階層のCA証明書の発行者になります。階層の最上位に位置する最上位認証局をルートCAといいます。

トラストチェーン(Trust chain)

先に説明したネットワークチャンネルを暗号化する技術をSSL/TLS(Secure Sockets Layer/Transport Layer Security)といい、チャンネルを暗号化するために接続を設定するハンドシェイクの過程で証明書を使用します。HTTPSはSSL/TLSを用いた安全なWebサービスを保証するプロトコルです。現存するOSとWebブラウザは様々なグローバルルートCAの証明書を基本搭載しており、これをトラストチェーンといいます。トラストチェーンに含まれたルートCA(またはその下位CA)から発行された証明書を使用すると、HTTP通信を利用できます。

公認認証書とプライベート証明書

法的に認可されたグローバルCAから厳格な手続きを経て発行された公認認証書は、別の追加設定無しにSSL/TLSまたは電子署名を通じたユーザー認証に使用できます。プライベート証明書を用いてSSL/TLSまたは電子署名を使用しようとする場合は、プライベートCAをトラストチェーンに追加するなどの追加設定が必要になります。

X.509

PKI基盤の証明書標準であり、証明書と証明書失効リスト(CRL)の基本フィールドと拡張フィールドで構成されたプロファイルを定義した規格です。

証明書の識別名(Distinguished Names, DN)

X.509証明書に明示されるサブジェクト識別子であり、ネットワーク上で特定の主体を識別するために定義した標準であるX.500に基づいています。次の項目が一般フィールドとして含まれ、これを通じてユーザー、デバイス、アプリケーション、サービスなどを識別します。

  • Common Name(CN) :主体(発行者)の一般名
  • Organization(O) :主体(発行者)が属する組織または会社
  • Organization Unit(OU) :主体(発行者)が属する組織または会社の部署
  • Country(C) :主体(発行者)の国
  • State/Province(S) :主体(発行者)の地域(道、州)
  • Locality(L) :主体(発行者)の都市

主体の代替名(Subject Alternative Name, SAN)

DN以外に主体を識別する付加情報であり、X.509証明書の拡張フィールドで構成されます。DNSネームまたはIPアドレスやメールアドレスフィールドが含まれる場合があります。FQDNの形で複数(マルチドメイン)を明示できます。


Private CAのリソース構造

プライベートルートCA

最上位階層に位置しルートCAの役目を果たすCAであり、中間CA証明書を発行できます。

顧客管理プライベートルートCA

顧客が直接管理するルートCAを利用できます。この場合、Private CAで作成される中間CAの証明書を、顧客所有のルートCAの秘密鍵で署名して登録できます。詳細は「サブCAの作成 - 直接署名方式」項目を参照してください。

プライベート中間CA

中間階層のCAであり、機能上はルートCAと変わらず、同様にCA証明書を署名して下位階層構造を構成できます。

プライベート証明書

Private CAで管理するCAとして発行される証明書です。


Private CAを使用する

1.使用権限の管理

Private CAの権限は、Private CA内のCAリソース全体を使用して管理できる商品マネージャー権限と、権限が割り当てられたCAのみ使用して管理できるCAユーザー権限に分けられます。

Private CAマネージャー権限を付与する

① 特定ユーザーにPrivate CAの管理者権限を付与するには、まず Sub Accountsサービスをクリックします。

② Private CAの管理者権限を付与しようとするサブアカウントを選択します。 サブアカウントの詳細画面でポリシーの追加を選択します。

③ 選択したサブアカウントのポリシーにNCP_PRIVATE_CA_MANAGERポリシーを追加します。

CAユーザー権限を付与する

CAの権限管理項目を参照してください。

2.プライベートCAの作成

ルートCAの作成

CA作成をクリックします。

② CAタイプをルートCAに選択します。

③ CA名を入力します。CA名はアルファベット、数字、特殊文字の_、-のみが認められ、最初の文字をアルファベットにしてください。

④ 有効期間を日単位で入力します。最大3,650日(10年)まで指定できます。"MAX" を入力すると指定できる最大の日付で設定されます。

⑤ 主体情報とアドレス情報を入力します。一般的に、一般名(Common Name)は証明書の所有者である主体を識別できる識別情報を入力します。必要な場合、主体の代替名情報を入力します。DNS名やIPアドレスはコンマ(,)で区切り、マルチ入力してマルチドメイン証明書を作成することもできます。(一般的にCA証明書はSAN情報を必要としません。)

⑥ 入力した情報を確認してCAを作成します。

中間CAの作成:上位CAの指定方式

① CAタイプを中間CAに選択します。

② 中間CAの場合、発行者(Issuer)の役割を果たす上位CAを指定する必要があります。Private CAに作成済みのCAを指定して自動作成するか、顧客が直接管理するCAを用いて署名することもできます。中間CAの作成:直接署名方式を参照してください。

③ 有効期間を日単位で入力します。最大3,650日(10年)まで指定できますが、最終有効期間は上位CAの満了日以内にします。"MAX" を入力すると指定できる最大日数で自動設定されます。

④ これ以降の段階をルートCAの作成と同じように行います。

中間CAの作成:直接署名方式

① 上位CA指定で直接署名を選択してCAを作成します。

② 直接署名を指定したCAは登録待機状態で作成されます。証明書の署名のために作成されたCSRファイルをダウンロードします。

③ CSRファイルの署名には様々な方式がありますが、opensslを利用すれば簡単にCSRを署名して証明書を発行できます。以下は、opensslを用いて直接管理するCAの秘密鍵my_local_ca.keyでCSRファイルを署名して証明書を作成する命令です。
openssl x509 -req -days 365 -in MY_SUB_csr.pem -signkey my_local_ca.key -out TEST_SUB_crt.pem

④ 署名した証明書と発行CAの証明書(注意!CAの秘密鍵ではない)を登録します。もし発行されたCAが階層構造で構成されている場合は、その上位発行CAの証明書チェーンをすべて登録します。以下は証明書チェーンファイルの例です。

-----BEGIN CERTIFICATE-----
MIIDbjCCAlagAwIBAgIUIee5Ez90s6yqnC1RHYBkw3NpNc4wDQYJKoZIhvcNAQEL
BQAwPjELMAkGA1UEBhMCS1IxDDAKBgNVBAoTA05CUDEhMB8GA1UEAwwYW0JFVEFd
IEJlYWdsZV9Jb1QgU3ViIENBMB4XDTIwMDYyOTAxMDkzMVoXDTI5MDQxNzE4NTYw
M1owPzELMAkGA1UEBhMCS1IxDDAKBgNVBAoTA05CUDESMBAGA1UECxMJQ2xvdWQg
....
z0rXUrhhU2KMXtylXfzJqZkj3VLqjoNmjFcCgeeweto/1A8in9UhK1KzSUVcKVlL
XcHpYjn3BoxbVV+EsVCjhz+9dtKASo9ptZUDrOHLrYnaONShGI6pwxj5Dew4ttvm
VE39KQYNcdt7ajrXMmVfatq2zk+PoiSDjZ5flbzJoIrK3TE1NAgXYpXYjzphBXZ2
Gt9B53lFQHNnnMDDnjbIiQUp
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
MIIDazCCAlOgAwIBAgIUPIsBMXl3zeP5rSAcbahl6crbjwcwDQYJKoZIhvcNAQEL
BQAwPDELMAkGA1UEBhMCS1IxDDAKBgNVBAoTA05CUDEfMB0GA1UEAwwWW0JFVEFd
IE5DUCBQQ0EgUk9PVCBDQTAeFw0xOTA0MjIwMjE5NDVaFw0yOTA0MTcxODU2MTRa
MD4xCzAJBgNVBAYTAktSMQwwCgYDVQQKEwNOQlAxITAfBgNVBAMMGFtCRVRBXSBC
....
EWwyIcKDmymr7n14G15loPU0Q+cH2hTS/r9RXxw6Gjd7DnKcjF/970TR41tlxetW
f3DCAKP6KIUKh2eAy7HHt82HExP+KRLJbocA5QRwtwWY3zVIuHg6oLM5mdtDfBwl
kMLaJCAzSSgmcg63fQChz2kUuldaw7/5H1CI3i8VB+9JcM2l4imDhiaGlCquTKL3
VMfHx+eysnncEUxP54DD
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
MIIDaTCCAlGgAwIBAgIUNQfx2Rk2TqCM1o9PeN7/TJCz4iMwDQYJKoZIhvcNAQEL
BQAwPDELMAkGA1UEBhMCS1IxDDAKBgNVBAoTA05CUDEfMB0GA1UEAwwWW0JFVEFd
IE5DUCBQQ0EgUk9PVCBDQTAeFw0xOTA0MjAxODU1NDdaFw0yOTA0MTcxODU2MTda
MDwxCzAJBgNVBAYTAktSMQwwCgYDVQQKEwNOQlAxHzAdBgNVBAMMFltCRVRBXSBO
....
IQV7Vqgs0NsKqJ9rPKi88gu9x3y6/pEo8C9s2aTZ1l7sYauh00gySffRQeu2WCWx
mdxRKMRIlFaLFVHpXxGhga/DEvFo9EhouNP4CjaIe4FcvWBZ30Msp/fJbzg/Bnby
VXGZcU0qiFHZbIa7dViO0re5AujhqKt4HYuhT787xNLLyG95m/6XUKcEvxBGR9ZZ
vpDcpjcEC94qLxPHXg==
-----END CERTIFICATE-----

また、認証書に直接署名するCA の認証書には、下記のようにCA 用の拡張フィールド(Basic constraints のCA オプション)が活性化されている必要があります。

...

X509v3 extensions:
     X509v3 Key Usage: critical
         Certificate Sign, CRL Sign
     X509v3 Basic Constraints: critical
         CA:TRUE

...

⑤ 正常に登録され、有効化状態に転換されます。

3.CA証明書の確認

① CAの詳細情報と証明書を確認するには、CA証明書を見るをクリックします。

② CA証明書情報を確認でき、CA証明書と発行者チェーンをすべてダウンロードできます。

4.CAの権限管理

① 個別にCAユーザーを登録するには、権限管理をクリックします。

② サブアカウントを選択して追加します。

③ 追加された権限を確認します。

5.CAの状態管理

Private CAのリソースであるCAは、作成から最終失効まで一連の状態を保ちながら動作します。CAの状態は次のとおりです。

有効

CAのすべての機能が利用できる正常運営状態です。

無効

CAの利用が中止された状態です。照会機能以外の機能が遮断されます。発行された証明書に対しては継続して有効性検証を行うことはできますが、新しい証明書の発行を含めCAチェーンのリクエストやCRL、OCSPなどのすべての機能は一時的に利用できません。

登録待機

直接署名方式で作成されたCAの証明書が登録される前の状態です。署名された証明書が24時間以内に登録されないと自動的に削除されます。

満了

CA証明書の有効期間が過ぎ、満了になった状態のCAです。満了になったCAは使用できなくなり、ユーザーの確認を経て永久に削除できます。

削除リクエスト

削除リクエストされた状態のCAは、72時間の待機時間を経てから完全に削除されます。待機時間が必要でない場合は即削除もできます。

完全削除

完全削除されてPrivate CAで失効した状態です。CAの鍵が永久に削除されたため、復元できません。

CAの無効化/有効化の管理

① 有効化状態のCAを無効化するには、無効化をクリックします。

② 無効化されたCAは、照会機能以外のその他機能の実行ができなくなります。

③ CAを再有効化するには有効化をクリックします。

CAの削除管理

CAの削除項目を参照してください。

6.CA情報配布URLの設定

証明書には、証明書の検証と照会に必要な情報を照会できるURLポイントを明示できます。通信接続時にプロトコルの内部で自動的に照会でき、当該URLを通じて直接照会もできます。Private CAで発行する証明書に配布できる情報は以下のとおりです。

証明書チェーン(Issuer Chain)

本人の証明書を発行したCAを含め、階層構造を持つその上位のCA証明書のすべてをリストで提供します。これを発行者証明書チェーンといいます。

証明書失効リスト(Certificate Revocation List, CRL)

すべての証明書には有効期間があります。有効期間満了以外の理由で証明書が失効する場合、失効リストに加えられます。CRLと呼ばれるこのリストを定期的に更新して、証明書の有効性を検証する必要があります。

オンライン証明書状態プロトコル(Online Certificate Status Protocol、OCSP)

証明書の有効性を検証するためにCRLを直接ダウンロードして照会する代わりに、当該証明書の状態を素早く照会できるOCSPを利用することもできます。OCSPは特定CAの発行証明書を対象に、満了状態のみを定期的に更新してその状態を保ちます。Private CAは顧客の便宜を図るために、基本的にOCSP機能を提供しています。

① 上記の情報を証明書に配布するには、CAを選択して配布URL項目の作成をクリックします。

② 今後このCAで署名された証明書には、以下のように証明書チェーン、CRL、OCSPポイントが含まれます。

  Authority Information Access:
      OCSP - URI:{NCP PrivateCA OCSP URL}
      CA Issuers - URI:{NCP PrivateCA CA URL}
  X509v3 CRL Distribution Points:
      Full Name:
        URI:{NCP PrivateCA CRL URL}

7.CAの削除

① CAを削除するには削除リクエストをクリックします。

② 削除をリクエストすると、72時間の削除待機時間を経てから最終削除されます。削除待機中のCAは無効化状態と同様に、照会機能以外の大部分の機能が遮断されます。CAの削除確認のためにCA名を入力します。削除待機中のCAの削除リクエストをキャンセルするには、削除キャンセルをクリックします。削除リクエストは撤回されてすぐに無効化状態に転換され、有効化に転換してもう一度利用できます。

③ 削除待機中のCAを即削除するには、即削除をクリックします。(注意!) CAがすぐに削除され、CAの秘密鍵は永久に削除されて復元できません。


プライベート証明書を使用する

1.証明書の発行

① プライベート証明書を発行するには、プライベート証明書の発行をクリックします。

② 証明書の鍵タイプと有効期間を日単位で入力します。最大3,650日(10年)まで指定できますが、最終有効期間は上位CAの満了日以内にします。"MAX" を入力すると指定できる最大日数で自動設定されます。

③ 基本主体情報とアドレス情報を入力します。一般的に、一般名(Common Name)は証明書の所有者である主体を識別できる識別情報を入力します。

④ 必要な場合、主体の代替名情報を入力します。DNS名やIPアドレスはコンマ(,)で区切り、マルチ入力してマルチドメイン証明書を作成することもできます。

⑤ 発行された証明書を確認します。(注意!) Private CAは証明書の秘密鍵を保存しません。このプロセス以降は秘密鍵の再取得はできなくなるので、必ず秘密鍵をダウンロードして保管してください。

⑥ 発行されたCAが階層構造で構成されている場合は、発行者証明書チェーンが含まれます。

⑦ CAポイントURLが作成されている場合は、OCSP証明書が含まれます。

2.証明書の照会

① 発行されたプライベート証明書を確認するには、CA詳細情報欄の発行証明書リストを見るをクリックします。

② 発行された証明書のシリアル番号リストを確認できます。シリアル番号をクリックして証明書をダウンロードします。

OCSP情報を照会する

証明書の失効状態を照会するには、CRLを直接参照する方式とOCSPを照会する方式があります。Private CAが提供するOCSP機能を利用するには、以下のメッセージでリクエストします。

openssl ocsp -issuer {Chain cert} -cert {Cert} -header Host {NCP Private CA Host Name} -url {OCSP URL} -VAfile {OCSP Responder cert} -text

3.証明書の失効

① 発行されたプライベート証明書を失効させるには、プライベート証明書の失効をクリックします。

② 証明書のシリアル番号を入力します。失効した証明書はすぐにCRLに登録され、登録は撤回できません。

$ curl {CRL URL} | openssl crl -text -noout

Certificate Revocation List (CRL):
        Version 2 (0x1)
    Signature Algorithm: sha256WithRSAEncryption
        Issuer: /C=KR/ST=Gyeonggi-do/L=Seongnam-si/O=Naver Cloud Platrofm/OU=Security Dev/CN=My sub CA
        Last Update: Jul 15 19:35:47 2020 GMT
        Next Update: Jul 18 19:35:47 2020 GMT
        CRL extensions:
            X509v3 Authority Key Identifier:
                keyid:1F:C3:72:96:49:23:A0:E2:04:1E:9C:23:45:9C:D5:6F:32:01:CC:43

Revoked Certificates:
    Serial Number: 4BE32123B452C89AF10C069EF96F3C69458B1A25
        Revocation Date: Jul 15 19:35:47 2020 GMT
    Signature Algorithm: sha256WithRSAEncryption
         63:49:37:8c:4f:ef:07:5b:64:7b:b2:35:8e:c9:d9:55:98:92:
         07:28:ab:3a:7e:d6:dd:b2:00:87:1d:8f:0f:af:7d:a5:d3:5d:
         43:e7:06:59:8d:6d:b8:4a:b5:94:5e:c3:1f:40:7a:0a:fa:a0:
         6f:a1:ab:10:8c:81:f1:e8:f4:61:de:40:45:7e:57:d8:4b:ae:
         53:86:8e:41:8d:5b:45:7c:86:d1:03:c6:61:9c:3d:ef:c9:eb:
         d4:21:59:ea:43:79:1b:47:0d:2a:6d:2a:64:f7:39:82:84:23:
         3d:d1:2d:92:25:a1:44:14:7e:80:ce:0d:2e:ad:d7:66:8d:73:
         33:4b:fd:33:53:cc:0e:7e:c5:72:df:d9:59:47:66:7b:9f:be:
         5b:9f:2c:a1:09:98:47:5e:23:00:ca:ae:89:8a:90:f0:fa:7e:
         f6:d2:52:60:ef:e7:ed:08:cf:28:ff:06:54:5e:cb:b1:a1:7e:
         e4:23:f6:6b:1f:21:f6:fb:97:86:47:6c:1c:17:0b:40:09:da:
         01:8a:5b:ad:41:7d:99:03:4f:f3:a1:bd:a2:63:a8:51:31:b0:
         9d:d5:c6:8c:14:7a:17:de:15:1c:16:74:47:19:9b:49:f1:f9:
         36:e6:92:35:67:63:b1:14:76:14:49:a8:3a:a1:98:03:14:b7:
         a2:c0:0e:36

に対する検索結果は~件です。 ""

    に対する検索結果がありません。 ""

    処理中...