TLS 1.0/1.1 廃止時の影響調査まとめ (2020年1月)

[主要4ブラウザが2020年1Q中にTLS1.0/1.1を廃止するという発表](https://www.cybertrust.co.jp/blog/ssl/regulations/disable-tls10.html)が2018年にありました。
廃止した際、どのような影響がでるのかを調べてみました。

# SSL/TLSの歴史と対応状況

|バージョン|リリース年|メモ|
|---|---|---|
|SSL 3.0|	1996|2015年6月、RFC7568によって使用禁止|
|TLS 1.0|	1999|RFC7525で非推奨, Windows XP, VistaはTLS1.0までしか使用できない|
|TLS 1.1|	2006|RFC7525で非推奨|
|TLS 1.2|	2008|Windows7はここまで|
|TLS 1.3|	2018||

TLS 1.0/1.1が非推奨というのは[RFC7525](https://tools.ietf.org/html/rfc7525#section-3.1)の以下で規定されています。
3.1.  Protocol Versions
3.1.1.  SSL/TLS Protocol Versions

TLS1.0はモダンで強い暗号化スイートを使用できないのと、パディングエラーへの対応がイマイチだからだそうです。

TLS1.1はモダンで強い暗号化スイートを使用できないからだそうです。

TLS 1.0/1.1を廃止すると、Windows XP, Vistaが接続できなくなります。
(OSというかブラウザが対応しているか否かが問題だとは思いますが)
また、ガラケーも接続できなくなるようです。([リンク](http://foxsecurity.hatenablog.com/entry/2018/04/14/090000))

## 参考
https://ja.wikipedia.org/wiki/Transport_Layer_Security

SSL/TLS暗号設定ガイドライン 平成30年5月
https://www.cryptrec.go.jp/report/cryptrec-gl-3001-2.0.pdf
p.9-10, p.15, p.40

https://docs.microsoft.com/ja-jp/windows/win32/secauthn/tls-cipher-suites-in-windows-7
https://docs.microsoft.com/ja-jp/windows/win32/secauthn/schannel-cipher-suites-in-windows-vista
https://docs.microsoft.com/ja-jp/windows/win32/secauthn/tls-cipher-suites?redirectedfrom=MSDN

https://tools.ietf.org/html/rfc7525

# 各社対応状況

では実際に各社はどのような対応をしているのか、プロトコルと暗号化スイートを分け、CMANで調べてみます。
https://www.cman.jp/network/support/ssl.html

参考として、CRYPTRECの「[SSL/TLS暗号設定ガイドライン 平成30年5月](https://www.cryptrec.go.jp/report/cryptrec-gl-3001-2.0.pdf)」のp.20-p.21に記載の高セキュリティ型、推奨セキュリティ型も下の方に合わせて載せておきます。

CMANの結果とSSL/TLS暗号設定ガイドラインの記載では暗号化スイート名が異なるので、以下のopensslのmanページを使い突合しました。
https://www.openssl.org/docs/man1.0.2/man1/ciphers.html

調査対象は一般消費者向けのHPです。共同GWだけは違いますが、、

## プロトコルの対応状況
国内ではTLS1.0,1.1にも対応しています。
海外はTLS1.0はすでに対応を辞め、TLS1.2以上にしぼる傾向があるようです。

|会社|SSLv3|TLSv1.0|TLSv1.1|TLSv1.2|
|---|---|---|---|---|
|メガバンクR|×|○|○|○|
|メガバンクB|×|○|○|○|
|メガバンクG|○|○|○|○|
|生保1-1|×|○|○|○|
|生保1-2|×|○|○|○|
|外国生保1|×|×|×|○|
|外国生保2|×|×|×|○|
|共同GW(国内)|×|×|○|○|
|SANS|×|×|×|○|
|ペンタゴン|×|×|○|○|

## 暗号化スイート
暗号化スイートはざっくりいうと国内は3DES/RC4を使っているところが多く、脆弱です。TLS1.0対応のためでしょう。
外国企業はTLS1.1以上対応で、3DES/RC4使用はないです。素晴らしい。
外国生保２、これはグローバルでの生保業界No.1企業のHPなのですが、めっちゃ厳しいです。CRYPTRECでいう高セキュリティ型に唯一該当します。（一般消費者対象なのに厳しすぎると思うけど。。）

|暗号スイート名|バージョン|非推奨|高セキュリティ型|推奨セキュリティ型|セキュリティ例外型|メガバンクR|メガバンクB|メガバンクG|生保1-1|生保1-2|外国生保1|外国生保2|共同GW(国内)|SANS|ペンタゴン|
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|TLS_RSA_WITH_AES_128_GCM_SHA256|TLS1.2|－||○|○|○|○|○|×|○|○|×|○|○|○|
|TLS_RSA_WITH_AES_128_CBC_SHA|TLS1.0|－||○|○|○|○|○|○|○|○|×|○|○|○|
|TLS_RSA_WITH_AES_128_CBC_SHA256|TLS1.2|－||○|○|○|○|○|×|○|○|×|○|○|○|
|TLS_RSA_WITH_AES_256_GCM_SHA384|TLS1.2|－||○|○|○|○|○|×|○|○|×|○|○|○|
|TLS_RSA_WITH_AES_256_CBC_SHA|TLS1.0|－||○|○|○|×|○|○|○|○|×|○|○|○|
|TLS_RSA_WITH_AES_256_CBC_SHA256|TLS1.2|－||○|○|○|○|○|×|○|○|×|○|○|○|
|TLS_RSA_WITH_CAMELLIA_128_CBC_SHA|TLS1.0|－||○|○|×|×|×|×|×|○|×|○|○|×|
|TLS_RSA_WITH_CAMELLIA_256_CBC_SHA|TLS1.0|－||○|○|×|×|×|×|×|○|×|○|○|×|
|SSL_RSA_WITH_DES_CBC_SHA|SSL3.0|非推奨||||×|×|×|×|×|×|×|×|×|×|
|SSL_RSA_WITH_3DES_EDE_CBC_SHA|SSL3.0|－||||×|○|○|○|○|×|×|×|×|×|
|TLS_DHE_DSS_WITH_AES_128_GCM_SHA256|TLS1.2|非推奨||||×|×|×|×|×|×|×|×|×|×|
|TLS_DHE_DSS_WITH_AES_128_CBC_SHA|TLS1.0|非推奨||||×|×|×|×|×|×|×|×|×|×|
|TLS_DHE_DSS_WITH_AES_128_CBC_SHA256|TLS1.2|非推奨||||×|×|×|×|×|×|×|×|×|×|
|TLS_DHE_DSS_WITH_AES_256_GCM_SHA384|TLS1.2|非推奨||||×|×|×|×|×|×|×|×|×|×|
|TLS_DHE_DSS_WITH_AES_256_CBC_SHA|TLS1.0|非推奨||||×|×|×|×|×|×|×|×|×|×|
|TLS_DHE_DSS_WITH_AES_256_CBC_SHA256|TLS1.2|非推奨||||×|×|×|×|×|×|×|×|×|×|
|TLS_DHE_DSS_WITH_CAMELLIA_128_CBC_SHA|TLS1.0|非推奨||||×|×|×|×|×|×|×|×|×|×|
|TLS_DHE_DSS_WITH_CAMELLIA_256_CBC_SHA|TLS1.0|非推奨||||×|×|×|×|×|×|×|×|×|×|
|TLS_DHE_DSS_WITH_SEED_CBC_SHA|TLS1.0|非推奨||||×|×|×|×|×|×|×|×|×|×|
|TLS_DHE_RSA_WITH_AES_128_GCM_SHA256|TLS1.2|－|○|○|○|×|×|×|×|×|×|○|○|×|×|
|TLS_DHE_RSA_WITH_AES_128_CBC_SHA|TLS1.0|－||○|○|×|×|×|×|×|×|×|○|×|×|
|TLS_DHE_RSA_WITH_AES_128_CBC_SHA256|TLS1.2|－||○|○|×|×|×|×|×|×|×|○|×|×|
|TLS_DHE_RSA_WITH_AES_256_GCM_SHA384|TLS1.2|－|○|○|○|×|×|×|×|×|×|○|○|×|×|
|TLS_DHE_RSA_WITH_AES_256_CBC_SHA|TLS1.0|－||○|○|×|×|×|×|×|×|×|○|×|×|
|TLS_DHE_RSA_WITH_AES_256_CBC_SHA256|TLS1.2|－||○|○|×|×|×|×|×|×|×|○|×|×|
|TLS_DHE_RSA_WITH_CAMELLIA_128_CBC_SHA|TLS1.0|－||○|○|×|×|×|×|×|×|×|○|×|×|
|TLS_DHE_RSA_WITH_CAMELLIA_256_CBC_SHA|TLS1.0|－||○|○|×|×|×|×|×|×|×|○|×|×|
|TLS_DHE_RSA_WITH_SEED_CBC_SHA|TLS1.0|－||||×|×|×|×|×|×|×|×|×|×|
|TLS_ECDH_ECDSA_WITH_AES_128_GCM_SHA256|TLS1.2|－||○|○|×|×|×|×|×|×|×|×|×|×|
|TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA|TLS1.0|－||○|○|×|×|×|×|×|×|×|×|×|×|
|TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA256|TLS1.2|－||○|○|×|×|×|×|×|×|×|×|×|×|
|TLS_ECDH_ECDSA_WITH_AES_256_GCM_SHA384|TLS1.2|－||○|○|×|×|×|×|×|×|×|×|×|×|
|TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA|TLS1.0|－||○|○|×|×|×|×|×|×|×|×|×|×|
|TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA384|TLS1.2|－||○|○|×|×|×|×|×|×|×|×|×|×|
|TLS_ECDH_ECDSA_WITH_3DES_EDE_CBC_SHA|TLS1.0|－||||×|×|×|×|×|×|×|×|×|×|
|TLS_ECDH_ECDSA_WITH_RC4_128_SHA|TLS1.0|非推奨||||×|×|×|×|×|×|×|×|×|×|
|TLS_ECDH_RSA_WITH_AES_128_GCM_SHA256|TLS1.2|－||○|○|×|×|×|×|×|×|×|×|×|×|
|TLS_ECDH_RSA_WITH_AES_128_CBC_SHA|TLS1.0|－||○|○|×|×|×|×|×|×|×|×|×|×|
|TLS_ECDH_RSA_WITH_AES_128_CBC_SHA256|TLS1.2|－||○|○|×|×|×|×|×|×|×|×|×|×|
|TLS_ECDH_RSA_WITH_AES_256_GCM_SHA384|TLS1.2|－||○|○|×|×|×|×|×|×|×|×|×|×|
|TLS_ECDH_RSA_WITH_AES_256_CBC_SHA|TLS1.0|－||○|○|×|×|×|×|×|×|×|×|×|×|
|TLS_ECDH_RSA_WITH_AES_256_CBC_SHA384|TLS1.2|－||○|○|×|×|×|×|×|×|×|×|×|×|
|TLS_ECDH_RSA_WITH_3DES_EDE_CBC_SHA|TLS1.0|－||||×|×|×|×|×|×|×|×|×|×|
|TLS_ECDH_RSA_WITH_RC4_128_SHA|TLS1.0|非推奨||||×|×|×|×|×|×|×|×|×|×|
|TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256|TLS1.2|－|○|○|○|×|×|×|×|×|×|×|×|×|×|
|TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA|TLS1.0|－||○|○|×|×|×|×|×|×|×|×|×|×|
|TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256|TLS1.2|－||○|○|×|×|×|×|×|×|×|×|×|×|
|TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384|TLS1.2|－|○|○|○|×|×|×|×|×|×|×|×|×|×|
|TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA|TLS1.0|－||○|○|×|×|×|×|×|×|×|×|×|×|
|TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384|TLS1.2|－||○|○|×|×|×|×|×|×|×|×|×|×|
|TLS_ECDHE_ECDSA_WITH_3DES_EDE_CBC_SHA|TLS1.0|－||||×|×|×|×|×|×|×|×|×|×|
|TLS_ECDHE_ECDSA_WITH_RC4_128_SHA|TLS1.0|非推奨||||×|×|×|×|×|×|×|×|×|×|
|TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256|TLS1.2|－|○|○|○|○|○|○|○|×|○|○|○|○|○|
|TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA|TLS1.0|－||○|○|○|○|○|○|×|○|×|○|○|○|
|TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256|TLS1.2|－||○|○|○|○|○|○|×|○|×|○|○|○|
|TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384|TLS1.2|－|○|○|○|○|○|○|○|×|○|○|○|○|○|
|TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA|TLS1.0|－||○|○|○|○|○|○|×|○|×|○|○|○|
|TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384|TLS1.2|－||○|○|○|○|○|○|×|○|×|○|○|○|
|TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA|TLS1.0|－||||×|×|×|×|×|×|×|×|×|×|
|TLS_ECDHE_RSA_WITH_RC4_128_SHA|TLS1.0|非推奨||||×|×|×|×|×|×|×|×|×|×|
|EDH-DSS-DES-CBC-SHA|SSL3.0|非推奨||||×|×|×|×|×|×|×|×|×|×|
|SSL_DHE_DSS_WITH_3DES_EDE_CBC_SHA|SSL3.0|非推奨||||×|×|×|×|×|×|×|×|×|×|
|SSL_DHE_RSA_WITH_DES_CBC_SHA|SSL3.0|非推奨||||×|×|×|×|×|×|×|×|×|×|
|SSL_DHE_RSA_WITH_3DES_EDE_CBC_SHA|SSL3.0|－||||×|×|×|×|×|×|×|×|×|×|
|SSL_RSA_EXPORT_WITH_DES40_CBC_SHA|SSL3.0|非推奨||||×|×|×|×|×|×|×|×|×|×|
|SSL_DHE_DSS_EXPORT_WITH_DES40_CBC_SHA|SSL3.0|非推奨||||×|×|×|×|×|×|×|×|×|×|
|SSL_DHE_RSA_EXPORT_WITH_DES40_CBC_SHA|SSL3.0|非推奨||||×|×|×|×|×|×|×|×|×|×|
|SSL_RSA_EXPORT_WITH_RC2_CBC_40_MD5|SSL3.0|非推奨||||×|×|×|×|×|×|×|×|×|×|
|SSL_RSA_EXPORT_WITH_RC4_40_MD5|SSL3.0|非推奨||||×|×|×|×|×|×|×|×|×|×|
|SSL_RSA_WITH_IDEA_CBC_SHA|SSL3.0|－||||×|×|×|×|×|×|×|×|×|×|
|TLS_PSK_WITH_3DES_EDE_CBC_SHA|TLS1.0|－||||×|×|×|×|×|×|×|×|×|×|
|TLS_PSK_WITH_AES_128_CBC_SHA|TLS1.0|－||||×|×|×|×|×|×|×|×|×|×|
|TLS_PSK_WITH_AES_256_CBC_SHA|TLS1.0|－||||×|×|×|×|×|×|×|×|×|×|
|TLS_PSK_WITH_RC4_128_SHA|TLS1.0|非推奨||||×|×|×|×|×|×|×|×|×|×|
|SSL_RSA_WITH_RC4_128_MD5|SSL3.0|非推奨||||×|×|×|○ |×|×|×|×|×|×|
|SSL_RSA_WITH_RC4_128_SHA|SSL3.0|非推奨||||○ |×|○ |○ |○ |×|×|×|×|×|
|TLS_RSA_WITH_SEED_CBC_SHA|TLS1.0|－||||×|×|×|×|×|×|×|×|×|×|
|SRP-3DES-EDE-CBC-SHA|SSL3.0|－||||×|×|×|×|×|×|×|×|×|×|
|SRP-AES-128-CBC-SHA|SSL3.0|－||||×|×|×|×|×|×|×|×|×|×|
|SRP-AES-256-CBC-SHA|SSL3.0|－||||×|×|×|×|×|×|×|×|×|×|
|SRP-DSS-3DES-EDE-CBC-SHA|SSL3.0|非推奨||||×|×|×|×|×|×|×|×|×|×|
|SRP-DSS-AES-128-CBC-SHA|SSL3.0|非推奨||||×|×|×|×|×|×|×|×|×|×|
|SRP-DSS-AES-256-CBC-SHA|SSL3.0|非推奨||||×|×|×|×|×|×|×|×|×|×|
|SRP-RSA-3DES-EDE-CBC-SHA|SSL3.0|－||||×|×|×|×|×|×|×|×|×|×|
|SRP-RSA-AES-128-CBC-SHA|SSL3.0|－||||×|×|×|×|×|×|×|×|×|×|
|SRP-RSA-AES-256-CBC-SHA|SSL3.0|－||||×|×|×|×|×|×|×|×|×|×|


|設定基準|概要||
|---|---|---|
|高セキュリティ型|扱う情報が漏洩した際、組織の運営や資産、個人の資産やプライバシー等に致命的または壊滅的な悪影響を及ぼすと予想される情報を、高い安全性を確保してSSL/TLSで通信するような場合に採用する設定基準||
|推奨セキュリティ型|扱う情報が漏洩した際、組織の運営や資産、個人の資産やプライバシー等に何らかの悪影響を及ぼすと予想される情報を、安全性確保と利便性実現をバランスさせてSSL/TLSでの通信を行うための標準的な設定基準。※ほぼすべての一般的な利用形態で使うことを想定||
|セキュリティ例外型|脆弱なプロトコルバージョンや暗号が使われるリスクを受容した上で、安全性よりも相互接続性に対する要求をやむなく優先させてSSL/TLSでの通信を行う場合であって、推奨セキュリティ型への移行完了までの短期の暫定運用としての設定基準||

## 参考
https://www.cman.jp/network/support/ssl.html
https://www.cryptrec.go.jp/report/cryptrec-gl-3001-2.0.pdf
https://www.openssl.org/docs/man1.0.2/man1/ciphers.html
https://ciphersuite.info/


# NEWS/アナウンス
世間ではすでにTLS1.0/1.1廃止を決めているところもあるので探してみました。

ＮＴＴデータ共同ゲートウェイ　【重要】TLS1.0通信の無効化に関するご案内　2018年6月
https://www.hoken-gw.net/reminder/fw/mntap/gwdocs/information/info_20171222.html

要点

- 2019年1月以降にTLS1.0を遮断
- Windows Vistaはインターネット（HTTPS）経由での共同GWへの接続はできなくなる
- Windows7 IE8、9、10を利用のお客様は、インターネットオプションのデフォルト設定ではTLS1.1、1.2が有効になっていないため、新たに設定をいただく必要あり

主要ブラウザにおける TLS 1.0/1.1 無効化について　2019年12月
https://www.cybertrust.co.jp/blog/ssl/regulations/disable-tls10.html

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/272771/a6aba5c2-42b4-8f59-e775-3220b9b898a3.png)

@it Azureの各種サービスでTLS 1.2対応が必須要件に
https://www.atmarkit.co.jp/ait/articles/1908/08/news009.html

ディズニー
[【重要】「TLS1.0」および「TLS1.1 」の脆弱性に対する対応について](https://www.disney.co.jp/news/20180402_1.html)

- 「TLS1.0」および「TLS1.1 」において脆弱性が発見され、保護すべき通信内容の一部が漏えいする可能性があると報じられた
- Disney.jpでは2018年6月20日（水）より「TLS1.0」および「TLS1.1 」の利用を停止し、より安全な 「TLS 1.2 」へ移行
- そのため一部の古いブラウザや、ブラウザの設定によっては、サイトの一部が表示されなくなります
- 古いバージョンのブラウザをご利用の場合はDisney.jpの推奨環境のブラウザバージョンにアップグレードしてください。


PCI DSS
NTT DATA [PCI DSS v3.2主な変更点の解説](http://www.intellilink.co.jp/article/pcidss/22.html)

- サービスプロバイダは2016年6月30日までにTLS1.1以降を選択できるサービスを提供することが求められます。

http://foxsecurity.hatenablog.com/entry/2018/04/14/090000

# OS share

マイナビ　25%超がWindows 7という状況 - 2019年12月OSシェア
https://news.mynavi.jp/article/20200106-950093/

Windows XP, Vistaはわずかながらもまだシェアがありますね。

|順位|プロダクト|今月のシェア|
|---|---|---|
|1|Windows 10|54.62%|
|2|Windows 7|26.64%|
|3|Mac OS X 10.15|4.23%|
|4|Windows 8.1|3.63%|
|5|Mac OS X 10.14|3.50%|
|6|Mac OS X 10.13|1.62%|
|7|Linux|1.20%|
|8|Windows XP|1.16%|
|9|Mac OS X 10.12|0.73%|
|10|Windows 8|0.66%|
||その他|2.01%|
|計|100.00%|

ベンダーでまとめると、Windowsはやはり強いけど、Macも10%。人気ですね。

| | |
|---|---|
|Windows|	86.71%|
|MAC OS X|	10.08%|
|Linux|	1.20%|


# まとめ

- 2020年1Qで主要ブラウザ(Chrome, IE/Edge, Firefox, Safari)はTLS1.0/1.1を無効化する
 - しかしサポート切れを使う人たちは少なくない人数が必ずいる
 - TLS1.0/1.1は脆弱なプロトコルのためこのような決定がなされた
- TLS 1.0/1.1を廃止すると接続できなくなる人(Windows XP, Vista等古いOS、ブラウザ、ガラケー)が現れる
 - 回避策はないので切り捨てるしかなくなります。
 - 注意喚起とアップデートを促すメッセージを発信するか否か、会社で検討が必要でしょう。
- TLSのバージョンばかりではなく暗号化スイートにも注意
 - CRYPTRECの推奨セキュリティ型を参考にするとよいでしょう。