コンテンツにスキップ

2021-05-11 xID打ち合わせ

  • アプリサーバにシークレットと利用者IDの対を持つ
  • アプリダウンロードしてこないケースもあるのでQRコード方式に統一しておいた方が良さげ
  • アクティベートのタイミングでアカウントIDを作成するのではないが、再度、要検討
  • QRコードには宛名番号を埋め込み、さらに生年月日なども埋め込んでJWTにして署名できるようにしておく
  • PHR連携しない場合でもレベル2の多要素認証は必要
  • レベル2には目をつぶるか、QRコード発行するか、xID使うか
  • QRコードを端末内に保持してそれを多要素として使うことも可能だが、端末内に保持する際にはプロテクションをかける必要があり、鍵の管理など必要となり、であればxID使ってもらうのが良い
  • メールにマジックリンク張る方法は、所有にはならないのでダメ
  • メール内のリンクで端末内のアプリが起動するようにしておくことで、メールを受け取った同一端末となり所有に近づくが100%ではない
  • FIDO WEB AUTH
  • SMS認証:2,3個のAPI取り回しで実装できるが従量課金がそれなりにかかる
  • メール認証:迷惑メールに振り分けられるなど100%届く保証がない
  • マジックリンク方式:メール届かない問題が解決しない限り難しい

サードパーティログイン実装時の注意

Section titled “サードパーティログイン実装時の注意”
  • サードパーティログインをつけるときはアップルIDをつけなくてはいけない。違反するとリジェクトの可能性
  • ログイン後にxIDボタンを出すなど対策が必要
  • アプリのダウンロード、認証の二つの用途で使用する
  • カメラアプリで読み取ったら単純なリンクなので、アプリで読み取ったらURLパラメータを見てシークレット読むとか

QRコードのシークレットとアプリサーバとの突合をするときには非対称鍵を使う

  • リプレイ攻撃対策(QRコードさらしだと)
  • チャレンジレスポンス、鍵漏洩対策
  • 第三者が窓口へ来る
  • アクティベートユーザがQRコードを生成できる
  • xID使えば、渡したい人の生年月日を渡して・・
  • 後から消したい場合のフローも考慮
  • QRコードを無効化する。リボーク。利用者コードをDisable