転送装置、ネットワークシステム、通信方法、及びプログラム。
【課題】本発明の課題は、クライアント証明書を取得していなくても、サーバにアクセスする度に認証情報を入力せずにアクセス可能な技術を提案することである。
【解決手段】本発明は、アクセス許可が与えられていることを示す認証情報を有するHTTPリクエストをクライアントから受信すると、受信したHTTPリクエストの内容に基づいて、アクセス先と、前記認証情報、若しくは前記認証情報に関する情報とを対応付けて認証情報記憶部に記憶させる記憶制御手段と、認証情報を有さないHTTPリクエストをクライアントから受信すると、受信したHTTPリクエストに記されているアクセス先に基づいて、前記認証情報、若しくは前記認証情報に関する情報を認証情報記憶部から検索し、前記クライアントのアクセス先が認証情報を必要とするアクセス先であるかを判定する判定手段とを有する。
【解決手段】本発明は、アクセス許可が与えられていることを示す認証情報を有するHTTPリクエストをクライアントから受信すると、受信したHTTPリクエストの内容に基づいて、アクセス先と、前記認証情報、若しくは前記認証情報に関する情報とを対応付けて認証情報記憶部に記憶させる記憶制御手段と、認証情報を有さないHTTPリクエストをクライアントから受信すると、受信したHTTPリクエストに記されているアクセス先に基づいて、前記認証情報、若しくは前記認証情報に関する情報を認証情報記憶部から検索し、前記クライアントのアクセス先が認証情報を必要とするアクセス先であるかを判定する判定手段とを有する。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、転送装置、ネットワークシステム、通信方法、及びプログラムに関する。
【背景技術】
【0002】
近年、アクセス権限が与えられているクライアントがサーバにアクセスできるようにする認証の技術が提案されている。
【0003】
図11は、クライアント1がHTTPを用いてHTTPサーバ3にアクセスする際に行われる一般的な動作を示すチャートである。
【0004】
クライアント1からHTTPサーバ3へのアクセスで認証を求められる場合、通常、クライアント1からの認証ヘッダ無しのHTTPリクエスト11に対して、HTTPサーバ3は“リクエストはユーザ認証を必要とする”ことを示すステータスコード401のHTTPレスポンス12を送信する。
【0005】
これに応じて、ユーザがブラウザ等からユーザIDとパスワードとを入力する。そして、クライアント1は認証情報が設定されたHTTPリクエスト13を送信し、HTTPサーバ3が“リクエストが成功”したことを示すステータスコード200のレスポンス14を送信する。
【0006】
このような方法の場合、ユーザが新規にブラウザを起動した場合は、先に起動済みのブラウザで認証を実施済みである場合でも、新規に起動した画面にて、手動でユーザIDとパスワードとを毎回設定する必要がある。そこで、サーバにアクセスする度に認証情報を入力せずにアクセスできる技術の提案が望まれていた。
【0007】
例えば、特許文献1では、クライアント証明書に認証情報を予め対応付けて記憶させ、クライアント証明書が付された認証メッセージを受信すると、クライアント証明書に対応付けられている認証情報を取得し、別途受信したHTTPリクエストに取得した認証情報を加えて送信する認証サーバが開示されている。
【先行技術文献】
【特許文献】
【0008】
【特許文献1】特開2009−098761号公報
【発明の概要】
【発明が解決しようとする課題】
【0009】
特許文献1の技術では、予め、クライアント証明書と認証情報とを対応付けて記憶させておかなければならなかった。そのため、ユーザはクライアント証明書を取得しておかなければならず、負担がかかっていた。
【0010】
そこで、本発明が解決しようとする課題は、上記問題点を解決することであり、クライアント証明書を取得していなくても、サーバにアクセスする度に認証情報を入力せずにアクセス可能な技術を提案することである。
【課題を解決するための手段】
【0011】
上記課題を解決するための本発明は、転送装置であって、アクセス許可が与えられていることを示す認証情報を有するHTTPリクエストをクライアントから受信すると、受信したHTTPリクエストの内容に基づいて、アクセス先と、前記認証情報、若しくは前記認証情報に関する情報とを対応付けて認証情報記憶部に記憶させる記憶制御手段と、認証情報を有さないHTTPリクエストをクライアントから受信すると、受信したHTTPリクエストに記されているアクセス先に基づいて、前記認証情報、若しくは前記認証情報に関する情報を認証情報記憶部から検索し、前記クライアントのアクセス先が認証情報を必要とするアクセス先であるかを判定する判定手段とを有することを特徴とする。
【0012】
上記課題を解決するための本発明は、ネットワークシステムであって、アクセス許可が与えられていることを示す認証情報を有するHTTPリクエストをクライアントから受信すると、受信したHTTPリクエストの内容に基づいて、アクセス先と、前記認証情報、若しくは前記認証情報に関する情報とを対応付けて認証情報記憶部に記憶させる記憶制御手段と、認証情報を有さないHTTPリクエストをクライアントから受信すると、受信したHTTPリクエストに記されているアクセス先に基づいて、前記認証情報、若しくは前記認証情報に関する情報を認証情報記憶部から検索し、前記クライアントのアクセス先が認証情報を必要とするアクセス先であるかを判定する判定手段とを有することを特徴とする。
【0013】
上記課題を解決するための本発明は、通信方法であって、アクセス許可が与えられていることを示す認証情報を有するHTTPリクエストをクライアントから受信すると、受信したHTTPリクエストの内容に基づいて、アクセス先と、前記認証情報、若しくは前記認証情報に関する情報とを対応付けて認証情報記憶部に記憶させる記憶制御ステップと、認証情報を有さないHTTPリクエストをクライアントから受信すると、受信したHTTPリクエストに記されているアクセス先に基づいて、前記認証情報、若しくは前記認証情報に関する情報を認証情報記憶部から検索する検索ステップと、前記検索した認証情報、若しくは認証情報に関する情報に基づいて、前記クライアントのアクセス先が認証情報を必要とするアクセス先であるかを判定する判定ステップとを有することを特徴とする。
【0014】
上記課題を解決するための本発明は、転送装置のプログラムであって、前記プログラムは前記転送装置に、アクセス許可が与えられていることを示す認証情報を有するHTTPリクエストをクライアントから受信すると、受信したHTTPリクエストの内容に基づいて、アクセス先と、前記認証情報、若しくは前記認証情報に関する情報とを対応付けて認証情報記憶部に記憶させる記憶制御処理と、認証情報を有さないHTTPリクエストをクライアントから受信すると、受信したHTTPリクエストに記されているアクセス先に基づいて、前記認証情報、若しくは前記認証情報に関する情報を認証情報記憶部から検索する検索処理と、前記検索した認証情報、若しくは認証情報に関する情報に基づいて、前記クライアントのアクセス先が認証情報を必要とするアクセス先であるかを判定する判定処理とを実行させることを特徴とする。
【発明の効果】
【0015】
本発明によると、新規に起動する度にユーザが認証情報を入力する必要がなくなる。
【図面の簡単な説明】
【0016】
【図1】図1は、本発明の概略図である。
【図2】図2は、本発明の転送装置の一例である。
【図3】図3は、HTTPリクエストとHTTPレスポンスの一例である。
【図4】図4は、認証情報記憶部に記憶される認証情報の一例である。
【図5】図5は、第1の実施の形態のフローチャートである。
【図6】図6は、第1の実施の形態のシーケンス図である。
【図7】図7は、第2の実施の形態のフローチャートである。
【図8】図8は、第2の実施の形態のシーケンス図である。
【図9】図9は、認証情報記憶部に記憶される認証情報の一例である。
【図10】図10は、認証情報記憶部に記憶される認証情報及び許容情報の一例である。
【図11】一般的なネットワークシステムのシーケンス図である。
【発明を実施するための形態】
【0017】
本発明の特徴を説明するために、以下において、図面を参照して具体的に述べる。尚、以下で説明する認証方式は、HTTP(Hyper Text Transfer Protocol)のbasic認証又はdigest認証のような、ユーザの手動入力を必要とする認証を対象とする。
【0018】
図1は、本発明の通信システムの概略図である。本発明の通信システムは、クライアント1と転送装置2とHTTPサーバ3とを有する。尚、クライアント1と転送装置2とHTTPサーバ3とのぞれぞれの数は限定しないものとする。
【0019】
〈第1の実施の形態〉
本発明を実施するための第1の実施の形態について図面を参照して詳細に説明する。
【0020】
クライアント1は、一般的なPC(Personal Computer)端末であり、HTTPを用いてHTTPサーバ3にアクセスして情報を取得する。
【0021】
HTTPサーバ3は、一般的なWebサーバであり、クライアント1からの要求に応じてデータを送信する。尚、以下で説明するHTTPサーバは、アクセスの際に認証を必要とするサーバであるとして説明する。
【0022】
転送装置2は、例えばルータなどのような、受信したパケットを送信先に転送する装置である。図1では、インターネットとクライアント1との間に設けられているが、インターネット上に設けられていても良い。図2は、転送装置2のブロック図である。
【0023】
転送装置2は、リクエスト/レスポンス監視部31、認証情報制御部32、認証情報記憶部33、リクエスト/レスポンス生成部34、送信部35、及び受信部36を有する。
【0024】
リクエスト/レスポンス監視部31は、クライアント1より送信されるパケットを監視する。パケットがHTTPリクエストである場合、HTTPサーバへのアクセス許可が与えられていることを示す認証情報が入っているか否か、HTTPリクエストの認証ヘッダを確認する。そして、認証情報が入っているHTTPリクエストを認証情報制御部32に出力し、認証情報が入っていないHTTPリクエストをリクエスト/レスポンス生成部34に出力する。また、パケットがHTTPレスポンスである場合、ステータスコードが“認証エラー”を示す401であるか否かを確認する。確認の結果、ステータスコードが401である場合、HTTPレスポンスを認証情報制御部32に出力する。
【0025】
認証情報制御部32は、リクエスト/レスポンス監視部31が出力したHTTPリクエストから、クライアント1を一意に識別するためのIPアドレスと、アクセス先であるHTTPサーバを識別するURL(Uniform Resource Locator)を取得する。また、HTTPリクエストのヘッダに記されている認証情報を取得する。そして、取得した情報を認証情報記憶部33に記憶する。例えば、図3に示すとおり、HTTPリクエストのHEADERに、クライアントのIPアドレス、HTTPサーバのURL、及び認証情報が記されている。これらを参照して、クライアントのIPアドレス、HTTPサーバのURL、及び認証情報を取得する。また、リクエスト/レスポンス監視部31が出力したHTTPレスポンスから、HTTPレスポンスの送信元となるHTTPサーバのURLと、その送信先となるクライアントのIPアドレスとを取得する。そして、取得したIPアドレスとHTTPサーバのURLとに基づいて、認証記憶部33に記憶した認証情報を削除する。尚、本説明では、クライアント1を一意に識別するための情報としてIPアドレスを用いる場合を説明するが、ユーザIDなどのように、クライアント1を一意に識別できる情報であれば他の情報であっても良い。同様に、アクセス先であるHTTPサーバを識別する情報として、URLを用いる場合を説明するが、HTTPサーバを一意に識別できる情報であれば他の情報であっても良い。
【0026】
認証情報記憶部33は、図4に示すように、認証情報制御部32が取得したIPアドレス、リクエストURLと認証情報とが関連づけて記憶されている。
【0027】
リクエスト/レスポンス生成部34は、リクエスト/レスポンス監視部31が出力したHTTPリクエストから、クライアント1を一意に識別するためのIPアドレスとリクエストURLとを取得する。そして、取得したIPアドレスとリクエストURLとを用いて、このIPアドレスとリクエストURLとに対応付けられている認証情報を認証情報記憶部33から検索する。検索した認証情報をリクエスト/レスポンス監視部31が出力したHTTPリクエストの認証ヘッダに入れてHTTPリクエストを生成する。
【0028】
送信部35は、各種パケットを送信する。
【0029】
受信部36は、各種パケットを受信する。
【0030】
図5のフローチャートを用いて本実施の形態の動作を説明する。
【0031】
リクエスト/レスポンス監視部31は、受信したパケットがHTTPリクエストであるか監視する(S51)。
【0032】
受信したパケットが、HTTPリクエストである場合、認証情報制御部32がHTTPリクエストに認証情報が存在するか否か確認する(S52)。
【0033】
認証情報が存在する場合、認証情報を認証情報記憶部33に記憶する(S53)。記憶する認証情報は、次の情報を関連づけて保存する。
1.HTTPリクエストの送信元IPアドレス(クライアントを識別するため)
2.HTTPリクエストの送信先URL(送信先を識別するため)
3.認証ヘッダに設定されているユーザIDとパスワード情報
上記の処理を実施後に、送信部35を介して受信したHTTPリクエストをサーバ宛に送信する(S54)。
【0034】
S51において、受信したパケットがHTTPリクエストではないと判断された場合、リクエスト/レスポンス監視部31は、受信したパケットがHTTPレスポンスであるかを判定する(S55)。HTTPレスポンスでないと判定された場合、そのまま送信部35を介してパケットを転送する(S58)。
【0035】
一方、受信したパケットがHTTPレスポンスであると判定された場合、認証情報制御部32は受信したHTTPレスポンスのステータスコードが401(認証エラー)であるかを確認する(S56)。一方、HTTPレスポンスのステータスコードが401(認証エラー)でない場合は、S58に進む。
【0036】
ステータスコードが401の場合、認証情報制御部32はHTTPレスポンスの送信元となるHTTPサーバのURLと、その送信先となるクライアントのIPアドレスとを取得して、取得したIPアドレスとHTTPサーバのURLとに基づいて、認証記憶部33に記憶されている認証情報を削除する(S57)。HTTPレスポンスを転送する(S58)。尚、S57で認証記憶部33に認証情報が記憶されていない場合は、そのままS58に進む。
【0037】
S52において、HTTPリクエストに認証情報が存在しないと判断された場合、リクエスト/レスポンス生成部34はHTTPリクエストの送信元IPアドレスとHTTPリクエストの送信先URLを用いて、転送情報記憶部33に認証情報が既に記憶されているかを検索する(S59)。検索されない場合は、S58に進む。
【0038】
リクエスト/レスポンス生成部34は、S59で検索した認証情報を受信したHTTPリクエストの認証ヘッダに追加したHTTPリクエストを生成する(S60)。
【0039】
生成されたHTTPリクエストは、送信部55を介してHTTPサーバに送信される(S54)。
【0040】
続いて、認証情報の登録及び付加の動作を図6のシーケンス図を用いて説明する。
【0041】
クライアント1は、HTTPサーバ3にアクセスするために、HTTPリクエスト(認証情報無)をHTTPサーバ3に対して送信する(C61)。転送装置2は、HTTPサーバ3に転送する。HTTPサーバ3は、認証情報の無いHTTPリクエストであるため、ステータスコードが401(認証エラー)のHTTPレスポンスを返す(C62)。転送装置2は、クライアント2に転送する。
【0042】
ステータスコードが401(認証エラー)であるHTTPレスポンスを受けて、ユーザは認証情報を入力する(C63)。クライアント1は、HTTPサーバ3に再度アクセスするために、HTTPリクエスト(認証情報有)をHTTPサーバ3に対して送信する(C64)。
【0043】
転送装置は、クライアントから送信されるパケットを監視し、認証情報が設定されているHTTPリクエストを受信すると、受信したHTTPリクエストのIPアドレス、リクエストURL、及び認証情報を抽出し、認証情報記憶部33に記憶させる(C65)。その後、転送装置は受信したパケットをそのままHTTPサーバ3に送信する(C66)。
【0044】
HTTPサーバ3は、送信されたHTTPリクエストの認証が正しいと、“認証成功”を示すステータスコード200のHTTPレスポンスを返す(C67)。
【0045】
転送装置は、受信したHTTPレスポンスのステータスコードを取得し、転送装置に保存した認証情報を確認する(C68)。ステータスコードが“認証エラー”を示す401の場合は、C65において転送装置に記憶した認証情報を削除した後に、HTTPレスポンスをそのままクライアントへ転送する(C69)。
【0046】
ユーザが新規にブラウザを起動する(C70)。クライアント1は、HTTPサーバ3にアクセスするために、HTTPリクエスト(認証情報無)をHTTPサーバ3に対して送信する(C71)。
【0047】
転送装置は、受信したHTTPリクエスト(認証情報無)のIPアドレス及びリクエストURLに基づいて、既に認証情報が記憶されているかを確認し、認証情報が検索されるとその認証情報を付加したHTTPリクエストを生成する(C72)。
【0048】
転送装置は、HTTPサーバ宛に認証情報を付加したHTTPリクエストを送信する(C73)。
【0049】
HTTPサーバ3は、送信されたHTTPリクエストの認証が正しいと、“認証成功”を示すステータスコード200のHTTPレスポンスを返す(C74)。
【0050】
本実施の形態の効果について説明する。
【0051】
本発明によると、転送装置内にて認証情報を自動で付加することにより、新規に起動する度にユーザが認証情報を入力する必要がなくなる。
【0052】
更に、本発明によると、IPアドレスとリクエストURLと認証情報とを対応付けて記憶させているため、HTTPサーバ毎に認証情報が異なる場合やブラウザの種別又はバージョンが異なる場合にも対応できる。また、クライアントがPCや、ゲーム機、TV(TVに動作されるブラウザ)であっても、新規に起動する度にユーザが認証情報を入力する必要がなくなる。
【0053】
〈第2の実施の形態〉
第2の実施の形態を説明する。尚、上記実施の形態と同じ構成に関しては、同一番号を用いて説明し、詳細な説明は省略する。
【0054】
認証情報制御部32は、HTTPリクエストに認証情報が存在するか否か確認する。認証情報が存在する場合、該HTTPサーバへのアクセスには認証情報が必要であることを示すために、HTTPサーバを識別するURLを認証情報記憶部33に記憶する。
【0055】
認証情報記憶部33は、URLが記憶されている。尚、本説明では、アクセスに認証情報が必要であることを示すURLが認証情報記憶部33に記憶されている構成を用いて説明するが、該URLへのアクセスに認証情報が必要であることがわかれば、どのような形態であってもよいものとする。
【0056】
リクエスト/レスポンス生成部34は、認証情報が存在しないHTTPリクエストを受信した場合、アクセスに認証情報が必要かをHTTPリクエストの送信先URLを用いて認証情報記憶部33を確認する。認証情報が必要な場合、リクエスト/レスポンス生成部34は、ステータスコードが401(認証エラー)のHTTPレスポンスを生成して送信元のクライアントに返す。
【0057】
本実施の形態の動作について図7のフローチャートを用いて説明する。
【0058】
リクエスト/レスポンス監視部31は、受信したパケットがHTTPリクエストであるか監視する(S51)。
【0059】
受信したパケットが、HTTPリクエストである場合、認証情報制御部32がHTTPリクエストに認証情報が存在するか否か確認する(S52)。
【0060】
認証情報が存在する場合、HTTPリクエストの送信先URLを認証情報記憶部33に記憶する(S71)。
【0061】
上記の処理を実施後に、送信部35を介して受信したHTTPリクエストをサーバ宛に送信する(S72)。
【0062】
S52において、HTTPリクエストに認証情報が存在しないと判断された場合、リクエスト/レスポンス生成部34はアクセスに認証情報が必要かをHTTPリクエストの送信先URLを用いて確認する(S73)。検索されない場合は、S72に進む。
【0063】
一方、認証情報が必要な場合、リクエスト/レスポンス生成部34は、ステータスコードが401(認証エラー)のHTTPレスポンスを生成して(S74)、送信元のクライアントに返す(S75)。
【0064】
続いて、認証情報の登録及び付加の動作を図8のチャートを用いて説明する。
【0065】
クライアント1は、HTTPサーバ3にアクセスするために、HTTPリクエスト(認証情報無)をHTTPサーバ3に対して送信する(C81)。転送装置2は、HTTPサーバ3に転送する。HTTPサーバ3は、認証情報の無いHTTPリクエストであるため、ステータスコードが401(認証エラー)のHTTPレスポンスを返す(C82)。転送装置2は、クライアント2に転送する。
【0066】
ステータスコードが401(認証エラー)であるHTTPレスポンスを受けて、ユーザは認証情報を入力する(C83)。クライアント1は、HTTPサーバ3に再度アクセスするために、HTTPリクエスト(認証情報有)をHTTPサーバ3に対して送信する(C84)。
【0067】
転送装置は、クライアントから送信されるパケットを監視し、認証情報が設定されているHTTPリクエストを受信するとリクエストURLを抽出し、認証情報記憶部33に記憶させる(C85)。その後、転送装置は受信したパケットをそのままHTTPサーバ3に送信する(C86)。
【0068】
HTTPサーバ3は、送信されたHTTPリクエストの認証が正しいと、“認証成功”を示すステータスコード200のHTTPレスポンスを返す(C87)。転送装置は、転送装置は受信したパケットをそのままHTTPサーバ3に送信する。
【0069】
ユーザが新規にブラウザを起動する(C88)。クライアント1は、HTTPサーバ3にアクセスするために、HTTPリクエスト(認証情報無)をHTTPサーバ3に対して送信する(C89)。
【0070】
転送装置は、受信したHTTPリクエスト(認証情報無)のリクエストURLに基づいて認証情報が必要であるかを確認する(C90)。必要である場合にはステータスコードが401(認証エラー)のHTTPレスポンスを返す(C91)。
【0071】
クライアント1は、HTTPサーバ3にアクセスするために、HTTPリクエスト(認証情報有)をHTTPサーバ3に対して送信する(C92)。転送装置2は、HTTPサーバ3に転送する。HTTPサーバ3は、認証情報があるHTTPリクエストであるため、ステータスコードが200(認証OK)のHTTPレスポンスを返す(C93)。転送装置2は、クライアント2に転送する。
【0072】
尚、本実施の形態を第1の実施の形態に適用させることも可能である。例えば、認証情報制御部32は、HTTPリクエストからIPアドレスとリクエストURLと認証情報を取得して、認証情報記憶部33に記憶する。リクエスト/レスポンス生成部34が、認証情報を有さないHTTPリクエストからIPアドレスとリクエストURLとを取得して、認証情報が記憶されているかを確認する。記憶されていない場合には、リクエスト/レスポンス生成部34は、ユーザに認証情報が必要であることを通知するために、ステータスコードが401(認証エラー)のHTTPレスポンスを返す。
【0073】
本実施の形態の効果について説明する。
【0074】
本発明によると、アクセスに認証情報が必要であるかを、認証情報付のHTTPリクエストを受信した際に転送装置に記憶させているため、サーバにアクセスして認証情報を要求される場合よりも早くHTTPレスポンスを受信することが可能である。このため、網側のトラフィックを軽減することも可能である。また、ユーザやネットワーク管理者の手間をかけずに実現することが可能である。
【0075】
〈第3の実施の形態〉
第3の実施の形態を説明する。尚、上記実施の形態と同じ構成に関しては、同一番号を用いて説明し、詳細な説明は省略する。
【0076】
認証情報記憶部33には、事前に、図9のような認証情報を記憶させておく。この認証情報は、送信先URLとユーザID(クライアントIPアドレス)と認証情報とを関連づけて記憶させておくことにより、第1の実施の形態のC61からC69のシーケンスを省略することも可能となる。事前に認証情報を記憶させておく方法として、ユーザ又は管理者が専用アプリケーションを用いて設定すると、認証情報制御部32が認証情報記憶部33に記憶させる方法が考えられる。
【0077】
本実施の形態の効果について説明する。
【0078】
本発明によると、起動する度にユーザが認証情報を入力する必要がなくなる。また、認証エラーを示すHTTPレスポンスを受信することがないため、網側のトラフィックを軽減することも可能である。
【0079】
〈第4の実施の形態〉
第4の実施の形態を説明する。尚、上記実施の形態と同じ構成に関しては、同一番号を用いて説明し、詳細な説明は省略する。
【0080】
認証情報記憶部33には、図10のような認証情報と許容クライアントIPアドレスを示す許容情報を記憶させておく。この許容情報は、クライアントIPアドレスによってクライアントをグループ化したものである。そして、認証情報として、送信先URLとユーザIDと認証情報とクライアントグループとを対応付けて記憶させておく。認証情報及び許容情報を記憶させる方法として、ユーザ又は管理者が専用アプリケーションを用いて設定すると、認証情報制御部32が認証情報記憶部33に記憶させる方法が考えられる。
【0081】
リクエスト/レスポンス生成部34は、リクエスト/レスポンス監視部31が出力したHTTPリクエスト(認証無)から、クライアント1を一意に識別するためのIPアドレスとリクエストURLとを取得する。取得したIPアドレスを用いて、認証情報記憶部33の許容情報からグループを検索する。検索したグループを用いて認証情報からリクエストURLを検索し、HTTPリクエストから取得したリクエストURLと一致するか判定する。判定の結果一致する場合には、該HTTPサーバへのアクセスが許可されていると判断し、そのリクエストURLに対応付けられている認証情報を取得し、受信したHTTPリクエストに認証情報を付加したHTTPリクエストを生成する。
【0082】
本実施の形態の効果について説明する。
【0083】
本発明によると、第3の実施の形態同様に、起動する度にユーザが認証情報を入力する必要がなくなる。また、認証エラーを示すHTTPレスポンスを受信することがないため、網側のトラフィックを軽減することも可能である。
【0084】
また、HTTPサーバに対するアクセス制御も可能となる。
【0085】
尚、上述した本発明の端末は、上記説明からも明らかなように、ハードウェアで構成することも可能であるが、コンピュータプログラムにより実現することも可能である。
【0086】
このような場合、プログラムメモリに格納されているプログラムで動作するプロセッサによって、上述した実施の形態と同様の機能、動作を実現させる。尚、上述した実施の形態の一部の機能のみをコンピュータプログラムにより実現することも可能である。
【0087】
以上、実施の形態及び実施例をあげて本発明を説明したが、本発明は必ずしも上記実施の形態及び実施例に限定されるものではなく、その技術的思想の範囲内において様々に変形し実施することが出来る。
【0088】
(付記1)
アクセス許可が与えられていることを示す認証情報を有するHTTPリクエストをクライアントから受信すると、受信したHTTPリクエストの内容に基づいて、アクセス先と、前記認証情報、若しくは前記認証情報に関する情報とを対応付けて認証情報記憶部に記憶させる記憶制御手段と、
認証情報を有さないHTTPリクエストをクライアントから受信すると、受信したHTTPリクエストに記されているアクセス先に基づいて、前記認証情報、若しくは前記認証情報に関する情報を認証情報記憶部から検索し、前記クライアントのアクセス先が認証情報を必要とするアクセス先であるかを判定する判定手段と
を有することを特徴とする転送装置。
【0089】
(付記2)
前記判定手段が、認証情報を必要とするアクセス先であると判定した場合、前記検索した認証情報を前記受信したHTTPリクエストの認証ヘッダに記載したHTTPリクエストを生成する生成手段を有することを特徴とする付記1に記載の転送装置。
【0090】
(付記3)
前記判定手段が、認証情報を必要とするアクセス先であると判定した場合、認証情報を有するHTTPリクエストが必要であることを記したHTTPレスポンスを生成する生成手段を有することを特徴とする付記1又は付記2に記載の転送装置。
【0091】
(付記4)
アクセス許可が与えられていることを示す認証情報を有するHTTPリクエストをクライアントから受信すると、受信したHTTPリクエストの内容に基づいて、アクセス先と、前記認証情報、若しくは前記認証情報に関する情報とを対応付けて認証情報記憶部に記憶させる記憶制御手段と、
認証情報を有さないHTTPリクエストをクライアントから受信すると、受信したHTTPリクエストに記されているアクセス先に基づいて、前記認証情報、若しくは前記認証情報に関する情報を認証情報記憶部から検索し、前記クライアントのアクセス先が認証情報を必要とするアクセス先であるかを判定する判定手段と
を有することを特徴とするネットワークシステム。
【0092】
(付記5)
前記判定手段が、認証情報を必要とするアクセス先であると判定した場合、前記検索した認証情報を前記受信したHTTPリクエストの認証ヘッダに記載したHTTPリクエストを生成する生成手段を有することを特徴とする付記4に記載のネットワークシステム。
【0093】
(付記6)
前記判定手段が、認証情報を必要とするアクセス先であると判定した場合、認証情報を有するHTTPリクエストが必要であることを記したHTTPレスポンスを生成する生成手段を有することを特徴とする付記4又は付記5に記載のネットワークシステム。
【0094】
(付記7)
アクセス許可が与えられていることを示す認証情報を有するHTTPリクエストをクライアントから受信すると、受信したHTTPリクエストの内容に基づいて、アクセス先と、前記認証情報、若しくは前記認証情報に関する情報とを対応付けて認証情報記憶部に記憶させる記憶制御ステップと、
認証情報を有さないHTTPリクエストをクライアントから受信すると、受信したHTTPリクエストに記されているアクセス先に基づいて、前記認証情報、若しくは前記認証情報に関する情報を認証情報記憶部から検索する検索ステップと、
前記検索した認証情報、若しくは認証情報に関する情報に基づいて、前記クライアントのアクセス先が認証情報を必要とするアクセス先であるかを判定する判定ステップと
を有することを特徴とする通信方法。
【0095】
(付記8)
前記判定ステップが、認証情報を必要とするアクセス先であると判定した場合、前記検索した認証情報を前記受信したHTTPリクエストの認証ヘッダに記載したHTTPリクエストを生成する生成手段を有することを特徴とする付記7に記載の通信方法。
【0096】
(付記9)
前記判定ステップが、認証情報を必要とするアクセス先であると判定した場合、認証情報を有するHTTPリクエストが必要であることを記したHTTPレスポンスを生成する生成手段を有することを特徴とする付記7又は付記8に記載の通信方法。
【0097】
(付記10)
転送装置のプログラムであって、前記プログラムは前記転送装置に、
アクセス許可が与えられていることを示す認証情報を有するHTTPリクエストをクライアントから受信すると、受信したHTTPリクエストの内容に基づいて、アクセス先と、前記認証情報、若しくは前記認証情報に関する情報とを対応付けて認証情報記憶部に記憶させる記憶制御処理と、
認証情報を有さないHTTPリクエストをクライアントから受信すると、受信したHTTPリクエストに記されているアクセス先に基づいて、前記認証情報、若しくは前記認証情報に関する情報を認証情報記憶部から検索する検索処理と、
前記検索した認証情報、若しくは認証情報に関する情報に基づいて、前記クライアントのアクセス先が認証情報を必要とするアクセス先であるかを判定する判定処理と
を実行させることを特徴とするプログラム。
【0098】
(付記11)
前記判定処理が、認証情報を必要とするアクセス先であると判定した場合、前記検索した認証情報を前記受信したHTTPリクエストの認証ヘッダに記載したHTTPリクエストを生成する生成手段を有することを特徴とする付記10に記載のプログラム。
【0099】
(付記12)
前記判定処理が、認証情報を必要とするアクセス先であると判定した場合、認証情報を有するHTTPリクエストが必要であることを記したHTTPレスポンスを生成する生成手段を有することを特徴とする付記10又は付記11に記載のプログラム。
【符号の説明】
【0100】
1 クライアント
2 転送装置
3 HTTPサーバ
31 リクエスト/レスポンス監視部
32 認証情報制御部
33 認証情報記憶部
34 リクエスト/レスポンス生成部
35 送信部
36 受信部
【技術分野】
【0001】
本発明は、転送装置、ネットワークシステム、通信方法、及びプログラムに関する。
【背景技術】
【0002】
近年、アクセス権限が与えられているクライアントがサーバにアクセスできるようにする認証の技術が提案されている。
【0003】
図11は、クライアント1がHTTPを用いてHTTPサーバ3にアクセスする際に行われる一般的な動作を示すチャートである。
【0004】
クライアント1からHTTPサーバ3へのアクセスで認証を求められる場合、通常、クライアント1からの認証ヘッダ無しのHTTPリクエスト11に対して、HTTPサーバ3は“リクエストはユーザ認証を必要とする”ことを示すステータスコード401のHTTPレスポンス12を送信する。
【0005】
これに応じて、ユーザがブラウザ等からユーザIDとパスワードとを入力する。そして、クライアント1は認証情報が設定されたHTTPリクエスト13を送信し、HTTPサーバ3が“リクエストが成功”したことを示すステータスコード200のレスポンス14を送信する。
【0006】
このような方法の場合、ユーザが新規にブラウザを起動した場合は、先に起動済みのブラウザで認証を実施済みである場合でも、新規に起動した画面にて、手動でユーザIDとパスワードとを毎回設定する必要がある。そこで、サーバにアクセスする度に認証情報を入力せずにアクセスできる技術の提案が望まれていた。
【0007】
例えば、特許文献1では、クライアント証明書に認証情報を予め対応付けて記憶させ、クライアント証明書が付された認証メッセージを受信すると、クライアント証明書に対応付けられている認証情報を取得し、別途受信したHTTPリクエストに取得した認証情報を加えて送信する認証サーバが開示されている。
【先行技術文献】
【特許文献】
【0008】
【特許文献1】特開2009−098761号公報
【発明の概要】
【発明が解決しようとする課題】
【0009】
特許文献1の技術では、予め、クライアント証明書と認証情報とを対応付けて記憶させておかなければならなかった。そのため、ユーザはクライアント証明書を取得しておかなければならず、負担がかかっていた。
【0010】
そこで、本発明が解決しようとする課題は、上記問題点を解決することであり、クライアント証明書を取得していなくても、サーバにアクセスする度に認証情報を入力せずにアクセス可能な技術を提案することである。
【課題を解決するための手段】
【0011】
上記課題を解決するための本発明は、転送装置であって、アクセス許可が与えられていることを示す認証情報を有するHTTPリクエストをクライアントから受信すると、受信したHTTPリクエストの内容に基づいて、アクセス先と、前記認証情報、若しくは前記認証情報に関する情報とを対応付けて認証情報記憶部に記憶させる記憶制御手段と、認証情報を有さないHTTPリクエストをクライアントから受信すると、受信したHTTPリクエストに記されているアクセス先に基づいて、前記認証情報、若しくは前記認証情報に関する情報を認証情報記憶部から検索し、前記クライアントのアクセス先が認証情報を必要とするアクセス先であるかを判定する判定手段とを有することを特徴とする。
【0012】
上記課題を解決するための本発明は、ネットワークシステムであって、アクセス許可が与えられていることを示す認証情報を有するHTTPリクエストをクライアントから受信すると、受信したHTTPリクエストの内容に基づいて、アクセス先と、前記認証情報、若しくは前記認証情報に関する情報とを対応付けて認証情報記憶部に記憶させる記憶制御手段と、認証情報を有さないHTTPリクエストをクライアントから受信すると、受信したHTTPリクエストに記されているアクセス先に基づいて、前記認証情報、若しくは前記認証情報に関する情報を認証情報記憶部から検索し、前記クライアントのアクセス先が認証情報を必要とするアクセス先であるかを判定する判定手段とを有することを特徴とする。
【0013】
上記課題を解決するための本発明は、通信方法であって、アクセス許可が与えられていることを示す認証情報を有するHTTPリクエストをクライアントから受信すると、受信したHTTPリクエストの内容に基づいて、アクセス先と、前記認証情報、若しくは前記認証情報に関する情報とを対応付けて認証情報記憶部に記憶させる記憶制御ステップと、認証情報を有さないHTTPリクエストをクライアントから受信すると、受信したHTTPリクエストに記されているアクセス先に基づいて、前記認証情報、若しくは前記認証情報に関する情報を認証情報記憶部から検索する検索ステップと、前記検索した認証情報、若しくは認証情報に関する情報に基づいて、前記クライアントのアクセス先が認証情報を必要とするアクセス先であるかを判定する判定ステップとを有することを特徴とする。
【0014】
上記課題を解決するための本発明は、転送装置のプログラムであって、前記プログラムは前記転送装置に、アクセス許可が与えられていることを示す認証情報を有するHTTPリクエストをクライアントから受信すると、受信したHTTPリクエストの内容に基づいて、アクセス先と、前記認証情報、若しくは前記認証情報に関する情報とを対応付けて認証情報記憶部に記憶させる記憶制御処理と、認証情報を有さないHTTPリクエストをクライアントから受信すると、受信したHTTPリクエストに記されているアクセス先に基づいて、前記認証情報、若しくは前記認証情報に関する情報を認証情報記憶部から検索する検索処理と、前記検索した認証情報、若しくは認証情報に関する情報に基づいて、前記クライアントのアクセス先が認証情報を必要とするアクセス先であるかを判定する判定処理とを実行させることを特徴とする。
【発明の効果】
【0015】
本発明によると、新規に起動する度にユーザが認証情報を入力する必要がなくなる。
【図面の簡単な説明】
【0016】
【図1】図1は、本発明の概略図である。
【図2】図2は、本発明の転送装置の一例である。
【図3】図3は、HTTPリクエストとHTTPレスポンスの一例である。
【図4】図4は、認証情報記憶部に記憶される認証情報の一例である。
【図5】図5は、第1の実施の形態のフローチャートである。
【図6】図6は、第1の実施の形態のシーケンス図である。
【図7】図7は、第2の実施の形態のフローチャートである。
【図8】図8は、第2の実施の形態のシーケンス図である。
【図9】図9は、認証情報記憶部に記憶される認証情報の一例である。
【図10】図10は、認証情報記憶部に記憶される認証情報及び許容情報の一例である。
【図11】一般的なネットワークシステムのシーケンス図である。
【発明を実施するための形態】
【0017】
本発明の特徴を説明するために、以下において、図面を参照して具体的に述べる。尚、以下で説明する認証方式は、HTTP(Hyper Text Transfer Protocol)のbasic認証又はdigest認証のような、ユーザの手動入力を必要とする認証を対象とする。
【0018】
図1は、本発明の通信システムの概略図である。本発明の通信システムは、クライアント1と転送装置2とHTTPサーバ3とを有する。尚、クライアント1と転送装置2とHTTPサーバ3とのぞれぞれの数は限定しないものとする。
【0019】
〈第1の実施の形態〉
本発明を実施するための第1の実施の形態について図面を参照して詳細に説明する。
【0020】
クライアント1は、一般的なPC(Personal Computer)端末であり、HTTPを用いてHTTPサーバ3にアクセスして情報を取得する。
【0021】
HTTPサーバ3は、一般的なWebサーバであり、クライアント1からの要求に応じてデータを送信する。尚、以下で説明するHTTPサーバは、アクセスの際に認証を必要とするサーバであるとして説明する。
【0022】
転送装置2は、例えばルータなどのような、受信したパケットを送信先に転送する装置である。図1では、インターネットとクライアント1との間に設けられているが、インターネット上に設けられていても良い。図2は、転送装置2のブロック図である。
【0023】
転送装置2は、リクエスト/レスポンス監視部31、認証情報制御部32、認証情報記憶部33、リクエスト/レスポンス生成部34、送信部35、及び受信部36を有する。
【0024】
リクエスト/レスポンス監視部31は、クライアント1より送信されるパケットを監視する。パケットがHTTPリクエストである場合、HTTPサーバへのアクセス許可が与えられていることを示す認証情報が入っているか否か、HTTPリクエストの認証ヘッダを確認する。そして、認証情報が入っているHTTPリクエストを認証情報制御部32に出力し、認証情報が入っていないHTTPリクエストをリクエスト/レスポンス生成部34に出力する。また、パケットがHTTPレスポンスである場合、ステータスコードが“認証エラー”を示す401であるか否かを確認する。確認の結果、ステータスコードが401である場合、HTTPレスポンスを認証情報制御部32に出力する。
【0025】
認証情報制御部32は、リクエスト/レスポンス監視部31が出力したHTTPリクエストから、クライアント1を一意に識別するためのIPアドレスと、アクセス先であるHTTPサーバを識別するURL(Uniform Resource Locator)を取得する。また、HTTPリクエストのヘッダに記されている認証情報を取得する。そして、取得した情報を認証情報記憶部33に記憶する。例えば、図3に示すとおり、HTTPリクエストのHEADERに、クライアントのIPアドレス、HTTPサーバのURL、及び認証情報が記されている。これらを参照して、クライアントのIPアドレス、HTTPサーバのURL、及び認証情報を取得する。また、リクエスト/レスポンス監視部31が出力したHTTPレスポンスから、HTTPレスポンスの送信元となるHTTPサーバのURLと、その送信先となるクライアントのIPアドレスとを取得する。そして、取得したIPアドレスとHTTPサーバのURLとに基づいて、認証記憶部33に記憶した認証情報を削除する。尚、本説明では、クライアント1を一意に識別するための情報としてIPアドレスを用いる場合を説明するが、ユーザIDなどのように、クライアント1を一意に識別できる情報であれば他の情報であっても良い。同様に、アクセス先であるHTTPサーバを識別する情報として、URLを用いる場合を説明するが、HTTPサーバを一意に識別できる情報であれば他の情報であっても良い。
【0026】
認証情報記憶部33は、図4に示すように、認証情報制御部32が取得したIPアドレス、リクエストURLと認証情報とが関連づけて記憶されている。
【0027】
リクエスト/レスポンス生成部34は、リクエスト/レスポンス監視部31が出力したHTTPリクエストから、クライアント1を一意に識別するためのIPアドレスとリクエストURLとを取得する。そして、取得したIPアドレスとリクエストURLとを用いて、このIPアドレスとリクエストURLとに対応付けられている認証情報を認証情報記憶部33から検索する。検索した認証情報をリクエスト/レスポンス監視部31が出力したHTTPリクエストの認証ヘッダに入れてHTTPリクエストを生成する。
【0028】
送信部35は、各種パケットを送信する。
【0029】
受信部36は、各種パケットを受信する。
【0030】
図5のフローチャートを用いて本実施の形態の動作を説明する。
【0031】
リクエスト/レスポンス監視部31は、受信したパケットがHTTPリクエストであるか監視する(S51)。
【0032】
受信したパケットが、HTTPリクエストである場合、認証情報制御部32がHTTPリクエストに認証情報が存在するか否か確認する(S52)。
【0033】
認証情報が存在する場合、認証情報を認証情報記憶部33に記憶する(S53)。記憶する認証情報は、次の情報を関連づけて保存する。
1.HTTPリクエストの送信元IPアドレス(クライアントを識別するため)
2.HTTPリクエストの送信先URL(送信先を識別するため)
3.認証ヘッダに設定されているユーザIDとパスワード情報
上記の処理を実施後に、送信部35を介して受信したHTTPリクエストをサーバ宛に送信する(S54)。
【0034】
S51において、受信したパケットがHTTPリクエストではないと判断された場合、リクエスト/レスポンス監視部31は、受信したパケットがHTTPレスポンスであるかを判定する(S55)。HTTPレスポンスでないと判定された場合、そのまま送信部35を介してパケットを転送する(S58)。
【0035】
一方、受信したパケットがHTTPレスポンスであると判定された場合、認証情報制御部32は受信したHTTPレスポンスのステータスコードが401(認証エラー)であるかを確認する(S56)。一方、HTTPレスポンスのステータスコードが401(認証エラー)でない場合は、S58に進む。
【0036】
ステータスコードが401の場合、認証情報制御部32はHTTPレスポンスの送信元となるHTTPサーバのURLと、その送信先となるクライアントのIPアドレスとを取得して、取得したIPアドレスとHTTPサーバのURLとに基づいて、認証記憶部33に記憶されている認証情報を削除する(S57)。HTTPレスポンスを転送する(S58)。尚、S57で認証記憶部33に認証情報が記憶されていない場合は、そのままS58に進む。
【0037】
S52において、HTTPリクエストに認証情報が存在しないと判断された場合、リクエスト/レスポンス生成部34はHTTPリクエストの送信元IPアドレスとHTTPリクエストの送信先URLを用いて、転送情報記憶部33に認証情報が既に記憶されているかを検索する(S59)。検索されない場合は、S58に進む。
【0038】
リクエスト/レスポンス生成部34は、S59で検索した認証情報を受信したHTTPリクエストの認証ヘッダに追加したHTTPリクエストを生成する(S60)。
【0039】
生成されたHTTPリクエストは、送信部55を介してHTTPサーバに送信される(S54)。
【0040】
続いて、認証情報の登録及び付加の動作を図6のシーケンス図を用いて説明する。
【0041】
クライアント1は、HTTPサーバ3にアクセスするために、HTTPリクエスト(認証情報無)をHTTPサーバ3に対して送信する(C61)。転送装置2は、HTTPサーバ3に転送する。HTTPサーバ3は、認証情報の無いHTTPリクエストであるため、ステータスコードが401(認証エラー)のHTTPレスポンスを返す(C62)。転送装置2は、クライアント2に転送する。
【0042】
ステータスコードが401(認証エラー)であるHTTPレスポンスを受けて、ユーザは認証情報を入力する(C63)。クライアント1は、HTTPサーバ3に再度アクセスするために、HTTPリクエスト(認証情報有)をHTTPサーバ3に対して送信する(C64)。
【0043】
転送装置は、クライアントから送信されるパケットを監視し、認証情報が設定されているHTTPリクエストを受信すると、受信したHTTPリクエストのIPアドレス、リクエストURL、及び認証情報を抽出し、認証情報記憶部33に記憶させる(C65)。その後、転送装置は受信したパケットをそのままHTTPサーバ3に送信する(C66)。
【0044】
HTTPサーバ3は、送信されたHTTPリクエストの認証が正しいと、“認証成功”を示すステータスコード200のHTTPレスポンスを返す(C67)。
【0045】
転送装置は、受信したHTTPレスポンスのステータスコードを取得し、転送装置に保存した認証情報を確認する(C68)。ステータスコードが“認証エラー”を示す401の場合は、C65において転送装置に記憶した認証情報を削除した後に、HTTPレスポンスをそのままクライアントへ転送する(C69)。
【0046】
ユーザが新規にブラウザを起動する(C70)。クライアント1は、HTTPサーバ3にアクセスするために、HTTPリクエスト(認証情報無)をHTTPサーバ3に対して送信する(C71)。
【0047】
転送装置は、受信したHTTPリクエスト(認証情報無)のIPアドレス及びリクエストURLに基づいて、既に認証情報が記憶されているかを確認し、認証情報が検索されるとその認証情報を付加したHTTPリクエストを生成する(C72)。
【0048】
転送装置は、HTTPサーバ宛に認証情報を付加したHTTPリクエストを送信する(C73)。
【0049】
HTTPサーバ3は、送信されたHTTPリクエストの認証が正しいと、“認証成功”を示すステータスコード200のHTTPレスポンスを返す(C74)。
【0050】
本実施の形態の効果について説明する。
【0051】
本発明によると、転送装置内にて認証情報を自動で付加することにより、新規に起動する度にユーザが認証情報を入力する必要がなくなる。
【0052】
更に、本発明によると、IPアドレスとリクエストURLと認証情報とを対応付けて記憶させているため、HTTPサーバ毎に認証情報が異なる場合やブラウザの種別又はバージョンが異なる場合にも対応できる。また、クライアントがPCや、ゲーム機、TV(TVに動作されるブラウザ)であっても、新規に起動する度にユーザが認証情報を入力する必要がなくなる。
【0053】
〈第2の実施の形態〉
第2の実施の形態を説明する。尚、上記実施の形態と同じ構成に関しては、同一番号を用いて説明し、詳細な説明は省略する。
【0054】
認証情報制御部32は、HTTPリクエストに認証情報が存在するか否か確認する。認証情報が存在する場合、該HTTPサーバへのアクセスには認証情報が必要であることを示すために、HTTPサーバを識別するURLを認証情報記憶部33に記憶する。
【0055】
認証情報記憶部33は、URLが記憶されている。尚、本説明では、アクセスに認証情報が必要であることを示すURLが認証情報記憶部33に記憶されている構成を用いて説明するが、該URLへのアクセスに認証情報が必要であることがわかれば、どのような形態であってもよいものとする。
【0056】
リクエスト/レスポンス生成部34は、認証情報が存在しないHTTPリクエストを受信した場合、アクセスに認証情報が必要かをHTTPリクエストの送信先URLを用いて認証情報記憶部33を確認する。認証情報が必要な場合、リクエスト/レスポンス生成部34は、ステータスコードが401(認証エラー)のHTTPレスポンスを生成して送信元のクライアントに返す。
【0057】
本実施の形態の動作について図7のフローチャートを用いて説明する。
【0058】
リクエスト/レスポンス監視部31は、受信したパケットがHTTPリクエストであるか監視する(S51)。
【0059】
受信したパケットが、HTTPリクエストである場合、認証情報制御部32がHTTPリクエストに認証情報が存在するか否か確認する(S52)。
【0060】
認証情報が存在する場合、HTTPリクエストの送信先URLを認証情報記憶部33に記憶する(S71)。
【0061】
上記の処理を実施後に、送信部35を介して受信したHTTPリクエストをサーバ宛に送信する(S72)。
【0062】
S52において、HTTPリクエストに認証情報が存在しないと判断された場合、リクエスト/レスポンス生成部34はアクセスに認証情報が必要かをHTTPリクエストの送信先URLを用いて確認する(S73)。検索されない場合は、S72に進む。
【0063】
一方、認証情報が必要な場合、リクエスト/レスポンス生成部34は、ステータスコードが401(認証エラー)のHTTPレスポンスを生成して(S74)、送信元のクライアントに返す(S75)。
【0064】
続いて、認証情報の登録及び付加の動作を図8のチャートを用いて説明する。
【0065】
クライアント1は、HTTPサーバ3にアクセスするために、HTTPリクエスト(認証情報無)をHTTPサーバ3に対して送信する(C81)。転送装置2は、HTTPサーバ3に転送する。HTTPサーバ3は、認証情報の無いHTTPリクエストであるため、ステータスコードが401(認証エラー)のHTTPレスポンスを返す(C82)。転送装置2は、クライアント2に転送する。
【0066】
ステータスコードが401(認証エラー)であるHTTPレスポンスを受けて、ユーザは認証情報を入力する(C83)。クライアント1は、HTTPサーバ3に再度アクセスするために、HTTPリクエスト(認証情報有)をHTTPサーバ3に対して送信する(C84)。
【0067】
転送装置は、クライアントから送信されるパケットを監視し、認証情報が設定されているHTTPリクエストを受信するとリクエストURLを抽出し、認証情報記憶部33に記憶させる(C85)。その後、転送装置は受信したパケットをそのままHTTPサーバ3に送信する(C86)。
【0068】
HTTPサーバ3は、送信されたHTTPリクエストの認証が正しいと、“認証成功”を示すステータスコード200のHTTPレスポンスを返す(C87)。転送装置は、転送装置は受信したパケットをそのままHTTPサーバ3に送信する。
【0069】
ユーザが新規にブラウザを起動する(C88)。クライアント1は、HTTPサーバ3にアクセスするために、HTTPリクエスト(認証情報無)をHTTPサーバ3に対して送信する(C89)。
【0070】
転送装置は、受信したHTTPリクエスト(認証情報無)のリクエストURLに基づいて認証情報が必要であるかを確認する(C90)。必要である場合にはステータスコードが401(認証エラー)のHTTPレスポンスを返す(C91)。
【0071】
クライアント1は、HTTPサーバ3にアクセスするために、HTTPリクエスト(認証情報有)をHTTPサーバ3に対して送信する(C92)。転送装置2は、HTTPサーバ3に転送する。HTTPサーバ3は、認証情報があるHTTPリクエストであるため、ステータスコードが200(認証OK)のHTTPレスポンスを返す(C93)。転送装置2は、クライアント2に転送する。
【0072】
尚、本実施の形態を第1の実施の形態に適用させることも可能である。例えば、認証情報制御部32は、HTTPリクエストからIPアドレスとリクエストURLと認証情報を取得して、認証情報記憶部33に記憶する。リクエスト/レスポンス生成部34が、認証情報を有さないHTTPリクエストからIPアドレスとリクエストURLとを取得して、認証情報が記憶されているかを確認する。記憶されていない場合には、リクエスト/レスポンス生成部34は、ユーザに認証情報が必要であることを通知するために、ステータスコードが401(認証エラー)のHTTPレスポンスを返す。
【0073】
本実施の形態の効果について説明する。
【0074】
本発明によると、アクセスに認証情報が必要であるかを、認証情報付のHTTPリクエストを受信した際に転送装置に記憶させているため、サーバにアクセスして認証情報を要求される場合よりも早くHTTPレスポンスを受信することが可能である。このため、網側のトラフィックを軽減することも可能である。また、ユーザやネットワーク管理者の手間をかけずに実現することが可能である。
【0075】
〈第3の実施の形態〉
第3の実施の形態を説明する。尚、上記実施の形態と同じ構成に関しては、同一番号を用いて説明し、詳細な説明は省略する。
【0076】
認証情報記憶部33には、事前に、図9のような認証情報を記憶させておく。この認証情報は、送信先URLとユーザID(クライアントIPアドレス)と認証情報とを関連づけて記憶させておくことにより、第1の実施の形態のC61からC69のシーケンスを省略することも可能となる。事前に認証情報を記憶させておく方法として、ユーザ又は管理者が専用アプリケーションを用いて設定すると、認証情報制御部32が認証情報記憶部33に記憶させる方法が考えられる。
【0077】
本実施の形態の効果について説明する。
【0078】
本発明によると、起動する度にユーザが認証情報を入力する必要がなくなる。また、認証エラーを示すHTTPレスポンスを受信することがないため、網側のトラフィックを軽減することも可能である。
【0079】
〈第4の実施の形態〉
第4の実施の形態を説明する。尚、上記実施の形態と同じ構成に関しては、同一番号を用いて説明し、詳細な説明は省略する。
【0080】
認証情報記憶部33には、図10のような認証情報と許容クライアントIPアドレスを示す許容情報を記憶させておく。この許容情報は、クライアントIPアドレスによってクライアントをグループ化したものである。そして、認証情報として、送信先URLとユーザIDと認証情報とクライアントグループとを対応付けて記憶させておく。認証情報及び許容情報を記憶させる方法として、ユーザ又は管理者が専用アプリケーションを用いて設定すると、認証情報制御部32が認証情報記憶部33に記憶させる方法が考えられる。
【0081】
リクエスト/レスポンス生成部34は、リクエスト/レスポンス監視部31が出力したHTTPリクエスト(認証無)から、クライアント1を一意に識別するためのIPアドレスとリクエストURLとを取得する。取得したIPアドレスを用いて、認証情報記憶部33の許容情報からグループを検索する。検索したグループを用いて認証情報からリクエストURLを検索し、HTTPリクエストから取得したリクエストURLと一致するか判定する。判定の結果一致する場合には、該HTTPサーバへのアクセスが許可されていると判断し、そのリクエストURLに対応付けられている認証情報を取得し、受信したHTTPリクエストに認証情報を付加したHTTPリクエストを生成する。
【0082】
本実施の形態の効果について説明する。
【0083】
本発明によると、第3の実施の形態同様に、起動する度にユーザが認証情報を入力する必要がなくなる。また、認証エラーを示すHTTPレスポンスを受信することがないため、網側のトラフィックを軽減することも可能である。
【0084】
また、HTTPサーバに対するアクセス制御も可能となる。
【0085】
尚、上述した本発明の端末は、上記説明からも明らかなように、ハードウェアで構成することも可能であるが、コンピュータプログラムにより実現することも可能である。
【0086】
このような場合、プログラムメモリに格納されているプログラムで動作するプロセッサによって、上述した実施の形態と同様の機能、動作を実現させる。尚、上述した実施の形態の一部の機能のみをコンピュータプログラムにより実現することも可能である。
【0087】
以上、実施の形態及び実施例をあげて本発明を説明したが、本発明は必ずしも上記実施の形態及び実施例に限定されるものではなく、その技術的思想の範囲内において様々に変形し実施することが出来る。
【0088】
(付記1)
アクセス許可が与えられていることを示す認証情報を有するHTTPリクエストをクライアントから受信すると、受信したHTTPリクエストの内容に基づいて、アクセス先と、前記認証情報、若しくは前記認証情報に関する情報とを対応付けて認証情報記憶部に記憶させる記憶制御手段と、
認証情報を有さないHTTPリクエストをクライアントから受信すると、受信したHTTPリクエストに記されているアクセス先に基づいて、前記認証情報、若しくは前記認証情報に関する情報を認証情報記憶部から検索し、前記クライアントのアクセス先が認証情報を必要とするアクセス先であるかを判定する判定手段と
を有することを特徴とする転送装置。
【0089】
(付記2)
前記判定手段が、認証情報を必要とするアクセス先であると判定した場合、前記検索した認証情報を前記受信したHTTPリクエストの認証ヘッダに記載したHTTPリクエストを生成する生成手段を有することを特徴とする付記1に記載の転送装置。
【0090】
(付記3)
前記判定手段が、認証情報を必要とするアクセス先であると判定した場合、認証情報を有するHTTPリクエストが必要であることを記したHTTPレスポンスを生成する生成手段を有することを特徴とする付記1又は付記2に記載の転送装置。
【0091】
(付記4)
アクセス許可が与えられていることを示す認証情報を有するHTTPリクエストをクライアントから受信すると、受信したHTTPリクエストの内容に基づいて、アクセス先と、前記認証情報、若しくは前記認証情報に関する情報とを対応付けて認証情報記憶部に記憶させる記憶制御手段と、
認証情報を有さないHTTPリクエストをクライアントから受信すると、受信したHTTPリクエストに記されているアクセス先に基づいて、前記認証情報、若しくは前記認証情報に関する情報を認証情報記憶部から検索し、前記クライアントのアクセス先が認証情報を必要とするアクセス先であるかを判定する判定手段と
を有することを特徴とするネットワークシステム。
【0092】
(付記5)
前記判定手段が、認証情報を必要とするアクセス先であると判定した場合、前記検索した認証情報を前記受信したHTTPリクエストの認証ヘッダに記載したHTTPリクエストを生成する生成手段を有することを特徴とする付記4に記載のネットワークシステム。
【0093】
(付記6)
前記判定手段が、認証情報を必要とするアクセス先であると判定した場合、認証情報を有するHTTPリクエストが必要であることを記したHTTPレスポンスを生成する生成手段を有することを特徴とする付記4又は付記5に記載のネットワークシステム。
【0094】
(付記7)
アクセス許可が与えられていることを示す認証情報を有するHTTPリクエストをクライアントから受信すると、受信したHTTPリクエストの内容に基づいて、アクセス先と、前記認証情報、若しくは前記認証情報に関する情報とを対応付けて認証情報記憶部に記憶させる記憶制御ステップと、
認証情報を有さないHTTPリクエストをクライアントから受信すると、受信したHTTPリクエストに記されているアクセス先に基づいて、前記認証情報、若しくは前記認証情報に関する情報を認証情報記憶部から検索する検索ステップと、
前記検索した認証情報、若しくは認証情報に関する情報に基づいて、前記クライアントのアクセス先が認証情報を必要とするアクセス先であるかを判定する判定ステップと
を有することを特徴とする通信方法。
【0095】
(付記8)
前記判定ステップが、認証情報を必要とするアクセス先であると判定した場合、前記検索した認証情報を前記受信したHTTPリクエストの認証ヘッダに記載したHTTPリクエストを生成する生成手段を有することを特徴とする付記7に記載の通信方法。
【0096】
(付記9)
前記判定ステップが、認証情報を必要とするアクセス先であると判定した場合、認証情報を有するHTTPリクエストが必要であることを記したHTTPレスポンスを生成する生成手段を有することを特徴とする付記7又は付記8に記載の通信方法。
【0097】
(付記10)
転送装置のプログラムであって、前記プログラムは前記転送装置に、
アクセス許可が与えられていることを示す認証情報を有するHTTPリクエストをクライアントから受信すると、受信したHTTPリクエストの内容に基づいて、アクセス先と、前記認証情報、若しくは前記認証情報に関する情報とを対応付けて認証情報記憶部に記憶させる記憶制御処理と、
認証情報を有さないHTTPリクエストをクライアントから受信すると、受信したHTTPリクエストに記されているアクセス先に基づいて、前記認証情報、若しくは前記認証情報に関する情報を認証情報記憶部から検索する検索処理と、
前記検索した認証情報、若しくは認証情報に関する情報に基づいて、前記クライアントのアクセス先が認証情報を必要とするアクセス先であるかを判定する判定処理と
を実行させることを特徴とするプログラム。
【0098】
(付記11)
前記判定処理が、認証情報を必要とするアクセス先であると判定した場合、前記検索した認証情報を前記受信したHTTPリクエストの認証ヘッダに記載したHTTPリクエストを生成する生成手段を有することを特徴とする付記10に記載のプログラム。
【0099】
(付記12)
前記判定処理が、認証情報を必要とするアクセス先であると判定した場合、認証情報を有するHTTPリクエストが必要であることを記したHTTPレスポンスを生成する生成手段を有することを特徴とする付記10又は付記11に記載のプログラム。
【符号の説明】
【0100】
1 クライアント
2 転送装置
3 HTTPサーバ
31 リクエスト/レスポンス監視部
32 認証情報制御部
33 認証情報記憶部
34 リクエスト/レスポンス生成部
35 送信部
36 受信部
【特許請求の範囲】
【請求項1】
アクセス許可が与えられていることを示す認証情報を有するHTTPリクエストをクライアントから受信すると、受信したHTTPリクエストの内容に基づいて、アクセス先と、前記認証情報、若しくは前記認証情報に関する情報とを対応付けて認証情報記憶部に記憶させる記憶制御手段と、
認証情報を有さないHTTPリクエストをクライアントから受信すると、受信したHTTPリクエストに記されているアクセス先に基づいて、前記認証情報、若しくは前記認証情報に関する情報を認証情報記憶部から検索し、前記クライアントのアクセス先が認証情報を必要とするアクセス先であるかを判定する判定手段と
を有することを特徴とする転送装置。
【請求項2】
前記判定手段が、認証情報を必要とするアクセス先であると判定した場合、前記検索した認証情報を前記受信したHTTPリクエストの認証ヘッダに記載したHTTPリクエストを生成する生成手段を有することを特徴とする請求項1に記載の転送装置。
【請求項3】
前記判定手段が、認証情報を必要とするアクセス先であると判定した場合、認証情報を有するHTTPリクエストが必要であることを記したHTTPレスポンスを生成する生成手段を有することを特徴とする請求項1又は請求項2に記載の転送装置。
【請求項4】
アクセス許可が与えられていることを示す認証情報を有するHTTPリクエストをクライアントから受信すると、受信したHTTPリクエストの内容に基づいて、アクセス先と、前記認証情報、若しくは前記認証情報に関する情報とを対応付けて認証情報記憶部に記憶させる記憶制御手段と、
認証情報を有さないHTTPリクエストをクライアントから受信すると、受信したHTTPリクエストに記されているアクセス先に基づいて、前記認証情報、若しくは前記認証情報に関する情報を認証情報記憶部から検索し、前記クライアントのアクセス先が認証情報を必要とするアクセス先であるかを判定する判定手段と
を有することを特徴とするネットワークシステム。
【請求項5】
アクセス許可が与えられていることを示す認証情報を有するHTTPリクエストをクライアントから受信すると、受信したHTTPリクエストの内容に基づいて、アクセス先と、前記認証情報、若しくは前記認証情報に関する情報とを対応付けて認証情報記憶部に記憶させる記憶制御ステップと、
認証情報を有さないHTTPリクエストをクライアントから受信すると、受信したHTTPリクエストに記されているアクセス先に基づいて、前記認証情報、若しくは前記認証情報に関する情報を認証情報記憶部から検索する検索ステップと、
前記検索した認証情報、若しくは認証情報に関する情報に基づいて、前記クライアントのアクセス先が認証情報を必要とするアクセス先であるかを判定する判定ステップと
を有することを特徴とする通信方法。
【請求項6】
転送装置のプログラムであって、前記プログラムは前記転送装置に、
アクセス許可が与えられていることを示す認証情報を有するHTTPリクエストをクライアントから受信すると、受信したHTTPリクエストの内容に基づいて、アクセス先と、前記認証情報、若しくは前記認証情報に関する情報とを対応付けて認証情報記憶部に記憶させる記憶制御処理と、
認証情報を有さないHTTPリクエストをクライアントから受信すると、受信したHTTPリクエストに記されているアクセス先に基づいて、前記認証情報、若しくは前記認証情報に関する情報を認証情報記憶部から検索する検索処理と、
前記検索した認証情報、若しくは認証情報に関する情報に基づいて、前記クライアントのアクセス先が認証情報を必要とするアクセス先であるかを判定する判定処理と
を実行させることを特徴とするプログラム。
【請求項1】
アクセス許可が与えられていることを示す認証情報を有するHTTPリクエストをクライアントから受信すると、受信したHTTPリクエストの内容に基づいて、アクセス先と、前記認証情報、若しくは前記認証情報に関する情報とを対応付けて認証情報記憶部に記憶させる記憶制御手段と、
認証情報を有さないHTTPリクエストをクライアントから受信すると、受信したHTTPリクエストに記されているアクセス先に基づいて、前記認証情報、若しくは前記認証情報に関する情報を認証情報記憶部から検索し、前記クライアントのアクセス先が認証情報を必要とするアクセス先であるかを判定する判定手段と
を有することを特徴とする転送装置。
【請求項2】
前記判定手段が、認証情報を必要とするアクセス先であると判定した場合、前記検索した認証情報を前記受信したHTTPリクエストの認証ヘッダに記載したHTTPリクエストを生成する生成手段を有することを特徴とする請求項1に記載の転送装置。
【請求項3】
前記判定手段が、認証情報を必要とするアクセス先であると判定した場合、認証情報を有するHTTPリクエストが必要であることを記したHTTPレスポンスを生成する生成手段を有することを特徴とする請求項1又は請求項2に記載の転送装置。
【請求項4】
アクセス許可が与えられていることを示す認証情報を有するHTTPリクエストをクライアントから受信すると、受信したHTTPリクエストの内容に基づいて、アクセス先と、前記認証情報、若しくは前記認証情報に関する情報とを対応付けて認証情報記憶部に記憶させる記憶制御手段と、
認証情報を有さないHTTPリクエストをクライアントから受信すると、受信したHTTPリクエストに記されているアクセス先に基づいて、前記認証情報、若しくは前記認証情報に関する情報を認証情報記憶部から検索し、前記クライアントのアクセス先が認証情報を必要とするアクセス先であるかを判定する判定手段と
を有することを特徴とするネットワークシステム。
【請求項5】
アクセス許可が与えられていることを示す認証情報を有するHTTPリクエストをクライアントから受信すると、受信したHTTPリクエストの内容に基づいて、アクセス先と、前記認証情報、若しくは前記認証情報に関する情報とを対応付けて認証情報記憶部に記憶させる記憶制御ステップと、
認証情報を有さないHTTPリクエストをクライアントから受信すると、受信したHTTPリクエストに記されているアクセス先に基づいて、前記認証情報、若しくは前記認証情報に関する情報を認証情報記憶部から検索する検索ステップと、
前記検索した認証情報、若しくは認証情報に関する情報に基づいて、前記クライアントのアクセス先が認証情報を必要とするアクセス先であるかを判定する判定ステップと
を有することを特徴とする通信方法。
【請求項6】
転送装置のプログラムであって、前記プログラムは前記転送装置に、
アクセス許可が与えられていることを示す認証情報を有するHTTPリクエストをクライアントから受信すると、受信したHTTPリクエストの内容に基づいて、アクセス先と、前記認証情報、若しくは前記認証情報に関する情報とを対応付けて認証情報記憶部に記憶させる記憶制御処理と、
認証情報を有さないHTTPリクエストをクライアントから受信すると、受信したHTTPリクエストに記されているアクセス先に基づいて、前記認証情報、若しくは前記認証情報に関する情報を認証情報記憶部から検索する検索処理と、
前記検索した認証情報、若しくは認証情報に関する情報に基づいて、前記クライアントのアクセス先が認証情報を必要とするアクセス先であるかを判定する判定処理と
を実行させることを特徴とするプログラム。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【公開番号】特開2011−191864(P2011−191864A)
【公開日】平成23年9月29日(2011.9.29)
【国際特許分類】
【出願番号】特願2010−55689(P2010−55689)
【出願日】平成22年3月12日(2010.3.12)
【出願人】(000197366)NECアクセステクニカ株式会社 (1,236)
【Fターム(参考)】
【公開日】平成23年9月29日(2011.9.29)
【国際特許分類】
【出願日】平成22年3月12日(2010.3.12)
【出願人】(000197366)NECアクセステクニカ株式会社 (1,236)
【Fターム(参考)】
[ Back to top ]