JP2006011605A - データ検査方式 - Google Patents
データ検査方式 Download PDFInfo
- Publication number
- JP2006011605A JP2006011605A JP2004184793A JP2004184793A JP2006011605A JP 2006011605 A JP2006011605 A JP 2006011605A JP 2004184793 A JP2004184793 A JP 2004184793A JP 2004184793 A JP2004184793 A JP 2004184793A JP 2006011605 A JP2006011605 A JP 2006011605A
- Authority
- JP
- Japan
- Prior art keywords
- data
- checksum
- identification information
- stored
- image processing
- 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
Landscapes
- Detection And Correction Of Errors (AREA)
- Storage Device Security (AREA)
Abstract
【課題】 メモリ等に記憶されたデータとチェックサムとの総和値が所定値となるか否かで前記記憶されたデータを検査するデータ検査方式であっても,前記チェックサムの記憶されたアドレスが既知であるか否かにかかわらず前記記憶されたデータを識別することを可能としたデータ検査方式を提供する。
【解決手段】 ステップS4では,画像処理プログラムのデータ,チェックサム,及び識別情報の総和値が算出され,識別情報が抽出される。
そして,前記抽出された前記識別情報に基づいて,前記画像処理プログラムのバージョン等が識別される(ステップS5,データ識別手段に相当)。
【選択図】 図2
【解決手段】 ステップS4では,画像処理プログラムのデータ,チェックサム,及び識別情報の総和値が算出され,識別情報が抽出される。
そして,前記抽出された前記識別情報に基づいて,前記画像処理プログラムのバージョン等が識別される(ステップS5,データ識別手段に相当)。
【選択図】 図2
Description
本発明は,メモリ等に記憶されたデータとチェックサムとの総和値が所定値となるか否かで前記記憶されたデータを検査するデータ検査方式に関し,特に,前記チェックサムの記憶されたアドレスが既知であるか否かにかかわらず前記記憶されたデータを識別することを可能にしたデータ検査方式に関するものである。
プログラムやデータベースなどのデータを記憶するROMやRAM等のメモリ,ハードディスク等の記憶手段や,前記データを送受信するデータ伝送などにおいては,高電圧や静電気などのノイズによる外的要因によって前記データが破壊される可能性がある。また,前記データが,前記データを改竄する権限を持たない第三者によって不正に改竄される危険性も否定できない。
したがって,通常,前記記憶手段に記憶された前記データの使用(例えば,前記データがプログラムであればそれを実行する)に際して,或いは前記データ伝送による前記データの受信に際しては,前記データに誤りがないかを検査する必要がある。
したがって,通常,前記記憶手段に記憶された前記データの使用(例えば,前記データがプログラムであればそれを実行する)に際して,或いは前記データ伝送による前記データの受信に際しては,前記データに誤りがないかを検査する必要がある。
例えば,特許文献1には,データを記憶するメモリに,前記データとチェックサムとを含む前記メモリ内の全データの総和値が0(所定値)となる前記チェックサムを予め記憶しておき,前記データの検査時には,前記メモリ内の全データの総和値を算出し,該算出した総和値が0となるか否かで前記データを検査するデータ検査方式が提案されている。
これによって,前記外的要因によって破壊され或いは不正に改竄された不当な前記データの使用が防止される。したがって結果的に,前記データを使用する機器の暴走や故障などのトラブルが防止される。
特開2000−330810号公報
これによって,前記外的要因によって破壊され或いは不正に改竄された不当な前記データの使用が防止される。したがって結果的に,前記データを使用する機器の暴走や故障などのトラブルが防止される。
一方,上記メモリ等に記憶されたデータのバージョン等を確認するためには,前記データの総和値を識別情報として用いることが一つの方法として考えられる。
しかしながら,上記のように,データとチェックサムとの総和値が0(所定値)となるか否かで前記データを検査するデータ検査方式においては,前記データが正当であれば,前記総和値は,前記データの内容如何にかかわらず常に0となるため,前記データの総和値に基づいて,前記データを識別することはできなかった。
一方,前記チェックサムを抽出し,前記チェックサムに基づいて前記データを識別することは可能であるが,この場合,前記チェックサムは後で抽出可能なように予め定められた(既知の)アドレスに記憶されている必要がある。しかし,前記チェックサムが,既知のアドレスに記憶されていれば,前記データを不正に改竄しようとする際に,前記チェックサムを前記データの検査時に不当であることが判定されないような値に改竄することが容易となるため,データ保護の観点から好ましくない。
しかしながら,上記のように,データとチェックサムとの総和値が0(所定値)となるか否かで前記データを検査するデータ検査方式においては,前記データが正当であれば,前記総和値は,前記データの内容如何にかかわらず常に0となるため,前記データの総和値に基づいて,前記データを識別することはできなかった。
一方,前記チェックサムを抽出し,前記チェックサムに基づいて前記データを識別することは可能であるが,この場合,前記チェックサムは後で抽出可能なように予め定められた(既知の)アドレスに記憶されている必要がある。しかし,前記チェックサムが,既知のアドレスに記憶されていれば,前記データを不正に改竄しようとする際に,前記チェックサムを前記データの検査時に不当であることが判定されないような値に改竄することが容易となるため,データ保護の観点から好ましくない。
したがって,本発明は上記事情に鑑みてなされたものであり,その目的とするところは,メモリ等に記憶されたデータとチェックサムとの総和値が所定値となるか否かで前記記憶されたデータを検査するデータ検査方式であっても,前記チェックサムの記憶されたアドレスが既知であるか否かにかかわらず前記記憶されたデータを識別することを可能としたデータ検査方式を提供することにある。
上記の目的を達成するために本発明は,データ記憶手段に記憶されたデータ,前記データ記憶手段に記憶されたデータとチェックサムとの総和値が所定値となるように設定された前記チェックサム,及び前記チェックサムに応じて定まり前記データ記憶手段に記憶されたデータを識別するための識別情報が,予め夫々の記憶手段に記憶されており,前記識別情報に基づいて前記データ記憶手段に記憶されたデータを識別するよう構成されている。
したがって,本発明によれば,例えば,前記データ記憶手段に記憶されたデータと前記チェックサムとの総和値が所定値となるか否かで前記データ記憶手段に記憶されたデータを検査するデータ検査方式であっても,前記チェックサムの記憶されたアドレスが既知であるか否かにかかわらず前記データ記憶手段に記憶されたデータを識別することが可能となる。
ここで,前記識別情報としては,前記チェックサムをビット反転した値を採用することができる。もちろん,その他にも前記チェックサムの値そのものや,前記チェックサムに所定の演算を施して求まる値などであっても良いし,これに限られない。
また,前記データ記憶手段に記憶されたデータ,前記チェックサム,及び前記識別情報のいずれか2以上が,同一の記憶手段,例えば,ROMやRAM等のメモリ,ハードディスク等に記憶される構成においても適用可能である。
したがって,本発明によれば,例えば,前記データ記憶手段に記憶されたデータと前記チェックサムとの総和値が所定値となるか否かで前記データ記憶手段に記憶されたデータを検査するデータ検査方式であっても,前記チェックサムの記憶されたアドレスが既知であるか否かにかかわらず前記データ記憶手段に記憶されたデータを識別することが可能となる。
ここで,前記識別情報としては,前記チェックサムをビット反転した値を採用することができる。もちろん,その他にも前記チェックサムの値そのものや,前記チェックサムに所定の演算を施して求まる値などであっても良いし,これに限られない。
また,前記データ記憶手段に記憶されたデータ,前記チェックサム,及び前記識別情報のいずれか2以上が,同一の記憶手段,例えば,ROMやRAM等のメモリ,ハードディスク等に記憶される構成においても適用可能である。
更に,前記チェックサムが,前記記憶手段の既知のアドレスに予め記憶されている場合には,前記識別情報に基づいて前記データ記憶手段に記憶されたデータ及び/又は前記チェックサムを検査することも可能である。
これによれば,前記チェックサムに基づいた前記データ記憶手段に記憶されたデータの検査と,前記識別情報に基づいた前記データ記憶手段に記憶されたデータの検査との二重検査が可能となり,前記データ記憶手段に記憶されたデータの信頼性を向上させることができる。
また,前記識別情報に基づいて前記チェックサムを検査すれば,前記チェックサム或いは前記識別情報に基づいた前記データ記憶手段に記憶されたデータの検査における信頼性を向上させることができ,結果的に前記データ記憶手段に記憶されたデータの信頼性をさらに向上させることができる。
さらに,前記識別情報に基づいて前記データ記憶手段に記憶されたデータ及び前記チェックサムの検査を行うことにより,前記データ記憶手段に記憶されたデータと前記チェックサムのどちらが誤りであるかを判断することも可能となる。
これによれば,前記チェックサムに基づいた前記データ記憶手段に記憶されたデータの検査と,前記識別情報に基づいた前記データ記憶手段に記憶されたデータの検査との二重検査が可能となり,前記データ記憶手段に記憶されたデータの信頼性を向上させることができる。
また,前記識別情報に基づいて前記チェックサムを検査すれば,前記チェックサム或いは前記識別情報に基づいた前記データ記憶手段に記憶されたデータの検査における信頼性を向上させることができ,結果的に前記データ記憶手段に記憶されたデータの信頼性をさらに向上させることができる。
さらに,前記識別情報に基づいて前記データ記憶手段に記憶されたデータ及び前記チェックサムの検査を行うことにより,前記データ記憶手段に記憶されたデータと前記チェックサムのどちらが誤りであるかを判断することも可能となる。
本発明によれば,データ記憶手段に記憶されたデータとチェックサムとの総和値が所定値となるか否かで前記データ記憶手段に記憶されたデータを検査するデータ検査方式であっても,前記チェックサムの記憶されたアドレスが既知であるか否かにかかわらず前記データ記憶手段に記憶されたデータを識別することが可能となる。
以下添付図面を参照しながら,本発明の実施の形態について説明し,本発明の理解に供する。尚,以下の実施の形態は,本発明を具体化した一例であって,本発明の技術的範囲を限定する性格のものではない。
以下に説明する本実施形態は,データ,及び,前記データとチェックサムとの総和値が所定値となるように設定された前記チェックサムをメモリ等の記憶手段に予め記憶しておき,前記記憶手段に記憶されたデータと前記チェックサムとの総和値が所定値となるか否かで前記記憶手段に記憶されたデータを検査するデータ検査方式に関し,更に,前記記憶手段に,前記チェックサムに応じて定まり前記記憶手段に記憶されたデータを識別するための識別情報前を記憶しておき,前記識別情報に基づいて前記記憶手段に記憶されたデータを識別するよう構成されたデータ検査方式の一例である。
なお,本実施形態では,前記データ検査方式の採用例として,画像処理装置において用いられる前記データ検査方式を例に挙げて説明するが,その他データ伝送においても同様に実施可能であるし,また,これに限られない。
以下に説明する本実施形態は,データ,及び,前記データとチェックサムとの総和値が所定値となるように設定された前記チェックサムをメモリ等の記憶手段に予め記憶しておき,前記記憶手段に記憶されたデータと前記チェックサムとの総和値が所定値となるか否かで前記記憶手段に記憶されたデータを検査するデータ検査方式に関し,更に,前記記憶手段に,前記チェックサムに応じて定まり前記記憶手段に記憶されたデータを識別するための識別情報前を記憶しておき,前記識別情報に基づいて前記記憶手段に記憶されたデータを識別するよう構成されたデータ検査方式の一例である。
なお,本実施形態では,前記データ検査方式の採用例として,画像処理装置において用いられる前記データ検査方式を例に挙げて説明するが,その他データ伝送においても同様に実施可能であるし,また,これに限られない。
ここに,図1は,ROM1内のデータ構成を示す図,図2は,データ検査処理手順の例を示すフローチャートである。
上記画像処理装置は,該画像処理装置に画像処理を実行させるための画像処理プログラム等を記憶するROM1と,後述するデータ検査処理を前記画像処理装置に実行させるためのデータ検査プログラム等を記憶する記憶手段と,前記各プログラムを実行するためのCPUなどの制御手段とを備えて大略構成されている。前記データ検査プログラムは,前記ROM1に記憶されていても良く,また,これに限られない。
前記ROM1は,図1に示すように,各種のデータを1バイト(8ビット)毎に1つのアドレスに記憶する記憶領域10を有しており,前記記憶領域10には,前記画像処理プログラムのデータを記憶するデータ記憶領域11(データ記憶手段に相当),前記画像処理プログラムのデータとチェックサムとの総和値が所定値となる前記チェックサムを予め記憶するチェックサム記憶領域12(チェックサム記憶手段に相当),及び前記チェックサムに応じて定まり前記画像処理プログラムを識別するための識別情報を予め記憶する識別情報記憶領域13(識別情報記憶手段に相当)が含まれている。なお,前記記憶領域10は,前記ROM1内の全ての記憶領域,或いは所定のデータ(ヘッダ等)の記憶領域を除いた記憶領域である。なお,前記ROM1として,1バイト(8ビット)長のデータを扱う8ビットメモリROMを採用しているがこれに限られず,16ビットメモリROMやその他のメモリ(ROM)を採用しても構わない。
上記画像処理装置は,該画像処理装置に画像処理を実行させるための画像処理プログラム等を記憶するROM1と,後述するデータ検査処理を前記画像処理装置に実行させるためのデータ検査プログラム等を記憶する記憶手段と,前記各プログラムを実行するためのCPUなどの制御手段とを備えて大略構成されている。前記データ検査プログラムは,前記ROM1に記憶されていても良く,また,これに限られない。
前記ROM1は,図1に示すように,各種のデータを1バイト(8ビット)毎に1つのアドレスに記憶する記憶領域10を有しており,前記記憶領域10には,前記画像処理プログラムのデータを記憶するデータ記憶領域11(データ記憶手段に相当),前記画像処理プログラムのデータとチェックサムとの総和値が所定値となる前記チェックサムを予め記憶するチェックサム記憶領域12(チェックサム記憶手段に相当),及び前記チェックサムに応じて定まり前記画像処理プログラムを識別するための識別情報を予め記憶する識別情報記憶領域13(識別情報記憶手段に相当)が含まれている。なお,前記記憶領域10は,前記ROM1内の全ての記憶領域,或いは所定のデータ(ヘッダ等)の記憶領域を除いた記憶領域である。なお,前記ROM1として,1バイト(8ビット)長のデータを扱う8ビットメモリROMを採用しているがこれに限られず,16ビットメモリROMやその他のメモリ(ROM)を採用しても構わない。
ここで,上述したように,前記チェックサムが記憶されたチェックサム記憶領域12のアドレスが既知,即ち前記チェックサムが予め定められたアドレスに記憶されていれば,前記画像処理プログラムのデータ及び前記チェックサムが不正に改竄される危険性が高くなり,データ保護の観点から好ましくない。したがって,前記チェックサム記憶領域12のアドレスは,既知でないことが望ましく,本実施形態においても前記チェックサム記憶領域12のアドレスが既知でない場合について説明する。ここではその例として,図1に示すように,前記チェックサム記憶領域12は,前記データ記憶領域11と区別ができないように混交して設けられている。もちろん,必ず前記チェックサム記憶領域12のアドレスが既知でないことを必須条件としているわけではなく,既知であることを除くものではない。
一方,逆に前記識別情報が記憶された前記識別情報記憶領域13のアドレスは,後述するように前記識別情報を前記画像処理プログラムのデータや前記チェックサムと区別して扱う必要があるため,既知であることが必要となる。本実施形態ではその例として,図1に示すように,前記識別情報記憶領域13が,前記ROM1の記憶領域10の最下位アドレスに設けられている場合について説明するが,その他,前記記憶領域10内の任意のアドレスであっても良いし,その他,前記識別情報が記憶されている前記識別情報記憶領域13のアドレスが既知であれば良い。
一方,逆に前記識別情報が記憶された前記識別情報記憶領域13のアドレスは,後述するように前記識別情報を前記画像処理プログラムのデータや前記チェックサムと区別して扱う必要があるため,既知であることが必要となる。本実施形態ではその例として,図1に示すように,前記識別情報記憶領域13が,前記ROM1の記憶領域10の最下位アドレスに設けられている場合について説明するが,その他,前記記憶領域10内の任意のアドレスであっても良いし,その他,前記識別情報が記憶されている前記識別情報記憶領域13のアドレスが既知であれば良い。
続いて,前記ROM1に記憶された前記チェックサム及び前記識別情報についてそれぞれ説明する。以下,本実施形態では,説明の便宜上,簡略化のために前記データ記憶領域11に記憶された前記画像処理プログラムを2進数で示したデータが,「01000010」,「00100101」,「00010001」の3バイトのデータであり,その他の前記データ記憶領域11は空領域(全て「00000000」)であるとする。
前記チェックサム記憶領域12に記憶された前記チェックサムは,前記画像処理プログラムのデータと前記チェックサムとの総和値が所定値となる値であり,本実施形態では,その一例として,前記画像処理プログラムのデータと前記チェックサムとを数値とみなしてバイト毎の合計を取った総和値の下位1バイトが「00000000」となる値を採用する。このとき,前記総和値に桁あふれが生じた場合にはその桁あふれ分は切り捨てることとする(以下,同様)。
したがって,本実施形態における前記チェックサムは,前記画像処理プログラムのデータの総和値「01111000」に加えて下位1バイトが「00000000」となる値,つまり「10001000」である。このように,本実施形態では,前記総和値の下位1バイトが「00000000」となる値を前記チェックサムとして採用しているが,これに限られるものではなく,その他,前記総和値の下位1バイトが「11111111」となる値を採用すること等も考えられる。
一方,前記識別情報記憶領域13に記憶された前記識別情報は,前記チェックサムに応じて定まり前記画像処理プログラムを識別するための情報であり,本実施形態では,その一例として,前記チェックサムをビット反転させた値を前記識別情報として採用する。
したがって,本実施形態における前記識別情報は,前記チェックサム「10001000」のビット反転値「01110111」である。このように,本実施形態では,前記識別情報に,前記チェックサムのビット反転値を採用しているが,その他,前記チェックサムの値そのものや,前記チェックサムに所定の演算を施して求まる値などを採用することも考えられ,また,これらに限られるものない。
なお,上記画像処理プログラム,上記チェックサム,及び上記識別情報は,前記ROM1に前記各データを記録するROMライタなどの記録装置によって,電気的な手法など,ROM1の仕様に応じた手法で予め上記夫々の記憶領域に記録される。
また,本実施形態では,上記画像処理プログラム,上記チェックサム,及び上記識別情報が同一のROM1(記憶手段)に記憶されていることを前提に説明するが,前記各データ(画像処理プログラム,チェックサム,及び識別情報)は,1又は複数毎に別の記憶手段に記憶されているものであっても構わない。
前記チェックサム記憶領域12に記憶された前記チェックサムは,前記画像処理プログラムのデータと前記チェックサムとの総和値が所定値となる値であり,本実施形態では,その一例として,前記画像処理プログラムのデータと前記チェックサムとを数値とみなしてバイト毎の合計を取った総和値の下位1バイトが「00000000」となる値を採用する。このとき,前記総和値に桁あふれが生じた場合にはその桁あふれ分は切り捨てることとする(以下,同様)。
したがって,本実施形態における前記チェックサムは,前記画像処理プログラムのデータの総和値「01111000」に加えて下位1バイトが「00000000」となる値,つまり「10001000」である。このように,本実施形態では,前記総和値の下位1バイトが「00000000」となる値を前記チェックサムとして採用しているが,これに限られるものではなく,その他,前記総和値の下位1バイトが「11111111」となる値を採用すること等も考えられる。
一方,前記識別情報記憶領域13に記憶された前記識別情報は,前記チェックサムに応じて定まり前記画像処理プログラムを識別するための情報であり,本実施形態では,その一例として,前記チェックサムをビット反転させた値を前記識別情報として採用する。
したがって,本実施形態における前記識別情報は,前記チェックサム「10001000」のビット反転値「01110111」である。このように,本実施形態では,前記識別情報に,前記チェックサムのビット反転値を採用しているが,その他,前記チェックサムの値そのものや,前記チェックサムに所定の演算を施して求まる値などを採用することも考えられ,また,これらに限られるものない。
なお,上記画像処理プログラム,上記チェックサム,及び上記識別情報は,前記ROM1に前記各データを記録するROMライタなどの記録装置によって,電気的な手法など,ROM1の仕様に応じた手法で予め上記夫々の記憶領域に記録される。
また,本実施形態では,上記画像処理プログラム,上記チェックサム,及び上記識別情報が同一のROM1(記憶手段)に記憶されていることを前提に説明するが,前記各データ(画像処理プログラム,チェックサム,及び識別情報)は,1又は複数毎に別の記憶手段に記憶されているものであっても構わない。
次に,図2のフローチャートを用いて,前記画像処理装置において,前記記憶手段に記憶された前記データ検査プログラムが前記制御手段によって実行されるデータ検査処理手順について説明する。以下の説明中に記載されるS1,S2,…は処理手順(ステップ)の番号を表している。
ユーザによる操作ボタン等の操作手段(不図示)の操作によって,前記画像処理装置が起動されると,前記画像処理装置では,前記ROM1に記憶された前記画像処理プログラムの実行前に,前記画像処理プログラムの信頼性を確保するため,前記画像処理プログラムのデータを検査する前記データ検査プログラムが前記制御手段によって実行される。
図2に示すように,前記データ検査プログラムが前記制御手段によって実行されるデータ検査処理手順では,まず,下記のステップS1〜S2において前記画像処理プログラムのデータが検査される。ステップS1では,上記ROM1の前記データ記憶領域11に記憶された前記画像処理プログラムのデータと前記チェックサム記憶領域12に記憶された前記チェックサムとの総和値が算出される。このとき,前記ROM1の識別情報記憶領域13のアドレスは,上述したように既知であるので,前記識別情報記憶領域13に記憶された前記識別情報は,前記ステップS1における総和値の算出時には加算しないように除外できる。即ち,前記チェックサム記憶領域12のアドレスは既知でなくても,既知である識別情報記憶領域13を除外した記憶領域10内の総和値を算出することができる。
そして,前記算出された前記総和値の下位1バイトの値が「00000000」となるか否かが判定される(ステップS2)。ここで,上記画像処理プログラムのデータ「01000010」,「00100101」,「00010001」と,上記チェックサム「10001000」との総和値の下位1バイトの値が,「00000000」となった場合(ステップS2においてYes)には,前記画像処理プログラムのデータには誤りがなく正当であると判定され,ステップS4に移行する。
一方,前記画像処理プログラムのデータの破壊或いは不正な改竄などによって,前記検査対象領域の総和値の下位1バイトが「00000000」とならない場合(ステップS2においてNo)には,前記画像処理プログラムのデータが誤りであると判定され,前記ROM1の使用が中止されて(ステップS3),当該データ検査処理手順は終了する。このとき,前記画像処理装置が備えるディスプレイなどの表示手段(不図示)に,前記画像処理プログラムが正当でないことが表示されても良い。
ユーザによる操作ボタン等の操作手段(不図示)の操作によって,前記画像処理装置が起動されると,前記画像処理装置では,前記ROM1に記憶された前記画像処理プログラムの実行前に,前記画像処理プログラムの信頼性を確保するため,前記画像処理プログラムのデータを検査する前記データ検査プログラムが前記制御手段によって実行される。
図2に示すように,前記データ検査プログラムが前記制御手段によって実行されるデータ検査処理手順では,まず,下記のステップS1〜S2において前記画像処理プログラムのデータが検査される。ステップS1では,上記ROM1の前記データ記憶領域11に記憶された前記画像処理プログラムのデータと前記チェックサム記憶領域12に記憶された前記チェックサムとの総和値が算出される。このとき,前記ROM1の識別情報記憶領域13のアドレスは,上述したように既知であるので,前記識別情報記憶領域13に記憶された前記識別情報は,前記ステップS1における総和値の算出時には加算しないように除外できる。即ち,前記チェックサム記憶領域12のアドレスは既知でなくても,既知である識別情報記憶領域13を除外した記憶領域10内の総和値を算出することができる。
そして,前記算出された前記総和値の下位1バイトの値が「00000000」となるか否かが判定される(ステップS2)。ここで,上記画像処理プログラムのデータ「01000010」,「00100101」,「00010001」と,上記チェックサム「10001000」との総和値の下位1バイトの値が,「00000000」となった場合(ステップS2においてYes)には,前記画像処理プログラムのデータには誤りがなく正当であると判定され,ステップS4に移行する。
一方,前記画像処理プログラムのデータの破壊或いは不正な改竄などによって,前記検査対象領域の総和値の下位1バイトが「00000000」とならない場合(ステップS2においてNo)には,前記画像処理プログラムのデータが誤りであると判定され,前記ROM1の使用が中止されて(ステップS3),当該データ検査処理手順は終了する。このとき,前記画像処理装置が備えるディスプレイなどの表示手段(不図示)に,前記画像処理プログラムが正当でないことが表示されても良い。
上記ステップS2において前記画像処理プログラムに誤りがないと判定されると,続いて下記のステップS4〜S5が実行され,前記画像処理プログラムのバージョン等が識別される。ステップS4では,上記ステップS1で算出された総和値とは異なり,上記記憶領域10内の全データの総和値,即ち,前記画像処理プログラムのデータ,前記チェックサム,及び前記識別情報の総和値が算出される。このとき,前述したように前記画像処理プログラムのデータと前記チェックサムとの総和値の下位1バイトは「00000000」となることが上記ステップS2の処理において確認されているため,前記記憶領域10内の全データの総和値の下位1バイトは,前記識別情報の値のみからなる。即ち,ここでは,前記識別情報が抽出されることになる。なお,上記したように,前記識別情報が記憶された識別情報記憶領域13のアドレスは既知であるから,前記識別情報は,前記アドレスから直接抽出されても構わない。
そして,前記抽出された前記識別情報に基づいて,前記画像処理プログラムのバージョン等が識別され(ステップS5,データ識別手段に相当),当該データ検査処理手順は終了する。ここで,前記識別情報は,前記チェックサム「10001000」に応じて一義的に定まる値(前記チェックサムの反転値)「011101111」であるから,前記画像処理プログラムのデータから一義的に定まる値でもある。したがって,前記識別情報に基づいて前記画像処理プログラムのバージョン等を識別することが可能となる。このとき,前記識別情報の値「01110111」がバージョン等を表すものとして扱ってもよいし,前記識別情報の値に応じてバージョン等を識別するためのデータテーブルなどが前記画像処理装置の前記記憶手段或いはROM1などに予め記憶されており,前記データテーブルに基づいて,前記識別情報から前記画像処理プログラムのバージョン等を識別することも採用し得る。上記のように識別された前記画像処理プログラムのバージョン等は,前記画像処理装置が備える上記表示手段によってユーザに対して表示されても良いし,また,前記画像処理装置にとって適切なバージョンであるか否かを自動的に判定する指標に供することもでき,前記画像処理装置において有効に用いられる。
そして,前記抽出された前記識別情報に基づいて,前記画像処理プログラムのバージョン等が識別され(ステップS5,データ識別手段に相当),当該データ検査処理手順は終了する。ここで,前記識別情報は,前記チェックサム「10001000」に応じて一義的に定まる値(前記チェックサムの反転値)「011101111」であるから,前記画像処理プログラムのデータから一義的に定まる値でもある。したがって,前記識別情報に基づいて前記画像処理プログラムのバージョン等を識別することが可能となる。このとき,前記識別情報の値「01110111」がバージョン等を表すものとして扱ってもよいし,前記識別情報の値に応じてバージョン等を識別するためのデータテーブルなどが前記画像処理装置の前記記憶手段或いはROM1などに予め記憶されており,前記データテーブルに基づいて,前記識別情報から前記画像処理プログラムのバージョン等を識別することも採用し得る。上記のように識別された前記画像処理プログラムのバージョン等は,前記画像処理装置が備える上記表示手段によってユーザに対して表示されても良いし,また,前記画像処理装置にとって適切なバージョンであるか否かを自動的に判定する指標に供することもでき,前記画像処理装置において有効に用いられる。
本実施形態では,上述したように,前記画像処理プログラムのデータ,前記チェックサム,及び前記識別情報の総和値の下位1バイトは,前記識別情報の値のみからなることを利用し,前記算出したこれらの総和値の下位1バイトと前記識別情報記憶領域13に予め記憶された前記識別情報とが一致するか否かを検査するよう構成することも考えられる。
これによれば,前記画像処理プログラムのデータと前記チェックサムとの総和値の下位1バイトが「00000000」となるか否かが再検査されることになり,結果的に前記画像処理プログラムのデータの信頼性が向上する。
これによれば,前記画像処理プログラムのデータと前記チェックサムとの総和値の下位1バイトが「00000000」となるか否かが再検査されることになり,結果的に前記画像処理プログラムのデータの信頼性が向上する。
上記実施形態においては,上記チェックサムが記憶されているアドレスが既知でない場合について説明したが,前記アドレスが既知である場合にも,もちろん前記実施形態同様に前記画像処理プログラムのバージョン等を識別することが可能である。
以下に示す実施例は,前記チェックサムが既知のアドレスに記憶されていることを前提としたデータ検査方式を示すものであり,ここではその一例として,記憶領域の最下位アドレスの一つ上位アドレスがチェックサム記憶領域であることが既知であることを前提としたデータ検査方式を説明する。
ここに,図3は,ROM1とは別のデータ構成を有するROM2内のデータ構成を示す図,図4は,データ検査処理手順の別の例を示すフローチャートである。
図3に示すように,前記ROM2は,各種のデータを記憶する記憶領域20を有しており,前記記憶領域20には,前記画像処理プログラムのデータを記憶するデータ記憶領域21(データ記憶手段に相当),前記画像処理プログラムのデータとチェックサムとの総和値が所定値となる前記チェックサムを予め記憶するチェックサム記憶領域22(チェックサム記憶手段に相当),及び前記チェックサムに応じて定まり前記画像処理プログラムを識別するための識別情報を予め記憶する識別情報記憶領域23(識別情報記憶手段に相当)が含まれている。ここで,前記識別情報記憶領域23は,上記実施形態と同様に記憶領域20の最下位アドレスに設けられていることが既知であり,また,上述したように前記チェックサム記憶領域22は,記憶領域20の最下位アドレスの一つ上位アドレスに設けられていることが既知である。なお,前記各記憶領域に記憶された各データ内容は前記実施形態と同様である。
このような構成であれば,前記チェックサム記憶領域22が既知であるため,上述した実施形態の構成のように,不正な改竄などの危険性を低減することはできないが,他方では,上記識別情報に基づいて,以下に示すように上記画像処理プログラムのデータ及び/又は前記チェックサムを検査することが可能となる。
以下に示す実施例は,前記チェックサムが既知のアドレスに記憶されていることを前提としたデータ検査方式を示すものであり,ここではその一例として,記憶領域の最下位アドレスの一つ上位アドレスがチェックサム記憶領域であることが既知であることを前提としたデータ検査方式を説明する。
ここに,図3は,ROM1とは別のデータ構成を有するROM2内のデータ構成を示す図,図4は,データ検査処理手順の別の例を示すフローチャートである。
図3に示すように,前記ROM2は,各種のデータを記憶する記憶領域20を有しており,前記記憶領域20には,前記画像処理プログラムのデータを記憶するデータ記憶領域21(データ記憶手段に相当),前記画像処理プログラムのデータとチェックサムとの総和値が所定値となる前記チェックサムを予め記憶するチェックサム記憶領域22(チェックサム記憶手段に相当),及び前記チェックサムに応じて定まり前記画像処理プログラムを識別するための識別情報を予め記憶する識別情報記憶領域23(識別情報記憶手段に相当)が含まれている。ここで,前記識別情報記憶領域23は,上記実施形態と同様に記憶領域20の最下位アドレスに設けられていることが既知であり,また,上述したように前記チェックサム記憶領域22は,記憶領域20の最下位アドレスの一つ上位アドレスに設けられていることが既知である。なお,前記各記憶領域に記憶された各データ内容は前記実施形態と同様である。
このような構成であれば,前記チェックサム記憶領域22が既知であるため,上述した実施形態の構成のように,不正な改竄などの危険性を低減することはできないが,他方では,上記識別情報に基づいて,以下に示すように上記画像処理プログラムのデータ及び/又は前記チェックサムを検査することが可能となる。
以下,上記実施形態のデータ検査処理手順において,更に,前記識別情報に基づいて前記画像処理プログラムのデータ及び前記チェックサムを検査する処理が実行される例について図4のフローチャートを用いて説明する。以下の説明中に記載されるS1,S2,…は処理手順(ステップ)の番号を表しており,前記実施形態と同様の処理には同様の符号を付し,その説明を省略する。
図4(a)に示すように,本実施例におけるデータ検査処理手順においては,上記ステップS1の前処理として,ステップS11の処理(図4(b)参照)が実行される。ステップS11においては,前記識別情報に基づいて前記画像処理プログラムのデータ及び前記チェックサムが検査される(データ検査手段に相当)。
図4(b)に示すように,ステップS11で実行される前記識別情報に基づく検査処理では,まず,前記チェックサム記憶領域22に記憶された前記チェックサムと,前記識別情報記憶領域23に記憶された前記識別情報の反転値とが一致するか否かが判定される(ステップS111)。ここで,前記識別情報は,元々前記チェックサムの反転値として予め記憶された値であるから,前記識別情報又は前記チェックサムに誤りがなければ前記識別情報の反転値は,前記チェックサムと一致する。
したがって,前記チェックサムと前記識別情報の反転値とが一致しない場合(ステップS111においてNo)には,どちらかが誤りであるため,その後,前記チェックサム或いは前記識別情報に基づいて行われる前記画像処理プログラムのデータの検査の意義がなくなるため,ステップS3(図4(a)参照)に移行して前記ROM2の使用を中止し,当該データ検査処理を終了する。他方,前記判定において前記チェックサムと前記識別情報の反転値とが一致した場合(ステップS111においてYes)には,前記チェックサム及び前記識別情報は正当であると判定され,ステップS112に移行する。
続いて,ステップS112では,前記画像処理プログラムのデータと前記識別情報の反転値との総和値が算出され(ステップS112),該算出された総和値の下位1バイトが「00000000」であるか否かが判定される(ステップS113)。ここで,前記画像処理プログラムのデータと前記チェックサムとの総和値の下位1バイトが「00000000」となることから,前記チェックサムを前記識別情報の反転値に代えて算出した,前記画像処理プログラムのデータと前記識別情報の反転値との総和値の下位1バイトも,同様に「00000000」となるのが正当である。
したがって,前記総和値の下位1バイトが「00000000」とならない場合(ステップS113においてNo)には,前記画像処理プログラムのデータが正当でないと判定され,ステップS3(図4(a)参照)に移行して前記ROM2の使用を中止し,当該データ検査処理を終了する。他方,前記総和値の下位1バイトが「00000000」となる場合(ステップS113においてYes)には,前記画像処理プログラムのデータは正当であると判定され,当該識別情報に基づく検査処理を終了し,図4(a)のステップS1以後の処理が実行される。
続くステップS1以後の処理では,前記実施形態同様に,前記チェックサムに基づいた前記画像処理プログラムのデータの検査,及び前記識別情報(前記記憶領域20内の全データの総和値)に基づいた前記画像処理プログラムの識別が実行される。
図4(a)に示すように,本実施例におけるデータ検査処理手順においては,上記ステップS1の前処理として,ステップS11の処理(図4(b)参照)が実行される。ステップS11においては,前記識別情報に基づいて前記画像処理プログラムのデータ及び前記チェックサムが検査される(データ検査手段に相当)。
図4(b)に示すように,ステップS11で実行される前記識別情報に基づく検査処理では,まず,前記チェックサム記憶領域22に記憶された前記チェックサムと,前記識別情報記憶領域23に記憶された前記識別情報の反転値とが一致するか否かが判定される(ステップS111)。ここで,前記識別情報は,元々前記チェックサムの反転値として予め記憶された値であるから,前記識別情報又は前記チェックサムに誤りがなければ前記識別情報の反転値は,前記チェックサムと一致する。
したがって,前記チェックサムと前記識別情報の反転値とが一致しない場合(ステップS111においてNo)には,どちらかが誤りであるため,その後,前記チェックサム或いは前記識別情報に基づいて行われる前記画像処理プログラムのデータの検査の意義がなくなるため,ステップS3(図4(a)参照)に移行して前記ROM2の使用を中止し,当該データ検査処理を終了する。他方,前記判定において前記チェックサムと前記識別情報の反転値とが一致した場合(ステップS111においてYes)には,前記チェックサム及び前記識別情報は正当であると判定され,ステップS112に移行する。
続いて,ステップS112では,前記画像処理プログラムのデータと前記識別情報の反転値との総和値が算出され(ステップS112),該算出された総和値の下位1バイトが「00000000」であるか否かが判定される(ステップS113)。ここで,前記画像処理プログラムのデータと前記チェックサムとの総和値の下位1バイトが「00000000」となることから,前記チェックサムを前記識別情報の反転値に代えて算出した,前記画像処理プログラムのデータと前記識別情報の反転値との総和値の下位1バイトも,同様に「00000000」となるのが正当である。
したがって,前記総和値の下位1バイトが「00000000」とならない場合(ステップS113においてNo)には,前記画像処理プログラムのデータが正当でないと判定され,ステップS3(図4(a)参照)に移行して前記ROM2の使用を中止し,当該データ検査処理を終了する。他方,前記総和値の下位1バイトが「00000000」となる場合(ステップS113においてYes)には,前記画像処理プログラムのデータは正当であると判定され,当該識別情報に基づく検査処理を終了し,図4(a)のステップS1以後の処理が実行される。
続くステップS1以後の処理では,前記実施形態同様に,前記チェックサムに基づいた前記画像処理プログラムのデータの検査,及び前記識別情報(前記記憶領域20内の全データの総和値)に基づいた前記画像処理プログラムの識別が実行される。
このように,上記ステップS111において,前記識別情報に基づいて前記チェックサムが検査されるため,前記チェックサム或いは前記識別情報に基づく前記画像処理プログラムのデータの検査(ステップS1〜S2或いはステップS112〜S113)における信頼性を向上させることができ,結果的に前記画像処理プログラムのデータの信頼性を向上させることができる。
また,前記識別情報に基づいた前記画像処理プログラムのデータの検査(ステップS112〜S113)と前記チェックサムに基づいた前記画像処理プログラムのデータの検査(ステップS1〜S2)とによる前記画像処理プログラムのデータの二重検査が可能となり,前記画像処理プログラムのデータの信頼性を向上させることもできる。
さらに,前記識別情報に基づいて前記画像処理プログラムのデータ及び前記チェックサムが検査されるため,前記画像処理プログラムのデータと前記チェックサムのどちらが誤りであるかを判断することも可能となる。
また,前記識別情報に基づいた前記画像処理プログラムのデータの検査(ステップS112〜S113)と前記チェックサムに基づいた前記画像処理プログラムのデータの検査(ステップS1〜S2)とによる前記画像処理プログラムのデータの二重検査が可能となり,前記画像処理プログラムのデータの信頼性を向上させることもできる。
さらに,前記識別情報に基づいて前記画像処理プログラムのデータ及び前記チェックサムが検査されるため,前記画像処理プログラムのデータと前記チェックサムのどちらが誤りであるかを判断することも可能となる。
本実施例では,上記ステップS11で,上記ステップS111における前記識別情報に基づく前記チェックサムの検査と,上記ステップS112〜S113における前記識別情報に基づく前記画像処理プログラムのデータの検査とが共に実行される例を示したが,これらはどちらか一方の検査のみが実行されるものであっても構わない。
また,上記ステップS11の処理が,上記ステップS1の前段で実行される場合について示したが,これに限られず上記ステップS2の後段で実行されるものであっても良いし,上記ステップS111(或いはS112〜S113)がステップS1の前段で実行され,上記ステップS112〜S113(或いはS111)がステップS2の後段で実行されるような構成であっても良い。
なお,上記実施形態及び上記実施例における各検査の結果,前記画像処理プログラム,前記チェックサム,及び前記識別情報のいずれかが誤りである場合(上記各判定処理においてNo),前記ROM1(2)の使用が中止されていたが,これに代わる処理として前記ROM1(2)の各データ内容を修正する周知の修正プログラムが実行されても良いし,上記画像処理装置が備える上記表示手段でユーザに対してROM1(2)が不正であること等が表示されても良いし,前記表示に続けて前記ROM1(2)の使用を継続するか否かをユーザに選択させるために,前記画像処理装置の上記操作手段からの選択操作を待ち受ける等の処理が実行されても良く,これらに限られるものではない。
また,上記ステップS11の処理が,上記ステップS1の前段で実行される場合について示したが,これに限られず上記ステップS2の後段で実行されるものであっても良いし,上記ステップS111(或いはS112〜S113)がステップS1の前段で実行され,上記ステップS112〜S113(或いはS111)がステップS2の後段で実行されるような構成であっても良い。
なお,上記実施形態及び上記実施例における各検査の結果,前記画像処理プログラム,前記チェックサム,及び前記識別情報のいずれかが誤りである場合(上記各判定処理においてNo),前記ROM1(2)の使用が中止されていたが,これに代わる処理として前記ROM1(2)の各データ内容を修正する周知の修正プログラムが実行されても良いし,上記画像処理装置が備える上記表示手段でユーザに対してROM1(2)が不正であること等が表示されても良いし,前記表示に続けて前記ROM1(2)の使用を継続するか否かをユーザに選択させるために,前記画像処理装置の上記操作手段からの選択操作を待ち受ける等の処理が実行されても良く,これらに限られるものではない。
1,2…ROM
10,20…記憶領域
11,21…データ記憶領域(データ記憶手段)
12,22…チェックサム記憶領域(チェックサム記憶手段)
13,23…識別情報記憶領域(識別情報記憶手段)
S1,S2,,,…処理手順(ステップ)
10,20…記憶領域
11,21…データ記憶領域(データ記憶手段)
12,22…チェックサム記憶領域(チェックサム記憶手段)
13,23…識別情報記憶領域(識別情報記憶手段)
S1,S2,,,…処理手順(ステップ)
Claims (4)
- データを記憶するデータ記憶手段と,
前記データ記憶手段に記憶された前記データとチェックサムとの総和値が所定値となる前記チェックサムを予め記憶するチェックサム記憶手段と,
前記チェックサムに応じて定まり,前記データ記憶手段に記憶された前記データを識別するための識別情報を予め記憶する識別情報記憶手段と,
前記識別情報記憶手段に記憶された前記識別情報に基づいて前記データ記憶手段に記憶された前記データを識別するデータ識別手段とを備えてなるデータ検査方式。 - 前記識別情報が,前記チェックサムをビット反転した値である請求項1に記載のデータ検査方式。
- 前記データ記憶手段,前記チェックサム記憶手段,及び前記識別情報記憶手段のいずれか2以上が同一の記憶手段からなるものである請求項1又は2に記載のデータ検査方式。
- 前記識別情報に基づいて前記データ記憶手段に記憶された前記データ及び/又は前記チェックサムを検査するデータ検査手段を更に備えてなる請求項1〜3のいずれかに記載のデータ検査方式。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004184793A JP2006011605A (ja) | 2004-06-23 | 2004-06-23 | データ検査方式 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004184793A JP2006011605A (ja) | 2004-06-23 | 2004-06-23 | データ検査方式 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2006011605A true JP2006011605A (ja) | 2006-01-12 |
Family
ID=35778829
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2004184793A Pending JP2006011605A (ja) | 2004-06-23 | 2004-06-23 | データ検査方式 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2006011605A (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2013050839A (ja) * | 2011-08-31 | 2013-03-14 | Nec Computertechno Ltd | 情報処理装置、情報処理方法、及び情報処理プログラム |
JP2017108969A (ja) * | 2015-12-17 | 2017-06-22 | 株式会社サンセイアールアンドディ | 遊技機および遊技機用プログラム |
-
2004
- 2004-06-23 JP JP2004184793A patent/JP2006011605A/ja active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2013050839A (ja) * | 2011-08-31 | 2013-03-14 | Nec Computertechno Ltd | 情報処理装置、情報処理方法、及び情報処理プログラム |
JP2017108969A (ja) * | 2015-12-17 | 2017-06-22 | 株式会社サンセイアールアンドディ | 遊技機および遊技機用プログラム |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103729597B (zh) | 系统启动校验方法、系统启动校验装置和终端 | |
US7716495B2 (en) | Protection against runtime function attacks | |
US8127144B2 (en) | Program loader operable to verify if load-destination information has been tampered with, processor including the program loader, data processing device including the processor, promgram loading method, and integrated circuit | |
WO2006087780A1 (ja) | 脆弱性監査プログラム、脆弱性監査装置、脆弱性監査方法 | |
CN111309506A (zh) | 一种编译错误的定位方法、设备、服务器及可读存储介质 | |
CN116055102A (zh) | 必修漏洞更新方法、必修漏洞扫描方法及相关设备 | |
US7406600B2 (en) | Error-detectable license key fragmentation to facilitate errorless manual entry | |
CN112148314A (zh) | 一种嵌入式系统的镜像验证方法、装置、设备及存储介质 | |
CN110837635A (zh) | 一种设备验证的方法、装置、设备及存储介质 | |
US20220401825A1 (en) | Alarm method and apparatus for tabletop game, electronic device and storage medium | |
JP5077455B2 (ja) | 脆弱性監査プログラム、脆弱性監査装置、脆弱性監査方法 | |
CN111931192B (zh) | rootkit检测方法、装置及电子设备 | |
JP2006011605A (ja) | データ検査方式 | |
CN110502380B (zh) | 一种哈希算法协处理器自检的方法 | |
WO2020233044A1 (zh) | 一种插件校验方法、设备、服务器及计算机可读存储介质 | |
CN109064379B (zh) | 一种数字水印的标注方法及检验方法和装置 | |
JP2009271943A (ja) | 監査証跡の記録方法、監査証跡の記録装置および監査証跡を記録するためのプログラム | |
JP2007257628A (ja) | 記憶された情報データの読み取りのための誤り訂正と誤り検出の方法およびそのための記憶制御ユニット | |
EP2229648B1 (fr) | Methode de transfert securise de donnees | |
CN112395594A (zh) | 指令执行序列的处理方法、装置及设备 | |
EP1783648A1 (fr) | Microprocesseur sécurisé avec vérification des instructions | |
CN110502209B (zh) | 一种随机数发生器防注入式攻击的方法 | |
CN109218284A (zh) | Xss漏洞检测方法及装置、计算机设备及可读介质 | |
CN113395273B (zh) | 登录身份验证方法、装置、设备及存储介质 | |
JP4389164B2 (ja) | 監査証跡の記録方法、監査証跡の記録装置および監査証跡を記録するためのプログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20081001 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20081007 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20090303 |