JP2005079921A - 通信装置、アドレス生成方法、プログラム、及び記憶媒体 - Google Patents
通信装置、アドレス生成方法、プログラム、及び記憶媒体 Download PDFInfo
- Publication number
- JP2005079921A JP2005079921A JP2003308007A JP2003308007A JP2005079921A JP 2005079921 A JP2005079921 A JP 2005079921A JP 2003308007 A JP2003308007 A JP 2003308007A JP 2003308007 A JP2003308007 A JP 2003308007A JP 2005079921 A JP2005079921 A JP 2005079921A
- Authority
- JP
- Japan
- Prior art keywords
- server
- terminal device
- address
- communication
- interface
- 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.)
- Withdrawn
Links
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
【課題】 身元秘匿要求並びにアクセス制限要求を同時に満たすことを可能とした通信装置を提供する。
【解決手段】 通信システムは、端末機器1、サーバ2、DBサーバ3、ローカルリンクネットワーク10、ルータ11、IPv6インターネット12を備える。端末機器1は、宛先アドレス、EUI−64インタフェースID、時刻データ等を格納した通信管理テーブルを記憶した不揮発メモリ25を備え、サーバ2は、製造ID、EUI−64インタフェースID、時刻データ等を格納した通信管理テーブルを記憶したHD35を備える。端末機器1は、サーバ側と事前共有される製造IDを初期値とし、サーバ側と同期してアドレス生成入力値を更新し、ハッシュ関数を利用し、アドレス生成入力値から送信元アドレスを生成する。サーバ2は、端末機器側と事前共有される製造IDを初期値とし、端末機器側と同期してアドレス生成入力値を更新し、ハッシュ関数を利用し、アドレス生成入力値から送信元アドレスを生成する。
【選択図】 図1
【解決手段】 通信システムは、端末機器1、サーバ2、DBサーバ3、ローカルリンクネットワーク10、ルータ11、IPv6インターネット12を備える。端末機器1は、宛先アドレス、EUI−64インタフェースID、時刻データ等を格納した通信管理テーブルを記憶した不揮発メモリ25を備え、サーバ2は、製造ID、EUI−64インタフェースID、時刻データ等を格納した通信管理テーブルを記憶したHD35を備える。端末機器1は、サーバ側と事前共有される製造IDを初期値とし、サーバ側と同期してアドレス生成入力値を更新し、ハッシュ関数を利用し、アドレス生成入力値から送信元アドレスを生成する。サーバ2は、端末機器側と事前共有される製造IDを初期値とし、端末機器側と同期してアドレス生成入力値を更新し、ハッシュ関数を利用し、アドレス生成入力値から送信元アドレスを生成する。
【選択図】 図1
Description
本発明は、IPv6に対応したインターネット環境におけるIPv6対応機器のアドレス設定方法に関し、特に、IPv6対応機器からサーバへアクセスする場合に、IPv6対応機器及びサーバの当事者間のみ知り得ると共に第三者に対しては秘匿されたIPv6アドレスを生成し設定することができる通信装置、アドレス生成方法、プログラム、及び記憶媒体に関する。
IP(Internet Protocol)アドレスは、Internet Protocol Version 6(以下IPv6と略称)であるならば、2001:0340:1000::1といった表記がなされる。IPv6アドレスの構成は、上位64bitをネットワークID、下位64bitをインタフェースIDとしている。ネットワークIDは、端末機器が現在接続しているネットワークを一意に識別する識別子である。インタフェースIDは、端末機器のネットワークインタフェースを一意に識別する識別子である。
IPv6アドレスについては、端末機器が該IPv6アドレスを自動で設定することが可能な方法が標準化されている。IPv6対応の端末機器が自らのグローバルユニークなIPv6アドレスを設定する場合は、ネットワークIDは同一リンク内のルータからの通知により決定し、インタフェースIDは端末機器自らが生成し、ルータから通知されたネットワークID64bitとインタフェースID64bitをつなぎあわせて設定する。
IPv6では、インタフェースIDの設定方法としてEUI-64から導出する方式が提供されている。この方式は、端末機器のネットワークインタフェースに保持されているIEEE(Institute of Electrical and Electronics Engineers)識別子、いわゆるMAC(Media Access Control)アドレスからインタフェースIDを生成する。MACアドレスはネットワークインタフェースのハードウエアに対し1対1に一意に設定されており、MACアドレスから生成されたインタフェースIDも一意なアドレスであることが保証されている。
しかし、EUI-64からインタフェースIDを導出する方式では、ハードウエアに1対1に対応する情報を固定的に用いることになり、このインタフェースIDから、端末機器を特定可能であり、もしくは、その端末機器の使用者が一人の場合は使用者個人さえもが1対1で特定可能であるため、第三者がこのインタフェースIDを用いたIPv6アドレスの通信を傍受することによりプライバシーが著しく侵害されることが懸念される。
この課題を解決するために、RFC(Request for Comments)文書として、いわゆる匿名アドレスの使用が提案されている(例えば、非特許文献1参照)。
具体的な方法の1つは、MACアドレスからいわゆるハッシュ関数MD5(Message Digest 5)により128bitのダイジェスト値を計算し、ダイジェスト値を上位64bitと下位64bitに分割し、一方をインタフェースIDとして設定し、もう一方を次回の計算に利用する方法である。ハッシュ関数MD5により得られたダイジェスト値は入力値がユニークであればダイジェスト値もまたユニークであり、且つハッシュ関数MD5はダイジェスト値から入力値は算出できない関数である。また、端末機器が何らかの方法により毎回ランダムな値を生成し、この生成した値からインタフェースIDを生成する方法も提案されている。
このように、IPv6では、端末機器が独自の方法で設定したIPv6アドレスを使用してもよく、また、端末機器はネットワークインタフェースに複数のIPアドレスを設定し、この複数のIPアドレスを用いて通信を行ってもよい。
また、一方で、IPv6では、IPv4のようにプライベートアドレスの使用が意味を持たなくなり、個々の端末機器がグローバルリーチャブルのIPアドレスを持ち通信を行うような環境が一般的となる。また、端末機器が接続するネットワークを移動しても、下位64bitのインタフェースIDは変化しないアドレス構成である。そのため、IPアドレス特に下位64bitのインタフェースID自体及びその識別子に含まれている情報等によって、端末機器を識別特定した上で通信を制御するアクセスコントロール手法が強く要望されている。
RFC3041"Privacy Extentions for Stateless Address Autoconfiguration in IPv6"
RFC3041"Privacy Extentions for Stateless Address Autoconfiguration in IPv6"
ところで、上記の従来技術においては次のような問題があった。
先ず、身元秘匿要求については、ネットワークアドレスは仕方がないが、インタフェースIDは秘匿したいという要望がある。しかし、EUI-64から導出されるインタフェースIDの設定によるIPv6アドレスは、ネットワークを移動してもサーバから端末機器を特定することが可能であるが、第三者からも端末機器を特定されてしまいプライバシー侵害の恐れがある。
次に、アクセス制限要求については、特定の端末機器にのみ特定のサービスを提供する特定のサーバは、端末機器に対するアクセス制限としてIPアドレスによるアクセス制限を行いたいという要望がある。しかし、IPアドレスによるアクセス制限は処理負荷も軽く効果が高いが、上記RFC3041で規定されている匿名アドレスで通信を行う端末機器は、サーバにとっても匿名であるため、サーバから端末機器を特定することができず、IPアドレスによるアクセス制限を行うことができない。
従来においては、上記のように、身元秘匿要求並びにアクセス制限要求という一見矛盾する要求を同時に満たすことが要望されていた。
本発明の目的は、身元秘匿要求並びにアクセス制限要求を同時に満たすことを可能とした通信装置、アドレス生成方法、プログラム、及び記憶媒体を提供することにある。
上述の目的を達成するために、本発明は、通信装置が、受信側と共有される識別子を初期値とし、前記受信側と同期してアドレス生成入力値を更新する更新手段と、電子認証で用いる演算手法に基づき、前記アドレス生成入力値から送信元アドレスを生成する生成手段とを備えることを特徴とする。
また、本発明は、通信装置が、送信側と共有される識別子を初期値とし、前記送信側と同期してアドレス生成入力値を更新する更新手段と、電子認証で用いる演算手法に基づき、前記アドレス生成入力値から送信元アドレスを生成する生成手段とを備えることを特徴とする。
また、本発明は、前記識別子は、前記受信側と事前に共有されることを特徴とする。
また、本発明は、前記識別子は、前記送信側と事前に共有されることを特徴とする。
また、本発明は、前記識別子は、前記受信側と通信開始時に共有されることを特徴とする。
また、本発明は、前記識別子は、前記送信側と通信開始時に共有されることを特徴とする。
また、本発明は、前記識別子は、製造ID、EUI-64インタフェースID、時刻データを含む群から選択されることを特徴とする。
また、本発明は、前記電子認証で用いる演算手法は、ハッシュ関数を利用した演算手法であることを特徴とする。
また、本発明は、Internet Protocol Version 6に対応したインターネットに接続可能であることを特徴とする。
また、本発明は、識別子を、受信側或いは送信側と通信開始時に共有する場合、IPsecにおけるDH鍵交換方式を用いて初期値を交換し共有してもよい。
また、本発明は、DH鍵交換方式で交換された鍵を、ペイロード部分の暗号化及び復号化に利用してもよい。
本発明によれば、受信側と共有される識別子を初期値とし、受信側と同期してアドレス生成入力値を更新し、電子認証で用いる演算手法に基づき、アドレス生成入力値から送信元アドレスを生成するので、通信装置間(例えば特定の端末機器と特定のサーバとの間)の通信において、両者間のみで特定できる通信毎に生成した送信元アドレスにより、サーバへのアクセスを制御可能な通信を行うことができる。これにより、特定の端末機器と特定のサーバとの間の通信において、第三者にとってはネットワーク上においては特定の端末機器の身元が秘匿されたランダムな送信元アドレスを利用しながら、特定のサーバからは特定の端末機器からの一見ランダムに見える送信元アドレスを特定することができ、この送信元アドレスにより特定のサーバへのアクセスを特定の端末機器だけに許可するようなアクセス制限通信が可能となり、身元秘匿要求並びにアクセス制限要求を同時に満たすことができる。
また、本発明によれば、送信側と共有される識別子を初期値とし、送信側と同期してアドレス生成入力値を更新し、電子認証で用いる演算手法に基づき、アドレス生成入力値から送信元アドレスを生成するので、通信装置間(例えば特定の端末機器と特定のサーバとの間)の通信において、両者間のみで特定できる通信毎に生成した送信元アドレスにより、サーバへのアクセスを制御可能な通信を行うことができる。これにより、特定の端末機器と特定のサーバとの間の通信において、第三者にとってはネットワーク上においては特定の端末機器の身元が秘匿されたランダムな送信元アドレスを利用しながら、特定のサーバからは特定の端末機器からの一見ランダムに見える送信元アドレスを特定することができ、この送信元アドレスにより特定のサーバへのアクセスを特定の端末機器だけに許可するようなアクセス制限通信が可能となり、身元秘匿要求並びにアクセス制限要求を同時に満たすことができる。
以下、本発明の実施の形態を図面に基づき説明する。
[第1の実施の形態]
図1は、本発明の第1の実施の形態に係る通信システムの構成例を示すブロック図である。
図1は、本発明の第1の実施の形態に係る通信システムの構成例を示すブロック図である。
図1において、通信システムは、端末機器1、サーバ2、データベース(DB)サーバ3、ローカルリンクネットワーク10、ルータ11、IPv6に対応したインターネット(以下IPv6インターネットと略称)12を備えている。
本実施の形態では、IPv6インターネット環境における端末機器1とサーバ2との間の通信において、端末機器1はサーバ2にアクセスし情報を入手する場合に、両者間でのみ知り得ると共に第三者からは匿名に見えるIPv6アドレスを生成し、IPv6アドレスにより通信を行い、サーバ3は接続してくる端末機器1のIPv6アドレスによりサーバ3に対するアクセス制限を可能にする通信について説明する。
ローカルリンクネットワーク10には、端末機器1、ルータ11が接続する。ローカルリンクネットワーク10の物理層については特に種類は問わず、イーサネット(登録商標)、IEEE802.11、Bluetoothなど、物理層の上位でIPv6による通信ができれば問題ない。本実施の形態では、ローカルリンクネットワーク10としてイーサネット(登録商標)を想定して説明する。また、IPv6インターネット12には、ルータ11、サーバ2、DBサーバ3が接続する。端末機器1は、図2に示す構成を有する。サーバ2は、図3に示す構成を有する。DBサーバ3は、不図示の機器属性データベースを有する。ルータ11は、ローカルリンクネットワーク10の管理情報を保持する。
端末機器1は、生産工場で製造IDを端末機器自身のROMに格納された状態で出荷される。生産工場では、端末機器の製造IDと、生産時期・仕向け地等の端末機器生産情報と、端末機器のカテゴリ・機能・性能・ファームウェアのバージョン等の端末機器属性情報等が、DBサーバ3の機器属性データベースに登録される。製造IDは、一般的に端末機器固有のユニークな値であり、本実施の形態でもこれを前提とする。また、端末機器1は、予めネットワークインタフェースを装備した状態で出荷されることとし、ネットワークインタフェースに設定されているMACアドレスも、DBサーバ3の機器属性データベースに登録される。
図2は、端末機器1の一般的な構成例を示すブロック図である。
図2において、端末機器1は、CPU21、ROM22、RAM23、ネットワークインタフェース24、不揮発メモリ25、システムバス26を備えている。
CPU21は、端末機器1の全体の動作を制御する中央処理装置であり、ROM22に格納されたプログラム(更新手段、生成手段)に基づき、図4、図6、図7、図8のフローチャートに示す処理を実行する。ROM22は、端末機器1の製造ID及びプログラムなど、消去不可能なデータが格納されている読み出し専用記憶装置である。RAM23は、データを一時記憶する一時記憶装置である。不揮発メモリ25は、電源が切断されても格納されたデータが失われない記憶装置であり、後述する通信管理テーブル(図12(B)参照)を格納している。ネットワークインタフェース24は、端末機器1が外部機器とデータの送受信を行う際に使用されるインタフェースである。システムバス26は、上記各構成要素を接続する内部バスである。
端末機器1は、更に、ハードディスクなどの大容量記憶装置、ディスプレイやキーボード、マウス、プリントアウト部といった入出力機器用のインタフェースなどを備えていてもよい。端末機器1は、ルータ11経由でIPv6インターネット12と接続可能で、IPv6通信が行えれば問題ない。
図3は、サーバ2の一般的な構成を示すブロック図である。
図3において、サーバ2は、CPU31、ROM32、RAM33、ネットワークインタフェース34、ハードディスク(HD)35、システムバス36を備えている。
CPU31は、サーバ2の全体の動作を制御する中央処理装置であり、ROM32に格納されたプログラム(更新手段、生成手段)に基づき、図5、図6、図9、図10のフローチャートに示す処理を実行する。ROM22は、プログラムなど、消去不可能なデータが格納されている読み出し専用記憶装置である。RAM33は、データを一時記憶する一時記憶装置である。HD35は、外部記憶装置であり、後述する通信管理データベースが登録されており、通信管理テーブル(図12(A)参照)の格納に使用される。ネットワークインタフェース34は、サーバ2が外部機器とデータの送受信を行う際に使用されるインタフェースである。システムバス36は、上記各構成要素を接続する内部バスである。
サーバ2は、IPv6インターネット12と接続可能で、IPv6通信が行えれば問題ない。また、サーバ2は、IPv6インターネット12経由でDBサーバ3の機器属性データベースに登録されている端末機器毎の属性データを参照でき、端末機器の製造IDを含む情報をHD35の通信管理データベース内の通信管理テーブルに格納している。この場合、MACアドレスは、EUI-64により導出されるインタフェースIDに変換され格納される。
図12(A)は、サーバ2で管理される上述した通信管理テーブルの例を示す図である。
図12(A)において、サーバ側の通信管理テーブルには、製造ID、EUI-64インタフェースID、時刻データ、通信開始フラグ、制御識別子、データ領域(if0、if1、ifn1、if2、ifn2)が格納されている。
図12(B)は、端末機器1で管理される上述した通信管理テーブルの例を示す図である。
図12(B)において、端末機器側の通信管理テーブルには、宛先アドレス、EUI-64インタフェースID、時刻データ、通信開始フラグ、制御識別子、データ領域(if0、if1、ifn1、if2、ifn2)が格納されている。
次に、上記構成を有する本実施の形態の通信システムにおいて、端末機器1は端末機器自身が生成したインタフェースIDを用いたIPv6アドレスによりサーバ2と通信を行い、サーバ2はこのインタフェースIDを端末機器1から送信されたパケットの受信以前に特定し、それに基づきアクセス制限を行うことができるまでの処理を説明する。
先ず、端末機器1側の登録処理を図4に基づき説明する。
図4は、端末機器1で実行される登録処理を示すフローチャートである。
端末機器1は端末機器自身が生成したインタフェースIDを用いたIPv6アドレスによりサーバ2と通信を開始する前に、サーバ2に対する通信開始を登録しなければならない。サーバ2のアドレスは、本発明による方式で端末機器1が通信する相手として、端末機器1の不揮発メモリ25内の通信管理テーブル(図12(B)参照)に宛先アドレスとして登録される。
図4において、端末機器1はサーバ2に対し通信登録要求と共に、ROM22から端末機器自身の製造IDを読み込み、ハッシュ関数(一方向性関数)により演算を行い、演算により得たダイジェスト値を機器識別子として送信する(ステップS401)。この際に利用するハッシュ関数は、図6に示す制御識別子生成処理で用いるSHA-1(Secure Hash Algorithm 1)とする。後述の通り、ハッシュ関数は端末機器1とサーバ2で同じものが使用される。また、この際の送信元アドレス(端末機器自身のアドレス)は、EUI-64によりMACアドレスから導出されたインタフェースIDによるものとする。EUI-64インタフェースIDは不揮発メモリ25内の通信管理テーブルに登録する。
次に、端末機器1は上記ステップS401で通信登録要求と共に機器識別子をサーバ2へ送信したことに伴い、サーバ2における端末機器1の登録処理に関する結果をサーバ2から受信すると、登録処理に関する結果の判別を行う(ステップS402)。サーバ2から登録完了通知を受けた場合は、端末機器1はサーバ2から登録完了通知と共に送信されてきた時刻データを不揮発メモリ25内の通信管理テーブルに登録し(ステップS403)、本処理を終了する。サーバ2から登録エラーが返ってきた場合は、端末機器1は表示部(図示略)に登録エラーを表示し(ステップS404)、本処理を終了する。
次に、サーバ2側の通信管理処理及び登録処理を図9、図10、図5に基づき説明する。
図9及び図10は、サーバ2で実行される端末機器1と通信を行う際の通信管理処理を示すフローチャートである。
図9及び図10において、サーバ2は端末機器1から受信したパケットのヘッダの送信元アドレスからインタフェースIDを取得し(ステップS801)、次いでHD35内の通信管理データベースを検索し(ステップS802)、上記取得したインタフェースID が、通信管理データベース内の通信管理テーブルのEUI-64インタフェースID、if1、if2に登録されている値のどの値と一致するか否か、また通信フラグが立っているか否かを判断し、判断結果に基づき該当する処理に分岐する。
上記取得したインタフェースIDが通信管理データベースの通信管理テーブルにEUI-64インタフェースIDとして登録されている値と一致し、且つ、通信開始フラグが立っていない場合は、端末機器1の登録処理が行われていないことを示しているため(ステップS806)、サーバ2は端末機器1からの通信登録要求を受け登録処理を起動し(ステップS807)、取得したインタフェースID(この場合はEUI-64インタフェースID)を通信管理テーブルのif0に登録する。この後はステップS805に進む。
上記取得したインタフェースIDが通信管理データベースの通信管理テーブルにEUI-64インタフェースIDとして登録がない場合は、サーバ2は端末機器1が未登録の端末機器であると判断し(ステップS808)、端末機器1から受信したパケットを破棄するか、または未登録通知(エラー)を端末機器1に送信する(ステップS809)。
尚、上記ステップS802の分岐先の処理であるステップS803〜ステップS805については後述する。
図5は、サーバ2で実行される登録処理を示すフローチャートである。図5に示す登録処理は上記図10のステップS807で起動される。
図5において、登録処理が起動されると、サーバ2は端末機器1から通信登録要求と共に送信された機器識別子を取得する(ステップS501)。次に、サーバ2は取得した機器識別子を、HD35内の通信管理データベース内の通信管理テーブルに登録されている端末機器1の製造IDをハッシュ関数SHA-1で演算して得たダイジェスト値と照合し、機器識別子とダイジェスト値が一致するか否かを判断する(ステップS502)。
機器識別子とダイジェスト値が一致する場合は、端末機器1からの登録要求であることが確認されたことになるため、サーバ2は時刻データをサーバ2の内部クロック等から取得し、通信管理データベース内の通信管理テーブルに時刻データを登録し(ステップS503)、端末機器1に対し登録完了通知と共にこの時刻データを送信する(ステップS504)。機器識別子とダイジェスト値が一致しない場合は、サーバ2は端末機器1に対し登録エラーである旨を送信する(ステップS505)。
ここまでの登録処理で端末機器1の登録が完了し、以降で端末機器1からサーバ2への通信に使用するアドレスを生成するための初期値として、製造ID、EUI-64インタフェースID、時刻データが確認され、端末機器1及びサーバ2で共有されたことになる。
次に、端末機器1とサーバ2で実行される制御識別子生成処理を図6に基づき説明する。
図6は、端末機器1とサーバ2で実行される制御識別子生成処理を示すフローチャートである。
図6において、端末機器1(またはサーバ2)は通信管理テーブルからif0に登録されているインタフェースIDを取得する(ステップS601)。次に、端末機器1(またはサーバ2)は通信管理テーブルの通信開始フラグが立っているか否かを確認する(ステップS602)。
通信開始フラグが立っていない場合は、ステップS605に進む。この状態は、登録処理が行われたのみで制御識別子が生成されていない状態である。端末機器1(またはサーバ2)は通信管理テーブルに格納されている製造ID、取得したインタフェースID(この場合はEUI-64インタフェースID)、時刻データをつなぎあわせた値を入力値として、ハッシュ関数SHA-1で演算を行い160bit長のダイジェスト値を取得し、ダイジェスト値を制御識別子として通信管理テーブルに登録する(ステップS605)。通信開始フラグが立っている場合は、後述のステップS603に進む。
ここで利用するハッシュ関数は、条件として、128bit以上のダイジェスト値を出力する点と、サーバ2と端末機器1で同じハッシュ関数を利用する点を満足すれば、特に限定しない。ここではハッシュ関数としてSHA-1を想定して説明を進める。
上記ステップS603またはステップS605の処理が終了すると、端末機器1(またはサーバ2)は登録した制御識別子を、先頭bitから順に64bit毎に、先頭の64bit、2番目の64bit、残りの32bitに分割し、更に先頭64bit長のデータ(if1とする)と、2番目の64bitと残りの32bitを連結した96bit長のデータ(ifn1とする)の組と、2番目の64bit長のデータ(if2とする)と、先頭64bitと残りの32bitを連結した96bit長のデータ(ifn2とする)の組の2組のbitデータを生成し、通信管理テーブルに登録し、通信開始フラグが立っていない場合は通信開始フラグを立てる(ステップS604)。この処理を模式化して図示したものを図11に示す。
図11は、ダイジェスト値からインタフェースIDを生成する例を示す図である。
図11において、上述したように、160bit長のダイジェスト値が、先頭の64bit長データ、2番目の64bit長データ、残りの32bit長データに分割された後、if1とifn1の組と、if2とifn2の組の2組のbitデータとして生成される様子が示されている。
制御識別子生成処理は端末機器1及びサーバ2それぞれで行われるが、初期値(製造ID、EUI-64インタフェースID、時刻データ)をこの制御識別子生成処理の前処理において端末機器1及びサーバ2で共有しているため、制御識別子生成処理で得られたif1、ifn1、if2、ifn2の値は端末機器1及びサーバ2で同じ値となる。
次に、制御識別子生成処理で得られたif1、 ifn1、 if2、ifn2の値を用いて、端末機器1がどのようにインタフェースIDを設定して通信を行うかを図7及び図8に基づき説明する。
図7及び図8は、端末機器1で実行される通信管理処理を示すフローチャートである。
端末機器1は、特定のサーバ2との通信以外に他のIPv6対応機器と通信を行うことが想定されるが、その場合は、生成されたインタフェースIDにより通信を行う必要はなく、EUI-64インタフェースIDを用いて通信を行えばよい。また、上述した通り、端末機器1からサーバ2への通信開始登録時にはEUI-64インタフェースIDを用いて通信を行う。
図7及び図8において、端末機器1は上位層のアプリケーションから設定される宛先アドレスを取得し(ステップS701)、不揮発メモリ25内の通信管理テーブルを検索し、宛先アドレスが通信管理テーブルに登録されているか否かを判別する(ステップS702)。宛先アドレスが通信管理テーブルに登録されていない場合は、一般の通信相手のIDとして、EUI-64インタフェースIDを採用し(ステップS711)、ステップS707に進む。
宛先アドレスが通信管理テーブルに登録されている場合は、通信開始フラグが立っているか否かを判別する(ステップS703)。通信開始フラグが立っていない場合は、端末機器1がサーバ2への登録が行われていない状態のため、端末機器1は上述した登録処理(ステップS709)、制御識別子生成処理(ステップS710)を行う。登録処理、制御識別子生成処理が終了すれば、通信開始フラグが立つ。
通信開始フラグが立っている場合は、生成されたインタフェースIDによりサーバ2と通信を行える状態であるため、まず、端末機器1は通信管理テーブルのif1に登録されている値を端末機器1のインタフェースIDとして利用できるかを確認すべく、ローカルリンクネットワーク10に対し近隣探索を行う(ステップS704)。近隣探索は、IPv6対応機器が自らのIPv6アドレスを自動設定する際に、自動設定しようとするIPv6アドレスが既に他の機器に使用されていないかを判定する機構であり、これが標準化されている。本実施の形態でもこの機構を利用し、if1の値がインタフェースIDとして利用できるかを判別する。
次に、端末機器1は上記近隣探索によって、if1に登録されている値をインタフェースIDとして持つ他のネットワークノードがローカルリンクネットワーク10に存在しないかどうかを判別し(ステップS705)、if1に登録されている値をインタフェースIDとして持つ他のネットワークノードが存在しない場合は、if1の値を端末機器1のインタフェースIDとして設定する(ステップS706)。if1に登録されている値をインタフェースIDとして持つ他のネットワークノードが存在した場合は、上記ステップS704に戻りローカルリンクネットワーク10に対し近隣探索を行う。ただし、if1の生成にハッシュ関数を用いることから、このケースは事実上無いに等しいと予想される。
上記ステップS706またはステップS711の処理が終了すると、端末機器1は設定したインタフェースIDとネットワークIDを繋ぎ、送信元アドレスとしてサーバ2への通信を行い(ステップS707)、if0の値を今回設定したインタフェースIDの値で更新し、次いで制御識別子生成処理を起動する(ステップS708)。
次に、制御識別子生成処理を上記図6に基づき説明する。
図6において、上述したように、端末機器1は通信管理テーブルからif0に登録されているインタフェースIDを取得し(ステップS601)、通信開始フラグが立っているか否かを確認する(ステップS602)。この場合は既に端末機器1の登録処理及び制御識別子生成処理は完了しているため、通信開始フラグは立っている。
次に、端末機器1は通信管理テーブルのif0に登録されている値(つまり端末機器1からサーバ2へ送信されたアドレスのインタフェースIDの値)が、通信管理テーブルのif1及びif2のどちらの値と一致するかを確認する。確認の結果、if0に登録されている値がif1の値と一致する場合はifn1を、if0に登録されている値がif2の値と一致する場合はifn2を、また、製造ID、時刻データを通信管理テーブルからそれぞれ取得し、これら3つのデータをつなぎあわせたデータを入力値として、ハッシュ関数SHA-1で演算を行い160bit長のダイジェスト値を取得し、制御識別子として通信管理テーブルに登録する(ステップS603)。次に、端末機器1は上述した方法で新たなif1、 ifn1、 if2、ifn2の値を取得し、通信管理テーブルのそれぞれの値を更新する(ステップS604)。
次に、サーバ2側の通信管理処理を上記図9及び図10に基づき説明する。既にサーバ2に対する端末機器1の初期登録の場合は説明したので、サーバ2が生成されたインタフェースIDにより端末機器1からの受信を受けた場合を説明する。
図9及び図10において、上述したように、サーバ2は端末機器1から受信したパケットのヘッダの送信元アドレスからインタフェースIDを取得し(ステップS801)、通信管理データベースを検索し(ステップS802)、上記取得したインタフェースID が、通信管理テーブルのEUI-64インタフェースID、if1、if2に登録されている値のどの値と一致するか否か、また通信フラグが立っているか否かを判断し、判断結果に基づき該当する処理に分岐する。
上記取得したインタフェースID がif1またはif2に登録されている値と一致し、且つ通信開始フラグが立っている場合は(ステップS803)、サーバ2は端末機器1からの上記パケット受信に伴い受信データを受け付け、上位層のアプリケーション、例えばhttp(hypertext transfer protocol)サーバの処理に渡し、取得したインタフェースIDでif0を更新する(ステップS804)。サーバ2は更新後、制御識別子生成処理を起動する(ステップS805)。サーバ2から端末機器1への応答は、上記ステップS801で取得した送信元アドレスに返す。
次に、上記図9及び図10のステップS805の制御識別子生成処理を上記図6に基づき説明する。
図6において、上述したように、サーバ2は通信管理テーブルからif0に登録されているインタフェースIDを取得し(ステップS601)、通信開始フラグが立っているか否かを確認する(ステップS602)。この場合は既に端末機器1の登録処理及び制御識別子生成処理は完了しているため、通信開始フラグは立っている。
次に、サーバ2は上記取得したif0に登録されている値(つまり端末機器1から今回受信した送信元アドレスのインタフェースIDの値)がif1及びif2のどちらの値と一致するかを確認する。確認の結果、if0に登録されている値がif1の値と一致する場合はifn1を、if0に登録されている値がif2の値と一致する場合はifn2を、また、製造ID、時刻データを通信管理テーブルからそれぞれ取得し、この3つのデータをつなぎあわせたデータを入力値として、ハッシュ関数SHA-1で演算を行い160bit長のダイジェスト値を取得し、制御識別子として通信管理テーブルに登録する(ステップS603)。次に、端末機器1は上述した方法で新たなif1、 ifn1、 if2、ifn2の値を取得し、通信管理テーブルのそれぞれの値を更新する(ステップS604)。
以上説明したように、本実施の形態によれば、if1、 ifn1、 if2、ifn2の値は端末機器1及びサーバ2で個々に生成し更新することになるが、初期値の一致が保証されていれば、端末機器1ではサーバ2へのパケット送信時に、サーバ2では端末機器1からのパケット受信時に、if1、1fn1、1f2、ifn2の値をそれぞれ更新することによって、更新の同期を取りながら通信を継続することができる。これにより、サーバ2は端末機器1から受信したパケットの送信元アドレスから取得したインタフェースIDをキーとして、アクセス制御(単純には、登録されているインタフェースIDを含むIPv6アドレス以外からのアクセスを拒否する制御)を行うことが可能になる。
即ち、特定の端末機器と特定のサーバとの間の通信において、両者間のみで特定できる通信毎に生成したIPv6アドレスにより、サーバへのアクセスを制御可能な通信を行うことができる。これにより、特定の端末機器と特定のサーバとの間の通信において、第三者にとってはネットワーク上においては特定の端末機器の身元が秘匿されたランダムなIPv6アドレスを利用しながら、特定のサーバからは特定の端末機器からの一見ランダムに見えるIPv6アドレスを特定することができ、このIPv6アドレスにより特定のサーバへのアクセスを特定の端末機器だけに許可するようなアクセス制限通信が可能となり、身元秘匿要求並びにアクセス制限要求を同時に満たすことができる。
[第2の実施の形態]
次に、本発明の第2の実施の形態を説明する。本実施の形態は、上述した第1の実施の形態に対して、下記の点において相違する。本実施の形態のその他の要素は、上述した第1の実施の形態の対応するものと同一なので、説明を省略する。
次に、本発明の第2の実施の形態を説明する。本実施の形態は、上述した第1の実施の形態に対して、下記の点において相違する。本実施の形態のその他の要素は、上述した第1の実施の形態の対応するものと同一なので、説明を省略する。
第1の実施の形態では、ランダムなアドレスを生成するための初期値の1つを製造IDとし、製造時に端末機器1のROM22に製造IDを格納し、サーバ2はDBサーバ3に問い合わせることで端末機器1とサーバ2とで初期値を共有し、一致したインタフェースIDの生成を行った。これは、第三者に初期値を知られることで第三者にも端末機器1及びサーバ2で生成されるアドレスが分かってしまう可能性を低くするために、現実的な方法を用いたためである。
上記の初期値の共有は、第1の実施の形態のように、事前(通信開始前)に端末機器1とサーバ2とで別途共有しなくとも、通信開始時に第三者に対し秘匿して行ってもよい。これを実現する方式としては、例えば、IPsec(IP Security Protocol:TCP/IPにセキュリティ機能を付加するプロトコルの枠組み)におけるIKE(Internet Key Exchange:インターネット標準の鍵交換プロトコル群)で標準化されている方式であるDH(Diffie-Hellman Public Key Distribution System)鍵交換方式を用いることもできる。
これにより、第三者に対しては秘匿した状態で、端末機器1及びサーバ2において通信開始時にアドレス生成のための初期値を交換し共有することができる。この場合の初期値の交換は、端末機器1では図4のステップS401で行い、サーバ2では図10のステップS807で行う。以降は、製造IDに替えて上記DH鍵交換方式で得た初期値の1つを用いて制御識別子の生成を行う。
以上説明したように、本実施の形態によれば、DH鍵交換方式を用いた初期値の交換は、処理に多くの計算機資源を必要とし、現状のモバイル端末等では負荷が大きいものの、第三者から知られることなく安全に行うことができる。更に、DH鍵交換方式で交換された鍵を、ペイロード(セルで転送される情報)部分の暗号化及び復号化に利用すれば、第三者からは匿名に見えるIPv6アドレスにより、通信データ自体も暗号化された通信が可能となる。
[他の実施の形態]
上記実施の形態では、通信システムを図1に示す構成としたが、端末機器やサーバ等の設置台数は図示のものに限定されるものではなく、設置台数は任意である。
上記実施の形態では、通信システムを図1に示す構成としたが、端末機器やサーバ等の設置台数は図示のものに限定されるものではなく、設置台数は任意である。
また、上記実施の形態では、ランダムなアドレスを生成するための初期値の1つを製造IDとした場合を例に挙げたが、製造IDに限定されるものではなく、端末機器を識別可能なものであればよい。
また、上記実施の形態では、送信元アドレスを生成する際にハッシュ関数としてSHA-1を使用した場合を例に挙げたが、SHA-1に限定されるものではなく、例えば、MD5やMASHなど他のハッシュ関数を使用してもよい。
本発明は、上述した実施の形態の機能を実現するソフトウェアのプログラム(図4〜図10のフローチャート)をコンピュータ又はCPUに供給し、そのコンピュータ又はCPUが該供給されたプログラムを読出して実行することによって、達成することができる。
この場合、上記プログラムは、該プログラムを記録した記憶媒体から直接供給されるか、又はインターネット、商用ネットワーク、若しくはローカルエリアネットワーク等に接続される不図示の他のコンピュータやデータベース等からダウンロードすることにより供給される。
上記プログラムの形態は、オブジェクトコード、インタプリタにより実行されるプログラムコード、OS(オペレーティングシステム)に供給されるスクリプトデータ等の形態から成ってもよい。
また、本発明は、上述した実施の形態の機能を実現するソフトウェアのプログラムを記憶した記憶媒体をコンピュータ又はCPUに供給し、そのコンピュータ又はCPUが記憶媒体に記憶されたプログラムを読出して実行することによっても、達成することができる。
この場合、格納媒体から読出されたプログラムコード自体が上述した各実施の形態の機能を実現すると共に、そのプログラムコードを記憶した記憶媒体は本発明を構成する。
プログラムコードを記憶する記憶媒体としては、例えば、ROM、RAM、NV−RAM、フロッピー(登録商標)ディスク、ハードディスク、光ディスク(登録商標)、光磁気ディスク、CD−ROM、MO、CD−R、CD−RW、DVD−ROM、DVD−RAM、DVD−RW、DVD+RW、磁気テープ、不揮発性のメモリカード等がある。
上述した実施の形態の機能は、コンピュータから読出されたプログラムコードを実行することによるばかりでなく、コンピュータ上で稼動するOS等がプログラムコードの指示に基づいて実際の処理の一部又は全部を行うことによっても実現することができる。
更に、本発明は、上述した実施の形態を実現するソフトウェアのプログラムがネットワーク上のデータベース又はホームページから通信プログラムによりダウンロードされ、このプログラムを読出して実行することによって達成することができる。
上記プログラムは、クライアントコンピュータのブラウザを用いてインターネットのホームページに接続し、該ホームページからコンピュータプログラム自体、又は自動インストール機能を含む圧縮ファイルをハードディスク等の記憶媒体にダウンロードすることによっても供給することができる。
また、上記プログラムは、プログラムコードを暗号化した上で格納したCD−ROM等の記憶媒体をユーザに配布し、所定の条件をクリアしたユーザに対し、インターネットを介してホームページから暗号化を解く鍵情報をダウンロードさせ、その鍵情報を使用することにより暗号化されたプログラムコードを実行してコンピュータにインストールさせることによっても供給することができる。
上述した実施の形態の機能は、プログラムコードを複数のファイルに分割し、夫々のファイルを異なるホームページからダウンロードすることによっても実現することができる。即ち、本発明の機能処理をコンピュータで実現させるためのプログラムファイルを複数のユーザに対してダウンロードさせるWWWサーバも、本発明を構成する。
また、上述した実施の形態の機能は、記憶媒体から読出されたプログラムが、コンピュータに挿入された機能拡張ボード又はコンピュータに接続された機能拡張ユニットに備えられたメモリに書込まれた後、そのプログラムの指示に基づき、その機能拡張ボード又は機能拡張ユニットに備えられたCPU又はMPU等が実際の処理の一部又は全部を実行することによっても実現することができる。
1 端末機器
2 サーバ
3 DBサーバ
10 ローカルリンクネットワーク
11 ルータ
12 IPv6インターネット
21 CPU
24 ネットワークインタフェース
25 不揮発メモリ
31 CPU
34 ネットワークインタフェース
35 HD
2 サーバ
3 DBサーバ
10 ローカルリンクネットワーク
11 ルータ
12 IPv6インターネット
21 CPU
24 ネットワークインタフェース
25 不揮発メモリ
31 CPU
34 ネットワークインタフェース
35 HD
Claims (8)
- 受信側と共有される識別子を初期値とし、前記受信側と同期してアドレス生成入力値を更新する更新手段と、電子認証で用いる演算手法に基づき、前記アドレス生成入力値から送信元アドレスを生成する生成手段とを備えることを特徴とする通信装置。
- 送信側と共有される識別子を初期値とし、前記送信側と同期してアドレス生成入力値を更新する更新手段と、電子認証で用いる演算手法に基づき、前記アドレス生成入力値から送信元アドレスを生成する生成手段とを備えることを特徴とする通信装置。
- 前記電子認証で用いる演算手法は、ハッシュ関数を利用した演算手法であることを特徴とする請求項1又は2記載の通信装置。
- 通信装置により実行されるアドレス生成方法であって、
受信側と共有される識別子を初期値とし、前記受信側と同期してアドレス生成入力値を更新する更新ステップと、電子認証で用いる演算手法に基づき、前記アドレス生成入力値から送信元アドレスを生成する生成ステップとを備えることを特徴とするアドレス生成方法。 - 通信装置により実行されるアドレス生成方法であって、
送信側と共有される識別子を初期値とし、前記送信側と同期してアドレス生成入力値を更新する更新ステップと、電子認証で用いる演算手法に基づき、前記アドレス生成入力値から送信元アドレスを生成する生成ステップとを備えることを特徴とするアドレス生成方法。 - アドレス生成方法をコンピュータに実行させるプログラムであって、
受信側と共有される識別子を初期値とし、前記受信側と同期してアドレス生成入力値を更新する更新モジュールと、電子認証で用いる演算手法に基づき、前記アドレス生成入力値から送信元アドレスを生成する生成モジュールとを備えることを特徴とするプログラム。 - アドレス生成方法をコンピュータに実行させるプログラムであって、
送信側と共有される識別子を初期値とし、前記送信側と同期してアドレス生成入力値を更新する更新モジュールと、電子認証で用いる演算手法に基づき、前記アドレス生成入力値から送信元アドレスを生成する生成モジュールとを備えることを特徴とするプログラム。 - 前記請求項6又は7記載のプログラムを格納することを特徴とするコンピュータ読み取り可能な記憶媒体。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003308007A JP2005079921A (ja) | 2003-08-29 | 2003-08-29 | 通信装置、アドレス生成方法、プログラム、及び記憶媒体 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003308007A JP2005079921A (ja) | 2003-08-29 | 2003-08-29 | 通信装置、アドレス生成方法、プログラム、及び記憶媒体 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2005079921A true JP2005079921A (ja) | 2005-03-24 |
Family
ID=34410602
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003308007A Withdrawn JP2005079921A (ja) | 2003-08-29 | 2003-08-29 | 通信装置、アドレス生成方法、プログラム、及び記憶媒体 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2005079921A (ja) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006333128A (ja) * | 2005-05-26 | 2006-12-07 | Nec Corp | パケット送信装置、パケット受信装置、パケット送信方法およびパケット受信方法 |
JP2007281985A (ja) * | 2006-04-10 | 2007-10-25 | Ricoh Co Ltd | 遠隔管理システム、通信方法およびプログラム |
JP2009038512A (ja) * | 2007-07-31 | 2009-02-19 | Panasonic Corp | 暗号化情報通信装置、暗号化情報通信システム、暗号化情報通信方法及びプログラム |
US8730966B2 (en) | 2009-03-06 | 2014-05-20 | Nec Corporation | Anonymization using anonymizing device and packet server in which anonymous address is generated based on prefix acquired from server |
WO2016092859A1 (ja) * | 2014-12-12 | 2016-06-16 | パナソニックIpマネジメント株式会社 | 通信システム、通信装置、通信方法 |
-
2003
- 2003-08-29 JP JP2003308007A patent/JP2005079921A/ja not_active Withdrawn
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006333128A (ja) * | 2005-05-26 | 2006-12-07 | Nec Corp | パケット送信装置、パケット受信装置、パケット送信方法およびパケット受信方法 |
JP4674494B2 (ja) * | 2005-05-26 | 2011-04-20 | 日本電気株式会社 | パケット受信装置 |
JP2007281985A (ja) * | 2006-04-10 | 2007-10-25 | Ricoh Co Ltd | 遠隔管理システム、通信方法およびプログラム |
JP2009038512A (ja) * | 2007-07-31 | 2009-02-19 | Panasonic Corp | 暗号化情報通信装置、暗号化情報通信システム、暗号化情報通信方法及びプログラム |
US8730966B2 (en) | 2009-03-06 | 2014-05-20 | Nec Corporation | Anonymization using anonymizing device and packet server in which anonymous address is generated based on prefix acquired from server |
WO2016092859A1 (ja) * | 2014-12-12 | 2016-06-16 | パナソニックIpマネジメント株式会社 | 通信システム、通信装置、通信方法 |
JP2016116002A (ja) * | 2014-12-12 | 2016-06-23 | パナソニックIpマネジメント株式会社 | 通信システム、通信装置、プログラム |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4033868B2 (ja) | IPv6ネットワークで認証を処理する方法及びその装置 | |
US8312532B2 (en) | Connection supporting apparatus | |
US7216359B2 (en) | Secure communication overlay using IP address hopping | |
CN101288063B (zh) | 无线设备发现和配置 | |
US8605582B2 (en) | IP network system and its access control method, IP address distributing device, and IP address distributing method | |
JP5078422B2 (ja) | サーバ装置、情報処理装置、プログラムおよび記録媒体 | |
US20100274923A1 (en) | Method and apparatus for dynamic mapping | |
US7562384B1 (en) | Method and apparatus for providing a secure name resolution service for network devices | |
JP2003101570A (ja) | 通信処理システム、通信処理方法、およびサーバー装置、並びにコンピュータ・プログラム | |
JP2010081266A (ja) | 情報処理装置、管理装置、通信システム、及びプログラム | |
JP2007208317A (ja) | ドメインネームシステム | |
JP3944182B2 (ja) | セキュリティ通信方法 | |
US8019879B2 (en) | Wireless communications systems and wireless communications methods | |
JP2005072636A (ja) | 通信システム、同通信システムにおけるセキュリティポリシーの配布方法、サーバ装置、ならびにセキュリティポリシーの配布プログラム | |
JP2007158594A (ja) | データ通信システム、端末装置およびvpn設定更新方法 | |
JP2007082079A (ja) | ネットワーク間接続装置、及びそれを用いた簡易認証システムとその認証方法 | |
WO2004030292A1 (ja) | 情報処理装置および受信装置 | |
JP2009089062A (ja) | 仮想ネットワークシステム及び仮想ネットワーク接続装置 | |
US20160105407A1 (en) | Information processing apparatus, terminal, information processing system, and information processing method | |
US8646066B2 (en) | Security protocol control apparatus and security protocol control method | |
JP2004254271A (ja) | ネットワーク機器、ネットワークシステム、および、グループ管理方法 | |
JP2005079921A (ja) | 通信装置、アドレス生成方法、プログラム、及び記憶媒体 | |
JP2023108058A (ja) | データ送信方法、通信処理方法、装置、および通信処理プログラム | |
JP2008311939A (ja) | ネットワーク通信機器 | |
JP2006109152A (ja) | ネットワーク上で通信を行う接続要求機器、応答機器、接続管理装置、及び通信システム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
RD03 | Notification of appointment of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7423 Effective date: 20060417 |
|
A300 | Application deemed to be withdrawn because no request for examination was validly filed |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20061107 |