セブンペイ事件に関する個人的感想文のその2です。
誰得かといえば、完全に自分の感想の覚え書きの俺得の内容です。
気が向いたら読んでみてください。
認証に関する考え方
今回の問題で、やはり大きくクローズアップされるのが、不正利用に繋がった「認証」の不適切さです。
本当は、認証といっても、他人が勝手に成りすましてクレジットカードなどを登録して不正利用する「本人確認」の問題と、チャージやバーコードを表示する際に行う「(登録した)利用者の認証」(アカウント乗っ取り)の問題があるわけですが・・・。今回は主に後者が原因ぽいので、そちらに焦点を当てます。ちなみに、前者で問題になったのは、昨年末ごろに問題になったPayPay事件かな。
そもそも認証って?
そもそも認証って?なんてもう書く必要まではないとは思いますが。
平たく言うと、「登録した本人かどうかを確認する」ことですね。
例えば、本人を示すIDを「番号」や「メールアドレス」で設定したとします。
すると、他人がその「番号」や「メールアドレス」を知っていた場合、その人に成り代わることが可能です。
また、あてずっぽうな数字やメールアドレスでも、合致すれば不特定の他人に成りすましが可能になってしまいます。
そこで、そのID保有者本人しか知らない「秘密のパスワード」を用い、それらがセットで合致することで本人であると認める、というのがパスワード認証です。
しかし、世の中にサービスがあふれるに従ってID、パスワードの登録数も増えていく一方、パスワード認証に問題も見つかり始めます。これが、今日でも話題になる認証の論争の原点だと思っています。
認証に関する議論は今回は置いておいて、セブンペイでは認証の何が問題だったかを考察、メモしておきます。
「利便性」という考え方の罠
例の伝説的な記者会見で、今回の被害の原因となった可能性があると言われる認証関係やパスワードリセットについて、「顧客の利便性を考えた」という発言がありました。
確かに、操作が煩雑、複雑なものは面倒であり、ユーザが寄り付きにくくなる原因になりやすいです。
自分が開発していたときも、「登録の画面遷移数をいかに減らすか」ってことはよく言われていたものです(今はちょっと知らないんですけど)。
会見の中でも、「利便性とどう確保するかという話と、その中でどうセキュリティを確保していくかというバランスの問題」という、一般論としてはもっともらしい発言はありました。
まあ、そのバランスが悪かったから今回の事件になったんですけどね(汗)。
(多分、会見を見た人の多くがツッコミいれたと思います・・・。)
流石に、事件起こしておいてさもそれっぽい一般論をドヤ顔で言われても一切説得力がなく、会見の香ばしさを助長してたと思いますが・・・。
この「利便性」という言葉、特に例の会見では、顧客のためだったと言いたげな言い訳に使われていた印象です。
「チャージを止めても、既にチャージされたお金が盗まれる可能性」という懸念に対しても、「顧客の利便性のため」という言い訳をしています。
これは、他のセキュリティ事故に関しても同様のケースがあるのではないでしょうか。
こういった事故の場合、技術的にベストな方法は「一旦システムを全面停止すること」です。
もちろん、これには別の大きなリスクが伴います。「経営リスク」です。
つまり、サービスを完全にとめてしまうことで、会社が立ち行かない場合、「運用を止めることの方がリスク」となることもあるわけです。
こうなると、批判や一部の顧客離れを伴っても運用を続ける選択肢は無いとはいえません。ただ、そちらを取るのはよほどのケースではないでしょうか。
例えば、今回のケースであれば、セブンペイを止めたところで、セブンイレブンの売り上げが1割も2割も落ちるということは無いと思います。早い段階で登録してもらった顧客に対する迷惑に対する保障やケアはあると思いますが、それでも今回のような信用低下よりはマシだったのではないでしょうか?
「利便性」という言い訳で中途半端に運用し続けたことの代償は、思いのほか高くついたんじゃないかと思います。
また、今回のケースでは恐らくセキュリティ事故に関するBCPなどは設定されていなかったんじゃないでしょうか?
「顧客の利便性」と「顧客や経営へのリスク」を勘案して事前計画を立ててあれば、対応はまた違ったものだったのではと思います。
この点に関しては、後出しではあるものの、経営陣の怠慢といわれても仕方ないと思います。なぜなら、そういったリスクの洗い出しと対応計画を練るのも経営陣の責任だからです。これが、経産省が数年前に「サイバーセキュリティ経営」というガイドラインまで出した理由なんじゃないでしょうか。
(まあ、会見で「二段階認証・・・?」なんて言ってた社長が経産省の「サイバーセキュリティ経営」なんて知る由もない、なんてイワナイw)
「セキュリティ」と「利便性」は相反することが多い
そもそも、二段階認証や二要素認証など、認証の手数を増やすことは、間違いなく手間が増えるのであり、「利便性」としては下がります。
(より簡単でかつ効果的な認証方法の研究は進められていますが、これはまた別の話。)
最初に述べたとおり、番号やメールアドレスなどのIDだけでは、容易に成りすましができてしまいます。
それを防ぐために「パスワード」などの認証を使いますが、これはぶっちゃけ「攻撃者にとってメンドくさい」ことが原理で、それゆえに諦めさせる、ということを目的にしています。
認証なんて、メンドくさくて当たり前なんです。
今回批判されているのは、「『利便性』のために認証やパスワードリセットを簡略化した」と取られかねない発言、姿勢が目立つからだと思います。
経産省も、ガイドラインに則った対策が不十分だった、と指摘しています。
一般社団法人 キャッシュレス推進協議会では、成果物として「コード決済における不正流出したクレジットカード番号等の不正利用防止対策に関するガイドライン」といったものも出しています。また問題になったWeb画面などは、OWASP top10の観点も参考になります。
こういった不正アクセス、不正利用のガイドに則っていると、確かに利便性は低下しがちです。
しかし、「安全性を犠牲にした利便性」は、事故が起きた後に被害者や傍観者から理解を得るのは困難です。
今回のケースでは、「二段階認証がメンドくさい」と思っていた人にとっても、その意味が理解できた好例ともなりました。
その結果、セブンペイを見送るユーザも増えたとは思いますが・・・。
「認証の強度」については、提供するサービスや価値によって差があるのはしかるべきだと思っています。
いかなるサービスでも二段階認証、二要素認証を、とまでは言いません。
例えば、短期間で無料であそべるちょっとしたゲームのユーザ登録で、特に個人情報も入れてないようなサイトなら、IDとパスワードだけでも十分でしょう。
一方、今回のようにお金(しかも結構な金額)が関わるシステムの場合、二段階認証、二要素認証は必須でしょう。
これは、「利便性」と「安全性」を量りにかけても、現在の現実的な解なのではないでしょうか。
・・・なげーよ・・・続きは後ほど・・・。(その3に続いちゃうらすぃ・・・)