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.4k
今すぐ適用しよう 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.8k
アウトプットの始め方/start output 20230121
ariaki
0
270
web-secure-phpcon2020
ariaki
3
3.3k
オブジェクトライフサイクルとメモリ管理を学ぼう / OOC 2020
ariaki
8
3.5k
エンジニアはアウトプットによって成長できるのか? / Grow with your output
ariaki
24
6.3k
アウトプットを始めよう / How to begin output jawsug-bgnr
ariaki
2
3.7k
参加者の安全を守れていますか? / Protecting community safety
ariaki
1
6.7k
タピオカに学ぶ二段階認証 / tapioca-mfa
ariaki
5
1.3k
古に学ぶ個人開発のススメ / My recommendation of personal development
ariaki
1
1.4k
Other Decks in Technology
See All in Technology
コード品質向上で得られる効果と実践的取り組み
ham0215
1
200
PostgreSQL Unconference #52 pg_tde
nori_shinoda
0
190
Engineering Managementのグローバルトレンド #emoasis / Engineering Management Global Trend
kyonmm
PRO
6
970
AWS のポリシー言語 Cedar を活用した高速かつスケーラブルな認可技術の探求 #phperkaigi / PHPerKaigi 2025
ytaka23
7
1.5k
ソフトウェア開発現代史: なぜ日本のソフトウェア開発は「滝」なのか?製造業の成功体験とのギャップ #jassttokyo
takabow
2
1.4k
SaaSプロダクト開発におけるバグの早期検出のためのAcceptance testの取り組み
kworkdev
PRO
0
380
空が堕ち、大地が割れ、海が涸れた日~もしも愛用しているフレームワークが開発停止したら?~ #phperkaigi 2025
77web
2
990
チームの性質によって変わる ADR との向き合い方と、生成 AI 時代のこれから / How to deal with ADR depends on the characteristics of the team
mh4gf
4
320
Reactを段階的に覗いてみる
ytaisei
2
940
SSH公開鍵認証による接続 / Connecting with SSH Public Key Authentication
kaityo256
PRO
2
210
職種に名前が付く、ということ/The fact that a job title has a name
bitkey
1
230
BCMathを高速化した一部始終をC言語でガチ目に解説する / BCMath performance improvement explanation
sakitakamachi
2
1.2k
Featured
See All Featured
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
28
9.4k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
331
21k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
47
5.3k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
666
120k
Music & Morning Musume
bryan
46
6.4k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
134
33k
The Power of CSS Pseudo Elements
geoffreycrofte
75
5.7k
Into the Great Unknown - MozCon
thekraken
36
1.7k
Java REST API Framework Comparison - PWX 2021
mraible
29
8.5k
How GitHub (no longer) Works
holman
314
140k
Product Roadmaps are Hard
iamctodd
PRO
52
11k
The Cost Of JavaScript in 2023
addyosmani
48
7.6k
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