JP2009518702A - 安全な作業環境を提供する、仮想インターフェースを利用するデバイス - Google Patents

安全な作業環境を提供する、仮想インターフェースを利用するデバイス Download PDF

Info

Publication number
JP2009518702A
JP2009518702A JP2008540172A JP2008540172A JP2009518702A JP 2009518702 A JP2009518702 A JP 2009518702A JP 2008540172 A JP2008540172 A JP 2008540172A JP 2008540172 A JP2008540172 A JP 2008540172A JP 2009518702 A JP2009518702 A JP 2009518702A
Authority
JP
Japan
Prior art keywords
application
token device
token
host device
host
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.)
Pending
Application number
JP2008540172A
Other languages
English (en)
Inventor
トッド カーパー
Original Assignee
エレクトロニック プラスティックス リミテッド ライアビリティ カンパニー
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 エレクトロニック プラスティックス リミテッド ライアビリティ カンパニー filed Critical エレクトロニック プラスティックス リミテッド ライアビリティ カンパニー
Publication of JP2009518702A publication Critical patent/JP2009518702A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/82Protecting input, output or interconnection devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • G06F12/1458Protection against unauthorised use of memory or access to memory by checking the subject access rights
    • G06F12/1466Key-lock mechanism
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • G06F21/32User authentication using biometric data, e.g. fingerprints, iris scans or voiceprints
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • G06F21/36User authentication by graphic or iconic representation
    • 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/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/71Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Mathematical Physics (AREA)
  • Storage Device Security (AREA)
  • User Interface Of Digital Computer (AREA)
  • Digital Computer Display Output (AREA)
  • Stored Programmes (AREA)
  • Cash Registers Or Receiving Machines (AREA)

Abstract

ある実施形態に従えば、ディスプレイを備えクライアントアプリケーションを動作させるホストデバイス(200)と、インターフェース(204)を介してホストデバイスに繋がれていて、トークンデバイスアプリケーションを動作させるためのプロセッサ(104)を備えるトークンデバイス(202)と、を含むシステムである。トークンデバイスアプリケーションは画像情報を、ホストデバイス上で動作するクライアントアプリケーションへとインターフェースを介して提供し、クライアントアプリケーションはトークンデバイスから提供された画像情報に従ってホストデバイスのディスプレイ上に画像を表示する。
【選択図】図1

Description

本願は、ここに全体としての参照により組み込まれる、2005年11月9日に提出された、「安全な作業環境を提供する、仮想インターフェースを利用するトークンコンピュータ」とタイトルが付された、Carperの米国特許仮出願第60/734,793号についての優先権を主張する。
[発明の背景]
1.発明の分野
本発明は、トークンデバイスに関する。特に、本発明はホストコンピュータと共に用いるためのトークンデバイスに関する。
2.関連技術の考察
モバイルファッションで作業するということは、個人が現在取り組んでいるファイルを含む、持ち運び可能な記憶デバイス(例えば、ユニバーサルシリアルバス(USB:Universal Serial Bus)記憶デバイス)を持ち運ぶことによってしばしば達成される。USBデバイス上にあるファイルへのアクセスが所望されている時、そのUSBデバイスは、ホテル、カフェ、顧客のオフィスなどで、利用可能なコンピュータ(Macintosh, Windows(登録商標), Linux, PDA)に接続されるのであり、そのUSBデバイスは、ファイルへのアクセスを許す、コンピュータ上のドライブのように見える。
USB記憶デバイスのある実装においては、記憶されたファイルとアプリケーションへのアクセスを得るためにパスワードが要求されるかもしれない。加えて、各々のファイルまたはアプリケーションは、ファイルの盗難に対しての更なる安全性を与えるために、暗号化されるかもしれない。
このファイル運搬方法は、ラップトップをどこへでも持ち運ぶ必要がないために便利である。ユーザは単に利用可能なコンピュータの前に座ってUSB記憶デバイスを接続し、そしてホスティングコンピュータまたはUSBデバイス上で利用可能なアプリケーションを用いることによって、USBデバイス上のファイルにアクセスする。
個人ファイル、作業ファイル、そして多くの他のアプリケーションに対するセキュリティがますます懸念されており、そして多くの異なるユーザにとっての必要条件となっている。こうして、USB記憶デバイス、及び/またはUSBデバイス上の各々のファイルとアプリケーションをパスワード保護することができれば、USBデバイスを紛失するか、または盗難された場合に安全性が与えられる。しかしながら、コンピュータ上で(特に、標準のユーザによって保有されていないコンピュータであって、USBデバイスを使用している時には)ファイルがアクセスされる時はいつでも、そこには多くの潜在的問題が存在する。
1つの問題は、例えば、USBデバイス上のファイル及び/またはアプリケーションは、ウイルスに対して解放される可能性があるということである。操作において、一度適正なパスワードを(要求される場合に)与えれば、USBデバイス上に記憶されたファイルとアプリケーションは、そのUSBデバイスの接続されたコンピュータから直接利用可能となる。一度コンピュータがファイルへアクセス可能となれば、正当(valid)であってもウイルス性(viral)であっても、如何なるアプリケーションにとっても、記憶されたファイルとアプリケーションにアクセスして修正することが可能となる。USB記憶デバイスをウイルスに感染したコンピュータに挿入すれば、USB記憶デバイスに記憶されたファイルとアプリケーションの幾らかの、または全ての感染を、引き起こす可能性がある。
第2の問題は、USBデバイスがホストコンピュータと共に使用され、USBデバイスに記憶されたファイル及び/またはアプリケーションがそのコンピュータからアクセスされた場合、そのUSBデバイスがホストコンピュータから取り除かれた後でさえも、情報(すなわち、ファイル及び/またはアプリケーションの全部または一部)のコピーが後に残されるということである。ウイルスのない(virus−free)マシンの場合においても、一度アプリケーションが起動し(例えば、ワードプロセッサ)、USBデバイス上に記憶されたファイルの編集、印刷、読み取り、またはコピーを行えば、そのファイルとアプリケーションはホスティングコンピュータのメモリに持ち込まれる。この時点で、その文書は、一時的にディスクにキャッシュされるか(コンピュータに対しての通常の作業である)、または全てのシステム活動を監視するプログラム(必ずしも、ウイルス性のトロイの木馬とは限らない)によってメモリからコピーされるかもしれない。加えて、そのアプリケーションは実際にホストコンピュータ上で動作しているであろう。これらさまざまな出来事は、たとえファイルが閉じられたか、印刷が完了してUSBデバイスがホストコンピュータから取り除かれた後であっても、ファイル及び/またはアプリケーションの1以上の完全コピーまたはその一部が、ホストコンピュータ上に依然として残り得るということを意味する。そのコピーまたは残留物は、公然と利用可能な復旧ツールを利用して、閲覧可能なまたは使用可能な形へと復旧することができる。こうして、ファイルはUSBデバイス(1以上のセキュリティモデルを使用していることが考えられる)上に記憶されているにも関わらず、ユーザは、ファイルとアプリケーションについてのプライバシーとインテグリティに関する安全性への、誤った感覚を持つ。
輸送可能な作業領域を与えるための、もう1つの現行のアプローチとしては、カリフォルニア州レッドウッドシティの、 U3 LLC (www.u3.com)からの技術を用いることがある。U3は、持ち運び可能なUSB記憶デバイスから起動するために設計された、余分な装備を取り除いた(stripped down)アプリケーションの特別なバージョンをインストールするための技術を提供する。例えば、Microsoft Wordの余分な装備を取り除いたバージョンを、USBデバイス上に記憶することができる。このシステムは、ファイルと必要なアプリケーション両方を輸送することを可能とする。USBデバイスのメモリ内のアプリケーションを運ぶことによって、例えそのUSBデバイスがそのアプリケーションをインストールしていないホストデバイスに接続されたとしても、ユーザは利用可能な正当なアプリケーションを有していることを保証される。しかしながら、このシステムにおいてUSB記憶デバイスは依然としてウイルスに対して脆弱であり、USB記憶デバイス上でインストールされたアプリケーションが動作する時、そのアプリケーションは実際にはホストコンピュータのプロセッサを利用し、ホストコンピュータのメインメモリ内で実行されるのである。加えて、ファイルはまた、アクセスされている間はホストコンピュータのメモリにロードされている。こうして、ウイルスとファイルコピーを後に残すということとに関連した上述の問題は、U3システムにおいても依然として存在する。U3アプローチは、USBデバイスがホストコンピュータへ挿入された時にそのUSB記憶デバイス上に置かれたプログラムを自動的にロードすることによって、幾らかの、使い勝手の良い特徴を導入する。そのプログラムは、他のインストールされたアプリケーションを、現在のホストコンピュータのインターフェースから(例えば、Windowsのスタートメニューから)容易に選択できるような、インターフェースを与える。U3システムはWindowsベースのコンピュータシステムと共に使用することを対象としている。
すなわち、必要とされているのは、トークンデバイス上に記憶されたファイルへアクセスすることとアプリケーションを動作させることについての、安全な方法である。
[発明の概要]
ここにおけるさまざまな実施形態が、特別のアプリケーション(ここにおいてユーザは、ホストデバイス上で動作するクライアントアプリケーションを介して、そのトークンデバイス上の特別のアプリケーションと交信できる)を動作させるトークンデバイスを提供する。
ある実施形態は、メモリを備えるトークンデバイスと、トークンデバイスをホストデバイスと繋げるためのインターフェースと、そしてそのメモリと繋がったプロセッサとして特徴付けることができ、そのプロセッサはトークンデバイスのメモリに記憶されたトークンデバイスアプリケーションを動作させ、そのプロセッサは画像情報(image information)を、インターフェースを介してホストデバイスへ提供し、その画像情報はアプリケーションに対応する画像を描画(rendering)するための情報であって、前記画像情報はホストデバイスのディスプレイ上に描画するためにクライアントアプリケーションへと送信される。
もう1つの実施形態は、ディスプレイを備えた、クライアントアプリケーションを動作させるホストデバイスと、そのホストデバイスにインターフェースを介して繋がったトークンデバイスとを含むシステムとして特徴付けることができ、そのトークンデバイスはトークンデバイスアプリケーションを動作させるためのプロセッサを含み、そのトークンデバイスアプリケーションは画像情報を、インターフェースを介して、ホストデバイス上で動作するクライアントアプリケーションへ提供し、そのクライアントアプリケーションは、トークンデバイスから提供された画像情報に対応してホストデバイスのディスプレイ上に画像を表示する。
それに続く実施形態は、インターフェースを介してトークンデバイスをホストデバイスに繋ぐことと、トークンデバイス上でトークンデバイスアプリケーションを動作させることと、画像情報を生成することと、そしてインターフェースを介して画像情報をホストデバイスに送信することとを含む、トークンデバイスの動作方法を含み、その画像情報はホストデバイス上で動作するクライアントアプリケーションによって描画される。
[詳細な説明]
以下の説明は制限的意味に受け取るべきものではなく、ただ単に、本発明の一般的原理を説明する目的のためになされるものである。本発明の範囲は請求の範囲に関して決定されるべきものである。目下の実施形態は、背景において説明された問題に取り組み、一方でまた、以下の詳細な説明によって分かるであろう、他の追加的問題にも取り組む。
ここにおいて説明される幾つかの実施形態は、さまざまなユーザの要求に適う、安全で持ち運び可能な作業環境を提供する。トークンデバイスは、さまざまな実施形態において、以下のような1以上の特徴を提供する。トークンデバイスは安全にファイルを維持し、持ち運び可能な環境に常駐する必要なアプリケーションを持つことによって、ユーザのファイルを用いての作業を可能とし、ファイルがホストマシンにキャッシュされることを防止し、携帯性の高いフォームファクタ(form factor)(例えば、スマートカードやUSBデバイス)を提供するのであり、ホストマシンからの感染の心配がなく、そしてWindows, Linux, Macintosh, PDAホストコンピュータまたは他の多くのタイプのさまざまなオペレーティングシステムを動作させているホストコンピュータで動作することができる。
ある実施形態は、プロセッサと、メモリに記憶された1以上のアプリケーションと、メモリに記憶された1以上のファイルと、そしてホストコンピュータを介して仮想インターフェースを動作させるためのクライアントアプリケーションとを備える持ち運び可能なデバイス(例えば、USBフォームファクタまたはスマートカード)を含む。ある実施形態において、持ち運び可能なデバイスはオペレーティングシステムを含む。ある幾つかの実施形態において、そのデバイスは単一の接続インターフェース(例えば、USB、スマートカード、ネットワーク)を含み、キーボード、マウス、ディスプレイまたは他の入力デバイスを含まない。操作において、ユーザはその持ち運び可能なトークンデバイスと、デバイスインターフェースの仮想化をサポートするクライアントアプリケーション経由で交信するであろう。持ち運び可能なデバイス上での、トークンデバイスアプリケーションとファイルとの処理は、ホストデバイス上ではなく、その持ち運び可能なデバイスで局所的に発生する。如何なるファイルデータ、アプリケーション(仮想インターフェースアプリケーション以外)、または計算作業も、ホストコンピュータ上では実行されず、キャッシュされず、またホストコンピュータに送信されない。
別のある実施形態は、インターフェース(例えば、USB、スマートカード、またはネットワークインターフェース)付きのマイクロプロセッサを備える持ち運び可能なトークンデバイスを含み、それがホストコンピュータに接続された時は、例えば安全なオンラインでの(secure on−line)銀行取引や、安全な個人の作業空間や、安全なカスタムPOSインターフェースや、文書作成や、スプレッドシート(spreadsheet)や、ファイルビューアのようなアプリケーションを、そして他の任意のアプリケーションをサポートする、安全なコンピュータ環境が提供される。
別のある実施形態は、スマートカードにおいて広く利用されているような安全なプロセッサと、目的の用途に適応させた1以上のトークンデバイスアプリケーションと、そして、例えばここに全体としての参照により組み込まれている、2002年5月21日にCarper等に対して与えられた、「アプリケーションの、スマートカード上でのインストール/アンインストール(DE−INSTALLING)のためのシステムと方法」とタイトルが付された、米国特許第6,390,374号において説明されたもののようなオペレーティングシステムとを含む。代わりとなるオペレーティングシステムとしては、例えば、http://en.wikipedia.org/wiki/Contiki で説明されているContikiオペレーティングシステム、または http://sourceforge.net/projects/vnc-tight で説明されているVNCサーバのような仮想サーバが含まれる。その構成要素は、スマートカードまたはUSBトークンのフォームファクタに従って組み立てられる。加えて、トークンデバイスは、例えば、ここに全体としての参照により組み込まれている、2006年7月3日に出願された、Carper等への、「生体認証(BIOMETRIC)埋め込みデバイス」とタイトルが付された、米国特許仮出願第60/806,494号において説明されたもののような生体認証デバイスであってもよい。
今、図1を参照すると、1つの実施形態に従う、持ち運び可能なトークンデバイスを図示するブロック図が示されている。示されているのは、インターフェース100と、プロセッサ104と、そしてメモリ106である。例えば、追加的なプロセッサ、生体認証の構成要素、電源等のような、他のさまざまな構成要素を、このデバイスは有してよい。
持ち運び可能なトークンデバイスは、USBデバイス、スマートカード、または他の、容易に持ち運び可能な、小さな埋め込みデバイスの形であってよい。一般には、その持ち運び可能なトークンデバイスは、キーボードや、ディスプレイスクリーンや、または他の入力/出力機能(インターフェース100を介して与えられるものを除く)を含まないであろう。
メモリ106は、さまざまな実施形態に従って、ROM、フラッシュメモリの両方、及び/または RAMを含むことができる。メモリは、1以上の物理的メモリ記憶デバイス 及び/または プロセッサ回路に直接付随しているメモリを含むことができる。通常のUSBデバイスとは対照的に、持ち運び可能なトークンデバイスは、その持ち運び可能なトークンデバイス上でトークンデバイスアプリケーションを動作させるためのプロセッサ104を含む。そのアプリケーションはここにおいて特別のアプリケーション、トークンデバイスアプリケーション 及び/または 仮想サーバアプリケーションと呼ばれるであろう。これら各々は単に、トークンデバイスのプロセッサ104上で実行されるアプリケーションのことを言っている。
1つの実施形態に従えば、プロセッサ104は特別のマイクロプロセッサである。プロセッサ104は、しかしながら、ここにおいて上述したような多くのさまざまなタイプのプロセッサであってよい。選択的に、プロセッサ104は、オペレーティングシステムを動作させる安全なプロセッサか、または特別のアプリケーションを動作させるために設計された、特別の安全なマイクロプロセッサを含んでよい。
1つの実施形態において、持ち運び可能なトークンデバイスは1以上の特別のアプリケーション(例えば、銀行取引、ファイルビューア、ファイルエディタ、または経済取引アプリケーション)のために使われる。その特別のアプリケーション(ここにおいては、トークンデバイスアプリケーションとも呼ばれている)は持ち運び可能なトークンデバイスのメモリ106に記憶され、そしてプロセッサ104によって動作する。加えて、その持ち運び可能なトークンデバイスは、メモリ106に1以上のファイルを記憶することができ、また選択的に、ホストコンピュータ上で動作するよう設計されたクライアントアプリケーションを記憶することもできる。そのクライアントアプリケーションは、持ち運び可能なトークンデバイスのプロセッサ104上で動作する特別のアプリケーションのための、仮想インターフェースを提供する。このように、ホストコンピュータを利用して特別のアプリケーションと交信することができる。例えばユーザは、トークンデバイス上で動作する特別のアプリケーションと交信するために、ホストコンピュータのキーボードやマウスを使うことができる。
次に図2を参照すると、ある実施例に従う、ホストコンピュータに繋がった持ち運び可能なトークンデバイスを図示するブロック図が示されている。示されているのは、ホストデバイス200、トークンデバイス202、そしてインターフェース204である。
ホストデバイス202はインターフェース204を介してトークンデバイス202に繋がれている。インターフェース204は、例えば、USBインターフェース、スマートカードインターフェース、またはネットワークインターフェースである。インターフェース204はまた、さまざまな実施形態に従って、有線または無線のインターフェースであってよい。そのインターフェースはホストデバイス200とトークンデバイス202との間のI/O機能を提供する。加えて、実施形態によっては、電力はホストデバイス200からトークンデバイス202に、インターフェース204を介して提供される。あるいは、トークンデバイス202はバッテリーまたは太陽電池などのオンボードの電源を含む。
トークンデバイス202は、例えば、図1に関して上述されたトークンデバイスである。上述の通り、トークンデバイス202は、トークンデバイス202上で動作する特別のアプリケーションを記憶する。その特別のアプリケーションは仮想サーバだと考えてもよいし、ここにおいてそのように呼ばれるであろう。選択的に、トークンデバイス202はまたクライアントアプリケーションを記憶する。トークンデバイス202がホストデバイス200に接続されるとき、そのクライアントアプリケーションはインターフェース204を介してホストデバイス200にロードされる。そのクライアントアプリケーションは仮想クライアントだと考えてもよいし、ここにおいてそのように呼ばれるであろう。トークンデバイスが任意のホストデバイス200に繋がれるときはいつでも、クライアントアプリケーションが容易にホストデバイス200に送信されるように、そのクライアントアプリケーションはトークンデバイス202に記憶されていることが望ましい。しかしながら、代替的実施形態において、トークンデバイス202に繋がれるより前に、クライアントアプリケーションはホストデバイス200に記憶されていてもよいのであり、または、ホストデバイス200はクライアントアプリケーションをリモートソースからダウンロードしてもよい。
仮想サーバ(すなわち、単数又は複数の、特別のアプリケーション)は、インターフェース204を介して、仮想クライアント(すなわち、クライアントアプリケーション)と通信する。1つの実施形態において仮想クライアントは、例えばPDA端末機(PDA:Personal Digital Assistant)、電話、そしてコンピュータなどを含む、特定のオペレーティングシステムに依存しない殆どのコンピュータシステム上で実行されるようにと、Java(登録商標)を用いて開発される。しかしながら、クライアントデバイスを他の技術を用いて開発してもよいし、所望されるのであれば、プラットフォーム依存でビルトしてもよい。
操作において、ホストデバイス200上で動作する仮想クライアントはトークンデバイス202上で動作する仮想サーバと通信する。仮想クライアントは、ホストデバイス200上のアプリケーションウインドウ内部に、仮想スクリーンを表示する。仮想クライアントと仮想スクリーンの典型的スクリーンショットが、図6に関して示されており、そして以下において説明される。キーボードとマウスの動きは仮想クライアントによって収集され、仮想サーバへ転送される。これにより、トークンデバイスは一般に、例えばキーボードやマウスのような如何なる入力をも含まないにも関わらず、ユーザはそのトークンデバイス上で動作している特別のアプリケーションと交信することが可能となる。例えばその特別のアプリケーションはファイル編集プログラムであってよく、ユーザはトークンデバイス202上に記憶されたテキストファイルを編集できる。ユーザはそのテキストファイルを仮想スクリーン内で見ることができるのであるが、ホストデバイス200はそのテキストファイルのコピーにアクセスできない。ホストデバイス200が受信するデータはトークンデバイス202からの画像データであり、テキストファイルのコピーを実際に得るのではない。選択的に、仮想クライアントは、例えばネットワークへのアクセス 及び/または プリントサービスへのアクセスの提供をサポートしてもよい。
仮想スクリーンは、例えば、ホストデバイス200のディスプレイデバイス上のウインドウである。仮想スクリーンのコンテンツは、仮想サーバから仮想クライアントに与えられる画像データに応答して更新される。ホストデバイス200のディスプレイデバイス上に表示される仮想スクリーンを更新するために、トークンデバイス202上で動作する特別のアプリケーションは、画像情報を仮想クライアントに与える。仮想クライアントはそれから、仮想スクリーンを更新する。しかしながら、ホストデバイス200はトークンデバイス202上で動作する特別のアプリケーションへアクセスするのではなく、そしてそれを動作させるわけでもないことは当然のことである。トークンデバイス202上のアプリケーション 及び/または 任意のファイルは完全に安全に保たれ、そしてホストコンピュータ200から隔離される。このことにより、その特別のアプケーションが何らかのウイルスに感染することが防止され、またはホストデバイス200にデータを晒さなければならないということもなくなる。こうして、トークンデバイス202がホストデバイス200から除かれれば、ホストデバイス200上に情報の(全体、または部分的)コピーが残されることはない。
1つの実施例においては、トークンデバイス202がホストデバイス200に接続されたその時点で、仮想クライアントアプリケーションを備えたドライブがホストデバイス200に対して公開される。このことによって、トークンデバイスに接続され次第、ホストデバイス200は仮想クライアントアプリケーションをロードして動作させることが可能となる。選択的に、トークンデバイス202は読み取り専用の、または読み取り/書き込みの、追加ドライブを公開してもよい。その追加的ドライブは、ファイルまたはアプリケーションへアクセスするために、またはそれらを記憶するために使うことができる。例えば、ファイルはホストデバイス200からコピーされてトークンデバイス202に記憶されてよい。ウイルスをトークンデバイス202上にコピーする可能性があるので、これは幾つかのアプリケーションにおいては望ましくない。
トークンデバイスはパスワード保護されてよく、及び/または生体認証識別を要求することで保護されてよい。生体認証トークンの一例が、ここに全体としての参照により組み込まれている、2006年7月3日に出願された、Carper等への、「生体認証埋め込みデバイス」とタイトルが付された、米国特許仮出願第60/806,494号において説明されている。パスワード保護されたトークンデバイス202を取ることの、生体認証デバイスと比較しての1つの問題は、ホストコンピュータは潜在的に、ユーザがパスワードを入力したときのキーストローク(またはマウスクリック)を捕捉する“キーロガー(key logger)”プログラムを有している可能性があるということである。これに対する1つの解決策は、現在の実施形態に従えば、トークンデバイス上で動作する特別のアプリケーションからユーザにキーパッドを提示させ、ユーザにマウスを使ったパスワード入力をさせるということである。キーパッドは、パスワードが要求される各々の時点で数字がそのキーパッド中の異なった位置へ現れるようにと、スクランブルされてよい。この解決法は、“キーロガー”プログラムがユーザのパスワードに関する如何なる重要なデータを記録することをも妨げるであろう。トークンデバイス202上で動作する特別のアプリケーションがキーパッドを提示しているので、如何なるキーパッドがユーザに提示されているのかをホストコンピュータ200が追跡することはできない。
次に図3を参照すると、ある実施形態に従って、持ち運び可能なトークンデバイスをホストコンピュータと共に用いる方法を説明するフロー図が示されている。
ステップ300において、トークンデバイスはインターフェースを介してホストコンピュータに繋がれる。例えば、トークンデバイスがホストコンピュータのUSBポートに挿入(プラグ接続)される。次にステップ302において、ドライブ(例えば読み取り専用ドライブ)がホストコンピュータに与えられる。ドライブは1以上のアプリケーションファイルを備え、好ましくは仮想インターフェースクライアントを備える。上述の通り、好ましくは最高の互換性のために、仮想クライアントアプリケーションはJavaで記述されるのであるが、しかしながら特に目標とするコンピュータ環境のために、多くの異なった技術を用いて記述してもよい。加えて、上述の通り、仮想クライアントアプリケーションは既にホストコンピュータ上に置かれていてもよいし、またはホストコンピュータがトークンデバイス以外のソースから仮想クライアントアプリケーションをダウンロード可能であってもよい。
ステップ304において、仮想クライアントアプリケーションがドライブに置かれているならば、ユーザは、例えばその仮想クライアントアプリケーションをダブルクリックすることで、仮想クライアントアプリケーションを起動できる。代わりに、トークンデバイスがインターフェースを介してホストコンピュータに接続されたときに、仮想クライアントアプリケーションがプログラムで起動されてもよい。
続いて、ステップ306において、仮想クライアントアプリケーションを用いて、ユーザはトークンデバイスにログインするための適正なパスワードを与えることができる。代わりに、ユーザを認証するために生体認証を利用することができる。ステップ308において、トークンデバイスからクライアントアプリケーションに画像情報が送られ、デスクトップのビューまたはトークンデバイス上で動作している特別のアプリケーションが、クライアントアプリケーション内部のウインドウに現れるであろう。例えば、仮想クライアントアプリケーション内部のウインドウが、トークンデバイス上で動作する特別のアプリケーションのためのデスクトップ環境またはウインドウを表示するであろう。もしトークンデバイスが特別のアプリケーションを1つ備えるだけであるならば、そのアプリケーションが自動的に開始してよく、デスクトップを有する必要はない。しかしながら、もし複数の特別のアプリケーションまたは複数のファイルがトークンデバイス上に記憶されているならば、デスクトップはユーザにとって便利かもしれない。再び、特別のアプリケーションはトークンデバイス上で動作しているのであって、ホストコンピュータにロードされるのではないということに注意すべきである。ホストコンピュータは仮想クライアントアプリケーションを動作させるだけである。
次に、ステップ310において、特別のアプリケーションが、他の任意のコンピュータアプリケーションと同様に動作する。すなわち、ホストデバイスをインターフェースとして用いて、ユーザはそのアプリケーションと交信できる。例えば、ユーザはトークンデバイス上で動作するアプリケーションと交信するために、マウスを動かすかまたはキーボードをタイプすることができる。選択的に、ホストコンピュータのネットワーク(例えば、インターネット)接続がUSB接続を介してトンネルされて、トークンデバイスによって利用可能となってもよい。例えば、離れたサーバやプリントにアクセスするために、ネットワーク接続が利用されてよい。選択的に、安全上のリスクとも考えられるのではあるが、トークンデバイス上に置かれた追加の読み取り/書き込み ドライブを、トークンデバイスへ、そしてトークンデバイスからファイルをコピーするために利用可能としてもよい。もう1つの選択肢として、読み取り専用ドライブを、トークンデバイスからホストコンピュータへのファイル送信を可能とするために、利用可能としてもよい。もう1つの選択誌において、トークンデバイスはウェブサーバを動作させ、ウェブサーバは選択されたファイルが、ホストコンピュータによってアクセス可能な読み取り専用の方式で公開されることを可能とする。
次に図4を参照すると、ある実施形態に従う、銀行取引アプリケーションと共に利用される持ち運び可能なトークンデバイスを図示するブロック図が示されている。示されているのは銀行サーバ400、ネットワーク402、ホストコンピュータ404、トークンデバイス406、そしてインターフェース408である。
トークンデバイス406は、インターフェース408を介してホストコンピュータ404に繋がっている。ホストコンピュータ404はネットワーク402を介して(例えばインターネットや、モデムを介して直接で)銀行サーバ400と繋がっている。
典型的なブラウザから銀行取引へアクセスすることに伴う1つの問題は、それが非常に便利である一方、それは極秘(confidential)の機密(sensitive)情報へのアクセスについての、非常に安全なやり方であるとは必ずしも言えないということである。もう1つの問題は、認証されていないユーザによる、不正なパスワードを用いた総当りでの(brute force)ユーザアカウント名または番号のサンプリングにより、非常に素早くアカウントが明らかにされてしまい(非常に多くの試行の失敗によって)、そして有効なユーザが銀行取引情報にアクセスできなくなるということである。加えて、ユーザのコンピュータ上で動作するトロイの木馬プログラムによって機密情報が捕捉される可能性がある(例えば、パスワードやユーザ名)。さらにもう1つの問題は、コンピュータのローカルディスクキャッシュが機密情報を記憶するかもしれないということである。さらには、任意のコンピュータから誰でもアクセスを試みることができ、物理的デバイスやカードは必要とされない。さらにもう1つの問題は、ウェブサイトリンクはなりすましが可能であって、ユーザが彼らのアカウントにログインしようとするときに、彼らの銀行取引信用証明の漏洩を引き起こすということである。
上述の問題と、従来のオンライン銀行取引に関連する他の問題を克服するために、図4に示されるシステムを実装することができる。トークンデバイス406は、例えば、特別のアプリケーションを1つ記憶する(例えば、銀行取引アプリケーション)。トークンデバイス406のメモリには1以上のファイルが記憶されてよい。銀行は、銀行サーバへの安全なアクセスの手助けをするアプリケーションを、作成するか採用する。銀行によって作成された特別のアプリケーションは、トークンデバイス406に安全にインストールされる。好ましくは、トークンデバイスへの追加でのアプリケーションインストールは、その後はできないものとされる。しかしながら、銀行アプリケーションは選択的に、そのインストールされたソフトウェアの更新を許してよい。トークンデバイス上のアプリケーションの更新は、例えば、ここに全体としての参照により組み込まれている、2002年5月21日にCarper等に対して与えられた、「アプリケーションの、スマートカード上でのインストール/アンインストールのためのシステムと方法」とタイトルが付された、米国特許第6,390,374号において説明されている。選択的に、トークンデバイス406に直接アクセスすることは不可能となり、または、銀行が認定したアプリケーション以外の如何なるアプリケーションをもトークンデバイス上で動作させることは不可能となる。
操作において、トークンデバイス406はインターフェース408を介してホストコンピュータ404に繋がれる。例えば、トークンデバイス406はホストコンピュータのUSBインターフェースに挿入される。トークンデバイス406が挿入されると、電力がトークンデバイス406に与えられ(例えばUSBインターフェース経由で)、そしてトークンデバイスのプロセッサが動作を始める。トークンデバイスがオペレーティングシステムを含む場合には、オペレーティングシステムが起動する。1つの実施形態においては、オペレーティングシステムと銀行アプリケーションとが作動していて(up)、動作していて(running)、そしてユーザの交信を待っているような、銀行取引アプリケーションが開始する。トークンデバイス406上で2以上のアプリケーションが動作可能であるならば、デスクトップかまたは別の、アプリケーションまたはファイルを1つ選択するための方法が、ユーザには提示される。
次に、例えば、通常のUSB記憶デバイスのように見えるドライブが、ホストコンピュータのデスクトップ上に現れる。しかしながら、好ましくは、そのドライブには(削除不可能な)アプリケーションが1つだけ備わっている。選択的に、他のファイルまたはアプリケーションが、できる限りは読み取り専用ファイルとして、共通領域に記憶されてもよい。例えば前記アプリケーションのユーザマニュアルが、メモリのこの領域に記憶されていてよい。次に、例えばプログラムで、またはユーザがそのアプリケーションを選択することにより、アプリケーションが起動される。アプリケーションは、例えば前述の仮想クライアントアプリケーションのような、仮想クライアントアプリケーションとして動く。起動され次第、通常のアプリケーションウインドウがホストコンピュータ404上で開き、そしてトークンデバイス406上で動作するオペレーティング環境への仮想インターフェースを与える。例えば、仮想インターフェースは、ユーザがトークンデバイス406上で動作する銀行取引アプリケーションと交信することを可能にする。
ホストコンピュータのインターネット接続をトークンデバイス406上の銀行取引アプリケーションに接続するために、ネットワークブリッジが作成される。インターネットブリッジは、銀行取引アプリケーションがネットワーク(例えば、インターネットやローカルネットワーク)を介して銀行サーバ400と通信することを可能とする。トークンデバイス上の銀行取引アプリケーションは、例えば、離れた銀行サーバ400に直接接続するために、ネットワークブリッジを利用する。銀行取引のような、プライバシーとセキュリティが要求されるアプリケーションのために、銀行サーバ400とトークンデバイス406との間の情報の送信は、如何なる仲介者にも読み取られることのないよう、暗号化されるべきである。ホストコンピュータ404は、単にトークンデバイス406と銀行サーバ400との間の通信をルーティングするパイプとして動作する。ホストコンピュータ404は、(インテグリティが破損しない限りは)送信される情報を見ることも修正することもできない。銀行取引アプリケーションはトークンデバイス406のプロセッサ上で動作しているので、ホストコンピュータ404は暗号化されていない如何なる情報にもアクセスできない。さらには、銀行取引アプリケーションと、選択的にオペレーティングシステムとは、完全にトークンデバイス406上で動作しているのであり、それ故ホストコンピュータ404上には、動作しているアプリケーションの形跡は存在しない。選択的に、トークンデバイス406上で生体認証センサーを使えば、盗難や悪用からの有効な保護が可能となる。生体認証センサーとトークンデバイスを合体させる、1つの好ましい実施形態は、ここに全体としての参照により組み込まれている、2006年7月3日に出願された、Carper等への、「生体認証埋め込みデバイス」とタイトルが付された、米国特許仮出願第60/806,494号において説明されている。
図4のシステムは選択的に、経済取引に使用可能であり、また安全なネットワーク銀行取引のために使用可能であるトークン(例えば、スマートカード)を、銀行によって配布することを可能とする。オンラインの銀行取引システムにおいて、そのようなセキュリティは現時点では可能でない。上述された動作は典型的なものであって、より多くの、またはより少ないステップが所望のシステム動作に応じて実装されるのは当然のことである。
次に図5を参照すると、ある実施形態に従う、POS端末機と共に利用される持ち運び可能なトークンデバイスを図示するブロック図が示されている。示されているのは、バックエンド500と、ネットワーク502と、端末機504と、トークンデバイス506と、インターフェース508である。
トークンデバイス506はインターフェース508を介して端末機504に繋がれている。端末機504はネットワーク502(例えばインターネットや直接のモデム線)を介してバックエンド500に繋がれている。
典型的なPOS端末機においてはさまざまな支払方法が容認される。典型的には、磁気ストライプ、接触式スマートカード、または非接触式スマートカードが消費者に利用されている。スマートカードベースのシステムは、磁気ストライプのシステムよりもより安全だと認識されている。このことは正しいかもしれないが、多くのシステムにおける攻撃ポイントとして、端末機がしばしば見過ごされている。多くの端末機では、正常に機能するように見えて、しかしながら実際は消費者やベンダーに見られずに追加的処理を実行するような、内部ソフトウェアの修正が可能である。例えば端末機のソフトウェアは、取引情報を記録するように修正することが可能である。加えて消費者は、スクリーン上に表示されている合計が、承認を得るために提出された実際の合計であることを、(直接でも、磁気ストライプの場合に電話回線を介していても)例えスマートカードベースのモデルを使っているとしても確信することはできない。さらには、その端末機は、消費者が知らない他のカードの情報へアクセスし、それを記憶し、または使うかもしれない。
図5に示されるシステムは、これらの、そして経済取引システムに関連する他の問題を克服する。好ましくは、トークンデバイス506はスマートカードのフォームファクタに従う安全なトークンコンピュータであり、そしてインターフェース508のようなスマートカードインターフェースを利用する。端末機504(ここではPOS端末機504とも呼ばれる)は、ここにおいて説明される実施形態に従い、安全なトークンコンピュータの存在を検出するよう修正される。POS端末機504がトークンデバイス506を識別すると、POS端末機504のディスプレイの一部(図示されていない)が、ユーザに仮想インターフェースを提示するために使われる。端末機は仮想インターフェースを表示するクライアントアプリケーションを動作させている。仮想インターフェースは、トークンデバイス506上で動作している経済取引アプリケーションに関する情報を表示するために使われる。こうしてトークンデバイス506は、端末機に画像情報を送ることによって、仮想インターフェースに表示される内容を制御する。画像情報はクライアントアプリケーションによって、仮想インターフェースを更新するために使われる。POS端末機504のディスプレイの別領域において(例えば仮想インターフェースの上方に)、取引の総額が表示される。その総額はまた、メッセージの一部としてトークンデバイス504に送られてもよい。
続いてユーザは、例えばPOS端末機504上のキーパッドを用いて、その特別の取引アプリケーションと交信できる。この実施形態において、POS端末機504はホストコンピュータとして動いている。上述したことと同様に、トークンデバイスは、パスワードまたはpinを用いて、または生体認証識別を用いることによって、保護することができる。端末機504は、トークンデバイス上で動作する経済取引アプリケーションと交信するのに用いられる。次に、ユーザは通常は表示された総額を受け入れて、可能な支払方法のうち所望の方法を選択し、それから記録のためにその取引(トランザクション)を提出して送信するであろう。暗号化された通信が、その端末機が暗号化された取引情報を修正できず、または調べる(examine)ことさえもできないようにと、好ましくは利用される。
上記の操作は典型的なものであって、追加の、またはより少ないステップを用いて、説明された操作を修正することができるのは当然である。例えば、取引を認証するために、バックエンド500とトークンデバイス506との間にさまざまな通信ステップを実装することができる。
図4と図5に関連して既に説明された、銀行取引アプリケーションとPOS端末アプリケーションにおいて、さまざまな通信についての安全化手法を利用することができる。上述の実施形態に従って利用できるさまざまな通信方法とシステムのうちの幾つかは、本願は、ここに全体としての参照により組み込まれた、2006年10月20日に提出された、Carper等への、「分散的で安全な取引システム」とタイトルが付された、米国特許仮出願第60/862,381において与えられる。
次に図6を参照すると、ある実施形態に従う、仮想インターフェースアプリケーションにおいて利用されるさまざまなアプリケーションのスクリーンショットを図示するブロック図が示されている。クライアントアプリケーションウインドウ600、ワードプロセッサウインドウ602、そしてファイルビューアウインドウ604が示されている。
クライアントアプリケーションウインドウ600は、ホストコンピュータ上で動作するクライアントアプリケーションのためのグラフィカルユーザインターフェースである。ワードプロセッサウインドウ602は、トークンデバイスからホストコンピュータに送られる画像情報を表示するウインドウである。ホストコンピュータは、ワードプロセッサウインドウ602内に表示されているもののビューを更新するために、トークンデバイスから画像情報を受信するのであるが、しかしながらホストデバイスは、トークンデバイス上に記憶されたファイルまたはアプリケーションへは決してアクセスできない。トークンデバイス上で動作するワードプロセッシングアプリケーションは、以下でより詳細に説明される。
ファイルビューアウインドウ604は、トークンデバイスからホストコンピュータに送られる画像情報を表示するウインドウである。再び、ファイルビューアウインドウ604内に表示されているもののビューを交信するために、ホストコンピュータはトークンデバイスから画像情報を受信するのであるが、しかしながらホストデバイスは、トークンデバイス上に記憶されたファイルまたはアプリケーションへは決してアクセスできない。トークンデバイス上で動作するファイルビューアプリケーションは、以下でより詳細に説明される。
現在のシステムにおいては、さまざま既存技術を用いて、機密性の高い文書(大抵は暗号化されている)の配布を成し遂げることができる。しかしながら、文書が届けられたとき、受信者はそれを閲覧するために復号を行う必要がある。一旦その文書が復号されれば、それは安全でないやり方で格納されるかもしれないし、及び/または、その文書の閲覧を認められていない別の者に届けられるかもしれない。さらには、その文書の閲覧に利用されるコンピュータは、その文書のコピーをコンピュータのキャッシュ内に保持しているかもしれない。それゆえ、機密性の高い文書を閲覧、編集するとき、従来の技術には問題がある。
文書とアプリケーションへのアクセスとその配布を制御しようと試みるデジタル著作権管理(DRM:digital rights management)に関して、多くの現行モデルが存在する。特定のファイルまたはアプリケーションへのアクセスが一旦認められた時点で、ホストコンピュータのメモリを読み取って、アクセスされているファイルまたはアプリケーションを記録する、別のプログラムをホストコンピュータが実行すると、これら現行のシステムはしばしば破られる。
以下の実施形態は上記問題を解決し、そして現行のシステムにおける他の問題に取り組む。1つの実施形態において、トークンデバイスはスマートカードのフォームファクタに従い、スマートカードのインターフェースを利用する。トークンデバイスは、安全な文書を閲覧するために使われる。その文書は、トークンデバイスからホストコンピュータに送られる画像情報を用いてファイルビューアウインドウ604の中に示されるであろう。操作において、トークンデバイスはスマートカードインターフェースを介してホストデバイスに接続される。次に、トークンデバイス上のドライブ(例えば、読み取り/書き込み ドライブ)が、ホストデバイスから利用可能となる。例えば、特定のトークンデバイスのためのパブリックキーまたは共有秘密キー(shared secret)を使って暗号化されたファイルがユーザに届けられ(例えば、e−mailによって、CDまたはネットワークからのダウンロードによって)、そしてその暗号化されたファイルはそのトークンデバイスにコピーされる。
仮想インターフェースプログラム(すなわち、クライアントアプリケーション)がホストデバイス上で開始され、そしてファイルビューアウインドウ604が、クライアントアプリケーションのウインドウ内に現れる。ある実施形態において、ファイルビューアウインドウ604はユーザによって、トークンデバイス上に記憶されたファイル(例えば、暗号化されたファイル)を選択するために使われる。その暗号化されたファイルはトークンデバイスによって自動的に復号され(例えば、トークンデバイスのプライベートキーまたは共有秘密キーを用いて)、そしてファイルビューアウインドウ602内に表示される。ファイルビューアウインドウ604内に示されているものを更新するため、トークンデバイスから仮想インターフェースプログラムに画像情報が送信される。与えられている他の例と同様、ユーザはホストコンピュータ上の入力デバイス(例えば、マウスやキーボード)を使って、ファイルビューアウインドウ604と交信できる。交信の間、クライアントアプリケーションはホストデバイス上での如何なる入力(例えば、マウスとキーボードでの入力)をも記録し、そしてそれらをトークンデバイス上で動作しているファイルビューアアプリケーションへ送る。ファイルビューアアプリケーション(仮想サーバアプリケーション)はその入力を解釈し、クライアントアプリケーションへ送られる画像情報を更新する。更新された画像情報を受信すると、クライアントアプリケーションはファイルビューアウインドウ604内の画像を更新するであろう。このやり方によれば、ホストコンピュータが暗号化されたファイルを復号された状態で利用することは決してできないのであるが、しかしながら、ユーザはホストコンピュータ上の仮想インターフェースを介してそのファイルを閲覧することができる。
閲覧が完了すると、その暗号化されたファイルはトークンデバイスから除かれてよく、そして捨てられるか、または別の記憶媒体を使って保管される。そのファイルは依然として暗号化されたままであり、それゆえ不正な閲覧の心配をすることなしにそのファイルを送信し、そして格納することが可能である。
ワードプロセシングウインドウ602に話を移す。機密性、または秘密性の高い文書の作成、編集は、しばしば、機密文書を使って作業するために特別に指定されたコンピュータシステム上で実行される。しばしばコンピュータは鍵のかかった部屋に置かれており、そして正当なユーザのみがアクセスできることを確かなものとするため、非常に強いアクセスコントロールが利用される。一般に、そこまで機密性、秘密性の高い文書とは思われていない文書を扱う時であっても、人々はしばしば、彼らの経済的な情報、予定表、または連絡先リストさえも、非常に機密的だと考える。さらに、通常ファイルを編集するために利用するコンピュータ(例えば、家庭やオフィスにあるコンピュータ)から離れているときに、そのファイルを編集する必要があるかもしれない。例えば顧客を訪問しているとき、旅行しているとき、または公共のコンピュータを利用する必要があるとき、そして例えばインターネットカフェにおいて、このような事態は起こり得る。そのような状況においてユーザは、その文書に公共のコンピュータからアクセスすることを、ここにおいて述べた多くの理由から望まないかもしれないが、しかしながらそのユーザには、その文書にアクセスして編集する必要があるかもしれない。
以下の実施形態は上記の問題を解決し、現在のシステムに付随する他の問題にも取り組む。操作において、トークンデバイスはインターフェースを介してホストデバイスに接続される。トークンデバイスは例えば、USBインターフェースを用いるUSBデバイスのフォームファクタに従う。トークンデバイスをホストコンピュータのUSBスロットに挿入した後、選択的に、ホストコンピュータ上には読み取り専用ドライブが現れる。ホストデバイス上で動作するクライアントアプリケーションは、そのトークンデバイスの読み取り専用ドライブに記憶されている。上述の通り、クライアントアプリケーションは代替的に、事前にホストデバイス上に置かれていてもよいし、またはネットワーク(例えば、インターネットや無線での遠隔通信)を介してダウンロードされ、ホストコンピュータに記憶されてもよい。
次に、クライアントアプリケーションが起動し、ホストデバイス上で動作する。これによって、ホストコンピュータのディスプレイデバイス上にクライアントアプリケーションウインドウ600が現れる。クライアントアプリケーションウインドウは選択的に、トークンデバイスからの仮想化されたデスクトップインターフェースを表示することができる。代わりに、ワードプロセシングウインドウ602が即座に表示されてもよい。適切な照合(例えば、パスワードや生体認証識別)の後、ワードプロセシングアプリケーションがトークンデバイス上で動作し、そして所望のファイルが編集のために選択される。ワードプロセシングウインドウ602に示される画像を更新するために、トークンデバイスからホストデバイスへ画像情報が送られる。トークンデバイス上で動作しているワードプロセシングアプリケーションと交信するために、ユーザはホストデバイスにおける入力デバイスを使う。選択的に、トークンデバイスの一部分は、ホストコンピュータからの読み取りアクセスのために、及び/または、読み取り/書き込みアクセスのために、使用可能であってよい。加えて、ホストコンピュータにとってアクセス可能なプリンタへのアクセスを可能とする仮想クライアントアプリケーションを使っての印刷が可能である。
再び、ホストコンピュータはワードプロセシングアプリケーションを動作させているのではなく、クライアントアプリケーションを動作させているだけであるというのは当然のことである。閲覧者がワードプロセシングアプリケーションと交信することを可能とするため、クライアントアプリケーションはトークンデバイスから画像情報を受信する。
ここにおいて開示される本発明は、特定の実施形態やアプリケーションを用いて説明されてきたのであるが、本発明についての他の修正、変更、そして配置は、後に続く請求の範囲によって定義される精神と範囲の中において、本発明を実施するために特に説明されてはいなくとも、上述の教示に従って可能である。
本発明についての、上記の、そして他の態様、特徴そして利点は、以下のより詳しい説明から、より明白なものとなるだろう。その説明は以下の図面と併せて与えられている。
対応する参照文字は、図面のさまざまなビュー全体を通じて、対応する構成要素を指示する。熟練の職人ならば、図中の要素は単純さと明快さとのために図示されていること、そして縮尺どおりに描かれる必要はないということが分かるであろう。例えば、図中のいくつかの要素についての寸法、サイズ、及び/または相対的配置は、本発明のさまざまな実施形態のよりよい理解の助けとなるよう、他の要素に比べて誇張されているかもしれない。また、普及しているがよく理解されている、商業的に適した実施形態において便利であるか必須である要素は、これらさまざまな本発明実施形態をより閉塞的でなく図示するために助けとなるよう、しばしば描写されていない。また、ここで使用される用語や表現は、そこにおいて別の特定の意味が別のやり方で示されている場合を除いては、普段そのような用語や表現に、対応するそれぞれの調査、研究分野における技能を有する者によって与えられる通りの、普通の意味をもつことが理解できるであろう。
図1は、ある実施形態に従う、持ち運び可能なトークンデバイスを図示するブロック図である。 図2は、ある実施形態に従う、ホストコンピュータに繋がった持ち運び可能なトークンデバイスを図示するブロック図である。 図3は、ある実施形態に従う、ホストコンピュータと共に持ち運び可能なトークンデバイスを使用する方法を図示するフロー図である。 図4は、ある実施形態に従う、銀行取引アプリケーションと共に利用される持ち運び可能なトークンデバイスを図示するブロック図である。 図5は、ある実施形態に従う、POS端末機(point of sale terminal)と共に利用される持ち運び可能なトークンデバイスを図示するブロック図である。そして、 図6は、ある実施形態に従う、仮想インターフェースアプリケーションにおいて利用されるさまざまなアプリケーションのスクリーンショットを図示するブロック図である。

Claims (20)

  1. トークンデバイスであって、
    メモリ(106)と、
    前記トークンデバイス(202)をホストデバイス(204)に繋ぐためのインターフェース(100、204)と、
    前記メモリに繋がれたプロセッサ(104)と、
    を含み、
    前記プロセッサは前記トークンデバイスの前記メモリ内に記憶されたトークンデバイスアプリケーションを動作させ、前記プロセッサは画像情報を、インターフェースを介して前記ホストデバイスへと提供し、該画像情報は前記アプリケーションに従って画像を描画するための画像情報であり、該画像情報は前記ホストデバイスのディスプレイ上に描画するためにクライアントアプリケーションに対して送信される、トークンデバイス。
  2. 前記クライアントアプリケーションは前記ホストデバイスからの入力を受け入れ、該入力は前記トークンデバイスへ送られる、請求項1に記載のトークンデバイス。
  3. 前記メモリの読み取り専用部分を更に含む、請求項1に記載のトークンデバイス。
  4. 前記メモリの前記読み取り専用部分は前記クライアントアプリケーションを記憶する、請求項3に記載のトークンデバイス。
  5. 前記メモリの読み取り書き込み用部分を更に含む、請求項1に記載のトークンデバイス。
  6. 前記プロセッサは安全なプロセッサ(secure processor)である、請求項1に記載のトークンデバイス。
  7. 前記トークンデバイスアプリケーションは、銀行取引アプリケーション、POSアプリケーション、ワードプロセシングアプリケーション、又はファイル閲覧アプリケーションである、請求項1に記載のトークンデバイス。
  8. ディスプレイを備え、クライアントアプリケーションを動作させるホストデバイス(200)と、
    インターフェース(204)を介して前記ホストデバイスに繋がれた、トークンデバイスアプリケーションを動作させるためのプロセッサ(104)を備えるトークンデバイス(202)と、
    を含み、
    前記トークンデバイスアプリケーションは画像情報を、前記ホストデバイス上で動作する前記クライアントアプリケーションへと、前記インターフェースを介して提供し、前記クライアントアプリケーションは前記トークンデバイスから提供される前記画像情報に従って前記ホストデバイスの前記ディスプレイ上に画像を表示する、システム。
  9. ネットワーク(402)を介して前記ホストデバイスに繋がれた銀行取引サーバ(400)を更に含む、請求項8に記載のシステム。
  10. ネットワーク(502)を介して前記ホストデバイスに繋がれた経済取引バックエンド(500)を更に含む、請求項8に記載のシステム。
  11. 前記ホストデバイスは取引端末機(504)である、請求項10に記載のシステム。
  12. 前記トークンデバイスはスマートカードである、請求項11に記載のシステム。
  13. 前記ホストデバイスに繋がれた入力デバイスを更に含み、前記クライアントアプリケーションは前記ホストデバイスの該入力デバイスからの入力を受け入れ、該入力は前記トークンデバイスに送られて前記トークンデバイスアプリケーションによって解釈される、請求項8に記載のシステム。
  14. トークンデバイスの動作方法であって、
    前記トークンデバイス(202)を、インターフェース(204)を介してホストデバイス(200)に繋ぐ段階と、
    前記トークンデバイス上でトークンデバイスアプリケーションを動作させる段階と、
    画像情報を生成する段階と、
    前記画像情報を、前記インターフェースを介して前記ホストデバイスへと送る段階と、
    を含み、
    前記画像情報は前記ホストデバイス上で動作するクライアントアプリケーションによって描画される、方法。
  15. 前記トークンデバイス上のドライブを前記ホストデバイスへ公開する段階と、
    前記ホストデバイスへのダウンロードのために前記クライアントアプリケーションを前記ドライブ上に記憶する段階と、
    を更に含む、請求項14に記載の方法。
  16. メッセージを、前記ホストデバイスを介して銀行サーバ(400)へと送る段階を更に含み、前記トークンデバイスアプリケーションは銀行取引アプリケーションを含む、請求項14に記載の方法。
  17. 前記銀行サーバへの前記メッセージは暗号化されている、請求項16に記載の方法。
  18. メッセージを、前記ホストデバイスを介して経済取引バックエンド(500)へと送る段階を更に含み、前記トークンデバイスアプリケーションは経済取引アプリケーションを含む、請求項14に記載の方法。
  19. 前記ホストデバイスにおいて受信された入力に対応して前記ホストデバイスから入力情報を受信する段階を更に含む、請求項14に記載の方法。
  20. 前記入力情報を、前記トークンデバイス上で動作する前記トークンデバイスアプリケーションへ提供する段階を更に含む、請求項19に記載の方法。
JP2008540172A 2005-11-09 2006-11-09 安全な作業環境を提供する、仮想インターフェースを利用するデバイス Pending JP2009518702A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US73479305P 2005-11-09 2005-11-09
PCT/US2006/043541 WO2007056476A2 (en) 2005-11-09 2006-11-09 Device providing a secure work environment and utilizing a virtual interface

Publications (1)

Publication Number Publication Date
JP2009518702A true JP2009518702A (ja) 2009-05-07

Family

ID=38023969

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008540172A Pending JP2009518702A (ja) 2005-11-09 2006-11-09 安全な作業環境を提供する、仮想インターフェースを利用するデバイス

Country Status (7)

Country Link
US (1) US20070124536A1 (ja)
EP (1) EP1952244A2 (ja)
JP (1) JP2009518702A (ja)
KR (1) KR20080078820A (ja)
AU (1) AU2006311596A1 (ja)
CA (1) CA2629435A1 (ja)
WO (1) WO2007056476A2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013529323A (ja) * 2010-03-26 2013-07-18 クアルコム,インコーポレイテッド 可搬型内蔵式ノードコンピュータのための方法および装置

Families Citing this family (54)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080082813A1 (en) * 2000-01-06 2008-04-03 Chow David Q Portable usb device that boots a computer as a server with security measure
US8869270B2 (en) 2008-03-26 2014-10-21 Cupp Computing As System and method for implementing content and network security inside a chip
US8381297B2 (en) 2005-12-13 2013-02-19 Yoggie Security Systems Ltd. System and method for providing network security to mobile devices
US20080276302A1 (en) 2005-12-13 2008-11-06 Yoggie Security Systems Ltd. System and Method for Providing Data and Device Security Between External and Host Devices
US7516261B2 (en) * 2006-04-21 2009-04-07 Sandisk Corporation Method for U3 adapter
US7447821B2 (en) * 2006-04-21 2008-11-04 Sandisk Corporation U3 adapter
TW200824366A (en) * 2006-11-24 2008-06-01 Shi-Han Hong Portable storage device with web function
US8391921B2 (en) 2007-02-13 2013-03-05 Google Inc. Modular wireless communicator
US7970433B2 (en) 2007-06-08 2011-06-28 Modu Ltd. SD switch box in a cellular handset
US10027789B2 (en) 2007-02-13 2018-07-17 Google Llc Modular wireless communicator
IL183148A0 (en) * 2007-05-13 2007-09-20 Aivshay Ban Natan Method and device for accessing data in signage systems
US8365272B2 (en) 2007-05-30 2013-01-29 Yoggie Security Systems Ltd. System and method for providing network and computer firewall protection with dynamic address isolation to a device
CA2615645A1 (en) * 2007-08-17 2009-02-17 Telecompute Integrated Systems Inc. A portable database system for independent operation on computing device
US8898477B2 (en) * 2007-11-12 2014-11-25 Gemalto Inc. System and method for secure firmware update of a secure token having a flash memory controller and a smart card
US20090125645A1 (en) * 2007-11-12 2009-05-14 Gemalto Inc System and method for supporting multiple tokens having a smart card to control parameters of a flash memory device
US8307131B2 (en) * 2007-11-12 2012-11-06 Gemalto Sa System and method for drive resizing and partition size exchange between a flash memory controller and a smart card
US8260348B2 (en) * 2008-03-19 2012-09-04 Google Inc. Wireless communicator for laptop computers
AU2009231676B2 (en) 2008-04-02 2013-10-03 Twilio Inc. System and method for processing telephony sessions
US8837465B2 (en) 2008-04-02 2014-09-16 Twilio, Inc. System and method for processing telephony sessions
US8412226B2 (en) 2008-06-24 2013-04-02 Google Inc. Mobile phone locator
US8631488B2 (en) 2008-08-04 2014-01-14 Cupp Computing As Systems and methods for providing security services during power management mode
US9183369B2 (en) * 2008-09-26 2015-11-10 Red Hat, Inc. Thumb drive guest user
US8789202B2 (en) 2008-11-19 2014-07-22 Cupp Computing As Systems and methods for providing real time access monitoring of a removable media device
KR101224717B1 (ko) * 2008-12-26 2013-01-21 에스케이플래닛 주식회사 소프트웨어 라이센스 보호 방법과 그를 위한 시스템, 서버,단말기 및 컴퓨터로 읽을 수 있는 기록매체
US8341087B2 (en) * 2010-03-03 2012-12-25 Cassis International Pte Ltd Method for implementing and application of a secure processor stick (SPS)
EP2404412B1 (en) 2009-03-02 2019-05-01 Twilio Inc. Method and system for a multitenancy telephone network
US8573493B2 (en) * 2009-06-30 2013-11-05 Avocent Corporation Method and system for smart card virtualization
US9244699B2 (en) 2011-03-23 2016-01-26 Avocent Corporation Method and system for audio device virtualization
US9398622B2 (en) * 2011-05-23 2016-07-19 Twilio, Inc. System and method for connecting a communication to a client
US20140044123A1 (en) 2011-05-23 2014-02-13 Twilio, Inc. System and method for real time communicating with a client application
US8856262B1 (en) 2011-12-30 2014-10-07 hopTo Inc. Cloud-based image hosting
US9218107B1 (en) 2011-12-30 2015-12-22 hopTo Inc. Cloud-based text management for cross-platform display
US9367931B1 (en) 2011-12-30 2016-06-14 hopTo Inc. Motion vectors for cross-platform display
US9223534B1 (en) 2011-12-30 2015-12-29 hopTo Inc. Client side detection of motion vectors for cross-platform display
US9454617B1 (en) 2011-12-30 2016-09-27 hopTo Inc. Client rendering
US20140122879A1 (en) * 2012-03-07 2014-05-01 Darren Cummings Secure computing system
US9106612B1 (en) 2012-05-18 2015-08-11 hopTo Inc. Decomposition and recomposition for cross-platform display
US9124562B1 (en) 2012-05-18 2015-09-01 hopTo Inc. Cloud-based decomposition and recomposition for cross-platform display
US8990363B1 (en) 2012-05-18 2015-03-24 hopTo, Inc. Decomposition and recomposition for cross-platform display
US9397982B2 (en) 2012-06-28 2016-07-19 Ologn Technologies Ag Secure key storage systems, methods and apparatuses
KR20140037476A (ko) * 2012-09-19 2014-03-27 브레인즈스퀘어(주) 파일의 외부 유출 방지를 위한 시스템 및 그 방법
US9973501B2 (en) 2012-10-09 2018-05-15 Cupp Computing As Transaction security systems and methods
US9430134B1 (en) 2013-03-15 2016-08-30 hopTo Inc. Using split windows for cross-platform document views
US9250782B1 (en) 2013-03-15 2016-02-02 hopTo Inc. Using split windows for cross-platform document views
WO2015006375A1 (en) 2013-07-08 2015-01-15 Cupp Computing As Systems and methods for providing digital content marketplace security
CN104639503B (zh) * 2013-11-11 2017-12-19 国际商业机器公司 一种用于保护敏感信息的方法、装置和系统
DE102013021935A1 (de) * 2013-12-20 2015-06-25 Giesecke & Devrient Gmbh Verfahren und Vorrichtungen zum Verwenden eines Sicherheitselements mit einem mobilen Endgerät
WO2015123611A2 (en) 2014-02-13 2015-08-20 Cupp Computing As Systems and methods for providing network security using a secure digital device
US9226217B2 (en) 2014-04-17 2015-12-29 Twilio, Inc. System and method for enabling multi-modal communication
US10037528B2 (en) 2015-01-14 2018-07-31 Tactilis Sdn Bhd Biometric device utilizing finger sequence for authentication
US10395227B2 (en) 2015-01-14 2019-08-27 Tactilis Pte. Limited System and method for reconciling electronic transaction records for enhanced security
US9607189B2 (en) 2015-01-14 2017-03-28 Tactilis Sdn Bhd Smart card system comprising a card and a carrier
US10642516B2 (en) * 2015-12-30 2020-05-05 Seagate Technology Llc External hard drive device with cloud drive support
US20200327556A1 (en) * 2019-04-12 2020-10-15 Salesforce.Com, Inc. Method to accept certifications with blockchain transactions

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5844218A (en) * 1996-07-16 1998-12-01 Transaction Technology, Inc. Method and system for using an application programmable smart card for financial transactions in multiple countries
US5734154A (en) * 1996-09-03 1998-03-31 Motorola, Inc. Smart card with Iintegrated reader and visual image display
US6209104B1 (en) * 1996-12-10 2001-03-27 Reza Jalili Secure data entry and visual authentication system and method
US20020029254A1 (en) * 2000-09-06 2002-03-07 Davis Terry L. Method and system for managing personal information
IL141441A0 (en) * 2001-02-15 2002-03-10 Aharonson Dov Smart card having an optical communication circuit and a method for use thereof
US20030200447A1 (en) * 2001-08-17 2003-10-23 Lotta Almroth Identification system
US20050044385A1 (en) * 2002-09-09 2005-02-24 John Holdsworth Systems and methods for secure authentication of electronic transactions
US7395435B2 (en) * 2002-09-20 2008-07-01 Atmel Corporation Secure memory device for smart cards
US7306143B2 (en) * 2002-09-20 2007-12-11 Cubic Corporation Dynamic smart card/media imaging
US20050283633A1 (en) * 2004-06-18 2005-12-22 Ron Kozenitzky Method and system for securing a device
US7451921B2 (en) * 2004-09-01 2008-11-18 Eric Morgan Dowling Methods, smart cards, and systems for providing portable computer, VoIP, and application services

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013529323A (ja) * 2010-03-26 2013-07-18 クアルコム,インコーポレイテッド 可搬型内蔵式ノードコンピュータのための方法および装置
JP2015146213A (ja) * 2010-03-26 2015-08-13 クアルコム,インコーポレイテッド 可搬型内蔵式ノードコンピュータのための方法および装置
US9274815B2 (en) 2010-03-26 2016-03-01 Qualcomm Incorporated Method and apparatus for portable self-contained node computer

Also Published As

Publication number Publication date
WO2007056476A3 (en) 2009-04-23
US20070124536A1 (en) 2007-05-31
WO2007056476A2 (en) 2007-05-18
EP1952244A2 (en) 2008-08-06
AU2006311596A1 (en) 2007-05-18
KR20080078820A (ko) 2008-08-28
CA2629435A1 (en) 2007-05-18

Similar Documents

Publication Publication Date Title
JP2009518702A (ja) 安全な作業環境を提供する、仮想インターフェースを利用するデバイス
US8510572B2 (en) Remote access system, gateway, client device, program, and storage medium
US6986030B2 (en) Portable memory device includes software program for interacting with host computing device to provide a customized configuration for the program
US7606733B2 (en) Account portability for computing
US8156331B2 (en) Information transfer
CN102469080B (zh) 实现通行证用户安全登录应用客户端的方法和系统
US8055905B2 (en) Graphical password authentication based on pixel differences
US20020162009A1 (en) Privacy assurance for portable computing
US20140013391A1 (en) Methods and systems for internet security via virtual software
US20020145632A1 (en) Portable interface for computing
US20020143637A1 (en) Shopping cart portability for computing
JP2009521763A (ja) コンピュータセッション管理装置およびシステム
CN103109510A (zh) 一种资源安全访问方法及装置
JP2003005859A (ja) プログラムやデータの管理方法とコンピュータ
JP6511161B2 (ja) データファイルの保護
JP2002318788A (ja) ネットワーク端末
US8850563B2 (en) Portable computer accounts
KR100440037B1 (ko) 문서보안 시스템
US20060129828A1 (en) Method which is able to centralize the administration of the user registered information across networks
US8218765B2 (en) Information system
JP5372843B2 (ja) コンテンツ利用装置及びプログラム
JP2007122407A (ja) 本人確認装置
JP2003337705A (ja) インターネットを利用したソフトウェア配送システムおよびその方法
Quarisa An inexpensive hardware-based identification system for improved computer security
JP2006039639A (ja) 情報処理端末利用装置、アプリケーション搭載方法、アプリケーション搭載プログラム及びアプリケーション搭載プログラムが記憶された記憶媒体