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.6k
SSl と仲良くなるやり方
mickey
September 09, 2016
Tweet
Share
More Decks by mickey
See All by mickey
超Redisマスターになる話
happysiro
0
110
BINDからの卒業
happysiro
1
2.4k
Other Decks in Technology
See All in Technology
.NET開発者のためのAzureの概要
tomokusaba
0
230
実践アプリケーション設計 ②トランザクションスクリプトへの対応
recruitengineers
PRO
2
130
mruby(PicoRuby)で ファミコン音楽を奏でる
kishima
1
220
サービスロボット最前線:ugoが挑むPhysical AI活用
kmatsuiugo
0
190
AIが住民向けコンシェルジュに?Amazon Connectと生成AIで実現する自治体AIエージェント!
yuyeah
0
260
kintone開発チームの紹介
cybozuinsideout
PRO
0
73k
認知戦の理解と、市民としての対抗策
hogehuga
0
310
現場が抱える様々な問題は “組織設計上” の問題によって生じていることがある / Team-oriented Organization Design 20250827
mtx2s
3
790
KiroでGameDay開催してみよう(準備編)
yuuuuuuu168
1
130
AIとTDDによるNext.js「隙間ツール」開発の実践
makotot
5
660
攻撃と防御で実践するプロダクトセキュリティ演習~導入パート~
recruitengineers
PRO
1
140
夢の印税生活 / Life on Royalties
tmtms
0
280
Featured
See All Featured
RailsConf 2023
tenderlove
30
1.2k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
7
820
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
15
1.6k
Building Flexible Design Systems
yeseniaperezcruz
328
39k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
183
54k
[RailsConf 2023] Rails as a piece of cake
palkan
56
5.8k
Music & Morning Musume
bryan
46
6.7k
Measuring & Analyzing Core Web Vitals
bluesmoon
9
570
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
16k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
34
3.1k
Producing Creativity
orderedlist
PRO
347
40k
Build The Right Thing And Hit Your Dates
maggiecrowley
37
2.8k
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·ͨɼͲ͔͜ͰɼಠࣗυϝΠϯͷ࣌ͷΛհͰ͖ͨΒͱ ࢥ͍·͢