Skip to content

Latest commit

 

History

History
54 lines (37 loc) · 3.96 KB

case-4.md

File metadata and controls

54 lines (37 loc) · 3.96 KB

ケース4: 個人間の単発的な荷物輸送など

ECサイトから一旦離れて、個人間のやり取りを考えてみます。 個人間なので、個別のシステムなどを持つことはまずできません。 当システム内のみで完結した住所トークンの発行フローが必要です。

登場人物

送信者

荷物を出す側です。

受信者

荷物を受け取る側です。

配送業者

荷物を運ぶ業者です。

ポイント

プライバシーに対してリスクがあるのは住所を教える側なので、当然 教える側がリクエストに対して許可を出す という構図になります。 その一手前を考えると、 送信者リクエストのURL を伝えるか、 または 受信者リクエストを生成するためのURL を伝えるかのどちらかになります。 送信者 がリクエストのURLを勝手に作れてしまう前者の場合1、スパム的な運用がなされてしまう可能性があるので、 ここは 受信者 のタイミングでリクエスト生成を抑制できる後者の方法を使ったほうが安全でしょう。

一般人同士のやり取りでは、互いに面識も信用もない相手とやり取りする可能性を考えなくてはなりません。 なので、相手が特定できるIDや名前やアイコンなどがお互いに見えるべきではありません。 その条件では相手が本物かどうか完全に判定するの原理的に不可能ですが、プライバシーの保護を優先するべき だと思います。

シーケンス

  1. 送信者受信者 が荷物を送るという需要が発生します。リアルの知り合いかもしれませんし、twitterで知らない人とガチャのダブリを交換する目的かもしれません。
  2. 送信者受信者 がメッセージをやり取りします。通信経路はメールやtwitterのDMなどの既存のものを使います。
  3. 受信者 は当システムでリクエスト生成URLを取得し、送信者 に送ります。2
  4. 送信者 がリクエスト生成URLにアクセスすると、送信者受信者 が組になったリクエストが生成されます。3
  5. 受信者 はリクエストを受け取り、認可/拒否の判断をして、認可されれば 送信者受信者 が組になった、配送業者 だけが読める住所トークンが発行されます。
  6. 受信者送信者 に住所トークンを伝え、送信者配送業者 に住所トークンを使って配送を依頼します。

懸念点

この方式の最大の問題点は、リクエストを作成した人間が本物の 送信者 かどうか確定しないところです。 送信者 が第三者にリクエスト生成URLを横流ししたり、メッセージの通信経路が盗聴されている場合、 第三者が不正にリクエストを生成し、受信者 がそれを認可するとトークンが不正に取得されます。

実際、受信者 はリクエストの相手が本物か 全く判定ができない ので、実は認可作業をする意味はありません。 せいぜい、面と向かってやり取りをした場合にタイミングが正しいか確認できる程度です。

とはいえ、一度きり知らない人から何かが送られてくる程度の実害しか無いので、たいして気にしなくていいかと思います。 互いのIDを特定できないほうが遥かに重要です。

Footnotes

  1. 受信者を特定することができないので、リクエストに相手を指定できないことも問題

  2. リクエスト生成URLは毎回異なる完全にランダムな文字列で、内部で受信者と紐付いているが、URLからは推測できない

  3. リクエスト生成URLは、1度アクセスすると無効になる