(57)【要約】【課題】コスト増を抑制して暗号ハードウェアが故障した場合でも暗号通信が可能な情報処理装置を提供すること。【解決手段】暗号化、復号又は認証を行うセキュリティモジュール１２と、汎用記憶装置１３に記憶されたプログラムを実行する汎用処理ＣＰＵ１１と、を有する情報処理装置１００であって、セキュリティＣＰＵ３１と、セキュリティＣＰＵの故障を検出する故障検出装置３５と、秘匿情報が記憶されたセキュア記憶装置３３と、セキュリティＣＰＵの故障時は、汎用処理ＣＰＵからのセキュア記憶装置へのアクセスのみを許可するアクセス制御装置３２と、故障検出装置からセキュリティＣＰＵの故障の通知を取得した場合、セキュア記憶装置へアクセスするためのアドレスを作成するセキュリティ専用レジスタ２５、とを有し、セキュリティ専用レジスタを用いてセキュア記憶装置へアクセスし、暗号化、復号又は認証の少なくとも１つを行う、ことを特徴とする。【選択図】図１
2015119357.tif 000002
【特許請求の範囲】
【請求項１】
暗号化、復号又は認証を行うセキュリティモジュールと、汎用レジスタでアクセスすることで汎用記憶装置に記憶されたプログラムを実行する汎用処理ＣＰＵと、を有する情報処理装置であって、
前記セキュリティモジュールは、
セキュリティ処理を行うセキュリティＣＰＵと、前記セキュリティＣＰＵの故障を検出する故障検出装置と、秘匿情報が記憶されたセキュア記憶装置と、前記セキュリティＣＰＵの故障時は、前記汎用処理ＣＰＵからの前記セキュア記憶装置へのアクセスを許可するアクセス制御装置と、を有し、
前記汎用処理ＣＰＵは、
前記汎用記憶装置へのアクセスは制限され、前記セキュア記憶装置へのアクセスは可能なアドレス情報が記憶されたセキュリティ専用レジスタと、
前記故障検出装置から前記セキュリティＣＰＵの故障の通知を取得した場合、前記汎用処理ＣＰＵが使用するレジスタを前記汎用レジスタから前記セキュリティ専用レジスタへ切り替える切替装置と、を有し、
前記故障検出装置から前記セキュリティＣＰＵの故障の通知を取得した場合、前記セキュリティ専用レジスタを用いて前記セキュア記憶装置へアクセスし、暗号化、復号又は認証の少なくとも１つを行う、ことを特徴とする情報処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データにセキュリティ処理を施す情報処理装置に関する。
【背景技術】
【０００２】
ネットワーク上の通信の安全性を確保するため、送信元の端末が通信内容を暗号化して送信し、送信先の端末が復号する暗号通信が知られている。この暗号通信を車載ネットワークにおいても適用することが検討されている。車載ネットワークでは端末としてのＥＣＵ（Electronic Control Unit）に、暗号化・復号を専門に行う暗号ハードウェアを搭載
することで暗号通信を行う技術が知られている（例えば、特許文献１参照。）。特許文献１には、メインＰＥサブシステムで実行されているプログラムの正当性又はプログラムを実行して得られるデータの正当性を判断するＨＳＭサブシステムが搭載されたプロセッサシステムが開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１３−００８１４５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、特許文献１のように暗号ハードウェアが搭載された装置では、暗号ハードウェアが故障した場合に暗号通信が困難になるという問題がある。すなわち、暗号通信では、暗号ハードウェア内に暗号鍵などを記憶することでセキュリティを高めているため、暗号ハードウェアが故障した場合、暗号通信が困難になる。車載ネットワークでは、ＥＣＵの暗号ハードウェアが故障しても通信結果を利用した制御や処理を継続することが要求される。
【０００５】
暗号ハードウェアが故障した場合に通信を継続するフェールセーフ技術として、暗号ハードウェアを冗長化（二重化）することが考えられる。しかし、ハードウェアを冗長化することはコスト増をもたらしてしまう。
【０００６】
本発明は、上記課題に鑑み、コスト増を抑制して暗号ハードウェアが故障した場合でも暗号通信が可能な情報処理装置を提供することを目的とする。
【課題を解決するための手段】
【０００７】
本発明は、暗号化、復号又は認証を行うセキュリティモジュールと、汎用レジスタでアクセスすることで汎用記憶装置に記憶されたプログラムを実行する汎用処理ＣＰＵと、を有する情報処理装置であって、前記セキュリティモジュールは、前記汎用処理ＣＰＵからの要求に応じてセキュリティ処理を行うセキュリティＣＰＵと、前記セキュリティＣＰＵの故障を検出する故障検出装置と、秘匿情報が記憶されたセキュア記憶装置と、前記セキュリティＣＰＵの故障時は、前記汎用処理ＣＰＵからの前記セキュア記憶装置へのアクセスを許可するアクセス制御装置と、を有し、前記汎用処理ＣＰＵは、前記汎用記憶装置へのアクセスが制限され、かつ、前記セキュア記憶装置へアクセスするためのアドレス情報が記憶されたセキュリティ専用レジスタと、前記故障検出装置から前記セキュリティＣＰＵの故障の通知を取得した場合、前記汎用処理ＣＰＵが使用するレジスタを前記汎用レジスタから前記セキュリティ専用レジスタへ切り替える切替装置と、を有し、前記故障検出装置から前記セキュリティＣＰＵの故障の通知を取得した場合、前記セキュリティ専用レジスタを用いて前記セキュア記憶装置へアクセスし、暗号化、復号又は認証の少なくとも１つを行う、ことを特徴とする。
【発明の効果】
【０００８】
コスト増を抑制して暗号ハードウェアが故障した場合でも暗号通信が可能な情報処理装置を提供することができる。
【図面の簡単な説明】
【０００９】
【図１】本実施形態のＥＣＵの概略的な構成図の一例である。
【図２】従来のＥＣＵの概略構成図の一例である。
【図３】故障監視装置の動作手順を示すフローチャート図の一例である。
【図４】汎用処理ＣＰＵの動作手順を示すフローチャート図の一例である。
【図５】アクセス制御装置の動作手順を示すフローチャート図の一例である。
【発明を実施するための形態】
【００１０】
以下、本発明を実施するための形態について図面を参照しながら説明する。
【００１１】
〔本実施形態のＥＣＵの特徴の概略〕
図１は本実施形態のＥＣＵの概略的な構成図の一例を示す。始めに、本実施形態のＥＣＵ１００の概略的な特徴について説明する。
１．ＥＣＵ１００は下記の新しい構成を有している。
【００１２】
１−１：故障監視装置
１−２：アクセス制御装置（従来からあるが新しい機能を有する）
１−３：レジスタ切り替え制御装置とセキュリティ処理専用レジスタ
２．そしてＥＣＵ１００は以下のように動作する
２−１：故障監視装置３５がセキュリティ処理ＣＰＵ３１の故障を検知して、汎用処理ＣＰＵ１１に通知する
２−２：セキュリティ処理ＣＰＵ３１が故障すると、汎用処理ＣＰＵ１１は、セキュリティ処理専用レジスタ２５を使用する。セキュリティ処理専用レジスタ２５は、暗号ハードウェア１２のセキュア記憶装置３３にアクセスするためのレジスタである。汎用処理ＣＰＵ１１は、セキュリティ処理専用レジスタ２５を使用した場合、セキュア記憶装置３３の暗号鍵などを用いてセキュリティ処理を行うことができる一方、汎用記憶装置１３にアクセスできなくなる。
【００１３】
したがって、本実施形態のＥＣＵ１００は、暗号ハードウェア１２が故障しても、汎用処理ＣＰＵ１１が暗号処理を行うので暗号通信を継続することが可能である。暗号ハードウェア１２を冗長化する必要がないのでコスト増を抑制できる。また、汎用処理ＣＰＵ１１は汎用記憶装置１３にアクセスできないので、セキュア記憶装置３３の暗号鍵などを汎用記憶装置１３に書き込んだりできず、汎用処理ＣＰＵ１１が悪意のあるアプリケーションを実行してもセキュリティを維持できる。
【００１４】
〔構成例〕
図２は、比較のために図示した従来のＥＣＵ１００の概略構成図の一例である。システムバス１７に接続された汎用処理ＣＰＵ１１、暗号ハードウェア（ＨＳＭ：Hardware Security Module）１２、汎用記憶装置１３、及び、周辺バスブリッジ１４を有している。周辺バスブリッジ１４にはＩ／Ｏ１５、Ｔｉｍｅｒ１６などが接続されている。図示する構成は、本実施形態で説明されるＥＣＵ１００の主要部であり、図示するほかにＥＣＵの汎用的な構成を有している。
【００１５】
なお、ＥＣＵ１００は車載される情報処理装置の通称で、主にマイコン、電源ユニット、ワイヤーハーネスを接続するためのインタフェースなどを有している。本実施形態ではマイコンとＥＣＵ１００を同一視してもよい。ＥＣＵ１００の種類は多種多様であり、例えば、エンジンＥＣＵ、ブレーキＥＣＵ、ボディＥＣＵ、パワステＥＣＵ、ナビゲーションＥＣＵ（ＡＶ・情報処理ＥＣＵ）、ＨＶ−ＥＣＵ、ゲートウェイＥＣＵ等が知られている。本実施形態のＥＣＵは暗号ハードウェア１２を有していればよく、どのようなＥＣＵであってもよい。
【００１６】
ＥＣＵ１００は、図示する構成の他、他のＥＣＵと通信するための通信装置を備えている。通信装置には、例えばＣＡＮプロトコルに基づき通信するもの、ＦｒｅｘＬａｙプロトコルに基づき通信するもの、イーサネット（登録商標）に基づき通信するもの、ＬＩＮ（Local Interconnect Network）プロトコルに基づき通信するもの、などがある。
【００１７】
本実施形態では、ＥＣＵ間で通信されるデータを暗号ハードウェア１２が暗号化し、また、復号することができる。また、暗号ハードウェア１２は識別情報やパスワードの組が一致するか否かという認証処理に利用することもできる。これらをまとめてセキュリティ処理という場合がある。
【００１８】
汎用処理ＣＰＵ１１は、アプリケーションを実行するＣＰＵである。アプリケーションはＥＣＵ１００に固有の又は特徴的な制御を行うプログラムで、暗号化・復号に関係しないほぼ全てのプログラム（ＯＳやデバイスドライバを除く）が相当する。例えば、エンジンＥＣＵであればエンジンを制御するアプリケーションであり、ブレーキＥＣＵであればブレーキアクチュエータを制御するアプリケーションである。
【００１９】
汎用処理ＣＰＵ１１は、通常処理用レジスタ２１、演算実行部２２、及び、バス制御部２３を有している。ＣＰＵとしての公知の機能を有していればよく、これらの機能の他に公知の機能を有する。通常処理用レジスタ２１は、例えば汎用記憶装置１３の先頭アドレスを記憶するレジスタ、演算結果を格納するレジスタ、次のアクセス先のアドレスを記憶するレジスタなどである。
【００２０】
演算実行部２２は、汎用記憶装置１３に記憶された命令を読み出して実行し、演算結果に応じた処理を行う。バス制御部２３は、汎用処理ＣＰＵ１１、汎用記憶装置１３、周辺バスブリッジ１４、及び、暗号ハードウェア１２によるシステムバス１７の使用要求を調停する。使用権が与えられた汎用処理ＣＰＵ１１は、アドレスをシステムバス１７に出力し、汎用記憶装置１３から命令を読み出したり、データを書き込んだりする。また、使用権が与えられた汎用処理ＣＰＵ１１は、暗号ハードウェア１２に暗号化又は復号を要求して、暗号化されたデータや復号されたデータを取得する。また、認証処理を要求して認証結果を取得する。
【００２１】
汎用記憶装置１３は、アプリケーションを記憶する記憶装置である。汎用記憶装置１３は、プログラムがいったんＲＡＭなどの揮発性メモリに転送される仕様のマイコンの場合は揮発性メモリである。フラッシュメモリなどの不揮発性メモリから直接命令が実行される仕様のマイコンの場合は、不揮発性メモリである。
【００２２】
周辺バスブリッジ１４は、周辺バス１８とシステムバス１７との周波数の違いを吸収して、汎用処理ＣＰＵ１１のＩ／Ｏ１５、Ｔｉｍｅｒ１６へのアクセス要求に応じて、これらにアクセスする。また、Ｉ／Ｏ１５、Ｔｉｍｅｒ１６からのアクセス要求に応じて汎用処理ＣＰＵ１１に割り込みするなどの処理を行う。
【００２３】
なお、Ｉ／Ｏ１５は、例えばＳＰＩ、ＵＡＲＴなどのシリアルインタフェースである。Ｔｉｍｅｒ１６は設定された時間を測定する。
【００２４】
暗号ハードウェア１２は、ＨＳＭ内バス３６に接続されたセキュリティ処理ＣＰＵ３１、アクセス制御装置３２、セキュア記憶装置３３、及び、暗号処理装置３４を有している。セキュア記憶装置３３は、セキュリティ処理ＣＰＵ３１が実行するプログラム、及び、暗号鍵などの秘匿情報が記憶された不揮発性メモリである。
【００２５】
セキュリティ処理ＣＰＵ３１は、セキュア記憶装置３３に記憶されたプログラムを実行して、暗号処理装置３４に暗号化、復号、又は、認証などを要求する。暗号処理装置３４は、主に秘密鍵を使用した暗号化・復号を行う。公開鍵を使用してもよい。また、暗号アルゴリズムはどのようなものでもよいが、例えばＤＥＳ、ＩＤＥＡ、ＲＣ２／ＲＣ４、ＭＵＬＴＩ２、Ｃａｍｅｌｌｉａ、ＭＩＳＴＹ１などがある。セキュリティ処理ＣＰＵ３１が、暗号アルゴリズムを選択可能であってもよい。
【００２６】
アクセス制御装置３２は、暗号ハードウェア１２への外部からのアクセスをセキュリティ処理ＣＰＵ３１にのみ通知する。すなわち、外部からはセキュア記憶装置３３や暗号処理装置３４にアクセスできない。これにより、悪意のあるアプリケーションが暗号鍵を読み出したり、暗号アルゴリズムを解読することを防止している。セキュリティ処理ＣＰＵ３１はセキュア記憶装置３３のプログラムしか実行しないので、暗号鍵を外部に出力するなどのおそれはない。
【００２７】
続いて、図１を用いて、新たな構成である故障監視装置３５、アクセス制御装置３２、及び、レジスタ切り替え制御装置２４とセキュリティ処理専用レジスタ２５について説明する。
【００２８】
故障監視装置３５は、セキュリティ処理ＣＰＵ３１が故障したことを検知して、アクセス制御装置３２と汎用処理ＣＰＵ１１に通知する。故障監視装置３５は、例えば、ウォッチドッグタイマーのように常に時間を計測し、オーバーフローする前にセキュリティ処理ＣＰＵ３１がリセットしたか否かに基づきセキュリティ処理ＣＰＵ３１が故障したことを検知する。この他、セキュリティ処理ＣＰＵ３１に故障検知用のプログラムを実行させ、予め保持している値と一致するか否かにより故障を検知してもよい。
【００２９】
アクセス制御装置３２は従来からあるが、本実施形態では機能が追加されている。アクセス制御装置３２は、故障監視装置３５から故障通知を受信すると、アクセス制御装置３２を通常モードから暗号装置故障モードに移行させる。暗号装置故障モードでは、アクセス制御装置３２は、汎用処理ＣＰＵ１１によるセキュア記憶装置３３へのアクセスを許可する。暗号装置故障モードでは、汎用処理ＣＰＵ１１はセキュリティ処理専用レジスタ２５を使用するので、セキュア記憶装置３３へアクセスできるようになる。
【００３０】
セキュア記憶装置３３にアクセスした汎用処理ＣＰＵ１１は、セキュア記憶装置３３のプログラムを実行して暗号化・復号を直接行うか、暗号処理装置３４にアクセスすることで暗号化・復号を行うことが可能になる。
【００３１】
レジスタ切り替え制御装置２４は、演算実行部２２が使用するレジスタを通常処理用レジスタ２１からセキュリティ処理専用レジスタ２５に（又はその逆に）切り替える。すなわち、暗号ハードウェア１２から故障検知を取得した汎用処理ＣＰＵ１１は、汎用処理ＣＰＵ１１の動作モードを通常モードから暗号装置故障モードに移行する。これにより、レジスタ切り替え制御装置２４は、演算実行部２２が使用するレジスタを通常処理用レジスタ２１からセキュリティ処理専用レジスタ２５に切り替える。
【００３２】
演算実行部２２が使用するレジスタがセキュリティ処理専用レジスタ２５になることで、汎用処理ＣＰＵ１１はセキュア記憶装置３３へのアクセスが可能になる。セキュリティ処理専用レジスタ２５には、セキュア記憶装置３３にアクセスするための特殊なアドレスを生成させる値が記憶されている。例えば、セキュリティ処理専用レジスタ２５には汎用記憶装置１３の終了アドレスよりも大きな値が記憶されている。汎用処理ＣＰＵ１１がセキュリティ処理専用レジスタ２５を使用して生成するアドレスは、汎用記憶装置１３のアドレス範囲に含まれないため、暗号装置故障モードでは、汎用処理ＣＰＵ１１は汎用記憶装置１３にアクセスすることができない。
【００３３】
汎用処理ＣＰＵ１１が汎用記憶装置１３にアクセスすることができないことで、セキュア記憶装置３３の暗号鍵やプログラムを、汎用処理ＣＰＵ１１が汎用記憶装置１３に書き出すことを防止できるので、セキュア記憶装置３３の内部情報が漏洩することを防止できる。
【００３４】
以上のような構成によれば、暗号ハードウェア１２を二重化しなくても、暗号ハードウェア１２が故障した場合に、ＥＣＵ１００はセキュリティを維持した処理が可能である。
【００３５】
〔動作手順〕
図３〜５を用いて、暗号ハードウェア１２が故障した際のＥＣＵ１００の動作手順について説明する。図３は、故障監視装置３５の動作手順を示すフローチャート図の一例である。
故障監視装置３５は、セキュリティ処理ＣＰＵ３１を監視しており故障したか否かを判定する（Ｓ１０）。車両がＩＧ−ＯＮの場合、監視は周期的に行われることが好ましい。また、暗号ハードウェア１２の負荷が高い場合は監視を行わず、負荷が低下したタイミングで行ってもよい。さらに、暗号化・復号に失敗したことから、故障を検知してもよい。車両がＩＧ−ＯＦＦの場合、ＥＣＵ１００が定期的にスリープ状態から起動するのであればそのタイミングで監視する。ＩＧ−ＯＦＦの間、ＥＣＵ１００が起動しないのであれば、ＩＧ−ＯＮの直後に監視する。
【００３６】
セキュリティ処理ＣＰＵ３１が故障していない場合（Ｓ１０のＮｏ）、故障監視装置３５は何もしない。
【００３７】
セキュリティ処理ＣＰＵ３１が故障していた場合（Ｓ１０のＹｅｓ）、故障監視装置３５はアクセス制御装置３２に対しセキュリティ処理ＣＰＵ３１の故障を通知する（Ｓ２０）。
【００３８】
アクセス制御装置３２は、汎用処理ＣＰＵ１１に対しセキュリティ処理ＣＰＵ３１の故障を通知する（Ｓ３０）。この故障の通知は例えば割り込みで行う。割り込みは暗号化・復号処理が必要な通信と同程度以上の優先度を持っており、暗号化・復号処理が必要な通信の前に割り込みが受け付けられるようになっている。これにより、汎用処理ＣＰＵ１１は故障の通知を確実に受信できる。
【００３９】
図４は汎用処理ＣＰＵ１１の動作手順を示すフローチャート図の一例である。
【００４０】
汎用処理ＣＰＵ１１は暗号ハードウェア１２のセキュリティ処理ＣＰＵ３１の故障通知を受信すると動作モードを変える必要があるため、故障通知を受信したか否かを監視している（Ｓ１１０）。
【００４１】
故障通知を受信していない場合（Ｓ１１０のＮｏ）、処理はステップＳ１３０に進む。
【００４２】
故障通知を受信した場合（Ｓ１１０のＹｅｓ）、演算実行部２２は故障通知という割り込み内容に対応したプログラム（割込みハンドラ）を実行して汎用処理ＣＰＵ１１の動作モードを暗号装置故障モードに移行する（Ｓ１２０）。
【００４３】
次いで、演算実行部２２はセキュリティ処理要求を受信したか否かを判定する（Ｓ１３０）。セキュリティ処理要求は、他のＥＣＵ１００から送信されたデータが暗号化されているため復号する必要があるデータを受信することを言う。データが暗号化されているか否かは、例えばＣＡＮプロトコルのＣＡＮ ＩＤに基づき判断される。または、データの先頭に配置されている、暗号化されていることを示すフラグやＩＤに基づき判断されてもよい。その他の通信プロトコルの場合も、メッセージのＩＤや送信元のアドレス、又は、データなどに基づき判断される。
【００４４】
なお、暗号ハードウェア１２が故障したＥＣＵ１００がデータを送信する場合も、データを暗号化することが好ましい。演算実行部２２がデータを暗号化して車載ネットワークで送信する場合、暗号ハードウェア１２を使用して暗号化する。なお、暗号化して送信されるデータは、ＥＣＵ毎に固定である。
【００４５】
セキュリティ処理要求を受信した場合（Ｓ１３０のＹｅｓ）、汎用処理ＣＰＵ１１は動作モードが暗号装置故障モードか否かを判定する（Ｓ１４０）。この判定は、例えば暗号装置故障モードでＯＮとなるフラグを参照するなどして行われる。
【００４６】
動作モードが暗号装置故障モードの場合（Ｓ１４０のＹｅｓ）、演算実行部２２はセキュリティ処理専用レジスタ２５を用いてセキュリティ処理ＣＰＵ３１の代替処理を実行する（Ｓ１５０）。すなわち、セキュア記憶装置３３にアクセスしてセキュリティ処理ＣＰＵ３１が実行するプログラム、及び、暗号鍵を読み出して、暗号化・復号・認証を行う。
【００４７】
汎用処理ＣＰＵ１１が暗号化・復号・認証そのものを行うか、暗号ハードウェア１２の暗号処理装置３４にアクセスして暗号化・復号を行うかは、汎用処理ＣＰＵ１１の性能や処理負荷、及び、セキュア記憶装置３３の記憶容量に応じて設計される。すなわち、汎用処理ＣＰＵ１１の性能が高く処理負荷がそれほど高くなく、セキュア記憶装置３３の記憶容量が暗号化・復号・認証のプログラムを記憶するための十分の記憶容量を有している場合、汎用処理ＣＰＵ１１が暗号化・復号・認証そのものを行う。この場合、汎用処理ＣＰＵ１１は暗号処理装置３４にアクセスする必要がない。本実施形態ではこの形態を説明するが、汎用処理ＣＰＵ１１が暗号処理装置３４にアクセスして暗号化・復号・認証を行ってもよい。
【００４８】
なお、汎用処理ＣＰＵ１１がセキュリティ処理要求を受信しない場合は、汎用処理ＣＰＵ１１が汎用記憶装置１３にアクセスできることが好ましい。このため、ステップＳ１３０でセキュリティ処理要求を受信したか否かに応じて、汎用処理ＣＰＵ１１の動作モードを暗号装置故障モードに移行してもよい。こうすることで、セキュリティ処理要求を受信しなかった場合は、汎用処理ＣＰＵ１１が汎用記憶装置１３にアクセスして通常の処理を実行できる。
【００４９】
また、汎用処理ＣＰＵ１１の動作モードを暗号装置故障モードに移行した場合、セキュリティ処理が終了したら、動作モードを通常モードに戻すことで、汎用記憶装置１３にアクセスして通常の処理が可能になる。
【００５０】
図５は、アクセス制御装置３２の動作手順を示すフローチャート図の一例である。
アクセス制御装置３２は、故障監視装置３５から故障通知を受信したか否かを判定する（Ｓ２１０）。
【００５１】
故障通知を受信した場合（Ｓ２１０のＹｅｓ）、アクセス制御装置３２はアクセス制御装置３２の動作モードを暗号装置故障モードに移行する（Ｓ２２０）。
【００５２】
アクセス制御装置３２は、外部からセキュア記憶装置３３へのアクセスがあったか否かを判定する（Ｓ２３０）。上記のように、アクセス制御装置３２は、暗号装置故障モードの汎用処理ＣＰＵ１１以外からセキュア記憶装置３３へのアクセスを禁止する。セキュア記憶装置３３へのアクセスか否かは、アクセス要求のアドレスから判断される。
【００５３】
外部からセキュア記憶装置３３へのアクセスがあった場合（Ｓ２３０のＹｅｓ）、アクセス制御装置３２はアクセス制御装置３２の動作モードが暗号装置故障モードか否かを判定する（Ｓ２４０）。暗号装置故障モードでなければ、外部からセキュア記憶装置３３へのアクセスを許可すべきでないからである。
【００５４】
暗号装置故障モードでない場合（Ｓ２４０のＮｏ）、アクセス制御装置３２はアクセスを許可しない（Ｓ２８０）。
【００５５】
アクセス制御装置３２の動作モードが暗号装置故障モードの場合（Ｓ２４０のＹｅｓ）、汎用処理ＣＰＵ１１がセキュリティ処理状態か否かを判定する（Ｓ２５０）。汎用処理ＣＰＵ１１がセキュリティ処理を行っていない場合、外部からセキュア記憶装置３３へのアクセスを許可すべきでないからである。なお、汎用処理ＣＰＵ１１がセキュリティ処理状態か否かの判定は、例えば、演算実行部２２が実行する命令（オペコード）がセキュリティ処理の１つか否かにより判定する。
【００５６】
汎用処理ＣＰＵ１１が暗号装置故障モードでない場合（Ｓ２５０のＮｏ）、アクセス制御装置３２はアクセスを許可しない（Ｓ２８０）。
【００５７】
汎用処理ＣＰＵ１１が暗号装置故障モードの場合（Ｓ２５０のＹｅｓ）、アクセス制御装置３２は外部からのセキュア記憶装置３３へのアクセスを許可する（Ｓ２６０）。
【００５８】
一方、ステップＳ２３０で、外部からセキュア記憶装置３３へのアクセスでない場合（Ｓ２３０のＮｏ）、アクセス制御装置３２は外部からのセキュリティ処理ＣＰＵ３１へのアクセスか否かを判定する（Ｓ２７０）。セキュリティ処理ＣＰＵ３１へのアクセスか否かは、アクセス要求のアドレスから判断される。セキュリティ処理ＣＰＵ３１へのアクセスとは、暗号装置故障モードでない汎用処理ＣＰＵ１１が暗号ハードウェア１２に暗号化・復号・認証を要求する際に行われる。
【００５９】
したがって、外部からのセキュリティ処理ＣＰＵ３１へのアクセスがある場合（Ｓ２７０のＹｅｓ）、正常な状態の暗号ハードウェア１２の使用要求なので、アクセス制御装置３２はアクセスを許可する（Ｓ２９０）。
【００６０】
外部からのセキュリティ処理ＣＰＵ３１へのアクセスでない場合（Ｓ２７０のＮｏ）、セキュア記憶装置３３へのアクセスでもなく、セキュリティ処理ＣＰＵ３１へのアクセスでもないので、アクセス制御装置３２はアクセスを許可しない（Ｓ２８０）。
【００６１】
このように、本実施形態のＥＣＵ１００は、汎用処理ＣＰＵ１１が暗号処理を行うので、暗号ハードウェア１２を冗長化することなく、暗号通信を継続することが可能である。また、汎用処理ＣＰＵ１１が暗号処理を行っても情報漏洩を抑制できる。
【００６２】
以上、本発明を実施するための最良の形態について実施例を用いて説明したが、本発明はこうした実施例に何等限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々の変形及び置換を加えることができる。
【００６３】
例えば、本実施形態ではＥＣＵが車載ネットワークを介して通信する場合のセキュリティ処理について説明したが、ＥＣＵが自機の記憶装置にデータを記憶する際にセキュリティ処理を施してもよい。
【００６４】
また、ＥＣＵ同士の通信でなく、スマートフォンなどの端末同士がネットワークを介して通信するために、スマートフォンなどの端末が本実施形態でＥＣＵ１００として説明された情報処理装置を有していてもよい。
【符号の説明】
【００６５】
１１    汎用処理ＣＰＵ
１２    暗号ハードウェア
１３    汎用記憶装置
２５    セキュリティ処理専用レジスタ
３１    セキュリティ処理ＣＰＵ
３２    アクセス制御装置
３３    セキュア記憶装置
３４    暗号処理装置
３５    故障監視装置
１００  ＥＣＵ
【図１】
2015119357.tif 000003
【図２】
2015119357.tif 000004
【図３】
2015119357.tif 000005
【図４】
2015119357.tif 000006
【図５】
2015119357.tif 000007