IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ タレス・ディス・フランス・エス・ア・エスの特許一覧 ▶ タレス・ディス・デザイン・サービシズ・エス・ア・エスの特許一覧

特許7383156セキュリティ関連プロセスのセキュアな実行のための方法
<>
  • 特許-セキュリティ関連プロセスのセキュアな実行のための方法 図1
  • 特許-セキュリティ関連プロセスのセキュアな実行のための方法 図2
  • 特許-セキュリティ関連プロセスのセキュアな実行のための方法 図3
  • 特許-セキュリティ関連プロセスのセキュアな実行のための方法 図4
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-11-09
(45)【発行日】2023-11-17
(54)【発明の名称】セキュリティ関連プロセスのセキュアな実行のための方法
(51)【国際特許分類】
   G06F 21/55 20130101AFI20231110BHJP
【FI】
G06F21/55 380
【請求項の数】 8
(21)【出願番号】P 2022537502
(86)(22)【出願日】2020-12-17
(65)【公表番号】
(43)【公表日】2023-02-28
(86)【国際出願番号】 EP2020086662
(87)【国際公開番号】W WO2021122907
(87)【国際公開日】2021-06-24
【審査請求日】2022-08-16
(31)【優先権主張番号】19306678.4
(32)【優先日】2019-12-18
(33)【優先権主張国・地域又は機関】EP
(73)【特許権者】
【識別番号】521561673
【氏名又は名称】タレス・ディス・フランス・エス・ア・エス
(73)【特許権者】
【識別番号】520414848
【氏名又は名称】タレス・ディス・デザイン・サービシズ・エス・ア・エス
(74)【代理人】
【識別番号】110001173
【氏名又は名称】弁理士法人川口國際特許事務所
(72)【発明者】
【氏名】ルベ・ムンディ,フィリップ
(72)【発明者】
【氏名】ノーラ,ダビド
(72)【発明者】
【氏名】クーロン,ジャン・ロック
【審査官】平井 誠
(56)【参考文献】
【文献】特開2012-128860(JP,A)
【文献】特開2000-112829(JP,A)
【文献】特開2016-004371(JP,A)
【文献】米国特許出願公開第2019/0050602(US,A1)
【文献】米国特許出願公開第2012/0151608(US,A1)
【文献】欧州特許出願公開第02466528(EP,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 21/00-88
(57)【特許請求の範囲】
【請求項1】
システム(100)の第1のメモリ(103)の第1のメモリ行内のメモリ領域の少なくとも第1の操作および引き続くプログラミング操作を含み、前記システム(100)の第2のメモリ(104)に記憶されたセキュリティデータを入力として使用する、セキュリティ関連プロセスを実行するための方法であって、前記第1のメモリが不揮発性メモリであり、前記システムが第1のメモリチャージポンプ(108)を備え、前記方法は、前記セキュリティ関連プロセスの実行がトリガされると、
第1のメモリ行を開くこと(S2)と、
前記第1のメモリチャージポンプをチャージすること(S3)と、
第2のメモリからの前記セキュリティデータに基づいて、セキュリティ関連プロセスの前記第1の操作を行うこと(S4)と、
前記チャージされたチャージポンプを使用して前記開かれた第1のメモリ行内の前記メモリ領域の前記プログラミング操作を行うこと(S5)と
を含む、方法。
【請求項2】
第1のメモリチャージポンプをチャージすることまたは第1のメモリ行を開くことの前に前記セキュリティデータを第1のメモリから第2のメモリへコピーすること(S1)を含む、請求項1に記載の方法。
【請求項3】
前記システムが、ハードウェアセキュリティセンサを備え、またはソフトウェア対策を実行するために構成されており、前記プログラミング操作が、前記ハードウェアセキュリティセンサまたは前記ソフトウェア対策により検出されたいくつかの異常な挙動をログする恒久セキュリティカウンタを、前記第1のメモリに書き込むことを含む、請求項1または2に記載の方法。
【請求項4】
前記第2のメモリ(104)が、キャッシュメモリ、ランダムアクセスメモリ(RAM)、不揮発性メモリ(NVM)または読み出し専用メモリ(ROM)のうちである、請求項1から3のいずれかに記載の方法。
【請求項5】
前記第1のメモリチャージポンプは、システムの電流消費量の目に見えるスパイクを誘起しないように予め定められた頻度でチャージされる、請求項1から4のいずれかに記載の方法。
【請求項6】
少なくとも1つのコンピュータのメモリへと直接ロード可能なコンピュータプログラムであって、前記コンピュータプログラムがコンピュータ上で実行されるときに請求項1から5のいずれか一項に記載の方法のステップをコンピュータにわせるためのソフトウェアコード命令を含む、コンピュータプログラム。
【請求項7】
少なくとも1つのプロセッサ(101)、第1のメモリ(103)、第1のメモリチャージポンプ(108)および第2のメモリ(104)を備えるシステム(100)により実行されたときに請求項1から5のいずれか一項に記載の方法のステップを行う実行可能なコンピュータコードを記憶する非一時的なコンピュータ可読媒体。
【請求項8】
請求項1から5のいずれか一項に記載の方法のステップを行うように構成された、プロセッサ(101)、第1のメモリ(103)、第1のメモリチャージポンプ(108)および第2のメモリ(104)を備えるシステム(100)。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、不揮発性メモリ(NVM)プログラミングを含むセキュリティ関連プロセスをセキュアに実行するための方法に関し、前記方法は、NVMメモリに情報を書き込むことを保護し、とりわけアタッカによるNVMプログラミング検出を防止する。
【背景技術】
【0002】
暗号化操作などのセンシティブな操作を含むセキュリティ関連プロセスが実行されているときに、不揮発性メモリ(NVM)へいくつかのデータを時折書き込むことが必要とされることがある。例えば、最もセキュアなデバイスおよびアルゴリズムは、保護されるべきデバイスまたはアルゴリズムの実行環境または挙動をモニタするハードウェアセキュリティセンサまたはソフトウェア対策を頼りにする。異常な挙動が検出されると、そのようなデバイスまたはアルゴリズムは、不揮発性メモリ(NVM)内のセキュリティカウンタ値を更新することによってそのような検出を通常は追跡し続ける。
【0003】
問題は、NVMにそのような値を書き込むことは、図1に示したように、デバイスの電流消費量のスパイクを誘起するNVMチャージポンプをチャージすることを必要とするということである。結果として、電力消費量をモニタしているアタッカは、ポンプのそのようなチャージングを容易に検出し、NVMへの書き込み操作が行われていることに気づき、これをアタッカ自身の利益のために使用することができる。例えば、セキュリティカウンタ更新のケースでは、アタッカは、セキュリティカウンタの更新を妨げるためにパワーカットオフをトリガできる。そうすることによって、カウンタは決して更新されず、アタッカは成功するまで何度もアタックを行うことができる。
【発明の概要】
【発明が解決しようとする課題】
【0004】
結果的に、NVMプログラミングを含むセキュリティ関連プロセスをセキュアに実行するためおよびデバイス電力消費量に何らかの目に見える影響なくNVMをプログラムすることを可能にするための方法に対する必要性がある。
【課題を解決するための手段】
【0005】
この目的のためそして第1の態様によれば、本発明は、これゆえ、システムの第1のメモリの第1のメモリ行内のメモリ領域の少なくとも第1の操作および引き続くプログラミング操作を含み、前記システムの第2のメモリに記憶されたセキュリティデータを入力として使用するセキュリティ関連プロセスを実行するための方法であって、前記第1のメモリが不揮発性メモリであり、前記システムが第1のメモリチャージポンプを備え、前記方法は、前記セキュリティ関連プロセスの実行がトリガされると:
- 第1のメモリ行を開くことと、
- 前記第1のメモリチャージポンプをチャージすることと、
- 第2のメモリからの前記セキュリティデータに基づいて、セキュリティ関連プロセスの前記第1の操作を行うことと、
- 前記チャージされたチャージポンプを使用して前記開かれた第1のメモリ行内の前記メモリ領域の前記プログラミング操作を行うことと
を含む、方法に関する。
【0006】
そうすることによって、チャージポンプがプリチャージされ、セキュリティ関連プロセスの第1の操作の実行が開始する前でさえ、行が開かれる。次いで、プログラミング操作が行われるときに、ポンプをチャージすることおよび第1の行を開くことを待たずに、はるかに迅速に行われ、アタッカにより検出され得る電流消費量スパイクを誘起しない。
【0007】
セキュリティ関連プロセスの第1の操作を行うために使用されるセキュリティデータは、第1のメモリチャージポンプをチャージすることまたは第1のメモリ行を開くことの前に、第1のメモリから第2のメモリへコピーされてもよい。
【0008】
このようなコピー操作は、第2のメモリでは、このデータが利用可能なままであることを保証するが、チャージポンプのチャージされた状態が、第1のメモリのいかなる読み出しを妨げる。
【0009】
前記システムがハードウェアセキュリティセンサを備えるまたはソフトウェア対策を実行するために構成される実施形態では、第1の態様による方法の前記プログラミング操作は、前記ハードウェアセキュリティセンサまたは前記ソフトウェア対策により検出されたいくつかの異常な挙動をログする恒久セキュリティカウンタを、前記第1のメモリに書き込むことを含むことができる。
【0010】
前記第2のメモリは、キャッシュメモリ、ランダムアクセスメモリ(RAM)、不揮発性メモリ(NVM)または読み出し専用メモリ(ROM)のうちであってよい。
【0011】
システムの電流消費量の目に見えるスパイクを誘起しないように、前記第1のメモリチャージポンプは、予め定められた頻度でチャージされてよい。
【0012】
そうすることによって、電流消費量スパイクは、第1の操作の実行の前でさえ、ポンプのチャージングという理由では生じない。
【0013】
第2の態様によれば、本発明は、これゆえ、少なくとも1つのコンピュータのメモリへと直接ロード可能なコンピュータプログラム製品にも関し、前記製品がコンピュータ上で実行されるときに第1の態様による方法のステップを行うためのソフトウェアコード命令を含む。
【0014】
第3の態様によれば、本発明は、これゆえ、少なくとも1つのプロセッサ、第1のメモリ、第1のメモリチャージポンプおよび第2のメモリを備えるシステムにより実行されたときに第1の態様による方法を行う実行可能なコンピュータコードを記憶する非一時的なコンピュータ可読媒体にも関する。
【0015】
第4の態様によれば、本発明は、これゆえ、第1の態様による方法を行うように構成された、少なくとも1つのプロセッサ、第1のメモリ、第1のメモリチャージポンプおよび第2のメモリを備えるシステムにも関する。
【0016】
下記の説明および付属の図面は、ある種の例示的な態様を詳細に記述し、実施形態の原理が用いられ得る様々な方法のうちのいくつかだけを示す。他の利点および新規な特徴は、図面とともに考えるときに下記の詳細な説明から明らかになることになり、開示された実施形態は、すべてのこのような態様およびそれらの等価物を含むように意図される。
【図面の簡単な説明】
【0017】
図1】先行技術によるNVMプログラミング電流消費量のオシロスコープスナップショットの模式図である。
図2】本発明の実施形態によるシステムの模式図である。
図3】本発明の実施形態による方法の模式図である。
図4】本発明の実施形態によるシステムのNVMプログラミング電流消費量のオシロスコープスナップショットの模式図である。
【発明を実施するための形態】
【0018】
本発明は、システムの、第1のメモリと呼ばれる不揮発性メモリ(NVM)のメモリ領域のサイレントプログラミングを含むセキュリティ関連プロセスの実行をセキュアにすることを目的とする。
【0019】
図2は、このようなシステム100の模式図である。それは、NVMの第1のメモリ103に、およびキャッシュメモリ、ランダムアクセスメモリ(RAM)、別のNVMメモリまたはROMのうちの第2のメモリ104に、バス102を介して接続されたプロセッサ101を含むことができる。それはまた、読み出し専用メモリ(ROM)105を含むことができる。
【0020】
システム100は、プロセッサに接続されたコネクタ106をさらに含むことができる。
【0021】
システム100はまた、1つまたは複数のスクリーン、ラウドスピーカ、マウス、タクタイル面、キーボード等などの、システム100のユーザへのインターフェースを提供する入力/出力手段107も含むことができる。
【0022】
システム100は、第1のメモリのメモリ領域をプログラムするために動作可能である第1のメモリチャージポンプ108をさらに含む。
【0023】
本発明は、第1または第2のメモリに記憶されたセキュリティデータを入力として使用し、少なくとも第1の操作を行うセキュリティ関連プロセスの実行の文脈で行われる。このようなセキュリティ関連プロセスは、例えば、暗号化した値もしくはシグネチャを生成する暗号化プロセス、または秘密キーをコピーする操作であってよい。このようなセキュリティデータは、識別データまたは秘密キーなどのセンシティブなデータであり得る。それはまた、セキュリティ関連プロセスのいくつかの操作を行うために実行されるコードを含むことができる。
【0024】
セキュリティ関連プロセスは、例えば、ある特定のプロセスまたはキーが使用された回数を示すカウンタを更新するための通常操作として不揮発性メモリの書き込み操作を含むことができる。それはまた、アタックがセキュリティ関連プロセスの実行中に検出されるときに、対策としてのこのような書き込み操作を含むことができる。例えば、アタックがこの少なくとも1つの操作の実行中に検出される場合には、メモリ領域のNVMプログラミングが、アタックが検出された回数を示しているセキュリティカウンタ値をNVMにおいて更新するために要求される。以下の段落では、NVMプログラミング操作によりプログラムされたメモリ領域が第1のメモリの第1のメモリ行に位置することが想定される。
【0025】
システムは、1つまたは複数のハードウェアセキュリティセンサをさらに含むことができる、またはソフトウェア対策を実行するために構成されることがあり、その結果、これらのセンサまたはソフトウェア対策は、アタックの結果の可能性があると思われる異常な挙動を検出することが可能である。そのようなケースでは、第1のメモリのプログラミング操作は、前記ハードウェアセキュリティセンサまたは前記ソフトウェア対策により検出されるいくつかの異常な挙動をログする恒久セキュリティカウンタを、第1のメモリに書き込むことを含むことができる。
【0026】
図1に示したように、システムの第1のメモリの第1の行のメモリ領域のプログラミング操作が要求されるときには、次のステップが行われなければならない:
・ NVMプログラミングを準備する操作が実行される構成ステップ(CPU実行)。
・ プログラムされるべき行が開かれる行オープニングステップ。このステップの期間はT1と呼ばれる。
・ 第1のメモリのチャージングポンプがチャージされるポンプチャージングステップ。このステップの期間はT2と呼ばれる。
・ NVMプログラミングがチャージされたチャージポンプを使用して行われるプログラミングステップ。このステップの期間はT3と呼ばれる。
・ プログラムされた行が閉じられる行クロージングステップ。このステップの期間はT4と呼ばれる。
【0027】
アタッカに見えない第1のメモリのこのようなプログラミングを行うために、本発明の主な考えは、セキュリティ関連プロセスの実行のごく初期にポンプチャージングステップおよび行オープニングステップを予測することである。そうすることによって、ポンプをチャージすることは、そのようなプログラミングが要求されるときに第1のメモリをプログラムする準備が既に整っており、プログラミングステップがいかなる電力消費量スパイクをも誘起せずにはるかに早く行われ得る。
【0028】
以下の段落は、第1のメモリの第1のメモリ行のメモリ領域の少なくとも第1の操作および引き続くプログラミング操作を含むセキュリティ関連プロセスを実行するためにシステムにより行われる、図3に示された、本発明による方法のステップをより精細に説明する。
【0029】
第1のステップS1中に、システムは、セキュリティデータを第1のメモリから第2のメモリへコピーできる。この操作は、第1のメモリのチャージポンプがチャージされた後でセキュリティデータを利用できるように保つために、セキュリティデータが第2のメモリにまだ記憶されていないときに必要であり、これは次のステップで行われる。実際に、チャージポンプをチャージすることは、第1のメモリプログラミングが行われ、ポンプが放電され、行が閉じられるまで第1のメモリのすべての読み出し操作を行うことを不可能にする。セキュリティデータを第2のメモリへコピーすることは、データがセキュリティ関連プロセスの操作を実行するための入力として必要なときに、プロセッサがセキュリティデータを読み出すことが利用できることを保証する。この第1のステップは、セキュリティ関連プロセスの実行がトリガされると直ぐに必要な場合には行われる。
【0030】
第2のステップS2では、システムは、第1のメモリの第1のメモリ行を開く。このステップの終わりに、システムは、プログラミング要求がまだ発行されていないにも拘らず第1のメモリ行のメモリ領域をプログラムする準備が整っている。
【0031】
第3のステップS3では、システムは、第1のメモリチャージポンプをチャージする。このステップは、第2のステップS2の前または後のどちらで行われてもよい。
【0032】
第4のステップS4では、システムは、第2のメモリからのセキュリティデータに基づいて、セキュリティ関連プロセスの第1の操作を行う。このステップ中に、第1の操作に対する入力データとして必要なセキュリティデータは、チャージポンプがチャージされた状態であるという理由で第1のメモリにはアクセスされ得ない。これゆえ、システムのプロセッサは、上に説明した第1のステップ中に必要に応じてコピーされている第2のメモリのセキュリティデータを読み出す。第1の操作の終わりに、第1のメモリのプログラミングが、第1の操作それ自体によって、または異常な挙動が第1の操作の実行中に検出されたという理由、および例えば、第1のメモリ内のカウンタもしくはログの更新が必要であるという理由で、要求されることがある。
【0033】
第5のステップS5では、前記開かれた第1のメモリ行内の前記メモリ領域のプログラミング操作が前記チャージされたチャージポンプを使用して行われる。
【0034】
第5のステップS5は、NVMのプログラミング操作が要求されていないときに、例えば、このようなプログラミングがアタックの検出によりトリガされるであろうがアタックが検出されていなかったときにはスキップされてもよい。
【0035】
第6のステップS6では、第1の行は閉じられてもよい。
【0036】
これらのステップからもたらされるシステムの電流消費量が、図4に示される。図1とは対照的に、消費量スパイクは、第1の操作の実行の開始から第1の行を閉じるまで現れない。実際に、本発明による方法では、第1の操作が第4のステップS4で行われるときに、第3のステップS3では、チャージポンプは既にチャージされている。
【0037】
加えて、第1の操作により発行されるまたはアタックが第1の操作の実行中のある点で検出されたという理由で発行される第1のメモリをプログラムする要求の発行と第1の行を閉じることとの間の時間は、はるかに短い。図1では、上記時間は、T1+T2+T3+T4=12+6.6+18+7.7μsに少なくとも等しかった。図4では、ポンプをチャージすることおよび行を開くことが事前に行われているので、上記時間は、T3+T4=18+7.7μsに近い。
【0038】
電流消費量のスパイクは、第1の操作の実行の前に、チャージポンプがチャージされるときにはまだ見られることがある。このようなスパイクを減少させるまたは回避するために、チャージポンプは、予め定められた低い頻度でチャージされることがある、例えば、通常よりも最大で8倍少ない。
【0039】
第2の態様によれば、本発明は、これゆえ、少なくとも1つのコンピュータのメモリへと直接ロード可能なコンピュータプログラム製品にも関し、前記製品がコンピュータ上で実行されるときに第1の態様による方法のステップを行うためのソフトウェアコード命令を含む。
【0040】
第3の態様によれば、本発明は、これゆえ、上に説明したシステム100により実行されたときに第1の態様による方法を行う実行可能なコンピュータコードを記憶する非一時的なコンピュータ可読媒体にも関する。
【0041】
第4の態様によれば、本発明は、これゆえ、第1の態様による方法を行うように構成された、プロセッサ101、第1のメモリ103、第1のメモリチャージポンプ108および第2のメモリ104を備える、上に記載したシステム100にも関する。
図1
図2
図3
図4