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

サイドチャネル攻撃とその防衛手法@暗号通貨読書会#34

Takaya Imai
October 23, 2019

 サイドチャネル攻撃とその防衛手法@暗号通貨読書会#34

ここ最近ハードウェアウォレットまたは暗号演算器に対するハッキング手法としてよく聞くサイドチャネル攻撃にフォーカスを当ててみました。
今年の8月下旬にアトランタであったCHES2019の講演資料を紹介しています。

Focused on the Side-channel Attacks, which get popular recently as a hacking technique to Hardware Wallets or Encryption Machines.
This slide introduces Side-channel Attack presentation in CHES 2019 https://ches.iacr.org/2019/ in August 2019.

Takaya Imai

October 23, 2019
Tweet

More Decks by Takaya Imai

Other Decks in Technology

Transcript

  1. αΠυνϟωϧ߈ܸͱ
    ͦͷ๷Ӵख๏
    ʲ҉߸௨՟ྠಡձʳ!ϑϨηοπɺ౦ژେֶೆݚڀ౩

    ϑϩϯςΟΞύʔτφʔζ߹ಉձࣾ૑ۀऀ୅ද$&0
    6OJUFE#JUDPJOFST*ODڞಉ૑ۀऀ$50
    ࠓҪਸ໵

    View Slide

  2. ࣗݾ঺հ
    ϑϩϯςΟΞύʔτφʔζ߹ಉձࣾ ୅දCEO
    United Bitcoiners Inc. ڞಉ૑ۀऀˍऔక໾CTO
    ϚελϦϯάϏοτίΠϯɺ຋༁ऀ୅ද
    ੈքͰॳΊͯͷɺ೔ຊޠʹΑΔϏοτίΠϯɾϒϩοΫ
    νΣʔϯͷৄࡉٕज़ॻ(NTTग़൛ࣾ)
    શମͷׂ̕Λ຋༁
    ୈ̍̎࡮
    2016/7/14ग़൛
    ిࢠॻ੶൛(kindle)΋
    ΦʔϓϯΤσΟγϣϯ൛
    https://www.bitcoinbook.info
    ίϯαΠε൛ͱ߹Θͤͯ13,300෦ൃߦ

    View Slide

  3. ࣗݾ঺հ
    όοΫάϥ΢ϯυ
    ৽ׁେֶେֶӃɹૉཻࢠཧ࿦෺ཧɹത࢜(ཧ)
    ΦϑνΣʔϯΞΧσϛʔ୅ද
    ೔ຊͰ࠷ॳͷϥΠτχϯάωοτϫʔΫϋοΧιϯ(off-chain academy hackday)Λओ

    ΧΧΫίϜ
    ݕࡧΤϯδϯ։ൃɹݕࡧαʔόΫϥελߏஙӡ༻ɹେن໛σʔλॲཧɹػցֶ
    शɹը૾ೝࣝ
    σʔλλϫʔגࣜձࣾɹ୅දऔక໾

    View Slide

  4. ໨࣍
    w ঺հࢿྉͷ֓ཁ
    w ঺հࢿྉͷத਎
    جૅ
    ߈ܸख๏લ൒
    ߈ܸख๏ޙ൒"OE(Pݪ͞Μ୲౰

    ๷Ӵख๏લ൒
    ๷Ӵख๏ޙ൒"OE(Pݪ͞Μ୲౰

    View Slide

  5. ঺հࢿྉͷ֓ཁ
    w 5JUMF
    w &MFDUSPNBHOFUJDBOE.BDIJOF-FBSOJOH4JEF$IBOOFM"UUBDLTBOE-PX0WFSIFBE
    (FOFSJD$PVOUFSNFBTVSFT
    w "VUIPS
    w 4ISFZBT4FO
    w "SJKJU3BZDIPXEIVSZ
    w 1VCMJTIFE
    w
    w -JOL
    w IUUQTDIFTJBDSPSHTSDUVUPSJBMTDIFTUVUPSJBM@4FOQEG

    View Slide

  6. جૅ

    View Slide

  7. View Slide

  8. ؾ͖ͮʹ͘͘ɺࠟ੻΋࢒͞ͳ͍

    View Slide

  9. View Slide

  10. ߈ܸͷओͳछྨ
    w ిྗղੳ߈ܸ
    w ి࣓೾ղੳ߈ܸ
    w ςϯϖετ 5&.1&45
    ߈ܸ΋࿙Ӯి࣓೾Λ༻͍
    Δ͕ɺ߈ܸ໨త͕҉߸ղಡͱ΋ݶΒͳ͍
    w Իڹղੳ߈ܸ
    w λΠϛϯά߈ܸ
    w Ωϟογϡ߈ܸ
    w ނোར༻߈ܸ
    w εΩϟϯϕʔε߈ܸ
    w -4*ಛ༗
    प೾਺ɺڧ౓
    ࣌ܥྻ
    Τϥʔग़ྗ
    ςετग़ྗ

    View Slide

  11. ߈ܸͷओͳछྨ
    w ిྗղੳ߈ܸ
    w ి࣓೾ղੳ߈ܸ
    w ςϯϖετ 5&.1&45
    ߈ܸ΋࿙Ӯి࣓೾Λ༻͍
    Δ͕ɺ߈ܸ໨త͕҉߸ղಡͱ΋ݶΒͳ͍
    w Իڹղੳ߈ܸ
    w λΠϛϯά߈ܸ
    w Ωϟογϡ߈ܸ
    w ނোར༻߈ܸ
    w εΩϟϯϕʔε߈ܸ
    w -4*ಛ༗
    प೾਺ɺڧ౓
    ࣌ܥྻ
    Τϥʔग़ྗ
    ςετग़ྗ
    ిྗղੳ߈ܸ 1PXFS$POTVNQUJPO"OBMZTJT

    ి࣓೾ղੳ߈ܸ &MFDUSPNBHOFUJD"OBMZTJT

    View Slide

  12. ߈ܸͷओͳछྨ
    w ഁյ త
    ߈ܸPSඇഁյ త
    ߈ܸ
    w ϒϥοΫϘοΫεత /PO1SPpMFE
    PSػث౳߈ܸλʔ
    ήοτͷಛఆࡁΈ 1SPpMFE

    w αΠυνϟωϧ߈ܸʹ͸྆ํ͋Δ
    w 1SPpMFEͷํ͕ύϫϑϧɻςϯϓϨʔτ߈ܸͱ͔ɻ
    αΠυνϟωϧ߈ܸ

    View Slide

  13. ҉߸΁ͷݹయతͳ߈ܸख๏
    w ڞ௨伴҉߸Πϯϓοτ
    w ฏจ
    w બ୒ฏจ߈ܸ $1"
    ط஌ฏจ߈ܸ ,1"
    ؔ࿈ฏจ߈ܸ ࠩ෼ղಡ๏ ઢܗ߈ܸ๏ͳͲ
    w ൿີ伴
    w ٖࣅཚ਺ස౓෼ੳ ؔ࿈伴߈ܸ ૯౰ͨΓ߈ܸͳͲ
    w ϒϩοΫ௕
    w ΦϥΫϧύσΟϯά߈ܸͳͲ
    w ڞ௨伴҉߸Ξ΢τϓοτ
    w ҉߸จ
    w બ୒҉߸จ߈ܸ $$"
    ɺ҉߸จ୯ಠ߈ܸ $0"
    ස౓෼ੳ ࠩ෼ղಡ๏ ઢܗ߈ܸ๏ͳͲ

    View Slide

  14. ҉߸΁ͷݹయతͳ߈ܸख๏
    w ڞ௨伴҉߸Πϯϓοτ
    w ฏจ
    w બ୒ฏจ߈ܸ $1"
    ط஌ฏจ߈ܸ ,1"
    ؔ࿈ฏจ߈ܸ ࠩ෼ղಡ๏ ઢܗ߈ܸ๏ͳͲ
    w ൿີ伴
    w ٖࣅཚ਺ස౓෼ੳ ؔ࿈伴߈ܸ ૯౰ͨΓ߈ܸͳͲ
    w ϒϩοΫ௕
    w ΦϥΫϧύσΟϯά߈ܸͳͲ
    w ڞ௨伴҉߸Ξ΢τϓοτ
    w ҉߸จ
    w બ୒҉߸จ߈ܸ $$"
    ɺ҉߸จ୯ಠ߈ܸ $0"
    ස౓෼ੳ ࠩ෼ղಡ๏ ઢܗ߈ܸ๏ͳͲ
    ҉߸ཧ࿦҉߸ॲཧ࣮૷ͷ
    ௚઀తΠϯϓοτΞ΢τϓοτͷΈ

    αΠυνϟωϧ߈ܸͰ͸͜ΕʹՃ͑ͯ
    ֎෦͔Βͷ෺ཧతͳ؍ଌσʔλ΋
    ߈ܸλʔήοτ
    ͜͜೥͘Β͍

    View Slide

  15. αΠυνϟωϧ߈ܸͱ͸ʁ
    w αΠυνϟωϧͱ͸ɺਖ਼نͷೖग़ྗܦ࿏Ͱ͸ͳ͍ೖग़ྗΛ
    ҙຯ͢Δɻ
    w ҉߸Խɺ෮߸Խɺॺ໊ॲཧΛ௨ͯ͠ɺ-4*಺෦ʹ͋Δൿີ
    ৘ใΛऔΓग़͢ɻ

    View Slide

  16. αΠυνϟωϧ߈ܸͱ͸ʁ
    w ೥ʹॳΊͯ1BVM,PDIFS͕ൃදͨ͠߈ܸํ๏ɻ
    w ౰࣌͸ɺެ։伴҉߸ͷൿີ伴ϏοτύλʔϯʹԠͯ͡ॲཧ͕࣌ؒ
    มΘΔ͜ͱΛར༻ͯ͠ൿີ伴Λऔಘɻ
    w <,>1BVM$,PDIFS $SZQUBOBMZTJTPG%J⒏F)FMMNBO
    34" %44 BOE0UIFS4ZTUFNT6TJOH5JNJOH"UUBDLT
    FYUFOEFEBCTUSBDU %FDFNCFS
    w <,>1BVM,PDIFS 5JNJOH"UUBDLTPO*NQMFNFOUBUJPOT
    PG%J⒏F)FMMNBO 34" %44 BOE0UIFS4ZTUFNT
    $SZQUP QQ

    View Slide

  17. ͳͥαΠυνϟωϧ߈ܸ͕
    ͓ಘͳͷ͔ʁ
    CJU CJU
    CJU CJU
    ʜ
    CJU
    "&4CJU
    CJUYݸCJU
    CJUͰ͸ͳ͘CJUͣͭൿີ伴͕நग़Ͱ͖Δɻ
    ͜ΕΛճ΍Ε͹ൿີ伴શମͷநग़׬ྃɻ
    ୳ࡧ͢Δ΂͖ݸ਺͸ͨͬͨͷݸɻ
    ൿີ伴ͷऔΓಘΔݸ਺͸ͷ৐ఔ౓ɻ

    View Slide

  18. "&4 "&4
    w "&4 "EWBODFE&ODSZQUJPO4UBOEBSE

    w ΞϝϦΧࠃཱඪ४ٕज़ݚڀॴʢ/*45ʣओಋͰެื͞Εɺ೥ݱࡏଟ
    ͘ͷެతػؔͰ࠾༻͞Ε͍ͯΔඪ४҉߸
    w ڞ௨伴҉߸
    w ϒϩοΫ҉߸
    w ϒϩοΫ௕CJUT
    w 伴௕ CJUT
    w ࠓճɺओʹྫͰऔΓ্͛Δ҉߸

    View Slide

  19. ୳ࡧ͢Δ΂͖͸௨Γ͚ͩʂ

    View Slide

  20. ߈ܸͷϑΣʔζ
    ୈ̍ϑΣʔζ
    σʔλूΊ
    ୈ̎ϑΣʔζ
    ౷ܭॲཧ

    View Slide

  21. ඞཁͳϋʔυ΢ΣΞ
    ԁ
    ສԁ
    ສԁ

    View Slide

  22. ؖࠃͷ"5.Ͱͷ࢒ߴ૿Ճ
    ϋοΩϯά
    ೥Ͱͷ࿦จൃද༻

    View Slide

  23. ߈ܸख๏લ൒

    View Slide

  24. /PO1SPpMFE߈ܸख๏ͷ
    ओͳछྨ
    w ిྗղੳ
    w ୯७ిྗղੳ 4JNQMFQPXFSBOBMZTJT 41"

    w ࠩ෼ిྗղੳ %J⒎FSFOUJBMQPXFSBOBMZTJT %1"

    w ૬ؔిྗղੳ $PSSFMBUJPOBMQPXFSBOBMZTJT $1"

    w ి࣓೾ղੳ
    w ૬ؔి࣓೾ղੳ $PSSFMBUJPO&." $&."

    w ࠩ෼ి࣓೾ղੳ %J⒎FSFOUJBM&." %&."

    View Slide

  25. ࠶ͼ"&4
    w "&4͸ʮϥ΢ϯυʯͱݺ͹ΕΔॲ
    ཧΛ̍̌ճ܁Γฦ͢ɻ
    w ϒϩοΫ҉߸ͳͷͰɺ͜ͷϥ΢ϯυ΁
    ͷೖྗ͸ฏจΛCJUͣͭ۠෼͚ͨ͠
    ΋ͷΛ࢖͍҉߸Խ෮߸ԽॲཧΛ͍ͯ͠
    ͘ɻ
    w ൿີ伴͸伴֦େॲཧ 伴εέδϡʔϧ
    Ͱ
    ʮϥ΢ϯυ਺ݸʯʹม׵͞ΕɺͦΕ
    ͧΕͷϥ΢ϯυॲཧΛ࣮ߦ͍ͯ͘͠ɻ
    w X@ʙX@͸ͦΕͧΕCJUͣͭͰશ෦
    ͰCJUɻ

    View Slide

  26. ʢגʣ-"$ *P5෼໺ͰڴҖʹͳΓಘΔɺϋʔυ΢ΣΞ΁ͷ૬ؔిྗղੳ߈ܸΛղઆ
    IUUQTXXXMBDDPKQMBDXBUDIQFPQMF@IUNM
    ੺͍ϥΠϯͰిྗΛଌఆ͢Δ

    View Slide

  27. ͳͥαΠυνϟωϧ߈ܸ͕
    ͓ಘͳͷ͔ʁ
    CJU CJU
    CJU CJU
    ʜ
    "&4CJU
    CJUYݸCJU
    CJUͰ͸ͳ͘CJUͣͭൿີ伴͕நग़Ͱ͖Δɻ
    ͜ΕΛճ΍Ε͹ൿີ伴શମͷநग़׬ྃɻ
    ୳ࡧ͢Δ΂͖ݸ਺͸ͨͬͨͷݸɻ
    ൿີ伴ͷऔΓಘΔݸ਺͸ͷ৐ఔ౓ɻ
    CJU

    View Slide

  28. ૬ؔి࣓೾ղੳͷ΍Γํ

    View Slide

  29. ͜͜Ͱൿີ伴͕ಛఆͰ͖ͨʂ ݸऑͷαϯϓϧ਺

    ಛఆʹͲΕ͚ͩͷσʔλΛूΊͳ͍ͱ͍͚ͳ͍͔͕
    αΠυνϟωϧ߈ܸ΁ͷ଱ੑࢦඪͷ̍ͭɻ
    ͜ͷϥΠϯ͕ӈʹߦ͚͹͍͘΄Ͳ଱ੑ͕͋Δɻ

    View Slide

  30. ιϑτ΢ΣΞ҉߸Խͱϋʔυ΢ΣΞ҉߸ԽͰ
    ࢖͏ਪఆϞσϧ͸มΘΔͷ͔ʁ
    w มΘΔɻ
    w ଌఆͨ͠ిྗి࣓೾ΛਪఆϞσϧʹೖΕͯൿີ伴Λਪఆͤ͞Δ͕ɺద੾ͳਪఆϞσϧ͕ҧ͏ɻ
    w ͜ͷൃදࢿྉͷϖʔδͷਤʹ͋Δʮ.PEFMPGMFBLBHFʯͷ͜ͱɻ
    w ਪఆϞσϧͷओͳछྨ
    w ϋϛϯά΢ΣΠτج४Ϟσϧ )BNNJOH8FJHIU )8

    w ιϑτ΢ΣΞ҉߸Խ޲͖
    w ϋϛϯάڑ཭ج४Ϟσϧ )BNNJOH%JTUBODF )%

    w ϋʔυ΢ΣΞ҉߸Խ޲͖

    View Slide

  31. ๷Ӵख๏લ൒

    View Slide

  32. ๷Ӵํ๏͸جຊతʹ̏ͭʹ෼͚ΒΕΔ
    ɾϩδοΫϨϕϧ
    ɾΞʔΩςΫνϟϨϕϧ
    ɾ෺ཧϨϕϧ

    View Slide

  33. ϋʔυ΢ΣΞ ιϑτ΢ΣΞ
    )JEJOH .BTLJOH )JEJOH .BTLJOH
    ϩδοΫ
    Ϩϕϧ
    4"#- 8%%- ##- .%1-
    ΞʔΩςΫνϟ
    Ϩϕϧ
    #PPMFBO
    .BTLJOH
    ࣌ؒ࿪Έ
    ిྲྀ࿪Έ
    ࣮ߦॱϥϯμϜԽ
    #PPMFBO
    .BTLJOHGPS
    MJOFBS
    PQFSBUJPOT
    ෺ཧϨϕϧ
    /PJTF*OKFDUJPO
    "4/* "UUFOVBUFE4JHOBUVSF
    /PJTF*OKFDUJPO

    View Slide

  34. ϩδοΫϨϕϧ
    ओͳ๷ӴΞϓϩʔνํ๏
    w σϡΞϧϨʔϧϩδοΫ
    w ϝϦοτ
    w ΧελϚΠζͰ͖Δ෯͕޿͕Δ
    w ૬ิతͳ̎ͭͷճ࿏Ͱɺిྗి࣓೾ͷಛ௃ΛฏୱԽ͠߈ܸΛ͠ʹ͘͘͠΍͍͢
    w σϝϦοτ
    w ඪ४తͳϥΠϒϥϦ͕࢖͑ͳ͍ͨΊɺ৽ͨʹ։ൃ͠ͳ͍ͱ͍͚ͳ͍
    w ճ࿏Ϙʔυ͕̎ഒͷ໘ੵʹͳΔ
    w γϯάϧϨʔϧϩδοΫ
    w ϝϦοτ
    w ඪ४తͳϥΠϒϥϦ͕࢖͑Δ
    w σϝϦοτ
    w ߈ܸʹର͢Δ଱ੑ͕ऑ͍ʁ

    View Slide

  35. ϋʔυ΢ΣΞ ιϑτ΢ΣΞ
    )JEJOH .BTLJOH )JEJOH .BTLJOH
    ϩδοΫ
    Ϩϕϧ
    4"#- 8%%- ##- .%1-
    ΞʔΩςΫνϟ
    Ϩϕϧ
    #PPMFBO
    .BTLJOH
    ࣌ؒ࿪Έ
    ిྲྀ࿪Έ
    ࣮ߦॱϥϯμϜԽ
    #PPMFBO
    .BTLJOHGPS
    MJOFBS
    PQFSBUJPOT
    ෺ཧϨϕϧ
    /PJTF*OKFDUJPO
    "4/* "UUFOVBUFE4JHOBUVSF
    /PJTF*OKFDUJPO

    View Slide

  36. ࣌ؒ࿪Έ 5JNF%JTUPSUJPO

    w μϛʔΦϖϨʔγϣϯΛೖΕΔ
    w 3BOEPN*OTFSUJPOPG%VNNZ0QFSBUJPOT
    w ͔͠͠ɺϋΠϨϕϧϓϩςΫγϣϯ͸Ͱ͖ͳ͍ɻͳͥ
    ͳΒ࣮ߦ͕࣌ؒ৳ͼͪΌ͏͔Βɻ
    w 4CPYͷॲཧͷॱ൪ΛϥϯμϜʹ͢Δ
    w 4IV⒐JOHPG0QFSBUJPOT

    View Slide

  37. ʢגʣ-"$ *P5෼໺ͰڴҖʹͳΓಘΔɺϋʔυ΢ΣΞ΁ͷ૬ؔిྗղੳ߈ܸΛղઆ
    IUUQTXXXMBDDPKQMBDXBUDIQFPQMF@IUNM
    4CPY 4VC#ZUFT

    View Slide

  38. View Slide

  39. ϋʔυ΢ΣΞ ιϑτ΢ΣΞ
    )JEJOH .BTLJOH )JEJOH .BTLJOH
    ϩδοΫ
    Ϩϕϧ
    4"#- 8%%- ##- .%1-
    ΞʔΩςΫνϟ
    Ϩϕϧ
    #PPMFBO
    .BTLJOH
    ࣌ؒ࿪Έ
    ిྲྀ࿪Έ
    ࣮ߦॱϥϯμϜԽ
    #PPMFBO
    .BTLJOHGPS
    MJOFBS
    PQFSBUJPOT
    ෺ཧϨϕϧ
    /PJTF*OKFDUJPO
    "4/* "UUFOVBUFE4JHOBUVSF
    /PJTF*OKFDUJPO

    View Slide

  40. View Slide

  41. ϊΠζ෦෼ΛؚΊΕ͹ి࣓೾͸֧ཚ͞ΕΔ͕ɺ
    Ͱ͖Δ͚ͩখ͍͞ϊΠζͰ֧ཚ͍ͨ͠

    View Slide

  42. े෼ͳαΠυνϟωϧ߈ܸ଱ੑΛ෇͚ΔͨΊʹɺ
    ୯७ͳϊΠζํ๏ͩͱN8ͷిྗ͕ඞཁɻ
    "4/*ͩͱN8͚ͩɻ

    View Slide

  43. pO

    View Slide