JP5534520B2 - スマートカードにブラウザベースでアクセスするシステムおよび方法 - Google Patents

スマートカードにブラウザベースでアクセスするシステムおよび方法 Download PDF

Info

Publication number
JP5534520B2
JP5534520B2 JP2010522349A JP2010522349A JP5534520B2 JP 5534520 B2 JP5534520 B2 JP 5534520B2 JP 2010522349 A JP2010522349 A JP 2010522349A JP 2010522349 A JP2010522349 A JP 2010522349A JP 5534520 B2 JP5534520 B2 JP 5534520B2
Authority
JP
Japan
Prior art keywords
smart card
host computer
browser
resource manager
response
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.)
Active
Application number
JP2010522349A
Other languages
English (en)
Other versions
JP2010537340A (ja
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 JP2010537340A publication Critical patent/JP2010537340A/ja
Application granted granted Critical
Publication of JP5534520B2 publication Critical patent/JP5534520B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • G06F21/34User authentication involving the use of external additional devices, e.g. dongles or smart cards
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/958Organisation or management of web site content, e.g. publishing, maintaining pages or automatic linking
    • G06F16/986Document structures and storage, e.g. HTML extensions
    • 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/33User authentication using certificates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/468Specific access rights for resources, e.g. using capability register
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2119Authenticating web pages, e.g. with suspicious links

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Information Transfer Between Computers (AREA)
  • Stored Programmes (AREA)

Description

本発明は、概して、スマートカードへのアプリケーションプログラムのアクセスに関し、より詳細には、ウェブブラウザで実行するユーザアプリケーションがスマートカードの機能およびデータにアクセスできるシステムおよび方法に関する。
スマートカードは、入出力装置がない小型の安全なパーソナルコンピュータである。スマートカード用の典型的なアプリケーションは、プライベートデータを記憶するユーザ認証を含み、電子財布として使用する。これらのアプリケーションや他のアプリケーションでは、スマートカードと対話する通常モードは、スマートカードが接続されるホストコンピュータ上で実行するホストアプリケーションからのモードである。
スマートカードベースの公開鍵基盤の機能へのホストアプリケーションのアクセスは、例えば、典型的には、アプリケーションプログラムから呼び出し可能なアプリケーションプログラムインタフェースを提供するミドルウェアをインストールすることで達成される。次に、ミドルウェアは、典型的にはある形態のリーダを介してスマートカードのハードウェアとの対話を実行する。一般に利用可能なアーキテクチャは、PC/SCワークグループからのPC/SC仕様に基づく。図1は、PC/SC仕様の実装のハイレベルのブロック図である。ホストコンピュータ103上で実行するスマートカード認識アプリケーション101は、ホストコンピュータミドルウェア105とスマートカードリソースマネージャ107を介してスマートカード104のaからdにアクセスする。スマートカードリソースマネージャ107は、次に、ホストコンピュータ103が接続されている種々のカードリーダ111aから111dのドライバ109aから109dと対話する。
このアーキテクチャには、スマートカードのデプロイメントに関して複数の問題がある。これらの問題は、ミドルウェアコンポーネントをホストコンピュータにロードし、ミドルウェアコンポーネントに対して更新を行わなければならないという要件があることである。これは、スマートカードがウェブベースのアプリケーションと共に使用される時には特に望ましくない要件となる。
ますます、ウェブアプリケーションは一般的になってきたので、インターネット経由で利用可能なデータやサービスへのプラットフォーム独立のアクセスが可能である。例えば、オンライン映画レンタルやウェブベースの電子メールアプリケーションなどのウェブサービスが非常に普及してきた。ウェブ接続されたコンピュータをほぼユビキタスにデプロイメントし、ウェブベースのアプリケーションを幅広く適用する利点の1つは、このような解決策によりユーザがユーザ自身のコンピュータに対する仮想範囲から抜け出せることにある。例えば、GoogleのGメールなどのウェブベースの電子メールサービスを使用して、これらのサービスの加入者はウェブに接続されている任意のコンピュータから電子メールにアクセスできる。
ここで、ウェブベース環境にスマートカードを追加することを考察する。ユーザが、例えば、パスワード、アカウント情報またはデジタル証明などを記憶するため、または特定のセキュリティ機能、例えば、暗号化サービスを実行するためのスマートカードを有し、ユーザがユーザ所有のコンピュータ以外のコンピュータ上でウェブベースのあるトランザクションを実行しながら、スマートカードを使用するのを望む場合、ユーザはユーザが使用したい特定のホストコンピュータ103上にホストコンピュータミドルウェア105と、場合により、適切なIFDドライバ109をインストールしなければならなくなる。ホストコンピュータの所有者は、ミドルウェアソフトウェアをインストールするのに十分なユーザ権限を許可しなかった可能性がある。さらに、所有者は、このようなミドルウェアソフトウェアがコンピュータにインストールされるのを望まない可能性がある、または当該コンピュータがパブリックコンピュータである場合、例えば空港の売店や図書館にあるコンピュータである場合、ミドルウェアコンポーネントをインストールする権限を与えられている人でも利用できない可能性もある。この問題は、ユーザがスマートカードを使用する妨げになる。それは、セキュリティソリューションのスマートカードは、機密保持が特に高重要度である環境を条件とするからである。同様に、ミドルウェアを更新する際にも、類似の問題がある。
さらに問題なのは、ウェブブラウザがミドルウェアに対するインタフェースを暴露する方法である。人気のあるウェブブラウザ、例えば、Firefox、Internet Explorerは、ミドルウェアに対するさまざまなインタフェースを備えるので、このようなミドルウェアに依存するウェブアプリケーションは、ウェブブラウザ認識アプリケーションである必要がある。つまり、ウェブアプリケーションは、各ウェブブラウザに固有に開発されなければならない、またはどのウェブブラウザが使用中であるか、どのウェブブラウザが適切なミドルウェアに対応する機能があるのかを判断するための内部チェックを行わなければならない。
これらの問題は、非常に不利である。ウェブは、広く使用されている多くのタイプのトランザクションの仮想市場となっているが、同時に、プライベートアカウントの不正使用、個人情報窃盗、プライベートデータの窃盗などのセキュリティ問題を招く傾向がある。スマートカードは、このような問題に対処するのに理想的に適している。例えば、スマートカードは、ユーザの証明書を安全に記憶するのに使用され、ログインプロセスに不可欠なコンポーネントとして使用されて、二要素認証を行うことができる。しかしながら、ユーザがウェブサービスにアクセスする際に使用したいホストコンピュータにミドルウェアをインストールしなければならないことで、スマートカードを上述のように使用する際に効果的に使用するのを妨げてしまう。
スマートカードは、有利には、暗号化サービスと共に使用されてもよい。このようなスマートカードはユーザの秘密鍵およびデジタル証明を記憶するのに使用される場合がある。さらに、スマートカードは、例えば、メッセージを暗号化する、メッセージを復号化する、ユーザのログインを行う、ユーザの秘密鍵を使用して文書にデジタル署名するなどの暗号化操作を実行するのに使用される場合もある。スマートカードのデプロイメントに関する上述の問題は、暗号装置としてスマートカードを使用する際にはさらに大きな問題となる。
ハードウェアのトークンおよびソフトウェアセキュリティ装置もさまざまなインタフェースを有し、さまざまなプロトコルを使用するので、業界は、ハードウェアの区別なしに、証明書を記憶し証明書にアクセスする、データに署名する、またはデータを暗号化するなど暗号化機能にアクセスするための仕様書の作成に取り組んできた。このハードウェアの区別のなく暗号化機能にアクセスするのに、競合する2つの主な標準規格、Crypto API(CAPI)とPKCS#11とがある。これら2つの標準規格は、さまざまなオペレーティングシステムのプラットフォームやウェブブラウザに広く関連付けられている。CAPIはMicrosoft Corporation(Redmond、Washington)のWindows(登録商標)のオペレーティングシステムで使用される標準規格で、Windows(登録商標)のオペレーティングシステムの標準的な機能として提供されている。これは、MicrosoftのInternet Explorerに対して実装される暗号化規格である。RSA Laboratoriesにより開発されたPKCS#11は、複数のデスクトップのオペレーティングシステムで利用可能であり、Mozilla FoundationのFirefoxウェブブラウザ経由でネイティブに利用できる。これら2つのアプローチには、類似点も相違点もある。
スマートカードを使用して暗号化サービスを提供する従来のアプローチでは、開発者が、電子メールクライアントやデスクトップログインまたはVirtual Private Network(VPN)などの他のアプリケーションにプラグインとしてインストールされるCAPIかPKCS#11かのいずれかのためのホストモジュールを開発するものであった。これらのモジュールは、基本のオペレーティングシステム設定の一部ではない。
上述の内容から、ウェブアプリケーションがスマートカードにアクセスするための改良方法が必要であることは明らかである。
PC/SC仕様の実装のハイレベルのブロック図である。 図1のスマートカードのアーキテクチャのハイレベルのブロック図である。 ウェブブラウザアプリケーションがスマートカードと対話する一実施形態を示すブロック図である。 スマートカードリソースマネージャウェブブラウザアプリケーションインタフェースプログラムが2つの部分、スマートカードリソースマネージャラッパウェブブラウザ拡張機能とスマートカードアプリケーションインタフェーススクリプトモジュールとに分割される、スマートカードリソースマネージャウェブブラウザアプリケーションインタフェースプログラムの一実施形態を示すブロック図である。 ユーザがウェブページの実行を試みようとする可能性のあるネットワークの概略図である。 スマートカードと通信するためのSConnect.PCSCクラスのインスタンス化およびその使用を示すブロック図である。 ユーザがスマートカードの使用が必要なウェブアプリケーションの実行を試みる時のメッセージフローを示すタイミングシーケンス図である。 スマートカードに対して非同期コマンドを作成する時に発生するメッセージフローおよびそのタイミングを示すタイミングシーケンス図である。 リモートコンピュータシステムで実行するリモートサーバからカード固有ドライバを取得するためのシーケンスを示すタイミングシーケンス図である。 リモートコンピュータシステムで実行するリモートサーバからカード固有ドライバを取得するためのシーケンスを示すタイミングシーケンス図である。 プロセスフローを示すタイミングシーケンス図である。 ユーザがウェブサイトからダウンロードされたジャバスクリプトを使用してスマートカードと対話するウェブサイトを承認または非承認することができるユーザダイアログウィンドウの一例を示す図である。 ユーザがウェブサイトからダウンロードされたジャバスクリプトを使用してスマートカードと対話することが許可された、または許可されていないウェブサイトのリストを管理することができるユーザダイアログウィンドウの一例を示す図である。 ウェブサイトからダウンロードされたジャバスクリプトを使用してウェブサイトにスマートカードと対話することを許可または許可しないプロセスフローを示すタイミングシーケンス図である。
以下の詳細な説明では、例として本発明が実施可能な特定の実施形態を示す添付の図面を参照する。これらの実施形態は、当業者が本発明を実施することができるように十分詳細に説明されている。本発明の種々の実施形態は、異なるけれども、必ずしも互いに排他的であるとは限らないことは理解されたい。例えば、1つの実施形態に関して本明細書で説明される特定の機能、構造、または特性は、本発明の精神および範囲から逸脱せずに、他の実施形態の中で実装されてもよい。さらに、各々の開示された実施形態の中の個々の要素の配置や構成は、本発明の精神および範囲から逸脱せずに、変更してもよいことは理解されたい。したがって、以下の詳細な説明は、限定的な意味で解釈されるべきではなく、本発明の範囲は添付の請求項によってのみ定義され、請求項が適用される全ての範囲の等価物と共に適切に解釈されるべきである。図面内では、複数の図にわたって同じ符号は同じまたは類似の機能性を指すものである。
本発明の一実施形態では、ウェブブラウザの拡張機能は、ほとんどのコンピュータで見られるウェブブラウザアプリケーションとスマートカードリソースマネージャ(PC/SC)との間のインタフェースを提供する。ウェブブラウザ拡張機能は、ウェブブラウザアプリケーションをスマートカードリソースマネージャから隔離する。さらに、ウェブブラウザ拡張機能は、スマートカードリソースマネージャを介して、ウェブブラウザアプリケーションと、ウェブブラウザがその中のウェブブラウザ拡張機能を実行中であるホストコンピュータ103に接続されたスマートカードとの間の通信パイプを提供する。
図3は、ウェブブラウザアプリケーションA300aがスマートカードA104aと対話する一実施形態を示すブロック図である。先行技術の例では、各々のタイプのスマートカード104はスマートカードのタイプに固有のドライバを使用する。図3の実施形態では、好適な実施形態では、そのカード固有ドライバはスクリプトモジュール301として実装されている。カード固有ドライバ301がまだロードされていない場合、図9に関連して以下で説明するように、例えば、オンデマンドのJava(登録商標)Scriptとして知られている技術を使用してロードされる。
カード固有ドライバ301は、スマートカードリソースマネージャウェブブラウザアプリケーションインタフェースプログラム303を介してスマートカード104aと通信する。スマートカードリソースマネージャウェブブラウザアプリケーションインタフェースプログラム303は、スマートカードリソースマネージャ107上でラッパとして機能するウェブブラウザスクリプト、例えば、Java(登録商標)Scriptスクリプトと組み合わされたウェブブラウザ拡張機能である。
スマートカードリソースマネージャウェブブラウザアプリケーションインタフェースプログラム303は、ウェブアプリケーションが標準的なスマートカード104と通信できるようにする接続技術を提供する。ホスト(PC)アプリケーションは、ホストオペレーティングシステム内のPC/SCと呼ばれる専用の通信層を介してスマートカード104に接続する。同様に、スマートカード104と通信できるウェブページまたはアプリケーションのコンポーネントは、組み込みスクリプト、典型的にはJava(登録商標)Scriptである。ウェブブラウザに直接組み込まれるか、またはプラグインを介して間接的に組み込まれない限り、ウェブページ内のスクリプトはホストマシンのハードウェアと通信できない。スマートカードリソースマネージャウェブブラウザアプリケーションインタフェースプログラム303は、このような機能性を提供する従来のウェブブラウザの技術を使用する標準的なホスト通信フレームワークを使用して、ホストがウェブブラウザでウェブページを表示する際にこのウェブページ内のJava(登録商標)Scriptとスマートカード104との間の通信チャネルを可能にする。スマートカードリソースマネージャウェブブラウザアプリケーションインタフェースプログラム303は、ウェブアプリケーションにスマートカードの接続性を提供するこの技術を梃子にして開発者の習熟曲線を最小化するように、ウェブブラウザ独立型であり、従来のスマートカード通信APIを提供する。概念的には、スマートカードリソースマネージャウェブブラウザアプリケーションインタフェースプログラム303は、AJAXウェブアプリケーション開発を可能にするXmlHttpRequestオブジェクトと同様の振る舞いの接続性を提供する。XmlHttpRequestはJava(登録商標)Scriptとサーバとの間の接続性を提供するが、スマートカードリソースマネージャウェブブラウザアプリケーションインタフェースプログラム303はアプリケーションJava(登録商標)Script、すなわち、ウェブブラウザアプリケーション101とスマートカード104との間の接続性を提供する。
図4は、スマートカードリソースマネージャウェブブラウザアプリケーションインタフェースプログラム303が2つの部分、スマートカードリソースマネージャラッパウェブブラウザ拡張機能401とスマートカードアプリケーションインタフェーススクリプトモジュール403とに分割される、スマートカードリソースマネージャウェブブラウザアプリケーションインタフェースプログラム303の一実施形態を示すブロック図である。
スマートカードリソースマネージャラッパウェブブラウザ拡張機能401は、ウェブブラウザのデフォルト機能を強化して、PC/SC実装のチャネルを作成するプログラムである。各ウェブブラウザ203(例えば、Mozilla FoundationのFirefox、MicrosoftのInternet Explorer、Apple Inc.,(Cupertino、California)のSafari、Opera Software ASA(Oslo、Norway)のOpera)は、自身の所定の拡張機能作成手段を有する。したがって、対応するスマートカードリソースマネージャラッパウェブブラウザ拡張機能401は、各々のサポートされたウェブブラウザに使用可能である。拡張機能は、Java(登録商標)Scriptを介してアクセス可能である。
上述したように、ウェブブラウザには拡張機能を書き込むさまざまな方法があり、場合によっては、対話するさまざまな方法がある。開発者に製造環境を提供するために、開発者から全てのウェブブラウザ依存コードを隠すライブラリスクリプトは、スマートカードアプリケーションインタフェーススクリプトモジュール403を介して利用可能になる。スマートカードアプリケーションインタフェーススクリプトモジュール403は、ウェブブラウザが書き込まれる拡張機能を除外して対話する一意の方法からアプリケーションプログラム101を隔離するPC/SC層に対するオブジェクト指向インタフェースを提供する。
表1は、スマートカード104にアクセスするウェブブラウザアプリケーション101の一例である。表1の例では、
Figure 0005534520
表1 スマートカードリソースマネージャラッパ.jsを使用する基本のウェブアプリケーション用のコード
表1のコードは、スクリプト(Java(登録商標)Script)を実行する基本のウェブページであり、APDUを送信することによりスマートカードと通信する。表1のコードは、スマートカードアプリケーションインタフェーススクリプトモジュール403をロードすることから始まる(この例では、スマートカードアプリケーションインタフェーススクリプトモジュール403は、SConnect.jsと呼ばれる)。アプリケーションインタフェースモジュール403、すなわち、以下のステートメント
Figure 0005534520
によるウェブページの開始時に含められるsconnect.jsスクリプトライブラリは、ウェブブラウザ依存のコードを処理する。したがって、ウェブ開発者はスマートカードとの対話ロジックに自由に焦点を合わせることができる。
スマートカードアプリケーションインタフェーススクリプトモジュール403は、ウェブブラウザのセッションにすでにロードされているか、またはユーザが対話するリモートサーバサイトからロードされる場合がある。
アプリケーションプログラム300は、典型的には、SConnect.PCSCクラスのオブジェクトを作成することから始まる。オブジェクトを作成するコンストラクタ(コンストラクタは、オブジェクトが作成される時に実行されるクラス内の特定の命令ブロックである)は、ウェブブラウザ固有のスマートカードリソースマネージャラッパウェブブラウザ拡張機能401がインストールされている場合はそのインスタンスを作成する。インストールされていない場合、コンストラクタは、System.BrowserExtensionNotInstalledExceptionをスローする。オブジェクトの作成がうまくいくと、スマートカードリソースマネージャラッパウェブブラウザ拡張機能401内のestablishContext(PC/AC APIのSCardEstablishContextに相当する)に対する呼び出しを終了する。以下の行は、SConnect.PCSCクラスのオブジェクトの作成の方法を示す。
Figure 0005534520
一方、System.BrowserExtensionNotInstalledExceptionが<script...>のコマンドによってスローされる場合、ウェブアプリケーションを実行するユーザはリモートサーバからスマートカードリソースマネージャラッパ.js303をインストールするようにインバイトされる。
したがって、呼び出し
Figure 0005534520
は、新規オブジェクト−pcscを作成する。pcscオブジェクトは、ウェブブラウザアプリケーションプログラム300から呼び出し可能なメソッドを有する。これらのメソッドは、スマートカードアプリケーションインタフェーススクリプトモジュール403内に対応する部分があり、またスマートカードリソースマネージャ(PC/SC)107内に対応する関数がある。したがって、スマートカードリソースマネージャラッパウェブブラウザ拡張機能401は、ウェブブラウザアプリケーションプログラム300により呼び出し可能なスマートカードリソースマネージャ(PC/SC)107に対するオブジェクト指向インタフェースを提供する。
図5は、ユーザ501がウェブページの実行を試みるネットワークの概略図である。ユーザ501は、ホストコンピュータ103上でウィンドウ503を表示するウェブブラウザ203を操作している。ユーザは、おそらくネットワーク509を介してある形式のオンライントランザクションを実行するためにリモートコンピュータシステム507上で実行するリモートウェブサーバ505と対話することを望む。トランザクションを保証するために、ユーザ501はインタフェースデバイス111を介してホストコンピュータ103に接続されたスマートカード104を使用する。
ウェブブラウザのセッションの一部として、スマートカードリソースマネージャラッパウェブブラウザ拡張機能401がすでにインストールされていてもよい。1つの代替の実施形態では、スマートカードリソースマネージャラッパウェブブラウザ拡張機能401はウェブブラウザ203にインストールされていない。スマートカードリソースマネージャラッパウェブブラウザ拡張機能401がすでにインストールされている場合は、ユーザはスマートカードリソースマネージャラッパウェブブラウザ拡張機能401をインストールするように指示されない。一方、スマートカードリソースマネージャラッパウェブブラウザ拡張機能401がインストールされていない場合は、ユーザ501はリモートサーバシステム513上で実行するサーバ(例えば、www.sconnect.com)511からスマートカードリソースマネージャラッパウェブブラウザ拡張機能401をロードするようにインバイトされる。あるいは、ユーザ501により実行されているウェブページのプロバイダが、プロバイダにより操作されるウェブサイトからスマートカードリソースマネージャラッパウェブブラウザ拡張機能401を提供してもよい。
ホストコンピュータ103は、それに取り付けられた多くのスマートカードリーダ111を有することができるので、スマートカードリソースマネージャウェブブラウザアプリケーションインタフェースプログラム303は、listReaders(readersWithCard)関数を使用して、リーダをリストアップする方法を提供する。引数値「true」を指定することで、スマートカードが挿入されているこれらのリーダのみをリストアップし、それ以外の全てのリーダの名前が返される。
Figure 0005534520
pcscオブジェクトのlistReadersメソッドにおけるこの呼び出しは、スマートカードリソースマネージャラッパウェブブラウザ拡張機能401内の対応する関数、例えば、スマートカードリソースマネージャ(PC/SC)107のSCardListCards()関数を呼び出すPCSC−SCardListReadersと呼ばれる関数における呼び出しを発生させる。
次のステップは、名前、接続モード(共有、専用、または相互)、プロトコル識別子(T0またはT1)を指定するリーダ111に接続することである。trueの返り値は、作成が成功したことを示す。
Figure 0005534520
この時点で、ウェブブラウザ203はリーダに、またリーダを介してスマートカード101にコマンドを送信できる状態にあり、リーダへの接続がうまくなされたことになる。一実施形態では、コマンドはISO−7816APDU形式で送信される。PC/SCでは、これはSCardTransmit APIを使用して行われる。一実施形態では、スマートカードリソースマネージャラッパ拡張機能303は、この送信を行うためにAPI transmit(command)を提供する。
Figure 0005534520
スマートカード104との典型的な対話では、応答は状態語および状態データである。状態語は、ほとんどの場合、意味がホストアプリケーションによって解釈可能な2バイト値であるが、特定の状態語はISO7816−4によって標準化され、指定される。
Figure 0005534520
1つの状態語は、61XXである。XXは、GetResponseコマンド(00C00000XX)を使用してホストアプリケーションにより取り出されるバイト数を表わす。取り出し動作のシーケンスはGetResponseコマンドを使用して応答データを取り出さなければならないことが多いので、一実施形態は、全てのデータが取り出されるまでGetResponseコマンドのシーケンスを実行するためのexchangeAPDUメソッドを含む。
Figure 0005534520
最後に、アプリケーション101はリーダ111を外し、SConnect.PCSCクラスのdisposeメソッドを呼び出すことによってリソースを解除する。PC/SCでは、(SCardDisconnect APIを使用して)スマートカードを外す時に、外す前にスマートカードに取り込まれるアクションを指定する配置モードが指定することができる。これらのアクションの例は、LeaveCard、ResetCard、UnpowerCard、EjectCardである。disconnect関数が使用されない場合、disposeメソッドがLeaveCardアクションを使用してスマートカードを外す。
Figure 0005534520
図6は、スマートカードと通信するためのSConnect.PCSCクラスのインスタンス化およびその使用を示すブロック図である。ウェブブラウザアプリケーションが「pcsc=new SConnect.PCSC」命令を実行する時、SConnect.PCSCクラスのインスタンス601がインスタンス化される。オブジェクト601は、少なくとも1つの引数を有するメソッドtransmit603を含む。典型的には、これは、SConnect.PCSCクラスからの継承によるものである。引数は、スマートカード104に送信されるべきAPDUメッセージである。
ウェブブラウザアプリケーション300は、PCSCオブジェクト601のtransmit()メソッド603における呼び出しである少なくとも1つの命令605を含んでもよく、その命令の実行はpcscオブジェクト601、スマートカード104に送信されるべき特定のAPDU引数を有するメッセージ601のtransmitメソッドにおける呼び出しを発生させる。
SConnect.PCSCクラス定義は、transmitメソッドがPCSC_transmit関数に対する呼び出しの命令609を発生させることを提供する。PCSC_transmit関数は、スマートカードリソースマネージャラッパウェブブラウザ拡張機能401の関数である。したがって、PCSC_transmit関数に対する関数呼び出しの命令609の実行は、スマートカード104に送信されているAPDUを伝える関数呼び出し611を発生させる。
スマートカードリソースマネージャラッパウェブブラウザ拡張機能401のPCSC_transmit関数の実装は、スマートカードリソースマネージャ(PC/SC)107のSCardTransmit関数を呼び出す命令613を含む。その命令の実行は、スマートカードリソースマネージャ(PC/SC)107に対応する関数呼び出し615を発生させる。
スマートカードリソースマネージャ(PC/SC)107のSCardTransmit関数は、その引数リストを使用して受信されたAPDUのスマートカード104への送信を発生させる。
スマートカードリソースマネージャラッパウェブブラウザ拡張機能401がインストールされている場合、スマートカードリソースマネージャ107により検出されたスマートカード挿入イベントはスマートカードリソースマネージャラッパウェブブラウザ拡張機能401に送信される。スマートカード104の挿入の検出時に、またはユーザ501が認証されていないスマートカード104の使用を試みる時に、ユーザ501は自身の認証を成功させる必要がある。したがって、スマートカードリソースマネージャラッパ拡張機能303が呼び出しているウェブブラウザアプリケーション300にスマートカード104が挿入されたことを伝えて、ウェブブラウザアプリケーション300がスマートカードリソースマネージャラッパウェブブラウザ拡張機能401内の関数の呼び出しを試みる時に、スマートカード104またはスマートカードリソースマネージャ(PC/SC)107は、ユーザが認証された、または認証されていないという表示を返す。この最後のイベントでは、ウェブブラウザアプリケーション300はログイン画面を表示して、ユーザ501にスマートカード104に対してログインするメカニズムを提供することができる。
図7は、ユーザ501がスマートカード104の使用が必要なウェブアプリケーションの実行を試みる時のメッセージフローを示すタイミングシーケンス図である。ユーザ501はウェブブラウザ203をホストコンピュータ103上で実行する。ユーザ501がリモートサーバ505上のウェブアプリケーションへのアクセスを試みる(ステップ701)。ウェブアプリケーションに対応するウェブページがウェブブラウザ203に送信される。ウェブアプリケーションは、スマートカードリソースマネージャラッパ拡張機能303のスクリプトに対する呼び出しを含む。スマートカードリソースマネージャラッパ拡張機能303がウェブブラウザ203にインストールされている場合(ステップ705)、スマートカード104との通信が開始する(ステップ707)。
一方、スマートカードリソースマネージャラッパウェブブラウザ拡張機能401がインストールされていない場合、ユーザ501はスマートカードリソースマネージャラッパウェブブラウザ拡張機能401を(必要に応じて)ダウンロードし、インストールするように指示される(ステップ708)。これは、典型的には、ユーザ501に、サーバ511からのスマートカードリソースマネージャラッパウェブブラウザ拡張機能401の要求を発生させるリンクにクリックさせることで行われ、サーバ511からスマートカードリソースマネージャラッパウェブブラウザ拡張機能401がロードされ得る(ステップ709)。それに応答して、サーバ511はスマートカードリソースマネージャラッパウェブブラウザ拡張機能401を返し(ステップ711)、スマートカードリソースマネージャラッパウェブブラウザ拡張機能401がウェブブラウザ203にロードされる(ステップ713)。スマートカード104との通信が発生する(ステップ707)。
ウェブブラウザアプリケーションは、典型的には、1つのスレッドで実行する。スレッドは、他のスレッドと並行して実行できる命令の1つのシーケンスであるが、その中の命令は互いに連続した命令である。典型的には、スマートカード104との対話は、比較的時間がかかる。この遅延のために、アプリケーションの命令が1つのスレッドで実行している時に、スマートカード104に接続するコマンドか、スマートカード104に発行されたコマンドのいずれかが、ウェブブラウザ203のセッションがロックされたようになる不快なユーザ501体験につながる可能性がある。より改善されたアプローチは、ユーザ501がウェブページと対話を続けることができるようにする、またはある状態情報、例えば、状態進捗バーを表示できるようにすることである。
一実施形態では、スマートカード104に接続する操作またはスマートカード104と通信するコマンドは、非同期的に行われる。表IIは、スマートカード104に対するコマンドの非同期的な送信を示すコードセグメントである。
Figure 0005534520
表II スマートカードコマンドの非同期的な実行のコード
非同期コマンドの作成を行うために、スマートカードリソースマネージャラッパウェブブラウザ拡張機能401は、スマートカードリソースマネージャ(PC/SC)107によるコマンドの実行の終了時にコールバックを提供する関数を含む。したがって、スマートカードリソースマネージャラッパウェブブラウザ拡張機能401は、async_transmit関数を提供する。その第1の引数はホストコンピュータ103からの送信のためのAPDUパケットであり、第2の引数はコマンドから返される時に呼び出される関数である。「コールバック」関数は、典型的には、スマートカード104またはスマートカードリソースマネージャ(PC/SC)107によるコマンドの実行から得られた結果に従って取り込まれるいくつかのアクションを指定する。
図8は、スマートカード104に対して非同期コマンドを作成する時に発生するメッセージフローおよびそのタイミングを示すタイミングシーケンス図である。この例では、アプリケーション101を表IIのコードと見なす。ホストコンピュータ103はRunDemo関数を実行している(位置801)。ホストコンピュータ103がpcsc.async_transmit関数に出会うと、ホストコンピュータ103はスマートカードリソースマネージャラッパウェブブラウザ拡張機能401に制御を転送する(遷移803)。pcsc.async_transmit関数が、新規スレッドでtransmit()呼び出し805をスマートカードリソースマネージャ107に発行する。アプリケーション101は、呼び出しの後、実行を継続する(807)。pcsc.async_transmitに対する呼び出しにより生じた新規スレッドで、スマートカードリソースマネージャ107はifd111(図示せず)に、最終的にはスマートカード104にコマンドを送信する(ステップ809)。これらの対話はスマートカードリソースマネージャ107とスマートカード104との間で発生するが、アプリケーション101は元のスレッドで実行を継続する(811)。
接続を試みた後のある時点で、スマートカード104は応答し(813)、スマートカードリソースマネージャ107は、スマートカードリソースマネージャラッパウェブブラウザ拡張機能401のasync_transmit()関数に対する返り値を使用してアプリケーション101に状態を返す(ステップ815および817)。「コールバック」関数が第2のスレッドからの返り値で呼び出されることを指定するasync_transmit()関数に対する第2の引数により、ホストコンピュータ103はアプリケーション101のcallback()関数に制御を転送する(ステップ819)。
非常に似た非同期的メカニズムがスマートカード104への接続を確立する際に採用される場合がある。主な違いは接続するためのメカニズムであるという点であるので、異なるコマンドが使用される。
上述したように、特定のスマートカード104のカード固有ドライバ301がまだインストールされていない場合、新しいスマートカード104を検出する際にスマートカードリソースマネージャラッパ拡張機能303はリモートサーバから取得されたカード固有ドライバ301を実行させる。図9aおよび図9bは、リモートコンピュータシステム513で実行するリモートサーバ511からカード固有ドライバ301を取得するためのシーケンスを示すタイミングシーケンス図である。カード固有ドライバ301がロードされていない場合、リモートサーバ511が当該カードに利用可能なカード固有ドライバ301を有するのであれば、リモートサーバ511から正確なカード固有ドライバ301をダウンロードするためにブートストラップスクリプト900が実行される。
スマートカード104は、物理的にホストコンピュータ103に接続される(ステップ901)。これがスマートカードリソースマネージャ107により検出されたスマートカード挿入イベントをトリガする(ステップ903)。スマートカードリソースマネージャ(PC/SC)107は、スマートカードリソースマネージャウェブブラウザアプリケーションインタフェースプログラム303がイベントループを使用してカードの挿入と取り外しを監視することができるように、APIおよびイベントを提供する。スマートカードリソースマネージャ107は、スマートカード104がリセット応答(ATR)を行う要求を送信する(905)。スマートカード104はATRに応答して(907)、ATRはウェブブラウザ203、詳細には、スマートカードリソースマネージャウェブブラウザアプリケーションインタフェースプログラム303に送信される(ステップ909)。
スマートカードリソースマネージャウェブブラウザアプリケーションインタフェースプログラム303が適切なカード固有ドライバ301がすでにロードされていると判断することができる場合(ステップ911)、ウェブブラウザ203はカードとの通信を始めることができる(ステップ913)。そうでなければ、ATRがリモートサーバ511に送信される。リモートサーバ511がATRからスマートカード104を識別可能であるか否かを判断する(ステップ917)。多くの場合、スマートカード104のタイプは、historical bytesとして知られているATRのフィールドから識別できる。スマートカード104のタイプがATRから判断可能である場合、カード固有ドライバ301がホストコンピュータ103に返送される(ステップ919)。
サーバ511がATRからスマートカード104を識別できない場合、リモートサーバ511はホストコンピュータ103にスマートカード104がATRから一意に識別されなかったことを示すメッセージを返送する(メッセージ921)。メッセージ921では、リモートサーバ511はスマートカード104が実行するためのコマンドを含む。コマンドは、スマートカード104の機能を公開するコマンドであるように選択される。例えば、スマートカード104がJava(登録商標)Cardであるか否かを検査するために、コマンドはスマートカード104に対するgetStatus()要求とすることができ、このコマンドに応答して、スマートカード104はサポートされるアプリケーションのアプリケーション識別子(AID)を返すことによってスマートカード104がサポートするアプリケーションを識別する。ネイティブなスマートカード104では、コマンドは、検査される特定のネイティブなスマートカード104によりサポートされていることがわかっている動作とするができる。この場合、期待返り値は、動作から得られる期待結果であり、例えば、Gemalto Inc.の(Austin、Texas)Gemalto .NETカードでは、スマートカード104がmscmと呼ばれるサービスをサポートしている場合、検査コマンドを問い合わせることができる。
ブートストラップスクリプト900がコマンドを受信し、コマンドをスマートカードリソースマネージャ107に転送する(ステップ923)。次に、スマートカードリソースマネージャ107はコマンドをスマートカード104に転送する(ステップ925)。スマートカード104がコマンドを実行し(ステップ927)、結果を返す(ステップ929)。次に、結果はブートストラップスクリプト900に転送され(ステップ931)、リモートサーバ511に転送される(ステップ933)。リモートサーバ511は、結果からスマートカード104が認識されたカードであるか否か、サポートされるドライバを有するか否かを判断する(ステップ935)。リモートサーバ511が、スマートカード104はサーバ511が検査しているスマートカード104として応答したと判断する場合、サーバ511はカード固有ドライバ301をホストコンピュータ103に返送する(ステップ937)。一実施形態では、ホストコンピュータ103に返送されるものは、カード固有ドライバ301をダウンロードするリンクである。
一方、スマートカード104から返された結果が検査されるスマートカード104の期待結果と一致しない場合、サーバ511は別のスマートカード104を試すことができる(ステップ939)。検査するスマートカード104がそれ以上ある場合、リモートサーバ511はスマートカード104により実行される別のコマンドと共にメッセージを返す(ステップ921)。しかしながら、検査するスマートカード104がそれ以上ない場合、すなわちサーバ511がカード固有ドライバ301を有するスマートカード104が全て検査されてしまっている場合、スマートカード104がサポートされていないということを示すエラーメッセージがホストコンピュータ103に返される(メッセージ941)。
(上述したように)スマートカードリソースマネージャラッパウェブブラウザ拡張機能401をダウンロードするのに同じサーバ511が使用されているが、これは説明のための単なる例にすぎないことに留意すべきである。カード固有ドライバ301およびスマートカードリソースマネージャラッパウェブブラウザ拡張機能401は、全く関係のないリモートサーバからロードされてもよい。
上述したように、暗号化サービスはスマートカード104の多くの重要なアプリケーションのうちの1つである。従来の暗号化ソリューションは、2つの互換性のない競合するシステムであるPKCS#11とCAPIとを有するレガシーのために、実装が非常に煩雑であった。従来は、スマートカードアプリケーションの開発者は、PKCS#11とCAPIとのためのホストモジュールを書き込み、デプロイしていた。上述したように、このことはいくつもの望ましくない結果につながった。
スマートカードリソースマネージャウェブブラウザアプリケーションインタフェースプログラム303(例えば、上述のようにスマートカードリソースマネージャラッパウェブブラウザ拡張機能401とスマートカードアプリケーションインタフェーススクリプトモジュール403との組み合わせ)、ブートストラップスクリプト900、関連するプロセスフローを使用する上述した技術を使用することによって、アプリケーションの開発者は、ホストコンピュータ103の暗号化ミドルウェアに依存して、それに苦しむことから開放することができる。
スマートカード104がPKCS#11機能を有するシナリオを考えると、開発者はスマートカード104がこれらの暗号化機能を使用して電子メールメッセージにデジタル署名するのに使用されるアプリケーションを開発することを望む。この場合、特定のアプリケーション101は、暗号化機能に直接アクセスするために(ブートストラップスクリプト900を使用してロードされた)カード固有ドライバ301を介してスマートカードリソースマネージャラッパ拡張機能303上で開発される。
図10は、プロセスフローを示すタイミングシーケンス図である。
このウェブアプリケーションのコンテキストでのこの実装のワークフローは、以下の通りである。ユーザ501のアリスが自分のスマートカード104に記憶されたPGP鍵を使用して電子メールメッセージに署名することを望むとする。
アリスは、Secure Society’s SMail151(すなわち、リモートウェブサーバ上で実行するアプリケーション)にアクセスし(ステップ153)、たとえば、Firefoxウェブブラウザ203を使用してメッセージ155がそのウェブインターフェースを介する。
アリスが自分のスマートカード104に記憶された自分のPGP鍵を使用して署名したいとの電子メールを書き込んだ(ステップ157)。彼女は電子メール署名アイコン/ボタンをクリックする(ステップ159)。Firefoxウェブブラウザ203がSConnect可能でない場合、すなわち、スマートカードリソースマネージャラッパウェブブラウザ拡張機能401がインストールされていない場合、彼女はそれをインストールするように指示される。
(例えば、SMailサーバ505からダウンロードされた(ステップ161))ブートストラップJava(登録商標)Script900が、彼女のスマートカード104のATRのメッセージ163、165を判断し、(AJAXを使用して)SMailサーバ151に返信する(ステップ167)。
SMailサーバ151はデータベースを調べて、スマートカード104用の対応するスマートカード固有PKCS#11 Java(登録商標)Scriptモジュール(すなわち、本明細書内で使用される用語では、カード固有ドライバ301)を判断し、それを前の要求に応答して返信する(ステップ169)。
カード固有ドライバ301がダウンロードされると、カード固有ドライバ301は(スマートカードリソースマネージャウェブブラウザアプリケーションインタフェースプログラム303を使用して)スマートカード104と通信を開始する。安全な通信は、必ず暗号化されたメッセージがサーバ511からスマートカード104に送信されることによって保証される。
(今、ウェブブラウザ203で実行中の)カード固有ドライバ301が、アリスのスマートカード104または他のログインプロシージャに対して認証を行うようにPINエントリダイアログボックスを使用してアリスに指示する(ステップ171)。
認証が成功すれば、アリスのスマートカードから適切な証明書が選択される(ステップ173)。スマートカード104が多くの証明書を含む場合には、それらの証明書が表示され、アリスはそのうちの1つを選択するように指示される。
証明書が選択された後、アリスのメールのコンテンツに署名するためにカード固有ドライバ301と、例えば、ASP.NETハンドラとが、スマートカードとデータを交換する(ステップ175)。これらの通信は、上述したようにスマートカード104にデータを送信するためにスマートカードリソースマネージャウェブブラウザアプリケーションインタフェースプログラム303に呼び出しを配置することによって行われる。
署名は、PGP仕様に従って、スマートカード104によりラップされる(ステップ177)。
署名されたメッセージは、ウェブブラウザに返信され(ステップ179)、ウェブブラウザによってウェブメールアプリケーション151に返信される(ステップ181)。
代替の実施形態では、ホストコンピュータ103上で実行しスマートカード104が接続されているアプリケーション.jsジャバスクリプト101によって、スマートカード104へのアクセスが試みられると、ジャバスクリプト101とスマートカード104との間の提案された対話をユーザが認証することを望むか否かに関してクエリが行われる。1つの動作のシナリオでは、ウェブサイト505は、ユーザを騙すことによって秘密のユーザ情報を取得するために、またはスマートカード104に対するサービス攻撃を拒絶するために、悪意を持って設計されたものである場合がある。サービス攻撃を拒絶する場合、アプリケーション.jsジャバスクリプト101は、例えば、スマートカード104に不正確なログイン証明書を繰り返し提示するように設計されたものである場合がある。ほとんどのスマートカード104は、不正確なログインでの試行が許される数が制限されている。この制限数を超えた場合、スマートカード104は、例えば、カード発行者からロックされ、高レベルの介入なしに使用できなくなる。
図11は、ウェブブラウザ拡張機能401がスマートカード104へのアクセスの試みを検出する時にユーザに表示されるユーザダイアログウィンドウの一例を示す図であり、ダイアログ241を示す図である。ユーザがアプリケーション.jsジャバスクリプト101とスマートカード104との間の対話を承認したい場合、ウェブサイトのurl(またはウェブサイトを識別する何か他の適切な装置)が承認リストに追加される。ユーザがアクセスを拒否する場合、ウェブサイトは非承認リストに追加される。このリストは、ウェブブラウザの所定の機構(例えば、クッキー)によって管理される。
図12は、スマートカード104との対話を許可された/許可されないウェブサイトの承認非承認リストを編集するためにユーザに表示されるユーザダイアログウィンドウ243の一例を示す図である。一実施形態では、スマートカードリソースマネージャウェブブラウザアプリケーションインタフェースプログラム303のインストールにより、例えば、ウェブブラウザ「ツール」メニューの下のダイアログウィンドウ243を表示するために、ウェブブラウザメニュー内にメニューアイテムを追加することができる。
図12は、スマートカード104と対話するアプリケーションジャバスクリプトの権利を許可または許可しない承認非承認リストの使用を示すタイミングシーケンス図である。ユーザがウェブサイト(例えば、http://www.evilweb.com)にアクセスした。そのウェブサイトが、アプリケーションジャバスクリプト101xを更新することによってスマートカード104に攻撃しようとする。アプリケーションジャバスクリプト101xがスマートカード104との対話を要求すると(メッセージ253)、ウェブブラウザ拡張機能401は、ジャバスクリプトの元のウェブサイトが認証リスト内にあるか否かを判断する(ステップ255)。
ウェブサイトが承認リスト内にある場合、表示(例えば、「ACC」)がウェブブラウザ拡張機能401からジャバスクリプト101xに送信される(メッセージ257)、対話が開始され得る(ステップ259)。
ウェブサイトが承認リスト内にない場合、ウェブブラウザ拡張機能401はそのウェブサイトが非承認リスト内にあるか否かを判断する(ステップ261)。ウェブサイトが非承認リスト内にある場合、(例えば、「NACC」)を示すメッセージがウェブブラウザ拡張機能401からジャバスクリプト101xに送信される(メッセージ263)。
ウェブサイトがいずれのリスト内にもない場合、そのウェブサイトは続行が許可されるか否かをユーザが決定するためのダイアログウィンドウ241(図11)が表示される(ステップ265)。
ウェブサイトのアクセスを許可するか否かのユーザ決定が得られる(ステップ267)。ユーザがスマートカード104との対話のためにウェブサイトを承認した場合、(ステップ269)、対話の承認を示すメッセージ(例えば、「ACC」)がジャバスクリプト101xに送信され(メッセージ271)、対話が開始され得る(ステップ259)。任意で、例えば、ダイアログウィンドウ241の中の決定が記憶されることを示すチェックボックスをユーザがクリックした場合、ウェブサイトは承認リストに追加される(ステップ273)。
ユーザがスマートカード104と対話するウェブサイトの権利を拒否した場合(ステップ269)、対話の非承認を示すメッセージ(例えば、「NACC」)がジャバスクリプト101xに送信される(メッセージ275)。任意で、例えば、ダイアログウィンドウ241の中の決定が記憶されることを示すチェックボックスをユーザがクリックした場合、ウェブサイトは非承認リストに追加される(ステップ277)。
上述の内容から、本明細書内で説明された技術は、スマートカードをウェブアプリケーションのコンテキストでスムーズに使用する有効な機構を提供するものであることは明らかである。従来は、ホストアプリケーションとスマートカードとの間の通信に必要であった煩雑なミドルウェア層は、ウェブブラウザ拡張機能をウェブブラウザにロードすることによって、またカード固有ドライバウェブブラウザ拡張機能をウェブブラウザにオンデマンドでロードすることで避けられる。これらの動的にロードされた拡張機能により、スマートカードの利用にとっては、ウェブアプリケーションがスマートカードと対話するためのウェブブラウザ固有またはプラットフォーム固有の要件を認識しなくても、ウェブアプリケーションと共にスマートカードにより提供される多くの強力なアプリケーション、例えば、暗号化が可能になる。
本発明の特定の実施形態を説明して図示したが、本発明は説明し図示したようなコンポーネントの特定の形態または配置に限定されるものではない。本発明は、請求項によってのみ限定される。

Claims (54)

  1. ブラウザを介してスマートカードリソースマネージャを有するホストコンピュータに接続されたスマートカードへのアクセスをユーザに提供する少なくとも1つのブラウザアドオンを実行する機能を有するブラウザ内から、中央処理ユニットとランダムアクセスメモリとを有するホストコンピュータ上で実行可能なクライアント側アプリケーション拡張プログラムであって、
    ブラウザ拡張プログラムが、中央処理ユニットにスマートカード上のデータにアクセスするように指示する命令を含み、
    命令が、第1のスレッドにおいて動作し、さらに、
    ホストコンピュータに、少なくとも1つのブラウザアドオンを実行させてブラウザ拡張プログラムの関数を呼び出させるブラウザプラットフォーム独立アプリケーションプログラムインタフェースであって、スマートカード上のデータにアクセスするための少なくとも1つの関数を提供するアプリケーションプログラムインタフェースを備えるブラウザプラットフォーム独立インタフェースモジュールと、
    ブラウザプラットフォーム独立インタフェースモジュールと、スマートカード上のデータにアクセスし関数呼び出しをスマートカードリソースマネージャに対応する呼び出しに変換するための少なくとも1つの関数に対する呼び出しをホストコンピュータに受信させるように動作可能な関数処理モジュールを有するスマートカードリソースマネージャとに接続されたブラウザプラットフォーム依存ラッパモジュールとを含み
    ブラウザプラットフォーム依存ラッパモジュールは、スマートカードリソースマネージャに送信されたコマンドに応答してスマートカードから受ける応答に応じてホストコンピュータを動作可能にさせるコールバック関数を含み、
    スマートカードリソースマネージャに対する関数呼び出しが、関数呼び出しの実行のための新たなスレッドをホストコンピュータに生成させ、スマートカードリソースマネージャに送信されたコマンドの実行が終了したときに、コールバック関数において、ホストコンピュータに対して制御を第1のスレッドに戻すように指示する、クライアント側アプリケーション拡張プログラム
  2. ブラウザプラットフォーム独立インタフェースモジュールおよびブラウザプラットフォーム依存ラッパモジュールが、ホストコンピュータによりブラウザにロードされる命令を含む、請求項1に記載のクライアント側アプリケーション拡張プログラム
  3. ブラウザプラットフォーム依存ラッパモジュールが、スマートカードにアクセスするためにプラットフォーム固有のスマートカードリソースマネージャ関数をホストコンピュータに呼び出させるブラウザプラットフォーム依存命令を含む、請求項1に記載のクライアント側アプリケーション拡張プログラム
  4. ブラウザプラットフォーム依存ラッパモジュールが、スマートカードリソースマネージャにより送信されたスマートカードのイベントをホストコンピュータに検出させる、請求項1に記載のクライアント側アプリケーション拡張プログラム
  5. ブラウザプラットフォーム独立ラッパモジュールが、ブラウザプラットフォーム依存ラッパモジュールを介してスマートカードリソースマネージャにより送信されたスマートカードのイベントをホストコンピュータに受信させる、請求項4に記載のクライアント側アプリケーション拡張プログラム
  6. スマートカードのイベントが、カード挿入、カード取り外し、トランザクション開始、トランザクション終了を含む、請求項5に記載のクライアント側アプリケーション拡張プログラム
  7. 関数呼び出しが、スマートカードへのメッセージ送信およびスマートカードからの対応する応答の受信を含む、請求項1に記載のクライアント側アプリケーション拡張プログラム
  8. ブラウザ拡張プログラムが、ウェブサイトからダウンロードされたジャバスクリプトがスマートカードとの対話を試みていることをホストコンピュータに検出させ、ウェブサイトからダウンロードされたジャバスクリプトがスマートカードとの対話を試みていることの検出に対し、ジャバスクリプトとスマートカードとの間の対話に関するユーザの承認または非承認をホストコンピュータに取得させ、ユーザの承認に対し、対話を続行することをホストコンピュータに許可させ、ユーザの非承認に対し、対話を続行することをホストコンピュータに拒否させる指示をさらに含む、請求項1に記載のクライアント側アプリケーション拡張プログラム
  9. ブラウザ拡張プログラムが、ユーザの承認に対し、スマートカードとの対話が許可されたウェブサイトのリストに当該ウェブサイトをホストコンピュータに追加させる指示をさらに含む、請求項8に記載のクライアント側アプリケーション拡張プログラム
  10. ブラウザ拡張プログラムが、スマートカードとの対話が許可されたウェブサイトの、スマートカードとの対話が許可されたウェブサイトのリストからウェブサイトを削除するコードを包含するリストをホストコンピュータに管理させる指示をさらに含む、請求項8に記載のクライアント側アプリケーション拡張プログラム
  11. ブラウザ拡張プログラムが、ユーザの拒否に対し、スマートカードとの対話が許可されていないウェブサイトのリストに当該ウェブサイトをホストコンピュータに追加させる指示をさらに含む、請求項8に記載のクライアント側アプリケーション拡張プログラム
  12. ブラウザ拡張プログラムが、スマートカードとの対話が許可されていないウェブサイトの、スマートカードとの対話が許可されていないウェブサイトのリストからウェブサイトを削除するコードを包含するリストをホストコンピュータに管理させる指示をさらに含む、請求項11に記載のクライアント側アプリケーション拡張プログラム
  13. ブラウザ拡張プログラムが、ジャバスクリプトとスマートカードとの間の対話に関する承認または非承認を表示することをユーザに許容するユーザ対話ウィンドウをホストコンピュータに表示させる指示をさらに含む、請求項8に記載のクライアント側アプリケーション拡張プログラム
  14. ストコンピュータに接続されたスマートカードに記憶されたデータにアクセスするブラウザを使用する、コンピュータシステムの動作方法であって、ホストコンピュータは、中央処理ユニットおよびランダムアクセスメモリと、スマートカードリソースマネージャと、少なくとも1つのブラウザアドオンを実行する機能を有するブラウザとを有し、
    ホストコンピュータによって、スマートカード上のデータへの、スマートカードリソースマネージャを介するアクセスを要求するブラウザアプリケーションを実行することと、
    ホストコンピュータによって、ブラウザアプリケーションによる要求に応答して、スマートカード上のデータにアクセスすることと、
    ホストコンピュータによって、スマートカードリソースマネージャインタフェースブラウザ拡張プログラムに対するアクセス呼び出しを行うための少なくとも1つのメソッドを提供するインタフェースオブジェクトを、スクリプトモジュールからインスタンス化することと、
    ホストコンピュータによって、第1のスレッドにおいて、インタフェースオブジェクトのメソッドにおける呼び出しを行うことと、
    ホストコンピュータによって、インタフェースオブジェクトのメソッドにおける呼び出しの受信に応答して、関数呼び出しの実行のための新たなスレッドにおいて、スマートカードリソースマネージャインタフェースブラウザ拡張プログラムにおける呼び出しを行い、マートカードリソースマネージャに送信されたコマンドの実行が終了したときに、スマートカードリソースマネージャに送信されたコマンドに応答してスマートカードから受ける応答に応じるように動作可能なコールバック関数において、ホストコンピュータに対して制御を第1のスレッドに戻すように指示することと、
    ホストコンピュータによって、インタフェースオブジェクトのメソッドにおける呼び出しの受信に応答して、スマートカードリソースマネージャインタフェースブラウザ拡張プログラムにおける呼び出しを行い、スマートカードリソースマネージャインタフェースブラウザ拡張プログラムにおける呼び出しの受信に応答して、スマートカードリソースマネージャインタフェースブラウザ拡張プログラムからスマートカードリソースマネージャに呼び出しを行い、スマートカードリソースマネージャからの応答を受信した場合に、スマートカードリソースマネージャからの応答を示す結果をブラウザウィンドウに表示することで、ブラウザを介してスマートカードデータへのユーザアクセスを提供すること
    を含む、スマートカードに記憶されたデータにアクセスするブラウザを使用する、コンピュータシステムの動作方法。
  15. スマートカードリソースマネージャインタフェースブラウザ拡張プログラムが、スマートカードにアクセスするためのプラットフォーム固有のスマートカードリソースマネージャ関数をホストコンピュータに呼び出させるブラウザプラットフォーム依存命令を含む、請求項14に記載のスマートカードに記憶されたデータにアクセスするブラウザを使用する、コンピュータシステムの動作方法。
  16. スマートカードリソースマネージャインタフェースブラウザ拡張プログラムにより、スマートカードリソースマネージャにより送信されたスマートカードイベントをホストコンピュータに検出させることをさらに含み、当該イベントの検出に応答して、ホストコンピュータが、ブラウザアプリケーションとスマートカードへの通信チャネルの確立とを実行る、請求項14に記載のスマートカードに記憶されたデータにアクセスするブラウザを使用する、コンピュータシステムの動作方法。
  17. インタフェースオブジェクトが、スマートカードリソースマネージャインタフェースブラウザ拡張プログラムを使用してスマートカードリソースマネージャにより送信されたスマートカードイベントをホストコンピュータに受信させる、請求項16に記載のスマートカードに記憶されたデータにアクセスするブラウザを使用する、コンピュータシステムの動作方法。
  18. スマートカードイベントが、カード挿入、カード取り外し、トランザクション開始、トランザクション終了を含む、請求項17に記載のスマートカードに記憶されたデータにアクセスするブラウザを使用する、コンピュータシステムの動作方法。
  19. メソッドにおける呼び出しが、スマートカードへのメッセージ送信およびスマートカードからの対応する応答の受信を含み、スマートカードからの応答を受信した場合に、ホストコンピュータによって、メソッドにおける呼び出しを行う、請求項14に記載のスマートカードに記憶されたデータにアクセスするブラウザを使用する、コンピュータシステムの動作方法。
  20. ブラウザ拡張プログラムが、
    ウェブサイトからダウンロードされたジャバスクリプトがスマートカードとの対話を試みていることをホストコンピュータに検出させ
    ウェブサイトからダウンロードされたジャバスクリプトがスマートカードとの対話を試みていることの検出に応答して、ジャバスクリプトとスマートカードとの間の対話に関するユーザの承認または非承認をホストコンピュータに取得させ
    ユーザの承認に対し、対話を続行することをホストコンピュータに許可させ
    ユーザの非承認に対し、対話を続行することをホストコンピュータに拒否させることをさらに含む、請求項14に記載のスマートカードに記憶されたデータにアクセスするブラウザを使用する、コンピュータシステムの動作方法。
  21. ホストコンピュータによって、ユーザの承認に対し、スマートカードとの対話が許可されたウェブサイトのリストに当該ウェブサイトを追加することをさらに含む、請求項20に記載のスマートカードに記憶されたデータにアクセスするブラウザを使用する、コンピュータシステムの動作方法。
  22. ホストコンピュータによって、スマートカードとの対話が許可されたウェブサイトのリストを、スマートカードとの対話が許可されたウェブサイトのリストからウェブサイトを選択的に削除することを含んで管理することをさらに含む、請求項21に記載のスマートカードに記憶されたデータにアクセスするブラウザを使用する、コンピュータシステムの動作方法。
  23. ホストコンピュータによって、ユーザの拒否に対し、スマートカードとの対話が許可されていないウェブサイトのリストに当該ウェブサイトを追加することをさらに含む、請求項20に記載のスマートカードに記憶されたデータにアクセスするブラウザを使用する、コンピュータシステムの動作方法。
  24. ホストコンピュータによって、スマートカードとの対話が許可されていないウェブサイトのリストを、スマートカードとの対話が許可されていないウェブサイトのリストからウェブサイトを削除することを含んで管理することをさらに含む、請求項23に記載のスマートカードに記憶されたデータにアクセスするブラウザを使用する、コンピュータシステムの動作方法。
  25. ホストコンピュータによって、ジャバスクリプトとスマートカードとの間の対話に関する承認または非承認を表示することをユーザに許容するユーザ対話ウィンドウを表示することをさらに含む、請求項20に記載のスマートカードに記憶されたデータにアクセスするブラウザを使用する、コンピュータシステムの動作方法。
  26. スマートカードに接続されたホストコンピュータにより実行可能な命令が記憶されており、ホストコンピュータをスマートカードにアクセス可能にする命令を有するスマートカードリソースマネージャがロードされている、クライアント/サーバ関係のサーバとしてアクセス可能なコンピュータ読み取り可能記憶媒体であって、
    ホストコンピュータにロードされるときに、命令が、
    各々がブラウザプラットフォーム独立インタフェースモジュールと、スマートカード上のデータにアクセスし、関数呼び出しをスマートカードリソースマネージャに対応する呼び出しに変換するための少なくとも1つの関数に対する呼び出しをホストコンピュータに受信させるように動作可能な関数処理モジュールを有するスマートカードリソースマネージャとに対するインタフェースを有する少なくとも1つのブラウザプラットフォーム依存ラッパモジュールと、
    ホストコンピュータに、少なくとも1つのブラウザアドオンを実行させてブラウザ拡張プログラムの関数を呼び出させ、スマートカード上のデータにアクセスさせるための少なくとも1つの関数を提供するブラウザプラットフォーム独立アプリケーションプログラムインタフェースを備えるブラウザプラットフォーム独立インタフェースモジュールとを含み、
    ブラウザプラットフォーム依存ラッパモジュールは、スマートカードリソースマネージャに送信されたコマンドに応答してスマートカードから受ける応答に応じホストコンピュータを動作可能にさせるコールバック関数を含み
    スマートカードリソースマネージャに対する関数呼び出しが、関数呼び出しの実行のための新たなスレッドをホストコンピュータに生成させ、スマートカードリソースマネージャに送信されたコマンドの実行が終了したときに、コールバック関数において、ホストコンピュータに対して制御を第1のスレッドに戻すように指示する、コンピュータ読み取り可能記憶媒体。
  27. ブラウザプラットフォーム独立インタフェースモジュールおよびブラウザプラットフォーム依存ラッパモジュールが、ホストコンピュータによりブラウザにロードされる命令を含む、請求項26に記載のクライアント/サーバ関係のサーバとしてアクセス可能なコンピュータ読み取り可能記憶媒体。
  28. ブラウザプラットフォーム依存ラッパモジュールが、スマートカードにアクセスするためにプラットフォーム固有のスマートカードリソースマネージャ関数をホストコンピュータに呼び出させるブラウザプラットフォーム依存命令を含む、請求項26に記載のクライアント/サーバ関係のサーバとしてアクセス可能なコンピュータ読み取り可能記憶媒体。
  29. ブラウザプラットフォーム依存ラッパモジュールが、スマートカードリソースマネージャにより送信されたスマートカードのイベントをホストコンピュータに検出させる、請求項26に記載のクライアント/サーバ関係のサーバとしてアクセス可能なコンピュータ読み取り可能記憶媒体。
  30. ブラウザプラットフォーム独立ラッパモジュールが、ブラウザプラットフォーム依存ラッパモジュールを介してスマートカードリソースマネージャにより送信されたスマートカードのイベントをホストコンピュータに受信させる、請求項29に記載のクライアント/サーバ関係のサーバとしてアクセス可能なコンピュータ読み取り可能記憶媒体。
  31. スマートカードのイベントが、カード挿入、カード取り外し、トランザクション開始、トランザクション終了を含む、請求項30に記載のクライアント/サーバ関係のサーバとしてアクセス可能なコンピュータ読み取り可能記憶媒体。
  32. 関数呼び出しが、スマートカードへのメッセージ送信およびスマートカードからの対応する応答の受信を含む、請求項26に記載のクライアント/サーバ関係のサーバとしてアクセス可能なコンピュータ読み取り可能記憶媒体。
  33. ブラウザ拡張プログラムが、ウェブサイトからダウンロードされたジャバスクリプトがスマートカードとの対話を試みていることをホストコンピュータに検出させ、ウェブサイトからダウンロードされたジャバスクリプトがスマートカードとの対話を試みていることの検出に対し、ジャバスクリプトとスマートカードとの間の対話に関するユーザの承認または非承認をホストコンピュータに取得させ、ユーザの承認に対し、対話を続行することをホストコンピュータに許可させ、ユーザの非承認に対し、対話を続行することをホストコンピュータに拒否させる指示をさらに含む、請求項26に記載のクライアント/サーバ関係のサーバとしてアクセス可能なコンピュータ読み取り可能記憶媒体。
  34. ブラウザ拡張プログラムが、ユーザの承認に対し、スマートカードとの対話が許可されたウェブサイトのリストに当該ウェブサイトをホストコンピュータに追加させる指示をさらに含む、請求項33に記載のクライアント/サーバ関係のサーバとしてアクセス可能なコンピュータ読み取り可能記憶媒体。
  35. ブラウザ拡張プログラムが、スマートカードとの対話が許可されたウェブサイトの、スマートカードとの対話が許可されたウェブサイトのリストからウェブサイトを削除するコードを包含するリストをホストコンピュータに管理させる指示をさらに含む、請求項34に記載のクライアント/サーバ関係のサーバとしてアクセス可能なコンピュータ読み取り可能記憶媒体。
  36. ブラウザ拡張プログラムが、ユーザの拒否に対し、スマートカードとの対話が許可されていないウェブサイトのリストに当該ウェブサイトをホストコンピュータに追加させる指示をさらに含む、請求項33に記載のクライアント/サーバ関係のサーバとしてアクセス可能なコンピュータ読み取り可能記憶媒体。
  37. ブラウザ拡張プログラムが、スマートカードとの対話が許可されていないウェブサイトの、スマートカードとの対話が許可されていないウェブサイトのリストからウェブサイトを削除するコードを包含するリストをホストコンピュータに管理させる指示をさらに含む、請求項36に記載のクライアント/サーバ関係のサーバとしてアクセス可能なコンピュータ読み取り可能記憶媒体。
  38. ブラウザ拡張プログラムが、ジャバスクリプトとスマートカードとの間の対話に関する承認または非承認を表示することをユーザに許容するユーザ対話ウィンドウをホストコンピュータに表示させる指示をさらに含む、請求項33に記載のクライアント/サーバ関係のサーバとしてアクセス可能なコンピュータ読み取り可能記憶媒体。
  39. ブラウザを介してスマートカードリソースマネージャを有するホストコンピュータに接続されたスマートカードへのアクセスをユーザに提供する少なくとも1つのブラウザアドオンを実行する機能を有するブラウザ内から、中央処理ユニットとランダムアクセスメモリとを有するホストコンピュータ上で実行可能なクライアント側アプリケーション拡張プログラムであって、
    ブラウザ拡張プログラムが、中央処理ユニットに対し、第1のスレッドにおいて実行可能なスマートカード上のデータにアクセスするように指示する命令を含み、
    命令が、
    ホストコンピュータに、少なくとも1つのブラウザアドオンを実行してブラウザ拡張プログラムの関数を呼び出させるブラウザプラットフォーム独立アプリケーションプログラムインタフェースであって、スマートカード上のデータにアクセスするための少なくとも1つの関数を提供するアプリケーションプログラムインタフェースを備えるブラウザプラットフォーム独立インタフェースモジュールと、
    ブラウザプラットフォーム独立インタフェースモジュールと、スマートカード上のデータにアクセスし関数呼び出しをスマートカードリソースマネージャに対応する呼び出しに変換するための少なくとも1つの関数に対する呼び出しをホストコンピュータに受信させるように動作可能な関数処理モジュールを有するスマートカードリソースマネージャとに接続されたブラウザプラットフォーム依存ラッパモジュールと、
    ホストコンピュータに、スマートカードリソースマネージャの指示を実行させて、スマートカードとの通信接続を確立させるように動作可能な接続モジュールとを含み
    ブラウザプラットフォーム依存ラッパモジュールは、スマートカードリソースマネージャに送信されたコマンドに応答してスマートカードから受ける応答に応じホストコンピュータを動作可能にさせるコールバック関数を含み、
    接続モジュールの実行により、スマートカードに対する接続を確立するスマートカードリソースマネージャの指示の実行のための新たなスレッドをホストコンピュータに生成させ、スマートカードに対する接続を確立するスマートカードリソースマネージャの指示の実行が終了したときに、コールバック関数において、ホストコンピュータに対して制御を第1のスレッドに戻すように指示する、クライアント側アプリケーション拡張プログラム
  40. ストコンピュータに接続されたスマートカードに記憶されたデータにアクセスするブラウザを使用する、コンピュータシステムの動作方法であって、ホストコンピュータは、中央処理ユニットおよびランダムアクセスメモリと、スマートカードリソースマネージャと、少なくとも1つのブラウザアドオンを実行する機能を有するブラウザとを有し、
    ホストコンピュータによって、スマートカード上のデータへの、スマートカードリソースマネージャを介するアクセスを要求するブラウザアプリケーションを実行することと、
    ホストコンピュータによって、ブラウザアプリケーションによる要求に応答して、スマートカード上のデータに、アクセスすることと、
    ホストコンピュータによって、スクリプトモジュールから、スマートカードリソースマネージャインタフェースブラウザ拡張プログラムに対するアクセス呼び出しを行うための少なくとも1つの方法を提供するインタフェースオブジェクトをインスタンス化することと、
    ホストコンピュータによって、インタフェースオブジェクトのメソッド上で、第1のスレッドにおける呼び出しを行い、スマートカード上のデータにアクセスすることと、
    ホストコンピュータによって、スマートカード上のデータにアクセスする、インタフェースオブジェクトのメソッド上の呼び出しの受信に応答して、スマートカードリソースマネージャインタフェースブラウザ拡張プログラムにおける呼び出しを行うことと、
    ホストコンピュータによって、スマートカードリソースマネージャインタフェースブラウザ拡張プログラムにおける呼び出しの受信に応答して、関数呼び出しの実行のための新たなスレッドを生成し、スマートカードリソースマネージャに送信されたコマンドの実行が終了したときに、スマートカードリソースマネージャに送信されたコマンドに対してスマートカードから受ける応答に対して動作可能なコールバック関数において、ホストコンピュータに対して制御を第1のスレッドに戻すように指示することにより、スマートカードリソースマネージャインタフェースブラウザ拡張プログラムからスマートカードリソースマネージャに呼び出しを行うことと、
    ホストコンピュータによって、スマートカードリソースマネージャからの応答を受信することと、
    ホストコンピュータによって、スマートカードリソースマネージャからの応答を示す結果をブラウザウィンドウに表示することで、ブラウザを介してスマートカードデータへのユーザアクセスを提供することと
    を含む、方法。
  41. スマートカードに接続されたホストコンピュータにより実行可能な命令が記憶されており、ホストコンピュータをスマートカードにアクセス可能にする命令を有するスマートカードリソースマネージャがロードされている、クライアント/サーバ関係のサーバとしてアクセス可能なコンピュータ読み取り可能記憶媒体であって、ホストコンピュータにロードされるときに、命令が、
    各々がブラウザプラットフォーム独立インタフェースモジュールと、スマートカード上のデータにアクセスし、関数呼び出しをスマートカードリソースマネージャに対応する呼び出しに変換するための少なくとも1つの関数に対する呼び出しをホストコンピュータに受信させるように動作可能な関数処理モジュールを有するスマートカードリソースマネージャとに対するインタフェースを有する少なくとも1つのブラウザプラットフォーム依存ラッパモジュールと、
    ホストコンピュータに、少なくとも1つのブラウザアドオンを実行させてブラウザ拡張プログラムの関数を呼び出させ、スマートカード上のデータにアクセスさせるための少なくとも1つの関数を提供するブラウザプラットフォーム独立アプリケーションプログラムインタフェースを備えるブラウザプラットフォーム独立インタフェースモジュールと、
    ホストコンピュータに、スマートカードリソースマネージャの命令を実行させて、スマートカードとの通信接続を確立させるように動作可能な接続モジュールとを含み
    ブラウザプラットフォーム依存ラッパモジュールは、スマートカードリソースマネージャに送信されたコマンドに応答してスマートカードから受ける応答に応じホストコンピュータを動作可能にさせるコールバック関数を含み、
    ホストコンピュータがスマートカードにアクセスすることを可能にする命令は、第1のスレッドにおいて実行可能であり、
    接続モジュールの実行により、スマートカードに対する接続を確立するスマートカードリソースマネージャの命令の実行のための新たなスレッドをホストコンピュータに生成させ、スマートカードに対する接続を確立するスマートカードリソースマネージャの指示の実行が終了したときに、コールバック関数において、ホストコンピュータに対して制御を第1のスレッドに戻すように指示する、コンピュータ読み取り可能記憶媒体。
  42. ブラウザを介してスマートカードリソースマネージャを有するホストコンピュータに接続されたスマートカードへのアクセスをユーザに提供する少なくとも1つのブラウザアドオンを実行する機能を有するブラウザ内から、中央処理ユニットとランダムアクセスメモリとを有するホストコンピュータ上で実行可能なクライアント側アプリケーション拡張プログラムであって、ブラウザ拡張プログラムが、
    中央処理ユニットにスマートカード上のデータにアクセスするように指示する命令を含み、
    命令が、
    ホストコンピュータに、少なくとも1つのブラウザアドオンを実行させてブラウザ拡張プログラムの関数を呼び出させるブラウザプラットフォーム独立アプリケーションプログラムインタフェースであって、スマートカード上のデータにアクセスするための少なくとも1つの関数を提供するアプリケーションプログラムインタフェースを備えるブラウザプラットフォーム独立インタフェースモジュールと、
    ブラウザプラットフォーム独立インタフェースモジュールと、スマートカード上のデータにアクセスし関数呼び出しをスマートカードリソースマネージャに対応する呼び出しに変換するための少なくとも1つの関数に対する呼び出しをホストコンピュータに受信させるように動作可能な関数処理モジュールを有するスマートカードリソースマネージャとに接続されたブラウザプラットフォーム依存ラッパモジュールと、
    ホストコンピュータに接続されたスマートカードに対応する適切なスマートカードドライバブラウザ拡張プログラムを取得するためのオンデマンドドライバモジュールであって、ホストコンピュータに、スマートカードからの識別ストリングを取得させてスマートカードドライバサーバに識別ストリングを送信させ、スマートカードドライバサーバから、スマートカード用のドライバが利用可能であるかを示す第1の応答を取得させる命令を含むオンデマンドドライバモジュールと
    を含み、
    スマートカード用のドライバが利用可能であるかを示す応答が、スマートカードドライバサーバからのさらなる識別コマンドを含む場合に、スマートカードにさらなる識別コマンドを実行するようにホストコンピュータに指示させる命令と、さらなる識別コマンドに対するスマートカードからの応答をホストコンピュータに受信させる命令と、スマートカードからの応答をスマートカードドライバサーバに、ホストコンピュータに送信させる命令と、スマートカード用のドライバまたはスマートカードを識別するためにスマートカードにより実行されるさらなるコマンドを有する応答メッセージを含むスマートカードドライバサーバからの第2の応答をホストコンピュータに受信させる命令と
    を含む、クライアント側アプリケーション拡張プログラム
  43. 第1の応答が、スマートカードに対応するドライバブラウザアドインを含む、請求項42に記載のクライアント側アプリケーション拡張プログラム
  44. 第1の応答が、スマートカードが最終的に識別不可能であることを示す表示と、スマートカードが実行するコマンドとを含み、スマートカードからの期待応答が最終的にカードの識別を決定するものである、請求項42に記載のクライアント側アプリケーション拡張プログラム
  45. スマートカードドライバブラウザ拡張プログラムが受信されまたはスマートカードドライバサーバからの応答メッセージがスマートカードがサポートされていないというメッセージで応答するまで、スマートカードの応答を送信するステップと、スマートカード用のドライバまたはスマートカードを識別するためにスマートカードにより実行されるさらなるコマンドを有する応答メッセージを含むスマートカードドライバサーバからの応答を受信するステップと
    をホストコンピュータに繰り返させる命令をさらに含む、請求項42に記載のクライアント側アプリケーション拡張プログラム
  46. ストコンピュータに接続されたスマートカードに記憶されたデータにアクセスするブラウザを使用する、コンピュータシステムの動作方法であって、ホストコンピュータは、中央処理ユニットおよびランダムアクセスメモリと、スマートカードリソースマネージャと、少なくとも1つのブラウザアドオンを実行する機能を有するブラウザとを有し、
    ホストコンピュータによって、スマートカード上のデータへの、スマートカードリソースマネージャを介するアクセスを要求するブラウザアプリケーションを実行することと、
    ホストコンピュータによって、ブラウザアプリケーションによる要求に応答して、スマートカード上のデータにアクセスすることと、
    ホストコンピュータによって、スクリプトモジュールから、スマートカードリソースマネージャインタフェースブラウザ拡張プログラムに対するアクセス呼び出しを行うための少なくとも1つの方法を提供するインタフェースオブジェクトをインスタンス化することと、
    ホストコンピュータによって、インタフェースオブジェクトのメソッドにおける呼び出しを行うことと、
    ホストコンピュータによって、インタフェースオブジェクトのメソッドにおける呼び出しの受信に応答して、スマートカードリソースマネージャインタフェースブラウザ拡張プログラムにおける呼び出しを行うことと、
    ホストコンピュータによって、スマートカードリソースマネージャインタフェースブラウザ拡張プログラムにおける呼び出しの受信に応答して、スマートカードリソースマネージャインタフェースブラウザ拡張プログラムからスマートカードリソースマネージャに呼び出しを行うことと、
    ホストコンピュータによって、スマートカードリソースマネージャからの応答を受信することと、
    ホストコンピュータによって、スマートカードリソースマネージャからの応答を示す結果をブラウザウィンドウに表示し、それによりブラウザを介してスマートカードデータへのユーザアクセスを提供することと、
    ホストコンピュータによって、スマートカードから識別ストリングを取得し、スマートカードドライバサーバに識別ストリングを送信することと、
    ホストコンピュータによって、スマートカードドライバサーバから、スマートカード用のドライバが利用可能であるかを示す第1の応答を取得することと、
    ホストコンピュータによって、スマートカード用のドライバが利用可能であるかを示す応答がスマートカードドライバサーバからのさらなる識別コマンドを含むことに応答して、スマートカードにさらなる識別コマンドを実行するように指示する命令を実行することと、
    ホストコンピュータによって、スマートカードからのさらなる識別コマンドに対する応答を受信することと、
    ホストコンピュータによって、スマートカードドライバサーバに対し、スマートカードからの応答を送信することと、
    ホストコンピュータによって、スマートカードドライバサーバから、スマートカード用のドライバまたはスマートカードを識別するためにスマートカードにより実行されるさらなるコマンドを有する応答メッセージを含む第2の応答を受信することと
    を含む、スマートカードに記憶されたデータにアクセスするブラウザを使用する、コンピュータシステムの動作方法。
  47. 第1の応答が、スマートカードに対応するドライバブラウザアドインを含む、請求項46に記載のスマートカードに記憶されたデータにアクセスするブラウザを使用する、コンピュータシステムの動作方法。
  48. 第1の応答が、スマートカードが最終的に識別不可能であることを示す表示と、スマートカードが実行するコマンドとを含み、スマートカードからの期待応答が最終的にカードの識別を決定するものである、請求項46に記載のスマートカードに記憶されたデータにアクセスするブラウザを使用する、コンピュータシステムの動作方法。
  49. ホストコンピュータによって、スマートカードドライバブラウザ拡張プログラムが受信されまたはスマートカードドライバサーバからの応答メッセージがスマートカードがサポートされていないとのメッセージで応答するまで、スマートカードの応答を送信するステップと、スマートカード用のドライバまたはスマートカードを識別するためにスマートカードにより実行されるさらなるコマンドを有する応答メッセージのいずれかを含むスマートカードドライバサーバからの応答を受信するステップとを繰り返すことをさらに含む、請求項46に記載のスマートカードに記憶されたデータにアクセスするブラウザを使用する、コンピュータシステムの動作方法。
  50. スマートカードに接続されたホストコンピュータにより実行可能な命令が記憶されており、ホストコンピュータをスマートカードにアクセス可能にする命令を有するスマートカードリソースマネージャがロードされている、クライアント/サーバ関係のサーバとしてアクセス可能なコンピュータ読み取り可能記憶媒体であって、ホストコンピュータにロードされるときに、命令が、
    各々がブラウザプラットフォーム独立インタフェースモジュールと、スマートカード上のデータにアクセスし、関数呼び出しをスマートカードリソースマネージャに対応する呼び出しに変換するための少なくとも1つの関数に対する呼び出しをホストコンピュータに受信させるように動作可能な関数処理モジュールを有するスマートカードリソースマネージャとに対するインタフェースを有する少なくとも1つのブラウザプラットフォーム依存ラッパモジュールと、
    ホストコンピュータに、少なくとも1つのブラウザアドオンを実行させてブラウザ拡張プログラムの関数を呼び出させ、スマートカード上のデータにアクセスさせるための少なくとも1つの関数を提供するブラウザプラットフォーム独立アプリケーションプログラムインタフェースを備えるブラウザプラットフォーム独立インタフェースモジュールと、
    ホストコンピュータに接続されたスマートカードに対応する適切なスマートカードドライバブラウザ拡張プログラムを取得するためのオンデマンドドライバモジュールであって、ホストコンピュータに、スマートカードからの識別ストリングを取得させてスマートカードドライバサーバに識別ストリングを送信させ、スマートカードドライバサーバから、スマートカード用のドライバが利用可能であるかを示す第1の応答を取得させる命令を含むオンデマンドドライバモジュールと
    を提供する命令を含み、
    スマートカード用のドライバが利用可能であるかを示す応答が、スマートカードドライバサーバからのさらなる識別コマンドを含む場合に、スマートカードにさらなる識別コマンドを実行するようにホストコンピュータに指示させる命令と、さらなる識別コマンドに対するスマートカードからの応答をホストコンピュータに受信させる命令と、スマートカードからの応答をスマートカードドライバサーバに、ホストコンピュータに送信させる命令と、スマートカード用のドライバまたはスマートカードを識別するためにスマートカードにより実行されるさらなるコマンドを有する応答メッセージを含むスマートカードドライバサーバからの第2の応答をホストコンピュータに受信させる命令とを含む、
    クライアント/サーバ関係のサーバとしてアクセス可能なコンピュータ読み取り可能記憶媒体。
  51. 第1の応答が、スマートカードに対応するドライバブラウザアドインを含む、請求項50に記載のクライアント/サーバ関係のサーバとしてアクセス可能なコンピュータ読み取り可能記憶媒体。
  52. 第1の応答が、スマートカードが最終的に識別不可能であることを示す表示と、スマートカードが実行するコマンドとを含み、スマートカードからの期待応答が最終的にカードの識別を決定するものである、請求項50に記載のクライアント/サーバ関係のサーバとしてアクセス可能なコンピュータ読み取り可能記憶媒体。
  53. オンデマンドドライバモジュールが、
    スマートカード用のドライバが利用可能であるかを示す応答が、スマートカードドライバサーバからのさらなる識別コマンドを含む場合に、
    スマートカードにさらなる識別コマンドを実行するようにホストコンピュータに指示さる命令と、
    さらなる識別コマンドに対するスマートカードからの応答をホストコンピュータに受信させる命令と、
    スマートカードからの応答をスマートカードドライバサーバに、ホストコンピュータに送信させる命令と、
    スマートカード用のドライバまたはスマートカードを識別するためにスマートカードにより実行されるさらなるコマンドを有する応答メッセージを含むスマートカードドライバサーバからの第2の応答をホストコンピュータに受信させる命令と
    を含む、請求項50に記載のクライアント/サーバ関係のサーバとしてアクセス可能なコンピュータ読み取り可能記憶媒体。
  54. スマートカードドライバブラウザ拡張プログラムが受信されまたはスマートカードドライバサーバからの応答メッセージがスマートカードがサポートされていないとのメッセージで応答するまで、スマートカードの応答を送信するステップと、スマートカード用のドライバまたはスマートカードを識別するためにスマートカードにより実行されるさらなるコマンドを有する応答メッセージのいずれかを含むスマートカードドライバサーバからの応答を受信するステップとをホストコンピュータに繰り返させる命令をさらに含む、請求項53に記載のクライアント/サーバ関係のサーバとしてアクセス可能なコンピュータ読み取り可能記憶媒体。
JP2010522349A 2007-08-31 2008-08-26 スマートカードにブラウザベースでアクセスするシステムおよび方法 Active JP5534520B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US11/849,117 US7748609B2 (en) 2007-08-31 2007-08-31 System and method for browser based access to smart cards
US11/849,117 2007-08-31
PCT/EP2008/061163 WO2009027409A1 (en) 2007-08-31 2008-08-26 A system and method for browser-based access to smart cards

Publications (2)

Publication Number Publication Date
JP2010537340A JP2010537340A (ja) 2010-12-02
JP5534520B2 true JP5534520B2 (ja) 2014-07-02

Family

ID=40251650

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010522349A Active JP5534520B2 (ja) 2007-08-31 2008-08-26 スマートカードにブラウザベースでアクセスするシステムおよび方法

Country Status (5)

Country Link
US (1) US7748609B2 (ja)
EP (1) EP2183667A1 (ja)
JP (1) JP5534520B2 (ja)
CN (1) CN101821715B (ja)
WO (1) WO2009027409A1 (ja)

Families Citing this family (157)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080162915A1 (en) * 2006-12-29 2008-07-03 Price Mark H Self-healing computing system
US20090069049A1 (en) * 2007-09-12 2009-03-12 Devicefidelity, Inc. Interfacing transaction cards with host devices
US10002384B1 (en) * 2007-12-20 2018-06-19 Jpmorgan Chase Bank, N.A. Automated card notification system and method
JP4546551B2 (ja) 2008-03-18 2010-09-15 フェリカネットワークス株式会社 情報処理装置、情報処理方法、プログラムおよび情報処理システム
US20100031028A1 (en) * 2008-07-31 2010-02-04 Research In Motion Limited Systems and methods for selecting a certificate for use with secure messages
JP5676477B2 (ja) * 2009-01-19 2015-02-25 コーニンクレッカ フィリップス エヌ ヴェ プライバシー保護のためのデュアルスクリプトエンジンをもつブラウザ
JP2010211268A (ja) * 2009-03-06 2010-09-24 Ricoh Co Ltd 通信機器、該通信機器の制御方法およびそのプログラムならびにシステム
US8713644B2 (en) * 2009-03-06 2014-04-29 Gemalto Sa System and method for providing security in browser-based access to smart cards
EP2273748A1 (en) * 2009-07-09 2011-01-12 Gemalto SA Method of managing an application embedded in a secured electronic token
JP5449905B2 (ja) * 2009-07-29 2014-03-19 フェリカネットワークス株式会社 情報処理装置、プログラム、および情報処理システム
US20110055573A1 (en) * 2009-09-03 2011-03-03 International Business Machines Corporation Supporting flexible use of smart cards with web applications
JP2011118837A (ja) * 2009-12-07 2011-06-16 Sony Corp 情報処理装置、情報処理方法およびプログラム
EP2333685A1 (en) * 2009-12-14 2011-06-15 Gemalto SA Method to restrict smart card usage, recording medium, program, certificate and computer for this method
EP2545676B1 (en) 2010-03-08 2018-12-05 Gemalto SA System and method for using a portable security device to cryptographically sign a document in response to signature requests from a relying party to a digital signature service
CN102209098B (zh) * 2010-03-30 2015-06-03 北京华虹集成电路设计有限责任公司 智能卡远程检测方法及系统
WO2011141579A2 (en) 2010-05-14 2011-11-17 Gemalto Sa System and method for providing security for cloud computing resources using portable security devices
EP2395427A1 (en) * 2010-06-08 2011-12-14 Gemalto SA Method for connecting to a remote server from a browser enabled with a browser's extension on a host device
WO2012044248A1 (en) * 2010-09-28 2012-04-05 Empire Technology Development Llc Data filtering for communication devices
EP2475144A1 (en) 2011-01-05 2012-07-11 Gemalto SA Method for communicating between a server and a client and corresponding client, server and system
US20120208454A1 (en) * 2011-02-10 2012-08-16 Cassis International Pte Ltd. System and method for detecting and communicating with diverse near field communications adaptors
US8181254B1 (en) 2011-10-28 2012-05-15 Google Inc. Setting default security features for use with web applications and extensions
US9092540B2 (en) * 2012-02-14 2015-07-28 International Business Machines Corporation Increased interoperability between web-based applications and hardware functions
CN102662806B (zh) * 2012-02-29 2015-06-24 浙江大学 一种针对Java卡不同性能指标的自适应测试方法
US8813029B2 (en) * 2012-05-24 2014-08-19 International Business Machines Corporation Remote card content management using synchronous server-side scripting
JP2014010510A (ja) * 2012-06-28 2014-01-20 Contec Co Ltd ソフトウェアの開発方法
CN103095810B (zh) * 2012-12-28 2015-08-12 三维通信股份有限公司 一种基于Web技术的多功能识读中间件系统
EP2773082A1 (en) 2013-02-28 2014-09-03 Gemalto SA Method for allowing a web server to detect the logout of a distant token
US10887421B2 (en) 2013-03-15 2021-01-05 Tubi, Inc. Relevant secondary-device content generation based on associated internet protocol addressing
US10356461B2 (en) 2013-03-15 2019-07-16 adRise, Inc. Adaptive multi-device content generation based on associated internet protocol addressing
US10594763B2 (en) * 2013-03-15 2020-03-17 adRise, Inc. Platform-independent content generation for thin client applications
US9575873B2 (en) 2013-09-13 2017-02-21 Sap Se Software testing system and method
CN103544037B (zh) * 2013-10-29 2016-08-17 飞天诚信科技股份有限公司 一种支持OpenSC的软硬件驱动的实现方法
US20150339111A1 (en) * 2014-05-21 2015-11-26 Google Inc. Automatic discovery and installation of applications via the internet in response to coupling of hardware device to computing device
CN104093165B (zh) * 2014-06-25 2018-10-23 北京奇虎科技有限公司 一种在浏览器中进行无线网络连接的方法、装置和浏览器
CN104123353B (zh) * 2014-07-14 2017-11-28 可牛网络技术(北京)有限公司 一种提高浏览器安全性的方法及系统
US10841316B2 (en) 2014-09-30 2020-11-17 Citrix Systems, Inc. Dynamic access control to network resources using federated full domain logon
US10122703B2 (en) 2014-09-30 2018-11-06 Citrix Systems, Inc. Federated full domain logon
CN105592115A (zh) * 2014-10-23 2016-05-18 广东华大互联网股份有限公司 一种分布式智能卡行业应用系统和方法
JP6358063B2 (ja) * 2014-12-02 2018-07-18 富士通株式会社 要求送信方法、情報処理装置、及びプログラム
CN104866875B (zh) * 2015-04-13 2019-02-12 东信和平科技股份有限公司 一种智能卡远程检测方法及系统
CN104881318B (zh) * 2015-05-07 2019-06-25 珠海豹趣科技有限公司 一种接口调用方法、装置及终端
CN105243407B (zh) * 2015-10-09 2018-12-07 腾讯科技(深圳)有限公司 读写智能卡的方法及装置
US11868989B1 (en) 2015-12-30 2024-01-09 Wells Fargo Bank, N.A. Mobile wallets and companion smart cards
US10546289B1 (en) 2015-12-30 2020-01-28 Wells Fargo Bank, N.A. Mobile wallets with automatic element selection
US10165132B2 (en) 2016-01-15 2018-12-25 Ricoh Company, Ltd. Server apparatus, information processing system, and information processing method for user authentication
US10902405B1 (en) * 2016-05-11 2021-01-26 Wells Fargo Bank, N.A. Transient mobile wallets
US10235189B2 (en) * 2016-11-02 2019-03-19 Wyse Technology L.L.C. Isolating a redirected smart card reader to a remote session
US10231116B2 (en) 2017-06-21 2019-03-12 International Business Machines Corporation Communication access services for mobile phones
US10476870B2 (en) 2017-08-25 2019-11-12 Microsoft Technology Licensing, Llc Local claim-based security service with cross-browser compatibility
CN107748681A (zh) * 2017-10-27 2018-03-02 努比亚技术有限公司 一种接口合并控制方法、设备及计算机可读存储介质
US11164188B2 (en) * 2017-11-14 2021-11-02 Intel Corporation Methods and apparatus to securely handle chip cards
US10958640B2 (en) * 2018-02-08 2021-03-23 Citrix Systems, Inc. Fast smart card login
CN108647757A (zh) * 2018-05-14 2018-10-12 四川爱创科技有限公司 应用于rfid自动售货柜的标签录入方法
US10546444B2 (en) 2018-06-21 2020-01-28 Capital One Services, Llc Systems and methods for secure read-only authentication
US20200099738A1 (en) * 2018-09-24 2020-03-26 Citrix Systems, Inc. Systems and methods for bridge protocol between diverse applications
US10489781B1 (en) 2018-10-02 2019-11-26 Capital One Services, Llc Systems and methods for cryptographic authentication of contactless cards
CA3113101A1 (en) 2018-10-02 2020-04-09 Capital One Services, Llc Systems and methods for cryptographic authentication of contactless cards
WO2020072552A1 (en) 2018-10-02 2020-04-09 Capital One Services, Llc Systems and methods for cryptographic authentication of contactless cards
WO2020072529A1 (en) 2018-10-02 2020-04-09 Capital One Services, Llc Systems and methods for cryptographic authentication of contactless cards
US10771253B2 (en) 2018-10-02 2020-09-08 Capital One Services, Llc Systems and methods for cryptographic authentication of contactless cards
US10582386B1 (en) 2018-10-02 2020-03-03 Capital One Services, Llc Systems and methods for cryptographic authentication of contactless cards
AU2019351906A1 (en) 2018-10-02 2021-03-18 Capital One Services, Llc Systems and methods for cryptographic authentication of contactless cards
WO2020072694A1 (en) 2018-10-02 2020-04-09 Capital One Services, Llc Systems and methods for cryptographic authentication of contactless cards
US10771254B2 (en) 2018-10-02 2020-09-08 Capital One Services, Llc Systems and methods for email-based card activation
US10992477B2 (en) 2018-10-02 2021-04-27 Capital One Services, Llc Systems and methods for cryptographic authentication of contactless cards
BR112021004710A2 (pt) 2018-10-02 2021-06-08 Capital One Services, Llc sistema e método para transmitir dados
US10949520B2 (en) 2018-10-02 2021-03-16 Capital One Services, Llc Systems and methods for cross coupling risk analytics and one-time-passcodes
MX2021003217A (es) 2018-10-02 2021-05-12 Capital One Services Llc Sistemas y metodos para autentificacion criptografica de tarjetas sin contacto.
US10581611B1 (en) 2018-10-02 2020-03-03 Capital One Services, Llc Systems and methods for cryptographic authentication of contactless cards
US10505738B1 (en) 2018-10-02 2019-12-10 Capital One Services, Llc Systems and methods for cryptographic authentication of contactless cards
US10511443B1 (en) 2018-10-02 2019-12-17 Capital One Services, Llc Systems and methods for cryptographic authentication of contactless cards
WO2020072583A1 (en) 2018-10-02 2020-04-09 Capital One Services, Llc Systems and methods for establishing identity for order pick up
US10554411B1 (en) 2018-10-02 2020-02-04 Capital One Services, Llc Systems and methods for cryptographic authentication of contactless cards
US10685350B2 (en) 2018-10-02 2020-06-16 Capital One Services, Llc Systems and methods for cryptographic authentication of contactless cards
US10607214B1 (en) 2018-10-02 2020-03-31 Capital One Services, Llc Systems and methods for cryptographic authentication of contactless cards
US10909527B2 (en) 2018-10-02 2021-02-02 Capital One Services, Llc Systems and methods for performing a reissue of a contactless card
US11210664B2 (en) 2018-10-02 2021-12-28 Capital One Services, Llc Systems and methods for amplifying the strength of cryptographic algorithms
US10592710B1 (en) 2018-10-02 2020-03-17 Capital One Services, Llc Systems and methods for cryptographic authentication of contactless cards
AU2019354421A1 (en) 2018-10-02 2021-04-29 Capital One Services, Llc Systems and methods for cryptographic authentication of contactless cards
WO2020072474A1 (en) 2018-10-02 2020-04-09 Capital One Services, Llc Systems and methods for cryptographic authentication of contactless cards
US10565587B1 (en) 2018-10-02 2020-02-18 Capital One Services, Llc Systems and methods for cryptographic authentication of contactless cards
US10680824B2 (en) 2018-10-02 2020-06-09 Capital One Services, Llc Systems and methods for inventory management using cryptographic authentication of contactless cards
US10579998B1 (en) 2018-10-02 2020-03-03 Capital One Services, Llc Systems and methods for cryptographic authentication of contactless cards
US10783519B2 (en) 2018-10-02 2020-09-22 Capital One Services, Llc Systems and methods for cryptographic authentication of contactless cards
US10542036B1 (en) 2018-10-02 2020-01-21 Capital One Services, Llc Systems and methods for signaling an attack on contactless cards
US20200226581A1 (en) 2019-01-11 2020-07-16 Capital One Services, Llc Systems and methods for touch screen interface interaction using a card overlay
US11037136B2 (en) 2019-01-24 2021-06-15 Capital One Services, Llc Tap to autofill card data
US10510074B1 (en) 2019-02-01 2019-12-17 Capital One Services, Llc One-tap payment using a contactless card
US11120453B2 (en) 2019-02-01 2021-09-14 Capital One Services, Llc Tap card to securely generate card data to copy to clipboard
US11082229B2 (en) 2019-03-18 2021-08-03 Capital One Services, Llc System and method for pre-authentication of customer support calls
US10523708B1 (en) 2019-03-18 2019-12-31 Capital One Services, Llc System and method for second factor authentication of customer support calls
US10535062B1 (en) 2019-03-20 2020-01-14 Capital One Services, Llc Using a contactless card to securely share personal data stored in a blockchain
US10643420B1 (en) 2019-03-20 2020-05-05 Capital One Services, Llc Contextual tapping engine
US10984416B2 (en) 2019-03-20 2021-04-20 Capital One Services, Llc NFC mobile currency transfer
US10970712B2 (en) 2019-03-21 2021-04-06 Capital One Services, Llc Delegated administration of permissions using a contactless card
US11521262B2 (en) 2019-05-28 2022-12-06 Capital One Services, Llc NFC enhanced augmented reality information overlays
US10516447B1 (en) 2019-06-17 2019-12-24 Capital One Services, Llc Dynamic power levels in NFC card communications
US10871958B1 (en) 2019-07-03 2020-12-22 Capital One Services, Llc Techniques to perform applet programming
US11392933B2 (en) 2019-07-03 2022-07-19 Capital One Services, Llc Systems and methods for providing online and hybridcard interactions
US11694187B2 (en) 2019-07-03 2023-07-04 Capital One Services, Llc Constraining transactional capabilities for contactless cards
US10713649B1 (en) 2019-07-09 2020-07-14 Capital One Services, Llc System and method enabling mobile near-field communication to update display on a payment card
US10885514B1 (en) 2019-07-15 2021-01-05 Capital One Services, Llc System and method for using image data to trigger contactless card transactions
US10733601B1 (en) 2019-07-17 2020-08-04 Capital One Services, Llc Body area network facilitated authentication or payment authorization
US11182771B2 (en) 2019-07-17 2021-11-23 Capital One Services, Llc System for value loading onto in-vehicle device
US10832271B1 (en) 2019-07-17 2020-11-10 Capital One Services, Llc Verified reviews using a contactless card
US11521213B2 (en) 2019-07-18 2022-12-06 Capital One Services, Llc Continuous authentication for digital services based on contactless card positioning
US10506426B1 (en) 2019-07-19 2019-12-10 Capital One Services, Llc Techniques for call authentication
US10541995B1 (en) 2019-07-23 2020-01-21 Capital One Services, Llc First factor contactless card authentication system and method
CN114746913A (zh) 2019-10-02 2022-07-12 第一资本服务有限责任公司 使用非接触式传统磁条数据的客户端设备认证
US11657144B2 (en) * 2019-11-08 2023-05-23 Vmware, Inc. Security-enhanced file open and download
US10657754B1 (en) 2019-12-23 2020-05-19 Capital One Services, Llc Contactless card and personal identification system
US10885410B1 (en) 2019-12-23 2021-01-05 Capital One Services, Llc Generating barcodes utilizing cryptographic techniques
US10862540B1 (en) 2019-12-23 2020-12-08 Capital One Services, Llc Method for mapping NFC field strength and location on mobile devices
US11113685B2 (en) 2019-12-23 2021-09-07 Capital One Services, Llc Card issuing with restricted virtual numbers
US10733283B1 (en) 2019-12-23 2020-08-04 Capital One Services, Llc Secure password generation and management using NFC and contactless smart cards
US11651361B2 (en) 2019-12-23 2023-05-16 Capital One Services, Llc Secure authentication based on passport data stored in a contactless card
US11615395B2 (en) 2019-12-23 2023-03-28 Capital One Services, Llc Authentication for third party digital wallet provisioning
US10664941B1 (en) 2019-12-24 2020-05-26 Capital One Services, Llc Steganographic image encoding of biometric template information on a card
US10853795B1 (en) 2019-12-24 2020-12-01 Capital One Services, Llc Secure authentication based on identity data stored in a contactless card
US11200563B2 (en) 2019-12-24 2021-12-14 Capital One Services, Llc Account registration using a contactless card
US10757574B1 (en) 2019-12-26 2020-08-25 Capital One Services, Llc Multi-factor authentication providing a credential via a contactless card for secure messaging
US10909544B1 (en) 2019-12-26 2021-02-02 Capital One Services, Llc Accessing and utilizing multiple loyalty point accounts
US11038688B1 (en) 2019-12-30 2021-06-15 Capital One Services, Llc Techniques to control applets for contactless cards
US11455620B2 (en) 2019-12-31 2022-09-27 Capital One Services, Llc Tapping a contactless card to a computing device to provision a virtual number
US10860914B1 (en) 2019-12-31 2020-12-08 Capital One Services, Llc Contactless card and method of assembly
DE102020104646A1 (de) 2020-02-21 2021-08-26 Deutsche Telekom Ag Browserbasierter Fernzugriff auf Hardware-Sicherheitsmodul
US11210656B2 (en) 2020-04-13 2021-12-28 Capital One Services, Llc Determining specific terms for contactless card activation
US11823175B2 (en) 2020-04-30 2023-11-21 Capital One Services, Llc Intelligent card unlock
US10915888B1 (en) 2020-04-30 2021-02-09 Capital One Services, Llc Contactless card with multiple rotating security keys
US11030339B1 (en) 2020-04-30 2021-06-08 Capital One Services, Llc Systems and methods for data access control of personal user data using a short-range transceiver
US10861006B1 (en) 2020-04-30 2020-12-08 Capital One Services, Llc Systems and methods for data access control using a short-range transceiver
US11222342B2 (en) 2020-04-30 2022-01-11 Capital One Services, Llc Accurate images in graphical user interfaces to enable data transfer
US10963865B1 (en) 2020-05-12 2021-03-30 Capital One Services, Llc Augmented reality card activation experience
US11063979B1 (en) 2020-05-18 2021-07-13 Capital One Services, Llc Enabling communications between applications in a mobile operating system
US11100511B1 (en) 2020-05-18 2021-08-24 Capital One Services, Llc Application-based point of sale system in mobile operating systems
CN113867826A (zh) * 2020-06-11 2021-12-31 深圳市文鼎创数据科技有限公司 扩展包访问控制方法、装置、Java智能卡及存储介质
US11062098B1 (en) 2020-08-11 2021-07-13 Capital One Services, Llc Augmented reality information display and interaction via NFC based authentication
US11482312B2 (en) 2020-10-30 2022-10-25 Capital One Services, Llc Secure verification of medical status using a contactless card
US11165586B1 (en) 2020-10-30 2021-11-02 Capital One Services, Llc Call center web-based authentication using a contactless card
US11373169B2 (en) 2020-11-03 2022-06-28 Capital One Services, Llc Web-based activation of contactless cards
US11216799B1 (en) 2021-01-04 2022-01-04 Capital One Services, Llc Secure generation of one-time passcodes using a contactless card
US11682012B2 (en) 2021-01-27 2023-06-20 Capital One Services, Llc Contactless delivery systems and methods
US11562358B2 (en) 2021-01-28 2023-01-24 Capital One Services, Llc Systems and methods for near field contactless card communication and cryptographic authentication
US11792001B2 (en) 2021-01-28 2023-10-17 Capital One Services, Llc Systems and methods for secure reprovisioning
US11687930B2 (en) 2021-01-28 2023-06-27 Capital One Services, Llc Systems and methods for authentication of access tokens
US11438329B2 (en) 2021-01-29 2022-09-06 Capital One Services, Llc Systems and methods for authenticated peer-to-peer data transfer using resource locators
US11777933B2 (en) 2021-02-03 2023-10-03 Capital One Services, Llc URL-based authentication for payment cards
WO2022177613A1 (en) * 2021-02-16 2022-08-25 Citrix Systems, Inc. Computing device and associated methods providing browser launching of virtual sessions in an application
US11803398B2 (en) 2021-02-16 2023-10-31 Citrix Systems, Inc. Computing device and associated methods providing browser launching of virtual sessions in an application
US11637826B2 (en) 2021-02-24 2023-04-25 Capital One Services, Llc Establishing authentication persistence
US11245438B1 (en) 2021-03-26 2022-02-08 Capital One Services, Llc Network-enabled smart apparatus and systems and methods for activating and provisioning same
CN113515342A (zh) * 2021-04-09 2021-10-19 武汉天喻信息产业股份有限公司 一种web应用程序访问nfc智能卡的方法及中间件
US11935035B2 (en) 2021-04-20 2024-03-19 Capital One Services, Llc Techniques to utilize resource locators by a contactless card to perform a sequence of operations
US11961089B2 (en) 2021-04-20 2024-04-16 Capital One Services, Llc On-demand applications to extend web services
US11902442B2 (en) 2021-04-22 2024-02-13 Capital One Services, Llc Secure management of accounts on display devices using a contactless card
US11354555B1 (en) 2021-05-04 2022-06-07 Capital One Services, Llc Methods, mediums, and systems for applying a display to a transaction card
US20220405809A1 (en) 2021-06-21 2022-12-22 Tubi, Inc. Model serving for advanced frequency management

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2793576B1 (fr) * 1999-05-11 2001-11-16 Gemplus Card Int Terminal radiotelephonique avec une carte a puce dotee d'un navigateur
JP2000347869A (ja) * 1999-06-07 2000-12-15 Toshiba Corp Icカード利用装置、icカード及び記憶媒体
JP2000353216A (ja) * 1999-06-11 2000-12-19 Ntt Data Corp Icカードシステム、icカード端末、icカード処理方法及び記録媒体
FR2803706B1 (fr) * 1999-09-27 2002-03-08 Bull Cp8 Procede et architecture de pilotage a distance d'une station d'utilisateur via un reseau de type internet et leur application a un demonstrateur de carte a puce
FR2800540B1 (fr) * 1999-10-28 2001-11-30 Bull Cp8 Terminal securise muni d'un lecteur de carte a puce destine a communiquer avec un serveur via un reseau de type internet
US6691176B1 (en) * 1999-11-04 2004-02-10 Microsoft Corporation Method for managing client services across browser pages
US6738901B1 (en) * 1999-12-15 2004-05-18 3M Innovative Properties Company Smart card controlled internet access
JP2003525550A (ja) * 2000-03-02 2003-08-26 ティーアイヴィオー インコーポレイテッド パーソナルtvサービスへのインターネット・アクセスのためのシステム及び方法
JP2002312726A (ja) * 2001-04-13 2002-10-25 Nippon Telegr & Teleph Corp <Ntt> Icカード制御方法、端末装置、プログラム及び記録媒体
AUPR559101A0 (en) * 2001-06-08 2001-07-12 Canon Kabushiki Kaisha Card for service access
JP4160791B2 (ja) * 2001-07-03 2008-10-08 松下電器産業株式会社 情報利用料課金方法および情報利用料課金ユーザ端末
JP2003058375A (ja) * 2001-08-16 2003-02-28 Hitachi Ltd Icカード利用方法およびicカード利用端末
US7069562B2 (en) * 2001-12-12 2006-06-27 Sun Microsystems, Inc. Application programming interface for connecting a platform independent plug-in to a web browser
US20070005685A1 (en) * 2002-09-16 2007-01-04 Wunchun Chau Browser-based payment system
US8364968B2 (en) * 2006-05-19 2013-01-29 Symantec Corporation Dynamic web services systems and method for use of personal trusted devices and identity tokens

Also Published As

Publication number Publication date
EP2183667A1 (en) 2010-05-12
CN101821715A (zh) 2010-09-01
CN101821715B (zh) 2014-07-23
US7748609B2 (en) 2010-07-06
WO2009027409A1 (en) 2009-03-05
JP2010537340A (ja) 2010-12-02
US20090064301A1 (en) 2009-03-05

Similar Documents

Publication Publication Date Title
JP5534520B2 (ja) スマートカードにブラウザベースでアクセスするシステムおよび方法
US10404688B2 (en) Method and apparatus for enabling co-browsing of third party websites
US8364968B2 (en) Dynamic web services systems and method for use of personal trusted devices and identity tokens
US7519816B2 (en) Portable computing environment solution
US6338138B1 (en) Network-based authentication of computer user
US20040122774A1 (en) Method and system for executing applications on a mobile device
US20050177731A1 (en) Secure management of authentication information
US20080196096A1 (en) Methods for Extending a Security Token Based Identity System
US9069869B1 (en) Storing on a client device data provided by a user to an online application
US20080148377A1 (en) Management of Network Login Identities
WO2009045571A2 (en) Remote provision of consistent one-time password functionality for disparate on-line resources
CN102469080A (zh) 实现通行证用户安全登录应用客户端的方法和系统
RU2237275C2 (ru) Сервер и способ (варианты) определения программного окружения клиентского узла в сети с архитектурой клиент/сервер
KR20070061555A (ko) 네트워크형 콘텐츠 파일에 대한 액세스를 제공하는 데에있어서 액세스 제어 레벨을 할당하는 방법 및 장치
US10032027B2 (en) Information processing apparatus and program for executing an electronic data in an execution environment
US20110055573A1 (en) Supporting flexible use of smart cards with web applications
US8543810B1 (en) Deployment tool and method for managing security lifecycle of a federated web service
JP2008015733A (ja) ログ管理計算機
CN113672403B (zh) 信息系统中的接口调用方法及接口调用装置、管理信息系统
US8307411B2 (en) Generic framework for EAP
US20010049796A1 (en) Authentication-technology independent, non-programmatic method and apparatus for bootstrapping a user database from the WEB tier
US20050138435A1 (en) Method and system for providing a login and arbitrary user verification function to applications
CN106778193B (zh) 一种客户端和ui交互方法
JP2005065035A (ja) Icカードを利用した代理者認証システム
KR101171235B1 (ko) 인증서 운영 방법

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20110817

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20121219

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20121225

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20130313

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20130321

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20130328

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130625

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130917

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20131216

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20131224

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140311

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140418

R150 Certificate of patent or registration of utility model

Ref document number: 5534520

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250