JP2006180245A - ネットワークアクセス制御システム、ネットワークアクセス制御方法 - Google Patents

ネットワークアクセス制御システム、ネットワークアクセス制御方法 Download PDF

Info

Publication number
JP2006180245A
JP2006180245A JP2004371736A JP2004371736A JP2006180245A JP 2006180245 A JP2006180245 A JP 2006180245A JP 2004371736 A JP2004371736 A JP 2004371736A JP 2004371736 A JP2004371736 A JP 2004371736A JP 2006180245 A JP2006180245 A JP 2006180245A
Authority
JP
Japan
Prior art keywords
communication
connection
information
random number
data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2004371736A
Other languages
English (en)
Inventor
Toshiyuki Tsutsumi
俊之 堤
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Software Engineering Co Ltd
Original Assignee
Hitachi Software Engineering Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Software Engineering Co Ltd filed Critical Hitachi Software Engineering Co Ltd
Priority to JP2004371736A priority Critical patent/JP2006180245A/ja
Publication of JP2006180245A publication Critical patent/JP2006180245A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Communication Control (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

【課題】
コンピュータネットワークにおけるコネクション型の通信方式において、より安全性の高いネットワークアクセス制御を実現する。
【解決手段】
クライアントがサーバにコネクションと確立すると、サーバはクライアントにワンタイム情報を含むチャレンジデータを送信する。クライアントはチャレンジデータ中のワンタイム情報を共有機密情報保持部に保持された固有乱数情報と結合させ、ハッシュ関数を用いて処理し認証情報を形成し、クライアントは認証情報を含んだレスポンス情報をサーバに送信する。サーバはワンタイム情報と共有機密情報保持部に保持された固有乱数情報とを結合させ、ハッシュ関数を用いて処理した期待認証情報を形成し、レスポンス情報に含まれる認証情報と期待認証情報とを対比し、両者が同じであった場合には、サーバはクライアントとのコネクションを承認する。
【選択図】 図1

Description

本発明は、コンピュータネットワークにおけるコネクション型の通信方式に関するものであり、特に、コネクション型の通信方式においてセキュリティを確保するためのアクセス制御技術に関するものである。
従来、インターネット上でのセキュリティを確保するため、特定ユーザの端末等に対しデータ持ち出しやデータ改ざん等各種損害を与える意図を持つ悪意の第三者(以下単に「悪意の第三者」と称する。)が特定のLAN構内などに侵入することを防止するアクセス制御技術が必要とされている。LAN構内へのアクセスの制限は、通信経路上にあるファイアウォールやルータなどのアクセス制御機器に搭載されたアクセス制御技術を利用することでも実現できる。
しかし、アクセス制御機器によるアクセス制御は、経路制御機能で予め定められたアクセス制御リストの設定に基づいて動作しており、アクセス制御リストに未設定の相手からのアクセス要求は許可されない。
一方、インターネットに接続している異なる家庭内ネットワークにあるパーソナルコンピュータ等の端末(以下単に「端末」と称する。)同士で対戦型のネットワークゲームを行う場合など、アクセス制御リストに設定された相手以外との交信が一時的に必要になるケースも増加している。
従来、アクセス制御を行いながら特定端末からのアクセスを許可するために、端末とインターネットとの間にアクセス制御機器を設置し、通常はインターネットを介した端末間の通信はユーザ認証のための通信以外は禁止する設定とし、端末がデータ転送を行うときは、端末間でユーザ認証を行い、ユーザ認証が成功した場合にアクセス制御機器の特定のポート番号を開放し、データ送信側の端末に対し開放されたポート番号のポートについてコネクションを確立する技術が知られている(たとえば、特許文献1参照)。
また、家庭内ネットワークとインターネットと接続しているルータの設定を動的に変更するプロトコルが標準規格として開示されている。このプロトコルにおいては、家庭内の端末がインターネット上のサーバと接続する前にルータに端末認証をしてもらい、接続先であるサーバのホストアドレスやポート番号などを確認して通信転送許可の設定を行ったのちに、データの交信が開始される(たとえば、非特許文献1参照)。
特開2000−349821号公報 (第9頁、第7図) Matthew Schmitz, Ulhas Warrier, Prakash Iyer著「WANIPConnection」UPnP Forum 出版、2001年11月12日、p.7−28
しかし、上記特許文献1や上記非特許文献1に記載された方式においては、アクセス制御の設定を変更する際、ユーザ認証が行われてからコネクションが確立されるまでにタイムラグが生じている。したがって、たとえばユーザ認証が行われてからコネクションが確立するまでの間に、サーバが突然ダウンしてしまったり、ネットワークの障害によりサーバへの経路が無くなったりすると、アクセス制御機器のポートが開放されたまま放置されてしまう。ポートが開放されたまま放置されると、悪意の第三者がサーバを偽ってコネクションを確立しようとする攻撃をアクセス制御機器の開放されたままのポートに対して行った場合、悪意の第三者のLAN構内への侵入を許してしまう。
本発明は上記課題に鑑みてなされたものであり、本発明の目的は、コネクション型の通信方式において、任意の相手とのデータ交信を可能としつつ、アクセスコネクション確立時のセキュリティホールの発生を防止し、安全性の高いアクセス制御を実現するネットワークアクセス制御システムおよびネットワークアクセス制御方法を提供することにある。
上記課題は、ネットワークを介して接続された通信クライアントと通信サーバとの間におけるコネクション型の通信方式に用いられるネットワークアクセス制御システムであって、前記通信サーバは、前記通信クライアントとのコネクションを確立する通信管理手段と、乱数情報を含むチャレンジデータを生成し前記チャレンジデータを前記通信クライアントに送信するとともに、前記通信クライアントから認証情報を一部に含むレスポンスデータを受信し、前記認証情報と前記乱数情報を用いて生成した引数のハッシュ値とが一致する場合に前記コネクションを承認するサーバ側認証手段と、前記コネクションの確立後前記コネクションの承認までの間、前記通信サーバと前記通信クライアントとの間における前記コネクションの承認のために用いるデータ以外のデータの交信を遮断するパケットフィルタ手段とを備え、前記通信クライアントは前記チャレンジデータの前記乱数情報を抽出し前記乱数情報を含む引数のハッシュ値である前記認証情報を生成し前記認証情報を含むレスポンスデータを生成して前記通信サーバに送信するクライアント側認証手段を備えたネットワークアクセス制御システムによって達成される。
上記ネットワークアクセス制御システムや、上記ネットワークアクセスシステムを用いたネットワークアクセス制御方法によれば、通信サーバは、通信管理手段において通信クライアントとのコネクションを確立してからサーバ側認証手段において通信クライアントの認証を行うため、通信サーバのポートが開放されたまま放置されることがなく、悪意の第三者による通信サーバへの不正侵入を防止できる。
上記ネットワークアクセス制御システムや、上記ネットワークアクセスシステムを用いたネットワークアクセス制御方法によれば、通信サーバのサーバ側認証手段は自ら生成した乱数情報をチャレンジデータにより通信クライアントに送信し、通信クライアントのクライアント認証手段はチャレンジデータの乱数情報をハッシュ関数で処理したハッシュ値としての認証情報を形成して認証情報をレスポンスデータにより通信サーバに送信し、通信サーバのサーバ側認証手段が乱数情報をハッシュ関数で処理したハッシュ値とレスポンスデータに含まれる認証情報との一致状況によってコネクションを承認することにより、特定の通信クライアントとのコネクションの確立と承認を、高いセキュリティレベルを確保しながら確実に行うことができる。
なお、本明細書においては、通信サーバと通信クライアントとの間でコネクションが確立してからコネクション通信サーバがコネクションの確立先である通信クライアントが自らがコネクションを希望した真正な相手であるか否かを確認するための手続きを「認証」と称し、コネクションを確立した通信クライアントが真正な相手であることの確認が完了した状態を「承認」と称する。
本発明によれば、コネクション型の通信方式において、特定の相手とのデータ交信を可能としつつ、コネクション確立時のセキュリティホールの発生を防止して、安全性が高くコネクション型の通信を実現できる。
以下、本発明の一実施形態を、図面を参照して説明する。同一番号は同様の部品・要素を示す。なお、以下に示す実施の形態は発明の一例示であり、かかる実施の形態のみに本発明が限定されることを示すものではない。
図1に本発明の一実施の形態に係るネットワークアクセス制御システムのネットワーク構成図を示す。
本発明に係るネットワークアクセス制御システム100は、通信クライアント101と、通信サーバ102と、ネットワーク103とを備えている。なお、本発明に係るアクセス制御システム100を構成する通信クライアント101および通信サーバ102の一方または双方はネットワーク103に複数接続されていてもよいが、本明細書においては、説明の簡単のため通信クライアント101と通信サーバ102とが各1台であるものとする。
通信クライアント101は、デスクトップPCやノートPCやPDA(Personal Digital Assistant)などのコンピュータ端末や、携帯電話などの各種無線通信機器であり、ネットワーク103を介して他の通信ノードと通信するアプリケーションを有している。
通信サーバ102は、デスクトップPCやノートPCなどのコンピュータ端末であり、モデムなどネットワーク103を介して他の通信ノードと通信するためのアプリケーションを有している。
通信サーバ102はアクセス制御機能を有し、通信クライアント101や通信クライアント101以外のコンピュータ端末や無線通信端末がネットワーク103を介して通信サーバ102に通信を求めてきた場合、通信を求めてきた通信クライアント101やコンピュータ端末や無線通信端末の認証を行い、認証の結果通信を許可した通信クライアント101やコンピュータ端末や無線通信端末とのみ通信を行う。
ネットワーク103は、公衆回線網やインターネット網や携帯電話網などで構成される広域通信網であり、アクセス制御システム100を構成する通信クライアント101および通信サーバ102以外のコンピュータ端末や無線通信端末などの相互間の通信にも用いられる。
図2に本実施の形態に係るアクセス制御システム100に用いる通信サーバ102のハードウェア構成図を示す。
通信サーバ102は、CPU201と、メモリ202と、通信部203と、入力部204と、出力部205と、記憶手段209と、バス210を備えている。
CPU201は、各種データの計算・加工を行なう中枢部分であり、入力部204に入力されたデータや記憶手段209に記憶されたデータを受け取り、演算処理や加工処理を行った上で、出力部205や記憶手段209に出力する。また、CPU201は、通信サーバ102を構成する各構成要素の制御を行う。
メモリ202は半導体メモリを利用した主記憶装置(メインメモリ)であり、CPU201と直接データの通信を行う。入力部204に入力されたデータや記憶手段209から読み出されてCPU201に送られるデータや、CPU201で演算処理や加工処理されて出力部205や記憶手段209に送られるデータは、一旦メモリ202にロードされてからCPU201や出力部205や記憶手段209に送られる。
通信部203は、RS-232CやUSB(Universal Serial Bus)やネットワークアダプタなどコンピュータ通信用の各種ハードウェアインターフェースであり、MODEM(Modulator-Demodulator)などコンピュータ信号とネットワーク103の回線信号とを相互変換するための各種機器も含まれる。
入力部204は、キーボード、マウス、ペン入力、音声入力、ボタン、ジョグダイヤル、十字キーなどのコンピュータ入力デバイスとコンピュータ入力デバイスによって入力された命令処理やデータ入力をコンピュータ内部で通信される信号に変換する入力変換手段とを有する入力用ユーザインターフェースであり、利用者による命令処理やデータの入力などに用いられる。
出力部205は、ディスプレイやスピーカなどの画像・音声出力デバイスとコンピュータ内部で通信される信号を画像データ(文字データ含む)や音声データに変換する出力変換手段を持ち、利用者による命令処理やデータの入力の結果確認などに用いられる。
記憶手段209は、データやプログラムを記憶する外部記憶装置であり、ハードディスクやフロッピーディスク、MO、CD-R、磁気テープなどによって形成され、データやプログラムを長期にわたって記録し保存する。記憶手段209には、通信管理プログラム206Aと共有機密情報208Aとサーバ側認証プログラム301Aとパケットフィルタプログラム302Aとコネクション管理テーブル303Aとが記録されている。
バス210はデータ交信路であり、CPU201、メモリ202、通信部203、入力部204、出力部205、記憶手段209をそれぞれ交信可能に接続する。
図3は、本実施の形態に係るアクセス制御システム100に用いる通信サーバ102の機能ブロック図である。通信サーバ102は、通信管理部206と、共有機密情報保持部208と、サーバ側認証部301と、パケットフィルタ部302と、コネクション管理部303とを備えている。図3に示す通信管理部206は図2に示す通信管理プログラム206Aを、図3に示すサーバ側認証部301は図2に示すサーバ側認証プログラム301Aを、図3に示すパケットフィルタ部302は図2に示すパケットフィルタプログラム302Aを、それぞれ図2に示すCPU201で演算処理することにより機能を実現する。図3に示す共有機密情報保持部208は図2に示す共有機密情報208Aのデータに基づいて、図3に示すコネクション管理部303は図2に示すコネクション管理テーブル303Aのデータに基づいて、それぞれ形成されている。
図3に示す通信管理部206は、通信クライアント101のアプリケーションとの間でコネクションを確立し、データ通信を行う。通信管理部206は、本発明を実施する際の通信クライアント101とのデータ通信においては、インターネットの標準プロトコルであるTCPを用い、通信クライアント101との間でTCPのデータ通信の際に必要なコネクションを確立し、データ通信を行う。
共有機密情報保持部208は、特定の通信クライアント101との間でだけ共有して、他の端末へは公開しない機密情報である共有機密情報を記録し保持している。
共有機密情報は、通信サーバ102と通信クライアント101との間で共有する、固有値としての乱数情報(以下「固有乱数情報」と称する。)と一方向性関数とから成る。固有乱数情報は、アルファベットなどの文字や○×△などの記号やアラビア数字などのランダムな配列を元に形成した、通信サーバ102と通信クライアント101との通信において不変の値である。一方向性関数は、与えられた原文である引数から固定長の疑似乱数としての値(以下「ハッシュ値」と称する。)を生成するハッシュ関数の一種であって、結果としてのハッシュ値から原文である引数を求めることが計算量的に困難な固有の関数である。
サーバ側認証部301は、通信サーバ102と通信クライアント101とのコネクションが確立したのちに、確立したコネクションを承認するための処理を行う。
サーバ側認証部301は、乱数生成部301aと、チャレンジデータ生成部301bと、データ結合部301cと、ハッシュ処理部301dと、比較部301eと、コネクション承認部301fと、コネクション確認部301gとを有している。
乱数生成部301aは、通信クライアント101から通信サーバ102に対してコネクションの確立要求があると、アルファベットなどの文字や○×△などの記号やアラビア数字などをランダムに配列した一時的乱数情報を生成する。乱数生成部301aが生成する乱数情報は、通信クライアント101からのコネクションの確立要求のたびごとに異なる一時的な値である。
チャレンジデータ生成部301bは、通信サーバ102が通信クライアント101とのコネクションの認証のために通信クライアント101に送信するチャレンジデータを生成する。
図4にチャレンジデータの模式を表す図を示す。チャレンジデータ700は、送信元アドレス701と、受信先アドレス702と、ワンタイム情報703とを有している。
送信元アドレス701は、チャレンジデータ700の送信元である通信サーバ102のIPアドレスおよびコネクションの確立によって設定された通信サーバ102側のTCPポート番号を結合して形成されている。
受信先アドレス702は、チャレンジデータ700の受信先であるコネクション確立を要求した通信クライアント101のIPアドレスおよびコネクションの確立によって通信クライアント101に設定された通信クライアント101側のTCPポート番号を結合して形成されている。
ワンタイム情報703は、乱数生成部301aが生成した乱数情報である。乱数生成部301aは通信クライアント101からのコネクション確立要求のたびに異なる値の乱数情報を生成するので、ワンタイム情報703を形成する乱数情報はチャレンジデータ700ごとに異なる値となる。
図3に戻り、サーバ側認証部301のコネクション確認部301gは、コネクション管理部303と交信しコネクションの確立・承認状況を確認する。
データ結合部301cは、乱数生成部301aが生成した一時的乱数情報と共有機密情報保持部208に保持された固有乱数情報とを結合して引数を生成する。
ハッシュ処理部301dは、データ結合部301cが生成した引数を共有機密情報保持部208に保持されたハッシュ関数によって処理し、ハッシュ値として、通信クライアント101から送信されるレスポンスデータに含まれる認証情報と同一値であることが期待される値である期待認証情報を生成する。ハッシュ処理部301dによって用いられるハッシュ関数としては、たとえばMD5やSHA1などの一方向性関数が挙げられる。
比較部301eは、通信クライアント101から送信されたレスポンスデータに含まれる認証情報とハッシュ処理部301dが生成した期待認証情報とを比較し、認証情報と期待認証情報が同一の値であるか否かを確認する。
コネクション承認部301fは、比較部301eにおいて認証情報と期待認証情報が同一の値であることが確認された場合にコネクションを承認する。
パケットフィルタ部302は、通信クライアント101との間で通信パケットを交信し、通信クライアント101と確立したコネクション上を通信されるデータのアクセス制御を行う。ここで、通信パケットとは、データ通信する際の通信単位である。通信パケットには、送信元ホストアドレスやポート番号、受信先の送信元ホストアドレスやポート番号、通信種別(コネクション確立要求やコネクション切断要求、データ転送など)の情報と通信データが含まれている。
図3に示すとおり、パケットフィルタ部302は記録部302aとポート番号・TCPヘッダ情報照合部302bとを有している。
記録部302aはポート番号とTCPヘッダ情報を記録するデータメモリであり、確立したコネクションのポート番号や、コネクションの認証の際に用いられる特定のポート番号や特定のTCPヘッダ情報などを記録する。
ポート番号・TCPヘッダ情報照合部302bは、交信されるデータを通過させるか否かを判断するために、記録部302aに記憶された情報と交信されるデータ中に含まれるポート番号やTCPヘッダ情報とを照合する。
コネクション管理部303は、通信クライアント101との間で確立しているコネクションの状態を管理するデータを記録するデータテーブルを格納している。
図5にコネクション管理部303が格納するコネクション管理テーブルの模式を表す図を示す。
図5に示すコネクション管理テーブル303aは、左の列から順に、項番格納部401、接続元アドレス格納部402、接続先アドレス格納部403、承認状況格納部404、乱数情報格納部405が形成されている。1行ごとのデータは、通信クライアント101から通信サーバ102に対して行われたコネクション確立要求ごとのデータを示している。
項番格納部401には、通し番号がコネクション確立要求ごとのデータに対して付与された通し番号が、コネクション確立要求のあった順に格納される。
接続元アドレス格納部402には、通信サーバ102のIPアドレスおよびコネクションの確立によって設定された通信サーバ102側のTCPポート番号を結合して形成したデータを格納する。
接続先アドレス格納部403には、コネクション確立を要求した通信クライアント101のIPアドレスおよびコネクションの確立によって設定された通信クライアント101側のTCPポート番号を結合して形成されている。
承認状況格納部404には、通信クライアント101に対するコネクションの認証の結果コネクションが承認されたか否かの結果データを格納する。「○」が格納されている行のコネクションは承認済みであり、「×」が格納されている行のコネクションは確立後未承認の状態である。
乱数情報格納部405には、通信サーバ102からコネクション確立要求があった際に乱数生成部301aが生成した乱数情報が格納される。
コネクション管理テーブル303a内のデータの記入、修正、削除はイベントドリブン方式で行われ、通信サーバ102からコネクション確立要求があるたびに行単位でデータが記入され、コネクションが承認されると承認状況格納部404のデータが「×」から「○」に修正され、コネクションが終了すると行単位でデータが消去される。
図6に本実施の形態に係る通信クライアント101のハードウェア構成図を示す。通信クライアント101は、図2に示す通信サーバ102のハードウェア構成と同じく、CPU201と、メモリ202と、通信部203と、記憶手段209と、バス210を備えている。
記憶手段209には、通信管理プログラム206Aとクライアント側認証プログラム207Aと共有機密情報208Aとが記録されている。
図7は、本実施の形態に係る通信クライアント101の機能を示すブロック図である。通信クライアント101は、通信管理部206と、クライアント側認証部207と、共有機密情報保持部208とを備えている。図7に示す通信管理部206は図6に示す通信管理プログラム206Aを、図7に示すクライアント側認証部207は図6に示すクライアント側認証プログラム207Aを、図6に示すCPU201で演算処理することによりそれぞれ機能を実現する。図7に示す共有機密情報保持部208は図6に示す共有機密情報208Aのデータに基づいて実現される。
図7において、クライアント側認証部207は、コネクション情報記憶部207aと、コネクション情報確認部207bと、データ結合部207cと、ハッシュ処理部207dと、レスポンスデータ生成部207eとを備えている。
コネクション情報記憶部207aはデータを一時的に保存する記憶手段であり、確立されたコネクションや承認されたコネクションについての情報が記憶されている。
コネクション情報確認部207bはクライアント側認証部207が受信したデータとコネクション情報記憶部207aに記憶されたコネクション情報との一致状況を確認するための構成であり、通信サーバ102からチャレンジデータを受信すると、コネクション情報記憶部207aに記憶されたコネクション情報との照合を行う。このチャレンジデータは図4に示すチャレンジデータ700であり、以下チャレンジデータの構成および符号は図4に示すものを用いる。図7に戻り、コネクション情報確認部207bにおける照合の結果、受信したチャレンジデータ700はコネクションが確立しかつ未承認のデータであることが確認された場合、コネクション情報確認部207bはチャレンジデータ700をデータ結合部207cおよびレスポンスデータ生成部207eに送信する。
データ結合部207cは、コネクション情報確認部207bからチャレンジデータ700を受信すると、チャレンジデータ700中のワンタイム情報703を取り出し、また、共有機密情報保持部208に保持された固有乱数情報を取得し、ワンタイム情報(一時的乱数情報)703と、通信サーバ102との間で共有された固有乱数情報とを結合して引数を生成する。
ハッシュ処理部207dは、データ結合部207cが生成した引数を、共有機密情報保持部208に保持されたハッシュ関数によって処理してハッシュ値を生成する。ハッシュ処理部207dによって用いられるハッシュ関数は、図3に示すハッシュ処理部301dにおいて用いられるハッシュ関数と同じものである。
図7において、レスポンスデータ生成部207eは、通信クライアント101が通信サーバ102とのコネクションの認証のために通信サーバ102に送信するレスポンスデータを生成する。
図8にレスポンスデータの模式を表す図を示す。レスポンスデータ800は、送信元アドレス801、受信先アドレス802、認証情報803を有している。
送信元アドレス801は、レスポンスデータ800の送信元であるコネクション確立を要求した通信クライアント101のIPアドレスおよびコネクションの確立によって設定された通信クライアント101側のTCPポート番号を結合して形成されている。
受信先アドレス802は、レスポンスデータ800の受信先である通信サーバ102のIPアドレスおよびコネクションの確立によって通信サーバ102に設定された通信サーバ102側のTCPポート番号を結合して形成されている。
認証情報803は、ハッシュ処理部207dが生成したハッシュ値によって形成されている。
図9は本実施の形態に係るネットワークアクセス制御システム100における、全体の動作を示すフローチャートである。以下図9に基づいて本実施の形態に係るネットワークアクセス制御システム100の全体の動作を説明する。
通信クライアント101の通信管理部206は、通信サーバ102の通信管理部206との間でコネクションを確立する。(S501)
通信クライアント101と通信サーバ102との間でコネクションが確立すると、通信サーバ102のパケットフィルタ部302は、ステップS501で確立したコネクションを流れる通信パケットの転送を一時的に遮断する(S502)。
確立したコネクションにおいて通信パケットの転送が一時的に拒否された状態で、通信サーバ102のサーバ側認証部301が、通信クライアント101のクライアント側認証部207と通信を行い、クライアントの承認処理を行う(S503)。具体的には、通信サーバ102側で図10および図11の各ステップに示す処理が行われ、通信クライアント101側で図12の各ステップに示す処理が行われる。
通信サーバ102が通信クライアント101を承認すると、通信サーバ102のパケットフィルタ部302が、ステップS503で承認されたコネクションに対して通信パケットの転送が許可されて、通信管理部206におけるパケット転送の遮断が解除される(S504)。
なお、ステップS503において通信サーバ102が通信クライアント101を承認できない場合には、ただちに処理が終了される。
図10は、本実施の形態に係るネットワークアクセス制御システム100の通信サーバ102における、パケットフィルタ部302の動作手順を示すフローチャートである。以下、図10に基づいてパケットフィルタ部302の動作手順を説明する。
パケットフィルタ部302は、通信クライアント101の通信管理部206からの通信パケットを受信する(S1001)。
パケットフィルタ部302のポート番号・TCPヘッダ情報照合部302bは記録部302aに記憶されたデータとの照合を行い、ステップS1001で受信した通信パケットがサーバ側認証部301やクライアント側認証部207の利用する特別なポート番号を利用しているかを確認する(S1002)。記録部302aとの照合の結果、ポート番号・TCPヘッダ情報照合部302bが、通信パケットがコネクション認証に用いる特別なポート番号を利用するものであることを確認した場合には、通信パケットは通信サーバ102のサーバ側認証部301に転送される(S1003)。通信パケットが特別なポート番号であった場合、サーバ側認証部301は、図11に示すステップS901からステップS909に示す処理を行う(S1003)。
図10に示すステップS1002において、通信パケットがコネクション認証に用いる特別なポート番号を利用しないことが確認された場合には、通信パケットの通信種別の確認を行う(S1004)。
ステップS1004において、通信パケットがコネクション確立要求のパケットであることが確認できた場合には、パケットフィルタ部302は、通信パケットの送信元ホストアドレスやポート番号、受信先ホストアドレスやポート番号をコネクション管理テーブル303に追加登録する(S1005)。この場合、図5に示すコネクション管理テーブル303aの承認状況404には「×」が示され、乱数情報405は空欄のままとなる。
図10のステップ1004において、通信パケットがコネクション切断要求のパケットであることが確認できた場合には、パケットフィルタ部302は、図5に示すコネクション管理テーブル303aのうち、通信パケットの送信元ホストアドレスやポート番号、受信先ホストアドレスやポート番号と接続元アドレス402と接続先アドレス403が一致するコネクション情報を削除する(S1006)。
図10のステップS1004において、通信パケットがコネクション確認要求のパケットでもコネクション切断要求のパケットでもないことが確認できた場合には、パケットフィルタ部302は、図5に示すコネクション管理テーブル303aにおいて、通信パケットの送信元ホストアドレスやポート番号、受信先ホストアドレスやポート番号とコネクション管理テーブル303の接続元アドレス402と接続先アドレス403が一致するコネクション情報があるか否かを確認する(S1007)。ステップS1007における確認の結果、一致するコネクション情報がない場合には通信パケットは破棄される(S1008)。
ステップS1005において通信パケットがコネクション確立要求のパケットであることが確認できた場合、およびステップS1006において通信パケットがコネクション切断要求のパケットであることが確認できた場合、およびステップS1007において通信パケットの送信元ホストアドレスやポート番号、受信先ホストアドレスやポート番号とコネクション管理テーブル303の接続元アドレス402と接続先アドレス403が一致しているコネクション情報がある場合には、通信パケットは通信サーバ102のサーバ側認証部301に処理のために転送される(S1003)。
図11は、本実施の形態に係るネットワークアクセス制御システム100の通信サーバ102における、サーバ側認証部301の動作手順を示すフローチャートである。以下、図9に基づいてサーバ側認証部301の動作手順を説明する。
サーバ側認証部301は、通信パケットの受信を受けて、コネクション管理テーブル303aに承認されていない(つまり図5のコネクション管理テーブル303aにおいて承認状況404が「×」になっている)コネクション情報があるかを確認する(S901)。承認されていないコネクション情報が存在しなければ、一定期間の処理待ちが行われた(S910)のち、再びステップS901に戻り承認されていないコネクション情報を確認する。
ステップS901において、承認されていないコネクション情報の存在が確認された場合クライアント側認証部207の特別なポート番号(コネクションの認証のみに用いられるポートのポート番号)に対してコネクションの確立が行われる(S902)。
サーバ側認証部301の乱数生成部301aは乱数情報を生成し、生成された乱数情報をもとにチャレンジデータ生成部301bはチャレンジデータ700を作成する(S903)。乱数生成部301aが生成した乱数情報は、コネクション管理テーブル303aの対応するコネクション情報における乱数情報405に登録される。
チャレンジデータ生成部301bが作成したチャレンジデータ700は、ステップS902で確立したコネクションを利用して、クライアント側認証部207に送信される(S904)。
通信クライアント101においては、チャレンジデータ700を受信し、レスポンスデータ800を作成し、通信サーバにレスポンスデータ800を送信する。通信サーバ102はステップS902で確立したコネクションを利用して通信クライアント101からデータを受信すると(S905)、通信サーバ102のコネクション確認部301gはコネクション管理部303のコネクション管理テーブル303aとレスポンスデータ800との照合を行って、受信したデータがエラー通知でないか(すなわちレスポンスデータか否か)を確認する(S906)。受信したデータがエラーであればステップ901に戻り、処理を繰り返す。
ステップS906における確認の結果、受信したデータがレスポンスデータであってエラー通知がないことが確認された場合、サーバ側認証部301のデータ結合部301cはコネクション管理テーブル303aよりレスポンスデータ800に対応するコネクション情報の乱数情報405を取得するとともに共有機密情報保持部208から固有乱数情報を取得し、乱数情報405と固有乱数情報とを結合して引数を生成する。ハッシュ処理部301dは引数を共有機密情報保持部208から取得したハッシュ関数によって処理し期待認証情報を形成する(S907)。比較部301eはハッシュ処理部301dから取得した期待認証情報とレスポンスデータ800に含まれた認証情報とをを比較する。(S908)両者が同じであれば、コネクション承認部301fにおいてコネクションを承認するとともに、コネクション管理テーブル303aにおけるコネクション情報の承認状況404を「○」にする(S909)。ステップS908において期待認証情報と認証情報とが一致しなかった場合にはステップS901に戻り、処理が最初から繰り返される。
図12は、本実施の形態に係るネットワークアクセス制御システム100の通信クライアント101における、クライアント側認証部207の動作手順を示すフローチャートである。以下、図6に基づいてクライアント側認証部207の動作手順を説明する。
通信サーバ102のサーバ側認証部301において、特別なポート番号に対するコネクションが確立すると(S601)、通信クライアント101は、通信サーバ102のサーバ側認証部301からチャレンジデータ700を受信する(S602)。
チャレンジデータ800を受信すると、クライアント側認証部207のコネクション情報確認部207bは、コネクション情報記憶部207aに記憶されたコネクション情報とチャレンジデータ800の送信元アドレス701と受信先アドレス702で特定されるコネクションが一致するか否かを確認する。(S603)
ステップS603でコネクションの確立が確認された場合、データ結合部207cがチャレンジデータ700に含まれるワンタイム情報703と共有機密情報保持部208から取得した固有乱数情報とを結合して引数を生成し、ハッシュ処理部207dにおいて、引数を共有機密情報保持部208から取得したハッシュ関数で処理してハッシュ値を形成する。レスポンスデータ形成部207eは、チャレンジデータ700の送信元アドレス701と受信先アドレス702との格納位置を入れ替えて、チャレンジデータ700の受信先アドレス702を送信元アドレス801、チャレンジデータ700の送信元アドレス701を受信先アドレス802とし、ハッシュ処理部207cが生成したハッシュ値を認証情報803としたレスポンスデータ800を作成する(S604)。
クライアント側認証部207は、ステップS604で作成されたレスポンスデータをサーバ側認証部301に送信し(S605)、処理を終了する。
ステップS603でコネクションの確立が確認できなかった場合には、サーバ側認証部301にエラーを通知し(S606)、処理を終了する。
以上、本実施の形態に係るネットワークアクセス制御システム100においては、通信サーバ102は、通信管理部206において通信クライアント101とのコネクションを確立してからサーバ側認証部301において通信クライアント101の認証を行うため、通信サーバ101のポートが開放されたまま放置されることがなく、悪意の第三者による通信サーバ102への不正侵入を防止できる。
本実施の形態に係るネットワークアクセス制御システム100においては、通信サーバ102のサーバ側認証部301は自ら生成した乱数情報をチャレンジデータ700により通信クライアント101に送信し、通信クライアント101のクライアント認証手段207はチャレンジデータ700の乱数情報をハッシュ関数で処理したハッシュ値としての認証情報を形成して認証情報をレスポンスデータ800により通信サーバ102に送信し、通信サーバ102のサーバ側認証部301が乱数情報をハッシュ関数で処理したハッシュ値としての期待認証情報とレスポンスデータ800に含まれる認証情報との一致状況によってコネクションを承認することにより、特定の通信クライアント101とのコネクションの確立と承認を、高いセキュリティレベルを確保しながら確実に行うことができる。
本実施の形態に係るネットワークアクセス制御システム100においては、通信サーバ102および通信クライアント101が生成する引数は、乱数情報に共有機密情報保持部208が保持する共通の固有乱数情報を付加して形成することにより、コネクションの承認に用いられるデータの機密性が高くなり、コネクションの承認におけるセキュリティレベルが一層高くなる。
本発明の一実施の形態に係るネットワークアクセス制御システムのネットワーク構成図である。 同上ネットワークアクセス制御システムに用いる通信サーバのハードウェア構成図である。 同上ネットワークアクセス制御システムに用いる通信サーバの機能ブロック図である。 同上ネットワークアクセス制御システムにおけるチャレンジデータの模式を表す図である。 同上ネットワークアクセス制御システムにおけるコネクション管理テーブルの模式を表す図である。 同上ネットワークアクセス制御システムに用いる通信クライアントのハードウェア構成図である。 同上ネットワークアクセス制御システムに用いる通信クライアントの機能ブロック図である。 同上ネットワークアクセス制御システムにおけるレスポンスデータの模式を表す図である。 同上ネットワークアクセス制御システムにおける、全体の動作を示すフローチャートである。 同上ネットワークアクセス制御システムの通信サーバにおける、パケットフィルタ部の動作手順を示すフローチャートである。 同上ネットワークアクセス制御システムの通信サーバにおける、サーバ側認証部の動作手順を示すフローチャートである。 同上ネットワークアクセス制御システムの通信クライアントにおける、クライアント側認証部の動作手順を示すフローチャートである。
符号の説明
100・・・ネットワークアクセス制御システム、101・・・通信クライアント、102・・・通信サーバ、103・・・ネットワーク、301・・・サーバ側認証部、302・・・パケットフィルタ部、301b・・・チャレンジデータ生成部、301c・・・データ結合部、301d・・・ハッシュ処理部、301e・・・比較部、301f・・・コネクション承認部、207c・・・データ結合部、207d・・・ハッシュ処理部、207e・・・レスポンスデータ生成部、700・・・チャレンジデータ、703・・・ワンタイム情報(乱数情報)、800・・・レスポンスデータ、803・・・認証情報

Claims (4)

  1. ネットワークを介して接続された通信クライアントと通信サーバとの間におけるコネクション型の通信方式に用いられるネットワークアクセス制御システムであって、
    前記通信サーバは、
    前記通信クライアントとのコネクションを確立する通信管理手段と、
    乱数情報を含むチャレンジデータを生成し前記チャレンジデータを前記通信クライアントに送信するとともに、前記通信クライアントから認証情報を一部に含むレスポンスデータを受信し、前記認証情報と前記乱数情報を用いて生成した引数のハッシュ値とが一致する場合に前記コネクションを承認するサーバ側認証手段と、
    前記コネクションの確立後前記コネクションの承認までの間、前記通信サーバと前記通信クライアントとの間における前記コネクションの承認のために用いるデータ以外のデータの交信を遮断するパケットフィルタ手段と
    を備え、
    前記通信クライアントは
    前記チャレンジデータの前記乱数情報を抽出し前記乱数情報を含む引数のハッシュ値である前記認証情報を生成し前記認証情報を含むレスポンスデータを生成して前記通信サーバに送信するクライアント側認証手段を備えた
    ことを特徴とするネットワークアクセス制御システム。
  2. 前記サーバ側認証手段は、
    乱数情報を含む前記チャレンジデータを生成するチャレンジデータ生成手段と、
    前記乱数情報を用いて前記引数を生成するデータ結合手段と、
    前記引数のハッシュ値としての期待認証情報を生成するハッシュ処理手段と、
    前記レスポンスデータに含まれる前記認証情報と前記期待認証情報とを対比する比較手段と、
    前記比較手段による対比の結果、前記認証情報と前記期待認証情報とが一致する場合に前記コネクションを承認するコネクション承認手段と
    を有し、
    前記クライアント側認証手段は、
    前記通信サーバから受信した前記チャレンジデータに含まれる前記乱数情報を抽出し前記乱数情報を含む引数を生成するデータ結合手段と、
    前記引数をハッシュ関数によって処理しハッシュ値としての認証情報を生成するハッシュ処理手段と、
    前記認証情報を含むレスポンスデータを生成して前記レスポンスデータを前記通信サーバに送信するレスポンスデータ生成手段と
    を有する
    ことを特徴とする請求項1に記載のネットワークアクセス制御システム。
  3. 前記通信サーバおよび前記通信クライアントは同一の乱数情報である固有乱数情報を保持する共有機密情報保持手段をそれぞれ備え、前記通信サーバの前記データ結合手段および前記通信クライアントの前記データ結合手段は前記乱数情報と前記固有乱数情報とを結合して前記引数を生成する
    ことを特徴とする請求項2に記載のネットワークアクセス制御システム。
  4. ネットワークを介して接続された通信クライアントと通信サーバとの間におけるコネクション型の通信方式に用いられるネットワークアクセス制御方法であって、
    前記通信サーバが前記通信クライアントとのコネクションを確立するステップと、
    前記通信サーバが乱数情報を含むチャレンジデータを生成し前記通信クライアントに送信するステップと、
    前記通信クライアントが前記チャレンジデータから前記乱数情報を抽出し前記乱数情報を用いて生成した引数をハッシュ関数で処理した認証情報を生成するステップと、
    前記通信クライアントが前記認証情報を含むレスポンスデータを生成し前記通信サーバに送信するステップと、
    前記通信サーバが前記乱数情報を用いて生成した引数をハッシュ関数で処理した期待認証情報を生成するステップと、
    前記通信サーバが前記レスポンスデータに含まれる前記認証情報と前記期待認証情報とを照合するステップと
    前記照合の結果前記認証情報と前記期待認証情報とが一致した場合には前記通信サーバは前記コネクションを承認するステップと含んでいることを特徴とするネットワークアクセス制御方法。
JP2004371736A 2004-12-22 2004-12-22 ネットワークアクセス制御システム、ネットワークアクセス制御方法 Pending JP2006180245A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2004371736A JP2006180245A (ja) 2004-12-22 2004-12-22 ネットワークアクセス制御システム、ネットワークアクセス制御方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004371736A JP2006180245A (ja) 2004-12-22 2004-12-22 ネットワークアクセス制御システム、ネットワークアクセス制御方法

Publications (1)

Publication Number Publication Date
JP2006180245A true JP2006180245A (ja) 2006-07-06

Family

ID=36733915

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004371736A Pending JP2006180245A (ja) 2004-12-22 2004-12-22 ネットワークアクセス制御システム、ネットワークアクセス制御方法

Country Status (1)

Country Link
JP (1) JP2006180245A (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009105738A (ja) * 2007-10-24 2009-05-14 Nippon Telegr & Teleph Corp <Ntt> 無線端末真贋判定システム、端末及び方法
JP2009124311A (ja) * 2007-11-13 2009-06-04 Kddi Corp 相互認証システム、相互認証方法およびプログラム
WO2015072037A1 (ja) * 2013-11-18 2015-05-21 三菱電機株式会社 通信システム及びマスタ装置
CN111740982A (zh) * 2020-06-18 2020-10-02 深圳市今天国际物流技术股份有限公司 一种基于算力证明的服务器防攻击方法和系统

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009105738A (ja) * 2007-10-24 2009-05-14 Nippon Telegr & Teleph Corp <Ntt> 無線端末真贋判定システム、端末及び方法
JP4712780B2 (ja) * 2007-10-24 2011-06-29 日本電信電話株式会社 無線端末真贋判定システム、方法、プログラム及び端末
JP2009124311A (ja) * 2007-11-13 2009-06-04 Kddi Corp 相互認証システム、相互認証方法およびプログラム
WO2015072037A1 (ja) * 2013-11-18 2015-05-21 三菱電機株式会社 通信システム及びマスタ装置
JP5987123B2 (ja) * 2013-11-18 2016-09-07 三菱電機株式会社 通信システム及びマスタ装置
JPWO2015072037A1 (ja) * 2013-11-18 2017-03-16 三菱電機株式会社 通信システム及びマスタ装置
CN111740982A (zh) * 2020-06-18 2020-10-02 深圳市今天国际物流技术股份有限公司 一种基于算力证明的服务器防攻击方法和系统
CN111740982B (zh) * 2020-06-18 2022-02-11 深圳市今天国际物流技术股份有限公司 一种基于算力证明的服务器防攻击方法和系统

Similar Documents

Publication Publication Date Title
JP4746333B2 (ja) コンピューティングシステムの効率的かつセキュアな認証
JP5047291B2 (ja) インターネットユーザに対して認証サービスを提供するための方法およびシステム
CN109155784B (zh) 区分纵向暴力攻击与良性错误
US8260353B2 (en) SIM messaging client
CN100574184C (zh) 用于在计算机系统之间建立用于传递消息的安全上下文的方法和设备
EP2057819B1 (en) Method for synchronising between a server and a mobile device
US8234694B2 (en) Method and apparatus for re-establishing communication between a client and a server
US10397008B2 (en) Management of secret data items used for server authentication
CN113553558A (zh) 经由内部网络监视来检测使用泄漏证书的攻击
US20090113537A1 (en) Proxy authentication server
US20180091487A1 (en) Electronic device, server and communication system for securely transmitting information
JP2005295570A (ja) プライベートデータを露出せずに通信ネットワークを介してパスワードで保護されたプライベートデータを回復する方法およびシステム
Bambacht et al. Web3: A decentralized societal infrastructure for identity, trust, money, and data
US20050044384A1 (en) Electric conference system and control method thereof
JP2007325274A (ja) プロセス間データ通信システムおよびプロセス間データ通信方法
JP2009032070A (ja) 認証システム及び認証方法
US10945131B2 (en) Methods and apparatus for securely storing, using and/or updating credentials using a network device at a customer premises
JP2011070513A (ja) アクセス制御システム、認証サーバシステムおよびアクセス制御プログラム
US8752191B2 (en) Generic digital rights management framework, and applications thereof
US20220247729A1 (en) Message transmitting system with hardware security module
JP2007142504A (ja) 情報処理システム
CN101983493A (zh) 确保家用网络中的通信安全的方法及其装置
JP4657706B2 (ja) 権限管理システム、認証サーバ、権限管理方法および権限管理プログラム
JP2006180245A (ja) ネットワークアクセス制御システム、ネットワークアクセス制御方法
JP2007317091A (ja) ワンタイムパスワード生成システムおよびワンタイムパスワード生成方法、ワンタイムパスワード生成装置、制御サーバおよびその制御方法