(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-04-05
(45)【発行日】2024-04-15
(54)【発明の名称】電子素子、そのような電子素子を含むシステム、及びプロセッサを監視する方法
(51)【国際特許分類】
G06F 11/07 20060101AFI20240408BHJP
G06F 21/64 20130101ALI20240408BHJP
G06F 21/81 20130101ALI20240408BHJP
【FI】
G06F11/07 151
G06F11/07 140R
G06F21/64
G06F21/81
【外国語出願】
(21)【出願番号】P 2020020783
(22)【出願日】2020-02-10
【審査請求日】2022-11-29
(32)【優先日】2019-02-12
(33)【優先権主張国・地域又は機関】FR
(73)【特許権者】
【識別番号】519260337
【氏名又は名称】アイデミア フランス
(74)【代理人】
【識別番号】100099759
【氏名又は名称】青木 篤
(74)【代理人】
【識別番号】100123582
【氏名又は名称】三橋 真二
(74)【代理人】
【識別番号】100114018
【氏名又は名称】南山 知広
(74)【代理人】
【識別番号】100165191
【氏名又は名称】河合 章
(74)【代理人】
【識別番号】100133835
【氏名又は名称】河野 努
(72)【発明者】
【氏名】シルベストル ドニ
(72)【発明者】
【氏名】エマニュエル ドッタクス
【審査官】児玉 崇晶
(56)【参考文献】
【文献】特開2019-008592(JP,A)
【文献】特開2012-038026(JP,A)
【文献】特開2009-252026(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 11/07
G06F 21/64
G06F 21/81
(57)【特許請求の範囲】
【請求項1】
参照データを記憶するモジュール(13)を含む電子素子(5)によってプロセッサ(3)を監視する方法であって、
メモリ(13)が前記プロセッサ(3)に関連付けられており、前記方法は、
前記電子素子(5)が、ランダム値を抽出するステップ(E2)と、
前記プロセッサ(3)が、前記ランダム値によって指定された前記メモリ(13)の一部のデータを読み出すステップ(E6)と、
-
前記読み出したデータを、前記プロセッサ(3)から
受信するステップ(E8)
と、
-受信したデータを、参照データと比較することによって検証するステップ(E30)
と、
-プロセッサ(3)の電源を遮断する命令を送信するステップ(E20)
と、を含み、
電源遮断命令は障害事象の発生後に送信され、前記障害事象は、データを受信しないこと、又は前記データを検証できないこと、
である、監視する方法。
【請求項2】
障害事象が発生した場合にプロセッサ(3)を再起動させる命令を送信するステップ(E18)を更に含む、請求項
1に記載の方法。
【請求項3】
前記参照データを新しいデータによって更新するステップ(E56)を更に含む、請求項
1又は2に記載の方法。
【請求項4】
前記更新
するステップ(E56)は、前記新しい参照データの電子署名の検証後に実行される、請求項
3に記載の方法。
【請求項5】
前記メモリ(13)を更新するステップ(E52)を更に含み、前記参照データを更新するステップ(E56)は、前記メモリ(13)を更新するステップ(E52)が成功した場合にトリガされる、請求項
3又は
4に記載の方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、一般に、電子ユニット、例えば、プロセッサのセキュリティの分野に関する。
【0002】
より具体的には、本発明は、電子素子、そのような電子素子を含むシステム、及びプロセッサを監視する方法に関する。
【背景技術】
【0003】
ウォッチドッグのような電子部品は、プロセッサが実行するアルゴリズムの特定のステップで当該プロセッサがブロックされたままにならないようにすることができる。ウォッチドッグがライフ信号を受信しない場合、ウォッチドッグは、プロセッサを再起動するために信号を送信する。
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、これらの電子部品は、プロセッサの機能セキュリティを保証するのには適していない。特に、かかる電子部品によりプロセッサによって実行されるソフトウェアが破損していないということを検証することはできない。
【課題を解決するための手段】
【0005】
従来技術の上述の不都合を克服するために、本発明は、プロセッサのセキュリティを保証することを可能にする電子素子を提供する。
より具体的には、本発明は、以下を含む電子素子を提供する:
-参照データを記憶するモジュール、
-プロセッサからデータを受信するモジュール、
-受信したデータを参照データによって比較することによって検証するモジュール、及び
-データが受信されないあるいは前記データの検証ができない、という障害事象の発生後にプロセッサの電源を遮断する命令を送信するモジュール。
【0006】
そのため、電子素子は、プロセッサによって使用されるデータを、特に参照データと比較することによって検証するように設計される。この検証中に、例えば、プロセッサが使用するデータの破損の疑いを示す事象が検出された場合、電子素子は、プロセッサの電源を遮断する命令を送信し、それによりプロセッサを強制的に遮断させる。サービスを停止させられたシステムは外部オペレータの介入によってのみ、サービス再開が可能となる。
【0007】
本発明による電子素子の他の非限定的かつ有利な特徴は、個別的に、又は任意の技術的に可能な組み合わせに従って、以下の通りである:
-前記障害事象は、所定の時間の間にデータが受信されない場合である、
-前記障害事象は、前記データをすべて受信した後、所定の時間の間に前記受信データを検証することができない場合である、
-障害事象が発生した場合に、前記プロセッサを再起動するための命令を送信するためのモジュールが設けられていること、
-前記プロセッサを再起動するための所定数の命令が所定の閾値に達したときに、前記プロセッサの電源を遮断するための命令が送信されること、
-障害事象が発生した場合にそれを通知するためのモジュールが設けられること、及び、
-前記受信されたデータを検証するためのモジュールは、前記データのダイジェストを決定し、前記データのダイジェストを前記参照データと比較するように設計されること
である。
【0008】
また、本発明は、上記で定義されたような電子素子と、プロセッサとを備えるシステムを提供する。このシステムは、また、プロセッサの電源を遮断する命令を受信するように設計されたプロセッサの電源管理回路を備えることができる。システムは、メモリを備えることができ、プロセッサは、前記メモリ内の前記データを読み出すためのユニットを備えることができる。
【0009】
本発明は、また、参照データを記憶するためのモジュールを有する電子素子によってプロセッサを監視する方法を提供し、その方法は、以下のステップを含む:
-前記プロセッサからデータを受信するステップ、
-前記受信したデータを前記参照データにより比較することにより検証するステップ、及び
-前記データの受信がないあるいは前記データの検証ができないという障害事象の発生後に前記プロセッサの電源を遮断する命令を送信するステップ。
【0010】
本発明による監視方法の他の非限定的かつ有利な特徴は、個別的に、又は任意の技術的に可能な組み合わせに従って、以下の通りである:
-プロセッサを再起動するための命令を送信するステップは、障害事象の発生の場合にも提供されること、
-障害事象は、プロセッサから来るデータをすべて受信した後に、前記受信データが前記参照データとは異なることに起因してデータを検証することができないことに相当すること、
-障害事象は、所定の時間の間にデータの受信がないことに相当すること、
-メモリはプロセッサに関連付けられ、前記メモリ内の前記受信データを前記プロセッサによって読み出す前段階のステップも提供されること、
-電子素子によってランダム値を得るステップも提供されること、読み出しステップは前記ランダム値によって指定される前記メモリの一部を読み出すことによって実行されること、
-新しいデータによって前記電子素子の参照データを更新するステップも提供されること、
-前記更新ステップは、前記新しい参照データの電子署名の検証後に実行されること、
-前記メモリを更新するステップも提供されること、及び
-前記参照データを更新するステップは前記メモリを更新するステップの成功事象の発生の場合にトリガされること。
【図面の簡単な説明】
【0011】
非限定的な例を示す添付図面を参照してなされる以下の説明により、本発明の構成並びに本発明がいかにして達成されるかということが十分に理解されよう。添付図面において:
【
図2】本発明によるシステムのいくつかの構成要素を示す。
【
図3】本発明によるシステムにおいて実施される方法の例をフローチャートにより示す。
【
図4】本発明によるシステムにおいて実施される方法の別の例をフローチャートにより示す。
【発明を実施するための形態】
【0012】
図1は、電子エンティティ(以下で説明するプロセッサ3など)を監視することを可能にするシステム1を表す。このシステム1は、実際には、電子部品(例えば、以下に記載される電子素子5)を統合し、電子エンティティ、例えば、そのオペレーティングシステムのセキュリティを保証することを可能にする。
【0013】
実際には、ここでは、システム1は、プロセッサ3の監視を行い、特に、プロセッサ3が破損していないことを検証するように設計されている。例えば、システム1は、プロセッサ3のオペレーティングシステムが変更されていないことを検証するのに適している。
【0014】
システム1は、例えば、自動車に装備するように設計されており、実際には、システム1は、例えば、カメラのような埋め込みシステムである。
【0015】
図1からわかるように、システム1は、プロセッサ3、電子素子5、メモリ13、及び電源管理回路7を備える。これらの異なる回路は、例えば、
図2を参照して以下に説明するように互いに接続されている。システム1は、例えば、実際には、車両に組み込まれた電子制御ユニット(ECU)を形成する。更に、メモリ13は、ここでは、
図1に示されるように、プロセッサ3とは別個の回路によって形成されるが、変形例では、メモリ13は、プロセッサ3に含まれてもよい(実際には、一体化されてもよい)。
【0016】
電子素子5は、例えば、場合によっては集積化されたセキュア素子(SE)(又は「埋め込みセキュア素子」eSE)などのマイクロ回路である。したがって、電子素子5は、特定の認証レベル(EAL4+又はFIPSなど)に相応し得る。
【0017】
実際には、システム1は、1組のモジュール(全てが
図1に示されているわけではない)を含む。これらのモジュールは、実際には、ハードウェア要素とソフトウェア要素との組み合わせによって実施することができる。各モジュールは、本発明による方法に記載され、以下に概説される機能を有する。したがって、各モジュールについて、システム1は、(プロセッサ3又は電子素子5にそれぞれ関連するメモリ内に)、例えば、モジュールによって提供される機能を実施するために、システム1のプロセッサ3又は電子素子5によって実行することができるソフトウェア命令を格納する。
【0018】
プロセッサ3は、実際には、例えばマイクロコントローラであり、メモリ13にアクセスすることを可能にするデータ読み出しユニット14を有する。ここで、データ読み出しユニット14は、例えば、プロセッサ3による専用命令の実行により機能的に実現される。
【0019】
プロセッサ3は、例えばここではシステムのオペレーティングシステムにリンクされるデータを記憶する。このデータは、プロセッサ3に関連するメモリ13に記憶される。このメモリ13は、複数の部分に分割される。したがって、各部分は、すべてのデータの一部を含む。メモリ13の各部分は、ここでは値によって識別される。したがって、プロセッサ3は、データの一部を値に関連付ける。プロセッサ3は、例えば、自動車の通信バス(又は「コントローラエリアネットワーク」)に接続される。
【0020】
データ読み出しユニット14は、プロセッサ3に関連するメモリ13に記憶されたデータを読み出すことができるように設計される。
【0021】
プロセッサ3の電源は、電源管理回路7によって確保され、制御される。換言すれば、電源管理回路7は、プロセッサ3、並びに電子素子5(従って、システム1)のパワーアップ、再起動及びパワーダウンを制御する。
【0022】
図1に示すように、システム1は、電子素子5を備えている。電子素子5は、ストレージモジュール15と、データを受信するモジュール16と、データを検証するモジュール17と、命令を送信する少なくとも1つのモジュール18a、18b、18cと、時間を測定するモジュール19とを備える。
【0023】
ここで、電子素子5は、遅延通知を送信するモジュール18aと、プロセッサ3の再起動命令を送信するモジュール18bと、プロセッサ3の電源遮断命令を送信するモジュール18cとの3つの命令送信モジュールを備えている。通知又は命令を送信する3つのモジュールは、ここでは機能的であり、例えば、特にこの目的のためにプログラムされたマイクロプロセッサによって実施される。命令を送信するモジュール18a、18b、18cは、電源管理回路7に接続され、送信された通知又は命令をこの電源管理回路7に通信する(この場合、電源管理回路7は、受信された通知又は命令に従ってプロセッサ3に作用する)。
【0024】
ストレージモジュール15は、データ、特に、以下に説明する方法の実施中に使用される参照データを記憶するのに適している。
【0025】
電子素子5は、(
図2に見られ、以下に説明されるように)プロセッサ3に接続され、それにより、データ受信モジュール16(ここでは機能的である)はプロセッサ3によって送信されたデータを受信でき、またデータ検証モジュール17はプロセッサ3から電子素子5に送信されたデータを検証することができる。実際には、データ検証モジュール17は、電子素子5によって受信されたデータのダイジェストを決定し、このデータのダイジェストを参照データと比較するように設計される。受信データのダイジェストは、例えば、このデータにハッシュ関数(ここではSHA256タイプ)を適用して得られる。
【0026】
電子素子5は、また、時間を測定する少なくとも1つのモジュール19を備える。この時間測定モジュール19もまた機能的であり、例えば、この目的のためにプログラムされたマイクロプロセッサによって、以下に説明する方法のそれぞれのステップの実行時間を測定するように設計されている。実際には、この時間測定モジュール19は、測定された実行時間を、当該ステップの実行に割り当てられた少なくとも1つの所定時間間隔と比較する。
【0027】
実際には、電子素子5は、例えば、電子素子5とシステム1の他の構成要素との接続を可能にする複数の端子を備える。
図2に示す例では、電子素子5は9つの端子を含む。端子101、102、103、104、105、106、107、108は、ここでは、プロセッサ3及び電源管理回路7への接続を可能にする。端子110は、電子素子5の接地への接続を可能にする。
【0028】
2つの端子101、102は、電源管理回路7との通信を可能にするように設計されている。実際には、これら2つの端子101、102は、3つの機構、すなわち通知機構、再起動機構、及び電源遮断機構を実施することを可能にする。これらの3つの機構は、例えば、ここでは、従来SWP及びI/Oと称される入力/出力を再使用することによってトリガされる。したがって、上述の3つの機構のそれぞれは、例えば、端子101、102上に存在する電気レベルによって表される2つのビットの特定の値によってトリガされる(第4の可能な値は、機構トリガなしのアイドル状態に対応する)。
【0029】
端子103は、電源管理回路7から電子素子5への電源電圧の伝達を可能にするように設計されている。
【0030】
端子104は、電子素子5を再起動するための端子である。
【0031】
4つの端子105、106、107、108は、プロセッサ3との通信を可能にするように設計されている。これらの4つの端子105、106、107、108は、特に、プロセッサ3とのデータ交換を可能にする。4つの端子105、106、107、108は、ここでは、SPI(シリアル・ペリフエラル・インタフェース)接続を可能にする。
【0032】
図3は、本発明によるシステム1において実施される方法の一例を示す。
【0033】
この方法は、プロセッサ3及び当該プロセッサに含まれるデータが破損されていないことを保証するために、電子素子5によってプロセッサ3を監視する方法を構成する。
【0034】
この方法を実施するにあたって、システム1はスイッチオンされ、従って該システムを構成するモジュールが使用されていることが前提となっている。例えば、システム1が自動車に搭載される場合には、自動車が使用されていると仮定することができる(以下に説明する検証は、例えば、車両の始動時に行われる)。
【0035】
図3に示すように、この方法はステップE2で開始する。このステップの間、電子素子5はランダム値を引き出す。このランダム値により、以下に説明する方法の間に検証されるメモリ13の部分を決定することが可能となる。
【0036】
ステップE4において、電子素子5は、得られたランダム値(従って、本方法の実行に関係するメモリ13の部分に関する情報)をプロセッサ3に送信する。そのために、ここに述べた例では、電子素子5は上記のような報知機構(端子101、102に、報知機構を示す電気レベルを加えることにより)を発動する。この報知機構により、電源管理回路7は割り込み信号SPI INTをプロセッサ3に送信し、プロセッサ3は、ここでは4つの端子105、106、107、108によって形成される接続を介してランダム値を受信する。
【0037】
従って、プロセッサ3は、問題のメモリの部分を識別し、ステップE6において、データ読み出しユニット14によってメモリ13のこの部分のデータを読み出す。
【0038】
実際には、ステップE2、E4、及びE6の一定の実施については、検証されるべきデータをランダムに選択するステップを省略することができる。実際、その場合には、プロセッサ3に関連するメモリ13の特定の部分に記憶されたすべてのデータが検証できるようになっている。これは、例えば、メモリ部分がシステム1の始動中に利用される場合である。ランダム検証(例えば、上述のステップE2及びE4の結果)は、例えば、システム1のアプリケーションを記憶するメモリ部分に記憶されたデータに対して実施される。
【0039】
この方法は、続いてステップE8に移行する。このステップの間、プロセッサ3は、ランダム値に関連するメモリ13の部分に含まれるデータを(上述のSPI接続を介して)電子素子5に送信する。
【0040】
図3から分かるように、この方法はステップE10に進む。このステップの間、電子素子5は、第1の障害事象が発生したかどうかを検出する。この第1の障害事象は、ここでは、例えば、所定時間の間に電子素子5によるデータの受信がないことに関連する。時間を測定するモジュールは、例えば、プロセッサ3のパワーアップ中にトリガされ、測定される時間(ここでは、プロセッサ3のパワーアップと電子素子5によるデータの受信との間)は、前記所定時間に含まれなければならない。変形例では、第1の障害事象は、所定時間の間における電子素子5によるデータの部分的な受信に相応するものでもよい。
【0041】
電子素子5がこの第1の障害事象を検出した場合(本明細書で説明する例では、プロセッサ3の起動に使用されるメモリ13の一部の検証中)、この方法は、以下に説明するステップE16に進む。
【0042】
変形例(例えば、ここでは、プロセッサ3によって実行され得るアプリケーションにリンクされたメモリ13の一部の検証中)では、
図3に点線で示されるように、所定時間の満了時に電子素子5が(このメモリ13部分に関連する)データのすべてを受信していなことが検出されると(ステップE10)、この方法はステップE14に進み、遅延通知がプロセッサ3に送られる。
【0043】
したがって、プロセッサ3は、電子素子5が検証されるべきデータを受信していないことを通知され、その結果、プロセッサ3は、その機能を適応させることができる。
【0044】
ここで説明する例では、ステップE14は、(電子素子5によって)上述の通知機構(電子素子5が通知機構を示す電気レベルを端子101、102に印加する)をトリガすることによって実施される。この通知機構により、電源管理回路7は割り込み信号SPI INTをプロセッサ3に送信し、プロセッサ3は、この例では4つの端子105、106、107、108によって形成される接続(ここではSPIタイプ)を介して(このステップE14の間に送信される)遅延通知を読み出す。
【0045】
このステップE14の後、この方法は、プロセッサ3に記憶されたデータの検証を再び試みるために、新しい値のランダムな抽出に関する上述のステップE2に進む。
【0046】
(上述の場合に第1の障害事象が検出されたときに到達する)ステップE16において、電子素子5は、問題のメモリ部分のデータの検証中に送信されたプロセッサ3を再起動する命令の数nを評価する。特に、電子素子5は、問題のメモリ部分のデータの検証中に、評価された数nを許容可能な再起動閾値数kと比較する。すなわち、ステップE16において、電子素子5は、nとkとを比較する。
【0047】
図3に示すように、プロセッサ3を再起動する命令の数nが再起動閾値数kより小さい(又は等しい)場合は、ステップE18において、電子素子5によってプロセッサ3を再起動する命令が電源管理回路7に送信される。従って、システム1の全ての要素、特に、プロセッサ3及び電子素子5は、(実際には、プロセッサ3及び電子素子5の再起動端子に適切なレベルを印加することによって、再起動を制御する電源管理回路7によって)再起動される。
【0048】
ここで説明する例では、電子素子5は、端子101、102に、再起動機構を示す電気レベル(これらの電気レベルは、この場合、再起動命令を表す)を印加することによって、上述の再起動機構をトリガする。電源管理回路7は、電子素子5の再起動端子104及びプロセッサ3の再起動端子に印加される再起動コマンドRSTを送信するように設計されている。
【0049】
システム1の全ての要素を再起動し、場合によっては、ここで説明する本発明に関連しないステップを実施した後、方法はステップE2に進む。
【0050】
ステップE16において、プロセッサ3を再起動する命令の数nが再起動閾値数kよりも大きい場合、それは、数回の再起動にもかかわらず、データの検証を正しく行うことができず、プロセッサが破損している可能性があることを意味する。プロセッサ3が破損していると思われる間、システム1の機能を継続しないために、ステップE20において、電子素子5は、電源管理回路7に向けて、システム1の電源を遮断する命令を生成する。
【0051】
ここで説明する例では、電子素子5は、電源遮断機構を示す電気レベル(これらの電気レベルは、この場合、電源遮断命令を表す)を端子101、102に印加することによって、上述の電源を遮断するための機構をトリガする。
【0052】
斯くして、電源管理回路7は、ステップE22でプロセッサ(及び電子素子5)の電源を遮断し、プロセッサ3(ならびに電子素子5、したがってシステム1)の電源を切って、おそらく破損しているので、その使用をブロックする。このブロッキングは、システムの再電源投入時でさえ持続し、すなわち、電源遮断モードにあることを持続的に記憶している電子素子5が、次の電源投入の直後にプロセッサ3を再ブロックする。したがって、システム1は、外部オペレータによって保証された保守作業の後にのみ使用状態に戻すことができる。
【0053】
逆に、ステップE10において、障害事象が検出されなかった場合は、これは、すべてのデータがプロセッサ3から電子素子5に送信され、電子素子5がそれを実際に受信したことを意味する。したがって、この方法はステップE30に進む。このステップの間、電子素子5は、受信されたデータを検証する。実際には、電子素子5を検証するモジュールは、受信されたデータのダイジェストを決定し、受信されたデータのこのダイジェストをストレージモジュール15に記憶された参照データと比較する。データのダイジェストは、例えば、SHA256タイプのハッシュ関数を用いて決定される。
【0054】
ステップE32において、電子素子5は、第2の障害事象が発生したかどうかを検出する。この第2の障害事象は、ここでは、例えば、別の所定時間の間に受信されたデータの検証中の障害に関する。時間を測定するモジュールは、ここでは、プロセッサ3の電源投入からの実行時間を測定し、この実行時間を他の所定時間と比較する。例えば、第2の障害事象の場合、受信されるデータは、記憶されている参照データとは異なる。変形例では、第2の障害事象は、上記他の所定時間の間に受信されたデータの部分的な検証に対応するようにしてもよい。
【0055】
ステップE32において第2の障害事象を検出した場合、本方法は上述のステップE16に進む。
【0056】
ステップE32において第2の障害事象が検出されない場合(すなわち、プロセッサ3から受信されたデータが、上記他の所定の時間において上述の比較によって正しく検証された場合)には、これは、データの検証が成功したことを意味する。したがって、この方法は、プロセッサ3に関連するメモリ13の新しい部分の検証に関連するステップE2に進む(場合によっては本発明と何ら関連しない他のステップを実施した後に)。言い換えれば、プロセッサ3に関連するデータの検証ループが実施される。
【0057】
実際には、プロセッサ3は、システム1の外部の構成要素からの新しいデータを受信することになろう。そのデータは、例えば、メモリ13に記憶されたデータを更新することを可能にする、例えば、プロセッサ3のオペレーティングシステムの更新データである。更新ステップは
図4のフローチャートに示されている。実際には、
図3に示される方法と
図4に示されるステップとの間でここでは説明されていない他のステップを実施することができる。
【0058】
メモリ13を新しいデータで更新する方法は、ステップE50で開始する。ステップE50の間、プロセッサ3は、新しいデータが利用可能であるかどうかを検出する。
【0059】
新しいデータが利用可能でない場合、これは、プロセッサ3に関連するメモリ13が更新される(プロセッサ3は、新しいデータを待ち続ける)ことを意味する。
【0060】
しかしながら、新しいデータが利用可能な場合は、この方法はステップE52に進む。このステップの間、プロセッサ3は新しいデータをメモリ13に記憶する。
【0061】
ステップE54において、電子素子5は、(ステップE52において受信された)この新しいデータの電子署名を検証することによって、新しいデータが受け入れ可能であることを検証する。これを行うために、電子素子5は、公開鍵(例えば、問題の新しいデータの供給者の公開鍵)、新しいデータ、及び電子署名を使用して電子署名を検証するアルゴリズムを実施することができる。実際には、例えば、電子素子5は、一方では、新しいデータのすべてのハッシュ(又は複数のハッシュから形成されるこのデータの要約)を算出し、他方では、暗号アルゴリズムを電子署名に適用する。したがって、電子素子5は、得られたハッシュを暗号アルゴリズムの適用の結果と比較する。
【0062】
ステップE54で電子署名の検証の失敗が観察された場合、すなわち、上述の電子署名を検証するアルゴリズムが否定的な結果を与える場合(上述の例では、新しいデータから得られたハッシュが、電子署名への暗号アルゴリズムの適用の結果と異なる場合)、システム1は再起動され、方法はステップE50に進み、プロセッサ3に関連付けられたメモリ13のデータの可能な新しい更新が検索される。電子署名の検証に失敗した後(したがって、参照データは更新されていない)、及び
図3による後続の検証の場合、ステップE30で受信されたデータの検証は、決定的ではない可能性がある。この場合、この方法は、上述したように、再起動又はパワーダウンによって継続される。
【0063】
ステップE54において、新しいデータの電子署名が正しく検証された場合、すなわち、上述の電子署名を検証するアルゴリズムが肯定的な結果を与える場合(上述の例では、新しいデータから得られるハッシュが、電子署名への暗号アルゴリズムの適用の結果に対応する場合)、方法はステップE56に進み、当該ステップにおいてプロセッサ3は、電子素子5のストレージモジュール15内の参照データの更新につながる、メモリ13内で受信された新しいデータの更新を電子素子5に確認する。こうして、参照データは、新しい参照データに置き換えられる。実際には、メモリ13の各部分に対して、新しいデータの新しいダイジェストが、前に導入されたものと同じハッシュ関数を適用することによって決定される。新しいデータのすべての新しいダイジェストは、(ストレージモジュール15に記憶される)すべての新しい参照データを構成する。
【0064】
これらの更新ステップに続いて、プロセッサ3に記憶された新しいデータ及び電子素子5に記憶された新しい参照データは、システム1の次のパワーアップ、すなわち
図3に示された方法の実施中に使用されるデータである。
上述の実施形態は下記のようにも記載され得るが下記には限定されない。
[構成1]
-参照データを記憶するモジュール(15)、
-プロセッサ(3)からデータを受信するモジュール(16)、
-参照データを用いて比較することによって、受信したデータを検証するモジュール(17)、及び
-プロセッサ(3)の電源を遮断する命令を送信するモジュール(18c)を含み、
電源遮断命令は、障害事象の発生後に送信され、前記障害事象は、データを受信しないこと又は前記データを検証できないことである、
電子素子(5)。
[構成2]
障害事象が発生した場合にプロセッサ(3)を再起動する命令を送信するモジュール(18b)を更に含む、構成1に記載の電子素子(5)。
[構成3]
前記プロセッサ(3)を再起動するための命令の数が所定の閾値に達した場合に、前記プロセッサ(3)の電源を遮断するための命令が送信される、構成2に記載の電子素子(5)。
[構成4]
障害事象が発生した場合に、通知を送信するためのモジュール(18a)を更に含む、構成1~3のいずれか1項に記載の電子素子(5)。
[構成5]
前記受信されたデータを検証するモジュール(17)は、前記データのダイジェストを決定し、前記データのダイジェストを前記参照データと比較するように設計される、構成1~4のいずれか1項に記載の電子素子(5)。
[構成6]
構成1~5のいずれか1項に記載の電子素子(5)と、前記プロセッサ(3)とを含むシステム(1)。
[構成7]
前記プロセッサ(3)の電源を遮断する命令を受信するように設計された前記プロセッサ(3)の電源管理回路(7)を更に含む、構成6に記載のシステム(1)。
[構成8]
メモリ(13)を含み、前記プロセッサ(3)が、前記メモリ(13)内の前記データを読み出すためのユニット(14)を含む構成6又は7に記載のシステム(1)。
[構成9]
参照データを記憶するモジュール(13)を含む電子素子(5)によってプロセッサ(3)を監視する方法であって、
-プロセッサ(3)からデータを受信するステップ(E8)、
-受信したデータを、参照データと比較することによって検証するステップ(E30)、及び
-プロセッサ(3)の電源を遮断する命令を送信するステップ(E20)、を含み、
電源遮断命令は障害事象の発生後に送信され、前記障害事象は、データを受信しないこと、又は前記データを検証できないこと、
である、監視する方法。
[構成10]
障害事象が発生した場合にプロセッサ(3)を再起動させる命令を送信するステップ(E18)を更に含む、構成9に記載の方法。
[構成11]
メモリ(13)が前記プロセッサ(3)に関連付けられ、前記メモリ(13)内においてかつ前記プロセッサ(3)によって、前記受信されたデータを読み出す前段階のステップ(E6)を更に含み、また、電子素子(5)によってランダム値を抽出するステップ(E2)を更に含み、前記読み出しステップ(E6)は、前記ランダム値によって指定された前記メモリ(13)の一部を読み出すことによって実行される、構成9又は10に記載の方法。
[構成12]
前記参照データを新しいデータによって更新するステップ(E56)を更に含む、構成9~11のいずれか1項に記載の方法。
[構成13]
前記更新ステップ(E56)は、前記新しい参照データの電子署名の検証後に実行される、構成12に記載の方法。
[構成14]
前記メモリ(13)を更新するステップ(E52)を更に含み、前記参照データを更新するステップ(E56)は、前記メモリ(13)を更新するステップ(E52)が成功した場合にトリガされる、構成12又は13に記載の方法。