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
TLS 1.3自作入門 / tls13
Search
Mako
August 09, 2021
Technology
1.2k
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
TLS 1.3自作入門 / tls13
seccamp2019 LT大会での発表内容
Mako
August 09, 2021
More Decks by Mako
See All by Mako
マイナンバーカードの暗号技術とセキュリティ
tex2e
2
2.9k
SELinuxで堅牢化する / selinux
tex2e
3
1.7k
プロトコルの形式的安全性検証ツールProVerif / proverif
tex2e
0
1.4k
マイナンバーカードで署名する / mynumbercard
tex2e
2
3.4k
Other Decks in Technology
See All in Technology
マーケットプレイス版Oracle WebCenter Content For OCI
oracle4engineer
PRO
5
1.8k
SIer20年! 培ったスキルがスタートアップで輝く時
shucho0103
0
740
Microsoft Build Keynoteふりかえり
tomokusaba
0
110
Mastering Ruby Box
tagomoris
3
150
Dynamic Workersについて
yusukebe
2
630
Rubyで音を視る
ydah
1
110
AWSシリコン最前線 〜AI時代のチップ選択を読み解く〜
htokoyo
1
220
AI Testing Talks: Challenges of Applying AI in Software Testing: From Hype to Practical Use
exactpro
PRO
1
140
ChatworkとBPaaS 異なる特性で学んだAI機能開発の ベストプラクティス
kubell_hr
2
3.1k
[モダンアプリ勉強会]今更聞けないGit/GitHub入門
tsukuboshi
0
300
noUncheckedIndexedAccess、3時間、1万円。 / noUncheckedIndexedAccess, 3 Hours, 10,000 JPY.
kaonavi
1
330
ブロックチェーン / Blockchain
ks91
PRO
0
110
Featured
See All Featured
What’s in a name? Adding method to the madness
productmarketing
PRO
24
4.1k
What Being in a Rock Band Can Teach Us About Real World SEO
427marketing
0
250
New Earth Scene 8
popppiees
3
2.3k
Ruling the World: When Life Gets Gamed
codingconduct
0
250
Navigating Team Friction
lara
192
16k
Taking LLMs out of the black box: A practical guide to human-in-the-loop distillation
inesmontani
PRO
3
2.3k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
27k
First, design no harm
axbom
PRO
2
1.2k
Keith and Marios Guide to Fast Websites
keithpitt
413
23k
Fantastic passwords and where to find them - at NoRuKo
philnash
52
3.7k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
46
2.9k
How to optimise 3,500 product descriptions for ecommerce in one day using ChatGPT
katarinadahlin
PRO
1
3.6k
Transcript
༧උࣝ ࣮ ࠷৽ಈ ·ͱΊ NͰͰ͖Δ! TLS 1.3ࣗ࡞ೖ @tex2e ηΩϡϦςΟɾΩϟϯϓશࠃେձ 2019 LT େձ
༧උࣝ ࣮ ࠷৽ಈ ·ͱΊ ࠓͷ͓ TLS 1.3
༧උࣝ ࣮ ࠷৽ಈ ·ͱΊ TLSͱ ௨৴͢Δ 2 ਓ͜Ε·Ͱʹձͬͨ͜ͱ͕ͳ͘ɺ ҆શͰͳ͍௨৴࿏Λͬͨͱͯ͠ɺ ҆શʹΓͱΓ͕Ͱ͖Δ
༧උࣝ ࣮ ࠷৽ಈ ·ͱΊ ҆શͳ௨৴࿏ͱ... • ਅਖ਼ੑ • ௨৴૬ख͕ຊͰ͋Δ͜ͱΛ֬ೝͰ͖Δ • (αʔόূ໌ॻʹΑΔೝূ ... X.509 Cert, PKI) • ػີੑ • ݖݶΛ࣋ͭਓ͚͕ͩΞΫηεͰ͖Δ • (௨৴༰ͷ҉߸Խ ... AES, ChaCha20) • શੑ • վ͟Μ͞Εͳ͍ • (ೝূ͖҉߸ʹΑΔվ͟Μݕ ... AEAD)
༧උࣝ ࣮ ࠷৽ಈ ·ͱΊ TLSͷϋϯυγΣΠΫ • Handshake • Ͳͷ҉߸εΠʔτΛ͏͔ܾΊΔ • ެ։ݤ҉߸Λ༻͍ͯݤڞ༗͢Δ • ূ໌ॻΛͬͯೝূ͢Δ • Application Data • ڞ௨ݤ҉߸Λ༻͍ͯ҉߸Խ͢Δ • HTTP Λ҉߸Խͨ͠σʔλͳͲ Open Socket Handshake Application Data Close Socket
༧උࣝ ࣮ ࠷৽ಈ ·ͱΊ TLS 1.3ͷΓͱΓ Client Server Client Hello Server Hello Application Data
༧උࣝ ࣮ ࠷৽ಈ ·ͱΊ ϓϩάϥϚͷ3େʮᅂΈʯ • ࣗ࡞ OS • ࣗ࡞ίϯύΠϥ (ϓϩάϥϛϯάݴޠ) • ࣗ࡞ϓϩτίϧελοΫ (TCP/IP, TLS) ˞ॾઆ͋Γ
༧උࣝ ࣮ ࠷৽ಈ ·ͱΊ TLSͲ͏ͬͯ࡞Δͷ? RFCΛಡΉ
༧උࣝ ࣮ ࠷৽ಈ ·ͱΊ TLS 1.3 (RFC 8446)
༧උࣝ ࣮ ࠷৽ಈ ·ͱΊ ߏମͱόΠτྻͷ૬ޓม ม ෮ݩ
༧උࣝ ࣮ ࠷৽ಈ ·ͱΊ ࣮ͷྲྀΕ TLS ͷΓͱΓͷ࣮ɿ 1. ιέοτ௨৴ 2. ϝοηʔδͷߏମͱόΠτྻͷ૬ޓม TLS ͷΓͱΓͷதͷ࣮ɿ 1. ପԁۂઢ Diffie-Hellman ݤڞ༗ 2. HKDF ʹΑΔݤεέδϡʔϦϯά 3. ೝূ͖҉߸ (AEAD) 4. X.509 ূ໌ॻ
༧උࣝ ࣮ ࠷৽ಈ ·ͱΊ TLS 1.3ͷ࠷৽ಈ (Server/Client)
༧උࣝ ࣮ ࠷৽ಈ ·ͱΊ TLS 1.3ͷ࠷৽ಈ (QUIC) UDP ͰίωΫγϣϯཱ֬ͱ TLS 1.3 ཱ֬Λಉ࣌ʹߦ͏ TCP + TLS 1.3 Client Server SYN SYN + ACK ACK Client Hello Server Hello Application Data QUIC (HTTP/3) Client Server QUIC QUIC QUIC Application Data
༧උࣝ ࣮ ࠷৽ಈ ·ͱΊ TLS 1.3ࣗ࡞ָ͍͚͠Ͳ͍͠ • จॻ΄ͱΜͲӳޠ • ҉߸ٕज़ͷج൫ͱͳΔֶͷࣝ • ωοτϫʔΫٕज़ͷࣝ • RFC ೖॻͰͳ͍ͷͰॳֶऀʹݫ͍͠
༧උࣝ ࣮ ࠷৽ಈ ·ͱΊ 30Ͱ TLS 1.3 ࡞Εͳ͍Α
༧උࣝ ࣮ ࠷৽ಈ ·ͱΊ ͓ΘΓ
ࢀߟจݙ I RFC 8446: The Transport Layer Security (TLS) Protocol Version 1.3. IETF, August 2018. Andy Brodie: Overview of TLS v1.3. OWASP, 2017. URL https://www.owasp.org/images/d/d3/TLS_v1.3_ Overview_OWASP_Final.pdf SSL Labs: SSL Pulse. Qualys, Inc, June 2019. URL https://www.ssllabs.com/ssl-pulse/ @Fyrd, @Lensco: Can I use... URL https://caniuse.com/ IETF Draft: “QUIC: A UDP-Based Multiplexed and Secure Transport”. URL https://tools.ietf.org/ html/draft-ietf-quic-transport-22
ࢀߟจݙ II Alessandro Ghedini: The Road to QUIC. Cloudflare, Inc, 2018. URL https://blog.cloudflare.com/the-road-to-quic/ խ ࢁຊ: TCP/IP ϓϩτίϧελοΫࣗ࡞ೖ. KLab Inc, 2018. URL https://www.slideshare.net/ pandax381/tcpip-105857327 Ivan Risti´ c ஶ, ᜊ౻ಓ ༁: ϓϩϑΣογϣφϧ SSL/TLS. ϥϜμϊʔτ, 2018.