JP4431409B2 - Script processing method and script processing computer - Google Patents

Script processing method and script processing computer Download PDF

Info

Publication number
JP4431409B2
JP4431409B2 JP2004010540A JP2004010540A JP4431409B2 JP 4431409 B2 JP4431409 B2 JP 4431409B2 JP 2004010540 A JP2004010540 A JP 2004010540A JP 2004010540 A JP2004010540 A JP 2004010540A JP 4431409 B2 JP4431409 B2 JP 4431409B2
Authority
JP
Japan
Prior art keywords
script
execution
script processing
storage area
processing
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2004010540A
Other languages
Japanese (ja)
Other versions
JP2005202845A (en
Inventor
修司 黒水
Original Assignee
安川情報システム株式会社
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 安川情報システム株式会社 filed Critical 安川情報システム株式会社
Priority to JP2004010540A priority Critical patent/JP4431409B2/en
Publication of JP2005202845A publication Critical patent/JP2005202845A/en
Application granted granted Critical
Publication of JP4431409B2 publication Critical patent/JP4431409B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Storage Device Security (AREA)

Description

テキスト形式のプログラムを以下「スクリプト」という。本発明は、暗号化されたスクリプト処理を短時間で実行させるためのスクリプト処理方法およびその装置に関する。   The text format program is hereinafter referred to as “script”. The present invention relates to a script processing method and apparatus for executing encrypted script processing in a short time.

近年、ITインフラの整備が進んできたことで、インターネットを利用した情報通信が活発に行われるようになり、そのデータ処理や通信処理についてのサービスなども幅広い分野で提供され活用されるようになってきている。また、利便性が高まってきたことで、ITインフラに関する専門知識がなくても、ユーザインターフェース等の最低限の操作方法を知っていれば、こういったツールを充分活用できるようになってきた。こういった背景のひとつに、複数の企業間におけるデータの活用などを通して、様々な利便性を提供している「グループウエアソフト」と呼ばれる情報共通化ツールの存在があげられる。   In recent years, with the advancement of IT infrastructure, information communication using the Internet has been actively performed, and services for data processing and communication processing have been provided and utilized in a wide range of fields. It is coming. In addition, due to the increased convenience, these tools can be fully utilized as long as the user knows the minimum operation method such as the user interface even without special knowledge about IT infrastructure. One such background is the existence of an information sharing tool called “groupware software” that provides various conveniences through the use of data among multiple companies.

しかし、グループウエアソフトには汎用的な機能しか備わっていないため、一般企業における情報共有の形態としてしか利用できないものが多い。医療機関など個人情報を扱うような業界でグループウエアソフトを使用するためには、秘密情報の漏洩を防止するなどの特殊な機能が必要であり、一般企業向けの運用環境をそのまま適用することが難しい。したがって、グループウエアの開発元は、特定の業界向けにカスタマイズされた機能を開発して提供することが多い。このように、広く汎用的に使用できる一般的な機能と、特殊な市場向けにカスタマイズされた特殊機能を組み合わせて、様々な業界でグループウエアソフトが活用されている。   However, since groupware software has only general-purpose functions, it can be used only as a form of information sharing in general companies. In order to use groupware software in industries that handle personal information such as medical institutions, special functions such as prevention of leakage of confidential information are necessary, and it is necessary to apply the operating environment for general companies as it is. difficult. Therefore, groupware developers often develop and provide customized functions for specific industries. In this way, groupware software is used in various industries by combining general functions that can be used widely and widely and special functions customized for special markets.

グループウエアの開発元では、特定の業界向けに行うカスタマイズについて、ソフトウエア開発業務を如何に効率よく行えるかという点が重要となってくる。効率性を高める開発形態の一例としては、カスタマイズされたソフトウエアが、ユーザのOSや機種に対する依存度をできるだけ少なくするために、スクリプト処理などの高級言語の形でユーザへ提供することが有効である。   For groupware developers, it is important how efficiently software development work can be performed for customization for a specific industry. As an example of a development form that increases efficiency, it is effective to provide customized software to the user in the form of a high-level language such as script processing in order to reduce the dependence on the user's OS and model as much as possible. is there.

ところが、スクリプト処理の形でそのままソフトウエアを頒布すると、ソフトウエアのユーザはそのスクリプト処理の内容を見るだけで、ソフトウエアの開発内容を極めて容易に知ることができるので、ユーザによる改変や二次利用などを実質的に許してしまうこととなる。したがって開発元にとっては、こういったスクリプトの機密保護をする必要がある。   However, if the software is distributed as it is in the form of script processing, the software user can know the development contents of the software very easily just by looking at the contents of the script processing. In effect, such use will be permitted. Therefore, developers need to secure these scripts.

特許文献1の技術は、インタプリタにより解釈実行されるべきインタプリタ言語で記述されたテキスト形式のプログラムを解読困難な形式で配布するために使用する記録媒体であって、スクリプトに対して所定の符号化処理を施すことにより作成された非テキスト形式のプログラム(以下「非テキストスクリプト」という。)と、この非テキストスクリプトを実行するためのバイナリ形式の実行プログラムとが記録されており、上記実行プログラムは、上記非テキストスクリプトに対して上記符号化処理の反対の処理である復号化処理を施すことにより上記スクリプトを復元するための復号化プログラムと、この復号化プログラムにより復元されたスクリプトを上記インタプリタに渡すためのスクリプト提供プログラムとを含むものである。つまり、スクリプト処理を暗号化させた符号を記録媒体に記憶させ、暗号化された符号を復号化する復号化プログラムと、復号化されたスクリプトをインタプリタに渡すスクリプト提供プログラムにより、スクリプトを実行させるものである。   The technique of Patent Document 1 is a recording medium used for distributing a text-format program described in an interpreter language to be interpreted and executed by an interpreter in a format that is difficult to decipher. A non-text format program (hereinafter referred to as “non-text script”) created by applying the process and a binary-format execution program for executing the non-text script are recorded. A decoding program for restoring the script by performing a decoding process that is a process opposite to the encoding process on the non-text script, and a script restored by the decoding program to the interpreter And a script providing program for passing. In other words, a script is executed by a decryption program for storing a code obtained by encrypting script processing in a recording medium, decrypting the encrypted code, and a script providing program for passing the decrypted script to an interpreter. It is.

図4は、特許文献1について、CD−ROMに記録されているアプリケーションプログラムのプログラム構成を示す概念図である。このアプリケーションプログラムは、Perlに代表されるインタプリタ言語で記述されたテキスト形式のプログラム(以下「スクリプト」という。)に相当する非テキストスクリプトおよびこの非テキストスクリプトを実行するためのバイナリ形式の実行プログラムをそれぞれ別のプログラムとして有するとともに、スクリプトを逐一解釈して実行するためのインタプリタを有している。なお、Perlなどの汎用的なインタプリタ言語でスクリプトが記述され、かつ、ユーザが汎用インタプリタを既に所有している確率が高い場合、および、有償無償にかかわらず汎用インタプリタを簡単に入手できる環境にある場合には、インタプリタをCD−ROMに記録しておく必要は必ずしもない。ただし、専用のインタプリタでなければ実行できないようなスクリプトであれば、専用インタプリタをCD−ROMに記録しておく必要がある。   FIG. 4 is a conceptual diagram showing a program configuration of an application program recorded on a CD-ROM for Patent Document 1. This application program includes a non-text script corresponding to a text format program (hereinafter referred to as “script”) written in an interpreter language represented by Perl, and a binary format execution program for executing the non-text script. Each has a separate program and an interpreter for interpreting and executing the script one by one. It should be noted that if the script is written in a general-purpose interpreter language such as Perl and the user has a high probability of owning the general-purpose interpreter, and the general-purpose interpreter is easily available regardless of whether it is free of charge. In some cases, it is not always necessary to record the interpreter on a CD-ROM. However, if the script can only be executed by a dedicated interpreter, the dedicated interpreter must be recorded on the CD-ROM.

非テキストスクリプトおよび実行プログラムは、符号化プログラムにより作成される。符号化プログラムは、また、このようにして作成された非テキストスクリプトを実行するための実行プログラムをバイナリ形式で作成する。より具体的には、符号化プログラムは、非テキストスクリプトを復号化するための復号化プログラムおよび復号化プログラムによって復号化された結果復元されたスクリプトをインタプリタに渡すためのスクリプト提供プログラムを作成する。この場合、復号化プログラムおよびスクリプト提供プログラムは、機械語で記述される。   The non-text script and the execution program are created by an encoding program. The encoding program also creates an execution program for executing the non-text script created in this way in a binary format. More specifically, the encoding program creates a decoding program for decoding the non-text script and a script providing program for passing the script restored as a result of decoding by the decoding program to the interpreter. In this case, the decryption program and the script providing program are described in machine language.

特許文献1で開示された従来技術では、ユーザにとって極めて容易に読み取りことができる記録媒体には、スクリプト処理が直接記録されていないので、記録媒体に記録されたスクリプトの内容を秘密のままにし、ユーザによる改変や二次利用などを防止できるとされている。   In the prior art disclosed in Patent Document 1, script processing is not directly recorded on a recording medium that can be read very easily by the user, so the contents of the script recorded on the recording medium are kept secret, It is said that modification and secondary use by the user can be prevented.

また、特許文献2の内容を図5に示す。図5において、この技術の機密保護機能付き情報処理装置はデータ処理手段、第1の記憶手段、暗号化手段、復号手段および第2の記憶手段を有している。第2の記憶手段に格納されている暗号化された命令およびデータを復号して第1の記憶手段に格納し、データ処理手段で実行および処理する。また、データ処理手段から第2の記憶手段にデータを出力する時は一旦第1の記憶手段に格納した後、暗号化手段で暗号化して第2の記憶手段に格納する。従って、第2の記憶手段に格納されている暗号化された命令およびデータを、復号して第1の記憶手段に格納しておくことができるので、機械語命令の実行と復号またはデータの暗号化と格納を個別に処理することが可能となる。従って、第1の記憶手段に必要とする機械語命令またはデータが存在(キヤツシュヒツト)するかぎり暗号化または復号の必要がなく、機密保護機能付き情報処理装置の処理の高速化を実現できる。   The contents of Patent Document 2 are shown in FIG. In FIG. 5, the information processing apparatus with security function of this technique has data processing means, first storage means, encryption means, decryption means, and second storage means. The encrypted instruction and data stored in the second storage means are decrypted, stored in the first storage means, and executed and processed by the data processing means. When data is output from the data processing means to the second storage means, the data is temporarily stored in the first storage means, then encrypted by the encryption means and stored in the second storage means. Accordingly, since the encrypted instruction and data stored in the second storage means can be decrypted and stored in the first storage means, execution and decryption of machine language instructions or data encryption are possible. Can be processed separately. Therefore, as long as the machine language instruction or data necessary for the first storage means is present (cached), there is no need for encryption or decryption, and the processing speed of the information processing apparatus with a security function can be increased.

ここでは、第1の記憶手段と第2の記憶手段は記憶の階層を成しており、第1の記憶手段は第2の記憶手段よりも高速な装置が望ましい。たとえば第1の記憶手段として半導体メモリなどの比較的高速な記憶装置、第2の記憶手段としてディスク装置などの比較的低速な記憶装置の組合せが考えられる。さらに第1の記憶手段および第2の記憶手段の内部を階層構成にすることも可能である。また、暗号化および復号アルゴリズムとしてはDES(Data Encryption Standard)やRSA(Rivest−Shamir−Adleman)暗号、比較的処理が簡単なアドレス・スクランブルやデータビツトのスクランブル、単純に暗号鍵とデータの排他的論理和をとる方法などがある。
特開平11−353172号(第6頁および第2図) 特開平09−259044号(第1図)
Here, the first storage means and the second storage means form a storage hierarchy, and it is desirable that the first storage means is a higher-speed device than the second storage means. For example, a combination of a relatively high-speed storage device such as a semiconductor memory as the first storage means and a relatively low-speed storage device such as a disk device as the second storage means can be considered. Furthermore, the inside of the first storage means and the second storage means can be made into a hierarchical structure. As encryption and decryption algorithms, DES (Data Encryption Standard) and RSA (Rivest-Shamir-Adleman) encryption, relatively easy processing of address scramble and data bit scramble, simple encryption key and data exclusive There is a method of taking a logical sum.
Japanese Patent Laid-Open No. 11-353172 (page 6 and FIG. 2) JP 09-259044 (FIG. 1)

しかし、カスタマイズされたグループウエアは、ユーザが管理するサーバ機に設置されることが多く、クライアントがスクリプト処理を要求してきたときには、暗号化されたスクリプト処理を記憶媒体から呼び出す手順、暗号を解読する手順が繰り返し発生し、特に複数のクライアントがスクリプト処理の要求をかけてきたときには、ハードディスク、CD−ROMあるいはDVDなどといった記憶媒体のアクセスに要する回数が多くなり、サーバ機の処理能力を低下させ、結局は、暗号化されたスクリプト処理を計算機で実行させるときに要する総処理時間を長くさせる原因の一つとなっていた。   However, customized groupware is often installed on a server managed by the user, and when the client requests script processing, the encrypted script processing is called from the storage medium, and the encryption is decrypted. When the procedure occurs repeatedly, especially when multiple clients request script processing, the number of times required to access a storage medium such as a hard disk, CD-ROM, or DVD increases, reducing the processing capacity of the server machine, Eventually, this was one of the causes of increasing the total processing time required to execute encrypted script processing on a computer.

また、特許文献2では、暗号化された命令と、復号化された命令を記憶する2つの記憶手段(第1、第2記憶手段)を設けて、2つの記憶手段の間を復号手段で接続した構成になっており、「スクリプト処理を暗号化した情報」を第2記憶手段へ記録させ、「復号化されたスクリプト処理」を第1記憶手段へ記録させることになる。つまり、特別な対策を施さない限り、第1記憶手段にユーザがアクセスすることが出来るので、スクリプト処理の内容を読み取ることが可能となる。   In Patent Document 2, two storage means (first and second storage means) for storing an encrypted instruction and a decrypted instruction are provided, and the two storage means are connected by a decryption means. Thus, “information obtained by encrypting script processing” is recorded in the second storage means, and “decrypted script processing” is recorded in the first storage means. That is, unless a special measure is taken, the user can access the first storage means, so that the contents of the script process can be read.

特許文献2では、第1記憶手段にユーザがアクセスすることが出来ないように、これらの機能をICパッケージに組み込んで、ICごと保護容器として利用する例を開示しているが、このような形態は、個別のハードウエアに依存することとなり、スクリプト処理で記述することの有用性が無くなることになる。また、特許文献2で言う復号手段で処理を直接機械語に翻訳させることも可能であるが、そうすると復号手段にスクリプト処理のコンパイラ機能を含める必要があるので、スクリプト処理で記述することの有用性が無くなってしまう。   Patent Document 2 discloses an example in which these functions are incorporated in an IC package and used as a protective container together with the IC so that the user cannot access the first storage means. Depends on the individual hardware, and the usefulness of describing by script processing is lost. Although it is possible to directly translate the processing into machine language by the decoding means described in Patent Document 2, it is necessary to include a compiler function for script processing in the decoding means. Will disappear.

スクリプトの実行は、スクリプト処理をコンパイルして中間コードを生成する手段と、インタプリタが中間コードを実行する手段とで構成されたスクリプト処理実行部(プログラム)で処理されるが、スクリプト処理実行部は一般に計算機のOSなどに依存することが多く、前述したユーザのOSや機種に対する依存度をできるだけ少なくするというメリットを生かすためには、スクリプト処理実行部に変更を加えることなしにカスタマイズすることが要求される。
しかし、特許文献1による従来技術によれば、暗号を解読した後の処理が比較的長い時間、メモリの一部領域に保持されたままとなり、外部からメモリを参照することで、復号化スクリプト処理の情報が、開発元の以外の第三者に漏洩してしまうという問題があった。
Script execution is processed by a script processing execution unit (program) comprising means for compiling script processing to generate intermediate code and means for interpreter executing intermediate code. In general, it often depends on the OS of the computer, and in order to take advantage of the above-mentioned advantage of reducing the dependence on the user's OS and model as much as possible, it is necessary to customize the script processing execution unit without making any changes. Is done.
However, according to the prior art disclosed in Patent Document 1, the decryption script process is performed by referring to the memory from the outside, since the process after the decryption of the code is held in a partial area of the memory for a relatively long time. There was a problem that the information was leaked to third parties other than the developer.

本発明は上記問題点を解決するためになされたものであり、その目的はスクリプト処理実行部に手を加えることなしに、暗号化されたスクリプト処理を計算機で実行したときに生成された復号化スクリプト処理の情報を、外部から参照できないようにし、開発元の以外の第三者にその開発内容が漏洩しないスクリプト処理方法とその処理計算機を提供することにある。また、暗号化されたスクリプト処理を計算機で実行させるときに要する総処理時間を少なくすることのできるスクリプト処理方法とその処理計算機を提供することにある。   The present invention has been made to solve the above problems, and its purpose is to perform decryption generated when an encrypted script process is executed by a computer without modifying the script process execution unit. An object of the present invention is to provide a script processing method and a processing computer that prevent information on the script processing from being externally referenced and prevent the development contents from leaking to a third party other than the developer. Another object of the present invention is to provide a script processing method and its processing computer that can reduce the total processing time required when the encrypted script processing is executed by the computer.

上記課題を解決するために、請求項1記載の発明は、予め1以上のプログラムによって構成されるスクリプト処理を暗号化させておき、その暗号化された符号を記憶媒体に記録させておき、スクリプト処理の実行要求に応じて前記スクリプト処理を計算機に実行させるときには、前記実行要求に先だって、予め前記符号を前記記録媒体から読み込んで、前記符号を該計算機のメモリ内に確保された第1記憶領域に一括して記憶させる読み出しステップ(S1)と、前記実行要求があったときには、前記第1記憶領域にある前記符号の必要な箇所のみを復号化してスクリプト処理を生成し、前記スクリプト処理を該計算機のメモリ内に確保された第2記憶領域に記憶させる復号化ステップ(S2)と、前記スクリプト処理の格納された前記第2記憶領域内のメモリのアドレスを、次ステップに通知するアドレス通知ステップ(S3)と、前記アドレスをもとに前記スクリプト処理を参照、翻訳して、実行形式を生成させて、該計算機のメモリ内に確保された第3記憶領域に記憶させたのち、前記第3記憶領域の前記実行形式をもとに所定の処理を実行するスクリプト処理実行ステップ(S4)とにより、前記実行要求がある度に前記復号化ステップ(S2)以降を実行させるスクリプト処理方法である。   In order to solve the above problems, the invention according to claim 1 is characterized in that a script process constituted by one or more programs is encrypted in advance, and the encrypted code is recorded in a storage medium, and the script is recorded. When causing the computer to execute the script process in response to an execution request for processing, a first storage area in which the code is read from the recording medium in advance and the code is secured in the memory of the computer prior to the execution request. When the execution request is made, a reading process (S1) for storing the data in a batch is decoded, and a script process is generated by decoding only a necessary part of the code in the first storage area, and the script process is performed. A decryption step (S2) for storing in a second storage area secured in the memory of the computer; and the second description storing the script process. An address notifying step (S3) for notifying the address of the memory in the storage area to the next step, and referring to and translating the script processing based on the address, generating an execution format, and storing in the memory of the computer Each time the execution request is made by the script processing execution step (S4) of executing a predetermined process based on the execution format of the third storage area after being stored in the third storage area secured in In this script processing method, the decryption step (S2) and subsequent steps are executed.

また、請求項2記載の発明は、前記スクリプト処理実行ステップ(S4)で、繰り返し実行される前記実行形式については、前記第3記憶領域にそのまま記憶保持させ続け、前記復号化ステップS2で、前記記憶保持されている前記実行形式にかかる前記スクリプト処理の復号化を省略するスクリプト処理方法である。
また、請求項3記載の発明は、前記アドレス通知ステップ(S3)で、前記アドレスを前記スクリプト処理実行ステップ(S4)へ通知してから、一定時間経過した後で、前記アドレスにある前記スクリプト処理の記憶内容を消去するスクリプト処理方法である。
また、請求項4記載の発明は、予め1以上のプログラムによって構成されるスクリプト処理を暗号化した符号を記憶した記憶媒体を読み取ることができる計算機であって、スクリプト処理の実行要求に先だって、予め前記符号を前記記録媒体から読み込んで、前記符号を該計算機のメモリ内に確保された第1記憶領域に一括して記憶させる読み出し部と、前記実行要求があったときには、前記第1記憶領域にある前記符号の必要な箇所のみを復号化してスクリプト処理を生成し、前記スクリプト処理を該計算機のメモリ内に確保された第2記憶領域に記憶させる復号化部と、前記スクリプト処理の格納された前記第2記憶領域内のメモリのアドレスを、後記スクリプト処理実行部に通知するアドレス通知部と、前記アドレスをもとに前記スクリプト処理を参照、翻訳して、実行形式を生成させて、該計算機のメモリ内に確保された第3記憶領域に記憶させたのち、前記第3記憶領域の前記実行形式をもとに所定の処理を実行するスクリプト処理実行部と、前記実行要求がある度に前記復号化部と、前記アドレス通知部と、前記スクリプト処理実行部を実行するスクリプト処理計算機である。
In the invention according to claim 2, the execution format that is repeatedly executed in the script processing execution step (S4) is continuously stored and held in the third storage area as it is, and the decoding step S2 This is a script processing method that omits decryption of the script processing related to the execution format stored and retained.
The invention according to claim 3 is the script processing at the address after a predetermined time has elapsed since the address was notified to the script processing execution step (S4) in the address notification step (S3). This is a script processing method for erasing the stored contents.
According to a fourth aspect of the present invention, there is provided a computer capable of reading a storage medium storing a code obtained by encrypting a script process composed of one or more programs in advance, and prior to the execution request of the script process, A reading unit that reads the code from the recording medium and stores the code in a batch in a first storage area secured in a memory of the computer; and when there is an execution request, the reading unit stores the code in the first storage area Only a necessary part of the code is decoded to generate a script process, and the script process is stored in a second storage area secured in the memory of the computer, and the script process is stored An address notifying unit for notifying a script processing execution unit of a memory address in the second storage area; and the script based on the address. The reference processing is referred to, translated, and an execution format is generated and stored in a third storage area secured in the memory of the computer. Then, a predetermined processing is performed based on the execution format in the third storage area. A script processing execution unit that executes processing, and a script processing computer that executes the decryption unit, the address notification unit, and the script processing execution unit each time the execution request is made.

また、請求項5記載の発明は、前記スクリプト処理実行部は、繰り返し実行される前記実行形式については、前記第3記憶領域にそのまま記憶保持させ続け、前記復号化部は、前記記憶保持されている前記実行形式にかかる前記スクリプト処理の復号化を省略するスクリプト処理計算機である。
また、請求項6記載の発明は、前記アドレス通知部は、前記アドレスを前記スクリプト処理実行部へ通知してから、一定時間経過した後で、前記アドレスにある前記スクリプト処理の記憶内容を消去するスクリプト処理計算機である。
上記手段により、本発明はハードディスクやCD−ROM、DVDなどの記憶媒体に暗号化されたスクリプト処理を、計算機の電源投入時などに予め読み込んでメモリに記憶させ、スクリプトの実行時には、メモリにアクセスするだけで処理を実行できる。
Further, in the invention according to claim 5, the script processing execution unit continues to store the execution format repeatedly executed in the third storage area as it is, and the decryption unit stores and holds the execution format. A script processing computer that omits decryption of the script processing according to the execution format.
According to a sixth aspect of the present invention, the address notification unit erases the stored content of the script processing at the address after a predetermined time has elapsed after notifying the script processing execution unit of the address. Script processing computer.
By the above means, the present invention reads script processing encrypted in a storage medium such as a hard disk, CD-ROM, or DVD in advance when the computer is turned on and stored in the memory, and accesses the memory when executing the script. You can execute the process just by doing.

本発明は、予め1以上のプログラムによって構成されるスクリプト処理を暗号化させておき、その暗号化された符号を記憶媒体に記録させておき、スクリプト処理の実行要求に応じて前記スクリプト処理を計算機に実行させるときには、前記実行要求に先だって、予め前記符号を前記記録媒体から読み込んで、前記符号を該計算機のメモリ内に確保された第1記憶領域に一括して記憶させる読み出しステップ(S1)と、前記実行要求があったときには、前記第1記憶領域にある前記符号の必要な箇所のみを復号化してスクリプト処理を生成し、前記スクリプト処理を該計算機のメモリ内に確保された第2記憶領域に記憶させる復号化ステップ(S2)と、前記スクリプト処理の格納された前記第2記憶領域内のメモリのアドレスを、次ステップに通知するアドレス通知ステップ(S3)と、前記アドレスをもとに前記スクリプト処理を参照、翻訳して、実行形式を生成させて、該計算機のメモリ内に確保された第3記憶領域に記憶させたのち、前記第3記憶領域の前記実行形式をもとに所定の処理を実行するスクリプト処理実行ステップ(S4)とにより、前記実行要求がある度に前記復号化ステップ(S2)以降を実行させるので、スクリプト処理実行部に手を加えることなしに、暗号化されたスクリプト処理を計算機で実行したときに生成された復号化スクリプト処理の情報を、外部から参照できないようにでき、開発内容の機密保護ができる。
また、前記スクリプト処理実行ステップ(S4)で、繰り返し実行される前記実行形式については、前記第3記憶領域にそのまま記憶保持させ続け、前記復号化ステップS2で、前記記憶保持されている前記実行形式にかかる前記スクリプト処理の復号化を省略したので、暗号化されたスクリプト処理を計算機で実行させるときに要する総処理時間を少なくすることができる。
According to the present invention, script processing composed of one or more programs is encrypted in advance, the encrypted code is recorded in a storage medium, and the script processing is executed in response to a script processing execution request. When executing the processing, a reading step (S1) of reading the code from the recording medium in advance and storing the code in a first storage area secured in the memory of the computer prior to the execution request. When there is the execution request, the script processing is generated by decoding only the necessary portion of the code in the first storage area, and the script processing is secured in the memory of the computer. And the address of the memory in the second storage area where the script process is stored is stored in the next step. An address notifying step (S3) for notifying the system, and referring to and translating the script processing based on the address, generating an execution format, and storing it in a third storage area secured in the memory of the computer After that, the decryption step (S2) and subsequent steps are executed each time the execution request is made by the script processing execution step (S4) for executing a predetermined process based on the execution format in the third storage area. Therefore, without modifying the script processing execution unit, the decryption script processing information generated when the encrypted script processing is executed on the computer can not be referred to from the outside. Security protection is possible.
Further, the execution format repeatedly executed in the script processing execution step (S4) is continuously stored and held in the third storage area as it is, and the execution format stored and held in the decryption step S2. Since the decryption of the script process is omitted, the total processing time required for executing the encrypted script process on the computer can be reduced.

以下、本発明の実施例について図に基づいて説明する。   Embodiments of the present invention will be described below with reference to the drawings.

図1は、本発明の第1実施例の構成図である。図において2は記憶媒体、3はメモリ、4は中央演算処理装置であるCPU、5はスクリプト処理計算機1へのスクリプトの実行要求である。スクリプト処理計算機1は、記憶媒体2、メモリ3、CPU4を備えた構成である。
記憶媒体2は、ハードディスクドライブ装置のように、計算機本体の中に内蔵されたもののほか、CD−ROMであったり、DVD−ROMのように、記憶媒体そのものが他の計算機でも読み取りできるような形態であっても良い。記憶媒体2には、スクリプト処理として記述される1以上のプログラムを、第三者が見ても解読できない形で暗号化させた符号21の形で記録させておく。暗号化の方法としては、たとえばDES暗号の他、RSAやAESなどの暗号処理方法がある。
FIG. 1 is a block diagram of a first embodiment of the present invention. In the figure, 2 is a storage medium, 3 is a memory, 4 is a CPU as a central processing unit, and 5 is a script execution request to the script processing computer 1. The script processing computer 1 includes a storage medium 2, a memory 3, and a CPU 4.
The storage medium 2 is a built-in computer main body such as a hard disk drive device, a CD-ROM, or a form such that the storage medium itself can be read by another computer such as a DVD-ROM. It may be. In the storage medium 2, one or more programs described as script processing are recorded in the form of a code 21 that is encrypted in a form that cannot be decrypted even by a third party. As an encryption method, for example, there are encryption processing methods such as RSA and AES in addition to DES encryption.

メモリ3は、第1記憶領域31、第2記憶領域32、第3記憶領域33の3つの記憶領域が確保されている。   In the memory 3, three storage areas of a first storage area 31, a second storage area 32, and a third storage area 33 are secured.

CPU4は、符号21を記録媒体2から計算機の電源投入時などに予め読み込んで、そのままの形で符号34を第1記憶領域31に一括して記憶させる読み出し部41と、実行要求5があったときに、第1記憶領域31にある符号34の必要な箇所のみを復号化してスクリプト処理を生成し、スクリプト処理35を第2記憶領域32に記憶させる復号化部42と、スクリプト処理35が格納された第2記憶領域32内のメモリのアドレスを、スクリプト処理実行部44に通知するアドレス通知部43と、そのアドレスをもとにスクリプト処理35を参照、翻訳して、実行形式36を生成させて、第3記憶領域33に記憶させたのち、その実行形式36をもとに所定の処理を実行するスクリプト処理実行部44を備える。   The CPU 4 has a read unit 41 that reads the code 21 from the recording medium 2 in advance when the computer is turned on, and stores the code 34 in the first storage area 31 as it is, and an execution request 5. Sometimes, only the necessary part of the reference numeral 34 in the first storage area 31 is decrypted to generate a script process, and the script process 35 is stored in the second storage area 32, and the script process 35 stores the script process 35. The address notifying unit 43 for notifying the address of the memory in the second storage area 32 to the script processing executing unit 44 and the script processing 35 are referred to and translated based on the address to generate the execution format 36. The script processing execution unit 44 executes a predetermined process based on the execution format 36 after being stored in the third storage area 33.

このように予め1以上のプログラムによって構成されるスクリプト処理を暗号化させておき、その暗号化された符号21を記憶媒体2に記録させておき、スクリプト処理の実行要求5に応じてスクリプト処理を計算機に実行させる。   As described above, the script process composed of one or more programs is encrypted in advance, the encrypted code 21 is recorded in the storage medium 2, and the script process is executed in response to the script process execution request 5. Let the computer execute it.

図2は、本発明の第1実施例にかかる、スクリプト処理の手順を示すフローチャートである。すなわち、実行要求5に先だって、読み出し部41が予め符号21を記録媒体2から一括して読み込んで、符号34を第1記憶領域31に一括して記憶させる読み出しステップS1により、ハードディスクやCD−ROM、DVDなどの記憶媒体2に暗号化されたスクリプト処理21を、計算機1の電源投入時などに予め読み込んでメモリ3に記憶させておく。   FIG. 2 is a flowchart showing a script processing procedure according to the first embodiment of the present invention. That is, prior to the execution request 5, the reading unit 41 reads the code 21 from the recording medium 2 in advance and stores the code 34 in the first storage area 31 in advance. The script process 21 encrypted in the storage medium 2 such as a DVD is read in advance and stored in the memory 3 when the computer 1 is turned on.

実行要求5があったときには、復号化ステップS2により、復号化部42が符号34の必要な箇所のみを復号化してスクリプト処理を生成し、スクリプト処理36を第2記憶領域32に記憶させる。そして、アドレス通知ステップS3により、アドレス通知部43がスクリプト処理36の格納された第2記憶領域32内のメモリ3のアドレスを、次ステップに通知する。復号化ステップS2では、メモリ3のアクセスのみでスクリプト処理36を復号化するので、記憶媒体2へのファイルアクセスなどに要していた処理時間が短縮される。   When there is an execution request 5, in the decoding step S 2, the decoding unit 42 generates a script process by decoding only a necessary part of the code 34 and stores the script process 36 in the second storage area 32. Then, in the address notification step S3, the address notification unit 43 notifies the next step of the address of the memory 3 in the second storage area 32 in which the script process 36 is stored. In the decryption step S2, since the script process 36 is decrypted only by accessing the memory 3, the processing time required for file access to the storage medium 2 is shortened.

スクリプト処理実行ステップS4では、スクリプト処理実行部44がアドレス通知部43から通知されたスクリプト処理35の記述されたメモリ3のアドレスをもとに、スクリプト処理35を参照、翻訳して、実行形式36を生成させて、メモリ3内に確保された第3記憶領域33に記憶(メモリキャッシュ)させたのち、第3記憶領域33の実行形式36をもとに所定の処理を実行する。すなわち、スクリプト処理実行部44は、スクリプト処理35をコンパイルし中間コードを生成し、これを実行形式36とし、中間コードを実行するインタープリタが実行形式36を解釈し、実行することによりスクリプト処理が実行される。   In the script processing execution step S4, the script processing execution unit 44 refers to and translates the script processing 35 based on the address of the memory 3 in which the script processing 35 notified from the address notification unit 43 is described, and executes the execution format 36. Is generated and stored (memory cache) in the third storage area 33 secured in the memory 3, and then predetermined processing is executed based on the execution format 36 of the third storage area 33. That is, the script process execution unit 44 compiles the script process 35 to generate an intermediate code, which is converted into an execution format 36, and the interpreter that executes the intermediate code interprets the execution format 36 and executes the script process. Is done.

そして、スクリプト処理実行ステップS4が終了した後は、実行要求5がある度に前記復号化ステップS2を実行させるようにし、再び実行要求5があったときには、記憶媒体2の符号21にアクセスするのではなく、メモリ3にある符号34にアクセスするようにしておく。   Then, after the completion of the script processing execution step S4, the decryption step S2 is executed every time there is an execution request 5, and when there is an execution request 5 again, the code 21 of the storage medium 2 is accessed. Instead, the code 34 in the memory 3 is accessed.

なお、スクリプト処理実行ステップS4では、スクリプト処理実行部44において繰り返し実行される実行形式36について、第3記憶領域33にそのまま記憶保持させ続けるように、メモリキャッシュを制御するようにし、前記復号化ステップS2では、複合化部42において、記憶保持されている実行形式36にかかるスクリプト処理の復号化を省略するようにすることが好ましい。このように、頻繁に繰り返し実行される実行形式について復号化やコンパイルが省略できるので、高速なスクリプト処理が実行できる。   In the script process execution step S4, the memory cache is controlled so that the execution format 36 repeatedly executed in the script process execution unit 44 is stored and held in the third storage area 33 as it is, and the decryption step is performed. In S <b> 2, it is preferable that the decoding unit 42 omits the decryption of the script processing related to the stored execution format 36. In this way, decoding and compilation can be omitted for frequently executed execution formats, so that high-speed script processing can be executed.

次に、本発明の第2実施例について図3に基づいて説明する。図3は、本発明の第2実施例にかかる、スクリプト処理計算機の構成を示す説明図である。図3が図1と相違する構成部分はクロック6を備えた部分であり、その他は基本的に同じである。すなわち、スクリプト処理計算機1は、第1実施例で説明した構成のほか、一定間隔でパルス信号を出力するクロック6を備え、そのパルス信号をアドレス通知部43が計数する。アドレス通知部43(通知ステップS3)は、メモリ3の第2記憶領域32に記録されたスクリプト処理35のアドレスをスクリプト処理実行部44へ通知してから、パルス信号の計数を開始し、一定の時間(スクリプト処理実行部44がスクリプト処理35を読み込んだと思われる時間)が経過した後で、第2記憶領域35にある該スクリプト処理35の記憶内容を消去するようにする。   Next, a second embodiment of the present invention will be described with reference to FIG. FIG. 3 is an explanatory diagram showing the configuration of the script processing computer according to the second embodiment of the present invention. 3 differs from FIG. 1 in that it includes a clock 6 and the other components are basically the same. That is, the script processing computer 1 includes a clock 6 that outputs pulse signals at regular intervals in addition to the configuration described in the first embodiment, and the address notification unit 43 counts the pulse signals. The address notification unit 43 (notification step S3) notifies the script processing execution unit 44 of the address of the script processing 35 recorded in the second storage area 32 of the memory 3, and then starts counting pulse signals. After the time (the time when the script processing execution unit 44 seems to have read the script processing 35) has elapsed, the stored contents of the script processing 35 in the second storage area 35 are erased.

グループウエアソフトなどのカスタマイズ版ソフトウエアとして使用されるスクリプト処理や、条件付アクセスにより管理されるデータ通信方法として使用されるスクリプト処理など、スクリプト処理にて実行される処理についてその処理内容を秘密としておきたいときに用いる手段として有用である。   Confidential processing content for processing executed in script processing, such as script processing used as customized software such as groupware software and script processing used as a data communication method managed by conditional access It is useful as a means to use when you want to.

本発明の第1実施例にかかる、スクリプト処理計算機の構成を示す説明図である。It is explanatory drawing which shows the structure of the script processing computer concerning 1st Example of this invention. 本発明の第1実施例にかかる、スクリプト処理の手順を示すフローチャートである。It is a flowchart which shows the procedure of the script process concerning 1st Example of this invention. 本発明の第2実施例にかかる、スクリプト処理計算機の構成を示す説明図である。It is explanatory drawing which shows the structure of the script processing computer concerning 2nd Example of this invention. 従来の技術(特許文献1)の内容説明図。The content explanatory view of conventional technology (patent documents 1). 従来の技術(特許文献2)の内容説明図。The content explanatory view of conventional technology (patent document 2).

符号の説明Explanation of symbols

1 スクリプト処理計算機
2 記憶媒体
21,34 符号
3 メモリ
31 第1記憶領域
32 第2記憶領域
33 第3記憶領域
35 スクリプト処理
36 実行形式
4 CPU
41 読み出し部
42 復号化部
43 アドレス通知部
44 スクリプト処理実行部
5 実行要求
6 クロック
DESCRIPTION OF SYMBOLS 1 Script processing computer 2 Storage medium 21,34 Code | symbol 3 Memory 31 1st storage area 32 2nd storage area 33 3rd storage area 35 Script process 36 Execution format 4 CPU
41 Reading unit 42 Decoding unit 43 Address notification unit 44 Script processing execution unit 5 Execution request 6 Clock

Claims (6)

予め1以上のプログラムによって構成されるスクリプト処理を暗号化させておき、その暗号化された符号を記憶媒体に記録させておき、スクリプト処理の実行要求に応じて前記スクリプト処理を計算機に実行させるときには、
前記実行要求に先だって、予め前記符号を前記記録媒体から読み込んで、前記符号を該計算機のメモリ内に確保された第1記憶領域に一括して記憶させる読み出しステップ(S1)と、
前記実行要求があったときには、前記第1記憶領域にある前記符号の必要な箇所のみを復号化してスクリプト処理を生成し、前記スクリプト処理を該計算機のメモリ内に確保された第2記憶領域に記憶させる復号化ステップ(S2)と、
前記スクリプト処理の格納された前記第2記憶領域内のメモリのアドレスを、次ステップに通知するアドレス通知ステップ(S3)と、
前記アドレスをもとに前記スクリプト処理を参照、翻訳して、実行形式を生成させて、該計算機のメモリ内に確保された第3記憶領域に記憶させたのち、前記第3記憶領域の前記実行形式をもとに所定の処理を実行するスクリプト処理実行ステップ(S4)と、
により、前記実行要求がある度に前記復号化ステップ(S2)以降を実行させることを特徴とするスクリプト処理方法。
When encrypting a script process composed of one or more programs in advance, recording the encrypted code in a storage medium, and causing the computer to execute the script process in response to a script process execution request ,
Prior to the execution request, a reading step (S1) of reading the code from the recording medium in advance and storing the code in a first storage area secured in the memory of the computer;
When there is the execution request, only the necessary part of the code in the first storage area is decoded to generate a script process, and the script process is stored in the second storage area secured in the memory of the computer A decoding step (S2) to be stored;
An address notification step (S3) for notifying the next step of the address of the memory in the second storage area in which the script processing is stored;
The script processing is referred to and translated based on the address, an execution format is generated, stored in the third storage area secured in the memory of the computer, and then the execution of the third storage area A script process execution step (S4) for executing a predetermined process based on the format;
The script processing method is characterized in that the decryption step (S2) and subsequent steps are executed each time the execution request is made.
前記スクリプト処理実行ステップ(S4)で、繰り返し実行される前記実行形式については、前記第3記憶領域にそのまま記憶保持させ続け、前記復号化ステップ(S2)で、前記記憶保持されている前記実行形式にかかる前記スクリプト処理の復号化を省略することを特徴とする請求項1記載のスクリプト処理方法。   The execution format repeatedly executed in the script processing execution step (S4) is continuously stored and held in the third storage area as it is, and the execution format stored and held in the decoding step (S2). The script processing method according to claim 1, wherein decoding of the script processing according to claim 1 is omitted. 前記アドレス通知ステップ(S3)で、前記アドレスを前記スクリプト処理実行ステップ(S4)へ通知してから、一定時間経過した後で、前記アドレスにある前記スクリプト処理の記憶内容を消去することを特徴とする請求項1に記載のスクリプト処理方法。   In the address notification step (S3), after the address is notified to the script processing execution step (S4), the stored content of the script processing at the address is erased after a predetermined time has elapsed. The script processing method according to claim 1. 予め1以上のプログラムによって構成されるスクリプト処理を暗号化した符号を記憶した記憶媒体を読み取ることができる計算機であって、
スクリプト処理の実行要求に先だって、予め前記符号を前記記録媒体から読み込んで、前記符号を該計算機のメモリ内に確保された第1記憶領域に一括して記憶させる読み出し部と、
前記実行要求があったときには、前記第1記憶領域にある前記符号の必要な箇所のみを復号化してスクリプト処理を生成し、前記スクリプト処理を該計算機のメモリ内に確保された第2記憶領域に記憶させる復号化部と、
前記スクリプト処理の格納された前記第2記憶領域内のメモリのアドレスを、スクリプト処理実行部に通知するアドレス通知部と、
前記アドレスをもとに前記スクリプト処理を参照、翻訳して、実行形式を生成させて、該計算機のメモリ内に確保された第3記憶領域に記憶させたのち、前記第3記憶領域の前記実行形式をもとに所定の処理を実行するスクリプト処理実行部と、
前記実行要求がある度に前記復号化部と、前記アドレス通知部と、前記スクリプト処理実行部を実行することを特徴とするスクリプト処理計算機。
A computer capable of reading a storage medium storing a code obtained by encrypting a script process constituted by one or more programs in advance,
Prior to the execution request of script processing, a reading unit that reads the code from the recording medium in advance and stores the code in a first storage area secured in the memory of the computer;
When there is the execution request, only the necessary part of the code in the first storage area is decoded to generate a script process, and the script process is stored in the second storage area secured in the memory of the computer A decryption unit for storing;
An address notification unit for notifying the script processing execution unit of the address of the memory in the second storage area in which the script processing is stored;
The script processing is referred to and translated based on the address, an execution format is generated, stored in the third storage area secured in the memory of the computer, and then the execution of the third storage area A script process execution unit that executes a predetermined process based on the format;
A script processing computer that executes the decryption unit, the address notification unit, and the script processing execution unit each time the execution request is made.
前記スクリプト処理実行部は、繰り返し実行される前記実行形式については、前記第3記憶領域にそのまま記憶保持させ続け、前記復号化部は、前記記憶保持されている前記実行形式にかかる前記スクリプト処理の復号化を省略することを特徴とする請求項4記載のスクリプト処理計算機。   The script processing execution unit continues to store and retain the execution format that is repeatedly executed in the third storage area, and the decryption unit performs the script processing of the execution format that is stored and retained. 5. The script processing computer according to claim 4, wherein decryption is omitted. 前記アドレス通知部は、前記アドレスを前記スクリプト処理実行部へ通知してから、一定時間経過した後で、前記アドレスにある前記スクリプト処理の記憶内容を消去することを特徴とする請求項4に記載のスクリプト処理計算機。   The address notification unit, after notifying the script processing execution unit of the address, erasing the stored content of the script processing at the address after a predetermined time has elapsed. Script processing calculator.
JP2004010540A 2004-01-19 2004-01-19 Script processing method and script processing computer Expired - Fee Related JP4431409B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2004010540A JP4431409B2 (en) 2004-01-19 2004-01-19 Script processing method and script processing computer

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004010540A JP4431409B2 (en) 2004-01-19 2004-01-19 Script processing method and script processing computer

Publications (2)

Publication Number Publication Date
JP2005202845A JP2005202845A (en) 2005-07-28
JP4431409B2 true JP4431409B2 (en) 2010-03-17

Family

ID=34823236

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004010540A Expired - Fee Related JP4431409B2 (en) 2004-01-19 2004-01-19 Script processing method and script processing computer

Country Status (1)

Country Link
JP (1) JP4431409B2 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8838996B2 (en) 2012-03-26 2014-09-16 Fuji Xerox Co., Ltd. Non-transitory computer readable medium, program protection apparatus, and program protection method

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4727366B2 (en) * 2005-09-28 2011-07-20 株式会社デジタル Information processing apparatus, information processing system, program, and recording medium
KR100975508B1 (en) * 2007-12-28 2010-08-11 엔에이치엔(주) Method and System for Dynamically Changing Module of Program
CN112632572A (en) * 2020-12-04 2021-04-09 中国农业银行股份有限公司深圳市分行 Method, device and storage medium for encrypting and decrypting commands in script

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8838996B2 (en) 2012-03-26 2014-09-16 Fuji Xerox Co., Ltd. Non-transitory computer readable medium, program protection apparatus, and program protection method

Also Published As

Publication number Publication date
JP2005202845A (en) 2005-07-28

Similar Documents

Publication Publication Date Title
JP4500306B2 (en) Apparatus and method for memory encryption with reduced decryption latency
EP0950941B1 (en) Method of and apparatus for protecting data on storage medium and storage medium
JP4850830B2 (en) Computer system and program generation apparatus
EP1736848A1 (en) Execution device
CN106599629B (en) Android application program reinforcing method and device
JP2005135265A (en) Information processor
CN110309630B (en) Java code encryption method and device
KR20140042169A (en) Apparatus and method for converting value object
CN107871066B (en) Code compiling method and device based on android system
CN109344656B (en) Database data encryption/decryption method, device and equipment
JP2005216027A (en) Encryption device, encryption system therewith, decryption device and semiconductor system therewith
JP4431409B2 (en) Script processing method and script processing computer
JP5374751B2 (en) Memory management method
JP5387089B2 (en) Program and program execution device
JP2004272594A (en) Data use device, data use method and computer program
JP4125995B2 (en) Data conversion system
JP2008310678A (en) Storage device, information apparatus, and content conversion method
KR101556908B1 (en) Apparatus For Protecting Binary Code
KR20200113481A (en) Source code managing method using block chain, server performing the same, and source code developing method using the same
CN107688729A (en) Protection system of application program and method based on trusted host
JP6012355B2 (en) Control device, control system, data storage method and program
JP2005266887A (en) Program encryption apparatus, program distribution system and computer program
WO2011096073A1 (en) Memory management device
Gollamudi Secure-by-Construction Applications Using Trusted Execution Environments
KR20220134485A (en) Electronic apparatus using homomorphic cipher and method thereof

Legal Events

Date Code Title Description
A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20060721

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20060721

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20061113

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

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

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121225

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees