(57)【特許請求の範囲】
【請求項１】
制御対象データを内部に保持する機器であって、
前記機器の現在のライフサイクル状態が何であるかを管理する状態管理手段と、
認証データを受け付けて利用者を認証し当該利用者のロールを応答する利用者認証手段と、
前記制御対象データに対してアクセス要求があった場合に、前記状態管理手段から現在のライフサイクル状態を取得し、前記利用者認証手段で認証を行ってロールを取得し、前記制御対象データと対応付けられた状態アクセス制御ポリシーから現在のライフサイクル状態とアクセス要求を行った利用者のロールに基づいてアクセス可否情報を取得し、当該アクセス可否情報に基づいて前記制御対象データに対するアクセスを制御するアクセス制御手段と、
ライフサイクル状態およびライフサイクル状態の状態遷移に許容される位置および／または時刻が対応付けられた運用計画情報に基づき、所定のタイミングで、前記運用計画情報で許容される位置および／または時刻と現在の位置および／または時刻との比較を行い、一致しない場合に前記制御対象データへのアクセスを禁止するアクセス禁止手段と
を備えたことを特徴とする機器。
【請求項２】
請求項１に記載の機器において、
前記アクセス禁止手段は、現在地の位置情報が変化したタイミング、および／または、前記運用計画情報に設定される開始時刻もしくは完了時刻に達したタイミングで処理を行う
ことを特徴とする機器。
【請求項３】
請求項１または２のいずれか一項に記載の機器において、
前記運用計画情報に設定される位置の認証を行う位置認証手段と、
前記運用計画情報に設定される時刻の認証を行う時刻認証手段と
を備えたことを特徴とする機器。
【請求項４】
請求項３に記載の機器において、
前記位置認証手段は、前記運用計画情報に設定される位置のうち、次に遷移するライフサイクル状態に対応する位置のみを保持し、
前記時刻認証手段は、前記運用計画情報に設定される時刻のうち、次に遷移するライフサイクル状態に対応する時刻のみを保持する
ことを特徴とする機器。
【請求項５】
請求項３または４のいずれか一項に記載の機器において、
前記アクセス禁止手段は、前記位置認証手段および／または前記時刻認証手段を使用するに際し、認証を行い、認証されない場合は前記制御対象データへのアクセスを禁止する
ことを特徴とする機器。
【請求項６】
請求項５に記載の機器において、
前記アクセス禁止手段は、タイマーを備え、稼働開始から所定期間内においては前記位置認証手段および／または前記時刻認証手段の認証を行わない
ことを特徴とする機器。
【請求項７】
請求項１乃至６のいずれか一項に記載の機器において、
前記アクセス制御手段は、前記アクセス禁止手段がアクセスを禁止した前記制御対象データに対し、特別な権限を持つユーザのみにアクセスを許可する
ことを特徴とする機器。
【請求項８】
制御対象データを内部に保持する機器に搭載される管理モジュールであって、
前記機器の現在のライフサイクル状態が何であるかを管理する状態管理手段と、
認証データを受け付けて利用者を認証し当該利用者のロールを応答する利用者認証手段と、
前記制御対象データに対してアクセス要求があった場合に、前記状態管理手段から現在のライフサイクル状態を取得し、前記利用者認証手段で認証を行ってロールを取得し、前記制御対象データと対応付けられた状態アクセス制御ポリシーから現在のライフサイクル状態とアクセス要求を行った利用者のロールに基づいてアクセス可否情報を取得し、当該アクセス可否情報に基づいて前記制御対象データに対するアクセスを制御するアクセス制御手段と、
ライフサイクル状態およびライフサイクル状態の状態遷移に許容される位置および／または時刻が対応付けられた運用計画情報に基づき、所定のタイミングで、前記運用計画情報で許容される位置および／または時刻と現在の位置および／または時刻との比較を行い、一致しない場合に前記制御対象データへのアクセスを禁止するアクセス禁止手段と
を備えたことを特徴とする管理モジュール。
【請求項９】
制御対象データを内部に保持する機器に搭載される管理モジュールを構成するコンピュータを、
前記機器の現在のライフサイクル状態が何であるかを管理する状態管理手段、
認証データを受け付けて利用者を認証し当該利用者のロールを応答する利用者認証手段、
前記制御対象データに対してアクセス要求があった場合に、前記状態管理手段から現在のライフサイクル状態を取得し、前記利用者認証手段で認証を行ってロールを取得し、前記制御対象データと対応付けられた状態アクセス制御ポリシーから現在のライフサイクル状態とアクセス要求を行った利用者のロールに基づいてアクセス可否情報を取得し、当該アクセス可否情報に基づいて前記制御対象データに対するアクセスを制御するアクセス制御手段、
ライフサイクル状態およびライフサイクル状態の状態遷移に許容される位置および／または時刻が対応付けられた運用計画情報に基づき、所定のタイミングで、前記運用計画情報で許容される位置および／または時刻と現在の位置および／または時刻との比較を行い、一致しない場合に前記制御対象データへのアクセスを禁止するアクセス禁止手段
として機能させるプログラム。
【請求項１０】
制御対象データを内部に保持する機器に搭載される管理モジュールを構成するコンピュータが実行する方法であって、
前記機器の現在のライフサイクル状態が何であるかを管理する状態管理工程と、
認証データを受け付けて利用者を認証し当該利用者のロールを応答する利用者認証工程と、
前記制御対象データに対してアクセス要求があった場合に、前記状態管理工程により現在のライフサイクル状態を取得し、前記利用者認証工程により認証を行ってロールを取得し、前記制御対象データと対応付けられた状態アクセス制御ポリシーから現在のライフサイクル状態とアクセス要求を行った利用者のロールに基づいてアクセス可否情報を取得し、当該アクセス可否情報に基づいて前記制御対象データに対するアクセスを制御するアクセス制御工程と、
ライフサイクル状態およびライフサイクル状態の状態遷移に許容される位置および／または時刻が対応付けられた運用計画情報に基づき、所定のタイミングで、前記運用計画情報で許容される位置および／または時刻と現在の位置および／または時刻との比較を行い、一致しない場合に前記制御対象データへのアクセスを禁止するアクセス禁止工程と
を備えたことを特徴とする制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、機器、管理モジュール、プログラムおよび制御方法に関する。
【背景技術】
【０００２】
組み込み機器の技術分野においては、その組み込み機器の各モジュール内に重要な電子情報を格納するようになり、その電子情報を守るために高度なセキュリティが必要とされつつある。ここで組み込み機器とは、特定の機能を実現するために家電製品や機械などの機器にモジュールを組み込んだものである。
【０００３】
また、組み込み機器では、製造、廃棄などの各ステージ（状態、段階）を含むライフサイクルを通して電子情報の安全性を保つこと、つまり一貫して機器の電子情報が安全であることが求められている。例えば、ライフサイクルに応じて主たる利用者が変更される場合に電子情報の安全性を確保する必要性が高い。
【０００４】
組み込み機器には、ライフサイクルに応じて主たる利用者が変更される危機が存在し、これらのケースにおいて安全性を確保する必要がある。そのため、機器全体に対してライフサイクル状態に基づいた機器操作やアクセス制御機能を提供するようなライフサイクル管理システムが知られている。例えば、ＩＣカード製品の修理時や廃棄時において、メモリ内に格納されている利用者データを適正に保護する目的で、生産から廃棄に至るまでのライフサイクルにおける複数のステージ毎に秘密の情報を記憶し、ステージが遷移する毎に所定の手続きを経て、遷移後のステージのアクセス権に応じて情報を読み書きできるアクセス装置の構成が開示されている（例えば、特許文献１参照）。
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかし、今までの組み込み機器のライフサイクル管理システムでは、ライフサイクルの各ステージの遷移時に、悪意あるユーザが、本来移行すべきステージとは別のステージに遷移させることにより、本来与えてはいけないユーザアクセス権が付与され、アクセスしてはいけないデータにアクセスされてしまう問題があった。例えば、ステージ移行要求コマンドがなりすましにより発行されることで、不正なアクセス権が与えられる危険があった。
【０００６】
そこで、本発明は、ライフサイクルの次ステージへ遷移する際のなりすましを防ぐことを目的とする。
【課題を解決するための手段】
【０００７】
上記の課題を解決するため、本発明にあっては、制御対象データを内部に保持する機器であって、前記機器の現在のライフサイクル状態が何であるかを管理する状態管理手段と、認証データを受け付けて利用者を認証し当該利用者のロールを応答する利用者認証手段と、前記制御対象データに対してアクセス要求があった場合に、前記状態管理手段から現在のライフサイクル状態を取得し、前記利用者認証手段で認証を行ってロールを取得し、前記制御対象データと対応付けられた状態アクセス制御ポリシーから現在のライフサイクル状態とアクセス要求を行った利用者のロールに基づいてアクセス可否情報を取得し、当該アクセス可否情報に基づいて前記制御対象データに対するアクセスを制御するアクセス制御手段と、ライフサイクル状態およびライフサイクル状態の状態遷移に許容される位置および／または時刻が対応付けられた運用計画情報に基づき、所定のタイミングで、前記運用計画情報で許容される位置および／または時刻と現在の位置および／または時刻との比較を行い、一致しない場合に前記制御対象データへのアクセスを禁止するアクセス禁止手段とを備える。
【発明の効果】
【０００８】
本発明にあっては、ライフサイクルの次ステージへ遷移する際のなりすましを防ぐことができる。
【図面の簡単な説明】
【０００９】
【図１】ライフサイクルの一例を示す図である。
【図２】組み込み機器の一実施例を示す図である。
【図３】ライフサイクル状態管理モジュールの一実施例を示す図である。
【図４】制御モジュールの一実施例を示す図である。
【図５】ライフサイクル状態管理モジュールの一実施例を示す機能ブロック図である。
【図６】制御モジュールの一実施例を示す機能ブロック図である。
【図７】ライフサイクル状態が変更される処理を示す図である。
【図８】状態アクセス制御ポリシーの一例を示す図である。
【図９】制御対象データへのアクセス処理を示すフローチャートである。
【図１０】ライフサイクル状態の変更処理を示すフローチャートである。
【図１１】認証局が保有する運用計画情報の例を示す図である。
【図１２】位置管理装置の構成例を示す図である。
【図１３】位置管理装置の位置登録情報蓄積部が保持する位置登録情報の例を示す図である。
【図１４】時刻管理装置の構成例を示す図である。
【図１５】時刻管理装置のカレンダー情報蓄積部が保持するカレンダー情報の例を示す図である。
【図１６】運用計画情報を用いた認証装置の通常制御の処理例を示すフローチャートである。
【図１７】認証装置が位置管理装置または時刻管理装置から不正情報を受け取った場合の処理例を示すフローチャートである。
【図１８】位置管理装置の通常制御の処理例を示すフローチャートである。
【図１９】位置管理装置の通常制御に伴う周辺との通信の例を示す図である。
【図２０】位置管理装置の通常制御の処理例を示すシーケンス図である。
【図２１】時刻管理装置の通常制御の処理例を示すフローチャートである。
【図２２】認証装置が時刻管理装置から時刻問い合わせを受けた場合の処理例を示すフローチャートである。
【図２３】時刻管理装置が認証装置から問い合わせを受けた場合の処理例を示すフローチャートである。
【図２４】位置管理装置が認証装置から問い合わせを受けた場合の処理例を示すフローチャートである。
【図２５】運用計画情報に基づく制御を行わない場合の具体例を示す図である。
【図２６】運用計画情報に基づく制御を行う場合の具体例を示す図である。
【発明を実施するための形態】
【００１０】
以下、本発明の好適な実施形態につき説明する。
【００１１】
＜実施例＞
＜ライフサイクル＞
図１は、組み込み機器のライフサイクルの一例を示す。組み込み機器のライフサイクル状態には、ユーザが単にその組み込み機器を利用する過程だけでなく、工場で組み込み機器を製造する生産ステージ１、販売するためにトラックなどの輸送手段で運搬する物流ステージ２、販売店で組み込み機器を販売する販売ステージ３がある。さらに、組み込み機器のライフサイクル状態には、ユーザが利用している最中に組み込み機器が故障した場合などに修理を行うなどのサービスを提供するサービスステージ４、環境保護の観点から組み込み機器を回収し、リサイクルする回収リサイクルステージ５がある。組み込み機器によっては、回収リサイクル過程とともに、またはその代わりに組み込み機器を廃棄する廃棄ステージがあるものもある。
【００１２】
図１に示されるライフサイクルは、国や地域などの仕向けによって異なることがあるが、本実施例では、一例としてこれらの各ステージを通じて組み込み機器を運用することを総称してライフサイクルという。例えば、環境保護の観点から確実に回収を行いリサイクルすることや、廃棄後に悪用されないために、正規のルートで（正規のステージを通じて）ライフサイクルが運用されるように制御するとともに、運用されていることを証明する。
【００１３】
＜組み込み機器＞
ライフサイクル状態管理機能を搭載した機器の一例として、ライフサイクル状態管理機能を備えた車両などの組み込み機器（以下、「機器」という）について説明する。つまり、機器の一例は、組み込み機器である。
【００１４】
図２は、ライフサイクル状態管理機能を備えた車両の制御モジュール構成の一実施例を示す。本実施例に係る車両は、車両全体のライフサイクルの各ステージ（状態）を管理するライフサイクル状態管理モジュール１００、およびライフサイクルの各ステージに応じてアクセス制御ポリシーが定義されたデータを格納する１または複数の制御モジュールによって構成される。ライフサイクル状態管理モジュール１００、および１または複数の制御モジュールのいくつかは、バス５０によって接続されることによってＣＡＮ（Controller Area Network）、ＬＩＮ（Local Interconnect Network）、イーサネット（Ethernet）（登録商標）、ＬＡＮ（Local Area Network）などのネットワークを構成する。これらのネットワークに限らず、ライフサイクル状態管理モジュール１００、および１または複数の制御モジュールをＦｌｅｘＲａｙによって接続することもできる。図２に示される例では、ライフサイクル状態管理モジュール１００、および複数の制御モジュールのいくつかは、バス５０によって接続される。図２には、複数の制御モジュールの例として、駆動制御モジュール２００、エンジン制御モジュール３００、ナビゲーションモジュール４００、および車載カメラモジュール５００が示される。
【００１５】
ライフサイクル状態管理モジュール１００は、機器全体に対して、唯一つのライフサイクルの各ステージを管理するとともに、機器利用者の認証情報を管理する。ライフサイクル状態管理モジュール１００は、機器の１または複数の制御モジュールの構成を把握し、その１または複数の制御モジュールに制御指示を与える。ライフサイクルの各ステージに応じて、機器の１または複数の制御モジュールのライフサイクルの各ステージに応じて設定されるアクセス制御ポリシー（以下、「状態アクセス制御ポリシー」という）がライフサイクル状態管理モジュール１００に格納される。ライフサイクル状態管理モジュール１００は、ライフサイクルの各ステージにおいて、制御の対象となる制御モジュールの状態アクセス制御ポリシーをベースに制御指示を行ったり、各制御の対象となる制御モジュールからの要求を受け付ける。ライフサイクル状態管理モジュール１００は、各制御モジュールからの要求に従い、バス５０を介して機器のライフサイクル状態と、機器を利用するためにアクセスした者（以下、「アクセス者」という）の持つロールを通知する。ここで、ロールはアクセス者の役割を示し、アクセス者がアクセスする権限があるか否かを判断する際に利用される。ロールは人に対して設定することができるし、会社における部署、工場などの人以外のものにも設定できる。
【００１６】
例えば、ライフサイクルの販売ステージ３において営業がアクセス可能な制御モジュールへの制御指示およびデータと、ライフサイクルのサービスステージ４において修理が必要な場合に整備士がアクセス可能な制御モジュールへの制御指示およびデータとはその内容が異なることが想定される。ライフサイクル状態管理モジュール１００は、車両のアクセス者（営業、整備士）の認証情報を管理し、車両のアクセス者と状態アクセス制御ポリシーと関連づける。これにより、営業が修理の際に必要な情報にアクセスしてしまうことによって、整備士が修理の際にアクセスする制御モジュールの情報を壊してしまうことなどを防止できる。
【００１７】
駆動制御モジュール２００は、車両の駆動制御を行う。エンジン制御モジュール３００は、車両のエンジンを制御する。ナビゲーションモジュール４００は、車両を目的地まで導くナビゲーションを行う。車載カメラモジュール５００は、車両に搭載されたカメラを制御する。
【００１８】
駆動制御モジュール２００、エンジン制御モジュール３００、ナビゲーションモジュール４００、および車載カメラモジュール５００には、状態アクセス制御ポリシーが定義されたデータが格納される。状態アクセス制御ポリシーには、ライフサイクルの各ステージに応じてアクセス可能なロールが記載されている。つまり、ライフサイクルにおけるステージが変更されることによって、アクセス可能なロールが変更されうる。
【００１９】
駆動制御モジュール２００、エンジン制御モジュール３００、ナビゲーションモジュール４００、および車載カメラモジュール５００は、必要に応じて、ライフサイクル状態管理モジュール１００から、その時点でのライフサイクルにおけるステージ、およびアクセス者の持つロールを受け取り、データへのアクセス可否の判定を行う。ライフサイクルにおけるステージに基づいて車両に搭載された全制御モジュールの各々に対して一斉にアクセス可能なロールが変更されることによって、個別に変更することによる変更忘れ、変更誤りなどを防止できる。
【００２０】
また、ライフサイクル状態管理モジュール１００にアクセス制御ポリシーが定義されたデータが格納される場合、ライフサイクル状態管理モジュール１００のライフサイクルにおけるステージ、およびアクセス者の持つロールを受けてデータへのアクセス可否の判定を行う場合もある。
【００２１】
ライフサイクル状態管理モジュール１００と各制御モジュールとの間の接続は、ライフサイクル状態管理モジュール１００、駆動制御モジュール２００、ナビゲーションモジュール４００、および車載カメラモジュール５００のようにバス５０を介して直接データをやり取りできるように接続することもできる。また、駆動制御モジュール２００、およびエンジン制御モジュール３００のように、ライフサイクル状態管理モジュール１００が特定の制御モジュールを介して、間接的にデータをやりとりできるように接続することもできる。また、バス５０を介して接続することに加え、ネットワークケーブルなどの有線によって接続することもできるし、無線ネットワークによって接続することもできる。いずれにしても、特定のプロトコルに従って、各制御モジュール間で通信ができるように設定することが求められる。
【００２２】
上述したように、駆動制御モジュール２００、エンジン制御モジュール３００、ナビゲーションモジュール４００、および車載カメラモジュール５００は、状態アクセス制御ポリシーを持ち、データに対するアクセス権の確認を各制御モジュールが個別に行うことができる。アクセス権の確認を各制御モジュールが個別に行う方法以外に、ライフサイクル状態管理モジュール１００に各制御モジュールの持つデータの識別子、およびそのデータに対する状態アクセス制御ポリシーを紐付けることによって対応付けたものを備えることもできる。この場合、ライフサイクル状態管理モジュール１００は、各制御モジュールの持つデータに対して紐付けられた状態アクセス制御ポリシーに基づいてアクセス権の有無を判定し、各制御モジュールに判定結果を通知する。各制御モジュールはライフサイクル状態管理モジュール１００から送信される判定結果を取得し、判定結果にしたがってデータへのアクセスを許可するなどの動作をすることができる。
【００２３】
ライフサイクル状態管理機能を搭載する対象である機器は、共通のライフサイクルにより制御される制御モジュール群全てを指す。つまり、車両を同一のライフサイクルで管理する場合は車両がライフサイクルを持つ機器になるし、ある商材に積まれたボード上の制御モジュールを同一のライフサイクルで管理する場合は、そのボードがライフサイクルを持つ機器になる。特に、機器に搭載される制御モジュールの各々に格納されるデータの寿命と、機器の寿命とが一致する場合に有効である。
【００２４】
＜ライフサイクル状態管理モジュール１００のハードウェア構成＞
図３は、本実施例に係るライフサイクル状態管理モジュール１００のハードウェア構成図である。図３に示されているように、本実施例のライフサイクル状態管理モジュール１００は、バスライン１５０により互いに接続されたＣＰＵ（Central Processing Unit）１０２とメモリアクセスコントローラ１０７とバスＩ／Ｆ１０８と認証装置１１０とを備えている。ＲＯＭ（Read Only Memory）１０４とＲＡＭ（Random Access Memory）１０６はメモリアクセスコントローラ１０７を介してバスライン１５０に接続されている。また、ライフサイクル状態管理モジュール１００は、認証装置１１０と接続される位置管理装置１１１と時刻管理装置１１２とを備えている。認証装置１１０は、外部の認証局６００とも通信を行う。
【００２５】
ＣＰＵ１０２は、ＲＯＭ１０４、およびＲＡＭ１０６のいずれかまたは両方に展開されている、ユーザデータ、状態データ、制御対象データ、ライフサイクル状態管理モジュール用のプログラムなどを読み込み、実行することで、プログラムされた機能を提供する。ユーザデータ、状態データ、制御対象データ、およびライフサイクル状態管理モジュール用のプログラムについては後述する。
【００２６】
認証装置１１０は、バスＩ／Ｆ１０８から入力されるアクセス者の認証情報に基づいてアクセス者を認証する。認証装置１１０は、バスＩ／Ｆ１０８から入力される認証情報のアクセスＩＤ、およびパスワードと、ユーザデータに基づいて、認証情報を入力したアクセス者を認証する。また、認証装置１１０は、認証局６００に保管される運用計画情報に基づいて、位置管理装置１１１の管理する位置と時刻管理装置１１２の管理する時刻について認証を行い、メモリアクセスコントローラ１０７の制御を行う。運用計画情報に従った運用であればメモリアクセスコントローラ１０７にＲＯＭ１０４およびＲＡＭ１０６へのアクセスを許可し、不正が検出された場合はメモリアクセスコントローラ１０７をロック状態にする。認証局６００の保有する運用計画情報の内容、位置管理装置１１１および時刻管理装置１１２の詳細構成、運用計画情報に基づく制御の内容については後述する。
【００２７】
認証装置１１０は、上述したパスワード認証以外にも、チャレンジレスポンス認証、ワンタイムパスワード、指紋、声紋、虹彩などの人間の生体情報を用いたバイオメトリクス認証、ＰＫＩ（Public Key Infrastructure）によって、アクセス者にアクセス権があるか否かを確認することもできる。ＰＫＩによってアクセス者にアクセス権があるか否かを確認する際には、アクセス者は、認証局に対して公開鍵を提出して証明書の発行を依頼する。認証局は、提出された申請書類などに基づき公開鍵の所有者であるアクセス者を審査し、デジタル証明書を発行する。デジタル証明書には公開鍵の所有者情報などとともに、認証局のデジタル署名が付加されている。アクセス者は、ライフサイクル状態管理モジュール１００に対し、デジタル証明書を送付する。ライフサイクル状態管理モジュール１００の認証装置１１０はデジタル証明書を認証局の公開鍵で復号し、デジタル証明書中のアクセス者の情報と認証局の署名を確認すると同時にアクセス者の公開鍵を入手することができる。アクセス者の情報と認証局の署名を確認できることによって、アクセス者にアクセス権があるか否かを確認できる。
【００２８】
認証装置１１０によってアクセス者がアクセス許可されていると認証できた場合、ＣＰＵ１０２は、ＲＯＭ１０４に格納されているデータをＲＡＭ１０６に展開し、そのデータを読み込み実行することによってＲＯＭ１０４に格納されたプログラムされた機能を提供する。認証装置１１０によってアクセス者がアクセス許可されていないと判断した場合、認証装置１１０からの指示に基づいて、ＣＰＵ１０２は、機器全体（車両全体）を利用できない状態に設定することができる。
【００２９】
バスＩ／Ｆ１０８は、機器の外部からアクセス者が機器を操作することによって入力される操作信号や、ライフサイクル状態の変更要求などの制御信号を入力する。また、バスＩ／Ｆ１０８は、バス５０に接続された他の制御モジュールからのライフサイクル状態の通知要求や、アクセス者の認証結果で得られたロールの通知要求を受け付ける。なお、バスＩ／Ｆ１０８以外にも、ネットワークＩ／Ｆを接続することもできる。バスＩ／Ｆ１０８は単独で接続されている場合もあれば、バスＩ／Ｆ１０８とネットワークＩ／Ｆのように複数存在する場合もありうる。また、バスＩ／Ｆ１０８をネットワーク装置によって構成し、スマートフォンなどの携帯端末からネットワーク装置へデータを無線送信することもできる。
【００３０】
なお、上記ライフサイクル状態管理モジュール用のプログラムは、インストール可能な形式または実行可能な形式のファイルで、記録メディアやＣＤ−ＲＯＭ等のコンピュータで読み取り可能な記録媒体に記録して流通させるようにしてもよい。
【００３１】
＜駆動制御モジュール２００のハードウェア構成＞
図４は、本実施例に係る駆動制御モジュール２００のハードウェア構成図である。図４に示されているように、本実施例の駆動制御モジュール２００は、駆動制御モジュール２００全体の動作を制御するＣＰＵ２０２、およびＩＰＬ等のＣＰＵ２０２の駆動に用いられるプログラムを記憶したＲＯＭ２０４を備える。さらに、駆動制御モジュール２００は、ＣＰＵ２０２のワークエリアとして使用されるＲＡＭ２０６、およびバス５０との間のＩ/Ｆであり、駆動制御モジュール２００から各制御モジュールへ出力する操作信号（制御信号）や、制御の対象となる制御モジュールからのアクセスを受け付けるバスＩ／Ｆ２０８を備える。さらに、駆動制御モジュール２００は、上記各構成要素を図４に示されているように電気的に接続するためのアドレスバスやデータバスなどのバスライン２５０を備える。駆動制御モジュール２００に、他のハードウェアブロックを含めて構成することもできる。
【００３２】
ＣＰＵ２０２は、ＲＯＭ２０４に格納されているデータをＲＡＭ２０６に展開するとともに、そのデータを読み込み、実行することで、ＲＯＭ２０４内に格納される駆動制御モジュール用にプログラムされた機能を提供する。このプログラムは、ＣＰＵ２０２にライフサイクル状態に基づいてアクセス制御を行わせる。
【００３３】
バスＩ／Ｆ２０８は、駆動制御モジュール２００の外部へ、ライフサイクルにおけるステージを通知することを要求するライフサイクル状態通知要求を出力する出力手段として使われるとともに、ライフサイクル状態通知要求に応じてライフサイクル状態管理モジュール１００から送信されるライフサイクルにおけるステージ、およびアクセス者の持つロールの通知を入力する入力手段として使われる。
【００３４】
また、駆動制御モジュール２００にアクセス者の認証情報の入力を受け付けるＩ／Ｆを備えるように構成することによって、バスＩ／Ｆ２０８は、その認証情報をライフサイクル状態管理モジュール１００に通知する出力手段としても用いることもできる。
【００３５】
なお、バスＩ／Ｆ２０８以外にも、ネットワークＩ／Ｆを接続することもできる。また、駆動制御モジュール２００にバスＩ／Ｆ２０８を単独で接続することもできるし、バスＩ／Ｆ２０８に加え、ネットワークＩ／Ｆを接続することによって、複数接続することもできる。
【００３６】
なお、上記駆動制御モジュール用のプログラムは、インストール可能な形式または実行可能な形式のファイルで、記録メディアやＣＤ−ＲＯＭ等のコンピュータで読み取り可能な記録媒体に記録して流通させるようにしてもよい。
【００３７】
＜エンジン制御モジュール３００のハードウェア構成＞
エンジン制御モジュール３００は、上述した駆動制御モジュール２００と同様のハードウェア構成を適用できる。但し、ＲＯＭ２０４には、エンジン制御モジュール３００を制御するためのエンジン制御モジュール用プログラムが記録されている。この場合も、エンジン制御モジュール用プログラムは、インストール可能な形式または実行可能な形式のファイルで、記録メディアやＣＤ−ＲＯＭ等のコンピュータで読み取り可能な記録媒体に記録して流通させるようにしてもよい。
【００３８】
＜ナビゲーションモジュール４００のハードウェア構成＞
ナビゲーションモジュール４００は、上述した駆動制御モジュール２００と同様のハードウェア構成を適用できる。但し、ＲＯＭ２０４には、ナビゲーションモジュール４００を制御するためのナビゲーションモジュール用プログラムが記録されている。この場合も、ナビゲーションモジュール用プログラムは、インストール可能な形式または実行可能な形式のファイルで、記録メディアやＣＤ−ＲＯＭ等のコンピュータで読み取り可能な記録媒体に記録して流通させるようにしてもよい。
【００３９】
＜車載カメラモジュール５００のハードウェア構成＞
車載カメラモジュール５００は、上述した駆動制御モジュール２００と同様のハードウェア構成を適用できる。但し、ＲＯＭ２０４には、車載カメラモジュール５００を制御するための車載カメラモジュール用プログラムが記録されている。この場合も、車載カメラモジュール用プログラムは、インストール可能な形式または実行可能な形式のファイルで、記録メディアやＣＤ−ＲＯＭ等のコンピュータで読み取り可能な記録媒体に記録して流通させるようにしてもよい。
【００４０】
なお、着脱可能な記録媒体の他の例として、ＣＤ−Ｒ（Compact Disc Recordable）、ＤＶＤ（Digital Versatile Disk）、ブルーレイディスク等のコンピュータで読み取り可能な記録媒体に記録して提供するように構成してもよい。
【００４１】
＜実施例の機能構成＞
次に、本実施例の機能構成について説明する。図５は、本実施例の機器を構成するライフサイクル状態管理モジュール１００の機能ブロック図である。図５には、ライフサイクル状態管理モジュール１００の機能ブロック図とともに、ＲＯＭ１０４、およびＲＡＭ１０６のいずれかまたは両方に格納されるデータについても記載される。
【００４２】
＜ライフサイクル状態管理モジュール１００の機能構成＞
ライフサイクル状態管理モジュール１００は、利用者認証部１６０、アクセス制御部１６２、および状態管理部１６４を有している。これら各部は、図３に示されている各構成要素のいずれかが、ＲＯＭ１０４からＲＡＭ１０６上に展開されたライフサイクル状態管理モジュール用プログラムである、利用者認証プログラム、アクセス制御プログラム、および状態管理プログラムに従ったＣＰＵ１０２からの命令によって動作することで実現される機能、または機能する手段である。
【００４３】
つまり、利用者認証部１６０は、ＲＯＭ１０４からＲＡＭ１０６上に展開された利用者認証プログラムに従ったＣＰＵ１０２からの命令によって動作することで実現される機能、または機能する手段である。また、アクセス制御部１６２は、ＲＯＭ１０４からＲＡＭ１０６上に展開されたアクセス制御プログラムに従ったＣＰＵ１０２からの命令によって動作することで実現される機能、または機能する手段である。また、状態管理部１６４は、ＲＯＭ１０４からＲＡＭ１０６上に展開された状態管理プログラムに従ったＣＰＵ１０２からの命令によって動作することで実現される機能、または機能する手段である。なお、プログラムの依存関係は一例であり、異なる依存関係を有するプログラムでも同様にライフサイクル状態管理機能を実現できる。
【００４４】
（ライフサイクル状態管理モジュール１００の各機能構成）
次に、図３および図５を用いて、ライフサイクル状態管理モジュール１００の各機能構成について詳細に説明する。なお、以下では、ライフサイクル状態管理モジュール１００の各機能構成部を説明するにあたって、図３に示されている各構成要素のうち、ライフサイクル状態管理モジュール１００の各機能構成部を実現させるための主な構成要素との関係も説明する。
【００４５】
図５に示されているライフサイクル状態管理モジュール１００の利用者認証部１６０は、図３に示されているＣＰＵ１０２からの命令、図３に示されているバスＩ／Ｆ１０８、およびＲＯＭ１０４に格納されるユーザデータ１００１−１００Ｎ（Ｎは、Ｎ＞０の整数）によって実現される。ユーザデータ１００１−１００Ｎは、予め登録することができ、Ｎはユーザ数を表す。さらに、ＲＯＭ１０４には、ユーザデータ１００１−１００Ｎの各々について、認証データ１１０１−１１０Ｎ、およびロール１２０１−１２０Ｎがそれぞれ格納される。
【００４６】
利用者認証部１６０は、バスＩ／Ｆ１０８からアクセス者の認証情報が入力されることによって動作し、その認証情報と、ユーザデータ１００１−１００Ｎのいずれかの認証データに基づいて、アクセス者にアクセス権があることを確認する。利用者認証部１６０は、アクセス者の認証結果と、アクセス者にアクセス権があることを確認できた場合にはそのアクセス者のロールを出力する。具体的には、利用者認証部１６０は、バスＩ／Ｆ１０８から入力されるアクセス者の認証情報に含まれるアクセスＩＤを、ユーザデータ１００１−１００Ｎの認証データ１１０１−１１０Ｎから検索し、認証できるユーザがいるか否かを判断する。認証できるユーザがいる場合には、利用者認証部１６０は、認証情報に含まれるパスワードが、検索の結果特定されたユーザデータの認証データと一致するか否かを判断することによって、アクセス者にアクセス権があるか否かを確認することによって認証する。利用者認証部１６０は、アクセス者にアクセス権があることを確認できた場合には、アクセス制御部１６２に、アクセス者にアクセス権があることを表す情報と、アクセス者のロールを出力する。
【００４７】
図５に示されているライフサイクル状態管理モジュール１００のアクセス制御部１６２は、図３に示されるＣＰＵ１０２からの命令、およびＲＯＭ１０４に格納される制御対象データ１３０１−１３０Ｍ（Ｍは、Ｍ＞０の整数）よって実現される。さらに、ＲＯＭ１０４には、制御対象データ１３０１−１３０Ｍの各々について、状態アクセス制御ポリシー１４０１−１４０Ｍがそれぞれ格納される。ここで、制御対象データ１３０１−１３０Ｍは、車両に搭載される、駆動制御モジュール２００、エンジン制御モジュール３００、ナビゲーションモジュール４００、車載カメラモジュール５００などの各制御モジュールと紐付けることによって対応付けることもできる。つまり、車両に搭載される制御モジュールの各々が制御データを有する。
【００４８】
アクセス制御部１６２は、特定のライフサイクル状態において、アクセス者が制御対象データ１３０１−１３０Ｍにアクセス可能であるか否かを判定する。制御対象データ１３０１−１３０Ｍには、それぞれ状態アクセス制御ポリシー１４０１−１４０Ｍが含まれ、状態アクセス制御ポリシー１４０１−１４０Ｍには、特定のライフサイクル状態においてアクセス可能なユーザ情報、およびアクセス可能なロール情報が格納される。アクセス制御部１６２は、状態アクセス制御ポリシー１４０１−１４０Ｍを参照することによって、アクセス者が制御対象データにアクセス権があるか否かを判断する。状態アクセス制御ポリシー１４０１−１４０Ｍの詳細については後述する。
【００４９】
具体的には、アクセス制御部１６２は、状態管理部１６４を呼び出すことによってライフサイクル状態情報を取得し、利用者認証部１６０を呼び出すことによって該当するアクセス者のロールを取得する。アクセス制御部１６２は、制御対象データ１３０１−１３０Ｍの状態アクセス制御ポリシー１４０１−１４０Ｍを参照することで、各制御対象データについて、状態管理部１６４から取得したライフサイクルのステージにおけるアクセス可能なロールを特定し、その特定したロールにアクセス者のロールが含まれるか否かを判定することによってアクセス者がアクセス可能であるか否かを判定する。
【００５０】
図５に示されているライフサイクル状態管理モジュール１００の状態管理部１６４は、図３に示されるＣＰＵ１０２からの命令、およびＲＯＭ１０４に格納される状態データ１５０１−１５０Ｋ（Ｋは、Ｋ＞０の整数）よって実現される。ここで、状態データ１５０１−１５０Ｋは、車両に搭載される、駆動制御モジュール２００、エンジン制御モジュール３００、ナビゲーションモジュール４００、車載カメラモジュール５００などの各制御モジュールと紐付けることによって対応付けることもできる。また、状態データ１５０１−１５０Ｋは、制御対象データ１３０１−１３０Ｋと紐付けることによって対応付けることもできる。状態データ１５０１−１５０Ｋには、状態遷移の要求があった場合の処理内容を規定する。さらに、ＲＯＭ１０４には、状態データ１５０１−１５０Ｋの各々について、遷移条件１６０１−１６０Ｋ、エントリ（Ｅｎｔｒｙ）動作１７０１−１７０Ｋ、およびエグジット（Ｅｘｉｔ）動作１８０１−１８０Ｋがそれぞれ格納される。
【００５１】
遷移条件１６０１−１６０Ｋには、特定のデータが存在していることや、あるデータが特定の形式を満たす場合にライフサイクルにおけるステージを遷移させることなどの条件が定義される。Ｅｎｔｒｙ動作１７０１−１７０Ｋには、セキュリティ情報の初期設定などの状態遷移の後のライフサイクルを安全に使うための処理が定義される。例えば、Ｅｎｔｒｙ動作１７０１−１７０Ｋには、通信に使用する秘密鍵などを設定する処理などが定義される。Ｅｘｉｔ動作１８０１−１８０Ｋには、ライフサイクルにおける状態を変更する上で、次の状態へ移行する際に残しておくことがセキュリティ上の脆弱性につながるような情報の消去、もしくはそのようなセキュリティ上の脆弱性につながるような情報を書き換える処理が定義される。例えば、Ｅｘｉｔ動作１７０１−１７０Ｋには、前のライフサイクル状態における機器の主要な利用者の個人情報につながるログデータの削除、秘密鍵の改ざん防止のために書き込みを不可とする設定が定義される。
【００５２】
状態管理部１６４は、アクセス制御部１６２からのアクセス要求に応じて、ライフサイクル状態データ１６６を参照し、そのアクセス要求時点のライフサイクルにおけるステージを取得し、アクセス制御部１６２へ通知する。ここで、ライフサイクル状態データ１６６は、機器全体における、その時点でのライフサイクルにおけるステージを示すデータであり、機器全体を通して唯一つ管理されている。ライフサイクル状態データ１６６は、ライフサイクルにおけるステージが変更される状態遷移の度に変更される。例えば、ライフサイクルにおける各ステージにおいて、ステージを変更する人によって変更させるようにしてもよい。状態管理部１６４は、状態遷移が要求された場合に、状態データ１５０１−１５０Ｋに規定される処理を実行する。
【００５３】
＜駆動制御モジュール２００の機能構成＞
次に、本実施例の機能構成について説明を続ける。図６は、本実施例の機器を構成する駆動制御モジュール２００の機能ブロック図である。図６には、駆動制御モジュール２００の機能ブロック図とともに、ＲＯＭ２０４、およびＲＡＭ２０６のいずれかまたは両方に格納されるデータについても記載される。
【００５４】
駆動制御モジュール２００は、アクセス制御部２６２を有し、このアクセス制御部２６２は、図４に示されている各構成要素のいずれかが、ＲＯＭ２０４からＲＡＭ２０６上に展開された駆動制御モジュール用プログラムである、アクセス制御プログラムに従ったＣＰＵ２０２からの命令によって動作することで実現される機能、または機能する手段である。
【００５５】
つまり、アクセス制御部２６２は、ＲＯＭ２０４からＲＡＭ２０６上に展開されたアクセス制御プログラムに従ったＣＰＵ２０２からの命令によって動作することで実現される機能、または機能する手段である。
【００５６】
＜駆動制御モジュール２００の各機能構成＞
次に、図４および図６を用いて、駆動制御モジュール２００の各機能構成について詳細に説明する。なお、以下では、駆動制御モジュール２００の各機能構成部を説明するにあたって、図４に示されている各構成要素のうち、駆動制御モジュール２００の各機能構成部を実現させるための主な構成要素との関係も説明する。
【００５７】
図６に示されている駆動制御モジュール２００のアクセス制御部２６２は、図４に示されるＣＰＵ２０２からの命令、およびＲＯＭ２０４に格納される制御対象データ２３０１−２３０Ｌ（Ｌは、Ｌ＞０の整数）よって実現される。さらに、ＲＯＭ２０４には、制御対象データ２３０１−２３０Ｌの各々について、状態アクセス制御ポリシー２４０１−２４０Ｌがそれぞれ格納される。ここで、制御対象データ２３０１−２３０Ｌは、車両に搭載される、エンジン制御モジュール３００、ナビゲーションモジュール４００、車載カメラモジュール５００などの各制御モジュールと紐付けることによって対応付けることもできる。つまり、車両に搭載される制御モジュールの各々が制御データを有する。
【００５８】
アクセス制御部２６２は、特定のライフサイクル状態において、アクセス者が制御対象データ２３０１−２３０Ｌにアクセス可能であるか否かを判定する。制御対象データ２３０１−２３０Ｌには、それぞれ状態アクセス制御ポリシー２４０１−２４０Ｍが含まれ、状態アクセス制御ポリシー２４０１−２４０Ｌには、特定のライフサイクル状態においてアクセス可能なユーザ情報、およびアクセス可能なロール情報が格納される。アクセス制御部２６２は、状態アクセス制御ポリシー２４０１−２４０Ｌを参照することによって、アクセス者が制御対象データにアクセス権があるか否かを判断する。
【００５９】
具体的には、アクセス制御部２６２は、バスＩ／Ｆ２０８を介して、ライフサイクル状態管理モジュール１００に、ライフサイクル状態の通知と、アクセス者のロールの通知を要求する。アクセス制御部２６２は、バスＩ／Ｆ２０８から、ライフサイクル状態管理モジュール１００から送信されるライフサイクル状態と、アクセス者のロールを取得する。アクセス制御部２６２は、制御対象データ２３０１−２３０Ｌの状態アクセス制御ポリシー２４０１−２４０Ｌを参照することで、各制御対象データについて、ライフサイクル状態管理モジュール１００から取得したライフサイクルのステージにおけるアクセス可能なロールを特定し、その特定したロールにアクセス者のロールが含まれるか否かを判定することによってアクセス者がアクセス可能であるか否かを判定する。
【００６０】
＜ライフサイクル状態が変更される処理＞
図７は、ライフサイクル状態が変更される処理について示す。図７では、製造状態、市場運用状態、廃棄状態の順に機器のライフサイクルのステージが変更され、ライフサイクルのステージの変更にともなって、制御対象データへのアクセス権の内容と、アクセス権を設定できる対象者が変更される。製造状態、市場運用状態、廃棄状態の順にライフサイクルのステージが変更されるのは一例であり、ライフサイクルに他のステージ（状態）を含めることもできる。例えば、ライフサイクルに、リサイクルのために市場運用状態から製造状態に戻すようなライフサイクルを含めることもできる。
【００６１】
製造状態は、市場運用状態に移行する前の状態であり、機器に対して必要な設定が行われる。図７に示される例では、機器製造者は、機器に、機器固体を識別するための情報として「機器固有情報」、機器製造者を認証するための情報として「製造者公開情報」および「製造者秘密情報」を生成し、導入することができる。製造状態では、「機器固有情報」、「製造者公開情報」、および「製造者秘密情報」に対して、機器製造者は読み出し書き出し（生成）可能（ＲＥＡＤ、ＷＲＩＴＥ可能）に設定される。
【００６２】
製造状態から市場運用状態への遷移が可能になったら、状態遷移を行い、市場運用状態に移行する。図７に示される例では、製造状態から市場運用状態に移行することによって、主の利用者が機器製造者から機器利用者へ変化するため、機器利用者が設定した認証情報を用いて管理される。機器利用者は、機器に、機器利用者の個人情報として「機器利用者個人情報」、機器利用者の公開情報として「利用者公開情報」を生成し、導入することができる。市場運用状態では、「利用者個人情報」、および「利用者公開情報」に対して機器利用者は読み出し書き出し（生成）可能（ＲＥＡＤ、ＷＲＩＴＥ可能）に設定され、さらに、「利用者公開情報」については機器利用者以外の者に対しても読み出し可能（ＲＥＡＤ可能）に設定される。
【００６３】
市場運用状態では、機器製造者は「利用者個人情報」を読み出すことができないため、機器利用者は機器製造者を信頼しなくても、機器の安全性を確保することができる。逆に、機器利用者は、「製造者秘密情報」を読み出すことができないため、機器製造者は機器利用者を信頼しなくても、機器製造者の安全性も確保することができる。
【００６４】
また、市場運用状態では、「機器固有情報」については機器製造者、および機器利用者は読み出し可能（ＲＥＡＤ可能）に設定され、「製造者公開情報」については全てのアクセス者に対して読み出し可能（ＲＥＡＤ可能）に設定され、「製造者秘密情報」については機器製造者は読み出し可能（ＲＥＡＤ可能）に設定される。さらに、「製造者秘密情報」については、機器が実行できるように設定される。つまり、市場運用状態では「製造者秘密情報」を書き出す（生成する）ことができないように設定されることによって、機器製造者に対して否認防止の義務を負わせることができる。
【００６５】
市場運用状態から廃棄状態への遷移が可能になったら状態遷移を行い、廃棄状態に移行する。図７に示される例では、市場運用状態から廃棄状態へライフサイクル状態が変化する際のＥｎｔｒｙ処理として、全データを破棄することが設定される例が示される。これによって、機器の廃棄後に、その機器に格納されている秘密情報や、個人情報が盗まれるのを防止できる。例えば、機器の廃棄後に、その機器に格納されている秘密情報や、個人情報が盗まれるのを防止するために、機器に格納されている情報を「新しいデータ」で上書きすることによって全データを消去することによって廃棄する。
【００６６】
ライフサイクルの各ステージに基づいて、機器の全データを管理することができるため、機器の個々のデータについて個別に管理する場合に生じうる特定のデータを破棄し忘れるような状況が発生しない。また、ライフサイクルに関して関連するデータをまとめて状態変更するため、特定のデータのアクセス権の変更ミスなどで発生しうるアクセス権限が昇格するなどのリスクを下げることができる。
【００６７】
＜状態アクセス制御ポリシー＞
図８は、ライフサイクル状態管理モジュール１００の制御対象データ１３０１−１３０Ｍに格納される状態アクセス制御ポリシー１４０１−１４０Ｍの一例を示す。駆動制御モジュール２００、エンジン制御モジュール３００、ナビゲーションモジュール４００、車載カメラモジュール５００の制御対象データ２３０１−２３０Ｌに格納される状態アクセス制御ポリシー２４０１−２４０Ｌについても、図８を適用できる。
【００６８】
ライフサイクル状態管理モジュール１００によって管理対象とされる制御対象データ１３０１−１３０Ｍは、それぞれが状態アクセス制御ポリシー１４０１−１４０Ｍを有する。状態アクセス制御ポリシー１４０１−１４０Ｍの一例は、アクセス者のロール、および機器のライフサイクルの各ステージと紐付けられるアクセス内容から構成されるマトリクス表で表される。
【００６９】
ただし、アクセス者のロールの代わりに特定の利用者の識別情報（ＩＤ）を利用することもできる。これによって、利用者とアクセス内容とを紐付けることができるため、特定の利用者に、他の利用者とは異なるアクセス内容を付与することができる。具体的には、特定の利用者に、多くのアクセスを可能とするなどの強いアクセス権限を与えることができる。また、アクセス者のロールをまとめることによってアクセス者のグループを作成することもできる。アクセス者のグループを利用することで、アクセス者のグループとアクセス内容とを紐付けることができるため、特定のアクセス者のグループに多くのアクセスを可能とするなどの強いアクセス権限を与えることができる。
【００７０】
以下詳細に説明する。
【００７１】
各アクセス者のロールに対して割り当てるアクセス権限のアクセス内容の種類とその説明の一例を以下に示す。
【００７２】
（１）「Ｒｅａｄ」：対象の制御対象データを読み出せる
（２）「Ｗｒｉｔｅ」：対象の制御対象データを書き出せる(生成できる)
（３）「Ｅｘｅｃ」：対象の制御対象データを利用できる
（４）「Ｄｅｌｅｔｅ」：対象の制御対象データを削除できる
（５）「ＲｅＷｒｉｔｅ」：対象の制御対象データを変更できる
各制御対象データに対する状態アクセス制御ポリシーは、制御対象データ毎に作成される。
【００７３】
図８に示される例では、アクセス者のロールの一例として機器製造者、機器管理者、機器利用者を想定し、ライフサイクルのステージの一例として製造状態、市場運用状態、廃棄状態を想定する。さらに、制御対象データとして、各アクセス者のロールにおける秘密情報のアクセス制御ポリシー、および各アクセス者のロールにおける公開情報のアクセス制御ポリシーの設定例について示す。
【００７４】
図８には、（１）機器製造者の秘密情報に関する状態アクセス制御ポリシー、（２）機器管理者の秘密情報に関する状態アクセス制御ポリシー、（３）機器利用者の秘密情報に関する状態アクセス制御ポリシーが示される。さらに、図８には、（４）機器製造者の公開情報に関する状態アクセス制御ポリシー、（５）機器管理者の公開情報に関する状態アクセス制御ポリシー、（６）機器利用者の公開情報に関する状態アクセス制御ポリシーが示される。
【００７５】
図８の（１）、（４）に示されるように、機器製造者が所有する情報は、「製造者秘密情報」、および「製造者公開情報」である。つまり、機器製造者は、製造状態で「製造者秘密情報」、および「製造者公開情報」を生成し、機器に導入することができる。
【００７６】
「製造者秘密情報」について説明する。
【００７７】
製造状態では、機器製造者は「製造者秘密情報」の読み出し（「Ｒｅａｄ」）、書き出し（「Ｗｒｉｔｅ」）、利用（「Ｅｘｅｃ」）、および変更（「ＲｅＷｒｉｔｅ」）が可能であり、機器管理者、および機器利用者は「製造者秘密情報」の利用（「Ｅｘｅｃ」）が可能である。
【００７８】
製造状態から市場運用状態に移行したとき、ライフサイクル状態管理モジュール１００は、機器製造者が「製造者秘密情報」の書き出し（「Ｗｒｉｔｅ」）、および変更（「ＲｅＷｒｉｔｅ」）をできないようにアクセス制御を実施する。これによって、市場運用状態に移行した後に、機器製造者が機器内の秘密情報を無断で改竄することを防止できるため、秘密情報を用いて実行した処理の否認を防止することができる。
【００７９】
市場運用状態では、機器管理者、および機器利用者は、「製造者秘密情報」の利用（「Ｅｘｅｃ」）ができる。ただし、「製造者秘密情報」には、機器製造者の署名用の秘密鍵などの機器製造者自身しか利用（「Ｅｘｅｃ」）権限を持たないものも含まれる。
【００８０】
市場運用状態から廃棄状態への遷移が可能になったら状態遷移を行い、廃棄状態に移行する。ライフサイクル状態管理モジュール１００は、機器製造者が「製造者秘密情報」の読み出し（「Ｒｅａｄ」）、および利用（「Ｅｘｅｃ」）をできないようにアクセス制御を実施するとともに削除（「Ｄｅｌｅｔｅ」）をできるようにアクセス制御を実施する。機器製造者は、「製造者秘密情報」を削除（「Ｄｅｌｅｔｅ」）などを実施することによって廃棄できる。これによって、機器の廃棄後に、その機器に格納されている「製造者秘密情報」が盗まれることを防止できる。さらに、安全性の観点から廃棄状態においてはライフサイクル状態管理モジュール１００は、機器管理者が「製造者秘密情報」の削除（「Ｄｅｌｅｔｅ」）をできるようにアクセス制御を実施できる。
【００８１】
「製造者公開情報」について説明する。
【００８２】
製造状態では、機器製造者は「製造者公開情報」の読み出し（「Ｒｅａｄ」）、書き出し（「Ｗｒｉｔｅ」）、利用（「Ｅｘｅｃ」）、および変更（「ＲｅＷｒｉｔｅ」）が可能であり、機器管理者、および機器利用者は「製造者公開情報」の読み出し（「Ｒｅａｄ」）、および利用（「Ｅｘｅｃ」）が可能である。
【００８３】
製造状態から市場運用状態に移行したとき、ライフサイクル状態管理モジュール１００は、機器製造者が「製造者公開情報」の書き出し（「Ｗｒｉｔｅ」）、および変更（「ＲｅＷｒｉｔｅ」）をできないようにアクセス制御を実施する。これによって、市場運用状態に移行した後に、機器製造者が機器内の公開情報を無断で改竄することを防止できるため、公開情報を用いて実行した処理の否認を防止することができる。
【００８４】
市場運用状態では、機器管理者、および機器利用者は、「製造者公開情報」の読み出し（「Ｒｅａｄ」）、および利用（「Ｅｘｅｃ」）ができる。
【００８５】
市場運用状態から廃棄状態への遷移が可能になったら状態遷移を行い、廃棄状態に移行する。ライフサイクル状態管理モジュール１００は、機器製造者が「製造者公開情報」の読み出し（「Ｒｅａｄ」）、および利用（「Ｅｘｅｃ」）をできないようにアクセス制御を実施するとともに削除（「Ｄｅｌｅｔｅ」）をできるようにアクセス制御を実施する。機器製造者は、「製造者公開情報」を削除（「Ｄｅｌｅｔｅ」）などを実施することによって廃棄できる。これによって、機器の廃棄後に、その機器に格納されている「製造者公開情報」が盗まれることを防止できる。さらに、安全性の観点から廃棄状態においてはライフサイクル状態管理モジュール１００は、機器管理者が「製造者公開情報」の削除（「Ｄｅｌｅｔｅ」）をできるようにアクセス制御を実施できる。
【００８６】
図８の（２）、（５）に示されるように、機器管理者が所有する情報は、「管理者秘密情報」、および「管理者公開情報」である。つまり、機器管理者は、市場運用状態で「管理者秘密情報」、および「管理者公開情報」を生成し、機器に導入することができる。
【００８７】
「管理者秘密情報」について説明する。
【００８８】
市場運用状態では、機器管理者は「管理者秘密情報」の読み出し（「Ｒｅａｄ」）、書き出し（「Ｗｒｉｔｅ」）、および利用（「Ｅｘｅｃ」）が可能であり、機器製造者、および機器利用者は「管理者秘密情報」の利用（「Ｅｘｅｃ」）が可能である。「管理者秘密情報」には、機器管理者の署名用の秘密鍵などの機器管理者自身しか利用（「Ｅｘｅｃ」）権限を持たない情報が含まれる。これにより、「管理者秘密情報」を機器製造者などの機器管理者以外の他の利用者から保護することができるため、安全にライフサイクル状態管理モジュール１００を利用することができる。
【００８９】
市場運用状態から廃棄状態への遷移が可能になったら状態遷移を行い、廃棄状態に移行する。ライフサイクル状態管理モジュール１００は、機器管理者が「管理者秘密情報」の読み出し（「Ｒｅａｄ」）、書き出し（「Ｗｒｉｔｅ」）、および利用（「Ｅｘｅｃ」）をできないようにアクセス制御を実施するとともに削除（「Ｄｅｌｅｔｅ」）をできるようにアクセス制御を実施する。機器管理者は、「管理者秘密情報」を削除（「Ｄｅｌｅｔｅ」）などを実施することによって廃棄できる。これによって、機器の廃棄後に、その機器に格納されている「管理者秘密情報」が盗まれることを防止できる。さらに、安全性の観点から廃棄状態においてはライフサイクル状態管理モジュール１００は、機器製造者が「管理者秘密情報」の削除（「Ｄｅｌｅｔｅ」）をできるようにアクセス制御を実施できる。
【００９０】
「管理者公開情報」について説明する。
【００９１】
市場運用状態では、機器管理者は「管理者公開情報」の読み出し（「Ｒｅａｄ」）、書き出し（「Ｗｒｉｔｅ」）、および利用（「Ｅｘｅｃ」）が可能であり、機器製造者、および機器利用者は「管理者公開情報」の読み出し（「Ｒｅａｄ」）、および利用（「Ｅｘｅｃ」）が可能である。
【００９２】
市場運用状態から廃棄状態への遷移が可能になったら状態遷移を行い、廃棄状態に移行する。ライフサイクル状態管理モジュール１００は、機器利用者が「管理者公開情報」の読み出し（「Ｒｅａｄ」）、書き出し（「Ｗｒｉｔｅ」）、および利用（「Ｅｘｅｃ」）をできないようにアクセス制御を実施するとともに削除（「Ｄｅｌｅｔｅ」）をできるようにアクセス制御を実施する。機器管理者は、「管理者公開情報」を削除（「Ｄｅｌｅｔｅ」）などを実施することによって廃棄できる。これによって、機器の廃棄後に、その機器に格納されている「管理者公開情報」が盗まれることを防止できる。さらに、安全性の観点から廃棄状態においてはライフサイクル状態管理モジュール１００は、機器製造者が「管理者公開情報」の削除（「Ｄｅｌｅｔｅ」）をできるようにアクセス制御を実施できる。
【００９３】
図８の（３）、（６）に示されるように、機器利用者が所有する情報は、「利用者秘密情報」、および「利用者公開情報」である。つまり、機器利用者は、市場運用状態で「利用者秘密情報」、および「利用者公開情報」を生成し、機器に導入することができる。
【００９４】
「利用者秘密情報」について説明する。
【００９５】
市場運用状態では、機器利用者、および機器管理者は「利用者秘密情報」の読み出し（「Ｒｅａｄ」）、書き出し（「Ｗｒｉｔｅ」）、および利用（「Ｅｘｅｃ」）が可能であり、機器製造者は「利用者秘密情報」の利用（「Ｅｘｅｃ」）が可能である。「利用者秘密情報」には、機器利用者の署名用の秘密鍵などの機器利用者自身しか利用（「Ｅｘｅｃ」）権限を持たない情報が含まれる。これにより、「利用者秘密情報」を機器製造者などの機器管理者、および機器利用者以外の他の利用者から保護することができるため、安全にライフサイクル状態管理モジュール１００を利用することができる。
【００９６】
ここで、機器管理者が、「利用者秘密情報」の読み出し（「Ｒｅａｄ」）、書き出し（「Ｗｒｉｔｅ」）をできるようにするか否かは、ライフサイクル状態管理モジュール１００の運用によって設定できる。例えば、機器管理者が強いアクセス権限を有する場合には、機器管理者は「利用者秘密情報」を読み出し（「Ｒｅａｄ」）できるように設定し、そうではなく機器管理者と機器利用者のアクセス権限が近く、類似している場合には、機器管理者は「利用者秘密情報」を読み出し（「Ｒｅａｄ」）できないように設定する。
【００９７】
市場運用状態から廃棄状態への遷移が可能になったら状態遷移を行い、廃棄状態に移行する。ライフサイクル状態管理モジュール１００は、機器利用者、および機器管理者が「利用者秘密情報」の読み出し（「Ｒｅａｄ」）、書き出し（「Ｗｒｉｔｅ」）、および利用（「Ｅｘｅｃ」）をできないようにアクセス制御を実施するとともに削除（「Ｄｅｌｅｔｅ」）をできるようにアクセス制御を実施する。機器利用者、および機器管理者は、「利用者秘密情報」を削除（「Ｄｅｌｅｔｅ」）などを実施することによって廃棄できる。これによって、機器の廃棄後に、その機器に格納されている「利用者秘密情報」が盗まれることを防止できる。さらに、安全性の観点から廃棄状態においてはライフサイクル状態管理モジュール１００は、機器製造者が「利用者秘密情報」の削除（「Ｄｅｌｅｔｅ」）をできるようにアクセス制御を実施できる。
【００９８】
「利用者公開情報」について説明する。
【００９９】
市場運用状態では、機器利用者、および機器管理者は「利用者公開情報」の読み出し（「Ｒｅａｄ」）、書き出し（「Ｗｒｉｔｅ」）、および利用（「Ｅｘｅｃ」）が可能であり、機器製造者は「利用者公開情報」の利用（「Ｅｘｅｃ」）が可能である。
【０１００】
ここで、機器管理者が、「利用者公開情報」の読み出し（「Ｒｅａｄ」）、書き出し（「Ｗｒｉｔｅ」）をできるようにするか否かは、ライフサイクル状態管理モジュール１００の運用によって設定できる。例えば、機器管理者が強いアクセス権限を有する場合には、機器管理者は「利用者公開情報」を読み出し（「Ｒｅａｄ」）、書き出し（「Ｗｒｉｔｅ」）をできるように設定し、そうではなく機器管理者と機器製造者のアクセス権限が近く、類似している場合には、機器管理者は「利用者公開情報」を読み出し（「Ｒｅａｄ」）、書き出し（「Ｗｒｉｔｅ」）をできないように設定する。
【０１０１】
市場運用状態から廃棄状態への遷移が可能になったら状態遷移を行い、廃棄状態に移行する。ライフサイクル状態管理モジュール１００は、機器利用者、および機器管理者が「利用者公開情報」の読み出し（「Ｒｅａｄ」）、書き出し（「Ｗｒｉｔｅ」）、および利用（「Ｅｘｅｃ」）をできないようにアクセス制御を実施するとともに削除（「Ｄｅｌｅｔｅ」）をできるようにアクセス制御を実施する。機器利用者、および機器管理者は、「利用者公開情報」を削除（「Ｄｅｌｅｔｅ」）などを実施することによって廃棄できる。これによって、機器の廃棄後に、その機器に格納されている「利用者公開情報」が盗まれることを防止できる。さらに、安全性の観点から廃棄状態においてはライフサイクル状態管理モジュール１００は、機器製造者が「利用者公開情報」の削除（「Ｄｅｌｅｔｅ」）をできるようにアクセス制御を実施できる。
【０１０２】
＜制御対象データへのアクセス処理＞
図９は、制御対象データへのアクセス処理を示す。
【０１０３】
制御対象データへのアクセスを要求された場合、ライフサイクル状態管理モジュール１００のアクセス制御部１６２は、その制御対象データへのアクセスを認可するか、却下するかの結論を出す。なお、種々のプログラムも制御対象データとしてＲＯＭ１０４に格納されるため、制御対象データへのアクセス、種々のプログラムを実行する操作によるアクセスは原則的に全て制御対象データへのアクセス処理が要求される。ただし、アクセス制御プログラム、状態管理プログラム、利用者認証プログラムなどのデータアクセスシーケンスの実行に関係するものについてはこの限りでなく、任意のアクセス者によって利用可能とすることができる。
【０１０４】
ここでは、アクセス者が、制御対象データ１３０Ｍへのアクセスを要求した場合について説明する。
【０１０５】
ステップＳ９０２では、制御対象データ１３０Ｍへのアクセス要求があった場合、アクセス制御部１６２は、現在のライフサイクル状態を確認するために、状態管理部１６４を呼び出す。状態管理部１６４は、アクセス制御部１６２からの呼び出しに応じて、ライフサイクル状態データ１６６からライフサイクル状態情報を取得し、アクセス制御部１６２へ送信する。アクセス制御部１６２は、状態管理部１６４からのライフサイクル状態情報を取得することによって、現在のライフサイクル状態を確認できる。
【０１０６】
ステップＳ９０４では、アクセス制御部１６２は、制御対象データ１３０Ｍの状態アクセス制御ポリシー１４０Ｍの現在のライフサイクル状態の部分を参照する。
【０１０７】
ステップＳ９０６では、アクセス制御部１６２は、制御対象データ１３０Ｍの状態アクセス制御ポリシー１４０Ｍの現在のライフサイクル状態の部分に、アクセス可能な権限が設定されている情報があるか否かを判断する。
【０１０８】
ステップＳ９０８では、制御対象データ１３０Ｍの状態アクセス制御ポリシー１４０Ｍの現在のライフサイクル状態の部分に、アクセス可能な権限が設定されている情報がある場合、アクセス制御部１６２は、制御対象データ１３０Ｍに権限がなくてもアクセス可能であるか否かを判定する。
【０１０９】
ステップＳ９１０では、ステップＳ９０８によって制御対象データ１３０Ｍには権限がないとアクセス不可能であると判定された場合、利用者認証部１６０は、アクセス者を認証する。つまり、アクセス制御部１６２によって、状態アクセス制御ポリシー１４０Ｍに制御対象データ１３０Ｍへのアクセスにロールによるアクセス制御が設定され、ロールの確認が必要であると判定された場合は、利用者認証部１６０は、アクセス者の認証を実施する。利用者認証部１６０は、アクセス者を認証する際に、アクセス者の識別情報、およびアクセス者の認証情報を要求し、アクセス者の識別情報、およびアクセス者の認証情報は、バスＩ／Ｆ１０８から入力される。例えば、バスＩ／Ｆ１０８に入力装置を接続し、ユーザＩＤ、およびパスワードを入力することによってパスワード認証を適用することができる。
【０１１０】
ステップＳ９１２では、利用者認証部１６０は、アクセス者の認証が成功したか否かを判定する。
【０１１１】
ステップＳ９１４では、利用者認証部１６０によってアクセス者の認証が成功したと判定した場合、利用者認証部１６０は、アクセス者のロールをアクセス制御部１６２に入力する。アクセス制御部１６２は、アクセス者のロールに基づいて、アクセス者は制御対象データ１３０Ｍにアクセスする権限を有するか否かを判定する。アクセス制御部１６２は、状態管理部１６４から取得したライフサイクルのステージにおけるアクセス可能なロールを特定し、その特定したロールにアクセス者のロールが含まれるか否かを判定することによってアクセス者がアクセス可能であるか否かを判定する。
【０１１２】
ステップＳ９１６では、ステップＳ９１４においてアクセス者がアクセス可能であると判定した場合、またはステップＳ９０８において制御対象データ１３０Ｍに権限がない場合でもアクセス可能であると判定した場合、アクセス制御部１６２は、アクセス者にデータアクセスを認可する。
【０１１３】
ステップＳ９１８では、ステップＳ９０６で制御対象データ１３０Ｍの状態アクセス制御ポリシー１４０Ｍにアクセス可能な権限が設定されていないと判定した場合、アクセス者の認証を行う前に、アクセス制御部１６２は、そのアクセス者がデータへアクセスすることを拒否する。一例として、製造者の公開鍵情報などの書き込みが許されていないファイルなどの製造者秘密情報が存在する場合、アクセス制御部１６２は、その製造者秘密情報に書き込むためのアクセス要求を却下する。
【０１１４】
また、ステップＳ９１８では、ステップＳ９１２で利用者認証部１６０によってアクセス者の認証が成功したと判定されない場合、利用者認証部１６０は、認証が失敗したことを示す結果をアクセス制御部１６２に入力する。アクセス制御部１６２、利用者認証部１６０から認証が失敗したことを示す結果を取得した場合、そのアクセス者がデータへのアクセスすることを拒否する。
【０１１５】
また、ステップＳ９１８では、ステップＳ９１４においてアクセス者がアクセス可能でないと判定した場合、アクセス制御部１６２は、そのアクセス者がデータへのアクセスすることを拒否する。
【０１１６】
図９に示されるフローチャートに示される処理の順序は、この限りでなく適宜変更可能である。例えば、ステップＳ９１０の処理は、ステップＳ９０２の前に実施することも可能である。
【０１１７】
また、図９に示されるフローチャートに示される処理の一部は、駆動制御モジュール２００の処理にも適用できる。つまり、ライフサイクル状態管理モジュール１００は、ステップＳ９０２の処理の後に、駆動制御モジュール２００にライフサイクル状態を通知する。
【０１１８】
駆動制御モジュール２００のアクセス制御部２６２は、ライフサイクル状態管理モジュール１００から通知されるライフサイクル状態に基づいて、ステップＳ９０４−Ｓ９０８の処理を実施する。駆動制御モジュール２００のアクセス制御部２６２は、制御対象データが権限なしにアクセス可能である場合には制御対象データへのアクセスを許可し、制御対象データが権限なしにアクセス可能でない場合にはライフサイクル状態管理モジュール１００に通知する。
【０１１９】
ライフサイクル状態管理モジュール１００は、制御対象データは権限なしにアクセス可能でないことが通知された場合に、ステップＳ９１０−Ｓ９１２の処理を実施する。ライフサイクル状態管理モジュール１００は、認証が失敗した場合にはアクセスを却下し、成功した場合には駆動制御モジュール２００に通知する。
【０１２０】
駆動制御モジュール２００のアクセス制御部２６２は、認証が成功したことが通知された場合、認証者が制御対象データにアクセス権限を有する否かを判断し、ステップＳ９１６またはＳ９１８の処理を実施する。
【０１２１】
また、図９に示されるフローチャートに示される処理の一部は、駆動制御モジュール２００と同様に、エンジン制御モジュール３００、ナビゲーションモジュール４００、および車載カメラモジュール５００の処理にも適用できる。
【０１２２】
＜ライフサイクル状態の変更処理＞
図１０は、ライフサイクル状態の変更が行われる際の処理を示す。
【０１２３】
ステップＳ１００２では、ライフサイクル状態管理モジュール１００のアクセス制御部１６２は、ライフサイクル状態を変更する要求（以下、「状態変更要求」という）を受け付ける。
【０１２４】
ステップＳ１００４では、ライフサイクル状態管理モジュール１００のアクセス制御部１６２は、状態変更要求を行ったアクセス者は、アクセスが許可された者であるか否かを判断する。アクセス制御部１６２は、データへのアクセス制御の後に、状態変更要求にしたがって、ライフサイクル状態を変更する処理を行う。具体的には、アクセス制御部１６２は、状態変更要求を受け付けた際に、図９に示される制御対象データへのアクセス処理を実行する。アクセス制御部１６２は、制御対象データへのアクセスが認可された場合にはライフサイクル状態を変更する処理を行い、アクセスが認可されない場合にはライフサイクル状態を変更する処理を却下する。
【０１２５】
ステップＳ１００６では、ステップＳ１００４で状態変更要求を行ったアクセス者がアクセスを許可された者である場合、状態管理部１６４は、遷移条件を検索する。状態変更要求を受け付けたとき、アクセス制御部１６２は、状態管理部１６４を呼び出し、状態変更要求が行われた状態における遷移条件の通知を要求する。状態管理部１６４は、アクセス制御部１６２からの遷移条件の通知の要求にしたがって、遷移条件を通知する。遷移条件は、特定のデータが存在していること、あるデータが特定の形式を満たすことなどである。ここでは、一例として、遷移条件は、ＲＯＭ１０４に格納された全データのハッシュ値を取り、データの改ざんを受けていないことを確認することである場合について説明する。
【０１２６】
ステップＳ１００８では、アクセス制御部１６２は、状態管理部１６４から通知される遷移条件に基づいて、状態変更のための遷移条件を満たしているか否かを判断する。ここでは、ＲＯＭ１０４に格納された全データのハッシュ値を取り、データの改ざんを受けていないことを確認することが遷移条件であるため、アクセス制御部１６２は、制御対象データ１３０１−１３０ＭなどのＲＯＭ１０４に格納された全データのハッシュ値を取り、データの改ざんを受けているかいないかを判断することによって、状態変更の遷移条件を満たしているか否かを判断する。
【０１２７】
ステップＳ１０１０では、ステップＳ１００８でデータの改ざんを受けていないと判断した場合、つまり、状態変更条件を満たしている場合、アクセス制御部１６２は、状態変更前の状態からＥｘｉｔする処理を行う。状態変更条件を満たしている場合、アクセス制御部１６２は、状態管理部１６４を呼び出し、状態管理部１６４に状態遷移前の状態データのＥｘｉｔ動作を通知するように要求する。状態管理部１６４は、アクセス制御部１６２からのＥｘｉｔ動作の通知要求にしたがって、状態遷移前の状態データのＥｘｉｔ動作を通知する。アクセス制御部１６２は、状態管理部１６４から通知されるＥｘｉｔ動作にしたがってＥｘｉｔ処理を実施する。Ｅｘｉｔ処理を実施することによって、ライフサイクル状態を変更する上で、次の状態に移行する際に残しておくことがセキュリティ上の脆弱性につながるような情報の消去、もしくは、そのような情報の書き換えを実施できる。Ｅｘｉｔ処理の一例は、前回のライフサイクル状態における機器の主要な利用者の個人情報につながるログデータの削除、秘密鍵の改ざん防止のための書き込み不可設定などである。
【０１２８】
ステップＳ１０１２では、ステップＳ１０１０においてＥｘｉｔ処理が実施された後、アクセス制御部１６２は、状態変更を実施する。アクセス制御部１６２は、状態管理部１６４に状態の変更を通知する。状態管理部１６４は、アクセス制御部１６２から状態の変更が通知されると、現在の状態として記憶している内容を要求された状態に入れ替えることによって、管理対象の状態を遷移させる。
【０１２９】
ステップＳ１０１４では、状態変更後の状態へのＥｎｔｒｙ処理を実施する。状態変更後、アクセス制御部１６２は、状態管理部１６４を呼び出し、Ｅｎｔｒｙ動作を要求する。状態管理部１６４は、アクセス制御部１６２からのＥｎｔｒｙ動作の通知の要求にしたがって、Ｅｎｔｒｙ動作を通知する。アクセス制御部１６２は、状態管理部１６４から通知されるＥｎｔｒｙ動作にしたがって、Ｅｎｔｒｙ動作を実施する。Ｅｎｔｒｙ動作では、状態変更後のライフサイクルを安全に使うための処理として、セキュリティ情報の初期設定などを実施する。一例として、通信のための鍵の設定が必要になる場合に、機器が鍵を自動生成するなどの処理を実施する。
【０１３０】
ステップＳ１０１６では、ステップＳ１０１４によって、Ｅｎｔｒｙ処理が実施された後、状態変更を完了する。
【０１３１】
ステップＳ１０１８では、ステップＳ１００４で状態変更要求を行ったアクセス者がアクセスを許可された者でない場合、またはステップＳ１００８でデータの改ざんを受けていると判断した場合、アクセス制御部１６２は、状態変更要求を却下する。
【０１３２】
図１０に示されるフローチャートに示される処理の順序は、この限りでなく適宜変更可能である。
【０１３３】
＜運用計画情報に基づく制御＞
図１１は認証局６００が保有する運用計画情報の例を示す図である。図１１において、運用計画情報は、ライフサイクルのステージに対応付けて、緯度、経度、開始時刻、完了時刻を保持している。緯度・経度は、位置管理装置１１１が位置登録情報として扱う。開始時刻・完了時刻は、時刻管理装置１１２がカレンダー情報として扱う。
【０１３４】
また、ライフサイクルのステージとしては、各ステージの遷移中の管理も行うため、"生産−＞販売"，"販売−＞保守"といった中間的な状態も含めている。これは、ライフサイクル状態管理モジュール１００が状態アクセス制御ポリシーを適用する上では不要な情報であるなお、このような中間的な状態も、機器からのアクセスを制御するために用いてもよい。
【０１３５】
運用計画情報において、位置登録情報（緯度・経度）とカレンダー情報（開始時刻・完了時刻）の両者を常に設定しなければならないわけではなく、位置登録情報のみの場合も可能であり、カレンダー情報のみの場合も可能である。図１１は、生産段階で決まっている情報を示しており、ステージを進むことによって情報を更新することは可能である。例えば、保守のステージであれば、お客様に販売した時刻からサービスが開始されるため、開始時刻は生産段階では不明であるので"−"となっている。この情報は、販売業者のみ更新できる情報として扱え、販売時に納品までの計画を元に更新するなどの手段を設けてもよい。
【０１３６】
図示したのは基本的なデータ構成であり、必要に応じて、位置情報をより詳細に特定するために情報を追加することや、位置の範囲を指定すること、複数の時刻情報を扱うことなども可能である。
【０１３７】
図１２は位置管理装置１１１の構成例を示す図である。位置管理装置１１１は、位置認証部１１１１と位置登録情報蓄積部１１１２と位置情報取得部１１１３とを備えている。
【０１３８】
位置認証部１１１１は、位置登録情報蓄積部１１１２に保存されている次ステージの位置情報を参照し、位置情報取得部１１１３が取得した現在地の位置情報と比較し、その結果を認証装置１１０へ送る。認証装置１１０は、位置管理装置１１１が本物であることを認証するために、署名付きの情報を認証局６００へ送る。認証局６００は、署名検証を行い、位置管理装置１１１の入れ替えが行われていないかの確認を行う。これらの認証を行うための別の手段を設けてもよい。
【０１３９】
位置登録情報蓄積部１１１２は、少なくとも次ステージの位置登録情報を管理する。次ステージの位置登録情報のみを管理することで、運用計画情報の全ての情報を管理させないようにし、省メモリ化かつ位置情報の悪用によるなりすましの可能性を防ぐことができる。後述する処理例では、次ステージの位置登録情報のみを管理するものとしている。
【０１４０】
位置情報取得部１１１３は、ＧＰＳ（Global Positioning System）などの汎用的な技術を使って現在地の位置情報を取得する。また、現在地の位置情報を特定するために、ＧＰＳ以外にも、携帯電話やＰＨＳの基地局やＷｉＦｉアクセスポイントの情報などを使って現在の位置情報を取得してもよい。
【０１４１】
図１３は位置管理装置１１１の位置登録情報蓄積部１１１２が保持する位置登録情報の例を示す図である。図１３では、位置登録情報蓄積部１１１２が、認証局６００から取得した次ステージ「販売」の緯度・経度からなる位置登録情報を保持している状態を示している。なお、次ステージに該当する全ての緯度・経度に限らず、認証局６００の取り決めに従い、一部の緯度・経度を位置登録情報として取得し保持するようにしてもよい。
【０１４２】
図１４は時刻管理装置１１２の構成例を示す図である。時刻管理装置１１２は、時刻認証部１１２１とカレンダー情報蓄積部１１２２とを備えている。
【０１４３】
時刻認証部１１２１は、カレンダー情報蓄積部１１２２に保存されている次ステージのカレンダー情報を参照し、認証装置１１０から取得した現在の時刻情報と比較し、その結果を認証装置１１０へ送る。認証装置１１０は、時刻管理装置１１２が本物であることを認証するために、署名付きの情報を認証局６００へ送る。認証局６００は署名検証を行い、時刻管理装置１１２の入れ替えが行われていないかの確認を行う。これらの認証を行うための別の手段を設けてもよい。
【０１４４】
カレンダー情報蓄積部１１２２は、少なくとも次ステージのカレンダー情報を管理する。次ステージのカレンダー情報のみを管理することで、運用計画情報の全ての情報を管理させないようにし、省メモリ化かつカレンダー情報の悪用によるなりすましの可能性を防ぐ。後述する処理例では、次ステージのカレンダー情報のみを管理するものとしている。
【０１４５】
図１５は時刻管理装置１１２のカレンダー情報蓄積部１１２２が保持するカレンダー情報の例を示す図である。図１５では、カレンダー情報蓄積部１１２２が、認証局６００から取得した次ステージ「販売」の開始時刻・完了時刻からなるカレンダー情報を保持している状態を示している。
【０１４６】
図１６は運用計画情報を用いた認証装置１１０の通常制御の処理例を示すフローチャートである。なお、位置管理装置１１１と時刻管理装置１１２には、生産段階において、位置登録情報とカレンダー情報が初期値として設定されているものとする。
【０１４７】
図１６のステップＳ１０１、Ｓ１０４において、認証装置１１０は、定常時に位置管理装置１１１と時刻管理装置１１２から次ステージのアクセス権の適用が可能であることの通知を受けられる状態となっている。
【０１４８】
そして、通知を受けると、ステップＳ１０２、Ｓ１０５において、それぞれの装置がニセモノに入れ替えられていないかの判定を行うため、認証装置１１０は認証局６００へ認証を要求する。
【０１４９】
ステップＳ１０３、Ｓ１０６において、いずれかの認証がＯＫであれば、認証装置１１０は、ステップＳ１０７において、運用計画情報に基づいて、位置登録情報とカレンダー情報のどちらも利用しているのか否か判断する。両方とも利用している場合、認証装置１１０は、ステップＳ１０８〜Ｓ１１０において、通知を受け取っていない側の装置に、次ステージのアクセス権の適用が可能であるか確認を行う。なお、ステップＳ１０９の詳細は図２３で、ステップＳ１１０の詳細は図２４で説明する。
【０１５０】
ここまでの処理の中で認証または確認がＮＧの場合は、不正があるものとし、ステップＳ１１１において、認証装置１１０はメモリアクセスコントローラ１０７を全てのデータにアクセスできないようにロックし、ステップＳ１１２において、認証局６００へ不正情報を送信する。
【０１５１】
認証または確認がＮＧとされる場合を除き、認証装置１１０は、ステップＳ１１３において、メモリアクセスコントローラ１０７に次ステージのアクセス権を適用するよう指示する。
【０１５２】
その後、認証装置１１０は、次々ステージの管理を行うため、ステップＳ１１４において、認証局６００へ次々ステージの運用計画情報を要求し取得する。そして、認証装置１１０は、ステップＳ１１５において、運用計画情報から位置登録情報のみを扱うのか、カレンダー情報のみを扱うのか、それとも両方を扱うのかを判断し、判断に応じて、ステップＳ１１６〜Ｓ１１９において、必要な情報を各装置へ送る。
【０１５３】
図１７は認証装置１１０が位置管理装置１１１または時刻管理装置１１２から不正情報を受け取った場合の処理例を示すフローチャートである。
【０１５４】
図１７のステップＳ１２１またはステップＳ１２２において、認証装置１１０は、位置管理装置１１１または時刻管理装置１１２から異常が検知されたことの通知を受け取った場合、次の処理を行う。すなわち、認証装置１１０は、ライフサイクル状態管理モジュール１００が管理するデータに不正なアクセスが行われることを防止するため、ステップＳ１２３において、メモリアクセスコントローラ１０７に対し、すべてのデータにアクセスできないようにロックするよう指示する。その後、認証装置１１０は、ステップＳ１２４において、認証局６００へ不正情報を送信する。
【０１５５】
図１８は位置管理装置１１１の通常制御の処理例を示すフローチャートである。
【０１５６】
図１８において、位置管理装置１１１は、ステップＳ１３１において、認証装置１１０から運用計画情報の次ステージの位置登録情報を取得すると、ステップＳ１３２において、取得した位置登録情報を位置登録情報蓄積部１１１２へ記録する。
【０１５７】
次いで、位置管理装置１１１は、ステップＳ１３３において、位置情報取得部１１１３により現在地の位置情報を取得し、ステップＳ１３４において、前回取得時の位置情報と今回取得した位置情報に違いがあるか判断し、違いがない場合はステップＳ１３３に戻る。なお、違いがあるか否かの判断には、許容範囲（どのくらい違っても同じと判断するかの幅）を持たせることができる。
【０１５８】
前回取得時の位置情報と今回取得した位置情報に違いがあると判断した場合、位置管理装置１１１は、ステップＳ１３５において、位置認証部１１１１により、今回取得した位置情報と位置登録情報蓄積部１１１２に登録されている位置登録情報とが一致するか判断する。
【０１５９】
そして、一致する場合、位置管理装置１１１は、ステップＳ１３６において、認証装置１１０へ次ステージのアクセス権の適用が可能であることを通知する。一致しない場合、位置管理装置１１１は、ステップＳ１３７において、認証装置１１０へ不正な位置情報を検知したことを通知する。
【０１６０】
図１９は位置管理装置１１１の通常制御に伴う周辺との通信の例を示す図であり、図２０は対応するシーケンス図である。
【０１６１】
図１９および図２０において、認証装置１１０は認証局６００に運用計画情報を要求する（ステップＳ１１、Ｓ２１）。
【０１６２】
位置管理装置１１１は、認証局６００から認証装置１１０を介して運用計画情報を取得し、位置登録情報蓄積部１１１２へ位置登録情報を登録する（ステップＳ１２、Ｓ２２〜Ｓ２４）。
【０１６３】
位置認証部１１１１は、位置情報取得部１１１３により、前回と異なる現在地の位置情報を検出する（ステップＳ１３、Ｓ２５〜Ｓ２７）。
【０１６４】
位置認証部１１１１は、位置登録情報に基づいて認証を行い、認証装置１１０に認証結果を通知する（ステップＳ１４、Ｓ２８〜Ｓ２９）。
【０１６５】
認証装置１１０は、認証結果に合わせ、メモリアクセスコントローラ１０７を制御する（ステップＳ１５、Ｓ３０）。
【０１６６】
図２１は時刻管理装置１１２の通常制御の処理例を示すフローチャートである。
【０１６７】
図２１において、時刻管理装置１１２は、ステップＳ１４１において、認証装置１１０から運用計画情報の次ステージのカレンダー情報を取得すると、ステップＳ１４２において、取得したカレンダー情報をカレンダー情報蓄積部１１２２へ記録する。
【０１６８】
次いで、時刻管理装置１１２は、ステップＳ１４３において、運用計画情報により指定された時刻（カレンダー情報の開始時刻と完了時刻）になると、認証装置１１０に時刻を問い合わせる。認証装置１１０に時刻を問い合わせるのは、時刻管理装置１１２における時刻が改ざんされている可能性があるためである。認証装置１１０を経由して取得する時刻情報は、認証局６００との時刻誤差がＮＴＰ（Network Time Protocol）やＲＴＰ（Real-time Transport Protocol）等により保証されていることとする。
【０１６９】
次いで、時刻管理装置１１２は、ステップＳ１４４において、時刻認証部１１２１により、認証装置１１０から送られた時刻情報とカレンダー情報蓄積部１１２２のカレンダー情報が一致するか判断する。この処理は、時刻管理装置１１２における時刻が正確か否かを判断することになる。
【０１７０】
一致すると判断した場合、時刻管理装置１１２は、ステップＳ１４５において、認証装置１１０へ次ステージのアクセス権の適用が可能であることを通知する。一致しない場合、時刻管理装置１１２は、ステップＳ１４６において、認証装置１１０へ運用計画を逸脱していることを通知する。
【０１７１】
図２２は認証装置１１０が時刻管理装置１１２から時刻問い合わせを受けた場合の処理例を示すフローチャートである。
【０１７２】
図２２において、認証装置１１０は、ステップＳ１５１において、時刻管理装置１１２から時刻問い合わせの要求を受けると、ステップＳ１５２において、時刻管理装置１１２の認証を認証局６００へ要求する。
【０１７３】
ステップＳ１５３において、認証がＯＫであれば、ステップＳ１５４において、認証局６００へ時刻問い合わせを行い、ステップＳ１５５において、認証局６００から受信した時刻情報（認証局６００が発行する時刻情報）を時刻管理装置１１２へ送る。
【０１７４】
認証がＮＧであれば、ステップＳ１５６において、認証装置１１０はメモリアクセスコントローラ１０７を全てのデータにアクセスできないようにロックし、ステップＳ１５７において、認証局６００へ不正情報を送信する。
【０１７５】
図２３は時刻管理装置１１２が認証装置１１０から問い合わせを受けた場合の処理例を示すフローチャートである。すなわち、位置登録情報とカレンダー情報を元に次ステージの遷移の管理を行っている際に、位置が先に認証された場合に、時刻管理が正しく行われているか、認証装置１１０が時刻管理装置１１２へ問い合わせを行った場合の処理である。
【０１７６】
図２３において、時刻管理装置１１２は、ステップＳ１６１において、認証装置１１０から時刻問い合わせの要求と時刻情報を取得すると、ステップＳ１６２において、取得した時刻情報がカレンダー情報蓄積部１１２２のカレンダー情報に収まっているか判断する。時刻情報がカレンダー情報の完了時刻より前にステージ遷移する可能性もあるため、現在時刻が完了時刻内に収まっているか確認する。
【０１７７】
そして、収まっている場合、時刻管理装置１１２は、ステップＳ１６３において、認証装置１１０へ次ステージのアクセス権の適用が可能であることを通知する。
【０１７８】
収まっていない場合、すなわち、明らかにおかしな時刻を示している場合も含めてカレンダー情報と一致しない場合は、時刻管理装置１１２は、ステップＳ１６４において、認証装置１１０へ運用計画を逸脱していることを通知する。
【０１７９】
図２４は位置管理装置１１１が認証装置１１０から問い合わせを受けた場合の処理例を示すフローチャートである。すなわち、位置登録情報とカレンダー情報を元に次ステージの遷移の管理を行っている際に、時刻が先に認証された場合に位置管理が正しく行われているか、認証装置１１０が位置管理装置１１１へ問い合わせを行った場合の処理である。
【０１８０】
図２４において、位置管理装置１１１は、ステップＳ１７１において、認証装置１１０から位置問い合わせの要求を取得すると、ステップＳ１７２において、位置情報取得部１１１３により現在地の位置情報を取得する。
【０１８１】
そして、位置管理装置１１１は、ステップＳ１７３において、位置認証部１１１１により、今回取得した位置情報と位置登録情報蓄積部１１１２に登録されている位置登録情報が一致するか判断する。
【０１８２】
そして、一致する場合、位置管理装置１１１は、ステップＳ１７４において、認証装置１１０へ次ステージのアクセス権の適用が可能であることを通知する。
【０１８３】
一致しない場合、位置管理装置１１１は、ステップＳ１７５において、認証装置１１０へ不正な位置情報であることを通知する。
【０１８４】
図２５は運用計画情報に基づく制御を行わない場合の具体例を示す図であり、図２５（ａ）は正常時の処理、図２５（ｂ）は不正が試みられた場合の処理を示している。
【０１８５】
図２５（ａ）では、出荷時に物流担当者がユーザ認証の手順を完了した後に、ステップＳ４１において、"販売ステージ移行指示"を与えると、ライフサイクル状態管理モジュール１００は、ライフサイクルのステージが"生産"から"販売"に遷移する。
【０１８６】
ライフサイクル状態管理モジュール１００が搭載された製品を受け取った販売業者は、販売業者のアクセス権に基づいて、ステップＳ４２において、"販売データアクセス"を行うことができる。
【０１８７】
こうした場合、例えば物流担当者と販売業者が悪巧みをおこない、図２５（ｂ）に示すように、ステップＳ４３において、通常時とは異なる"サービスステージ移行指示"を行い、販売業者はサービスユーザのアクセス権を得た上で、ステップＳ４４において、"部品データアクセス"を行うことが可能となる。
【０１８８】
そうすることで、本来アクセス権を与えてはいけないユーザに権限を与えてしまうため、部品転売や不適合品の交換、部品データの改ざんなどが可能となってしまう。これは、人が介在してアクセス権をコントロールしていることで問題が起きているためであり、これを解消するために、運用計画情報に基づく制御が有効である。
【０１８９】
なお、上述した処理において、認証装置１１０は、位置管理装置１１１または時刻管理装置１１２との間で処理を行うに際し、認証局６００による認証を行うものとしているが、認証装置１１０にタイマーを設け、認証装置１１０の稼働開始から所定の期間（認証有効期間）内は認証局６００による認証を省略することができる。すなわち、位置管理装置１１１または時刻管理装置１１２との間で処理を行うに際し、予め決められたタイマーの閾値と比較し、閾値を超えない場合は、位置管理装置１１１または時刻管理装置１１２とのアクセスを可能とし、閾値を超えた場合は、認証局６００による認証を行うようにすることができる。
【０１９０】
また、不正検出によりメモリアクセスコントローラ１０７がロックしたデータについて、特別な権限を持つユーザのみが、データアクセスが可能となるような機能をアクセス制御部１６２に設けるようにすることができる。これにより、救出すべきデータを安全に取り出すことができる。
【０１９１】
また、機器が管理するライフサイクル状態を認証局６００に入力することで、認証局６００がライフサイクルのステージ間の状態を自動で抽出し、ユーザが位置登録情報およびカレンダー情報を登録できるようにすることができる。これにより、運用計画情報の作成効率を向上させることができる。
【０１９２】
また、認証局６００には、認証装置１１０から送信された不正情報をロギングする機能を備えることで、不正アクセスの追跡が可能となる。
【０１９３】
図２６は運用計画情報に基づく制御を行う場合の具体例を示す図であり、図２６（ａ）は正常時の処理、図２６（ｂ）は不正が試みられた場合の処理を示している。
【０１９４】
図２６では、認証局６００に、ステージ毎に認定されている場所・時刻が保存されている"ライフサイクル計画書（運用計画情報）"と、位置管理装置１１１と時刻管理装置１１２が正しいことを証明する"ライフサイクル状態管理モジュールの機器情報"が存在する。これらの情報をライフサイクル状態管理モジュール１００は相互認証を行うことで、人が介在しないライフサイクルのステージ遷移を実現する。
【０１９５】
図２６（ａ）において、物流担当者がユーザ認証の手順を完了した後に、ステップＳ５１において、"販売ステージ移行指示"を与えると、ライフサイクル状態管理モジュール１００は、運用計画情報に適合することを条件に、ライフサイクルのステージが"生産"から"販売"に遷移する。これにより、ライフサイクル状態管理モジュール１００が搭載された製品を受け取った販売業者は、販売業者のアクセス権に基づいて、ステップＳ５２において、"販売データアクセス"を行うことができる。
【０１９６】
図２６（ｂ）において、例えば、物流担当者と販売業者が悪巧みを行い、ステップＳ５３において、意図的にライフサイクルのステージの遷移を指示しようとしても、その位置と時刻は運用計画情報に適合しないため、ライフサイクルのステージ遷移が行えない。従って、ステップＳ５４において、部品データにアクセスすることはできない。
【０１９７】
＜総括＞
以上、説明したように、本実施形態によれば、ライフサイクルの次ステージへ遷移する際のなりすましを防ぐことができる。
【０１９８】
以上、本発明の好適な実施の形態により本発明を説明した。ここでは特定の具体例を示して本発明を説明したが、特許請求の範囲に定義された本発明の広範な趣旨および範囲から逸脱することなく、これら具体例に様々な修正および変更を加えることができることは明らかである。すなわち、具体例の詳細および添付の図面により本発明が限定されるものと解釈してはならない。
【０１９９】
＜実施形態の用語と請求項の用語の対応＞
状態管理部１６４は「状態管理手段」の一例である。利用者認証部１６０は「利用者認証手段」の一例である。アクセス制御部１６２は「アクセス制御手段」の一例である。認証装置１１０およびメモリアクセスコントローラ１０７は「アクセス禁止手段」の一例である。
【符号の説明】
【０２００】
５０          バス
１００        ライフサイクル状態管理モジュール
１０２        ＣＰＵ
１０４        ＲＯＭ
１０６        ＲＡＭ
１０７        メモリアクセスコントローラ
１０８        バスＩ／Ｆ
１１０        認証装置
１１１        位置管理装置
１１１１      位置認証部
１１１２      位置登録情報蓄積部
１１１３      位置情報取得部
１１２        時刻管理装置
１１２１      時刻認証部
１１２２      カレンダー情報蓄積部
１５０        バスライン
１６０        利用者認証部
１６２        アクセス制御部
１６４        状態管理部
１６６        ライフサイクル状態データ
２００        駆動制御モジュール
２０２        ＣＰＵ
２０４        ＲＯＭ
２０６        ＲＡＭ
２０８        バスＩ／Ｆ
２５０        バスライン
２６２        アクセス制御部
３００        エンジン制御モジュール
４００        ナビゲーションモジュール
５００        車載カメラモジュール
６００        認証局
【先行技術文献】
【特許文献】
【０２０１】
【特許文献１】特開２００７−４６２４号公報
【図１】
0006344170.tif 000002
【図２】
0006344170.tif 000003
【図３】
0006344170.tif 000004
【図４】
0006344170.tif 000005
【図５】
0006344170.tif 000006
【図６】
0006344170.tif 000007
【図７】
0006344170.tif 000008
【図８】
0006344170.tif 000009
【図９】
0006344170.tif 000010
【図１０】
0006344170.tif 000011
【図１１】
0006344170.tif 000012
【図１２】
0006344170.tif 000013
【図１３】
0006344170.tif 000014
【図１４】
0006344170.tif 000015
【図１５】
0006344170.tif 000016
【図１６】
0006344170.tif 000017
【図１７】
0006344170.tif 000018
【図１８】
0006344170.tif 000019
【図１９】
0006344170.tif 000020
【図２０】
0006344170.tif 000021
【図２１】
0006344170.tif 000022
【図２２】
0006344170.tif 000023
【図２３】
0006344170.tif 000024
【図２４】
0006344170.tif 000025
【図２５】
0006344170.tif 000026
【図２６】
0006344170.tif 000027