見出し画像

「SMS認証=2要素認証」ではない

ドコモ口座事件とは少し話題が逸れますが以下の動画を見ていただきたい。

SMS認証が2要素認証にならない場合

これはとある電子決済サービスの新規登録画面です(誤解の無いように、電子決済サービスの「口座」と銀行口座との口座振替登録の設定画面ではない)。

このこと自体を問題視するつもりはないですが(そうするべきかどうかは分からない)、とにかく、この画面で要求されるSMS認証(携帯電話番号を登録させ、SMS(ショートメッセージ)等によって任意の認証コードやワンタイムパスワードを送信し、それを入力させて確認する認証方法)は『2要素認証』ではない、ということを言いたいだけのエントリです。

認証の3要素:知識要素・所有要素・生体要素

2要素認証について1

オンライン本人認証方式の実態調査 報告書 - IPA 独立行政法人情報処理推進機構の資料などで説明されているように、【認証の3要素】として記憶(知識)所持(所有)バイオメトリクス(生体)情報という区分けがなされています。

SMS認証において送信される番号などの情報は、携帯電話端末を持っていることで分かる、記憶する必要のない情報ですので「所持」要素の認証です。

これに対して、「暗証番号」は、(いろんな場面が想定できるが本来は)設定した本人のみが記憶しているという意味で「記憶」要素の認証です。

これが基本であり、そのように運用されるべきものなのですが、冒頭の動画においては異なる状況になります。

暗証番号がSMS認証後に任意に設定可能

この電子決済サービスの新規登録においては、メールアドレスと電話番号を記入欄に入力していれば、SMSで番号が送信されてきました。

で、暗証番号はその後に任意に、つまり自由に設定できました

それで何ら問題なく登録が完了しました。

このような「暗証番号」を「知識要素」と言ってよいわけがありません。

暗証番号とは、既に設定した番号・英数字をその人が記憶しているものを入力するものとして扱われています。

この画面における暗証番号は、べつに記憶していなくとも、その場の思い付きで適当な番号・英数字を入力すれば事足りるものです。

メールアドレスもテキトーなものでOKでしたので、メールアドレスも知識要素ではあり得ません。

したがって、この場合はSMSを使っていても、2要素認証ではなく、単要素認証である、ということになります(しかもログアウトしてから再度ログインする際にSMS認証は求められなかった)。

SMS=2要素認証となるかどうかは、状況による、ということです。

まぁ、それでも端末所有者であることを確認する意味はあるのですが。

さて、ここまでの話は現在進行形で発生している「電子決済サービスの不正チャージ事案」においてはほぼ関係の無い話ですが、なぜ関係が無いのかも含めて以下書いていきます。

ドコモ口座事件に端を発する電子決済サービスの不正チャージ事案の構造

ドコモ口座事件に端を発した電子決済サービスへの銀行口座からの不正チャージ事案の構造は(15日時点で"Kyash"においてゆうちょ銀行とイオン銀行で被害発生、他の電子決済サービスも一時停止する所が出ている

1:電子決済サービスの登録時或いは2番の際の電子決済サービス側画面での認証
2:電子決済サービスと銀行口座の口座振替登録(Web口座振替)時の認証
3:この場面以外のまったく別の画面における銀行側の認証が甘かったことによる事前の情報窃取の可能性

この3つの場面のうち、3番が底流として存在しており、1番の認証が無いに等しく、また2番の認証も脆弱だったために発生したと言えます。
(リバースブルートフォースによる情報窃取は、なにも2を突破することに限られずむしろ3番の場面が想定されている)

で、1番と2番の「認証=本人確認」は、まったく別の意味であるということがあまり意識されて論じられていないなと感じています。

再認識されるべき「本人確認」「認証」の意味

一連の事案の本質論は【銀行口座の所有者であることの本人確認の認証強度】が低かったという銀行側のセキュリティの甘さです(もちろんドコモ等電子決済サービス側の認証の問題もあるが)。

本来はこのような意味で「本人確認」と理解されているはずです。

しかし、冒頭に紹介した画面においては「入力した電話番号は、今現在電子決済サービスの登録をしようと情報を入力している操作者という意味での本人のものであるか」をSMSで確認しているだけです。

電子決済サービスの利用者であるという意味での本人」と、「銀行口座の所有者であるという意味での本人」は別物だという理解。

振り返ってみれば至極当たり前の話なのですが、ドコモや銀行側の発表を見ていると、その点がきちんと整理されているのか疑問が生じるものが散見されます。

ゆうちょ決済サービス3

2020年09月15日 決済事業者さまへのアカウントへの口座登録及びチャージ(入金)の一時停止について
現在稼働中の決済事業者で、当行の本人認証方法である2要素認証を未導入の8事業者※において、準備出来次第、速やかに以下のサービスを停止します。
 <即時振替サービス>
  1) 新規口座登録及び口座変更
  2) 振替(チャージ)
 当行においては、2要素認証の導入に全力で取り組むとともに、各事業者様と連携して、お客さまの安全確保に努めて参ります。
 何卒ご理解の程、宜しくお願い申し上げます。
 ※ヤフー(PayPay)、LINEPay、PayPal、ウエルネット、楽天Edy、ビリングシステム、メルペイ、ゆめカード

「当行の本人認証方法である2要素認証を未導入の8事業者」

このような説明があったものですから。

で、結局今朝になって以下更新されて修正されました。

2020年09月15日 決済事業者さまのアカウントへの口座登録及び振替(チャージ)の一時停止について(9月16日更新)
(2020年9月16日に一部内容を変更して掲載しております)
  本人認証方法として、2要素認証を未導入の8事業者※において、即時振替サービスを停止します。
 <即時振替サービス>
  1) 新規口座登録及び口座変更
  2) 振替(チャージ)
 当行においては、2要素認証の導入に全力で取り組むとともに、各事業者様と連携して、お客さまの安全確保に努めて参ります。
 何卒ご理解の程、宜しくお願い申し上げます。
 ※PayPay、LINE Pay、PayPal、ウェルネット、楽天Edy、ビリングシステム、メルペイ、ゆめカード
 ※既に停止中の決済口座:ドコモ口座、Kyash
 ※2要素認証とは、記憶認証(例:パスワードや暗証番号)と所持認証(例:乱数表やトークン)を組み合わせた認証方法を指します。

「本人認証方法として、2要素認証を未導入の8事業者」に修正。

まぁそれなら字面としては理解はできるのですが再度言うように一連の事案の構造は

1:電子決済サービスの登録時の認証或いは2番の際の電子決済サービス側画面での認証
2:電子決済サービスと銀行口座の口座振替登録(Web口座振替)時の認証
3:この場面以外のまったく別の画面における銀行側の認証が甘かったことによる事前の情報窃取の可能性

ゆうちょ銀行のようなお知らせをしているのを見ると、本質的に解決するためには銀行が2・3番を強化しないといけないということが意識されているのかというと、大分怪しいではないか?と思ってしまうのですよね。

以上

サポート頂いた分は主に資料収集に使用致します。