(57)【特許請求の範囲】
【請求項１】
上位情報処理装置と当該上位情報処理装置により管理される１以上の下位情報処理装置から成り、
前記上位情報処理装置は、
親鍵を記憶する第１の記憶部と、
前記親鍵を利用して、当該親鍵と対の関係にある子鍵を記憶する前記下位情報処理装置と相互認証処理を実行する第１の認証処理部と、
前記下位情報処理装置を一意に識別する下位情報処理装置識別子を当該下位情報処理装置から受信する下位情報処理装置識別子受信部と、
前記親鍵と前記下位情報処理装置識別子を少なくとも利用して前記子鍵の更新に利用する子鍵生成のための種データを生成し、セルパッケージごとに前記下位情報処理装置に送信する子鍵生成部とを備え、
前記下位情報処理装置は、
前記子鍵と前記下位情報処理装置識別子を記憶する第２の記憶部と、
前記子鍵を利用して前記上位情報処理装置と相互認証処理を実行する第２の認証処理部と、
前記第２の記憶部に記憶される前記下位情報処理装置識別子を前記上位情報処理装置に送信する下位情報処理装置識別子送信部と、
受信した前記種データを利用して前記子鍵をセルパッケージごとに更新する子鍵更新部とを備える
ことを特徴とする情報処理システム。
【請求項２】
前記第１の記憶部は、前記上位情報処理装置を一意に識別する上位情報処理装置識別子をさらに記憶し、
前記子鍵生成部は、前記親鍵と、前記下位情報処理装置識別子と、前記上位情報処理装置識別子を利用して前記種データを生成する
ことを特徴とする請求項１に記載の情報処理システム。
【請求項３】
前記上位情報処理装置は、
前記親鍵を更新する親鍵更新部と、
前記親鍵の更新を検知する更新検知部をさらに備え、
前記子鍵生成部は、前記親鍵の更新が検知されたのに応じて前記種データを生成する
ことを特徴とする請求項１または２に記載の情報処理システム。
【請求項４】
前記上位情報処理装置は、
当該上位情報処理装置に対して新たに装填された前記下位情報処理装置を検知する交換検知部をさらに備え、
前記子鍵生成部は、前記新たに装填された下位情報処理装置が検知されたのに応じて、当該新たに装填された下位情報処理装置の子鍵を更新するための前記種データを生成する
ことを特徴とする請求項１から３のいずれか一項に記載の情報処理システム。
【請求項５】
親鍵を記憶する記憶部と、
前記親鍵を利用して、当該親鍵と対の関係にある子鍵を記憶する下位情報処理装置と相互認証処理を実行する認証処理部と、
前記下位情報処理装置を一意に識別する下位情報処理装置識別子を当該下位情報処理装置から受信する下位情報処理装置識別子受信部と、
前記親鍵と前記下位情報処理装置識別子を少なくとも利用して前記子鍵の更新に利用する子鍵生成のための種データを生成し、セルパッケージごとに前記下位情報処理装置に送信する子鍵生成部とを備える
ことを特徴とする情報処理装置。
【請求項６】
上位情報処理装置と当該上位情報処理装置により管理される１以上の下位情報処理装置から成る情報処理システムにおける情報処理方法であって、
前記上位情報処理装置は、
第１の記憶部に記憶される親鍵を利用して、当該親鍵と対の関係にある子鍵を記憶する前記下位情報処理装置と相互認証処理を実行する第１の認証処理ステップと、
前記下位情報処理装置を一意に識別する下位情報処理装置識別子を当該下位情報処理装置から受信する下位情報処理装置識別子受信ステップと、
前記親鍵と前記下位情報処理装置を一意に識別する下位情報処理装置識別子を少なくとも利用して前記子鍵の更新に利用する子鍵生成のための種データを生成し、セルパッケージごとに前記下位情報処理装置に送信する子鍵生成ステップとを備え、
前記下位情報処理装置は、
第２の記憶部に記憶される前記子鍵を利用して前記上位情報処理装置と相互認証処理を実行する第２の認証処理ステップと、
前記第２の記憶部に記憶される前記下位情報処理装置識別子を前記上位情報処理装置に送信する下位情報処理装置識別子送信ステップと、
受信した前記種データを利用して前記子鍵をセルパッケージごとに更新する子鍵更新ステップとを備える
ことを特徴とする情報処理方法。
【請求項７】
記憶部に記憶される親鍵を利用して、当該親鍵と対の関係にある子鍵を記憶する下位情報処理装置と相互認証処理を実行する認証処理ステップと、
前記下位情報処理装置を一意に識別する下位情報処理装置識別子を当該下位情報処理装置から受信する下位情報処理装置識別子受信ステップと、
前記親鍵と前記下位情報処理装置識別子を少なくとも利用して前記子鍵の更新に利用する子鍵生成のための種データを生成し、セルパッケージごとに前記下位情報処理装置に送信する子鍵生成ステップとを備える
ことを特徴とする情報処理方法。
【請求項８】
コンピュータを、
記憶部に記憶される親鍵を利用して、当該親鍵と対の関係にある子鍵を記憶する下位情報処理装置と相互認証処理を実行する認証処理手段、
前記下位情報処理装置を一意に識別する下位情報処理装置識別子を当該下位情報処理装置から受信する下位情報処理装置識別子受信手段、
前記親鍵と前記下位情報処理装置識別子を少なくとも利用して前記子鍵の更新に利用する子鍵生成のための種データを生成し、セルパッケージごとに前記下位情報処理装置に送信する子鍵生成手段
として機能させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、相互認証を行う情報処理装置から成る情報処理システム、当該情報処理システムにおける情報処理装置、情報処理方法及びプログラムに関する。
【背景技術】
【０００２】
キャッシュカードやクレジットカードなどに代表されるＩＣカードと、その上位のリーダライタの間では、ＩＣカードが正規のものであるか否かを確認するにあたり、双方が保有する鍵を利用した相互認証処理が行われる（例えば特許文献１参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開平０１−１２６７９３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
上記したような上位の情報処理装置と下位の情報処理装置との間での相互認証処理は、ＩＣカードとリーダライタだけではなく、セキュリティを保つために多様な情報処理システムにおいて採用されている。
【０００５】
相互認証が行われる情報処理システムについて、セキュリティ強化の観点から、所定の機会により鍵の更新を行うべきことがセキュリティ強化の観点から求められる場合があると想定される。しかし、従来のＩＣカードとリーダライタの情報処理システムでは、ＩＣカードに対して書き込まれた鍵は変更不可であり固定的なものとなっている。このため上記のように使用経過において鍵を更新することはできない。
【０００６】
そこで、本発明は、相互認証が行われる情報処理システムにおいて、下位の情報処理装置の鍵が効率的に更新されるようにすることを目的とする。
【課題を解決するための手段】
【０００７】
本発明は、上述の課題を解決すべくなされたもので、本発明の一態様による情報処理システムは、上位情報処理装置と当該上位情報処理装置により管理される１以上の下位情報処理装置から成り、前記上位情報処理装置は、親鍵を記憶する第１の記憶部と、前記親鍵を利用して、当該親鍵と対の関係にある子鍵を記憶する前記下位情報処理装置と相互認証処理を実行する第１の認証処理部と、前記下位情報処理装置を一意に識別する下位情報処理装置識別子を当該下位情報処理装置から受信する下位情報処理装置識別子受信部と、前記親鍵と前記下位情報処理装置識別子を少なくとも利用して前記子鍵の更新に利用する子鍵生成のための種データを生成し、セルパッケージごとに前記下位情報処理装置に送信する子鍵生成部とを備え、前記下位情報処理装置は、前記子鍵と前記下位情報処理装置識別子を記憶する第２の記憶部と、前記子鍵を利用して前記上位情報処理装置と相互認証処理を実行する第２の認証処理部と、前記第２の記憶部に記憶される前記下位情報処理装置識別子を前記上位情報処理装置に送信する下位情報処理装置識別子送信部と、受信した前記種データを利用して前記子鍵をセルパッケージごとに更新する子鍵更新部とを備える。
【０００８】
また、本発明の一態様による情報処理装置は、親鍵を記憶する記憶部と、前記親鍵を利用して、当該親鍵と対の関係にある子鍵を記憶する下位情報処理装置と相互認証処理を実行する認証処理部と、前記下位情報処理装置を一意に識別する下位情報処理装置識別子を当該下位情報処理装置から受信する下位情報処理装置識別子受信部と、前記親鍵と前記下位情報処理装置識別子を少なくとも利用して前記子鍵の更新に利用する子鍵生成のための種データを生成し、セルパッケージごとに前記下位情報処理装置に送信する子鍵生成部とを備える。
【０００９】
また、本発明の一態様による情報処理方法は、上位情報処理装置と当該上位情報処理装置により管理される１以上の下位情報処理装置から成る情報処理システムにおける情報処理方法であって、前記上位情報処理装置は、第１の記憶部に記憶される親鍵を利用して、当該親鍵と対の関係にある子鍵を記憶する前記下位情報処理装置と相互認証処理を実行する第１の認証処理ステップと、前記下位情報処理装置を一意に識別する下位情報処理装置識別子を当該下位情報処理装置から受信する下位情報処理装置識別子受信ステップと、前記親鍵と前記下位情報処理装置を一意に識別する下位情報処理装置識別子を少なくとも利用して前記子鍵の更新に利用する子鍵生成のための種データを生成し、セルパッケージごとに前記下位情報処理装置に送信する子鍵生成ステップとを備え、前記下位情報処理装置は、第２の記憶部に記憶される前記子鍵を利用して前記上位情報処理装置と相互認証処理を実行する第２の認証処理ステップと、前記第２の記憶部に記憶される前記下位情報処理装置識別子を前記上位情報処理装置に送信する下位情報処理装置識別子送信ステップと、受信した前記種データを利用して前記子鍵をセルパッケージごとに更新する子鍵更新ステップとを備える。
【００１０】
また、本発明の一態様による情報処理方法は、記憶部に記憶される親鍵を利用して、当該親鍵と対の関係にある子鍵を記憶する下位情報処理装置と相互認証処理を実行する認証処理ステップと、前記下位情報処理装置を一意に識別する下位情報処理装置識別子を当該下位情報処理装置から受信する下位情報処理装置識別子受信ステップと、前記親鍵と前記下位情報処理装置識別子を少なくとも利用して前記子鍵の更新に利用する子鍵生成のための種データを生成し、セルパッケージごとに前記下位情報処理装置に送信する子鍵生成ステップとを備える。
【００１１】
また、本発明の一態様によるプログラムは、コンピュータを、記憶部に記憶される親鍵を利用して、当該親鍵と対の関係にある子鍵を記憶する下位情報処理装置と相互認証処理を実行する認証処理手段、前記下位情報処理装置を一意に識別する下位情報処理装置識別子を当該下位情報処理装置から受信する下位情報処理装置識別子受信手段、前記親鍵と前記下位情報処理装置識別子を少なくとも利用して前記子鍵の更新に利用する子鍵生成のための種データを生成し、セルパッケージごとに前記下位情報処理装置に送信する子鍵生成手段として機能させる。
【発明の効果】
【００１２】
本発明によれば、相互認証が行われる情報処理システムにおいて、上位の情報処理装置の鍵の更新に応じて下位の情報処理装置の鍵を適切に更新可能になるという効果が得られる。
【図面の簡単な説明】
【００１３】
【図１】本発明の実施形態におけるバッテリユニット運用システムの構築例を示す図である。
【図２】本実施形態のバッテリユニット運用システムにおける相互認証及び鍵更新に対応する装置間の処理例を示す図である。
【図３】本実施形態のバッテリユニット運用システムにおけるバッテリ交換に応じた子鍵更新に対応する装置間の処理例を示す図である。
【図４】本実施形態におけるバッテリ管理装置の構成例を示す図である。
【図５】本実施形態におけるセルパッケージの構成例を示す図である。
【図６】本実施形態における総合管理サーバの構成例を示す図である。
【図７】本実施形態におけるバッテリ管理装置の機能構成例を示す図である。
【図８】本実施形態におけるセルパッケージ管理テーブルの構造例を示す図である。
【図９】本実施形態におけるセル管理装置の機能構成例を示す図である。
【図１０】本実施形態における総合管理サーバの機能構成例を示す図である。
【図１１】本実施形態におけるバッテリユニット管理テーブルの構造例を示す図である。
【図１２】本実施形態における子鍵更新のための処理手順例（第１例）を示すシーケンス図である。
【図１３】本実施形態における更新用子鍵生成のための処理手順例を示すフローチャートである。
【図１４】バッテリ管理装置が実行する、配下のセルパッケージごとに対する子鍵更新のための処理手順例を示すフローチャートである。
【図１５】本実施形態の鍵更新のための処理手順例（第２例）を示すシーケンス図である。
【発明を実施するための形態】
【００１４】
［バッテリユニット運用システムの全体構成例］
図１は、本実施形態における情報処理システムであるバッテリユニット運用システムの全体構成例を示している。本実施形態のバッテリユニット運用システムは、複数のバッテリユニット１００と、総合管理サーバ６００から成る。なお、本実施形態では、バッテリユニット１００の各々と総合管理サーバ６００は、ネットワークなどの所定の通信網を経由して相互に通信可能とされているものとする。
【００１５】
近年、スマートグリッドが注目されてきている。スマートグリッドは、分散型電源と電力会社からの集中型電源とを組み合わせることで、需要と供給のバランスをリアルタイムに調整することで効率的な電力供給を行うように構築される電力受給システムである。上記の分散型電源には、太陽光発電や風力発電などに加え、蓄電装置も含まれる。このスマートグリッドにおける蓄電装置が、本実施形態のバッテリユニット１００に該当する。
【００１６】
バッテリユニット１００は、充電により電力を蓄えるとともに、蓄えた電力を必要に応じて放電を行うことで、所定の負荷に供給する機能を有する。図２には、バッテリユニット１００の内部における装置構成が示されている。同図に示すバッテリユニット１００は、バッテリ管理装置２００と複数のセルパッケージ３００を備える。バッテリ管理装置２００は、セルパッケージ３００に対する充放電などをはじめとする各種の動作をコントロールする。セルパッケージ３００は、ここでは図示を省略しているが内部にセルと称する二次電池を備える。また、当該セルを管理するセル管理装置４００を備える。セルパッケージ３００の数は、例えばバッテリユニット１００の用途などに応じて異なる。これらのセルパッケージ３００が例えば直列に接続されることで、バッテリユニット１００として必要な容量が確保される。このようなバッテリユニット１００の構成においては、バッテリ管理装置２００が上位情報処理装置となり、セルパッケージ３００が下位情報処理装置となる関係にある。
【００１７】
図１に説明を戻す。バッテリユニット１００は、特定の産業分野に限定されることなく、車両や各種の施設に備えられる。例えば、図示するように、電気自動車１に備えられたバッテリユニット１００は、当該電気自動車１を駆動するバッテリとして機能する。また、住宅施設２や企業施設３に備えられたバッテリユニット１００は、例えば、無停電電源として機能する。また、これらのバッテリユニット１００は、スマートグリッド環境において、電力使用量が少ない時間帯には蓄電を行い、必要に応じて、電力会社に電力を供給するための放電を行うという分散型電源の１つとして機能する。
【００１８】
総合管理サーバ６００は、上記のように各所に設置されるバッテリユニット１００を一括して管理する。この管理機能の１つとして、総合管理サーバ６００は、各バッテリユニット１００が相互認証に使用する鍵を更新するための処理を実行可能とされている。
【００１９】
なお、図１に示す構成において、例えば、１つの住宅施設２や企業施設３において、複数のバッテリユニット１００が並列に備えられるような構成も考えることができる。
【００２０】
［情報処理システムの運用例］
バッテリユニット１００が備えるセルパッケージ３００は、充放電が繰り返されるのに応じてその性能が劣化していく。ただし、例えばセルパッケージのばらつきなどにより、セルパッケージ３００間の劣化の度合いにもばらつきが生じる。バッテリユニット１００としての製品は高価である。このため、例えばバッテリユニット１００における少数のセルパッケージ３００が劣化しただけであるのに係わらず、にバッテリユニット１００自体を交換するという運用はコスト面からみて好ましくない。
【００２１】
そこで、本実施形態では、バッテリユニット運用システムにおいてバッテリユニット１００におけるセルパッケージ３００ごとの劣化を監視し、劣化の度合いが一定以上であると判断されたセルパッケージ３００を交換するという運用を行う。このような運用であれば、セルパッケージ３００を交換するためのコストで済む。
【００２２】
また、本実施形態における運用では、セルパッケージ３００を交換するにあたり、新品に交換する場合もあるが、他のバッテリユニット１００において使用されていたセルパッケージ３００を再利用する場合もあることを想定している。同じセルパッケージ３００の製品であっても、用途に応じて要求される性能が異なる場合もあると考えられる。つまり、或る用途では、非常に高い性能が求められるが、他の用途では、一定以下の水準にまで性能が低下していなければ十分に使用可能であるというような状況を想定できる。そこで、本実施形態では、或るバッテリユニット１００において使用不可であるとして取り外されたセルパッケージ３００を一律に廃棄するのではなく、再利用可能なものについては再利用するように運用する。つまり、或るバッテリユニット１００から取り外されたセルパッケージ３００が、他のバッテリユニット１００ではまだ要求される性能を満たしているのであれば、この他のバッテリユニット１００におけるセルパッケージ３００の交換時に再利用する。このようにセルパッケージ３００を再利用することでさらにコストダウンが図られる。また、このような再利用は環境面の点からも望ましい。
【００２３】
また、本実施形態においては、バッテリユニット１００は多様な事業者（メーカ）が提供することを想定している。具体的に、電気自動車１のバッテリユニット１００であれば、自動車の電装品などの事業者Ｂが提供し、セルパッケージ３００の交換サービスを行うことが想定される。また、住宅施設２や企業施設３のバッテリユニット１００であれば、住宅販売会社や建設会社などの事業者Ｃ、Ｄも参入して、その販売やセルパッケージ３００の交換を行うことが想定される。そのうえで、総合管理サーバ６００は、バッテリユニット１００を提供する事業者Ｂ、Ｃ、Ｄなどを一括して管理する別の事業者Ａが運用する。なお、総合管理サーバ６００を運用する事業者Ａと、バッテリユニット１００を提供する事業者のうちの１つが重複する場合も考えられる。
【００２４】
［バッテリユニット運用システムにおける相互認証及び鍵の更新］
上記の運用の実現のためには、セルパッケージ３００を人為的作業によって交換可能なようにバッテリユニット１００を構成することになる。この場合、正規品ではない安価なセルパッケージが市場に出回り、ユーザがこのセルパッケージを購入して勝手に交換するという不正が行われてしまう可能性が生じる。
【００２５】
上記のように正規品でないセルパッケージは、製品の信頼性、安全性を保証することができない。このため、正規品でないセルパッケージに交換された場合にはバッテリユニットが動作できないようにすることが必要になる。つまり、正規品でないセルパッケージの不正使用を防ぐことが必要になる。
【００２６】
そこで、本実施形態では、次のように正規品でないバッテリの不正使用を防止する。この点について、図２を参照して説明する。このためには、まず、総合管理サーバ６００側でバッテリユニット１００自体が正規のものであるか否かについて確認する必要がある。このために、総合管理サーバ６００と、バッテリユニット１００のバッテリ管理装置２００との間で相互認証を行う（ステップＳ１）。この相互認証は、例えばバッテリユニット１００が設置されたときに行う。また、設置後においても例えばバッテリユニットの再起動時や一定期間ごとのタイミングで行うようにしてもよい。
【００２７】
上記相互認証が成立すれば、総合管理サーバ６００は、バッテリユニット１００が正規のものであると認識する。これに対して、相互認証が不成立の場合、総合管理サーバ６００は、バッテリユニットが正規のものではないと認識し、例えばこのバッテリユニットからアクセスが行われたとしても、これを拒否する。
【００２８】
そのうえで、バッテリユニット１００においては、セルパッケージ３００が正規品であるか否かについて認識するために、バッテリ管理装置２００と各セルパッケージ３００が相互認証を行う（ステップＳ２）。バッテリ管理装置２００は親鍵Ｋｐを記憶し、セルパッケージ３００のセル管理装置４００はそれぞれ子鍵Ｋｃを記憶している。バッテリ管理装置２００とセルパッケージ３００は、例えば交換鍵方式による相互認証処理を行うものとされ、この相互認証処理の際に、上記親鍵Ｋｐと子鍵Ｋｃを使用する。この相互認証は、バッテリユニット１００においてセルパッケージ３００の交換が行われるのに応じて必ず実行される。また、例えばバッテリユニット１００が設置されたときに実行されるものとする。また、バッテリユニット１００の設置後において、バッテリユニット１００が再起動された場合にも実行されるものとする。
【００２９】
バッテリ管理装置２００とセルパッケージ３００の相互認証が成立した場合、バッテリ管理装置２００は、そのセルパッケージ３００を正規品であると認識し、このセルパッケージ３００についての管理を行う。これに対して、バッテリ管理装置２００とセルパッケージ３００の相互認証が成立しなかった場合、バッテリ管理装置２００は、このセルパッケージ３００は正規品ではないと認識する。この場合、バッテリ管理装置２００は、セルパッケージ３００を動作させないように制御して使用できないようにする。本実施形態では、このようにバッテリ管理装置２００とセルパッケージ３００が相互認証を行うことによって、正規品でないセルパッケージ３００の使用を防止できる。
【００３０】
また、上記のようにバッテリ管理装置２００とセルパッケージ３００の相互認証が成立した後においては、所定のタイミングで、バッテリ管理装置２００がセルパッケージ３００の各々からセルパッケージ情報を取得する（ステップＳ３）。セルパッケージ情報は、具体的には、対応のセルパッケージ３００を一意に特定するセル識別子と、そのセルパッケージ３００が備えるバッテリ（二次電池）についての所定の状態を示す情報から成る。バッテリ管理装置２００は、配下のセルパッケージ３００の各々から取得したバッテリ情報を利用して、セルパッケージ３００を管理するためのセルパッケージ管理テーブルを構築する。
【００３１】
上述のようにバッテリ管理装置２００とセルパッケージ３００の相互認証には親鍵Ｋｐと子鍵Ｋｃのペア鍵を使用する。しかし、子鍵Ｋｃはユーザ側に設置されるセルパッケージ３００において記憶されているので、悪意のあるユーザなどに漏洩しやすい状況にあるといえる。このために、子鍵Ｋｃが固定のままであると、悪意のある事業者が子鍵Ｋｃを解読するなどして、同じ子鍵Ｋｃを記憶させた正規品でないセルパッケージを製造する可能性が生じてくる。
【００３２】
そこで、本実施形態では、所定の機会により親鍵Ｋｐと子鍵Ｋｃの更新を行う。このためには、まず、総合管理サーバ６００にて更新用親鍵データを生成し、この更新用親鍵データをバッテリ管理装置２００に送信する。バッテリ管理装置２００は、受信した更新用親鍵データを利用して親鍵Ｋｐを更新する（ステップＳ４）。なお、親鍵Ｋｐの更新が成立しなかった場合は、総合管理サーバ６００によりその異常を検知することができる。
【００３３】
そして、バッテリ管理装置２００は、この親鍵Ｋｐの更新をトリガとして、下位のセルパッケージ３００の子鍵Ｋｃを更新するための処理を実行する（ステップＳ５）。つまり、バッテリ管理装置２００は、更新用子鍵データを生成し、セルパッケージ３００に対して転送する。セルパッケージ３００は、受信した更新用子鍵データを利用して子鍵Ｋｃを更新する。なお、子鍵Ｋｃの更新が成立しなかった場合は、バッテリ管理装置２００によりその異常を検知することができる。
【００３４】
このように、まずバッテリ管理装置２００の親鍵Ｋｐを更新し、これに応じてセルパッケージ３００の子鍵Ｋｃの更新を行うようにすることで、親鍵Ｋｐと子鍵Ｋｃを固定とした場合よりもセキュリティを高めることができる。なお、親鍵Ｋｐと子鍵Ｋｃを更新するタイミングとしては、例えば一定期間ごとに行うようにすればよい。また、これに加えて、何らかの要因によって親鍵Ｋｐや子鍵Ｋｃのデータが漏洩した可能性があると判断したときに更新を行うようにすれば、さらにセキュリティを高めることができる。
【００３５】
また、本実施形態のバッテリ運用システムにおけるバッテリユニット１００は、セルパッケージ３００の交換が行われた場合にも子鍵Ｋｃを更新する。そこで、図３を参照して、上記セルパッケージ３００の交換に応じた子鍵Ｋｃの更新に対応するバッテリユニット１００における動作の概要について説明する。まず、バッテリユニット１００においては、図２の場合と同様に、バッテリ管理装置２００とその配下のセルパッケージ３００のセル管理装置４００ごとに、互いの親鍵Ｋｐと子鍵Ｋｃを利用して相互認証処理を実行する（ステップＳ２）。また、認証成立後においてバッテリ管理装置２００は、セルパッケージ情報を取得し（ステップＳ３）、取得したセルパッケージ情報を利用してセルパッケージ管理テーブルを構築する。
【００３６】
そして、或るタイミングでセルパッケージ３００の交換が行われたとする（ステップＳ１１）。ここでは、バッテリユニット１００における複数のセルパッケージ３００のうち、１つのセルパッケージ３００を交換した場合を想定している。
【００３７】
本実施形態におけるバッテリ運用システムでは、交換により新たに装填されたセルパッケージ３００の子鍵Ｋｃは、既定の初期値にリセットされている。子鍵Ｋｃの初期値は、親鍵Ｋｐがどのような値に更新されていても相互認証処理によって認証が成立するようにされた値が設定されている。これにより、セルパッケージ３００の交換後においてバッテリ管理装置２００が正規品であると認識して正常な動作を保証することができる。しかし、子鍵Ｋｃを初期値のままとしていると、この初期値が悪意のあるユーザによって特定される可能性が高くなる。そこで、バッテリ管理装置２００は、セルパッケージ３００の交換が行われた直後において、この交換されたセルパッケージ３００を対象として子鍵Ｋｃの更新を実行する（ステップＳ１２）。このようにセルパッケージ３００の交換後において直ちに初期値の子鍵Ｋｃを更新することで、子鍵Ｋｃが初期値のままであることの脆弱性を回避し、セキュリティの強化を図っている。
【００３８】
なお、本実施形態における親鍵Ｋｐと子鍵Ｋｃは、パスワード認証等の暗証方式に用いる暗証鍵（暗証番号）でもよいし、共通鍵方式または鍵交換方式等に用いる鍵でもよい。共通鍵方式と鍵交換方式は相互認証が可能なであるため、暗証方式より好ましい。暗証鍵を用いる場合、親鍵Ｋｐの暗証鍵とセル識別子等のセルに固有の値を用いて演算して子鍵Ｋｃを生成することができる。
【００３９】
また、共通鍵方式または鍵交換方式を用いる場合にはパラーメータキーとロジック（アルゴリズム）のペアを用いることとなる。具体的には共通鍵暗号方式や公開鍵暗号方式のロジック（アルゴリズム）としては、ＤＥＳ（Data Encryption Standard）、ＡＥＳ（Advanced Encryption Standard）、ＲＳＡ、楕円暗号等を用いることができる。これらの方法では、相互認証する２者が対応するパラーメータキーとロジックのペアを持っておき、これらを用いて演算した結果をお互いに照合することにより相互認証をすることができる。この場合、パラーメータキーのみを更新してもよいし、ロジック（アルゴリズム）のみを更新してもよい。またパラーメータキーとロジック（アルゴリズム）の双方を更新してもよい。
【００４０】
また、親鍵Ｋｐから子鍵Ｋｃを生成する際は、親鍵のパラーメータキーとロジックの少なくもいずれか一方を元にセル識別子等セル固有の値を用いた演算から得た子鍵Ｋｃを生成することもできる。子鍵Ｋｃ生成のための演算ロジックは、総合管理サーバ６００だけではなく、バッテリ管理装置２００にも記憶させておくことができる。
【００４１】
［バッテリユニットにおけるバッテリ管理装置の構成］
以降、本実施形態のバッテリユニット運用システムにおける鍵更新のための構成について説明することとし、まず、バッテリユニット１００の構成から説明する。先に図２及び図３に示したように、バッテリユニット１００は、バッテリ管理装置２００とセルパッケージ３００から成る。
【００４２】
先にバッテリユニット１００のバッテリ管理装置２００から説明する。図４は、バッテリ管理装置２００の構成例を示している。この図に示すバッテリ管理装置２００は、ＣＰＵ（Central Processing Unit）２０１、ＲＡＭ（Random Access Memory）２０２、記憶部２０３、入力インターフェース２０４、出力インターフェース２０５、サーバ対応通信部２０６及びセルパッケージ対応通信部２０７を備える。これらの部位は、データバス２０８を介して接続されている。
【００４３】
ＣＰＵ２０１は、記憶部２０３に記憶されるプログラムを実行することにより、バッテリ管理装置２００としての所定の機能を実現する。
【００４４】
ＲＡＭ２０２は、主記憶装置として機能するもので、ＣＰＵ２０１が実行すべきプログラムが記憶部２０３から読み出されて展開される。また、ＲＡＭ２０２は、ＣＰＵ２０１が演算処理を実行する際の作業領域として使用される。
【００４５】
記憶部２０３は、補助記憶装置として機能するもので、ＣＰＵ２０１により実行されるプログラムや各種データを格納する。なお、この記憶部２０３には、例えばハードディスクやフラッシュメモリなどの半導体記憶装置を採用することができる。記憶部２０３は、特許請求の範囲に記載の第１の記憶部に相当する。
【００４６】
入力インターフェース２０４は、例えばキーボードやマウスなどの操作デバイスをはじめとする入力デバイスを一括して示したものである。また、出力インターフェース２０５は、例えばディスプレイデバイスやスピーカなどの出力デバイスを一括して示したものである。
【００４７】
サーバ対応通信部２０６は、総合管理サーバ６００と、例えばネットワークなどの所定の通信網を経由して通信を行う部位である。サーバ対応通信部２０６が対応するネットワークとしては、インターネットやＷＡＮ（Wide Area Network）などを想定することができる。
【００４８】
セルパッケージ対応通信部２０７は、同じバッテリユニット１００における複数のセルパッケージ３００の各々と所定の通信規格にしたがって通信を行う部位である。この通信規格としては、例えばＩＥＥＥ１３９４などのデータインターフェースをはじめ多様に考えられる。また、有線によるデータインターフェースのほか、ＲＦＩＤ（Radio Frequency IDentification）に適用される通信方式やブルートゥース（登録商標）などの近距離無線通信規格を採用することも考えられる。
【００４９】
［バッテリユニットにおけるセルパッケージの構成］
図５は、バッテリユニット１００におけるセルパッケージ３００の構成例を示している。この図に示すように、セルパッケージ３００は、セル管理装置４００とセル５００を備える。
【００５０】
セル管理装置４００は、セルパッケージ３００において備えられるセル５００に関する所定の制御を行う部位である。具体的には、セル５００に対する充放電に関する制御を行う。また、セル５００の劣化度合いを判断するためのセル５００に関する情報の収集を行う。このセル５００に関する情報としては、例えばセル５００に対する充放電の履歴の情報、セル５００の電圧値などを挙げることができる。
【００５１】
同図に示すセル管理装置４００は、ＣＰＵ４０１、ＲＡＭ４０２、記憶部４０３、管理装置対応通信部４０４及びセル対応通信部４０５を備える。これらの部位は、データバス４０６を介して接続されている。
【００５２】
ＣＰＵ４０１は、記憶部４０３に記憶されるプログラムを実行することにより、セル管理装置４００としての所定の機能を実現する。なお、ＲＡＭ４０２及び記憶部４０３の個々の機能については、図４のＲＡＭ２０２及び記憶部２０３と同様となることから、ここでの説明は省略する。なお、記憶部４０３は、特許請求の範囲に記載の第２の記憶部に相当する。
【００５３】
管理装置対応通信部４０４は、同じバッテリユニット１００におけるバッテリ管理装置２００と通信を行う部位である。この管理装置対応通信部４０４は、バッテリ管理装置２００におけるセルパッケージ対応通信部２０７と同じ通信規格に対応した通信が可能なように構成される。
【００５４】
セル対応通信部４０５は、同じセルパッケージ３００におけるセル５００と通信を行う部位である。セル対応通信部４０５を介した通信により、セル管理装置４００は、セル５００に対して充放電などの制御を実行することができる。また、セル５００の劣化判定に使用する所定の情報をセル５００から取得することができる。なお、セル対応通信部４０５が対応する通信規格は、所定の有線によるデータインターフェースのほか、ＲＦＩＤに適用される通信方式やブルートゥース（登録商標）などの所定の近距離無線通信規格を適用することも考えられる。
【００５５】
セル５００は、例えばリチウムイオン電池などによる所定容量の二次電池である。また、この図のセル５００は、二次電池に対する充放電回路などの周辺回路も含むものとされる。
【００５６】
なお、本実施形態におけるバッテリユニット運用システムの運用では、前述のようにバッテリユニット１００の性能劣化に対するメンテナンスとして、セルパッケージ３００の単位で交換が行われる。これに応じて、セルパッケージ３００は、内部のセル５００を抜き取り不可なようにパッケージングした構造とされている。
【００５７】
［総合管理サーバの構成］
図６は、総合管理サーバ６００の構成例を示している。この図に示す総合管理サーバ６００は、ＣＰＵ６０１、ＲＡＭ６０２、記憶部６０３、入力インターフェース６０４、出力インターフェース６０５及びバッテリユニット対応通信部６０６を備える。これらの部位は、データバス６０７を介して接続されている。
【００５８】
ＣＰＵ６０１は、記憶部６０３に記憶されるプログラムを実行することにより、総合管理サーバ６００としての所定の機能を実現する。
【００５９】
なお、ＲＡＭ６０２、記憶部６０３、入力インターフェース６０４及び出力インターフェース６０５の個々の機能については、それぞれ、図４のＲＡＭ２０２、記憶部２０３、入力インターフェース２０４及び出力インターフェース２０５と同様となることから、ここでの説明は省略する。
【００６０】
バッテリユニット対応通信部６０６は、例えばネットワークなどの所定の通信網を経由して、バッテリユニット１００におけるバッテリ管理装置２００のサーバ対応通信部２０６と通信を行う部位である。
【００６１】
［バッテリユニットにおけるバッテリ管理装置の機能構成］
図７は、バッテリ管理装置２００のＣＰＵ２０１がプログラムを実行することにより実現される機能構成例を示している。また、この図においては、図４に示した記憶部２０３、サーバ対応通信部２０６及びセルパッケージ対応通信部２０７をともに示している。
【００６２】
また、この図では、記憶部２０３が記憶するデータのうち、ＣＰＵ２０１が使用するデータとして親鍵Ｋｐ、バッテリユニット識別子２３０及びセルパッケージ管理テーブル２４０が示される。親鍵Ｋｐは、同じバッテリユニット１００のセルパッケージ３００と相互認証を実行する際に使用される鍵である。バッテリユニット識別子２３０は、当該バッテリ管理装置２００を備えるバッテリユニット１００を一意に特定する識別子である。なお、バッテリユニット１００を一意に特定するということは、バッテリユニット１００ごとに１つずつ備えられるバッテリ管理装置２００を一意に特定することと同義である。バッテリユニット識別子２３０は、特許請求の範囲に記載の上位情報処理装置識別子に相当する。
【００６３】
セルパッケージ管理テーブル２４０は、同じバッテリユニット１００におけるセルパッケージ３００ごとの管理情報を格納するテーブルである。
【００６４】
同図においては、ＣＰＵ２０１の機能部として、セルパッケージ管理部２１１、サーバ対応認証処理部２１２、セル対応認証処理部２１３、親鍵更新部２１４、更新検知部２１５、子鍵生成部２１６及び交換検知部２１７が示される。
【００６５】
セルパッケージ管理部２１１は、同じバッテリユニット１００における配下のセルパッケージ３００を統合して管理する。具体的に、セルパッケージ管理部２１１は、セルパッケージ３００ごとに対する充放電制御を行う。また、セルパッケージ３００ごとの充放電の履歴情報や電圧値などの情報を取得する。
【００６６】
また、セルパッケージ管理部２１１は、上記のように取得した情報を、記憶部２０３のセルパッケージ管理テーブル２４０に登録して管理する。なお、セルパッケージ管理テーブル２４０には、セルパッケージ３００ごとの子鍵Ｋｃの更新履歴も格納される。この更新履歴の内容としては、例えば更新された子鍵Ｋｃの世代を示す世代情報（世代番号）や世代ごとの鍵更新日時などの情報とされる。このような更新履歴を管理することにより、セルパッケージ３００ごとの子鍵Ｋｃの世代管理、すなわち時間軸にしたがったセルパッケージ３００ごとの管理が可能となる。
【００６７】
図８は、セルパッケージ管理テーブル２４０の構造例を示している。この図に示すセルパッケージ管理テーブル２４０は、バッテリユニット１００に装填されるセルパッケージ３００ごとに対応して、セルパッケージ装填位置２４１と、セル識別子２４２と、セルパッケージ状態情報２４３を格納した構造を有する。
【００６８】
セルパッケージ装填位置２４１は、対応のセルパッケージ３００の装填位置を示す。ここでは、バッテリユニット１００において（Ｎ−１）個のセルパッケージ３００を装填可能とされているものとしたうえで、その装填位置ごとに、＃０〜＃Ｎまでの番号が付されているものとする。セルパッケージ装填位置２４１は、この＃０〜＃Ｎによる装填位置番号をそれぞれ格納する。
【００６９】
セル識別子２４２は、対応のセルパッケージ３００を一意に特定する識別子である。セルパッケージ状態情報２４３は、対応のセルパッケージ３００の状態を示すものであり、具体的には、上述の充放電の履歴情報や電圧値などの所定項目の情報により形成される。
【００７０】
説明を図７に戻す。セルパッケージ管理部２１１は、所定のトリガまたは総合管理サーバ６００からの要求に応答して、セルパッケージ管理テーブル２４０のデータをサーバ対応通信部２０６から総合管理サーバ６００に対して送信させる制御も実行する。このように送信されたセルパッケージ管理テーブル２４０は、総合管理サーバ６００において、バッテリユニット１００を管理するテーブルの構築に利用されるとともに、セルパッケージ３００ごとの交換の要否を判定するのに利用される。
【００７１】
サーバ対応認証処理部２１２は、サーバ対応通信部２０６経由で、総合管理サーバ６００との間で相互認証処理を実行する機能部である。この総合管理サーバ６００との相互認証処理に際しては、例えばバッテリユニット識別子２３０を暗号化するなどして総合管理サーバ６００に対して送信する。また、記憶部２０３に記憶される親鍵Ｋｐを利用するアルゴリズムを考えることもできる。
【００７２】
セル対応認証処理部２１３は、セルパッケージ対応通信部２０７経由で、同じバッテリユニット１００におけるセルパッケージ３００の各々と親鍵Ｋｐを利用した相互認証を実行する。このセル対応認証処理部２１３は、特許請求の範囲に記載の第１の認証処理部に相当する。
【００７３】
本実施形態において、親鍵Ｋｐは、例えばセキュリティ強化の点から所定の機会において更新される。更新に際しては総合管理サーバ６００から更新用親鍵が送信される。なお、この更新用親鍵として、ここでは、更新されるべき親鍵Ｋｐそのもののデータであることを想定するが、例えば、親鍵生成のための種データとすることも考えられる。そして、親鍵更新部２１４は、総合管理サーバ６００から受信した更新用親鍵を利用して、記憶部２０３に記憶される親鍵Ｋｐを更新する。
【００７４】
更新検知部２１５は、親鍵更新部２１４による親鍵Ｋｐの更新が行われたことを検知する。具体的には、例えば親鍵更新部２１４が親鍵Ｋｐの更新を完了させると、その旨を通知する。更新検知部２１５は、この通知を検知することを以て、親鍵Ｋｐの更新が行われたことを検知する。
【００７５】
子鍵生成部２１６は、更新検知部２１５により親鍵Ｋｐの更新が検知されるのに応じてセルパッケージ３００ごとの更新用子鍵のデータを生成する。なお、この更新用子鍵についても、ここでは、更新されるべき子鍵Ｋｃそのもののデータであることを想定するが、例えば、子鍵生成のための種データとすることも考えられる。そして、この更新用子鍵を、セルパッケージ対応通信部２０７経由で、セルパッケージ３００ごとに対して転送する。セルパッケージ３００は、転送された更新用子鍵により自己が記憶している子鍵Ｋｃを更新する。
【００７６】
交換検知部２１７は、セルパッケージの交換に伴って新たに装填されたセルパッケージ３００を検知する。新規装填されたセルパッケージ３００の検知は、交換前のセルパッケージ３００の装填状態が反映されたセルパッケージ管理テーブル２４０の内容と、交換後にセルパッケージ３００の各々から取得したセルパッケージ情報を照合することにより行う。なお、図示は省略するが、バッテリユニット１００のセルパッケージ３００の装填部において装填の有無を検知するセンサを備え、このセンサの検出信号に基づいて新たにセルパッケージ３００が装填されたことを検知するようにしてもよい。
【００７７】
［セルパッケージにおけるセル管理装置の機能構成］
図９は、セルパッケージ３００におけるセル管理装置４００のＣＰＵ４０１がプログラムを実行することにより実現される機能構成例を示している。また、この図においては、図５に示した記憶部４０３、管理装置対応通信部４０４及びセル対応通信部４０５をともに示している。
【００７８】
また、この図では、記憶部４０３が記憶するデータのうち、ＣＰＵ４０１が使用するデータとして子鍵Ｋｃ、セル識別子４３０及びセル管理テーブル４４０が示される。
【００７９】
子鍵Ｋｃは、同じバッテリユニット１００におけるバッテリ管理装置２００と相互認証を行う際に利用される鍵である。セル識別子４３０は、当該セル管理装置４００を含むセルパッケージ３００を一意に特定する識別子である。このセル識別子４３０は、特許請求の範囲に記載の下位情報処理装置識別子に相当する。
【００８０】
セル管理テーブル４４０は、同じバッテリユニット１００におけるセル５００についての所定項目の情報を格納するテーブルである。
【００８１】
同図においては、ＣＰＵ４０１の機能部として、セル管理部４１１、認証処理部４１２及び子鍵更新部４１３が示される。セル管理部４１１は、同じセルパッケージ３００におけるセル５００を管理する。具体例として、セル管理部４１１は、セル対応通信部４０５経由でセル５００に対する充放電の動作を制御する。また、セル５００から、その劣化の度合いの判定要素となる所定の情報を取得し、セル管理テーブル４４０として記憶部４０３に記憶させる。
【００８２】
また、セル管理部４１１は、バッテリ管理装置２００からの要求または所定のトリガに応答して、記憶部４０３に記憶されるセル識別子４３０とセル管理テーブル４４０のデータをバッテリ管理装置２００に対して転送する。バッテリ管理装置２００は、転送されたセル識別子４３０とセル管理テーブル４４０のデータを利用してセルパッケージ管理テーブル２４０を作成する。
【００８３】
認証処理部４１２は、同じバッテリユニット１００における上位のバッテリ管理装置２００と相互認証処理を実行する。この相互認証処理に際して、認証処理部４１２は、子鍵Ｋｃを利用する。この認証処理部４１２は、特許請求の範囲に記載の第２の認証処理部に相当する。
【００８４】
子鍵更新部４１３は、バッテリ管理装置２００から受信した更新用子鍵を利用して、記憶部４０３に記憶される子鍵Ｋｃを更新する。
【００８５】
［総合管理サーバの機能構成］
図１０は、総合管理サーバ６００のＣＰＵ６０１がプログラムを実行することにより実現される機能構成例を示している。また、この図においては、図６に示した記憶部６０３及びバッテリユニット対応通信部６０６をともに示している。
【００８６】
また、この図では、記憶部６０３が記憶するデータのうち、ＣＰＵ４０１が使用するデータとしてバッテリユニット管理テーブル６３０が示される。バッテリユニット管理テーブル６３０は、自己の管理下におけるバッテリユニット１００についての所定項目の情報を格納するテーブルである。
【００８７】
同図においては、ＣＰＵ６０１の機能部として、バッテリユニット管理部６１１、認証処理部６１２及び親鍵生成部６１３が示される。
【００８８】
バッテリユニット管理部６１１は、自己の管理下におけるバッテリユニット１００を管理する。具体例として、バッテリユニット管理部６１１は、バッテリユニット対応通信部６０６経由でバッテリユニット１００から受信したセルパッケージ管理テーブル２４０のデータを利用してバッテリユニット管理テーブル６３０を作成する。
【００８９】
図１１（ａ）は、バッテリユニット管理テーブル６３０の構造例を示している。この図に示すように、バッテリユニット管理テーブル６３０は、バッテリユニット識別子６３１にＩＰアドレス６３２及びバッテリユニット状態情報６４０を対応付けた構造を有する。
【００９０】
バッテリユニット識別子６３１には、総合管理サーバ６００の管理下にあるバッテリユニット１００ごとのバッテリユニット識別子２３０の値が格納される。
【００９１】
ＩＰアドレス６３２には、対応のバッテリユニット識別子６３１により特定されるバッテリユニット１００に割り当てられたＩＰアドレスが格納される。バッテリユニット対応通信部６０６は、このＩＰアドレスを送信先として設定することでバッテリユニット１００を指定して通信を行うことができる。
【００９２】
バッテリユニット状態情報６４０は、対応のバッテリユニット１００の状態を示す情報を格納する。具体的には、対応のバッテリユニット１００におけるセルパッケージ３００ごとの状態を示す情報を格納する。
【００９３】
図１１（ｂ）は、１つのバッテリユニット識別子２３０に対応付けられたバッテリユニット状態情報６４０の構造例を示している。この図に示すバッテリユニット状態情報６４０は、セル識別子６４１に、セルパッケージ状態情報６４２と管理履歴情報６４３を対応付けた構造を有する。
【００９４】
セル識別子６４１の項目には、対応のセルパッケージ３００が記憶するセル識別子４３０の値が格納される。
【００９５】
セルパッケージ状態情報６４２は、対応のセルパッケージ３００の状態が示される。具体例として、セルパッケージ状態情報６４２にはセルパッケージ３００の充放電回数や電圧値などの情報が格納される。なお、上記セル識別子６４１及びセルパッケージ状態情報６４２は、セルパッケージ管理テーブル２４０の情報内容に基づいて作成される。
【００９６】
管理履歴情報６４３には、セルパッケージ３００についての管理履歴として、これまでに交換のために取り外しが行われた回数や、交換により取り付けられたバッテリユニットを示す情報などが格納される。また、管理履歴情報６４３には、親鍵Ｋｐの更新履歴も格納される。この更新履歴の内容としては、例えば更新された親鍵Ｋｐの世代を示す世代情報（世代番号）や世代ごとの鍵更新日時などの情報とされる。このような更新履歴を管理することにより親鍵Ｋｐの世代管理、つまり、時間軸にしたがったバッテリユニット１００の管理が可能となる。なお、図１１に示したバッテリユニット管理テーブル６３０の構造はあくまでも一例である。
【００９７】
説明を図１０に戻す。また、バッテリユニット１００を管理する機能の１つとして、バッテリユニット管理部６１１は、セルパッケージ管理テーブル２４０に基づいて、バッテリユニット１００内のセルパッケージ３００ごとに交換の要否を判定する。上記のように、バッテリユニット管理テーブル６３０には、セルパッケージごとの充放電回数や電圧値などの情報がセルパッケージ状態情報６４２として格納されている。充放電回数が多いほど、セルパッケージ３００のセル５００の劣化は進んでいると判定できる。また、計測される電圧値と既定電圧値との差に基づいても劣化の進行程度を推定できる。そこで、バッテリユニット管理部６１１は、セルパッケージ状態情報６４２の内容に基づいて、劣化の度合いが一定以上であると判断されるセルパッケージ３００について、交換が必要であると判定する。
【００９８】
認証処理部６１２は、総合管理サーバ６００の配下におけるバッテリユニット１００の各々と相互認証を実行する部位である。この際、認証処理部６１２は、バッテリユニット１００のバッテリ管理装置２００が備えるサーバ対象認証処理部２１２と相互認証処理を実行する。この相互認証処理が成立することにより、総合管理サーバ６００は、相手のバッテリユニット１００が正規のものであると認識する。
【００９９】
親鍵生成部６１３は、前述のように親鍵を更新すべき機会となったことに対応して更新用親鍵を生成する。そして、生成した更新用親鍵を、バッテリユニット対応通信部６０６を経由して、自己の管理下のバッテリユニット１００におけるバッテリ管理装置２００に対して送信する。
【０１００】
［子鍵更新のための処理手順例（第１例）］
図１２のシーケンス図は、本実施形態のバッテリユニット運用システムにおいて子鍵Ｋｃを更新するために実行される処理手順の第１例を示している。先に図２により説明したように、本実施形態では、総合管理サーバ６００によって親鍵Ｋｐが更新されると、これに連係して子鍵Ｋｃを更新する。この第１例は、上記のように親鍵Ｋｐの更新に応じて子鍵Ｋｃの更新を行う場合の処理手順となる。
【０１０１】
また、この図に示す処理は、図１０に示した総合管理サーバ６００のＣＰＵ６０１における所定の機能部、図７に示したバッテリ管理装置２００のＣＰＵ２０１における所定の機能部、及び、図９に示したセル管理装置４００のＣＰＵ４０１における所定の機能部が適宜実行する。また、図示及び説明の便宜上、この図では１つのセル管理装置４００の処理手順が示されているが、この処理手順を、バッテリユニット１００における各セルパッケージ３００内のセル管理装置４００が実行するものとされる。
【０１０２】
まず、親鍵Ｋｐ及び子鍵Ｋｃの更新が行われる以前の所定のタイミングで、バッテリユニット１００内のバッテリ管理装置２００と各セルパッケージ３００は、相互認証処理を実行する（ステップＳ１０１）。つまり、バッテリ管理装置２００のセル対応認証処理部２１３と、セル管理装置４００の認証処理部４１２との間で、その時点で記憶されている親鍵Ｋｐと子鍵Ｋｃを利用した相互認証処理を実行する。この相互認証処理の成立によって、バッテリ管理装置２００は、配下のセルパッケージ３００の各々が正規のものであると認識する。
【０１０３】
そして、上記のように相互認証が成立している状態において、バッテリ管理装置２００のセルパッケージ管理部２１１は、所定のタイミングにおいて、セル管理装置４００の各々からセルパッケージ情報を取得するための処理を実行する（ステップＳ１０２）。セルパッケージ情報は、セル管理装置４００が記憶するセル識別子４３０とセル管理テーブル４４０のデータから成る。
【０１０４】
また、上記ステップＳ１０２としてのセルパッケージ情報の取得処理は、具体的に以下のように実行される。つまり、セルパッケージ管理部２１１は、セル管理装置４００に対してセルパッケージ情報を要求する。この要求に応答してセル管理装置４００のセル管理部４１１は、記憶部４０３に記憶されているセル識別子４３０とセル管理テーブル４４０のデータを読み出し、これらのデータをセルパッケージ情報としてバッテリ管理装置２００に返送する。セルパッケージ管理部２１１は、返送されたセルパッケージ情報を受信する。これにより、セルパッケージ情報が取得される。
【０１０５】
なお、上記ステップＳ１０２に対応してセルパッケージ情報に含まれるセル識別子４３０を送信するセル管理部４１１は、特許請求の範囲に記載の下位情報処理装置識別子送信部に相当する。また、セルパッケージ情報におけるセル識別子４３０を受信するセルパッケージ管理部２１１は、特許請求の範囲に記載の下位情報処理装置識別子受信部に相当する。
【０１０６】
バッテリ管理装置２００において、セルパッケージ管理部２１１は、上記のようにセル管理装置４００から取得したセルパッケージ情報を利用してセルパッケージ管理テーブル２４０を更新する（ステップＳ１０３）。
【０１０７】
そして、その後の或るタイミングにおいて、総合管理サーバ６００の親鍵生成部６１３は、親鍵更新のトリガとなる条件が満たされたことに応じて、親鍵を更新すべきと判断する（ステップＳ１０４）。親鍵更新のトリガとして、本実施形態では、前述のように、一定期間ごとに親鍵Ｋｐを更新することとしている。したがって、この一定期間が経過したことに応じて親鍵生成部６１３は親鍵を更新すべきと判断することになる。また、一定期間を経過しなくとも、例えば鍵情報が漏洩した可能性があると運用者が判断したときには、運用者が総合管理サーバ６００の入力インターフェース６０４としての操作デバイスに対する所定操作により親鍵の更新を指示する。この指示に応じても、親鍵生成部６１３は親鍵を更新すべきと判断する。
【０１０８】
上記のように親鍵を更新すべきと判断したことに応じて、総合管理サーバ６００の認証処理部６１２は、バッテリ管理装置２００のサーバ対応認証処理部２１２と相互認証処理を実行する（ステップＳ１０５）。この相互認証処理が成立することにより、総合管理サーバ６００は、親鍵更新対象のバッテリユニット１００が正規のものであることを認識し、以降の親鍵更新のための処理を継続する。
【０１０９】
そこで、親鍵生成部６１３は、上記ステップＳ１０３による相互認証処理の成立に応じて、更新用親鍵を生成する（ステップＳ１０６）。そして、この更新用親鍵を、更新対象のセルパッケージ３００のバッテリ管理装置２００に対して送信する（ステップＳ１０７）。なお、この更新用親鍵は暗号化されたうえで送信されるようにすることがセキュリティの点から好ましい。
【０１１０】
バッテリ管理装置２００の親鍵更新部２１４は、上記のように送信された更新用親鍵を受信し（ステップＳ１０８）、受信した更新用親鍵を利用して記憶部２０３に記憶されている親鍵Ｋｐを更新する（ステップＳ１０９）。具体的に、更新用親鍵は、更新すべき親鍵Ｋｐそのもののデータであるから、この受信した更新用親鍵を、新たな親鍵Ｋｐとして記憶部２０３に上書き記録すればよい。なお、更新用親鍵が、種データである場合には、この種データから所定のアルゴリズムによって鍵のデータを生成し、この鍵のデータを親鍵Ｋｐとして更新する。
【０１１１】
そして、親鍵更新部２１４は、親鍵Ｋｐの更新を完了すると、その旨を更新検知部２１５に通知する。これに応じて、更新検知部２１５は、親鍵Ｋｐが更新されたことを検知する（ステップＳ１１０）。
【０１１２】
子鍵生成部２１６は、上記更新検知部２１５により親鍵Ｋｐの更新が検知されたことをトリガとして更新用子鍵を生成するようにされている。このため、上記ステップＳ１１０により親鍵Ｋｐの更新が検知されるのに応じて、子鍵生成部２１６は、配下のセルパッケージ３００ごとに個別の更新用子鍵を生成する（ステップＳ１１１）。そして、この生成した子鍵Ｋｃを各セルパッケージ３００のセル管理装置４００に対して送信する（ステップＳ１１２）。
【０１１３】
セル管理装置４００において、子鍵更新部４１３は、上記のように送信された更新用子鍵を受信し（ステップＳ１１３）、この受信した更新用子鍵を利用して記憶部４０３に記憶されている子鍵Ｋｃを更新する（ステップＳ１１４）。なお、更新用子鍵は、更新すべき子鍵Ｋｃそのもののデータであるから、受信した更新用子鍵を子鍵Ｋｃとして記憶部４０３に上書き記録する。なお、更新用子鍵が、種データである場合には、この種データから所定のアルゴリズムによって鍵のデータを生成し、この鍵のデータを子鍵Ｋｃとして更新する。
【０１１４】
上記のように子鍵Ｋｃを更新したことに応じて、子鍵更新部４１３は、バッテリ管理装置２００に対して子鍵更新完了通知を送信する（ステップＳ１１５）。バッテリ管理装置２００において、子鍵生成部２１６は、送信された子鍵更新完了通知を受信する（ステップＳ１１６）。これにより、子鍵生成部２１６は、セルパッケージ３００側にて子鍵Ｋｃの更新が完了したことを認識する。
【０１１５】
また、図示による説明は省略するが、上記ステップＳ１１６により子鍵更新完了通知が受信された後は、所定の機会において、更新後の親鍵Ｋｐと子鍵Ｋｃを利用した相互認証処理（ステップＳ１０１）が実行され、相互認証が成立することになる。また、バッテリ管理装置２００は、ステップＳ１１６における子鍵更新完了通知の受信に応じて、さらに、総合管理サーバ６００に対して、親鍵Ｋｐ及び子鍵Ｋｃの更新完了通知を送信するようにしてもよい。
【０１１６】
図１３のフローチャートは、上記図１２におけるステップＳ１１１としての更新用子鍵生成の処理手順例を示している。なお、この図に示す処理は、１つのセルパッケージ３００に対応する子鍵Ｋｃを生成するための処理となる。
【０１１７】
バッテリ管理装置２００における子鍵生成部２１６は、記憶部２０３に記憶されるセルパッケージ管理テーブル２４０から、更新対象のセルパッケージ３００に対応するセル識別子２４２を読み込む（ステップＳ２０１）。また、子鍵生成部２１６は、記憶部２０３に記憶されるバッテリユニット識別子２３０を読み込む（ステップＳ２０２）。また、子鍵生成部２１６は、記憶部２０３に記憶される親鍵Ｋｐを読み込む（ステップＳ２０３）。
【０１１８】
次に、子鍵生成部２１６は、上記のように読み込んだセル識別子２４２、バッテリユニット識別子２３０及び親鍵Ｋｐを利用した所定の演算によって更新用子鍵を算出する（ステップＳ２０４）。一具体例として、更新用子鍵を以下のように算出する。セル識別子２４２が８バイト、バッテリユニット識別子２３０が８バイト、親鍵Ｋｐが１６バイトとする。そのうえで、これらセル識別子２４２、バッテリユニット識別子２３０及び親鍵Ｋｐを暗号化鍵ｋ１、ｋ２、ｋ３として利用したトリプルＤＥＳ（Data Encryption Standard）により算出される暗号文Ｃを更新用子鍵とする。なお、トリプルＤＥＳとしての演算式は以下のように表される。また、平文Ｐについては、例えば予め設定した所定値を利用すればよい。
C = encrypt k3 (decrypt k2 (encrypt k1 (P)))
【０１１９】
セル識別子２４２は、セルパッケージ３００ごとに固有の値である。したがって、セル識別子を利用して求められた更新用子鍵により更新された子鍵Ｋｃは、セルパッケージ３００ごとに固有な値となる。また、更新用子鍵の生成には親鍵Ｋｃも演算に利用されている。これにより、更新された子鍵Ｋｃの値は親鍵Ｋｐと関連性を有し、対を成すものとなる。このように、本実施形態において更新される子鍵Ｋｃは、セルパッケージ３００ごとに固有であり、かつ、同じバッテリユニット１００における親鍵Ｋｃに対して対と成る関係性が与えられる。これにより、子鍵Ｋｃについてのセキュリティが強化される。
【０１２０】
なお、更新用子鍵の生成にあたり上記のようにセル識別子２４２と親鍵Ｋｐを利用すれば、セルパッケージごとに固有であることと、親鍵Ｋｐに対して対と成る関係を与えることの条件は満たされる。したがって、更新用子鍵の生成にあたり、バッテリユニット識別子２３０を必ずしも演算に利用する必要はない。しかし、バッテリユニット１００ごとに固有となるバッテリユニット識別子２３０を演算に利用すれば、それだけ演算が複雑になるので子鍵Ｋｃのセキュリティをさらに強化することができる。
【０１２１】
また、図１２において、上記ステップＳ１１０としての更新用子鍵生成からステップＳ１１６の子鍵完了通知受信までの処理は、同じバッテリユニット１００におけるセルパッケージ３００ごとに対応して繰り返し実行される。
【０１２２】
そこで、図１４のフローチャートにより、ステップＳ１１０からステップＳ１１６までの処理を、バッテリユニット１００におけるセルパッケージ３００ごとに繰り返し実行するための手順例を示す。なお、図１４において、図１２と同じステップについては同一符号を付している。
【０１２３】
同図に示すように、子鍵生成部２１６は、配下のセルパッケージ３００のうちから更新対象として選択した１つのセルパッケージ３００に対応する更新用子鍵を生成する（ステップＳ１１１）。次に、この生成した更新用子鍵を、更新対象のセルパッケージ３００のセル管理装置４００を送信先として指定して送信する（ステップＳ１１２）。
【０１２４】
更新対象のセル管理装置４００は、上記のように送信された更新用子鍵を利用して子鍵Ｋｃを更新し、子鍵更新完了通知をバッテリ管理装置２００に対して送信する。これに応じて、子鍵生成部２１６は、子鍵更新完了通知を受信する（ステップＳ１１６）。これにより、子鍵生成部２１６は、更新対象のセルパッケージ３００において子鍵の更新が正常に実行されたことを認識する。
【０１２５】
そこで、子鍵生成部２１６は、装填されているすべてのセルパッケージ３００の子鍵Ｋｃの更新が完了したか否かについて判定する（ステップＳ１１７）。ここで、まだ子鍵Ｋｃの更新が行われていないセルパッケージ３００が残っている場合には（ステップＳ１１７−ＮＯ）、ステップＳ１１１に戻ることで、新たな更新対象のセルパッケージ３００を１つ選択して子鍵更新のための処理を実行する。
【０１２６】
そして、装填されているすべてのセルパッケージ３００の子鍵Ｋｃの更新が完了したことを判定すると（ステップＳ１１７−ＹＥＳ）、子鍵生成部２１６は子鍵更新のための処理を終了する。このように、第１例の子鍵更新の処理によっては、親鍵Ｋｐの更新に応じて、同じバッテリユニット１００におけるすべてのセルパッケージ３００ごとに子鍵Ｋｃの更新が行われる。
【０１２７】
なお、例えばバッテリ管理装置２００において親鍵Ｋｐが更新された後において、運用者またはユーザなどのバッテリユニット１００に対する操作による指示に応答して子鍵Ｋｃを更新させるような運用も考えることができる。しかし、このような運用では、子鍵Ｋｃの更新に人為的な作業が伴うことになるために、運用者やユーザにとっての負担が大きく、ミスによって適切に子鍵Ｋｃの更新が行われない場合もあると考えられる。
【０１２８】
これに対して、本実施形態では、バッテリ管理装置２００において更新検知部２１５により親鍵Ｋｐの更新を検知する機能を与え、親鍵Ｋｐの更新の検知をトリガとして子鍵Ｋｃの更新が行われるように構成している。これにより、親鍵Ｋｐの更新に連動して、子鍵Ｋｃは自動的に、かつ、確実に更新されることとなる。
【０１２９】
［子鍵更新のための処理手順例（第２例）］
図１５のシーケンス図は、本実施形態のバッテリユニット運用システムにおいて子鍵Ｋｃを更新するために実行される処理手順の第２例を示している。この第２例は、図３により説明したように、セルパッケージ３００の交換に応じて子鍵Ｋｃの更新を行う場合の処理手順となる。
【０１３０】
また、この図に示す処理は、図７に示したバッテリ管理装置２００のＣＰＵ２０１における所定の機能部、及び、図９に示したセル管理装置４００のＣＰＵ４０１における所定の機能部が適宜実行する。また、図示及び説明の便宜上、この図では１つのセル管理装置４００の処理手順が示されているが、この処理手順を、バッテリユニット１００において子鍵Ｋｃの更新対象とされた各セルパッケージ３００のセル管理装置４００が実行するものとされる。
【０１３１】
まず、セルパッケージ３００の交換が行われる以前において、第１例のステップＳ１０１〜Ｓ１０３（図１２）と同様に、まず、バッテリ管理装置２００のセル対応認証処理部２１３と各セルパッケージ３００の認証処理部４１２は、相互認証処理を実行する（ステップＳ３０１）。また、相互認証が成立している状態において、バッテリ管理装置２００のセルパッケージ管理部２１１は、セル管理装置４００の各々からセルパッケージ情報を取得するための処理を実行する（ステップＳ３０２）。また、セルパッケージ管理部２１１は、取得したセルパッケージ情報を利用してセルパッケージ管理テーブル２４０を更新する（ステップＳ３０３）。
【０１３２】
そして、その後の或るタイミングにおいて、セルパッケージ３００の交換が行われたものとする。なお、セルパッケージ３００の交換に際してのバッテリユニット１００（バッテリ管理装置２００及びセル管理装置４００）の処理は、例えば交換作業者の操作による電源オフとこの後の再起動となる（ステップＳ３０４）。なお、このセルパッケージ３００の交換に際しては、交換が必要であると判断された１以上のセルパッケージ３００が交換されるものであり、装填可能最大数の範囲内であれば、交換可能なセルパッケージ３００の数について特に制約はない。
【０１３３】
上記の再起動に応じて、バッテリ管理装置２００のセルパッケージ管理部２１１は、同じバッテリユニット１００に装填されるすべてのセルパッケージ３００と相互認証を行う（ステップＳ３０５）。なお、この相互認証に際して、交換が行われたセルパッケージ３００は初期値の子鍵Ｋｃを利用することになる。続いて、セルパッケージ管理部２１１は、認証が成立したセルパッケージ３００の各々からセルパッケージ情報を取得するための処理を実行する（ステップＳ３０６）。
【０１３４】
次に、交換検知部２１７は、装填されているセルパッケージ３００のうちから、今回の交換により新たに装填されたセルパッケージ３００を検知する（ステップＳ３０７）。このために、交換検知部２１７は、記憶部２０３に記憶されているセルパッケージ管理テーブル２４０におけるセル識別子２４２と、上記ステップＳ３０６により取得したセルパッケージ情報に含まれるセル識別子４３０とを照合する。この時点で、セルパッケージ管理テーブル２４０におけるセル識別子２４２は、今回の交換前において装填されていたセルパッケージ３００を示している。そこで、交換検知部２１７は、セルパッケージ管理テーブル２４０におけるセル識別子２４２と一致しないセル識別子４３０を特定する。そして、交換検知部２１７は、このように特定したセル識別子４３０に対応するセルパッケージ３００を、新たに装填されたセルパッケージ３００として検知する。
【０１３５】
上記のように新規装填されたセルパッケージ３００を検知したことに応じて、子鍵生成部２１６は、更新用子鍵を生成する（ステップＳ３０８）。ここでは、交換が検知されたセルパッケージ３００のみを対象として、これららのセルパッケージ３００ごとに固有となる更新用子鍵を生成する。なお、１つのセルパッケージ３００に対応して更新用子鍵を生成する処理については、図１３と同様でよい。
【０１３６】
上記ステップＳ３０８からＳ３１３までの処理は、図１２におけるステップＳ１１１からＳ１１６と同様となる。なお、ステップＳ３１１では、ステップＳ３０８により生成された更新用子鍵により初期値を書き換えるように子鍵Ｋｃを更新することになる。また、交換されたセルパッケージ３００が複数である場合には、図１４のフローチャートに示した処理手順が適用される。この場合、ステップＳ１１７においては、今回交換されたセルパッケージ３００のすべてについて子鍵Ｋｃの更新を完了したか否かが判定される。
【０１３７】
説明を図１５に戻す。ステップＳ３１３において新規装填されたセルパッケージ３００のすべてから子鍵更新完了通知を受信したとされると、新規装填されたセルパッケージ３００のすべてについて子鍵Ｋｃの更新が完了したことになる。これに応じて、セルパッケージ管理部２１１は、セルパッケージ管理テーブル２４０を更新する（ステップＳ３１４）。つまり、先のステップＳ３０７により交換が検知されたセルパッケージ３００のセル識別子２４２を、セルパッケージ装填位置２４１に対応させて格納する。これにより、セルパッケージ管理テーブル２４０は、今回のセルパッケージ３００の交換後の装填状態が反映された内容を有することになる。
【０１３８】
なお、バッテリユニット１００が正常でない状態で使用されているなどの異常が発生した場合には、バッテリ管理装置２００がこの異常を検知する。このような異常を検知したバッテリ管理装置２００は、例えばその異常に対応したステータス情報を総合管理サーバ６００に送信する。総合管理サーバ６００は、ステータス情報に基づいてバッテリユニット１００の継続利用の可否判定を行うことができる。また、セル５００に何らかの異常が発生した場合には、この異常をセル管理装置４００が検知し、バッテリ管理装置２００に異常が通知する。この通知に応じてバッテリ管理装置２００は、異常が発生したセル５００の動作を停止させるようにセル管理装置４００を制御することができる。
【０１３９】
なお、本実施形態の子鍵Ｋｃを更新する構成は、これまでに説明したバッテリユニット運用システムに限定されるものではなく、多様な分野で適用が可能である。一例として、プリンタを上位の情報処理装置として、このプリンタに装填されるインクカートリッジを下位の情報処理装置として、相互認証が不成立の場合にはエラーが発生したとしてプリンタを動作させないというシステム構成を考えることができる。つまり、プリンタのメーカが正規品であると認可していないインクカートリッジの不正使用を防止するシステムである。
【０１４０】
上記のシステム構成に対して、本実施形態の子鍵更新の第１例は以下のように適用できる。つまり、ホストからの操作によりプリンタ本体に記憶される親鍵が更新されるのに連動して、そのときに装填されているインクカートリッジに記憶される子鍵が更新されるようにするというものである。また、第２例は以下のように適用できる。つまり、インクカートリッジの交換が行われた際に、その交換されたインクカートリッジに記憶されている初期値の子鍵Ｋｃを、プリンタ本体側にて生成した更新用子鍵により更新するというものである。
【０１４１】
また、上記実施形態では、親鍵Ｋｐの更新またはセルパッケージ３００の交換をトリガとして子鍵Ｋｃを更新することとしている。しかし、本実施形態において、子鍵更新のトリガは上記した事例に限定されるものではない。
【０１４２】
また、上述のバッテリユニット１００及び総合管理サーバ６００は、内部にコンピュータシステムを有している。そして、上述した鍵更新のための処理の過程は、プログラムの形式でコンピュータ読み取り可能な記録媒体に記憶されており、このプログラムをコンピュータが読み出して実行することによって、上記処理が行われる。ここでコンピュータ読み取り可能な記録媒体とは、磁気ディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ、半導体メモリ等をいう。また、このコンピュータプログラムを通信回線によってコンピュータに配信し、この配信を受けたコンピュータが当該プログラムを実行するようにしても良い。
【０１４３】
また、図７、図９及び図１０における処理部の機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することにより本実施形態としての鍵更新のための処理を行ってもよい。なお、ここでいう「コンピュータシステム」とは、ＯＳや周辺機器等のハードウェアを含むものとする。また、「コンピュータシステム」は、ホームページ提供環境（あるいは表示環境）を備えたＷＷＷシステムも含むものとする。また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ＲＯＭ、ＣＤ−ＲＯＭ等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムが送信された場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリ（ＲＡＭ）のように、一定時間プログラムを保持しているものも含むものとする。
【０１４４】
また、上記プログラムは、このプログラムを記憶装置等に格納したコンピュータシステムから、伝送媒体を介して、あるいは、伝送媒体中の伝送波により他のコンピュータシステムに伝送されてもよい。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク（通信網）や電話回線等の通信回線（通信線）のように情報を伝送する機能を有する媒体のことをいう。また、上記プログラムは、前述した機能の一部を実現するためのものであっても良い。さらに、前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル（差分プログラム）であっても良い。
【符号の説明】
【０１４５】
１…電気自動車、２…住宅施設、３…企業施設、１００…バッテリユニット、２００…バッテリ管理装置、２１１…セルパッケージ管理部、２１２…サーバ対応認証処理部、２１３…セル対応認証処理部、２１４…親鍵更新部、２１５…更新検知部、２１６…子鍵生成部、２１７…交換検知部、３００…セルパッケージ、４００…セル管理装置、４１１…セル管理部、４１２…認証処理部、４１３…子鍵更新部、５００…セル、６００…総合管理サーバ、６１１…バッテリユニット管理部、６１２…認証処理部、６１３…親鍵生成部、６３０…バッテリユニット管理テーブル、Ｋｃ…子鍵、Ｋｐ…親鍵
【図１】
0005899729.tif 000002
【図２】
0005899729.tif 000003
【図３】
0005899729.tif 000004
【図４】
0005899729.tif 000005
【図５】
0005899729.tif 000006
【図６】
0005899729.tif 000007
【図７】
0005899729.tif 000008
【図８】
0005899729.tif 000009
【図９】
0005899729.tif 000010
【図１０】
0005899729.tif 000011
【図１１】
0005899729.tif 000012
【図１２】
0005899729.tif 000013
【図１３】
0005899729.tif 000014
【図１４】
0005899729.tif 000015
【図１５】
0005899729.tif 000016