(58)【調査した分野】(Int.Cl.,DB名)
自機と他機との間の機器間接続方法において、前記自機は、前記他機のオブジェクトにアクセスしたとき、前記他機のオブジェクトが、前記自機のオブジェクトのグループの鍵を自グループの鍵として有する場合、前記自機のオブジェクトのグループの鍵を親グループの鍵として有する場合、または、前記自機のオブジェクトのグループの親グループの鍵を自グループの鍵として有する場合のいずれかの条件を満たす場合に、前記自機のオブジェクトが前記他機のオブジェクトにアクセス可能と判断し、
前記自機は、前記アクセス可能と判断した前記他機のオブジェクトを、機器間で状態が共有される共有オブジェクトに設定し、前記アクセス可能と判断しなかった前記他機のオブジェクトを、機器間で状態が共有されない分離オブジェクトに設定する共有設定を行い、
前記共有設定に基づき、前記他機の共有オブジェクトとの接続を許可し、前記機器間で共有するオブジェクトとして用いる一方、前記他機の分離オブジェクトとの接続を拒否し、前記機器間で共有しないオブジェクトとして用いることを特徴とする機器間接続方法。
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、上記従来の技術では、データすなわち、オブジェクトの種別に応じた共有の可否を設定することができない。
【0005】
本発明は、上記課題に鑑み、オブジェクトの種別に応じた共有の可否を容易に設定できることを目的とする。
【課題を解決するための手段】
【0006】
上記目的を達成するため、本発明の機器間接続方法は、自機と他機との間の機器間接続方法において、前記自機は、前記他機のオブジェクトにアクセスしたとき、前記自機のオブジェクトと前記他機のオブジェクトとが同一グループの同一鍵を有している場合にのみ、前記自機のオブジェクトが前記他機のオブジェクトにアクセス可能と判断する、ことを特徴とする。
【0007】
また、前記自機は、当該自機のグループの親子関係を含めた鍵を生成し、前記他機のオブジェクトにアクセスしたとき、前記他機のオブジェクトが前記自機と同一グループの親鍵を有している場合には、前記他機のオブジェクトにアクセス可能と判断する、ことを特徴とする。
【0008】
前記自機は、前記アクセス可能と判断した前記他機のオブジェクトを共有オブジェクトとすることを特徴とする。
【0009】
また、本発明のオブジェクト共有機器は、自機のオブジェクトと他機のオブジェクトを共有するオブジェクト共有機器において、前記自機は、前記他機のオブジェクトにアクセスしたとき、前記自機のオブジェクトと前記他機のオブジェクトとが同一グループの同一鍵を有している場合にのみ、前記自機のオブジェクトが前記他機のオブジェクトにアクセス可能と判断する制御部を備えた、ことを特徴とする。
【0010】
また、前記自機は、当該自機のグループの親子関係を含めた鍵を生成し、前記他機のオブジェクトにアクセスしたとき、前記他機のオブジェクトが前記自機と同一グループの親鍵を有している場合には、前記他機のオブジェクトにアクセス可能と判断する、ことを特徴とする。
【0011】
また、前記自機は、前記アクセス可能と判断した前記他機のオブジェクトを共有オブジェクトとすることを特徴とする。
【0012】
上記構成によれば、自機のオブジェクトは、同一グループの同一鍵を持つオブジェクト、あるいは自グループの親鍵を持つオブジェクトとのみ接続することができるようになる。
【発明の効果】
【0013】
本発明によれば、オブジェクトの種別に応じた共有の可否を容易に設定できるという効果を奏する。
【発明を実施するための形態】
【0015】
(実施の形態)
以下に添付図面を参照して、この発明にかかる機器間接続方法およびオブジェクト共有機器の好適な実施の形態を詳細に説明する。
【0016】
(SharedとIsolatedオブジェクトについて)
図1は、SharedとIsolatedオブジェクトを説明する図である。はじめに、Shared(共有)とIsolated(個別)オブジェクトについて説明しておく。リモートオブジェクトには、呼出し元のアプリケーション間で共有されるSharedオブジェクト101と、同アプリケーション間で共有されず、互いに分離されるIsolatedオブジェクト102がある。
【0017】
例えば、
図1(a)に示すように、物理的な実体が装置のスイッチやLED110などを表すオブジェクトは、物理的に単一の物として特定されるものを表しており、すべての呼出し元(Calling Object1〜3)131a〜131c間で同一の状態を示さなければならないものであるため、Sharedオブジェクト101とすることが望ましい。
【0018】
図1(b)に示すように、共有オブジェクト(Sharedオブジェクト)101は、スイッチやLED110など、物理的に単一の物に特定でき、状態が呼出し元131a〜131c間で共有されなければならないオブジェクトである。
【0019】
一方、
図1(a)に示すように、物理的な実体がファイル120の入出力クラスのように、呼出し元(Calling Object1〜3)131a〜131c間で個別の処理を表すオブジェクトは共有されず、それぞれ分離されたIsolatedオブジェクト102とすることが望ましい。この共有・分離は、コンフィギュレーションで設定する。
【0020】
図1(b)に示すように、分離オブジェクト(Isolatedオブジェクト)102は、ファイル120の入出力のように、呼出し元131a〜131c別に固有の状態を持っていなければならないオブジェクトは、他の呼出し元とは分離されたものである必要がある。例えば、呼出し元1(131a)がread操作を行った後、別の呼出し元(131b)がread操作を行っても、呼出し元1(131a)が次に読み出すオフセットは、呼出し元2(131b)のread操作によって変わってはならない。
【0021】
(機器間接続の鍵生成について)
図2は、機器間接続のセキュリティを維持する鍵生成を説明する図である。実施の形態の機器間接続のシステムでは、互いにネットワーク等を介して通信接続する機器と機器をシームレスに繋げる。この際、機器間が無条件に繋がるのではなく、繋がる相手は厳密なセキュリティが規定されている。そのセキュリティを提供するのが、鍵生成である。
【0022】
図2に示す鍵生成部(Key Generator)200は、暗号鍵を生成するための鍵の素(ファイル)201の入力により、鍵ファイル202を生成する。鍵(暗号鍵)を生成する際の入力に必要なデータを以下に示す。
【0023】
1)ユーザID
ユーザID211は、鍵の素(ファイル)201として、暗号鍵を生成するための鍵生成部(Key Generator)200に取り込まれる。Key Generator200を使用する際には、ユーザID211に紐づくユーザ名を選択する。
【0024】
2)グループ名
機器同士を接続する際には、同一グループでなければならないため、グループで使える鍵Kを発行する。グループ名212は、グループを識別するために用いられ、同一ユーザID内ではユニークである必要がある。
【0025】
3)親グループ名
グループGの親となる親グループ名213を指定する。指定した親グループとも接続できるようになる。指定した親グループ自身に、親グループが指定されている場合には、さらにその上の親についても、アクセスが可能となる。この「アクセス可能な範囲」をスコープと規定する。
【0026】
4)暗号方式
暗号方式214は、AES(Advanced Encryption Standard)や、Blowfish等の暗号化方式および鍵のビット長を指定する。暗号方式214を複数指定した場合には、暗号のエスカレーション(最適化)を実施する。
【0027】
5)有効数
有効数215は、暗号鍵として有効な機器の個数を指定する。鍵を発行すると鍵の素(ファイル)201に設定されている最大鍵発行数から有効数が減る。残っている鍵の個数を上回って有効数を指定することはできない。
【0028】
例えば、機器の表示部220上には、鍵生成部(Key Generator)200に入力される上記1)〜5)の鍵の素201の各情報が表示され、暗号鍵発行のボタン221の操作により、上記1)〜5)の各情報に基づき、鍵ファイル202が生成される。
【0029】
図3は、実施の形態の鍵生成部により生成される鍵ファイルを示す図表である。鍵生成部200が生成する鍵ファイル202は、
図2に示したように、ユーザID211、グループ名212、親グループ名213、暗号方式214別の暗号鍵215、からなる。
図3の例では、暗号方式1(214a)の暗号鍵1(215a)と、暗号方式2(214b)の暗号鍵2(215b)を有している。
【0030】
生成された鍵ファイル202は、機器のセキュア領域に保存され、機器の制御部は、ポーティング層によってセキュアな領域から鍵ファイル202を取得する。1つの機器の中には、複数の鍵ファイル202を保存し、利用することができる。
【0031】
(ハードウェア構成例)
図4は、実施の形態にかかる機器のハードウェア構成例を示すブロック図である。上述した互いに接続する各機器のそれぞれに共通して用いられるハードウェア構成である。
【0032】
機器400は、制御部(CPU)401と、Read‐Only Memory(ROM)402と、Random Access Memory(RAM)403と、を含む。また、半導体メモリやディスクドライブ等の記憶部404と、通信インターフェース(I/F)409とを含む。この機器400は、さらに、ディスプレイ408と、キーボード410と、マウス411と、スキャナ412と、プリンタ413とを接続可能に備えてもよい。これらCPU401〜プリンタ413はバス414によってそれぞれ接続されている。
【0033】
CPU401は、機器400の全体の制御を司る演算処理装置である。ROM402は、機器400のプログラムを記憶する不揮発性メモリである。RAM403は、CPU401による演算処理実行時のワークエリアとして使用される揮発性メモリである。
【0034】
通信インターフェース409は、ネットワーク415と内部のインターフェースを司り、外部装置からのデータの入出力を制御する。具体的に、通信インターフェース409は、通信回線を通じてネットワーク415となるLocal Area Network(LAN)、Wide Area Network(WAN)、インターネットなどに接続され、ネットワーク415を介して相手側の機器400に接続される。通信インターフェース409には、例えば、モデムやLANアダプタなどを採用することができる。
【0035】
ディスプレイ408は、カーソル、アイコンあるいはツールボックスをはじめ、文書、画像、機能情報などをデータ表示する装置である。ディスプレイ408には、例えば、Thin Film Transistor(TFT)液晶ディスプレイ、プラズマディスプレイ、有機ELディスプレイなどを採用することができる。
【0036】
そして、上記説明した鍵ファイル202は、機器400のセキュアな領域、例えば、CPU201内のメモリやROM402等に格納される。鍵ファイル202は、機器400の外部から取得してもよいし、CPU201が鍵生成部200の機能を有し、鍵の素(ファイル)201に基づき、鍵ファイル202を生成し、機器400のセキュアな領域に格納保持する構成としてもよい。
【0037】
これら機器は、それぞれ組み込み機器や、パーソナル・コンピュータ、スマートフォンなど、情報処理を行う各種機器に適用可能である。
【0038】
(スコープによるグループセキュリティについて)
図5は、実施の形態の機器におけるスコープによるグループセキュリティを説明する図である。オブジェクト間でシームレスな通信を行うためには、グループ名を指定することで「オブジェクトのスコープ」を決定する。
【0039】
図5を例に説明すると、例えば、4台の機器400a〜400dが通信等により接続された構成であるとする。
図5においてグループ(GROUP)の親子関係は図の上下方向で示している。すなわち、GROUP1からみて、GROUP2,4が同じ階層の子であり、GROUP3は、GROUP2を子とする。
【0040】
そして、機器400aのオブジェクトAは、GROUP1の鍵を持っている。そして、オブジェクトB,C,D,EがGROUP1を親鍵として持つとする。この場合、GROUP1を親鍵として持つオブジェクトBおよびオブジェクトCの機器400b、オブジェクトDの機器400c、オブジェクトEの機器400dと通信接続できる。
【0041】
機器400bのオブジェクトBは、GROUP2の鍵を持っている。そして、オブジェクトCが同じGROUP2の鍵を持ち、オブジェクトD,AがGROUP2を親鍵として持つとする。この場合、同じGROUP2の鍵を持つオブジェクトCの機器400b(同一の機器400b内)と通信できる。また、機器400bのオブジェクトBは、同じGROUP2の鍵を親鍵として持つオブジェクトDの機器400cと通信できる。さらに、機器400bのオブジェクトBは、親鍵であるGROUP1を持つオブジェクトAの機器400aと通信できる。
【0042】
機器400bのオブジェクトCは、GROUP2の鍵を持っており、同じGROUP2の鍵を持つオブジェクトBの機器400b(同一の機器400b内)と通信できる。また、機器400cのオブジェクトCは、同じGROUP2の鍵を親鍵として持つオブジェクトDの機器400cと通信できる。機器400bのオブジェクトCは、親鍵であるGROUP1を持つオブジェクトAの機器400aと通信できる。
【0043】
機器400cのオブジェクトDは、親鍵であるGROUP2を持つオブジェクトBおよびオブジェクトCの機器400b(同一の機器400b)と通信できる。また、オブジェクトDは、親鍵であるGROUP2の親鍵がGROUP1であり、GROUP1を持つオブジェクトAの機器400aと通信できる。
【0044】
オブジェクトEは、親鍵であるGROUP1を持つオブジェクトAの機器400aとのみ通信できる。
【0045】
図6は、実施の形態の機器におけるオブジェクトの相互参照を示す図表である。
図5の各オブジェクトの接続の可否を一覧化したものである。
【0046】
上記例によれば、GROUPの同一鍵、あるいは自GROUPの親鍵を持つオブジェクトとの間でのみ通信が行える。すなわち、同一のGROUPでないオブジェクト、および同一のGROUPの親鍵を持つオブジェクト以外とは通信が行えない。GROUP2のオブジェクトBCは、GROUP4のオブジェクトEと接続できない。また、GROUP3のオブジェクトDは、GROUP4のオブジェクトEと接続できない。
【0047】
図7は、実施の形態にかかる機器が実行する機器間接続処理の一例を示すフローチャートである。相互接続する機器400の一方のCPU401が実行する機器間接続プログラムに基づく処理の一例を示す。
【0048】
はじめに、CPU401は、自機器400のオブジェクトのグループと、親鍵を取得する(ステップS701)。この後、CPU401は、他機400のオブジェクトにアクセスする(ステップS702)。
【0049】
この後、CPU401は、アクセスした他機400のオブジェクトが同一GROUPに属するか判断する(ステップS703)。CPU401は、他機400のオブジェクトが同一GROUPに属していなければ(ステップS703:No)、ステップS704に移行する。CPU401は、他機400のオブジェクトが同一GROUPに属していれば(ステップS703:Yes)、ステップS705に移行する。
【0050】
ステップS704では、CPU401は、このオブジェクトが自GROUPを親鍵として持つオブジェクトであるか判断する(ステップS704)。このオブジェクトが自GROUPを親鍵として持つオブジェクトであれば(ステップS704:Yes)、ステップS705に移行する。このオブジェクトが自GROUPを親鍵として持つオブジェクトでなければ(ステップS704:No)、ステップS706に移行する。
【0051】
ステップS705では、CPU401は、アクセスした他機400のオブジェクトとの接続を許可する(ステップS705)。一方、ステップS706では、CPU401は、アクセスした他機400のオブジェクトとの接続を拒否する(ステップS706)。以上により、自機と他機との間について、オブジェクトが同一GROUPに属するかあるいは自GROUPを親鍵として持つオブジェクトとの間でのみ通信接続できるようになる。
【0052】
そして、接続許可されたオブジェクトは機器400間で共有されるSharedオブジェクトとして用いられ、接続拒否されたオブジェクトは、機器400間で共有されないIsolatedオブジェクトとして用いられる。このように、実施の形態によれば、オブジェクトの種別に応じた共有の可否を容易に設定し、この設定に基づき容易に運用できるようになる。
【0053】
以上説明したように、実施の形態によれば、自機のオブジェクトは、同一グループの同一鍵を持つオブジェクト、あるいは自グループの親鍵を持つオブジェクトとのみ接続することができるようになり、グループ間の階層構造に基づく、鍵、および親鍵の属性を用いて、相互に接続するオブジェクト(機器)を容易に選択できるようになる。
【0054】
特に、生成した鍵および親鍵を用いて同一グループあるいは同一の親グループに属するかを判断するだけでオブジェクトの共有の可否を判断できるため、制御部の制御処理負担を軽減でき、安価な組み込み機器等に用いて好適である。
【0055】
以上説明した、機器間接続方法は、予め用意された機器間接続プログラムをパーソナル・コンピュータ(PC)やスマートフォン等に搭載されたコンピュータで実行することにより実現することができる。本機器間接続プログラムは、磁気ディスク、光ディスク、USB(Universal Serial Bus)フラッシュメモリなどのコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行される。また、波形データ変換プログラムは、インターネット等のネットワークを介して配布してもよい。