前回、シングルサインオン(SSO)認証について記載しましたが今回はSSOの認証方式の種類と仕組みについて記載します。
シングルサインオン(SSO)認証方式の種類
大きく分けて下記5つ
1.エージェント方式
2.リバースプロキシ方式
3.代理認証方式
4.フェデレーション方式
5.透過型方式
1.エージェント方式
仕組み
エージェント方式では、クライアント側にエージェント(ソフトウェア)を導入。
ユーザーがサービスにアクセスすると、エージェントが認証サーバーにユーザーの認証情報を送信し認証を行い、認証が成功すると、エージェントはサービスにアクセスする際トークンを提供し、ユーザーはログインせずにサービスを利用可能。
メリット
サービス側での大規模な変更が不要であり、既存のアプリケーションでも比較的容易に導入可能。
クライアント側での認証情報の保持が可能で、セキュリティが強化される。
デメリット
クライアント側にエージェントをインストールする必要があり、管理が煩雑になる場合がある状況。
エージェントが正常に動作しない場合、認証が失敗する可能性あり。
2. リバースプロキシ方式
仕組み
リバースプロキシサーバーが認証を行い、ユーザーをサービスに透過的に認証実施。
ユーザーがサービスにアクセスすると、リバースプロキシサーバーが認証情報を要求しユーザーの認証を行い、認証が成功すると、リバースプロキシサーバーはユーザーのリクエストをサービスに転送し、ユーザーはログインせずにサービスを利用可能。
メリット
サービス側での変更が不要であり、既存のインフラストラクチャに統合しやすい。
ユーザーにとっては透過的な認証が提供され、利便性が高い。
デメリット
リバースプロキシサーバーが単一障害点となり得るため、冗長化や負荷分散が必要。
サービス間で認証情報の共有が難しい場合あり。
3. 代理認証方式
仕組み
代理認証方式では、ユーザーの代理人がユーザーを代理して認証実施。
代理人が認証サーバーに認証情報を提供し、ユーザーの代理としてサービスにアクセス可能。
サービスは代理人からの認証情報を受け入れ、ユーザーはログインせずにサービスを利用できます。
メリット
ユーザーが認証情報を直接提供する必要がないため、セキュリティが向上する。
代理人がユーザーの認証を管理し、認証情報の共有を容易にすることが可能。
デメリット
代理人による認証は信頼性が問題となります。代理人の認証情報が漏洩した場合、セキュリティ上のリスクが発生し、代理人の管理が煩雑になる場合がある。
4. フェデレーション方式
仕組み
フェデレーション方式では、複数の組織間で認証情報を共有。
ユーザーがアクセスしようとするサービスの認証サーバーにリダイレクトされ、ユーザーの所属する組織のフェデレーションサーバーに認証情報が送信される。
フェデレーションサーバーがユーザーを認証し、サービスに対するトークンを発行します。ユーザーはログインせずにサービスを利用可能。
利点
複数の組織間で認証情報を共有することができ、利便性が向上。
フェデレーションサーバーが認証を管理するため、セキュリティが強化される。
デメリット
複数の組織間での信頼関係が必要であり、設定や管理が煩雑になる場合がある。
フェデレーションサーバーがダウンした場合、アクセスに支障が生じる可能性あり。
5. 透過型方式
仕組み
透過型方式では、ユーザーがサービスにアクセスすると、認証が自動的に行われる。
例えば、ユーザーが企業のネットワーク内にいる場合、ネットワークに接続されている端末からのアクセスであれば、ユーザーの認証情報が自動的に識別される。
このような認証方式は、透過型認証と呼ばれる。
メリット
ユーザーが特別な操作を行わずに認証が行われるため、利便性が高い。
ネットワーク内にいる場合に限定されるため、外部からの不正アクセスが制限される。
デメリット
ネットワーク外からのアクセスでは認証が行われないため、セキュリティリスクが生じる可能性あり。
ユーザーがネットワーク外からのアクセスを必要とする場合には、追加の認証手段が必要になる。
参考情報