TLS/SSL - 認証編
前回の記事(TLS/SSL - 暗号化編 - 俺、サービス売って家買うんだ)の認証編です。
TLS/SSLにおける認証とは?
開いているウェブサイトが本当にサーバーの持ち主のものか第三者に認証してもらう仕組み。
サーバー証明書
- サーバーの正当性を保証するため認証局に依頼して発行してもらう証明書
用語に分解して少し詳しく見ていく。
認証局
- CA = Certificate authority
- 暗号通信などで必要なデジタル署名を発行する機関
- TLS/SSLの話で言うとサーバー証明書の発行
- 認証局にはルート認証局(root CA)と中間認証局(intermediate CA)がある
- ルート認証局は上位の認証局による認証を受けず、自分の正当性を自ら証明する
世界のマーケットシェアはこんなもの。
※出典(Certificate authority - Wikipedia)
※余談
2016年の4月にthe Electronic Frontier Foundation, Mozilla, Cisco, AkamaiによるLet's EncryptというTLS用の証明書を無料で発行するCAが立ち上がったのは記憶に新しい。
サーバー証明書に記載されているもの
- サーバー証明書
- サーバー運営者の組織名
- 認証局の組織名
- 証明書の有効期限
- サーバーの公開鍵
- etc
Chromeで開いたGoogleサーバー証明書
GeoTrust Global CAのルート証明書
署名
- 証明書の内容をハッシュ化して認証局の秘密鍵で暗号化したもの
中間証明書(Intermediate Certificate)
- サーバー認証は3階層か4階層になっている
- 上位の認証局から認証を受けることにって自らの正当性を認証する認証局
- サーバー証明書を認証する認証局を認証するルート認証局
※参考
- 中間CAとは|ICA|中間認証局|intermediate certificate authority − 意味 / 定義 / 解説 / 説明 : IT用語辞典
- SSLサーバ証明書の中間CA証明書集めを自動化した - Qiita
正当性の証明
- ブラウザにサーバー証明書と中間証明書が送られてくる
- 中間証明書とPCにインストールされているルート証明書を比較し一致するものを探す
- 一致すれば中間証明書は信頼できると判断
- ルート証明書に含まれるルート認証局の公開鍵でサーバー証明書の署名を復号
- サーバー証明書の内容をハッシュ化
- 4で複合されて得られたハッシュ値と5で得られたハッシュ値を比較し一致すれば正当性の証明完了
※参考
メモ
この内容と直接関係ないが、同じ認証でもCertificationとAuthenticationは異なる
- Authentication = 二者間認証
- ログインとか
- Certification = 三者間認証
- クレジットカードとか、TLS/SSLとか
※参考
まとめ
ようやく詳しくわかってきた。(๑•̀ㅂ•́)و✧オラッオラッ
参考書籍
- 作者: 結城浩
- 出版社/メーカー: SBクリエイティブ
- 発売日: 2015/08/26
- メディア: 大型本
- この商品を含むブログ (14件) を見る