SlideShare a Scribd company logo
1 of 29
Download to read offline
© 2015 Kenji Urushima All rights reserved.
いろんなSSL/TLS設定ガイド
   
JNSA臨時スキルアップTF
実世界の暗号・認証技術に関する勉強会
於:NTTソフトウェア(品川)
日時:2015年6月22日(月) 19:00-19:30
漆嶌賢二
  
JNSA 電子署名WG(ゾンビ?)メンバ
© 2015 Kenji Urushima All rights reserved. 1
・経歴
 ・富士ゼロックス(2010~)
 ・エントラストジャパン(2005~2010)
 ・セコム(1988~2005)
・興味:
  PKI,  TLS,  電子署名,  SSO,  認証,  暗号,  
  CSIRT,  脆弱性検査,  フォレンジック,
            スマホ,  プログラミング,  ビットコイン
・別名
 ・証明書ハンター
 ・(TLS)暗号スイートウォッチャー
・委員、標準化、認定基準、実証実験、普及啓蒙
 ・JNSA,  CRYPTREC,  日本データ通信協会
  セキュキャン講師
 ・旧ECOM,  PKI-J,  欧州ETSI
 ・PKI,  TLS,  長期署名,  タイムスタンプ
自己紹介:  漆嶌  賢二(うるしま),  CISSP
jsrsasign  –
JavaScript  実装暗号ライブラリ
ブログ:自堕落な技術者の日記
@kjur
© 2015 Kenji Urushima All rights reserved. 2
CRYPTREC/IPAからSSL/TLS暗号設定ガイドが出ましたね
SSL暗号設定ガイドライン
平成27年5月
独立行政法人 情報処理推進機構
国立研究開発法人 情報通信研究機構
IPA版 CRYPTREC版
表紙イメージ(理由は後述)
http://www.ipa.go.jp/security/vuln/
ssl_crypt_config.html
http://www.cryptrec.go.jp/topics/
cryptrec_20150522_oper_guideline_fy2014.html
© 2015 Kenji Urushima All rights reserved. 3
• 最近のBEASTやHeartBleed、CA不正証明書問題など重大なSSL/TLS脆弱
性に対応するには、どのような設定をすればよいか?
• CRYPTREC暗号リストと整合取りながら、暗号の難しい説明なしに、サー
バー管理者に使ってもらえる、設定例を豊富に用意した資料
• サーバーの設定はどのように決めるのか
– サーバー管理有識者の知見
– 暗号・プロトコルの研究者・有識者の知見
– 証明書発行サービス有識者の知見
– サーバー・クライアント製品の実装状況
– 市場での暗号やプロトコルの利用状況
– SSLサーバー証明書の選定
• 日々の脆弱性に対応する「意識高い系」サーバ管理者向け
CRYPTREC/IPA  SSL/TLS暗号設定ガイドとは
CRYPTRECシンポジウム2015の菊池先生の講演資料に「背景・目的・概要」全て書いてます
http://www.cryptrec.go.jp/topics/cryptrec_20150424_symposium2015_presentation.html
© 2015 Kenji Urushima All rights reserved. 4
時期 問題・事件 対策
2005.11 OpenSSL  SSLv2バージョンロールバック アップデート
2009.01 RapidSSL  MD5衝突偽造中間CA アップデートやPinning
2009.07 NULL終端による証明書ホスト名一致不備 アップデートやPinning
2009.11 再ネゴシエーション脆弱性 アップデート
2011.03 Comodo不正証明書発行(RA攻撃) アップデートやPinning
2011.08 DigiNotar不正証明書発行(RA攻撃) アップデートやPinning
2011.09 BEAST攻撃 暗号スイート/プロトコル設定(非CBC)
2011.11 Digicert  Sdn不正証明書発行(RSA512) アップデートやPinning
2012.05 FLAMEマルウェア用Windows  Terminal  Serverに
よるMD5衝突偽造中間CA,  Windows  Update攻撃
アップデートやPinning
2012.09 CRIME攻撃 圧縮解除設定(SSL)
2013.01 Lucky13攻撃 暗号スイート/プロトコル設定(GCM利用)
2013.01 TURKTRUST不正証明書発行(オペミス) アップデートやPinning
2013.03 SSLにおけるRC4暗号危殆化 暗号スイート(非RC4)
2013.03 TIME攻撃 圧縮解除設定(SSL)
2013.06 BREACH攻撃 圧縮解除設定(HTTP  gzip)
2013.06 スノーデン氏暴露(NSAの全SSL通信保管) 暗号スイート/プロトコル設定(ECDHE,DHE使用)
2014.04 HeartBleed攻撃 アップデート
2014.06 CSSInjection攻撃 アップデート
2014.10 POODLE攻撃 暗号スイート/プロトコル設定(非SSLv3,CBC)
2015.03 FREAK攻撃 暗号スイート(非EXPORT)
2015.03 live.fi、CNNIC/MCS不正証明書発行(運用不備) アップデートやPinning(CABF  BR要件に課題も)
2015.03 パスワード盗聴可能なRC4暗号スイート攻撃 暗号スイート設定(非RC4)
2015.05 Logjam脆弱性 暗号スイート設定,  DH設定(DHE_EXPORT512bit無効化)
(参考)  SSL/TLSの過去の問題と対応方法
サーバー設定で回避し
続けならないものも多数
古い脆弱性であっても、
アップデートだけでは
解決しない問題が
多数残っている
© 2015 Kenji Urushima All rights reserved. 5
(参考)サーバー管理上のこれまでのSSL/TLSの問題と対策の整理
暗号危殆化の問題
MD2,  MD5,  RC4,  SHA1,  
RSA1024bit,  DH1024bit
SSL/HTTP  プロトコル設計の問題
SSLv2,  SSLv3,  CBCモード,
TLS圧縮,  HTTP圧縮,
再ネゴシエーション
個別の実装の問題
OpenSSL(HeartBleed,  
CSSInjection等)
MS  (識別名NULL終端,  ASN.1)
CAの運用の問題
CA攻撃により不正証明書発行
CAオペミスで不正証明書発行
暗号危殆化で偽造証明書発行(MD5)
管
理
上
S
S
L
/
T
L
S
問
題
対
策 証明書ブラックリストの更新
Cert  Pinning,  CT,  DNSSEC設定による検知
各種パッチ、アップデートの適用
暗号スイート、プロトコル、圧縮の設定
各種パッチ、アップデートの適用
アップデートの適用
暗号スイート、プロトコル、圧縮の設定
側
設
定
対
策
古い脆弱性であっても、アップデートだけでは解決しない問題が多数残っている
デフォルト設定でなく、きめ細かい設定で問題に対処する必要がある
© 2015 Kenji Urushima All rights reserved. 6
特に暗号スイート(Cipher  Suites)の設定がわけわからん!!
何を入れれば
いいの?
何を入れちゃ
いけないの?
順序は
どうすりゃ
いいの?
OpenSSL系の
設定が
呪文みたい!
© 2015 Kenji Urushima All rights reserved. 7
(参考)  CRYPTREC版とIPA版って違いはあるの?
表紙
IPA版 CRYPTREC版
表紙
本書配布URLの紹介
本文  (p2目次〜p91) 本文  (p2目次〜p91)
裏表紙:不許複製 禁無断転載
発行者  IPA・CRYPTREC
裏表紙:
作成者  CRYPTREC、発行者  IPA
別紙:設定チェックリスト(Excelフォーム)
© 2015 Kenji Urushima All rights reserved.8
忙しいし、
なかなか95ページも
見てられないですよね
(非公式)設定ファイル自動生成ツールをご利用ください
https://kjur.github.io/jsrsasign/tool_httpscfg.html
•  基本、「お好みのガイド」と
「サーバーの種類」を選ぶだけ。
•  CRYPTREC/IPAガイドを含む、
様々なガイドラインに準拠した
HTTPS設定ファイルを自動生成
します。
•  今は、Apache  HTTP  2.2/2.4、
nginx、lighttpdに対応していま
す。
•  証明書(PEM)を貼れば、
Certificate  Pinningの鍵ハッ
シュ計算も自動で行います。
•  ガイドはCRYPTREC,  NIST,  
Mozilla,  Bulletproof他、OSデ
フォルトも© 2015 Kenji Urushima All rights reserved. 9
他の主要な
SSL/TLS設定ガイドとの比較
   
10© 2015 Kenji Urushima All rights reserved.
© 2015 Kenji Urushima All rights reserved. 11
NIST  SP800-52r1  (2014年4月改訂)
ダウンロード
http://nvlpubs.nist.gov/nistpubs/
SpecialPublications/NIST.SP.800-52r1.pdf
•  NIST  SP800-52r1
Guidelines  for  the  Selection,  
Configuration,  and  Use  of  TLS  
Implementation
•  最低限のSSLサーバとクライアントの設
定を規定
•  証明書についての要件もあり
•  レベルは1レベルのみで、最低限の要件
だけを定めたもので、かなりカバー範囲
が広い。
•  3DES,  RC4など広めのサポート、
AESCCM,  DSA証明書が特徴的。
© 2015 Kenji Urushima All rights reserved. 12
Mozilla  Server  Side  TLS
•  MozillaのサーバーのSSL/TLS設定に関するガイド
•  モダン(高)、普通(中)、互換性重視(低)の3レベル
•  サーバー/クライアントのどのバージョンが使えるか明確になっている
•  サーバー保護のための技術解説も
多く、ためになる
•  設定ファイル自動生成ツールもある
出典:https://wiki.mozilla.org/Security/Server_Side_TLS
© 2015 Kenji Urushima All rights reserved. 13
Bulletproof  SSL  and  TLS  by  Ivan  Ristic  of  Qualys
出典:
https://www.feistyduck.com/books/
bulletproof-ssl-and-tls/
•  Qualys社で、SSLサイト検査や評価の
ssllabs、SSLの利用調査のsslpulseなど
も開発担当している有名なSSL有識者の
Ivan  Ristic氏のSSL設定解説本
•  主要なページがメアド登録で無料ダウン
ロードでき、これで十分
•  ApacheやOpenSSLなどの設定、運用、
セキュリティ対策についてどのような事
に配慮すべきか詳しく解説した良著
•  暗号スイートは2レベル
•  特徴
•  暗号スイートがかなり絞られている
•  3DES,  RC4がある
© 2015 Kenji Urushima All rights reserved. 14
ガイドの比較
NIST Mozilla Bulletproof CRYPTREC
特徴 最低線のみのガ
イド
対応ブラウザ
バージョンの明
確化
技術解説詳細が
よい
わりとバランス
よくまとまって
いる
レベル 1レベル
 (低)最低線
3レベル
 モダン(高)
 普通(中)
 互換性(低)
2レベル
 普通(中)
 互換性(低)
3レベル
 高(高)
 推奨(中)
 例外(低)
技術解説 少なめ 普通 多い 普通
導入の容易さ やや難 易(ツール有) 易(例あり) 易(例あり)
非公式tool有
脆弱性対応 若干薄い 対応 対応 対応
暗号スイート
の特徴
わりと広め わりと広め かなり絞った 範囲は中程度
特徴的な暗号 DSA証明書
AESCCM
RC4
DSA証明書
SRP鍵交換
Camellia
RC4(低) Camellia
RC4(低)
対応サーバー 特になし Apache,  Nginx,  
Haproxy,  stud,  AWS  
ELB,  Zeus,  Citrix  
Netscaler,  Go,  BIGIP
OpenSSL,  
Apache,  Java,  
Tomcat,  IIS,  nginx
Apache,  nginx,  
lighttpd,  IIS
他の主要なSSL/TLS設定ガイドの
暗号スイート選定の比較
   
15© 2015 Kenji Urushima All rights reserved.
ガイドラインのサポートする暗号スイートの
比較マップ(全部・わけがわからない→次ページ以降)
高い
安全性
広く普及主要ブラウザで
実装がない
弱い
安全性
NIST  低
Bulletproof  中低
CRYPTREC/IPA高中低
Mozilla高中低
あまり普及せず
AESGCM
ECDSA証明書
ECDHE鍵交換
CamelliaCBC
ECDH鍵交換
RSA鍵交換
3DES
RC4
SRP鍵交換 DSA証明書
AESCCM
DH鍵交換
AESCBC
RSA証明書
DHE鍵交換
© 2015 Kenji Urushima All rights reserved. 16
暗号スイートのガイドライン
比較マップ(NIST  SP800-61)
高い
安全性
広く普及あまり普及せず
弱い
安全性
NIST  低
Bulletproof  中低
CRYPTREC/IPA高中低
Mozilla高中低
AESGCM
ECDSA証明書
ECDHE鍵交換
CamelliaCBC
ECDH鍵交換
RSA鍵交換
3DES
RC4
SRP鍵交換 DSA証明書
AESCCM
DH鍵交換
AESCBC
RSA証明書
DHE鍵交換
あまり普及せず
© 2015 Kenji Urushima All rights reserved. 17
暗号スイートのガイドライン
比較マップ(Mozilla)
高い
安全性
広く普及あまり普及せず
弱い
安全性
NIST  低
Bulletproof  中低
CRYPTREC/IPA高中低
Mozilla高中低
高
中,  低
AESGCM
ECDSA証明書
ECDHE鍵交換
CamelliaCBC
ECDH鍵交換
RSA鍵交換
3DES
RC4
SRP鍵交換 DSA証明書
AESCCM
DH鍵交換
AESCBC
RSA証明書
DHE鍵交換
あまり普及せず
© 2015 Kenji Urushima All rights reserved. 18
暗号スイートのガイドライン
比較マップ(Bulletproof  SSL  and  TLS)
高い
安全性
広く普及あまり普及せず
弱い
安全性
NIST  低
Bulletproof  中低
CRYPTREC/IPA高中低
Mozilla高中低
中
低
AESGCM
ECDSA証明書
ECDHE鍵交換
CamelliaCBC
ECDH鍵交換
RSA鍵交換
3DES
RC4
SRP鍵交換 DSA証明書
AESCCM
DH鍵交換
AESCBC
RSA証明書
DHE鍵交換
あまり普及せず
© 2015 Kenji Urushima All rights reserved. 19
暗号スイートのガイドライン
比較マップ(CRYPTREC/IPA)
高い
安全性
広く普及あまり普及せず
弱い
安全性
NIST  低
Bulletproof  中低
CRYPTREC/IPA高中低
Mozilla高中低
中
低
高
AESGCM
ECDSA証明書
ECDHE鍵交換
CamelliaCBC
ECDH鍵交換
RSA鍵交換
3DES
RC4
SRP鍵交換 DSA証明書
AESCCM
DH鍵交換
AESCBC
RSA証明書
DHE鍵交換
あまり普及せず
© 2015 Kenji Urushima All rights reserved. 20
CRYPTREC/IPAガイドラインの
課題・今後の期待
   
21© 2015 Kenji Urushima All rights reserved.
© 2015 Kenji Urushima All rights reserved. 22
• ページ数も多くサーバー管理者が見てすぐ使える
ようになってないので、記載は見直せるといい
• 執筆後、新たなインシデントも起きており今後も
頻繁に見直し/改定は必要
– Logjam脆弱性、TLS  1.xではRC4使用不可
(RFC7465)
• Certificate  Pinningについては標準の誤解があり
間違ったことを書いてしまい、訂正できるとよい。
• Session  Resumptionについて、記載しそこねた
ので追記できるとよい。
• レベル分けはモダン(高)と互換性重視(低)の2つで
十分
課題と今後の期待(1)
© 2015 Kenji Urushima All rights reserved. 23
• 暗号スイートの見直し
– LogjamやDH(E)の実装状況、DH(E)のパフォーマンスの悪さ、
設定の面倒さ、対応実装のバージョン要件などを考えれば、混
乱するだけなのでDH(E)スイートは外してもいいか
– Camelliaはデフォルトで対応する最新ブラウザがなくなったの
で、外してもよいか
– AES256、AES128の順序は必ずしもAES128優先でなく
てもよいのでは(皆が、高スループットを求めるわけではな
い。)
– ECC系の暗号スイート(ECDH(E),  ECDSA)は「パテントリス
クに気をつけろ」と書いても、対策のしようがなく、混乱する
ので一元化してはどうか
• チェックリストは、サンプルのサーバー設定を使えば2/3は
記入不要で無駄が多いので、見直すとよい。
課題と今後の期待(2)
© 2015 Kenji Urushima All rights reserved. 24
(参考)チェックリストの冗長な所
レベルは合ってる?
プロトコル
(サンプル使用→不要
証明書の選定要件
(ここをチェック
すれば十分)
暗号スイート
サンプル使えば
チェック不要
© 2015 Kenji Urushima All rights reserved. 25
Logjam(弱いDH(E)鍵脆弱性)
Matthew  Green先生のブログでの解説
出典:http://
blog.cryptographyengineering.com/
2015/05/attack-of-week-logjam.html
•  Logjam脆弱性は、鍵交換で輸出グレードのDH(E)
鍵交換(DHE_EXPORT、DH  512bit)に中間者がダ
ウングレードすることにより通信を盗聴する脆弱性
•  利用者に気づかれないように、タイムアウトしない
よう工夫するとしても、数秒〜数分のうちに鍵を解
読する必要あり
•  DH鍵の解読は2ステップ。大量の計算パワーの必要
とするDHパラメータ共通な事前計算と、鍵交換毎
の計算
•  512bitなら、個人でもこの程度のクラスタで1、2
分で解読可能
•  1024bitなら、NSAの予算規模を考えれば実現可
能性が高い。実際、SSHのDH鍵の解読プロジェク
トがスノーデンの文書で明らかになっているので応
用は容易
•  DHでたった2つの素数が92%のApache/mod_ssl
で使われていたり、組込み、ハードコード、OSの
デフォルトで使っているケースも多く有名な鍵の事
前計算の価値は十分ある
ブラ
ウザ
中間
者
サー
バー
強制
DH512
DH
2048
© 2015 Kenji Urushima All rights reserved. 26
• ここ数年、SSL/TLSに関連したインシデントが多発し
ており、HTTPSサーバーの設定を定期的に見直すのは
必須
• CRYPTREC/IPAのSSL/TLS暗号設定ガイドなど幾
つかのガイドが出ており、日本語でてっとり早く対策
するにはCRYPTREC/IPAのガイドはおすすめ
• ただ、課題は幾つかあって、継続して対応されるとい
いですね(遠い目・・・)  
• ガイドが更新されない場合には、(仕方なく)自分のブロ
グで情報提供を続けようと思っています。
まとめ
ご清聴ありがとうございました
© 2015 Kenji Urushima All rights reserved. 28
IPA  SSL/TLS暗号設定ガイドライン
http://www.ipa.go.jp/security/vuln/ssl_crypt_config.html
CRYPTREC  SSL/TLS暗号設定ガイドライン
http://www.cryptrec.go.jp/topics/
cryptrec_20150522_oper_guideline_fy2014.html
NIST  SP800-52r1  Guidelines  for  the  Selection,  
Configuration,
an  dUse  of  Transport  Layer  Security(TLS)  
Implementation
http://nvlpubs.nist.gov/nistpubs/SpecialPublications/
NIST.SP.800-52r1.pdf
Mozilla  Server  Side  TLS
https://wiki.mozilla.org/Security/Server_Side_TLS
Bulletproof  SSL  and  TLS  by  Ivan  Ristic  of  Qualys
https://www.feistyduck.com/books/bulletproof-ssl-and-
tls/
CRYPTRECシンポジウム2015
運用ガイドラインWG報告(主査:明治大  菊池先生)
http://www.cryptrec.go.jp/topics/
cryptrec_20150424_symposium2015_presentation.htm
l
第12回情報セキュリティEXPO[春]  IPAブース資料
SSL/TLS暗号設定ガイドライン  (IPA神田氏)
http://www.ipa.go.jp/security/announce/
ist_expo2015.html
非公式SSL/TLSガイド準拠設定生成ツール(漆嶌)
https://kjur.github.io/jsrsasign/tool_httpscfg.html
InternetWeek2014  サーバーのSSL設定のツボ(漆嶌)
https://www.nic.ad.jp/ja/materials/iw/2014/
proceedings/s14/s14-urushima.pdf
PKIDay2015  SSL生誕20年、脆弱性と対策を振返る(漆嶌)
http://www.jnsa.org/seminar/pki-day/2015/data/
2-1_urushima.pdf
自堕落な技術者の日記
http://blog.livedoor.jp/k_urushima/
SNS等
https://twitter.com/kjur  (@kjur)
https://www.facebook.com/kenji.urushima.biz
参考リンク

More Related Content

What's hot

Certificate TransparencyによるSSLサーバー証明書公開監査情報とその課題の議論
Certificate TransparencyによるSSLサーバー証明書公開監査情報とその課題の議論Certificate TransparencyによるSSLサーバー証明書公開監査情報とその課題の議論
Certificate TransparencyによるSSLサーバー証明書公開監査情報とその課題の議論Kenji Urushima
 
#mailerstudy 02 暗号入門 (2012-02-22更新)
#mailerstudy 02 暗号入門 (2012-02-22更新)#mailerstudy 02 暗号入門 (2012-02-22更新)
#mailerstudy 02 暗号入門 (2012-02-22更新)Takashi Takizawa
 
Javascript で暗号化
Javascript で暗号化Javascript で暗号化
Javascript で暗号化suno88
 
脆弱性事例に学ぶセキュアコーディング「SSL/TLS証明書検証」編 (JavaDayTokyo2015)
脆弱性事例に学ぶセキュアコーディング「SSL/TLS証明書検証」編 (JavaDayTokyo2015)脆弱性事例に学ぶセキュアコーディング「SSL/TLS証明書検証」編 (JavaDayTokyo2015)
脆弱性事例に学ぶセキュアコーディング「SSL/TLS証明書検証」編 (JavaDayTokyo2015)JPCERT Coordination Center
 
脆弱性事例に学ぶセキュアコーディング「SSL/TLS証明書検証」編 (KOF2014)
脆弱性事例に学ぶセキュアコーディング「SSL/TLS証明書検証」編 (KOF2014)脆弱性事例に学ぶセキュアコーディング「SSL/TLS証明書検証」編 (KOF2014)
脆弱性事例に学ぶセキュアコーディング「SSL/TLS証明書検証」編 (KOF2014)JPCERT Coordination Center
 
【19-C-L】Web開発者ならおさえておきたい「常時SSL/TLS化の実装ポイント」
【19-C-L】Web開発者ならおさえておきたい「常時SSL/TLS化の実装ポイント」【19-C-L】Web開発者ならおさえておきたい「常時SSL/TLS化の実装ポイント」
【19-C-L】Web開発者ならおさえておきたい「常時SSL/TLS化の実装ポイント」Developers Summit
 
SSLの最新トレンド
SSLの最新トレンドSSLの最新トレンド
SSLの最新トレンドJ-Stream Inc.
 
Apache Sling におけるサービス運用妨害(無限ループ)の脆弱性
Apache Sling におけるサービス運用妨害(無限ループ)の脆弱性Apache Sling におけるサービス運用妨害(無限ループ)の脆弱性
Apache Sling におけるサービス運用妨害(無限ループ)の脆弱性JPCERT Coordination Center
 
Apache Struts2 における任意の Java メソッド実行の脆弱性
Apache Struts2 における任意の Java メソッド実行の脆弱性Apache Struts2 における任意の Java メソッド実行の脆弱性
Apache Struts2 における任意の Java メソッド実行の脆弱性JPCERT Coordination Center
 
JRE標準ライブラリの脆弱性事例を理解する (AtomicReferenceArrayクラス と Type Confusion)
JRE標準ライブラリの脆弱性事例を理解する (AtomicReferenceArrayクラス と Type Confusion)JRE標準ライブラリの脆弱性事例を理解する (AtomicReferenceArrayクラス と Type Confusion)
JRE標準ライブラリの脆弱性事例を理解する (AtomicReferenceArrayクラス と Type Confusion)JPCERT Coordination Center
 
XXE、SSRF、安全でないデシリアライゼーション入門
XXE、SSRF、安全でないデシリアライゼーション入門XXE、SSRF、安全でないデシリアライゼーション入門
XXE、SSRF、安全でないデシリアライゼーション入門Hiroshi Tokumaru
 
IETF96 Update oauth tokbind
IETF96 Update oauth tokbindIETF96 Update oauth tokbind
IETF96 Update oauth tokbindKaoru Maeda
 
安全なPHPアプリケーションの作り方2013
安全なPHPアプリケーションの作り方2013安全なPHPアプリケーションの作り方2013
安全なPHPアプリケーションの作り方2013Hiroshi Tokumaru
 
WebRTCとPeer.jsを使った実装
WebRTCとPeer.jsを使った実装WebRTCとPeer.jsを使った実装
WebRTCとPeer.jsを使った実装Yuta Suzuki
 

What's hot (20)

Certificate TransparencyによるSSLサーバー証明書公開監査情報とその課題の議論
Certificate TransparencyによるSSLサーバー証明書公開監査情報とその課題の議論Certificate TransparencyによるSSLサーバー証明書公開監査情報とその課題の議論
Certificate TransparencyによるSSLサーバー証明書公開監査情報とその課題の議論
 
#mailerstudy 02 暗号入門 (2012-02-22更新)
#mailerstudy 02 暗号入門 (2012-02-22更新)#mailerstudy 02 暗号入門 (2012-02-22更新)
#mailerstudy 02 暗号入門 (2012-02-22更新)
 
Javascript で暗号化
Javascript で暗号化Javascript で暗号化
Javascript で暗号化
 
脆弱性事例に学ぶセキュアコーディング「SSL/TLS証明書検証」編 (JavaDayTokyo2015)
脆弱性事例に学ぶセキュアコーディング「SSL/TLS証明書検証」編 (JavaDayTokyo2015)脆弱性事例に学ぶセキュアコーディング「SSL/TLS証明書検証」編 (JavaDayTokyo2015)
脆弱性事例に学ぶセキュアコーディング「SSL/TLS証明書検証」編 (JavaDayTokyo2015)
 
TLS, HTTP/2演習
TLS, HTTP/2演習TLS, HTTP/2演習
TLS, HTTP/2演習
 
脆弱性事例に学ぶセキュアコーディング「SSL/TLS証明書検証」編 (KOF2014)
脆弱性事例に学ぶセキュアコーディング「SSL/TLS証明書検証」編 (KOF2014)脆弱性事例に学ぶセキュアコーディング「SSL/TLS証明書検証」編 (KOF2014)
脆弱性事例に学ぶセキュアコーディング「SSL/TLS証明書検証」編 (KOF2014)
 
【19-C-L】Web開発者ならおさえておきたい「常時SSL/TLS化の実装ポイント」
【19-C-L】Web開発者ならおさえておきたい「常時SSL/TLS化の実装ポイント」【19-C-L】Web開発者ならおさえておきたい「常時SSL/TLS化の実装ポイント」
【19-C-L】Web開発者ならおさえておきたい「常時SSL/TLS化の実装ポイント」
 
HTTP/2, QUIC入門
HTTP/2, QUIC入門HTTP/2, QUIC入門
HTTP/2, QUIC入門
 
暗号技術入門
暗号技術入門暗号技術入門
暗号技術入門
 
Apache Axis2におけるXML署名検証不備
Apache Axis2におけるXML署名検証不備Apache Axis2におけるXML署名検証不備
Apache Axis2におけるXML署名検証不備
 
SSLの最新トレンド
SSLの最新トレンドSSLの最新トレンド
SSLの最新トレンド
 
Hyperledger Fabric 1.0 概要
Hyperledger Fabric 1.0 概要Hyperledger Fabric 1.0 概要
Hyperledger Fabric 1.0 概要
 
Apache Sling におけるサービス運用妨害(無限ループ)の脆弱性
Apache Sling におけるサービス運用妨害(無限ループ)の脆弱性Apache Sling におけるサービス運用妨害(無限ループ)の脆弱性
Apache Sling におけるサービス運用妨害(無限ループ)の脆弱性
 
Ietf95 http2
Ietf95 http2Ietf95 http2
Ietf95 http2
 
Apache Struts2 における任意の Java メソッド実行の脆弱性
Apache Struts2 における任意の Java メソッド実行の脆弱性Apache Struts2 における任意の Java メソッド実行の脆弱性
Apache Struts2 における任意の Java メソッド実行の脆弱性
 
JRE標準ライブラリの脆弱性事例を理解する (AtomicReferenceArrayクラス と Type Confusion)
JRE標準ライブラリの脆弱性事例を理解する (AtomicReferenceArrayクラス と Type Confusion)JRE標準ライブラリの脆弱性事例を理解する (AtomicReferenceArrayクラス と Type Confusion)
JRE標準ライブラリの脆弱性事例を理解する (AtomicReferenceArrayクラス と Type Confusion)
 
XXE、SSRF、安全でないデシリアライゼーション入門
XXE、SSRF、安全でないデシリアライゼーション入門XXE、SSRF、安全でないデシリアライゼーション入門
XXE、SSRF、安全でないデシリアライゼーション入門
 
IETF96 Update oauth tokbind
IETF96 Update oauth tokbindIETF96 Update oauth tokbind
IETF96 Update oauth tokbind
 
安全なPHPアプリケーションの作り方2013
安全なPHPアプリケーションの作り方2013安全なPHPアプリケーションの作り方2013
安全なPHPアプリケーションの作り方2013
 
WebRTCとPeer.jsを使った実装
WebRTCとPeer.jsを使った実装WebRTCとPeer.jsを使った実装
WebRTCとPeer.jsを使った実装
 

Viewers also liked

第5回web技術勉強会 暗号技術編その3
第5回web技術勉強会 暗号技術編その3第5回web技術勉強会 暗号技術編その3
第5回web技術勉強会 暗号技術編その3tzm_freedom
 
Analytics CloudとEmbulkを使った社会的データの分析
Analytics CloudとEmbulkを使った社会的データの分析Analytics CloudとEmbulkを使った社会的データの分析
Analytics CloudとEmbulkを使った社会的データの分析tzm_freedom
 
第4回web技術勉強会 暗号技術編その2
第4回web技術勉強会 暗号技術編その2第4回web技術勉強会 暗号技術編その2
第4回web技術勉強会 暗号技術編その2tzm_freedom
 
第3回web技術勉強会 暗号技術編その1
第3回web技術勉強会 暗号技術編その1第3回web技術勉強会 暗号技術編その1
第3回web技術勉強会 暗号技術編その1tzm_freedom
 
私はここでつまづいた! Oracle database 11g から 12cへのアップグレードと Oracle Database 12c の新機能@201...
私はここでつまづいた! Oracle database 11g から 12cへのアップグレードと Oracle Database 12c の新機能@201...私はここでつまづいた! Oracle database 11g から 12cへのアップグレードと Oracle Database 12c の新機能@201...
私はここでつまづいた! Oracle database 11g から 12cへのアップグレードと Oracle Database 12c の新機能@201...yoshimotot
 
第2回Web技術勉強会 webパフォーマンス改善編
第2回Web技術勉強会 webパフォーマンス改善編第2回Web技術勉強会 webパフォーマンス改善編
第2回Web技術勉強会 webパフォーマンス改善編tzm_freedom
 
セキュリティ勉強会 暗号技術入門 1章
セキュリティ勉強会 暗号技術入門 1章セキュリティ勉強会 暗号技術入門 1章
セキュリティ勉強会 暗号技術入門 1章Naoko Suzuki
 
introduction to jsrsasign
introduction to jsrsasignintroduction to jsrsasign
introduction to jsrsasignKenji Urushima
 

Viewers also liked (8)

第5回web技術勉強会 暗号技術編その3
第5回web技術勉強会 暗号技術編その3第5回web技術勉強会 暗号技術編その3
第5回web技術勉強会 暗号技術編その3
 
Analytics CloudとEmbulkを使った社会的データの分析
Analytics CloudとEmbulkを使った社会的データの分析Analytics CloudとEmbulkを使った社会的データの分析
Analytics CloudとEmbulkを使った社会的データの分析
 
第4回web技術勉強会 暗号技術編その2
第4回web技術勉強会 暗号技術編その2第4回web技術勉強会 暗号技術編その2
第4回web技術勉強会 暗号技術編その2
 
第3回web技術勉強会 暗号技術編その1
第3回web技術勉強会 暗号技術編その1第3回web技術勉強会 暗号技術編その1
第3回web技術勉強会 暗号技術編その1
 
私はここでつまづいた! Oracle database 11g から 12cへのアップグレードと Oracle Database 12c の新機能@201...
私はここでつまづいた! Oracle database 11g から 12cへのアップグレードと Oracle Database 12c の新機能@201...私はここでつまづいた! Oracle database 11g から 12cへのアップグレードと Oracle Database 12c の新機能@201...
私はここでつまづいた! Oracle database 11g から 12cへのアップグレードと Oracle Database 12c の新機能@201...
 
第2回Web技術勉強会 webパフォーマンス改善編
第2回Web技術勉強会 webパフォーマンス改善編第2回Web技術勉強会 webパフォーマンス改善編
第2回Web技術勉強会 webパフォーマンス改善編
 
セキュリティ勉強会 暗号技術入門 1章
セキュリティ勉強会 暗号技術入門 1章セキュリティ勉強会 暗号技術入門 1章
セキュリティ勉強会 暗号技術入門 1章
 
introduction to jsrsasign
introduction to jsrsasignintroduction to jsrsasign
introduction to jsrsasign
 

Similar to いろいろなSSL/TLS設定ガイドライン (JNSA電子署名WG 実世界の暗号・認証技術勉強会資料)

AWSだけで出来る(たぶん)一番早く構築するセキュアな環境
AWSだけで出来る(たぶん)一番早く構築するセキュアな環境AWSだけで出来る(たぶん)一番早く構築するセキュアな環境
AWSだけで出来る(たぶん)一番早く構築するセキュアな環境Jun Okumura
 
クラウド環境と連携するワンクリックSSLとは~SSLの自動インストール、自動更新、月額課金を実現~
クラウド環境と連携するワンクリックSSLとは~SSLの自動インストール、自動更新、月額課金を実現~クラウド環境と連携するワンクリックSSLとは~SSLの自動インストール、自動更新、月額課金を実現~
クラウド環境と連携するワンクリックSSLとは~SSLの自動インストール、自動更新、月額課金を実現~iret, Inc.
 
OAuthのHolder of Key Token
OAuthのHolder of Key TokenOAuthのHolder of Key Token
OAuthのHolder of Key TokenYuichi Nakamura
 
OAuth Security Workshop 2017 #osw17
OAuth Security Workshop 2017 #osw17OAuth Security Workshop 2017 #osw17
OAuth Security Workshop 2017 #osw17Tatsuo Kudo
 
三大WebサーバーのSSL設定ベストプラクティス
三大WebサーバーのSSL設定ベストプラクティス三大WebサーバーのSSL設定ベストプラクティス
三大WebサーバーのSSL設定ベストプラクティスHidetoshi Musha
 
【さくらインターネット】簡単解説 SSLサーバ証明書とは?
【さくらインターネット】簡単解説 SSLサーバ証明書とは?【さくらインターネット】簡単解説 SSLサーバ証明書とは?
【さくらインターネット】簡単解説 SSLサーバ証明書とは?さくらインターネット株式会社
 
1/5 ADFS 2.0 を使用してWindows Azure との SSO を実現しよう v1.1
1/5 ADFS 2.0 を使用してWindows Azure との SSO を実現しよう v1.11/5 ADFS 2.0 を使用してWindows Azure との SSO を実現しよう v1.1
1/5 ADFS 2.0 を使用してWindows Azure との SSO を実現しよう v1.1junichi anno
 
Cocoa勉強会#60-Common Cryptoを使った共通鍵の暗号と復号
Cocoa勉強会#60-Common Cryptoを使った共通鍵の暗号と復号Cocoa勉強会#60-Common Cryptoを使った共通鍵の暗号と復号
Cocoa勉強会#60-Common Cryptoを使った共通鍵の暗号と復号Masayuki Nii
 
Web担当者forumミーティング2011 autumn参加レポート
Web担当者forumミーティング2011 autumn参加レポートWeb担当者forumミーティング2011 autumn参加レポート
Web担当者forumミーティング2011 autumn参加レポートMasaru Kimura
 
【HinemosWorld2014】B1-4_NTTデータ先端技術のOpenStack Hinemosソリューション
【HinemosWorld2014】B1-4_NTTデータ先端技術のOpenStack Hinemosソリューション【HinemosWorld2014】B1-4_NTTデータ先端技術のOpenStack Hinemosソリューション
【HinemosWorld2014】B1-4_NTTデータ先端技術のOpenStack HinemosソリューションHinemos
 
Io t security-suzki-20170224
Io t security-suzki-20170224Io t security-suzki-20170224
Io t security-suzki-20170224Kuniyasu Suzaki
 
認証/認可が実現する安全で高速分析可能な分析処理基盤
認証/認可が実現する安全で高速分析可能な分析処理基盤認証/認可が実現する安全で高速分析可能な分析処理基盤
認証/認可が実現する安全で高速分析可能な分析処理基盤Masahiro Kiura
 
JNSA西日本支部 技術研究WG AWSを使ったセキュアなシステム構築
JNSA西日本支部 技術研究WG AWSを使ったセキュアなシステム構築JNSA西日本支部 技術研究WG AWSを使ったセキュアなシステム構築
JNSA西日本支部 技術研究WG AWSを使ったセキュアなシステム構築Tomo-o Kubo
 
WebRTC/ORTCの最新動向まるわかり!
WebRTC/ORTCの最新動向まるわかり!WebRTC/ORTCの最新動向まるわかり!
WebRTC/ORTCの最新動向まるわかり!Yusuke Naka
 
AWS Summit Tokyo 2015_NTTデータセッション(前半:クラウドを活用したオムニチャネル基盤構築)
AWS Summit Tokyo 2015_NTTデータセッション(前半:クラウドを活用したオムニチャネル基盤構築)AWS Summit Tokyo 2015_NTTデータセッション(前半:クラウドを活用したオムニチャネル基盤構築)
AWS Summit Tokyo 2015_NTTデータセッション(前半:クラウドを活用したオムニチャネル基盤構築)Hinemos
 
Keycloakの実際・翻訳プロジェクト紹介
Keycloakの実際・翻訳プロジェクト紹介Keycloakの実際・翻訳プロジェクト紹介
Keycloakの実際・翻訳プロジェクト紹介Hiroyuki Wada
 
Lessons (to be) Learned from Handling OpenSSL Vulnerabilities
Lessons (to be) Learned from Handling OpenSSL VulnerabilitiesLessons (to be) Learned from Handling OpenSSL Vulnerabilities
Lessons (to be) Learned from Handling OpenSSL VulnerabilitiesJPCERT Coordination Center
 

Similar to いろいろなSSL/TLS設定ガイドライン (JNSA電子署名WG 実世界の暗号・認証技術勉強会資料) (20)

AWSだけで出来る(たぶん)一番早く構築するセキュアな環境
AWSだけで出来る(たぶん)一番早く構築するセキュアな環境AWSだけで出来る(たぶん)一番早く構築するセキュアな環境
AWSだけで出来る(たぶん)一番早く構築するセキュアな環境
 
クラウド環境と連携するワンクリックSSLとは~SSLの自動インストール、自動更新、月額課金を実現~
クラウド環境と連携するワンクリックSSLとは~SSLの自動インストール、自動更新、月額課金を実現~クラウド環境と連携するワンクリックSSLとは~SSLの自動インストール、自動更新、月額課金を実現~
クラウド環境と連携するワンクリックSSLとは~SSLの自動インストール、自動更新、月額課金を実現~
 
Protocol2018
Protocol2018Protocol2018
Protocol2018
 
OAuthのHolder of Key Token
OAuthのHolder of Key TokenOAuthのHolder of Key Token
OAuthのHolder of Key Token
 
OAuth Security Workshop 2017 #osw17
OAuth Security Workshop 2017 #osw17OAuth Security Workshop 2017 #osw17
OAuth Security Workshop 2017 #osw17
 
三大WebサーバーのSSL設定ベストプラクティス
三大WebサーバーのSSL設定ベストプラクティス三大WebサーバーのSSL設定ベストプラクティス
三大WebサーバーのSSL設定ベストプラクティス
 
【さくらインターネット】簡単解説 SSLサーバ証明書とは?
【さくらインターネット】簡単解説 SSLサーバ証明書とは?【さくらインターネット】簡単解説 SSLサーバ証明書とは?
【さくらインターネット】簡単解説 SSLサーバ証明書とは?
 
1/5 ADFS 2.0 を使用してWindows Azure との SSO を実現しよう v1.1
1/5 ADFS 2.0 を使用してWindows Azure との SSO を実現しよう v1.11/5 ADFS 2.0 を使用してWindows Azure との SSO を実現しよう v1.1
1/5 ADFS 2.0 を使用してWindows Azure との SSO を実現しよう v1.1
 
Cocoa勉強会#60-Common Cryptoを使った共通鍵の暗号と復号
Cocoa勉強会#60-Common Cryptoを使った共通鍵の暗号と復号Cocoa勉強会#60-Common Cryptoを使った共通鍵の暗号と復号
Cocoa勉強会#60-Common Cryptoを使った共通鍵の暗号と復号
 
Web担当者forumミーティング2011 autumn参加レポート
Web担当者forumミーティング2011 autumn参加レポートWeb担当者forumミーティング2011 autumn参加レポート
Web担当者forumミーティング2011 autumn参加レポート
 
Ssl
SslSsl
Ssl
 
【HinemosWorld2014】B1-4_NTTデータ先端技術のOpenStack Hinemosソリューション
【HinemosWorld2014】B1-4_NTTデータ先端技術のOpenStack Hinemosソリューション【HinemosWorld2014】B1-4_NTTデータ先端技術のOpenStack Hinemosソリューション
【HinemosWorld2014】B1-4_NTTデータ先端技術のOpenStack Hinemosソリューション
 
Io t security-suzki-20170224
Io t security-suzki-20170224Io t security-suzki-20170224
Io t security-suzki-20170224
 
認証/認可が実現する安全で高速分析可能な分析処理基盤
認証/認可が実現する安全で高速分析可能な分析処理基盤認証/認可が実現する安全で高速分析可能な分析処理基盤
認証/認可が実現する安全で高速分析可能な分析処理基盤
 
JNSA西日本支部 技術研究WG AWSを使ったセキュアなシステム構築
JNSA西日本支部 技術研究WG AWSを使ったセキュアなシステム構築JNSA西日本支部 技術研究WG AWSを使ったセキュアなシステム構築
JNSA西日本支部 技術研究WG AWSを使ったセキュアなシステム構築
 
WebRTC/ORTCの最新動向まるわかり!
WebRTC/ORTCの最新動向まるわかり!WebRTC/ORTCの最新動向まるわかり!
WebRTC/ORTCの最新動向まるわかり!
 
OpenStack Summit Vancouver YVR Ops
OpenStack Summit Vancouver YVR OpsOpenStack Summit Vancouver YVR Ops
OpenStack Summit Vancouver YVR Ops
 
AWS Summit Tokyo 2015_NTTデータセッション(前半:クラウドを活用したオムニチャネル基盤構築)
AWS Summit Tokyo 2015_NTTデータセッション(前半:クラウドを活用したオムニチャネル基盤構築)AWS Summit Tokyo 2015_NTTデータセッション(前半:クラウドを活用したオムニチャネル基盤構築)
AWS Summit Tokyo 2015_NTTデータセッション(前半:クラウドを活用したオムニチャネル基盤構築)
 
Keycloakの実際・翻訳プロジェクト紹介
Keycloakの実際・翻訳プロジェクト紹介Keycloakの実際・翻訳プロジェクト紹介
Keycloakの実際・翻訳プロジェクト紹介
 
Lessons (to be) Learned from Handling OpenSSL Vulnerabilities
Lessons (to be) Learned from Handling OpenSSL VulnerabilitiesLessons (to be) Learned from Handling OpenSSL Vulnerabilities
Lessons (to be) Learned from Handling OpenSSL Vulnerabilities
 

いろいろなSSL/TLS設定ガイドライン (JNSA電子署名WG 実世界の暗号・認証技術勉強会資料)

  • 1. © 2015 Kenji Urushima All rights reserved. いろんなSSL/TLS設定ガイド     JNSA臨時スキルアップTF 実世界の暗号・認証技術に関する勉強会 於:NTTソフトウェア(品川) 日時:2015年6月22日(月) 19:00-19:30 漆嶌賢二    JNSA 電子署名WG(ゾンビ?)メンバ
  • 2. © 2015 Kenji Urushima All rights reserved. 1 ・経歴  ・富士ゼロックス(2010~)  ・エントラストジャパン(2005~2010)  ・セコム(1988~2005) ・興味:   PKI,  TLS,  電子署名,  SSO,  認証,  暗号,     CSIRT,  脆弱性検査,  フォレンジック,            スマホ,  プログラミング,  ビットコイン ・別名  ・証明書ハンター  ・(TLS)暗号スイートウォッチャー ・委員、標準化、認定基準、実証実験、普及啓蒙  ・JNSA,  CRYPTREC,  日本データ通信協会   セキュキャン講師  ・旧ECOM,  PKI-J,  欧州ETSI  ・PKI,  TLS,  長期署名,  タイムスタンプ 自己紹介:  漆嶌  賢二(うるしま),  CISSP jsrsasign  – JavaScript  実装暗号ライブラリ ブログ:自堕落な技術者の日記 @kjur
  • 3. © 2015 Kenji Urushima All rights reserved. 2 CRYPTREC/IPAからSSL/TLS暗号設定ガイドが出ましたね SSL暗号設定ガイドライン 平成27年5月 独立行政法人 情報処理推進機構 国立研究開発法人 情報通信研究機構 IPA版 CRYPTREC版 表紙イメージ(理由は後述) http://www.ipa.go.jp/security/vuln/ ssl_crypt_config.html http://www.cryptrec.go.jp/topics/ cryptrec_20150522_oper_guideline_fy2014.html
  • 4. © 2015 Kenji Urushima All rights reserved. 3 • 最近のBEASTやHeartBleed、CA不正証明書問題など重大なSSL/TLS脆弱 性に対応するには、どのような設定をすればよいか? • CRYPTREC暗号リストと整合取りながら、暗号の難しい説明なしに、サー バー管理者に使ってもらえる、設定例を豊富に用意した資料 • サーバーの設定はどのように決めるのか – サーバー管理有識者の知見 – 暗号・プロトコルの研究者・有識者の知見 – 証明書発行サービス有識者の知見 – サーバー・クライアント製品の実装状況 – 市場での暗号やプロトコルの利用状況 – SSLサーバー証明書の選定 • 日々の脆弱性に対応する「意識高い系」サーバ管理者向け CRYPTREC/IPA  SSL/TLS暗号設定ガイドとは CRYPTRECシンポジウム2015の菊池先生の講演資料に「背景・目的・概要」全て書いてます http://www.cryptrec.go.jp/topics/cryptrec_20150424_symposium2015_presentation.html
  • 5. © 2015 Kenji Urushima All rights reserved. 4 時期 問題・事件 対策 2005.11 OpenSSL  SSLv2バージョンロールバック アップデート 2009.01 RapidSSL  MD5衝突偽造中間CA アップデートやPinning 2009.07 NULL終端による証明書ホスト名一致不備 アップデートやPinning 2009.11 再ネゴシエーション脆弱性 アップデート 2011.03 Comodo不正証明書発行(RA攻撃) アップデートやPinning 2011.08 DigiNotar不正証明書発行(RA攻撃) アップデートやPinning 2011.09 BEAST攻撃 暗号スイート/プロトコル設定(非CBC) 2011.11 Digicert  Sdn不正証明書発行(RSA512) アップデートやPinning 2012.05 FLAMEマルウェア用Windows  Terminal  Serverに よるMD5衝突偽造中間CA,  Windows  Update攻撃 アップデートやPinning 2012.09 CRIME攻撃 圧縮解除設定(SSL) 2013.01 Lucky13攻撃 暗号スイート/プロトコル設定(GCM利用) 2013.01 TURKTRUST不正証明書発行(オペミス) アップデートやPinning 2013.03 SSLにおけるRC4暗号危殆化 暗号スイート(非RC4) 2013.03 TIME攻撃 圧縮解除設定(SSL) 2013.06 BREACH攻撃 圧縮解除設定(HTTP  gzip) 2013.06 スノーデン氏暴露(NSAの全SSL通信保管) 暗号スイート/プロトコル設定(ECDHE,DHE使用) 2014.04 HeartBleed攻撃 アップデート 2014.06 CSSInjection攻撃 アップデート 2014.10 POODLE攻撃 暗号スイート/プロトコル設定(非SSLv3,CBC) 2015.03 FREAK攻撃 暗号スイート(非EXPORT) 2015.03 live.fi、CNNIC/MCS不正証明書発行(運用不備) アップデートやPinning(CABF  BR要件に課題も) 2015.03 パスワード盗聴可能なRC4暗号スイート攻撃 暗号スイート設定(非RC4) 2015.05 Logjam脆弱性 暗号スイート設定,  DH設定(DHE_EXPORT512bit無効化) (参考)  SSL/TLSの過去の問題と対応方法 サーバー設定で回避し 続けならないものも多数 古い脆弱性であっても、 アップデートだけでは 解決しない問題が 多数残っている
  • 6. © 2015 Kenji Urushima All rights reserved. 5 (参考)サーバー管理上のこれまでのSSL/TLSの問題と対策の整理 暗号危殆化の問題 MD2,  MD5,  RC4,  SHA1,   RSA1024bit,  DH1024bit SSL/HTTP  プロトコル設計の問題 SSLv2,  SSLv3,  CBCモード, TLS圧縮,  HTTP圧縮, 再ネゴシエーション 個別の実装の問題 OpenSSL(HeartBleed,   CSSInjection等) MS  (識別名NULL終端,  ASN.1) CAの運用の問題 CA攻撃により不正証明書発行 CAオペミスで不正証明書発行 暗号危殆化で偽造証明書発行(MD5) 管 理 上 S S L / T L S 問 題 対 策 証明書ブラックリストの更新 Cert  Pinning,  CT,  DNSSEC設定による検知 各種パッチ、アップデートの適用 暗号スイート、プロトコル、圧縮の設定 各種パッチ、アップデートの適用 アップデートの適用 暗号スイート、プロトコル、圧縮の設定 側 設 定 対 策 古い脆弱性であっても、アップデートだけでは解決しない問題が多数残っている デフォルト設定でなく、きめ細かい設定で問題に対処する必要がある
  • 7. © 2015 Kenji Urushima All rights reserved. 6 特に暗号スイート(Cipher  Suites)の設定がわけわからん!! 何を入れれば いいの? 何を入れちゃ いけないの? 順序は どうすりゃ いいの? OpenSSL系の 設定が 呪文みたい!
  • 8. © 2015 Kenji Urushima All rights reserved. 7 (参考)  CRYPTREC版とIPA版って違いはあるの? 表紙 IPA版 CRYPTREC版 表紙 本書配布URLの紹介 本文  (p2目次〜p91) 本文  (p2目次〜p91) 裏表紙:不許複製 禁無断転載 発行者  IPA・CRYPTREC 裏表紙: 作成者  CRYPTREC、発行者  IPA 別紙:設定チェックリスト(Excelフォーム)
  • 9. © 2015 Kenji Urushima All rights reserved.8 忙しいし、 なかなか95ページも 見てられないですよね
  • 10. (非公式)設定ファイル自動生成ツールをご利用ください https://kjur.github.io/jsrsasign/tool_httpscfg.html •  基本、「お好みのガイド」と 「サーバーの種類」を選ぶだけ。 •  CRYPTREC/IPAガイドを含む、 様々なガイドラインに準拠した HTTPS設定ファイルを自動生成 します。 •  今は、Apache  HTTP  2.2/2.4、 nginx、lighttpdに対応していま す。 •  証明書(PEM)を貼れば、 Certificate  Pinningの鍵ハッ シュ計算も自動で行います。 •  ガイドはCRYPTREC,  NIST,   Mozilla,  Bulletproof他、OSデ フォルトも© 2015 Kenji Urushima All rights reserved. 9
  • 12. © 2015 Kenji Urushima All rights reserved. 11 NIST  SP800-52r1  (2014年4月改訂) ダウンロード http://nvlpubs.nist.gov/nistpubs/ SpecialPublications/NIST.SP.800-52r1.pdf •  NIST  SP800-52r1 Guidelines  for  the  Selection,   Configuration,  and  Use  of  TLS   Implementation •  最低限のSSLサーバとクライアントの設 定を規定 •  証明書についての要件もあり •  レベルは1レベルのみで、最低限の要件 だけを定めたもので、かなりカバー範囲 が広い。 •  3DES,  RC4など広めのサポート、 AESCCM,  DSA証明書が特徴的。
  • 13. © 2015 Kenji Urushima All rights reserved. 12 Mozilla  Server  Side  TLS •  MozillaのサーバーのSSL/TLS設定に関するガイド •  モダン(高)、普通(中)、互換性重視(低)の3レベル •  サーバー/クライアントのどのバージョンが使えるか明確になっている •  サーバー保護のための技術解説も 多く、ためになる •  設定ファイル自動生成ツールもある 出典:https://wiki.mozilla.org/Security/Server_Side_TLS
  • 14. © 2015 Kenji Urushima All rights reserved. 13 Bulletproof  SSL  and  TLS  by  Ivan  Ristic  of  Qualys 出典: https://www.feistyduck.com/books/ bulletproof-ssl-and-tls/ •  Qualys社で、SSLサイト検査や評価の ssllabs、SSLの利用調査のsslpulseなど も開発担当している有名なSSL有識者の Ivan  Ristic氏のSSL設定解説本 •  主要なページがメアド登録で無料ダウン ロードでき、これで十分 •  ApacheやOpenSSLなどの設定、運用、 セキュリティ対策についてどのような事 に配慮すべきか詳しく解説した良著 •  暗号スイートは2レベル •  特徴 •  暗号スイートがかなり絞られている •  3DES,  RC4がある
  • 15. © 2015 Kenji Urushima All rights reserved. 14 ガイドの比較 NIST Mozilla Bulletproof CRYPTREC 特徴 最低線のみのガ イド 対応ブラウザ バージョンの明 確化 技術解説詳細が よい わりとバランス よくまとまって いる レベル 1レベル  (低)最低線 3レベル  モダン(高)  普通(中)  互換性(低) 2レベル  普通(中)  互換性(低) 3レベル  高(高)  推奨(中)  例外(低) 技術解説 少なめ 普通 多い 普通 導入の容易さ やや難 易(ツール有) 易(例あり) 易(例あり) 非公式tool有 脆弱性対応 若干薄い 対応 対応 対応 暗号スイート の特徴 わりと広め わりと広め かなり絞った 範囲は中程度 特徴的な暗号 DSA証明書 AESCCM RC4 DSA証明書 SRP鍵交換 Camellia RC4(低) Camellia RC4(低) 対応サーバー 特になし Apache,  Nginx,   Haproxy,  stud,  AWS   ELB,  Zeus,  Citrix   Netscaler,  Go,  BIGIP OpenSSL,   Apache,  Java,   Tomcat,  IIS,  nginx Apache,  nginx,   lighttpd,  IIS
  • 18. 暗号スイートのガイドライン 比較マップ(NIST  SP800-61) 高い 安全性 広く普及あまり普及せず 弱い 安全性 NIST  低 Bulletproof  中低 CRYPTREC/IPA高中低 Mozilla高中低 AESGCM ECDSA証明書 ECDHE鍵交換 CamelliaCBC ECDH鍵交換 RSA鍵交換 3DES RC4 SRP鍵交換 DSA証明書 AESCCM DH鍵交換 AESCBC RSA証明書 DHE鍵交換 あまり普及せず © 2015 Kenji Urushima All rights reserved. 17
  • 19. 暗号スイートのガイドライン 比較マップ(Mozilla) 高い 安全性 広く普及あまり普及せず 弱い 安全性 NIST  低 Bulletproof  中低 CRYPTREC/IPA高中低 Mozilla高中低 高 中,  低 AESGCM ECDSA証明書 ECDHE鍵交換 CamelliaCBC ECDH鍵交換 RSA鍵交換 3DES RC4 SRP鍵交換 DSA証明書 AESCCM DH鍵交換 AESCBC RSA証明書 DHE鍵交換 あまり普及せず © 2015 Kenji Urushima All rights reserved. 18
  • 20. 暗号スイートのガイドライン 比較マップ(Bulletproof  SSL  and  TLS) 高い 安全性 広く普及あまり普及せず 弱い 安全性 NIST  低 Bulletproof  中低 CRYPTREC/IPA高中低 Mozilla高中低 中 低 AESGCM ECDSA証明書 ECDHE鍵交換 CamelliaCBC ECDH鍵交換 RSA鍵交換 3DES RC4 SRP鍵交換 DSA証明書 AESCCM DH鍵交換 AESCBC RSA証明書 DHE鍵交換 あまり普及せず © 2015 Kenji Urushima All rights reserved. 19
  • 23. © 2015 Kenji Urushima All rights reserved. 22 • ページ数も多くサーバー管理者が見てすぐ使える ようになってないので、記載は見直せるといい • 執筆後、新たなインシデントも起きており今後も 頻繁に見直し/改定は必要 – Logjam脆弱性、TLS  1.xではRC4使用不可 (RFC7465) • Certificate  Pinningについては標準の誤解があり 間違ったことを書いてしまい、訂正できるとよい。 • Session  Resumptionについて、記載しそこねた ので追記できるとよい。 • レベル分けはモダン(高)と互換性重視(低)の2つで 十分 課題と今後の期待(1)
  • 24. © 2015 Kenji Urushima All rights reserved. 23 • 暗号スイートの見直し – LogjamやDH(E)の実装状況、DH(E)のパフォーマンスの悪さ、 設定の面倒さ、対応実装のバージョン要件などを考えれば、混 乱するだけなのでDH(E)スイートは外してもいいか – Camelliaはデフォルトで対応する最新ブラウザがなくなったの で、外してもよいか – AES256、AES128の順序は必ずしもAES128優先でなく てもよいのでは(皆が、高スループットを求めるわけではな い。) – ECC系の暗号スイート(ECDH(E),  ECDSA)は「パテントリス クに気をつけろ」と書いても、対策のしようがなく、混乱する ので一元化してはどうか • チェックリストは、サンプルのサーバー設定を使えば2/3は 記入不要で無駄が多いので、見直すとよい。 課題と今後の期待(2)
  • 25. © 2015 Kenji Urushima All rights reserved. 24 (参考)チェックリストの冗長な所 レベルは合ってる? プロトコル (サンプル使用→不要 証明書の選定要件 (ここをチェック すれば十分) 暗号スイート サンプル使えば チェック不要
  • 26. © 2015 Kenji Urushima All rights reserved. 25 Logjam(弱いDH(E)鍵脆弱性) Matthew  Green先生のブログでの解説 出典:http:// blog.cryptographyengineering.com/ 2015/05/attack-of-week-logjam.html •  Logjam脆弱性は、鍵交換で輸出グレードのDH(E) 鍵交換(DHE_EXPORT、DH  512bit)に中間者がダ ウングレードすることにより通信を盗聴する脆弱性 •  利用者に気づかれないように、タイムアウトしない よう工夫するとしても、数秒〜数分のうちに鍵を解 読する必要あり •  DH鍵の解読は2ステップ。大量の計算パワーの必要 とするDHパラメータ共通な事前計算と、鍵交換毎 の計算 •  512bitなら、個人でもこの程度のクラスタで1、2 分で解読可能 •  1024bitなら、NSAの予算規模を考えれば実現可 能性が高い。実際、SSHのDH鍵の解読プロジェク トがスノーデンの文書で明らかになっているので応 用は容易 •  DHでたった2つの素数が92%のApache/mod_ssl で使われていたり、組込み、ハードコード、OSの デフォルトで使っているケースも多く有名な鍵の事 前計算の価値は十分ある ブラ ウザ 中間 者 サー バー 強制 DH512 DH 2048
  • 27. © 2015 Kenji Urushima All rights reserved. 26 • ここ数年、SSL/TLSに関連したインシデントが多発し ており、HTTPSサーバーの設定を定期的に見直すのは 必須 • CRYPTREC/IPAのSSL/TLS暗号設定ガイドなど幾 つかのガイドが出ており、日本語でてっとり早く対策 するにはCRYPTREC/IPAのガイドはおすすめ • ただ、課題は幾つかあって、継続して対応されるとい いですね(遠い目・・・)   • ガイドが更新されない場合には、(仕方なく)自分のブロ グで情報提供を続けようと思っています。 まとめ
  • 29. © 2015 Kenji Urushima All rights reserved. 28 IPA  SSL/TLS暗号設定ガイドライン http://www.ipa.go.jp/security/vuln/ssl_crypt_config.html CRYPTREC  SSL/TLS暗号設定ガイドライン http://www.cryptrec.go.jp/topics/ cryptrec_20150522_oper_guideline_fy2014.html NIST  SP800-52r1  Guidelines  for  the  Selection,   Configuration, an  dUse  of  Transport  Layer  Security(TLS)   Implementation http://nvlpubs.nist.gov/nistpubs/SpecialPublications/ NIST.SP.800-52r1.pdf Mozilla  Server  Side  TLS https://wiki.mozilla.org/Security/Server_Side_TLS Bulletproof  SSL  and  TLS  by  Ivan  Ristic  of  Qualys https://www.feistyduck.com/books/bulletproof-ssl-and- tls/ CRYPTRECシンポジウム2015 運用ガイドラインWG報告(主査:明治大  菊池先生) http://www.cryptrec.go.jp/topics/ cryptrec_20150424_symposium2015_presentation.htm l 第12回情報セキュリティEXPO[春]  IPAブース資料 SSL/TLS暗号設定ガイドライン  (IPA神田氏) http://www.ipa.go.jp/security/announce/ ist_expo2015.html 非公式SSL/TLSガイド準拠設定生成ツール(漆嶌) https://kjur.github.io/jsrsasign/tool_httpscfg.html InternetWeek2014  サーバーのSSL設定のツボ(漆嶌) https://www.nic.ad.jp/ja/materials/iw/2014/ proceedings/s14/s14-urushima.pdf PKIDay2015  SSL生誕20年、脆弱性と対策を振返る(漆嶌) http://www.jnsa.org/seminar/pki-day/2015/data/ 2-1_urushima.pdf 自堕落な技術者の日記 http://blog.livedoor.jp/k_urushima/ SNS等 https://twitter.com/kjur  (@kjur) https://www.facebook.com/kenji.urushima.biz 参考リンク