JP4895068B2 - Processing apparatus and processing method - Google Patents
Processing apparatus and processing method Download PDFInfo
- Publication number
- JP4895068B2 JP4895068B2 JP2004097087A JP2004097087A JP4895068B2 JP 4895068 B2 JP4895068 B2 JP 4895068B2 JP 2004097087 A JP2004097087 A JP 2004097087A JP 2004097087 A JP2004097087 A JP 2004097087A JP 4895068 B2 JP4895068 B2 JP 4895068B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- function
- encryption
- decryption function
- decryption
- 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 - Lifetime
Links
Images
Description
本発明は、データを暗号化して含み、所定の操作を加えることにより復号化をすることが可能な統合データを生成する処理装置及び処理方法に関する。 The present invention relates to a processing apparatus and a processing method for generating integrated data that includes encrypted data and can be decrypted by applying a predetermined operation.
データを暗号化して統合データに含ませ、データが必要となった場合にのみ、暗号化されたデータを符号化することは、コンテンツの配信やプログラムの配布において行なわれている。 Encrypting the encrypted data is performed in the distribution of contents and the distribution of the program only when the data is encrypted and included in the integrated data, and the data is required.
例えば、コンテンツの配信においては、著作権などの保護のためにコンテンツを暗号化して配信し、コンテンツを再生する間だけ暗号化されたコンテンツが復号化され、保持される。また、プログラムの配布においては、権原を有する者だけがそのプログラムを実行可能とするため、様々な保護手段が用いられるが、その保護手段を破られないようにするために、プログラムを暗号化して配布し、実行時に暗号化されたプログラムを復号化することが行なわれる。例えば、非特許文献1の第5章には、プログラムを暗号化し、実行時に復号化を行なってそのプログラムを実行するプログラムを生成するフリーウェアなどが紹介されている。
For example, in content distribution, the content is encrypted and distributed for copyright protection, and the encrypted content is decrypted and held only while the content is played back. Also, in the distribution of a program, only a person who has the title can execute the program, so various protection means are used, but in order not to break the protection means, the program is encrypted. Distribution and decryption of the encrypted program at the time of execution is performed. For example,
図15は、上記のフリーウェアなどにより、データであるプログラムを暗号化した状態を例示する。生成されたプログラム1501の中に、復号化関数1502と暗号化データ1503とが含まれている。プログラム1501を実行すると、復号化関数1502を暗号化データ1503に適用して、暗号化データが復号化され、データが得られる。
図15に例示されたような形式でプログラムなどを暗号化した場合、例えば、復号化関数1502を逆アセンブルなどすることにより、復号化関数の動作が容易に解析されてしまう。これにより、暗号化データ部分を取り出して、解析した結果に基づいて復号化をすることにより、暗号化データが容易に復号化されてしまうという課題がある。 When a program or the like is encrypted in the format illustrated in FIG. 15, for example, the operation of the decryption function is easily analyzed by disassembling the decryption function 1502. Accordingly, there is a problem that the encrypted data is easily decrypted by taking out the encrypted data portion and performing decryption based on the analysis result.
そこで、本発明は、暗号化データが容易に復号化されないようなプログラムなどを生成する処理装置を提供することを目的とする。 Therefore, an object of the present invention is to provide a processing device that generates a program or the like that prevents encrypted data from being easily decrypted.
かかる課題を解決するために、本発明が提供する処理装置は、データを取得し、取得したデータを暗号化するための暗号化関数を取得し、その暗号化関数によりデータを暗号化して暗号化データを生成し、また、暗号化データを復号化するための復号化関数を取得し、暗号化データと復号化関数に基づいて、直接的には復号化関数を示す情報を含まない統合データを生成する。なお、その統合データは、所定の操作を加えることにより、復号化関数と暗号化データとを取得可能に構成されているものとする。 In order to solve such a problem, the processing device provided by the present invention acquires data, acquires an encryption function for encrypting the acquired data, encrypts the data by encrypting the data with the encryption function Generate the data and also obtain the decryption function for decrypting the encrypted data, and based on the encrypted data and the decryption function, the integrated data that does not include the information indicating the decryption function directly Generate. It is assumed that the integrated data is configured so that a decryption function and encrypted data can be acquired by performing a predetermined operation.
このような処理装置により、生成される統合データには、直接的には復号化関数が含まれていないので、復号化関数を解析されることがなく、課題が解決される。 Since the integrated data generated by such a processing device does not directly include the decoding function, the decoding function is not analyzed and the problem is solved.
なお、取得したデータを暗号化する暗号化関数は、暗号化前と暗号化後のデータのサイズが等しくなるようなものであってもよい。これにより、統合データに含まれる暗号化データを復号化して得られるデータで置き換えることが可能となり、復号化して得られるデータがハードディスクなどに別途記録される可能性が少なくなる。 Note that the encryption function for encrypting the acquired data may be such that the sizes of the data before encryption and after encryption are equal. As a result, the encrypted data included in the integrated data can be replaced with data obtained by decryption, and the possibility that the data obtained by decryption is separately recorded on a hard disk or the like is reduced.
また、復号化関数は、暗号化されるようになっていてもよい。 Further, the decryption function may be encrypted.
また、復号化関数の暗号化は、暗号化前と暗号化後とでサイズが等しくなるようなものを用いてもよい。 Further, the encryption of the decryption function may be performed such that the size is the same before and after the encryption.
また、復号化関数、復号化で得られるデータは、計算機の主記憶にのみ保持されるようになっていてもよい。 Further, the decryption function and the data obtained by decryption may be held only in the main memory of the computer.
また、暗号化関数により暗号化されるデータはプログラムであってもよく、統合データは、復号化関数を取得して、復号化関数を暗号化データに適用し、得られたデータを実行するプログラムであってもよい。 The data encrypted by the encryption function may be a program, and the integrated data is a program that acquires the decryption function, applies the decryption function to the encrypted data, and executes the obtained data It may be.
本発明により、生成される統合データには、直接的には復号化関数が含まれていないので、復号化関数を解析されることがなく、権原無く復号化がされることを防止することができる。 According to the present invention, since the decryption function is not directly included in the generated integrated data, the decryption function is not analyzed, and it is possible to prevent decryption without authority. it can.
以下、本発明を実施するために最良の形態について、実施形態として図を用いて説明する。なお、本発明はこれら実施形態に何ら限定されるものでなく、その要旨を逸脱しない範囲において、種々なる態様で実施し得る。 The best mode for carrying out the present invention will be described below with reference to the drawings as an embodiment. In addition, this invention is not limited to these embodiments at all, and can be implemented in various modes without departing from the gist thereof.
(実施形態1:主に請求項1、9について説明する)
(Embodiment 1:
本発明の実施形態1として、データを取得し、暗号化データを生成し、その暗号化データと、その暗号化データを復号化する関数と、に基づいて、直接的には復号化する関数を含まない統合データを生成する処理装置について説明する。
As
(実施形態1:構成)
図1は、本発明の実施形態1に係る処理装置の機能ブロック図を例示する。処理装置100は、データ取得部101と、暗号化関数取得部102と、データ暗号化部103と、復号化関数取得部104と、統合データ生成部105と、を有する。
(Embodiment 1: Configuration)
FIG. 1 illustrates a functional block diagram of a processing apparatus according to
「データ取得部」101は、データを取得する。データは特定の種類や形式のものに限定されることはない。本発明に係る処理装置が、主にデジタルデータを扱う装置であれば、計算機にファイルとして格納できるデータであればよい。例えば、テキストデータ、プログラム(コンパイル済のものを含む)、静止画データ、音声データ、動画データなどがある。データの取得の態様には様々あり、例えば、ファイル名を指定したり、データそのものあるいは、BASE64などでテキストデータにエンコードしたデータを入力ウィンドウに入力したりする。また、処理装置に接続されたカメラやマイクなどにより、撮影などにより、データが得られるようになっていてもよい。また、処理装置内でのシミュレーションなどを行なった結果のデータを得るようになっていてもよい。この意味で、本明細書においては、「取得」には「生成」という意味も含まれるものとする。 The “data acquisition unit” 101 acquires data. Data is not limited to a particular type or format. If the processing apparatus according to the present invention is an apparatus that mainly handles digital data, it may be data that can be stored as a file in a computer. For example, there are text data, programs (including compiled ones), still image data, audio data, moving image data, and the like. There are various modes of data acquisition. For example, a file name is designated, or data itself or data encoded into text data by BASE64 or the like is input to an input window. Further, data may be obtained by photographing with a camera or a microphone connected to the processing device. Further, data as a result of performing a simulation or the like in the processing apparatus may be obtained. In this sense, in this specification, “acquisition” includes the meaning of “generation”.
「暗号化関数取得部」102は、データ取得部101で取得したデータを暗号化するための関数である暗号化関数を取得する。本実施形態では、暗号化関数については特に限定はしない。いずれの暗号化関数であってもよい。なお、「暗号化関数」と述べているが、これは暗号化を行なうためのプログラム全般を意味するために「関数」という名称を使用している。プログラミング言語によっては、「手続き(procedure)」という名前である場合もあるが、手続きという言葉も本明細書の関数という言葉の意味に含まれるものとする。
The “encryption function acquisition unit” 102 acquires an encryption function that is a function for encrypting the data acquired by the
「データ暗号化部」103は、暗号化関数取得部102で取得された暗号化関数により、データ取得部101で取得されたデータを暗号化して暗号化データを生成する。すなわち、暗号化関数をデータに対して適用する部である。
The “data encryption unit” 103 encrypts the data acquired by the
「復号化関数取得部」104は、データ暗号化部103により生成される暗号化データを復号化するための復号化関数を取得する。すなわち、暗号化関数取得部102で取得された暗号化関数と対になる復号化関数を取得する。「対になる」とは、暗号化関数で暗号化されたデータを復号化関数に適用することにより、暗号化関数を適用する前のデータが得られることをいう。例えば、暗号化関数が特定のビットパターンでビット毎にXOR(排他的論理和)を適用する場合には、復号化関数は同じビットパターンでXORを適用する関数である。また、暗号化関数が、公開鍵暗号方式の秘密鍵で暗号化を行なう関数であれば、復号化関数は、秘密鍵に対応する公開鍵で復号化を行なう関数となる。
The “decryption function acquisition unit” 104 acquires a decryption function for decrypting the encrypted data generated by the
「統合データ生成部」105は、データ暗号化部103により生成された暗号化データと、復号化関数取得部104で取得された復号化関数と、に基づいて、直接的には前記復号化関数を示す情報を含まない統合データを生成する。
The “integrated data generation unit” 105 directly determines the decryption function based on the encrypted data generated by the
「前記復号化関数」とは、復号化関数取得部104で取得された復号化関数を意味する。また、「直接的には前記復号化関数を示す情報を含まない」とは、復号化関数そのものを含まず、また、統合データのみによっては復号化関数を導出できないことを意味する。例えば、統合データが復号化関数やそれを示す情報を全く含まない場合がある。また、予め、復号化関数に識別子を付与しておき、統合データには、復号化関数に付与した識別子を含ませるようにしておき、復号化関数と識別子の関係は秘密に保持されるようになっていてもよい。
The “decoding function” means a decoding function acquired by the decoding
本実施形態においては、統合データ生成部105で生成された統合データは、所定の操作を加えることにより、前記復号化関数、及び、前記暗号化データを取得可能に構成されている。
In the present embodiment, the integrated data generated by the integrated
図2は、統合データと暗号化データと復号化関数との関係を模式的に示す。例えば、統合データ200に、暗号化データ201と、復号化関数の識別子である復号化関数識別子202が含まれており、所定の操作を行なうことにより、暗号化データ201と、復号化関数203と、が得られるようになっている。
FIG. 2 schematically shows the relationship among the integrated data, the encrypted data, and the decryption function. For example, the integrated
「所定の操作」とは、予め定められた操作を意味する。例えば、予め定められたプログラムに統合データを入力することを意味する。そのプログラムは、統合データを読み取り、統合データより暗号化データを取得し、また、例えば、自身に含まれる復号化関数を取得する。あるいは、統合データに図2に例示されるように復号化関数識別子が含まれている場合には、復号化関数識別子で識別される復号化関数を取得する。例えば、インターネットなどの通信網により通信が可能なサーバとSSLなどでセキュアな通信路を確保して、復号化関数識別子をそのサーバに送信して、復号化関数を取得するようになっていてもよい。 “Predetermined operation” means a predetermined operation. For example, it means inputting integrated data into a predetermined program. The program reads integrated data, acquires encrypted data from the integrated data, and acquires a decryption function included in the program, for example. Alternatively, when the decryption function identifier is included in the integrated data as illustrated in FIG. 2, the decryption function identified by the decryption function identifier is acquired. For example, even if a secure communication path is secured by SSL or the like that can communicate with a communication network such as the Internet, the decryption function identifier is transmitted to the server, and the decryption function is acquired. Good.
(実施形態1:処理)
図3は、本実施形態に係る処理装置の処理の流れ図を例示する。ステップS301において、データ取得部101などにより、データを取得する(データ取得ステップ)。ステップS302において、暗号化関数取得部102などにより、暗号化関数を取得する(暗号化関数取得ステップ)。ステップS303において、データ暗号化部103などにより、暗号化データを生成する(データ暗号化ステップ)。ステップS304において、復号化関数取得部104などにより、復号化関数を取得する(復号化関数取得ステップ)。ステップS305において、統合データ生成部105などにより、統合データを生成する(統合データ生成ステップ)。
(Embodiment 1: processing)
FIG. 3 exemplifies a process flowchart of the processing apparatus according to the present embodiment. In step S301, data is acquired by the
以上の説明のように、本実施形態に係る処理装置は、データ取得ステップ、暗号化関数取得ステップ、データ暗号化ステップ、復号化関数取得ステップ、統合データ生成ステップを含む処理方法を使用するための装置と見ることもできる。ただし、本実施形態に係る処理方法を使用する装置は、本実施形態に係る処理装置に限定されることはない。 As described above, the processing device according to the present embodiment uses a processing method including a data acquisition step, an encryption function acquisition step, a data encryption step, a decryption function acquisition step, and an integrated data generation step. It can also be seen as a device. However, an apparatus that uses the processing method according to the present embodiment is not limited to the processing apparatus according to the present embodiment.
また、本実施形態に限らず、本発明に係る処理装置の構成要素である各部、各手段は、ハードウェア、ソフトウェア、ハードウェアとソフトウェア(プログラム)の両者、のいずれかによって構成することが可能である。たとえば、これらを実現する一例として、計算機を利用する場合には、CPU、メモリ、バス、インターフェース、周辺装置などから構成されるハードウェアと、これらのハードウェア上にて実行可能なソフトウェアを挙げることができる。 Further, the present invention is not limited to this embodiment, and each unit and each unit that is a component of the processing apparatus according to the present invention can be configured by either hardware, software, or both hardware and software (program). It is. For example, as an example for realizing these, when a computer is used, hardware composed of a CPU, a memory, a bus, an interface, a peripheral device, and the like, and software that can be executed on these hardware are listed. Can do.
(実施形態1:主な効果)
本実施形態によれば、統合データには、直接的には復号化関数を示す情報が含まれないので、統合データに含まれる暗号化データの復号化を解析(リバースエンジニアリング)することが困難となり、権原無く復号化がされることを防止することができる。
(Embodiment 1: Main effects)
According to the present embodiment, since the integrated data does not include information directly indicating the decryption function, it is difficult to analyze (reverse engineer) decryption of the encrypted data included in the integrated data. , It is possible to prevent decryption without authority.
(実施形態2:主に請求項2について説明する) (Embodiment 2: Claim 2 will be mainly described)
本発明の実施形態2として、暗号化関数として、暗号化前と暗号化後とでデータのサイズが等しくなる処理装置について説明する。 As a second embodiment of the present invention, a description will be given of a processing apparatus in which the data size is the same before and after encryption as an encryption function.
(実施形態2:構成)
本発明の実施形態2は、実施形態1において、暗号化関数取得部102で取得される暗号化関数は、暗号化前のデータと暗号化後のデータとのサイズが等しくなるようにした処理装置である。
(Embodiment 2: Configuration)
例えば、一バイトずつ、あるいは、一ビットずつ暗号化を行なうストリーム暗号が用いられてもよい。また、もし、データがブロック単位のサイズであれば、DES(Data Encryption Standard)のようなブロック単位で暗号化を行なう暗号化関数が用いられてもよい。 For example, a stream cipher that performs encryption byte by byte or bit by bit may be used. Also, if the data is a block unit size, an encryption function that performs encryption in block units such as DES (Data Encryption Standard) may be used.
ストリーム暗号の例としては、CPUの可逆的なインストラクションを用いるものがある。図4は、可逆的なインストラクションの例を、インストラクションのサイズ(バイト数)ごとにまとめたものである。「可逆的なインストラクション」とは、インストラクションによってデータを操作しても、元に戻すインストラクション(対となるインストラクション)が存在するようなインストラクションをいう。例えば、レジスタの値に1を加えるインストラクションは、レジスタの値から1を引くインストラクションが存在するので、可逆的なインストラクションである。 An example of the stream cipher is one that uses a reversible instruction of the CPU. FIG. 4 summarizes examples of reversible instructions for each instruction size (number of bytes). A “reversible instruction” refers to an instruction in which there is an instruction to restore the original (a pair of instructions) even if data is manipulated by the instruction. For example, an instruction that adds 1 to a register value is a reversible instruction because there is an instruction that subtracts 1 from a register value.
そこで、暗号化関数取得部102は、図4に例示されたインストラクションをランダムに選び、また、インストラクションにImmediateがあれば、その値を生成し、そのインストラクションを並べることにより、暗号化関数を生成するようになっていてもよい。そして、復号化関数取得部104は、暗号化関数を構成するインストラクションを逆に並べ、対となるインストラクションに置き換える。
Therefore, the encryption
図5は、このように生成される暗号化関数と復号化関数との関係を例示する。暗号化関数の逆順にインストラクションを並べつつ、対となるインストラクションに置換を行なうことにより、復号化関数が生成されることが例示されている。 FIG. 5 illustrates the relationship between the encryption function and the decryption function generated in this way. It is exemplified that the decryption function is generated by arranging the instructions in the reverse order of the encryption functions and replacing the instructions in pairs.
統合データには、直接的には復号化関数を示す情報が含まれないが、例えば、暗号化関数のハッシュ値を復号化関数識別子として保持するようになっていてもよい。所定の操作を加える際には、ハッシュ値である復号化関数識別子に基づいて、暗号化関数のサーチを行なって、復号化関数を生成する。もちろん、全くランダムに暗号化関数を生成するとサーチの処理が困難となるので、暗号化関数のパターンをいくつか決めておき、サーチの計算量を減少するようになっていてもよい。 The integrated data does not include information indicating the decryption function directly, but for example, the hash value of the encryption function may be held as a decryption function identifier. When a predetermined operation is performed, the encryption function is searched based on the decryption function identifier that is a hash value to generate a decryption function. Of course, if the encryption function is generated completely at random, the search process becomes difficult. Therefore, some encryption function patterns may be determined to reduce the amount of search calculation.
(実施形態2:主な効果)
本実施形態では、実施形態1の効果に加えて、データと暗号化データのサイズが等しいので、統合データを生成する際には、データが保持される領域を暗号化データが保持される領域として使用でき、処理装置の作業スペースを増加させないようにすることができる。例えば、図6に例示されるように、まず、データ602を統合データ601に含ませておき、次にデータを暗号化することにより暗号化データ603が統合データに含まれるようにすることができる。
(Embodiment 2: Main effects)
In the present embodiment, in addition to the effects of the first embodiment, the size of the data and the encrypted data is the same. Therefore, when generating the integrated data, the area where the data is held is set as the area where the encrypted data is held. It can be used and the working space of the processing apparatus can be prevented from increasing. For example, as illustrated in FIG. 6, first, the data 602 can be included in the integrated data 601, and then the encrypted data 603 can be included in the integrated data by encrypting the data. .
(実施形態3:主に請求項3について説明する) (Third embodiment: Claim 3 will be mainly described.)
本発明の実施形態3として、復号化関数を暗号化して統合データに含ませる処理装置について説明する。 As a third embodiment of the present invention, a processing apparatus that encrypts a decryption function and includes it in integrated data will be described.
(実施形態3:構成)
図7は、本発明の実施形態3に係る処理装置の機能ブロック図を例示する。処理装置700は、データ取得部101と、暗号化関数取得部102と、データ暗号化部103と、復号化関数取得部104と、統合データ生成部105と、を有し、統合データ生成部105は、復号化関数暗号化手段701と、暗号化関数利用生成手段702と、を有する。したがって、本実施形態に係る処理装置700は、実施形態1または2に係る処理装置の統合データ生成部105が、復号化関数暗号化手段701と、暗号化関数利用生成手段702と、を有する構成となっている。
(Embodiment 3: Configuration)
FIG. 7 illustrates a functional block diagram of the processing apparatus according to the third embodiment of the present invention. The
「復号化関数暗号化手段」701は、前記復号化関数を暗号化する。例えば、図4と図5を用いて説明したような暗号化方法を使用して暗号化を行なう。 The “decryption function encryption unit” 701 encrypts the decryption function. For example, encryption is performed using the encryption method described with reference to FIGS.
「暗号化関数利用生成手段」702は、復号化関数暗号化手段701により暗号化された前記復号化関数である暗号化復号化関数に基づいて、前記統合データを生成する。暗号化復号化関数は、直接的には復号化関数を示す情報を含まないので、統合データに暗号化復号化関数を含ませるようにする。 The “encryption function utilization generating unit” 702 generates the integrated data based on the encryption / decryption function that is the decryption function encrypted by the decryption function encryption unit 701. Since the encryption / decryption function does not directly include information indicating the decryption function, the encryption / decryption function is included in the integrated data.
図8は、本実施形態に係る処理装置で生成される統合データの構造を模式的に例示する。統合データ801の中に、暗号化復号化関数802と暗号化データ803とが含まれている。所定の操作を行なう場合には、統合データ801の中から暗号化復号化関数を取り出し、暗号化復号化関数を復号する関数を取得して、復号化関数を得る処理を行なうことになる。例えば、暗号化関数のパターンがある程度限定されており、また、復号化関数のパターンもある程度限定されていれば、暗号化復号化関数のパターンもある程度限定されるので、暗号化復号化関数より、復号を行なう関数を取得して、復号化関数を得ることが可能である。 FIG. 8 schematically illustrates the structure of integrated data generated by the processing apparatus according to this embodiment. The integrated data 801 includes an encryption / decryption function 802 and encrypted data 803. When performing a predetermined operation, an encryption / decryption function is extracted from the integrated data 801, a function for decrypting the encryption / decryption function is acquired, and a process for obtaining the decryption function is performed. For example, if the pattern of the encryption function is limited to some extent, and if the pattern of the decryption function is also limited to some extent, the pattern of the encryption / decryption function is also limited to some extent, so than the encryption / decryption function, It is possible to obtain a decoding function by obtaining a function for performing decoding.
また、図9に示すように統合データ901に、暗号化関数902を復号化するための情報901を含ませておいてもよい。情報901は、例えば、暗号化復号化関数を復号化するための復号鍵であったり、暗号化復号化関数を復号するプログラムであってもよい。また、そのような復号鍵やプログラムを所定の方法で暗号化したものであってもよい。 In addition, as shown in FIG. 9, information 901 for decrypting the encryption function 902 may be included in the integrated data 901. The information 901 may be, for example, a decryption key for decrypting the encryption / decryption function or a program for decrypting the encryption / decryption function. Further, such a decryption key or program may be encrypted by a predetermined method.
(実施形態3:主な効果)
本実施形態により、実施形態1または2の効果に加え、統合データに暗号化復号化関数を含ませることができるので、所定の処理において、暗号化データを復号化する処理を簡略化できる。
(Embodiment 3: Main effects)
According to the present embodiment, in addition to the effects of the first or second embodiment, since the encryption / decryption function can be included in the integrated data, it is possible to simplify the process of decrypting the encrypted data in the predetermined process.
(実施形態4:主に請求項4について説明する) (Embodiment 4: Claim 4 will be mainly described)
本発明の実施形態4として、復号化関数と暗号化復号化関数とのサイズが等しい処理装置について説明する。 As a fourth embodiment of the present invention, a processing device in which the decryption function and the encryption / decryption function have the same size will be described.
(実施形態4:構成)
本発明の実施形態4に係る処理装置は、実施形態3に係る処理装置を、復号化関数と暗号化復号化関数とは、サイズが等しくなるようにしたものである。実施形態2で説明したように、ストリーム暗号を用いたり、図4と図5とを用いて説明した暗号化方法を用いたり、復号化関数のサイズがブロック単位のサイズであれば、ブロック単位で暗号化を行なう暗号化関数を用いたりする。
(Embodiment 4: Configuration)
The processing device according to the fourth embodiment of the present invention is the same as the processing device according to the third embodiment, except that the decryption function and the encryption / decryption function have the same size. As described in the second embodiment, when the stream cipher is used, the encryption method described with reference to FIGS. 4 and 5 is used, or the size of the decryption function is the size of the block unit, the block unit is used. For example, an encryption function that performs encryption is used.
(実施形態4:主な効果)
本実施形態においては、実施形態3の効果に加え、復号化関数と暗号化復号化関数とのサイズが等しいので、所定の操作を行なう場合に、暗号化復号化関数の領域を復号化関数の領域として使用することができるで、作業スペースを増加させないようにすることができる。
(Embodiment 4: Main effects)
In the present embodiment, in addition to the effects of the third embodiment, the sizes of the decryption function and the encryption / decryption function are equal. Therefore, when a predetermined operation is performed, the area of the decryption function Since it can be used as an area, the work space can be prevented from increasing.
(実施形態5:主に請求項5について説明する) (Embodiment 5: Claim 5 will be mainly described)
本発明の実施形態5として、統合データがプログラムとなっている処理装置について説明する。 As a fifth embodiment of the present invention, a processing apparatus in which integrated data is a program will be described.
(実施形態5:構成)
本発明の実施形態5に係る処理装置は、実施形態1から4のいずれか一の実施形態に係る処理装置において、統合データがプログラムになるようにしたものであり、所定の操作とは、そのプログラムを実行することとしたものである。
(Embodiment 5: Configuration)
The processing device according to the fifth embodiment of the present invention is a processing device according to any one of the first to fourth embodiments, in which the integrated data is a program. The program is to be executed.
すなわち、統合データは実行することが可能であり、統合データの実行により、復号化関数と暗号化データとが取得され、復号化関数を暗号化データに適用することにより、データが得られることになる。 That is, the integrated data can be executed, the decryption function and the encrypted data are acquired by executing the integrated data, and the data can be obtained by applying the decryption function to the encrypted data. Become.
もし、本実施形態に係る処理装置が実施形態1または2を基にしている場合には、プログラムである統合データは、例えば、インターネットなどの通信網に接続されたサーバより復号化関数を取得するようになっていてもよい。 If the processing apparatus according to the present embodiment is based on the first or second embodiment, the integrated data as a program obtains a decryption function from a server connected to a communication network such as the Internet, for example. It may be like this.
また、本実施形態に係る処理装置が実施形態3または4を基にしている場合には、プログラムである統合データは、自身に含まれる暗号化復号化関数を取得し、復号化することにより、復号化関数を得て、それを暗号化データに適用することになる。 In addition, when the processing apparatus according to the present embodiment is based on the third or fourth embodiment, the integrated data that is a program acquires and decrypts an encryption / decryption function included in itself. We will get the decryption function and apply it to the encrypted data.
図10は、本実施形態に係る処理装置により生成された統合データからデータを得る処理の流れ図を例示する。ステップS1001において、暗号化復号化関数から復号化する関数を用いて、復号化関数を得る。ステップS1002において、復号化関数を用いて暗号化データよりデータを得る。 FIG. 10 illustrates a flowchart of a process for obtaining data from the integrated data generated by the processing apparatus according to the present embodiment. In step S1001, a decryption function is obtained using a function for decrypting from the encryption / decryption function. In step S1002, data is obtained from the encrypted data using a decryption function.
(実施形態5:主な効果)
本実施形態により、実施形態1から4のいずれかの実施形態の主な効果に加えて、統合データから直接、データを得ることが可能となる。
(Embodiment 5: Main effects)
According to the present embodiment, in addition to the main effects of any of the first to fourth embodiments, data can be obtained directly from the integrated data.
(実施形態6:主に請求項6について説明する) (Embodiment 6: Claim 6 will be mainly described)
本発明の実施形態6として、所定の操作により得られる復号化関数と、データと、が計算機の主記憶にのみ保持されるようにした処理装置について説明する。 As a sixth embodiment of the present invention, a processing apparatus in which a decryption function and data obtained by a predetermined operation are held only in the main memory of a computer will be described.
(実施形態6:構成)
本発明の実施形態6に係る処理装置は、実施形態5の処理装置を、前記所定の操作により得られる前記復号化関数、及び、前記暗号化データを前記復号化関数に適用して得られるデータは、前記計算機の主記憶にのみ保持されるようにしたものである。「前記所定の操作」とは、統合データを実行することである。「前記復号化関数」とは、復号化関数取得部104で取得されたのと同じ復号化関数を意味する。「前記暗号化データ」とは、統合データが生成されるときの基となった暗号化データである。また、「前記計算機」とは、プログラムである統合データが実行される計算機を意味する。
(Embodiment 6: Configuration)
A processing device according to a sixth embodiment of the present invention provides a data obtained by applying the decryption function obtained by the predetermined operation to the processing device according to the fifth embodiment and the encrypted data to the decryption function. Is held only in the main memory of the computer. The “predetermined operation” is to execute integrated data. The “decoding function” means the same decoding function acquired by the decoding
したがって、プログラムである統合データは、データを得るための作業用の領域としてファイルなどを使用せず、主記憶のメモリだけを用いて作業を行なうことになる。 Therefore, the integrated data, which is a program, does not use a file or the like as a work area for obtaining data, but uses only the memory in the main memory.
また、復号化関数は、プログラムである統合データを実行するプロセスのメモリが読まれないような処理を行なってもよい。通常の計算機のオペレーティングシステムでは、他のプロセスのメモリが読めないようになっているが、デバッガ用を実現するためなどの特殊なシステムコールなどを使用することにより、他のプロセスのメモリを読むことができる。そこで、特殊なデバイスドライバをオペレーティングシステムに組み込み、他のプロセスのメモリを読むシステムコールをフック(hook)し、特定のプロセスのメモリを読めないようにする。そして、復号化関数は、その特殊なデバイスドライバに対して設定を行ない(例えば、ioctlシステムコールを用いて設定する)、自身のプロセスをその特定のプロセスとして設定する。これにより、デバッガなどを用いても、復号化関数やデータが他人に取得されないようにすることができる。 Further, the decryption function may perform processing such that the memory of the process that executes the integrated data that is a program is not read. In the normal computer operating system, the memory of other processes cannot be read, but the memory of other processes can be read by using special system calls such as for realizing the debugger. Can do. Therefore, a special device driver is incorporated into the operating system, and a system call for reading the memory of another process is hooked so that the memory of the specific process cannot be read. Then, the decryption function sets the special device driver (for example, using an ioctl system call), and sets its own process as the specific process. Thereby, even if a debugger etc. are used, a decryption function and data can be prevented from being acquired by others.
(実施形態6:主な効果)
本実施形態により、実施形態5の主な効果に加えて、復号化関数と、データと、が主記憶にのみ保持されるので、復号化関数やデータを入手することが困難となる。
(Embodiment 6: Main effects)
According to the present embodiment, in addition to the main effects of the fifth embodiment, since the decoding function and data are held only in the main memory, it becomes difficult to obtain the decoding function and data.
(実施形態7:主に請求項7について説明する) (Embodiment 7: Claim 7 will be mainly described)
本発明の実施形態7として、プログラムをデータとして取得し、統合データを実行することによりそのプログラムの実行が開始される処理装置について説明する。 As a seventh embodiment of the present invention, a processing apparatus is described in which execution of the program is started by acquiring the program as data and executing the integrated data.
(実施形態7:構成)
本発明の実施形態7に係る処理装置は、実施形態5または6の処理装置において、データ取得部101で取得されるデータはプログラムである。また、前記統合データは、取得ステップと、データ取得ステップと、実行ステップと、を計算機に実行させるためのプログラムである。ここに、「前記統合データ」とは、統合データ生成部105で生成される統合データである。また、「取得ステップ」とは、前記復号化関数、及び、前記暗号化データを取得するステップである。「前記復号化関数」と「前記暗号化データ」は、前記統合データを生成する基となった復号化関数と暗号化データである。「データ取得ステップ」は、前記暗号化データを前記復号化関数に適用してデータを取得するステップである。「実行ステップ」とは、データ取得ステップで取得されたデータを実行するステップである。
(Embodiment 7: Configuration)
In the processing device according to the seventh embodiment of the present invention, the data acquired by the
取得ステップは、例えば、復号化関数を取得し、メモリなどに保持し、また、統合データに含まれる暗号化データの位置や大きさなどを特定する。 In the acquisition step, for example, a decryption function is acquired and held in a memory or the like, and the position or size of encrypted data included in the integrated data is specified.
データ取得ステップは、取得ステップで取得された復号化関数に対して、暗号化データの位置と大きさなどを与えて、暗号化データを復号化してデータを得る。得られたデータは、メモリなどに保持される。 In the data acquisition step, the position and size of the encrypted data are given to the decryption function acquired in the acquisition step, and the encrypted data is decrypted to obtain data. The obtained data is held in a memory or the like.
実行ステップは、データ取得ステップで得られたデータがメモリ中にあれば、プログラムカウンタを、エントリポイントのアドレスに設定などする。また、データがファイルにあれば、そのファイルを実行するためのシステムコール(例えば、execle)などを実行する。 In the execution step, if the data obtained in the data acquisition step is in the memory, the program counter is set to the entry point address. If the data is in a file, a system call (for example, execute) for executing the file is executed.
なお、本実施形態において、データ取得部でプログラムであるデータが取得された場合には、シンボルテーブルをクリアしたり、共有ライブラリのインポートテーブルをクリアするなどの操作を行なってもよい。例えば、シンボルテーブルがクリアされることにより、万一データが他人に取得されたとしても、逆アセンブルなどのプログラムの解析を行なっても関数名などが表示されないので解析が困難となる。また、インポートテーブルのクリアにより、プログラムがどのようなライブラリを使っているかを調べることが困難となり、どのような形でプログラムが書かれているかを知られにくくすることができる。 In the present embodiment, when data that is a program is acquired by the data acquisition unit, operations such as clearing the symbol table or clearing the import table of the shared library may be performed. For example, if the symbol table is cleared, even if the data is acquired by another person, even if the program such as disassembly is analyzed, the function name or the like is not displayed, so that the analysis becomes difficult. Also, by clearing the import table, it is difficult to find out what kind of library the program uses, and it is difficult to know how the program is written.
また、暗号化復号化関数を復号化する際には、トラップハンドラを用いたランニングラインと呼ばれる手法を用いてもよい。ランニングラインとは、CPUがインストラクションを一つ実行するごとにCPUに割り込みをかけてトラップハンドラを呼び、次に実行するインストラクションのアドレスを決定することを繰り返すことである(図13参照)。これにより、インストラクションの間に無意味なインストラクションの列を挿入することができ、プログラムの解析を困難なものとする。ランニングラインにおいては、トラップハンドラの解析がされるとプログラムの解析がされるので、トラップハンドラを予め暗号化しておき、実行時に復号化するのが好ましい。 Further, when decrypting the encryption / decryption function, a technique called a running line using a trap handler may be used. The running line means that every time the CPU executes one instruction, it interrupts the CPU to call a trap handler and repeatedly determines the address of the instruction to be executed next (see FIG. 13). This makes it possible to insert a meaningless sequence of instructions between the instructions, which makes it difficult to analyze the program. In the running line, since the program is analyzed when the trap handler is analyzed, it is preferable to encrypt the trap handler in advance and decrypt it at the time of execution.
図11は、本実施形態に係る処理装置が生成する統合データの構造を模式的に例示する。統合データ1101には、トラップハンドラの復号化関数が含まれており、これにより、暗号化されたトラップハンドラ1103が復号できるようになっている。また、暗号化復号化関数を復号化する関数1104も含まれており、これにより暗号化復号化関数1105が復号されるが、このときに、ランニングラインを用いてもよい。なお、暗号化復号化関数を復号化する関数1104の実行の全体でランニングラインを行なってもよいが、ランニングラインではトラップハンドラが一インストラクションごとに呼ばれて処理速度が低下する。そこで、暗号化復号化関数を復号化する関数1104の一部でランニングラインを実行するようになっていてもよい。例えば、暗号化復号化関数を復号化するための復号鍵や図5に例示された復号化関数が暗号化されているときに、暗号化された復号鍵などを復号化するときにだけランニングラインを用いるようになっていてもよい。
FIG. 11 schematically illustrates the structure of integrated data generated by the processing apparatus according to the present embodiment. The
図12は、プログラムである統合データの動作を説明する流れ図である。ステップS1201において、暗号化されたトラップハンドラを復号化する。例えば、特定のビットパターンにより、ビット毎にXORを計算することにより復号化を行なう。ステップS1202において、トラップハンドラをセットする。「セットする」とは、所定の条件が成就した場合に、トラップハンドラが呼ばれるようにすることである。ランニングラインにおいては、所定の条件とは、一インストラクションが実行されることである。ステップS1203において、復号化する関数を用いて暗号化復号化関数より復号化関数を得る。ステップS1204において、トラップハンドラをリセットする。ステップS1205において、復号化関数を用いて暗号化データを復号化する。ステップS1206において、データを実行する。 FIG. 12 is a flowchart for explaining the operation of integrated data that is a program. In step S1201, the encrypted trap handler is decrypted. For example, decoding is performed by calculating XOR for each bit according to a specific bit pattern. In step S1202, a trap handler is set. “Set” is to call a trap handler when a predetermined condition is satisfied. In the running line, the predetermined condition is that one instruction is executed. In step S1203, a decryption function is obtained from the decryption function using the decryption function. In step S1204, the trap handler is reset. In step S1205, the encrypted data is decrypted using the decryption function. In step S1206, the data is executed.
図14は、所定の操作を行なうことにより発生する図11に例示された統合データの変化を例示する。まず、ステップS1201において、暗号化されたトラップハンドラが復号化され、図14の上に例示される統合データが得られる。次に、ステップS1203により、暗号化復号化関数が復号化され、図14の中央に例示される統合データが得られる。ステップS1205により、暗号化データが復号化され、図14の下に例示される統合データが得られる。 FIG. 14 illustrates a change in the integrated data illustrated in FIG. 11 that occurs by performing a predetermined operation. First, in step S1201, the encrypted trap handler is decrypted, and integrated data exemplified in FIG. 14 is obtained. Next, in step S1203, the encryption / decryption function is decrypted, and integrated data illustrated in the center of FIG. 14 is obtained. In step S1205, the encrypted data is decrypted, and integrated data illustrated at the bottom of FIG. 14 is obtained.
(実施形態7:主な効果)
本実施形態により、実施形態5または6の主な効果に加えて、プログラムを暗号化して統合データに含ませることにより、解析が困難な状態でプログラムを安全に配布することができる。
(Embodiment 7: Main effects)
According to the present embodiment, in addition to the main effects of the fifth or sixth embodiment, by encrypting the program and including it in the integrated data, the program can be safely distributed in a state where analysis is difficult.
(実施形態8:主に請求項8について説明する) (Embodiment 8: Claim 8 will be mainly described)
本発明の実施形態8として、復号化関数がデバッガの存在を確認する機能を有した処理装置について説明する。 As an eighth embodiment of the present invention, a description will be given of a processing apparatus having a function for a decoding function to confirm the presence of a debugger.
(実施形態8:構成)
本発明の実施形態8に係る処理装置は、実施形態6または7に係る処理装置において、復号化関数が、統合データの実行される計算機内にデバッガが存在するかどうかを確認する機能を有するようにしたものである。デバッガが計算機に存在することにより、統合データの実行が解析されることを防止する目的を持つ。
(Embodiment 8: Configuration)
The processing apparatus according to the eighth embodiment of the present invention is such that the decoding function in the processing apparatus according to the sixth or seventh embodiment has a function of confirming whether or not the debugger exists in the computer on which the integrated data is executed. It is a thing. It has the purpose of preventing execution of integrated data from being analyzed due to the presence of a debugger in the computer.
デバッガを検出する方法としては、デバッガが通常インストールされているディレクトリやフォルダにデバッガのコマンド名のファイルが存在するかどうかで検出する方法がある。また、オペレーティングシステムによっては、レジストリと呼ばれる場所にデバッガの情報が記録されているので、その記録の有無を調べてもよい。また、SoftICEというデバッガが存在すると、イベントハンドラのアドレスの差が所定の値になったり、特殊なデバイスが存在するので、それを検出してもよい。SoftICEの様々な検出方法については、非特許文献1の7章などに説明されている。
As a method of detecting the debugger, there is a method of detecting whether or not a file having a debugger command name exists in a directory or folder in which the debugger is normally installed. Depending on the operating system, debugger information is recorded in a location called a registry, and the presence or absence of the recording may be checked. In addition, if there is a debugger called SoftICE, the difference in the address of the event handler becomes a predetermined value, or there is a special device, which may be detected. Various detection methods of SoftICE are described in Chapter 7 of
もし、デバッガが存在することが検出されれば、暗号化データの復号化は行なわないようにすることができる。 If it is detected that a debugger exists, the encrypted data can be prevented from being decrypted.
(実施形態8:主な効果)
本実施形態においては、実施形態6または7の主な効果に加えて、デバッガなどの存在する場合には、暗号化データの復号化を行なわないようにすることができるので、解析がされにくくすることができる。
(Embodiment 8: Main effects)
In the present embodiment, in addition to the main effects of the sixth or seventh embodiment, when a debugger or the like is present, it is possible to prevent the decryption of the encrypted data, thereby making it difficult to analyze. be able to.
本発明に係る処理装置及び処理方法により生成される統合データには、直接的には復号化関数が含まれていないので、復号化関数を解析されることがなく、権原無く復号化がされることを防止することができるので、有用である。 Since the integrated data generated by the processing apparatus and the processing method according to the present invention does not include the decryption function directly, the decryption function is not analyzed and the decryption is performed without title. This is useful because it can be prevented.
100 処理装置
101 データ取得部
102 暗号化関数取得部
103 データ暗号化部
104 復号化関数取得部
105 統合データ生成部
DESCRIPTION OF
Claims (4)
前記データ取得部で取得したデータを暗号化するための関数である暗号化関数を取得する暗号化関数取得部と、
前記暗号化関数取得部で取得された暗号化関数により、前記データ取得部で取得されたデータを暗号化して暗号化データを生成するデータ暗号化部と、
前記データ暗号化部により生成される暗号化データを復号化するための復号化関数を取得する復号化関数取得部と、
前記データ暗号化部により生成された暗号化データと、前記復号化関数取得部で取得された復号化関数と、に基づいて復号化関数の識別子である復号化関数識別子を含み、かつ暗号化された復号化関数を含まない統合データを生成する統合データ生成部と、
を有し、
前記統合データ生成部で生成された統合データは、計算機における実行操作により前記復号化関数、及び、前記暗号化データを取得可能であるとともに、取得された復号化関数、及び、暗号化データを前記復号化関数に適用して得られるデータを前記計算機の主記憶にのみ保持するように構成されるプログラムである処理装置。 A data acquisition unit for acquiring data;
An encryption function acquisition unit that acquires an encryption function that is a function for encrypting data acquired by the data acquisition unit;
A data encryption unit that encrypts the data acquired by the data acquisition unit and generates encrypted data by the encryption function acquired by the encryption function acquisition unit;
A decryption function obtaining unit for obtaining a decryption function for decrypting the encrypted data generated by the data encryption unit;
A decryption function identifier that is an identifier of the decryption function based on the encrypted data generated by the data encryption unit and the decryption function acquired by the decryption function acquisition unit , and is encrypted An integrated data generation unit that generates integrated data that does not include the decryption function ;
Have
The integrated data generated by the integrated data generation unit can acquire the decryption function and the encrypted data by an execution operation in a computer, and the acquired decryption function and the encrypted data A processing apparatus which is a program configured to hold data obtained by applying to a decryption function only in the main memory of the computer .
前記データ取得ステップで取得したデータを暗号化するための関数である暗号化関数を取得する暗号化関数取得ステップと、
前記暗号化関数取得ステップで取得された暗号化関数により、前記データ取得ステップで取得されたデータを暗号化して暗号化データを生成するデータ暗号化ステップと、
前記データ暗号化ステップにより生成される暗号化データを復号するための復号化関数を取得する復号化関数取得ステップと、
前記データ暗号化ステップにより生成された暗号化データと前記復号化関数取得ステップにより取得された復号化関数と、に基づいて復号化関数の識別子である復号化関数識別子を含み、かつ暗号化された復号化関数を含まない統合データを生成する統合データ生成ステップと、
を含む計算機の処理方法であって、
前記統合データ生成ステップで生成された統合データは、
計算機における実行操作により前記復号化関数、及び、前記暗号化データを取得可能であるとともに、取得された復号化関数、及び、暗号化データを前記復号化関数に適用して得られるデータを前記計算機の主記憶にのみ保持するように構成されるプログラムである計算機の処理方法。 A data acquisition step for acquiring data;
An encryption function obtaining step for obtaining an encryption function that is a function for encrypting the data obtained in the data obtaining step;
A data encryption step of generating encrypted data by encrypting the data acquired in the data acquisition step by the encryption function acquired in the encryption function acquisition step;
A decryption function obtaining step for obtaining a decryption function for decrypting the encrypted data generated by the data encryption step;
A decryption function identifier that is an identifier of the decryption function based on the encrypted data generated by the data encryption step and the decryption function acquired by the decryption function acquisition step , and is encrypted An integrated data generation step for generating integrated data not including a decryption function ;
A computer processing method including:
The integrated data generated in the integrated data generating step is
The decryption function and the encrypted data can be acquired by an execution operation in the computer, and the data obtained by applying the acquired decryption function and the encrypted data to the decryption function is stored in the computer. A processing method for a computer, which is a program configured to be held only in the main memory .
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2004097087A JP4895068B2 (en) | 2004-03-29 | 2004-03-29 | Processing apparatus and processing method |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2004097087A JP4895068B2 (en) | 2004-03-29 | 2004-03-29 | Processing apparatus and processing method |
Related Child Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2011220461A Division JP5493235B2 (en) | 2011-10-04 | 2011-10-04 | Processing apparatus and processing method |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JP2005286661A JP2005286661A (en) | 2005-10-13 |
| JP4895068B2 true JP4895068B2 (en) | 2012-03-14 |
Family
ID=35184586
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2004097087A Expired - Lifetime JP4895068B2 (en) | 2004-03-29 | 2004-03-29 | Processing apparatus and processing method |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP4895068B2 (en) |
Families Citing this family (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US8862893B2 (en) | 2008-06-11 | 2014-10-14 | Microsoft Corporation | Techniques for performing symmetric cryptography |
Family Cites Families (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH0922352A (en) * | 1995-07-07 | 1997-01-21 | Mitsubishi Electric Corp | Copyright management device |
| JP3173352B2 (en) * | 1995-11-15 | 2001-06-04 | 株式会社日立製作所 | Digital work distribution system |
| JPH11258985A (en) * | 1998-03-12 | 1999-09-24 | Nissin Electric Co Ltd | File generating device for sending cipher data, recording medium where program thereof is recorded, and storage medium storing file for sending cipher data |
| JPH11344925A (en) * | 1998-05-29 | 1999-12-14 | Nec Corp | Partial ciphering device and recording medium readable by computer |
| JPH11338993A (en) * | 1998-05-29 | 1999-12-10 | Hitachi Ltd | IC card |
-
2004
- 2004-03-29 JP JP2004097087A patent/JP4895068B2/en not_active Expired - Lifetime
Also Published As
| Publication number | Publication date |
|---|---|
| JP2005286661A (en) | 2005-10-13 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP4451884B2 (en) | Computer security device, computer security method, and recording medium | |
| JP2012118956A (en) | Index table-based code encryption and decryption device and method therefor | |
| WO2011134207A1 (en) | Method for protecting software | |
| JPWO2014050431A1 (en) | Program verification apparatus, program verification method, and program verification program | |
| JP2004511031A (en) | Digital data protection configuration | |
| EP3477521A1 (en) | Process control device, process control method, and recording medium having process control program recorded therein | |
| JP2005135265A (en) | Information processing device | |
| JP2010039891A (en) | Information processor, program execution method, program and information processing system | |
| JP4895068B2 (en) | Processing apparatus and processing method | |
| JP5988473B2 (en) | Module encryption / decryption program | |
| JP4592337B2 (en) | Data storage | |
| JP5493235B2 (en) | Processing apparatus and processing method | |
| CN109543433B (en) | Software development kit encryption method, device, computer and storage medium | |
| JP5646382B2 (en) | Content editing apparatus, content editing method, and content editing program | |
| JP5549810B2 (en) | Program obfuscation device, program control device, program obfuscation method, and program | |
| JP4897066B2 (en) | Encryption program decryption method and encryption program decryption program | |
| JP2002082732A (en) | System and method for prevention against illegal alternation of program code and recording medium with recorded control program thereof | |
| JP2011123229A (en) | Program code encryption device and program | |
| JP2010244261A (en) | Information processing apparatus and method | |
| CN107688729B (en) | Application program protection system and method based on trusted host | |
| Mc Brearty et al. | Extracting Cryptographic Keys from .NET Applications | |
| JP4502359B2 (en) | Encryption program decryption method and encryption program decryption program | |
| JP2004362077A (en) | Data conversion system | |
| JP6215468B2 (en) | Program protector | |
| JP5136234B2 (en) | Decryption program, decryption apparatus, decryption method, and encryption system |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20070308 |
|
| A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20100506 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20100512 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20100708 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20110131 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20110331 |
|
| A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20110705 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20111004 |
|
| A911 | Transfer to examiner for re-examination before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20111011 |
|
| 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: 20111208 |
|
| A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20111214 |
|
| R150 | Certificate of patent or registration of utility model |
Ref document number: 4895068 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20150106 Year of fee payment: 3 |
|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
| S533 | Written request for registration of change of name |
Free format text: JAPANESE INTERMEDIATE CODE: R313533 |
|
| R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
| EXPY | Cancellation because of completion of term |