JPWO2018042766A1 - 処理装置、半導体集積回路及び半導体集積回路の起動方法 - Google Patents

処理装置、半導体集積回路及び半導体集積回路の起動方法 Download PDF

Info

Publication number
JPWO2018042766A1
JPWO2018042766A1 JP2018536935A JP2018536935A JPWO2018042766A1 JP WO2018042766 A1 JPWO2018042766 A1 JP WO2018042766A1 JP 2018536935 A JP2018536935 A JP 2018536935A JP 2018536935 A JP2018536935 A JP 2018536935A JP WO2018042766 A1 JPWO2018042766 A1 JP WO2018042766A1
Authority
JP
Japan
Prior art keywords
boot code
semiconductor integrated
integrated circuit
circuit
path information
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2018536935A
Other languages
English (en)
Other versions
JP7014969B2 (ja
Inventor
和也 浅野
和也 浅野
悠也 上野
悠也 上野
誠司 後藤
誠司 後藤
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Socionext Inc
Original Assignee
Socionext Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Socionext Inc filed Critical Socionext Inc
Publication of JPWO2018042766A1 publication Critical patent/JPWO2018042766A1/ja
Application granted granted Critical
Publication of JP7014969B2 publication Critical patent/JP7014969B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/0822Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using key encryption key
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • G06F15/177Initialisation or configuration control
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • G06F21/572Secure firmware programming, e.g. of basic input output system [BIOS]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • G06F21/575Secure boot
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/82Protecting input, output or interconnection devices
    • G06F21/85Protecting input, output or interconnection devices interconnection devices, e.g. bus-connected or in-line devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4405Initialisation of multiprocessor systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4416Network booting; Remote initial program loading [RIPL]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/0827Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) involving distinctive intermediate devices or communication paths
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0894Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage
    • H04L9/0897Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage involving additional devices, e.g. trusted platform module [TPM], smartcard or USB

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Storage Device Security (AREA)
  • Multi Processors (AREA)
  • Small-Scale Networks (AREA)
  • Power Sources (AREA)
  • Computer And Data Communications (AREA)

Abstract

複数の半導体集積回路を含む処理装置の信頼性を、簡素な構成で向上する。半導体集積回路(11)は、ブートコードを暗号化してブートコード(20b)を生成し、ブートコード(20b)を含む暗号化データ(22a)を、ブートコード(20b)の配信経路を示す経路情報に基づき第1の送信先にネットワーク(15)を介して送信する。半導体集積回路(12)は、第1の送信先であって、ネットワーク(15)を介して暗号化データ(22a)を受信して、ブートコード(20b)を復号してブートコード(20c)を生成する。

Description

本発明は、処理装置、半導体集積回路及び半導体集積回路の起動方法に関する。
システムの複雑化や大規模化に伴い、複数のSoC(System on Chip)を含むシステムが提案されている。
なお、従来、情報機器のセキュリティを強固にするため、記憶装置が暗号化されたデータや命令コードを格納し、プロセッサは暗号化された命令コードを復号して命令を実行する技術が提案されている。
特開2006−18528号公報 特開2007−226481号公報
複数のSoCを含むシステムの信頼性を確保するため、複数のSoCのそれぞれに、暗号化されたブートコードを格納する不揮発性メモリを設けたり、そのブートコードの復号処理などを行う別チップのコントローラを接続したりすることが考えられる。しかし、その場合、システムに含まれる要素数(チップ数など)が増大してしまい、コストの増大につながってしまう問題があった。
発明の一観点によれば、第1のブートコードを暗号化して第2のブートコードを生成し、前記第2のブートコードを含む第1のデータを、前記第2のブートコードの配信経路を示す第1の経路情報に基づき第1の送信先に第1のネットワークを介して送信する第1の半導体集積回路と、前記第1の送信先であって、前記第1のネットワークを介して前記第1のデータを受信して、前記第2のブートコードを復号して前記第1のブートコードを生成する第2の半導体集積回路と、を有する処理装置が提供される。
また、発明の一観点によれば、第1のブートコードを暗号化して第2のブートコードを生成し、前記第2のブートコードを含む第1のデータを、前記第1のブートコードの配信経路を示す第1の経路情報に基づき第1の送信先に第1のネットワークを介して送信し、前記第1の送信先から前記第1のデータの受信完了通知信号を受信する通信回路と、システムバスを介して前記通信回路と接続され、前記通信回路が前記受信完了通知信号を受信したとき、前記第1の送信先が前記第1のブートコードに基づく起動処理を行うように指示する起動指示信号を、前記通信回路に前記第1の送信先に第1のネットワークを介して送信させる制御回路と、を有する半導体集積回路が提供される。
また、発明の一観点によれば、第1のネットワークを介して、暗号化された第1のブートコードを含む第1のデータを受信し、受信完了通知信号を前記第1のデータの送信元に送信し、前記第1のブートコードを復号して第2のブートコードを生成する通信回路と、システムバスを介して前記通信回路と接続され、前記第2のブートコードを記憶する記憶回路と、前記システムバスを介して前記通信回路と接続され、前記第2のブートコードに基づく起動処理を行う制御回路と、前記システムバスを介して前記通信回路と接続され、前記通信回路と前記制御回路を起動させるか否かを決定する電源制御回路と、を有する半導体集積回路が提供される。
また、発明の一観点によれば、第1の半導体集積回路が、第1のブートコードを暗号化して第2のブートコードを生成し、前記第2のブートコードを含む第1のデータを、前記第2のブートコードの配信経路を示す第1の経路情報に基づき第1の送信先に第1のネットワークを介して送信し、前記第1の送信先である第2の半導体集積回路が、前記第1のネットワークを介して前記第1のデータを受信して、前記第2のブートコードを復号して前記第1のブートコードを生成し、前記第1のブートコードに基づく起動処理を行う、半導体集積回路の起動方法が提供される。
複数の半導体集積回路を含む処理装置の信頼性を、簡素な構成で向上できる。
本発明の上記及び他の目的、特徴及び利点は本発明の例として好ましい実施の形態を表す添付の図面と関連した以下の説明により明らかになるであろう。
第1の実施の形態の処理装置の一例を示す図である。 第2の実施の形態の処理装置の一例を示す図である。 マスタの一例を示す図である。 暗号/復号処理回路の一例を示す図である。 セキュア通信回路の一例を示す図である。 スレーブの一例を示す図である。 経路情報のファイルフォーマットの一例を示す図である。 スレーブ情報に含まれるデータの一例を示す図である。 第2の実施の形態の処理装置の動作の一例の流れを示すシーケンス図である。 暗号化データの配信経路の一例を示す図である。 経路情報の一例を示す図である。 スレーブ情報の一例を示す図である。 ステータス情報の収集処理の一例の様子を示す図である。 あるスレーブからマスタにステータス情報を送信する様子を示す図である。
以下、発明を実施するための形態を、図面を参照しつつ説明する。
(第1の実施の形態)
図1は、第1の実施の形態の処理装置の一例を示す図である。
処理装置10は、半導体集積回路11,12,13、記憶装置14、ネットワーク15を有している。
半導体集積回路11〜13は、たとえば、それぞれ1チップのSoCである。図1の処理装置10は、3つの半導体集積回路11〜13を有しているが、2以上であれば、3つに限定されない。なお、処理装置10は、2以上の半導体集積回路を1チップのSoCとして構成することによって実現することも可能である。
半導体集積回路11は、制御回路11a、記憶回路11b、復号処理回路11c、セキュア通信回路11d、電源制御回路11eを有しており、これらはシステムバス11fに接続されている。
制御回路11aは、たとえば、マイクロコントローラやCPU(Central Processing Unit)などであり、システムバス11fを介して、半導体集積回路11の各部を制御する。
記憶回路11bは、たとえば、RAM(Random Access Memory)などの揮発性の半導体メモリでもよいし、フラッシュメモリなどの不揮発性のストレージでもよい。記憶回路11bには、制御回路11aが実行するプログラム(制御回路11aのブートコードなど)や、各種データが記憶される。
復号処理回路11cは、記憶装置14から読み出される暗号化されたブートコード20aやブートコード20aの配信経路を示す経路情報21aを復号する。なお、復号処理や暗号処理の例については後述する。
セキュア通信回路11dは、データを暗号化してネットワーク15を介して送信先(たとえば、半導体集積回路12)に送信する機能を有する。セキュア通信回路11dは、復号処理回路11cがブートコード20aと経路情報21aとを復号したものを再度暗号化して、図1に示すようにブートコード20b、経路情報21bを生成し、これらを含む暗号化データ22aを送信する。さらに、セキュア通信回路11dは、送信先からの受信完了通知信号を受信したとき、制御回路11aに送信先でデータの受信が完了した旨を通知する。そして、セキュア通信回路11dは、制御回路11aから半導体集積回路12,13の制御回路(半導体集積回路12では、制御回路12a)の起動を指示する旨の信号を受けると、半導体集積回路12,13に起動指示信号を送信する。
電源制御回路11eは、システムバス11fを介して、半導体集積回路11の各部の電源のオンオフを制御することで、各部を起動させるか否かを決定する。
半導体集積回路12は、制御回路12a、記憶回路12b、セキュア通信回路12c、電源制御回路12dを有しており、これらはシステムバス12eに接続されている。
制御回路12aは、半導体集積回路11の制御回路11aと同様に、たとえば、マイクロコントローラやCPUなどであり、システムバス12eを介して、半導体集積回路12の各部を制御する。
記憶回路12bは、たとえば、RAMなどの揮発性の半導体メモリでもよいし、フラッシュメモリなどの不揮発性のストレージでもよい。記憶回路12bには、制御回路12aが実行するブートコード20cや、各種データが記憶される。
セキュア通信回路12cは、ネットワーク15を介して暗号化データ22aを受信し、暗号化されたブートコード20bと経路情報21bを復号する。セキュア通信回路12cは、ブートコード20bと経路情報21bとを復号したものを再度暗号化して、図1に示すようにブートコード20c、経路情報21cを生成する。そして、セキュア通信回路12cは、ブートコード20cと経路情報21cを含む暗号化データ22bを、ネットワーク15を介して送信先(たとえば、半導体集積回路13)に送信する。さらにセキュア通信回路12cは、暗号化データ22aを受信した旨を示す受信完了通知信号を、ネットワーク15を介して半導体集積回路11に送信する。また、セキュア通信回路12cは、半導体集積回路11が送信する起動指示信号を受信したとき、起動指示信号を受信した旨を電源制御回路12dに通知する。
電源制御回路12dは、システムバス12eを介して、半導体集積回路12の各部の電源のオンオフを制御することで、各部を起動させるか否かを決定する。たとえば、処理装置10の電源投入時に、電源制御回路12dは、セキュア通信回路12cを起動する。また、電源制御回路12dは、セキュア通信回路12cから起動指示信号を受信した旨の通知を受けると、制御回路12aを起動する。
半導体集積回路13についても、半導体集積回路12と同様の要素を含んでいるが図1では図示を省略している。
記憶装置14は、たとえば、フラッシュメモリなどの不揮発性のストレージであり、半導体集積回路12,13の起動処理の際に用いられる暗号化されたブートコード20aや、ブートコード20aの配信経路を示す暗号化された経路情報21aなどを格納する。なお、記憶装置14は、半導体集積回路11の中に設けられていてもよい。また、ブートコード20aは、半導体集積回路12,13で共通のものであってもよいし、ブートコード20aに半導体集積回路12,13が用いる異なるブートコードが含まれていてもよい。また、経路情報21aについては、暗号化されていなくてもよい。
ネットワーク15は、ブートコードのセキュア配信や、処理装置10の内部の状態を監視する際に用いられるネットワークであり、処理装置10の外部には接続されない。ネットワーク15として、たとえば、イーサーネット(登録商標)を用いることができる。
このような処理装置10では、半導体集積回路11はマスタとして機能し、半導体集積回路12,13はスレーブとして機能する。処理装置10に電源が投入されると、電源制御回路11e,12dが起動する(図示を省略しているが、半導体集積回路13の電源制御回路も起動する)。
そして、まず、電源制御回路11eは、制御回路11aを起動する。また、電源制御回路11e(または制御回路11a)は、復号処理回路11cとセキュア通信回路11dを起動する。これにより、復号処理回路11cは、制御回路11aの制御のもと、記憶装置14から暗号化されたブートコード20aと経路情報21aを読み出して復号し、復号したものをシステムバス11fに供給する。次に、セキュア通信回路11dは、復号処理回路11cにてブートコード20aと経路情報21aとが復号されたものを、再度暗号化してブートコード20bと経路情報21bを生成する。なお、経路情報21bについては、暗号化データとしなくてもよい。
また、ブートコード20aに半導体集積回路12,13が用いる異なるブートコードが含まれている場合は、ブートコード20bには半導体集積回路12,13が用いるブートコードをそれぞれ含むようにすることができ、また、ブートコード20bに、半導体集積回路12が用いるブートコードを含まず、半導体集積回路13が用いるブートコードを含むようにしてもよい。一方、ブートコード20aに半導体集積回路12,13で共通のブートコードが含まれている場合は、ブートコード20bにはその共通のブートコードが含まれる。
そして、セキュア通信回路11dは、経路情報21aを復号したものに基づき、送信先(図1の例では、半導体集積回路12)を特定し、その送信先に、ブートコード20bと経路情報21bとを含む暗号化データ22aを、ネットワーク15を介して送信する。なお、制御回路11aは、復号されたブートコードが適切なものであるか判定するようにしてもよい。
一方、半導体集積回路12では、電源制御回路12dが起動すると、電源制御回路12dは、制御回路12aを起動せず、セキュア通信回路12cを起動する。セキュア通信回路12cは、暗号化データ22aを受信すると、暗号化されたブートコード20bと経路情報21bを復号する。そして、セキュア通信回路12cは、復号して得られたブートコード20cを記憶回路12bに格納する。
さらにセキュア通信回路12cは、暗号化データ22aを受信した旨を示す受信完了通知信号を半導体集積回路11に送信する。また、セキュア通信回路12cは、経路情報21bを復号したものに基づき、半導体集積回路12から先の配信経路が指定されている場合、ブートコード20bと経路情報21bとが復号されたものを再度暗号化して、暗号化されたブートコード20cと経路情報21cを含む暗号化データ22bを生成し、送信先に送信する。図1では、半導体集積回路12の送信先が半導体集積回路13である例が示されている。なお、経路情報21cについては、暗号化データとしなくてもよい。
また、ブートコード20aに半導体集積回路12,13が用いる異なるブートコードが含まれている場合は、ブートコード20cに半導体集積回路13が用いるブートコードが含まれていればよく、半導体集積回路12が用いるブートコードは含まれていなくてもよい。一方、ブートコード20aに半導体集積回路12,13で共通のブートコードが含まれている場合は、ブートコード20cにはその共通のブートコードが含まれる。
暗号化データ22bを受信する半導体集積回路13でも半導体集積回路12と同様な処理が行われる。
半導体集積回路11のセキュア通信回路11dは、半導体集積回路12,13が送信する受信完了通知信号を受信すると、制御回路11aに受信完了通知信号を受信した旨を通知する。制御回路11aは、セキュア通信回路11dからの通知に基づき、半導体集積回路12,13で暗号化データ22a,22bの受信が完了したと判定すると、半導体集積回路12,13の制御回路の起動を指示する旨をセキュア通信回路11dに通知する。セキュア通信回路11dは、この通知を受けると、起動指示信号を半導体集積回路12,13に送信する。
また、半導体集積回路12のセキュア通信回路12cは、起動指示信号を受信すると、電源制御回路12dに起動指示信号を受信した旨を通知する。電源制御回路12dは、この通知を受けると、制御回路12aを起動する。制御回路12aは、起動すると、記憶回路12bに格納されているブートコードに基づく起動処理を実行する。
起動指示信号を受信する半導体集積回路13でも半導体集積回路12と同様な起動処理が実行される。
このように、半導体集積回路11は、暗号化されたブートコード20bと、ブートコード20bの配信経路を示す暗号化された経路情報21bとを含む暗号化データ22aを送信する。そして、半導体集積回路11は、暗号化データ22aの受信完了通知信号を受信したとき、起動指示信号を送信する。また、半導体集積回路12は、ネットワーク15を介して、暗号化データ22aを半導体集積回路11から受信して、受信完了通知を半導体集積回路12に送信する。また、半導体集積回路12は、暗号化データ22aに含まれるブートコード20bを復号してブートコード20cを生成し、起動指示信号を受信したとき、ブートコード20cに基づく起動処理を行う。
以上のような処理装置10によれば、半導体集積回路11が、暗号化したブートコード20bを半導体集積回路12に供給するので、半導体集積回路12にはブートコードを格納する記憶装置を接続しなくてよくなる。つまりブートコードを半導体集積回路12が管理しなくてよくなる。また、半導体集積回路12内で暗号化されたブートコード20bの復号が行われるので、別チップのコントローラを接続しなくてもよくなる。以上のことから、簡素な構成で処理装置10の信頼性を向上できる。これによって、コストの削減が期待できる。
また、スレーブとして機能する半導体集積回路12は、復号したブートコードや経路情報を再度暗号化して、経路情報に基づく送信先(図1の例では半導体集積回路13)に送信することで、マスタとして機能する半導体集積回路11の負担を減らせる。
なお、半導体集積回路11,12は、ブートコード以外のデータについても暗号化して送信するようにしてもよい。
(第2の実施の形態)
図2は、第2の実施の形態の処理装置の一例を示す図である。
第2の実施の形態の処理装置30は、マスタ31、スレーブ32,33,34,35,36,37,38,39を有し、これらはネットワーク40,41に接続されている。また、マスタ31には、不揮発性メモリ42が接続されている。
マスタ31及びスレーブ32〜39は、たとえば、それぞれ1チップのSoCである。
ネットワーク40は、処理装置30の外部に接続される。一方、ネットワーク41は、ネットワーク40とは独立に設けられており、処理装置30の外部には接続されない。ネットワーク41として、たとえば、イーサーネットを用いることができる。
不揮発性メモリ42は、たとえば、フラッシュメモリであり、スレーブ32〜39の起動時に実行されるブートコードを格納する。なお、不揮発性メモリ42は、マスタ31の中にあってもよい。
以下、マスタ31とスレーブ32〜39のハードウェア例を説明する。なお、以下では、ネットワーク41を用いたセキュア通信処理を行う部分を示し、ネットワーク40を用いた通信処理を行う部分などについては説明を省略する。
図3は、マスタの一例を示す図である。
マスタ31は、第1の実施の形態の処理装置10の半導体集積回路11と同様の機能を有する。マスタ31は、MCU(Micro Controller Unit)31a、ROM(Read Only Memory)31b、RAM31c、電源制御回路31d、暗号/復号処理回路31e、セキュア通信回路31fを有しており、これらはシステムバス31gに接続されている。
MCU31aは、ROM31bに格納されるプログラムに基づき、システムバス31gを介して、マスタ31の各部を制御する。なお、MCU31aの代わりに、CPUなどのプロセッサを用いてもよい。
ROM31bは、フラッシュメモリなどの不揮発性のストレージであり、MCU31aが実行するプログラム(MCU31aのブートコードなど)や各種データを格納する。RAM31cは、MCU31aが実行するプログラムの少なくとも一部を一時的に格納する。また、RAM31cは、MCU31aによる処理に用いられる各種データを格納する。
電源制御回路31dは、システムバス31gを介して、マスタ31の各部の電源のオンオフを制御することで、各部を起動させるか否かを決定する。
暗号/復号処理回路31eは、スレーブ32〜39のMCUのブートコードやブートコードの配信経路を示す経路情報などを暗号化して不揮発性メモリ42に予め記憶する。さらに、暗号/復号処理回路31eは、不揮発性メモリ42から読み出される暗号化されたブートコードと経路情報を復号する。
セキュア通信回路31fは、ブートコードと経路情報とを再度暗号化して、暗号化されたブートコード、暗号化された経路情報を含む暗号化データを送信先(スレーブ32〜39の何れか)に送信する。さらに、セキュア通信回路31fは、送信先からの受信完了通知信号を受信すると、MCU31aに送信先でデータの受信が完了した旨を通知する。そして、セキュア通信回路31fは、MCU31aから全スレーブ32〜39のMCUの起動を指示する旨の信号を受けると、スレーブ32〜39に起動指示信号を送信する。
なお、セキュア通信回路31fは、暗号化されたブートコードと暗号化された経路情報以外のデータを暗号化して送信してもよい。
図4は、暗号/復号処理回路の一例を示す図である。
暗号/復号処理回路31eは、制御回路31e1、暗号/復号回路31e2を有している。
制御回路31e1は、暗号/復号回路31e2を用いた暗号/復号処理を制御する。
暗号/復号回路31e2は、不揮発性メモリ42との間で送受信されるデータに対して暗号/復号処理を行う。以下では、ハードウェア鍵及び共通暗号鍵を用いた暗号/復号処理の例を説明する。
たとえば、マスタ31の初回起動時に、暗号/復号回路31e2は、システムバス31gを介して、ROM31bまたはRAM31cから供給されるスレーブ32〜39のブートコードとブートコードの配信経路を示す経路情報を共通暗号鍵で暗号化する。さらに、暗号/復号回路31e2は、その共通暗号鍵を、ハードウェア鍵で暗号化する。
制御回路31e1は、システムバス31gを介してMCU31aによって指定されるアドレス(ライトアドレス)に基づき、不揮発性メモリ42に、共通暗号鍵で暗号化されたブートコードと経路情報、ハードウェア鍵で暗号化された共通暗号鍵を格納する。
制御回路31e1は、初回以降の起動時、MCU31aによって指定されるアドレス(リードアドレス)に基づき、暗号化された共通暗号鍵とブートコードと経路情報を、不揮発性メモリ42から読み出す。そして、制御回路31e1の制御のもと、暗号/復号回路31e2はハードウェア鍵で共通暗号鍵を復号し、復号した共通暗号鍵でブートコードと経路情報を復号する。
なお、暗号/復号回路31e2ではなく、処理装置10とは別のシステムによって予め暗号化された上述のブートコードや経路情報、共通暗号鍵を不揮発性メモリ42に格納する構成をとることも可能である。
図5は、セキュア通信回路の一例を示す図である。
セキュア通信回路31fは、DMA(Direct Memory Access)処理回路31f1、パケット処理回路31f2、暗号/復号回路31f3、ハードウェア鍵設定回路31f4、メディアアクセスコントローラ31f5を有する。
DMA処理回路31f1は、MCU31aまたはパケット処理回路31f2から供給されるコマンドに基づき、システムバス31gを介して、マスタ31内のRAM31cとの間で、または、システムバス31g及び暗号/復号処理回路31eを介して、不揮発性メモリ42との間で、データの送受信を行う。
パケット処理回路31f2は、DMA処理回路31f1が受信したRAM31cに格納されている情報(ブートコードや経路情報など)を受け、その情報に基づくパケットを生成し、そのパケットを暗号/復号回路31f3に送信する。さらに、パケット処理回路31f2は、暗号/復号回路31f3から暗号化されたパケットを受信すると、暗号化されたパケットをメディアアクセスコントローラ31f5に供給する。また、パケット処理回路31f2は、メディアアクセスコントローラ31f5から暗号化されたパケットを受けると、暗号化されたパケットを暗号/復号回路31f3に送信する。そして、パケット処理回路31f2は、暗号/復号回路31f3から復号されたパケットを受信すると、復号されたパケットをDMA処理回路31f1に供給する。
暗号/復号回路31f3は、ハードウェア鍵を用いて、パケットの暗号化や復号、ハッシュ値の計算を行う。
ハードウェア鍵設定回路31f4には、ハードウェア鍵が設定されている。ハードウェア鍵設定回路31f4として、たとえば、電気ヒューズ(E−Fuse)などのOTP−ROM(One Time Programmable-ROM)を用いることができる。
メディアアクセスコントローラ31f5は、MACアドレスを用いて、ネットワーク41を介してスレーブ32〜39との間で暗号化されたパケットの送受信を行う。
図6は、スレーブの一例を示す図である。
なお、図6は、スレーブ32〜39のうち、スレーブ32の一例を示しているが、他のスレーブ33〜39についても同様の回路で実現できる。スレーブ32は、図1に示した第1の実施の形態の処理装置の半導体集積回路12と同様の機能を有する。
スレーブ32は、MCU32a、RAM32b、AP(Application Processer)32c、電源制御回路32d、セキュア通信回路32eを有しており、これらはシステムバス32fに接続されている。
MCU32aは、RAM32bに格納されるプログラムを実行して、システムバス32fを介して、スレーブ32の各部を制御する。なお、MCU32aの代わりに、CPUなどのプロセッサを用いてもよい。
RAM32bは、たとえば、セキュア通信回路32eが受信するMCU32aのブートコードやAP32cのブートコードなどを格納する。
AP32cは、MCU32aが担当する処理とは別の、様々なアプリケーションの処理を行うプロセッサである。AP32cは、たとえば、RAM32bに格納されるブートコードに基づき起動する。
電源制御回路32dは、システムバス32fを介して、スレーブ32の各部の電源のオンオフを制御することで、各部を起動させるか否かを決定する。
セキュア通信回路32eは、ネットワーク41を介して暗号化データを受信し、暗号化されたブートコードと経路情報を復号する。また、セキュア通信回路32eは、復号したブートコードと経路情報を再度暗号化して、暗号化したブートコードと経路情報を含む暗号化データを経路情報で指定されている送信先に、ネットワーク41を介して送信する。さらにセキュア通信回路32eは、暗号化データを受信した旨を示す受信完了通知信号を、ネットワーク41を介してマスタ31に送信する。また、セキュア通信回路32eは、マスタ31が送信する起動指示信号を受信すると、起動指示信号を受信した旨を、システムバス32fを介して電源制御回路32dに通知する。
セキュア通信回路32eは、図5に示したセキュア通信回路31fと同様のハードウェアで実現できる。
なお、スレーブ32〜39においても、マスタ31のROM31bや暗号/復号処理回路31eに相当する要素を設け、マスタとして機能するようにして、マスタ31がスレーブとして機能するようにしてもよい。
次に、不揮発性メモリ42に格納される経路情報の例を説明する。
図7は、経路情報のファイルフォーマットの一例を示す図である。
経路情報のファイルフォーマットの先頭の項目(項目No.1)のデータとして、全スレーブ数が指定されている。2番目以降の項目(項目No.2〜9)のデータとして、スレーブ32〜39の情報が指定されている。スレーブ32〜39のそれぞれの情報には、たとえば、5つの項目のデータが含まれる。すなわち、スレーブMACアドレス、配信元MACアドレス、受信データ格納先頭アドレス、データサイズ、送信データ格納先頭アドレス、である。
スレーブMACアドレスは、スレーブ32〜39の何れかのMACアドレスである。たとえば、スレーブ32の情報に含まれるスレーブMACアドレスは、スレーブ32のMACアドレスである。
配信元MACアドレスは、経路情報の配信元(マスタ31またはスレーブ32〜39)のMACアドレスである。たとえば、スレーブ32の情報に含まれる配信元MACアドレスは、マスタ31のMACアドレスである。
受信データ格納先頭アドレスは、スレーブ32〜39が受信したデータを記憶する記憶領域の先頭アドレスである。たとえば、スレーブ32の情報に含まれる受信データ格納先頭アドレスは、受信したブートコードを記憶するRAM32bの記憶領域の先頭アドレスである。
データサイズは、RAM32bに記憶するブートコードのデータサイズである。
送信データ格納先頭アドレスは、ブートコードの配信元(マスタ31またはスレーブ32〜39)において、ブートコードを記憶している記憶領域の先頭アドレスである。たとえば、スレーブ32の情報に含まれる送信データ格納先頭アドレスは、不揮発性メモリ42において、ブートコードが記憶されている記憶領域の先頭アドレスである。
図8は、スレーブ情報に含まれるデータの一例を示す図である。
図8では、スレーブ32の情報に含まれるデータの一例を示している。スレーブMACアドレスであるMACS0は、たとえば、スレーブ32のセキュア通信回路32eに設定されており、配信元MACアドレスであるMACMはマスタ31のセキュア通信回路31fに設定されている。
受信データ格納先頭アドレスadd2は、RAM32bにおいて、データ(ブートコード)を格納する記憶領域の先頭アドレスを示している。送信データ格納先頭アドレスadd1は、不揮発性メモリ42において、データ(暗号化されたブートコード)を格納する記憶領域の先頭アドレスを示している。データサイズsize1は、不揮発性メモリ42に記憶されているデータのサイズを示している。
以下、第2の実施の形態の処理装置30の動作例を説明する。
図9は、第2の実施の形態の処理装置の動作の一例の流れを示すシーケンス図である。図9では、マスタ31から配信されるブートコードに基づきスレーブ32のMCU32aを起動する際の動作の流れが示されている。
処理装置30に電源が投入されると、マスタ31の電源制御回路31dが起動し(T1)、スレーブ32の電源制御回路32dが起動する(T2)。スレーブ32の電源制御回路32dは、セキュア通信回路32eの初期設定(レジスタ設定など)を行い(T3)、セキュア通信回路32eを起動する。図示を省略しているが、他のスレーブ33〜39でも同様の処理が行われる。
マスタ31の電源制御回路31dは、MCU31aを起動し(T4)、MCU31aは暗号/復号処理回路31e、セキュア通信回路31fの初期設定を行い(T5,T6)、これらを起動する。なお、電源制御回路31dが、暗号/復号処理回路31e、セキュア通信回路31fの初期設定を行ってもよい。
暗号/復号処理回路31eは、たとえば、MCU31aによる初期設定で指定された不揮発性メモリ42のアドレスから、暗号化された経路情報を読み出して復号する(T8)。
セキュア通信回路31fは、復号された経路情報を暗号/復号処理回路31eからリードして(T9)、経路情報に基づきスレーブ32に対してパケットを送信することで、所在確認の問い合わせをする(T10)。
スレーブ32のセキュア通信回路32eは、所在確認の問い合わせを受けると、応答パケットをマスタ31に送信することで、所在確認に対する応答を行う(T11)。
マスタ31の暗号/復号処理回路31eは、たとえば、MCU31aによる初期設定で指定された不揮発性メモリ42のアドレスから、暗号化されたブートコードを読み出して復号する(T12)。
セキュア通信回路31fは、復号されたブートコードを暗号/復号処理回路31eからリードして(T13)、暗号化処理を行うことでブートコードと経路情報を暗号化し(T14)、スレーブ32に暗号化データを送信する(T15)。
スレーブ32のセキュア通信回路32eは、暗号化データを受信してブートコードと経路情報の復号処理を行う(T16)。そして、セキュア通信回路32eは、経路情報をセキュア通信回路32e内の図示しない記憶部(たとえば、レジスタ)に保持し、ブートコードをRAM32bに格納する(T17)。また、セキュア通信回路32eは、マスタ31に対して、受信完了通知信号を送信することで、受信の完了通知を行う(T18)。
マスタ31のMCU31aは、セキュア通信回路31fを介して、全スレーブ32〜39から、暗号化データの受信が完了し旨の通知を受けると、全スレーブ32〜39のMCUの起動を指示する起動指示信号をセキュア通信回路31fに送信させる。
スレーブ32のセキュア通信回路32eは、マスタ31のセキュア通信回路31fから起動指示信号を受信すると、その旨を電源制御回路32dに通知する(T20)。電源制御回路32dは、セキュア通信回路32eから起動指示信号を受信した旨の信号を受けると、MCU32aを起動する(T21)。図示を省略しているが、その後、MCU32aでは、RAM32bに格納されたブートコードに基づく起動処理を行う。
なお、図9では図示を省略しているが、スレーブ32から別のスレーブに暗号化データを送信する場合には、スレーブ32のセキュア通信回路32eが経路情報に基づき、送信先のスレーブに所在確認の問い合わせを行う。そして、セキュア通信回路32eは、所在確認に対する応答を受けると、RAM32bからブートコードをリードし、経路情報とブートコードを暗号化して、送信先のスレーブに送信する。
なお、処理装置30は、スレーブ32〜39のAP(スレーブ32ではAP32c)のブートコードについても、上記の配信方法と同様に配信を行うことができる。
ところで、ブートコードと経路情報を含む暗号化データは、1つのマスタまたは1つのスレーブから、複数のスレーブに送信されるようにしてもよい。
図10は、暗号化データの配信経路の一例を示す図である。
図10に示す暗号化データの配信経路では、マスタ31が送信する暗号化データを受信するスレーブ32は、スレーブ33,35,36に対して、暗号化データを送信する。また、スレーブ36は、スレーブ37,39に暗号化データを送信する。なお、スレーブ33は1つのスレーブ34に暗号化データを送信し、スレーブ37も1つのスレーブ38に暗号化データを送信する。なお、複数のスレーブへの配信は、同時には行われず、配信経路情報に基づいて所定の順番で行われる。
このような配信経路を示す経路情報は、以下のように表すことができる。
図11は、経路情報の一例を示す図である。
経路情報の2番目以降の項目(項目No.2〜9)のデータとして、スレーブ32〜39の情報が指定されているが、ツリー状の配信経路の部分木単位で並べて配置されている。
たとえば、図10の配信経路では、スレーブ32,36,37,38という順番で暗号化データが配信される部分木があるため、その順にスレーブ32,36,37,38の情報が配置される。さらに、スレーブ36からスレーブ39へ暗号化データが配信される部分木、スレーブ32からスレーブ33,34という順番で暗号化データが配信される部分木、スレーブ32からスレーブ35へ暗号化データが配信される部分木がある。そのため、この部分木単位でスレーブ39,33,34,35の情報が配置されている。
図12は、スレーブ情報の一例を示す図である。
図12の例では、マスタ31のMACアドレスをMACM、スレーブ32のMACアドレスをMACS0、スレーブ33のMACアドレスをMACS1、スレーブ34のMACアドレスをMACS2、スレーブ35のMACアドレスをMACS3としている。また、スレーブ36のMACアドレスをMACS4、スレーブ37のMACアドレスをMACS5、スレーブ38のMACアドレスをMACS6、スレーブ39のMACアドレスをMACS7としている。
また、図12の例では、不揮発性メモリ42のAdd0を先頭アドレスとする記憶領域に格納されたデータサイズがS1のブートコードを、スレーブ32〜39のRAMのAdd1を先頭アドレスとする記憶領域に格納する例が示されている。
このような経路情報を用いて暗号化データの配信を行う際、マスタ31のセキュア通信回路31fは、以下のような処理を行う。
セキュア通信回路31fは、経路情報に含まれる先頭のスレーブ情報から、次に、配信元MACアドレスがマスタ31のMACアドレスになっているスレーブ情報の直前までの経路情報とブートコードを先頭のスレーブ情報で表されるスレーブに送信する。配信元MACアドレスがマスタ31のMACアドレスになっているスレーブ情報が複数ある場合には、同様の処理が繰り返される。たとえば、2番目に配信元MACアドレスがマスタ31のMACアドレスになっているスレーブ情報から、3番目に配信元MACアドレスがマスタ31のMACアドレスになっているスレーブ情報の直前までの経路情報とブートコードが送信される。
図12の例では、配信元MACアドレスがマスタ31のMACアドレスであるMACMとなっているスレーブ情報が、スレーブ32の情報以外にはない。そのため、スレーブ32には、全てのスレーブ32〜39の情報を含む経路情報が送信される。
スレーブ32〜39のセキュア通信回路(スレーブ32では、セキュア通信回路32e)は、受信した経路情報の先頭のスレーブ情報は自分自身の情報であるためスキップし、2番目のスレーブ情報を先頭スレーブ情報とする。そして、スレーブ32〜39のセキュア通信回路は、先頭のスレーブ情報から、次に配信元MACアドレスが自身のMACアドレスになっているスレーブ情報の直前までの経路情報とブートコードを、先頭のスレーブ情報で表されるスレーブに送信する。配信元MACアドレスが自身のMACアドレスになっているスレーブ情報が複数ある場合には、同様の処理が繰り返される。
なお、スレーブ32〜39は、受信した経路情報に含まれるスレーブ情報が1つの場合、自身が送信元となって経路情報を送信する相手がいないため、配信処理を終了する。またスレーブ32〜39は、送信するスレーブ情報がなくなった場合についても、配信処理を終了する。
図12の例では、スレーブ32は、項目No.3のスレーブ情報(スレーブ36の情報)から、次に配信元MACアドレスが自身のMACアドレスになっている項目No.7のスレーブ情報の直前までの経路情報とブートコードを、スレーブ36に送信する。また、スレーブ32は、項目No.7のスレーブ情報(スレーブ33の情報)から、次に配信元MACアドレスが自身のMACアドレスになっている項目No.9のスレーブ情報の直前までの経路情報とブートコードを、スレーブ33に送信する。さらに、スレーブ32は、項目No.9のスレーブ情報(スレーブ35の情報)を経路情報として、ブートコードとともに、スレーブ35に送信する。
このように、マスタ31やスレーブ32〜39は、送信先が複数ある場合、複数の送信先の1つに送信する経路情報から、他の送信先に関する配信経路の情報(スレーブ情報)を省いて送信する。これにより、送信する情報量を減らすことができ、ブートコードの配信時間を短縮できる。
なお、マスタ31やスレーブ32〜39は、先頭のスレーブ情報を削除してから送信先のスレーブに送信するようにしてもよい。
(ステータス情報収集方法)
上記のような第2の実施の形態の処理装置30のマスタ31は、スレーブ32〜39から、スレーブ32〜39のそれぞれの状態を示すステータス情報を収集するようにしてもよい。
図13は、ステータス情報の収集処理の一例の様子を示す図である。
動作中のスレーブ32〜39のステータス情報は、スレーブ32〜39のそれぞれのセキュア通信回路から、ネットワーク41を介して、マスタ31に送信される。ステータス情報のマスタ31への送信は、定期的に行われる。
図14は、あるスレーブからマスタにステータス情報を送信する様子を示す図である。
スレーブ50は、図6に示したスレーブ32に、ステータス情報を保持するステータスレジスタ51を追加したものである。ステータスレジスタ51には、たとえば、AP32cでの演算の状態を示すフラグビットがステータス情報として書き込まれる。また、スレーブ50は、異常の発生を検出する機能を有していてもよく、異常の有無を示す情報をステータス情報としてステータスレジスタ51に書き込んでもよい。
セキュア通信回路32eは、たとえば、タイマを有しており、ステータスレジスタ51に格納されているステータス情報を定期的にリードし、ステータス情報を暗号化して、ネットワーク41を介してマスタ31に送信する。なお、セキュア通信回路32eは、たとえば、MCU32aまたは電源制御回路32dによる制御のもと、定期的にステータスレジスタ51に格納されているステータス情報をリードするようにしてもよい。
マスタ31のセキュア通信回路31fは、暗号化されたステータス情報を受信すると、復号処理を行い、復号したステータス情報をRAM31cに格納する。マスタ31のMCU31aは、RAM31cに格納されたステータス情報を参照することで、スレーブ50において異常が発生しているか否かを判定する。
以上説明した第2の実施の形態の処理装置30によれば、スレーブ32〜39のブートコードをマスタ31が起点となって、スレーブ32〜39に配信していくので、スレーブ32〜39にはブートコードを格納する不揮発性メモリを接続しなくてよくなる。また、スレーブ32〜39内のセキュア通信回路(スレーブ32ではセキュア通信回路32e)が、暗号化されたブートコードの復号を行うので、復号処理などを行う別チップのコントローラを接続しなくてもよくなる。このため、スレーブ数が多くなってもブートコードを格納する不揮発性メモリの数や、チップ数の増大を抑えられ、簡素な構成で処理装置30の信頼性を向上できる。これによって、コストの削減が期待できる。
また、スレーブ32〜39において、復号したブートコードや経路情報を再度暗号化して、経路情報に基づく送信先に送信することで、マスタ31の負担を減らせる。
上記については単に本発明の原理を示すものである。さらに、多数の変形、変更が当業者にとって可能であり、本発明は上記に示し、説明した正確な構成及び応用例に限定されるものではなく、対応する全ての変形例及び均等物は、添付の請求項及びその均等物による本発明の範囲とみなされる。
10 処理装置
11,12,13 半導体集積回路
11a,12a 制御回路
11b,12b 記憶回路
11c 復号処理回路
11d,12c セキュア通信回路
11e,12d 電源制御回路
11f,12e システムバス
14 記憶装置
15 ネットワーク
20a,20b,20c ブートコード
21a,21b,21c 経路情報
22a,22b 暗号化データ
また、発明の一観点によれば、第1のブートコードを暗号化して第2のブートコードを生成し、前記第2のブートコードを含む第1のデータを、前記第2のブートコードの配信経路を示す第1の経路情報に基づき第1の送信先に第1のネットワークを介して送信し、前記第1の送信先から前記第1のデータの受信完了通知信号を受信する通信回路と、システムバスを介して前記通信回路と接続され、前記通信回路が前記受信完了通知信号を受信したとき、前記第1の送信先が前記第1のブートコードに基づく起動処理を行うように指示する起動指示信号を、前記通信回路に前記第1の送信先に第1のネットワークを介して送信させる制御回路と、を有する半導体集積回路が提供される。
スレーブ32は、MCU32a、RAM32b、AP(Application Processor)32c、電源制御回路32d、セキュア通信回路32eを有しており、これらはシステムバス32fに接続されている。
マスタ31の電源制御回路31dは、MCU31aを起動し(T4)、MCU31aは暗号/復号処理回路31e、セキュア通信回路31fの初期設定を行い(T5,T6)、これらを起動する。なお、電源制御回路31dが、暗号/復号処理回路31e、セキュア通信回路31fの初期設定を行ってもよい。また、MCU31aはセキュア通信回路31fに対して配信開始指示を行う(T7)。
マスタ31のMCU31aは、セキュア通信回路31fを介して、全スレーブ32〜39から、暗号化データの受信が完了し旨の通知を受けると、全スレーブ32〜39のMCUの起動を指示する起動指示信号をセキュア通信回路31fに送信させる(T19)
また、スレーブ32〜39において、復号したブートコードや経路情報を再度暗号化して、経路情報に基づく送信先に送信することで、マスタ31の負担を減らせる。
上記については単に本発明の原理を示すものである。さらに、多数の変形、変更が当業者にとって可能であり、本発明は上記に示し、説明した正確な構成及び応用例に限定されるものではなく、対応する全ての変形例及び均等物は、添付の請求項及びその均等物による本発明の範囲とみなされる。
以上説明した複数の実施の形態に関し、さらに以下の付記を開示する。
(付記1)第1のブートコードを暗号化して第2のブートコードを生成し、前記第2のブートコードを含む第1のデータを、前記第2のブートコードの配信経路を示す第1の経路情報に基づき第1の送信先に第1のネットワークを介して送信する第1の半導体集積回路と、
前記第1の送信先であって、前記第1のネットワークを介して前記第1のデータを受信して、前記第2のブートコードを復号して前記第1のブートコードを生成する第2の半導体集積回路と、
を有することを特徴とする処理装置。
(付記2)前記第2の半導体集積回路は、前記第1のブートコードに基づく起動処理を行う、ことを特徴とする付記1に記載の処理装置。
(付記3)前記第1の半導体集積回路は、前記第1の送信先から前記第1のデータの受信完了通知信号を受信したとき、前記第1の送信先に起動指示信号を送信し、
前記第2の半導体集積回路は、前記第1のデータを受信したとき、前記受信完了通知信号を前記第1の半導体集積回路に送信し、前記起動指示信号を受信したとき、前記第1のブートコードに基づく起動処理を行う、ことを特徴とする付記1または2に記載の処理装置。
(付記4)前記第1の半導体集積回路は、前記第1の経路情報を暗号化して第2の経路情報を生成し、前記第2のブートコードと前記第2の経路情報とを含む前記第1のデータを前記第1の送信先に送信する、ことを特徴とする付記1乃至3の何れか1つに記載の処理装置。
(付記5)前記第2の半導体集積回路は、前記第2の経路情報を復号して前記第1の経路情報を生成する、ことを特徴とする付記4に記載の処理装置。
(付記6)前記第2の半導体集積回路は、前記第1の経路情報に基づき第2の送信先となる第3の半導体集積回路を特定し、前記第1のブートコードの少なくとも一部を暗号化して第3のブートコードを生成し、前記第3のブートコードを含む第2のデータを前記第3の半導体集積回路に前記第1のネットワークを介して送信し、
前記第3の半導体集積回路は、前記第1のネットワークを介して前記第2のデータを受信して、前記第3のブートコードを復号して前記第1のブートコードを生成し、前記第1のブートコードに基づく起動処理を行う、ことを特徴とする付記1乃至5の何れか1つに記載の処理装置。
(付記7)前記第2の半導体集積回路は、前記第1の経路情報を暗号化して第3の経路情報を生成し、前記第3のブートコードと前記第3の経路情報とを含む前記第2のデータを前記第3の半導体集積回路に前記第1のネットワークを介して送信する、ことを特徴とする付記6に記載の処理装置。
(付記8)前記第2の半導体集積回路は、前記第1の経路情報から前記第1の送信先に関する前記配信経路の情報を省いた情報を暗号化して第3の経路情報を生成し、前記第3のブートコードと前記第3の経路情報とを含む前記第2のデータを前記第3の半導体集積回路に前記第1のネットワークを介して送信する、ことを特徴とする付記6に記載の処理装置。
(付記9)前記第1のブートコードは前記第2の半導体集積回路が用いる第4のブートコードと第3の半導体集積回路が用いる第5のブートコードを含み、
前記第1の半導体集積回路は、前記第4のブートコードと前記第5のブートコードを暗号化して前記第2のブートコードを生成し、
前記第2の半導体集積回路は、前記第1の経路情報に基づき第2の送信先となる前記第3の半導体集積回路を特定し、前記第5のブートコードを暗号化して第6のブートコードを生成し、前記第6のブートコードを含む第2のデータを前記第3の半導体集積回路に前記第1のネットワークを介して送信し、
前記第3の半導体集積回路は、前記第1のネットワークを介して前記第2のデータを受信して、前記第6のブートコードを復号して前記第5のブートコードを生成し、前記第5のブートコードに基づく起動処理を行う、ことを特徴とする付記1乃至5の何れか1つに記載の処理装置。
(付記10)前記第2の半導体集積回路は、前記第1の経路情報を暗号化して第3の経路情報を生成し、前記第6のブートコードと前記第3の経路情報とを含む前記第2のデータを前記第3の半導体集積回路に前記第1のネットワークを介して送信する、ことを特徴とする付記9に記載の処理装置。
(付記11)前記第2の半導体集積回路は、前記第1の経路情報から前記第1の送信先に関する前記配信経路の情報を省いた情報を暗号化して第3の経路情報を生成し、前記第6のブートコードと前記第3の経路情報とを含む前記第2のデータを前記第3の半導体集積回路に前記第1のネットワークを介して送信する、ことを特徴とする付記9に記載の処理装置。
(付記12)前記第1の半導体集積回路が、複数の送信先に、前記第1の経路情報を暗号化した第2の経路情報と前記第2のブートコードとを含む前記第1のデータを送信する場合、または、前記第2の半導体集積回路が、前記複数の送信先に、前記第1のブートコードの少なくとも一部を暗号化した第3のブートコードと前記第1の経路情報を暗号化した第3の経路情報とを含む第2のデータを送信する場合、
前記複数の送信先の1つに送信する前記第2の経路情報または前記第3の経路情報から、前記複数の送信先のうち他の送信先に関する前記配信経路の情報を省いて送信する、ことを特徴とする付記1乃至3の何れか1つに記載の処理装置。
(付記13)前記第1のネットワークは、前記処理装置の外部に接続される第2のネットワークとは独立に設けられている、ことを特徴とする付記1乃至12の何れか1つに記載の処理装置。
(付記14)前記第1のネットワークはイーサーネットである、ことを特徴とする付記13に記載の処理装置。
(付記15)前記処理装置は暗号化されたブートコードを格納した記憶装置を有し、
前記第1の半導体集積回路は、前記記憶装置から前記暗号化されたブートコードを読み出し、前記暗号化されたブートコードを復号して前記第1のブートコードを生成する、ことを特徴とする付記1乃至14の何れか1つに記載の処理装置。
(付記16)前記第1の半導体集積回路と前記第2の半導体集積回路はそれぞれ、
データを暗号化して前記第1のネットワークを介して送信先に送信する通信回路と、
システムバスを介して前記通信回路と接続され、対応する半導体集積回路の各部を制御する制御回路と、
を含み、
前記第2の半導体集積回路において、前記通信回路が、前記制御回路が起動しない状態で起動し、前記通信回路が前記第1のネットワークを介して前記第1のデータを受信して、前記第2のブートコードを復号して前記第1のブートコードを生成する、ことを特徴とする付記1乃至15の何れか1つに記載の処理装置。
(付記17)前記第1の半導体集積回路と前記第2の半導体集積回路はそれぞれ、
前記システムバスを介して前記通信回路と接続され、対応する半導体集積回路の各部を起動させるか否かを決定する電源制御回路と、をさらに有し、
前記処理装置の電源が投入されたとき、
前記第1の半導体集積回路において、前記電源制御回路の制御の下で、前記制御回路と前記通信回路が起動し、
前記第2の半導体集積回路において、前記電源制御回路の制御の下で、前記制御回路は起動せずに、前記通信回路が起動する、ことを特徴とする付記16に記載の処理装置。
(付記18)前記第2の半導体集積回路は、ステータス情報を暗号化し、暗号化されたステータス情報を前記通信回路から前記第1のネットワークを介して前記第1の半導体集積回路に送信し、
前記第1の半導体集積回路は、前記第1のネットワークを介して前記暗号化されたステータス情報を受信して、前記暗号化されたステータス情報を復号する、ことを特徴とする付記16または17に記載の処理装置。
(付記19)第1のブートコードを暗号化して第2のブートコードを生成し、前記第2のブートコードを含む第1のデータを、前記第2のブートコードの配信経路を示す第1の経路情報に基づき第1の送信先に第1のネットワークを介して送信し、前記第1の送信先から前記第1のデータの受信完了通知信号を受信する通信回路と、
システムバスを介して前記通信回路と接続され、前記通信回路が前記受信完了通知信号を受信したとき、前記第1の送信先が前記第1のブートコードに基づく起動処理を行うように指示する起動指示信号を、前記通信回路に前記第1の送信先に前記第1のネットワークを介して送信させる制御回路と、
を有することを特徴とする半導体集積回路。
(付記20)前記システムバスを介して前記通信回路と接続され、記憶装置から暗号化されたブートコードを読み出し、前記暗号化されたブートコードを復号して前記第1のブートコードを生成する復号処理回路を有することを特徴とする付記19に記載の半導体集積回路。
(付記21)前記通信回路は、前記第1の経路情報を暗号化して第2の経路情報を生成し、前記第2のブートコードと前記第2の経路情報を含む前記第1のデータを生成する、ことを特徴とする付記19または20に記載の半導体集積回路。
(付記22)前記システムバスを介して前記通信回路と接続され、前記半導体集積回路の各部を起動させるか否かを決定する電源制御回路を有し、
前記通信回路は、前記電源制御回路の制御の下で起動して、前記第2のブートコードを生成し、
前記制御回路は、前記電源制御回路の制御の下で起動して、前記起動指示信号を、前記通信回路に前記第1の送信先に前記第1のネットワークを介して送信させる、ことを特徴とする付記19乃至21の何れか1つに記載の半導体集積回路。
(付記23)第1のネットワークを介して、暗号化された第1のブートコードを含む第1のデータを受信し、受信完了通知信号を前記第1のデータの送信元に送信し、前記第1のブートコードを復号して第2のブートコードを生成する通信回路と、
システムバスを介して前記通信回路と接続され、前記第2のブートコードを記憶する記憶回路と、
前記システムバスを介して前記通信回路と接続され、前記第2のブートコードに基づく起動処理を行う制御回路と、
前記システムバスを介して前記通信回路と接続され、前記通信回路と前記制御回路を起動させるか否かを決定する電源制御回路と、
を有することを特徴とする半導体集積回路。
(付記24)前記通信回路は、前記電源制御回路の制御の下で、前記制御回路が起動しない状態で起動して、前記送信元から起動指示信号を受信し、
前記電源制御回路は、前記通信回路が前記起動指示信号を受信したとき、前記制御回路を起動する、ことを特徴とする付記23に記載の半導体集積回路。
(付記25)前記通信回路は、前記第2のブートコードの配信経路を示す第1の経路情報に基づき送信先となる他の半導体集積回路を特定し、前記第2のブートコードの少なくとも一部を暗号化して第3のブートコードを生成し、前記第3のブートコードを含む第2のデータを前記他の半導体集積回路に前記第1のネットワークを介して送信する、ことを特徴とする付記23または24に記載の半導体集積回路。
(付記26)前記通信回路は、前記第1の経路情報から自らに関する前記配信経路の情報を省いた情報に基づいて第3の経路情報を生成し、前記第3のブートコードと前記第3の経路情報とを含む前記第2のデータを前記他の半導体集積回路に前記第1のネットワークを介して送信する、ことを特徴とする付記25に記載の半導体集積回路。
(付記27)前記通信回路は、暗号化された前記第1の経路情報を前記第1のデータの前記送信元から受信し、前記第1の経路情報を復号して第2の経路情報を生成する、ことを特徴とする付記25または26の何れか1つに記載の半導体集積回路。
(付記28)第1の半導体集積回路が、
第1のブートコードを暗号化して第2のブートコードを生成し、
前記第2のブートコードを含む第1のデータを、前記第2のブートコードの配信経路を示す第1の経路情報に基づき第1の送信先に第1のネットワークを介して送信し、
前記第1の送信先である第2の半導体集積回路が、
前記第1のネットワークを介して前記第1のデータを受信して、前記第2のブートコードを復号して前記第1のブートコードを生成し、
前記第1のブートコードに基づく起動処理を行う、
ことを特徴とする半導体集積回路の起動方法。

Claims (28)

  1. 第1のブートコードを暗号化して第2のブートコードを生成し、前記第2のブートコードを含む第1のデータを、前記第2のブートコードの配信経路を示す第1の経路情報に基づき第1の送信先に第1のネットワークを介して送信する第1の半導体集積回路と、
    前記第1の送信先であって、前記第1のネットワークを介して前記第1のデータを受信して、前記第2のブートコードを復号して前記第1のブートコードを生成する第2の半導体集積回路と、
    を有することを特徴とする処理装置。
  2. 前記第2の半導体集積回路は、前記第1のブートコードに基づく起動処理を行う、ことを特徴とする請求項1に記載の処理装置。
  3. 前記第1の半導体集積回路は、前記第1の送信先から前記第1のデータの受信完了通知信号を受信したとき、前記第1の送信先に起動指示信号を送信し、
    前記第2の半導体集積回路は、前記第1のデータを受信したとき、前記受信完了通知信号を前記第1の半導体集積回路に送信し、前記起動指示信号を受信したとき、前記第1のブートコードに基づく起動処理を行う、ことを特徴とする請求項1または2に記載の処理装置。
  4. 前記第1の半導体集積回路は、前記第1の経路情報を暗号化して第2の経路情報を生成し、前記第2のブートコードと前記第2の経路情報とを含む前記第1のデータを前記第1の送信先に送信する、ことを特徴とする請求項1乃至3の何れか一項に記載の処理装置。
  5. 前記第2の半導体集積回路は、前記第2の経路情報を復号して前記第1の経路情報を生成する、ことを特徴とする請求項4に記載の処理装置。
  6. 前記第2の半導体集積回路は、前記第1の経路情報に基づき第2の送信先となる第3の半導体集積回路を特定し、前記第1のブートコードの少なくとも一部を暗号化して第3のブートコードを生成し、前記第3のブートコードを含む第2のデータを前記第3の半導体集積回路に前記第1のネットワークを介して送信し、
    前記第3の半導体集積回路は、前記第1のネットワークを介して前記第2のデータを受信して、前記第3のブートコードを復号して前記第1のブートコードを生成し、前記第1のブートコードに基づく起動処理を行う、ことを特徴とする請求項1乃至5の何れか一項に記載の処理装置。
  7. 前記第2の半導体集積回路は、前記第1の経路情報を暗号化して第3の経路情報を生成し、前記第3のブートコードと前記第3の経路情報とを含む前記第2のデータを前記第3の半導体集積回路に前記第1のネットワークを介して送信する、ことを特徴とする請求項6に記載の処理装置。
  8. 前記第2の半導体集積回路は、前記第1の経路情報から前記第1の送信先に関する前記配信経路の情報を省いた情報を暗号化して第3の経路情報を生成し、前記第3のブートコードと前記第3の経路情報とを含む前記第2のデータを前記第3の半導体集積回路に前記第1のネットワークを介して送信する、ことを特徴とする請求項6に記載の処理装置。
  9. 前記第1のブートコードは前記第2の半導体集積回路が用いる第4のブートコードと第3の半導体集積回路が用いる第5のブートコードを含み、
    前記第1の半導体集積回路は、前記第4のブートコードと前記第5のブートコードを暗号化して前記第2のブートコードを生成し、
    前記第2の半導体集積回路は、前記第1の経路情報に基づき第2の送信先となる前記第3の半導体集積回路を特定し、前記第5のブートコードを暗号化して第6のブートコードを生成し、前記第6のブートコードを含む第2のデータを前記第3の半導体集積回路に前記第1のネットワークを介して送信し、
    前記第3の半導体集積回路は、前記第1のネットワークを介して前記第2のデータを受信して、前記第6のブートコードを復号して前記第5のブートコードを生成し、前記第5のブートコードに基づく起動処理を行う、ことを特徴とする請求項1乃至5の何れか一項に記載の処理装置。
  10. 前記第2の半導体集積回路は、前記第1の経路情報を暗号化して第3の経路情報を生成し、前記第6のブートコードと前記第3の経路情報とを含む前記第2のデータを前記第3の半導体集積回路に前記第1のネットワークを介して送信する、ことを特徴とする請求項9に記載の処理装置。
  11. 前記第2の半導体集積回路は、前記第1の経路情報から前記第1の送信先に関する前記配信経路の情報を省いた情報を暗号化して第3の経路情報を生成し、前記第6のブートコードと前記第3の経路情報とを含む前記第2のデータを前記第3の半導体集積回路に前記第1のネットワークを介して送信する、ことを特徴とする請求項9に記載の処理装置。
  12. 前記第1の半導体集積回路が、複数の送信先に、前記第1の経路情報を暗号化した第2の経路情報と前記第2のブートコードとを含む前記第1のデータを送信する場合、または、前記第2の半導体集積回路が、前記複数の送信先に、前記第1のブートコードの少なくとも一部を暗号化した第3のブートコードと前記第1の経路情報を暗号化した第3の経路情報とを含む第2のデータを送信する場合、
    前記複数の送信先の1つに送信する前記第2の経路情報または前記第3の経路情報から、前記複数の送信先のうち他の送信先に関する前記配信経路の情報を省いて送信する、ことを特徴とする請求項1乃至3の何れか一項に記載の処理装置。
  13. 前記第1のネットワークは、前記処理装置の外部に接続される第2のネットワークとは独立に設けられている、ことを特徴とする請求項1乃至12の何れか一項に記載の処理装置。
  14. 前記第1のネットワークはイーサーネットである、ことを特徴とする請求項13に記載の処理装置。
  15. 前記処理装置は暗号化されたブートコードを格納した記憶装置を有し、
    前記第1の半導体集積回路は、前記記憶装置から前記暗号化されたブートコードを読み出し、前記暗号化されたブートコードを復号して前記第1のブートコードを生成する、ことを特徴とする請求項1乃至14の何れか一項に記載の処理装置。
  16. 前記第1の半導体集積回路と前記第2の半導体集積回路はそれぞれ、
    データを暗号化して前記第1のネットワークを介して送信先に送信する通信回路と、
    システムバスを介して前記通信回路と接続され、対応する半導体集積回路の各部を制御する制御回路と、
    を含み、
    前記第2の半導体集積回路において、前記通信回路が、前記制御回路が起動しない状態で起動し、前記通信回路が前記第1のネットワークを介して前記第1のデータを受信して、前記第2のブートコードを復号して前記第1のブートコードを生成する、ことを特徴とする請求項1乃至15の何れか一項に記載の処理装置。
  17. 前記第1の半導体集積回路と前記第2の半導体集積回路はそれぞれ、
    前記システムバスを介して前記通信回路と接続され、対応する半導体集積回路の各部を起動させるか否かを決定する電源制御回路と、をさらに有し、
    前記処理装置の電源が投入されたとき、
    前記第1の半導体集積回路において、前記電源制御回路の制御の下で、前記制御回路と前記通信回路が起動し、
    前記第2の半導体集積回路において、前記電源制御回路の制御の下で、前記制御回路は起動せずに、前記通信回路が起動する、ことを特徴とする請求項16に記載の処理装置。
  18. 前記第2の半導体集積回路は、ステータス情報を暗号化し、暗号化されたステータス情報を前記通信回路から前記第1のネットワークを介して前記第1の半導体集積回路に送信し、
    前記第1の半導体集積回路は、前記第1のネットワークを介して前記暗号化されたステータス情報を受信して、前記暗号化されたステータス情報を復号する、ことを特徴とする請求項16または17に記載の処理装置。
  19. 第1のブートコードを暗号化して第2のブートコードを生成し、前記第2のブートコードを含む第1のデータを、前記第1のブートコードの配信経路を示す第1の経路情報に基づき第1の送信先に第1のネットワークを介して送信し、前記第1の送信先から前記第1のデータの受信完了通知信号を受信する通信回路と、
    システムバスを介して前記通信回路と接続され、前記通信回路が前記受信完了通知信号を受信したとき、前記第1の送信先が前記第1のブートコードに基づく起動処理を行うように指示する起動指示信号を、前記通信回路に前記第1の送信先に前記第1のネットワークを介して送信させる制御回路と、
    を有することを特徴とする半導体集積回路。
  20. 前記システムバスを介して前記通信回路と接続され、記憶装置から暗号化されたブートコードを読み出し、前記暗号化されたブートコードを復号して前記第1のブートコードを生成する復号処理回路を有することを特徴とする請求項19に記載の半導体集積回路。
  21. 前記通信回路は、前記第1の経路情報を暗号化して第2の経路情報を生成し、前記第2のブートコードと前記第2の経路情報を含む前記第1のデータを生成する、ことを特徴とする請求項19または20に記載の半導体集積回路。
  22. 前記システムバスを介して前記通信回路と接続され、前記半導体集積回路の各部を起動させるか否かを決定する電源制御回路を有し、
    前記通信回路は、前記電源制御回路の制御の下で起動して、前記第2のブートコードを生成し、
    前記制御回路は、前記電源制御回路の制御の下で起動して、前記起動指示信号を、前記通信回路に前記第1の送信先に前記第1のネットワークを介して送信させる、ことを特徴とする請求項19乃至21の何れか一項に記載の半導体集積回路。
  23. 第1のネットワークを介して、暗号化された第1のブートコードを含む第1のデータを受信し、受信完了通知信号を前記第1のデータの送信元に送信し、前記第1のブートコードを復号して第2のブートコードを生成する通信回路と、
    システムバスを介して前記通信回路と接続され、前記第2のブートコードを記憶する記憶回路と、
    前記システムバスを介して前記通信回路と接続され、前記第2のブートコードに基づく起動処理を行う制御回路と、
    前記システムバスを介して前記通信回路と接続され、前記通信回路と前記制御回路を起動させるか否かを決定する電源制御回路と、
    を有することを特徴とする半導体集積回路。
  24. 前記通信回路は、前記電源制御回路の制御の下で、前記制御回路が起動しない状態で起動して、前記送信元から起動指示信号を受信し、
    前記電源制御回路は、前記通信回路が前記起動指示信号を受信したとき、前記制御回路を起動する、ことを特徴とする請求項23に記載の半導体集積回路。
  25. 前記通信回路は、前記第2のブートコードの配信経路を示す第1の経路情報に基づき送信先となる他の半導体集積回路を特定し、前記第2のブートコードの少なくとも一部を暗号化して第3のブートコードを生成し、前記第3のブートコードを含む第2のデータを前記他の半導体集積回路に前記第1のネットワークを介して送信する、ことを特徴とする請求項23または24に記載の半導体集積回路。
  26. 前記通信回路は、前記第1の経路情報から自らに関する前記配信経路の情報を省いた情報に基づいて第3の経路情報を生成し、前記第3のブートコードと前記第3の経路情報とを含む前記第2のデータを前記他の半導体集積回路に前記第1のネットワークを介して送信する、ことを特徴とする請求項25に記載の半導体集積回路。
  27. 前記通信回路は、暗号化された前記第1の経路情報を前記第1のデータの前記送信元から受信し、前記第1の経路情報を復号して第2の経路情報を生成する、ことを特徴とする請求項25乃至26の何れか一項に記載の半導体集積回路。
  28. 第1の半導体集積回路が、
    第1のブートコードを暗号化して第2のブートコードを生成し、
    前記第2のブートコードを含む第1のデータを、前記第2のブートコードの配信経路を示す第1の経路情報に基づき第1の送信先に第1のネットワークを介して送信し、
    前記第1の送信先である第2の半導体集積回路が、
    前記第1のネットワークを介して前記第1のデータを受信して、前記第2のブートコードを復号して前記第1のブートコードを生成し、
    前記第1のブートコードに基づく起動処理を行う、
    ことを特徴とする半導体集積回路の起動方法。
JP2018536935A 2016-08-30 2017-05-09 処理装置、半導体集積回路及び半導体集積回路の起動方法 Active JP7014969B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2016167892 2016-08-30
JP2016167892 2016-08-30
PCT/JP2017/017523 WO2018042766A1 (ja) 2016-08-30 2017-05-09 処理装置、半導体集積回路及び半導体集積回路の起動方法

Publications (2)

Publication Number Publication Date
JPWO2018042766A1 true JPWO2018042766A1 (ja) 2019-06-24
JP7014969B2 JP7014969B2 (ja) 2022-02-02

Family

ID=61300461

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018536935A Active JP7014969B2 (ja) 2016-08-30 2017-05-09 処理装置、半導体集積回路及び半導体集積回路の起動方法

Country Status (5)

Country Link
US (1) US10997298B2 (ja)
EP (2) EP3509002B1 (ja)
JP (1) JP7014969B2 (ja)
CN (1) CN109643351B (ja)
WO (1) WO2018042766A1 (ja)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7007570B2 (ja) 2017-12-27 2022-01-24 株式会社ソシオネクスト 処理装置、半導体集積回路及び状態監視方法
FR3094520B1 (fr) * 2019-03-25 2021-10-22 St Microelectronics Rousset Clé de chiffrement et/ou de déchiffrement
JP7286381B2 (ja) * 2019-04-01 2023-06-05 キヤノン株式会社 情報処理装置とその制御方法
CN110119286A (zh) * 2019-04-11 2019-08-13 厦门亿联网络技术股份有限公司 一种基于模拟Flash芯片的固件引导实现方法
CN110727466B (zh) * 2019-10-15 2023-04-11 上海兆芯集成电路有限公司 多晶粒的多核计算机平台及其开机方法
US11960608B2 (en) * 2021-04-29 2024-04-16 Infineon Technologies Ag Fast secure booting method and system
US11783043B2 (en) * 2021-11-23 2023-10-10 ZT Group Int'l, Inc. Methods for authentication of firmware images in embedded systems

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0398153A (ja) * 1989-09-11 1991-04-23 Nippon Telegr & Teleph Corp <Ntt> 制御プログラム初期ロード方式
JPH04364563A (ja) * 1991-06-11 1992-12-16 Oki Electric Ind Co Ltd ダウンロード制御方法
JPH05242057A (ja) * 1992-02-27 1993-09-21 Sanyo Electric Co Ltd マルチプロセッサシステムの起動方式
JP2007213292A (ja) * 2006-02-09 2007-08-23 Nec Electronics Corp マルチプロセッサシステム及びスレーブシステムの起動方法
US20080229092A1 (en) * 2006-06-09 2008-09-18 International Business Machines Corporation Secure Boot Across a Plurality of Processors
JP2013016012A (ja) * 2011-07-04 2013-01-24 Fujitsu Semiconductor Ltd マイクロコンピュータ
US20160180114A1 (en) * 2014-12-19 2016-06-23 Intel Corporation Security plugin for a system-on-a-chip platform

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6240074B1 (en) * 1998-02-19 2001-05-29 Motorola, Inc. Secure communication hub and method of secure data communication
JP4447977B2 (ja) 2004-06-30 2010-04-07 富士通マイクロエレクトロニクス株式会社 セキュアプロセッサ、およびセキュアプロセッサ用プログラム。
JP4795812B2 (ja) 2006-02-22 2011-10-19 富士通セミコンダクター株式会社 セキュアプロセッサ
JP4939102B2 (ja) * 2006-04-21 2012-05-23 株式会社日立製作所 ネットワークブート計算機システムの高信頼化方法
KR101484110B1 (ko) * 2008-02-29 2015-01-28 삼성전자주식회사 메모리 컨트롤러 및 그에 따른 메모리 장치
US20100064125A1 (en) * 2008-09-11 2010-03-11 Mediatek Inc. Programmable device and booting method
WO2011109780A2 (en) * 2010-03-05 2011-09-09 Maxlinear, Inc. Code download and firewall for embedded secure application
US20120331303A1 (en) * 2011-06-23 2012-12-27 Andersson Jonathan E Method and system for preventing execution of malware
US20140164753A1 (en) * 2012-12-06 2014-06-12 Samsung Electronics Co., Ltd System on chip for performing secure boot, image forming apparatus using the same, and method thereof
US9268942B2 (en) * 2013-06-12 2016-02-23 Arm Limited Providing a trustworthy indication of the current state of a multi-processor data processing apparatus
US10579391B2 (en) * 2013-07-31 2020-03-03 Oracle International Corporation System on a chip hardware block for translating commands from processor to read boot code from off-chip non-volatile memory device
CN103677912B (zh) * 2013-12-06 2017-12-01 华为技术有限公司 芯片及其启动方法
US9331673B2 (en) * 2013-12-31 2016-05-03 Qualcomm Technologies International, Ltd. Integrated circuit operating active circuitry and chip pads in different operating modes and at different voltage levels
US11165749B2 (en) * 2016-02-12 2021-11-02 Advanced Micro Devices, Inc. Assigning variable length address identifiers to packets in a processing system

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0398153A (ja) * 1989-09-11 1991-04-23 Nippon Telegr & Teleph Corp <Ntt> 制御プログラム初期ロード方式
JPH04364563A (ja) * 1991-06-11 1992-12-16 Oki Electric Ind Co Ltd ダウンロード制御方法
JPH05242057A (ja) * 1992-02-27 1993-09-21 Sanyo Electric Co Ltd マルチプロセッサシステムの起動方式
JP2007213292A (ja) * 2006-02-09 2007-08-23 Nec Electronics Corp マルチプロセッサシステム及びスレーブシステムの起動方法
US20080229092A1 (en) * 2006-06-09 2008-09-18 International Business Machines Corporation Secure Boot Across a Plurality of Processors
JP2013016012A (ja) * 2011-07-04 2013-01-24 Fujitsu Semiconductor Ltd マイクロコンピュータ
US20160180114A1 (en) * 2014-12-19 2016-06-23 Intel Corporation Security plugin for a system-on-a-chip platform

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
池野信一、小山謙二, 現代暗号理論, vol. 初版, JPN6017025822, 1 September 1986 (1986-09-01), JP, pages 263 - 264, ISSN: 0004533009 *

Also Published As

Publication number Publication date
EP3509002B1 (en) 2023-03-22
EP4064088A1 (en) 2022-09-28
EP3509002A4 (en) 2019-09-11
CN109643351B (zh) 2023-12-15
US10997298B2 (en) 2021-05-04
EP3509002A1 (en) 2019-07-10
US20190171821A1 (en) 2019-06-06
WO2018042766A1 (ja) 2018-03-08
JP7014969B2 (ja) 2022-02-02
CN109643351A (zh) 2019-04-16

Similar Documents

Publication Publication Date Title
JP7014969B2 (ja) 処理装置、半導体集積回路及び半導体集積回路の起動方法
EP2777213B1 (en) Authenticator
KR20150143708A (ko) 스토리지 디바이스 보조 인라인 암호화 및 암호해독
JP6661641B2 (ja) コンピューティングデバイス、サブスクリプションサーバ及び方法
JP6916454B2 (ja) ハードウェアアクアクセラレーテッド暗号法のためのキーのスレッド所有権
US20080279371A1 (en) Methods of encrypting and decrypting data and bus system using the methods
US20160323100A1 (en) Key generation device, terminal device, and data signature and encryption method
KR20150116008A (ko) 호스트와 통신하는 메모리 컨트롤러, 그것의 동작 방법 및 그것을 포함하는 컴퓨팅 시스템
CN109670344A (zh) 加密装置、方法及片上系统
EP4203382A1 (en) Systems and methods for communicating encrypted time-related data
CN102663326A (zh) 用于SoC的数据安全加密模块
US8635463B2 (en) Information storage apparatus, information storage method, and electronic device
JP6023853B1 (ja) 認証装置、認証システム、認証方法、およびプログラム
US20210126776A1 (en) Technologies for establishing device locality
CN116226940B (zh) 一种基于pcie的数据安全处理方法以及数据安全处理系统
CN111512308A (zh) 一种存储控制器、文件处理方法、装置及系统
WO2016140596A1 (ru) Устройство шифрования данных (варианты), вычислительная система с его использованием (варианты)
CN109670347A (zh) 解密装置、方法及片上系统
JP2022021818A (ja) 通信システム、鍵管理サーバ装置、ルータ及びプログラム
CN111527724B (zh) 处理装置、半导体集成电路以及状态监视方法
US11785448B2 (en) Method and device for implementing secure communication, and storage medium
JP2002297030A (ja) 暗号処理装置及び暗号処理方法並びにプログラム
JP2000115853A (ja) 情報通信装置及び方法、情報通信システム、記録媒体
CN116049855B (zh) 一种数据加解密方法、安全芯片、电子设备以及介质
US8380137B2 (en) Circuit, process, and use of a memory for transmitting and/or receiving in a radio network

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190130

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200409

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20201217

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20201217

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210622

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210819

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20211221

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20220103