JP3867530B2 - デジタルデータの改竄検出プログラム,改竄検出方法並びに改竄検出装置 - Google Patents
デジタルデータの改竄検出プログラム,改竄検出方法並びに改竄検出装置 Download PDFInfo
- Publication number
- JP3867530B2 JP3867530B2 JP2001246256A JP2001246256A JP3867530B2 JP 3867530 B2 JP3867530 B2 JP 3867530B2 JP 2001246256 A JP2001246256 A JP 2001246256A JP 2001246256 A JP2001246256 A JP 2001246256A JP 3867530 B2 JP3867530 B2 JP 3867530B2
- Authority
- JP
- Japan
- Prior art keywords
- digital data
- address
- value
- calculation
- falsification
- 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.)
- Expired - Lifetime
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/78—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data
- G06F21/79—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data in semiconductor storage media, e.g. directly-addressable memories
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/57—Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/14—Protection against unauthorised use of memory or access to memory
- G06F12/1408—Protection against unauthorised use of memory or access to memory by using cryptography
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Storage Device Security (AREA)
- Signal Processing For Digital Recording And Reproducing (AREA)
Description
【発明の属する技術分野】
本発明は、デジタルデータの改竄を簡便かつ高精度に検出する技術に関する。
【0002】
【従来の技術】
近年の自動車は、車載のコントロールユニットにより、エンジン制御,ブレーキ制御などが電子的に行われている。エンジン制御においては、機関出力と排気性状との両立を図るべく、種々の実験などを通して得られた最適な制御データが用いられている。一方、市場の一部においては、排気性状が低下することも配慮せずに、機関出力のみを向上させるべく、最適に設定された制御データを書き換える不法改造が行われていることも否めない。このため北米では、排気規制強化の一環として、コントロールユニットの不法改造を防止すべく、CVN(Calibration Verification Number)を端末装置に出力することを義務付けている。
【0003】
【発明が解決しようとする課題】
従来では、プログラム(制御データも含む)のチェックサムをCVNとして出力しているが、次のような問題があった。即ち、チェックサムは、プログラムデータを単純に加算した総和なので、加減算した分をダミーデータなどで打ち消すようにすれば、CVNを変えずにプログラムの改竄が可能であった。このため、チェックサム方式では、プログラムの改竄を高精度に検出することはできなかった。また、チェックサム方式の他、例えば、特開平8−137762号公報に開示されるパリティチェック方式も提案されているが、プログラムの改竄を簡便かつ高精度に検出することは困難であった。
【0004】
そこで、本発明は以上のような従来の問題点に鑑み、デジタルデータ値をアドレス値に変換し、そのアドレスに格納されているデジタルデータ値に対して所定演算を施して照合値を算出することで、デジタルデータの改竄を簡便かつ高精度に検出できるようにしたデジタルデータの改竄検出技術を提供することを目的とする。
【0005】
【課題を解決するための手段】
このため、請求項1記載のデジタルデータの改竄検出プログラムに係る発明では、デジタルデータが記憶された記憶装置から、該デジタルデータの各アドレスに格納される値を順次読み出し、その値に対して第1の所定演算を施した演算値を求める演算値算出機能と、該演算値算出機能により求められた演算値をデジタルデータのアドレスとみなして、前記デジタルデータの該アドレスに格納される値に対して第2の所定演算を施し、改竄検出用の照合値を求める照合値演算機能と、をコンピュータに実現させることを特徴とする。
【0006】
請求項2記載のデジタルデータの改竄検出プログラムに係る発明では、前記第1の所定演算は、前記デジタルデータの各アドレスに格納される値を演算値とするものであることを特徴とする。
請求項3記載のデジタルデータの改竄検出プログラムに係る発明では、前記第1の所定演算は、前記デジタルデータの各アドレス周辺に格納される複数の値に対して四則演算を施すものであることを特徴とする。
【0007】
請求項4記載のデジタルデータの改竄検出プログラムに係る発明では、前記照合値演算機能は、前記演算値算出機能により求められた演算値を、前記デジタルデータの絶対アドレスを示すものとみなして、改竄検出用の照合値を求めることを特徴とする。
請求項5記載のデジタルデータの改竄検出プログラムに係る発明では、前記照合値演算機能は、前記演算値算出機能により求められた演算値を、前記デジタルデータの相対アドレスを示すものとみなして、改竄検出用の照合値を求めることを特徴とする。
【0008】
請求項6記載のデジタルデータの改竄検出プログラムに係る発明では、前記照合値演算機能により演算された照合値に基づいて、前記デジタルデータの改竄が行われたか否かを判定する改竄判定機能をさらにコンピュータに実現させることを特徴とする。
請求項7記載のデジタルデータの改竄検出プログラムに係る発明では、前記改竄判定機能により改竄が行われたと判定されたときに、その旨を出力する改竄出力機能をさらにコンピュータに実現させることを特徴とする。
【0009】
請求項8記載のデジタルデータの改竄検出方法に係る発明では、デジタルデータが記憶された記憶装置から、該デジタルデータの各アドレスに格納される値を順次読み出し、その値に対して第1の所定演算を施した演算値を求める演算値算出工程と、該演算値算出工程により求められた演算値をデジタルデータのアドレスとみなして、前記デジタルデータの該アドレスに格納される値に対して第2の所定演算を施し、改竄検出用の照合値を求める照合値演算工程と、をコンピュータに実行させることを特徴とする。
【0010】
請求項9記載のデジタルデータの改竄検出方法に係る発明では、前記第1の所定演算は、前記デジタルデータの各アドレスに格納される値を演算値とするものであることを特徴とする。
請求項10記載のデジタルデータの改竄検出方法に係る発明では、前記第1の所定演算は、前記デジタルデータの各アドレス周辺に格納される複数の値に対して四則演算を施すものであることを特徴とする。
【0011】
請求項11記載のデジタルデータの改竄検出方法に係る発明では、前記照合値演算工程は、前記演算値算出工程により求められた演算値を、前記デジタルデータの絶対アドレスを示すものとみなして、改竄検出用の照合値を求めることを特徴とする。
請求項12記載のデジタルデータの改竄検出方法に係る発明では、前記照合値演算工程は、前記演算値算出工程により求められた演算値を、前記デジタルデータの相対アドレスを示すものとみなして、改竄検出用の照合値を求めることを特徴とする。
【0012】
請求項13記載のデジタルデータの改竄検出方法に係る発明では、前記照合値演算工程により演算された照合値に基づいて、前記デジタルデータの改竄が行われたか否かを判定する改竄判定工程をさらにコンピュータに実行させることを特徴とする。
請求項14記載のデジタルデータの改竄検出方法に係る発明では、前記改竄判定工程により改竄が行われたと判定されたときに、その旨を出力する改竄出力工程をさらにコンピュータに実行させることを特徴とする。
【0013】
請求項15記載のデジタルデータの改竄検出装置に係る発明では、デジタルデータの各アドレスに格納される値から、該デジタルデータのアドレスを生成するアドレス演算を行うアドレス演算手段と、該アドレス演算手段により生成された各アドレスに格納される値に対して所定演算を施し、改竄検出用の照合値を求める照合値演算手段と、を含んで構成されたことを特徴とする。
【0014】
請求項16記載のデジタルデータの改竄検出装置に係る発明では、前記アドレス演算手段は、前記デジタルデータの各アドレスに格納される値を、該デジタルデータのアドレスとすることを特徴とする。
請求項17記載のデジタルデータの改竄検出装置に係る発明では、前記アドレス演算手段は、前記デジタルデータの各アドレス周辺に格納される複数の値に対して四則演算を施し、該デジタルデータのアドレスを生成することを特徴とする。
【0015】
請求項18記載のデジタルデータの改竄検出装置に係る発明では、前記照合値演算手段は、前記アドレス演算手段により生成されたアドレスを、前記デジタルデータの絶対アドレスを示すものとして、改竄検出用の照合値を求めることを特徴とする。
請求項19記載のデジタルデータの改竄検出装置に係る発明では、前記照合値演算手段は、前記アドレス演算手段により生成されたアドレスを、前記デジタルデータの相対アドレスを示すものとして、改竄検出用の照合値を求めることを特徴とする。
【0016】
請求項20記載のデジタルデータの改竄検出装置に係る発明では、前記照合値演算手段により演算された照合値に基づいて、前記デジタルデータの改竄が行われたか否かを判定する改竄判定手段を備えたことを特徴とする。
請求項21記載のデジタルデータの改竄検出装置に係る発明では、前記改竄判定手段により改竄が行われたと判定されたときに、その旨を出力する改竄出力手段を備えたことを特徴とする。
【0017】
ここで、各請求項に記載された発明の作用について説明する。
請求項1及び8に記載の発明によれば、先ず、デジタルデータの各アドレスに格納される値に対して第1の所定演算が施された演算値が求められる。そして、求められた演算値をデジタルデータのアドレスとみなして、デジタルデータのそのアドレスに格納される値に対して第2の所定演算が施され、改竄検出用の照合値が求められる。一方、請求項15に記載の発明によれば、先ず、デジタルデータの各アドレスに格納される値からデジタルデータのアドレスを生成するアドレス演算が行われる。そして、生成された各アドレスに格納される値に対して所定演算が施され、改竄検出用の照合値が求められる。即ち、デジタルデータ値がアドレス値に変換され、そのアドレスに格納されているデジタルデータに基づいて照合値が求められる。このため、デジタルデータの一部を書き換えただけでも、その影響がデジタルデータ全体に波及するので、改竄検出用の照合値が正しい値とはかけ離れたものとなる。また、デジタルデータの改竄を覆い隠すためには、デジタルデータ全体に亘ってその値を書き換える必要があり、デジタルデータ自体を意味のないものとしてしまう。
【0018】
請求項2,9及び16に記載の発明によれば、アドレス演算は、デジタルデータの各アドレスに格納される値を、デジタルデータのアドレスとすることで行われる。このため、アドレス演算が極めて簡単なものとなり、アドレス演算に要する処理負荷が著しく軽減される。なお、アドレス演算が簡単であっても、デジタルデータの各アドレスに格納される値がそのまま照合値を演算するために使用されないので、改竄を覆い隠すことはおいそれとはできない。
【0019】
請求項3,10及び17に記載の発明によれば、アドレス演算は、デジタルデータの各アドレス周辺に格納される複数の値に対して四則演算を施すことで行われる。このため、四則演算の組み合わせを種々変更することで、アドレス演算を複雑にすることができ、デジタルデータの改竄が一層困難となる。
請求項4,11及び18に記載の発明によれば、改竄検出用の照合値は、求められた演算値又はアドレスを、デジタルデータの絶対アドレスを示すものとみなして求められる。このため、アドレッシングが極めて簡単なものとなり、アドレッシングに要する処理負荷が著しく軽減される。
【0020】
請求項5,12及び19に記載の発明によれば、改竄検出用の照合値は、求められた演算値又はアドレスを、デジタルデータの相対アドレスを示すものとみなして求められる。このため、絶対アドレスを用いる方法と比べてアドレッシングが多少複雑になるが、処理内容の解析が著しく困難となり、デジタルデータの改竄が一層困難となる。
【0021】
請求項6,13及び20に記載の発明によれば、改竄検出用の照合値に基づいて、デジタルデータの改竄が行われたか否かが自動的に判定される。ここで、デジタルデータの改竄が行われたか否かは、例えば、改竄が行われていないときの照合基準値と照合値とを比較することで判定可能である。
請求項7,14及び21に記載の発明によれば、デジタルデータの改竄が行われたと判定されると、その旨が出力される。このため、デジタルデータの改竄検出作業を行う作業者は、出力結果を見るだけでよく、その労力が軽減される。
【0022】
【発明の効果】
以上説明したように、請求項1,8及び15に記載の発明によれば、デジタルデータの一部を書き換えただけでも、改竄検出用の照合値が正しい値とはかけ離れたものとなるので、デジタルデータの改竄を簡便かつ高精度に検出することができる。
【0023】
請求項2,9及び16に記載の発明によれば、アドレス演算が極めて簡単なものとなり、アドレス演算に要する処理負荷を著しく軽減させることができる。
請求項3,10及び17に記載の発明によれば、四則演算の組み合わせを種々変更することで、アドレス演算を複雑にすることができ、デジタルデータの改竄を一層困難とすることができる。
【0024】
請求項4,11及び18に記載の発明によれば、アドレッシングが極めて簡単なものとなり、アドレッシングに要する処理負荷を著しく軽減させることができる。
請求項5,12及び19に記載の発明によれば、処理内容の解析が著しく困難となり、デジタルデータの改竄を一層困難とすることができる。
【0025】
請求項6,13及び20に記載の発明によれば、デジタルデータの改竄が行われたか否かを自動的に判定することができる。
請求項7,14及び21に記載の発明によれば、デジタルデータの改竄検出に要する労力を軽減させることができる。
【0026】
【発明の実施の形態】
以下、添付された図面を参照して本発明を詳述する。
図1は、本発明を具現化したデジタルデータの改竄検出装置(以下「改竄検出装置」という)を示す。改竄検出装置10は、少なくとも中央処理装置(CPU)とメモリとを備えたコンピュータ上に構築され、メモリにロードされたプログラムによって各種機能が実現される。
【0027】
改竄検出装置10は、アドレスカウンタ12と、アドレス演算部14と、照合値演算部16と、出力部18と、を含んで構成される。また、改竄検出装置10による改竄検出対象となるデジタルデータは、ハードディスク,ROM,CD−ROM,DVD−ROMなどの記憶装置20に記憶される。ここで、デジタルデータとしては、例えば、コンピュータプログラム,自動車の各種制御に用いられる制御プログラム及び制御マップ,デジタル著作物などが含まれる。
【0028】
アドレスカウンタ12は、記憶装置20におけるデジタルデータのアドレスADR1を示す。デジタルデータの改竄検出処理を開始するときには、アドレスカウンタ12は、改竄検出対象となるデジタルデータの先頭アドレスを示し、処理進行に伴いそのアドレスが順次カウントアップされる。ここで、記憶装置20に複数のデジタルデータが記憶されている場合を想定し、その中から任意の1つを選択指定できるようにすることが望ましい。この場合、アドレスカウンタ12は、選択指定されたデジタルデータの先頭アドレスを示すこととなる。
【0029】
アドレス演算部14では、アドレスカウンタ12が示すアドレスADR1に基づいて、記憶装置20から、アドレスADR1に格納されているデジタルデータData1が読み出される。そして、読み出されたデジタルデータData1に対して、四則演算などの所定演算が施され、デジタルデータのアドレスを示すものとみなされる演算値、即ち、改竄検出用の照合値を演算する基準となるデジタルデータのアドレスADR2が生成される。なお、アドレス演算部14により、演算値算出機能,演算値算出工程及びアドレス演算手段が実現される。
【0030】
照合値演算部16では、アドレス演算部14により生成されたアドレスADR2に基づいて、記憶装置20から、アドレスADR2に格納されているデジタルデータData2が読み出される。そして、読み出されたデジタルデータData2に対して、積算などの所定演算が施され、改竄検出用の照合値が演算される。なお、照合値演算部16により、照合値演算機能,照合値演算工程及び照合値演算手段が実現される。
【0031】
出力部18は、照合値演算部16により演算された照合値を可視的に出力すべく、CRT(Cathode Ray Tube)やLCD(Liquid Crystal Display)などの表示装置,プリンタなどの印刷装置から構成される。ここで、出力部18には、改竄検出対象となるデジタルデータの照合基準値(改竄がない場合の照合値)を併せて出力することが望ましい。なお、出力部18により、改竄出力機能,改竄出力工程及び改竄出力手段が実現される。
【0032】
次に、かかる構成からなる改竄検出装置10の作用について、図2に示すフローチャートを参照しつつ説明する。
ステップ1(図では「S1」と略記する。以下同様)では、アドレスカウンタ12が示すデジタルデータのアドレスADR1が設定される。即ち、ユーザによりデジタルデータが選択指定された場合には、アドレスADR1には、記憶装置20におけるそのデジタルデータの先頭アドレスが設定される。一方、記憶装置20にデジタルデータが1つのみ記憶されている場合には、アドレスADR1には、記憶装置20の先頭アドレスが設定される。
【0033】
ステップ2では、改竄検出用の照合値CVNが0に初期化される。
ステップ3では、記憶装置20から、アドレスADR1に格納されているデジタルデータData1が読み出される。
ステップ4では、読み出されたデジタルデータData1に対して所定演算が施され、照合値CVNを演算する基準となるデジタルデータのアドレスADR2が生成される。ここで、所定演算としては、デジタルデータData1をそのままアドレスADR2とする演算も含まれる。なお、ステップ3及びステップ4における処理が、演算値算出機能,演算値算出工程及びアドレス演算手段に該当する。
【0034】
ステップ5では、記憶装置20から、アドレスADR2に格納されているデジタルデータData2が読み出される。
ステップ6では、照合値CVNの積算を行うべく、照合値CVNに対してデジタルデータData2が加算される。なお、ステップ5及びステップ6における処理が、照合値演算機能,照合値演算工程及び照合値演算手段に該当する。
【0035】
ステップ7では、照合値CVNの演算が終了したか否か、即ち、改竄検出対象となるデジタルデータの最後まで処理が終了したか否かが判定される。そして、照合値CVNの演算が終了したならばステップ8へと進み(Yes)、出力部18に照合値CVNが出力される。一方、照合値CVNの演算が終了していなければステップ9へと進み(No)、アドレスADR1がカウントアップされる。
【0036】
なお、照合値を出力する代わりに、照合値が照合基準値と一致しないときに、デジタルデータの改竄が行われたと判定し、その旨を出力部18に出力するようにしてもよい。この場合、改竄判定処理が、改竄判定機能,改竄判定工程及び改竄判定手段に該当する。
次に、図3に示すデジタルデータを用いて、改竄検出装置10において、改竄検出用の照合値がどのように演算されるかを説明する。なお、改竄検出装置10の初期状態においては、アドレスカウンタ12が示すアドレスADR1には1が設定されているものとする。
(第1実施例)
第1実施例では、図4に示すように、アドレスADR1に格納されているデジタルデータData1を絶対アドレスADR2として、そこに格納されているデジタルデータData2により照合値CVNが演算される。
【0037】
即ち、アドレスADR1=1のときには、アドレス1に格納されているデジタルデータが読み出され、これがデジタルデータData1(5)となる。デジタルデータData1は、改竄検出用の照合値を演算する基準となるデジタルデータ(以下「基準データ」という)の絶対アドレスADR2を示しているので、アドレス5に格納されているデジタルデータが読み出され、これがデジタルデータData2(7)となる。そして、照合値CVN(0)に対してデジタルデータData2が加算され、照合値CVNが「7」となる。
【0038】
アドレスADR1=2のときには、アドレス2に格納されているデジタルデータが読み出され、これがデジタルデータData1(7)となる。デジタルデータData1は基準データの絶対アドレスADR2を示しているので、アドレス7に格納されているデジタルデータが読み出され、これがデジタルデータData2(10)となる。そして、照合値CVN(7)に対してデジタルデータData2が加算され、照合値CVNが「17」となる。
【0039】
このような処理を順次繰り返すと、照合値CVNが「60」となる。そして、この照合値CVNと照合基準値とを比較することで、デジタルデータが改竄されたか否かが検出される。
ここで、デジタルデータの改竄による照合値の変化について説明する。
図5に示すように、アドレス5のデジタルデータが「7」から「6」に書き換えられたとする。アドレスADR1=1のときには、図6に示すように、アドレス1に格納されているデジタルデータが読み出され、これがデジタルデータData1(5)となる。デジタルデータData1は基準データの絶対アドレスADR2を示しているので、アドレス5に格納されているデジタルデータが読み出され、これがデジタルデータData2(6)となる。そして、照合値CVN(0)に対してデジタルデータData2が加算され、照合値CVNが「6」となる。このような処理をデジタルデータの最後まで繰り返すと、照合値CVNが「52」となる。従って、照合値CVNは照合基準値(60)と異なるので、デジタルデータが改竄されたことが検出される。
【0040】
デジタルデータの改竄が検出されないようにするためには、照合値CVNを照合基準値に一致させるべく、アドレス5以外のデジタルデータを書き換えて辻褄を合わせなければならない。アドレス5に格納されているデジタルデータが基準データの絶対アドレスADR2として用いられるとき、その基準データは本来「7」であるから、アドレス6におけるデジタルデータを「7」に書き換えなければならない。しかし、図6に示す例では、アドレスADR1=5のとき、アドレス6に格納されているデジタルデータが基準データとして用いられるので、アドレス5及び6以外のデジタルデータをさらに書き換える必要がある。そこで、他のアドレスにおけるデジタルデータを書き換えると、この書き換えにより、さらに他のアドレスを書き換える必要が生じてしまう。
【0041】
従って、デジタルデータの一部を書き換えた場合でも、その書き換えが検出されないようにするためには、デジタルデータの全域に亘ってその値を書き換える必要があり、おいそれとは辻褄を合わせることができない。また、デジタルデータの全域に亘ってその値を書き換えると、デジタルデータ自体が意味のないものとなってしまうため、書き換えの目的が達成できず、その改竄が極めて困難であるともいえる。
(第2実施例)
第2実施例では、図7に示すように、アドレスADR1に格納されているデジタルデータData1を相対アドレスとして、アドレスADR1に対する絶対アドレスADR2を求め、そこに格納されているデジタルデータData2により照合値CVNが演算される。
【0042】
即ち、アドレスADR1=1のときには、アドレス1に格納されているデジタルデータが読み出され、これがデジタルデータData1(5)となる。デジタルデータData1は、アドレスADR1(1)に対する相対アドレスを示しているので、アドレスADR1に対するアドレス演算により、基準データの絶対アドレスADR2(6)が算出される。基準データの絶対アドレスADR2が算出されると、アドレス6に格納されているデジタルデータが読み出され、これがデジタルデータData2(5)となる。そして、照合値CVN(0)に対してデジタルデータData2が加算され、照合値CVNが「5」となる。このような処理を順次繰り返すことで、デジタルデータの照合値CVNが「54」となる。
(第3実施例)
第3実施例では、図8に示すように、アドレスADR1及びこれに連続するアドレスに格納されているデジタルデータData1の和を絶対アドレスADR2として、そこに格納されているデジタルデータData2により照合値CVNが演算される。
【0043】
即ち、アドレスADR1=1のときには、アドレス1及び2に格納されているデジタルデータが読み出され、これがデジタルデータData1(5,7)となる。デジタルデータData1の和は、基準データの絶対アドレスADR2を示しているので、アドレス2に格納されているデジタルデータが読み出され、これがデジタルデータData2(7)となる。ここで、デジタルデータData1の和は、5+7=12となるが、アドレス12はデジタルデータの範囲外を示しているので、デジタルデータの範囲内を示すように、例えば、モジュロ演算により調整されて「2」となる。これは、デジタルデータの値がその範囲外となったときも同様である。そして、照合値(0)に対してデジタルデータData2が加算され、照合値CVNが「7」となる。
【0044】
アドレスADR1=2のときには、アドレス2及び3に格納されているデジタルデータが読み出され、これがデジタルデータData1(7,2)となる。デジタルデータData1の和は、基準データの絶対アドレスADR2を示しているので、アドレス9(7+2)に格納されているデジタルデータが読み出され、これがデジタルデータData2(3)となる。そして、照合値(7)に対してデジタルデータData2が加算され、照合値CVNが「10」となる。
【0045】
このような処理を順次繰り返すことで、デジタルデータの照合値CVNが「56」となる。
(第4実施例)
第4実施例では、図9に示すように、アドレスADR1及びこれに連続するアドレスに格納されているデジタルデータData1の差を相対アドレスとして、アドレスADR1に対する絶対アドレスADR2を求め、そこに格納されているデジタルデータData2により照合値CVNが演算される。
【0046】
即ち、アドレスADR1=1のときには、アドレス1及び2に格納されているデジタルデータが読み出され、これがデジタルデータData1(5,7)となる。デジタルデータData1の差(7−5=2)は、アドレスADR1(1)に対する相対アドレスを示しているので、アドレスADR1に対するアドレス演算により、基準データの絶対アドレスADR2(3)が算出される。基準データの絶対アドレスADR2が算出されると、アドレス3に格納されているデジタルデータが読み出され、これがデジタルデータData2(2)となる。そして、照合値CVN(0)に対してデジタルデータData2が加算され、照合値CVNが「2」となる。このような処理を順次繰り返すことで、デジタルデータの照合値CVNが「51」となる。
【0047】
従って、本発明による改竄検出技術によれば、デジタルデータの一部を書き換えただけでも、その影響がデジタルデータ全体に波及するため、その検出が高精度に行われる。この場合、デジタルデータの照合値は、デジタルデータから生成されたアドレスに格納された値に基づいて求められるため、アドレス演算が極めて簡単なものであっても、そのアドレス演算が解析され難いという特徴がある。このため、悪意を持ってデジタルデータを改竄した者が、改竄された事実を覆い隠そうとしても、その行為に要する労力が極めて大であるばかりでなく、デジタルデータ自体を意味のないものとしてしまう。
【0048】
かかる構成からなる改竄検出装置10は、例えば、自動車のコントロールユニットの改竄を検出したり、コンピュータプログラムの改竄を検出することに利用可能である。
ここで、自動車のコントロールユニットの改竄を検出する場合には、本発明に係る改竄検出装置10をコントロールユニット上に構築し、自己診断を行うように構成してもよい。そして、コントロールユニットの改竄が検出されたときには、例えば、ダッシュパネルに取り付けられた警告灯を点灯させたり、エンジンが始動できないように制御してもよい。このようにすれば、自動車の排気性状が低下する不法改造を効果的に防止することができる。
【0049】
このような機能を実現するプログラムを、例えば、磁気テープ,磁気ディスク,磁気ドラム,ICカード,CD−ROM,DVD−ROM等のコンピュータ読取可能な記録媒体に記録しておけば、本発明に係る改竄検出プログラムを市場に流通させることができる。そして、かかる記録媒体を取得した者は、一般的なコンピュータを利用して、本発明に係る改竄検出装置を容易に構築することができる。
【0050】
また、インターネットに接続されたサーバ上に、本発明に係る改竄検出プログラムを登録させておけば、電気通信回線を介して、かかるプログラムをダウンロードすることで、本発明に係る改竄検出装置を容易に構築することができる。
【図面の簡単な説明】
【図1】本発明を具現化した改竄検出装置の構成図
【図2】改竄検出装置の処理内容を示すフローチャート
【図3】改竄検出対象となるデジタルデータの一例を示す説明図
【図4】照合値演算処理の第1実施例を示す説明図
【図5】デジタルデータの改竄例を示す説明図
【図6】改竄されたデジタルデータの照合値演算処理の説明図
【図7】照合値演算処理の第2実施例を示す説明図
【図8】照合値演算処理の第3実施例を示す説明図
【図9】照合値演算処理の第4実施例を示す説明図
【符号の説明】
10 改竄検出装置
12 アドレスカウンタ
14 アドレス演算部
16 照合値演算部
18 出力部
20 記憶装置
Claims (21)
- デジタルデータが記憶された記憶装置から、該デジタルデータの各アドレスに格納される値を順次読み出し、その値に対して第1の所定演算を施した演算値を求める演算値算出機能と、
該演算値算出機能により求められた演算値をデジタルデータのアドレスとみなして、前記デジタルデータの該アドレスに格納される値に対して第2の所定演算を施し、改竄検出用の照合値を求める照合値演算機能と、
をコンピュータに実現させるためのデジタルデータの改竄検出プログラム。 - 前記第1の所定演算は、前記デジタルデータの各アドレスに格納される値を演算値とするものであることを特徴とする請求項1記載のデジタルデータの改竄検出プログラム。
- 前記第1の所定演算は、前記デジタルデータの各アドレス周辺に格納される複数の値に対して四則演算を施すものであることを特徴とする請求項1記載のデジタルデータの改竄検出プログラム。
- 前記照合値演算機能は、前記演算値算出機能により求められた演算値を、前記デジタルデータの絶対アドレスを示すものとみなして、改竄検出用の照合値を求めることを特徴とする請求項1〜請求項3のいずれか1つに記載のデジタルデータの改竄検出プログラム。
- 前記照合値演算機能は、前記演算値算出機能により求められた演算値を、前記デジタルデータの相対アドレスを示すものとみなして、改竄検出用の照合値を求めることを特徴とする請求項1〜請求項3のいずれか1つに記載のデジタルデータの改竄検出プログラム。
- 前記照合値演算機能により演算された照合値に基づいて、前記デジタルデータの改竄が行われたか否かを判定する改竄判定機能をさらにコンピュータに実現させることを特徴とする請求項1〜請求項5のいずれか1つに記載のデジタルデータの改竄検出プログラム。
- 前記改竄判定機能により改竄が行われたと判定されたときに、その旨を出力する改竄出力機能をさらにコンピュータに実現させることを特徴とする請求項6記載のデジタルデータの改竄検出プログラム。
- デジタルデータが記憶された記憶装置から、該デジタルデータの各アドレスに格納される値を順次読み出し、その値に対して第1の所定演算を施した演算値を求める演算値算出工程と、
該演算値算出工程により求められた演算値をデジタルデータのアドレスとみなして、前記デジタルデータの該アドレスに格納される値に対して第2の所定演算を施し、改竄検出用の照合値を求める照合値演算工程と、
をコンピュータに実行させることを特徴とするデジタルデータの改竄検出方法。 - 前記第1の所定演算は、前記デジタルデータの各アドレスに格納される値を演算値とするものであることを特徴とする請求項8記載のデジタルデータの改竄検出方法。
- 前記第1の所定演算は、前記デジタルデータの各アドレス周辺に格納される複数の値に対して四則演算を施すものであることを特徴とする請求項8記載のデジタルデータの改竄検出方法。
- 前記照合値演算工程は、前記演算値算出工程により求められた演算値を、前記デジタルデータの絶対アドレスを示すものとみなして、改竄検出用の照合値を求めることを特徴とする請求項8〜請求項10のいずれか1つに記載のデジタルデータの改竄検出方法。
- 前記照合値演算工程は、前記演算値算出工程により求められた演算値を、前記デジタルデータの相対アドレスを示すものとみなして、改竄検出用の照合値を求めることを特徴とする請求項8〜請求項10のいずれか1つに記載のデジタルデータの改竄検出方法。
- 前記照合値演算工程により演算された照合値に基づいて、前記デジタルデータの改竄が行われたか否かを判定する改竄判定工程をさらにコンピュータに実行させることを特徴とする請求項8〜請求項12のいずれか1つに記載のデジタルデータの改竄検出方法。
- 前記改竄判定工程により改竄が行われたと判定されたときに、その旨を出力する改竄出力工程をさらにコンピュータに実行させることを特徴とする請求項13記載のデジタルデータの改竄検出方法。
- デジタルデータの各アドレスに格納される値から、該デジタルデータのアドレスを生成するアドレス演算を行うアドレス演算手段と、
該アドレス演算手段により生成された各アドレスに格納される値に対して所定演算を施し、改竄検出用の照合値を求める照合値演算手段と、
を含んで構成されたことを特徴とするデジタルデータの改竄検出装置。 - 前記アドレス演算手段は、前記デジタルデータの各アドレスに格納される値を、該デジタルデータのアドレスとすることを特徴とする請求項15記載のデジタルデータの改竄検出装置。
- 前記アドレス演算手段は、前記デジタルデータの各アドレス周辺に格納される複数の値に対して四則演算を施し、該デジタルデータのアドレスを生成することを特徴とする請求項15記載のデジタルデータの改竄検出装置。
- 前記照合値演算手段は、前記アドレス演算手段により生成されたアドレスを、前記デジタルデータの絶対アドレスを示すものとして、改竄検出用の照合値を求めることを特徴とする請求項15〜請求項17のいずれか1つに記載のデジタルデータの改竄検出装置。
- 前記照合値演算手段は、前記アドレス演算手段により生成されたアドレスを、前記デジタルデータの相対アドレスを示すものとして、改竄検出用の照合値を求めることを特徴とする請求項15〜請求項17のいずれか1つに記載のデジタルデータの改竄検出装置。
- 前記照合値演算手段により演算された照合値に基づいて、前記デジタルデータの改竄が行われたか否かを判定する改竄判定手段を備えたことを特徴とする請求項15〜請求項19のいずれか1つに記載のデジタルデータの改竄検出装置。
- 前記改竄判定手段により改竄が行われたと判定されたときに、その旨を出力する改竄出力手段を備えたことを特徴とする請求項20記載のデジタルデータの改竄検出装置。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001246256A JP3867530B2 (ja) | 2001-08-14 | 2001-08-14 | デジタルデータの改竄検出プログラム,改竄検出方法並びに改竄検出装置 |
US10/188,992 US7216239B2 (en) | 2001-08-14 | 2002-07-05 | Counterfeit detecting program, method, and apparatus of digital data |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001246256A JP3867530B2 (ja) | 2001-08-14 | 2001-08-14 | デジタルデータの改竄検出プログラム,改竄検出方法並びに改竄検出装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2003058424A JP2003058424A (ja) | 2003-02-28 |
JP3867530B2 true JP3867530B2 (ja) | 2007-01-10 |
Family
ID=19075855
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2001246256A Expired - Lifetime JP3867530B2 (ja) | 2001-08-14 | 2001-08-14 | デジタルデータの改竄検出プログラム,改竄検出方法並びに改竄検出装置 |
Country Status (2)
Country | Link |
---|---|
US (1) | US7216239B2 (ja) |
JP (1) | JP3867530B2 (ja) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4534447B2 (ja) * | 2003-08-05 | 2010-09-01 | 日産自動車株式会社 | デジタルデータの改竄検出プログラム,改竄検出方法並びに改竄検出装置 |
DE102004060333A1 (de) * | 2004-12-15 | 2006-07-06 | Siemens Ag | Erkennung und Anzeige von Modifikationen an Softwareständen für Motorsteuergerätesoftware |
RU2622777C2 (ru) | 2009-08-28 | 2017-06-20 | Вольво Ластвагнар Аб | Способ обнаружения самовольного нарушения настройки |
US20110231316A1 (en) * | 2010-03-09 | 2011-09-22 | Cummins Intellectual Properties, Inc. | Method, system and computer readable media containing a program for identifying whether a product is genuine |
US8673137B2 (en) * | 2010-03-09 | 2014-03-18 | Cummins Filtration Ip, Inc. | Apparatus, system and method for detecting the presence of genuine serviceable product components |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0512134A (ja) | 1991-07-03 | 1993-01-22 | Matsushita Electric Ind Co Ltd | 電子式エンジン制御装置の自己診断方法 |
JPH08137762A (ja) | 1994-11-09 | 1996-05-31 | Oki Electric Ind Co Ltd | パリティチェック方式 |
JPH08305638A (ja) * | 1995-05-01 | 1996-11-22 | Nec Corp | Romデータ検査方法 |
JPH1139156A (ja) | 1997-07-22 | 1999-02-12 | Fuji Xerox Co Ltd | 暗号化データ復号装置 |
JPH1139897A (ja) | 1997-07-23 | 1999-02-12 | Denso Corp | デジタル記憶手段の記憶データ検査方法 |
JPH1196082A (ja) | 1997-09-19 | 1999-04-09 | Nissan Motor Co Ltd | 車両用メモリ書換え装置 |
US6681329B1 (en) * | 1999-06-25 | 2004-01-20 | International Business Machines Corporation | Integrity checking of a relocated executable module loaded within memory |
DE60035022T2 (de) * | 1999-11-15 | 2008-01-24 | AutoNetworks Technologies, Ltd., Nagoya | Prüfungsverfahren einer Zwischenspeicherschaltung in einer elektronischen Steuereinheit |
TW451212B (en) * | 1999-12-03 | 2001-08-21 | Macronix Int Co Ltd | Read only memory chip having a built in testing circuit |
-
2001
- 2001-08-14 JP JP2001246256A patent/JP3867530B2/ja not_active Expired - Lifetime
-
2002
- 2002-07-05 US US10/188,992 patent/US7216239B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
US20030037256A1 (en) | 2003-02-20 |
JP2003058424A (ja) | 2003-02-28 |
US7216239B2 (en) | 2007-05-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Paefgen et al. | Driving behavior analysis with smartphones: insights from a controlled field study | |
JP3545839B2 (ja) | 現在位置算出装置 | |
US7359776B2 (en) | Apparatus for correcting and diagnosing angular rate sensors installed in an automotive vehicle | |
JP3867530B2 (ja) | デジタルデータの改竄検出プログラム,改竄検出方法並びに改竄検出装置 | |
FR2714506A1 (fr) | Procédé de gestion de la maintenance d'un véhicule, ordinateur de bord et station de diagnostic associés mettant en Óoeuvre le procédé. | |
US20070028471A1 (en) | System and method for compensating for motor magnetic disturbance of a compass measurement | |
US20200183809A1 (en) | Usage amount monitoring method and monitoring unit of electronic control unit for vehicle | |
JP4534447B2 (ja) | デジタルデータの改竄検出プログラム,改竄検出方法並びに改竄検出装置 | |
US20210221384A1 (en) | System and method for evaluating recorded vehicle operation data | |
JP4281392B2 (ja) | 電子制御装置の情報書き換えシステム | |
JP2004102801A (ja) | 保険料算出サーバ、保険料算出方法、及びプログラム | |
JP2005307752A (ja) | 燃費関連情報表示装置 | |
JP4228706B2 (ja) | 電子制御装置及び該電子制御装置の記憶装置 | |
JP5303435B2 (ja) | 車両の故障情報管理 | |
JP2001165647A (ja) | 路面騒音評価装置 | |
JP5172055B2 (ja) | ジョイント係数測定器 | |
JP3569076B2 (ja) | 積算値表示装置 | |
JP2003021536A (ja) | 積算走行距離の改竄検出方法 | |
JP4773857B2 (ja) | 車両品質管理システム及び車両品質管理方法 | |
JP2002195865A (ja) | 流量計およびその電子的封印方法 | |
JP2005326339A (ja) | 積算走行距離の改竄検出システム | |
KR100210137B1 (ko) | 차량의 주차가능 진단장치 및 방법 | |
JP2501826Y2 (ja) | デ―タ処理装置 | |
JPH0684311U (ja) | データ処理機能を有するプリンタ装置 | |
JP4385827B2 (ja) | ダイナモメータの走行距離計測装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20050308 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20050329 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20060117 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20060215 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20060530 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20060726 |
|
A911 | Transfer to examiner for re-examination before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20060824 |
|
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: 20060919 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20061002 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 Ref document number: 3867530 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20091020 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101020 Year of fee payment: 4 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111020 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121020 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121020 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131020 Year of fee payment: 7 |
|
EXPY | Cancellation because of completion of term |