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
2k
アウトプットの始め方/start output 20230121
ariaki
0
330
web-secure-phpcon2020
ariaki
3
3.6k
オブジェクトライフサイクルとメモリ管理を学ぼう / OOC 2020
ariaki
8
3.9k
エンジニアはアウトプットによって成長できるのか? / Grow with your output
ariaki
24
6.7k
アウトプットを始めよう / How to begin output jawsug-bgnr
ariaki
2
4k
参加者の安全を守れていますか? / Protecting community safety
ariaki
1
7.5k
タピオカに学ぶ二段階認証 / tapioca-mfa
ariaki
5
1.3k
古に学ぶ個人開発のススメ / My recommendation of personal development
ariaki
1
1.5k
Other Decks in Technology
See All in Technology
ClickHouseはどのように大規模データを活用したAIエージェントを全社展開しているのか
mikimatsumoto
0
230
Kiro IDEのドキュメントを全部読んだので地味だけどちょっと嬉しい機能を紹介する
khmoryz
0
180
Introduction to Bill One Development Engineer
sansan33
PRO
0
360
Codex 5.3 と Opus 4.6 にコーポレートサイトを作らせてみた / Codex 5.3 vs Opus 4.6
ama_ch
0
150
クレジットカード決済基盤を支えるSRE - 厳格な監査とSRE運用の両立 (SRE Kaigi 2026)
capytan
6
2.7k
SREが向き合う大規模リアーキテクチャ 〜信頼性とアジリティの両立〜
zepprix
0
440
データ民主化のための LLM 活用状況と課題紹介(IVRy の場合)
wxyzzz
2
700
プロダクト成長を支える開発基盤とスケールに伴う課題
yuu26
4
1.3k
ファインディの横断SREがTakumi byGMOと取り組む、セキュリティと開発スピードの両立
rvirus0817
1
1.3k
GitHub Issue Templates + Coding Agentで簡単みんなでIaC/Easy IaC for Everyone with GitHub Issue Templates + Coding Agent
aeonpeople
1
220
20260208_第66回 コンピュータビジョン勉強会
keiichiito1978
0
130
日本の85%が使う公共SaaSは、どう育ったのか
taketakekaho
1
150
Featured
See All Featured
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
The #1 spot is gone: here's how to win anyway
tamaranovitovic
2
940
30 Presentation Tips
portentint
PRO
1
210
Unsuck your backbone
ammeep
671
58k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
141
34k
Have SEOs Ruined the Internet? - User Awareness of SEO in 2025
akashhashmi
0
270
New Earth Scene 8
popppiees
1
1.5k
RailsConf 2023
tenderlove
30
1.3k
What's in a price? How to price your products and services
michaelherold
247
13k
StorybookのUI Testing Handbookを読んだ
zakiyama
31
6.6k
Discover your Explorer Soul
emna__ayadi
2
1.1k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
122
21k
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