JPWO2004059903A1 - ネットワーク機器、ネットワークシステム、および、グループ管理方法 - Google Patents
ネットワーク機器、ネットワークシステム、および、グループ管理方法 Download PDFInfo
- Publication number
- JPWO2004059903A1 JPWO2004059903A1 JP2004562942A JP2004562942A JPWO2004059903A1 JP WO2004059903 A1 JPWO2004059903 A1 JP WO2004059903A1 JP 2004562942 A JP2004562942 A JP 2004562942A JP 2004562942 A JP2004562942 A JP 2004562942A JP WO2004059903 A1 JPWO2004059903 A1 JP WO2004059903A1
- Authority
- JP
- Japan
- Prior art keywords
- group
- information
- encrypted communication
- network
- identification information
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/0819—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
- H04L9/083—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) involving central third party, e.g. key distribution center [KDC] or trusted third party [TTP]
- H04L9/0833—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) involving central third party, e.g. key distribution center [KDC] or trusted third party [TTP] involving conference or group key
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/06—Network architectures or network communication protocols for network security for supporting key management in a packet data network
- H04L63/065—Network architectures or network communication protocols for network security for supporting key management in a packet data network for group communications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/10—Network architectures or network communication protocols for network security for controlling access to devices or network resources
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/0819—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
- H04L9/0822—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using key encryption key
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0891—Revocation or update of secret information, e.g. encryption key update or rekeying
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0894—Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage
- H04L9/0897—Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage involving additional devices, e.g. trusted platform module [TPM], smartcard or USB
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Small-Scale Networks (AREA)
Abstract
利用者が認めた機器でグループを構成し、グループに属する機器間の安全な通信を実現する。グループ管理処理部302にて、グループ内の暗号通信に用いる暗号化鍵を作成し、暗号通信に必要な情報とともに自身の記憶部と記録媒体とに格納する。その記録媒体を用いて、暗号通信に必要な情報を受けとった機器は、その情報を用いて既にグループに属している他の機器に自身と暗号通信を行なうために必要な情報を送信する。グループから離脱する場合は、自身が保有している暗号通信を行なうための情報を削除するとともに、他の機器に自身の離脱を通知し、通知を受けた機器内の離脱する機器に関する情報を削除してもらう。
Description
本発明は、ネットワークに接続する特定の機器間で排他的かつ安全に通信を行う技術に関する。
Internet Protocol(以下、IPと呼ぶ)と呼ばれる通信プロトコルを使用するIPネットワークは、コンピュータネットワークのデファクトスタンダードとしての地位を確立し、一般ユーザへの普及が著しい。
このIPネットワークを介して機器間でデータをやりとりするには、その機器それぞれに一意的にIPアドレスを付与することが必要である。現在では、IPアドレスを32ビットで表すIPv4(Internet Protocol version 4)が用いられているが、IPネットワークの利用が増大するに連れて、IPアドレスの不足が大きな問題となってきている。
このような状況を背景に、IPアドレスを128ビットに拡張し、さらに、セキュリティ機能など、今までのIPアドレスになかった機能を付加した新しいIPアドレスを用いるIPネットワークとしてIPv6(Internet Protocol version 6)がIETF(Internet Engineering Task Force)にて採択され、それを用いたネットワークサービスが次世代IPとして標準化されつつある。
さらに、使用可能なアドレス数が増え、セキュリティ機能が充実したIPv6の新たな適用先として、冷蔵庫、洗濯機などの白物家電、あるいはテレビ、ビデオといったAV機器といった家庭内の機器から構成されるホームネットワークなどが注目されている。
これらの機器それぞれにIPアドレスを割り当てることにより、各機器をサーバとみなすことができるようになり、機器間通信により新しいサービスを実現したり、外部端末からの機器の制御、サービスセンタからの機器の制御といったインターネットを介した新しいサービスを実現するといったことが考えられている。
ところで、家庭内機器のような特定の機器間の通信においては、利用者が認識している範囲外の機器からの操作を排除するようなシステムが要求される。例えば、友人が持ってきた機器による勝手な操作の防止が必要である。
すなわち、利用者が互いの通信を許可する範囲を決定し、それらの機器をグループ化し、グループ化された機器間でのみ通信がなされるようなシステムが要求される。そして、このような通信を実現するためには、グループ内の機器間で、互いをグループ内に属する真正な機器であることを認証するための認証機能が必要である。
このような認証機能として、従来のクライアント、サーバ型のシステムでは、認証サーバを用いたものが実現されている。例えば、RFC2865で定義されるRADIUS(Remote Authentication Dial−In User Serviceでは、サーバにアクセスするクライアントのアカウント(ユーザ名、パスワード)をRADIUSサーバと呼ばれる認証サーバで一括管理し、サーバは、クライアントからのアクセス要求(ユーザ名点パスワードを含む)をRADIUSサーバに転送しアクセス可否の判断結果を受けて、クライアントとの通信を行うかどうか判断する。
例えば、従来のグループ化された特定の機器間での暗号通信システム及びその通信方法としては、特開2002−124941号公報及び特開平5−347616号公報(特許文献2)に示されているものがある。
このIPネットワークを介して機器間でデータをやりとりするには、その機器それぞれに一意的にIPアドレスを付与することが必要である。現在では、IPアドレスを32ビットで表すIPv4(Internet Protocol version 4)が用いられているが、IPネットワークの利用が増大するに連れて、IPアドレスの不足が大きな問題となってきている。
このような状況を背景に、IPアドレスを128ビットに拡張し、さらに、セキュリティ機能など、今までのIPアドレスになかった機能を付加した新しいIPアドレスを用いるIPネットワークとしてIPv6(Internet Protocol version 6)がIETF(Internet Engineering Task Force)にて採択され、それを用いたネットワークサービスが次世代IPとして標準化されつつある。
さらに、使用可能なアドレス数が増え、セキュリティ機能が充実したIPv6の新たな適用先として、冷蔵庫、洗濯機などの白物家電、あるいはテレビ、ビデオといったAV機器といった家庭内の機器から構成されるホームネットワークなどが注目されている。
これらの機器それぞれにIPアドレスを割り当てることにより、各機器をサーバとみなすことができるようになり、機器間通信により新しいサービスを実現したり、外部端末からの機器の制御、サービスセンタからの機器の制御といったインターネットを介した新しいサービスを実現するといったことが考えられている。
ところで、家庭内機器のような特定の機器間の通信においては、利用者が認識している範囲外の機器からの操作を排除するようなシステムが要求される。例えば、友人が持ってきた機器による勝手な操作の防止が必要である。
すなわち、利用者が互いの通信を許可する範囲を決定し、それらの機器をグループ化し、グループ化された機器間でのみ通信がなされるようなシステムが要求される。そして、このような通信を実現するためには、グループ内の機器間で、互いをグループ内に属する真正な機器であることを認証するための認証機能が必要である。
このような認証機能として、従来のクライアント、サーバ型のシステムでは、認証サーバを用いたものが実現されている。例えば、RFC2865で定義されるRADIUS(Remote Authentication Dial−In User Serviceでは、サーバにアクセスするクライアントのアカウント(ユーザ名、パスワード)をRADIUSサーバと呼ばれる認証サーバで一括管理し、サーバは、クライアントからのアクセス要求(ユーザ名点パスワードを含む)をRADIUSサーバに転送しアクセス可否の判断結果を受けて、クライアントとの通信を行うかどうか判断する。
例えば、従来のグループ化された特定の機器間での暗号通信システム及びその通信方法としては、特開2002−124941号公報及び特開平5−347616号公報(特許文献2)に示されているものがある。
ホームネットワークに接続されている機器の中で、利用者が指定した機器間でのみ所定の通信を行うためには、互いに相手が指定された機器であることを認証する機能が必要と考えられている。
従来の認証機能は、クライアント・サーバシステムが前提であり、サーバにアクセスするクライアントのアクセス情報を管理する認証サーバを備えることで実現されている。
これに対し、ホームネットワークを構成する機器は、適宜サービスに応じて必要な機器間で通信を行なうといったアドホック型である。このため、全ての機器がサーバにもクライアントにもなり得、アクセス情報の設定がより煩雑になるという問題がある。
このような場合に、従来のように認証サーバを備え、機器間でのセッション確立毎、あるいはサービス開始毎に個別に認証を行うようにすると、認証のオーバヘッドが大きくなるという問題もある。
例えば、前述の特許文献1に開示された技術は、認証機能を有したグループ通信システムである。本技術は、グループを構成する機器以外に、グループ通信システム内にグループ暗号鍵を生成する機能及びグループに所属する端末情報を管理する機能を備えたグループ暗号鍵管理部と及び中継装置とを備えて構成され、大規模なネットワーク構成を前提としたものである。
また、前述の特許文献2に開示された技術は、まず、グループ通信を行う機器ごとにICカードを具備していなければならない。そして、そのICカードには、予め送受信相手の所属ごとに設定された複数のマスタ鍵とグループ鍵生成プログラムとが記録されている必要がある。
このように、従来の技術では、実際に通信を行なう機器以外に認証サーバとなる機器を用意する必要があったり、マスタ鍵と個々の通信相手先の関係といった複雑な情報を予め記憶させておく記録媒体をグループを構成する機器の数だけ用意する必要があった。
本発明は、このような事情に鑑みなされたもので、本発明の目的は、利用者が認めた機器間で容易に互いを認証し合うことが可能なグループを構成し、そのグループに属する機器間の安全な通信を実現することにある。
さらに、本発明の他の目的は、グループ内の機器が提供するアプリケーションにグループ外の機器にもアクセスを許可するものがある場合、グループ外の機器から、そのアプリケーションにのみアクセスを許可するといったアクセス制御を実現することにある。
本発明は、共有の鍵を用いて暗号通信を行うことで互いを認証し、セキュリティの確保された通信を行なう機器の集まりをグループとみなし、そのグループを構成する機器となりうる個々の機器のいずれもが、グループを生成し、参加し、また、そのグループから離脱するといったグループ管理の手段を有する。
また、機器がいずれかのグループに属していても、グループ外の機器との通信の可能性も保有するものである。
具体的には、ネットワークを介して接続された他のネットワーク機器と通信を行なうネットワーク機器であって、互いに認証可能な前記ネットワーク機器をグループとして管理するグループ管理手段と、前記グループ所属するネットワーク機器間で共通の暗号化鍵による暗号通信を行う暗号通信手段と、前記グループに所属するネットワーク機器の、ホスト名とアドレスとを含む識別情報および前記暗号化鍵の情報を含む前記グループに所属するネットワーク機器と暗号通信を行うために必要な暗号通信情報を格納する記憶手段と、外部から情報を取得する取得手段と、を備え、前記グループ管理手段は、前記記憶手段に前記暗号通信情報が格納されていない状態で、前記取得手段において前記暗号通信情報を取得すると、当該暗号通信情報を前記記憶手段に格納するとともに、前記暗号通信手段を介して自身の識別情報を前記グループに所属するネットワーク機器に送信し、前記暗号通信手段を介して他のネットワーク機器から当該他のネットワーク機器の識別情報を取得すると、前記記憶手段に記憶している前記暗号通信情報に当該識別情報を追加することを特徴とするネットワーク機器を提供する。
また、前記グループ管理手段は、さらに、前記取得手段においてグループから離脱する指示を受け付けると、前記記憶手段に記憶されている前記グループに所属する全てのネットワーク機器に、前記暗号通信手段を介して自身のネットワーク機器の離脱を通知するとともに、前記記憶手段から前記暗号通信情報を削除し、前記暗号通信手段を介して他のネットワーク機器から、当該他のネットワーク機器が離脱する通知を受け付けると、前記記憶手段に記憶している前記暗号通信情報から、当該他のネットワーク機器の識別情報を削除する、ことを特徴とするネットワーク機器を提供する。
従来の認証機能は、クライアント・サーバシステムが前提であり、サーバにアクセスするクライアントのアクセス情報を管理する認証サーバを備えることで実現されている。
これに対し、ホームネットワークを構成する機器は、適宜サービスに応じて必要な機器間で通信を行なうといったアドホック型である。このため、全ての機器がサーバにもクライアントにもなり得、アクセス情報の設定がより煩雑になるという問題がある。
このような場合に、従来のように認証サーバを備え、機器間でのセッション確立毎、あるいはサービス開始毎に個別に認証を行うようにすると、認証のオーバヘッドが大きくなるという問題もある。
例えば、前述の特許文献1に開示された技術は、認証機能を有したグループ通信システムである。本技術は、グループを構成する機器以外に、グループ通信システム内にグループ暗号鍵を生成する機能及びグループに所属する端末情報を管理する機能を備えたグループ暗号鍵管理部と及び中継装置とを備えて構成され、大規模なネットワーク構成を前提としたものである。
また、前述の特許文献2に開示された技術は、まず、グループ通信を行う機器ごとにICカードを具備していなければならない。そして、そのICカードには、予め送受信相手の所属ごとに設定された複数のマスタ鍵とグループ鍵生成プログラムとが記録されている必要がある。
このように、従来の技術では、実際に通信を行なう機器以外に認証サーバとなる機器を用意する必要があったり、マスタ鍵と個々の通信相手先の関係といった複雑な情報を予め記憶させておく記録媒体をグループを構成する機器の数だけ用意する必要があった。
本発明は、このような事情に鑑みなされたもので、本発明の目的は、利用者が認めた機器間で容易に互いを認証し合うことが可能なグループを構成し、そのグループに属する機器間の安全な通信を実現することにある。
さらに、本発明の他の目的は、グループ内の機器が提供するアプリケーションにグループ外の機器にもアクセスを許可するものがある場合、グループ外の機器から、そのアプリケーションにのみアクセスを許可するといったアクセス制御を実現することにある。
本発明は、共有の鍵を用いて暗号通信を行うことで互いを認証し、セキュリティの確保された通信を行なう機器の集まりをグループとみなし、そのグループを構成する機器となりうる個々の機器のいずれもが、グループを生成し、参加し、また、そのグループから離脱するといったグループ管理の手段を有する。
また、機器がいずれかのグループに属していても、グループ外の機器との通信の可能性も保有するものである。
具体的には、ネットワークを介して接続された他のネットワーク機器と通信を行なうネットワーク機器であって、互いに認証可能な前記ネットワーク機器をグループとして管理するグループ管理手段と、前記グループ所属するネットワーク機器間で共通の暗号化鍵による暗号通信を行う暗号通信手段と、前記グループに所属するネットワーク機器の、ホスト名とアドレスとを含む識別情報および前記暗号化鍵の情報を含む前記グループに所属するネットワーク機器と暗号通信を行うために必要な暗号通信情報を格納する記憶手段と、外部から情報を取得する取得手段と、を備え、前記グループ管理手段は、前記記憶手段に前記暗号通信情報が格納されていない状態で、前記取得手段において前記暗号通信情報を取得すると、当該暗号通信情報を前記記憶手段に格納するとともに、前記暗号通信手段を介して自身の識別情報を前記グループに所属するネットワーク機器に送信し、前記暗号通信手段を介して他のネットワーク機器から当該他のネットワーク機器の識別情報を取得すると、前記記憶手段に記憶している前記暗号通信情報に当該識別情報を追加することを特徴とするネットワーク機器を提供する。
また、前記グループ管理手段は、さらに、前記取得手段においてグループから離脱する指示を受け付けると、前記記憶手段に記憶されている前記グループに所属する全てのネットワーク機器に、前記暗号通信手段を介して自身のネットワーク機器の離脱を通知するとともに、前記記憶手段から前記暗号通信情報を削除し、前記暗号通信手段を介して他のネットワーク機器から、当該他のネットワーク機器が離脱する通知を受け付けると、前記記憶手段に記憶している前記暗号通信情報から、当該他のネットワーク機器の識別情報を削除する、ことを特徴とするネットワーク機器を提供する。
図1は、本発明を適用した実施形態のシステム構成を示す図である
図2は、本実施形態におけるノードのハードウェア構成を示す図である。
図3は、本実施形態におけるノードにおけるソフトウェア構成を示す図である。
図4は、グループ通信に用いるAHヘッダ付きのIPパケットの構成を示す図である。
図5は、グループ通信に用いるESPヘッダ付きのIPパケットの構成を示す図である。
図6は、本実施形態のおけるグループ管理処理部の機能構成を示す図である。
図7は、本実施形態におけるグループ制御IPパケットのデータ部の構成の一例を示す図である。
図8は、グループ管理テーブルの構成の一例を示す図である。
図9は、アクセス制御対象アプリケーション管理テーブルの構成の一例を示す図である。
図10は、グループメンバ管理テーブルの構成の一例を示す図である。
図11は、セキュリティアソシエーションとして設定する情報構成の一例を示す図である。
図12は、グループ管理処理の処理手順を示す図である。
図13は、グループ生成処理の処理手順を示す図である。
図14は、グループ参加処理の処理手順を示す図である。
図15は、グループ内への新メンバ通知処理の処理手順を示す図である。
図16は、グループ離脱処理の処理手順を示す図である。
図17は、グループ制御IPパケット受信処理の処理手順を示す図である。
図18は、IPパケット受信時のIP受信部の処理手順を示す図である。
図19は、IPパケット受信時の受信アクセス制御部の処理手順を示す図である。
図2は、本実施形態におけるノードのハードウェア構成を示す図である。
図3は、本実施形態におけるノードにおけるソフトウェア構成を示す図である。
図4は、グループ通信に用いるAHヘッダ付きのIPパケットの構成を示す図である。
図5は、グループ通信に用いるESPヘッダ付きのIPパケットの構成を示す図である。
図6は、本実施形態のおけるグループ管理処理部の機能構成を示す図である。
図7は、本実施形態におけるグループ制御IPパケットのデータ部の構成の一例を示す図である。
図8は、グループ管理テーブルの構成の一例を示す図である。
図9は、アクセス制御対象アプリケーション管理テーブルの構成の一例を示す図である。
図10は、グループメンバ管理テーブルの構成の一例を示す図である。
図11は、セキュリティアソシエーションとして設定する情報構成の一例を示す図である。
図12は、グループ管理処理の処理手順を示す図である。
図13は、グループ生成処理の処理手順を示す図である。
図14は、グループ参加処理の処理手順を示す図である。
図15は、グループ内への新メンバ通知処理の処理手順を示す図である。
図16は、グループ離脱処理の処理手順を示す図である。
図17は、グループ制御IPパケット受信処理の処理手順を示す図である。
図18は、IPパケット受信時のIP受信部の処理手順を示す図である。
図19は、IPパケット受信時の受信アクセス制御部の処理手順を示す図である。
以下、本発明の実施の形態を、図を用いて説明する。
本実施形態では、宅内において家電などにより構成されるネットワークに本発明を適用した場合を例にあげ、説明する。
本実施形態の宅内のネットワークは、IPv6により構成され、それぞれにIPアドレスが付与された、例えば、電子レンジやエアコンなどの家電機器、テレビやビデオなどのAV機器、センサ等が接続されている。以下、ネットワークに接続され、IPv6によるIPアドレスを付与されている各機器を、ノードと呼ぶこととする。
本実施形態では、これらのノードのうち、利用者が互いに通信を行なうことを許可したものをグループとし、グループに属するノード間で認証のために共通の暗号化鍵による暗号通信を行なう。
ここで、本ネットワークで採用しているIPv6は、前述したように、確保できるIPアドレス数が莫大となるだけでなく、IPsecと呼ばれる暗号・認証の仕組みが標準で装備され、高度な安全性を保ちながら、使い勝手もよいという特徴を持つ。本実施形態においては、IPv6のIPsecを用いて、グループを構成する機器間のみでの安全な通信を実現する。
本実施形態の詳細な説明の前に、まず、IPsecの概要について説明する。
IPsecは、IP層において相互接続可能で高品質な暗号化ベースのセキュリティを提供する技術である。このセキュリティは、認証ヘッダAH(Authentication Header)とIP暗号化ペイロードESP(Encapsulation Security Payload)の2つのトラフィックセキュリティプロトコル等によって実現されている。
AHは、IPパケットの改ざんを防ぐ機能を提供し、ESPは、IPパケットを暗号化し、かつ、その認証データを格納することで、IPパケットの機密性と完全性とを保証するものである。
AH、ESP共に、認証鍵、暗号鍵を用いて、それぞれ認証情報、暗号データを作成し、送付した暗号化されたデータを解読可能な鍵を保有しているか否かにより通信相手の機器を認証する。
図4と図5とに、それぞれ、AHプロトコルおよびESPプロトコルを利用した場合のIPパケットの構成を示す。なお、これらのパケット構成は、IPsecパケットとしてRFC2401〜2403に規定されているものである。
図4は、AHプロトコルを利用した場合のIPパケットの構成を示すものである。この場合のIPパケットは、IPヘッダ400と、TCP/UDPヘッダ402と、データ403に対するハッシュ値を格納するAHヘッダ401とを備える。
AHヘッダ401に格納されているハッシュ値は、パケットが改ざんされていないことを証明するためのもので、通信相手間で相互に保有する認証鍵を用いて計算された値が格納される。これは、認証されているもの同士では同じ認証鍵を保有することが前提となっているもので、送信側で自身が保有する認証鍵によって計算して格納したデータのハッシュ値を、受信側が、自身が保有する認証鍵によって計算したデータのハッシュ値と比較し、両者が合致することにより、相手が同じ認証鍵を保有するものであることを確認することができる。すなわち、パケットの送信相手が同じ暗号化鍵を保有するグループ内の機器であることが証明される。
図5はESPプロトコルを利用した場合のIPパケットの構成を示すものである。TCP/UDPヘッダと、データを暗号化した場合のヘッダ構成である。
この場合のIPパケットは、暗号化しているパケットであることを示すESPヘッダ501と、暗号化の区切りを揃えるためのESPトレーラ504と、認証データ505とを備える。認証データ505はオプションであり、ESPヘッダ505と、暗号化されたTCP/UDPヘッダ502と、データ503と、ESPトレーラ504とのハッシュ値を格納するものである。
認証データ505に格納されるハッシュ値は、IPペイロードの完全性を確保し、暗号化して転送するTCP/UDPヘッダ502およびデータ503の機密性を確保する。暗号化を行なう際には送信側が保有する暗号鍵を用いる。送信側が自身が保有する暗号鍵を用いて暗号化したデータを受信側は自身が保有する暗号鍵で復号する。受信側において、復号ができれば、相手が同じ暗号鍵を保有することが確認できる。すなわち、パケット送信相手が同じ暗号鍵を保有するグループ内機器であることの証明となる。
また、IPsecで使用する暗号/認証アルゴリズム、鍵など、各機器間でIPsecの規格に従って通信を行う(以後、IPsecの規格に従って行う通信のことをIPsec通信と呼ぶ)ために共有すべき情報は、セキュリティアソシエーション(SA)として管理される。
SAは、それによって運ばれるトラフィックに対してセキュリティサービスを提供する単方向の「コネクション」である。このため、IPsec通信を行うにあたって、通信を行う機器間で一方向の通信ごとに、予め設定を行う必要がある。すなわち、両方向の通信を行なうためには、送信方向と受信方向とのそれぞれのSAを設定する必要がある。
なお、IPsecの詳細は、RFC2401”Security Architecture for the Internet Protocol”に規定されている。
図1は、本発明を適用した一実施形態に係るグループ通信システムの構成を示す図である。
本図に示すように、本実施形態においては、4つのノード100(100A、100B、100C、100D)がIPv6によるネットワーク110に接続されている。もちろん構成ノード数はこれに限られない。
これらのノード100間で、ネットワーク110を介してIPパケット形式のコマンドを送受信することにより、ノード100各々が備える機器特有のサービス機能に対する他のノード100からの操作、および、他のノード100へのサービス提供が実現される。
具体的には、ネットワークを介して、テレビからエアコンの温度調節をしたり、テレビからの操作により、ビデオカメラで撮影している画像をビデオに送信し、ビデオカメラで撮影した画像をビデオで録画させるといったことが実現されるものである。
例えば、ノード100A〜ノード100Cは、利用者が相互にサービスを利用することを許可しているグループに属するノードであり、ノード100Dは、そのグループ外のノードとすると、グループを構成するノード100A、100B、100C間では、サービス機能の利用要求を送信する際に、要求元ノードは、グループで共有する鍵(以後、グループ鍵と呼ぶ)により計算されたハッシュ値を格納した、または、暗号化したIPパケットを送付する(101方向)。利用要求を受け取った要求先ノードは、自身の保有するグループ鍵により要求元ノードがグループ構成ノードであることを確認し、サービス機能を要求元ノードに提供する(102方向)、といったIPsec通信を行なう。
これに対し、ノード100Dからは、サービス機能の利用要求は、通常のIPパケットによって送信することとなるため、ノード100Cに通常のIPパケットを送信すると(104方向)、ノード100Cにおいてグループ外ノードと判断され、サービス提供拒否のパケットの返答を受けることとなる(103方向)。
ここで、ノード100Bがグループ外のノード100に提供を許可するサービスを有するノードの場合、ノード100Dからそのサービスの提供を指定して通常のIPパケットを送信すると(104b方向)、ノード100Bよりそのサービスが提供される(103b方向)。
本実施形態では、以上のようにIPsecの仕組みを標準で実装するIPv6を用いたプロトコルによる通信が可能なネットワークを例にあげて説明する。しかし、グループを構成するノード100間に共通の暗号化鍵を持たせ、その鍵を認証鍵または暗号鍵として当該グループ間で通信を行うことができる環境を構築できるならば、通信プロトコルはこれに限られない。
以下、このようなネットワークに接続されたノード100間で、所定のサービスの安全な利用を実現するグループの管理方法、すなわち、一つのノード100においてグループを生成し、生成されたグループに他のノード100が参加し、また、生成されたグループから離脱する方法について説明する。
本実施形態では、空のメモリカードA、Bの2つを用意し、最初にグループに参加するノード100において、グループ内でIPsec通信を行うために必要な情報を生成し、そのうちの一つのメモリカードAに、登録する。その後参加するノード100は、メモリカードAから必要な情報を取得することで、グループに参加する。また、グループから離脱する際は、空のメモリカードBを用いる。
図2にノード100のハードウェア構成を、図3にその機能構成を示す。
ノード100は、ノード100が備える一つ以上の固有機能部202と、ネットワークカード205と、固有機能部202及びネットワークカード205を制御するプロセッサ200と、プロセッサ200で実行するプログラムを記憶するメモリ201と、プログラム及び設定情報を記憶するハードディスク等の外部記憶装置204と、グループ情報を受け渡すためのメモリカード等のインタフェースを提供する記憶媒体インタフェース206と、これらを接続するシステムバス203とを備える。
なお、固有機能部202が実現する固有機能とは、例えばエアコンであれば、例えば冷暖房機能、温度管理機能、タイマ機能等を司る処理部などのことである。
また、記憶媒体インタフェース206は、挿入する記憶媒体に書き込み中であることを利用者に通知するLED(発光ダイオード)ライトを具備している。
次に、各ノード100が備える機能を図3に従って説明する。これらの機能により、ノード100は、ネットワークを介して、利用者がサービスの相互利用を許可したグループを構成するノード100間でサービスの提供を実現する。
各ノード100は、アプリケーション301と、グループ管理処理部302と、TCP/UDP送信処理部303と、IP送信部304と、アクセスポリシデータベース308と、SAデータベース309と、ネットワークインタフェース受信処理部310と、IP受信部314と、TCP/UDP受信処理部315と、ネットワークインタフェース送信処理部317と、記憶媒体インタフェース処理部318とを備える。
アプリケーション301は、各ノード特有のサービスを提供するものである。
グループ管理処理部302は、後述するグループの生成、離脱、更新など、グループに関する管理を行なうものである。
ネットワークインタフェース受信処理部310とネットワークインタフェース送信処理部317とは、ネットワークカードを制御するものである。
記憶媒体インタフェース処理部318は、記憶媒体インタフェース206を制御するものである。記憶媒体インタフェース318は、メモリカード等の記録媒体が記録媒体インタフェース206に挿入されたことを検出すると、記憶媒体インタフェース206に備えられているLEDライトを点灯し、メモリカードを利用中であることを利用者に対して示す。また、グループ管理処理部302から処理終了の通知を受けると、記憶媒体インタフェース206に備えられているLEDライトを消灯し、利用者に対し、メモリカード等の記憶媒体への書込みが終了したこと、および、グループ管理処理部302における処理が完了したことを通知する。
なお、通知を受けた利用者は、メモリカードを当該記憶媒体インタフェース206から取り出すことができる。
TCP/UDP送信処理部303と、IP送信部304と、IP受信部314と、TCP/UDP受信処理部315とは、送受するIPパケットに対し、各層の処理を行い、通信を実現するものである。
IP送信部304は、IPv6送信前処理部305と、IPsec送信処理部306と、IPv6後処理部307とを備え、IP受信部314は、IPv6受信前処理部311と、IPsec受信処理部312と、IPv6受信後処理部313とを備える。IP送信部304とIP受信部314とで、IPv6による通信を実現する。
ここで、IPv6受信前処理部311は、IPヘッダを構成するバージョン、ペイロード長、ホップ・リミットの設定値の確認およびオプションヘッダ(AHとESPとを除く)処理といったIPv6受信前処理を行なうものである。IPv6受信前処理部311は、受け取ったIPパケットにAHヘッダまたはESPヘッダのいずれかが付加されていた場合、そのIPパケットをIPsec処理部312に受け渡す。いずれのヘッダも付加されていなかった場合、そのIPパケットを後述する受信アクセス制御部316に受け渡す。
IPsec処理部312は、IPヘッダのオプションヘッダのうち、AHとESPの処理を行ない、受信したIPパケットがグループに属するノード100から送信されたものか否かを判断する。
IPv6受信後処理部313は、IPパケットを受け取ると、送信元IPアドレス、送信先IPアドレスを含むPusedo Headerを作成し、受け取ったIPパケットのIPヘッダと置き換え、TCP/UDP受信処理部315に受け渡すといったIPv6受信後処理を行なう。
また、IP受信部314は、受信アクセス制御部316をさらに備える。
受信アクセス制御部316は、IPv6受信前処理部311から、AHヘッダまたはESPヘッダを有していないIPパケットを受け取り、当該IPパケットのアプリケーションへのアクセスを制御するものである。
SAデータベース309は、IPsecで必要なセキュリティアソシエーション(SA)が格納されているものである。
アクセスポリシデータベース308は、グループ内での通信を実現するため、各ノードに対するアクセス制御に関する情報及びグループ情報が格納されているものである。
アクセスポリシデータベース308は、グループ管理テーブル600と、アクセス制御対象アプリケーション管理テーブル700と、グループメンバ管理テーブル800とを備える。
なお、グループ管理テーブル600は、記憶媒体インタフェース206を介してノードに接続される記憶媒体であるメモリカード上でも保持されるものである。
以下、グループ管理処理部302、アクセスポリシデータベース306の各データベース、および、SAデータベース309内のSAについて、その詳細を説明する。
図6に、グループ管理処理部302の機能構成図を示す。
本図に示すように、グループ管理処理部302は、制御部3100と、グループ生成処理部3200と、グループ参加処理部3300と、グループ離脱処理部3400と、グループ情報更新処理部3500と、グループ制御IPパケット受信処理部3600とを備える。
グループ管理処理部302は、ユーザがメモリカードを記憶媒体インタフェース206に挿入したことを検出した記憶媒体インタフェース処理部318からの指示で処理を開始する。
制御部3100は、記憶媒体インタフェース処理部318からの指示を受け、挿入されたメモリカード内と、自身が保有するアクセスポリシデータベース308を検索し、グループ管理テーブル600の有無を確認する。
グループ生成処理部3200は、グループ自体が存在しない場合に、新たにグループを生成するグループ生成処理を行なう。グループ生成処理は、制御部3100がメモリカードにもアクセスポリシデータベース308にもグループ管理テーブル600が存在しないと判断した場合に行なわれるものである。
具体的には、グループに属する他のノードと暗号通信を行なうために必要な情報、すなわち、グループ管理テーブル600に登録すべき項目を生成、選択し、グループ管理テーブル600を作成し、それを、メモリカードおよびアクセスポリシデータベース308に登録する。
グループ参加処理部3300は、既存のグループに、新たなメンバとして自身を参加させるグループ参加処理を行なうものである。グループ参加処理は、制御部3100がメモリカードにはグループ管理テーブル600が存在するが、アクセスポリシデータベース308にグループ管理テーブル600が存在しないと判断した際に行われるものである。
グループ参加処理部3300は、挿入されたメモリカードに格納されている暗号通信に必要な情報を取得し、また、自身のノード100と暗号通信を行なうために必要な情報をグループに既に属している他のノード100に送信する。具体的には、メモリカード内のグループ管理テーブル600に自身の情報を追加し、自身の情報が追加されたグループ管理テーブル600を、アクセスポリシデータベース308に登録する。
また、グループ管理テーブル600から得た、グループに既に属しているノード100のホスト名からIPアドレスを解決することで、グループメンバ管理テーブル800を生成する。
さらに、グループ参加処理部3300は、グループ内の各ノード100とIPsec通信が可能となるように、セキュリティアソシエーションの設定を行ない、SAデータベース309に登録し、グループ内の既存のメンバのノード100に、IPsec通信で自身が追加されたことを通知する。
グループ離脱処理部3400は、グループから離脱するグループ離脱処理を行なうものである。
本実施形態では、ユーザが所定のノード100をグループから離脱させたい場合、当該ノード100に空のメモリカードを挿入することとする。すなわち、グループ離脱処理は、制御部3100が、自身のアクセスポリシデータベース308にはグループ管理テーブル600が存在するが、挿入されたメモリカードにはグループ管理テーブル600が存在しないと判断した際に行われるものである。
グループ離脱処理は、グループに属する他のノード100に自身のノード100が離脱することを通知し、当該グループ内で暗号通信を行なうために必要な情報、すなわち、自身のアクセスポリシデータベース308およびSAデータベース309内のグループ間の通信に係わるデータを削除するものである。
ここで、グループ参加処理部3300およびグループ離脱処理部3400がそれぞれ、参加および離脱をグループに属する各ノード100に通知する際は、グループ制御IPパケットと呼ぶ特別なデータ部を有するIPパケットを用いる。
ここで、そのグループ制御IPパケットについて説明する。図7にグループ制御IPパケットのデータ部1000の一例を示す。
本図に示すように、グループ制御IPパケットのデータ部1000は、コマンド識別子を格納するコマンド識別子格納部1001と、IPアドレスとホスト名とをそれぞれ格納する、16バイトのIPアドレス格納部1002と、ホスト名格納部1003とを備える。
ここで、新規参加を通知する際にグループに属する各ノード100に送信されるグループ制御IPパケットの場合、コマンド識別子格納部1001に「加入」を示す(00)hexが設定される(以後、本グループ制御IPパケットを加入コマンドと呼ぶ)。そして、IPアドレス格納部1002と、ホスト名格納部1003とには、それぞれ自身のアドレスとホスト名とが設定される。
また、グループから離脱する際にグループに属する各ノード100に送信されるグループ制御IPパケットの場合、コマンド識別子格納部1001に「離脱」を示す(01)hexが設定される(以後、本グループ制御IPパケットを離脱コマンドと呼ぶ)。そして、IPアドレス格納部1002と、ホスト名格納部1003とには、それぞれ自身のアドレスとホスト名とが設定される。
グループ情報更新処理部3500は、グループ管理テーブル600の内容を更新したり、それをメモリカードにコピーするといったグループ情報更新処理を行なうものである。
本実施形態においては、セキュリティを向上させるために、グループ内で利用するグループ鍵が所定の期間ごとに更新される設定となっている。グループ情報更新処理部3500は、グループ管理テーブル600の鍵有効期限がタイムアウトした時点で、新しいグループ鍵を生成する。
ここで、グループ管理テーブル600生成時に、ノード毎に、異なる鍵有効期限が設定される。具体的には、所定の有効期限の、例えば、プラスマイナス30%間のランダムな値を、その鍵有効期限に加算あるいは減算することで得られた値を鍵有効期限として各ノードに設定する。このため、各ノードで鍵有効期限のタイムアウトが異なるタイミングで生じ、鍵の更新を行なうノードが一つに定まり、グループのメンバが同時にグループ鍵を生成することを避けることができる。
そして、更新されたグループ鍵を更新前のグループ鍵で暗号化し、グループ鍵を更新したメンバからグループに属する各ノードに送付する。このとき、鍵の更新とともに、各ノードの鍵有効期限を再設定してもよい。
また、グループ情報更新処理部3500は、他のノードから、更新されたグループ鍵を受信した場合、自身の保有するグループ鍵の情報を更新するとともに、グループに属する各ノード100のIPアドレスが更新された場合、関連するデータベース内のIPアドレスを更新する。
ここで、本実施形態では、グループの鍵の更新は上述のように行なわれるため、グループ参加処理に用いられるメモリカード内のグループ管理テーブル600には反映されない。同様に、上述のグループからの離脱処理は、空のメモリカードを用いて行なわれ、離脱したノード100からグループを構成する他のノード100への通知は、IPsec通信によって行われる。このため、グループ離脱によるグループ構成メンバの変更も、グループ参加処理に用いられるメモリカード内のグループ管理テーブル600に反映されない。
このため、本実施形態では、グループ情報更新処理部3500が、メモリカード内のグループ管理テーブル600の更新処理も行なう。
グループ情報更新処理部3500が行なうメモリカード内のグループ管理テーブル600の更新処理は、制御部3100が、自身のアクセスポリシデータベース308にも、挿入されたメモリカードにもグループ管理テーブル600が存在すると判断した際に行われるものである。
グループ情報更新処理部3500は、当該ノード100のアクセスポリシデータベース308に格納されているグループ管理テーブル600の情報をメモリカード内のグループ管理テーブル600にコピーする。
本実施形態では、実際のグループ参加処理において、グループ参加処理を行なう場合に、グループに既に所属しているノード100にメモリカードを挿入し、メモリカード内のグループ管理テーブル600を最新のものとする処理を前もって行なうよう手順を定めておく。
グループ制御IPパケット受信処理部3600は、前述のグループ制御IPパケットを受信した際の処理を行うものである。
具体的には、加入コマンドを受信した場合は、IPアドレス格納部1002およびホスト名格納部1003に格納されているIPアドレスおよびホスト名を自身のグループ管理テーブル600およびグループメンバ管理テーブル800とに追加し、送信元ノード100と暗号通信を行なうために必要なセキュリティアソシエーションを作成する。一方、離脱コマンドを受信した場合は、それらを削除する。
次に、アクセスポリシデータベース308に格納されるグループ管理テーブル600とアクセス制御対応アプリケーション管理テーブル700と、グループメンバ管理テーブル800とについて以下に説明する。
グループ管理テーブル600は、グループに属するノード100を識別するための情報とグループで共有する鍵の情報とを格納するテーブルである。図8にその一例を示す。
本図に示すようにグループ管理テーブル600は、ネットワークに接続されたノード100によって構成されるグループを識別するためのグループ識別子を格納するグループ識別子格納フィールド601と、グループ鍵を格納するグループ鍵格納フィールド602と、そのグループ鍵の有効期限を格納するグループ鍵有効期限格納フィールド603と、AH、ESPといったグループ内で通信に利用するIPsecの機能の種別を格納するIPsec種別格納フィールド604と、認証あるいは暗号に用いるアルゴリズムを格納するアルゴリズム格納フィールド605と、グループに属するノード100を識別する情報であるホスト名を格納するホスト名格納フィールド606(606A〜606B)とを備える。
アクセス制御対象アプリケーション管理テーブル700は、ノード100にグループ外のノード100が利用可能なアプリケーションが実装されている場合、ノード100に実装されている各アプリケーションに対するアクセス制御のために用いる情報が格納されているテーブルである。
なお、本テーブルは、ノード100がグループ内からのアクセスに対してのみ提供するアプリケーションだけを実装している場合は不要なものである。
アクセス制御対象アプリケーション管理テーブル700の一例を図9に示す。
本図に示すように、アクセス制御対象アプリケーション管理テーブル700は、グループ外のノード100にも開放されているアプリケーションが利用するポート番号を格納するポート番号格納フィールド701(701A、701B)を備える。各ノード100は、IPパケット受信時に、本テーブルを参照し、当該IPパケットがアクセスしようとしているアプリケーションがグループ外のノード100にも開放されたアプリケーションであるか否かの判定を行う。
次に、グループメンバ管理テーブル800について説明する。各ノード100間で、IPv6に基づき、IPパケット通信を行なうためには、各ノード100のIPアドレスを知る必要がある。グループに属する各ノード100のIPアドレスは、グループ参加時に取得した各ノード100のホスト名からICMP(Internet Control Message Protocol)Echo Request/Replyパケットのやりとりにより、アドレスの解決を行なうことで取得する。このように、グループメンバ管理テーブル800は、各ノードにおいてホスト名からIPアドレスを解決して作成するもので、そこには、グループに属する各ノード100のホスト名とIPアドレスとの対応が格納されている。
図10にグループメンバ管理テーブル800の一例を示す。
本図に示すように、本テーブルは、ノードを特定するホスト名を格納するホスト名格納フィールド801と、ホスト名と対応させて各ノード100のIPアドレスを格納するIPアドレス格納フィールド802と、IPアドレスの有効期限を格納する有効期限格納フィールド802とを備える。
ノード100が再起動した場合などに、ノード100のIPアドレスは変わる可能性がある。また、一定時間内にIPアドレス格納部802に格納されているIPアドレスと送受信が行われないと、有効期限が切れる場合がある。
このようなノードに対しIPパケットを送信する場合、ノード100のIPv6送信前処理部305は、ICMP Echo Request/Replyパケットのやりとりにより、ホスト名からアドレスの解決を再度行ない、グループ管理処理部302に通知する。それを受けて、グループ管理処理部302のグループ情報更新処理部3500は、IPアドレスが登録されている本テーブルおよびグループ内の通信に利用するセキュリティアソシエーションを更新する。
次に、SAデータベース309に格納されている、セキュリティアソシエーション900について説明する。セキュリティアソシエーション900は、IPsecにのっとった通信を行うために共有すべき情報を管理するものであり、例えば、ノード100Aとノード100B間で通信する場合、ノード100Aからノード100B方向の通信、および、ノード100Bからノード100A方向の通信、両者に対し、独立して設定する必要があるものである。
図11に、セキュリティアソシエーション900の一例を示す。
本図に示すように、セキュリティアソシエーション900は、各セキュリティアソシエーションを識別するSPI(セキュリティポリシ識別子)、送信元IPアドレス、送信先アドレス、プロトコルとして認証あるいは暗号の指定、暗号範囲としてトランスポートモードあるいはトンネルモードの指定、暗号アルゴリズム、暗号鍵、認証アルゴリズム、認証鍵、鍵の有効期限などを含む。
本実施形態では、各ノード100においてセキュリティアソシエーション900を作成するにあたり、送信用のセキュリティアソシエーション900を作成する場合は、送信元IPアドレスには、自身のノード100のIPアドレスを、送信先IPアドレスには、通信相手先ノードのIPアドレスを設定し、受信用を作成する場合は、送信元IPアドレスには、通信相手先のIPアドレスを設定し、送信先IPアドレスには、自身のノード100のIPアドレスを設定する。
SPIには、送信用、受信用ともに、グループ管理テーブル600のグループ識別子格納部601に格納されているグループ識別子が格納される。また、送信用、受信用ともに、プロトコル、認証鍵アルゴリズム、認証鍵、有効期限には、それぞれ、グループ管理テーブル600に格納されているものが設定される。
以上、本実施形態におけるノード100の各機能などについて説明した。
次に、本実施形態における、ネットワーク110に接続された各ノード100間で、グループを生成し、参加する手順、また、一旦参加したグループから離脱する手順などを説明する。
以下においては、IPsecの機能種別としてAHを、モードとしてトランスポートモードを、認証アルゴリズムとしてSHA−1(Secure Hash Algorithm−1:SHS(Secure Hash Standard)FIPS 180として規定)を用いる場合を例にあげ、説明する。IPsec通信の設定は、これらに限られない。
また、本実施形態においては、前述したように、グループの情報を格納するメモリカードと、グループを離脱する際に用いる空のメモリカードとの2つのメモリカードを用いてグループの生成、参加、離脱、情報更新などを行なう。
図12に、グループ管理処理部302が行なうグループ管理処理手順3020を示す。
グループ管理処理手順3020は、ユーザがメモリカードを各ノード100の記録媒体インタフェース206に挿入することをきっかけに開始される。
そして、ノード100の記憶媒体インタフェース処理部318は、メモリカードが記録媒体インタフェース206に挿入されたことを検出すると、記憶媒体インタフェース206に備えられているLEDライトを点灯し、メモリカードを利用中であることを利用者に対して示す。
LEDライトが消灯されたことにより、ユーザは処理が終了したことを知り、メモリカードを取り出すことができる。
また、記憶媒体インタフェース処理部318は、メモリカードを検出したことをグループ管理処理部302へ通知する。その通知を受けて、グループ管理処理部302は、グループ管理処理1000を開始する。
まず、グループ管理処理部302の制御部3100は、自身のアクセスポリシデータベース308と、記録媒体インタフェース処理部318を介してメモリカード挿入されたメモリカードとにアクセスし、グループ管理テーブル600の有無を確認する(ステップ3021)。
ここで、どちらにもグループ管理テーブル600がない場合、グループ自体が存在しない、すなわち、グループを生成する必要があると判断し、制御部3100は、グループ生成処理部3200にグループ生成処理3210を行わせる(ステップ3022)。グループ生成処理3210が完了すると、制御部302は、記憶媒体インタフェース処理部318に対し、メモリカードの書き込み終了を通知し(ステップ3027)、処理を終える。
自身のアクセスポリシデータベース302には無く、メモリカードには存在した場合、制御部3100は、メモリカードに存在するグループに自身が参加しようとしていると判断し、グループ参加処理部3300にグループ参加処理3310を行なわせ(ステップ3023)、グループ参加処理が完了すると、ステップ3027に進む。
メモリカードには無く、自身のアクセスポリシデータベース302には存在した場合、制御部3100は、自身は既にグループに属しているが空白のメモリカードが挿入されたことにより、グループ離脱処理を行なうものと判断し、グループ離脱処理部3400にグループ離脱処理3410を行なわせ(ステップ3026)、グループ離脱処理が完了するとステップ3027に進む。
どちらにもグループ管理テーブル600が存在する場合は、制御部3100は、まず、アクセスポリシデータベース302内のグループ管理テーブル600とメモリカード内のグループ管理テーブル600とのグループ識別子を比較する(ステップ3024)。
ここで、両者が同じであれば、メモリカードのグループ情報を更新する処理を行なうものと判断し、グループ情報更新処理部3500にグループ情報更新処理3510としてアクセスポリシデータベース302内のグループ管理テーブル600をメモリカードにコピーする処理を行なわせ(ステップ3025)、当該処理が完了すると、ステップ3027に進む。
ステップ3024において、両者が異なった場合、制御部3100は、誤ったメモリカードが挿入されたと判断し、そのままステップ3027にすすむ。
次に、グループ生成処理1200、グループ参加処理1300、グループ離脱処理1600、グループ情報更新処理1500の手順を説明する。
まず、グループ生成処理3210の処理手順を図13に示す。
制御部3100から処理開始の指示を受けると、グループ生成処理部3200は、グループ鍵を生成し(ステップ3211)、グループを識別するためのグループ識別子を生成し(ステップ3212)、認証・暗号モードとして認証(AH)を選択し(ステップ3213)、アルゴリズムとしてSHA−1を選択する(ステップ3214)。
そして、それぞれを、グループ鍵格納フィールド602、グループ識別子格納フィールド601、IPsec種別格納フィールド604、アルゴリズム格納フィールド605に格納し、グループ管理テーブル600を作成する(ステップ3215)。そして、ホスト名格納フィールド606に自ノード100のホスト名を登録する(ステップ3216)。
グループ管理テーブル600が完成すると、グループ生成処理部3200は、本テーブルをメモリカードにコピーすると共に、自ノード100のアクセスポリシデータベース308に記憶し(ステップ3217,3218)、処理が終了したことを制御部3100に通知する。
次に、グループ参加処理3310の処理手順を図14に示す。
制御部3100から処理開始の指示を受けると、グループ参加処理部3300は、メモリカード上のグループ管理テーブル600のホスト名格納フィールド606に自ノード100のホスト名を追加し(ステップ3311)、メモリカード上のグループ管理テーブル600を自身のアクセスポリシデータベース308内に記憶する(ステップ3312)。
次に、グループメンバ管理テーブル800を作成するともに、グループに既に属している各ノード100に、自身の参加を通知する新メンバ通知処理3710を行なう(ステップ3313)。
そして、今までのステップで記録されたグループ管理テーブル600の情報およびグループメンバ管理テーブル800の情報とを用い、各ノード100とのIPsec通信に用いるセキュリティアソシエーション900を生成し(ステップ3314)、処理が終了したことを制御部3100に通知する。
ここで、新メンバ通知処理3710についてその処理手順を説明する。図15にその処理手順を示す。
新メンバ通知処理3710では、グループ管理テーブル600内のホスト名フィールド606に格納されているホストごとに順に、ICMP Echo Request/ReplyによりIPアドレスを取得し(ステップ3712)、グループメンバ管理テーブル800に、ホスト名ごとに取得したIPアドレスを登録する(ステップ3713)。
上記のステップで取得した、グループを構成する各ノード100のIPアドレスに対して加入コマンドを生成し(ステップ3714)、それを送信する(ステップ3715)。
そして、次のホスト名を読み出して、ステップ1330から1360の処理を繰り返す(ステップ3316)。ここで、読み出したホスト名が自身のホスト名の場合は、何も処理を行わず、次のホスト名を読み出す(ステップ3711)。
そして、グループ管理テーブル600のホスト名格納フィールド606に格納されている、自身のノード100を除く全てのノードに対して以上の処理を終えると(ステップ3717)、グループ内への新メンバ通知処理1330を終える。
以上、グループ参加処理3310について説明した。
次に、グループ離脱処理3410について、図16を用いて説明する。
制御部3100から処理開始の指示を受けると、グループ離脱処理部3400は、ノード100内のグループ管理テーブル600のホスト名格納部606に登録されているホスト名を順番に読み出す(ステップ3311)。
ここで、読み出したホスト名が自ホスト名と一致した場合は、次のホスト名を読み出す。
読み出したホスト名が自ホスト名と一致しない場合は、グループメンバ管理テーブル800から読み出したホスト名に対応するIPアドレスを検索する(ステップ3312)。以後、このIPアドレスを検索したIPアドレスと呼ぶ。
次に、送信先IPアドレスを検索したIPアドレスとした離脱コマンドを作成し(ステップ3313)、その送信先IPアドレスを有するノード100に送信する(ステップ3314)。
グループ離脱処理部3400は、自身の保有するグループメンバ管理テーブル800から以上の操作を行なった検索したIPアドレスに係わるデータを削除する(ステップ3315)。
次に、SAデータベース309に記憶されているセキュリティアソシエーション900から検索したIPアドレスと等しい送信先IPアドレスを持つものを抽出し、そのセキュリティアソシエーション900を削除する(ステップ3316)。
また、検索したIPアドレスと等しい送信元IPアドレスを持つセキュリティアソシエーション900を抽出し、それを削除する(ステップ3317)。
グループ離脱処理部3400は、グループ管理テーブル600に登録されている全てのホスト名に対して、以上のステップ3311〜ステップ3317の処理を実行した後(ステップ3318)、自身が保有するグループ管理テーブル600を削除し(ステップ3319)、グループ離脱処理3310を終了する。そして、制御部3100に処理終了を通知する。
次に、上記のグループ参加処理3310内のグループ内への新メンバ通知処理3710のステップ3715およびグループ離脱処理3310のステップ3314において送信された、それぞれ加入コマンドおよび離脱コマンドを受信した場合の各ノード100側での処理を以下に説明する。
本処理は、グループ制御IPパケット受信処理部3600によって行なわれ、グループ制御IPパケット受信処理3610と呼ぶ。図17に本処理の手順を示す。
グループを構成する各ノード100は、ネットワークインタフェース受信処理部310においてグループ制御IPパケットを受信すると、IP受信部314、TCP/UDP受信処理部315を経てグループ管理処理部302のグループ制御IPパケット受信処理部3600へ受け渡す。
受信したグループ制御IPパケット受信処理部3600は、コマンド識別子格納部1001に設定されているコマンド識別子が加入であるか否かを確認する(ステップ3611)。
ステップ3611でコマンド識別子が加入を示す(00)hexであった場合、すなわち、加入コマンドを受信した場合、ステップ3612に進み、グループ制御IPパケットのホスト名1003に設定されている加入コマンドを送信してきたノード100のホスト名をグループ管理テーブル600に登録する(ステップ3612)。
そして、グループメンバ管理テーブル800に、加入コマンドを送信してきたノード100のホスト名と、グループ制御IPパケットのIPアドレス格納部1002に設定されているそのIPアドレスとを登録する(ステップ3613)。
次に、グループ制御IPパケット受信処理部3600は、送信用、すなわち、自身のノード100から加入コマンドを送信してきた新規に加入したノード100方向の送信、および、受信用、すなわち、加入コマンドを送信してきた新規に加入したノード100から自身のノード100方向の送信、各々のセキュリティアソシエーション900を作成する処理を行なう(ステップ3614、3615)。
次に、ステップ3611でコマンド識別子が離脱を示す(01)hexであった場合、すなわち、離脱コマンドを受信した場合、グループ制御IPパケット受信処理部3600は、ステップ3616に進む。
ここで、グループ制御IPパケット受信処理部3600は、SAデータベース309に記憶されているセキュリティアソシエーション900から、受信したグループ離脱コマンドのデータ部1000のIPアドレス1002に格納されているIPアドレスと等しい送信先IPアドレスを持つものを抽出し、抽出したセキュリティアソシエーションを削除する(ステップ3616)。
次に、受信した離脱コマンドのIPアドレス1002と等しいIPアドレスを有するデータをグループメンバ管理テーブル800から削除し(ステップ3617)、受信した離脱コマンドのホスト名1003に格納されているホスト名と等しいホスト名を、自ノード100上のグループ管理テーブル600から削除する(ステップ3618)。
グループ内の全てのノード100において以上の手順を行なうことにより、全てのノード100が保有する離脱したノード100に対応するセキュリティアソシエーション900を削除し、また、グループ管理テーブル600から、離脱したノード100の情報を削除する。
以上のようにして、グループを構成するノード100に新規加入または離脱といった変更があった場合、当該ノード100から送信されるグループ制御IPパケットを受信した他のノード100において、自身の保有するセキュリティアソシエーションおよびグループ管理テーブル600が更新される。
以上、グループ制御IPパケット受信処理を説明した。
ここまで、グループ管理処理部302による、グループの生成、参加、離脱などのグループ管理処理について説明した。
次に、上記の手順で生成され管理されているグループ内で、アプリケーションを互いに利用する手順を以下に説明する。
アプリケーションの利用は、IPパケットを互いに送受することによって行なわれる。まず、このIPパケットの送受信について説明する。
前述のように、IPsec通信を行うために予め設定の必要なセキュリティアソシエーション900は、グループ管理処理302において、新たなグループ構成メンバが追加される際に生成される。すなわち、グループに属している限り、IPsec通信は可能である。
IPパケットを送信するにあたり、IPsec送信処理部306は、送信するIPヘッダの送信先IPアドレスをキーに、SAデータベース309を検索し、対応するIPアドレスが送信先IPアドレスとして格納されているセキュリティアソシエーション900を抽出する。抽出したセキュリティアソシエーション900に登録されている情報に基づき、IPsec処理を行い、IPv6送信後処理307を行い、ネットワークインタフェース送信処理部を介して、送信先ノードにIPパケットを送信する。
次に、IPパケット受信時の処理手順を図18を用いて説明する。
ネットワークインタフェース受信処理部310を介してIPパケットを受信すると、IPv6受信前処理部311は、IPv6受信前処理を行い(ステップ4010)、受信したIPヘッダ内の、AHヘッダの有無をチェックする(ステップ4020)。
受信したIPヘッダ内にAHヘッダ401があると判断したならば、そのIPパケットをIPsec受信処理部312に受け渡す。
受け取ったIPsec受信処理部312は、後述するIPsec受信処理3120を行い(ステップ4030)、IPv6受信後処理部313にIPパケットを受け渡す。
そして、IPv6受信後処理部313は、IPv6受信後処理3130を行い(ステップ4040)、処理を終了する。
なお、ここで、IPv6受信後処理部313は、IPv6受信後処理3130を終えた受信したパケットをTCP/UDP受信処理部315に受け渡す。受け取ったTCP/UDP受信処理部315は、受け取ったパケットの受信処理を行い、アプリケーション301に受信データとして渡す。
ステップ4020で、上記のヘッダがないと判断した場合、そのIPパケットを受信アクセス制御部316に受け渡す。
受け取った受信アクセス制御部316は、それがICMPパケットであるか否かチェックする(ステップ4050)。
ステップ4050で、受信したIPパケットが、ICMPパケットであると判断されたならば、そのままIPv6受信後処理部313に受け渡し、IPv6受信後処理3130を行い(ステップ4040)、処理を終了する。
ステップ4050で、ICMPパケットではないと判断されたならば、受信アクセス制御部316は、そのIPパケットをグループ外のノード100から送信されたグループ外IPパケットであると判断し、後述するグループ外IPパケット受信処理3160を行い(ステップ4060)、処理を終了する。
次に、上記のIPsec処理3120について説明する。
IPsec処理部312は、AHヘッダを有するIPパケットを受信すると、IPヘッダの送信元IPアドレス、送信先IPアドレス、AHヘッダ401に設定されているSPIが一致するセキュリティアソシエーション900をSAデータベース309から抽出する。
そして、抽出したセキュリティアソシエーション900に記憶されている認証鍵を用いて受信したIPパケットの認証情報を作成し、AHヘッダ401に設定されている認証情報と比較する。
両者が一致していれば、受信したIPパケットをグループに属する正当なノード100からの送信とみなし、IPv6受信後処理部313に受け渡す。そして、一致しない場合は、そのIPパケット破棄する。
以上IPsec処理3120について説明した。
次に、受信アクセス制御部316によるグループ外パケット受信処理3160について説明する。
以上のように、本実施形態においては、グループに属するノード100は、グループ外のノード100から、AHヘッダを有するIPパケットを受信した場合は、IPsec通信処理部312において、また、AHヘッダを有しないIPパケットを受信した場合は、IPv6受信前処理部311において、当該IPパケットが、IPv6受信後処理部313、TCP/UDP受信処理部315を介してアプリケーション301に到達することを排除している。
しかし、本実施形態においては、ノード100によっては、その保有するアプリケーションの利用を、グループ外のノード100にも開放しているものがある。前述したように、このようなアプリケーションを有するノード100は、アプリケーションごとのポート番号を、アクセス制御対象アプリケーション管理テーブル700において管理している。
グループ外のノード100からAHヘッダを有するIPパケットを受信した場合は、そのIPパケットを復号することができないため、それはIPsec通信処理部312において破棄することは先に説明した。
グループ外IPパケット受信処理3160は、グループ外のノード100から通常のIPパケットを受信した際に、グループ外のノード100に開放しているアプリケーションに当該IPパケットを送達する処理である。
グループ外IPパケット受信処理3160では、IPパケットを受け取ったノード100が、グループ外のノード100に対し何らサービス機能を提供しない場合、アクセスエラーをデータとして格納したIPパケットを送信元に対して送信し、受信したIPパケットは破棄する。これに対し、グループ外のノード100に対して何らかのサービス機能を提供する場合は、アクセス制御対象アプリケーション管理テーブル700の登録に従って、アプリケーションを提供するよう制御している。
以下にその手順を図19を用いて説明する。
受信アクセス制御部316は、IPv6受信前処理部311からICMPパケットではないIPパケットを受信した場合、当該IPパケットから読取った送信先ポート番号とアクセス制御対象アプリケーション管理テーブル700に登録されているポート番号701との比較を行なう(ステップ3161)。
アクセス制御対象アプリケーション管理テーブル700には、グループ外のノードに利用が許可されているアプリケーションのポート番号が登録されているため、両者が一致した場合、サービス機能を要求元ノード100に提供できることとなる。
この場合、受信アクセス制御部316は、受け取ったIPパケットをIPv6受信後処理部313に受け渡し、受け取ったIPv6受信後処理部313は、IPv6受信後処理3130を行なう(ステップ3164)。
そして、IPv6受信後処理部313から処理されたIPパケットを受け取ったTCP/UDP受信処理部315は、それを、アプリケーション301に受け渡す。
ステップ3161において、ポート番号が一致しない場合は、提供できるサービス機能がないため、受信アクセス制御部316は、アクセスエラーをデータとして格納したIPパケットを生成しIP送信部304から送信元に送信し(ステップ3162)、受信したIPパケットは破棄する(ステップ3163)。
以上、グループ外IPパケット受信処理について説明した。
このように、本実施形態においては、グループ内のノード100間ではIPsec通信を行い、グループ外のノード100とは通常のIPパケットによる通信を行うことで、アクセス制御対象アプリケーション管理テーブル700で管理している各アプリケーションのポート番号に従って、アプリケーションごとにグループ内外のアクセス許可を制御することができる。これにより、一つのノード100において、グループだけで利用するサービス機能と、誰もが利用できるサービス機能とを実装し、それぞれへのアクセス制御を可能としている。
本実施形態によれば、ホームネットワークを構成するノード100において作成したグループ鍵を含むIPsec通信に必要な情報を、共通のメモリカードを介して、利用者が相互に利用することを許可する各ノード100に配布する。
配布されたノード100は、グループに所属している他のノード100とIPsec通信ができるように、セキュリティアソシエーション900を設定するとともに、新規加入したことを、グループに所属している他のノード100に通知する。
通知を受けたノード100は、それぞれ、新規に加入したノード100とのIPsec通信ができるように、セキュリティアソシエーション900を設定する。
以上のように、本実施形態では、例えば、通信を開始する際に認証サーバ、あるいは鍵管理手段を備えた装置等といったグループを構成する機器以外の装置を介さずに、互いに認証可能で安全な通信を行なうことのできるグループを、そのグループを構成する機器が、容易に生成し管理することを実現している。
また、グループを生成し管理するために必要な情報を、メモリカードといった記憶媒体を介して各ノードに与えること、および、グループの生成、グループへの参加、および、グループからの離脱の指示を各ノードに与えることを実現している。
このように、本実施形態では、サーバなどの特別な機器を設けることなく、また、複数のマスタ鍵などを備えたICカードを用意してグループを構成する機器それぞれに予めセットしておくなどの事前の準備をすることなく、グループを構成する機器間でのみ、容易にIPsec通信可能な環境を構築できる。
また、本実施形態では、一つのノードに、グループ内のノードのみ利用できるアプリケーションとグループ外のノードも利用できるアプリケーションとが実装されている場合も容易にそれぞれのアクセス制御を実現できる。
なお、本実施形態では、グループ生成、加入、離脱時の指示を行なう際に利用する記憶媒体としてメモリカードを例にあげ、説明したが、利用する記憶媒体はこれに限られない。可搬型の記憶媒体であり、各ノードがそのインタフェースを備えていれば、どのような記憶媒体であってもよい。
また、本実施形態では、IPsec通信を行うために必要な情報の授受を記憶媒体で行なうといった設定としたが、これに限られない。例えば、各ノードに入力装置を備え、ユーザが入力するようにしてもよい。
さらに、グループからの離脱処理を開始するきっかけとして、空のメモリカードの入力を例にあげ説明したが、これに限られない。例えば、各ノードがリセットボタンを備え、ユーザがそのリセットボタンを介して離脱処理を開始する指示を与えるようにしてもよい。
また、LEDを備えることにより、利用者に対しグループ生成、加入処理の終了を通知する事を実現している。通知のための機能も、これに限られない。
なお、本発明は上記の実施形態に限定されるものではなく、その要旨の範囲内で様々な変形が可能である。
例えば、上記の実施形態では、宅内のネットワークを例にとり説明したが、本発明はこれに限定されない。本発明は、互いに認証を必要とする様々なネットワークシステムに広く適用できる。
本実施形態においては、特別に認証サーバまたは鍵管理手段を備えた装置を保有しなくても、グループを構成する機器間で、互いにグループ構成機器であることを認証し、安全な通信を実現するグループを容易に生成し、管理することができる。
また、機器がグループ内の機器にのみ提供するアプリケーションとグループ外の機器に提供するアプリケーションとを有する場合、そのアクセス制御を簡単な構成にて行なうことができる。
本実施形態では、宅内において家電などにより構成されるネットワークに本発明を適用した場合を例にあげ、説明する。
本実施形態の宅内のネットワークは、IPv6により構成され、それぞれにIPアドレスが付与された、例えば、電子レンジやエアコンなどの家電機器、テレビやビデオなどのAV機器、センサ等が接続されている。以下、ネットワークに接続され、IPv6によるIPアドレスを付与されている各機器を、ノードと呼ぶこととする。
本実施形態では、これらのノードのうち、利用者が互いに通信を行なうことを許可したものをグループとし、グループに属するノード間で認証のために共通の暗号化鍵による暗号通信を行なう。
ここで、本ネットワークで採用しているIPv6は、前述したように、確保できるIPアドレス数が莫大となるだけでなく、IPsecと呼ばれる暗号・認証の仕組みが標準で装備され、高度な安全性を保ちながら、使い勝手もよいという特徴を持つ。本実施形態においては、IPv6のIPsecを用いて、グループを構成する機器間のみでの安全な通信を実現する。
本実施形態の詳細な説明の前に、まず、IPsecの概要について説明する。
IPsecは、IP層において相互接続可能で高品質な暗号化ベースのセキュリティを提供する技術である。このセキュリティは、認証ヘッダAH(Authentication Header)とIP暗号化ペイロードESP(Encapsulation Security Payload)の2つのトラフィックセキュリティプロトコル等によって実現されている。
AHは、IPパケットの改ざんを防ぐ機能を提供し、ESPは、IPパケットを暗号化し、かつ、その認証データを格納することで、IPパケットの機密性と完全性とを保証するものである。
AH、ESP共に、認証鍵、暗号鍵を用いて、それぞれ認証情報、暗号データを作成し、送付した暗号化されたデータを解読可能な鍵を保有しているか否かにより通信相手の機器を認証する。
図4と図5とに、それぞれ、AHプロトコルおよびESPプロトコルを利用した場合のIPパケットの構成を示す。なお、これらのパケット構成は、IPsecパケットとしてRFC2401〜2403に規定されているものである。
図4は、AHプロトコルを利用した場合のIPパケットの構成を示すものである。この場合のIPパケットは、IPヘッダ400と、TCP/UDPヘッダ402と、データ403に対するハッシュ値を格納するAHヘッダ401とを備える。
AHヘッダ401に格納されているハッシュ値は、パケットが改ざんされていないことを証明するためのもので、通信相手間で相互に保有する認証鍵を用いて計算された値が格納される。これは、認証されているもの同士では同じ認証鍵を保有することが前提となっているもので、送信側で自身が保有する認証鍵によって計算して格納したデータのハッシュ値を、受信側が、自身が保有する認証鍵によって計算したデータのハッシュ値と比較し、両者が合致することにより、相手が同じ認証鍵を保有するものであることを確認することができる。すなわち、パケットの送信相手が同じ暗号化鍵を保有するグループ内の機器であることが証明される。
図5はESPプロトコルを利用した場合のIPパケットの構成を示すものである。TCP/UDPヘッダと、データを暗号化した場合のヘッダ構成である。
この場合のIPパケットは、暗号化しているパケットであることを示すESPヘッダ501と、暗号化の区切りを揃えるためのESPトレーラ504と、認証データ505とを備える。認証データ505はオプションであり、ESPヘッダ505と、暗号化されたTCP/UDPヘッダ502と、データ503と、ESPトレーラ504とのハッシュ値を格納するものである。
認証データ505に格納されるハッシュ値は、IPペイロードの完全性を確保し、暗号化して転送するTCP/UDPヘッダ502およびデータ503の機密性を確保する。暗号化を行なう際には送信側が保有する暗号鍵を用いる。送信側が自身が保有する暗号鍵を用いて暗号化したデータを受信側は自身が保有する暗号鍵で復号する。受信側において、復号ができれば、相手が同じ暗号鍵を保有することが確認できる。すなわち、パケット送信相手が同じ暗号鍵を保有するグループ内機器であることの証明となる。
また、IPsecで使用する暗号/認証アルゴリズム、鍵など、各機器間でIPsecの規格に従って通信を行う(以後、IPsecの規格に従って行う通信のことをIPsec通信と呼ぶ)ために共有すべき情報は、セキュリティアソシエーション(SA)として管理される。
SAは、それによって運ばれるトラフィックに対してセキュリティサービスを提供する単方向の「コネクション」である。このため、IPsec通信を行うにあたって、通信を行う機器間で一方向の通信ごとに、予め設定を行う必要がある。すなわち、両方向の通信を行なうためには、送信方向と受信方向とのそれぞれのSAを設定する必要がある。
なお、IPsecの詳細は、RFC2401”Security Architecture for the Internet Protocol”に規定されている。
図1は、本発明を適用した一実施形態に係るグループ通信システムの構成を示す図である。
本図に示すように、本実施形態においては、4つのノード100(100A、100B、100C、100D)がIPv6によるネットワーク110に接続されている。もちろん構成ノード数はこれに限られない。
これらのノード100間で、ネットワーク110を介してIPパケット形式のコマンドを送受信することにより、ノード100各々が備える機器特有のサービス機能に対する他のノード100からの操作、および、他のノード100へのサービス提供が実現される。
具体的には、ネットワークを介して、テレビからエアコンの温度調節をしたり、テレビからの操作により、ビデオカメラで撮影している画像をビデオに送信し、ビデオカメラで撮影した画像をビデオで録画させるといったことが実現されるものである。
例えば、ノード100A〜ノード100Cは、利用者が相互にサービスを利用することを許可しているグループに属するノードであり、ノード100Dは、そのグループ外のノードとすると、グループを構成するノード100A、100B、100C間では、サービス機能の利用要求を送信する際に、要求元ノードは、グループで共有する鍵(以後、グループ鍵と呼ぶ)により計算されたハッシュ値を格納した、または、暗号化したIPパケットを送付する(101方向)。利用要求を受け取った要求先ノードは、自身の保有するグループ鍵により要求元ノードがグループ構成ノードであることを確認し、サービス機能を要求元ノードに提供する(102方向)、といったIPsec通信を行なう。
これに対し、ノード100Dからは、サービス機能の利用要求は、通常のIPパケットによって送信することとなるため、ノード100Cに通常のIPパケットを送信すると(104方向)、ノード100Cにおいてグループ外ノードと判断され、サービス提供拒否のパケットの返答を受けることとなる(103方向)。
ここで、ノード100Bがグループ外のノード100に提供を許可するサービスを有するノードの場合、ノード100Dからそのサービスの提供を指定して通常のIPパケットを送信すると(104b方向)、ノード100Bよりそのサービスが提供される(103b方向)。
本実施形態では、以上のようにIPsecの仕組みを標準で実装するIPv6を用いたプロトコルによる通信が可能なネットワークを例にあげて説明する。しかし、グループを構成するノード100間に共通の暗号化鍵を持たせ、その鍵を認証鍵または暗号鍵として当該グループ間で通信を行うことができる環境を構築できるならば、通信プロトコルはこれに限られない。
以下、このようなネットワークに接続されたノード100間で、所定のサービスの安全な利用を実現するグループの管理方法、すなわち、一つのノード100においてグループを生成し、生成されたグループに他のノード100が参加し、また、生成されたグループから離脱する方法について説明する。
本実施形態では、空のメモリカードA、Bの2つを用意し、最初にグループに参加するノード100において、グループ内でIPsec通信を行うために必要な情報を生成し、そのうちの一つのメモリカードAに、登録する。その後参加するノード100は、メモリカードAから必要な情報を取得することで、グループに参加する。また、グループから離脱する際は、空のメモリカードBを用いる。
図2にノード100のハードウェア構成を、図3にその機能構成を示す。
ノード100は、ノード100が備える一つ以上の固有機能部202と、ネットワークカード205と、固有機能部202及びネットワークカード205を制御するプロセッサ200と、プロセッサ200で実行するプログラムを記憶するメモリ201と、プログラム及び設定情報を記憶するハードディスク等の外部記憶装置204と、グループ情報を受け渡すためのメモリカード等のインタフェースを提供する記憶媒体インタフェース206と、これらを接続するシステムバス203とを備える。
なお、固有機能部202が実現する固有機能とは、例えばエアコンであれば、例えば冷暖房機能、温度管理機能、タイマ機能等を司る処理部などのことである。
また、記憶媒体インタフェース206は、挿入する記憶媒体に書き込み中であることを利用者に通知するLED(発光ダイオード)ライトを具備している。
次に、各ノード100が備える機能を図3に従って説明する。これらの機能により、ノード100は、ネットワークを介して、利用者がサービスの相互利用を許可したグループを構成するノード100間でサービスの提供を実現する。
各ノード100は、アプリケーション301と、グループ管理処理部302と、TCP/UDP送信処理部303と、IP送信部304と、アクセスポリシデータベース308と、SAデータベース309と、ネットワークインタフェース受信処理部310と、IP受信部314と、TCP/UDP受信処理部315と、ネットワークインタフェース送信処理部317と、記憶媒体インタフェース処理部318とを備える。
アプリケーション301は、各ノード特有のサービスを提供するものである。
グループ管理処理部302は、後述するグループの生成、離脱、更新など、グループに関する管理を行なうものである。
ネットワークインタフェース受信処理部310とネットワークインタフェース送信処理部317とは、ネットワークカードを制御するものである。
記憶媒体インタフェース処理部318は、記憶媒体インタフェース206を制御するものである。記憶媒体インタフェース318は、メモリカード等の記録媒体が記録媒体インタフェース206に挿入されたことを検出すると、記憶媒体インタフェース206に備えられているLEDライトを点灯し、メモリカードを利用中であることを利用者に対して示す。また、グループ管理処理部302から処理終了の通知を受けると、記憶媒体インタフェース206に備えられているLEDライトを消灯し、利用者に対し、メモリカード等の記憶媒体への書込みが終了したこと、および、グループ管理処理部302における処理が完了したことを通知する。
なお、通知を受けた利用者は、メモリカードを当該記憶媒体インタフェース206から取り出すことができる。
TCP/UDP送信処理部303と、IP送信部304と、IP受信部314と、TCP/UDP受信処理部315とは、送受するIPパケットに対し、各層の処理を行い、通信を実現するものである。
IP送信部304は、IPv6送信前処理部305と、IPsec送信処理部306と、IPv6後処理部307とを備え、IP受信部314は、IPv6受信前処理部311と、IPsec受信処理部312と、IPv6受信後処理部313とを備える。IP送信部304とIP受信部314とで、IPv6による通信を実現する。
ここで、IPv6受信前処理部311は、IPヘッダを構成するバージョン、ペイロード長、ホップ・リミットの設定値の確認およびオプションヘッダ(AHとESPとを除く)処理といったIPv6受信前処理を行なうものである。IPv6受信前処理部311は、受け取ったIPパケットにAHヘッダまたはESPヘッダのいずれかが付加されていた場合、そのIPパケットをIPsec処理部312に受け渡す。いずれのヘッダも付加されていなかった場合、そのIPパケットを後述する受信アクセス制御部316に受け渡す。
IPsec処理部312は、IPヘッダのオプションヘッダのうち、AHとESPの処理を行ない、受信したIPパケットがグループに属するノード100から送信されたものか否かを判断する。
IPv6受信後処理部313は、IPパケットを受け取ると、送信元IPアドレス、送信先IPアドレスを含むPusedo Headerを作成し、受け取ったIPパケットのIPヘッダと置き換え、TCP/UDP受信処理部315に受け渡すといったIPv6受信後処理を行なう。
また、IP受信部314は、受信アクセス制御部316をさらに備える。
受信アクセス制御部316は、IPv6受信前処理部311から、AHヘッダまたはESPヘッダを有していないIPパケットを受け取り、当該IPパケットのアプリケーションへのアクセスを制御するものである。
SAデータベース309は、IPsecで必要なセキュリティアソシエーション(SA)が格納されているものである。
アクセスポリシデータベース308は、グループ内での通信を実現するため、各ノードに対するアクセス制御に関する情報及びグループ情報が格納されているものである。
アクセスポリシデータベース308は、グループ管理テーブル600と、アクセス制御対象アプリケーション管理テーブル700と、グループメンバ管理テーブル800とを備える。
なお、グループ管理テーブル600は、記憶媒体インタフェース206を介してノードに接続される記憶媒体であるメモリカード上でも保持されるものである。
以下、グループ管理処理部302、アクセスポリシデータベース306の各データベース、および、SAデータベース309内のSAについて、その詳細を説明する。
図6に、グループ管理処理部302の機能構成図を示す。
本図に示すように、グループ管理処理部302は、制御部3100と、グループ生成処理部3200と、グループ参加処理部3300と、グループ離脱処理部3400と、グループ情報更新処理部3500と、グループ制御IPパケット受信処理部3600とを備える。
グループ管理処理部302は、ユーザがメモリカードを記憶媒体インタフェース206に挿入したことを検出した記憶媒体インタフェース処理部318からの指示で処理を開始する。
制御部3100は、記憶媒体インタフェース処理部318からの指示を受け、挿入されたメモリカード内と、自身が保有するアクセスポリシデータベース308を検索し、グループ管理テーブル600の有無を確認する。
グループ生成処理部3200は、グループ自体が存在しない場合に、新たにグループを生成するグループ生成処理を行なう。グループ生成処理は、制御部3100がメモリカードにもアクセスポリシデータベース308にもグループ管理テーブル600が存在しないと判断した場合に行なわれるものである。
具体的には、グループに属する他のノードと暗号通信を行なうために必要な情報、すなわち、グループ管理テーブル600に登録すべき項目を生成、選択し、グループ管理テーブル600を作成し、それを、メモリカードおよびアクセスポリシデータベース308に登録する。
グループ参加処理部3300は、既存のグループに、新たなメンバとして自身を参加させるグループ参加処理を行なうものである。グループ参加処理は、制御部3100がメモリカードにはグループ管理テーブル600が存在するが、アクセスポリシデータベース308にグループ管理テーブル600が存在しないと判断した際に行われるものである。
グループ参加処理部3300は、挿入されたメモリカードに格納されている暗号通信に必要な情報を取得し、また、自身のノード100と暗号通信を行なうために必要な情報をグループに既に属している他のノード100に送信する。具体的には、メモリカード内のグループ管理テーブル600に自身の情報を追加し、自身の情報が追加されたグループ管理テーブル600を、アクセスポリシデータベース308に登録する。
また、グループ管理テーブル600から得た、グループに既に属しているノード100のホスト名からIPアドレスを解決することで、グループメンバ管理テーブル800を生成する。
さらに、グループ参加処理部3300は、グループ内の各ノード100とIPsec通信が可能となるように、セキュリティアソシエーションの設定を行ない、SAデータベース309に登録し、グループ内の既存のメンバのノード100に、IPsec通信で自身が追加されたことを通知する。
グループ離脱処理部3400は、グループから離脱するグループ離脱処理を行なうものである。
本実施形態では、ユーザが所定のノード100をグループから離脱させたい場合、当該ノード100に空のメモリカードを挿入することとする。すなわち、グループ離脱処理は、制御部3100が、自身のアクセスポリシデータベース308にはグループ管理テーブル600が存在するが、挿入されたメモリカードにはグループ管理テーブル600が存在しないと判断した際に行われるものである。
グループ離脱処理は、グループに属する他のノード100に自身のノード100が離脱することを通知し、当該グループ内で暗号通信を行なうために必要な情報、すなわち、自身のアクセスポリシデータベース308およびSAデータベース309内のグループ間の通信に係わるデータを削除するものである。
ここで、グループ参加処理部3300およびグループ離脱処理部3400がそれぞれ、参加および離脱をグループに属する各ノード100に通知する際は、グループ制御IPパケットと呼ぶ特別なデータ部を有するIPパケットを用いる。
ここで、そのグループ制御IPパケットについて説明する。図7にグループ制御IPパケットのデータ部1000の一例を示す。
本図に示すように、グループ制御IPパケットのデータ部1000は、コマンド識別子を格納するコマンド識別子格納部1001と、IPアドレスとホスト名とをそれぞれ格納する、16バイトのIPアドレス格納部1002と、ホスト名格納部1003とを備える。
ここで、新規参加を通知する際にグループに属する各ノード100に送信されるグループ制御IPパケットの場合、コマンド識別子格納部1001に「加入」を示す(00)hexが設定される(以後、本グループ制御IPパケットを加入コマンドと呼ぶ)。そして、IPアドレス格納部1002と、ホスト名格納部1003とには、それぞれ自身のアドレスとホスト名とが設定される。
また、グループから離脱する際にグループに属する各ノード100に送信されるグループ制御IPパケットの場合、コマンド識別子格納部1001に「離脱」を示す(01)hexが設定される(以後、本グループ制御IPパケットを離脱コマンドと呼ぶ)。そして、IPアドレス格納部1002と、ホスト名格納部1003とには、それぞれ自身のアドレスとホスト名とが設定される。
グループ情報更新処理部3500は、グループ管理テーブル600の内容を更新したり、それをメモリカードにコピーするといったグループ情報更新処理を行なうものである。
本実施形態においては、セキュリティを向上させるために、グループ内で利用するグループ鍵が所定の期間ごとに更新される設定となっている。グループ情報更新処理部3500は、グループ管理テーブル600の鍵有効期限がタイムアウトした時点で、新しいグループ鍵を生成する。
ここで、グループ管理テーブル600生成時に、ノード毎に、異なる鍵有効期限が設定される。具体的には、所定の有効期限の、例えば、プラスマイナス30%間のランダムな値を、その鍵有効期限に加算あるいは減算することで得られた値を鍵有効期限として各ノードに設定する。このため、各ノードで鍵有効期限のタイムアウトが異なるタイミングで生じ、鍵の更新を行なうノードが一つに定まり、グループのメンバが同時にグループ鍵を生成することを避けることができる。
そして、更新されたグループ鍵を更新前のグループ鍵で暗号化し、グループ鍵を更新したメンバからグループに属する各ノードに送付する。このとき、鍵の更新とともに、各ノードの鍵有効期限を再設定してもよい。
また、グループ情報更新処理部3500は、他のノードから、更新されたグループ鍵を受信した場合、自身の保有するグループ鍵の情報を更新するとともに、グループに属する各ノード100のIPアドレスが更新された場合、関連するデータベース内のIPアドレスを更新する。
ここで、本実施形態では、グループの鍵の更新は上述のように行なわれるため、グループ参加処理に用いられるメモリカード内のグループ管理テーブル600には反映されない。同様に、上述のグループからの離脱処理は、空のメモリカードを用いて行なわれ、離脱したノード100からグループを構成する他のノード100への通知は、IPsec通信によって行われる。このため、グループ離脱によるグループ構成メンバの変更も、グループ参加処理に用いられるメモリカード内のグループ管理テーブル600に反映されない。
このため、本実施形態では、グループ情報更新処理部3500が、メモリカード内のグループ管理テーブル600の更新処理も行なう。
グループ情報更新処理部3500が行なうメモリカード内のグループ管理テーブル600の更新処理は、制御部3100が、自身のアクセスポリシデータベース308にも、挿入されたメモリカードにもグループ管理テーブル600が存在すると判断した際に行われるものである。
グループ情報更新処理部3500は、当該ノード100のアクセスポリシデータベース308に格納されているグループ管理テーブル600の情報をメモリカード内のグループ管理テーブル600にコピーする。
本実施形態では、実際のグループ参加処理において、グループ参加処理を行なう場合に、グループに既に所属しているノード100にメモリカードを挿入し、メモリカード内のグループ管理テーブル600を最新のものとする処理を前もって行なうよう手順を定めておく。
グループ制御IPパケット受信処理部3600は、前述のグループ制御IPパケットを受信した際の処理を行うものである。
具体的には、加入コマンドを受信した場合は、IPアドレス格納部1002およびホスト名格納部1003に格納されているIPアドレスおよびホスト名を自身のグループ管理テーブル600およびグループメンバ管理テーブル800とに追加し、送信元ノード100と暗号通信を行なうために必要なセキュリティアソシエーションを作成する。一方、離脱コマンドを受信した場合は、それらを削除する。
次に、アクセスポリシデータベース308に格納されるグループ管理テーブル600とアクセス制御対応アプリケーション管理テーブル700と、グループメンバ管理テーブル800とについて以下に説明する。
グループ管理テーブル600は、グループに属するノード100を識別するための情報とグループで共有する鍵の情報とを格納するテーブルである。図8にその一例を示す。
本図に示すようにグループ管理テーブル600は、ネットワークに接続されたノード100によって構成されるグループを識別するためのグループ識別子を格納するグループ識別子格納フィールド601と、グループ鍵を格納するグループ鍵格納フィールド602と、そのグループ鍵の有効期限を格納するグループ鍵有効期限格納フィールド603と、AH、ESPといったグループ内で通信に利用するIPsecの機能の種別を格納するIPsec種別格納フィールド604と、認証あるいは暗号に用いるアルゴリズムを格納するアルゴリズム格納フィールド605と、グループに属するノード100を識別する情報であるホスト名を格納するホスト名格納フィールド606(606A〜606B)とを備える。
アクセス制御対象アプリケーション管理テーブル700は、ノード100にグループ外のノード100が利用可能なアプリケーションが実装されている場合、ノード100に実装されている各アプリケーションに対するアクセス制御のために用いる情報が格納されているテーブルである。
なお、本テーブルは、ノード100がグループ内からのアクセスに対してのみ提供するアプリケーションだけを実装している場合は不要なものである。
アクセス制御対象アプリケーション管理テーブル700の一例を図9に示す。
本図に示すように、アクセス制御対象アプリケーション管理テーブル700は、グループ外のノード100にも開放されているアプリケーションが利用するポート番号を格納するポート番号格納フィールド701(701A、701B)を備える。各ノード100は、IPパケット受信時に、本テーブルを参照し、当該IPパケットがアクセスしようとしているアプリケーションがグループ外のノード100にも開放されたアプリケーションであるか否かの判定を行う。
次に、グループメンバ管理テーブル800について説明する。各ノード100間で、IPv6に基づき、IPパケット通信を行なうためには、各ノード100のIPアドレスを知る必要がある。グループに属する各ノード100のIPアドレスは、グループ参加時に取得した各ノード100のホスト名からICMP(Internet Control Message Protocol)Echo Request/Replyパケットのやりとりにより、アドレスの解決を行なうことで取得する。このように、グループメンバ管理テーブル800は、各ノードにおいてホスト名からIPアドレスを解決して作成するもので、そこには、グループに属する各ノード100のホスト名とIPアドレスとの対応が格納されている。
図10にグループメンバ管理テーブル800の一例を示す。
本図に示すように、本テーブルは、ノードを特定するホスト名を格納するホスト名格納フィールド801と、ホスト名と対応させて各ノード100のIPアドレスを格納するIPアドレス格納フィールド802と、IPアドレスの有効期限を格納する有効期限格納フィールド802とを備える。
ノード100が再起動した場合などに、ノード100のIPアドレスは変わる可能性がある。また、一定時間内にIPアドレス格納部802に格納されているIPアドレスと送受信が行われないと、有効期限が切れる場合がある。
このようなノードに対しIPパケットを送信する場合、ノード100のIPv6送信前処理部305は、ICMP Echo Request/Replyパケットのやりとりにより、ホスト名からアドレスの解決を再度行ない、グループ管理処理部302に通知する。それを受けて、グループ管理処理部302のグループ情報更新処理部3500は、IPアドレスが登録されている本テーブルおよびグループ内の通信に利用するセキュリティアソシエーションを更新する。
次に、SAデータベース309に格納されている、セキュリティアソシエーション900について説明する。セキュリティアソシエーション900は、IPsecにのっとった通信を行うために共有すべき情報を管理するものであり、例えば、ノード100Aとノード100B間で通信する場合、ノード100Aからノード100B方向の通信、および、ノード100Bからノード100A方向の通信、両者に対し、独立して設定する必要があるものである。
図11に、セキュリティアソシエーション900の一例を示す。
本図に示すように、セキュリティアソシエーション900は、各セキュリティアソシエーションを識別するSPI(セキュリティポリシ識別子)、送信元IPアドレス、送信先アドレス、プロトコルとして認証あるいは暗号の指定、暗号範囲としてトランスポートモードあるいはトンネルモードの指定、暗号アルゴリズム、暗号鍵、認証アルゴリズム、認証鍵、鍵の有効期限などを含む。
本実施形態では、各ノード100においてセキュリティアソシエーション900を作成するにあたり、送信用のセキュリティアソシエーション900を作成する場合は、送信元IPアドレスには、自身のノード100のIPアドレスを、送信先IPアドレスには、通信相手先ノードのIPアドレスを設定し、受信用を作成する場合は、送信元IPアドレスには、通信相手先のIPアドレスを設定し、送信先IPアドレスには、自身のノード100のIPアドレスを設定する。
SPIには、送信用、受信用ともに、グループ管理テーブル600のグループ識別子格納部601に格納されているグループ識別子が格納される。また、送信用、受信用ともに、プロトコル、認証鍵アルゴリズム、認証鍵、有効期限には、それぞれ、グループ管理テーブル600に格納されているものが設定される。
以上、本実施形態におけるノード100の各機能などについて説明した。
次に、本実施形態における、ネットワーク110に接続された各ノード100間で、グループを生成し、参加する手順、また、一旦参加したグループから離脱する手順などを説明する。
以下においては、IPsecの機能種別としてAHを、モードとしてトランスポートモードを、認証アルゴリズムとしてSHA−1(Secure Hash Algorithm−1:SHS(Secure Hash Standard)FIPS 180として規定)を用いる場合を例にあげ、説明する。IPsec通信の設定は、これらに限られない。
また、本実施形態においては、前述したように、グループの情報を格納するメモリカードと、グループを離脱する際に用いる空のメモリカードとの2つのメモリカードを用いてグループの生成、参加、離脱、情報更新などを行なう。
図12に、グループ管理処理部302が行なうグループ管理処理手順3020を示す。
グループ管理処理手順3020は、ユーザがメモリカードを各ノード100の記録媒体インタフェース206に挿入することをきっかけに開始される。
そして、ノード100の記憶媒体インタフェース処理部318は、メモリカードが記録媒体インタフェース206に挿入されたことを検出すると、記憶媒体インタフェース206に備えられているLEDライトを点灯し、メモリカードを利用中であることを利用者に対して示す。
LEDライトが消灯されたことにより、ユーザは処理が終了したことを知り、メモリカードを取り出すことができる。
また、記憶媒体インタフェース処理部318は、メモリカードを検出したことをグループ管理処理部302へ通知する。その通知を受けて、グループ管理処理部302は、グループ管理処理1000を開始する。
まず、グループ管理処理部302の制御部3100は、自身のアクセスポリシデータベース308と、記録媒体インタフェース処理部318を介してメモリカード挿入されたメモリカードとにアクセスし、グループ管理テーブル600の有無を確認する(ステップ3021)。
ここで、どちらにもグループ管理テーブル600がない場合、グループ自体が存在しない、すなわち、グループを生成する必要があると判断し、制御部3100は、グループ生成処理部3200にグループ生成処理3210を行わせる(ステップ3022)。グループ生成処理3210が完了すると、制御部302は、記憶媒体インタフェース処理部318に対し、メモリカードの書き込み終了を通知し(ステップ3027)、処理を終える。
自身のアクセスポリシデータベース302には無く、メモリカードには存在した場合、制御部3100は、メモリカードに存在するグループに自身が参加しようとしていると判断し、グループ参加処理部3300にグループ参加処理3310を行なわせ(ステップ3023)、グループ参加処理が完了すると、ステップ3027に進む。
メモリカードには無く、自身のアクセスポリシデータベース302には存在した場合、制御部3100は、自身は既にグループに属しているが空白のメモリカードが挿入されたことにより、グループ離脱処理を行なうものと判断し、グループ離脱処理部3400にグループ離脱処理3410を行なわせ(ステップ3026)、グループ離脱処理が完了するとステップ3027に進む。
どちらにもグループ管理テーブル600が存在する場合は、制御部3100は、まず、アクセスポリシデータベース302内のグループ管理テーブル600とメモリカード内のグループ管理テーブル600とのグループ識別子を比較する(ステップ3024)。
ここで、両者が同じであれば、メモリカードのグループ情報を更新する処理を行なうものと判断し、グループ情報更新処理部3500にグループ情報更新処理3510としてアクセスポリシデータベース302内のグループ管理テーブル600をメモリカードにコピーする処理を行なわせ(ステップ3025)、当該処理が完了すると、ステップ3027に進む。
ステップ3024において、両者が異なった場合、制御部3100は、誤ったメモリカードが挿入されたと判断し、そのままステップ3027にすすむ。
次に、グループ生成処理1200、グループ参加処理1300、グループ離脱処理1600、グループ情報更新処理1500の手順を説明する。
まず、グループ生成処理3210の処理手順を図13に示す。
制御部3100から処理開始の指示を受けると、グループ生成処理部3200は、グループ鍵を生成し(ステップ3211)、グループを識別するためのグループ識別子を生成し(ステップ3212)、認証・暗号モードとして認証(AH)を選択し(ステップ3213)、アルゴリズムとしてSHA−1を選択する(ステップ3214)。
そして、それぞれを、グループ鍵格納フィールド602、グループ識別子格納フィールド601、IPsec種別格納フィールド604、アルゴリズム格納フィールド605に格納し、グループ管理テーブル600を作成する(ステップ3215)。そして、ホスト名格納フィールド606に自ノード100のホスト名を登録する(ステップ3216)。
グループ管理テーブル600が完成すると、グループ生成処理部3200は、本テーブルをメモリカードにコピーすると共に、自ノード100のアクセスポリシデータベース308に記憶し(ステップ3217,3218)、処理が終了したことを制御部3100に通知する。
次に、グループ参加処理3310の処理手順を図14に示す。
制御部3100から処理開始の指示を受けると、グループ参加処理部3300は、メモリカード上のグループ管理テーブル600のホスト名格納フィールド606に自ノード100のホスト名を追加し(ステップ3311)、メモリカード上のグループ管理テーブル600を自身のアクセスポリシデータベース308内に記憶する(ステップ3312)。
次に、グループメンバ管理テーブル800を作成するともに、グループに既に属している各ノード100に、自身の参加を通知する新メンバ通知処理3710を行なう(ステップ3313)。
そして、今までのステップで記録されたグループ管理テーブル600の情報およびグループメンバ管理テーブル800の情報とを用い、各ノード100とのIPsec通信に用いるセキュリティアソシエーション900を生成し(ステップ3314)、処理が終了したことを制御部3100に通知する。
ここで、新メンバ通知処理3710についてその処理手順を説明する。図15にその処理手順を示す。
新メンバ通知処理3710では、グループ管理テーブル600内のホスト名フィールド606に格納されているホストごとに順に、ICMP Echo Request/ReplyによりIPアドレスを取得し(ステップ3712)、グループメンバ管理テーブル800に、ホスト名ごとに取得したIPアドレスを登録する(ステップ3713)。
上記のステップで取得した、グループを構成する各ノード100のIPアドレスに対して加入コマンドを生成し(ステップ3714)、それを送信する(ステップ3715)。
そして、次のホスト名を読み出して、ステップ1330から1360の処理を繰り返す(ステップ3316)。ここで、読み出したホスト名が自身のホスト名の場合は、何も処理を行わず、次のホスト名を読み出す(ステップ3711)。
そして、グループ管理テーブル600のホスト名格納フィールド606に格納されている、自身のノード100を除く全てのノードに対して以上の処理を終えると(ステップ3717)、グループ内への新メンバ通知処理1330を終える。
以上、グループ参加処理3310について説明した。
次に、グループ離脱処理3410について、図16を用いて説明する。
制御部3100から処理開始の指示を受けると、グループ離脱処理部3400は、ノード100内のグループ管理テーブル600のホスト名格納部606に登録されているホスト名を順番に読み出す(ステップ3311)。
ここで、読み出したホスト名が自ホスト名と一致した場合は、次のホスト名を読み出す。
読み出したホスト名が自ホスト名と一致しない場合は、グループメンバ管理テーブル800から読み出したホスト名に対応するIPアドレスを検索する(ステップ3312)。以後、このIPアドレスを検索したIPアドレスと呼ぶ。
次に、送信先IPアドレスを検索したIPアドレスとした離脱コマンドを作成し(ステップ3313)、その送信先IPアドレスを有するノード100に送信する(ステップ3314)。
グループ離脱処理部3400は、自身の保有するグループメンバ管理テーブル800から以上の操作を行なった検索したIPアドレスに係わるデータを削除する(ステップ3315)。
次に、SAデータベース309に記憶されているセキュリティアソシエーション900から検索したIPアドレスと等しい送信先IPアドレスを持つものを抽出し、そのセキュリティアソシエーション900を削除する(ステップ3316)。
また、検索したIPアドレスと等しい送信元IPアドレスを持つセキュリティアソシエーション900を抽出し、それを削除する(ステップ3317)。
グループ離脱処理部3400は、グループ管理テーブル600に登録されている全てのホスト名に対して、以上のステップ3311〜ステップ3317の処理を実行した後(ステップ3318)、自身が保有するグループ管理テーブル600を削除し(ステップ3319)、グループ離脱処理3310を終了する。そして、制御部3100に処理終了を通知する。
次に、上記のグループ参加処理3310内のグループ内への新メンバ通知処理3710のステップ3715およびグループ離脱処理3310のステップ3314において送信された、それぞれ加入コマンドおよび離脱コマンドを受信した場合の各ノード100側での処理を以下に説明する。
本処理は、グループ制御IPパケット受信処理部3600によって行なわれ、グループ制御IPパケット受信処理3610と呼ぶ。図17に本処理の手順を示す。
グループを構成する各ノード100は、ネットワークインタフェース受信処理部310においてグループ制御IPパケットを受信すると、IP受信部314、TCP/UDP受信処理部315を経てグループ管理処理部302のグループ制御IPパケット受信処理部3600へ受け渡す。
受信したグループ制御IPパケット受信処理部3600は、コマンド識別子格納部1001に設定されているコマンド識別子が加入であるか否かを確認する(ステップ3611)。
ステップ3611でコマンド識別子が加入を示す(00)hexであった場合、すなわち、加入コマンドを受信した場合、ステップ3612に進み、グループ制御IPパケットのホスト名1003に設定されている加入コマンドを送信してきたノード100のホスト名をグループ管理テーブル600に登録する(ステップ3612)。
そして、グループメンバ管理テーブル800に、加入コマンドを送信してきたノード100のホスト名と、グループ制御IPパケットのIPアドレス格納部1002に設定されているそのIPアドレスとを登録する(ステップ3613)。
次に、グループ制御IPパケット受信処理部3600は、送信用、すなわち、自身のノード100から加入コマンドを送信してきた新規に加入したノード100方向の送信、および、受信用、すなわち、加入コマンドを送信してきた新規に加入したノード100から自身のノード100方向の送信、各々のセキュリティアソシエーション900を作成する処理を行なう(ステップ3614、3615)。
次に、ステップ3611でコマンド識別子が離脱を示す(01)hexであった場合、すなわち、離脱コマンドを受信した場合、グループ制御IPパケット受信処理部3600は、ステップ3616に進む。
ここで、グループ制御IPパケット受信処理部3600は、SAデータベース309に記憶されているセキュリティアソシエーション900から、受信したグループ離脱コマンドのデータ部1000のIPアドレス1002に格納されているIPアドレスと等しい送信先IPアドレスを持つものを抽出し、抽出したセキュリティアソシエーションを削除する(ステップ3616)。
次に、受信した離脱コマンドのIPアドレス1002と等しいIPアドレスを有するデータをグループメンバ管理テーブル800から削除し(ステップ3617)、受信した離脱コマンドのホスト名1003に格納されているホスト名と等しいホスト名を、自ノード100上のグループ管理テーブル600から削除する(ステップ3618)。
グループ内の全てのノード100において以上の手順を行なうことにより、全てのノード100が保有する離脱したノード100に対応するセキュリティアソシエーション900を削除し、また、グループ管理テーブル600から、離脱したノード100の情報を削除する。
以上のようにして、グループを構成するノード100に新規加入または離脱といった変更があった場合、当該ノード100から送信されるグループ制御IPパケットを受信した他のノード100において、自身の保有するセキュリティアソシエーションおよびグループ管理テーブル600が更新される。
以上、グループ制御IPパケット受信処理を説明した。
ここまで、グループ管理処理部302による、グループの生成、参加、離脱などのグループ管理処理について説明した。
次に、上記の手順で生成され管理されているグループ内で、アプリケーションを互いに利用する手順を以下に説明する。
アプリケーションの利用は、IPパケットを互いに送受することによって行なわれる。まず、このIPパケットの送受信について説明する。
前述のように、IPsec通信を行うために予め設定の必要なセキュリティアソシエーション900は、グループ管理処理302において、新たなグループ構成メンバが追加される際に生成される。すなわち、グループに属している限り、IPsec通信は可能である。
IPパケットを送信するにあたり、IPsec送信処理部306は、送信するIPヘッダの送信先IPアドレスをキーに、SAデータベース309を検索し、対応するIPアドレスが送信先IPアドレスとして格納されているセキュリティアソシエーション900を抽出する。抽出したセキュリティアソシエーション900に登録されている情報に基づき、IPsec処理を行い、IPv6送信後処理307を行い、ネットワークインタフェース送信処理部を介して、送信先ノードにIPパケットを送信する。
次に、IPパケット受信時の処理手順を図18を用いて説明する。
ネットワークインタフェース受信処理部310を介してIPパケットを受信すると、IPv6受信前処理部311は、IPv6受信前処理を行い(ステップ4010)、受信したIPヘッダ内の、AHヘッダの有無をチェックする(ステップ4020)。
受信したIPヘッダ内にAHヘッダ401があると判断したならば、そのIPパケットをIPsec受信処理部312に受け渡す。
受け取ったIPsec受信処理部312は、後述するIPsec受信処理3120を行い(ステップ4030)、IPv6受信後処理部313にIPパケットを受け渡す。
そして、IPv6受信後処理部313は、IPv6受信後処理3130を行い(ステップ4040)、処理を終了する。
なお、ここで、IPv6受信後処理部313は、IPv6受信後処理3130を終えた受信したパケットをTCP/UDP受信処理部315に受け渡す。受け取ったTCP/UDP受信処理部315は、受け取ったパケットの受信処理を行い、アプリケーション301に受信データとして渡す。
ステップ4020で、上記のヘッダがないと判断した場合、そのIPパケットを受信アクセス制御部316に受け渡す。
受け取った受信アクセス制御部316は、それがICMPパケットであるか否かチェックする(ステップ4050)。
ステップ4050で、受信したIPパケットが、ICMPパケットであると判断されたならば、そのままIPv6受信後処理部313に受け渡し、IPv6受信後処理3130を行い(ステップ4040)、処理を終了する。
ステップ4050で、ICMPパケットではないと判断されたならば、受信アクセス制御部316は、そのIPパケットをグループ外のノード100から送信されたグループ外IPパケットであると判断し、後述するグループ外IPパケット受信処理3160を行い(ステップ4060)、処理を終了する。
次に、上記のIPsec処理3120について説明する。
IPsec処理部312は、AHヘッダを有するIPパケットを受信すると、IPヘッダの送信元IPアドレス、送信先IPアドレス、AHヘッダ401に設定されているSPIが一致するセキュリティアソシエーション900をSAデータベース309から抽出する。
そして、抽出したセキュリティアソシエーション900に記憶されている認証鍵を用いて受信したIPパケットの認証情報を作成し、AHヘッダ401に設定されている認証情報と比較する。
両者が一致していれば、受信したIPパケットをグループに属する正当なノード100からの送信とみなし、IPv6受信後処理部313に受け渡す。そして、一致しない場合は、そのIPパケット破棄する。
以上IPsec処理3120について説明した。
次に、受信アクセス制御部316によるグループ外パケット受信処理3160について説明する。
以上のように、本実施形態においては、グループに属するノード100は、グループ外のノード100から、AHヘッダを有するIPパケットを受信した場合は、IPsec通信処理部312において、また、AHヘッダを有しないIPパケットを受信した場合は、IPv6受信前処理部311において、当該IPパケットが、IPv6受信後処理部313、TCP/UDP受信処理部315を介してアプリケーション301に到達することを排除している。
しかし、本実施形態においては、ノード100によっては、その保有するアプリケーションの利用を、グループ外のノード100にも開放しているものがある。前述したように、このようなアプリケーションを有するノード100は、アプリケーションごとのポート番号を、アクセス制御対象アプリケーション管理テーブル700において管理している。
グループ外のノード100からAHヘッダを有するIPパケットを受信した場合は、そのIPパケットを復号することができないため、それはIPsec通信処理部312において破棄することは先に説明した。
グループ外IPパケット受信処理3160は、グループ外のノード100から通常のIPパケットを受信した際に、グループ外のノード100に開放しているアプリケーションに当該IPパケットを送達する処理である。
グループ外IPパケット受信処理3160では、IPパケットを受け取ったノード100が、グループ外のノード100に対し何らサービス機能を提供しない場合、アクセスエラーをデータとして格納したIPパケットを送信元に対して送信し、受信したIPパケットは破棄する。これに対し、グループ外のノード100に対して何らかのサービス機能を提供する場合は、アクセス制御対象アプリケーション管理テーブル700の登録に従って、アプリケーションを提供するよう制御している。
以下にその手順を図19を用いて説明する。
受信アクセス制御部316は、IPv6受信前処理部311からICMPパケットではないIPパケットを受信した場合、当該IPパケットから読取った送信先ポート番号とアクセス制御対象アプリケーション管理テーブル700に登録されているポート番号701との比較を行なう(ステップ3161)。
アクセス制御対象アプリケーション管理テーブル700には、グループ外のノードに利用が許可されているアプリケーションのポート番号が登録されているため、両者が一致した場合、サービス機能を要求元ノード100に提供できることとなる。
この場合、受信アクセス制御部316は、受け取ったIPパケットをIPv6受信後処理部313に受け渡し、受け取ったIPv6受信後処理部313は、IPv6受信後処理3130を行なう(ステップ3164)。
そして、IPv6受信後処理部313から処理されたIPパケットを受け取ったTCP/UDP受信処理部315は、それを、アプリケーション301に受け渡す。
ステップ3161において、ポート番号が一致しない場合は、提供できるサービス機能がないため、受信アクセス制御部316は、アクセスエラーをデータとして格納したIPパケットを生成しIP送信部304から送信元に送信し(ステップ3162)、受信したIPパケットは破棄する(ステップ3163)。
以上、グループ外IPパケット受信処理について説明した。
このように、本実施形態においては、グループ内のノード100間ではIPsec通信を行い、グループ外のノード100とは通常のIPパケットによる通信を行うことで、アクセス制御対象アプリケーション管理テーブル700で管理している各アプリケーションのポート番号に従って、アプリケーションごとにグループ内外のアクセス許可を制御することができる。これにより、一つのノード100において、グループだけで利用するサービス機能と、誰もが利用できるサービス機能とを実装し、それぞれへのアクセス制御を可能としている。
本実施形態によれば、ホームネットワークを構成するノード100において作成したグループ鍵を含むIPsec通信に必要な情報を、共通のメモリカードを介して、利用者が相互に利用することを許可する各ノード100に配布する。
配布されたノード100は、グループに所属している他のノード100とIPsec通信ができるように、セキュリティアソシエーション900を設定するとともに、新規加入したことを、グループに所属している他のノード100に通知する。
通知を受けたノード100は、それぞれ、新規に加入したノード100とのIPsec通信ができるように、セキュリティアソシエーション900を設定する。
以上のように、本実施形態では、例えば、通信を開始する際に認証サーバ、あるいは鍵管理手段を備えた装置等といったグループを構成する機器以外の装置を介さずに、互いに認証可能で安全な通信を行なうことのできるグループを、そのグループを構成する機器が、容易に生成し管理することを実現している。
また、グループを生成し管理するために必要な情報を、メモリカードといった記憶媒体を介して各ノードに与えること、および、グループの生成、グループへの参加、および、グループからの離脱の指示を各ノードに与えることを実現している。
このように、本実施形態では、サーバなどの特別な機器を設けることなく、また、複数のマスタ鍵などを備えたICカードを用意してグループを構成する機器それぞれに予めセットしておくなどの事前の準備をすることなく、グループを構成する機器間でのみ、容易にIPsec通信可能な環境を構築できる。
また、本実施形態では、一つのノードに、グループ内のノードのみ利用できるアプリケーションとグループ外のノードも利用できるアプリケーションとが実装されている場合も容易にそれぞれのアクセス制御を実現できる。
なお、本実施形態では、グループ生成、加入、離脱時の指示を行なう際に利用する記憶媒体としてメモリカードを例にあげ、説明したが、利用する記憶媒体はこれに限られない。可搬型の記憶媒体であり、各ノードがそのインタフェースを備えていれば、どのような記憶媒体であってもよい。
また、本実施形態では、IPsec通信を行うために必要な情報の授受を記憶媒体で行なうといった設定としたが、これに限られない。例えば、各ノードに入力装置を備え、ユーザが入力するようにしてもよい。
さらに、グループからの離脱処理を開始するきっかけとして、空のメモリカードの入力を例にあげ説明したが、これに限られない。例えば、各ノードがリセットボタンを備え、ユーザがそのリセットボタンを介して離脱処理を開始する指示を与えるようにしてもよい。
また、LEDを備えることにより、利用者に対しグループ生成、加入処理の終了を通知する事を実現している。通知のための機能も、これに限られない。
なお、本発明は上記の実施形態に限定されるものではなく、その要旨の範囲内で様々な変形が可能である。
例えば、上記の実施形態では、宅内のネットワークを例にとり説明したが、本発明はこれに限定されない。本発明は、互いに認証を必要とする様々なネットワークシステムに広く適用できる。
本実施形態においては、特別に認証サーバまたは鍵管理手段を備えた装置を保有しなくても、グループを構成する機器間で、互いにグループ構成機器であることを認証し、安全な通信を実現するグループを容易に生成し、管理することができる。
また、機器がグループ内の機器にのみ提供するアプリケーションとグループ外の機器に提供するアプリケーションとを有する場合、そのアクセス制御を簡単な構成にて行なうことができる。
Claims (7)
- ネットワークを介して接続された他のネットワーク機器と通信を行なうネットワーク機器であって、
互いに認証可能な前記ネットワーク機器をグループとして管理するグループ管理手段と、
前記グループ所属するネットワーク機器間で共通の暗号化鍵による暗号通信を行う暗号通信手段と、
前記暗号化鍵の情報と前記グループに所属するネットワーク機器のホスト名およびアドレスを含む識別情報とを含む、前記グループに所属するネットワーク機器と暗号通信を行うために必要な暗号通信情報を格納する記憶手段と、
外部から情報を取得する取得手段と、を備え、
前記グループ管理手段は、
前記記憶手段に前記暗号通信情報が格納されていない状態で、前記取得手段において前記暗号通信情報を取得すると、当該暗号通信情報を前記記憶手段に格納するとともに、前記暗号通信手段を介して自身の識別情報を前記グループに所属するネットワーク機器に送信し、
前記暗号通信手段を介して他のネットワーク機器から当該他のネットワーク機器の識別情報を取得すると、前記記憶手段に記憶している前記暗号通信情報に当該識別情報を追加する
ことを特徴とするネットワーク機器。 - 請求項1記載のネットワーク機器であって、
前記グループ管理手段は、さらに、
前記取得手段においてグループから離脱する指示を受け付けると、前記記憶手段に記憶されている前記グループに所属する全てのネットワーク機器に、前記暗号通信手段を介して自身のネットワーク機器の離脱を通知するとともに、前記記憶手段から前記暗号通信情報を削除し、
前記暗号通信手段を介して他のネットワーク機器から、当該他のネットワーク機器が離脱する通知を受け付けると、前記記憶手段に記憶している前記暗号通信情報から、当該他のネットワーク機器の識別情報を削除する、
ことを特徴とするネットワーク機器。 - 請求項1または2記載のネットワーク機器であって、
前記取得手段は、記憶媒体のインタフェースであり、
前記グループ管理手段は、さらに、
前記記憶手段に前記暗号通信情報が格納されている状態で、前記暗号通信情報が格納された記憶媒体が前記取得手段に挿入された場合、前記記憶手段に格納されている暗号通信情報を前記記憶媒体にコピーすること
を特徴とするネットワーク機器。 - 請求項1、2、または、3記載のネットワーク機器であって、
非暗号通信を行なう非暗号通信手段と、
前記ネットワーク機器が提供するサービスに対するアクセスを制御するアクセス制御手段とをさらに備え、
前記アクセス制御手段は、前記非暗号通信手段を介して他のネットワーク機器からアクセスがあった場合、前記アクセスが予め定められたポートに対するものである場合、前記アクセスを許可すること
を特徴とするネットワーク機器。 - 複数のネットワーク機器と、前記複数のネットワーク機器を接続するネットワークとを備えたネットワークシステムにおいて、
前記複数のネットワーク機器は、請求項1〜4記載のネットワーク機器であることを特徴とするネットワークシステム。 - ネットワークを介して接続された他の機器と、互いに認証可能な暗号通信を行なうグループを管理するグループ管理方法であって、
前記ネットワークに接続された一つの機器において、前記暗号通信に用いる暗号化鍵を生成し、当該暗号化鍵と自機器のホスト名とアドレスとを含む識別情報とを暗号通信情報として保有するグループ生成ステップと、
前記暗号通信情報を取得した機器において、前記暗号通信情報に前記識別情報が格納されている全機器に自身の識別情報と参加を示す情報とを前記暗号通信により通知し、当該暗号通信情報に自身の識別情報を追加して保有する第1のグループ参加ステップと、
当該識別情報と前記参加を示す情報とを受けた機器において、自身が保有する前記暗号通信情報に当該識別情報を追加する第2のグループ参加ステップと、
前記グループから離脱する指示を受け付けた機器において、自身を除く前記暗号通信情報に前記識別情報が格納されている全機器に離脱を示す情報と自身の識別情報とを前記暗号通信により通知し、自身の保有する前記暗号通信情報を削除する第1のグループ離脱ステップと、
当該離脱の通知を受けた機器において、自身が保有する前記暗号通信情報から通知を受けた識別情報を削除する第2のグループ離脱ステップと、
を備えることを特徴とするグループ管理方法。 - コンピュータを、
暗号通信に用いる暗号化鍵を生成し、当該暗号化鍵と自身のホスト名およびアドレスを含む識別情報とを暗号通信情報として保有するグループ生成手段と、
前記暗号通信情報を取得すると、前記暗号通信情報に前記識別情報が格納されている全機器に自身の識別情報と参加を示す情報とを前記暗号通信により通知し、前記暗号通信情報に前記自身の識別情報を追加して保有する第1のグループ参加手段と、
他の機器から当該機器の識別情報と参加を示す情報とを受信すると、自身が保有する前記暗号通信情報に当該識別情報を追加する第2のグループ参加手段と、
前記暗号通信情報を削除する指示を受け付けると、自身を除く前記暗号通信情報に前記識別情報が格納されている全機器に離脱を示す情報と前記自身の識別情報とを前記暗号通信により通知し、自身の保有する前記暗号通信情報を削除する第1のグループ離脱手段と、
他の機器の識別情報と前記離脱を示す情報とを受信すると、自身が保有する前記暗号通信情報から受信した識別情報を削除する第2のグループ離脱手段、
として機能させるためのプログラム。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002375123 | 2002-12-25 | ||
JP2002375123 | 2002-12-25 | ||
PCT/JP2003/016737 WO2004059903A1 (ja) | 2002-12-25 | 2003-12-25 | ネットワーク機器、ネットワークシステム、および、グループ管理方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPWO2004059903A1 true JPWO2004059903A1 (ja) | 2006-05-11 |
Family
ID=32677326
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2004562942A Pending JPWO2004059903A1 (ja) | 2002-12-25 | 2003-12-25 | ネットワーク機器、ネットワークシステム、および、グループ管理方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20060155981A1 (ja) |
JP (1) | JPWO2004059903A1 (ja) |
WO (1) | WO2004059903A1 (ja) |
Families Citing this family (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4660100B2 (ja) * | 2004-02-26 | 2011-03-30 | 三洋電機株式会社 | サーバ装置 |
US7697545B1 (en) * | 2004-07-14 | 2010-04-13 | Computer Associates Think, Inc. | Discovery of component relationships in distributed data processing networks |
US8365301B2 (en) * | 2005-02-22 | 2013-01-29 | Microsoft Corporation | Peer-to-peer network communication |
JP4770227B2 (ja) * | 2005-03-28 | 2011-09-14 | 株式会社日立製作所 | Sipメッセージの暗号化方法,および暗号化sip通信システム |
US7826362B2 (en) * | 2005-03-30 | 2010-11-02 | Cisco Technology, Inc. | Upstream data rate estimation |
US8379638B2 (en) * | 2006-09-25 | 2013-02-19 | Certes Networks, Inc. | Security encapsulation of ethernet frames |
JP4953801B2 (ja) * | 2006-12-25 | 2012-06-13 | パナソニック株式会社 | パスワード設定方法、映像受信システム、プログラム、および記録媒体 |
US20080298592A1 (en) * | 2007-05-29 | 2008-12-04 | Mohamed Khalid | Technique for changing group member reachability information |
EP2249200A4 (en) * | 2008-02-27 | 2011-11-30 | Sharp Kk | ACTIVE MATRIX SUBSTRATE, LIQUID CRYSTAL DISPLAY, LIQUID CRYSTAL DISPLAY DEVICE, LIQUID CRYSTAL DISPLAY UNIT AND TELEVISION |
US9591002B2 (en) * | 2008-04-15 | 2017-03-07 | Telefonaktiebolaget Lm Ericsson (Publ) | Method and system for providing trustworthiness of communication |
US8726274B2 (en) * | 2010-09-10 | 2014-05-13 | International Business Machines Corporation | Registration and initialization of cluster-aware virtual input/output server nodes |
US9400799B2 (en) * | 2010-10-04 | 2016-07-26 | Dell Products L.P. | Data block migration |
JP5824326B2 (ja) * | 2011-10-28 | 2015-11-25 | キヤノン株式会社 | 管理装置、管理方法、およびプログラム |
SG11201403482TA (en) * | 2011-12-21 | 2014-07-30 | Ssh Comm Security Oyj | Automated access, key, certificate, and credential management |
US8997193B2 (en) * | 2012-05-14 | 2015-03-31 | Sap Se | Single sign-on for disparate servers |
JP6309706B2 (ja) * | 2012-09-06 | 2018-04-11 | Necネットワーク・センサ株式会社 | 計算機、計算機システム及び共有メモリ制御方法 |
US9853826B2 (en) | 2013-02-25 | 2017-12-26 | Qualcomm Incorporated | Establishing groups of internet of things (IOT) devices and enabling communication among the groups of IOT devices |
JP6368531B2 (ja) * | 2014-04-28 | 2018-08-01 | 達広 白井 | 暗号処理装置、暗号処理システム、および暗号処理方法 |
US10051000B2 (en) * | 2015-07-28 | 2018-08-14 | Citrix Systems, Inc. | Efficient use of IPsec tunnels in multi-path environment |
US9973507B2 (en) * | 2016-02-10 | 2018-05-15 | Extreme Networks, Inc. | Captive portal having dynamic context-based whitelisting |
US10966091B1 (en) * | 2017-05-24 | 2021-03-30 | Jonathan Grier | Agile node isolation using packet level non-repudiation for mobile networks |
US10848500B2 (en) * | 2018-10-24 | 2020-11-24 | Jamf Software, Llc | Systems and methods for group-based mobile device management |
JP7234726B2 (ja) * | 2019-03-20 | 2023-03-08 | 富士フイルムビジネスイノベーション株式会社 | 通信装置、通信システム、及びプログラム |
Family Cites Families (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3468993B2 (ja) * | 1996-07-23 | 2003-11-25 | 株式会社東芝 | 通信制御装置及びその方法 |
US6118771A (en) * | 1996-03-14 | 2000-09-12 | Kabushiki Kaisha Toshiba | System and method for controlling communication |
US5809140A (en) * | 1996-10-15 | 1998-09-15 | Bell Communications Research, Inc. | Session key distribution using smart cards |
JPH1173398A (ja) * | 1997-06-03 | 1999-03-16 | Toshiba Corp | 分散ネットワークコンピューティングシステム、同システムに用いられる情報交換装置、同システムに用いられるセキュリティ機能を有する情報交換方法、この方法を格納したコンピュータ読取り可能な記憶媒体 |
US6195751B1 (en) * | 1998-01-20 | 2001-02-27 | Sun Microsystems, Inc. | Efficient, secure multicasting with minimal knowledge |
JPH11338798A (ja) * | 1998-05-27 | 1999-12-10 | Ntt Communication Ware Kk | ネットワークシステムおよびプログラムを記録したコンピュータ読み取り可能な記録媒体 |
JP3644579B2 (ja) * | 1998-10-29 | 2005-04-27 | 富士通株式会社 | セキュリティ強化方法及び装置 |
JP2000201146A (ja) * | 1999-01-07 | 2000-07-18 | Nippon Telegr & Teleph Corp <Ntt> | 同報通信グル―プを制御する通信方法および当該通信方法を記述したプログラムを記録した記録媒体 |
US6606706B1 (en) * | 1999-02-08 | 2003-08-12 | Nortel Networks Limited | Hierarchical multicast traffic security system in an internetwork |
JP2000332747A (ja) * | 1999-05-21 | 2000-11-30 | Mitsubishi Electric Corp | 閉域通信システム |
JP2001345992A (ja) * | 2000-06-05 | 2001-12-14 | Murata Mach Ltd | ファクシミリ装置 |
JP3805610B2 (ja) * | 2000-09-28 | 2006-08-02 | 株式会社日立製作所 | 閉域グループ通信方法および通信端末装置 |
US7403980B2 (en) * | 2000-11-08 | 2008-07-22 | Sri International | Methods and apparatus for scalable, distributed management of virtual private networks |
US7995603B2 (en) * | 2001-05-22 | 2011-08-09 | Nds Limited | Secure digital content delivery system and method over a broadcast network |
JP2003069547A (ja) * | 2001-08-29 | 2003-03-07 | Fujitsu Ltd | マルチキャスト通信システム |
US7246232B2 (en) * | 2002-05-31 | 2007-07-17 | Sri International | Methods and apparatus for scalable distributed management of wireless virtual private networks |
WO2003107154A1 (en) * | 2002-06-18 | 2003-12-24 | Honeywell International Inc. | Master dongle for a secured data communications network |
US7475241B2 (en) * | 2002-11-22 | 2009-01-06 | Cisco Technology, Inc. | Methods and apparatus for dynamic session key generation and rekeying in mobile IP |
-
2003
- 2003-12-25 US US10/540,768 patent/US20060155981A1/en not_active Abandoned
- 2003-12-25 WO PCT/JP2003/016737 patent/WO2004059903A1/ja active Application Filing
- 2003-12-25 JP JP2004562942A patent/JPWO2004059903A1/ja active Pending
Also Published As
Publication number | Publication date |
---|---|
WO2004059903A1 (ja) | 2004-07-15 |
US20060155981A1 (en) | 2006-07-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JPWO2004059903A1 (ja) | ネットワーク機器、ネットワークシステム、および、グループ管理方法 | |
US7680878B2 (en) | Apparatus, method and computer software products for controlling a home terminal | |
US8205074B2 (en) | Data communication method and data communication system | |
US9154487B2 (en) | Registration server, gateway apparatus and method for providing a secret value to devices | |
US7526641B2 (en) | IPsec communication method, communication control apparatus, and network camera | |
JP2006005909A (ja) | 情報処理装置、情報処理方法および情報処理プログラム | |
WO2001067708A2 (en) | Authenticated dynamic address assignment | |
KR20050040937A (ko) | 홈 단말 장치 및 통신 시스템 | |
JP3944182B2 (ja) | セキュリティ通信方法 | |
US8055780B2 (en) | Method of managing information and information processing apparatus | |
JP4367002B2 (ja) | ネットワーク機器、ネットワークシステム、および、グループ管理方法 | |
CN109005179A (zh) | 基于端口控制的网络安全隧道建立方法 | |
US8014406B2 (en) | System and method of inserting a node into a virtual ring | |
US10547589B2 (en) | System for implementing a small computer systems interface protocol over a content centric network | |
CN102668450A (zh) | 基于身份的网络策略实现 | |
US20080118005A1 (en) | Receiving apparatus and receiving method | |
JP4886712B2 (ja) | アクセス制御システム、アクセス制御方法、アクセス制御装置およびアクセス制御プログラム | |
JP2006109152A (ja) | ネットワーク上で通信を行う接続要求機器、応答機器、接続管理装置、及び通信システム | |
JP2006019824A (ja) | セキュア通信システム、管理装置および通信端末 | |
JP2005260448A (ja) | 1対多セキュア通信システムおよび通信管理装置ならびに方法 | |
TWI289015B (en) | IPv6 address-generating and translating method of IPv6 stateless automatic address-setting protocol | |
EP1615402A2 (en) | Identification and authentication system and method for a secure data exchange | |
JP2024515154A (ja) | セキュアキー管理デバイス、認証システム、広域ネットワーク、およびセッションキーを生成する方法 | |
JP2024058572A (ja) | クロスドメインセキュアコネクション転送方法 | |
JP2006197094A (ja) | 通信システム |