JP4932108B2 - 文書にデジタル署名するためのシステム - Google Patents

文書にデジタル署名するためのシステム Download PDF

Info

Publication number
JP4932108B2
JP4932108B2 JP2001500933A JP2001500933A JP4932108B2 JP 4932108 B2 JP4932108 B2 JP 4932108B2 JP 2001500933 A JP2001500933 A JP 2001500933A JP 2001500933 A JP2001500933 A JP 2001500933A JP 4932108 B2 JP4932108 B2 JP 4932108B2
Authority
JP
Japan
Prior art keywords
trusted
document
image
image data
user
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.)
Expired - Fee Related
Application number
JP2001500933A
Other languages
English (en)
Other versions
JP2003501915A (ja
JP2003501915A5 (ja
Inventor
プラウドラー,グレーム,ジョン
バラチェフ,ボリス
チェン,リクン
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.)
HP Inc
Original Assignee
Hewlett Packard Co
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 Hewlett Packard Co filed Critical Hewlett Packard Co
Publication of JP2003501915A publication Critical patent/JP2003501915A/ja
Publication of JP2003501915A5 publication Critical patent/JP2003501915A5/ja
Application granted granted Critical
Publication of JP4932108B2 publication Critical patent/JP4932108B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

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/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/82Protecting input, output or interconnection devices
    • G06F21/84Protecting input, output or interconnection devices output devices, e.g. displays or monitors
    • 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/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2211/00Indexing scheme relating to details of data-processing equipment not covered by groups G06F3/00 - G06F13/00
    • G06F2211/009Trust

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Storage Device Security (AREA)

Description

【0001】
【技術的背景】
本発明は、署名者が署名しようと思う文書が実際に署名する文書であるよう署名者に高度な信用を提供するように、画像データ、特に文書にデジタル署名する装置及び方法に関する。
【0002】
【背景技術】
従来の先行技術による量販市場コンピューティングプラットフォームには、周知のパーソナルコンピュータ(PC)及びApple Machintosh(登録商標)等の競合製品、及び既知のパームトップ及びラップトップパーソナルコンピュータの急増がある。一般に、これらのマシンの市場は2つのカテゴリ、すなわち家庭用または消費者用と企業用に分けられる。家庭用または消費者使用のコンピューティングプラットフォームの一般的な要件は、比較的高い処理能力、インターネットアクセス機能、及びコンピュータゲームを扱うのためのマルチメディア機能である。この種のコンピューティングプラットフォームの場合、Microsoft Windows(登録商標)95及び98オペレーティングシステム製品及びIntelプロセッサ、いわゆるWinTelプラットフォームが市場を独占している。
【0003】
一方、ビジネスでの使用の場合、零細企業から多国籍組織まで様々な組織向けに利用可能な、製造販売独占権を有する極めて多くのコンピュータプラットフォームが存在している。これらアプリケーションの多くは、サーバプラットフォームが、中央集中化されたデータ記憶装置及びアプリケーション機能を、複数のクライアントステーションに対して提供する。ビジネスでの使用の場合、他の重要な評価尺度としては、信頼性、リモートアクセス機能、ネットワーキング機能、及びセキュリティ機能等がある。このようなプラットフォームについては、UNIXはもちろんMicrosoft Windows NT4.0(登録商標)オペレーティングシステムが一般的であり、さらに最近ではLinuxオペレーティングシステムも用いられる。
【0004】
Windowsタイプのオペレーティングシステムは、ユーザが別個のウィンドウで別個のアプリケーションを実行することを可能にしており、いわゆるWIMP(ウィンドウ、アイコン、メニュー、及びポインタ)インタフェースを提供する。これによって、ユーザは通常キーボードを用いてデータを入力し、マウスを用いてオプションを選択することによりアプリケーションと対話を行い、また、ダイアログボックス及びドロップダウン(またはプルアップ)メニューを介してアプリケーションを制御する。
【0005】
「E−コマース」として知られるインターネットを介して取引が行われる商業活動の増大に伴い、従来技術では、インターネットを介してコンピュータプラットフォーム間のデータトランザクションを可能にすることに大きな関心があった。特に、現在標準的に用いられている手書きで署名した紙の契約書を必要とせずに、ユーザがインターネット越しに契約の締結へ入れることが重要であると認識されている。しかし、電子データの不正や改竄の可能性があるため、このような提案では、完全にトランスペアレントで効率的な市場に要求される広範囲規模での遠隔地にいる見知らぬ相手との完全に自動化された取引は、今まで控えられていた。このような取引を行うための根本的な問題は、ユーザとコンピュータプラットフォームとの間、及び対話を行うコンピュータプラットフォーム間の信用の問題である。
【0006】
コンピュータプラットフォームのセキュリティ及び信用度の増大を目的とするいくつかの従来技術による方式がある。主に、これらはアプリケーションレベルでのセキュリティ機能の追加によるものであり、言い換えるなら、セキュリティ機能はオペレーティングシステムのカーネルに最初から埋め込まれてはおらず、コンピューティングプラットフォームの基本的なハードウェアコンポーネントに内蔵されてはいない。スマートカードを備えたポータブルコンピュータ装置がすでに市場に出回っており、これらのスマートカードは、コンピュータのスマートカードリーダへ入力されるユーザ固有のデータを保持している。現在、このようなスマートカードは従来のパーソナルコンピュータへの増設機器のレベルにあり、周知のコンピュータの筐体に内臓されている場合もある。これらの従来技術による方式はコンピュータプラットフォームのセキュリティをいくらか向上させるが、従来技術による方式によって得られるセキュリティ及び信用度のレベルは、コンピュータプラットフォーム間での自動化された取引のアプリケーションを普及させるには不十分であると思われる。ビジネスにおいて大きな価値ある取引が広範規模の電子商取引にさらされる前に、基礎的な技術についてさらに大きな信用度が必要とされるであろう。
【0007】
2000年2月15日付で出願された本出願人の同時係属国際特許出願PCT/GB00/00528「Trusted Computing Platform」、及び2000年3月3日付で出願されたPCT/GB00/00752「Smartcard User Interface for Trusted Computing Platform」は、ここで参照することによって全内容を取り入れるものとする。これらには、内蔵型ハードウェアコンポーネントの形態で「高信用コンポーネント」を有するコンピュータプラットフォームから成る「高信用コンピュータプラットフォーム」の概念が開示されている。各々がこのような高信用コンポーネントを備える2つのコンピュータエンティティは、互いに高い「信用」度で対話することができる。すなわち、第1及び第2のコンピュータエンティティが互いに対話する場合、対話のセキュリティは、高信用コンポーネントが存在しない場合と比較して拡張される。これは次のような理由による。・コンピュータエンティティのユーザは、自分自身のコンピュータエンティティの完全性及び機密性に関して、及び他の相手に属するコンピュータエンティティの完全性及び機密性に関して、高い信用度を有する。
・各々のエンティティは、前記他のエンティティが実際に目的とするエンティティであるということに関して、信用がある。
・これらのエンティティの一方または両方が、トランザクション、例えばデータ転送トランザクションに対する相手を表す場合、内蔵された高信用コンポーネントによって、このエンティティと対話する第三者のエンティティは、このエンティティが実際にそのような相手を表すということに関して、高度の信用度を有する。
・高信用コンポーネントは、高信用コンポーネントによって実施される検証及び監視プロセスを通して、このエンティティ自体の固有の機密性を増大させる。
・コンピュータエンティティが予期されるように振る舞う可能性がより高くなる。
【0008】
上述したように、文書に署名する従来の方法は、文書の画像が再現される媒体(通常は紙)上へ物理的に署名するというものである。この方法は、署名されている対象が明確であること、及びこの署名された画像が署名された対象の証明になるという利点を有する。しかし、このことは電子商取引の必要性には合致しない。
【0009】
今日では、従来のコンピュータプラットフォーム及び標準的な暗号化技術を用いて文書にデジタル署名することも可能である。しかし、本発明者らは、従来のコンピュータプラットフォームにおいて、デジタル署名された文書の電子翻訳は通常、ユーザが目にすることができる文書と同じ翻訳ではないと認識している。したがって、ユーザが、署名を意図するデータとは異なるデータにうっかり署名してしまう可能性がある。従来では、ユーザがデータに故意に署名を行い、この署名されたデータはコンピュータプラットフォームによって自分に表示されたものに一致しないということを、後から不正に主張することも可能である。このような問題は、上述した高信用プラットフォームが用いられた場合であっても依然として存在する。
【0010】
従来の電子的な署名方法は、当業者にとって周知である。本質的に、デジタルデータは、例えばハッシュ関数の使用によってダイジェストに圧縮される。次に、このダイジェストが、秘密鍵(または単に「秘密」とも呼ばれる)によって初期化されたある暗号化方法の使用によって暗号化される。これは、通常、PC等のコンピュータプラットフォーム上で行われる。一つの実施としては、コンピュータプラットフォームに取り付けられたスマートカードリーダに挿入されるユーザのスマートカード内に機密に保持された秘密鍵を用いて、データに署名するというものである。テキスト文書という特定の場合、デジタルデータはMicrosoftのNotepad、Wordpad、またはWord等のワードプロセッサアプリケーションによって生成されるファイルであることができる。通常、署名という動作は、署名者が署名されたデータの意味に対して法的な責任を受諾することを意味している。
【0011】
ハッシュ関数は従来技術において周知であり、この関数は比較的大量の入力データから比較的少量の出力データを生成することのできる一方向関数であり、入力データのわずかな変更によって出力データは大幅に異なってくる。よって、ハッシュ関数が適用されるデータファイルは、第1のダイジェストデータ(ハッシュ関数の出力)を生じる。わずかな変更、例えばオリジナルデータファイル内の単一ビットを変更すると、この変更されたデータファイルにハッシュ関数が再度適用された場合、大幅に異なる出力を生じる。このようにして、数メガバイトのデータを含むデータファイルをハッシュ関数に入力すると、128〜160ビット長のデジタル出力が、結果のダイジェストデータとして生じる。データファイルから生成した比較的小量のダイジェストデータを予約されたディレクトリへ保管することは、高信用コンポーネントがより少ないメモリ空間及びより少ない処理能力の使用で動作することになるため有益である。
【0012】
既知の署名プロセス中、ユーザは通常、文書がコンピュータのモニタに通常の倍率及び解像度でレンダリングされる際に、その文書を解釈する。既存のアプリケーションにおいて、ユーザのスマートカードは、文書を作成または操作あるいはその両方を行うために使用されるアプリケーションが文書を表現する形式でデータに署名する。しかし、本発明者らは、ソフトウェアには、ユーザが画面を閲覧しているときに、ユーザが知っているものとは異なる意味を持つスマートカードへデータを送信してしまう可能性があると考える。この可能性は、人々に解釈される文書の電子的表現物にデジタル署名する従来の方法の有効性に疑念を導入するのに十分な理由でありうる。
【0013】
【発明の開示】
本発明は、人々に解釈されるデジタル署名された文書の信用を向上するシステム及び方法からなる。該システム及び方法は必然的に、他の目的に使用可能なデータの信用のある表示も含んでいる。
【0014】
第1の態様によれば、本発明は、文書を表すデジタル署名を生成するように構成されるデータ処理システムであって、
デジタル署名する文書を格納するための主記憶手段と、
文書を表示するためのグラフィック信号を生成する手段を含む、少なくとも1つのアプリケーションプロセスを実行するための主処理手段と、
前記署名する文書に対して要求信号を生成するための手段と、
フレームバッファメモリと、
前記グラフィック信号に基づいて前記文書を表すデジタル画像データを生成し、このデジタル画像データを前記フレームバッファメモリに格納するための手段と、
前記フレームバッファメモリから前記デジタル画像データを読み出し、このデータを、実際の画像の表示するのに適した信号へ変換し、この信号を表示手段へ転送する手段と、
からなる表示システムと、
前記デジタル画像データを表すデジタル署名を生成するため、前記要求信号に応答して動作可能な、独立した処理手段を含む高信用コンポーネントと、
からなるデータ処理システムを提供する。ここで、デジタル署名は、文書をユーザに表示するために用いられるデータを基にして生成される。
【0015】
好ましい実施形態において、高信用コンポーネントは、あらゆるアクセス権の無いアプリケーションまたはプロセスが、文書のデジタル画像データを保持している前記フレームバッファメモリの少なくとも一部へ書き込みアクセスを行うことを拒絶するための手段と、フレームバッファメモリの各々の部位がデータの書き込みについてアクセス不可能である間にデジタル画像データを表すデジタル署名を生成するための手段と、からなる。
【0016】
好ましい実施形態において、データ処理システムは、フレームバッファメモリからデジタル画像データもしくはこれを表すものを受信し、それぞれののデジタル署名を生成するための処理手段からなるリムーバブルトークンをさらに含む。便利な例としては、リムーバブルトークンは、適切にプログラムされたスマートカードである。
【0017】
好ましい実施形態において、高信用コンポーネントは、高信用画像データを取得または生成あるいはその両方を行うための手段と、高信用画像データを用いて表示された文書画像をハイライトさせるために表示システムを制御するための手段と、からなる。この手段は、高信用コンポーネントが動作の制御下にあることの視覚的なフィードバックをユーザへ提供する。
【0018】
高信用画像データは、高信用画像または高信用画像を形成するための命令を表すピクスマップデータを含みうる。好ましくは、高信用コンポーネントは、リムーバブルトークンから高信用画像データを取得または生成あるいはその両方を行う手段を含む。高信用コンポーネントは、メッセージをユーザに表示するよう表示システムを制御する手段をさらに備えることが好ましい。
【0019】
好ましい実施形態において、データ処理システムは、ユーザが安全にメッセージに応答可能な高信用入力手段をさらに備える。高信用入力手段は、安全な通信路を介して高信用コンポーネントに接続されるスイッチを備えうる。
【0020】
好ましい実施形態において、高信用コンポーネント及びセキュアトークンは、さらなる対話に先立って相互認証プロセスを実行する。
【0021】
好ましい実施形態において、高信用コンポーネントは表示システムの一部分を形成する。例えば、表示システムは、主処理手段のみが高信用コンポーネントの機能を通して間接的にフレームバッファメモリにアクセスできるように、高信用コンポーネントが物理的及び機能的に主処理手段とフレームバッファメモリの間に配置されるように構成可能である。好ましくは、高信用コンポーネントは、デジタル署名動作を要約するデータを生成する手段をさらに含む。
【0022】
本発明の他の態様及び実施形態は、以下の説明、特許請求の範囲及び図面から明らかになろう。
【0023】
【発明を実施する最適な形態および産業的応用】
好ましい実施形態は、本出願人の同時継続出願中の欧州特許出願第99301100.6に記載の「高信用コンポーネント」の特徴のいくつかを最も便利に使用する高信用コンポーネントを利用する。この出願において、高信用コンポーネントは、ホストコンピュータの完全性メトリックを測定してこれを完全性メトリックの真値と比較し、ホストコンピュータの完全性をユーザまたは他のホストコンピュータに通知するように(するかどうかは別として)プログラムされたプロセッサを備えたハードウェアデバイスである。この高信用コンポーネントと本明細書における好ましい実施形態での高信用コンポーネントの間の重要な共通点は、次のようなことである。
・双方とも暗号化プロセスを用いるが、好ましくは暗号化プロセスに対して外部インタフェースを設けないこと。
・双方とも、少なくとも正規のユーザの知識なしでは、これらの動作を覆すことができないように、不正変更防止能力及び不正変更検出能力の両方を有すること。
・双方とも、取りつけられるホストコンピュータとは物理的及び機能的に独立した1つの物理的なハードウェアコンポーネントからなることが好ましいこと。
このような独立性は、高信用コンポーネントが自身に処理能力とメモリを有することによって達成される。
【0024】
不正変更防止に関連する技術は、セキュリティの分野における当業者には周知である。これらの技術としては、不正変更に影響されないための方法(高信用デバイスの適切なカプセル化等)、不正変更を検出するための方法(仕様外の電圧、X線、高信用デバイスのケーシングにおける物理的な完全性の損失、等の検出)、及び不正変更が検出された場合にデータを消去する方法が含まれる。適切な技術のさらなる考察は、http://www.cl.cam.ac.uk/~mgk25/tamper.htmlに見られる。タンパープルーフィング(いたずら防止)が、本発明の最も望ましい特徴であるが、これは本発明の通常動作には含まれないため、本発明の範囲を越えたものであることが理解されよう。
【0025】
この説明において「高信用」という用語は、物理的または論理的なコンポーネント、動作、またはプロセスに関連して用いられる場合、その振る舞いが様々な動作環境下で予測可能であり、かつ、外部要因、例えば破壊的なアプリケーションソフトウェア、ウィルス、物理的妨害等による干渉または破壊に対して高い耐性を有しているという意味を内包している。
【0026】
本明細書で用いる「ホストコンピュータ」という用語は、少なくとも1つのデータプロセッサ、少なくとも1つの形態のデータ記憶装置、及びいくつかの形態の外部エンティティと対話するための通信能力とを有するデータ処理装置を指して用いており、この通信は、外部装置のような外部エンティティ、ユーザ及び他のコンピュータまたはその両方が、ローカルにあるいはインターネットを介して行うものである。「ホストコンピュータシステム」という用語は、ホストコンピュータ自体に加え、ホストコンピュータに取り付けられるキーボード、マウス、VDU等の標準的な外部装置を含む。
【0027】
本明細書で用いる「文書」という用語は、ホストコンピュータシステムを用いて視覚化することの可能なあらゆるデータの集合を含んでいる。通常、文書は契約書などのテキスト文書である。しかし、文書には、テキストだけでなく、あるいはテキストの代わりに、グラフィックまたはピクチャを含むこともできる。一般に、文書は単一ページまたは複数ページを含むことができる。
【0028】
本明細書で用いる「ピクスマップ」という用語は、単色画像またはカラー(またはグレースケール)画像のいずれかを定義するデータを含むように広く用いられる。「ビットマップ」という用語は単色画像にのみ関連付けられ、例えば、ピクセルが「オン」であるか「オフ」であるかに応じて1または0にセットされる。これに対し、「ピクスマップ」はより総称的な用語であり、単色画像及びカラー画像を双方とも含み、この場合、カラー画像は最大で24ビットが必要とされ、単一ピクセルの色合い、飽和度、及び強度を定義するためにはさらにそれ以上のビットが必要とされる。
【0029】
後述で明らかにされるが、本明細書における好ましい実施形態による高信用コンポーネントは、安全なユーザインタフェースを提供し、特に、ホストコンピュータの表示機能の少なくともいくつかを制御する。本明細書における高信用コンポーネントには、本出願人の同時継続出願中の特許出願における高信用コンポーネントによる完全性メトリックを得ても得なくてもよいが、完全性メトリックの獲得は本明細書では考慮されない。
【0030】
好ましい実施形態は本質的には、ユーザが、ユーザのスマートカードの秘密鍵または暗号化コプロセッサ等他の形態のセキュアトークンを用いて、ユーザがホストコンピュータ上に格納された文書にデジタル署名することを可能にする。署名は、画面で閲覧中の文書が実際にスマートカードが署名している文書である、という高度な信用をユーザに提供する状況下で、ホストコンピュータの高信用表示プロセッサ(すなわち高信用コンポーネント)によって行われる。特に、スマートカードは、高信用画像データあるいは「シール」を収容する。この高信用画像データあるいは「シール」は、署名手続き中に安全な通信路を介してホストコンピュータへ渡され高信用コンポーネントによって表示される。これらは前記高信用画像の部分的な表示であって、通常ユーザ対して一意であり、前記高信用コンポーネントが署名動作を制御していることの信用をユーザに提供する。さらに、この好ましい実施形態においては、ホストコンピュータには、高信用表示プロセッサへ直接接続される高信用入力装置が設けられ、これによりユーザは、このホストコンピュータの他の機能によって妨害されることなく、ホストコンピュータと対話することができる。
【0031】
さらに詳しくは、同様の効果を有した高信用表示プロセッサあるいは表示装置は、ホストコンピュータの標準ソフトウェアによって操作することの出来るデータだけでなく、ビデオ処理の段階にあるビデオデータへも関連付けられる。これにより、ホストコンピュータのソフトウェアによって干渉または改竄されることなく、高信用表示プロセッサはデータを表示表面に表示することができる。したがって、高信用表示プロセッサは、どの画像が現在ユーザに対して表示されているかを特定することができる。これは、ユーザが署名している画像(ピクスマップ)を明確に識別するために用いられる。これによる副次的な効果は、従来の特許出願の完全性メトリック、ユーザステータスメッセージ、プロンプト等を含むあらゆるデータを、高信用表示プロセッサが表示画面上に高い信用度で表示可能なことである。
【0032】
図1は、好ましい実施形態によるホストコンピュータシステムを示しており、この図で、ホストコンピュータは、Windows NT(登録商標)オペレーティングシステムの下で動作するパーソナルコンピュータすなわちPCである。図1によれば、ホストコンピュータ100は、視覚表示ユニット(VDU)105、キーボード110、マウス115、及びスマートカードリーダ120、及びローカルエリアネットワーク(LAN)125に接続され、LAN125は次にインターネット130に接続される。本明細書ではスマートカードリーダは独立したユニットであるが、キーボードの一部分を成すように一体化されてもよい。さらに、ホストコンピュータは、高信用入力装置を備える。この図では高信用スイッチ135がキーボードに一体化されている。VDU、キーボード、マウス、及び高信用スイッチは、ホストコンピュータのヒューマン/コンピュータインタフェース(HCI)として考えられる。特に、高信用スイッチ及びディスプレイは、信用のおける制御下で動作する場合、後述するように、「高信用ユーザインタフェース」として考えられる。図1は、後述する本実施形態で用いるためのスマートカード122も図示している。
【0033】
図2は、図1のホストコンピュータのハードウェアアーキテクチャを示しており、この図において、ホストコンピュータ100は、RAM205とROM210からなる主記憶装置へ接続された中央演算処理装置(CPU)200または主処理装置からなり、これらの構成要素のすべてはホストコンピュータ100上のマザーボード215上に取り付けられている。この例では、CPUはPentium(登録商標)プロセッサである。CPUはPCI(Peripheral Component Interconnect)ブリッジ220を介して、ホストコンピュータ100の他の主要なコンポーネントを取り付けるためのPCIバス225に接続される。PCIバス225は、適切な制御部分、アドレス部分、及びデータ部分を含むが、これらについては本明細書において詳述しない。本発明の説明の範囲を越えるPentiumプロセッサ及びPCIアーキテクチャの詳細な説明については、Hans-Peter Messmerによる書籍「The Indispensable PC Hardware Handbook」第3版(Addison-Wesley発行、ISBN0−201−40399−4)を参照して欲しい。もちろん、本実施形態は決してPentiumプロセッサ、Windows(登録商標)オペレーティングシステム、またはPCIバスを用いての実施に限定されるものではない。
【0034】
PCIバス225に取り付けられるホストコンピュータ100のその他の主要なコンポーネントは、SCSIバス235を介してハードディスクドライブ240及びCD−ROMドライブ245へ接続されるSCSI(Small computer system interface)アダプタと、ホストコンピュータ100をLAN125に接続するためのLAN(ローカルエリアネットワーク)アダプタ250と、キーボード110・マウス115・及びスマートカードリーダ120を取り付けるためのIO(入出力)装置225と、高信用表示プロセッサ260と、を含み、前記コンピュータ100は、前記LANアダプタを介してファイルサーバ、プリントサーバ、または電子メールサーバ等の他のホストコンピュータ(図示せず)及びインターネット130と通信できるようになっている。この高信用表示プロセッサは、以下で説明するように、すべての標準表示機能に加えてさらに複数のタスクを処理する。この標準表示機能は、あらゆる標準的なホストコンピュータ100が通常有していると思われる機能であり、Windows NT(登録商標)オペレーティングシステムの下で動作するPCについて言うならば、オペレーティングシステムまたはアプリケーションソフトウェアに関連する画像を表示するための機能である。ここで、キーボード110は、高信用表示プロセッサ260への直接接続されるだけでなく、IO装置255へも接続されている点に留意されたい。
【0035】
主要なコンポーネントはすべて、特に高信用表示プロセッサ260は、ホストコンピュータ100のマザーボード215上にまとめて設けられることが好ましいが、LANアダプタ250及びSCSIアダプタ230はプラグインタイプであってもよい。
【0036】
図3は、高信用表示プロセッサ260の好ましい物理的なアーキテクチャを示す。好ましい実施形態によれば、高信用表示プロセッサ260は、高信用コンポーネントの特徴を有するハードウェアコンポーネントであり、表示プロセッサの標準的な表示機能と、デジタル署名を生成するための追加的な非標準機能と、高信用ユーザインタフェースとを提供する。当業者には、これらの機能を代替として物理的に2つ以上の個別の物理的なコンポーネントへ分割できることが理解できるであろう。しかし、以下の説明を読めば、すべての機能を単一の高信用コンポーネントに統合することが、最も洗練された有用な解決策を提供することが分かるであろう。
【0037】
図3によれば、高信用プロセッサ260は、
マイクロコントローラ300と、
マイクロコントローラ300の動作を制御するための各々の制御プログラム命令(ファームウェア)を含む不揮発性メモリ305、例えばフラッシュメモリと(別の方法としては、高信用表示プロセッサ260をASIC(特定用途向けIC)で実施することも可能であり、この場合、通常大量生産よって高いパフォーマンスとコスト効率を提供するが、開発はさらに高価であり柔軟性は低い)、
高信用プロセッサ260をPCIバスへ接続し、後述するように、CPU200から画像データ(すなわちグラフィックスプリミティブ)を受信すると共に、スマートカード122から高信用画像データも受信するためのインタフェース310と、
少なくとも1つの完全な画像フレーム(最大1670万色をサポートする1280×768のスクリーン解像度の場合、典型的なフレームバッファメモリ315の大きさは1〜2メガバイトである)の格納に十分なVRAM(ビデオRAM)を有するフレームバッファメモリ315と、
ピクスマップデータを、ビデオインタフェース325を介してビデオDACへ接続されてる(アナログ)VDUを動作させるためのアナログ信号へ変換するためのビデオDAC(デジタル/アナログコンバータ)320と、
高信用スイッチ135から信号を直接受信するためのインタフェース330と、
状態情報、特に受信した暗号鍵を格納すると共に、マイクロコントローラ300に作業エリアを提供するための不揮発性メモリ335(例えばDRAM(ダイナミックRAM)またはもっと高価なSRAM(スタティックRAM))と、
より詳細に後述するように、高信用表示プロセッサ260に暗号の識別機能、及び認証、完全性、信用度、及び再生攻撃からの保護、デジタル署名の作成、及び電子証明書の使用、を提供するように設けられたハードウェア暗号化アクセラレータ及びソフトウェア暗号化アクセラレータまたはその両方からなる暗号化プロセッサ340と、
高信用表示プロセッサ260の識別子IDP(例えば、単純なテキスト文字列の記号)と、高信用表示プロセッサ260の秘密鍵SDPと、高信用表示プロセッサ260を署名公開鍵−秘密鍵の対及び機密の公開鍵−秘密鍵の対に結び付けると共に、高信用表示プロセッサ260の対応する公開鍵を含む、VeriSign Inc.等の第三者信用機関によって署名されて提供される証明書CertDPと、を格納する不揮発性メモリ345、例えばフラッシュメモリと、
から構成される。
【0038】
証明書は通常このような情報を含むが、認証局(CA)の公開鍵は含まない。この公開鍵は、通常、「公開鍵インフラストラクチャ」(PKI)を用いて利用できるようになる。PKIの動作は、セキュリティの分野の当業者にとって周知である。
【0039】
証明書CertDPは、公開鍵の出所及びこの公開鍵が正当な公開鍵−秘密鍵の対の一部であることを第三者が信用できるような方法で、高信用表示プロセッサ260の公開鍵を第三者へ供給するために用いられる。ここで、第三者は、高信用表示プロセッサ260の公開鍵を事前に知る、または事前に取得する必要はない。
【0040】
高信用表示プロセッサ260は、自身の識別と高信用プロセスをホストコンピュータへ提供し、また、高信用表示プロセッサは、不正変更防止能力、耐偽造性、及び耐偽作によってこれらの特性を有する。適切な認証機構を有する選ばれたエンティティのみが、この高信用表示プロセッサ260内で実行されているプロセスに影響を及ぼすことができる。ホストコンピュータの通常のユーザも、ネットワークを介してホストコンピュータに接続されるあらゆる通常ユーザまたはあらゆる通常のエンティティも、高信用表示プロセッサ260内で実行されているプロセスにアクセスまたは干渉することはできない。高信用表示プロセッサ260は、「不可侵な」特性を有する。
【0041】
まず、高信用表示プロセッサ260は、ホストコンピュータ100のマザーボードにインストールされた後、高信用表示プロセッサ260との安全な通信により、その識別、秘密鍵、及び証明書を用いて初期化される。証明書を高信用表示プロセッサ260へ書き込む方法は、スマートカードに秘密鍵を書き込むことによってスマートカードを初期化する方法に類似している。前記安全な通信は、信用できる第三者(及びホストコンピュータの製造業者)にのみ知られている「マスターキー」によって確保されており、このマスターキーは、製造時に高信用表示プロセッサ260へ書き込まれ、高信用表示プロセッサ260へのデータの書き込みを可能にするために用いられる。したがって、マスターキーを知らずに高信用表示プロセッサ260に対してデータを書き込むことは不可能である。
【0042】
図3から明らかなように、フレームバッファメモリ315は高信用表示プロセッサ260自身によってのみアクセス可能になっており、CPU200からはアクセスできない。CPU200、もっと重大なものとしては破壊的なアプリケーションプログラムやウィルスが、高信用動作中にピクスマップを変更できないことが不可欠であるため、このことは好ましい実施形態の重要な特徴である。もちろん、CPU200がフレームバッファメモリ315に直接アクセス可能である場合であっても、CPU200がフレームバッファメモリ315にアクセスする可能性があるときに、高信用表示プロセッサ260が絶対的な制御を有するように構成されるならば、同じレベルのセキュリティを提供することは可能であろう。明らかに、後者の方式の方が実施するのは難しいと思われる。
【0043】
次に、話の背景として、グラフィックスプリミティブがホストコンピュータ100によって生成される典型的なプロセスについて説明する。まず、特定の画像を表示したいアプリケーションプログラムが、グラフィカルAPI(アプリケーションプログラミングインタフェース)を介してオペレーティングシステムに対して適切な呼び出しを行う。画像を表示する目的のため、APIは通常、アプリケーションプログラムに対して、Windows NT(登録商標)によって提供されているように、特有の基礎的な関数にアクセスするための標準的なインタフェースを提供する。APIの呼び出しによって、オペレーティングシステムが各グラフィックスドライバライブラリルーチンを呼び出し、その結果、表示プロセッサ、この例では高信用表示プロセッサ260に特有のグラフィックスプリミティブが生成される。これらのグラフィックスプリミティブは、最終的にはCPU200によって高信用表示プロセッサ260へ渡される。グラフィックスプリミティブの例としては、「ポイントxからポイントyまで太さzで線を引く」または「ポイントw、x、y、zで囲まれた領域を色aで塗りつぶす」等がありうる。
【0044】
マイクロコントローラ300の制御プログラムは、マイクロコントローラを制御して、受信したグラフィックスプリミティブを処理するための標準的な表示機能を提供する。具体的には次のように行われる:CPU200からグラフィックスプリミティブを受信し、これを処理して、VDU105の画面に表示される画像を直接表すピクスマップデータを形成する。ここでピクスマップデータは、一般に、VDU105の画面上でアドレス指定可能なピクセルの赤色ドット、緑色ドット、及び青色それぞれのドットに対する強度値を有する;このピクスマップデータをフレームバッファメモリ315へ格納する;定期的に、例えば1秒当たり60回、フレームバッファメモリ315からピクスマップデータを読み出し、ビデオDACを用いてこのデータをアナログ信号へ変換し、このアナログ信号をVDU105に送信して、要求された画像を画面上に表示する。
【0045】
標準表示機能以外に、制御プログラムは、CPU200からだまし取った表示画像データを高信用画像データと組み合わせて、単一のピクスマップを形成する機能を有する。さらに制御プログラムは、暗号化プロセッサ及び高信用スイッチ135との対話の管理も行う。
【0046】
高信用表示プロセッサ260は、ホストコンピュータ100の「表示システム」全体の一部を形成しており、その他の部分は通常オペレーティングシステムの表示機能であって、その他の部分は、アプリケーションプログラムにより「呼び出す」ことが可能になっていて、グラフィックスプロセッサ及びVDU105の標準表示機能へアクセスする。言い換えれば、ホストコンピュータ100の「表示システム」は、画像を表示することに関係するあらゆるハードウェアまたは機能を含んでいる。
【0047】
すでに述べたように、本実施形態は、高信用表示プロセッサ260とユーザのスマートカード122との間の対話に依存している。好ましい実施形態による使用に適したスマートカードの処理エンジンは、図4に示される。この処理エンジンは、データのデジタル署名及びどこか別の場所から受信した署名の検証を補助するために、標準的な暗号化及び復号化の関数を実行するためのプロセッサ400を備える。本実施形態において、このプロセッサ400は、内蔵型オペレーティングシステムを有し、ISO7816−3、4、T=0、T=1、及びT=14規格に規定される非同期プロトコルを介して外部の世界と通信するよう構成される8ビットマイクロコントローラである。スマートカードはまた、不揮発メモリ420例えばフラッシュメモリを含み、この不揮発メモリは、スマートカード122の識別子ISC、データにデジタル署名するのに使用される秘密鍵SSC、及び第三者信用機関によって提供されこのスマートカードを公開鍵−秘密鍵の対に結び付けると共にスマートカード122の対応する公開鍵(高信用表示プロセッサ260の証明書CertDPと同じ性質)を含む証明書CertSCを含む。さらに、スマートカードは、不揮発性メモリ420に「シール」データSEALを含み、より詳細に後述するように、このシールデータは、プロセスがユーザのスマートカードを用いて安全に動作しているということをユーザへ示すために、高信用表示プロセッサ260によってグラフィックで表現される。好ましい実施形態において、シールデータSEALは、一意の識別子としてユーザによって最初に選択された画像、例えばユーザ自身の画像のピクスマップの形態であり、周知の技術を用いてスマートカード122にロードされる。プロセッサ400は、状態情報(受信した鍵等)を格納するため、及びプロセッサ400にワークエリアを提供するために、揮発性メモリ430例えばRAMへアクセスし、また、スマートカードリーダと通信するために、インタフェース440例えば電気的な接点へアクセスする。
【0048】
シール画像は、ピクスマップとして格納される場合、比較的大量のメモリを使用する可能性がある。これは、記憶容量が比較的限られているスマートカード122に画像を格納する必要がある状況では、明らかに欠点となりうる。メモリ要件は、いくつかの異なる技術によって低減することができる。例えば、シール画像は次のものを含みうる:高信用表示プロセッサ260によって解凍できるように圧縮された画像;高信用表示プロセッサ260によって生成される反復モザイクの基本要素を形成するサムネイル画像;高信用表示プロセッサ260が単一の大きな画像として表示できるような、または上記のようにサムネイル画像として使用できるような英数字キャラクタ集合等の普通に圧縮された画像。あらゆる代替的方法において、シールデータ自体は暗号化形態であってもよく、表示可能になる前には、高信用表示プロセッサ260がデータを復号化する必要がある。あるいは、シールデータは、ホストコンピュータ100またはネットワークサーバに格納されうる多くの画像のうち1つを識別する暗号化されたインデックスであってもよい。この場合、インデックスは、安全な通信路を介して高信用表示プロセッサ260によって取り込まれ、正しい画像を取得して表示するために復号化される。さらに、シールデータは、画像を生成するために、適切にプログラムされた高信用表示プロセッサ260によって解釈することができる命令(例えば、PostScript(登録商標)命令)を含むこともできる。
【0049】
図5は、高信用署名動作を実施する状況におけるホストコンピュータ100、高信用表示プロセッサ260、及びスマートカード122の機能間の論理的な関係を示す。高信用署名動作に関わるプロセスを明確に表現するため、ホストコンピュータ100内への論理的な分離から離れ、表示プロセッサ260またはスマートカード122の各機能が物理的なアーキテクチャから独立して表現されている。さらに、「標準表示機能」は、高信用機能から線x―yによって分けられ、この線の左側にある機能は高信用機能であることを明示している。図において、機能は楕円で表され、機能が作用する「不変の」データ(署名処理中の文書画像を含む)はボックスで示される。単に明確化したいという理由から、状態データまたは受信された暗号鍵等の動的データは図示されない。楕円間及び楕円とボックスの間の矢印は、それぞれ論理的な通信路を表す。
【0050】
図5によれば、ホストコンピュータ100は次のものを含みうる:文書への署名を要求するアプリケーションプロセス500、例えばワードプロセッサプロセス;文書データ505;オペレーティングシステムプロセス510;アプリケーションプロセス500から表示呼び出しを受信するためのAPI511プロセス;キーボード110からアプリケーションプロセス500への入力を提供するためのキーボードプロセス513;マウス115からアプリケーションプロセス500への入力を提供するためのマウスプロセス514;APIプロセス511を介してアプリケーションプロセスから受信した呼び出しに基づいてグラフィックスプリミティブを生成するためのグラフィックスプリミティブプロセス515。APIプロセス511、キーボードプロセス513、マウスプロセス514、及びグラフィックスプリミティブプロセス515は、オペレーティングシステムプロセス510の最上部に構築され、オペレーティングシステムプロセス510を介してアプリケーションプロセスと通信する。
【0051】
ホストコンピュータ100の残りの機能は、高信用表示プロセッサ260によって提供される機能である。これらの機能は次のものを含む:高信用表示プロセッサ260のすべての動作を統合させるため、及びグラフィックスプリミティブプロセスからグラフィックスプリミティブを受信するため、及びアプリケーションプロセス500から署名要求を受信するための制御プロセス520;制御プロセス520からの要求に応答して文書署名手順を表す署名された要約を生成するための要約プロセス522;スマートカード122からピクスマップのデジタル署名を取得するための署名要求プロセス523;スマートカード122からシールデータ540を取得するためのシールプロセス524;要約プロセス522、署名要求プロセス523、及びシールプロセスによって要求された呼び掛け/応答及びデータ署名タスクを行うため、スマートカード122との対話を行うスマートカードプロセス525;格納されているピクスマップデータ531を読み出し、このピクスマップデータを署名要求プロセス523へ渡すように署名要求プロセス523によって要求された場合、これを行うためのピクスマップ読み出しプロセス526;制御プロセス520から受信したグラフィックスプリミティブ及びシール画像データに基づいてピクスマップデータ531を生成するためのピクスマップ生成プロセス527;ピクスマップデータを読み出してこれをアナログ信号へ変換し、変換した信号をVDU105へ送信するための画面リフレッシュプロセス528;高信用スイッチ135がユーザによって起動されたか否かを監視するための高信用スイッチプロセス529。スマートカードプロセス525は、高信用表示プロセッサの識別データIDP、秘密鍵SDPデータ、及び証明書CERTDPデータ530へアクセスできるようになっている。実際に、スマートカード及び高信用表示プロセッサは、標準的なオペレーティングシステムの呼び出しを介して互いに対話する。
【0052】
スマートカード122は、シールデータ540と、高信用表示プロセッサ260と対話して呼び掛け/応答及びデータ署名タスクを行うための表示プロセッサプロセス542と、スマートカード識別データISC・スマートカード秘密鍵データSSC・スマートカード証明書データCertSC543と、を有する。
【0053】
次に、図1〜5に示す構成を用いて文書に署名するための好ましいプロセスについて、図6の流れ図を参照して説明する。まず、ステップ600において、ユーザはアプリケーションプロセス500を制御して、文書にデジタル署名するための「署名要求」を起動する。アプリケーションプロセス500は、専用ソフトウェアプログラム、あるいはMicrosoft Word等の標準的なワードプロセッサのパッケージへの追加、例えばマクロ等、によって実現することができる。いずれの場合であっても、署名要求またはアプリケーションプロセス500はどちらも安全である必要はない。ユーザが署名要求を開始するとき、画面全体がすでに署名された文書で満たされていないならば、ユーザは署名したい文書の指定も行う。例えば、この署名したい文書は、画面全体の領域の一部に表示される場合もあれば、特定のウィンドウに表示される場合もある。画面上の特定エリアの選択は単純なタスクであり、(WIMP環境を用いた)いくつかの方法、例えばある領域を画定するユーザ定義のボックスを描画すること、あるいは単に座標を指定することによって、達成することができる。
【0054】
次に、ステップ602において、アプリケーションプロセス500は、画面上の(画定されたエリアまたはウィンドウ内に)表示されている画像に署名するため、制御プロセス520を呼び出し、制御プロセス520はこの呼び出しを受信する。これと同時に、図示されていないが、制御プロセス520は、グラフィックスプリミティブプロセスから任意のグラフィックスプリミティブを受信し、これをピクスマップ生成プロセス527へ転送する。文書に署名するためのアプリケーションプロセス500からの呼び出しは、文書のエッジの座標(a、b、c、d)を含む。この座標の送信によって、画面の表面全体、ある完結したウィンドウ、または画面の任意の部分等に広く署名できるようになることに留意して欲しい。次に、アプリケーションプロセス500は、制御プロセス520が画像の署名を返すのを待つ。
【0055】
署名要求に応答し、ステップ604において、制御プロセス520は、要求時からプロセスが完了するまで、強制的に署名する画像を「スタティック(静的)」にする。ここで、「スタティック」とは、文書画像が高信用表示プロセッサ260以外によっては変更不可能なことを意味する。これにより、ユーザは、署名処理中常に、自身が見ているものが署名してるものであると確信を得ることができる。本実施形態では、制御プロセス520は、それ以上のグラフィックスプリミティブを「受け付けない」すなわち処理しないことによって、「スタティック」表示を達成する。状況によっては、グラフィックスプリミティブプロセス(またはその均等物)は、制御プロセス520がさらなるグラフィックスプリミティブを受信できるよう準備されるまで、グラフィックスプリミティブを「バッファリング」してもよい。他の状況によっては、署名される画像のグラフィックスプリミティブを単純に失われてもよい。文書画像が全画面を満たしている場合、画像をスタティックにすることは、単にいずれのグラフィックスプリミティブも処理しない場合である。しかし、署名する画像が全画面の一部分、例えばウィンドウのみを形成する場合、制御プロセス520は、受信したグラフィックスプリミティブが「スタティック」領域に影響するか否かを決定し、影響するものを拒絶する必要がある。このようにして、フレームバッファメモリ315内のスタティック文書画像のピクスマップは、この文書画像がスタティックである間、グラフィックスプリミティブプロセスからのあらゆる命令、またはCPU200上で実行されている他のあらゆるプロセスによって変更されないよう保持される。
【0056】
いったん文書画像がスタティックになると、ステップ606において、図10cを参照してより詳細に後述するように、制御プロセス520は、署名する文書をハイライトするようにピクスマップを修正するため、アプリケーションプロセス500によって提供される座標(a、b、c、d)を含めた呼び出し命令をピクスマップ生成プロセス527へ送る。次に、ステップ608において、スマートカードプロセス525が判定を行ったときに、スマートカード122がまだスマートカードリーダ120に挿入されていないと判定された場合には、制御プロセス520は、ユーザにスマートカード122を挿入するよう求めるグラフィックメッセージを表示するようピクスマップ生成プロセスへ命令する。このメッセージには、10秒のカウントダウンタイマCOUNTが付加される。スマートカード122を受け取らなかった結果、カウントダウンタイマが切れる(すなわち、ゼロに達する)と、ステップ614において、制御プロセスは署名動作をキャンセルし、例外信号をアプリケーションプロセス500へ返す。これに応答し、ステップ616において、アプリケーションプロセス500は適切なユーザメッセージを表示する。スマートカード122が時間内に挿入される場合、またはすでに存在していた場合、プロセスは継続する。
【0057】
次に、ステップ618において、制御プロセス520はシールプロセス524を呼び出し、シールプロセス524はスマートカードプロセス525を呼び出し、スマートカード122からシールデータ540を取得する。追加的に、制御プロセス520は、ピクスマップ生成プロセス527を呼び出し、ユーザにシールデータ540の回復を試行中であることを示す別のメッセージを表示することもできる。ステップ618及び620において、高信用表示プロセッサ260のスマートカードプロセス525及びスマートカード122の表示プロセッサプロセス542が、相互認証を行うために周知の「呼び掛け/応答」技術を用いて対話を行い、シールデータ540をスマートカードから制御プロセス520へ返す。次に、この相互認証プロセス及びシールデータ540の受け渡しの詳細について、図7を参照して説明する。
【0058】
図7によれば、スマートカードプロセス525は、シールデータSEAL540を返送してもらうための要求REQ1をスマートカード122へ送信する。表示プロセッサプロセス542はナンスR1を生成し、これをスマートカードプロセス525への呼びかけのときに送信する。スマートカードプロセス525はナンスR2を生成し、これをナンスR1と連結し、連結R1‖R2をスマートカードの秘密鍵で署名して署名sSDP(R1‖R2)を生成し、連結R1‖R2、署名sSDP(R1‖R2)、及び証明書CertDPをスマートカード122の表示プロセッサプロセス542へ返す。表示プロセッサプロセス542は、証明書CertDPから高信用表示プロセッサ260の公開鍵を抽出し、これをナンスR1及び署名sSDP(R1‖R2)に用いて、連結R1‖R2と比較することにより認証し、シール要求が所望の高信用表示プロセッサ260からきたものであること、及び高信用表示プロセッサ260がオンラインであることを確認する。ナンスは、古くから繰り返される信用できないプロセスより引き起こされる本物の署名を用いた不正(「再生攻撃」と呼ばれる)から、ユーザを保護するするために用いられる。
【0059】
次に、スマートカード122の表示プロセッサプロセス542は、R2をそのスマートカードのシールデータSEAL540と連結し、秘密鍵SSCを用いて連結R2‖SEALに署名して署名sSSC(R2‖SEAL)を生成し、秘密鍵SSCを用いてシールデータSEAL540を暗号化して暗号化シールデータ540sSSC(SEAL)を生成し、ナンスR2、暗号化シールデータsSSC(SEAL)、署名sSSC(R2‖SEAL)、及びスマートカードの証明書CertSCを、高信用表示プロセッサ260のスマートカードプロセス525へ送信する。スマートカードプロセス525は、証明書CertSCからスマートカードの公開鍵を抽出し、これを用いてナンスR2及び署名sSSC(R2‖SEAL)を検証し、暗号化シールデータ540sSSC(SEAL)からシールデータSEAL540を復号化し、最終的にこのシールデータSEAL540を、シールプロセス524を介して制御プロセス520へ返す。
【0060】
図6に戻り、ステップ622において、制御プロセス520はシールデータSEAL540を受信すると、このデータをピクスマップ生成プロセス527へ転送し、図10dを参照して後述するように、シール画像を生成し、これを用いて署名する文書をハイライトするように、ピクスマップ生成プロセス527へ命令する。次に、ステップ624において、制御プロセス520は、署名動作を続けたいか否かをユーザに尋ねるメッセージを表示するように、ピクスマップ生成プロセスへ命令する。このメッセージには、10秒のカウントダウンタイマCOUNTが付加される。ステップ626において、ユーザから応答を受信しなかった結果カウントダウンタイマが切れると、ステップ628において、制御プロセスは署名動作をキャンセルし、例外信号をアプリケーションプロセス500へ戻す。これに応答して、アプリケーションプロセス500は、ステップ629において、適切なユーザメッセージを表示する。ステップ630において、ユーザが、10秒の時間期限内に高信用スイッチ135を起動することによって明示的に応答した場合、プロセスは継続する。継続の許可は、代替として、適当なレベルの認証が用いられるなれば、高信用スイッチ135を用いることによる方法だけではなく、信用度の低い通信路を介して、さらには適切なソフトウェアルーチンを用いることによっても提供することができる。あるいは、信用のおけるスマートカードが単に存在することで、署名を行うための十分な認証と成り得ると判断されるかもしれない。このような代替は、セキュリティポリシーの問題である。
【0061】
次に、ステップ632において、制御プロセス520は、文書画像の署名を要求するように署名要求プロセス523へ命令し、署名要求プロセス523がピクスマッププロセス526を呼び出して、署名する文書のピクスマップデータのダイジェストを返すよう要求し、ピクスマップ読み出しプロセス526は各ピクスマップデータを読み出し、ハッシュアルゴリズムを用いてピクスマップデータのダイジェストDPIXを生成し、このダイジェストを署名要求プロセス523へ返す。さらに、ピクスマップ読み出しプロセス526は「表示フォーマットデータ」FDを生成する。FDには、後にピクスマップデータからテキストベースの文書を再構築するために必要とされる情報が含まれ(文書テキストを再構築する必要がない場合もあるため、FDは必須ではない)、これを同様に署名要求プロセス523へ返す。例えば、この表示フォーマットデータFDには、「1024×768」等の画面上のピクセル数及びその割り当て、文書のテキストに用いられるフォントタイプ及びサイズ(文書がテキストベースの場合)等が含まれる(後述するように、少なくともこの情報のいくつかは、置換または追加として、文書の「要約」に含まれる可能性がある)。ステップ634及び636において、署名要求プロセス523は、周知の呼び掛け/応答プロセスを用いてスマートカード122の表示プロセッサプロセス542と対話し、文書の個々の署名を生成する。これについて、次に図8の流れ図を参照して詳細に説明する。
【0062】
図8において、スマートカードプロセス525は、前記ダイジェストDPIX及び表示フォーマットデータFDの署名を生成するため、スマートカード122に対して要求REQ2を生成する。スマートカード122の表示プロセッサプロセス542は、ナンスR3を生成し、これをダイジェストDPIX及び表示フォーマットデータFDを返送してもらうための呼びかけと共にスマートカードプロセス525へ送信することによって、応答する。スマートカードプロセス525は、ダイジェストDPIXを表示フォーマットデータFD及びナンスR3と連結し、この連結DPIX‖FD‖R3に署名して署名sSDP(DPIX‖FD‖R3)を生成する。次に、スマートカードプロセス525は、連結DPIX‖FD‖R3及び各々の署名sSDP(DPIX‖FD‖R3)をスマートカード122の表示プロセッサプロセス542へ送信する。表示プロセッサプロセス542は、高信用表示プロセッサの公開鍵(シールデータ540の交換においてすでに受信している)を用いて、高信用表示プロセッサの署名sSDP(DPIX‖FD‖R3)及びナンスR3を検証し、このダイジェストが現在の画像のダイジェストであることを証明する。表示プロセッサプロセス542は、秘密鍵を用いてピクスマップDPIXのダイジェスト及び表示フォーマットデータFDに署名し、2つの署名sSSC(DPIX)とsSSC(FD)をそれぞれ生成する。次に、スマートカードの表示プロセッサプロセス542は、署名されたダイジェストsSSC(DPIX)及び署名された表示フォーマットデータsSSC(FD)を高信用表示プロセッサ260のスマートカードプロセス525へ返す。スマートカードプロセス525は、次に、スマートカードの公開鍵(シールデータ540の交換の結果すでにある)を用いてこのダイジェストDPIX及び表示フォーマットデータFDを検証すると共に、スマートカードの署名を検証し、スマートカードがいまだにオンラインであることを証明する。
【0063】
図6へ戻り、ステップ638において、高信用表示プロセッサ260のスマートカードプロセス525は、ピクスマップPIX、スマートカードのピクスマップダイジェストの署名されたものsSSC(DPIX)、及び表示フォーマットデータの署名されたものsSSC(FD)を連結して画像の個々の署名PIX‖sSSC(DPIX)‖sSSC(FD)を形成し、署名要求プロセス523を介してこれを制御プロセス520へ返す。制御プロセス520は、この個々の署名をアプリケーションプロセス500へ返す。次に、アプリケーションプロセス500は、ステップ640においてこの個々の署名を格納し、ステップ642において署名動作を「要約する」ために、制御プロセス520へさらなる呼び出しを行うことによって応答する。要約の目的は署名を完了させることにあり、これについては、図9の流れ図及び以下の要約の例を参照して説明する。
Figure 0004932108
【0064】
ステップ644において、制御プロセス520は、画像の数(上記要約例では2つ)に加え、画像の個々の署名(例の6、10行目)、高信用表示装置を識別するラベル(例の1行目)、現在時刻と日付(例の2行目)、及びこの要約自体の署名されたダイジェスト(例の14行目)、を含む要約メッセージ全体を生成するために、要約プロセス522を呼び出す。各々の画像に対して、この要約は、ピクセル表現の画像サイズ(例えば画像1の場合560×414)、ピクセル表現の画面の原点からのオフセット(例えば画像1の場合187,190)、及びピクセル表現の表示解像度(例えば画像1の場合1024×768)も含んでいる。
【0065】
次に、ステップ646において、要約プロセス522は、要約のダイジェストDSUMを生成し、呼び掛け/応答プロセスを用いてスマートカード122と対話することにより要約ダイジェストDSUMの署名を生成するために、高信用表示プロセッサ260のスマートカードプロセス525を呼び出す。これについては、次に図9を参照して説明する。
【0066】
図9において、スマートカードプロセス525は、要約のダイジェストDSUMの署名を生成するため、スマートカード122に対して要求REQ3を生成する。スマートカードの表示プロセッサプロセス542はナンスR4を生成し、要約のダイジェストDSUMを返送してもらうための呼びかけの際に送信する。スマートカードプロセス525は、ダイジェストDSUMをナンスR4と連結し、この連結DSUM‖R4に署名して署名sSDP(DSUM‖R4)を生成する。次に、高信用表示プロセッサ260のスマートカードプロセス525は、連結DSUM‖R4及び各々の署名sSDP(DSUM‖R4)を表示プロセッサプロセス542へ送信する。次に、表示プロセッサプロセス542は、高信用表示プロセッサの公開鍵(シールデータ540の交換からすでにある)を用いて高信用表示プロセッサの署名及びナンスR4を検証し、この要約が現在の要約であることを証明する。次に、表示プロセッサプロセス542が、秘密鍵を用いて要約のダイジェストDSUMに署名し、署名されたダイジェストsSSC(DSUM)をスマートカードプロセス525へ送信する。高信用表示プロセッサ260のスマートカードプロセス525は、スマートカードの公開鍵を用いてこのダイジェストを検証すると共に、スマートカードの署名を検証し、スマートカードがいまだにオンラインであることを証明する。
【0067】
図6へ戻り、ステップ652において、スマートカードプロセス525は、要約プロセス522を介して、署名された要約のダイジェストsSSC(DSUM)と連結された要約SUM(結果、連結SUM‖sSSC(DSUM)を形成する)を制御プロセス520へ返し、制御プロセス520がこの要約SUM‖sSSC(DSUM)をアプリケーションプロセス500へ返す。ステップ654において、アプリケーションプロセス500がこの要約を受信する。
【0068】
格納もしくは他のエンティティへの送信のため、この個々の署名及び要約は、アプリケーションプロセス500、または契約書の証明方法として本発明に記載している範囲以外の様々な方法でホストコンピュータ100で実行されている任意の他のプロセスによっても、使用することができる。
【0069】
最後に、ステップ656において、制御プロセス520が、文書画像に関連するグラフィックスプリミティブの受信及び処理を再開することにより画面の静止化を解除し、これによって実際に、画面の制御をアプリケーションアプリケーションプロセス500または他のアプリケーションソフトウェアへ返す。別な方法として、ユーザが、典型的には別のユーザメッセージに応答して、再び高信用スイッチ135を起動するまで、制御がアプリケーションプロセス500に戻されないようにすることも可能であり、この場合タイムアウト時間は設けられない。これによって、ホストコンピュータが標準の動作すなわち高信用でない動作へ戻る前に、ユーザにスタティック文書画像を見直すためのより多くの時間を与えることができる。
【0070】
署名された文書を検証するためには、個々の署名PIX‖sSSC(DPIX)‖sSSC(FD)及び要約SUM‖sSSC(DSUM)の双方が検証されなければならない。このような検証方法は、セキュリティの分野における当業者には周知である。例えば、ピクスマップのダイジェストに対する署名sSSC(DPIX)は公開鍵を用いて検証される。この公開鍵は、公的に入手可能であり、好ましくは認証局(CA)によって供給されるデジタル証明書CertSC内に含まれる。次に、検証されたダイジェストは、ピクスマップからダイジェストを再計算することによって得られる値と比較される。この場合、ダイジェストは標準的な周知の定義されたハッシュ関数を用いて生成される。この照合が正確に一致する場合、署名の検証は完了する。要約を含む他の署名についても同様の方法で照合される。
【0071】
人が署名された文書の表現方法を検証できるようにするための好ましい方法は、ピクスマップを変換して画像内へ戻すことである。このためには、アプリケーション、実際には高信用表示プロセッサ260が、ピクスマップデータPIXを各ホストコンピュータ100のフレームバッファメモリ315内へロードする必要がある。これにより、署名者によって既に署名された文書を人が閲覧することができるようになる。
【0072】
ここでは、署名する文書をハイライトする段階について、図10a〜10dを参照して説明する。好ましい実施形態において、シールデータSEALは、高信用画像のピクスマップからなる。例えば、図10aに示されるように、シールデータ540のピクスマップは、「スマイリーフェース」1000を定義する。図10bは、画面(図示せず)のウィンドウ1010内の例示的なこれから署名される文書Doc1の画像1005を示す。ハイライトを行う最初のステップでは、画像がスタティックになった後であってシールデータを受信する前の段階で、高信用表示プロセッサ260が、図10cに示すように、フレーム1020を文書画像1005の周囲へ付加することによって、署名する文書をハイライトする。また、スマートカード122がない場合には、これもまた図10cに示されるように、ユーザにスマートカードを挿入するよう求めるユーザメッセージ1030が、10秒カウントダウンタイマ1035と共に表示される。次に、スマイリーフェースのピクスマップ画像がスマートカード122から取得されると、図10dに示されるように、高信用表示プロセッサ260が、スマイリーフェースの複数のインスタンス1045またはモザイクを用いてフレーム1040を装飾する。さらに、図10dに示すように、高信用表示プロセッサ260は、署名プロセスを継続したいか否かをユーザに尋ねるさらなるユーザメッセージ1050を、10秒カウントダウンタイマ1055と共に生成する。装飾されたフレーム1040は、ユーザに対して、適切なスタティック画像領域が選択されていることを示すと共に、高信用表示プロセッサ260が完全にその署名プロセスの制御中であることの高レベルの信用をユーザへ与える。また、ユーザ自身のシール画像の存在は、メッセージが、なにか別の(おそらく破壊的な)ソフトウェアアプリケーションまたはハードウェアデバイスからではなく高信用表示プロセッサ260からのものであるという信用をユーザに提供する。
【0073】
図10e及び図10gは、図10c及び図10dに示される「フレーム」の視覚的作用の代替を示す。図10eでは、4つの単一のシール画像1060が、アプリケーションプロセス500によって提供される座標を用いてスタティック文書画像の角に配置され、スタティック画像領域を画定している。図10fでは、このスタティック画像は、単一のシール画像を示すように背景を変更することで画定される。図10gでは、スタティック画像は、シール画像のモザイクを示すように背景を変更することで画定される。当業者は、本発明の記載を鑑みて、静的画像をハイライトすることの可能な他の視覚的作用を思いつくことができるであろう。さらに、例えば、「現在、シールデータ540取得中...」、「現在、文書署名作成中...」等、署名動作中にさらなる状態メッセージを含めることが望ましいこともある。
【0074】
高信用表示プロセッサ260には、シール画像及びメッセージを画面上の正しい場所に表示可能であることが要求されることが理解されよう。シール画像及びメッセージ画像は、署名プロセス中に現れその後は消失するという点において、明らかに一時的なものである。第1の画像を第2の画像で覆い、これによって第1の画像の一部を隠してから、第2の画像を除去し、その後第1の画像の隠された部分を復元するという周知の標準的な表示技術がある。このような技術は当然のこととして、通常のウィンドウ環境、例えば複数のウィンドウが互いに重なりあうよう環境において用いられる。高信用表示プロセッサ260は、シール画像及びメッセージ画像を標準ディスプレイに重ねるという目的のため、これらの標準技術の1つまたは複数を実施するように構成される。
【0075】
状況によっては、文書が大きすぎてそのすべてが一度にVDU105の画面に収まりきらなくても、なお容易に読める場合がある。明らかに、本実施形態を実用的にするためには、ユーザが、署名する前にその文書を極めてはっきりと読めることが重要である。そのため、次に説明するように、文書を複数の画面ページに分割することも可能であり、この場合、各々のページが署名されて前のページの署名と暗号的に結び付けられることが必要とされる。
【0076】
まず、アプリケーションプロセス500が第1ページの画像を表示させ、上述したように、署名を行うため高信用表示プロセッサ260に対して呼び出しを行う。高信用表示プロセッサ260が、要約を要求する代わりに個々の署名を返すと、アプリケーションプロセス500が高信用表示プロセッサ260に第2ページの画像を表示し、その画像に署名するよう命令する。明らかに、この場合、高信用表示プロセッサ260は、アプリケーションプロセス500によるこのような要求を補助するように構成される。すべての画像が署名され、アプリケーションプロセス500に返された後にのみ、アプリケーションプロセス500は要約の要求を行う。そして、この要約は、上述の2ページの要約内に例示されるように、マルチページ文書において署名された画像の数を含む。
【0077】
マルチページ文書の最初のページは単一ページと同じ方法で署名され、その結果個々の署名が返される。しかし、署名を行うため後続する画像が存在する場合、高信用表示プロセッサ260は、先行する署名要求後に要約要求を受信しなかったことから、これらがマルチページ文書の一部であることを認識する。その結果、高信用表示プロセッサ260は、後続のページに署名を行うための許可を求める別のメッセージをユーザに対して表示する。これに応答して、マルチページ文書に署名中のユーザは、前述と同様の信用のおける許可された通信路(例えば、高信用スイッチ135)を用いて、このページが前のページに関連していること及びこれにも署名すべきであることを高信用表示プロセッサ260に対して承認する。高信用表示プロセッサ260がこのマルチページ承認を受信すると、以前に署名されたページの署名を現在のページのピクスマップと連結し、連結のダイジェストを作成し、これを署名のためスマートカードへ送信する。これは、現在のピクスマップだけのダイジェストの送信に代えて行われる。このプロセスは、後続のページを前のページに暗号的に「連鎖」させ、検出なしではページを再構成不可能なように、また検出なしでは中間ページを挿入または削除不可能なようにする。
【0078】
最初のページの正当性は、単一ページとまったく同じ方法でチェックすることができる。後続ページの正当性は、現在のピクスマップのダイジェストが、連結された前の署名及び現在のピクスマップのダイジェストで置換されること以外は、単一ページの場合と同じ方法を用いてチェックすることができる。
【0079】
後続のページを前のページに暗号的に連鎖させる多くの方法があることが理解されよう。これらの方法は、本説明の記載を鑑みて、セキュリティの分野における当業者には明白であろう。
【0080】
さらにセキュリティを強化するため、マルチページ文書の各ページの画像は、従来のフッタ「xページ/y」を含むように構成することができる。ここで、「x」はページ番号であり、「y」は総ページ数である。これは、単に文書を読むことで、なくなった文書を容易に検出できるようにする。
【0081】
本発明の文書署名方式の大きな利点は、署名された文書が、再署名または副署名された文書であってもよいという点である。そのため、文書の要約は監査証跡を含むことが好ましい。再署名及び副署名に関しては多くの変形が存在するが、とは言え(明らかに)さらに署名する前に、電子的な完全性チェックを常に行うべきである。極端な例としては、新しい署名者が、各々の署名された画像について閲覧・承認・再署名を順に行い、効率的に元の署名を新しい署名に置きかえることが可能である。例えばこの方法は、あるユーザが、誰か別の人によってそのユーザのために用意した文書を署名する場合に用いられる。他の極端な例としては、新しい署名者が文書をまったく閲覧する必要がない場合、元の要約に署名することによって、元の署名を単に「十分検討せずに認可する」こともできる。これは、信用のおける従業員の成果を管理者が副署名するのに便利である。
【0082】
再署名操作の場合、アプリケーションプロセス500は再署名要求を発し、署名された文書(及び個々の署名と要約)を高信用表示プロセッサ260へ送信する。高信用表示プロセッサ260は、署名された文書を署名者の公開鍵を用いて検証し、文書(または文書の各ページの)のピクスマップを復元し、この検証された画像を、署名要求アプリケーションからの元の画像であるかのように、正しい順序で新しいユーザに対して表示する。ユーザは、例えば前述のように高信用スイッチ135を用いて個々の各画像の受け入れを承認し、新しいユーザが所有するスマートカードによって上述のように画像に署名させる。この結果、新しいユーザが所有するスマートカードにより署名されたことを除き、元の文書と同じ署名された文書が生成される。
【0083】
同様に、副署名操作の場合、アプリケーションプロセス500は、副署名要求を発し、署名された文書(及び個々の署名と要約)を高信用表示プロセッサ260へ送信する。高信用表示プロセッサ260は署名された文書を検証し、検証された各画像を、アプリケーションプロセス500からの元の画像であるかのように、正しい順序で新しいユーザに対して表示する。ユーザは、各々の個々の画像の受け入れを承認し、高信用表示プロセッサ260が、新しいユーザが所有するスマートカードを用いて元の要約に署名する。オプションとして、新しいユーザは、新しいユーザによって署名された前ユーザの公開鍵の証明書を提供し、後の署名の検証に関連する処理オーバヘッドを軽減する。
【0084】
明らかに、再署名及び副署名の実施に関しては様々な変形があり、これらは本発明の記載に鑑みて当業者にとって明らかとされるであろう。
【0085】
文書は署名、再署名、及び/または副署名の履歴を持つことが可能なため、本実施形態は、文書の要約の一部を形成する監査情報を便利に提供する。この監査情報は、文書の署名履歴を追跡できるようにする。この監査情報には、文書の以前の状態に関するデータ及び文書の新しい状態を生成するために新しいユーザによって行われた操作(行動)が含まれる。監査情報は、ユーザから独立していなければならないため、監査情報は高信用表示プロセッサ260によって署名される。監査情報には、常にあらゆる以前の要約情報(以前の署名者によるその要約情報の署名を含む)が含まれる。署名された文書が初めから作成された場合、高信用表示プロセッサ260の識別ラベルIDPが監査ルートとして挿入される。また、監査情報は、新しいユーザによってどの個々の画像が閲覧されて承認されたか、及び、文書が初めから作成されたのかあるいは新しいユーザによって再署名または副署名されたかどうか、の指示も有することが好ましい。監査情報を含む要約を作成するため、スマートカードには、前記要約の内容だけのダイジェストではなく、前記要約の内容と連結した監査情報のダイジェストが送信される。残りのプロセスは、前述した通りである。
【0086】
文書を署名するためのプロセスの拡張としては、ピクスマップデータに署名を行う前に、高信用表示プロセッサ260が可逆的圧縮アルゴリズムを用いてピクスマップを圧縮し、個々の署名の格納及び送信に関連するオーバヘッドを低減させる方法もある。
【0087】
ピクスマップは、標準的な圧縮アルゴリズム、例えばLZ−1もしくはLZ−2圧縮を応用した符号語ベースのアルゴリズムによって圧縮することができる。あるいは、ピクスマップの圧縮に、OCR(光学文字認識)に類似した技術を使用することもできる。この場合、状況は、従来のOCRよりも低い解像度であるとはいえ、入力データが完全に「走査」される点において従来のOCRとは異なる。ピクスマップのOCR圧縮されたものは、ピクスマップ用のアルファベットを生成するために「BLOBマッチング」を用いて生成することができる。ピクスマップは、このアルファベットの各々の文字のピクスマップを構成し、メッセージが元のピクスマップを表現するように、これらの文字を用いてメッセージを形成する。このことは、ピクスマップが新しいアルファベットへ圧縮され、メッセージがこの新しいアルファベットで書かれる場合があるということを意味している。ピクスマップをそのアルファベットで書かれた新しいアルファベット及びメッセージに圧縮された可能性もあることを意味する。明らかに、このピクスマップデータには誤りも曖昧さも無いので、これは可逆圧縮方法である。
【0088】
画像ピクスマップの大きさを小さくする別の方法は、この画像を純粋な黒と白で表現することである。この方法は、ピクセルが黒か白かを定義するために、0または1にセットされる単一ビットのみが必要される。別の状況では、文書画像は、各々のピクセルが通常最大24ビットを必要としうるフルカラー画像として表現される。明らかに、この技術は、単純な白黒のテキストベースの文書に適している。しかし、カラーの文書または画像には適していない。
【0089】
随時、文書画像は、OCRタイプのプロセスを用いて変換してテキストベースの文書へ戻され、文書の標準的なデジタルテキスト表現を再構築することができる。この技術は、テキストマッピングが不正確である可能性があるため、署名に使用することはできないが、続く機械処理のために標準的なデジタルテキスト表現(ASCII等)へ変換し戻すために、署名された文書の受信者が使用することはできる。好ましい実施形態では、高信用表示プロセッサ260は、OCR文書の復元を行うために設けられる。
【0090】
OCRを実施するため、OCRアルファベットが標準的な方法で生成され、次に、格納されているフォントと対応付けられ、これを基にして標準の文字集合へ変換される。従来のOCRのように、対応の曖昧な文字はピクスマップのまま保持し、ユーザによる変換を行えるようフラグ設けることができる(これはめったに起こらない状況である。特にフォントタイプ及びサイズ情報が表示用形式のデータFDで供給されているならば、データに誤りがないため)。極度に注意する場合には、この再構築された文書全体は、署名者が署名することを意図する文書の見栄えに対して人間により手動でチェックされるべきである。好ましくは、すべての文書再構築プロセスは、信用のおけるプロセスによって行われる。
【0091】
上述した好ましい実施形態は、フレームバッファメモリ315に格納されているビデオデータがオペレーティングシステムを含むホストコンピュータ100のソフトウェアにより操作されうるポイントを超えて、高信用表示プロセッサ260がこのビデオデータに直接的及び専用のアクセスを有するという前提に基づいている。これは、高信用表示プロセッサ260が変更を行わない限り、ビデオデータが変更されないことを意味している。
【0092】
すべてのコンピュータアーキテクチャがこのように構成されるわけではないことは理解されよう。例えば、コンピュータアーキテクチャによっては、フレームバッファメモリがメインメモリ(主記憶手段)の一部を形成するように設けられ、これによって単一アドレス空間(SAS)表示システムを形成するものもある。このようなシステムの1つの利点は、CPUと表示プロセッサが両方ともフレームバッファメモリへアクセスすることができ、グラフィックス操作のオーバヘッドを共有することによって、グラフィックスパフォーマンスが向上することである。明らかに、このようなSASシステムで本発明を実施することは、CPUがメモリにアクセス出来てしまうため、署名中に安全であるという前提に基づかない。しかしながら、本発明を実施を提供するようにこのようなSASシステムを変更することのできる多くの方法がある。例えば、署名動作中にCPUからのデータによってメモリが更新されないように、メモリに高信用表示プロセッサからの制御線を設けることができる。記憶装置自体は、この機能を実行するための特別な論理を備えるように変更されることが好ましい。あるいは、メモリへのアクセスは、別の論理回路をメモリの通常の制御パスに挿入することよってブロックされる。したがって、このようなシステムは、高信用表示プロセッサの許可がある場合にのみ、フレームバッファメモリ内のビデオデータを高信用表示プロセッサ以外によって変更できる、という変更された前提に基づく。明らかに、システムが真に安全である限り、この前提は最初の前提と同じくらい安全な動作に対して適切である。
【0093】
他のアーキテクチャ、例えば単純なグラフィックス環境では、表示プロセッサの機能がオペレーティングシステム自体の一部を形成することも可能であり、これによって別個の表示プロセッサハードウェアを設ける必要がなくなる。明らかに、この場合、CPUにかかるグラフィックスオーバヘッドは、別個の表示プロセッサハードウェアを用いるシステムよりも大きくなり、これによってプラットフォームのグラフィックスパフォーマンスが制限される。明らかに、そのような状況では「高信用表示プロセッサ」を設ける余地はない。しかしながら、高信用表示プロセッサによって提供されるフレームバッファメモリを保護する機能、及びスマートカードと対話する機能と同等の機能は、署名中に表示システム(いずれの形態であっても)を制御する適切な高信用コンポーネントを用いて実施できることが当業者には明白であろう。
【0094】
本発明の他の実施形態では、高信用スイッチ135の機能をソフトウェアで置き換えることができる。高信用スイッチプロセス529が起動されると(ステップ630のように)、専用スイッチの動作を待つ代わりに、高信用コンポーネント260は、乱数発生能力を用いて文字列の形態でナンスを生成する。次に、この文字列は、「動作を承認するために<文字列>を入力して下さい」という形態のメッセージで、高信用ディスプレイに表示される。ここでアクションを承認するためには、ユーザがキーボード110を用いて与えられた文字列を入力しなければならない。この文字列は毎回異なり、他のソフトウェアはこの文字列に対するアクセスを持たないため(文字列は高信用プロセッサ300とディスプレイの間のみでやり取りされる)、悪意のあるソフトウェアがこの承認プロセスを害することは不可能である。
【0095】
本発明の他の実施形態では、付加的にまたは代替的に、高信用表示プロセッサ(または同等物)は、高信用ディスプレイを起動するためのインタフェースを備える。高信用ディスプレイは、例えば、LCDパネルディスプレイでありうる。高信用スイッチが高信用表示プロセッサとの対話のための高信用手段をユーザに提供するのと同様の方法により、高信用ディスプレイは、標準VDUを介する以外に、ユーザに情報をフィードバックするための高信用手段を提供することができる。例えば、高信用ディスプレイは、上述した署名動作に関連するユーザ状態メッセージを提供するのに使用することができる。ここで、ディスプレイは高信用表示プロセッサに直接接続される、またはある形態の高信用通信路を介して接続されるため、標準的なホストコンピュータで実行されているアプリケーションは、高信用ディスプレイにアクセス不可能であるべきである。本質において、このような高信用ディスプレイは、上述したいわゆる「高信用インタフェース」に対する追加である。実際には高信用ディスプレイは一つの例であり、他の形態の高信用フィードバック装置を追加あるいは代替として含められない理由はない。例えば、ある形態の高信用音声装置が可聴フィードバックを提供するのに有用であるということもありうる。
【図面の簡単な説明】
【図1】 本発明の好ましい実施形態による動作に適したコンピュータシステムを示す図である。
【図2】 本発明の好ましい実施形態による動作に適したホストコンピュータのハードウェアアーキテクチャを示す図である。
【図3】 本発明の好ましい実施形態による動作に適した高信用ディスプレイプロセッサのハードウェアアーキテクチャを示す図である。
【図4】 本発明の好ましい実施形態による動作に適したスマートカード処理エンジンのハードウェアアーキテクチャを示す図である。
【図5】 本発明の好ましい実施形態による動作に適した高信用ディスプレイプロセッサ及びスマートカードを備えるホストコンピュータの機能的アーキテクチャを示す図である。
【図6】 文書の個々の署名の生成に関わるステップを示す系統線図である。
【図7】 スマートカードからシール画像データを復元するための高信用ディスプレイプロセッサとスマートカードとの間のメッセージのシーケンスを示す図である。
【図8】 文書画像の署名を生成するための高信用ディスプレイプロセッサとスマートカードの間のメッセージのシーケンスを示す図である。
【図9】 文書画像署名プロセスの要約の署名を生成するための高信用ディスプレイプロセッサとスマートカードの間のメッセージのシーケンスを示す図である。
【図10a】 例示的な高信用画像を示す図である。
【図10b〜10d】 文書画像の署名における視覚的なステップを示す図である。
【図10e〜10g】 署名される文書の画像をハイライトする代替方法を示す図である。

Claims (24)

  1. 文書をデジタル署名するシステムであって、
    文書(505)を表わす画像データを生成し、該画像データをフレームバッファメモリ(315)に記憶する手段(500)と、
    前記フレームバッファメモリ(315)から前記画像データを読み出し、表示可能な画像データを生成し、表示手段へ伝送することにより、前記表示手段に前記表示可能な画像データを表示させる手段(320)と、
    前記フレームバッファメモリ(315)から前記画像データを読み出し、該画像データによって表される文書(505)に関連するデジタル署名を生成する手段(300,520)と
    デジタル署名処理中は、少なくとも前記文書の画像データを含む前記フレームバッファメモリ(315)の部分に対するアクセス権を有しないアプリケーション又はプロセスの書込みアクセスを拒絶し、それによって、前記デジタル署名処理中は、前記フレームバッファメモリの対応する部分に記憶された前記文書の画像データ、及び、従って前記表示手段上に表示される前記文書の表示可能な画像データを、前記アクセス権を有しないアプリケーション又はプロセスの書込みアクセスにより変更することが出来ないようにする手段(520)と
    からなるシステム。
  2. 前記文書を表示するためのグラフィック信号を生成する主処理手段(200)を更に含み、
    前記表示可能な画像データを生成する手段(320)は、前記主処理手段(200)によって生成されたグラフィック信号に基づいて前記表示可能な画像データを生成するように構成され、
    前記フレームバッファメモリから画像データを読み出す手段(320)は、前記画像データをその実際の画像を前記表示手段上に表示するのに適した信号に変換し、該信号を表示可能な画像データとして前記表示手段(105)へ伝送するように構成される、請求項1に記載のシステム。
  3. 前記画像データ、又は該画像データを表わすものを受信し、対応するデジタル署名を生成するトークン処理手段(400)を含むリムーバブルトークン(122)を更に含む、請求項1、又は請求項2に記載のシステム。
  4. 記文書(505)をデジタル署名するための要求信号を生成する手段(110,115,500)を更に含み、
    前記画像データによって表される文書に関連するデジタル署名を生成する手段(300,520)は、前記主処理手段(200)及び前記トークン処理手段(400)から独立した処理手段(300)を含む高信用コンポーネント(260)として構成され、
    前記トークン処理手段(400)は、前記要求信号の受信時に、ユーザに関連するデジタル署名を生成するように構成され、
    前記フレームバッファメモリ(315)、前記画像データを読み出し、表示可能な画像データを生成する手段(320)、及び前記表示手段(105)は、合わせて1つの表示システムを構成し、前記表示システムは、前記デジタル署名処理の際に、前記高信用コンポーネントによってのみ制御される、請求項2、又は請求項3に記載のシステム。
  5. 前記高信用コンポーネント(260)は、高信用画像データを取得、及び/又は生成する手段と、前記デジタル署名処理の際に、前記表示システムを制御し、前記高信用画像データを使用して、デジタル署名すべき表示された前記文書画像をハイライトする手段とを更に含み、前記高信用画像データは、ユーザを一意に特定する、請求項4に記載のシステム。
  6. 前記高信用画像データは、前記高信用画像を表わすピクスマップデータ、又は前記高信用画像を形成するための命令を含む、請求項に記載のシステム。
  7. 前記表示システムを制御し、デジタル署名すべき表示された前記文書画像をハイライトする手段
    前記高信用画像によって特徴付けられ、前記文書画像の周囲の少なくとも一部に配置された境界、又は境界を規定する1又は複数のインジケータ、
    前記文書画像の背景の少なくとも一部を形成する前記高信用画像によって特徴付けられた背景パターン、
    前記文書画像内に形成された前記高信用画像によって特徴付けられた画像、及び
    前記文書画像内に、又は前記文書画像の近くに形成された前記高信用画像によって特徴付けられたテキストメッセージ
    のうちの1以上を前記表示手段上に生成することによって、前記表示システムを制御する、請求項、又は請求項に記載のシステム。
  8. 前記高信用コンポーネント(260)は、リムーバブルトークン(122)から高信用画像データを取得、及び/又は生成する手段を含む、請求項のうちのいずれか一項に記載のシステム。
  9. 前記高信用コンポーネント(260)は、前記表示システムを制御し、ユーザに対してメッセージを表示させる手段を更に含む、請求項4に記載のシステム。
  10. 高信用入力手段を更に含み、それによってユーザは、安全な態様でメッセージに応答することが可能である、請求項に記載のシステム。
  11. 前記高信用入力手段は、安全な通信路を介して前記高信用コンポーネント(260)に接続されたスイッチ(135)を含む、請求項10に記載のシステム。
  12. 前記高信用コンポーネント(260)と前記リムーバブルトークン(122)は、さらなる対話を行う前に相互認証プロセスを実施する、請求項のうちのいずれか一項に記載のシステム。
  13. 前記高信用コンポーネント(260)は、前記表示システムの一を形成する、請求項4に記載のシステム。
  14. 前記表示システムは、前記高信用コンポーネント(260)が、前記主処理手段(200)と前記フレームバッファメモリ(315)の間に物理的、及び機能的に配置され、前記主処理手段(200)が、前記高信用コンポーネントの機能によって間接的にしか前記フレームバッファメモリ(315)にアクセスできないように構成される、請求項13に記載のシステム。
  15. デジタル署名動作を要約するデータを生成する手段を更に含む、請求項1〜15のうちのいずれか一項に記載のシステム。
  16. 文書をデジタル署名するためにコンピュータにより実施される方法であって、
    文書(505)のデジタル画像データを生成し、フレームバッファ(315)内の前記デジタル画像データを更新するステップと、
    前記フレームバッファメモリから前記デジタル画像データを読み出し、該デジタル画像データを視覚表示手段の駆動に適した信号に変換し、該信号を視覚表示手段(105)へ伝送し、前記文書の画像を表示させるステップと、
    デジタル署名の要求に応じて、前記フレームバッファメモリ(315)から前記デジタル画像データを読み出し、表示する際に、前記文書に関連するデジタル署名を生成するステップと
    前記デジタル署名の生成中は、アクセス権を有しないプロセスによる前記フレームバッファメモリに対する書込みアクセスを一時的に拒絶し、それによって、デジタル署名処理中は、前記フレームバッファに記憶された前記デジタル画像データ、及び、従って前記視覚表示手段を駆動するために前記デジタル画像データから変換された信号を、アクセス権を有しないプロセスにより変更することが出来ないようにするステップと
    からなるコンピュータにより実施される方法。
  17. 高信用画像データを取得、及び/又は生成し、該高信用画像データを使用して、表示された前記文書画像をハイライトするステップを更に含み、前記高信用画像データは、ユーザを一意に特定する、請求項16に記載のコンピュータにより実施される方法。
  18. 前記表示された文書画像をハイライトするステップは、
    前記高信用画像によって特徴付けられ、前記文書画像の周囲の少なくとも一部に配置された境界、又は境界を規定する1又は複数のインジケータ、
    前記文書画像の背景の少なくとも一部を形成する前記高信用画像によって特徴付けられた背景パターン、
    前記文書画像内に形成された前記高信用画像によって特徴付けられた画像、及び
    前記文書画像内に、又は前記文書画像の近くに形成された前記高信用画像によって特徴付けられたテキストメッセージ
    のうちのいずれか1つ、又は複数の視覚的効果を前記視覚表示手段上に生成することにより達成される、請求項17に記載のコンピュータにより実施される方法。
  19. 前記高信用画像データは、リムーバブルトークン(122)から取得される、請求項17、又は請求項18に記載のコンピュータにより実施される方法。
  20. 請求項1619のうちのいずれか一項に記載のコンピュータにより実施される方法にしたがって文書をデジタル署名するように構成されたシステム。
  21. 複数の閲覧可能なページを有する文書をデジタル署名するためにコンピュータにより実施される方法であって、
    前記複数の閲覧可能なページのそれぞれについて、請求項1619のうちのいずれか一項に記載のコンピュータにより実施される方法にしたがって、そのページに関連するデジタル署名を生成するステップと、
    複数の閲覧可能なページ全てのデジタル署名に関連するさらに別のデジタル署名を生成するステップと
    からなるコンピュータにより実施される方法。
  22. 請求項16〜19のうちのいずれか一項に記載のコンピュータにより実施される方法にしたがって、第1のユーザによって既に署名され、前記第1のユーザの秘密を使用して生成された第1のデジタル署名が添付された文書を第2のユーザが副署名するためにコンピュータにより実施される方法であって、
    前記第1のデジタル署名の完全性を検証するステップと、
    前記第2のユーザの秘密を使用し、請求項1619のうちのいずれか一項に記載のコンピュータにより実施される方法にしたがって、前記文書に関連する第2のデジタル署名を生成するステップと
    からなるコンピュータにより実施される方法。
  23. 請求項16〜19のうちのいずれか一項に記載のコンピュータにより実施される方法にしたがって、第1のユーザによって既に署名され、前記第1のユーザの秘密を使用して生成された第1のデジタル署名が添付された文書を第2のユーザが署名するためにコンピュータにより実施される方法であって、
    前記第1のデジタル署名の完全性を検証するステップと、
    前記第2のユーザの秘密を使用し、請求項1619のうちのいずれか一項に記載のコンピュータにより実施される方法にしたがって、前記第1のデジタル署名に関連する第2のデジタル署名を生成するステップと
    からなるコンピュータにより実施される方法。
  24. 前記高信用コンポーネントは、改竄に対する耐性を有するように製造される、請求項4〜14のいずれか一項に記載のシステム
JP2001500933A 1999-05-28 2000-05-25 文書にデジタル署名するためのシステム Expired - Fee Related JP4932108B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
EP99304164.9 1999-05-28
EP99304164A EP1055989A1 (en) 1999-05-28 1999-05-28 System for digitally signing a document
PCT/GB2000/001996 WO2000073879A1 (en) 1999-05-28 2000-05-25 System for digitally signing a document

Publications (3)

Publication Number Publication Date
JP2003501915A JP2003501915A (ja) 2003-01-14
JP2003501915A5 JP2003501915A5 (ja) 2007-07-12
JP4932108B2 true JP4932108B2 (ja) 2012-05-16

Family

ID=8241418

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001500933A Expired - Fee Related JP4932108B2 (ja) 1999-05-28 2000-05-25 文書にデジタル署名するためのシステム

Country Status (4)

Country Link
EP (2) EP1055989A1 (ja)
JP (1) JP4932108B2 (ja)
DE (1) DE60042971D1 (ja)
WO (1) WO2000073879A1 (ja)

Families Citing this family (53)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB9923804D0 (en) 1999-10-08 1999-12-08 Hewlett Packard Co Electronic commerce system
US6934817B2 (en) * 2000-03-31 2005-08-23 Intel Corporation Controlling access to multiple memory zones in an isolated execution environment
ES2167245B1 (es) * 2000-06-23 2003-04-01 Esignus S L Firmador externo para pc.
US6976162B1 (en) 2000-06-28 2005-12-13 Intel Corporation Platform and method for establishing provable identities while maintaining privacy
US6986052B1 (en) 2000-06-30 2006-01-10 Intel Corporation Method and apparatus for secure execution using a secure memory partition
US7818808B1 (en) 2000-12-27 2010-10-19 Intel Corporation Processor mode for limiting the operation of guest software running on a virtual machine supported by a virtual machine monitor
US8261975B2 (en) 2001-03-07 2012-09-11 Diebold, Incorporated Automated banking machine that operates responsive to data bearing records
US7216083B2 (en) 2001-03-07 2007-05-08 Diebold, Incorporated Automated transaction machine digital signature system and method
WO2002091669A1 (en) * 2001-05-04 2002-11-14 Telefonaktiebolaget Lm Ericsson (Publ) Device for digitally signing electronic documents
US7216237B2 (en) * 2001-07-16 2007-05-08 Certicom Corp. System and method for trusted communication
EP1282024A1 (en) 2001-07-30 2003-02-05 Hewlett-Packard Company Trusted identities on a trusted computing platform
US7024555B2 (en) 2001-11-01 2006-04-04 Intel Corporation Apparatus and method for unilaterally loading a secure operating system within a multiprocessor environment
FR2832522B1 (fr) * 2001-11-20 2004-04-02 Gemplus Card Int Procede et dispositif pour le traitement des signatures numeriques
US7480806B2 (en) * 2002-02-22 2009-01-20 Intel Corporation Multi-token seal and unseal
US7631196B2 (en) 2002-02-25 2009-12-08 Intel Corporation Method and apparatus for loading a trustable operating system
US7124273B2 (en) 2002-02-25 2006-10-17 Intel Corporation Method and apparatus for translating guest physical addresses in a virtual machine environment
US7069442B2 (en) 2002-03-29 2006-06-27 Intel Corporation System and method for execution of a secured environment initialization instruction
GB2387678B (en) * 2002-04-18 2005-10-12 Hewlett Packard Co Apparatus for remote working
GB0212308D0 (en) * 2002-05-28 2002-07-10 Symbian Ltd Trusted user interface for a secure mobile wireless device
US7900017B2 (en) 2002-12-27 2011-03-01 Intel Corporation Mechanism for remapping post virtual machine memory pages
CN1759365A (zh) * 2003-03-11 2006-04-12 皇家飞利浦电子股份有限公司 屏蔽图像的观看
US8079034B2 (en) 2003-09-15 2011-12-13 Intel Corporation Optimizing processor-managed resources based on the behavior of a virtual machine monitor
US7739521B2 (en) 2003-09-18 2010-06-15 Intel Corporation Method of obscuring cryptographic computations
US8156343B2 (en) 2003-11-26 2012-04-10 Intel Corporation Accessing private data about the state of a data processing machine from storage that is publicly accessible
US8037314B2 (en) 2003-12-22 2011-10-11 Intel Corporation Replacing blinded authentication authority
US7802085B2 (en) 2004-02-18 2010-09-21 Intel Corporation Apparatus and method for distributing private keys to an entity with minimal secret, unique information
US20050216397A1 (en) 2004-03-26 2005-09-29 Clearcommerce, Inc. Method, system, and computer program product for processing a financial transaction request
US7620949B2 (en) 2004-03-31 2009-11-17 Intel Corporation Method and apparatus for facilitating recognition of an open event window during operation of guest software in a virtual machine environment
US20050278253A1 (en) * 2004-06-15 2005-12-15 Microsoft Corporation Verifying human interaction to a computer entity by way of a trusted component on a computing device or the like
US7840962B2 (en) 2004-09-30 2010-11-23 Intel Corporation System and method for controlling switching between VMM and VM using enabling value of VMM timer indicator and VMM timer value having a specified time
US8146078B2 (en) 2004-10-29 2012-03-27 Intel Corporation Timer offsetting mechanism in a virtual machine environment
US8924728B2 (en) 2004-11-30 2014-12-30 Intel Corporation Apparatus and method for establishing a secure session with a device without exposing privacy-sensitive information
US8533777B2 (en) 2004-12-29 2013-09-10 Intel Corporation Mechanism to determine trust of out-of-band management agents
US7395405B2 (en) 2005-01-28 2008-07-01 Intel Corporation Method and apparatus for supporting address translation in a virtual machine environment
US7809957B2 (en) 2005-09-29 2010-10-05 Intel Corporation Trusted platform module for generating sealed data
US8014530B2 (en) 2006-03-22 2011-09-06 Intel Corporation Method and apparatus for authenticated, recoverable key distribution with no database secrets
GB0615015D0 (en) * 2006-07-28 2006-09-06 Hewlett Packard Development Co Secure use of user secrets on a computing platform
DE102007013287B4 (de) 2007-03-16 2008-11-13 Giesecke & Devrient Gmbh Verfahren zur Erzeugung bestätigter Transaktionsdaten und Vorrichtung dazu
CN101311950B (zh) * 2007-05-25 2012-01-18 北京书生国际信息技术有限公司 一种电子印章的实现方法和装置
US8924309B2 (en) 2007-08-08 2014-12-30 Imation Corp. Method of providing assured transactions by watermarked file display verification
JP5501232B2 (ja) * 2007-09-04 2014-05-21 インターナショナル・ビジネス・マシーンズ・コーポレーション 電子文書を確認するためのシステム及び方法
US9083746B2 (en) 2007-10-19 2015-07-14 Imation Corp. Method of providing assured transactions using secure transaction appliance and watermark verification
DE102008007367B4 (de) * 2008-02-01 2010-09-30 Novosec Aktiengesellschaft Verfahren und Vorrichtung zur sicheren mobilen elektronischen Signatur
DE102008037793A1 (de) * 2008-08-14 2010-02-18 Giesecke & Devrient Gmbh Phototoken
SG10201400603VA (en) * 2009-03-13 2014-05-29 Docusign Inc Systems and methods for document management transformation and security
EP2251812A1 (en) * 2009-05-10 2010-11-17 Mario Guido Finetti Transaction verification USB token
JP2010278925A (ja) * 2009-05-29 2010-12-09 Secom Co Ltd 電子署名システム
GB2484717B (en) * 2010-10-21 2018-06-13 Advanced Risc Mach Ltd Security provision for a subject image displayed in a non-secure domain
FR2978002B1 (fr) 2011-07-15 2015-12-11 Dictao Procede de signature authentique d'un document de travail
US20130166922A1 (en) * 2011-12-23 2013-06-27 Ati Technologies Ulc Method and system for frame buffer protection
WO2014106181A2 (en) * 2012-12-31 2014-07-03 Vasco Data Security, Inc. A method and an apparatus for securely signing application data
CN109428860B (zh) * 2017-08-28 2020-08-21 天地融科技股份有限公司 一种安全显示数据的方法和装置
CN107526948B (zh) * 2017-09-28 2023-08-25 同方威视技术股份有限公司 生成关联图像的方法和设备以及图像验证方法和设备

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5005200A (en) * 1988-02-12 1991-04-02 Fischer Addison M Public key/signature cryptosystem with enhanced digital signature certification
JPH0695591A (ja) * 1991-04-19 1994-04-08 Hiroichi Okano 電子文書署名方法および装置
US5596718A (en) * 1992-07-10 1997-01-21 Secure Computing Corporation Secure computer network using trusted path subsystem which encrypts/decrypts and communicates with user through local workstation user I/O devices without utilizing workstation processor
JPH086836A (ja) * 1994-06-22 1996-01-12 Kyushu Nippon Denki Software Kk ファイル共有排他制御方式
JP3458979B2 (ja) * 1994-12-02 2003-10-20 日本電信電話株式会社 ディジタル情報保護システム及びその方法
DE69521977T2 (de) * 1994-12-13 2002-04-04 International Business Machines Corp., Armonk Verfahren und System zur gesicherten Programmenverteilung
JPH10143439A (ja) * 1996-11-12 1998-05-29 Fujitsu Ltd データ処理装置
US5907619A (en) * 1996-12-20 1999-05-25 Intel Corporation Secure compressed imaging
JP3147799B2 (ja) * 1997-02-05 2001-03-19 日本電気株式会社 画像情報交換システム

Also Published As

Publication number Publication date
EP1190290B1 (en) 2009-09-16
JP2003501915A (ja) 2003-01-14
EP1190290A1 (en) 2002-03-27
EP1055989A1 (en) 2000-11-29
DE60042971D1 (de) 2009-10-29
WO2000073879A1 (en) 2000-12-07

Similar Documents

Publication Publication Date Title
JP4932108B2 (ja) 文書にデジタル署名するためのシステム
US7302585B1 (en) System for providing a trustworthy user interface
RU2327215C2 (ru) Системы и способы для защиты выходного сигнала видеоплаты
US7457951B1 (en) Data integrity monitoring in trusted computing entity
JP4522645B2 (ja) セキュアコンテンツを暗号的に保護する方法およびシステム
EP1224518B1 (en) Trusted computing platform with biometric authentication
JP5628831B2 (ja) デジタルビデオガード
JP4807925B2 (ja) グラフィックシステムのコンポーネント認証方法およびシステム
US7793097B2 (en) Extension of X.509 certificates to simultaneously support multiple cryptographic algorithms
JPH1011509A (ja) 電子書類セキュリティシステム、電子押印セキュリティシステムおよび電子署名セキュリティシステム
Tygar et al. WWW electronic commerce and Java Trojan horses
US8584245B2 (en) Identifying a trusted computing entity
EP1211841B1 (en) External signature device for a pc with optical data input via the monitor
EP2354994A1 (en) Secure signature creation application using a TPM comprising a middleware stack
Balacheff et al. A trusted process to digitally sign a document
JP2004515098A (ja) 認証方法と認証装置
Liu et al. Visually sealed and digitally signed documents
US20020152386A1 (en) External signature device for a pc with optical data input via the monitor
Fischer et al. Watermarks and Text Transformations in Visual Document Authentication.
Elfadil et al. Graphical handwritten and digital signature Integration for secure PKI

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070522

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20070522

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100810

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20101105

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20101112

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110210

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110405

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20110630

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20110707

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: 20120214

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: 20120215

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20150224

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20150224

Year of fee payment: 3

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

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

Free format text: PAYMENT UNTIL: 20150224

Year of fee payment: 3

R360 Written notification for declining of transfer of rights

Free format text: JAPANESE INTERMEDIATE CODE: R360

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

Free format text: PAYMENT UNTIL: 20150224

Year of fee payment: 3

R360 Written notification for declining of transfer of rights

Free format text: JAPANESE INTERMEDIATE CODE: R360

R371 Transfer withdrawn

Free format text: JAPANESE INTERMEDIATE CODE: R371

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

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

Free format text: PAYMENT UNTIL: 20150224

Year of fee payment: 3

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees