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
Application number
JP6282273A
Other languages
English (en)
Inventor
Addison M Fischer
アディソン・エム・フィッシャー
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Individual
Original Assignee
Individual
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=22551646&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=JPH0883046(A) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Application filed by Individual filed Critical Individual
Publication of JPH0883046A publication Critical patent/JPH0883046A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/56Computer malware detection or handling, e.g. anti-virus arrangements
    • G06F21/562Static detection
    • G06F21/565Static detection by checking file integrity
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/64Protecting data integrity, e.g. using checksums, certificates or signatures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic 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/3236Cryptographic 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/60Digital content management, e.g. content distribution

Abstract

(57)【要約】 (修正有) 【目的】 効率的な態様で、進行中のハッシュが維持さ
れ、かつ絶え間なく更新されるようにファイルの内容を
ハッシュする新規な方法を提供する。 【構成】 2つの関数のうち第1の関数は、同じ結果に
ハッシュする2つのデータ値を見つけることが計算上不
可能であるような、一方向ハッシュ関数「H」である。
第2の関数は、可換的かつ連想的関数「F」との逆関数
「Finv」であり、合計ハッシュおよび更新された記
録のハッシュを結合する。これらのハッシュは、関数
「F」を用いて結合され、それによって、各記録が、そ
の逆関数である「Finv」を用いて抽出される。この
ようにして、各記録が合計ハッシュから抽出され、更新
される。更新の度に、計算されたファイルハッシュは、
有効なユーザのみによって知られている鍵によって暗号
化された後書き込まれる。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、概略的にはコンピュー
タデータの機密保護に関する。より特定的には、定期的
に更新されるファイルのハッシュを発生させるための方
法に関する。
【0002】
【従来の技術】特に、電子的なビジネス取引の出現に伴
って、ワークステーションデータ(ラップトップコンピ
ュータ、メインフレーム端末、独立のPCまたはあらゆ
るタイプのコンピュータネットワークワークステーショ
ンによって発生されるデータ)の機密性および完全性を
確保することが大変重要になっている。例えば、多くの
ラップトップコンピュータユーザは、データの機密性を
確保するために、全てのハードドライブデータを暗号化
している。暗号化は、不所望な露見からデータを隠す。
【0003】本来、暗号化それ自身は、データの完全性
を確保しない。例えば、暗号化は、コンピュータを内密
にアクセスできる不正者が、特別の破壊プログラムを実
行するのを防ぐことができず、この破壊プログラムは、
暗号化されたデータの個々の意味を理解することはでき
ないが、暗号化されたデータを、他の恐らくランダムな
情報でランダムに上書きすることによって、他の処理へ
の入力のためにデータが最終的に解読されるときに、誤
った分析結果を生じさせるであろう。
【0004】暗号化プロトコル、損傷したファイルの形
式およびいかにして損傷したかによっては、データの改
変は検出されなくなり、データが適切な所有者によって
処理される際に、誤った結果を導く可能性がある。例え
ば、損傷したデータが2進数のデータを含んでいる場
合、このことは特に容易に生じる。所有者は、間違った
結果によって誤った動作に導かれるであろう。
【0005】ファイルの完全性は、ファイルの内容に対
して単方向ハッシュを採用することによって(例えば、
MD5または機密ハッシュアルゴリズムSHAを用いる
ことによって)保護できることが良く知られている。予
め記憶されたハッシュ値を用いて、新しく計算されたハ
ッシュ値を実行かつチェックすることにより、正しいフ
ァイルの完全性は、故意の改変処理の恐れ(または、偶
然の外部からの変更でさえも)が検出できることを保証
し、それによって最終結果の信頼性および機密性が改善
される。ファイルハッシュが自身の完全性を保護する方
法で格納されている場合、ファイルハッシュは、全ての
ファイルが損傷を受けていないことまたは故意に改変さ
れていないことを保証するために用いることができる。
【0006】ファイルが連続的に処理される場合、その
ようなハッシュは計算できる。ファイルが連続的に構築
されたとき(または連続的に構築されるに従って)、ハ
ッシュは計算でき、ファイルが使用される度に再度チェ
ックできる。ユーザのみが知っている鍵によって暗号化
されることにより、またはユーザによって信用できる方
法でディジタル署名されることにより、または信頼性の
あるトークン装置に記憶されることにより、ハッシュ値
が改変から保護されている場合、ファイルのいかなる部
分を変更しても異なるハッシュ値の再計算を生じるの
で、ユーザは、ファイルが改変されていないことを信用
することができる。
【0007】
【発明が解決しようとする課題】既存の技術は、全ての
ファイルがハッシュ値を計算または再計算するために連
続的に処理されることを要求する。これらの技術は、た
とえ非現実的でないとしても、頻繁に更新されたり、
「ランダムに」処理されるファイルにとっては、扱いに
くいものである。
【0008】従来の完全性検査処理は、ファイルが最初
にアクセスされたときにハッシュを確認し、ファイルを
変更し、その後全ての変更が適用された後に修正された
ファイルのハッシュを再計算することから成る。この従
来の処理は、ある種のアプリケーション、例えば長時間
実行し続けるアプリケーション、またはファイルが頻繁
に変更されるアプリケーション、または絶えずファイル
が使用状態にあるアプリケーション、または更新された
ファイルが保管されて新規のハッシュが再計算され記憶
された最終結果にプログラムが到達する前に、ファイル
を更新する特定のプログラムまたはコンピュータシステ
ムが中断されるような(例えばコンピュータが停止され
るような)危険性があるアプリケーションにはあまり適
していない。なぜなら、更新が起こる度に全てのファイ
ルのためのハッシュを再計算することは、通常、非現実
的だからである。そのような計算を行わないと、明らか
にファイルは、最初の更新時から最終ハッシュが再計算
されるまでの間、明らかに改変状態に置かれる。
【0009】そのような実用上の問題は、従来のハッシ
ュ技術を、ある種のファイルに適用するときに生じる。
索引データベースのようなファイルは、「ランダムに」
更新され(すなわち記録の部分集合のみが非連続的命令
で更新され)、かつ長期間にわたって更新される。当該
ファイルは、数分、数時間、または(メインフレームま
たは「サーバ」の場合は)数日にわたって絶え間なく更
新されるであろう。
【0010】ハッシュが全てのファイルに対して計算さ
れ、かつファイルが頻繁に更新される場合には、ファイ
ルが変更される度に全てのファイルに対して修正された
ハッシュを計算することは、許容し得ないようなオーバ
ーヘッドを生じる。また、ハッシュが全てのファイルに
対して計算され、かつファイルが頻繁に更新される場合
には、修正されたファイルハッシュの計算をファイルが
クローズされるまで(または、プログラムが終了するま
で)遅らせると、最初の更新時と最終のハッシュの再計
算との間、明らかな誤り状態にファイルがさらされるこ
とになる。システムまたは他のプログラムが早く終了し
た場合、ファイルは、この明らかな状態にさらされる。
【0011】ハッシュが各記録について保持されるなら
ば、追加の記録スペースが必要となり、この記録スペー
スは、ファイルまたはその記録の配置に影響を与える可
能性がある。通常、各記録のハッシュは、各記録の端か
ら少し離れて設けられた場所に格納される。そのような
ファイル配置の変更は、幾つかのアプリケーションでは
許容されるかもしれないが、このような対処は、各記録
について追加の記憶域が必要となるといった種々の欠点
を招く。
【0012】記録毎にのみハッシュを保持することの他
の欠点は、不正者が更新前のデータベースを複製し(た
とえ、データベースが暗号化されていたとしても)、か
つそのような更新前の記録を分離できることである。
「ランダムに」更新されるべく設計されたようなデータ
ベースは、記録単位で暗号化されなければならないが、
記録の境界にまたがる暗号連鎖によって、ランダム更新
は不可能となる。そこで、不正者は、手探り状態で、こ
れらの更新前の記録をデータベースの現在稼働中のコピ
ーに対応する記録に置換する可能性があり(これは、た
とえ不正者が記録の実際の内容をよく知らず、混乱を起
こすことだけを望んでいる場合でも可能である)、それ
によって、自動的に検出することが不可能な方法でデー
タベースの完全性を損なう。
【0013】本発明は、効率的な態様で、進行中のハッ
シュが維持され、かつ絶え間なく更新されるようにファ
イルの内容をハッシュする新規な方法に向けられてい
る。データベースの完全性は、繰り返し全ファイルを再
処理するという不適当で過度な追加のオーバーヘッドを
導入することなく、またファイルを長期間(例えば、長
時間のリアルタイムプログラムが実行されている期間)
明らかに改変される状態に置くことなく、維持されう
る。
【0014】
【課題を解決するための手段、作用および効果】本発明
は、各ファイルについての他の情報と共に、各ファイル
のための少量の追加の記憶容量を必要とするだけであ
り、当該追加の記憶容量は、システムのディレクトリに
おいて、または特別の補助の(可能ならば暗号化され
た)ファイルにおいて容易に確保できる。本発明は、基
本的なファイルフォーマットおよび構造をそれぞれ変更
しなくてもよく、従って、既存のプログラムを変更する
ことなしに、ファイル処理の一部として、可能な限り
「システム」レベルまたはそれに近いレベルで完全性を
「簡単に」提供する。これにより、通常の操作へ付加す
る簡単なサービスとして、(特定のアプリケーションと
は無関係に)この追加の完全性サービスを提供しようと
するシステム間の互換性における困難性が克服される。
【0015】本発明の方法により、機密性の確保されて
いない計算システムが高度の機密性を有する電子金融取
引を安全に遂行することができる。本明細書において後
に詳細に説明されるように、本発明により、ファイルの
ハッシュが増分ベースで取られることができる。これに
より、ファイルのどの部分でも変更が可能であるととも
に、修正されたファイル部分および以前の合計ハッシュ
に基づいて新規の合計ハッシュを計算することができ
る。本発明に従えば、合計ハッシュは、各記録の修正に
伴って即座に更新することができ、従来技術に従って全
ファイルのハッシュを再計算する必要がない
【0016】実施例は、2つの関数を用いてこれらの目
的を達成する。第1の関数は、同じ結果にハッシュする
2つのデータ値を見つけることが計算上不可能であるよ
うな、効果的な一方向ハッシュ関数「H」である。その
ような関数の例には、周知のMD5およびSHAアルゴ
リズムが含まれる。第2の関数は、可換的かつ連想的関
数「F」(およびその逆関数「Finv」)であり、合
計ハッシュおよび更新された記録のハッシュを結合する
ための機構を提供する。後者の関数の例には、排他的論
理和(「XOR」)および算術加算が含まれる。
【0017】本方法は、各ファイル記録のハッシュと、
記録識別(すなわち記録番号または鍵)のハッシュとを
結合することを含む。これらのハッシュは、関数
(「F」)を用いて結合され、それによって、各記録
が、その逆関数である「Finv」を用いて抽出され
る。このようにして、各記録が合計ハッシュから抽出さ
れ、更新される。更新の度に、本発明に従って計算され
たようなファイルハッシュは、好ましくは、有効なユー
ザのみによって知られている鍵によって暗号化された
後、または有効なユーザによってディジタル的に署名さ
れた場合、または変更阻止記憶装置に保持された場合に
書き込まれる。各記録は、そのデータ内容とともに、ハ
ッシュされた識別によって表される。全てのそのような
記録は合計されて、高度な機密完全性チェックを提供す
る。この合計ハッシュは、全データベースを反映し、い
かなるデータ記録の変更(または再配列)であっても、
ハッシュ計算において記録識別子(すなわち記録番号)
を用いることによって明らかになる。これは、ハッシュ
計算が、合計ハッシュ(例えば合計)に影響を与えるか
らである。この方法を用いることで、ユーザは、騙され
て誤ったデータを用いた処理を行うことがなくなる。
【0018】本発明は、少なくとも、従来の欠点、つま
り、各ファイル変更のために大量の再計算が行われるこ
と、アプリケーションまたはシステムが突然に終了した
場合にファイルが「無効」とみなされる危険な状態に長
期間置かれること、各記録のハッシュ(または、MA
C)のために追加の記憶容量を必要とすることおよび不
正者が失効した記録を代替することができることをうま
く解消する。これは、全ファイルの完全性および全記録
の相互関係が、各ファイルの更新が実行されたときに変
更される単一ファイルハッシュ値内に保護されたままに
なる。
【0019】本発明の上記特徴およびその他の特徴は、
付随する図面と共に行われる本発明の好ましい実施例の
以下の記述を読むことによって、より良く理解されであ
ろう。
【0020】
【実施例】図1は、典型的なコンピュータシステムを示
すブロック図であって、電子商業コンピュータネットワ
ークの一部として本発明が用いられる場合を示す。本発
明は、そのような通信ネットワーク環境において用いら
れるが、同様に、データの機密性が重視されるラップト
ップコンピュータ,独立PC,メインフレームコンピュ
ータまたは他のコンピュータシステムに関連して用いら
れる。
【0021】図1に示すシステムは、ターミナルA,
B,…N間の通信が機密性の確保されていない通信チャ
ネル12を用いて行われるような典型的なコンピュータ
ネットワークを含む。通信チャネル12は、例えば、電
話線であってもよい。ターミナルA,B〜Nは、単なる
一例として、従来のキーボード/CRT4に連結された
(メインメモリを有する)プロセッサ2を備えたIBM
PCであってもよい。各ターミナルA,B〜Nは、従
来のIBM PC通信ボード(図示せず)を含み、この
通信ボードは、それぞれが従来のモデム6,8,10に
接続されたときに、ターミナルにメッセージの送受信を
許容する。各ターミナルは、コンピュータにデータベー
ス情報の読み出し、書き込みおよび記憶を許容するよう
な、従来のIBM PCディスク記憶装置を含む。
【0022】各ターミナルは、普通テキストまたは暗号
化されていないメッセージを生成し、署名処理が要求さ
れるものなら何でも署名を行うことが可能であり、通信
チャネル12(または、通信チャネル12に接続されう
る図示しない通信ネットワーク)に接続された他のター
ミナルのいずれかにメッセージを送信することが可能で
ある。さらに、ターミナルA,B〜Nは、各メッセージ
についての署名の検証を行うことが可能である。
【0023】各ターミナルユーザは、公開暗号化鍵およ
び関連する個人の秘密解読鍵を有している。図1に示す
公開鍵暗号化システムにおいて、各ターミナルユーザ
は、他のターミナルユーザがメッセージを暗号化するた
めに用いる一般的な暗号化方法を知っている。さらに、
各ターミナルユーザは、どのような暗号化鍵を用いてタ
ーミナルの暗号化処理が暗号化されたメッセージを生成
するかを知っている。
【0024】しかしながら、各ターミナルユーザは、タ
ーミナルユーザの暗号化処理および暗号化鍵を公表する
ことによっては、暗号化されたメッセージを解読し、か
つ署名を作成するために必要となるターミナルユーザの
個人解読鍵を明らかにするものではない。これに関し、
暗号化鍵の知識から解読鍵を計算することは、計算的に
不可能である。
【0025】個人メッセージを送信することができるの
に加えて、各ターミナルユーザは、送信されたメッセー
ジをディジタル的に署名することもできる。メッセージ
は、ターミナルユーザによってディジタル的に署名され
て、自分の個人暗号化鍵で当該メッセージを暗号化して
から、当該メッセージを送信する。メッセージの受信に
応答して、受信者は、送信者の公開暗号化鍵を用いてメ
ッセージを読むことができる。このようにして、受信者
は、秘密暗号化鍵の保持者のみがメッセージを作成した
かを確認することができる。このように、署名されたメ
ッセージの受信者は、メッセージが送信者から生じたと
いう証明を得る。
【0026】さらに、本発明に関連して用いられ得る典
型的なディジタル署名方法の詳細が米国特許第4,40
5,829号に開示されており、米国特許第4,86
8,877号および第5,005,200号には出願人
のディジタル署名方法が開示されており、これら米国特
許は、本明細書において明らかに援用される。
【0027】各コンピュータターミナルA〜Nは、好ま
しくは、電子商取引のための機密保護ワークステーショ
ンとして設計されている。本発明によれば、コンピュー
タターミナルの全メモリ領域が、後に詳細に述べられる
態様で保護され、もし望むならばメモリの一部の領域の
みが保護される。ターミナルメモリ領域に常駐する各プ
ログラムは、好ましくは、本願出願人の同時係属出願で
ある出願番号07/883,868号、名称「プログラ
ム許可情報データ構造を有するコンピュータシステム機
密保護方法および装置」に記述されたような、プログラ
ム許可情報(PAI)に従って保護され、当該出願は本
明細書において援用される。本発明の典型的な実施に従
えば、関連するPAIに従って許可されない限り、プロ
グラムはターミナルA〜N上で実行される。PAI情報
は、プログラムを改変から保護するために用いられる。
従来技術に従ったデータ暗号化は、プログラムによって
処理されるデータの秘密性を保護するために用いられ
る。本発明は、データファイルを改変から保護するため
に用いられる。特に、同時に用いられたとき、高度に機
密保護されるワークステーションは、電子商取引におい
て信頼して用いられることになるであろう。
【0028】ターミナルAがこの方法に従って保護され
たラップトップコンピュータならば、このターミナルは
どこに持ち運んでも良く、またウイルスを含むかもしれ
ないプログラムを実行するために用いても良い。この方
法に従ったメモリ領域の保護部分は、後述するように、
そのような改変プログラムに対して免疫を有し、ユーザ
は、コンピュータシステムにおいて処理され、記憶さ
れ、そこから送信されるデータに対して非常に高度な信
頼性を持つことができる。
【0029】図2は、本発明の図解された実施例に従う
典型的な記録フォーマットを、簡素化された態様で示し
ている。図2に示すに、ファイルは、n個の個別の記録
i(i=1〜n)を含む。各記録Ri は、関連する記
録識別子、例えば記録番号でもよい「Ki 」を有する。
i は、例えば従業員番号のような指標値であっても良
い。このように、ファイルは、連続的なファイル(記録
1で始まり、記録2〜nが続く)として編成される。記
録識別子は、ディスク上のセクタ番号であっても良い。
記録識別子は、各記録が一律にかつ首尾一貫して識別さ
れれば、いかなる関連する態様で(例えば、従業員番号
等によって)編成されても良い。記録識別子Ki に加え
て、各記録は、当業者によって理解されるような従来の
媒体制御信号と共にデータに関連付けられる。
【0030】本明細書において用いられるように、記録
の解釈は、用いられるアプリケーションまたはコンピュ
ータシステムによって異なりうる。各バイトを記録とし
て処理することが適切な場合もある。各バイトを処理す
ることによって、全ファイルの完全なハッシュを常に保
持することが可能となる。そのように編成されたディス
クにおいて、各セクタを記録とみなすことも可能であ
る。S/360アーキテクチャシステム等のようなシス
テムにおいては、連続番号付けのような分類された方法
で規定され得るような個別の記録がある。あるデータベ
ースシステムにおいては、記録はデータ鍵であるKi
つまり特定の記録を見分けるために用いられる値によっ
て、最もよく識別される。
【0031】当然ながら、この典型的な実施例は、本発
明を実現するための唯一の可能な方法とみなされるべき
である。他の技術には、データの一部のみを用いるこ
と、またはデータ自身に代えて幾つかの特有のデータの
ハッシュを用いること、または未処理データおよびまた
は他のデータのハッシュ値の組み合わせとしてデータ記
録を構成することが含まれる。
【0032】本発明の典型的な実施例に従えば、後述す
るデータ構造は、ファイルが、通常の中断の場合に(フ
ァイルが更新されているときに、どのようにシステムが
中断されたとしても)常に復旧可能であることを保証す
る。他のいかなるタイプのデータ損傷も、それが偶然で
あっても意図的であっても、常に検出され得る。あらゆ
る中断の際に完全な復旧が望まれているというわけでは
ない場合、後続の論理の一部が取り去られる。
【0033】実施例では、絶対的な変更阻止に加えて
(中断からの)完全な復旧性を提供するために、「作業
データ」構造とともにデータベースファイル構造と、
「ファイルハッシュ」データ構造とを使用する。データ
ベースファイルのデータ構造は、ユーザデータを含む。
作業データのデータ構造は、更新の進行中にシステムが
中断された場合の記録処理情報を含む。
【0034】作業データファイルがデータベースファイ
ルに関連付けられる方法は、実施態様によって決まる。
例えば、データベースファイルがオープンされて、以前
に使用が中断され、復旧が必要になったことを示す作業
データが存在する場合、作業データは、ファイル名によ
ってデータベースに関連付けられるファイルとなる。フ
ァイルをオープンする際に作業データファイルが存在し
ない場合、作業データファイルは、新しく作成され、デ
ータベースファイルが問題なくクローズされる度に消去
される。この手法は、後述するように典型的な実施によ
って図示される。代わりに、作業データ要素のプールを
処理環境によって維持される固定記憶装置内に常駐さ
せ、データベースファイルをオープンする度に、ファイ
ルをクローズするときに当該データベースファイルがプ
ールに戻される度に、および進行中の更新を一掃するた
めのシステム中断後にチェックされる度に、動作中のデ
ータベースファイルに関連づけてもよい。
【0035】作業データ処理中に停電が生じた場合に
は、ファイルは本来信頼性を有すると認識することがで
きる。代わりに、ファイル処理中に停電が生じた場合に
は、作業データファイルに記憶されたデータが、ファイ
ルを復旧可能にするために用いられる。このようにし
て、ファイルに対する必要な行為を見失わず、かつ適切
な処理を作業データ構造を用いて行うことにより、ファ
イルは、このような中断に関して実質的に「防弾」の役
割を果たすことになる。
【0036】図3に示すように、典型的な作業データの
データ構造50は、5つのフィールドを有する。処理フ
ィールド52は、「加算」、「更新」、「削除」または
「ナル」処理のいずれかを示す。記録識別子フィールド
54は、Ki を識別する。さらに、作業データのデータ
構造は、修正された記録Ri の値(56)、全てのまた
は将来のデータベースハッシュの修正されたバージョン
(58)およびフィールド52,54,56,および5
8のハッシュ(60)を含む。フィールド54および5
6は、「ナル」処理の場合には無視され、フィールド5
8は、「削除」処理の場合には無視される。
【0037】無目的な破壊、通常のハードウェア(例え
ば媒体)障害、または書き込み中の中断によって、作業
データ自身のいかなる部分でも不正となるか損傷を受け
た場合には、作業データのデータ構造のフィールド60
内に保持された作業のハッシュとの不一致によって検出
される。作業データは、不正者が作業データを変更して
データベースファイルを故意に変更しないように、ファ
イルハッシュと同様の方法で保護されなければならな
い。好ましい実施例においては、全てのファイルハッシ
ュ、作業データおよびデータベースファイルのデータ構
造は、有効なユーザのみに知られている鍵で暗号化され
たフォームで記憶される。記録は、暗号化されてから書
き込みが行われ、読み出される際に解読される。
【0038】データベースファイルの機密性ではなく、
その完全性のみが要求される場合には、暗号化される必
要があるデータは、作業データ記録内のフィールド60
およびファイルハッシュのみである。これにより、ファ
イルハッシュおよび作業データのいずれもが抜け目のな
い不正者によって操作され得ないことが保証される。
【0039】考慮する必要がある侵害行為の一つに、不
正者が、古いデータをデータベースファイル、作業デー
タおよびファイルハッシュの全てと取り替える可能性が
あるということがある。この場合には、データベースは
一貫しており、以前のデータベースの状態を完全に反映
し、それによって全ての有効性チェックと一致するが、
現在のデータではないデータを反映しており、それによ
ってデータを誤って導く可能性がある。
【0040】このような恐れには、いくつかの方法で対
処することが可能で、例えば最終の更新日時を追加フィ
ールドとして保持し、ファイルハッシュデータとともに
それを格納する。その後、この日時データを、毎回ファ
イルをオープンする行為の一部として、ユーザに対して
示すこともできる。これにより、ユーザは、データベー
スファイルの古いバージョンを故意に再格納または使用
することもできる。最終の「オープン」日時をファイル
ハッシュデータの一部として格納することも可能であ
り、ユーザトークン(例えばスマートカード)内にこれ
を格納することも可能である。ユーザトークンは、不正
な修正に対して安全である(トークンは、また、暗号化
鍵を格納するために用いられてもよい)。ファイルハッ
シュとともに見いだされる日時がユーザトークン内の日
時と一致しない場合は、ユーザは古いバージョンのデー
タベースファイルが用いられようとしているという事実
が知らされる。通常期待されるように日時が一致してい
れば、ユーザは決定をする必要がなく、処理を進めるこ
とが許可される。
【0041】この恐れには、ファイルハッシュおよび作
業データを隠すために用いられる暗号化鍵を各オープン
要求の開始の一部として変更することによって対処して
もよい。これにより、各ファイルハッシュおよび作業デ
ータは、セッションからセッションへ複写されることが
できなくなる。最新の鍵は、ユーザによって保持される
改変不可能なトークン内に格納されてもよい。
【0042】ファイルハッシュは、データベースファイ
ルに関連付けられうる場所に格納される。ファイルハッ
シュは、権限を有するユーザ以外の者が不正に変更を行
えないように設計されなければならない。これには幾つ
かの方法によって行うことが可能で、例えば有効なユー
ザのみに知られている対称的な暗号化鍵による暗号化、
有効なユーザに知られた公開鍵に対応する公開鍵による
暗号化または有効なユーザがファイルハッシュが信頼性
を有することを証明できるなディジタル署名を含む。
【0043】他の技術を用いて、有効なユーザがファイ
ルハッシュを信頼でき、かつ侵害者が変更できないよう
にしてもよい。信頼性のあるファイルハッシュは、例え
ば、当該ファイルに対応するディレクトリエントリ内に
格納するか、ファイル自身の付属物として格納するかま
たは当該ファイルと関連づけることを許可する特別のデ
ータベース内に格納することができる。
【0044】実施例に従って、ファイルのハッシュは以
下のように計算される。ファイルハッシュは、まず、初
期値(例えば0)と同一にセットされる。その後、ハッ
シュルーチンが、ファイル内の全記録に対して索引をつ
け、記録1からNまでのすべての記録識別子Kiを用い
て、この値を計算する。 ファイルハッシュ=F(ファイルハッシュ、H(Ki
i ))
【0045】Ki &Ri という表記は、「Ki 」の値と
関連の記録Ri の値とを明確に結びつける処理を示す。
この処理を行うための簡単な方法の一つとしては、Ki
がすべての鍵に対して単一の長さを有している場合(お
そらく4バイトが付加された2進整数)、2つの値を連
結する。フィールド「Ki 」の長さが異なる場合には、
「Ki 」の値と「Ri 」の値とを明確に区別し、長さ
(Ki )‖Ki ‖Ri のような3つの値を連結するため
に、値「Ki 」に長さの表示を効果的に前置するように
処理が詳述されなければならない。
【0046】Ki および記録Ri の内容が(たとえば連
結により)明確に結合された後、データストリング全体
のハッシュがハッシュ関数Hを用いて取り出され、その
結果は、特別の関数Fを用いて適切なファイルハッシュ
値全体と結合される。ハッシュ関数Hは一方向ハッシュ
関数であって、ハッシュによって同じ結果となる2つの
データ値を見つけることは、計算上不可能である。その
ような関数の例には、MIT(マサチューセッツ工科大
学)のリヴェスト教授が開発したMD5ハッシュアルゴ
リズムや、機密ハッシュアルゴリズムSHAが含まれ
る。
【0047】関数Fは、可換的かつ連想的関数であり、
関連する逆関数「Finv」を有し、ハッシュ全体と更
新記録のハッシュとを結合する手法を提供する。可換的
かつ連想的関数の例には、排他的論理和(XOR)およ
び算術加算が含まれる。関数Fを適用した後、ハッシュ
全体は、新規の記録を含む古い記録すべてのハッシュと
なる。この処理は、ファイル内の全記録に対して行われ
る。記録が索引データ鍵、すなわち特定の記録を識別す
るために用いられる値Ki によって最もよく区別される
場合には、上述の処理ループは、すべての活動索引入力
に対して行われる。
【0048】記録Ki が更新されると(Ri は古い記
録、R2i は新規の記録値である場合)、新規の更新さ
れたファイルハッシュが以下のように再計算される。 ファイルハッシュ=F(Finv(ファイルハッシュ,
H(Ki &Ri )),H(Ki &R2i ))
【0049】言い換えれば、以前の記録のハッシュは削
除され、新規の値が挿入される。記録Kiがデータベー
スから削除されると、データファイルハッシュは以下の
ように改訂される。 ファイルハッシュ=Finv(ファイルハッシュ,H
(Ki &Ri ))
【0050】新規の記録Ki が導入されると、改訂され
たハッシュは、以下のようになる。 ファイルハッシュ=F(ファイルハッシュ、H(Kii&
i ))
【0051】このプロトコルを用いることによって、改
訂されたハッシュが、計算、修正、格納可能となる。
【0052】図4は、システムが(方法の如何を問わず
改訂しようとするまたは用いようとする)ファイルをオ
ープンしてファイルの有効性を証明する場合の処理のシ
ーケンスを示すフローチャートである。ファイル処理
は、データベースファイルをオープンすることによって
開始する(1010)。最初に、ブロック1012にお
いて、データベースファイルが初めて作成されようとし
ているか又は再初期化(すなわち上書き)されようとし
ているかどうかを決定するチェックが行われる。
【0053】ファイルが新規のファイルかまたは再初期
化されている場合には、変数「ファイルハッシュ」は0
にセットされて、ルーチンは分岐してブロック1230
へ進む。ファイルハッシュを0に初期化することによ
り、ファイルを走査するためにステージがセットされ、
すべての記録が存在し新規であることおよびどの記録も
侵害および再構成されていないことを保証し、かつ該当
するすべてのファイルが適切なチェックと合致すること
を保証する。従って、データベースを最初に用いる度
に、ファイルが走査されて格納されたハッシュをチェッ
クする。
【0054】ブロック1012におけるチェックによっ
て、処理されているデータベースファイルが古いファイ
ルであることが示されると、ルーチンは分岐してブロッ
ク1020へ進み、関連する「ファイルハッシュ」がア
クセスされる。ファイルハッシュは機密性を有するディ
レクトリに格納され、ユーザのみに知られる鍵で暗号化
されてもよい。この値は、ファイルが最後に用いられた
時の状態を反映する。ファイルが正確にどこに格納され
るかは、実施の仕方による。本発明の好ましい実施例で
は、ファイルハッシュは、個別のデータベース内か、フ
ァイルとは異なる場所か、またはファイルのディレクト
リ入力の近傍内に格納されうる。
【0055】ブロック1025において、データベース
ファイルに対応する作業データが存在するかどうかのチ
ェックが行われる。上記図3で示すような作業データが
データベースファイル用に存在しない場合は、ルーチン
は分岐してブロック1230へ進む。
【0056】ブロック1025におけるチェックによっ
て、作業データのデータ構造が存在することが示される
と、ブロック1030において、以前の処理中に中断さ
れていたであろうデータベースファイルの更新のための
復帰を行うための処理が開始される。最初に、作業デー
タのデータ構造がオープンされて、読み出される。好ま
しい実施例では、作業データファイルは暗号化されてい
るので、内容を読み込むには復号化しなければならな
い。その後、ブロック1030において、フィールド5
2,54,56,58のハッシュを計算し、その計算さ
れたハッシュと図3のフィールド60内の格納されたハ
ッシュとを比較することによって、作業データ自身が有
効であることを確認するためのチェックが行われる。こ
のようにして、作業データ情報が処理されているときに
中断は生じなかったことを確認することができる。
【0057】計算されたハッシュが、フィールド60内
の格納されたハッシュと一致しない場合は(105
0)、ルーチンは分岐してブロック1220へ進み、新
規の作業データを作成する処理が開始する。ハッシュが
一致しないということは、作業データ自身が書き込み中
に中断されたことを意味する。このような場合は、デー
タベースファイルおよびファイルハッシュは、正しいも
のであり、かつ一致していなければならず、このこと
は、ブロック1220における継続処理によって証明さ
れることが期待されている。
【0058】ハッシュが一致する場合、処理はブロック
1060へと続き、以前の処理に含まれている更新が再
適用される。従って、データベースファイルに対して行
われた最終の処理が繰り返され、繰り返す際には、フィ
ールド52において指定された処理に基づく作業データ
のデータ構造、フィールド54の記録識別子、フィール
ド56からの修正記録の値、および図3に示すデータ構
造のフィールド58内のデータベースハッシュ全体(新
規または将来のハッシュ)の修正バージョンからのデー
タを用いる。
【0059】その後、ブロック1065において、作業
データのデータ構造50のフィールド52に示す処理が
加算処理かどうかを決定する処理が行われる。加算処理
の場合は、ルーチンは分岐してブロック1070へ進
み、加算処理の繰り返しを開始する。(作業データのデ
ータ構造50のフィールド56の記録の内容を示す)R
n の値が、識別子Kn によって識別される記録に配置さ
れる。記録Kn が存在する場合は、記録Kn を値Rn
置換する。記録Kn が存在しない場合は、新規のRn
挿入される。その後、ルーチンは分岐してブロック12
00へ進み、ファイルハッシュ値が更新される。
【0060】ブロック1065でのチェックによって、
処理が加算処理でないことが示されると、処理が更新処
理かどうかを決定するチェックが行われる(108
0)。ブロック1080でのチェックによって更新処理
であることがと示されると、ブロック1090におい
て、記録Kn 内の値が値Rn (修正記録データ内容)に
置換されることによって更新処理が行われ、ルーチンは
分岐してブロック1200へ進む。
【0061】ブロック1080でのチェックによって、
処理が更新処理でないことが示されると、ブロック11
00において、処理が削除処理であるかどうかを決定す
るためのチェックが行われる。処理が削除処理である場
合は、ルーチンは分岐してブロック1110へ進み、識
別子Kn によって識別された記録が存在しないことを確
認するためのチェックが行われる。Kn によって識別さ
れた記録が存在する場合は、記録は削除され、ルーチン
は分岐してブロック1200へ進む。
【0062】ブロック1100でのチェックによって、
処理が削除処理でないことが示されると、ブロック11
20において、処理が「ナル」処理かどうかを決定する
ためのチェックが行われる。ナル処理は、ファイル開閉
時において作業データファイルを準備するために、ファ
イル処理の最初および最後に行われる。処理がナル処理
の場合は、データベースファイルおよびデータハッシュ
は共に正確で一致しているものとして、ルーチンは分岐
してブロック1220へ進む。ブロック1120でのチ
ェックによって、処理がナル処理でないことが示される
と、エラー状態が存在し、処理はブロック1130にお
いて抑止される。ブロック1130に到達すると、作業
ファイルは正しく構築されていないと決定されたことと
なる。
【0063】ブロック1065,1080または110
0でのチェックによって、加算処理、更新処理、または
削除処理が示されると、処理は分岐してブロック120
0へ進み、ファイルハッシュ値が、各処理の遂行後の最
新の既知の値を反映するように更新される。このように
して、ファイルハッシュ値が、所望する処理の遂行後
に、保護された作業データおよび保護されたファイルデ
ータに基づいて、新規のファイルハッシュに予定される
値にセットされる。この新規のファイルハッシュ値は、
所望通りに暗号化され、ファイルハッシュデータ構造に
書き込まれる。
【0064】処理はブロック1220へと続き、作業デ
ータフィールド52がナル処理にリセットされる。所望
するならば、リセットされた作業データは暗号化され、
作業データ50に書き込まれる。その後、作業データフ
ァイル全体が削除される。
【0065】ルーチンがブロック1230で処理を開始
すると、作業データは吸収および削除され、関連ファイ
ルデータが更新される。処理のこの時点において、関連
ファイルは正確でなければならない。ブロック1230
において、新規の作業データファイルが作成され、ナル
処理に初期化され、必要があれば暗号化されて書き込ま
れる。
【0066】新規の作業データファイルが作成された後
に、ブロック1400において、データベースファイル
がファイルハッシュと一致することを確認する処理が開
始する。この処理を開始するために、計算されたハッシ
ュは0にセットされる。ブロック1410において、フ
ァイル内のすべての記録を通過するループが入力され
る。すべての記録がループ内で処理されると(ブロック
1420)、ルーチンは分岐してブロック1430へ進
む。データベースファイルがちょうど作成中の場合は、
レコードは存在せず、このループは全く実行されず、ル
ーチンはすぐに分岐してブロック1430へ進む。
【0067】ブロック1420において、Kn が識別す
る記録の値Rn が読み出され、必要に応じて復号化され
る。その後、以下を計算することによって、計算された
ハッシュに新規のRn が増補される。 計算されたハッシュ=F(計算されたハッシュ,ハッシ
ュ,((Kn の長さ)‖Kn ‖Rn ))
【0068】好ましい実施例において、FおよびFの逆
関数が排他的論理和である場合は、以下のようになる。 計算されたハッシュ=計算されたハッシュ XOR ハ
ッシュ,(Kn の長さ‖Kn ‖Rn
【0069】ルーチンは、すべての記録が確実に一度処
理されるまで、分岐してブロック1410に戻る。
【0070】すべての記録が処理された後、ブロック1
430において、新規の「ファイルハッシュ」が「計算
されたハッシュ」と等しいかどうかを決定するチェック
が行われる。ハッシュが一致すると、データベースファ
イルは有効で、一致しており、改変されていないことが
証明され、ルーチンはメインルーチンに戻って、信頼性
のあるデータが処理される。代わりに、ハッシュが一致
しない場合は、データベースファイル、ファイルハッシ
ュまたは作業データの少なくとも一つが、何らかの方法
で害されているか、改変されていることになる。このエ
ラー状態は、ユーザまたはアプリケーションプログラム
に示され(1440)、そこでアプリケーションは中止
されるか、または実施例によっては、ユーザが処理を中
断するかまたは危険を承知で処理を継続させるかを決定
することができてもよい。
【0071】図5は、加算処理、更新処理または削除処
理を遂行する処理のシーケンスを示すフローチャートで
ある。図5に示すルーチンは、示された処理が加算処
理、更新処理、または削除処理である場合に実行され
る。図5において、以下に述べる用語は、処理が記録K
n に対して行われ、かつ加算処理、更新処理および削除
処理用に、新規のRn は挿入されるべき記録Kn の値だ
と推定している。以下に述べる用語は、更新処理および
削除処理用に、処理開始時の古いRn は記録Kn の新規
値であると推定している。従って、以下に示す2つの値
は、加算処理および更新処理用の「新規のRn 」であ
り、挿入されるべき記録Kn の新規値であって、かつ更
新処理および削除処理用の「古いRn 」であり、処理開
始時の記録Knの新規値である。
【0072】ブロック2010において、フィールド5
2における当該処理(加算、更新または削除)の挿入お
よび図3のフィールド54における記録識別子Kn (そ
の長さを含む)の挿入によって新規の作業データを作成
する準備を行うことによって、処理が開始する。ブロッ
ク2020において、処理が更新かまたは削除かを決定
するチェックが行われる。処理が更新または削除であれ
ば(古い記録が置換中であれば)、ブロック2030に
おいて、ファイル全体のハッシュが、古い記録を控除し
て計算される。古い記録をハッシュ全体から取り除くに
は、関数Finvを以下のように用いる。 ファイルハッシュ=Finv(ファイルハッシュ,ハッ
シュ(Kn の長さ‖Kn ‖古いRn ))
【0073】FおよびFinvが排他的論理和である好
ましい実施例においては、以下のようになる。 ファイルハッシュ=ファイルハッシュXORハッシュ
(Kn の長さ‖Kn ‖古いRn
【0074】削除処理が示される場合は、変更された記
録の値が存在しないので、変更された記録の値のために
ダミーフィールド54および56が挿入される。
【0075】処理が更新処理または削除処理でない場合
(またはブロック2030で既存の記録のハッシュの再
計算後の場合)は、コントロールはブロック2040へ
到達し、処理が加算処理か更新処理かを決定するチェッ
クが行われる。処理が加算処理かまたは更新処理の場合
は、ルーチンは分岐してブロック2050へ進み、新規
の記録が作業データのデータ構造56に挿入され、変更
される記録である新規Rn が、ファイルハッシュ全体に
以下を用いて組み込まれて処理される。 ファイルハッシュ=F(ファイルハッシュ,ハッシュ
(Kn の長さ‖Kn ‖新規Rn ))
【0076】FおよびFinvが排他的論理和である好
ましい実施例においては、以下のようになる。 ファイルハッシュ=ファイルハッシュ XOR ハッシ
ュ(Kn の長さ‖K n ‖新規Rn
【0077】処理が加算処理または更新処理でない場合
(またはブロック2050での処理後の場合)は、すべ
てのデータベースの変更されたファイルハッシュは、作
業データのデータ構造50のフィールド58に挿入され
る(2060)。新規に出された作業データフィールド
52,54,56および58の連結ハッシュが計算さ
れ、作業データのデータ構造50のフィールド60に挿
入される。新規の作業データは、作業データファイルに
書き込まれる前に、必要があれば、暗号化される。少な
くともフィールド60の作業データファイルは保護のた
め暗号化されるべきである。
【0078】ブロック2070において、例えばディス
クメモリ上に上記の情報の書き込みが正しくなされたか
どうかの決定するためのチェックが行われる。書き込み
に失敗すると、ルーチンは分岐してブロック2080へ
進む。書き込みが正しく行われていれば、ブロック21
00に進む。
【0079】エラーの場合でも、データベースファイル
の処理のこの段階においては、ファイルハッシュは変更
されずに一致しており、将来の復旧の際にも正しいデー
タを生じるのは、以下の理由による。すなわち、作業デ
ータが実際には全く書き込みがなされていなかった場合
に、復旧は最終の更新を見に行き、データベースファイ
ルを現在の状態に再格納する。作業データが部分的にま
たは誤って書き込まれた場合は、フィールド60内の最
終ハッシュ内に後続の復旧に対して失敗が示される。何
のアクションも行われず、データベースは現在の(正し
い)状態のままでいることができる。作業データが実際
に所望通りに書き込みがなされた場合は、復旧は正しい
記録を見に行き、所望通りの最新の変更を適用する。そ
の後、更新は中断される。
【0080】ブロック2070のチェックによって、書
き込みが順調に行われたことが示されると、所望する更
新処理(例えば加算、更新、削除)が、ブロック210
0で行われる。その後、ブロック2110において、処
理が順調に行われたかどうかを決定するためのチェック
が行われる。処理は種々の理由で失敗するかもしれない
(例えばユーザによる電源遮断を含む)。いずれにせ
よ、復旧処理過程中に処理が再び試みられる。実施例で
は、ルーチンは現在の加算ルーチン、更新ルーチンまた
は削除ルーチンを出て(2115)、呼出者に対してエ
ラーを提示する。
【0081】処理が正しく行われると、更新されたファ
イルハッシュ値が書き込まれ、暗号化される(212
0)。ファイルハッシュ値が順調に書き込まれたとブロ
ック2130でのチェックによって決定されると、ルー
チンは戻って、データベースファイルの修正が成功した
ことを示す(2145)。書き込みに失敗したとブロッ
ク2130でのチェックに決定されれば、ルーチンは分
岐してブロック2140に進み、ルーチンはエラーを伴
って出る。将来どのような復旧を行おうとしても、ファ
イルハッシュを正しくセットしようとして行われる作業
を繰り返すこととなる。図4および図5に関連して説明
される実施例は、当業者によって理解される一度に単一
の記録および単一の処理のみを扱うことに関連していた
が、複数の記録を扱うように拡張されてもよい。
【0082】図6は、クローズ処理を含む処理のシーケ
ンスを示すフローチャートである。ブロック3010に
おいて示すように、新規の最終作業データ構造50が構
成され、そこではナル処理表示がフィールド52に挿入
され、ダミーフィールドがフィールド54および56に
挿入される。最終のファイルハッシュがフィールド58
に挿入され、新規に構成された作業データフィールド5
2,54,56および58の連結ハッシュが計算され
る。その後、このハッシュは、作業データ構造フィール
ド60に挿入される。最終の作業データ構造は、適切に
暗号化されて、メモリに書き込まれる。その後、ファイ
ルと共に最終のファイルハッシュ値が、ファイルディレ
クトリまたは他の安全な場所に移動される等して格納さ
れることを確認する処理ステップが行われる(302
0)。その後、データベースファイルはクローズして
(3030)、作業データファイルが消去されるか、ま
たは現在のデータベースファイルから関連付けが解除さ
れる(3040)
【0083】実施例は、従来の問題を避けつつ、全ファ
イルの完全性を提供する。確実な完全性は、以下のよう
に、若干のオーバヘッドを追加することによって達成さ
れる。すなわち、システムファイルディレクトリ内(状
況によっては、ハードドライブ全体がファイルとみなさ
れる場合もある)または特に機密性のあるデータベース
内の各ファイルに関連するあるハッシュ値の格納、およ
び各ファイルを最初にアクセスする(オープンする)と
きに全ファイルを走査して、格納されたハッシュでハッ
シュを証明するために当該ハッシュを計算する追加処
理、およびある時点で用いられているファイルのハッシ
ュを格納するための追加作業メモリ、およびどの記録で
も加算、更新または削除される際に、修正されたハッシ
ュの計算およびファイルに当該ハッシュを再書き込みを
行う追加処理である。
【0084】以上開示された方法により、機密性の確保
されていない計算システムが高度の機密性を有する電子
金融取引を安全に遂行することができる。本発明によ
り、ファイルのハッシュが増分ベースで取られることが
できる。これにより、ファイルのどの部分でも変更が可
能であるとともに、修正されたファイル部分および以前
の合計ハッシュに基づいて新規の合計ハッシュを計算す
ることができる。本発明に従えば、合計ハッシュは、各
記録の修正に伴って即座に更新することができ、従来技
術に従って全ファイルのハッシュを再計算する必要がな
い。
【0085】本発明を、現在最も実用的で好ましい実施
例と考えるものと関連して説明してきたが、本発明は、
開示された実施例に限定されるべきではなく、逆に、追
加されたクレームの精神および範囲内に含まれる種々の
修正および同等の構成を含むことが想定されていると理
解されるべきである。
【図面の簡単な説明】
【図1】本発明で用いられる通信システムのブロック図
である。
【図2】本発明の実施例に従う典型的な記録フォーマッ
トを概略的に示す図である。
【図3】作業データのデータ構造の典型的な状態を表現
する図である。
【図4】システムがファイルをオープンして、どんな方
法にせよ更新または使用する場合に、典型的な実施例に
従って遂行される動作のシーケンスを示すフローチャー
トである。
【図5】加算、更新または削除動作を実行する際に、典
型的な実施例に従って遂行される動作のシーケンスを示
すフローチャートである。
【図6】動作を終了するために、典型的な実施例に従っ
て遂行される動作のシーケンスを示すフローチャートで
ある。
【符号の説明】
A〜N…ターミナル 2…プロセッサ 4…キーボード/CRT 6,8,10…モデム

Claims (50)

    【特許請求の範囲】
  1. 【請求項1】 関連するデータ処理システムによって時
    々修正される複数の個別データユニットの集合体を保護
    するための方法であって、 保護すべきデータユニットの少なくともデータ値部分を
    用いて、ハッシュ処理を行うことによって、各個別デー
    タユニットのハッシュ値を取得するステップと、 合計ハッシュ値から各個別ハッシュ値を個々に包含およ
    び削除することを許可する関数を用いて、データの前記
    各個別データユニットのハッシュ値を合計するステップ
    とを備える、保護方法。
  2. 【請求項2】 前記関数の逆関数を用いて、個別のハッ
    シュ値を削除するステップをさらに含む、請求項1に記
    載の保護方法。
  3. 【請求項3】 各データユニットのためにハッシュされ
    るべきデータの一部として、各データユニットの相対命
    令を他のデータユニットと区別する標識を含むステップ
    をさらに含む、請求項1に記載の保護方法。
  4. 【請求項4】 前記個別データユニットの一つを更新す
    るステップと、 前記関数の逆関数を用いて、前記合計ハッシュに対して
    処理を行うステップとを含む、請求項1に記載の保護方
    法。
  5. 【請求項5】 前記標識が複数の連続命令データユニッ
    ト番号である、請求項3に記載の保護方法。
  6. 【請求項6】 前記標識が前記個別データユニットに関
    連的に索引を付けるために用いられるキー値である、請
    求項3に記載の保護方法。
  7. 【請求項7】 前記個別データユニットが記録である、
    請求項1に記載の保護方法。
  8. 【請求項8】 データ処理システムが更新中に中断され
    た場合に、データ構造を、用いられるデータユニットに
    関連する情報を含む前記個別データの少なくとも一つと
    関連付けるステップをさらに含む、請求項1に記載の保
    護方法。
  9. 【請求項9】 前記個別データユニットがバイトであ
    る、請求項1に記載の保護方法。
  10. 【請求項10】 前記個別データユニットがセクタであ
    る、請求項1に記載の保護方法。
  11. 【請求項11】 遂行されるべき更新処理を識別するた
    めのフィールドを前記データ構造に提供するステップを
    さらに含む、請求項8に記載の保護方法。
  12. 【請求項12】 合計ハッシュの修正バージョンを識別
    するためのフィールドを前記データ構造に提供するステ
    ップをさらに含む、請求項8に記載の保護方法。
  13. 【請求項13】 前記データ構造のフィールドのハッシ
    ュを格納するためのフィールドを前記データ構造に提供
    するステップをさらに含む、請求項8に記載の保護方
    法。
  14. 【請求項14】 前記データ構造の少なくとも一部を暗
    号化するステップをさらに含む、請求項8に記載の保護
    方法。
  15. 【請求項15】 前記合計ハッシュを記憶するステップ
    をさらに含む、請求項1に記載の保護方法。
  16. 【請求項16】 前記合計ハッシュを、権限を有するユ
    ーザ以外の者には修正が不可能であるように格納するス
    テップをさらに含む、請求項1に記載の保護方法。
  17. 【請求項17】 前記関数が排他的論理和処理である、
    請求項1に記載の保護方法。
  18. 【請求項18】 前記関数が加算処理である、請求項1
    に記載の保護方法。
  19. 【請求項19】 時々修正されるデータ集合体を保護す
    るための方法であって、 第1のデータグループと、前記第1のデータグループを
    識別する標識とに対して、所定のハッシュ処理を行うス
    テップと、 第2のデータグループと、前記第2のデータグループを
    識別する標識とに対して、所定のハッシュ処理を行うス
    テップと、 関数を用いて合計ハッシュを決定するためにハッシュを
    結合し、それによって、前記第1のデータグループの前
    記ハッシュと、前記第2のデータグループの前記ハッシ
    ュとが、前記関数の逆関数を用いて合計ハッシュから引
    き続いて抽出されうるステップとを備える、保護方法。
  20. 【請求項20】 更新処理を行う前記ステップが、前記
    関数の逆関数を用いて、前記ハッシュに対して処理を行
    うステップを含む、請求項19に記載の保護方法。
  21. 【請求項21】 ハッシュを計算する前記ステップが、
    前記第1のデータグループを識別する標識と、前記第2
    のデータグループを識別する標識とを用いる、請求項1
    9に記載の保護方法。
  22. 【請求項22】 前記第1のデータグループおよび前記
    第2のデータグループが記録である、請求項19に記載
    の保護方法。
  23. 【請求項23】 データ構造を前記第1のデータグルー
    プおよび前記第2のデータグループの少なくとも一つに
    関連付けるステップをさらに含み、前記データ構造は、
    更新中にデータ処理システムが中断された場合に用いら
    れる各グループに関する情報を含む、請求項19に記載
    の保護方法。
  24. 【請求項24】 遂行されるべき更新処理を識別するた
    めのフィールドを前記データ構造に提供するステップを
    さらに含む、請求項23に記載の保護方法。
  25. 【請求項25】 合計ハッシュの修正バージョンを識別
    するためのフィールドを前記データ構造に提供するステ
    ップをさらに含む、請求項23に記載の保護方法。
  26. 【請求項26】 前記データ構造のフィールドのハッシ
    ュを格納するためのフィールドを前記データ構造に提供
    するステップをさらに含む、請求項23に記載の保護方
    法。
  27. 【請求項27】 前記データ構造の少なくとも一部を暗
    号化するステップをさらに含む、請求項23に記載の保
    護方法。
  28. 【請求項28】 前記合計ハッシュを、権限を有するユ
    ーザ以外の者には修正が不可能であるように格納するス
    テップをさらに含む、請求項19に記載の保護方法。
  29. 【請求項29】 前記関数が排他的論理和処理である、
    請求項19に記載の保護方法。
  30. 【請求項30】 前記関数が加算処理である、請求項1
    9に記載の保護方法。
  31. 【請求項31】 複数のデータ記録を含み、関連ファイ
    ルハッシュを有する更新可能なデータファイルの有効性
    標識を保持するための方法であって、 前記ファイルハッシュをアクセスするステップと、 前記複数のデータ記録の一つを更新して、更新記録を生
    成するステップと、 更新記録を用いて、可換的かつ連想的プロパティを有す
    る関数を、合計ハッシュと更新データ記録とに適用する
    ことによって、合計ハッシュを計算するステップとを備
    える、保持方法。
  32. 【請求項32】 データ構造を前記第1のデータグルー
    プおよび前記第2のデータグループの少なくとも一つに
    関連付けるステップをさらに含み、前記データ構造は、
    更新中にデータ処理システムが中断された場合に、用い
    られる各グループに関する情報を含む、請求項31に記
    載の保持方法。
  33. 【請求項33】 前記複数のデータ記録の一つに対して
    遂行されるべき更新処理を識別するためのフィールドを
    前記データ構造に提供するステップをさらに含む、請求
    項32記載の保持方法。
  34. 【請求項34】 合計ハッシュの修正バージョンを識別
    するためのフィールドを前記データ構造に提供するステ
    ップをさらに含む、請求項32に記載の保持方法。
  35. 【請求項35】 前記データ構造のフィールドのハッシ
    ュを格納するためのフィールドを前記データ構造に提供
    するステップをさらに含む、請求項34に記載の保持方
    法。
  36. 【請求項36】 前記データ構造の少なくとも一部を暗
    号化するステップをさらに含む、請求項32に記載の保
    持方法。
  37. 【請求項37】 前記合計ハッシュを格納するステップ
    をさらに含む、請求項31に記載の保持方法。
  38. 【請求項38】 前記合計ハッシュを、権限を有するユ
    ーザ以外の者には修正が不可能であるように格納するス
    テップをさらに含む、請求項31に記載の保持方法。
  39. 【請求項39】 前記関数が排他的論理和処理である、
    請求項31に記載の保持方法。
  40. 【請求項40】 前記関数が加算処理である、請求項3
    1に記載の保持方法。
  41. 【請求項41】 複数のディジタルデータ記録を保護す
    るための方法であって、 合計データストリングを決定するために、データ記録の
    情報内容を記録識別子と結合するステップと、 ハッシュ値を決定するために、前記合計データに対して
    ハッシュ処理を行うステップと、 可換的かつ連想的プロパティを有する関数に前記ハッシ
    ュ値を適用するステップとを備える、保護方法。
  42. 【請求項42】 データ構造を更新中にデータ処理シス
    テムが中断された場合に用いられる各グループに関する
    情報の少なくとも一つに関連づけるステップをさらに含
    む、請求項41に記載の保護方法。
  43. 【請求項43】 遂行されるべき更新処理を識別するた
    めのフィールドを前記データ構造に提供するステップを
    さらに含む、請求項42に記載の保護方法。
  44. 【請求項44】 合計ハッシュの修正バージョンを識別
    するためのフィールドを前記データ構造に提供するステ
    ップをさらに含む、請求項42に記載の保護方法。
  45. 【請求項45】 前記データ構造のフィールドのハッシ
    ュを格納するためのフィールドを前記データ構造に提供
    するステップをさらに含む、請求項44に記載の保護方
    法。
  46. 【請求項46】 前記データ構造の少なくとも一部を暗
    号化するステップをさらに含む、請求項42に記載の保
    護方法。
  47. 【請求項47】前記合計ハッシュを格納するステップを
    さらに含む、請求項44に記載の保護方法。
  48. 【請求項48】 前記合計ハッシュを、権限を有するユ
    ーザ以外の者には修正が不可能であるように格納するス
    テップをさらに含む、請求項44に記載の保護方法。
  49. 【請求項49】 前記関数が排他的論理和処理である、
    請求項41に記載の保護方法。
  50. 【請求項50】 前記関数が加算処理である、請求項4
    1に記載の保護方法。
JP6282273A 1993-11-19 1994-11-16 単一ハッシュを用いた揮発性ファイルの保護方法 Pending JPH0883046A (ja)

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)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018092281A (ja) * 2016-11-30 2018-06-14 キヤノン電子株式会社 情報処理装置及びその制御方法、プログラムおよびシステム

Families Citing this family (121)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Cited By (1)

* Cited by examiner, † Cited by third party
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