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
260
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.2k
古に学ぶ個人開発のススメ / My recommendation of personal development
ariaki
1
1.4k
Other Decks in Technology
See All in Technology
Fraxinus00tw assembly manual
fukumay
0
110
ExaDB-XSで利用されているExadata Exascaleについて
oracle4engineer
PRO
3
260
日経のデータベース事業とElasticsearch
hinatades
PRO
0
250
Iceberg Meetup Japan #1 : Iceberg and Databricks
databricksjapan
0
390
マーケットプレイス版Oracle WebCenter Content For OCI
oracle4engineer
PRO
3
530
開発組織を進化させる!AWSで実践するチームトポロジー
iwamot
2
420
【内製開発Summit 2025】イオンスマートテクノロジーの内製化組織の作り方/In-house-development-summit-AST
aeonpeople
2
770
役員・マネージャー・著者・エンジニアそれぞれの立場から見たAWS認定資格
nrinetcom
PRO
4
6.2k
AIエージェント時代のエンジニアになろう #jawsug #jawsdays2025 / 20250301 Agentic AI Engineering
yoshidashingo
8
3.8k
困難を「一般解」で解く
fujiwara3
2
120
1行のコードから社会課題の解決へ: EMの探究、事業・技術・組織を紡ぐ実践知 / EM Conf 2025
9ma3r
12
4k
30→150人のエンジニア組織拡大に伴うアジャイル文化を醸成する役割と取り組みの変化
nagata03
0
190
Featured
See All Featured
The Power of CSS Pseudo Elements
geoffreycrofte
75
5.5k
The Illustrated Children's Guide to Kubernetes
chrisshort
48
49k
Navigating Team Friction
lara
183
15k
The Pragmatic Product Professional
lauravandoore
32
6.4k
Designing on Purpose - Digital PM Summit 2013
jponch
117
7.1k
The MySQL Ecosystem @ GitHub 2015
samlambert
250
12k
Agile that works and the tools we love
rasmusluckow
328
21k
Code Reviewing Like a Champion
maltzj
521
39k
Speed Design
sergeychernyshev
27
810
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
45
9.4k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
356
29k
GitHub's CSS Performance
jonrohan
1030
460k
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