説明

ユーザ信頼装置のためのPIN管理方法及びユーザ信頼装置

【課題】 ユーザ信頼装置の安全なPIN管理のための方法を提供する。
【解決手段】 本発明は、特に、永続的メモリ(15’’)、非永続的メモリ(15’)に結合された計算手段(15)と、ユーザ(1)、スマート・カードのようなメモリ・カード(16)及び端末(30)と結合又は対話するためのインターフェース(17、18、20)に結合された計算手段(15)を有するユーザ信頼装置(10)の安全なPIN管理のための方法に向けられ、本方法は、メモリ・カード(16)に結合された装置を準備するステップと、装置において、外部PIN及びカードPINを受信するステップであって、カードPINはメモリ・カードをロック解除することができる、ステップと、計算手段を介して、受信したPINから、キーを生成し、永続的メモリ上に格納して、外部PIN及びキーを引数として利用し、永続的メモリ上に格納された関数(f)を介して、カードPINを計算できるようにするステップと、端末において、外部PINのユーザ入力を受信し、外部PINを装置に通信するステップと、計算手段に、格納された関数を用いてカードPINを計算するように命令するステップと、計算されたカードPINを用いて、メモリ・カードをロック解除するステップとを含む。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、インターネット・バンキングに用いられるような、スマート・カードなどのPIN保護されたメモリ・カードを用いる、ユーザ信頼装置(user trusted device)に関する。具体的には、本発明は、そのような装置の安全なPIN管理に関する。
【背景技術】
【0002】
ユーザが入力したデータが攻撃者によって操作される又はコピーされることがあるので、PCに関連する安全上の問題により、PCが、多くの機能には適さないものになっている。トランザクションが変更されて、望まない受取人に送金する又は望まない商品を注文することがあり、或いはユーザ信任状がコピーされて、攻撃者に、インターネット・バンキングに用いられるもののようなシステムにアクセスできるようにすることがある。
【0003】
これらの問題の一部を解決するために、ユーザ信頼装置(同じく「安全な装置(securedevice)」)を用いることができる。1つのそのような解決策であるIBM社のZone Trusted Information Channel(非特許文献1を参照されたい)は、トランザクションがサービス提供者(例えば、銀行)により実行される前に、ユーザが、そのトランザクションと関連した情報(例えば、インターネット・バンキングの場合、金額及び受取人)を検証することを可能にする。トランザクションは、安全であり、かつ、検証された情報を安全な方法でバック・エンド・システムに送ることができる装置において検証される。
【0004】
インターネット・サービスにアクセスするために、ユーザは、そのサービスに対して自分を識別するために用いられる信用状(credential)を有する。そのような信用状は、スマート・カード上に格納されることもある。この場合、安全な装置は、これらの信用状の使用を可能にするためのスマート・カード・リーダを有する。意図されたユーザのみが信用状を使用できることを保証するために、スマート・カードは、PINによって保護される。従って、PINは、秘密にされる。そうでなければ、サーバにアクセスするために、スマート・カードが誰か他の人に使用されることがある。スマート・カードはまた、インターネット・トランザクションのためにユーザを認証すること以外の目的に用いられることもある。例えば、同じカードを、ATMから現金を下ろすために使用することができる。このような場合、カードのPINは、さらに強力な保護を必要とする。
【0005】
安全な装置において、メモリは、通常、永続的(又は不揮発性)部分、及び、一時的(同じく非永続的又は揮発性)部分に分割される。例えば、永続的メモリは、装置が「オフ」のとき又は主バッテリが取り外されたとき、装置の動作モードと関係なく、格納された情報を保持する。永続的メモリは、例えば、読み出し専用メモリ(ROM)、プログラム可能ROM、電気的消去可能プログラム可能ROM(EEPROM)を用いて、バッテリ・バックアップ式スタティック・ランダム・アクセス・メモリ(SRAM)又はダイナミック・ランダム・アクセス・メモリ(DRAM)を用いて実装することができる。一時的メモリ(transient memory)は、装置のアクティブな動作中、そこに格納された情報のみを保持し、典型的には、SRAM又はDRAMを用いて実装される。装置においてアプリケーションを実行する際、保存操作を行うことが一般的であり、これにより一時的メモリ内のコンテンツが永続的メモリ上に格納される。
【先行技術文献】
【非特許文献】
【0006】
【非特許文献1】Thomas Weigold、Thorsten Kramp、Reto Hermann、Frank Horing、Peter Buhler、Michael Baentsch著、「The Zurich Trusted Information Channel−An Efficient Defence against Man−in−the−Middle and Malicious Software Attacks」、In P. Lipp、A.−R. Sadeghi and K.−M. Koch (編):TRUST 2008、LNCS 4968、pp.75−91、2008年
【発明の概要】
【発明が解決しようとする課題】
【0007】
ユーザ信頼装置の安全なPIN管理のための方法を提供する。
【課題を解決するための手段】
【0008】
1つの実施形態において、本発明は、永続的メモリ、非永続的メモリ、並びに、ユーザ、スマート・カードのようなメモリ・カード及び端末と結合する又は対話するためのインターフェースとを有するユーザ信頼装置の安全なPIN管理のための方法ための方法を提供し、本方法は、メモリ・カードに結合された装置を準備するステップと、装置において、外部PIN及びカードPINを受信するステップであって、カードPINはメモリ・カードをロック解除する(unlock)ことができる、ステップと、計算手段を介して、受信したPINから、キーを生成し、永続的メモリ上に格納して、外部PIN及びキーを引数として利用し、永続的メモリ上に格納された関数を介して、カードPINを計算できるようにするステップと、端末において、外部PINのユーザ入力を受信し、外部PINを装置に通信するステップであって、装置は端末に結合されている、ステップと、計算手段に、格納された関数を用いてカードPINを計算するように命令するステップと、計算されたカードPINを用いてメモリ・カードをロック解除するステップとを含む。
【0009】
他の実施形態において、本方法は、以下の特徴、即ち、
−装置において受信されたカードPINは装置においてユーザにより直接入力され、好ましくは、外部PINは装置においてユーザにより直接入力される、
−本方法は、装置における受信の後、受信したカードPINを非永続的メモリ内にのみ保持するステップと、キーが生成された後、非永続的メモリからカードPIN及び外部PINを削除するステップであって、外部PINは、好ましくは永続的メモリ上にのみ格納される、ステップをさらに含む、
−カードPIN及び外部PINを受信するステップ及びキーを生成し、格納するステップは、装置に結合されたメモリ・カードに関してキーが格納されていないことが検出された場合に実行される、
−キーを生成し、格納するステップは、装置においてカードに関してキーが格納されていることを示すフラグ値を格納するステップをさらに含む、
−本方法は、他のカードPINを用いてPINにより保護された、別のカードに結合された装置を準備するステップと、装置において、他のカードPINを受信するステップと、他のメモリ・カードのための他のキーを生成し、永続的メモリ内に格納して、他のキー及び外部PINを引数として利用して、関数を介して、他のカードPINを計算できるようにするステップとをさらに含む、
−本方法は、他のキーを生成して、他のキーと、以前のキー(K)を生成し格納するために用いられたのと同じ外部PINとを引数として利用し、関数を介して、他のカードPINを計算できるようにするステップをさらに含む。
−本方法は、好ましくはロック解除されたカード上に格納されたデータを用いて、装置及び端末を介して、ユーザと少なくとも1つのサーバとの間に信頼できる接続を確立するステップをさらに含む、
−準備される装置は、端末がサーバに接続されたとき、端末を介して、装置と少なくとも1つのサーバとの間に信頼できる接続を確立するための、永続的メモリ上に格納されたコンピュータ化された方法を有し、この方法は、装置において、信頼できる接続を確立するためのコンピュータ化された方法をトリガするステップをさらに含む、
−本方法は、装置を、端末を介して、安全でない接続上でサーバと通信するように設定するステップをさらに含む、
−信頼できる接続を確立するためのコンピュータ化された方法は、カードを成功裏にロック解除したときにトリガされる、
−本方法は、安全でない接続上で設定される通信を開始すること、及び、好ましくはSSL/TLS通信を開始することによって、サーバへの装置の認証を行うステップをさらに含む、
−装置をサーバと通信するように設定するステップは、装置から、端末に常駐しているプロキシ・クライアントを開始し、SSL/TLS通信を介してサーバに接続するステップをさらに含み、サーバへの装置の認証を行うステップは、サーバによるSSL/TLS認証を含む、
のうちの1つ又は複数を含むことができる。
【0010】
別の態様によると、本発明は、非永続的メモリ、永続的メモリに結合された計算手段と、ユーザ、スマート・カードのようなメモリ・カード及び端末と結合又は対話するためのインターフェースとを有し、かつ、カードPINによってPIN保護されたメモリ・カードが結合されている場合、そのメモリ・カードについてキーが格納されているかどうかを検出し、格納されていない場合には、外部PIN及びカードPINの両方を受信し、カードPINは装置においてユーザにより直接入力され、計算手段に、受信した外部PIN及びカードPINから、キーを生成し、永続的メモリ内に格納して、外部PIN及びキーを引数として利用し、永続的メモリ上に格納された関数を介して、カードPINを計算できるように命令し、格納されている場合には、装置に結合された端末から外部PINを受信し、計算手段に、格納された関数を介してカードPINを計算するように命令し、計算されたカードPINを用いてメモリ・カードをロック解除する、ように設計された信頼装置としてさらに具体化される。
【0011】
好ましくは、信頼装置は、計算されたカードPINを用いてメモリ・カードをロック解除したとき、装置を、端末を介して、安全でない接続92上でサーバと通信するように設定することによって、装置と少なくとも1つのサーバとの間に信頼できる接続を確立するための、永続的メモリ上に格納されたコンピュータ化された方法をさらに含む。
【0012】
ここで本発明を具体化する方法及び装置が、非限定的な例として、添付図面を参照して説明される。
【図面の簡単な説明】
【0013】
【図1】本発明による方法の高度な実施形態のフローチャートである。
【図2】一実施形態における、初期化段階中に実行される動作を示すフローチャートである。
【図3】一実施形態における、使用段階中に実行される動作を示すフローチャートである。
【図4】本発明の特定の実施形態による、サーバへの信頼できる接続を開始するための、端末及びサーバに結合された、信頼装置の概略図である。
【発明を実施するための形態】
【0014】
以下の説明に対する序論として、最初に、本発明の一般的な態様は、ユーザ信頼装置の安全なPIN管理のためのコンピュータ実施の方法に向けられることが指摘される。カードPINを用いずに、実際のカードPINの代わりに用いられる外部端末(例えばPC)において、ユーザにより外部PINが入力される。初期化(initialization)段階中、装置は外部PIN及びカードPINを用いてキーを生成し、このキーが、使用段階中、後でカードPINを取り出し、カードをロック解除することを可能にする。例えばカード上に格納されたユーザ信用状に基づいて、例えば、その後のサーバへの信頼できる接続を開始することができる。
【0015】
より詳細には、図1−図3は、信頼装置の安全なPIN管理の方法の所与の実施形態を示すフローチャートを示す。図1は、初期化段階に関連する図2及び使用段階に関連する図3の両方を表す。以下において、図1−図3を全体的に参照して実施形態を説明する。
【0016】
第一に、安全な装置は、それ自体が周知のような永続的メモリ及び非永続的メモリの両方に結合された計算手段(computing means)(例えば、処理ユニット)を有すると仮定する。この安全な装置は、例えばスマート・カードなどのメモリ・カード及び端末に結合するための適切なインターフェースをさらに有する。付加的なインターフェースが、ユーザと対話するのを可能にする。
【0017】
第二に、ひとたびメモリ・カードに結合されると、装置は、初期化モード(ステップS200)又は使用モード(ステップS300)に設定することができる。典型的には、装置は、カードを識別する。次に、そのカードについて、キーがまだ格納されていない(決定S102:いいえ)ことが分かった場合、初期化モードが設定され、そうでなければ(決定S102:はい)、装置は、直ちに使用モードに設定される。
【0018】
このように、外部PINがまだ登録されていない場合、タスク・フローは、図2に続く(初期化時間)。ここでは、ユーザは2つのPINを入力し(ステップS201、S203)、その一方は、カードをロック解除することができるカードPIN(又は、card_PIN)であり、他方は、好ましくは外部端末において入力される外部PIN(図面では、ext_PINで示される)である。
【0019】
安全のために、カードPINは、装置においてユーザにより直接入力されることが好ましい。外部PINも装置において入力することができるが、1つの変形においては、PCから入力することもできる。しかしながら、PCからの入力が少ないほど、安全性は向上する。
【0020】
さらに、装置において受信された後、カードPIN及び外部PINは、非永続的メモリ内にのみ保持されることが好ましい。この場合、PINは、キーを生成する時間保持され、その後削除され、露出時間が短いことを保証する。1つの変形において、外部PINは、後で使用するために永続的メモリ上に格納される。
【0021】
最も一般的には、2つのPINは任意の順序で入力することができる。しかしながら、さらに好ましくは、カードの挿入後、ユーザは最初に、カードPINを入力するように指示される(ステップS201)。次に、入力が成功した(装置がカードをロック解除した)場合、ユーザは次に、外部PINを入力するように要請される。この要請は、例えば、装置又はPCにおいてなされる。
【0022】
第三に、受信したPINにより、計算手段を介してキーKを生成すること(ステップS204)が可能になる。キーは、後で装置の永続的メモリ上に格納される。キーはさらに、永続的メモリ上に格納された関数fを介して、後でカードPINを計算できるように生成される。即ち、
card_PIN=f(K,ext_PIN)
ここでfは、外部PIN及びキーを引数としてとる。従って、カードPINを、PC PINの暗号化バージョンと見なすことができる。
【0023】
関数fは、キー及びext_PINのXOR暗号化のように単純にすることができ、ここでXORは、例えば、第1ビット又は第2ビットのいずれかの値が1のときに1を戻す排他的論理和(exclusive OR)演算子である。結果として、x XOR y=zである場合、z XOR xはyに等しくなる。従って、2つの引数の1つの初期値を知らずに逆演算を行うことはできず、関数がXORであるという推定は役に立たない。しかしながら、x又はyのいずれかが分かっている場合、関数は可逆性である。例えば、x XOR 1が1を戻す場合、x=0であり、これが0を戻す場合、x=1である。同様に、キーKは、最初に、ext_PIN及びcard_PINから生成することができる。次に、暗号化された文字列及びキーを有する場合、正しく復号することが可能であり、その結果、K及びext_PINから始めて、後でcard_PINを取り出すことができる。Kがない場合、ランダム・キーを生成してその各々を試さなければ、復号することができない。暗号キーが長いほど、その解読が一層困難になる。完全性のために、キーをPINの連続する部分(例えば、数字)に繰り返し適用し、出力を格納することによって、PINのXOR暗号化を達成することができる。
【0024】
1つの変形においては、キー及び外部PINをさらに組み合わせて、例えばCard_PINを暗号化するのに用いられる別のキーを生成することができる。
【0025】
ひとたび生成されると、次にキーは、後で用いるために永続的メモリ上に格納することができる。ここで、非永続的メモリ内に既に保持されているカードPINを削除することができる(ステップS205)。このように、カードPINは、短期間しかメモリ内にない。外部PINを削除することもできる(場合によっては、前述した変形により、外部PINが永続的メモリ上に格納された後に)。
【0026】
現在のところ、装置は、これに結合されるカードに対してPINにより個別化されている(PIN-personalized)。例えば、そのカードに関して、今や外部PINが装置に登録されていることを示すフラグ値を格納することができる。後で、外部PINが既にカードに登録されていることが検出された場合(例えば、格納されたフラグ値に基づいて)、装置は、初期化ステップを飛ばすことができる。そして、装置は、図3を参照して後述される使用モードに入る。
【0027】
同様に、装置が後で別のカード(同じくPIN保護されている)に結合された場合、同じく新しいカードPIN及び外部PINを用いて新しいキーを生成する。従って、新しいキー及び外部PINを引数としてとり、同じ関数fを用いて、後で新しいカードPINを計算することができる。
【0028】
例えば、ユーザが常に同じ外部PINを使用したいと望むことがあり、ユーザは、キーの生成を必要とするたびに、外部PINを入力しなければならない。従って、外部PINを非永続的メモリ上に格納する必要はない。しかしながら、前述した変形においては、参照外部PINを装置上に格納する(例えば、難読化する)ことができ、その結果、新しい外部PINを入力するように、ユーザに促す必要がなくなる。その場合、新しいカードPINの入力で十分である。しかしながら、外部PIN及びキーの両方が装置のメモリから読み出され、かつ、攻撃者が関数を知っていると仮定して、それらがカードPINを生成するために使用される可能性が残るため、この変形は好ましいものではない。
【0029】
このプロセスは、必要なだけの数のカードについて繰り返すことができる。
【0030】
次に、使用段階中、ユーザは最初に、装置をカードに結合したときに、外部PINを入力するように指示される(ステップS301)。外部PINは、端末において入力されることが好ましく、そのことは、より適したヒューマン・インターフェースである可能性が高いために、通常はより実際的である。次に、外部PINを装置に通信することができ、そこで、外部PINは非永続的メモリ内にのみ保持されることが好ましい。
【0031】
第2に、装置における計算手段は、関数fと、永続的メモリ内にカードに関連して格納されたキーとを用いて、カードPINを計算するように命令される(S302)。同様に、カードPINは、非永続的メモリ内にのみに保持されることが好ましい(ステップS303)。
【0032】
最後に、(再)計算されたカードPINを用いて、カードをロック解除することができる(ステップS304)。
【0033】
ここで、1つの変形において、ユーザが自分の外部PINを忘れた場合、装置がPINにより個別化された状態であったとしても、カードPINをさらに装置に直接入力することができる。外部PINの代わりに、装置においてカードPINを入力することにより、カードPINの再計算がオーバーライドされ、結果として、カードのロック解除をもたらすことができる。好ましくは、装置においてカードPINを入力した後、ユーザは、新しい外部PINを入力するように指示され、新しいキーを生成することができる。
【0034】
上述したような多数の変形を有利に組み合わせ得ることに留意されたい。例えば、特に有利な実施形態においては、以下のことが行われる。最初に、装置は、カードPINに関する情報を有していず、まだPINにより個別化されていない。次に、ユーザがスマート・カードを装置のリーダに挿入すると、ユーザは、装置上にカードPINを入力するように指示される。カードPINの入力が成功した場合、次にユーザは、新しいPIN、即ち外部PINを入力するように指示される。この外部PINは、PC又は装置上に入力される。次に装置は、外部PINに関する多くの確認を行う(例えば、装置は、外部PINがカードPINと同じではないことを確認する)。さらに、装置はキーを生成し、その結果、外部PIN及びキーが与えられると、関数fを用いてカードPINを計算できるようになる。次に、キーが装置上に格納され、ここで装置がPINにより個別化された状態になったと言える。PINが装置上に永続的に格納されることはない。次に、ユーザがスマート・カードを装置(今やPINにより個別化されている)に挿入すると、ユーザは、PC上に外部PINを入力するように指示される。外部PINが装置に渡され、装置は次に、外部PIN及びキーを用いて、カードPINを計算することができる。外部PINが正しく入力された場合、装置は正しいカードPINを計算し、従って、所望のとおり、ユーザのカードをロック解除する。ここでユーザが自分の外部PINを忘れた場合、装置がPINにより個別化された状態であったとしても、カードPINをさらに装置に直接入力することができ、次に、新しい外部PINを設定することができる。常に同じプロセスを用いて、外部PINを変更することができる。ユーザが単一の装置と共に用いることができる複数のスマート・カードを有する場合、装置は、どのカードが挿入されたかを判断することができ、従って、正しいカードPINが計算されるように、どのキーを用いるべきかを知ることになる。しかしながら、前述のように、カード毎に1つの外部PINを有するのとは対照的に、単一の外部PINを用いることもできる。
【0035】
PC上に外部PINを入力することは、安全な装置上にカードPINを入力するより、ユーザにとって便利であることに留意されたい。しかしながら、ユーザのカードPINは露出されず、これを攻撃者が計算することはできないので(攻撃者は、少なくとも、カードPINを計算するのに用いられるキーを知らない)、これによりシステムの安全性が損なわれることはない。
【0036】
攻撃者が何とか外部PINを盗み、関数fを知っていた場合、キーに対する総当たり攻撃(可能なキーを推測する)により多数の妥当なプレーンテキストがもたらされるが、攻撃者はそれらを1つずつ試行しなければならない。しかしながら、スマート・カードは、ごく少数の再試行(例えば3回又は5回)しか許容せず、その後カードの機能をブロックするので、これは問題ではない。
【0037】
また、関数fは、いずれの推測されたキーに対しても実行可能な結果をもたらすように選択することができ、従って、そのような攻撃は事実上不可能になる。
【0038】
現在のところ、例えばカード上に格納されているようなユーザ信用状などのデータから、適切な使用を安全に行うことができる。特に、端末を介して、そのようなデータを用いて、ユーザ(又は厳密に言えば、装置)とサーバとの間に、信頼できる接続を確立することができる(ステップS305)。
【0039】
より詳細には、装置には、装置とサーバとの間に信頼できる接続を確立する(S305を参照されたい)ための、永続的メモリ上に格納されるコンピュータ化された方法が提供されることが好ましい。
【0040】
端末及びサーバに結合された信頼装置の概略図を示す図4を参照して、さらに多くのことが述べられる。
【0041】
上述したように、安全な装置10は、非永続的メモリ15’、永続的メモリ15’’に結合された計算手段15を有する。安全な装置10は、メモリ・カード16及び端末30と通信するための適切なインターフェース17、20をさらに有する。更に別のインターフェース(制御ボタン18及びディスプレイ12のような)により、ユーザ1との対話が可能になる。
【0042】
装置は、現在結合されているカードにおいて既にキーが格納されているかどうかを検出するようにさらに設計される。格納されていない場合、装置は、ユーザに、外部PIN及びカードPINの両方を入力するように指示する。(特に)カードPINは、ボタン/セレクタのような便利な入力手段18を介して、装置において直接入力される。次に、論理回路が、計算手段に、キーを生成して永続的メモリ15’’内に格納するように命令することができる。次に、使用段階中、装置は、端末30から外部PINを受け取り、カードPINを再計算し、これによりカードをロック解除することができる。
【0043】
装置10は、そこに格納されたコンピュータ化された方法を呼び出して、サーバ40への信頼できる接続をトリガすることができる。例えば、装置10は、カードのロック解除時に、端末30を介して、安全でない接続92上でサーバ40との通信91を確立することがある。例えば、カード上に格納されたようなユーザ信用状を用いて、サーバへのSSL/TLS認証を開始することなどにより、安全でない接続92上での通信91を開始しながら、サーバへの装置の認証を行うことができる。この点で、装置をサーバと通信状態に設定することは、装置から、端末において常駐しているプロキシ・クライアントを開始し、端末を介して、装置をサーバに接続することを有利に含むことができる(プロキシもまた、装置上に常駐している可能性があることに留意されたい)。プロキシは、装置から受け取ったビットをインターネットに中継し、その逆も行う。装置から、サーバへのSSL/TLS認証を開始することにより、サーバへの装置の認証を、例えば双方向で達成することができる。
【0044】
このように、SSL/TLSチャネルが、サーバと装置との間に設定される。ユーザ・サーバ間のセンシティブな(慎重に扱うべき、sensitive)通信は、装置を通して送られ、装置において処理され、プロキシによりサーバへの経路にフックされる。装置は、通信フローをインターセプトする。装置は、例えば、センシティブな操作において交換されるデータを継続的に走査することができる。これにより重要な情報を抽出して、後で装置において表示することができる。
【0045】
従って、ユーザは、表示された情報を検証することができる。代わりに、センシティブでない操作は、装置を通して送られ、PCに入ることが許可される。
【0046】
一方では、メモリ・カード上に格納されているセンシティブな個人情報(例えば、SSL/TLSにおいて用いられる秘密鍵)は、装置において保持される。装置内のスマート・カードにおいて、プライベート・データは、抽出及び複製から保護される。これにより、装置のエンドポイントにおいて、信頼でき、かつ、不正操作できない安全な通信が達成される。
【0047】
図4をより特定的に参照すると、装置は、例えば、1つ又は複数のプロセッサを使用し、非永続的15’メモリ及び永続的15’’メモリの両方に結合された処理ユニット15を含む、通常のUSB装置10のように見える。永続的メモリは、特に、前述したキーを生成し、格納するための適切なコードを格納する。カードPINの再計算において用いられる関数も、永続的メモリ上に格納される。カードPINの再計算及びメモリ・カードのロック解除を可能にするコードが、さらに格納される。メモリ15’’は、例えばSSL/TLS認証のためのTLSエンジン14などの暗号化アルゴリズムを含む、セキュリティ・ソフトウェア・スタックをその上にさらに格納することができる。サーバへの信頼できる接続を確立するためのコンピュータ化された方法も、永続的メモリ上に格納される。このコンピュータ化された方法は、実行可能なHTTPパーサ(parser)11(データを構文解析し、これによりデータを走査するための)、USB管理ソフトウェア(USB大容量記憶装置又はMSDプロファイル20を実装する)、及び場合によっては、前述した予めロードされたネットワーキング・プロキシを含むことができる。同じく前述したように、TLS−クライアント認証を可能にするクライアント−サーバ証明書(例えばX.509)などの、ユーザ信用状をメモリ・カード上に格納することができる。スマート・カードは、センシティブな個人情報を保持し、暗号化手段を有することができる。変形において、カードは暗号化することができないが、カードを用いてセンシティブな操作に署名する。装置は、標準的なスマート・カード・リーダ17を装備することが好ましい。最後に、装置は、センシティブな情報を表示するために、制御ボタン18(例えば、OK、キャンセル等のセレクタ)と、ディスプレイ12とを有する。
【0048】
必要とされるコンピュータ・プログラム・コードは、高級(例えば、手続き型又はオブジェクト指向)プログラミング言語の形で実装することができ、又は必要に応じてアセンブリ言語又は機械語で実装することができる。いずれの場合も、言語は、コンパイラ型言語又はインタープリタ型言語とすることができる。好適なプロセッサは、例として、汎用マイクロプロセッサ及び専用マイクロプロセッサの両方を含む。プログラム可能プロセッサによる実行のために、装置、端末、又はサーバが実行する命令操作を、機械可読ストレージ装置内に有形に具体化されたコンピュータ・プログラム製品上に格納することができ、本発明の方法ステップを、本発明の機能を実行するために命令を実行する1つ又は複数のプログラム可能プロセッサによって実行できることに留意されたい。全ての場合において、本発明は、装置だけでなく、端末及び少なくとも1つのサーバにより拡張されたコンピュータ・システムも包含する。
【0049】
より一般的には、上記の発明は、デジタル電子回路、又はコンピュータ・ハードウェア、ファームウェア、ソフトウェア、或いはその組み合わせで実装することができる。
【0050】
一般に、プロセッサは、読み出し専用メモリ及び/又はランダム・アクセス・メモリから、命令及びデータを受け取る。コンピュータ・プログラム命令及びデータを有形に具体化するのに適したストレージ装置は、例として、EPROM、EEPROM、及びフラッシュメモリ装置のような半導体メモリ装置、内蔵ハード・ディスク及び取り外し可能ディスクのような磁気ディスク、光磁気ディスク、並びにCD−ROMディスク等を含む、全ての形態の不揮発性メモリを含む。
【0051】
本発明は、特定の実施形態に関連して説明されたが、当業者であれば、本発明の範囲から逸脱することなく、種々の変更を行うことができ、等価物に置き換えることができることを理解するであろう。さらに、本発明の範囲から逸脱することなく、特定の状況又は材料を本発明の教示に適合させるように、多くの修正をなすことができる。従って、本発明は、開示される特定の実施形態に限定されるものではなく、添付の特許請求の範囲内に入る全ての実施形態を含むことが意図されている。例えば、バッテリが設けられた場合、カードPINの入力時に、装置をPCに接続しないことが必要とされることもある。
【符号の説明】
【0052】
10:安全な装置
11:HTTPパーサ
12:ディスプレイ
14:TLSエンジン
15:計算手段
15:処理ユニット
15’:非永続的メモリ
15’’:永続的メモリ
16:メモリ・カード
17:スマート・カード・リーダ
18:制御ボタン
20:USB大容量記憶装置又はMSDプロファイル
30:端末
40:サーバ
91:通信
92:安全でない通信

【特許請求の範囲】
【請求項1】
永続的メモリ(15’’)、非永続的メモリ(15’)に結合された計算手段(15)と、ユーザ(1)、スマート・カードのようなメモリ・カード(16)及び端末(30)と結合する又は対話するためのインターフェース(17、18、20)とを有するユーザ信頼装置(10)の安全なPIN管理のための方法であって、前記方法は、
−前記メモリ・カードに結合された前記装置を準備する(S101)ステップと、
−前記装置において、外部PIN(ext_PIN)及びカードPIN(card_PIN)を受信する(S201、S203)ステップであって、前記カードPINは前記メモリ・カードをロック解除することができる、ステップと、
−前記計算手段を介して、受信した前記PINからキー(K)を生成し、前記永続的メモリ上に格納して(S204)、前記外部PIN及び前記キーを引数として利用し、前記永続的メモリ上に格納された関数(f)を介して、前記カードPINを計算できるようにするステップと、
−前記端末において、前記外部PINのユーザ入力を受信し(S301)、前記外部PINを前記装置に通信するステップであって、前記装置は前記端末に結合されている、ステップと、
−前記計算手段に、前記格納された関数を用いて前記カードPINを計算する(S302)ように命令するステップと、
−前記計算されたカードPINを用いて前記メモリ・カードをロック解除する(S304)ステップと、
を含む方法。
【請求項2】
前記装置において受信された前記カードPINは前記装置においてユーザにより直接入力され、好ましくは、前記外部PINは前記装置において前記ユーザにより直接入力される、請求項1に記載の方法。
【請求項3】
−前記装置における受信の後、受信した前記カードPINを前記非永続的メモリ内にのみ保持するステップと、
−前記キーが生成された後、前記非永続的メモリから前記カードPIN及び前記外部PINを削除する(S205)ステップであって、前記外部PINは、好ましくは前記永続的メモリ上にのみ格納される、ステップと、
をさらに含む、請求項1又は請求項2に記載の方法。
【請求項4】
前記カードPIN及び前記外部PINを受信するステップ及び前記キーを生成し、格納するステップは、前記装置に結合されたメモリ・カードに関してキーが格納されていないことが検出された(S102)場合に実行される、請求項1、請求項2、又は請求項3に記載の方法。
【請求項5】
前記キーを生成し、格納するステップは、前記装置において前記カードに関してキーが格納されていることを示すフラグ値を格納するステップをさらに含む、請求項1から請求項4までのいずれか1項に記載の方法。
【請求項6】
−他のカードPINを用いてPINにより保護された、別のカードに結合された前記装置を準備する(S100)ステップと、
−前記装置において、前記他のカードPINを受信するステップ(S201、S203)と、
−前記他のメモリ・カードのための他のキーを生成し、前記永続的メモリ内に格納して(S204)、前記他のキー及び外部PINを引数として利用し、前記関数を介して、前記他のカードPINを計算できるようにするステップと、
をさらに含む、請求項1から請求項5までのいずれか1項に記載の方法。
【請求項7】
−前記他のキーを生成して(S204)、前記他のキーと、以前のキー(K)を生成し格納する(S204)ために用いられたのと同じ外部PINとを引数として利用し、前記関数を介して、前記他のカードPINを計算できるようにするステップをさらに含む、請求項6に記載の方法。
【請求項8】
−好ましくは前記ロック解除されたカード上に格納されたデータを用いて、前記装置(10)及び前記端末(30)を介して、ユーザ(1)と少なくとも1つのサーバ(40)との間に信頼できる接続を確立する(S305)ステップをさらに含む、請求項1から請求項7までのいずれか1項に記載の方法。
【請求項9】
前記準備される装置は、前記端末が前記サーバ(40)に接続されたとき、前記端末(30)を介して、前記装置と前記少なくとも1つのサーバ(40)との間に信頼できる接続を確立する(S304)ための、前記永続的メモリ上に格納されるコンピュータ化された方法を有し、前記方法は、
−前記装置において、前記信頼できる接続を確立するための前記コンピュータ化された方法をトリガするステップをさらに含む、請求項1から請求項8までのいずれか1項に記載の方法。
【請求項10】
−前記装置(10)を、前記端末(30)を介して、安全でない接続(92)上でサーバ(40)と通信(91)するように設定するステップをさらに含む、請求項9に記載の方法。
【請求項11】
前記信頼できる接続を確立するための前記コンピュータ化された方法は、前記カードを成功裏にロック解除したときにトリガされる、請求項9又は請求項10に記載の方法。
【請求項12】
−前記安全でない接続(92)上で設定される前記通信(91)を開始すること、及び、好ましくはSSL/TLS通信(91)を開始することによって、前記サーバへの前記装置(10)の認証を行うステップをさらに含む、請求項10又は請求項11に記載の方法。
【請求項13】
−前記装置を前記サーバと通信するように設定するステップは、前記装置から、前記端末に常駐しているプロキシ・クライアントを開始し、SSL/TLS通信を介して前記サーバに接続するステップをさらに含み、
−前記サーバへの前記装置の認証を行うステップは、前記サーバによるSSL/TLS認証を含む、請求項10、請求項11、又は請求項12に記載の方法。
【請求項14】
非永続的メモリ(15’)、永続的メモリ(15’’)に結合された計算手段(15)と、ユーザ(1)、スマート・カードのようなメモリ・カード(16)及び端末(30)と結合又は対話するためのインターフェース(17、18、20)とを有し、かつ、
−カードPIN(card_PIN)によってPIN保護されたメモリ・カード(16)が結合されている(S101)場合、そのメモリ・カードについて、キー(K)が格納されているかどうかを検出し(S102)、
−格納されていない場合には、
−外部PIN(ext_PIN)及び前記カードPINの両方を受信し(S201、S203)、前記カードPINは前記装置において前記ユーザにより直接入力され、
−前記計算手段に、受信した前記外部PIN及び前記カードPINから、キー(K)を生成し、前記永続的メモリ内に格納して(S204)、前記外部PIN及び前記キーを引数として利用し、前記永続的メモリ上に格納された関数(f)を介して、前記カードPINを計算できるように命令し、
−格納されている場合には、
−前記装置に結合された前記端末(30)から前記外部PINを受信し(S301)、
−前記計算手段に、前記格納された関数を介して前記カードPINを計算する(S302)ように命令し、
−前記計算されたカードPINを用いて前記メモリ・カードをロック解除する(S304)、
ように設計された信頼装置(10)。
【請求項15】
前記計算されたカードPINを用いて前記メモリ・カードをロック解除した(S304)とき、前記装置(10)を、前記端末(30)を介して、安全でない接続(92)上で前記サーバ(40)と通信(91)するように設定することによって、前記装置と少なくとも1つのサーバ(40)との間に信頼できる接続を確立する(S305)ための、前記永続的メモリ上に格納されたコンピュータ化された方法をさらに含む、請求項14に記載の信頼装置。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate


【公表番号】特表2013−512495(P2013−512495A)
【公表日】平成25年4月11日(2013.4.11)
【国際特許分類】
【出願番号】特願2012−540527(P2012−540527)
【出願日】平成22年11月22日(2010.11.22)
【国際出願番号】PCT/IB2010/055325
【国際公開番号】WO2011/064708
【国際公開日】平成23年6月3日(2011.6.3)
【出願人】(390009531)インターナショナル・ビジネス・マシーンズ・コーポレーション (4,084)
【氏名又は名称原語表記】INTERNATIONAL BUSINESS MACHINES CORPORATION
【Fターム(参考)】