Udemyで講座を受講しよう!
Security

デジタル証明書

Yujiro Sakaki

前回の講座で、中間者攻撃の脅威を学びました。

ハッキングさえちゃんが、受信者かよちゃんの公開鍵をすり替えてしまうことで、送信者のメッセージを盗み見たり、改ざん行為が可能となってしまいました。

ポイントは、公開鍵の真正性です。その公開鍵が本物かどうか? どうすれば公開鍵が本物であることを確認できるのか? ということを考えていきましょう。

この講座の学習ポイント
  • デジタル証明書
  • 認証局(CA)
    • ルートCA(オフラインCA)
    • 中間CA(オンラインCA)

第25講

公開鍵を使った通信の安全性を確保するために、その公開鍵が本物であることを確認する必要があります。

今回は、その公開鍵の真正性を確約させる重要な役割を果たす「認証局(CA: Certificate Authority)」について学んでいきましょう。

認証局(CA)

インターネット上で安全な通信を行うためには、公開鍵が本当に正しい相手のものであることを確認しなければなりません。

ここで登場するのが「認証局(CA)」です。認証局(CA)には「ルートCA」と「中間CA」という2種類があります。

ルートCAは最上位の認証局で、他のCAを認証する役割も持っています。そのため、ルートCAのセキュリティは、最高でなければなりません。

セキュリティを最高レベルに保つためには、インターネット接続ができない状態が一番です。そのため、ルートCAは「オフラインCA」とも呼ばれています。

ルートCAはオフラインで、しかも自分自身も証明する必要があります。自分自身の証明をするというのも変な話ですけれどもね

それに対して、中間CAは「オンラインCA」とも呼ばれています。ルートCAからの認証を受け、その後に証明書を発行します。

この認証局の階層構造により、証明書の信頼性が維持されています。

この認証局が公開鍵の真正性をサポートする機関なんですね?

認証局が発行するデジタル証明書

認証局(CA)は、公開鍵が特定の人物や組織に属していることを証明する役割を担います。

CAは、公開鍵にCAのデジタル署名を付与して、その公開鍵が本物であることを証明します。このCAのデジタル署名付きの公開鍵が「デジタル証明書」と呼ばれるものです。

デジタル証明書取得の流れ

デジタル証明書を取得するためには、次のようなステップを踏む必要があります。

  1. 鍵ペアの生成
    • 最初に行うのは、公開鍵と秘密鍵のペアを生成することです。これらの鍵ペアは、通信の暗号化と復号に使用されます。秘密鍵は自分だけが保持し、公開鍵は後でCAに提出します
  2. CSR(証明書署名要求)の作成
    • 鍵ペアを生成したら、次にCSR(Certificate Signing Request:証明書署名要求)というファイルを作成します。CSRは、CAに提出されるもので、証明書の発行に必要な情報が含まれています
    • このCSRには、以下の情報が含まれます
      • 公開鍵証明書を申請するドメイン名や、申請者の連絡先情報等
  3. CSRの提出と身元確認
    • CSRを作成したら、これをCAに提出します
    • CAは、申請者の身元を確認し、申請された情報が正しいかどうかを確認します。この確認プロセスには、ドメイン名の所有権確認や、組織の実在確認が含まれることがあります
  4. デジタル証明書の発行
    • CAが申請者の情報を確認し、問題がなければ、CAは公開鍵にデジタル署名を付与して、デジタル証明書を発行します。このデジタル証明書は、インターネット上で公開鍵の信頼性を証明するものです
  5. 証明書のインストール
    • 発行されたデジタル証明書は、申請者が利用するウェブサーバーやメールサーバーなどにインストールされます。これにより、そのサーバーとクライアントの間の通信が安全に暗号化されるようになります

なんだかまだイメージがつきません…

自分の秘密鍵と公開鍵を作成後、公開鍵を認証局に申請をすれば安心だという、ふわっとした感じでまだ大丈夫だよ。どうしてもインフラアーキテクチャな話になっちゃうからね

デジタル証明書を提出した場合のデジタルエンベロープによる鍵交換を見てみましょう。


中間者攻撃で、ゆみちゃんがハッキングさえちゃんの公開鍵を受け取ります。その受け取った鍵で、すぐに共通鍵を暗号化するのではなく、1回認証局に公開鍵を確認します。


受信した公開鍵を認証局にチェックしてもらいます。

かよちゃんの公開鍵が、しっかり認証局のデジタル署名がされている(CAが持つ秘密の鍵で復号し、登録情報が出てくる)のであれば、認証局は本物ですよ! と返答できます。

不正である場合は、認証局が違うことを知らせてくれます。

注意点

実際には、ゆみちゃんが受け取った公開鍵を含むデジタル証明書は、ブラウザが自動的に検証します。このとき、証明書が信頼できるCAから発行されたものであれば、安全な通信が可能となります。ここは理解を深めるためのイメージ中心の話をしていますが、実際にはユーザーが手動で確認する必要はありません。


ここでアラートがわかれば、ゆみちゃんはメッセージを暗号化した共通鍵を、偽物の公開鍵で暗号化することは危険だ! 中間者攻撃されているぞ! と気づくことができます。

今回はここまでにしておきましょう。

認証局が認証するまでの仕組みや、デジタル証明書の中身はどうなっているのか? CSRがどういうフォーマットなのか、ここは意外と奥が深いのね

ここまででも、中間者攻撃対策がわかりました!

第25講のまとめ

平文と暗号化のお話から始まり、デジタル証明書のお話まで完了しました。

暗号文を生成するにもアルゴリズムは必要で、そのアルゴリズムも古くなれば暗号が破られてしまいます。情報セキュリティの用語で「危殆化(きたいか)」と言います。

そして暗号文を安全に送信するためには鍵のやりとりが必要で、公開鍵のように比較的安全な鍵交換でも、真正性が問われてしまう。

遠隔にいる人に、誰にも知られずやりとりを行うというのが、本当に大変なことだということがわかりますよね。

ルートCAと中間CAの存在があることで、現在の世の中は一定の安定を保つことができています。もちろん正しくないCAも存在してしまうわけで、ユーザーである私たちは信頼性のあるCAに公開鍵のデジタル証明書を発行してもらうことが重要です。

少し難しい話が続いたので、次は少しブレイクダウンしていきましょう。

Advertisement
ABOUT ME
榊 裕次郎
榊 裕次郎
Excel講師
1981年10月生まれのてんびん座、東京都出身。趣味は、旅行と料理とワイン。2024年は、佐賀県に行って「呼子のイカ」を思いっきり食べたいです。

引き続き、青森・秋田・岩手でのお仕事ご依頼、お待ちしております!
記事URLをコピーしました