JPH0883046A - 単一ハッシュを用いた揮発性ファイルの保護方法 - Google Patents
単一ハッシュを用いた揮発性ファイルの保護方法Info
- Publication number
- JPH0883046A JPH0883046A JP6282273A JP28227394A JPH0883046A JP H0883046 A JPH0883046 A JP H0883046A JP 6282273 A JP6282273 A JP 6282273A JP 28227394 A JP28227394 A JP 28227394A JP H0883046 A JPH0883046 A JP H0883046A
- Authority
- JP
- Japan
- Prior art keywords
- data
- hash
- protection method
- file
- function
- 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
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/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/55—Detecting local intrusion or implementing counter-measures
- G06F21/56—Computer malware detection or handling, e.g. anti-virus arrangements
- G06F21/562—Static detection
- G06F21/565—Static detection by checking file integrity
-
- 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3236—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/60—Digital content management, e.g. content distribution
Abstract
れ、かつ絶え間なく更新されるようにファイルの内容を
ハッシュする新規な方法を提供する。 【構成】 2つの関数のうち第1の関数は、同じ結果に
ハッシュする2つのデータ値を見つけることが計算上不
可能であるような、一方向ハッシュ関数「H」である。
第2の関数は、可換的かつ連想的関数「F」との逆関数
「Finv」であり、合計ハッシュおよび更新された記
録のハッシュを結合する。これらのハッシュは、関数
「F」を用いて結合され、それによって、各記録が、そ
の逆関数である「Finv」を用いて抽出される。この
ようにして、各記録が合計ハッシュから抽出され、更新
される。更新の度に、計算されたファイルハッシュは、
有効なユーザのみによって知られている鍵によって暗号
化された後書き込まれる。
Description
タデータの機密保護に関する。より特定的には、定期的
に更新されるファイルのハッシュを発生させるための方
法に関する。
って、ワークステーションデータ(ラップトップコンピ
ュータ、メインフレーム端末、独立のPCまたはあらゆ
るタイプのコンピュータネットワークワークステーショ
ンによって発生されるデータ)の機密性および完全性を
確保することが大変重要になっている。例えば、多くの
ラップトップコンピュータユーザは、データの機密性を
確保するために、全てのハードドライブデータを暗号化
している。暗号化は、不所望な露見からデータを隠す。
を確保しない。例えば、暗号化は、コンピュータを内密
にアクセスできる不正者が、特別の破壊プログラムを実
行するのを防ぐことができず、この破壊プログラムは、
暗号化されたデータの個々の意味を理解することはでき
ないが、暗号化されたデータを、他の恐らくランダムな
情報でランダムに上書きすることによって、他の処理へ
の入力のためにデータが最終的に解読されるときに、誤
った分析結果を生じさせるであろう。
式およびいかにして損傷したかによっては、データの改
変は検出されなくなり、データが適切な所有者によって
処理される際に、誤った結果を導く可能性がある。例え
ば、損傷したデータが2進数のデータを含んでいる場
合、このことは特に容易に生じる。所有者は、間違った
結果によって誤った動作に導かれるであろう。
して単方向ハッシュを採用することによって(例えば、
MD5または機密ハッシュアルゴリズムSHAを用いる
ことによって)保護できることが良く知られている。予
め記憶されたハッシュ値を用いて、新しく計算されたハ
ッシュ値を実行かつチェックすることにより、正しいフ
ァイルの完全性は、故意の改変処理の恐れ(または、偶
然の外部からの変更でさえも)が検出できることを保証
し、それによって最終結果の信頼性および機密性が改善
される。ファイルハッシュが自身の完全性を保護する方
法で格納されている場合、ファイルハッシュは、全ての
ファイルが損傷を受けていないことまたは故意に改変さ
れていないことを保証するために用いることができる。
ようなハッシュは計算できる。ファイルが連続的に構築
されたとき(または連続的に構築されるに従って)、ハ
ッシュは計算でき、ファイルが使用される度に再度チェ
ックできる。ユーザのみが知っている鍵によって暗号化
されることにより、またはユーザによって信用できる方
法でディジタル署名されることにより、または信頼性の
あるトークン装置に記憶されることにより、ハッシュ値
が改変から保護されている場合、ファイルのいかなる部
分を変更しても異なるハッシュ値の再計算を生じるの
で、ユーザは、ファイルが改変されていないことを信用
することができる。
ファイルがハッシュ値を計算または再計算するために連
続的に処理されることを要求する。これらの技術は、た
とえ非現実的でないとしても、頻繁に更新されたり、
「ランダムに」処理されるファイルにとっては、扱いに
くいものである。
にアクセスされたときにハッシュを確認し、ファイルを
変更し、その後全ての変更が適用された後に修正された
ファイルのハッシュを再計算することから成る。この従
来の処理は、ある種のアプリケーション、例えば長時間
実行し続けるアプリケーション、またはファイルが頻繁
に変更されるアプリケーション、または絶えずファイル
が使用状態にあるアプリケーション、または更新された
ファイルが保管されて新規のハッシュが再計算され記憶
された最終結果にプログラムが到達する前に、ファイル
を更新する特定のプログラムまたはコンピュータシステ
ムが中断されるような(例えばコンピュータが停止され
るような)危険性があるアプリケーションにはあまり適
していない。なぜなら、更新が起こる度に全てのファイ
ルのためのハッシュを再計算することは、通常、非現実
的だからである。そのような計算を行わないと、明らか
にファイルは、最初の更新時から最終ハッシュが再計算
されるまでの間、明らかに改変状態に置かれる。
ュ技術を、ある種のファイルに適用するときに生じる。
索引データベースのようなファイルは、「ランダムに」
更新され(すなわち記録の部分集合のみが非連続的命令
で更新され)、かつ長期間にわたって更新される。当該
ファイルは、数分、数時間、または(メインフレームま
たは「サーバ」の場合は)数日にわたって絶え間なく更
新されるであろう。
れ、かつファイルが頻繁に更新される場合には、ファイ
ルが変更される度に全てのファイルに対して修正された
ハッシュを計算することは、許容し得ないようなオーバ
ーヘッドを生じる。また、ハッシュが全てのファイルに
対して計算され、かつファイルが頻繁に更新される場合
には、修正されたファイルハッシュの計算をファイルが
クローズされるまで(または、プログラムが終了するま
で)遅らせると、最初の更新時と最終のハッシュの再計
算との間、明らかな誤り状態にファイルがさらされるこ
とになる。システムまたは他のプログラムが早く終了し
た場合、ファイルは、この明らかな状態にさらされる。
ば、追加の記録スペースが必要となり、この記録スペー
スは、ファイルまたはその記録の配置に影響を与える可
能性がある。通常、各記録のハッシュは、各記録の端か
ら少し離れて設けられた場所に格納される。そのような
ファイル配置の変更は、幾つかのアプリケーションでは
許容されるかもしれないが、このような対処は、各記録
について追加の記憶域が必要となるといった種々の欠点
を招く。
の欠点は、不正者が更新前のデータベースを複製し(た
とえ、データベースが暗号化されていたとしても)、か
つそのような更新前の記録を分離できることである。
「ランダムに」更新されるべく設計されたようなデータ
ベースは、記録単位で暗号化されなければならないが、
記録の境界にまたがる暗号連鎖によって、ランダム更新
は不可能となる。そこで、不正者は、手探り状態で、こ
れらの更新前の記録をデータベースの現在稼働中のコピ
ーに対応する記録に置換する可能性があり(これは、た
とえ不正者が記録の実際の内容をよく知らず、混乱を起
こすことだけを望んでいる場合でも可能である)、それ
によって、自動的に検出することが不可能な方法でデー
タベースの完全性を損なう。
シュが維持され、かつ絶え間なく更新されるようにファ
イルの内容をハッシュする新規な方法に向けられてい
る。データベースの完全性は、繰り返し全ファイルを再
処理するという不適当で過度な追加のオーバーヘッドを
導入することなく、またファイルを長期間(例えば、長
時間のリアルタイムプログラムが実行されている期間)
明らかに改変される状態に置くことなく、維持されう
る。
は、各ファイルについての他の情報と共に、各ファイル
のための少量の追加の記憶容量を必要とするだけであ
り、当該追加の記憶容量は、システムのディレクトリに
おいて、または特別の補助の(可能ならば暗号化され
た)ファイルにおいて容易に確保できる。本発明は、基
本的なファイルフォーマットおよび構造をそれぞれ変更
しなくてもよく、従って、既存のプログラムを変更する
ことなしに、ファイル処理の一部として、可能な限り
「システム」レベルまたはそれに近いレベルで完全性を
「簡単に」提供する。これにより、通常の操作へ付加す
る簡単なサービスとして、(特定のアプリケーションと
は無関係に)この追加の完全性サービスを提供しようと
するシステム間の互換性における困難性が克服される。
いない計算システムが高度の機密性を有する電子金融取
引を安全に遂行することができる。本明細書において後
に詳細に説明されるように、本発明により、ファイルの
ハッシュが増分ベースで取られることができる。これに
より、ファイルのどの部分でも変更が可能であるととも
に、修正されたファイル部分および以前の合計ハッシュ
に基づいて新規の合計ハッシュを計算することができ
る。本発明に従えば、合計ハッシュは、各記録の修正に
伴って即座に更新することができ、従来技術に従って全
ファイルのハッシュを再計算する必要がない
的を達成する。第1の関数は、同じ結果にハッシュする
2つのデータ値を見つけることが計算上不可能であるよ
うな、効果的な一方向ハッシュ関数「H」である。その
ような関数の例には、周知のMD5およびSHAアルゴ
リズムが含まれる。第2の関数は、可換的かつ連想的関
数「F」(およびその逆関数「Finv」)であり、合
計ハッシュおよび更新された記録のハッシュを結合する
ための機構を提供する。後者の関数の例には、排他的論
理和(「XOR」)および算術加算が含まれる。
記録識別(すなわち記録番号または鍵)のハッシュとを
結合することを含む。これらのハッシュは、関数
(「F」)を用いて結合され、それによって、各記録
が、その逆関数である「Finv」を用いて抽出され
る。このようにして、各記録が合計ハッシュから抽出さ
れ、更新される。更新の度に、本発明に従って計算され
たようなファイルハッシュは、好ましくは、有効なユー
ザのみによって知られている鍵によって暗号化された
後、または有効なユーザによってディジタル的に署名さ
れた場合、または変更阻止記憶装置に保持された場合に
書き込まれる。各記録は、そのデータ内容とともに、ハ
ッシュされた識別によって表される。全てのそのような
記録は合計されて、高度な機密完全性チェックを提供す
る。この合計ハッシュは、全データベースを反映し、い
かなるデータ記録の変更(または再配列)であっても、
ハッシュ計算において記録識別子(すなわち記録番号)
を用いることによって明らかになる。これは、ハッシュ
計算が、合計ハッシュ(例えば合計)に影響を与えるか
らである。この方法を用いることで、ユーザは、騙され
て誤ったデータを用いた処理を行うことがなくなる。
り、各ファイル変更のために大量の再計算が行われるこ
と、アプリケーションまたはシステムが突然に終了した
場合にファイルが「無効」とみなされる危険な状態に長
期間置かれること、各記録のハッシュ(または、MA
C)のために追加の記憶容量を必要とすることおよび不
正者が失効した記録を代替することができることをうま
く解消する。これは、全ファイルの完全性および全記録
の相互関係が、各ファイルの更新が実行されたときに変
更される単一ファイルハッシュ値内に保護されたままに
なる。
付随する図面と共に行われる本発明の好ましい実施例の
以下の記述を読むことによって、より良く理解されであ
ろう。
すブロック図であって、電子商業コンピュータネットワ
ークの一部として本発明が用いられる場合を示す。本発
明は、そのような通信ネットワーク環境において用いら
れるが、同様に、データの機密性が重視されるラップト
ップコンピュータ,独立PC,メインフレームコンピュ
ータまたは他のコンピュータシステムに関連して用いら
れる。
B,…N間の通信が機密性の確保されていない通信チャ
ネル12を用いて行われるような典型的なコンピュータ
ネットワークを含む。通信チャネル12は、例えば、電
話線であってもよい。ターミナルA,B〜Nは、単なる
一例として、従来のキーボード/CRT4に連結された
(メインメモリを有する)プロセッサ2を備えたIBM
PCであってもよい。各ターミナルA,B〜Nは、従
来のIBM PC通信ボード(図示せず)を含み、この
通信ボードは、それぞれが従来のモデム6,8,10に
接続されたときに、ターミナルにメッセージの送受信を
許容する。各ターミナルは、コンピュータにデータベー
ス情報の読み出し、書き込みおよび記憶を許容するよう
な、従来のIBM PCディスク記憶装置を含む。
化されていないメッセージを生成し、署名処理が要求さ
れるものなら何でも署名を行うことが可能であり、通信
チャネル12(または、通信チャネル12に接続されう
る図示しない通信ネットワーク)に接続された他のター
ミナルのいずれかにメッセージを送信することが可能で
ある。さらに、ターミナルA,B〜Nは、各メッセージ
についての署名の検証を行うことが可能である。
び関連する個人の秘密解読鍵を有している。図1に示す
公開鍵暗号化システムにおいて、各ターミナルユーザ
は、他のターミナルユーザがメッセージを暗号化するた
めに用いる一般的な暗号化方法を知っている。さらに、
各ターミナルユーザは、どのような暗号化鍵を用いてタ
ーミナルの暗号化処理が暗号化されたメッセージを生成
するかを知っている。
ーミナルユーザの暗号化処理および暗号化鍵を公表する
ことによっては、暗号化されたメッセージを解読し、か
つ署名を作成するために必要となるターミナルユーザの
個人解読鍵を明らかにするものではない。これに関し、
暗号化鍵の知識から解読鍵を計算することは、計算的に
不可能である。
に加えて、各ターミナルユーザは、送信されたメッセー
ジをディジタル的に署名することもできる。メッセージ
は、ターミナルユーザによってディジタル的に署名され
て、自分の個人暗号化鍵で当該メッセージを暗号化して
から、当該メッセージを送信する。メッセージの受信に
応答して、受信者は、送信者の公開暗号化鍵を用いてメ
ッセージを読むことができる。このようにして、受信者
は、秘密暗号化鍵の保持者のみがメッセージを作成した
かを確認することができる。このように、署名されたメ
ッセージの受信者は、メッセージが送信者から生じたと
いう証明を得る。
型的なディジタル署名方法の詳細が米国特許第4,40
5,829号に開示されており、米国特許第4,86
8,877号および第5,005,200号には出願人
のディジタル署名方法が開示されており、これら米国特
許は、本明細書において明らかに援用される。
しくは、電子商取引のための機密保護ワークステーショ
ンとして設計されている。本発明によれば、コンピュー
タターミナルの全メモリ領域が、後に詳細に述べられる
態様で保護され、もし望むならばメモリの一部の領域の
みが保護される。ターミナルメモリ領域に常駐する各プ
ログラムは、好ましくは、本願出願人の同時係属出願で
ある出願番号07/883,868号、名称「プログラ
ム許可情報データ構造を有するコンピュータシステム機
密保護方法および装置」に記述されたような、プログラ
ム許可情報(PAI)に従って保護され、当該出願は本
明細書において援用される。本発明の典型的な実施に従
えば、関連するPAIに従って許可されない限り、プロ
グラムはターミナルA〜N上で実行される。PAI情報
は、プログラムを改変から保護するために用いられる。
従来技術に従ったデータ暗号化は、プログラムによって
処理されるデータの秘密性を保護するために用いられ
る。本発明は、データファイルを改変から保護するため
に用いられる。特に、同時に用いられたとき、高度に機
密保護されるワークステーションは、電子商取引におい
て信頼して用いられることになるであろう。
たラップトップコンピュータならば、このターミナルは
どこに持ち運んでも良く、またウイルスを含むかもしれ
ないプログラムを実行するために用いても良い。この方
法に従ったメモリ領域の保護部分は、後述するように、
そのような改変プログラムに対して免疫を有し、ユーザ
は、コンピュータシステムにおいて処理され、記憶さ
れ、そこから送信されるデータに対して非常に高度な信
頼性を持つことができる。
典型的な記録フォーマットを、簡素化された態様で示し
ている。図2に示すに、ファイルは、n個の個別の記録
Ri(i=1〜n)を含む。各記録Ri は、関連する記
録識別子、例えば記録番号でもよい「Ki 」を有する。
Ki は、例えば従業員番号のような指標値であっても良
い。このように、ファイルは、連続的なファイル(記録
1で始まり、記録2〜nが続く)として編成される。記
録識別子は、ディスク上のセクタ番号であっても良い。
記録識別子は、各記録が一律にかつ首尾一貫して識別さ
れれば、いかなる関連する態様で(例えば、従業員番号
等によって)編成されても良い。記録識別子Ki に加え
て、各記録は、当業者によって理解されるような従来の
媒体制御信号と共にデータに関連付けられる。
の解釈は、用いられるアプリケーションまたはコンピュ
ータシステムによって異なりうる。各バイトを記録とし
て処理することが適切な場合もある。各バイトを処理す
ることによって、全ファイルの完全なハッシュを常に保
持することが可能となる。そのように編成されたディス
クにおいて、各セクタを記録とみなすことも可能であ
る。S/360アーキテクチャシステム等のようなシス
テムにおいては、連続番号付けのような分類された方法
で規定され得るような個別の記録がある。あるデータベ
ースシステムにおいては、記録はデータ鍵であるKi 、
つまり特定の記録を見分けるために用いられる値によっ
て、最もよく識別される。
明を実現するための唯一の可能な方法とみなされるべき
である。他の技術には、データの一部のみを用いるこ
と、またはデータ自身に代えて幾つかの特有のデータの
ハッシュを用いること、または未処理データおよびまた
は他のデータのハッシュ値の組み合わせとしてデータ記
録を構成することが含まれる。
るデータ構造は、ファイルが、通常の中断の場合に(フ
ァイルが更新されているときに、どのようにシステムが
中断されたとしても)常に復旧可能であることを保証す
る。他のいかなるタイプのデータ損傷も、それが偶然で
あっても意図的であっても、常に検出され得る。あらゆ
る中断の際に完全な復旧が望まれているというわけでは
ない場合、後続の論理の一部が取り去られる。
(中断からの)完全な復旧性を提供するために、「作業
データ」構造とともにデータベースファイル構造と、
「ファイルハッシュ」データ構造とを使用する。データ
ベースファイルのデータ構造は、ユーザデータを含む。
作業データのデータ構造は、更新の進行中にシステムが
中断された場合の記録処理情報を含む。
ルに関連付けられる方法は、実施態様によって決まる。
例えば、データベースファイルがオープンされて、以前
に使用が中断され、復旧が必要になったことを示す作業
データが存在する場合、作業データは、ファイル名によ
ってデータベースに関連付けられるファイルとなる。フ
ァイルをオープンする際に作業データファイルが存在し
ない場合、作業データファイルは、新しく作成され、デ
ータベースファイルが問題なくクローズされる度に消去
される。この手法は、後述するように典型的な実施によ
って図示される。代わりに、作業データ要素のプールを
処理環境によって維持される固定記憶装置内に常駐さ
せ、データベースファイルをオープンする度に、ファイ
ルをクローズするときに当該データベースファイルがプ
ールに戻される度に、および進行中の更新を一掃するた
めのシステム中断後にチェックされる度に、動作中のデ
ータベースファイルに関連づけてもよい。
は、ファイルは本来信頼性を有すると認識することがで
きる。代わりに、ファイル処理中に停電が生じた場合に
は、作業データファイルに記憶されたデータが、ファイ
ルを復旧可能にするために用いられる。このようにし
て、ファイルに対する必要な行為を見失わず、かつ適切
な処理を作業データ構造を用いて行うことにより、ファ
イルは、このような中断に関して実質的に「防弾」の役
割を果たすことになる。
データ構造50は、5つのフィールドを有する。処理フ
ィールド52は、「加算」、「更新」、「削除」または
「ナル」処理のいずれかを示す。記録識別子フィールド
54は、Ki を識別する。さらに、作業データのデータ
構造は、修正された記録Ri の値(56)、全てのまた
は将来のデータベースハッシュの修正されたバージョン
(58)およびフィールド52,54,56,および5
8のハッシュ(60)を含む。フィールド54および5
6は、「ナル」処理の場合には無視され、フィールド5
8は、「削除」処理の場合には無視される。
ば媒体)障害、または書き込み中の中断によって、作業
データ自身のいかなる部分でも不正となるか損傷を受け
た場合には、作業データのデータ構造のフィールド60
内に保持された作業のハッシュとの不一致によって検出
される。作業データは、不正者が作業データを変更して
データベースファイルを故意に変更しないように、ファ
イルハッシュと同様の方法で保護されなければならな
い。好ましい実施例においては、全てのファイルハッシ
ュ、作業データおよびデータベースファイルのデータ構
造は、有効なユーザのみに知られている鍵で暗号化され
たフォームで記憶される。記録は、暗号化されてから書
き込みが行われ、読み出される際に解読される。
その完全性のみが要求される場合には、暗号化される必
要があるデータは、作業データ記録内のフィールド60
およびファイルハッシュのみである。これにより、ファ
イルハッシュおよび作業データのいずれもが抜け目のな
い不正者によって操作され得ないことが保証される。
正者が、古いデータをデータベースファイル、作業デー
タおよびファイルハッシュの全てと取り替える可能性が
あるということがある。この場合には、データベースは
一貫しており、以前のデータベースの状態を完全に反映
し、それによって全ての有効性チェックと一致するが、
現在のデータではないデータを反映しており、それによ
ってデータを誤って導く可能性がある。
処することが可能で、例えば最終の更新日時を追加フィ
ールドとして保持し、ファイルハッシュデータとともに
それを格納する。その後、この日時データを、毎回ファ
イルをオープンする行為の一部として、ユーザに対して
示すこともできる。これにより、ユーザは、データベー
スファイルの古いバージョンを故意に再格納または使用
することもできる。最終の「オープン」日時をファイル
ハッシュデータの一部として格納することも可能であ
り、ユーザトークン(例えばスマートカード)内にこれ
を格納することも可能である。ユーザトークンは、不正
な修正に対して安全である(トークンは、また、暗号化
鍵を格納するために用いられてもよい)。ファイルハッ
シュとともに見いだされる日時がユーザトークン内の日
時と一致しない場合は、ユーザは古いバージョンのデー
タベースファイルが用いられようとしているという事実
が知らされる。通常期待されるように日時が一致してい
れば、ユーザは決定をする必要がなく、処理を進めるこ
とが許可される。
業データを隠すために用いられる暗号化鍵を各オープン
要求の開始の一部として変更することによって対処して
もよい。これにより、各ファイルハッシュおよび作業デ
ータは、セッションからセッションへ複写されることが
できなくなる。最新の鍵は、ユーザによって保持される
改変不可能なトークン内に格納されてもよい。
ルに関連付けられうる場所に格納される。ファイルハッ
シュは、権限を有するユーザ以外の者が不正に変更を行
えないように設計されなければならない。これには幾つ
かの方法によって行うことが可能で、例えば有効なユー
ザのみに知られている対称的な暗号化鍵による暗号化、
有効なユーザに知られた公開鍵に対応する公開鍵による
暗号化または有効なユーザがファイルハッシュが信頼性
を有することを証明できるなディジタル署名を含む。
ルハッシュを信頼でき、かつ侵害者が変更できないよう
にしてもよい。信頼性のあるファイルハッシュは、例え
ば、当該ファイルに対応するディレクトリエントリ内に
格納するか、ファイル自身の付属物として格納するかま
たは当該ファイルと関連づけることを許可する特別のデ
ータベース内に格納することができる。
下のように計算される。ファイルハッシュは、まず、初
期値(例えば0)と同一にセットされる。その後、ハッ
シュルーチンが、ファイル内の全記録に対して索引をつ
け、記録1からNまでのすべての記録識別子Kiを用い
て、この値を計算する。 ファイルハッシュ=F(ファイルハッシュ、H(Ki &
Ri ))
関連の記録Ri の値とを明確に結びつける処理を示す。
この処理を行うための簡単な方法の一つとしては、Ki
がすべての鍵に対して単一の長さを有している場合(お
そらく4バイトが付加された2進整数)、2つの値を連
結する。フィールド「Ki 」の長さが異なる場合には、
「Ki 」の値と「Ri 」の値とを明確に区別し、長さ
(Ki )‖Ki ‖Ri のような3つの値を連結するため
に、値「Ki 」に長さの表示を効果的に前置するように
処理が詳述されなければならない。
結により)明確に結合された後、データストリング全体
のハッシュがハッシュ関数Hを用いて取り出され、その
結果は、特別の関数Fを用いて適切なファイルハッシュ
値全体と結合される。ハッシュ関数Hは一方向ハッシュ
関数であって、ハッシュによって同じ結果となる2つの
データ値を見つけることは、計算上不可能である。その
ような関数の例には、MIT(マサチューセッツ工科大
学)のリヴェスト教授が開発したMD5ハッシュアルゴ
リズムや、機密ハッシュアルゴリズムSHAが含まれ
る。
関連する逆関数「Finv」を有し、ハッシュ全体と更
新記録のハッシュとを結合する手法を提供する。可換的
かつ連想的関数の例には、排他的論理和(XOR)およ
び算術加算が含まれる。関数Fを適用した後、ハッシュ
全体は、新規の記録を含む古い記録すべてのハッシュと
なる。この処理は、ファイル内の全記録に対して行われ
る。記録が索引データ鍵、すなわち特定の記録を識別す
るために用いられる値Ki によって最もよく区別される
場合には、上述の処理ループは、すべての活動索引入力
に対して行われる。
録、R2i は新規の記録値である場合)、新規の更新さ
れたファイルハッシュが以下のように再計算される。 ファイルハッシュ=F(Finv(ファイルハッシュ,
H(Ki &Ri )),H(Ki &R2i ))
除され、新規の値が挿入される。記録Kiがデータベー
スから削除されると、データファイルハッシュは以下の
ように改訂される。 ファイルハッシュ=Finv(ファイルハッシュ,H
(Ki &Ri ))
たハッシュは、以下のようになる。 ファイルハッシュ=F(ファイルハッシュ、H(Kii&
Ri ))
訂されたハッシュが、計算、修正、格納可能となる。
改訂しようとするまたは用いようとする)ファイルをオ
ープンしてファイルの有効性を証明する場合の処理のシ
ーケンスを示すフローチャートである。ファイル処理
は、データベースファイルをオープンすることによって
開始する(1010)。最初に、ブロック1012にお
いて、データベースファイルが初めて作成されようとし
ているか又は再初期化(すなわち上書き)されようとし
ているかどうかを決定するチェックが行われる。
化されている場合には、変数「ファイルハッシュ」は0
にセットされて、ルーチンは分岐してブロック1230
へ進む。ファイルハッシュを0に初期化することによ
り、ファイルを走査するためにステージがセットされ、
すべての記録が存在し新規であることおよびどの記録も
侵害および再構成されていないことを保証し、かつ該当
するすべてのファイルが適切なチェックと合致すること
を保証する。従って、データベースを最初に用いる度
に、ファイルが走査されて格納されたハッシュをチェッ
クする。
て、処理されているデータベースファイルが古いファイ
ルであることが示されると、ルーチンは分岐してブロッ
ク1020へ進み、関連する「ファイルハッシュ」がア
クセスされる。ファイルハッシュは機密性を有するディ
レクトリに格納され、ユーザのみに知られる鍵で暗号化
されてもよい。この値は、ファイルが最後に用いられた
時の状態を反映する。ファイルが正確にどこに格納され
るかは、実施の仕方による。本発明の好ましい実施例で
は、ファイルハッシュは、個別のデータベース内か、フ
ァイルとは異なる場所か、またはファイルのディレクト
リ入力の近傍内に格納されうる。
ファイルに対応する作業データが存在するかどうかのチ
ェックが行われる。上記図3で示すような作業データが
データベースファイル用に存在しない場合は、ルーチン
は分岐してブロック1230へ進む。
て、作業データのデータ構造が存在することが示される
と、ブロック1030において、以前の処理中に中断さ
れていたであろうデータベースファイルの更新のための
復帰を行うための処理が開始される。最初に、作業デー
タのデータ構造がオープンされて、読み出される。好ま
しい実施例では、作業データファイルは暗号化されてい
るので、内容を読み込むには復号化しなければならな
い。その後、ブロック1030において、フィールド5
2,54,56,58のハッシュを計算し、その計算さ
れたハッシュと図3のフィールド60内の格納されたハ
ッシュとを比較することによって、作業データ自身が有
効であることを確認するためのチェックが行われる。こ
のようにして、作業データ情報が処理されているときに
中断は生じなかったことを確認することができる。
の格納されたハッシュと一致しない場合は(105
0)、ルーチンは分岐してブロック1220へ進み、新
規の作業データを作成する処理が開始する。ハッシュが
一致しないということは、作業データ自身が書き込み中
に中断されたことを意味する。このような場合は、デー
タベースファイルおよびファイルハッシュは、正しいも
のであり、かつ一致していなければならず、このこと
は、ブロック1220における継続処理によって証明さ
れることが期待されている。
1060へと続き、以前の処理に含まれている更新が再
適用される。従って、データベースファイルに対して行
われた最終の処理が繰り返され、繰り返す際には、フィ
ールド52において指定された処理に基づく作業データ
のデータ構造、フィールド54の記録識別子、フィール
ド56からの修正記録の値、および図3に示すデータ構
造のフィールド58内のデータベースハッシュ全体(新
規または将来のハッシュ)の修正バージョンからのデー
タを用いる。
データのデータ構造50のフィールド52に示す処理が
加算処理かどうかを決定する処理が行われる。加算処理
の場合は、ルーチンは分岐してブロック1070へ進
み、加算処理の繰り返しを開始する。(作業データのデ
ータ構造50のフィールド56の記録の内容を示す)R
n の値が、識別子Kn によって識別される記録に配置さ
れる。記録Kn が存在する場合は、記録Kn を値Rn に
置換する。記録Kn が存在しない場合は、新規のRn が
挿入される。その後、ルーチンは分岐してブロック12
00へ進み、ファイルハッシュ値が更新される。
処理が加算処理でないことが示されると、処理が更新処
理かどうかを決定するチェックが行われる(108
0)。ブロック1080でのチェックによって更新処理
であることがと示されると、ブロック1090におい
て、記録Kn 内の値が値Rn (修正記録データ内容)に
置換されることによって更新処理が行われ、ルーチンは
分岐してブロック1200へ進む。
処理が更新処理でないことが示されると、ブロック11
00において、処理が削除処理であるかどうかを決定す
るためのチェックが行われる。処理が削除処理である場
合は、ルーチンは分岐してブロック1110へ進み、識
別子Kn によって識別された記録が存在しないことを確
認するためのチェックが行われる。Kn によって識別さ
れた記録が存在する場合は、記録は削除され、ルーチン
は分岐してブロック1200へ進む。
処理が削除処理でないことが示されると、ブロック11
20において、処理が「ナル」処理かどうかを決定する
ためのチェックが行われる。ナル処理は、ファイル開閉
時において作業データファイルを準備するために、ファ
イル処理の最初および最後に行われる。処理がナル処理
の場合は、データベースファイルおよびデータハッシュ
は共に正確で一致しているものとして、ルーチンは分岐
してブロック1220へ進む。ブロック1120でのチ
ェックによって、処理がナル処理でないことが示される
と、エラー状態が存在し、処理はブロック1130にお
いて抑止される。ブロック1130に到達すると、作業
ファイルは正しく構築されていないと決定されたことと
なる。
0でのチェックによって、加算処理、更新処理、または
削除処理が示されると、処理は分岐してブロック120
0へ進み、ファイルハッシュ値が、各処理の遂行後の最
新の既知の値を反映するように更新される。このように
して、ファイルハッシュ値が、所望する処理の遂行後
に、保護された作業データおよび保護されたファイルデ
ータに基づいて、新規のファイルハッシュに予定される
値にセットされる。この新規のファイルハッシュ値は、
所望通りに暗号化され、ファイルハッシュデータ構造に
書き込まれる。
ータフィールド52がナル処理にリセットされる。所望
するならば、リセットされた作業データは暗号化され、
作業データ50に書き込まれる。その後、作業データフ
ァイル全体が削除される。
すると、作業データは吸収および削除され、関連ファイ
ルデータが更新される。処理のこの時点において、関連
ファイルは正確でなければならない。ブロック1230
において、新規の作業データファイルが作成され、ナル
処理に初期化され、必要があれば暗号化されて書き込ま
れる。
に、ブロック1400において、データベースファイル
がファイルハッシュと一致することを確認する処理が開
始する。この処理を開始するために、計算されたハッシ
ュは0にセットされる。ブロック1410において、フ
ァイル内のすべての記録を通過するループが入力され
る。すべての記録がループ内で処理されると(ブロック
1420)、ルーチンは分岐してブロック1430へ進
む。データベースファイルがちょうど作成中の場合は、
レコードは存在せず、このループは全く実行されず、ル
ーチンはすぐに分岐してブロック1430へ進む。
る記録の値Rn が読み出され、必要に応じて復号化され
る。その後、以下を計算することによって、計算された
ハッシュに新規のRn が増補される。 計算されたハッシュ=F(計算されたハッシュ,ハッシ
ュ,((Kn の長さ)‖Kn ‖Rn ))
関数が排他的論理和である場合は、以下のようになる。 計算されたハッシュ=計算されたハッシュ XOR ハ
ッシュ,(Kn の長さ‖Kn ‖Rn )
理されるまで、分岐してブロック1410に戻る。
430において、新規の「ファイルハッシュ」が「計算
されたハッシュ」と等しいかどうかを決定するチェック
が行われる。ハッシュが一致すると、データベースファ
イルは有効で、一致しており、改変されていないことが
証明され、ルーチンはメインルーチンに戻って、信頼性
のあるデータが処理される。代わりに、ハッシュが一致
しない場合は、データベースファイル、ファイルハッシ
ュまたは作業データの少なくとも一つが、何らかの方法
で害されているか、改変されていることになる。このエ
ラー状態は、ユーザまたはアプリケーションプログラム
に示され(1440)、そこでアプリケーションは中止
されるか、または実施例によっては、ユーザが処理を中
断するかまたは危険を承知で処理を継続させるかを決定
することができてもよい。
理を遂行する処理のシーケンスを示すフローチャートで
ある。図5に示すルーチンは、示された処理が加算処
理、更新処理、または削除処理である場合に実行され
る。図5において、以下に述べる用語は、処理が記録K
n に対して行われ、かつ加算処理、更新処理および削除
処理用に、新規のRn は挿入されるべき記録Kn の値だ
と推定している。以下に述べる用語は、更新処理および
削除処理用に、処理開始時の古いRn は記録Kn の新規
値であると推定している。従って、以下に示す2つの値
は、加算処理および更新処理用の「新規のRn 」であ
り、挿入されるべき記録Kn の新規値であって、かつ更
新処理および削除処理用の「古いRn 」であり、処理開
始時の記録Knの新規値である。
2における当該処理(加算、更新または削除)の挿入お
よび図3のフィールド54における記録識別子Kn (そ
の長さを含む)の挿入によって新規の作業データを作成
する準備を行うことによって、処理が開始する。ブロッ
ク2020において、処理が更新かまたは削除かを決定
するチェックが行われる。処理が更新または削除であれ
ば(古い記録が置換中であれば)、ブロック2030に
おいて、ファイル全体のハッシュが、古い記録を控除し
て計算される。古い記録をハッシュ全体から取り除くに
は、関数Finvを以下のように用いる。 ファイルハッシュ=Finv(ファイルハッシュ,ハッ
シュ(Kn の長さ‖Kn ‖古いRn ))
ましい実施例においては、以下のようになる。 ファイルハッシュ=ファイルハッシュXORハッシュ
(Kn の長さ‖Kn ‖古いRn )
録の値が存在しないので、変更された記録の値のために
ダミーフィールド54および56が挿入される。
(またはブロック2030で既存の記録のハッシュの再
計算後の場合)は、コントロールはブロック2040へ
到達し、処理が加算処理か更新処理かを決定するチェッ
クが行われる。処理が加算処理かまたは更新処理の場合
は、ルーチンは分岐してブロック2050へ進み、新規
の記録が作業データのデータ構造56に挿入され、変更
される記録である新規Rn が、ファイルハッシュ全体に
以下を用いて組み込まれて処理される。 ファイルハッシュ=F(ファイルハッシュ,ハッシュ
(Kn の長さ‖Kn ‖新規Rn ))
ましい実施例においては、以下のようになる。 ファイルハッシュ=ファイルハッシュ XOR ハッシ
ュ(Kn の長さ‖K n ‖新規Rn )
(またはブロック2050での処理後の場合)は、すべ
てのデータベースの変更されたファイルハッシュは、作
業データのデータ構造50のフィールド58に挿入され
る(2060)。新規に出された作業データフィールド
52,54,56および58の連結ハッシュが計算さ
れ、作業データのデータ構造50のフィールド60に挿
入される。新規の作業データは、作業データファイルに
書き込まれる前に、必要があれば、暗号化される。少な
くともフィールド60の作業データファイルは保護のた
め暗号化されるべきである。
クメモリ上に上記の情報の書き込みが正しくなされたか
どうかの決定するためのチェックが行われる。書き込み
に失敗すると、ルーチンは分岐してブロック2080へ
進む。書き込みが正しく行われていれば、ブロック21
00に進む。
の処理のこの段階においては、ファイルハッシュは変更
されずに一致しており、将来の復旧の際にも正しいデー
タを生じるのは、以下の理由による。すなわち、作業デ
ータが実際には全く書き込みがなされていなかった場合
に、復旧は最終の更新を見に行き、データベースファイ
ルを現在の状態に再格納する。作業データが部分的にま
たは誤って書き込まれた場合は、フィールド60内の最
終ハッシュ内に後続の復旧に対して失敗が示される。何
のアクションも行われず、データベースは現在の(正し
い)状態のままでいることができる。作業データが実際
に所望通りに書き込みがなされた場合は、復旧は正しい
記録を見に行き、所望通りの最新の変更を適用する。そ
の後、更新は中断される。
き込みが順調に行われたことが示されると、所望する更
新処理(例えば加算、更新、削除)が、ブロック210
0で行われる。その後、ブロック2110において、処
理が順調に行われたかどうかを決定するためのチェック
が行われる。処理は種々の理由で失敗するかもしれない
(例えばユーザによる電源遮断を含む)。いずれにせ
よ、復旧処理過程中に処理が再び試みられる。実施例で
は、ルーチンは現在の加算ルーチン、更新ルーチンまた
は削除ルーチンを出て(2115)、呼出者に対してエ
ラーを提示する。
イルハッシュ値が書き込まれ、暗号化される(212
0)。ファイルハッシュ値が順調に書き込まれたとブロ
ック2130でのチェックによって決定されると、ルー
チンは戻って、データベースファイルの修正が成功した
ことを示す(2145)。書き込みに失敗したとブロッ
ク2130でのチェックに決定されれば、ルーチンは分
岐してブロック2140に進み、ルーチンはエラーを伴
って出る。将来どのような復旧を行おうとしても、ファ
イルハッシュを正しくセットしようとして行われる作業
を繰り返すこととなる。図4および図5に関連して説明
される実施例は、当業者によって理解される一度に単一
の記録および単一の処理のみを扱うことに関連していた
が、複数の記録を扱うように拡張されてもよい。
ンスを示すフローチャートである。ブロック3010に
おいて示すように、新規の最終作業データ構造50が構
成され、そこではナル処理表示がフィールド52に挿入
され、ダミーフィールドがフィールド54および56に
挿入される。最終のファイルハッシュがフィールド58
に挿入され、新規に構成された作業データフィールド5
2,54,56および58の連結ハッシュが計算され
る。その後、このハッシュは、作業データ構造フィール
ド60に挿入される。最終の作業データ構造は、適切に
暗号化されて、メモリに書き込まれる。その後、ファイ
ルと共に最終のファイルハッシュ値が、ファイルディレ
クトリまたは他の安全な場所に移動される等して格納さ
れることを確認する処理ステップが行われる(302
0)。その後、データベースファイルはクローズして
(3030)、作業データファイルが消去されるか、ま
たは現在のデータベースファイルから関連付けが解除さ
れる(3040)
イルの完全性を提供する。確実な完全性は、以下のよう
に、若干のオーバヘッドを追加することによって達成さ
れる。すなわち、システムファイルディレクトリ内(状
況によっては、ハードドライブ全体がファイルとみなさ
れる場合もある)または特に機密性のあるデータベース
内の各ファイルに関連するあるハッシュ値の格納、およ
び各ファイルを最初にアクセスする(オープンする)と
きに全ファイルを走査して、格納されたハッシュでハッ
シュを証明するために当該ハッシュを計算する追加処
理、およびある時点で用いられているファイルのハッシ
ュを格納するための追加作業メモリ、およびどの記録で
も加算、更新または削除される際に、修正されたハッシ
ュの計算およびファイルに当該ハッシュを再書き込みを
行う追加処理である。
されていない計算システムが高度の機密性を有する電子
金融取引を安全に遂行することができる。本発明によ
り、ファイルのハッシュが増分ベースで取られることが
できる。これにより、ファイルのどの部分でも変更が可
能であるとともに、修正されたファイル部分および以前
の合計ハッシュに基づいて新規の合計ハッシュを計算す
ることができる。本発明に従えば、合計ハッシュは、各
記録の修正に伴って即座に更新することができ、従来技
術に従って全ファイルのハッシュを再計算する必要がな
い。
例と考えるものと関連して説明してきたが、本発明は、
開示された実施例に限定されるべきではなく、逆に、追
加されたクレームの精神および範囲内に含まれる種々の
修正および同等の構成を含むことが想定されていると理
解されるべきである。
である。
トを概略的に示す図である。
する図である。
法にせよ更新または使用する場合に、典型的な実施例に
従って遂行される動作のシーケンスを示すフローチャー
トである。
型的な実施例に従って遂行される動作のシーケンスを示
すフローチャートである。
て遂行される動作のシーケンスを示すフローチャートで
ある。
Claims (50)
- 【請求項1】 関連するデータ処理システムによって時
々修正される複数の個別データユニットの集合体を保護
するための方法であって、 保護すべきデータユニットの少なくともデータ値部分を
用いて、ハッシュ処理を行うことによって、各個別デー
タユニットのハッシュ値を取得するステップと、 合計ハッシュ値から各個別ハッシュ値を個々に包含およ
び削除することを許可する関数を用いて、データの前記
各個別データユニットのハッシュ値を合計するステップ
とを備える、保護方法。 - 【請求項2】 前記関数の逆関数を用いて、個別のハッ
シュ値を削除するステップをさらに含む、請求項1に記
載の保護方法。 - 【請求項3】 各データユニットのためにハッシュされ
るべきデータの一部として、各データユニットの相対命
令を他のデータユニットと区別する標識を含むステップ
をさらに含む、請求項1に記載の保護方法。 - 【請求項4】 前記個別データユニットの一つを更新す
るステップと、 前記関数の逆関数を用いて、前記合計ハッシュに対して
処理を行うステップとを含む、請求項1に記載の保護方
法。 - 【請求項5】 前記標識が複数の連続命令データユニッ
ト番号である、請求項3に記載の保護方法。 - 【請求項6】 前記標識が前記個別データユニットに関
連的に索引を付けるために用いられるキー値である、請
求項3に記載の保護方法。 - 【請求項7】 前記個別データユニットが記録である、
請求項1に記載の保護方法。 - 【請求項8】 データ処理システムが更新中に中断され
た場合に、データ構造を、用いられるデータユニットに
関連する情報を含む前記個別データの少なくとも一つと
関連付けるステップをさらに含む、請求項1に記載の保
護方法。 - 【請求項9】 前記個別データユニットがバイトであ
る、請求項1に記載の保護方法。 - 【請求項10】 前記個別データユニットがセクタであ
る、請求項1に記載の保護方法。 - 【請求項11】 遂行されるべき更新処理を識別するた
めのフィールドを前記データ構造に提供するステップを
さらに含む、請求項8に記載の保護方法。 - 【請求項12】 合計ハッシュの修正バージョンを識別
するためのフィールドを前記データ構造に提供するステ
ップをさらに含む、請求項8に記載の保護方法。 - 【請求項13】 前記データ構造のフィールドのハッシ
ュを格納するためのフィールドを前記データ構造に提供
するステップをさらに含む、請求項8に記載の保護方
法。 - 【請求項14】 前記データ構造の少なくとも一部を暗
号化するステップをさらに含む、請求項8に記載の保護
方法。 - 【請求項15】 前記合計ハッシュを記憶するステップ
をさらに含む、請求項1に記載の保護方法。 - 【請求項16】 前記合計ハッシュを、権限を有するユ
ーザ以外の者には修正が不可能であるように格納するス
テップをさらに含む、請求項1に記載の保護方法。 - 【請求項17】 前記関数が排他的論理和処理である、
請求項1に記載の保護方法。 - 【請求項18】 前記関数が加算処理である、請求項1
に記載の保護方法。 - 【請求項19】 時々修正されるデータ集合体を保護す
るための方法であって、 第1のデータグループと、前記第1のデータグループを
識別する標識とに対して、所定のハッシュ処理を行うス
テップと、 第2のデータグループと、前記第2のデータグループを
識別する標識とに対して、所定のハッシュ処理を行うス
テップと、 関数を用いて合計ハッシュを決定するためにハッシュを
結合し、それによって、前記第1のデータグループの前
記ハッシュと、前記第2のデータグループの前記ハッシ
ュとが、前記関数の逆関数を用いて合計ハッシュから引
き続いて抽出されうるステップとを備える、保護方法。 - 【請求項20】 更新処理を行う前記ステップが、前記
関数の逆関数を用いて、前記ハッシュに対して処理を行
うステップを含む、請求項19に記載の保護方法。 - 【請求項21】 ハッシュを計算する前記ステップが、
前記第1のデータグループを識別する標識と、前記第2
のデータグループを識別する標識とを用いる、請求項1
9に記載の保護方法。 - 【請求項22】 前記第1のデータグループおよび前記
第2のデータグループが記録である、請求項19に記載
の保護方法。 - 【請求項23】 データ構造を前記第1のデータグルー
プおよび前記第2のデータグループの少なくとも一つに
関連付けるステップをさらに含み、前記データ構造は、
更新中にデータ処理システムが中断された場合に用いら
れる各グループに関する情報を含む、請求項19に記載
の保護方法。 - 【請求項24】 遂行されるべき更新処理を識別するた
めのフィールドを前記データ構造に提供するステップを
さらに含む、請求項23に記載の保護方法。 - 【請求項25】 合計ハッシュの修正バージョンを識別
するためのフィールドを前記データ構造に提供するステ
ップをさらに含む、請求項23に記載の保護方法。 - 【請求項26】 前記データ構造のフィールドのハッシ
ュを格納するためのフィールドを前記データ構造に提供
するステップをさらに含む、請求項23に記載の保護方
法。 - 【請求項27】 前記データ構造の少なくとも一部を暗
号化するステップをさらに含む、請求項23に記載の保
護方法。 - 【請求項28】 前記合計ハッシュを、権限を有するユ
ーザ以外の者には修正が不可能であるように格納するス
テップをさらに含む、請求項19に記載の保護方法。 - 【請求項29】 前記関数が排他的論理和処理である、
請求項19に記載の保護方法。 - 【請求項30】 前記関数が加算処理である、請求項1
9に記載の保護方法。 - 【請求項31】 複数のデータ記録を含み、関連ファイ
ルハッシュを有する更新可能なデータファイルの有効性
標識を保持するための方法であって、 前記ファイルハッシュをアクセスするステップと、 前記複数のデータ記録の一つを更新して、更新記録を生
成するステップと、 更新記録を用いて、可換的かつ連想的プロパティを有す
る関数を、合計ハッシュと更新データ記録とに適用する
ことによって、合計ハッシュを計算するステップとを備
える、保持方法。 - 【請求項32】 データ構造を前記第1のデータグルー
プおよび前記第2のデータグループの少なくとも一つに
関連付けるステップをさらに含み、前記データ構造は、
更新中にデータ処理システムが中断された場合に、用い
られる各グループに関する情報を含む、請求項31に記
載の保持方法。 - 【請求項33】 前記複数のデータ記録の一つに対して
遂行されるべき更新処理を識別するためのフィールドを
前記データ構造に提供するステップをさらに含む、請求
項32記載の保持方法。 - 【請求項34】 合計ハッシュの修正バージョンを識別
するためのフィールドを前記データ構造に提供するステ
ップをさらに含む、請求項32に記載の保持方法。 - 【請求項35】 前記データ構造のフィールドのハッシ
ュを格納するためのフィールドを前記データ構造に提供
するステップをさらに含む、請求項34に記載の保持方
法。 - 【請求項36】 前記データ構造の少なくとも一部を暗
号化するステップをさらに含む、請求項32に記載の保
持方法。 - 【請求項37】 前記合計ハッシュを格納するステップ
をさらに含む、請求項31に記載の保持方法。 - 【請求項38】 前記合計ハッシュを、権限を有するユ
ーザ以外の者には修正が不可能であるように格納するス
テップをさらに含む、請求項31に記載の保持方法。 - 【請求項39】 前記関数が排他的論理和処理である、
請求項31に記載の保持方法。 - 【請求項40】 前記関数が加算処理である、請求項3
1に記載の保持方法。 - 【請求項41】 複数のディジタルデータ記録を保護す
るための方法であって、 合計データストリングを決定するために、データ記録の
情報内容を記録識別子と結合するステップと、 ハッシュ値を決定するために、前記合計データに対して
ハッシュ処理を行うステップと、 可換的かつ連想的プロパティを有する関数に前記ハッシ
ュ値を適用するステップとを備える、保護方法。 - 【請求項42】 データ構造を更新中にデータ処理シス
テムが中断された場合に用いられる各グループに関する
情報の少なくとも一つに関連づけるステップをさらに含
む、請求項41に記載の保護方法。 - 【請求項43】 遂行されるべき更新処理を識別するた
めのフィールドを前記データ構造に提供するステップを
さらに含む、請求項42に記載の保護方法。 - 【請求項44】 合計ハッシュの修正バージョンを識別
するためのフィールドを前記データ構造に提供するステ
ップをさらに含む、請求項42に記載の保護方法。 - 【請求項45】 前記データ構造のフィールドのハッシ
ュを格納するためのフィールドを前記データ構造に提供
するステップをさらに含む、請求項44に記載の保護方
法。 - 【請求項46】 前記データ構造の少なくとも一部を暗
号化するステップをさらに含む、請求項42に記載の保
護方法。 - 【請求項47】前記合計ハッシュを格納するステップを
さらに含む、請求項44に記載の保護方法。 - 【請求項48】 前記合計ハッシュを、権限を有するユ
ーザ以外の者には修正が不可能であるように格納するス
テップをさらに含む、請求項44に記載の保護方法。 - 【請求項49】 前記関数が排他的論理和処理である、
請求項41に記載の保護方法。 - 【請求項50】 前記関数が加算処理である、請求項4
1に記載の保護方法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US08/154,520 US5475826A (en) | 1993-11-19 | 1993-11-19 | Method for protecting a volatile file using a single hash |
US08/154520 | 1993-11-19 |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2005337603A Division JP2006092574A (ja) | 1993-11-19 | 2005-11-22 | 単一ハッシュを用いた揮発性ファイルの保護方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH0883046A true JPH0883046A (ja) | 1996-03-26 |
Family
ID=22551646
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP6282273A Pending JPH0883046A (ja) | 1993-11-19 | 1994-11-16 | 単一ハッシュを用いた揮発性ファイルの保護方法 |
JP2005337603A Pending JP2006092574A (ja) | 1993-11-19 | 2005-11-22 | 単一ハッシュを用いた揮発性ファイルの保護方法 |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2005337603A Pending JP2006092574A (ja) | 1993-11-19 | 2005-11-22 | 単一ハッシュを用いた揮発性ファイルの保護方法 |
Country Status (7)
Country | Link |
---|---|
US (2) | US5475826A (ja) |
EP (1) | EP0654920B2 (ja) |
JP (2) | JPH0883046A (ja) |
AT (1) | ATE230534T1 (ja) |
AU (1) | AU5778394A (ja) |
CA (1) | CA2120678C (ja) |
DE (1) | DE69431944T3 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2018092281A (ja) * | 2016-11-30 | 2018-06-14 | キヤノン電子株式会社 | 情報処理装置及びその制御方法、プログラムおよびシステム |
Families Citing this family (121)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5475826A (en) * | 1993-11-19 | 1995-12-12 | Fischer; Addison M. | Method for protecting a volatile file using a single hash |
US5687361A (en) * | 1995-02-13 | 1997-11-11 | Unisys Corporation | System for managing and accessing a dynamically expanding computer database |
EP0826181A4 (en) | 1995-04-11 | 2005-02-09 | Kinetech Inc | IDENTIFYING DATA IN A DATA PROCESSING SYSTEM |
US6016484A (en) * | 1996-04-26 | 2000-01-18 | Verifone, Inc. | System, method and article of manufacture for network electronic payment instrument and certification of payment and credit collection utilizing a payment |
US5963924A (en) * | 1996-04-26 | 1999-10-05 | Verifone, Inc. | System, method and article of manufacture for the use of payment instrument holders and payment instruments in network electronic commerce |
US5987140A (en) * | 1996-04-26 | 1999-11-16 | Verifone, Inc. | System, method and article of manufacture for secure network electronic payment and credit collection |
JPH09311806A (ja) * | 1996-05-24 | 1997-12-02 | Hitachi Ltd | データ不正更新の検出方法 |
US6263442B1 (en) * | 1996-05-30 | 2001-07-17 | Sun Microsystems, Inc. | System and method for securing a program's execution in a network environment |
US6026379A (en) * | 1996-06-17 | 2000-02-15 | Verifone, Inc. | System, method and article of manufacture for managing transactions in a high availability system |
US5987132A (en) * | 1996-06-17 | 1999-11-16 | Verifone, Inc. | System, method and article of manufacture for conditionally accepting a payment method utilizing an extensible, flexible architecture |
US6373950B1 (en) | 1996-06-17 | 2002-04-16 | Hewlett-Packard Company | System, method and article of manufacture for transmitting messages within messages utilizing an extensible, flexible architecture |
US5943424A (en) * | 1996-06-17 | 1999-08-24 | Hewlett-Packard Company | System, method and article of manufacture for processing a plurality of transactions from a single initiation point on a multichannel, extensible, flexible architecture |
US5889863A (en) * | 1996-06-17 | 1999-03-30 | Verifone, Inc. | System, method and article of manufacture for remote virtual point of sale processing utilizing a multichannel, extensible, flexible architecture |
US5983208A (en) * | 1996-06-17 | 1999-11-09 | Verifone, Inc. | System, method and article of manufacture for handling transaction results in a gateway payment architecture utilizing a multichannel, extensible, flexible architecture |
US6119105A (en) * | 1996-06-17 | 2000-09-12 | Verifone, Inc. | System, method and article of manufacture for initiation of software distribution from a point of certificate creation utilizing an extensible, flexible architecture |
US6002767A (en) * | 1996-06-17 | 1999-12-14 | Verifone, Inc. | System, method and article of manufacture for a modular gateway server architecture |
US6072870A (en) * | 1996-06-17 | 2000-06-06 | Verifone Inc. | System, method and article of manufacture for a gateway payment architecture utilizing a multichannel, extensible, flexible architecture |
US5944821A (en) * | 1996-07-11 | 1999-08-31 | Compaq Computer Corporation | Secure software registration and integrity assessment in a computer system |
US5745900A (en) * | 1996-08-09 | 1998-04-28 | Digital Equipment Corporation | Method for indexing duplicate database records using a full-record fingerprint |
US5931917A (en) * | 1996-09-26 | 1999-08-03 | Verifone, Inc. | System, method and article of manufacture for a gateway system architecture with system administration information accessible from a browser |
US6367012B1 (en) | 1996-12-06 | 2002-04-02 | Microsoft Corporation | Embedding certifications in executable files for network transmission |
US5892904A (en) * | 1996-12-06 | 1999-04-06 | Microsoft Corporation | Code certification for network transmission |
US6708274B2 (en) * | 1998-04-30 | 2004-03-16 | Intel Corporation | Cryptographically protected paging subsystem |
US6266771B1 (en) * | 1997-02-10 | 2001-07-24 | The Regents Of The University Of California | Probabilistic signature scheme |
US5996076A (en) * | 1997-02-19 | 1999-11-30 | Verifone, Inc. | System, method and article of manufacture for secure digital certification of electronic commerce |
JP2001514834A (ja) * | 1997-03-10 | 2001-09-11 | ガイ・エル・フィールダー | 安全決定性暗号鍵発生システムおよび方法 |
DE59811203D1 (de) * | 1997-04-14 | 2004-05-19 | Siemens Ag | Verfahren und anordnung zur bildung und überprüfung einer prüfsumme für digitale daten, die in mehrere datensegmente gruppiert sind |
US6065119A (en) * | 1997-05-30 | 2000-05-16 | The Regents Of The University Of California | Data validation |
US6122372A (en) * | 1997-06-04 | 2000-09-19 | Signet Assurance Company Llc | System and method for encapsulating transaction messages with verifiable data generated identifiers |
US6339829B1 (en) * | 1998-07-30 | 2002-01-15 | International Business Machines Corporation | Method and apparatus to store extended security information in a data structure which shadows a java class object |
US8347086B2 (en) | 2000-12-18 | 2013-01-01 | Citibank, N.A. | System and method for automatically detecting and then self-repairing corrupt, modified of non-existent files via a communication medium |
US6460122B1 (en) * | 1999-03-31 | 2002-10-01 | International Business Machine Corporation | System, apparatus and method for multi-level cache in a multi-processor/multi-controller environment |
US6299452B1 (en) * | 1999-07-09 | 2001-10-09 | Cognitive Concepts, Inc. | Diagnostic system and method for phonological awareness, phonological processing, and reading skill testing |
WO2001035253A1 (en) * | 1999-11-08 | 2001-05-17 | Usertrust, Inc. | Legal-based or fiduciary-based data management process |
US7010683B2 (en) * | 2000-01-14 | 2006-03-07 | Howlett-Packard Development Company, L.P. | Public key validation service |
US7340600B1 (en) | 2000-01-14 | 2008-03-04 | Hewlett-Packard Development Company, L.P. | Authorization infrastructure based on public key cryptography |
US7269726B1 (en) * | 2000-01-14 | 2007-09-11 | Hewlett-Packard Development Company, L.P. | Lightweight public key infrastructure employing unsigned certificates |
GB2359955B (en) * | 2000-03-01 | 2003-07-23 | 3Com Corp | Network unit including address hashing |
WO2001080095A2 (en) | 2000-04-17 | 2001-10-25 | Brio Technology, Inc. | Analytical server including metrics engine |
US7072897B2 (en) * | 2000-04-27 | 2006-07-04 | Hyperion Solutions Corporation | Non-additive measures and metric calculation |
US7080090B2 (en) * | 2000-04-27 | 2006-07-18 | Hyperion Solutions Corporation | Allocation measures and metric calculations in star schema multi-dimensional data warehouse |
JP2001346135A (ja) * | 2000-06-01 | 2001-12-14 | Nikon Gijutsu Kobo:Kk | デジタルプリントの注文・作成方法及び装置、並びに画像データの管理方法 |
US6865577B1 (en) | 2000-11-06 | 2005-03-08 | At&T Corp. | Method and system for efficiently retrieving information from a database |
US7069594B1 (en) * | 2001-06-15 | 2006-06-27 | Mcafee, Inc. | File system level integrity verification and validation |
US7003672B2 (en) * | 2001-09-25 | 2006-02-21 | Hewlett-Packard Development Company, L.P. | Authentication and verification for use of software |
US8266113B2 (en) * | 2003-04-01 | 2012-09-11 | Cybersoft, Inc. | Methods, apparatus and articles of manufacture for computer file integrity and baseline maintenance |
JP2003223365A (ja) * | 2002-01-31 | 2003-08-08 | Fujitsu Ltd | データ管理機構及びデータ管理機構を有する装置又はカード |
US7624434B2 (en) * | 2002-03-01 | 2009-11-24 | 3Com Corporation | System for providing firewall capabilities to a communication device |
JP2004030079A (ja) * | 2002-06-24 | 2004-01-29 | Fuji Electric Holdings Co Ltd | コンテンツ受配信システム |
US7337471B2 (en) * | 2002-10-07 | 2008-02-26 | Symantec Corporation | Selective detection of malicious computer code |
US7260847B2 (en) * | 2002-10-24 | 2007-08-21 | Symantec Corporation | Antivirus scanning in a hard-linked environment |
EP1557025B1 (fr) * | 2002-10-30 | 2006-05-03 | Thomson Licensing | Procede simplifie de renouvellement de cles symetriques dans un reseau numerique |
US7263720B2 (en) * | 2002-12-16 | 2007-08-28 | Intel Corporation | Method and mechanism for validating legitimate software calls into secure software |
US7373664B2 (en) * | 2002-12-16 | 2008-05-13 | Symantec Corporation | Proactive protection against e-mail worms and spam |
US20040153666A1 (en) * | 2003-02-05 | 2004-08-05 | Sobel William E. | Structured rollout of updates to malicious computer code detection definitions |
US20040158546A1 (en) * | 2003-02-06 | 2004-08-12 | Sobel William E. | Integrity checking for software downloaded from untrusted sources |
US7293290B2 (en) * | 2003-02-06 | 2007-11-06 | Symantec Corporation | Dynamic detection of computer worms |
US7246227B2 (en) * | 2003-02-10 | 2007-07-17 | Symantec Corporation | Efficient scanning of stream based data |
US7546638B2 (en) * | 2003-03-18 | 2009-06-09 | Symantec Corporation | Automated identification and clean-up of malicious computer code |
US7739278B1 (en) * | 2003-08-22 | 2010-06-15 | Symantec Corporation | Source independent file attribute tracking |
WO2005020043A2 (en) * | 2003-08-26 | 2005-03-03 | Matsushita Electric Industrial Co., Ltd. | Program execution device |
US20050071640A1 (en) * | 2003-09-25 | 2005-03-31 | General Instrument Corporation | Method and apparatus for authenticating data |
US7519822B2 (en) * | 2004-03-10 | 2009-04-14 | Hewlett-Packard Development Company, L.P. | Method and apparatus for processing descriptive statements |
US7130981B1 (en) | 2004-04-06 | 2006-10-31 | Symantec Corporation | Signature driven cache extension for stream based scanning |
US7861304B1 (en) | 2004-05-07 | 2010-12-28 | Symantec Corporation | Pattern matching using embedded functions |
US7484094B1 (en) | 2004-05-14 | 2009-01-27 | Symantec Corporation | Opening computer files quickly and safely over a network |
US7373667B1 (en) | 2004-05-14 | 2008-05-13 | Symantec Corporation | Protecting a computer coupled to a network from malicious code infections |
US7487353B2 (en) * | 2004-05-20 | 2009-02-03 | International Business Machines Corporation | System, method and program for protecting communication |
US7509680B1 (en) | 2004-09-01 | 2009-03-24 | Symantec Corporation | Detecting computer worms as they arrive at local computers through open network shares |
US7565686B1 (en) | 2004-11-08 | 2009-07-21 | Symantec Corporation | Preventing unauthorized loading of late binding code into a process |
US20060150153A1 (en) * | 2004-12-04 | 2006-07-06 | Micah Altman | Digital object verification method |
US7984018B2 (en) * | 2005-04-18 | 2011-07-19 | Microsoft Corporation | Efficient point-to-multipoint data reconciliation |
GB0510878D0 (en) * | 2005-05-27 | 2005-07-06 | Qinetiq Ltd | Digital evidence bag |
US7895654B1 (en) | 2005-06-27 | 2011-02-22 | Symantec Corporation | Efficient file scanning using secure listing of file modification times |
US7975303B1 (en) | 2005-06-27 | 2011-07-05 | Symantec Corporation | Efficient file scanning using input-output hints |
US7895651B2 (en) | 2005-07-29 | 2011-02-22 | Bit 9, Inc. | Content tracking in a network security system |
US8984636B2 (en) | 2005-07-29 | 2015-03-17 | Bit9, Inc. | Content extractor and analysis system |
US8272058B2 (en) | 2005-07-29 | 2012-09-18 | Bit 9, Inc. | Centralized timed analysis in a network security system |
US8060747B1 (en) * | 2005-09-12 | 2011-11-15 | Microsoft Corporation | Digital signatures for embedded code |
JP3894335B1 (ja) * | 2005-10-04 | 2007-03-22 | インターナショナル・ビジネス・マシーンズ・コーポレーション | データベースの整合性を判断する装置、およびその方法 |
US8185576B2 (en) | 2006-03-14 | 2012-05-22 | Altnet, Inc. | Filter for a distributed network |
US7966602B1 (en) * | 2006-03-16 | 2011-06-21 | Oracle America, Inc. | Incremental modification detector, and methods, systems, and apparatus for implementing the same |
US20080022414A1 (en) | 2006-03-31 | 2008-01-24 | Robert Cahn | System and method of providing unique personal identifiers for use in the anonymous and secure exchange of data |
US20080033740A1 (en) * | 2006-08-04 | 2008-02-07 | Robert Cahn | On-line anonymous age verification for controlling access to selected websites |
US7757098B2 (en) * | 2006-06-27 | 2010-07-13 | Intel Corporation | Method and apparatus for verifying authenticity of initial boot code |
US7689547B2 (en) * | 2006-09-06 | 2010-03-30 | Microsoft Corporation | Encrypted data search |
US8510859B2 (en) | 2006-09-26 | 2013-08-13 | Intel Corporation | Methods and arrangements to launch trusted, co-existing environments |
EP1918839A1 (de) * | 2006-11-03 | 2008-05-07 | Siemens Aktiengesellschaft | Modifizieren eines Softwarestands einer Steuergerätesoftware für ein Steuergerät und Erkennen einer solchen Modifikation |
JP5049288B2 (ja) * | 2006-11-09 | 2012-10-17 | パナソニック株式会社 | 改竄検出システム、改竄検出方法、改竄検出プログラム、記録媒体、集積回路、認証情報生成装置及び改竄検出装置 |
JP2008146601A (ja) * | 2006-12-13 | 2008-06-26 | Canon Inc | 情報処理装置及び情報処理方法 |
JP4998019B2 (ja) * | 2007-03-06 | 2012-08-15 | 富士通株式会社 | 状態表示制御装置 |
US8893241B2 (en) | 2007-06-01 | 2014-11-18 | Albright Associates | Systems and methods for universal enhanced log-in, identity document verification and dedicated survey participation |
US8056118B2 (en) | 2007-06-01 | 2011-11-08 | Piliouras Teresa C | Systems and methods for universal enhanced log-in, identity document verification, and dedicated survey participation |
US8959584B2 (en) | 2007-06-01 | 2015-02-17 | Albright Associates | Systems and methods for universal enhanced log-in, identity document verification and dedicated survey participation |
US9398022B2 (en) | 2007-06-01 | 2016-07-19 | Teresa C. Piliouras | Systems and methods for universal enhanced log-in, identity document verification, and dedicated survey participation |
US9424266B2 (en) * | 2007-10-01 | 2016-08-23 | Microsoft Technology Licensing, Llc | Efficient file hash identifier computation |
US8156126B2 (en) * | 2008-07-14 | 2012-04-10 | Greenbytes, Inc. | Method for the allocation of data on physical media by a file system that eliminates duplicate data |
US8726032B2 (en) | 2009-03-25 | 2014-05-13 | Pacid Technologies, Llc | System and method for protecting secrets file |
US8934625B2 (en) * | 2009-03-25 | 2015-01-13 | Pacid Technologies, Llc | Method and system for securing communication |
US20110307707A1 (en) | 2009-03-25 | 2011-12-15 | Pacid Technologies, Llc | Method and system for securing a file |
US8959350B2 (en) | 2009-03-25 | 2015-02-17 | Pacid Technologies, Llc | Token for securing communication |
US8782408B2 (en) | 2009-03-25 | 2014-07-15 | Pacid Technologies, Llc | Method and system for securing communication |
WO2011077858A1 (ja) | 2009-12-25 | 2011-06-30 | インターナショナル・ビジネス・マシーンズ・コーポレーション | 階層型データベースにおけるポインタの整合性をチェックするためのシステム、方法及びプログラム |
US9075798B2 (en) * | 2010-07-30 | 2015-07-07 | Adobe Systems Incorporated | Verifying authenticity of input using a hashing algorithm |
DE102010061733B4 (de) * | 2010-11-22 | 2022-05-05 | Beckhoff Automation Gmbh | Verfahren zum Erstellen eines Steuerprogramms |
EP2477137A1 (en) | 2011-01-12 | 2012-07-18 | Safelayer Secure Communications, S.A. | Method for verifying the integrity of a set of data |
US8881294B2 (en) | 2011-02-18 | 2014-11-04 | Honeywell International Inc. | Methods and systems for securely uploading files onto aircraft |
US8745750B2 (en) | 2011-04-21 | 2014-06-03 | Microsoft Corporation | Origination verification using execution transparent marker context |
US20120324446A1 (en) * | 2011-06-17 | 2012-12-20 | Microsoft Corporation | Virtual machine image composition and signing |
TWI569614B (zh) | 2011-08-30 | 2017-02-01 | 萬國商業機器公司 | 處理網路通訊之會話的方法、資訊設備、與電腦可讀媒體 |
US8479021B2 (en) | 2011-09-29 | 2013-07-02 | Pacid Technologies, Llc | Secure island computing system and method |
US20130138969A1 (en) * | 2011-11-28 | 2013-05-30 | Mocana Corporation | Preventing glitching of a firmware image using one or more layers of randomness |
US20130226888A1 (en) * | 2012-02-28 | 2013-08-29 | Netapp, Inc. | Systems and methods for caching data files |
US8806625B1 (en) * | 2012-10-02 | 2014-08-12 | Symantec Corporation | Systems and methods for performing security scans |
CN103778114B (zh) | 2012-10-17 | 2016-03-09 | 腾讯科技(深圳)有限公司 | 文件修复系统和方法 |
GB2512373A (en) * | 2013-03-28 | 2014-10-01 | Thunderhead Ltd | Document tamper detection |
DE102016221108A1 (de) * | 2016-10-26 | 2018-04-26 | Volkswagen Aktiengesellschaft | Verfahren zum Aktualisieren einer Software eines Steuergeräts eines Fahrzeugs |
EP3667505B1 (en) | 2018-12-14 | 2021-11-10 | Nxp B.V. | Memory system with an incremental hashing operation and method |
JP6656446B1 (ja) * | 2019-03-22 | 2020-03-04 | 株式会社ウフル | デバイス管理システム、デバイス管理方法、情報処理装置、及びプログラム |
US11449548B2 (en) | 2019-11-27 | 2022-09-20 | Elasticsearch B.V. | Systems and methods for enriching documents for indexing |
US11410167B2 (en) * | 2019-12-30 | 2022-08-09 | Paypal, Inc. | Efficient transaction reconciliation system |
Family Cites Families (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4352952A (en) * | 1978-06-12 | 1982-10-05 | Motorola Inc. | Data security module |
US4290105A (en) * | 1979-04-02 | 1981-09-15 | American Newspaper Publishers Association | Method and apparatus for testing membership in a set through hash coding with allowable errors |
US4588991A (en) * | 1983-03-07 | 1986-05-13 | Atalla Corporation | File access security method and means |
US4868877A (en) * | 1988-02-12 | 1989-09-19 | Fischer Addison M | Public key/signature cryptosystem with enhanced digital signature certification |
US5005200A (en) * | 1988-02-12 | 1991-04-02 | Fischer Addison M | Public key/signature cryptosystem with enhanced digital signature certification |
US5144659A (en) * | 1989-04-19 | 1992-09-01 | Richard P. Jones | Computer file protection system |
JP2668438B2 (ja) * | 1989-04-21 | 1997-10-27 | 三菱電機株式会社 | データ検索装置 |
US5204966A (en) * | 1990-03-09 | 1993-04-20 | Digital Equipment Corporation | System for controlling access to a secure system by verifying acceptability of proposed password by using hashing and group of unacceptable passwords |
US5136647A (en) * | 1990-08-02 | 1992-08-04 | Bell Communications Research, Inc. | Method for secure time-stamping of digital documents |
EP0483424A1 (en) * | 1990-10-30 | 1992-05-06 | International Business Machines Corporation | Key hashing in data processors |
US5208853A (en) * | 1991-09-09 | 1993-05-04 | Motorola, Inc. | Method and apparatus for usage protection of data files using split key and unique variable |
JPH06102822A (ja) * | 1991-09-26 | 1994-04-15 | Rooreru Intelligent Syst:Kk | ファイルセキュリティシステム |
US5297208A (en) * | 1992-08-05 | 1994-03-22 | Roger Schlafly | Secure file transfer system and method |
US5483598A (en) * | 1993-07-01 | 1996-01-09 | Digital Equipment Corp., Patent Law Group | Message encryption using a hash function |
US5319712A (en) * | 1993-08-26 | 1994-06-07 | Motorola, Inc. | Method and apparatus for providing cryptographic protection of a data stream in a communication system |
US5432852A (en) * | 1993-09-29 | 1995-07-11 | Leighton; Frank T. | Large provably fast and secure digital signature schemes based on secure hash functions |
US5475826A (en) * | 1993-11-19 | 1995-12-12 | Fischer; Addison M. | Method for protecting a volatile file using a single hash |
-
1993
- 1993-11-19 US US08/154,520 patent/US5475826A/en not_active Expired - Lifetime
-
1994
- 1994-03-15 AU AU57783/94A patent/AU5778394A/en not_active Abandoned
- 1994-04-06 CA CA002120678A patent/CA2120678C/en not_active Expired - Fee Related
- 1994-05-12 EP EP94303430A patent/EP0654920B2/en not_active Expired - Lifetime
- 1994-05-12 AT AT94303430T patent/ATE230534T1/de not_active IP Right Cessation
- 1994-05-12 DE DE69431944T patent/DE69431944T3/de not_active Expired - Lifetime
- 1994-11-16 JP JP6282273A patent/JPH0883046A/ja active Pending
-
1995
- 1995-06-05 US US08/464,070 patent/US5694569A/en not_active Expired - Lifetime
-
2005
- 2005-11-22 JP JP2005337603A patent/JP2006092574A/ja active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2018092281A (ja) * | 2016-11-30 | 2018-06-14 | キヤノン電子株式会社 | 情報処理装置及びその制御方法、プログラムおよびシステム |
Also Published As
Publication number | Publication date |
---|---|
EP0654920A2 (en) | 1995-05-24 |
AU5778394A (en) | 1995-05-25 |
JP2006092574A (ja) | 2006-04-06 |
CA2120678A1 (en) | 1995-05-20 |
EP0654920B1 (en) | 2003-01-02 |
DE69431944T2 (de) | 2008-01-24 |
US5694569A (en) | 1997-12-02 |
DE69431944D1 (de) | 2003-02-06 |
US5475826A (en) | 1995-12-12 |
ATE230534T1 (de) | 2003-01-15 |
EP0654920A3 (en) | 2000-03-08 |
EP0654920B2 (en) | 2007-09-05 |
CA2120678C (en) | 1999-08-24 |
DE69431944T3 (de) | 2008-05-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JPH0883046A (ja) | 単一ハッシュを用いた揮発性ファイルの保護方法 | |
EP1451664B1 (en) | Systems, methods and devices for secure computing | |
US6968456B1 (en) | Method and system for providing a tamper-proof storage of an audit trail in a database | |
US9003177B2 (en) | Data security for digital data storage | |
US7900061B2 (en) | Method and system for maintaining backup of portable storage devices | |
US9117095B2 (en) | Data security for digital data storage | |
US7266689B2 (en) | Encryption systems and methods for identifying and coalescing identical objects encrypted with different keys | |
US6725240B1 (en) | Apparatus and method for protecting against data tampering in an audit subsystem | |
US7818586B2 (en) | System and method for data encryption keys and indicators | |
RU2351978C2 (ru) | Способ обеспечения целостности набора записей данных | |
US20020112163A1 (en) | Ensuring legitimacy of digital media | |
JPH0614018A (ja) | 電子的公証方法および装置 | |
US20080016127A1 (en) | Utilizing software for backing up and recovering data | |
EP0849658A2 (en) | Secure data processing method and system | |
US6920563B2 (en) | System and method to securely store information in a recoverable manner on an untrusted system | |
KR100910075B1 (ko) | 데이터 처리 장치, 데이터 처리 방법 및 데이터 처리용 컴퓨터 프로그램이 기록된 기록 매체 | |
JP2008009483A (ja) | 情報処理システム、情報処理方法、およびプログラム | |
AU720583B2 (en) | A method for protecting data |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20040527 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20040827 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20050107 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20050404 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20050408 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20050726 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20051024 |
|
A911 | Transfer to examiner for re-examination before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20051202 |
|
A912 | Re-examination (zenchi) completed and case transferred to appeal board |
Free format text: JAPANESE INTERMEDIATE CODE: A912 Effective date: 20051228 |