(57)【要約】      （修正有）【課題】複数のコンピュータが接続されるコンピュータシステムにおける攻撃者からの攻撃に対する防御性能を向上させる。【解決手段】複数のＭＣＵ２−ａ，２−ｂが接続されるコンピュータシステム１であり、ＭＣＵ２−ａ，２−ｂは、ＲＯＭ化されたブートローダ１３と、セキュアエレメント１４と、を有し、セキュアエレメント１４は、鍵を記憶するセキュアＲＯＭ２２と、該鍵を使用した処理についての情報を保持するセキュアＲＡＭ２１と、セキュアＲＡＭ２１を使用し、ブートローダ１３によるブート処理におけるプログラム正当性検証処理を該当する該鍵を使用して行う検証部２３と、セキュアＲＡＭ２１を使用し、他のＭＣＵ２−ａ，２−ｂとの間で交換される情報についての暗号処理を該当する該鍵を使用して行う暗号処理部２４と、を有する。【選択図】図１
2015225376.tif 000002
【特許請求の範囲】
【請求項１】
複数のコンピュータが接続されるコンピュータシステムであり、
前記コンピュータは、
ＲＯＭ化されたブートローダと、
セキュアエレメントと、を有し、
前記セキュアエレメントは、
鍵を記憶するセキュアＲＯＭと、
前記鍵を使用した処理についての情報を保持するセキュアＲＡＭと、
前記セキュアＲＡＭを使用し、前記ブートローダによるブート処理におけるプログラム正当性検証処理を該当する前記鍵を使用して行う検証部と、
前記セキュアＲＡＭを使用し、他の前記コンピュータとの間で交換される情報についての暗号処理を該当する前記鍵を使用して行う暗号処理部と、を有するコンピュータシステム。
【請求項２】
一つの前記コンピュータが一つの半導体装置として構成されている請求項１に記載のコンピュータシステム。
【請求項３】
複数のコンピュータが接続されるコンピュータシステムにおける前記コンピュータであり、
ＲＯＭ化されたブートローダと、
セキュアエレメントと、を有し、
前記セキュアエレメントは、
鍵を記憶するセキュアＲＯＭと、
前記鍵を使用した処理についての情報を保持するセキュアＲＡＭと、
前記セキュアＲＡＭを使用し、前記ブートローダによるブート処理におけるプログラム正当性検証処理を該当する前記鍵を使用して行う検証部と、
前記セキュアＲＡＭを使用し、他の前記コンピュータとの間で交換される情報についての暗号処理を該当する前記鍵を使用して行う暗号処理部と、を有するコンピュータ。
【請求項４】
複数のコンピュータが接続されるコンピュータシステムにおける前記コンピュータを構成する半導体装置であり、
ＲＯＭ化されたブートローダと、
セキュアエレメントと、を有し、
前記セキュアエレメントは、
鍵を記憶するセキュアＲＯＭと、
前記鍵を使用した処理についての情報を保持するセキュアＲＡＭと、
前記セキュアＲＡＭを使用し、前記ブートローダによるブート処理におけるプログラム正当性検証処理を該当する前記鍵を使用して行う検証部と、
前記セキュアＲＡＭを使用し、他の前記コンピュータとの間で交換される情報についての暗号処理を該当する前記鍵を使用して行う暗号処理部と、を有する半導体装置。
【請求項５】
複数のコンピュータが接続されるコンピュータシステムにおける情報処理方法であり、
前記コンピュータが、ＲＯＭ化されたブートローダと、セキュアエレメントと、を有し、
前記セキュアエレメントが、鍵を記憶するセキュアＲＯＭと、前記鍵を使用した処理についての情報を保持するセキュアＲＡＭと、を有し、
前記コンピュータの各々が、前記セキュアＲＡＭを使用し、前記ブートローダによるブート処理におけるプログラム正当性検証処理を該当する前記鍵を使用して行い、
前記コンピュータが、前記セキュアＲＡＭを使用し、他の前記コンピュータとの間で交換される情報についての暗号処理を該当する前記鍵を使用して行う、
情報処理方法。
【請求項６】
複数のコンピュータが接続されるコンピュータシステムにおける情報処理を行うためのコンピュータプログラムであって、
前記コンピュータが、ＲＯＭ化されたブートローダと、セキュアエレメントと、を有し、
前記セキュアエレメントが、鍵を記憶するセキュアＲＯＭと、前記鍵を使用した処理についての情報を保持するセキュアＲＡＭと、を有し、
前記コンピュータプログラムは、
前記セキュアＲＡＭを使用し、前記ブートローダによるブート処理におけるプログラム正当性検証処理を該当する前記鍵を使用して行う検証ステップと、
前記セキュアＲＡＭを使用し、他の前記コンピュータとの間で交換される情報についての暗号処理を該当する前記鍵を使用して行う暗号処理ステップと、
をコンピュータに実行させるためのコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンピュータシステム、コンピュータ、半導体装置、情報処理方法およびコンピュータプログラムに関する。
【背景技術】
【０００２】
従来、車両に搭載される通信ネットワークの一つとして知られているＣＡＮ（Controller Area Network）が、車両内の各種ＥＣＵ（Electronic Control Unit）間の通信に用いられている。そのＣＡＮにおいてメッセージの認証を可能にする技術として、例えば特許文献１に記載の技術が知られている。特許文献１に記載の技術では、各ＥＣＵにおいてＣＡＮＩＤごとにメッセージが送信された回数をカウントする。そして、メインメッセージを送信した送信ノードは、メインメッセージのデータフィールドおよびＣＡＮＩＤと、ＣＡＮＩＤに対応するカウンタ値とから生成したＭＡＣ（Message Authentication Code）を含むＭＡＣメッセージを送信する。メインメッセージを受信した受信ノードは、メインメッセージに含まれるデータフィールドおよびＣＡＮＩＤと、ＣＡＮＩＤに対応するカウンタ値とからＭＡＣを生成して、受信したＭＡＣメッセージに含まれるＭＡＣと一致するかを判断する。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】国際公開第２０１３／０６５６８９号
【非特許文献】
【０００４】
【非特許文献１】竹森敬祐、川端秀明、窪田歩、“ARM＋SIM/UIMによるセキュアブート”、電子情報通信学会、暗号と情報セキュリティシンポジウム（SCIS2014）、1B1-2、2014年1月．
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかし、上述した特許文献１に記載のメッセージ認証技術では、各ＥＣＵがＣＡＮＩＤごとにメッセージ送信回数をカウントする際のカウント初期値を、各ＥＣＵに対して共通の値として安全に配信することが示されていない。このことは、ＣＡＮ上における攻撃者による攻撃からの防御において課題である。
【０００６】
本発明は、このような事情を考慮してなされたものであり、複数のコンピュータが接続されるコンピュータシステムにおける攻撃者からの攻撃に対する防御性能を向上させることができる、コンピュータシステム、コンピュータ、半導体装置、情報処理方法およびコンピュータプログラムを提供することを課題とする。
【課題を解決するための手段】
【０００７】
（１）本発明に係る一態様は、複数のコンピュータが接続されるコンピュータシステムであり、前記コンピュータは、ＲＯＭ化されたブートローダと、セキュアエレメントと、を有し、前記セキュアエレメントは、鍵を記憶するセキュアＲＯＭと、前記鍵を使用した処理についての情報を保持するセキュアＲＡＭと、前記セキュアＲＡＭを使用し、前記ブートローダによるブート処理におけるプログラム正当性検証処理を該当する前記鍵を使用して行う検証部と、前記セキュアＲＡＭを使用し、他の前記コンピュータとの間で交換される情報についての暗号処理を該当する前記鍵を使用して行う暗号処理部と、を有するコンピュータシステムである。
（２）本発明に係る一態様は、上記（１）のコンピュータシステムにおいて、一つの前記コンピュータが一つの半導体装置として構成されているコンピュータシステムである。
【０００８】
（３）本発明に係る一態様は、複数のコンピュータが接続されるコンピュータシステムにおける前記コンピュータであり、ＲＯＭ化されたブートローダと、セキュアエレメントと、を有し、前記セキュアエレメントは、鍵を記憶するセキュアＲＯＭと、前記鍵を使用した処理についての情報を保持するセキュアＲＡＭと、前記セキュアＲＡＭを使用し、前記ブートローダによるブート処理におけるプログラム正当性検証処理を該当する前記鍵を使用して行う検証部と、前記セキュアＲＡＭを使用し、他の前記コンピュータとの間で交換される情報についての暗号処理を該当する前記鍵を使用して行う暗号処理部と、を有するコンピュータである。
【０００９】
（４）本発明に係る一態様は、複数のコンピュータが接続されるコンピュータシステムにおける前記コンピュータを構成する半導体装置であり、ＲＯＭ化されたブートローダと、セキュアエレメントと、を有し、前記セキュアエレメントは、鍵を記憶するセキュアＲＯＭと、前記鍵を使用した処理についての情報を保持するセキュアＲＡＭと、前記セキュアＲＡＭを使用し、前記ブートローダによるブート処理におけるプログラム正当性検証処理を該当する前記鍵を使用して行う検証部と、前記セキュアＲＡＭを使用し、他の前記コンピュータとの間で交換される情報についての暗号処理を該当する前記鍵を使用して行う暗号処理部と、を有する半導体装置である。
【００１０】
（５）本発明に係る一態様は、複数のコンピュータが接続されるコンピュータシステムにおける情報処理方法であり、前記コンピュータが、ＲＯＭ化されたブートローダと、セキュアエレメントと、を有し、前記セキュアエレメントが、鍵を記憶するセキュアＲＯＭと、前記鍵を使用した処理についての情報を保持するセキュアＲＡＭと、を有し、前記コンピュータの各々が、前記セキュアＲＡＭを使用し、前記ブートローダによるブート処理におけるプログラム正当性検証処理を該当する前記鍵を使用して行い、前記コンピュータが、前記セキュアＲＡＭを使用し、他の前記コンピュータとの間で交換される情報についての暗号処理を該当する前記鍵を使用して行う、情報処理方法である。
【００１１】
（６）本発明に係る一態様は、複数のコンピュータが接続されるコンピュータシステムにおける情報処理を行うためのコンピュータプログラムであって、前記コンピュータが、ＲＯＭ化されたブートローダと、セキュアエレメントと、を有し、前記セキュアエレメントが、鍵を記憶するセキュアＲＯＭと、前記鍵を使用した処理についての情報を保持するセキュアＲＡＭと、を有し、前記コンピュータプログラムは、前記セキュアＲＡＭを使用し、前記ブートローダによるブート処理におけるプログラム正当性検証処理を該当する前記鍵を使用して行う検証ステップと、前記セキュアＲＡＭを使用し、他の前記コンピュータとの間で交換される情報についての暗号処理を該当する前記鍵を使用して行う暗号処理ステップと、をコンピュータに実行させるためのコンピュータプログラムである。
【発明の効果】
【００１２】
本発明によれば、複数のコンピュータが接続されるコンピュータシステムにおける攻撃者からの攻撃に対する防御性能を向上させることができるという効果が得られる。
【図面の簡単な説明】
【００１３】
【図１】本発明の一実施形態に係るコンピュータシステム１の構成を示すブロック図である。
【図２】本発明の一実施形態に係るブート処理のシーケンスチャートである。
【図３】本発明の一実施形態に係る暗号処理のシーケンスチャートである。
【図４】本発明の一実施形態に係る効果を説明するための図である。
【発明を実施するための形態】
【００１４】
以下、図面を参照し、本発明の実施形態について説明する。本実施形態では、本発明に係るコンピュータシステムの一態様として、車両に搭載されるコンピュータシステムを例に挙げて説明する。
【００１５】
図１は、本発明の一実施形態に係るコンピュータシステム１の構成を示すブロック図である。図１に示されるコンピュータシステム１は車両に搭載される。図１において、コンピュータシステム１は、複数のＭＣＵ（Micro Computing Unit）＿２−ａ，２−ｂを有する。ＭＣＵ＿２−ａ，２−ｂはコンピュータの一種である。ＭＣＵ＿２−ａ，２−ｂは通信バス３に接続されている。通信バス３は、各ＭＣＵ＿２−ａ，２−ｂの間で交換されるデータを伝送する。通信バス３として、例えば、ＣＡＮ（Controller Area Network）が挙げられる。各ＭＣＵ＿２−ａ，２−ｂは、通信バス３を介して、相互にデータを送受する。各ＭＣＵ＿２−ａ，２−ｂは、車両内の機器を制御する電子制御ユニット（ＥＣＵ）として利用される。
【００１６】
ＭＣＵ＿２−ａは、通信バス３に接続されるＭＣＵ＿２−ｂを認証する処理においてマスタとして動作する。以下、ＭＣＵ＿２−ａのことを「マスタＭＣＵ＿２−ａ」と称する。また、ＭＣＵ＿２−ｂのことを「エンドＭＣＵ＿２−ｂ」と称する。また、ＭＣＵ＿２−ａ，２−ｂを特に区別しないときは「ＭＣＵ＿２」と称する。
【００１７】
次に、図１を参照して、マスタＭＣＵ＿２−ａとエンドＭＣＵ＿２−ｂの構成を説明する。マスタＭＣＵ＿２−ａとエンドＭＣＵ＿２−ｂとは同様の構成であるので、以下、ＭＣＵ＿２として、マスタＭＣＵ＿２−ａとエンドＭＣＵ＿２−ｂの構成を説明する。
【００１８】
ＭＣＵ＿２は、ＣＰＵ（Central Processing Unit：中央演算処理装置）＿１０と、フラッシュメモリ（flash memory）１１と、ＲＡＭ（ランダムアクセスメモリ）＿１２と、ブートローダ（boot loader）１３と、セキュアエレメント（secure element）１４を有する。セキュアエレメント１４は、セキュアＲＡＭ＿２１と、セキュアＲＯＭ（Read Only Memory：リードオンリメモリ）＿２２と、検証部２３と、暗号処理部２４を有する。
【００１９】
ＣＰＵ＿１０はコンピュータプログラムを実行することにより、車両内の機器を制御する制御ユニットとして機能する。フラッシュメモリ１１は、ＣＰＵ＿１０で実行されるコンピュータプログラムと該コンピュータプログラムについての署名とを記憶する。ＲＡＭ＿１２はデータを記憶する。ＲＡＭ＿１２は、ＣＰＵ＿１０がコンピュータプログラムを実行する際の実行領域となる。
【００２０】
ブートローダ１３は、ＭＣＵ＿２の電源投入によりブート処理を行う。ブートローダ１３は、該ブート処理の内容を変更できないようにＲＯＭ化されている。
【００２１】
セキュアエレメント１４は、セキュアエレメント１４内部で保持されるデータに対してセキュアエレメント１４外部からアクセスできない安全な要素として構成される。セキュアＲＡＭ＿２１は、セキュアエレメント１４内部で保持されるデータの一時記憶領域である。セキュアＲＡＭ＿２１に対してセキュアエレメント１４外部からはアクセスできないように構成される。セキュアＲＯＭ＿２２は、セキュアエレメント１４内部で使用される鍵を記憶する。セキュアＲＯＭ＿２２に対してセキュアエレメント１４外部からはアクセスできないように構成される。セキュアＲＯＭ＿２２には、ＭＣＵ＿２の製造時などに、予め安全に鍵が書き込まれる。
【００２２】
検証部２３は、ブートローダ１３によるブート処理におけるプログラム正当性検証処理を、セキュアＲＯＭ＿２２に保持される署名検証鍵を使用して行う。検証部２３は、該プログラム正当性検証処理において、セキュアＲＡＭ＿２１を一時記憶領域として使用する。
【００２３】
暗号処理部２４は、自己のＭＣＵ＿２と他のＭＣＵ＿２との間で交換される情報についての暗号処理を、セキュアＲＯＭ＿２２に保持される暗号鍵を使用して行う。該暗号処理は、暗号化処理または復号化処理である。暗号処理部２４は、該暗号処理において、セキュアＲＡＭ＿２１を一時記憶領域として使用する。
【００２４】
次に、図２を参照して、本実施形態に係るブート処理を説明する。図２は、本実施形態に係るブート処理のシーケンスチャートである。ＭＣＵ＿２の電源投入により図２の処理が開始される。
【００２５】
（ステップＳ１）ブートローダ１３が、フラッシュメモリ１１からコンピュータプログラムと署名とを読み込む。次いで、ブートローダ１３が、該読み込んだコンピュータプログラムのハッシュ（hash）値を算出する。
【００２６】
（ステップＳ２）ブートローダ１３が、該算出したハッシュ値と、フラッシュメモリ１１から読み込んだ署名とをセキュアエレメント１４へ送信する。
【００２７】
（ステップＳ３）セキュアエレメント１４において検証部２３が、セキュアＲＯＭ＿２２に保持される署名検証鍵を使用して、ブートローダ１３から受信した署名に含まれる値とブートローダ１３から受信したハッシュ値との一致を検証する。この検証処理では、セキュアＲＡＭ＿２１が、検証処理におけるデータの一時記憶領域として使用される。該検証が成功した場合には、セキュアエレメント１４はブートローダ１３へ検証成功を通知する。
【００２８】
（ステップＳ４）ブートローダ１３は、セキュアエレメント１４から検証成功の通知を受信した場合に、ステップＳ１でフラッシュメモリ１１から読み込んだコンピュータプログラムをＲＡＭ＿１２へロードする。これにより、ＣＰＵ＿１０はＲＡＭ＿１２にロードされたコンピュータプログラムを実行することができる。
【００２９】
一方、ブートローダ１３は、セキュアエレメント１４からの検証成功の通知がない場合には（例えば、ステップＳ２の送信後から所定時間が経過してもセキュアエレメント１４から検証成功の通知を受信しなかったり、セキュアエレメント１４から検証失敗の通知を受信したりした場合）、ステップＳ１でフラッシュメモリ１１から読み込んだコンピュータプログラムをＲＡＭ＿１２へロードしない。この場合、ブートローダ１３がＭＣＵ＿２の起動を停止する。
【００３０】
上述した本実施形態に係るブート処理によれば、セキュアエレメント１４による署名検証によって、ＣＰＵ＿１０で実行されるコンピュータプログラムの正当性検証が安全に行われる。これにより、ＣＰＵ＿１０の実行領域であるＲＡＭ＿１２には正しいコンピュータプログラムがロードされ、該ＲＡＭ＿１２にロードされたコンピュータプログラムをＣＰＵ＿１０が実行することにより、ＭＣＵ＿２が正常に起動する。よって、本実施形態に係るコンピュータシステム１では、ＭＣＵ＿２の個々において、ＭＣＵ＿２の起動時に当該ＭＣＵ＿２のコンピュータプログラム（例えば、オペレーティングシステム（Operating System：ＯＳ）など）の正当性を検証するセキュアブート（Secure Boot）が実現される。なお、セキュアブートについては、例えば非特許文献１に記載されている。
【００３１】
次に、図３を参照して、本実施形態に係る暗号処理を説明する。図３は、本実施形態に係る暗号処理のシーケンスチャートである。所定の契機により図３の処理が開始される。ここでは、秘密の情報である乱数を、マスタＭＣＵ＿２−ａからエンドＭＣＵ＿２−ｂへ安全に通知する場面を例に挙げて説明する。なお、マスタＭＣＵ＿２−ａとエンドＭＣＵ＿２−ｂとの間のデータの送受は通信バス３を介して行われる。
【００３２】
（ステップＳ１１）マスタＭＣＵ＿２−ａが、自己のＲＡＭ＿１２に保持される初期乱数をチャレンジとしてエンドＭＣＵ＿２−ｂへ送信する。また、マスタＭＣＵ＿２−ａは、該エンドＭＣＵ＿２−ｂへチャレンジとして送信した初期乱数を、自己のセキュアエレメント１４へ渡す。
【００３３】
（ステップＳ１２）エンドＭＣＵ＿２−ｂは、マスタＭＣＵ＿２−ａから受信したチャレンジである初期乱数を、自己のセキュアエレメント１４に渡す。エンドＭＣＵ＿２−ｂの暗号処理部２４は、該渡された初期乱数を、自己のセキュアＲＯＭ＿２２に保持される秘密鍵Ｋｓを使用して暗号化する。この暗号化処理では、エンドＭＣＵ＿２−ｂのセキュアＲＡＭ＿２１が、暗号化処理におけるデータの一時記憶領域として使用される。次いで、エンドＭＣＵ＿２−ｂは、暗号化された初期乱数である暗号化データＫｓ（初期乱数）をレスポンスとしてマスタＭＣＵ＿２−ａへ送信する。
【００３４】
（ステップＳ１３）マスタＭＣＵ＿２−ａは、エンドＭＣＵ＿２−ｂから受信したレスポンスである暗号化データＫｓ（初期乱数）を、自己のセキュアエレメント１４に渡す。マスタＭＣＵ＿２−ａの暗号処理部２４は、該渡された暗号化データＫｓ（初期乱数）を、自己のセキュアＲＯＭ＿２２に保持される該当エンドＭＣＵ＿２−ｂの公開鍵Ｋｐを使用して復号化する。次いで、マスタＭＣＵ＿２−ａの暗号処理部２４は、該復号化により得られた復号化データと、ステップＳ１１でチャレンジとしてエンドＭＣＵ＿２−ｂへ送信された初期乱数との一致を検証する。それら復号化処理および検証処理では、マスタＭＣＵ＿２−ａのセキュアＲＡＭ＿２１が、復号化処理および検証処理におけるデータの一時記憶領域として使用される。該検証の成功により、当該エンドＭＣＵ＿２−ｂの認証が成功したと判断できる。
【００３５】
該検証が成功した場合には、マスタＭＣＵ＿２−ａの暗号処理部２４は、秘密の情報である乱数を生成し、生成した乱数を、自己のセキュアＲＯＭ＿２２に保持される該当エンドＭＣＵ＿２−ｂの公開鍵Ｋｐを使用して暗号化する。それら乱数生成処理および暗号化処理では、マスタＭＣＵ＿２−ａのセキュアＲＡＭ＿２１が、乱数生成処理および暗号化処理におけるデータの一時記憶領域として使用される。次いで、マスタＭＣＵ＿２−ａは、暗号化された秘密の情報（乱数）である暗号化データＫｐ（乱数）をエンドＭＣＵ＿２−ｂへ送信する。
【００３６】
エンドＭＣＵ＿２−ｂは、マスタＭＣＵ＿２−ａから受信した暗号化データＫｐ（乱数）を、自己のセキュアエレメント１４に渡す。エンドＭＣＵ＿２−ｂの暗号処理部２４は、該渡された暗号化データＫｐ（乱数）を、自己のセキュアＲＯＭ＿２２に保持される秘密鍵Ｋｓを使用して復号化する。この復号化処理では、エンドＭＣＵ＿２−ｂのセキュアＲＡＭ＿２１が、復号化処理におけるデータの一時記憶領域として使用される。該復号化処理によって暗号化データＫｐ（乱数）から、秘密の情報である乱数が取得される。該取得された乱数は、エンドＭＣＵ＿２−ｂのセキュアＲＡＭ＿２１で安全に保持される。
【００３７】
上述した本実施形態に係る暗号処理によれば、セキュアエレメント１４による暗号処理によって、ＭＣＵ＿２間（上述した例ではマスタＭＣＵ＿２−ａとエンドＭＣＵ＿２−ｂの間）で交換される情報の暗号処理（暗号化処理、復号化処理）が安全に行われる。これにより、ＭＣＵ＿２間で交換される情報の安全性が保たれる。
【００３８】
さらに、当該暗号処理に基づいたチャレンジ・レスポンスによって、マスタＭＣＵ＿２−ａがエンドＭＣＵ＿２−ｂの確かな認証を行うことができる。そして、マスタＭＣＵ＿２−ａから認証済みのエンドＭＣＵ＿２−ｂに対して、当該暗号処理に基づいて秘密の情報を安全に送信することができる。
【００３９】
図４は、本実施形態に係る効果を説明するための図である。図４において、コンピュータシステム１には、本物のＭＣＵ＿２とは別の偽のＭＣＵ＿１００が通信バス３に接続されている。ＭＣＵ＿１００は、ＣＰＵ＿１０と、フラッシュメモリ１１と、ＲＡＭ＿１２を有するが、セキュアエレメント１４を有していない。したがって、ＭＣＵ＿１００は、ＭＣＵ＿２のセキュアＲＯＭ＿２２に保持される鍵を保持していない。
【００４０】
ここで、ＭＣＵ＿１００が、いずれかのＭＣＵ＿２になりすまして偽の制御信号を有するパケットを通信バス３上へ送信するなりすまし攻撃や、通信バス３上のパケットをコピーして通信バス３上へ送信するリプレイ攻撃などを行うと想定する。これに対して、本実施形態に係るＭＣＵ＿２では、上述したブート処理によって、コンピュータシステム１の通信バス３に接続されるＭＣＵ＿２の個々においてセキュアブートが実現される。さらに、上述した暗号処理によって、ＭＣＵ＿２間で交換される情報の安全性が保たれる。上述した例では、マスタＭＣＵ＿２−ａからエンドＭＣＵ＿２−ｂに対して、安全に、秘密の情報（例えば、乱数）が伝達される。これにより、本実施形態によれば、セキュアブートによって信頼できるＭＣＵ＿２間で安全に秘密の情報を交換できるので、ＭＣＵ＿１００からの攻撃に対する防御性能を向上させる効果が得られる。
【００４１】
以上、本発明の実施形態について図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、本発明の要旨を逸脱しない範囲の設計変更等も含まれる。
【００４２】
例えば、一つのＭＣＵ＿２が一つの半導体装置として構成されてもよい。一つのＭＣＵ＿２が一つの半導体集積回路としてワンチップ化されることにより、安全性がさらに向上する。
【００４３】
上述した実施形態では、本発明に係るコンピュータシステムの一態様として、車両に搭載されるコンピュータシステムを例に挙げて説明したが、本発明に係るコンピュータシステムは様々な分野に適用可能である。例えば、家電製品を制御するコンピュータとしてＭＣＵ＿２を適用し、宅内の各家電製品のＭＣＵ＿２を宅内ネットワークで接続するように構成してもよい。また、スマートメーターとしてＭＣＵ＿２を適用し、各スマートメーターのＭＣＵ＿２を通信ネットワークで接続するように構成してもよい。
【００４４】
また、上述したＭＣＵ＿２の機能を実現するためのコンピュータプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータに読み込ませ、実行するようにしてもよい。
また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ＲＯＭ、フラッシュメモリ等の書き込み可能な不揮発性メモリ、ＤＶＤ（Digital Versatile Disk）等の可搬媒体、コンピュータに内蔵されるハードディスク等の記憶装置のことをいう。
【００４５】
さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムが送信された場合のサーバやクライアントとなるコンピュータ内部の揮発性メモリ（例えばＤＲＡＭ（Dynamic Random Access Memory））のように、一定時間プログラムを保持しているものも含むものとする。
また、上記プログラムは、このプログラムを記憶装置等に格納したコンピュータから、伝送媒体を介して、あるいは、伝送媒体中の伝送波により他のコンピュータに伝送されてもよい。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク（通信網）や電話回線等の通信回線（通信線）のように情報を伝送する機能を有する媒体のことをいう。
また、上記プログラムは、前述した機能の一部を実現するためのものであっても良い。さらに、前述した機能をコンピュータにすでに記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル（差分プログラム）であっても良い。
【符号の説明】
【００４６】
１…コンピュータシステム、２，２−ａ，２−ｂ…ＭＣＵ、３…通信バス、１０…ＣＰＵ、１１…フラッシュメモリ、１２…ＲＡＭ、１３…ブートローダ、１４…セキュアエレメント、２１…セキュアＲＡＭ、２２…セキュアＲＯＭ、２３…検証部、２４…暗号処理部
【図１】
2015225376.tif 000003
【図２】
2015225376.tif 000004
【図３】
2015225376.tif 000005
【図４】
2015225376.tif 000006