JP2003501915A - System for digitally signing documents - Google Patents

System for digitally signing documents

Info

Publication number
JP2003501915A
JP2003501915A JP2001500933A JP2001500933A JP2003501915A JP 2003501915 A JP2003501915 A JP 2003501915A JP 2001500933 A JP2001500933 A JP 2001500933A JP 2001500933 A JP2001500933 A JP 2001500933A JP 2003501915 A JP2003501915 A JP 2003501915A
Authority
JP
Japan
Prior art keywords
document
image data
trusted
image
data
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
JP2001500933A
Other languages
Japanese (ja)
Other versions
JP2003501915A5 (en
JP4932108B2 (en
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/en
Publication of JP2003501915A5 publication Critical patent/JP2003501915A5/ja
Application granted granted Critical
Publication of JP4932108B2 publication Critical patent/JP4932108B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/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

Abstract

(57)【要約】 本発明の好適実施形態は、コンヒ゜ュータシステムのフ゜ロセッサ及びメモリとは物理的及び機能的に別個の高信用フ゜ロセッサ(300)及び高信用メモリ(305,315,335,345)を有する高信用表示フ゜ロセッサ(260)を備えるコンヒ゜ュータシステムからなる。高信用表示フ゜ロセッサ(260)は、内部テ゛ータの、アクセス権の無い変更または閲覧に対して安全である。高信用表示フ゜ロセッサ(260)は、文書の改竄を防止するために物理的であり、偽造を防止するためにタンハ゜リンク゛耐性があり、また、少し離れて安全に通信するための暗号の機能を有する。高信用表示フ゜ロセッサ(260)は、高信用画像またはシール(1000)を取得して表示するためにユーサ゛のスマートカート゛(122)と対話し、文書画像のヒ゛ットマッフ゜のテ゛シ゛タル署名を生成し、コンヒ゜ュータシステムの他のフ゜ロセスが署名フ゜ロセス中に画像を破壊することのないように、ヒ゛テ゛オメモリ(315)を制御する。ユーサ゛は高信用スイッチ(135)を介して高信用表示フ゜ロセッサと対話する。 SUMMARY OF THE INVENTION A preferred embodiment of the present invention provides a trusted display processor (300) and a trusted display processor (305,315,335,345) that are physically and functionally separate from the processor and memory of the computer system. 260). The trusted display processor (260) is secure against unauthorized modification or viewing of internal data. The trusted display processor (260) is physical to prevent falsification of the document, is tamper-resistant to prevent forgery, and has a cryptographic function to communicate securely at a distance. . The trusted display processor (260) interacts with the user's smart cart (122) to obtain and display the trusted image or seal (1000), generates a digital signature of the hotmap of the document image, and provides a computer system. Controls the video memory (315) so that no other process corrupts the image during the signature process. The user interacts with the trusted display processor via the trusted switch (135).

Description

【発明の詳細な説明】Detailed Description of the Invention

【0001】[0001]

【技術的背景】[Technical background]

本発明は、署名者が署名しようと思う文書が実際に署名する文書であるよう署
名者に高度な信用を提供するように、画像データ、特に文書にデジタル署名する
装置及び方法に関する。
The present invention relates to an apparatus and method for digitally signing image data, in particular a document, so as to provide the signer with a high degree of confidence that the document the signer wishes to sign is actually the document to be signed.

【0002】[0002]

【背景技術】[Background technology]

従来の先行技術による量販市場コンピューティングプラットフォームには、周
知のパーソナルコンピュータ(PC)及びApple Machintosh(
登録商標)等の競合製品、及び既知のパームトップ及びラップトップパーソナル
コンピュータの急増がある。一般に、これらのマシンの市場は2つのカテゴリ、
すなわち家庭用または消費者用と企業用に分けられる。家庭用または消費者使用
のコンピューティングプラットフォームの一般的な要件は、比較的高い処理能力
、インターネットアクセス機能、及びコンピュータゲームを扱うのためのマルチ
メディア機能である。この種のコンピューティングプラットフォームの場合、M
icrosoft Windows(登録商標)95及び98オペレーティング
システム製品及びIntelプロセッサ、いわゆるWinTelプラットフォー
ムが市場を独占している。
Conventional prior art mass market computing platforms include well-known personal computers (PCs) and Apple Macintosh (PCs).
There is a proliferation of competing products such as registered trademark) and known palmtop and laptop personal computers. In general, the market for these machines is in two categories:
That is, it is divided into household or consumer and business use. Common requirements for home or consumer computing platforms are relatively high processing power, Internet access capabilities, and multimedia capabilities for handling computer games. For this type of computing platform, M
The Microsoft Windows (R) 95 and 98 operating system products and Intel processors, the so-called WinTel platforms, dominate the market.

【0003】 一方、ビジネスでの使用の場合、零細企業から多国籍組織まで様々な組織向け
に利用可能な、製造販売独占権を有する極めて多くのコンピュータプラットフォ
ームが存在している。これらアプリケーションの多くは、サーバプラットフォー
ムが、中央集中化されたデータ記憶装置及びアプリケーション機能を、複数のク
ライアントステーションに対して提供する。ビジネスでの使用の場合、他の重要
な評価尺度としては、信頼性、リモートアクセス機能、ネットワーキング機能、
及びセキュリティ機能等がある。このようなプラットフォームについては、UN
IX(登録商標)はもちろんMicrosoft Windows NT4.0 (登録商標)オペレーティングシステムが一般的であり、さらに最近ではLin uxオペレーティングシステムも用いられる。
On the other hand, for business use, there are a great many computer platforms having manufacturing and sales exclusive rights that can be used for various organizations from micro enterprises to multinational organizations. For many of these applications, the server platform provides centralized data storage and application functionality for multiple client stations. For business use, other important metrics are reliability, remote access capabilities, networking capabilities,
And security functions. For such platforms, UN
In addition to IX (registered trademark), Microsoft Windows NT4.0 (registered trademark) operating system is generally used, and more recently, Linux operating system is also used.

【0004】 Windowsタイプのオペレーティングシステムは、ユーザが別個のウィン
ドウで別個のアプリケーションを実行することを可能にしており、いわゆるWI
MP(ウィンドウ、アイコン、メニュー、及びポインタ)インタフェースを提供
する。これによって、ユーザは通常キーボードを用いてデータを入力し、マウス
を用いてオプションを選択することによりアプリケーションと対話を行い、また
、ダイアログボックス及びドロップダウン(またはプルアップ)メニューを介し
てアプリケーションを制御する。
Windows type operating systems allow users to run separate applications in separate windows, the so-called WI
It provides an MP (window, icon, menu, and pointer) interface. This allows the user to interact with the application, typically by using the keyboard to enter data, using the mouse to select options, and controlling the application through dialog boxes and drop-down (or pull-up) menus. To do.

【0005】 「E−コマース」として知られるインターネットを介して取引が行われる商業
活動の増大に伴い、従来技術では、インターネットを介してコンピュータプラッ
トフォーム間のデータトランザクションを可能にすることに大きな関心があった
。特に、現在標準的に用いられている手書きで署名した紙の契約書を必要とせず
に、ユーザがインターネット越しに契約の締結へ入れることが重要であると認識
されている。しかし、電子データの不正や改竄の可能性があるため、このような
提案では、完全にトランスペアレントで効率的な市場に要求される広範囲規模で
の遠隔地にいる見知らぬ相手との完全に自動化された取引は、今まで控えられて
いた。このような取引を行うための根本的な問題は、ユーザとコンピュータプラ
ットフォームとの間、及び対話を行うコンピュータプラットフォーム間の信用の
問題である。
With the increasing number of commercial activities transacted over the Internet, known as “E-commerce”, the prior art has been of great interest in enabling data transactions between computer platforms over the Internet. It was In particular, it has been recognized that it is important for users to enter into a contract over the Internet without the need for a handwritten signed paper contract that is currently standard. However, due to the potential for fraudulent and tampering of electronic data, such proposals were fully automated with a wide range of remote strangers required for a completely transparent and efficient market. Transactions have been held back until now. A fundamental issue for making such transactions is the issue of trust between the user and the computer platform and between the interacting computer platforms.

【0006】 コンピュータプラットフォームのセキュリティ及び信用度の増大を目的とする
いくつかの従来技術による方式がある。主に、これらはアプリケーションレベル
でのセキュリティ機能の追加によるものであり、言い換えるなら、セキュリティ
機能はオペレーティングシステムのカーネルに最初から埋め込まれてはおらず、
コンピューティングプラットフォームの基本的なハードウェアコンポーネントに
内蔵されてはいない。スマートカードを備えたポータブルコンピュータ装置がす
でに市場に出回っており、これらのスマートカードは、コンピュータのスマート
カードリーダへ入力されるユーザ固有のデータを保持している。現在、このよう
なスマートカードは従来のパーソナルコンピュータへの増設機器のレベルにあり
、周知のコンピュータの筐体に内臓されている場合もある。これらの従来技術に
よる方式はコンピュータプラットフォームのセキュリティをいくらか向上させる
が、従来技術による方式によって得られるセキュリティ及び信用度のレベルは、
コンピュータプラットフォーム間での自動化された取引のアプリケーションを普
及させるには不十分であると思われる。ビジネスにおいて大きな価値ある取引が
広範規模の電子商取引にさらされる前に、基礎的な技術についてさらに大きな信
用度が必要とされるであろう。
There are several prior art schemes aimed at increasing the security and credibility of computer platforms. Primarily, these are due to the addition of security features at the application level, in other words, the security features were not originally embedded in the operating system kernel,
It is not built into the basic hardware components of a computing platform. Portable computer devices with smart cards are already on the market, and these smart cards carry user-specific data that is entered into the smart card reader of the computer. At present, such a smart card is at the level of an extension device to a conventional personal computer, and may be incorporated in a well-known computer casing. While these prior art methods improve the security of the computer platform somewhat, the level of security and credibility provided by the prior art methods is:
It appears to be insufficient to popularize automated trading applications between computer platforms. Even greater credit for the underlying technology will be needed before large value transactions in a business are exposed to extensive e-commerce.

【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のコンピュー
タエンティティが互いに対話する場合、対話のセキュリティは、高信用コンポー
ネントが存在しない場合と比較して拡張される。これは次のような理由による。
・コンピュータエンティティのユーザは、自分自身のコンピュータエンティティ
の完全性及び機密性に関して、及び他の相手に属するコンピュータエンティティ
の完全性及び機密性に関して、高い信用度を有する。 ・各々のエンティティは、前記他のエンティティが実際に目的とするエンティテ
ィであるということに関して、信用がある。 ・これらのエンティティの一方または両方が、トランザクション、例えばデータ
転送トランザクションに対する相手を表す場合、内蔵された高信用コンポーネン
トによって、このエンティティと対話する第三者のエンティティは、このエンテ
ィティが実際にそのような相手を表すということに関して、高度の信用度を有す
る。 ・高信用コンポーネントは、高信用コンポーネントによって実施される検証及び
監視プロセスを通して、このエンティティ自体の固有の機密性を増大させる。 ・コンピュータエンティティが予期されるように振る舞う可能性がより高くなる
Applicant's copending international patent application PCT filed February 15, 2000
/ GB00 / 00528 “Trusted Computing Platform” and PCT / GB00 / 00752 “Smart card User Interface filed on Mar. 3, 2000.
The "for Trusted Computing Platform" is incorporated by reference in its entirety. These consist of a computer platform with "trusted components" in the form of embedded hardware components.
The concept of a "trusted computer platform" is disclosed. Two computer entities, each equipped with such a trusted component, can interact with each other with a high degree of "trust". That is, when the first and second computer entities interact with each other, the security of the interaction is enhanced compared to the case where no trusted component is present. This is for the following reasons.
The user of a computer entity has a high degree of credibility regarding the integrity and confidentiality of its own computer entity and regarding the integrity and confidentiality of computer entities belonging to other parties. • Each entity is credible in that the other entity is in fact the intended entity. If one or both of these entities represent a party to a transaction, eg a data transfer transaction, a third party entity that interacts with this entity by a trusted component built in will not It has a high degree of credibility in terms of representing the other party. The trusted component increases the inherent confidentiality of this entity itself through the verification and monitoring processes performed by the trusted component. The computer entity is more likely to behave as expected.

【0008】 上述したように、文書に署名する従来の方法は、文書の画像が再現される媒体
(通常は紙)上へ物理的に署名するというものである。この方法は、署名されて
いる対象が明確であること、及びこの署名された画像が署名された対象の証明に
なるという利点を有する。しかし、このことは電子商取引の必要性には合致しな
い。
As mentioned above, the conventional method of signing a document is to physically sign on a medium (usually paper) on which the image of the document is reproduced. This method has the advantage that the signed object is unambiguous and that this signed image is proof of the signed object. However, this does not meet the need for electronic commerce.

【0009】 今日では、従来のコンピュータプラットフォーム及び標準的な暗号化技術を用
いて文書にデジタル署名することも可能である。しかし、本発明者らは、従来の
コンピュータプラットフォームにおいて、デジタル署名された文書の電子翻訳は
通常、ユーザが目にすることができる文書と同じ翻訳ではないと認識している。
したがって、ユーザが、署名を意図するデータとは異なるデータにうっかり署名
してしまう可能性がある。従来では、ユーザがデータに故意に署名を行い、この
署名されたデータはコンピュータプラットフォームによって自分に表示されたも
のに一致しないということを、後から不正に主張することも可能である。このよ
うな問題は、上述した高信用プラットフォームが用いられた場合であっても依然
として存在する。
Today, it is also possible to digitally sign documents using conventional computer platforms and standard encryption techniques. However, the present inventors recognize that on conventional computer platforms, the electronic translation of a digitally signed document is typically not the same as the document that is visible to the user.
Therefore, the user may inadvertently sign data different from the data intended to be signed. It is also possible in the past to fraudulently claim later that the user intentionally signs the data and that the signed data does not match what is displayed to him by the computer platform. Such problems still exist even when the above-mentioned high-trust platform is used.

【0010】 従来の電子的な署名方法は、当業者にとって周知である。本質的に、デジタル
データは、例えばハッシュ関数の使用によってダイジェストに圧縮される。次に
、このダイジェストが、秘密鍵(または単に「秘密」とも呼ばれる)によって初
期化されたある暗号化方法の使用によって暗号化される。これは、通常、PC等
のコンピュータプラットフォーム上で行われる。一つの実施としては、コンピュ
ータプラットフォームに取り付けられたスマートカードリーダに挿入されるユー
ザのスマートカード内に機密に保持された秘密鍵を用いて、データに署名すると
いうものである。テキスト文書という特定の場合、デジタルデータはMicro
softのNotepad、Wordpad、またはWord等のワードプロセ
ッサアプリケーションによって生成されるファイルであることができる。通常、
署名という動作は、署名者が署名されたデータの意味に対して法的な責任を受諾
することを意味している。
Conventional electronic signature methods are well known to those skilled in the art. In essence, digital data is compressed into a digest, for example by using a hash function. This digest is then encrypted by the use of some encryption method initialized with a private key (or simply called "secret"). This is typically done on a computer platform such as a PC. One implementation is to sign the data with a private key that is kept secret in the user's smart card, which is inserted into a smart card reader attached to the computer platform. In the specific case of text documents, the digital data is Micro
It can be a file generated by a word processor application such as Softnotepad, Wordpad, or Word. Normal,
The act of signing means that the signer accepts legal responsibility for the meaning of the signed data.

【0011】 ハッシュ関数は従来技術において周知であり、この関数は比較的大量の入力デ
ータから比較的少量の出力データを生成することのできる一方向関数であり、入
力データのわずかな変更によって出力データは大幅に異なってくる。よって、ハ
ッシュ関数が適用されるデータファイルは、第1のダイジェストデータ(ハッシ
ュ関数の出力)を生じる。わずかな変更、例えばオリジナルデータファイル内の
単一ビットを変更すると、この変更されたデータファイルにハッシュ関数が再度
適用された場合、大幅に異なる出力を生じる。このようにして、数メガバイトの
データを含むデータファイルをハッシュ関数に入力すると、128〜160ビッ
ト長のデジタル出力が、結果のダイジェストデータとして生じる。データファイ
ルから生成した比較的小量のダイジェストデータを予約されたディレクトリへ保
管することは、高信用コンポーネントがより少ないメモリ空間及びより少ない処
理能力の使用で動作することになるため有益である。
Hash functions are well known in the prior art and are one-way functions that can produce a relatively small amount of output data from a relatively large amount of input data, such that a slight modification of the input data will cause the output data to change. Will be significantly different. Therefore, the data file to which the hash function is applied produces the first digest data (output of the hash function). Minor changes, such as changing a single bit in the original data file, will produce significantly different outputs if the hash function is reapplied to the changed data file. Thus, when a data file containing several megabytes of data is input to the hash function, a 128-160 bit long digital output results as the resulting digest data. Storing a relatively small amount of digest data generated from a data file in a reserved directory is beneficial because the trusted component will operate with less memory space and less processing power.

【0012】 既知の署名プロセス中、ユーザは通常、文書がコンピュータのモニタに通常の
倍率及び解像度でレンダリングされる際に、その文書を解釈する。既存のアプリ
ケーションにおいて、ユーザのスマートカードは、文書を作成または操作あるい
はその両方を行うために使用されるアプリケーションが文書を表現する形式でデ
ータに署名する。しかし、本発明者らは、ソフトウェアには、ユーザが画面を閲
覧しているときに、ユーザが知っているものとは異なる意味を持つスマートカー
ドへデータを送信してしまう可能性があると考える。この可能性は、人々に解釈
される文書の電子的表現物にデジタル署名する従来の方法の有効性に疑念を導入
するのに十分な理由でありうる。
During the known signing process, the user typically interprets the document as it is rendered on a computer monitor at normal magnification and resolution. In existing applications, the user's smart card signs data in a form that the application used to create and / or manipulate the document represents the document. However, we believe that the software may send data to a smart card that has a different meaning than what the user knows when the user is browsing the screen. . This possibility may be sufficient reason to introduce doubts about the effectiveness of conventional methods of digitally signing electronic representations of documents that are interpreted by people.

【0013】[0013]

【発明の開示】DISCLOSURE OF THE INVENTION

本発明は、人々に解釈されるデジタル署名された文書の信用を向上するシステ
ム及び方法からなる。該システム及び方法は必然的に、他の目的に使用可能なデ
ータの信用のある表示も含んでいる。
The present invention comprises a system and method for enhancing the trust of digitally signed documents that are interpreted by people. The system and method necessarily include a reliable representation of the data that can be used for other purposes.

【0014】 第1の態様によれば、本発明は、文書を表すデジタル署名を生成するように構
成されるデータ処理システムであって、 デジタル署名する文書を格納するための主記憶手段と、 文書を表示するためのグラフィック信号を生成する手段を含む、少なくとも1
つのアプリケーションプロセスを実行するための主処理手段と、 前記署名する文書に対して要求信号を生成するための手段と、 フレームバッファメモリと、 前記グラフィック信号に基づいて前記文書を表すデジタル画像データを生成
し、このデジタル画像データを前記フレームバッファメモリに格納するための手
段と、 前記フレームバッファメモリから前記デジタル画像データを読み出し、この
データを、実際の画像の表示するのに適した信号へ変換し、この信号を表示手段
へ転送する手段と、 からなる表示システムと、 前記デジタル画像データを表すデジタル署名を生成するため、前記要求信号に
応答して動作可能な、独立した処理手段を含む高信用コンポーネントと、 からなるデータ処理システムを提供する。ここで、デジタル署名は、文書をユ
ーザに表示するために用いられるデータを基にして生成される。
According to a first aspect, the present invention is a data processing system configured to generate a digital signature representing a document, the main storage means for storing a document to be digitally signed, and the document. At least one including means for generating a graphic signal for displaying
Main processing means for executing one application process, means for generating a request signal for the document to be signed, a frame buffer memory, and digital image data representing the document based on the graphic signal Then, means for storing this digital image data in the frame buffer memory, reading the digital image data from the frame buffer memory, and converting the data into a signal suitable for displaying an actual image, A display system comprising: a means for transferring this signal to display means; and a trusted component including independent processing means operable in response to the request signal to generate a digital signature representing the digital image data. And a data processing system consisting of. Here, the digital signature is generated based on the data used to display the document to the user.

【0015】 好ましい実施形態において、高信用コンポーネントは、あらゆるアクセス権の
無いアプリケーションまたはプロセスが、文書のデジタル画像データを保持して
いる前記フレームバッファメモリの少なくとも一部へ書き込みアクセスを行うこ
とを拒絶するための手段と、フレームバッファメモリの各々の部位がデータの書
き込みについてアクセス不可能である間にデジタル画像データを表すデジタル署
名を生成するための手段と、からなる。
In a preferred embodiment, the trusted component denies any unauthorized application or process write access to at least a portion of the frame buffer memory holding the digital image data of the document. And means for generating a digital signature representing the digital image data while each portion of the frame buffer memory is inaccessible for writing data.

【0016】 好ましい実施形態において、データ処理システムは、フレームバッファメモリ
からデジタル画像データもしくはこれを表すものを受信し、それぞれののデジタ
ル署名を生成するための処理手段からなるリムーバブルトークンをさらに含む。
便利な例としては、リムーバブルトークンは、適切にプログラムされたスマート
カードである。
In a preferred embodiment, the data processing system further comprises a removable token comprising processing means for receiving digital image data or a representation thereof from the frame buffer memory and generating a respective digital signature.
As a convenient example, a removable token is a properly programmed smart card.

【0017】 好ましい実施形態において、高信用コンポーネントは、高信用画像データを取
得または生成あるいはその両方を行うための手段と、高信用画像データを用いて
表示された文書画像をハイライトさせるために表示システムを制御するための手
段と、からなる。この手段は、高信用コンポーネントが動作の制御下にあること
の視覚的なフィードバックをユーザへ提供する。
In a preferred embodiment, the trusted component provides a means for obtaining and / or producing trusted image data and a display for highlighting a document image displayed using the trusted image data. And means for controlling the system. This means provides the user with visual feedback that the trusted component is under control of its operation.

【0018】 高信用画像データは、高信用画像または高信用画像を形成するための命令を表
すピクスマップデータを含みうる。好ましくは、高信用コンポーネントは、リム
ーバブルトークンから高信用画像データを取得または生成あるいはその両方を行
う手段を含む。高信用コンポーネントは、メッセージをユーザに表示するよう表
示システムを制御する手段をさらに備えることが好ましい。
The trusted image data may include pixmap data representing a trusted image or instructions for forming a trusted image. Preferably, the trusted component includes means for obtaining and / or generating trusted image data from the removable token. The trusted component preferably further comprises means for controlling the display system to display the message to the user.

【0019】 好ましい実施形態において、データ処理システムは、ユーザが安全にメッセー
ジに応答可能な高信用入力手段をさらに備える。高信用入力手段は、安全な通信
路を介して高信用コンポーネントに接続されるスイッチを備えうる。
In a preferred embodiment, the data processing system further comprises trusted input means by which the user can securely respond to the message. The trusted input means may comprise a switch connected to the trusted component via a secure communication path.

【0020】 好ましい実施形態において、高信用コンポーネント及びセキュアトークンは、
さらなる対話に先立って相互認証プロセスを実行する。
In a preferred embodiment, the trusted component and the secure token are
Perform a mutual authentication process prior to further interaction.

【0021】 好ましい実施形態において、高信用コンポーネントは表示システムの一部分を
形成する。例えば、表示システムは、主処理手段のみが高信用コンポーネントの
機能を通して間接的にフレームバッファメモリにアクセスできるように、高信用
コンポーネントが物理的及び機能的に主処理手段とフレームバッファメモリの間
に配置されるように構成可能である。好ましくは、高信用コンポーネントは、デ
ジタル署名動作を要約するデータを生成する手段をさらに含む。
In the preferred embodiment, the trusted component forms part of a display system. For example, the display system may have a trusted component physically and functionally located between the main processing means and the frame buffer memory such that only the main processing means can indirectly access the frame buffer memory through the functionality of the trusted component. Can be configured to Preferably, the trusted component further comprises means for generating data summarizing the digital signature operation.

【0022】 本発明の他の態様及び実施形態は、以下の説明、特許請求の範囲及び図面から
明らかになろう。
Other aspects and embodiments of the invention will be apparent from the following description, claims and drawings.

【0023】[0023]

【発明を実施する最適な形態および産業的応用】BEST MODE FOR IMPLEMENTING THE INVENTION AND INDUSTRIAL APPLICATION

好ましい実施形態は、本出願人の同時継続出願中の欧州特許出願第99301
100.6に記載の「高信用コンポーネント」の特徴のいくつかを最も便利に使
用する高信用コンポーネントを利用する。この出願において、高信用コンポーネ
ントは、ホストコンピュータの完全性メトリックを測定してこれを完全性メトリ
ックの真値と比較し、ホストコンピュータの完全性をユーザまたは他のホストコ
ンピュータに通知するように(するかどうかは別として)プログラムされたプロ
セッサを備えたハードウェアデバイスである。この高信用コンポーネントと本明
細書における好ましい実施形態での高信用コンポーネントの間の重要な共通点は
、次のようなことである。 ・双方とも暗号化プロセスを用いるが、好ましくは暗号化プロセスに対して外部
インタフェースを設けないこと。 ・双方とも、少なくとも正規のユーザの知識なしでは、これらの動作を覆すこと
ができないように、不正変更防止能力及び不正変更検出能力の両方を有すること
。 ・双方とも、取りつけられるホストコンピュータとは物理的及び機能的に独立し
た1つの物理的なハードウェアコンポーネントからなることが好ましいこと。 このような独立性は、高信用コンポーネントが自身に処理能力とメモリを有する
ことによって達成される。
A preferred embodiment is the applicant's copending European patent application No. 99301.
Utilize a trusted component that most conveniently uses some of the features of the "trusted component" described in 100.6. In this application, the trusted component measures the integrity metric of the host computer and compares it with the true value of the integrity metric to notify the user or other host computers of the integrity of the host computer. A hardware device with or without a programmed processor. The key commonalities between this trusted component and the trusted component in the preferred embodiment herein are: • Both use an encryption process, but preferably no external interface is provided for the encryption process. Both have both tamper proof and tamper detection capabilities so that these actions cannot be overturned without the knowledge of a legitimate user. • Both preferably consist of one physical hardware component that is physically and functionally independent of the host computer to which it is attached. Such independence is achieved by the trusted component having its own processing power and memory.

【0024】 不正変更防止に関連する技術は、セキュリティの分野における当業者には周知
である。これらの技術としては、不正変更に影響されないための方法(高信用デ
バイスの適切なカプセル化等)、不正変更を検出するための方法(仕様外の電圧
、X線、高信用デバイスのケーシングにおける物理的な完全性の損失、等の検出
)、及び不正変更が検出された場合にデータを消去する方法が含まれる。適切な
技術のさらなる考察は、http://www.cl.cam.ac.uk/~mgk25/tamper.htmlに見られ
る。タンパープルーフィング(いたずら防止)が、本発明の最も望ましい特徴で
あるが、これは本発明の通常動作には含まれないため、本発明の範囲を越えたも
のであることが理解されよう。
Techniques related to tampering prevention are well known to those skilled in the security arts. These techniques include methods that are not affected by tampering (appropriate encapsulation of high-trust devices, etc.), methods for detecting tampering (out-of-specification voltages, X-rays, physics in the casing of high-trust devices, etc.). Loss of physical integrity, etc.), and methods of erasing data if tampering is detected. Further discussion of suitable techniques can be found at http://www.cl.cam.ac.uk/~mgk25/tamper.html. It will be appreciated that tamper proofing is the most desirable feature of the present invention, but it is beyond the scope of the present invention as it is not included in the normal operation of the present invention.

【0025】 この説明において「高信用」という用語は、物理的または論理的なコンポーネ
ント、動作、またはプロセスに関連して用いられる場合、その振る舞いが様々な
動作環境下で予測可能であり、かつ、外部要因、例えば破壊的なアプリケーショ
ンソフトウェア、ウィルス、物理的妨害等による干渉または破壊に対して高い耐
性を有しているという意味を内包している。
In this description, the term "trusted" when used in connection with a physical or logical component, operation, or process is behavior that is predictable in various operating environments, and It has the meaning of being highly resistant to external factors such as destructive application software, viruses, and interference or destruction due to physical interference.

【0026】 本明細書で用いる「ホストコンピュータ」という用語は、少なくとも1つのデ
ータプロセッサ、少なくとも1つの形態のデータ記憶装置、及びいくつかの形態
の外部エンティティと対話するための通信能力とを有するデータ処理装置を指し
て用いており、この通信は、外部装置のような外部エンティティ、ユーザ及び他
のコンピュータまたはその両方が、ローカルにあるいはインターネットを介して
行うものである。「ホストコンピュータシステム」という用語は、ホストコンピ
ュータ自体に加え、ホストコンピュータに取り付けられるキーボード、マウス、
VDU等の標準的な外部装置を含む。
As used herein, the term “host computer” refers to data that has at least one data processor, at least one form of data storage, and some form of communication capability for interacting with external entities. The term processing device is used to refer to this communication by an external entity such as an external device, a user and / or another computer, either locally or via the Internet. The term "host computer system" refers to the host computer itself, as well as a keyboard, mouse, attached to the host computer,
Includes standard external devices such as VDUs.

【0027】 本明細書で用いる「文書」という用語は、ホストコンピュータシステムを用い
て視覚化することの可能なあらゆるデータの集合を含んでいる。通常、文書は契
約書などのテキスト文書である。しかし、文書には、テキストだけでなく、ある
いはテキストの代わりに、グラフィックまたはピクチャを含むこともできる。一
般に、文書は単一ページまたは複数ページを含むことができる。
As used herein, the term “document” includes any collection of data that can be visualized using a host computer system. Usually, the document is a text document such as a contract. However, the document may include graphics or pictures in addition to or in place of text. In general, a document may contain a single page or multiple pages.

【0028】 本明細書で用いる「ピクスマップ」という用語は、単色画像またはカラー(ま
たはグレースケール)画像のいずれかを定義するデータを含むように広く用いら
れる。「ビットマップ」という用語は単色画像にのみ関連付けられ、例えば、ピ
クセルが「オン」であるか「オフ」であるかに応じて1または0にセットされる
。これに対し、「ピクスマップ」はより総称的な用語であり、単色画像及びカラ
ー画像を双方とも含み、この場合、カラー画像は最大で24ビットが必要とされ
、単一ピクセルの色合い、飽和度、及び強度を定義するためにはさらにそれ以上
のビットが必要とされる。
The term “pixmap” as used herein is broadly used to include data defining either a monochrome image or a color (or grayscale) image. The term "bitmap" is only associated with monochrome images and is set to 1 or 0, for example depending on whether the pixel is "on" or "off". In contrast, “pixmap” is a more generic term that includes both monochromatic and color images, where a color image requires a maximum of 24 bits, a single pixel tint, saturation. , And more bits are needed to define the strength.

【0029】 後述で明らかにされるが、本明細書における好ましい実施形態による高信用コ
ンポーネントは、安全なユーザインタフェースを提供し、特に、ホストコンピュ
ータの表示機能の少なくともいくつかを制御する。本明細書における高信用コン
ポーネントには、本出願人の同時継続出願中の特許出願における高信用コンポー
ネントによる完全性メトリックを得ても得なくてもよいが、完全性メトリックの
獲得は本明細書では考慮されない。
As will be made clear below, the trusted component according to the preferred embodiments herein provides a secure user interface, and in particular controls at least some of the display functions of the host computer. The trusted component herein may or may not obtain an integrity metric by the trusted component in Applicants' co-pending patent application, however, the integrity metric acquisition is herein Not considered.

【0030】 好ましい実施形態は本質的には、ユーザが、ユーザのスマートカードの秘密鍵
または暗号化コプロセッサ等他の形態のセキュアトークンを用いて、ユーザがホ
ストコンピュータ上に格納された文書にデジタル署名することを可能にする。署
名は、画面で閲覧中の文書が実際にスマートカードが署名している文書である、
という高度な信用をユーザに提供する状況下で、ホストコンピュータの高信用表
示プロセッサ(すなわち高信用コンポーネント)によって行われる。特に、スマ
ートカードは、高信用画像データあるいは「シール」を収容する。この高信用画
像データあるいは「シール」は、署名手続き中に安全な通信路を介してホストコ
ンピュータへ渡され高信用コンポーネントによって表示される。これらは前記高
信用画像の部分的な表示であって、通常ユーザ対して一意であり、前記高信用コ
ンポーネントが署名動作を制御していることの信用をユーザに提供する。さらに
、この好ましい実施形態においては、ホストコンピュータには、高信用表示プロ
セッサへ直接接続される高信用入力装置が設けられ、これによりユーザは、この
ホストコンピュータの他の機能によって妨害されることなく、ホストコンピュー
タと対話することができる。
The preferred embodiment is essentially such that the user can use the private key of the user's smart card or some other form of secure token, such as a cryptographic coprocessor, to digitally document the user stored on the host computer. Allows you to sign. The signature is the document being viewed on the screen that is actually signed by the smart card,
This is done by the trusted display processor (ie, trusted component) of the host computer in the context of providing the user with a high degree of trust. In particular, smart cards contain highly trusted image data or "stickers". This trusted image data or "sticker" is passed to the host computer via a secure communication path during the signing procedure and displayed by the trusted component. These are partial representations of the trusted image and are typically unique to the user, providing the user with confidence that the trusted component controls the signature operation. Further, in this preferred embodiment, the host computer is provided with a trusted input device that is directly connected to the trusted display processor so that the user is not disturbed by other functions of the host computer. Can interact with the host computer.

【0031】 さらに詳しくは、同様の効果を有した高信用表示プロセッサあるいは表示装置
は、ホストコンピュータの標準ソフトウェアによって操作することの出来るデー
タだけでなく、ビデオ処理の段階にあるビデオデータへも関連付けられる。これ
により、ホストコンピュータのソフトウェアによって干渉または改竄されること
なく、高信用表示プロセッサはデータを表示表面に表示することができる。した
がって、高信用表示プロセッサは、どの画像が現在ユーザに対して表示されてい
るかを特定することができる。これは、ユーザが署名している画像(ピクスマッ
プ)を明確に識別するために用いられる。これによる副次的な効果は、従来の特
許出願の完全性メトリック、ユーザステータスメッセージ、プロンプト等を含む
あらゆるデータを、高信用表示プロセッサが表示画面上に高い信用度で表示可能
なことである。
More specifically, a trusted display processor or display device having a similar effect is associated not only with data that can be operated by the standard software of the host computer, but also with video data that is in the stage of video processing. . This allows the trusted display processor to display data on the display surface without interference or tampering with the software of the host computer. Thus, the trusted display processor can identify which image is currently displayed to the user. This is used to clearly identify the image (pixmap) that the user has signed. A side effect of this is that the trusted display processor can display all data, including integrity metrics of conventional patent applications, user status messages, prompts, etc., on the display screen with high confidence.

【0032】 図1は、好ましい実施形態によるホストコンピュータシステムを示しており、
この図で、ホストコンピュータは、Windows NT(登録商標)オペレー
ティングシステムの下で動作するパーソナルコンピュータすなわちPCである。
図1によれば、ホストコンピュータ100は、視覚表示ユニット(VDU)10
5、キーボード110、マウス115、及びスマートカードリーダ120、及び
ローカルエリアネットワーク(LAN)125に接続され、LAN125は次に
インターネット130に接続される。本明細書ではスマートカードリーダは独立
したユニットであるが、キーボードの一部分を成すように一体化されてもよい。
さらに、ホストコンピュータは、高信用入力装置を備える。この図では高信用ス
イッチ135がキーボードに一体化されている。VDU、キーボード、マウス、
及び高信用スイッチは、ホストコンピュータのヒューマン/コンピュータインタ
フェース(HCI)として考えられる。特に、高信用スイッチ及びディスプレイ
は、信用のおける制御下で動作する場合、後述するように、「高信用ユーザイン
タフェース」として考えられる。図1は、後述する本実施形態で用いるためのス
マートカード122も図示している。
FIG. 1 illustrates a host computer system according to a preferred embodiment,
In this figure, the host computer is a personal computer or PC running under the Windows NT® operating system.
According to FIG. 1, the host computer 100 includes a visual display unit (VDU) 10
5, keyboard 110, mouse 115, smart card reader 120, and local area network (LAN) 125, which in turn is connected to the Internet 130. Although the smart card reader is a separate unit herein, it may be integrated to form part of a keyboard.
In addition, the host computer comprises a trusted input device. In this figure, the high reliability switch 135 is integrated with the keyboard. VDU, keyboard, mouse,
And trusted switches are considered as human / computer interfaces (HCI) of the host computer. In particular, trusted switches and displays, when operating under trusted control, are considered "trusted user interfaces", as described below. FIG. 1 also illustrates a smart card 122 for use in this embodiment described below.

【0033】 図2は、図1のホストコンピュータのハードウェアアーキテクチャを示してお
り、この図において、ホストコンピュータ100は、RAM205とROM21
0からなる主記憶装置へ接続された中央演算処理装置(CPU)200または主
処理装置からなり、これらの構成要素のすべてはホストコンピュータ100上の
マザーボード215上に取り付けられている。この例では、CPUはPenti
um(登録商標)プロセッサである。CPUはPCI(Peripheral Component I
nterconnect)ブリッジ220を介して、ホストコンピュータ100の他の主要
なコンポーネントを取り付けるためのPCIバス225に接続される。PCIバ
ス225は、適切な制御部分、アドレス部分、及びデータ部分を含むが、これら
については本明細書において詳述しない。本発明の説明の範囲を越えるPent
iumプロセッサ及びPCIアーキテクチャの詳細な説明については、Hans-Pet
er Messmerによる書籍「The Indispensable PC Hardware Handbook」第3版(Ad
dison-Wesley発行、ISBN0−201−40399−4)を参照して欲しい。
もちろん、本実施形態は決してPentiumプロセッサ、Windows(登
録商標)オペレーティングシステム、またはPCIバスを用いての実施に限定さ
れるものではない。
FIG. 2 shows the hardware architecture of the host computer of FIG. 1, in which the host computer 100 includes a RAM 205 and a ROM 21.
It is composed of a central processing unit (CPU) 200 or a main processing unit connected to a main storage unit of 0, and all of these components are mounted on a motherboard 215 on the host computer 100. In this example, the CPU is Penti
um (registered trademark) processor. The CPU is a PCI (Peripheral Component I)
via a bridge 220 to a PCI bus 225 for attaching other major components of the host computer 100. PCI bus 225 includes appropriate control, address, and data portions, which are not described in detail herein. Pent beyond the scope of the present invention
For a detailed description of the ium processor and PCI architecture, see Hans-Pet
ed Messmer book "The Indispensable PC Hardware Handbook" 3rd edition (Ad
See ISBN 0-201-40399-4), published by dison-Wesley.
Of course, the present embodiment is by no means limited to implementations using the Pentium processor, Windows® operating system, or PCI bus.

【0034】 PCIバス225に取り付けられるホストコンピュータ100のその他の主要
なコンポーネントは、SCSIバス235を介してハードディスクドライブ24
0及びCD−ROMドライブ245へ接続されるSCSI(Small computer sys
tem interface)アダプタと、ホストコンピュータ100をLAN125に接続
するためのLAN(ローカルエリアネットワーク)アダプタ250と、キーボー
ド110・マウス115・及びスマートカードリーダ120を取り付けるための
IO(入出力)装置225と、高信用表示プロセッサ260と、を含み、前記コ
ンピュータ100は、前記LANアダプタを介してファイルサーバ、プリントサ
ーバ、または電子メールサーバ等の他のホストコンピュータ(図示せず)及びイ
ンターネット130と通信できるようになっている。この高信用表示プロセッサ
は、以下で説明するように、すべての標準表示機能に加えてさらに複数のタスク
を処理する。この標準表示機能は、あらゆる標準的なホストコンピュータ100
が通常有していると思われる機能であり、Windows NT(登録商標)オ
ペレーティングシステムの下で動作するPCについて言うならば、オペレーティ
ングシステムまたはアプリケーションソフトウェアに関連する画像を表示するた
めの機能である。ここで、キーボード110は、高信用表示プロセッサ260へ
の直接接続されるだけでなく、IO装置255へも接続されている点に留意され
たい。
The other main components of the host computer 100 attached to the PCI bus 225 are the hard disk drive 24 via the SCSI bus 235.
0 and a SCSI (Small computer sys) connected to the CD-ROM drive 245.
tem interface) adapter, a LAN (local area network) adapter 250 for connecting the host computer 100 to the LAN 125, an IO (input / output) device 225 for attaching the keyboard 110, the mouse 115, and the smart card reader 120, A trusted display processor 260 to enable the computer 100 to communicate with other host computers (not shown), such as a file server, print server, or email server, and the Internet 130 via the LAN adapter. Has become. This trusted display processor handles all the standard display functions plus a number of additional tasks, as described below. This standard display function is compatible with any standard host computer 100.
Is a function normally thought to have, and when it comes to a PC operating under the Windows NT (registered trademark) operating system, it is a function for displaying an image related to the operating system or application software. Note that the keyboard 110 is not only directly connected to the trusted display processor 260, but is also connected to the IO device 255.

【0035】 主要なコンポーネントはすべて、特に高信用表示プロセッサ260は、ホスト
コンピュータ100のマザーボード215上にまとめて設けられることが好まし
いが、LANアダプタ250及びSCSIアダプタ230はプラグインタイプで
あってもよい。
The LAN adapter 250 and SCSI adapter 230 may be plug-in types, although all major components, particularly the trusted display processor 260, are preferably provided together on the motherboard 215 of the host computer 100. .

【0036】 図3は、高信用表示プロセッサ260の好ましい物理的なアーキテクチャを示
す。好ましい実施形態によれば、高信用表示プロセッサ260は、高信用コンポ
ーネントの特徴を有するハードウェアコンポーネントであり、表示プロセッサの
標準的な表示機能と、デジタル署名を生成するための追加的な非標準機能と、高
信用ユーザインタフェースとを提供する。当業者には、これらの機能を代替とし
て物理的に2つ以上の個別の物理的なコンポーネントへ分割できることが理解で
きるであろう。しかし、以下の説明を読めば、すべての機能を単一の高信用コン
ポーネントに統合することが、最も洗練された有用な解決策を提供することが分
かるであろう。
FIG. 3 illustrates the preferred physical architecture of the trusted display processor 260. According to a preferred embodiment, the trusted display processor 260 is a hardware component having the characteristics of a trusted component, the standard display functionality of the display processor and additional non-standard functionality for generating digital signatures. And a trusted user interface. Those of ordinary skill in the art will appreciate that these functions may alternatively be physically separated into two or more separate physical components. However, upon reading the description below, it will be seen that integrating all functions into a single trusted component provides the most sophisticated and useful solution.

【0037】 図3によれば、高信用プロセッサ260は、 マイクロコントローラ300と、 マイクロコントローラ300の動作を制御するための各々の制御プログラム命
令(ファームウェア)を含む不揮発性メモリ305、例えばフラッシュメモリと
(別の方法としては、高信用表示プロセッサ260をASIC(特定用途向けI
C)で実施することも可能であり、この場合、通常大量生産よって高いパフォー
マンスとコスト効率を提供するが、開発はさらに高価であり柔軟性は低い)、 高信用プロセッサ260をPCIバスへ接続し、後述するように、CPU20
0から画像データ(すなわちグラフィックスプリミティブ)を受信すると共に、
スマートカード122から高信用画像データも受信するためのインタフェース3
10と、 少なくとも1つの完全な画像フレーム(最大1670万色をサポートする12
80×768のスクリーン解像度の場合、典型的なフレームバッファメモリ31
5の大きさは1〜2メガバイトである)の格納に十分なVRAM(ビデオRAM
)を有するフレームバッファメモリ315と、 ピクスマップデータを、ビデオインタフェース325を介してビデオDACへ
接続されてる(アナログ)VDUを動作させるためのアナログ信号へ変換するた
めのビデオDAC(デジタル/アナログコンバータ)320と、 高信用スイッチ135から信号を直接受信するためのインタフェース330と
、 状態情報、特に受信した暗号鍵を格納すると共に、マイクロコントローラ30
0に作業エリアを提供するための不揮発性メモリ335(例えばDRAM(ダイ
ナミックRAM)またはもっと高価なSRAM(スタティックRAM))と、 より詳細に後述するように、高信用表示プロセッサ260に暗号の識別機能、
及び認証、完全性、信用度、及び再生攻撃からの保護、デジタル署名の作成、及
び電子証明書の使用、を提供するように設けられたハードウェア暗号化アクセラ
レータ及びソフトウェア暗号化アクセラレータまたはその両方からなる暗号化プ
ロセッサ340と、 高信用表示プロセッサ260の識別子IDP(例えば、単純なテキスト文字列の
記号)と、高信用表示プロセッサ260の秘密鍵SDPと、高信用表示プロセッサ
260を署名公開鍵−秘密鍵の対及び機密の公開鍵−秘密鍵の対に結び付けると
共に、高信用表示プロセッサ260の対応する公開鍵を含む、VeriSign
Inc.等の第三者信用機関によって署名されて提供される証明書CertDP と、を格納する不揮発性メモリ345、例えばフラッシュメモリと、 から構成される。
According to FIG. 3, the trusted processor 260 comprises a microcontroller 300 and a non-volatile memory 305, for example a flash memory, which contains respective control program instructions (firmware) for controlling the operation of the microcontroller 300 ( Alternatively, the trusted display processor 260 may be an ASIC (application specific I
C), which typically provides high performance and cost efficiency due to high volume production, but is more expensive and less flexible to develop), and connects the trusted processor 260 to the PCI bus. As will be described later, the CPU 20
Receiving image data (ie graphics primitives) from 0,
Interface 3 for receiving highly trusted image data from smart card 122
10 and at least one complete image frame (12 supporting up to 16.7 million colors)
With a screen resolution of 80 × 768, a typical frame buffer memory 31
Sufficient VRAM (video RAM) to store 5 to 1 megabytes
) And a video DAC (digital / analog converter) for converting the pixmap data into an analog signal for operating the (analog) VDU connected to the video DAC via the video interface 325. 320, an interface 330 for receiving signals directly from the trusted switch 135, state information, in particular the received cryptographic key, and the microcontroller 30
Non-volatile memory 335 (eg, DRAM (Dynamic RAM) or more expensive SRAM (Static RAM)) to provide a working area for zero, and a cryptographic identification function for the trusted display processor 260, as described in more detail below. ,
And hardware cryptographic accelerators and / or software cryptographic accelerators provided to provide authentication, integrity, authenticity, and protection from replay attacks, creation of digital signatures, and use of digital certificates. The encryption processor 340, the identifier I DP of the trusted display processor 260 (eg, a symbol of a simple text string), the secret key S DP of the trusted display processor 260, and the public key signed by the trusted display processor 260- A private key pair and a confidential public key-VeriSign, which is associated with the private key pair and which contains the corresponding public key of the trusted display processor 260.
Inc. And a non-volatile memory 345 that stores a certificate Cert DP signed and provided by a third-party credit institution such as a flash memory.

【0038】 証明書は通常このような情報を含むが、認証局(CA)の公開鍵は含まない。
この公開鍵は、通常、「公開鍵インフラストラクチャ」(PKI)を用いて利用
できるようになる。PKIの動作は、セキュリティの分野の当業者にとって周知
である。
Certificates typically include such information, but not the public key of the certificate authority (CA).
This public key is typically made available using a "public key infrastructure" (PKI). The operation of PKIs is well known to those of ordinary skill in the security arts.

【0039】 証明書CertDPは、公開鍵の出所及びこの公開鍵が正当な公開鍵−秘密鍵の
対の一部であることを第三者が信用できるような方法で、高信用表示プロセッサ
260の公開鍵を第三者へ供給するために用いられる。ここで、第三者は、高信
用表示プロセッサ260の公開鍵を事前に知る、または事前に取得する必要はな
い。
The certificate Cert DP uses a trusted display processor 260 in a manner that allows a third party to trust the origin of the public key and that this public key is part of a legitimate public-private key pair. It is used to provide the public key of the. Here, the third party does not need to know in advance or obtain the public key of the trusted display processor 260 in advance.

【0040】 高信用表示プロセッサ260は、自身の識別と高信用プロセスをホストコンピ
ュータへ提供し、また、高信用表示プロセッサは、不正変更防止能力、耐偽造性
、及び耐偽作によってこれらの特性を有する。適切な認証機構を有する選ばれた
エンティティのみが、この高信用表示プロセッサ260内で実行されているプロ
セスに影響を及ぼすことができる。ホストコンピュータの通常のユーザも、ネッ
トワークを介してホストコンピュータに接続されるあらゆる通常ユーザまたはあ
らゆる通常のエンティティも、高信用表示プロセッサ260内で実行されている
プロセスにアクセスまたは干渉することはできない。高信用表示プロセッサ26
0は、「不可侵な」特性を有する。
The trusted display processor 260 provides its identification and trusted process to the host computer, and the trusted display processor has these characteristics through tamper resistance, anti-counterfeiting and anti-counterfeiting. . Only selected entities with the appropriate authentication mechanism can affect the processes running within this trusted display processor 260. Neither the normal user of the host computer nor any normal user or any normal entity connected to the host computer via the network can access or interfere with the processes executing within the trusted display processor 260. High credit display processor 26
0 has the property of "impermeable".

【0041】 まず、高信用表示プロセッサ260は、ホストコンピュータ100のマザーボ
ードにインストールされた後、高信用表示プロセッサ260との安全な通信によ
り、その識別、秘密鍵、及び証明書を用いて初期化される。証明書を高信用表示
プロセッサ260へ書き込む方法は、スマートカードに秘密鍵を書き込むことに
よってスマートカードを初期化する方法に類似している。前記安全な通信は、信
用できる第三者(及びホストコンピュータの製造業者)にのみ知られている「マ
スターキー」によって確保されており、このマスターキーは、製造時に高信用表
示プロセッサ260へ書き込まれ、高信用表示プロセッサ260へのデータの書
き込みを可能にするために用いられる。したがって、マスターキーを知らずに高
信用表示プロセッサ260に対してデータを書き込むことは不可能である。
First, the high-credit display processor 260 is installed on the motherboard of the host computer 100 and then initialized by its secure communication with the high-credit display processor 260 using its identification, private key, and certificate. R. Writing the certificate to the trusted display processor 260 is similar to initializing the smart card by writing the private key to the smart card. The secure communication is ensured by a "master key" known only to trusted third parties (and the manufacturer of the host computer), which master key is written to the trusted display processor 260 during manufacture. , To enable writing of data to the trusted display processor 260. Therefore, it is not possible to write data to the trusted display processor 260 without knowing the master key.

【0042】 図3から明らかなように、フレームバッファメモリ315は高信用表示プロセ
ッサ260自身によってのみアクセス可能になっており、CPU200からはア
クセスできない。CPU200、もっと重大なものとしては破壊的なアプリケー
ションプログラムやウィルスが、高信用動作中にピクスマップを変更できないこ
とが不可欠であるため、このことは好ましい実施形態の重要な特徴である。もち
ろん、CPU200がフレームバッファメモリ315に直接アクセス可能である
場合であっても、CPU200がフレームバッファメモリ315にアクセスする
可能性があるときに、高信用表示プロセッサ260が絶対的な制御を有するよう
に構成されるならば、同じレベルのセキュリティを提供することは可能であろう
。明らかに、後者の方式の方が実施するのは難しいと思われる。
As is apparent from FIG. 3, the frame buffer memory 315 can be accessed only by the high-credit display processor 260 itself, and cannot be accessed by the CPU 200. This is an important feature of the preferred embodiment because it is essential that the CPU 200, and more importantly the destructive application programs and viruses, not be able to modify the pixmap during trusted operation. Of course, even if the CPU 200 has direct access to the frame buffer memory 315, the trusted display processor 260 is configured to have absolute control when the CPU 200 has access to the frame buffer memory 315. If so, it would be possible to provide the same level of security. Obviously, the latter method seems to be more difficult to implement.

【0043】 次に、話の背景として、グラフィックスプリミティブがホストコンピュータ1
00によって生成される典型的なプロセスについて説明する。まず、特定の画像
を表示したいアプリケーションプログラムが、グラフィカルAPI(アプリケー
ションプログラミングインタフェース)を介してオペレーティングシステムに対
して適切な呼び出しを行う。画像を表示する目的のため、APIは通常、アプリ
ケーションプログラムに対して、Windows NT(登録商標)によって提
供されているように、特有の基礎的な関数にアクセスするための標準的なインタ
フェースを提供する。APIの呼び出しによって、オペレーティングシステムが
各グラフィックスドライバライブラリルーチンを呼び出し、その結果、表示プロ
セッサ、この例では高信用表示プロセッサ260に特有のグラフィックスプリミ
ティブが生成される。これらのグラフィックスプリミティブは、最終的にはCP
U200によって高信用表示プロセッサ260へ渡される。グラフィックスプリ
ミティブの例としては、「ポイントxからポイントyまで太さzで線を引く」ま
たは「ポイントw、x、y、zで囲まれた領域を色aで塗りつぶす」等がありう
る。
Next, as a background of the story, the graphics primitives are stored in the host computer 1.
A typical process generated by 00 will be described. First, an application program that wants to display a specific image makes an appropriate call to the operating system via a graphical API (application programming interface). For the purpose of displaying images, APIs typically provide application programs with a standard interface to access specific underlying functions, such as those provided by Windows NT. . The API call causes the operating system to call each graphics driver library routine, resulting in a graphics primitive specific to the display processor, in this example the trusted display processor 260. These graphics primitives will eventually
Passed by U200 to trusted display processor 260. Examples of graphics primitives may include "draw a line from point x to point y with thickness z" or "fill the area surrounded by points w, x, y, z with color a".

【0044】 マイクロコントローラ300の制御プログラムは、マイクロコントローラを制
御して、受信したグラフィックスプリミティブを処理するための標準的な表示機
能を提供する。具体的には次のように行われる:CPU200からグラフィック
スプリミティブを受信し、これを処理して、VDU105の画面に表示される画
像を直接表すピクスマップデータを形成する。ここでピクスマップデータは、一
般に、VDU105の画面上でアドレス指定可能なピクセルの赤色ドット、緑色
ドット、及び青色それぞれのドットに対する強度値を有する;このピクスマップ
データをフレームバッファメモリ315へ格納する;定期的に、例えば1秒当た
り60回、フレームバッファメモリ315からピクスマップデータを読み出し、
ビデオDACを用いてこのデータをアナログ信号へ変換し、このアナログ信号を
VDU105に送信して、要求された画像を画面上に表示する。
The control program of the microcontroller 300 provides standard display functions for controlling the microcontroller to process the received graphics primitives. Specifically, it does the following: Receives a graphics primitive from CPU 200 and processes it to form pixmap data that directly represents the image displayed on the screen of VDU 105. Here, the pixmap data generally has intensity values for each of the red, green, and blue dots of the addressable pixels on the screen of the VDU 105; this pixmap data is stored in the frame buffer memory 315; Periodically, for example, 60 times per second, the pixmap data is read from the frame buffer memory 315,
A video DAC is used to convert this data to an analog signal and this analog signal is sent to the VDU 105 to display the requested image on the screen.

【0045】 標準表示機能以外に、制御プログラムは、CPU200からだまし取った表示
画像データを高信用画像データと組み合わせて、単一のピクスマップを形成する
機能を有する。さらに制御プログラムは、暗号化プロセッサ及び高信用スイッチ
135との対話の管理も行う。
In addition to the standard display function, the control program has a function of combining display image data tricked from the CPU 200 with high-credit image data to form a single pixmap. The control program also manages interaction with the cryptographic processor and trusted switch 135.

【0046】 高信用表示プロセッサ260は、ホストコンピュータ100の「表示システム
」全体の一部を形成しており、その他の部分は通常オペレーティングシステムの
表示機能であって、その他の部分は、アプリケーションプログラムにより「呼び
出す」ことが可能になっていて、グラフィックスプロセッサ及びVDU105の
標準表示機能へアクセスする。言い換えれば、ホストコンピュータ100の「表
示システム」は、画像を表示することに関係するあらゆるハードウェアまたは機
能を含んでいる。
The trusted display processor 260 forms a part of the entire “display system” of the host computer 100, the other part is the display function of the normal operating system, and the other part depends on the application program. It is "callable" and has access to the graphics processor and standard display capabilities of the VDU 105. In other words, the “display system” of host computer 100 includes any hardware or functionality that is involved in displaying images.

【0047】 すでに述べたように、本実施形態は、高信用表示プロセッサ260とユーザの
スマートカード122との間の対話に依存している。好ましい実施形態による使
用に適したスマートカードの処理エンジンは、図4に示される。この処理エンジ
ンは、データのデジタル署名及びどこか別の場所から受信した署名の検証を補助
するために、標準的な暗号化及び復号化の関数を実行するためのプロセッサ40
0を備える。本実施形態において、このプロセッサ400は、内蔵型オペレーテ
ィングシステムを有し、ISO7816−3、4、T=0、T=1、及びT=1
4規格に規定される非同期プロトコルを介して外部の世界と通信するよう構成さ
れる8ビットマイクロコントローラである。スマートカードはまた、不揮発メモ
リ420例えばフラッシュメモリを含み、この不揮発メモリは、スマートカード
122の識別子ISC、データにデジタル署名するのに使用される秘密鍵SSC、及
び第三者信用機関によって提供されこのスマートカードを公開鍵−秘密鍵の対に
結び付けると共にスマートカード122の対応する公開鍵(高信用表示プロセッ
サ260の証明書CertDPと同じ性質)を含む証明書CertSCを含む。さら
に、スマートカードは、不揮発性メモリ420に「シール」データSEALを含
み、より詳細に後述するように、このシールデータは、プロセスがユーザのスマ
ートカードを用いて安全に動作しているということをユーザへ示すために、高信
用表示プロセッサ260によってグラフィックで表現される。好ましい実施形態
において、シールデータSEALは、一意の識別子としてユーザによって最初に
選択された画像、例えばユーザ自身の画像のピクスマップの形態であり、周知の
技術を用いてスマートカード122にロードされる。プロセッサ400は、状態
情報(受信した鍵等)を格納するため、及びプロセッサ400にワークエリアを
提供するために、揮発性メモリ430例えばRAMへアクセスし、また、スマー
トカードリーダと通信するために、インタフェース440例えば電気的な接点へ
アクセスする。
As already mentioned, this embodiment relies on the interaction between the trusted display processor 260 and the user's smart card 122. A smart card processing engine suitable for use in accordance with the preferred embodiment is shown in FIG. The processing engine is a processor 40 for performing standard encryption and decryption functions to assist in verifying digital signatures of data and signatures received elsewhere.
Equipped with 0. In the present embodiment, this processor 400 has a built-in operating system and is ISO7816-3, 4, T = 0, T = 1, and T = 1.
It is an 8-bit microcontroller configured to communicate with the outside world via an asynchronous protocol defined in the 4 standards. The smart card also includes non-volatile memory 420, such as flash memory, which is provided by the identifier I SC of the smart card 122, the private key S SC used to digitally sign the data, and a third party credit authority. And includes a certificate Cert SC that binds the smart card to a public-private key pair and contains the corresponding public key of the smart card 122 (of the same nature as the certificate Cert DP of the trusted display processor 260). In addition, the smart card includes "seal" data SEAL in non-volatile memory 420, which, as will be described in more detail below, indicates that the process is operating safely with the user's smart card. Graphically represented by trusted display processor 260 for display to the user. In the preferred embodiment, the seal data SEAL is in the form of a pixmap of the image originally selected by the user as a unique identifier, eg, the user's own image, and is loaded onto the smart card 122 using known techniques. The processor 400 accesses the volatile memory 430, eg RAM, to store state information (such as received keys) and to provide a work area for the processor 400, and to communicate with a smart card reader, Access interface 440, eg, electrical contacts.

【0048】 シール画像は、ピクスマップとして格納される場合、比較的大量のメモリを使
用する可能性がある。これは、記憶容量が比較的限られているスマートカード1
22に画像を格納する必要がある状況では、明らかに欠点となりうる。メモリ要
件は、いくつかの異なる技術によって低減することができる。例えば、シール画
像は次のものを含みうる:高信用表示プロセッサ260によって解凍できるよう
に圧縮された画像;高信用表示プロセッサ260によって生成される反復モザイ
クの基本要素を形成するサムネイル画像;高信用表示プロセッサ260が単一の
大きな画像として表示できるような、または上記のようにサムネイル画像として
使用できるような英数字キャラクタ集合等の普通に圧縮された画像。あらゆる代
替的方法において、シールデータ自体は暗号化形態であってもよく、表示可能に
なる前には、高信用表示プロセッサ260がデータを復号化する必要がある。あ
るいは、シールデータは、ホストコンピュータ100またはネットワークサーバ
に格納されうる多くの画像のうち1つを識別する暗号化されたインデックスであ
ってもよい。この場合、インデックスは、安全な通信路を介して高信用表示プロ
セッサ260によって取り込まれ、正しい画像を取得して表示するために復号化
される。さらに、シールデータは、画像を生成するために、適切にプログラムさ
れた高信用表示プロセッサ260によって解釈することができる命令(例えば、
PostScript(登録商標)命令)を含むこともできる。
Sticker images can use a relatively large amount of memory when stored as pixmaps. This is a smart card with a relatively limited storage capacity 1
In situations where images need to be stored at 22, this can clearly be a drawback. Memory requirements can be reduced by several different technologies. For example, the seal image may include: an image that has been compressed for decompression by the trusted display processor 260; a thumbnail image that forms the basis of the repeating mosaic generated by the trusted display processor 260; a trusted display. A normally compressed image, such as a set of alphanumeric characters that processor 260 can display as a single large image, or that can be used as a thumbnail image as described above. In any alternative, the seal data itself may be in encrypted form, requiring the trusted display processor 260 to decrypt the data before it can be displayed. Alternatively, the seal data may be an encrypted index identifying one of many images that may be stored on the host computer 100 or network server. In this case, the index is captured by the trusted display processor 260 via a secure channel and decrypted to obtain and display the correct image. Further, the seal data may be instructed (eg, by a properly programmed trusted display processor 260) to generate an image.
PostScript® instructions) may also be included.

【0049】 図5は、高信用署名動作を実施する状況におけるホストコンピュータ100、
高信用表示プロセッサ260、及びスマートカード122の機能間の論理的な関
係を示す。高信用署名動作に関わるプロセスを明確に表現するため、ホストコン
ピュータ100内への論理的な分離から離れ、表示プロセッサ260またはスマ
ートカード122の各機能が物理的なアーキテクチャから独立して表現されてい
る。さらに、「標準表示機能」は、高信用機能から線x―yによって分けられ、
この線の左側にある機能は高信用機能であることを明示している。図において、
機能は楕円で表され、機能が作用する「不変の」データ(署名処理中の文書画像
を含む)はボックスで示される。単に明確化したいという理由から、状態データ
または受信された暗号鍵等の動的データは図示されない。楕円間及び楕円とボッ
クスの間の矢印は、それぞれ論理的な通信路を表す。
FIG. 5 shows the host computer 100 in a situation where a high-credit signature operation is performed.
3 illustrates the logical relationship between the trusted display processor 260 and the functionality of the smart card 122. In order to clearly express the processes involved in the trusted signature operation, apart from the logical separation into the host computer 100, each function of the display processor 260 or the smart card 122 is expressed independently of the physical architecture. . Furthermore, the "standard display function" is separated from the high-credit function by the line xy,
The features to the left of this line clearly indicate that they are highly trusted features. In the figure,
Features are represented by ellipses, and the "immutable" data on which they act (including the document image being signed) is indicated by a box. Dynamic data, such as state data or received cryptographic keys, are not shown simply for the sake of clarity. Arrows between ellipses and between ellipses and boxes respectively represent logical communication paths.

【0050】 図5によれば、ホストコンピュータ100は次のものを含みうる:文書への署
名を要求するアプリケーションプロセス500、例えばワードプロセッサプロセ
ス;文書データ505;オペレーティングシステムプロセス510;アプリケー
ションプロセス500から表示呼び出しを受信するためのAPI511プロセス
;キーボード110からアプリケーションプロセス500への入力を提供するた
めのキーボードプロセス513;マウス115からアプリケーションプロセス5
00への入力を提供するためのマウスプロセス514;APIプロセス511を
介してアプリケーションプロセスから受信した呼び出しに基づいてグラフィック
スプリミティブを生成するためのグラフィックスプリミティブプロセス515。
APIプロセス511、キーボードプロセス513、マウスプロセス514、及
びグラフィックスプリミティブプロセス515は、オペレーティングシステムプ
ロセス510の最上部に構築され、オペレーティングシステムプロセス510を
介してアプリケーションプロセスと通信する。
According to FIG. 5, the host computer 100 may include: an application process 500 requesting to sign a document, eg a word processor process; document data 505; operating system process 510; a display call from the application process 500. API 511 process for receiving the input; keyboard process 513 for providing input from the keyboard 110 to the application process 500; mouse 115 to the application process 5
Mouse process 514 for providing input to 00; Graphics primitive process 515 for generating graphics primitives based on calls received from the application process via API process 511.
API process 511, keyboard process 513, mouse process 514, and graphics primitive process 515 are built on top of operating system process 510 and communicate with application processes via operating system process 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データ、及び証明書C
ERTDPデータ530へアクセスできるようになっている。実際に、スマートカ
ード及び高信用表示プロセッサは、標準的なオペレーティングシステムの呼び出
しを介して互いに対話する。
The remaining functions of host computer 100 are those provided by trusted display processor 260. These functions include: for coordinating all the operations of the trusted display processor 260 and for receiving graphics primitives from the graphics primitive process and for receiving signature requests from the application process 500. Control process 520; Summarization process 522 for generating a signed digest representing the document signing procedure in response to a request from control process 520; Signature request process 523 for obtaining the digital signature of the pixmap from smart card 122. A seal process 524 for obtaining seal data 540 from the smart card 122; a summary process 522,
A smart card process 525 that interacts with the smart card 122 to perform the challenge / response and data signing tasks requested by the signature request process 523 and the seal process; read the stored pixmap data 531 and use this pixmap. If requested by the signature request process 523 to pass data to the signature request process 523, pixmap read process 526 for doing this; pixmap data based on the graphics primitive and seal image data received from the control process 520. Pixmap generation process 527 for generating 531; Screen refresh process 528 for reading pixmap data, converting this to an analog signal, and transmitting the converted signal to VDU 105; High credit switch process 529 for credit switch 135 monitors whether or not activated by the user. Smart card process 525
Is the identification data I DP of the trusted display processor, the private key S DP data, and the certificate C.
The ERT DP data 530 can be accessed. In effect, the smart card and trusted display processor interact with each other via standard operating system calls.

【0052】 スマートカード122は、シールデータ540と、高信用表示プロセッサ26
0と対話して呼び掛け/応答及びデータ署名タスクを行うための表示プロセッサ
プロセス542と、スマートカード識別データISC・スマートカード秘密鍵デー
タSSC・スマートカード証明書データCertSC543と、を有する。
The smart card 122 includes the seal data 540 and the high-credit display processor 26.
And a display processor process 542 for interacting with 0 to perform interrogation / response and data signing tasks, and smart card identification data I SC , smart card private key data S SC , smart card certificate data Cert SC 543.

【0053】 次に、図1〜5に示す構成を用いて文書に署名するための好ましいプロセスに
ついて、図6の流れ図を参照して説明する。まず、ステップ600において、ユ
ーザはアプリケーションプロセス500を制御して、文書にデジタル署名するた
めの「署名要求」を起動する。アプリケーションプロセス500は、専用ソフト
ウェアプログラム、あるいはMicrosoft Word等の標準的なワード
プロセッサのパッケージへの追加、例えばマクロ等、によって実現することがで
きる。いずれの場合であっても、署名要求またはアプリケーションプロセス50
0はどちらも安全である必要はない。ユーザが署名要求を開始するとき、画面全
体がすでに署名された文書で満たされていないならば、ユーザは署名したい文書
の指定も行う。例えば、この署名したい文書は、画面全体の領域の一部に表示さ
れる場合もあれば、特定のウィンドウに表示される場合もある。画面上の特定エ
リアの選択は単純なタスクであり、(WIMP環境を用いた)いくつかの方法、
例えばある領域を画定するユーザ定義のボックスを描画すること、あるいは単に
座標を指定することによって、達成することができる。
A preferred process for signing a document using the arrangement shown in FIGS. 1-5 will now be described with reference to the flow chart of FIG. First, in step 600, the user controls the application process 500 to initiate a "signature request" for digitally signing a document. The application process 500 can be realized by a dedicated software program or addition to a standard word processor package such as Microsoft Word, for example, a macro or the like. In either case, the signature request or application process 50
Neither need be zero. When the user initiates a signature request, the user also specifies the document to sign if the entire screen is not already filled with the signed document. For example, the document to be signed may be displayed in a part of the entire screen area or may be displayed in a specific window. Selecting a specific area on the screen is a simple task, and there are several ways (using the WIMP environment),
This can be accomplished, for example, by drawing a user-defined box that defines an area, or by simply specifying the coordinates.

【0054】 次に、ステップ602において、アプリケーションプロセス500は、画面上
の(画定されたエリアまたはウィンドウ内に)表示されている画像に署名するた
め、制御プロセス520を呼び出し、制御プロセス520はこの呼び出しを受信
する。これと同時に、図示されていないが、制御プロセス520は、グラフィッ
クスプリミティブプロセスから任意のグラフィックスプリミティブを受信し、こ
れをピクスマップ生成プロセス527へ転送する。文書に署名するためのアプリ
ケーションプロセス500からの呼び出しは、文書のエッジの座標(a、b、c
、d)を含む。この座標の送信によって、画面の表面全体、ある完結したウィン
ドウ、または画面の任意の部分等に広く署名できるようになることに留意して欲
しい。次に、アプリケーションプロセス500は、制御プロセス520が画像の
署名を返すのを待つ。
Next, in step 602, the application process 500 calls the control process 520 to sign the image being displayed (in a defined area or window) on the screen, and the control process 520 makes this call. To receive. At the same time, although not shown, control process 520 receives any graphics primitive from the graphics primitive process and forwards it to pixmap generation process 527. The call from the application process 500 to sign the document is made with the coordinates (a, b, c) of the document edge.
, D). Keep in mind that sending these coordinates allows you to widely sign the entire surface of the screen, some complete window, or any part of the screen. The application process 500 then waits for the control process 520 to return the image signature.

【0055】 署名要求に応答し、ステップ604において、制御プロセス520は、要求時
からプロセスが完了するまで、強制的に署名する画像を「スタティック(静的)
」にする。ここで、「スタティック」とは、文書画像が高信用表示プロセッサ2
60以外によっては変更不可能なことを意味する。これにより、ユーザは、署名
処理中常に、自身が見ているものが署名してるものであると確信を得ることがで
きる。本実施形態では、制御プロセス520は、それ以上のグラフィックスプリ
ミティブを「受け付けない」すなわち処理しないことによって、「スタティック
」表示を達成する。状況によっては、グラフィックスプリミティブプロセス(ま
たはその均等物)は、制御プロセス520がさらなるグラフィックスプリミティ
ブを受信できるよう準備されるまで、グラフィックスプリミティブを「バッファ
リング」してもよい。他の状況によっては、署名される画像のグラフィックスプ
リミティブを単純に失われてもよい。文書画像が全画面を満たしている場合、画
像をスタティックにすることは、単にいずれのグラフィックスプリミティブも処
理しない場合である。しかし、署名する画像が全画面の一部分、例えばウィンド
ウのみを形成する場合、制御プロセス520は、受信したグラフィックスプリミ
ティブが「スタティック」領域に影響するか否かを決定し、影響するものを拒絶
する必要がある。このようにして、フレームバッファメモリ315内のスタティ
ック文書画像のピクスマップは、この文書画像がスタティックである間、グラフ
ィックスプリミティブプロセスからのあらゆる命令、またはCPU200上で実
行されている他のあらゆるプロセスによって変更されないよう保持される。
In response to the signature request, in step 604, the control process 520 “statically” forces the image to be signed from the time of the request until the process is complete.
To Here, “static” means that the document image is a highly reliable display processor 2
It means that it cannot be changed except for 60. As a result, the user can be sure that what he / she sees is the signature at all times during the signature process. In this embodiment, control process 520 achieves a "static" display by "don't accept" or process any more graphics primitives. In some circumstances, the graphics primitive process (or its equivalent) may "buffer" graphics primitives until the control process 520 is ready to receive additional graphics primitives. In other circumstances, the graphics primitives of the image being signed may simply be lost. If the document image fills the entire screen, making the image static is simply the case where no graphics primitives are processed. However, if the image to be signed forms only part of the full screen, eg, a window, the control process 520 determines whether the received graphics primitives affect the “static” region and rejects those that affect. There is a need. In this way, the pixmap of the static document image in frame buffer memory 315 is provided by any instruction from the graphics primitive process or any other process executing on CPU 200 while the document image is static. It is kept so that it does not change.

【0056】 いったん文書画像がスタティックになると、ステップ606において、図10
cを参照してより詳細に後述するように、制御プロセス520は、署名する文書
をハイライトするようにピクスマップを修正するため、アプリケーションプロセ
ス500によって提供される座標(a、b、c、d)を含めた呼び出し命令をピ
クスマップ生成プロセス527へ送る。次に、ステップ608において、スマー
トカードプロセス525が判定を行ったときに、スマートカード122がまだス
マートカードリーダ120に挿入されていないと判定された場合には、制御プロ
セス520は、ユーザにスマートカード122を挿入するよう求めるグラフィッ
クメッセージを表示するようピクスマップ生成プロセスへ命令する。このメッセ
ージには、10秒のカウントダウンタイマCOUNTが付加される。スマートカ
ード122を受け取らなかった結果、カウントダウンタイマが切れる(すなわち
、ゼロに達する)と、ステップ614において、制御プロセスは署名動作をキャ
ンセルし、例外信号をアプリケーションプロセス500へ返す。これに応答し、
ステップ616において、アプリケーションプロセス500は適切なユーザメッ
セージを表示する。スマートカード122が時間内に挿入される場合、またはす
でに存在していた場合、プロセスは継続する。
Once the document image is static, at step 606, FIG.
As described in more detail below with reference to c, control process 520 modifies the pixmap to highlight the document to be signed by coordinates (a, b, c, d) provided by application process 500. ) Is sent to the pixmap generation process 527. Next, in step 608, if the smart card process 525 determines that the smart card 122 has not yet been inserted into the smart card reader 120, the control process 520 prompts the user to do so. Instructs the pixmap generation process to display a graphic message asking to insert 122. A countdown timer COUNT of 10 seconds is added to this message. If the countdown timer expires (ie, reaches zero) as a result of not receiving the smart card 122, then in step 614 the control process cancels the signing operation and returns an exception signal to the application process 500. In response to this,
In step 616, application process 500 displays the appropriate user message. If the smart card 122 is inserted in time, or if it was already present, the process continues.

【0057】 次に、ステップ618において、制御プロセス520はシールプロセス524
を呼び出し、シールプロセス524はスマートカードプロセス525を呼び出し
、スマートカード122からシールデータ540を取得する。追加的に、制御プ
ロセス520は、ピクスマップ生成プロセス527を呼び出し、ユーザにシール
データ540の回復を試行中であることを示す別のメッセージを表示することも
できる。ステップ618及び620において、高信用表示プロセッサ260のス
マートカードプロセス525及びスマートカード122の表示プロセッサプロセ
ス542が、相互認証を行うために周知の「呼び掛け/応答」技術を用いて対話
を行い、シールデータ540をスマートカードから制御プロセス520へ返す。
次に、この相互認証プロセス及びシールデータ540の受け渡しの詳細について
、図7を参照して説明する。
Next, in step 618, the control process 520 causes the sealing process 524 to proceed.
, And the seal process 524 calls the smart card process 525 to obtain the seal data 540 from the smart card 122. Additionally, the control process 520 may call the pixmap generation process 527 to display another message to the user indicating that it is attempting to recover the seal data 540. In steps 618 and 620, the smart card process 525 of the trusted display processor 260 and the display processor process 542 of the smart card 122 interact using well-known “challenge / response” techniques to perform mutual authentication and seal data. Return 540 from smart card to control process 520.
Next, details of the mutual authentication process and the delivery of the seal data 540 will be described with reference to FIG. 7.

【0058】 図7によれば、スマートカードプロセス525は、シールデータSEAL54
0を返送してもらうための要求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及び署名s
DP(R1‖R2)に用いて、連結R1‖R2と比較することにより認証し、シール
要求が所望の高信用表示プロセッサ260からきたものであること、及び高信用
表示プロセッサ260がオンラインであることを確認する。ナンスは、古くから
繰り返される信用できないプロセスより引き起こされる本物の署名を用いた不正
(「再生攻撃」と呼ばれる)から、ユーザを保護するするために用いられる。
According to FIG. 7, the smart card process 525 uses the seal data SEAL 54.
A request REQ1 for returning 0 is sent to the smart card 122. The display processor process 542 generates nonce R 1 and sends it on the call to the smart card process 525. The smart card process 525 generates a nonce R 2 , concatenates it with the nonce R 1 and signs the concatenation R 1 ‖ R 2 with the smart card private key to generate the signature sS DP (R 1 ‖ R 2 ). , Concatenation R 1 ‖ R 2 , signature sS DP (R 1 ‖ R 2 ), and certificate Cert DP are returned to the display processor process 542 of the smart card 122. The display processor process 542 extracts the public key of the trusted display processor 260 from the certificate Cert DP and sends it to the nonce R 1 and signature s.
Using the S DP (R 1 ‖R 2) , connecting R 1 and authenticated by comparing it with ‖R 2, it seals the request is coming from a desired high credit display processor 260, and the high credit display processor 260 Make sure you are online. Nonces are used to protect users from fraud with genuine signatures (called a "replay attack") caused by an old and repetitive untrustworthy process.

【0059】 次に、スマートカード122の表示プロセッサプロセス542は、R2をその
スマートカードのシールデータSEAL540と連結し、秘密鍵SSCを用いて連
結R2‖SEALに署名して署名sSSC(R2‖SEAL)を生成し、秘密鍵SSC を用いてシールデータSEAL540を暗号化して暗号化シールデータ540s
SC(SEAL)を生成し、ナンスR2、暗号化シールデータsSSC(SEAL
)、署名sSSC(R2‖SEAL)、及びスマートカードの証明書CertSC
、高信用表示プロセッサ260のスマートカードプロセス525へ送信する。ス
マートカードプロセス525は、証明書CertSCからスマートカードの公開鍵
を抽出し、これを用いてナンスR2及び署名sSSC(R2‖SEAL)を検証し、
暗号化シールデータ540sSSC(SEAL)からシールデータSEAL540
を復号化し、最終的にこのシールデータSEAL540を、シールプロセス52
4を介して制御プロセス520へ返す。
The display processor process 542 of the smart card 122 then concatenates R 2 with the seal data SEAL 540 of the smart card and signs the concatenated R 2 ‖ SEAL with the secret key S SC to sign sS SC ( R 2 ‖SEAL) is generated, the seal data SEAL 540 is encrypted by using the secret key S SC , and the encrypted seal data 540 s
It generates S SC (SEAL), nonce R 2, encrypted seal data sS SC (SEAL
), The signature sS SC (R 2 ∥SEAL), and the smart card certificate Cert SC to the smart card process 525 of the trusted display processor 260. The smart card process 525 extracts the smart card public key from the certificate Cert SC and uses it to verify the nonce R 2 and the signature sS SC (R 2 ‖ SEAL),
Encrypted seal data 540sS SC (SEAL) to seal data SEAL540
And the seal data SEAL540 is finally converted into the seal process 52.
4 to the control process 520.

【0060】 図6に戻り、ステップ622において、制御プロセス520はシールデータS
EAL540を受信すると、このデータをピクスマップ生成プロセス527へ転
送し、図10dを参照して後述するように、シール画像を生成し、これを用いて
署名する文書をハイライトするように、ピクスマップ生成プロセス527へ命令
する。次に、ステップ624において、制御プロセス520は、署名動作を続け
たいか否かをユーザに尋ねるメッセージを表示するように、ピクスマップ生成プ
ロセスへ命令する。このメッセージには、10秒のカウントダウンタイマCOU
NTが付加される。ステップ626において、ユーザから応答を受信しなかった
結果カウントダウンタイマが切れると、ステップ628において、制御プロセス
は署名動作をキャンセルし、例外信号をアプリケーションプロセス500へ戻す
。これに応答して、アプリケーションプロセス500は、ステップ629におい
て、適切なユーザメッセージを表示する。ステップ630において、ユーザが、
10秒の時間期限内に高信用スイッチ135を起動することによって明示的に応
答した場合、プロセスは継続する。継続の許可は、代替として、適当なレベルの
認証が用いられるなれば、高信用スイッチ135を用いることによる方法だけで
はなく、信用度の低い通信路を介して、さらには適切なソフトウェアルーチンを
用いることによっても提供することができる。あるいは、信用のおけるスマート
カードが単に存在することで、署名を行うための十分な認証と成り得ると判断さ
れるかもしれない。このような代替は、セキュリティポリシーの問題である。
Returning to FIG. 6, in step 622, the control process 520 causes the seal data S
Upon receipt of the EAL 540, this data is forwarded to the pixmap generation process 527 to generate a sticker image and use it to highlight the document to be signed, as described below with reference to Figure 10d. Instruct generation process 527. Then, in step 624, the control process 520 directs the pixmap generation process to display a message asking the user if he wants to continue the signing operation. This message contains a 10 second countdown timer COU
NT is added. If, in step 626, the countdown timer expires as a result of not receiving a response from the user, then in step 628 the control process cancels the signing operation and returns an exception signal to the application process 500. In response, application process 500 displays an appropriate user message at step 629. In step 630, the user
If it responds explicitly by activating the trusted switch 135 within the 10 second time limit, the process continues. Persistence authorization is alternatively not limited to using the trusted switch 135, if appropriate levels of authentication are used, but also via untrusted channels and using appropriate software routines. Can also be provided by. Alternatively, the mere existence of a trusted smart card may be considered sufficient authentication for the signature. Such an alternative is a matter of security policy.

【0061】 次に、ステップ632において、制御プロセス520は、文書画像の署名を要
求するように署名要求プロセス523へ命令し、署名要求プロセス523がピク
スマッププロセス526を呼び出して、署名する文書のピクスマップデータのダ
イジェストを返すよう要求し、ピクスマップ読み出しプロセス526は各ピクス
マップデータを読み出し、ハッシュアルゴリズムを用いてピクスマップデータの
ダイジェストDPIXを生成し、このダイジェストを署名要求プロセス523へ返
す。さらに、ピクスマップ読み出しプロセス526は「表示フォーマットデータ
」FDを生成する。FDには、後にピクスマップデータからテキストベースの文
書を再構築するために必要とされる情報が含まれ(文書テキストを再構築する必
要がない場合もあるため、FDは必須ではない)、これを同様に署名要求プロセ
ス523へ返す。例えば、この表示フォーマットデータFDには、「1024×
768」等の画面上のピクセル数及びその割り当て、文書のテキストに用いられ
るフォントタイプ及びサイズ(文書がテキストベースの場合)等が含まれる(後
述するように、少なくともこの情報のいくつかは、置換または追加として、文書
の「要約」に含まれる可能性がある)。ステップ634及び636において、署
名要求プロセス523は、周知の呼び掛け/応答プロセスを用いてスマートカー
ド122の表示プロセッサプロセス542と対話し、文書の個々の署名を生成す
る。これについて、次に図8の流れ図を参照して詳細に説明する。
Next, in step 632, the control process 520 instructs the signature request process 523 to request the signature of the document image, and the signature request process 523 calls the pixmap process 526 to print the pix of the document to be signed. Requesting to return a digest of map data, the pixmap read process 526 reads each pixmap data, generates a pixmap data digest D PIX using a hash algorithm, and returns this digest to the signature request process 523. Further, the pixmap read process 526 produces a "display format data" FD. The FD contains the information needed to reconstruct a text-based document from the pixmap data later (the FD is not required, as the document text may not need to be reconstructed). Is similarly returned to the signature request process 523. For example, this display format data FD includes “1024 ×
768 ", etc., the number of pixels on the screen and their allocation, the font type and size used for the text of the document (if the document is text based), etc. (at least some of this information is replaced, as described below). Or in addition, may be included in the "summary" of the document). In steps 634 and 636, the signature request process 523 interacts with the display processor process 542 of the smart card 122 using well known challenge / response processes to generate individual signatures for the document. This will be described in detail next with reference to the flow chart of FIG.

【0062】 図8において、スマートカードプロセス525は、前記ダイジェストDPIX
び表示フォーマットデータFDの署名を生成するため、スマートカード122に
対して要求REQ2を生成する。スマートカード122の表示プロセッサプロセ
ス542は、ナンスR3を生成し、これをダイジェストDPIX及び表示フォーマッ
トデータFDを返送してもらうための呼びかけと共にスマートカードプロセス5
25へ送信することによって、応答する。スマートカードプロセス525は、ダ
イジェストDPIXを表示フォーマットデータFD及びナンスR3と連結し、この連
結DPIX‖FD‖R3に署名して署名sSDP(DPIX‖FD‖R3)を生成する。次
に、スマートカードプロセス525は、連結DPIX‖FD‖R3及び各々の署名s
DP(DPIX‖FD‖R3)をスマートカード122の表示プロセッサプロセス5
42へ送信する。表示プロセッサプロセス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を検証すると共に、スマートカード
の署名を検証し、スマートカードがいまだにオンラインであることを証明する。
In FIG. 8, the smart card process 525 makes a request REQ 2 to the smart card 122 to generate the signature of the digest D PIX and the display format data FD. The display processor process 542 of the smart card 122 generates the nonce R 3 and calls for the smart card process 5 to send the digest D PIX and the display format data FD back.
Respond by sending to 25. The smart card process 525 concatenates the digest D PIX with the display format data FD and the nonce R 3 and signs this concatenation D PIX ‖FD‖R 3 to generate the signature sS DP (D PIX ‖FD‖R 3 ). . The smart card process 525 then processes the concatenated D PIX ‖FD‖R 3 and each signature s.
Display processor processes 5 S DP (D PIX ‖FD‖R 3) a smart card 122
42 to 42. The display processor process 542 uses the public key of the trusted display processor (which it has already received in the exchange of the seal data 540), the signature of the trusted display processor sS DP (D PIX ‖FD‖R 3 ) and the nonce R. Validate 3 ,
Prove that this digest is the digest of the current image. The display processor process 542 uses the private key to sign the digest of the pixmap D PIX and the display format data FD, and two signatures sS SC (D PIX ) and sS SC.
(FD) is generated respectively. The smart card display processor process 542 then returns the signed digest sS SC (D PIX ) and the signed display format data sS SC (FD) to the smart card process 525 of the trusted display processor 260. The smart card process 525 then verifies this digest D PIX and display format data FD with the smart card's public key (which already exists as a result of the exchange of the seal data 540) and verifies the smart card's signature, Prove that your smart card is still online.

【0063】 図6へ戻り、ステップ638において、高信用表示プロセッサ260のスマー
トカードプロセス525は、ピクスマップPIX、スマートカードのピクスマッ
プダイジェストの署名されたものsSSC(DPIX)、及び表示フォーマットデー
タの署名されたものsSSC(FD)を連結して画像の個々の署名PIX‖sSSC (DPIX)‖sSSC(FD)を形成し、署名要求プロセス523を介してこれを
制御プロセス520へ返す。制御プロセス520は、この個々の署名をアプリケ
ーションプロセス500へ返す。次に、アプリケーションプロセス500は、ス
テップ640においてこの個々の署名を格納し、ステップ642において署名動
作を「要約する」ために、制御プロセス520へさらなる呼び出しを行うことに
よって応答する。要約の目的は署名を完了させることにあり、これについては、
図9の流れ図及び以下の要約の例を参照して説明する。
Returning to FIG. 6, in step 638, smart card process 525 of trusted display processor 260 causes pixmap PIX, smartcard pixmap digest signed sS SC (D PIX ), and display format data. Of the signed sS SC (FD) to form an individual signature PIX ‖s S SC (D PIX ) ‖s S SC (FD) of the image, which is passed to the control process 520 via the signature request process 523. return. Control process 520 returns this individual signature to application process 500. The application process 500 then responds by storing this individual signature at step 640 and making a further call to the control process 520 to "summarize" the signature operation at step 642. The purpose of the summary is to complete the signature, for which
Description will be made with reference to the flowchart of FIG. 9 and the example of the following summary.

【0064】 ステップ644において、制御プロセス520は、画像の数(上記要約例では
2つ)に加え、画像の個々の署名(例の6、10行目)、高信用表示装置を識別
するラベル(例の1行目)、現在時刻と日付(例の2行目)、及びこの要約自体
の署名されたダイジェスト(例の14行目)、を含む要約メッセージ全体を生成
するために、要約プロセス522を呼び出す。各々の画像に対して、この要約は
、ピクセル表現の画像サイズ(例えば画像1の場合560×414)、ピクセル
表現の画面の原点からのオフセット(例えば画像1の場合187,190)、及
びピクセル表現の表示解像度(例えば画像1の場合1024×768)も含んで
いる。
In step 644, the control process 520, in addition to the number of images (two in the above summary example), the individual signatures of the images (6th and 10th lines in the example), a label identifying the trusted display device ( A digest process 522 to generate the entire digest message, including the first line of the example), the current time and date (the second line of the example), and the signed digest of this summary itself (the 14th line of the example). Call. For each image, this summary includes the image size in pixel representation (eg, 560 × 414 for image 1), the offset from the screen origin in pixel representation (eg, 187,190 for image 1), and the pixel representation. Display resolution (for example, 1024 × 768 in the case of image 1) is also included.

【0065】 次に、ステップ646において、要約プロセス522は、要約のダイジェスト
SUMを生成し、呼び掛け/応答プロセスを用いてスマートカード122と対話
することにより要約ダイジェストDSUMの署名を生成するために、高信用表示プ
ロセッサ260のスマートカードプロセス525を呼び出す。これについては、
次に図9を参照して説明する。
Next, in step 646, the digest process 522 generates a digest digest D SUM and uses the interrogation / response process to interact with the smart card 122 to generate a signature for the digest digest D SUM. , Call smart card process 525 of trusted display processor 260. For this,
Next, description will be made with reference to FIG.

【0066】 図9において、スマートカードプロセス525は、要約のダイジェストDSUM
の署名を生成するため、スマートカード122に対して要求REQ3を生成する
。スマートカードの表示プロセッサプロセス542はナンスR4を生成し、要約
のダイジェストDSUMを返送してもらうための呼びかけの際に送信する。スマー
トカードプロセス525は、ダイジェストDSUMをナンスR4と連結し、この連結
SUM‖R4に署名して署名sSDP(DSUM‖R4)を生成する。次に、高信用表示
プロセッサ260のスマートカードプロセス525は、連結DSUM‖R4及び各々
の署名sSDP(DSUM‖R4)を表示プロセッサプロセス542へ送信する。次に
、表示プロセッサプロセス542は、高信用表示プロセッサの公開鍵(シールデ
ータ540の交換からすでにある)を用いて高信用表示プロセッサの署名及びナ
ンスR4を検証し、この要約が現在の要約であることを証明する。次に、表示プ
ロセッサプロセス542が、秘密鍵を用いて要約のダイジェストDSUMに署名し
、署名されたダイジェストsSSC(DSUM)をスマートカードプロセス525へ
送信する。高信用表示プロセッサ260のスマートカードプロセス525は、ス
マートカードの公開鍵を用いてこのダイジェストを検証すると共に、スマートカ
ードの署名を検証し、スマートカードがいまだにオンラインであることを証明す
る。
In FIG. 9, the smart card process 525 uses the digest digest D SUM.
Request REQ 3 to the smart card 122 to generate the signature of The smart card display processor process 542 generates nonce R 4 and sends it in the call to have the digest digest D SUM returned. Smart card process 525, a digest D SUM linked to nonce R 4, to produce the sign this connection D SUM ‖R 4 signature sS DP (D SUM ‖R 4) . The smart card process 525 of the trusted display processor 260 then sends the concatenation D SUM ∥R 4 and each signature sS DP (D SUM ∥R 4 ) to the display processor process 542. The display processor process 542 then verifies the trusted display processor's signature and nonce R 4 with the trusted display processor's public key (already present from the exchange of seal data 540), and this summary is the current summary. Prove that there is. The display processor process 542 then signs the digest digest D SUM with the private key and sends the signed digest sS SC (D SUM ) to the smart card process 525. The smart card process 525 of the trusted display processor 260 verifies this digest with the smart card's public key and verifies the smart card's signature to prove that the smart card is still online.

【0067】 図6へ戻り、ステップ652において、スマートカードプロセス525は、要
約プロセス522を介して、署名された要約のダイジェストsSSC(DSUM)と
連結された要約SUM(結果、連結SUM‖sSSC(DSUM)を形成する)を制
御プロセス520へ返し、制御プロセス520がこの要約SUM‖sSSC(DSU M )をアプリケーションプロセス500へ返す。ステップ654において、アプ
リケーションプロセス500がこの要約を受信する。
Returning to FIG. 6, in step 652, the smart card process 525 causes the digest process 522 to concatenate the digest of the signed digest sS SC (D SUM ) to the digest SUM (resultantly, concatenated SUM∥sS). Returns SC and (D SUM) to form a) to a control process 520, the control process 520 returns this summary SUM‖sS SC (D SU M) to the application process 500. In step 654, the application process 500 receives this summary.

【0068】 格納もしくは他のエンティティへの送信のため、この個々の署名及び要約は、
アプリケーションプロセス500、または契約書の証明方法として本発明に記載
している範囲以外の様々な方法でホストコンピュータ100で実行されている任
意の他のプロセスによっても、使用することができる。
For storage or transmission to other entities, this individual signature and summary
It may also be used by the application process 500, or any other process running on the host computer 100 in various ways other than as described in the present invention as a method of certifying a contract.

【0069】 最後に、ステップ656において、制御プロセス520が、文書画像に関連す
るグラフィックスプリミティブの受信及び処理を再開することにより画面の静止
化を解除し、これによって実際に、画面の制御をアプリケーションアプリケーシ
ョンプロセス500または他のアプリケーションソフトウェアへ返す。別な方法
として、ユーザが、典型的には別のユーザメッセージに応答して、再び高信用ス
イッチ135を起動するまで、制御がアプリケーションプロセス500に戻され
ないようにすることも可能であり、この場合タイムアウト時間は設けられない。
これによって、ホストコンピュータが標準の動作すなわち高信用でない動作へ戻
る前に、ユーザにスタティック文書画像を見直すためのより多くの時間を与える
ことができる。
Finally, in step 656, the control process 520 unquiesces the screen by resuming reception and processing of graphics primitives associated with the document image, thereby actually controlling the screen to the application. Return to application process 500 or other application software. Alternatively, control may not be returned to application process 500 until the user typically activates trusted switch 135 again in response to another user message, in which case There is no timeout period.
This allows the user more time to review the static document image before the host computer returns to standard or untrusted operation.

【0070】 署名された文書を検証するためには、個々の署名PIX‖sSSC(DPIX)‖
sSSC(FD)及び要約SUM‖sSSC(DSUM)の双方が検証されなければな
らない。このような検証方法は、セキュリティの分野における当業者には周知で
ある。例えば、ピクスマップのダイジェストに対する署名sSSC(DPIX)は公
開鍵を用いて検証される。この公開鍵は、公的に入手可能であり、好ましくは認
証局(CA)によって供給されるデジタル証明書CertSC内に含まれる。次に
、検証されたダイジェストは、ピクスマップからダイジェストを再計算すること
によって得られる値と比較される。この場合、ダイジェストは標準的な周知の定
義されたハッシュ関数を用いて生成される。この照合が正確に一致する場合、署
名の検証は完了する。要約を含む他の署名についても同様の方法で照合される。
To verify the signed document, the individual signature PIX ‖sS SC (D PIX ) ‖
Both sS SC (FD) and summary SUM ∥sS SC (D SUM ) must be verified. Such verification methods are well known to those skilled in the field of security. For example, the signature sS SC (D PIX ) for the digest of the pixmap is verified using the public key. This public key is publicly available and is preferably contained in a digital certificate Cert SC supplied by a Certificate Authority (CA). The verified digest is then compared to the value obtained by recalculating the digest from the pixmap. In this case, the digest is generated using a standard well-known defined hash function. If this match is an exact match, the signature verification is complete. Other signatures, including abstracts, are verified in a similar manner.

【0071】 人が署名された文書の表現方法を検証できるようにするための好ましい方法は
、ピクスマップを変換して画像内へ戻すことである。このためには、アプリケー
ション、実際には高信用表示プロセッサ260が、ピクスマップデータPIXを
各ホストコンピュータ100のフレームバッファメモリ315内へロードする必
要がある。これにより、署名者によって既に署名された文書を人が閲覧すること
ができるようになる。
The preferred way to allow a person to verify how a signed document is rendered is to transform the pixmap back into the image. To do this, the application, in fact the trusted display processor 260, must load the pixmap data PIX into the frame buffer memory 315 of each host computer 100. This allows a person to view documents that have already been signed by the signer.

【0072】 ここでは、署名する文書をハイライトする段階について、図10a〜10dを
参照して説明する。好ましい実施形態において、シールデータSEALは、高信
用画像のピクスマップからなる。例えば、図10aに示されるように、シールデ
ータ540のピクスマップは、「スマイリーフェース」1000を定義する。図
10bは、画面(図示せず)のウィンドウ1010内の例示的なこれから署名さ
れる文書Doc1の画像1005を示す。ハイライトを行う最初のステップでは
、画像がスタティックになった後であってシールデータを受信する前の段階で、
高信用表示プロセッサ260が、図10cに示すように、フレーム1020を文
書画像1005の周囲へ付加することによって、署名する文書をハイライトする
。また、スマートカード122がない場合には、これもまた図10cに示される
ように、ユーザにスマートカードを挿入するよう求めるユーザメッセージ103
0が、10秒カウントダウンタイマ1035と共に表示される。次に、スマイリ
ーフェースのピクスマップ画像がスマートカード122から取得されると、図1
0dに示されるように、高信用表示プロセッサ260が、スマイリーフェースの
複数のインスタンス1045またはモザイクを用いてフレーム1040を装飾す
る。さらに、図10dに示すように、高信用表示プロセッサ260は、署名プロ
セスを継続したいか否かをユーザに尋ねるさらなるユーザメッセージ1050を
、10秒カウントダウンタイマ1055と共に生成する。装飾されたフレーム1
040は、ユーザに対して、適切なスタティック画像領域が選択されていること
を示すと共に、高信用表示プロセッサ260が完全にその署名プロセスの制御中
であることの高レベルの信用をユーザへ与える。また、ユーザ自身のシール画像
の存在は、メッセージが、なにか別の(おそらく破壊的な)ソフトウェアアプリ
ケーションまたはハードウェアデバイスからではなく高信用表示プロセッサ26
0からのものであるという信用をユーザに提供する。
The step of highlighting the document to be signed will now be described with reference to FIGS. In the preferred embodiment, the seal data SEAL comprises a pixmap of high confidence images. For example, as shown in FIG. 10 a, the pixmap of seal data 540 defines a “smiley face” 1000. FIG. 10b shows an image 1005 of the exemplary document to be signed Doc1 in a window 1010 of the screen (not shown). The first step in highlighting is after the image is static, but before the seal data is received,
The trusted display processor 260 highlights the document to be signed by adding a frame 1020 around the document image 1005, as shown in FIG. 10c. Also, if there is no smart card 122, this also prompts the user to insert the smart card 103, as shown in FIG. 10c.
0 is displayed with the 10 second countdown timer 1035. Next, when the pixmap image of the smiley face is acquired from the smart card 122, as shown in FIG.
As shown at 0d, trusted display processor 260 decorates frame 1040 with multiple instances 1045 or mosaics of smiley faces. Further, as shown in FIG. 10d, the trusted display processor 260 generates a further user message 1050 with a 10 second countdown timer 1055 asking the user if they want to continue the signing process. Decorated frame 1
040 indicates to the user that the proper static image area has been selected and gives the user a high level of confidence that the trusted display processor 260 is completely in control of its signing process. Also, the presence of the user's own sticker image allows the message to be displayed by the trusted display processor 26 rather than from some other (possibly destructive) software application or hardware device.
Provide users with the credibility that they are from zero.

【0073】 図10e及び図10gは、図10c及び図10dに示される「フレーム」の視
覚的作用の代替を示す。図10eでは、4つの単一のシール画像1060が、ア
プリケーションプロセス500によって提供される座標を用いてスタティック文
書画像の角に配置され、スタティック画像領域を画定している。図10fでは、
このスタティック画像は、単一のシール画像を示すように背景を変更することで
画定される。図10gでは、スタティック画像は、シール画像のモザイクを示す
ように背景を変更することで画定される。当業者は、本発明の記載を鑑みて、静
的画像をハイライトすることの可能な他の視覚的作用を思いつくことができるで
あろう。さらに、例えば、「現在、シールデータ540取得中...」、「現在
、文書署名作成中...」等、署名動作中にさらなる状態メッセージを含めるこ
とが望ましいこともある。
10e and 10g show an alternative to the visual effect of the "frame" shown in FIGS. 10c and 10d. In FIG. 10e, four single seal images 1060 have been placed at the corners of the static document image using the coordinates provided by the application process 500 to define static image areas. In FIG. 10f,
This static image is defined by changing the background to show a single sticker image. In FIG. 10g, the static image is defined by changing the background to show a mosaic of the sticker image. One of ordinary skill in the art, in light of the present description, will be able to conceive of other visual effects capable of highlighting static images. Further, it may be desirable to include additional status messages during the signing operation, eg, “currently acquiring seal data 540 ...”, “Currently creating document signature ...”.

【0074】 高信用表示プロセッサ260には、シール画像及びメッセージを画面上の正し
い場所に表示可能であることが要求されることが理解されよう。シール画像及び
メッセージ画像は、署名プロセス中に現れその後は消失するという点において、
明らかに一時的なものである。第1の画像を第2の画像で覆い、これによって第
1の画像の一部を隠してから、第2の画像を除去し、その後第1の画像の隠され
た部分を復元するという周知の標準的な表示技術がある。このような技術は当然
のこととして、通常のウィンドウ環境、例えば複数のウィンドウが互いに重なり
あうよう環境において用いられる。高信用表示プロセッサ260は、シール画像
及びメッセージ画像を標準ディスプレイに重ねるという目的のため、これらの標
準技術の1つまたは複数を実施するように構成される。
It will be appreciated that the trusted display processor 260 is required to be able to display sticker images and messages in the correct locations on the screen. The seal image and message image appear during the signing process and then disappear,
Obviously temporary. It is well known to cover a first image with a second image, thereby hiding a part of the first image, then removing the second image and then restoring the hidden part of the first image. There is standard display technology. Naturally, such a technique is used in a normal window environment, for example, an environment in which a plurality of windows overlap each other. The trusted display processor 260 is configured to implement one or more of these standard techniques for the purpose of overlaying sticker images and message images on standard displays.

【0075】 状況によっては、文書が大きすぎてそのすべてが一度にVDU105の画面に
収まりきらなくても、なお容易に読める場合がある。明らかに、本実施形態を実
用的にするためには、ユーザが、署名する前にその文書を極めてはっきりと読め
ることが重要である。そのため、次に説明するように、文書を複数の画面ページ
に分割することも可能であり、この場合、各々のページが署名されて前のページ
の署名と暗号的に結び付けられることが必要とされる。
In some situations, a document may be too large to fit on the screen of VDU 105 all at once, but still be easily readable. Obviously, for the practicality of this embodiment, it is important that the user be able to read the document very clearly before signing. Therefore, it is also possible to divide a document into multiple screen pages, as described below, in which case each page needs to be signed and cryptographically tied to the signature of the previous page. It

【0076】 まず、アプリケーションプロセス500が第1ページの画像を表示させ、上述
したように、署名を行うため高信用表示プロセッサ260に対して呼び出しを行
う。高信用表示プロセッサ260が、要約を要求する代わりに個々の署名を返す
と、アプリケーションプロセス500が高信用表示プロセッサ260に第2ペー
ジの画像を表示し、その画像に署名するよう命令する。明らかに、この場合、高
信用表示プロセッサ260は、アプリケーションプロセス500によるこのよう
な要求を補助するように構成される。すべての画像が署名され、アプリケーショ
ンプロセス500に返された後にのみ、アプリケーションプロセス500は要約
の要求を行う。そして、この要約は、上述の2ページの要約内に例示されるよう
に、マルチページ文書において署名された画像の数を含む。
First, the application process 500 displays the image of the first page and makes a call to the trusted display processor 260 to sign, as described above. When trusted display processor 260 returns individual signatures instead of requesting a summary, application process 500 directs trusted display processor 260 to display an image of the second page and sign the image. Obviously, in this case, trusted display processor 260 is configured to assist such requests by application process 500. Only after all images have been signed and returned to the application process 500, the application process 500 makes a request for summarization. This summary then includes the number of signed images in the multi-page document, as illustrated in the two page summary above.

【0077】 マルチページ文書の最初のページは単一ページと同じ方法で署名され、その結
果個々の署名が返される。しかし、署名を行うため後続する画像が存在する場合
、高信用表示プロセッサ260は、先行する署名要求後に要約要求を受信しなか
ったことから、これらがマルチページ文書の一部であることを認識する。その結
果、高信用表示プロセッサ260は、後続のページに署名を行うための許可を求
める別のメッセージをユーザに対して表示する。これに応答して、マルチページ
文書に署名中のユーザは、前述と同様の信用のおける許可された通信路(例えば
、高信用スイッチ135)を用いて、このページが前のページに関連しているこ
と及びこれにも署名すべきであることを高信用表示プロセッサ260に対して承
認する。高信用表示プロセッサ260がこのマルチページ承認を受信すると、以
前に署名されたページの署名を現在のページのピクスマップと連結し、連結のダ
イジェストを作成し、これを署名のためスマートカードへ送信する。これは、現
在のピクスマップだけのダイジェストの送信に代えて行われる。このプロセスは
、後続のページを前のページに暗号的に「連鎖」させ、検出なしではページを再
構成不可能なように、また検出なしでは中間ページを挿入または削除不可能なよ
うにする。
The first page of a multi-page document is signed in the same way as a single page, resulting in individual signatures being returned. However, if there are subsequent images to be signed, the trusted display processor 260 recognizes that they are part of a multi-page document because it did not receive a summary request after the previous signature request. . As a result, trusted display processor 260 displays another message to the user asking for permission to sign the subsequent page. In response, the user signing the multi-page document uses a trusted authorized channel similar to that described above (eg, trusted switch 135) to make this page relevant to the previous page. To the trusted display processor 260 that it is and should also be signed. When the trusted display processor 260 receives this multi-page approval, it concatenates the signature of the previously signed page with the pixmap of the current page, creates a digest of the concatenation, and sends it to the smart card for signature. . This is done in lieu of sending the current pixmap-only digest. This process cryptographically "chains" subsequent pages to the previous one so that a page cannot be reconstructed without detection and no intermediate page can be inserted or deleted without detection.

【0078】 最初のページの正当性は、単一ページとまったく同じ方法でチェックすること
ができる。後続ページの正当性は、現在のピクスマップのダイジェストが、連結
された前の署名及び現在のピクスマップのダイジェストで置換されること以外は
、単一ページの場合と同じ方法を用いてチェックすることができる。
The validity of the first page can be checked in exactly the same way as a single page. Subsequent pages are checked for validity using the same method as for a single page, except that the digest of the current pixmap is replaced with the concatenated previous signature and the digest of the current pixmap. You can

【0079】 後続のページを前のページに暗号的に連鎖させる多くの方法があることが理解
されよう。これらの方法は、本説明の記載を鑑みて、セキュリティの分野におけ
る当業者には明白であろう。
It will be appreciated that there are many ways to cryptographically chain subsequent pages to previous pages. These methods will be apparent to those of ordinary skill in the art of security in view of the description provided.

【0080】 さらにセキュリティを強化するため、マルチページ文書の各ページの画像は、
従来のフッタ「xページ/y」を含むように構成することができる。ここで、「
x」はページ番号であり、「y」は総ページ数である。これは、単に文書を読む
ことで、なくなった文書を容易に検出できるようにする。
To further enhance security, the image of each page of the multi-page document is
It can be configured to include the conventional footer “x page / y”. here,"
“X” is the page number and “y” is the total number of pages. This makes it easy to detect missing documents simply by reading them.

【0081】 本発明の文書署名方式の大きな利点は、署名された文書が、再署名または副署
名された文書であってもよいという点である。そのため、文書の要約は監査証跡
を含むことが好ましい。再署名及び副署名に関しては多くの変形が存在するが、
とは言え(明らかに)さらに署名する前に、電子的な完全性チェックを常に行う
べきである。極端な例としては、新しい署名者が、各々の署名された画像につい
て閲覧・承認・再署名を順に行い、効率的に元の署名を新しい署名に置きかえる
ことが可能である。例えばこの方法は、あるユーザが、誰か別の人によってその
ユーザのために用意した文書を署名する場合に用いられる。他の極端な例として
は、新しい署名者が文書をまったく閲覧する必要がない場合、元の要約に署名す
ることによって、元の署名を単に「十分検討せずに認可する」こともできる。こ
れは、信用のおける従業員の成果を管理者が副署名するのに便利である。
A major advantage of the document signing scheme of the present invention is that the signed document may be a re-signed or sub-signed document. Therefore, the document summary preferably includes an audit trail. There are many variations on resignatures and subsignatures,
However, (obviously) electronic integrity checking should always be done before further signing. As an extreme example, a new signer can browse, approve, and re-sign each signed image in turn, effectively replacing the original signature with the new signature. For example, this method is used when one user signs a document prepared for that user by someone else. At the other extreme, if the new signer does not need to view the document at all, the original signature may simply be "authorized without due consideration" by signing the original abstract. This is useful for managers to sub-sign the work of trusted employees.

【0082】 再署名操作の場合、アプリケーションプロセス500は再署名要求を発し、署
名された文書(及び個々の署名と要約)を高信用表示プロセッサ260へ送信す
る。高信用表示プロセッサ260は、署名された文書を署名者の公開鍵を用いて
検証し、文書(または文書の各ページの)のピクスマップを復元し、この検証さ
れた画像を、署名要求アプリケーションからの元の画像であるかのように、正し
い順序で新しいユーザに対して表示する。ユーザは、例えば前述のように高信用
スイッチ135を用いて個々の各画像の受け入れを承認し、新しいユーザが所有
するスマートカードによって上述のように画像に署名させる。この結果、新しい
ユーザが所有するスマートカードにより署名されたことを除き、元の文書と同じ
署名された文書が生成される。
In the case of a resignature operation, application process 500 issues a resignature request and sends the signed document (and individual signatures and summaries) to trusted display processor 260. The trusted display processor 260 verifies the signed document using the signer's public key, restores the pixmap of the document (or each page of the document), and renders this verified image from the signature requesting application. To the new user in the correct order as if it were the original image of. The user approves acceptance of each individual image, for example using the trusted switch 135 as described above, and has the new user's smart card sign the image as described above. This results in the same signed document as the original document, except that it was signed by the new user's smart card.

【0083】 同様に、副署名操作の場合、アプリケーションプロセス500は、副署名要求
を発し、署名された文書(及び個々の署名と要約)を高信用表示プロセッサ26
0へ送信する。高信用表示プロセッサ260は署名された文書を検証し、検証さ
れた各画像を、アプリケーションプロセス500からの元の画像であるかのよう
に、正しい順序で新しいユーザに対して表示する。ユーザは、各々の個々の画像
の受け入れを承認し、高信用表示プロセッサ260が、新しいユーザが所有する
スマートカードを用いて元の要約に署名する。オプションとして、新しいユーザ
は、新しいユーザによって署名された前ユーザの公開鍵の証明書を提供し、後の
署名の検証に関連する処理オーバヘッドを軽減する。
Similarly, for a sub-signature operation, the application process 500 issues a sub-signature request and sends the signed document (and individual signatures and summaries) to the trusted display processor 26.
Send to 0. The trusted display processor 260 verifies the signed document and displays each verified image in the correct order to the new user as if it were the original image from the application process 500. The user approves acceptance of each individual image and the trusted display processor 260 signs the original summary with the new user's smart card. Optionally, the new user provides a certificate of the previous user's public key signed by the new user, reducing the processing overhead associated with later signature verification.

【0084】 明らかに、再署名及び副署名の実施に関しては様々な変形があり、これらは本
発明の記載に鑑みて当業者にとって明らかとされるであろう。
Obviously, there are various variations on the implementation of re-signing and sub-signature, which will be apparent to the person skilled in the art in view of the description of the invention.

【0085】 文書は署名、再署名、及び/または副署名の履歴を持つことが可能なため、本
実施形態は、文書の要約の一部を形成する監査情報を便利に提供する。この監査
情報は、文書の署名履歴を追跡できるようにする。この監査情報には、文書の以
前の状態に関するデータ及び文書の新しい状態を生成するために新しいユーザに
よって行われた操作(行動)が含まれる。監査情報は、ユーザから独立していな
ければならないため、監査情報は高信用表示プロセッサ260によって署名され
る。監査情報には、常にあらゆる以前の要約情報(以前の署名者によるその要約
情報の署名を含む)が含まれる。署名された文書が初めから作成された場合、高
信用表示プロセッサ260の識別ラベルIDPが監査ルートとして挿入される。ま
た、監査情報は、新しいユーザによってどの個々の画像が閲覧されて承認された
か、及び、文書が初めから作成されたのかあるいは新しいユーザによって再署名
または副署名されたかどうか、の指示も有することが好ましい。監査情報を含む
要約を作成するため、スマートカードには、前記要約の内容だけのダイジェスト
ではなく、前記要約の内容と連結した監査情報のダイジェストが送信される。残
りのプロセスは、前述した通りである。
Since the document can have a history of signatures, re-signatures, and / or sub-signatures, this embodiment conveniently provides audit information that forms part of the summary of the document. This audit information allows tracking the signature history of the document. This audit information includes data regarding the previous state of the document and the actions (actions) taken by the new user to generate the new state of the document. Audit information is signed by the trusted display processor 260 because it must be independent of the user. Audit information always includes any previous summary information, including the signature of that summary information by the previous signer. If the signed document was originally created, the trusted label processor 260 identification label I DP is inserted as an audit root. The audit information may also have an indication of which individual images were viewed and approved by the new user, and whether the document was originally created or re-signed or sub-signed by the new user. preferable. To create a digest containing audit information, the smart card is sent a digest of audit information concatenated with the contents of the digest, rather than a digest of only the contents of the digest. The rest of the process is as described above.

【0086】 文書を署名するためのプロセスの拡張としては、ピクスマップデータに署名を
行う前に、高信用表示プロセッサ260が可逆的圧縮アルゴリズムを用いてピク
スマップを圧縮し、個々の署名の格納及び送信に関連するオーバヘッドを低減さ
せる方法もある。
As an extension of the process for signing a document, the trusted display processor 260 compresses the pixmap using a reversible compression algorithm before signing the pixmap data to store and store individual signatures. There are also ways to reduce the overhead associated with transmission.

【0087】 ピクスマップは、標準的な圧縮アルゴリズム、例えばLZ−1もしくはLZ−
2圧縮を応用した符号語ベースのアルゴリズムによって圧縮することができる。
あるいは、ピクスマップの圧縮に、OCR(光学文字認識)に類似した技術を使
用することもできる。この場合、状況は、従来のOCRよりも低い解像度である
とはいえ、入力データが完全に「走査」される点において従来のOCRとは異な
る。ピクスマップのOCR圧縮されたものは、ピクスマップ用のアルファベット
を生成するために「BLOBマッチング」を用いて生成することができる。ピク
スマップは、このアルファベットの各々の文字のピクスマップを構成し、メッセ
ージが元のピクスマップを表現するように、これらの文字を用いてメッセージを
形成する。このことは、ピクスマップが新しいアルファベットへ圧縮され、メッ
セージがこの新しいアルファベットで書かれる場合があるということを意味して
いる。ピクスマップをそのアルファベットで書かれた新しいアルファベット及び
メッセージに圧縮された可能性もあることを意味する。明らかに、このピクスマ
ップデータには誤りも曖昧さも無いので、これは可逆圧縮方法である。
Pixmaps are standard compression algorithms, such as LZ-1 or LZ-.
It can be compressed by a codeword-based algorithm to which 2 compression is applied.
Alternatively, a technique similar to OCR (Optical Character Recognition) can be used to compress the pixmap. In this case, the situation differs from conventional OCR in that the input data is completely "scanned", albeit at a lower resolution than conventional OCR. An OCR compressed version of the pixmap can be created using "BLOB matching" to create the alphabet for the pixmap. The pixmap constitutes a pixmap for each character of the alphabet, and these characters are used to form the message, such that the message represents the original pixmap. This means that the pixmap may be compressed into a new alphabet and messages may be written in this new alphabet. This means that the pixmap may have been compressed into a new alphabet and message written in that alphabet. Obviously, there is no error or ambiguity in this pixmap data, so this is a lossless compression method.

【0088】 画像ピクスマップの大きさを小さくする別の方法は、この画像を純粋な黒と白
で表現することである。この方法は、ピクセルが黒か白かを定義するために、0
または1にセットされる単一ビットのみが必要される。別の状況では、文書画像
は、各々のピクセルが通常最大24ビットを必要としうるフルカラー画像として
表現される。明らかに、この技術は、単純な白黒のテキストベースの文書に適し
ている。しかし、カラーの文書または画像には適していない。
Another way to reduce the size of the image pixmap is to represent the image in pure black and white. This method uses 0 to define whether a pixel is black or white.
Or only a single bit set to 1 is needed. In another situation, the document image is represented as a full color image, where each pixel may typically require up to 24 bits. Obviously, this technique is suitable for simple black and white text-based documents. However, it is not suitable for color documents or images.

【0089】 随時、文書画像は、OCRタイプのプロセスを用いて変換してテキストベース
の文書へ戻され、文書の標準的なデジタルテキスト表現を再構築することができ
る。この技術は、テキストマッピングが不正確である可能性があるため、署名に
使用することはできないが、続く機械処理のために標準的なデジタルテキスト表
現(ASCII等)へ変換し戻すために、署名された文書の受信者が使用するこ
とはできる。好ましい実施形態では、高信用表示プロセッサ260は、OCR文
書の復元を行うために設けられる。
At any time, the document image can be converted back to a text-based document using an OCR-type process to reconstruct a standard digital text representation of the document. This technique cannot be used for signing because the text mapping may be inaccurate, but the signature cannot be converted back to a standard digital text representation (such as ASCII) for subsequent machine processing. Can be used by the recipient of the identified document. In the preferred embodiment, the trusted display processor 260 is provided to perform OCR document reconstruction.

【0090】 OCRを実施するため、OCRアルファベットが標準的な方法で生成され、次
に、格納されているフォントと対応付けられ、これを基にして標準の文字集合へ
変換される。従来のOCRのように、対応の曖昧な文字はピクスマップのまま保
持し、ユーザによる変換を行えるようフラグ設けることができる(これはめった
に起こらない状況である。特にフォントタイプ及びサイズ情報が表示用形式のデ
ータFDで供給されているならば、データに誤りがないため)。極度に注意する
場合には、この再構築された文書全体は、署名者が署名することを意図する文書
の見栄えに対して人間により手動でチェックされるべきである。好ましくは、す
べての文書再構築プロセスは、信用のおけるプロセスによって行われる。
To implement OCR, the OCR alphabet is generated in a standard way, then associated with a stored font and converted to a standard character set based on it. Like traditional OCR, the corresponding ambiguous characters can be kept in the pixmap and flagged for conversion by the user (this is a rare situation, especially for font type and size information for display). If the data is provided in the format FD, there is no error in the data). With extreme caution, this entire reconstructed document should be manually checked by a human for the appearance of the document that the signer intends to sign. Preferably, all document reconstruction processes are done by a trusted process.

【0091】 上述した好ましい実施形態は、フレームバッファメモリ315に格納されてい
るビデオデータがオペレーティングシステムを含むホストコンピュータ100の
ソフトウェアにより操作されうるポイントを超えて、高信用表示プロセッサ26
0がこのビデオデータに直接的及び専用のアクセスを有するという前提に基づい
ている。これは、高信用表示プロセッサ260が変更を行わない限り、ビデオデ
ータが変更されないことを意味している。
The preferred embodiment described above goes beyond the point where the video data stored in the frame buffer memory 315 can be manipulated by the software of the host computer 100, including the operating system.
0 is based on the assumption that 0 has direct and dedicated access to this video data. This means that the video data will not be modified unless the trusted display processor 260 makes the modification.

【0092】 すべてのコンピュータアーキテクチャがこのように構成されるわけではないこ
とは理解されよう。例えば、コンピュータアーキテクチャによっては、フレーム
バッファメモリがメインメモリ(主記憶手段)の一部を形成するように設けられ
、これによって単一アドレス空間(SAS)表示システムを形成するものもある
。このようなシステムの1つの利点は、CPUと表示プロセッサが両方ともフレ
ームバッファメモリへアクセスすることができ、グラフィックス操作のオーバヘ
ッドを共有することによって、グラフィックスパフォーマンスが向上することで
ある。明らかに、このようなSASシステムで本発明を実施することは、CPU
がメモリにアクセス出来てしまうため、署名中に安全であるという前提に基づか
ない。しかしながら、本発明を実施を提供するようにこのようなSASシステム
を変更することのできる多くの方法がある。例えば、署名動作中にCPUからの
データによってメモリが更新されないように、メモリに高信用表示プロセッサか
らの制御線を設けることができる。記憶装置自体は、この機能を実行するための
特別な論理を備えるように変更されることが好ましい。あるいは、メモリへのア
クセスは、別の論理回路をメモリの通常の制御パスに挿入することよってブロッ
クされる。したがって、このようなシステムは、高信用表示プロセッサの許可が
ある場合にのみ、フレームバッファメモリ内のビデオデータを高信用表示プロセ
ッサ以外によって変更できる、という変更された前提に基づく。明らかに、シス
テムが真に安全である限り、この前提は最初の前提と同じくらい安全な動作に対
して適切である。
It will be appreciated that not all computer architectures are configured this way. For example, in some computer architectures, the frame buffer memory is provided to form part of the main memory (main storage means), thereby forming a single address space (SAS) display system. One advantage of such a system is that both the CPU and the display processor have access to the frame buffer memory, which improves graphics performance by sharing the overhead of graphics operations. Obviously, implementing the present invention in such a SAS system would be
It is not based on the assumption that it is secure during signing because it can access the memory. However, there are many ways in which such a SAS system can be modified to provide practice of the invention. For example, the memory can be provided with control lines from the trusted display processor so that the data from the CPU is not updated during the signature operation. The storage device itself is preferably modified to include special logic to perform this function. Alternatively, access to the memory is blocked by inserting another logic circuit in the memory's normal control path. Therefore, such systems are based on the modified assumption that video data in the frame buffer memory can be modified by non-trusted display processors only with the permission of the trusted display processor. Obviously, as long as the system is truly secure, this assumption is appropriate for operation as secure as the first assumption.

【0093】 他のアーキテクチャ、例えば単純なグラフィックス環境では、表示プロセッサ
の機能がオペレーティングシステム自体の一部を形成することも可能であり、こ
れによって別個の表示プロセッサハードウェアを設ける必要がなくなる。明らか
に、この場合、CPUにかかるグラフィックスオーバヘッドは、別個の表示プロ
セッサハードウェアを用いるシステムよりも大きくなり、これによってプラット
フォームのグラフィックスパフォーマンスが制限される。明らかに、そのような
状況では「高信用表示プロセッサ」を設ける余地はない。しかしながら、高信用
表示プロセッサによって提供されるフレームバッファメモリを保護する機能、及
びスマートカードと対話する機能と同等の機能は、署名中に表示システム(いず
れの形態であっても)を制御する適切な高信用コンポーネントを用いて実施でき
ることが当業者には明白であろう。
In other architectures, such as a simple graphics environment, the functionality of the display processor may form part of the operating system itself, eliminating the need for separate display processor hardware. Obviously, in this case, the graphics overhead on the CPU will be higher than in a system with separate display processor hardware, which limits the graphics performance of the platform. Clearly, there is no room for a "high-credit display processor" in such a situation. However, the ability to protect the frame buffer memory provided by the trusted display processor, and the equivalent of interacting with a smart card, is adequate for controlling the display system (in any form) during signing. It will be apparent to those skilled in the art that it can be implemented using trusted components.

【0094】 本発明の他の実施形態では、高信用スイッチ135の機能をソフトウェアで置
き換えることができる。高信用スイッチプロセス529が起動されると(ステッ
プ630のように)、専用スイッチの動作を待つ代わりに、高信用コンポーネン
ト260は、乱数発生能力を用いて文字列の形態でナンスを生成する。次に、こ
の文字列は、「動作を承認するために<文字列>を入力して下さい」という形態
のメッセージで、高信用ディスプレイに表示される。ここでアクションを承認す
るためには、ユーザがキーボード110を用いて与えられた文字列を入力しなけ
ればならない。この文字列は毎回異なり、他のソフトウェアはこの文字列に対す
るアクセスを持たないため(文字列は高信用プロセッサ300とディスプレイの
間のみでやり取りされる)、悪意のあるソフトウェアがこの承認プロセスを害す
ることは不可能である。
In other embodiments of the invention, the functionality of trusted switch 135 may be replaced by software. When the trusted switch process 529 is activated (as in step 630), instead of waiting for the operation of a dedicated switch, the trusted component 260 uses the random number generation capability to generate a nonce in the form of a string. This string is then displayed on the trusted display with a message in the form "Enter <string> to approve the action". Here, in order to approve the action, the user must input the given character string using the keyboard 110. This string is different every time and no other software has access to this string (the string is only passed between the trusted processor 300 and the display), so malicious software could interfere with this approval process. Is impossible.

【0095】 本発明の他の実施形態では、付加的にまたは代替的に、高信用表示プロセッサ
(または同等物)は、高信用ディスプレイを起動するためのインタフェースを備
える。高信用ディスプレイは、例えば、LCDパネルディスプレイでありうる。
高信用スイッチが高信用表示プロセッサとの対話のための高信用手段をユーザに
提供するのと同様の方法により、高信用ディスプレイは、標準VDUを介する以
外に、ユーザに情報をフィードバックするための高信用手段を提供することがで
きる。例えば、高信用ディスプレイは、上述した署名動作に関連するユーザ状態
メッセージを提供するのに使用することができる。ここで、ディスプレイは高信
用表示プロセッサに直接接続される、またはある形態の高信用通信路を介して接
続されるため、標準的なホストコンピュータで実行されているアプリケーション
は、高信用ディスプレイにアクセス不可能であるべきである。本質において、こ
のような高信用ディスプレイは、上述したいわゆる「高信用インタフェース」に
対する追加である。実際には高信用ディスプレイは一つの例であり、他の形態の
高信用フィードバック装置を追加あるいは代替として含められない理由はない。
例えば、ある形態の高信用音声装置が可聴フィードバックを提供するのに有用で
あるということもありうる。
In another embodiment of the invention, additionally or alternatively, the trusted display processor (or equivalent) comprises an interface for activating a trusted display. The trusted display can be, for example, an LCD panel display.
In a manner similar to the trusted switch providing the user with a trusted means for interacting with the trusted display processor, the trusted display allows the trusted display to provide high-level feedback to the user, other than via a standard VDU. We can provide a means of credit. For example, a trusted display can be used to provide user status messages associated with the signing operation described above. Here, the display is connected directly to the trusted display processor, or via some form of trusted communication path, so that applications running on a standard host computer cannot access the trusted display. It should be possible. In essence, such a trusted display is an addition to the so-called "trusted interface" mentioned above. In practice, the trusted display is just one example, and there is no reason why other forms of trusted feedback devices could not be included as additions or substitutions.
For example, some form of trusted audio device may be useful in providing audible feedback.

【図面の簡単な説明】[Brief description of drawings]

【図1】 本発明の好ましい実施形態による動作に適したコンピュータシステムを示す図
である。
FIG. 1 illustrates a computer system suitable for operation according to a preferred embodiment of the present invention.

【図2】 本発明の好ましい実施形態による動作に適したホストコンピュータのハードウ
ェアアーキテクチャを示す図である。
FIG. 2 shows a hardware architecture of a host computer suitable for operation according to a preferred embodiment of the present invention.

【図3】 本発明の好ましい実施形態による動作に適した高信用ディスプレイプロセッサ
のハードウェアアーキテクチャを示す図である。
FIG. 3 illustrates a hardware architecture of a trusted display processor suitable for operation according to a preferred embodiment of the present invention.

【図4】 本発明の好ましい実施形態による動作に適したスマートカード処理エンジンの
ハードウェアアーキテクチャを示す図である。
FIG. 4 illustrates a hardware architecture of a smart card processing engine suitable for operation according to the preferred embodiment of the present invention.

【図5】 本発明の好ましい実施形態による動作に適した高信用ディスプレイプロセッサ
及びスマートカードを備えるホストコンピュータの機能的アーキテクチャを示す
図である。
FIG. 5 illustrates a functional architecture of a host computer with a trusted display processor and smart card suitable for operation according to a preferred embodiment of the present invention.

【図6】 文書の個々の署名の生成に関わるステップを示す系統線図である。[Figure 6]   FIG. 6 is a system diagram showing steps involved in generating individual signatures of a document.

【図7】 スマートカードからシール画像データを復元するための高信用ディスプレイプ
ロセッサとスマートカードとの間のメッセージのシーケンスを示す図である。
FIG. 7 illustrates a sequence of messages between a trusted display processor and a smart card for restoring sticker image data from the smart card.

【図8】 文書画像の署名を生成するための高信用ディスプレイプロセッサとスマートカ
ードの間のメッセージのシーケンスを示す図である。
FIG. 8 illustrates a sequence of messages between a trusted display processor and a smart card for generating a signature on a document image.

【図9】 文書画像署名プロセスの要約の署名を生成するための高信用ディスプレイプロ
セッサとスマートカードの間のメッセージのシーケンスを示す図である。
FIG. 9 illustrates a sequence of messages between a trusted display processor and a smart card for generating a signature signature of a document image signing process.

【図10a】 例示的な高信用画像を示す図である。FIG. 10a   FIG. 6 is a diagram showing an example high confidence image.

【図10b〜10d】 文書画像の署名における視覚的なステップを示す図である。10b to 10d]   It is a figure which shows the visual step in the signature of a document image.

【図10e〜10g】 署名される文書の画像をハイライトする代替方法を示す図である。10e to 10g]   FIG. 6 illustrates an alternative method of highlighting an image of a document to be signed.

───────────────────────────────────────────────────── フロントページの続き (72)発明者 バラチェフ,ボリス イギリス国ブリストル・ビーエス8・4エ ルティー,ホットウェルズ,グランビィ・ ヒル,ラットランド・ハウス・7 (72)発明者 チェン,リクン イギリス国ブリストル・ビーエス32・9デ ィーキュー,ブラッドレイ・ストーク,ハ ーベスト・クローズ・1 Fターム(参考) 5J104 AA09 NA12 NA39 NA42 ─────────────────────────────────────────────────── ─── Continued front page    (72) Inventor Barachev, Boris             Bristol BS 8-4, England             Rutie, Hotwells, Granby             Hill, Rutland House 7 (72) Inventor Chen, Rikun             United Kingdom Bristol BS 32.9 de             IQ, Bradley Stoke, Ha             -Best Close-1 F term (reference) 5J104 AA09 NA12 NA39 NA42

Claims (27)

【特許請求の範囲】[Claims] 【請求項1】 文書を表すデジタル署名を生成するよう構成されるデータ処理システムであっ
て、 デジタル署名する文書を格納するための主記憶手段と、 文書を表示するグラフィック信号を生成するための手段を含む少なくとも1つ
のアプリケーションプロセスを実行するための主処理手段と、 前記署名する文書の要求信号を生成するための手段と、 表示システムであって、 フレームバッファメモリと、 前記グラフィック信号に基づいて前記文書を表すデジタル画像データを生成
し、このデジタル画像データを前記フレームバッファメモリに格納する手段と、 前記フレームバッファメモリから前記デジタル画像データを読み出し、前記
デジタル画像データの実際の画像を表示手段上に表示させるのに適した信号へ前
記デジタル画像データを変換し、前記信号を表示手段へ転送する手段と、 からなる表示システムと、 前記デジタル画像データを表すデジタル署名を生成するため、前記要求信号に
応答して動作可能な、独立した処理手段を含む高信用コンポーネントと、 からなるデータ処理システム。
1. A data processing system configured to generate a digital signature representing a document, the main memory means for storing a document to be digitally signed, and the means for generating a graphic signal for displaying the document. A main processing means for executing at least one application process including: a means for generating a request signal for the document to be signed; a display system; a frame buffer memory; Means for generating digital image data representing a document, storing the digital image data in the frame buffer memory, reading the digital image data from the frame buffer memory, and displaying an actual image of the digital image data on a display means. The digital image data is converted into a signal suitable for display. A display system comprising: means for converting and transferring the signal to display means; and a separate processing means operable in response to the request signal to generate a digital signature representing the digital image data. A data processing system consisting of high-trust components.
【請求項2】 前記高信用コンポーネントが、 あらゆるアクセス権の無いアプリケーションまたはプロセスが、少なくとも前
記文書の前記デジタル画像データを保持する前記フレームバッファメモリの部分
へ書き込みを行うことを拒絶するための手段と、 前記フレームバッファメモリの前記各々の部分がデータの書き込みに対してア
クセス不能な間に、前記デジタル画像データを表すデジタル署名を生成するため
の手段と、 からなる、請求項1のデータ処理システム。
2. A means for the trusted component to deny any unprivileged application or process from writing to at least the portion of the frame buffer memory holding the digital image data of the document. The data processing system of claim 1, further comprising: means for generating a digital signature representative of the digital image data while the respective portions of the frame buffer memory are inaccessible for writing data.
【請求項3】 前記デジタル画像データまたは前記デジタル画像データを表現した物を受信す
る手段と、 各々のデジタル署名を生成するための処理手段からなるリムーバブルトークン
と、 をさらに含む、請求項1または2のうちいずれか1項に記載のデータ処理シス
テム。
3. The method according to claim 1, further comprising: a means for receiving the digital image data or an object expressing the digital image data; and a removable token including a processing means for generating each digital signature. The data processing system according to claim 1.
【請求項4】 前記高信用コンポーネントが、 高信用画像データを取得または生成あるいはこれら両方を行う手段と、 前記高信用画像データを用いて表示されている文書画像をハイライトするよう
に前記表示システムを制御するための手段と、 をさらに含む、請求項1〜3のうちいずれか1項に記載のデータ処理システム
4. The high-credit component obtains and / or generates high-credibility image data, and the display system for highlighting a document image displayed using the high-credibility image data. The data processing system according to any one of claims 1 to 3, further comprising:
【請求項5】 前記高信用画像データが、前記高信用画像を表すピクスマップデータまたは該
高信用画像を形成するための命令から構成される、請求項4のデータ処理システ
ム。
5. The data processing system according to claim 4, wherein the highly credible image data comprises pixmap data representing the highly credible image or instructions for forming the highly credible image.
【請求項6】 前記高信用コンポーネントが前記表示システムを制御し、 前記高信用画像によって特徴付けられ、前記文書画像の周囲の少なくとも一
部に配置される境界線、または前記境界を確定する一つまたは複数のインジケー
タと、 前記高信用画像が前記文書画像の背景の少なくとも一部を形成することを特
徴とする背景パタンと、 前記文書画像内に形成された前記高信用画像を特徴とする画像と、 前記文書画像内または前記文書画像付近に形成された前記高信用画像を特徴
とするテキストメッセージと、 からなる視覚効果のうち、一つ以上の任意の前記視覚効果を生成することによ
り前記表示される文書画像をハイライトすることを含む、請求項4または5のう
ちいずれか1項に記載のデータ処理システム。
6. The trusted component controls the display system to define a border that is characterized by the trusted image and that is located at least partly around the document image, or the border. Or a plurality of indicators, a background pattern characterized in that the high-credibility image forms at least a part of the background of the document image, and an image characterized by the high-credibility image formed in the document image, , A text message characterized by the high-credit image formed in or near the document image, and displayed by generating any one or more of the visual effects of Data processing system according to any one of claims 4 or 5, including highlighting the document image according to the invention.
【請求項7】 前記高信用コンポーネントが、リムーバブルトークンから高信用画像データを
取得または生成あるいはこれら両方を行う手段を含む、請求項4〜6のうちいず
れか1項に記載のデータ処理システム。
7. The data processing system according to claim 4, wherein the trusted component includes means for obtaining and / or generating trusted image data from a removable token.
【請求項8】 前記高信用コンポーネントが、ユーザへメッセージを表示するために表示シス
テムを制御する手段をさらに備える、請求項1〜7のうちいずれか1項に記載の
データ処理システム。
8. A data processing system according to claim 1, wherein the trusted component further comprises means for controlling a display system for displaying a message to a user.
【請求項9】 ユーザが安全にメッセージへ応答できるようにするための高信用入力手段をさ
らに含む、請求項8のデータ処理システム。
9. The data processing system of claim 8, further comprising trusted input means for enabling a user to securely respond to a message.
【請求項10】 前記高信用入力手段が、安全な通信路を介して前記高信用コンポーネントへ接
続されたスイッチを含む、請求項9のデータ処理システム。
10. The data processing system of claim 9, wherein the trusted input means comprises a switch connected to the trusted component via a secure communication path.
【請求項11】 前記高信用コンポーネント及び前記セキュアトークンが、さらなる対話を行う
前に相互認証プロセスを実行する、請求項3または7のうちいずれか1項に記載
のデータ処理システム。
11. The data processing system of claim 3 or 7, wherein the trusted component and the secure token perform a mutual authentication process before further interaction.
【請求項12】 前記高信用コンポーネントが、前記表示システムの一部分を形成する、請求項
1〜11のうちいずれか1項に記載のデータ処理システム。
12. The data processing system of claim 1, wherein the trusted component forms part of the display system.
【請求項13】 前記高信用表示システムは、前記主処理手段のみが前記高信用コンポーネント
を介して間接的に前記フレームバッファメモリへアクセスできるようにするため
、前記高信用コンポーネントが物理的及び機能的に前記主処理手段と前記フレー
ムバッファメモリとの間に配置されるように構成される、請求項12のデータ処
理システム。
13. The trusted display system allows the trusted component to access the frame buffer memory indirectly through the trusted component, so that the trusted component is physically and functionally. 13. The data processing system according to claim 12, wherein the data processing system is arranged between the main processing means and the frame buffer memory.
【請求項14】 デジタル署名動作を要約するデータを生成する手段をさらに含む、請求項1〜
13のうちいずれか1項に記載のデータ処理システム。
14. The method of claim 1 further comprising means for generating data summarizing a digital signature operation.
13. The data processing system according to any one of 13.
【請求項15】 文書にデジタル署名する方法であって、 文書のデジタル画像データを生成し、フレームバッファメモリ内の前記デジタ
ル画像データを更新するステップと、 前記フレームバッファメモリから前記デジタル画像データを読み出し、前記デ
ジタル画像データを視覚表示手段の駆動に適した信号へ変換し、前記文書の画像
を表示するために前記信号を視覚表示手段へ送信するステップと、 要求に応じて、前記フレームバッファメモリから前記デジタル画像データを読
み出し、前記画像データを表すデジタル署名を生成するステップと、 からなる方法。
15. A method of digitally signing a document, the method comprising: generating digital image data of a document and updating the digital image data in a frame buffer memory; and reading the digital image data from the frame buffer memory. Converting the digital image data into a signal suitable for driving a visual display means and transmitting the signal to the visual display means for displaying an image of the document, and from the frame buffer memory upon request. Reading the digital image data and generating a digital signature representative of the image data.
【請求項16】 前記デジタル署名を生成している間、アクセス権の無いプロセスによる前記フ
レームバッファメモリへの書き込みアクセスを一時的に拒絶するステップをさら
に含む、請求項15の方法。
16. The method of claim 15, further comprising the step of temporarily denying write access to the frame buffer memory by an unauthorized process while generating the digital signature.
【請求項17】 高信用画像データを取得または生成あるいはこれら双方を行い、前記高信用画
像データを用いて文書画像をハイライトするステップをさらに含む、請求項14
または15のうちいずれか1項に記載の方法。
17. The method according to claim 14, further comprising the step of acquiring and / or generating high-credibility image data and highlighting a document image using the high-credibility image data.
Or the method according to any one of 15;
【請求項18】 前記文書画像をハイライトするステップが、 前記高信用画像によって特徴付けられ、前記文書画像の周囲の少なくとも一
部に配置される境界、または前記境界を画定する一つまたは複数のインジケータ
と、 前記高信用画像が前記文書画像の背景の少なくとも一部を形成することを特
徴とする背景パタンと、 前記文書画像内に形成された前記高信用画像を特徴とする画像と、 前記文書画像内または前記文書画像付近に形成された前記高信用画像を特徴
とするテキストメッセージと、 からなる視覚的効果のうち、一つ以上の任意の前記視覚的効果を生成すること
により達成されることを含む、請求項17の方法。
18. The step of highlighting the document image comprises a boundary characterized by the trusted image and disposed at least in part around the document image, or one or more defining the boundary. An indicator, a background pattern characterized in that the high-credibility image forms at least a part of the background of the document image, an image characterized by the high-credibility image formed in the document image, the document And a text message characterized by the high-trust image formed in the image or near the document image, wherein at least one of the visual effects is generated. 18. The method of claim 17, comprising:
【請求項19】 前記高信用画像データがリムーバブルトークンから取得される、請求項17ま
たは18のうちいずれか1項に記載の方法。
19. The method according to claim 17, wherein the trusted image data is obtained from a removable token.
【請求項20】 請求項15〜19のうちいずれか1項に記載の方法に従って、デジタル署名す
るように構成されるデータ処理システム。
20. A data processing system configured to digitally sign according to the method of any one of claims 15-19.
【請求項21】 複数の別個に閲覧可能なページを含む文書にデジタル署名する方法であって、 a)前記文書の最初のページのデジタル画像データを生成し、フレームバッフ
ァメモリ内の前記デジタル画像データを更新するステップと、 b)前記フレームバッファメモリから前記デジタル画像データを読み出し、前
記デジタル画像データを視覚表示手段の駆動に適した信号へ変換し、前記文書の
画像を表示するために前記信号を視覚表示手段へ送信するステップと、 c)前記フレームバッファメモリから前記デジタル画像データを読み出し、前
記デジタル画像データを表すデジタル署名を生成し、このデジタル署名を格納す
るステップと、 d)前記文書の他のページについて前記ステップ(a)〜(c)を繰り返し行
うステップと、 e)先のステップで生成したすべてのデジタル署名を表すさらなるデジタル署
名を生成するステップと、 からなる方法。
21. A method of digitally signing a document containing a plurality of separately viewable pages, comprising: a) generating digital image data of a first page of the document and storing the digital image data in a frame buffer memory. B) reading the digital image data from the frame buffer memory, converting the digital image data into a signal suitable for driving a visual display means, and converting the signal to display an image of the document. Transmitting to a visual display means, c) reading the digital image data from the frame buffer memory, generating a digital signature representing the digital image data, and storing the digital signature; d) other documents. Steps (a) to (c) are repeated for the page Generating a further digital signature representing all digital signature generated in step, the method consisting of.
【請求項22】 第1のユーザによってすでに署名され、前記第1のユーザの秘密鍵によって生
成された第1のデジタル署名が添付された文書を、第2のユーザが副署名するた
めの方法であって、 前記文書のデジタル画像データを生成し、フレームバッファメモリ内の前記デ
ジタル画像データを更新するステップと、 前記フレームバッファメモリから前記デジタル画像データを読み出し、前記デ
ジタル画像データを視覚表示手段の駆動に適した信号へ変換し、前記文書の画像
を表示するために前記信号を視覚表示手段へ送信するステップと、 前記第1のデジタル署名の完全性を検証するステップと、 前記第2のユーザの秘密鍵に基づいて、前記第1のデジタル署名を表すデジタ
ル署名を生成するステップと、 からなる方法。
22. A method for a second user to sub-sign a document already signed by a first user and attached with a first digital signature generated by the first user's private key. And generating digital image data of the document and updating the digital image data in a frame buffer memory; reading the digital image data from the frame buffer memory and driving the digital image data to a visual display means. A signal suitable for, and transmitting the signal to a visual display means for displaying an image of the document; verifying the integrity of the first digital signature; Generating a digital signature representative of the first digital signature based on a private key.
【請求項23】 第1のユーザによってすでに署名され、前記第1のユーザの秘密鍵によって生
成された第1のデジタル署名が添付された文書を、第2のユーザが副署名するた
めの方法であって、 前記文書のデジタル画像データを生成し、フレームバッファメモリ内の前記デ
ジタル画像データを更新するステップと、 前記フレームバッファメモリから前記デジタル画像データを読み出し、前記デ
ジタル画像データを視覚表示手段の駆動に適した信号へ変換し、前記文書の画像
を表示するために前記信号を視覚表示手段へ送信するステップと、 前記第1のデジタル署名の完全性を検証するステップと、 前記フレームバッファメモリから前記デジタル画像データを読み出し、前記第
2のユーザの秘密鍵に基づいて、前記第1のデジタル署名を表すデジタル署名を
生成するステップと、 からなる方法。
23. A method for a second user to sub-sign a document already signed by a first user and attached with a first digital signature generated by said first user's private key. And generating digital image data of the document and updating the digital image data in a frame buffer memory; reading the digital image data from the frame buffer memory and driving the digital image data to a visual display means. A signal suitable for, and transmitting the signal to a visual display means for displaying an image of the document; verifying the integrity of the first digital signature; The digital image data is read out and the first digital signature is displayed based on the secret key of the second user. Generating a digital signature, the method comprising a.
【請求項24】 文書を表すデジタル署名を生成するように構成されるデータ処理システムであ
って、 文書を表示するためのグラフィックス信号を生成するための主処理手段と、 表示システムであって、 フレームバッファメモリと、 前記グラフィック信号を基づいて前記文書を表すデジタル画像データを生成
し、このデジタル画像データを前記フレームバッファメモリに格納する手段と、 前記フレームバッファメモリから前記デジタル画像データを読み出し、前記
デジタル画像データの実際の画像を表示手段上に表示させるのに適した信号へ前
記デジタル画像データを変換し、前記信号を表示手段へ転送する手段と、 を備える表示システムと、 前記デジタル画像データを表すデジタル署名を生成するための手段と、 からなるデータ処理システム。
24. A data processing system configured to generate a digital signature representing a document, the main processing means for generating a graphics signal for displaying the document, the display system comprising: A frame buffer memory, means for generating digital image data representing the document based on the graphic signal, and storing the digital image data in the frame buffer memory; and reading the digital image data from the frame buffer memory, Means for converting the digital image data into a signal suitable for displaying an actual image of the digital image data on the display means and transferring the signal to the display means; Means for generating a digital signature that represents, and a data processing system consisting of Temu.
【請求項25】 文書にデジタル署名するためのシステムであって、 フレームバッファメモリと、 文書を表す画像データを生成し、前記画像データを前記フレームバッファメモ
リに格納するための手段と、 前記フレームバッファメモリから前記画像データを読み出し、各々の画像を表
示手段上に表示するための手段と、 前記フレームバッファメモリから前記画像データを読み出し、前記画像データ
のデジタル署名を生成するための手段と、 からなるシステム。
25. A system for digitally signing a document, comprising: a frame buffer memory, means for generating image data representing the document and storing the image data in the frame buffer memory; A unit for reading the image data from the memory and displaying each image on a display unit; and a unit for reading the image data from the frame buffer memory and generating a digital signature of the image data. system.
【請求項26】 請求項1〜14のうちいずれか1項に記載のデータ処理システムにおいて使用
するための高信用コンポーネント。
26. A trusted component for use in a data processing system according to any one of claims 1-14.
【請求項27】 改竄に対して耐性があるように製造される、請求項26の高信用コンポーネン
ト。
27. The trusted component of claim 26 manufactured to be tamper resistant.
JP2001500933A 1999-05-28 2000-05-25 A system for digitally signing documents Expired - Fee Related JP4932108B2 (en)

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 true JP2003501915A (en) 2003-01-14
JP2003501915A5 JP2003501915A5 (en) 2007-07-12
JP4932108B2 JP4932108B2 (en) 2012-05-16

Family

ID=8241418

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001500933A Expired - Fee Related JP4932108B2 (en) 1999-05-28 2000-05-25 A system for digitally signing documents

Country Status (4)

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

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010521754A (en) * 2007-03-16 2010-06-24 ギーゼッケ ウント デフリエント ゲーエムベーハー Method and apparatus for generating confirmed transaction data
JP2010278925A (en) * 2009-05-29 2010-12-09 Secom Co Ltd Electronic signature system
JP2010541031A (en) * 2007-09-04 2010-12-24 インターナショナル・ビジネス・マシーンズ・コーポレーション System and method for verifying electronic documents
JP2012089138A (en) * 2010-10-21 2012-05-10 Arm Ltd Security countermeasure for object image displayed in non-secure domain
JP2012520530A (en) * 2009-03-13 2012-09-06 ドキュサイン,インク. System and method for document management conversion and security
JP2020531918A (en) * 2017-08-28 2020-11-05 天地融科技股▲ふん▼有限公司 How and devices to display data in security

Families Citing this family (47)

* 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 (en) * 2000-06-23 2003-04-01 Esignus S L EXTERNAL SIGNATOR FOR 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
US7451116B2 (en) 2001-03-07 2008-11-11 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 (en) * 2001-11-20 2004-04-02 Gemplus Card Int METHOD AND DEVICE FOR PROCESSING DIGITAL SIGNATURES
US7480806B2 (en) * 2002-02-22 2009-01-20 Intel Corporation Multi-token seal and unseal
US7124273B2 (en) 2002-02-25 2006-10-17 Intel Corporation Method and apparatus for translating guest physical addresses in a virtual machine environment
US7631196B2 (en) 2002-02-25 2009-12-08 Intel Corporation Method and apparatus for loading a trustable operating system
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
WO2004081768A1 (en) * 2003-03-11 2004-09-23 Koninklijke Philips Electronics N.V. Viewing masked images
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
CN101311950B (en) * 2007-05-25 2012-01-18 北京书生国际信息技术有限公司 Electronic stamp realization method and device
US8924309B2 (en) 2007-08-08 2014-12-30 Imation Corp. Method of providing assured transactions by watermarked file display verification
WO2009049412A1 (en) 2007-10-19 2009-04-23 Memory Experts International Inc. Method of providing assured transactions using secure transaction appliance and watermark verification
DE102008007367B4 (en) * 2008-02-01 2010-09-30 Novosec Aktiengesellschaft Method and device for secure mobile electronic signature
DE102008037793A1 (en) * 2008-08-14 2010-02-18 Giesecke & Devrient Gmbh Photo token
EP2251812A1 (en) * 2009-05-10 2010-11-17 Mario Guido Finetti Transaction verification USB token
FR2978002B1 (en) 2011-07-15 2015-12-11 Dictao METHOD OF AUTHENTICALLY SIGNATURE OF A WORKING DOCUMENT
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
CN107526948B (en) * 2017-09-28 2023-08-25 同方威视技术股份有限公司 Method and device for generating associated image and image verification method and device

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0695591A (en) * 1991-04-19 1994-04-08 Hiroichi Okano Electronic document signature and its device
JPH086836A (en) * 1994-06-22 1996-01-12 Kyushu Nippon Denki Software Kk File sharing exclusive control system
JPH08160856A (en) * 1994-12-02 1996-06-21 Nippon Telegr & Teleph Corp <Ntt> Digital information protection system and its method
JPH10143439A (en) * 1996-11-12 1998-05-29 Fujitsu Ltd Data processor
JPH10224588A (en) * 1997-02-05 1998-08-21 Nec Corp Picture information exchange system

Family Cites Families (4)

* 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
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
EP0717337B1 (en) * 1994-12-13 2001-08-01 International Business Machines Corporation Method and system for the secured distribution of programs
US5907619A (en) * 1996-12-20 1999-05-25 Intel Corporation Secure compressed imaging

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0695591A (en) * 1991-04-19 1994-04-08 Hiroichi Okano Electronic document signature and its device
JPH086836A (en) * 1994-06-22 1996-01-12 Kyushu Nippon Denki Software Kk File sharing exclusive control system
JPH08160856A (en) * 1994-12-02 1996-06-21 Nippon Telegr & Teleph Corp <Ntt> Digital information protection system and its method
JPH10143439A (en) * 1996-11-12 1998-05-29 Fujitsu Ltd Data processor
JPH10224588A (en) * 1997-02-05 1998-08-21 Nec Corp Picture information exchange system

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010521754A (en) * 2007-03-16 2010-06-24 ギーゼッケ ウント デフリエント ゲーエムベーハー Method and apparatus for generating confirmed transaction data
JP2010541031A (en) * 2007-09-04 2010-12-24 インターナショナル・ビジネス・マシーンズ・コーポレーション System and method for verifying electronic documents
US8584016B2 (en) 2007-09-04 2013-11-12 International Business Machines Corporation System and method for verifying an electronic document
JP2012520530A (en) * 2009-03-13 2012-09-06 ドキュサイン,インク. System and method for document management conversion and security
JP2010278925A (en) * 2009-05-29 2010-12-09 Secom Co Ltd Electronic signature system
JP2012089138A (en) * 2010-10-21 2012-05-10 Arm Ltd Security countermeasure for object image displayed in non-secure domain
JP2020531918A (en) * 2017-08-28 2020-11-05 天地融科技股▲ふん▼有限公司 How and devices to display data in security
JP7014894B2 (en) 2017-08-28 2022-02-01 天地融科技股▲ふん▼有限公司 How and equipment to display data in security

Also Published As

Publication number Publication date
DE60042971D1 (en) 2009-10-29
WO2000073879A1 (en) 2000-12-07
EP1190290B1 (en) 2009-09-16
EP1055989A1 (en) 2000-11-29
EP1190290A1 (en) 2002-03-27
JP4932108B2 (en) 2012-05-16

Similar Documents

Publication Publication Date Title
JP4932108B2 (en) A system for digitally signing documents
US7302585B1 (en) System for providing a trustworthy user interface
RU2327215C2 (en) System and method for protecting output signal of video card
JP4522645B2 (en) Method and system for cryptographically protecting secure content
JP4807925B2 (en) Graphic system component authentication method and system
EP1224518B1 (en) Trusted computing platform with biometric authentication
JPH1011509A (en) Electronic document security system, electronic stamping security system and electronic signature security system
JP2000138671A (en) Electric seal mark authentication
Tygar et al. WWW electronic commerce and Java Trojan horses
US20110202772A1 (en) Networked computer identity encryption and verification
EP1267246A2 (en) Identifying a trusted computing entity
Kim et al. Anti-reversible dynamic tamper detection scheme using distributed image steganography for IoT applications
EP0950992A2 (en) Digital graphic signature system
Balacheff et al. A trusted process to digitally sign a document
EP1704667B1 (en) Electronic signing apparatus and methods
US8898733B2 (en) System security process method and properties of human authorization mechanism
JP2002236868A (en) Electronic seal system and recording medium for recording electronic seal program
Landrock et al. WYSIWYS?—What you see is what you sign?
JP2004515098A (en) Authentication method and authentication device
Liu et al. Visually sealed and digitally signed documents
Fischer et al. Watermarks and Text Transformations in Visual Document Authentication.
BRPI0205818B1 (en) Method, medium and device to cryptographically protect security content
JP2003263647A (en) Signing method in electronic document

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