JP2015049785A - プログラム処理装置 - Google Patents
プログラム処理装置 Download PDFInfo
- Publication number
- JP2015049785A JP2015049785A JP2013182155A JP2013182155A JP2015049785A JP 2015049785 A JP2015049785 A JP 2015049785A JP 2013182155 A JP2013182155 A JP 2013182155A JP 2013182155 A JP2013182155 A JP 2013182155A JP 2015049785 A JP2015049785 A JP 2015049785A
- Authority
- JP
- Japan
- Prior art keywords
- program
- compressed data
- verification value
- storage area
- block
- 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.)
- Pending
Links
Images
Abstract
【課題】プログラムの起動時に改竄の判定対象であるプログラムが改竄されているか否かを極力短時間で判定するプログラム処理装置を提供する。
【解決手段】プログラムの起動時、プログラム処理装置は、重要度の高い所定のプログラムを読み出し、読み出したプログラムの各ブロックに基づいて圧縮データを生成し(S410)、読み出したプログラムの各ブロックと対応する圧縮データを読み出して復号する(S412)。生成された圧縮データと復号された圧縮データとが一致しない場合(S414:No)、異常フラグが設定される(S416)。一致する場合(S414:Yes)、プログラム処理装置は、重要度に関係なくすべての圧縮データを読出して復号し(S418)、復号された圧縮データに基づいて検証値を生成して記憶されていた検証値と比較する(S420、S422)。一致しない場合(S422:No)、異常フラグが設定される(S416)。
【選択図】図3
【解決手段】プログラムの起動時、プログラム処理装置は、重要度の高い所定のプログラムを読み出し、読み出したプログラムの各ブロックに基づいて圧縮データを生成し(S410)、読み出したプログラムの各ブロックと対応する圧縮データを読み出して復号する(S412)。生成された圧縮データと復号された圧縮データとが一致しない場合(S414:No)、異常フラグが設定される(S416)。一致する場合(S414:Yes)、プログラム処理装置は、重要度に関係なくすべての圧縮データを読出して復号し(S418)、復号された圧縮データに基づいて検証値を生成して記憶されていた検証値と比較する(S420、S422)。一致しない場合(S422:No)、異常フラグが設定される(S416)。
【選択図】図3
Description
本発明は、プログラムの起動時にプログラムが改竄されているか否かを判定するプログラム処理装置に関する。
プログラムの起動時に、予め記憶されている正規の検証値と、読み出したプログラムから生成した検証値とを比較してプログラムが改竄されているか否かを判定することが知られている。しかしながら、改竄の判定対象であるプログラムに基づいて検証値を生成するためには長い時間を要するので、プログラムが改竄されているか否かを判定してプログラムを起動するための時間が長くなる。
これに対し特許文献1では、プログラムを所定数のブロックに分割し、ブロック毎に正規の検証値を記憶している。そして、プログラムの起動時間を短縮するために、プログラムの起動時に、改竄の判定対象であるプログラムのうち一部のブロックや後半のブロック等の特定のブロックを読み出して生成された検証値と正規の検証値とを比較することにより、プログラムが改竄されているか否かを判定しようとしている。
これは、特許文献1では、プログラムが改竄されると、例えば改竄されたプログラムの後続のプログラムも変更されることを前提にしているからである。特許文献1では、改竄の判定対象であるプログラムのうち特定のブロックに基づいて検証値を生成して正規の検証値と比較すれば、改竄の判定対象であるプログラムが改竄されているか否かを判定できると判断している。
しかしながら、プログラムの起動時間を短縮するために改竄の判定対象であるプログラムのうち特定のブロックに基づいて検証値を比較する方式では、検証値を比較されない他のブロックのプログラムが改竄されていないことを保証することはできない。
本発明は上記課題を解決するためになされたものであり、プログラムの起動時に改竄の判定対象であるプログラムが改竄されているか否かを極力短時間で高精度に判定できるプログラム処理装置を提供することを目的とする。
本発明のプログラム処理装置は、プログラム書込手段と、圧縮データ書込手段と、検証値書込手段と、検証値生成手段と、検証値判定手段と、を備える。
プログラム書込手段は、書込要求に応じてプログラム記憶領域にプログラムを書き込み、圧縮データ書込手段は、プログラムを圧縮した圧縮データを圧縮データ記憶領域に書き込む。
プログラム書込手段は、書込要求に応じてプログラム記憶領域にプログラムを書き込み、圧縮データ書込手段は、プログラムを圧縮した圧縮データを圧縮データ記憶領域に書き込む。
検証値書込手段は、圧縮データの正当性を検証するための第1検証値を検証値記憶領域に書き込み、検証値生成手段は、プログラムの起動時に、圧縮データ記憶領域に記憶されている圧縮データに基づいて第1検証値と比較するための第2検証値を生成する。検証値判定手段は、プログラムの起動時に、検証値記憶領域に記憶されている第1検証値と検証値生成手段が生成する第2検証値とを比較してプログラムが改竄されているか否かを判定する。
圧縮していないプログラムに基づいて検証値を生成するよりも、プログラムを圧縮してデータ量が小さくなった圧縮データに基づいて検証値を生成する方が、検証値を生成するために要する時間は短くなる。その結果、プログラムの起動時に、改竄の判定対象であるプログラムを圧縮した圧縮データに基づいて第2検証値を生成しても、第2検証値と予め記憶されている第1検証値とを比較することにより、プログラムの起動時に改竄の判定対象であるプログラムが改竄されているか否かを極力短時間で判定できる。
以下、本発明の実施形態を図に基づいて説明する。
図1に示すプログラム処理装置10は、例えば自動車に搭載される電子制御装置(ECU)として使用される。プログラム処理装置10は、プログラム読出し(R)/書き込み(W)部20、圧縮データ生成部30、暗号処理部32、圧縮データR/W部34、圧縮データ判定部36、検証値R/W部40、検証値生成部42、検証値判定部44、プログラム記憶領域100、圧縮データ記憶領域102、および検証値記憶領域104等を備えており、CPU、RAM、ROM、フラッシュメモリ等を備えるマイクロコンピュータにより主に構成される。
図1に示すプログラム処理装置10は、例えば自動車に搭載される電子制御装置(ECU)として使用される。プログラム処理装置10は、プログラム読出し(R)/書き込み(W)部20、圧縮データ生成部30、暗号処理部32、圧縮データR/W部34、圧縮データ判定部36、検証値R/W部40、検証値生成部42、検証値判定部44、プログラム記憶領域100、圧縮データ記憶領域102、および検証値記憶領域104等を備えており、CPU、RAM、ROM、フラッシュメモリ等を備えるマイクロコンピュータにより主に構成される。
プログラム読出し(R)/書き込み(W)部20、圧縮データ生成部30、暗号処理部32、圧縮データR/W部34、圧縮データ判定部36、検証値R/W部40、検証値生成部42、および検証値判定部44の機能は、専用回路によるハード処理、あるいはROMまたはフラッシュメモリに記憶されたプログラムをCPUが実行することにより実現される。プログラム記憶領域100、圧縮データ記憶領域102、および検証値記憶領域104は、書き換え可能な不揮発性記憶装置であるフラッシュメモリ等により構成される。
プログラムR/W部20は、外部装置200から車内LANを介してプログラムの書込要求があると、外部装置200からプログラムを受信し、受信したプログラムをプログラム記憶領域100に書き込む。プログラムは複数の所定数(N)のブロックに分割されているので、プログラムR/W部20は、ブロック毎にプログラム記憶領域100にプログラムを書き込む。
プログラムの各ブロックは、ブロック番号とブロックの大きさを示すサイズ情報とを有している。ブロック番号は、各ブロックと、後述する各ブロックに対応する圧縮データとを関連付ける関連情報である。
プログラムR/W部20は、プログラムの各ブロックをプログラム記憶領域100に書き込むときに、ブロック番号とブロックの大きさも外部装置200から受信してプログラム記憶領域100に書き込む。ブロック番号とブロックの大きさとが対応付けられているので、一部のブロックのプログラムだけを書き込むこともできる。
また、各ブロックに対応する大きさのプログラムをプログラムR/W部20がサイズ情報に基づいてプログラム記憶領域100から読み出すことにより、圧縮データ生成部30は、読み出されたプログラムの各ブロックを圧縮して各ブロックに対応する圧縮データを生成できる。
尚、重要度の高いプログラムのブロックの大きさが重要度の低いプログラムのブロックの大きさよりも小さくなるようにプログラムが分割されていることが望ましい。これは、圧縮データ生成部30がプログラムの各ブロックを圧縮して圧縮データを生成するときに、ブロックの大きさが小さいほど圧縮データが同じ圧縮値になる可能性が低くなるからである。これにより、重要度の高いプログラムの圧縮データが他のプログラムの圧縮データと同じ圧縮値になることを極力防止できる。
圧縮データ生成部30は、外部装置200からプログラムの書込要求があると、ハッシュ関数等を用いた所定の圧縮方式によりプログラムの各ブロックを圧縮して圧縮データを自動的に生成する。圧縮データを生成するために、ハッシュ関数以外にCRC(巡回冗長検査)等を用いてもよい。圧縮データとして固定長のデータが生成されると、書き込み等の圧縮データを取り扱う処理が容易になる。
暗号処理部32は、圧縮データ生成部30が生成して圧縮データR/W部34が圧縮データ記憶領域102に書き込む圧縮データを自動的に暗号化する。また、暗号処理部32は、圧縮データR/W部34が圧縮データ記憶領域102から読み出す暗号化された圧縮データを復号する。
圧縮データR/W部34は、暗号処理部32で暗号化された圧縮データを、対応するプログラムのブロック番号とともに圧縮データ記憶領域102に自動的に書き込む。また、圧縮データR/W部34は、暗号化された圧縮データを圧縮データ記憶領域102から読み出す。
圧縮データ判定部36は、圧縮データ生成部30が生成する圧縮データと暗号処理部32で復号された圧縮データとを比較し、一致しない場合はエラーを通知する。
検証値R/W部40は、外部装置200がプログラムの書き込みを要求するときに、プログラムの各ブロックに対応する検証値を外部装置200から受信し、受信した各ブロックの検証値を検証値記憶領域104に書き込む。
検証値R/W部40は、外部装置200がプログラムの書き込みを要求するときに、プログラムの各ブロックに対応する検証値を外部装置200から受信し、受信した各ブロックの検証値を検証値記憶領域104に書き込む。
また、検証値R/W部40は、検証値生成部42が生成する検証値と比較するために、検証値記憶領域104から検証値を読み出す。
検証値生成部42は、暗号処理部32が復号した圧縮データに基づいて検証値を生成する。検証値は、例えばMAC(Message Authentication Code)のような共通鍵タイプか、あるいは電子署名のような公開鍵タイプにより生成される。
検証値生成部42は、暗号処理部32が復号した圧縮データに基づいて検証値を生成する。検証値は、例えばMAC(Message Authentication Code)のような共通鍵タイプか、あるいは電子署名のような公開鍵タイプにより生成される。
検証値判定部44は、検証値R/W部40が検証値記憶領域104から読み出した検証値と、暗号処理部32が復号した圧縮データから生成された検証値とを比較し、一致しない場合はエラーを通知する。
次に、プログラム処理装置10が実行するプログラム書込処理、プログラム起動処理、低負荷時処理を、それぞれ図2、図3、図4に基づいて説明する。図2〜図4のフローチャートにおいて、「S」はステップを表わしている。
(プログラム書込処理)
図2のS400において、外部装置200からプログラムの書き込みを要求されると、プログラムR/W部20は、外部装置200からブロック毎にプログラムとブロック番号とブロックのサイズ情報とを通信によりダウンロードする。
図2のS400において、外部装置200からプログラムの書き込みを要求されると、プログラムR/W部20は、外部装置200からブロック毎にプログラムとブロック番号とブロックのサイズ情報とを通信によりダウンロードする。
S402において、プログラムR/W部20は外部装置200からダウンロードしたプログラムとブロック番号とサイズ情報とをブロック毎にプログラム記憶領域100に書き込み、圧縮データ生成部30は外部装置200からダウンロードしたプログラムに対しブロック毎に圧縮データを生成する。
S404において、暗号処理部32は圧縮データ生成部30が生成した圧縮データを暗号化し、圧縮データR/W部34は暗号処理部32が暗号化した圧縮データとブロック番号とをブロック毎に圧縮データ記憶領域102に書き込む。
検証値R/W部40は、S406において、外部装置200から圧縮データの各ブロックに対応する検証値を通信によりダウンロードし、S408において、ダウンロードした検証値をブロック毎に検証値記憶領域104に書き込む。
ここで、悪意のある第3者が外部装置200により不正なプログラムの書き込みを要求すると、プログラム処理装置10は、外部装置200からダウンロードしたプログラムをブロック毎にプログラム記憶領域100に書き込み、プログラムの圧縮データをブロック毎に自動的に生成して圧縮データ記憶領域102に書き込む。
しかし、圧縮データおよび圧縮データに対する検証値の生成方法は外部からは不明であるから、不正なプログラムに対応して圧縮データ記憶領域102に書き込まれた圧縮データに基づいて検証値生成部42が生成する検証値を第3者が生成することはできない。
したがって、第3者は、不正なプログラムを圧縮した圧縮データに対応する検証値を送信できないか、検証値を送信しても、圧縮データ記憶領域102に書き込まれた圧縮データに基づいて検証値生成部42が生成する検証値とは異なる値である。
つまり、プログラムが不正に書き込まれると、書き込まれたプログラムと圧縮データとは対応するが、検証値記憶領域104に記憶されている検証値と、圧縮データ記憶領域102に書き込まれた圧縮データに基づいて検証値生成部42が生成する検証値とは一致しない。
(プログラム起動処理)
図3において実行されるプログラム起動処理のプログラムは、外部装置200から書込要求を受けない記憶領域またはROM等の書換不能な記憶領域に記憶されている。
図3において実行されるプログラム起動処理のプログラムは、外部装置200から書込要求を受けない記憶領域またはROM等の書換不能な記憶領域に記憶されている。
プログラム処理装置10への通電が開始されプログラムが起動されると、図3のS410において、プログラムR/W部20は、重要度の高い所定のプログラムをブロックのサイズ情報に基づいてプログラム記憶領域100から読み出し、圧縮データ生成部30は読み出されたプログラムの各ブロックに基づいて、起動時の異常判定用の圧縮データを生成する。
重要度の高い所定のプログラムは、車載ECUの場合、燃料噴射制御、アクセル開度検出等の車両の安全走行に関係するプログラムである。
S412において、圧縮データR/W部34はS410でプログラムR/W部20が読み出したプログラムと対応するブロックの圧縮データをブロック番号に基づいて圧縮データ記憶領域102から読出し、暗号処理部32は読み出された圧縮データを復号する。
S412において、圧縮データR/W部34はS410でプログラムR/W部20が読み出したプログラムと対応するブロックの圧縮データをブロック番号に基づいて圧縮データ記憶領域102から読出し、暗号処理部32は読み出された圧縮データを復号する。
S414において圧縮データ判定部36は、S410において生成された圧縮データと、S412において復号された圧縮データとを比較し、一致するか否かを判定する。一致しない場合(S414:No)、データ異常であると判断して異常フラグが設定され(S416)、本処理は終了する。
図3のプログラムの起動処理を実行しているときには異常処理プログラムはまだ起動されていないので、S416で異常フラグが設定されることにより、異常処理プログラムが起動されたときに異常フラグが設定されているか否かを判定できる。異常処理プログラムは、異常フラグの値に基づいて適切な処理を実行する。
圧縮データが一致する場合(S414:Yes)、S418において、圧縮データR/W部34は重要度に関係なく圧縮データ記憶領域102からすべての圧縮データを読出し、暗号処理部32は読み出された圧縮データを復号する。
S420において検証値生成部42は、復号された圧縮データに基づいてブロック毎に検証値を生成する。
S422において検証値判定部44は、検証値R/W部40が検証値記憶領域104から読み出した検証値と、S420において検証値生成部42が生成した検証値とを比較し、一致するか否かを判定する。一致する場合(S422:Yes)、本処理は終了する。
S422において検証値判定部44は、検証値R/W部40が検証値記憶領域104から読み出した検証値と、S420において検証値生成部42が生成した検証値とを比較し、一致するか否かを判定する。一致する場合(S422:Yes)、本処理は終了する。
一致しない場合(S422:No)、異常フラグが設定され(S416)、本処理は終了する。
(低負荷時処理)
図3のプログラム起動処理が終了し通常のプログラム処理に移行すると、図4のS430において、アイドリング中またはアイドルストップ中のように他のプログラムよりも処理負荷が低い所定の低負荷時であるか否かが判定される。
(低負荷時処理)
図3のプログラム起動処理が終了し通常のプログラム処理に移行すると、図4のS430において、アイドリング中またはアイドルストップ中のように他のプログラムよりも処理負荷が低い所定の低負荷時であるか否かが判定される。
所定の低負荷時の場合(S430:Yes)、圧縮データ生成部30はプログラムR/W部20がプログラム記憶領域100からサイズ情報に基づいて読み出したプログラムの各ブロックに基づいて、低負荷時の異常判定用の圧縮データを生成する(S432)。
S434において、圧縮データR/W部34は圧縮データ記憶領域102から各ブロックの圧縮データを読出し、暗号処理部32は読み出された圧縮データを復号する。
S436において圧縮データ判定部36は、S432において圧縮データ生成部30が生成した圧縮データと、S434において圧縮データ記憶領域102から読み出され復号された圧縮データとを比較し、一致するか否かを判定する。
S436において圧縮データ判定部36は、S432において圧縮データ生成部30が生成した圧縮データと、S434において圧縮データ記憶領域102から読み出され復号された圧縮データとを比較し、一致するか否かを判定する。
一致する場合(S436:Yes)、本処理は終了する。一致しない場合(S436:No)、データ異常であると圧縮データ判定部36は判断し、異常処理プログラムに異常を通知し(S438)、本処理は終了する。
以上説明した上記実施形態では、プログラムの起動時に、プログラムを圧縮した圧縮データに基づいて検証値を生成し、生成した検証値と予め書き込んでおいた正規の検証値とを比較してプログラムが改竄されたか否かを判定する。圧縮されていないプログラムに基づいて検証値を生成するよりも、プログラムを圧縮してデータ量が小さくなった圧縮データに基づいて検証値を生成する方が検証値を生成するために要する時間が短くなる。
その結果、プログラムの起動時に改竄の判定対象である全てのプログラムを圧縮した圧縮データに基づいて検証値を生成しても、プログラムの起動時間を極力短縮できる。さらに、判定対象である全てのプログラムを圧縮した圧縮データに基づいて検証値を生成し、記憶されている正規の検証値と比較するので、改竄の判定対象であるプログラムが改竄されているか否かを高精度に判定できる。
また、プログラムを書き込むときに、プログラム処理装置10がプログラムを自動的に圧縮して圧縮データを生成するので、外部から圧縮データを改竄することはできない。さらに、圧縮データを暗号化して書き込むので、圧縮データの解読が困難である。
また、検証値を比較するだけでなく、プログラム記憶領域100に記憶されているプログラムを圧縮して生成した圧縮データと、圧縮データ記憶領域102に記憶されている圧縮データとを比較することにより、プログラム記憶領域100または圧縮データ記憶領域102に記憶されているデータがビット反転等の偶発的故障により変化する異常を検出できる。
特に、プログラム起動時において重要度の高いプログラムについて圧縮データを比較して異常を検出することにより、重要度の高いプログラムのデータが偶発的故障により変化し、プログラムが暴走することを防止できる。
さらに、プログラム起動後においては、プログラムの処理負荷が所定の低負荷時においてすべてのプログラムについて圧縮データを比較して異常を検出することにより、プログラムが暴走することを防止できる。
[他の実施形態]
上記実施形態では、プログラムを圧縮した圧縮データを暗号化して圧縮データ記憶領域102に書き込んだ。これに対し、圧縮データを暗号化せずに圧縮データ記憶領域102に書き込んでもよい。また、プログラムをブロックに分割せずにプログラム全体を圧縮して一つの圧縮データとしてもよい。
上記実施形態では、プログラムを圧縮した圧縮データを暗号化して圧縮データ記憶領域102に書き込んだ。これに対し、圧縮データを暗号化せずに圧縮データ記憶領域102に書き込んでもよい。また、プログラムをブロックに分割せずにプログラム全体を圧縮して一つの圧縮データとしてもよい。
また、圧縮データ記憶領域102に書き込まれる圧縮データは、外部装置200から送信されるプログラムをプログラム処理装置10で自動的に圧縮するのではなく、外部装置200から送信されるものでもよい。
この場合にも、悪意のある第3者の場合、書き込まれる圧縮データに対応する正規の検証値を外部装置200から書き込むことはできないので、プログラムの起動時に、記憶されている検証値と圧縮データから生成される検証値とを比較することにより、プログラムが改竄されたか否かを適切に判定できる。
上記実施形態では、複数のブロックに分割された各ブロックの大きさ、ならびに各ブロックと各ブロックに対応する圧縮データとを関連付ける関連情報であるブロック番号をプログラムR/W部20がプログラム記憶領域100に書き込んだ。
これに対し、各ブロックの大きさとブロック番号とが書き込まれる情報記憶領域をプログラム記憶領域100とは異なる記憶領域にしてもよい。また、各ブロックの大きさとブロック番号とを情報記憶領域に書き込む情報書込手段を、プログラム書込手段であるプログラムR/W部20とは別に設けてもよい。
本発明のプログラム処理装置は、車両に搭載されるプログラム処理装置に限らず、どのような分野に適用されるプログラム処理装置であってもよい。
このように、本発明は、上記実施形態に限定されるものではなく、その要旨を逸脱しない範囲で種々の実施形態に適用可能である。
このように、本発明は、上記実施形態に限定されるものではなく、その要旨を逸脱しない範囲で種々の実施形態に適用可能である。
10:プログラム処理装置、20:プログラムR/W部(プログラム書込手段、情報書込手段)、30:圧縮データ生成部(圧縮データ生成手段)、32:暗号処理部(暗号処理手段)、34:圧縮データR/W部(圧縮データ書込手段)、36:圧縮データ判定部(圧縮データ判定手段)、40:検証値R/W部(検証値書込手段)、42:検証値生成部(検証値生成手段)、44:検証値判定部(検証値判定手段)、100:プログラム記憶領域(情報記憶領域)、102:圧縮データ記憶領域、104:検証値記憶領域、200:外部装置
Claims (7)
- 書込要求に応じてプログラム記憶領域(100)にプログラムを書き込むプログラム書込手段(20、S400、S402)と、
前記プログラムを圧縮した圧縮データを圧縮データ記憶領域(102)に書き込む圧縮データ書込手段(34、S404)と、
前記圧縮データの正当性を検証するための第1検証値を検証値記憶領域(104)に書き込む検証値書込手段(40、S406、S408)と、
前記プログラムの起動時に、前記圧縮データ記憶領域に記憶されている前記圧縮データに基づいて前記第1検証値と比較するための第2検証値を生成する検証値生成手段(42、S420)と、
前記プログラムの起動時に、前記検証値記憶領域に記憶されている前記第1検証値と前記検証値生成手段が生成する前記第2検証値とを比較して前記プログラムが改竄されているか否かを判定する検証値判定手段(44、S422)と、
を備えることを特徴とするプログラム処理装置(10)。 - 前記圧縮データ書込手段が前記圧縮データ記憶領域に書き込む前記圧縮データを前記プログラムを圧縮して自動的に生成する圧縮データ生成手段(30、S402)を備えることを特徴とする請求項1に記載のプログラム処理装置。
- 前記プログラムは複数のブロックに分割されており、各ブロックの大きさ、ならびに各ブロックと各ブロックに対応する前記圧縮データとを関連付ける関連情報を情報記憶領域(100)に書き込む情報書込手段(20、S400、S402)を備えることを特徴とする請求項1または2に記載のプログラム処理装置。
- 重要度の高い前記プログラムの前記ブロックの大きさが重要度の低い前記プログラムの前記ブロックの大きさよりも小さくなるように前記プログラムは分割されていることを特徴とする請求項3に記載のプログラム処理装置。
- 前記プログラムの処理負荷が所定の低負荷時に、前記プログラム記憶領域に記憶されている前記プログラムを圧縮して前記所定の低負荷時の異常判定用の圧縮データを生成する圧縮データ生成手段(30、S432)と、
前記所定の低負荷時に、前記圧縮データ記憶領域に記憶されている前記圧縮データと前記圧縮データ生成手段が生成する前記所定の低負荷時の異常判定用の圧縮データとを比較してデータ異常であるか否かを判定する圧縮データ判定手段(36、S436)と、
を備えることを特徴とする請求項1から4のいずれか一項に記載のプログラム処理装置。 - 前記プログラムの起動時に、前記プログラム記憶領域に記憶されている前記プログラムのうち重要度の高い所定の前記プログラムを圧縮して前記起動時の異常判定用の圧縮データを生成する圧縮データ生成手段(30、S410)と、
前記プログラムの起動時に、前記圧縮データ記憶領域に記憶されている前記圧縮データと前記圧縮データ生成手段が生成する前記起動時の異常判定用の圧縮データとを比較してデータ異常であるか否かを判定する圧縮データ判定手段(36、S422)と、
を備えることを特徴とする請求項1から5のいずれか一項に記載のプログラム処理装置。 - 前記圧縮データ書込手段が前記圧縮データ記憶領域に書き込む前記圧縮データを暗号化し、暗号化された前記圧縮データが前記圧縮データ記憶領域から読み出されるときに復号する暗号処理手段(32、S404、S412、S434)を備えることを特徴とする請求項1から6のいずれか一項に記載のプログラム処理装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013182155A JP2015049785A (ja) | 2013-09-03 | 2013-09-03 | プログラム処理装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013182155A JP2015049785A (ja) | 2013-09-03 | 2013-09-03 | プログラム処理装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2015049785A true JP2015049785A (ja) | 2015-03-16 |
Family
ID=52699722
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2013182155A Pending JP2015049785A (ja) | 2013-09-03 | 2013-09-03 | プログラム処理装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2015049785A (ja) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2016185577A1 (ja) * | 2015-05-20 | 2016-11-24 | 富士通株式会社 | プログラム検証方法、検証プログラム、及び情報処理装置 |
JP2018512010A (ja) * | 2015-04-15 | 2018-04-26 | クアルコム,インコーポレイテッド | セキュアなソフトウェアの認証と検証 |
CN113178398A (zh) * | 2020-01-24 | 2021-07-27 | 株式会社国际电气 | 基板处理装置、半导体器件的制造方法及记录介质 |
-
2013
- 2013-09-03 JP JP2013182155A patent/JP2015049785A/ja active Pending
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2018512010A (ja) * | 2015-04-15 | 2018-04-26 | クアルコム,インコーポレイテッド | セキュアなソフトウェアの認証と検証 |
WO2016185577A1 (ja) * | 2015-05-20 | 2016-11-24 | 富士通株式会社 | プログラム検証方法、検証プログラム、及び情報処理装置 |
JPWO2016185577A1 (ja) * | 2015-05-20 | 2018-02-22 | 富士通株式会社 | プログラム検証方法、検証プログラム、及び情報処理装置 |
US10872141B2 (en) | 2015-05-20 | 2020-12-22 | Fujitsu Limited | Method and apparatus for program verification |
CN113178398A (zh) * | 2020-01-24 | 2021-07-27 | 株式会社国际电气 | 基板处理装置、半导体器件的制造方法及记录介质 |
JP2021117628A (ja) * | 2020-01-24 | 2021-08-10 | 株式会社Kokusai Electric | 基板処理装置、半導体装置の製造方法およびプログラム |
JP7039632B2 (ja) | 2020-01-24 | 2022-03-22 | 株式会社Kokusai Electric | 基板処理装置、基板処理方法およびプログラム |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8533492B2 (en) | Electronic device, key generation program, recording medium, and key generation method | |
CN109710315B (zh) | Bios刷写方法及bios镜像文件的处理方法 | |
US8683213B2 (en) | Progressive boot for a wireless device | |
US9239920B2 (en) | Generation of working security key based on security parameters | |
CN109714303B (zh) | Bios启动方法及数据处理方法 | |
JP2022527757A (ja) | 物理複製困難関数を使用したコンピューティングデバイスのidの生成 | |
JP2022528641A (ja) | 秘密鍵を使用したアイデンティティの検証 | |
US11321168B2 (en) | Error identification in executed code | |
JP7101318B2 (ja) | メモリ内のデータアテステーション | |
CN109445705B (zh) | 固件认证方法及固态硬盘 | |
US11816202B2 (en) | Run-time code execution validation | |
JP6387908B2 (ja) | 認証システム | |
US20080104403A1 (en) | Methods and apparatus for data authentication with multiple keys | |
KR101954439B1 (ko) | 이중보안기능을 가지는 SoC 및 SoC의 이중보안방법 | |
US8418256B2 (en) | Memory control apparatus, content playback apparatus, control method and recording medium | |
US20160301532A1 (en) | Device security | |
KR101988404B1 (ko) | 이중보안기능을 가지는 SoC 및 SoC의 이중보안방법 | |
JP2015049785A (ja) | プログラム処理装置 | |
CN114817931A (zh) | 基于星型信任链的终端安全防护方法、装置、设备及介质 | |
JP2019020872A (ja) | 電子制御装置、プログラム改ざん検知方法 | |
JP2022527904A (ja) | 無線更新の有効性確認 | |
CN116561734A (zh) | 一种验证方法、装置、计算机及计算机配置系统 | |
CN108376212B (zh) | 执行代码安全保护方法、装置及电子装置 | |
CN114995918A (zh) | 基板管理控制器的启动方法、配置方法、装置及电子设备 | |
US10892890B2 (en) | Hash offset based key version embedding |