(57)【要約】【課題】信用があるタイムスタンプ機能を備えたストレージシステムを提供する。【解決手段】データストレージシステムに保存されたデータがハッシュされハッシュ値が生成される。ハッシュ値とタイムスタンプ要求がタイムスタンプ機構へ送信される。タイムスタンプトークンおよび／またはタイムスタンプ証明書をタイムスタンプ機構より受信する。タイムスタンプトークンはタイムスタンプとハッシュ値を含んでおり、タイムスタンプ機構の秘密鍵を用いて符号化されていても良い。タイムスタンプトークンおよび／またはタイムスタンプ証明書は例えばデータストレージシステムに保存されるデータの照会情報とともに保存される。タイムスタンプトークンおよび／またはタイムスタンプ証明書は保存されている情報とタイムスタンプの認証に使用される。【選択図】図１
2006072995.tif 000002
【特許請求の範囲】
【請求項１】
データストレージシステムに信頼性のあるタイムスタンプを付与するための方法であって、
データストレージシステムに保存するデータを決定するステップと、
ハッシュ値を生成するために前記データをハッシュするステップと、
前記ハッシュ値とタイムスタンプ要求をタイムスタンプ機構に送信するステップと、
前記タイムスタンプ機構から、タイムスタンプとハッシュ値からなるタイムスタンプトークンを受信するステップと、
前記タイムスタンプとハッシュ値がデータストレージシステムに保存すると決定されたデータに対して信頼性のあるタイムスタンプを提供するタイムスタンプトークンをデータストレージシステムに保存するステップと、
を備える方法。
【請求項２】
前記タイムスタンプトークンを保存するステップは、タイムスタンプトークンを、データを保存する装置に保存するステップを含む請求項１に記載の方法。
【請求項３】
前記装置はＲＡＩＤ（ｒｅｄｕｎｄａｎｔ ａｒｒａｙ ｏｆ ｉｎｄｅｐｅｎｄｅｎｔ ｄｉｓｋｓ）装置である請求項２に記載の方法。
【請求項４】
前記タイムスタンプトークンを保存するステップは、タイムスタンプトークンをデータストレージシステムの保存データの照会情報を含んでいるメタデータに保存するステップを含む請求項１に記載の方法。
【請求項５】
前記照会情報は、データの保存先のアドレスとデータのサイズを備える請求項４に記載の方法。
【請求項６】
前記タイムスタンプトークンを保存するステップは、保存データとともにタイムスタンプトークンを保存するステップを含む請求項１に記載の方法。
【請求項７】
前記タイムスタンプトークンは、タイムスタンプ機構の秘密鍵を用いて符号化される請求項１に記載の方法。
【請求項８】
前記タイムスタンプトークンを認証するステップをさらに含み、
前記認証するステップは、タイムスタンプ機構の公開鍵を用いてタイムスタンプトークンを復号するステップを含む請求項７に記載の方法。
【請求項９】
前記公開鍵は、認証機構から受信される請求項８に記載の方法。
【請求項１０】
前記データをハッシュするステップは、鍵付ハッシュ法を用いてデータをハッシュするステップを含む請求項１に記載の方法。
【請求項１１】
前記タイムスタンプトークンを認証するステップをさらに含む請求項１に記載の方法。
【請求項１２】
タイムスタンプ機構からタイムスタンプ証明書を受信するステップをさらに備え、
前記タイムスタンプトークンを認証するステップは、前記タイムスタンプ証明書を認証するのに必要な情報を提供可能な機関とコンタクトするステップを含む請求項１１に記載の方法。
【請求項１３】
前記認証するステップは、
データへの照会情報を用いてデータにアクセスするステップと、
アクセスされたデータをハッシュし、第二のハッシュ値を生成するステップと、
第二のハッシュ値をタイムスタンプトークン内のハッシュ値と比較するステップと、
前記比較に基づいてタイムスタンプトークンを認証するステップと、
を含む請求項１１に記載の方法。
【請求項１４】
前記比較に基づくタイムスタンプトークンの認証ステップは、第二のハッシュ値がタイムスタンプトークン内のハッシュ値と一致する場合に、タイムスタンプトークンを肯定的に認証する請求項１３に記載の方法。
【請求項１５】
タイムスタンプ証明書をタイムスタンプ機構から受信するステップをさらに備える請求項１に記載の方法。
【請求項１６】
タイムスタンプ証明書が有効であるかどうかをチェックするステップをさらに備える請求項１５に記載の方法。
【請求項１７】
前記タイムスタンプ証明書をチェックするステップは、
データストレージシステムの内部タイマを用いて時刻を決定するステップと、
前記時刻を用いるタイムスタンプ証明書が失効しているかを決定するステップと、
を含む請求項１６に記載の方法。
【請求項１８】
前記決定されたデータは、固定される請求項１に記載の方法。
【請求項１９】
前記データは、データストレージシステムに保存されるデータ、データストレージシステムへのＩ／Ｏコマンド、およびデータストレージシステムへの管理コマンドの中の少なくとも一つを備える請求項１に記載の方法。
【請求項２０】
信頼性のあるタイムスタンプを付与するためのストレージシステムにおいて、
データを保存するように構成されているストレージ装置と、
ストレージ装置に保存するデータを決定するように構成されているデータ決定部と、
決定されたデータをハッシュしてハッシュ値を生成するように構成されているハッシュ部と、
ハッシュ値とタイムスタンプ要求をタイムスタンプ機構へ送信するように構成されているタイムスタンプ要求部と、
タイムスタンプとハッシュ値を含むタイムスタンプトークンをタイムスタンプ機構から受信するように構成されている受信部と、を備え、
前記ストレージ装置は、データストレージシステム内の決定されたデータに対して信頼性のあるタイムスタンプを付与するタイムスタンプトークンを保存するように構成されている、ストレージシステム。
【請求項２１】
前記ストレージ装置は、タイムスタンプトークンと決定されたデータの照会情報を保存するメタデータ表を備える請求項２０に記載のストレージシステム。
【請求項２２】
前記照会情報は、決定されたデータの保存されているアドレスとデータのサイズを備える請求項２１に記載のストレージシステム。
【請求項２３】
前記ストレージ装置は、決定されたデータとともにタイムスタンプトークンを保存する請求項２０に記載のストレージシステム。
【請求項２４】
前記タイムスタンプトークンは、タイムスタンプ機構の秘密鍵を用いて符号化される請求項２０に記載のストレージシステム。
【請求項２５】
タイムスタンプトークンを認証するように構成されている認証部をさらに備え、
前記認証部は、前記タイムスタンプトークンをタイムスタンプ機構の公開鍵を用いて復号するように構成されている請求項２４に記載のストレージシステム。
【請求項２６】
前記公開鍵を認証機構から受信する請求項２５に記載のストレージシステム。
【請求項２７】
前記ハッシュ部は、鍵付ハッシュ法を用いてデータをハッシュするように構成されている請求項２０に記載のストレージシステム。
【請求項２８】
タイムスタンプトークンを認証するように構成されている認証部をさらに備える請求項２０に記載のストレージシステム。
【請求項２９】
前記認証部は、タイムスタンプ機構からタイムスタンプ証明書を受信するように構成されており、
前記認証部は、タイムスタンプ証明書を認証するのに必要な情報を提供可能な機関とコンタクトするように構成されている請求項２８に記載のストレージシステム。
【請求項３０】
前記認証部は、
データの照会情報を用いてデータにアクセスし、
アクセスされたデータをハッシュして第二のハッシュ値を生成し、
第二のハッシュ値をタイムスタンプトークン内のハッシュ値と比較し、
前記比較に基づいてタイムスタンプトークンを認証する、
ように構成されている請求項２８に記載のストレージシステム。
【請求項３１】
前記認証部は、第二のハッシュ値がタイムスタンプトークン内のハッシュ値と一致する場合に、タイムスタンプトークンを肯定的に認証するように構成されている請求項３０に記載のストレージシステム。
【請求項３２】
前記受信部は、タイムスタンプ機構からタイムスタンプ証明書を受信するように構成されている請求項２０に記載のストレージシステム。
【請求項３３】
前記タイムスタンプ証明書が有効であるかをチェックするように構成された証明書確認部をさらに備える請求項３２に記載のストレージシステム。
【請求項３４】
前記証明書確認部は、
データストレージシステムの内部タイマを用いて時刻を決定し、
タイムスタンプ証明書が失効しているかを決定するのに前記時刻を用いる、
ように構成されている請求項３２に記載のストレージシステム。
【請求項３５】
前記決定されたデータは、固定されている請求項２０に記載のストレージシステム。
【請求項３６】
前記決定されたデータは、データストレージシステムに保存されるデータ、データストレージシステムへのＩ／Ｏコマンド、およびデータストレージシステムへの管理コマンドの中の少なくとも一つを備える請求項２０に記載のストレージシステム。
【請求項３７】
データストレージシステムに保存されるデータに対して生成されたタイムスタンプを認証する方法において、
タイムスタンプ機構から受信したタイムスタンプトークンの認証要求を受信するステップと、
データストレージシステムに保存されているタイムスタンプトークンにアクセスするステップと、
タイムスタンプトークンを認証するステップと、
タイムスタンプトークンと関連するハッシュ値を決定するステップと、
タイムスタンプトークンを用いてタイムスタンプを付与されたデータストレージシステムに保存されているデータにアクセスするステップと、
第二のハッシュ値を生成するためにデータをハッシュするステップと、
タイムスタンプトークン内のハッシュ値を第二のハッシュ値と比較するステップと、
前記比較に基づいてデータを認証するステップと、
タイムスタンプトークンとデータが認証された場合にタイムスタンプを認証するステップと、
を備える方法。
【請求項３８】
前記データにアクセスするステップは、タイムスタンプトークンと共にデータストレージシステムのメタデータ表に保存されているデータの照会情報を用いるステップを含む請求項３７に記載の方法。
【請求項３９】
前記タイムスタンプトークンにアクセスするステップは、タイムスタンプを付与されたデータへの照会情報とともにメタデータ表に保存されているタイムスタンプトークンにアクセスするステップを含む請求項３７に記載の方法。
【請求項４０】
前記タイムスタンプトークンにアクセスするステップは、
タイムスタンプを付与されたデータにアクセスするステップと、
データストレージ装置に保存されているデータに付与されるタイムスタンプトークンを決定するステップと、
を含む請求項３７に記載の方法。
【請求項４１】
タイムスタンプ機構からタイムスタンプ証明書を受信するステップをさらに備え、
前記タイムスタンプトークンを認証するステップは、タイムスタンプ証明書を認証するのに必要な情報を提供可能な機関とコンタクトするステップを含む請求項３７に記載の方法。
【請求項４２】
前記比較に基づいてタイムスタンプトークンを認証するステップは、第二のハッシュ値がタイムスタンプトークン内のハッシュ値と一致する場合に、タイムスタンプトークンを肯定的に認証する請求項３７に記載の方法。
【請求項４３】
タイムスタンプ機構からタイムスタンプ証明書を受信するステップをさらに備える請求項３７に記載の方法。
【請求項４４】
前記タイムスタンプトークンはタイムスタンプ機構の秘密鍵を用いて符号化され、前記タイムスタンプトークンを認証するステップは、タイムスタンプ機構の公開鍵を用いてタイムスタンプトークンを復号するステップを更に含む請求項３７に記載の方法。
【請求項４５】
前記公開鍵を認証機構から受信する請求項４４に記載の方法。
【請求項４６】
前記データをハッシュするステップは、鍵付ハッシュ法を用いてデータをハッシュするステップを含む請求項３７に記載の方法。
【請求項４７】
タイムスタンプ証明書が有効であるかをチェックするステップをさらに備える請求項４３に記載の方法。
【請求項４８】
前記タイムスタンプ証明書をチェックするステップは、
データストレージシステムの内部タイマを用いて時刻を決定するステップと、
前記時刻を用いてタイムスタンプ証明書が失効しているかを決定するステップと、
を含む請求項４７に記載の方法。
【請求項４９】
前記アクセスされたデータは、データストレージシステムに保存されているデータ、データストレージシステムへのＩ／Ｏコマンド、およびデータストレージシステムへの管理コマンドの中の少なくとも一つを備える請求項３７に記載の方法。
【請求項５０】
データストレージシステムへのコマンドに対し信頼性のあるタイムスタンプを付与する方法において、
データストレージシステムで実行されるコマンドを決定するステップと、
ハッシュ値を生成するためにコマンドの情報をハッシュするステップと、
ハッシュ値とタイムスタンプ要求をタイムスタンプ機構に送信するステップと、
タイムスタンプとハッシュ値を含むタイムスタンプトークンをタイムスタンプ機構から受信するステップと、
前記タイムスタンプとハッシュ値がデータストレージシステムのコマンドに対して信頼性のあるタイムスタンプメカニズムを提供するタイムスタンプトークンをデータストレージシステムに保存するステップと、
を備える方法。
【請求項５１】
前記タイムスタンプトークンを保存するステップは、タイムスタンプトークンを前記コマンドの情報を保存している装置に保存するステップを含む請求項５０に記載の方法。
【請求項５２】
前記装置は、ＲＡＩＤ（ｒｅｄｕｎｄａｎｔ ａｒｒａｙ ｏｆ ｉｎｄｅｐｅｎｄｅｎｔ ｄｉｓｋｓ）装置である請求項５１に記載の方法。
【請求項５３】
前記タイムスタンプトークンを保存するステップは、コマンドの情報を含むデータストレージシステムのコマンドログにタイムスタンプトークンを保存するステップを含む請求項５０に記載の方法。
【請求項５４】
前記タイムスタンプトークンを認証するステップをさらに備える請求項５０に記載の方法。
【請求項５５】
タイムスタンプ証明書をタイムスタンプ機構から受信するステップをさらに備え、
前記タイムスタンプトークンを認証するステップは、タイムスタンプ証明書を認証するのに必要な情報を提供可能な機関とコンタクトするステップを含む請求項５４に記載の方法。
【請求項５６】
前記タイムスタンプトークンを認証するステップは、
保存されたコマンドの情報にアクセスするステップと、
第二のハッシュ値を生成するために保存されたコマンドの情報をハッシュするステップと、
第二のハッシュ値をタイムスタンプトークン内のハッシュ値と比較するステップと、
前記比較に基づいてタイムスタンプトークンを認証するステップと、
を含む請求項５４に記載の方法。
【請求項５７】
前記比較に基づいてタイムスタンプトークンを認証するステップは、第二のハッシュ値がタイムスタンプトークン内のハッシュ値と一致する場合に、タイムスタンプトークンを肯定的に認証するステップを含む請求項５６に記載の方法。
【請求項５８】
前記タイムスタンプトークンは、タイムスタンプ機構の秘密鍵を用いて符号化される請求項５０に記載の方法。
【請求項５９】
前記タイムスタンプトークンを認証するステップをさらに含み、
前記タイムスタンプトークンを認証するステップは、タイムスタンプ機構の公開鍵を用いてタイムスタンプトークンを復号するステップを含む請求項５８に記載の方法。
【請求項６０】
前記公開鍵を認証機構から受信する請求項５９に記載の方法。
【請求項６１】
前記データをハッシュするステップは、鍵付ハッシュ法を用いてデータをハッシュするステップを含む請求項５０に記載の方法。
【請求項６２】
タイムスタンプ証明書をタイムスタンプ機構から受信するステップをさらに備える請求項５０に記載の方法。
【請求項６３】
タイムスタンプ証明書が有効であるかどうかをチェックするステップをさらに備える請求項６２に記載の方法。
【請求項６４】
前記タイムスタンプ証明書をチェックするステップは、
データストレージシステムの内部タイマを用いて時刻を決定するステップと、
タイムスタンプ証明書が失効しているかを決定するために前記時刻を用いるステップと、
を含む請求項６３に記載の方法。
【請求項６５】
前記ハッシュされている情報は、固定されている請求項５０に記載の方法。
【請求項６６】
前記コマンドは、データストレージシステムへのＩ／Ｏコマンド、およびデータストレージシステムへの管理コマンドの中の少なくとも一つを備える請求項５０に記載の方法。
【請求項６７】
ストレージシステムで実行されるコマンドに対して信頼性のあるタイムスタンプを付与するストレージシステムにおいて、
ストレージ装置で実行されるコマンドを決定するように構成されているコマンド決定部と、
コマンドの情報をハッシュしてハッシュ値を生成するように構成されているハッシュ部と、
ハッシュ値とタイムスタンプ要求をタイムスタンプ機構に送信するように構成されているタイムスタンプ要求部と、
タイムスタンプとハッシュ値を備えたタイムスタンプトークンをタイムスタンプ機構から受信するように構成されている受信部と、
を備え、
ストレージ装置は、データストレージシステム内のコマンドに対して信頼性のあるタイムスタンプを付与するタイムスタンプトークンを保存するように構成されている、ストレージシステム。
【請求項６８】
前記ストレージ装置は、タイムスタンプトークンとコマンドのハッシュ情報を保存しているコマンドログを備える請求項６７に記載のストレージシステム。
【請求項６９】
タイムスタンプトークンを認証するように構成されている認証部をさらに備える請求項６７に記載のストレージシステム。
【請求項７０】
前記認証部は、タイムスタンプ機構からタイムスタンプ証明書を受信するように構成されており、
前記認証部は、タイムスタンプ証明書を認証するのに必要な情報を提供可能な機関とコンタクトするように構成されている請求項６９に記載のストレージシステム。
【請求項７１】
前記認証部は、
保存されたコマンドの情報にアクセスし、
保存された情報をハッシュして第二のハッシュ値を生成し、
第二のハッシュ値をタイムスタンプトークン内のハッシュ値と比較し、
前記比較に基づいてタイムスタンプトークンを認証する、
ように構成されている請求項６９に記載のストレージシステム。
【請求項７２】
前記認証部は、第二のハッシュ値がタイムスタンプトークン内のハッシュ値と一致する場合にタイムスタンプトークンを肯定的に認証するように構成されている請求項７１に記載のストレージシステム。
【請求項７３】
前記タイムスタンプトークンは、タイムスタンプ機構の秘密鍵を用いて符号化される請求項６７に記載のシステム。
【請求項７４】
タイムスタンプトークンを認証するように構成された認証部をさらに備え、
前記認証部は、前記タイムスタンプトークンをタイムスタンプ機構の公開鍵を用いて復号するように構成されている請求項７３に記載のシステム。
【請求項７５】
前記公開鍵を認証機構から受信する請求項７４に記載のストレージシステム。
【請求項７６】
前記ハッシュ部は、鍵付ハッシュ法を用いてデータをハッシュするように構成されている請求項６７に記載のストレージシステム。
【請求項７７】
前記受信部は、タイムスタンプ証明書をタイムスタンプ機構から受信するように構成されている請求項６７に記載のストレージシステム。
【請求項７８】
前記タイムスタンプ証明書が有効であるかをチェックするように構成された証明書確認部をさらに備える請求項７７に記載のストレージシステム。
【請求項７９】
前記証明書確認部は、
データストレージシステムの内部タイマを用いて時刻を決定し、
タイムスタンプ証明書が失効しているかを決定するのに前記時刻を用いる、
ように構成されている請求項７７に記載のストレージシステム。
【請求項８０】
前記ハッシュされたコマンドの情報は、固定されている請求項６７に記載のストレージシステム。
【請求項８１】
前記コマンドの情報は、データストレージシステムへのＩ／Ｏコマンド、およびデータストレージシステムへの管理コマンドの中の少なくとも一つを備える請求項６７に記載のストレージシステム。
【請求項８２】
データストレージシステムで実行されるコマンドに対して生成されるタイムスタンプを認証する方法において、
タイムスタンプ機構から受信したタイムスタンプトークンの認証要求を受信するステップと、
データストレージシステムに保存されているタイムスタンプトークンをアクセスするステップと、
タイムスタンプトークンを認証するステップと、
タイムスタンプトークンに含まれているハッシュ値を決定するステップと、
タイムスタンプトークンを用いてタイムスタンプを付与された、データシステムに保存されているコマンドの情報にアクセスするステップと、
コマンドの情報をハッシュして第二のハッシュ値を生成するステップと、
タイムスタンプトークンに含まれているハッシュ値と第二のハッシュ値を比較するステップと、
前記比較に基づいてコマンドの情報を認証するステップと、
タイムスタンプトークンとデータが認証された場合はタイムスタンプを認証するステップと、
を備える方法。
【請求項８３】
前記コマンドの情報にアクセスするステップは、データストレージシステムのコマンドログメタデータ表のコマンド情報にアクセスするステップを含む請求項８２に記載の方法。
【請求項８４】
前記タイムスタンプトークンへのアクセスのステップは、タイムスタンプを付与されたコマンドの情報とともにコマンドログメタデータ表に保存されているタイムスタンプトークンにアクセスするステップを含む請求項８２に記載の方法。
【請求項８５】
タイムスタンプ機構からタイムスタンプ証明書を受信するステップをさらに備え、
前記タイムスタンプトークンを認証するステップは、タイムスタンプ証明書を認証するのに必要な情報を提供可能な機関とコンタクトするステップを含む請求項８２に記載の方法。
【請求項８６】
前記比較に基づいてタイムスタンプトークンを認証するステップは、第二のハッシュ値がタイムスタンプトークン内のハッシュ値と一致する場合に、タイムスタンプトークンを肯定的に認証するステップを含む請求項８２に記載の方法。
【請求項８７】
タイムスタンプ機構からタイムスタンプ証明書を受信するステップをさらに備える請求項８２に記載の方法。
【請求項８８】
タイムスタンプ証明書が有効であるかをチェックするステップをさらに備える請求項８７に記載の方法。
【請求項８９】
前記タイムスタンプ証明書をチェックするステップは、
データストレージシステムの内部タイマを用いて時刻を決定するステップと、
前記時刻を用いてタイムスタンプ証明書が失効しているかを決定するステップと、
を含む請求項８８に記載の方法。
【請求項９０】
前記タイムスタンプトークンは、タイムスタンプ機構の秘密鍵を用いて符号化される請求項８２に記載の方法。
【請求項９１】
前記タイムスタンプトークンを認証するステップをさらに含み、
前記タイムスタンプトークンを認証するステップは、タイムスタンプ機構の公開鍵を用いてタイムスタンプトークンを復号するステップを含む請求項９０に記載の方法。
【請求項９２】
前記公開鍵を認証機構から受信する請求項９１に記載の方法。
【請求項９３】
前記データをハッシュするステップは、鍵付ハッシュ法を用いてデータをハッシュするステップを含む請求項８２に記載の方法。
【請求項９４】
前記アクセスされたデータは、データストレージシステムに保存されているデータ、データストレージシステムへのＩ／Ｏコマンド、およびデータストレージシステムへの管理コマンドの中の少なくとも一つを備える請求項８２に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はデータストレージ全般に関し、より具体的にはストレージシステムに信頼性のあるタイムスタンプを備える方法と装置に関する。
【背景技術】
【０００２】
生成されおよび／または修正され、またさらに公式にあるいは公共で使用されるディジタルデータの量の増大に伴って、ディジタルデータが生成および／または修正された時刻を証明することがより望ましくなってきた。一例では、コンピュータシステムの内部タイマを使用してディジタルデータが生成および／または修正された日付および時刻を示すことができる。しかしながら、内部タイマは簡単に変更することができ、誤った日付あるいは時刻を示す場合がある。従って、コンピュータシステムの内部タイマは公式に信用があるタイムスタンプを提供するものではない。
【０００３】
公的機構からタイムスタンプを提供しコンピュータシステムでデータに付与することができる。このタイムスタンプはデータがタイムスタンプを付与されたときのままであることを証明するのに使われる。タイムスタンプを提供する商業サービスの例としては、Ｓｕｒｅｔｙ，ＤｉｇｉＳｔａｍｐ，Ｉ．Ｔ．Ｃｏｎｓｕｌａｎｃｙ，Ｓｅｉｋｏ Ｉｎｓｔｒｕｍｅｎｔｓ，Ａｍａｎｏなどが提供している。また、タイムスタンプはＩＥＴＦにより“Ｓｉｍｐｌｅ Ｐｒｏｔｏｃｏｌ（ＲＦＣ３１６１）”として標準化されている。
【０００４】
ＲＡＩＤ（Ｒｅｄｕｎｄａｎｔ Ａｒｒａｙｓ ｏｆ Ｉｎｅｘｐｅｎｓｉｖｅ Ｄｉｓｋｓ）などのストレージシステムにますます長期間にわたってデータが保存されるようになりつつある。例えば、米国の証券取引委員会（ＳＥＣ）では１９３４年制定の証券取引法の規則１７Ａ−４に基づいて、会員、仲介業者、販売店間の取引について、全ての顧客との通信記録ならびに全ての金融取引の記録を消去不可能なフォーマット（１回書き込み、多数回読み出し（ＷＯＲＭ）フォーマット）で一定の年数保存することを求めている。さらに、全米証券業者協会（ＮＡＳＤ）は規則３０１０および３１１０に類似の規制を有している。これらの規制は、ストレージシステムにＷＯＲＭ機能を求めており、一定の期間データが消去あるいは修正できないことが必要である。これらの期間保存されるデータはまた信用があるものでなければならない。
【発明の開示】
【発明が解決しようとする課題】
【０００５】
現在、ストレージシステムはデータが保存された時刻を表示するのに内部タイマを使用している。これは、内部タイマは時刻を変更して誤ったタイムスタンプを提供することができてしまうという、上記と同じ問題を有している。
【課題を解決するための手段】
【０００６】
本発明は一般に、信頼性のあるタイムスタンプ機能の能力をストレージシステムにおいて提供することに関連する。
【０００７】
一つの実施例では、ストレージシステムに保存されたデータはハッシュされハッシュ値が生成される。ハッシュ値とタイムスタンプ要求がタイムスタンプ機構へ送信される。タイムスタンプトークンおよび／またはタイムスタンプ証明書をタイムスタンプ機構から受信する。タイムスタンプトークンはタイムスタンプとハッシュ値を備えており、タイムスタンプ機構の秘密鍵を使用して符号化されていても良い。タイムスタンプトークンおよび／またはタイムスタンプ証明書は、例えば、データストレージシステムに保存されたデータへの照会情報とともに保存される。次に、タイムスタンプトークンおよび／またはタイムスタンプ証明書を使用して保存されたデータとタイムスタンプを有効化することができる。
【０００８】
一つの実施例では、タイムスタンプを有効化する方法が提供される。本方法は、タイムスタンプ有効化要求を受信することを含む。データに対する照会情報を次に使用してタイムスタンプトークンとデータにアクセスする。アクセスされたデータは、ハッシュされ、第二のハッシュ値が生成される。タイムスタンプトークンは、符号化されていた場合は、タイムスタンプ機構の公開鍵を使用して復号することができる。次に、第二のハッシュ値は、タイムスタンプトークン中にあるハッシュ値と比較される。この比較に基づいてタイムスタンプトークンが有効化される。例えば、タイムスタンプトークンにあるハッシュ値が第二のハッシュ値と適合すれば、タイムスタンプを付与されたデータが有効化される。さらに、タイムスタンプ証明書を使用してタイムスタンプトークンを有効化することもできる。タイムスタンプトークンを有効化するためにタイムスタンプ証明書と関連する部門にコンタクトする。この結果タイムスタンプと保存されたデータが有効化される。
【０００９】
一つの実施例では、データストレージシステムに信頼性のあるタイムスタンプ機能を付与する方法が提供される。その方法は、データストレージシステムに保存されているデータを決定し、データをハッシュしてハッシュ値を生成し、ハッシュ値とタイムスタンプ要求をタイムスタンプ機構へ送信し、タイムスタンプとハッシュ値を備えるタイムスタンプトークンをタイムスタンプ機構から受信し、タイムスタンプとハッシュ値がデータストレージシステム内の決定されたデータに対して信頼性のあるタイムスタンプ機能を提供するタイムスタンプトークンをデータストレージシステムに保存することから成っている。
【００１０】
他の実施例では、信頼性のあるタイムスタンプ機能を提供するストレージシステムが提供されている。システムは、データを保存するストレージ装置、ストレージ装置内のデータを決定するデータ決定部、決定されたデータをハッシュしてハッシュ値を生成するハッシュ部、ハッシュ値とタイムスタンプ要求をタイムスタンプ機構へ送付するように構成されたタイムスタンプ要求部、タイムスタンプ機構からタイムスタンプトークンを受信するように構成された受信部を備えており、タイムスタンプトークンはタイムスタンプとハッシュ値を備えており、ストレージ装置はデータストレージシステム内の決定されたデータに対する信頼性のあるタイムスタンプを付与するタイムスタンプトークンを保存するように構成される。
【００１１】
さらに他の実施例では、データストレージシステムに保存されたデータに対して生成されたタイムスタンプを認証する方法が提供される。この方法は、タイムスタンプ機構から受信したタイムスタンプトークンの認証の要求を受信し、データストレージシステムに保存されたタイムスタンプトークンにアクセスし、タイムスタンプトークンを認証し、タイムスタンプトークンに関連するハッシュ値を決定し、前記タイムスタンプトークンを用いてタイムスタンプが付与され、データストレージシステムに保存されたデータにアクセスし、第二のハッシュ値を生成するためにデータをハッシュし、タイムスタンプトークンに含まれるハッシュ値と第二のハッシュ値を比較し、この比較に基づいてデータを認証し、そしてタイムスタンプトークンとデータが認証されると、タイムスタンプが認証されることを備えている。
【００１２】
さらに他の実施例では、データストレージシステムへのコマンドに信頼性のあるタイムスタンプ機能を付与する方法が提供される。この方法は、データストレージシステムで実行されるコマンドを決定し、コマンドの情報をハッシュしてハッシュ値を生成し、ハッシュ値とタイムスタンプの要求をタイムスタンプ機構へ送信し、タイムスタンプとハッシュ値とを備えるタイムスタンプトークンをタイムスタンプ機構から受信し、およびタイムスタンプトークンをデータストレージシステムに保存することを備え、前記タイムスタンプとハッシュ値はデータストレージシステムのコマンドに対して信頼性のあるタイムスタンプ機構を提供する。
【００１３】
他の実施例では、ストレージシステムで実行されるコマンドに対して信頼性のあるタイムスタンプ機能を付与するストレージシステムが提供される。本システムは、ストレージ装置で実行されるコマンドを決定するように構成されるコマンド決定部、コマンドの情報をハッシュしてハッシュ値を生成するように構成されるハッシュ部、ハッシュ値とタイムスタンプ要求をタイムスタンプ機構へ送付するように構成されるタイムスタンプ要求部、タイムスタンプ機構からタイムスタンプとハッシュ値を備えるタイムスタンプトークンを受信するように構成される受信部を備え、ストレージ装置はデータストレージシステムのコマンドに対して信頼性のあるタイムスタンプ機能を付与するタイムスタンプトークンを保存するように構成される。
【００１４】
他の実施例では、データストレージシステムで実行されるコマンドに対して生成されるタイムスタンプを認証する方法が提供される。本方法は、タイムスタンプ機構から受信したタイムスタンプトークンを認証する要求を受信し、データストレージシステムに保存されているタイムスタンプトークンにアクセスし、タイムスタンプトークンを認証し、タイムスタンプトークンに含まれるハッシュ値を決定し、タイムスタンプトークンを使用してタイムスタンプを付与され、データストレージシステムに保存されたコマンドの情報にアクセスし、コマンドの情報をハッシュして第二のハッシュ値を生成し、タイムスタンプトークンに含まれるハッシュ値と第二のハッシュ値を比較し、本比較に基づいてコマンドの情報を認証し、タイムスタンプトークンとデータが認証されるとタイムスタンプを認証することを備えている。
【００１５】
他の実施例では、ストレージシステムで実行されるコマンドに対して信頼性のあるタイムスタンプ機能を提供するストレージシステムが提供される。本システムは、ストレージ装置で実行されるコマンドを決定するように構成されるコマンド決定部、コマンドの情報をハッシュしてハッシュ値を生成するように構成されるハッシュ部、ハッシュ値とタイムスタンプの要求をタイムスタンプ機構へ送るように構成されるタイムスタンプ要求部、タイムスタンプとハッシュ値を含むタイムスタンプトークンをタイムスタンプ機構から受信するように構成される受信部を備え、ストレージ装置は、信頼性のあるタイムスタンプ機能をデータストレージシステムのコマンドに付与するタイムスタンプトークンを保存するように構成される。
【００１６】
ここに開示する本発明の本質と利点は明細書の残る部分と添付される図面によりさらに理解することができる。
【発明を実施するための最良の形態】
【００１７】
図１は本発明の一実施例による信頼性のあるタイムスタンプ機能を提供するストレージシステムを含むシステム２０００を示す。システム２０００は、ストレージシステム１、ホスト２０、管理システム３０、タイムスタンプ機構（ＴＳＡ）５０、計時機構（ＴＡ）６０、および認証機構（ＣＡ）７０を含んでいる。システム２０００は、本分野で公知の他の要素を備えても良い。例えば、ストレージシステム１はコントローラ（図示せず）、他のストレージ装置、内部ネットワークにより互いに接続されたキャッシュメモリなどを備えても良い。また、システム２０００の各構成要素は何台備えていても良い。例えば、複数のストレージシステム１を備えても良い。
【００１８】
装置２はＲＡＩＤ（ｒｅｄｕｎｄａｎｔ ａｒｒａｙ ｏｆ ｉｎｄｅｐｅｎｄｅｎｔ ｄｅｖｉｃｅｓ）などのデータを保存するストレージ装置であればどのようなものでも良い。更に、装置２は、システム１内のメタデータを保存するライブラリとして構成され得るテープ、コンパクトディスク（ＣＤ）、およびＤＶＤ（ｄｉｇｉｔａｌ ｖｅｒｓａｔｉｌｅ ｄｉｓｋｓ）を備えている。
【００１９】
ホスト２０はストレージシステム１に入出力（Ｉ／Ｏ）コマンド２２を送信するように構成される演算システムであればどのようなものでも良い。本分野に習熟した人には、ホスト２０からストレージシステム１に送信できるコマンドが認識される。例えばコマンド２２には、データ書き込み、データ読み出し、データ削除、データバックアップなどがある。
【００２０】
Ｉ／Ｏコマンド２２をネットワーク２１を介して送っても良い。ネットワーク２１の例としてはファイバチャネルベースのＳＡＮ（ｓｔｏｒａｇｅ ａｒｅａ ｎｅｔｗｏｒｋ）、ＦＩＣＯＮおよびＥＳＣＯＮプロトコル、ＬＡＮ（ｌｏｃａｌ ａｒｅａ ｎｅｔｗｏｒｋ）あるいはＮＦＳ（ｎｅｔｗｏｒｋ ｆｉｌｅ ｓｙｓｔｅｍ）ベースのＮＡＳ（ｎｅｔｗｏｒｋ ａｔｔａｃｈｅｄ ｓｔｏｒａｇｅ）、ＣＩＦＳ（ｃｏｍｍｏｎ Ｉｎｔｅｒｎｅｔ ｆｉｌｅ ｓｙｓｔｅｍ）および他の任意のファイルサーバプロトコルを含むＷＡＮ（ｗｉｄｅ ａｒｅａ ｎｅｔｗｏｒｋ）などのＩＰネットワーク、ｉＳＣＳＩベースのＩＰＳＡＮ、ＳＣＳＩ（ｓｍａｌｌ ｃｏｍｐｕｔｅｒ ｓｙｓｔｅｍ ｉｎｔｅｒｆａｃｅ）ベースの直接接続ネットワークなどがある。図には１台のホスト２０のみ示されているが、ストレージシステム１に対して何台でもホスト２０を接続できることは理解されるところである。
【００２１】
管理システム３０は、ストレージシステム１を管理しユーザに管理機能を提供するように構成される。インタフェースが備えられ、これによりユーザが実行する管理コマンドを指定することができる。管理コマンドの例として、データにタイムスタンプを付与することの要求、タイムスタンプを認証することの要求などがある。管理コマンド３２は管理システム３０からネットワーク３１を介してストレージシステム１に送ることができる。ネットワーク３１はＳＡＮ，ＩＰ（ｉｎｔｅｒｎｅｔ ｐｒｏｔｏｃｏｌ）ネットワーク、シリアルネットワーク、固有ネットワークなどどのようなネットワークでも良い。
【００２２】
ストレージシステム１はデータ取得部１０、ハッシュコンポーネント１００、タイムスタンプ要求部２００、認証部５００、メタデータ表４００、および証明書確認部６００を備えている。一実施例ではこれらの構成要素は演算装置あるいはプロセッサで実行されるマイクロコードに組み込むことができる。マイクロコードはコンピュータで読み取り可能な媒体に記録することができる。
【００２３】
データ取得部１０はタイムスタンプを付与されるデータを指定する。データはどのような種類のデータでも良い。例として、ブロック内のデータ、装置、ファイル、オブジェクト内のデータなどがある。データ取得部１０はストレージ管理システム３０からの管理コマンド３２、あるいはホスト２０からのＩ／Ｏコマンド２２に応じてデータを指定する。装置２に保存された任意のデータ３に対してタイムスタンプを付与することができる。タイムスタンプを付与するデータが指定されると、これにより装置２内の記憶領域が指示される。例えば、連続している物理的あるいは論理的なスペースが指定される。このスペースはエクステントと呼ばれることもあり、メタデータの中で管理される。このスペースすなわちエクステントにあるデータには他の装置あるいは領域にコピーすることなくタイムスタンプを付与することができる。あるいは、指定されたデータがいくつかのスペースに断片化していた場合、ストレージシステム１はデータを一つの連続したスペース（すなわち新しいエクステント）に移動するかコピーする。ストレージシステムに保存されたデータに対してタイムスタンプが要求されているので、ストレージシステム１は信頼性のあるタイムスタンプ機能を提供できるモジュールを備えている。
【００２４】
一実施例では、データは不変性を有することができ、この場合データを変更したり消去することは不可能である。これはデータが変更あるいは消去されることがない場合のみタイムスタンプが有効となるためである。データの例としては、ある特定の時点でのミラーデータ、スナップショットデータ、ホスト２０が上書きまたは消去できないＷＯＲＭ形式で保護されたデータなどがある。
【００２５】
データ取得部１０はタイムスタンプを付与されるデータをハッシュコンポーネント１００に送る。ハッシュコンポーネント１００はデータ取得部１０から受信したデータをハッシュするように構成されている。ハッシュコンポーネント１００はデータをハッシュしてハッシュ値を生成する。一実施例では、一方向函数、メッセージ要約函数、一方向メッセージ要約函数、トラップドア函数など任意のハッシュアルゴリズムを用いてハッシュ値を生成できる。アルゴリズムの例として、ＭＤ５（Ｍｅｓｓａｇｅ Ｄｉｇｅｓｔ ５）およびＳＨＡ−１（Ｓｅｃｕｒｅ Ｈａｓｈ Ａｌｇｏｒｉｔｈｍ １）がある。また、Ｋｅｙｅｄ ＭＤ５などの鍵付ハッシュアルゴリズムも使用することができる。この場合、システム１は鍵がなければハッシュを計算できないので、より高い完全性を達成することができる。本技術に通じた人には、データをハッシュしてハッシュ値を生成するのに使用できる他の方法が認識される。
【００２６】
タイムスタンプ要求部２００は生成されたハッシュ値をハッシュコンポーネント１００から受信し、タイムスタンプ要求とハッシュ値をＴＳＡ５０に送信するように構成される。要求は任意のネットワーク４１を介して送信することができる。例えば、ネットワーク４１としてインタネットあるいはＷＡＮを使うことができる。
【００２７】
ＴＳＡ５０はタイムスタンプ機能サービスを提供するように構成される。一実施例では、ＴＳＡ５０はタイムスタンプ機能サービスを自動的に提供できるコンピュータシステムとして実現されている。本技術に通じた人には、ＴＳＡ５０の多くの形式が認識される。一実施例では、ＴＳＡ５０はタイムスタンプ要求を受信しタイムスタンプトークン（ＴＳＴ）とＴＳＡ証明書（ＴＳＡ−Ｃ５２）をタイムスタンプ要求部２００に提供する。
【００２８】
ＴＳＡ５０は公式な時刻５１を計時機構（ＴＡ）６０から受信する。ＴＡ６０は時刻情報を生成するどのような存在でも良い。例えば、ＴＡ６０には国の国家計時機構、Ｎａｔｉｏｎａｌ Ｉｎｓｔｉｔｕｔｅ ｏｆ Ｓｔａｎｄａｒｄｓ ａｎｄ Ｔｅｃｈｎｏｌｏｇｙ、日本の通信総合研究所などがある。ＴＡ６０から受信した時刻５１をネットワークを通して時刻を送るのに要する時間を考慮して、ネットワーク時間プロトコル（ＮＴＰ）によって調整しても良い。
【００２９】
ＴＳＡ５０はまたさらなる認証を提供するタイムスタンプ機構の証明書（ＴＳＡ−Ｃ）５２を取得する。認証機構（ＣＡ）７０はＴＳＡ−Ｃ５２をＴＳＡ５０に提供することができる。例えば、ＣＡ７０は符号化用あるいはディジタル署名用の秘密鍵あるいは署名鍵、および復号用の公開鍵を提供することができる。ＴＳＡ５０はＴＳＡ−Ｃ５２をタイムスタンプと共に、第三者認証として要求元に送信する。ＴＳＡ−Ｃ５２はそれに伴う有効期間を有する場合がある。例えば、ＴＳＡ−５２はある時間の後に失効するようにできる。この場合、ＴＳＡ−Ｃ５２と関連するタイムスタンプはＣＡ７０により再認証されねばならない。
【００３０】
タイムスタンプ生成部３００はタイムスタンプ要求部２００の要求に応じて信頼性のあるタイムスタンプトークンを生成するように構成される。一実施例では、タイムスタンプ生成部３００はタイムスタンプ要求とハッシュ値を受信する。次にタイムスタンプ生成部３００は時刻５１とＴＳＡ−Ｃ５２を取得する。次にタイムスタンプトークンがタイムスタンプ生成部３００により時刻５１とハッシュ値を用いて生成される。一実施例では、証明書５２により認証された署名鍵を用いてハッシュ値と時刻５１にディジタル署名することにより、タイムスタンプトークンを生成することができる。次にタイムスタンプトークンとＴＳＡ−Ｃ５２を要求元に返送しても良い。本技術に通じた人には、タイムスタンプトークンを生成する他の方法が認識されることは理解されるところである。
【００３１】
タイムスタンプトークンが認証され信用されるためにはＣＡ７０、ＴＡ６０、およびＴＳＡ５０がユーザに十分信用される存在でなければならないことに注意が必要である。さらに、時刻５１と証明書５２もまた信用されるものでなければならない。ＣＡ７０，ＴＡ６０，ＴＳＡ５０を別々のものとして示しているが、これらの存在の機能を他の存在が実行すること、あるいは一つの存在に統合することができることは理解されるところである。また、システム２０００に何台のＣＡ７０、ＴＡ６０およびＴＳＡ５０が存在しても良い。
【００３２】
タイムスタンプ要求元２００はＴＳＴとＴＳＡ−Ｃ５２を受信し装置２に保存する。ＴＳＴに保存された時刻５１はタイムスタンプと考えることができる。時刻５１はタイムスタンプを付与されたデータが生成および／あるいは修正された時刻を示す。ＴＳＴとＴＳＡ−Ｃ５２はメタデータとして表４００に保存しても良い。表４００はタイムスタンプを付与されたデータの照会情報と共にＴＳＴとＴＳＡ−Ｃ５２を有している。照会情報の例として、タイムスタンプが要求されたデータのアドレスとサイズを保存しても良い。タイムスタンプおよびそれと関連するデータを保存する代わりにデータの照会情報を保存することの利点は、ホスト２０あるいは管理システム３０がメタデータを使用してデータに正常にアクセスするための照会情報を判定できることである。従って、タイムスタンプを認証する要求を受信すると、表４００が容易にアクセスされ、ＴＳＴおよびＴＳＡ−Ｃ５２に加えてデータへの照会情報が割り出される。他の実施例では、ＴＳＴとＴＳＡ−Ｃ５２はデータと共に保存される。例えば、メタデータを、タイムスタンプを要求したデータに付随させても良い。いずれの場合も、ＴＳＴとＴＳＡ−Ｃ５２はデータを保存する装置２に保存される。
【００３３】
図２は本発明の一実施例によるメタデータ表４００の例を示す。列４１１は表４００への各エントリーを識別する識別子を有している。各識別子はＴＳＡ５０から受信するＴＳＴとＴＳＡ−Ｃ５２と関連付けられている。例えば、列４１２はＴＳＴのデータを含み、列４１３はＴＳＡ−Ｃ５２のデータを含んでいる。表４００のデータは文字列、記号、あるいはＴＳＴとＴＳＡ−Ｃ５２を示す他のパラメータを含むことができる。
【００３４】
列４１４では、タイムスタンプを要求したデータの照会情報が保存される。照会情報にはデータのアドレスとサイズを含むことができ、論理デバイス番号、論理デバイスのブロック番号、ファイル名称などの様々な形をとることができる。
【００３５】
行４２１に示すように、ストレージシステム１の照会情報が“ＣＣＣ”であるデータはＴＳＴ“ＡＡＡ”でタイムスタンプを付与され、ＴＳＡ−Ｃ５２“ＢＢＢ”で認証されている。さらに行４２２には、ストレージシステム１の照会情報“ＹＹＹ”にあるデータはＴＳＴ“ＷＷＷ”でタイムスタンプが付与され、ＴＳＡ−Ｃ５２“ＸＸＸ”で認証されている。図示するように、ＴＳＴとＴＳＡ−Ｃ５２はタイムスタンプを付与されたデータと一体化されておらず、データへの照会情報と関連付けられている。他の実施例では、ＴＳＴとＴＳＡ−Ｃ５２を照会情報“ＣＣＣ”および“ＹＹＹ”にあるデータとともに保存することが出来る。
【００３６】
一実施例では、ＴＳＴとＴＳＡ−Ｃ５２は保護されていない通常の装置でなくＲＡＩＤアーキテクチャで保護された装置に保存されているので、高信頼度の信用があるタイムスタンプ機能がＲＡＩＤ装置に備えられている。また、メタデータをデータそのものと同じＲＡＩＤで管理するのは好都合である。
【００３７】
ある点でタイムスタンプの認証が求められる。認証部５００はデータと関連付けられたタイムスタンプを認証するように構成される。特定のデータに対してタイムスタンプ認証要求を受信すると、データと同じくＴＳＴ、ＴＳＡ−Ｃ５２をアクセスする。一実施例では、ＴＳＴとＴＳＡ−Ｃ５２は表４００のＩＤ４１１または照会情報４１４を通してアクセスされる。他の実施例では、ＴＳＴとＴＳＡ−Ｃ５２はデータに付加していてデータがアクセスされるとこれらもアクセスされる。
【００３８】
ＴＳＴを最初に認証しても良い。一実施例では、認証部５００はインタネットなどのネットワーク４０１を介して認証機構７０と通信することができる。認証部はＴＳＡ−Ｃ５２を用いてＴＳＡ５０とＴＳＴを認証する。例えば、認証部５００はＴＳＡ−Ｃ５２を認証するためＣＡ７０に送信して、ＴＳＡ−Ｃ５２に対応する公開鍵をＣＡ７０から受信する。次に鍵はＴＳＴを開けるすなわち復号するために使われる（例えば、ＴＳＴのディジタル署名が復号される）。ＴＳＴが明けられる、すなわち復号されると、ＴＳＴ内に存在するタイムスタンプはＣＡ７０により認証される。ＣＡ７０はストレージシステム１とは別の組織であり、ＴＳＡ５０以外は何もＴＳＴの内容、すなわちタイムスタンプ、を変更することができないので、タイムスタンプが信用されるものになる。タイムスタンプを認証するのにＣＡ７０のような第三者を利用する利点は、生成されたタイムスタンプを一般が信用できるという点にある。また、第三者は、信頼度のために公的機構あるいは政府機構としても良い。
【００３９】
ＴＳＴがＣＡ７０で認証されると、タイムスタンプを付与されたデータが次に認証され、データはタイムスタンプを付与された時点と同じであると決定することができる。データを認証するにあたり、ＴＳＴに関連付けられたデータが照会情報を用いてアクセスされる。アクセスされたデータはハッシュされ第二のハッシュ値が生成される。第二のハッシュ値はＴＳＴに含まれるハッシュ値と比較される。この比較に基づいて、認証部５００はデータを認証するか否かを決定する。例えば、第二のハッシュ値がＴＳＴ内のハッシュ値と一致する場合、認証部５００はタイムスタンプを認証する。ハッシュ値を比較することにより、認証部５００はＴＳＴに関連付けられたデータがタイムスタンプが生成された以後、修正あるいは変更を受けていないことを認証する。値が異なっていたら、認証部５００はタイムスタンプを認証しない。
【００４０】
ＴＳＴとデータが認証されたら、次にタイムスタンプが認証される。このようにして、タイムスタンプの付与されたデータに加えてタイムスタンプも認証される。
【００４１】
上記の認証の実行に加えて、証明書確認部６００はＴＳＡ−５２を定期的にチェックし、ＴＳＡ−Ｃ５２が失効していないかを判定しても良い。例えば、内部タイマ５はＴＳＡ−Ｃ５２内にある失効時期をチェックし、失効時期が過ぎているかを判定するのに用いることができる。ＴＳＡ−Ｃ５２が失効していたら、証明書確認部６００は、ＴＳＴに再度信用があるタイムスタンプ付与の処理をさせるために、ＴＳＴをハッシュコンポーネント１００に送付することができる。このとき、ＴＳＴに対し新しいＴＳＡ−Ｃ５２が生成される。このプロセスは以下により詳細に記述する。
【００４２】
図３は本発明の一実施例による信用があるタイムスタンプ機能を提供する方法の簡単化したフローチャート３１０を示す。ステップ３１１では、タイムスタンプを付与するデータを指定する要求をホスト２０または管理システム３０から受信する。データ取得部１０はタイムスタンプを付与するデータにアクセスする。一実施例では、本データは不変性を有している。
【００４３】
ステップ３１２では、ハッシュコンポーネント１００がデータをハッシュする。使用される可能性のあるハッシュアルゴリズムの例にはｓｅｃｕｒｅ ｈａｓｈ ａｌｇｏｒｉｔｈｍ １（ＳＨＡ−１）、ｍｅｓｓａｇｅ ｄｉｇｅｓｔ ５（ＭＤ５）、などがある。
【００４４】
ステップ３１３では、ストレージシステム１が生成されたハッシュ値をタイムスタンプ要求とともにＴＳＡ５０に送信する。ストレージシステム１とＴＳＡ５０の間で使用される通信プロトコルはＲＦＣ３１６１にあるような標準に即して実現される。ステップ３２１では、ＴＳＡ５０が要求を受信する。
ステップ３２２で、時刻５１がＴＳＡ５０により取得される。時刻５１はＴＡ６０と通信して時刻を要求することにより取得される。またＴＡ６０から定期的に送られる時刻を使うことも可能である。
【００４５】
ステップ３２３で、ＴＳＡ５０はディジタル署名を行うために署名鍵すなわち秘密鍵を用意する。一実施例では、署名鍵はＴＳＡ５０に固有のものでＣＡ７０などの第三者により承認されたものである。ディジタル署名を使用する方法は公知であり、公開鍵インフラ（ＰＫＩ）技術を使用することが出来る。本実施例では、ＳｉｇＴＳＡが使用されるＴＳＡ５０の署名鍵を示す。ＲＳＡ（Ｒｉｖｅｒ Ｓｈａｍｉｒ Ａｄｌｅｍａｎ），ＤＳＡ（Ｄｉｇｉｔａｌ Ｓｉｇｎａｔｕｒｅ Ａｌｇｏｒｉｔｈｍ）、ＥＣＤＳＡ（Ｅｌｌｉｐｔｉｃ Ｃｕｒｖｅ Ｄｉｇｉｔａｌ Ｓｉｇｎａｔｕｒｅ Ａｌｇｏｒｉｔｈｍ）などの非対称鍵暗号方式すなわち符号化方法を使用することが出来る。これらの符号化法をディジタル署名アルゴリズムのハッシュ法とともに使用しても良い。これらの技術の例としては、ＲＳＡ符号化を用いるＳＨＡ−１ハッシュ、ＲＳＡ符号化を用いるＭＤ５ハッシュ、ＤＳＡ符号化を用いるＳＨＡ−１ハッシュ、ＥＣＤＳＡ符号化を用いるＳＨＡ−１ハッシュなどがある。署名鍵を用意するに当たり、ＴＳＡ５０は署名鍵を承認するＣＡ７０から証明書（ＴＳＡ−Ｃ５２）を受信する。
【００４６】
ステップ３２４で、ハッシュ値とステップ３２２で取得した時刻を含むＴＳＴが生成される。一実施例では、ディジタル署名はハッシュ値と時刻に署名するのに使用される。例えば、ハッシュ値と時刻はディジタル署名と関連付けられた秘密鍵を用いて符号化される。符号化の結果はＴＳＴと呼ばれる。ＴＳＴは秘密鍵で符号化されているので、その公開鍵がないと復号することができない。この公開鍵はＣＡ７０により認証されている。つまりＴＳＴの時刻は変更不可能である。
【００４７】
ステップ３２５で、ＴＳＴとＴＳＡ−Ｃ５２はストレージシステム１へ送付される。ストレージシステム１はＴＳＴとＴＳＡ−Ｃ５２をステップ３１４で受信する。ＴＳＡ５０とストレージシステム１の間の通信はＲＦＣ３１６１にあるような標準化されたプロトコルを用いて実行される。一実施例では、ＴＳＡ−Ｃ５２はＴＳＴに組み込まれているが、そうでなければならないわけではない。
【００４８】
ステップ３１５では、ストレージシステム１はＴＳＴ、ＴＳＡ−Ｃ５２を、表４００でタイムスタンプを付与されたデータの照会情報とともに保存する。一実施例では、ＴＳＴ、ＴＳＡ−Ｃ５２および照会情報はメタデータ表４００に保存される。ＴＳＴ、ＴＳＡ−Ｃ５２および照会情報をストレージ装置２に保存してＲＡＩＤアーキテクチャで保護しても良く、これによりデータ信頼度と可用性が保証される。
【００４９】
図４は、本発明の実施例によるタイムスタンプを認証する方法の簡単化したフローチャート５０９を示す。管理システム３０を使用するユーザから管理コマンド３２を用いて認証要求が受信される。一実施例では、管理システム３０がユーザインタフェースを提供してタイムスタンプを付与されたデータのリストを表示する。データの属性を示す全ての情報もまた表示される。例えば、表示されるデータには名前、簡単な記述などを含んでも良い。次にユーザはタイムスタンプを認証するためそのエントリーを選択すれば良い。
【００５０】
ステップ５１０で、認証部５００はタイムスタンプ認証要求を受信し表４００の指定されたエントリーにアクセスする。管理システム３０からの管理コマンド３２によりエントリーを指定しても良い。他の実施例では、表４００のＩＤ４１１を示す要求によりエントリーを求めることができる。
【００５１】
ステップ５１１で、指定されたエントリーに対するＴＳＴ、ＴＳＡ−Ｃ５２およびデータ照会情報が受信される。一実施例では、装置２から情報が回収される。他の実施例では、ＴＳＴ、ＴＳＡ−Ｃ５２がデータに付属していた場合、データへの照会情報を使用してデータをＴＳＴ、ＴＳＡ−Ｃ５２とともにアクセスする。照会情報は表４００に保存されたメタデータを使用して決定され、または管理コマンド３２により特定されることができる。
【００５２】
ステップ５１２で、認証部５００が情報を認証する。例えば、認証部５００はＴＳＡ５０とＴＳＴをＴＳＡ−Ｃ５２を用いて認証する。認証部５００はＣＡ７０と通信してＴＳＡ−Ｃ５２を認証し結果としてＴＳＡ５０を認証する。例えば、ＴＳＡ−Ｃ５２をＣＡ７０に送り、ＣＡ７０で生成されているオリジナルのＴＳＡ５０の証明書と比較し、認証することができる。他の実施例では、オリジナルのＴＳＡ５０の証明書をＣＡ７０から受信し、ＴＳＡ−Ｃ５２と比較し、そして認証することができる。一実施例では、認証部５００はＣＡ７０と通信しＴＳＡ５０に関連付けられた公開鍵を受信する。公開鍵を次に使用してＴＳＡ５０の秘密鍵で符号化されたＴＳＴを復号すなわち開ける。ＣＡ７０はＴＳＡ５０を認証するように設定された第三者機関なので、公開鍵自体が信用されると期待できる。
【００５３】
ＴＳＡ５０が認証されると、プロセスはステップ５１３に進む。認証されない場合は、コンポーネント５００はデータが有効ではないと決定しプロセスを終了する（ステップ５２１）。
【００５４】
ステップ５１３で、認証部５００は受信した公開鍵を使用してＴＳＴを復号する。ＴＳＴがＴＳＡ５０により正しく符合化されていれば、ＴＳＴは復号され、タイムスタンプを付与されたときのデータのハッシュ値および時刻５１自体が決定される。ＴＳＴが復号できなければ、ステップ５２１でデータは認証できなかったと決定される。復号されたＴＳＴから抽出されたハッシュ値は“Ｈ１”と指定される。
【００５５】
ステップ５１４で、認証部５００は照会情報が指定するデータをアクセスする。このデータがタイムスタンプを付与されていると想定されるデータである。一実施例では、データ自体がアクセスされＴＳＴとは一体化されていない。
【００５６】
ステップ５１５で、アクセスされたデータはハッシュ化されハッシュ値“Ｈ２”が生成される。
【００５７】
ステップ５１６で、認証部５００はＨ１とＨ２の値を比較する。Ｈ１とＨ２が一致すれば認証部はデータが認証されたと決定し、ステップ５１７でＴＳＴから復号されたタイムスタンプを管理システム３０に返す。Ｈ１とＨ２が一致しなければ、ステップ５２１でデータとそれにともなうタイムスタンプも認証されないと決定される。
【００５８】
従って、認証部５００はＴＳＡ−Ｃ５２を用いてデータを認証するのに加えＴＳＴを認証する。従って、２段階の認証がストレージシステム１により行われる。認証されたタイムスタンプを提供するＴＳＡ５０だけでなく、データもまた認証される。従って、タイムスタンプ自体が信用されるものとなる。また、タイムスタンプが生成されてからデータが変更されていないことも信用される。
【００５９】
図５に本発明の一実施例によるＴＳＡ−Ｃ５２を認証するプロセスの簡単化したフローチャート６１０を示す。一実施例では、ＴＳＡ−Ｃ５２はＴＳＡ−Ｃ５２が有効であるとされる期間と関連付けられている。この期間は公開鍵の想定される強さによって変わる。例えば、公開鍵が攻撃の影響をうけやすい場合、有効期間は短い。認証期間が過ぎると、ＴＳＡ−Ｃ５２自体はＴＳＡ５０を認証する効力がなくなり、したがって、無効となる。例えば、１０２４ビットのＲＳＡ公開鍵に対するＴＳＡ−Ｃ５２の認証期間は通常5年に、２０４８ビットの公開鍵では１０年に設定される。
【００６０】
ステップ６１１で、証明書確認部６００が現在の時刻を決定する。例えば、ストレージシステム１内蔵のタイマ５を使用しても良い。また、外部タイマを使用しても良い。例えば、正確なタイミングを決定するため、タイマ５はＴＡ６０と通信し、定期的に公式の時刻を取得しても良い。
【００６１】
ステップ６１２で、証明書確認部６００がＴＳＡ−Ｃ５２の認証期間を確認する。一実施例では、ＴＳＡ−Ｃ５２は認証の開始日時と認証期間を有している。現在の日付と時刻を開始日時から差し引き経過時間を決定することができる。経過時間が認証期間より長ければ期間が過ぎたと決定される。期間が過ぎていなければ、ＴＳＡ−Ｃ５２は有効であると判定されプロセスは終了する。
【００６２】
ＴＳＡ−Ｃ５２が失効していた場合、ステップ６２０で、ＴＳＴ自体で信用があるタイムスタンプの付与が行われる。
【００６３】
図６は本発明の一実施例による信用があるタイムスタンプ機能が付与されたＴＳＴの例を示す。ＴＳＴ７０４はデータ７０１のハッシュ値７０２を含んでいる。さらに、タイムスタンプ７０３もまたＴＳＴ７０４に含まれている。ＴＳＴ７０４はまたＴＳＡ−Ｃ５２と関連付けられている。ここではＴＳＡ−Ｃ５２は失効している。
【００６４】
ＴＳＡ−Ｃ５２は失効しているので、信用があるタイムスタンプ機能の処理はＴＳＴ７０４により行われる。ＴＳＴ７０４のハッシュが取られ、ＴＳＴ７０４のハッシュ値７１２が生成される。さらに新しい時刻７１３をＴＡ６０から受信する。署名鍵を使用してハッシュ値７１２と時刻７１３を符号化してＴＳＴ７１４を生成することができる。このプロセスは最初のＴＳＴ生成に関して上記で記述したプロセスと同様で良い。
【００６５】
次にＴＳＴ７１４は新しいＴＳＡ−Ｃ７１５を用いて認証される。従って、ＴＳＴ７０４と失効したＴＳＡ−Ｃ５２は追加の時刻７１３にて新しい失効していないＴＳＡ−Ｃ７１５を用いて認証される。なお新しいＴＳＴ７１４はオリジナルのＴＳＴ７０４のハッシュ７１２を含んでいる。
【００６６】
図５に戻ると、新しいＴＳＡ−Ｃ５２とＴＳＴ７１４を生成する方法が記述されている。ステップ６２１では、ＴＳＴ７０４がハッシュされる。本プロセスは図３のステップ３１２で述べられたのと同様で良い。
【００６７】
ステップ６２２では、タイムスタンプがタイムスタンプ要求部から要求される。次にＴＳＡ５０は信用があるタイムスタンプを生成する。本プロセスは図３で述べられたステップ３１３、３２１、３２２、３２３、３２４、３２５および３１４と同様で良い。
【００６８】
ステップ６２３で、表４００のエントリーは新しいＴＳＴ７１４と新しいＴＳＡ−Ｃ５２に置き換えられる。これはＴＳＴ７１４とＴＳＡ−Ｃ５２がオリジナルなデータへの照会情報とともに表４００に保存されることを意味する。他の実施例では、ＴＳＴ７１４とＴＳＡ−Ｃ５２をタイムスタンプを付与されるデータとともに保存することができる。
【００６９】
図４に示す上記のプロセスはＴＳＡ−Ｃ５２の失効回数に応じて何回でも実行することができることに注意しておく必要がある。再認証回数は新しいＴＳＴおよびＴＳＡ−Ｃ５２とともに保存され、認証部５００は、オリジナルのタイムスタンプを決定するためにＴＳＴが何回認証され復号される必要があるかを判断するためにその回数を用いることができる。図４では、回数が決定され、ステップ５１１から５１６はこの回数に応じて実行される。エントリーに対する認証要求が受信されると、上記図４に記述したＴＳＴを認証するプロセスが実行される。しかしながらプロセスはデータ７０１とデータ７０３を決定するため２回実行されることになる。
【００７０】
図７は本発明の一実施例による信用があるタイムスタンプ機能を提供するストレージシステムを備えたシステム３０００を示す。一実施例では、システム３０００は特定の入出力コマンドに対してタイムスタンプ機能を付与する。例えば、ホスト２０から受信する入出力コマンド２２に対してタイムスタンプが生成される。タイムスタンプは、特定のＩ／Ｏコマンドが特定の時刻に実行されたことを承認もしくは公認するために使うことができる。
【００７１】
図７に示すコンポーネントは図１から６に関して記述したものと同様の機能を実行する。しかしながら、この場合、Ｉ／Ｏコマンド２２は信用があるタイムスタンプ機能を提供するために処理される。コマンド取得部９００はデータ取得部１０と同様の機能を実行するが、タイムスタンプを付与されるコマンドを受信しハッシュコンポーネント１００に送信するように構成される。例えば、コマンド取得部９００はＳＣＳＩコマンドあるいは他の任意のＩ／Ｏコマンド２２を受信することができる。図８にＩ／Ｏコマンド２２の例を示す。
【００７２】
前述のように、図８はコマンドデスクリプタブロック（ＣＤＢ）とも呼ばれる１０バイトのＳＣＳＩコマンド記述を示している。ＣＤＢを示しているが、処理されるコマンドはどのような種類のデータも含むことができることは理解されるところである。列８１０はブロック内のバイト順を示しており、行８２０は各バイト内のビット順を示す。オペレーションコード８２１は特定のコマンドを示すコードを含んでいる。論理ユニット番号（ＬＵＮ）８２２はストレージシステム１内の論理ボリューム（デバイス）を示す。ＳＣＳＩインタフェースにて論理ボリュームを示す方法は他にもあることは容易に理解されるところである。論理ブロックアドレス８２３は、論理ボリューム内にあって、コマンドがアクセスすると想定されるブロックを示す。データ長８２４はコマンドが処理するべきデータの長さを示す。入出力コマンドは他の形式をとることもできることが理解される。
【００７３】
図７の参照に戻って、コマンド取得部９００は、どのＣＤＢにタイムスタンプを付与するかを決定するルールを使用して個々のＣＤＢを選別するように構成されている。例えば、ストレージ装置が使用開始するときに、“フォーマット”関連Ｉ／Ｏコマンド２２、特定の論理ボリュームに対するＩ／Ｏコマンド２２などと分かるＩ／Ｏコマンド２２にタイムスタンプを付与すると決定するのにこのルールを用いることができる。ある種の論理ボリュームは高度にプロテクトされた領域であり、ここに影響を及ぼすＩ／Ｏコマンド２２には実行された時刻を示すタイムスタンプを付与するべきであるので、論理ボリュームにはタイムスタンプを付与するべきである。さらに、他のストレージ領域で、その領域に影響を及ぼすＩ／Ｏコマンド２２にはタイムスタンプを付与すると決定しておくこともできる。また、コマンド取得部９００が全てのＩ／Ｏコマンド２２に対してタイムスタンプを付与するように設定することもできる。しかしながら、これはコスト効率を下げ、ストレージシステム１の性能に影響する可能性がある。しかし、全てのＩ／Ｏコマンド２２が信用される状態でタイムスタンプが付与されているならば、ストレージシステム１のデータもより信用されるものになる。
【００７４】
図９は、本発明の一実施例による、Ｉ／Ｏコマンド２２に対して信用があるタイムスタンプ機能を付与する方法９００を示す。ステップ９０１で、コマンド取得部９００はＩ／Ｏコマンド２２のＣＤＢを決定する。一実施例ではコマンド取得部９００は全てのＩ／Ｏコマンド２２の全てのＣＤＢを決定することができる。一実施例では、全てのＩ／Ｏコマンド２２のＣＤＢが抽出される。
【００７５】
ステップ９０２にて、コマンド取得部９００はオペレーションコード８２１を抽出し解析する。オペレーションコード８２１はどの種のＩ／Ｏコマンド２２が実行されているかを示す。オペレーションコード８２１の解析において、コマンド取得部９００はＩ／Ｏコマンド２２に対してタイムスタンプを要求するか否かを決定しても良い。
【００７６】
ステップ９０３で、コマンド取得部９００はコード８２１からＩ／Ｏコマンド２２に対してタイムスタンプを要求すべきかを決定する。一実施例では、コマンド取得部９００は、オペレーションコード８２１がタイムスタンプを要求すべきことを示すあらかじめ定められたコードに合致した場合、タイムスタンプを要求すべきと決定する。合致しない場合は、プロセスは終了しタイムスタンプは要求されない。
【００７７】
ステップ９１０で、ＣＤＢに対して信用があるタイムスタンプが付与される。プロセスは図３で記述したものと同様である。例えば、ステップ９１１で、ハッシュコンポーネント１００がＣＤＢをハッシュしてハッシュ値を生成する。これは図３のステップ３１２で記述したプロセスと同様である。
【００７８】
ステップ９１２で、タイムスタンプ要求部２００はタイムスタンプ要求と生成したハッシュ値をＴＳＡ５０に送信する。つぎにＴＳＴとＴＳＡ−Ｃ５２が生成される。このプロセスは図３のステップ３１３、３１４、３２１、３２２、３２３、３２４、３２５で記述したプロセスと同様である。
【００７９】
ステップ９１３で、ＴＳＡ５０からＴＳＴとＴＳＡ−Ｃ５２を受信し、表１０００に保存する。一実施例では、表１０００はコマンドログであっても良い。コマンドログは実行されたＩ／Ｏコマンド２２を示す。一実施例では、ＴＳＴおよびＴＳＡ−Ｃ５２はＣＤＢ自体とともに表１０００に保存される。信用があるタイムスタンプとその証明書がＩ／Ｏコマンドと一緒にコマンドログに保存されるので、これは独特のものである。
【００８０】
図１０は本発明の一実施例によるＩ／Ｏコマンドに対して生成された表１０００の例を示す。一実施例で、コマンドログ表はシステム１で実行されたコマンドの情報を保存するように構成される。列１０１１はエントリーの識別子を示す。例えば、Ｉ／Ｏコマンド２２にタイムスタンプが付与されるべき時毎に、表１０００に当該Ｉ／Ｏコマンド２２に対するエントリーが生成される。列１０１２はＴＳＴのデータを格納する。さらに、列１０１３はＴＳＡ−Ｃ５２のデータを保存する。これらの列は図２の列４１２、４１３に関連して説明したものと同様の情報を格納している。列１０１４には、関連するＴＳＴとＴＳＡ−Ｃ５２に対してＣＤＢが格納される。
【００８１】
ＴＳＴとＴＳＡ−Ｃ５２は以上に説明したプロセスで認証することができる。例えば、認証プロセスはステップ５１０、５１１、５１４を除いて図４と同様である。ステップ５１０、５１１の代わりに認証部５００はコマンドログ表１０００の特定のエントリーにアクセスし、ＴＳＴ、ＴＳＡ−ＣおよびＣＤＢを決定する。アクセスされたＣＤＢはハッシュされＴＳＴのハッシュ値と比較される。ＣＤＢが表１０００からアクセスされるため、ＣＤＢの照会情報は取得されてなく、ステップ５１４はなくてもよい。しかしながら、保存されたＣＤＢの照会情報は表１０００に発見することができ、ＣＤＢのアクセスに使用することができることは理解されるべきである。
【００８２】
ＴＳＴとＴＳＡ−Ｃ５２をＣＤＢと共に保存することには多くの利点がある。例えば、Ｉ／Ｏコマンド２２を実行するとき、検証することができる。このプロセスはコマンド検証を要求されたときに使用することができる。例えば、Ｉ／Ｏコマンド２２が実行されるとき、ユーザが検証のためにタイムスタンプ情報を管理者に提出しても良い。
【００８３】
他の実施例では、特定のストレージ管理コマンド３２に対して信用があるタイムスタンプ機能もまた提供される。例えば、ストレージ管理コマンド３２はＩ／Ｏコマンド２２に関して記述したのと同様に処理することができる。特定のストレージ管理コマンド３２に対してタイムスタンプを要求すべきと決定される。上記と同様な方法でタイムスタンプが要求される。また、ストレージ管理コマンド３２に関連する情報がハッシュされ要求と共に送信される。タイムスタンプトークンとＴＳＡ−Ｃ５２が受信され表１０００に格納される。次にストレージ管理コマンド３２の情報が表１０００に保存される。例えば、ストレージ管理コマンド３２自体とそのパラメータがＣＤＢの替わりに保存される。
【００８４】
また、元来データを保存するためのストレージ装置がタイムスタンプを付与されたデータ自体までも保存しているので、ストレージシステム自体がデータのハッシュ、タイムスタンプの要求、認証されたタイムスタンプをシステム内への保存、のための装置と方法を必要とする。さらに、ストレージシステムはタイムスタンプを認証し正当性を確認する装置と方法を必要とする。つまり、第三者機構の認証をもって、データを他の装置に移動、コピーすることなくストレージシステム自体で任意のデータ領域にタイムスタンプを付与できることができる。従って、監査者がデータの完全性をタイムスタンプにより認証するのをシステムが支援することができる。
【００８５】
本発明はソフトウェア、ハードウェアあるいはその組み合わせによる制御論理で実現することができる。制御論理は、情報処理装置に一連のステップの実行を指示するのに適応した複数の指示事項として情報記録媒体（例えば、コンピュータ読み取り可能媒体）に保存しても良い。ここに提供した開示と説明により、本技術分野に通常の知識を有する人には本発明を実施する他の手段および／あるいは方法が容易に理解される。
【００８６】
以上の記述は説明のためであり限定するためのものではない。本分野に通じた人には本開示の吟味により本発明の多くのバリエーションがあることは明らかである。従って、発明の範囲は上記の記述の参照によらず、代わりに出願中の請求項の全範囲およびこれと同等のものにより決定されるべきものである。
【図面の簡単な説明】
【００８７】
【図１】図１は本発明の一実施例による信用があるタイムスタンプ機能を提供するストレージシステムを備える全体システムを示す。
【図２】図２は本発明の一実施例によるメタデータ表の例を示す。
【図３】図３は本発明の一実施例による信用があるタイムスタンプ機能を提供する方法の簡単化したフローチャートを示す。
【図４】図４は本発明の一実施例によるタイムスタンプを認証する方法の簡単化したフローチャートを示す。
【図５】図５は本発明の一実施例によるタイムスタンプ機構の証明書（ＴＳＡ−Ｃ）を認証するプロセスの簡単化したフローチャートを示す。
【図６】図６は本発明の一実施例による、失効したタイムスタンプトークン（ＴＳＴ）に信用があるタイムスタンプ機能が付与されたＴＳＴの例を示す。
【図７】図７は本発明の一実施例による、信用があるタイムスタンプ機能を提供するデータストレージシステムを備える全体システムを示す。
【図８】図８はコマンドデスクリプタブロック（ＣＤＢ）と呼ばれる１０バイトのＳＣＳＩコマンド記述を示す。
【図９】図９は本発明の一実施例による、Ｉ／Ｏコマンドに対して信用があるタイムスタンプ機能を提供する方法を示す。
【図１０】図１０は本発明の一実施例による、Ｉ／Ｏコマンドに対して生成されるコマンドログ表の例を示す。
【符号の説明】
【００８８】
１…ストレージシステム  ２…照会情報  ３…データ  ５…タイマ  １０…データ取得部  ２０…ホスト  ３０…管理システム  ５０…タイムスタンプ機構（ＴＳＡ）  ５１…時刻  ５２…証明書  ６０…時計機構（ＴＡ）  ７０…認証機構（ＣＡ）  １００…ハッシュコンポーネント  ２００…タイムスタンプ要求部  ３００…タイムスタンプ生成部  ４００…メタデータ  ５００…認証部  ６００…証明書確認部
【図１】
2006072995.tif 000003
【図２】
2006072995.tif 000004
【図３】
2006072995.tif 000005
【図４】
2006072995.tif 000006
【図５】
2006072995.tif 000007
【図６】
2006072995.tif 000008
【図７】
2006072995.tif 000009
【図８】
2006072995.tif 000010
【図９】
2006072995.tif 000011
【図１０】
2006072995.tif 000012
【外国語明細書】
2006072995000001.pdf