パスワード「レス」に挑む(後編)
みなさま、こんにちは。
前回、パスワードの運用や漏洩について書かせていただきました。
今回はパスワードに代わる強力な認証方式と、真のパスワードレスへの取り組みについて記述します。
前回の記事はこちら
多要素認証について
まず、多要素認証の「要素」とは何かについてですが、一般的には以下の情報のことを指します。
・「知識」:本人だけが知っている
・「所持」:本人だけが所持している
・「生体」:本人自身
これらの複数を組み合わせたものを多要素と呼んでいます。
「パスワード」と「秘密の質問」の組み合わせは、「知識」+「知識」なので多要素にはなりません。
秘密の質問
「知識」の要素です。推測されやすいパスワードみたいなものです。文字長や有効期限のポリシーがパスワードより制御できない分弱いです。
パスワード
「知識」の要素です。これについては前編で記述したので割愛します。
SMS / Voice / Email OTP
「所持」の要素です。一般的なMFAとしてよく使われ、安価に導入できます。携帯電話などの電話番号を用いる認証ですね。ほとんどの従業員が固有のものを持っているというところが強みです。
弱点は、OTPを受信したり、画面に入力するタイミングに盗まれる可能性があるところ。また、携帯電話を用いることが多いためSIMカードを物理的に盗まれるとダメです。電話かける機会が減っている昨今、意外と気づけないと思います。
メールに至っては、メールアプリの認証要素に利用できないなどあって、利便性もセキュリティとしても少し弱めと言わざるを得ません。
Software OTP
「所持」の要素です。一般的なIDaaSの基本的なMFAとして用意されていることが多いです。モバイル用のアプリケーションや、物理トークンとして配布されます。前述のOTPと違い外部サービスからPINコードを受信するのではなく、モバイル固有の文字列と時間を組み合わせた文字列が表示され、認証画面に入力するイメージです。外部サービスとデータをやり取りするわけではないので、ネットワークにつながっていなくてもPINコードを取得できます。
可能であれば最低限、このSoftware OTP以上の認証強度の多要素認証をオススメします。
Push認証
「所持」の要素です。デバイスプロンプトともいわれていますね。モバイルデバイスにインストールしたアプリケーションに、「***にログインしようとしてるけど、本人ですか?」というような通知がきて、「はい」を押すと認証したことになる、といったものです。
最近は、通知の中に時間や認証サービスのURL、アクセスしている場所なんかが出てくるようになりましたね。たまに全然違うところ(ジャカルタとか)からのアクセスになったりますが(笑)。
Software OTPもそうなのですが、モバイルなどを利用するので、モバイルのパスコードに最低限守られています。パスコードを「知識」の要素と捉えて、「知識」+「所持」とするかは人それぞれですね。
パスコードがショルダーハッキングされたり、デバイスの製造元によって指紋認証の精度が低かったりするので、私はパスコードはあまり信用していません。(個人の感想です)
Fido2 / WebAuthn
「所持」の要素です。「生体」の要素と感じる面もありますが、私は「所持」と考えています。というのも、Widows Hello/Touch IDなどのデバイスのの組み込み認証が使えるからです。指紋であったり顔の認証ですね。
それらはデバイスの中に「鍵」を持っていて、その「鍵」を提示することで認証します。ただし、その「鍵」を取り出して使えるようにするために指紋認証や顔認証するという感じです。といっても、物理的な破壊が想定されるため、「PIN(パスコード)」も使えるパターンが多いので、必ずしも「生体」の認証を強制できるものではありません。
ちなみにブラウザによる制約があって、いわゆるモダンブラウザでしか動きません。Chrome, Safari, Edgeとかですね。
社内に古いアプリケーションが残っているせいで、IEが主要ブラウザという企業様だと、なかなか導入に踏み切れないかもしれませんね。
Biometrics
「生体」の要素です。指紋や、顔で認証しないとサービスにログインできない様に制御するといったものです。強力な反面、専用の外部デバイスやサービスを準備する必要があり、利便性を求めると全従業員分必要となり結構高価になってしまうことも。
認証サービス側としても、「この認証機器なら」と専用の規格を作ることも難しいので、Fido2の要素として使って欲しいということになりがちです。
Any Auth Provider
これはちょっと異色なのですが、IDaaSなど本来認証を受け持つサービスと別の認証サービスを組み合わせる方式です。もちろん、こっちでも「パスワード」で、あっちでも「パスワード」というような構成というわけではないです。
例えば前述のBiometricsをIDaaS側で「この機器なら」と規格を作るのは難しいと書きましたが、Biometricsの機器を管理するサービス側で認証の仕組みを持っていた場合は、
認証サービスAでID/PWを入力
↓
認証サービスBで顔認証
↓
認証サービスAにログイン
ということが実現できます。
Biometricsもそうなんですが、よく聞かれるのは「デバイスのチェック」ですね。社給端末からしかサービスにアクセスさせたくないという要望は意外と多いので、結構する認証方式でもあります。
多要素認証について簡単に紹介するつもりだったのに、かなり長くなってしましたね(苦笑)
パスワードの無い世界とは
ここでまた、パスワードレスについて考えてみましょう。
基本的にシングルサインオンで社内環境は構築していて、実際にパスワードが漏洩していたとしても、一定以上の強固なMFA使っていれば外部からのなりすましは格段に減ります。
ではなぜ、パスワードは悪者ように(私に)書かれてしまうのか?
答えは単純です。覚えるのが面倒くさく、入力するのが手間だからです。
パスワードの無い世界は本当に楽です。キーボードに触らずにマウスをカチカチ、カメラに目配せでログイン完了。
パスワードを覚える必要もないので、情シス観点で見てもパスワードリセットの問い合わせが1/10以下になることでしょう。本来の自分の仕事に専念することができます。
実際にどうすればいいのか
パスワードをなくし、利便性と安全性のいいところをとるためにはどうしたらいいのでしょうか?
利便性だけをよくするのは悪手です。何においてもまずは安全性の確保は重要です。なので多要素認証をベースに考えます。
個人的には必ず多要素認証というのは、少し違うかなと思っています。本来はアクセス先(リソース)に応じた動的なポリシーによる制御がよいかと。
また、ここでは記述しませんが状況に応じた(コンテクスト)認証というのも昨今のトレンドになっています。
多要素の中でもなるべく強力なものを選択したいところですね。利便性から考えても「Push認証」以上のもを利用するのがよさそうです。
となると実は「知識」の要素ってほぼなくなってしまうんですね。
「所持」+「生体」、あるいは、「所持」+「他サービス認証」
「生体」要素であれば、まだ販売していませんがYubikey Bioがすごくよさそうですね。完全に予想ですが1つ1万円弱くらいですかね。
「他サービス認証」であれば、人気なのはMDMサービスです。
ん? MDMだったら「所持」と変わらないのでは?と思ったあなた、なかなか鋭いです。
これも人それぞれだと思うのですが、「所持」に関しては物理的に別のモノであれば「所持」+「所持」は安全性が高いと思っています。
暴論ですが指紋も、私の親指を持っている人であれば誰でもいいわけです。
なくしたら、さすがに気づきますが(笑)
MDMだと何がいいのかというと、管理デバイスであることの証明以上にデバイスがポリシー違反をしていないかの確認やウィルスに感染していないかの確認もできるところです。
デバイス証明書とかだと、利用端末はある程度固定はできるのですが、コンプライアンスチェックまではできないので、余裕があればMDMサービスとの連携をオススメします。
まとめ
書きたいことが多すぎたのと、文章に慣れていないせいもあって長々となってしまいました。読みづらくなっていないか心配です。
実際にパスワードをなくすことができた企業は非常に少ないです。シングルサインオンの構築で極小化はできても、完全に入力レスまでもっていき、パスワードによるログインの入り口をつぶすことろまで実行できたところは皆無なのではないでしょうか?
ただ、パスワードの無い世界は、今後目指すべきところに必ずあると思いますので、今回投稿させていただきました。
最後に、私が主にかかわっているOkta社の今後のロードマップとして「パスワードレス」がキーワードとしてあります。
それを実現するための方法「Okta FastPass」が2020/4/1にOktaのイベント「Oktane20 」で発表されましたので、ご紹介しておきます。
それでは、また。
この記事が気に入ったらサポートをしてみませんか?