(57)【要約】【課題】  第三者機関を利用して時刻保証、改竄保証を行うサービスがあるが、何らかの時刻保証、改竄保証が必要な通信のすべてに、第三者機関による認証を行うには、費用および通信トラフィックが大きくなる。【解決手段】  ネットワークを介して他の情報処理装置にデータを送信する際に、ネットワークを介してタイムスタンプを取得し(S203)、データの改竄を検知するためのハッシュ値を算出し、タイムスタンプ、送信データ、送信データのハッシュ値、並びに、タイムスタンプ、送信データおよび検知符号を一つのデータとした場合のスーパハッシュ値を時系列に記憶媒体に記録する(S204、S206、S208)。【選択図】  図5
2006066997.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークを介して他の情報処理装置にデータを送信する送信手段と、
前記ネットワークを介してタイムスタンプを取得する取得手段と、
データの改竄を検知するための検知符号を算出する算出手段と、
前記タイムスタンプ、前記送信手段が送信した送信データ、前記送信データの前記検知符号、並びに、前記タイムスタンプ、前記送信データおよび前記検知符号を一つのデータとした場合の前記検知符号を記憶媒体に記録する記録手段を有することを特徴とする情報処理装置。
【請求項２】
前記取得手段は、所定の間隔で前記タイムスタンプを取得することを特徴とする請求項1に記載された情報処理装置。
【請求項３】
前記記録手段は、前記タイムスタンプの取得時、および、前記データの送信時に前記記録を行うことを特徴とする請求項1または請求項2に記載された情報処理装置。
【請求項４】
前記送信手段は、前記データと、前記データの前記検知符号を送信することを特徴とする請求項1から請求項3の何れかに記載された情報処理装置。
【請求項５】
さらに、前記データの送信先から送信データに対する受信確認データを受信する受信手段を有し、前記記録手段は、前記送信データおよびその検知符号に続けて前記受信確認データを前記記録媒体に記録することを特徴とする請求項1から請求項4の何れかに記載された情報処理装置。
【請求項６】
ネットワークを介して他の情報処理装置にデータを送信する情報処理装置の情報処理方法であって、
前記ネットワークを介してタイムスタンプを取得するステップと、
データの改竄を検知するための検知符号を算出するステップと、
前記タイムスタンプ、送信データ、前記送信データの前記検知符号、並びに、前記タイムスタンプ、前記送信データおよび前記検知符号を一つのデータとした場合の前記検知符号を記憶媒体に記録するステップとを有することを特徴とする情報処理方法。
【請求項７】
ネットワークを介して他の情報処理装置にデータを送信する送信手段と、
前記ネットワークを介して時刻保証のためのデータを取得する取得手段と、
データの改竄を検知するための検知符号を算出する算出手段と、
前記時刻保証のためのデータ、前記送信手段が送信した送信データ、前記送信データの前記検知符号、並びに、前記時刻保証のためのデータ、前記送信データおよび前記検知符号を一つのデータとした場合の前記検知符号を記憶媒体に記録する記録手段を有することを特徴とする情報処理装置。
【請求項８】
前記時刻保証のためのデータは、時刻データおよび認証データのうちの少なくとも一つであることを特徴とする請求項7に記載された情報処理装置。
【請求項９】
ネットワークを介して他の情報処理装置にデータを送信する情報処理装置の情報処理方法であって、
前記ネットワークを介して時刻保証のためのデータを取得するステップと、
データの改竄を検知するための検知符号を算出するステップと、
前記時刻保証のためのデータ、送信データ、前記送信データの前記検知符号、並びに、前記時刻保証のためのデータ、前記送信データおよび前記検知符号を一つのデータとした場合の前記検知符号を記憶媒体に記録するステップとを有することを特徴とする情報処理方法。
【請求項１０】
前記時刻保証のためのデータは、時刻データおよび認証データのうちの少なくとも一つであることを特徴とする請求項9に記載された情報処理方法。
【請求項１１】
情報処理装置を制御して、請求項6、請求項9または請求項10に記載された情報処理を実現することを特徴とするプログラム。
【請求項１２】
請求項11に記載されたプログラムが記録されたことを特徴とする記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は情報処理装置およびその方法に関し、例えば、ネットワークを介して送信するデータの時刻保証および改竄保証に関する。
【背景技術】
【０００２】
電子商取引などの情報通信において、第三者機関を利用して時刻保証（以下、時刻保証のためのデータをタイムスタンプと呼ぶ）、改竄保証を行うサービスがある。
【０００３】
特開平11-338780号公報は、電子文書の将来的な確認および読み出しのために、電子文書を認定し安全に保管する技術を開示する。つまり、ユーザによって提供される電子文書を、暗号関数を用いて認定し、文書フィンガプリントを作成する。この文書フィンガプリントをタイムスタンプとともに暗号により署名する。認定された文書は、安全な寄託のため、および、後日の読み出しに備えて保管される。
【０００４】
一方、文書フィンガプリントとタイムスタンプは、文書認定データの一部としてユーザに返却される。この文書認定データを使用すれば、オリジナル文書に対するコピー文書の真正性を確認し、文書の先行存在日を判定することができる。各文書認定データのファイル名に、電子文書に関連する文書フィンガプリントの一部を含めることができるので、複数の文書認定データを極めて効率的に検索して、文書認定データと確認対象の電子文書の潜在的な一致を識別することができる。
【０００５】
図1は特開2001-147984公報に記載された技術を説明する図である。
【０００６】
図1において、入札端末11a、11b、11cはそれぞれ入札文書のハッシュ値を生成し、それを自社の秘密鍵で暗号化したハッシュ値を第三者認証機関(Trusted Third Party: TTP) 15に送信する。TTP 15は、入札端末11a、11b、11cから受信した三つの暗号化ハッシュ値からスーパハッシュ値(Super Hash Value: SHV)証明書を作成し、かつ、毎秒SHVを算出する。TTP 15は、毎秒のSHVと、SHV証明書を添付した暗号化ハッシュ値をインターネット27に公開する。入札端末11a、11b、11cは、調達機関13に入札する前に、SHV証明書付きの暗号化ハッシュ値をインターネット27からダウンロードしておく。
【０００７】
一方、入札端末11a、11b、11cは、入札文書に電子署名し、それをTTP 15が発行し調達機関13から配布される公開鍵で暗号化した入札文書を調達機関13に送信することで、入札を行う。開札時刻になると、調達機関13は、秘密鍵によって、入札端末11a、11b、11cから受信した暗号化入札文書を復号し、入札参加各社の入札文書を得て入札審査を行う。
【０００８】
入札審査が終了すると、調達機関13は、落札社の入札文書を含む審査結果を入札参加社に公開する。入札端末11a、11b、11cは、公開された落札社の入札文書をダウンロードして、そのハッシュ（開札後のハッシュ値）を取り、既に保持する開札前の暗号化ハッシュ値を公開鍵により復号してハッシュ値（開札前のハッシュ値）を取り、両ハッシュ値を比較して、それらが一致していなければ、落札された入札文書は不正に改竄されたと判断する。
【０００９】
このように、第三者機関を利用して時刻保証（タイムスタンプ）、改竄保証を行うサービスがあるが、何らかの時刻保証、改竄保証が必要な通信のすべてに、第三者機関による認証を行うには、費用および通信トラフィックが大きくなる。そこで、より負荷が小さいシステムが望まれる。
【００１０】
【特許文献１】特開平11-338780号公報
【特許文献２】特開2001-147984公報
【発明の開示】
【発明が解決しようとする課題】
【００１１】
本発明は、上述の問題を個々にまたはまとめて解決するもので、ネットワークを介して送信するデータの時刻保証および改竄保証を行う際の、費用および通信トラフィックが低減することを目的とする。
【課題を解決するための手段】
【００１２】
本発明は、前記の目的を達成する一手段として、以下の構成を備える。
【００１３】
本発明は、ネットワークを介して他の情報処理装置にデータを送信する際に、ネットワークを介してタイムスタンプを取得し、データの改竄を検知するための検知符号を算出し、タイムスタンプ、送信データ、送信データの検知符号、並びに、タイムスタンプ、送信データおよび検知符号を一つのデータとした場合の検知符号を記憶媒体に記録することを特徴とする。
【００１４】
また、ネットワークを介して他の情報処理装置にデータを送信する際に、ネットワークを介して時刻保証のためのデータを取得し、データの改竄を検知するための検知符号を算出し、時刻保証のためのデータ、送信データ、送信データの検知符号、並びに、時刻保証のためのデータ、送信データおよび検知符号を一つのデータとした場合の検知符号を記憶媒体に記録することを特徴とする。
【発明の効果】
【００１５】
本発明によれば、ネットワークを介して送信するデータの時刻保証および改竄保証を行う際の、費用および通信トラフィックが低減することができる。
【発明を実施するための最良の形態】
【００１６】
以下、本発明にかかる一実施形態の情報処理を図面を参照して詳細に説明する。
【００１７】
図2は実施例の情報処理システムの構成例を示すブロック図である。
【００１８】
図2において、複合機(MFP) 102は所定の間隔でタイムスタンプサーバ101にタイムスタンプを要求する。タイムスタンプサーバ101は、MFP 102のタイムスタンプ要求に対して、時刻データおよび認証コードを含むタイムスタンプ（データ）をMFP 102に返す。MFP 102は、タイムスタンプサーバ101から受信したタイムスタンプを外部記憶媒体103に記録する。
【００１９】
また、MFP 102は、データファイルの送信要求が発生すると、MFP 104へデータファイルおよび改竄の検知符号としてデータファイルの例えばハッシュ値(HV)を送信するとともに、送信したデータファイル、改竄の検知符号としてHVおよびスーパハッシュ値(SHV)を外部記憶媒体103に記録する。なお、外部記憶媒体103には、例えばCD-RやDVDのような、一度だけ書き込みが可能な記憶媒体を利用する。
【００２０】
一方、MFP 102からデータを受信したMFP 104は、受信日時および改竄防止用のデータを含む受信確認データをMFP 102に返す。なお、改竄防止のための確認用データには、受信したデータファイルのHVを利用する。MFP 102は、MFP 104から受信した受信確認データを外部記憶媒体103に記録する。
【００２１】
なお、一つのドメイン内（組織内）の情報処理であれば、タイムスタンプサーバ101、MFP 102、MFP 104はネットワーク105を介して相互に接続されていればよい。また、MFP 102と104が異なるドメインに存在する（異なる組織に存在する）場合は、タイムスタンプサーバ101、MFP 102、MFP 104はインターネットなどの広域ネットワーク105を介して相互に接続され、信頼される第三者機関のタイムスタンプサーバ101を利用することが好ましい。また、MFP 102と104の間で送受信されるデータファイルは、様々なアプリケーションプログラムによって作成・編集されたデータファイル、MFP 102のスキャナ機能によって原稿から読み取った画像ファイル、MFP 102が他のコンピュータ機器からMFP 104において印刷することを指示された印刷ファイルなどである。
【００２２】
図3はデータファイル、HVおよびSHVの関係の一例を説明する図である。
【００２３】
データファイルのデータをハッシュ関数（MD5またはSHA-1）でハッシュ変換した結果得られる固定長（128や160ビットなど）の値がハッシュ値で、データファイルA、B、C、…のハッシュ値は互いに値が異なるHVa、HVb、HVc、…になる。これら複数のHVを一つの連続したデータとみなし、ハッシュ変換した結果得られるハッシュ値がスーパハッシュ値(SHV)である。{HVa, HVb, HVc}と並べたデータ列のSHVと、{HVa, HVc, HVb}と並べたデータ列のSHVとは異なるので、データファイルを送信するごとにSHVを計算し記録することで、データファイルの送信順序を保障することができる。なお、データファイルCを送信し、SHVを計算する際、外部記憶媒体103からHVaおよびHVbを読み出し、データファイルCからHVcを計算してデータ列{HVa, HVb, HVc}からSHVを計算してもよいが、直前のSHV(t-1)を利用して、データファイルCを加えた時点のSHV(t)をデータ列{SHV(t-1), HVc}のデータ列から計算してもよい。
【００２４】
図4は外部記憶媒体103に時系列に格納するデータ列を説明する図である。
【００２５】
外部記憶媒体103のデータ記録領域には、その先頭から、SHV(t-1)（直前に使用していた外部記憶媒体103に最後に記録したSHV）が記録され、次にタイムスタンプTS0が記録される。続いて、データファイルAの送信が要求されると、データファイルA、データファイルAのハッシュ値HVa、および、データ列{SHV(t-1), TS0, データファイルA, HVa}のスーパハッシュ値SHV(t)が記録され、次にデータファイルAに対応する受信確認データAが記録される。
【００２６】
続いて、データファイルBの送信が要求されると、データファイルB、データファイルBのハッシュ値HVb、および、データ列{SHV(t-1), …, HVb}のスーパハッシュ値SHV(t+1)が記録され、次にデータファイルBに対応する受信確認データBが記録される。
【００２７】
以降、外部記憶媒体103に空きがある限り、または、外部記憶媒体103が交換されるまで、上記の記録が繰り返されるが、MFP 102がタイムスタンプTS0に対応する要求を発行した後、所定の期間が経過した場合は、新たな要求に対してMFP 102が受信したタイムスタンプTnが記録される。
【００２８】
図5は、図2に示す情報処理システムが実行する処理を説明するフローチャートである。なお、詳細説明は省略するが、図5に示す各処理は、タイムスタンプサーバ101、MFP 102、104のCPUがRAMなどをワークメモリとしてROMやHDDなどに格納されたプログラムを実行することで実現される。
【００２９】
MFP 102のCPUは、外部記憶媒体103として新しい記憶媒体が装着されたか否か（言い換えればデータ書き込みが初回の記憶媒体か否か）を判定し(S201)、新しい記憶媒体でなければ処理をステップS204へ進める。
【００３０】
また、新しい記憶媒体が装着された場合は、直前まで使用していた記憶媒体に最後に記録したSHVを新しい記憶媒体に記録する(S202)。なお、最後に記録したSHVは、RAMの不揮発性領域などに記憶されている。また、新しい記憶媒体に書き込むSHVは、データ列{媒体ID, SHV}から算出してもよい。
【００３１】
次に、MFP 102のCPUは、タイムスタンプサーバ101にタイムスタンプを要求する(S203)。なお、タイムスタンプの要求は、以降、所定の間隔のタイマ割込みで実行されるが、新しい記録媒体が装着された場合は常に実行される。
【００３２】
タイムスタンプサーバ101のCPUは、外部機器からタイムスタンプが要求されるのを待ち(S101)、要求を受信すると、その要求元にタイムスタンプを発行（送信）する(S102)。
【００３３】
MFP 102のCPUは、タイムスタンプサーバ101から受信したタイムスタンプを外部記録媒体103に記録し(S204)、データファイルの送信が要求されるのを待ち(S205)、データファイルの送信が要求されるとデータファイルおよびそのHVを外部記憶媒体103に記録し(S206)、SHVを計算し（図4参照）、外部記憶媒体103に記録する(S207)。そして、要求されたデータファイルおよびそのHVをMFP 104へ送信し(S208)、MFP 104から返される受信確認データを外部記憶媒体103に記録し(S209)、処理をステップS201へ戻す。
【００３４】
また、MFP 104のCPUは、MFP 102からデータファイルを受信すると(S301)、受信確認データをMFP 102に返す(S302)。
【００３５】
以上の説明においては、データファイルの受信側の機器をMFPとして説明したが、MFPに限らず、データファイルや受信確認データを送受信できるコンピュータ機器であればよい。また、DVDのような記憶媒体に時系列にデータを記録する例を説明したが、データ消去を禁止したハードディスクなどの記憶媒体も利用可能である。その際、媒体IDには記憶装置に固有の装置IDや、ネットワーク105に接続された記憶装置であればIPアドレスやMACアドレスをSHVの生成に利用することも可能である。
【００３６】
このように、記憶媒体上にタイムスタンプ、データファイル（電子データ）、HV、SHV、受信確認データが、データファイルの送信順に記録される。この記憶媒体に記録されたデータから各データファイルの送信時刻、データファイルの送信順、受信確認の有無を検証することができる。さらに、HVによりデータファイルの改竄の有無を検証することができ、SHVによりタイムスタンプ、データファイル、受信確認データだけでなく送信順の改竄の有無を検証することができる。言い換えれば、記憶媒体上に改竄不能な形態で電子データおよびその送信履歴が格納されることになる。なお、この記録媒体またはそのコピーを外部機器に提供すれば、外部機器によっても時刻保証および改竄保証が可能である。
【００３７】
さらに、タイムスタンプの要求はデータファイルの送信に関係なく所定の間隔にし、タイムスタンプの取得の間に生じたデータファイルの送信順序はSHVで保証する。例えば、図4の例では、タイムスタンプT0とT1の間にデータファイルAおよびBを送信しているが、データファイルAおよびBの順序性はSHV(t+1)で保証される。従って、データファイルの送信頻度が高い場合などにタイムスタンプサーバ101に対するタイムスタンプの要求頻度を低減することができ、タイムスタンプサーバ101の負荷を低減し、時系列に発生するデータの順序性を保障することができる。
【００３８】
本実施例を電子商取引などデータ改竄防止保障および時刻認定が必要な通信に適用すれば、第三者機関などのタイムスタンプサーバに対しては、所定の間隔でタイムスタンプを要求し、タイムスタンプを取得するだけでよく、上述した第三者機関などのサーバによる認証を行う方法に比べて、費用および通信トラフィックを極めて低減することができ、より負荷が小さいシステムが実現される。
【００３９】
［他の実施例］
なお、本発明は、複数の機器（例えばホストコンピュータ、インタフェイス機器、リーダ、プリンタなど）から構成されるシステムに適用しても、一つの機器からなる装置（例えば、複写機、ファクシミリ装置など）に適用してもよい。
【００４０】
また、本発明の目的は、前述した実施例の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体（または記録媒体）を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ（またはCPUやMPU）が記憶媒体に格納されたプログラムコードを読み出し実行することによっても、達成されることは言うまでもない。この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施例の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施例の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているオペレーティングシステム(OS)などが実際の処理の一部または全部を行い、その処理によって前述した実施例の機能が実現される場合も含まれることは言うまでもない。
【００４１】
さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張カードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれた後、そのプログラムコードの指示に基づき、その機能拡張カードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行い、その処理によって前述した実施例の機能が実現される場合も含まれることは言うまでもない。
【００４２】
本発明を上記記憶媒体に適用する場合、その記憶媒体には、先に説明したフローチャートに対応するプログラムコードが格納されることになる。
【図面の簡単な説明】
【００４３】
【図１】特開2001-147984公報に記載された技術を説明する図、
【図２】実施例の情報処理システムの構成例を示すブロック図、
【図３】データファイル、HVおよびSHVの関係の一例を説明する図、
【図４】記憶媒体に時系列に格納するデータ列を説明する図、
【図５】情報処理システムが実行する処理を説明するフローチャートである。
【図１】
2006066997.tif 000003
【図２】
2006066997.tif 000004
【図３】
2006066997.tif 000005
【図４】
2006066997.tif 000006
【図５】
2006066997.tif 000007