セキュリティ入門Web講座

広告枠・・・広告やリンク先の保証はしません


この記事を読むために必要な時間は約3分(1147文字)です。

OpenIDを用いたシングルサインオン

今回は対策技術のご紹介です。
前回の対策技術では、、SAMLを用いたシングルサインオンのご紹介をしました。
今回は、SAMLと似たような技術であるOpenIDのお話をします。

OpenIDを用いたシングルサインオンとは?

SAMLよりもOpenIDを使うメリット

SAMLを用いた場合、それぞれのサーバがログイン情報を生成し、共有する必要がありました。
これでは、ログインの機能がサーバごとに分散して、セキュリティ対策のために変更する場合など管理が大変です。
また、自社以外のサービスと、ログイン情報を共有するためには、それぞれに合わせてログイン情報を協議する必要もあり、開発するのが大変です。

このような管理や開発の大変さを減らそうということで考えられたのが、OpenIDです。

Openと名前がついていることからもわかるように、特定のサービスを行う会社が通知するログイン情報を公表して、他の企業に使ってもらいます。
例えば、Yahoo!やGoole、LineやFaceBookなどの多くの人が使っているサービスのログイン情報を用います。

OpenIDの実現方法

実現方法は次のような動作で行います。
といっても、図としてはSAMLと同じです。
SAML
また、動作パターンもSAMLのパターン2を変更したものになります。

パターン2:他サーバへログイン情報の確認

  1. ユーザーがあるサーバAにログインする
  2. サーバAがログイン情報を生成する
  3. ユーザーがサーバBにアクセスする
  4. サーバBはログイン情報を共有できるサーバAにログインしているか確認を要求する
    • サーバAに生成したログイン情報がない場合
      1. ログイン情報がないとサーバBに通知する
      2. ないと通知を受けたサーバBはサーバAにログインするように画面に表示するなど、ユーザーにサーバAでのログインを行ってもらう
      3. サーバAにログインが終わると、サーバAに生成したログイン情報がある場合の動作を行う
    • サーバAに生成したログイン情報がある場合
      1. ログイン情報を共有するサーバBに送信する
      2. ログイン情報を受け取ったサーバBはログインしている状態になりユーザにサービスを行う

クライアントであるPCやスマートフォンにログイン情報は送られません。
このため、SAML同様、クッキーの欠点である、攻撃者による盗み見や偽情報によるログインを行うことができなくなります。

また、サーバ間でログイン情報を共有することにより、ユーザーはログイン操作を1回で行えるシングルサインオンが実現できます。

タグ:


広告枠・・・広告やリンク先の保証はしません

参考記事(一部広告含む)


このページの記事についてちょっと質問!