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って必要ですか〜Let's Encryptを試してみよう
Search
sonson
May 15, 2016
Programming
600
3
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
SSLって必要ですか〜Let's Encryptを試してみよう
SSLの必要性,Let's Encryptのちょっとした使い方について概観する.
sonson
May 15, 2016
More Decks by sonson
See All by sonson
計算グラフのJITコンパイラをLLVM on C++で作ろう
sonsongithub
2
620
LLVMでHalideみたいな計算グラフ+JITを作りたい
sonsongithub
0
1.6k
LLVM Tutorial 02 - わいわいswiftc
sonsongithub
1
460
LLVM Tutorial - わいわいswiftc
sonsongithub
0
350
How to make and publish a Swift playground book for iPad
sonsongithub
5
19k
Swiftで実装するHTML特殊文字の高速処理
sonsongithub
3
8k
First step of 3D touch
sonsongithub
0
710
Getting started with 3D Touch
sonsongithub
0
800
Other Decks in Programming
See All in Programming
Laravel Boostに学ぶ、AIにPHPを書かせる技術 〜OSSの実装から蒸留するエージェント制御の王道〜
kentaroutakeda
3
490
アルゴリズムは何を圧縮しているのか ─ Haskell から育った「圧縮代数」というメンタルモデル
naoya
16
3.5k
20260623_Loop Engineeringで自分の分身の問い合わせBotを作る
ryugen04
0
230
Haskell/Servantを通してWebミドルウェアを捉え直す
pizzacat83
1
590
광주소프트웨어마이스터고등학교 DevFest 특강 - 바이브 코딩 시대에서 주니어 개발자로 살아남는 방법
utilforever
1
150
The Past, Present, and Future of Enterprise Java
ivargrimstad
0
290
才能?センス?知らん、 続けたもん勝ちだ。-- 結婚・出産・癌を越えてなお、私がプロダクトを創り続ける理由
16bitidol
2
880
LaravelLive Japan の裏方のすべて — 第188回 PHP勉強会@東京 (2026-06-24)
suguruooki
2
150
AIキャラアプリkaiwaの低遅延音声通話基盤をどう作ったか - AWS Gravitonで支える低遅延・低コストAI Agent基盤
mogamit
0
170
AIエージェントで 変わるAndroid開発環境
takahirom
2
680
自作OSでスライド発表する
uyuki234
1
3.9k
Embedded SREと共に達成した会員管理システムのAWS移行 - SRE NEXT 2026 ランチスポンサーセッション
niftycorp
PRO
1
2.7k
Featured
See All Featured
Facilitating Awesome Meetings
lara
57
7k
The Limits of Empathy - UXLibs8
cassininazir
1
520
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
12
1.7k
What's in a price? How to price your products and services
michaelherold
247
13k
Un-Boring Meetings
codingconduct
0
350
Design in an AI World
tapps
1
260
The Spectacular Lies of Maps
axbom
PRO
1
860
Art, The Web, and Tiny UX
lynnandtonic
304
22k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
35
3.7k
Amusing Abliteration
ianozsvald
1
230
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
52
6k
職位にかかわらず全員がリーダーシップを発揮するチーム作り / Building a team where everyone can demonstrate leadership regardless of position
madoxten
64
56k
Transcript
͍ͬͯΔਓίʔυॻ͍͍ͯͯͩ͘͞ Tech. Yuichi Yoshida Researcher, DENSO IT Laboratory, Inc. #yidev
@sonson_twit © 2014 DENSO IT Laboratory, Inc., All rights reserved. Redistribution or public display not permitted without written permission from DENSO IT Laboratory, Inc. Let’s Encrypt~SSL~Autolayout
ࣗݾհ • sonson • twitter: sonson_twit • github: sonsongithub •
portfolio • reddift(SwiftͰॻ͍ͨreddit.comͷAPIϥούʔ) • ࣄ • ը૾ೝࣝ/ݕࡧ/ͦΕΛͬͨΞϓϦ • ػցֶशͷ͓ษڧͱ͔ॾʑͱ͔
ࠓͷ༰ • SSLͬͯඞཁͰ͔͢ʙLet’s Encrypt • AutolayoutΛ͍ͬͯΔ͕ɼԶ͏ݶք͔͠Εͳ͍
SSLͬͯඞཁͰ͔͢ʁ Let’s EncryptͰ͍͍ͷ͔ɼѱ͍ͷ͔
໔ ͜ͷൃද༰ɼ٢ా༔ҰͷݸਓతͳݟղͰ͋Γɼ ॴଐ͢ΔஂମͷެࣜతͳݟղͰ͋Γ·ͤΜɽ ·ͨຊൃද༰Λฉ͖ɼͦͷཧղʹج͍ͮͯͦͷຊਓ͕ ͱͬͨԿͳΔߦಈʹΑΔଛʹର͠ɼΛෛ͍·ͤΜɽ Ҏ্ͷ͜ͱΛཧղͰ͖ͳ͍ਓɼ͋Δ͍ड͚ೖΕΒΕͳ͍ਓ ຊൃදΛฉ͘͜ͱ͝ԕྀ͍ͩ͘͞ɽ
None
None
എܠ • iOS9Ҏ߱ɼATSಋೖ͞ΕΔ • σϑΥϧτͰͯ͢https௨৴ʹஔ͖͑ΒΕΔ • iOSͰSSLجຊཁ݅ʹͳΓͭͭ͋Δ • ࣗͰӡ༻͍ͯ͠ΔαʔόͷSSLରԠ •
sonson.jpɼgithub hostingҎ֎ͯ͢SSL • 2tchͷόοΫΤϯυ৽͍͠όʔδϣϯSSL • ͦΜͱ͖ʹ৭ʑษڧͨ͠ • ϝΠϯͷڵຯRSA҉߸ͷֶͩͬͨΜ͕ͩ
എܠ • ͖͔͚ͬ • LINE Bot API • LINE Bot
API • SSL௨৴ඞਢ • Let’s Encryptͩͱ͑ͳ͍ • AWS͔Β͑Δ • SSLͷূ໌ॻ • Կͷҧ͍͕͋Δͷʁ • ҰମɼԿͷͨΊʹඞཁͳͷʁ
SSLͷඞཁੑ • Wi-FiͷηΩϡϦςΟ • httpsͰͳ͍ͱةݥ • DNSͷηΩϡϦςΟ • ѱҙͷ͋ΔDNS •
ηΩϡΞͳDNS͕ͳ͔ͳ͔Ͱͯ͜ͳ͍ • httpͰDNS໊͚ͩͰ૬खΛ֬ೝ͢Δͷةݥ • DNSΫϥοΫʹΑΔͳΓ͢·͠
ѱҙ͋ΔDNSͷڴҖ ΫϥΠΞϯτ %/4 ۜߦ *1 χηۜߦ *1 bank.co.jp 1.1.1.1 bank.co.jp
ѱҙ͋ΔDNSͷڴҖ ΫϥΠΞϯτ ͏ͦͬ͜ %/4 ۜߦ *1 χηۜߦ *1 bank.co.jp 2.2.2.2
bank.co.jp %/4ͷਖ਼ੑΛ νΣοΫ͢Δज़͕ͳ͍
҉߸௨৴ͷ3ཁ݅ • ൿಗ • ୭ʹ౪ΈݟΒΕͳ͍ • શੑ • ୭ʹվ᜵͞Εͳ͍ •
ೝূ • ୭ʹͳΓ͢·͞Εͳ͍
ࠓͷٕज़ͷݶք • ൿಗ • ૉҼղ͕࣮࣌ؒͰղ͔Εͳ͍ݶΓ҆શ • શੑ • SHAͳͲͰ֬อͰ͖Δ •
ೝূ • ࠓͷͱ͜Ζٕज़తʹղܾͰ͖͍ͯͳ͍
ൿಗ • ެ։伴҉߸ํࣜ • RSA҉߸ • కΊΔ伴ɼ։͚Δ伴͕ҟͳΔ҉߸ํࣜ • 伴ͷૹΛղܾͨ͠ʢ͍ͯ͠ΔʣͱݴΘΕΔ •
ར༻͢Δֶ • ૉҼղ͕࣮࣌ؒͰܭࢉͰ͖ͳ͍ • ࢄର࣮࣌ؒͰܭࢉͰ͖ͳ͍
શੑ • MD5, SHA • ͋ΔσʔλͷϋογϡΛ࡞Δ • MD5ͱαΠζͷখ͍͞SHAةݥ • ϋογϡͷੑ࣭
• σʔλΛೖΕΔͱϋογϡ͕ಘΒΕΔ • ೖྗ͕গ͠ͰมΘΔͱϋογϡେ͖͘มΘΔ • σʔλΛվ᜵ͨ݁͠ՌʹରԠ͢ΔϋογϡΛ༧ଌ ͢Δ͜ͱ͍͠ • →ͭ·ΓϋογϡΛ֬ೝ͢Δͱվ᜵͞Ε͍ͯͳ͍ ͔Λ֬ೝͰ͖Δ
ೝূ • ղܾ͢ΔֶతͳΈະͩʹͳ͍
ൿಗͱશੑΛୡͯ͠ ૹ৴ऀ ड৴ऀ ҉߸Խσʔλ ൿಗ ҉߸Խ શੑ վ᜵ෆՄ ड͚औΔ૬ख͕ ୭ͳͷ͔Θ͔Βͳ͍
߈ܸऀ
߈ܸྫ: man in the middle attack(MTM) ૹ৴ऀ தؒऀ ҉߸Խσʔλ ҉߸Խ
վ᜵ෆՄ ۜߦ ҉߸Խσʔλ ೝূͷΈ͕ͳ͍ͱɼ୭ͱ௨৴͍ͯ͠Δ͔ͷ อূ͕ಘΒΕͳ͍
ݱঢ়ͷରࡦʔSSLೝূہ • ೝূہ - Certificate Authority(CA)
ݱঢ়ͷରࡦʔSSLೝূہ ΫϥΠΞϯτ %/4 ۜߦ *1 χηۜߦ *1 bank.co.jp 1.1.1.1 bank.co.jp
ೝূہ ূ໌ॻ ͦΕۜߦͷ ূ໌ॻͰ͢
ݱঢ়ͷରࡦʔSSLೝূہ ΫϥΠΞϯτ %/4 ۜߦ *1 χηۜߦ *1 bank.co.jp 2.2.2.2 bank.co.jp
ೝূہ ূ໌ॻ ͦΕͩΕʁ
OSXʹσϑΥϧτͰೖΔূ໌ॻ
ΦϨΦϨূ໌͕μϝͳཧ༝ • man in the middle attack(MTM)ͷ㕒৯ • ͱ͍͑ɼMTM͘Β͍͍ͬͯͬͯݴ͏ͳΒɼผ ʹΦϨΦϨূ໌ॻͰΑ͍ͱ͍͏͜ͱ
• ΦϨΦϨূ໌ॻͰ͋ͬͯɼͦͷ૬खͱͷ௨৴ͷൿ ಗɼશੑอͨΕΔ
ͳͥೝূ͕͍͠ͷ͔ • ʮ৴͡Δʯͱ͍͏͜ͱͷఆ͕ٛᐆດ͔ͩΒ
ೝূہͷ৴༻ੑ https://www.jp.websecurity.symantec.com/repository/faq/class.html ৴༻ੑຊͷࣾձతͳ৴༻ੑΛಘΔͷͱ ಉ͡ΈͰߏங͍ͯ͠Δ
SSLূ໌ॻʹ͍ͭͯ • ೝূͷͨΊͷΈ • ҉߸Խͱ͔ɼࠜຊతʹؔͳ͍ • ࣮ࡍͷΈ্͋Δ͕ • ͏·͘ղܾ͢Δֶ/ֶతͳΈ͕ະͩͳ͍ •
ೝূہɾূ໌ॻͷΫϥε • ೝূʹ͕͔͔ۚΔ • Let’s EncryptStartSSLʹ৴པੑ͕Γͳ͍ • VerisignͳͲͷCLASS3৴པੑ͕ߴ͍ˠՁ֨ߴ͍
Let’s Encrypt • ແྉͷSSLূ໌ॻ • ϝʔϧΞυϨεͷΈͷূ໌ • ࣗಈߋ৽ͷͨΊͷεΫϦϓτ͞Ε͍ͯΔ • https://github.com/certbot/certbot
• ߋ৽ͷͨΊͷπʔϧ͕ͪΐͬͱલʹ͔Θͬͨ
Έ • certbot͕Let’s Encryptͱ௨৴ͯ͠ূ໌ॻΛൃߦ • apacheͱnginx • ࣗಈͰূ໌ॻͷΠϯετʔϧ·ͰΔΒ͍͠ • ಈ͔ͳ͍ͬͯBBSʹ͔͋ͬͨΒͬͯͳ͍
• webroot • ಛఆͷύεΛҰ࣌తʹ͏ • letsencryptͷύεʹূ໌ॻ͕ίϐʔ͞ΕΔ • standalone • ಛఆͷϙʔτͰμΠϨΫτʹ௨৴͢ΔʢΒ͍͠ʣ • 80ͱ͔͏ͷͰҰ࣌తʹαʔόΛด͡Δඞཁ͕͋Δ • manual • ڵຯͳ͍ͷͰݟͯͳ͍
͜Μ͚ͩͰΑ͍ ./letsencrypt-auto certonly --webroot \\ -w /var/www/example/ \\ -d www.example.com
ใ • ༗ޮظݶ • 90 • Let’s EncryptӡӦ60Ͱߋ৽͢Δ͜ͱΛਪ • ੍ݶ
• ͻͱͭͷIP͔ΒൃߦͰ͖ΔυϝΠϯ • ͻͱͭͷIP͔ΒൃߦͰ͖Δূ໌ॻͷ • ੍ݶ̓͘Β͍Ͱղআ͞ΕΔ • ೝূہͱͯ͠ • iOS/Windows/OSXʹ৴༻͞Ε͍ͯΔ • ΫϥΠΞϯτʹΑͬͯ৴༻͍ͯ͠ͳ͍ͷͰཁҙ
ࢀߟจݙ • ҉߸શൠ • ݁ߒ, ҉߸ٕज़ೖ • RSA҉߸/ૉपΓ • ϚʔΧεɾσϡɾιʔτΠ,ૉͷԻָ
• ʴͦͷลͷେֶͷઌੜͷαΠτͳͲ
AutolayoutΛ͍ͬͯΔ͕ Զ͏ݶք͔͠Εͳ͍ GUIͷݶք
ݱࡏ࡞ͬͯΔΞϓϦΛྫʹ
Ϗϡʔͷ༁͜Μͳײ͡
Έͳ͞ΜɼͲ͏͍ͬͯͬͯ·͔͢ʁ • Storyboard • Storyboard + xib • ίʔυ
Storyboard ͜ΜͳෳࡶͳϏϡʔΛGUI͔Β ࡞Δͱ͔ෆՄೳ 9999 +1001 3h sonson_twit imgur.com 11 images
Just installed iOS 9.3 Beta without a developer account (iPhone 6S Plus), 3D Touch animation lag gone! Search Sketch 9:41 AM 100%
Storyboard + xib ҙຯෆ໌ த͕Θ͔Βͳ͍
ίʔυ ҙຯෆ໌ ͕ͩσβΠφ͕ ͍ͳ͍ͷͰͳΜͱ͔ͳΔ
ίʔυ ҙຯෆ໌ ͕ͩσβΠφ͕ ͍ͳ͍ͷͰͳΜͱ͔ͳΔ Θ͚ͳ͍
͜͜Ͱɼ͍ٞͨ͠ • AutolayoutɼࠓޙͲ͏͠·͔͢ʁ • Storyboard • Storyboard + xib •
ίʔυ • Ή͠ΖɼAutolayoutΘͳ͍ • έʔε • ҰਓͰझຯͰॻ͘߹ • ਓͷίʔσΟϯάɼنখ͍͞ • ҙঊ/UI/UXͷσβΠφ͍Δنͷେ͖͍
None
·ͱΊ • SSLʹ͍ͭͯͷ෮श • ऍᷟʹઆ๏Ͱ͢Έ·ͤΜ • ৴༻ʹ͓͕͔͔ۚΓ·͢ • SSL͕ԿͷͨΊʹඞཁ͔ɼৗʹߟ͑·͠ΐ͏ •
Let’s Encryptͷ͍ํʹ͍ͭͯ • Autolayout • ٧Μͩ