パスワードだけに頼った利用者認証は危ない──。現在ではセキュリティーのセオリーになっている。フィッシング詐欺▼などによりIDやパスワードを盗まれて不正ログインされるケースが後を絶たない。このため多要素認証▼やパスワードレス認証▼を導入する企業が増えている。
だが、パスワードによる認証にしか対応していないシステムは多数存在する。そこで今回は、そういったシステムにおけるパスワード管理の現実解を考えてみよう。
「知識情報」だけでは危ない
利用者認証に使用する情報の種類、すなわち認証要素は大きく3種類に分けられる。利用者だけが知りうる「知識情報」、利用者だけが持つ「所持情報」、利用者の身体的特徴である「生体情報」である。
パスワードやPIN▼、秘密の質問の答えなどは利用者だけが知りうる知識情報、スマートフォンやセキュリティーキーなどは利用者だけが持つ所持情報、指紋や顔など利用者の身体的特徴は生体情報である。あらかじめ登録したスマートフォンに送られてくるワンタイムパスワードは、スマートフォンの所有者しか知り得ないので所持情報になる。
これらのうち、パスワードなどの知識情報を使った利用者認証は低コストで実現できる分、セキュリティー強度は低い(図1)。認証情報を入手すれば、正規の利用者に簡単になりすませるからだ。冒頭で書いたように、フィッシング詐欺などでパスワードを盗まれたら不正ログインされてしまう。
知識情報は共有も容易だ。所持情報や生体情報は共有することが困難あるいは不可能だが、知識情報は相手に教えれば共有できる。このため過去にパスワードを共有した退職者に不正ログインされるといった事件が少なからず発生している。
IDaaSで多要素認証を実現
そこで導入が進んでいるのが、前述したように多要素認証である。多要素認証とは複数の認証要素を用いる認証方法である。
多くの企業で導入されている多要素認証の例が、パスワードとワンタイムパスワードを使う方法だ。サービスにログインしたい利用者は、IDとパスワードを入力する。するとあらかじめ登録されている電話番号に対して、一定時間だけ有効なワンタイムパスワードがサービスからSMS▼などで送られる。このワンタイムパスワードを入力すると、サービスにログインできる。
つまりパスワードを知っていて、なおかつ電話番号を登録したスマートフォンなどを所持している利用者だけがログインできることになる。パスワードを知っているだけでは不十分だ。
パスワードを使わず、スマートフォンなどの所有情報や指紋などの生体情報を組み合わせた多要素認証はパスワードレス認証などと呼ばれる。パスワードレス認証の規格としてはFIDO▼が代表的だ。
なお、複数の認証情報が必要な場合でも、認証要素の種類が同じ場合には多要素認証とは呼ばない。例えば、あらかじめ登録した秘密の質問の答えとパスワードの入力が必要な利用者認証は、認証情報がどちらも知識情報なので多要素認証とは呼ばない。
多要素認証はセキュリティー強度が高いものの、実装するのは容易ではない。認証が必要なシステムに個別に実装すると、コストや運用の手間がかかる。
そこで有用なのがIDaaS▼だ(図2)。IDaaSは文字通りID管理のクラウドサービスである。IDaaSは「認証」「ID連携」「アクセス制御」「ID管理」という大きく4種類の機能を備える。これらのうちの認証には、多要素認証などの機能が含まれる。
例えば業務用のSaaS▼にログインしたい社員は、SaaSではなくIDaaSにアクセスする。そして必要な認証情報を入力する。多要素認証を導入している場合にはパスワードのような知識情報だけでは不十分だ。所持情報や生体情報による認証も実施する。このためパスワードを知っているだけではログインできない。
コンテキスト認証と呼ばれる認証方法を備えているIDaaSもある。コンテキスト認証も利用すれば、セキュリティー強度をさらに高められる。コンテキスト認証では、認証要素にコンテキストを用いる。コンテキスト(context)とは英語で文脈や前後関係などの意味だが、ここではログインしようとしている利用者の状況を指す。具体的にはログイン時刻や頻度といった時刻情報、ログイン元の国や地域といった位置情報などが該当する。
コンテキスト認証も導入していれば、パスワードとスマートフォンの両方を盗まれた場合であっても不正ログインを防げる。コンテキスト認証はコストがかかるため、以前はクレジットカード会社などが不正防止に利用するだけだったが、IDaaSのおかげで一般の企業でも利用できるようになっている。