JPH0727497B2 - メッセージの完全性をチェックする方法及び携帯装置 - Google Patents
メッセージの完全性をチェックする方法及び携帯装置Info
- Publication number
- JPH0727497B2 JPH0727497B2 JP2508410A JP50841090A JPH0727497B2 JP H0727497 B2 JPH0727497 B2 JP H0727497B2 JP 2508410 A JP2508410 A JP 2508410A JP 50841090 A JP50841090 A JP 50841090A JP H0727497 B2 JPH0727497 B2 JP H0727497B2
- Authority
- JP
- Japan
- Prior art keywords
- message
- signature
- module
- modules
- mobile 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.)
- Expired - Lifetime
Links
Classifications
-
- G—PHYSICS
- G07—CHECKING-DEVICES
- G07F—COIN-FREED OR LIKE APPARATUS
- G07F7/00—Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus
- G07F7/08—Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus by coded identity card or credit card or other personal identification means
- G07F7/10—Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus by coded identity card or credit card or other personal identification means together with a coded signal, e.g. in the form of personal identification information, like personal identification number [PIN] or biometric data
- G07F7/1008—Active credit-cards provided with means to personalise their use, e.g. with PIN-introduction/comparison system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
-
- 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/60—Protecting data
- G06F21/64—Protecting data integrity, e.g. using checksums, certificates or signatures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/30—Payment architectures, schemes or protocols characterised by the use of specific devices or networks
- G06Q20/34—Payment architectures, schemes or protocols characterised by the use of specific devices or networks using cards, e.g. integrated circuit [IC] cards or magnetic cards
- G06Q20/355—Personalisation of cards for use
- G06Q20/3552—Downloading or loading of personalisation data
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1004—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's to protect a block of data words, e.g. CRC or checksum
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Business, Economics & Management (AREA)
- General Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Strategic Management (AREA)
- General Health & Medical Sciences (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- Computer Networks & Wireless Communication (AREA)
- Quality & Reliability (AREA)
- Accounting & Taxation (AREA)
- Bioethics (AREA)
- General Business, Economics & Management (AREA)
- Storage Device Security (AREA)
- Mobile Radio Communication Systems (AREA)
- Communication Control (AREA)
- Detection And Prevention Of Errors In Transmission (AREA)
- Hardware Redundancy (AREA)
- Debugging And Monitoring (AREA)
Description
全性をチェックする方法及び該方法を実施する装置に係
る。本発明は、記憶媒体の特定場所に記憶されておりデ
ータ処理システムの毎回の使用毎に一定に維持されるべ
きデータのごとき情報、またはソフトウェアとも呼ばれ
るコンピュータプログラムの動作命令を構成している情
報が、連続する使用の間に意図的または偶発的に変更さ
れなかったことをチェックする。実際、プログラムが正
しく作動するためには、その命令(または連続する2回
の使用の間に必要なデータ)が不正に変更されてはなら
ない。
ーザーもコンピュータのアプリケーションプログラムま
たはオペレーティングシステムにアクセスできるように
なっている。
処理システムの作動に必要なプログラムもしくはデータ
を変化させる操作エラーを犯したり、または、悪意をも
つ人間がシステムの作動を妨害するためにデータ処理シ
ステムのプログラム構造またはデータ内容を故意に改竄
することがある。後者の場合には、エラーによって生じ
た変化よりも問題が難しい。何故なら、意図的な改竄を
行なうためには、プログラムまたはデータに命令のよう
な寄生エレメントを導入し、この寄生命令がプログラム
によって処理されるときにプログラムが徐々に自己変化
するからであり、完全な自己破壊に到達することもあり
得る。
れており、この保護のために、コピーされた際には、コ
ピーまたはオリジナルを使用の継続に伴って次第に汚染
及び/または変質させる手段を含んでいる。このため、
ユーザーが海賊コピーを知らずに購入したときに、ソフ
トウェアが急激に使用できなくなるという問題が生じ
る。
ンは、ソフトウェアを徐々に変質させるので、ソフトウ
ェアの誤動作を直ちに生じさせるコンタミネーションよ
りも検出がはるかに難しい。ソフトウェアの誤動作を直
ちに生じさせる後者のタイプのコンタミネーションは一
般に異常な処理結果を与えるので速やかに検出される。
は、特に悪意をもって与えられたとき、最初の複数回の
使用では正しい出力または少なくとも正しく見える出力
が与えられるように導入されるので、プリントアウトを
読むだけでは必ずしも検出できない。多くの回数の使用
後に初めて検出可能なエラーが生じる。
システムが回線網の一部として使用される場合に、正し
いプログラムが実行すべくロードされた後でソフトウェ
アの正常な動作命令のいくつかに寄生命令を挿入または
置換させるものがある。この挿入または置換は、例えば
伝送線路を介して遠隔から行なわれる。
ードしたオリジナルプログラムが正しいことを知ってい
ても外部からの改竄を必ずしも検出できないので、プロ
グラムを実行させると直ちに異常な結果が生じる。
各々が所与のビット数を有する2進ワードの形態でコー
ドされる。常用の1つのフォーマットは、バイト、即ち
論理状態「1」または「0」を示し得る8つのビットを
含むワードである。命令またはデータのタイプ次第で
は、1つの命令または1つのデータに複数のワードを使
用する必要があろう。プログラムはこれらのワードのシ
ーケンスから成る。前述のごとき変質は、2進ワードの
付加、即ち寄生の命令もしくはデータの付加であった
り、またはオリジナルプログラム中のいくつかのワード
の1つもしくは複数のビットの状態の変化であったりす
る。
的な公知の第1の変質検出方法は、ソフトウェアにサイ
ンを付ける方法である。即ち、ソフトウェアまたはデー
タのサインを構成するために1つまたは複数の2進ワー
ドを命令またはデータに後に付加する。このためには、
オリジナルプログラムをメッセージMとし、S=f
(M)で変換し、この結果Sをプログラムの所与の場所
にサインとして配置する。サインは例えばプログラムの
最終ワードから成る。
ェックするために、ロードされたプログラムのサインを
再計算し、記憶媒体に記憶されているサインと比較す
る。両者が一致すると、これはオリジナルが変質してい
ないことを意味する。
ルゴリズムを知っている悪賢いハッカーは、次回の使用
の際に、プログラムまたはデータ記憶媒体に記憶されて
いる最新のサインと再計算されたサインとが一致するよ
うに、不正侵入の度毎に、記憶させるサインを改竄し得
る。従って、サインの一致をチェックする責任者は、メ
ッセージ変換アルゴリズムを用いたときにサインの一致
を検出し、改竄を発見できない。
間を要し、しかもこの時間中はプログラムを予定の目的
に使用することができない。従って、この方法は長いプ
ログラムには使用し難い。
下に、2回の使用の間でプログラムまたはデータが一致
し、意図的であるか否かにかかわりなくプログラムまた
はデータが変化しなかったことを高速に且つ確実にチェ
ックし得る方法及びシステムを提供することである。
ッセージ(M)に対して、情報を含む後続のメッセージ
の完全性をチェックするための方法であって、 オリジナルメッセージを総数(m)個のモジュール(M
1、M2,...Mm)に分割する段階と、 各モジュールの各サイン(S1,S2、....Sm)を計算する
ためにオリジナルメッセージの各モジュールにアルゴリ
ズムAを適用する処理手段を使用する段階と、 処理回路(11)及び前記処理回路だけがアクセスできる
一つの不揮発性保護記憶領域(10)を含む記憶手段を有
する携帯電子装置を使用して、前記保護記憶領域に前記
サインを格納し、前記記憶手段に前記アルゴリズムを格
納する段階と、 限定された数(p)のモジュールのみを考慮することに
より、後続のメッセージにおける改変を検出する確率が
所定の値となるように、モジュールの前記総数(m)よ
りも少ない前記限定された数(p)のモジュールを後続
のメッセージ中から選択し、 各サインを計算するために各選択されたモジュールに前
記アルゴリズムを適用するために前記処理回路を使用
し,後続のメッセージの選択されたモジュールに対応す
るオリジナルメッセージのモジュールのサインを前記保
護記憶領域で選択し、且つ該サインを後続のメッセージ
のサインと比較し、 オリジナルメッセージの前記サインが後続のメッセージ
の各サインと合致する関係にあるかどうかに従い、オリ
ジナルメッセージと後続のメッセージの間の完全性が一
致するかどうかを示す出力信号を携帯装置から送らせる
ことによって、携帯装置において後続のメッセージをチ
ェックする段階、 とを含むメッセージの完全性をチェックする方法が提供
される。
2,...Mm)に分割されたオリジナルメッセージ(M)に
対して、情報を含む後続のメッセージの完全性のチェッ
クを行うための携帯装置であって、処理回路(11)と、
前記処理回路のみがアクセスできる不揮発性保護記憶領
域(10)を含む記憶手段とを含み、 前記保護記憶領域は、複数のサイン(S1,S2,...Sm)を
記憶し、各サインは、アルゴリズム(A)をオリジナル
メッセージの所定のモジュールに適用した結果として得
られ、 前記記憶手段は、前記アルゴリズム(A)と、以下の命
令、即ち、 改変を検出する確率が限定された数(p)のモジュール
のみを考慮することにより所定の値となるように、前記
モジュールの総数(m)よりも少ない前記限定された数
(p)のモジュールを、前記記憶手段に記憶されている
か又は、携帯装置と協働する装置から受けとられた後続
のメッセージの中から選択する命令と、 各サインを計算するために夫々選択されたモジュールに
前記アルゴリズムを適用するために前記処理回路を使用
する命令と、 後続のメッセージの選択されたモジュールに対応するオ
リジナルメッセージ中のモジュールのサインを前記保護
記憶領域で選択し、且つ前記サインを後続のメッセージ
のサインと比較する命令と、 オリジナルメッセージの前記サインが後続のメッセージ
の各サインと合致する関係にあるかどうかに従い、オリ
ジナルメッセージ及び後続のメッセージの間の完全性が
一致しているかどうかを示す出力信号を携帯装置から送
るための命令と、を記憶していることを特徴とするメッ
セージの完全性のチェックを行うための携帯装置が提供
される。
なる時点でも使用できるという利点を有する。実際、自
分を守りたいユーザーはいつでも携帯装置内部にサイン
を記憶させ得る。携帯装置は好ましくは、電子マイクロ
回路を備えたメモリカード型のデバイスである。設計者
がサインを記憶させてもよい。その場合には、携帯装置
にプログラムが導入されている。また、多数回の使用後
にプログラムが無傷(intact)であることをチェックし
たいユーザがサインを記憶させてもよい。その場合に
は、ユーザーは特定のバージン携帯装置を入手し、必要
なときにサイン計算プログラムを実行させてサインを記
憶させる。次いでこの携帯装置を使用してプログラムの
完全性をときどきチェックする。
が携帯装置の内部で計算され、携帯装置の処理回路だけ
がアクセスできる記憶領域に記憶されたサインを抽出す
ることによってサインの一致がチェックされるので、ハ
ッカーがシステムを破壊することは不可能である。何故
なら、各サインは、携帯装置の回路によって再計算さ
れ、処理回路の制御下でのみアクセス可能な比較回路に
送られるからである。従って、メッセージが無傷でない
ときは、比較回路のアドレスに偽サインを送ることはで
きないので、いかなる改変または侵入も直ちに検出され
る。
要なシークレットキーが、これらのサインを作成すると
きに使用され、計算された各サインと同様に携帯装置の
メモリに記憶される。シークレットキーは、サイン計算
の際に与えられ、計算後に携帯装置に記憶された後で破
壊される乱数でよい。
用されるシークレットキーが、携帯装置の内部、例えば
その機密フェーズに予め記憶され、携帯装置の外部から
アクセスできない。携帯装置自体の処理回路が、予め記
憶された前記キーを用い、記憶すべきサインの最初の計
算を実行する。
発明のいくつかの実施例を示す添付の図1から図6に基
づく以下の記載より明らかであろう。
それ自体公知の構造を示す。
は、夫々のアドレスによって検出され得るワードによっ
て2進形にコードされ1からkまで番号付けされた一連
の命令から構成されている。図示の実施例において、プ
ログラムはm個の2進ワードを有し、mはk以上の値で
よい。命令のタイプ次第では、1つの命令のコードが複
数の2進ワードに関係する。このことが図1Aに示されて
いる。この図において、命令No.2は2つのワード、即ち
ワード2及び3にコードされている。構造化データ処理
システムにおいては一般に各ワードが所与のビット数を
有し、通常はバイト、即ち8ビットのサイズを有するか
または8ビットバイトの倍数のサイズを有する。勿論、
本発明はこのプログラム構造に限定されるものではな
く、ワードフォーマットが個々のプログラム毎に異なっ
た他のいかなるプログラム構造にも適用できる。
nビットのワードを有し、これらのワードが所与の順序
で配列されると、ビット数で表現して合計長さL=m×
nのメッセージを構成する。一般に、メッセージの合計
長さは、命令シーケンスに使用された各ワードを構成す
るビット集合の和から成る。
全性をチェックするために使用される。繰返し使用され
るデータ、例えばプログラムの実行に必要なデータの完
全性をチェックすることが必要になることもあろう。
てもよい。図1Bは、j個のデータを含むm個のnビット
ワードの集合を示す。
得る。従って、データ数jがデータを含むワード数mと
は異なる値になり、jがm以下になり得ることは理解さ
れよう。
データとy個の命令)の特定例を示す。
とに注目されたい。
のCPUまたはマイクロコンピュータプログラムを内蔵し
たハードディスクに記憶される。プログラムはまた、最
初に記憶されたディスケットのようなオリジナル記憶媒
体から直接使用されてもよい。意図的であるか偶発的で
あるかにかかわりなくプログラムの完全性が欠如したと
き、その結果として上記のごときワードのいずれかが変
化する。
集合からワードが構成されることを示す。1つのワード
が変化すると、その結果として少なくとも1つのビット
の状態が変化する。または、オリジナルの命令またはデ
ータに寄生の命令またはデータが重畳されたときにも変
化が生じる。これは、オリジナル記憶媒体以外の媒体に
プログラムを記憶させるとき、例えばプログラムをオリ
ジナルハードディスクから使用ハードディスクに記憶さ
せるときに生じ得る。
れたときは制御不能な現象が発生し得る。
ックするために使用されるので、本発明では、以上の記
載で命令もしくはデータと呼びまたは情報と呼んできた
シーケンスがビットで表現して長さLのメッセージを構
成し、Lの値がメッセージ中のビット数に等しいと考え
ている。
少なくとも1つのシークレットキーを用いたメッセージ
変換アルゴリズムAを使用してメッセージの電子サイン
を予め計算し、次いで、得られたサインSを、サインを
予め計算する際に使用したアルゴリズムを有するマイク
ロコンピュータカードの電子メモリに記憶させる段階を
含む。携帯装置は更に、該装置が内蔵する処理回路だけ
がアクセスできる記憶領域を有し、任意に、サインを予
め計算する際にシークレットキーを使用したときは該シ
ークレットキーを含む。
帯装置をプログラム内蔵システムに接続し、チェックプ
ログラムを実行させる。このチェックプログラムでは、
携帯装置の処理回路がその内蔵アルゴリズム及び任意に
シークレットキーを用いてチェックされるべきメッセー
ジを構成するビットシーケンスに関する別のサインを再
計算する。
インを、最初に計算され携帯装置の処理回路だけがアク
セスできる携帯装置のメモリに記憶されたサインに比較
する。最初のサインの計算のベースとして使用されたメ
ッセージがチェックに使用されたメッセージに等しいと
き、即ち、プログラム及び/またはデータが変質してい
ないときは、携帯装置のメモリに記憶されたサインは再
計算されたサインに等しく、このことがチェック担当者
に示されるであろう。
インが携帯装置の処理回路によって計算され同じ処理回
路によって携帯装置の内部で比較されるので、偽サイン
をシミュレートすることは不可能である。その理由は、
ハッカーが改竄プログラムまたはデータに対応する偽サ
インをプログラム及び/またはデータに結合できた従来
技術の場合と違って、処理回路が偽サインを抽出しない
からである。
ンをシークレットキーKを用いて計算する本発明の実施
例の原理を示す。
2,..,Bfに分割する。各単位ブロックは、サイン計算を
実行する処理回路のワーキングフォーマットとコンパチ
ブルなビット数を含む。例えば各ブロックが1ビットを
含んでもよいが、最新の処理回路では、各ブロックがバ
イトの倍数から成る複数ビットから構成される。第1ブ
ロックB1は例えば、サイン用ベースとして機能するメッ
セージの第1ワードから成り、第2ブロックB2はメッセ
ージの第2ワードから成り、以後同様にして最終ブロッ
クBfはメッセージの最終ワードから成る。複数のワード
または各ワードの複数ビットを、記憶媒体での記憶順序
とは異なる順序で抽出する計算アルゴリズムを使用する
のでハッカーの作業は勿論複雑になるであろう。
理フォーマットに対応するビットの数よりも明らかに多
いのに、携帯装置の処理回路によって直接使用され得る
フォーマットを有するサインを計算することにある。
を実行し、限定数(s)のビットを有するサインSを得
るために各オペレーションの結果を総合することにあ
る。アルゴリズムAを使用して処理回路の入力に初期値
VIを与え、同じ回路の別の入力にシークレットキーKを
与え、シークレットキーKと初期値VIとの適用によって
第1中間結果を作成し、これを例えばEXCLUSIVE OR関数
を介して第1ブロックB1の内容と総合する。EXCLUSIVE
ORを介して得られた変換の結果を、アルゴリズムを用い
る処理回路の第1入力に与え、第2入力にシークレット
キーKを与え、処理回路の出力に第2の中間結果を得
る。これを同じ変換関数、即ちEXCLUSIVE ORを介して第
2ブロックB2の内容と総合する。最終ブロックBfまで各
ブロックを順次同様に処理し、最終ブロックの内容を、
EXCLUSIVE OR関数を介して、それまでの結果Rfと合わせ
る。結果Rfは、処理回路にアルゴリズムAとシークレッ
トキーKとを適用し、それまでのEXCLU−SIVE ORの結果
を合わせて得られたものである。ブロックBfの内容とそ
れまでの結果RfとにEXCLUSIVE ORを適用して得られた結
果を、サイン計算回路のアルゴリズムAを介してキーK
と総合し、この総合結果がサインSを構成する。
される初期値と同じでなければならない。
ックで参照として使用できるように携帯装置のメモリに
記憶される。メッセージを使用する前にメッセージの完
全性をチェックする必要があるときは、携帯装置は、計
算されたサインが携帯装置のメモリ内で処理回路だけが
アクセスできるように記憶されたサインと真に同じサイ
ンであることをチェックするだけでよい。
番号から構成されてもよい。また、記憶させるべきサイ
ンの計算を開始する人間によって入力されメッセージの
完全性のチェックを要する別のユーザーに与えられた機
密コードであってもよい。最後に、初期値VIは、携帯装
置の特定の記憶レジスタの内容であってもよい。この内
容は携帯装置の毎回の使用で等しい。値VIはまた、記憶
前にサインを計算するときに処理回路によって決定され
サインと同時に記憶される乱数であってもよい。
を異なる方法で使用することも勿論可能である。また、
初期値及びシークレットキーKを使用しなくてもよい。
また、EXCLUSIVE OR関数以外の関数を使用してもよい。
モリは少なくとも1つの信号Sを含み、携帯装置はま
た、プロセッサのごとき処理回路と変換アルゴリズムA
とを有する。携帯装置は、チェックされるべきメッセー
ジが携帯装置の処理回路に送られるように設計されてい
る。携帯装置はまた、シークレットキーKを含んでもよ
く、この場合、サインは計算の結果である。
揮発性記憶領域10に複数のサインS1,S2,...Smと1つの
シークレットキーKとを含む改良された携帯装置1の例
を示す。各サインは実際、異なるメッセージのサインで
あり、同じシークレットキーKから得られたものであ
る。この構成(configuration)は、1つのソフトウェ
ア業者が同一ユーザーに複数のプログラムを提供すると
きに使用される構成である。この場合、各プログラムの
サインは同じ携帯装置に記憶され得る。
れている。
初から含む特殊な携帯装置を使用し、該ユーザーが所有
する各プログラム及び/またはデータ記憶媒体のサイン
を該携帯装置に記憶させる場合に適している。
のサインを含む場合には、サインをチェックする際に、
携帯装置の処理回路が、チェックされるメッセージに一
致すると想定されるオリジナルメッセージのサインをメ
モリ内で検索できるように、各サインをオリジナルメッ
セージの識別手段に結合させる必要がある。このため
に、記憶させるべきサインを予め計算する際に、各オリ
ジナルメッセージに通し番号または別の識別子を付加す
る。この通し番号または識別子に対応するデータは対応
するサインを記憶するときに携帯装置に記憶され、従っ
て携帯装置の処理回路は、識別データと対応サインとを
相関させ得る。
め計算することを望むユーザーによって決定されてもよ
く、または携帯装置自体の処理回路によって決定されて
もよい。
の場合、後述するすべての変形例と同様に、結合及び/
またはインタフェース回路によってより大きいシステム
2、特に、オリジナルメッセージ(プログラムまたはデ
ータ)を処理するデータ処理システムと結合させる必要
がある。このデータ処理システムは一般にコンピュータ
の一部であり、少なくとも1つのキーボードとプリント
及び/またはディスプレイ手段とを有する。結合及び/
またはインタフェース回路は、携帯装置の処理回路とよ
り大きいシステムの処理回路との間に対話を成立させ得
る。
ザーである場合、ユーザーはこれらを例えばより大きい
処理システムのキーボードを介してシステムに入力す
る。これに反して、対応するデータを決定するのが携帯
装置の処理回路である場合は、オリジナルメッセージ
(そのサインはユーザーによって予め計算されている)
に付加された通し番号または識別子が、携帯装置の処理
回路とより大きいシステムの処理回路との間に対話が成
立した後で、該システムのディスプレイ手段またはプリ
ント手段によってユーザーに通知される。
与のオリジナルメッセージに対応する識別子または通し
番号の記録を種々の記憶媒体に保持し、チェック用サイ
ンを計算する際にキーボードまたはその他のデータ入力
手段を使用して該サインをシステムに通知し、携帯装置
の処理回路が、対応すると想定されるメモリ内のサイン
だけにサインを比較する必要がある。
10において、携帯装置自体の処理回路11と製造後に任意
に該回路に組込まれたシークレットキーとから直接実行
されてもよい。この計算方法は、処理回路が計算を終了
すると直ちにサインを記憶するので、決して外部に露見
させずにサインを計算できるという優れた利点がある。
または、記憶される前の最初のサインの計算が、携帯装
置1と接続され得る外部システム2に組込まれた携帯装
置外部の処理回路によって実行されてもよい。外部シス
テム2は例えば、チェックすべきプログラムまたはデー
タの処理装置である。これらの外部回路は、携帯装置に
内蔵されたアルゴリズムと同じアルゴリズムを使用す
る。かかる場合、計算にシークレットキーを使用すると
きは、シークレットキーは、各サインを計算し記憶する
ときに同時に決定されてもよく、または、携帯装置が内
蔵する処理回路の制御下に携帯装置の内部から抽出さ
れ、次いで記憶すべきサインを計算するために外部回路
に伝送されてもよい。この方法には、シークレットキー
を外部に伝送しなければならない、その結果として、サ
インの計算後にシークレットキーを外部処理回路から抹
消しなければならないという欠点がある。しかしながら
この方法は、プログラムが極めて長いのでサインの計算
にかなり長時間を必要とする場合には有利である。サイ
ンの計算がプログラム及び/またはデータを構成するメ
ッセージ全部に基づいて行なわれる限り、マイクロプロ
セッサCPUの処理時間は方法の使用に対する障害とな
る。実際、1メガバイトのブログラムの場合、サイン計
算の結果を得るため、従ってチェックの結果を得るため
に1時間以上の計算時間を要する。その理由は、マイク
ロ回路カードのような常用の携帯装置に組込まれた処理
回路は、処理時間に関しては、より強力なコンピュータ
よりも明らかに劣っているからである。
る。このような理由から別の変形例では、問題となるす
べての場合に使用でき前述の方法よりもはるかに高速な
チェック方法を提案する。ここではメッセージがいくつ
かの部分即ちモジュールM1,M2,....Mmに予め分割され、
サインS1,S2,...Smが各モジュールに付加され、各サイ
ンは携帯装置の異なる機密領域に記憶されている。記憶
の前にそのサインS1,S2,...Smを計算する必要があるメ
ッセージのサイズ次第で、メッセージが余り長くない場
合には携帯装置の処理回路によって計算を実行し、極め
て長時間の計算を要するサイズであるときは、より高速
の処理回路、例えばサイン計算フェーズで携帯装置を接
続させるコンピュータの処理回路で計算を実行する。
るべくサイン計算フェーズ中の計算時間は最重要条件で
はない。従ってシークレットキーが外部に露見すること
を防止することを重要視するならば、携帯装置自体の処
理回路11によって計算を実行するほうが好ましいことは
理解されよう。
ベースとして使用され、従って、メッセージを構成する
全部のビットが用いられたことが理解されよう。かかる
場合、複数のサインの作成のベースとなったメッセージ
の完全性をチェックするためにいくつかの方法を使用し
得る。
m個のモジュールの集合から異なる複数のp個のモジュ
ールをランダムに選択する。数pは所定の値であり、各
チェック毎に一定である。処理回路は1回のチェックに
異なる複数のモジュールを選択し、毎回のチェック毎に
異なるモジュールを任意に選択できるように設計されて
いる。
m個のサインの初期計算に使用されたm個のモジュール
を決定した手続きと同じ手続きを使用する。従って、初
期計算の際にメッセージがkビットのモジュールに分割
されたならば、サインチェックの際にも携帯装置の処理
回路は、受信メッセージをkビットのモジュールに再度
分割し、これらのモジュールからサインチェック用のp
個のモジュールをランダムに選択する。携帯装置の処理
回路は次に、選択されたp個のモジュールのサインを計
算し、これらをカードのメモリ内の対応すると想定され
るサインに比較する。
を再計算したとき、このサイが、該サインに対応すると
想定されるメモリ内のサインに一致するか否かが直ちに
チェックされてもよい。または、再計算されたサインを
バッファメモリに記憶し、p個のサインの再計算の終了
後に比較を行なってもよい。
応すると想定される携帯装置のメモリ内のサインとの不
一致を検出すると直ちに、メッセージが無傷でないと判
断され、処理回路に結合した手段、例えば携帯装置に接
続されたシステムのディスプレイ手段が、比較の肯定ま
たは否定の結果を表示する。
ュールに分割されたとき、第1モジュールはメッセージ
の最初の8ビットから成り、第2モジュールは次の8ビ
ットから成り、以後同様である。第1モジュールの記録
されたサインは、最初の8ビットの計算に対応し、第2
モジュールのサインは、オリジナルメッセージの9番目
から16番目のビットの計算に対応する。サインチェック
の際に処理回路が、第2モジュールのサインをチェック
すると決定したならば、処理回路は、完全性をチェック
すべきメッセージの2番目の8ビット集合を抽出し、チ
ェックすべきメッセージのこの2番目の8ビット集合の
サインを再計算し、この8ビット集合にアルゴリズムA
を適用し、必要な場合には記憶前の計算で使用したシー
クレットキーKを適用し、携帯装置のメモリに記憶され
た第2のオリジナルモジュールに対応するサインを、こ
れに対応すると想定されるモジュールの再計算されたサ
インに比較する。
計算され携帯装置のメモリに記憶されたm個のサインが
チェックされなくても、システムは、プログラムが無傷
であると判断し、比較の肯定結果を表示する。
は所定の数でもよく、チェックされるモジュールは毎回
のチェック毎に異なっていてもよい。チェックされるべ
きモジュールの数pは、携帯装置の処理回路に表示さ
れ、許容信頼度水準を得るために十分な徹底チェックが
行なわれるように選択される。最初のm個のサインの代
わりにp個のサインがチェックされるので、チェック用
計算の所要時間は全部のサインの記憶に必要な計算時間
に比べてかなり短縮される。
帯装置の処理回路によってランダムに選択してもよい。
この場合、チェックがカバーするモジュールの数が少な
すぎてチェックの妥当性が不十分にならないようにpの
値を選択する必要がある。また、処理時間を許容限度内
に維持するために数pが多すぎないようにする必要もあ
る。
ュール数pを、メッセージが含むモジュール総数mの関
数として示すグラフである。即ち、このグラフは、メセ
ージがp個のチェック済みモジュールに等価のq個の変
質モジュールを含む場合、メッセージ変質を9/10の確率
で検出したときにチェックすべきモジュールの数を示
す。例えば、約60個の変質モジュールを含む1000個のモ
ジュールを含むプログラムにおいては、メッセージ変質
を9/10の確率で検出するためには60個のモジュールをチ
ェックする必要がある。
質モジュールを含むメッセージにおいて約60個のモジュ
ールのサインをチェックすると、この60個のモジュール
のサインチェック後の変質検出確率は9/10以上であり、
検出確率は変質モジュール数の増加に伴って低下する。
ためには、変質モジュールの数qとメッセージに含まれ
るモジュールの総数nとの間で妥当値を調整する。
仮定すると、サインチェックを行なうべきp個のモジュ
ールのランダムな選択は、携帯装置の処理回路に異なる
p個の乱数を生成させることによって得られる。乱数の
各々が選択されたモジュールの通し番号を決定する。
要であると仮定すると、携帯装置の処理回路は4つの異
なるm以下の数をランダムに抽出する。例えば、計算に
よって数2,4,j,m−1が与えられると、携帯装置の処理
回路は、その完全性をチェックすべきメッセージの2番
目、4番目、j番目及びm−1番目のモジュールのサイ
ンを計算し、これらを携帯装置のメモリに記憶された2
番目、4番目、j番目及びm−1番目のサインに比較す
る。
不一致が検出されたか一致が検出されたかを示す手段を
作動させる。
ックを行なうべきかを決定するために、携帯装置の処理
回路は長さmの2進数、即ちメッセージを構成するモジ
ュール数に等しいビット数を有する2進数(a)を計算
する。2進数はmビット中のpビットのコードから得ら
れる。即ち、p個のビットが所与の論理状態であり、残
りのm−p個のビットは補数の論理状態である。例え
ば、ビットの初期状態が論理状態「0」の場合、数
(a)の発生によってp個のビットは残りのビットの状
態とは異なる状態になる。各ビットがmビット集合中の
通し番号によって検出できるので、サインチェック用に
選択されたモジュールは、ランダム2進数(a)中で
「1」に変化したビットの通し番号に対応する通し番号
をもつモジュールであろう。
者に理解されよう。
優れた確率で判定し、適正且つ十分に高度な信頼性を与
える。しかしながら、方法の信頼性を更に向上させるそ
の他の変形例も可能であろう。
令のシーケンスの変更、またはかなり局在し且つ頻繁に
は使用されない寄生シーケンスの導入から成ることに基
づく。プログラム実行の際に寄生命令が使用されたとき
に始めてその存在が有害であることが判明する。これら
の寄生命令はある種の使用条件下ではプログラムによっ
て呼び出されないがその他の条件下では呼び出される。
部的な変質の検出確率を改良するために、1つの変形例
では、サイン計算に先立って携帯装置の処理回路で使用
されるアルゴリズムは、メッセージをその内容にかかわ
りなくブロックに分割するように編成され、メッセージ
の首尾一貫した変質が不可能になるようにサイン計算中
にブロックの組み合わせを編成する。このような組み合
わせたブロックの集合がモジュールを形成する。
が1つのブロックを構成する場合を考察する、かかる場
合、処理回路のワーキングフォーマットがバイトの場
合、各ブロックは8ビットから構成されるであろう。
ドから構成されるのでなく例えばメッセージのシーケン
ス中の連続する複数の2進ワードから構成されると考え
られる。従って、第1ブロックは、例えば最初の100個
の2進ワード、即ち完全性をチェックすべきメッセージ
の最初の100ワードから成り、各ワードは所与の数のビ
ット、例えば8もしくは16ビットを有するかまたは携帯
装置の処理回路のワーキングフォーマットとコンパチブ
ルなその他のビット数を有する。第2ブロックは次の10
0個の2進ワードから成り、メッセージの終端まで以後
同様である。
ックが、メッセージに属する先行ブロックと同数の2進
ワードから構成されない場合もある。この場合には、メ
ッセージ中のワードの総数を各ブロックを構成するワー
ド数によって除算した商が整数でない。このような場
合、最終ブロックは、メッセージ中の先行ブロックに含
まれるワード数と同数のワードを含むことができない。
クが100ワードから成る場合を考える。100ワードのブロ
ックが10個形成され、最終ブロックを形成するために30
ワードだけが残る。この場合、最終ブロックは、この残
りの30ワードに、例えば2進値0の70ワード、即ちすべ
て0から成る70ワードを付加することによって形成され
る。
ックのワード数がメッセージ中のワード数の完全な約数
であり、ブロック集合がオリジナルメッセージのワード
だけを含むようにすることができる。この解決では、処
理回路が1ブロック当たり何ワードにするかを決定する
ために、ブロックを形成する前にメッセージ中のワード
の総数をカウントしなければならないていう欠点はあ
る。従って、処理回路が各ブロック中の最適ワード数を
予め知っていることが必要であり、この最適数がメッセ
ージ中のワードの総数の約数でないときは、処理回路
は、使用できるより小さい約数を決定しなければならな
い。従ってこの解決は、可能ではあるが、多少面倒で実
行が難しい。
れるか、及び、処理回路が最初のサインをどのように計
算するか、または、携帯装置の処理回路がチェック計算
を実行するときにどのようにサインを組み合わせるかを
示す。
る。各ブロックは前述のように、1つの2進ワードから
成ってもよくまたは互いに結合した複数の2進ワードか
ら成ってもよい。所定数のブロックを互いに結合させる
ことによって、前述のごとくサインの計算のベースとな
る1つのモジュールが得られる。
個のブロックから成るモジュールがm/n個得られる。各
モジュールは、ランクiのモジュールMiが、ランクi,i
+1,i+2nのブロックから成り、以後同様にしてi+rn
まで続く。但し、1≦i≦n及び0≦r≦m/n−1であ
る。
1,B1+n,B1+2n,...,B1+rnから成る。
いように且つ各モジュールができるだけオリジナルメッ
セージ即ちチェックすべきメッセージからの情報だけを
含むように決定する必要がある。
ジュールは、サインを計算すべきメッセージの情報以外
の情報を含むことになる。実際、いくつかのモジュール
に2進数0または1を補充する必要があったからであ
る。
ージ中のブロックの総数の約数になるように選択される
のが好ましい。
かかわりなく、モジュール中のブロックの相互結合及び
サインはメッセージの構造自体には全く無関係である。
これは、メッセージがその完全性をチェックすべきプロ
グラムである場合には特に重要である。実際、この相互
結合によってメッセージの一部の変質がいくつかのサイ
ンに出現する可能性があり、その結果として、いくつか
のモジュールが初期状態に比べて変化を生じ易くなるの
で変質の検出確率が高くなる。いわば、変質が、モジュ
ール全体または少なくない数のモジュールに拡散する。
従って、各モジュールがメッセージ中で直列に連続する
所定数のブロックから成る編成に比べて、この編成で
は、サインチェックのための計算回数を減少させ得る。
同様に、全メッセージを各々が所与の数のビットまたは
ワードを有するブロックB1,B2,B3,...Bmに分割する。例
えばブロックB1は、メッセージの最初のk個の2進ワー
ドから成り、ブロックB2は次のk個のワードから成り、
以後同様にして終端まで続く。この場合にも、数kは、
例えばメッセージ中のワード数の約数であり、携帯装置
に記憶される前のサイン計算のための編成の際に形成さ
れる最終ワードがオリジナルメッセージに属するワード
だけから成り従ってブロックに無効情報を補充する必要
がないように選択される。
トは、ブロック中のランクによって検出できる。モジュ
ールの形成は、ブロック中の所与のランクの1つまたは
複数のビットを別のブロック中の同じランクの1つまた
は複数のビットと組み合わせることによって行なわれ
る。次に、このように形成されたモジュールを使用して
サインを計算する。
を形成すると仮定すると、第1モジュールは、メッセー
ジ中の第1ブロックの第1ビットと、第2ブロックの第
1ビットと、同様に以後のブロックの第1ビットと、最
終ブロックの第1ビットから形成される。第2モジュー
ルは、第1ブロックの第2ビット、第2ブロックの第2
ビット、などから形成される。
情報ストリングから構成される。その結果、サイン再計
算の際に、再計算され出発サイン数に比較されるサイン
数にかかわりなく、メッセージの一部の首尾一貫した変
質が検出されずにすむことは極めて難しい。一般に、プ
ログラムであるかデータにあるかにかかわりなく命令
は、長手方向に連続して書込まれ、プログラムまたはデ
ータ中に最小限の首尾一貫した変質が生じても、異なる
クロスストリングを同時に処理することがほぼ不可能に
なる。更に、この解決では、メッセージをチェックする
際に再計算して対応するオリジナルサインに比較すべき
サインの数を減少させ得る。
憶する前に各サインを計算するときに所与の数のビット
を各ブロックからランダムに抽出してモジュールを疑似
クロスストリングから形成してもよい。例えば、第1ブ
ロックから第1ビットを抽出し、これを第2ブロックの
最終ビットと組み合わせ、次いで第3ブロックの異なる
ランクのビットと組み合わせることが可能である。勿
論、かかる組み合わせには、例えば記憶前のサイン計算
の際に選択された参照乱数を使用する必要がある。この
参照乱数は、どのビットシーケンスを考察すべきを決定
するために処理回路によって使用され、また、チェック
の際に処理回路がチェックすべきメッセージからモジュ
ールを形成するためにどのような分布を用いるべきかを
知ることができるように、携帯装置のメモリ回路に記憶
されなければならない。
せまたはブロックを形成するためのワードもしくはビッ
トの組み合わせの変形を考えることが可能である。特
に、ワードまたはブロックの互いの組み合わせを論理的
シーケンスに従って形成する代わりに、ブロックを形成
するワードの組み合わせまたはモジュールを形成するブ
ロックの組み合わせをランダムに行なってもよい。この
ためには例えば、処理回路が記憶用サインを計算するた
めにモジュールを形成する前に、モジュールの復元方法
を決定し、後でチェックできるようにモジュール形成に
使用されたパラメータを記憶する必要がある。例えば、
処理回路にn個の乱数のシーケンスを作成さらることが
考えられる。nは各モジュールのブロック数に対応す
る。メッセージはm個のモジュールを含む。乱数V1,V2,
V3,...Vnのシーケンスは、モジュールの第1ブロックを
構成するブロックからこのモジュールの別の構成ブロッ
クがどれであるかを判断できる。
復元できるように、使用した乱数シーケンスの記録を保
持する必要がある。
使用が好ましいが、キーを使用する必要がない場合、即
ちメッセージをモジュールに分割するかまたは分割しな
いで1つまたは複数の明確なサインの作成に使用できる
場合もある。しかしながら、各携帯装置は異なるシーク
レットキーを含むので、シークレットキーの使用は、同
一メッセージ中のサインの計算に使用される異なる2つ
の携帯装置が等しいサインを含むことを防止し、機密保
持を向上させる。このため、ハッカーがプログラムのご
ときメッセージで行なわれていることを観察しサインチ
ェック手段を破壊することを試みた場合にも、改竄の危
険が少なくなる。特に、例えばプログラムを1個人から
別の個人に転送するときにシークレットキーの使用が重
要である。しかしながら最終ユーザーが後でチェックす
べく記憶するためにメッセージ1つまたは複数のサイン
の計算を必要とする場合、チェックに使用される携帯装
置がシークレットキーを必ずしも含む必要はない。メッ
セージのサインは、メッセージが含むデータを全体また
は別々のモジュールとして抽出し、アルゴリズムを用い
て交換するだけで得られる。従って各サインは、その計
算に使用されたデータの簡単なピクチャである。最終ユ
ーザーがその使用中にデータ記憶媒体の完全性をチェッ
クしたい場合、これはシステム破壊の企てとは全く関係
がない。かかる場合、サインは情報の単なる圧縮によっ
て得られる。
算は、該当するアルゴリズムで処理したメッセージまた
はメッセージの一部だけの関数であろう。
置は、図3の場合のようにシークレットキーKを組込ん
だ記憶領域10をもはや含まず、逆に、各々がサインS1,S
2,Smを含む1つ以上の記憶域を含み、同時に、アルゴリ
ズムAを実行する処理回路11を備えたプロセッサを含む
であろう。
作成は、サイン計算に必要な各中間処理の際にシークレ
ットキーKを使用しないで行なわれる。
くとも1つのサインを記憶する少なくとも1つの記憶領
域10と、少なくとも1つのオリジナルサインの書込み後
に少なくともサインを再計算するためにアルゴリズムA
を記憶している処理回路11とを有する携帯装置1を含
む。例えば計算時間が長くなることを避けるために携帯
装置のメモリに記憶されたサインが携帯装置の外部の処
理回路で計算されたとき、外部オブザーバーがこの最初
に計算されたサインを知っていたとしても、再計算が携
帯装置の処理回路の内部で行なわれるので、外部オブザ
ーバーは、再計算されたサインの値を知ることができな
い。
きメッセージMを少なくとも変換するためのアルゴリズ
ムまたは計算プログラムAを含んでおり、更に高度な機
密保持を要するときはメモリがキーKを含み得る。更
に、携帯装置のメモリが、オリジナルメッセージの異な
るモジュールに各々が所属する多数のサインを含む場合
には、携帯装置の処理回路は、計算時間を短縮するため
に初期数よりも少ない数のモジュールのチェックを実行
するように編成されるのが好都合である。また、処理回
路は、チェックすべきメモリのモジュールをサインが計
算され記憶されたときと同様の構成に復元できるように
なっていなければならない。
である。
ず、本発明方法を実行するシステムを構成するために別
の手段2と組み合わせる必要がある。特に、携帯装置と
コンピュータとの間、またはその完全性をチェックすべ
きプログラムまたはデータの処理装置との間にインタフ
ェース回路を構成しなければならない。この処理装置ま
たはコンピュータを介して、チェックすべき情報は、オ
リジナルメッセージを構成する情報と同様に、携帯装置
の処理回路に結合した処理装置の処理回路との対話後に
携帯装置内で処理される。特に、処理装置に通常存在す
るキーボードまたはその他のデータ入力手段(マウス、
タッチスクリーンなど)を使用して、特に機密アクセス
キーまたはオリジナルメッセージに対してその完全性が
チェックされるメッセージに対応する識別子を入力する
ときに携帯装置との対話を成立させる。
直接組込まれてもよくまたは外部に設置されリンクで接
続されてもよい。勿論、携帯装置とインタフェースまた
は結合回路との間にコネクタが配備される。
ージを完全にカバーする1つのサインが記憶されている
場合には、携帯装置の処理回路は完全性をチェックすべ
きメッセージ全体を検出し、内蔵するアルゴリズムを使
用してこのメッセージのサインを計算し、再計算された
サインが記憶されたサインに一致するか否かをチェック
する。これは短いメッセージに適している。
複数のモジュールに分割し、その結果として携帯装置の
メモリに複数のサインが記憶されているときは、携帯装
置の処理回路は、サインチェックすべきモジュールの数
pとその通し番号とが予め決定されていないときはこれ
らを決定する。全部のサインを予め計算する際にオリジ
ナルメッセージ中の対応すると考えられるモジュールが
構成されたときと同様に、この通し番号を用いてサイン
チェックすべきモジュールを復元する。
の計算に使用したかをハッカーが突き止めることを防止
するために、携帯装置の処理回路が全部のメッセージを
抽出し、ソーティングは携帯装置の内部でだけ実行され
る。勿論、メッセージが極めて長い場合、即ちメッセー
ジが携帯装置のメモリ容量よりをはるかに越える場合、
処理回路は、チェックすべきメッセージが通過する際に
該メッセージを構成するデータを読み、チェックすべき
サインのベースとして役立つデータだけを抽出する。
対応するサインを含んでいてもよい。これらのサインを
識別するために、少なくとも1つのサインを記憶した各
プログラムの識別子に関する情報を含むチェック領域を
携帯装置に配備してもよい。このチェック領域はまた、
所与のオリジナルメッセージに関するサインが配置され
たメモリアドレスを処理回路に表示してもよい。。これ
は、通し番号でもよくまたは比較されるメッセージの識
別を可能にするその他のいかなるタイプの情報でもよ
い。かかる場合、チェックを行なう際に、システムはチ
ェックすべきメッセージの番号または識別子をユーザー
に伝える。
ジを意図的に変更するときに、携帯装置に記憶された対
応する各サインの各々が更新されるように構成されてい
る。この場合、ユーザーの制御下に、変更メッセージに
対応する新しいサインの完全な書き替えが携帯装置の別
の記憶領域または同じ記憶領域で行なわれる。これは例
えばEPROMタイプ、即ち携帯装置の回路の制御下に電気
的に書き替え及び再プログラミング可能である。メモリ
カード型携帯装置及び電子マイクロ回路は一般にこの型
のメモリを組み込んでおり、これらの携帯装置と外部シ
ステムとの間のコネクタの処には、給電及びデータ転送
に必要なコネクタに加えて、いくつかのメモリ領域のプ
ログラミングまたは消去用コネクタを配備し得るので、
当業者には容易な構造である。その他の例では、プログ
ラミング電圧を携帯装置自体から供給する。しかしなが
ら、どの場合にも、メモリ内での新しいサインの消去及
び書き替えは、選択的に行なわれ、変更すべき領域にの
み関係する。
グラム及び/またはデータから成るメッセージの完全性
を容易に、安全に且つ比較的廉価に確保し得るので特に
有利である。メッセージは、オリジナルからロードさ
れ、ロードされた場所で割込みによって変更されてもよ
くまたは伝送線路を介して遠隔から変更されてもよい。
ムを変更することが可能である。
図、図2はシークレットキーを用いてサインを計算する
本発明の実施例の原理の説明図、図3は本発明の携帯装
置のブロック図、図4は0.9の確率を得るためにチェッ
クすべきモジュールの数pをモジュールの総数mの関数
として示すグラフ、図5はメッセージ内部でブロックが
どのように分割されているかを示す説明図、図6はモジ
ュールの他の形成方法の説明図である。
記憶領域、11……処理回路、12……記憶領域
Claims (7)
- 【請求項1】オリジナルメッセージ(M)に対して、情
報を含む後続のメッセージの完全性をチェックするため
の方法であって、 オリジナルメッセージを総数(m)個のモジュール(M
1、M2,...Mm)に分割する段階と、 各モジュールの各サイン(S1,S2、....Sm)を計算する
ためにオリジナルメッセージの各モジュールにアルゴリ
ズムAを適用する処理手段を使用する段階と、 処理回路(11)及び前記処理回路だけがアクセスできる
一つの不揮発性保護記憶領域(10)を含む記憶手段を有
する携帯電子装置を使用して、前記保護記憶領域に前記
サインを格納し、前記記憶手段に前記アルゴリズムを格
納する段階と、 限定された数(p)のモジュールのみを考慮することに
より、後続のメッセージにおける改変を検出する確率が
所定の値となるように、モジュールの前記総数(m)よ
りも少ない前記限定された数(p)のモジュールを後続
のメッセージ中から選択し、 各サインを計算するために各選択されたモジュールに前
記アルゴリズムを適用するために前記処理回路を使用
し, 後続のメッセージの選択されたモジュールに対応するオ
リジナルメッセージのモジュールのサインを前記保護記
憶領域で選択し、且つ該サインを後続のメッセージのサ
インと比較し、 オリジナルメッセージの前記サインが後続のメッセージ
の各サインと合致する関係にあるかどうかに従い、オリ
ジナルメッセージと後続のメッセージの間の完全性が一
致するかどうかを示す出力信号を携帯装置から送ること
によって、携帯装置において後続のメッセージをチェッ
クする段階、 とを含むメッセージの完全性をチェックする方法。 - 【請求項2】後続のメッセージのどの(p)個のモジュ
ールにサインのチェックが行なわれるかを決定するため
に、異なる乱数を連続的に選択し、各乱数がどのモジュ
ールがチェックされるべきかを決定する請求項1に記載
の方法。 - 【請求項3】メッセージのどのモジュールにサインのチ
ェックが行なわれるかを決定するために、オリジナルメ
ッセージに含まれている(m)個のモジュールからモジ
ュールを選択し、 選択された一つの乱数の長さがオリジナルメッセージ中
のモジュールの数を直接表すようにビット長が(m)の
2進数(a)を選択する段階を更に含み、 乱数は、該乱数中に含まれる(m)個のビット中の
(p)個のビットのコードであり、(p)個のビットが
所定の2進値(1又は0)を有し、残りの(m−p)個
のビットは補数の値を有し、乱数の各ビットに異なる通
し番号が付けられ、サインをチェックすべきモジュール
の数は乱数中の(m)個のビットから抽出された(p)
個のビットの通し番号によって決定される請求項2に記
載の方法。 - 【請求項4】メッセージが、該メッセージ中のビットの
占有位置に従ってメッセージのアドレスによりラベルの
付されているビットシーケンスから構成され、サインが
携帯装置の処理回路によって記憶される前に各モジュー
ルのサインを計算するために種々のモジュール(M1,M
2...Mm)がオリジナルメッセージから作成され、 各モジュールは、 所定のルールに従っていくつかのメッセージビットを取
り出すと共に、 オリジナルメッセージからモジュールを形成するために
使用されたルールと同じルールに従って、完全性がチェ
ックされるべきメッセージから該メッセージのモジュー
ルを再生すべく前記オリジナルメッセージから各モジュ
ールを形成するために使用されたルールを携帯装置に格
納することにより形成される請求項1に記載の方法。 - 【請求項5】メッセージが2進ワードの形態で編成さ
れ、前記オリジナルメッセージのモジュール及び前記後
続のメッセージモジュールを形成するために、複数のブ
ロック(B1,B2、...Bn)を形成し、各ブロックは、ブロ
ックに含まれる各データが該データを構成するビット位
置に従い指標が付けられるようにデータを含んでおり、
所定のモジュールを形成するために所定のルールに従い
各ブロックから少なくとも一つのビットを抽出する請求
項1に記載の方法。 - 【請求項6】ブロックを形成するためのデータのグルー
プ化は、メッセージ読み取り時に出現する際の順序でデ
ータを取り出すことにより行われる請求項5に記載の方
法。 - 【請求項7】総数(m)個のモジュール(M1,M2,...M
m)に分割されたオリジナルメッセージ(M)に対し
て、情報を含む後続のメッセージの完全性のチェックを
行うための携帯装置であって、処理回路(11)と、前記
処理回路のみがアクセスできる不揮発性保護記憶領域
(10)を含む記憶手段とを含み、 前記保護記憶領域は、複数のサイン(S1,S2,...Sm)を
記憶し、各サインは、アルゴリズム(A)をオリジナル
メッセージの所定のモジュールに適用した結果として得
られ、 前記記憶手段は、前記アルゴリズム(A)と、以下の命
令、即ち、 改変を検出する確率が限定された数(p)のモジュール
のみを考慮することにより所定の値となるように、前記
モジュールの総数(m)よりも少ない前記限定された数
(p)のモジュールを、前記記憶手段に記憶されている
か又は、携帯装置と協働する装置から受けとられた後続
のメッセージの中から選択する命令と、 各サインを計算するために夫々選択されたモジュールに
前記アルゴリズムを適用するために前記処理回路を使用
する命令と、 後続のメッセージの選択されたモジュールに対応するオ
リジナルメッセージ中のモジュールのサインを前記保護
記憶領域で選択し、且つ前記サインを後続のメッセージ
のサインと比較する命令と、 オリジナルメッセージの前記サインが後続のメッセージ
の各サインと合致する関係にあるかどうかに従い、オリ
ジナルメッセージ及び後続のメッセージの間の完全性が
一致しているかどうかを示す出力信号を携帯装置から送
るための命令と、を記憶していることを特徴とするメッ
セージの完全性のチェックを行うための携帯装置。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
FR898907429A FR2647924B1 (fr) | 1989-06-06 | 1989-06-06 | Procede pour verifier l'integrite d'un logiciel ou de donnees, et systeme pour la mise en oeuvre de ce procede |
FR89/07429 | 1989-06-06 | ||
PCT/FR1990/000381 WO1990015384A1 (fr) | 1989-06-06 | 1990-06-01 | Procede pour verifier l'integrite d'un logiciel ou de donnees, et systeme pour la mise en ×uvre de ce procede |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH03503220A JPH03503220A (ja) | 1991-07-18 |
JPH0727497B2 true JPH0727497B2 (ja) | 1995-03-29 |
Family
ID=9382394
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2508410A Expired - Lifetime JPH0727497B2 (ja) | 1989-06-06 | 1990-06-01 | メッセージの完全性をチェックする方法及び携帯装置 |
Country Status (12)
Country | Link |
---|---|
EP (1) | EP0402210B1 (ja) |
JP (1) | JPH0727497B2 (ja) |
KR (1) | KR940009699B1 (ja) |
AT (1) | ATE127252T1 (ja) |
CA (1) | CA2034002C (ja) |
DE (1) | DE69021935T2 (ja) |
DK (1) | DK0402210T3 (ja) |
ES (1) | ES2079457T3 (ja) |
FR (1) | FR2647924B1 (ja) |
GR (1) | GR3018239T3 (ja) |
HK (1) | HK80897A (ja) |
WO (1) | WO1990015384A1 (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008244992A (ja) * | 2007-03-28 | 2008-10-09 | Casio Comput Co Ltd | 端末装置及びプログラム |
JP2009080772A (ja) * | 2007-09-27 | 2009-04-16 | Toppan Printing Co Ltd | ソフトウェア起動システム、ソフトウェア起動方法、及びソフトウェア起動プログラム |
Families Citing this family (27)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3395863B2 (ja) * | 1994-08-10 | 2003-04-14 | 富士通株式会社 | ソフトウエア管理モジュール、ソフトウエア再生管理装置およびソフトウエア再生管理システム |
GB9513790D0 (en) * | 1995-07-06 | 1995-09-06 | Highwater Fbi Limited | Method of authenticating digital data works |
FR2752968B1 (fr) * | 1996-09-04 | 1999-02-19 | Sligos | Fichier certifie d'archivage de documents electroniques |
FR2758898B1 (fr) * | 1997-01-28 | 1999-03-05 | Sagem | Procede de preservation de l'integrite de donnees logiciel |
US6101603A (en) * | 1997-05-21 | 2000-08-08 | At&T Corporation | System and method for using a second resource to store a data element from a first resource in a first-in last-out stack |
FR2775372B1 (fr) * | 1998-02-26 | 2001-10-19 | Peugeot | Procede de verification de la coherence d'informations telechargees dans un calculateur |
US6834308B1 (en) | 2000-02-17 | 2004-12-21 | Audible Magic Corporation | Method and apparatus for identifying media content presented on a media playing device |
CN1460238A (zh) * | 2000-04-20 | 2003-12-03 | 保仓丰 | 电子信息查询方法 |
US7562012B1 (en) | 2000-11-03 | 2009-07-14 | Audible Magic Corporation | Method and apparatus for creating a unique audio signature |
US7406529B2 (en) * | 2001-02-09 | 2008-07-29 | Yahoo! Inc. | System and method for detecting and verifying digitized content over a computer network |
EP1490767B1 (en) | 2001-04-05 | 2014-06-11 | Audible Magic Corporation | Copyright detection and protection system and method |
DE10131300B4 (de) * | 2001-07-02 | 2012-12-06 | Robert Bosch Gmbh | Verfahren zum Schutz eines Mikrorechner-Systems gegen Manipulation von in einer Speicheranordnung abgelegten Daten und Mikrorechner-System |
US6968337B2 (en) * | 2001-07-10 | 2005-11-22 | Audible Magic Corporation | Method and apparatus for identifying an unknown work |
US7529659B2 (en) | 2005-09-28 | 2009-05-05 | Audible Magic Corporation | Method and apparatus for identifying an unknown work |
US8972481B2 (en) | 2001-07-20 | 2015-03-03 | Audible Magic, Inc. | Playlist generation method and apparatus |
US7877438B2 (en) | 2001-07-20 | 2011-01-25 | Audible Magic Corporation | Method and apparatus for identifying new media content |
JP4576100B2 (ja) * | 2002-07-30 | 2010-11-04 | 富士通株式会社 | 情報再生装置、セキュアモジュールおよび情報再生方法 |
EP1795992B1 (en) | 2002-07-30 | 2018-01-24 | Fujitsu Limited | Method and apparatus for reproducing information using a security module |
US8332326B2 (en) | 2003-02-01 | 2012-12-11 | Audible Magic Corporation | Method and apparatus to identify a work received by a processing system |
US8130746B2 (en) | 2004-07-28 | 2012-03-06 | Audible Magic Corporation | System for distributing decoy content in a peer to peer network |
EP1748374A1 (fr) * | 2005-07-08 | 2007-01-31 | STMicroelectronics SA | Procédé et dispositif de protection d'une mémoire contre les attaques par injection d'erreur |
EP1912148A1 (en) * | 2006-10-09 | 2008-04-16 | Axalto S.A. | Protection against side channel attacks with an integrity check |
US8006314B2 (en) | 2007-07-27 | 2011-08-23 | Audible Magic Corporation | System for identifying content of digital data |
US8199651B1 (en) | 2009-03-16 | 2012-06-12 | Audible Magic Corporation | Method and system for modifying communication flows at a port level |
EP2495625B1 (de) * | 2011-03-04 | 2020-06-17 | Siemens Aktiengesellschaft | Verfahren und Programmiersystem für die Authentifizierung eines sicherheitsrelevanten Programms einer Automatisierungseinrichtung |
US9081778B2 (en) | 2012-09-25 | 2015-07-14 | Audible Magic Corporation | Using digital fingerprints to associate data with a work |
JP7311245B2 (ja) * | 2018-03-07 | 2023-07-19 | トヨタ自動車株式会社 | マスタ装置、マスタ、制御方法、プログラム及び車両 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS59123954A (ja) * | 1982-12-29 | 1984-07-17 | Fujitsu Ltd | 記憶デ−タの不正使用防止方式 |
JPS62232070A (ja) * | 1986-04-02 | 1987-10-12 | Casio Comput Co Ltd | Icカ−ドシステムの暗号演算方式 |
EP0280035A2 (de) * | 1987-02-23 | 1988-08-31 | Siemens Nixdorf Informationssysteme Aktiengesellschaft | Verfahren zum Sichern von Programmen und zur Integritätskontrolle gesicherter Programme |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE3709524C2 (de) * | 1987-03-23 | 1996-08-14 | Bosch Gmbh Robert | Verfahren zur Überprüfung der Speicherzelleninhalte eines Programmspeichers |
-
1989
- 1989-06-06 FR FR898907429A patent/FR2647924B1/fr not_active Expired - Fee Related
-
1990
- 1990-06-01 JP JP2508410A patent/JPH0727497B2/ja not_active Expired - Lifetime
- 1990-06-01 EP EP90401476A patent/EP0402210B1/fr not_active Expired - Lifetime
- 1990-06-01 WO PCT/FR1990/000381 patent/WO1990015384A1/fr active Application Filing
- 1990-06-01 DK DK90401476.8T patent/DK0402210T3/da active
- 1990-06-01 ES ES90401476T patent/ES2079457T3/es not_active Expired - Lifetime
- 1990-06-01 KR KR1019910700143A patent/KR940009699B1/ko not_active IP Right Cessation
- 1990-06-01 AT AT90401476T patent/ATE127252T1/de not_active IP Right Cessation
- 1990-06-01 DE DE69021935T patent/DE69021935T2/de not_active Expired - Lifetime
- 1990-06-01 CA CA002034002A patent/CA2034002C/fr not_active Expired - Lifetime
-
1995
- 1995-11-29 GR GR950403360T patent/GR3018239T3/el unknown
-
1997
- 1997-06-12 HK HK80897A patent/HK80897A/xx not_active IP Right Cessation
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS59123954A (ja) * | 1982-12-29 | 1984-07-17 | Fujitsu Ltd | 記憶デ−タの不正使用防止方式 |
JPS62232070A (ja) * | 1986-04-02 | 1987-10-12 | Casio Comput Co Ltd | Icカ−ドシステムの暗号演算方式 |
EP0280035A2 (de) * | 1987-02-23 | 1988-08-31 | Siemens Nixdorf Informationssysteme Aktiengesellschaft | Verfahren zum Sichern von Programmen und zur Integritätskontrolle gesicherter Programme |
JPS63240629A (ja) * | 1987-02-23 | 1988-10-06 | シーメンス・ニクスドルフ・インフォーメーションズシステーム・アクチェンゲゼルシャフト | プログラムを機密保護し且つ機密保護されたプログラムを保全制御する方法 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008244992A (ja) * | 2007-03-28 | 2008-10-09 | Casio Comput Co Ltd | 端末装置及びプログラム |
JP2009080772A (ja) * | 2007-09-27 | 2009-04-16 | Toppan Printing Co Ltd | ソフトウェア起動システム、ソフトウェア起動方法、及びソフトウェア起動プログラム |
Also Published As
Publication number | Publication date |
---|---|
FR2647924A1 (fr) | 1990-12-07 |
CA2034002C (fr) | 1995-05-23 |
FR2647924B1 (fr) | 1994-06-17 |
HK80897A (en) | 1997-06-20 |
EP0402210B1 (fr) | 1995-08-30 |
DE69021935T2 (de) | 1996-02-15 |
EP0402210A1 (fr) | 1990-12-12 |
DK0402210T3 (da) | 1996-01-15 |
DE69021935D1 (de) | 1995-10-05 |
KR940009699B1 (ko) | 1994-10-17 |
ATE127252T1 (de) | 1995-09-15 |
JPH03503220A (ja) | 1991-07-18 |
ES2079457T3 (es) | 1996-01-16 |
CA2034002A1 (fr) | 1990-12-07 |
WO1990015384A1 (fr) | 1990-12-13 |
GR3018239T3 (en) | 1996-02-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5442645A (en) | Method for checking the integrity of a program or data, and apparatus for implementing this method | |
JPH0727497B2 (ja) | メッセージの完全性をチェックする方法及び携帯装置 | |
US7979720B2 (en) | Data security for digital data storage | |
US7861094B2 (en) | Data security for digital data storage | |
US4523271A (en) | Software protection method and apparatus | |
KR100397316B1 (ko) | 기억 장치, 암호화ㆍ복호화 장치 및 불휘발성 메모리의액세스 방법 | |
US5963970A (en) | Method and apparatus for tracking erase cycles utilizing active and inactive wear bar blocks having first and second count fields | |
CN100370408C (zh) | 用于逻辑撕碎存储在worm介质上的数据的***和方法 | |
EP0707270A2 (en) | Method and apparatus for validating system operation | |
JP2001297038A (ja) | データ記憶装置および記録媒体並びに記録媒体制御方法 | |
JPS6138519B2 (ja) | ||
JPWO2002057904A1 (ja) | ダウンロード機能を有する制御装置 | |
JP2007527579A (ja) | セキュリティで保護されたコンパクト・フラッシュ | |
JPS63788A (ja) | Icカード | |
US6260172B1 (en) | Semiconductor device with logic rewriting and security protection function | |
US5155829A (en) | Memory system and method for protecting the contents of a ROM type memory | |
US20160034720A1 (en) | Processing information | |
US20060219796A1 (en) | Integrated circuit chip card capable of determining external attack | |
JP2000112824A (ja) | メモリシステム | |
US20100031088A1 (en) | Method and system for processing information | |
US20050289409A1 (en) | Parallel data bus | |
JPH01152589A (ja) | 携帯可能なデータ担体 | |
US5687354A (en) | Memory system and method for protecting the contents of a ROM type memory | |
EP0171456A1 (en) | Computer software protection system | |
JPS59173847A (ja) | コンピユ−タソフトウエアの保護方法およびその装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313113 |
|
S531 | Written request for registration of change of domicile |
Free format text: JAPANESE INTERMEDIATE CODE: R313531 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
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: 20090329 Year of fee payment: 14 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100329 Year of fee payment: 15 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110329 Year of fee payment: 16 |
|
EXPY | Cancellation because of completion of term | ||
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110329 Year of fee payment: 16 |