SMS認証で炎上した電子チケットシステム
最近炎上したのが、これ。認証のために国際SMSを発信させていて、通信料はユーザ負担というシステム。
https://togetter.com/li/1111566
- 操作に対する反応がすぐには反映されないアプリ
- 費用がかかる国際SMSを、利用者から送信させる仕様
利用者不在のアプリ設計/システム設計と非難されても、文句は言えないだろう。
ユーザーの操作はすぐに画面に反映されて誤操作を防ぐべきだし、費用が発生する操作は確認ダイアログを出すべき。そもそも、ユーザーに費用負担を求めないようにするのがこの手のアプリが目指す仕様ではないのか?
SMSを送信するのはユーザー側なのか?
SMSを使った認証というと、GoogleやAppleの二段階認証(二要素認証)がある。
どちらも、認証に必要な番号がSMSで送られてくる仕組みになっている。
他にも、レンタルサーバーのユーザー確認など、多くのシーンで使われている。
大抵、SMSが送られてくるものであって、ユーザー自ら発信するものは見かけない。
SMSを発信させれば、電話番号を入力させる必要がなくなる、という考え方もある。が、SMSが使えない、データ通信SIMというものも一般的であるため、かえってトラブルになるだろう。
国内、海外を問わず、SMSの発信には費用がかかるので、運用コストを下げるために、ユーザーが発信するよう設計したのかもしれない。
電話番号での認証なら電話+IVRでもよかったのでは?
ユーザーの電話番号を確認したいというのであれば、電話とIVR(銀行とかの問い合わせ先に電話すると、番号を押してくださいと言われるアレ)でも十分可能だろう。画面で必要事項を入力させたあと、確認画面に適当な数字を表示して、「電話して音声ガイダンスに従って下記の番号を入力してください」という流れになる。
つまり、入力確認のURLをメールで送るのではなく、確認コードと電話番号を画面に表示してユーザーに電話してもらうという仕組みだ。
SMSはユーザーに送るのが普通
GoogleやAppleを始め、大多数のシステムでは、「SMSをユーザーに送る」形になっている。
こういった先人たちのノウハウを利用せず、わざわざ独自のやり方をする理由は何なのか?
確かに、SMSを用いた認証システムの構築例がはてなブックマークを賑わせるなど、トレンドとして(プラスの意味で)取り上げられることはない。しかし、「SMS認証 システム」でググればちゃんとヒットする。
↓これは炎上したローチケと同じアプローチ。
http://qiita.com/kidach1/items/cd63063fa98aaa5030bd
ググって見つけたページを適当にパクって仕様書を書いていると、利用者不在の仕様が出来上がってしまうことがある。通常は、社内のチェックや発注元が確認して世に出る前/開発に着手する前に改善されるのだが、スピード優先コスト削減優先で、そういったチェックを行わないこともある。あるいは、発注元がこういった仕様を出してくることもあり、「こんなシステム使いたくねーなぁ」と言いながら作ることもある。
今回は、前例のないシステムというわけでもなく、似たような仕組みは普通のユーザーでもお目にかかるものである。「コスト削減を優先した、利用者不在のシステム」と言われても仕方ないだろう。
IVRとの組み合わせが増えてきている(2019/5)
最近、IVRを使った認証のパターンが増えてきているようだ。
データ通信専用SIMにSMSオプションをつける形だと、身元確認なしで契約できる(今もそうなのかわからないが)からだ。
このような契約だと、SMSだけで身元確認を行うことができない。
そこで、身元確認が必要な通話契約のある電話番号でのみ認証するよう
IVRに対して電話する
→ IVRが発信元電話番号を認識して、その番号宛に認証コードをSMS送信する
ということをやるようだ。
認証だけでなく、広告(TV CMなど)でもこれを使うケースがあるようだ。
- 興味のあるユーザだけが電話をかけてくるので、母集団(対象)が絞り込まれている。
- 身元確認された電話番号が集められる。
ということで、質の良い顧客候補データ(電話番号)が集められるからだろう。
おまけ
SMS送信APIを比較しているページを見つけたので、貼っておく。
コメント