JP5354189B2 - Secure media - Google Patents

Secure media Download PDF

Info

Publication number
JP5354189B2
JP5354189B2 JP2009107717A JP2009107717A JP5354189B2 JP 5354189 B2 JP5354189 B2 JP 5354189B2 JP 2009107717 A JP2009107717 A JP 2009107717A JP 2009107717 A JP2009107717 A JP 2009107717A JP 5354189 B2 JP5354189 B2 JP 5354189B2
Authority
JP
Japan
Prior art keywords
program
function
secure
cpu
protection
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.)
Expired - Fee Related
Application number
JP2009107717A
Other languages
Japanese (ja)
Other versions
JP2010257302A (en
Inventor
尚棋 國重
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Toppan Inc
Original Assignee
Toppan Inc
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Toppan Inc filed Critical Toppan Inc
Priority to JP2009107717A priority Critical patent/JP5354189B2/en
Publication of JP2010257302A publication Critical patent/JP2010257302A/en
Application granted granted Critical
Publication of JP5354189B2 publication Critical patent/JP5354189B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、セキュア媒体に関する。   The present invention relates to secure media.

従来から、アプリケーションプログラムは、ディスク媒体によりユーザに配布している。   Conventionally, application programs are distributed to users via disk media.

しかしながら、ディスク媒体によりユーザに配布するアプリケーションプログラムは、ディスクを丸ごとコピーすれば、全く同じものを作れてしまい、違法コピーをなくすことが不可能である。   However, the application program distributed to the user by the disk medium can make exactly the same if the entire disk is copied, and it is impossible to eliminate illegal copying.

また従来から、ドングルにより使用制限を行うアプリケーションプログラムがある。   Conventionally, there is an application program that restricts use with a dongle.

しかしながら、ドングルにより使用制限を行うアプリケーションプログラムは、アプリケーションプログラムとドングルとを個別に配布する必要がある。   However, an application program that restricts the use of a dongle needs to distribute the application program and the dongle separately.

また、ドングルにより使用制限を行うアプリケーションプログラムを、リバースエンジニアリングすることで、ドングルによる認証を回避するようにアプリケーションプログラムが改変される可能性がある。   In addition, by reverse-engineering an application program whose use is restricted by a dongle, the application program may be modified to avoid authentication by the dongle.

また従来から、ICカードと、このICカードによる使用制限を行うパソコン用のアプリケーションとを個別にユーザに配布することが行われている。   Conventionally, an IC card and an application for a personal computer that restricts the use of the IC card are individually distributed to users.

しかしながら、ICカード等のセキュア媒体をパソコンで使用する場合、それを操作するためのアプリケーションプログラムを別途インストールする必要がある。   However, when a secure medium such as an IC card is used on a personal computer, it is necessary to separately install an application program for operating the secure medium.

また従来から、プログラムを、保護が必要な部分(保護コード)とそれ以外の通常コードにあらかじめ分割して用意し、各々を保護環境と通常環境という一つのPC上の独立した2つの計算機環境で連係動作させる技術がある(例えば特許文献1又は2参照)。   Conventionally, a program is prepared by dividing it into parts that need protection (protection code) and other normal codes in advance, and each of them is created in two independent computer environments on one PC: a protection environment and a normal environment. There is a technique for performing a linked operation (see, for example, Patent Document 1 or 2).

しかしながら、保護コードと通常コードとに分割されたアプリケーションプログラムは、インストール後はプログラムコードは解析から守られるが、プログラム配布段階、インストール段階ではプログラムを解析される恐れがある。   However, the application program divided into the protection code and the normal code is protected from analysis after installation, but the program may be analyzed at the program distribution stage and the installation stage.

特開2002−251326号公報JP 2002-251326 A 特開2006−164184号公報JP 2006-164184 A

本発明は斯かる背景技術に鑑みてなされたもので、アプリケーションプログラムの不正使用を確実に防止しながら正当な利用が容易にできるようにすることを課題とする。   The present invention has been made in view of such background art, and an object of the present invention is to enable legitimate use of the application program while preventing unauthorized use of the application program with certainty.

本発明において上記課題を解決するために、まず請求項1の発明では、CPUとセキュア領域を有するメモリとを備え、保護プログラムと非保護プログラムとからなる電卓アプリケーションプログラムの保護プログラムをセキュア領域に格納し非保護プログラムをセキュア領域とは別のメモリの領域に格納しているセキュア媒体であって、数式入力機能と、ICカード通信機能と、計算結果表示機能とを有する非保護プログラムは、コンピュータにインストールされて実行され、数式受信機能と、数式演算機能と、計算結果送信機能と、バイナリーデータ読み出し送信機能とを有する保護プログラムは、セキュア媒体のCPUに、非保護プログラムを実行しているコンピュータからコマンドを受信させて、このコマンドで命じられる処理を実行させて、その処理結果をコンピュータに返信させ、非保護プログラムは、バイナリーデータでセキュア媒体に格納され、保護プログラムは、セキュア媒体のCPUに、ICカード通信機能と、コンピュータへのプログラムインストール機能とを有するインストーラープログラムを実行しているコンピュータからバイナリーデータ取得コマンドを受信させて、非保護プログラムのバイナリーデータをセキュア領域から読み出させて、コンピュータに返信させることを特徴とするセキュア媒体としたものである。
In order to solve the above-mentioned problems in the present invention, first, in the invention of claim 1, a protection program of a calculator application program comprising a CPU and a memory having a secure area and comprising a protection program and a non-protection program is stored in the secure area. A non-protected program storing a non-protected program in a memory area different from the secure area, and having a mathematical expression input function, an IC card communication function, and a calculation result display function , A protection program that is installed and executed and has a mathematical expression reception function, a mathematical expression calculation function, a calculation result transmission function, and a binary data read / transmission function is transmitted from a computer executing a non-protection program to a CPU of a secure medium. Receive the command and execute the processing commanded by this command. By, to return the processing result to the computer, unprotected program is stored in the secure medium in binary data, protection program, the CPU of the secure medium, and the IC card communication function, a program installation function to a computer It is a secure medium characterized by receiving a binary data acquisition command from a computer running an installer program having, reading binary data of an unprotected program from a secure area, and returning it to the computer. is there.

請求項1の発明は、セキュア媒体を購入するだけでアプリケーションプログラムを利用できるけれども、アプリケーションプログラムによる処理の一部を、セキュア媒体から外に出ることのない保護プログラムが受け持つために、保護プログラムの秘密が保たれると同時に、セキュア媒体がなければアプリケーションプログラムを利用できないので、アプリケーションプログラムの不正使用を確実に防止しながら正当な利用が容易にできるという効果がある。   According to the first aspect of the present invention, the application program can be used only by purchasing the secure medium. However, since the protection program that does not leave the secure medium handles a part of the processing by the application program, the secret of the protection program At the same time, the application program cannot be used without a secure medium, and therefore, there is an effect that it is possible to easily use the application program while preventing unauthorized use of the application program.

さらに請求項の発明は、非保護プログラムを汎用のインストーラープログラムで容易にインストールできるという効果がある。 Furthermore, the invention of claim 1 has an effect that the non-protected program can be easily installed with a general-purpose installer program.

本発明に係るシステムにおけるハードウエア構成例を示す図。The figure which shows the hardware structural example in the system which concerns on this invention. 本発明に係るシステムにおけるプログラム構成例を示す図。The figure which shows the example of a program structure in the system which concerns on this invention. 本発明に係るシステムにおけるプログラム相互の作用を示す図。The figure which shows the interaction of the programs in the system which concerns on this invention. 本発明に係るシステムにおけるプログラム相互の作用を示す図。The figure which shows the interaction of the programs in the system which concerns on this invention. 非保護プログラムのソースコードの例と、この例の非保護プログラムからのコマンドで呼び出されると、このコマンドが命ずる処理を実行して、この結果を返す保護プログラムの部分のソースコードの例とを示す図。An example of source code of an unprotected program and an example of source code of a part of a protected program that, when called by a command from the unprotected program of this example, executes a process commanded by this command and returns the result. Figure. アプリケーションプログラムをインストールする処理の流れを示すフローチャート。The flowchart which shows the flow of the process which installs an application program. アプリケーションプログラムを実行する処理の流れを示すフローチャート。The flowchart which shows the flow of the process which performs an application program. 数式欄に計算式を入力したときの様子を示す図。The figure which shows a mode when a calculation formula is input into the numerical formula column. 計算ボタンを押したときの様子を示す図。The figure which shows a mode when a calculation button is pushed.

以下に、本発明の一実施形態を説明する。   Hereinafter, an embodiment of the present invention will be described.

本発明に係るシステムは、図1に示すように、セキュア媒体と、パソコンとを備える。   As shown in FIG. 1, the system according to the present invention includes a secure medium and a personal computer.

パソコンは、CPU、セキュア媒体リーダライタ、表示装置、入力装置、主記憶装置、補助記憶装置などを備える。図2に示すように、補助記憶装置には、インストーラープログラムがインストールされて、CPUによって実行可能である。   The personal computer includes a CPU, a secure medium reader / writer, a display device, an input device, a main storage device, an auxiliary storage device, and the like. As shown in FIG. 2, an installer program is installed in the auxiliary storage device and can be executed by the CPU.

セキュア媒体は、CPU、I/F、メモリなどを備え、耐タンパ性を有する。   The secure medium includes a CPU, an I / F, a memory, and the like, and has tamper resistance.

I/Fは、通信インターフェースとも呼ばれ、セキュア媒体がセキュア媒体リーダライタに装着された場合に、電力とクロックの供給を受けるとともに、セキュア媒体リーダライタとCPUとの間の通信を仲介するインターフェースである。   The I / F is also called a communication interface, and is an interface that mediates communication between the secure medium reader / writer and the CPU while receiving supply of power and clock when the secure medium is mounted on the secure medium reader / writer. is there.

メモリは、通常の読み出し専用記憶装置であるROMや電気的に内容の書き換えが可能なRAMなどが該当し、セキュア媒体リーダライタからデータの読み出しが可能な領域と不可能な領域とに分かれている。セキュア媒体リーダライタからデータの読み出しが不可能な領域は、セキュア領域とも呼ばれる。   The memory corresponds to a ROM that is a normal read-only storage device or a RAM that can be electrically rewritten, and is divided into an area where data can be read from a secure medium reader / writer and an area where data cannot be read. . An area where data cannot be read from the secure medium reader / writer is also called a secure area.

本発明に係るアプリケーションプログラムは、非保護プログラムと、保護プログラムとからなり、図2に示すように、保護プログラムは、メモリのセキュア領域にインストールされてセキュア媒体のCPUによってのみ実行可能であり、非保護プログラムは、メモリのセキュア領域とは別の領域にバイナリデータとして保存されている。   The application program according to the present invention includes a non-protection program and a protection program. As shown in FIG. 2, the protection program is installed in the secure area of the memory and can be executed only by the CPU of the secure medium. The protection program is stored as binary data in an area different from the secure area of the memory.

保護プログラムは、図3に示すように、インストーラープログラムからバイナリーデータ取得コマンドで呼び出されると、非保護プログラムのバイナリーデータを読み出して返す。そして、インストーラープログラムは、パソコンの補助記憶装置に非保護プログラムをインストールする。   As shown in FIG. 3, when the protected program is called from the installer program with a binary data acquisition command, it reads and returns the binary data of the unprotected program. Then, the installer program installs the unprotected program in the auxiliary storage device of the personal computer.

また保護プログラムは、図4に示すように、パソコンにインストールされた非保護プログラムからのコマンドで呼び出されると、このコマンドが命ずる処理を実行して、この結果を、この非保護プログラムに返す。   As shown in FIG. 4, when the protection program is called by a command from the non-protection program installed in the personal computer, it executes a process commanded by this command and returns the result to the non-protection program.

すなわち、保護プログラムは、インストーラープログラムからバイナリーデータ取得コマンドで呼び出されると、非保護プログラムのバイナリーデータを読み出して返す部分と、非保護プログラムからのコマンドで呼び出されると、このコマンドが命ずる処理を実行して、この結果を返す部分とからなる。   In other words, when the protection program is called from the installer program with the binary data acquisition command, the binary data of the non-protection program is read and returned, and when called from the command from the non-protection program, the command is executed. And the part that returns this result.

図5に、非保護プログラムのソースコードの例と、この例の非保護プログラムからのコマンドで呼び出されると、このコマンドが命ずる処理を実行して、この結果を返す保護プログラムの部分のソースコードの例とを示す。これらのソースコードは、C言語で記述されている。   FIG. 5 shows an example of source code of a non-protection program and a source code of a part of the protection program that executes a process commanded by the command when the command from the non-protection program of this example is executed and returns the result. An example is shown. These source codes are written in C language.

以下に、アプリケーションプログラムをインストールする処理の流れを、図6のフローチャートに従って説明する。   Hereinafter, the flow of processing for installing the application program will be described with reference to the flowchart of FIG.

S(STEP)1;
パソコンのCPUは、インストーラープログラムによって、パソコンのセキュア媒体リーダライタを介して、バイナリーデータ取得コマンドを、セキュア媒体に送信する。
S (STEP) 1;
The CPU of the personal computer transmits a binary data acquisition command to the secure medium via the secure medium reader / writer of the personal computer by the installer program.

S(STEP)2;
セキュア媒体のCPUは、保護プログラムによって、セキュア媒体のI/Fを介して、バイナリーデータ取得コマンドを受信すると、セキュア媒体のメモリから非保護プログラムのバイナリーデータを読み出して、セキュア媒体のI/Fを介して、パソコンに送信する。
S (STEP) 2;
When the CPU of the secure medium receives the binary data acquisition command by the protection program via the I / F of the secure medium, the CPU of the secure medium reads the binary data of the non-protection program from the memory of the secure medium, and performs the I / F of the secure medium. Via the computer.

S(STEP)3;
パソコンのCPUは、インストーラープログラムによって、パソコンのセキュア媒体リーダライタを介して、非保護プログラムのバイナリーデータを受信すると、この非保護プログラムを、パソコンの補助記憶装置に、インストールする。
S (STEP) 3;
When the CPU of the personal computer receives the binary data of the non-protected program via the installer program via the secure medium reader / writer of the personal computer, the CPU of the personal computer installs the non-protected program in the auxiliary storage device of the personal computer.

以下に、アプリケーションプログラムを実行する処理の流れを、図7のフローチャートに従って説明する。   Hereinafter, the flow of processing for executing the application program will be described with reference to the flowchart of FIG.

S(STEP)1;
パソコンのCPUは、非保護プログラムに記述されている処理を順に行い、コマンドの送信が指示されている箇所に達すると、パソコンのセキュア媒体リーダライタを介して、コマンドを、セキュア媒体に送信する。
S (STEP) 1;
The CPU of the personal computer sequentially performs the processing described in the unprotected program, and when it reaches the location where command transmission is instructed, it transmits the command to the secure medium via the secure medium reader / writer of the personal computer.

S(STEP)2;
セキュア媒体のCPUは、保護プログラムによって、セキュア媒体のI/Fを介して、コマンドを受信すると、このコマンドが命じる処理を行い、その処理の結果を、セキュア媒体のI/Fを介して、パソコンに送信する。
S (STEP) 2;
When the CPU of the secure medium receives a command via the I / F of the secure medium by the protection program, the CPU performs the processing instructed by this command, and the result of the processing is sent to the personal computer via the I / F of the secure medium. Send to.

S(STEP)3;
パソコンのCPUは、非保護プログラムによって、パソコンのセキュア媒体リーダライタを介して、その処理の結果を受信し、以後、非保護プログラムに記述されている残りの順に処理を行い、コマンドの送信が指示されている箇所に再度達した場合には、STEP1〜3と同様の処理を繰り返す。
S (STEP) 3;
The CPU of the personal computer receives the processing result via the secure medium reader / writer of the personal computer by the non-protected program, and then processes in the remaining order described in the non-protected program, and instructs the command transmission. If the current position is reached again, the same processing as STEP 1 to 3 is repeated.

以下、本発明の実施例1を具体的に説明する。   Hereinafter, Example 1 of the present invention will be described in detail.

実施例1では、セキュア媒体は、ICカードであり、それに伴って、セキュア媒体リーダライタは、ICカードリーダライタとなる。   In the first embodiment, the secure medium is an IC card, and accordingly, the secure medium reader / writer is an IC card reader / writer.

実施例1では、アプリケーションプログラムは、電卓アプリケーションプログラムであり、図8示すように、数式欄に計算式をキーボードから入力し、計算ボタンをマウスで押すと、図9に示すように、結果欄に計算結果が表示されるものである。   In the first embodiment, the application program is a calculator application program. As shown in FIG. 8, when a calculation formula is input to the formula column from the keyboard and the calculation button is pressed with the mouse, the result column is displayed as shown in FIG. The calculation result is displayed.

ここで、非保護プログラムは、数式入力機能と、ICカード通信機能と、計算結果表示機能とを有する。   Here, the unprotected program has a mathematical expression input function, an IC card communication function, and a calculation result display function.

また、保護プログラムは、数式受信機能と、数式演算機能と、計算結果送信機能と、バイナリーデータ読み出し送信機能とを有する。   Further, the protection program has a mathematical expression reception function, a mathematical expression calculation function, a calculation result transmission function, and a binary data read transmission function.

また、インストーラープログラムは、ICカード通信機能と、パソコンへのプログラムインストール機能とを有する。   The installer program has an IC card communication function and a program installation function to a personal computer.

以下に、アプリケーションプログラムのインストールについて説明する。   Hereinafter, installation of the application program will be described.

まず、パソコンのICカードリーダライタに装着されると、パソコンのCPUは、インストーラープログラムのICカード通信機能によって、ICカードから、ICカードのメモリのセキュア領域とは別の領域に保存されている非保護プログラムバイナリーデータを、パソコンの主記憶装置にロードする。このとき、パソコンのCPUは、ICカードのメモリのセキュア領域に保存されている保護プログラムのバイナリーデータ読み出し送信機能を利用して、非保護プログラムバイナリーデータを読み出す。パソコンのCPUは、インストーラープログラムのパソコンへのプログラムインストール機能によって、ICカードからロードした保護プログラムのバイナリーデータを、パソコンの補助記憶装置にインストールする。   First, when attached to the IC card reader / writer of the personal computer, the CPU of the personal computer is stored in a non-secure area of the IC card memory from the IC card by the IC card communication function of the installer program. Load the protection program binary data into the main memory of the personal computer. At this time, the CPU of the personal computer reads the unprotected program binary data by using the binary data read / transmit function of the protected program stored in the secure area of the memory of the IC card. The CPU of the personal computer installs the binary data of the protection program loaded from the IC card into the auxiliary storage device of the personal computer by the program installation function of the installer program to the personal computer.

ここで、電卓アプリケーションプログラムによるシステムの動作を、123+456=579の計算を行う場合を例に取って説明する。この計算は、以下の(1)〜(3)の順に処理が行われる。   Here, the operation of the system by the calculator application program will be described by taking as an example the case of calculating 123 + 456 = 579. This calculation is performed in the following order (1) to (3).

(1)数式欄にキーボードで“123+456”と入力する(図8参照)。
(2)計算ボタンをマウスでクリックする。
(3)結果欄に計算結果である“579”が表示される(図9参照)。
(1) Enter “123 + 456” with the keyboard in the formula field (see FIG. 8).
(2) Click the calculation button with the mouse.
(3) “579” as the calculation result is displayed in the result column (see FIG. 9).

以下に、非保護プログラムによるパソコンの動作を説明する。   The operation of the personal computer by the unprotected program will be described below.

まず、上記(1)では、パソコンのCPUは、非保護プログラムの数式入力機能によって、ユーザーからのキーボードによる数式の入力を受け付け、数式欄に入力された数式をディスプレイに表示する。   First, in the above (1), the CPU of the personal computer receives a mathematical expression input from the user's keyboard by the mathematical expression input function of the unprotected program, and displays the mathematical expression input in the mathematical expression column on the display.

次に、上記(2)では、パソコンのCPUは、入力された数式データを“123+456”を、非保護プログラムのICカード通信機能によって、ICカードリーダライタを介して、ICカードに送信する。このとき、送信するデータは、非保護プログラムと保護プログラムとの間で予め決められたフォーマットで送信する。例えば、“123+456”とデータを一度に送信する、また例えば、“123”,“+”,“456”と複数回に分けて送信する等がある。   Next, in the above (2), the CPU of the personal computer transmits “123 + 456” as input mathematical formula data to the IC card via the IC card reader / writer by the IC card communication function of the unprotected program. At this time, the data to be transmitted is transmitted in a predetermined format between the non-protected program and the protected program. For example, “123 + 456” and data are transmitted at once, and for example, “123”, “+”, and “456” are transmitted in a plurality of times.

次に、パソコンのCPUは、数式データの送信が終了すると、非保護プログラムのICカード通信機能によって、ICカードから、ICカードリーダライタを介して、計算結果を受信する。このとき、受信するデータは、非保護プログラムと保護プログラムとの間で予め決められたフォーマットで受信する。例えば計算結果を数字“579”として受信する、また例えば文字“579”として受信する等がある。   Next, when the transmission of the mathematical formula data is finished, the CPU of the personal computer receives the calculation result from the IC card via the IC card reader / writer by the IC card communication function of the unprotected program. At this time, the received data is received in a format predetermined between the non-protected program and the protected program. For example, the calculation result may be received as a number “579”, or may be received as a character “579”, for example.

最後に、上記(3)では、パソコンのCPUは、非保護プログラムの計算結果表示機能によって、ICカードから受信した計算結果をディスプレイに表示する。   Finally, in (3) above, the CPU of the personal computer displays the calculation result received from the IC card on the display by the calculation result display function of the unprotected program.

以下に、保護プログラムによるICカードの動作を説明する。   The operation of the IC card by the protection program will be described below.

まず、上記(1)のとき、ICカードのCPUは、パソコンからのデータの受信待ち状態となっている。   First, in the case of (1) above, the CPU of the IC card is waiting to receive data from the personal computer.

次に、ICカードのCPUは、保護プログラムの数式受信機能によって、パソコンからの数式データ“123+456”を、I/Fを介して受信する。   Next, the CPU of the IC card receives mathematical formula data “123 + 456” from the personal computer via the I / F by the mathematical formula reception function of the protection program.

次に、ICカードのCPUは、保護プログラムの数式演算機能によって、受信した数式
データに基づいて計算を行い、保護プログラムの計算結果送信機能によって、計算結果を、I/Fを介してパソコンに送信する。
Next, the CPU of the IC card performs calculation based on the received mathematical formula data by the mathematical formula calculation function of the protection program, and transmits the calculation result to the personal computer via the I / F by the calculation result transmission function of the protection program. To do.

最後に、上記(3)のとき、ICカードのCPUは、パソコンからのデータの受信待ち状態となっている。   Finally, in the case of (3) above, the CPU of the IC card is waiting to receive data from the personal computer.

このように、保護プログラムは、全ての段階において、ICカード内から外部には出ないため、保護プログラムの解析を行うことは不可能である。   Thus, since the protection program does not go out of the IC card at all stages, it is impossible to analyze the protection program.

また、電卓アプリケーションプログラムのコア技術である数式演算機能を保護プログラムに含めることで、非保護プログラムを、いくら解析、改変しても、電卓アプリケーションプログラムを、不正に使用、又はコピーすることは不可能である。   Also, by including the mathematical calculation function, which is the core technology of the calculator application program, in the protection program, it is impossible to illegally use or copy the calculator application program no matter how much the unprotected program is analyzed or modified. It is.

実施例2は、オープンソースプログラム(プログラムのソースコードが公開されているプログラム)に独自の技術を組み込んだアプリケーションプログラムを開発する場合、オープンソース部分を非保護プログラム、独自技術部分を保護プログラムとするものである。   In the second embodiment, when developing an application program in which an original technology is incorporated into an open source program (a program whose program source code is disclosed), the open source portion is an unprotected program and the original technology portion is a protected program. Is.

このようにすることで、コア技術である独自の技術を保護することができる。   By doing in this way, the original technology which is a core technology can be protected.

Claims (1)

CPUとセキュア領域を有するメモリとを備え、保護プログラムと非保護プログラムとからなる電卓アプリケーションプログラムの保護プログラムをセキュア領域に格納し非保護プログラムをセキュア領域とは別のメモリの領域に格納しているセキュア媒体であって、数式入力機能と、ICカード通信機能と、計算結果表示機能とを有する非保護プログラムは、コンピュータにインストールされて実行され、数式受信機能と、数式演算機能と、計算結果送信機能と、バイナリーデータ読み出し送信機能とを有する保護プログラムは、セキュア媒体のCPUに、非保護プログラムを実行しているコンピュータからコマンドを受信させて、このコマンドで命じられる処理を実行させて、その処理結果をコンピュータに返信させ、非保護プログラムは、バイナリーデータでセキュア媒体に格納され、保護プログラムは、セキュア媒体のCPUに、ICカード通信機能と、コンピュータへのプログラムインストール機能とを有するインストーラープログラムを実行しているコンピュータからバイナリーデータ取得コマンドを受信させて、非保護プログラムのバイナリーデータをセキュア領域から読み出させて、コンピュータに返信させることを特徴とするセキュア媒体。
A CPU and a memory having a secure area are provided, and a protection program of a calculator application program including a protection program and a non-protection program is stored in the secure area, and the non-protection program is stored in a memory area different from the secure area. An unprotected program which is a secure medium and has a mathematical expression input function, an IC card communication function, and a calculation result display function is installed and executed in a computer, and receives a mathematical expression reception function, a mathematical expression calculation function, and a calculation result transmission. A protection program having a function and a binary data read / transmission function causes the CPU of the secure medium to receive a command from a computer executing the non-protection program, and execute the process commanded by this command. the results were sent back to the computer, a non-protection program , Stored in a secure medium as binary data, and the protection program receives a binary data acquisition command from a computer executing an installer program having an IC card communication function and a program installation function to the computer in the CPU of the secure medium A secure medium , wherein binary data of an unprotected program is read from a secure area and returned to a computer .
JP2009107717A 2009-04-27 2009-04-27 Secure media Expired - Fee Related JP5354189B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2009107717A JP5354189B2 (en) 2009-04-27 2009-04-27 Secure media

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009107717A JP5354189B2 (en) 2009-04-27 2009-04-27 Secure media

Publications (2)

Publication Number Publication Date
JP2010257302A JP2010257302A (en) 2010-11-11
JP5354189B2 true JP5354189B2 (en) 2013-11-27

Family

ID=43318118

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009107717A Expired - Fee Related JP5354189B2 (en) 2009-04-27 2009-04-27 Secure media

Country Status (1)

Country Link
JP (1) JP5354189B2 (en)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014531663A (en) * 2011-08-05 2014-11-27 ケーピーアイティ テクノロジーズ リミテッド Embedded software code protection system
GB2512376A (en) 2013-03-28 2014-10-01 Ibm Secure execution of software modules on a computer
CN103793633A (en) * 2014-02-14 2014-05-14 宇龙计算机通信科技(深圳)有限公司 Method and device for calibrating SDK
JP7056151B2 (en) * 2017-12-29 2022-04-19 大日本印刷株式会社 Devices, secure elements, programs, information processing systems and information processing methods

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6024639A (en) * 1983-07-20 1985-02-07 Toshiba Corp Program fraudulent use preventive card
WO1999066387A1 (en) * 1998-06-12 1999-12-23 Gemplus Method for verifying the execution of a software product
JP2004272893A (en) * 2003-02-21 2004-09-30 Matsushita Electric Ind Co Ltd Software management system, recording medium and information processor
JP2006301772A (en) * 2005-04-18 2006-11-02 Security Electronics Co Ltd Usb storage device
EP1983458A1 (en) * 2007-04-19 2008-10-22 THOMSON Licensing Media package, system comprising a media package and method of using stored data

Also Published As

Publication number Publication date
JP2010257302A (en) 2010-11-11

Similar Documents

Publication Publication Date Title
Wang et al. oo7: Low-overhead defense against spectre attacks via program analysis
US8631390B2 (en) Archiving a build product
JP5346386B2 (en) Software separation execution method, apparatus, and computer-readable recording medium
US20060184619A1 (en) Method and system for providing programs to user operable device
JP5354189B2 (en) Secure media
US20170300305A1 (en) Executable guidance experiences based on implicitly generated guidance models
WO2019144547A1 (en) Data entry method and apparatus, computer device and storage medium
KR101832594B1 (en) Method and system for enhancing loading velocity of intermediate language file
Dalai et al. A code obfuscation technique to prevent reverse engineering
Hassan et al. The application of Visual Basic computer programming language to simulate numerical iterations
JP2010238031A (en) External storage device, method for processing data stored in external storage device, program, and information processing device
CN101681415A (en) Method and apparatus for changing and adding activation keys for functions of digital content without having to change and recompile the digital content
CN104412255A (en) Document processing system, electronic document, document processing method, and program
CN101484877A (en) Execution of computer instructions with reconfigurable hardware
JP6906057B2 (en) How to secure your software code
US20110090532A1 (en) Image forming apparatus and program operating method
KR101436741B1 (en) The method and system for applying security solution program
JP2010231477A (en) Program and program execution device
US9158558B1 (en) Methods and systems for providing application manifest information
JP2005250635A (en) License management method and apparatus
JP5545133B2 (en) Static analysis processing system, method, and program
KR20190112491A (en) System and method for converting application
KR102615798B1 (en) Apparatus and method for preventing screen capture and mirroring using text field protection properties
JP7005976B2 (en) Programs, information processing equipment and information processing methods
JP2006139807A (en) Contents data producing apparatus, control method therefor, and contents data production program

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20120316

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130424

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130514

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130710

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: 20130731

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130813

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees