【セキュリティ】サーバー証明書ざっくりまとめ
はじめに
インターネットを使っていると、ブラウザのアドレスバーに「🔒 鍵マーク」が表示されることがあります。これは、そのWebサイトとの通信が安全に暗号化されていることを意味します。この安全な通信を実現している裏側には、「サーバー証明書」と呼ばれる重要な仕組みがあります。
しかし、そもそもサーバー証明書とはなんでしょうか?
本記事では、サーバー証明書の役割や仕組み、そして私たちのブラウザがどのように信頼を判断しているのかを、初心者にも理解できるようわかりやすくまとめていきます。
公開鍵暗号方式
公開鍵暗号方式は、ペアの鍵(公開鍵と秘密鍵)を使って暗号化・復号を行なう方式です。
この方式では、受信者側があらかじめ自分しか使用することができない秘密鍵を生成し、その秘密鍵から誰もがアクセスできる公開鍵を生成しておきます。
これにより、誰でもメッセージを送信できますが、そのメッセージを読むことができるのは秘密鍵を持っている受信者に限定されます。
公開鍵暗号方式の弱点
ここである疑問が浮かび上がります。
「その公開鍵は本当にその会社が発行しているの?」
インターネット上には、誰でも「公開鍵」を自分で作って公開できます。
しかし、その鍵が「信頼できる人・会社のものかどうか」は、見る側には判断できません。
例えば、攻撃者が偽のWebサイトを作って、自分の公開鍵を配布した場合、ユーザーがだまされて、その鍵で暗号化して送信してしまう可能性があります。
こうなると、暗号化されていても相手が偽物だったら意味がありません。
そこで登場するのがサーバー証明書という第三者が存在を証明してくれる仕組みです。
サーバー証明書とは
サーバー証明書とは、「このサーバーは本当に◯◯という会社・組織のものですよ」と第三者が証明してくれる電子的な身分証明書のことです。
つまり、その公開鍵が本物のサイトのものであることを認証局が保証する仕組みのことを指します。
サーバー証明書の役割
① 本人確認
このWebサイトは、たしかに○○会社が運営してますよ!と証明をします。
② 鍵の配布
安全な通信をするために「公開鍵」を配って、暗号化の準備をします。
仮にサーバー証明書がない場合、通信が暗号化されないため、IDやパスワードが盗まれる可能性があります。
認証局
インターネット上の身分証明をしてくれる“信頼できる役所”のような存在です。この認証局がサイトの所有者を証明します。
例えば、初めてあるWebサイトにアクセスしたとき、「このサイト、本当に○○会社のもの?」と心配になりますが、そのとき認証局という第三者が「このサイトは○○会社のものですよ」とお墨付きの証明書(=サーバー証明書)を出してくれます。
※https://college.globalsign.com/ssl-pki-info/certification_authority/ より
まとめ
サーバー証明書は、インターネット上で安全に通信を行うための「電子的な身分証明書」です。特に、公開鍵暗号方式において「この公開鍵は本当に信頼できる相手のものか?」を判断するために重要な役割を果たしています。
その信頼性を保証するのが認証局(CA)です。ブラウザやOSはあらかじめ信頼できる認証局の情報を持っているため、証明書がその認証局から発行されたことを確認することで、安全な通信かどうかを判断しています。
私たちがWebサイトにアクセスしたときにブラウザに「鍵マーク」が表示されるのは、こうした仕組みによってサーバーが信頼できると判断され、安全に通信が暗号化されていることを意味しています。
次回以降、ブラウザの鍵マークの意味や証明書チェーンの仕組みについてまとめていきます。
最後までお読みいただき、ありがとうございました。
参考・画像引用元URL
Discussion