$30 off During Our Annual Pro Sale. View Details »

ブロックチェーン時代の認証 / Authentication in the Blockchain Era

Ryo Manzoku
August 30, 2019

ブロックチェーン時代の認証 / Authentication in the Blockchain Era

Ryo Manzoku

August 30, 2019
Tweet

More Decks by Ryo Manzoku

Other Decks in Technology

Transcript

  1. ϒϩοΫνΣʔϯ࣌୅ͷೝূ
    2019-08-30 builderscon

    @rmanzoku

    View Slide

  2. ࣗݾ঺հ
    • ຬ଍ ྄ ʢManzoku Ryoʣ
    • double jump.tokyoגࣜձࣾ

    ϦʔυΤϯδχΞ
    • ϒϩοΫνΣʔϯήʔϜઐۀ։ൃձࣾ
    • ΠϯϑϥɺϒϩοΫνΣʔϯɺ

    όοΫΤϯυ
    • GolangɺPythonɺSolidity


    View Slide

  3. ͋Β͢͡
    • ϒϩοΫνΣʔϯͱWebೝূ͸ɺެ։伴ೝূͱ͍͏ڞ௨఺
    Λ࣋ͪɺ૬৐ޮՌʹΑΓޓ͍ͷ՝୊ΛղܾͰ͖ΔՄೳੑ͕
    ߴ͍
    • ϒϩοΫνΣʔϯͱWebೝূ͕ҰาઌʹਐΜͩੈքͰԿ͕
    ى͖Δ͔ϙΤϜΛ࿩͍ͨ͠
    • ϒϩοΫνΣʔϯΛޠΔͨΊʹલఏͱͳΔϒϩοΫνΣʔ
    ϯ஌ࣝΛްΊʹͯ͋͠ΔͷͰɺϒϩοΫνΣʔϯΘ͔ͬͨ
    ؾʹͳΕΔ͸ͣ


    View Slide

  4. ϒϩοΫνΣʔϯΛऔΓר͘ݱঢ়

    View Slide

  5. ݬ໓ظʹಥೖͨ͠ϒϩοΫνΣʔϯ

    View Slide

  6. ϒϩοΫνΣʔϯͷ͍·
    • 2018೥ΨʔτφʔࣾͷϋΠϓɾαΠΫϧͰݬ໓ظ
    • ݬ໓ظʢݬ໓ͷ͘΅஍ɺTrough of Disillusionmentʣ
    • ٕज़͸ա౓ͳظ଴ʹԠ͑ΒΕͣٸ଎ʹؔ৺͕ࣦΘΕɺ
    ʮݬ໓ͷ͘΅஍ʯʹೖΔɻͦͯ͠ϝσΟΞ͸ͦͷ࿩୊΍
    ٕज़ΛऔΓ্͛ͳ͘ͳΔɻ
    • ଟ͘͸ݚڀ։ൃஈ֊
    • ࣾձ࣮૷ɺͱ͍͏ݴΘΕΔ΋ͷ͸਺গͳ͍ɻ
    • 1ͭͷ෼໺ͱͯ͠ϒϩοΫνΣʔϯήʔϜ͕͋Δ


    View Slide

  7. ϒϩοΫνΣʔϯήʔϜͱ͸ʁ
    • ϒϩοΫνΣʔϯٕज़Λ࢖ͬͨήʔϜ
    • ϒϩοΫνΣʔϯ্ʹΞΠςϜ΍ΩϟϥΫλʔΛॴ༗৘ใ
    Λه࿥͢Δ
    • σδλϧΞηοτͱͳͬͨΞΠςϜ΍ΩϟϥΫλʔ͸ӡӦ
    ͔Βͷି༩Ͱ͸ͳ͘Ϣʔβʔͷॴ༗ͱͳΔ
    • ϢʔβʔؒͰ΍ΓͱΓ͕ߦΘΕɺΞΠςϜ͸ӡӦ͚ͩͷ΋
    ͷͰ͸ͳ͘ɺϢʔβʔͱͷڞ༗ͷࢿ࢈ͱͳΔ


    View Slide

  8. ௨՟ͱσδλϧΞηοτ
    • ྔΛѻ͏௨՟ͱ࣭Λѻ͏σδλϧΞηοτ
    • ʮԾ૝௨՟ʯͱ࣋ͯᅥ͞Εͨ΋ͷͰ͸ͳ͘ɺ1ͭ1͕ͭ୅
    ସෆՄೳͳՁ஋ͱͯ͠ೝࣝ͞Ε͍ͯΔ΋ͷ
    • ୅ସՄೳͳ௨՟ʹ͓͍ͯ1ສԁ͸1ສԁͷՁ஋ɺ1000ԁࡳ
    Λ10ຕूΊΕ͹1ສԁͱಉ͡Ձ஋
    • ୅ସෆՄೳͳՁ஋ʹ͓͍ͯɺʮೣ͸ೣͰ΋ɺ͏ͪͷϛέ
    ͱ͓ྡͷλϚ͸ҧ͏ʯ


    View Slide

  9. σδλϧΞηοτͷՁ஋
    • ϒϩοΫνΣʔϯʹΑΓσδλϧΞηοτͷʮॴ༗৘ใʯ
    ͱʮৡ౉ʯΛѻ͏͜ͱ͕Ͱ͖Δ
    • σδλϧΞηοτΛݸਓ͕ʮॴ༗ʯՄೳ
    • σδλϧΞηοτΛॴ༗ऀ͕ʮৡ౉ʯՄೳ
    • ʮॴ༗ʯ͔Βʮෳ਺αʔϏεؒͰͷ൚༻ੑʯ
    • ʮৡ౉ʯ͔Βʮೋ࣍ྲྀ௨ࢢ৔ʯ
    • σδλϧΞηοτ͸ݱ࣮ੈքʹ͓͚ΔʮϞϊʯʹ͍ۙ֓
    ೦Λσδλϧ্ʹ࠶ݱ͍ͯ͠Δ


    View Slide

  10. 1ͭͷΞηοτΛ2ͭͷήʔϜͰڞ༗͢Δ

    View Slide

  11. ೋ࣌ྲྀ௨ࢢ৔Ͱ΍ΓऔΓ͞ΕΔήʔϜΩϟϥΫλʔ

    View Slide

  12. https://mch.gg/start

    View Slide

  13. MyCryptoHeroesʢϚΠΫϦʣͱ͸
    • ήʔϜʹ͔͚ͨ࣌ؒ΋͓ۚ΋৘೤΋ɺ͋ͳͨͷࢿ࢈ͱͳ
    Δੈք
    • ϒϩοΫνΣʔϯEthereumΛར༻
    • Ethereum্ͰͷDailyActiveUserɾNFTऔҾྔ/औҾ਺Ͱ
    ੈք1Ґ
    • ΩϟϥΫλʔɺ෢ث૷උ඼ɺ౔஍͕σδλϧΞηοτ


    View Slide

  14. ϒϩοΫνΣʔϯήʔϜ
    • 2017.11 CryptoKitties ϦϦʔε
    • 2017.12 Etheremon ϦϦʔε
    • 2018.06 ͘Γ΀ಲ ϦϦʔεʢ೔ຊൃʣ
    • 2018.11 MyCryptoHeroes ϦϦʔεʢ೔ຊൃʣ
    • 2019.06 CryptoSpells ϦϦʔε ʢ೔ຊൃʣ
    • 2019.?? ????


    View Slide

  15. ͳͥήʔϜʹϒϩοΫνΣʔϯΛ࢖͏ͷʁ
    ήʔϜ
    ×
    ίϯϐϡʔλ ϏσΦήʔϜ
    1980೥୅
    Πϯλʔωοτ ΦϯϥΠϯήʔϜ
    2000೥୅
    ίϛϡχςΟ ιʔγϟϧήʔϜ
    2010೥୅
    Τίϊϛʔʢܦࡁੑʣ
    ϒϩοΫνΣʔϯήʔϜ
    2020೥୅
    ×
    ×
    ×

    View Slide

  16. ϒϩοΫνΣʔϯ/Ethereumͱ͸

    View Slide

  17. ϒϩοΫνΣʔϯͱ͸
    • ϒϩοΫνΣʔϯͱ͸෼ࢄܕ୆ாΛ࣮ݱ͢Δٕज़
    • ʮલϒϩοΫ৘ใʯͱʮ࣮ߦ͢ΔτϥϯβΫγϣϯ৘ใʯ
    ͱ͋Δ৚݅Λຬͨ͢೚ҙͷ஋NonceΛ෇͚ϒϩοΫΛੜ੒
    • Nonceͷ஋Λݟ͚ͭɺϒϩοΫΛ࡞੒͢Δ͜ͱΛMinning
    ͱ͍͍ɺMinningΛߦ͏ࣄۀऀ/ݸਓΛMinerɺMinningΛߦ
    ͏ܭࢉػ/ϓϩάϥϜΛNodeͱݺͿ


    View Slide

  18. ϒϩοΫνΣʔϯͱ͸

    View Slide

  19. ༷ʑͳʮϒϩοΫνΣʔϯʯ
    • ʮϒϩοΫνΣʔϯʯͱ͍͏ݴ༿͸จ຺ʹΑ͔ͬͯΘΔ
    • ٕज़ͷ࿩
    • ҉߸௨՟ͷ࿩
    • ϒϩοΫνΣʔϯωοτϫʔΫͷ࿩
    • ϒϩοΫνΣʔϯωοτϫʔΫʹ΋छྨ͕͋Δ
    • ύϒϦοΫνΣʔϯ
    • ίϯιʔγΞϜνΣʔϯ
    • ϓϥΠϕʔτνΣʔϯ


    View Slide

  20. ύϒϦοΫνΣʔϯ
    • toCྖҬͰओʹ΋ͯ͸΍͞ΕΔͷ͸ʮύϒϦοΫνΣʔ
    ϯʯ
    • ୭Ͱ΋ϊʔυΛ࣋ͬͯϚΠχϯάͰ͖Δ͠ɺ୭Ͱ΋τϥϯ
    βΫγϣϯΛൃߦͰ͖Δ
    • ຊൃදͰɺϒϩοΫνΣʔϯͱݴͬͨ৔߹͸ύϒϦοΫ
    νΣʔϯΛࢦ͠·͢


    View Slide

  21. ༗໊ͳϒϩοΫνΣʔϯ
    • Bitcoin Ұ൪༗໊ͳ΍ͭɻSatoshi Nakamoto͕ൃදͨ͠࿦
    จΛݩʹ࣮૷ͨ͠ϒϩοΫνΣʔϯωοτϫʔΫɻϋο
    γϡؔ਺Ͱ਺चͭͳ͗ʹͨ͠ϒϩοΫͷ֓೦ʹΠϯηϯ
    ςΟϒΛಋೖͯ͠੒Γཱͨͤͨ


    View Slide

  22. ༗໊ͳϒϩοΫνΣʔϯ
    • Ethereum Α͘࢖ΘΕΔ΍ͭɻVitalik ButerinΛத৺ʹߟ
    Ҋɺ։ൃ͞ΕͨϒϩοΫνΣʔϯωοτϫʔΫɻBitcoin
    Ͱൃ໌͞Εͨ෼ࢄ୆ாͱΠϯηϯςΟϒʹՃ͑ɺ
    SmartContractͱ͍͏ΞϓϦέʔγϣϯΛϒϩοΫνΣʔ
    ϯ্Ͱ࣮ߦͰ͖ΔΑ͏ʹͨ͠


    View Slide

  23. Ethereum
    • ϒϩοΫνΣʔϯΛ࢖ͬͨ෼ࢄΞϓϦέʔγϣϯϓϥο
    τϑΥʔϜ
    • EVMͰ࣮ߦ͞ΕΔSmartContractΛSolidityݴޠͰهड़
    • ݡ͍ܖ໿
    • EIP/ERCͱ͍͏ίϛϡχςΟओಋͷඪ४ن֨
    • ެ։҉߸伴ʹΑΔΞΧ΢ϯτػೳͱڧྗͳܾࡁج൫
    • τϥϯβΫγϣϯΛൃߦ͢Δʹ͸ख਺ྉΛࢧ෷͏ඞཁ͕
    ͋Δ
    • Miner͸τϥϯβΫγϣϯख਺ྉͱϚΠχϯάใुΛಘΔ


    View Slide

  24. ϒϩοΫνΣʔϯ͸վ͟ΜෆՄೳ
    • ϊʔυӡӦऀ͸ࣗ෼ͷརӹͷͨΊϒϩοΫΛੜ੒͢Δ
    • ϒϩοΫੜ੒ͷΠϯηϯςΟϒઃܭ
    • ୭͔ͷҙࢥͰɺվ͟Μ͸ෆՄೳ
    • ͳ͔ͬͨ͜ͱʹͰ͖ͳ͍
    • ͋Δਓ͕ൃߦͨ͠τϥϯβΫγϣϯ΋ిࢠॺ໊ʹΑͬͯͳ
    Γ͢·͠Ͱ͖ͳ͍
    • 10ETHૹͬͨͷʹɺ1ETH͔͠ͳ͍ʂΈ͍ͨͳ͜ͱ͸ى
    ͜Γಘͳ͍


    View Slide

  25. ϒϩοΫνΣʔϯ͸ ʰϦΞϧʱ
    • ϒϩοΫνΣʔϯͰ͸աڈͷ৘ใͷվ͟Μ͸ࠔ೉ͰෆՄٯ
    • ݱ࣮ੈքʹ͓͚Δ࣌ؒͷྲྀΕͱಉ͡
    • ϒϩοΫνΣʔϯͰॴ༗৘ใ͕͋Δ͜ͱͰॴ༗͍ͯ͠Δ
    σδλϧΞηοτΛࣗ༝ʹѻ͑Δ
    • ݱ࣮ੈքʹ͓͚ΔϞϊͷॴ༗ͱಉ͡
    • αʔϏεఏڙऀʹΑΔ؅ཧ͕ࠔ೉ʹͳΔ
    • ϒϩοΫνΣʔϯʹΑͬͯΠϯλʔωοτ͕ෆࣗ༝ʹͳΔ
    ͜ͱͰݱ࣮ੈքʹ͍ۙͮͨ
    • ͭ·ΓϦΞϧ


    View Slide

  26. ެ։伴҉߸ͱిࢠॺ໊

    View Slide

  27. ϒϩοΫνΣʔϯʹ͓͚Δެ։伴҉߸ٕज़
    • ൿີʹ͢Δ΂͖伴ʢൿີ伴ʣͱͦΕʹରԠ͢Δެ։͢Δ
    ΂͖伴ʢެ։伴ʣͷϖΞΛ࣋ͭ
    • ͋Δϝοηʔδͷϋογϡରͯ͠ൿີ伴Λ࢖ͬͯిࢠॺ໊
    Λ࡞੒͢Δ
    • ࡞੒͞Εͨిࢠॺ໊ͱϝοηʔδΛ࢖ͬͯެ։伴ΛಘΔ
    ͜ͱ͕Ͱ͖Δ
    • ެ։͞Ε͍ͯΔ伴ͱಘͨ伴͕Ұக͍ͯ͠Ε͹ɺॺ໊ͨ͠伴
    ͷݕূ͕Ͱ͖Δ
    • ͍ΘΏΔ҉߸Ͱ͸ͳ͘ɺిࢠॺ໊ͷ͸ͳ͠


    View Slide

  28. ϒϩοΫνΣʔϯʹ͓͚Δެ։伴҉߸ٕज़
    • جຊతʹɺପԁۂઢ҉߸ʢElliptic Curve
    Cryptography:ECCʣΛ࢖ͬͨପԁۂઢDSAʢElliptic
    Curve Digital Signature Algorithm: ECDSAʣ͕༻͍ΒΕΔ
    • ۂઢ͸ɺsecp256k1͕༻͍ΒΕΔ͜ͱ͕ଟ͍
    • Bitcoin͕࠾༻ɺEthereum΋௥ै
    • NISTʹ࠾༻͞Ε͓ͯΒͣɺSECGʹ࠾༻͞Ε͍ͯΔύϥ
    ϝʔλ
    • ҉߸/෮߸ʢRSAʣͰ͸ͳ͘ిࢠॺ໊


    View Slide

  29. https://ja.wikipedia.org/wiki/%E9%9B%BB%E5%AD%90%E7%BD%B2%E5%90%8D

    View Slide

  30. ΞυϨεͱτϥϯβΫγϣϯ
    • ൿີ伴ʹରԠ͢Δެ։伴ʹϋογϡؔ਺Λ͔͚ͨ΋ͷΛ
    ΞυϨεͱݺͿɻ
    • ϒϩοΫνΣʔϯ্Ͱ͸ɺΞΧ΢ϯτ = ΞυϨε
    • ϒϩοΫνΣʔϯ্΁ൃߦ͢Δॲཧͷ୯ҐΛτϥϯβΫ
    γϣϯͱݺͿ
    • ॲཧ಺༰ʹൿີ伴Ͱిࢠॺ໊͢Δ͜ͱͰɺ͋Δτϥϯβ
    Ϋγϣϯ͕ͲͷΞυϨε͔Βൃߦ͞Εͨ΋ͷ͔Λ୭Ͱ΋
    ݕূͰ͖Δ


    View Slide

  31. ୭͕Ͳ͏͍͏τϥϯβΫγϣϯΛൃߦ͔ͨ͠Θ͔Δ
    https://etherscan.io/

    View Slide

  32. ඇதԝूݖͳWebɺWeb3

    View Slide

  33. தԝूݖͳWeb͔Βͷ୤٫
    • Web 2.0 ͷΠϯλʔωοτͰ͸ɺதԝूݖͳαʔϏεΛ
    ௨ͯ͡ݸͱݸ͕΍ΓͱΓͰ͖ΔΑ͏ʹͳͬͨ
    • ϒϩά΍ಈըɺςΩετνϟοτ΍Ի੠
    • ௨՟ͷ΍ΓͱΓ΋αʔϏε͕΍ͬͯ͘ΕΔ
    • XXX Pay
    • ҰํͰɺϓϥΠόγʔ΍σʔλ͸αʔϏεఏڙऀʹΑΓ
    ؅ཧ͞Ε͍ͯΔ
    • ϒϩοΫνΣʔϯ/Ethereumͷొ৔ͰΞϓϦέʔγϣϯ
    ͸ඇதԝूݖతʹ࣮ߦͰ͖ΔΑ͏ʹͳͬͨ


    View Slide

  34. Web3
    • ϒϩοΫνΣʔϯΛ࢖ͬͨΞϓϦέʔγϣϯϓϥοτ
    ϑΥʔϜͷొ৔ʹΑΓɺ௨՟ͷ΍ΓͱΓ΍ΞϓϦέʔ
    γϣϯ͕ඇதԝूݖతʹ؅ཧ͞ΕΔΑ͏ʹͳͬͨ
    • ϒϩοΫνΣʔϯΛ࢖͏͜ͱͰ؅ཧऀෆࡏͰݸͱݸͷ΍
    ΓͱΓ͕ՄೳʹͳΔ
    • ৽͍͠Webͱ͍͏ҙຯͰWeb3ͱ

    ݺͼɺEthreumΛѻ͏ϥΠϒϥϦ͸

    Web3ͱ໊෇͚ΒΕ͍ͯΔ


    View Slide

  35. Ethereum Wallet
    • Ethereumʹ͓͚Δ伴؅ཧͷ୯Ґɻ
    • ൿີ伴͚ͩͰ͸Կʹ΋࢖͑ͳ͍ͷͰҎԼͷػೳ͕ηοτ
    • ϊʔυ΁ͷ઀ଓ৘ใ
    • τϥϯβΫγϣϯͷੜ੒
    • τϥϯβΫγϣϯ΁ͷॺ໊
    • ͦͷଞɺαʔϏε͔Βൿີ伴ΛӅṭͨ͠··ΞΫηε
    Ͱ͖ΔAPI
    • ෼ࢄͳWebΛ໨ࢦ͢ͷͰɺ͜ΕΒΛWebϒϥ΢βͰར༻
    Ͱ͖Δඞཁ͕͋Δ


    View Slide

  36. ϒϥ΢β΁ͷΠϯδΣΫγϣϯ
    • WalletΛ౥ࡌͨ͠ϒϥ΢βͰ͸ɺwindow.ethreum΋͘͠͸
    window.web3ͱ͍͏ΦϒδΣΫτ͕ΠϯδΣΫτ͞ΕΔ
    • Metamaskͱ͍͏ϒϥ΢β֦ு͕༗໊
    • αϜεϯ΍HTCͳͲ͕εϚʔτϑΥϯϓϦΠϯͳWallet
    Λఏڙ͍ͯ͠Δ
    • Opera͕CryptoWalletʹରԠ
    • αʔϏεఏڙऀ͸ΠϯδΣΫτ͞ΕͨWeb3Λར༻͢Δ͜
    ͱͰɺSmartContract΁ͷΞΫηεΛ࣮ݱͰ͖Δ


    View Slide

  37. window.web3

    View Slide

  38. ඇதԝूݖతͱ͍͏΋ͷͷ
    • શͯΛϒϩοΫνΣʔϯ্Ͱॲཧ͢Δͷ͸೉͍͠
    • εέʔϥϏϦςΟ໰୊
    • ࣮ߦίετ͸ར༻ऀ͕ෛ୲
    • ݱ࣮తʹ͸ɺΦϑνΣʔϯͱซ༻͢Δඞཁ͕͋Δ
    • Ͳ͜·ͰΦϑνΣʔϯΛ࢖͏͔͸޷Έ
    • ྫ͑͹ɺήʔϜʹ͓͍ͯ؅ཧऀෆࡏͰָ͍͔͠Ͳ͏͔
    • ΦϑνΣʔϯΛར༻͢Δ৔߹͸ɺͳΜΒ͔ͷํ๏ͰΦϯ
    νΣʔϯͷΞΧ΢ϯτΛඥ෇͚Δํ๏͕ඞཁ
    • ͭ·ΓΦϑνΣʔϯͰͷೝূػೳ


    View Slide

  39. WebೝূΛऔΓר͘ݱঢ়

    View Slide

  40. ύεϫʔυೝূ
    • ਪଌෆՄೳͳจࣈྻʹ͢Δඞཁ͕͋Δ
    • αʔϏεؒͰಉ͡΋ͷΛ࢖͏΂͖Ͱ͸ͳ͍
    • ྲྀग़͢Δ
    • ଟཁૉೝূͷಋೖ
    • ଟཁૉೝূΛ࢖্ͬͨͰϦΧόϦʔͷ֬อ
    • ݁ՌɺهԱ͚ͩͰྑ͍͓खܰͳೝূͳͷʹϢʔβʔ΁ͷ
    ෛ୲͕େ͖͍


    View Slide

  41. ೝূʹར༻͞ΕΔཁૉ
    • ஌ࣝ: ύεϫʔυ΍ൿີͷ࣭໰ͳͲຊਓ͔͠஌Βͳ͍΋ͷ
    • ॴ༗: ηΩϡϦςΟΩʔɺSMSͳͲຊਓ͔͍࣋ͬͯ͠ͳ͍
    σόΠε
    • ੜମ: ࢦ໲ɺ੩຺ɺ೒࠼ɺإͳͲຊਓͷੜମ৘ใ


    View Slide

  42. FIDO2/Web Authn
    • ύεϫʔυೝূ͔Βͷ୤٫Λ໨ࢦͯ͠FIDO Aliance͕
    FIDO2ϓϩδΣΫτΛਐΊ͍ͯΔ
    • ϒϥ΢βͰͷFIDOೝূΛ࣮ݱ͢ΔͨΊͷWeb Authn


    https://nulab.com/ja/blog/nulab/webauthn_demo/
    https://techblog.yahoo.co.jp/advent-calendar-2018/webauthn/

    View Slide

  43. FIDOೝূͷྲྀΕ


    https://www.slideshare.net/FIDOAlliance/fido2-154731613

    View Slide

  44. ID؅ཧ͔Βͷ෼ྨ
    • Centralized IdentityɿதԝूݖܕID
    • User-Centric IdentityɿϢʔβʔத৺ID
    • Self-Sovereign IdentityɿࣗݾओݖܕID
    • ͜ͷลͷ෼໺ɺൃݴऀʹΑͬͯ݁ߏϒϨ͕͋Δ


    ࢀߟ https://www.dappsway.com/entry/history-of-digital-id

    View Slide

  45. Centralized IdentityɿதԝूݖܕID
    • Centralized IdentityɿதԝूݖܕID
    • ΄ͱΜͲͷαʔϏε͸ͪ͜Β
    • ؅ཧऀʹɺೝࣝ৘ใʢϝʔϧΞυϨεͳͲʣ

    ͱύεϫʔυΛొ࿥͢Δ͜ͱͰར༻ՄೳʹͳΔ
    • ࣮૷͸؆୯
    • αʔϏε΁ͷϩοΫΠϯ
    • αʔϏεຖʹIDͱPWͷ؅ཧ͕ඞཁ


    View Slide

  46. User-Centric IdentityɿϢʔβʔத৺ID
    • ෳ਺ͷαʔϏεͰόϥόϥʹొ࿥͘Β͍ͳΒڧྗͳ̍ͭ
    Λ࢖͍ճ͢΄͏͕ศར
    • ιʔγϟϧϩάΠϯͱ͔SSOͱ͔OAuthͱ͔
    • ڧྗͳID Provider΁ͷू໿
    • Google / Facebook / Amazon / Apple
    • ͜͜Ͱڊਓͷݞʹ৐Β͟Δෛ͑ͳ͍


    View Slide

  47. ϒϩοΫνΣʔϯͱWebೝূ

    View Slide

  48. ϒϩοΫνΣʔϯͱWebೝূ
    • ͲͪΒ΋ެ։҉߸伴ٕज़͕ॏཁͳҐஔΛ͠Ί͍ͯΔ
    • ͲͪΒ΋ΞΧ΢ϯτ/ਓΛೝࣝ͢Δखஈʹɺൿີ伴ʹΑΔ
    ॺ໊ͱެ։伴ʹΑΔݕূΛར༻͍ͯ͠Δ
    • Webೝূ͸ɺ͍͔ʹͯ͠ൿີ伴Λ΋ͨͤΔ͔͕՝୊
    • ϒϩοΫνΣʔϯ͸ɺൿີ伴Λ࣋ͭඞཁ͕͋Γɺࣾձʹ
    ͓͚Δ࢖͍ΈͪΛ໛ࡧ͍ͯ͠Δஈ֊
    • ϒϩοΫνΣʔϯɺWebೝূͷ૬৐ޮՌʹΑΓٸܹʹྲྀ
    ߦ͢ΔՄೳੑ


    View Slide

  49. Self Sovereign IDentity ʢSSIDʣ
    • SSID͸ɺಛఆͷ؅ཧओମʹґଘͤͣɺϢʔβʔ͸ࣗ਎ͷ
    ΞΠσϯςΟςΟΛࣗΒͰ࡞Γग़͢͜ͱΛ໨తͱ͍ͯ͠Δ
    • ࣗ਎ͷΞΠσϯςΟςΟͷ؅ཧ͸ࣗ෼ࣗ਎Ͱ͢Δ
    • ଞਓʢ؅ཧऀʣʹ޷͖ʹ࢖ΘΕ͍͍ͯ΋ͷͰ͸ͳ͍
    • ࣗ਎ͷ伴Λ࢖ͬͯॺ໊͠ɺެ։伴ʢΞυϨεʣʹΑͬͯݕ
    ূՄೳͳϒϩοΫνΣʔϯͰ͸ʁ
    • ࢀߟ https://www.jnsa.org/seminar/2018/0126/data/2-3.pdf


    View Slide

  50. Distributed IDentityʢDIDʣ
    • ࣗݾओݖͳΞΠσϯςΟςΟ͸Ͳ͏อଘ͞ΕΔ΂͖͔
    • ϒϩοΫνΣʔϯ͸෼ࢄ؅ཧ͞ΕͨγεςϜͰ૬ੑ͕ྑ͍
    • ϒϩοΫνΣʔϯͷ༗ྗͳϢʔεέʔεͷ1ͭͱͯ͠ظ଴
    ͞Ε͍ͯΔ


    View Slide

  51. ϒϩοΫνΣʔϯαʔϏεʹ͓͚Δ

    ύεϫʔυϨεͳϢʔβʔೝূͷ࣮ݱ

    View Slide

  52. Λ࢝ΊΑ͏ʂ
    https://mch.gg/start
    ট଴ίʔυ͸
    ʮTHA4ʯ

    Λೖྗʂ

    View Slide

  53. View Slide

  54. Ͷɺ؆୯Ͱ͠ΐʁ

    View Slide

  55. ೝূϑϩʔ

    View Slide

  56. ϑϩʔղઆ
    • νϟϨϯδϨεϙϯεೝূ+ిࢠॺ໊Λར༻
    • ಉ͡ϝοηʔδ͔Β͸ಉ͡ॺ໊͕ಘΒΕΔʢRFC 6979ʣ
    ͷͰɺϦϓϨΠΞλοΫΛ๷͙ͨΊʹɺຖճҧ͏νϟϨϯ
    δΛར༻͢Δ
    • ॺ໊ͱETHΞυϨεΛαʔό΁ૹ৴
    • ॺ໊ͱϝοηʔδʢνϟϨϯδʣΑΓެ։伴͕ٻ·Δ
    • ެ։伴͔ΒETHΞυϨε͕ٻ·ΔͷͰݕূՄೳ
    • ΄΅FIDOೝূͷྲྀΕͱಉ͡


    View Slide

  57. Ethereumʹ͓͚Δ೚ҙϝοηʔδͷॺ໊
    • EIP-191 Signed Data Standard
    • EIPʹͯنఆ͞Εͨϝοηʔδॺ໊ͷඪ४࢓༷
    • WalletΛܦ༝ͯ͠ɺ೚ҙͷϝοηʔδʹॺ໊͕Ͱ͖Δ
    • web3.jsͩͱweb3.eth.personal.sign(msg, address, pw)Ͱॺ
    ໊͕Ͱ͖Δ
    • ॺ໊ͱϝοηʔδ͔ΒΞυϨε͕ࢉग़Ͱ͖ΔͷͰαʔόʔ
    ͰݕূՄೳ


    View Slide

  58. ࣮ࡍʹ࢖ͬͯΈͯྑ͍ೝূͳͷ͔ʁ
    • ͍ΘΏΔʮॴ༗ʯ৘ใ͚ͩͰೝূ͍ͯ͠Δ
    • εϚʔτϑΥϯ΍PCͷೝূʹ͋Θͤͯੜମೝূ΍PWΛඞ
    ཁͱ͢Δ
    • FIDOͷࢥ૝ʹ΋͍ۙ͸ͣ
    • εϚϗ΍PC౪·ΕΔͱ౪·ΕΔ
    • ͦ͏͍ΘΕ·ͯ͠΋ɺɺ
    • 伴ʹΞΫηε͢Δํ๏͸ࣗ෼ͰकΔੈք؍
    • ՝୊ײʹ͍ͭͯ͸ޙड़


    View Slide

  59. ରԠঢ়گͳͲ
    • ΋ͪΖΜɺࣄલ४උ͕ඞཁ
    • Ethereum Wallet͕ඞཁ
    • Chrome΍SafariͰ͙͢ʹར༻Ͱ͖ΔΘ͚Ͱ͸ͳ͍
    • ݁ہΞϓϦͳΓ֦ுػೳΛೖΕ͍ͯΔ͔ΒωΠςΟϒΞ
    ϓϦͱมΘΒͳ͍ͷͰ͸ʁ
    • ॏཁͳͷ͸ɺࣗ෼Ͱ伴Λ؅ཧͰ͖͍ͯΔ͜ͱ


    View Slide

  60. ͦ͏͍͏ͷ͸୭͔͕ղܾ͠
    ͯ͘ΕΔʂ

    View Slide

  61. ϒϩοΫνΣʔϯ͕ීٴͨ͠ੈͷத

    ୭Ͱ΋ిࢠॺ໊͕Ͱ͖Δੈք

    View Slide

  62. σδλϧΞΠσϯςΟςΟ

    View Slide

  63. ͦ΋ͦ΋ΞΧ΢ϯτͷ৴པͱ͸
    • KYC͢Δ͜ͱͰΞΧ΢ϯτͱݱ࣮Λ݁ͼ͚ͭΔ
    • ҰਓҰͭͷൿີ伴ΛKYC͢Δ
    • ϚΠφϯόʔΧʔυ
    • ݖརΛߪೖ͢Δ
    • ձһݖ
    • ͋Δఔ౓ͷ͓ۚΛ୲อʹ͢Δ
    • ΞΧ΢ϯτʹඥ෇͍ͨߦಈཤྺʹΑͬͯ৴པ͞ΕΔ΂͖
    • ϒϩοΫνΣʔϯʹه࿥͞Ε͍ͯΔ
    • αʔϏεͷαʔό͕ه࿥͍ͯ͠Δ
    • SSIDͷߟ͑͸͜͜


    View Slide

  64. ΞΧ΢ϯτͷ৴པ
    • KYC͢Δ͜ͱͰΞΧ΢ϯτͱݱ࣮Λ݁ͼ͚ͭΔ
    • ҰਓҰͭͷൿີ伴ΛKYC͢Δ
    • ϚΠφϯόʔΧʔυ
    • ݖརΛߪೖ͢Δ
    • ձһݖ
    • ͋Δఔ౓ͷ͓ۚΛ୲อʹ͢Δ
    • ΞΧ΢ϯτʹඥ෇͍ͨߦಈཤྺʹΑͬͯ৴པ͞ΕΔ΂͖
    • ϒϩοΫνΣʔϯʹه࿥͞Ε͍ͯΔ
    • αʔϏεͷαʔό͕ه࿥͍ͯ͠Δ
    • SSIDͷߟ͑͸͜͜


    View Slide

  65. KYCͱσδλϧΞΠσϯςΟςΟ
    • KYCʢKnow Your Customerʣ ਎ݩ֬ೝ
    • ΠϯελͱϦΞϧͷࣗ෼͸ಉ͔͡ʁ
    • ͦ΋ͦ΋ਓ͕ؒ࣋ͭΞΠσϯςΟςΟ͸1ͭͰ͋Δඞཁ͸ͳ
    ͍ͷͰ͸ʁ
    • KYCͱσδλϧͷΞΠσϯςΟςΟ͸͋·Γ૬ੑΑ͘ͳ͍ʁ
    • ΋ͪΖΜ޲͖ෆ޲͖
    • KYCͰ΄͍͠ͷ͸ʮ1ਓ1ͭʯͰ͋ͬͯɺʮݸਓ৘ใʯͰ͋Δ
    ඞཁ͸ͳ͍৔߹΋͋Δ
    • ͱ͸͍͑KYC͕੒Γཱͭͷ͸ࠃʹकΒΕ͍ͯΔ͔ΒͰ͢ΑͶ


    View Slide

  66. ΞΧ΢ϯτͷ৴པ
    • KYC͢Δ͜ͱͰΞΧ΢ϯτͱݱ࣮Λ݁ͼ͚ͭΔ
    • ҰਓҰͭͷൿີ伴ΛKYC͢Δ
    • ϚΠφϯόʔΧʔυ
    • ݖརΛߪೖ͢Δ
    • ձһݖ
    • ͋Δఔ౓ͷ͓ۚΛ୲อʹ͢Δ
    • ΞΧ΢ϯτʹඥ෇͍ͨߦಈཤྺʹΑͬͯ৴པ͞ΕΔ΂͖
    • ϒϩοΫνΣʔϯʹه࿥͞Ε͍ͯΔ
    • αʔϏεͷαʔό͕ه࿥͍ͯ͠Δ
    • SSIDͷߟ͑͸͜͜


    View Slide

  67. ϒϩοΫνΣʔϯձһݖ
    • ͋ΔτʔΫϯΛ͍࣋ͬͯΔਓ͚ͩͷೖΕΔίϛϡχςΟ
    • τʔΫϯ͸ചΓങ͍Ͱ͖ͨΓ͢Δ
    • τʔΫϯʹΩοΫόοΫΛ࡞Δ͜ͱ΋Ͱ͖Δ
    • ήʔϜΞΠςϜͳͲʹ࢖͍ͬͯΔ୅ସෆՄೳͳτʔΫϯͷ
    ॴ༗ͱಉ͡
    • ҆௚ʹ΍Δͱطଘͷ๏ྩʹҾ͔͔ͬΔՄೳੑ͕͋ΔͷͰ
    ਅ໘໨ʹߟ͍͑ͯΔਓ͸ઐ໳Ոʹ૬ஊ͍ͯͩ͘͠͞
    • ΰϧϑձһݖ


    View Slide

  68. ϏσΦࢹௌݖτʔΫϯ
    https://blockpunk.net/

    View Slide

  69. ΞΧ΢ϯτͷ৴པ
    • KYC͢Δ͜ͱͰΞΧ΢ϯτͱݱ࣮Λ݁ͼ͚ͭΔ
    • ҰਓҰͭͷൿີ伴ΛKYC͢Δ
    • ϚΠφϯόʔΧʔυ
    • ݖརΛߪೖ͢Δ
    • ձһݖ
    • ͋Δఔ౓ͷ͓ۚΛ୲อʹ͢Δ
    • ΞΧ΢ϯτʹඥ෇͍ͨߦಈཤྺʹΑͬͯ৴པ͞ΕΔ΂͖
    • ϒϩοΫνΣʔϯʹه࿥͞Ε͍ͯΔ
    • αʔϏεͷαʔό͕ه࿥͍ͯ͠Δ
    • SSIDͷߟ͑͸͜͜


    View Slide

  70. σδλϧͳߦಈཤྺ
    • SSID͕໨ࢦͯ͠ϒϩοΫνΣʔϯ͕ಘҙͳ෦෼
    • ʮ݈શͳऔҾΛ͍ͯ͠Δਓ͔ͩΒྑ͍ਓͩΖ͏ʯ
    • ϒϩοΫνΣʔϯͷઃܭ͸τϥετϨεͰ͋Δ͕ɺਓͷ൑
    அ͸τϥετϑϧʹߦΘΕΔ܏޲͕͋Δ
    • ਺ສԁͷσδλϧΞηοτΛɺͦͷਓͰ͋Δͱ͍͏৴
    པͰି͠ग़͢͠Δ
    • ݈શͳऔҾͱ͸ʁ
    • PageRankΈ͍ͨͳࢀর਺ʹΑͬͯ൑அ͞ΕΔͷͰ͸ʁ


    View Slide

  71. ϦΞϧΠϕϯτࢀՃऀ޲͚ه೦τʔΫϯ

    View Slide

  72. ਓؒͱൿີ伴

    View Slide

  73. ΞΧ΢ϯτͱ͸
    • ͍··Ͱͷ࿩Ͱ͸ɺൿີ伴 = ΞΧ΢ϯτ
    • ແݶʹΞΧ΢ϯτ͕࡞੒Ͱ͖Δ
    • ແݶ: ܾΊΒΕͨૉ਺ະຬͷ੔਺ͷ਺
    • ਓؒͷ਺ΑΓ͸Δ͔ʹେ͖ͳ਺
    • ΞΧ΢ϯτʹΑͬͯԿΛ֬ೝ͍ͨ͠ͷ͔ʁ


    View Slide

  74. ྫ͑͹ήʔϜ
    • Α͘΍Δखஈͱͯ͠ɺϩάΠϯϘʔφε΍৽نΞΧ΢ϯτ΁
    ͷ༏۰ࢪࡦ͕͋Δ
    • ຖ೔ϩάΠϯ͢Δ͜ͱ΁ͷΠϯηϯςΟϒ
    • ॳճ1ϲ݄ແྉతͳ΋ͷ
    • ͭ·ΓΞΧ΢ϯτ୯Ґʹ1౓͚ͩڐ͞ΕΔΠϯηϯςΟϒ
    • ௿ίετͰແݶʹΞΧ΢ϯτ͕ੜ੒Ͱ͖Δ৔߹͸ɺ͜ͷख๏
    ͸ةݥ
    • ैདྷ͜Ε͸ɺAppleɺGoogleͳͲ͕क͍ͬͯͨน
    • ैདྷͷΠϯηϯςΟϒઃܭ͕શ͘໾ʹཱͨͳ͍ੈք͕๚
    ΕΔ


    View Slide

  75. ྫ͑͹༧໿γεςϜ
    • நબͱ૬ੑ͕ѱ͍
    • KYCͳ͍ঢ়ଶͰ͋Ε͹ɺΞΧ΢ϯτͷ਺͚ͩ༗རʹͳΔ
    • Ұਓͷਓ͕ෳ਺ͷΞΧ΢ϯτΛ͍࣋ͬͯΔ͔Ͳ͏͔͸ͦ
    Ε͸ͦΕͰWebશମͷ՝୊
    • Fingerprintతͳ΍ͭ
    • ࡢࠓ͸Cookieͷ෩౰ͨΓ͕Α͘ͳ͍
    • ҿ৯ళͰ͋Ε͹ॺ໊ͱॴ༗ͷূ໌ͳͷͰΘ͔Γ΍͍͢
    • No ShowΈ͍ͨͳͷ͸ผͷ࿩
    • ༗ޮͳΞΧ΢ϯτͱ͢Δ͔ → ձһݖͷ࿩ʹ໭Δ


    View Slide

  76. 伴ͷฆࣦ = IDͷ૕ࣦʁ
    • ैདྷɺ؅ཧऀ͕ฆࣦʹ͍ͭͯόοΫΞοϓͯ͘͠Εͨ
    • ʮύεϫʔυ͕Θ͔Βͳ͍ํ͸ͪ͜Βʯ
    • ະདྷͷੈքͰ͸ɺ伴ͷฆࣦ͕ΞΠσϯςΟςΟͷ૕ࣦ
    • 伴୅ߦαʔϏε
    • 伴Ͱ͸ͳ͘τʔΫϯʹΞΠσϯςΟςΟΛ΋ͨͤΔ
    • େ੾ͳͷ͸伴ࣗମͰ͸ͳ͘ॺ໊ͱެ։৘ใʢΞυϨεʣͳ
    ͷͰ͸ʁ
    • ॺ໊ as a serviceͷग़ݱ
    • ͢ͰʹEthereumʹ͸ContractWalletͱ͍͏΋ͷ͕͋Δ


    View Slide

  77. ੜମ৘ใ
    • ੜମ৘ใ͔Β伴Λੜ੒͢Δٕज़͸͋ΔΒ͍͠
    • https://it.impressbm.co.jp/articles/-/18043
    • ͦ͏͍͏ͱ͜Ζ͔Βಥഁޱ
    • KYCͱΞΠσϯςΟςΟͷ࿩ʹ໭Δ
    • ֊૚తܾఆੑ΢ΥϨοτͱ૬ੑ͕Α͍͔΋Ͷ
    • ϚελʔͱͳΔ128bitsͷΤϯτϩϐʔ͔ΒͳΔγʔυ
    ஋͔Βɺm/i/0/kͷΑ͏ͳ֊૚ߏ଄Ͱܾఆ࿦తʹൿີ伴
    Λੜ੒


    View Slide

  78. ·ͱΊ1
    • ϒϩοΫνΣʔϯͷෆՄٯੑɺඇதԝूݖੑʹΑΓσδλ
    ϧͷ৘ใ͕ϦΞϧʹۙͮ͘
    • ϒϩοΫνΣʔϯʹΑΓɺʮ伴ʯʹʮࢿ࢈ʯ͕΋ͯΔ
    • ҉߸௨՟
    • ձһݖͷΑ͏ͳτʔΫϯ
    • ϒϩοΫνΣʔϯʹ͓͚Δཤྺ
    • Webೝূ͸ύεϫʔυϨε΍ڊେͳ؅ཧऀ͔Βͷ୤٫ͱ
    ͍͏՝୊Λ๊͍͑ͯΔ


    View Slide

  79. ·ͱΊ2
    • ϒϩοΫνΣʔϯαʔϏεʹ͓͍ͯύεϫʔυϨε͸࣮ݱ
    ͍ͯ͠Δ
    • WebೝূͱϒϩοΫνΣʔϯͷ૬৐ޮՌʹΑΓ୭Ͱ΋ࣗ෼
    ࣗ਎ͷ伴Ͱిࢠॺ໊͕Ͱ͖Δੈք͕͘Δ
    • ୭Ͱ΋ిࢠॺ໊͕Ͱ͖ΔੈքͰͲ͏͍͏͜ͱ͕໰୊ͱͳ
    Δ͔ໝ૝
    • σδλϧͷΞΠσϯςΟςΟʹ͍ͭͯ଴ͪड͚Δ՝୊ΛΈ
    ΜͳͰߟ͍͖͑ͯ·͠ΐ͏


    View Slide