JP7178500B2 - アクセス制御装置、アクセス制御方法及びプログラム - Google Patents

アクセス制御装置、アクセス制御方法及びプログラム Download PDF

Info

Publication number
JP7178500B2
JP7178500B2 JP2021534050A JP2021534050A JP7178500B2 JP 7178500 B2 JP7178500 B2 JP 7178500B2 JP 2021534050 A JP2021534050 A JP 2021534050A JP 2021534050 A JP2021534050 A JP 2021534050A JP 7178500 B2 JP7178500 B2 JP 7178500B2
Authority
JP
Japan
Prior art keywords
data
icv
digest value
access control
control device
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.)
Active
Application number
JP2021534050A
Other languages
English (en)
Other versions
JPWO2021015204A1 (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.)
Sony Interactive Entertainment Inc
Original Assignee
Sony Interactive Entertainment 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 Sony Interactive Entertainment Inc filed Critical Sony Interactive Entertainment Inc
Publication of JPWO2021015204A1 publication Critical patent/JPWO2021015204A1/ja
Application granted granted Critical
Publication of JP7178500B2 publication Critical patent/JP7178500B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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/86Secure or tamper-resistant housings
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/64Protecting data integrity, e.g. using checksums, certificates or signatures
    • 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/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • 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
    • 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/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3236Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
    • H04L9/3242Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions involving keyed hash functions, e.g. message authentication codes [MACs], CBC-MAC or HMAC

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • General Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • Health & Medical Sciences (AREA)
  • Power Engineering (AREA)
  • Storage Device Security (AREA)

Description

本発明は、アクセス制御装置、アクセス制御方法及びプログラムに関する。
アクセスが要求されたブロックから計算されるダイジェスト値(インテグリティチェックバリュー(ICV))と、予め検証されたICVとを照合し、照合に成功した場合に当該ブロックへのアクセスを許可するインテグリティチェックの技術が知られている。プログラムの実行時には、インテグリティチェックによって、壊れていないこと、及び、改ざんされていないことが確認されたブロックに対するアクセスが実行される。
インテグリティチェックにおいては、検証されたICVを示すICVデータをメモリに常駐させる必要がある。そのため、メモリに配置されるICVデータのサイズが大きいと、プログラムの実行において利用可能なメモリのサイズが小さくなってしまう。
また、ブロックとICVデータとの対応関係が一意に定まるものであれば、その対応関係を見破ることができれば、ブロックを改ざんするとともに、改ざん後のブロックに整合するICVデータの生成が可能になってしまう。
本発明は上記実情に鑑みてなされたものであって、その目的の一つは、ICVデータのサイズを抑えつつ、ブロックの改ざんリスクを低減できるアクセス制御装置、アクセス制御方法及びプログラムを提供することにある。
上記課題を解決するために、本発明に係るアクセス制御装置は、アクセス要求の対象となるターゲットデータを記憶するアクセス制御装置であって、前記ターゲットデータを記憶するストレージと、前記アクセス制御装置に固有の個別鍵を生成する個別鍵生成部と、前記個別鍵を用いて、検証済のダイジェスト値データに基づく前記アクセス制御装置に固有なデータである、当該ダイジェスト値データよりもデータサイズが小さなインテグリティチェックバリュー(ICV)データを生成するICVデータ生成部と、前記個別鍵を用いて、前記ターゲットデータのうちのアクセスが要求された一部であるブロックに基づくICVを計算するICV計算部と、前記ICVデータのうちの前記ブロックに対応する一部が示すICVと、前記ICV計算部により計算されるICVと、を照合する照合部と、前記照合が成功する場合に、前記ブロックをメモリに書き込む書込部と、を含む。
本発明の一態様では、前記ストレージは、前記ターゲットデータとは別のデータである、暗号化ダイジェスト値データをさらに記憶し、前記暗号化ダイジェスト値データを復号することで復号ダイジェスト値データを生成する復号部と、前記ダイジェスト値データの値に基づいて計算されるダイジェスト値と、前記復号ダイジェスト値データが示すダイジェスト値と、を照合することで、前記ダイジェスト値データを検証する検証部と、をさらに含み、前記個別鍵生成部は、前記検証が成功する場合に、前記個別鍵を生成する。
この態様では、前記ターゲットデータに基づいて前記ダイジェスト値データを生成するダイジェスト値データ生成部、をさらに含み、前記検証部は、前記ダイジェスト値データ生成部により生成される前記ダイジェスト値データの値に基づいて計算されるダイジェスト値と、前記復号ダイジェスト値データが示すダイジェスト値と、を照合することで、前記ダイジェスト値データ生成部により生成される前記ダイジェスト値データを検証してもよい。
また、本発明の一態様では、前記ICVデータ生成部は、生成される前記ICVデータをカーネルメモリに配置し、前記書込部は、前記ブロックをユーザメモリに書き込む。
この態様では、前記カーネルメモリから読み出された、前記ICVデータのうちの前記ブロックに対応する前記一部が示すICVに関連付けられた、前記ブロックのアクセス要求を受け付けるアクセス要求受付部、をさらに含んでもよい。
また、本発明に係る別のアクセス制御装置は、セキュアモジュールと、メインプロセッサと、メモリと、ストレージと、を含むアクセス制御装置であって、前記ストレージは、アクセス要求の対象となるターゲットデータを記憶し、前記セキュアモジュールは、前記アクセス制御装置に固有の個別鍵を生成し、前記セキュアモジュールは、前記個別鍵を用いて、検証済のダイジェスト値データに基づく前記アクセス制御装置に固有なデータである、当該ダイジェスト値データよりもデータサイズが小さなICVデータを生成し、前記セキュアモジュールは、前記メインプロセッサから前記ターゲットデータの一部であるブロックに対するアクセス要求を受け付け、前記セキュアモジュールは、前記個別鍵を用いて、前記ブロックに基づくICVを計算し、前記セキュアモジュールは、前記ICVデータのうちの前記ブロックに対応する一部が示すICVと、前記セキュアモジュールにより計算されるICVと、を照合し、前記セキュアモジュールは、前記照合が成功する場合に、前記ブロックを前記メモリに書き込む。
本発明の一態様では、前記アクセス要求には、前記ICVデータのうちの前記ブロックに対応する一部が示すICVが関連付けられている。
また、本発明の一態様では、前記セキュアモジュールは、前記個別鍵を記憶し、前記メインプロセッサは、前記セキュアモジュールに記憶されている前記個別鍵にアクセスできない。
また、本発明に係るアクセス制御方法は、アクセス要求の対象となるターゲットデータを記憶するアクセス制御装置に固有の個別鍵を生成するステップと、前記個別鍵を用いて、検証済のダイジェスト値データに基づく前記アクセス制御装置に固有なデータである、当該ダイジェスト値データよりもデータサイズが小さなICVデータを生成するステップと、前記個別鍵を用いて、前記ターゲットデータのうちのアクセスが要求された一部であるブロックに基づくICVを計算するステップと、前記ICVデータのうちの前記ブロックに対応する一部が示すICVと、前記計算するステップで計算されるICVと、を照合するステップと、前記照合が成功する場合に、前記ブロックをメモリに書き込むステップと、を含む。
また、本発明に係るプログラムは、アクセス要求の対象となるターゲットデータを記憶するコンピュータに、前記コンピュータに固有の個別鍵を生成する手順、前記個別鍵を用いて、検証済のダイジェスト値データに基づく前記コンピュータに固有なデータである、当該ダイジェスト値データよりもデータサイズが小さなICVデータを生成する手順、前記個別鍵を用いて、前記ターゲットデータのうちのアクセスが要求された一部であるブロックに基づくICVを計算する手順、前記ICVデータのうちの前記ブロックに対応する一部が示すICVと、前記計算する手順で計算されるICVと、を照合する手順、前記照合が成功する場合に、前記ブロックをメモリに書き込む手順、を実行させる。
本発明の一実施形態の全体構成の一例を示す図である。 本発明の一実施形態に係る情報処理装置の構成の一例を示す図である。 本発明の一実施形態に係る情報処理装置で行われる処理の流れの一例を示すフロー図である。 ターゲットデータ、32nBダイジェスト値データ、32Bダイジェスト値データ、暗号化ダイジェスト値データの関係の一例を模式的に示す図である。 本発明の一実施形態に係る情報処理装置の機能の一例を示す機能ブロック図である。 ターゲットデータ、32nBダイジェスト値データ、32Bダイジェスト値データ、暗号化ダイジェスト値データ、復号ダイジェスト値データ、ICVデータの関係の一例を模式的に示す図である。 本発明の一実施形態に係る情報処理装置で行われる処理の流れの一例を示すフロー図である。 本発明の一実施形態に係る情報処理装置で行われる処理の流れの一例を示すフロー図である。
以下、本発明の一実施形態について図面に基づき詳細に説明する。
図1は、本発明の一実施形態に係る情報処理装置10、及び、情報処理装置12を示す図である。本実施形態に係る情報処理装置10、及び、情報処理装置12は、例えば、ゲームコンソールやパーソナルコンピュータなどのコンピュータである。
本実施形態では、ゲームプログラム等のプログラムのベンダなどといった第1のユーザが情報処理装置10を利用し、当該プログラムを利用する第2のユーザが情報処理装置12を利用することとする。
本実施形態に係る情報処理装置10は、例えば、CPU等のプログラム制御デバイスであるプロセッサ、ROMやRAM等の記憶素子やハードディスクドライブなどである記憶部、ネットワークボードや無線LANモジュールなどといった通信インタフェースである通信部、キーボード、マウス、ゲームコンソールのコントローラ等のユーザインタフェースである操作部、液晶ディスプレイ等の表示デバイスである表示部、などを備えている。
本実施形態に係る情報処理装置12は、図2に示すように、メインプロセッサ20、メモリ22(カーネルメモリ22a、及び、ユーザメモリ22b)、セキュアモジュール24、及び、ストレージ26を備えている。
メインプロセッサ20は、例えば情報処理装置12にインストールされるプログラムに従って動作するCPU等のプログラム制御デバイスである。
本実施形態に係るメモリ22には、カーネルメモリ22aの領域と、ユーザメモリ22bの領域と、が設けられている。カーネルメモリ22aは、オペレーティングシステム(OS)のカーネルを配置するために確保された領域である。ユーザメモリ22bは、アプリケーションプログラムやアプリケーションプログラムが利用するデータを配置するために確保された領域である。
セキュアモジュール24は、例えばプロセッサ、セキュアなメモリ、ストレージコントローラなどを備えたハードウェアデバイスである。
ストレージ26は、ハードディスクドライブなどの記憶装置である。
メインプロセッサ20、メモリ22、及び、セキュアモジュール24は、バス28に接続されている。
なお、情報処理装置12は、ネットワークボードなどの通信インタフェース、DVD-ROMやBlu-ray(登録商標)ディスクなどの光ディスクを読み取る光ディスクドライブ、USB(Universal Serial Bus)ポートなどを含んでいてもよい。また、情報処理装置10のハードウェア構成が、情報処理装置12と同様のものであってもよい。
ここで、本実施形態に係る情報処理装置10で実行される処理の流れの一例を、図3に例示するフロー図を参照しながら説明する。
本実施形態では例えば、情報処理装置10において、プログラムやデータに相当する、ファイルやディレクトリなどのオブジェクトを複数含む、図4に示すターゲットデータ30が開発される。
本実施形態では、ターゲットデータ30は、所定長(例えば64キロバイト)のブロックを1単位として管理される。図4の例では、ターゲットデータ30が、n個のブロックB(1)~B(n)から構成されている。すなわち、図4に示すターゲットデータ30のサイズは、(64×n)キロバイトとなる。そして、本実施形態では、ターゲットデータ30に対するアクセスは、ブロック単位で実行される。
そして、本実施形態では、情報処理装置10が、ターゲットデータ30に基づいて、(32×n)バイトのダイジェスト値を計算する。そして、情報処理装置10が、計算されたダイジェスト値を示す32nBダイジェスト値データ32を生成する(S101)。ここでは例えば、ターゲットデータ30に対して、SHA256アルゴリズムやSHA3-256アルゴリズムなどの暗号化ハッシュアルゴリズムを実行することで、32nBダイジェスト値データ32が生成される。
図4に示すように、32nBダイジェスト値データ32に含まれるn個の32バイトの部分は、それぞれ64キロバイトのブロックと1対1に対応付けられる。
そして、本実施形態では例えば、情報処理装置10が、S101に示す処理で生成された32nBダイジェスト値データ32に基づいて、32バイトのダイジェスト値を計算する。そして、情報処理装置10が、計算されたダイジェスト値を示す32Bダイジェスト値データ34を生成する(S102)。ここでは例えば、32nBダイジェスト値データ32に対して、SHA256アルゴリズムやSHA3-256アルゴリズムなどの暗号化ハッシュアルゴリズムを実行することで、32Bダイジェスト値データ34が生成される。
そして、本実施形態では例えば、S102に示す処理で生成された32Bダイジェスト値データ34に基づいて、暗号化ダイジェスト値データ36を生成する(S103)。ここでは例えば、RSAなどの公開鍵暗号方式によって、情報処理装置10において秘匿に管理される秘密鍵により32Bダイジェスト値データ34を暗号化することで、暗号化ダイジェスト値データ36が生成される。
そして、本実施形態では例えば、ターゲットデータ30と、S103に示す処理で生成された暗号化ダイジェスト値データ36と、を含む配布データを生成して(S104)、本処理例に示す処理は終了される。
本実施形態では、情報処理装置10で生成された上述の配布データが情報処理装置12に提供される。そして、情報処理装置12において、配布データに含まれるオブジェクトへのアクセスが実行される。
そして、本実施形態では、情報処理装置12において、プログラムの実行時にアクセスが要求されたブロックに対するインテグリティチェックが実行される。そして、インテグリティチェックによって、壊れていないこと、及び、改ざんされていないことが確認されたブロックに対するアクセスが実行される。
図5は、本実施形態に係る情報処理装置12で実装される機能の一例を示す機能ブロック図である。なお、本実施形態に係る情報処理装置12で、図5に示す機能のすべてが実装される必要はなく、また、図5に示す機能以外の機能が実装されていても構わない。
図5に示すように、情報処理装置12には、機能的には例えば、ターゲットデータ記憶部40、暗号化ダイジェスト値データ記憶部42、公開鍵記憶部44、ダイジェスト値データ生成部46、復号部48、検証部50、個別鍵生成部52、個別鍵記憶部54、ICVデータ生成部56、ICVデータ記憶部58、アクセス要求部60、アクセス要求受付部62、ICV計算部64、照合部66、書込部68、が含まれる。
ターゲットデータ記憶部40、暗号化ダイジェスト値データ記憶部42、公開鍵記憶部44は、ストレージ26を主として実装される。ダイジェスト値データ生成部46、復号部48、検証部50、個別鍵生成部52、個別鍵記憶部54、ICVデータ生成部56、アクセス要求受付部62、ICV計算部64、照合部66、書込部68は、セキュアモジュール24を主として実装される。ICVデータ記憶部58は、カーネルメモリ22aを主として実装される。アクセス要求部60は、メインプロセッサ20を主として実装される。
以上の機能は、コンピュータである情報処理装置12にインストールされた、以上の機能に対応する指令を含むプログラムをメインプロセッサ20、及び、セキュアモジュール24で実行することにより実装されてもよい。このプログラムは、例えば、光ディスク、磁気ディスク、磁気テープ、光磁気ディスク、フラッシュメモリ等のコンピュータ読み取り可能な情報記憶媒体を介して、あるいは、インターネットなどを介して情報処理装置12に供給されてもよい。また、このプログラムは、情報処理装置10から情報処理装置12に供給されてもよい。
ターゲットデータ記憶部40は、本実施形態では例えば、情報処理装置10から提供される、アクセス要求の対象となるターゲットデータ30を記憶する。
暗号化ダイジェスト値データ記憶部42は、本実施形態では例えば、情報処理装置10から提供される、暗号化ダイジェスト値データ36を記憶する。
公開鍵記憶部44は、本実施形態では例えば、上述の秘密鍵に対応する公開鍵を記憶する。公開鍵は、情報処理装置12に予め記憶されていてもよいし、情報処理装置10から提供されてもよい。
ダイジェスト値データ生成部46は、本実施形態では例えば、図6に示すように、ターゲットデータ記憶部40に記憶されているターゲットデータ30に基づいて、(32×n)バイトのダイジェスト値を計算する。そしてダイジェスト値データ生成部46は、本実施形態では例えば、計算されたダイジェスト値を示す32nBダイジェスト値データ70を生成する。ここでは例えば、ターゲットデータ30に対して、SHA256アルゴリズムやSHA3-256アルゴリズムなどの暗号化ハッシュアルゴリズムを実行することで、32nBダイジェスト値データ70が生成される。通常は、上述のS101に示す処理で生成される32nBダイジェスト値データ32と同じ値の32nBダイジェスト値データ70が生成される。
また、ダイジェスト値データ生成部46は、本実施形態では例えば、図6に示すように、ダイジェスト値データ生成部46により生成される32nBダイジェスト値データ70に基づいて、32バイトのダイジェスト値を計算する。そして、ダイジェスト値データ生成部46は、計算されたダイジェスト値を示す32Bダイジェスト値データ72を生成する。通常は、上述のS102に示す処理で生成される32Bダイジェスト値データ34と同じ値の32Bダイジェスト値データ72が生成される。
復号部48は、本実施形態では例えば、図6に示すように、暗号化ダイジェスト値データ記憶部42に記憶されている暗号化ダイジェスト値データ36を復号することで復号ダイジェスト値データ74を生成する。ここでは例えば、RSAなどの公開鍵暗号方式によって、公開鍵記憶部44に記憶されている公開鍵により暗号化ダイジェスト値データ36を復号することで、復号ダイジェスト値データ74が生成される。通常は、上述のS102に示す処理で生成される32Bダイジェスト値データ34と同じ値の復号ダイジェスト値データ74が生成される。
検証部50は、ダイジェスト値データ生成部46において計算されるダイジェスト値と、復号ダイジェスト値データ74が示すダイジェスト値と、を照合することで、32nBダイジェスト値データ70を検証する。ここでは例えば、ダイジェスト値データ生成部46により生成される32Bダイジェスト値データ72が示すダイジェスト値と復号ダイジェスト値データ74が示すダイジェスト値とが照合される。
個別鍵生成部52は、本実施形態では例えば、検証部50による検証が成功(例えば2つのダイジェスト値が一致)すると、情報処理装置12に固有の個別鍵を生成する。ここでは例えば、疑似乱数生成関数を用いて生成される疑似乱数の値が個別鍵の値に用いられてもよい。
個別鍵記憶部54は、本実施形態では例えば、個別鍵生成部52により生成される個別鍵を記憶する。個別鍵はセキュアモジュール24に記憶され、メインプロセッサ20は、セキュアモジュール24に記憶されている個別鍵にはアクセスできない。
ICVデータ生成部56は、本実施形態では例えば、個別鍵を用いて、検証済の32nBダイジェスト値データ70に基づくインテグリティチェックバリュー(ICV)を計算する。そして、ICVデータ生成部56は、計算されたICVを示すICVデータ76を生成する。ここでは例えば、AES-CMACアルゴリズムなどの、ブロック暗号を用いたメッセージ認証コードアルゴリズムを実行することで、CMAC値を示すICVデータ76が生成される。ICVデータ76は、情報処理装置12に固有のデータである。そして、ICVデータ生成部56は、生成されたICVデータを、カーネルメモリ22aに配置する。
ICVデータ76は、32nBダイジェスト値データ70よりもデータサイズが小さい。ICVデータ76のサイズは、例えば、(16×n)バイトである。なお、トランケーテッド(trancated)CMACを用いることも可能であり、この場合は、ICVデータ76のサイズは、例えば、(8×n)バイトとなる。
図6に示すように、ICVデータ76に含まれるn個の16バイトあるいは8バイトの部分は、それぞれ64キロバイトのブロックと1対1に対応付けられる。
ICVデータ記憶部58は、本実施形態では例えば、ICVデータ76を記憶する。ここでは例えば、カーネルメモリ22aにICVデータ76が記憶される。
アクセス要求部60は、本実施形態では例えば、ブロックに対するアクセスを要求する。ここでは例えば、メインプロセッサ20がセキュアモジュール24に対してアクセス要求を発行する。ここでメインプロセッサ20は、当該ブロックに対応するICVデータ76の一部をカーネルメモリ22aから読み出してもよい。そして、当該一部が示す値が関連付けられた、当該ブロックに対するアクセス要求をセキュアモジュール24に発行してもよい。
アクセス要求受付部62は、本実施形態では例えば、アクセス要求部60から発行されるアクセス要求を受け付ける。ここでは例えばセキュアモジュール24がメインプロセッサ20からブロックに対するアクセス要求を受け付ける。
ICV計算部64は、本実施形態では例えば、アクセスが要求されたブロックを読み出す。そして、ICV計算部64は、本実施形態では例えば、個別鍵記憶部54に記憶されている個別鍵を用いて、読み出したブロックに基づくICVを計算する。ここでは上述のように、AES-CMACアルゴリズムなどの、ブロック暗号を用いたメッセージ認証コードアルゴリズムを実行することで、CMAC値を示すICVが計算される。
照合部66は、本実施形態では例えば、ICVデータ76のうちのアクセスが要求されたブロックに対応する一部が示すICVと、ICV計算部64により計算されるICVと、を照合する。ここでは例えば、アクセス要求部60が受け付けたアクセス要求に関連付けられているICVと、ICV計算部64により計算されるICVと、が照合される。
書込部68は、本実施形態では例えば、照合部66による照合が成功(例えば2つのICVが一致)する場合に、アクセスが要求されたブロックをユーザメモリ22bに書き込む。
ここで、本実施形態に係る情報処理装置12の起動時に行われる処理の流れの一例を、図7に例示するフロー図を参照しながら説明する。
まず、ダイジェスト値データ生成部46が、ターゲットデータ30に基づいて、32nBダイジェスト値データ70を生成する(S201)。
そして、ダイジェスト値データ生成部46が、S201に示す処理で生成された32nBダイジェスト値データ70に基づいて、32Bダイジェスト値データ72を生成する(S202)。以下、S202に示す処理で生成された32Bダイジェスト値データ72が示すダイジェスト値を計算ダイジェスト値と呼ぶこととする。
そして、復号部48が、暗号化ダイジェスト値データ36を復号することで復号ダイジェスト値データ74を生成する(S203)。以下、S203に示す処理で生成された復号ダイジェスト値データ74が示すダイジェスト値を復号ダイジェスト値と呼ぶこととする。
そして、検証部50が、計算ダイジェスト値と、復号ダイジェスト値と、を照合することで、S201に示す処理で生成された32nBダイジェスト値データ70を検証する(S204)。
そして、検証部50が、S204に示す処理での検証が成功したか否かを確認する(S205)。ここで、検証が失敗したことが確認された場合は(S205:N)は、所定のエラー処理が実行される。
検証が成功したことが確認された場合は(S205:Y)は、個別鍵生成部52が、個別鍵を生成して、生成された個別鍵を個別鍵記憶部54に記憶させる(S206)。
そして、ICVデータ生成部56が、S206に示す処理で記憶された個別鍵を用いて、S201に示す処理で生成された32nBダイジェスト値データ70に基づくICVデータ76を生成する。そして、ICVデータ生成部56が、生成されたICVデータ76をICVデータ記憶部58に記憶させて(S207)、本処理例に示す処理は終了される。
上述の処理例に示す処理の実行の際には、必要に応じて、ターゲットデータ30、暗号化ダイジェスト値データ36、及び、公開鍵が、ストレージ26から読み出されてカーネルメモリ22aに配置される。そしてS201~S207に示す処理の終了後に、カーネルメモリ22aに配置されているターゲットデータ30、暗号化ダイジェスト値データ36、及び、公開鍵は消去される。
次に、本実施形態に係る情報処理装置12において、プログラムの実行時におけるブロックに対するアクセス要求が発生した際に行われる処理の流れの一例を、図8に例示するフロー図を参照しながら説明する。
まず、アクセス要求受付部62が、ICVとブロックの識別情報に関連付けられた当該ブロックに対するアクセス要求を受け付ける(S301)。以下、アクセス要求に関連付けられているICV、すなわち、ICVデータ記憶部58に記憶されているICVデータ76の一部が示すICVを、参照ブロックICVと呼ぶこととする。
そして、ICV計算部64が、アクセス要求のあったブロックをストレージ26から取得する(S302)。
そして、ICV計算部64が、個別鍵記憶部54に記憶されている個別鍵を用いて、S302に示す処理で取得されたブロックに基づくICVを計算する(S303)。以下、このようにして計算されるICVを計算ブロックICVと呼ぶこととする。
そして、照合部66が、計算ブロックICVと参照ブロックICVとを照合する(S304)。
そして、照合部66が、S304に示す処理での照合が成功したか否かを確認する(S305)。ここで、照合が失敗したことが確認された場合は(S305:N)は、所定のエラー処理が実行される。
照合が成功したことが確認された場合は(S305:Y)は、書込部68が、S302に示す処理で取得されたブロックをユーザメモリ22bに書き込んで(S306)、本処理例に示す処理は終了される。
本実施形態では、32nBダイジェスト値データ70よりもデータサイズが小さなICVデータ76が、インテグリティチェックのためにカーネルメモリ22aに常駐される。そのため、32nBダイジェスト値データ70をインテグリティチェックのためにカーネルメモリ22aに常駐させるよりも、プログラムの実行において利用可能なメモリ22を多く確保できる。
また、ブロックとICVデータ76との対応関係が一意に定まるものであれば、その対応関係を見破ることができれば、ブロックを改ざんするとともに、改ざん後のオブジェクトに整合するICVデータ76の生成が可能になってしまう。本実施形態では、情報処理装置12の起動の度に値が異なる個別鍵が生成され、当該個別鍵に基づくICVデータ76が生成される。
以上のようにして、本実施形態によれば、インテグリティチェックに用いられるICVデータ76のサイズを抑えつつ、ブロックの改ざんリスクを低減できることとなる。
なお、本発明は上述の実施形態に限定されるものではない。
例えば、図5に示す機能(例えば、セキュアモジュール24の機能)は、ハードウェアにより実装されてもソフトウェアにより実装されてもよい。
また、上記の具体的な文字列や数値及び図面中の具体的な文字列や数値は例示であり、これらの文字列や数値には限定されない。

Claims (10)

  1. アクセス要求の対象となるターゲットデータを記憶するアクセス制御装置であって、
    前記ターゲットデータを記憶するストレージと、
    前記アクセス制御装置に固有の個別鍵を生成する個別鍵生成部と、
    前記個別鍵を用いて、検証済のダイジェスト値データに基づく前記アクセス制御装置に固有なデータである、当該ダイジェスト値データよりもデータサイズが小さなインテグリティチェックバリュー(ICV)データを生成するICVデータ生成部と、
    前記個別鍵を用いて、前記ターゲットデータのうちのアクセスが要求された一部であるブロックに基づくICVを計算するICV計算部と、
    前記ICVデータのうちの前記ブロックに対応する一部が示すICVと、前記ICV計算部により計算されるICVと、を照合する照合部と、
    前記照合が成功する場合に、前記ブロックをメモリに書き込む書込部と、
    を含むことを特徴とするアクセス制御装置。
  2. 前記ストレージは、前記ターゲットデータとは別のデータである、暗号化ダイジェスト値データをさらに記憶し、
    前記暗号化ダイジェスト値データを復号することで復号ダイジェスト値データを生成する復号部と、
    前記ダイジェスト値データの値に基づいて計算されるダイジェスト値と、前記復号ダイジェスト値データが示すダイジェスト値と、を照合することで、前記ダイジェスト値データを検証する検証部と、をさらに含み、
    前記個別鍵生成部は、前記検証が成功する場合に、前記個別鍵を生成する、
    ことを特徴とする請求項1に記載のアクセス制御装置。
  3. 前記ターゲットデータに基づいて前記ダイジェスト値データを生成するダイジェスト値データ生成部、をさらに含み、
    前記検証部は、前記ダイジェスト値データ生成部により生成される前記ダイジェスト値データの値に基づいて計算されるダイジェスト値と、前記復号ダイジェスト値データが示すダイジェスト値と、を照合することで、前記ダイジェスト値データ生成部により生成される前記ダイジェスト値データを検証する、
    ことを特徴とする請求項2に記載のアクセス制御装置。
  4. 前記ICVデータ生成部は、生成される前記ICVデータをカーネルメモリに配置し、
    前記書込部は、前記ブロックをユーザメモリに書き込む、
    ことを特徴とする請求項1から3のいずれか一項に記載のアクセス制御装置。
  5. 前記カーネルメモリから読み出された、前記ICVデータのうちの前記ブロックに対応する前記一部が示すICVに関連付けられた、前記ブロックのアクセス要求を受け付けるアクセス要求受付部、をさらに含む、
    ことを特徴とする請求項4に記載のアクセス制御装置。
  6. セキュアモジュールと、メインプロセッサと、メモリと、ストレージと、を含むアクセス制御装置であって、
    前記ストレージは、アクセス要求の対象となるターゲットデータを記憶し、
    前記セキュアモジュールは、前記アクセス制御装置に固有の個別鍵を生成し、
    前記セキュアモジュールは、前記個別鍵を用いて、検証済のダイジェスト値データに基づく前記アクセス制御装置に固有なデータである、当該ダイジェスト値データよりもデータサイズが小さなICVデータを生成し、
    前記セキュアモジュールは、前記メインプロセッサから前記ターゲットデータの一部であるブロックに対するアクセス要求を受け付け、
    前記セキュアモジュールは、前記個別鍵を用いて、前記ブロックに基づくICVを計算し、
    前記セキュアモジュールは、前記ICVデータのうちの前記ブロックに対応する一部が示すICVと、前記セキュアモジュールにより計算されるICVと、を照合し、
    前記セキュアモジュールは、前記照合が成功する場合に、前記ブロックを前記メモリに書き込む、
    ことを特徴とするアクセス制御装置。
  7. 前記アクセス要求には、前記ICVデータのうちの前記ブロックに対応する一部が示すICVが関連付けられている、
    ことを特徴とする請求項6に記載のアクセス制御装置。
  8. 前記セキュアモジュールは、前記個別鍵を記憶し、
    前記メインプロセッサは、前記セキュアモジュールに記憶されている前記個別鍵にアクセスできない、
    ことを特徴とする請求項6又は7に記載のアクセス制御装置。
  9. アクセス制御装置が備える個別鍵生成部が、アクセス要求の対象となるターゲットデータを記憶するアクセス制御装置に固有の個別鍵を生成するステップと、
    前記アクセス制御装置が備えるICVデータ生成部が、前記個別鍵を用いて、検証済のダイジェスト値データに基づく前記アクセス制御装置に固有なデータである、当該ダイジェスト値データよりもデータサイズが小さなICVデータを生成するステップと、
    前記アクセス制御装置が備えるICV計算部が、前記個別鍵を用いて、前記ターゲットデータのうちのアクセスが要求された一部であるブロックに基づくICVを計算するステップと、
    前記アクセス制御装置が備える照合部が、前記ICVデータのうちの前記ブロックに対応する一部が示すICVと、前記計算するステップで計算されるICVと、を照合するステップと、
    前記アクセス制御装置が備える書込部が、前記照合が成功する場合に、前記ブロックをメモリに書き込むステップと、
    を含むことを特徴とするアクセス制御方法。
  10. アクセス要求の対象となるターゲットデータを記憶するコンピュータに、
    前記コンピュータに固有の個別鍵を生成する手順、
    前記個別鍵を用いて、検証済のダイジェスト値データに基づく前記コンピュータに固有なデータである、当該ダイジェスト値データよりもデータサイズが小さなICVデータを生成する手順、
    前記個別鍵を用いて、前記ターゲットデータのうちのアクセスが要求された一部であるブロックに基づくICVを計算する手順、
    前記ICVデータのうちの前記ブロックに対応する一部が示すICVと、前記計算する手順で計算されるICVと、を照合する手順、
    前記照合が成功する場合に、前記ブロックをメモリに書き込む手順、
    を実行させることを特徴とするプログラム。
JP2021534050A 2019-07-23 2020-07-21 アクセス制御装置、アクセス制御方法及びプログラム Active JP7178500B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2019135539 2019-07-23
JP2019135539 2019-07-23
PCT/JP2020/028298 WO2021015204A1 (ja) 2019-07-23 2020-07-21 アクセス制御装置、アクセス制御方法及びプログラム

Publications (2)

Publication Number Publication Date
JPWO2021015204A1 JPWO2021015204A1 (ja) 2021-01-28
JP7178500B2 true JP7178500B2 (ja) 2022-11-25

Family

ID=74194194

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2021534050A Active JP7178500B2 (ja) 2019-07-23 2020-07-21 アクセス制御装置、アクセス制御方法及びプログラム

Country Status (3)

Country Link
US (1) US20220261505A1 (ja)
JP (1) JP7178500B2 (ja)
WO (1) WO2021015204A1 (ja)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002111648A (ja) 2000-07-24 2002-04-12 Sony Corp データ処理装置およびデータ処理方法、並びにプログラム提供媒体
WO2008056700A1 (fr) 2006-11-09 2008-05-15 Panasonic Corporation Système de détection de falsification, procédé de détection de falsification, programme de détection de falsification, support d'enregistrement, circuit intégré, dispositif de génération d'informations d'authentification et dispositif de détection de fals
WO2018138212A1 (en) 2017-01-26 2018-08-02 Gemalto Sa Method to secure a software code
JP2019020872A (ja) 2017-07-13 2019-02-07 株式会社デンソー 電子制御装置、プログラム改ざん検知方法

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5757919A (en) * 1996-12-12 1998-05-26 Intel Corporation Cryptographically protected paging subsystem
JP2002132583A (ja) * 2000-10-20 2002-05-10 Sony Corp データ処理装置、データ記憶装置、およびデータ処理方法、並びにプログラム提供媒体
US7047405B2 (en) * 2001-04-05 2006-05-16 Qualcomm, Inc. Method and apparatus for providing secure processing and data storage for a wireless communication device
DE60133266T2 (de) * 2001-05-03 2009-04-23 Telefonaktiebolaget Lm Ericsson (Publ) Verfahren und Vorrichtung zum Schutz der Datenintegrität
US7266842B2 (en) * 2002-04-18 2007-09-04 International Business Machines Corporation Control function implementing selective transparent data authentication within an integrated system
US7200756B2 (en) * 2002-06-25 2007-04-03 Microsoft Corporation Base cryptographic service provider (CSP) methods and apparatuses
EP1615370B1 (en) * 2004-07-05 2011-08-31 ABB Research Ltd. Authentication of short messages
US8365293B2 (en) * 2005-01-25 2013-01-29 Redphone Security, Inc. Securing computer network interactions between entities with authorization assurances
US8364965B2 (en) * 2006-03-15 2013-01-29 Apple Inc. Optimized integrity verification procedures
US8301906B2 (en) * 2006-05-10 2012-10-30 Nero Ag Apparatus for writing information on a data content on a storage medium
US8478258B2 (en) * 2010-03-05 2013-07-02 Intel Corporation Techniques to reduce false detection of control channel messages in a wireless network
US11190528B2 (en) * 2017-11-28 2021-11-30 Avago Technologies International Sales Pte. Limited Light-weight mechanism for checking message integrity in data packets

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002111648A (ja) 2000-07-24 2002-04-12 Sony Corp データ処理装置およびデータ処理方法、並びにプログラム提供媒体
WO2008056700A1 (fr) 2006-11-09 2008-05-15 Panasonic Corporation Système de détection de falsification, procédé de détection de falsification, programme de détection de falsification, support d'enregistrement, circuit intégré, dispositif de génération d'informations d'authentification et dispositif de détection de fals
WO2018138212A1 (en) 2017-01-26 2018-08-02 Gemalto Sa Method to secure a software code
JP2019020872A (ja) 2017-07-13 2019-02-07 株式会社デンソー 電子制御装置、プログラム改ざん検知方法

Also Published As

Publication number Publication date
JPWO2021015204A1 (ja) 2021-01-28
US20220261505A1 (en) 2022-08-18
WO2021015204A1 (ja) 2021-01-28

Similar Documents

Publication Publication Date Title
US6834333B2 (en) Data processing device, data storage device, data processing method, and program providing medium for storing content protected under high security management
US8200961B2 (en) Securing a flash memory block in a secure device system and method
CN111475871B (zh) 存储器系统
US7925017B2 (en) Information recording device, information playback device, information recording medium, information recording method, information playback method, and program providing medium
JP7458763B2 (ja) 階層セキュリティを備えたフラッシュ変換層
TW202036347A (zh) 資料儲存、驗證方法及裝置
JP2012014416A (ja) 記録装置、書き込み装置、読み出し装置、及び記録装置の制御方法
US7243228B2 (en) Data storage with CBC-mode encryption processing
CN113434853B (zh) 一种将固件烧录至存储设备的方法及控制器
WO2006004130B1 (ja) データ管理方法、そのプログラム及びプログラムの記録媒体
US20130191636A1 (en) Storage device, host device, and information processing method
JP2021118370A (ja) メモリシステム、情報処理装置、および情報処理システム
US7124317B2 (en) Information recording and playback system having a memory interface and method therefore
US20230351056A1 (en) Sram physically unclonable function (puf) memory for generating keys based on device owner
CN105308610A (zh) 用于设备上的平台和用户应用安全性的方法和系统
US11468159B2 (en) Memory system
JP2008160325A (ja) リムーバブル・デバイスを用いたユーザの認証方法およびコンピュータ
JP2011150701A (ja) ソフトウェア・アプリケーションの実行方法およびソフトウェア・アプリケーションを記憶する記憶デバイス
JP7178500B2 (ja) アクセス制御装置、アクセス制御方法及びプログラム
KR102089435B1 (ko) 안전한 usb 장치를 보장하는 부트 방법
CN115391844A (zh) 安全密钥存储装置
CN110601846B (zh) 一种校验虚拟可信根的系统及方法
US11113399B2 (en) Electronic apparatus and control method of electronic apparatus
CN113032739A (zh) 一种软件代码版权保护方法
JP2008257279A (ja) ファイルシステムの完全性強化方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20210812

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20220705

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220826

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20220906

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20221017

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: 20221101

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20221114

R150 Certificate of patent or registration of utility model

Ref document number: 7178500

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150