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

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

▶ アルタイル セミコンダクター リミテッドの特許一覧

<>
  • 特開-効率的なデータアイテム認証 図1
  • 特開-効率的なデータアイテム認証 図2
  • 特開-効率的なデータアイテム認証 図3A
  • 特開-効率的なデータアイテム認証 図3B
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2022124424
(43)【公開日】2022-08-25
(54)【発明の名称】効率的なデータアイテム認証
(51)【国際特許分類】
   H04L 9/32 20060101AFI20220818BHJP
   G06F 21/64 20130101ALI20220818BHJP
   G09C 1/00 20060101ALI20220818BHJP
【FI】
H04L9/00 675A
G06F21/64
H04L9/00 675B
G09C1/00 640D
【審査請求】未請求
【請求項の数】23
【出願形態】OL
【外国語出願】
(21)【出願番号】P 2021045303
(22)【出願日】2021-03-18
(31)【優先権主張番号】17/175,718
(32)【優先日】2021-02-15
(33)【優先権主張国・地域又は機関】US
(71)【出願人】
【識別番号】509174196
【氏名又は名称】ソニー セミコンダクタ イスラエル リミテッド
(74)【代理人】
【識別番号】100086461
【弁理士】
【氏名又は名称】齋藤 和則
(72)【発明者】
【氏名】ボア、シャハール
(72)【発明者】
【氏名】イユーダ ベン-サイモン
(72)【発明者】
【氏名】アヴィシャイ シャラガ
(57)【要約】      (修正有)
【課題】ハッカーなどの許可されていないエンティティによるデータアイテムの変更、非正規のデータアイテムの挿入又はデータアイテムの削除及び否認防止攻撃に対して保護するコンピューティングデバイスを提供する。
【解決手段】装置10は、記憶要素とそして処理要素とを有する。処理要素は、非対称デジタル署名で署名されたデータアイテムを認証するために、非対称デジタル署名を検証し、非対称デジタル署名の検証が成功した場合、データアイテムの対称を生成し、対称MACを記憶要素に格納し、データアイテムを認証するために対称MACを取得して検証する。
【選択図】図1
【特許請求の範囲】
【請求項1】
装置であって:
記憶要素と;そして処理要素と;を有し、
前記処理要素は:
非対称デジタル署名で署名されたデータアイテムを認証するために、非対称デジタル署名を検証し;
前記非対称デジタル署名の検証が成功した場合、前記データアイテムの対称を生成し、前記対称MACを記憶要素に格納し;そして
前記データアイテムを認証するために、前記対称MACを取得して検証する;
ように構成される、
ことを特徴とする装置。
【請求項2】
前記非対称デジタル署名は、秘密鍵を使用して計算され、前記処理要素は、前記秘密鍵に対応する公開鍵を使用して非対称デジタル署名を検証するように構成される、ことを特徴とする請求項1に記載の装置。
【請求項3】
安全な不揮発性メモリをさらに備え、前記処理要素は:
ランダムな秘密鍵を生成し;
前記秘密鍵を安全な不揮発性メモリに保管し;
前記秘密鍵と前記データアイテムに応答して前記対称MACを生成し;
前記安全な不揮発性メモリから前記秘密鍵を読み取り;そして
前記秘密鍵と前記データアイテムに応答して前記対称MACを検証する;
ように構成される、ことを特徴とする請求項1または請求項2に記載の装置。
【請求項4】
前記処理要素は、前記データアイテムを繰り返し認証するために前記対称MACを繰り返し検証するように構成される、ことを特徴とする請求項1~3のいずれか一項に記載の装置。
【請求項5】
前記処理要素は、それぞれの異なる前記対称MACを検証して、前記データアイテムを繰り返し認証するように構成される、ことを特徴とする請求項1または請求項2に記載の装置。
【請求項6】
前記処理要素は:
それぞれのランダムな秘密鍵を生成し;
前記それぞれのランダムな秘密鍵と前記データアイテムに応答して、それぞれの異なる前記対称MACを生成し;
前記それぞれのランダムな秘密鍵と前記データアイテムに応答して、それぞれの異なる対称MACを検証し;そして
前記それぞれの対称MACの検証に使用するために読み取られた後、それぞれの前記ランダムな秘密鍵のそれぞれを上書きする、
ように構成される、ことを特徴とする請求項5に記載の装置。
【請求項7】
前記処理要素は、それぞれの前記異なる対称MACのうちの後続の1つを検証する前に、それぞれの前記ランダムな秘密鍵のそれぞれを上書きするように構成される、ことを特徴とする請求項6に記載の装置。
【請求項8】
安全な不揮発性メモリをさらに備え、前記処理要素が、前記安全な非揮発性メモリ内で新たに生成されたランダムな秘密鍵の1つで前のランダムな秘密鍵の1つを上書きするように構成され、任意の一時点において前記ランダムな秘密鍵の1つだけが前記安全な非揮発性メモリ内に保管される、ことを特徴とする請求項7に記載の装置。
【請求項9】
前記処理要素は第2のメモリを含み;
前記処理要素は、前記安全な不揮発性メモリから前の前記ランダムな秘密鍵を読み取り、前記読み取った前のランダムな秘密鍵を前記第2のメモリに書き込んでから、前記安全な不揮発性メモリ内の前の前記ランダムな秘密鍵を新しく生成された前記ランダムな秘密鍵で上書きするように構成され;
前記処理要素は、現在前記第2のメモリにある前の前記ランダムな秘密鍵に応答して、前記記憶要素に格納されている前記対称MACのそれぞれの1つを検証するように構成され;そして
前記処理要素は、前記データアイテムと新しく生成された前記ランダムな秘密鍵に応答して新しい1つの前記対称MACを生成し;そして前記新しい対称MACを前記記憶要素に保管するように構成される、
ことを特徴とする請求項8に記載の装置。
【請求項10】
前記データアイテムはブートイメージである、ことを特徴とする請求項1~9のいずれか一項に記載の装置。
【請求項11】
前記データアイテムは、認証局の秘密鍵で署名されたデジタル証明書である、ことを特徴とする請求項1~9のいずれか一項に記載の装置。
【請求項12】
認証方法であって:
非対称デジタル署名で署名されたデータアイテムを認証するために、前記非対称デジタル署名を検証するステップと;
前記非対称デジタル署名の検証に成功した場合に、前記データアイテムの対称MACを生成し、そして前記対称デジタルを保管するステップと;そして
前記データアイテムを認証するために前記対称MACを取得して検証するステップと;
を有する、ことを特徴とする認証方法。
【請求項13】
前記非対称デジタル署名が秘密鍵を使用して計算され、前記非対称デジタル署名を検証するステップは、前記秘密鍵に対応する公開鍵を使用して前記非対称デジタル署名を検証するステップを有する、ことを特徴とする請求項12に記載の方法。
【請求項14】
ランダムな秘密鍵を生成するステップと;
前記秘密鍵を保管するステップと;
前記秘密鍵と前記データアイテムに応答して対称MACを生成するステップと;そして
前記秘密鍵を取得するステップと;
を更に有し、
前記対称MACを検証するステップは、前記秘密鍵と前記データアイテムに応答して前記対称MACを検証するステップを有する、
ことを特徴とする請求項12または請求項13に記載の方法。
【請求項15】
前記データアイテムを繰り返し認証するために前記対称MACを繰り返し検証するステップをさらに有する、ことを特徴とする請求項12~14のいずれか一項に記載の方法。
【請求項16】
前記データアイテムのそれぞれ異なる前記対称MACを生成するステップと;そして
前記データアイテムを繰り返し認証するため、それぞれの前記異なる対称MACを検証するステップと;
を有する、ことを特徴とする請求項12または請求項13に記載の方法。
【請求項17】
それぞれのランダムな秘密鍵を生成するステップと;
前記それぞれのランダムな秘密鍵および前記データアイテムに応答してそれぞれの異なる前記対称MACを生成するステップであって、それぞれの異なる前記対称MACを検証するステップは、それぞれの前記ランダムな秘密鍵および前記データアイテムに応答してそれぞれの異なる前記対称MACを検証するステップを有する、ステップと;そして
それぞれの前記対称MACの検証に使用するために読み取られた後、それぞれの前記ランダムな秘密鍵のそれぞれを上書きするステップと;
を有する、ことを特徴とする請求項16に記載の方法。
【請求項18】
前記上書きするステップは、それぞれの異なる前記対称MACの後続の1つを検証する前に、それぞれの前記ランダムな秘密鍵のそれぞれを上書きするステップを有する、ことを特徴とする請求項17に記載の方法。
【請求項19】
前記安全な不揮発性メモリ内の新たに生成された前記ランダムな秘密鍵のうちの1つで前の前記ランダムな秘密鍵を上書きするステップをさらに有し、任意の一時点において前記ランダムな秘密鍵の1つだけが前記安全な非揮発性メモリ内に保管される、ことを特徴とする請求項18に記載の方法。
【請求項20】
前記安全な不揮発性メモリから前の前記ランダムな秘密鍵を読み取り、読み取った前記前のランダムな秘密鍵を第2のメモリに書き込んでから、新しく生成されたランダムな秘密鍵で前記安全な不揮発性メモリ内の前記前のランダムな秘密鍵を上書きするステップと;
現在前記第2のメモリにある前記前のランダムな秘密鍵に応答して前記対称MACのそれぞれの1つを検証するステップと;
前記データアイテムと前記新しく生成されたランダムな秘密鍵に応答して、前記対称MACの新しい1つを生成するステップと;そして
前記新しい対称MACを格納するステップと;
を更に有する、ことを特徴とする請求項19に記載の方法。
【請求項21】
前記データアイテムがブートイメージである、ことを特徴とする請求項12~20のいずれか一項に記載の方法。
【請求項22】
前記データアイテムは、認証局の秘密鍵で署名されたデジタル証明書である、ことを特徴とする請求項12~20のいずれか一項に記載の方法。
【請求項23】
プログラム命令が格納されている非一過性コンピュータ可読媒体を含むソフトウェア製品であって、前記命令は、中央処理装置(CPU)によって読み取られた時に、前記CPUに対し:
非対称デジタル署名で署名されたデータアイテムを保管するステップと;
前記データアイテムを認証するために、前記非対称デジタル署名を検証するステップと;
前記非対称デジタル署名の検証が成功した後、前記データアイテムの対称MACを生成し、そして前記対称MACを保管するステップと;そして
前記データアイテムを認証するために、前記対称MACを取得して検証するステップと;
を実行させる、ことを特徴とするソフトウェア製品。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、コンピューティングデバイス、特に、ただし排他的ではないが、データアイテム認証に関する。
【背景技術】
【0002】
データアイテム(ソフトウェア、証明書、電子メールなど)の信頼性は、デジタル署名を使用して保護できる。データアイテムは通常、非対称署名を使用して保護される。これにより、データアイテムは、作成者のみが使用できる作成キー(たとえば、発信者の秘密鍵)を使用して、データアイテムの発信者によって非対称署名で署名される。データアイテム(たとえば、証明書、ソフトウェアコード、または任意のバイナリまたはその他のデータオブジェクト)の受信者は、受信者(および通常は他の人)に既知の検証キー(たとえば、発信者の公開鍵)を使用して非対称署名を検証することにより、データアイテムの信頼性を確認できる。秘密鍵が保護されていると仮定すると、そのようなデジタル署名は安全であり、一般に、ハッカーなどの許可されていないエンティティによるデータアイテムの変更、非正規のデータアイテムの挿入、またはデータアイテムの削除、および否認防止攻撃に対する保護を提供する。 -。
【発明の概要】
【0003】
本開示の一実施形態によれば、装置であって:記憶要素と;そして処理要素と;を有し、処理要素は:非対称デジタル署名で署名されたデータアイテムを認証するために、非対称デジタル署名を検証し;非対称デジタル署名の検証が成功した場合、データアイテムの対称を生成し、対称MACを記憶要素に格納し;そしてデータアイテムを認証するために、対称MACを取得して検証する;ように構成される、ことを特徴とする装置が提供される。
【0004】
更に本開示の一実施形態によれば、非対称デジタル署名は、秘密鍵を使用して計算され、処理要素は、秘密鍵に対応する公開鍵を使用して非対称デジタル署名を検証するように構成される。
【0005】
また更に本開示の一実施形態によれば、安全な不揮発性メモリをさらに備え、処理要素は:ランダムな秘密鍵を生成し;秘密鍵を安全な不揮発性メモリに保管し;秘密鍵とデータアイテムに応答して対称MACを生成し;安全な不揮発性メモリから秘密鍵を読み取り;そして秘密鍵とデータアイテムに応答して対称MACを検証する;ように構成される。
【0006】
追加的に、本開示の一実施形態によれば、処理要素は、データアイテムを繰り返し認証するために対称MACを繰り返し検証するように構成される。
【0007】
また、本開示の一実施形態によれば、処理要素は、それぞれの異なる対称MACを検証して、データアイテムを繰り返し認証するように構成される。
【0008】
更に、本開示の一実施形態によれば、処理要素は:それぞれのランダムな秘密鍵を生成し;それぞれのランダムな秘密鍵とデータアイテムに応答して、それぞれの異なる対称MACを生成し;それぞれのランダムな秘密鍵とデータアイテムに応答して、それぞれの異なる対称MACを検証し;そしてそれぞれの対称MACの検証に使用するために読み取られた後、それぞれのランダムな秘密鍵のそれぞれを上書きする、ように構成される。
【0009】
また更に、本開示の一実施形態によれば、処理要素は、それぞれの異なる対称MACのうちの後続の1つを検証する前に、それぞれのランダムな秘密鍵のそれぞれを上書きするように構成される。
【0010】
追加的に、本開示の一実施形態によれば、安全な不揮発性メモリをさらに備え、処理要素が、安全な非揮発性メモリ内で新たに生成されたランダムな秘密鍵の1つで前のランダムな秘密鍵の1つを上書きするように構成され、任意の一時点においてランダムな秘密鍵の1つだけが安全な非揮発性メモリ内に保管される。
【0011】
また、本開示の一実施形態によれば、処理要素は第2のメモリを含み;処理要素は、安全な不揮発性メモリから前のランダムな秘密鍵を読み取り、読み取った前のランダムな秘密鍵を第2のメモリに書き込んでから、安全な不揮発性メモリ内の前のランダムな秘密鍵を新しく生成されたランダムな秘密鍵で上書きするように構成され;処理要素は、現在第2のメモリにある前のランダムな秘密鍵に応答して、記憶要素に格納されている対称MACのそれぞれの1つを検証するように構成され;そして処理要素は、データアイテムと新しく生成されたランダムな秘密鍵に応答して新しい1つの対称MACを生成し;そして新しい対称MACを記憶要素に保管するように構成される。
【0012】
更に、本開示の一実施形態によれば、データアイテムはブートイメージである。
【0013】
また更に、本開示の一実施形態によれば、データアイテムは、認証局の秘密鍵で署名されたデジタル証明書である。
【0014】
本開示の別の一実施形態によれば、認証方法であって:非対称デジタル署名で署名されたデータアイテムを認証するために、非対称デジタル署名を検証するステップと;非対称デジタル署名の検証に成功した場合に、データアイテムの対称MACを生成し、そして対称デジタルを保管するステップと;そしてデータアイテムを認証するために対称MACを取得して検証するステップと;を有する認証方法がまた提供される。
【0015】
追加的に、本開示の一実施形態によれば、非対称デジタル署名が秘密鍵を使用して計算され、非対称デジタル署名を検証するステップは、秘密鍵に対応する公開鍵を使用して非対称デジタル署名を検証するステップを有する。
【0016】
また、本開示の一実施形態によれば、方法は:ランダムな秘密鍵を生成するステップと;秘密鍵を保管するステップと;秘密鍵とデータアイテムに応答して対称MACを生成するステップと;そして秘密鍵を取得するステップと;を更に有し、対称MACを検証するステップは、秘密鍵とデータアイテムに応答して対称MACを検証するステップを有する。
【0017】
更に、本開示の一実施形態によれば、方法は、データアイテムを繰り返し認証するために対称MACを繰り返し検証するステップをさらに有する。
【0018】
また更に、本開示の一実施形態によれば、方法は:データアイテムのそれぞれ異なる対称MACを生成するステップと;そしてデータアイテムを繰り返し認証するため、それぞれの異なる対称MACを検証するステップと;を有する。
【0019】
追加的に、本開示の一実施形態によれば、方法は:それぞれのランダムな秘密鍵を生成するステップと;それぞれのランダムな秘密鍵およびデータアイテムに応答してそれぞれの異なる対称MACを生成するステップであって、それぞれの異なる対称MACを検証するステップは、それぞれのランダムな秘密鍵およびデータアイテムに応答してそれぞれの異なる対称MACを検証するステップを有する、ステップと;そしてそれぞれの対称MACの検証に使用するために読み取られた後、それぞれのランダムな秘密鍵のそれぞれを上書きするステップと;を有する。
【0020】
また、本開示の一実施形態によれば、上書きするステップは、それぞれの異なる対称MACの後続の1つを検証する前に、それぞれのランダムな秘密鍵のそれぞれを上書きするステップを有する。
【0021】
更に、本開示の一実施形態によれば、方法は、安全な不揮発性メモリ内の新たに生成されたランダムな秘密鍵のうちの1つで前のランダムな秘密鍵を上書きするステップをさらに有し、任意の一時点においてランダムな秘密鍵の1つだけが安全な非揮発性メモリ内に保管される。
【0022】
また更に、本開示の一実施形態によれば、方法は:安全な不揮発性メモリから前のランダムな秘密鍵を読み取り、読み取った前のランダムな秘密鍵を第2のメモリに書き込んでから、新しく生成されたランダムな秘密鍵で安全な不揮発性メモリ内の前のランダムな秘密鍵を上書きするステップと;現在第2のメモリにある前のランダムな秘密鍵に応答して対称MACのそれぞれの1つを検証するステップと;データアイテムと新しく生成されたランダムな秘密鍵に応答して、対称MACの新しい1つを生成するステップと;そして新しい対称MACを格納するステップと;を更に有する。
【0023】
追加的に、本開示の一実施形態によれば、データアイテムがブートイメージである。
【0024】
また、本開示の一実施形態によれば、データアイテムは、認証局の秘密鍵で署名されたデジタル証明書である。
【0025】
本開示のさらに別の一実施形態によれば、プログラム命令が格納されている非一過性コンピュータ可読媒体を含むソフトウェア製品であって、命令は、中央処理装置(CPU)によって読み取られた時に、CPUに対し:非対称デジタル署名で署名されたデータアイテムを保管するステップと;データアイテムを認証するために、非対称デジタル署名を検証するステップと;非対称デジタル署名の検証が成功した後、データアイテムの対称MACを生成し、そして対称MACを保管するステップと;そして
データアイテムを認証するために、対称MACを取得して検証するステップと;を実行させる、ことを特徴とするソフトウェア製品、がまた提供される。
【図面の簡単な説明】
【0026】
本発明は、以下の図面と併せて、以下の詳細な説明から理解されるであろう:
図1】本発明の一実施形態に従って構築され動作する装置のブロック図である。
図2図1の装置における署名検証の方法におけるステップを含むフローチャートである。
図3A図1の装置における署名検証の1つの代替方法におけるステップを含むフローチャートである。
図3B図1の装置における署名検証の1つの代替方法におけるステップを含むフローチャートである。
【発明を実施するための形態】
【0027】
(概要)
前述のように、非対称署名は、署名されたデータアイテムが本物であるという高レベルの保証を提供する。ただし、非対称署名を使用することの1つの欠点は、検証プロセスがリソースを大量に消費することである。これは、データアイテムが制約のあるデバイス(センサ、アクチュエータなどのIoT(Internet of Things)デバイス、およびインターネットに接続されたその他のデバイス、またはモバイルデバイス)で認証される場合に特に問題になる。デバイスは、任意の1つまたは複数の方法で、例えば、計算能力の制約、メモリの制約、電力の制約(例えば、蓄電池による電力)で制約され得る。
【0028】
1つの解決策は、非対称署名の代わりに対称メッセージ認証コード(MAC)を使用することである。この場合、データアイテムの発信者は、1つのキーに応答して、アルゴリズム(ハッシュアルゴリズムなど)に従ってデータアイテムを処理することを含め、データアイテムの対称MACを生成する。そのキーは、データアイテムの受信者とも共有される。データアイテムは、受信したキーを使用して対称MACを検証することによって認証される。対称MACの検証は、一般に非対称署名の検証よりもリソースを消費しないが、対称MACは、(たとえば、キーが発信者から受信者に転送され時にキーをインターセプトするか、またはキーのホルダからキーを抽出することによって)キーを取得できる人による否認防止攻撃(およびクラス攻撃)に対して脆弱である。MAC関数は通常、署名者(データアイテムの発信者など)とすべての認証者(データアイテムが使用されるすべてのチップなど)の間にクラス共有対称鍵を必要とします。キーは通常、データアイテムの存続期間中有効である。クラス共有対称鍵は、対称鍵を開示させることのできる攻撃に対して非常に脆弱である。キーがわかると、すべてのデバイスがハッキングされる。これは非常に重大なセキュリティ問題である。対称鍵が1つのチップから抽出されると、このチップが鍵抽出プロセス中に破壊されたとしても、すべてのチップが同じ対称鍵を使用するため、すべてのチップがハッキングされる。したがって、対称MACは通常、1対多のシナリオでの認証には使用されない。さらに、対称MACは通常、規制機関によって承認された署名方法ではない。
【0029】
本発明の実施形態は、非対称署名認証を対称MAC検証と組み合わせることによって上記の問題を解決する。対称鍵は通常、認証デバイスごとに一意であるため、対称鍵が盗まれた場合でも、他の認証デバイスをハッキングするために使用することはできない。いくつかの実施形態では、対称鍵は頻繁に変更され、それによってセキュリティがさらに向上する。
【0030】
データアイテムの受信者は、最初に、データアイテムの発信者によって提供された非対称デジタル署名を使用して(たとえば、発信者の公開鍵を使用して)データアイテムの認証をチェックし、それによってデータアイテムが発信者からのものであると認証する。非対称署名が検証されると、受信者は、受信者によって生成された秘密鍵を使用して対称MACを生成する。その秘密鍵とその対称MACは受信者によって保存される。次にデータアイテムを受信者が認証する必要があるとき、対称MACは、データアイテムと秘密鍵に応答して受信者によって検証される。秘密鍵は受信者によって生成および保存されるため、データアイテムは否認防止攻撃から保護される。いくつかの実施形態では、データアイテムは、対称MACおよび生成された秘密鍵を使用して繰り返し認証され得る。秘密鍵は通常、鍵の盗難を防ぐために安全な不揮発性メモリ(NVM)に保存される。したがって、非対称デジタル署名を引き続き使用する代わりに、最初に非対称デジタル署名を認証し、その後ローカルで生成された対称MACを検証するという組み合わせにより、リソースをあまり消費しない検証を可能にしながら非対称デジタル署名によって提供されるセキュリティプロパティのほとんどが維持される。
【0031】
いくつかの実施形態では、データアイテムの対称MACが正常に検証されるたびに、新しく生成された秘密鍵から新しい対称MACが生成され、次回そのデータアイテムの認証が必要な時には、新しい対称MACが新しく生成された秘密鍵とともに使用される。このようにして、検証プロセスは、単一の秘密鍵を盗もうとするサイドチャネル分析攻撃から保護されるため、鍵が盗まれた場合でも、結果として生じる損害は限定される。
【0032】
いくつかの実施形態では、検証プロセスで使用されようとする秘密鍵は、安全なNVMから第2のメモリ、例えばプロセッサレジスタの中に読み取られ、そして新しく生成された秘密鍵は、その安全なNVMに現在保管されている秘密鍵を上書きして、その安全なNVMに書き込まれる。次に、現在第2のメモリ(例えば、プロセッサレジスタ)にある秘密鍵は、現在の対称MACを検証するためにプロセッサによって使用され得る。このようにして、サイドチャネル分析攻撃への秘密鍵の露出がさらに減少する。
【0033】
上記の認証プロセスは、同じデバイスにより繰り返し認証される必要があるデータアイテムに特に役立つ。認証されるデータアイテムには、ソフトウェア、ブートプロセス、デジタル証明書(TLS証明書など)のような任意の適切なデータアイテムが含まれうる。
【0034】
(システムの説明)
ここで、本発明の実施形態に従って構築され動作する装置10のブロック図である図1を参照する。装置10は、制約のあるデバイス(例えば、センサ、アクチュエータなどのIoTデバイス、および/またはインターネットに接続されたデバイス、および/またはモバイルデバイス)であり得る。装置10は、任意の1つまたは複数の方法で制約され得、例えば、計算能力の制約、メモリの制約、電力の制約(例えば、バッテリー電力)。装置10は、処理要素12、記憶要素14(例えば、フラッシュメモリ)、安全な不揮発性メモリ(NVM)16、およびワンタイムプログラマブルメモリ18を含む。安全な不揮発性メモリ16は、それをセキュリティ違反から保護することによって保護され得る。例えば、安全な不揮発性メモリ16は、侵入された場合に安全な不揮発性メモリ16を動作不能にする改ざん防止ケーシングで覆われ得る。いくつかの実施形態では、記憶ユニット14、安全な不揮発性メモリ16、およびワンタイムプログラマブルメモリ18は、任意の適切なメモリユニットまたはメモリユニットの組み合わせで置き換えることができる。処理要素12は、本明細書に記載の処理タスクを実行するためのプロセッサ20、プロセッサ20によって使用されるメモリ(例えば、レジスタ22)、および乱数発生器(RNG)24を含み得る。乱数発生器24は、例として、真の乱数発生器または疑似乱数発生器を含み得る。いくつかの実施形態では、処理要素12、安全な不揮発性メモリ16、およびワンタイムプログラマブルメモリ18は、集積回路(IC)チップ26上に配置され、一方、記憶ユニット14は、集積回路チップ26の外部に配置され、そして、適切なインターフェースを介して集積回路チップ26に接続されている。他の実施形態では、装置10の要素は、異なる配置で配置され得る。
【0035】
記憶要素14は、非対称デジタル署名30で署名されたデータアイテム28を選択肢として記憶するように構成される。いくつかの実施形態では、データアイテム28および/または非対称デジタル署名30は、記憶要素14に保管されないが、遠隔で保管されそして処理のために取得される。非対称デジタル署名30は、データアイテム28の発信者によって発信者の秘密鍵を使用して計算される。データアイテム28は、ブートイメージ、または認証局の秘密鍵で署名されたデジタル証明書などの任意の適切なデータアイテムであり得る。
【0036】
実際には、処理要素12の機能のいくつかまたはすべては、単一の物理的構成要素に組み合わされ得るか、あるいは、複数の物理的構成要素を使用して実装され得る。これらの物理的要素は、ハードワイヤードまたはプログラマブルデバイス、あるいはその2つの組み合わせで構成される。いくつかの実施形態では、処理要素12の機能の少なくともいくつかは、適切なソフトウェアの制御下でプログラム可能なプロセッサによって実行され得る。このソフトウェアは、たとえばネットワークを介して、電子形式でデバイスにダウンロードできる。あるいは、またはさらに、ソフトウェアは、光学的、磁気的、または電子的メモリなどの有形の非一過性コンピュータ可読記憶媒体に記憶され得る。
【0037】
図1に示されている他の項目は、図2および図3A-3Bを参照して説明される。
【0038】
ここで、図2を参照する。これは、図1の装置10における署名検証の方法のステップを含むフローチャート200である。図1も参照する。
【0039】
処理要素12は、発信者(図示せず)からデータアイテム28および非対称デジタル署名30を受信し、選択肢として、データアイテム28および非対称デジタル署名30を記憶要素14に格納(ブロック202)するように構成される。
【0040】
処理要素12は、データアイテム28を認証するために非対称デジタル署名30を検証するように構成される(ブロック204)。いくつかの実施形態では、処理要素12は、発信者がデータアイテム28に署名するために使用する秘密鍵に対応する公開鍵32を使用して非対称デジタル署名30を検証するように構成される。公開鍵32は、ワンタイムプログラマブルメモリ18に格納され、必要に応じて処理要素12によって読み取られ得る。
【0041】
判定ブロック206で、非対称デジタル署名30の検証が失敗した場合(ブランチ208)、プロセスは終了する(ブロック210)か、または選択肢として、ブロック204のステップを1回以上再実行することができる(ブランチ209)。非対称デジタル署名30の検証が成功する(分岐212)と、処理要素12は、データアイテム28を使用し(ブロック210)(例えば、データアイテム28を実行する、またはデジタル証明書からのデータなどのデータアイテム28からのデータを使用する);ランダムな秘密鍵36を生成し(ブロック216);データアイテム28の対称MAC34を生成し(ブロック218);その対称MAC34を記憶要素14に記憶し(ブロック220);そして、ランダムな秘密鍵36を安全な不揮発性メモリ16に格納する(ブロック222)ように構成される。
【0042】
ブロック214のステップは、ブロック216のステップの後に、例えば、ブロック222のステップの後に実行することができる。本明細書に記載のステップは、任意の適切な順序で実行することができる。
【0043】
いくつかの実施形態では、乱数発生器24は、ランダムな秘密鍵36を生成し、そして例えば、乱数発生器24とランダムな秘密鍵との間の直接接続を介して、ランダムな秘密鍵36をランダムな秘密鍵36に格納するように構成される。他の実施形態では、プロセッサ20は、乱数発生器24によって生成された乱数シードに基づいて、またはクロック時間などの他のデータから、ランダムな秘密鍵36を生成するように構成される。
【0044】
プロセッサ20は、ランダムな秘密鍵36およびデータアイテム28に応答して対称MAC34を生成するように構成される。いくつかの実施形態では、対称MAC34は、データアイテム28を入力として、ランダムな秘密鍵36をHMAC鍵としてプロセッサ20によって計算される、HMAC(例えば、キー付きハッシュメッセージ認証コードまたはハッシュベースのメッセージ認証コード)である。いくつかの実施形態では、対称MAC34は、適切な(暗号化)ハッシュアルゴリズム(例えば、SHA-3またはBLAKE3)を使用して(選択肢としてランダムな秘密鍵36などの適切な鍵を使用して)、データアイテム28をハッシュし、そしてランダムな秘密鍵36を暗号化鍵として使用し、AESやトリプルDESなどの対称暗号化アルゴリズムを使用して、出力されたハッシュ値を暗号化することによって計算され得る。
【0045】
要求に応じて(例えば、ユーザアクション(例えば、装置10の電源投入)またはシステムアクション(例えば、ソフトウェアの実行を試みる)に応答して、処理要素12は、記憶要素14から対称MAC34およびデータアイテム28を取得し(ブロック224)、そして安全な不揮発性メモリ16からランダムな秘密鍵36を読み取り(ブロック226)、そしてデータアイテム28を認証するために、データアイテム28およびランダムな秘密鍵36に応答して対称MAC34を検証(ブロック228)する。
【0046】
いくつかの実施形態では、処理要素12は、そのデータアイテム28の1つのHMACを入力として、そしてランダムな秘密鍵36をHMAC鍵として計算し、次に計算されたHMACを対称MAC34と比較して対称MAC34を検証するように構成される。
【0047】
いくつかの実施形態では、処理要素12は、適切な(暗号化)ハッシュアルゴリズム(例えば、SHA-3またはBLAKE3)を使用して(選択肢としてランダムな秘密鍵36などの適切な鍵を使用して)、選択肢としてデータアイテム28をハッシュするように構成される。暗号化キーとしてランダムな秘密鍵36を使用し、AESやトリプルDESなどの対称暗号化アルゴリズムを使用して、出力されたハッシュ値を暗号化する。次に、処理要素12は、ハッシュまたは暗号化されたハッシュを対称MAC34と比較して、対称MAC34を検証するように構成される。
【0048】
判定ブロック230で、対称MAC34の検証が失敗した場合(ブランチ232)、プロセスはブロック204のステップに進み、データアイテム28を認証するために非対称デジタル署名30が検証される(たとえば、公開鍵32を使用)。対称MAC34の検証が成功した場合(分岐234)、処理要素12は、データアイテム28を利用する(ブロック236)(例えば、データアイテム28を実行するか、またはデジタル証明書からのデータなどのデータアイテム28からのデータを使用する)ように構成される。データアイテム28を再度認証する要求に応じて、処理はブロック224のステップで続行される。このようにして、処理要素12は、異なる検証ラウンドでデータアイテム28を繰り返し認証するため、対称MAC34を繰り返し検証するように構成される。
【0049】
ここで、図3A~3Bを参照する。それらは一緒に、図1の装置10における署名検証の代替の方法のステップを含むフローチャート300を示す。図1も参照される。図3A~Bを参照して記載される方法は、図2を参照して記載される方法と実質的に同じであるが、図3A~Bを参照して記載される方法では、サイドチャネル分析攻撃から保護するために、秘密鍵36、したがって結果として得られる対称MAC34は、検証ラウンドごとに異なる、という点で図2を参照して記載される方法と異なる。したがって、いくつかの実施形態では、処理要素12は:データアイテム28のそれぞれの異なる対称MAC34を(異なる検証ラウンドで)生成し;そして、それぞれの異なる対称MAC34を検証して、データアイテム28を繰り返し認証する(それぞれの異なる検証ラウンドにおいて)ように構成される。いくつかの実施形態では、処理要素12は:(異なる検証ラウンドにおいて)それぞれのランダムな秘密鍵36を生成し;それぞれのランダムな秘密鍵36およびデータアイテム28に応答して、(異なる検証ラウンドにおいて)それぞれの異なる対称MAC34を生成し;それぞれのランダムな秘密鍵36およびデータアイテム28に応答して、(異なる検証ラウンドにおいて)それぞれの異なる対称MAC34を検証し;そして選択肢として、それぞれの対称MAC34のそれぞれを検証するために読み取られた後、それぞれのランダムな秘密鍵36(安全な不揮発性メモリ16内)を上書きする;ように構成される。いくつかの実施形態では、処理要素12は、以下で詳述するように、後続の対称MAC34の検証の前にそれぞれのランダムな秘密鍵36をそれぞれ上書きする。
【0050】
したがって、図3Aに示される参照番号302から322でラベル付けされたステップ、判定、および分岐は、図2の参照番号202から222でラベル付けされたステップ、判定、および分岐に概ね対応する。しかしブロック322のステップの後、フローチャート300は、以下により詳細に説明されるように、図3Bに示されるブロック338(ランダムな秘密鍵36が各検証ラウンドで変更される)に続く。ブロック314のステップは、ブロック316のステップの後に、例えば、ブロック322のステップの後に実行され得る。本明細書に記載のステップは、任意の適切な順序で実行され得る。
【0051】
要求に応じて(例えば、ユーザアクション(例えば、装置10の電源投入)またはシステムアクション(例えば、ソフトウェアの実行の試み)に応答して、ブロック338のステップで、処理要素12は、新しいランダムな秘密鍵36を生成するように構成される。処理要素12は、前のランダムな秘密鍵36(すなわち、新しいランダムな秘密鍵36の生成の前に最後に生成されたランダムな秘密鍵36)を安全な不揮発性メモリ16から読み取り(ブロック340)、そして読み取った前のランダムな秘密鍵36をレジスタ22(または任意の適切なメモリ)に書き込む、ように構成される。次に、いくつかの実施形態では、処理要素12は、新しく生成されたランダムな秘密鍵36を格納し(ブロック342)、安全な不揮発性メモリ16内の以前のランダムな秘密鍵36を、新しく生成されたランダムな秘密鍵36で上書きする、ように構成される。したがって、いくつかの実施形態では、任意の一時点で、安全な不揮発性メモリ16内には1つのランダムな秘密鍵36のみが格納される。
【0052】
処理要素12は、現在レジスタ22にある前のランダムな秘密鍵36に応答して、記憶要素14に格納された対称MAC34を検証する(ブロック344)ように構成される。
【0053】
いくつかの実施形態では、処理要素12は、入力としてデータアイテム28のHMACを計算し、HMACキーとしてランダムな秘密鍵36(現在はレジスタ22にある)を使用し、次に計算されたHMACを(記憶要素14に格納されている)対称MAC34と比較して、対称MAC34を検証する、ように構成される。
【0054】
いくつかの実施形態では、処理要素12は、適切な(暗号化)ハッシュアルゴリズム(例えば、SHA-3またはBLAKE3)を使用して、(選択肢として、ランダムな秘密鍵36(現在、レジスタ22内にある)などの適切な鍵を使用して)、データアイテム28をハッシュし、そして選択肢として、AESやトリプルDESなどの対称暗号化アルゴリズムを使用して、出力されたハッシュ値を、暗号化キーとしてのランダムな秘密鍵36(現在はレジスタ22にある)で暗号化する、ように構成される。次に、処理要素12は、ハッシュまたは暗号化されたハッシュを対称MAC34(記憶要素14に格納されている)と比較して、対称MAC34を検証するように構成される。
【0055】
判定ブロック346において、対称MAC34の検証が失敗した場合(ブランチ348)、プロセスはブロック304(図3A)のステップに続き、データアイテム28を認証するために非対称デジタル署名30が検証される(例えば、公開鍵32を使用して)。対称MAC34の検証が成功した場合(ブランチ350)、処理要素12は:データアイテム28を使用し(例えば、データアイテム28を実行する、またはデジタル証明書からのデータなどのデータアイテム28からのデータを使用する);データアイテム28および新しく生成されたランダムな秘密鍵36(安全な不揮発性メモリ16に格納されている)に応答して、新しい対称MAC34を生成し(ブロック354);そして新しい対称MAC34を記憶要素14の中に格納する(ブロック356)、ように構成される。ブロック352のステップは、ブロック354のステップの後に、例えば、ブロック356のステップの後に実行され得る。本明細書に記載のステップは、任意の適切な順序で実行され得る。処理は、別の時点で、データアイテム28を再度認証するための要求に応じて、ブロック338のステップに戻ることができる。このようにして、処理要素12は、異なる対称MAC34を繰り返し検証して、異なる検証ラウンドでデータアイテム28を繰り返し認証するように構成される。
【0056】
明確化のため、別個の実施形態の文脈で説明される本発明の様々な特徴もまた、単一の実施形態において組み合わせて提供され得る。逆に、簡潔にするために、単一の実施形態の文脈で説明される本発明の様々な特徴はまた、別個にまたは任意の適切なサブ組合せで提供され得る。
【0057】
上記の実施形態は、例として引用され、本発明は、上記で特に示され、記載されたものにより限定されない。むしろ、本発明の範囲は、上記の様々な特徴の組み合わせおよびサブ組合せの両方、ならびに前述の説明を読んだ当業者に想起される、先行技術に開示されていない、その変形および修正を含む。
図1
図2
図3A
図3B
【外国語明細書】