今回go.jpドメインを利用している政府機関のWebサイトについて、TLS(https)への対応状況並びに利用可能な暗号スイートについて調査を行ったので、まとめとして掲載します。
本調査はNext Internet Technology and Society Projectの一環として、株式会社レビダムと慶應義塾大学が共同で実施しました。
調査の背景
2013年に発覚したNSAによるPRISMプログラムに代表される政府による広域盗聴を受け、IETFやW3Cなどのテクニカルコミュニティーは最近相次いで通信に用いられるプロトコルを標準で暗号化すべきであるという文書や声明を発表しています。
従来httpsは認証やパーソナルデータの送受信など秘匿性が必要とされる場合に利用されてきましたが、秘匿されていない大量の通信のメタデータを収集することで人々の通信を盗聴するNSAによるXKEYSCOREプログラムにより、認証やパーソナルデータといった秘匿性を必要としない通信においても暗号化を実施すべきという意見がテクニカルコミュニティで見受けられるようになりました。
またhttpsを用いることでWebサイトの真正性やデータが転送経路で改ざんされていないことを確認することができます。例えば、Linked OpenDataなどの文脈においてはデータの真正性を確認することが出来ることには大きな意味があります。
httpsは暗号化処理においてサーバサイド・クライアントサイド双方の計算資源を使うため、そのコストが忌避されてきましたが、2010年のGoogleの発表によるとGmailにおいてTLSを必須にした結果必要となった計算資源は僅か1〜2%であったことから、WebサイトにおいてTLSを常に利用することによるパフォーマンスの低下はほぼ無視できるといえるようになりました。
これらを受けて2014年にはGoogleが検索結果アルゴリズムにおいてhttpsを利用するサイトを優遇する発表を行うなど産業界においてもhttpsを標準で利用するよう変更する動きが広がっています。
しかしながら、OpenSSLのHeartBleedやCCS injection、Poodleといった脆弱性が相次いで発見されたり、暗号スイートが危殆化するなど、TLSを安全に運用することは容易でなく、現存するWebサイトにおいて正しく設定が行えているサイトは20%以下であることからもTLSを正しく運用することは困難であると言えます。
このような背景の中で、Web PKIおよびTLSが有効であることで、価値が高められるサイトの代表に政府機関のWebサイトが挙げられます。PRISMといった広域盗聴が一部の国家の政府により行われていたとしても、大多数の政府機関のWebサイトは国民に対して有益な情報を発信し、また国民から情報を受け取る役割を担っており、政府機関のWebサイトにおいて正しくTLSが運用されることは、その国民はもちろん国民だけでなくインターネットコミュニティーに対しても有益であることと考えます。
そのため、今回日本政府により運用されているWebサイトについてTLSが正しく運用されているか調査を行うことで、正しく設定されているサイトの割合が明らかになると共に、現時点で対応できていないWebサイトが今後正しく運用されることに繋がることを願い、調査を実施しました。
調査について
調査では下記ポイントについて調査を実施しました。
- 調査は2015年2月21日に実施
- 各機関のWebサイトに対してhttpsによる接続が行えるか調査
- OS: Mac OS X Yosemite 10.10.2
- ブラウザ: Google Chrome Canary最新版(2015年2月時点,42.0.2310.2)
- 一覧は日本政府組織のIPv6対応状況調査を参考にさせていただいております
JPRSの発表によると政府機関が保有するgo.jpドメインは600に上ることから、今回調査出来なかったドメインについては今後の課題とします。
(米国政府は.govドメインの一覧を公開しており、日本政府のオープンデータに関する取り組みにより今後公開されることを切に願います)
- 接続出来た場合
- TLS接続が可能であるか、接続出来た場合ステータスコード200が返るかを確認
(ステータスコードによる確認を行った理由として、接続はできるものの403や404エラーなどを返し、正しく閲覧が行えないWebサイトが存在したため、接続だけでなくステータスコード200を判定基準としました) - 正しく信頼された証明書であるか確認
- 利用可能であった暗号スイートの確認
確認ではCipherScanを利用しました。
- TLS接続が可能であるか、接続出来た場合ステータスコード200が返るかを確認
結果
当初調査では、SSLLabsが提供するSSL Testのような点数方式での評価を検討しましたが、そもそもhttpsで接続することが出来たサイトが少なかったため、上記項目のみの調査を実施しました。
下記テーブルが調査結果となります。
機関名・ドメインに続いて、https接続出来たか、接続出来た場合利用可能な暗号スイート、そして備考を示します。
機関名 | ドメイン | https対応 | 利用可能な暗号スイート | 備考 |
内閣 | kantei.go.jp | 404 | ||
内閣官房 | cas.go.jp | x | ||
内閣法制局 | clb.go.jp | 403 | ||
人事院 | jinji.go.jp | 403 | ||
内閣府 | cao.go.jp | x | ||
復興庁 | reconstruction.go.jp | o | prio ciphersuite protocols pfs_keysize 1 AES256-SHA TLSv1,TLSv1.1,TLSv1.2 2 AES128-SHA TLSv1,TLSv1.1,TLSv1.2 3 DES-CBC3-SHA TLSv1,TLSv1.1,TLSv1.2Certificate: UNTRUSTED, 2048 bit, sha256WithRSAEncryption signature TLS ticket lifetime hint: 300 OCSP stapling: not supported Server side cipher ordering |
|
総務省 | soumu.go.jp | 403 | ||
法務省 | moj.go.jp | 403 | ||
外務省 | mofa.go.jp | http redirect | Akamaiを利用 | |
財務省 | mof.go.jp | o | Target: www.mof.go.jp:443prio ciphersuite protocols pfs_keysize 1 AES256-SHA SSLv3,TLSv1 2 AES128-SHA SSLv3,TLSv1 3 RC4-SHA SSLv3,TLSv1 4 RC4-MD5 SSLv3,TLSv1 5 DES-CBC3-SHA SSLv3,TLSv1Certificate: trusted, 2048 bit, sha256WithRSAEncryption signature TLS ticket lifetime hint: None OCSP stapling: not supported Client side cipher ordering |
|
文部科学省 | mext.go.jp | x | ||
厚生労働省 | mhlw.go.jp | x | ||
農林水産省 | maff.go.jp | x | ||
経済産業省 | meti.go.jp | x | ||
国土交通省 | mlit.go.jp | o | Target: www.mlit.go.jp:443prio ciphersuite protocols pfs_keysize 1 RC4-MD5 SSLv3,TLSv1,TLSv1.1,TLSv1.2 2 RC4-SHA SSLv3,TLSv1,TLSv1.1,TLSv1.2 3 DES-CBC3-SHA SSLv3,TLSv1,TLSv1.1,TLSv1.2 4 AES256-SHA SSLv3,TLSv1,TLSv1.1,TLSv1.2 5 AES128-SHA SSLv3,TLSv1,TLSv1.1,TLSv1.2Certificate: UNTRUSTED, 2048 bit, sha256WithRSAEncryption signature TLS ticket lifetime hint: None OCSP stapling: not supported Server side cipher ordering |
|
環境省 | env.go.jp | o | Target: www.env.go.jp:443prio ciphersuite protocols pfs_keysize 1 DHE-RSA-AES256-SHA TLSv1 DH,1024bits 2 AES256-SHA TLSv1 3 DHE-RSA-AES128-SHA TLSv1 DH,1024bits 4 AES128-SHA TLSv1 5 EDH-RSA-DES-CBC3-SHA TLSv1 DH,1024bits 6 DES-CBC3-SHA TLSv1Certificate: trusted, 2048 bit, sha1WithRSAEncryption signature TLS ticket lifetime hint: None OCSP stapling: not supported Client side cipher ordering |
|
防衛省 | mod.go.jp | 403 | 証明書のCNがsec.mod.go.jp | |
宮内庁 | kunaicho.go.jp | x | ||
公正取引委員会 | jftc.go.jp | o | Target: www.jftc.go.jp:443prio ciphersuite protocols pfs_keysize 1 RC4-SHA SSLv3,TLSv1 2 DHE-RSA-AES256-SHA SSLv3,TLSv1 DH,1024bits 3 DHE-RSA-CAMELLIA256-SHA SSLv3,TLSv1 DH,1024bits 4 AES256-SHA SSLv3,TLSv1 5 CAMELLIA256-SHA SSLv3,TLSv1 6 EDH-RSA-DES-CBC3-SHA SSLv3,TLSv1 DH,1024bits 7 DES-CBC3-SHA SSLv3,TLSv1 8 DHE-RSA-AES128-SHA SSLv3,TLSv1 DH,1024bits 9 DHE-RSA-CAMELLIA128-SHA SSLv3,TLSv1 DH,1024bits 10 AES128-SHA SSLv3,TLSv1 11 CAMELLIA128-SHA SSLv3,TLSv1Certificate: UNTRUSTED, 2048 bit, sha256WithRSAEncryption signature TLS ticket lifetime hint: None OCSP stapling: not supported Server side cipher ordering |
|
国家公安委員会 | npsc.go.jp | o | Target: www.npsc.go.jp:443prio ciphersuite protocols pfs_keysize 1 DHE-RSA-AES256-SHA SSLv3,TLSv1 DH,1024bits 2 AES256-SHA SSLv3,TLSv1 3 DHE-RSA-AES128-SHA SSLv3,TLSv1 DH,1024bits 4 AES128-SHA SSLv3,TLSv1 5 RC4-SHA SSLv3,TLSv1 6 RC4-MD5 SSLv3,TLSv1 7 EDH-RSA-DES-CBC3-SHA SSLv3,TLSv1 DH,1024bits 8 DES-CBC3-SHA SSLv3,TLSv1Certificate: trusted, 2048 bit, sha1WithRSAEncryption signature TLS ticket lifetime hint: None OCSP stapling: not supported Client side cipher ordering |
|
警察庁 | npa.go.jp | o | Target: www.npa.go.jp:443prio ciphersuite protocols pfs_keysize 1 DHE-RSA-AES256-SHA SSLv3,TLSv1 DH,1024bits 2 AES256-SHA SSLv3,TLSv1 3 DHE-RSA-AES128-SHA SSLv3,TLSv1 DH,1024bits 4 AES128-SHA SSLv3,TLSv1 5 RC4-SHA SSLv3,TLSv1 6 RC4-MD5 SSLv3,TLSv1 7 EDH-RSA-DES-CBC3-SHA SSLv3,TLSv1 DH,1024bits 8 DES-CBC3-SHA SSLv3,TLSv1Certificate: trusted, 2048 bit, sha1WithRSAEncryption signature TLS ticket lifetime hint: None OCSP stapling: not supported Client side cipher ordering |
|
金融庁 | fsa.go.jp | 403 | ||
消費者庁 | caa.go.jp | 403 | 証明書のCNがform.caa.go.jp | |
消防庁 | fdma.go.jp | x | ||
国税庁 | nta.go.jp | o | Target: www.nta.go.jp:443prio ciphersuite protocols pfs_keysize 1 AES256-SHA TLSv1 2 AES128-SHA TLSv1 3 RC4-SHA TLSv1 4 DES-CBC3-SHA TLSv1Certificate: trusted, 2048 bit, sha256WithRSAEncryption signature TLS ticket lifetime hint: None OCSP stapling: not supported Client side cipher ordering |
|
文化庁 | bunka.go.jp | x | ||
林野庁 | rinya.maff.go.jp | x | ||
水産庁 | jfa.maff.go.jp | x | ||
資源エネルギー庁 | enecho.meti.go.jp | x | ||
特許庁 | jpo.go.jp | x | ||
中小企業庁 | chusho.meti.go.jp | x | ||
気象庁 | jma.go.jp | 404 | edgecastcdnを使用 | |
海上保安庁 | kaiho.mlit.go.jp | x | ||
原子力規制委員会 | nsr.go.jp | o | Target: www.nsr.go.jp:443prio ciphersuite protocols pfs_keysize 1 AES256-SHA TLSv1 2 AES128-SHA TLSv1 3 RC4-SHA TLSv1 4 RC4-MD5 TLSv1 5 DES-CBC3-SHA TLSv1Certificate: trusted, 2048 bit, sha256WithRSAEncryption signature TLS ticket lifetime hint: None OCSP stapling: not supported Client side cipher ordering |
|
内閣サイバーセキュリティセンター | nisc.go.jp | x |
https接続対応について
httpsで接続出来た機関は調査を行った35機関中19機関でした。
しかし接続出来た機関のうち10機関は404や403エラーなどで正しく表示出来ませんでした。
利用可能な暗号スイートについて
httpsで接続が出来た機関のWebサイトで利用できる暗号スイートを調査した結果、脆弱であったり非推奨である暗号スイートを利用している機関が多数見受けられました。
- 復興庁
TLS 1.2, AES_256_CBC, SHA1, RSA鍵交換, insecure contentsあり - 財務省
TLS 1.0, AES_256_CBC, SHA1,RSA鍵交換, insecure contentsあり - 国土交通省
TLS 1.2,RC4_128, MD5,RSA鍵交換, insecure contentsあり - 環境省
TLS 1.0, AES_256_CBC, SHA1, DHE_RSA鍵交換, insecure contentsあり - 公正取引委員会
TLS 1.0, RC4_128, SHA1, RSA鍵交換 - 国家公安委員会
TLS 1.2, RC4_128, SHA1, RSA鍵交換 - 警察庁
TLS 1.2, RC4_128, SHA1, RSA鍵交換 - 国税庁
TLS 1.0, AES_256_CBC, SHA1, RSA鍵交換, insecure contentsあり - 原子力規制委員会
TLS 1.0, AES_256_CBC, SHA1, RSA鍵交換, insecure contentsあり
まとめ
今回の調査の結果、政府機関のWebサイトにおけるTLSの利用は進んでおらず、これから利用が進んでいくのではないかという結果となりました。既に利用している機関においても危殆化された暗号スイートを利用しているサイトなども見受けられますが、安全でないため設定の変更が望まれます。
設定方法に関しても、ベルギーCERTなどが広くインターネットにApacheやPostfixなどのソフトウェアにおいてセキュアにソフトウェアを正しく設定するためのBCPを公開するWebサイト(https://bettercrypto.org)を公開されています。政府の過去の大きな取り組みとしてGPKI等の仕組みもあり、上記のように情報も集まりつつあるため、今後の取組の方向性と課題の解決手段はそれなりに揃ってきていると考えられます。
IETFやW3Cにおいて今後ますますEncryption by Defaultという動きが増すと思われ、日本政府のWebサイトにおいても適切にセキュアな暗号スイートを利用してWebサイトが運営されることを願います。