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

TLS 1.3とその周辺の標準化動向

Sponsored · Ship Features Fearlessly Turn features on and off without deploys. Used by thousands of Ruby developers.
Avatar for kazuho kazuho
April 27, 2018

TLS 1.3とその周辺の標準化動向

IETF101報告会発表資料

Avatar for kazuho

kazuho

April 27, 2018
Tweet

More Decks by kazuho

Other Decks in Technology

Transcript

  1.  • $%/اۀʮ'BTUMZʯͷϓϩάϥϚ • )551࣮૷ʮ)0ʯͷओ։ൃऀ – QJDPUMT 5-4 RVJDMZ 26*$

    ΋ • ࠷ۙॳΊͯͷ3'$͕ग़·ͨ͠ – 3'$  r &BSMZ)JOUTGPS)551 ࣗݾ঺հ
  2.  • 5-4 – 6TJOH&BSMZ%BUBJO)551 – 0TTJGJDBUJPO • %5-4 

    • &YQPSUFE"VUIFOUJDBUPST – 4FDPOEBSZ $FSUJGJDBUFTGPS)551 • $FSUJGJDBUF$PNQSFTTJPO • 4/*&ODSZQUJPO "HFOEB
  3.  • ϋϯυγΣΠΫͷ࠶ઃܭ – ʙ355Ͱͷ઀ଓཱ֬ – ҉߸Խ – 'PSXBSE4FDSFDZ લํൿಗੑ

    • τϥοΩϯά཈ࢭ – 1FSWBTJWF.POJUPSJOHJTBO"UUBDL #$1  – ϫϯΦϑͷηογϣϯνέοτ – ূ໌ॻͷ҉߸Խ • "&"%લఏͷϨίʔυϨΠϠ 5-4ͷಛ௃
  4. Copyright (C) 2016 DeNA Co.,Ltd. All Rights Reserved. 3,2 lu

    3,2 T 133 O K ClientHello ServerHello Cer@ficate Cer@ficateVerify Finished Client Server Applica@on Data _ Session Ticket(s) Finished
  5. Copyright (C) 2016 DeNA Co.,Ltd. All Rights Reserved. 3,2 lu

    3,2 T 133 O K ClientHello ServerHello EncryptedExtensions Cer@ficate Cer@ficateVerify Finished Finished Client Server (EC)DH + d (EC)DH d d d MAC MAC MAC Applica@on Data Session Ticket(s) (EC)DH _
  6.  ϋϯυγΣΠΫͷߟ͑ํ • 5-4 – ύϥϝʔλަ׵ͷޙʹެ։ݤɾূ໌ॻΛަ׵ • 5-4  –

    ͍͖ͳΓެ։ݤަ׵ • ಉ࣌ʹύϥϝʔλަ׵ • ެ։ݤͷํ͕ࣜҟͳΔ৔߹͸ϦτϥΠ – ݤަ׵͕ऴΘͬͨΒ҉߸Խ • ͦͷޙʹূ໌ॻަ׵
  7.  • 5-4 – )FMMPͰ*%Λަ׵ • εςʔτϑϧ αʔόଆͰهԱ͢Δඞཁ – 4FTTJPO5JDLFU&YUFOTJPO

    3'$ • εςʔτϨε ҉߸Խ͞ΕͨΫοΩʔΛ഑෍ – ͲͪΒ΋ϋϯυγΣΠΫதʹฏจͰૹ৴ • 5$1઀ଓΛ·͙ͨϢʔβτϥοΩϯά͕Մೳ • 5-4  – ϋϯυγΣΠΫ׬ྃޙʹUJDLFUΛ഑෍ – UJDLFU࢖༻͸̍ճͷΈ ηογϣϯ࠶։
  8.  • 5-4Ͱ҉߸Խ͢Δ୯Ґ • ྫ%&"%#&&' • UZQF – BMFSU –

    IBOETIBLF –  BQQMJDBUJPO@EBUB Ϩίʔυ  (e.g., TCP) TLS      type version length payload
  9.  %&"%#&&'  • ͸"&"%҉߸ԽΛද͢UZQFʹมߋ • ຊ౰ͷUZQF͸҉߸จͷதʹ • ύσΟϯά͸೚ҙݸ਺ͷθϩ •

    "&"%҉߸ "VUIFOUJDBUFE&ODSZQUJPO XJUI"EEJUJPOBM%BUB Ϩίʔυ opaque_type length payload type padding version AAD 
  10. Copyright (C) 2016 DeNA Co.,Ltd. All Rights Reserved. 3,2 lu

    H 133rd ep 3,2 T 133 O K ClientHello (ECDH + session @cket) Client Server @cket + (EC)DH _ 0-RTT Data (PSK ) ServerHello (ECDH) EncryptedExtensions Finished 0.5-RTT Data Finished Session Ticket
  11.  355 %BUB • 14,༝དྷͷݤͰ҉߸Խ • ऴ୺͸&OE0G&BSMZ%BUBϋϯυγΣΠΫ ϝοηʔδͰ఻ୡ • αʔό͸355ΛղಡͰ͖ͳ͍ͱ͖ɺͲ

    ͏͢Δ – USJBMEFDSZQUJPO – 355͕ղಡͰ͖ͳͯ͘΋ɺ&0&%͸ϋϯυ γΣΠΫϝοηʔδͳͷͰղಡՄೳ
  12.  • ϦϓϨΠՄೳ – ߈ܸྫۜߦৼࠐཁٻΛίϐʔͯ͠ϦϓϨΠ • ରࡦ – ϦϓϨΠՄೳͳ࣌ؒ෯Λݶఆ •

    νέοτͷ ೉ಡԽ͞Εͨ BHFΛར༻ – αʔόଆͷCMPPNGJMUFSͰݕग़ • αʔό͕ෳ਺ڌ఺ʹ෼͔Ε͍ͯͨΒ – ΞϓϦέʔγϣϯϓϩτίϧͰ൑ఆ • ϦτϥΠ҆શ͡Όͳ͍৘ใͷॲཧ͸ɺϋϯυγΣ ΠΫ׬ྃ·Ͱ஗Ԇ 355ͷ໰୊
  13.  • ΂͖౳ੑ͕͋ΔϦΫΤετ͸໰୊ͳ͍ – ྫ ը૾ͷ(&5 • ΂͖౳ੑͷ༗ແ͸8FCαʔόͰ͸൑ఆෆೳ • 8FCΞϓϦʹɺ355ϦΫΤετͰ͋Δ

    ͜ͱΛ఻͑ɺ൑ఆͤ͞Δ࢓૊Έ͕ඞཁ )551WT355   HTTP  Web CH+0RTT POST HTTPS FastCGI
  14.  • 'JOJTIFEҎલʹड৴ͨ͠ϦΫΤετΛసૹ ͢Δ৔߹͸ɺ&BSMZ%BUBϔομΛ͚ͭΔ • αʔόͷڍಈ – 355΋͘͠͸&%͖ͭϦΫΤετʹ͍ͭͯ ͸ɺ5PP&BSMZΛฦͯ͠΋ྑ͍ •

    ΫϥΠΞϯτͷڍಈ – Λड৴ͨ͠Β'JOJTIFEૹ ৴ޙʹϦΫΤετ࠶ൃߦ 6TJOH&BSMZ%BUBJO)551   HTTP  Web CH+0RTT Finished POST+E-D HTTPS FastCGI POST 425
  15.  • தܧऀͷڍಈ – 355ϦΫΤετసૹ࣌͸&%෇Ճ • &%͖ͭͷϦΫΤετ͸ͦͷ··సૹ – Λड৴ͨ͠Β •

    ࣗ෼͕&%͚ͭͨ৔߹͸ɺ'JOJTIFEΛ଴ͬͯ࠶ൃ ߦͯ͠΋ྑ͍ • ͦΕҎ֎͸ΫϥΠΞϯτʹૹ৴ 6TJOH&BSMZ%BUBJO)551
  16.  • )551 – Ұ౓ʹྲྀΕΔϦΫΤετ͸ͭ – 5-4ͷΫϥΠΞϯτೝূͰे෼ • )551 –

    ෳ਺ͷϦΫΤετ͕ಉ࣌ʹྲྀΕΔ – ϦΫΤετ͝ͱʹҟͳΔΫϥΠΞϯτূ໌ॻ Λ࢖͍͍ͨ )551ͱΫϥΠΞϯτೝূ
  17.  • ূ໌ॻͱͦͷॴ༗ূ໌ͷ ཁٻͱ ૹ৴ – ૹड৴ํ๏͸ɺ5-4઀ଓ্Ͱಈ࡞͍ͯ͠ΔΞ ϓϦέʔγϣϯϓϩτίϧʹ͓·͔ͤ • ূ໌ॻͷૹ৴ํ๏

    – 5-4ͷϋϯυγΣΠΫϝοηʔδΛ࠶ར༻ • $FSUJGJDBUF $FSUJGJDBUF7FSJGZ 'JOJTIFE • 5-4઀ଓ͔ΒΤΫεϙʔτͨ͠ൿີ৘ใΛॺ໊͢ Δ͜ͱͰೝূ • ূ໌ॻͷཁٻํ๏ – 5-4ͷ$FSUJGJDBUF3FRVFTUϝοηʔδΛ࠶ར༻ &YQPSUFE"VUIFOUJDBUPSTJO5-4
  18.  • )551͸5$1্ʹෳ਺ͷετϦʔϜΛॏ৞ – छྨͷετϦʔϜ੍ޚ༻ ϦΫΤετૹड৴༻ – ετϦʔϜ͸ෳ਺ͷϑϨʔϜ͔Βߏ੒ • ূ໌ॻͱϦΫΤετ͸OରԠ

    • ূ໌ॻؔ࿈ͷ৘ใ͸ϑϨʔϜͰަ׵ 4FDPOEBSZ$FSUJGJDBUF"VUIJO)551   CERTIFICATE   CERTIFICATE_REQUEST CertificateRequest CERTIFICATE_NEEDED  ? USE_CERTIFICATE  !
  19.  • H[JQ·ͨ͸CSPUMJͰূ໌ॻνΣΠϯΛѹॖ • CSPUMJͷ৔߹ – தԝ஋ – ύʔηϯλΠϧ •

    ύέοτʹೖΔ֬཰ – ύέοτ – ύέοτ • ʮഒʯ͸ڐ༰Մೳͳ૿෯཰͔ ͳ IUUQTEBUBUSBDLFSJFUGPSHNFFUJOHNBUFSJBMTTMJEFTUMTTFTTBDFSUJJDBUFDPNQSFTTJPO $FSUJGJDBUF$PNQSFTTJPO
  20.  • %/4҉߸Խ – %/4 PWFS 5-4  – %/4PWFS)5514

    8(-BTU$BMM • ؔ࿈ϓϩτίϧ5-4355 )551 26*$ • 4/*҉߸Խ • ূ໌ॻ҉߸Խ 5-4  • ϢʔβτϥοΩϯάͷ཈ࢭ – ηογϣϯνέοτͷϫϯΦϑԽ5-4 – *1ΞυϨεɺϙʔτ൪߸ͷมߋ26*$ ϓϥΠόγʔอޢͷਐ௙ঢ়گ
  21.  • 4/*Λ҉߸Խ – ҉߸Խ͢ΔͨΊͷݤͷ഑෍ํ๏͕໰୊ • 5-4 PWFS 5-4 –

    ̎ॏ҉߸ԽͷΦʔόʔϔου • BMUTWD 4FDPOEBSZ$FSUJGJDBUFTGPS)551 – )551ઐ༻ ݕ౼͞Ε͍ͯΔղܾࡦ