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.3k
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
3.1k
SELinuxで堅牢化する / selinux
tex2e
3
1.9k
プロトコルの形式的安全性検証ツールProVerif / proverif
tex2e
0
1.4k
マイナンバーカードで署名する / mynumbercard
tex2e
2
3.6k
Other Decks in Technology
See All in Technology
MCPを待つな、パスキーを拡げよう(OAuth/OIDC Numa (Immersion) Workshop 2026)
oidfj
PRO
0
350
OpenID for Verifiable Credentials 実装から見えた相互運用性確保までの道のり(OAuth/OIDC Numa (Immersion) Workshop 2026)
oidfj
PRO
0
350
EUDIWの枠組みを出発点に民間エコシステムの在り方を考える(OAuth/OIDC Numa (Immersion) Workshop 2026)
oidfj
PRO
0
340
Master Dataグループ紹介資料
sansan33
PRO
1
4.8k
最新技術に積極チャレンジ!EKS共通基盤のこれまでとこれから
daitak
0
250
GopherCon @シアトル に行ってきました
logica0419
0
330
Contract One Engineering Unit 紹介資料
sansan33
PRO
0
20k
All About Sansan – for New Global Engineers
sansan33
PRO
1
1.5k
AI時代のデータ基盤を考える問い
pacocat
0
740
みてねにおけるAI-DLC導入活動とAIドリブン開発の現在地/JAWS-UG AI-DLC #2
isaoshimizu
2
270
Introduction to Sansan for Engineers / エンジニア向け会社紹介
sansan33
PRO
6
77k
AWSとGitHub Actionsの責任境界と 組織で安全に使用する取り組み
nealle
0
210
Featured
See All Featured
Exploring anti-patterns in Rails
aemeredith
3
480
New Earth Scene 8
popppiees
3
2.5k
How STYLIGHT went responsive
nonsquared
100
6.2k
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
17k
Ten Tips & Tricks for a 🌱 transition
stuffmc
0
180
HTML-Aware ERB: The Path to Reactive Rendering @ RubyCon 2026, Rimini, Italy
marcoroth
4
500
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
35
2.6k
Public Speaking Without Barfing On Your Shoes - THAT 2023
reverentgeek
1
550
How to Get Subject Matter Experts Bought In and Actively Contributing to SEO & PR Initiatives.
livdayseo
0
180
Raft: Consensus for Rubyists
vanstee
141
7.7k
Unlocking the hidden potential of vector embeddings in international SEO
frankvandijk
0
900
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.