(57)【特許請求の範囲】
【請求項１】
通信装置のリッチ実行環境から独立するトラステッド実行環境において設置されるNFCモジュールを含むNFCによる通信装置において、
該NFCモジュールは、通信モジュール及びプロトコルモジュールを含み、
該通信モジュールは、もう一つのNFC装置との接続を設立し、
該プロトコルモジュールは、前記通信装置と前記もう一つのNFC装置と間の通信データを解析し、
前記NFCモジュールは、セキュリティに関するアプリケーションのNFC機能を実行し
前記リッチ実行環境において設置されるバーチャルNFCモジュールをさらに含み、
前該バーチャルNFCモジュールは、前記トラステッド実行環境において設置されるNFCハードウェアを模擬し、これによって、前記リッチ実行環境におけるアプリケーションのNFC機能が前記NFCハードウェアによって処理でき、
セキュリティに関するアプリケーションは、トラステッド実行環境においてインストールされるアプリケーションであるか、又はリッチ実行環境においてインストールされるアプリケーションであり、該セキュリティに関するアプリケーションがリッチ実行環境においてインストールされる第1アプリケーションである場合、該NFCモジュールは、該第1アプリケーションに対応するトラステッド実行環境におけるもう一つのアプリケーションを経由して該第1アプリケーションのNFC機能を実現することを特徴とするNFCによる通信装置。
【請求項２】
前記プロトコルモジュールには、さらにNFCルーティングテーブルが設置され、該ルーティングテーブルより、アプリケーションIDとシステム環境およびアプリケーション名とを関連づけることを特徴とする請求項1に記載の通信装置。
【請求項３】
通信装置のリッチ実行環境から独立するトラステッド実行環境において、NFCモジュールを設置し、
該NFCモジュールにおいて、通信モジュール及びプロトコルモジュールを設置し、
該通信モジュールを利用してもう一つのNFC装置との接続を設立し、
該プロトコルモジュールにより、前記通信装置と前記もう一つのNFC装置との間の通信データを解析し、
前記NFCモジュールを利用してセキュリティに関するアプリケーションのNFC機能を実行し、
前記リッチ実行環境においてバーチャルNFCモジュールを設置し、
該バーチャルNFCモジュールを利用し、前記トラステッド実行環境において設置されるNFCハードウェアを模擬することにより、前記リッチ実行環境におけるアプリケーションのNFC機能が前記NFCハードウェアによって処理できることをさらに含み、
セキュリティに関するアプリケーションは、トラステッド実行環境においてインストールされるアプリケーションであるか、又はリッチ実行環境においてインストールされるアプリケーションであり、該セキュリティに関するアプリケーションがリッチ実行環境においてインストールされる第1アプリケーションである場合、該NFCモジュールを利用して、該第1アプリケーションに対応するトラステッド実行環境におけるもう一つのアプリケーションを経由して該第1アプリケーションのNFC機能を実現することを特徴とするNFCによる通信方法。
【請求項４】
前記プロトコルモジュールにおいてNFCルーティングテーブルをさらに設置し、該ルーティングテーブルによって、アプリケーションIDとシステム環境およびアプリケーション名とを関連づけることを特徴とする請求項３に記載の通信方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、NFC通信に関し、特にNFCによる通信装置及び通信方法に関する。
【背景技術】
【０００２】
トラステッド実行環境TEE（Trusted Executive Environment）技術は、例えばスマート端末などの通信装置にハードウェア保護を受けて隔離されたトラステッド実行環境を提供でき、該環境では、スマート端末におけるセキュリティーに関する敏感な操作はTEEに基づいて完成させることにより、セキュリティを高める。
【０００３】
近距離無線通信NFC（Near Field Communication）技術は、非接触認識に用いられることにより、移動設備、消費類電気製品、PC及びスマート制御手段の間で近距離無線通信を行うことができる。
【０００４】
従来技術では、NFC機能は、リッチ実行環境（REE：Rich  Execution  Environment）（例えばアンドロイド、IOSなど）において実現されるが、これがトラステッド実行環境の閉ループを破壊する。例えば、金融交易などのセキュリティ決済情報は、非安全なリッチ実行環境からセキュリティなトラステッド実行環境に送信するが、その間、敏感な情報が盗まれるか又は改竄される可能性がある。
【発明の概要】
【課題を解決するための手段】
【０００５】
本発明は、通信装置のリッチ実行環境から独立するトラステッド実行環境において設置されるNFCモジュールを含むNFCによる通信装置を開示しており、該NFCモジュールは、通信モジュール及びプロトコルモジュールを含み、該通信モジュールは、もう一つのNFC装置との接続の設立に用いられ、該プロトコルモジュールは、前記通信装置と前記もう一つのNFC装置との間の通信データの解析に用いられる。
【０００６】
一つの例では、前記NFCモジュールは、セキュリティに関するアプリケーションのNFC機能の実行に用いられる。
【０００７】
一つの例では、セキュリティに関するアプリケーションはトラステッド実行環境においてインストールされるアプリケーションであるか、又はリッチ実行環境にインストールされるアプリケーションであり、また、該セキュリティに関するアプリケーションがリッチ実行環境においてインストールされる第1アプリケーションである場合、該NFCモジュールは、該第1アプリケーションに対応するトラステッド実行環境におけるもう一つのアプリケーションを経由して該第1アプリケーションのNFC機能を実現する。
【０００８】
一つの例では、通信装置は、前記リッチ実行環境において設置されるバーチャル（Virtual）NFCモジュールをさらに含み、該バーチャルNFCモジュールは、前記トラステッド実行環境において設置されるNFCハードウェアを模擬するのに用いられることにより、前記リッチ実行環境におけるアプリケーションのNFC機能が前記NFCハードウェアによって処理できる。
【０００９】
一つの例では、前記プロトコルモジュールには、さらにNFCルーティングテーブル(routing table)が設置され、該ルーティングテーブルは、アプリケーションIDとシステム環境およびアプリケーション名とを関連づける。
【００１０】
本発明は、通信装置のリッチ実行環境から独立するトラステッド実行環境において設置されるNFCモジュールを含むNFCによる通信方法であって、
該NFCモジュールにおいて、通信モジュール及びプロトコルモジュールを設置し、
該通信モジュールがもう一つのNFC装置との接続を設立し、
該プロトコルモジュールが前記通信装置と前記もう一つのNFC装置と間の通信データを解析する通信方法をさらに開示する。
【００１１】
一つの例では、前記NFCモジュールにより、セキュリティに関するアプリケーションのNFC機能を実行する。
【００１２】
一つの例では、セキュリティに関するアプリケーションは、トラステッド実行環境においてインストールされるアプリケーションであるか、又はリッチ実行環境にインストールされるアプリケーションであり、また該セキュリティに関するアプリケーションがリッチ実行環境においてインストールされる第1アプリケーションである場合、該NFCモジュールにより、該第1アプリケーションに対応するトラステッド実行環境におけるもう一つのアプリケーションを経由して該第1アプリケーションのNFC機能を実現する。
【００１３】
一つの例では、方法は、
前記リッチ実行環境においてバーチャルNFCモジュールを設置し、
該バーチャルNFCモジュールを利用して前記トラステッド実行環境において設置されるNFCハードウェアを模擬することにより、前記リッチ実行環境におけるアプリケーションのNFC機能が前記NFCハードウェアによって処理できることをさらに含む。
【００１４】
一つの例では、前記プロトコルモジュールにおいてNFCルーティングテーブルをさらに設置し、該ルーティングテーブルより、アプリケーションIDとシステム環境およびアプリケーション名とを関連づける。
【００１５】
本発明はNFC通信のセキュリティを高められ、TEEにおいて一部の従来のプロトコルスタックのみを実現するNFCモジュールを設置することにより、TEE環境のストレージ負担を軽減し、NFC通信の柔軟性を高める。
【図面の簡単な説明】
【００１６】
図面を参照して本発明の実施の形態を読んだら、当業者は本発明を一層理解できる。当業者は、図面は実施の形態に合わせて本発明を説明するのみのためであり、本発明の保護範囲を制限するためのものではないと理解すべきである。
【００１７】
【図１】本発明の実施例に基づくNFCによる通信装置の概念図である。
【図２】本発明の実施例に基づくNFCによる通信装置の概念図である。
【発明を実施するための形態】
【００１８】
以下、図面を参照しながら、本発明の実施の形態についてさらに詳しく説明する。理解すべきのは、記載された実施例に対して構造上及び機能上の修正を行うことができるということである。また、与えられた任意なるアプリケーションもしくは特定の任意なるアプリケーションが所望するか又は役立つために、一つの実施例の一つ又は複数の特徴は、他の実施例の一つ又は複数の特徴に組み合わせることができる。
【００１９】
図1は本発明の実施例に基づくNFCによる通信装置の概念図である。図に示すように、NFCによる通信装置（例えば、スマート移動通信端末）は、NFCモジュールを含むことにより、該通信装置のNFC機能を実現する。該NFCモジュールは、通信装置のトラステッド実行環境に設置される。図に示すように、トラステッド実行環境は、該通信装置のリッチ実行環境から独立する。トラステッド実行環境（TEE）は、特定アプリケーション、例えばセキュリティアプリケーションの実行に用いられる。リッチ実行環境（REE）、例えばAndroid操作システムは、特定アプリケーションを除いた他のアプリケーションの実行に用いられる。該NFCモジュールは、通信モジュール及びプロトコルモジュールを含み、該通信モジュールは、もう一つのNFC装置との接続の設立に用いられ、該プロトコルモジュールは、前記通信装置と前記もう一つのNFC装置との間の通信データの解析に用いられ、プロトコルモジュールは、NFCプロトコルの実行に用いられ、これによって、NFC通信を実現する。図1のもう一つのNFC装置とは、NFC機能を有する任意なる実体、例えばNFC機能を有するICカード、銀行カード、移動通信設備（例えば、携帯電話）、スマート端末（例えば、タブレット）などが挙げられると理解できる。
【００２０】
図2は本発明の実施例に基づくNFCによる通信装置の概念図である。該実施例によると、通信装置のトラステッド実行環境に設置される第2NFCモジュールは、セキュリティに関するアプリケーションのNFC機能の実行に用いられる。セキュリティに関するアプリケーションは、トラステッド実行環境においてインストールされるアプリケーションであり、例えば図2の第2アプリケーションであるか、又はリッチ実行環境においてインストールされるアプリケーションであり、例えば図2の第1アプリケーションである。第2アプリケーションに関して、NFC機能を実行する必要がある場合、トラステッド実行環境のフレームワークにおいて、NFCアプリケーションプログラムインターフェースをコールして第2NFCモジュールを呼び出すことができる。この場合、第2NFCモジュールは、トラステッド実行環境のフレームワークにおけるNFCアプリケーションプログラムインターフェースを経由して第2アプリケーションのNFC機能を実現する。第1アプリケーション（例えば、決済アプリケーション）について、NFC機能を実行する必要がある場合、トラステッド実行環境のフレームワークにおいて、該第1アプリケーションに対応するトラステッド実行環境におけるもう一つのアプリケーションを呼び出し、次に、該もう一つのアプリケーションがNFCアプリケーションプログラムインターフェースを経由して第2NFCモジュールを呼び出すことができる。この場合、第2NFCモジュールは、トラステッド実行環境のフレームワークにおけるNFCアプリケーションプログラムインターフェースを経由してもう一つのアプリケーションのNFC機能を実現する。ここで、NFCアプリケーションプログラムインターフェース（API）、例えばOpen NFC、NCIプロトコルなどの関連するAPI）は、実際の使用状況に応じてオーダーメイドできる。
【００２１】
続きに図2を参照し、本発明の一つの実施例によると、前記リッチ実行環境においてバーチャルNFCモジュールを設置することができ、該バーチャルNFCモジュールは、前記トラステッド実行環境において設置されるNFCハードウェアを模擬するのに用いられることにより、前記リッチ実行環境におけるアプリケーションのNFC機能が前記NFCハードウェアによって処理できる。例えば、図に示す第1操作システム（例えば、Androidシステム）でのレギュラーアプリケーション（非セキュリティアプリケーション）は、第1操作システムのNFCアプリケーションプログラムインターフェースを通して第1NFCモジュールを呼び出すことにより、NFC機能を実現できる。ここで、第1NFCモジュールは、従来のNFCモジュールであってもよく、それがNFC従来のプロトコルスタックを実現する。該レギュラーアプリケーションがNFC機能を実現する場合、そのリクェストはバーチャルNFCモジュールを通してNFC制御器（NFCC）に送信され、NFC制御器がトラステッド実行環境においてデータ処理を実現する。
【００２２】
本発明の一つの実施例によると、前記プロトコルモジュールには、さらにNFCルーティングテーブルを設置することができる。該ルーティングテーブルより、アプリケーションIDとシステム環境およびアプリケーション名とを関連づける。これにより、NFC制御器を経由してアプリケーションIDを含む情報を送信し、プロトコルモジュールが、アプリケーションIDに基づき、該アプリケーションが所在するシステム環境（例えば、リッチ実行環境、トラステッド実行環境、セキュリティキャリア環境）及びアプリケーション名を迅速に検索でき、NFCの通信効率を高める。例えば、NFC通信情報が受信された場合、プロトコルモジュールはそれを解析し、アプリケーションIDを取得し、次にNFCルーティングテーブルに基づき、該アプリケーションのシステム環境及びアプリケーション名を検索することができ、ことにより、NFC制御器が該アプリケーションとのセッションを迅速に建立できる。また、プロトコルモジュールは、さらにアプリケーションが更新される際に、NFCルーティングテーブル情報を更新できる。また、ルーティングテーブルより、アプリケーション名およびシステム環境の他、アプリケーションに関する他の要素とアプリケーションIDを関連づけることができる。
【００２３】
本発明の一つ又は複数の他の実施例によると、該NFCモジュールは、さらにSE（Security Element）管理モジュールを含むことができ、通信データとSE（例えば、SIMカード、SSDカードなど）とのインタラクション（例えば、データ保存、キー保存が挙げられる）を実現するのに用いられる。該NFCモジュールは、さらにNFC管理モジュールを含むことができ、NFC制御器に対しての配置及び管理（例えば、NFC機能のオン/オフ、NFC機能のリセット、NFC業務モード設置が挙げられる）に用いられる。
【００２４】
本発明の一つ又は複数の他の実施例によると、該NFCモジュールにおけるプロトコルモジュールは、読み書きモード及びカードシミュレーションモードを実現するのに用いられる。また、リッチ実行環境（REE）における従来のNFCプロトコルスタックによってP2Pモードを実現する。本発明のNFCモジュールは、従来のNFCプロトコルスタック構成のコアプロトコルスタックに基づくものであってもよい。一つの例として、TEEトラステッド実行環境のセキュリティの需要性を考慮し、かつ、TEEトラステッド実行環境のストレージ状況を合わせて、NFCモジュールのNFCプロトコルスタックは、従来のNFCプロトコルスタック構成の一部であってもよい。
【００２５】
プロトコルモジュールは、ISO7816とISO14443という2種類のプロトコルを支持できる。ISO14443プロトコルは、NFCモジュールと外界のカード読取り器との間の非接触通信に用いられるが、ISO7816プロトコルは、NFCモジュールと端末SE（如SIMカード、SSDカードなど）との間のデータ通信に用いられる。
【００２６】
上述のように、該NFCモジュールは、通信モジュール及びプロトコルモジュールを含み、該通信モジュールは、該もう一つのNFC装置との接続の設立に用いられ、該プロトコルモジュールは、前記通信装置と前記もう一つのNFC装置との間の通信データの解析に用いられる。通信モジュールは、さらにNFCによる通信モードを特定するのに用いられる。以下、該NFCモジュールによって実現されるいくつかのNFC通信モードを例示する。
【００２７】
1. NFCカード読取り器モード
【００２８】
該モードでは、プロトコルモジュールは、NFC APIを経由してTEEにおけるNFC可信アプリケーションから読み書きアプリケーションデータを受信し、かつカード読取り器モジュールのデータ格式によって読み書きアプリケーションデータをカプセル化する。次に、通信モジュールは、カプセル化されたデータをNFCCに送信する。最後に、NFCCにより、アンテナを介して外部の非接触カードにカプセル化されたデータを送信する。
【００２９】
2. REE端のカード読取り器モード
【００３０】
該モードでは、TEE端のNFCCがREEから転送されたアプリケーションデータを受信し、NFCCは受信されたアプリケーションデータを処理してから、アンテナを介して外部の非接触カードに送信する。ここで、REEから転送されるアプリケーションデータは、Androidシステムにおける非セキュリティアプリケーションによって生成されるものであってもよく、該アプリケーションデータは、REE端のプロトコルスタックによってカプセル化され、バーチャルNFCモジュールを経由してNFCCに送信され、NFCCにより処理される。
【００３１】
3. NFCカード模擬モード
【００３２】
該モードでは、通信モジュールは、NFCCを通して外部カード読取り器から送信されたデータを受信し、プロトコルモジュールは、該データにおけるアプリケーションIDに基づき、NFCルーティングテーブルに基づき、対応するアプリケーションを検索することができる。しかし、プロトコルモジュールは、カード模擬データ格式に基づき、カード読取り器から送信されたデータを解析する。選択的には、カード読取り器からのリクェストがSEの参与を必要とする場合、SE管理モジュールを通して該リクェストを対応するSEに送信し、次にSE管理モジュールによってその結果を外部カード読取り器にフィードバックする。
【００３３】
4. NFC P2Pモード
【００３４】
該モードでは、以下の方式によって二つのNFC設備同士において接続を設立する。まず、NFCCが外部NFC設備から送信されたNFC通信を受信し、NFCモジュールにおけるプロトコルモジュールが該リクェストを解析する。プロトコルモジュールは、該リクェストがP2Pモードに属すると判断する場合、該リクェストをREEにおけるバーチャルNFCモジュールに転送する。バーチャルNFCモジュールは、さらに該リクェストをREEにおける従来のNFCプロトコルスタックに転送する。従来のプロトコルスタックは、該リクェストを処理することにより、二つのNFC設備同士の接続を設立する。
【００３５】
[0032] 上記記載により、前記一つ又は複数のモジュールによって実現される機能又はステップは、本発明の方法実施例での一つ又は複数のステップで実施されることができる。
【００３６】
本発明は、通信装置のリッチ実行環境から独立するトラステッド実行環境において設置されるNFCモジュールを含むNFCによる通信方法であって、該NFCモジュールにおいて、通信モジュール及びプロトコルモジュールを設置し、該通信モジュールを利用してもう一つのNFC装置との接続を設立し、該プロトコルモジュールを利用して前記通信装置と前記もう一つのNFC装置との通信データを解析する通信方法を開示する。
【００３７】
一つの例では、前記NFCモジュールを利用してセキュリティに関するアプリケーションのNFC機能を実行する。
【００３８】
一つの例では、セキュリティに関するアプリケーションは、トラステッド実行環境においてインストールされるアプリケーションであるか、又はリッチ実行環境においてインストールされるアプリケーションであり、また、該セキュリティに関するアプリケーションがリッチ実行環境においてインストールされる第1アプリケーションである場合、該NFCモジュールを利用して、該第1アプリケーションに対応するトラステッド実行環境におけるもう一つのアプリケーションを経由して該第1アプリケーションのNFC機能を実現する。
【００３９】
一つの例では、方法は、前記リッチ実行環境においてバーチャルNFCモジュールを設置し、該バーチャルNFCモジュールを利用し、前記トラステッド実行環境において設置されるNFCハードウェアを模擬することにより、前記リッチ実行環境におけるアプリケーションのNFC機能が前記NFCハードウェアによって処理できることをさらに含む。
【００４０】
一つの例では、前記プロトコルモジュールにおいて、NFCルーティングテーブルをさらに設置し、該ルーティングテーブルより、アプリケーションIDとシステム環境およびアプリケーション名とを関連づける。
【００４１】
以上の実施の形態の記載に基づき、当業者は、本発明の精神及び範囲を超えない場合、さらに本発明の実施の形態に対して各種の変更及び代替を行うことができると理解できる。これらの変更及び代替はいずれも本発明の特許請求の範囲内である。
【図１】
0006573672.tif 000002
【図２】
0006573672.tif 000003