(57)【要約】  従来のDHCP認証方式ではRapid-Commitオプションによる1フェーズ2メッセージのDHCPシーケンスに対応できなかった。また、従来のDHCP認証方式では、リース更新のタイミングで再送攻撃が可能であったり、クライアントとサーバの間で再送検出方式で使う情報が同期を取れなくなった場合にそのことが検出できず、不要なトラフィックが出続けるという問題があった。DHCPクライアント装置内部に、ユーザID、秘密鍵、再送検出方式(RDM)情報を記憶する手段を持つ。DHCPサーバ装置はユーザIDをキーとして秘密鍵とRDM情報を検索可能なDBを内部に持つか、同じ機能を持つ外部DBへのアクセス機構を持つ。
2009072271.tif 000002
【特許請求の範囲】
【請求項１】
DHCPサーバ装置とDHCPクライアント装置を有するDHCPクライアントサーバシステムであって、
前記DHCPクライアント装置は
ユーザIDと秘密鍵と再送検出情報を記憶する手段と、
前記秘密鍵と前記再送検出情報とを含むデータ列から鍵認証情報を算出する手段と、
前記ユーザIDと前記再送検出情報と前記鍵認証情報を含んだDHCPメッセージを送信する手段と、
前記再送検出情報の演算による更新をする手段とを具備し、
前記DHCPサーバ装置は、
前記DHCPメッセージを受信した際に、前記DHCPメッセージからユーザIDと再送検出情報と鍵認証情報を抽出する手段と、
前記DHCPメッセージから抽出したユーザIDに基づいて秘密鍵と再送検出情報を検索するデータベース検索機能と、
前記DHCPメッセージから抽出した再送検出情報と前記データベースから検索した再送検出情報とを比較して再送状況を検出する手段と、
前記DHCPメッセージから抽出した再送検出情報と前記データベースから検索した秘密鍵とを含むデータ列から鍵認証情報を算出する手段と、
算出した前記鍵認証情報と前記DHCPメッセージから抽出した鍵認証情報とを対比して認証を判定する手段とを具備することを特徴とするDHCPクライアントサーバシステム。
【請求項２】
前記DHCPメッセージを送信する手段は、前記DHCPサーバからの認証情報を含むDHCPメッセージを受信することなく前記DHCPメッセージを送信することを特徴とする請求項１記載のDHCPクライアントサーバシステム。
【請求項３】
前記鍵認証情報を算出する手段は、前記秘密鍵と再送検出情報とを含むデータ列からハッシュ演算によって前記鍵認証情報を算出し、前記鍵認証情報はハッシュ値であることを特徴とする請求項１記載のDHCPクライアントサーバシステム。
【請求項４】
前記DHCPメッセージとは、クライアント装置から送信される最初のメッセージであることを特徴とする請求項１記載のDHCPクライアントサーバシステム。
【請求項５】
前記再送検出情報の演算による更新をする手段は、単調増加演算を行い、前記DHCPメッセージから抽出した再送検出情報と前記データベースから検索した再送検出情報を比較して再送状況を検出する手段は、前記DHCPメッセージから抽出した再送検出情報が前記データベースから検索した再送検出情報以下か否かを検出し、前記DHCPメッセージから抽出した再送検出情報が再送検出情報以下であるときに、前記認証を失敗とすることを特徴とする請求項１記載のDHCPクライアントサーバシステム。
【請求項６】
前記DHCPサーバ装置は前記DHCPクライアント装置に対し、認証が成功した場合に認証成功オプションを含んだDHCPメッセージを送信し、認証が失敗した場合に認証失敗オプションを含んだDHCPメッセージを送信することを特徴とする請求項１記載のDHCPクライアントサーバシステム。
【請求項７】
前記DHCPサーバ装置は前記DHCPクライアント装置に対し、再送状況が検出されて認証が失敗するとき、前記認証失敗オプションを再送検出状態コードとして、前記認証失敗オプションと前記データベースから検索された再送検出情報とを含んだDHCPメッセージを送信することを特徴とする請求項６記載のDHCPクライアントサーバシステム。
【請求項８】
前記DHCPクライアント装置は、前記DHCPメッセージを受信するとき、前記記憶する手段に記憶する再送検出情報を前記DHCPメッセージ内の再送検出情報による上書き及び前記更新をしてDHCPメッセージを作成し、送信することを特徴とする請求項７記載のDHCPクライアントサーバシステム。
【請求項９】
ユーザIDと秘密鍵と再送検出情報を記憶する手段と、
前記秘密鍵と前記再送検出情報とを含むデータ列から鍵認証情報を算出する手段と、
前記ユーザIDと前記再送検出情報と前記鍵認証情報とを含んだDHCPメッセージをDHCPサーバに送信する手段と、
前記再送検出情報の更新をする手段とを具備するDHCPクライアント装置。
【請求項１０】
前記鍵認証情報を算出する手段は、前記秘密鍵と再送検出情報とを含むデータ列からハッシュ演算によって前記鍵認証情報を算出し、前記鍵認証情報はハッシュ値であることを特徴とする請求項９記載のDHCPクライアント装置。
【請求項１１】
前記DHCPメッセージとは、クライアント装置から送信される最初のメッセージであることを特徴とする請求項９記載のDHCPクライアント装置。
【請求項１２】
前記再送検出情報の演算による更新をする手段は、単調増加演算を行う特徴とする請求項９記載のDHCPクライアント装置。
【請求項１３】
前記DHCPサーバ装置から再送検出状態コードと前記DHCPサーバ装置のデータベースから検索された再送検出情報とを含んだDHCPメッセージを受信するときに、前記記憶する手段に記憶する再送検出情報を前記DHCPメッセージ内の再送検出情報による上書き及び前記更新をしてDHCPメッセージを作成し、送信することを特徴とする請求項９記載のDHCPクライアント装置。
【請求項１４】
DHCPクライアント装置から受信するDHCPメッセージから、ユーザIDと再送検出情報と鍵認証情報を抽出する手段と、
前記ユーザIDに基づいて秘密鍵と再送検出情報を検索するデータベース検索機能と、
前記DHCPメッセージから抽出した再送検出情報と前記データベースから検索した再送検出情報とを比較して再送状況を検出する手段と、
前記DHCPメッセージから抽出した再送検出情報と前記データベースから検索した秘密鍵とを少なくとも含むデータ列から鍵認証情報を算出する手段と、
算出した鍵認証情報と前記メッセージから抽出した鍵認証情報とを対比して認証を判定する手段と具備するDHCPサーバ装置。
【請求項１５】
前記DHCPメッセージから抽出した再送検出情報と前記データベースから検索した再送検出情報とを比較して再送状況を検出する手段は、前記DHCPメッセージから抽出した再送検出情報が前記データベースから検索した再送検出情報以下か否かを検出し、前記DHCPメッセージから抽出した再送検出情報が再送検出情報以下であるときに、前記認証を失敗とすることを特徴とする請求項１４に記載のDHCPサーバ装置。
【請求項１６】
前記DHCPクライアント装置に対し、認証が成功した場合に認証成功オプションを含んだDHCPメッセージを送信し、認証が失敗した場合に認証失敗オプションを含んだDHCPメッセージを送信することを特徴とする請求項１４に記載のDHCPサーバ装置。
【請求項１７】
前記DHCPクライアント装置に対し、再送状況が検出されて認証が失敗するとき、前記認証失敗オプションを再送検出状態コードとして、前記認証失敗オプションと前記データベースから検索された再送検出情報を含んだDHCPメッセージを送信することを特徴とする請求項１６に記載のDHCPサーバ装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、DHCPクライアントサーバシステムの認証方式に関する。
【背景技術】
【０００２】
従来DHCPクライアントサーバシステムにおける認証方式は、2フェーズ4メッセージのDHCPシーケンスを前提とし、DHCPクライアント装置は、DHCPサーバ装置からの認証情報の提供を受けてからサーバへの認証要求を行っていた。【０００３】
たとえば非特許文献1および非特許文献2にて定義されているDelayed Authenticationによれば、クライアントからの最初のDHCPメッセージであるDISCOVER(DHCPv4)/SOLICIT(DHCPv6)には認証情報は含まれておらず、サーバからの最初のメッセージであるOFFER(DHCPv4)/ADVERTISE(DHCPv6)に含まれる認証情報を元に使用する秘密鍵を決定してメッセージのハッシュを生成し、その後のREQUESTメッセージにおいて
ハッシュ値を送信することでDHCPクライアント装置の認証を行っていた。【０００４】
また、特許文献１においても、クライアントからの最初のDHCPメッセージであるDISCOVER(DHCPv4)/SOLICIT(DHCPv6)には認証情報は含まれておらず、サーバからの最初のメッセージであるOFFER(DHCPv4)/ADVERTISE(DHCPv6)に含まれるIdentifierとChallenge値を元にハッシュ値を生成し、その後のREQUESTメッセージにおいてハッシュ値を送信する
ことでDHCPクライアント装置の認証を行っていた。【０００５】
【特許文献１】特開2006-115033号公報
【非特許文献１】Bound, J., Carney, M., Perkins, C., Lemon, T., Volz, B.and R. Droms (ed.), "Dynamic HostConfiguration Protocol for IPv6 (DHCPv6)", RFC 3315, May 2003.
【非特許文献２】Droms, R., Ed. and W.Arbaugh, Ed., "Authentication for DHCP Messages", RFC 3118, June 2001.
【非特許文献３】Park, S., Kim, P., and B.Volz, "Rapid Commit Option for the Dynamic Host Configuration Protocolversion 4 (DHCPv4)", RFC 4039, March 2005.
【発明の開示】
【発明が解決しようとする課題】
【０００６】
これらの方式は、非特許文献1および非特許文献3にて規定されるRapid-Commitオプションによる1フェーズ2メッセージのDHCPシーケンスでは利用できないという問題がある。【０００７】
また、特許文献１の方式では、challenge値が更新されるタイミングがOFFER(DHCPV4)/ADVERTISE(DHCPv6)とFORCERENEW(DHCPv4)/RECONFIGURE(DHCPv6)のタイミングしかないため、リース更新のタイミングで同じネットワークセグメントに接続している攻撃者が正規のシーケンス上のパケットをキャプチャして、サーバに対して再送することで秘密鍵を持っていなくとも認証を不当に成功させてしまう再送攻撃が可能となるという問題がある。
非特許文献２の方式では、秘密鍵のほかに一定の演算(たとえば毎回インクリメント)により毎回変化する値である再送検出情報(RDM情報)をハッシュ計算の際に用いて、毎回ハッ
シュ値を変化させることにより再送攻撃を検出する、再送検出方式(RDM)を導入すること
により再送攻撃の問題は回避しているが、認証に失敗したパケットは捨てると規定しているため、何らかの事情によりRDM情報の値がサーバとクライアントで食い違った場合でも各々がその状態を認識することが出来ず、認証できないまま再送を続けるという問題がある。【０００８】
上記の通り、従来のDHCP認証手段にはRapid-Commitオプションによる1フェーズ2メッセージのシーケンスには適用できないという課題があった。【０００９】
本発明の第一の目的は、Rapid-Commitオプションを使用した場合でも利用可能なDHCP認証方式を提供することである。【００１０】
また、従来のDHCP認証手段には、再送攻撃を十分に防げなかったり、逆に再送検出方式の状態異常の場合に無駄なトラフィックが発生し続けるという課題があった。【００１１】
本発明の第二の目的は、再送攻撃を十分に防ぎながら再送検出方式の状態異常の際に速やかに状態を復帰することが可能となるDHCP認証方式を提供することである。
【課題を解決するための手段】
【００１２】
DHCPクライアント装置内部に、ユーザID、秘密鍵、再送検出方式(RDM)情報を記憶する
手段を持つ。DHCPサーバ装置はユーザIDをキーとして秘密鍵とRDM情報を検索可能なDBを
内部に持つか、同じ機能を持つ外部DBへのアクセス機構を持つ構成としてもよい。  DHCP処理の開始に先立って、ユーザID、秘密鍵、RDM情報の初期値はクライアント装置とサー
バ装置で一致させておいてもよい。【００１３】
DHCPクライアント装置は、秘密鍵とRDM情報を少なくとも含むデータ列にMD5, SHA-1, 
SHA-2などのハッシュ関数を適用して作られたハッシュ値とユーザID、RDM情報の三つを含めた認証用オプションをDHCPメッセージに含めてサーバ装置に送信してもよい。 このDHC
Pメッセージは、DHCPシーケンスの最初のメッセージであるDISCOVER(DHCPv4)/SOLICIT(DHCPv6)とすることも可能である。【００１４】
DHCPサーバ装置は、前記認証用オプションを含んだDHCPメッセージを受信したならば、ユーザIDとハッシュ値とRDM情報をオプションから抽出し、ユーザIDをキーにDBを検索し
て秘密鍵とRDM情報を得る。オプションから抽出したRDM情報とDBから検索したRDM情報を
所定の手法(たとえば大小比較)に基づいて比較し、再送と判断した(たとえばオプション
から抽出したRDM情報が、DBから検索されたRDM情報以下)ならば認証失敗オプションを含
めた応答メッセージを送信する。そのさいに認証失敗オプションにはDBで保持していたRD
M情報を含める。【００１５】
再送ではないと判断したならば、DBから検索した秘密鍵とオプションから抽出したRDM情報を用いてハッシュ値を計算し、オプションから抽出したハッシュ値と比較する。もしハッシュ値が一致したならば認証成功として認証成功オプションを含めた応答メッセージを送信する。もし一致しなかったならば認証失敗オプションを含めた応答メッセージを送信する。【００１６】
DHCPクライアント装置は、認証成功または認証失敗オプションを含んだ応答メッセージを受信したならば、所定の手法(たとえばインクリメント)に基づいて自身の保持するRDM情報を更新する。【００１７】
DHCPクライアント装置は、特にRDM情報を含んだ認証失敗オプションを含んだ応答メッ
セージを受信したならば、自身で保持するRDM情報を認証失敗オプションに含まれていた
ものに上書きしたうえで所定の手法に基づいて自身の保持するRDM情報を更新し、再度DHC
Pメッセージを送信する。【００１８】
本発明は一例として、DHCPサーバ装置とDHCPクライアント装置を有するDHCPクライアントサーバシステムであって、前記DHCPクライアント装置はユーザIDと秘密鍵と再送検出情報を記憶する手段と、前記秘密鍵と前記再送検出情報とを含むデータ列から鍵認証情報を算出する手段と、前記ユーザIDと前記再送検出情報と前記鍵認証情報を含んだDHCPメッセージを送信する手段と、前記再送検出情報の演算による更新をする手段を具備し、前記DH
CPサーバ装置は、前記DHCPメッセージを受信した際に、前記DHCPメッセージからユーザIDと再送検出情報と鍵認証情報を抽出する手段と、前記DHCPメッセージから抽出したユーザIDに基づいて秘密鍵と再送検出情報を検索するデータベース検索機能と、前記DHCPメッセージから抽出した再送検出情報と前記データベースから検索した再送検出情報とを比較して再送状況を検出する手段と、前記DHCPメッセージから抽出した再送検出情報と前記データベースから検索した秘密鍵とを含むデータ列から鍵認証情報を算出する手段と、算出した前記鍵認証情報と前記DHCPメッセージから抽出した鍵認証情報とを対比して認証を判定する手段とを具備する。
【発明の効果】
【００１９】
本発明によれば、Rapid-Commitオプションを用いた1フェーズ2メッセージのDHCPシーケンスにおいてもDHCP認証を提供することが可能となる。【００２０】
また、本発明によれば、再送攻撃を防ぎながら、再送検出方式の状態異常の際に速やかに状態を復帰することが可能となる。
【実施例１】
【００２１】
図２は本発明を適用する典型的なネットワーク例である。DHCPクライアント装置1 (1a,
1b)とDHCPサーバ装置2がIP網3で接続されている。【００２２】
図３はRapid-Commitを用いた1フェーズ2メッセージのDHCPシーケンスにおいて、本発明のシステムが認証を成功させた場合を表すシーケンスである。DHCPクライアント装置1か
らRapid-Commitオプションと認証要求を表すオプションを含むDISCOVER(DHCPv4) / 
SOLICIT(DHCPv6)メッセージf1を送出する。f1内の認証要求を表すオプションにはユーザI
DとRDM情報、および秘密鍵とRDM情報から生成されたハッシュ値を含む。DHCPサーバ装置2はメッセージf1を受信後、認証オプションからユーザIDとRDM情報とハッシュ値を抽出し
、ユーザIDをキーにDBを検索して秘密鍵とRDM情報を得る。認証オプションから抽出したR
DM情報とDBから検索したRDM情報を所定の手法(たとえば大小比較)に基づいて比較し、再
送ではないと判断したならば、DBから検索した秘密鍵とオプションから抽出したRDM情報
を用いてハッシュ値を計算し、オプションから抽出したハッシュ値と比較する。もしハッシュ値が一致したならば認証成功とする(f2)。そして、Rapid-Commitオプション、認証成功オプション、およびIPアドレス/プレフィックスなどの各種設定情報を含めたACK(DHCPv4) / REPLY（DHCPv6）メッセージを送信する(f3)。認証成功オプションを含ん
だACK / REPLYメッセージを受信したDHCPクライアント装置1は、所定の手法(たとえばイ
ンクリメント)に基づいて自身の保持するRDM情報を更新する(f4)。また、メッセージに含まれる設定情報に基づき自身の設定を行う。以上のシーケンスによってユーザデータが通信可能となる (f5)。DHCPで通知されたIPアドレス/プレフィックスには有効期限があるため、期限が切れる前に有効期限の更新(リース更新)を行う必要がある。リース更新の際に認証を行う場合は以下のシーケンスに基づいて行われる。DHCPクライアント装置1から認
証要求を表すオプションを含むREQUEST(DHCPv4) /
RENEW(DHCPv6)メッセージf6を送出す
る。f6内の認証要求を表すオプションにはユーザIDとRDM情報、および秘密鍵とRDM情報から生成されたハッシュ値を含む。DHCPサーバ装置2はメッセージf6を受信後、認証オプシ
ョンからユーザIDとRDM情報とハッシュ値を抽出し、ユーザIDをキーにDBを検索して秘密
鍵とRDM情報を得る。認証オプションから抽出したRDM情報とDBから検索したRDM情報を所
定の手法(たとえば大小比較)に基づいて比較し、再送ではないと判断したならば、DBから検索した秘密鍵とオプションから抽出したRDM情報を用いてハッシュ値を計算し、オプシ
ョンから抽出したハッシュ値と比較する。もしハッシュ値が一致したならば認証成功とする(f7)。そして、認証成功オプション、およびIPアドレス/プレフィックスなどの新しい
有効期限を含めたACK(DHCPv4) / REPLY（DHCPv6）メッセージを送信する(f8)。認証成功
オプションを含んだACK / REPLYメッセージを受信したDHCPクライアント装置1は、所定の手法(たとえばインクリメント)に基づいて自身の保持するRDM情報を更新する(f9)。また
、メッセージに含まれる新しい有効期限に基づきIPアドレス/プレフィックスの有効期限
更新を行う。以上の手続きによりIPアドレス/プレフィックスのリース更新が行われる。【００２３】
図１はRapid-Commitを用いた1フェーズ2メッセージのDHCPシーケンスにおいて、DHCPクライアント装置1とDHCPサーバ装置2の間でRDM情報が食い違っていた場合に、本発明のシ
ステムがRDM情報の食い違いを修正する場合を表すシーケンスである。DHCPクライアント
装置1からRapid-Commitオプションと認証要求を表すオプションを含むDISCOVER(DHCPv4) 
/ SOLICIT(DHCPv6)メッセージf21を送出する。f21内の認証要求を表すオプションにはユ
ーザIDとRDM情報、および秘密鍵とRDM情報から生成されたハッシュ値を含む。DHCPサーバ装置2はメッセージf21を受信後、認証オプションからユーザIDとRDM情報とハッシュ値を
抽出し、ユーザIDをキーにDBを検索して秘密鍵とRDM情報を得る。認証オプションから抽
出したRDM情報とDBから検索したRDM情報を所定の手法(たとえば大小比較)に基づいて比較した結果、再送と判断した (たとえばオプションから抽出したRDM情報が、DBから検索さ
れたRDM情報以下)ならば（ｆ22）、認証失敗オプションを含めた応答メッセージを送信す
る。そのさいに認証失敗オプションには再送検出を表すステータスコードと、DBで保持していたRDM情報を含める(f23)。メッセージf23を受信したDHCPクライアント装置1は、認証失敗オプションのステータスコードからサーバ装置に再送と判断されたことを認識し、自身で保持するRDM情報を認証失敗オプションに含まれていたものに上書きした上で、所定
の手法に基づいて自身の保持するRDM情報を更新する(f24)。そして再度Rapid-Commitオプションと認証要求を表すオプションを含むDISCOVER(DHCPv4) / SOLICIT(DHCPv6)メッセージf25を送出する。f25内の認証要求を表すオプションにはユーザIDとRDM情報、および秘
密鍵とRDM情報から生成されたハッシュ値を含む。DHCPサーバ装置2はメッセージf25を受
信後、認証オプションからユーザIDとRDM情報とハッシュ値を抽出し、ユーザIDをキーにD
Bを検索して秘密鍵とRDM情報を得る。認証オプションから抽出したRDM情報とDBから検索
したRDM情報を所定の手法(たとえば大小比較)に基づいて比較し、再送ではないと判断し
たならば、DBから検索した秘密鍵とオプションから抽出したRDM情報を用いてハッシュ値
を計算し、オプションから抽出したハッシュ値と比較する。もしハッシュ値が一致したならば認証成功とする(f26)。そして、Rapid-Commitオプション、認証成功オプション、お
よびIPアドレス/プレフィックスなどの各種設定情報を含めたACK(DHCPv4) / REPLY（DHCPv6）メッセージを送信する(f27)。認証成功オプションを含んだACK / REPLYメッセージを受信したDHCPクライアント装置1は、所定の手法(たとえばインクリメント)に基づ
いて自身の保持するRDM情報を更新する(f28)。また、メッセージに含まれる設定情報に基づき自身の設定を行う。以上のシーケンスによってユーザデータが通信可能となる(f29)
。【００２４】
図４はRapid-Commitを用いない2フェーズ4メッセージのDHCPシーケンスにおいて、本発明のシステムが認証を成功させた場合を表すシーケンスである。DHCPクライアント装置1から認証要求を表すオプションを含むDISCOVER(DHCPv4) / SOLICIT(DHCPv6)メッセージf4
1を送出する。f41内の認証要求を表すオプションにはユーザIDとRDM情報、および秘密鍵
とRDM情報から生成されたハッシュ値を含む。DHCPサーバ装置2はメッセージf41を受信後
、認証オプションからユーザIDとRDM情報とハッシュ値を抽出し、ユーザIDをキーにDBを
検索して秘密鍵とRDM情報を得る。認証オプションから抽出したRDM情報とDBから検索したRDM情報を所定の手法(たとえば大小比較)に基づいて比較し、再送ではないと判断したな
らば、DBから検索した秘密鍵とオプションから抽出したRDM情報を用いてハッシュ値を計
算し、オプションから抽出したハッシュ値と比較する。もしハッシュ値が一致したならば認証成功とする(f42)。そして、認証成功オプション、およびIPアドレス/プレフィックスなどの各種設定情報を含めたOFFER(DHCPv4) /
ADVERTISE（DHCPv6）メッセージを送信す
る(f43)。認証成功オプションを含んだOFFER / ADVERTISEメッセージを受信したDHCPクライアント装置1は、所定の手法(たとえばインクリメント)に基づいて自身の保持するRDM情報を更新する(f44)。そして、認証要求を表すオプションを含むREQUESTメッセージf45を
送出する。f44内の認証要求を表すオプションにはユーザIDとRDM情報、および秘密鍵とRD
M情報から生成されたハッシュ値を含む。DHCPサーバ装置2はメッセージf45を受信後、認
証オプションからユーザIDとRDM情報とハッシュ値を抽出し、ユーザIDをキーにDBを検索
して秘密鍵とRDM情報を得る。認証オプションから抽出したRDM情報とDBから検索したRDM情報を所定の手法(たとえば大小比較)に基づいて比較し、再送ではないと判断したならば
、DBから検索した秘密鍵とオプションから抽出したRDM情報を用いてハッシュ値を計算し
、オプションから抽出したハッシュ値と比較する。もしハッシュ値が一致したならば認証成功とする(f46)。そして、認証成功オプション、およびIPアドレス/プレフィックスなどの各種設定情報を含めたACK(DHCPv4) / REPLY（DHCPv6）メッセージを送信する(f47)。認証成功オプションを含んだACK / REPLYメッセージを受信したDHCPクライアント装置1は、所定の手法(たとえばインクリメント)に基づいて自身の保持するRDM情報を更新する(f48)
。また、メッセージに含まれる設定情報に基づき自身の設定を行う。以上のシーケンスによってユーザデータが通信可能となる(f49)。DHCPで通知されたIPアドレス/プレフィックスには有効期限があるため、期限が切れる前に有効期限の更新(リース更新)を行う必要がある。リース更新の際に認証を行う場合は以下のシーケンスに基づいて行われる。DHCPクライアント装置1から認証要求を表すオプションを含むREQUEST(DHCPv4) /
RENEW(DHCPv6)メッセージf50を送出する。f50内の認証要求を表すオプションにはユーザIDとRDM情報、
および秘密鍵とRDM情報から生成されたハッシュ値を含む。DHCPサーバ装置2はメッセージf50を受信後、認証オプションからユーザIDとRDM情報とハッシュ値を抽出し、ユーザIDをキーにDBを検索して秘密鍵とRDM情報を得る。認証オプションから抽出したRDM情報とDBから検索したRDM情報を所定の手法(たとえば大小比較)に基づいて比較し、再送ではないと
判断したならば、DBから検索した秘密鍵とオプションから抽出したRDM情報を用いてハッ
シュ値を計算し、オプションから抽出したハッシュ値と比較する。もしハッシュ値が一致したならば認証成功とする(f51)。そして、認証成功オプション、およびIPアドレス/プレフィックスなどの新しい有効期限を含めたACK(DHCPv4) / REPLY（DHCPv6）メッセージを
送信する(f52)。認証成功オプションを含んだACK / REPLYメッセージを受信したDHCPクライアント装置1は、所定の手法(たとえばインクリメント)に基づいて自身の保持するRDM情報を更新する(f53)。また、メッセージに含まれる新しい有効期限に基づきIPアドレス/プレフィックスの有効期限更新を行う。以上の手続きによりIPアドレス/プレフィックスの
リース更新が行われる。【００２５】
図５はRapid-Commitを用いない2フェーズ4メッセージのDHCPシーケンスにおいて、DHCPクライアント装置1とDHCPサーバ装置2の間でRDM情報が食い違っていた場合に、本発明の
システムがRDM情報の食い違いを修正する場合を表すシーケンスである。DHCPクライアン
ト装置1から認証要求を表すオプションを含むDISCOVER(DHCPv4) / SOLICIT(DHCPv6)メッ
セージf61を送出する。f61内の認証要求を表すオプションにはユーザIDとRDM情報、およ
び秘密鍵とRDM情報から生成されたハッシュ値を含む。DHCPサーバ装置2はメッセージf61を受信後、認証オプションからユーザIDとRDM情報とハッシュ値を抽出し、ユーザIDをキ
ーにDBを検索して秘密鍵とRDM情報を得る。認証オプションから抽出したRDM情報とDBから検索したRDM情報を所定の手法(たとえば大小比較)に基づいて比較した結果、再送と判断
した (たとえばオプションから抽出したRDM情報が、DBから検索されたRDM情報以下)なら
ば（ｆ62）、認証失敗オプションを含めた応答メッセージを送信する。そのさいに認証失
敗オプションには再送検出を表すステータスコードと、DBで保持していたRDM情報を含め
る(f63)。メッセージf63を受信したDHCPクライアント装置1は、認証失敗オプションのス
テータスコードからサーバ装置に再送と判断されたことを認識し、自身で保持するRDM情
報を認証失敗オプションに含まれていたものに上書きした上で、所定の手法に基づいて自身の保持するRDM情報を更新する(f64)。そして再度認証要求を表すオプションを含むDISCOVER(DHCPv4) / SOLICIT(DHCPv6)メッセージf65を送出する。f65内の認証要求を表すオプションにはユーザIDとRDM情報、および秘密鍵とRDM情報から生成されたハッシュ値を含む。DHCPサーバ装置2はメッセージf65を受信後、認証オプションからユーザIDとRDM情
報とハッシュ値を抽出し、ユーザIDをキーにDBを検索して秘密鍵とRDM情報を得る。認証
オプションから抽出したRDM情報とDBから検索したRDM情報を所定の手法(たとえば大小比較)に基づいて比較し、再送ではないと判断したならば、DBから検索した秘密鍵とオプシ
ョンから抽出したRDM情報を用いてハッシュ値を計算し、オプションから抽出したハッシ
ュ値と比較する。もしハッシュ値が一致したならば認証成功とする(f66)。そして、認証
成功オプション、およびIPアドレス/プレフィックスなどの各種設定情報を含めたOFFER(DHCPv4) /
ADVERTISE（DHCPv6）メッセージを送信する(f67)。認証成功オプションを含んだOFFER / ADVERTISEメッセージを受信したDHCPクライアント装置1は、所定の手法(たとえばインクリメント)に基づいて自身の保持するRDM情報を更新する(f68)。そして、認証要求を表すオプションを含むREQUESTメッセージf69を送出する。f69内の認証要求を
表すオプションにはユーザIDとRDM情報、および秘密鍵とRDM情報から生成されたハッシュ値を含む。DHCPサーバ装置2はメッセージf69を受信後、認証オプションからユーザIDとRD
M情報とハッシュ値を抽出し、ユーザIDをキーにDBを検索して秘密鍵とRDM情報を得る。認証オプションから抽出したRDM情報とDBから検索したRDM情報を所定の手法(たとえば大小比較)に基づいて比較し、再送ではないと判断したならば、DBから検索した秘密鍵とオプ
ションから抽出したRDM情報を用いてハッシュ値を計算し、オプションから抽出したハッ
シュ値と比較する。もしハッシュ値が一致したならば認証成功とする(f70)。そして、認
証成功オプション、およびIPアドレス/プレフィックスなどの各種設定情報を含めたACK(DHCPv4) / REPLY（DHCPv6）メッセージを送信する(f71)。認証成功オプションを含んだACK / REPLYメッセージを受信したDHCPクライアント装置1は、所定の手法(たとえばイ
ンクリメント)に基づいて自身の保持するRDM情報を更新する(f72)。また、メッセージに
含まれる設定情報に基づき自身の設定を行う。以上のシーケンスによってユーザデータが通信可能となる(f73)。【００２６】
図６はDHCPv6のAuthenticationオプションを利用して本発明の認証要求オプションを表現した図である。o1はRFC3315で規定されたオプション種別を表す2バイトのフィールドであり、値はOPTION_AUTH(=11)である。o2はオプションの長さであり、o3からo9までを足したバイト数である。o3はプロトコルであり、値は現在IANAで規定されていない4以上のい
ずれかの値となる。o4はo9のハッシュ値を計算するためのアルゴリズム(MD5、SHA-1など)を示す。o5はRDMの種類を表す値である。現在IANAで規定されている値は、単調増加カウ
ンタ(=0)である。o6はRDM情報の実際の値であり、RFC3315によって64ビット=8バイトと定められている。o7は認証オプションの種別を表すフィールドであり、認証要求を現す値AUTH_REQ(たとえば1)が入る。この図ではo7は1バイトとなっているが、それ以上の長さで表現してもよい。o8はユーザIDの長さであり、o9のバイト数である。この図ではo8は2バ
イトとなっているが、それ以上の長さで表現してもいいし、十分であれば1バイトで表現
してもよい。o9は実際のユーザIDが文字列や数値の値で入る。o10はハッシュ値であり、o
6のRDM情報とDHCPクライアント装置が持つ秘密鍵を少なくとも含むデータ列に、o4で指定したハッシュ演算アルゴリズムを適用して作成した値である。o10の長さはo4で指定した
ハッシュ演算アルゴリズムによって決まる(たとえばMD5なら128ビット=16バイト)。【００２７】
図７はDHCPv6のAuthenticationオプションを利用して本発明の認証成功オプションを表現した図である。o11はRFC3315で規定されたオプション種別を表す2バイトのフィールド
であり、値はOPTION_AUTH(=11)である。o12はオプションの長さであり、o13からo17まで
を足したバイト数である。o13はプロトコルであり、認証要求と同じ値が入る。o14はハッシュ値を計算するためのアルゴリズム(MD5、SHA-1など)を示す。実際には認証成功オプションにはハッシュ値は含まれないのでこの値は何でもよいが、通常は認証要求オプションに入っていたものをそのまま使う。o15はRDMの種類を表す値である。現在IANAで規定されている値は、単調増加カウンタ(=0)である。o16はRDM情報の値であるが、本発明においてはクライアント側ではサーバからのオプションに対してRDM情報のチェックは行わないため、この値は任意の数値(たとえば0)でよい。o17は認証オプションの種別を表すフィールドであり、認証成功を現す値AUTH_ACK(たとえば2)が入る。この図ではo17は1バイトとな
っているが、それ以上の長さで表現してもよい。【００２８】
図８はDHCPv6のAuthenticationオプションを利用して本発明の再送検出を原因とする認証失敗オプションを表現した図である。o18はRFC3315で規定されたオプション種別を表す
2バイトのフィールドであり、値はOPTION_AUTH(=11)である。o19はオプションの長さであり、o20からo26までを足したバイト数である。o20はプロトコルであり、認証要求と同じ
値が入る。o21はハッシュ値を計算するためのアルゴリズム(MD5、SHA-1など)を示す。実
際には認証失敗オプションにはハッシュ値は含まれないのでこの値は何でもよいが、通常は認証要求オプションに入っていたものをそのまま使う。o22はRDMの種類を表す値である
。現在IANAで規定されている値は、単調増加カウンタ(=0)である。o23はRDM情報の値であるが、本発明においてはクライアント側ではサーバからのオプションに対してRDM情報の
チェックは行わないため、この値は任意の数値(たとえば0)でよい。o24は認証オプションの種別を表すフィールドであり、認証失敗を現す値AUTH_NAK(たとえば3)が入る。この図
ではo24は1バイトとなっているが、それ以上の長さで表現してもよい。o25は認証失敗原
因を示すステータスコードであり、再送検出による失敗に関しては再送検出を示す値REPLAY_DETECTED(たとえば1)が入る。それ以外の場合には原因に応じた値がそれぞれ入る
。o25がREPLAY_DETECTEDだった場合には、o26にサーバがDBから検索したクライアントに
対応するRDM情報値が入る。【００２９】
図６から図８においてはDHCPv6の場合を示したが、DHCPv4の場合にはオプション種別(o1,o11,o18)が1バイトで値が90(Authentication)となり、オプション長(o2,o12,o19)が1バイトとなる以外は同様である。【００３０】
図６から図８においては認証要求、認証成功、認証失敗オプションを表現するのにDHCP
v6のAuthenticationオプションを用いたが、Vendor-Specific
Informationオプションを
用いて表現することも可能である。【００３１】
図９はDHCPv6のVendor-Specific
Informationオプションを利用して本発明の認証要求オプションを表現した図である。o27はRFC3315で規定されたオプション種別を表す2バイ
トのフィールドであり、値はOPTION_VENDOR_OPTS(=17)である。o28はオプションの長さであり、o29からo37までを足したバイト数である。o29はエンタープライズ番号を格納する3
2ビット=4バイトの領域であり、本発明を実装しようとする主体が持つエンタープライズ
番号が値となる。o30はサブオプションの種別を表すフィールドであり、認証要求を現す
値SUBOPT_AUTH_REQ(たとえば1)が入る。o31はサブオプションの長さであり、o32からo37までを足したバイト数である。o32はo37のハッシュ値を計算するためのアルゴリズム(MD5
、SHA-1など)を示す。o33はRDMの種類を表す値である。現在IANAで規定されている値は、単調増加カウンタ(=0)である。o34はRDM情報の実際の値であり、Authenticationオプションに準じて64ビット=8バイトとする。o35はユーザIDの長さであり、o36のバイト数である
。この図ではo35は2バイトとなっているが、それ以上の長さで表現してもいいし、十分であれば1バイトで表現してもよい。o36は実際のユーザIDが文字列や数値の値で入る。o37はハッシュ値であり、o34のRDM情報とDHCPクライアント装置が持つ秘密鍵を少なくとも含むデータ列に、o32で指定したハッシュ演算アルゴリズムを適用して作成した値である。o
37の長さはo32で指定したハッシュ演算アルゴリズムによって決まる(たとえばMD5なら128ビット=16バイト)。
図１０はDHCPv6のVendor-Specific
Informationオプションを利用して本発明の認証成功オプションを表現した図である。o38はRFC3315で規定されたオプション種別を表す2バイ
トのフィールドであり、値はOPTION_VENDOR_OPTS(=17)である。o39はオプションの長さであり、o40からo42までを足したバイト数である。o40はエンタープライズ番号を格納する3
2ビット=4バイトの領域であり、本発明を実装しようとする主体が持つエンタープライズ
番号が値となる。o41はサブオプションの種別を表すフィールドであり、認証成功を現す
値SUBOPT_AUTH_ACK(たとえば2)が入る。o42はサブオプションの長さであり、0となる。【００３２】
図１１はDHCPv6のVendor-Specific
Informationオプションを利用して本発明の再送検出を原因とする認証失敗オプションを表現した図である。o43はRFC3315で規定されたオプション種別を表す2バイトのフィールドであり、値はOPTION_VENDOR_OPTS(=17)である。o4
4はオプションの長さであり、o45からo49までを足したバイト数である。o45はエンタープライズ番号を格納する32ビット=4バイトの領域であり、本発明を実装しようとする主体が持つエンタープライズ番号が値となる。o46はサブオプションの種別を表すフィールドで
あり、認証失敗を現す値SUBOPT_AUTH_NAK(たとえば3)が入る。o47はサブオプションの長
さであり、o48とo49を足した値となる。o48は認証失敗原因を示すステータスコードであ
り、再送検出による失敗に関しては再送検出を示す値REPLAY_DETECTED(たとえば1)が入る
。それ以外の場合には原因に応じた値がそれぞれ入る。o48がREPLAY_DETECTEDだった場合には、o49にサーバがDBから検索したクライアントに対応するRDM情報値が入る。【００３３】
図９から図１１においてはDHCPv6の場合を示したが、DHCPv4の場合にはオプション種別
(o27,o38,o43)が1バイトで値が125(Vendor-Identifying
Vendor-Specific Information)となり、オプション長(o28,o39,o44)、サブオプション種別(o30,o41,o46)、サブオプション長(o31,o42,o47)がそれぞれ1バイトとなる以外は同様である。【００３４】
図１２はDHCPクライアント装置１の装置構成例である。CPU101とメモリ102とNIF103と
がバス104で接続された、一般的なDHCPクライアント装置である。メモリ内にはOS上に実
装されたTCP/IPスタック1021があり、IP通信が可能である。また、OS上のアプリケーションとしてDHCPクライアントソフトウェア1022があり、この中にはユーザIDを記憶する領域10221と、秘密鍵を記憶する領域10222とRDM情報を記憶する領域10223がある。【００３５】
図13はDHCPサーバ装置2の装置構成例である。CPU201とメモリ202とNIF203とがバス204で接続された、一般的なDHCPサーバ装置である。メモリ内にはOS上に実装されたTCP/IPスタック2021があり、IP通信が可能である。また、OS上のアプリケーションとしてDHCPサーバソフトウェア2022があり、この中には認証用データベース20221が存在する。この図で
は認証用データベースがDHCPサーバソフトウェア内に組み込まれているが、認証用データベースはDHCPサーバソフトウェアと独立に動作するソフトウェアとして、DHCPサーバソフトウェアには認証用データベースにアクセスする機構のみを実装することも考えられる。その場合は、認証用データベースは別の装置で動作することも考えられる。【００３６】
図14は認証用データベース20221の例である。インデックスとしてユーザIDがあり、そ
れをキーとして秘密鍵とRDM情報の現在値を検索することが可能である。【００３７】
図15は本発明におけるDHCPサーバ装置2の動作を表したフローチャートである。DHCPサ
ーバ装置2は、認証要求オプションを含んだDHCPメッセージを受信した(s1)ならば、ユー
ザIDとハッシュ値とRDM情報をオプションから抽出し(s2)、ユーザIDをキーにDBを検索し
て秘密鍵とRDM情報を得る(s3)。オプションから抽出したRDM情報とDBから検索したRDM情
報を所定の手法(たとえば大小比較)に基づいて比較し(s4)、再送と判断した(たとえばオ
プションから抽出したRDM情報が、DBから検索されたRDM情報以下)ならば認証失敗オプシ
ョンを含めた応答メッセージを送信する。そのさいに認証失敗オプションにはDBで保持していたRDM情報を含める(s5)。【００３８】
再送ではないと判断したならば、DB20222内のRDM情報を認証要求オプションに含まれているもので更新する(s6)。そして、DBから検索した秘密鍵とオプションから抽出したRDM情報を用いてハッシュ値を計算し(s7)、オプションから抽出したハッシュ値と比較する(s8)。もしハッシュ値が一致したならば認証成功として認証成功オプションを含めた応答メッセージを送信する(s10)。もし一致しなかったならば認証失敗オプションを含めた応
答メッセージを送信する(s9)。【００３９】
図16は本発明におけるDHCPクライアント装置1の動作を表したフローチャートである。DHCPクライアント装置1は、秘密鍵10222とRDM情報10223を少なくとも含むデータ列に所定のハッシュ関数を適用してハッシュ値を生成する(c1)。そして、ユーザID10221、RDM情報10223、前記ハッシュ値の三つを含めた認証用オプションをDHCPメッセージに含めてサー
バ装置に送信し、応答メッセージ待ち状態に移行する(c2)。 DHCPクライアント装置は、
応答メッセージを受信したならば(c3)、認証成功オプションが含まれているかを判定し(c4)、含まれていたならば所定の手法(たとえばインクリメント)に基づいて自身の保持するRDM情報10223を更新し、以降のDHCPクライアント処理を続行する(c5)。認証成功オプションが含まれていないならば、認証失敗オプションのステータスコードがREPLAY_DETECTE
Dかを判定し(c6)、REPLAY_DETECTED以外のステータスコードであれば異常処理に移行する（c7）。REPLAY_DETECTEDだった場合は、自身で保持するRDM情報10223を認証失敗オプシ
ョンに含まれていたものに上書きしたうえで所定の手法に基づいて更新し(c8)、c1に戻って処理を続行する(c9)。
【産業上の利用可能性】
【００４０】
DHCPクライアントサーバシステムの認証方式、及びそのサーバ装置やクライアント装置として利用できる。
【図面の簡単な説明】
【００４１】
【図１】Rapid-Commitを用いた1フェーズ2メッセージのDHCPシーケンスにおいて、DHCPクライアント装置1とDHCPサーバ装置2の間でRDM情報が食い違っていた場合に、本発明のシステムがRDM情報の食い違いを修正する場合を表すシーケンス。
【図２】本発明を適用する典型的なネットワーク例。
【図３】Rapid-Commitを用いた1フェーズ2メッセージのDHCPシーケンスにおいて、システムが認証を成功させた場合を表すシーケンス。
【図４】Rapid-Commitを用いない2フェーズ4メッセージのDHCPシーケンスにおいて、システムが認証を成功させた場合を表すシーケンス。
【図５】Rapid-Commitを用いない2フェーズ4メッセージのDHCPシーケンスにおいて、DHCPクライアント装置1とDHCPサーバ装置2の間でRDM情報が食い違っていた場合に、システムがRDM情報の食い違いを修正する場合を表すシーケンス。
【図６】DHCPv6のAuthenticationオプションを利用して認証要求オプションを表現した図。
【図７】DHCPv6のAuthenticationオプションを利用して認証成功オプションを表現した図。
【図８】DHCPv6のAuthenticationオプションを利用して再送検出を原因とする認証失敗オプションを表現した図。
【図９】DHCPv6のVendor-SpecificInformationオプションを利用して認証要求オプションを表現した図。
【図１０】DHCPv6のVendor-SpecificInformationオプションを利用して認証成功オプションを表現した図。
【図１１】DHCPv6のVendor-SpecificInformationオプションを利用して再送検出を原因とする認証失敗オプションを表現した図。
【図１２】DHCPクライアント装置１の装置構成例。
【図１３】DHCPサーバ装置2の装置構成例。
【図１４】認証用データベース20221の例。
【図１５】DHCPサーバ装置2の動作を表したフローチャート。
【図１６】DHCPクライアント装置1の動作を表したフローチャート。
【符号の説明】
【００４２】
1(1a,1b)…DHCPクライアント装置、2…DHCPサーバ装置、3…IP網、f1/f21/f25…DISCOVERまたはSOLICIT(Rapid-Commitと認証要求オプションを含む)、f3/f27…ACKまたはREPLY(Rapid-Commitと認証成功オプションと設定情報を含む)、f6/f50…REQUESTまたはRENEW(認証要求オプションを含む)、f8/f52…ACKまたはREPLY(認証成功オプションを含む
)、f23…ACKもしくはREPLY(Rapid-Commitと再送検知による認証失敗オプションを含み、
設定情報を含まない)、f41/f65…DISCOVERまたはSOLICIT(認証要求オプションを含む)、f43/f67…OFFERまたはADVERTISE(認証成功オプションと設定情報を含む)、f45/f69…REQUEST(認証要求オプションを含む)、f52/f71…ACKまたはREPLY(認証成功オプションと
設定情報を含む)、f63…OFFERもしくはADVERTISE(再送検知による認証失敗オプションを
含み、設定情報を含まない)、f5/f29/f49/f73…ユーザデータトラフィック、f2/f7/f26/f42/f46/f51/f66/f70…認証成功処理、f22/f62…認証失敗処理、f4/f9/f28/f44/f48/f53/f68/f72…RDM通常更新処理、f24/f64…サーバからの値でRDM情報更新した後に通常更新処理、o1/o11/o18…オプション種別(OPTION_AUTH)、o27/o38/o43…オプション種別(OPTION_VENDOR_OPTS)、o2/o12/o19/o28/o38/o43…オプション長、o3/o13/o20…プロトコル、o4/o14/o21/o32…ハッシュアルゴリズム、o5/o15/o22/o33…RD
M種別、o6/o34…クライアントのRDM情報、o16/o23…サーバのRDM情報(ダミー)、o7…メッセージ種別(認証要求)、o17…メッセージ種別(認証成功)、o24…メッセージ種別(認証失
敗)、o8/o35…ユーザID長、o9/o36…ユーザID、o10/o37…ハッシュ値、o25/o48…ステー
タスコード(再送検出)、o26/o49…サーバの保持するクライアントのRDM情報、101/201…C
PU、102/202…メモリ、103/203…NIF、104/204…バス、1021/2021…TCP/IPスタック、102
2…DHCPクライアントソフトウェア、10221…ユーザID記憶領域、10222…秘密鍵記憶領域
、10223…RDM情報記憶領域、2022…DHCPサーバソフトウェア、20221…認証用データベー
ス。
【図１】
2009072271.tif 000003
【図２】
2009072271.tif 000004
【図３】
2009072271.tif 000005
【図４】
2009072271.tif 000006
【図５】
2009072271.tif 000007
【図６】
2009072271.tif 000008
【図７】
2009072271.tif 000009
【図８】
2009072271.tif 000010
【図９】
2009072271.tif 000011
【図１０】
2009072271.tif 000012
【図１１】
2009072271.tif 000013
【図１２】
2009072271.tif 000014
【図１３】
2009072271.tif 000015
【図１４】
2009072271.tif 000016
【図１５】
2009072271.tif 000017
【図１６】
2009072271.tif 000018
【国際調査報告】
2009072271.tif 000019
2009072271.tif 000020
2009072271.tif 000021