0
1

More than 3 years have passed since last update.

サーバー認証まわりの基礎(独自SSL証明書、DNSなど。Amazon CloudFrontでの例。)

Last updated at Posted at 2020-05-01

いつもいつも忘れてしまうので、備忘のため書いておくことにしました。本当に忘れっぽくて困る・・。

サーバー認証とは

サーバー認証とは、クライアントが、これから接続する相手であるサーバーの正当性を確認することです。

正確には、「サーバーの公開鍵」が正当なものかを確認することです。

サーバー認証の流れ

クライアントは、サーバーからサーバー証明書を受け取ります。

このサーバー証明書には、以下が記載されています。

  1. サーバーの公開鍵(これがメインの情報)
  2. その他属性
  3. 上記をまとめてハッシュ化し、更にそれを認証局の秘密鍵で暗号化したもの(= 認証局の署名)
  4. その時に利用されたハッシュ関数の名前、暗号化方式

クライアントは、サーバーの公開鍵が信頼できるものか確認するために、サーバーの公開鍵に認証局のお墨付きが付いているかを確認します。

具体的には、クライアントは以下を行います。

  • 認証局の公開鍵と、4に書かれてある暗号化方式をもとに、3を復号します。(もともと認証局の秘密鍵で暗号化されているわけですから、認証局の公開鍵で復号できるわけです。)
  • 4に書かれてあるハッシュ関数で、1と2をまとめてハッシュ化します。
  • 両者が一致しているか確認します。

一致していれば、サーバーの公開鍵は認証局が署名した(信頼した)ものである、ということをクライアントは確認できます。

サーバーには、こういったサーバー証明書がインストールされていないと、クライアントからまともなサーバーだと信じてもらえず、TLS通信を開始することができません。

サーバー証明書とドメインの関係

サーバー証明書は、「サブドメイン名」と「ホスト名」を含むFQDNに対して発行されます。

例えば

  • example.com
  • sub1.example.com
  • sub2.example.com
  • userCompany1.example.com(マルチテナントサービス)

といった感じです。

また、このように個別で指定するのではなく、

  • *.example.com

といったように、ワイルドカードを指定することもできます。この場合、「*.example.com」に対してサーバ証明書が発行されます。

ただ、ワイルドカード指定の証明書では、example.comの事業者の実在性は証明できるものの、

userCompany1.example.com

のuserCompany1の実在性までは証明できません。userCompany1の実在性を証明する必要があるならば、ワイルドカードで表現されたドメイン名の証明書ではなく、

userCompany1.example.com

のサーバー証明書を取得する必要があります。

こういった理由から、独自ドメインの独自SSL証明書(サーバー証明書)というものが必要となります。

具体例(Amazon CloudFront)

例えば、AWSのCloudFrontでは

*.cloudfront.net

のサーバー証明書はAWSが取得済みですので、CloudFrontが払い出してくれる

xxxx.cloudfront.net (xxxxはCloudFrontディストリビューションごとに異なる)

を呼び出し元に公開するのであれば、サーバ証明書についての手続きは不要です。

しかし、これではxxxxのコンテンツオーナーの実在性は証明されません。xxxxのコンテンツオーナーが自社の実在性を証明したければ、独自のドメインを取得し、このドメインのサーバ証明書を取得する必要があります。

例えば

userCompany1.com

のドメインを取得して、このドメインのサーバ証明書を取得するのです。

そして、このドメインをDNSで名前解決できるように、

userCompany1.com  →  xxxx.cloudfront.net

という紐付けを表現するCNAMEレコードを登録します。

(なお、xxxx.cloudfront.netとIPアドレスを紐づけるAレコードについては、当然ながらAWSが作成してくれます。)

参考

https://xtech.nikkei.com/it/article/COLUMN/20060725/244233/
https://www.digicert.co.jp/welcome/pdf/wp_ssl_domain.pdf

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1