そもそもスマホアプリ の時代、もはやauthenticationですらないと思うのよね

高木先生のスマホアプリ認証に関する知見
22
Hiromitsu Takagi @HiromitsuTakagi

そもそもスマホアプリ の時代、もはやauthenticationですらないと思うのよね。(何を言ってるかわからねえだろうと思うが。)

2019-07-08 23:14:44
Hiromitsu Takagi @HiromitsuTakagi

スマホでアプリをインストール。初起動し、この時点でサーバと恒久セッションが確立。新規利用登録をして利用開始。このときID・パスワード登録は要らない。そのままサービスを利用できる。アプリを終了させて再びアプリを起動しても、当該恒久セッションが続いて、そのままサービスを利用できる。

2019-07-09 02:40:18
Hiromitsu Takagi @HiromitsuTakagi

問題は、このスマホを紛失したときや、機種変更したとき、初期化する必要が生じたとき、当該セッションは失われるので、サービスを継続できなくなること。 これを解決するための何らかの手段、つまりアカウントを別端末に引き継ぐ方法の提供が求められる。

2019-07-09 02:43:32
Hiromitsu Takagi @HiromitsuTakagi

それはどんな方法でも構わないのだが、ID・パスワーを用いるというのが一つ。 このように、ID・パスワードはログインのための認証というよりも、アカウントを引き継ぐためのキーに過ぎないと、もはや言うべきではなかろうか。スマホアプロにログイン概念など無用なのである。

2019-07-09 02:45:01
Hiromitsu Takagi @HiromitsuTakagi

ログインという発想は、20世紀の昔、1台のコンピュータを複数の人で入れ替わり立ち替わり使っていた文化の名残にすぎない。この文化はWebにも引き継がれた。PCは自分専用ではなく、また、キオスク端末のWebブラウザから使うために、「ログイン」は用意されていたのだ。

2019-07-09 02:50:04
Hiromitsu Takagi @HiromitsuTakagi

そんな流れもあり、Webのステートは一時的なものとの常識が確立された。Webのcookieはクリアされるものであり、クリアされてもサービスできるようにWebアプリは作らなければならないという固定観念が成立した。しかしそれはWebの文化にすぎない。スマホアプリがそうする必要はないのである。

2019-07-09 02:52:50
Hiromitsu Takagi @HiromitsuTakagi

実は、Webでも同じことをやってよい。いまどき、PC(のOS)は(マルチユーザなので)一人ひとりに専用になっているのだから、初回接続・利用登録時の恒久セッションを維持したまま使い続けていいのだ。何らかの都合でcookieが失われたときの手段さえ提供しておけばよい。

2019-07-09 03:00:46
Hiromitsu Takagi @HiromitsuTakagi

そのような復元の手段(アカウントの引き継ぎ手段)は、登録済みメールアドレスへのワンタイムキーを含むURLの送信で可能だ。受信したメールのURLを開くとセッションが回復する。 これは視点を変えれば、パスワードリマインダと等価である。むしろ、リマインダはアカウント復元機能だったのだ。

2019-07-09 03:06:17
Hiromitsu Takagi @HiromitsuTakagi

電話番号もメールアドレスも変わってしまうユーザもいるだろう。なので、初回登録時に、アカウント復元コード(100ビット程度の数字)を発行して表示し、印刷して金庫にしまうなり保管せよと指示しておけばよい。もはやユーザが決めるID・パスワードの出る幕はないのである。

2019-07-09 03:24:49
Hiromitsu Takagi @HiromitsuTakagi

復元コードは慣れないうちは無視される恐れがある。しかし、ID・パスワードの登録のないサービスが当たり前になると、保管しておくことの重要性が理解されるようになる。 今すぐ使いたいのにまずパスワードを決めろと言われて安易なものにしてしまう現状よりよほどよい。復元コードは後で確認できる。

2019-07-09 03:32:18
Hiromitsu Takagi @HiromitsuTakagi

天動説で始まったWebは、パスワードリマインダや秘密の質問といった、逆行運動があった。これをスマホアプリ時代の地動説の視点で見れば、上記の通りシンプルに周転しているだけなのである。7payの設計は、天動説のままであったが故に、破綻したリマインダを設けてしまった。

2019-07-09 03:37:57
Hiromitsu Takagi @HiromitsuTakagi

(ただし、上記の例には、メールが途中で盗聴されないこと、SMSが盗聴されず本人確実に届くことなどの前提があり、本当にそれでいいのか?と割り切れないところがある。しかし、天動説のリマインダーではその割り切りを既にしており、実績も積まれているわけであり……。)

2019-07-09 03:45:47
Hiromitsu Takagi @HiromitsuTakagi

4年前に書いた記事。同じことを言っているが当時よりだいぶ研ぎ澄まされてきた。 web.archive.org/web/2015030200…

2019-07-09 03:56:43
Hiromitsu Takagi @HiromitsuTakagi

ログインのユーザ認証には、端末(ブラウザ)を勝手に他人が触り得るリスクを想定して、利用を終えたらログアウトすることで解決する機能も同時に含まれていた。スマホアプリの今日では、それは端末のアンロック機能や、アプリに追加のローカル認証(生体認証やPIN)が担い、機能が分離されている。

2019-07-09 04:07:44
Hiromitsu Takagi @HiromitsuTakagi

twitter.com/MizunoMe_ppc/s… 複数アカウントを切り替えて使うのが本質的なサービスでは、アプリ自体が複数アカウントを同時使用できるように設計されるべき。Webブラウザと異なりそれは簡単にできる。

2019-07-09 05:16:08