JP2022050940A - ドライバプログラム、及びトランザクション仲介方法 - Google Patents
ドライバプログラム、及びトランザクション仲介方法 Download PDFInfo
- Publication number
- JP2022050940A JP2022050940A JP2020157143A JP2020157143A JP2022050940A JP 2022050940 A JP2022050940 A JP 2022050940A JP 2020157143 A JP2020157143 A JP 2020157143A JP 2020157143 A JP2020157143 A JP 2020157143A JP 2022050940 A JP2022050940 A JP 2022050940A
- Authority
- JP
- Japan
- Prior art keywords
- wireless communication
- application
- modem
- command
- communication modem
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Telephone Function (AREA)
Abstract
【課題】無線通信モデムによる無線通信を妨げることなく、PCアプリケーションからSIMカード等の電子情報記憶媒体を利用することが可能なドライバプログラム、及びトランザクション仲介方法を提供する。【解決手段】モデムドライバは、PCアプリケーションからのSIMカードCへの接続要求に応じて、SIMカードCにおける複数の論理チャネルのうち無線通信用アプリケーションに対して割り当てられている論理チャネルCh0以外の論理チャネルをオープンさせるためのチャネルオープンコマンドを含むATコマンドを無線通信モデムMへ送信し、当該ATコマンドに含まれるチャネルオープンコマンドが無線通信モデムMからSIMカードCへ送信されることによりSIMカードCにおいてSIMアプリケーション用としてオープンされた論理チャネルを示しSIMカードCにより返信されたレスポンスAPDUを無線通信モデムMから受信し、当該受信されたレスポンスAPDUが示す論理チャネルを記憶する【選択図】図3
Description
本発明は、複数の論理チャネルを管理する機能を有するICカード等の電子情報記憶媒体が挿入される無線通信モデムを搭載するコンピュータ等の技術分野に関する。
従来、PC(Personal Computer)にインストールされたPCアプリケーションから、国際標準規格であるISO/IEC7816が適用されるIC(Integrated Circuit)カードを利用するための標準API(Application Programming Interface)として、PC/SC(Personal Computer/Smart Card)が提供されている。ここで、ICカードには、PCアプリケーションとの間でトランザクション(コマンドとレスポンスのやり取り)を行うアプリケーションがインストールされる。また、通常、PC/SC経由でPCアプリケーションからICカードを利用するためには、PC/SC対応ICカードリーダライタ及びそのドライバが必要である。つまり、PCにインストールされるドライバプログラムが必要になる。
一方、近年、LTE(Long Term Evolution)モデム等の無線通信モデムが搭載されたモバイルPCが注目されている。かかる無線通信モデムには、契約者情報(IMSI(International Mobile Subscriber Identity)等)及び無線通信のための処理を行うアプリケーションがインストールされたSIMカード(Subscriber Identity Module)が挿入される。これにより、モバイルPCは、インターネットに接続するためのWi-Fi(登録商標)ルータ等がなくとも、携帯電話事業者により提供された移動体通信ネットワークを利用して外部機器とのLTE通信等の無線通信を行うことができる。
このような無線通信に利用されるSIMカードも、ISO/IEC7816が適用されるICカードの一種である。そのため、モバイルPCにPCアプリケーションをインストールし、当該PCアプリケーションとの間でトランザクションを行うアプリケーションをSIMカードにインストールすることにより、モバイルPCは、PC/SC対応ICカードリーダライタがなくとも、PC/SC経由でPCアプリケーションからSIMカードを利用することが可能となる。この場合、例えば特許文献1に開示されるような複数の論理チャネル(ロジカルチャネル)を管理する機能を有し、複数のアプリケーション(いわゆるマルチアプリケーション)をインストールすることが可能なSIMカードが用いられることが想定される。
ところで、PC/SCから無線通信モデム上のSIMカードへアクセスするためには、PC/SCからのコマンドをモデム制御用コマンド(例えば、ATコマンド)に変換するようなモデムドライバをモバイルPCに実装することが考えられる。この場合、PC/SCからのコマンドを、SIMカードの本業である無線通信を妨げることなく、SIMカードにより管理されるどの論理チャネルに配信するかが問題となる。また、PC/SCから送出される通常のカードリセット要求によりSIMカードがリセットされると、無線通信を妨げる可能性が高いという問題もある。
そこで、本発明は、上記問題等に鑑みてなされたものであり、無線通信モデムによる無線通信を妨げることなく、PCアプリケーションからSIMカード等の電子情報記憶媒体を利用することが可能なドライバプログラム、及びトランザクション仲介方法を提供することを目的とする。
上記課題を解決するために、請求項1に記載の発明は、複数の論理チャネルを管理する機能を有する電子情報記憶媒体であって、外部機器との無線通信のための第1処理を行う第1アプリケーションと、前記第1処理とは異なる第2処理を行う第2アプリケーションとが少なくともインストールされる前記電子情報記憶媒体が接続される無線通信モデムを搭載し、且つ、前記第2アプリケーションとの間でトランザクションを行う第3アプリケーションがインストールされるコンピュータにおいて前記トランザクションを仲介するためのドライバプログラムであって、前記複数の論理チャネルのうち前記第1アプリケーションに対して割り当てられている論理チャネル以外の論理チャネルをオープンさせるためのチャネルオープンコマンドを含み、前記無線通信モデムが解釈可能なモデム制御用コマンドを前記無線通信モデムへ送信する第1送信手段と、前記モデム制御用コマンドに含まれる前記チャネルオープンコマンドが前記無線通信モデムから前記電子情報記憶媒体へ送信されることにより前記電子情報記憶媒体において前記第2アプリケーション用としてオープンされた前記論理チャネルを示し前記電子情報記憶媒体により返信されたレスポンスを前記無線通信モデムから受信する第1受信手段と、前記第1受信手段により受信されたレスポンスが示す前記論理チャネルを記憶する記憶手段として前記コンピュータを機能させることを特徴とする。
請求項2に記載の発明は、請求項1に記載のドライバプログラムにおいて、前記第2アプリケーション用として前記論理チャネルがオープンされた後、前記第3アプリケーションからの所定のコマンドの送信要求に応じて、当該所定のコマンドのヘッダにおける論理チャネル指定部に、前記記憶された論理チャネルを設定する設定手段と、前記設定手段により論理チャネルが設定された前記所定のコマンドを含み、前記無線通信モデムが解釈可能なモデム制御用コマンドを前記無線通信モデムへ送信する第2送信手段と、前記モデム制御用コマンドに含まれる前記所定のコマンドが前記無線通信モデムから前記電子情報記憶媒体へ送信されることにより前記電子情報記憶媒体から返信されたレスポンスを前記無線通信モデムから受信する第2受信手段と、前記第2受信手段により受信されたレスポンスを前記第3アプリケーションに渡す応答手段として前記コンピュータを更に機能させることを特徴とする。
請求項3に記載の発明は、請求項1または2に記載のドライバプログラムにおいて、前記第1送信手段は、前記第3アプリケーションからの、前記電子情報記憶媒体への接続要求に応じて、前記チャネルオープンコマンドを含み、前記無線通信モデムが解釈可能なモデム制御用コマンドを前記無線通信モデムへ送信することを特徴とする。
請求項4に記載の発明は、請求項1または2に記載のドライバプログラムにおいて、前記第3アプリケーションからの、前記電子情報記憶媒体のリセット要求に応じて、前記第2アプリケーション用としてオープンされた前記論理チャネルをクローズさせるチャネルクローズコマンドを含み、前記無線通信モデムが解釈可能なモデム制御用コマンドを前記無線通信モデムへ送信する第3送信手段と、前記モデム制御用コマンドに含まれる前記チャネルクローズコマンドが前記無線通信モデムから前記電子情報記憶媒体へ送信されることにより前記電子情報記憶媒体から返信されたレスポンスを受信する第3受信手段として前記コンピュータをさらに機能させ、前記第3受信手段により前記レスポンスが受信されたことに応じて、前記第1送信手段は、前記チャネルオープンコマンドを含み、前記無線通信モデムが解釈可能なモデム制御用コマンドを前記無線通信モデムへ送信することを特徴とする。
請求項5に記載の発明は、請求項1乃至4の何れか一項に記載のドライバプログラムにおいて、前記モデム制御用コマンドは、ATコマンドであることを特徴とする。
請求項6に記載の発明は、複数の論理チャネルを管理する機能を有する電子情報記憶媒体であって、外部機器との無線通信のための第1処理を行う第1アプリケーションと、前記第1処理とは異なる第2処理を行う第2アプリケーションとが少なくともインストールされる前記電子情報記憶媒体が接続される無線通信モデムと、前記第2アプリケーションとの間でトランザクションを行う第3アプリケーションがインストールされるコンピュータとにおいて前記トランザクションを仲介するトランザクション仲介方法であって、前記複数の論理チャネルのうち前記第1アプリケーションに対して割り当てられている論理チャネル以外の論理チャネルをオープンさせるためのチャネルオープンコマンドを含み、前記無線通信モデムが解釈可能なモデム制御用コマンドを前記コンピュータから前記無線通信モデムへ送信するステップと、前記モデム制御用コマンドに含まれる前記チャネルオープンコマンドを前記無線通信モデムから前記電子情報記憶媒体へ送信するステップと、前記チャネルオープンコマンドに応じて前記電子情報記憶媒体において前記第2アプリケーション用としてオープンされた前記論理チャネルを示すレスポンスを前記電子情報記憶媒体から前記無線通信モデムへ送信するステップと、前記論理チャネルを示すレスポンスを前記無線通信モデムから前記コンピュータへ送信するステップと、前記コンピュータが受信した前記レスポンスが示す前記論理チャネルを記憶するステップと、を含むことを特徴とする。
本発明によれば、無線通信モデムによる無線通信を妨げることなく、PCアプリケーションから電子情報記憶媒体を利用することができる。
以下、図面を参照して本発明の実施形態について詳細に説明する。以下に説明する実施形態は、モバイルPCに対して本発明を適用した場合の実施の形態である。
[1.モバイルPCの概要構成]
先ず、図1等を参照して、本実施形態にかかるモバイルPCの概要構成について説明する。図1は、本実施形態に係るモバイルPCの概要構成例を示す図である。図1に示すように、モバイルPCは、CPU(Central Processing Unit)、RAM(Random Access Memory)、及びROM(Read Only Memory)等により構成された演算処理部1、及びHDD(Hard Disk Drive)またはSSD(Solid State Drive)等により構成された記憶部2等を含んで構成される。モバイルPCには、OS(Operating System)、OS上で動作するPCアプリケーション(第3アプリケーションの一例)、PCアプリケーションにより呼び出されるPC/SC(API)、及びモデムドライバ(本発明のドライバプログラムの一例)がインストールされるようになっており、これらは記憶部2に記憶される。なお、OS、PCアプリケーション、PC/SC、及びモデムドライバは、それぞれ、演算処理部1(コンピュータの一例)により実行される。
先ず、図1等を参照して、本実施形態にかかるモバイルPCの概要構成について説明する。図1は、本実施形態に係るモバイルPCの概要構成例を示す図である。図1に示すように、モバイルPCは、CPU(Central Processing Unit)、RAM(Random Access Memory)、及びROM(Read Only Memory)等により構成された演算処理部1、及びHDD(Hard Disk Drive)またはSSD(Solid State Drive)等により構成された記憶部2等を含んで構成される。モバイルPCには、OS(Operating System)、OS上で動作するPCアプリケーション(第3アプリケーションの一例)、PCアプリケーションにより呼び出されるPC/SC(API)、及びモデムドライバ(本発明のドライバプログラムの一例)がインストールされるようになっており、これらは記憶部2に記憶される。なお、OS、PCアプリケーション、PC/SC、及びモデムドライバは、それぞれ、演算処理部1(コンピュータの一例)により実行される。
更に、モバイルPCには、UMTS(Universal Mobile Telecommunications System)モデム(3Gモデム)や)又はLTEモデム等の無線通信モデムMが搭載されており、インターフェースを介して演算処理部1との間で電気的に接続されている。無線通信モデムMは、移動体通信ネットワーク(例えば、3Gまたは4Gネットワーク)における無線基地局との間の接続を確立するためのアンテナ及びベースバンドプロセッサ等により構成され、SIMカード(ICカード等の電子情報記憶媒体の一例)Cを挿入するためのSIMポートを備える。かかるSIMポートにSIMカードCが挿入されることでベースバンドプロセッサとSIMカードCとがインターフェースを介して電気的に接続される。なお、SIMカードは、eUICC(Embedded Universal Integrated Circuit Card)として端末から容易に取り外しや取り換えができないように組み込み基盤上に搭載される埋め込み型のeSIMであってもよい。この場合、eSIMを挿入するためのSIMポートは不要である。また、無線通信モデムMは、演算処理部1から受信されたATコマンドに応じた処理を実行し、その処理結果を返信可能になっている。ここで、ATコマンドは、無線通信モデムMが解釈可能なモデム制御用コマンドの一例であり、例えば“3GPP TS 27.007 version 15.2.0 Release 15”に規定されている。
SIMカードCは、CPU、RAM、NVM(Nonvolatile Memory)、及び無線通信モデムMとのインターフェースを含んで構成され、複数の論理チャネルを管理する機能を有する。かかるインターフェースは、例えば、国際規格であるISO7816のインターフェースであり、APDU(Application Protocol Data Unit)プロトコルにしたがって、無線通信モデムMとの間でコマンドAPDU及びレスポンスAPDUの送受信が行われる。なお、コマンドAPDUは、少なくとも、1バイトのCLA(コマンドクラス)、1バイトのINS(コマンドコード)、1バイトのP1(コマンドパラメータ1)、及び1バイトのP2(コマンドパラメータ2)を有するヘッダを含んで構成される。また、ヘッダの後にレングスやデータが付加される場合もある。また、SIMカードCには、OS、OS上で動作するアプリケーションがインストールされるようになっており、これらはNVMに記憶される。ここで、OSは、SIMカードCの基本動作を担う基本機能、及び複数の論理チャネルの管理を担う論理チャネル管理機能を有する。論理チャネルとは、OS上で動作する各アプリケーションにアクセスするための論理的なチャネルである。
SIMカードCにインストールされたアプリケーションには、外部機器との無線通信(移動体通信ネットワークを介して行われる無線通信)のための処理(第1処理の一例)を行う無線通信用アプリケーション(第1アプリケーションの一例)と、PCアプリケーションからのコマンドに応じて認証や決済等の処理(第1処理とは異なる第2処理の一例)を行う1または複数のSIMアプリケーション(第2アプリケーションの一例)とが含まれる。無線通信用アプリケーションは無線通信に係る契約者情報(IMSI等)を管理する。また、無線通信用アプリケーションには、論理チャネルCh0(0番)が予め割り当てられている。一方、SIMアプリケーションには、複数の論理チャネルのうち無線通信用アプリケーションに対して割り当てられている論理チャネルCh0以外の論理チャネルが割り当てられる。なお、それぞれのアプリケーションには、固有のアプリケーション識別子(AID)が付与され、OSにより管理される。
以上の構成において、モバイルPCにインストールされたモデムドライバは、PCアプリケーションとSIMアプリケーションとの間で行われるトランザクションを仲介する。図2は、PCアプリケーションとSIMアプリケーションとの間のアクセス経路例を示す概念図である。例えば、PCアプリケーションからPC/SCを経由してモデムドライバに渡されたコマンドAPDUは、モデムドライバによりATコマンドに変換(つまり、コマンドAPDUを含むATコマンドが生成)され、当該ATコマンドが無線通信モデムMに送信される。そして、無線通信モデムMに送信されたATコマンドに含まれるコマンドAPDUはSIMカードCにおけるSIMアプリケーションへ転送される。これを実現するため、モデムドライバは、コンピュータとしての演算処理部1を、本発明における第1~第3送信手段、第1~第3受信手段、記憶手段、設定手段、及び応答手段等として機能させる。
具体的には、モデムドライバは、PCアプリケーションからの(PC/SC経由)SIMカードCへの接続要求に応じて、SIMカードCにおける複数の論理チャネルのうち無線通信用アプリケーションに対して割り当てられている論理チャネルCh0以外の論理チャネルをオープンさせるためのチャネルオープンコマンド(例えば、MANAGE CHANNELコマンド(OPEN))を含むATコマンドを無線通信モデムMへ送信し、当該ATコマンドに含まれるチャネルオープンコマンドが無線通信モデムMからSIMカードCへ送信されることによりSIMカードCにおいてSIMアプリケーション用としてオープンされた論理チャネルを示しSIMカードCにより返信されたレスポンスAPDUを無線通信モデムMから受信し、当該受信されたレスポンスAPDUが示す論理チャネルを記憶(保存)するように演算処理部1を機能させる。
こうして、SIMアプリケーション用として論理チャネル(例えば、Ch1(1番))がオープンされた後、モデムドライバは、PCアプリケーションからの(PC/SC経由)所定のコマンドAPDUの送信要求に応じて、当該コマンドAPDUのヘッダのCLAにおける論理チャネル指定部に論理チャネル(上記で保存された論理チャネル)を設定し、当該論理チャネルが設定されたコマンドAPDUを含むATコマンドを無線通信モデムMへ送信し、当該ATコマンドに含まれるコマンドAPDUが無線通信モデムMからSIMカードCへ送信されることによりSIMカードCから返信されたレスポンスAPDUを無線通信モデムMから受信し、当該受信されたレスポンスAPDUをPCアプリケーションに渡すようにコンピュータを機能させる。ここで、所定のコマンドの例として、SELECTコマンドやVerifyコマンド等が挙げられる。
さらに、モデムドライバは、PCアプリケーションからの(PC/SC経由)SIMカードCのリセット要求(Deactivation)に応じて、SIMアプリケーション用としてオープンされた論理チャネルをクローズさせるチャネルクローズコマンド(例えば、MANAGE CHANNELコマンド(CLOSE))を含むATコマンドを無線通信モデムMへ送信し、ATコマンドに含まれるチャネルクローズコマンドが無線通信モデムMからSIMカードCへ送信されることによりSIMカードCから返信されたレスポンスAPDUを無線通信モデムMから受信し、当該レスポンスAPDUが受信されたことに応じて、チャネルオープンコマンドを含むATコマンドを無線通信モデムMへ送信するように演算処理部1を機能させる。ATコマンドを無線通信モデムMへ送信する以降の流れは、上記接続要求の受信時と同様である。
[2.モバイルPCにおける動作]
(2.1.SIMカードCへの接続要求発生時の動作)
次に、図3を参照して、SIMカードCへの接続要求が発生したときのモバイルPCにおける動作について説明する。図3は、SIMカードCへの接続要求が発生したときのPCアプリケーション、PC/SC、モデムドライバ、無線通信モデムM、及びSIMカードCにおけるトランザクションの一例を示すシーケンス図である。
(2.1.SIMカードCへの接続要求発生時の動作)
次に、図3を参照して、SIMカードCへの接続要求が発生したときのモバイルPCにおける動作について説明する。図3は、SIMカードCへの接続要求が発生したときのPCアプリケーション、PC/SC、モデムドライバ、無線通信モデムM、及びSIMカードCにおけるトランザクションの一例を示すシーケンス図である。
図3に示すように、PCアプリケーション(PCアプリ)により呼び出されたPC/SCは、SIMカードCへの接続要求をモデムドライバへ送信する(ステップS1)。
次いで、モデムドライバは、PC/SCからの接続要求を受信すると、予め用意されたチャネルオープンコマンド(例えば、MANAGE CHANNELコマンド(OPEN))をATコマンドに変換する(ステップS2)。例えば、チャネルオープンコマンドが“0070000100”であるとすると、ATコマンドは、“AT+CSIM=10,0070000100”で表される。つまり、ATコマンドには、チャネルオープンコマンドが含まれる。
なお、モデムドライバは、事前に生成された“AT+CSIM=10,0070000100”を保持していてもよい。ここで、コマンドAPDU“0070000100”におけるINS“70”はMANAGE CHANNELコマンドであることを示し、P1“00”はチャネルch0(0番)以外のチャネル(P2で指定されるチャネル)をオープンさせることを示し、P2“01”はチャネルch1(1番)をオープンさせることを示す。また、ATコマンド“AT+CSIM=10,0070000100”における“+CSIM”は、ATコマンド“0070000100”をSIMカードCへ転送させることを示す。
次いで、モデムドライバは、ステップS2で変換されたATコマンド“AT+CSIM=10,0070000100”を無線通信モデムMへ送信する(ステップS3)。
次いで、無線通信モデムMは、モデムドライバからのATコマンド“AT+CSIM=10,0070000100”を受信すると、当該ATコマンドからコマンドAPDU“0070000100”を抽出し(ステップS4)、当該抽出されたコマンドAPDU“0070000100”をSIMカードCへ送信する(ステップS5)。
次いで、SIMカードCにおけるOSは、無線通信モデムMからのコマンドAPDU“0070000100”を受信すると、当該コマンドAPDUに応じて、無線通信用アプリケーションに対して割り当てられている論理チャネルCh0以外の論理チャネルCh1をオープン(開設)してSIMアプリケーションに割り当てるチャネル開設処理を行う(ステップS6)。
次いで、SIMカードCにおけるOSは、チャンル割当処理の結果を示すレスポンスAPDUを無線通信モデムMへ返信する(ステップS7)。かかるチャネル開設処理においてSIMアプリケーション用として論理チャネルCh1の開設が成功した場合、チャネル開設処理の結果には、SIMアプリケーション用としてオープンされた論理チャネルCh1及び正常終了“9000”を示すSWが含まれる。一方、論理チャネルCh1の開設が失敗した場合、チャネル開設処理の結果には、エラーを示すSWが含まれる。
次いで、無線通信モデムMは、SIMカードCからのレスポンスAPDUを受信すると、当該レスポンスAPDUを含むリザルトコードを生成し(ステップS8)、当該生成されたリザルトコードをモデムドライバへ送信する(ステップS9)。
次いで、モデムドライバは、無線通信モデムMからのリザルトコードを受信すると、当該リザルトコードからレスポンスAPDUを抽出し、当該抽出されたレスポンスAPDUに含まれるSWに基づいてチャネル開設が成功したか否かを判定する(ステップS10)。
そして、モデムドライバは、チャネル開設が成功したと判定した場合(ステップS10:YES)、SIMアプリケーション用としてオープンされた論理チャネルCh1(つまり、SIMアプリケーションに対して割り当てられた論理チャネルCh1)を記憶(保存)し(ステップS11)、SIMカードCへの接続成功を示すレスポンスAPDUをPC/SCへ送信する(ステップS12)。これにより、PCアプリケーションは、SIMカードCへの接続成功を認識する。
一方、モデムドライバは、チャネル開設が成功しないと判定した場合(ステップS10:NO)、SIMカードCへの接続失敗を示すレスポンスAPDUをPC/SCへ送信する(ステップS13)。これにより、PCアプリケーションは、SIMカードCへの接続失敗を認識する。
(2.2.SIMカードCのリセット要求発生時の動作)
次に、図4を参照して、SIMアプリケーション用として論理チャネルCh1がオープンされた後にSIMカードCのリセット要求が発生したときのモバイルPCにおける動作について説明する。図4は、SIMカードCのリセット要求が発生したときのPCアプリケーション、PC/SC、モデムドライバ、無線通信モデムM、及びSIMカードCにおけるトランザクションの一例を示すシーケンス図である。
次に、図4を参照して、SIMアプリケーション用として論理チャネルCh1がオープンされた後にSIMカードCのリセット要求が発生したときのモバイルPCにおける動作について説明する。図4は、SIMカードCのリセット要求が発生したときのPCアプリケーション、PC/SC、モデムドライバ、無線通信モデムM、及びSIMカードCにおけるトランザクションの一例を示すシーケンス図である。
図4に示すように、PCアプリケーション(PCアプリ)により呼び出されたPC/SCは、SIMカードCのリセット要求をモデムドライバへ送信する(ステップS21)。
次いで、モデムドライバは、PC/SCからのリセット要求を受信すると、予め用意されたチャネルクローズコマンド(例えば、MANAGE CHANNELコマンド(CLOSE))をATコマンドに変換する(ステップS22)。例えば、チャネルクローズコマンドが“0070800100”であるとすると、ATコマンドは、“AT+CSIM=“10,0070800100”で表される。
なお、モデムドライバは、事前に生成された“AT+CSIM=“10,0070800100”を保持していてもよい。ここで、コマンドAPDU“0070800100”におけるINS“70”はMANAGE CHANNELコマンドであることを示し、P1“80”はチャネルch0(0番)以外のチャネル(P2で指定されるチャネル)をクローズさせることを示し、P2“01”はチャネルch1(1番)をクローズさせることを示す。
次いで、モデムドライバは、ステップS22で変換されたATコマンド“AT+CSIM=10, 0070800100”を無線通信モデムMへ送信する(ステップS23)。
次いで、無線通信モデムMは、モデムドライバからのATコマンド“AT+CSIM=10,0070800100”を受信すると、当該ATコマンドからコマンドAPDU“0070800100”を抽出し(ステップS24)、当該抽出されたコマンドAPDU“0070800100”をSIMカードCへ送信する(ステップS25)。
次いで、SIMカードCにおけるOSは、無線通信モデムMからのコマンドAPDU“0070800100”を受信すると、当該コマンドAPDUに応じて、SIMアプリケーションに対して割り当てられている論理チャネルCh1をクローズ(閉鎖)するチャネル閉鎖処理を行う(ステップS26)。
次いで、SIMカードCにおけるOSは、チャネル閉鎖処理の結果を示すレスポンスAPDUを無線通信モデムMへ返信する(ステップS27)。なお、ここでは、論理チャネルCh1は正常にクローズされたものとする。
次いで、無線通信モデムMは、SIMカードCからのレスポンスAPDUを受信すると、当該レスポンスAPDUを含むリザルトコードを生成し(ステップS28)、当該生成されたリザルトコードをモデムドライバへ送信する(ステップS29)。
次いで、モデムドライバは、無線通信モデムMからのリザルトコードを受信すると、予め用意されたチャネルオープンコマンド(例えば、MANAGE CHANNELコマンド(OPEN))をATコマンドに変換する(ステップS30)。なお、ステップS30の処理は上述したステップS2の処理と同様である。
次いで、モデムドライバは、ステップS30で変換されたATコマンドを無線通信モデムMへ送信する(ステップS31)。なお、ステップS31の処理は上述したステップS3の処理と同様である。
次いで、無線通信モデムMは、モデムドライバからのATコマンドを受信すると、当該ATコマンドからコマンドAPDUを抽出し(ステップS32)、当該抽出されたコマンドAPDUをSIMカードCへ送信する(ステップS33)。なお、ステップS32及びS33の処理は上述したステップS4及びS5の処理と同様である。
次いで、SIMカードCにおけるOSは、無線通信モデムMからのコマンドAPDUを受信すると、当該コマンドAPDUに応じて、無線通信用アプリケーションに対して割り当てられている論理チャネルCh0以外の論理チャネルCh1をオープンしてSIMアプリケーションに割り当てるチャネル開設処理を行う(ステップS34)。なお、ステップS34の処理は上述したステップS6の処理と同様である。
次いで、SIMカードCにおけるOSは、チャンル割当処理の結果を示すレスポンスAPDUを無線通信モデムMへ返信する(ステップS35)。なお、ステップS35の処理は上述したステップS7の処理と同様である。
次いで、無線通信モデムMは、SIMカードCからのレスポンスAPDUを受信すると、当該レスポンスAPDUを含むリザルトコードを生成し(ステップS36)、当該生成されたリザルトコードをモデムドライバへ送信する(ステップS37)。なお、ステップS36及びS37の処理は上述したステップS8及びS9の処理と同様である。
次いで、モデムドライバは、無線通信モデムMからのリザルトコードを受信すると、当該リザルトコードからレスポンスAPDUを抽出し、当該抽出されたレスポンスAPDUに含まれるSWに基づいてチャネルリセットが成功したか否かを判定する(ステップS38)。
そして、モデムドライバは、チャネルリセットが成功したと判定した場合(ステップS38:YES)、SIMアプリケーションに対して改めて割り当てられた論理チャネルCh1を記憶(保存)し(ステップS39)、SIMカードCのリセット成功を示すレスポンスAPDUをPC/SCへ送信する(ステップS40)。これにより、PCアプリケーションは、SIMカードCのリセット成功を認識する。
一方、モデムドライバは、チャネルリセットが成功しないと判定した場合(ステップS38:NO)、SIMカードCのリセット失敗を示すレスポンスAPDUをPC/SCへ送信する(ステップS41)。これにより、PCアプリケーションは、SIMカードCのリセット失敗を認識する。
(2.3.SIMアプリケーションに対するコマンド送信要求発生時の動作)
次に、図5を参照して、SIMアプリケーション用として論理チャネルCh1がオープンされた後にSIMアプリケーションに対するコマンド送信要求が発生したときのモバイルPCにおける動作について説明する。図5は、SIMアプリケーションに対するコマンド送信要求が発生したときのPCアプリケーション、PC/SC、モデムドライバ、無線通信モデムM、及びSIMカードCにおけるトランザクションの一例を示すシーケンス図である。
次に、図5を参照して、SIMアプリケーション用として論理チャネルCh1がオープンされた後にSIMアプリケーションに対するコマンド送信要求が発生したときのモバイルPCにおける動作について説明する。図5は、SIMアプリケーションに対するコマンド送信要求が発生したときのPCアプリケーション、PC/SC、モデムドライバ、無線通信モデムM、及びSIMカードCにおけるトランザクションの一例を示すシーケンス図である。
図5に示すように、PCアプリケーション(PCアプリ)により呼び出されたPC/SCは、所定のコマンドAPDUの送信要求をモデムドライバへ送信する(ステップS51)。所定のコマンドAPDUは、以下、SELECTコマンド“00A40400”であるものとする(あくまでも一例)。
次いで、モデムドライバは、PC/SCからのコマンドAPDU“00A40400”の送信要求を受信すると、当該コマンドAPDU“00A40400”におけるCLAに、上述したように保存された論理チャネルCh1を設定(CLA“00”(デフォルト設定)を“01”に変更)する(ステップS52)。
次いで、モデムドライバは、ステップS52で論理チャネルCh1が設定されたコマンドAPDU“01A40400”をATコマンド“AT+CSIM=08,01A40400”に変換(つまり、コマンドAPDUを含むATコマンドを生成)する(ステップS53)。
次いで、モデムドライバは、ステップS53で変換されたATコマンド“AT+CSIM=08, 01A40400”を無線通信モデムMへ送信する(ステップS54)。
次いで、無線通信モデムMは、モデムドライバからのATコマンド“AT+CSIM=08,01A40400”を受信すると、当該ATコマンドからコマンドAPDU“01A40400”を抽出し(ステップS55)、当該抽出されたコマンドAPDU“01A40400”をSIMカードCへ送信する(ステップS56)。
次いで、SIMカードCにおけるOSは、無線通信モデムMからのコマンドAPDU“01A40400”を受信すると、当該コマンドAPDUのCLAにしたがって論理チャネルCh1に割り当てられたSIMアプリケーション(SIMアプリ)へコマンドAPDU“01A40400”を伝送する(ステップS57)。
次いで、SIMアプリケーションは、コマンドAPDU“01A40400”を受信すると、コマンドAPDU“01A40400”に応じた処理(例えば、ファイル選択)を実行し(ステップS58)、当該処理の結果を示すレスポンスAPDU(例えば、“9000”)を無線通信モデムMへ送信する(ステップS59)。なお、このレスポンスAPDUは、OSを介して無線通信モデムMへ送信されてもよい。
次いで、無線通信モデムMは、SIMカードCからのレスポンスAPDUを受信すると、当該レスポンスAPDUを含むリザルトコードを生成し(ステップS60)、当該生成されたリザルトコードをモデムドライバへ送信する(ステップS61)。
次いで、モデムドライバは、無線通信モデムMからのリザルトコードを受信すると、当該リザルトコードからレスポンスAPDUを抽出(換言すると、リザルトコードをレスポンスAPDUに変換)し、当該抽出されたレスポンスAPDUをPC/SCへ送信する(ステップS62)。これにより、PCアプリケーションは、上記コマンドの処理結果を認識する。
以上説明したように、上記実施形態によれば、モデムドライバは、PCアプリケーションからのSIMカードCへの接続要求に応じて、SIMカードCにおける複数の論理チャネルのうち無線通信用アプリケーションに対して割り当てられている論理チャネルCh0以外の論理チャネルをオープンさせるためのチャネルオープンコマンドを含むATコマンドを無線通信モデムMへ送信し、当該ATコマンドに含まれるチャネルオープンコマンドが無線通信モデムMからSIMカードCへ送信されることによりSIMカードCにおいてSIMアプリケーション用としてオープンされた論理チャネルを示しSIMカードCにより返信されたレスポンスAPDUを無線通信モデムMから受信し、当該受信されたレスポンスAPDUが示す論理チャネルを記憶するように構成したので、SIMカードCにより管理されるどの論理チャネルにコマンドAPDUを配信すればよいかが明確となり、無線通信モデムMによる無線通信を妨げることなく、PCアプリケーションからSIMカードCを利用することができる。
また、モデムドライバは、PCアプリケーションからのSIMカードCのリセット要求に応じて、SIMアプリケーション用としてオープンされた論理チャネルをクローズさせるチャネルクローズコマンドを含むATコマンドを無線通信モデムMへ送信し、ATコマンドに含まれるクローズオープンコマンドが無線通信モデムMからSIMカードCへ送信されることによりSIMカードCから返信されたレスポンスAPDUを無線通信モデムMから受信し、当該レスポンスAPDUが受信されたことに応じて、チャネルオープンコマンドを含むATコマンドを無線通信モデムMへ送信するように構成したので、通常のカードリセット要求によりSIMカードCがリセットされることなく、PCアプリケーションからSIMカードCを利用することができる。つまり、SIMアプリケーション用の論理チャネルの開設/閉鎖を制御するようにしたので、無線通信モデムMによる無線通信を妨げることなく、PCアプリケーションからSIMカードCを利用することができる。
1 演算処理部
2 記憶部
M 無線通信モデム
C SIMカード
2 記憶部
M 無線通信モデム
C SIMカード
Claims (6)
- 複数の論理チャネルを管理する機能を有する電子情報記憶媒体であって、外部機器との無線通信のための第1処理を行う第1アプリケーションと、前記第1処理とは異なる第2処理を行う第2アプリケーションとが少なくともインストールされる前記電子情報記憶媒体が接続される無線通信モデムを搭載し、且つ、前記第2アプリケーションとの間でトランザクションを行う第3アプリケーションがインストールされるコンピュータにおいて前記トランザクションを仲介するためのドライバプログラムであって、
前記複数の論理チャネルのうち前記第1アプリケーションに対して割り当てられている論理チャネル以外の論理チャネルをオープンさせるためのチャネルオープンコマンドを含み、前記無線通信モデムが解釈可能なモデム制御用コマンドを前記無線通信モデムへ送信する第1送信手段と、
前記モデム制御用コマンドに含まれる前記チャネルオープンコマンドが前記無線通信モデムから前記電子情報記憶媒体へ送信されることにより前記電子情報記憶媒体において前記第2アプリケーション用としてオープンされた前記論理チャネルを示し前記電子情報記憶媒体により返信されたレスポンスを前記無線通信モデムから受信する第1受信手段と、
前記第1受信手段により受信されたレスポンスが示す前記論理チャネルを記憶する記憶手段として前記コンピュータを機能させることを特徴とするドライバプログラム。 - 前記第2アプリケーション用として前記論理チャネルがオープンされた後、前記第3アプリケーションからの所定のコマンドの送信要求に応じて、当該所定のコマンドのヘッダにおける論理チャネル指定部に、前記記憶された論理チャネルを設定する設定手段と、
前記設定手段により論理チャネルが設定された前記所定のコマンドを含み、前記無線通信モデムが解釈可能なモデム制御用コマンドを前記無線通信モデムへ送信する第2送信手段と、
前記モデム制御用コマンドに含まれる前記所定のコマンドが前記無線通信モデムから前記電子情報記憶媒体へ送信されることにより前記電子情報記憶媒体から返信されたレスポンスを前記無線通信モデムから受信する第2受信手段と、
前記第2受信手段により受信されたレスポンスを前記第3アプリケーションに渡す応答手段として前記コンピュータを更に機能させることを特徴とする請求項1に記載のドライバプログラム。 - 前記第1送信手段は、前記第3アプリケーションからの、前記電子情報記憶媒体への接続要求に応じて、前記チャネルオープンコマンドを含み、前記無線通信モデムが解釈可能なモデム制御用コマンドを前記無線通信モデムへ送信することを特徴とする請求項1または2に記載のドライバプログラム。
- 前記第3アプリケーションからの、前記電子情報記憶媒体のリセット要求に応じて、前記第2アプリケーション用としてオープンされた前記論理チャネルをクローズさせるチャネルクローズコマンドを含み、前記無線通信モデムが解釈可能なモデム制御用コマンドを前記無線通信モデムへ送信する第3送信手段と、
前記モデム制御用コマンドに含まれる前記チャネルクローズコマンドが前記無線通信モデムから前記電子情報記憶媒体へ送信されることにより前記電子情報記憶媒体から返信されたレスポンスを前記無線通信モデムから受信する第3受信手段として前記コンピュータをさらに機能させ、
前記第3受信手段により前記レスポンスが受信されたことに応じて、前記第1送信手段は、前記チャネルオープンコマンドを含み、前記無線通信モデムが解釈可能なモデム制御用コマンドを前記無線通信モデムへ送信することを特徴とする請求項1または2に記載のドライバプログラム。 - 前記モデム制御用コマンドは、ATコマンドであることを特徴とする請求項1乃至4の何れか一項に記載のドライバプログラム。
- 複数の論理チャネルを管理する機能を有する電子情報記憶媒体であって、外部機器との無線通信のための第1処理を行う第1アプリケーションと、前記第1処理とは異なる第2処理を行う第2アプリケーションとが少なくともインストールされる前記電子情報記憶媒体が接続される無線通信モデムと、前記第2アプリケーションとの間でトランザクションを行う第3アプリケーションがインストールされるコンピュータとにおいて前記トランザクションを仲介するトランザクション仲介方法であって、
前記複数の論理チャネルのうち前記第1アプリケーションに対して割り当てられている論理チャネル以外の論理チャネルをオープンさせるためのチャネルオープンコマンドを含み、前記無線通信モデムが解釈可能なモデム制御用コマンドを前記コンピュータから前記無線通信モデムへ送信するステップと、
前記モデム制御用コマンドに含まれる前記チャネルオープンコマンドを前記無線通信モデムから前記電子情報記憶媒体へ送信するステップと、
前記チャネルオープンコマンドに応じて前記電子情報記憶媒体において前記第2アプリケーション用としてオープンされた前記論理チャネルを示すレスポンスを前記電子情報記憶媒体から前記無線通信モデムへ送信するステップと、
前記論理チャネルを示すレスポンスを前記無線通信モデムから前記コンピュータへ送信するステップと、
前記コンピュータが受信した前記レスポンスが示す前記論理チャネルを記憶するステップと、
を含むことを特徴とするトランザクション仲介方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2020157143A JP2022050940A (ja) | 2020-09-18 | 2020-09-18 | ドライバプログラム、及びトランザクション仲介方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2020157143A JP2022050940A (ja) | 2020-09-18 | 2020-09-18 | ドライバプログラム、及びトランザクション仲介方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2022050940A true JP2022050940A (ja) | 2022-03-31 |
Family
ID=80854743
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2020157143A Pending JP2022050940A (ja) | 2020-09-18 | 2020-09-18 | ドライバプログラム、及びトランザクション仲介方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2022050940A (ja) |
-
2020
- 2020-09-18 JP JP2020157143A patent/JP2022050940A/ja active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10833715B2 (en) | Embedded subscriber identity module including communication profiles | |
EP3439342B1 (en) | Method for changing mno in embedded sim on basis of special privilege, and embedded sim and recording medium therefor | |
US8814051B2 (en) | Personal token having enhanced communication abilities for a hosted application | |
US8761832B2 (en) | Method and apparatus for controlling the UICC application file | |
EP2182439A1 (en) | Method of managing data sent over the air to an applet having a restricted interface | |
EP3023904B1 (en) | Implicit File creation in APDU scripts | |
US10820189B2 (en) | Installation of a profile in an embedded subscriber identity module | |
EP2377291B1 (en) | Portable mobile communication device and method of controlling near field communication | |
WO2004029815A1 (ja) | 通信システム、中継装置及び通信制御方法 | |
US9055605B2 (en) | Method for establishing a secure logical connection between an integrated circuit card and a memory card through a terminal equipment | |
US8668135B2 (en) | Automatic configuration of a terminal | |
US6760605B1 (en) | Chip card reader telecommunication terminal | |
KR100901871B1 (ko) | 스마트 카드를 이용한 프로그램 로딩 방법 및 그 장치 | |
JP2022050940A (ja) | ドライバプログラム、及びトランザクション仲介方法 | |
US8825780B2 (en) | Method of managing an application embedded in a secured electronic token | |
CN112188476B (zh) | 通信方法、通信装置、移动终端和存储介质 | |
RU2703223C2 (ru) | Способ управления рабочими циклами коммуникационных профилей | |
EP2159666A1 (en) | Surface-mounted device with multi-layered SIM cards | |
EP1720366A2 (en) | System of remote access of mobile equipment to mobile telephony services | |
EP2682861B1 (en) | Program calling method, and mobile device | |
TWI787035B (zh) | 網路服務存取方法及其相關行動終端裝置 | |
US8000275B2 (en) | Method for enabling an application recorded in a radiocommunication terminal to access functions of the terminal and terminal implementing said method | |
US11809898B2 (en) | Process implemented in an integrated circuit module, corresponding integrated circuit module, system comprising such a module and corresponding computer program | |
CN109547999B (zh) | 一种管理集成电路卡的方法、相应的卡和装置 | |
KR102327524B1 (ko) | 몇 개의 소프트웨어 컨테이너들을 포함하는 변조 방지 디바이스를 관리하는 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20230727 |