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

『プロフェッショナルSSL/TLS』読書会 第7章後半資料

sylph01
December 08, 2017

『プロフェッショナルSSL/TLS』読書会 第7章後半資料

sylph01

December 08, 2017
Tweet

More Decks by sylph01

Other Decks in Technology

Transcript

  1. (7) ϓϩτίϧʹର͢Δ
    ߈ܸ: 7.4-7.8
    @ʰϓϩϑΣογϣφϧSSL/TLSʱಡ
    ॻձ
    Ryo Kajiwara (@s01), 12/8/2017

    View Slide

  2. View Slide

  3. લճͷ಺༰͸
    લͷΠϕϯτϖʔδ
    ͔ΒͲ͏ͧ

    View Slide

  4. 7.4 Lucky 13
    ҉߸ར༻Ϟʔυ͕CBCϞʔυͰ͋Δͱ͖ʹʮฏจͷখ͞ͳҰ෦
    ෼ʯΛղಡͰ͖Δ߈ܸɻ
    ࠜຊݪҼ͸CBCϞʔυͰ࢖ΘΕΔύσΟϯά͕TLSͷ׬શੑݕূͷ
    ࢓૊ΈͰอޢ͞Εͳ͍͜ͱʹΑͬͯύσΟϯάΦϥΫϧ߈ܸ͕੒
    ཱͯ͠͠·͏͜ͱɻ
    ฏจ1όΠτΛղಡ͢Δͷʹ8192ճͷHTTPϦΫΤετΛ࢖͏ɻ

    View Slide

  5. ύσΟϯά
    DESɺAESͳͲͷϒϩοΫ҉߸Ͱ͸ೖྗΛϒϩοΫ௕ʹἧ͑ΔͨΊ
    ʹฏจʹύσΟϯάΛ෇Ճ͢Δɻ
    PKCS#7 padding: ຤ඌʹ෇༩͢ΔόΠτ਺ͷ਺ʹ౳͍͠஋ͷίʔυ
    ϙΠϯτͷจࣈΛ෇Ճ͢Δɻ
    2จࣈ଍Γͳ͍৔߹: 0x02 0x02
    4จࣈ଍Γͳ͍৔߹: 0x04 0x04 0x04 0x04
    ͽͬͨΓͷ৔߹͸1ϒϩοΫ·Δ͝ͱύσΟϯάΛ෇Ճɻ

    View Slide

  6. ύσΟϯάΦϥΫϧ
    ʮ෮߸ͨ݁͠ՌύσΟϯά͕ؒҧ͍͑ͯ·ͨ͠ʯ͕ʮ෮߸ͨ݁͠
    Ռσʔλͷ׬શੑνΣοΫΛ௨Γ·ͤΜͰͨ͠ʯͱҧ͏ΤϥʔΛ
    ฦ͢৔߹ʹ߈ܸ͕ՄೳʹͳΔɻ
    TLS 1.0Ͱ͸
    • ύσΟϯάΤϥʔ: decryption_failed
    • MACͷΤϥʔ: bad_record_mac
    →۠ผͰ͖ͯ͠·͏͜ͱͰʮύσΟϯάΦϥΫϧʯ͕Ͱ͖Δʂ

    View Slide

  7. λΠϛϯάΦϥΫϧ
    TLS 1.0ͷΑ͏ʹҧͬͨΤϥʔͰڭ͑ͯ͘Εͳͯ͘΋ɺύσΟϯά
    ͕ਖ਼͍͠৔߹ͱؒҧ͍ͬͯΔ৔߹Ͱʮ࣮ߦ࣌ؒʯ͕ҟͳΔ͜ͱΛ
    ࢖ͬͯύσΟϯάΦϥΫϧ͕Ͱ͖ͯ͠·͏ɻ
    decrypted = decrypt_cbc(ciphertext)
    if !padding_correct?(decrypted)
    return false
    else
    check_mac(decrypted, mac) # this takes additional time!
    end

    View Slide

  8. ύσΟϯάΦϥΫϧ߈ܸ
    ࠷ऴతͳಈ࡞ͷ༷ࢠ͸٭஫62൪ͷγϛϡϨʔλ https:/
    /
    erlend.oftedal.no/blog/poet/ ͕ඇৗʹΑ͘Ͱ͖͍ͯΔͷͰճͯ͠Έ
    ΔͱΑ͍ɻ

    View Slide

  9. View Slide

  10. View Slide

  11. ύσΟϯάΦϥΫϧ߈ܸ
    ղಡର৅ͷϒϩοΫͷલͷϒϩοΫΛૢ࡞͢ΔͷͰɺ͜ΕΛԾʹ
    ͱ͓͘ɻਖ਼͍͠લͷϒϩοΫͷ஋͸ ͱ͓͘ɻ
    ʢલͷਤࢀরʣ
    ͜͜Ͱɺ ʢ҉߸ԽॲཧͷఆٛΑΓʣͳͷͰɺ

    View Slide

  12. ύσΟϯάΦϥΫϧ߈ܸ
    ͜͜Ͱɺ ͸ط஌ɺ·ͨύσΟϯάΦϥΫϧଘࡏ࣌ʹ͸ Λ
    ૢ࡞ͯ͠ ͕ύσΟϯάͱͯ͠༗ޮͳ஋Λ͍࣋ͬͯΔ͔Ͳ͏͔Θ
    ͔ΔͷͰɺ݁Ռͱͯ͠ ͷ஋͕Θ͔Δʢͨͩ͠1όΠτͣͭʣɻ

    View Slide

  13. TLSʹର͢Δ߈ܸ
    TLS 1.0Ͱ͸ύσΟϯάΤϥʔͱMACΤϥʔ͕ҟͳΔΤϥʔΛฦ͠
    ͕ͨɺ௨৴͕҉߸Խ͞Ε͍ͯΔͷͰωοτϫʔΫ্͔Β߈ܸ͢Δ
    ͷ͸ࠔ೉ͩͬͨɻ͔͠͠OpenSSLʹ͸λΠϛϯάΦϥΫϧ͕ଘࡏ
    ͨͨ͠Ί࣮࣭ύσΟϯάΦϥΫϧ߈ܸ͕Մೳͩͬͨɻ
    2003೥ͷCanvelΒʹΑΔ߈ܸ: OpenSSL + IMAPΛ߈ܸɻී௨ύσΟ
    ϯάͷਪଌʹࣦഊͨ͠৔߹TLSηογϣϯ͕੾Εͯ͠·͏͕ɺ
    IMAP͸ࣦഊͨ͠৔߹ʹࣗಈͰ࠶ࢼߦ͢ΔͨΊ౎߹͕Α͔ͬͨɻ

    View Slide

  14. TLSʹର͢Δ߈ܸ
    Lucky 13߈ܸ(2013, AlFardan and Paterson): TLS 1.1Ͱ
    decryption_failed௨஌͕ඇਪ঑ʹͳΓɺMACͷܭࢉ͸ύσΟϯ
    ά͕ؒҧ͍ͬͯͨ৔߹Ͱ΋ߦ͏͜ͱͱ͕ͨ͠ɺMACͷύϑΥʔϚ
    ϯε͕σʔλϑϥάϝϯτͷ௕͞ʹґଘͯ͠͠·͏͜ͱΛར༻͠
    ͨαΠυνϟωϧΛ࢖ͬͯ߈ܸʹ੒ޭͨ͠ɻ

    View Slide

  15. Өڹ
    • ฏจશ෦Λ߈ܸ͢Δʹ͸ඇৗʹ͕͔͔࣌ؒΔͨΊɺ௨৴ճ෮ػ
    ߏΛඋ͍͑ͯΔࣗ཯తͳγεςϜΛର৅ʹ͢Δ͜ͱ͕ଟ͍
    • Ұ෦ͷฏจ͕൑໌͍ͯ͠Δ৔߹ʹ͸ΑΓগͳ͍ࢼߦճ਺ͰࡁΉ
    ʢͱ͸͍֤͑όΠτ͋ͨΓ65536ճʣ
    • JavaScriptϚϧ΢ΣΞΛ࢖ͬͨ߈ܸ
    • Cookieͷจࣈछ੍ݶʹΑΓճ਺͕ݮΔ
    • ਪଌʹࣦഊͯ͠΋௨৴ࣦഊ͕ϢʔβʔʹόϨͳ͍ʂ

    View Slide

  16. ؇࿨ࡦ
    ݁࿦ͱͯ͠͸TLSʹ͓͚ΔCBCʹ໰୊͕͋Δɻ݁ՌTLS 1.3Ͱ͸CBC
    ϞʔυશഇɺAEADݶఆͱͳΔ༧ఆɻ
    ετϦʔϜ҉߸Λ࢖͑͹ύσΟϯά͕ཁΒͳ͍͕ɺগͳ͘ͱ΋౰
    ࣌1TLSʹଘࡏͨ͠།ҰͷετϦʔϜ҉߸͸RC4ͰɺͦΕ͸ͦΕͰ໰
    ୊͕͋ͬͨɻ
    ೝূ͖ͭ҉߸(AEAD; GCMϞʔυͳͲ)Λ࢖͑͹MACʹΑΔλΠϛϯ
    ά໰୊΋ղܾ͢Δ͕͜Εʹ͸TLS 1.2͕ඞཁɻ
    1 TLS 1.3Ͱ͸ChaCha20/Poly1305͕࢖͑ΔΑ͏ʹͳΔϋζ

    View Slide

  17. View Slide

  18. 7.5 RC4ͷऑ఺
    TL;DR: ݱ୅తʹ͸RC4࢖͏ཧ༝ͳ͍ͷͰ࢖͏ͳɻ

    View Slide

  19. 伴εέδϡʔϦϯάͷऑ఺
    伴εέδϡʔϦϯά = ୹͍จࣈྻ͔Β伴ετϦʔϜΛग़ྗ͢ΔΞ
    ϧΰϦζϜͷ͜ͱɻ
    ͘͝Ұ෦෼͕Θ͔Ε͹ॳظग़ྗͷଟ͘ΛܾఆͰ͖ͯ͠·͏Α͏ͳ
    伴͕ଟ͍ʢऑ伴ͷଘࡏʣɺ伴ͷ࠶ར༻͕͋Δ͚ͩͰ伴ετϦʔϜ
    ͷҰ෦ΛಛఆͰ͖ͯ͠·͏ɺͱ͍͏໰୊͕஌ΒΕ͍͕ͯͨ…
    2011೥ BEAST߈ܸൃදˠRC4͕TLS 1.0ҎલͰ།Ұ҆શͳ҉߸Ξϧ
    ΰϦζϜʹʂ

    View Slide

  20. ୯ҰόΠτͷภΓ
    ಛʹॏཁͳͷ͕ɺ伴ετϦʔϜͷ2όΠτ໨͕௨ৗͷ2ഒͷ֬཰Ͱ0
    ʹͳΔɺͱ͍͏ੑ࣭ɻ
    0ʹͳΔͱ͍͏͜ͱ͸XORΛऔͬͯ΋0ɻ
    →ͨ͘͞Μͷ઀ଓΛੜ੒͠ɺ࠷΋සൟʹ2όΠτ໨ʹݱΕΔ஋͕ฏ
    จͱҰகɺͱݟͯ΋ؒҧ͍ͳͦ͞͏

    View Slide

  21. ઌ಄256όΠτʹ͓͚ΔภΓ
    2013, AlFardanΒ: ઌ಄256όΠτͷ֤όΠτͷதͰಛఆͷ஋ʹภΔ
    ܏޲͕͋Δ͜ͱΛൃݟɻ
    →256όΠτΛղಡ͢ΔͨΊʹඞཁͳσʔλαϯϓϧ਺͕ ɺจ
    ࣈ͕ݶΒΕΔ৔߹ʹ͸ ʹͳͬͨɻRC4͕௨ৗอূ͢Δͷ͸
    ɻ

    View Slide

  22. ઌ಄256όΠτʹ͓͚ΔภΓ
    ͱ͸͍͑ɺ࣮ࡍͷ߈ܸ͸ࠔ೉:
    • 2^28ݸͷαϯϓϧΛಘΔΑ͏ͳ઀ଓΛൃੜͤ͞Δ͜ͱ͕೉͍͠
    • BEAST߈ܸͰߦΘΕͨΑ͏ʹJavaScriptϚϧ΢ΣΞΛ࢖ͬͯ઀
    ଓΛ੍ޚ͢Δͷ͕ཧ૝త͔ʁ
    • डಈతʹ߈ܸ͢Δͷ͸ࠔ೉ɻMITM߈ܸ͕΄͍͠ɻ
    • ͦΕͰ΋ઌ಄256όΠτ͔͠Θ͔Βͳ͍ɻ

    View Slide

  23. ͦͷޙ
    • ೋॏόΠτ߈ܸ: ࿈ଓͨ͠όΠτʹภΓ͕͋Δͱ͍͏ੑ࣭ͷར
    ༻ɻҰఆͷִؒͰग़ྗʹݱΕΔɻ
    • αϯϓϧऔಘʹҟͳΔRC4伴Λඞཁͱ͠ͳ͍ɻඞཁͳ઀ଓ਺
    ͕ݮΔ
    • डಈత߈ܸ͸ෆՄೳ

    View Slide

  24. ͦͷޙ
    • HTTPηογϣϯ༻Cookieͷ಺༰औಘ͕2^34 -> 2^26ͰࡁΉɺͱ
    ͍͏ൃݟ
    • Invariance Weakness: ෆద੾ͳ伴͕ͱ͖Ͳ͖ੜ੒͞ΕΔ͜ͱΛར
    ༻ɻ2^24ճʹ1ճTLS઀ଓ͕ഁΒΕΔ
    • Cookie߈ܸʹ͔͔Δ࣌ؒͷ୹ॖɻBEASTಉ༷ͷJavaScriptϚϧ΢
    ΣΞΛ࢖͏ɻͱ͸͍͑75͔͔࣌ؒΔɻ

    View Slide

  25. ؇࿨ࡦ
    2015/2, RFC 7465Ͱ
    TLSͰͷࠓޙͷRC4ར༻͸ېࢭʂ
    ΍ͬͨͶʂʂ

    View Slide

  26. View Slide

  27. 7.6 τϦϓϧϋϯυγΣΠΫ߈ܸ
    7.1ͷରࡦͱͯ͠ಋೖ͞Εͨʮ҆શͳ࠶ωΰγΤʔγϣϯʯʹର͢
    Δ࠶߈ܸɻ
    ໨త͸ʢ࠶ωΰγΤʔγϣϯ͕ඞཁͳέʔεͰ͋ΔʣΫϥΠΞϯ
    τূ໌ॻ͕ඞཁͳΞΫηεͷ৐ͬऔΓɻ

    View Slide

  28. ࠶ωΰγΤʔγϣϯʹ͓͚Δ҆શੑ֬

    ࠶ωΰγΤʔγϣϯ࣌ʹ͸ɺҎલͷϋϯυγΣΠΫʹ͓͚Δ
    Finishedʹؚ·ΕΔverify_dataͷ஋Λ࠶ૹ৴͢Δ͜ͱͰɺαʔ
    όʔ͸࠶ωΰγΤʔγϣϯΛٻΊ͍ͯΔΫϥΠΞϯτ͕Ҏલ઀ଓ
    ͨ͜͠ͱͰ͋Δ΋ͷͰ͋Δ͜ͱͷ֬ূΛಘΔɻ
    →߈ܸऀ͸͜ͷ߈ܸͰ͜ͷൿີͷ஋Λ๫͘͜ͱΛ໨ඪͱ͢Δɻ

    View Slide

  29. (1) ະ஌ͷ伴͕ڞ༗͞ΕΔऑ఺
    RSA伴ަ׵ͷऑ఺Λѱ༻͢Δɻຊདྷதؒऀʹ͸෮߸Ͱ͖ͳ͍Pre-
    Master SecretΛຊདྷͷड͚खͰ͋Δαʔόʔʹ෮߸ͤ͞Δɺͱ͍
    ͏͜ͱΛ͢Δɻ
    ަ׵͕׬ྃ͢Δͱɺ઀ଓʹ࢖͏ύϥϝʔλ(Pre-Master Secret,
    random)͕ಉҰͰ͋ΔʹϚελʔ伴΋ಉҰͳ2ͭͷ઀ଓ͕Ͱ͖Δɻ
    (DH伴ަ׵Ͱ΋͜Ε͕Մೳɻѱҙͷ͋Δαʔόʔ͕؆୯ʹഁΕΔ
    DHύϥϝʔλΛબ΂͹Α͍ɻECDHEͰ͸໊લ෇͖ۂઢΛ࢖͏ͷͰ
    ͜Ε͕ෆՄೳ)

    View Slide

  30. ຊจͷਤ7.8

    View Slide

  31. (2) ׬શಉظ
    ͜ΕͰ͸·ͩ verify_data ͕ͦΕͧΕผͷΫϥΠΞϯτ͔Βདྷͯ
    ͍Δʢˡূ໌ॻ͕ҧ͏ʣͷͰ࠶ωΰγΤʔγϣϯ߈ܸ͕ෆՄೳɻ
    ͜͜ͰηογϣϯϦβϯϓγϣϯͰ͸ϋϯυγΣΠΫ͕লུ͞Ε
    ΔʢϚελʔ伴͕Θ͔͍ͬͯΕ͹े෼Ͱ͋Δʣ͜ͱΛར༻͢Δɻ
    →1ͭ໨ͷ઀ଓͰ͸ҟͳ͍ͬͯͨূ໌ॻ͕ཁٻ͞Εͳ͘ͳΓɺηο
    γϣϯ࠶։ޙͷFinishedϝοηʔδ΋ಉҰʂ

    View Slide

  32. ຊจͷਤ7.9

    View Slide

  33. (3) ͳΓ͢·͠
    ߈ܸऀ͸٘ਜ਼ऀͷΫϥΠΞϯτূ໌ॻΛ࢖͍͍ͨͷͰ࠶ωΰγΤ
    ʔγϣϯΛڧ੍ͤ͞Δɻ
    ઀ଓ੒ཱޙ͸τϥϑΟοΫ͸ݟΕͳ͘ͳΔ͜ͱʹ஫ҙɻ

    View Slide

  34. ຊจͷਤ7.10

    View Slide

  35. Өڹ
    ߈ܸΛड͚ΔՄೳੑ͕͋Δͷ͸ɺ7.1ͱಉ༷ɺ߈ܸऀͱΫϥΠΞϯ
    τ͕۠ผͰ͖͍ͯͳ͍αʔόɻ
    ΑΓةݥͳϕΫλͱͯ͠ɺ߈ܸऀ͸࠶ωΰγΤʔγϣϯલʹ೚ҙ
    ͷσʔλΛ૒ํͷ઀ଓʹૹΕΔ͜ͱ͕͋Δɻ
    ࠶ωΰγΤʔγϣϯʹΑΓΫϥΠΞϯτূ໌ॻೝূΛಥഁͨ͠ޙ
    ͸ɺJavaScriptϚϧ΢ΣΞΛྲྀ͠ࠐΜͰ͓͘͜ͱͰೝূ͞Εͨঢ়ଶ
    ͰϦΫΤετΛൃߦ͠·͘Δ͜ͱ͕Ͱ͖Δɻ

    View Slide

  36. ੒ཱཁ݅
    ͱ͸͍͑߈ܸ͸༰қͰͳ͍ɻ
    • ΤϯτϦʔϙΠϯτͱରԠ͢ΔϖΠϩʔυͷߏங
    • ࠶ωΰγΤʔγϣϯޙ͸τϥϑΟοΫ͕ݟ͑ͳ͘ͳΔ
    ͞ΒʹɺҎԼͷଆ໘΋ຬͨ͢ඞཁ͕͋Δ:
    • ΫϥΠΞϯτূ໌ॻΛ࢖͍ͬͯΔαΠτͷΈର৅ʹͰ͖Δ
    • ѱҙͷ͋ΔαΠτʹݺͼࠐΉඞཁ͕͋Δ

    View Slide

  37. ؇࿨ࡦ
    • ͢΂ͯͷΞΫηεʹΫϥΠΞϯτূ໌ॻΛཁٻ
    • ͦ͏͢Δͱ࠷ॳͷ઀ଓʹ߈ܸऀͷূ໌ॻ͕ཁٻ͞ΕΔ
    • ࠶ωΰγΤʔγϣϯΛແޮʹ͢Δ
    • ECDHEͷΈΛ༗ޮʹ͢Δ
    • RSAͱDHEͷ伴ަ׵ͷ໰୊ʹґଘ͍ͯ͠ΔͨΊ

    View Slide

  38. View Slide

  39. 7.7 POODLE
    2014/10, Google Security TeamʹΑΔɻ
    Lucky 13߈ܸͱಉ༷ͷύσΟϯάΦϥΫϧ߈ܸʹϓϩτίϧμ΢ϯ
    άϨʔυ߈ܸΛ૊Έ߹Θͤͨ΋ͷɻ

    View Slide

  40. ύσΟϯάํࣜͷҧ͍
    ຊจͷਤ7.11

    View Slide

  41. ύσΟϯάํࣜͷҧ͍
    POODLEͷѱ༻ʹ͸ʮ࠷ޙඌͷ҉߸ԽϒϩοΫશମ͕ύσΟϯάͩ
    ͚ʹͳΔΑ͏ʹ͢Δʯඞཁ͕͋Δɻ
    →߈ܸऀʹΞΫηεͰ͖Δͷ͸҉߸Խ͞Εͨঢ়ଶͷΈͳͷͰύσ
    ΟϯάΛ௚઀͍͡Εͳ͍ɻ࠷ޙඌͷϒϩοΫͷΈ͕ύσΟϯάͰ
    ͋Ε͹MACݕূʹҾ͔͔ͬΒͣʹ޷͖ͳΑ͏ʹมߋΛՃ͑ΒΕ
    Δɻ
    ࠷ޙඌͷ҉߸ԽϒϩοΫશମ͕ύσΟϯά͚ͩʹͳͬͨ৔߹ɺ෮
    ߸Խޙͷ࠷ऴόΠτͷ஋͸(AESͷ৔߹)15ɻ

    View Slide

  42. ࣮ࡍͲ͏΍ͬͯ߈ܸ͢Δͷ
    ͜ͷํ๏Ͱ͸҉߸จͷ຤ඌ1όΠτ͔͠ղಡ͢Δ͜ͱ͕Ͱ͖ͳ͍ɻ
    ͳͷͰɺJavaScriptΛ࢖ͬͯPOSTͷૹ৴URLͱϦΫΤετϘσΟΛ
    ੍ޚ͠ɺղಡ͍ͨ͠஋(CookieͳͲ)ؚ͕·ΕΔ෦෼Λ࠷ऴϒϩοΫ
    ʹ࣋ͬͯ͘ΔΑ͏ʹૢ࡞Λ͢Δɻ

    View Slide

  43. ࣮ࡍͲ͏΍ͬͯ߈ܸ͢Δͷ
    • ௕͍URLͱ࠷খݶͷϦΫΤετϘσΟ͔ΒਪଌΛ։࢝
    • URLΛ1όΠτͣͭ୹ͯ͘͠ύσΟϯάͷ௕͞Λ֬ఆ
    • 1όΠτΛղಡ͢ΔͷʹඞཁͳਪଌϦΫΤετΛૹ৴
    • ࢒ΓͷόΠτʹରͯ͠Ҏ্܁Γฦ͠
    1όΠτ͋ͨΓ256ճͰे෼ʹඞཁͳόΠτ਺͕200จࣈલޙͰ΋
    ࠓ·ͰΑΓང͔ʹޮ཰͕ྑ͍ʂ

    View Slide

  44. TLS 1.0Ҏ߱Ͱ΋POODLE͕Ͱ͖Δέʔ
    ε͕͋Δ
    SSLv3 -> TLS΁ͷϚΠάϨʔγϣϯͷࡍʹҰ෦ͷϕϯμʔͷύσΟ
    ϯάͷ࣮૷͕ద੾Ͱͳ͔ͬͨͨΊɻ

    View Slide

  45. ؇࿨ࡦ
    • ϒϥ΢βɿSSL 3.0΁ͷϑΥʔϧόοΫΛແޮʹͨ͠ɻ
    • SSLv3ͷແޮԽ
    • PCI DSS 3.2Ͱ͸2018 6/30·ͰʹSSLv3, Early TLS(TLS 1.0)Λແ
    ޮԽͯ͠όʔδϣϯΞοϓ͠Ζɺͱ໌ݴ͞Ε͍ͯ·͢

    View Slide

  46. View Slide

  47. 7.8 Bullrun
    …ͱ͍͏͔Dual EC DRBGͷ໰୊ɻඪ४ͱͯ͠ఏএ͞Εٖͨࣅཚ਺ੜ
    ੒ثʹNSAͷόοΫυΞ͕ೖͬͯͨΑɺͱ͍͏࿩ɻ
    NSA͸ʮ঎༻ͷൿີ伴ٕज़ͷͨΊͷϙϦγʔɺඪ४ɺ͓Αͼ࢓༷
    ʹରͯ͠ӨڹΛٴ΅͢ʯ׆ಈʹ೥ؒ2ԯ5ઍສυϧΛ࢖͍ͬͯΔͦ
    ͏Ͱ͢ɻӳࠃGCHQͰ΋ಉ༷ͷ׆ಈ͕͋Δͱ͔ɻ

    View Slide