IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 日立電線ネットワークス株式会社の特許一覧

<>
  • 特許-サーバ装置およびネットワークシステム 図1
  • 特許-サーバ装置およびネットワークシステム 図2
  • 特許-サーバ装置およびネットワークシステム 図3
  • 特許-サーバ装置およびネットワークシステム 図4
  • 特許-サーバ装置およびネットワークシステム 図5
  • 特許-サーバ装置およびネットワークシステム 図6
  • 特許-サーバ装置およびネットワークシステム 図7
  • 特許-サーバ装置およびネットワークシステム 図8
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-02-03
(45)【発行日】2023-02-13
(54)【発明の名称】サーバ装置およびネットワークシステム
(51)【国際特許分類】
   G06F 21/41 20130101AFI20230206BHJP
   H04L 61/00 20220101ALI20230206BHJP
   H04L 61/5014 20220101ALI20230206BHJP
【FI】
G06F21/41
H04L61/00
H04L61/5014
【請求項の数】 9
(21)【出願番号】P 2020069563
(22)【出願日】2020-04-08
(65)【公開番号】P2021165977
(43)【公開日】2021-10-14
【審査請求日】2022-04-04
(73)【特許権者】
【識別番号】300059979
【氏名又は名称】エイチ・シー・ネットワークス株式会社
(74)【代理人】
【識別番号】110002066
【氏名又は名称】弁理士法人筒井国際特許事務所
(72)【発明者】
【氏名】小野 勝人
(72)【発明者】
【氏名】秋山 純哉
(72)【発明者】
【氏名】柴田 功克
(72)【発明者】
【氏名】西野宮 浩志
【審査官】岸野 徹
(56)【参考文献】
【文献】特開2008-244840(JP,A)
【文献】特開2009-003559(JP,A)
【文献】特開2008-152596(JP,A)
【文献】特開2013-073421(JP,A)
【文献】特開2017-204697(JP,A)
【文献】国際公開第2020/061153(WO,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 21/41
H04L 61/00
(57)【特許請求の範囲】
【請求項1】
ユーザにユーザ端末を介して1回のログイン操作を行わせることで、内部ネットワークを介して前記ユーザ端末に接続される複数のサービスプロバイダへのログインを可能にするサーバ装置であって、
前記ユーザのユーザ識別子と、前記ユーザに対するログイン認証許可またはログイン認証拒否を定めるログイン認証可否情報と、前記ユーザがログイン中の前記サービスプロバイダとの対応関係を保持するログインデータベースと、
前記ログインデータベースに基づいて、前記ユーザの前記ログイン操作またはログアウト操作に応じた制御を行う制御部と、
を有し、
前記ユーザ識別子を、前記内部ネットワークの認証可否を判定する認証サーバでネットワーク認証拒否に定める場合に、前記ユーザ識別子を、前記ログインデータベースで前記ログイン認証拒否に定めるための認証拒否情報が作成され、
前記制御部は、前記認証拒否情報を受信した際に、前記ユーザ識別子に対応する前記ログイン認証可否情報が前記ログイン認証拒否となるように前記ログインデータベースを更新し、前記ログインデータベースに基づいて、前記ユーザがログイン中の前記サービスプロバイダへログアウト要求を送信する、
サーバ装置。
【請求項2】
請求項1記載のサーバ装置において、
前記制御部は、前記認証拒否情報を前記認証サーバから受信する、
サーバ装置。
【請求項3】
請求項1記載のサーバ装置において、
前記制御部は、前記ユーザの前記ログアウト操作に伴うログアウト命令を前記ユーザ端末から受信した際に、前記ログインデータベースに基づいて、前記ユーザがログイン中の前記サービスプロバイダへログアウト要求を送信する、
サーバ装置。
【請求項4】
内部ネットワークと、
複数のサービスプロバイダが接続される外部ネットワークと、
前記内部ネットワークと、ユーザによって使用されるユーザ端末との間に接続され、前記ユーザ端末から前記内部ネットワークの認証を求めるネットワーク認証要求を受信する認証クライアントと、
前記内部ネットワークに接続され、前記ネットワーク認証要求に伴う前記認証クライアントからの認証判定要求に応じて、認証データベースに基づいてネットワーク認証許可/ネットワーク認証拒否を判定し、前記ネットワーク認証許可/ネットワーク認証拒否の判定結果を前記認証クライアントへ応答する認証サーバと、
前記内部ネットワークに接続され、前記ユーザに前記ユーザ端末を介して1回のログイン操作を行わせることで、前記複数のサービスプロバイダへのログインを可能にするサーバ装置と、
を有するネットワークシステムであって、
前記サーバ装置は、
前記ユーザのユーザ識別子と、前記ユーザに対するログイン認証許可またはログイン認証拒否を定めるログイン認証可否情報と、前記ユーザがログイン中の前記サービスプロバイダとの対応関係を保持するログインデータベースと、
前記ログインデータベースに基づいて、前記ユーザの前記ログイン操作またはログアウト操作に応じた制御を行う制御部と、
を有し、
前記ユーザ識別子を前記認証データベースで前記ネットワーク認証拒否に定める場合に、前記ユーザ識別子を前記ログインデータベースで前記ログイン認証拒否に定めるための認証拒否情報が作成され、
前記制御部は、前記認証拒否情報を受信した際に、前記ユーザ識別子に対応する前記ログイン認証可否情報が前記ログイン認証拒否となるように前記ログインデータベースを更新し、前記ログインデータベースに基づいて、前記ユーザがログイン中の前記サービスプロバイダへログアウト要求を送信する、
ネットワークシステム。
【請求項5】
請求項4記載のネットワークシステムにおいて、
前記制御部は、前記認証拒否情報を前記認証サーバから受信する、
ネットワークシステム。
【請求項6】
請求項4記載のネットワークシステムにおいて、
前記制御部は、前記ユーザの前記ログアウト操作に伴うログアウト命令を前記ユーザ端末から受信した際に、前記ログインデータベースに基づいて、前記ユーザがログイン中の前記サービスプロバイダへログアウト要求を送信する、
ネットワークシステム。
【請求項7】
請求項4記載のネットワークシステムにおいて、
前記内部ネットワークに接続され、前記ユーザ端末にIPアドレスを割り当て、前記IPアドレスを割り当てた場合に、前記ユーザ端末のIPアドレスおよびMACアドレスを含むDHCP(Dynamic Host Configuration Protocol)ログを作成するDHCPサーバと、
前記内部ネットワークに接続され、前記ネットワーク認証許可の際に前記認証サーバまたは前記認証クライアントの一方によって作成される認証許可ログと、前記DHCPサーバからの前記DHCPログとを受けて、前記ユーザ識別子と前記ユーザ端末のIPアドレスとの対応関係を端末管理データベースに登録するログ管理サーバと、
前記内部ネットワークから前記外部ネットワークへ向けた通信を監視し、不正通信を検知した際に前記不正通信に伴う送信元のIPアドレスを含む不正通信検知ログを前記ログ管理サーバへ送信する不正通信検知装置と、
を有し、
前記認証許可ログは、前記ネットワーク認証許可の対象となる前記ユーザ識別子と、前記ユーザ端末のMACアドレスとを含み
前記ログ管理サーバは、前記不正通信検知ログと前記端末管理データベースとに基づいて、前記認証拒否情報を作成する、
ネットワークシステム。
【請求項8】
請求項7記載のネットワークシステムにおいて、
前記ログ管理サーバは、前記認証拒否情報を前記認証サーバと前記サーバ装置とへ送信する、
ネットワークシステム。
【請求項9】
請求項7記載のネットワークシステムにおいて、
前記ログ管理サーバは、前記認証拒否情報を前記認証サーバへ送信し、
前記サーバ装置は、前記認証拒否情報を前記認証サーバから受信する、
ネットワークシステム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、サーバ装置およびネットワークシステムに関し、例えば、SSO(Single Sign On)に伴う認証技術に関する。
【背景技術】
【0002】
特許文献1には、ログ管理サーバや不正通信検知装置等を用いて、不正通信を遮断するネットワークシステムが示される。具体的には、ログ管理サーバは、認証サーバ等からのアカウントIDを含む認証許可ログと、DHCPサーバからのDHCPログとを受けて、アカウントIDとIPアドレスとの対応関係をDBに登録する。そして、ログ管理サーバは、不正通信検知装置からIPアドレスを含む不正通信検知ログを受けた際に、対応するアカウントIDを認証拒否にする命令を、認証サーバへ送信する。
【先行技術文献】
【特許文献】
【0003】
【文献】特開2017-204697号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
例えば、特許文献1のような方式を用いると、不正通信を行ったこと等により悪意があるとみなされたユーザ(明細書では、不正なユーザと呼ぶ)のユーザIDを、認証サーバの管理範囲であるネットワーク認証レベルで認証拒否に定めることが可能である。認証サーバは、例えば、RADIUS(Remote Authentication Dial In User Service)サーバ等である。ただし、このような方式のみでは、不正なユーザが、アプリケーションレベルで所定のサービスプロバイダにログインし、サービスを利用できるような事態が生じ得る。
【0005】
具体的には、例えば、不正なユーザが、ネットワーク認証レベルで認証許可されているユーザ端末や共用端末等を不正に使って、自身のユーザIDでサービスプロバイダにログインするような場合が挙げられる。しかし、本来、当該不正なユーザに対するネットワークの認証は拒否されているため、当該ネットワークを使ったサービスの利用も拒否されることが望ましい。
【0006】
本発明は、このようなことに鑑みてなされたものであり、その目的の一つは、ネットワークのセキュリティを高めることが可能なサーバ装置およびネットワークシステムを提供することにある。
【0007】
本発明の前記並びにその他の目的と新規な特徴は、本明細書の記述及び添付図面から明らかになるであろう。
【課題を解決するための手段】
【0008】
本願において開示される発明のうち、代表的な実施の形態の概要を簡単に説明すれば、次のとおりである。
【0009】
一実施の形態によるサーバ装置は、ユーザにユーザ端末を介して1回のログイン操作を行わせることで、内部ネットワークを介してユーザ端末に接続される複数のサービスプロバイダへのログインを可能にするものであり、ログインデータベースと、制御部と、を有する。ログインデータベースは、ユーザのユーザ識別子と、ユーザに対するログイン認証許可またはログイン認証拒否を定めるログイン認証可否情報と、ユーザがログイン中のサービスプロバイダとの対応関係を保持する。制御部は、ログインデータベースに基づいて、ユーザのログイン操作またはログアウト操作に応じた制御を行う。ここで、ユーザ識別子を、内部ネットワークの認証可否を判定する認証サーバでネットワーク認証拒否に定める場合に、ユーザ識別子を、ログインデータベースでログイン認証拒否に定めるための認証拒否情報が作成される。制御部は、当該認証拒否情報を受信した際に、ユーザ識別子に対応するログイン認証可否情報がログイン認証拒否となるようにログインデータベースを更新し、ログインデータベースに基づいて、ユーザがログイン中のサービスプロバイダへログアウト要求を送信する。
【発明の効果】
【0010】
本願において開示される発明のうち、代表的な実施の形態によって得られる効果を簡単に説明すると、ネットワークのセキュリティを高めることが可能になる。
【図面の簡単な説明】
【0011】
図1】本発明の実施の形態1によるネットワークシステムにおける主要部の構成例を示す概略図である。
図2図1におけるログインサーバが有するログインDBの構成例を示す概略図である。
図3図1において、ログインサーバを用いてSSOを行う際の処理内容の一例を示すシーケンス図である。
図4図3とは異なる処理内容の一例を示すシーケンス図である。
図5図1において、ログインサーバの主要部の構成例を示すブロック図である。
図6図1および図5のログインサーバを用いて行われる主要な処理内容の一例を示すシーケンス図である。
図7】本発明の実施の形態2によるネットワークシステムにおける主要部の構成例および動作例を示す概略図である。
図8図7に続く構成例および動作例を示す概略図である。
【発明を実施するための形態】
【0012】
以下、本発明の実施の形態を図面に基づいて詳細に説明する。なお、実施の形態を説明するための全図において、同一の部材には原則として同一の符号を付し、その繰り返しの説明は省略する。
【0013】
(実施の形態1)
《ネットワークシステムの構成》
図1は、本発明の実施の形態1によるネットワークシステムにおける主要部の構成例を示す概略図である。図1に示すネットワークシステムは、イントラネット等の内部ネットワーク10と、インターネット等の外部ネットワーク11と、ルータ13と、認証サーバ17と、ログインサーバ(サーバ装置)18と、認証スイッチSWとを備える。外部ネットワーク11には、所定のサービス(言い換えればアプリケーション)を提供する複数のサービスプロバイダ(言い換えればアプリケーションサーバ)SPa,SPbが接続される。
【0014】
内部ネットワーク10は、例えば、OSI参照モデルのレイヤ3(L3)やレイヤ2(L2)のネットワークである。ルータ13は、内部ネットワーク10と外部ネットワーク11との間に接続される。認証スイッチSWは、内部ネットワーク10と、ユーザによって使用されるユーザ端末TM10との間に接続される。認証サーバ17およびログインサーバ18は、内部ネットワーク10に接続される。
【0015】
認証スイッチSWは、認証サーバ17に対する認証クライアント(例えば、RADIUSクライアント)である。認証スイッチSWは、例えば、レイヤ2(L2)の中継処理を行うL2スイッチであり、ポートP1,…を備える。この例では、ポートP1には、正規のユーザ14aによって使用されるユーザ端末TM10が接続される。ユーザ端末TM10には、IPアドレス“IPA10”およびMACアドレス“MA10”が設定される。
【0016】
認証サーバ17は、例えば、認証クライアントからの認証判定要求に応じて内部ネットワーク10の認証可否を判定するRADIUSサーバ等である。明細書では、認証サーバ17によって行われる認証をネットワーク認証と呼ぶ。認証サーバ17は、記憶部23に保持される認証データベース(明細書では、データベースをDBと略す)24を有する。認証DB24は、例えば、ユーザのユーザ識別子(明細書では、識別子をIDと略す)およびパスワード(PW)と、ユーザID毎のネットワーク認証許可/ネットワーク認証拒否を表すネットワーク認証可否情報27との対応関係を保持する。
【0017】
なお、認証DB24は、外部のディレクトリサーバが有してもよい。この場合、認証サーバ17は、ディレクトリサーバとの間でLDAP(Lightweight Directory Access Protocol)等に基づく通信を行うことで、認証DB24にアクセスすればよい。
【0018】
ログインサーバ(サーバ装置)18は、SSOサーバであり、ユーザにユーザ端末TM10を介して1回のログイン操作を行わせることで、外部ネットワーク11に接続される複数のサービスプロバイダSPa,SPbへのログインを可能にするものである。言い換えれば、ログインサーバ18は、1回のログイン操作に基づいて、各サービスプロバイダへのログインに伴う認証可否を判定する。明細書では、ログインサーバ18によって行われる認証をログイン認証と呼ぶ。ログインサーバ18は、例えば、SAML(Security Assertion Markup Language)規格ではIdp(Identity provider)と呼ばれる。
【0019】
ログインサーバ18は、記憶部25に保持されるログインDB26を有する。図2は、図1におけるログインサーバが有するログインDBの構成例を示す概略図である。図2に示すログインDB26は、ユーザのユーザIDおよびパスワード(PW)と、当該ユーザのログイン権限情報30と、当該ユーザのログイン認証可否情報31と、当該ユーザのログインセッション情報32との対応関係を保持する。この内、ユーザIDおよびパスワード(PW)と、ログイン権限情報30は、例えば、予め管理者等によって登録される。
【0020】
ログイン権限情報30は、複数のサービスプロバイダSPa,SPbのそれぞれに対するログイン権限の有無を表す。ログイン認証可否情報31は、ユーザに対するログイン認証許可またはログイン認証拒否を定める。ログインセッション情報32は、ユーザがログイン中のサービスプロバイダSPa,SPbを表す。すなわち、ログインサーバ18は、ユーザがログイン権限を有するサービスプロバイダに対してログイン中であるか否か(言い換えれば、ログインセッションを確立しているか未確立であるか)を逐次管理する。
【0021】
《ネットワークシステムの概略動作および前提となる問題点》
ここで、図1において、内部ネットワーク10のネットワーク認証について簡単に説明する。まず、認証DB24には、予め管理者等によって、認証の対象となるユーザIDおよびパスワード(PW)が登録されている。この例では、MACアドレス認証に対応するユーザID“MA10”と、ユーザIDおよびパスワード(PW)を用いた認証に対応するユーザID“UID20”およびパスワード“pp20”とが登録されている。また、初期状態では、認証DB24内の各ユーザIDのネットワーク認証可否情報27は、ネットワーク認証許可に設定されているものとする。
【0022】
続いて、認証スイッチSW(認証クライアント)は、ポートP1と内部ネットワーク10との通信経路を遮断した状態で、ユーザ端末TM10から内部ネットワーク10の認証を求めるネットワーク認証要求を受信する。認証スイッチSWは、このネットワーク認証要求に応じて、認証サーバ17へ認証判定要求を送信する。認証サーバ17は、認証スイッチSWからの認証判定要求に応じて、認証データベースDBに基づいてネットワーク認証許可/ネットワーク認証拒否を判定し、その判定結果を認証スイッチSWへ応答する。
【0023】
この例では、認証サーバ17は、認証DB24内で、ユーザID“MA10”(すなわちユーザ端末TM10のMACアドレス)がネットワーク認証許可に設定されているため、ネットワーク認証許可と判定し、その旨を認証スイッチSWへ応答する。認証スイッチSWは、このネットワーク認証許可の応答を受けて、ポートP1と内部ネットワーク10との通信経路を開放する。これによって、ユーザ端末TM10は、内部ネットワーク10を使用することが可能になる。
【0024】
一方、ユーザID“UID20”を有するユーザ14bは、例えば、過去に何らかの不正な通信を行った結果として、図1に示されるように、認証DB24内でネットワーク認証拒否に定められているものとする。また、ユーザ端末TM10は、本来、単数または複数の正規のユーザ14aによって使用される端末または共通端末であるものとする。この場合、ユーザ端末TM10が正規のユーザ14aによって使用される際には問題が生じないが、不正なユーザ14bによって使用される際には問題が生じ得る。すなわち、本来、内部ネットワーク10を使用することが禁止されている不正なユーザ14bであっても、ユーザ端末TM10を介して内部ネットワーク10を使用可能となる。
【0025】
この場合、不正なユーザ14bは、ユーザ端末TM10および内部ネットワーク10を介してログインサーバ18へログイン命令を送信することができる。図2のログインDB26の例では、ユーザID“UID20”のログイン認証可否情報31は、ログイン認証許可に設定されている。この場合、不正なユーザ14bが、ログインサーバ18に対して自身のユーザID“UID20”およびパスワード“pp20”を用いてログイン認証を要求すると、ログインサーバ18は、当該要求に対してログイン認証許可と判定する。
【0026】
その結果、不正なユーザ14bは、ユーザ端末TM10および内部ネットワーク10を介して、外部ネットワーク11に接続されるサービスプロバイダSPa,SPbへログインし、所定のサービスを利用することが可能になる。しかし、本来、当該不正なユーザ14bによる内部ネットワーク10の使用は、認証DB24によって禁止されているため、当該内部ネットワーク10を使ったサービスの利用も禁止されることが望ましい。
【0027】
《ログインサーバを用いたSSOの概略動作》
図3は、図1において、ログインサーバを用いてSSOを行う際の処理内容の一例を示すシーケンス図である。図4は、図3とは異なる処理内容の一例を示すシーケンス図である。図3は、ログインサーバ(Idp)18を起点としてSSOを実現する際の処理シーケンスであり、図4は、サービスプロバイダ(ここではSPa)を起点としてSSOを実現する際の処理シーケンスである。
【0028】
図3において、まず、ユーザは、ユーザ端末TM10のブラウザを介してログインサーバ18へログイン命令LINを送信する(ステップS101)。具体的には、ユーザは、例えば、ログインサーバ18から提供されるブラウザのログイン/ログアウト画面上で、ユーザIDおよびパスワード(PW)の入力を含めたログイン操作を行う。このログイン操作に応じて、ブラウザは、ログインサーバ18へログイン命令LINを送信する。
【0029】
続いて、ログインサーバ18は、ログイン命令LINに伴うユーザIDおよびパスワード(PW)をログインDB26に基づいて検証する。そして、ログインサーバ18は、当該ユーザIDに対してログイン権限が与えられているサービスプロバイダの中から、いずれかのサービスプロバイダを選択させるためのSP選択画面を、ユーザ端末TM10のブラウザに表示させる(ステップS102)。
【0030】
次いで、ユーザが、SP選択画面上で例えばサービスプロバイダSPaを選択すると、ユーザ端末TM10は、ログインサーバ18へサービスプロバイダSPaの選択命令を送信する(ステップS103)。ログインサーバ18は、当該選択命令を受けて、ユーザ端末TM10へサービスプロバイダSPaへのHTTPリダイレクト要求を送信し(ステップS104)、これに応じて、ユーザ端末TM10は、サービスプロバイダSPaへのHTTPリダイレクトを実行する(ステップS105)。
【0031】
続いて、サービスプロバイダSPaは、ログイン認証要求ARQを作成し、それをユーザ端末TM10を介してログインサーバ18へ送信する(ステップS106)。具体的には、サービスプロバイダSPaは、例えば、予め設定されたログインサーバ18のURL(Uniform Resource Locator)を用いて、ユーザ端末TM10のブラウザに当該URLへのHTTPリダイレクト等を行わせることで、ログイン認証の認証可否を含めた認証情報を問い合わせる。なお、例えば、SAML規格では、当該ログイン認証要求ARQは、“AuthnRequest”と呼ばれる。
【0032】
次いで、ログインサーバ18は、認証情報を秘密鍵で電子署名し、それを含んだログイン認証応答ARSをHTMLフォームに配置して、ユーザ端末TM10へ送信する(ステップS107)。また、この際に、ログインサーバ18は、例えば、HTMLフォームに対して、サービスプロバイダSPaへ自動送信するためのスクリプトを付加する。なお、例えば、SAML規格では、当該認証情報は“Assertion”と呼ばれ、当該ログイン認証応答ARSは“Response”と呼ばれる。
【0033】
続いて、ユーザ端末TM10のブラウザは、受信したログイン認証応答ARSを含むHTMLフォームを、HTTP POSTメソッド(POSTバインディングとも呼ばれる)を用いてサービスプロバイダSPaへ送信する(ステップS108)。サービスプロバイダSPaは、HTMLフォームからログイン認証応答ARSを取得し、その中の認証情報をログインサーバ18の公開鍵で復号する。そして、サービスプロバイダSPaは、復号した認証情報に基づいて、ユーザのログインを許可すると共に、アクセス権限を検証した上で、所定のリソースをユーザへ提供する(ステップS109)。
【0034】
その後、ユーザは、ステップS103の場合と同様に、SP選択画面上で例えばサービスプロバイダSPbを選択すると、ユーザ端末TM10は、ログインサーバ18へサービスプロバイダSPbの選択命令を送信する(ステップS110)。その後は、ステップS111~S116において、ステップS104~S109の場合と同様の処理がサービスプロバイダSPbを対象として行われる。
【0035】
ここで、ログインサーバ18は、例えば、ステップS107の段階でサービスプロバイダSPaへのログインセッションが確立された(すなわち、サービスプロバイダSPaにログイン中)と判断し、図2のログインDB26内のログインセッション情報32を更新する。同様に、ログインサーバ18は、例えば、ステップS114の段階でサービスプロバイダSPbへのログインセッションが確立された(すなわち、サービスプロバイダSPbにログイン中)と判断し、ログインセッション情報32を更新する。
【0036】
その後、ユーザは、ユーザ端末TM10のブラウザを介してログインサーバ18へログアウト命令LOUTを送信する(ステップS117)。具体的には、ユーザは、例えば、ログインサーバ18から提供されるブラウザのログイン/ログアウト画面上でログアウト操作を行う。これに応じて、ブラウザは、ログインサーバ18へログアウト命令LOUTを送信する。
【0037】
ログインサーバ18は、ログアウト命令LOUTをユーザ端末TM10から受信した際に、図2のログインDB26に基づいて、ユーザがログイン中のサービスプロバイダへログアウト要求LORQを送信する(ステップS118,S119)。図3の例では、ログインサーバ18は、サービスプロバイダSPa,SPbの両方に対して、それぞれ、ログアウト要求LORQを送信する。これにより、サービスプロバイダSPa,SPbは、ユーザを自身からログアウトさせる。なお、例えば、SAML規格では、当該ログアウト要求LORQは、“LogoutRequest”と呼ばれる。
【0038】
また、ログインサーバ18は、例えば、ステップS118の段階でサービスプロバイダSPaへのログインセッションが未確立になった(すなわち、サービスプロバイダSPaからログアウトされた)と判断し、図2のログインDB26内のログインセッション情報32を更新する。同様に、ログインサーバ18は、例えば、ステップS119の段階でサービスプロバイダSPbへのログインセッションが未確立になった(すなわち、サービスプロバイダSPbからログアウトされた)と判断し、ログインセッション情報32を更新する。
【0039】
このように、ユーザによる1回のログアウト操作でログイン中の複数のサービスプロバイダSPa,SPbへのログアウトを実現する機能は、シングルログアウト(SLO)と呼ばれる。シングルログアウト(SLO)機能は、例えば、SAML 2.0規格等で規定される。なお、ログインDB26内のログインセッション情報32が確立から未確立に変更されるケースとして、ステップS117のようにログアウト命令LOUTを受けたケースの他に、主に、次のようなケースが挙げられる。一つ目は、ステップS101でのログイン命令LINに伴うユーザ端末TM10とログインサーバ18との間のログインセッションがタイムアウトに達したケースであり、二つ目は、ユーザ端末TM10のブラウザが閉じられたケースである。
【0040】
図4において、まず、ユーザは、ユーザ端末TM10のブラウザを介してサービスプロバイダSPaへアクセスする(ステップS201)。続いて、サービスプロバイダSPaは、図3のステップS106の場合と同様に、ログイン認証要求ARQを作成し、それをユーザ端末TM10を介してログインサーバ18へ送信する(ステップS202)。続いて、図3の場合と異なり、ログインサーバ18は、ログイン認証要求ARQを受けてユーザ端末TM10へログイン情報を要求する(ステップS203)。これに応じて、ユーザ端末TM10は、ログインサーバ18へログイン命令LINを送信する(ステップS204)。
【0041】
ステップS203,S204において、具体的には、図3のステップS101の場合と同様に、ログインサーバ18は、ユーザ端末TM10のブラウザにログイン/ログアウト画面を提供する(ステップS203)。ユーザは、当該ログイン/ログアウト画面上で、ユーザIDおよびパスワード(PW)の入力を含めたログイン操作を行うことでログインサーバ18へログイン命令LINを送信する(ステップS204)。
【0042】
その後は、ステップS205~S207において、図3のステップS107~S109の場合と同様の処理が行われる。簡単に説明すると、ログインサーバ18は、認証情報を秘密鍵で電子署名し、それを含んだログイン認証応答ARSをHTMLフォームに配置して、ユーザ端末TM10へ送信する(ステップS205)。この際に、ログインサーバ18は、例えば、HTMLフォームに対して、ステップS202の要求元であるサービスプロバイダSPaへ自動送信するためのスクリプトを付加する。
【0043】
続いて、ユーザ端末TM10のブラウザは、受信したログイン認証応答ARSを含むHTMLフォームを、HTTP POSTメソッドを用いてサービスプロバイダSPaへ送信する(ステップS206)。サービスプロバイダSPaは、HTMLフォームからログイン認証応答ARSを取得し、その中の認証情報を復号した後、当該認証情報に基づいて、ユーザのログインを許可すると共に、アクセス権限を検証した上で所定のリソースをユーザへ提供する(ステップS207)。
【0044】
その後、ユーザは、ユーザ端末TM10のブラウザを介してサービスプロバイダSPbへアクセスする(ステップS208)。これに応じて、ステップS209~S212において、ステップS202,S205~S207の場合と同様の処理がサービスプロバイダSPbを対象として行われる。すなわち、サービスプロバイダSPaの場合と異なり、ユーザ端末10からログインサーバ18へのログイン認証(ひいてはサービスプロバイダSPbにログインするための認証)はステップS203,S204で既に完了しているため、これらの処理は行われない。
【0045】
その後、ユーザは、ユーザ端末TM10のブラウザを介してサービスプロバイダSPaへログアウト命令LOUTを送信する(ステップS213)。ここで、例えば、シングルログアウト(SLO)機能に対応したサービスプロバイダでは、このログアウト命令LOUT(例えば、サービスプロバイダSPaからの提供画面上でのログアウト操作)をシングルログアウト(SLO)として取り扱うことが可能である。
【0046】
この場合、サービスプロバイダSPaは、自身からユーザをログアウトすると共に、例えば、HTTPリダイレクトを用いて、ユーザ端末TM10のブラウザを介してログインサーバ18へログアウト要求LORQを送信する(ステップS214)。ログインサーバ18は、サービスプロバイダSPaからのログアウト要求LORQを受け、ログインDB26に基づいて、ユーザがログイン中の他のサービスプロバイダSPbへログアウト要求LORQを送信する(ステップS215)。これを受けて、サービスプロバイダSPbも、自身からユーザをログアウトさせる。
【0047】
ここで、ログインサーバ18は、例えば、ステップS205の段階でサービスプロバイダSPaへのログインセッションが確立された(すなわち、サービスプロバイダSPaにログイン中)と判断し、図2のログインDB26内のログインセッション情報32を更新する。同様に、ログインサーバ18は、例えば、ステップS210の段階でサービスプロバイダSPbへのログインセッションが確立された(すなわち、サービスプロバイダSPbにログイン中)と判断し、ログインセッション情報32を更新する。
【0048】
また、ログインサーバ18は、例えば、ステップS214の段階でサービスプロバイダSPaへのログインセッションが未確立になった(すなわち、サービスプロバイダSPaからログアウトされた)と判断し、図2のログインDB26内のログインセッション情報32を更新する。さらに、ログインサーバ18は、例えば、ステップS215の段階でサービスプロバイダSPbへのログインセッションが未確立になった(すなわち、サービスプロバイダSPbからログアウトされた)と判断し、ログインセッション情報32を更新する。
【0049】
《ログインサーバの詳細》
図5は、図1において、ログインサーバの主要部の構成例を示すブロック図である。図5に示すログインサーバ(Idp)18は、制御部35と、記憶部25とを備える。記憶部25は、例えば、RAM(Random access memory)、不揮発性メモリ、ハードディスクドライブ、SSD(Solid State Drive)等の組み合わせで構成され、図2に示したようなログインDB26を保持する。制御部35は、例えば、記憶部25に格納された所定のプログラムをCPU(Central Processing Unit)等が実行することで実装される。ただし、このような実装形態に限らず、一部または全ての構成要素を、FPGA(Field Programmable Gate Array)やASIC(Application Specific Integrated Circuit)等のデバイスで実装してもよい。
【0050】
制御部35は、ログイン制御部36と、画面提供部37と、ログアウト制御部38と、認証拒否情報設定部39とを備え、ログインDB26に基づいて、ユーザのログイン操作またはログアウト操作に応じた各種制御を行う。ログイン制御部36は、ユーザ端末TMからのログイン命令LIN(図3のステップS101等)や、サービスプロバイダSPからのログイン認証要求ARQ(図4のステップS202等)を受けて、ログイン認証の可否判定や、認証情報の作成を行う。
【0051】
また、ログイン制御部36は、作成した認証情報をログイン認証応答ARSに包含し、当該ログイン認証応答ARSをユーザ端末TMのブラウザを介して要求元のサービスプロバイダSPへ送信する(図3のステップS107,S108等)。この際に、ログイン制御部36は、ログインDB26内のログインセッション情報32を更新する。さらに、ログイン制御部36は、必要に応じて、画面提供部37を介してログイン/ログアウト画面や、SP選択画面をユーザ端末TMのブラウザに表示させる(図3のステップS101,S102等)。
【0052】
ログアウト制御部38は、ユーザ端末TMからのログアウト命令LOUT(図3のステップS117等)や、サービスプロバイダSPからのログアウト要求LORQ(図4のステップS214等)を受信した際に、ログインDB26内のログインセッション情報32を参照する。そして、ログアウト制御部38は、ログインセッション情報32に基づいて、ユーザがログイン中のサービスプロバイダSPへログアウト要求LORQ(図3のステップS118,S119等)を送信する。この際に、ログイン制御部36は、ログインDB26内のログインセッション情報32を更新する。また、ログイン制御部36は、必要に応じて、画面提供部37を介してログイン/ログアウト画面をユーザ端末TMのブラウザに表示させる(図3のステップS117等)。
【0053】
さらに、ログアウト制御部38は、認証拒否情報ARIを受信した際にも、ログインDB26内のログインセッション情報32に基づいて、ユーザがログイン中のサービスプロバイダSPへログアウト要求LORQを送信する。認証拒否情報ARIは、所定のユーザIDをログインDB26内のログイン認証可否情報31等でログイン認証拒否に定めるための情報である。これにより、認証拒否情報ARIの対象となるユーザID(すなわち不正なユーザ)からのサービスプロバイダSPへのアクセスは、現在アクセス中であったとしても、認証拒否情報ARIを受信した時点で、サービスプロバイダSPによって強制的に遮断される。
【0054】
認証拒否情報設定部39は、認証拒否情報ARIを受信した際に、対象となるユーザIDに対応するログインDB26内のログイン認証可否情報31がログイン認証拒否となるようにログインDB26を更新する。これにより、仮にアクセスを強制的に遮断された不正なユーザが、再度、サービスプロバイダSPへのログイン認証を試みたとしても、当該ログイン認証は、ログインサーバ18(ログアウト制御部38)によって拒否される。
【0055】
図6は、図1および図5のログインサーバを用いて行われる主要な処理内容の一例を示すシーケンス図である。図6では、まず、ユーザID“UID20”を有するユーザがサービスプロバイダSPa又はSPbにログイン中となっている(ステップS301)。この状態で、例えば、当該ユーザが不正なユーザとみなされた場合、認証サーバ17は、認証DB24内で、ユーザID“UID20”のネットワーク認証可否情報27をネットワーク認証拒否に変更する(ステップS302)。
【0056】
また、ステップS302に伴い、ログインサーバ18は、ネットワーク認証拒否のユーザID“UID20”を含む認証拒否情報ARIを受信する(ステップS303)。この際には、認証サーバ17が、ステップS302の処理の際に、認証拒否情報ARIを作成してログインサーバ18へ送信する方式を用いることができる。または、ログインサーバ18が、認証サーバ17の認証DB24内でネットワーク認証拒否に定められているユーザIDを、認証拒否情報ARIとして認証サーバ17との定期的な通信を介して取得するような方式を用いてもよい。ただし、処理負荷および通信負荷の観点や、認証拒否情報ARIを迅速に反映させる観点では、前者の方式を用いる方が望ましい。
【0057】
また、ここでは、認証拒否情報ARIは認証サーバ17によって作成されたが、場合によっては、管理者等が認証拒否情報ARIを手動で作成し、ログインサーバ18(および認証サーバ17)に手動で反映させることも可能である。いずれの場合であっても、認証拒否情報ARIは、ユーザIDを認証サーバ17内でネットワーク認証拒否に定める場合に、併せて、ログインDB26内でもログイン認証拒否に定めるために作成される。
【0058】
ログインサーバ18(認証拒否情報設定部39)は、ステップS303での認証拒否情報ARIを受け、ログインDB26内のユーザID“UID20”に対応するログイン認証可否情報31をログイン認証拒否に変更する(ステップS304)。さらに、ログインサーバ18(ログアウト制御部38)は、ユーザID“UID20”のユーザ(すなわち不正なユーザ)がログイン中のサービスプロバイダSPa又はSPbへ、ログアウト要求LORQを送信する(ステップS305)。
【0059】
その結果、サービスプロバイダSPa又はSPbは、不正なユーザがログイン中であっても、当該不正なユーザを自身から強制的にログアウトさせることが可能になる(ステップS306)。これに伴い、当該不正なユーザは、その後に、ログインサーバ18へログイン命令LINを送信し、再度のログイン認証を試みる(ステップS307)。この場合であっても、ログインサーバ18は、ステップS304の処理が既に行われているため、当該ログイン認証を拒否することが可能になる(ステップS308)。
【0060】
《実施の形態1の主要な効果》
以上、実施の形態1のサーバ装置およびネットワークシステムを用いることで、代表的には、ネットワークのセキュリティを高めることが可能になる。具体的には、ネットワーク認証で認証拒否に定められたユーザをログイン認証でも認証拒否に定めることが可能になる。これにより、例えば、不正なユーザが、ネットワーク認証が許可されたユーザ端末を不正に用いてログイン認証を試みたとしても、当該ログイン認証を拒否することが可能になる。さらに、既にサービスプロバイダにログイン中のユーザであっても、当該ユーザが不正なユーザとみなされた時点で、当該ユーザを迅速かつ強制的にログアウトさせることが可能になる。
【0061】
なお、ここでは、説明の簡素化のため、同一ユーザに対する認証DB24内のユーザIDとログインDB26内のユーザIDとは、同一の値であるものとした。ただし、当該2個のユーザIDは、必ずしも同一の値である必要はなく、2個のユーザIDの対応関係を表すテーブル等をログインサーバ18内に設ければ、異なる値であってもよい。
【0062】
(実施の形態2)
《ネットワークシステムの概略》
図7は、本発明の実施の形態2によるネットワークシステムにおける主要部の構成例および動作例を示す概略図である。図8は、図7に続く構成例および動作例を示す概略図である。図7に示すネットワークシステムは、図1に示した構成例に加えて、不正通信検知装置12と、ログ管理サーバ15、DHCP(Dynamic Host Configuration Protocol)サーバ16とを有する。また、認証クライアント(例えば、RADIUSクライアント)として、図1に示した認証スイッチSWの他に、無線LANコントローラWLCが追加されている。
【0063】
無線LANコントローラWLCは、無線通信のアクセスポイントの機能とL2スイッチの機能とを備える。無線LANコントローラWLCは、認証スイッチSWの場合と同様に、内部ネットワーク10と、ユーザ端末TM20との間に接続され、ユーザ端末TM20から内部ネットワーク10の認証を求めるネットワーク認証要求を受信する。ユーザ端末TM20は、IPアドレス“IPA20”およびMACアドレス“MA20”が設定され、この例では、ユーザID“UID20”を有するユーザ14bによって使用される。
【0064】
DHCPサーバ16は、内部ネットワーク10に接続され、記憶部21に保持されるIP管理DB22を有する。DHCPサーバ16は、ユーザ端末TM10,TM20からのIPアドレスの割り当て要求に応じてIPアドレスを割り当て、当該IPアドレスと当該ユーザ端末のMACアドレスとの対応関係をIP管理DB22に登録する。さらに、DHCPサーバ16は、ユーザ端末にIPアドレスを割り当てた場合に、当該ユーザ端末のIPアドレスおよびMACアドレスを含むDHCPログLG2を作成し、ログ管理サーバ15へ送信する。
【0065】
また、認証サーバ17または認証クライアント(SWまたはWLC)の一方(この例では認証サーバ17)は、ネットワーク認証許可の際に認証許可ログLG1を作成し、ログ管理サーバ15へ送信する。認証許可ログLG1は、ネットワーク認証許可の対象となるユーザIDと、ネットワーク認証要求の送信元であるユーザ端末のMACアドレスとを含む。
【0066】
ログ管理サーバ15は、記憶部19に保持される端末管理DB20を有する。ログ管理サーバ15は、認証サーバ17または認証クライアント(SWまたはWLC)からの認証許可ログLG1と、DHCPサーバ16からのDHCPログLG2とを受けて、端末管理DB20に所定の情報を登録する。具体的には、ログ管理サーバ15は、認証許可ログLG1およびDHCPログLG2を、その中に含まれるMACアドレスで対応付けることで、図8に示されるように、ユーザIDとユーザ端末のIPアドレスおよびMACアドレスとの対応関係を端末管理DB20に登録する。
【0067】
不正通信検知装置12は、IPS(Intrusion Prevention System)装置やIDS(Intrusion Detection System)装置等である。不正通信検知装置12は、図8に示されるように、内部ネットワーク10から外部ネットワーク11へ向けた通信を監視し、不正通信を検知した際に不正通信に伴う送信元のIPアドレスを含む不正通信検知ログLG3をログ管理サーバ15へ送信する。なお、各種ログ(LG1~LG3)は、例えば、syslogや、SNMP(Simple Network Management Protocol) Trap等を用いて送信される。
【0068】
図8の例では、不正通信検知装置12は、ユーザID“UID20”のユーザ14bからのユーザ端末TM20を介した通信(ユーザフレームUF)を不正通信として検知している。なお、不正通信検知装置12は、予め通信手順や通信内容等を含む不正通信条件が設定されており、この不正通信条件を満たした通信を不正通信とみなす。
【0069】
一方、ログ管理サーバ15は、図8に示されるように、不正通信検知装置12からの不正通信検知ログLG3と端末管理DB20とに基づいて、不正通信を行ったユーザID(この例では“UID20”)を含む認証拒否情報ARIを作成する。また、図8の例では、ログ管理サーバ15は、作成した認証拒否情報ARIを、認証クライアント(この例ではWLC)と認証サーバ17とログインサーバ18へ、それぞれ、認証拒否情報ARI1,ARI2,ARI3として送信している。
【0070】
認証クライアント(WLC)は、認証拒否情報ARI1を受けて、ユーザ端末TM20と内部ネットワーク10との間の通信経路を遮断する。認証サーバ17は、認証拒否情報ARI2を受けて、認証DB24内の対象のユーザID“UID20”に対応するネットワーク認証可否情報27をネットワーク認証拒否に変更する。それ以降、ユーザID“UID20”を用いたネットワーク認証要求は、認証サーバ17によって拒否される。
【0071】
ログインサーバ(サーバ装置)18は、認証拒否情報ARI3を受けて、ログインDB26内の対象のユーザID“UID20”に対応するログイン認証可否情報31をログイン認証拒否に変更する。それ以降、ユーザID“UID20”を用いたログイン認証は、ログインサーバ18によって拒否される。さらに、ログインサーバ18は、ユーザ14bがユーザ端末TM20を介してサービスプロバイダSPa,SPbにログイン中の場合には、認証拒否情報ARI3に応じて、ユーザ14bを強制的にサービスプロバイダからログアウトさせる。
【0072】
一方、このような状況を受けて、不正なユーザ14bは、例えば、実施の形態1で述べたように、ネットワーク認証が許可されているユーザ端末TM10を不正に用いて、サービスプロバイダSPa,SPbに、再度、ログイン認証を試みる場合がある。この場合、ログインサーバ18は、既に、図8の認証拒否情報ARI3に応じて、ログインDB26内でユーザID“UID20”をログイン認証拒否に定めているため、不正なユーザ14bからのログイン認証を拒否することができる。また、不正なユーザ14bがユーザ端末TM10を用いてサービスプロバイダSPa,SPbにログイン済みであっても、当該不正なユーザ14bを迅速かつ強制的にログアウトさせることができる。
【0073】
なお、ここでは、ログ管理サーバ15が、ログインサーバ18へ認証拒否情報ARI3を送信した。ただし、これに限らず、ログ管理サーバ15は、認証拒否情報ARIを認証サーバ17へ送信し、ログインサーバ18は、図6の場合と同様に、認証サーバ17によって作成された認証拒否情報ARIを認証サーバ17から受信してもよい。
【0074】
《実施の形態2の主要な効果》
以上、実施の形態2のサーバ装置およびネットワークシステムを用いることで、実施の形態1で述べた各種効果と同様の効果が得られる。加えて、不正通信を行ったユーザを検知し、当該検知結果をネットワーク認証およびログイン認証に即座に反映させることが可能になる。その結果、ネットワークのセキュリティをより高めることが可能になる。
【0075】
以上、本発明者によってなされた発明を実施の形態に基づき具体的に説明したが、本発明は前記実施の形態に限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能である。例えば、前述した実施の形態は、本発明を分かり易く説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、ある実施の形態の構成の一部を他の実施の形態の構成に置き換えることが可能であり、また、ある実施の形態の構成に他の実施の形態の構成を加えることも可能である。また、各実施の形態の構成の一部について、他の構成の追加・削除・置換をすることが可能である。
【0076】
例えば、ここでは、SSOのプロトコルとして、主に、SAMLを用いる場合を例としたが、これに限らず、OpenID Connect等であってもよい。
【符号の説明】
【0077】
10 内部ネットワーク
11 外部ネットワーク
12 不正通信検知装置
13 ルータ
14a,14b ユーザ
15 ログ管理サーバ
16 DHCPサーバ
17 認証サーバ
18 ログインサーバ
19,21,23,25 記憶部
20 端末管理DB
22 IP管理DB
24 認証DB
26 ログインDB
27 ネットワーク認証可否情報
30 ログイン権限情報
31 ログイン認証可否情報
32 ログインセッション情報
35 制御部
36 ログイン制御部
37 画面提供部
38 ログアウト制御部
39 認証拒否情報
ARI 認証拒否情報
ARQ ログイン認証要求
ARS ログイン認証応答
LG1 認証許可ログ
LG2 DHCPログ
LG3 不正通信検知ログ
LIN ログイン命令
LORQ ログアウト要求
LOUT ログアウト命令
SP,SPa,SPb サービスプロバイダ
SW 認証スイッチ
TM,TM10,TM20 ユーザ端末
UF ユーザフレーム
WLC 無線LANコントローラ
図1
図2
図3
図4
図5
図6
図7
図8