WEBサイトのhttps化が進む中、アンドロイド端末のSSLエラーがサイト運営者を悩ませる

この記事は約16分で読めます。

httpsandroiderror.jpg最近、WEBサイトをhttps化(SSL化)する動きが活発である。いまや、われわれが日常見るWEBサイトは過半数がhttpsのサイトになっているようである。JIMDOサイトも常時SSLになっているし、一般企業やネットショップもhttps化がかなり進んできた。しかし、PCやiPhoneでは問題なく表示できていても、アンドロイド端末でhttps表示の「エラー」が頻発するという事態が頻発。最近、https化したばかりのWEBサイトでも起きているのでとても困った問題になっている。

▼httpsで表示するとエラーとなるWEBサイト(アンドロイド端末のみ)
httpsandroid.jpg

上記の画像はアンドロイド端末のネクサス7のChromeでWEBサイトを閲覧したものである。ネクサス7は古いアンドロイド端末だが、OSとChromeアプリは最新版にしてある。「この接続ではプライバシーが保護されません」というエラー表示だ。さらに「攻撃者が当サイト(ドメイン名)上のあなたの情報(パスワード、メッセージ、クレジットカード情報など)を不正に取得しようとしている可能性があります。」と、畳み掛けるような強い警告文が表示されている。

関連情報として、Googleヘルプ「https://support.google.com/websearch/answer/190597」では以下のように書かれている。

「このサイトは第三者によってハッキングされている可能性があります」というメッセージ

サイトの既存のページが改ざんされた、またはスパムページが新たに追加されたと思われる場合は、「このサイトは第三者によってハッキングされている可能性があります」というメッセージが表示されます。このようなサイトにアクセスすると、スパムや不正なソフトウェアにリダイレクトされることがあります。

このような怖い警告文が表示されているが、実は問題ないサイトである。

https化の過程でなにかが問題となり、このようなエラー表示になっているようだ。ちなみに、PCやiPhoneでは問題なく表示されていて、アンドロイド端末だけで起きる現象である。

シマンテック社のWEBサイトに関連しそうな情報がある。
出典 https://knowledge.symantec.com/

問題

SSL 接続可能なサイトにアクセスすると、Internet Explorer や Firefox などの PC ブラウザや、一部の携帯端末では問題なく接続できます。

しかし、いくつかのスマートフォン等、携帯端末の一部のみで「証明書が信頼できない」という内容の警告が表示されたり、接続できなかったりします。

解決策

以下の原因が考えられます。

  1. ウェブサーバから、ルート証明書が送信されている
    一部のスマートフォン/携帯端末では、SSL 接続時にサーバ側からルート証明書が送信されてくると警告を表示したり、接続を拒否したりする仕様が確認されています。該当するユーザ環境からのアクセスが想定される場合は、ルート証明書を送信しない設定へ変更することを検討してください。
  2. ウェブサーバから送出される中間CA証明書の送出順が正しくない
    一部のスマートフォン/携帯端末からアクセスした場合、ウェブサーバから必要な中間CA証明書がすべて送信されていても、その送信順が正しくない場合にはクライアント側にに警告が表示されたり、接続ができなかったりする事象が確認されています。以下のように、①→②→③ の順でサーバから送出されてくるのが正しい順序です。①→③→② の順で送信されてくるなど、サーバが送信する順序とクライアントでサーバID を検証する順序が一致しないと正しくSSL接続できない場合があります。②と③が正しい順序でサーバから送出されているかを確認してください。

    —–BEGIN CERTIFICATE—–
    ① お客様の証明書
    —–END CERTIFICATE—–
    —–BEGIN CERTIFICATE—–
    ② 製品ごとの中間CA証明書
    —–END CERTIFICATE—–
    —–BEGIN CERTIFICATE—–
    ③ クロスルート設定用証明書
    (すべての製品共通)
    —–END CERTIFICATE—–

    多くのPC ブラウザは、サーバID の検証に必要な順と異なる順番で中間CA証明書が送信されてきても正しく接続できる仕様のため、この問題は発生しません。

httpsを表示するための中間証明書が古いとこのエラーになることがあった。

しかし、今回のWEBサイトではhttps化を実施したのは2017年に入ってからであり、中間証明書が古いというのは考えにくい。状況としては、さくらインターネットでラピッドSSLを使っているドメインである。解決までにまだ時間がかかりそうである。

sslpcimg.jpg

さくらインターネットに問合せたところ以下のような返事をもらった

【原因】
このような症状の場合、中間証明書やクロスルート 証明書のインストールに問題がある可能性が高い。

【対策】
以下のURLにてラピッドSSLの中間証明書を確認し、適切なものがインストールされているか調べる。
▼ ジオトラスト SSLサーバ証明書のインストール手順 中間CA証明書の取得
https://help.sakura.ad.jp/hc/ja/articles/206208661#02

上記のURLで調べたところ、まず中間CA証明書が「b) 2016年3月1日(火) 仕様変更適用後に発行された証明書」であるかどうかをチェックするということである。

以下上記URLより引用

中間CA証明書 (三階層目)
▼証明書仕様
公開鍵鍵長:20148bit RSA
署名アルゴリズム:SHA-256
有効期限:2022年5月20日(GMT)
Subject: Common Name = RapidSSL SHA256 CA Organization = GeoTrust Inc. Country = US
SerialNumber:02 3a 71
Certificate SHA1 Fingerprint:C8 6E DB C7 1A B0 50 78 F6 1A CD F3 D8 DC 5D B6 1E B7 5F B6

▼証明書
—–BEGIN CERTIFICATE—– MIIETTCCAzWgAwIBAgIDAjpxMA0GCSqGSIb3DQEBCwUAMEIxCzAJBgNVBAYTAlVT MRYwFAYDVQQKEw1HZW9UcnVzdCBJbmMuMRswGQYDVQQDExJHZW9UcnVzdCBHbG9i YWwgQ0EwHhcNMTMxMjExMjM0NTUxWhcNMjIwNTIwMjM0NTUxWjBCMQswCQYDVQQG EwJVUzEWMBQGA1UEChMNR2VvVHJ1c3QgSW5jLjEbMBkGA1UEAxMSUmFwaWRTU0wg U0hBMjU2IENBMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAu1jBEgEu l9h9GKrIwuWF4hdsYC7JjTEFORoGmFbdVNcRjFlbPbFUrkshhTIWX1SG5tmx2GCJ a1i+ctqgAEJ2sSdZTM3jutRc2aZ/uyt11UZEvexAXFm33Vmf8Wr3BvzWLxmKlRK6 msrVMNI4/Bk7WxU7NtBDTdFlodSLwWBBs9ZwF8w5wJwMoD23ESJOztmpetIqYpyg C04q18NhWoXdXBC5VD0tA/hJ8LySt7ecMcfpuKqCCwW5Mc0IW7siC/acjopVHHZD dvDibvDfqCl158ikh4tq8bsIyTYYZe5QQ7hdctUoOeFTPiUs2itP3YqeUFDgb5rE 1RkmiQF1cwmbOwIDAQABo4IBSjCCAUYwHwYDVR0jBBgwFoAUwHqYaI2J+6sFZAwR fap9ZbjKzE4wHQYDVR0OBBYEFJfCJ1CewsnsDIgyyHyt4qYBT9pvMBIGA1UdEwEB /wQIMAYBAf8CAQAwDgYDVR0PAQH/BAQDAgEGMDYGA1UdHwQvMC0wK6ApoCeGJWh0 dHA6Ly9nMS5zeW1jYi5jb20vY3Jscy9ndGdsb2JhbC5jcmwwLwYIKwYBBQUHAQEE IzAhMB8GCCsGAQUFBzABhhNodHRwOi8vZzIuc3ltY2IuY29tMEwGA1UdIARFMEMw QQYKYIZIAYb4RQEHNjAzMDEGCCsGAQUFBwIBFiVodHRwOi8vd3d3Lmdlb3RydXN0 LmNvbS9yZXNvdXJjZXMvY3BzMCkGA1UdEQQiMCCkHjAcMRowGAYDVQQDExFTeW1h bnRlY1BLSS0xLTU2OTANBgkqhkiG9w0BAQsFAAOCAQEANevhiyBWlLp6vXmp9uP+ bji0MsGj21hWID59xzqxZ2nVeRQb9vrsYPJ5zQoMYIp0TKOTKqDwUX/N6fmS/Zar RfViPT9gRlATPSATGC6URq7VIf5Dockj/lPEvxrYrDrK3maXI67T30pNcx9vMaJR BBZqAOv5jUOB8FChH6bKOvMoPF9RrNcKRXdLDlJiG9g4UaCSLT+Qbsh+QJ8gRhVd 4FB84XavXu0R0y8TubglpK9YCa81tGJUheNI3rzSkHp6pIQNo0LyUcDUrVNlXWz4 Px8G8k/Ll6BKWcZ40egDuYVtLLrhX7atKz4lecWLVtXjCYDqwSfC2Q7sRwrp0Mr8 2A==
—–END CERTIFICATE—–

次に、スマホ(アンドロイド)でのエラーに関する対策として、「古い従来型携帯電話(フィーチャフォン)や一部のレガシー端末・機器などとの通信を行う場合はクロスルート証明書の追加設定」が紹介されているので、こちらもチェック。

以下はhttps://www.geotrust.co.jp/resources/repository/crossroot.html#globalcaより引用

【製品共通(EV SSL証明書除く)】クロスルート設定用証明書 (二階層目)
▼証明書仕様
公開鍵鍵長:2048bitRSA
署名アルゴリズム:SHA-1
有効期限:2018年8月21日(GMT)
Subject: CN = GeoTrust Global CA O = GeoTrust Inc. C = US
Serial Number: 12 bb e6
Certificate SHA1 Fingerprint: 73 59 75 5c 6d f9 a0 ab c3 06 0b ce 36 95 64 c8 ec 45 42 a3

▼証明書
—–BEGIN CERTIFICATE—– MIIDfTCCAuagAwIBAgIDErvmMA0GCSqGSIb3DQEBBQUAME4xCzAJBgNVBAYTAlVT MRAwDgYDVQQKEwdFcXVpZmF4MS0wKwYDVQQLEyRFcXVpZmF4IFNlY3VyZSBDZXJ0 aWZpY2F0ZSBBdXRob3JpdHkwHhcNMDIwNTIxMDQwMDAwWhcNMTgwODIxMDQwMDAw WjBCMQswCQYDVQQGEwJVUzEWMBQGA1UEChMNR2VvVHJ1c3QgSW5jLjEbMBkGA1UE AxMSR2VvVHJ1c3QgR2xvYmFsIENBMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIB CgKCAQEA2swYYzD99BcjGlZ+W988bDjkcbd4kdS8odhM+KhDtgPpTSEHCIjaWC9m OSm9BXiLnTjoBbdqfnGk5sRgprDvgOSJKA+eJdbtg/OtppHHmMlCGDUUna2YRpIu T8rxh0PBFpVXLVDviS2Aelet8u5fa9IAjbkU+BQVNdnARqN7csiRv8lVK83Qlz6c JmTM386DGXHKTubU1XupGc1V3sjs0l44U+VcT4wt/lAjNvxm5suOpDkZALeVAjmR Cw7+OC7RHQWa9k0+bw8HHa8sHo9gOeL6NlMTOdReJivbPagUvTLrGAMoUgRx5asz PeE4uwc2hGKceeoWMPRfwCvocWvk+QIDAQABo4HwMIHtMB8GA1UdIwQYMBaAFEjm aPkr0rKV10fYIyAQTzOYkJ/UMB0GA1UdDgQWBBTAephojYn7qwVkDBF9qn1luMrM TjAPBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIBBjA6BgNVHR8EMzAxMC+g LaArhilodHRwOi8vY3JsLmdlb3RydXN0LmNvbS9jcmxzL3NlY3VyZWNhLmNybDBO BgNVHSAERzBFMEMGBFUdIAAwOzA5BggrBgEFBQcCARYtaHR0cHM6Ly93d3cuZ2Vv dHJ1c3QuY29tL3Jlc291cmNlcy9yZXBvc2l0b3J5MA0GCSqGSIb3DQEBBQUAA4GB AHbhEm5OSxYShjAGsoEIz/AIx8dxfmbuwu3UOx//8PDITtZDOLC5MH0Y0FWDomrL NhGc6Ehmo21/uBPUR/6LWlxz/K7ZGzIZOKuXNBSqltLroxwUCEm2u+WR74M26x1W b8ravHNjkOR/ez4iyz0H7V84dJzjA1BOoa+Y7mHyhD8S
—–END CERTIFICATE—–

ちなみに、さくらインターネットでラピッドSSLを設定する場合は、クロスルート証明書を中間証明書と連続で貼り付けることになっている。

▼連続して貼り付け
出典 https://help.sakura.ad.jp/hc/ja/articles/206054842–独自SSL-利用中のSSL証明書を更新する手順

クロスルート設定用証明書が付属している場合は、以下の図のように「中間証明書」 を貼り付けた後に続けて『クロスルート設定用証明書』 を貼り付けて 『 送信 』 をクリックしてください。
ssl_setup1-img-052.jpg

ということは、連続して証明書を2つ貼り付けるということなので以下のようになるはずである。

▼2つの証明書(中間証明書+クロスルート証明書)
—–BEGIN CERTIFICATE—– MIIETTCCAzWgAwIBAgIDAjpxMA0GCSqGSIb3DQEBCwUAMEIxCzAJBgNVBAYTAlVT MRYwFAYDVQQKEw1HZW9UcnVzdCBJbmMuMRswGQYDVQQDExJHZW9UcnVzdCBHbG9i YWwgQ0EwHhcNMTMxMjExMjM0NTUxWhcNMjIwNTIwMjM0NTUxWjBCMQswCQYDVQQG EwJVUzEWMBQGA1UEChMNR2VvVHJ1c3QgSW5jLjEbMBkGA1UEAxMSUmFwaWRTU0wg U0hBMjU2IENBMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAu1jBEgEu l9h9GKrIwuWF4hdsYC7JjTEFORoGmFbdVNcRjFlbPbFUrkshhTIWX1SG5tmx2GCJ a1i+ctqgAEJ2sSdZTM3jutRc2aZ/uyt11UZEvexAXFm33Vmf8Wr3BvzWLxmKlRK6 msrVMNI4/Bk7WxU7NtBDTdFlodSLwWBBs9ZwF8w5wJwMoD23ESJOztmpetIqYpyg C04q18NhWoXdXBC5VD0tA/hJ8LySt7ecMcfpuKqCCwW5Mc0IW7siC/acjopVHHZD dvDibvDfqCl158ikh4tq8bsIyTYYZe5QQ7hdctUoOeFTPiUs2itP3YqeUFDgb5rE 1RkmiQF1cwmbOwIDAQABo4IBSjCCAUYwHwYDVR0jBBgwFoAUwHqYaI2J+6sFZAwR fap9ZbjKzE4wHQYDVR0OBBYEFJfCJ1CewsnsDIgyyHyt4qYBT9pvMBIGA1UdEwEB /wQIMAYBAf8CAQAwDgYDVR0PAQH/BAQDAgEGMDYGA1UdHwQvMC0wK6ApoCeGJWh0 dHA6Ly9nMS5zeW1jYi5jb20vY3Jscy9ndGdsb2JhbC5jcmwwLwYIKwYBBQUHAQEE IzAhMB8GCCsGAQUFBzABhhNodHRwOi8vZzIuc3ltY2IuY29tMEwGA1UdIARFMEMw QQYKYIZIAYb4RQEHNjAzMDEGCCsGAQUFBwIBFiVodHRwOi8vd3d3Lmdlb3RydXN0 LmNvbS9yZXNvdXJjZXMvY3BzMCkGA1UdEQQiMCCkHjAcMRowGAYDVQQDExFTeW1h bnRlY1BLSS0xLTU2OTANBgkqhkiG9w0BAQsFAAOCAQEANevhiyBWlLp6vXmp9uP+ bji0MsGj21hWID59xzqxZ2nVeRQb9vrsYPJ5zQoMYIp0TKOTKqDwUX/N6fmS/Zar RfViPT9gRlATPSATGC6URq7VIf5Dockj/lPEvxrYrDrK3maXI67T30pNcx9vMaJR BBZqAOv5jUOB8FChH6bKOvMoPF9RrNcKRXdLDlJiG9g4UaCSLT+Qbsh+QJ8gRhVd 4FB84XavXu0R0y8TubglpK9YCa81tGJUheNI3rzSkHp6pIQNo0LyUcDUrVNlXWz4 Px8G8k/Ll6BKWcZ40egDuYVtLLrhX7atKz4lecWLVtXjCYDqwSfC2Q7sRwrp0Mr8 2A==
—–END CERTIFICATE—–
—–BEGIN CERTIFICATE—– MIIDfTCCAuagAwIBAgIDErvmMA0GCSqGSIb3DQEBBQUAME4xCzAJBgNVBAYTAlVT MRAwDgYDVQQKEwdFcXVpZmF4MS0wKwYDVQQLEyRFcXVpZmF4IFNlY3VyZSBDZXJ0 aWZpY2F0ZSBBdXRob3JpdHkwHhcNMDIwNTIxMDQwMDAwWhcNMTgwODIxMDQwMDAw WjBCMQswCQYDVQQGEwJVUzEWMBQGA1UEChMNR2VvVHJ1c3QgSW5jLjEbMBkGA1UE AxMSR2VvVHJ1c3QgR2xvYmFsIENBMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIB CgKCAQEA2swYYzD99BcjGlZ+W988bDjkcbd4kdS8odhM+KhDtgPpTSEHCIjaWC9m OSm9BXiLnTjoBbdqfnGk5sRgprDvgOSJKA+eJdbtg/OtppHHmMlCGDUUna2YRpIu T8rxh0PBFpVXLVDviS2Aelet8u5fa9IAjbkU+BQVNdnARqN7csiRv8lVK83Qlz6c JmTM386DGXHKTubU1XupGc1V3sjs0l44U+VcT4wt/lAjNvxm5suOpDkZALeVAjmR Cw7+OC7RHQWa9k0+bw8HHa8sHo9gOeL6NlMTOdReJivbPagUvTLrGAMoUgRx5asz PeE4uwc2hGKceeoWMPRfwCvocWvk+QIDAQABo4HwMIHtMB8GA1UdIwQYMBaAFEjm aPkr0rKV10fYIyAQTzOYkJ/UMB0GA1UdDgQWBBTAephojYn7qwVkDBF9qn1luMrM TjAPBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIBBjA6BgNVHR8EMzAxMC+g LaArhilodHRwOi8vY3JsLmdlb3RydXN0LmNvbS9jcmxzL3NlY3VyZWNhLmNybDBO BgNVHSAERzBFMEMGBFUdIAAwOzA5BggrBgEFBQcCARYtaHR0cHM6Ly93d3cuZ2Vv dHJ1c3QuY29tL3Jlc291cmNlcy9yZXBvc2l0b3J5MA0GCSqGSIb3DQEBBQUAA4GB AHbhEm5OSxYShjAGsoEIz/AIx8dxfmbuwu3UOx//8PDITtZDOLC5MH0Y0FWDomrL NhGc6Ehmo21/uBPUR/6LWlxz/K7ZGzIZOKuXNBSqltLroxwUCEm2u+WR74M26x1W b8ravHNjkOR/ez4iyz0H7V84dJzjA1BOoa+Y7mHyhD8S
—–END CERTIFICATE—–

一般のWEBサイト運営者にこの情報を見せられてもいいかどうかの判断ができるだろうか。https化にはいろんなハードルがある。