(57)【要約】  複数の半導体集積回路を含む処理装置の信頼性を、簡素な構成で向上する。  半導体集積回路（１１）は、ブートコードを暗号化してブートコード（２０ｂ）を生成し、ブートコード（２０ｂ）を含む暗号化データ（２２ａ）を、ブートコード（２０ｂ）の配信経路を示す経路情報に基づき第１の送信先にネットワーク（１５）を介して送信する。半導体集積回路（１２）は、第１の送信先であって、ネットワーク（１５）を介して暗号化データ（２２ａ）を受信して、ブートコード（２０ｂ）を復号してブートコード（２０ｃ）を生成する。
2018042766.tif 000002
【特許請求の範囲】
【請求項１】
第１のブートコードを暗号化して第２のブートコードを生成し、前記第２のブートコードを含む第１のデータを、前記第２のブートコードの配信経路を示す第１の経路情報に基づき第１の送信先に第１のネットワークを介して送信する第１の半導体集積回路と、
前記第１の送信先であって、前記第１のネットワークを介して前記第１のデータを受信して、前記第２のブートコードを復号して前記第１のブートコードを生成する第２の半導体集積回路と、
を有することを特徴とする処理装置。
【請求項２】
前記第２の半導体集積回路は、前記第１のブートコードに基づく起動処理を行う、ことを特徴とする請求項１に記載の処理装置。
【請求項３】
前記第１の半導体集積回路は、前記第１の送信先から前記第１のデータの受信完了通知信号を受信したとき、前記第１の送信先に起動指示信号を送信し、
前記第２の半導体集積回路は、前記第１のデータを受信したとき、前記受信完了通知信号を前記第１の半導体集積回路に送信し、前記起動指示信号を受信したとき、前記第１のブートコードに基づく起動処理を行う、ことを特徴とする請求項１または２に記載の処理装置。
【請求項４】
前記第１の半導体集積回路は、前記第１の経路情報を暗号化して第２の経路情報を生成し、前記第２のブートコードと前記第２の経路情報とを含む前記第１のデータを前記第１の送信先に送信する、ことを特徴とする請求項１乃至３の何れか一項に記載の処理装置。
【請求項５】
前記第２の半導体集積回路は、前記第２の経路情報を復号して前記第１の経路情報を生成する、ことを特徴とする請求項４に記載の処理装置。
【請求項６】
前記第２の半導体集積回路は、前記第１の経路情報に基づき第２の送信先となる第３の半導体集積回路を特定し、前記第１のブートコードの少なくとも一部を暗号化して第３のブートコードを生成し、前記第３のブートコードを含む第２のデータを前記第３の半導体集積回路に前記第１のネットワークを介して送信し、
前記第３の半導体集積回路は、前記第１のネットワークを介して前記第２のデータを受信して、前記第３のブートコードを復号して前記第１のブートコードを生成し、前記第１のブートコードに基づく起動処理を行う、ことを特徴とする請求項１乃至５の何れか一項に記載の処理装置。
【請求項７】
前記第２の半導体集積回路は、前記第１の経路情報を暗号化して第３の経路情報を生成し、前記第３のブートコードと前記第３の経路情報とを含む前記第２のデータを前記第３の半導体集積回路に前記第１のネットワークを介して送信する、ことを特徴とする請求項６に記載の処理装置。
【請求項８】
前記第２の半導体集積回路は、前記第１の経路情報から前記第１の送信先に関する前記配信経路の情報を省いた情報を暗号化して第３の経路情報を生成し、前記第３のブートコードと前記第３の経路情報とを含む前記第２のデータを前記第３の半導体集積回路に前記第１のネットワークを介して送信する、ことを特徴とする請求項６に記載の処理装置。
【請求項９】
前記第１のブートコードは前記第２の半導体集積回路が用いる第４のブートコードと第３の半導体集積回路が用いる第５のブートコードを含み、
前記第１の半導体集積回路は、前記第４のブートコードと前記第５のブートコードを暗号化して前記第２のブートコードを生成し、
前記第２の半導体集積回路は、前記第１の経路情報に基づき第２の送信先となる前記第３の半導体集積回路を特定し、前記第５のブートコードを暗号化して第６のブートコードを生成し、前記第６のブートコードを含む第２のデータを前記第３の半導体集積回路に前記第１のネットワークを介して送信し、
前記第３の半導体集積回路は、前記第１のネットワークを介して前記第２のデータを受信して、前記第６のブートコードを復号して前記第５のブートコードを生成し、前記第５のブートコードに基づく起動処理を行う、ことを特徴とする請求項１乃至５の何れか一項に記載の処理装置。
【請求項１０】
前記第２の半導体集積回路は、前記第１の経路情報を暗号化して第３の経路情報を生成し、前記第６のブートコードと前記第３の経路情報とを含む前記第２のデータを前記第３の半導体集積回路に前記第１のネットワークを介して送信する、ことを特徴とする請求項９に記載の処理装置。
【請求項１１】
前記第２の半導体集積回路は、前記第１の経路情報から前記第１の送信先に関する前記配信経路の情報を省いた情報を暗号化して第３の経路情報を生成し、前記第６のブートコードと前記第３の経路情報とを含む前記第２のデータを前記第３の半導体集積回路に前記第１のネットワークを介して送信する、ことを特徴とする請求項９に記載の処理装置。
【請求項１２】
前記第１の半導体集積回路が、複数の送信先に、前記第１の経路情報を暗号化した第２の経路情報と前記第２のブートコードとを含む前記第１のデータを送信する場合、または、前記第２の半導体集積回路が、前記複数の送信先に、前記第１のブートコードの少なくとも一部を暗号化した第３のブートコードと前記第１の経路情報を暗号化した第３の経路情報とを含む第２のデータを送信する場合、
前記複数の送信先の１つに送信する前記第２の経路情報または前記第３の経路情報から、前記複数の送信先のうち他の送信先に関する前記配信経路の情報を省いて送信する、ことを特徴とする請求項１乃至３の何れか一項に記載の処理装置。
【請求項１３】
前記第１のネットワークは、前記処理装置の外部に接続される第２のネットワークとは独立に設けられている、ことを特徴とする請求項１乃至１２の何れか一項に記載の処理装置。
【請求項１４】
前記第１のネットワークはイーサーネットである、ことを特徴とする請求項１３に記載の処理装置。
【請求項１５】
前記処理装置は暗号化されたブートコードを格納した記憶装置を有し、
前記第１の半導体集積回路は、前記記憶装置から前記暗号化されたブートコードを読み出し、前記暗号化されたブートコードを復号して前記第１のブートコードを生成する、ことを特徴とする請求項１乃至１４の何れか一項に記載の処理装置。
【請求項１６】
前記第１の半導体集積回路と前記第２の半導体集積回路はそれぞれ、
データを暗号化して前記第１のネットワークを介して送信先に送信する通信回路と、
システムバスを介して前記通信回路と接続され、対応する半導体集積回路の各部を制御する制御回路と、
を含み、
前記第２の半導体集積回路において、前記通信回路が、前記制御回路が起動しない状態で起動し、前記通信回路が前記第１のネットワークを介して前記第１のデータを受信して、前記第２のブートコードを復号して前記第１のブートコードを生成する、ことを特徴とする請求項１乃至１５の何れか一項に記載の処理装置。
【請求項１７】
前記第１の半導体集積回路と前記第２の半導体集積回路はそれぞれ、
前記システムバスを介して前記通信回路と接続され、対応する半導体集積回路の各部を起動させるか否かを決定する電源制御回路と、をさらに有し、
前記処理装置の電源が投入されたとき、
前記第１の半導体集積回路において、前記電源制御回路の制御の下で、前記制御回路と前記通信回路が起動し、
前記第２の半導体集積回路において、前記電源制御回路の制御の下で、前記制御回路は起動せずに、前記通信回路が起動する、ことを特徴とする請求項１６に記載の処理装置。
【請求項１８】
前記第２の半導体集積回路は、ステータス情報を暗号化し、暗号化されたステータス情報を前記通信回路から前記第１のネットワークを介して前記第１の半導体集積回路に送信し、
前記第１の半導体集積回路は、前記第１のネットワークを介して前記暗号化されたステータス情報を受信して、前記暗号化されたステータス情報を復号する、ことを特徴とする請求項１６または１７に記載の処理装置。
【請求項１９】
第１のブートコードを暗号化して第２のブートコードを生成し、前記第２のブートコードを含む第１のデータを、前記第１のブートコードの配信経路を示す第１の経路情報に基づき第１の送信先に第１のネットワークを介して送信し、前記第１の送信先から前記第１のデータの受信完了通知信号を受信する通信回路と、
システムバスを介して前記通信回路と接続され、前記通信回路が前記受信完了通知信号を受信したとき、前記第１の送信先が前記第１のブートコードに基づく起動処理を行うように指示する起動指示信号を、前記通信回路に前記第１の送信先に前記第１のネットワークを介して送信させる制御回路と、
を有することを特徴とする半導体集積回路。
【請求項２０】
前記システムバスを介して前記通信回路と接続され、記憶装置から暗号化されたブートコードを読み出し、前記暗号化されたブートコードを復号して前記第１のブートコードを生成する復号処理回路を有することを特徴とする請求項１９に記載の半導体集積回路。
【請求項２１】
前記通信回路は、前記第１の経路情報を暗号化して第２の経路情報を生成し、前記第２のブートコードと前記第２の経路情報を含む前記第１のデータを生成する、ことを特徴とする請求項１９または２０に記載の半導体集積回路。
【請求項２２】
前記システムバスを介して前記通信回路と接続され、前記半導体集積回路の各部を起動させるか否かを決定する電源制御回路を有し、
前記通信回路は、前記電源制御回路の制御の下で起動して、前記第２のブートコードを生成し、
前記制御回路は、前記電源制御回路の制御の下で起動して、前記起動指示信号を、前記通信回路に前記第１の送信先に前記第１のネットワークを介して送信させる、ことを特徴とする請求項１９乃至２１の何れか一項に記載の半導体集積回路。
【請求項２３】
第１のネットワークを介して、暗号化された第１のブートコードを含む第１のデータを受信し、受信完了通知信号を前記第１のデータの送信元に送信し、前記第１のブートコードを復号して第２のブートコードを生成する通信回路と、
システムバスを介して前記通信回路と接続され、前記第２のブートコードを記憶する記憶回路と、
前記システムバスを介して前記通信回路と接続され、前記第２のブートコードに基づく起動処理を行う制御回路と、
前記システムバスを介して前記通信回路と接続され、前記通信回路と前記制御回路を起動させるか否かを決定する電源制御回路と、
を有することを特徴とする半導体集積回路。
【請求項２４】
前記通信回路は、前記電源制御回路の制御の下で、前記制御回路が起動しない状態で起動して、前記送信元から起動指示信号を受信し、
前記電源制御回路は、前記通信回路が前記起動指示信号を受信したとき、前記制御回路を起動する、ことを特徴とする請求項２３に記載の半導体集積回路。
【請求項２５】
前記通信回路は、前記第２のブートコードの配信経路を示す第１の経路情報に基づき送信先となる他の半導体集積回路を特定し、前記第２のブートコードの少なくとも一部を暗号化して第３のブートコードを生成し、前記第３のブートコードを含む第２のデータを前記他の半導体集積回路に前記第１のネットワークを介して送信する、ことを特徴とする請求項２３または２４に記載の半導体集積回路。
【請求項２６】
前記通信回路は、前記第１の経路情報から自らに関する前記配信経路の情報を省いた情報に基づいて第３の経路情報を生成し、前記第３のブートコードと前記第３の経路情報とを含む前記第２のデータを前記他の半導体集積回路に前記第１のネットワークを介して送信する、ことを特徴とする請求項２５に記載の半導体集積回路。
【請求項２７】
前記通信回路は、暗号化された前記第１の経路情報を前記第１のデータの前記送信元から受信し、前記第１の経路情報を復号して第２の経路情報を生成する、ことを特徴とする請求項２５乃至２６の何れか一項に記載の半導体集積回路。
【請求項２８】
第１の半導体集積回路が、
第１のブートコードを暗号化して第２のブートコードを生成し、
前記第２のブートコードを含む第１のデータを、前記第２のブートコードの配信経路を示す第１の経路情報に基づき第１の送信先に第１のネットワークを介して送信し、
前記第１の送信先である第２の半導体集積回路が、
前記第１のネットワークを介して前記第１のデータを受信して、前記第２のブートコードを復号して前記第１のブートコードを生成し、
前記第１のブートコードに基づく起動処理を行う、
ことを特徴とする半導体集積回路の起動方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、処理装置、半導体集積回路及び半導体集積回路の起動方法に関する。
【背景技術】
【０００２】
システムの複雑化や大規模化に伴い、複数のＳｏＣ（System on Chip）を含むシステムが提案されている。
なお、従来、情報機器のセキュリティを強固にするため、記憶装置が暗号化されたデータや命令コードを格納し、プロセッサは暗号化された命令コードを復号して命令を実行する技術が提案されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００６−１８５２８号公報
【特許文献２】特開２００７−２２６４８１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
複数のＳｏＣを含むシステムの信頼性を確保するため、複数のＳｏＣのそれぞれに、暗号化されたブートコードを格納する不揮発性メモリを設けたり、そのブートコードの復号処理などを行う別チップのコントローラを接続したりすることが考えられる。しかし、その場合、システムに含まれる要素数（チップ数など）が増大してしまい、コストの増大につながってしまう問題があった。
【課題を解決するための手段】
【０００５】
発明の一観点によれば、第１のブートコードを暗号化して第２のブートコードを生成し、前記第２のブートコードを含む第１のデータを、前記第２のブートコードの配信経路を示す第１の経路情報に基づき第１の送信先に第１のネットワークを介して送信する第１の半導体集積回路と、前記第１の送信先であって、前記第１のネットワークを介して前記第１のデータを受信して、前記第２のブートコードを復号して前記第１のブートコードを生成する第２の半導体集積回路と、を有する処理装置が提供される。【０００６】
また、発明の一観点によれば、第１のブートコードを暗号化して第２のブートコードを生成し、前記第２のブートコードを含む第１のデータを、前記第１のブートコードの配信経路を示す第１の経路情報に基づき第１の送信先に第１のネットワークを介して送信し、前記第１の送信先から前記第１のデータの受信完了通知信号を受信する通信回路と、システムバスを介して前記通信回路と接続され、前記通信回路が前記受信完了通知信号を受信したとき、前記第１の送信先が前記第１のブートコードに基づく起動処理を行うように指示する起動指示信号を、前記通信回路に前記第１の送信先に第１のネットワークを介して送信させる制御回路と、を有する半導体集積回路が提供される。【０００７】
また、発明の一観点によれば、第１のネットワークを介して、暗号化された第１のブートコードを含む第１のデータを受信し、受信完了通知信号を前記第１のデータの送信元に送信し、前記第１のブートコードを復号して第２のブートコードを生成する通信回路と、システムバスを介して前記通信回路と接続され、前記第２のブートコードを記憶する記憶回路と、前記システムバスを介して前記通信回路と接続され、前記第２のブートコードに基づく起動処理を行う制御回路と、前記システムバスを介して前記通信回路と接続され、前記通信回路と前記制御回路を起動させるか否かを決定する電源制御回路と、を有する半導体集積回路が提供される。【０００８】
また、発明の一観点によれば、第１の半導体集積回路が、第１のブートコードを暗号化して第２のブートコードを生成し、前記第２のブートコードを含む第１のデータを、前記第２のブートコードの配信経路を示す第１の経路情報に基づき第１の送信先に第１のネットワークを介して送信し、前記第１の送信先である第２の半導体集積回路が、前記第１のネットワークを介して前記第１のデータを受信して、前記第２のブートコードを復号して前記第１のブートコードを生成し、前記第１のブートコードに基づく起動処理を行う、半導体集積回路の起動方法が提供される。
【発明の効果】
【０００９】
複数の半導体集積回路を含む処理装置の信頼性を、簡素な構成で向上できる。
本発明の上記及び他の目的、特徴及び利点は本発明の例として好ましい実施の形態を表す添付の図面と関連した以下の説明により明らかになるであろう。
【図面の簡単な説明】
【００１０】
【図１】第１の実施の形態の処理装置の一例を示す図である。
【図２】第２の実施の形態の処理装置の一例を示す図である。
【図３】マスタの一例を示す図である。
【図４】暗号／復号処理回路の一例を示す図である。
【図５】セキュア通信回路の一例を示す図である。
【図６】スレーブの一例を示す図である。
【図７】経路情報のファイルフォーマットの一例を示す図である。
【図８】スレーブ情報に含まれるデータの一例を示す図である。
【図９】第２の実施の形態の処理装置の動作の一例の流れを示すシーケンス図である。
【図１０】暗号化データの配信経路の一例を示す図である。
【図１１】経路情報の一例を示す図である。
【図１２】スレーブ情報の一例を示す図である。
【図１３】ステータス情報の収集処理の一例の様子を示す図である。
【図１４】あるスレーブからマスタにステータス情報を送信する様子を示す図である。
【発明を実施するための形態】
【００１１】
以下、発明を実施するための形態を、図面を参照しつつ説明する。
（第１の実施の形態）
図１は、第１の実施の形態の処理装置の一例を示す図である。
【００１２】
処理装置１０は、半導体集積回路１１，１２，１３、記憶装置１４、ネットワーク１５を有している。
半導体集積回路１１〜１３は、たとえば、それぞれ１チップのＳｏＣである。図１の処理装置１０は、３つの半導体集積回路１１〜１３を有しているが、２以上であれば、３つに限定されない。なお、処理装置１０は、２以上の半導体集積回路を１チップのＳｏＣとして構成することによって実現することも可能である。
【００１３】
半導体集積回路１１は、制御回路１１ａ、記憶回路１１ｂ、復号処理回路１１ｃ、セキュア通信回路１１ｄ、電源制御回路１１ｅを有しており、これらはシステムバス１１ｆに接続されている。
【００１４】
制御回路１１ａは、たとえば、マイクロコントローラやＣＰＵ（Central Processing Unit）などであり、システムバス１１ｆを介して、半導体集積回路１１の各部を制御する。
【００１５】
記憶回路１１ｂは、たとえば、ＲＡＭ（Random Access Memory）などの揮発性の半導体メモリでもよいし、フラッシュメモリなどの不揮発性のストレージでもよい。記憶回路１１ｂには、制御回路１１ａが実行するプログラム（制御回路１１ａのブートコードなど）や、各種データが記憶される。
【００１６】
復号処理回路１１ｃは、記憶装置１４から読み出される暗号化されたブートコード２０ａやブートコード２０ａの配信経路を示す経路情報２１ａを復号する。なお、復号処理や暗号処理の例については後述する。
【００１７】
セキュア通信回路１１ｄは、データを暗号化してネットワーク１５を介して送信先（たとえば、半導体集積回路１２）に送信する機能を有する。セキュア通信回路１１ｄは、復号処理回路１１ｃがブートコード２０ａと経路情報２１ａとを復号したものを再度暗号化して、図１に示すようにブートコード２０ｂ、経路情報２１ｂを生成し、これらを含む暗号化データ２２ａを送信する。さらに、セキュア通信回路１１ｄは、送信先からの受信完了通知信号を受信したとき、制御回路１１ａに送信先でデータの受信が完了した旨を通知する。そして、セキュア通信回路１１ｄは、制御回路１１ａから半導体集積回路１２，１３の制御回路（半導体集積回路１２では、制御回路１２ａ）の起動を指示する旨の信号を受けると、半導体集積回路１２，１３に起動指示信号を送信する。
【００１８】
電源制御回路１１ｅは、システムバス１１ｆを介して、半導体集積回路１１の各部の電源のオンオフを制御することで、各部を起動させるか否かを決定する。
半導体集積回路１２は、制御回路１２ａ、記憶回路１２ｂ、セキュア通信回路１２ｃ、電源制御回路１２ｄを有しており、これらはシステムバス１２ｅに接続されている。
【００１９】
制御回路１２ａは、半導体集積回路１１の制御回路１１ａと同様に、たとえば、マイクロコントローラやＣＰＵなどであり、システムバス１２ｅを介して、半導体集積回路１２の各部を制御する。
【００２０】
記憶回路１２ｂは、たとえば、ＲＡＭなどの揮発性の半導体メモリでもよいし、フラッシュメモリなどの不揮発性のストレージでもよい。記憶回路１２ｂには、制御回路１２ａが実行するブートコード２０ｃや、各種データが記憶される。
【００２１】
セキュア通信回路１２ｃは、ネットワーク１５を介して暗号化データ２２ａを受信し、暗号化されたブートコード２０ｂと経路情報２１ｂを復号する。セキュア通信回路１２ｃは、ブートコード２０ｂと経路情報２１ｂとを復号したものを再度暗号化して、図１に示すようにブートコード２０ｃ、経路情報２１ｃを生成する。そして、セキュア通信回路１２ｃは、ブートコード２０ｃと経路情報２１ｃを含む暗号化データ２２ｂを、ネットワーク１５を介して送信先（たとえば、半導体集積回路１３）に送信する。さらにセキュア通信回路１２ｃは、暗号化データ２２ａを受信した旨を示す受信完了通知信号を、ネットワーク１５を介して半導体集積回路１１に送信する。また、セキュア通信回路１２ｃは、半導体集積回路１１が送信する起動指示信号を受信したとき、起動指示信号を受信した旨を電源制御回路１２ｄに通知する。
【００２２】
電源制御回路１２ｄは、システムバス１２ｅを介して、半導体集積回路１２の各部の電源のオンオフを制御することで、各部を起動させるか否かを決定する。たとえば、処理装置１０の電源投入時に、電源制御回路１２ｄは、セキュア通信回路１２ｃを起動する。また、電源制御回路１２ｄは、セキュア通信回路１２ｃから起動指示信号を受信した旨の通知を受けると、制御回路１２ａを起動する。
【００２３】
半導体集積回路１３についても、半導体集積回路１２と同様の要素を含んでいるが図１では図示を省略している。
記憶装置１４は、たとえば、フラッシュメモリなどの不揮発性のストレージであり、半導体集積回路１２，１３の起動処理の際に用いられる暗号化されたブートコード２０ａや、ブートコード２０ａの配信経路を示す暗号化された経路情報２１ａなどを格納する。なお、記憶装置１４は、半導体集積回路１１の中に設けられていてもよい。また、ブートコード２０ａは、半導体集積回路１２，１３で共通のものであってもよいし、ブートコード２０ａに半導体集積回路１２，１３が用いる異なるブートコードが含まれていてもよい。また、経路情報２１ａについては、暗号化されていなくてもよい。
【００２４】
ネットワーク１５は、ブートコードのセキュア配信や、処理装置１０の内部の状態を監視する際に用いられるネットワークであり、処理装置１０の外部には接続されない。ネットワーク１５として、たとえば、イーサーネット（登録商標）を用いることができる。
【００２５】
このような処理装置１０では、半導体集積回路１１はマスタとして機能し、半導体集積回路１２，１３はスレーブとして機能する。処理装置１０に電源が投入されると、電源制御回路１１ｅ，１２ｄが起動する（図示を省略しているが、半導体集積回路１３の電源制御回路も起動する）。
【００２６】
そして、まず、電源制御回路１１ｅは、制御回路１１ａを起動する。また、電源制御回路１１ｅ（または制御回路１１ａ）は、復号処理回路１１ｃとセキュア通信回路１１ｄを起動する。これにより、復号処理回路１１ｃは、制御回路１１ａの制御のもと、記憶装置１４から暗号化されたブートコード２０ａと経路情報２１ａを読み出して復号し、復号したものをシステムバス１１ｆに供給する。次に、セキュア通信回路１１ｄは、復号処理回路１１ｃにてブートコード２０ａと経路情報２１ａとが復号されたものを、再度暗号化してブートコード２０ｂと経路情報２１ｂを生成する。なお、経路情報２１ｂについては、暗号化データとしなくてもよい。
【００２７】
また、ブートコード２０ａに半導体集積回路１２，１３が用いる異なるブートコードが含まれている場合は、ブートコード２０ｂには半導体集積回路１２，１３が用いるブートコードをそれぞれ含むようにすることができ、また、ブートコード２０ｂに、半導体集積回路１２が用いるブートコードを含まず、半導体集積回路１３が用いるブートコードを含むようにしてもよい。一方、ブートコード２０ａに半導体集積回路１２，１３で共通のブートコードが含まれている場合は、ブートコード２０ｂにはその共通のブートコードが含まれる。
【００２８】
そして、セキュア通信回路１１ｄは、経路情報２１ａを復号したものに基づき、送信先（図１の例では、半導体集積回路１２）を特定し、その送信先に、ブートコード２０ｂと経路情報２１ｂとを含む暗号化データ２２ａを、ネットワーク１５を介して送信する。なお、制御回路１１ａは、復号されたブートコードが適切なものであるか判定するようにしてもよい。
【００２９】
一方、半導体集積回路１２では、電源制御回路１２ｄが起動すると、電源制御回路１２ｄは、制御回路１２ａを起動せず、セキュア通信回路１２ｃを起動する。セキュア通信回路１２ｃは、暗号化データ２２ａを受信すると、暗号化されたブートコード２０ｂと経路情報２１ｂを復号する。そして、セキュア通信回路１２ｃは、復号して得られたブートコード２０ｃを記憶回路１２ｂに格納する。
【００３０】
さらにセキュア通信回路１２ｃは、暗号化データ２２ａを受信した旨を示す受信完了通知信号を半導体集積回路１１に送信する。また、セキュア通信回路１２ｃは、経路情報２１ｂを復号したものに基づき、半導体集積回路１２から先の配信経路が指定されている場合、ブートコード２０ｂと経路情報２１ｂとが復号されたものを再度暗号化して、暗号化されたブートコード２０ｃと経路情報２１ｃを含む暗号化データ２２ｂを生成し、送信先に送信する。図１では、半導体集積回路１２の送信先が半導体集積回路１３である例が示されている。なお、経路情報２１ｃについては、暗号化データとしなくてもよい。
【００３１】
また、ブートコード２０ａに半導体集積回路１２，１３が用いる異なるブートコードが含まれている場合は、ブートコード２０ｃに半導体集積回路１３が用いるブートコードが含まれていればよく、半導体集積回路１２が用いるブートコードは含まれていなくてもよい。一方、ブートコード２０ａに半導体集積回路１２，１３で共通のブートコードが含まれている場合は、ブートコード２０ｃにはその共通のブートコードが含まれる。
【００３２】
暗号化データ２２ｂを受信する半導体集積回路１３でも半導体集積回路１２と同様な処理が行われる。
半導体集積回路１１のセキュア通信回路１１ｄは、半導体集積回路１２，１３が送信する受信完了通知信号を受信すると、制御回路１１ａに受信完了通知信号を受信した旨を通知する。制御回路１１ａは、セキュア通信回路１１ｄからの通知に基づき、半導体集積回路１２，１３で暗号化データ２２ａ，２２ｂの受信が完了したと判定すると、半導体集積回路１２，１３の制御回路の起動を指示する旨をセキュア通信回路１１ｄに通知する。セキュア通信回路１１ｄは、この通知を受けると、起動指示信号を半導体集積回路１２，１３に送信する。
【００３３】
また、半導体集積回路１２のセキュア通信回路１２ｃは、起動指示信号を受信すると、電源制御回路１２ｄに起動指示信号を受信した旨を通知する。電源制御回路１２ｄは、この通知を受けると、制御回路１２ａを起動する。制御回路１２ａは、起動すると、記憶回路１２ｂに格納されているブートコードに基づく起動処理を実行する。
【００３４】
起動指示信号を受信する半導体集積回路１３でも半導体集積回路１２と同様な起動処理が実行される。
このように、半導体集積回路１１は、暗号化されたブートコード２０ｂと、ブートコード２０ｂの配信経路を示す暗号化された経路情報２１ｂとを含む暗号化データ２２ａを送信する。そして、半導体集積回路１１は、暗号化データ２２ａの受信完了通知信号を受信したとき、起動指示信号を送信する。また、半導体集積回路１２は、ネットワーク１５を介して、暗号化データ２２ａを半導体集積回路１１から受信して、受信完了通知を半導体集積回路１２に送信する。また、半導体集積回路１２は、暗号化データ２２ａに含まれるブートコード２０ｂを復号してブートコード２０ｃを生成し、起動指示信号を受信したとき、ブートコード２０ｃに基づく起動処理を行う。
【００３５】
以上のような処理装置１０によれば、半導体集積回路１１が、暗号化したブートコード２０ｂを半導体集積回路１２に供給するので、半導体集積回路１２にはブートコードを格納する記憶装置を接続しなくてよくなる。つまりブートコードを半導体集積回路１２が管理しなくてよくなる。また、半導体集積回路１２内で暗号化されたブートコード２０ｂの復号が行われるので、別チップのコントローラを接続しなくてもよくなる。以上のことから、簡素な構成で処理装置１０の信頼性を向上できる。これによって、コストの削減が期待できる。
【００３６】
また、スレーブとして機能する半導体集積回路１２は、復号したブートコードや経路情報を再度暗号化して、経路情報に基づく送信先（図１の例では半導体集積回路１３）に送信することで、マスタとして機能する半導体集積回路１１の負担を減らせる。
【００３７】
なお、半導体集積回路１１，１２は、ブートコード以外のデータについても暗号化して送信するようにしてもよい。
（第２の実施の形態）
図２は、第２の実施の形態の処理装置の一例を示す図である。
【００３８】
第２の実施の形態の処理装置３０は、マスタ３１、スレーブ３２，３３，３４，３５，３６，３７，３８，３９を有し、これらはネットワーク４０，４１に接続されている。また、マスタ３１には、不揮発性メモリ４２が接続されている。
【００３９】
マスタ３１及びスレーブ３２〜３９は、たとえば、それぞれ１チップのＳｏＣである。
ネットワーク４０は、処理装置３０の外部に接続される。一方、ネットワーク４１は、ネットワーク４０とは独立に設けられており、処理装置３０の外部には接続されない。ネットワーク４１として、たとえば、イーサーネットを用いることができる。
【００４０】
不揮発性メモリ４２は、たとえば、フラッシュメモリであり、スレーブ３２〜３９の起動時に実行されるブートコードを格納する。なお、不揮発性メモリ４２は、マスタ３１の中にあってもよい。
【００４１】
以下、マスタ３１とスレーブ３２〜３９のハードウェア例を説明する。なお、以下では、ネットワーク４１を用いたセキュア通信処理を行う部分を示し、ネットワーク４０を用いた通信処理を行う部分などについては説明を省略する。
【００４２】
図３は、マスタの一例を示す図である。
マスタ３１は、第１の実施の形態の処理装置１０の半導体集積回路１１と同様の機能を有する。マスタ３１は、ＭＣＵ（Micro Controller Unit）３１ａ、ＲＯＭ（Read Only Memory）３１ｂ、ＲＡＭ３１ｃ、電源制御回路３１ｄ、暗号／復号処理回路３１ｅ、セキュア通信回路３１ｆを有しており、これらはシステムバス３１ｇに接続されている。
【００４３】
ＭＣＵ３１ａは、ＲＯＭ３１ｂに格納されるプログラムに基づき、システムバス３１ｇを介して、マスタ３１の各部を制御する。なお、ＭＣＵ３１ａの代わりに、ＣＰＵなどのプロセッサを用いてもよい。
【００４４】
ＲＯＭ３１ｂは、フラッシュメモリなどの不揮発性のストレージであり、ＭＣＵ３１ａが実行するプログラム（ＭＣＵ３１ａのブートコードなど）や各種データを格納する。ＲＡＭ３１ｃは、ＭＣＵ３１ａが実行するプログラムの少なくとも一部を一時的に格納する。また、ＲＡＭ３１ｃは、ＭＣＵ３１ａによる処理に用いられる各種データを格納する。
【００４５】
電源制御回路３１ｄは、システムバス３１ｇを介して、マスタ３１の各部の電源のオンオフを制御することで、各部を起動させるか否かを決定する。
暗号／復号処理回路３１ｅは、スレーブ３２〜３９のＭＣＵのブートコードやブートコードの配信経路を示す経路情報などを暗号化して不揮発性メモリ４２に予め記憶する。さらに、暗号／復号処理回路３１ｅは、不揮発性メモリ４２から読み出される暗号化されたブートコードと経路情報を復号する。
【００４６】
セキュア通信回路３１ｆは、ブートコードと経路情報とを再度暗号化して、暗号化されたブートコード、暗号化された経路情報を含む暗号化データを送信先（スレーブ３２〜３９の何れか）に送信する。さらに、セキュア通信回路３１ｆは、送信先からの受信完了通知信号を受信すると、ＭＣＵ３１ａに送信先でデータの受信が完了した旨を通知する。そして、セキュア通信回路３１ｆは、ＭＣＵ３１ａから全スレーブ３２〜３９のＭＣＵの起動を指示する旨の信号を受けると、スレーブ３２〜３９に起動指示信号を送信する。
【００４７】
なお、セキュア通信回路３１ｆは、暗号化されたブートコードと暗号化された経路情報以外のデータを暗号化して送信してもよい。
図４は、暗号／復号処理回路の一例を示す図である。
【００４８】
暗号／復号処理回路３１ｅは、制御回路３１ｅ１、暗号／復号回路３１ｅ２を有している。
制御回路３１ｅ１は、暗号／復号回路３１ｅ２を用いた暗号／復号処理を制御する。
【００４９】
暗号／復号回路３１ｅ２は、不揮発性メモリ４２との間で送受信されるデータに対して暗号／復号処理を行う。以下では、ハードウェア鍵及び共通暗号鍵を用いた暗号／復号処理の例を説明する。
【００５０】
たとえば、マスタ３１の初回起動時に、暗号／復号回路３１ｅ２は、システムバス３１ｇを介して、ＲＯＭ３１ｂまたはＲＡＭ３１ｃから供給されるスレーブ３２〜３９のブートコードとブートコードの配信経路を示す経路情報を共通暗号鍵で暗号化する。さらに、暗号／復号回路３１ｅ２は、その共通暗号鍵を、ハードウェア鍵で暗号化する。
【００５１】
制御回路３１ｅ１は、システムバス３１ｇを介してＭＣＵ３１ａによって指定されるアドレス（ライトアドレス）に基づき、不揮発性メモリ４２に、共通暗号鍵で暗号化されたブートコードと経路情報、ハードウェア鍵で暗号化された共通暗号鍵を格納する。
【００５２】
制御回路３１ｅ１は、初回以降の起動時、ＭＣＵ３１ａによって指定されるアドレス（リードアドレス）に基づき、暗号化された共通暗号鍵とブートコードと経路情報を、不揮発性メモリ４２から読み出す。そして、制御回路３１ｅ１の制御のもと、暗号／復号回路３１ｅ２はハードウェア鍵で共通暗号鍵を復号し、復号した共通暗号鍵でブートコードと経路情報を復号する。
【００５３】
なお、暗号／復号回路３１ｅ２ではなく、処理装置１０とは別のシステムによって予め暗号化された上述のブートコードや経路情報、共通暗号鍵を不揮発性メモリ４２に格納する構成をとることも可能である。
【００５４】
図５は、セキュア通信回路の一例を示す図である。
セキュア通信回路３１ｆは、ＤＭＡ（Direct Memory Access）処理回路３１ｆ１、パケット処理回路３１ｆ２、暗号／復号回路３１ｆ３、ハードウェア鍵設定回路３１ｆ４、メディアアクセスコントローラ３１ｆ５を有する。
【００５５】
ＤＭＡ処理回路３１ｆ１は、ＭＣＵ３１ａまたはパケット処理回路３１ｆ２から供給されるコマンドに基づき、システムバス３１ｇを介して、マスタ３１内のＲＡＭ３１ｃとの間で、または、システムバス３１ｇ及び暗号／復号処理回路３１ｅを介して、不揮発性メモリ４２との間で、データの送受信を行う。
【００５６】
パケット処理回路３１ｆ２は、ＤＭＡ処理回路３１ｆ１が受信したＲＡＭ３１ｃに格納されている情報（ブートコードや経路情報など）を受け、その情報に基づくパケットを生成し、そのパケットを暗号／復号回路３１ｆ３に送信する。さらに、パケット処理回路３１ｆ２は、暗号／復号回路３１ｆ３から暗号化されたパケットを受信すると、暗号化されたパケットをメディアアクセスコントローラ３１ｆ５に供給する。また、パケット処理回路３１ｆ２は、メディアアクセスコントローラ３１ｆ５から暗号化されたパケットを受けると、暗号化されたパケットを暗号／復号回路３１ｆ３に送信する。そして、パケット処理回路３１ｆ２は、暗号／復号回路３１ｆ３から復号されたパケットを受信すると、復号されたパケットをＤＭＡ処理回路３１ｆ１に供給する。
【００５７】
暗号／復号回路３１ｆ３は、ハードウェア鍵を用いて、パケットの暗号化や復号、ハッシュ値の計算を行う。
ハードウェア鍵設定回路３１ｆ４には、ハードウェア鍵が設定されている。ハードウェア鍵設定回路３１ｆ４として、たとえば、電気ヒューズ（Ｅ−Ｆｕｓｅ）などのＯＴＰ−ＲＯＭ（One Time Programmable-ROM）を用いることができる。
【００５８】
メディアアクセスコントローラ３１ｆ５は、ＭＡＣアドレスを用いて、ネットワーク４１を介してスレーブ３２〜３９との間で暗号化されたパケットの送受信を行う。
図６は、スレーブの一例を示す図である。
【００５９】
なお、図６は、スレーブ３２〜３９のうち、スレーブ３２の一例を示しているが、他のスレーブ３３〜３９についても同様の回路で実現できる。スレーブ３２は、図１に示した第１の実施の形態の処理装置の半導体集積回路１２と同様の機能を有する。
【００６０】
スレーブ３２は、ＭＣＵ３２ａ、ＲＡＭ３２ｂ、ＡＰ（Application Processer）３２ｃ、電源制御回路３２ｄ、セキュア通信回路３２ｅを有しており、これらはシステムバス３２ｆに接続されている。
【００６１】
ＭＣＵ３２ａは、ＲＡＭ３２ｂに格納されるプログラムを実行して、システムバス３２ｆを介して、スレーブ３２の各部を制御する。なお、ＭＣＵ３２ａの代わりに、ＣＰＵなどのプロセッサを用いてもよい。
【００６２】
ＲＡＭ３２ｂは、たとえば、セキュア通信回路３２ｅが受信するＭＣＵ３２ａのブートコードやＡＰ３２ｃのブートコードなどを格納する。
ＡＰ３２ｃは、ＭＣＵ３２ａが担当する処理とは別の、様々なアプリケーションの処理を行うプロセッサである。ＡＰ３２ｃは、たとえば、ＲＡＭ３２ｂに格納されるブートコードに基づき起動する。
【００６３】
電源制御回路３２ｄは、システムバス３２ｆを介して、スレーブ３２の各部の電源のオンオフを制御することで、各部を起動させるか否かを決定する。
セキュア通信回路３２ｅは、ネットワーク４１を介して暗号化データを受信し、暗号化されたブートコードと経路情報を復号する。また、セキュア通信回路３２ｅは、復号したブートコードと経路情報を再度暗号化して、暗号化したブートコードと経路情報を含む暗号化データを経路情報で指定されている送信先に、ネットワーク４１を介して送信する。さらにセキュア通信回路３２ｅは、暗号化データを受信した旨を示す受信完了通知信号を、ネットワーク４１を介してマスタ３１に送信する。また、セキュア通信回路３２ｅは、マスタ３１が送信する起動指示信号を受信すると、起動指示信号を受信した旨を、システムバス３２ｆを介して電源制御回路３２ｄに通知する。
【００６４】
セキュア通信回路３２ｅは、図５に示したセキュア通信回路３１ｆと同様のハードウェアで実現できる。
なお、スレーブ３２〜３９においても、マスタ３１のＲＯＭ３１ｂや暗号／復号処理回路３１ｅに相当する要素を設け、マスタとして機能するようにして、マスタ３１がスレーブとして機能するようにしてもよい。
【００６５】
次に、不揮発性メモリ４２に格納される経路情報の例を説明する。
図７は、経路情報のファイルフォーマットの一例を示す図である。
経路情報のファイルフォーマットの先頭の項目（項目Ｎｏ．１）のデータとして、全スレーブ数が指定されている。２番目以降の項目（項目Ｎｏ．２〜９）のデータとして、スレーブ３２〜３９の情報が指定されている。スレーブ３２〜３９のそれぞれの情報には、たとえば、５つの項目のデータが含まれる。すなわち、スレーブＭＡＣアドレス、配信元ＭＡＣアドレス、受信データ格納先頭アドレス、データサイズ、送信データ格納先頭アドレス、である。
【００６６】
スレーブＭＡＣアドレスは、スレーブ３２〜３９の何れかのＭＡＣアドレスである。たとえば、スレーブ３２の情報に含まれるスレーブＭＡＣアドレスは、スレーブ３２のＭＡＣアドレスである。
【００６７】
配信元ＭＡＣアドレスは、経路情報の配信元（マスタ３１またはスレーブ３２〜３９）のＭＡＣアドレスである。たとえば、スレーブ３２の情報に含まれる配信元ＭＡＣアドレスは、マスタ３１のＭＡＣアドレスである。
【００６８】
受信データ格納先頭アドレスは、スレーブ３２〜３９が受信したデータを記憶する記憶領域の先頭アドレスである。たとえば、スレーブ３２の情報に含まれる受信データ格納先頭アドレスは、受信したブートコードを記憶するＲＡＭ３２ｂの記憶領域の先頭アドレスである。
【００６９】
データサイズは、ＲＡＭ３２ｂに記憶するブートコードのデータサイズである。
送信データ格納先頭アドレスは、ブートコードの配信元（マスタ３１またはスレーブ３２〜３９）において、ブートコードを記憶している記憶領域の先頭アドレスである。たとえば、スレーブ３２の情報に含まれる送信データ格納先頭アドレスは、不揮発性メモリ４２において、ブートコードが記憶されている記憶領域の先頭アドレスである。
【００７０】
図８は、スレーブ情報に含まれるデータの一例を示す図である。
図８では、スレーブ３２の情報に含まれるデータの一例を示している。スレーブＭＡＣアドレスであるＭＡＣＳ０は、たとえば、スレーブ３２のセキュア通信回路３２ｅに設定されており、配信元ＭＡＣアドレスであるＭＡＣＭはマスタ３１のセキュア通信回路３１ｆに設定されている。
【００７１】
受信データ格納先頭アドレスａｄｄ２は、ＲＡＭ３２ｂにおいて、データ（ブートコード）を格納する記憶領域の先頭アドレスを示している。送信データ格納先頭アドレスａｄｄ１は、不揮発性メモリ４２において、データ（暗号化されたブートコード）を格納する記憶領域の先頭アドレスを示している。データサイズｓｉｚｅ１は、不揮発性メモリ４２に記憶されているデータのサイズを示している。
【００７２】
以下、第２の実施の形態の処理装置３０の動作例を説明する。
図９は、第２の実施の形態の処理装置の動作の一例の流れを示すシーケンス図である。図９では、マスタ３１から配信されるブートコードに基づきスレーブ３２のＭＣＵ３２ａを起動する際の動作の流れが示されている。
【００７３】
処理装置３０に電源が投入されると、マスタ３１の電源制御回路３１ｄが起動し（Ｔ１）、スレーブ３２の電源制御回路３２ｄが起動する（Ｔ２）。スレーブ３２の電源制御回路３２ｄは、セキュア通信回路３２ｅの初期設定（レジスタ設定など）を行い（Ｔ３）、セキュア通信回路３２ｅを起動する。図示を省略しているが、他のスレーブ３３〜３９でも同様の処理が行われる。
【００７４】
マスタ３１の電源制御回路３１ｄは、ＭＣＵ３１ａを起動し（Ｔ４）、ＭＣＵ３１ａは暗号／復号処理回路３１ｅ、セキュア通信回路３１ｆの初期設定を行い（Ｔ５，Ｔ６）、これらを起動する。なお、電源制御回路３１ｄが、暗号／復号処理回路３１ｅ、セキュア通信回路３１ｆの初期設定を行ってもよい。
【００７５】
暗号／復号処理回路３１ｅは、たとえば、ＭＣＵ３１ａによる初期設定で指定された不揮発性メモリ４２のアドレスから、暗号化された経路情報を読み出して復号する（Ｔ８）。
【００７６】
セキュア通信回路３１ｆは、復号された経路情報を暗号／復号処理回路３１ｅからリードして（Ｔ９）、経路情報に基づきスレーブ３２に対してパケットを送信することで、所在確認の問い合わせをする（Ｔ１０）。
【００７７】
スレーブ３２のセキュア通信回路３２ｅは、所在確認の問い合わせを受けると、応答パケットをマスタ３１に送信することで、所在確認に対する応答を行う（Ｔ１１）。
マスタ３１の暗号／復号処理回路３１ｅは、たとえば、ＭＣＵ３１ａによる初期設定で指定された不揮発性メモリ４２のアドレスから、暗号化されたブートコードを読み出して復号する（Ｔ１２）。
【００７８】
セキュア通信回路３１ｆは、復号されたブートコードを暗号／復号処理回路３１ｅからリードして（Ｔ１３）、暗号化処理を行うことでブートコードと経路情報を暗号化し（Ｔ１４）、スレーブ３２に暗号化データを送信する（Ｔ１５）。
【００７９】
スレーブ３２のセキュア通信回路３２ｅは、暗号化データを受信してブートコードと経路情報の復号処理を行う（Ｔ１６）。そして、セキュア通信回路３２ｅは、経路情報をセキュア通信回路３２ｅ内の図示しない記憶部（たとえば、レジスタ）に保持し、ブートコードをＲＡＭ３２ｂに格納する（Ｔ１７）。また、セキュア通信回路３２ｅは、マスタ３１に対して、受信完了通知信号を送信することで、受信の完了通知を行う（Ｔ１８）。
【００８０】
マスタ３１のＭＣＵ３１ａは、セキュア通信回路３１ｆを介して、全スレーブ３２〜３９から、暗号化データの受信が完了し旨の通知を受けると、全スレーブ３２〜３９のＭＣＵの起動を指示する起動指示信号をセキュア通信回路３１ｆに送信させる。
【００８１】
スレーブ３２のセキュア通信回路３２ｅは、マスタ３１のセキュア通信回路３１ｆから起動指示信号を受信すると、その旨を電源制御回路３２ｄに通知する（Ｔ２０）。電源制御回路３２ｄは、セキュア通信回路３２ｅから起動指示信号を受信した旨の信号を受けると、ＭＣＵ３２ａを起動する（Ｔ２１）。図示を省略しているが、その後、ＭＣＵ３２ａでは、ＲＡＭ３２ｂに格納されたブートコードに基づく起動処理を行う。
【００８２】
なお、図９では図示を省略しているが、スレーブ３２から別のスレーブに暗号化データを送信する場合には、スレーブ３２のセキュア通信回路３２ｅが経路情報に基づき、送信先のスレーブに所在確認の問い合わせを行う。そして、セキュア通信回路３２ｅは、所在確認に対する応答を受けると、ＲＡＭ３２ｂからブートコードをリードし、経路情報とブートコードを暗号化して、送信先のスレーブに送信する。
【００８３】
なお、処理装置３０は、スレーブ３２〜３９のＡＰ（スレーブ３２ではＡＰ３２ｃ）のブートコードについても、上記の配信方法と同様に配信を行うことができる。
ところで、ブートコードと経路情報を含む暗号化データは、１つのマスタまたは１つのスレーブから、複数のスレーブに送信されるようにしてもよい。
【００８４】
図１０は、暗号化データの配信経路の一例を示す図である。
図１０に示す暗号化データの配信経路では、マスタ３１が送信する暗号化データを受信するスレーブ３２は、スレーブ３３，３５，３６に対して、暗号化データを送信する。また、スレーブ３６は、スレーブ３７，３９に暗号化データを送信する。なお、スレーブ３３は１つのスレーブ３４に暗号化データを送信し、スレーブ３７も１つのスレーブ３８に暗号化データを送信する。なお、複数のスレーブへの配信は、同時には行われず、配信経路情報に基づいて所定の順番で行われる。
【００８５】
このような配信経路を示す経路情報は、以下のように表すことができる。
図１１は、経路情報の一例を示す図である。
経路情報の２番目以降の項目（項目Ｎｏ．２〜９）のデータとして、スレーブ３２〜３９の情報が指定されているが、ツリー状の配信経路の部分木単位で並べて配置されている。
【００８６】
たとえば、図１０の配信経路では、スレーブ３２，３６，３７，３８という順番で暗号化データが配信される部分木があるため、その順にスレーブ３２，３６，３７，３８の情報が配置される。さらに、スレーブ３６からスレーブ３９へ暗号化データが配信される部分木、スレーブ３２からスレーブ３３，３４という順番で暗号化データが配信される部分木、スレーブ３２からスレーブ３５へ暗号化データが配信される部分木がある。そのため、この部分木単位でスレーブ３９，３３，３４，３５の情報が配置されている。
【００８７】
図１２は、スレーブ情報の一例を示す図である。
図１２の例では、マスタ３１のＭＡＣアドレスをＭＡＣＭ、スレーブ３２のＭＡＣアドレスをＭＡＣＳ０、スレーブ３３のＭＡＣアドレスをＭＡＣＳ１、スレーブ３４のＭＡＣアドレスをＭＡＣＳ２、スレーブ３５のＭＡＣアドレスをＭＡＣＳ３としている。また、スレーブ３６のＭＡＣアドレスをＭＡＣＳ４、スレーブ３７のＭＡＣアドレスをＭＡＣＳ５、スレーブ３８のＭＡＣアドレスをＭＡＣＳ６、スレーブ３９のＭＡＣアドレスをＭＡＣＳ７としている。
【００８８】
また、図１２の例では、不揮発性メモリ４２のＡｄｄ０を先頭アドレスとする記憶領域に格納されたデータサイズがＳ１のブートコードを、スレーブ３２〜３９のＲＡＭのＡｄｄ１を先頭アドレスとする記憶領域に格納する例が示されている。
【００８９】
このような経路情報を用いて暗号化データの配信を行う際、マスタ３１のセキュア通信回路３１ｆは、以下のような処理を行う。
セキュア通信回路３１ｆは、経路情報に含まれる先頭のスレーブ情報から、次に、配信元ＭＡＣアドレスがマスタ３１のＭＡＣアドレスになっているスレーブ情報の直前までの経路情報とブートコードを先頭のスレーブ情報で表されるスレーブに送信する。配信元ＭＡＣアドレスがマスタ３１のＭＡＣアドレスになっているスレーブ情報が複数ある場合には、同様の処理が繰り返される。たとえば、２番目に配信元ＭＡＣアドレスがマスタ３１のＭＡＣアドレスになっているスレーブ情報から、３番目に配信元ＭＡＣアドレスがマスタ３１のＭＡＣアドレスになっているスレーブ情報の直前までの経路情報とブートコードが送信される。
【００９０】
図１２の例では、配信元ＭＡＣアドレスがマスタ３１のＭＡＣアドレスであるＭＡＣＭとなっているスレーブ情報が、スレーブ３２の情報以外にはない。そのため、スレーブ３２には、全てのスレーブ３２〜３９の情報を含む経路情報が送信される。
【００９１】
スレーブ３２〜３９のセキュア通信回路（スレーブ３２では、セキュア通信回路３２ｅ）は、受信した経路情報の先頭のスレーブ情報は自分自身の情報であるためスキップし、２番目のスレーブ情報を先頭スレーブ情報とする。そして、スレーブ３２〜３９のセキュア通信回路は、先頭のスレーブ情報から、次に配信元ＭＡＣアドレスが自身のＭＡＣアドレスになっているスレーブ情報の直前までの経路情報とブートコードを、先頭のスレーブ情報で表されるスレーブに送信する。配信元ＭＡＣアドレスが自身のＭＡＣアドレスになっているスレーブ情報が複数ある場合には、同様の処理が繰り返される。
【００９２】
なお、スレーブ３２〜３９は、受信した経路情報に含まれるスレーブ情報が１つの場合、自身が送信元となって経路情報を送信する相手がいないため、配信処理を終了する。またスレーブ３２〜３９は、送信するスレーブ情報がなくなった場合についても、配信処理を終了する。
【００９３】
図１２の例では、スレーブ３２は、項目Ｎｏ．３のスレーブ情報（スレーブ３６の情報）から、次に配信元ＭＡＣアドレスが自身のＭＡＣアドレスになっている項目Ｎｏ．７のスレーブ情報の直前までの経路情報とブートコードを、スレーブ３６に送信する。また、スレーブ３２は、項目Ｎｏ．７のスレーブ情報（スレーブ３３の情報）から、次に配信元ＭＡＣアドレスが自身のＭＡＣアドレスになっている項目Ｎｏ．９のスレーブ情報の直前までの経路情報とブートコードを、スレーブ３３に送信する。さらに、スレーブ３２は、項目Ｎｏ．９のスレーブ情報（スレーブ３５の情報）を経路情報として、ブートコードとともに、スレーブ３５に送信する。
【００９４】
このように、マスタ３１やスレーブ３２〜３９は、送信先が複数ある場合、複数の送信先の１つに送信する経路情報から、他の送信先に関する配信経路の情報（スレーブ情報）を省いて送信する。これにより、送信する情報量を減らすことができ、ブートコードの配信時間を短縮できる。
【００９５】
なお、マスタ３１やスレーブ３２〜３９は、先頭のスレーブ情報を削除してから送信先のスレーブに送信するようにしてもよい。
（ステータス情報収集方法）
上記のような第２の実施の形態の処理装置３０のマスタ３１は、スレーブ３２〜３９から、スレーブ３２〜３９のそれぞれの状態を示すステータス情報を収集するようにしてもよい。
【００９６】
図１３は、ステータス情報の収集処理の一例の様子を示す図である。
動作中のスレーブ３２〜３９のステータス情報は、スレーブ３２〜３９のそれぞれのセキュア通信回路から、ネットワーク４１を介して、マスタ３１に送信される。ステータス情報のマスタ３１への送信は、定期的に行われる。
【００９７】
図１４は、あるスレーブからマスタにステータス情報を送信する様子を示す図である。
スレーブ５０は、図６に示したスレーブ３２に、ステータス情報を保持するステータスレジスタ５１を追加したものである。ステータスレジスタ５１には、たとえば、ＡＰ３２ｃでの演算の状態を示すフラグビットがステータス情報として書き込まれる。また、スレーブ５０は、異常の発生を検出する機能を有していてもよく、異常の有無を示す情報をステータス情報としてステータスレジスタ５１に書き込んでもよい。
【００９８】
セキュア通信回路３２ｅは、たとえば、タイマを有しており、ステータスレジスタ５１に格納されているステータス情報を定期的にリードし、ステータス情報を暗号化して、ネットワーク４１を介してマスタ３１に送信する。なお、セキュア通信回路３２ｅは、たとえば、ＭＣＵ３２ａまたは電源制御回路３２ｄによる制御のもと、定期的にステータスレジスタ５１に格納されているステータス情報をリードするようにしてもよい。
【００９９】
マスタ３１のセキュア通信回路３１ｆは、暗号化されたステータス情報を受信すると、復号処理を行い、復号したステータス情報をＲＡＭ３１ｃに格納する。マスタ３１のＭＣＵ３１ａは、ＲＡＭ３１ｃに格納されたステータス情報を参照することで、スレーブ５０において異常が発生しているか否かを判定する。
【０１００】
以上説明した第２の実施の形態の処理装置３０によれば、スレーブ３２〜３９のブートコードをマスタ３１が起点となって、スレーブ３２〜３９に配信していくので、スレーブ３２〜３９にはブートコードを格納する不揮発性メモリを接続しなくてよくなる。また、スレーブ３２〜３９内のセキュア通信回路（スレーブ３２ではセキュア通信回路３２ｅ）が、暗号化されたブートコードの復号を行うので、復号処理などを行う別チップのコントローラを接続しなくてもよくなる。このため、スレーブ数が多くなってもブートコードを格納する不揮発性メモリの数や、チップ数の増大を抑えられ、簡素な構成で処理装置３０の信頼性を向上できる。これによって、コストの削減が期待できる。
【０１０１】
また、スレーブ３２〜３９において、復号したブートコードや経路情報を再度暗号化して、経路情報に基づく送信先に送信することで、マスタ３１の負担を減らせる。
上記については単に本発明の原理を示すものである。さらに、多数の変形、変更が当業者にとって可能であり、本発明は上記に示し、説明した正確な構成及び応用例に限定されるものではなく、対応する全ての変形例及び均等物は、添付の請求項及びその均等物による本発明の範囲とみなされる。
【符号の説明】
【０１０２】
１０  処理装置
１１，１２，１３  半導体集積回路
１１ａ，１２ａ  制御回路
１１ｂ，１２ｂ  記憶回路
１１ｃ  復号処理回路
１１ｄ，１２ｃ  セキュア通信回路
１１ｅ，１２ｄ  電源制御回路
１１ｆ，１２ｅ  システムバス
１４  記憶装置
１５  ネットワーク
２０ａ，２０ｂ，２０ｃ  ブートコード
２１ａ，２１ｂ，２１ｃ  経路情報
２２ａ，２２ｂ  暗号化データ
【図１】
2018042766.tif 000003
【図２】
2018042766.tif 000004
【図３】
2018042766.tif 000005
【図４】
2018042766.tif 000006
【図５】
2018042766.tif 000007
【図６】
2018042766.tif 000008
【図７】
2018042766.tif 000009
【図８】
2018042766.tif 000010
【図９】
2018042766.tif 000011
【図１０】
2018042766.tif 000012
【図１１】
2018042766.tif 000013
【図１２】
2018042766.tif 000014
【図１３】
2018042766.tif 000015
【図１４】
2018042766.tif 000016
【手続補正書】
【提出日】平成31年1月30日(2019.1.30)
【手続補正１】
【補正対象書類名】明細書
【補正対象項目名】０００６
【補正方法】変更
【補正の内容】
【０００６】
また、発明の一観点によれば、第１のブートコードを暗号化して第２のブートコードを生成し、前記第２のブートコードを含む第１のデータを、前記第２のブートコードの配信経路を示す第１の経路情報に基づき第１の送信先に第１のネットワークを介して送信し、前記第１の送信先から前記第１のデータの受信完了通知信号を受信する通信回路と、システムバスを介して前記通信回路と接続され、前記通信回路が前記受信完了通知信号を受信したとき、前記第１の送信先が前記第１のブートコードに基づく起動処理を行うように指示する起動指示信号を、前記通信回路に前記第１の送信先に第１のネットワークを介して送信させる制御回路と、を有する半導体集積回路が提供される。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】００６０
【補正方法】変更
【補正の内容】
【００６０】
スレーブ３２は、ＭＣＵ３２ａ、ＲＡＭ３２ｂ、ＡＰ（Application Processor）３２ｃ、電源制御回路３２ｄ、セキュア通信回路３２ｅを有しており、これらはシステムバス３２ｆに接続されている。
【手続補正３】
【補正対象書類名】明細書
【補正対象項目名】００７４
【補正方法】変更
【補正の内容】
【００７４】
マスタ３１の電源制御回路３１ｄは、ＭＣＵ３１ａを起動し（Ｔ４）、ＭＣＵ３１ａは暗号／復号処理回路３１ｅ、セキュア通信回路３１ｆの初期設定を行い（Ｔ５，Ｔ６）、これらを起動する。なお、電源制御回路３１ｄが、暗号／復号処理回路３１ｅ、セキュア通信回路３１ｆの初期設定を行ってもよい。また、ＭＣＵ３１ａはセキュア通信回路３１ｆに対して配信開始指示を行う（Ｔ７）。
【手続補正４】
【補正対象書類名】明細書
【補正対象項目名】００８０
【補正方法】変更
【補正の内容】
【００８０】
マスタ３１のＭＣＵ３１ａは、セキュア通信回路３１ｆを介して、全スレーブ３２〜３９から、暗号化データの受信が完了した旨の通知を受けると、全スレーブ３２〜３９のＭＣＵの起動を指示する起動指示信号をセキュア通信回路３１ｆに送信させる（Ｔ１９）。
【手続補正５】
【補正対象書類名】明細書
【補正対象項目名】０１０１
【補正方法】変更
【補正の内容】
【０１０１】
また、スレーブ３２〜３９において、復号したブートコードや経路情報を再度暗号化して、経路情報に基づく送信先に送信することで、マスタ３１の負担を減らせる。
上記については単に本発明の原理を示すものである。さらに、多数の変形、変更が当業者にとって可能であり、本発明は上記に示し、説明した正確な構成及び応用例に限定されるものではなく、対応する全ての変形例及び均等物は、添付の請求項及びその均等物による本発明の範囲とみなされる。
以上説明した複数の実施の形態に関し、さらに以下の付記を開示する。
（付記１）第１のブートコードを暗号化して第２のブートコードを生成し、前記第２のブートコードを含む第１のデータを、前記第２のブートコードの配信経路を示す第１の経路情報に基づき第１の送信先に第１のネットワークを介して送信する第１の半導体集積回路と、
前記第１の送信先であって、前記第１のネットワークを介して前記第１のデータを受信して、前記第２のブートコードを復号して前記第１のブートコードを生成する第２の半導体集積回路と、
を有することを特徴とする処理装置。
（付記２）前記第２の半導体集積回路は、前記第１のブートコードに基づく起動処理を行う、ことを特徴とする付記１に記載の処理装置。
（付記３）前記第１の半導体集積回路は、前記第１の送信先から前記第１のデータの受信完了通知信号を受信したとき、前記第１の送信先に起動指示信号を送信し、
前記第２の半導体集積回路は、前記第１のデータを受信したとき、前記受信完了通知信号を前記第１の半導体集積回路に送信し、前記起動指示信号を受信したとき、前記第１のブートコードに基づく起動処理を行う、ことを特徴とする付記１または２に記載の処理装置。
（付記４）前記第１の半導体集積回路は、前記第１の経路情報を暗号化して第２の経路情報を生成し、前記第２のブートコードと前記第２の経路情報とを含む前記第１のデータを前記第１の送信先に送信する、ことを特徴とする付記１乃至３の何れか１つに記載の処理装置。
（付記５）前記第２の半導体集積回路は、前記第２の経路情報を復号して前記第１の経路情報を生成する、ことを特徴とする付記４に記載の処理装置。
（付記６）前記第２の半導体集積回路は、前記第１の経路情報に基づき第２の送信先となる第３の半導体集積回路を特定し、前記第１のブートコードの少なくとも一部を暗号化して第３のブートコードを生成し、前記第３のブートコードを含む第２のデータを前記第３の半導体集積回路に前記第１のネットワークを介して送信し、
前記第３の半導体集積回路は、前記第１のネットワークを介して前記第２のデータを受信して、前記第３のブートコードを復号して前記第１のブートコードを生成し、前記第１のブートコードに基づく起動処理を行う、ことを特徴とする付記１乃至５の何れか１つに記載の処理装置。
（付記７）前記第２の半導体集積回路は、前記第１の経路情報を暗号化して第３の経路情報を生成し、前記第３のブートコードと前記第３の経路情報とを含む前記第２のデータを前記第３の半導体集積回路に前記第１のネットワークを介して送信する、ことを特徴とする付記６に記載の処理装置。
（付記８）前記第２の半導体集積回路は、前記第１の経路情報から前記第１の送信先に関する前記配信経路の情報を省いた情報を暗号化して第３の経路情報を生成し、前記第３のブートコードと前記第３の経路情報とを含む前記第２のデータを前記第３の半導体集積回路に前記第１のネットワークを介して送信する、ことを特徴とする付記６に記載の処理装置。
（付記９）前記第１のブートコードは前記第２の半導体集積回路が用いる第４のブートコードと第３の半導体集積回路が用いる第５のブートコードを含み、
前記第１の半導体集積回路は、前記第４のブートコードと前記第５のブートコードを暗号化して前記第２のブートコードを生成し、
前記第２の半導体集積回路は、前記第１の経路情報に基づき第２の送信先となる前記第３の半導体集積回路を特定し、前記第５のブートコードを暗号化して第６のブートコードを生成し、前記第６のブートコードを含む第２のデータを前記第３の半導体集積回路に前記第１のネットワークを介して送信し、
前記第３の半導体集積回路は、前記第１のネットワークを介して前記第２のデータを受信して、前記第６のブートコードを復号して前記第５のブートコードを生成し、前記第５のブートコードに基づく起動処理を行う、ことを特徴とする付記１乃至５の何れか１つに記載の処理装置。
（付記１０）前記第２の半導体集積回路は、前記第１の経路情報を暗号化して第３の経路情報を生成し、前記第６のブートコードと前記第３の経路情報とを含む前記第２のデータを前記第３の半導体集積回路に前記第１のネットワークを介して送信する、ことを特徴とする付記９に記載の処理装置。
（付記１１）前記第２の半導体集積回路は、前記第１の経路情報から前記第１の送信先に関する前記配信経路の情報を省いた情報を暗号化して第３の経路情報を生成し、前記第６のブートコードと前記第３の経路情報とを含む前記第２のデータを前記第３の半導体集積回路に前記第１のネットワークを介して送信する、ことを特徴とする付記９に記載の処理装置。
（付記１２）前記第１の半導体集積回路が、複数の送信先に、前記第１の経路情報を暗号化した第２の経路情報と前記第２のブートコードとを含む前記第１のデータを送信する場合、または、前記第２の半導体集積回路が、前記複数の送信先に、前記第１のブートコードの少なくとも一部を暗号化した第３のブートコードと前記第１の経路情報を暗号化した第３の経路情報とを含む第２のデータを送信する場合、
前記複数の送信先の１つに送信する前記第２の経路情報または前記第３の経路情報から、前記複数の送信先のうち他の送信先に関する前記配信経路の情報を省いて送信する、ことを特徴とする付記１乃至３の何れか１つに記載の処理装置。
（付記１３）前記第１のネットワークは、前記処理装置の外部に接続される第２のネットワークとは独立に設けられている、ことを特徴とする付記１乃至１２の何れか１つに記載の処理装置。
（付記１４）前記第１のネットワークはイーサーネットである、ことを特徴とする付記１３に記載の処理装置。
（付記１５）前記処理装置は暗号化されたブートコードを格納した記憶装置を有し、
前記第１の半導体集積回路は、前記記憶装置から前記暗号化されたブートコードを読み出し、前記暗号化されたブートコードを復号して前記第１のブートコードを生成する、ことを特徴とする付記１乃至１４の何れか１つに記載の処理装置。
（付記１６）前記第１の半導体集積回路と前記第２の半導体集積回路はそれぞれ、
データを暗号化して前記第１のネットワークを介して送信先に送信する通信回路と、
システムバスを介して前記通信回路と接続され、対応する半導体集積回路の各部を制御する制御回路と、
を含み、
前記第２の半導体集積回路において、前記通信回路が、前記制御回路が起動しない状態で起動し、前記通信回路が前記第１のネットワークを介して前記第１のデータを受信して、前記第２のブートコードを復号して前記第１のブートコードを生成する、ことを特徴とする付記１乃至１５の何れか１つに記載の処理装置。
（付記１７）前記第１の半導体集積回路と前記第２の半導体集積回路はそれぞれ、
前記システムバスを介して前記通信回路と接続され、対応する半導体集積回路の各部を起動させるか否かを決定する電源制御回路と、をさらに有し、
前記処理装置の電源が投入されたとき、
前記第１の半導体集積回路において、前記電源制御回路の制御の下で、前記制御回路と前記通信回路が起動し、
前記第２の半導体集積回路において、前記電源制御回路の制御の下で、前記制御回路は起動せずに、前記通信回路が起動する、ことを特徴とする付記１６に記載の処理装置。
（付記１８）前記第２の半導体集積回路は、ステータス情報を暗号化し、暗号化されたステータス情報を前記通信回路から前記第１のネットワークを介して前記第１の半導体集積回路に送信し、
前記第１の半導体集積回路は、前記第１のネットワークを介して前記暗号化されたステータス情報を受信して、前記暗号化されたステータス情報を復号する、ことを特徴とする付記１６または１７に記載の処理装置。
（付記１９）第１のブートコードを暗号化して第２のブートコードを生成し、前記第２のブートコードを含む第１のデータを、前記第２のブートコードの配信経路を示す第１の経路情報に基づき第１の送信先に第１のネットワークを介して送信し、前記第１の送信先から前記第１のデータの受信完了通知信号を受信する通信回路と、
システムバスを介して前記通信回路と接続され、前記通信回路が前記受信完了通知信号を受信したとき、前記第１の送信先が前記第１のブートコードに基づく起動処理を行うように指示する起動指示信号を、前記通信回路に前記第１の送信先に前記第１のネットワークを介して送信させる制御回路と、
を有することを特徴とする半導体集積回路。
（付記２０）前記システムバスを介して前記通信回路と接続され、記憶装置から暗号化されたブートコードを読み出し、前記暗号化されたブートコードを復号して前記第１のブートコードを生成する復号処理回路を有することを特徴とする付記１９に記載の半導体集積回路。
（付記２１）前記通信回路は、前記第１の経路情報を暗号化して第２の経路情報を生成し、前記第２のブートコードと前記第２の経路情報を含む前記第１のデータを生成する、ことを特徴とする付記１９または２０に記載の半導体集積回路。
（付記２２）前記システムバスを介して前記通信回路と接続され、前記半導体集積回路の各部を起動させるか否かを決定する電源制御回路を有し、
前記通信回路は、前記電源制御回路の制御の下で起動して、前記第２のブートコードを生成し、
前記制御回路は、前記電源制御回路の制御の下で起動して、前記起動指示信号を、前記通信回路に前記第１の送信先に前記第１のネットワークを介して送信させる、ことを特徴とする付記１９乃至２１の何れか１つに記載の半導体集積回路。
（付記２３）第１のネットワークを介して、暗号化された第１のブートコードを含む第１のデータを受信し、受信完了通知信号を前記第１のデータの送信元に送信し、前記第１のブートコードを復号して第２のブートコードを生成する通信回路と、
システムバスを介して前記通信回路と接続され、前記第２のブートコードを記憶する記憶回路と、
前記システムバスを介して前記通信回路と接続され、前記第２のブートコードに基づく起動処理を行う制御回路と、
前記システムバスを介して前記通信回路と接続され、前記通信回路と前記制御回路を起動させるか否かを決定する電源制御回路と、
を有することを特徴とする半導体集積回路。
（付記２４）前記通信回路は、前記電源制御回路の制御の下で、前記制御回路が起動しない状態で起動して、前記送信元から起動指示信号を受信し、
前記電源制御回路は、前記通信回路が前記起動指示信号を受信したとき、前記制御回路を起動する、ことを特徴とする付記２３に記載の半導体集積回路。
（付記２５）前記通信回路は、前記第２のブートコードの配信経路を示す第１の経路情報に基づき送信先となる他の半導体集積回路を特定し、前記第２のブートコードの少なくとも一部を暗号化して第３のブートコードを生成し、前記第３のブートコードを含む第２のデータを前記他の半導体集積回路に前記第１のネットワークを介して送信する、ことを特徴とする付記２３または２４に記載の半導体集積回路。
（付記２６）前記通信回路は、前記第１の経路情報から自らに関する前記配信経路の情報を省いた情報に基づいて第３の経路情報を生成し、前記第３のブートコードと前記第３の経路情報とを含む前記第２のデータを前記他の半導体集積回路に前記第１のネットワークを介して送信する、ことを特徴とする付記２５に記載の半導体集積回路。
（付記２７）前記通信回路は、暗号化された前記第１の経路情報を前記第１のデータの前記送信元から受信し、前記第１の経路情報を復号して第２の経路情報を生成する、ことを特徴とする付記２５または２６の何れか１つに記載の半導体集積回路。
（付記２８）第１の半導体集積回路が、
第１のブートコードを暗号化して第２のブートコードを生成し、
前記第２のブートコードを含む第１のデータを、前記第２のブートコードの配信経路を示す第１の経路情報に基づき第１の送信先に第１のネットワークを介して送信し、
前記第１の送信先である第２の半導体集積回路が、
前記第１のネットワークを介して前記第１のデータを受信して、前記第２のブートコードを復号して前記第１のブートコードを生成し、
前記第１のブートコードに基づく起動処理を行う、
ことを特徴とする半導体集積回路の起動方法。
【手続補正６】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
第１のブートコードを暗号化して第２のブートコードを生成し、前記第２のブートコードを含む第１のデータを、前記第２のブートコードの配信経路を示す第１の経路情報に基づき第１の送信先に第１のネットワークを介して送信する第１の半導体集積回路と、
前記第１の送信先であって、前記第１のネットワークを介して前記第１のデータを受信して、前記第２のブートコードを復号して前記第１のブートコードを生成する第２の半導体集積回路と、
を有することを特徴とする処理装置。
【請求項２】
前記第２の半導体集積回路は、前記第１のブートコードに基づく起動処理を行う、
ことを特徴とする請求項１に記載の処理装置。
【請求項３】
前記第１の半導体集積回路は、前記第１の送信先から前記第１のデータの受信完了通知信号を受信したとき、前記第１の送信先に起動指示信号を送信し、
前記第２の半導体集積回路は、前記第１のデータを受信したとき、前記受信完了通知信号を前記第１の半導体集積回路に送信し、前記起動指示信号を受信したとき、前記第１のブートコードに基づく起動処理を行う、
ことを特徴とする請求項１または２に記載の処理装置。
【請求項４】
前記第１の半導体集積回路は、前記第１の経路情報を暗号化して第２の経路情報を生成し、前記第２のブートコードと前記第２の経路情報とを含む前記第１のデータを前記第１の送信先に送信する、
ことを特徴とする請求項１乃至３の何れか一項に記載の処理装置。
【請求項５】
前記第２の半導体集積回路は、前記第１の経路情報に基づき第２の送信先となる第３の半導体集積回路を特定し、前記第１のブートコードの少なくとも一部を暗号化して第３のブートコードを生成し、前記第３のブートコードを含む第２のデータを前記第３の半導体集積回路に前記第１のネットワークを介して送信し、
前記第３の半導体集積回路は、前記第１のネットワークを介して前記第２のデータを受信して、前記第３のブートコードを復号して前記第１のブートコードを生成し、前記第１のブートコードに基づく起動処理を行う、
ことを特徴とする請求項１乃至４の何れか一項に記載の処理装置。
【請求項６】
前記第２の半導体集積回路は、前記第１の経路情報から前記第１の送信先に関する前記配信経路の情報を省いた情報を暗号化して第３の経路情報を生成し、前記第３のブートコードと前記第３の経路情報とを含む前記第２のデータを前記第３の半導体集積回路に前記第１のネットワークを介して送信する、
ことを特徴とする請求項５に記載の処理装置。
【請求項７】
前記第１のブートコードは前記第２の半導体集積回路が用いる第４のブートコードと第３の半導体集積回路が用いる第５のブートコードを含み、
前記第１の半導体集積回路は、前記第４のブートコードと前記第５のブートコードを暗号化して前記第２のブートコードを生成し、
前記第２の半導体集積回路は、前記第１の経路情報に基づき第２の送信先となる前記第３の半導体集積回路を特定し、前記第５のブートコードを暗号化して第６のブートコードを生成し、前記第６のブートコードを含む第２のデータを前記第３の半導体集積回路に前記第１のネットワークを介して送信し、
前記第３の半導体集積回路は、前記第１のネットワークを介して前記第２のデータを受信して、前記第６のブートコードを復号して前記第５のブートコードを生成し、前記第５のブートコードに基づく起動処理を行う、
ことを特徴とする請求項１乃至４の何れか一項に記載の処理装置。
【請求項８】
前記第２の半導体集積回路は、前記第１の経路情報から前記第１の送信先に関する前記配信経路の情報を省いた情報を暗号化して第３の経路情報を生成し、前記第６のブートコードと前記第３の経路情報とを含む前記第２のデータを前記第３の半導体集積回路に前記第１のネットワークを介して送信する、
ことを特徴とする請求項７に記載の処理装置。
【請求項９】
前記第１のネットワークは、前記処理装置の外部に接続される第２のネットワークとは独立に設けられている、ことを特徴とする請求項１乃至８の何れか一項に記載の処理装置。
【請求項１０】
前記第１の半導体集積回路と前記第２の半導体集積回路はそれぞれ、
データを暗号化して前記第１のネットワークを介して送信先に送信する通信回路と、
システムバスを介して前記通信回路と接続され、対応する半導体集積回路の各部を制御する制御回路と、を含み、
前記第２の半導体集積回路において、前記通信回路が、前記制御回路が起動しない状態で起動し、前記通信回路が前記第１のネットワークを介して前記第１のデータを受信して、前記第２のブートコードを復号して前記第１のブートコードを生成する、
ことを特徴とする請求項１乃至９の何れか一項に記載の処理装置。
【請求項１１】
前記第１の半導体集積回路と前記第２の半導体集積回路はそれぞれ、
前記システムバスを介して前記通信回路と接続され、対応する半導体集積回路の各部を起動させるか否かを決定する電源制御回路と、をさらに有し、
前記処理装置の電源が投入されたとき、
前記第１の半導体集積回路において、前記電源制御回路の制御の下で、前記制御回路と前記通信回路が起動し、
前記第２の半導体集積回路において、前記電源制御回路の制御の下で、前記制御回路は起動せずに、前記通信回路が起動する、
ことを特徴とする請求項１０に記載の処理装置。
【請求項１２】
第１のブートコードを暗号化して第２のブートコードを生成し、前記第２のブートコードを含む第１のデータを、前記第２のブートコードの配信経路を示す第１の経路情報に基づき第１の送信先に第１のネットワークを介して送信し、前記第１の送信先から前記第１のデータの受信完了通知信号を受信する通信回路と、
システムバスを介して前記通信回路と接続され、前記通信回路が前記受信完了通知信号を受信したとき、前記第１の送信先が前記第１のブートコードに基づく起動処理を行うように指示する起動指示信号を、前記通信回路に前記第１の送信先に前記第１のネットワークを介して送信させる制御回路と、
を有することを特徴とする半導体集積回路。
【請求項１３】
第１のネットワークを介して、暗号化された第１のブートコードを含む第１のデータを受信し、受信完了通知信号を前記第１のデータの送信元に送信し、前記第１のブートコードを復号して第２のブートコードを生成する通信回路と、
システムバスを介して前記通信回路と接続され、前記第２のブートコードを記憶する記憶回路と、
前記システムバスを介して前記通信回路と接続され、前記第２のブートコードに基づく起動処理を行う制御回路と、
前記システムバスを介して前記通信回路と接続され、前記通信回路と前記制御回路を起動させるか否かを決定する電源制御回路と、
を有することを特徴とする半導体集積回路。
【請求項１４】
前記通信回路は、前記電源制御回路の制御の下で、前記制御回路が起動しない状態で起動して、前記送信元から起動指示信号を受信し、
前記電源制御回路は、前記通信回路が前記起動指示信号を受信したとき、前記制御回路を起動する、
ことを特徴とする請求項１３に記載の半導体集積回路。
【請求項１５】
前記通信回路は、前記第２のブートコードの配信経路を示す第１の経路情報に基づき送信先となる他の半導体集積回路を特定し、前記第２のブートコードの少なくとも一部を暗号化して第３のブートコードを生成し、前記第３のブートコードを含む第２のデータを前記他の半導体集積回路に前記第１のネットワークを介して送信する、
ことを特徴とする請求項１３または１４に記載の半導体集積回路。
【請求項１６】
前記通信回路は、前記第１の経路情報から自らに関する前記配信経路の情報を省いた情報に基づいて第３の経路情報を生成し、前記第３のブートコードと前記第３の経路情報とを含む前記第２のデータを前記他の半導体集積回路に前記第１のネットワークを介して送信する、
ことを特徴とする請求項１５に記載の半導体集積回路。
【請求項１７】
第１の半導体集積回路が、
第１のブートコードを暗号化して第２のブートコードを生成し、
前記第２のブートコードを含む第１のデータを、前記第２のブートコードの配信経路を示す第１の経路情報に基づき第１の送信先に第１のネットワークを介して送信し、
前記第１の送信先である第２の半導体集積回路が、
前記第１のネットワークを介して前記第１のデータを受信して、前記第２のブートコードを復号して前記第１のブートコードを生成し、
前記第１のブートコードに基づく起動処理を行う、
ことを特徴とする半導体集積回路の起動方法。
【手続補正７】
【補正対象書類名】図面
【補正対象項目名】図１
【補正方法】変更
【補正の内容】
【図１】
2018042766.tif 000017
【国際調査報告】
2018042766.tif 000018
2018042766.tif 000019
2018042766.tif 000020
2018042766.tif 000021