JP2014160383A - Portable terminal equipment and decryption processing program - Google Patents

Portable terminal equipment and decryption processing program Download PDF

Info

Publication number
JP2014160383A
JP2014160383A JP2013030868A JP2013030868A JP2014160383A JP 2014160383 A JP2014160383 A JP 2014160383A JP 2013030868 A JP2013030868 A JP 2013030868A JP 2013030868 A JP2013030868 A JP 2013030868A JP 2014160383 A JP2014160383 A JP 2014160383A
Authority
JP
Japan
Prior art keywords
program
application software
core
terminal device
ram
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.)
Granted
Application number
JP2013030868A
Other languages
Japanese (ja)
Other versions
JP6343869B2 (en
Inventor
Shoki Kunishige
尚棋 國重
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 Printing Co Ltd
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 Printing Co Ltd filed Critical Toppan Printing Co Ltd
Priority to JP2013030868A priority Critical patent/JP6343869B2/en
Publication of JP2014160383A publication Critical patent/JP2014160383A/en
Application granted granted Critical
Publication of JP6343869B2 publication Critical patent/JP6343869B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Storage Device Security (AREA)

Abstract

PROBLEM TO BE SOLVED: To make it difficult for a third person to decrypt the application software of portable terminal equipment by a highly convenient method.SOLUTION: Portable terminal equipment for storing application software in a non-volatile memory, and for developing a program in an RAM for execution is configured to repeat following processing of receiving the application software whose core portion is divided into a plurality of programs, and encrypted by a secret key making a pair with a public key, and executing a decryption processing program to successively decrypt a plurality of core modules of the application software by using the public key, and overwriting the decrypted programs on the previous programs in the same storage region as the RAM for execution. Thus, it is possible to allow the portable terminal equipment to execute the core portion of the application software.

Description

本発明は、アプリケーションソフトウェアを実行する携帯端末装置であって、その携帯端末装置用のアプリケーションソフトウェアが外部から解析され改ざんされることを防止する機能を持つ携帯端末装置、及び、暗号化したアプリケーションソフトウェアを携帯端末装置で復号化させる復号処理プログラムに関する。   The present invention relates to a mobile terminal device that executes application software, and has a function of preventing application software for the mobile terminal device from being analyzed and falsified from the outside, and encrypted application software The present invention relates to a decryption processing program for decrypting a mobile terminal device.

近年、携帯端末装置は、スマートホン、電子タブレット等と様々な形態のものが普及してきており、これら様々な携帯端末装置において多様なアプリケーションソフトウェアが利用されている。特に、これらの携帯端末装置を用いてユーザがさまざまな動画像や音声を楽しむアプリケーションソフトウェアが広く普及している。携帯端末装置を動画像、音声の再生装置として使うことは、固定的な携帯端末装置のハードウェアを必要としないため、手軽に動画像、音声の再生が楽しめるという利点がある。   In recent years, various types of mobile terminal devices such as smart phones and electronic tablets have become widespread, and various types of application software are used in these various mobile terminal devices. In particular, application software that allows users to enjoy various moving images and sounds using these portable terminal devices has become widespread. Using a mobile terminal device as a moving image / sound playback device has the advantage that it can easily play back moving images and sounds because it does not require fixed mobile terminal device hardware.

しかしながら画像/音声のデータを通信回線を通じて携帯端末装置に配布する場合に、それら画像/音声の著作権をいかにして保護するかという課題がある。特許文献1などでは、それらの画像や音楽の著作物のデータを、不正コピーから保護するために暗号化して、携帯端末装置上で動作するアプリケーションソフトウェアでその暗号化データを復号化させていた。しかし、そのアプリケーションソフトウェアのプログラムが不正に解析されて不正に改造されてしまうと、著作物の不正コピーが可能になってしまう問題があった。   However, when distributing image / sound data to a portable terminal device through a communication line, there is a problem of how to protect the copyright of the image / sound. In Patent Document 1 and the like, data of copyrighted works of images and music are encrypted in order to protect them from unauthorized copying, and the encrypted data is decrypted by application software that operates on the mobile terminal device. However, if the application software program is illegally analyzed and illegally modified, there is a problem that unauthorized copying of the copyrighted work becomes possible.

また、その他の種類のアプリケーションソフトウェアについても同様にそのプログラムが不正に解析されて不正に改造される可能性がある弱点があり、携帯端末装置を通じた高度な情報サービスの適用の妨げになっていた。   Similarly, other types of application software have the same weakness that the program may be illegally analyzed and altered illegally, hindering the application of advanced information services through mobile terminal devices. .

この問題を解決するために、特許文献2などでは、ソフトウェアも暗号化することで、ソフトウェアが解読、改竄されることを防止する技術が開示されている。この技術は耐タンパソフトウェア技術と呼ばれている(DavidAucsmith et.al;“Tamper Resistant Software:An Implementation”,Proceedingof the 1996 Intel Software Developer's Conference)。   In order to solve this problem, Patent Document 2 discloses a technique for preventing software from being decrypted and falsified by encrypting the software. This technology is called tamper resistant software technology (DavidAucsmith et.al; “Tamper Resistant Software: An Implementation”, Proceeding of the 1996 Intel Software Developer's Conference).

耐タンパソフトウェア技術は、アプリケーションソフトウェアのうち保護を要する部分を実行開始時には暗号化しておき、その部分を実行する前に復号化し、実行終了後に再び暗号化することにより、逆アセンブラ、デバッガなどの解析ツールによる解析を困難にする技術である。   Tamper-resistant software technology analyzes the parts of application software that require protection at the start of execution, decrypts them before execution, and re-encrypts them after execution. It is a technology that makes analysis with tools difficult.

特開平9−307545号公報JP-A-9-307545 特開2004−280678号公報JP 2004-280678 A

上述した耐タンパソフトウェア技術は、高度なソフトウェアのセキュリティ技術であるが、スマートホン、電子タブレット等の携帯端末装置の利用者に、操作性の高い利便性を与えつつ種々のアプリケーションソフトウェアを供給する場合に、ソフトウェアの難読化機能が過剰であると、アプリケーションソフトウェアの流通の利便性を損なうという問題
があった。
The above-described tamper-resistant software technology is an advanced software security technology. However, when various application software is supplied to a user of a mobile terminal device such as a smart phone or an electronic tablet while providing high usability and convenience. In addition, if the software obfuscation function is excessive, there is a problem that the convenience of distribution of application software is impaired.

本発明は、このような実情を鑑みて提案されたものであり、処理を簡易化した利便性の高い方法で、アプリケーションソフトウェアを難読化しセキュリティを高めて供給することで、アプリケーションソフトウェアの流通の利便性を高めることを目的とする。   The present invention has been proposed in view of such circumstances, and provides convenience for distribution of application software by providing application software with obfuscation and increased security in a highly convenient method with simplified processing. The purpose is to improve sex.

本発明は、上記課題を解決するために、アプリケーションソフトウェアを不揮発性メモリに記憶しRAMにプログラムを展開して実行する携帯端末装置であって、コア部分が複数のプログラムに分割されて公開鍵と対になる秘密鍵によって暗号化されたアプリケーションソフトウェアを受け取り、復号処理プログラムを実行することによって前記アプリケーションソフトウェアの前記コア部分の複数のプログラムを前記公開鍵を用いて順次に復号化して、前記RAMの同じ記憶領域に以前のプログラムに上書きして書き込んで実行する処理を繰り返すことで前記アプリケーションソフトウェアのコア部分を実行することを特徴とする携帯端末装置である。   In order to solve the above problems, the present invention is a portable terminal device that stores application software in a non-volatile memory, and develops and executes a program in a RAM. The core part is divided into a plurality of programs and a public key The application software encrypted with the paired secret key is received, and the decryption program is executed to sequentially decrypt the plurality of programs in the core part of the application software using the public key, and The portable terminal device is characterized in that the core part of the application software is executed by repeating the process of overwriting, writing, and executing the previous program in the same storage area.

これにより、本発明の携帯端末装置は、不揮発性メモリに記憶したアプリケーションソフトウェアのコア部分が暗号化されているのでクラッカーに解読されず、また、復号化したコア部分の複数のプログラムがRAM上の同じ記憶領域に順次に上書きされて実行されるので、RAM上に短時間しか存在しないので、クラッカーによりアプリケーションソフトウェアが解読されて改ざんされる恐れを少なくし高いセキュリティでアプリケーションソフトウェアを利用することができる。   As a result, the mobile terminal device of the present invention is not decrypted by the cracker because the core part of the application software stored in the non-volatile memory is encrypted, and a plurality of programs of the decrypted core part are stored on the RAM. Since the same storage area is sequentially overwritten and executed, there is only a short time on the RAM, so that the application software can be used with high security, reducing the risk of the application software being decrypted and altered by a cracker. .

また、本発明は、上記の携帯端末装置であって、前記公開鍵を通信ネットワークを介して認証局から受信する通信手段を備えたことを特徴とする携帯端末装置である。   In addition, the present invention is the portable terminal device described above, further comprising a communication unit that receives the public key from a certificate authority via a communication network.

これにより、本発明の携帯端末装置は、認証局から公開鍵を受信して、改ざんされたアプリケーションソフトウェアが不正な公開鍵を用いて暗号化されて正規なアプリケーションソフトウェアに偽装して流通されることを防止できる。   As a result, the mobile terminal device of the present invention receives the public key from the certificate authority, and the altered application software is encrypted using an illegal public key and disguised as legitimate application software for distribution. Can be prevented.

また、本発明は、上記の携帯端末装置であって、前記コア部分が複数のプログラムに分割されて、該分割された部分のハッシュ値と合わせて暗号化され、前記復号処理プログラムが、該暗号化された部分をプログラムとハッシュ値とに復号化し、次に前記復号化されたプログラムのハッシュ値を計算し該ハッシュ値を前記復号化されたハッシュ値と照合することを特徴とする携帯端末装置である。   Further, the present invention is the portable terminal device described above, wherein the core part is divided into a plurality of programs and encrypted together with the hash value of the divided part, and the decryption processing program is A mobile terminal device that decrypts the converted portion into a program and a hash value, calculates a hash value of the decrypted program, and collates the hash value with the decrypted hash value It is.

これにより、本発明の携帯端末装置は、不正に改ざんされたアプリケーションソフトウェアを発見し正規のアプリケーションソフトウェアのみを用いることができる。   Thereby, the portable terminal device of the present invention can find application software that has been tampered with illegally and use only legitimate application software.

また、本発明は、上記の携帯端末装置であって、前記復号処理プログラムが、前記RAMの同じ記憶領域に以前のプログラムに上書きして書き込んで実行する処理を繰り返すことを特徴とする携帯端末装置である。   Further, the present invention is the mobile terminal device described above, wherein the decryption processing program repeats a process of overwriting and executing a previous program in the same storage area of the RAM. It is.

また、本発明は、上記の携帯端末装置であって、前記アプリケーションソフトウェアが、前記復号処理プログラムと前記公開鍵を含むアプリケーションソフトウェアであることを特徴とする携帯端末装置である。   In addition, the present invention is the mobile terminal device described above, wherein the application software is application software including the decryption program and the public key.

また、本発明は、携帯端末装置において不揮発性メモリに記憶したアプリケーションソフトウェアのプログラムをRAMに展開して実行する復号処理プログラムであって、前記アプリケーションソフトウェアのコア部分が複数のプログラムに分割されて公開鍵と対に
なる秘密鍵によって暗号化されており、コア部分の暗号化された前記複数のプログラムを前記公開鍵を用いて順次に復号化して、前記RAMの同じ記憶領域に以前のプログラムに上書きして書き込んで実行する処理を繰り返すことを特徴とする復号処理プログラムである。
Further, the present invention is a decryption processing program for executing an application software program stored in a non-volatile memory in a portable terminal device by expanding the program on a RAM, and publishing the core portion of the application software divided into a plurality of programs Encrypted with a private key that is paired with the key, the plurality of programs encrypted in the core part are sequentially decrypted using the public key, and the previous program is overwritten in the same storage area of the RAM The decryption processing program is characterized in that the processing to be written and executed is repeated.

また、本発明は、上記の復号処理プログラムであって、前記分割された複数のプログラムと、該プログラムのハッシュ値とが合わせて暗号化されており、前記復号処理プログラムが、暗号化された前記複数のプログラムとハッシュ値を復号化し、次に前記復号化されたプログラムのハッシュ値を計算し該ハッシュ値を前記復号化されたハッシュ値と照合することを特徴とする復号処理プログラムである。   Further, the present invention is the above decryption program, wherein the plurality of divided programs and the hash value of the program are encrypted together, and the decryption program is encrypted. A decryption processing program that decrypts a plurality of programs and hash values, calculates a hash value of the decrypted program, and collates the hash value with the decrypted hash value.

本発明は、携帯端末装置が不揮発性メモリに記憶したアプリケーションソフトウェアのコア部分が暗号化されているので、アプリケーションソフトウェアがクラッカーに解読されず、また、コアモジュールが復号化されてRAM上に展開されるが、その複合化されたプログラムがRAM上の同じ記憶領域に頻繁に上書きされるので、RAM上にコアモジュールのプログラムが短時間しか存在しないので、クラッカーによりアプリケーションソフトウェアの解読を困難にし、その改ざんの恐れを少なくし携帯端末装置において高いセキュリティでアプリケーションソフトウェアを利用できる。それにより、利便性が高く、アプリケーションソフトウェアの流通を促進できる効果がある。   In the present invention, since the core part of the application software stored in the nonvolatile memory by the mobile terminal device is encrypted, the application software is not decrypted by the cracker, and the core module is decrypted and expanded on the RAM. However, since the combined program is frequently overwritten in the same storage area in the RAM, the core module program exists in the RAM for only a short time, making it difficult for the cracker to decipher the application software. Application software can be used with high security in a portable terminal device with less risk of tampering. Thereby, it is highly convenient and has an effect of promoting the distribution of application software.

第1の実施形態の情報処理システムの構成を示すブロック図である。It is a block diagram which shows the structure of the information processing system of 1st Embodiment. (a)第1の実施形態の情報処理システムにおけるアプリ供給装置の構成を示すブロック図である。(b)第1の実施形態の情報処理システムにおける携帯端末装置の構成を示すブロック図である。(A) It is a block diagram which shows the structure of the application supply apparatus in the information processing system of 1st Embodiment. (B) It is a block diagram which shows the structure of the portable terminal device in the information processing system of 1st Embodiment. 第1の実施形態のアプリ供給装置が作成するアプリケーションソフトウェアのデータ構造を示す図である。It is a figure which shows the data structure of the application software which the application supply apparatus of 1st Embodiment produces. 第1の実施形態の情報処理システムにおいて携帯端末装置が、アプリケーションソフトウェアのデータをRAMの記憶領域上へ展開するデータの流れを示すブロック図である。It is a block diagram which shows the data flow which a portable terminal device expand | deploys the data of application software on the storage area of RAM in the information processing system of 1st Embodiment. 第1の実施形態の情報処理システムにおけるアプリ供給装置の動作及び携帯端末装置の動作を示すフローチャートである。It is a flowchart which shows operation | movement of the application supply apparatus in the information processing system of 1st Embodiment, and operation | movement of a portable terminal device.

以下、本発明の実施の形態について説明する。
[第1の実施形態]
図1は、第1の実施形態による情報処理システム1の構成を示すブロック図である。情報処理システム1は、アプリ供給装置10と、携帯端末装置20と、通信ネットワーク100を備えている。通信ネットワーク100には認証局200が接続している。図2に、情報処理システム1におけるアプリ供給装置10と携帯端末装置20の構成を示す。
Embodiments of the present invention will be described below.
[First Embodiment]
FIG. 1 is a block diagram showing a configuration of an information processing system 1 according to the first embodiment. The information processing system 1 includes an application supply device 10, a mobile terminal device 20, and a communication network 100. A certificate authority 200 is connected to the communication network 100. FIG. 2 shows configurations of the application supply device 10 and the mobile terminal device 20 in the information processing system 1.

(アプリ供給装置)
図2(a)に、アプリ供給装置10の構成を示す。アプリ供給装置10は、CPU(Central Processing Unit)で構成した制御手段11、ROM12(Read Only Memory)、RAM(Ramdom Access Memory)13、バス14、インターフェイス(I/F)15、通信部16、入出力部17、ディスプレイ18、磁気ディスク19を備えている。
(App supply device)
FIG. 2A shows the configuration of the application supply apparatus 10. The application supply device 10 includes a control unit 11 configured by a CPU (Central Processing Unit), a ROM 12 (Read Only Memory), a RAM (Random Access Memory) 13, a bus 14, an interface (I / F) 15, a communication unit 16, an input An output unit 17, a display 18, and a magnetic disk 19 are provided.

制御手段11、ROM12、RAM13、インターフェイス15は、バス14によって
相互に接続する。通信部16、入出力部17、ディスプレイ18及び磁気ディスク19は、インターフェイス15によってバス14に接続する。ROM12は、不揮発性の読み出し専用メモリである。ROM12には、オペレーティングシステム(以下、「OS」という。)などの基本ソフトウェアが記憶されている。
The control means 11, ROM 12, RAM 13, and interface 15 are connected to each other by a bus 14. The communication unit 16, the input / output unit 17, the display 18, and the magnetic disk 19 are connected to the bus 14 by the interface 15. The ROM 12 is a nonvolatile read-only memory. The ROM 12 stores basic software such as an operating system (hereinafter referred to as “OS”).

制御手段11は、ROM12に記憶されているOSや、磁気ディスク19から読み出されてRAM13に展開されたプログラムに従って、各種の処理を実行する。RAM13は、記憶しているデータの書き換えが可能な揮発性のメモリであって、制御手段11が各種の処理を実行する上において必要なプログラムなどを記憶する。   The control unit 11 executes various processes in accordance with the OS stored in the ROM 12 and the program read from the magnetic disk 19 and developed in the RAM 13. The RAM 13 is a volatile memory capable of rewriting stored data, and stores programs necessary for the control means 11 to execute various processes.

インターフェイス15は、通信部16、入出力部17、ディスプレイ18及び磁気ディスク19の間における情報の入出力を管理する。インターフェイス15は、バス14を介して、制御手段11、ROM12及びRAM13との間でデータを交換する。通信部16は、通信ネットワーク100を介して認証局200や携帯端末装置20との間の通信を媒介する。通信ネットワーク100は無線通信に限られず、有線通信回線も通信ネットワーク100に含まれる。   The interface 15 manages input / output of information among the communication unit 16, the input / output unit 17, the display 18 and the magnetic disk 19. The interface 15 exchanges data with the control unit 11, the ROM 12 and the RAM 13 via the bus 14. The communication unit 16 mediates communication with the certificate authority 200 and the mobile terminal device 20 via the communication network 100. The communication network 100 is not limited to wireless communication, and a wired communication line is also included in the communication network 100.

入出力部17は、例えばキーボードやポインティングデバイスなどであり、ユーザの操作に応じて、ユーザからの各種の指令、その他必要な情報などを入力する。ディスプレイ18は、例えばLCD(液晶表示装置)であり、文字や画像など各種情報を表示する。磁気ディスク19には、暗号化/復号化プログラム(例えば暗号化処理ルーチン及び復号処理ルーチンなど)、アプリケーションソフトウェアD10のプログラム、鍵Ko、各鍵の属性情報、プログラムの実行に必要なデータが記憶されている。   The input / output unit 17 is, for example, a keyboard or a pointing device, and inputs various commands from the user and other necessary information in accordance with the user's operation. The display 18 is an LCD (Liquid Crystal Display), for example, and displays various information such as characters and images. The magnetic disk 19 stores an encryption / decryption program (for example, an encryption processing routine and a decryption processing routine), a program of the application software D10, a key Ko, attribute information of each key, and data necessary for executing the program. ing.

アプリ供給装置10は、携帯端末装置20に提供するアプリケーションソフトウェアD10のプログラムを、図3のデータ構造のように、そのプログラムのコア部分と、残りのプログラム部分とに分割する。プログラムのコア部分とは、アプリケーションソフトウェアD10のプログラムにおいて重要な処理を行うプログラム部分や、解読を防ぎたい重要なデータである。次に、そのプログラムのコア部分を、更に複数の、コアの分割プログラム部分Cに分割し、各プログラム部分を以下のようにして個別に暗号化することで、例えば、暗号化されたコアモジュールD11、D12、D13、D14のデータを作成する。   The application supply device 10 divides the program of the application software D10 provided to the mobile terminal device 20 into a core portion of the program and the remaining program portions as in the data structure of FIG. The core part of the program is a program part that performs an important process in the program of the application software D10 and important data that is desired to prevent decryption. Next, the core part of the program is further divided into a plurality of divided program parts C of the core, and each program part is individually encrypted as follows, for example, an encrypted core module D11. , D12, D13, D14 data is created.

アプリ供給装置10は、複数個作成したコアの分割プログラム部分Cを、個別に、秘密鍵Kgを用いて暗号化して暗号化データE(C,Ko)を作成する。すなわち、第1のコアの分割プログラム部分Cの暗号化データE(C,Ko)である暗号化されたコアモジュールD11と、第2のコアの分割プログラム部分Cの暗号化データE(C,Ko)である暗号化されたコアモジュールD12と、第3のコアの分割プログラム部分Cの暗号化されたコアモジュールD13と、第4のコアの分割プログラム部分Cの暗号化されたコアモジュールD14を作成する。   The application supply apparatus 10 individually encrypts a plurality of core division program parts C created using a secret key Kg to create encrypted data E (C, Ko). That is, the encrypted core module D11 that is the encrypted data E (C, Ko) of the divided program part C of the first core and the encrypted data E (C, Ko) of the divided program part C of the second core. ), The encrypted core module D13 of the third core divided program part C, and the encrypted core module D14 of the fourth core divided program part C are created. To do.

そして、アプリ供給装置10は、暗号化されたコアモジュールD11、D12、D13、D14と、アプリケーションソフトウェアD10の残りのプログラム部分の、アプリの非コアプログラムD15と、復号処理プログラムD16のデータを合わせてアプリケーションソフトウェアD10のデータを作成し携帯端末装置20に渡す。   Then, the application supply apparatus 10 combines the data of the encrypted core modules D11, D12, D13, and D14, the application non-core program D15 of the remaining program portion of the application software D10, and the decryption processing program D16. Data of the application software D10 is created and passed to the mobile terminal device 20.

(携帯端末装置)
図2(b)に、携帯端末装置20の構成を示す。携帯端末装置20は、制御手段21とRAM22とROM23と不揮発性メモリ24とインターフェイス25をバス26に接続して備え、インターフェイス25に通信部27と無線LAN通信部28とUSB入出力部29を接続して備える。不揮発性メモリ24は、フラッシュメモリで構成することができ
る。また、不揮発性メモリ24には、その他に、携帯端末装置20に内蔵されるハードディスクや、可搬媒体の形態のROM、ハードディスク、フレキシブルディスク、光磁気ディスク、CD−ROM等の記憶媒体を用いることもできる。
(Mobile terminal device)
FIG. 2B shows the configuration of the mobile terminal device 20. The portable terminal device 20 includes a control unit 21, a RAM 22, a ROM 23, a nonvolatile memory 24, and an interface 25 connected to a bus 26, and a communication unit 27, a wireless LAN communication unit 28, and a USB input / output unit 29 are connected to the interface 25. Prepare. The nonvolatile memory 24 can be configured by a flash memory. In addition, for the nonvolatile memory 24, a storage medium such as a hard disk built in the portable terminal device 20, a ROM in the form of a portable medium, a hard disk, a flexible disk, a magneto-optical disk, a CD-ROM, or the like is used. You can also.

制御手段21は、ROM23に記憶されているOSや、不揮発性メモリ24から読み出されたアプリケーションソフトウェアD10がRAM22上にリンクして展開されたプログラムに従って、各種の処理を実行する。RAM22は、記憶しているデータの書き換えが可能な揮発性のメモリであって、制御手段21が各種の処理を実行する上において必要なプログラムなどを記憶する。   The control means 21 executes various processes in accordance with an OS stored in the ROM 23 and a program in which the application software D10 read from the nonvolatile memory 24 is linked to the RAM 22 and expanded. The RAM 22 is a volatile memory capable of rewriting stored data, and stores programs necessary for the control means 21 to execute various processes.

インターフェイス25は、バス26を介して、制御手段21、ROM23及びRAM22との間でデータを交換する。通信部27は、通信ネットワーク100を介して、アプリ供給装置10および認証局200との間の無線通信を媒介する。   The interface 25 exchanges data with the control means 21, ROM 23, and RAM 22 via the bus 26. The communication unit 27 mediates wireless communication between the application supply device 10 and the certificate authority 200 via the communication network 100.

ROM23には、例えば制御手段21の制御プログラム(例えば、復号処理ルーチンなど)が記憶されている。不揮発性メモリ24には、制御手段21が実行するプログラム、プログラムの実行に必要なデータ、複数のファイル、認証用又はセキュアメッセージング(SM)用の鍵Ko及びその属性情報(鍵Koの暗号アルゴリズム、鍵サイズなど)が記憶されている。   In the ROM 23, for example, a control program (for example, a decryption processing routine) of the control means 21 is stored. The nonvolatile memory 24 includes a program executed by the control means 21, data necessary for executing the program, a plurality of files, a key Ko for authentication or secure messaging (SM), and attribute information thereof (an encryption algorithm for the key Ko, Key size) is stored.

携帯端末装置20は、複数のアプリ供給装置10がプログラムのコア部分を暗号化したアプリケーションソフトウェアD10に対応することが可能であり、各アプリ供給装置10が暗号化したアプリケーションソフトウェアD10毎に、認証局200から、そのアプリ供給装置10のID番号に対して発行された公開鍵証明書を受信し、その公開鍵証明書に収められたアプリ供給装置10の公開鍵KoをRAM22に記憶する。すなわち、携帯端末装置20は、複数のアプリ供給装置10毎に、複数の鍵Koを取得してRAM22に記憶する。   The mobile terminal device 20 can correspond to the application software D10 in which a plurality of application supply devices 10 have encrypted the core part of the program. For each application software D10 encrypted by each application supply device 10, a certificate authority is provided. From 200, the public key certificate issued for the ID number of the application supply device 10 is received, and the public key Ko of the application supply device 10 stored in the public key certificate is stored in the RAM 22. That is, the mobile terminal device 20 acquires a plurality of keys Ko for each of the plurality of application supply devices 10 and stores them in the RAM 22.

(インストール用のアプリケーションソフトウェアのデータ構造)
図3に、アプリ供給装置10が作成して携帯端末装置20にインストールするアプリケーションソフトウェアD10のデータ構造を示す。このアプリケーションソフトウェアD10は、アプリ供給装置10から携帯端末装置20に送付され、携帯端末装置20の不揮発性メモリ24に記憶させる。
(Data structure of application software for installation)
FIG. 3 shows a data structure of application software D10 created by the application supply device 10 and installed in the mobile terminal device 20. The application software D10 is sent from the application supply device 10 to the mobile terminal device 20, and is stored in the nonvolatile memory 24 of the mobile terminal device 20.

インストール用のアプリケーションソフトウェアD10は、アプリ供給装置10が、重要な処理を行うコア部分を複数のコアモジュールD11、D12、D13、D14に分解して、個々のコアモジュール毎に暗号化したコアモジュールを作成する。   The application software D10 for installation is obtained by disassembling a core part that the application supply apparatus 10 performs important processing into a plurality of core modules D11, D12, D13, and D14, and encrypting each core module. create.

そして、暗号化したコアモジュールを、平文の、アプリの非コアプログラムD15と合わせ、更に、復号処理プログラムD16を加えて、インストール用のアプリケーションソフトウェアD10のデータを構成する。復号処理プログラムD16は、暗号化したコアモジュールD11、D12、D13、D14を複合化し、更にプログラムをリンクするプログラムである。こうして、暗号化された複数のコアモジュールD11、D12、D13、D14と復号処理プログラムD16をセットにして、アプリの非コアプログラムD15と合わせて1つのアプリケーションソフトウェアD10を構成する。   Then, the encrypted core module is combined with the plain text application non-core program D15, and the decryption processing program D16 is further added to constitute data of the application software D10 for installation. The decryption processing program D16 is a program that combines the encrypted core modules D11, D12, D13, and D14 and further links the programs. In this way, a plurality of encrypted core modules D11, D12, D13, D14 and a decryption processing program D16 are set as a set, and together with the non-core program D15 of the application, one application software D10 is configured.

アプリケーションソフトウェアD10をこのデータ構造にすることで、アプリケーションソフトウェアD10を解析しようとするクラッカーが、携帯端末装置20の不揮発性メモリ24からアプリケーションソフトウェアD10を読み出しても、そのプログラムが暗号化されているので解読できない効果がある。   By making the application software D10 into this data structure, even if a cracker who wants to analyze the application software D10 reads the application software D10 from the nonvolatile memory 24 of the mobile terminal device 20, the program is encrypted. There is an effect that cannot be deciphered.

また、携帯端末装置20は、復号処理プログラムD16を実行することで、図4のように、アプリケーションソフトウェアD10の暗号化されたコアモジュールD11、D12、D13、D14の1つを、復号化して携帯端末装置20のRAM22上のアプリのコア領域22aに以前のプログラムに上書きして展開する。   Further, the mobile terminal device 20 executes the decryption processing program D16 to decrypt and carry one of the encrypted core modules D11, D12, D13, and D14 of the application software D10 as shown in FIG. The previous program is overwritten and expanded in the core area 22a of the application on the RAM 22 of the terminal device 20.

そして、復号処理プログラムD16が、携帯端末装置20に、その上書きしたプログラムを実行させた上で、次の、暗号化されたコアモジュールを復号化して、再びアプリのコア領域22aに先のプログラムに上書きして展開する。   Then, the decryption processing program D16 causes the mobile terminal device 20 to execute the overwritten program, decrypts the next encrypted core module, and again stores the previous program in the core area 22a of the application. Overwrite and expand.

こうして、携帯端末装置20は、復号処理プログラムD16のプログラムに従って、RAM22上の同じアプリのコア領域22aに、次々とコアモジュールのプログラムを上書きする動的リンク処理を行う。   In this way, the mobile terminal device 20 performs dynamic link processing for overwriting the core module program one after another in the core area 22a of the same application on the RAM 22 in accordance with the program of the decryption processing program D16.

なお、この復号処理プログラムD16のプログラムの、コアモジュールのプログラムをアプリのコア領域22aへ上書きさせる動的リンク機能は、暗号化した各コアモジュールD11、D12、D13、D14内のプログラムに組み込んだ形で実装しても良い。   It should be noted that the dynamic link function of overwriting the core module program 22a of the program of the decryption processing program D16 is incorporated into the encrypted program in each of the core modules D11, D12, D13, D14. It may be implemented with.

すなわち、復号化された各コアモジュールに、次のコアモジュールのプログラムを、RAM22上のアプリのコア領域22aへ上書きする処理を行う動的リンク機能を持たせる。それにより、次のコアモジュールのプログラムをアプリのコア領域22aに上書きして展開して、先のプログラムの実行後に、アプリのコア領域22aへ上書きした次のプログラムの実行を開始する。次に、次のコアモジュールのプログラムを、その同じアプリのコア領域22aに上書きする。そうして、順次に複数のプログラムをRAM22上の同じアプリのコア領域22aに上書きして実行させる。   That is, each decrypted core module is provided with a dynamic link function for performing a process of overwriting the program of the next core module on the core area 22 a of the application on the RAM 22. As a result, the program of the next core module is overwritten and expanded on the core area 22a of the application, and after execution of the previous program, execution of the next program overwritten on the core area 22a of the application is started. Next, the program of the next core module is overwritten on the core area 22a of the same application. Then, a plurality of programs are sequentially overwritten on the core area 22a of the same application on the RAM 22 and executed.

以上のように、次に実行するプログラムをリンクする機能を、各コアモジュールのプログラム内に組み込んでも良い。   As described above, a function for linking a program to be executed next may be incorporated in the program of each core module.

複数の暗号化したコアモジュールD11、D12、D13、D14は、アプリ供給装置10が作成する。すなわち、アプリ供給装置10が、公開鍵暗号方式を利用して、アプリケーションソフトウェアD10のプログラムのコア部分を複数に分割して、各部分毎に暗号化してコアモジュールD11、D12、D13、D14を作成する。   The application supply apparatus 10 creates a plurality of encrypted core modules D11, D12, D13, and D14. That is, the application supply apparatus 10 divides the core part of the program of the application software D10 into a plurality of parts by using a public key cryptosystem, and creates the core modules D11, D12, D13, D14 by encrypting each part. To do.

そして、携帯端末装置20は、復号処理プログラムD16を実行することで、インストール用のアプリケーションソフトウェアD10のコアモジュールD11、D12、D13、D14を、アプリケーションソフトウェアD10の動作に応じて動的に復号化して、先に実行したプログラムが書き込まれていたRAM22上のアプリのコア領域22aに、次のコアモジュールのプログラムを上書きし、そのように上書きしたプログラムを実行する。   Then, the mobile terminal device 20 executes the decryption processing program D16 to dynamically decrypt the core modules D11, D12, D13, and D14 of the application software D10 for installation according to the operation of the application software D10. The program of the next core module is overwritten on the core area 22a of the application on the RAM 22 in which the previously executed program is written, and the overwritten program is executed.

(情報処理システム全体の動作の概要)
以下に、本実施形態の情報処理システム1全体の動作の概要を説明する。
(電子署名の公開鍵の登録)
先ず、アプリ供給装置10が予め、鍵生成アルゴリズムを実行して電子署名の公開鍵Koおよび秘密鍵Kgを生成する。そして、その公開鍵Koを第三者機関を介して公開する。
(Overview of overall information processing system operation)
Below, the outline | summary of operation | movement of the information processing system 1 whole of this embodiment is demonstrated.
(Register electronic signature public key)
First, the application supply apparatus 10 previously executes a key generation algorithm to generate a public key Ko and a private key Kg for an electronic signature. Then, the public key Ko is disclosed through a third party organization.

(インストール用のアプリケーションソフトウェアを暗号化して作成)
アプリ供給装置10は、アプリケーションソフトウェアD10のプログラムを、図3の
ブロック図のように、そのプログラムのコア部分と、残りのプログラム部分の、アプリの非コアプログラムD15に分割する。次に、そのプログラムのコア部分は、複数のコアモジュールに分割し、その各々のコアの分割プログラム部分Cを、秘密鍵Kgを用いて暗号化して暗号化データE(C,Ko)を作成する。各コアの分割プログラム部分Cの暗号化データE(C,Ko)をコアモジュールD11、D12、D13、D14とする。
(Created by encrypting the application software for installation)
As shown in the block diagram of FIG. 3, the application supply apparatus 10 divides the program of the application software D10 into a core part of the program and a non-core program D15 of the application, which is the remaining program part. Next, the core portion of the program is divided into a plurality of core modules, and the divided program portion C of each core is encrypted using the secret key Kg to create encrypted data E (C, Ko). . The encrypted data E (C, Ko) of the divided program portion C of each core is assumed to be core modules D11, D12, D13, and D14.

そして、アプリ供給装置10は、アプリケーションソフトウェアD10として、そのコアモジュールD11、D12、D13、D14と、公開鍵Koを含む復号処理プログラムD16と、アプリの非コアプログラムD15とを合わせたデータを作成し携帯端末装置20に送付する。   And the application supply apparatus 10 produces the data which combined the core module D11, D12, D13, D14, the decryption processing program D16 containing the public key Ko, and the application non-core program D15 as application software D10. It is sent to the mobile terminal device 20.

(インストール用のアプリケーションソフトウェアの復号化)
図4に、携帯端末装置20において、アプリケーションソフトウェアD10を不揮発性メモリ24に格納した後に、そのプログラムをRAM22上へ展開して実行する動作を行うデータの流れを示す。特に、コアモジュールD1、D2、D3、D4は、それらを復号化処理して、RAM22の同じ記憶領域のアプリのコア領域に順次に上書きして実行する。
(Decrypt application software for installation)
FIG. 4 shows a data flow in the portable terminal device 20 in which the application software D10 is stored in the nonvolatile memory 24 and then the program is expanded on the RAM 22 and executed. In particular, the core modules D 1, D 2, D 3, and D 4 decrypt them and sequentially overwrite the core areas of the apps in the same storage area of the RAM 22 for execution.

携帯端末装置20は、アプリ供給装置10から送付されたアプリケーションソフトウェアD10を不揮発性メモリ24に記憶する。アプリケーションソフトウェアD10は、公開鍵Koを含む復号処理プログラムD16と、暗号化された複数のコアモジュールD11、D12、D13、D14と、そのアプリケーションソフトウェアD10の残りのアプリの非コアプログラムD15から成る。そして、携帯端末装置20がそのアプリケーションソフトウェアD10を実行する際に、その機能の実行が必要になったプログラムのデータを、必要な都度RAM22上に展開して記憶する。   The mobile terminal device 20 stores the application software D10 sent from the application supply device 10 in the nonvolatile memory 24. The application software D10 includes a decryption processing program D16 including the public key Ko, a plurality of encrypted core modules D11, D12, D13, and D14, and a non-core program D15 of the remaining application of the application software D10. Then, when the mobile terminal device 20 executes the application software D10, data of a program that is required to execute the function is expanded and stored on the RAM 22 whenever necessary.

特に、暗号化したデータであるコアモジュールD1、D2、D3、D4は、それを復号化したコアの分割プログラム部分CはRAM22上のアプリのコア領域22aにのみ記憶する。そして、1つのコアの分割プログラム部分Cのプログラムの実行を終えたら、次の各コアの分割プログラム部分Cの暗号化データE(C,Ko)を公開鍵Koを用いて復号してコアの分割プログラム部分Cを作成し、そのコアの分割プログラム部分Cを、先に実行したコアの分割プログラム部分Cを記憶していたRAM22上の同じアプリのコア領域22aに上書きする。それにより、先のモジュールのプログラムの記憶を消去する。   In particular, the core modules D 1, D 2, D 3, and D 4 that are encrypted data are stored in the core area 22 a of the application on the RAM 22 only in the divided program portion C of the core that is decrypted. When the execution of the program of the divided program part C of one core is finished, the encrypted data E (C, Ko) of the divided program part C of each next core is decrypted using the public key Ko, and the core is divided. A program part C is created, and the divided program part C of the core is overwritten on the core area 22a of the same application on the RAM 22 in which the divided program part C of the core executed previously is stored. Thereby, the memory of the program of the previous module is erased.

このように、複数の復号化したコアの分割プログラム部分Cを同じRAM22上のアプリのコア領域22aに上書きして展開することで、アプリケーションソフトウェアD10のセキュリティを高くすることができる効果がある。   In this way, there is an effect that the security of the application software D10 can be increased by overwriting and expanding the plurality of decrypted core divided program portions C on the core area 22a of the application on the same RAM 22.

また、アプリケーションソフトウェアD10のプログラムのコア部分を複数のコアの分割プログラム部分Cに分割して、RAM22上の同じ領域であるアプリのコア領域22aに上書きして実行するので、プログラムを実行するためにRAM22を占有する記憶領域を小さくできRAM22の記憶容量を節約できる効果がある。そして、携帯端末装置20のRAM22の記憶領域の容量にかかわらず、長い大きなコア部分のプログラムを実行させることができる効果がある。   In addition, since the core part of the program of the application software D10 is divided into a plurality of divided program parts C of the core and overwritten on the core area 22a of the application which is the same area on the RAM 22, the program is executed. The storage area occupied by the RAM 22 can be reduced, and the storage capacity of the RAM 22 can be saved. In addition, regardless of the capacity of the storage area of the RAM 22 of the mobile terminal device 20, there is an effect that a long and large core program can be executed.

以下、図5のフローチャートを参照して、本実施形態の情報処理システム1のアプリ供給装置10動作と携帯端末装置20の動作を説明する。   Hereinafter, the operation of the application supply device 10 and the operation of the mobile terminal device 20 of the information processing system 1 according to the present embodiment will be described with reference to the flowchart of FIG.

(アプリ供給装置の動作)
図5に、アプリ供給装置10において、制御手段11がアプリケーションソフトウェア
D10のプログラムのコア部分を複数のモジュールに分解して、それぞれを暗号化する暗号化処理ルーチンのフローチャートを示す。
(Operation of application supply device)
FIG. 5 shows a flowchart of an encryption processing routine in the application supply apparatus 10 in which the control means 11 disassembles the core portion of the program of the application software D10 into a plurality of modules and encrypts each module.

(アプリケーションソフトウェアの暗号化処理)
暗号化処理ルーチンは、アプリケーションソフトウェアD10のプログラムのコア部分を分解した複数のモジュールの1つであるコアの分割プログラム部分Cを暗号化する。図5には、更に、携帯端末装置20の制御手段21が暗号化データE(C,Ko)を復号化処理する復号処理ルーチンのフローチャートも示す。
(Application software encryption processing)
The encryption processing routine encrypts the divided program part C of the core, which is one of a plurality of modules obtained by disassembling the core part of the program of the application software D10. FIG. 5 also shows a flowchart of a decryption processing routine in which the control means 21 of the mobile terminal device 20 decrypts the encrypted data E (C, Ko).

(ステップS1:プログラムのモジュール分割処理)
アプリ供給装置10の制御手段11は、アプリケーションソフトウェアD10のプログラムを、図3のブロック図のように、プログラムのコア部分と、残りのプログラム部分とに分割し、更に、そのコア部分を複数のコアの分割プログラム部分Cに分割する。
(Step S1: Program module division processing)
The control means 11 of the application supply apparatus 10 divides the program of the application software D10 into a core part of the program and the remaining program parts as shown in the block diagram of FIG. 3, and further, the core part is divided into a plurality of cores. Is divided into divided program parts C.

(ステップS2:暗号化処理)
次に、制御手段11が、コア部分を複数に分割した各コアの分割プログラム部分C毎に、以下の暗号化処理を行う。すなわち、制御手段11が、署名生成アルゴリズムの最初のプログラムで、例えばSHA−1関数などの一方向ハッシュ関数で、コアの分割プログラム部分Cの不可逆変換処理を行いハッシュ値H1を計算する。次に、制御手段11が、署名生成アルゴリズムの次のプログラムで、秘密鍵Kgを用いてコアの分割プログラム部分Cとそのハッシュ値を暗号化して暗号化データE(C,Ko)を作成する。
(Step S2: Encryption processing)
Next, the control means 11 performs the following encryption process for each divided program part C of each core obtained by dividing the core part into a plurality of parts. That is, the control means 11 calculates the hash value H1 by performing the irreversible conversion processing of the divided program part C of the core with the first program of the signature generation algorithm, for example, with a one-way hash function such as the SHA-1 function. Next, the control means 11 creates encrypted data E (C, Ko) by encrypting the divided program portion C of the core and its hash value using the secret key Kg with the program next to the signature generation algorithm.

こうして、複数に分割した各コアの分割プログラム部分Cから暗号化データE(C,Ko)を作成する。作成した各暗号化データE(C,Ko)を、コアモジュールD11、D12、D13、D14とする。コアモジュールD11、D12、D13、D14の全てを作成した場合は、ステップS3へ進む。   Thus, the encrypted data E (C, Ko) is created from the divided program portion C of each core divided into a plurality. The created encrypted data E (C, Ko) are set as core modules D11, D12, D13, and D14. When all the core modules D11, D12, D13, and D14 have been created, the process proceeds to step S3.

(ステップS3)
制御手段11は、公開鍵Koを含む復号処理プログラムD16と、アプリケーションソフトウェアのコア部分の暗号化されたコアモジュールD11、D12、D13、D14と、アプリの非コアプログラムD15とで構成したアプリケーションソフトウェアD10のデータを作成し、携帯端末装置20に送付する。
(Step S3)
The control means 11 includes application software D10 including a decryption processing program D16 including the public key Ko, encrypted core modules D11, D12, D13, and D14 of the core part of the application software, and a non-core program D15 of the application. Is created and sent to the mobile terminal device 20.

アプリケーションソフトウェアD10をアプリ供給装置10から携帯端末装置20へ送付する方法の1つとして、Webサーバから通信ネットワーク100を介する通信により、ユーザの携帯端末装置20へデータを送信することができる。携帯端末装置20は、通信部27や無線LAN通信部28でそのデータを受信する。また、USBメモリや、不揮発性メモリ24等の物理的媒体にアプリケーションソフトウェアD10のデータを記憶させて携帯端末装置20に送付することができる。すなわち、USBメモリを携帯端末装置20のUSB入出力部29で読み込ませたり、不揮発性メモリ24を携帯端末装置20に直接に実装することもできる。   As one method of sending the application software D10 from the application supply device 10 to the mobile terminal device 20, data can be transmitted from the Web server to the user's mobile terminal device 20 by communication via the communication network 100. The portable terminal device 20 receives the data through the communication unit 27 and the wireless LAN communication unit 28. Further, the data of the application software D10 can be stored in a physical medium such as a USB memory or the nonvolatile memory 24 and sent to the mobile terminal device 20. That is, the USB memory can be read by the USB input / output unit 29 of the mobile terminal device 20, or the nonvolatile memory 24 can be directly mounted on the mobile terminal device 20.

(携帯端末装置の動作)
図5に、携帯端末装置20において、制御手段21が暗号化されたアプリケーションソフトウェアD10を復号化してRAM22上に展開してプログラムを実行する手順のフローチャートを示す。
(Operation of mobile terminal device)
FIG. 5 shows a flowchart of a procedure in the mobile terminal device 20 in which the control means 21 decrypts the encrypted application software D10, develops it on the RAM 22, and executes the program.

(ステップS31)
携帯端末装置20の制御手段21は、認証局200から、アプリ供給装置10のID番号に対して発行された公開鍵証明書を受信し、公開鍵証明書に収められた公開鍵KoをR
AM22に記憶する。この動作は、次のステップS32の、アプリケーションソフトウェアD10の取り込みの後に行っても良い。
(Step S31)
The control means 21 of the mobile terminal device 20 receives the public key certificate issued to the ID number of the application supply device 10 from the certificate authority 200, and uses the public key Ko stored in the public key certificate as R.
Store in AM22. This operation may be performed after the loading of the application software D10 in the next step S32.

(ステップS32)
次に、制御手段21は、アプリ供給装置10から送信されたアプリケーションソフトウェアD10を不揮発性メモリ24に記憶する。すなわち、アプリケーションソフトウェアD10の、公開鍵Koを含む復号処理プログラムD16と、アプリケーションソフトウェアのコア部分の暗号化されたコアモジュールD11、D12、D13、D14と、アプリの非コアプログラムD15のデータを不揮発性メモリ24に記憶する。
(Step S32)
Next, the control means 21 stores the application software D10 transmitted from the application supply device 10 in the nonvolatile memory 24. That is, the decryption program D16 including the public key Ko of the application software D10, the encrypted core modules D11, D12, D13, and D14 of the core part of the application software, and the non-core program D15 of the application are nonvolatile. Store in the memory 24.

(ステップS33)
次に、制御手段21は、復号処理プログラムD16が含む公開鍵Koの正当性を、認証局200から受け取った公開鍵証明書から読み出してRAM22に記憶した公開鍵Koと照合して検証する。その認証ができない場合、そのアプリケーションソフトウェアD10の実行を中止する。認証が正常に行えた場合は、ステップS34へ進む。
(Step S33)
Next, the control means 21 verifies the validity of the public key Ko included in the decryption processing program D16 by comparing it with the public key Ko read from the public key certificate received from the certificate authority 200 and stored in the RAM 22. If the authentication cannot be performed, the execution of the application software D10 is stopped. If the authentication is successful, the process proceeds to step S34.

(ステップS34)
制御手段21は、ユーザからの、アプリケーションソフトウェアD10の動作開始指令を受けて、以下のようにして、アプリケーションソフトウェアD10のプログラムを動作させる。先ず、制御手段21は、不揮発性メモリ24から、実行すべきアプリケーションソフトウェアD10の、アプリの非コアプログラムD15を読み出して、RAM22上のアプリの非コア領域22bに動的に展開する。
(Step S34)
Upon receiving a command for starting the operation of the application software D10 from the user, the control unit 21 operates the program of the application software D10 as follows. First, the control means 21 reads the application non-core program D15 of the application software D10 to be executed from the nonvolatile memory 24, and dynamically expands it in the application non-core area 22b on the RAM 22.

(ステップS35)
次に、制御手段21が、アプリの非コアプログラムD15のプログラムを実行する。そのプログラムの実行中にコアモジュールを実行する必要が生じた際に、ステップS36以降の復号化処理ルーチンを実行する。
(Step S35)
Next, the control means 21 executes the program of the application non-core program D15. When it becomes necessary to execute the core module during the execution of the program, the decoding processing routine after step S36 is executed.

(ステップS36:復号化処理ルーチン)
制御手段21は、コアモジュールの実行要求が生じた際に、復号処理プログラムD16のプログラムをRAM22上のアプリの非コア領域22bに動的に展開して動作させる。
(Step S36: Decoding processing routine)
When the execution request for the core module is generated, the control means 21 dynamically expands the program of the decryption processing program D16 in the non-core area 22b of the application on the RAM 22 and operates it.

復号処理プログラムD16のプログラムは、暗号化されたコアモジュールD11、D12、D13、D14のうちで該当するモジュールを不揮発性メモリ24から読出し、その暗号化データE(C,Ko)を以下のようにして復号化する。   The program of the decryption processing program D16 reads the corresponding module from the encrypted core modules D11, D12, D13, and D14 from the nonvolatile memory 24, and the encrypted data E (C, Ko) is as follows: To decrypt.

復号処理プログラムD16のプログラムは、その暗号化データE(C,Ko)を、RAM22に記憶した公開鍵Koを用いて復号化して、コアの分割プログラム部分Cとハッシュ値H1とを得る。得られたハッシュ値H1は制御手段21のレジスタに記憶する。そして、コアの分割プログラム部分Cは、RAM22上の、先に実行していたコアモジュールのプログラムと同じ領域のアプリのコア領域22aに上書きして記憶する。次に、ステップS37へ進む。   The program of the decryption processing program D16 decrypts the encrypted data E (C, Ko) using the public key Ko stored in the RAM 22 to obtain the core divided program portion C and the hash value H1. The obtained hash value H1 is stored in the register of the control means 21. Then, the divided program portion C of the core is overwritten and stored in the core area 22a of the application in the same area as the program of the core module previously executed on the RAM 22. Next, the process proceeds to step S37.

こうして、先にコアの分割プログラム部分Cを記憶していたRAM22上のアプリのコア領域22aに、次のコアの分割プログラム部分Cを上書きすることで、RAM22から、先に記憶していたコアの分割プログラム部分Cを抹消する。   In this way, by overwriting the core area 22a of the application on the RAM 22 that previously stored the core divided program part C with the next core divided program part C, the RAM 22 stores the core stored previously. The divided program part C is deleted.

(ステップS37)
次に、制御手段21は、アプリのコア領域22aに展開したコアの分割プログラム部分Cにハッシュ関数を作用させてハッシュ値H2を計算する。そして、そのハッシュ値H2
を、先に復号化したハッシュ値H1と照合する。ハッシュ値H1とH2が一致すれば、コアの分割プログラム部分Cの改ざんが無いと判定し、ステップS38に進む。ハッシュ値H1とH2が一致しなければ、そのアプリケーションソフトウェアD10の実行を中止してステップS31に戻る。
(Step S37)
Next, the control unit 21 calculates a hash value H2 by applying a hash function to the divided program portion C of the core expanded in the core area 22a of the application. And the hash value H2
Is compared with the hash value H1 previously decrypted. If the hash values H1 and H2 match, it is determined that the divided program portion C of the core has not been tampered with, and the process proceeds to step S38. If the hash values H1 and H2 do not match, the execution of the application software D10 is stopped and the process returns to step S31.

(ステップS38)
次に、制御手段21は、RAM22上のアプリのコア領域22aに展開しておいたコアの分割プログラム部分Cのプログラムを実行する。そのプログラムの実行後に、ステップS36に戻り、復号処理プログラムD16を実行して、次に実行すべき、コアモジュールD11、D12、D13、D14のいずれかを不揮発性メモリ24から読出す。
(Step S38)
Next, the control means 21 executes the program of the divided program portion C of the core that has been expanded in the core area 22 a of the application on the RAM 22. After the execution of the program, the process returns to step S36, the decryption processing program D16 is executed, and any of the core modules D11, D12, D13, D14 to be executed next is read from the nonvolatile memory 24.

そして、その読み出したモジュールの暗号化データE(C,Ko)を、公開鍵Koを用いて復号化して、コアの分割プログラム部分Cと、そのハッシュ値H1とを得、コアの分割プログラム部分Cを、RAM22上の、先に実行していたコアモジュールのプログラムと同じ領域のアプリのコア領域22aに上書きして記憶する。そして、次のステップS37に進む。   Then, the encrypted data E (C, Ko) of the read module is decrypted using the public key Ko to obtain the core divided program part C and its hash value H1, and the core divided program part C Are overwritten and stored in the core area 22a of the application in the same area as the program of the core module previously executed on the RAM 22. Then, the process proceeds to next Step S37.

こうして、制御手段21が、ステップS36からステップS38までの動作を繰り返し、コアモジュールD11、D12、D13、D14の最後のモジュールまで、復号化処理ルーチンをを実行することで、暗号化されたコアモジュールD11、D12、D13、D14を復号化したプログラムを、RAM22上の同じ記憶領域であるアプリのコア領域22aに、次々と上書きすることで、直前のコアモジュールのプログラムをアプリのコア領域22aから抹消する。   Thus, the control unit 21 repeats the operations from step S36 to step S38, and executes the decryption processing routine up to the last module of the core modules D11, D12, D13, D14, thereby encrypting the core module. By deleting the decrypted program of D11, D12, D13, and D14 one after another in the core area 22a of the application, which is the same storage area on the RAM 22, the previous core module program is erased from the core area 22a of the application. To do.

このようにコアモジュールD11、D12、D13、D14を順次に復号化してRAM22上の同じ記憶領域に上書きして以前のデータを抹消するので、実行させるために復号化させたコアモジュールD11、D12、D13、D14のデータがRAM22に存在する時間は、1つのコアモジュールの実行開始時の複合化の時から、次のコアモジュールの実行開始時の複合化の時までの間の短い時間のみである。こうすることで、アプリケーションソフトウェアD10を解析しようとするクラッカーによるプログラムの解析を極めて難しくできる効果がある。   In this way, the core modules D11, D12, D13, D14 are sequentially decrypted and overwritten on the same storage area on the RAM 22 to erase the previous data, so the core modules D11, D12, The time for which the data of D13 and D14 exist in the RAM 22 is only a short time from the time when the execution of one core module is started to the time when the next core module is executed. . By doing so, there is an effect that it is extremely difficult to analyze the program by a cracker who is trying to analyze the application software D10.

以上のように、第1の実施形態に係る情報処理システム1において、アプリ供給装置10は、秘密鍵Kgを用いてアプリケーションソフトウェアD10のコア部分を複数のコアの分割プログラム部分Cに分割して、それぞれのコアの分割プログラム部分Cを暗号化データE(C,Ko)に変換し、その暗号化データE(C,Ko)のコアモジュールD11、D12、D13、D14と、アプリの非コアプログラムD15と、公開鍵Koと、復号処理プログラムD16を合わせたデータからなるアプリケーションソフトウェアD10を携帯端末装置20へ送付する。   As described above, in the information processing system 1 according to the first embodiment, the application supply apparatus 10 divides the core part of the application software D10 into the divided program parts C of a plurality of cores using the secret key Kg, The divided program portion C of each core is converted into encrypted data E (C, Ko), the core modules D11, D12, D13, D14 of the encrypted data E (C, Ko), and the non-core program D15 of the application Then, the application software D10 including data including the public key Ko and the decryption processing program D16 is sent to the mobile terminal device 20.

一方、携帯端末装置20では、制御手段21が、アプリ供給装置10から受信したアプリケーションソフトウェアD10を不揮発性メモリ24に記憶する。   On the other hand, in the mobile terminal device 20, the control means 21 stores the application software D 10 received from the application supply device 10 in the nonvolatile memory 24.

そして、制御手段21は、ユーザからの、アプリケーションソフトウェアD10の動作開始指令を受けて、アプリケーションソフトウェアD10のプログラムを動的にRAM上に展開して実行する。アプリケーションソフトウェアD10の、コアの分割プログラム部分Cのプログラムの実行が必要になった場合に、復号処理プログラムD16を実行して、該当するコアモジュールD11、D12、D13、D14の暗号化データE(C,Ko)を、公開鍵Koを用いて復号化する。   The control means 21 receives an operation start command for the application software D10 from the user, and dynamically expands the program of the application software D10 on the RAM and executes it. When it is necessary to execute the program of the divided program part C of the core of the application software D10, the decryption processing program D16 is executed and the encrypted data E (C of the corresponding core modules D11, D12, D13, D14 is executed. , Ko) using the public key Ko.

その復号化したコアの分割プログラム部分Cは、RAM22上のアプリのコア領域22aに同じ記憶領域に次々と上書きして直前のコアモジュールのプログラムをRAM22から抹消する。そして、アプリのコア領域22aのコアの分割プログラム部分Cのプログラムを実行する。   The decrypted core divided program portion C is overwritten one after another on the same storage area in the application core area 22 a on the RAM 22, and the program of the immediately previous core module is deleted from the RAM 22. And the program of the division | segmentation program part C of the core of the core area | region 22a of an application is performed.

こうして、携帯端末装置20のRAM22上のアプリのコア領域22aに展開したコアの分割プログラム部分Cのプログラムは、そのアプリケーションソフトウェアD10の動作に必要な期間のみRAM22上に存在する。   In this way, the program of the divided program portion C of the core developed in the application core area 22a on the RAM 22 of the mobile terminal device 20 exists on the RAM 22 only for a period necessary for the operation of the application software D10.

なお、そのアプリケーションソフトウェアD10の動作が停止(一時停止動作を含む)した場合に、RAM22上のアプリのコア領域22aからコアの分割プログラム部分Cを消去するモジュールデータ読出し限定手段も設ける。このモジュールデータ読出し限定手段が、非常時にアプリのコア領域22aからデータを消去することで、RAM22上のアプリのコア領域22aに記憶されているコアの分割プログラム部分Cは、非常時にも、そのデータのオーナーであるアプリケーションソフトウェアD10以外の外部のプログラムから読み取ることができない効果がある。   In addition, when the operation of the application software D10 is stopped (including a temporary stop operation), module data read restriction means for deleting the divided program portion C of the core from the core area 22a of the application on the RAM 22 is also provided. This module data read limiting means erases the data from the application core area 22a in an emergency, so that the core divided program portion C stored in the application core area 22a on the RAM 22 is also in the event of an emergency. There is an effect that it cannot be read from an external program other than the application software D10 that is the owner of the application.

このように、本実施形態は、アプリケーションソフトウェアD10の流通の利便性を高めるとともに、携帯端末装置20が、クラッカーによる盗聴及び鍵の漏洩を防ぐ高いセキュリティ品質で、改ざんされていない正しいアプリケーションソフトウェアD10を注意深く判別して実行することができるので、アプリケーションソフトウェアD10の流通を促進できる効果がある。   As described above, the present embodiment improves the convenience of distribution of the application software D10, and the mobile terminal device 20 provides the correct application software D10 that has not been tampered with high security quality to prevent eavesdropping and key leakage by a cracker. Since it can be discriminated and executed carefully, there is an effect of promoting the distribution of the application software D10.

[第2の実施形態]
本発明の第2の実施形態として、復号処理プログラムD16は外部ライブラリソフトウェアとして、アプリケーションソフトウェアD10とは別にして携帯端末装置20に送付し、復号処理プログラムD16を含まないアプリケーションソフトウェアD10を、復号処理プログラムD16とは別に携帯端末装置20に送付することができる。そうして、外部ライブラリソフトウェアとした復号処理プログラムD16を複数のアプリケーションソフトウェアD10に共有させて実行させる。それ以外は、第1の実施形態と同様に構成する。
[Second Embodiment]
As the second embodiment of the present invention, the decryption processing program D16 is sent as external library software to the mobile terminal device 20 separately from the application software D10, and the application software D10 not including the decryption processing program D16 is decrypted. It can be sent to the mobile terminal device 20 separately from the program D16. Then, the decryption processing program D16 as external library software is shared by a plurality of application software D10 and executed. Other than that, the configuration is the same as in the first embodiment.

(変形例1)
第2の実施形態の変形例1として、公開鍵Koは、外部ライブラリソフトウェアとした復号処理プログラムD16に含ませず、携帯端末装置20は、公開鍵Koを、各アプリ供給装置10が暗号化したアプリケーションソフトウェアD10毎に、認証局200から取得してRAM22に記憶して用いるようにしても良い。
(Modification 1)
As a first modification of the second embodiment, the public key Ko is not included in the decryption processing program D16 as external library software, and the mobile terminal device 20 encrypts the public key Ko by each application supply device 10. For each application software D10, it may be acquired from the certificate authority 200 and stored in the RAM 22 for use.

各アプリ供給装置10は、アプリケーションソフトウェアD10のコア部分をコアの分割プログラム部分Cに分割して、それぞれのコアの分割プログラム部分Cを、公開鍵Koに対応する秘密鍵Kgを用いて暗号化データE(C,Ko)に変換し、コアモジュールD11、D12、D13、D14として、アプリの非コアプログラムD15と合わせたデータからなるアプリケーションソフトウェアD10を携帯端末装置20へ送付する。   Each application supply apparatus 10 divides the core part of the application software D10 into the divided program part C of the core, and uses the secret key Kg corresponding to the public key Ko to encrypt the divided program part C of each core. E (C, Ko) is converted, and as the core modules D11, D12, D13, and D14, application software D10 including data combined with the non-core program D15 of the application is sent to the mobile terminal device 20.

携帯端末装置20は、制御手段21が、外部ライブラリソフトウェアとした復号処理プログラムD16を実行し、復号化すべきアプリケーションソフトウェアD10のコアモジュールD11、D12、D13、D14に対応する公開鍵KoをRAM22から読み出して、コアモジュールD11、D12、D13、D14を順次に復号化してRAM22上のアプリのコア領域22aに上書きして展開する。   In the portable terminal device 20, the control means 21 executes the decryption processing program D16 as external library software, and reads the public key Ko corresponding to the core modules D11, D12, D13, D14 of the application software D10 to be decrypted from the RAM 22 Then, the core modules D11, D12, D13, and D14 are sequentially decrypted and overwritten on the core area 22a of the application on the RAM 22 for expansion.

こうして、携帯端末装置20の制御手段21が、外部ライブラリソフトウェアの復号処理プログラムD16を読み込んで、そのプログラムを実行させて、一方、各アプリケーションソフトウェアD10毎に対応付けられた公開鍵Koを別途取得して、その公開鍵Koを用いてコアモジュールD11、D12、D13、D14を順次に復号化してRAM22上のアプリのコア領域22aに上書きして展開する。   In this way, the control means 21 of the mobile terminal device 20 reads the external library software decryption processing program D16 and causes the program to be executed, while obtaining the public key Ko associated with each application software D10 separately. Then, using the public key Ko, the core modules D11, D12, D13, D14 are sequentially decrypted and overwritten on the core area 22a of the application on the RAM 22 for expansion.

これにより、異なるアプリ供給装置10が作成したアプリケーションソフトウェアD10を、共通の復号処理プログラムD16を共用する一方、アプリ供給装置10毎に、異なる秘密鍵Kgで暗号化したアプリケーションソフトウェアD10のコアモジュールD11、D12、D13、D14を、それらの秘密鍵Kgに対応した異なる公開鍵Koで復号化して実行させることができる。   As a result, the application software D10 created by the different application supply devices 10 shares the common decryption processing program D16, while the application software D10 core module D11 encrypted with a different secret key Kg for each application supply device 10, D12, D13, and D14 can be decrypted and executed with different public keys Ko corresponding to their secret keys Kg.

1・・・情報処理システム
10・・・アプリ供給装置
11・・・制御手段
12・・・ROM
13・・・RAM
14・・・バス
15・・・インターフェイス
16・・・通信部
17・・・入出力部
18・・・ディスプレイ
19・・・磁気ディスク
20・・・携帯端末装置
21・・・制御手段
22・・・RAM
22a・・・アプリのコア領域
22b・・・アプリの非コア領域
23・・・ROM
24・・・不揮発性メモリ
25・・・インターフェイス
26・・・バス
27・・・通信部
28・・・無線LAN通信部
29・・・USB入出力部
100・・・通信ネットワーク
200・・・認証局
C・・・コアの分割プログラム部分
D10・・・アプリケーションソフトウェア
D11、D12、D13、D14・・・暗号化されたコアモジュール
D15・・・アプリの非コアプログラム
D16・・・復号処理プログラム
E(C,Ko)・・・暗号化データ
Kg・・・秘密鍵
Ko・・・公開鍵
DESCRIPTION OF SYMBOLS 1 ... Information processing system 10 ... Application supply apparatus 11 ... Control means 12 ... ROM
13 ... RAM
14 ... bus 15 ... interface 16 ... communication unit 17 ... input / output unit 18 ... display 19 ... magnetic disk 20 ... portable terminal device 21 ... control means 22 ...・ RAM
22a: Application core area 22b: Application non-core area 23: ROM
24 ... Non-volatile memory 25 ... Interface 26 ... Bus 27 ... Communication unit 28 ... Wireless LAN communication unit 29 ... USB input / output unit 100 ... Communication network 200 ... Authentication Station C ... core division program part D10 ... application software D11, D12, D13, D14 ... encrypted core module D15 ... non-core program D16 of application ... decryption processing program E ( C, Ko) ... encrypted data Kg ... secret key Ko ... public key

Claims (7)

アプリケーションソフトウェアを不揮発性メモリに記憶しRAMにプログラムを展開して実行する携帯端末装置であって、コア部分が複数のプログラムに分割されて公開鍵と対になる秘密鍵によって暗号化されたアプリケーションソフトウェアを受け取り、復号処理プログラムを実行することによって前記アプリケーションソフトウェアの前記コア部分の複数のプログラムを前記公開鍵を用いて順次に復号化して、前記RAMの同じ記憶領域に以前のプログラムに上書きして書き込んで実行する処理を繰り返すことで前記アプリケーションソフトウェアのコア部分を実行することを特徴とする携帯端末装置。   A portable terminal device that stores application software in a non-volatile memory and executes the program by expanding it into a RAM, and the core part is divided into a plurality of programs and encrypted with a secret key paired with a public key By executing the decryption processing program, a plurality of programs in the core part of the application software are sequentially decrypted using the public key, and written over the previous program in the same storage area of the RAM. A mobile terminal device that executes a core part of the application software by repeating the process executed in step (b). 請求項1記載の携帯端末装置であって、前記公開鍵を通信ネットワークを介して認証局から受信する通信手段を備えたことを特徴とする携帯端末装置。   2. The portable terminal device according to claim 1, further comprising a communication unit that receives the public key from a certificate authority via a communication network. 請求項1又は2に記載の携帯端末装置であって、前記コア部分が複数のプログラムに分割されて、該分割された部分のハッシュ値と合わせて暗号化され、前記復号処理プログラムが、該暗号化された部分をプログラムとハッシュ値とに復号化し、次に前記復号化されたプログラムのハッシュ値を計算し該ハッシュ値を前記復号化されたハッシュ値と照合することを特徴とする携帯端末装置。   3. The portable terminal device according to claim 1, wherein the core part is divided into a plurality of programs and encrypted together with a hash value of the divided parts, and the decryption processing program is stored in the encryption processing program. A mobile terminal device that decrypts the converted portion into a program and a hash value, calculates a hash value of the decrypted program, and collates the hash value with the decrypted hash value . 請求項1乃至3の何れか一項に記載の携帯端末装置であって、前記復号処理プログラムが、前記RAMの同じ記憶領域に以前のプログラムに上書きして書き込んで実行する処理を繰り返すことを特徴とする携帯端末装置。   4. The mobile terminal device according to claim 1, wherein the decryption program repeats a process of overwriting a previous program in the same storage area of the RAM and executing the program. 5. A portable terminal device. 請求項1乃至4の何れか一項に記載の携帯端末装置であって、前記アプリケーションソフトウェアが、前記復号処理プログラムと前記公開鍵を含むアプリケーションソフトウェアであることを特徴とする携帯端末装置。   5. The portable terminal device according to claim 1, wherein the application software is application software including the decryption processing program and the public key. 6. 携帯端末装置において不揮発性メモリに記憶したアプリケーションソフトウェアのプログラムをRAMに展開して実行する復号処理プログラムであって、前記アプリケーションソフトウェアのコア部分が複数のプログラムに分割されて公開鍵と対になる秘密鍵によって暗号化されており、コア部分の暗号化された前記複数のプログラムを前記公開鍵を用いて順次に復号化して、前記RAMの同じ記憶領域に以前のプログラムに上書きして書き込んで実行する処理を繰り返すことを特徴とする復号処理プログラム。   A decryption program for executing a program of application software stored in a non-volatile memory in a portable terminal device by developing the program on a RAM, wherein the secret is a core part of the application software divided into a plurality of programs and paired with a public key Encrypted by a key, the plurality of programs encrypted in the core portion are sequentially decrypted using the public key, written over the previous program in the same storage area of the RAM, and executed A decryption processing program characterized by repeating processing. 請求項6記載の復号処理プログラムであって、前記分割された複数のプログラムと、該プログラムのハッシュ値とが合わせて暗号化されており、前記復号処理プログラムが、暗号化された前記複数のプログラムとハッシュ値を復号化し、次に前記復号化されたプログラムのハッシュ値を計算し該ハッシュ値を前記復号化されたハッシュ値と照合することを特徴とする復号処理プログラム。   7. The decryption processing program according to claim 6, wherein the plurality of divided programs and a hash value of the program are encrypted together, and the decryption processing program is encrypted. And decrypting the hash value, calculating a hash value of the decrypted program, and comparing the hash value with the decrypted hash value.
JP2013030868A 2013-02-20 2013-02-20 Portable terminal device and decryption processing program Expired - Fee Related JP6343869B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2013030868A JP6343869B2 (en) 2013-02-20 2013-02-20 Portable terminal device and decryption processing program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013030868A JP6343869B2 (en) 2013-02-20 2013-02-20 Portable terminal device and decryption processing program

Publications (2)

Publication Number Publication Date
JP2014160383A true JP2014160383A (en) 2014-09-04
JP6343869B2 JP6343869B2 (en) 2018-06-20

Family

ID=51612030

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013030868A Expired - Fee Related JP6343869B2 (en) 2013-02-20 2013-02-20 Portable terminal device and decryption processing program

Country Status (1)

Country Link
JP (1) JP6343869B2 (en)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106055937A (en) * 2016-05-25 2016-10-26 深圳创维数字技术有限公司 Encryption method and system for software static data
JP2017505930A (en) * 2014-10-21 2017-02-23 スンシル ユニバーシティー リサーチ コンソルティウム テクノ−パークSoongsil University Research Consortium Techno−Park User terminal and core code protection method for application program using the same
JP2017142791A (en) * 2016-02-11 2017-08-17 Line株式会社 Code protection method and computer program
JP2017225054A (en) * 2016-06-17 2017-12-21 富士通株式会社 Profile data distribution control device, profile data distribution control method, and profile data distribution control program
JP2019517080A (en) * 2016-05-24 2019-06-20 マイクロソフト テクノロジー ライセンシング,エルエルシー To prevent piracy and fraud on electronic devices using hardware-based secure isolated areas

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004265037A (en) * 2003-02-28 2004-09-24 Nec Corp Editing system for computer program and method therefor
JP2005018725A (en) * 2002-08-01 2005-01-20 Matsushita Electric Ind Co Ltd Device and method for decoding and arranging encrypted data in execution memory space
JP2006221629A (en) * 2005-02-07 2006-08-24 Sony Computer Entertainment Inc Content control method and device by resource management of processor
JP2009271884A (en) * 2008-05-12 2009-11-19 Fuji Xerox Co Ltd Information processor and information processing program
JP2010176697A (en) * 2010-03-29 2010-08-12 Hyper Tec:Kk Encryption program decrypting method and encryption program decryption program
JP2010205116A (en) * 2009-03-05 2010-09-16 Fujitsu Semiconductor Ltd Apparatus, method, and system for processing information
JP2010217975A (en) * 2009-03-13 2010-09-30 Nec System Technologies Ltd Information processor, application program, and method for executing application program

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005018725A (en) * 2002-08-01 2005-01-20 Matsushita Electric Ind Co Ltd Device and method for decoding and arranging encrypted data in execution memory space
JP2004265037A (en) * 2003-02-28 2004-09-24 Nec Corp Editing system for computer program and method therefor
JP2006221629A (en) * 2005-02-07 2006-08-24 Sony Computer Entertainment Inc Content control method and device by resource management of processor
JP2009271884A (en) * 2008-05-12 2009-11-19 Fuji Xerox Co Ltd Information processor and information processing program
JP2010205116A (en) * 2009-03-05 2010-09-16 Fujitsu Semiconductor Ltd Apparatus, method, and system for processing information
JP2010217975A (en) * 2009-03-13 2010-09-30 Nec System Technologies Ltd Information processor, application program, and method for executing application program
JP2010176697A (en) * 2010-03-29 2010-08-12 Hyper Tec:Kk Encryption program decrypting method and encryption program decryption program

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017505930A (en) * 2014-10-21 2017-02-23 スンシル ユニバーシティー リサーチ コンソルティウム テクノ−パークSoongsil University Research Consortium Techno−Park User terminal and core code protection method for application program using the same
JP2017142791A (en) * 2016-02-11 2017-08-17 Line株式会社 Code protection method and computer program
JP2019517080A (en) * 2016-05-24 2019-06-20 マイクロソフト テクノロジー ライセンシング,エルエルシー To prevent piracy and fraud on electronic devices using hardware-based secure isolated areas
JP7009393B2 (en) 2016-05-24 2022-01-25 マイクロソフト テクノロジー ライセンシング,エルエルシー Use hardware-based secure isolated areas to prevent piracy and fraud on electronic devices
CN106055937A (en) * 2016-05-25 2016-10-26 深圳创维数字技术有限公司 Encryption method and system for software static data
CN106055937B (en) * 2016-05-25 2018-11-09 深圳创维数字技术有限公司 A kind of encryption method and system of software static data
JP2017225054A (en) * 2016-06-17 2017-12-21 富士通株式会社 Profile data distribution control device, profile data distribution control method, and profile data distribution control program

Also Published As

Publication number Publication date
JP6343869B2 (en) 2018-06-20

Similar Documents

Publication Publication Date Title
CN101802833B (en) Local stores service is provided to the application run in application execution environment
JP4562464B2 (en) Information processing device
CN100583083C (en) Apparatus and method for processing digital rights object
US20040039932A1 (en) Apparatus, system and method for securing digital documents in a digital appliance
CN105681039A (en) Method and device for secret key generation and corresponding decryption
JPH09270785A (en) Information processor
JPWO2004109972A1 (en) User terminal for license reception
JP6343869B2 (en) Portable terminal device and decryption processing program
JP6146476B2 (en) Information processing apparatus and information processing method
CN113378119B (en) Software authorization method, device, equipment and storage medium
JP3597704B2 (en) IC card and recording medium
JPH09282155A (en) Method for equipping cipher authentication function
CN101174941B (en) Off-line digital copyright protection method and device for mobile terminal document
JP6357091B2 (en) Information processing apparatus and computer program
JP2011077740A (en) Key information management apparatus
JP2008287488A (en) Data distributing and preserving unit
CN105022651B (en) A kind of method for preventing piracy in equipment production process and firmware programming device
JP2016012902A (en) Electronic data utilization system, portable terminal device, and method for electronic data utilization system
CN116594567A (en) Information management method and device and electronic equipment
JP2002368735A (en) Master ic device, backup ic device for the master ic device, dummy key storage device providing dummy key to the master ic device, auxiliary device or the master ic device and the backup ic device, and key backup system using two auxiliary devices or over
US20100241863A1 (en) Device for reproducing digital content, secure electronic entity, system comprising said elements and method for reproducing digital content
JP2003110544A (en) Device and method for enciphering and deciphering
JP2009284231A (en) Key generating apparatus, key generating method, key generating program, and electronic apparatus
CN103491384A (en) Encrypting method and device of video and decrypting method and device of video
CN107688729B (en) Application program protection system and method based on trusted host

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20160120

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170221

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170412

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20171003

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20171129

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20180507

R150 Certificate of patent or registration of utility model

Ref document number: 6343869

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees