Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
今すぐ適用しよう TLS1.2+ / Apply Latest TLS
Search
Akira Morikawa
January 22, 2019
Technology
0
1.5k
今すぐ適用しよう TLS1.2+ / Apply Latest TLS
WEB系なんでもLT会 #2 登壇資料
https://anytime-lt.connpass.com/event/113499/
Akira Morikawa
January 22, 2019
Tweet
Share
More Decks by Akira Morikawa
See All by Akira Morikawa
コロナ禍だからこそ考えるオフラインコミュニティの意義 / significance of community
ariaki
0
1.9k
アウトプットの始め方/start output 20230121
ariaki
0
300
web-secure-phpcon2020
ariaki
3
3.4k
オブジェクトライフサイクルとメモリ管理を学ぼう / OOC 2020
ariaki
8
3.6k
エンジニアはアウトプットによって成長できるのか? / Grow with your output
ariaki
24
6.5k
アウトプットを始めよう / How to begin output jawsug-bgnr
ariaki
2
3.8k
参加者の安全を守れていますか? / Protecting community safety
ariaki
1
7k
タピオカに学ぶ二段階認証 / tapioca-mfa
ariaki
5
1.3k
古に学ぶ個人開発のススメ / My recommendation of personal development
ariaki
1
1.5k
Other Decks in Technology
See All in Technology
風が吹けばWHOISが使えなくなる~なぜWHOIS・RDAPはサーバー証明書のメール認証に使えなくなったのか~
orangemorishita
15
5.5k
データ基盤の管理者からGoogle Cloud全体の管理者になっていた話
zozotech
PRO
0
330
AI コードレビューが面倒すぎるのでテスト駆動開発で解決しようとして読んだら、根本的に俺の勘違いだった
mutsumix
0
160
リリース2ヶ月で収益化した話
kent_code3
1
180
alecthomas/kong はいいぞ
fujiwara3
6
1.4k
相互運用可能な学修歴クレデンシャルに向けた標準技術と国際動向
fujie
0
200
Nx × AI によるモノレポ活用 〜コードジェネレーター編〜
puku0x
0
330
【CEDEC2025】大規模言語モデルを活用したゲーム内会話パートのスクリプト作成支援への取り組み
cygames
PRO
2
770
Jamf Connect ZTNAとMDMで実現! 金融ベンチャーにおける「デバイストラスト」実例と軌跡 / Kyash Device Trust
rela1470
0
120
Google Agentspaceを実際に導入した効果と今後の展望
mixi_engineers
PRO
2
330
Claude Codeは仕様駆動の夢を見ない
gotalab555
4
520
VLMサービスを用いた請求書データ化検証 / SaaSxML_Session_1
sansan_randd
0
220
Featured
See All Featured
Music & Morning Musume
bryan
46
6.7k
A Tale of Four Properties
chriscoyier
160
23k
How to Think Like a Performance Engineer
csswizardry
25
1.8k
The Power of CSS Pseudo Elements
geoffreycrofte
77
5.9k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
357
30k
Build The Right Thing And Hit Your Dates
maggiecrowley
37
2.8k
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
Building Adaptive Systems
keathley
43
2.7k
Practical Orchestrator
shlominoach
190
11k
Visualization
eitanlees
146
16k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
229
22k
Making the Leap to Tech Lead
cromwellryan
134
9.5k
Transcript
今すぐ適用しよう TLS/1.2+ Jan 21, 2019 | #anytime_lt | @ariaki4dev LICENSE:
CC-BY-4.0
ariaki | @ariaki4dev
You are NOT secure !!! 本日のテーマ
• Safe : 危険の恐れがなく安全である • Secure : 危険の心配をする必要がない
1 SSLの歴史 設定見直してる? まとめ 2 3
SSLの歴史 プロトコルに潜む脆弱性と対応状況を解説します
SSLの歴史 プロトコルに潜む脆弱性と対応状況 1999 1996 1995 2008 2006 2018 TLS/1.0 SSL/3.0
SSL/2.0 TLS/1.2 TLS/1.1 TLS/1.3 https://www.ssllabs.com/ssl-pulse/ @ Jan 8, 2019
SSLの歴史 プロトコルに潜む脆弱性と対応状況 1999 1996 1995 2008 2006 2018 TLS/1.0 …
70.7% のサイトが対応 SSL/3.0 SSL/2.0 TLS/1.2 … 94.5% のサイトが対応 TLS/1.1 … 78.8% のサイトが対応 TLS/1.3 … 10.7% のサイトが対応 大丈夫だっけ?
SSLの歴史 プロトコルに潜む脆弱性と対応状況 SSL/3.0 • 1996年に登場 ( RFC6101 ) • 2014年10月に仕様上の脆弱性が発見された
• 2015年6月に使用禁止された ( RFC7568 ) ◦ Force Downgrade ( POODLE ) の対象となる為
SSLの歴史 プロトコルに潜む脆弱性と対応状況 TLS/1.0 • 1999年に登場 ( RFC2246 ) • 拡張仕様が追加された
( RFC3546 ) • CBCモードにおけるパディング方法の変更 • 2018年6月30日をもって使用禁止が勧告された ( PCI-DSS v3.2 )
SSLの歴史 プロトコルに潜む脆弱性と対応状況 TLS/1.1 • 2006年に登場 ( RFC4346 ) • 共通鍵暗号に
AES 追加 • CBCモードにおけるパディング方法の再変更 • 既に脆弱性が発見され、TLS/1.2 への移行 が推奨されている
SSLの歴史 プロトコルに潜む脆弱性と対応状況 TLS/1.2 • 2008年に登場 ( RFC5246 ) • 脆弱なアルゴリズムの利用箇所削減
• CBCモードに加えて、GCMモード / CCMモード追加
SSLの歴史 プロトコルに潜む脆弱性と対応状況 TLS/1.3 • 2018年8月に登場 ( RFC8446 ) • ハンドシェイクの高速化
( 再接続 0-RTT / 初回接続 1-RTT ) • CBCモードの廃止 • AEAD ( 認証付き暗号 ) 必須化 • データ圧縮の廃止 ( CRIME ) • セッションハッシュ機能 ( ネゴシエーション履歴全体ハッシュ ) など
SSLの歴史 プロトコルに潜む脆弱性と対応状況 ブロック暗号 平文データ パディング ブロック ブロック 平文データ指定桁数ごとのブロックに分割して暗号化を行う 桁数不足時はパディングを追加する
SSLの歴史 プロトコルに潜む脆弱性と対応状況 暗号化処理 暗号化処理 暗号データ 暗号データ ブロック ブロック 初期化ベクトル (IV)
XOR XOR CBCモード ( ブロック暗号における暗号利用モード ) 最初のブロックは「初期化ベクトル (IV)」を用い、以降は前ブロックの暗号データを元にする
攻撃ブロック パディング SSLの歴史 プロトコルに潜む脆弱性と対応状況 POODLE攻撃 ( Padding Oracle On Downgraded
Legacy Encryption ) • パディングは不足している桁数を挿入する仕様 • パディング自体の完全性を検証する仕組みがない • 末尾の1バイトが正しいかを攻撃によって推定可能 XOR 復号データ 暗号ブロック 末尾1バイトを推測
暗号ブロック SSLの歴史 プロトコルに潜む脆弱性と対応状況 BEAST攻撃 ( Browser Exploit Against SSL/TLS )
• CBCモードの初期化ベクトル ( IV ) は 前回の暗号ブロック である • この IV を打ち消す値を攻撃対象データに XOR しておく • 末尾の1バイトのみ不明な状態でリクエストする 平文ブロック XOR 復号データ 暗号ブロック 攻撃ブロック 平文ブロック XOR 復号データ 暗号ブロック 一致したら成功
SSLの歴史 プロトコルに潜む脆弱性と対応状況 CRIME攻撃 ( Compression Ratio Info-Leak Mass Exploitation )
• SSL圧縮機能を利用した攻撃 • データ圧縮後のサイズが小さくなった場合のみ正しい値という特性がある • これにより、ブルートフォースによって推測可能
設定見直してる? 設定が重要だということを滾々と語ります
設定見直してる? セキュリティ設定は重要だぞ! Apache 2.4.35 標準設定 標準設定はかなり緩い • TLS/1.0 接続 •
脆弱な鍵交換 • 危険な設定がONに
設定見直してる? セキュリティ設定は重要だぞ! Apache 2.4.35 標準設定 Qualys SSL Labs - SSL
Server Test https://www.ssllabs.com/ssltest/ この結果は問題ない? Rating Bですよ?
設定見直してる? セキュリティ設定は重要だぞ! TLS/1.2 に限定してみる TLS/1.2 に限定した!
設定見直してる? セキュリティ設定は重要だぞ! TLS/1.2 に限定してみる Qualys SSL Labs - SSL Server
Test https://www.ssllabs.com/ssltest/ なんでよ!? 変わらないやん!
設定見直してる? セキュリティ設定は重要だぞ! TLS/1.2 に限定してみる Qualys SSL Labs - SSL Server
Test https://www.ssllabs.com/ssltest/ Cipher Suites ???
設定見直してる? セキュリティ設定は重要だぞ! SSLCipherSuite を設定する
設定見直してる? セキュリティ設定は重要だぞ! SSLCipherSuite を設定する Qualys SSL Labs - SSL Server
Test https://www.ssllabs.com/ssltest/ Rating A きたー!
設定見直してる? セキュリティ設定は重要だぞ! SSLCipherSuite を設定する ECDHE - ECDSA - AES256 -
GCM - SHA384 ① ② ③ ④ ⑤ ① Forward Secrecy → ECDHE, ... ② 公開鍵(署名用)アルゴリズム → ECDSA, RSA, ... ③ 暗号アルゴリズム+鍵長 → AES128, AES256, CHACHA20, ... ④ 暗号利用モード(ブロック暗号のみ) → GCM, ... ⑤ ハッシュアルゴリズム+ハッシュ長 → SHA256, SHA384, POLY1305, ...
設定見直してる? セキュリティ設定は重要だぞ! 他にどんな設定すればいい? 設定に関する便利なサービスや記事を以下にまとめました • Mozilla SSL Configuration Generator https://mozilla.github.io/server-side-tls/ssl-config-generator/
• Qualys SSL Labs - SSL and TLS Deployment Best Practices https://github.com/ssllabs/research/wiki/SSL-and-TLS-Deployment-Best-Practices • Webサーバをセキュアに保つ設定のまとめ https://qiita.com/ariaki/items/78ed2d3810ad17f72398
設定見直してる? セキュリティ設定は重要だぞ! 他にどんな設定すればいい? Qualys SSL Labs - SSL Server Test
https://www.ssllabs.com/ssltest/ Rating A+ きたー!
まとめ 今すぐ適用しよう TLS/1.2+
You are NOT secure !!! (継続的な改善をしていない場合)
まとめ 今すぐ適用しよう TLS/1.2+ その環境はセキュア? AES/GCM環境においてIVが再利用された場合に致命的となる実証コードが公開されています https://github.com/nonce-disrespect/nonce-disrespect http://d.hatena.ne.jp/jovi0608/20160524/1464054882 正しい実装されていないサーバが残念ながらいくつか存在します ある時点では問題なくても危殆化によって脆弱性が露呈する可能性もあります 継続的な情報収集・環境更新がすごく重要です
You can KEEP safe !!! (継続的な改善ができている場合)
The Basics of Information Security https://speakerdeck.com/ariaki/2020-evolution-of-internet https://speakerdeck.com/ariaki/the-basics-of-information-security 2020: Evolution of
Internet Appendix