説明

サービス妨害型攻撃に対する携帯型物品の保護

携帯型物品は、少なくとも1つの信用証明情報が記憶されたメモリを備える。信用証明情報は、サービスに関連するものであり、サービスを要求するエンティティがサービスへのアクセスが許可されたエンティティであることを確認するのに使用される。携帯型物品をサービス妨害型攻撃に対して保護する方法は、信用証明情報を必要とするアルゴリズムに基づいて、サービスを要求するエンティティがサービスへのアクセスが許可されたエンティティであることを確認する段階と、確認段階が成功した場合にのみ要求されたサービスを行う段階と、所定数の確認段階が不成功に終わった後にサービスに関連する信用証明情報をブロックする段階とを含む。確認段階が不成功に終わった場合、本方法は、新しい確認段階を可能にする前に、所定期間にわたって待機する段階を更に含む。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、携帯型物品をサービス妨害型攻撃に対して保護する方法に関する。また、本発明は、サービス妨害型攻撃を阻止可能な携帯型物品、特に、スマートカードを提案するものである。
【背景技術】
【0002】
スマートカード技術の基本的な機能の1つは、個人識別番号(PINコード)のような様々な信用証明情報、様々なキー及びコード(例えば、PUKとしても知られているPINブロック解除キーのようなブロック解除コード)等の安全なリポジトリの機能を果たし得ることである。
【0003】
スマートカードが認証目的で使用される状況において、スマートカードは、エンティティから供給された信用証明情報がスマートカードのメモリに記憶された信用証明情報と一致するか否かを検査することによって、サービスを要求するエンティティの身元を確認するために使用される。このようなエンティティは、例えば、ユーザ、端末、サーバ、管理者、又はアプリケーションとすることができる。
【0004】
現在、信用証明情報が認証目的でスマートカードによって確認される場合、確認が不成功に終わる度に内部カウンタが減算される。このカウンタがゼロになると関連の信用証明情報はブロックされる。一部の信用証明情報はブロック解除又は再プログラム化することができるが(十分な特権をもつエンティティによって)、他の信用証明情報はそうすることができず、ブロックされると結果的にスマートカードを物理的に交換することが必要になる場合が多い。
【0005】
一例として、ユーザが不正に何度も試行して彼のPINをブロックした場合、管理者は、ブロック解除コードを用いてPINをブロック解除できる。PIN及びブロック解除コードの両方がブロックされた場合、スマートカード管理システムは、トランスポートキーを使用してスマートカードを再度個別設定することができる。トランスポートキー及びブロック解除コードのみがブロックされた場合、ユーザがPINを忘却/ブロックしておらず且つスマートカードに対して管理操作が必要とされない限り、依然としてカードは使用可能である。しかしながら、PIN、ブロック解除コード、及びトランスポートキーがブロックされた場合、スマートカードは物理的に交換する必要がある。
【0006】
当初、スマートカードは、パーソナルコンピュータ(PC)、及びパーソナルコンピュータ同士を相互接続するネットワークを保護するセキュリティ機器として使用するように設計されていなかった。しかしながら、ユーザがネットワークにアクセスすることを可能するために及び/又はユーザをネットワーク上で認証するために、ますます多くのスマートカードが使用されている。このような背景に(特に企業社会において)関連性の高い攻撃群は、スマートカードの仕様を定める際には考慮されていなかった。インターネット上で最も有名な頻発する攻撃の1つは、サービス妨害攻撃(DOS)である。このような攻撃は、リクエストすることでネットワーク(例えばサーバ)を過負荷状態にすることによって、ネットワークの構成装置を攻撃することである。構成装置は、担当任務を実行することができなくなり、結果として、エンドユーザは、立ち往生してしまう。システムは、必ずしも危険にさらされるわけではないが、もはや使用不可能である。DOS攻撃の可能性のある実行は、スマートカードがブロック状態になるまで間違った信用証明情報を試行することによって(例えば、ランダムデータを用いて信用証明情報確認コマンドを送ることによって)、ウィルスが組織又は企業を攻撃するものである。このような攻撃の結果として、何千人ものユーザが作業できないことになる可能性がある。エンドユーザのPCは、バックアップシステムのおかげで自動的に正常状態に戻ることができるが、スマートカードは、物理的に交換する必要があるであろう。この交換段階の間に(組織又は企業にとっては非常に長く費用がかかる可能性がある)、ユーザは、自分のPCにログオンしてネットワークを保護することができないか、又はスマートカードによるアクセス及び/又は認証よりもはるかにセキュリティレベルが低いユーザ名及びパスワードでこの作業を行なう必要があるであろう。
【0007】
また、従来技術によるスマートカードブロックシステムに関する別の問題が、スマートカードの開発段階又は個別設定段階の間に頻繁に発生する。技術サポートチームへの最も頻度の高い問い合わせの1つは、偶発的にブロックされて、もはやプログラムできないスマートカードによるものである。技術サポートは、カードが実際にブロックされていることを把握する必要がある。スマートカード又は使用中のスマートカードソフトウェア開発ツールに問題があると考えられる場合が多い。スマートカードが開発段階又は個別設定段階でブロックされた場合、スマートカードカード開発者に新しいスマートカードセットを提供する必要がある場合が多く、非常に費用及び/又は時間がかかることになる。
【発明の開示】
【発明が解決しようとする課題】
【0008】
従って、本発明の目的は、従来技術のシステムの少なくとも1つの問題点を解決する方法及びシステムを提供することである。
【課題を解決するための手段】
【0009】
本発明は、何らかの新しい信用証明情報の確認が行われる前に待機期間を追加することによって、不成功に終わった信用証明情報確認の結果を修正することを提案するものである。
【0010】
特定の実施形態は、所定値に達した際に異なる動作をするカウンタを有すること、又は、通常の第1の信用証明情報カウンタとは少し異なる機能のカウンタを追加することである。カウンタ又は第1のカウンタが所定値に達すると、スマートカードは、信用証明情報をブロックするのではなくて、カウンタ値を継続的に減算するか、又は第2のカウンタ値の減算を開始し、この新しい減算は、待機ループ機構に関連する。
【0011】
本発明によれば、各々がサービスに関連する、少なくとも1つの信用証明情報が記憶されているメモリを備える携帯型物品をサービス妨害型攻撃から保護する方法は、信用証明情報を必要とするアルゴリズムに基づいて、サービスを要求するエンティティがサービスにアクセスすることが許可されたエンティティであることを確認する段階と、
確認段階が成功した場合にのみ要求されたサービスを提供する段階と、
所定回の確認段階が不成功に終わった後に、サービスに関連する信用証明情報をブロックする段階と、
確認段階が不成功に終わった場合に、新しい確認段階を可能にする前に所定期間にわたって待機する段階と、
を含む。
【0012】
待機期間は、一定の期間もしくは可変の期間とすることができる。
【0013】
好都合には、待機期間は、不成功に終わった第1の所定回の確認段階に関してはゼロであり、待機期間は、不成功に終わった第2の所定回の確認段階に関してはゼロよりも大きい。
【0014】
好都合には、所定の期間にわたって待機する段階は、待機ループ機構によって実行される。
【0015】
好都合には、所定の期間にわたって待機する段階は、期間が経過する前に確認段階が中断された場合に再開される。典型的に、このことは携帯型物品の電源が切断された場合に起こる可能性がある。
【0016】
本発明による方法の第1の実施形態は、
少なくとも1つの信用証明情報に関連する、初期値と信用証明情報ブロック値との間の範囲の値をもつカウンタを確認段階が実行される度に減算する段階と、
確認段階が成功した場合に、カウンタを初期値にリセットする段階と、
を含み、カウンタが中間値に達した場合に、本方法は、
確認段階が不成功に終わった場合に、所定期間にわたって待機する段階と、
カウンタが信用証明情報ブロック値に達した場合に、信用証明情報をブロックする段階と、
を更に含む。
【0017】
本発明による方法の第2の実施形態は、
少なくとも1つの信用証明情報に関連する、第1の初期値と中間値との間の範囲の値をもつ第1のカウンタを確認段階が実行される度に減算する段階、
を含み、第1のカウンタが中間値に達した場合に、本方法は、
第2の初期値と信用証明情報ブロック値との間の範囲の値をもつ第1のカウンタに関連する、第2のカウンタを減算する段階と、
確認段階が成功した場合に、第1のカウンタ及び第2のカウンタをそれぞれの初期値にリセットする段階と、
確認段階が不成功に終わった場合に、所定期間にわたって待機する段階と、
第2のカウンタが信用証明情報ブロック値に達した場合に、信用証明情報をブロックする段階と、
を更に含む。
【0018】
カウンタ、第1のカウンタ、又は第2のカウンタを減算する段階は、確認段階の前に又は確認段階の後に実行することができる。
【0019】
また、携帯型物品、特にスマートカードであって、
各々がサービスに関連し、サービスを要求するエンティティがサービスへのアクセスを許可されたエンティティであることを確認するために使用される、少なくとも1つの信用証明情報が記憶されたメモリと、
少なくとも1つの信用証明情報に関連し、サービスを要求するエンティティがサービスへのアクセスを許可されたエンティティであることの確認が不成功に終わる度に減算され、初期値と信用証明情報ブロック値との間の範囲の値をもち、確認が成功した場合に初期値にリセットされるカウンタと、
カウンタが中間値に達した場合及び確認が不成功に終わる度に起動される待機ループ機構と、
を備える携帯型物品が提案される。
【0020】
特定の実施形態において、カウンタは、第1のカウンタ及び第2のカウンタを備える。少なくとも1つの信用証明情報に関連する第1のカウンタは、サービスを要求するエンティティがサービスへのアクセスが許可されたエンティティであるという確認が不成功に終わる度に、第1の初期値から中間値へ減算される。第2のカウンタは、第1のカウンタが中間値に達した場合及び確認が不成功に終わる度に、第2の初期値から信用証明情報ブロック値へ減算される。
【0021】
好都合には、待機ループ機構は、所定の期間が経過する前に待機段階が中断された場合に、待機ループ機構によって実行される、所定の期間にわたって待機する段階を再開するために使用されるループフラグを備える。
【0022】
また、プログラムが携帯型物品のメモリ内に取り込まれた場合に、携帯型物品をサービス妨害型攻撃から保護する方法を携帯型物品に実行させるために、コンピュータプログラムコード手段を有する、コンピュータによって読み取り可能な媒体を備えるコンピュータプログラム製品を提案する。
【0023】
本発明は、任意のマイクロプロセッサ式スマートカード、及び他の種類のハードウェア式トークンに適用できる。
本発明は、特に、コーポレート・バッジを中心に構築されたアプリケーション、即ち、企業の従業員又は組織の会員によって認証目的に使用される携帯型物品を保護するのに好都合である。
また、本発明は、任意の形式のスマートカード及び任意のアプリケーションに適用可能である。
本発明は、DOS攻撃による大規模なスマートカードの破壊を非常に困難なものにする。また、スマートカード・アプリケーション開発者によって偶発的にブロックされるスマートカードに関連した種々の問題が著しく低減される。
【0024】
本発明の他の特徴及び利点は、本発明の以下の詳細な説明、及びアプリケーションの1つの実際的な実施例で説明されるであろう。
【0025】
以下の例示的な詳細な説明は、図面を参照することで良く理解されるはずである。
【発明を実施するための最良の形態】
【0026】
本発明の特定の実施形態によれば、試行カウンタとも命名されている既存カウンタ(図1及び図2のカウンタ#1)が保持され、これは第2の試行カウンタで補完されている(図2のカウンタ#2)。
通常、第1のカウンタは、1から15までの間で変化する初期値をもつ。カウンタは、各々の信用証明情報確認(図1のステップ3.PVC−図2のステップ4.VC)の前に予め減算される(図1のステップ1.PVC−図2のステップ1.VC)。もしくは、カウンタは、各々の信用証明情報確認の後に減算することができる。
【0027】
確認に成功すると、カウンタは最大値にリセットされ(図1のステップ4.PVC−図2のステップ5.VC)、そうでなければ変更されない(図1のステップ5.PVC−図2のステップ7.VC)。
【0028】
新たに追加されたカウンタ又は第2のカウンタは、第1のカウンタがゼロに達した後にのみ減算が始まる。第1のカウンタがゼロに達した場合、それ以上は減算されないが、信用証明情報は依然としてブロックされない。その代わりに、各々の新たな信用証明情報確認の前に第2のカウンタは予め減算される(図2のステップ2.VC)。もしくは、カウンタは、各々の信用証明情報確認の後に減算されることができる。示された値が好適な場合、両カウンタは、それぞれの最大値にリセットされ(図2のステップ5.VC)、そうでなければ変更されず、待機ループが実行される(図2のステップ6.VC)。第2のカウンタがゼロに達した場合、信用証明情報がブロックされる(図2のステップ3VC)。第1のカウンタがゼロに達したことにより第2のカウンタが減算され且つサービスを要求するエンティティのアイデンティティの確認が不成功に終わった場合、待機ループ機構が起動される(図2のステップ1.WLからステップ7.WL)。
【0029】
スマートカード技術の固有の制約のために、待機ループ機構の設計では、特定の機能が必要とされる。実際には、スマートカードは、永久的なクロックを有しておらず、ユーザがいつでもスマートカード読取り装置から取り外すことができ、攻撃者が常にリモートでリセットでき、iSO7816規格に準拠している必要がある。
本発明によれば、待機ループ機構は、待機ループカウンタ及び待機ループフラグを備える。カウンタ及びフラグは、スマートカードの任意の利用可能なプログラマブル不揮発性メモリ(例えば、EEPROM)で管理される。両者共にグローバルスコープを有しており、待機処理及び信用証明情報確認の状況を外部から継続的に見ることができる。
好都合には、スマートカードに関しては、1つの待機ループカウンタ及び1つの待機ループフラグだけが存在するが、試行カウンタの数は、スマートカードメモリに記憶されている信用証明情報の数に関連(比例)していることに留意されたい。
永久的なクロックをもたないスマートカードを用いると、クロック周波数を高くするとループの期間が短くなる。もしくは、スマートカードチップが組み込み式タイマをもつ場合、カウンタは、タイマによって与えられる経過時間に置き換えることができる。利点は、適切に制御された待機ループの期間であろう。
【0030】
待機ループ機構は、以下の連続したステップからなる。
ステップ1:待機ループフラグを設定する(図2のステップ1.WL)
ステップ2:所定時間を経過させる(図2のステップ2.WL)
ステップ3:サービスを要求するエンティティ(ホスト)にスマートカードが活動状態である(即ち、時間切れではない)ことを知らせる(図2のステップ3.WL)
ステップ4:待機ループカウンタを減算し、ゼロでない場合にステップ2に戻る(図2のステップ4.WL及びステップ5.WL)
ステップ5:待機ループカウンタを最大値にリセットする(図2のステップ6.WL)
ステップ6:待機ループフラグをクリアする(図2のステップ7.WL)
【0031】
フラグは最初にクリアされていることに留意されたい。
【0032】
好都合には、ステップ2(図2のステップ2.WL)は、一連のNOP(処理なし、即ちダミー指示)によって実行され、時間切れでないことが重要なので、ATR(Anser To Reset)によって取り決められた最大期間を超えることはない。
ステップ3は、ISO 7816の制約に従って、特定のバイト、即ち、値$60をホストに送る(図2のステップ3.WL)。
【0033】
本発明による方法の本実施形態の変形例として、待機ループカウンタの代わりにタイマ(携帯型物品が利用可能なタイマをもつ場合)を使用することは好都合である。いずれの場合も、ループの最新の完了レベルを示すマーカーを携帯型物品の不揮発性メモリに記憶する必要がある。
【0034】
待機ループは、偶発的に又は故意に中断することができる。例えば、エンドユーザは、自分のスマートカードに何が起こっているのかと疑問に思い読取り装置から取り外す場合があり、又は、攻撃者は、待機ループ機構を停止させるために、素早く信用証明情報をブロックしてリセット命令を送りたいと思う場合がある。
【0035】
これを防止するために、待機ループ状況(カウンタ及びフラグ)は、グローバルスコープを有し、スマートカードの構成装置(例えば、APDUマネージャとも呼ばれる、アプリケーション・プロトコル・データ・ユニットマネージャ)は、前回のセッションの間の待機処理が中断された場合に再開するように修正される(図2のAPDUマネージャによって実行されるステップ3.AM及びステップ4.AM)。待機ステップの効率的な管理を可能にするこの強力な仕組みにについて、以下に詳細に説明する。
【0036】
図1に示すように、スマートカードがリセットされた場合(図1又は図2のリセット信号)、種々の試験、通信プロトコルの選択、電源電圧の選択、通信速度の選択等の所定数の処理を行う。これらの処理が成功すると、スマートカードは、ホスト(サービスを要求するエンティティ)からの命令を受信可能なモードに切り替わる(図1ステップ1.PAM−図2のステップ1.AM)。
これらの命令はAPDU(アプリケーション・プロトコル・データ・ユニット)コマンドと呼ばれる。APDUマネージャは、ホストからのAPDUコマンド(APCU1、・・・APDU N、信用証明情報確認APDU)を受信して、これらをスマートカードオペレーティングシステム、スマートカードメモリに取り込まれているアプレット、又はスマートカードの任意の関連モジュールのいずれかに送り出す責任を負う(図1のステップ2.RAM−図2のステップ5.AM)、スマートカード上で実行されるソフトウェアである。
【0037】
図2に示すように、APDUマネージャは、本発明の方法を実行するために修正する必要がある。APDUコマンドが送り出される前に、APDUマネージャは、待機ループフラグの状態を検査する必要がある(図2のステップ3.AM)。フラグがクリアされた場合、APDUコマンドは、通常はスマートカードによって処理される。
そうでなければ、待機ループは既に中断されており、再開する必要があることを意味する。APDUマネージャは、前述の待機ループ機構を呼び出す。待機ループカウンタは非揮発性メモリに記憶され、且つグローバルスコープをもつので、待機ループは、以前に中断された場合でも継続する。待機ループが再度中断された場合、これは同じ機構のおかげで正常な状態に戻ることができる。
【0038】
APDUマネージャは、待機ループが完全に実行されている場合にのみ呼び出されたAPDUコマンドの処理を開始することができる。外部世界の視点からすれば、スマートカードは、APDUコマンドの実行が通常よりもはるかに長い時間を費やす以外は、以前と全く同様に機能することができる。
【0039】
更に、図2に示すように、特定のAPDUコマンド(診断用APDUコマンド等)を待機ループの前に実行することを可能にできる。診断用APDUの目的は、スマートカードがサービス妨害攻撃を受けているか否かを検査することである。
【0040】
好都合には、待機ループは、スマートカードに送信される第1のAPDUコマンドで実行される。
従って、待機ループは、規格ISO制約に準拠しており、既存のシステムに透過的でなければならない。結果的に、DOS型攻撃に対して保護されたスマートカードを導入するために、クライアントソフトウェアのアップデートは必要ない。待機ループはいつでも起こり得ないことに留意されたい。特に、待機ループがリセットプロセスの直後に実行される場合、スマートカードは、作動していないと判断されるであろう。また、Windows(登録商標)2000及びXP(マイクロソフト社のソフトウェア)は、所定時間の間に接続が行われない場合にはスマートカードをパワーダウン状態にして、これによって、スマートカードは依然として活動状態であり処理中であることをホストに知らせることが正当化される。
更に、待機ループは、信用証明情報がブロックされるのを防ぐ保護するものとしての機能を果たし、また、攻撃又はバグ(開発段階での)がスマートカードを脅かしていることをユーザに警告することを可能にする。結果的に、認知される目的で、スマートカードが特定の処理を実行してその結果を戻すことが要求される時に、待機ループが発生することは好都合である。
【0041】
待機ループ機構は、2つのパラメータ、即ち、ループの期間及び低速試行の最大回数を用いて調整することができる。
ループの期間は、待機ループカウンタに比例し、スマートカードメモリ内に記憶されている全ての信用証明情報に対して固有のものである。低速試行の最大回数は、本発明によって導入された新しい試行カウンタ数と直接関連付けされる。好都合には、低速試行の最大回数は、信用証明情報の形式ごとに、又はスマートカードメモリに記憶された信用証明情報ごとでも異なる。
幾つかの相反する制約は、前述のパラメータの最適値を決定し、特に、
−ループの期間を乗じた低速試行の最大回数は、DOS攻撃の成功をあり得ないようにするのに十分な長さである必要があり、
−低速試行の最大回数は、信用証明情報の推測攻撃の可能性を高めないよう十分に少ない必要があり、
−ループの期間は、ユーザが何かおかしくなっていることに気づいてペルプデスクサービスに報告するように、十分に長い必要があり、
−ループの期間は、作業中にユーザに対するブロックが長時間に及ばないように十分に短い必要がある。実際には、この状態は一時的なものであり、正常状態に戻るためにスマートカードの介入を必要としないが、不便である。
一例として、約30分の待機ループ及び100回の低速試行の最大回数は、トランスポートキー、オープンプラットホームキー、及びブロック解除コードについては適度なパラメータと思われる。これらのキー及びコードは強力である必要があり、例えば、不規則に又は暗号法的に選択される。
PINコードに関しては、試行の最大回数は、すでに非常に堅固なPINポリシーが定義されて実行されていない限り、例えば5回の低速試行といった非常に少ないことが必要である。試行の最大回数を少なくすると、PINに対するDOS攻撃の成功確率が高くなる。しかしながら、多くの状況において、このような攻撃は、スマートカードを物理的に交換しなくても正常な状態に戻すことができるので、重大な脅威を意味するものではない。
【0042】
勿論、実際の値は、正確な用途及びセキュリティの必要条件に基づいて個別設定段階で個別化できる。
スマートカードオペレーティングシステムは、これらのパラメータが適切なセキュリティレベルを保証する限界値を超えるのを防止する必要がある。
【0043】
本発明の方法を用いると、DOS型攻撃に対するスマートカードのセキュリティレベルが向上し、DOS型攻撃とは異なる攻撃に対するセキュリティレベルが維持される。
この点において、カウンタは予め減算されていること、又はフラギング機構を設置して切り離し(tearing)攻撃等を防止することが好都合である。
また、適用可能な場合、信用証明情報の比較ではなくて、ユーザ確認のための質問への応答(challenge response)を優先することは好都合である。直接的な信用証明情報の比較が必要な場合(例えば、PIN確認)、信用証明情報ビット数は、不規則な順番で確認される必要があり、随意的に、単純電力解析(SPA)等を防止するために、不規則にXORを行う必要がある。実際に試行回数が多くなっているので、電力解析攻撃の成功の可能性は、このような対策が講じられていない場合の方が高い。
信用証明情報は、できるだけ予測不能であることが好都合である。このことは、例えば、ランダムマスターキーの多様化によって取得できるトランスポートキーを用いて簡単に実現できる。更に、スマートカードオペレーティングシステムOSは、低速試行の最大回数がこのような信用証明情報の場合でさえも十分に少ないことを(例えば、256未満)強制する必要がある。
潜在的に予測可能な信用証明情報の場合(例えば、システムではなくユーザによって定義された場合)、適切なセキュリティポリシーを実施する必要がある。例えば、PINは、自明かつ予測可能なPIN値を回避するために、PINポリシーに従う必要があり、このことは、PIN推測攻撃を防止するために、可能な場合はスマートカード内で実施することができる。試行回数の増加に起因して、不十分なPINがある場合には、総当たり攻撃は(不規則な信用証明情報には無効である)非常に有効な攻撃に置き換えることができる。この場合も、PINの第2のカウンタの初期値は、予測不能な信用証明情報の場合よりもはるかに小さいものとすべきである。
【0044】
随意的に、DOS攻撃又は不正な操作が進行中であることを外部世界に知らせるためにスマートカード上でコマンドを実行することができる。APDUマネージャは、遅延ループを適用することなくこのコマンドを実行させることができる(遅延ループは、いずれにしても次のコマンドに適用されるであろう)。
【0045】
何か起こっているかを検査するために、診断ツールは、このコマンドをポーリングすることができる。スマートカードは、状態ワードSW_DOS_UNDERWAY、又は$9000で応答するであろう(図2のステップ1.D、及びステップ2.D)。
管理者にDOS_UNDERWAYフラグをリセットさせるために、別のAPDUコマンドが必要となるであろう(図2のDOSフラグ)。
クライアントアプリケーションは修正する必要がなく、このことは本発明の1つの利点である。カード管理システム(CMS)又は個別設定ツール等の管理用ツールだけをアップデートする必要があり、各々のエンドユーザのPC上で実行されているソフトウェア(「クライアントアプリケーション」)をアップデートする必要はない。
【0046】
しかしながら、ユーザがもっと使いやすいようにするために、クライアントアプリケーションにおいてカードの新しい作動を考慮に入れることができ、前述の通知コマンドのおかげで、明確な警告メッセージをユーザに表示することができる。もしくは、クライアントアプリケーションは、潜在的に待機ループを起動することができるSelect_root等の「ダミー」APDUコマンドを送ることができる。実際に待機ループがある場合、クライアントアプリケーションは、待機ループを検出して、ユーザにカードが一時的に利用できないことを通知できる。待機ループがない場合、通常の処理が継続する。
クライアントアプリケーションに関するこのような修正がない場合、エンドユーザは一時的なサービス妨害を経験することになる。即ち、クライアントアプリケーションは、所定時間にわたって(例えば、前述のように30分)ブロックされ、エンドユーザには何らかの不正行為が行われていることが通知される。
しばらくして、ユーザがペルプデスク又は技術サポート担当者に連絡を行い、ペルプデスク又は技術サポート担当者がDOS攻撃を素早く診断することになる。この攻撃はおそらく稀なので問題にはならないはずであり、投資に値するクライアントアプリケーションの修正は必要ない。特に、ウィルスがこの通知の裏をかいて、クライアントアプリケーション及びエンドユーザに対して隠蔽することを考慮する場合である。
【0047】
以下に、攻撃を受けたシステムの挙動の一例、及び本発明の利点を説明する。種々の目的(種々の企業サイトへの物理的アクセス、コンピュータネットワークへのログオン、電子メール署名及び暗号化等)のためのコーポレート・バッジとしてPKI(公開鍵インフラストラクチャ)形式のスマートカードが装備された従業員約10,000人の企業を(例えば、電子メール添付書類で従業員に送信された)ウィルスが襲った場合に起こる状況を検討することにする。このウィルスは、コンピュータネットワークを介して間違った値を与えることによってバッジ信用証明情報をブロックする。
本発明を実施しない場合、ウィルスは、(幾つかの間違った信用証明情報を与えることによって)素早く(おおよそ数秒で)第1のカウンタを削除することができる。10,000人のユーザ全員を素早くブロックすることができるので、彼らのバッジを交換する必要がある。明らかにこれは企業に対して財政面及びセキュリティ面で非常に重大な影響を及ぼす可能性がある。
【0048】
本発明によれば、第2のカウンタの減算が始まると即座に、待機ループ機構は、ウィルスがカウンタを削除するのに対向すると共にユーザが自分のバッジが攻撃されていることに素早く気づくように、カウンタを非常に長くする。
クライアントアプリケーションから攻撃が継続中であるという通知がユーザになかった場合でも、又はウィルスが通知を中断してクライアントアプリケーションがこの通知を行うのを妨げた場合でも、ユーザは、一時的なサービス妨害DOSを経験する。
前述のように、スマートカードは、各々の別の不正な試行の後に30分間待つように、及び信用証明情報をブロックの前に100回の不正な試行を待つように個別設定できる。
このことは、ユーザが30分間にわたって以下のようスマートカード関連アクションを行えないことを意味する。
−Kerboros等の認証システムを介したパーソナルコンピュータPCへのログオン、
−仮想私設通信網(VPN)接続の開始
−Entrust ICE等の特定のソフトウェアを使用したハードディスク上のファイルの復号化、
−Outlook等の電子メールソフトウェアでの電子メール署名
−スクリーンセーバのロック解除、
−Netscape等のインターネットブラウザを介したセキュア・ソケット・レイヤ(SSL)でのセキュア・ウェブサーバへの接続。
更に厳密には、ユーザは、これらのタスクのいずれかを開始でき、理論的にはこれは機能するであろうが、通常よりも約30分長く時間がかかることになる。30分の間に、スマートカードは、特定のISOバイトを送信し続け、これは、スマートカード読み取り装置PC/SCスタックに、スマートカードは依然として処理中であり、読み取り装置は時間切れになっていないはずであることを伝える。
【0049】
また、これは、問題になっている信用証明情報をブロックする前に、ユーザは、異常な状況に気づくことなく、信用証明情報あたり50時間のサービス妨害DOS(30分単位で100回)を経験するはずであることを意味する。
実際にカードをブロックすることは、通常、PIN、PUK、及びキーをブロックすることを意味するので、カードのブロックには、100時間以上のDOSを必要とする。
また、ウィルスは、全ての正当な信用証明情報確認を妨害するほど知的である必要がある。そうでなければ、カウンタはその最大値にリセットされ、遅延(100時間以上)が最初から再開される。このようなウィルスの機能は、このような長期間にわたって全ての状況において作用するように保証できない(スマートカードは、ウィルスに感染していない別のPCにプラグインされる可能性があり、カードは、偶発的にブロック解除される可能性がある)。
典型的なコーポレート・バッジの使用法は、バッジを携行することにあり、このことは、机を離れると即座にPCから抜かれることを意味する(ドアを開ける、社員食堂で支払いをする、駐車場を利用する等のために)。
スマートカードを接続した状態でユーザが自分のPCの前にいるときに限り、ウィルスは、信用証明情報を攻撃できる。
従業員が自分のPCの前に一日平均5時間過ごし(全ての従業員及び全ての労働日の平均なので相当である)、スマートカードがこの間は常時PCに差し込まれていると仮定する。このような悲観的な仮説をしても、ウィルスは、カードをブロックする前に少なくとも丸1ヶ月の労働月を必要とする(これは上記で計算した最短可能遅延(100時間以上)に相当する)。
ユーザが、スマートカードに関連付けされた何らかのサービスにアクセスできずに(このことは、通常、PCにログインするためにコーポレート・バッジが使用されるので、PCを全く使用できないことを含む場合が多い)、ペルプデスク担当者又は技術サポート担当者に全く問題を連絡することなく、1ヶ月以上の期間を費やすことはあり得ない。このことが起こる可能性が極めて低い。10,000人の従業員全員が1ヶ月以上の期間にわたってスマートカードによって確保された種々のサービスにアクセスできず、全く連絡しないことは更にあり得ない。
従って、少なくとも1人の従業員が、ペルプデスクに連絡して、クライアントアプリケーションが、「ご利用のスマートカードはDOS攻撃を受けており、使用中のPCはウィルス感染しているはずです。ペルプデスクに連絡してウィルス対策ソフトウェアをアップデートして下さい。」というメッセージが表示されたと言うか、又はスマートカードが機能しないと苦情を訴えるかである。
【0050】
ペルプデスクは、スマートカードを解析して、例えば、診断用APDUの助けを借りて、又は不正値を有する信用証明情報を確認してスマートカードが低速状態にあるか否かを検査するだけでDOS攻撃を受けていることを確認できる。ペルプデスクは、問題のある一人のユーザを発見するとすぐにランダムに他の一部のユーザを検査することができる。ペルプデスクが、他の一部のユーザの数名も同様に感染していると気づいた場合、企業全体を対象にして緊急対策を適用する、例えば、ウィルス対策のアップデートが利用可能でありPC上で問題なく実行されるまで、カードを読み取り装置から抜くように従業員に要求する必要がある。随意的に、全てのカウンタを最大値にリセットするために、自己サービスバッジ管理システムの一種に接続して全ての関連の信用証明情報に関して認証を行うようにユーザに要求することが可能である。
ウィルス対策によってPCからウィルスが除去された後に、全てのバッジは、短時間の遅延(約30分)で正常に機能する状態になるであろう。
結果的に、多数のユーザがブロックされること、大量の新しいバッジが作成されて代替バッジとして個別設定されることを必要とするということを誰も行うことができない。
【0051】
本実施例は一般化することができ、本発明は、他の環境において実施できる。このような場合、前述のパラメータは、携帯型物品の種々の制約に適合させる必要がある。
【0052】
また、全ての実施形態は、カウンタ又は異なる減算式カウンタでもって示されている。当業者であれば、減算式カウンタではなく加算式カウンタからなる別の解決策を選択できることは自明である。
【図面の簡単な説明】
【0053】
【図1】規格ISO 7816に準拠したスマートカードの特定の領域において、サービスを要求するエンティティが許可されたエンティティであることを確認するための現在のプロセスの実施形態を概略的に示す。
【図2】規格ISO 7816に準拠したスマートカードの特定の領域において、サービスを要求するエンティティが許可されたエンティティであることを確認するためのプロセスに関する本発明のDOS防止機構の特定の実施形態を概略的に示す。

【特許請求の範囲】
【請求項1】
各々がサービスに関連する少なくとも1つの信用証明情報が記憶されているメモリを備える携帯型物品を、サービス妨害型攻撃に対して保護する方法であって、
前記信用証明情報を必要とするアルゴリズムに基づいて、サービスを要求するエンティティが前記サービスへのアクセスが許可されたエンティティであることを確認する段階と、
前記確認段階が成功した場合にのみ、前記要求されたサービスを提供する段階と、
特定数の確認段階が不成功に終わった後に、前記サービスに関連する前記信用証明情報をブロックする段階と、
を含み、前記確認段階が不成功に終わった場合に、
新しい確認段階を可能にする前に、所定期間にわたって待機する段階を更に含むことを特徴とする方法。
【請求項2】
前記待機期間は、各々の不成功に終わった確認段階に関して一定であることを特徴とする、請求項1に記載の携帯型物品をサービス妨害型攻撃に対して保護する方法。
【請求項3】
前記待機期間は、各々の不成功に終わった確認段階に関して可変であることを特徴とする、請求項1に記載の携帯型物品をサービス妨害型攻撃に対して保護する方法。
【請求項4】
前記待機期間は、第1の所定数の不成功に終わった確認段階に関してはゼロに等しく、前記待機期間は、第2の所定数の不成功に終わった確認段階に関してはゼロよりも大きいことを特徴とする、前記請求項のいずれか1項に記載の携帯型物品をサービス妨害型攻撃に対して保護する方法。
【請求項5】
所定期間にわたって待機する前記段階は、前記期間が経過する前に前記段階が中断された場合に再開されることを特徴とする、前記請求項のいずれか1項に記載の携帯型物品をサービス妨害型攻撃に対して保護する方法。
【請求項6】
前記信用証明情報は、個人識別番号又はキー又はコードであることを特徴とする、請求項1に記載の携帯型物品をサービス妨害型攻撃に対して保護する方法。
【請求項7】
前記エンティティは、ユーザ、端末、サーバ、又はアプリケーションであることを特徴とする、請求項1に記載の携帯型物品をサービス妨害型攻撃に対して保護する方法。
【請求項8】
前記方法は、
確認段階が実行される度に前記少なくとも1つの信用証明情報に関連する、初期値と信用証明情報ブロック値との間の範囲の値を有するカウンタを減算する段階と、
前記確認段階が成功した場合に、前記カウンタを前記初期値にリセットする段階と、
を更に含み、前記カウンタが中間値に達した場合に、
確認段階が不成功に終わった場合に所定期間にわたって待機する段階と、
前記カウンタが前記信用証明情報ブロック値に達した場合に前記信用証明情報をブロックする段階と、
を更に含むことを特徴とする、前記請求項のいずれか1項に記載の携帯型物品をサービス妨害型攻撃に対して保護する方法。
【請求項9】
前記方法は、
確認段階が実行される度に前記少なくとも1つの信用証明情報に関連する、第1の初期値と中間値との間の範囲の値を有する第1のカウンタを減算する段階を更に含み、前記第1のカウンタが前記中間値に達した場合に、
前記第1のカウンタに関連する、第2の初期値と信用証明情報ブロック値との間の範囲の値を有する第2のカウンタを減算する段階と、
確認段階が成功した場合に、前記第1のカウンタを前記第1の初期値にリセットすると共に前記第2のカウンタを前記第2の初期値にリセットする段階と、
確認段階が不成功に終わった場合に所定期間にわたって待機する段階と、
前記第2のカウンタが前記信用証明情報ブロック値に達した場合に前記信用証明情報をブロックする段階と、
を更に含むことを特徴とする、請求項1から7のいずれか1項に記載の携帯型物品をサービス妨害型攻撃に対して保護する方法。
【請求項10】
確認段階が不成功に終わった場合に、所定期間にわたって待機する前記段階は、待機ループ機構によって実行されることを特徴とする、前記請求項のいずれか1項に記載の携帯型物品をサービス妨害型攻撃に対して保護する方法。
【請求項11】
前記カウンタ、前記第1のカウンタ、又は前記第2のカウンタを減算する前記段階は、前記確認段階の前に実行されることを特徴とする、請求項8に記載の携帯型物品をサービス妨害型攻撃に対して保護する方法。
【請求項12】
前記カウンタ、前記第1のカウンタ、又は前記第2のカウンタを減算する前記段階は、前記確認段階の後に実行されることを特徴とする、請求項8に記載の携帯型物品をサービス妨害型攻撃に対して保護する方法。
【請求項13】
携帯型物品、特にスマートカードであって、
各々がサービスに関連し、サービスを要求するエンティティが前記サービスへのアクセスが許可されたエンティティであることを確認するのに使用される、少なくとも1つの信用証明情報が記憶されているメモリと、
サービスを要求する前記エンティティが前記サービスへのアクセスが許可されたエンティティであるという確認が不成功に終わる度に減算される少なくとも1つの信用証明情報に関連し、初期値と信用証明情報ブロック値との間の範囲の値を有し、確認が成功した場合に前記初期値にリセットされるカウンタと、
を備え、前記携帯型物品は、
前記カウンタが中間値に達した場合及び確認が不成功に終わる度に起動される待機ループ機構を更に備えることを特徴とする携帯型物品。
【請求項14】
前記カウンタは、第1のカウンタ及び第2のカウンタを備え、前記第1のカウンタは、サービスを要求する前記エンティティが前記サービスへのアクセスが許可されたエンティティであるという確認が不成功に終わる度に減算される前記少なくとも1つの信用証明情報に関連し、前記第1のカウンタは、第1の初期値と中間値との間の範囲の値を有し、前記第2のカウンタは、前記第1のカウンタが前記中間値に達した場合及びサービスを要求する前記エンティティが前記サービスへのアクセスが許可されたエンティティであるという確認が不成功に終わる度に減算され、前記第2のカウンタは、第2の初期値と信用証明情報ブロック値との間の範囲の値を有することを特徴とする、前記請求項に記載の携帯型物品。
【請求項15】
前記待機ループ機構は、前記所定の期間が経過する前に前記段階が中断された場合に、前記待機ループ機構によって実行される所定期間にわたって待機する前記段階を再開するために使用される、ループフラグを備えることを特徴とする請求項13及び14のいずれかに記載の携帯型物品。
【請求項16】
コンピュータプログラムコード手段を有するコンピュータによって読み取り可能な媒体を備えるコンピュータプログラム製品であって、前記プログラムは、前記携帯型物品の前記メモリ内に取り込まれた場合、前記携帯型物品に、請求項1から12のいずれか1項に記載される前記携帯型物品をサービス妨害型攻撃に対して保護する方法を実行させるようになっていることを特徴とするためのコンピュータプログラム製品。

【図1】
image rotate

【図2】
image rotate


【公表番号】特表2006−512690(P2006−512690A)
【公表日】平成18年4月13日(2006.4.13)
【国際特許分類】
【出願番号】特願2005−501550(P2005−501550)
【出願日】平成15年10月20日(2003.10.20)
【国際出願番号】PCT/IB2003/004613
【国際公開番号】WO2004/038652
【国際公開日】平成16年5月6日(2004.5.6)
【出願人】(504239847)アクサルト ソシエテ アノニム (17)
【Fターム(参考)】