(57)【要約】      （修正有）【課題】サーバが同期専用のコマンドを送信することに関係なく、ポータブルデバイスのＲＴＣを自動同期できるようにするポータブル耐タンパデバイスのリアルタイムクロックを管理する方法を提供する。【解決手段】別のデバイスと銀行取引を行う際にアプリケーションデータ３０を受信するポータブル耐タンパデバイス２０に埋設されたリアルタイムクロック１０を管理する方法であって、アプリケーションデータ３０から時刻５０を抽出するステップと、時刻５０に基づいてリアルタイムクロック１０を更新するステップとを含む。【選択図】図１
2020162137.tif 000002
【特許請求の範囲】
【請求項１】
第２のデバイス（４０）と銀行取引を行う際にアプリケーションデータ（３０）を受信するポータブル耐タンパデバイス（２０）に埋設されたドリフトを有するリアルタイムクロック（１０）を管理する方法であって、
前記ポータブル耐タンパデバイス（２０）は前記リアルタイムクロック（１０）を管理可能な処理ユニット（２４）と前記処理ユニット（２４）から離隔したセキュアエレメント（２３）とを備え、
前記セキュアエレメント（２３）は外部デバイスと通信する物理通信インターフェース（２５）を有し、
前記処理ユニット（２４）と前記物理通信インターフェース（２５）との間には監視リンク（２９）が配置されており；前記方法は、
−前記セキュアエレメント（２３）が前記外部デバイスと銀行取引中に、前記物理通信インターフェース（２５）を介してアプリケーションデータを受信して格納するステップと；
−前記処理ユニット（２４）が、前記監視リンク（２９）を用いて、前記物理通信インターフェース（２５）を介して前記セキュアエレメント（２３）と前記外部デバイスとの間で交換されるデータを監視することにより、前記銀行取引が行なわれたことを検出するステップと；
−前記処理ユニット（２４）は更新エージェント（７０）を備え、前記処理ユニット（２４）により前記銀行取引が検出された時、前記リアルタイムクロック（１０）から基準時刻（５１）を取得し、これを受信した前記アプリケーションデータ（３０）と関連付けるステップと；
−前記処理ユニット（２４）が前記アプリケーションデータ（３０）から時刻（５０）を抽出し、抽出された前記時刻（５０）と前記基準時刻（５１）とを用いて補正値（９０）を演算し、前記補正値（９０）を使用して前記リアルタイムクロック（１０）を更新することにより前記ドリフトを補償するステップと；
を含む方法。
【請求項２】
前記処理ユニット（２４）は、メモリを備え、前記処理ユニット（２４）によって前記銀行取引が検出される毎に、受信した前記アプリケーションデータから抽出された前記時刻（５０）と前記基準時刻（５１）との間の前記ドリフトを反映する捕捉された値を発生させ、前記メモリ中に、発生させた前記捕捉された値を含むセット（８０）を格納する、請求項１に記載の方法。
【請求項３】
前記捕捉された値が、受信した前記アプリケーションデータから抽出された時刻（５０）と前記リアルタイムクロック（１０）から取得した前記基準時刻（５１）の両方からなるペアである、請求項２に記載の方法。
【請求項４】
前記捕捉された値が、受信した前記アプリケーションデータから抽出された時刻（５０）と前記リアルタイムクロック（１０）から取得した前記基準時刻（５１）との差である、請求項２に記載の方法。
【請求項５】
前記セット（８０）は、多数の検出された銀行取引に対応するいくつかの捕捉された値を含み、前記処理ユニット（２４）は、前記セット（８０）中の前記捕捉された値の平均値として前記補正値（９０）を演算する、請求項２に記載の方法。
【請求項６】
前記セット（８０）は、多数の検出された銀行取引に対応するいくつかの捕捉された値を含み、前記処理ユニット（２４）は、前記セットの各捕捉された値を最大理論ドリフトに対して比較し、異常値を有する捕捉された各値は破棄する、請求項２に記載の方法。
【請求項７】
前記セキュアエレメント（２３）はそのメモリ中に前記銀行取引のアプリケーションデータを含むログ（８３）を格納し、
前記処理ユニット（２４）はメモリを備え、前記処理ユニット（２４）により銀行取引が検出されるたびに、前記リアルタイムクロック（１０）から取得した前記基準時刻を含むセット（８１）を前記メモリに格納し、
前記処理ユニット（２４）は、前記セキュアエレメント（２３）の前記メモリ中の前記ログ（８３）と自身のメモリ中の前記セット（８１）の両方をアクセスし、前記補正値（９０）を演算する請求項１に記載の方法。
【請求項８】
前記処理ユニット（２４）と前記物理通信インターフェース（２５）との間には通信リンク（２８）が配置され、前記処理ユニットは、前記通信リンク（２８）を介して前記セキュアエレメント（２３）にリクエストして前記ログ（８３）をアクセスする、請求項７に記載の方法。
【請求項９】
ドリフトを有するリアルタイムクロック（１０）と、第２のデバイス（４０）と銀行取引を行い、前記銀行取引を行う際に前記第２のデバイス（４０）からアプリケーションデータ（３０）を受信することができるセキュアエレメント（２３）とを備えるポータブル耐タンパデバイス（２０）であって、前記ポータブル耐タンパデバイス（２０）は、外部デバイスと通信する物理通信インターフェース（２５）を有し、前記ポータブル耐タンパデバイス（２０）は前記リアルタイムクロック（１０）を管理する前記セキュアエレメント（２３）から離隔した処理ユニット（２４）を備え、
前記処理ユニット（２４）と前記物理通信インターフェース（２５）との間には監視リンク（２９）が配置され、
前記セキュアエレメント（２３）は前記外部デバイスと銀行取引中に前記物理通信インターフェース（２５）を介してアプリケーションデータを受信し、前記ポータブル耐タンパデバイス（２０）中に格納するよう構成され、
前記処理ユニット（２４）は、前記監視リンク（２９）を用いて、前記物理通信インターフェース（２５）を介して前記セキュアエレメント（２３）と前記外部デバイスとの間で交換されるデータを監視することにより、前記銀行取引が行なわれたことを検出するよう構成され、
前記処理ユニット（２４）は、前記銀行取引を検出すると、前記リアルタイムクロック（１０）から基準時刻（５１）を取得し、これを受信した前記アプリケーションデータ（３０）と関連付け、前記アプリケーションデータ（３０）から時刻（５０）を抽出するよう構成され、
さらに、
前記処理ユニット（２４）は、受信した前記アプリケーションデータ（３０）から抽出された前記時刻（５０）と前記基準時刻（５１）との両方を用いて補正値（９０）を演算し、前記補正値（９０）により前記リアルタイムクロック（１０）を更新することにより前記ドリフトを補償するよう構成されるポータブル耐タンパデバイス。
【請求項１０】
前記処理ユニット（２４）は、メモリを備え、前記処理ユニット（２４）によって銀行取引が検出される毎に、受信した前記アプリケーションデータから抽出された前記時刻（５０）と前記基準時刻（５１）との間の前記ドリフトを反映する捕捉された値を発生させ、前記メモリ中に、発生させた前記捕捉された値を含むセット（８０）を格納するよう構成される、請求項９に記載のポータブル耐タンパデバイス。
【請求項１１】
前記捕捉された値が、受信した前記アプリケーションデータから抽出された時刻（５０）と前記リアルタイムクロック（１０）から取得した前記基準時刻（５１）の両方からなるペアである、請求項１０に記載のポータブル耐タンパデバイス。
【請求項１２】
前記捕捉された値が、受信した前記アプリケーションデータから抽出された時刻（５０）と前記リアルタイムクロック（１０）から取得した前記基準時刻（５１）との差である、請求項１０に記載のポータブル耐タンパデバイス。
【請求項１３】
前記セット（８０）は、多数の検出された銀行取引に対応するいくつかの捕捉された値を含み、前記処理ユニット（２４）は、前記セット（８０）中の前記捕捉された値の平均値として前記補正値（９０）を演算する、請求項１０に記載のポータブル耐タンパデバイス。
【請求項１４】
前記セット（８０）は、多数の検出された銀行取引に対応するいくつかの捕捉された値を含み、前記処理ユニット（２４）は、前記セットの各捕捉された値を最大理論ドリフトに対して比較し、異常値を有する捕捉された各値は破棄する、請求項１０に記載のポータブル耐タンパデバイス。
【請求項１５】
前記セキュアエレメント（２３）はそのメモリ中に前記銀行取引のアプリケーションデータを含むログ（８３）を格納し、
前記処理ユニット（２４）はメモリを備え、前記処理ユニット（２４）により銀行取引が検出されるたびに、前記リアルタイムクロック（１０）から取得した前記基準時刻を含むセット（８１）を前記メモリに格納し、
前記処理ユニット（２４）は、前記セキュアエレメント（２３）の前記メモリ中の前記ログ（８３）と自身のメモリ中の前記セット（８１）の両方をアクセスし、前記補正値（９０）を演算する請求項９に記載のポータブル耐タンパデバイス。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ポータブル耐タンパデバイスに埋設されたリアルタイムクロックを管理する方法に関する。本発明は特に、ポータブル耐タンパデバイスに埋設されたリアルタイムクロックを同期させる方法に関する。
【背景技術】
【０００２】
ポータブル耐タンパデバイスは、メモリと、マイクロプロセッサと、計算処理のためのオペレーティングシステムとを備えた小型デバイスである。このようなセキュアエレメントは、不揮発性メモリ及び揮発性メモリのような異なるタイプの複数のメモリを備えてよい。これらは、含んでいるデータへのアクセスを制御し、他のマシンによるデータの利用を許否することができるために耐タンパ（すなわち「セキュア」）である。ポータブル耐タンパデバイスは、暗号化コンポーネントに基づく計算サービスを提供することもできる。一般にポータブル耐タンパデバイスは、限られたコンピューティング資源と限られたメモリ資源とを有し、電力を供給するホストマシンへの接続が意図されている。例えばスマートカードは、ポータブル耐タンパデバイスの一種である。
【０００３】
ポータブル耐タンパデバイスは、アプリケーションと、ユーザデータ、ファイルシステム及び秘密鍵を含む関連するアプリケーションデータとを含むことができる。
【０００４】
ポータブル耐タンパデバイスは、基準時刻に基づいてデータを計算するのに使用できる、ＲＴＣとも呼ばれるリアルタイムクロックを含むことができる。例えば、このようなＲＴＣを使用して、予め設定された期間の間有効な時間ベースのワンタイムパスワード（ＯＴＰ）を生成することができる。
【０００５】
ＲＴＣはポータブル耐タンパデバイスに埋設された電源によって駆動される。したがって、ＲＴＣは、別のデバイス（例えばポータブル耐タンパデバイスと通信することが意図されたリーダ）による電力供給がなくとも連続的に動作している。
【０００６】
物理的なＲＴＣ特性から、ＲＴＣによって提供される時刻値は一般に、完全に信頼できる基準クロックから外れる。その差はドリフトとして知られている。ドリフトは経時的に増加し、例えば温度に依存する可能性がある。ドリフトは一部のアプリケーションでは許容不可能（許容差範囲外）になる可能性がある。例えば、ドリフトは毎日２秒ずつ増大し大きな差になる可能性がある。
【０００７】
ドリフトを除去するために、ＲＴＣの現在時刻を更新するための同期コマンドをサーバからポータブルデバイスに送信することが知られている。この場合、サーバは定期的に特定の同期コマンドを送信しなければならないため、デバイスの同期要求に対処する必要がある。また、この負担は、多数のポータブルデバイスを管理することが意図されたサーバにとって非常に大きい可能性がある。
【０００８】
サーバが同期専用のコマンドを送信することに関係なく、ポータブルデバイスのＲＴＣを自動同期できるようにする必要がある。
【発明の概要】
【発明が解決しようとする課題】
【０００９】
本発明の目的は、上述の技術的問題を解決することである。
【課題を解決するための手段】
【００１０】
本発明の目的は、ポータブル耐タンパデバイスに埋設されたリアルタイムクロックを管理する方法である。ポータブル耐タンパデバイスは、第２のデバイスと銀行取引を行う際にアプリケーションデータを受信する。方法は、受信したアプリケーションデータから時刻を抽出するステップと、前記時刻を使用してリアルタイムクロックを更新するステップとを含む。
【００１１】
有利には、銀行取引は、支払取引、銀行承認要求、又はリクレジットのいずれかであってよい。
【００１２】
有利には、方法は、それぞれがリアルタイムクロックによって提供される基準時刻と関連付けられた一セットの時刻値を複数の銀行取引から収集するステップを含んでよい。方法は、補正値を生成するための予め設定されたルールに従ってセットを解析するステップを含んでよく、リアルタイムクロックは補正値により更新することができる。
【００１３】
有利には、ポータブル耐タンパデバイスは、銀行取引を行うための前記アプリケーションデータを使用するように構成されたセキュアエレメントを備えてよく、ポータブル耐タンパデバイスは、リアルタイムクロックを更新可能なプロセッサユニットを備えてよく、前記プロセッサユニットは、前記アプリケーションデータがセキュアエレメントに送信されたことを検出することができる。
【００１４】
有利には、前記プロセッサユニットは、セキュアエレメントと第２のデバイスの間で交換されるデータを監視することによって前記アプリケーションデータを取得することができる。
【００１５】
有利には、前記プロセッサユニットは、セキュアエレメントに要求を送信することによって前記時刻を入手することができる。
【００１６】
本発明の別の目的は、リアルタイムクロックと、第２のデバイスと銀行取引を行い、銀行取引を行う際に第２のデバイスからアプリケーションデータを受信することができるセキュアエレメントとを備えるポータブル耐タンパデバイスである。ポータブル耐タンパデバイスは、前記アプリケーションデータがセキュアエレメントに送信されたことを検出し、前記アプリケーションデータから時刻を抽出し、前記時刻を使用してリアルタイムクロックを更新するように適合されたプロセッサユニットを備える。
【００１７】
有利には、セキュアエレメントは、前記アプリケーションデータを受信するための物理通信インターフェースを有してよい。プロセッサユニットは、物理通信インターフェースを通して交換されるデータを監視し、アプリケーションデータから時刻を取得し、リアルタイムクロックから基準時刻を入手し、時刻と時刻に関連付けられた基準時刻の間のドリフトを反映する捕捉値をセットに格納するように適合されてよい。プロセッサユニットは、補正値を生成するための予め設定されたルールに従ってセットを解析し、補正値によりリアルタイムクロックを更新するように適合されてよい。
【００１８】
有利には、セキュアエレメントは、アプリケーションデータを含むログを格納するように構成されてよい。プロセッサユニットは、リアルタイムクロックによって提供され、アプリケーションデータと関連付けられた基準時刻をセットに格納するように適合されてよい。プロセッサユニットは、セキュアエレメントに要求を送信することによってアプリケーションデータを入手するように適合されてよく、プロセッサユニットは、補正値を生成するための予め設定されたルールに従ってアプリケーションデータとセットをともに解析し、補正値によりリアルタイムクロックを更新するように適合されてよい。
【００１９】
有利には、ポータブル耐タンパデバイスは銀行スマートカードであってよい。
【図面の簡単な説明】
【００２０】
本発明の他の特徴及び利点は、対応する添付の図面を参照しながら本発明の複数の好適な実施形態の以下の説明を読めばより明らかになるだろう。
【００２１】
【図１】本発明の一例に係るポータブル耐タンパデバイスの図。
【図２】本発明に係るポータブル耐タンパデバイスのＲＴＣを更新するための第１の例示的なフローチャート。
【図３】本発明に係るポータブル耐タンパデバイスのＲＴＣを更新するための第２の例示的なフローチャート。
【図４】本発明に係るポータブル耐タンパデバイスのＲＴＣを更新するための第３の例示的なフローチャート。
【図５】本発明によるドリフト発生の一例。
【発明を実施するための形態】
【００２２】
本発明は、平文のタイムスタンプ（プレーンな値）を含む銀行取引を実行することが意図されたどんなタイプのポータブル耐タンパデバイスにも適用することができる。このようなポータブル耐タンパデバイスは、例えばスマートカード、非接触トークン、ＵＳＢトークン、スマートフォン又は（スマートウォッチやリングのような）ウェアラブルデバイスであってよい。
【００２３】
本発明は、銀行取引を実行する際、ポータブル耐タンパデバイスは信頼できる時刻を含む銀行アプリケーションデータを受信するという事実に依拠している。
【００２４】
図１は、本発明の一例に係るポータブル耐タンパデバイスの図である。
【００２５】
この例では、ポータブル耐タンパデバイス２０は銀行スマートカードである。
【００２６】
ポータブル耐タンパデバイス２０は、チップ２３（セキュアエレメントとも呼ばれる）と、バッテリ９５と、ディスプレイ２６と、キーボード２７と、ＲＴＣ１０と、処理ユニット２４（プロセッサユニットとも呼ばれる）とを備える。
【００２７】
処理ユニット２４は、バッテリ９５、ディスプレイ２６、キーボード２７及びＲＴＣ１０に接続されている。処理ユニット２４は、ディスプレイ２６を介したデータの出力、キーボード２７を介したデータの入力の管理を担当する。処理ユニット２４は、ＲＴＣから現在時刻を取得し、ＲＴＣ１０に（バッテリ９５からの）電力を供給し、ＲＴＣ１０に新しい時刻を設定する（同期させる）ことができる。
【００２８】
チップ２３は、スマートカードリーダ（図示せず）と通信可能であり、スマートカードリーダを介してサーバ４０との通信を可能にする物理通信インターフェース２５を備える。この例では、物理通信インターフェース２５は、ＩＳＯ−７８１６プロトコルを介して通信するように設計される。代替的に、無線プロトコルを介して通信するように設計されてもよい。チップ２３は、処理ユニット２１と、不揮発性メモリ（ＮＶＭ）２２とを備える。
【００２９】
不揮発性メモリ２２は、サーバ４０と銀行取引を実行するように設計された銀行アプリケーション６０を備える。銀行アプリケーション６０は、銀行取引に関連するアプリケーションデータを含むログ８３をＮＶＭ２２に格納可能な通常の銀行アプリケーションである。
【００３０】
好ましい実施形態では、チップ２３はＥＭＶ−ＣＯ（登録商標）の仕様、ＥＭＶ ４．２ ＢＯＯＫ３ Ｊｕｎｅ ２００８に適合する。
【００３１】
代替的に、チップ２３は、“Ｄｅｂｉｔ”コマンドが‘ＹＹ ＭＭ ＤＤ ＨＨ ＭＭ ＳＳ’形式の取引時刻を含む電子財布ＭＯＮＥＯ（登録商標）ＰＭＥ仕様バージョンＤＳＩ９Ａに適合してもよい。
【００３２】
一例では、処理ユニット２４と物理通信インターフェース２５の間に監視リンク２９（点線で示す）を配置する。監視リンク２９により、処理ユニット２４は、チップ２３と外部デバイス４０（すなわちサーバ、リーダ又は任意の接続マシン）の間で交換される全てのデータを監視することができる。処理ユニット２４は、チップ２３と外部デバイス４０の間で交換されるアプリケーションデータ３０を入手するために、監視リンク２９を介して取得した監視データを解析するように構成された更新エージェント７０を備える。また、更新エージェントは、監視されるアプリケーションデータ３０から時刻５０を特定し、対応する銀行取引の実行が成功したことを検出することができる。
【００３３】
ＥＭＶ（登録商標）取引の一例によれば、チップ２３及び外部デバイス４０を介して交換されるデータは以下を含んでよい：
・・・・・・・
Ｖｅｒｉｆｙ ＰＩＮ：
０ｘ００２０００８００８ Ｄａｔａ Ｉｎ：２４１２３４ＦＦＦＦＦＦＦＦＦＦ
ＳＷ：０ｘ９０００
Ｇｅｎｅｒａｔｅ Ａｐｐｌｉｃａｔｉｏｎ ｃｒｙｐｔｇｒａｍ：
０ｘ８０ＡＥ４０００２０ Ｄａｔａ Ｉｎ：
０ｘ０００００００００００１０００００００００００２０８４００００００００００００８４０１２０３０２００１２３４５６７８２３５９０１
Ｄａｔａ Ｏｕｔ：
０ｘ７７１Ｅ９Ｆ２７０１４０９Ｆ３６０２０００１９Ｆ２６０８２ＥＢ３６６Ｅ１Ｆ１ＥＣＤＤ５２９Ｆ１００７０６０１０Ａ０３９４００００
ＳＷ：０ｘ９０００
・・・・・・
ここで、取引日は１２／０３／０２であり、取引時刻は２３：５９：０１である。
【００３４】
別の例では、処理ユニット２４は、銀行取引の開始を検出するために、外部デバイス４０（サーバ又はリーダ）とチップ２３の間の通信を監視する（又は物理通信インターフェース２５を監視する）ように適合されてよい。銀行取引が無事に完了する（例えばチップ２３によって応答０ｘ９０００が送信される）と、処理ユニット２４は、取引中に交換されたアプリケーションデータからタイムスタンプを入手する。
【００３５】
更新エージェント７０は、監視リンク２９により銀行取引が検出されるとき、ＲＴＣ１０から基準時刻５１を入手するように構成される。更新エージェント７０は、監視時刻５０と基準時刻５１の間のドリフトを反映する捕捉値をセット８０に格納するように構成される。例えば、捕捉値はペア（監視時刻５０、基準時刻５１）であってよい。代替的に、捕捉値は測定されたドリフト（監視時刻５０と基準時刻５１の差）であってもよい。
【００３６】
処理ユニット２４は、セット８０を格納するための自己の不揮発性メモリ領域にアクセスできることに留意されたい。
【００３７】
更新エージェント７０は、監視される銀行取引と同数の捕捉値を格納するように構成される。セット８０の中身は、ＲＴＣの同期が成功した後に削除されてよい。
【００３８】
更新エージェント７０は、予め設定されたイベントが発生したときにセット８０を解析するように構成される。予め設定されたイベントは、銀行取引を検出すること、ｎ番目の銀行取引を検出すること、又は予め定められた日付にＲＴＣが達することであってよい。
【００３９】
銀行取引の発生は幾つかの方法で検出することができる。例えば、処理ユニット２４は、ＲＦ場の存在、物理通信インターフェース２５に供給される電力の存在、又は物理通信インターフェース２５を介したデータ交換に基づいて銀行取引を検出するように適合されてよい。
【００４０】
更新エージェント７０は、ＲＴＣに適用されることが意図された補正値９０を生成するための予め設定されたルールに従ってセット８０を解析するように構成される。
【００４１】
例えば、更新エージェント７０は、補正値９０を平均ドリフト（すなわちセット８０に格納された全てのペアの平均値）として計算することができる。
【００４２】
変形例では、更新エージェント７０は、セット８０の各ペアを（ＲＴＣのハードウェア特性に基づく）理論的最大ドリフトと比較することができる。したがって、更新エージェント７０は、異常値を有するペアを破棄することができる。
【００４３】
好ましくは、更新エージェント７０は、ソフトウェアプログラムとして実装されてよい。代替的に、更新エージェント７０はハードウェアコンポーネントであってもよい。
【００４４】
別の例では、処理ユニット２４と物理通信インターフェース２５の間に通信リンク２８（平坦線）が配置される。通信リンク２８により、処理ユニット２４はチップ２３とデータ交換することができる。特に、処理ユニット２４はログ８３からデータを取得することができる。処理ユニット２４及びチップ２３は、ＩＳＯ−７８１６プロトコル（処理ユニット２４はリーダとして機能する）、ＳＷＰ（シングルワイヤプロトコル）又は任意の関連プロトコルを介して通信することができる。
【００４５】
有利には、処理ユニット２４は、バッテリ９５を使用することによってチップ２３に電力を供給することができる。
【００４６】
処理ユニット２４は、チップ２３によって実行される銀行取引の発生を検出するように構成された更新エージェント７０を備える。例えば、処理ユニット２４は、上記のような監視リンク２９を使用して、チップ２３と外部デバイス４０の間の銀行取引を検出することができる。チップ２３は、銀行取引に対応するアプリケーションデータ３０をログ８３に格納するものとされる。更新エージェント７０は、銀行取引が検出されるときにＲＴＣから基準時刻５１を入手するように構成される。更新エージェント７０は、取得された基準時刻５１をアプリケーションデータ３０と関連付け、基準時刻５１をセット８１に格納するように構成される。例えば関連付けは、ログ８３及びセット８１に格納されたデータの記録順により行うことができる。代替的に、時刻５０を対応する基準時刻５１と関連付けるために特定の識別子又はフラグを使用することもできる。
【００４７】
処理ユニット２４は、時刻５０及び基準時刻５１が非常に短い時間ウィンドウで捕捉されたと推定されるように、銀行取引が発生するとき（又は取引の終了直後に）基準時刻５１を取得するように適合される。
【００４８】
処理ユニット２４は、セット８１を格納するための自己の不揮発性メモリ領域にアクセスできることに留意されたい。
【００４９】
更新エージェント７０は、検出された銀行取引と同数の基準時刻を格納するように構成される。
【００５０】
更新エージェント７０は、予め設定されたイベントが発生したとき、ログ８３とセット８１をともに解析するように構成される。予め設定されたイベントは、銀行取引を検出すること、ｎ番目の銀行取引を検出すること、又は予め定められた日付にＲＴＣが達することであってよい。
【００５１】
更新エージェント７０は、ＲＴＣに適用されることが意図された補正値９０を生成するための予め設定されたルールに従ってログ８３及びセット８１を解析するように構成される。更新エージェント７０は、ログ８３に格納された関連アプリケーションデータ中の時刻を取得するように適合される。例えば、更新エージェント７０は、通信リンク２８を介してチップ２３に送信された要求（又はコマンド）によってログ８３にアクセスすることができる。ログ８３から測定された時刻５０を、そしてセット８１から関連付けられた基準時刻５１をそれぞれ取得することによって、更新エージェント７０は、ペア（時刻５０、基準時刻５１）を入手し、ドリフトを計算することができる。次に更新エージェント７０は、これらのペアから補正値９０を計算することができる。
【００５２】
処理ユニット２４及びチップ２３は、前に示された例では分離したコンポーネントとして記載されているが、マイクロコントローラのような単一のハードウェアコンポーネントに統合されてもよい。例えば、セキュアエレメント（チップ）２３は処理ユニット２４を含んでよい。
【００５３】
図２は、本発明に係る方法の概要を示す。
【００５４】
第１のステップＳ１において、ポータブル耐タンパデバイス２０は、別のデバイス４０（例えばサーバ又はリーダ）と銀行取引を行う際に、この別のデバイス４０からアプリケーションデータ３０を受信する。
【００５５】
ステップＳ２において、ポータブル耐タンパデバイス２０は、受信したアプリケーションデータ３０から時刻５０を抽出する。
【００５６】
次にステップＳ３において、ポータブル耐タンパデバイス２０は、抽出した時刻５０を使用してリアルタイムクロック１０を更新する。例えばポータブル耐タンパデバイス２０は、時刻５０に基づいて補正値９０を計算し、補正値９０によりリアルタイムクロック１０を更新する。
【００５７】
図３は、本発明に係るポータブル耐タンパデバイスのＲＴＣを更新するための例示的なフローチャートを示す。
【００５８】
このフローは、処理ユニット２４が図１に示す監視リンク２９によりアプリケーションデータを監視する（すなわち通信リンク２８がない）場合に対応する。
【００５９】
第１のステップＳ１は図２で説明したものと同様である。ステップＳ２１は、図２のステップＳ２に対応する詳細なステップを示す。ステップＳ２１において、ポータブル耐タンパデバイス２０は、受信したアプリケーションデータ３０から時刻５０を抽出し、ＲＴＣから基準時刻５１を取得し、時刻５０を基準時刻５１と関連付け、ペア（時刻５０、基準時刻５１）をセット８０に格納する。
【００６０】
ステップＳ３１及びＳ３３は図２のステップＳ３に対応する。
【００６１】
ステップＳ３１において、ポータブル耐タンパデバイス２０は、セット８０の中身を解析し、補正値９０を生成するための予め設定されたルールを適用する。
【００６２】
例えば、予め設定されたルールは、補正値９０が格納された全てのペアの平均ドリフトとして計算されることを規定することができる。別の例では、平均ドリフトを計算するために最低ドリフト及び最高ドリフトを破棄することができる。別の例では、予め設定されたルールは、最後の同期操作から経過した時間及びＲＴＣのハードウェアコンポーネントの特性を考慮することによって、補正値９０はＲＴＣが許容可能な最大ドリフトと適合することを確認することができる。
【００６３】
有利には、予め設定されたルールは、共通の基準時刻を共有するドリフトを計算するために、銀行取引が発生した時間帯を考慮することができる。
【００６４】
別の例では、予め設定されたルールは、セット８０が補正値９０の計算を行うための少なくとも所定数の許容（すなわち非異常）ドリフト値を含むことを確認することができる。
【００６５】
次にステップＳ３３において、ポータブル耐タンパデバイス２０は、補正値９０によりリアルタイムクロック１０を更新する。
【００６６】
図４は、本発明に係るポータブル耐タンパデバイスのＲＴＣを更新するための別の例示的なフローチャートを示す。
【００６７】
このフローは、図１で説明したように処理ユニット２４がチップ２３と通信し、通信リンク２８を使用してログ８３の中身を要求する場合に対応する。
【００６８】
第１のステップＳ１は図２で説明したものと同様である。ステップＳ１１において、ポータブル耐タンパデバイス２０は、デバイス４０との間で行われた銀行取引と関連があるアプリケーションデータ３０を格納する。アプリケーションデータ３０はチップ２３によってログ８３に格納される。ポータブル耐タンパデバイス２０は、銀行取引が検出されたとき（又は取引の終了直後に）ＲＴＣ１０から基準時刻５１を取得し、これをアプリケーションデータ３０（すなわちアプリケーションデータ３０に含まれる時刻５０）と関連付ける。ポータブル耐タンパデバイス２０は、この基準時刻５１を処理ユニット２４に配置されてもよい専用のセット８１に格納する。
【００６９】
例えばログ８３は、各銀行取引について、次のコマンドを使用して処理ユニット２４によって取得可能なアプリケーションデータを含んでよい。
Ｒｅａｄ Ｒｅｃｏｒｄ：０ｘ００Ｂ２０１６４１５
Ｄａｔａ
Ｏｕｔ：０ｘ０００００００００００１４００８４００８４０１２０３０２００００２３５９０１０００１
ＳＷ：９０００
ここで、取引日は１２／０３／０２であり、取引時刻は２３時５９分０１秒である。
【００７０】
ステップＳ２２において、予め定められたイベントがＲＴＣ１０の同期操作を起動させる。例えば予め定められたイベントは、ＲＴＣの最後の同期から１０番目の成功した銀行取引を検出することであってよい。例えば、予め定められたイベントは、測定されたドリフトが予め設定された閾値に達したという事実、又は取引のタイムスタンプが最後のＲＴＣ同期の月と比較して新しい月に達したという事実であってよい。
【００７１】
ステップＳ２３は、図２のステップＳ２と対応する詳細なステップを示す。必要に応じて、処理ユニットは、ログ８３に格納されたデータを取得する際に、バッテリ９５によりもたらされる電力をチップ２３に供給することができる。ポータブル耐タンパデバイス２０は、ログ８３から関連する時刻値を、そしてセット８１から対応する基準時刻を抽出する。次にポータブル耐タンパデバイス２０は、時刻とこれに関連付けられた基準時刻とを含む各ペアを再構築する。次にポータブル耐タンパデバイス２０はこれらのペアの中身を解析し、補正値９０を生成するための予め設定されたルールを適用する。
【００７２】
例えば予め設定されたルールは、補正値９０が測定された最後のドリフト（すなわち最後のペアについて計算されたドリフト）として計算されることを規定することができる。
【００７３】
次にステップＳ３３において、ポータブル耐タンパデバイス２０は補正値９０によりリアルタイムクロック１０を更新する。
【００７４】
図５は、本発明による場合とよらない場合のドリフト発生の一例を示す。
【００７５】
ＲＴＣの同期が行われない場合、ドリフトは点線で示すように経時的に増大する可能性がある。ドリフトの増大は必ずしも規則的ではないことに留意されたい。ドリフトの増大は、ポータブルデバイス２０の使用の状況やＲＴＣコンポーネントの経年劣化に依存して加速したり減速したりする可能性がある。
【００７６】
破線は本発明が用いられた場合の経時的なドリフトの発生を示す。ドリフトはＲＴＣの耐用期間中に数回ゼロ（又はゼロ近く）にまで減少する。
【００７７】
本発明によれば、ポータブルセキュアデバイスのリアルタイムクロックを容易かつ円滑に同期させることが可能である。
【００７８】
ポータブル耐タンパデバイスは、ＲＴＣを更新することを狙いとする攻撃を自己防衛できることに留意されたい。処理ユニット２４は、チップ２３と外部デバイス４０の間で交換されるデータを監視する場合に、ユーザの同意を反映する成功したＰＩＮ検証を含む有効な取引（すなわちＳＷ ０ｘ９０００で終わる）のみを考慮することができる。全ての場合において、処理ユニット２４は、正常なドリフトを推定し、時刻／補正が理論的なドリフトと比較して許容できる範囲と一致する場合にのみ補正を受け入れることができる。
【００７９】
本発明は、記載された実施形態や例に限定されない。特に、記載された例及び実施形態を組み合わせることができる。特に、ポータブルデバイスは、ＲＴＣの現在時刻を更新する前に、単一の時刻値又は複数の時刻値を収集することができる。
【００８０】
銀行取引は、例えば支払取引、銀行承認要求、又はリクレジットであってよいことに留意されたい。
【００８１】
本発明は、銀行取引を実行し、取引に日付を付けることが意図された時刻を含む関連アプリケーションデータを受信できるいずれのポータブル耐タンパデバイスにも適用できることに留意されたい。
【００８２】
本発明は、ディスプレイやキーボードを有するポータブルセキュアデバイスに限定されない。本発明によれば、補正値は、実行に成功しなかった銀行取引からもたらされるアプリケーションデータから抽出されたタイムスタンプを使用して計算することができる。
【図１】
2020162137.tif 000003
【図２】
2020162137.tif 000004
【図３】
2020162137.tif 000005
【図４】
2020162137.tif 000006
【図５】
2020162137.tif 000007