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

SSIで覗き見るPWAの世界 / SSI on PWA

SSIで覗き見るPWAの世界 / SSI on PWA

hitsuji-haneta

June 26, 2021
Tweet

More Decks by hitsuji-haneta

Other Decks in Programming

Transcript

  1. 44*ͱ͸ʁ Self Sovereign Identity 自己主権型アイデンティティ Self-sovereign identity (SSI) is an

    approach to digital identity that gives individuals control of their digital identities. (Wikipedia) 自己主権型アイデンティティ(SSI)とは個人にデジタル アイデンティティのコントロールを渡すためのアプローチです。 はぁ?
  2. 44*ͱ͸ʁ 「アイデンティティ」 とは異なる Identi fi er(識別子)の役割 サービス上のエンティティと結びつける 認証情報と結びつける Veri fi

    able Credentialと結びつける 「あなたが誰か」を識別する文字列 Decentralized Identifier ෼ࢄܕ*% DID
  3. 44*ͱ͸ʁ Decentralized Identifier ෼ࢄܕ*% DID did:example:123456789abcdefghi 具体的にはこんな感じ 63*ͷεΩʔϚ ɾIUUQ ɾGUQ

    ɾMEBQ ͱ͔ͱಉ͡ %*%ϝιου Ͳͷ෼ࢄγεςϜ΍ϒϩοΫνΣʔϯ ʹΞϯΧϦϯά͍ͯ͠Δ͔ FUISCUDSJQJEJPOͳͲ ϝιου಺*% ϝιου಺Ͱ Ұҙʹܾ·Δจࣈྻ ϒϩοΫνΣʔϯͷ ΞΧ΢ϯτͱ͔
  4. 44*ͱ͸ʁ Verifiable Credential VC ݕূՄೳͳࢿ֨৘ใ VC Wallet Verifier Issuer did:hoge:1111

    did:fuga:2222 ①自分のDIDを送付 ④発行者のDIDを確認 ⑤検証結果 ③取得したVCを送付 ②2つのDIDを埋め込んだ VCを発行して送付       Holder
  5. 44*ͱ͸ʁ Verifiable Credential VC ݕূՄೳͳࢿ֨৘ใ User VC Wallet Verifier Issuer

    ①自分のDIDを送付 ④発行者のDIDを確認 ⑤検証結果 ③取得したVCを送付 ②2つのDIDを埋め込んだ VCを発行して送付       発行者から検証者に送られるのではなく 本人が所有&管理している did:hoge:1111 did:fuga:2222
  6. Distributed Ledger Universal Resolver Wallet App Identity Hub 18"ͱͷ૊Έ߹Θͤ Entity

    Issuer Verifier 自分で実装したもの ほぼ丸ごとツールに頼ったもの PWAで実装
  7. 18"ͱͷ૊Έ߹Θͤ Blockchain (Ethereum) Wallet App Entity Verifier Resolver Account DID

    ICΧʔυ NFC ੒ਓೝఆ͢Δػؔ Issuer ډञ԰ birthday adult adult
  8. 18"ͱͷ૊Έ߹Θͤ 機能 詳細 使用するAPIやライブラリ 静的サイト化 IPFSから配信するために 静的サイト化する Next.js MetaMask連携 MetaMaskアプリと連携し

    EthereumProviderと接続 Ethereum API (Metamaskがwindowにインジェクト) QR読み取り カメラからQRを読み取り URL(API)にリクエスト BarcodeDetector API Navigator.mediaDevices API NFC読み取り ICカードのNFCタグから データを読み取る NDEFReader API データ永続化 アプリを終了してもVCが 消えないように永続化 IndexedDB API ファイルアクセス JWTのインポートや エクスポート File System Access API (mobileはHTML5) PWAっぽい機能などの整理 現在Android Chromeのみ MetaMaskアプリ内の WebViewで表示 ཱ྆ෆՄ
  9. 18"ͱͷ૊Έ߹Θͤ Blockchain (Ethereum) Wallet App Entity Verifier Resolver Account DID

    ICΧʔυ NFC ੒ਓೝఆ͢Δػؔ Issuer ډञ԰ birthday adult adult このユースケースを2分割 ・MetaMaskを使用するセクション ・NFCを使用するセクション
  10. 18"ͱͷ૊Έ߹Θͤ Blockchain (Ethereum) Wallet App Entity Verifier Resolver Account DID

    ICΧʔυ NFC ੒ਓೝఆ͢Δػؔ Issuer ډञ԰ birthday adult adult セクション① MetaMask連携でDID発行
  11. 18"ͱͷ૊Έ߹Θͤ Blockchain (Ethereum) Entity Verifier Resolver Account DID ICΧʔυ NFC

    ੒ਓೝఆ͢Δػؔ Issuer ډञ԰ birthday adult adult セクション② NFCやQRをフックにVCのやり取り