JP2009253490A - Memory system encrypting system - Google Patents

Memory system encrypting system Download PDF

Info

Publication number
JP2009253490A
JP2009253490A JP2008096807A JP2008096807A JP2009253490A JP 2009253490 A JP2009253490 A JP 2009253490A JP 2008096807 A JP2008096807 A JP 2008096807A JP 2008096807 A JP2008096807 A JP 2008096807A JP 2009253490 A JP2009253490 A JP 2009253490A
Authority
JP
Japan
Prior art keywords
key
data
memory
owner
conversion
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.)
Pending
Application number
JP2008096807A
Other languages
Japanese (ja)
Inventor
Koji Matsuoka
浩司 松岡
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
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 NEC Corp filed Critical NEC Corp
Priority to JP2008096807A priority Critical patent/JP2009253490A/en
Publication of JP2009253490A publication Critical patent/JP2009253490A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Storage Device Security (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To solve the problem, wherein a data encryption converting rule can, in principle, be deduced, and the encrypted data are decoded even though the data have been encrypted for protecting the data of a memory system. <P>SOLUTION: A memory system encrypting system includes a reference key which is perfectly private and from the outside, only changes cane be made; an owner key which is to be set by the owner of the data; and a conversion key which is to be generated by the reference key and the owner key, and memory data are encrypted through the use of the conversion key. <P>COPYRIGHT: (C)2010,JPO&INPIT

Description

本発明は、マイクロプロセッサとともにコンピュータシステムの基本機能を実現するメモリシステムに関し、特に暗号化手段を有するメモリシステムの暗号化方式に関する。   The present invention relates to a memory system that realizes basic functions of a computer system together with a microprocessor, and more particularly, to an encryption system for a memory system having encryption means.

コンピュータシステム等の装置は、プログラムを解読し、データ処理するマイクロプロセッサや、このプログラムやデータを記憶するメモリシステムから構成されている。これらの装置のメモリシステム内に記憶されているプログラムやデータは知的財産であり、非常に重要なものである。そのため一般的に、プログラムやデータは外部から盗用、改変されないように暗号化して保護され、装置間でデータ転送されている。   An apparatus such as a computer system includes a microprocessor that decodes a program and processes data, and a memory system that stores the program and data. Programs and data stored in the memory system of these devices are intellectual property and are very important. For this reason, in general, programs and data are protected from being stolen and modified from the outside so as to be protected and transferred between devices.

このように装置間でプログラムやデータを安全に運ぶために高い強度を持つ暗号化方式が実用化されている。しかし、プログラムやデータを安全な形で運ぶことができても、プログラムであれば、実行前に、暗号化を解除して実行可能な形式に戻す必要がある。データであれば、そのデータを扱うプログラムを実行する時点で、暗号化を解除してプログラムがデータを読み込めるようにしなければならない。このようなファイルレベルの暗号化では、暗号化を解除されたプログラムやデータのファイルに対するアクセスを制限することにより、プログラムやデータを第3者に解読されることがないような仕組みが整えられている。しかし、管理上のミスから、容易に悪意の第3者にアクセス権を取得される可能性があり、アクセス権を取得された場合、プログラムやデータを簡単に解読されてしまう非常に脆弱なシステムであった。   Thus, an encryption method with high strength has been put into practical use in order to safely carry programs and data between devices. However, even if the program and data can be carried in a safe form, the program needs to be decrypted and returned to an executable form before being executed. If it is data, when the program that handles the data is executed, the encryption must be canceled so that the program can read the data. In such file-level encryption, by restricting access to the decrypted program and data files, a mechanism is provided to prevent the program or data from being decrypted by a third party. Yes. However, there is a possibility that an access right can be easily acquired by a malicious third party due to a management error, and if the access right is acquired, the program or data is easily deciphered. Met.

一方で、プログラムやデータを知的財産として有償で、不特定多数のユーザに提供するようなケースが一般的となっている。このようなケースでは、ユーザは管理者権限を持ち、暗号化が解除されたプログラムやデータへ簡単にアクセスすることが可能である。悪意のユーザは、例えば、ライセンスの認証を行っているプログラムの部分を改変することによって、提供側が意図したライセンスの管理の仕組みを回避することが可能である。   On the other hand, it is common to provide programs and data as intellectual property for a fee and to an unspecified number of users. In such a case, the user has administrator authority and can easily access the decrypted program and data. The malicious user can avoid the license management mechanism intended by the provider, for example, by modifying the part of the program that is authenticating the license.

このような暗号化が解除された状態のプログラムやデータを手に入れることができるというファイルレベルの暗号化の問題点に対し、プログラムが高度な暗号化に対応し、プログラムが暗号化された状態のデータにアクセスする方式が提案されている。この場合、データやプログラムをファイルとして入手することができても、暗号化された状態なので、その解読は一般には困難である。   The program supports advanced encryption and the program is encrypted in response to the problem of file-level encryption that allows you to obtain programs and data that have been decrypted. A method of accessing the data is proposed. In this case, even if data or a program can be obtained as a file, since it is in an encrypted state, its decryption is generally difficult.

だが、このような方式を採用しても、やはり、暗号化されたプログラムは実行時に暗号化を解除し、メモリ上に実行可能な状態で展開される。また、データも、例えば、数値データであれば、ハードウェアが扱える演算に適した形に暗号化を解除してメモリ上に展開する必要がある。メモリ上の計算の途中結果等も暗号化されないので、メモリを参照することが可能であれば、ファイルレベルの暗号化同様、プログラムやデータの解読が可能である。他のユーザが使用しているメモリを参照したり、悪意の第3者がメモリを参照できないようにする仕組みが提供されている場合もある。しかしこの場合でも、例えば、管理者権限を手に入れメモリダンプを不正に採取する等、メモリを参照する手段がないわけではない。   However, even if such a method is adopted, the encrypted program is unencrypted at the time of execution and is developed in an executable state on the memory. Further, if the data is, for example, numerical data, it is necessary to decrypt the data in a form suitable for calculation that can be handled by the hardware and develop it on the memory. Since the intermediate results of the calculation in the memory are not encrypted, if the memory can be referred to, the program and data can be decrypted as in the case of file level encryption. There is a case where a mechanism is provided for referring to a memory used by another user or preventing a malicious third party from referring to the memory. However, even in this case, for example, there is no means of referring to the memory, such as obtaining the administrator authority and illegally collecting the memory dump.

ファイルレベルの暗号化と同様に、人的要因から管理者権限を不正に取得されることがある。これらを考慮すれば、プログラムが暗号化に対応したとしても、プログラムやデータを悪意の第3者に解読されることを想定する必要がある。特に、悪意のユーザがシステム管理者の権限を持つ、前述のライセンス管理の回避を行うようなケースでは、メモリの参照は容易に可能である。そのため、これらの悪意のユーザによりメモリを参照されるようなことがあっても、保護すべきプログラムやデータを解読されることが無いようにする手段が求められている。   Similar to file-level encryption, administrator rights may be obtained illegally due to human factors. Considering these, even if the program supports encryption, it is necessary to assume that the program or data is decrypted by a malicious third party. In particular, in a case where a malicious user has the authority of a system administrator and avoids the above-described license management, it is possible to easily refer to the memory. Therefore, there is a demand for means for preventing the program or data to be protected from being decrypted even if the malicious user refers to the memory.

上記したように、悪意のユーザによりメモリを参照されるようなことがあっても、保護すべきプログラムやデータを解読されることが無いようにする手段が必要となる。悪意のユーザがメモリを参照しても、データを解読することができないようにするためには、メモリ上のデータもまた暗号化すればよい。以下の説明においては、メモリ上のプログラムも一種のデータであり、特別に区別する必要が無い限り、データの一種として扱うことにする。   As described above, there is a need for means for preventing a program or data to be protected from being decrypted even if a malicious user refers to the memory. In order to prevent data from being decrypted even if a malicious user refers to the memory, the data on the memory may also be encrypted. In the following description, the program on the memory is also a kind of data and will be treated as a kind of data unless it is necessary to distinguish between them.

一般的な、コンピュータシステムでは、プロセッサはキャッシュを持つ。キャッシュ上のデータをアクセスする時間は短く、処理を高速に行うことができる。しかし、キャッシュの量には限界があるので、使う可能性の低いデータからメモリ上に退避させ、必要になった時点で再度キャッシュ上に取り込むといった制御が行われている。ここで、キャッシュ上のデータは処理を行うために、例えば、数値データであれば、定型的な数値表現形式で2進数として、つまり、容易に解読が可能な形式で格納される。メモリはキャッシュの退避領域として利用されため、キャッシュ上のデータと全く同じものを格納するのが一般的である。そのためキャッシュ上のデータをメモリに退避する際に変換処理を加え、データをメモリからキャッシュ上に取り込む際に、元に戻るような逆変換処理を行う。このような変換処理を行うことによって、メモリ上のデータは暗号化されるので、容易には解読できない。   In a typical computer system, the processor has a cache. The time for accessing the data on the cache is short, and the processing can be performed at high speed. However, since there is a limit to the amount of cache, control is performed such that data that is unlikely to be used is saved in the memory and is taken into the cache again when necessary. Here, in order to process the data on the cache, for example, if it is numerical data, it is stored as a binary number in a standard numerical expression format, that is, in a format that can be easily decoded. Since the memory is used as a cache save area, it is common to store exactly the same data as the data on the cache. Therefore, a conversion process is added when the data on the cache is saved in the memory, and an inverse conversion process is performed to return to the original when the data is loaded from the memory into the cache. By performing such conversion processing, the data on the memory is encrypted and cannot be easily decrypted.

このような変換処理は、データを保護したいと考えるものが容易に考えつく方式である。しかし、変換されるデータとして適当なデータセットを用意すれば、その変換処理の処理規則が原理的に推定でき、データが解読されるという問題がある。また、実装に大きく依存するが、現状の技術ではメモリアクセスの性能低下が見込まれたため、データの保護の価値が認められてこなかった状況では、得られる効果の価値が相対的に小さく、具体的な実施例を見出すことができない。すなわち現状では、有効な暗号化方式がないという問題もある。   Such a conversion process is a method in which a person who wants to protect data can easily think of it. However, if an appropriate data set is prepared as the data to be converted, there is a problem that the processing rule of the conversion process can be estimated in principle and the data is decoded. In addition, depending on the implementation, the current technology is expected to degrade the performance of memory access. Therefore, in the situation where the value of data protection has not been recognized, the value of the obtained effect is relatively small. No examples can be found. That is, there is a problem that there is no effective encryption method at present.

本発明の目的は、データの暗号化の変換規則が原理的に推定でき、データが解読されるという問題を解決するメモリシステムの暗号化方式を提供することにある。   SUMMARY OF THE INVENTION An object of the present invention is to provide a memory system encryption method that can in principle estimate the conversion rules for data encryption and solve the problem of data being decrypted.

上記の課題を解決するため、本願発明の暗号化手段を有するメモリシステムの暗号化方式は、完全に非公開で、外部からは変更することだけが可能な基準キーと、データの所有者が設定する所有者キーと、基準キーと所有者キーから生成される変換キーを有し、該変換キーによってメモリデータを暗号化することを特徴とする。   In order to solve the above problems, the encryption method of the memory system having the encryption means of the present invention is set by the owner of the data and the reference key that is completely private and can be changed only from the outside. And a conversion key generated from the reference key and the owner key, and the memory data is encrypted by the conversion key.

また本願発明の暗号化手段を有するメモリシステムは、完全に非公開で、外部からは変更することだけが可能な基準キーを保持する基準キー保持手段と、データの所有者が設定する所有者キーを保持する所有者キー保持手段と、基準キーと所有者キーから生成される変換キーを保持する変換キー保持手段と、送信されたデータを変換キーにより暗号化してメモリに送信する暗号化手段と、を有することを特徴とする。   Further, the memory system having the encryption means of the present invention includes a reference key holding means for holding a reference key that is completely private and can be changed from the outside, and an owner key set by the data owner Owner key holding means, conversion key holding means for holding a conversion key generated from the reference key and the owner key, and encryption means for encrypting the transmitted data with the conversion key and transmitting it to the memory It is characterized by having.

さらに本願発明のメモリシステムの暗号化方法は、完全に非公開で、外部からは変更することだけが可能な基準キーと、データの所有者が設定する所有者キーと、基準キーと所有者キーから生成される変換キーを有し、該変換キーによってメモリデータを暗号化し、その暗号化の回数が定められた回数になると変換キーを更新することを特徴とする。   Further, the encryption method of the memory system according to the present invention includes a reference key that is completely private and can be changed only from the outside, an owner key set by the data owner, a reference key, and an owner key. The memory key is encrypted with the conversion key, and the conversion key is updated when the number of times of encryption reaches a predetermined number.

本発明においては、仮に悪意のユーザが管理者権限を持ち、変換を推定するためのデータセットを用意し、変換後のメモリ上のデータを取得することができても、データを解読することを困難ならしめ、データの安全性を高めることができる。   In the present invention, it is assumed that a malicious user has administrator authority, prepares a data set for estimating conversion, and can decode data even if the data on the converted memory can be acquired. It can be difficult and data security can be improved.

本発明によれば、データの安全性を高めることができるメモリシステムの暗号化方式が得られる。   According to the present invention, it is possible to obtain an encryption method for a memory system that can increase the safety of data.

本発明の実施の形態について、添付した図面を参照しながら、詳細に説明する。   Embodiments of the present invention will be described in detail with reference to the accompanying drawings.

(第1の実施の形態)
本発明の第1の実施形態として、図1を参照して詳細に説明する。図1には本発明のコンピュータシステム構成図を示す。図1において、1はマイクロプロセッサ、2は本特許のメモリアクセス暗号化方式の一実施形態であるメモリアクセス暗号化/復号化手段、3はメモリ、4はリロード用のバイパス、21は基準キー保持手段、22は所有者キー保持手段、26はプロセスID保持手段、23は変換キー保持手段、24は暗号化手段、25は復号化手段である。本発明においては、メモリアクセス暗号化/復号化手段2、及びメモリ3を総称して、メモリシステムと呼称する。また、以下の説明では暗号化について説明し、復号化については、暗号化とそのデータの流れが逆であるが同様であり理解できることからその詳細説明は省略している。
(First embodiment)
A first embodiment of the present invention will be described in detail with reference to FIG. FIG. 1 shows a computer system configuration diagram of the present invention. In FIG. 1, 1 is a microprocessor, 2 is a memory access encryption / decryption means which is an embodiment of the memory access encryption method of this patent, 3 is a memory, 4 is a bypass for reloading, and 21 is a reference key holding Means 22, owner key holding means, 26 process ID holding means, 23 conversion key holding means, 24 encryption means, and 25 decryption means. In the present invention, the memory access encryption / decryption means 2 and the memory 3 are collectively referred to as a memory system. In the following description, encryption will be described, and decryption will not be described in detail because the data flow is the same as that of encryption, although it is similar and understandable.

基準キー保持手段21は基準キーを、所有者キー保持手段22は所有者キーを、変換キー保持手段23は変換キーをそれぞれ保持する。変換キーは基準キーと所有者キーから生成される。例えば、状態遷移マシンなどを採用することによって、同じ基準キーと所有者キーの組み合わせから複数の変換キーを生成し、さらに、生成された複数の変換キーから容易に生成方式を類推できないようにすることも可能である。このようなキーの生成方式は周知の技術として確立されている。暗号化手段24はメモリに書き込まれるデータを前記変換キーで暗号化する手段である。復号化手段25はメモリから読み込まれる、前記変換キーで暗号化されたメモリ上に格納されていたデータを復号化する手段である。   The reference key holding means 21 holds a reference key, the owner key holding means 22 holds an owner key, and the conversion key holding means 23 holds a conversion key. The conversion key is generated from the reference key and the owner key. For example, by adopting a state transition machine, etc., a plurality of conversion keys are generated from the combination of the same reference key and owner key, and furthermore, the generation method cannot be easily inferred from the plurality of generated conversion keys. It is also possible. Such a key generation method is established as a well-known technique. The encryption means 24 is means for encrypting data written in the memory with the conversion key. The decryption means 25 is a means for decrypting the data read from the memory and stored in the memory encrypted with the conversion key.

マイクロプロセッサ1はプログラムを実行するためにメモリアクセス暗号化/復号化手段2を介してメモリ3に格納されたデータをアクセスする。マイクロプロセッサ1は仮想メモリ機構を採用していて、マイクロプロセッサ1上のアドレス変換手段によって、ページを単位として論理/物理アドレス変換が行われる。論理アドレスはプロセスに指定する拡張部分を持ち、プロセス別に独立した論理アドレス空間を持ことができる。前記プロセスID保持手段26は該プロセスを指定する論理アドレスの拡張部分を保持する。   The microprocessor 1 accesses data stored in the memory 3 via the memory access encryption / decryption means 2 in order to execute the program. The microprocessor 1 employs a virtual memory mechanism, and logical / physical address conversion is performed in units of pages by address conversion means on the microprocessor 1. A logical address has an extended part specified for a process, and can have an independent logical address space for each process. The process ID holding unit 26 holds an extended portion of a logical address designating the process.

本発明のコンピュータシステムを構成するマイクロプロセッサ1、メモリ3、および仮想メモリ機構の動作は、当業者にとってよく知られており、また本発明とは直接関係しないので、その詳細な構成は省略する。以下本発明に関する動作について説明する。   The operations of the microprocessor 1, the memory 3, and the virtual memory mechanism that constitute the computer system of the present invention are well known to those skilled in the art and are not directly related to the present invention, and thus detailed configuration thereof is omitted. The operation relating to the present invention will be described below.

本実施形態では、メモリ上のデータの暗号化を行うために、以下の3つのキーを持つ。   In the present embodiment, the following three keys are used to encrypt data on the memory.

基準キー :完全に非公開、外部からは変更することだけが可能である。
所有者キー:データの所有者が設定する。
変換キー :基準キーと所有者キーから生成される。この変換キーを使ってデータの暗号 化を行う。
Criteria key: Completely private, can only be changed from outside.
Owner key: Set by the owner of the data.
Conversion key: Generated from the base key and the owner key. Data is encrypted using this conversion key.

悪意のある第3者がコンピュータの完全な制御を手にいれたとしても、解析できるのは暗号化に直接的に関与する変換キーである。この変換キーは決められた間隔で更新されるようになっている。そのため悪意のある第3者が変換キーを解析するためのデータセットを用意し、変換キーを解析するための変換を行ったとしても、すべての変換が完了する前に変換キーが更新され、変換の規則を求めることはできない。変換キーの更新に関する考え方に支障があり、変換キーを解析されたとしても、決められた間隔で更新されるので、データの解読はほとんど困難である。つまり、解析した変換キーで解読できるデータのほとんどが変換キーを解析するために自分で設定したデータとなり、それ以外に得られるデータ、つまり、解析されるデータは少ない。   Even if a malicious third party gains complete control of the computer, what can be analyzed is a conversion key that is directly involved in encryption. This conversion key is updated at predetermined intervals. Therefore, even if a malicious third party prepares a data set for analyzing the conversion key and performs the conversion for analyzing the conversion key, the conversion key is updated before all conversions are completed. You cannot ask for the rules. There is a problem with the concept of updating the conversion key, and even if the conversion key is analyzed, it is updated at a predetermined interval, so that it is almost difficult to decrypt the data. That is, most of the data that can be decrypted with the analyzed conversion key is the data set by itself to analyze the conversion key, and there are few other data, that is, data to be analyzed.

第3者が変換キーによる暗号化を解読するためには、変換キーを解析するためのデータセットを用意し、そのデータを変換させ、変換キーを解析する必要がある。このように第3者が変換キーによる暗号化を解読するためには、ある程度の変換回数が必要である。この変換キーによる暗号化を解読するために必要とする回数の変換が行われる回数より少ない回数の間隔を、変換キーを更新する間隔とする。このように変換キーによる暗号化を解読するために必要とする回数の変換が行われる前の決められた間隔で、変換キーを更新することで、悪意のある第3者が変換の規則を求めることを困難にできる。   In order for a third party to decrypt the encryption using the conversion key, it is necessary to prepare a data set for analyzing the conversion key, convert the data, and analyze the conversion key. Thus, in order for a third party to decrypt the encryption using the conversion key, a certain number of conversions is required. An interval that is smaller than the number of times of conversion required for decrypting the encryption by the conversion key is set as an interval for updating the conversion key. In this way, a malicious third party obtains a conversion rule by updating the conversion key at a predetermined interval before the number of conversions necessary to decrypt the encryption with the conversion key is performed. Can make it difficult.

さらに変換キーの更新に支障があり、連続して変換キーを解析された場合、この悪意のユーザは所有者キーを持つことから、基準キーを求めることが原理的に可能である。基準キーを求められた場合、基準キーと所有者キーがあれば、変換キーの生成が可能であるから、暗号化のシステムが破られることになる。もし、このような事態に陥ったとしても、ユーザごとに基準キーを変更するようにすれば、悪意のあるユーザが別のユーザのデータを解読することはできない。   Furthermore, if there is a problem in updating the conversion key, and the conversion key is continuously analyzed, the malicious user has the owner key, so that it is possible in principle to obtain the reference key. When the reference key is obtained, the conversion system can be generated if the reference key and the owner key are present, and the encryption system is broken. Even in such a situation, if the reference key is changed for each user, a malicious user cannot decipher another user's data.

本実施形態では、プロセッサのメモリアクセスパイプライン上に、ページ内のアドレスの変換とデータの変換を行う暗号化手段を有する。暗号化手段は内部に基準キーを有する。該基準キーはいなかる手段を用いても読み出すことはできない。暗号化手段にプロセスIDを指定して、所有者キーを与えると、暗号化手段は規則に基づき、基準キーと所有者キーから変換キーを生成し、該プロセスIDをもったプロセスが行ったアクセスに対してのみデータの暗号化を行う。データを読み出す場合には復号化を行う。   In the present embodiment, an encryption unit that performs address conversion and data conversion in a page is provided on the memory access pipeline of the processor. The encryption means has a reference key inside. The reference key cannot be read out using any means. When the process ID is specified for the encryption means and the owner key is given, the encryption means generates a conversion key from the reference key and the owner key based on the rule, and the access performed by the process having the process ID Encrypt data only for. Decoding is performed when reading data.

悪意の第3者が、不正なメモリの読み出し操作を行っても、プロセス番号が違うので、データの復号化は行われず、データを正しく読み出すことはできない。また、暗号化の設定を行っても、異なる変換キーで暗号化/複合化が行われるので、所有者キーを有するものにしかデータを解読することはできない。所有者キーはデータの所有者のみしか知らないので管理者にもメモリの内容は解読できない。   Even if a malicious third party performs an illegal memory read operation, the process number is different, so the data is not decrypted and the data cannot be read correctly. Even if encryption is set, since encryption / decryption is performed with a different conversion key, data can be decrypted only by those having an owner key. Since only the owner of the data knows the owner key, the administrator cannot decrypt the contents of the memory.

また、何らかの不正な操作が行われたことを検出した場合、基準キーを更新することによって、メモリ上のデータは瞬時に破壊する、厳密には、解読できないようにすることができ、データをより安全に保護できる。   In addition, when it is detected that some kind of illegal operation has been performed, the reference key is updated, so that the data on the memory can be destroyed instantaneously. Safe to protect.

プロセスIDは所有者キーと必ず組として設定されるようになっていて、所有者キーを知らないものが該プロセスIDを変更することはできない。また、いかなる手段をもっても、該所有者キーを読み出すことはできない。   The process ID is always set as a pair with the owner key, and those who do not know the owner key cannot change the process ID. Further, the owner key cannot be read out by any means.

プロセスIDと所有者キーの書き込みは、プロセスを起動したときに一度だけ行えばよいので、処理の時間は問題とはならない。従って所有者キーを強度の高い暗号化の手段を用いて暗号化しておき、その復号化を暗号化手段内部で行うようにすることができる。つまり、所有者キーをプロセッサ上で扱わないようにして、よりセキュリティを強化することも可能である。   Since the process ID and the owner key need only be written once when the process is activated, the processing time does not matter. Therefore, the owner key can be encrypted using a strong encryption means, and the decryption can be performed inside the encryption means. In other words, it is possible to further enhance security by not handling the owner key on the processor.

暗号化手段は管理対象のページに対応した数の変換キーを有する。1つのページに対応した変換キーは該ページに所定の回数書き込みが行われると更新される。更新前の変換キーを変換キー1、更新後の変換キーを変換キー2とする。変換キーの更新を行う場合、更新前に強制的にページアウトを発生させ、変換キーを更新後直ちにページインを行う。これによって変換キー1で復号化され、再度、変換キー2で暗号化された状態でメモリ上にデータが格納される。このページアウト・ページインのオーバヘッドが無視できない場合、暗号化手段に専用のリロード用のバイパス4を設けても良い。   The encryption means has a number of conversion keys corresponding to the pages to be managed. The conversion key corresponding to one page is updated when a predetermined number of times are written on the page. The conversion key before update is referred to as conversion key 1, and the conversion key after update is referred to as conversion key 2. When updating the conversion key, a page-out is forcibly generated before the update, and page-in is performed immediately after the conversion key is updated. As a result, the data is decrypted with the conversion key 1 and again stored in the memory in the state encrypted with the conversion key 2. If this page-out / page-in overhead cannot be ignored, a dedicated reload bypass 4 may be provided in the encryption means.

本実施形態では、ページアウトの場合、変換キーで複合化し、スワップファイル暗号化復号化手段で別途高い強度の暗号化を行い、暗号化されたデータをHDDへ書き込む。スワップインの場合には、スワップファイル暗号化/複合化手段で概高い強度の暗号の複合化を行い、その時点で与えられる変換キーで暗号化を行いメモリに書き込む。ページアウト/インはHDDへのアクセスが発生するような操作であるから、ある程度の暗号化にともなう遅延が容認できるが、このような暗号化の手段をとらず、以下のような手段をとっても良い。   In the present embodiment, in the case of page-out, it is decrypted with a conversion key, separately encrypted with high strength by the swap file encryption / decryption means, and the encrypted data is written to the HDD. In the case of swap-in, the swap file encryption / decryption means decrypts a cipher having a high strength, encrypts it with a conversion key given at that time, and writes it into the memory. Since page-out / in is an operation that causes access to the HDD, a certain amount of delay due to encryption can be tolerated. However, the following means may be used without taking such encryption means. .

ページアウトの場合は、ページは暗号化されていない普通のページと同様に扱われ、ページファイルに書き込まれる。すなはち、ページファイル上でもデータは暗号化されている。ページインの場合も、暗号化されていない普通のページと同様に扱いメモリに読み込まれる。ページアウトの状態では、そのページに対するデータの書き込みがないので、ページアウトする前の変換キーが有効である。データは、さらにプロセッサに読み込まれる時点で、該変換キーを用いて元のデータへと復号化される。この場合には、該ページの暗号化に使った変換キーを別途保持する。変換キーを改竄した場合、データは破壊されるので、改竄に対する対策は重要ではない。しかし、変換キーを調べることによって、変換規則を見出すことが可能となるので、変換キー自体を読み出すことができないように別途暗号化する。   In the case of page-out, the page is handled in the same way as a normal page that is not encrypted, and is written to the page file. In other words, the data is also encrypted on the page file. In the case of page-in, it is handled and read into the memory in the same way as an ordinary unencrypted page. In the page-out state, since no data is written to the page, the conversion key before the page-out is valid. When the data is further read into the processor, it is decrypted into the original data using the conversion key. In this case, the conversion key used for encrypting the page is separately held. If the conversion key is tampered with, the data is destroyed, so countermeasures against tampering are not important. However, since the conversion rule can be found by examining the conversion key, the conversion key itself is separately encrypted so that it cannot be read.

本実施形態によれば、基準キーと、所有者キーと、基準キーと所有者キーから生成される変換キーを有し、該変換キーによってデータの暗号化/復号化を行う。さらに悪意の第3者が変換キーによる暗号化を解読するために必要とする回数の前に、変換キーを更新する。このようにして、データを解読することを困難ならしめ、データの安全性が高いメモリシステムの暗号化方式が得られる。   According to this embodiment, there is a reference key, an owner key, and a conversion key generated from the reference key and the owner key, and data encryption / decryption is performed using the conversion key. Furthermore, the conversion key is updated before the number of times required by a malicious third party to decrypt the conversion key. In this way, it is difficult to decipher data, and an encryption method for a memory system with high data safety can be obtained.

(第2の実施の形態)
本発明の第2の実施形態を、以下詳細に説明する。本実施形態は、ECU(エンジンコントロールユニット)への適用例である。図1におけるメモリ3には、例えばフラッシュメモリ等のROMを含み、マイクロプロセッサ1にはエンジンコントローラとしての機能を備えている。しかしこれらの構成は特に限定されるものではなく、種々の構成とすることができる。
(Second Embodiment)
The second embodiment of the present invention will be described in detail below. The present embodiment is an application example to an ECU (Engine Control Unit). The memory 3 in FIG. 1 includes a ROM such as a flash memory, for example, and the microprocessor 1 has a function as an engine controller. However, these configurations are not particularly limited, and can be various configurations.

このECUのようなシステムでは、データの格納されたROMへのアクセスが可能で、ROM上に格納されたデータの解析によって、制御パラメータを特定し、例えば、エンジンの出力を変更するといった、不正な改造が原理的には可能である。   In a system such as this ECU, it is possible to access a ROM in which data is stored. By analyzing the data stored in the ROM, a control parameter is specified, for example, an illegal output such as changing the output of the engine. Remodeling is possible in principle.

本実施形態例では、エンジン起動時に、暗号化され格納された元データを展開し、フラッシュメモリに格納する。走行時にはフラッシュメモリに格納されたデータを使ってプログラムよりエンジンに関わる各種制御を行う。走行後、何らかの方法によって、フラッシュメモリに格納されたデータを採取しても変換されたデータなので解読が困難である。また、エンジンを起動する度に暗号化キーが変更されるため、同じ場所のデータが常に変わりデータの解析は困難である。   In this embodiment, when the engine is started, the original data that is encrypted and stored is expanded and stored in the flash memory. When traveling, various controls related to the engine are performed by the program using the data stored in the flash memory. Even if the data stored in the flash memory is collected by some method after traveling, it is difficult to decipher because it is converted data. Also, since the encryption key is changed each time the engine is started, the data at the same place always changes and it is difficult to analyze the data.

さらに、重要な点は、万が一パラメータの解析を行うことができ、動作を変えるためにフラッシュメモリ上のデータを変更された場合にはデータが改変されたことを容易に検出することができる。つまり、データが変更され、設定しようとする値は以前使用したことのある暗号化キーによって生成されたものなので、これから使用される新しい暗号化キーでは正常に複合化できず、データが改変されたことを容易に検出できることになる。   Furthermore, the important point is that it is possible to analyze parameters, and when data on the flash memory is changed to change the operation, it is possible to easily detect that the data has been altered. In other words, the data has changed and the value you are trying to set was generated by an encryption key that you have used before, so the new encryption key that will be used will not successfully decrypt and the data has been altered. This can be easily detected.

本実施形態では、フラッシュメモリ上のデータの更新をエンジン起動時に行うこととした。しかし、例えば、データの改変を目的として、エンジンが停止したことを検出させないようにシステムを改変されることも想定される。このような改変を想定し、データを格納するフラッシュメモリを2つ用意することもできる。一方を使用してエンジンを制御しながら、所定時間毎に、もう一方のフラッシュメモリ上に新しくデータを展開する。展開後制御に用いるフラッシュメモリを切り替えるといった制御を行うことも可能である。このような制御を行うことによって、改造の効果を一定時間以上維持することができないようにすることができる。更新の間隔を短く設定すれば、ほぼリアルタイムで暗号を解析する必要があって、改変を事実上不可能とすることができる。   In this embodiment, the data on the flash memory is updated when the engine is started. However, for example, it is assumed that the system is modified so as not to detect that the engine has stopped for the purpose of modifying the data. Assuming such modification, two flash memories for storing data can be prepared. While controlling the engine using one, new data is developed on the other flash memory every predetermined time. It is also possible to perform control such as switching the flash memory used for post-development control. By performing such control, it is possible to prevent the modification effect from being maintained for a certain period of time. If the update interval is set short, it is necessary to analyze the cipher in almost real time, and the modification can be made virtually impossible.

本実施形態においても、データを解読することを困難ならしめ、データの安全性が高いメモリシステムの暗号化方式が得られる。   Also in the present embodiment, it is difficult to decrypt the data, and an encryption method for the memory system with high data safety can be obtained.

本発明によれば、完全に非公開で、外部からは変更することだけが可能な基準キーと、データの所有者が設定する所有者キーと、基準キーと所有者キーから生成される変換キーを有し、該変換キーによってメモリデータを暗号化することを特徴とするメモリシステムの暗号化方式が得られる。   According to the present invention, a reference key that is completely private and can only be changed externally, an owner key set by the data owner, and a conversion key generated from the reference key and the owner key And a memory system encryption method characterized by encrypting memory data with the conversion key.

この変換キーは、第3者による暗号化を解読するために必要とする回数の変換が行われる前に更新することができ、さらに変換キーは、決められた間隔で更新することもできる。このように、規則的な変換を推定するために必要な変換を行う前に、変換の規則を変える。定められた間隔で、変換の規則を変ることにより、仮に悪意のユーザが管理者権限を持ち、変換後のメモリ上のデータを取得することができても、データを解読することを困難ならしめ、データの安全性を高めるができる。   This conversion key can be updated before the number of conversions necessary to decrypt the encryption by a third party is performed, and the conversion key can also be updated at predetermined intervals. In this way, the conversion rules are changed before performing the conversion necessary to estimate the regular conversion. By changing the conversion rules at fixed intervals, even if a malicious user has administrator privileges and can obtain the data in the converted memory, it is difficult to decrypt the data. , Can increase the safety of data.

また、変換キーは管理対象のページ単位に、基準キーはデータの所有者毎に、設定することができる。さらに所有者キーはプロセスを起動したときに、プロセスIDと組として設定され、その所有者キーは暗号化することもできる。さらにメモリデータは、ROMに記憶されるデータであってもよい。そのROMを2つ備え、一方のROMをアクセス可能なメモリとし、他方のROMに新しくデータを展開させ、データ展開後に2つのROMを切り替えてアクセスすることもできる。   The conversion key can be set for each page to be managed, and the reference key can be set for each data owner. Furthermore, the owner key is set as a pair with the process ID when the process is started, and the owner key can be encrypted. Further, the memory data may be data stored in the ROM. It is also possible to provide two ROMs, make one ROM an accessible memory, develop new data in the other ROM, and switch the two ROMs after data expansion.

さらに本発明によれば、完全に非公開で、外部からは変更することだけが可能な基準キーを保持する基準キー保持手段と、データの所有者が設定する所有者キーを保持する所有者キー保持手段と、前記基準キーと前記所有者キーから生成される変換キーを保持する変換キー保持手段と、送信されたデータを前記変換キーにより暗号化してメモリに送信する暗号化手段と、を有するメモリシステムが得られる。このメモリシステムでは、変換キー手段が第3者による暗号化を解読するために必要とする回数の変換が行われる前に、前記変換キーを更新することができる。   Further, according to the present invention, a reference key holding means for holding a reference key that is completely private and can only be changed from the outside, and an owner key for holding an owner key set by the data owner Holding means, conversion key holding means for holding a conversion key generated from the reference key and the owner key, and encryption means for encrypting the transmitted data with the conversion key and transmitting it to the memory A memory system is obtained. In this memory system, the conversion key can be updated before the conversion key means performs the conversion as many times as necessary to decrypt the encryption by a third party.

また本発明によれば、完全に非公開で、外部からは変更することだけが可能な基準キーと、データの所有者が設定する所有者キーと、前記基準キーと前記所有者キーから生成される変換キーを有し、該変換キーによってメモリデータを暗号化し、その暗号化の回数が定められた回数になると前記変換キーを更新することを特徴とするメモリシステムの暗号化方法が得られる。   Further, according to the present invention, a reference key that is completely private and can be changed from the outside, an owner key set by the data owner, the reference key, and the owner key are generated. There is obtained a memory system encryption method characterized in that memory data is encrypted with the conversion key, and the conversion key is updated when the number of times of encryption reaches a predetermined number.

上記したように実施形態を参照して本願発明を説明したが、本願発明は上記の実施形態に限定されるものではない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。   As described above, the present invention has been described with reference to the embodiment, but the present invention is not limited to the above embodiment. Various changes that can be understood by those skilled in the art can be made to the configuration and details of the present invention within the scope of the present invention.

本発明に係るコンピュータシステム構成図である。1 is a configuration diagram of a computer system according to the present invention.

符号の説明Explanation of symbols

1 マイクロプロセッサ
2 メモリアクセス暗号化/復号化手段
3 メモリ
4 リロード用のバイパス
21 基準キー保持手段
22 所有者キー保持手段
23 変換キー保持手段
24 暗号化手段
25 復号化手段
26 プロセスID保持手段
DESCRIPTION OF SYMBOLS 1 Microprocessor 2 Memory access encryption / decryption means 3 Memory 4 Reload bypass 21 Reference key holding means 22 Owner key holding means 23 Conversion key holding means 24 Encryption means 25 Decoding means 26 Process ID holding means

Claims (12)

暗号化手段を有するメモリシステムの暗号化方式において、完全に非公開で、外部からは変更することだけが可能な基準キーと、データの所有者が設定する所有者キーと、前記基準キーと前記所有者キーから生成される変換キーを有し、該変換キーによってメモリデータを暗号化することを特徴とするメモリシステムの暗号化方式。   In an encryption system of a memory system having an encryption means, a reference key that is completely private and can be changed only from the outside, an owner key set by a data owner, the reference key, and the reference key A memory system encryption system comprising a conversion key generated from an owner key and encrypting memory data with the conversion key. 前記変換キーは、第3者による暗号化を解読するために必要とする回数の変換が行われる前に更新されることを特徴とする請求項1に記載のメモリシステムの暗号化方式。   2. The encryption method of the memory system according to claim 1, wherein the conversion key is updated before the number of conversions necessary for decrypting encryption by a third party is performed. 前記変換キーは、決められた間隔で更新されることを特徴とする請求項1に記載のメモリシステムの暗号化方式。   The memory system encryption method according to claim 1, wherein the conversion key is updated at a predetermined interval. 前記変換キーは、管理対象のページ単位に設定されることを特徴とする請求項1乃至3のいずれかに記載のメモリシステムの暗号化方式。   4. The memory system encryption method according to claim 1, wherein the conversion key is set for each page to be managed. 前記基準キーは、データの所有者毎に設定されることを特徴とする請求項1乃至4のいずれかに記載のメモリシステムの暗号化方式。   5. The encryption system for a memory system according to claim 1, wherein the reference key is set for each owner of data. 前記所有者キーは、プロセスを起動したときに、プロセスIDと組として設定されることを特徴とする請求項1乃至5のいずれかに記載のメモリシステムの暗号化方式。   6. The memory system encryption method according to claim 1, wherein the owner key is set as a pair with a process ID when the process is started. 前記所有者キーは、暗号化されていることを特徴とする請求項1乃至6のいずれかに記載のメモリシステムの暗号化方式。   The memory system encryption method according to claim 1, wherein the owner key is encrypted. 前記メモリデータは、ROMに記憶されるデータであることを特徴とする請求項1乃至7のいずれかに記載のメモリシステムの暗号化方式。   8. The memory system encryption method according to claim 1, wherein the memory data is data stored in a ROM. 前記ROMを2つ備え、一方のROMをアクセス可能なメモリとし、他方のROMに新しくデータを展開させ、データ展開後に2つのROMを切り替えてアクセスすることを特徴とする請求項8に記載のメモリシステムの暗号化方式。   9. The memory according to claim 8, comprising two ROMs, wherein one ROM is an accessible memory, data is newly expanded in the other ROM, and the two ROMs are switched and accessed after data expansion. The system encryption method. 完全に非公開で、外部からは変更することだけが可能な基準キーを保持する基準キー保持手段と、データの所有者が設定する所有者キーを保持する所有者キー保持手段と、前記基準キーと前記所有者キーから生成される変換キーを保持する変換キー保持手段と、送信されたデータを前記変換キーにより暗号化してメモリに送信する暗号化手段と、を有することを特徴とするメモリシステム。   Reference key holding means for holding a reference key that is completely private and can only be changed from the outside, owner key holding means for holding an owner key set by the data owner, and the reference key And a conversion key holding unit that holds a conversion key generated from the owner key, and an encryption unit that encrypts transmitted data with the conversion key and transmits the encrypted data to a memory. . 前記変換キー手段は第3者による暗号化を解読するために必要とする回数の変換が行われる前に、前記変換キーを更新することを特徴とする請求項10に記載のメモリシステム。   11. The memory system according to claim 10, wherein the conversion key means updates the conversion key before the conversion is performed as many times as necessary to decrypt the encryption by a third party. メモリシステムの暗号化方法において、完全に非公開で、外部からは変更することだけが可能な基準キーと、データの所有者が設定する所有者キーと、前記基準キーと前記所有者キーから生成される変換キーを有し、該変換キーによってメモリデータを暗号化し、その暗号化の回数が定められた回数になると前記変換キーを更新することを特徴とするメモリシステムの暗号化方法。   In the memory system encryption method, a reference key that is completely private and can only be changed externally, an owner key set by the data owner, and the reference key and the owner key A memory system encryption method, comprising: encrypting memory data using the conversion key, and updating the conversion key when the number of times of encryption reaches a predetermined number.
JP2008096807A 2008-04-03 2008-04-03 Memory system encrypting system Pending JP2009253490A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2008096807A JP2009253490A (en) 2008-04-03 2008-04-03 Memory system encrypting system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008096807A JP2009253490A (en) 2008-04-03 2008-04-03 Memory system encrypting system

Publications (1)

Publication Number Publication Date
JP2009253490A true JP2009253490A (en) 2009-10-29

Family

ID=41313769

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008096807A Pending JP2009253490A (en) 2008-04-03 2008-04-03 Memory system encrypting system

Country Status (1)

Country Link
JP (1) JP2009253490A (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012004661A (en) * 2010-06-14 2012-01-05 Fujitsu Semiconductor Ltd Processor and processor system
JP2013172305A (en) * 2012-02-21 2013-09-02 Nec Corp Information processing device, information processing method, and information processing program
JP2014016659A (en) * 2012-07-05 2014-01-30 Nec Soft Ltd Electronic authentication system, terminal, server, and electronic authentication program
JP2018116123A (en) * 2017-01-17 2018-07-26 株式会社インタフェース Gateway device and gateway system

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001067324A (en) * 1999-08-27 2001-03-16 Sony Corp Information transmitting system, information transmitter and information receiver
JP2001117780A (en) * 1999-10-20 2001-04-27 Sharp Corp Information storage device and its downloading method
JP2001508893A (en) * 1996-12-12 2001-07-03 インテル・コーポレーション Paging system protected by cryptography
JP2003158514A (en) * 2001-07-09 2003-05-30 Matsushita Electric Ind Co Ltd Digital work protection system, recording medium apparatus, transmission apparatus, and playback apparatus
JP2003304242A (en) * 2002-04-10 2003-10-24 Nippon Telegr & Teleph Corp <Ntt> Method, device for multiple authentication by single secret key and web service use method using the same method
JP2004046307A (en) * 2002-07-09 2004-02-12 Fujitsu Ltd Data protection program and data protection method
JP2006060643A (en) * 2004-08-23 2006-03-02 Fujitsu Prime Software Technologies Ltd System and method of issuing ic cards
JP2008059561A (en) * 2006-08-04 2008-03-13 Canon Inc Information processing apparatus, data processing apparatus, and methods thereof

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001508893A (en) * 1996-12-12 2001-07-03 インテル・コーポレーション Paging system protected by cryptography
JP2001067324A (en) * 1999-08-27 2001-03-16 Sony Corp Information transmitting system, information transmitter and information receiver
JP2001117780A (en) * 1999-10-20 2001-04-27 Sharp Corp Information storage device and its downloading method
JP2003158514A (en) * 2001-07-09 2003-05-30 Matsushita Electric Ind Co Ltd Digital work protection system, recording medium apparatus, transmission apparatus, and playback apparatus
JP2003304242A (en) * 2002-04-10 2003-10-24 Nippon Telegr & Teleph Corp <Ntt> Method, device for multiple authentication by single secret key and web service use method using the same method
JP2004046307A (en) * 2002-07-09 2004-02-12 Fujitsu Ltd Data protection program and data protection method
JP2006060643A (en) * 2004-08-23 2006-03-02 Fujitsu Prime Software Technologies Ltd System and method of issuing ic cards
JP2008059561A (en) * 2006-08-04 2008-03-13 Canon Inc Information processing apparatus, data processing apparatus, and methods thereof

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
JPN6012041831; 池野 信一 他: 現代暗号理論 初版, 19860901, p.268, 社団法人電子通信学会 *

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012004661A (en) * 2010-06-14 2012-01-05 Fujitsu Semiconductor Ltd Processor and processor system
JP2013172305A (en) * 2012-02-21 2013-09-02 Nec Corp Information processing device, information processing method, and information processing program
JP2014016659A (en) * 2012-07-05 2014-01-30 Nec Soft Ltd Electronic authentication system, terminal, server, and electronic authentication program
JP2018116123A (en) * 2017-01-17 2018-07-26 株式会社インタフェース Gateway device and gateway system

Similar Documents

Publication Publication Date Title
US10685145B2 (en) Secure processor and a program for a secure processor
US9575906B2 (en) Method and system for process working set isolation
JP4473330B2 (en) Initializing, maintaining, updating, and recovering secure operations within an integrated system using data access control functions
US7694151B1 (en) Architecture, system, and method for operating on encrypted and/or hidden information
KR101397637B1 (en) Method and apparatus including architecture for protecting multi-user sensitive code and data
US20150294123A1 (en) System and method for sharing data securely
KR101565223B1 (en) System and method for in-place encryption
KR100792287B1 (en) Method for security and the security apparatus thereof
JP4738068B2 (en) Processor and system
JP2004228786A (en) Data access control method by tamper-resistant microprocessor and cache memory mount processor
US10496825B2 (en) In-memory attack prevention
JP2009253490A (en) Memory system encrypting system
JP2004280678A (en) Data processor and data processing method
JP2008097481A (en) Method, apparatus, and program for protecting electronic data on storage apparatus, and recording medium
Platte A security architecture for microprocessors
JP2004240719A (en) Software execution control method

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20110308

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120803

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120815

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20121212