パスワードはなぜ危険?
~キャッシュレス時代の多要素認証・再入門~
キャッシュレス決済をテーマに、パスワードだけの認証はリスクがあり危険であること、そして安全にサービスを提供するためには、複数の認証方法を組み合わせた「多要素認証」を使うことが有効であることをご紹介します。
現金とは違う、キャッシュレス決済のリスク
近年は様々なキャッシュレス決済サービスがリリースされています。読者のみなさまも、キャッシュレス還元の政策やコロナ禍での接触回避により、利用される機会が増えてきているのではないでしょうか。残高をチャージして支払いに使う決済サービスは「現金」と同じ感覚で使えるサービスですが、性質は「現金」とは色々と異なっています。
現金そのものは個人と結びついたものではなく、自分がいま握っている紙幣や硬貨は元々誰が持っていたのかわからないものです。また、現金単独で盗まれてしまうとそれが自分のものであったということの証明が難しいものです。
それに対して「キャッシュレス決済」は、お金の流れが個人と紐づいて管理されており、過去のお金の流れを追跡することができるようになっています(もちろん、きちんとしたサービスが構築されていることが前提ですが…)。
さて、現金はそれを手に入れればすぐに使うことができますが、キャッシュレス決済を使うためには最初にあることをしなければいけません。それは「個人情報の登録」です。氏名、生年月日、住所、電話番号、さらにクレジットカード番号など重要情報を預けることになるわけです。そのような情報を他の誰かに見られることが、なりすましによる不正利用や悪用の原因となり、結果的に本人に重大な被害をもたらす危険があります。
そのようなセキュリティ被害を防ぐために、サービス提供事業者は、登録された情報を利用したり変更したりするときには、登録した本人であることを確認するために「認証」という仕組みを提供しています。
絶えることのない「パスワード」を狙うセキュリティのトラブル
しかし近年において、認証にまつわる重大な事故が発生したというニュースが絶えず報道されています。
読者のみなさまに於かれましても、昨年起きた「7pay (セブンペイ)」の事件は記憶に残っているかと思います。
JNSAが公開した「JNSA 2019 セキュリティ十大ニュース」において、この事件は第1位として扱われました。また、第4位には、「11月8日 フィッシングサイトの月間報告が8,000件を超え過去最多に」が挙げられており、認証セキュリティに関わるトラブルが絶えないことを物語っています。
クラウドサービスの利便性が追求されていく一方で、安全性の確保が大きな課題になっているといえます。クラウドサービスが「利用者の資産」を預かるようになってきているだけに、資産の搾取を狙われる危険が増してきているのです。
7payは決済サービスでありながら多要素認証を導入していなかったことで、パスワードリスト攻撃というパスワード認証に対する攻撃を受けてしまいました。さらに、パスワード再設定の案内を送るメールアドレスが自由に指定できるため、アカウントの乗っ取りが簡単にできてしまうという危険な状態であったことも大きな問題でした。
また、別のとあるサービスでは、PC版のサイトでは二段階認証に対応していたものの、モバイル向けのサイトが二段階認証に対応していなかったことで、結局パスワードリスト攻撃の標的になってしまったという事件も発生しています。
多重の壁でクラウド上の資産を守る「多要素認証」
先に述べたように、パスワードだけでは「利用者の資産の保護」も「サービスへの信頼性」も不十分になってきていると言えます。例えるならば、パスワードは薄い壁が1枚だけあるようで、比較的簡単な工作で穴が開けられてしまうような、リスクの高い危険な状態です。
そうなると、より強固な壁を用意して、易々と破られない仕組みにしていくことが求められます。さらに、壁で例えれば「衝撃に強い」「熱に強い」といった特性の異なる材質を組み合わせるといったように、認証方法も特性が異なる方法を組み合わせることで安全性を上げることができるのです。このように、特性の異なる複数の認証を組み合わせたものを「多要素認証」と呼びます。
多要素認証に用いられる代表的な認証方法をご紹介します。
分類 | 認証方法 | |
知識ベース (Something you know) |
個人の記憶の中にある情報 | パスワード |
PINコード | ||
所持ベース (Something you have) |
個人の所有物 | PC・スマートフォン (ハードウェアまたは証明書) |
ICカード | ||
メールアドレス | ||
電話番号(SMS) | ||
生体ベース (Something you are) |
個人の身体的特徴 | 指紋 |
静脈 | ||
虹彩 | ||
声紋 | ||
顔 |
「多要素認証」のポイントは、分類が異なる認証方法を組み合わせることです。認証方法は大きく「知識ベース(Something you know)」、「所持ベース(Something you have)」、「生体ベース(Something)」の3つに分類されます。なお、近年ではこれに「位置情報(Somewhere you are)」が加わることもあります。
クラウドサービスではありませんが、ATMでの入出金は「多要素認証」が用いられている最もポピュラーな事例です。知識ベースのPINコードと、所持ベースのICカードの2種類を組み合わせて認証をしています。さらに、金融機関によっては、取引内容に応じて、生体ベースの指紋認証を加えた3種類の組み合わせで認証をしてセキュリティを確保しているケースもあります。
ATMの場合、操作する端末が共有物であることから、個人が持ち込んでくるICカードを所持ベースの認証方法に選定されていることがポイントになります。一方で、クラウドサービスは、個人が所有しているPCやスマートフォンで操作することが主流ですので、それにマッチした認証方法を選定することになります。例えば、知識ベースの認証としてパスワード、所有ベースの認証として電話番号(SMS)またはメールアドレスの確認を組み合わせる認証方法が提供しやすいでしょう。また、スマートフォンは指紋認証や声紋認証など生体ベースの認証方法も扱いやすくなってきていますので、このような認証方法も組み込んでセキュリティを強化するのもよいでしょう。
認証方法を増やすことで、運用にかかるコストや利用者に対するサービス利便性の低下など課題も出てきますが、最適な認証方法を選択して採用すればメリットが上回ることでしょう。
まとめ
今回は、キャッシュレス決済をテーマに、パスワードだけではリスクがあり危険であること、そして安全にサービスを提供するためには、複数の認証方法を組み合わせた「多要素認証」を使うことが有効であることをご紹介しました。
「多要素認証」の良さをお伝えしましたが、これを一から独自で開発するとなるとハードルが高いです。そこで、多要素認証のフレームワークが組み込まれたパッケージ製品をお勧めします。
NTTテクノクロスのTrustBind/Federation Managerは、多要素認証やシングルサインオンに対応した認証・認可プラットフォームを実現することができます。ご興味がある方は是非製品ページをご確認ください。