(57)【要約】【課題】認証サーバで同一のＲａｄｉｕｓプロトコルメッセージを複数受信する場合、重複メッセージの登録や処理を回避すること。【解決手段】Ｒａｄｉｕｓプロトコルを利用した認証サーバ１において、ネットワークアクセスサーバ２からのアカウンティングリクエストメッセージが同一のものを複数受信した場合、データベース４でのデータ一意性規則に基づいて、最初のアカウンティングリクエストメッセージを格納する。認証サーバ１は、アカウンティングリクエストメッセージのステータスタイプを判別し、当該ステータスタイプに基づいてデータベース４で同一メッセージを格納しないようにすることで、重複メッセージの登録や処理を回避することができる。【選択図】　　　　図１
2004133803.tif 000002
【特許請求の範囲】
【請求項１】
Ｒａｄｉｕｓプロトコルに準拠した認証サーバであって、
ネットワーク上に接続されるネットワークアクセスサーバから送信されるアカウンティングリクエストメッセージのステータスタイプに基づいて、受信したアカウンティングリクエストメッセージの登録処理／削除処理を制御することを特徴とする認証サーバ。
【請求項２】
ネットワーク上に接続される１以上のユーザ端末と、該ユーザ端末の前記ネットワークへのアクセスを仲介するネットワークアクセスサーバと、前記ユーザ端末の認証を行うＲａｄｉｕｓプロトコルに準拠した認証サーバと、該認証サーバにより管理されるデータベースと、からなる認証システムであって、
前記認証サーバは、
前記ネットワークアクセスサーバから送信されるアカウンティングリクエストメッセージのうち、前記データベースへ登録するデータを取得する取得手段と、前記アカウンティングリクエストメッセージのステータスタイプを判別する判別手段と、
前記判別したステータスタイプ及び前記取得したデータを前記データベースに送信する送信手段と、を有し、
前記データベースは、
前記取得したデータが該データベース内に存在するか否かを判定する判定手段と、
前記判定手段による判定結果及び前記ステータスタイプに基づいて前記データを登録又は前記データベースから削除することを特徴とする認証システム。
【請求項３】
前記データベースは、
前記ステータスタイプがスタートの際、前記取得したデータが前記データベースに未登録の場合に該データを登録し、既登録の場合に処理を中止することを特徴とする請求項１記載の認証システム。
【請求項４】
前記データベースは、
前記ステータスタイプがストップの際、前記取得したデータが前記データベースに既登録の場合に該データベース内の前記データを削除し、未登録の場合に処理を中止することを特徴とする請求項１又は２記載の認証システム。
【請求項５】
ネットワーク上に接続される１以上のユーザ端末と、該ユーザ端末の前記ネットワークへのアクセスを仲介するネットワークアクセスサーバと、前記ユーザ端末の認証を行うＲａｄｉｕｓプロトコルに準拠した認証サーバと、該認証サーバにより管理されるデータベースと、からなる認証システムにおける重複メッセージ登録回避方法であって、
前記認証サーバは、
前記ネットワークアクセスサーバから送信されるアカウンティングリクエストメッセージのうち、前記データベースへ登録するデータを取得する取得ステップと、
前記アカウンティングリクエストメッセージのステータスタイプを判別する判別ステップと、
前記判別したステータスタイプ及び前記取得したデータを前記データベースに送信する送信ステップと、を有し、
前記データベースは、
前記取得したデータが該データベース内に存在するか否かを判定する判定ステップと、
前記判定ステップによる判定結果及び前記ステータスタイプに基づいて前記データを登録又は前記データベースから削除する登録／削除ステップと、を有し、
同一アカウンティングリクエストメッセージの重複登録を回避することを特徴とする認証システムにおける重複メッセージ登録回避方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、インターネットにアクセスする際の課金、サービス制御、統計情報取得等に利用される認証サーバ、認証システム及び該認証システムにおける重複メッセージ登録回避方法に関する。
【０００２】
【従来の技術】
近年、インターネット等の情報通信ネットワークの利用者は増加の一途を辿っている。通常、ユーザのコンピュータからインターネットへ接続しようとする場合、ユーザは、ネットワークアクセスサーバに対してアクセス認証要求を出し、その要求を受けたネットワークアクセスサーバを介してダイアルアップ接続によりネットワークへアクセスする。
【０００３】
ネットワークアクセスサーバは、ユーザがネットワークへのアクセス権を取得する前に、認証サーバによる認証処理を行う。この認証処理時に用いられるネットワークプロトコルとしては、Ｒａｄｉｕｓ（Ｒｅｍｏｔｅ　Ａｕｔｈｅｎｔｉｃａｔｉｏｎ　Ｄｉａｌ−Ｉｎ　Ｕｓｅｒ　Ｓｅｒｖｉｃｅ）プロトコルが知られている。このＲａｄｉｕｓプロトコルは、ユーザの認証、許可、アカウンティングを行う業界標準プロトコルである。
【０００４】
Ｒａｄｉｕｓプロトコルによる認証サーバの主な機能は、ユーザ認証機能、アカウンティング機能、の２つに分類される。そのうち、ユーザ認証機能に関してはＲＦＣ２８６５仕様、アカウンティング機能に関してはＲＦＣ２８６６仕様にてそれぞれ規定されている。
【０００５】
Ｒａｄｉｕｓプロトコルを使用したユーザ認証機能は、以下のような手順で行われる。
【０００６】
まず、Ｒａｄｉｕｓプロトコルを使用するように設定されたＲＡＳ（Ｒａｄｉｕｓクライアント：以下、アクセスサーバと称す）に着信したダイアルアップユーザは、ユーザ名及びパスワードをアクセスサーバに対して送信する。
【０００７】
次に、ユーザ名及びパスワードを受け取ったアクセスサーバは、自らが保持しているユーザテーブルを検索し、当該ユーザテーブルにユーザ名が存在すれば、ユーザの認証をアクセスサーバ内で行う。ユーザ名がユーザテーブルに存在しない場合、アクセスサーバは、Ｒａｄｉｕｓサーバ（以下、認証サーバと称す）に対して認証要求（Ａｃｃｅｓｓ　Ｒｅｑｕｅｓｔ）を発信する。この認証要求には、当該アクセスサーバのＩＰアドレス、ユーザが着信したポート番号、ユーザ名、パスワードが含まれる。
このパスワードは、毎回異なるランダムベクタを使用して暗号かされているので、暗号を破ろうとする受動的及び能動的攻撃に対して高い防御性能を備えている。
【０００８】
次に、アクセスサーバからの認証要求がローカルネットワークを通じて認証サーバに送られる。もし、認証サーバから応答がない場合には、複数回の再送処理を行う。それでも応答がない場合には、代替サーバへ認証要求を送ることも可能である。
なお、認証サーバや代替サーバは、アクセスサーバの設定によって予め指定しておく必要がある。
【０００９】
認証サーバは、アクセスサーバからの認証要求を受信すると、アクセスサーバのＩＰアドレスの正当性を検査し、自らが管理すべきクライアントからのリクエストであることを確認後、暗号化されているパスワードを復号する。続いて、認証サーバは、ユーザ定義に関するローカルデータベースを検索し、該当するユーザの設定を検索する。データベース内のユーザエントリーには、当該ユーザの接続を許可するために必要な情報が記述されている。この情報には、常にユーザパスワードが含まれており、場合によっては、ユーザの接続するハードウェアを制限するため、アクセスサーバのＩＰアドレスやユーザが着信したポート番号が明示されていることもある。
【００１０】
認証サーバは、認証要求の内容と、ユーザ定義の内容とが一つでも合致しない場合、拒否応答（Ｒｅｊｅｃｔ）をアクセスサーバに送り、当該ユーザの着信が不正であることを通知する。このとき、認証サーバは、クリアテキスト　（暗号化されていないテキスト）のメッセージを送ることもできる。このメッセージは、アクセスサーバによってユーザ（アクセスのあった端末装置）に対して表示させる。
【００１１】
認証サーバは、上記の照合作業で全てが合致した場合、ユーザの接続パラメータリストを含む認証完了（Ａｃｃｅｓｓ　Ａｃｃｅｐｔ）　応答をアクセスサーバへ送信する。接続パラメータリストは、複数のパラメータ設定によって構成され、ユーザの接続方式（　Ｌｏｇｉｎ　Ｕｓｅｒ，　ＰＰＰ，　ＳＬＩＰなど）を指定する他、以下に述べるような接続に必要なパラメータを含んでいる。
Ｌｏｇｉｎ　Ｕｓｅｒでは、使用するプロトコル、接続先ホスト名、アクセスコントロールフィルタの種類など。
ＰＰＰやＳＬＩＰでは、ＩＰアドレス、ネットマスク、ＭＴＵ、圧縮の可否、さらに適用するべきパケットフィルタの種類など。
【００１２】
アクセスサーバは、認証サーバから認証拒否（Ｒｅｊｅｃｔ）応答を受信した場合、送られたクリアテキストメッセージをユーザ（アクセスのあった端末装置）に対して表示させるか、標準のメッセージ（”Ｉｎｖａｌｉｄ　Ｌｏｇｉｎ”）を表示させ、回線を切断して処理を終了する。認証完了（Ａｃｃｅｓｓ　Ａｃｃｅｐｔ）応答を受け取った場合、アクセスサーバは、受信したパラメータリストに基づいて設定を行い、ユーザの接続を受け入れる。このようなユーザ認証は、上述したＲＦＣ２８６５仕様に準拠して処理が行われる。
【００１３】
一方、ユーザの回線接続、切断毎のユーザ情報及び課金のための情報収集並びに記録するアカウンティング機能は、以下のような手順で行われる。
【００１４】
Ｒａｄｉｕｓアカウンティングサーバ（以下、アカウンティングサーバと称す）を使用するように設定されたアクセスサーバは、接続が確立（ユーザ認証に成功し、パラメータの設定が終了）時点で内部に接続情報を記録するためのエントリー（以下、内部アカウンティングレコードと称す）を作成する。このレコードは、アカウンティングサーバからアカウンティングレスポンスが返ってくるまで保持される。
【００１５】
次に、アクセスサーバは、内部アカウンティングレコードの情報に基づいてアカウンティングリクエストを作成し、アカウンティングサーバへ送信する。アカウンティングリクエストを受信したアカウンティングサーバは、内容を記録してアカウンティングレスポンスをアクセスサーバへ送信する。
【００１６】
アカウンティングレスポンスを受信したアクセスサーバは、内部アカウンティングレコードを削除する。但し、回線切断時に再度送信されるアカウンティングリクエストに必要な情報は依然保持される。アクセスサーバは、アカウンティングレスポンスを受信できなかった場合、アカウンティングリクエストを再送する。アカウンティング情報は、緊急性のある通信ではないため、再送間隔を指数的に増加するよう設定されている。内部アカウンティングレコードを作成してからアカウンティングリクエスト要求を送信するまでの経過時間は、属性（Ａｃｃｔ−Ｄｅｌａｙ−Ｔｉｍｅ）によりアカウンティングサーバに伝える。
【００１７】
回線切断時には、上記と同じ手順でアクセスサーバからアカウンティングサーバへアカウンティングリクエストが送信される。アカウンティングリプライ並びにアカウンティングリクエストの再送手順も回線接続時と同様である。このようなアカウンティング機能は、上述したＲＦＣ２８６６仕様に準拠して処理が行われる。
【００１８】
このようなＲａｄｉｕｓプロトコルによるメッセージは、ＵＤＰ（Ｕｓｅｒ　Ｄａｔａｇｒａｍ　Ｐｒｏｔｏｃｏｌ）を使用して通信を行う。このＵＤＰは、通信路上での転送補償機能を備えていないため、通信路上での障害により、複数複製されたり、消滅してしまったり、ということがある。
【００１９】
また、ＵＤＰに対する転送補償を行うため、ネットワークアクセスサーバは、アクセス認証サーバから応答が無い場合、同一のＲａｄｉｕｓプロトコルメッセージを再送する機構を備えている。
【００２０】
【発明が解決しようする課題】
しかしながら、上述したように従来のＲａｄｉｕｓプロトコルによるメッセージはＵＤＰを使用しているため転送補償機能が無く、通信路上の障害等により認証サーバ側で同一のＲａｄｉｕｓプロトコルメッセージを複数受信してしまうといった不具合があった。
この不具合は、認証サーバでの処理の複雑化を招くと共に、データベースにおける負荷が懸念される。
【００２１】
本発明は、上記不具合に鑑みて成されたものであり、認証サーバで同一のＲａｄｉｕｓプロトコルメッセージを複数受信する場合、データベースのデータ属性である一意規則性を利用して重複メッセージの登録や処理を回避する認証サーバ、認証システム、該認証システムにおける重複メッセージ登録回避方法を提供することを目的とする。
【００２２】
【課題を解決するための手段】
前記課題を解決するために、本発明は、Ｒａｄｉｕｓプロトコルに準拠した認証サーバであって、ネットワーク上に接続されるネットワークアクセスサーバから送信されるアカウンティングリクエストメッセージのステータスタイプに基づいて、受信したアカウンティングリクエストメッセージの登録処理／削除処理を制御することを特徴とする。
【００２３】
また、本発明は、ネットワーク上に接続される１以上のユーザ端末と、該ユーザ端末の前記ネットワークへのアクセスを仲介するネットワークアクセスサーバと、前記ユーザ端末の認証を行うＲａｄｉｕｓプロトコルに準拠した認証サーバと、該認証サーバにより管理されるデータベースと、からなる認証システムであって、前記認証サーバは、前記ネットワークアクセスサーバから送信されるアカウンティングリクエストメッセージのうち、前記データベースへ登録するデータを取得する取得手段と、前記アカウンティングリクエストメッセージのステータスタイプを判別する判別手段と、前記判別したステータスタイプ及び前記取得したデータを前記データベースに送信する送信手段と、を有し、前記データベースは、前記取得したデータが該データベース内に存在するか否かを判定する判定手段と、前記判定手段による判定結果及び前記ステータスタイプに基づいて前記データを登録又は前記データベースから削除することを特徴とする。
【００２４】
前記データベースは、前記ステータスタイプがスタートの際、前記取得したデータが前記データベースに未登録の場合に該データを登録し、既登録の場合に処理を中止することが好ましい。
【００２５】
前記データベースは、前記ステータスタイプがストップの際、前記取得したデータが前記データベースに既登録の場合に該データベース内の前記データを削除し、未登録の場合に処理を中止することが好ましい。
【００２６】
さらに、本発明は、ネットワーク上に接続される１以上のユーザ端末と、該ユーザ端末の前記ネットワークへのアクセスを仲介するネットワークアクセスサーバと、前記ユーザ端末の認証を行うＲａｄｉｕｓプロトコルに準拠した認証サーバと、該認証サーバにより管理されるデータベースと、からなる認証システムにおける重複メッセージ登録回避方法であって、前記認証サーバは、前記ネットワークアクセスサーバから送信されるアカウンティングリクエストメッセージのうち、前記データベースへ登録するデータを取得する取得ステップと、前記アカウンティングリクエストメッセージのステータスタイプを判別する判別ステップと、前記判別したステータスタイプ及び前記取得したデータを前記データベースに送信する送信ステップと、を有し、前記データベースは、前記取得したデータが該データベース内に存在するか否かを判定する判定ステップと、前記判定ステップによる判定結果及び前記ステータスタイプに基づいて前記データを登録又は前記データベースから削除する登録／削除ステップと、を有し、同一アカウンティングリクエストメッセージの重複登録を回避することを特徴とする。
【００２７】
＜作用＞
本発明では、Ｒａｄｉｕｓプロトコルを利用した認証サーバにおいて、ネットワークアクセスサーバからのアカウンティングリクエストメッセージが同一のものを複数受信した場合、データベースでのデータ一意性規則により、最初のアカウンティングリクエストメッセージを格納後、重複したメッセージをデータベースに格納しないようにすることで、同一メッセージを処理しないようにする。
【００２８】
【発明の実施の形態】
以下、添付図面を参照しながら本発明に係る認証サーバ、認証システム、該認証システムにおける重複メッセージ登録回避方法の実施の形態を詳細に説明する。
【００２９】
図１は、本発明の実施形態である認証サーバを用いた認証システムの概略構成を示すブロック図である。図１において、認証システムは、認証サーバ１と、ネットワークアクセスサーバ２と、ユーザ端末３と、データベース４と、を有して構成される。
【００３０】
本発明の実施形態である認証サーバ１は、ユーザ管理機能部１１と、認証機能部１２と、アカウンティング機能部１３と、を備えている。
【００３１】
ユーザ管理機能部１１は、ネットワークアクセスサーバ２を介してアクセスのあったユーザ（ユーザ端末）のユーザ名、パスワード等のユーザ情報を管理する。
【００３２】
認証機能部１２は、ネットワークアクセスサーバ２を介してユーザ端末３からの接続認証要求があった場合、ユーザ管理機能部１１にて管理されるユーザ情報を取得し、当該接続要求認証のあったユーザの認証処理を行う。
【００３３】
アカウンティング機能部１３は、ネットワークアクセスサーバ２からのアカウンティングリクエストメッセージを受信した場合、当該アカウンティングリクエストメッセージのステータス情報を判別し、データベース４へのデータ登録／データ削除（ログ管理）を制御する。
【００３４】
ネットワークアクセスサーバ２は、ネットワークアクセス用に複数のポートを備えており、ユーザ端末３からの接続認証要求に基づいてネットワークへの接続を仲介する。
【００３５】
ユーザ端末３は、ネットワークアクセスサーバ２を介してネットワークへ接続可能な端末であれば、特にその形態を限定されるものではなく、当然ながら接続台数に関しても制限されるものではない。
【００３６】
データベース４は、認証サーバ１に接続されるデータベースであり、当該認証サーバ１にて受信したアカウンティングメッセージから抽出されたデータ（データベースへの格納対象となるデータ）を格納している。このデータベース４には、予めテーブルを作成しておき、Ｒａｄｉｕｓプロトコルで一意規則性を必要とするデータには、当該テーブル内で主キーを割り当てて管理するようにする。格納されたデータは、認証サーバ１で判別されたアカウンティングリクエストメッセージのステータスタイプによって、データの登録処理か削除処理かが決定される。
【００３７】
このステータスタイプとは、ネットワークアクセスサーバ２から送信されるアカウンティングリクエストメッセージのステータス情報のことである。アカウンティングリクエストメッセージは、アカウンティングリクエスト（Ａｃｃｏｕｎｔｉｎｇ　Ｒｅｑｕｅｓｔ）中にステータス属性がスタート（Ｓｔａｔｕｓ＝Ｓｔａｒｔ）を含むメッセージ、アカウンティングリクエスト（Ａｃｃｏｕｎｔｉｎｇ　Ｒｅｑｕｅｓｔ）中にステータス属性がストップ（Ｓｔａｔｕｓ＝Ｓｔｏｐ）を含むメッセージ、といった形式で送信される。認証サーバ１は、アカウンティングリクエストメッセージのステータス属性が「スタート」であるのか、あるいは、「ストップ」であるのかを判別する。
【００３８】
データベース４で具体的に処理されるデータは、以下のようなデータである。
Ｕｓｅｒ−Ｎａｍｅ（ユーザ名）
ＮＡＳ−ＩＰ−Ａｄｄｒｅｓｓ（クライアントＩＰアドレス）
Ｆｒａｍｅｄ−ＩＰ−Ａｄｄｒｅｓｓ（ユーザＩＰアドレス）
Ａｃｃｔ−Ｓｅｓｓｉｏｎ−Ｉｄ（セッションＩＤ）
【００３９】
図２は、本発明の実施形態である認証サーバの処理例を示すフローチャートである。まず、認証サーバ１は、ネットワークアクセスサーバ２からのアカウンティングリクエストメッセージを受信すると（ステップＳ１）、当該アカウンティングリクエストメッセージからデータベース４に登録するデータ部分を取得する（ステップＳ２）。
【００４０】
次に、認証サーバ１は、受信したアカウンティングリクエストメッセージのステータスタイプを判別する（ステップＳ３）。
【００４１】
ステップＳ３において、アカウンティングリクエストメッセージのステータスタイプが「スタート」の場合には（ステップＳ３／スタート）、データベース内にステップＳ２で取得したデータが既に登録されているか否かを判定する（ステップＳ４）。
【００４２】
ステップＳ４において、既にデータベース内にステップＳ２で取得したデータが登録されている場合には（ステップＳ４／データ既存）、データ一意性規則違反として処理を終了する（ステップＳ５）。
【００４３】
ステップＳ４において、データベース４内にステップＳ２で取得したデータが未登録の場合には（ステップＳ４／データなし）、データの登録処理を行った後（ステップＳ６）、アカウンティング処理を行い（ステップＳ１０）、アカウンティングレスポンスメッセージをネットワークアクセスサーバ２に対して送信する（ステップＳ１１）。
【００４４】
ステップＳ３において、アカウンティングリクエストメッセージのステータスタイプが「ストップ」の場合には（ステップＳ３／ストップ）、データベース４内にステップＳ２で取得したデータが既に登録されているか否かを判定する（ステップＳ７）。
【００４５】
ステップＳ７において、既にデータベース４内にステップＳ２で取得したデータが登録されている場合には（ステップＳ７／データ既存）、当該データベース４内から該当データを削除し（ステップＳ８）、アカウンティング処理を行った後（ステップＳ１０）、アカウンティングレスポンスメッセージをネットワークアクセスサーバ２に対して送信する（ステップＳ１１）。
【００４６】
ステップＳ７において、ステップＳ２で取得したデータが未登録の場合には（ステップＳ７／データなし）、データなしエラーとして処理を終了する（ステップＳ９）。
【００４７】
なお、上述される実施形態は本発明の好適な実施形態であり、本発明の要旨を逸脱しない範囲内において種々変形して実施することが可能である。例えば、本発明の実施形態における認証サーバ並びにデータベースにおける処理手順をプログラムとして採用することも可能である。
【００４８】
【発明の効果】
以上の説明から明らかなように、本発明によれば、Ｒａｄｉｕｓプロトコルに準拠した認証サーバでデータベースを利用し、ネットワークアクセスサーバから送信されるアカウンティングリクエストメッセージの登録／削除を制御することにより、同一メッセージの重複登録を回避することができる。
【００４９】
また、本発明によれば、データベースのデータ属性やエラー処理を利用することにより、認証サーバ内でアカウンティングリクエストメッセージの重複受信チェックを行う必要がなく、簡易に処理を実現することができる。
【００５０】
さらに、本発明によれば、認証サーバに接続されるデータベースにデータを格納することにより、格納したデータを利用したアクセス状態の監視やユーザに利用状況の解析を容易にすることができる。
【図面の簡単な説明】
【図１】本発明の実施形態である認証システムの概略構成を示すブロック図である。
【図２】本発明の実施形態における認証サーバの処理例を示すフローチャートである。
【符号の説明】
１　認証サーバ
２　ネットワークアクセスサーバ
３　ユーザ端末
４　データベース
１１　ユーザ管理機能部
１２　認証機能部
１３　アカウンティング機能部
【図１】
2004133803.tif 000003
【図２】
2004133803.tif 000004