(57)【要約】携帯型物品は、少なくとも１つの信用証明情報が記憶されたメモリを備える。信用証明情報は、サービスに関連するものであり、サービスを要求するエンティティがサービスへのアクセスが許可されたエンティティであることを確認するのに使用される。携帯型物品をサービス妨害型攻撃に対して保護する方法は、信用証明情報を必要とするアルゴリズムに基づいて、サービスを要求するエンティティがサービスへのアクセスが許可されたエンティティであることを確認する段階と、確認段階が成功した場合にのみ要求されたサービスを行う段階と、所定数の確認段階が不成功に終わった後にサービスに関連する信用証明情報をブロックする段階とを含む。確認段階が不成功に終わった場合、本方法は、新しい確認段階を可能にする前に、所定期間にわたって待機する段階を更に含む。
2006512690.tif 000002
【特許請求の範囲】
【請求項１】
各々がサービスに関連する少なくとも１つの信用証明情報が記憶されているメモリを備える携帯型物品を、サービス妨害型攻撃に対して保護する方法であって、
前記信用証明情報を必要とするアルゴリズムに基づいて、サービスを要求するエンティティが前記サービスへのアクセスが許可されたエンティティであることを確認する段階と、
前記確認段階が成功した場合にのみ、前記要求されたサービスを提供する段階と、
特定数の確認段階が不成功に終わった後に、前記サービスに関連する前記信用証明情報をブロックする段階と、
を含み、前記確認段階が不成功に終わった場合に、
新しい確認段階を可能にする前に、所定期間にわたって待機する段階を更に含むことを特徴とする方法。
【請求項２】
前記待機期間は、各々の不成功に終わった確認段階に関して一定であることを特徴とする、請求項１に記載の携帯型物品をサービス妨害型攻撃に対して保護する方法。
【請求項３】
前記待機期間は、各々の不成功に終わった確認段階に関して可変であることを特徴とする、請求項１に記載の携帯型物品をサービス妨害型攻撃に対して保護する方法。
【請求項４】
前記待機期間は、第１の所定数の不成功に終わった確認段階に関してはゼロに等しく、前記待機期間は、第２の所定数の不成功に終わった確認段階に関してはゼロよりも大きいことを特徴とする、前記請求項のいずれか１項に記載の携帯型物品をサービス妨害型攻撃に対して保護する方法。
【請求項５】
所定期間にわたって待機する前記段階は、前記期間が経過する前に前記段階が中断された場合に再開されることを特徴とする、前記請求項のいずれか１項に記載の携帯型物品をサービス妨害型攻撃に対して保護する方法。
【請求項６】
前記信用証明情報は、個人識別番号又はキー又はコードであることを特徴とする、請求項１に記載の携帯型物品をサービス妨害型攻撃に対して保護する方法。
【請求項７】
前記エンティティは、ユーザ、端末、サーバ、又はアプリケーションであることを特徴とする、請求項１に記載の携帯型物品をサービス妨害型攻撃に対して保護する方法。
【請求項８】
前記方法は、
確認段階が実行される度に前記少なくとも１つの信用証明情報に関連する、初期値と信用証明情報ブロック値との間の範囲の値を有するカウンタを減算する段階と、
前記確認段階が成功した場合に、前記カウンタを前記初期値にリセットする段階と、
を更に含み、前記カウンタが中間値に達した場合に、
確認段階が不成功に終わった場合に所定期間にわたって待機する段階と、
前記カウンタが前記信用証明情報ブロック値に達した場合に前記信用証明情報をブロックする段階と、
を更に含むことを特徴とする、前記請求項のいずれか１項に記載の携帯型物品をサービス妨害型攻撃に対して保護する方法。
【請求項９】
前記方法は、
確認段階が実行される度に前記少なくとも１つの信用証明情報に関連する、第１の初期値と中間値との間の範囲の値を有する第１のカウンタを減算する段階を更に含み、前記第１のカウンタが前記中間値に達した場合に、
前記第１のカウンタに関連する、第２の初期値と信用証明情報ブロック値との間の範囲の値を有する第２のカウンタを減算する段階と、
確認段階が成功した場合に、前記第１のカウンタを前記第１の初期値にリセットすると共に前記第２のカウンタを前記第２の初期値にリセットする段階と、
確認段階が不成功に終わった場合に所定期間にわたって待機する段階と、
前記第２のカウンタが前記信用証明情報ブロック値に達した場合に前記信用証明情報をブロックする段階と、
を更に含むことを特徴とする、請求項１から７のいずれか１項に記載の携帯型物品をサービス妨害型攻撃に対して保護する方法。
【請求項１０】
確認段階が不成功に終わった場合に、所定期間にわたって待機する前記段階は、待機ループ機構によって実行されることを特徴とする、前記請求項のいずれか１項に記載の携帯型物品をサービス妨害型攻撃に対して保護する方法。
【請求項１１】
前記カウンタ、前記第１のカウンタ、又は前記第２のカウンタを減算する前記段階は、前記確認段階の前に実行されることを特徴とする、請求項８に記載の携帯型物品をサービス妨害型攻撃に対して保護する方法。
【請求項１２】
前記カウンタ、前記第１のカウンタ、又は前記第２のカウンタを減算する前記段階は、前記確認段階の後に実行されることを特徴とする、請求項８に記載の携帯型物品をサービス妨害型攻撃に対して保護する方法。
【請求項１３】
携帯型物品、特にスマートカードであって、
各々がサービスに関連し、サービスを要求するエンティティが前記サービスへのアクセスが許可されたエンティティであることを確認するのに使用される、少なくとも１つの信用証明情報が記憶されているメモリと、
サービスを要求する前記エンティティが前記サービスへのアクセスが許可されたエンティティであるという確認が不成功に終わる度に減算される少なくとも１つの信用証明情報に関連し、初期値と信用証明情報ブロック値との間の範囲の値を有し、確認が成功した場合に前記初期値にリセットされるカウンタと、
を備え、前記携帯型物品は、
前記カウンタが中間値に達した場合及び確認が不成功に終わる度に起動される待機ループ機構を更に備えることを特徴とする携帯型物品。
【請求項１４】
前記カウンタは、第１のカウンタ及び第２のカウンタを備え、前記第１のカウンタは、サービスを要求する前記エンティティが前記サービスへのアクセスが許可されたエンティティであるという確認が不成功に終わる度に減算される前記少なくとも１つの信用証明情報に関連し、前記第１のカウンタは、第１の初期値と中間値との間の範囲の値を有し、前記第２のカウンタは、前記第１のカウンタが前記中間値に達した場合及びサービスを要求する前記エンティティが前記サービスへのアクセスが許可されたエンティティであるという確認が不成功に終わる度に減算され、前記第２のカウンタは、第２の初期値と信用証明情報ブロック値との間の範囲の値を有することを特徴とする、前記請求項に記載の携帯型物品。
【請求項１５】
前記待機ループ機構は、前記所定の期間が経過する前に前記段階が中断された場合に、前記待機ループ機構によって実行される所定期間にわたって待機する前記段階を再開するために使用される、ループフラグを備えることを特徴とする請求項１３及び１４のいずれかに記載の携帯型物品。
【請求項１６】
コンピュータプログラムコード手段を有するコンピュータによって読み取り可能な媒体を備えるコンピュータプログラム製品であって、前記プログラムは、前記携帯型物品の前記メモリ内に取り込まれた場合、前記携帯型物品に、請求項１から１２のいずれか１項に記載される前記携帯型物品をサービス妨害型攻撃に対して保護する方法を実行させるようになっていることを特徴とするためのコンピュータプログラム製品。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、携帯型物品をサービス妨害型攻撃に対して保護する方法に関する。また、本発明は、サービス妨害型攻撃を阻止可能な携帯型物品、特に、スマートカードを提案するものである。
【背景技術】
【０００２】
スマートカード技術の基本的な機能の１つは、個人識別番号（ＰＩＮコード）のような様々な信用証明情報、様々なキー及びコード（例えば、ＰＵＫとしても知られているＰＩＮブロック解除キーのようなブロック解除コード）等の安全なリポジトリの機能を果たし得ることである。
【０００３】
スマートカードが認証目的で使用される状況において、スマートカードは、エンティティから供給された信用証明情報がスマートカードのメモリに記憶された信用証明情報と一致するか否かを検査することによって、サービスを要求するエンティティの身元を確認するために使用される。このようなエンティティは、例えば、ユーザ、端末、サーバ、管理者、又はアプリケーションとすることができる。
【０００４】
現在、信用証明情報が認証目的でスマートカードによって確認される場合、確認が不成功に終わる度に内部カウンタが減算される。このカウンタがゼロになると関連の信用証明情報はブロックされる。一部の信用証明情報はブロック解除又は再プログラム化することができるが（十分な特権をもつエンティティによって）、他の信用証明情報はそうすることができず、ブロックされると結果的にスマートカードを物理的に交換することが必要になる場合が多い。
【０００５】
一例として、ユーザが不正に何度も試行して彼のＰＩＮをブロックした場合、管理者は、ブロック解除コードを用いてＰＩＮをブロック解除できる。ＰＩＮ及びブロック解除コードの両方がブロックされた場合、スマートカード管理システムは、トランスポートキーを使用してスマートカードを再度個別設定することができる。トランスポートキー及びブロック解除コードのみがブロックされた場合、ユーザがＰＩＮを忘却／ブロックしておらず且つスマートカードに対して管理操作が必要とされない限り、依然としてカードは使用可能である。しかしながら、ＰＩＮ、ブロック解除コード、及びトランスポートキーがブロックされた場合、スマートカードは物理的に交換する必要がある。
【０００６】
当初、スマートカードは、パーソナルコンピュータ（ＰＣ）、及びパーソナルコンピュータ同士を相互接続するネットワークを保護するセキュリティ機器として使用するように設計されていなかった。しかしながら、ユーザがネットワークにアクセスすることを可能するために及び／又はユーザをネットワーク上で認証するために、ますます多くのスマートカードが使用されている。このような背景に（特に企業社会において）関連性の高い攻撃群は、スマートカードの仕様を定める際には考慮されていなかった。インターネット上で最も有名な頻発する攻撃の１つは、サービス妨害攻撃（ＤＯＳ）である。このような攻撃は、リクエストすることでネットワーク（例えばサーバ）を過負荷状態にすることによって、ネットワークの構成装置を攻撃することである。構成装置は、担当任務を実行することができなくなり、結果として、エンドユーザは、立ち往生してしまう。システムは、必ずしも危険にさらされるわけではないが、もはや使用不可能である。ＤＯＳ攻撃の可能性のある実行は、スマートカードがブロック状態になるまで間違った信用証明情報を試行することによって（例えば、ランダムデータを用いて信用証明情報確認コマンドを送ることによって）、ウィルスが組織又は企業を攻撃するものである。このような攻撃の結果として、何千人ものユーザが作業できないことになる可能性がある。エンドユーザのＰＣは、バックアップシステムのおかげで自動的に正常状態に戻ることができるが、スマートカードは、物理的に交換する必要があるであろう。この交換段階の間に（組織又は企業にとっては非常に長く費用がかかる可能性がある）、ユーザは、自分のＰＣにログオンしてネットワークを保護することができないか、又はスマートカードによるアクセス及び／又は認証よりもはるかにセキュリティレベルが低いユーザ名及びパスワードでこの作業を行なう必要があるであろう。
【０００７】
また、従来技術によるスマートカードブロックシステムに関する別の問題が、スマートカードの開発段階又は個別設定段階の間に頻繁に発生する。技術サポートチームへの最も頻度の高い問い合わせの１つは、偶発的にブロックされて、もはやプログラムできないスマートカードによるものである。技術サポートは、カードが実際にブロックされていることを把握する必要がある。スマートカード又は使用中のスマートカードソフトウェア開発ツールに問題があると考えられる場合が多い。スマートカードが開発段階又は個別設定段階でブロックされた場合、スマートカードカード開発者に新しいスマートカードセットを提供する必要がある場合が多く、非常に費用及び／又は時間がかかることになる。
【発明の開示】
【発明が解決しようとする課題】
【０００８】
従って、本発明の目的は、従来技術のシステムの少なくとも１つの問題点を解決する方法及びシステムを提供することである。
【課題を解決するための手段】
【０００９】
本発明は、何らかの新しい信用証明情報の確認が行われる前に待機期間を追加することによって、不成功に終わった信用証明情報確認の結果を修正することを提案するものである。
【００１０】
特定の実施形態は、所定値に達した際に異なる動作をするカウンタを有すること、又は、通常の第１の信用証明情報カウンタとは少し異なる機能のカウンタを追加することである。カウンタ又は第１のカウンタが所定値に達すると、スマートカードは、信用証明情報をブロックするのではなくて、カウンタ値を継続的に減算するか、又は第２のカウンタ値の減算を開始し、この新しい減算は、待機ループ機構に関連する。
【００１１】
本発明によれば、各々がサービスに関連する、少なくとも１つの信用証明情報が記憶されているメモリを備える携帯型物品をサービス妨害型攻撃から保護する方法は、信用証明情報を必要とするアルゴリズムに基づいて、サービスを要求するエンティティがサービスにアクセスすることが許可されたエンティティであることを確認する段階と、
確認段階が成功した場合にのみ要求されたサービスを提供する段階と、
所定回の確認段階が不成功に終わった後に、サービスに関連する信用証明情報をブロックする段階と、
確認段階が不成功に終わった場合に、新しい確認段階を可能にする前に所定期間にわたって待機する段階と、
を含む。
【００１２】
待機期間は、一定の期間もしくは可変の期間とすることができる。
【００１３】
好都合には、待機期間は、不成功に終わった第１の所定回の確認段階に関してはゼロであり、待機期間は、不成功に終わった第２の所定回の確認段階に関してはゼロよりも大きい。
【００１４】
好都合には、所定の期間にわたって待機する段階は、待機ループ機構によって実行される。
【００１５】
好都合には、所定の期間にわたって待機する段階は、期間が経過する前に確認段階が中断された場合に再開される。典型的に、このことは携帯型物品の電源が切断された場合に起こる可能性がある。
【００１６】
本発明による方法の第１の実施形態は、
少なくとも１つの信用証明情報に関連する、初期値と信用証明情報ブロック値との間の範囲の値をもつカウンタを確認段階が実行される度に減算する段階と、
確認段階が成功した場合に、カウンタを初期値にリセットする段階と、
を含み、カウンタが中間値に達した場合に、本方法は、
確認段階が不成功に終わった場合に、所定期間にわたって待機する段階と、
カウンタが信用証明情報ブロック値に達した場合に、信用証明情報をブロックする段階と、
を更に含む。
【００１７】
本発明による方法の第２の実施形態は、
少なくとも１つの信用証明情報に関連する、第１の初期値と中間値との間の範囲の値をもつ第１のカウンタを確認段階が実行される度に減算する段階、
を含み、第１のカウンタが中間値に達した場合に、本方法は、
第２の初期値と信用証明情報ブロック値との間の範囲の値をもつ第１のカウンタに関連する、第２のカウンタを減算する段階と、
確認段階が成功した場合に、第１のカウンタ及び第２のカウンタをそれぞれの初期値にリセットする段階と、
確認段階が不成功に終わった場合に、所定期間にわたって待機する段階と、
第２のカウンタが信用証明情報ブロック値に達した場合に、信用証明情報をブロックする段階と、
を更に含む。
【００１８】
カウンタ、第１のカウンタ、又は第２のカウンタを減算する段階は、確認段階の前に又は確認段階の後に実行することができる。
【００１９】
また、携帯型物品、特にスマートカードであって、
各々がサービスに関連し、サービスを要求するエンティティがサービスへのアクセスを許可されたエンティティであることを確認するために使用される、少なくとも１つの信用証明情報が記憶されたメモリと、
少なくとも１つの信用証明情報に関連し、サービスを要求するエンティティがサービスへのアクセスを許可されたエンティティであることの確認が不成功に終わる度に減算され、初期値と信用証明情報ブロック値との間の範囲の値をもち、確認が成功した場合に初期値にリセットされるカウンタと、
カウンタが中間値に達した場合及び確認が不成功に終わる度に起動される待機ループ機構と、
を備える携帯型物品が提案される。
【００２０】
特定の実施形態において、カウンタは、第１のカウンタ及び第２のカウンタを備える。少なくとも１つの信用証明情報に関連する第１のカウンタは、サービスを要求するエンティティがサービスへのアクセスが許可されたエンティティであるという確認が不成功に終わる度に、第１の初期値から中間値へ減算される。第２のカウンタは、第１のカウンタが中間値に達した場合及び確認が不成功に終わる度に、第２の初期値から信用証明情報ブロック値へ減算される。
【００２１】
好都合には、待機ループ機構は、所定の期間が経過する前に待機段階が中断された場合に、待機ループ機構によって実行される、所定の期間にわたって待機する段階を再開するために使用されるループフラグを備える。
【００２２】
また、プログラムが携帯型物品のメモリ内に取り込まれた場合に、携帯型物品をサービス妨害型攻撃から保護する方法を携帯型物品に実行させるために、コンピュータプログラムコード手段を有する、コンピュータによって読み取り可能な媒体を備えるコンピュータプログラム製品を提案する。
【００２３】
本発明は、任意のマイクロプロセッサ式スマートカード、及び他の種類のハードウェア式トークンに適用できる。
本発明は、特に、コーポレート・バッジを中心に構築されたアプリケーション、即ち、企業の従業員又は組織の会員によって認証目的に使用される携帯型物品を保護するのに好都合である。
また、本発明は、任意の形式のスマートカード及び任意のアプリケーションに適用可能である。
本発明は、ＤＯＳ攻撃による大規模なスマートカードの破壊を非常に困難なものにする。また、スマートカード・アプリケーション開発者によって偶発的にブロックされるスマートカードに関連した種々の問題が著しく低減される。
【００２４】
本発明の他の特徴及び利点は、本発明の以下の詳細な説明、及びアプリケーションの１つの実際的な実施例で説明されるであろう。
【００２５】
以下の例示的な詳細な説明は、図面を参照することで良く理解されるはずである。
【発明を実施するための最良の形態】
【００２６】
本発明の特定の実施形態によれば、試行カウンタとも命名されている既存カウンタ（図１及び図２のカウンタ＃１）が保持され、これは第２の試行カウンタで補完されている（図２のカウンタ＃２）。
通常、第１のカウンタは、１から１５までの間で変化する初期値をもつ。カウンタは、各々の信用証明情報確認（図１のステップ３．ＰＶＣ−図２のステップ４．ＶＣ）の前に予め減算される（図１のステップ１．ＰＶＣ−図２のステップ１．ＶＣ）。もしくは、カウンタは、各々の信用証明情報確認の後に減算することができる。
【００２７】
確認に成功すると、カウンタは最大値にリセットされ（図１のステップ４．ＰＶＣ−図２のステップ５．ＶＣ）、そうでなければ変更されない（図１のステップ５．ＰＶＣ−図２のステップ７．ＶＣ）。
【００２８】
新たに追加されたカウンタ又は第２のカウンタは、第１のカウンタがゼロに達した後にのみ減算が始まる。第１のカウンタがゼロに達した場合、それ以上は減算されないが、信用証明情報は依然としてブロックされない。その代わりに、各々の新たな信用証明情報確認の前に第２のカウンタは予め減算される（図２のステップ２．ＶＣ）。もしくは、カウンタは、各々の信用証明情報確認の後に減算されることができる。示された値が好適な場合、両カウンタは、それぞれの最大値にリセットされ（図２のステップ５．ＶＣ）、そうでなければ変更されず、待機ループが実行される（図２のステップ６．ＶＣ）。第２のカウンタがゼロに達した場合、信用証明情報がブロックされる（図２のステップ３ＶＣ）。第１のカウンタがゼロに達したことにより第２のカウンタが減算され且つサービスを要求するエンティティのアイデンティティの確認が不成功に終わった場合、待機ループ機構が起動される（図２のステップ１．ＷＬからステップ７．ＷＬ）。
【００２９】
スマートカード技術の固有の制約のために、待機ループ機構の設計では、特定の機能が必要とされる。実際には、スマートカードは、永久的なクロックを有しておらず、ユーザがいつでもスマートカード読取り装置から取り外すことができ、攻撃者が常にリモートでリセットでき、ｉＳＯ７８１６規格に準拠している必要がある。
本発明によれば、待機ループ機構は、待機ループカウンタ及び待機ループフラグを備える。カウンタ及びフラグは、スマートカードの任意の利用可能なプログラマブル不揮発性メモリ（例えば、ＥＥＰＲＯＭ）で管理される。両者共にグローバルスコープを有しており、待機処理及び信用証明情報確認の状況を外部から継続的に見ることができる。
好都合には、スマートカードに関しては、１つの待機ループカウンタ及び１つの待機ループフラグだけが存在するが、試行カウンタの数は、スマートカードメモリに記憶されている信用証明情報の数に関連（比例）していることに留意されたい。
永久的なクロックをもたないスマートカードを用いると、クロック周波数を高くするとループの期間が短くなる。もしくは、スマートカードチップが組み込み式タイマをもつ場合、カウンタは、タイマによって与えられる経過時間に置き換えることができる。利点は、適切に制御された待機ループの期間であろう。
【００３０】
待機ループ機構は、以下の連続したステップからなる。
ステップ１：待機ループフラグを設定する（図２のステップ１．ＷＬ）
ステップ２：所定時間を経過させる（図２のステップ２．ＷＬ）
ステップ３：サービスを要求するエンティティ（ホスト）にスマートカードが活動状態である（即ち、時間切れではない）ことを知らせる（図２のステップ３．ＷＬ）
ステップ４：待機ループカウンタを減算し、ゼロでない場合にステップ２に戻る（図２のステップ４．ＷＬ及びステップ５．ＷＬ）
ステップ５：待機ループカウンタを最大値にリセットする（図２のステップ６．ＷＬ）
ステップ６：待機ループフラグをクリアする（図２のステップ７．ＷＬ）
【００３１】
フラグは最初にクリアされていることに留意されたい。
【００３２】
好都合には、ステップ２（図２のステップ２．ＷＬ）は、一連のＮＯＰ（処理なし、即ちダミー指示）によって実行され、時間切れでないことが重要なので、ＡＴＲ（Ａｎｓｅｒ  Ｔｏ  Ｒｅｓｅｔ）によって取り決められた最大期間を超えることはない。
ステップ３は、ＩＳＯ  ７８１６の制約に従って、特定のバイト、即ち、値＄６０をホストに送る（図２のステップ３．ＷＬ）。
【００３３】
本発明による方法の本実施形態の変形例として、待機ループカウンタの代わりにタイマ（携帯型物品が利用可能なタイマをもつ場合）を使用することは好都合である。いずれの場合も、ループの最新の完了レベルを示すマーカーを携帯型物品の不揮発性メモリに記憶する必要がある。
【００３４】
待機ループは、偶発的に又は故意に中断することができる。例えば、エンドユーザは、自分のスマートカードに何が起こっているのかと疑問に思い読取り装置から取り外す場合があり、又は、攻撃者は、待機ループ機構を停止させるために、素早く信用証明情報をブロックしてリセット命令を送りたいと思う場合がある。
【００３５】
これを防止するために、待機ループ状況（カウンタ及びフラグ）は、グローバルスコープを有し、スマートカードの構成装置（例えば、ＡＰＤＵマネージャとも呼ばれる、アプリケーション・プロトコル・データ・ユニットマネージャ）は、前回のセッションの間の待機処理が中断された場合に再開するように修正される（図２のＡＰＤＵマネージャによって実行されるステップ３．ＡＭ及びステップ４．ＡＭ）。待機ステップの効率的な管理を可能にするこの強力な仕組みにについて、以下に詳細に説明する。
【００３６】
図１に示すように、スマートカードがリセットされた場合（図１又は図２のリセット信号）、種々の試験、通信プロトコルの選択、電源電圧の選択、通信速度の選択等の所定数の処理を行う。これらの処理が成功すると、スマートカードは、ホスト（サービスを要求するエンティティ）からの命令を受信可能なモードに切り替わる（図１ステップ１．ＰＡＭ−図２のステップ１．ＡＭ）。
これらの命令はＡＰＤＵ（アプリケーション・プロトコル・データ・ユニット）コマンドと呼ばれる。ＡＰＤＵマネージャは、ホストからのＡＰＤＵコマンド（ＡＰＣＵ１、・・・ＡＰＤＵ  Ｎ、信用証明情報確認ＡＰＤＵ）を受信して、これらをスマートカードオペレーティングシステム、スマートカードメモリに取り込まれているアプレット、又はスマートカードの任意の関連モジュールのいずれかに送り出す責任を負う（図１のステップ２．ＲＡＭ−図２のステップ５．ＡＭ）、スマートカード上で実行されるソフトウェアである。
【００３７】
図２に示すように、ＡＰＤＵマネージャは、本発明の方法を実行するために修正する必要がある。ＡＰＤＵコマンドが送り出される前に、ＡＰＤＵマネージャは、待機ループフラグの状態を検査する必要がある（図２のステップ３．ＡＭ）。フラグがクリアされた場合、ＡＰＤＵコマンドは、通常はスマートカードによって処理される。
そうでなければ、待機ループは既に中断されており、再開する必要があることを意味する。ＡＰＤＵマネージャは、前述の待機ループ機構を呼び出す。待機ループカウンタは非揮発性メモリに記憶され、且つグローバルスコープをもつので、待機ループは、以前に中断された場合でも継続する。待機ループが再度中断された場合、これは同じ機構のおかげで正常な状態に戻ることができる。
【００３８】
ＡＰＤＵマネージャは、待機ループが完全に実行されている場合にのみ呼び出されたＡＰＤＵコマンドの処理を開始することができる。外部世界の視点からすれば、スマートカードは、ＡＰＤＵコマンドの実行が通常よりもはるかに長い時間を費やす以外は、以前と全く同様に機能することができる。
【００３９】
更に、図２に示すように、特定のＡＰＤＵコマンド（診断用ＡＰＤＵコマンド等）を待機ループの前に実行することを可能にできる。診断用ＡＰＤＵの目的は、スマートカードがサービス妨害攻撃を受けているか否かを検査することである。
【００４０】
好都合には、待機ループは、スマートカードに送信される第１のＡＰＤＵコマンドで実行される。
従って、待機ループは、規格ＩＳＯ制約に準拠しており、既存のシステムに透過的でなければならない。結果的に、ＤＯＳ型攻撃に対して保護されたスマートカードを導入するために、クライアントソフトウェアのアップデートは必要ない。待機ループはいつでも起こり得ないことに留意されたい。特に、待機ループがリセットプロセスの直後に実行される場合、スマートカードは、作動していないと判断されるであろう。また、Ｗｉｎｄｏｗｓ（登録商標）２０００及びＸＰ（マイクロソフト社のソフトウェア）は、所定時間の間に接続が行われない場合にはスマートカードをパワーダウン状態にして、これによって、スマートカードは依然として活動状態であり処理中であることをホストに知らせることが正当化される。
更に、待機ループは、信用証明情報がブロックされるのを防ぐ保護するものとしての機能を果たし、また、攻撃又はバグ（開発段階での）がスマートカードを脅かしていることをユーザに警告することを可能にする。結果的に、認知される目的で、スマートカードが特定の処理を実行してその結果を戻すことが要求される時に、待機ループが発生することは好都合である。
【００４１】
待機ループ機構は、２つのパラメータ、即ち、ループの期間及び低速試行の最大回数を用いて調整することができる。
ループの期間は、待機ループカウンタに比例し、スマートカードメモリ内に記憶されている全ての信用証明情報に対して固有のものである。低速試行の最大回数は、本発明によって導入された新しい試行カウンタ数と直接関連付けされる。好都合には、低速試行の最大回数は、信用証明情報の形式ごとに、又はスマートカードメモリに記憶された信用証明情報ごとでも異なる。
幾つかの相反する制約は、前述のパラメータの最適値を決定し、特に、
−ループの期間を乗じた低速試行の最大回数は、ＤＯＳ攻撃の成功をあり得ないようにするのに十分な長さである必要があり、
−低速試行の最大回数は、信用証明情報の推測攻撃の可能性を高めないよう十分に少ない必要があり、
−ループの期間は、ユーザが何かおかしくなっていることに気づいてペルプデスクサービスに報告するように、十分に長い必要があり、
−ループの期間は、作業中にユーザに対するブロックが長時間に及ばないように十分に短い必要がある。実際には、この状態は一時的なものであり、正常状態に戻るためにスマートカードの介入を必要としないが、不便である。
一例として、約３０分の待機ループ及び１００回の低速試行の最大回数は、トランスポートキー、オープンプラットホームキー、及びブロック解除コードについては適度なパラメータと思われる。これらのキー及びコードは強力である必要があり、例えば、不規則に又は暗号法的に選択される。
ＰＩＮコードに関しては、試行の最大回数は、すでに非常に堅固なＰＩＮポリシーが定義されて実行されていない限り、例えば５回の低速試行といった非常に少ないことが必要である。試行の最大回数を少なくすると、ＰＩＮに対するＤＯＳ攻撃の成功確率が高くなる。しかしながら、多くの状況において、このような攻撃は、スマートカードを物理的に交換しなくても正常な状態に戻すことができるので、重大な脅威を意味するものではない。
【００４２】
勿論、実際の値は、正確な用途及びセキュリティの必要条件に基づいて個別設定段階で個別化できる。
スマートカードオペレーティングシステムは、これらのパラメータが適切なセキュリティレベルを保証する限界値を超えるのを防止する必要がある。
【００４３】
本発明の方法を用いると、ＤＯＳ型攻撃に対するスマートカードのセキュリティレベルが向上し、ＤＯＳ型攻撃とは異なる攻撃に対するセキュリティレベルが維持される。
この点において、カウンタは予め減算されていること、又はフラギング機構を設置して切り離し（ｔｅａｒｉｎｇ）攻撃等を防止することが好都合である。
また、適用可能な場合、信用証明情報の比較ではなくて、ユーザ確認のための質問への応答（ｃｈａｌｌｅｎｇｅ  ｒｅｓｐｏｎｓｅ）を優先することは好都合である。直接的な信用証明情報の比較が必要な場合（例えば、ＰＩＮ確認）、信用証明情報ビット数は、不規則な順番で確認される必要があり、随意的に、単純電力解析（ＳＰＡ）等を防止するために、不規則にＸＯＲを行う必要がある。実際に試行回数が多くなっているので、電力解析攻撃の成功の可能性は、このような対策が講じられていない場合の方が高い。
信用証明情報は、できるだけ予測不能であることが好都合である。このことは、例えば、ランダムマスターキーの多様化によって取得できるトランスポートキーを用いて簡単に実現できる。更に、スマートカードオペレーティングシステムＯＳは、低速試行の最大回数がこのような信用証明情報の場合でさえも十分に少ないことを（例えば、２５６未満）強制する必要がある。
潜在的に予測可能な信用証明情報の場合（例えば、システムではなくユーザによって定義された場合）、適切なセキュリティポリシーを実施する必要がある。例えば、ＰＩＮは、自明かつ予測可能なＰＩＮ値を回避するために、ＰＩＮポリシーに従う必要があり、このことは、ＰＩＮ推測攻撃を防止するために、可能な場合はスマートカード内で実施することができる。試行回数の増加に起因して、不十分なＰＩＮがある場合には、総当たり攻撃は（不規則な信用証明情報には無効である）非常に有効な攻撃に置き換えることができる。この場合も、ＰＩＮの第２のカウンタの初期値は、予測不能な信用証明情報の場合よりもはるかに小さいものとすべきである。
【００４４】
随意的に、ＤＯＳ攻撃又は不正な操作が進行中であることを外部世界に知らせるためにスマートカード上でコマンドを実行することができる。ＡＰＤＵマネージャは、遅延ループを適用することなくこのコマンドを実行させることができる（遅延ループは、いずれにしても次のコマンドに適用されるであろう）。
【００４５】
何か起こっているかを検査するために、診断ツールは、このコマンドをポーリングすることができる。スマートカードは、状態ワードＳＷ＿ＤＯＳ＿ＵＮＤＥＲＷＡＹ、又は＄９０００で応答するであろう（図２のステップ１．Ｄ、及びステップ２．Ｄ）。
管理者にＤＯＳ＿ＵＮＤＥＲＷＡＹフラグをリセットさせるために、別のＡＰＤＵコマンドが必要となるであろう（図２のＤＯＳフラグ）。
クライアントアプリケーションは修正する必要がなく、このことは本発明の１つの利点である。カード管理システム（ＣＭＳ）又は個別設定ツール等の管理用ツールだけをアップデートする必要があり、各々のエンドユーザのＰＣ上で実行されているソフトウェア（「クライアントアプリケーション」）をアップデートする必要はない。
【００４６】
しかしながら、ユーザがもっと使いやすいようにするために、クライアントアプリケーションにおいてカードの新しい作動を考慮に入れることができ、前述の通知コマンドのおかげで、明確な警告メッセージをユーザに表示することができる。もしくは、クライアントアプリケーションは、潜在的に待機ループを起動することができるＳｅｌｅｃｔ＿ｒｏｏｔ等の「ダミー」ＡＰＤＵコマンドを送ることができる。実際に待機ループがある場合、クライアントアプリケーションは、待機ループを検出して、ユーザにカードが一時的に利用できないことを通知できる。待機ループがない場合、通常の処理が継続する。
クライアントアプリケーションに関するこのような修正がない場合、エンドユーザは一時的なサービス妨害を経験することになる。即ち、クライアントアプリケーションは、所定時間にわたって（例えば、前述のように３０分）ブロックされ、エンドユーザには何らかの不正行為が行われていることが通知される。
しばらくして、ユーザがペルプデスク又は技術サポート担当者に連絡を行い、ペルプデスク又は技術サポート担当者がＤＯＳ攻撃を素早く診断することになる。この攻撃はおそらく稀なので問題にはならないはずであり、投資に値するクライアントアプリケーションの修正は必要ない。特に、ウィルスがこの通知の裏をかいて、クライアントアプリケーション及びエンドユーザに対して隠蔽することを考慮する場合である。
【００４７】
以下に、攻撃を受けたシステムの挙動の一例、及び本発明の利点を説明する。種々の目的（種々の企業サイトへの物理的アクセス、コンピュータネットワークへのログオン、電子メール署名及び暗号化等）のためのコーポレート・バッジとしてＰＫＩ（公開鍵インフラストラクチャ）形式のスマートカードが装備された従業員約１０，０００人の企業を（例えば、電子メール添付書類で従業員に送信された）ウィルスが襲った場合に起こる状況を検討することにする。このウィルスは、コンピュータネットワークを介して間違った値を与えることによってバッジ信用証明情報をブロックする。
本発明を実施しない場合、ウィルスは、（幾つかの間違った信用証明情報を与えることによって）素早く（おおよそ数秒で）第１のカウンタを削除することができる。１０，０００人のユーザ全員を素早くブロックすることができるので、彼らのバッジを交換する必要がある。明らかにこれは企業に対して財政面及びセキュリティ面で非常に重大な影響を及ぼす可能性がある。
【００４８】
本発明によれば、第２のカウンタの減算が始まると即座に、待機ループ機構は、ウィルスがカウンタを削除するのに対向すると共にユーザが自分のバッジが攻撃されていることに素早く気づくように、カウンタを非常に長くする。
クライアントアプリケーションから攻撃が継続中であるという通知がユーザになかった場合でも、又はウィルスが通知を中断してクライアントアプリケーションがこの通知を行うのを妨げた場合でも、ユーザは、一時的なサービス妨害ＤＯＳを経験する。
前述のように、スマートカードは、各々の別の不正な試行の後に３０分間待つように、及び信用証明情報をブロックの前に１００回の不正な試行を待つように個別設定できる。
このことは、ユーザが３０分間にわたって以下のようスマートカード関連アクションを行えないことを意味する。
−Ｋｅｒｂｏｒｏｓ等の認証システムを介したパーソナルコンピュータＰＣへのログオン、
−仮想私設通信網（ＶＰＮ）接続の開始
−Ｅｎｔｒｕｓｔ  ＩＣＥ等の特定のソフトウェアを使用したハードディスク上のファイルの復号化、
−Ｏｕｔｌｏｏｋ等の電子メールソフトウェアでの電子メール署名
−スクリーンセーバのロック解除、
−Ｎｅｔｓｃａｐｅ等のインターネットブラウザを介したセキュア・ソケット・レイヤ（ＳＳＬ）でのセキュア・ウェブサーバへの接続。
更に厳密には、ユーザは、これらのタスクのいずれかを開始でき、理論的にはこれは機能するであろうが、通常よりも約３０分長く時間がかかることになる。３０分の間に、スマートカードは、特定のＩＳＯバイトを送信し続け、これは、スマートカード読み取り装置ＰＣ／ＳＣスタックに、スマートカードは依然として処理中であり、読み取り装置は時間切れになっていないはずであることを伝える。
【００４９】
また、これは、問題になっている信用証明情報をブロックする前に、ユーザは、異常な状況に気づくことなく、信用証明情報あたり５０時間のサービス妨害ＤＯＳ（３０分単位で１００回）を経験するはずであることを意味する。
実際にカードをブロックすることは、通常、ＰＩＮ、ＰＵＫ、及びキーをブロックすることを意味するので、カードのブロックには、１００時間以上のＤＯＳを必要とする。
また、ウィルスは、全ての正当な信用証明情報確認を妨害するほど知的である必要がある。そうでなければ、カウンタはその最大値にリセットされ、遅延（１００時間以上）が最初から再開される。このようなウィルスの機能は、このような長期間にわたって全ての状況において作用するように保証できない（スマートカードは、ウィルスに感染していない別のＰＣにプラグインされる可能性があり、カードは、偶発的にブロック解除される可能性がある）。
典型的なコーポレート・バッジの使用法は、バッジを携行することにあり、このことは、机を離れると即座にＰＣから抜かれることを意味する（ドアを開ける、社員食堂で支払いをする、駐車場を利用する等のために）。
スマートカードを接続した状態でユーザが自分のＰＣの前にいるときに限り、ウィルスは、信用証明情報を攻撃できる。
従業員が自分のＰＣの前に一日平均５時間過ごし（全ての従業員及び全ての労働日の平均なので相当である）、スマートカードがこの間は常時ＰＣに差し込まれていると仮定する。このような悲観的な仮説をしても、ウィルスは、カードをブロックする前に少なくとも丸１ヶ月の労働月を必要とする（これは上記で計算した最短可能遅延（１００時間以上）に相当する）。
ユーザが、スマートカードに関連付けされた何らかのサービスにアクセスできずに（このことは、通常、ＰＣにログインするためにコーポレート・バッジが使用されるので、ＰＣを全く使用できないことを含む場合が多い）、ペルプデスク担当者又は技術サポート担当者に全く問題を連絡することなく、１ヶ月以上の期間を費やすことはあり得ない。このことが起こる可能性が極めて低い。１０，０００人の従業員全員が１ヶ月以上の期間にわたってスマートカードによって確保された種々のサービスにアクセスできず、全く連絡しないことは更にあり得ない。
従って、少なくとも１人の従業員が、ペルプデスクに連絡して、クライアントアプリケーションが、「ご利用のスマートカードはＤＯＳ攻撃を受けており、使用中のＰＣはウィルス感染しているはずです。ペルプデスクに連絡してウィルス対策ソフトウェアをアップデートして下さい。」というメッセージが表示されたと言うか、又はスマートカードが機能しないと苦情を訴えるかである。
【００５０】
ペルプデスクは、スマートカードを解析して、例えば、診断用ＡＰＤＵの助けを借りて、又は不正値を有する信用証明情報を確認してスマートカードが低速状態にあるか否かを検査するだけでＤＯＳ攻撃を受けていることを確認できる。ペルプデスクは、問題のある一人のユーザを発見するとすぐにランダムに他の一部のユーザを検査することができる。ペルプデスクが、他の一部のユーザの数名も同様に感染していると気づいた場合、企業全体を対象にして緊急対策を適用する、例えば、ウィルス対策のアップデートが利用可能でありＰＣ上で問題なく実行されるまで、カードを読み取り装置から抜くように従業員に要求する必要がある。随意的に、全てのカウンタを最大値にリセットするために、自己サービスバッジ管理システムの一種に接続して全ての関連の信用証明情報に関して認証を行うようにユーザに要求することが可能である。
ウィルス対策によってＰＣからウィルスが除去された後に、全てのバッジは、短時間の遅延（約３０分）で正常に機能する状態になるであろう。
結果的に、多数のユーザがブロックされること、大量の新しいバッジが作成されて代替バッジとして個別設定されることを必要とするということを誰も行うことができない。
【００５１】
本実施例は一般化することができ、本発明は、他の環境において実施できる。このような場合、前述のパラメータは、携帯型物品の種々の制約に適合させる必要がある。
【００５２】
また、全ての実施形態は、カウンタ又は異なる減算式カウンタでもって示されている。当業者であれば、減算式カウンタではなく加算式カウンタからなる別の解決策を選択できることは自明である。
【図面の簡単な説明】
【００５３】
【図１】規格ＩＳＯ  ７８１６に準拠したスマートカードの特定の領域において、サービスを要求するエンティティが許可されたエンティティであることを確認するための現在のプロセスの実施形態を概略的に示す。
【図２】規格ＩＳＯ  ７８１６に準拠したスマートカードの特定の領域において、サービスを要求するエンティティが許可されたエンティティであることを確認するためのプロセスに関する本発明のＤＯＳ防止機構の特定の実施形態を概略的に示す。
【図１】
2006512690.tif 000003
【図２】
2006512690.tif 000004
【国際調査報告】
2006512690.tif 000005
2006512690.tif 000006
2006512690.tif 000007