情報セキュリティ講座(61) パスワード認証③ シングルサインオン

シングルサインオン(SSO = Single Sign On)とは、ユーザが一度ログインすると、違うアプリケーションを起動した際に、いちいちログインしなくてもよくなる仕組みです。

アプリケーションは、それぞれIDとパスワードを保有していますから、そのアプリケーションを使う都度、IDとパスワードを入力する必要があります。ユーザにとっては、いちいちパスワードを入力するのは大変です。さらには、パスワードをいちいち違うものを設定するのは面倒臭いということで、わかりやすい共通のパスワードを設定しがちです。そうなると却ってセキュリティレベルが下がってしまいます。

そこで、利用者がPCなどで一度ログインすると、そのIDとパスワードが引き継がれるようにする仕組みが考案されました。それがSSOです。

その方法の一つが、エージェント型(チケット型)で、SSOを実現するサーバに、エージェントアプリケーションを導入します。ユーザは認証サーバで認証された際にチケットを受けとり、後はそのチケットで各アプリケーションはそのユーザが認証済であることを確認する、という仕組みです。

Webアプリケーションで、クッキーに保存されるものが、その代表例ですが、この場合はアプリケーションサーバは、同じドメインに配置される必要があります。

リバースプロキシ型は、ユーザの要求を一旦リバースプロキシが受けて、認証もそこで行う方式です。クッキーによるSSOと異なり、サーバは異なるドメインにおいても、問題がありません。

WEBによるアプリケーションでも、異なるドメイン間でSSOを実現するためのフレームワークも存在し、それをSAML (Security Assertion Markup Language)といいます。IDやパスワードなどの認証情報を安全に交換するための仕組みです。

シングルサインオンは、ユーザの利便性とセキュリティの両立を図るもので、重要な仕掛けですので、実現方法について、ベンダによく確認する必要があると思います。

投稿者プロフィール

小笠原 裕
小笠原 裕中小企業診断士 行政書士
バラの咲く街、八千代市緑が丘で、コンサルティング事務所を運営しています。