JP7287079B2 - CONVERSION PROGRAM, CONVERSION APPARATUS AND CONVERSION METHOD - Google Patents
CONVERSION PROGRAM, CONVERSION APPARATUS AND CONVERSION METHOD Download PDFInfo
- Publication number
- JP7287079B2 JP7287079B2 JP2019075535A JP2019075535A JP7287079B2 JP 7287079 B2 JP7287079 B2 JP 7287079B2 JP 2019075535 A JP2019075535 A JP 2019075535A JP 2019075535 A JP2019075535 A JP 2019075535A JP 7287079 B2 JP7287079 B2 JP 7287079B2
- Authority
- JP
- Japan
- Prior art keywords
- apdu
- command
- footer
- header
- application
- 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.)
- Active
Links
Images
Description
情報処理端末と通信モジュール間のデータ変換に関するプログラム等の技術分野に関する。 The present invention relates to technical fields such as programs related to data conversion between information processing terminals and communication modules.
集積回路(IC(integrated circuit))を備えるICカードは、アプリケーションプログラム(「アプリケーション」)を実行することにより、様々なサービスをユーザに提供する。 An IC card, which includes an integrated circuit (IC), provides various services to users by executing application programs (“applications”).
一方で、インターネットに接続されたパーソナルコンピュータのウェブブラウザを用いて、電子メールや動画配信など様々なサービスをユーザは享受することができるようになっている。つまり、ユーザはインターネットに接続され、且つ、ウェブブラウザがインストールされたコンピュータであれば、任意のコンピュータからこれらのサービスを利用することができる。 On the other hand, users can enjoy various services such as e-mail and video distribution using a web browser of a personal computer connected to the Internet. In other words, users can use these services from any computer that is connected to the Internet and has a web browser installed.
その一方でウェブブラウザは、プライベートアカウントが不正に使用されたり、個人情報やプライベートデータが盗まれたりするなどの可能性があり、セキュリティ対策を施されたコンピュータにおいて利用することが重要である。また、ユーザの証明書を安全に記憶することができ、ログインプロセスに不可欠なコンポーネントとして使用されて、二要素認証を行うことができるICカードを利用することにより、セキュリティを強化することができる。そうした中、特許文献1には、ウェブブラウザでサービスを享受する際に、ICカードによるユーザ認証等を行うための技術が開示されている。
On the other hand, it is important to use a web browser on a computer with security measures, as there is a possibility that private accounts may be used illegally or personal information and private data may be stolen. Security can also be enhanced through the use of IC cards that can securely store user credentials and can be used as an integral component of the login process to provide two-factor authentication. Under such circumstances,
ところで、ICカードは一般的に情報処理端末に接続されたリーダ・ライタ(R/W(Reader/Writer))と通信することにより、サービスを提供する。このときの情報処理端末のアプリケーションとICカード間の通信方式について図1(A)を用いて説明する。情報処理端末にインストールされているアプリケーションは、ICカードとのコマンド・レスポンスのやりとり(「トランザクション」)を介してユーザにサービスを提供する。PC/SC(Personal Computer/Smart Card)は、Windows(登録商標)環境でICカードを利用するための標準API(Application Programming Interface)である。R/Wは、ICカードへのデータの読み出し及び書き込みを行う。なお、ICカード内にもアプリケーションがインストールされており、コマンドに応じた処理を実行し、コマンドの送信元にレスポンスを返信する。 By the way, an IC card generally provides services by communicating with a reader/writer (R/W (Reader/Writer)) connected to an information processing terminal. A communication method between the application of the information processing terminal and the IC card at this time will be described with reference to FIG. An application installed in the information processing terminal provides services to the user through command/response exchange (“transaction”) with the IC card. PC/SC (Personal Computer/Smart Card) is a standard API (Application Programming Interface) for using an IC card in a Windows (registered trademark) environment. R/W reads and writes data to the IC card. An application is also installed in the IC card, executes processing according to the command, and returns a response to the source of the command.
国際標準規格であるISO/IEC7816が適用されるICカードは、情報処理端末のアプリケーションからコマンドを含むAPDU(Application protocol data unit)であるC-APDU(Command-APDU)を受信し、コマンドに応じた処理をICカード内にインストールされたアプリケーションにより実行する。そして、ICカードは、当該処理の実行結果に応じた2バイトからなるSW(Status Word)を含むAPDUであるR-APDU(Response-APDU)を情報処理端末のアプリケーションへ送信(返信)する。このように情報処理端末のアプリケーションとICカードの間では、コマンドとレスポンスをやりとりするトランザクションによりユーザにサービスを提供する。具体的には、図2(A)に示すように、C-APDUは、情報処理端末のアプリケーションから送信されて、PC/SC及びR/Wを介してICカードに到達する。一方、R-APDUはICカードから送信されて、R/W及びPC/SCを介して情報処理端末のアプリケーションに到達する。 An IC card to which the international standard ISO/IEC7816 is applied receives a C-APDU (Command-APDU), which is an APDU (Application Protocol Data Unit) containing a command from an application of an information processing terminal, and responds to the command. Processing is executed by an application installed in the IC card. Then, the IC card transmits (responses) an R-APDU (Response-APDU), which is an APDU including a 2-byte SW (Status Word) corresponding to the execution result of the process, to the application of the information processing terminal. In this manner, services are provided to the user through transactions in which commands and responses are exchanged between the application of the information processing terminal and the IC card. Specifically, as shown in FIG. 2(A), the C-APDU is transmitted from the application of the information processing terminal and reaches the IC card via the PC/SC and R/W. On the other hand, the R-APDU is transmitted from the IC card and reaches the application of the information processing terminal via the R/W and PC/SC.
その一方で、ICカードは通信事業者が加入者を特定するためのSIM(Subscriber Identity Module)としても利用されている。そのSIMは、IoT機器がIoTサーバと通信する時に、通信事業者及びIoTサーバがIoT機器を認証するために利用されている。ここで、IoT機器のアプリケーションとSIM間の通信方式について図1(B)を用いて説明する。IoT機器にインストールされているアプリケーションは、SIMとのコマンド・レスポンスのやりとり(トランザクション)を実行する。LTE通信モジュール(LTEモデム)は、SIMと通信を行ったり、通信事業者(図示しない)との通信に関する処理を行ったりする。なお、SIMにもアプリケーションがインストールされており、アプリケーションによりコマンドに応じた処理を実行し、コマンドの送信元にレスポンスを返信する。 On the other hand, IC cards are also used as SIMs (Subscriber Identity Modules) for communication carriers to identify subscribers. The SIM is used by carriers and IoT servers to authenticate IoT devices when they communicate with IoT servers. Here, the communication method between the application of the IoT device and the SIM will be described with reference to FIG. 1(B). An application installed in the IoT device executes command/response exchanges (transactions) with the SIM. The LTE communication module (LTE modem) communicates with the SIM and performs processing related to communication with a telecommunications carrier (not shown). An application is also installed in the SIM, and the application executes processing according to the command and returns a response to the source of the command.
ICカードの一種であるSIMは、ISO/IEC7816が適用されるため、IoT機器(アプリケーション)からC-APDUを受信し、コマンドに応じた処理を実行し、R-APDUをIoT機器(アプリケーション)へ送信(返信)する。但し、IoT機器のアプリケーションがLTE通信モジュールとC-APDU及びR-APDUを送受信する際には、ATコマンドの形式に従う必要がある(LTE通信モジュールのように、ATコマンドに従って通信する必要がある機器を「ATコマンド機器」という場合がある)。具体的には、図2(B)に示すように、IoT機器にインストールされたアプリケーションはATコマンドのヘッダ及びフッタを付加したC-APDUをLTE通信モジュールに送信する。これを受信したLTE通信モジュールはATコマンドのヘッダ及びフッタを除いたC-APDUをSIMへ送信する。一方、SIMはコマンドに応じた処理を実行し、R-APDUをLTE通信モジュールに送信する。これを受信したLTE通信モジュールはATコマンドのヘッダ及びフッタを付加してR-APDUをアプリケーションへ送信する。つまり、アプリケーションとLTE通信モジュール間ではATコマンドのヘッダ及びフッタが付加されたデータが送受信される。 SIM, which is a type of IC card, is subject to ISO/IEC7816, so it receives C-APDU from the IoT device (application), executes processing according to the command, and sends R-APDU to the IoT device (application). Send (reply). However, when an IoT device application transmits/receives C-APDUs and R-APDUs to/from an LTE communication module, it is necessary to follow the format of AT commands (Devices that need to communicate according to AT commands, such as LTE communication is sometimes referred to as an "AT command device"). Specifically, as shown in FIG. 2B, the application installed in the IoT device transmits a C-APDU to which an AT command header and footer are added to the LTE communication module. The LTE communication module that has received this transmits the C-APDU, excluding the AT command header and footer, to the SIM. On the other hand, the SIM executes processing according to the command and transmits R-APDU to the LTE communication module. The LTE communication module that has received this adds an AT command header and footer and transmits the R-APDU to the application. That is, data to which the AT command header and footer are added is transmitted and received between the application and the LTE communication module.
すなわち、IoT機器のアプリケーションからみてC-APDUの送信先がPC/SCの場合にはATコマンドのヘッダ及びフッタを付加せずにそのまま送信することとなる(図2(A))一方、送信先がATコマンド機器の場合にはATコマンドのヘッダ及びフッタを付加して送信することとなる(図2(B))。同様に、IoT機器のアプリケーションからみてR-APDUを受信する際、送信元がPC/SCの場合にはATコマンドのヘッダ及びフッタを削除せずにすむ一方、送信元がATコマンド機器の場合にはATコマンドのヘッダ及びフッタを削除して処理することとなる。よって、アプリケーションの開発者は、APDUの授受を行う直接的な相手がPC/SCであるか、ATコマンド機器であるかに応じてアプリケーションを開発する必要があり、大きな負担となるという問題がある。 That is, when the destination of the C-APDU is the PC/SC from the viewpoint of the application of the IoT device, the AT command header and footer are not added and the C-APDU is transmitted as it is (Fig. 2(A)). If is an AT command device, the AT command header and footer are added and transmitted (FIG. 2(B)). Similarly, when receiving an R-APDU from the perspective of an IoT device application, if the sender is a PC/SC, the AT command header and footer need not be deleted, while if the sender is an AT command device, deletes the AT command header and footer. Therefore, an application developer must develop an application depending on whether the direct partner for sending and receiving APDUs is a PC/SC or an AT command device, which poses a problem of being a heavy burden. .
そこで、本発明は、アプリケーションがATコマンド機器に接続されたICカードとAPDUを通信する場合であっても、アプリケーションがAPDUの授受を行う直接的な相手をPC/SCとすることにより、アプリケーションの開発者がATコマンドを意識することなくアプリケーションを開発することができる変換プログラム等を提供することを目的とする。 Therefore, in the present invention, even when an application communicates APDU with an IC card connected to an AT command device, the direct partner with which the application exchanges APDU is the PC/SC. It is an object of the present invention to provide a conversion program or the like that enables a developer to develop an application without being conscious of AT commands.
上記課題を解決するために、請求項1に記載の発明は、コンピュータを、C-APDUの入力を受け付ける第1受付手段、前記第1受付手段が受け付けたC-APDUにATコマンドのヘッダ及びフッタを付加する付加手段、前記ATコマンドのヘッダ及びフッタを付加したC-APDUを出力する第1出力手段、として機能させることを特徴とする。
In order to solve the above-mentioned problems, the invention according to
請求項2に記載の発明は、請求項1に記載の変換プログラムであって、前記コンピュータを、ATコマンドのヘッダ及びフッタが付加されたR-APDUの入力を受け付ける第2受付手段、前記第2受付手段が受け付けた前記ATコマンドのヘッダ及びフッタが付加されたR-APDUからATコマンドのヘッダ及びフッタを削除する削除手段、前記ATコマンドのヘッダ及びフッタを削除したR-APDUを出力する第2出力手段、として更に機能させることを特徴とする。
The invention according to
請求項3に記載の発明は、請求項1に記載の変換プログラムであって、前記付加手段は、前記第1受付手段が受け付けたC-APDUの送信先が通信モジュールである場合に、当該C-APDUにATコマンドのヘッダ及びフッタを付加し、前記第1出力手段は、前記ATコマンドのヘッダ及びフッタを付加したC-APDUを前記通信モジュールに出力することを特徴とする。
The invention according to claim 3 is the conversion program according to
請求項4に記載の発明は、請求項2に記載の変換プログラムであって、前記削除手段は、前記第2受付手段が受け付けた前記ATコマンドのヘッダ及びフッタが付加されたR-APDUの送信元が通信モジュールである場合に、当該R-APDUからATコマンドのヘッダ及びフッタを削除し、前記第2出力手段は、前記ATコマンドのヘッダ及びフッタを削除したR-APDUを、前記C-APDUの入力元に出力することを特徴とする。
The invention according to claim 4 is the conversion program according to
請求項5に記載の発明は、請求項4に記載の変換プログラムであって、前記コンピュータを、前記第2受付手段が受け付けたR-APDUに含まれるSWの1バイト目が「0x61」である場合に、当該SWとともに受け付けたデータを保持する保持手段、前記第2受付手段が受け付けたR-APDUに含まれるSWの1バイト目が「0x61」である場合に、[GET RESPONSE]コマンドを含むC-APDUにATコマンドのヘッダ及びフッタを付加して、前記通信モジュールに出力する第3出力手段、として更に機能させ、前記[GET RESPONSE]コマンドの応答として受け付けた前記ATコマンドのヘッダ及びフッタが付加されたR-APDUに含まれるSWが「0x9000」である場合に、前記削除手段は、当該ATコマンドのヘッダ及びフッタが付加されたR-APDUから当該ATコマンドのヘッダ及びフッタを削除し、前記第2出力手段は、当該ATコマンドのヘッダ及びフッタが削除されたR-APDUに前記保持手段が保持したデータを付加した上で、前記第1受付手段の受け付けたC-APDUの送信元に出力することを特徴とする。 The invention according to claim 5 is the conversion program according to claim 4, wherein the first byte of SW included in the R-APDU received by the second receiving means is "0x61". holding means for holding data received together with the SW, and the [GET RESPONSE] command when the first byte of SW included in the R-APDU received by the second receiving means is "0x61" adding an AT command header and footer to the C-APDU and further functioning as third output means for outputting to the communication module, wherein the AT command header and footer received as a response to the [GET RESPONSE] command are If the SW included in the added R-APDU is "0x9000", the deletion means deletes the AT command header and footer from the R-APDU to which the AT command header and footer are added, The second output means adds the data held by the holding means to the R-APDU from which the header and footer of the AT command have been deleted, and sends the data to the transmission source of the C-APDU accepted by the first accepting means. It is characterized by outputting.
請求項6に記載の発明は、C-APDUの入力を受け付ける第1受付手段と、前記第1受付手段が受け付けたC-APDUにATコマンドのヘッダ及びフッタを付加する付加手段と、前記ATコマンドのヘッダ及びフッタを付加したC-APDUを出力する第1出力手段と、を備えることを特徴とする。 According to a sixth aspect of the present invention, there is provided: first receiving means for receiving an input of a C-APDU; adding means for adding an AT command header and footer to the C-APDU received by the first receiving means; and a first output means for outputting a C-APDU to which the header and footer of the header and footer are added.
請求項7に記載の発明は、変換装置による変換方法であって、C-APDUの入力を受け付ける第1受付工程と、前記第1受付工程により受け付けたC-APDUにATコマンドのヘッダ及びフッタを付加する付加工程と、前記ATコマンドのヘッダ及びフッタを付加したC-APDUを出力する第1出力工程と、を含むことを特徴とする。 According to a seventh aspect of the present invention, there is provided a conversion method using a conversion device, comprising: a first receiving step of receiving an input of a C-APDU; and a first outputting step of outputting a C-APDU to which the AT command header and footer are added.
本発明によれば、C-APDUを入力することによりATコマンドのヘッダ及びフッタが付加されて出力されることから、PC/SCとATコマンド機器の間で動作させることにより、PC/SCが出力したC-APDUをATコマンド機器に受信させることができる。したがって、アプリケーションがATコマンド機器に接続されたICカードとAPDUを通信する場合であっても、アプリケーションがAPDUの授受を行う直接的な相手をPC/SCとすることができ、アプリケーションの開発者はATコマンドを意識することなくアプリケーションを開発することができる。 According to the present invention, by inputting a C-APDU, the AT command header and footer are added and output. The AT command device can receive the C-APDU received by the AT command device. Therefore, even when an application communicates APDU with an IC card connected to an AT command device, the direct partner with which the application exchanges APDU can be the PC/SC. Applications can be developed without being conscious of AT commands.
まず、本発明の実施形態について説明する。なお、本実施形態は、本願発明をIoT機器1におけるマイコン11における変換プログラムに適用した場合の実施例である。
First, an embodiment of the present invention will be described. The present embodiment is an example in which the present invention is applied to a conversion program in the
[1.IoTシステムSの構成]
図3を用いて、IoT通信システムSの構成及び機能概要を説明する。図3は、本実施例に係るIoT通信システムSの概要構成例を示すブロック図である。IoT通信システムSは、IoT機器1とIoTサーバ2を含んで構成され、IoT機器1とIoTサーバ2は、ネットワークNWを介して相互にデータの送受信が可能になっている。なお、ネットワークNWは、例えば、LAN(Local Area Network)、インターネット、移動体通信網(基地局等を含む)、及びゲートウェイ等により構築されている。
[1. Configuration of IoT system S]
The configuration and functional overview of the IoT communication system S will be described with reference to FIG. FIG. 3 is a block diagram showing a schematic configuration example of the IoT communication system S according to this embodiment. The IoT communication system S includes an
IoT機器1は、温度センサー(図示しない)を備えており、周囲の温度を測定して得た温度データを記録する。IoTサーバ2は、IoT機器1から送信された温度データを管理したり、IoT機器1に記憶されているプログラムや情報等の更新を行ったりする。なお、IoT機器1とIoTサーバ2間で送受信されるデータは、セキュリティ確保のため、それぞれが管理する鍵データにより暗号化された上で通信される。
The
[2.IoT機器1の構成]
IoT機器1は、IoT機器1の通信に関する処理を行うLTE通信モジュール10(「通信モジュール」の一例)と、IoT機器1全体を制御するマイコン11と、LTE通信モジュール10に接続されたSIM12とを含んで構成される。
[2. Configuration of IoT device 1]
The
LTE通信モジュール10は、SIM12と通信を行ったり、通信事業者との通信に関する処理を行ったりする。LTE通信モジュール10は、ATコマンドに従ってデータの送受信を行う。つまり、LTE通信モジュール10にC-APDU等のデータを送信する場合にはATコマンドのヘッダ及びフッタを付加する必要がある。一方、LTE通信モジュール10から送信されるR-APDU等のデータを受信する場合にはATコマンドのヘッダ及びフッタを削除してデータを取り扱う必要がある。
The
SIM12は、通信事業者がSIM12を認証するために使用する契約者情報(IMSI等)、IoTサーバ2とIoT機器1間で通信される通信データを暗号/復号するための鍵を記憶する。また、SIM12は、IoTサーバ2がIoT機器1を認証するために使用する情報やデータを暗号/復号するための鍵を記憶する。なお、通信事業者やIoTサーバ2が認証を行う場合におけるSIM12とのAPDUによるコマンド・レスポンスは、IoT機器1のマイコン11のアプリケーションが担う。
The
[3.マイコン11の構成]
図4は、本実施例に係るマイコン11の概要構成例を示すブロック図である。図4に示すように、マイコン11は、CPU(Central Processing Unit)111、RAM(Random Access Memory)112、ROM(Read Only Memory)113、I/O部114及び不揮発性メモリ115を含んで構成され、IoT機器1全体を制御する。
[3. Configuration of microcomputer 11]
FIG. 4 is a block diagram showing a schematic configuration example of the
RAM112には、例えばOS(Operating System)や各種アプリケーションが機能する上で一時的に必要となるデータが記憶される。不揮発性メモリ115には、例えばフラッシュメモリ又は「Electrically Erasable Programmable Read-Only Memory」などを適用することができる。ROM113及び不揮発性メモリ115には、OS、各種アプリケーション、後述する変換プログラム等が記憶される。I/O部114は、LTE通信モジュール10との通信インターフェースを担う。
The
[4.変換プログラム]
次に、図5-図7を用いて、マイコン11にインストールされているアプリケーションとSIM12間の通信方式と、変換プログラムについて説明する。図5に示すように、マイコン11にインストールされたアプリケーション301とSIM12間で、PC/SC302、変換プログラム303及びLTE通信モジュール10(「ATコマンド機器」の一例)を介してAPDUの受け渡しが行われる。なお、変換プログラム303は、マイコン11のCPU111により実行されることにより、OS300とLTE通信モジュール10間のデバイスドライバとして機能する。
[4. conversion program]
Next, the communication method between the application installed in the
以下、図6を用いて具体的に説明する。まず、アプリケーション301は、PC/SC302にC-APDUを受け渡す(ステップS1)。次いで、PC/SC302は変換プログラム303にC-APDUを入力する(ステップS2)。変換プログラム303は、C-APDUの入力を受け付けるとATコマンドのヘッダ及びフッタを付加するヘッダ・フッタ付加処理を行い(ステップS3)、ATコマンドのヘッダ及びフッタが付加されたC-APDUをLTE通信モジュール10に出力する(ステップS4)。LTE通信モジュール10は、これを受け取るとATコマンドのヘッダ及びフッタを解釈した上でC-APDUをSIM12に受け渡す(ステップS5)。
A specific description will be given below with reference to FIG. First, the
SIM12にインストールされたアプリケーションは、C-APDUに含まれるコマンドに応じて処理を実行し、レスポンスを含むR-APDUをLTE通信モジュール10に受け渡す(ステップS6)。LTE通信モジュール10は、これを受け取るとR-APDUにATコマンドのヘッダ及びフッタを付加して変換プログラム303に受け渡す(ステップS7)。変換プログラム303はLTE通信モジュール10によりATコマンドのヘッダ及びフッタが付加されたR-APDUの入力を受け付けると、当該ATコマンドのヘッダ及びフッタを削除するヘッダ・フッタ削除処理を行い(ステップS8)、R-APDUをPC/SC302に出力する(ステップS9)。PC/SC302は、変換プログラム303からR-APDUを受け付けるとアプリケーション301に受け渡す(ステップS10)。
The application installed in the
つまり、変換プログラム303は、PC/SC302からC-APDUの入力を受け付けた場合に、C-APDUにATコマンドのヘッダ及びフッタを付加し、LTE通信モジュール10に出力する。また、変換プログラム303は、LTE通信モジュール10からATコマンドのヘッダ及びフッタが付加されたR-APDUの入力を受け付けた場合に、ATコマンドのヘッダ及びフッタを削除して、R-APDUをPC/SC302に出力する。
That is, when the
ここで、図7を用いて、変換プログラム303に基づくマイコン11のCPU111による変換処理について説明する。図7は、マイコン111による変換処理の一例を示すフローチャートである。
Here, conversion processing by the CPU 111 of the
まず、マイコン11のCPU111は、PC/SC302からデータ(例えば、C-APDU)の入力を受け付けたか否かを判定する(ステップS101)。CPU111は、PC/SC302からデータを受け付けたと判定した場合には(ステップS101:YES)、当該受け付けたデータにATコマンドのヘッダ及びフッタを付加して、送信データを生成する(ステップS102)。
First, the CPU 111 of the
具体的には、CPU111は、送信データとしてATコマンド(Generic UICC logical channel access +CGLA)を生成する。例えば、ATコマンド(AT+CGLA)は、
<sessionid>,<length>,<command><CR>
により構成される。CPU111は、<sessionid>に、セッション開始時に送るATコマンド(Open logical channel +CCHO)のレスポンスとして得られる整数値を記述し、<length>に、C-APDUの長さを記述し、<command>に、C-APDUを記述する。<CR>は改行コードである。
Specifically, the CPU 111 generates an AT command (Generic UICC logical channel access +CGLA) as transmission data. For example, the AT command (AT+CGLA) is
<sessionid>,<length>,<command><CR>
Consists of The CPU 111 describes in <sessionid> an integer value obtained as a response to an AT command (Open logical channel +CCHO) sent at the start of a session, in <length> describes the length of the C-APDU, and in <command>. describes the C-APDU. <CR> is a line feed code.
なお、
<sessionid>,<length>,<command><CR>
において、
<command>より前にある
<sessionid>,<length>
がATコマンドのヘッダであり、
<command>より後ろにある
<CR>
がATコマンドのフッタである。
note that,
<sessionid>,<length>,<command><CR>
in
before <command>
<sessionid>,<length>
is the header of the AT command, and
after <command>
<CR>
is the footer of the AT command.
次いで、CPU111は、ステップS102の処理で生成した送信データをLTE通信モジュール10に出力し(ステップS103)、ステップS101の処理に移行する。 Next, the CPU 111 outputs the transmission data generated in the process of step S102 to the LTE communication module 10 (step S103), and proceeds to the process of step S101.
一方、CPU111は、PC/SC302からデータを受け付けていないと判定した場合には(ステップS101:NO)、次いで、LTE通信モジュール10からデータ(例えば、R-APDU)の入力を受け付けたか否かを判定する(ステップS104)。CPU111は、LTE通信モジュール10からデータを受け付けたと判定した場合には(ステップS104:YES)、当該受け付けたデータからATコマンドのヘッダ及びフッタを削除して、送信データを生成する(ステップS105)。
On the other hand, when the CPU 111 determines that data has not been received from the PC/SC 302 (step S101: NO), it then determines whether input of data (for example, R-APDU) has been received from the
例えば、CPU111は、上記ATコマンド(AT+CGLA)に対応するレスポンスとして、
<CR><LF>+CGLA: <length>,<response><CR><LF>
<CR><LF>OK<CR><LF>
を受け付ける。
<length>には、<response>の長さが記述されている。<response>には、R-APDUが記述されている。<LF>は改行コードである。CPU111は、当該レスポンスを受信した場合にはATコマンドのヘッダ及びフッタを削除する。いいかえれば、CPU111は、<response>部分を残して他の部分を削除する。
For example, the CPU 111, as a response corresponding to the AT command (AT+CGLA),
<CR><LF>+CGLA: <length>,<response><CR><LF>
<CR><LF>OK<CR><LF>
accept.
<length> describes the length of <response>. <response> describes the R-APDU. <LF> is a line feed code. The CPU 111 deletes the header and footer of the AT command when receiving the response. In other words, the CPU 111 leaves the <response> portion and deletes the other portions.
なお、
<length>,<response><CR><LF>
<CR><LF>OK<CR><LF>
において、
<response>より前にある
<length>
がATコマンドのヘッダであり、
<response>より後ろにある
<CR><LF>
<CR><LF>OK<CR><LF>
がATコマンドのフッタである。
note that,
<length>,<response><CR><LF>
<CR><LF>OK<CR><LF>
in
before <response>
<length>
is the header of the AT command, and
after <response>
<CR><LF>
<CR><LF>OK<CR><LF>
is the footer of the AT command.
次いで、CPU111は、ステップS105の処理で生成した送信データをPC/SC302に出力し(ステップS106)、ステップS101の処理に移行する。他方、CPU111は、LTE通信モジュール10からデータを受け付けていないと判定した場合には(ステップS104:NO)、ステップS101の処理に移行する。 Next, the CPU 111 outputs the transmission data generated in the process of step S105 to the PC/SC 302 (step S106), and proceeds to the process of step S101. On the other hand, when the CPU 111 determines that data has not been received from the LTE communication module 10 (step S104: NO), the process proceeds to step S101.
なお、ステップS104を削除するとともに、ステップS101の処理において、「入力を受け付けたデータにATコマンドのヘッダ及びフッタが付加されているか否か」について判定することとし、「YES」である場合にステップS105の処理に移行し、「NO」である場合にステップS102の処理に移行することとしてもよい。また、変換プログラム303は、ATコマンドのヘッダ及びフッタについて付加処理と削除処理の双方を実行可能なプログラムとしたが、それぞれの処理を実行可能な付加プログラムと削除プログラムに分割することとし、ATコマンドのヘッダ及びフッタを付加すべき場合に付加プログラムを実行し、ATコマンドのヘッダ及びフッタを削除すべき場合に削除プログラムを実行することとしてもよい。
It should be noted that step S104 is deleted, and in the process of step S101, it is determined whether or not the AT command header and footer are added to the input data. It is also possible to move to the process of S105 and, if "NO", move to the process of step S102. The
[5.IoTシステムSの通信]
次に、図8及び図9を用いて、IoTシステムSにおける通信の一例について説明する。
[5. Communication of IoT system S]
Next, an example of communication in the IoT system S will be described with reference to FIGS. 8 and 9. FIG.
まず、図8を用いて、マイコン11にインストールされているアプリケーション301が送信データをIoTサーバ2に送信する場合の通信の一例について説明する。
First, an example of communication when the
図8に示すように、マイコン11のCPU111(アプリケーション301)は、IoTサーバ2に送信する送信データ(例えば、温度データ)をSIM12に受け渡す(ステップS201)。具体的には、CPU111(アプリケーション301)は、SIM12にインストールされている暗号・復号用のアプリケーションを選択した上で、送信データと、当該アプリケーションに送信データを暗号化させるコマンドを含むC-APDUを送信する。
As shown in FIG. 8, the CPU 111 (application 301) of the
SIM12は、送信データを受け取ると、選択されたアプリケーションに基づいて、送信データを暗号鍵により暗号化する(ステップS202)。次いで、SIM12は、暗号化した送信データをマイコン11(アプリケーション301)に受け渡す(ステップS203)。具体的には、SIM12は暗号化した送信データと暗号処理の処理結果を示すSWからなるレスポンスを含むR-APDUを送信する。
Upon receiving the transmission data,
なお、CPU111(アプリケーション301)とSIM12間では、図6を用いて説明したように、PC/SC302、変換プログラム303及びLTE通信モジュール10を介して送信データ(APDU)が送受信される。
Between the CPU 111 (application 301) and the
マイコン11のCPU111(アプリケーション301)は、暗号化された送信データを受け取ると、これをIoTサーバ2に送信する(ステップS204)。
When receiving the encrypted transmission data, the CPU 111 (application 301) of the
IoTサーバ2は、暗号化された送信データを受信すると、これを復号鍵により復号する(ステップS205)。
When the
次に、図9を用いて、IoTサーバ2が送信データをマイコン11にインストールされているアプリケーション301に送信する場合の通信の一例について説明する。
Next, an example of communication when the
図9に示すように、IoTサーバ2は、IoT機器1へ送信するデータ(例えば、温度センサーの設定変更用のデータ)を暗号鍵により暗号化する(ステップS251)。次いで、IoTサーバ2は、暗号化した送信データをIoT機器1に送信する(ステップS252)。
As shown in FIG. 9, the
マイコン11のCPU111(アプリケーション301)は、受け取った、暗号化された送信データをSIM12に受け渡す(ステップS253)。具体的には、CPU111(アプリケーション301)は、SIM12にインストールされている暗号・復号用のアプリケーションを選択した上で、暗号化された送信データと、当該アプリケーションに当該暗号化された送信データを復号させるコマンドを含むC-APDUを送信する。
The CPU 111 (application 301) of the
SIM12は、暗号化された送信データを受け取ると、選択されたアプリケーションに基づいて、復号鍵により復号する(ステップS254)。次いで、SIM12は、復号した送信データをマイコン11(アプリケーション301)に受け渡す(ステップS255)。具体的には、SIM12は復号した送信データと復号処理の処理結果を示すSWからなるレスポンスを含むR-APDUを送信する。
Upon receiving the encrypted transmission data,
なお、CPU111(アプリケーション301)とSIM12間では、図6を用いて説明したように、PC/SC302、変換プログラム303及びLTE通信モジュール10を介して送信データ(APDU)が送受信される。
Between the CPU 111 (application 301) and the
これにより、マイコン11のCPU111(アプリケーション301)は、復号された送信データを受け取る。
Thereby, the CPU 111 (application 301) of the
以上説明したように、本実施形態のCPU111(「第1受付手段」、「付加手段」、「第1出力手段」の一例)は、変換プログラム303に基づいて、C-APDUの入力を受け付け、当該受け付けたC-APDUにATコマンドのヘッダ及びフッタを付加し、当該ATコマンドのヘッダ及びフッタを付加したC-APDUを出力する。
As described above, the CPU 111 (an example of the “first receiving means”, the “addition means”, and the “first output means”) of the present embodiment receives input of C-APDU based on the
したがって、本実施形態の変換プログラム303によれば、C-APDUを入力することによりATコマンドのヘッダ及びフッタが付加されて出力されることから、PC/SCとLTE通信モジュール10の間で動作させることにより、PC/SC302が出力したC-APDUをLTE通信モジュール10に受信させることができる。したがって、アプリケーション301がLTE通信モジュール10に接続されたSIM(「ICカード」の一例)とAPDUを通信する場合であっても、アプリケーション301がAPDUの授受を行う直接的な相手をPC/SC302とすることができ、アプリケーション301の開発者はATコマンドを意識することなくアプリケーション301を開発することができる。
Therefore, according to the
また、本実施形態のCPU111(「第2受付手段」、「削除手段」、「第2出力手段」の一例)は、変換プログラム303に基づいて、ATコマンドのヘッダ及びフッタが付加されたR-APDUの入力を受け付け、当該受け付けたATコマンドのヘッダ及びフッタが付加されたR-APDUからATコマンドのヘッダ及びフッタを削除し、当該ATコマンドのヘッダ及びフッタを削除したR-APDUを出力する。
In addition, the CPU 111 of the present embodiment (an example of the “second receiving means”, the “deleting means”, and the “second outputting means”) uses the
したがって、本実施形態の変換プログラム303によれば、ATコマンドのヘッダ及びフッタが付加されたR-APDUを入力することによりATコマンドのヘッダ及びフッタが削除されて出力されることから、変換プログラム303をPC/SC302とLTE通信モジュール10の間で動作させることにより、LTE通信モジュール10が出力したATコマンドのヘッダ及びフッタが付加されたR-APDUを受信した場合にATコマンドのヘッダ及びフッタを削除したR-APDUをPC/SC302に受信させることができる。したがって、アプリケーション301がLTE通信モジュール10に接続されたSIM(「ICカード」の一例)とAPDUを通信する場合であっても、アプリケーション301がAPDUの授受を行う直接的な相手をPC/SC302とすることができ、アプリケーション301の開発者はATコマンドを意識することなくアプリケーション301を開発することができる。
Therefore, according to the
[6.変形例]
マイコン11のアプリケーション301がSIM12にデータの送信を命令するコマンドを送信して、これに対してSIM12がデータをレスポンスとしてアプリケーション301に送信する場合がある。このとき、一度のレスポンスで送信すべきデータを送信できない場合に、SIM12はレスポンスとして当該送信すべきデータの一部と、特定のSWをアプリケーション301に送信する。このとき、特定のSWにおけるSW1(SWの1バイト目)には「0x61」が設定され、SW2(SWの2バイト目)に残りのデータサイズを示す値が設定される。アプリケーション301は、SW1が「0x61」であるレスポンスを受信した場合に、残りのデータの送信を命令する[GET RESPONSE]コマンドをSIM12に送信し、SIM12は当該コマンドに対して、残りのデータ及びSWを含むレスポンスを送信する。このとき、一度の[GET RESPONSE]コマンドに対するレスポンスで送信すべきデータを送信しきれない場合には、これらの処理を繰り返すことにより、SIM12からアプリケーション301に送信すべきデータを分割して送信することができる。
[6. Modification]
In some cases, the
そこで、本変形例における変換プログラム303は、SIM12からのレスポンスにSW1が「0x61」であるSWが含まれる場合に、当該レスポンスをPC/SC302(アプリケーション301)に送信せずに、自らが[GET RESPONSE]コマンドをSIM12に送信して、SIM12がアプリケーション301に送信すべきデータを全て受信して、一括して送信すべきデータをPC/SC302(アプリケーション301)に送信することとする。以下、図10及び図11を用いて、本変形例におけるマイコン11にインストールされているアプリケーション301とSIM12間の通信方式と、変換プログラム303に基づく変換処理について説明する。
Therefore, the
図10におけるステップS31からステップS35までは、図6におけるステップS1からステップS5までは同様であるので説明を省略する。但し、マイコン11(アプリケーション301)から送信されるコマンドは、SIM12に何らかのデータの送信を命令するコマンドであることとする。これに対してSIM12は、マイコン11(アプリケーション301)に送信すべきデータを一度に送信できない場合に、R-Data1とR-Data2に分割して送信する(ここでは、2つのデータに分割して送信する場合について説明するが、データをR-Data1~R-DataNのN個に分割した上で、N回に分けて送信することもできる)。具体的には、SIM12は、まず、R-Data1とSW1が「0x61」であるSWからなるレスポンスを含むR-APDUをLTE通信モジュール10に受け渡す(ステップS36)。LTE通信モジュール10は、これを受け取るとR-APDUにATコマンドのヘッダ及びフッタを付加して変換プログラム303に受け渡す(ステップS37)。
Since steps S31 to S35 in FIG. 10 are the same as steps S1 to S5 in FIG. 6, description thereof will be omitted. However, it is assumed that the command transmitted from the microcomputer 11 (application 301) is a command for instructing the
これに対して変換プログラム303は、LTE通信モジュール10から受け付けたATコマンドのヘッダ及びフッタが付加されたR-APDUに含まれるSW1が「0x61」であると判定すると、R-Data1を一時保持するとともに、[GET RESPONSE]コマンドを生成し、これにATコマンドのヘッダ及びフッタを付加した上でLTE通信モジュール10に送信する自動送信処理を実行する(ステップ38、ステップS39)。LTE通信モジュール10は、これを受け取るとATコマンドのヘッダ及びフッタを削除してC-APDUをSIM12に受け渡す(ステップS40)。これに対してSIM12は、R-Data2とSW「0x9000」(正常終了を示す)からなるレスポンスを含むR-APDUをLTE通信モジュール10に受け渡す(ステップS41)。LTE通信モジュール10は、これを受け取るとR-APDUにATコマンドのヘッダ及びフッタを付加して変換プログラム303に受け渡す(ステップS42)。
On the other hand, when the
変換プログラム303は、ステップS39で送信した[GET RESPONSE]コマンドのレスポンスとして、LTE通信モジュール10からATコマンドのヘッダ及びフッタが付加されたR-APDUの入力を受け付けると、これに含まれるSWが「0x9000」であることを確認して、ヘッダ・フッタ削除処理を行う(ステップS43)。ヘッダ・フッタ削除処理では、R-APDUに付加されているATコマンドのヘッダ及びフッタを削除するとともに、当該R-APDUに対してそれまでに一時保持したR-Data1を加えたR-APDU(すなわち、R-Data1とR-Data12とSW「0x9000」を含むR-APDU)を生成する。次いで、変換プログラム303は、当該R-APDUをPC/SC302に出力する(ステップS44)。PC/SC302は、変換プログラム303からR-APDUを受け付けるとアプリケーション301に受け渡す(ステップS45)。
When the
つまり、変換プログラム303は、LTE通信モジュール10を介してSIM12からSW1が「0x61」であるSWを含むR-APDUの入力を受け付けた場合には、SWが「0x9000」であるSWを含むR-APDUの入力を受け付けるまで、[GET RESPONSE]コマンドを含むC-APDUの送信と、これに対する応答であるR-APDUに含まれる分割データの一時保持を繰り返す。そして、SWが「0x9000」であるSWを含むR-APDU(R-DataN)の入力を受け付けた場合には、これに一時保持した全ての分割データ(R-Data1~R-DataN-1)を加えたR-APDUをPC/SC302に出力する。
That is, when the
次に、図11を用いて、変形例における変換プログラム303に基づくマイコン11のCPU111による変換処理について説明する。図11は、変形例におけるマイコン111による変換処理の一例を示すフローチャートである。なお、図11では、図7のステップS104の処理とステップS105の処理の間に、ステップS151の処理からステップ158の処理を追加しており、ここでは、当該追加した部分を中心に説明する。
Next, conversion processing by the CPU 111 of the
まず、図11のステップS104において、マイコン11のCPU111は、LTE通信モジュール10からデータを受け付けていないと判定した場合には(ステップS104:NO)、ステップS101の処理に移行する。一方、CPU111は、LTE通信モジュール10からデータを受け付けたと判定した場合には(ステップS104:YES)、当該受け付けたデータであるR-APDUに含まれるSWが「0x61XX」(すなわち、SW1が「0x61」)であるか否かを判定する(ステップS151)。
First, in step S104 of FIG. 11, when the CPU 111 of the
CPU111は、SWが「0x61XX」であると判定した場合には(ステップS151:YES)、R-APDUに含まれる分割されたR―Datan(nは1からN-1の自然数)を不揮発性メモリ115又はRAM112に一時保持する(ステップS152)。次いで、CPU111は、[GET RESPONSE]コマンドを含むC-APDUを用意し、これにATコマンドのヘッダ及びフッタを付加して送信データを生成する(ステップS153)。次いで、CPU111は、ステップS153の処理で生成した送信データをLTE通信モジュール10に出力し(ステップS154)、一時保持フラグをオンに設定し(ステップS155)、ステップS101の処理に移行する。なお、一時保持フラグは、SW「0x61XX」を含むR-APDUに含まれるR-Dataを変換プログラム303が一時保持している場合にオンに設定される。
When the CPU 111 determines that the SW is "0x61XX" (step S151: YES), the divided R-Data (n is a natural number from 1 to N−1) included in the R-APDU is stored in the nonvolatile memory. 115 or RAM 112 (step S152). Next, the CPU 111 prepares a C-APDU containing the [GET RESPONSE] command, adds an AT command header and footer thereto, and generates transmission data (step S153). Next, the CPU 111 outputs the transmission data generated in the process of step S153 to the LTE communication module 10 (step S154), sets the temporary holding flag to ON (step S155), and proceeds to the process of step S101. The temporary hold flag is set to ON when the
一方、CPU111は、SWが「0x61XX」ではない(例えば、「0x9000」である)と判定した場合には(ステップS151:NO)、次いで、一時保持フラグがオンであるか否かを判定する(ステップS156)。CPU111は、一時保持フラグがオンではないと判定した場合には(ステップS156:NO)、ステップS105の処理に移行する。 On the other hand, when the CPU 111 determines that the SW is not "0x61XX" (for example, it is "0x9000") (step S151: NO), it then determines whether the temporary holding flag is on ( step S156). When the CPU 111 determines that the temporary hold flag is not ON (step S156: NO), the process proceeds to step S105.
他方、CPU111は、一時保持フラグがオンであると判定した場合には(ステップS156:YES)、受信したデータ(R-DataN及びSW「0x9000」を含むR-APDU)からATコマンドのヘッダ及びフッタを削除した上で、当該R-APDU(R-DataN及びSW「0x9000」を含むR-APDU)に対して、ステップS152の処理で一時保持した全てのデータ(R-Data1~R-Data(N-1))を加えたR-APDU((R-Data1~R-DataN及びSW「0x9000」を含むR-APDU)を送信データとして生成する(ステップS157)。次いで、CPU111は、一時保持フラグをオフに設定し(ステップS158)、ステップS106の処理に移行する。 On the other hand, when the CPU 111 determines that the temporary holding flag is ON (step S156: YES), the CPU 111 extracts the AT command header and footer from the received data (R-APDU including R-DataN and SW "0x9000"). is deleted, all the data (R-Data1 to R-Data (N −1)) is added ((R-APDU including R-Data1 to R-DataN and SW “0x9000”) as transmission data (step S157). It is set to OFF (step S158), and the process proceeds to step S106.
以上説明したように、本変形例のCPU111(「保持手段」、「第3出力手段」の一例)は、変換プログラム303に基づいて、受け付けたR-APDUに含まれるSWの1バイト目が「0x61」である場合に、当該SWとともに受け付けたR-Dataを保持するとともに、[GET RESPONSE]コマンドを含むC-APDUにATコマンドを付加した送信データをLTE通信モジュール10に出力し、[GET RESPONSE]コマンドの応答として受け付けたATコマンドのヘッダ及びフッタが付加されたR-APDUに含まれるSWが「0x9000」である場合に、当該ATコマンドのヘッダ及びフッタが付加されたR-APDUから当該ATコマンドのヘッダ及びフッタを削除し、当該ATコマンドのヘッダ及びフッタが削除されたR-APDUに先に保持したR-Dataを付加した上で、C-APDUの送信元に出力する。
As described above, the CPU 111 (an example of the “holding means” and the “third output means”) of this modification, based on the
すなわち、SIM12からSW「0x61XX」を含むレスポンスを含むR-APDUが送信された場合において、変換プログラム303は、マイコン11(アプリケーション301)に当該R-APDUを戻すことなく、SIM12がマイコン11(アプリケーション301)に送信すべき全てのデータを取得した上で、一括してマイコン11(アプリケーション301)に送信する。これにより、マイコン11(アプリケーション301)と変換プログラム303間での通信回数を削減することができ、延いてはトランザクションに係る処理時間を短縮することができる。
That is, when an R-APDU containing a response including SW "0x61XX" is transmitted from
1 IoT機器
10 LTE通信モジュール
11 マイコン
111 CPU
112 RAM
113 ROM
114 I/O部
115 不揮発性メモリ
12 SIM
2 IoTサーバ
300 OS
301 アプリケーション
302 PC/SC
303 変換プログラム
1
112 RAMs
113 ROMs
114 I/
2
301
303 conversion program
Claims (7)
C-APDUの入力を受け付ける第1受付手段、
前記第1受付手段が受け付けたC-APDUにATコマンドのヘッダ及びフッタを付加する付加手段、
前記ATコマンドのヘッダ及びフッタを付加したC-APDUを出力する第1出力手段、
として機能させることを特徴とする変換プログラム。 the computer,
first receiving means for receiving input of C-APDU;
adding means for adding an AT command header and footer to the C-APDU received by the first receiving means;
a first output means for outputting a C-APDU to which the AT command header and footer are added;
A conversion program characterized by functioning as
前記コンピュータを、
ATコマンドのヘッダ及びフッタが付加されたR-APDUの入力を受け付ける第2受付手段、
前記第2受付手段が受け付けた前記ATコマンドのヘッダ及びフッタが付加されたR-APDUからATコマンドのヘッダ及びフッタを削除する削除手段、
前記ATコマンドのヘッダ及びフッタを削除したR-APDUを出力する第2出力手段、
として更に機能させることを特徴とする変換プログラム。 The conversion program according to claim 1,
said computer,
a second receiving means for receiving an input of an R-APDU to which an AT command header and footer are added;
Deletion means for deleting the AT command header and footer from the R-APDU to which the AT command header and footer are added and which is received by the second receiving means;
a second output means for outputting an R-APDU from which the header and footer of the AT command are deleted;
A conversion program characterized by further functioning as
前記付加手段は、前記第1受付手段が受け付けたC-APDUの送信先が通信モジュールである場合に、当該C-APDUにATコマンドのヘッダ及びフッタを付加し、
前記第1出力手段は、前記ATコマンドのヘッダ及びフッタを付加したC-APDUを前記通信モジュールに出力することを特徴とする変換プログラム。 The conversion program according to claim 1,
When the destination of the C-APDU received by the first receiving means is a communication module, the adding means adds an AT command header and footer to the C-APDU;
The conversion program, wherein the first output means outputs a C-APDU to which the header and footer of the AT command are added to the communication module.
前記削除手段は、前記第2受付手段が受け付けた前記ATコマンドのヘッダ及びフッタが付加されたR-APDUの送信元が通信モジュールである場合に、当該R-APDUからATコマンドのヘッダ及びフッタを削除し、
前記第2出力手段は、前記ATコマンドのヘッダ及びフッタを削除したR-APDUを、前記C-APDUの入力元に出力することを特徴とする変換プログラム。 The conversion program according to claim 2,
The deleting means deletes the AT command header and footer from the R-APDU when the transmission source of the R -APDU to which the AT command header and footer are added and received by the second receiving means is a communication module. delete and
The conversion program, wherein the second output means outputs the R-APDU from which the header and footer of the AT command are deleted to the input source of the C-APDU.
前記コンピュータを、
前記第2受付手段が受け付けたR-APDUに含まれるSWの1バイト目が「0x61」である場合に、当該SWとともに受け付けたデータを保持する保持手段、
前記第2受付手段が受け付けたR-APDUに含まれるSWの1バイト目が「0x61」である場合に、[GET RESPONSE]コマンドを含むC-APDUにATコマンドのヘッダ及びフッタを付加して、前記通信モジュールに出力する第3出力手段、
として更に機能させ、
前記[GET RESPONSE]コマンドの応答として受け付けた前記ATコマンドのヘッダ及びフッタが付加されたR-APDUに含まれるSWが「0x9000」である場合に、
前記削除手段は、当該ATコマンドのヘッダ及びフッタが付加されたR-APDUから当該ATコマンドのヘッダ及びフッタを削除し、
前記第2出力手段は、当該ATコマンドのヘッダ及びフッタが削除されたR-APDUに前記保持手段が保持したデータを付加した上で、前記第1受付手段の受け付けたC-APDUの送信元に出力することを特徴とする変換プログラム。 The conversion program according to claim 4,
said computer,
holding means for holding data received together with the SW when the first byte of the SW included in the R-APDU received by the second receiving means is "0x61";
When the first byte of SW included in the R-APDU received by the second receiving means is "0x61", adding the AT command header and footer to the C-APDU containing the [GET RESPONSE] command, third output means for outputting to the communication module;
further function as
When the SW included in the R-APDU to which the header and footer of the AT command received as a response to the [GET RESPONSE] command is added is "0x9000",
The deletion means deletes the header and footer of the AT command from the R-APDU to which the header and footer of the AT command are added,
The second output means adds the data held by the holding means to the R-APDU from which the header and footer of the AT command have been deleted, and sends the data to the transmission source of the C-APDU accepted by the first accepting means. A conversion program characterized by outputting.
前記第1受付手段が受け付けたC-APDUにATコマンドのヘッダ及びフッタを付加する付加手段と、
前記ATコマンドのヘッダ及びフッタを付加したC-APDUを出力する第1出力手段と、
を備えることを特徴とする変換装置。 a first receiving means for receiving an input of C-APDU;
adding means for adding an AT command header and footer to the C-APDU received by the first receiving means;
a first output means for outputting a C-APDU to which the AT command header and footer are added;
A conversion device comprising:
C-APDUの入力を受け付ける第1受付工程と、
前記第1受付工程により受け付けたC-APDUにATコマンドのヘッダ及びフッタを付加する付加工程と、
前記ATコマンドのヘッダ及びフッタを付加したC-APDUを出力する第1出力工程と、
を含むことを特徴とする変換方法。 A conversion method using a conversion device,
a first receiving step of receiving input of C-APDU;
an adding step of adding an AT command header and footer to the C-APDU received by the first receiving step;
a first output step of outputting a C-APDU to which the AT command header and footer are added;
A conversion method comprising:
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2019075535A JP7287079B2 (en) | 2019-04-11 | 2019-04-11 | CONVERSION PROGRAM, CONVERSION APPARATUS AND CONVERSION METHOD |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2019075535A JP7287079B2 (en) | 2019-04-11 | 2019-04-11 | CONVERSION PROGRAM, CONVERSION APPARATUS AND CONVERSION METHOD |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2020173642A JP2020173642A (en) | 2020-10-22 |
JP7287079B2 true JP7287079B2 (en) | 2023-06-06 |
Family
ID=72831490
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2019075535A Active JP7287079B2 (en) | 2019-04-11 | 2019-04-11 | CONVERSION PROGRAM, CONVERSION APPARATUS AND CONVERSION METHOD |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP7287079B2 (en) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002304602A (en) | 2001-04-06 | 2002-10-18 | Dainippon Printing Co Ltd | Card information update system |
JP2007206902A (en) | 2006-01-31 | 2007-08-16 | Dainippon Printing Co Ltd | Program correcting system for ic card, program, and ic card |
-
2019
- 2019-04-11 JP JP2019075535A patent/JP7287079B2/en active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002304602A (en) | 2001-04-06 | 2002-10-18 | Dainippon Printing Co Ltd | Card information update system |
JP2007206902A (en) | 2006-01-31 | 2007-08-16 | Dainippon Printing Co Ltd | Program correcting system for ic card, program, and ic card |
Non-Patent Citations (1)
Title |
---|
吉田 愼介,ICカードの最新技術と利用動向 第9回,BUSINESS COMMUNICATION,日本,株式会社ビジネスコミュニケーション社,2001年12月01日,第38巻 第12号 ,pp.90-93 |
Also Published As
Publication number | Publication date |
---|---|
JP2020173642A (en) | 2020-10-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10986487B2 (en) | Apparatus and method for profile installation in communication system | |
US9817993B2 (en) | UICCs embedded in terminals or removable therefrom | |
ES2708696T3 (en) | Method for changing the mobile network operator in an integrated SIM based on a special privilege | |
JP5154401B2 (en) | Transaction facilitation and authentication | |
CN102752375B (en) | Realize the remote-operated method and system of smart card | |
US10057759B2 (en) | Method for personalising a secure element | |
US9723549B2 (en) | Communication control apparatus, authentication device, central control apparatus and communication system | |
JP2010259074A (en) | Secure session set up based on wireless application protocol | |
US20150119017A1 (en) | Method and system for implementing smart card remote operation based on smart card web server | |
US9055605B2 (en) | Method for establishing a secure logical connection between an integrated circuit card and a memory card through a terminal equipment | |
CN108141744A (en) | The instantiation of multiple electronics subscriber identity module (eSIM) examples | |
US10097553B2 (en) | Installation of a secure-element-related service application in a secure element in a communication device, system and telecommunications | |
CN106412887B (en) | A kind of fast authentication method, system, server and the terminal of virtual SIM card | |
Urien | Cloud of secure elements: An infrastructure for the trust of mobile NFC services | |
Klee et al. | {NFCGate}: Opening the Door for {NFC} Security Research with a {Smartphone-Based} Toolkit | |
JP7287079B2 (en) | CONVERSION PROGRAM, CONVERSION APPARATUS AND CONVERSION METHOD | |
JP7440963B2 (en) | Quantum resistant SIM card | |
Urien et al. | A new cooperative architecture for sharing services managed by secure elements controlled by android phones with IP objects | |
CN106055989B (en) | A kind of data transferring method and terminal | |
Urien et al. | Introducing Smartcard in Wireless LAN Security | |
Loutrel et al. | A smartcard for authentication in WLANs | |
KR100867002B1 (en) | Smart card for providing convergence authentication in heterogeneous wireless networks and wireless device having the same | |
Sabt et al. | Over-the-internet: efficient remote content management for secure elements in mobile devices | |
EP2731370A1 (en) | Secured authentication between a communication device and a server | |
JP2024054260A (en) | Quantum-resistant SIM card |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20220225 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20221214 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20230208 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20230405 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20230425 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20230508 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 7287079 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |