【認証の基本④】ID・パスワード管理の課題に応える「OpenID」、そのセキュリティとは
1.使い回されるID・パスワード
認証の基本を学ぶ「認証の基本①」ではリスクベース認証について、「認証の基本②」ではさまざまな種類の認証を、「認証の基本③」ではなりすましやアカウントの乗っ取りを防ぐ二要素認証についてご紹介しました。認証にはさまざまな方法や種類があることが分かりますが、それでも圧倒的に広く用いられている認証方法と言えば、なんといってもIDとパスワードを用いた認証です。
サービスや商品を提供するウェブサイトの多くがID・パスワードによる認証を導入しており、理想としては、ユーザーはその数だけID・パスワードを使い分ける必要があります。「理想としては」というのは、実際には無数にあるサービスごとにID・パスワードを使い分け管理することは、ユーザーにとって非常に難しいという実態が明らかになっているからです。トレンドマイクロ社が行っている調査によると、実に8割を超える人が、複数のサイトで同じパスワードを使い回していることが分かっています[1]。
同調査によると、パスワードを使い回す理由としては 「異なるパスワードを設定すると忘れてしまう」と回答した人が69.7%、「異なるパスワードを考えるのが面倒」と回答した人が45.3%となっており、新しいサイトを利用する度に、ID・パスワードを新規で設定することがユーザーにとって大きな壁となっていることが分かります。またサービスを提供する事業者にとっても、パスワード設定が新規ユーザーの心理的ハードルとなり敬遠されることは好ましくありません。
2.注目されるOpenID
そこで注目されるのがOpenID(オープンID)の仕組みです。OpenIDは、OpenIDファウンデーション[2]が定める認証のプロトコルで、ユーザー側のエクスペリエンスから言えば、あるサービスで利用しているアカウントを使って、他のサイトにログインできる仕組みです。新規のサイトを利用した時に、ログインor新規登録の選択肢の他に、「使っているアカウントでログインする」という選択肢を見たことがあるでしょうか。これがOpenIDです。「Yahoo!」や「LINE」「Facebook」「楽天」などユーザー数の多い大手サービスがOpenIDを提供しており、これらのサービス側はOP(OpenID Provider)と呼ばれます。一方、OpenIDを使った認証を選択肢として提供するサイトをRP(Relying Party)と呼びます。
以下が、認証の流れです。
①ユーザーがRPのサイトにアクセスし、OpenIDでのログインを選択する
②ユーザーが利用するOPのIDを入力する
③RPがOPにアクセスし共通鍵/公開鍵を要求
④OPからRPに共通鍵/公開鍵を発行
⑤RPはユーザーの承認を得て、ユーザーをOPサイトにリダイレクトさせる
⑥ユーザーがOPサイトにてID・パスワードを入力し認証を受ける
⑦OPはユーザーの承認を得て、RPに認証結果を通知&ユーザーをRPにリダイレクトさせる
⑧RP側で認証を行う&ユーザーはRPサイトにログイン
裏側の流れまで並べると非常に大変そうですが、ユーザーとしては新規登録をすることなく既存のID・パスワードを使ってサービスを利用できるため、とても便利な仕組みと言えます。
3.OpenIDのセキュリティとは
それではセキュリティ面を見てみるとどうでしょうか。OpenIDを使って認証を行う場合、そのOpenIDを提供するOP側の認証技術に基づいて認証を行います。言い換えれば、OPのセキュリティレベルにおいて認証が行われると言えます。例えばOP側でなりすましやアカウントの乗っ取りを阻止できれば、RPでのログインも阻止されます。逆に、OPが不正なアクセスやログインを検知できず、なりすましや乗っ取られたアカウントを認証してしまえば、RPサイトでも認証されることになります。その場合、理論的には同サービスのOpenIDを採用しているサイト全てで認証が行われてしまうことになり、ユーザーにとっては注意が必要です。
ユーザーにおけるID・パスワードの使い分けや管理が難しいことが明らかになっている今、OpenIDはユーザーにとっても事業者にとっても便利な仕組みです。しかし、利用するOpenIDが適切に管理され保護されているかについては、ユーザーもRP事業者も注意を配る必要があると言えそうです。
(文/星野みゆき 画像/© vege – Fotolia)
参考:
[1] トレンドマイクロ株式会社. (2017). -パスワードの利用実態調査 2017-パスワードを使いまわしている利用者が8割以上
https://www.trendmicro.com/ja_jp/about/press-release/2017/pr-20171005-01.html
http://www.openid.or.jp/