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
SSl と仲良くなるやり方
Search
mickey
September 09, 2016
Technology
1
3.5k
SSl と仲良くなるやり方
mickey
September 09, 2016
Tweet
Share
More Decks by mickey
See All by mickey
超Redisマスターになる話
happysiro
0
100
BINDからの卒業
happysiro
1
2.3k
Other Decks in Technology
See All in Technology
サイバーセキュリティと認知バイアス:対策の隙を埋める心理学的アプローチ
shumei_ito
0
180
AIチャットボット開発への生成AI活用
ryomrt
0
140
マルチモーダルデータ基盤の課題と観点
neonankiti
1
110
AI長期記憶システム構築のための LLMマルチエージェントの取り組み / Awarefy-LLM-Multi-Agent
iktakahiro
2
350
ライブラリでしかお目にかかれない珍しい実装
mikanichinose
2
330
"君は見ているが観察していない"で考えるインシデントマネジメント
grimoh
4
1k
Mini Tokyo 3D × PLATEAU - 公共交通デジタルツインにリアルな風景を
nagix
1
230
Engineering at LY Corporation
lycorp_recruit_jp
0
320
エンジニア候補者向け資料2024.11.07.pdf
macloud
0
4.5k
Microsoft MVPになる前、なってから/Fukuoka_Tech_Women_Community_1_baba
nina01
0
170
AWS⼊社という選択肢、⾒えていますか
iwamot
2
1.1k
Oracle Cloud Infrastructureデータベース・クラウド:各バージョンのサポート期間
oracle4engineer
PRO
28
12k
Featured
See All Featured
The Art of Programming - Codeland 2020
erikaheidi
52
13k
Automating Front-end Workflow
addyosmani
1366
200k
Agile that works and the tools we love
rasmusluckow
327
21k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
169
50k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
43
6.8k
Principles of Awesome APIs and How to Build Them.
keavy
126
17k
Visualization
eitanlees
145
15k
Writing Fast Ruby
sferik
627
61k
What's new in Ruby 2.0
geeforr
343
31k
Art, The Web, and Tiny UX
lynnandtonic
297
20k
Fireside Chat
paigeccino
33
3k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
27
2k
Transcript
ࡾπݡҰ(.01&1"#0JOD ϖύϘςοΫΧϯϑΝϨϯε 44-ͱྑ͘ͳΔΓํ
ΠϯϑϥΤϯδχΞ ࡾπݡҰ!NJDLFZ ٕज़෦Πϯϑϥάϧʔϓ
ΠϯϑϥΤϯδχΞ ࡾπݡҰ!NJDLFZ ٕज़෦Πϯϑϥάϧʔϓ
Χϥʔϛʔγϣοϓ
None
44-ͬͯͳΜͩΖ͏ʁ
None
44-Λར༻͢Δͱ
ใͷվ͟Μ
ใͷ౪Έݟ
Λ͙ࣄ͕Ͱ͖·͢
͜ΕΛͲ͏࣮ͬͯݱͨ͠ͷ͔ʁ
࣮ͷঢ়گ wαϒυϝΠϯͷৗ࣌44-Խ wATIPQQSPKQAυϝΠϯ ͨͱ͑ɼFYBNQMFTIPQ QSPKQ ͷৗ࣌44-ԽΛߦ͍·͢ wಠࣗυϝΠϯ FYBNQMFDPN ͷৗ࣌44-Խ wಠࣗυϝΠϯ
FYBNQMFDPN ͷৗ࣌44-Խ
શମͷߏ
ߏ Ҏલͷߏ ࠓͷߏ -PBE#BMBODFS "QQMJDBUJPO 4FSWFS "QQMJDBUJPO 4FSWFS -PBE#BMBODFS 3FWFSTF
1SPYZ 3FWFSTF 1SPYZ "QQMJDBUJPO 4FSWFS "QQMJDBUJPO 4FSWFS
-PBE#BMBODFS 3FWFSTF 1SPYZ 3FWFSTF 1SPYZ "QQMJDBUJPO 4FSWFS "QQMJDBUJPO 4FSWFS ಛ
-PBE#BMBODFS 3FWFSTF 1SPYZ 3FWFSTF 1SPYZ "QQMJDBUJPO 4FSWFS "QQMJDBUJPO 4FSWFS
1SPYZΛஔ͍ͨཧ༝ wେྔͷূ໌ॻΛཧͨ࣌͠ɼϝϞϦফඅྔ͕૿͑ͯ͠·͏ wେྔʹূ໌ॻΛಡΈࠐΉͷͰɼ̍ͭͷϓϩηε͋ͨΓ ͷϝϞϦফඅྔ͕૿͑·͢ ϓϩηε .BOBHFS ϓϩηε ϓϩηε
1SPYZΛஔ͍ͨཧ༝ w"QBDIFϦΫΤετ͝ͱʹɼϓϩηε͕૿͑·͢ wͳͷͰɼϓϩηε͕ଠ͍ͬͯΔͱશମͱͯ͠ϝϞϦফඅ ྔ͕૿͑·͢ ϓϩηε .BOBHFS ϓϩηε ϓϩηε
1SPYZΛஔ͍ͨཧ༝ wOHJOYͩͱɼ୯ҰͷϓϩηεͰϦΫΤετΛॲཧ͢Δํ ࣜͷͳͷͰɼϝϞϦফඅྔ͕૿͑·ͤΜ w·ͨɼࠓޙɼಠࣗυϝΠϯͷৗ࣌44-ରԠͰɼ OHY@NSVCZΛ༻͍ͨಈతͳূ໌ॻͷಡΈࠐΈΛߦ͍ͨ ͔͔ͬͨΒͰ͢
ͭͷΈ͕͋Γ·ͨ͠
ύϑΥʔϚϯε
ύϑΥʔϚϯεͷݒ೦ w1SPYZͷΦʔόʔϔου w1SPYZͱ"QQMJDBUJPOαʔόʔͷ௨৴͕༨ܭʹൃੜ͢Δࣄ ʹΑΔϨΠςϯγͷ૿Ճ w44-Խʹͱͳ͏Φʔόʔϔου w҉߸Խͱ෮߸ʹϦιʔεΛফඅ͢ΔࣄʹΑΔεϧʔϓοτͷ Լ w44-ͷηογϣϯͷཱ֬ʹΑΔϨΠςϯγͷ૿Ճ
ҰͭҰͭݕূ͍͖ͯ͠·ͨ͠
ݕূํ๏ wෛՙࢼݧΛ࣮ࢪ͠ɼεϧʔϓοτͱϨΠςϯγΛௐࠪ͠·ͨ͠ wෳͷαʔόʔ͔ΒෛՙΛ͔͚ΔͨΊɼ-0$645 IUUQ MPDVTUJP ͱ͍͏πʔϧΛ༻͍·ͨ͠
1SPYZʹΑΔΦʔόʔϔου w ݕূͨ݁͠Ռɼ΄ͱΜͲѱԽ ͠·ͤΜͰͨ͠ w 1SPYZͱ"QQMJDBUJPO4FSWFS ͕ಉ͡%$ʹ͔͋ͬͨΒͰ͢ -PBE#BMBODFS 3FWFSTF 1SPYZ
3FWFSTF 1SPYZ "QQMJDBUJPO 4FSWFS "QQMJDBUJPO 4FSWFS %BUB$FOUFS
҉߸Խ෮߸ԽʹΑΔΦʔόʔϔου wௐࠪͨ͠ͱ͜Ζɼ҉߸Խͱ෮߸Խʹ͙Β͍$16ར༻ ͕૿Ճ͢Δͱ͍͏͜ͱͰͨ͠ w࣮ࡍʹෛՙࢼݧΛͯ͠Έͨͱ͜Ζɼ1SPYZࣗମͷෛՙ͕େ ͖͘ͳΔ͜ͱ͋Γ·ͤΜͰͨ͠ IUUQTXXXJNQFSJBMWJPMFUPSHPWFSDMPDLJOHTTMIUNM
Γηογϣϯཱ֬ͷΦʔόʔϔου
ηογϣϯཱ֬ͷΦʔόʔϔου )551 44- )5514 GET / Client Server HTTP 3FTQPODF
Client Hello TLS/SSL Session Establish Client Server Server Hello Certificate Server Key Exchange Server Hello Done Client Key Exchange Change Cipher Spec Finished Change Cipher Spec Finished GET / HTTP 3FTQPODF
ͲͷΑ͏ʹղফͨ͠ͷ͔
4FTTJPO3FTVNQUJPO wҰཱ֬ͨ͠ηογϣϯΛ࠶ར༻͢ΔͨΊͷΈͰ͢ wҎԼͷछྨ͕͋Γ·͢ wαʔόʔଆͰηογϣϯใΛ֮͑Δํࣜ w4FTTJPO$BDIF wΫϥΠΞϯτଆͰηογϣϯใΛ֮͑Δํࣜ w4FTTJPO5JDLFU
4FTTJPO$BDIF w44-ͷηογϣϯͷཱ֬ʹඞཁͳใΛ$BDIF͢Δ ͷͰ͢ wෳͷαʔόʔΛར༻͢ΔͳΒɼԿΒ͔ͷํ๏Ͱ $BDIFΛڞ༗͢Δඞཁ͕͋Γ·͢ w/HJOYͰɼ͜ͷڞ༗ͷͨΊͷʹରԠ͍ͯ͠· ͤΜ
4FTTJPO5JDLFU w 4FSWFS͕อଘ͢ΔηογϣϯใΛ ҉߸Խͯ͠ɼΫϥΠΞϯτʹૹΓɼΫ ϥΠΞϯτ͕ηογϣϯΛΩϟογϡ ͢Δͱ͍͏ΈͰ͢ Client Hello TLS/SSL Session
Establish Client Server Server Hello Finished Finished New Session Ticket
4FTTJPO5JDLFU w࠶։͢Δ࣌ɼ w$MJFOU͕$MJFOU)FMMPͱͱ ʹ4FTTJPO5JDLFUΛ 4FSWFSʹૹΔ wͦͷޙɼෳ߹ͱݕূʹޭ͢ ΕηογϣϯΛ࠶։͢Δ Client Hello TLS/SSL
Session Establish Client Server Server Hello Change Cipher Spec Finished Change Cipher Spec Finished Session Ticket
4FTTJPO5JDLFULFZͷఆظతͳߋ৽ w4FTTJPO5JDLFULFZ͕࿙Ӯ͢Δͱɼ44-௨৴͕ղಡͰ͖ͯ͠· ͍·͢ w͜ͷͨΊɼ4FTTJPO5JDLFULFZɼఔͰߋ৽͢Δ͜ͱ͕ਪ ͞Ε͍ͯ·͢ wגࣜձࣾϝϧΧϦͷ$POTVMΛར༻ͨ͠ࣄྫΛࢀߟʹ̍ຖʹߋ ৽͍ͯ͠·͢ IUUQUFDINFSDBSJDPNFOUSZ
݁Ռ
ৗ࣌44-Խ͍ͯ͠ͳ͍αʔό ৗ࣌44-Խͨ͠αʔό ݱ࣮ͷύϑΥʔϚϯε w44-Խ͢ΔલͱಉͱϨΠςϯγʹͳΓ·ͨ͠
44-ͷධՁ w44-Λ҆શੑͳͲͰධՁͨ͠ͱ͜Ζɼ" Ͱͨ͠
·ͱΊ
·ͱΊ w44-ͱྑ͘͢Δʹ͍͔ͭ͘ͷίπ͕ඞ༻Ͱ͢ w͜ͷൃදͰɼେྔͷূ໌ॻΛѻ͏ͳΒɼOHJOYΛར༻ͨ͠΄͏͕ྑ͍͜ ͱ w·ͨɼOHY@NSVCZΛར༻͢Εɼಈతʹূ໌ॻΛಡΈࠐΊΔ͜ͱ wύϑΥʔϚϯεΛམͱ͞ͳ͍ͨΊʹ4FTTJPO5DJLFUΛར༻ͨ͠΄͏͕ྑ ͍ wʹ͍ͭͯհ͠·ͨ͠
ࠓޙ wಠࣗυϝΠϯʹ͓͚Δৗ࣌44-ͷఏڙʹ͚ɼ։ൃΛਐΊ ͍͖ͯ·͢ w·ͨɼͲ͔͜ͰɼಠࣗυϝΠϯͷ࣌ͷΛհͰ͖ͨΒͱ ࢥ͍·͢