iPhone/iPad/Macで「安全ではありません」が表示される理由とその解決方法

2019年3月末頃から、iPhone/iPad/MacでWebサイトを開いた時「安全ではありません」という警告メッセージが表示されることが話題になっています。

「安全ではありません」という警告メッセージが表示される

実は、この警告メッセージはすべてのWebサイトで表示されるわけではなく、アクセス先のWebサイトの管理者が適切な設定を追加することで、表示されないようにできます。

この文書では、
(1)「安全ではありません」という警告メッセージが表示されるようになった理由
(2)警告メッセージが表示されないように、Webサイトの管理者がすべきこと
の二つについて説明します。

「安全ではありません」という警告メッセージが表示されるようになった理由

この「安全ではありません」という警告メッセージは、アップルが開発しているWebブラウザーSafari(サファリ)が出しています。SafariはiPhone/iPad/Macに、標準でインストールされています。

アップルは新機能の追加や不具合の修正などのため、インストールされたSafariを定期的にアップデートしています。
Safari警告メッセージイメージ
2019年3月25日にリリースされたiOS 12.2/macOS 10.14.4に付属のSafari 12.1から、一部のWebサイトを開くと「安全ではありません」という警告メッセージが表示されるようになりました。インストールされたSafariがこのバージョンにアップデートされると、「安全ではない」と判断されたWebサイトを開いた時、この警告メッセージが表示されるようになります。

「安全ではありません」は2018年3月から表示されていた


実は、この警告メッセージは今回初めて表示されるようになったのではなく、少し前のバージョンのSafariから表示されるようになっていました。2018年3月29日にリリースされたiOS 11.3/macOS 10.13.4に付属のSafariから、パスワードやクレジットカード情報の入力を求めるWebページとの通信が安全に行われていない場合に、この警告メッセージが表示されるようになっていたのです。

このバージョンのSafariでは、
(1)今開いているWebページで、パスワードやクレジットカード情報の入力を求められている
(2)今開いているWebページとの通信が安全に行われていない

の二つの条件が満たされている場合に「安全ではありません」が表示されていました。パスワードやクレジットカード情報は第三者に漏れてはならない情報であり、通信が安全に行われていないことを知らせることで、Webサイトを見ているユーザーがこうした情報を安易に入力しないようにすることを目的としていました。

Safari 12.1から「安全ではありません」が表示される条件が厳しくなった


しかし、セキュリティやプライバシーを向上させ、ユーザーの安全性を高めるためには、こうした第三者に漏れてはならない情報を扱うWebページのみを守るのでは、不十分だということが分かってきました。

そのため、アップルは2019年3月25日にアップデートしたSafari 12.1で(2)の条件のみ、つまり、通信が安全に行われていないすべてのページで「安全ではありません」という警告メッセージを表示するように、Safariの動作を変更しました。

なお、同様の変更は、グーグルが開発しているWebブラウザーChrome(クロム)でも行われています。Windows版のChromeで通信が安全に行われていないページを開くと「保護されていない通信」という警告メッセージが表示されます。
Chrome警告メッセージイメージ

警告メッセージが表示されないように、Webサイトの管理者がすべきこと

Webサイトを開いた時「安全ではありません」という警告メッセージが表示されないようにするには、それぞれのWebサイトの管理者が自分のWebサイトに、適切な設定を追加する必要があります。

ここでは、Webサイトの管理者向けに、警告メッセージが表示されないようにするために必要な二つの手順、「サーバー証明書の導入」と「常時HTTPS化」について説明します。

HTTPSとは


HTTPS(エイチティーティーピーエス)は、Webの通信(HTTP、エイチティーティーピー)を安全に行うようにするために開発された仕組み(通信プロトコル)で、インターネットで広く使われています。Webの通信をHTTPからHTTPSに変更する(HTTPS化する)ことで以下の四つを実現でき、相手との通信を安全に行うことができるようになります。
(1)通信相手の本人性確認:なりすましの防止
(2)通信路の暗号化:盗聴からの保護
(3)通信内容の保護:通信内容の改ざんの検知
(4)通信相手の否認防止:通信した事実と内容の事後証明

1. サーバー証明書の導入
Webの通信をHTTPS化するには、サーバー証明書の導入が必要です。自分のWebサイトで使うサーバー証明書を入手し、Webサイトを動かしているWebサーバーにインストールすることで、WebブラウザーとHTTPSで通信できるようになります。

サーバー証明書を入手するには


サーバー証明書は、認証局と呼ばれる組織が発行しています。インターネットでは複数の認証局が運営されており、認証局ごとに、さまざまなサービスが提供されています。

JPRSも認証局の一つとして「サーバー証明書発行サービス」を提供しています。サービスの概要などにつきましては、こちらをご覧ください。

2. 常時HTTPS化
サーバー証明書をWebサーバーにインストールすることで、Webブラウザーとの通信にHTTPSを使えるようになります。これは、Webブラウザーとの間の通信手段としてHTTPに加え、HTTPSを使えるようになるということです。

HTTPS

そのため、警告メッセージが表示されないようにするためには自分のWebサイトの内容(Webコンテンツ)を更新して、Webブラウザーとの間の通信に常にHTTPSを使うようにする必要があります。これを常時HTTPS化といいます。