[go: up one dir, main page]

JP2005328198A - プログラム、コンピュータ、データ処理方法 - Google Patents

プログラム、コンピュータ、データ処理方法 Download PDF

Info

Publication number
JP2005328198A
JP2005328198A JP2004142824A JP2004142824A JP2005328198A JP 2005328198 A JP2005328198 A JP 2005328198A JP 2004142824 A JP2004142824 A JP 2004142824A JP 2004142824 A JP2004142824 A JP 2004142824A JP 2005328198 A JP2005328198 A JP 2005328198A
Authority
JP
Japan
Prior art keywords
data
procedure
signature
certified
computer
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.)
Granted
Application number
JP2004142824A
Other languages
English (en)
Other versions
JP2005328198A5 (ja
JP4626181B2 (ja
Inventor
Atsushi Saito
淳 齋藤
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.)
Sony Corp
Original Assignee
Sony Corp
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
Application filed by Sony Corp filed Critical Sony Corp
Priority to JP2004142824A priority Critical patent/JP4626181B2/ja
Publication of JP2005328198A publication Critical patent/JP2005328198A/ja
Publication of JP2005328198A5 publication Critical patent/JP2005328198A5/ja
Application granted granted Critical
Publication of JP4626181B2 publication Critical patent/JP4626181B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Abstract

【課題】 被証明データに付された署名データの有効性を高い信頼性で検証することを可能にするプログラムを提供する、コンピュータおよびデータ処理方法を提供することを目的とする。
【解決手段】 クライアント装置C1が、セキュアな状態で署名データ生成の度に値を増加させるカウントデータCDを生成し、これと署名データとを書データDDに付加する。クライアント装置C2は、無効指定がなされたカウント値とカウントデータCDとを比較して署名データの有効性を検証する。
【選択図】 図1

Description

本発明は、署名された被証明データの有効性を検証するプログラム、コンピュータ、データ処理方法に関する。
例えば、クライアント装置は、ユーザの操作に応じて文書データなどを生成し、その正当性を示す署名データを当該文書データに付加して他のクライアント装置に送信する場合がある。
このようなクライアント装置では、署名データは、当該クライアント装置内に記憶された秘密鍵データを基に生成される。
ところで、上記クライアント装置が盗難等された場合に、盗難を行った不正なユーザは、クライアント装置内に記憶された秘密鍵データを基に署名データを生成することで、クライアント装置の正当なユーザになりすますことができる。
このような事態を防止するために、例えば、クライアント装置が盗難された場合に、盗難にあった時刻を指定して、公開鍵の発行元のサーバ装置に通知を行い、当該サーバ装置が、上記指定された時刻以降は公開鍵証明書データが無効であることを示す有効期間データを公開鍵証明書データと対応付けて発行する。
署名データの検証側は、検証対象の署名データ内に含まれる当該署名データの生成時刻を示す生成時刻データと、上記サーバ装置から受信した有効時間データとを基に、署名データの有効性を検証する。
特開2001−57552号公報
ところで、上述した従来のシステムでは、生成時刻データの基準となるクライアント装置内のタイマが示すタイマ値が不正に設定されてしまうと、署名データの有効性を正しく検証できないという問題がある。
本発明は上述した従来技術の問題点を解決し、上述した目的を達成するために、被証明データに付された署名データの有効性を高い信頼性で検証することを可能にするプログラム、コンピュータおよびデータ処理方法を提供することを目的とする。
上述した従来技術の問題点を解決し、上述した目的を達成するため、第1の発明のプログラムは、コンピュータに処理を実行させるプログラムであって、被証明データに関する署名データを生成する度に、カウントデータを増加あるいは減少の何れか一方向に前記コンピュータ内でセキュアな状態で更新する第1の手順と、前記被証明データと前記第1の手順で更新した前記カウントデータとに対して前記署名データを生成する第2の手順と、前記第1の手順で更新したカウントデータと前記第2の手順で生成した前記署名データとを前記被証明データに付加する第3の手順とを前記コンピュータに実行させる。
第1の発明のプログラムの作用は以下のようになる。
先ず、コンピュータが第1の発明のプログラムを実行する。
そして、前記コンピュータが、第1の手順に従って、被証明データに関する署名データを生成する度に、カウントデータを増加あるいは減少の何れか一方向に前記コンピュータ内でセキュアな状態で更新する。
次に、前記コンピュータが、第2の手順に従って、前記被証明データと前記第1の手順で更新した前記カウントデータとに対して前記署名データを生成する。
次に、前記コンピュータが、第3の手順に従って、前記第1の手順で更新したカウントデータと前記第2の手順で生成した前記署名データとを前記被証明データに付加する。
第2の発明のコンピュータは、プログラムを記憶するメモリと、被証明データに関する署名データを生成する度に、カウントデータを増加あるいは減少の何れか一方向にセキュアな状態で更新するカウンタと、前記メモリから読み出した前記プログラムに従って、前記被証明データと前記カウンタの前記カウントデータとに対して前記署名データを生成し、当該カウントデータと前記署名データとを前記被証明データに付加する実行回路とを有する。
第2の発明のコンピュータの作用は以下のようになる。
第2の発明のコンピュータの実行回路が、メモリから第2の発明のプログラムを読み出して実行する。
また、カウンタは、前記実行回路が被証明データに関する署名データを生成する度に、カウントデータを増加あるいは減少の何れか一方向にセキュアな状態で更新する。
そして、前記実行回路が、前記プログラムに従って、前記被証明データと前記カウンタの前記カウントデータとに対して前記署名データを生成し、当該カウントデータと前記署名データとを前記被証明データに付加する。
第3の発明のデータ処理方法は、コンピュータが実行するデータ処理方法であって、被証明データに関する署名データを生成する度に、カウントデータを増加あるいは減少の何れか一方向に前記コンピュータ内でセキュアな状態で更新する第1の工程と、前記被証明データと前記第1の工程で更新した前記カウントデータとに対して前記署名データを生成する第2の工程と、前記第1の工程で更新したカウントデータと前記第2の工程で生成した前記署名データとを前記被証明データに付加する第3の工程とを有する。
第4の発明のプログラムは、被証明データに付加され当該被証明データの正当性を示す署名データが予め規定された鍵データを基に生成されたか否かを検証する第1の手順と、前記第1の手順で前記署名データが前記鍵データを基に生成されたと判断したことを条件に、前記被証明データに付加され前記署名データの生成元で当該署名データが生成される度に増加あるいは減少の何れか一方に更新されるカウントデータと、無効化対象の署名データのカウントデータとを基に、前記署名データの有効性を判断する第2の手順とをコンピュータに実行させる。
第4の発明のプログラムの作用は以下のようになる。
コンピュータが第4の発明のプログラムを実行する。
そして、コンピュータが、第1の手順に従って、被証明データに付加され当該被証明データの正当性を示す署名データが予め規定された鍵データを基に生成されたか否かを検証する。
次に、前記コンピュータが、第2の手順に従って、前記第1の手順で前記署名データが前記鍵データを基に生成されたと判断したことを条件に、前記被証明データに付加され前記署名データの生成元で当該署名データが生成される度に増加あるいは減少の何れか一方に更新されるカウントデータと、無効化対象の署名データのカウントデータとを基に、前記署名データの有効性を判断する。
第5の発明のコンピュータは、プログラムを記憶するメモリと、前記メモリか読み出した前記プログラムに従って、被証明データに付加され当該被証明データの正当性を示す署名データが予め規定された鍵データを基に生成されたか否かを検証し、前記署名データが前記鍵データを基に生成されたと判断したことを条件に、前記被証明データに付加され前記署名データの生成元で当該署名データが生成される度に増加あるいは減少の何れか一方に更新されるカウントデータと、無効化対象の署名データのカウントデータとを基に、前記署名データの有効性を判断する実行回路とを有する。
第5の発明のコンピュータの作用は以下のようになる。
先ず、実行回路が、メモリからプログラムを読み出して実行する。
次に、前記実行回路が、前記プログラムに従って、被証明データに付加され当該被証明データの正当性を示す署名データが予め規定された鍵データを基に生成されたか否かを検証する。
そして、前記実行回路が、前記プログラムに従って、前記署名データが前記鍵データを基に生成されたと判断したことを条件に、前記被証明データに付加され前記署名データの生成元で当該署名データが生成される度に増加あるいは減少の何れか一方に更新されるカウントデータと、無効化対象の署名データのカウントデータとを基に、前記署名データの有効性を判断する。
第6の発明のデータ処理方法は、コンピュータが実行するデータ処理方法であって、被証明データに付加され当該被証明データの正当性を示す署名データが予め規定された鍵データを基に生成されたか否かを検証する第1の工程と、前記第1の工程で前記署名データが前記鍵データを基に生成されたと判断したことを条件に、前記被証明データに付加され前記署名データの生成元で当該署名データが生成される度に増加あるいは減少の何れか一方に更新されるカウントデータと、無効化対象の署名データのカウントデータとを基に、前記署名データの有効性を判断する第2の工程とを有する。
第7の発明のデータ処理方法は、第1のコンピュータと第2のコンピュータが通信を行うデータ処理方法であって、第1のコンピュータが、被証明データに関する署名データを生成する度に、カウントデータを増加あるいは減少の何れか一方向に前記コンピュータ内でセキュアな状態で更新する第1の工程と、前記第1のコンピュータが、前記被証明データと前記第1の工程で更新した前記カウントデータとに対して前記署名データを生成する第2の工程と、前記第1のコンピュータが、前記第1の工程で更新したカウントデータと前記第2の工程で生成した前記署名データとを前記被証明データに付加して第2のコンピュータに送信する第3の工程と、前記第2のコンピュータが、前記第3の工程で受信した前記被証明データに付加された前記署名データが予め規定された鍵データを基に生成されたか否かを検証する第4の工程と、前記第2のコンピュータが、前記第4の工程で前記署名データが前記鍵データを基に生成されたと判断したことを条件に、前記被証明データに付加された前記カウントデータと、無効化対象の署名データのカウントデータとを基に、前記署名データの有効性を判断する第5の工程とを有する。
第8の発明のプログラムは、コンピュータに処理を実行させるプログラムであって、前記コンピュータ内においてセキュアな状態で計時を行うタイマが示す時データの正当性を前記コンピュータの外部の所定の証明元に証明させ、当該証明の結果を示す証明データを受信する第1の手順と、前記被証明データに関する署名データを生成したときに前記タイマが示す時データを取得する第2の手順と、前記被証明データと前記第2の手順で取得した前記時データとに対して前記署名データを生成する第3の手順と、前記第1の手順で受信した前記証明データと、前記第2の手順で取得した前記時データと、前記第3の手順で生成した前記署名データとを前記被証明データに付加する第4の手順とを前記コンピュータに実行させる。
第8の発明のプログラムの作用は以下のようになる。
先ず、コンピュータが第8の発明のプログラムを実行する。
そして、前記コンピュータが、前記プログラムの第1の手順に従って、前記コンピュータ内においてセキュアな状態で計時を行うタイマが示す時データの正当性を前記コンピュータの外部の所定の証明元に証明させ、当該証明の結果を示す証明データを受信する。
次に、前記コンピュータが、第2の手順に従って、前記被証明データに関する署名データを生成したときに前記タイマが示す時データを取得する。
次に、前記コンピュータが、第3の手順に従って、前記被証明データと前記第2の手順で取得した前記時データとに対して前記署名データを生成する。
次に、前記コンピュータが、第4の手順に従って、前記第1の手順で受信した前記証明データと、前記第2の手順で取得した前記時データと、前記第3の手順で生成した前記署名データとを前記被証明データに付加する。
第9の発明のプログラムは、被証明データに付加された署名データが予め規定された鍵データを基に生成されたか否かを検証する第1の手順と、前記署名データの生成元においてセキュアな状態で計時を行うタイマが示す時データの正当性を示す証明データを検証する第2の手順と、前記第1の手順で前記署名データが前記鍵データを基に生成されたと判断し、且つ前記第2の手順で前記証明データが正当であると判断したことを条件に、前記被証明データに付加された時データと、前記署名データを無効にする時を示す時データとを基に、前記署名データの有効性を判断する第3の手順とをコンピュータに実行させる。
第9の発明のプログラムの作用は以下のようになる。
先ず、コンピュータが第9の発明のプログラムを実行する。
そして、前記コンピュータが、第1の手順に従って、被証明データに付加された署名データが予め規定された鍵データを基に生成されたか否かを検証する。
次に、前記コンピュータが、第2の手順に従って、前記署名データの生成元においてセキュアな状態で計時を行うタイマが示す時データの正当性を示す証明データを検証する。
次に、前記コンピュータが、第3の手順に従って、前記第1の手順で前記署名データが前記鍵データを基に生成されたと判断し、且つ前記第2の手順で前記証明データが正当であると判断したことを条件に、前記被証明データに付加された時データと、前記署名データを無効にする時を示す時データとを基に、前記署名データの有効性を判断する。
本発明によれば、被証明データに付された署名データの有効性を適切に検証することを可能にするプログラム、コンピュータおよびデータ処理方法を提供することができる。
以下、本発明の実施形態に係わる通信システムについて説明する。
<第1実施形態>
以下、本発明の第1実施形態を説明する。
〔本発明の構成との対応関係〕
先ず、本実施形態の構成要素と、本発明の構成要素との対応関係を説明する。
本実施形態において、アプリケーションプログラムAPが、第1および第2の発明のプログラムに対応している。
ここで、図6に示すステップST15が第1の発明の第1の手順および第2の手順、並びに第3の発明の第1の工程および第2の工程に対応している。
また、図6に示すステップST18が第1の発明の第3の手順、並びに第3の発明の第3の工程に対応している。
また、図2に示すメモリ43が第2の発明のメモリに対応し、CPU45が第2の発明の実行回路に対応し、図4に示すカウンタ58が第2の発明のカウンタに対応している。
また、本発明において、文書データDDが本発明の被証明データに対応している。
また、本実施形態において、オペレーティングシステムOSが、第4および第5の発明のプログラムに対応している。
ここで、図8に示すステップST35が第4の発明の第1の手順、並びに第6の発明の第1の工程に対応している。
また、図8に示すステップST39〜ST43が第4の発明の第2の手順、並びに第6の発明の第2の工程に対応している。
また、図2に示すメモリ43が第5の発明のメモリに対応し、CPU45が第5の発明の実行回路に対応している。
また、CPU45が、本発明のコンピュータに対応している。
図1は、本発明の第1実施形態の通信システム1の全体構成図である。
図1に示すように、通信システム1は、例えば、クライアント装置C1,C2、文書配信サーバ10、認証機関(CA)12および無効リスト配信サーバ14を有する。
本実施形態では、クライアント装置C1,C2、文書配信サーバ10、認証機関12および無効リスト配信サーバ14の間の通信はネットワーク9を介して行われる。
なお、本実施形態では2つのクライアント装置を例示するが、クライアント装置の数は任意である。
〔認証機関12〕
認証機関12は、クライアント装置C1,C2の各々のセキュリティチップSCに対して秘密鍵データKpri1,Kpri2(Kpri)を発行し、これらをセキュアな状態で提供する。
また、認証機関12は、秘密鍵データKpri1,Kpri2の各々に対応した公開鍵証明データCert1,Cert2(Cert)を発行する。
〔無効リスト配信サーバ14〕
無効リスト配信サーバ14は、クライアント装置C1,C2から、無効対象の署名データSDの生成に用いられた秘密鍵データKpriに対応した公開鍵データKpubの識別データKpubIDと、無効にする直前に署名データSDを生成したときのカウントデータCDとを含む無効通知データRNを受信する。
そして、無効リスト配信サーバ14は、無効通知データRNを基に、無効リストデータRLISTを更新する。
無効リストデータRLISTは、無効対象の識別データKpubIDと、カウントデータCDとを対応付けて示している。
以下、クライアント装置C1について説明する。
なお、クライアント装置C2は、クライアント装置C1と同じ構成を有している。
クライアント装置C1,C2は、例えば、パーソナルコンピュータ、PDA(Personal Digital Assistants)および携帯電話などの通信機器である。
〔クライアント装置C1〕
図2は、図1に示すクライアント装置C1の構成図である。
図2に示すように、クライアント装置C1は、例えば、インタフェース42、メモリ43、セキュリティチップSC、CPU45、ディスプレイ46および操作部47を有し、これらがデータ線40を介して接続されている。
インタフェース42は、ネットワーク9を介してクライアント装置C2との間でデータおよび要求の送受信を行う。
メモリ43は、プログラムBIOS(Basic Input/Output System) 、ローダプログラムLoader、オペレーティングシステムOS( Operating System) およびアプリケーションプログラムAPを記憶する。
アプリケーションプログラムAPとしては、クライアント装置C1の動作を統括的に制御するプログラムPRG_C、文書作成プログラムW_APおよび文書閲覧プログラムR_APが備えられている。
CPU45は、メモリ43に記憶された種々のプログラムを読み出し、所定のソフトウェア環境を実現する。
CPU45は、例えば、図3に示すように、CPU45およびセキュリティチップSCなどのハードウェア上でプログラムBIOSを動作させる。
また、CPU45は、プログラムBIOS上でローダプログラムLoaderを動作させ、このローダプログラムLoaderを基にオペレーティングシステムOSを起動する。
また、CPU45は、オペレーティングシステムOS上でアプリケーションプログラムAPを動作させる。
CPU45は、クライアント装置C1の後述する動作例で示す処理を統括的に制御する。
CPU45による制御は、後述する動作例と関連付けて説明する。
本実施形態では、CPU45は、後述するより、図5に示すように、文書データDDのハッシュデータHDと、署名データSD生成時のカウントデータCDと、署名データSDと、公開鍵証明書データCertとを文書データDDに付加して文書配信サーバ10に送信する。
セキュリティチップSCは、耐タンパ性の回路であり、外部から当該回路に対する攻撃(内部データの不正読み出し、入力周波数や入力電圧を所定外に設定する攻撃)を加えたときに、誤動作や内部データの洩漏を生じないように構成された回路である。
ディスプレイ46は、CPU45からの表示信号に応じた画面を表示する。
操作部47は、キーボードやマウスなどの操作手段であり、ユーザの操作に応じた操作信号をCPU45に出力する。
図4は、図3に示すセキュリティチップSCの構成図である。
図4に示すように、セキュリティチップSCは、例えば、入出力回路(I/O)51、鍵生成回路52、ハッシュ回路53、乱数発生回路54、署名・暗号回路55、メモリ56、プロセッサ57およびカウンタ58を有し、これらがデータ線50を介して接続されている。
入出力回路51は、図2に示すデータ線40に接続され、セキュリティチップSCの内部と外部との間でデータ入出力を行う。
鍵生成回路52は、例えば、乱数発生回路54が発生した乱数を基に、セキュリティに係わる種々の鍵データを生成する。
ハッシュ回路53は、ハッシュデータを生成する。
乱数発生回路54は、乱数を発生(生成)する。
署名・暗号回路55は、鍵データを用いた暗号化および復号を行い、暗号データの生成、暗号データの復号、署名データの生成、並びに署名データの検証を行う。
メモリ56は、セキュリティチップSCの秘密鍵データKpri1を記憶する。
また、メモリ56は、サーバ装置S1の起動時に生成された起動プログラム検証データPHDを記憶する。
また、メモリ56は、署名データSDの公開鍵データの識別データKpubIDと、署名鍵データSDの生成時のカウントデータCDとの履歴を対応付けて示すログデータLOGを記憶する。
また、メモリ56は、公開鍵証明書データCert1を記憶する。
プロセッサ57は、図2に示すCPU45からの制御に従って、セキュリティチップSCの動作を統括して制御する。
カウンタ58は、署名・暗号回路55が署名データを作成する度に、そのカウント値を「1」だけ増加(インクリメント)する。
なお、カウンタ58は、署名・暗号回路55が署名データを作成する度に、そのカウント値を「1」だけ減少(デクリメント)してもよい。
カウンタ58は、セキュリティチップSCに内蔵されているため、カウント値はセキュアな状態で更新され、ユーザはそのカウント値を調整できない。
以下、クライアント装置C1の動作例を説明する。
〔第1の動作例〕
以下、クライアント装置Cが文書データDDを生成する場合の動作例を説明する。
図6は、当該動作例を説明するためのフローチャートである。
ステップST11:
図2に示すクライアント装置C1のCPU45が、文書作成プログラムW_APに従って、操作部47から入力した操作信号を基に、文書データDDを生成する。
ステップST12:
CPU45が、文書作成プログラムW_APに従って、ステップST11で生成した文書データDDのハッシュデータHDを生成し、これをセキュリティチップSCに出力する。
具体的には、ハッシュデータHDは、文書作成プログラムW_APからオペレーティングシステムOSを経由してセキュリティチップSCに出力される。
文書作成プログラムW_APは、オペレーティングシステムOSにハッシュデータHDを提供(出力)し、署名データSDの生成を指示する。
ステップST13
セキュリティチップSCのプロセッサ57は、CPU45からの指示(プログラムPRG_C)に従って、カウンタ58のカウンタ値を示すカウントデータCDを読み出す。
ステップST14:
プロセッサ57は、ステップST12で入力したハッシュデータHDと、ステップST13で読み出したカウントデータCDとを連結してデータHD+CDを生成する。
ステップST15:
セキュリティチップSCの署名・暗号回路55が、メモリ56から読み出した秘密鍵データKpri1を基に、ステップST14で生成されたデータHD+CDの署名データSDを生成する。
そして、カウンタ58は、カウントデータCDのカウント値を「1」だけ増加させる。
ステップST16:
セキュリティチップSCのプロセッサ57は、署名データSD、並びにその生成時のカウントデータCDを基に、メモリ56に記憶されているログデータLOGを更新する。
ユーザは、メモリ56に記憶されているログデータを定期的にバックアップしてクライアント装置C1の外部の記録媒体に記録する。
ステップST17:
プロセッサ57は、ステップST14で生成したデータCD+HD、ステップST15で生成した署名データSD、並びにメモリ56から読み出した公開鍵証明書データCert1を、入出力回路51を介してCPU45に出力する。
ステップST18:
CPU45は、文書作成プログラムW_APに従って、ステップST17で入力したデータCD+HD、署名データSD、並びに公開鍵証明書データCert1を、ステップST11で生成した文書データDDに付加する。
ステップST19:
CPU45は、ステップST18でデータCD+HD等が付加された文書データDDを、インタフェース42を介して図1に示す文書配信サーバ10に送信する。
文書配信サーバ10は、例えば、クライアント装置C2からの要求に応じて、ステップST18でデータCD+HD等が付加された文書データDDをクライアント装置C2に送信する。
〔第2の動作例〕
以下、クライアント装置C1が盗難等され、正当なユーザが署名データの無効化を無効リスト配信サーバ14に指示する場合の動作例を説明する。
図7は、当該動作例を説明するためのフローチャートである。
ステップST21:
クライアント装置C1が盗難等されると、正当なユーザが所定のコンピュータを操作し、過去にクライアント装置C1から外部の記録媒体に記憶したログデータLOGを基に、上記コンピュータが、図1に示すように、公開鍵データKpubの識別データKpubIDと、ログデータLOGが示す最新の署名データSDのカウントデータCDとを含む無効通知データRNを生成する。
ステップST22:
上記コンピュータは、ステップST21で生成した無効通知データRNを図1に示す無効リスト配信サーバ14に送信する。
ステップST23:
無効リスト配信サーバ14は、ステップST22で受信した無効通知データRNを基に、無効リストデータRLISTを更新する。
ステップST24:
無効リスト配信サーバ14は、無効リストデータRLISTを公開する。
クライアント装置C1,C2を含むクライアント装置は、無効リスト配信サーバ14から無効リストRLISTを受信する。
〔第3の動作例〕
以下、文書データDDを受信した場合の動作例を説明する。
以下の説明では、クライアント装置C2が、クライアント装置C1が第1の動作例で説明した手順で生成した文書データDDを受信する場合を説明する。
図8は、当該動作例を説明するためのフローチャートである。
ステップST31:
CPU45は、オペレーティングシステムOSに従って、無効リスト配信サーバ14にアクセスを行って無効リストデータRLISTを受信し、これをメモリ43に書き込む。
CPU45は、例えば、署名データSDの正当性を検証する度、あるいは定期的に無効リスト配信サーバ14から無効リストデータRLISTを受信する。
ステップST32:
CPU45は、文書閲覧プログラムR_APに従って、文書配信サーバ10から文書データDDを受信する。
当該文書データDDには、第1の動作例で図5を参照して説明したように、カウントデータCDとハッシュデータHDとを連結したデータCD+HD、データCD+HDの署名データSD、並びに公開鍵証明書データCert1が付加されている。
ステップST33:
CPU45は、オペレーティングシステムOSに従って、ステップST32で受信した文書データDDに付加された公開鍵証明書データCert1の正当性を、例えば、認証機関12にアクセスして検証する。
ステップST34:
CPU45は、公開鍵証明書データCert1が正当であると判断するとステップST35に進み、そうでない場合にはステップST43に進む。
ステップST35:
CPU45は、オペレーティングシステムOSに従って、ステップST32で受信した文書データDDに付加された署名データSDが、公開鍵証明書データCert1に含まれる公開鍵データKpub1に対応した秘密鍵データKpri1を基に生成されたか否かを、図4に示すセキュリティチップSCの署名・暗号回路55に検証させる。
ステップST36:
CPU45は、オペレーティングシステムOSに従って、署名データSDが秘密鍵データKpri1を基に生成されたと判断すると判断するとステップST37に進み、そうでない場合にステップST43に進む。
ステップST37:
CPU45は、公開鍵証明書データCert1に含まれる公開鍵データKpub1の識別データKpubIDに対応する項目が、ステップST31で受信した無効リストデータRLIST内に存在するか否かを判断する。
ステップST38:
CPU45は、ステップST37において存在すると判断するとステップST39に進み、存在しないと判断するとステップST43に進む。
ステップST39:
CPU45は、オペレーティングシステムOSに従って、ステップST32で受信した文書データDDに付加されたカウントデータCDを署名時カウント値として取得する。
ステップST40:
CPU45は、オペレーティングシステムOSに従って、無効リストデータRLIST内の識別データKpubIDに対応付けられたカウントデータCDを無効時カウント値として取得する。
ステップST41:
CPU45は、オペレーティングシステムOSに従って、ステップST39で取得した署名時カウント値が、ステップST40で取得した無効時カウント値より大きいか否かを判断し、大きいと判断するとステップST43にすすみ、大きくないと判断するとステップST42に進む。
ステップST42:
CPU45は、文書データDDがクライアント装置C1の盗難等の前に生成された正当なものであると判断し、文書閲覧プログラムR_APに従って、それを利用する。
ステップST43:
CPU45は、文書データDDがクライアント装置C1の盗難等の後に生成された不正なものであると判断し、文書閲覧プログラムR_APによるその利用を禁止する。
〔第4の動作例〕
以下、通信システム1の全体動作例を説明する。
図9は、当該動作例を説明するためのフローチャートである。
クライアント装置C1は、例えば、データCD(1)+HD、署名データSD、並びに公開鍵証明書データCert1が付加された文書データDDを文書配信サーバ10に送信する(ステップST51)。
また、クライアント装置C2は、無効リスト配信サーバ14から無効リストデータRLISTを受信する(ステップST52)。このとき、無効リストデータRLISTには、署名データSDの検証に用いられる公開鍵データKpub1の識別データKpubIDは含まれていない。
また、クライアント装置C2は、文書配信サーバ10から、データCD(1)+HD、署名データSD、並びに公開鍵証明書データCert1が付加された文書データDDを受信する(ステップST53)。
次に、クライアント装置C2は、ステップST52で受信した無効リストデータRLIST内に上記識別データKpubIDが含まれていないため、ステップST53で受信した文書データDDは正当であると判断する(ステップST54)。
その後、クライアント装置C1が盗難された場合に(ステップST55)、クライアント装置C1の正当なユーザが、バックアップしたログデータLOGを基に、公開鍵データKpub1の識別データKpubIDと、ログデータLOGが示す最新の署名データSDのカウントデータCD(1)とを含む無効通知データRNを無効リスト配信サーバ14に送信する(ステップST56)。
無効リスト配信サーバ14は、受信した無効通知データRNを基に、無効リストデータRLISTを更新して無効リストデータRLIST(CD(1))にする。
そして、クライアント装置C2は、無効リスト配信サーバ14から無効リストデータRLIST(CD(1))を受信する(ステップST57)。このとき、無効リストデータRLIST(CD(1))には、署名データSDの検証に用いられる公開鍵データKpub1の識別データKpubIDが含まれている。
また、クライアント装置C1は、盗難を行った不正なユーザの指示に応じて、例えば、データCD(2)+HD、署名データSD、並びに公開鍵証明書データCert1が付加された文書データDDを文書配信サーバ10に送信する(ステップST58)。
ここで、カウントデータCD(2)は、署名データSDのカウントデータCD(1)より値が大きい。
そして、クライアント装置C2は、文書配信サーバ10から、データCD(2)+HD、署名データSD、並びに公開鍵証明書データCert1が付加された文書データDDを受信する(ステップST59)。
次に、クライアント装置C2は、ステップST57で受信した無効リストデータRLIST(CD(1))内に上記識別データKpubIDが含まれているため、無効リストデータRLIST内のカウントデータCD(1)と、文書データDDに付加されたカウントデータCD(2)とを比較し、カウントデータCD(2)の方が大きいため、ステップST59で受信した文書データDDは不当であると判断する(ステップST60)。
以上説明したように、通信システム1では、図2および図4に示すように、クライアント装置C1において、セキュリティチップSC内に設けられたカウンタ58において署名データSDが生成される度にそのカウントデータCDを更新する(「1」だけ増加させる)。また、このカウントデータCDを文書データDDに署名データSDと共に付加する。
そのため、通信システム1によれば、クライアント装置C1が盗難された場合でも、不正なユーザはカウンタ58を調整できず、当該不正なユーザが作成した文書データに付加されたカウントデータCDは署名データSDの生成に応じて適切に更新されたものになる。
従って、前述したように、検証側のクライアント装置C2において、カウントデータCDを基に、文書データDDの正当性を高い信頼性で判断できる。
<第2実施形態>
図10は、本発明の第2実施形態の通信システム101の全体構成図である。
図10に示すように、通信システム101は、例えば、クライアント装置C1a,C2a、文書配信サーバ10、認証機関(CA)12、無効リスト配信サーバ14aおよび時刻証明サーバ16を有する。
図10において、文書配信サーバ10および認証機関12は、第1実施形態で説明したものと同じである。
本実施形態において、アプリケーションプログラムAPaが、第8の発明のプログラムに対応している。
ここで、図15に示すステップST70が第8の発明の第1の手順に対応し、ST73が第8の発明の第2の手順に対応し、ST75が第8の発明の第3の手順に対応し、ST77が第8の発明の第4の手順に対応している。
また、本実施形態において、オペレーティングシステムOSaが、第9の発明のプログラムに対応している。
ここで、図17に示すステップST95が第9の発明の第1の手順に対応している。
また、図17に示すステップST99が第9の発明の第2の手順に対応し、ST100〜ST103が第9の発明の第3の手順に対応している。
〔無効リスト配信サーバ14a〕
無効リスト配信サーバ14は、クライアント装置C1a,C2aから、無効対象の署名データSDaの生成に用いられた秘密鍵データKpriに対応した公開鍵データKpubの識別データKpubIDと、署名データSDaを無効する時刻を示す無効時データRTIMEとを含む無効通知データRNaを受信する。
そして、無効リスト配信サーバ14aは、無効通知データRNaを基に、無効リストデータRLISTaを更新する。
無効リストデータRLISTaは、無効対象の識別データKpubIDと、無効時データRTIMEとを対応付けて示している。
〔時刻証明サーバ16〕
時刻証明サーバ16は、クライアント装置C1a,C2aから、これらのセキュリティチップが内蔵するタイマが示す時データTIMEを含む時刻証明要求を受信し、その時データTIMEを証明したことを示す時刻証明データT_Certを生成し、これをクライアント装置C1a,C2aに送信する。
時刻証明データT_Certには、時刻証明サーバ16内の内部時刻と、上記時データTIMEとの差分時間を示す差分時間データが含まれる。
以下、クライアント装置C1aについて説明する。
なお、クライアント装置C2aは、クライアント装置C1と同じ構成を有している。
〔クライアント装置C1a〕
図11は、図10に示すクライアント装置C1aの構成図である。
図11に示すように、クライアント装置C1aは、例えば、インタフェース42、メモリ43、セキュリティチップSCa、CPU45a、ディスプレイ46および操作部47を有し、これらがデータ線40を介して接続されている。
図11において、図2と同じ符号を付した構成要素は第1実施形態で説明したものと同じである。
メモリ43は、アプリケーションプログラムAPaを記憶する。
アプリケーションプログラムAPaとしては、クライアント装置C1aの動作を統括的に制御するプログラムPRG_Ca、文書作成プログラムW_APaおよび文書閲覧プログラムR_APaが備えられている。
CPU45aは、メモリ43に記憶された種々のプログラムを読み出し、所定のソフトウェア環境を実現する。
CPU45aは、例えば、図12に示すように、CPU45aおよびセキュリティチップSCaなどのハードウェア上でプログラムBIOSを動作させる。
また、CPU45aは、プログラムBIOS上でローダプログラムLoaderを動作させ、このローダプログラムLoaderを基にオペレーティングシステムOSaを起動する。
また、CPU45aは、オペレーティングシステムOSa上でアプリケーションプログラムAPaを動作させる。
CPU45は、クライアント装置C1aの後述する動作例で示す処理を統括的に制御する。
CPU45aによる制御は、後述する動作例と関連付けて説明する。
本実施形態では、CPU45aは、後述するより、図14に示すように、文書データDDのハッシュデータHDと、署名データSDa生成時の時データTIMEと、署名データSDaと、公開鍵証明書データCertと、時刻証明データT_Certを文書データDDに付加して文書配信サーバ10に送信する。
セキュリティチップSCaは、耐タンパ性の回路であり、外部から当該回路に対する攻撃(内部データの不正読み出し、入力周波数や入力電圧を所定外に設定する攻撃)を加えたときに、誤動作や内部データの洩漏を生じないように構成された回路である。
図13は、図11に示すセキュリティチップSCaの構成図である。
図13において、図4と同じ符号を付した構成要素は第1実施形態で説明したものと同じである。
図13に示すように、セキュリティチップSCaは、例えば、入出力回路51、鍵生成回路52、ハッシュ回路53、乱数発生回路54、署名・暗号回路55、メモリ56、プロセッサ57aおよびタイマ59を有し、これらがデータ線50を介して接続されている。
プロセッサ57aは、図11に示すCPU45aからの制御に従って、セキュリティチップSCaの動作を統括して制御する。
タイマ59は、計時を行う。タイマ59は、セキュリティチップSCaに内蔵されているため、計時をセキュアな状態で行い、クライアント装置C1aのユーザが設定を行うことはできない。
以下、クライアント装置C1aの動作例を説明する。
〔第1の動作例〕
以下、クライアント装置C1aが文書データDDを生成する場合の動作例を説明する。
図15は、当該動作例を説明するためのフローチャートである。
ステップST70:
図11に示すクライアント装置C1aのCPU45aが、例えば、クライアント装置C1aの起動時に、図13に示すセキュリティチップSCa内のタイマ59が示す時データTIMEを含む時刻証明要求を、インタフェース42を介して時刻証明サーバ16に送信する。
そして、CPU45aは、上記時刻証明要求に応じて、時刻証明サーバ16から受信した時刻証明データT_Certをメモリ43に書き込む。
時刻証明データT_Certには、前述したように、時刻証明サーバ16内の内部時刻と、上記時データTIMEとの差分時間を示す差分時間データが含まれる。
ステップST71:
図11に示すクライアント装置C1aのCPU45aが、文書作成プログラムW_APaに従って、操作部47から入力した操作信号を基に、文書データDDを生成する。
ステップST72:
CPU45aが、文書作成プログラムW_APaに従って、ステップST71で生成した文書データDDのハッシュデータHDを生成し、これをセキュリティチップSCaに出力する。
文書作成プログラムW_APaは、オペレーティングシステムOSaにハッシュデータHDを提供(出力)し、署名データSDの生成を指示する。
ステップST73
セキュリティチップSCaのプロセッサ57aは、CPU45aからの指示(プログラムPRG_Ca)に従って、ステップST7で署名データSDを生成した時にタイマ59が示す時データTIMEを取得する。
ステップST74:
プロセッサ57は、ステップST72で入力したハッシュデータHDと、ステップST73で取得した時データTIMEとを連結してデータHD+TIMEを生成する。
ステップST75:
セキュリティチップSCaの署名・暗号回路55が、メモリ56から読み出した秘密鍵データKpri1を基に、ステップST74で生成されたデータHD+TIMEの署名データSDaを生成する。
ステップST76:
プロセッサ57は、ステップST74で生成したデータTIME+HD、ステップST75で生成した署名データSDa、並びにメモリ56から読み出した公開鍵証明書データCert1を、入出力回路51を介してCPU45aに出力する。
ステップST77:
CPU45aは、文書作成プログラムW_APに従って、ステップST76で入力したデータTIME+HD、署名データSDa、並びに公開鍵証明書データCert1と、ステップST70で取得した時刻証明データT_Certとを、ステップST71で生成した文書データDDに付加する。
ステップST78:
CPU45aは、ステップST77でデータTIME+HD等が付加された文書データDDを、インタフェース42を介して図1に示す文書配信サーバ10に送信する。
文書配信サーバ10は、例えば、クライアント装置C2からの要求に応じて、ステップST78でデータTIME+HD等が付加された文書データDDをクライアント装置C2aに送信する。
〔第2の動作例〕
以下、クライアント装置C1aが盗難等され、正当なユーザが署名データの無効化を無効リスト配信サーバ14aに指示する場合の動作例を説明する。
図16は、当該動作例を説明するためのフローチャートである。
ステップST81:
クライアント装置C1aが盗難等されると、正当なユーザがクライアント装置C1a以外の所定のコンピュータを操作し、無効対象の署名データSDaの生成に用いられた秘密鍵データKpriに対応した公開鍵データKpubの識別データKpubIDと、盗難された時刻を示す無効時データRTIMEとを含む無効通知データRNaを生成する。
ステップST82:
上記コンピュータは、ステップST81で生成した無効通知データRNaを図1に示す無効リスト配信サーバ14aに送信する。
ステップST83:
無効リスト配信サーバ14aは、ステップST82で受信した無効通知データRNaを基に、無効リストデータRLISTaを更新する。
ステップST84:
無効リスト配信サーバ14aは、無効リストデータRLISTaを公開する。
クライアント装置C1a,C2aを含むクライアント装置は、無効リスト配信サーバ14aから無効リストRLISTaを受信する。
〔第3の動作例〕
以下、文書データDDを受信した場合の動作例を説明する。
以下の説明では、クライアント装置C2aが、クライアント装置C1aが第1の動作例で説明した手順で生成した文書データDDを受信する場合を説明する。
図17は、当該動作例を説明するためのフローチャートである。
ステップST91:
CPU45aは、オペレーティングシステムOSaに従って、無効リスト配信サーバ14aにアクセスを行って上述した無効リストデータRLISTaを受信し、これをメモリ43に書き込む。
CPU45aは、例えば、署名データSDaの正当性を検証する度、あるいは定期的に無効リスト配信サーバ14aから無効リストデータRLISTaを受信する。
ステップST92:
CPU45aは、文書閲覧プログラムR_APaに従って、文書配信サーバ10から文書データDDを受信する。
当該文書データDDには、第1の動作例で図14を参照して説明したように、時データTIMEとハッシュデータHDとを連結したデータTIME+HD、データTIME+HDの署名データSDa、公開鍵証明書データCert1、並びに時刻証明データT_CerTが付加されている。
ステップST93:
CPU45aは、オペレーティングシステムOSaに従って、ステップST92で受信した文書データDDに付加された公開鍵証明書データCert1の正当性を、例えば、認証機関12にアクセスして検証する。
ステップST94:
CPU45aは、公開鍵証明書データCert1が正当であると判断するとステップST95に進み、そうでない場合にはステップST103に進む。
ステップST95:
CPU45aは、オペレーティングシステムOSaに従って、ステップST92で受信した文書データDDに付加された署名データSDaが、公開鍵証明書データCert1に含まれる公開鍵データKpub1に対応した秘密鍵データKpri1を基に生成されたか否かを、図13に示すセキュリティチップSCaの署名・暗号回路55に検証させる。
ステップST96:
CPU45aは、オペレーティングシステムOSaに従って、署名データSDaが秘密鍵データKpri1を基に生成されたと判断すると判断するとステップST97に進み、そうでない場合にステップST103に進む。
ステップST97:
CPU45aは、公開鍵証明書データCert1に含まれる公開鍵データKpub1の識別データKpubIDに対応する項目が、ステップST91で受信した無効リストデータRLISTa内に存在するか否かを判断する。
ステップST98:
CPU45aは、ステップST97において存在すると判断するとステップST99に進み、存在しないと判断するとステップST103に進む。
ステップST99:
CPU45aは、オペレーティングシステムOSaに従って、ステップST92で受信した文書データDDに付加された時刻証明データT_Certの正当性を検証し、正当であると判断すると、文書データDDに付加された時データTIMEと、時刻証明データT_Certに含まれる差分時刻データとを基に、署名時刻を示す署名時刻データを生成する。
ステップST100:
CPU45aは、オペレーティングシステムOSaに従って、無効リストデータRLISTa内の識別データKpubIDに対応付けられた無効時刻データRTIMEを取得する。
ステップST101:
CPU45aは、オペレーティングシステムOSaに従って、ステップST99で取得した署名時刻データが示す時刻が、ステップST100で取得した無効時刻データRTIME示す時刻より遅いか否かを判断し、遅いと判断するとステップST103にすすみ、大きくないと判断するとステップST102sに進む。
ステップST102:
CPU45aは、文書データDDがクライアント装置C1aの盗難等の前に生成された正当なものであると判断し、文書閲覧プログラムR_APaに従って、それを利用する。
ステップST103:
CPU45aは、文書データDDがクライアント装置C1aの盗難等の後に生成された不正なものであると判断し、文書閲覧プログラムR_APaによるその利用を禁止する。
〔第4の動作例〕
以下、通信システム101の全体動作例を説明する。
図18は、当該動作例を説明するためのフローチャートである。
クライアント装置C1aは、例えば、データTIME(1)+HD、署名データSDa、公開鍵証明書データCert1、並びに時刻証明データT_Certが付加された文書データDDを文書配信サーバ10に送信する(ステップST201)。
また、クライアント装置C2aは、無効リスト配信サーバ14aから無効リストデータRLISTaを受信する(ステップST202)。このとき、無効リストデータRLISTには、署名データSDaの検証に用いられる公開鍵データKpub1の識別データKpubIDは含まれていない。
また、クライアント装置C2aは、文書配信サーバ10から、データTIME(1)+HD、署名データSDa、公開鍵証明書データCert1、並びに時刻証明データT_Certが付加された文書データDDを受信する(ステップST203)。
次に、クライアント装置C2aは、ステップST202で受信した無効リストデータRLISTa内に上記識別データKpubIDが含まれていないため、ステップST203で受信した文書データDDは正当であると判断する(ステップST204)。
その後、クライアント装置C1aが盗難された場合に(ステップST205)、クライアント装置C1aの正当なユーザが、盗難された時刻を示す無効時刻データRTIMEと、公開鍵データKpub1の識別データKpubIDと含む無効通知データRNaを無効リスト配信サーバ14aに送信する(ステップST206)。
無効リスト配信サーバ14aは、受信した無効通知データRNaを基に、無効リストデータRLISTaを更新して無効リストデータRLISTa(RTIME(2))を生成する。
そして、クライアント装置C2aは、無効リスト配信サーバ14aから無効リストデータRLISTa(RTIME(2))を受信する(ステップST207)。このとき、無効リストデータRLISTa(rTIME(2))には、署名データSDaの検証に用いられる公開鍵データKpub1の識別データKpubIDが含まれている。
また、クライアント装置C1aは、盗難を行った不正なユーザの指示に応じて、例えば、データTIME(3)+HD、署名データSDa、公開鍵証明書データCert1、並びに時刻証明データT_Certが付加された文書データDDを文書配信サーバ10に送信する(ステップST208)。
ここで、時データTIME(3)は、無効時刻データRTIME(2)よりも遅い。
そして、クライアント装置C2aは、文書配信サーバ10から、データTIME(3)+HD、署名データSDa、公開鍵証明書データCert1、並びに時刻証明データT_Certが付加された文書データDDを受信する(ステップST209)。
次に、クライアント装置C2aは、ステップST205で受信した無効リストデータRLISTa(RTIME(2))内に上記識別データKpubIDが含まれているため、無効リストデータRLISTa内の無効時刻データRTIME(2)と、文書データDDに付加された時データTIME(3)とを比較し、時データTIME(3)の方が遅いため、ステップST209で受信した文書データDDは不当であると判断する(ステップST210)。
以上説明したように、通信システム101では、図13に示すように、クライアント装置C1aにおいて、署名データSDaが生成された時刻を示す時データTIMEをセキュリティチップSCa内に設けられたタイマ59から取得し、それを文書データDDに署名データSDaと共に付加する。
そのため、通信システム101によれば、クライアント装置C1aが盗難された場合でも、不正なユーザはタイマ59を調整できず、当該不正なユーザが作成した文書データに付加された時データTIMEは、タイマ59を基準とした署名データSDaの生成時刻を正確に示したものになる。
また、署名側のクライアント装置C2aにおいて、時刻証明データT_Certを基に、時データTIMEを調整するため、時刻証明サーバ16内のタイマを基準とした署名データSDaの生成時刻を特定でき、無効時刻より遅い生成時刻を持つ署名データSDaを適切に無効化できる。
従って、通信システム101によれば、検証側のクライアント装置C2aにおいて、文書データDDの正当性を高い信頼性で判断できる。
<第3実施形態>
本実施形態では、クライアント装置C1,C1aのCPU45,45aが、クライアント装置C1,C1aが電源投入などにより起動されたときに、クライアント装置C1,C1a上で起動されたBIOS、ローダLoader、オペレーティングシステムOS,OSaおよびアプリケーションプログラムAP,APaの各々のハッシュデータを含む動作環境データPHDを生成する。
そして、CPU45,45aは、文書データDDに、さらに動作環境データPHDを付加して送信する。
検証側のクライアント装置C2,C2aは、図8および図17の検証において、予めベンダから取得したBIOS、ローダLoader、オペレーティングシステムOS,OSaおよびアプリケーションプログラムAP,APaのハッシュデータを基に、文書データDDに付加されている動作環境データPHDを検証する。そして、クライアント装置C2,C2aは、当該検証で一致していると判断したことを条件に、文書データDDを正当であると判断する。
これにより、クライアント装置C2,C2aは、クライアント装置C1,C1aが、図6および図15の処理を適切に行う動作環境を備えていること、すなわちカウントデータCDおよび時データTIMEを正当に生成する動作環境を備えていることを検証できる。
これにより、通信システム1,101の信頼性をさらに高めることができる。
本発明は上述した実施形態には限定されない。
上述した実施形態では、本発明の被証明データとして文書データDDを例示したが、本発明の被証明データは、電子メールなどのその他のコンテンツデータなどであってもよい。
本発明は、署名された被証明データの有効性を検証するシステムに適用可能である。
図1は、本発明の第1実施形態の通信システムの全体構成図である。 図2は、図1に示すクライアント装置の構成図である。 図3は、図2に示すCPUが実現するソフトウェア(動作)環境を説明するための図である。 図4は、図2に示すセキュリティチップの構成図である。 図5は、図2に示すクライアント装置が文書配信サーバに文書データと共に送信するデータを説明するための図である。 図6は、図2に示すクライアント装置が文書データを生成するときの動作例を説明するためのフローチャートである。 図7は、図2に示すクライアント装置が、署名データの無効化を無効リスト配信サーバに要求するときの動作例を説明するためのフローチャートである。 図8は、図2に示すクライアント装置が、文書データを検証するときの動作例を説明するためのフローチャートである。 図9は、図2に示すクライアント装置の全体動作例を説明するためのフローチャートである。 図10は、本発明の第2実施形態の通信システムの全体構成図である。 図11は、図10に示すクライアント装置の構成図である。 図12は、図11に示すCPUが実現するソフトウェア(動作)環境を説明するための図である。 図13は、図11に示すセキュリティチップの構成図である。 図14は、図11に示すクライアント装置が文書配信サーバに文書データと共に送信するデータを説明するための図である。 図15は、図11に示すクライアント装置が文書データを生成するときの動作例を説明するためのフローチャートである。 図16は、図11に示すクライアント装置が、署名データの無効化を無効リスト配信サーバに要求するときの動作例を説明するためのフローチャートである。 図17は、図11に示すクライアント装置が、文書データを検証するときの動作例を説明するためのフローチャートである。 図18は、図11に示すクライアント装置の全体動作例を説明するためのフローチャートである。
符号の説明
1,101…通信システム、10…文書配信サーバ、12…認証機関、14,14a…無効リスト配信サーバ、16…時刻証明サーバ、C1,C2,C1a,C2a…クライアント装置、42…インタフェース、43…メモリ、45,45a…CPU、46…ディスプレイ、47…操作部、SC.SCa…セキュリティチップ、51…入出力回路、52…鍵生成回路、53…ハッシュ回路、54…乱数発生回路、55…署名・暗号回路、56…メモリ、57,57a…プロセッサ、58…カウンタ

Claims (16)

  1. コンピュータに処理を実行させるプログラムであって、
    被証明データに関する署名データを生成する度に、カウントデータを増加あるいは減少の何れか一方向に前記コンピュータ内でセキュアな状態で更新する第1の手順と、
    前記被証明データと前記第1の手順で更新した前記カウントデータとに対して前記署名データを生成する第2の手順と、
    前記第1の手順で更新したカウントデータと前記第2の手順で生成した前記署名データとを前記被証明データに付加する第3の手順と
    を前記コンピュータに実行させるプログラム。
  2. 前記被証明データのハッシュデータを生成する第4の手順
    をさらに有し、
    前記第2の手順は、前記第4の手順で生成した前記ハッシュデータと前記カウントデータに対して前記署名データを生成し、
    前記第3の手順は、前記第4の手順で生成したハッシュデータと、前記第1の手順で更新したカウントデータと、前記第2の手順で生成した前記署名データとを前記被証明データに付加する
    請求項1に記載のプログラム。
  3. 前記第1の手順で更新した前記カウントデータの履歴を示すログデータを記憶し、バックアップ指示に応じて前記ログデータを前記コンピュータの外部に出力する第5の手順
    をさらに有する請求項1に記載のプログラム。
  4. 前記コンピュータの起動時に、当該コンピュータ上で起動されたBIOS、ローダ、オペレーティングシステムおよびアプリケーションプログラムの各々のハッシュデータを含む動作環境データを生成する第6の手順
    をさらに有し、
    前記第3の手順は、前記第6の手順で生成した前記動作環境データを前記被証明データにさらに付加する
    請求項1に記載のプログラム。
  5. プログラムを記憶するメモリと、
    被証明データに関する署名データを生成する度に、カウントデータを増加あるいは減少の何れか一方向にセキュアな状態で更新するカウンタと、
    前記メモリから読み出した前記プログラムに従って、前記被証明データと前記カウンタの前記カウントデータとに対して前記署名データを生成し、当該カウントデータと前記署名データとを前記被証明データに付加する実行回路と
    を有するコンピュータ。
  6. コンピュータが実行するデータ処理方法であって、
    被証明データに関する署名データを生成する度に、カウントデータを増加あるいは減少の何れか一方向に前記コンピュータ内でセキュアな状態で更新する第1の工程と、
    前記被証明データと前記第1の工程で更新した前記カウントデータとに対して前記署名データを生成する第2の工程と、
    前記第1の工程で更新したカウントデータと前記第2の工程で生成した前記署名データとを前記被証明データに付加する第3の工程と
    を有するデータ処理方法。
  7. 被証明データに付加され当該被証明データの正当性を示す署名データが予め規定された鍵データを基に生成されたか否かを検証する第1の手順と、
    前記第1の手順で前記署名データが前記鍵データを基に生成されたと判断したことを条件に、前記被証明データに付加され前記署名データの生成元で当該署名データが生成される度に増加あるいは減少の何れか一方に更新されるカウントデータと、無効化対象の署名データのカウントデータとを基に、前記署名データの有効性を判断する第2の手順と
    をコンピュータに実行させるプログラム。
  8. 前記第2の手順で前記署名データが有効であると判断したことを条件に、前記被証明データが正当であると判断する第3の手順
    をさらに有する請求項7に記載のプログラム。
  9. 前記無効対象の署名データの識別データと前記カウントデータとを対応付けて示す無効リストデータを受信する第4の手順
    をさらに有し、
    前記第2の手順は、前記被証明データに対応付けられた識別データの項目が前記無効リストデータに存在する場合に、当該無効リストデータ内で当該識別データに対応付けられた前記カウントデータと、前記被証明データに付加された前記カウントデータとを比較して前記署名データの有効性を判断する
    請求項7に記載のプログラム。
  10. 前記第4の手順は、前記第1の手順で前記署名データの正当性を検証する度、あるいは定期的に前記無効リストデータを受信する
    請求項9に記載のプログラム。
  11. 前記被証明データに付加され、前記署名データを生成するコンピュータの起動時に当該コンピュータ上で起動されたBIOS、ローダ、オペレーティングシステムおよびアプリケーションプログラムの各々のハッシュデータの正当性を検証する第5の手順
    をさらに有し、
    前記第2の手順は、前記第5の手順で正当性が検証されたことを条件に実行される
    請求項7に記載のプログラム。
  12. プログラムを記憶するメモリと、
    前記メモリか読み出した前記プログラムに従って、被証明データに付加され当該被証明データの正当性を示す署名データが予め規定された鍵データを基に生成されたか否かを検証し、前記署名データが前記鍵データを基に生成されたと判断したことを条件に、前記被証明データに付加され前記署名データの生成元で当該署名データが生成される度に増加あるいは減少の何れか一方に更新されるカウントデータと、無効化対象の署名データのカウントデータとを基に、前記署名データの有効性を判断する実行回路と
    を有するコンピュータ。
  13. コンピュータが実行するデータ処理方法であって、
    被証明データに付加され当該被証明データの正当性を示す署名データが予め規定された鍵データを基に生成されたか否かを検証する第1の工程と、
    前記第1の工程で前記署名データが前記鍵データを基に生成されたと判断したことを条件に、前記被証明データに付加され前記署名データの生成元で当該署名データが生成される度に増加あるいは減少の何れか一方に更新されるカウントデータと、無効化対象の署名データのカウントデータとを基に、前記署名データの有効性を判断する第2の工程と
    を有するデータ処理方法。
  14. 第1のコンピュータと第2のコンピュータが通信を行うデータ処理方法であって、
    第1のコンピュータが、被証明データに関する署名データを生成する度に、カウントデータを増加あるいは減少の何れか一方向に前記コンピュータ内でセキュアな状態で更新する第1の工程と、
    前記第1のコンピュータが、前記被証明データと前記第1の工程で更新した前記カウントデータとに対して前記署名データを生成する第2の工程と、
    前記第1のコンピュータが、前記第1の工程で更新したカウントデータと前記第2の工程で生成した前記署名データとを前記被証明データに付加して第2のコンピュータに送信する第3の工程と、
    前記第2のコンピュータが、前記第3の工程で受信した前記被証明データに付加された前記署名データが予め規定された鍵データを基に生成されたか否かを検証する第4の工程と、
    前記第2のコンピュータが、前記第4の工程で前記署名データが前記鍵データを基に生成されたと判断したことを条件に、前記被証明データに付加された前記カウントデータと、無効化対象の署名データのカウントデータとを基に、前記署名データの有効性を判断する第5の工程と
    を有するデータ処理方法。
  15. コンピュータに処理を実行させるプログラムであって、
    前記コンピュータ内においてセキュアな状態で計時を行うタイマが示す時データの正当性を前記コンピュータの外部の所定の証明元に証明させ、当該証明の結果を示す証明データを受信する第1の手順と、
    前記被証明データに関する署名データを生成したときに前記タイマが示す時データを取得する第2の手順と、
    前記被証明データと前記第2の手順で取得した前記時データとに対して前記署名データを生成する第3の手順と、
    前記第1の手順で受信した前記証明データと、前記第2の手順で取得した前記時データと、前記第3の手順で生成した前記署名データとを前記被証明データに付加する第4の手順と
    を前記コンピュータに実行させるプログラム。
  16. 被証明データに付加された署名データが予め規定された鍵データを基に生成されたか否かを検証する第1の手順と、
    前記署名データの生成元においてセキュアな状態で計時を行うタイマが示す時データの正当性を示す証明データを検証する第2の手順と、
    前記第1の手順で前記署名データが前記鍵データを基に生成されたと判断し、且つ前記第2の手順で前記証明データが正当であると判断したことを条件に、前記被証明データに付加された時データと、前記署名データを無効にする時を示す時データとを基に、前記署名データの有効性を判断する第3の手順と
    をコンピュータに実行させるプログラム。
JP2004142824A 2004-05-12 2004-05-12 情報処理方法及び情報処理システム Expired - Fee Related JP4626181B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2004142824A JP4626181B2 (ja) 2004-05-12 2004-05-12 情報処理方法及び情報処理システム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004142824A JP4626181B2 (ja) 2004-05-12 2004-05-12 情報処理方法及び情報処理システム

Publications (3)

Publication Number Publication Date
JP2005328198A true JP2005328198A (ja) 2005-11-24
JP2005328198A5 JP2005328198A5 (ja) 2007-06-21
JP4626181B2 JP4626181B2 (ja) 2011-02-02

Family

ID=35474215

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004142824A Expired - Fee Related JP4626181B2 (ja) 2004-05-12 2004-05-12 情報処理方法及び情報処理システム

Country Status (1)

Country Link
JP (1) JP4626181B2 (ja)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2009093571A1 (ja) * 2008-01-21 2009-07-30 Sony Corporation 情報処理装置、ディスク、および情報処理方法、並びにプログラム
JP2009169893A (ja) * 2008-01-21 2009-07-30 Sony Corp 情報処理装置、ディスク、および情報処理方法、並びにプログラム
JP2009169892A (ja) * 2008-01-21 2009-07-30 Sony Corp 情報処理装置、ディスク、および情報処理方法、並びにプログラム
JP2014192793A (ja) * 2013-03-28 2014-10-06 Mega Chips Corp 暗号装置
JP2024024656A (ja) * 2021-06-30 2024-02-22 弁護士ドットコム株式会社 プログラム、情報処理装置、方法
JP2024027133A (ja) * 2021-06-30 2024-02-29 弁護士ドットコム株式会社 プログラム、情報処理装置、方法

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11205308A (ja) * 1997-10-29 1999-07-30 Hitachi Ltd 認証方法および情報システム
JP2002071468A (ja) * 2000-08-28 2002-03-08 Sanyo Electric Co Ltd 温度記録装置、温度記録の管理方法、および温度記録管理システム
JP2002215029A (ja) * 2001-01-22 2002-07-31 Seiko Epson Corp 情報認証装置及びこれを使用したデジタルカメラ
JP2002244554A (ja) * 2001-02-16 2002-08-30 Hitachi Software Eng Co Ltd タイムスタンプ生成方法及び確認方法並びに装置並びにシステム
JP2002304589A (ja) * 2001-04-04 2002-10-18 Dainippon Printing Co Ltd 決済システム
JP2003298580A (ja) * 2002-04-05 2003-10-17 Nippon Telegr & Teleph Corp <Ntt> 失効公開鍵証明書リスト生成装置、失効公開鍵証明書リスト生成方法、コンピュータプログラムおよびコンピュータプログラムを記録した記録媒体
JP2004056635A (ja) * 2002-07-23 2004-02-19 Hitachi Ltd 証明書失効リストの更新装置、システム及び方法
JP2004318564A (ja) * 2003-04-17 2004-11-11 Dainippon Printing Co Ltd Icカード及びicカードプログラム
JP2005260676A (ja) * 2004-03-12 2005-09-22 Internatl Business Mach Corp <Ibm> セキュリティ装置、情報処理装置、セキュリティ装置の制御方法、情報処理装置の制御方法、該制御方法を実行させるための装置実行可能なプログラムおよびチケット・システム

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11205308A (ja) * 1997-10-29 1999-07-30 Hitachi Ltd 認証方法および情報システム
JP2002071468A (ja) * 2000-08-28 2002-03-08 Sanyo Electric Co Ltd 温度記録装置、温度記録の管理方法、および温度記録管理システム
JP2002215029A (ja) * 2001-01-22 2002-07-31 Seiko Epson Corp 情報認証装置及びこれを使用したデジタルカメラ
JP2002244554A (ja) * 2001-02-16 2002-08-30 Hitachi Software Eng Co Ltd タイムスタンプ生成方法及び確認方法並びに装置並びにシステム
JP2002304589A (ja) * 2001-04-04 2002-10-18 Dainippon Printing Co Ltd 決済システム
JP2003298580A (ja) * 2002-04-05 2003-10-17 Nippon Telegr & Teleph Corp <Ntt> 失効公開鍵証明書リスト生成装置、失効公開鍵証明書リスト生成方法、コンピュータプログラムおよびコンピュータプログラムを記録した記録媒体
JP2004056635A (ja) * 2002-07-23 2004-02-19 Hitachi Ltd 証明書失効リストの更新装置、システム及び方法
JP2004318564A (ja) * 2003-04-17 2004-11-11 Dainippon Printing Co Ltd Icカード及びicカードプログラム
JP2005260676A (ja) * 2004-03-12 2005-09-22 Internatl Business Mach Corp <Ibm> セキュリティ装置、情報処理装置、セキュリティ装置の制御方法、情報処理装置の制御方法、該制御方法を実行させるための装置実行可能なプログラムおよびチケット・システム

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2009093571A1 (ja) * 2008-01-21 2009-07-30 Sony Corporation 情報処理装置、ディスク、および情報処理方法、並びにプログラム
JP2009169893A (ja) * 2008-01-21 2009-07-30 Sony Corp 情報処理装置、ディスク、および情報処理方法、並びにプログラム
JP2009169892A (ja) * 2008-01-21 2009-07-30 Sony Corp 情報処理装置、ディスク、および情報処理方法、並びにプログラム
US8868904B2 (en) 2008-01-21 2014-10-21 Sony Corporation Information processing device, disc, information processing method, and program
JP2014192793A (ja) * 2013-03-28 2014-10-06 Mega Chips Corp 暗号装置
JP2024024656A (ja) * 2021-06-30 2024-02-22 弁護士ドットコム株式会社 プログラム、情報処理装置、方法
JP2024027133A (ja) * 2021-06-30 2024-02-29 弁護士ドットコム株式会社 プログラム、情報処理装置、方法
JP7780498B2 (ja) 2021-06-30 2025-12-04 弁護士ドットコム株式会社 プログラム、情報処理装置、方法
JP7780499B2 (ja) 2021-06-30 2025-12-04 弁護士ドットコム株式会社 プログラム、情報処理装置、方法

Also Published As

Publication number Publication date
JP4626181B2 (ja) 2011-02-02

Similar Documents

Publication Publication Date Title
US7263608B2 (en) System and method for providing endorsement certificate
JP4067985B2 (ja) アプリケーション認証システムと装置
JP4265479B2 (ja) 通信システム
KR101395749B1 (ko) 칩 카드를 포함하는 내장형 컴퓨터 시스템에서 보안카운터를 제공하는 방법
CN109639427B (zh) 一种数据发送的方法及设备
US6539480B1 (en) Secure transfer of trust in a computing system
JP6142026B2 (ja) 無線装置のためのセキュア時刻機能
US20050182952A1 (en) Information processing apparatus and method and computer program
US20110280402A1 (en) Methods and systems for utilizing cryptographic functions of a cryptographic co-processor
US20090282254A1 (en) Trusted mobile platform architecture
JP2017139793A (ja) サーバ
US20080294902A1 (en) Method and system for improving security of the key device
CN102027707A (zh) 具有保密软件映像的集成电路及其方法
JP2017021434A (ja) 情報処理装置及びその制御方法
CN110730159B (zh) 一种基于TrustZone的安全和可信混合系统启动方法
JP2004503006A (ja) 悪質コード検出方法
CN101325485A (zh) 处理电子设备中信息的方法、系统、电子设备和处理块
US20070118752A1 (en) Authentication of control units in a vehicle
CN108335105B (zh) 数据处理方法及相关设备
JP2014048800A (ja) 認証システムおよび認証方法
JP4626181B2 (ja) 情報処理方法及び情報処理システム
JP2000011101A (ja) Icカードおよび記録媒体
CN117453343A (zh) 虚拟机度量、机密计算认证方法、设备、系统及存储介质
JP6983685B2 (ja) 情報処理システム、クライアント装置、認証認可サーバー、制御方法とそのプログラム
WO2013054747A1 (ja) 情報処理装置および方法、並びにプログラム

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070502

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20070502

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100720

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100913

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20101012

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20101025

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20131119

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20131119

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees