Upgrade to Pro — share decks privately, control downloads, hide ads and more …

SSL勉強会 - 「クラウドを支えるこれからの暗号技術」を読んで

mashijp
November 22, 2016

SSL勉強会 - 「クラウドを支えるこれからの暗号技術」を読んで

クラウドを支えるこれからの暗号技術: https://herumi.github.io/ango/
の第一部を前提に、SSL(TLS)について解説します

- SSLにおける鍵交換: DH, RSA, .... の解説
- SSLネゴシエーション: 具体的にどのようなメッセージがやりとりされているかの解説
- SSLセッションの再利用

mashijp

November 22, 2016
Tweet

More Decks by mashijp

Other Decks in Technology

Transcript

  1. SSLษڧձ
    ʮΫϥ΢υΛࢧ͑Δ͜Ε͔Βͷ҉߸ٕज़ʯΛಡΜͰ
    2016/11/22

    mashijp

    View Slide

  2. ࠓ೔ͷSSLษڧձͷ໨త
    • SSL / TLS ͰͲͷΑ͏ʹ҉߸௨৴͕ߦΘΕ͍ͯΔ͔Λղ
    આ͠ͳ͕Βٞ࿦͠Α͏
    • ର৅ऀ
    • ʮΫϥ΢υΛࢧ͑Δ͜Ε͔Βͷ҉߸ٕज़ʯͷୈҰ෦ΛಡΜͰ۩
    ମతʹͲ͏௨৴͍ͯ͠Δͷ͔ؾʹͳͬͨਓ
    • ͜ͷຊΛલఏʹ࿩ΛਐΊΔ
    • SSLͰެ։伴҉߸Λ࢖͏͜ͱ΍αʔόূ໌ॻΛ࢖͏͜ͱ͸஌ͬ
    ͍ͯΔ͕ɺγʔέϯε͸஌Βͳ͍ਓ
    • ূ໌ॻൃߦػؔ, ೝূہͷ࿩͸͠ͳ͍
    ※ Ϋϥ΢υΛࢧ͑Δ͜Ε͔Βͷ҉߸ٕज़ … https://herumi.github.io/ango/

    View Slide

  3. SSL / TLS
    • SSL (Secure Sockets Layer)
    • SSL 2.0, 3.0 (੬ऑͳͨΊར༻ېࢭ)
    • ΦϫίϯͳΜͰ๨ΕΑ͏
    • TLS (Transport Layer Security)
    • SSL ͷޙܧɻ৽͍͠SSLͱࢥ͍ͬͯΕ͹OK
    • TLS 1.0, 1.1, 1.2 (ΈΜͳઈࢍར༻த)
    • TLS 1.3 (ࡦఆத)
    • ͜ͷࢿྉͰ͸Ұ෦Λআ͖ ·ͱΊͯ SSL ͱදه

    View Slide

  4. SSL͸Ͳ͏΍ͬͯ҉߸Խ௨৴Λఏڙ͢Δͷ͔
    • ͓͓ͬ͟ͺʹݴ͏ͱ࣍ͷྲྀΕ
    1. ҉߸Խ௨৴Λ͢ΔͨΊͷڞ௨伴Λ҆શʹަ׵͢Δ
    2. ަ׵ͨ͠伴Ͱڞ௨伴҉߸Λߦ͍΍ΓͱΓ͢Δ
    • AESͱ͔Ͱ҉߸௨৴
    • Ͳ͏΍ͬͯڞ௨伴Λ҆શʹަ׵͢Δͷ͔ʁ

    View Slide

  5. SSLʹ͓͚Δ伴ަ׵

    View Slide

  6. ෮श - Diffie-Hellman (DH) 伴ڞ༗ (3.3ষ, Ҿ༻)
    • ̍̌̌̌̌̌̌̌ճ࿩ʹग़ͯ͘ΔΜͰࢥ͍ग़ͯ͠Լ͍͞

    View Slide

  7. ෮श - RSA (3.16ষ, Ҿ༻)
    • ެ։伴҉߸ ͱ σδλϧॺ໊ Λಉ࣌ʹ࣮ݱ

    View Slide

  8. 伴ަ׵: DH
    • αʔό͔ΒDHެ։஋Λૹ৴ͯ͠΋Β͍ɺΫϥΠΞϯτ͸
    ͦͷ݁ՌΛ࢖ͬͯαʔόʹܭࢉ஋ΛૹΓฦ͢
    • ௨৴Λ౪ௌ͞Εͯ΋ڞ௨伴͸ྲྀग़͠ͳ͍
    • தؒऀ߈ܸʹΑΓ伴Λࠩ͠ସ͑Δ͜ͱ͕Մೳ
    DHެ։஋ KA(=
    ga
    mod
    p
    )
    , g, p
    KB(=
    gb
    mod
    p
    )
    a
    b
    DHެ։஋
    gab
    mod
    p ͔Βڞ௨伴ੜ੒ gab
    mod
    p ͔Βڞ௨伴ੜ੒
    (ൿີ) (ൿີ)

    View Slide

  9. 伴ަ׵: DH + RSA
    • αʔόূ໌ॻ͕RSAͷ৔߹ʹར༻Մೳ
    • αʔό͔Βૹ৴͢ΔDHެ։஋ʹαʔόূ໌ॻͷൿີ伴
    Ͱॺ໊͢Δ
    • ΫϥΠΞϯτ͸ॺ໊Λαʔόূ໌ॻͷެ։伴Ͱݕূ͢Δ
    • ެ։伴͸ೝূہʹΑͬͯॺ໊͞Ε͍ͯΔͨΊվ͟Μͷ
    ڪΕ͸ͳ͍

    View Slide

  10. 伴ަ׵: RSA
    • ΫϥΠΞϯτͰڞ௨伴Λੜ੒͠αʔόͷެ։伴Ͱ҉߸
    Խ͠ૹ৴͢Δ
    • ෮߸Ͱ͖Δͷ͸ެ։伴ʹରԠ͢Δൿີ伴Λ΋ͭαʔό
    ͚ͩ
    RSAαʔόূ໌ॻ(ެ։伴)
    ڞ௨伴Λެ։伴Ͱ҉߸Խ͠ૹ৴

    View Slide

  11. Forward Secrecy / લํൿಗੑ (5.8ষ)
    • αʔό্ͷൿີ伴͕ྲྀग़͢ΔͱͲ͏ͳΔ͔ʁ
    • ྫ) αʔόͷRSAൿີ伴͕ྲྀग़
    • RSA ʹΑΔ伴ަ׵
    • ڞ௨伴ΛRSAެ։伴Ͱ҉߸Խ͠΍ΓͱΓ͍ͯ͠Δ͚ͩ
    • ௨৴Λه࿥͍ͯ͠Ε͹աڈʹḪͬͯ҉߸จΛ෮߸Ͱ͖Δ
    • DH (+ RSA) ʹΑΔ伴ަ׵
    • DHͷ஋(=ڞ௨伴)Λຖճม͍͑ͯΔͳΒ෮߸Ͱ͖ͳ͍
    • ൿີ伴ྲྀग़ޙ͸தؒऀ߈ܸͷڪΕ͕͋Δ

    View Slide

  12. Forward Secrecy / લํൿಗੑ (5.8ষ)
    • RSAൿີ伴͸௕ظʹ౉ͬͯ࢖ΘΕΔ
    • ྫ) ༗ޮظݶ1ʙ3೥ͷSSLূ໌ॻऔಘ
    • ௕ظʹ౉ͬͯ࢖ΘΕΔ伴͕࿙Ӯͨ͠ͱͯ͠΋ɺͦΕΑΓ
    աڈͷ҉߸จΛ෮߸Ͱ͖ͳ͍͜ͱΛ લํൿಗੑ ͱ͍͏

    (FS: Forward Secrecy)
    • “ʮCRYPTREC Report 2013ʯͷ෇࿥ 4ʮPerfect Forward Secrecy ʹؔ͢Δٕ
    ज़తݟղʹ͍ͭͯʯʹΑΔͱ PFS ͱ FS ͷҧ͍ʹؔ͢Δ౷Ұతݟղ͸ͳ͍ͱͷ
    ͜ͱͰ͢. “
    • …ͩͦ͏Ͱ͢ɻؾʹ͠ͳ͍Ͱ͓͖·͠ΐ͏…

    View Slide

  13. લํൿಗੑʹؔ͢Δ࣮ࡍͷࣄ݅ (5.8ষ)
    • ΞϝϦΧࠃՈ҆શอোہ (NSA) ͕Πϯλʔωοτͷ௨৴Λ
    ౪ௌ, อଘ, ղੳ͍ͯͨ͜͠ͱ͕໌Β͔ʹͳΔ
    • ͞ΒʹFBI͕ϝʔϧࣄۀऀʹαʔόൿີ伴ͷఏग़ΛٻΊͨ
    • ଟ෼RSAൿີ伴
    • ௨৴ͷอଘ + ൿີ伴ͷྲྀग़ => աڈͷ௨৴ͷ࿙Ӯ ͕ݱ࣮ʹ
    • લํൿಗੑ͕ΑΓٻΊΒΕΔΑ͏ʹͳͬͨ
    • TLS 1.3(࡞੒த) Ͱ͸લํൿಗੑ͕ͳ͍伴ަ׵͸ར༻Ͱ͖ͳ
    ͘ͳΔݟࠐΈ

    View Slide

  14. 伴ަ׵ํࣜͷදݱ
    • DHE_RSA ͷΑ͏ʹදݱ͢Δ
    • DH … 伴ަ׵ϝΧχζϜ
    • E … Ephemeral (Ұ࣌తͳ) / ڞ௨伴Λຖճੜ੒
    • RSA … 伴΁ͷॺ໊
    • DH_RSA ͸ ͣͬͱಉ͡伴(DHͷύϥϝʔλ)Λ࢖༻
    • લํൿಗੑ͸ͳ͍
    • ୭΋ಘ͠ͳ͍͠๨Ε·͠ΐ͏

    View Slide

  15. 伴ަ׵ํࣜ·ͱΊ
    ໊শ 伴ަ׵ 伴΁ͷॺ໊ લํൿಗੑ
    34" 34" ॺ໊ෆཁ

    %)@34" %) 34" ☓
    %)&@34" %) 34" ˓
    &$%)&@34" &$%) 34" ˓
    &$%)&@&$%4" &$%) &$%4" ˓

    View Slide

  16. (ࢀߟ) 伴ަ׵ํࣜͱͦͷෛՙʹ͍ͭͯ
    • ͡Ό͋શ෦ DHE_RSA ͕͍͍͡ΌΜʂ
    • → ҰൠʹDHE_RSA ͸૬౰ॏ͍ͱݴΘΕΔ
    • ͜ͷษڧձͰ͸ৄ͘͠৮Εͳ͍͕ɺ伴ަ׵ํࣜʹΑͬͯ
    ෛՙ͕େ͖͘ҟͳΔ
    • 伴ަ׵ํࣜΛมߋ͢Δ৔߹͸े෼ݕ౼͔ͯ͠Βʹ͢
    Δ͜ͱ

    View Slide

  17. SSLωΰγΤʔγϣϯ

    View Slide

  18. SSLωΰγΤʔγϣϯ
    • ͔͜͜Β͸SSL௨৴ͷཱ֬(SSLωΰγΤʔγϣϯ) = ڞ௨伴ͷަ׵ͷϑ
    ϩʔΛղઆ
    • ࠓճ͸Α͋͘ΔHTTPSαʔόΛར༻έʔεΛߟ͑Δ(αʔόূ໌ॻ͋
    ΓɺΫϥΠΞϯτূ໌ॻͳ͠)
    • ओʹ DHE_RSA, RSA ʹΑΔωΰγΤʔγϣϯΛղઆ
    • WiresharkͰ௨৴ΛͿͬ͜͵͖ͳ͕Β֬ೝ͢Δͱཧղ͕ḿ͓ͬͯ͢͢Ί

    View Slide

  19. SSLωΰγΤʔγϣϯͷਤղ
    • SSLΛཧղ͢ΔͨΊͷجૅωΰγΤʔγϣϯ (Symantec)
    • https://www.jp.websecurity.symantec.com/welcome/pdf/wp_ssl_negotiation.pdf
    • 6ϖʔδ໨ͷਤ͕Θ͔Γ΍͍͢

    (ൈਮ: ӈਤ)
    • ͜ͷਤΛݟͳ͕ΒൃදΛ

    ฉ͍ͯ΋Β͑Δͱ͍͍ײ͡

    View Slide

  20. (ࢀߟ) SSLʹؔ͢ΔࢿྉΛ୳͢ͱ͖ͷ஫ҙ
    • ʮੜ੒ͨ͠ڞ௨伴Λαʔόͷެ։伴Ͱ҉߸Խ͠αʔό
    ʹૹΔʯͱղઆͨ͠ࢿྉ͕͔ͳΓଟ͍
    • ݫີʹ͸͜Ε͸ؒҧ͍Ͱ͋Δ͜ͱʹ஫ҙ
    • ྫ) DH ͸αʔόͷެ։伴ʹؔ܎ͳ͘伴ަ׵Ͱ͖Δ

    View Slide

  21. Cipher Suite
    • SSLͰ͸ҎԼͷ3ͭͷཁૉ͕ඞཁ
    • 伴ަ׵ΞϧΰϦζϜ
    • ڞ௨伴҉߸
    • ϋογϡؔ਺
    • ͜ΕΒΛ૊Έ߹Θͤͯදݱ
    • ྫ) ECDHE_RSA_WITH_AES_128_GCM_SHA256
    • 伴ަ׵ ECDH, 伴͸ Ephemeral (ຖճੜ੒)
    • ڞ௨伴҉߸ AES-128 GCMϞʔυ
    • ϋογϡؔ਺ SHA-256
    • SSLωΰγΤʔγϣϯ࣌ʹͲͷCipher SuiteΛ࢖͏͔߹ҙ͢Δ

    View Slide

  22. 1. Client Hello ->
    • αʔόʹର͠ɺSSLͷཱ֬Λґཔ͢Δ
    • ૹ৴͢Δओཁͳσʔλ
    • client_version: ཱ͍֬ͨ͠SSLͷόʔδϣϯ (ྫ: TLS1.2)
    • session_id (ޙड़)
    • cipher_suites: ରԠ͢ΔCipher SuiteҰཡ (༏ઌॱҐ෇͖)

    View Slide

  23. 2. <- Server Hello
    • ૹ৴͢Δओཁσʔλ
    • server_version: બ୒ͨ͠TLSͷόʔδϣϯ (ྫ: TLS1.0)
    • ΫϥΠΞϯτ͕ఏࣔͨ͠΋ͷҎԼΛબͿ
    • session_id (ޙड़)
    • cipher_suite: બ୒ͨ͠Cipher Suite
    • ΫϥΠΞϯτ͕ఏࣔͨ͠΋ͷ͔ΒબͿ
    • Ͳͷ TLSͷόʔδϣϯ / Cipher Suite ΛબͿ͔͸αʔόͷࣗ༝
    • Cipher Suite ͸༏ઌॱҐ෇͖ͰΫϥΠΞϯτ͔ΒఏҊ͞Ε
    Δ͕࠷ऴతͳܾఆݖ͸αʔόʹ͋Δ

    View Slide

  24. தؒऀ߈ܸʹৗʹཹҙ
    TLS 1.2Ͱ
    • SSLωΰγΤʔγϣϯ࣌ʹ҉߸௨৴ཱ֬લͳͷͰɺ௨৴Λվ͟Μ͢Δ༨஍͸͍
    ͘ΒͰ΋͋Δ
    • ྫ) Cipher Suite Λதؒऀ߈ܸʹΑͬͯݻఆԽͤ͞Δ
    • ྫ) TLSͷόʔδϣϯΛதؒऀ߈ܸʹΑͬͯԼ͛Δ(Լਤ)
    • SCSV ͱ͍͏৽͍͠࢓૊ΈͰ๷͕Εͦ͏ https://tools.ietf.org/html/rfc7507
    TLS 1.0 Ͱ
    OK, TLS 1.0
    TLS1.0ʙTLS1.2

    ʹରԠ
    TLS1.0ʙTLS1.2

    ʹରԠ
    ѱҙ͋Δ

    தؒऀ

    View Slide

  25. 3. <- Server Certificate
    • Cipher Suite ʹ߹கͨ͠αʔόͷূ໌ॻΛૹ৴͢Δ
    • RSA, DHE_RSA, ECDHE_RSA
    • → RSAূ໌ॻ
    • ECDHE_ECDSA
    • → ECDSAূ໌ॻ
    • ྫ͑͹ɺECDHE_RSA ͱ ECDHE_ECDSA ͷ྆ํʹରԠ
    ͍ͨ͠ͳΒ2छྨͷূ໌ॻΛαʔόʹઃఆ͢Δඞཁ͕͋Δ

    View Slide

  26. 4. <- Server Key Exchange (DHE, ECDHEͷ৔߹ͷΈ)
    • 伴ަ׵ʹඞཁͳ৘ใΛ౉͢
    • ૹ৴σʔλ
    • DHͷ৔߹
    • DHͷެ։஋
    • signed_params
    • DH(ECDH)ύϥϝʔλʹαʔόൿີ伴Ͱॺ໊Λ͢Δ
    • DHE_RSA ͳΒ RSAαʔόূ໌ॻ

    ECDHE_ECDSA ͳΒ ECDSAαʔόূ໌ॻ

    Λ “3. Server Certificate” Ͱૹ৴͢Δඞཁ͕͋Δ
    KA(=
    ga
    mod
    p
    )
    , g, p

    View Slide

  27. 5. <- Server Hello Done
    • ΫϥΠΞϯτʹʮ४උͰ͖ͨΑʙʯͬͯ఻͑Δ͚ͩ

    View Slide

  28. 6. Client Key Exchange ->
    • 伴ަ׵ʹඞཁͳ৘ใΛ౉͢
    • DHͷ৔߹
    • ɹɹɹɹɹɹΛૹ৴
    • RSAͷ৔߹
    • ΫϥΠΞϯτͰڞ௨伴Λੜ੒͠ɺαʔόূ໌ॻ͔Β
    औΓग़ͨ͠ެ։伴Ͱ҉߸Խɺૹ৴
    KB(=
    gb
    mod
    p
    )

    View Slide

  29. 7. <- Change Cipher Spec ->
    • ͜ΕҎ߱͸҉߸Խ௨৴Λߦ͏͜ͱΛએݴ͢Δ
    • αʔό/ΫϥΠΞϯτ૒ํ͔Βૹ৴͢Δ
    • ͜͜·Ͱͷϝοηʔδ͸҉߸Խɾೝূ͞Ε͍ͯͳ͍

    View Slide

  30. 8. <- Finished ->
    • 伴ަ׵, ೝূ͕׬ྃͨ͜͠ͱΛද͢
    • Change Cipher Spec ͷ௚ޙʹૹ৴
    • ͭ·Γ҉߸Խ͞Ε͍ͯΔ
    • ਖ਼͘͠҉߸௨৴͕Ͱ͖͍ͯΔ͜ͱͷ֬ೝʹͳΔ

    View Slide

  31. SSLηογϣϯͷ࠶ར༻

    View Slide

  32. SSLωΰγΤʔγϣϯ͸ίετ͕ߴ͍
    • ྫ͑͹DHE_RSAͷ৔߹ʹαʔό͕΍Δ͜ͱ…
    • DHެ։஋ͷੜ੒
    • RSAൿີ伴(2048bitʙ)Λ࢖ͬͯ͜Εʹॺ໊
    • →ෛ୲͕େ͖͍ʂ
    • ΍ΓͱΓͷճ਺΋ଟ͍ͨΊωοτϫʔΫ஗Ԇ͕େ͖͍ͱηογϣ
    ϯͷཱ֬·Ͱʹ͕͔͔࣌ؒͬͯ͠·͏
    • 2ճ໨Ҏ߱ͷ௨৴͸ָΛ͍ͨ͠
    • → ηογϣϯΛ࠶։͠Α͏ (Session Resumption)
    KA(=
    ga
    mod
    p
    )
    , g, p

    View Slide

  33. ηογϣϯIDʹΑΔSession Resumption
    • 1ճ໨ͷωΰγΤʔγϣϯͰαʔό͔ΒηογϣϯID͕ฦ͞ΕΔ(Server Hello)
    • 2ճ໨઀ଓ࣌ɺΫϥΠΞϯτ͕ͦͷηογϣϯIDΛ෇༩ͯ͠Client HelloΛ͢Δ
    • ηογϣϯIDΛجʹɺલճͷCipher Suiteɺڞ௨伴Ͱ࠶։
    • αʔό͕ ηογϣϯID ͱ Cipher Suite, ڞ௨伴౳ͷωΰγΤʔγϣϯ݁Ռ
    ͷͻ΋෇͖Λอଘ͓͔ͯ͠ͳ͚Ε͹ͳΒͳ͍ͱ͍͏͜ͱ
    • = αʔό͸εςʔτϑϧʹͳΔ
    Server Hello (࠶։OK!)
    Client Hello (ηογϣϯID෇͖)
    ͓ޓ͍طʹ΋͍ͬͯΔڞ௨伴Ͱ҉߸௨৴
    ID͔Βલճͷ

    ݁ՌΛऔΓग़͢

    View Slide

  34. ηογϣϯIDʹΑΔSession Resumptionͷ໰୊఺
    • ηογϣϯIDͱωΰγΤʔγϣϯ݁ՌΛͲ͜ʹอ࣋͢Δ͔ʁ
    • ϑϩϯταʔό͕ෳ਺୆͋Δ৔߹ʹ໰୊ʹͳΔ
    • αʔόAͰωΰγΤʔγϣϯ, 2ճ໨αʔόBʹ઀ଓ → Resumption Ͱ͖ͳ͍
    • memcached ʹอ࣋ͤ͞ΔΑ͏ͳέʔε΋͋Δ
    memcachedͳͲ
    ηογϣϯID৘ใͷऔಘ

    View Slide

  35. ηογϣϯνέοτʹΑΔSession Resumption
    • ωΰγΤʔγϣϯ݁ՌΛઐ༻ͷαʔό伴Ͱ҉߸Խͨ͠΋ͷΛΫϥΠΞϯτʹ౉͢
    • ͜ΕΛʮηογϣϯνέοτʯͱݺͿ
    • ΫϥΠΞϯτ͸෮߸ɾվ͟ΜͰ͖ͳ͍
    • αʔό͸ঢ়ଶΛ࣋ͨͳͯ͘Α͘ͳΔ
    • ηογϣϯIDํࣜͷ৔߹ʹ memcached ʹอଘ͍ͯͨ͠΋ͷΛ҉߸Խ͠ɺΫ
    ϥΠΞϯτʹ౉͢Πϝʔδ
    • = αʔό͸εςʔτϨεʹͳΔ
    (ωΰγΤʔγϣϯ)
    νέοτΛ

    ෮߸
    νέοτΛૹ৴

    View Slide

  36. ηογϣϯνέοτʹΑΔSession Resumption
    • 2ճ໨઀ଓ࣌ɺΫϥΠΞϯτ͸αʔόʹηογϣϯνέοτΛ౉͢
    • αʔό͸νέοτ༻ͷ伴Λ࢖ͬͯ෮߸͠ɺڞ௨伴΍Cipher SuiteΛ
    औΓग़͢
    Client Hello (ηογϣϯνέοτ෇͖)
    νέοτΛ

    ෮߸
    Server Hello (࠶։OK!)
    લճͷڞ௨伴Ͱ҉߸௨৴

    View Slide

  37. ෳ਺୆ͷαʔόͱηογϣϯνέοτ
    • ͋Β͔͡Ίશͯͷαʔόʹશ͘ಉ͡νέοτ༻ͷ伴Λઃఆ͠
    ͓͚ͯ͹ Ͳͷαʔόʹ઀ଓͯ͠΋ηογϣϯΛ࠶։Ͱ͖Δ
    • memcached ͳͲͰσʔλΛอ࣋͢Δඞཁ͸ͳ͠
    νέοτ༻ͷ伴
    νέοτ༻ͷ伴
    νέοτΛ

    ෮߸
    νέοτΛ

    ෮߸

    View Slide

  38. ηογϣϯνέοτͷ໰୊఺
    • νέοτ༻ͷ伴ͷ҆શੑΛͲ͏୲อ͢Δ͔ʁ
    • ͜ͷ伴͕ྲྀग़͢ΔͱαʔόҎ֎ͷୈࡾऀ͕νέοτΛ෮
    ߸͢Δ͜ͱ͕Ͱ͖Δ = σʔλ௨৴༻ڞ௨伴͕ྲྀग़͢Δ
    • ͔ͤͬ͘ DHE_RSA Λ࢖͍ͬͯͯ΋લํൿಗੑ͕୲อ
    Ͱ͖ͳ͍ڪΕ
    • νέοτ༻ͷ伴Λ୹ظؒͰมߋ͢ΔͳͲͷରࡦ͕ඞཁ
    • ౰વաڈͷ伴͸ഁغ

    View Slide

  39. ·ͱΊ

    View Slide

  40. SSL·ͱΊ
    • ʮSSL௨৴ʯͱݴͬͯ΋҆શੑ͸બ୒ͨ͠ΞϧΰϦζϜ(Cipher)
    ʹΑͬͯେ͖͘ҟͳΔ
    • લํൿಗੑ ͷ͋Δ Cipher ͷ҆৺ײ
    • TLS 1.3 Ͱ͸લํൿಗੑͷͳ͍ Cipher ͸࢖͑ͳ͘ͳΔงғؾ
    • SSLηογϣϯͷ࠶ར༻ઃఆ͸ັྗత͕ͩઃఆΛޡΔͱલํൿಗ
    ੑ͕ͳ͘ͳΔ
    • ͜ͷษڧձͷ಺༰ΛϕʔεʹɺSSLͷ੬ऑੑʹ͍ͭͯͷ஌ࣝ΋૿
    ΍͍͖͍ͯͨ͠
    • μ΢ϯάϨʔυ߈ܸ, Renegotiationͷ੬ऑੑ….

    View Slide

  41. ग़య/ࢿྉ
    • ࢿྉ - SSLϋϯυγΣΠΫ
    • ཧղͯ͠Δͭ΋ΓͷSSL/TLSͰ΋ɺ΋ͬͱཧղͨ͠Β໘ന͔ͬͨ࿩
    • http://tkengo.github.io/blog/2015/12/01/https-details/
    • TLSϓϩτίϧv1.2 (೔ຊޠ༁)
    • https://www.ipa.go.jp/security/rfc/RFC5246-00JA.html
    • ࣗତམͳٕज़ऀͷ೔ه
    • http://blog.livedoor.jp/k_urushima/archives/cat_38371.html
    • ࢿྉ - SSL ηογϣϯ࠶ར༻
    • લํൿಗੑ (forward secrecy) Λ΋ͭ΢ΣϒαΠτͷਖ਼͍͠ઃఆํ๏
    • http://blog.kazuhooku.com/2015/07/forward-secrecy.html
    • Forward Secrecyͷམͱ݀͠ - ϫβϊό
    • http://wazanova.jp/items/874
    • Apache 2.4 ৽ػೳ SSLฤ
    • http://www.slideshare.net/nappa_zzz/apache-24-ssl
    • ࡉ͔͗ͯ͢఻ΘΒͳ͍SSL/TLS
    • https://techblog.yahoo.co.jp/infrastructure/ssl-session-resumption/

    View Slide

  42. ग़య
    • ࢖༻ͨ͠ը૾
    • ͘͞ΒͷΞΠίϯηοτ (৭ௐ౳ΛҰ෦มߋ)
    • http://knowledge.sakura.ad.jp/other/4724/
    • ωοτϫʔΫɹτϙϩδʔɹΞΠίϯ
    • http://www.cisco.com/web/JP/product/topology_icons.html

    View Slide