IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ エイチアイディ グローバル ゲーエムベーハーの特許一覧

<>
  • 特許-リーダデバイス及びその構成方法 図1
  • 特許-リーダデバイス及びその構成方法 図2
  • 特許-リーダデバイス及びその構成方法 図3
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-01-15
(45)【発行日】2024-01-23
(54)【発明の名称】リーダデバイス及びその構成方法
(51)【国際特許分類】
   G06F 9/455 20180101AFI20240116BHJP
   G06F 21/34 20130101ALI20240116BHJP
   G06K 7/00 20060101ALI20240116BHJP
【FI】
G06F9/455
G06F21/34
G06K7/00 008
【請求項の数】 17
(21)【出願番号】P 2022554460
(86)(22)【出願日】2021-12-22
(65)【公表番号】
(43)【公表日】2023-05-22
(86)【国際出願番号】 EP2021087202
(87)【国際公開番号】W WO2022144261
(87)【国際公開日】2022-07-07
【審査請求日】2022-10-17
(31)【優先権主張番号】20217596.4
(32)【優先日】2020-12-29
(33)【優先権主張国・地域又は機関】EP
(73)【特許権者】
【識別番号】522356038
【氏名又は名称】エイチアイディ グローバル ゲーエムベーハー
【氏名又は名称原語表記】HID GLOBAL GMBH
(74)【代理人】
【識別番号】100105957
【弁理士】
【氏名又は名称】恩田 誠
(74)【代理人】
【識別番号】100068755
【弁理士】
【氏名又は名称】恩田 博宣
(74)【代理人】
【識別番号】100142907
【弁理士】
【氏名又は名称】本田 淳
(72)【発明者】
【氏名】ヴェラー、グンター
【審査官】北川 純次
(56)【参考文献】
【文献】特表2001-500999(JP,A)
【文献】特開2017-054350(JP,A)
【文献】特開2011-238138(JP,A)
【文献】特開2000-194660(JP,A)
【文献】米国特許出願公開第2011/0283002(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 9/455
G06F 21/34
G06K 7/00
(57)【特許請求の範囲】
【請求項1】
リーダデバイスであって、
前記リーダデバイスを構成する構成データを格納するメモリと、
前記リーダデバイスをホストデバイスに接続するように構成された第1のインタフェースと、
物理的なトークンを前記リーダデバイスに接続するように構成された第2のインタフェースと、
コントローラであって、
記メモリにアクセスしてデータを読み取り及び書き込みするように、
記第1のインタフェースを介して前記ホストデバイスと通信するように、
記第2のインタフェースを介して前記物理的なトークンと通信するように、
理的なトークンが前記リーダデバイスに接続されていないという検出に応答して、仮想トークンをエミュレートし、前記仮想トークンが前記リーダデバイスに接続されていることを表示する第1のメッセージを前記ホストデバイスに送信するように、且つ、
記ホストデバイスからの、前記仮想トークンをアドレス指定する少なくとも1つのコマンドの受信に応答して、前記少なくとも1つのコマンドに従って、前記メモリに格納されている前記構成データを修正するように、構成されたコントローラと、を含む、リーダデバイス。
【請求項2】
前記第1のメッセージは、前記リーダデバイスの少なくとも1つの特性を表示するリーダ情報を含む、請求項1に記載のリーダデバイス。
【請求項3】
前記リーダデバイスの前記少なくとも1つの特性は、前記リーダデバイスのシリアル番号又は前記リーダデバイスにインストールされているファームウェアのファームウェアバージョンのうちの少なくとも1つを含む、請求項2に記載のリーダデバイス。
【請求項4】
前記コントローラは、前記仮想トークンがエミュレートされている間に前記物理的なトークンが前記リーダデバイスに接続されているという検出に応答して、前記仮想トークンがもはや前記リーダデバイスに接続されていないことを表示する第2のメッセージを前記ホストデバイスに送信するように構成された、請求項1~請求項3のいずれか一項に記載のリーダデバイス。
【請求項5】
ユーザの選択に基づいて前記仮想トークンのエミュレーションを選択的にアクティブ化又は非アクティブ化するための手段をさらに含む、請求項1~請求項のいずれか一項に記載のリーダデバイス。
【請求項6】
前記メモリに格納されている前記構成データは、前記ユーザの選択を表示するデータを含む、請求項に記載のリーダデバイス。
【請求項7】
前記仮想トークンは、前記構成データを格納している前記メモリの少なくとも一部分を含む仮想メモリであって、前記ホストデバイスから受信した前記少なくとも1つのコマンドによってアドレス指定される前記仮想メモリを含む、請求項1~請求項のいずれか一項に記載のリーダデバイス。
【請求項8】
前記コントローラは、前記第1のインタフェースを介して、第1の規格に従って第1のコマンドのセットを受信し、前記物理的なトークンが前記第2のインタフェースを介して接続されているときに、前記第1のコマンドのセットを前記物理的なトークンに転送するように構成され、前記少なくとも1つのコマンドは、前記第1の規格に準拠し、且つ、前記コントローラによって実行される、請求項1~請求項のいずれか一項に記載のリーダデバイス。
【請求項9】
前記コントローラは、前記第1のインタフェースを介して前記第1の規格外の第2のコマンドのセットを受信し、前記物理的なトークンが前記第2のインタフェースを介して接続されると、前記第2のコマンドのセットを実行して前記メモリに格納されている前記構成データを修正するように構成された、請求項に記載のリーダデバイス。
【請求項10】
複数のリーダデバイスを管理するためのシステムであって、前記システムは、
集中管理デバイスと、
複数のホストデバイスと、
前記複数のホストデバイスにそれぞれ接続された請求項1~請求項のいずれか一項に記載の複数のリーダデバイスと、を含み、
前記集中管理デバイスは、関連付けされたホストデバイスから、前記仮想トークンが前記関連付けされたホストデバイスに接続された対応するリーダデバイスに接続されていることを表示する前記第1のメッセージを受信し、前記関連付けされたホストデバイスに前記少なくとも1つのコマンドを送信して、前記対応するリーダデバイスを構成するように構成された、システム。
【請求項11】
前記集中管理デバイスは、前記物理的なトークンが前記対応するリーダデバイスに接続されていることを表示する第3のメッセージを受信し、前記関連付けされたホストデバイスに第4のメッセージを送信して、前記物理的なトークンを取り除くようにユーザに要求するユーザプロンプトを前記関連付けされたホストデバイスに表示させるようにさらに構成された、請求項10に記載のシステム。
【請求項12】
前記複数のホストデバイスは、複数のデスクトップ又はラップトップコンピュータとして構成され、請求項10又は請求項11に記載のシステム。
【請求項13】
前記複数のデスクトップ又はラップトップコンピュータは、複数の異なるオペレーティングシステムを含む、請求項12に記載のシステム。
【請求項14】
前記複数のリーダデバイスは、複数の接触型又は非接触型スマートカードリーダとして構成された、請求項10~請求項13のいずれか一項に記載のシステム。
【請求項15】
前記集中管理デバイス上で動作する管理アプリケーションをさらに含み、前記管理アプリケーションは、前記第1のメッセージに基づいて、前記仮想トークンをエミュレートする前記対応するリーダデバイスの前記メモリのメモリ構造を識別するように、且つ、前記識別されたメモリ構造に従って前記少なくとも1つのコマンドを生成するように、構成された、請求項10~請求項14のいずれか一項に記載のシステム。
【請求項16】
リーダデバイスであって、構成データを格納するメモリと、前記リーダデバイスをホストデバイスに接続するように構成された第1のインタフェースと、物理的なトークンを前記リーダデバイスに接続するように構成された第2のインタフェースと、前記第1のインタフェースを介して前記ホストデバイスと通信し、前記メモリにアクセスしてデータを読み取り及び書き込みするように構成されたコントローラと、を含む、前記リーダデバイスを構成する方法であって、
物理的なトークンが前記リーダデバイスに接続されていないという検出に応答して、前記コントローラが、仮想トークンをエミュレートし、前記仮想トークンが前記リーダデバイスに接続されていることを表示する第1のメッセージを前記ホストデバイスに送信することと、
前記ホストデバイスから、前記コントローラが前記仮想トークンをアドレス指定する少なくとも1つのコマンドを受信することと、
前記少なくとも1つのコマンドに従って、前記コントローラが前記メモリに格納されている前記構成データを修正することと、を含む方法。
【請求項17】
リーダデバイスのコントローラによって実行されると、前記コントローラに以下のステップ、すなわち、
物理的なトークンが前記リーダデバイスに接続されていないという検出に応答して、仮想トークンをエミュレートし、前記リーダデバイスに接続されたホストデバイスに、前記仮想トークンが前記リーダデバイスに接続されていることを表示する第1のメッセージを送信するステップと、
前記ホストデバイスからの、前記仮想トークンをアドレス指定する少なくとも1つのコマンドの受信に応答して、前記リーダデバイスのメモリに格納されている構成データを前記少なくとも1つのコマンドに従って修正するステップと、を実行させるコンピュータ実行可能命令を含む、コンピュータプログラムを格納しているコンピュータ可読記録媒体
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、概して、トークン、例えば、スマートカードに格納されているデータを読み取るため及び書き込むためのリーダデバイスに関し、特に、このようなリーダデバイスを構成する方法に関する。
【背景技術】
【0002】
概して、スマートカードリーダなどのリーダは、種々様々な用途に使用されている。例えば、このようなリーダを使用してセキュリティトークンからデータを読み取り、物理的設備、コンピュータ、又はネットワークなどのリソースにアクセスできるようにすることが可能である。他のよく知られている用途としては、オンラインバンキング用途での使用、クレジットカード用端末としての使用などがある。1つの具体的な例として、エイチアイディ・グローバル(HID Global)のオムニキー(OMNIKEY)リーダは、デスクトップ用途、モバイルコンピュータ、又はプリンタなどのような多機能デバイス用リーダである。このようなリーダは、上述のリソースへのアクセス、オンラインバンキング又はデジタル署名用途など、あらゆる接触型又は非接触型スマートカード操作に適した、インストールが容易なUSBデバイスとして構成することができる。
【0003】
上述のリーダは、スタンドアロンのデバイスとすることもでき、又は例えば、デスクトップコンピュータに組み込むこともできる。さらに、このようなリーダは、概して、あらゆる主要なオペレーティングシステムをサポートし、リーダとリーダに接続されたホストデバイスとの間の高速データ送信を可能にする。
【0004】
用途によっては、複数のリーダを様々な場所、例えば、組織又は建物内に設けることができ、また、複数のリーダの様々な態様を管理する集中管理デバイスに接続させることができる。
【0005】
特許文献1は、プロセッサと、システムメモリと、リモートアクセスリソースと、を含む情報処理システムを開示している。このリモートアクセスリソースは、リモートアクセスリソースとリモートカードリーダとの間に通信チャネルを確立して、スマートカードリーダアクセス要求及びそれらの間の応答を通信できるようにする仮想カードリーダを含む。
【先行技術文献】
【特許文献】
【0006】
【文献】米国特許第7971238号明細書
【発明の概要】
【発明が解決しようとする課題】
【0007】
本開示は、少なくとも部分的に、先行するシステムの1つ又は複数の態様を改良又は克服することに向けられたものである。
【課題を解決するための手段】
【0008】
本開示の一態様によれば、リーダデバイスは、リーダデバイスを構成する構成データを格納するメモリを含む。リーダデバイスは、リーダデバイスをホストデバイスに接続するように構成された第1のインタフェースと、物理的なトークンをリーダデバイスに接続するように構成された第2のインタフェースと、メモリにアクセスして、メモリとの間でデータを読み取り及び書き込みし、第1のインタフェースを介してホストデバイスと通信し、第2のインタフェースを介して物理的なトークンと通信するように構成されたコントローラと、をさらに含む。加えて、コントローラは、物理的なトークンがリーダデバイスに接続されていないという検出に応答して、仮想トークンをエミュレートし、仮想トークンがリーダデバイスに接続されていることを表示する第1のメッセージをホストデバイスに送信するように構成されている。ホストデバイスからの、仮想トークンをアドレス指定する少なくとも1つのコマンドの受信に応答して、コントローラは、少なくとも1つのコマンドに従って、メモリに格納されている構成データを修正するようにさらに構成されている。
【0009】
別の態様では、本開示は、複数のリーダデバイスを管理するためのシステムに関する。システムは、集中管理デバイスと、複数のホストデバイスと、上記態様に従って複数のホストデバイスにそれぞれ接続されている複数のリーダデバイスと、を含む。管理デバイスは、関連付けされたホストデバイスから、仮想トークンが接続されていることを表示する第1のメッセージを受信し、関連付けされたホストデバイスに少なくとも1つのコマンドを送信して、この関連付けされたホストデバイスに接続されたリーダデバイスを構成するように構成されている。
【0010】
さらに別の態様では、本開示は、リーダデバイスを構成する方法に関し、リーダデバイスは、構成データを格納するメモリと、リーダデバイスをホストデバイスに接続するように構成された第1のインタフェースと、物理的なトークンをリーダデバイスに接続するように構成された第2のインタフェースと、第1のインタフェースを介してホストデバイスと通信し、メモリにアクセスして、メモリとの間でデータを読み取り及び書き込みするように構成されたコントローラと、を含む。方法は、物理的なトークンがリーダデバイスに接続されていないという検出に応答して、仮想トークンをエミュレートし、仮想トークンがリーダデバイスに接続されていることを表示する第1のメッセージをホストデバイスに送信することを含む。さらに、方法は、ホストデバイスから、仮想トークンをアドレス指定する少なくとも1つのコマンドを受信し、少なくとも1つのコマンドに従って、メモリに格納されている構成データを修正することを含む。
【0011】
さらなる態様では、本開示は、コンピュータ実行可能命令を含むコンピュータプログラムに関し、コンピュータ実行可能命令は、リーダデバイスのコントローラによって実行されると、コントローラに以下のステップ、すなわち、物理的なトークンがリーダデバイスに接続されていないという検出に応答して、仮想トークンをエミュレートし、リーダデバイスに接続されているホストデバイスに、仮想トークンがリーダデバイスに接続されていることを表示する第1のメッセージを送信するステップと、ホストデバイスからの、仮想トークンをアドレス指定する少なくとも1つのコマンドの受信に応答して、リーダデバイスのメモリに格納されている構成データを少なくとも1つのコマンドに従って修正するステップと、を実行させる。
【0012】
さらに別の態様では、本開示は、上記態様のコンピュータプログラムを格納しているコンピュータプログラム製品に関する。
本開示の他の特徴及び態様は、以下の説明及び添付の図面から明らかになるであろう。
【図面の簡単な説明】
【0013】
図1】本開示による、物理的なトークンが接続されているときのリーダデバイスを示す図である。
図2】仮想トークンがリーダデバイスによってエミュレートされているときの図1のリーダデバイスを示す図である。
図3】本開示による、複数のリーダデバイスを管理するためのシステムを示す図である。
【発明を実施するための形態】
【0014】
以下は、本開示の例示的な実施形態の詳細な説明である。本明細書に記載の例示的な実施形態は、当業者が、多くの様々な環境において、また多くの様々な用途のために本開示を実装し、使用できるようにする本開示の原理を教示することを意図している。したがって、例示的な実施形態は、保護範囲の説明を限定することを意図するものではなく、限定するものとして見なされないものとする。より正確に言えば、保護範囲は、添付の特許請求の範囲によって定義されるものとする。
【0015】
本開示は、現在使用されている多くのシステム、例えば、集中管理デバイスに接続された複数のリーダデバイスを含むネットワーク化されたシステムにおいて、リーダ構成の管理には、サポートするオペレーティングシステムにおいて異なる非標準設定が必要であり、又はさらにはリーダに接続するためのユーザインタラクションが必要である、という認識に少なくとも部分的に基づいている。これは、スマートカードリーダ群(population)のリモート管理又は集中管理を妨げる可能性がある。例えば、リーダデバイスが、オペレーティングシステムを含むホストデバイス(これは、ローカルの管理デバイスであってもまたよい)に接続されている場合、管理アプリケーションは、リーダに接続されたトークン(例えば、スマートカード)との通信に使用されるプロトコルの標準設定に対応していない特別なコマンドを使用して、リーダデバイスにアクセスしようとする場合がある。特に、トークンがリーダに接続されていない場合、アクセスの種類を問わずすべてが単純に拒絶される可能性がある。したがって、リーダを構成するには、最初にトークンをリーダに接続することが必要な場合がある。加えて、標準設定(例えば、オペレーティングシステム及び/又はリーダの設定)を変更して、リーダにその構成を更新させる適切な構成コマンドを送ることができるようにすることが必要な場合がある。
【0016】
さらに、特に、集中管理デバイスが、異なるホストデバイスに接続された複数のリーダを管理する場合には、集中管理デバイスとそれぞれのホストデバイスとの間のリモート接続は、リモートでそれぞれのリーダを構成するために必要なすべての特別なコマンドをサポートしなければならない。しかし、多くのアプリケーションでは、ローカルの管理デバイスが使用される場合でさえも、これは確実ではない。したがって、リーダデバイスの管理、特に、リーダデバイスの構成は、既知のシステムでは不可能な場合がある。
【0017】
本開示によれば、リーダがトークン(仮想トークン)をエミュレートするようにリーダを構成することによって、上記で概説した短所を克服し得ることがわかっている。特に、このエミュレーションは、物理的なトークンがリーダに存在しない場合に起こり得る。このようなエミュレートされたトークンに基づいて、すべてのトークン固有のセキュリティ機構を使用することができ、リーダのセキュアな(リモート)構成管理を可能にし得る。ユーザインタラクションは必要がなく、トークンのサブシステムに対して、又は、リーダが接続されているホストデバイスのオペレーティングシステムレベルにおいてさえも、特別な設定をまったく実行せずに集中型構成を実行することができる。
【0018】
リーダがこのような仮想トークンをエミュレートする場合、この仮想トークン(例えば、仮想スマートカード)は、このようなトークンと通信するために一般に使用される規格のコマンド及び方法によってアドレス指定することができる。例えば、これは、PC/SC規格を使用して特別な構成も設定もなしに、集中管理デバイスと各リーダとの間の通信を可能にし得る。言いかえれば、(集中)管理デバイスは、物理的なスマートカードと通信するのと同じやり方でリーダと通信する。したがって、リーダ構成には、例えば、スマートカード用に導入されたセキュリティ機構(例えば、セキュア通信、中間者(man-in-the-middle)攻撃の検出等々)のいずれかを使用して、任意のカードコマンド又はメモリ構造の一部としてアクセスすることができる。
【0019】
加えて、エミュレートされたカードは、リーダのシリアル番号又はリーダのファームウェアバージョンなどのリーダ固有の情報を集中管理デバイスに提示して、構成又は管理プロセスを容易にすることもまた可能であることがわかっている。ATR応答などのような、標準的な要求値の提示に加え、これを行うことができる。このように、管理デバイス上の管理アプリケーションは、物理的なトークンと仮想トークンとを区別し、後者を適切にアドレス指定して、前記仮想トークンをエミュレートしているリーダを構成することもまた可能である。いくつかの実施形態では、リーダ固有の情報は、適切なコマンドをリーダに送ることにより、ローカル管理デバイス又は集中管理デバイスによって要求することができ、その後、リーダのコントローラは、要求に従って、構成データ、又はリーダ固有の情報を含むその他のデータを読み取り、それらのデータを管理デバイスに転送するように構成することができる。
【0020】
物理的なトークンが存在しないとき(例えば、物理的なトークンが取り除かれていることを検出したとき)は常に、リーダがトークンエミュレーションモードに入ると、有利であることもまたわかっている。このように、リーダが現在使用されていないときは常に、リーダのリモート構成が可能である。この点に関して、物理的なトークンがリーダに提示されていることを管理デバイスに合図し、仮想トークンのエミュレーションを終了することが有利であることもまたわかっている。このように、管理者は、現在リーダの構成が可能でないことを認識することができる。
【0021】
さらに、仮想トークンのエミュレーションが顧客又は施設によってオンとオフを切り替えることができると、有利な場合があることがわかっている。このように、本明細書に記載の手法を必要としない、又は使用したくない顧客又は施設は、それぞれのリーダをリモート構成しないようにすることができる。
【0022】
図1は、本開示によるリーダデバイス10の一例を示している。図1に示されているように、リーダデバイス10は、リーダデバイス10を構成する構成データを格納するメモリ14を含む。ここで、メモリ14は、恒久的に、すなわち、リーダデバイス10が電源に接続されているか否かにかかわらずデータを格納することができる任意のタイプの既知の不揮発性メモリ(ROM、EEPROM、フラッシュ等々)、又はリーダデバイス10が電源に接続されている間に限りデータを格納する揮発性メモリとすることができることが認識されよう。当業者には、メモリ14に格納されている構成データは、リーダデバイス10が使用されることになる用途(例えば、識別目的、又はオンラインバンキング用など)に応じて、例えば、リーダデバイス10の動作を制御するファームウェア、リーダデバイス10の動作のための異なる設定、暗号化キー、PIN番号、ユーザIDなどのセキュリティデータ、リーダデバイス10を異なるオペレーティングシステム及び/又は異なるデバイスなどに接続するための互換性設定、を含む場合があることが容易に認識されよう。
【0023】
やはり図1に示されているように、リーダデバイス10は、リーダデバイス10をホストデバイス12に接続するように構成された第1のインタフェース16をさらに含む。例えば、第1のインタフェース16は、ホストデバイス12のUSBポートに接続するように構成されたUSBコネクタを含むUSBインタフェースとすることができる。先に言及したように、ホストデバイス12は、例えば、デスクトップコンピュータ、又はラップトップなどのようなモバイルコンピュータとすることができる。ホストデバイス12は、概して、ホストデバイス12の動作を制御し、且つ、第1のインタフェース16を介してのホストデバイス12とリーダデバイス10との間の通信もまた容易にするオペレーティングシステムを含むことが認識されよう。用途によっては、ホストデバイス12は、CCID規格をサポートするオペレーティングシステムを含むコンピュータとすることができ、対応するCCIDドライバを使用して、例えば、USB接続を介してリーダデバイス10と接続することができる。しかし、このようなUSB接続は単なる一例であり、第1のインタフェース16をUSBインタフェースに限定するものではないことを認識されたい。例えば、リーダデバイス10は、ホストデバイス12と一体化させ、内部の電気回路類を介してホストデバイスに接続させることも可能であろう。さらに、用途によっては、リーダデバイス10とホストデバイス12との間に有線の接続が存在しない場合があり、代わりに、ワイヤレスのインタフェースが第1のインタフェース16を形成する場合がある。
【0024】
リーダデバイス10は、第1のインタフェース16を介してホストデバイス12と通信するように構成されたコントローラ22をさらに含む。コントローラは、命令の実行、メモリ14へのアクセス等々を行うように構成された任意のタイプのプロセッサ又はハードウェア、例えば、マイクロコントローラなどとすることができる。さらに、コントローラ22は、第1のインタフェース16に動作可能に連結されて、リーダデバイス12との間で(1つ又は複数のコマンドを含む)メッセージを送信及び受信することができる。いくつかの実施形態では、専用の通信ユニットを第1のインタフェース16に接続させ、第1のインタフェース16とコントローラ22との間でメッセージを転送することができる。他の実施形態では、このような通信ユニット又は回路類は、コントローラ22に組み込むことができる。
【0025】
加えて、リーダデバイス10は、物理的なトークン20、例えば、接触型スマートカードをリーダデバイス10に接続するように構成された第2のインタフェース18を含む。コントローラ22は、第2のインタフェース18を介して物理的なトークン20と通信するように構成されている。例えば、リーダデバイス10は、任意の互換性を有する接触型スマートカードとともに使用するためのスマートカードリーダとすることができる。そのため、リーダデバイス10は、物理的なトークン20(例えば、スマートカード)用のレセプタクルを含むことができ、既知のやり方で第2のインタフェース18を介して物理的なトークンに電気的に接続することができる。この点に関しても同様に、他の用途では、第2のインタフェース18は、非接触型インタフェースとすることができ、物理的なトークン20は、例えば、RFIDスマートカードなどとすることができ、既知のやり方でリーダデバイス10にワイヤレスで接続されていることに留意されたい。
【0026】
コントローラ22は、PC/SC規格などの通信プロトコルに従って、例えば、物理的なトークン20からデータを受信し、ホストデバイス12にデータを転送することによって、及びホストデバイス12からコマンド、例えば、リーダデバイス10によって物理的なトークン20に転送される読み取り/書き込みコマンドとし得るコマンドを受信することによって、物理的なトークン20とホストデバイス12との間で通信を可能にするように構成されている。このような動作の詳細は、当業者には既知であるので、本明細書では説明しない。
【0027】
図1に示されているように、管理デバイス30、例えば、集中管理デバイスは、ホストデバイス12に接続させることができ、以下でより詳細に説明するやり方でリーダデバイス10を構成するために使用することができる。ここで、管理デバイス30は、例えば、インターネットを介してワイヤレス及び/又は有線でホストデバイス12に接続された任意の適切なコンピュータシステム又はサーバとすることができることが容易に認識されよう。
【0028】
先に言及したように、ホストデバイス12は、マイクロソフト(Microsoft)(登録商標)のウィンドウズ(Windows)(登録商標)、リナックス(Linux)(登録商標)、又はアップル(Apple)(登録商標)のマックオーエステン(MacOS X)のような汎用の、マルチプログラムのオペレーティングシステムを実行するコンピュータとすることができる。さらに、リーダデバイス10は、リーダデバイスと呼ばれているが、例えば、物理的なトークン20からのデータの読み取りだけでなく、物理的なトークンへのデータの書き込みもまた可能であることが認識されよう。
【0029】
いくつかの事例では、リーダデバイス10の構成、特に、メモリ14に格納されている構成データを更新することが必要であるか、又は望まれる場合がある。そうするために、管理者は、管理デバイス30(又は、純然たるローカル構成の場合には、ホストデバイス12)上で対応する管理アプリケーションを起動し、ホストデバイス12を介して対応する構成コマンドをリーダデバイス10に転送することができる。ただし、アプリケーションによっては、リーダデバイス10及び/又は物理的なトークン20と通信するために使用される規格の非標準設定を使用して、構成コマンドを転送することが必要な場合がある。一例では、既知のPC/SC規格が使用される場合には、物理的なトークン20をアドレス指定する代わりに、PC/SCコマンドの特別なセットを使用して、リーダデバイス10を直接アドレス指定しなければならない。ただし、物理的なトークン20がリーダデバイス10に接続されていない場合、及び/又は、管理デバイス30とホストデバイス12との間の接続(及び/又は、ホストデバイス12とリーダデバイス10との間の接続)がこのような非標準設定をサポートしていない場合には、リーダデバイス10の構成は不可能である。したがって、管理者は、オペレーションシステム設定を変更するために、ローカルホストデバイス12にアクセスして構成を実行することが必要になるか、又は物理的なスマートカードなどをリーダデバイス10に挿入しなければならないか、のいずれかとなる。
【0030】
この短所を克服するために、本開示によれば、物理的なトークン20がリーダデバイス10に接続されていないことが検出されると、コントローラ22は、仮想トークン26をエミュレートし、仮想トークン26がリーダデバイス10に接続されていることを表示する第1のメッセージをホストデバイス12に送信するように構成されている。例えば、コントローラ22、又はコントローラに接続された専用の検出ユニットは、物理的なトークン20が取り除かれたこと(物理的接続の場合)、及び/又はリーダデバイス10から切断されたことを検出するように構成することができる。物理的なトークン20の切断の検出には種々様々な可能性があることが容易に認識されよう(メカニカルスイッチ、ワイヤレス接続されているトークン20からの応答のタイムアウト、トークン20から受信される特定のメッセージ等々)。いずれにせよ、物理的なトークンがリーダデバイス10に接続されていないことが検出されたら、コントローラ22は、仮想トークン26のエミュレーションを起動する。これについて図2に示す。
【0031】
図2に示されている例では、コントローラ22は、仮想トークン26がリーダデバイス10に接続されていることを表示する第1のメッセージをホストデバイス12に送信することによって、仮想トークン26をエミュレートする。このように、リーダデバイス10は、トークンに「なりすます(impersonate)」。これにより、仮想トークン26は、リーダデバイス10を介してホストデバイス12に接続されていると見なされ、仮想トークン26の接続に関する情報をホストデバイス12から管理デバイス30に転送することが可能である。したがって、管理デバイス30では、仮想トークン26がホストデバイス12に接続されているように見える。
【0032】
管理デバイス30は、仮想トークン26をアドレス指定する少なくとも1つのコマンドとして、リーダデバイス10のための1つ又は複数の構成コマンドをここで送信することができる。任意に、管理デバイスは、例えば、リーダデバイス10の現在の構成を指定するなど、リーダ情報を要求する初期コマンドを送信することができる。これに基づいて、次に、構成を更新するためのさらなるコマンドをリーダデバイス10に送ることができる。前記少なくとも1つのコマンドは、ホストデバイス12によって第1のインタフェース16を介してリーダデバイス10に転送される。前記少なくとも1つのコマンドの受信に応答して、リーダデバイス10のコントローラ22は、次に、少なくとも1つのコマンドに従って、メモリ14に格納されている構成データを読み取り又は修正することができる。例えば、少なくとも1つのコマンドは、仮想トークン26の仮想メモリ28をアドレス指定することができ、この仮想メモリ28は、構成データを格納しているメモリ14の少なくとも一部分を含むことができる。このように、標準的なコマンドは通常、物理的なトークン20にデータを書き込むために使用されるが、それらを使用して、仮想トークン26の仮想メモリ28にデータを代わりに書き込むことができる。なお、この仮想メモリ28は、構成データを格納しているメモリ14の部分(又は、いくつかの実施形態では、全部)に相当する。
【0033】
リーダデバイス10を構成し易くするために、仮想トークン26がリーダデバイス10に接続されていることを表示する第1のメッセージは、リーダデバイス10の少なくとも1つの特性、例えば、リーダデバイスのシリアル番号、リーダデバイスにインストールされているファームウェアのファームウェアバージョンなどを表示するリーダ情報を含むことができる。加えて、第1のメッセージは、リーダデバイス10のメモリ14(及び/又は仮想メモリ28)のメモリ構造に関しての情報もまた含むことができる。この情報は、仮想トークン26の仮想メモリ28を適切にアドレス指定するために、管理デバイス30によって使用することができる。例えば、第1のメッセージは、構成データ(例えば、更新された暗号化キー、新たなファームウェアの改訂など)が書き込みされることになるメモリアドレス又はメモリ領域を指定する情報を含むことができる。いくつかの実施形態では、第1のメッセージは、ホストデバイス12から対応する要求を受信し次第、リーダデバイス10によって送ることができる。
【0034】
本明細書で使用される「エミュレーション」という用語は、広義に解釈されるものとすることを認識されたい。上記の例では、この用語は、ホストデバイス12及び管理デバイス30へのトークンとしてそれ自体を識別するリーダデバイス10(リーダデバイスのコントローラ22)を指す。この場合、管理デバイス30に転送される第1のメッセージに、トークンのタイプを指定する情報、すなわち、概して仮想トークン26と同じやり方ではアドレス指定されないであろう物理的なトークン20の代わりに、リーダデバイス10の上記構成を可能にする仮想トークン26が接続されていることを管理デバイス30に知らせる情報を含めることが必要な場合がある。しかし、コントローラ22は、物理的なトークン20が接続されていないという事実にもかかわらず、トークンがリーダデバイス10に接続されていることを本質的にシミュレートすることによって、仮想トークン26をエミュレートすることもまた可能な場合がある。例えば、コントローラ22は、このような仮想トークン26の仮想メモリ28と、構成設定を格納しているメモリ14の部分との間のマッピングを実行することも可能であろう。管理デバイス30は、次に、仮想トークン26の仮想メモリ28にデータを書き込むための適切な書き込みコマンドを転送することができる。このデータが、次に、マッピングを使用してメモリ14の適切な部分に書き込まれる。
【0035】
仮想トークン26がエミュレートされている間に物理的なトークン20がリーダデバイス10に接続されているという検出に応答して、コントローラ22は、仮想トークン26がもはやリーダデバイス10に接続されていないことを表示する第2のメッセージをホストデバイス12に送信するようにさらに構成されることが有利な場合がある。このメッセージは、次に、管理デバイス30に転送することができ、管理者に現在リーダデバイス10の構成が不可能であることが通知されることになる。この場合、管理者は、必要な場合に、リーダデバイス10の構成を可能にする対応手段を開始すること(例えば、物理的なトークン20が取り除かれなければならないことを現場のオペレータ又はユーザに知らせること)、又は更新が絶対に必要というわけではない場合には、後でリーダデバイス10を適宜更新するように計画することができる。
【0036】
用途によっては、エンドユーザ又は機関が、リーダデバイス10のリモート構成の可能性を選択的にアクティブ化又は非アクティブ化することを望む場合もまたあり得る。例えば、適切な入力又はインタフェースを提供することができ、これにより、ユーザの選択に基づいて選択的なアクティブ化又は非アクティブ化が可能になる。これは、例えば、リーダデバイス10による仮想トークン26のエミュレーションを非アクティブ化するためにホストデバイス12上で使用可能な物理的なボタン、又はソフトウェア構成設定とすることが可能であろう。いくつかの実施形態では、メモリ14に格納されている構成データは、このようなユーザの選択を表示するデータを含むことができる。エミュレーションが非アクティブ化されており、対応する構成データがメモリ14に格納されている場合、エミュレーション及びリモート構成の可能性を再びアクティブ化するには、ローカルの再構成が必要になることが認識されよう。
【0037】
上記で言及したように、用途によっては、例えば、スマートカード用途では、コントローラ22は、第1のインタフェース16を介して第1の規格(例えば、PC/SC)に従って第1のコマンドのセットを受信し、物理的なトークン20が第2のインタフェース18を介して接続されると、第1のコマンドのセットを物理的なトークン20に転送するように構成することができる。仮想トークンに送られる少なくとも1つのコマンドは、この第1の規格に準拠しており、仮想トークン26をエミュレートするコントローラ22によって実行することができる。言いかえれば、スマートカードのアドレス指定に使用される規格のコマンドは、代わりにリーダデバイス10のアドレス指定に使用することができ、リーダデバイス10に接続された物理的なスマートカードに伝達される代わりに、コントローラ22によって実行することができる。この例では、コントローラ22もまた、第1のインタフェース16を介して第1の規格外の第2のコマンドのセットを受信し、物理的なトークン20が第2のインタフェース18を介して接続されると、第2のコマンドのセットを実行してメモリ14に格納されている構成データを修正するように構成することができる。例えば、第2のコマンドのセットは、リーダデバイス10を直接アドレス指定するために使用可能なPC/SC規格の拡張コマンドに相当し得る。
【0038】
先に言及したように、本開示による上記リーダデバイス10は、図3に示されているように、集中管理デバイス30を使用して複数のリーダデバイスの集中的管理に関連して有利に使用することができる。
【0039】
図3は、複数のリーダデバイス10を管理するための例示的なシステム100を示している。システムは、集中管理デバイス30と、複数のホストデバイス12と、それぞれが複数のホストデバイス12に接続されている本開示による複数のリーダデバイス10と、を含む。先に言及したように、管理デバイス30は、関連付けされたホストデバイスから、仮想トークン26が接続されていることを表示する第1のメッセージを受信し、リーダデバイス10を構成するための少なくとも1つのコマンドを、関連付けされたホストデバイスに送信するように構成されている。
【0040】
図3に示されているように、システム100は、管理デバイス30上で動作する管理アプリケーション32をさらに含むことができる。管理アプリケーション32は、仮想トークン26を識別するだけでなく、仮想トークン26がエミュレートされると、対応するホストデバイス12から受信した第1のメッセージに基づいて、仮想トークン26をエミュレートするリーダデバイス10のメモリ14のメモリ構造も識別するように構成することができる。これに基づいて、管理アプリケーション32は、識別されたメモリ構造に従ってリーダデバイス10を構成するための少なくとも1つのコマンドを生成することができる。当然ながら、管理アプリケーション32が第1のメッセージに含まれるリーダ情報を使用してメモリ14のメモリ構造を識別し、適切なコマンドを生成する場合もあり得る。
【0041】
いくつかの実施形態では、図3に示されているように、管理デバイス30は、物理的なトークン20が関連付けされたホストデバイス12に接続されていることを表示する第3のメッセージを受信するようにさらに構成することができる。これに応答して、管理デバイス30は、関連付けされたホストデバイス12に第4のメッセージを送信し、物理的なトークンを取り除くようにユーザに要求するユーザプロンプトをホストデバイスに表示させることができる。例えば、対応するプロンプトは、ホストデバイス12のディスプレイ上に提示することができる。この場合、ユーザがユーザプロンプトを認識し、物理的なトークン20を取り除くと、リーダデバイス12は、次に、仮想トークン26のエミュレーションを再び開始することができ、リーダデバイス12のリモート構成が可能になる。
【0042】
本開示によるリーダデバイスを構成する例示的な方法を以下で説明する。第1のステップにおいて、物理的なトークン20がリーダデバイス10に接続されていないことが(例えば、コントローラ22によって)検出される。これに応答して、仮想トークン26がエミュレートされ、仮想トークン26がリーダデバイス10に接続されていることを表示する第1のメッセージが、ホストデバイス12に送信される。ここで、物理的なトークンが接続されていないことを検出するステップ、仮想トークンをエミュレートするステップ、及び第1のメッセージを送信するステップは、リーダデバイス10によって、特に、リーダデバイスのコントローラ22によって実行されることが認識されよう。
【0043】
後続のステップにおいて、リーダデバイス10は、ホストデバイス12から、仮想トークン26をアドレス指定する少なくとも1つのコマンドもまた受信する。前記少なくとも1つのコマンドは、例えば、集中管理デバイス30によって上述したやり方で生成される。さらに、方法は、少なくとも1つのコマンドに従って、リーダデバイス10のメモリ14に格納されている構成データを修正することを含む。上述したように、修正するステップは、リーダデバイス10のコントローラ22によって、適切なやり方で構成データをメモリ14に書き込みすることにより実行される。
【0044】
上記で特定されたステップはリーダデバイス10によって実行されているが、任意の数の追加のステップがホストデバイス12及び管理デバイス30によって、適宜、又は必要に応じて実行されることが容易に認識されよう。例えば、方法は、ホストデバイス12を介して、リーダデバイス10から受信した第1のメッセージを管理デバイス30に転送することを含むことが容易に認識されよう。同様に、方法は、管理デバイス30によって、特に、管理デバイス上で動作する管理アプリケーション32によって、少なくとも1つのコマンドを生成するステップを含む。これは、リーダデバイス10から第1のメッセージとともに受信されるリーダ情報に基づいて行うことができる。次に、生成された少なくとも1つのコマンドは、管理デバイス30からホストデバイス12を介して、仮想トークン26をエミュレートするリーダデバイス10に転送される。当然ながら、本開示によるリーダデバイス及びシステムの前述したさらなる態様に従って、任意の数の追加のステップを含み得ることが容易に認識されよう。
【0045】
また、リーダデバイス10のコントローラによって実行されると、コントローラに上記方法のステップの少なくともいくつかを実行させるコンピュータ実行可能命令を含むコンピュータプログラムも、本開示の有利な実施形態であることも認識されよう。例えば、このようなコンピュータプログラムであれば、既存のリーダデバイス10用のファームウェアの更新として構成することが可能であろう。言いかえれば、管理者は、例えば、ローカルにファームウェアの更新を用いてリーダデバイス10の構成の第1の更新を実行し、これにより、更新されたリーダデバイス10が上述したエミュレーションを実行できるようにすることが可能であろう。その後、更新されたリーダデバイスはどれも、リモートで構成することができる。この点に関して、コンピュータプログラムを格納しているコンピュータプログラム製品が、上述の更新及び/又は構成を可能にするために、既存のシステムの所有者又はオペレータに配布可能であることもまた認識されよう。
【0046】
前述の説明は、開示されているシステム及び方法の例を提供することが認識されよう。しかし、本開示の他の実装形態は、前述の例とは細部が異なる可能性があることが企図される。本開示又はその例に対する言及はすべて、その時点で論じている特定の例を参照することを意図しており、全般的な開示に関する何らの限定をも含意することを意図していない。
【0047】
本明細書における値の範囲の叙述は、本明細書に特段の表示がない限り、範囲内に入るそれぞれの別個の値を個々に参照するための省略表現法としての役割を果たすことを単に意図しており、それぞれの別個の値は、あたかも本明細書に個別に叙述されているかのように本明細書に組み込まれる。特段の表示がない限り、又は文脈によって明らかに否定されない限り、本明細書に記載の方法ステップはすべて、任意の適切な順序で実行することができる。
【0048】
本開示の好適な実施形態を本明細書で説明してきたが、以下の特許請求の範囲から逸脱することなく、改良及び修正を組み込むことができる。
【産業上の利用可能性】
【0049】
複数のこのようなリーダデバイスを管理するための上記リーダデバイス及びシステムを用いると、効率的、且つ、信頼性の高い、特にリモートでのリーダデバイスの管理が可能になる。
図1
図2
図3