全2870文字
PR

 ある女性アーティストの公式HPを開こうとすると、Webブラウザーが「この接続ではプライバシーが保護されません」と書かれた警告画面を表示した(図3-1)。

図3-1●失効したサーバー証明書を登録したWebサーバーにアクセスしたときの表示例
図3-1●失効したサーバー証明書を登録したWebサーバーにアクセスしたときの表示例
Webサーバーに登録されたサーバー証明書の期限が切れていると、Webブラウザーが警告を表示する。画面は、あるアーティストの公式HPにChromeを使ってアクセスしたときのもの。2019年9月22日に発覚し、9月30日時点でもこの状態だった。
[画像のクリックで拡大表示]

 ほとんどのWebブラウザーは、TLSを使って通信できないWebサーバーにアクセスすると、何らかの警告を表示する。

 例えばグーグルのChromeの場合、「http://」で始まるURLのWebページはURL欄に「保護されていない通信」と表示して、目的のWebページをそのまま開く。一方、「https://」で始まるURLでTLSの通信を指定したのにもかかわらずTLSの通信を開始できない場合は、前述した警告画面を表示し、目的のWebページを開かない。開くには「詳細設定」ボタンをクリックして、わざわざ「安全ではありません」というリンクをクリックする必要がある。

 女性アーティストの公式HPを開こうとしたときに表示された警告画面には、「NET::ERR_CERT_AUTHORITY_INVALID(証明書が無効)」と書かれていた。TLSの通信を開始できなかったのは、サーバー証明書が無効だったからと推測される。

無効になる2つのケース

 サーバー証明書がWebブラウザーに無効だと判定されるケースは大きく分けて2つある。1つはサーバー証明書の有効期限が切れた場合。もう1つは、サーバー証明書が証明書失効リスト(CRL)に載っていた場合だ。

 サーバー証明書の有効性は、TLSの処理の中で確認される。

 Webブラウザーが「https://」で始まるURLでアクセスすると、Webサーバーからサーバー証明書を受け取る(図3-2)。

図3-2●サーバー証明書を使ったサーバー認証の流れ
図3-2●サーバー証明書を使ったサーバー認証の流れ
クライアントが、サーバーから受け取ったサーバー証明書の内容から計算して導いたハッシュ値と、証明書に付与されたデジタル署名をCAの証明書に含まれる公開鍵で復号したデータが一致すれば、サーバーは正当だと判断する。データが不一致であったり、有効期限が切れていたり、CRLに含まれていたりした場合は、Webブラウザーは警告を表示する。
[画像のクリックで拡大表示]