以下、いくつかの実施形態について図面を参照して説明する。なお、以下の各装置は、ハードウェア構成、又はハードウェア資源とソフトウェアとの組合せ構成の何れでも実施可能となっている。組合せ構成のソフトウェアとしては、予めネットワーク又は記憶媒体から各コンピュータにインストールされ、システム鍵設定システムの各装置の機能を当該各コンピュータに実現させるためのプログラムが用いられる。
(第1の実施形態)
図1は、第1の実施形態に係るシステム鍵設定システムの構成の一例を示す模式図である。このシステム鍵設定システム1は、発注端末10、制御部品製造サイト20、制御部品製造サイト30、アセンブリサイト40を備えている。なお、発注端末10は、1台に限らず、1台以上の任意の発注端末において同時に適用可能となっている。各制御部品製造サイト20,30は、それぞれ計画作成装置21,31、鍵配布鍵設定サーバ22,32及び制御部品製造システム23,33を備えている。また、各制御部品製造サイト20,30は、2ヵ所に限らず、1ヵ所以上の任意の制御部品製造サイトにおいて同時に適用可能となっている。アセンブリサイト40では、システム鍵書込み要求装置41が、複数の制御部品42及び複数の制御部品43に通信可能なネットワークに接続される。また、アセンブリサイト40は、1ヵ所に限らず、1ヵ所以上の任意のアセンブリサイトにおいて同時に適用可能となっている。
ここで、発注端末10は、発注情報作成部11及び発注情報送信部12を備えている。
発注端末10は、アセンブリサイト40にてシステムに組込まれる制御部品42及び制御部品43を各制御部品製造サイト20,30に発注するために、発注元である顧客によって操作される端末である。
発注情報作成部11は、図2に示す如き、発注情報100aを作成する機能をもっている。
発注情報100aは、アセンブリサイト40にてシステムに組込まれる制御部品42に付与するアセンブリID及び当該アセンブリIDに対応するアセンブリ鍵を含む。なお、理解を容易にする観点から、アセンブリ鍵の値は、アセンブリIDを含んで当該IDとの対応付けを明確に表す値を図2に示したが、一般的には人間には両者の対応付けが不明な値が設定される。また、アセンブリ鍵に限らず、以後の全ての鍵の値は、図面中に例示した値とは異なり、一般的には人間にIDとの対応付けが不明な値が設定される。アセンブリIDは、発注先が顧客を識別するための顧客IDと、顧客毎のアセンブリ単位(例えば、自動車の生産ロット番号、設置ビルの現場単位等)で構成されていてもよい。例えば、図2において、アセンブリID“1112”のうち、“11”が顧客IDであり、“12”がアセンブリ単位であってもよい。アセンブリ単位“12”は、適用先である第12TTビルに対応してもよい。即ち、アセンブリIDは、各制御部品製造サイト20,30において顧客ID及びアセンブリ単位の組を重複せずに識別できるように設定される。
発注情報100aにおいてアセンブリID及びアセンブリ鍵の組が設定される場合、発注端末10は、アセンブリID及びアセンブリ鍵の組をアセンブリサイト40と共有する。
また、発注情報100aは、発注する制御部品の個数、出荷日及び適用先を含んでもよい。ここで、「適用先」の用語は、「アセンブリ単位」又は「アセンブリサイト」と読替えてもよい。
また、発注情報100aは、複数のアセンブリサイト40のために制御部品42を発注する場合、複数のアセンブリサイト40に対する情報を含んでもよい。例えば、図2においてアセンブリID“1113”は、アセンブリID“1112”と同じ顧客ID“11”から発注された、アセンブリ単位“12”とは異なるアセンブリ単位“13”へ適用する制御部品42に関する発注情報である。発注情報作成部11は、制御部品製造サイト30にも、発注情報100aと同様な発注情報(図示せず)を作成する。
発注情報作成部11は、発注先が1ヵ所の場合、図3に示す如き、発注情報100bを作成してもよい。
発注情報100bは、発注情報100aと同様のデータ構造を含んでいてもよい。ただし、発注情報100bは、アセンブリID及びアセンブリ鍵の値にヌル(Null)値が入力される。アセンブリID及びアセンブリ鍵の値にヌル値が設定される場合、発注端末10は、アセンブリID及びアセンブリ鍵の組をアセンブリサイト40と予め共有しなくてもよい。なお、「ヌル値」は、「ヌル」、「ナル」又は「ナル値」等に読み替えてもよい。
発注情報送信部12は、発注情報100a及び/又は発注情報100bを、各制御部品製造サイト20,30に送信する機能をもっている。発注情報送信部12は、アセンブリID及びアセンブリ鍵の組を、システム鍵書込み要求装置41と共有してもよい。発注情報送信部12は、アセンブリID及びアセンブリ鍵の組を、システム鍵書込み要求装置41に送信してもよい。
なお、第1の実施形態における以後の説明では、発注端末10から発注情報100aが、及び図示しない発注端末10から発注情報100bがそれぞれ制御部品製造サイト20へ送信された場合を例に挙げて述べる。また、各制御部品製造サイト20,30は互いに同一のハードウェア構成をもつため、制御部品製造サイト20を代表例に挙げて説明し、制御部品製造サイト30についての重複した説明を省略する。
制御部品製造サイト20は、計画作成装置21、鍵配布鍵設定サーバ22及び制御部品製造システム23を備えている。
計画作成装置21は、図4に示すように、発注情報受信部210、アセンブリ計画DB作成部211、制御部品製造計画DB作成部212、計画送信部213及び計画記憶部214を備えている。
発注情報受信部210は、発注情報送信部12から送信された発注情報100a及び図示しない発注端末10の発注情報送信部12から送信された発注情報100bを受信する機能をもっている。発注情報受信部210は、受信した発注情報100a,100bを計画記憶部214に記憶させてもよい。
アセンブリ計画DB作成部211は、計画記憶部214に記憶された各発注情報100a,100bを読出し、図5に示す如き、アセンブリ計画DB200aを作成し、当該アセンブリ計画DB200aを計画記憶部214に書き込む機能をもっている。
アセンブリ計画DB200aは、複数の発注情報送信部12から送信された各発注情報100a,100bを集約したデータベースである。また、発注情報100bの如くアセンブリIDにヌル値が付与されている場合、アセンブリ計画DB作成部211は、アセンブリIDとして、その他のアセンブリIDと識別可能な値を付与する。例えば、図5において、適用先UUビルA3に対応するアセンブリIDとして“3913”の値が、また適用先UUビルB1に対応するアセンブリIDとして“3921”の値が付与されている。
制御部品製造計画DB作成部212は、計画記憶部214に記憶された各発注情報100a,100bを読出し、各発注情報100a,100bに基づいて、図6に示す如き、制御部品製造計画DB200bを作成する機能をもっている。作成された制御部品製造計画DB200bは、制御部品製造計画DB作成部212から計画記憶部214に書き込まれる。なお、制御部品製造計画DB作成部212は、計画記憶部214に記憶された各発注情報100a,100bの有無に関わらず、制御部品製造システム23の製造能力に応じた製造個数を決定し、制御部品製造計画DB200bを作成してもよい。
制御部品製造計画DB200bは、製造ロット毎のレコードを持つデータベースである。制御部品製造計画DB200bは、ロットID、製造開始時間、製造数量及び所要時間等の情報を含んでもよい。
計画送信部213は、計画記憶部214内のアセンブリ計画DB200a及び制御部品製造計画DB200bを読出し、当該アセンブリ計画DB200a及び制御部品製造計画DB200bを鍵配布鍵設定サーバ22の計画受信部220に送信する機能をもっている。
計画記憶部214は、計画作成装置21の各部から読出/書込可能なメモリである。計画記憶部214は、発注情報受信部210で受信された各発注情報100a,100b、アセンブリ計画DB作成部211で作成されたアセンブリ計画DB200a及び制御部品製造計画DB作成部212で作成された制御部品製造計画DB200bを記憶する。
鍵配布鍵設定サーバ22は、システム組込後の複数の制御部品に暗号化したシステム鍵を同報送信し、当該暗号化したシステム鍵を復号して複数の制御部品に安全に書込むために、複数の制御部品に鍵配布鍵を設定するための装置である。鍵配布鍵設定サーバ22は、当該システム鍵の暗号化及び復号に用いられる鍵配布鍵を製造工程における複数の制御部品に設定する機能をもっている。
具体的には、鍵配布鍵設定サーバ22は、図7に示すように、計画受信部220、鍵配布鍵作成部221、鍵配布鍵設定部222、鍵配布鍵送信部223及び鍵配布鍵記憶部224を備えている。
計画受信部220は、計画送信部213から送信されたアセンブリ計画DB200a及び制御部品製造計画DB200bを受信し、当該アセンブリ計画DB200a及び制御部品製造計画DB200bを鍵配布鍵作成部221に送信する機能をもっている。計画受信部220は、受信したアセンブリ計画DB200a及び部品製造計画DB200bを鍵配布鍵記憶部224に記憶させてもよい。
鍵配布鍵作成部221は、計画受信部220により受信したアセンブリ計画DB200a及び制御部品製造計画DB200bに基づき、図8及び図9に示す如き、鍵配布鍵DB200c及び鍵配布鍵DB200dを作成する機能をもっている。作成された各鍵配布鍵DB200c,200dは、鍵配布鍵作成部221から鍵配布鍵記憶部224に書き込まれる。
鍵配布鍵DB200c及び鍵配布鍵DB200dは、アセンブリ計画DB200a内のアセンブリID及び当該アセンブリIDに対応するアセンブリ鍵を含んでおり、制御部品製造計画DB200bのロットID毎に作成される。即ち、鍵配布鍵DB200cはロットID“233”で製造される制御部品にそれぞれ設定される第1の鍵配布鍵をまとめたものである。また、鍵配布鍵DB200dは、ロットID“234”で製造される制御部品にそれぞれ設定される第1の鍵配布鍵をまとめたものである。
鍵配布鍵DB200c及び鍵配布鍵DB200dの1レコードは、1個の制御部品に設定される第1の鍵配布鍵である。第1の鍵配布鍵は、制御部品に設定されるシステム鍵の暗号化及び復号に用いられる。鍵配布鍵DB200c及び鍵配布鍵DB200dのレコード数は、対応するロットIDで製造される部品数に対応する。鍵配布鍵DB200c及び鍵配布鍵DB200dの1レコードは、アセンブリID1,アセンブリ鍵1、アセンブリID2、アセンブリ鍵2、アセンブリID3及びアセンブリ鍵3を含む。以下、アセンブリID及びアセンブリ鍵の任意の組を、“アセンブリIDn及びアセンブリ鍵n”と呼ぶ(但し、nは自然数である。)。鍵配布鍵DB200c及び鍵配布鍵DB200dの1レコードは、プロダクトID、ロットID、アセンブリID数を含んでもよい。
プロダクトIDは、制御部品を個別に識別可能なIDである。「プロダクトID」は、「制御部品ID」又は単に「部品ID」と呼んでもよい。
ロットIDは、制御部品製造計画DB200b内のロットIDの値が付与される。
アセンブリID数は、鍵配布鍵DB200c又は200dに対応するロットで製造される制御部品の適用先の数に対応する。即ち、鍵配布鍵作成部221は、アセンブリ計画DB200a及び制御部品製造計画DB200bに基づき、ロットID“233”のロットで製造する40個の制御部品を、アセンブリID“1112”、“3913”及び“1113”の3つの適用先向けに製造することを決定する。同様に、鍵配布鍵作成部221は、アセンブリ計画DB200a及び制御部品製造計画DB200bに基づき、ロットID“234”のロットで製造する40個の制御部品を、アセンブリID“1113”及び“3921”の2つの適用先向けに製造することを決定する。したがって、この場合、鍵配布鍵DB200cのアセンブリID数には“3”が設定され、鍵配布鍵DB200dのアセンブリID数には“2”が設定される。
アセンブリIDn及びアセンブリ鍵nの組は、各ロットで製造することが決定された適用先のアセンブリID及びアセンブリ鍵の組が設定される。なお、レコード長は固定でも可変でもよく、レコード長が固定であり、アセンブリID数がレコード長未満の場合、余剰のデータ領域に対してはヌル値が設定される。また、レコード長が可変の場合、余剰のデータ領域が無くなるようレコード長が調整されてもよい。
アセンブリ鍵nは、アセンブリ計画DB200aにおけるアセンブリ鍵にヌル値が設定されている場合、鍵配布鍵作成部221により自動的に作成される。即ち、図8におけるアセンブリ鍵2及び図9におけるアセンブリ鍵2は、鍵配布鍵作成部221により自動作成されたアセンブリ鍵が設定されたものである。
なお、図8及び図9に示す例は、同ロットの部品がどの適用先に出荷されても良いように、制御部品毎にアセンブリID数分のアセンブリID及びアセンブリ鍵の組が設定されている。同ロット内の制御部品の適用先が制御部品毎に管理されている場合は、制御部品毎に適用先に対応した個別のアセンブリID及びアセンブリ鍵の組が設定されていればよく、他の適用先に対応したアセンブリID及びアセンブリ鍵の組を省略してもよい。
鍵配布鍵設定部222は、鍵配布鍵記憶部224から各鍵配布鍵DB200c,200dを読出し、各鍵配布鍵DB200c,200dに基づき、制御部品製造システム23での製造工程における複数の制御部品42に第1の鍵配布鍵を設定する機能を有する。
発注情報100bの如く、アセンブリID及びアセンブリ鍵の組が発注端末10により設定されていない場合、アセンブリサイト40は、発注端末10と当該アセンブリID及びアセンブリ鍵の組を共有していない。この場合、鍵配布鍵送信部223は、複数の制御部品42に設定された第1の鍵配布鍵を鍵配布鍵記憶部224から読出し、システム鍵書込み要求装置41の鍵配布鍵受信部410に送信する。
なお、発注情報100aの如く、アセンブリID及びアセンブリ鍵の組が発注端末10により設定されている場合、アセンブリサイト40は、発注端末10と当該アセンブリID及びアセンブリ鍵の組を共有している。この場合、鍵配布鍵送信部223は第1の鍵配布鍵を送信しない。
なお、鍵配布鍵送信部223により送信される第1の鍵配布鍵は、各々のアセンブリサイト40に対応するアセンブリID及びアセンブリ鍵の組のみが送信されることが望ましい。即ち、鍵配布鍵DB200cにおいて、アセンブリサイト40のアセンブリIDが“1112”である場合、アセンブリID及びアセンブリ鍵の組の情報として、アセンブリID1及びアセンブリ鍵1の組のみが、第1の鍵配布鍵として当該アセンブリサイト40に開示されることが望ましい。
制御部品製造システム23は、制御部品製造サイト20が、制御部品製造計画DB200bに基づいて複数の制御部品42を製造するための製造システムである。制御部品製造システム23は、アセンブリ計画DB200a及び制御部品製造計画DB200bに基づき、複数の制御部品42を製造し、複数のアセンブリサイト40に出荷する。制御部品製造システム23は、図10に一例を示すように、3月10日にロットID“233”のロットで40個の制御部品42を製造し、3月11日に20個の制御部品42をアセンブリID“1112”の適用先に出荷すると共に、3月12日に10個の制御部品42をアセンブリID“3913”の適用先に出荷する。また、制御部品製造システム23は、3月17日にロットID“234”のロットで40個の制御部品42を製造し、3月18日に30個の制御部品42をアセンブリID“1113”の適用先に出荷すると共に、3月19日に20個の制御部品42をアセンブリID“3921”の適用先に出荷する。なお、アセンブリID“1113”の適用先に出荷された30個の制御部品42は、ロットID“233”のロットで製造された10個と、ロットID“234”のロットで製造された20個を合わせて出荷している。同様に、制御部品製造システム33は、複数の制御部品43を製造し、アセンブリサイト40に出荷する。
アセンブリサイト40は、システム鍵書込み要求装置41と、複数の制御部品42と、複数の制御部品43とを備えている。
システム鍵書込み要求装置41は、システム鍵を設定する複数の制御部品42,43に当該システム鍵の書込要求を送信する機能をもっている。
具体的にはシステム鍵書込み要求装置41は、図11に示すように、鍵配布鍵受信部410、システム鍵作成部411、システム鍵暗号化部412、システム鍵書込み要求メッセージ作成部413、システム鍵書込み要求メッセージ送信部414及びシステム鍵記憶部415を備えている。
鍵配布鍵受信部410は、制御部品製造サイト20及び制御部品製造サイト30の鍵配布鍵送信部223から第1の鍵配布鍵をそれぞれ受信する機能をもっている。受信した第1の鍵配布鍵は、鍵配布鍵受信部410からシステム鍵暗号化部412及びシステム鍵書込み要求メッセージ作成部413に送出してもよく、鍵配布鍵受信部410からシステム鍵記憶部415に書き込んでもよい。
発注情報100aの如く、アセンブリID及びアセンブリ鍵の組が発注端末10により設定されている場合、鍵配布鍵受信部410は、発注情報送信部12からアセンブリID及びアセンブリ鍵の組を第1の鍵配布鍵として受信することで、当該情報を共有してもよい。この場合、鍵配布鍵受信部410は、制御部品製造サイト20及び制御部品製造サイト30の鍵配布鍵送信部223から第1の鍵配布鍵をそれぞれ受信しない。
システム鍵作成部411は、システム鍵を作成し、当該システム鍵をシステム鍵記憶部415に書き込む機能をもっている。システム鍵は、アセンブリサイト40にてシステムに組込まれる各制御部品42,43に共通に設定される鍵である。
システム鍵暗号化部412は、例えば、以下の各機能(f412-1)〜(f412-3)をもっている。
(f412-1) 鍵配布鍵受信部410から第1の鍵配布鍵を受信する機能。
(f412-2) システム鍵記憶部415に記憶されたシステム鍵を読出す機能。
(f412-3)受信した第1の鍵配布鍵に基づき、読み出したシステム鍵を暗号化する機能。
システム鍵書込み要求メッセージ作成部413は、鍵配布鍵受信部410から第1の鍵配布鍵を受信する。システム鍵書込み要求メッセージ作成部413は、図12に示す如き、システム鍵暗号化部412によって暗号化されたシステム鍵(以下、暗号化システム鍵ともいう)を含むシステム鍵書込み要求メッセージ400aを作成する。
システム鍵書込み要求メッセージ400aは、メッセージ識別子、ID種別、ID、暗号化システム鍵及びメッセージ認証符号を含む。
メッセージ識別子は、システム鍵書込みメッセージの識別子である。メッセージ識別子は、制御部品共通、制御部品個別の何れに設定してもよいが、システム鍵書込みメッセージを各制御部品42,43に同報送信する場合には、各制御部品42,43に共通に設定する。
ID種別としては、例えばアセンブリID、ロットID又はプロダクトIDといったIDの種別に対応する数値が選択される。第1の実施形態においては、アセンブリIDに対応するID種別が選択される。
IDは、選択されたID種別におけるIDの値が設定される。
暗号化システム鍵は、システム鍵を、システム鍵書込み要求メッセージ400aに設定されたIDに対応する鍵で暗号化したものが設定される。
メッセージ認証符号としては、メッセージ識別子、ID種別、ID及び暗号化システム鍵のビット列について、システム鍵の暗号化に使用した鍵を用いて作成されたメッセージ認証符号が設定される。メッセージ認証符号は、外部からの不正なアクセスによるシステム鍵の書換えを防止するために設定される。
システム鍵書込み要求メッセージ送信部414は、システム鍵書込み要求メッセージ作成部413により作成されたシステム鍵書込み要求メッセージ400aをシステム組込後の各制御部品42,43に送信する。システム鍵書込み要求メッセージ送信部414は、図13に示すように、各制御部品42,43に送信するシステム鍵書込み要求メッセージ400aに同一のメッセージを用い、同報送信してもよい。
各制御部品42,43は、各制御部品製造サイト20,30によってそれぞれ製造され、アセンブリサイト40に入荷される。各制御部品42,43は、入荷された後システム鍵書込み前にシステムに組込まれ、システム鍵書込み要求装置41と通信可能なネットワークに接続される。当該接続の後、各制御部品42,43は、システム鍵書込み要求装置41から受信したシステム鍵書込み要求メッセージ400aに基づいて、システム鍵の書込みを実施する。
各制御部品42,43は、システム鍵の書込みを実施するため、例えば、以下の各機能(f42-1, f43-1)〜(f42-6, f43-6)をもっている。
(f42-1, f43-1) システム鍵書込み要求メッセージ400a内のメッセージ識別子に基づき、当該メッセージが書込み要求であることを識別する機能。
(f42-2, f43-2) システム鍵書込み要求であることが識別されたシステム鍵書込み要求メッセージ400aについて、メッセージ認証符号を作成し、システム鍵書込み要求メッセージ400a内のメッセージ認証符号と照合を行う機能。
(f42-3, f43-3) メッセージ認証符号の照合の結果、当該要求が不正な設定要求か否かを判断する機能。
(f42-4, f43-4) 照合の結果、不正な設定要求でないと判断された場合、各制御部品42,43に設定された第1の鍵配布鍵に基づき、暗号化されたシステム鍵を復号する機能。
(f42-5, f43-5) 復号したシステム鍵を各自に書込む機能。
(f42-6, f43-6) 書込まれたシステム鍵以外に設定されている第1の鍵配布鍵を消去する機能。
次に、以上のように構成されたシステム鍵設定システム1の動作について図14及び図15のシーケンス図を用いて説明する。各制御部品製造サイト20,30の動作は同様なので、制御部品製造サイト20の動作を代表例として説明する。
まず、発注端末10から各制御部品製造サイト20,30に、同一のアセンブリID及び当該アセンブリIDに対応するアセンブリ鍵を指定した発注情報100aが送信された場合について、図14のシーケンス図を参照しながら説明する。
はじめに、発注情報受信部210は、発注情報送信部12から送信された発注情報100aを受信する(ST101)。
アセンブリ計画DB作成部211は、発注情報100aに基づき、アセンブリID及び対応するアセンブリ鍵を含むアセンブリ計画DB200aを作成する(ST102)。
制御部品製造計画DB作成部212は、発注情報100aに基づき、制御部品製造計画DB200bを作成する(ST103)。制御部品製造計画DB作成部212は、発注情報100aによらず、制御部品製造計画DB200bを作成してもよい。また、ステップST102,ST103は、並行して実行されてもよい。
作成されたアセンブリ計画DB200a及び制御部品製造計画DB200bは、計画記憶部214に記憶され、計画送信部213から送信される。
計画受信部220は、送信されたアセンブリ計画DB200a及び制御部品製造計画DB200bを受信する。なお、アセンブリ計画DB200aは、アセンブリID及び対応するアセンブリ鍵を含む。
鍵配布鍵作成部221は、受信したアセンブリ計画DB200a及び制御部品製造計画DB200bに基づき、アセンブリID及び対応するアセンブリ鍵を含む第1の鍵配布鍵を作成する。鍵配布鍵作成部221は、第1の鍵配布鍵をロット毎にまとめ、各鍵配布鍵DB200c,200dを作成する(ST104)。鍵配布鍵記憶部224は、作成された各鍵配布鍵DB200c,200dを記憶する。
制御部品製造システム23は、制御部品42の製造を開始する。
鍵配布鍵設定部222は、作成された第1の鍵配布鍵を製造工程における複数の制御部品42に対して設定する(ST105)。
制御部品製造システム23は、複数の制御部品42の製造を終了する。
制御部品製造システム23によって製造された複数の制御部品42は、アセンブリサイト40に出荷される。同様に、制御部品製造システム33によって製造された複数の制御部品43は、アセンブリサイト40に出荷される。
アセンブリサイト40に入荷された各制御部品42,43は、システムに組込まれる。また、システムに組込まれた各制御部品42,43は、システム鍵書込み要求装置41にネットワークを介して接続される。
続いて、アセンブリサイト40は、システム鍵を各制御部品42,43に書込む(ST201〜ST210)。具体的には例えば、以下に示すように、アセンブリサイト40内の各機能部がステップST201〜ST210を実行する。なお、ステップST201〜ST202は、ステップST101〜ST105と並行して実施可能である。
アセンブリサイト40は、発注端末10から指定されたアセンブリID及び対応するアセンブリ鍵を含む発注情報100aを第1の鍵配布鍵として共有する(ST201)。具体的には、アセンブリサイト40は、発注情報100a内のアセンブリID及び対応するアセンブリ鍵を第1の鍵配布鍵として共有する。
システム鍵作成部411は、システム鍵を作成する(ST202)。システム鍵記憶部415は、作成されたシステム鍵を記憶する。
システム鍵暗号化部412は、作成されたシステム鍵を、共有された第1の鍵配布鍵に基づいて暗号化する(ST203)。
システム鍵書込み要求メッセージ作成部413は、暗号化されたシステム鍵を含むシステム鍵書込み要求メッセージ400aを作成する(ST204)。
システム鍵書込み要求メッセージ送信部414は、作成されたシステム鍵書込み要求メッセージ400aを、システム組込後の各制御部品42,43にネットワークを介して同報送信する(ST205)。
各制御部品42,43は、同報送信されたシステム鍵書込み要求メッセージ400aに基づき、システム鍵書込みを開始する(ST206〜ST210)。具体的には例えば、以下に示すように、各制御部品42,43がステップST206〜ST210を実行する。
各制御部品42,43は、システム鍵書込み要求メッセージ400a内のメッセージ識別子に基づき、当該メッセージがシステム鍵書込み要求であることを識別する(ST206)。
各制御部品42,43は、システム鍵書込み要求であることが識別されたシステム鍵書込み要求メッセージ400aについて、メッセージ認証符号を作成し、システム鍵書込み要求メッセージ400a内のメッセージ認証符号と照合を行う。各制御部品42,43は、照合結果に基づき、当該要求が不正な設定要求か否かを判断する(ST207)。
各制御部品42,43は、照合の結果、不正な設定要求でないと判断された場合、システム鍵書込み要求メッセージ400a内のID種別及びIDと、各制御部品42,43に設定された第1の鍵配布鍵とに基づき、暗号化されたシステム鍵を復号する(ST208)。
各制御部品42,43は、復号したシステム鍵を各制御部品42,43に書込む(ST209)。
各制御部品42,43は、書込まれたシステム鍵以外に設定されている第1の鍵配布鍵を消去する(ST210)。これにより、各制御部品42,43へのシステム鍵の書込みが終了する。
次に、発注端末10から制御部品製造サイト20に、アセンブリID及び当該アセンブリIDに対応するアセンブリ鍵を指定しない発注情報100bが送信された場合について、図15のシーケンス図を参照しながら説明する。なお、この場合、発注端末10から発注情報100bが送信されるのは制御部品製造サイト20のみとする。
はじめに、発注情報受信部210は、発注情報送信部12から送信された、発注情報100bを受信する(ST101)。
アセンブリ計画DB作成部211は、アセンブリサイト40に対応するアセンブリIDを設定する。アセンブリ計画DB作成部211は、発注情報100b及びアセンブリサイト40に対応するアセンブリIDに基づき、アセンブリ計画DB200aを作成する(ST102)。ただし、作成されたアセンブリ計画DB200a内のアセンブリサイト40を示すアセンブリIDに対応するアセンブリ鍵は、ヌル(Null)値が設定される。
制御部品製造計画DB作成部212は、発注情報100bに基づき、制御部品製造計画DB200bを作成する(ST103)。制御部品製造計画DB作成部212は、発注情報100aによらず、制御部品製造計画DB200bを作成してもよい。また、ステップST102,ST103は、並行して実行されてもよい。
作成されたアセンブリ計画DB200a及び制御部品製造計画DB200bは、計画記憶部214に記憶され、計画送信部213から送信される。
計画受信部220は、送信されたアセンブリ計画DB200a及び制御部品製造計画DB200bを受信する。なお、アセンブリ計画DB200aは、計画内にアセンブリIDを含み、アセンブリ鍵は、ヌル値が設定されている。
鍵配布鍵作成部221は、新たなアセンブリ鍵を作成し、ヌル値が設定されたアセンブリ鍵に代えて、新たなアセンブリ鍵を第1の鍵配布鍵に設定する。鍵配布鍵作成部221は、受信したアセンブリ計画DB200a及び制御部品製造計画DB200bに基づき、アセンブリID及び対応するアセンブリ鍵を含む第1の鍵配布鍵を作成する。鍵配布鍵作成部221は、第1の鍵配布鍵をロット毎にまとめ、鍵配布鍵DB200c,200dを作成する(ST104)。鍵配布鍵記憶部224は、作成された鍵配布鍵DB200c,200dを記憶する。
制御部品製造システム23は、制御部品42の製造を開始する。
鍵配布鍵設定部222は、作成された第1の鍵配布鍵を製造工程における複数の制御部品42に対して設定する(ST105)。
鍵配布鍵送信部223は、アセンブリサイト40に対応するアセンブリID及びアセンブリ鍵の組を含む第1の鍵配布鍵を鍵配布鍵受信部410に送信する(ST106)。
制御部品製造システム23は、複数の制御部品42の製造を終了する。
制御部品製造システム23によって製造された複数の制御部品42は、アセンブリサイト40に出荷される。
アセンブリサイト40に入荷された複数の制御部品42は、システムに組込まれる。また、システムに組込まれた複数の制御部品42は、システム鍵書込み要求装置41にネットワークを介して接続される。
続いて、アセンブリサイト40は、システム鍵を複数の制御部品42に書込む(ST201‘〜210)。具体的には例えば、以下に示すように、アセンブリサイト40内の各機能部がステップST201‘〜ST210を実行する。
鍵配布鍵受信部410は、鍵配布鍵送信部223から送信された第1の鍵配布鍵を受信する(ST201‘)。
なお、以下のステップST202以降は、図14と同様であるため説明を省略する。これにより、複数の制御部品42へのシステム鍵の書込みが終了する。
上述したように第1の実施形態によれば、アセンブリIDを含む計画を受信し、当該計画内のアセンブリID及び当該アセンブリIDに対応するアセンブリ鍵を含む第1の鍵配布鍵を生成する。そして、第1の鍵配布鍵を製造工程における複数の制御部品に設定する。この構成により、セキュリティを確保しつつ共通のシステム鍵を設定するための負荷を低減し得る鍵配布鍵を設定することができる。
例えば、システム鍵書込み要求装置は、第1の鍵配布鍵に基づき、システム鍵を暗号化する。そして、暗号化したシステム鍵を含むシステム鍵書込み要求メッセージを作成する。
これにより、システム鍵書込み要求メッセージをアセンブリID単位で同報送信することができる。補足すると、ビル、プラント又は自動車といった完成品の組み立て単位(アセンブリID単位、又はM2M通信のネットワーク単位)で、暗号化したシステム鍵を同報送信する構成により、従来の部品単位の個別設定とは異なり、完成品の組み立て単位の一括設定を実施できる。従って、従来に比べ、各制御部品にシステム鍵を設定するための負荷を低減することができる。
(第2の実施形態)
次に、第2の実施形態に係るシステム鍵設定システムについて前述した図1を参照しながら説明する。
即ち、第2の実施形態は、ハードウェア構成としては第1の実施形態と同様であるが、第1の実施形態とは異なり、発注情報100aの受信タイミングが鍵配布鍵設定後になった場合におけるシステム鍵設定方式を実行するものである。これに伴い、図8に示した鍵配布鍵DB200cに代えて、図16に示した鍵配布鍵DB200eを作成するものとなっている。以下に、第2の実施形態に係るシステム鍵設定システムの構成及び動作について、第1の実施形態と異なる部分を説明する。
制御部品製造計画DB作成部212は、アセンブリサイト40への発注を含む発注情報100aを受信する前に、制御部品製造計画DB200bを作成する機能をもっている。作成された制御部品製造計画DB200bは、制御部品製造計画DB作成部212からを計画記憶部214に書込まれる。
計画送信部213は、計画記憶部214に記憶された制御部品製造計画DB200bを読出し、鍵配布鍵設定サーバ22の計画受信部220に送信する機能をもっている。
計画受信部220は、計画送信部213から送信された制御部品製造計画DB200bを受信し、当該制御部品製造計画DB200bを鍵配布鍵作成部221に送出する機能をもっている。
鍵配布鍵作成部221は、受信した部品製造計画DB200bに基づき、図16に示す如き、鍵配布鍵DB200eを作成する機能をもっている。なお、作成された鍵配布鍵DB200eは、鍵配布鍵作成部221から鍵配布鍵記憶部224に書込まれる。
鍵配布鍵DB200eは、制御部品製造計画DB200bに記録されたロットID毎に作成される。即ち、鍵配布鍵DB200eは、ロットID“233”で製造される制御部品にそれぞれ設定される第2の鍵配布鍵をまとめたものである。
鍵配布鍵DB200eの1レコードは、1個の制御部品に設定される第2の鍵配布鍵である。第2の鍵配布鍵は、制御部品に設定されるシステム鍵の暗号化及び復号に用いられる。鍵配布鍵DB200eの1レコードは、ロットID及びロット鍵を含む。鍵配布鍵DB200eの1レコードは、プロダクトIDを含んでもよい。
ロット鍵は、ロットIDに対応する鍵であり、鍵配布鍵作成部221により自動的に作成される。即ち、図16に示すロット鍵は、鍵配布鍵作成部221により自動作成されたロット鍵が設定されたものである。
なお、図16に示す例は、第2の鍵配布鍵の設定前に発注が1つも無い状況を想定しているが、アセンブリサイト40以外の適用先に関する発注に対応したアセンブリID及びアセンブリ鍵の組が更に設定されていてもよい。
鍵配布鍵設定部222は、鍵配布鍵記憶部224から鍵配布鍵DB200eを読出し、制御部品製造システム23で製造される複数の制御部品42に第2の鍵配布鍵を設定する機能をもっている。
鍵配布鍵送信部223は、発注情報受信部210がアセンブリサイト40に対する発注を受注した場合、複数の制御部品42に設定された第2の鍵配布鍵を鍵配布鍵記憶部224から読出し、システム鍵書込み要求装置41の鍵配布鍵受信部410に送信する。
なお、以降の機能構成は、第1の実施形態における第1の鍵配布鍵を第2の鍵配布鍵と読替える以外、同様の機能構成であるため説明を省略する。
次に、以上のように構成されたシステム鍵設定システムの動作を図17に示すシーケンス図を用いて説明する。なお、この場合、発注端末10は発注情報100aを制御部品製造サイト20のみに送信するとする。
はじめに、制御部品製造計画DB作成部212は、制御部品製造計画DB200bを作成する(ST101“)。
作成された制御部品製造計画DB200bは、計画記憶部214に記憶され、計画送信部213から送信される。
計画受信部220は、送信された制御部品製造計画DB200bを受信する。
鍵配布鍵作成部221は、受信した制御部品製造計画DB200bに基づき、ロットIDに対応する新たなロット鍵を作成する。鍵配布鍵作成部221は、ロットID及びロット鍵を含む第2の鍵配布鍵を作成する。鍵配布鍵作成部221は、第2の鍵配布鍵をロット毎にまとめ、鍵配布鍵DB200eを作成する(ST102“)。鍵配布鍵記憶部224は、作成された鍵配布鍵DB200eを記憶する。
制御部品製造システム23は、複数の制御部品42の製造を開始する。
鍵配布鍵設定部222は、作成された第2の鍵配布鍵を製造工程における複数の制御部品42に対して設定する(ST103“)。
制御部品製造システム23は、複数の制御部品42の製造を終了する。
発注情報受信部210は、発注情報送信部12から送信された発注情報100aを受信する(ST104“)。
アセンブリ計画DB作成部211は、アセンブリサイト40に対応するアセンブリIDを設定する。アセンブリ計画DB作成部211は、発注情報100aに基づき、アセンブリ計画DB200aを作成する(ST105“)。
作成されたアセンブリ計画DB200aは、計画記憶部214に記憶され、計画送信部213から送信される。
計画受信部220は、送信されたアセンブリ計画DB200aを受信する。
鍵配布鍵送信部223は、計画受信部220が受信したアセンブリ計画DB200aに基づき、複数の制御部品42に設定された第2の鍵配布鍵を鍵配布鍵記憶部224から読出し、第2の鍵配布鍵を鍵配布鍵受信部410に送信する(ST106)。
制御部品製造システム23によって製造された複数の制御部品42は、アセンブリサイト40に出荷される。
アセンブリサイト40に入荷された複数の制御部品42は、システムに組込まれる。また、システムに組込まれた複数の制御部品42は、システム鍵書込み要求装置41にネットワークを介して接続される。
続いて、アセンブリサイト40は、システム鍵を複数の制御部品42に書込む(ST201‘〜210)。具体的には例えば、以下に示すように、アセンブリサイト40内の各機能部がステップST201‘〜ST210を実行する。
鍵配布鍵受信部410は、鍵配布鍵送信部223から送信された第2の鍵配布鍵を受信する(ST201‘)。
システム鍵作成部411は、システム鍵を作成し(ST202)、当該システム鍵をシステム鍵記憶部415に書込む。
システム鍵暗号化部412は、作成されたシステム鍵を、ステップST201‘で受信した第2の鍵配布鍵に基づいて暗号化する(ST203)。
システム鍵書込み要求メッセージ作成部413は、暗号化されたシステム鍵を含むシステム鍵書込み要求メッセージ400aを作成する(ST204)。
システム鍵書込み要求メッセージ送信部414は、作成されたシステム鍵書込み要求メッセージ400aを、システム組込後の各制御部品42,43にネットワークを介して同報送信する(ST205)。
各制御部品42,43は、同報送信されたシステム鍵書込み要求メッセージ400aに基づき、システム鍵書込みを開始する(ST206〜ST210)。
なお、このステップST206〜ST210は、第1の実施形態における第1の鍵配布鍵を第2の鍵配布鍵と読替える以外、ステップST206〜ST210と同様の動作であるため説明を省略する。これにより、複数の制御部品42へのシステム鍵の書込みが終了する。
上述したように第2の実施形態によれば、第2の鍵配布鍵を製造工程における複数の制御部品に設定する。この構成により、セキュリティを維持しつつ、システム組込後の各制御部品に対して同報送信によるシステム鍵の一括設定をすることができる。
例えば、鍵配布鍵DB作成前に発注情報を受信できない場合において、ロットID及び当該ロットIDに対応するロット鍵を含む第2の鍵配布鍵を生成する。
これにより、ロット単位の鍵配布鍵を製造工程において設定することができる。したがって、第2の鍵配布鍵設定後に発注情報が受信された場合において、新たに第1の鍵配布鍵を設定し直すことなく、第2の鍵配布鍵を設定した制御部品をアセンブリサイトに出荷することができる。このため、制御部品の発注がない状態でも、鍵配布鍵設定に負荷をかけずに制御部品を生産しておくことができる。また、制御部品のロット単位(アセンブリID単位)で、暗号化したシステム鍵を同報送信する構成により、従来の部品単位の個別設定とは異なり、部品のロット単位の一括設定を実施できる。従って、従来に比べ、各制御部品にシステム鍵を設定するための負荷を低減することができる。
(第3の実施形態)
次に、第3の実施形態に係るシステム鍵設定システムについて前述した図1を参照しながら説明する。
即ち、第3の実施形態は、ハードウェア構成としては第1の実施形態又は第2の実施形態と同様であるが、第1の実施形態又は第2の実施形態とは異なり、各制御部品に固有の鍵を更に設定する。これに伴い、図8又は図16に示した鍵配布鍵DB200c又は鍵配布鍵DB200eに代えて、図18に示した鍵配布鍵DB200fを作成するものとなっている。以下に、第3の実施形態に係るシステム鍵設定システムの構成及び動作について、第1の実施形態又は第2の実施形態と異なる部分を説明する。
鍵配布鍵作成部221は、受信したアセンブリ計画DB200a及び制御部品製造計画DB200bに基づき、図18に示す如き、鍵配布鍵DB200fを作成する機能をもっている。作成された鍵配布鍵DB200fは、鍵配布鍵作成部221から鍵配布鍵記憶部224に書込まれる。
鍵配布鍵DB200fは、制御部品製造計画DB200bに記録されたロットID毎に作成される。即ち、鍵配布鍵DB200fは、ロットID“233”で製造される制御部品にそれぞれ設定される第3の鍵配布鍵をまとめたものである。
鍵配布鍵DB200fの1レコードは、1個の制御部品に設定される第3の鍵配布鍵であり、プロダクトID及び当該プロダクトIDに対応するプロダクト鍵を含む。プロダクトIDは、制御部品を個別に識別可能なIDである。第3の鍵配布鍵は、制御部品に設定されるシステム鍵の暗号化及び復号に用いられる。鍵配布鍵DB200fの1レコードは、ロットID、ロット鍵、アセンブリID数、アセンブリIDn及びアセンブリ鍵nを含んでもよい。即ち、第3の鍵配布鍵は、第1の鍵配布鍵及び/又は第2の鍵配布鍵に、プロダクトID及び当該プロダクトIDに対応するプロダクト鍵を更に含んでもよい。
ロット鍵及び/又はアセンブリ鍵nは、有意な値が設定されてもよい。また、ロット鍵及び/又はアセンブリ鍵nは、ヌル値が設定されてもよい。
プロダクト鍵は、プロダクトIDに対応する鍵であり、鍵配布鍵作成部221により自動的に作成される。即ち、図18におけるプロダクト鍵は、鍵配布鍵作成部221により自動作成されたプロダクト鍵が設定されたものである。
鍵配布鍵設定部222は、鍵配布鍵記憶部224から鍵配布鍵DB200fを読出し、制御部品製造システム23で製造される各制御部品42に、第3の鍵配布鍵を設定する機能をもっている。なお、鍵配布鍵設定部222は、第3の鍵配布鍵のロット鍵及び/又はアセンブリ鍵nに有意な値が設定されている場合、制御部品製造システム23で製造される各制御部品42に、プロダクトID及びプロダクト鍵の組のみを設定してもよい。
鍵配布鍵送信部223は、各制御部品42に設定された第3の鍵配布鍵を鍵配布鍵記憶部224から読出し、システム鍵書込み要求装置41の鍵配布鍵受信部410に送信する機能をもっている。なお、鍵配布鍵送信部223は、第3の鍵配布鍵のうち、プロダクトID及びプロダクト鍵の組の情報のみを鍵配布鍵受信部410に送信してもよい。
以後の機能構成については、第1の実施形態における第1の鍵配布鍵を、第3の鍵配布鍵と置き換えるものとし、左記以外の相違点について説明する。
システム鍵暗号化部412は、受信した第3の鍵配布鍵内のプロダクト鍵に基づき、システム鍵記憶部415から読み出したシステム鍵を暗号化する機能をもっている。なお、システム鍵暗号化部412は、第3の鍵配布鍵内のロット鍵又はアセンブリ鍵に有意な値が設定され、かつロット鍵又はアセンブリ鍵を受信している場合、当該ロット鍵又はアセンブリ鍵に基づき、システム鍵を暗号化してもよい。
システム鍵書込み要求メッセージ送信部414は、システム鍵書込み要求メッセージ作成部413により作成されたシステム鍵書込み要求メッセージ400aをシステム組込後の各制御部品42,43に送信する機能をもっている。システム鍵書込み要求メッセージ送信部414は、システム鍵をロット鍵又はアセンブリ鍵に基づいて暗号化した場合、図13に示すように、複数の各制御部品42,43に送信するシステム鍵書込み要求メッセージ400aに同一のメッセージを用い、同報送信してもよい。
各制御部品42,43は、書込まれたシステム鍵以外に設定されている第3の鍵配布鍵を消去する機能をもっている。なお、第3の鍵配布鍵内のプロダクトID及びプロダクト鍵の組は、消去せずに設定されたままにしてもよい。
次に、以上のように構成されたシステム鍵設定システムの動作を図15に示すシーケンス図を用いて説明する。なお、この場合、発注端末10は発注情報100aを制御部品製造サイト20のみに送信するとする。
ステップST101〜ST103は、第1の実施形態と同様であるため、説明を省略する。
鍵配布鍵作成部221は、受信したアセンブリ計画DB200a及び制御部品製造計画DB200bに基づき、プロダクトID及び当該プロダクトIDに対応するプロダクト鍵を含む第3の鍵配布鍵を作成する。鍵配布鍵作成部221は、第3の鍵配布鍵をロット毎にまとめ、鍵配布鍵DB200fを作成する(ST104)。鍵配布鍵記憶部224は、作成された鍵配布鍵DB200fを記憶する。
鍵配布鍵設定部222は、作成された第3の鍵配布鍵を製造工程における複数の制御部品42に対して設定する(ST105)。
鍵配布鍵送信部223は、第3の鍵配布鍵を鍵配布鍵受信部410に送信する(ST106)。なお、鍵配布鍵送信部223は、第3の鍵配布鍵のうち、プロダクトID及びプロダクト鍵の組のみを鍵配布鍵受信部410に送信してもよい。
ステップST201‘〜ST202は、第1の実施形態における第1の鍵配布鍵を第3の鍵配布鍵と置き換える以外は、同様の動作であるため、説明を省略する。
システム鍵暗号化部412は、受信した第3の鍵配布鍵内のプロダクト鍵に基づき、システム鍵記憶部415から読み出したシステム鍵を暗号化する(ST203)。なお、システム鍵暗号化部412は、受信した第3の鍵配布鍵内のロット鍵又はアセンブリ鍵に有意な値が設定されている場合、当該ロット鍵又はアセンブリ鍵に基づき、読み出したシステム鍵を暗号化してもよい。
システム鍵書込み要求メッセージ作成部413は、暗号化されたシステム鍵を含むシステム鍵書込み要求メッセージ400aを作成する(ST204)。
システム鍵書込み要求メッセージ送信部414は、システム鍵書込み要求メッセージ作成部413により作成されたシステム鍵書込み要求メッセージ400aをシステム組込後の複数の制御部品42に送信する(ST205)。システム鍵書込み要求メッセージ送信部414は、システム鍵をロット鍵又はアセンブリ鍵に基づいて暗号化した場合、図13に示すように、複数の制御部品42に送信するシステム鍵書込み要求メッセージ400aに同一のメッセージを用い、同報送信してもよい。
ステップST206〜ST209は、第1の実施形態における第1の鍵配布鍵を第3の鍵配布鍵と置き換える以外は、同様の動作であるため、説明を省略する。
複数の制御部品42は、書込まれたシステム鍵以外に設定されている第3の鍵配布鍵を消去する(ST210)。なお、第3の鍵配布鍵内のプロダクトID及びプロダクト鍵の組は、消去せずに設定されたままにしてもよい。これにより、複数の制御部品42へのシステム鍵の書込みが終了する。
上述したように第3の実施形態によれば、第1の鍵配布鍵又は第2の鍵配布鍵にプロダクトID及びプロダクト鍵を含む第3の鍵配布鍵を製造工程における複数の制御部品に設定する。
また、少数の制御部品を出荷する場合、第3の鍵配布鍵のうちプロダクトID及びプロダクト鍵の組のみを提示する。少数の制御部品に対するシステム鍵書込みの場合は、システム鍵書込み要求メッセージを同報送信する代わりに、プロダクトID及びプロダクト鍵の組を用いたシステム鍵書込み要求メッセージを送信する。
この構成により、第1又は第2の実施形態の効果に加え、少数の制御部品を出荷する場合は、アセンブリ鍵及び/又はロット鍵を設定しない又は開示しないで、システム鍵の書込みを実施できる。したがって、アセンブリサイトから少数の制御部品を出荷する場合に、制御部品製造サイトにおけるアセンブリ鍵の設定が徒に増えることを回避でき、負荷を低減することができる。。
以上説明した少なくとも一つの実施形態によれば、アセンブリIDを含む計画を受信し、当該計画内のアセンブリID及び当該アセンブリIDに対応するアセンブリ鍵を含む第1の鍵配布鍵を生成する。そして、第1の鍵配布鍵を製造工程における複数の制御部品に設定する。この構成により、セキュリティを確保しつつ共通のシステム鍵を設定するための負荷を低減し得る鍵配布鍵を設定することができる。
なお、上記の実施形態に記載した手法は、コンピュータに実行させることのできるプログラムとして、磁気ディスク(フロッピー(登録商標)ディスク、ハードディスク等)、光ディスク(CD−ROM、DVD等)、光磁気ディスク(MO)、半導体メモリ等の記憶媒体に格納して頒布することができる。
また、この記憶媒体としては、プログラムを記憶でき、かつコンピュータが読み取り可能な記憶媒体であれば、その記憶形式は何れの形態であってもよい。
また、記憶媒体からコンピュータにインストールされたプログラムの指示に基づきコンピュータ上で稼働しているOS(オペレーティングシステム)や、データベース管理ソフト、ネットワークソフト等のMW(ミドルウェア)等が上記実施形態を実現するための各処理の一部を実行してもよい。
さらに、実施形態における記憶媒体は、コンピュータと独立した媒体に限らず、LANやインターネット等により伝送されたプログラムをダウンロードして記憶又は一時記憶した記憶媒体も含まれる。
また、実施形態における記憶媒体は1つに限らず、複数の媒体から上記の実施形態における処理が実行される場合も本発明における記憶媒体に含まれ、媒体構成は何れの構成であってもよい。
なお、実施形態におけるコンピュータは、記憶媒体に記憶されたプログラムに基づき、上記の実施形態における各処理を実行するものであって、パソコン等の1つからなる装置、複数の装置がネットワーク接続されたシステム等の何れの構成であってもよい。
また、実施形態におけるコンピュータとは、パソコンに限らず、情報処理機器に含まれる演算処理装置、マイコン等も含み、プログラムによって本発明の機能を実現することが可能な機器、装置を総称している。
なお、本発明の実施形態を説明したが、この実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。この実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。この実施形態やその変形は、発明の範囲や要旨に含まれると同様に、特許請求の範囲に記載された発明とその均等の範囲に含まれる。