JP2008033457A - Method and central processing unit for processing encrypted software - Google Patents

Method and central processing unit for processing encrypted software Download PDF

Info

Publication number
JP2008033457A
JP2008033457A JP2006203989A JP2006203989A JP2008033457A JP 2008033457 A JP2008033457 A JP 2008033457A JP 2006203989 A JP2006203989 A JP 2006203989A JP 2006203989 A JP2006203989 A JP 2006203989A JP 2008033457 A JP2008033457 A JP 2008033457A
Authority
JP
Japan
Prior art keywords
mki
software
encrypted
code
data
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
JP2006203989A
Other languages
Japanese (ja)
Inventor
Hang Jun Ye
叶航軍
Weikai Xie
謝偉凱
Yoku Ka
戈弋
Tao Zhou
周涛
Guo Hui Lin
林国輝
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.)
International Business Machines Corp
Original Assignee
International Business Machines 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 International Business Machines Corp filed Critical International Business Machines Corp
Priority to JP2006203989A priority Critical patent/JP2008033457A/en
Publication of JP2008033457A publication Critical patent/JP2008033457A/en
Pending legal-status Critical Current

Links

Images

Abstract

<P>PROBLEM TO BE SOLVED: To provide a central processing unit (CPU) for processing an encrypted software. <P>SOLUTION: An encrypted software section is encrypted with a management key MK, and the MK being encrypted with a device key DK as an encrypted MK. The CPU comprises processing and cache unit, and cryptographic unit. The cryptographic unit comprises device key storage unit for storing the DK, a plurality of management key storage units for storing MKs, wherein each management key storage unit corresponding to a management key index MKI, and a decryption unit. The decryption unit decrypts an encrypted MK with the DK to obtain a MK, stores the MK to a management key storage unit, and output a MKI corresponding to the management key storage unit, thus the MKI is used to correspond to the encrypted software section. Wherein, the decryption unit invokes corresponding MK according to the MKI and decrypts the encrypted software section, and directly transfers the decrypted software code and/or data to the processing and cache unit. <P>COPYRIGHT: (C)2008,JPO&INPIT

Description

本発明は情報セキュリティ技術に関し、より詳細には暗号化ソフトウェアを処理する方法及び中央処理装置に関する。   The present invention relates to information security technology, and more particularly to a method and a central processing unit for processing encrypted software.

一般的に改ざん防止技術は不安定な環境において物理的又は物理的以外の攻撃手段による改変又は破壊からデバイスを保護する。前記ソフトウェアについて、前記改ざん防止技術は悪意のあるユーザが秘密、例えば秘密鍵、専用アルゴリズムなどをソフトウェア・プログラムを解析又は改ざんすることによって取り出すことを防止する。主なアプリケーション・シナリオは不利な環境下で極秘データ/コードを持つ前記ソフトウェア・コンテンツを保護することである。   In general, tamper-proof technology protects devices from alteration or destruction by physical or non-physical attack means in an unstable environment. For the software, the anti-tampering technique prevents a malicious user from extracting a secret, for example, a secret key, a dedicated algorithm, etc. by analyzing or tampering with the software program. The main application scenario is to protect the software content with sensitive data / code in adverse environments.

従来のソフトウェア改ざん防止技術のほとんどはソフトウェアの手法に基づいている。これらの方法はソフトウェアの極秘データ/コードを暗号化して悪意のあるユーザが前記秘密を盗むのを阻む障壁を強化することである。しかし前記ソフトウェアの暗号化手法によると、すべての暗号化データ/コードは最終的には何らかのソフトウェア・ルーチンによって簡単な方式に復号化されCPUに移動するはずである。悪意のあるユーザは簡単な方式の前記ソフトウェアを傍受して情報を取得することができる。   Most conventional software tampering prevention techniques are based on software techniques. These methods are to encrypt the software's sensitive data / code to strengthen the barriers that prevent malicious users from stealing the secret. However, according to the software encryption method, all the encrypted data / code should be finally decrypted in a simple manner by some software routine and transferred to the CPU. A malicious user can intercept the software in a simple manner to obtain information.

前記改ざん防止ソフトウェアを実現するためにいくつかのハードウェアを基盤とした手法も提案されているが、これらはすべて専用アーキテクチャに基づいており、コプロセッサとして動作するものである。典型的なアーキテクチャは別個のプロセッサと揮発性記憶装置(例えば、RAM)と不揮発性記憶装置(例えば、フラッシュ・メモリ)と暗号エンジンとを1つの筐体内に詰め、コプロセッサとして外部バスを介してメイン・コンピュータと通信する。このアーキテクチャは特定の目的のソフトウェア、例えばATMソフトウェアなどに適している。しかし保護されたプログラムは上記のアーキテクチャを有するCPU上ではなく前記コプロセッサ上で動かさなければならず、それはソフトウェアの動作、開発、配備、配布を大幅に制約することになるので、改ざん防止性を有する一般的な目的のソフトウェアを開発することは困難である。   In order to realize the tamper-proof software, several hardware-based methods have been proposed, all of which are based on a dedicated architecture and operate as a coprocessor. A typical architecture packs a separate processor, volatile storage (eg, RAM), non-volatile storage (eg, flash memory), and cryptographic engine in a single enclosure and via an external bus as a coprocessor. Communicate with the main computer. This architecture is suitable for special purpose software such as ATM software. However, the protected program must be run on the coprocessor rather than the CPU having the above architecture, which greatly restricts the operation, development, deployment, and distribution of the software. It is difficult to develop general purpose software.

前記既存技術の欠点を考慮すれば、本発明によって解決されるべき1つの課題は復号化データ又は復号化コードあるいはその両方が直接処理される改良型の中央処理装置CPUを提供することである。   In view of the shortcomings of the existing technology, one problem to be solved by the present invention is to provide an improved central processing unit CPU in which decoded data and / or decoded codes are directly processed.

一態様によれば、本発明は少なくとも1つの暗号化ソフトウェアを処理する中央処理装置を提供する。前記暗号化ソフトウェアは少なくとも1つの暗号化ソフトウェア部を備える。前記暗号化ソフトウェア部は管理キーMKで暗号化され、前記MKは暗号化MKとしてデバイス・キーDKで暗号化される。前記中央処理装置は処理・キャッシュ装置(processing and cache unit)と暗号化ユニットとを備える。前記暗号化ユニットは前記DKを記憶するためのデバイス・キー記憶装置と、各管理キー記憶装置が管理キー索引MKIに対応しているMK記憶用の複数の管理キー記憶装置と、復号化装置とを備えている。前記復号化装置は暗号化MKを前記DKで復号化してMKを取得し、前記MKを管理キー記憶装置に記憶して前記管理キー記憶装置に対応するMKIを出力し、前記MKIはかくして暗号化ソフトウェア部に対応するために使用される。この場合、前記復号化装置はMKIに従って対応するMKを呼び出して前記暗号化ソフトウェア部を復号化し、前記復号化されたソフトウェア・コード又はソフトウェア・データあるいはその両方を直接前記処理・キャッシュ装置へ転送する。   According to one aspect, the present invention provides a central processing unit for processing at least one encrypted software. The encrypted software includes at least one encrypted software unit. The encrypted software part is encrypted with the management key MK, and the MK is encrypted with the device key DK as the encrypted MK. The central processing unit includes a processing and cache unit and an encryption unit. The encryption unit includes a device key storage device for storing the DK, a plurality of management key storage devices for MK storage in which each management key storage device corresponds to the management key index MKI, and a decryption device. It has. The decryption device decrypts an encrypted MK with the DK to obtain an MK, stores the MK in a management key storage device, outputs an MKI corresponding to the management key storage device, and the MKI is thus encrypted. Used to correspond to the software part. In this case, the decryption device calls the corresponding MK according to the MKI, decrypts the encrypted software unit, and directly transfers the decrypted software code and / or software data to the processing / cache device. .

別の態様によれば、本発明は少なくとも1つの暗号化ソフトウェアを中央処理装置で処理する方法を提供する。前記中央処理装置は処理・キャッシュ装置と暗号装置とを備える。前記暗号装置は復号化装置と、デバイス・キーDKを記憶するデバイス・キー記憶装置と、管理キーMKを記憶する複数の管理キー記憶装置とを備える。各管理キー記憶装置は管理キー索引MKIに対応しており、前記暗号化ソフトウェアはMKで暗号化され、前記MKは暗号化MKとしてDKで暗号化される。前記方法においては、前記暗号化ソフトウェアに対応する前記暗号化MKは前記暗号装置内に記憶される。前記復号化装置は暗号化MKをDKで復号化してMKを取得する。次いで前記MKを管理キー記憶装置内に記憶して前記管理キー記憶装置に対応するMKIを取得する。こうして前記MKIは前記暗号化ソフトウェアと関連付けられる。対応するMKは前記MKIに従って呼び出され、前記暗号化ソフトウェアは前記暗号装置内の前記MKで復号化される。前記復号化されたソフトウェア・コード又はソフトウェア・データあるいはその両方は直接、前記処理・キャッシュ装置へ転送される。前記処理・キャッシュ装置は前記復号化ソフトウェアを処理する。   According to another aspect, the present invention provides a method for processing at least one encrypted software on a central processing unit. The central processing unit includes a processing / cache device and an encryption device. The encryption device includes a decryption device, a device key storage device that stores a device key DK, and a plurality of management key storage devices that store a management key MK. Each management key storage device corresponds to a management key index MKI, the encryption software is encrypted with MK, and the MK is encrypted with DK as encryption MK. In the method, the encrypted MK corresponding to the encrypted software is stored in the encryption device. The decryption device decrypts the encrypted MK with DK to obtain the MK. Next, the MK is stored in the management key storage device, and the MKI corresponding to the management key storage device is acquired. Thus, the MKI is associated with the encrypted software. The corresponding MK is called according to the MKI, and the encrypted software is decrypted with the MK in the encryption device. The decrypted software code and / or software data is transferred directly to the processing and caching device. The processing / cache device processes the decryption software.

本発明による好ましい実施形態の詳細な説明を以下の通り添付の図面を用いて説明する。   A detailed description of preferred embodiments according to the present invention will be given below with reference to the accompanying drawings.

図1は本発明の一実施形態に係るブロック図である。前記中央処理装置CPU100は少なくとも1つの暗号化ソフトウェアを処理するためのものである。前記暗号化ソフトウェアは少なくとも1つの暗号化ソフトウェア部を備える。例えば、フラッシュ・メモリ130に記憶された前記ソフトウェアは複数の暗号化部と複数の非暗号化部とを備える。暗号化ページは前記ソフトウェアの前記暗号化部を記憶し、普通のページは前記非暗号化部を記憶する。前記暗号化ソフトウェア部は管理キーMKで暗号化される。前記MKは暗号化MKとして前記CPUと関係付けられたデバイス・キーDKで暗号化される。前記デバイス・キーによって暗号化された前記管理キーは前記図表ではMK−DKと表示されている。   FIG. 1 is a block diagram according to an embodiment of the present invention. The central processing unit CPU 100 is for processing at least one encrypted software. The encrypted software includes at least one encrypted software unit. For example, the software stored in the flash memory 130 includes a plurality of encryption units and a plurality of non-encryption units. The encrypted page stores the encrypted part of the software, and the ordinary page stores the non-encrypted part. The encrypted software part is encrypted with the management key MK. The MK is encrypted with a device key DK associated with the CPU as an encrypted MK. The management key encrypted by the device key is displayed as MK-DK in the chart.

前記中央処理装置は処理・キャッシュ装置110と暗号装置120とを備える。前記暗号装置120は前記CPUに対応する前記DKを記憶するデバイス・キー記憶装置と、MKを記憶する複数の管理キー記憶装置であってその各々が管理キー索引MKIに対応する記憶装置と、暗号化MKを前記DKで復号化してMKを取得し前記MKを管理キー記憶装置に記憶して前記管理キー記憶装置に対応するMKIであって前記暗号化ソフトウェア部に対応させるために使用されるMKIを出力する、復号化装置とを備える。そこでは前記復号化装置が前記MKIに従って対応するMKを呼び出し、前記暗号化ソフトウェア部を復号化して前記復号化ソフトウェア・コード又は復号化ソフトウェア・データあるいはその両方を直接、前記処理・キャッシュ装置110へ転送する。   The central processing unit includes a processing / cache device 110 and an encryption device 120. The encryption device 120 includes a device key storage device that stores the DK corresponding to the CPU, a plurality of management key storage devices that store MKs, each of which corresponds to the management key index MKI, MKI is obtained by decrypting the encrypted MK with the DK, obtaining the MK, storing the MK in the management key storage device, and corresponding to the management key storage device and used to correspond to the encryption software unit And a decoding device. There, the decryption device calls the corresponding MK according to the MKI, decrypts the encrypted software unit, and directly decrypts the decrypted software code and / or decrypted software data to the processing / cache device 110. Forward.

さらにすべての管理キー記憶装置は必要に応じて1つ以上の管理キー索引MKIに対応することができる。   Furthermore, all management key storage devices can support one or more management key indexes MKI as needed.

処理するソフトウェアに関して、まず前記ソフトウェアに対応するデバイス・キーで暗号化された前記管理キーMK−DKが前記暗号装置120に記憶される。次いで前記暗号化管理キーMK−DKが前記デバイス・キーDKで復号化されて前記管理キーMKを取得する。   Regarding the software to be processed, first, the management key MK-DK encrypted with the device key corresponding to the software is stored in the encryption device 120. Next, the encrypted management key MK-DK is decrypted with the device key DK to obtain the management key MK.

前記管理キーMKを管理キー記憶装置に記憶し前記管理キー記憶装置の前記対応する管理キー索引MKIを取得する。そこではすべての管理キー記憶装置は対応する管理キー索引を有する。次いで前記MKIは前記暗号化ソフトウェア部と関連付けられる。   The management key MK is stored in a management key storage device, and the corresponding management key index MKI of the management key storage device is acquired. There every management key store has a corresponding management key index. The MKI is then associated with the encrypted software part.

したがって、前記中央処理装置がMKIと関連付けられた前記暗号化ソフトウェア部を処理する必要がある場合、前記対応するMKを前記MKIに基づいて取得することができる。前記暗号化ソフトウェア部は前記暗号装置内で前記管理キーによって復号化される。前記復号化ソフトウェア・コード又は復号化ソフトウェア・データあるいはその両方は直接前記処理・キャッシュ装置へ転送されそこで処理される。   Therefore, when the central processing unit needs to process the encrypted software unit associated with the MKI, the corresponding MK can be obtained based on the MKI. The encrypted software part is decrypted by the management key in the encryption device. The decrypted software code and / or decrypted software data are transferred directly to the processing and caching device and processed there.

本発明によれば、前記保護されたコード又はデータあるいはその両方はソフトウェア・ルーチンによって復号化されることもなければ、ユーザに利用しやすい記憶手段、例えばメモリやハード・ディスクなどに記憶されることもない。反対に本発明による前記ハードウェア復号化装置は中央処理装置CPUに組み込まれ、暗号化コード又は暗号化データあるいはその両方は復号化されて直接CPUへ供給される。ユーザは保護されたコンテンツの普通のコード又はデータあるいはその両方にアクセスできず、例えば普通の方式のコード又はデータあるいはその両方がユーザに利用しやすい記憶手段に現れることは決してないということから、悪意のあるユーザによるこれらのコンテンツの傍受が効果的に回避される。   According to the present invention, the protected code and / or data is not decrypted by a software routine or stored in a user-friendly storage means such as a memory or hard disk. Nor. On the contrary, the hardware decryption device according to the present invention is incorporated in the central processing unit CPU, and the encrypted code and / or the encrypted data are decrypted and directly supplied to the CPU. Since the user has no access to the normal code and / or data of the protected content, for example, the normal type of code and / or data never appears in a user-accessible storage means. The interception of these contents by a certain user is effectively avoided.

後述するある所定の手段によれば、前記保護されたコンテンツへのアクセスはさらに認証コードのみに限定することもできる。かくしてこれらの保護されたコンテンツが悪意のあるユーザによって傍受されることがさらに効果的に回避される。   According to a predetermined means described later, access to the protected content can be further limited to only an authentication code. Thus, it is more effectively avoided that these protected contents are intercepted by malicious users.

しかしながら、本目的は既存の保護方法、特にソフトウェアに基づく保護方法によって達成されることはほとんどない。   However, this object is rarely achieved by existing protection methods, especially software-based protection methods.

図1に表示する暗号化部を有するソフトウェアの処理について、前記ソフトウェアはページを用いてメモリに記憶できる。前記暗号化部及び非暗号化部はそれぞれ暗号化ページ内及び普通のページ内に記憶できる。ページ・テーブル150を作成することもできるし、必要に応じて暗号化ページのページ・アドレス及び普通のページのアドレスを復号化MKのMKIと関連付けることもできる。かくしてCPUは、前記関連付けられたMKIに従って暗号化ソフトウェア部と非暗号化ソフトウェア部とを別々に処理することになる。当業者ならMKIを暗号化ソフトウェア部と関連付けるために他の方法を使用できること、例えばヘッダを暗号化ソフトウェア部に追加してその対応するMKIを表示できることを、理解することができたであろう。前記CPUが複数の暗号化ソフトウェアを処理する環境下では、それぞれのMKに対応する前記MKIを別個に前記ソフトウェアと関連付けすることができる。   For the processing of software having an encryption unit displayed in FIG. 1, the software can be stored in a memory using pages. The encryption unit and the non-encryption unit can be stored in an encrypted page and a normal page, respectively. The page table 150 can be created, and the page address of the encrypted page and the address of the normal page can be associated with the MKI of the decryption MK as needed. Thus, the CPU processes the encrypted software unit and the non-encrypted software unit separately according to the associated MKI. One skilled in the art would understand that other methods can be used to associate an MKI with an encryption software part, for example, that a header can be added to the encryption software part to display its corresponding MKI. In an environment where the CPU processes a plurality of encrypted software, the MKI corresponding to each MK can be associated with the software separately.

管理キーと暗号化ソフトウェア部を関連付けすることにより、本発明に係る中央処理装置が複数の暗号化ソフトウェア又は暗号化部を有する複数のソフトウェアを処理することが可能になる。   By associating the management key with the encrypted software unit, the central processing unit according to the present invention can process a plurality of encrypted software or a plurality of software having an encrypted unit.

本発明の別の態様によれば、復号化装置は復号化ソフトウェア・コード又はデータあるいはその両方を対応するMKIと共に直接、前記処理・キャッシュ装置へ転送し、前記処理・キャッシュ装置は前記MKIに従って前記復号化ソフトウェア・コード又はデータあるいはその両方を処理する。   According to another aspect of the present invention, the decryption device transfers the decrypted software code and / or data directly to the processing / cache device together with the corresponding MKI, and the processing / cache device performs the processing according to the MKI. Process the decrypted software code and / or data.

本発明に係る前記CPU及び方法について、前記処理・キャッシュ装置はさらに前記処理されたソフトウェア・コード又はデータあるいはその両方を対応するMKIと共に暗号装置へ転送することができ、前記暗号化装置は前記MKIに従って前記対応するMKを呼び出し、前記処理されたソフトウェア・コード又はデータあるいはその両方を暗号化して、前記暗号化されたソフトウェア・コード又はデータあるいはその両方を前記対応するMKIと共に出力する、暗号化装置をさらに有する。   In the CPU and method according to the present invention, the processing / cache device can further transfer the processed software code and / or data to a cryptographic device together with a corresponding MKI, and the cryptographic device is the MKI. An encryption device that calls the corresponding MK in accordance with, encrypts the processed software code and / or data, and outputs the encrypted software code and / or data together with the corresponding MKI It has further.

本発明に係る前記CPU及び方法について、前記中央処理装置はさらに複数の暗号化されたソフトウェアを処理するように構成することもでき、各暗号化されたソフトウェアは別のMKで暗号化され、別のMKはそれぞれ前記DKで暗号化される。前記復号化装置はさらにMKを取得するために前記暗号化されたMKを復号化し、前記MKを管理キー記憶装置に記憶して前記管理キー記憶装置に対応するMKIを出力するように構成され、これによって前記MKIはそれぞれ前記複数の暗号化ソフトウェアに関連付けられる。かくして同一のソフトウェアの暗号化部又は同一の暗号化ソフトウェアが同一のMKIに関連付けられるか、あるいは同一のMKで暗号化されたソフトウェアが同一のMKIに関連付けられる。   In the CPU and method according to the present invention, the central processing unit may further be configured to process a plurality of encrypted software, and each encrypted software is encrypted with another MK. Each MK is encrypted with the DK. The decryption device is further configured to decrypt the encrypted MK to obtain an MK, store the MK in a management key storage device, and output an MKI corresponding to the management key storage device; Accordingly, each of the MKIs is associated with the plurality of encrypted software. Thus, the same software encryption unit or the same encrypted software is associated with the same MKI, or software encrypted with the same MK is associated with the same MKI.

本発明に係る前記CPU及び方法について、前記復号化装置は所定の手段に基づいて管理キー記憶装置及びMKIをMKに配置してもよく、前記処理・キャッシュ装置は所定の手段に基づいて前記復号化ソフトウェア・コード又はデータあるいはその両方を処理する。前記所定の手段は、MKIと関連付けられたコード又はデータあるいはその両方が同じMKIを有するコードだけでアクセスできること、あるいはMKIに関連付けられたコード又はデータあるいはその両方が前記手段に従ってあるMKIを有するコードだけでアクセスできること等から構成されている。例えばある範囲内で対応するMKIを有するコードは互いにアクセスすることができる。しかしながら、別のMKIを有するコード又はMKIを有していないコードもお互いを呼び出すことができてもよい。   In the CPU and method according to the present invention, the decryption device may arrange a management key storage device and an MKI in the MK based on predetermined means, and the processing / cache device may perform the decryption based on the predetermined means. Process software code and / or data. The predetermined means may be that only codes and / or data associated with the MKI can be accessed only by codes having the same MKI, or only codes and / or data associated with the MKI have an MKI according to the means. It can be accessed via For example, codes with corresponding MKI within a certain range can access each other. However, code with another MKI or code that does not have an MKI may also be able to call each other.

本願では、MKIと関連付けられたコード又はデータあるいはその両方は次のもの、すなわちMKIと関連付けられた暗号化コード又はデータあるいはその両方、MKIと関連付けられた復号化されたコード又はデータあるいはその両方、及びMKIと関連付けられた中間処理コード又はデータあるいはその両方から得られたコード又はデータあるいはその両方、のうちの1つ又はそれ以上であってもよい。MKIに関連付けられたコード又はデータあるいはその両方は復号化される前は自分のMKI識別子を維持することしかできない。好ましい一実施形態としては、MKIに関係付けられたコード又はデータあるいはその両方がキャッシュ内又は前記中央処理装置の別の部内で、自身のMKI識別子を維持することができる場合もある。   In this application, the code and / or data associated with the MKI are the following: encrypted code and / or data associated with the MKI, decrypted code and / or data associated with the MKI, And / or one or more of code and / or data derived from intermediate processing code and / or data associated with the MKI. The code and / or data associated with an MKI can only maintain its own MKI identifier before being decoded. In a preferred embodiment, the MKI related code and / or data may be able to maintain its own MKI identifier in the cache or in another part of the central processing unit.

本発明に係るCPU及び方法について、前記処理・キャッシュ装置はさらに秘密レジスタ・セット(secret register set)を備えていてもよく、前記所定の手段は、前記秘密レジスタ・セット内に記憶されMKIと関連付けられたコード又はデータあるいはその両方に同一のMKIを有するコードだけでアクセスできること、あるいは前記秘密レジスタ・セット内に記憶されMKIと関連付けられたコード又はデータあるいはその両方に前記手段に従って、あるMKIを有するコードだけでアクセスできること、例えばある範囲内で対応するMKIを有するコードが互いにアクセスできること等から構成されている。   In the CPU and method according to the present invention, the processing / cache device may further comprise a secret register set, and the predetermined means is stored in the secret register set and associated with the MKI. Can be accessed only by codes having the same MKI, or a code and / or data stored in the secret register set and associated with the MKI according to the means It can be accessed only by a code, for example, codes having corresponding MKI within a certain range can access each other.

図1に示されるように必要とされるCPUについて、前記処理・キャッシュ装置は処理部とキャッシュ部とから構成されている。前記キャッシュ部は制御装置とキャッシュ・ラインに対応するMKI識別子部とから構成されている。前記処理部は実行装置と、現行の命令レジスタ及びそれに対応するMKI記憶部と、秘密レジスタ・セットと、レジスタ(前記レジスタは、対応するMKI識別子部又は記憶部を有していてもよいし有していなくてもよい)と、他の部門とから構成されていてもよい。当業者ならば、前記処理・キャッシュ部は本発明及びCPUの他の要件に従って、前記発明から逸脱することなく他の構成を使用できることを、理解することができたはずである。例えば、前記処理・キャッシュ部はMKI及び秘密レジスタ・セットを使用しなくてもよい。かくして前後で説明しているように、前記暗号装置は前記暗号化ソフトウェアを分離して保護することになる。   As shown in FIG. 1, for the CPU required, the processing / cache device comprises a processing unit and a cache unit. The cache unit includes a control device and an MKI identifier unit corresponding to a cache line. The processing unit includes an execution device, a current instruction register and a corresponding MKI storage unit, a secret register set, and a register (the register may include a corresponding MKI identifier unit or storage unit. And other departments may be included. Those skilled in the art should understand that the processing and cache unit may use other configurations according to the present invention and other requirements of the CPU without departing from the invention. For example, the processing / cache unit may not use an MKI and a secret register set. Thus, as described before and after, the encryption device separates and protects the encrypted software.

本発明によれば、前記暗号装置及び他の保護装置はCPU内に組み込まれている。この構成はプログラムの実行を保護するすべての装置を1つのコプロセッサに統合している既存の技術とは異なっている。それ故前記CPU及びコンピュータはその既存の構造を維持しているが、前記既存の構造はオペレーティング・システムとアプリケーションを含む従来のソフトウェアには見えない。前記従来のソフトウェアは前記ハードウェア向け改ざん防止機構を認識しないであろう。この改ざん防止機能に対応するために、例えばソフトウェアを記憶するオペレーティング・システムの場合、オペレーティング・システムは暗号化部と非暗号化部とを別々に記憶することになる。こうすることによって、暗号化部をMKIと関連付けすることがより容易になる。したがってソフトウェアの前記元の動作、展開、配置、配布を維持しながら、アプリケーションが改ざん防止技術を実施することがより容易になる。   According to the present invention, the encryption device and the other protection device are incorporated in the CPU. This configuration differs from existing technology that integrates all devices that protect program execution into a single coprocessor. Therefore, while the CPU and computer maintain their existing structure, the existing structure is not visible to conventional software including an operating system and applications. The conventional software will not recognize the hardware tamper prevention mechanism. In order to cope with this falsification preventing function, for example, in the case of an operating system that stores software, the operating system stores an encryption unit and a non-encryption unit separately. This makes it easier to associate the encryption unit with the MKI. Therefore, it becomes easier for the application to implement the anti-tampering technique while maintaining the original operation, deployment, arrangement, and distribution of the software.

上述したように、ソフトウェアに基づく従来の改ざん防止技術は傍受をより難しくするためにソフトウェアの機密データ又はコードあるいはその両方を暗号化する。ハードウェアに基づく従来の改ざん防止技術は改ざん防止に関わるすべての前記部門を別のコプロセッサ内に統合し、前記保護されたソフトウェアを前記コプロセッサ内で作動させるものである。   As noted above, traditional software-based anti-tamper techniques encrypt software sensitive data and / or code to make it more difficult to intercept. Conventional anti-tampering technology based on hardware integrates all the departments involved in anti-tampering into another coprocessor and runs the protected software within the coprocessor.

本発明では、暗号装置及び他の保護装置はCPU内に組み込まれ、MKIで管理される。図1は本発明の一実施形態に係る構造を示している。前記暗号装置はCPU内で、CPUのデータ列の最外部に配置されている。一般的に前記暗号装置はキャッシュと外部データ・バスの間に配置することもできる。   In the present invention, the encryption device and other protection devices are incorporated in the CPU and managed by the MKI. FIG. 1 shows a structure according to an embodiment of the present invention. The encryption device is arranged in the CPU, at the outermost part of the data string of the CPU. Generally, the cryptographic device can also be placed between the cache and the external data bus.

前記保護されたソフトウェア部(データ又はコードあるいはその両方)はCPUの外部に記憶される場合には常に暗号化される。CPUが前記暗号化されたコンテンツを読み出す場合には、復号化装置が前記コンテンツをCPUによる処理に適した通常のテキストになるように復号化する。CPUが暗号化部の前記コンテンツをメモリ又は記憶手段に書き込もうとする場合は、それらのコンテンツがCPUに送信される前に暗号化装置が前記コンテンツを暗号化する。本発明では、前記保護されたコンテンツ(データ又はコードあるいはその両方)は前記保護されたコンテンツがCPUの外部にある場合には、常に暗号化される。前記保護されたコンテンツへのアクセス権は認証コードに限定されている。   The protected software part (data and / or code) is always encrypted when stored outside the CPU. When the CPU reads the encrypted content, the decryption device decrypts the content so that it becomes a normal text suitable for processing by the CPU. When the CPU tries to write the content of the encryption unit to the memory or storage means, the encryption device encrypts the content before the content is transmitted to the CPU. In the present invention, the protected content (data and / or code) is always encrypted when the protected content is external to the CPU. The right to access the protected content is limited to the authentication code.

図1は本発明の一実施形態に係る暗号化CPU(encryption CPU)を示している。前記暗号化CPUは必ずしもそれだけに限定されるわけではないが、次の特徴を有している。   FIG. 1 shows an encryption CPU according to an embodiment of the present invention. The encryption CPU is not necessarily limited thereto, but has the following characteristics.

1.あらゆるCPUには保護されたソフトウェアへの条件付(認証付)アクセスのためのデバイス・キーDKが1つ又は数個与えられている。   1. Every CPU is given one or several device keys DK for conditional (authenticated) access to the protected software.

2.前記ソフトウェア保護部は管理キーMKによって暗号化される。一般に前記MKは配布が容易な故にDKとは異なっている。MKは前記アプリケーションが配布される場合、各アプリケーション毎に任意に作り出すことができる。   2. The software protection unit is encrypted with the management key MK. In general, the MK is different from the DK because it is easy to distribute. An MK can be arbitrarily created for each application when the application is distributed.

3.前記MKは選択されたDKで暗号化され、前記アプリケーションと共にあるいは前記DKとは別のMKが選択された場合には別に、配布される。一般的に放送暗号化、例えば媒体鍵ブロックMKB(Media Key Block)と簡易公開鍵基盤PKI(Public Key Infrastructure)はいずれもMK配布の選択肢である。   3. The MK is encrypted with the selected DK, and distributed together with the application or when an MK different from the DK is selected. In general, broadcast encryption, for example, media key block MKB (Media Key Block) and simplified public key infrastructure PKI (Public Key Infrastructure) are both options for MK distribution.

4.CPU内の前記暗号装置はすべての作動アプリケーション用MKの内蔵リストを保存することができる。   4). The cryptographic device in the CPU can store a built-in list of all working application MKs.

5.保護されたアプリケーションと共に配布される前記MKは適切なDKで復号化され、前記内蔵MKリストから使用可能な項目が前記アプリケーションMKを記憶するために配置される。一般的に前記オペレーティング・システムはCPUを呼び出して前記アプリケーションが読み込まれる前に本プロセスを完了させるとともに、前記MK自体ではなく前記内蔵MKリストの前記MK索引MKIが前記オペレーティング・システムに戻される。   5. The MK distributed with the protected application is decrypted with the appropriate DK, and an available item from the built-in MK list is placed to store the application MK. Generally, the operating system calls the CPU to complete the process before the application is loaded, and the MK index MKI of the built-in MK list is returned to the operating system rather than the MK itself.

6.前記MKIは保護されたアプリケーションの実行のためのデータ構造を構築するのに利用される。一般的に前記オペレーティング・システムは、前記ページ・テーブルに前記対応するMKIを適切に構築する必要がある。   6). The MKI is used to build a data structure for execution of a protected application. Generally, the operating system needs to properly construct the corresponding MKI in the page table.

7.前記暗号化装置/復号化装置は前記関連付けられたMKIに従って、前記保護部を適切に暗号化/復号化する。   7). The encryption device / decryption device appropriately encrypts / decrypts the protection unit according to the associated MKI.

8.保護されたコンテンツにアクセスする特権は前記認証コードに限定される。典型的な選択肢は、前記同一のMKIを有する前記保護部のコードのみが前記保護されたコンテンツの読出し・書き込みを行うことができるように限定することである。非認証コードは前記保護されたコンテンツを読み出すことしかできない。   8). The privilege to access protected content is limited to the authentication code. A typical option is to limit so that only the code of the protector having the same MKI can read and write the protected content. An unauthenticated code can only read the protected content.

9.特定の秘密レジスタ・セットは前記レジスタの使用を制限するために特定のアクセス手段で実行することができる。アクセス手段の典型的な選択肢は、前記同一のMKIを有するコードのみが同一のMKIを有するレジスタ内の前記プレーン・フォーム値の読出し、書き込みを行うことができるように限定することである。他のコードはレジスタ内の暗号化された(同じMKIを有するMKによって暗号化された)値の読み出し、書き込みができるだけである。   9. A specific secret register set can be implemented with specific access means to limit the use of the registers. A typical choice of access means is to limit so that only code with the same MKI can read and write the plain form value in a register with the same MKI. Other codes can only read and write encrypted values in the register (encrypted by MKs with the same MKI).

10.オペレーティング・システムが業務間で切換わる場合は、前記現行のレジスタ・セット内のコンテンツがメモリに保存され処理すべき前記業務のレジスタ・セットに関するコンテンツがメモリから読み込まれる。前記レジスタ・セットが秘密レジスタ・セットである場合メモリ内の前記値は暗号化された値になる。   10. When the operating system switches between tasks, the content in the current register set is stored in memory and the content for the task register set to be processed is read from memory. If the register set is a secret register set, the value in memory is an encrypted value.

本発明の好ましい実施形態が詳細に説明された。しかし当業者は前記好ましい実施形態は説明のために提示されているだけであって、本発明をそれに限定すると解釈すべきではないことを理解するであろう。当発明はソフトウェア又はハードウェア又はそれら2つの組合せによって実施することができる。当業者なら本発明に様々な修正、変更を施すことができるが、それらの修正、変更はすべて添付の特許請求範囲で定義されている本発明の前記請求範囲と趣旨に沿って行われる。 The preferred embodiment of the present invention has been described in detail. However, those skilled in the art will appreciate that the preferred embodiment has been presented for purposes of illustration only and should not be construed as limiting the invention thereto. The present invention can be implemented by software or hardware or a combination of the two. Those skilled in the art can make various modifications and changes to the present invention, and all such modifications and changes are made within the scope and spirit of the present invention as defined in the appended claims.

本発明の一実施形態によるブロック図である。FIG. 3 is a block diagram according to an embodiment of the present invention.

符号の説明Explanation of symbols

100 中央処理装置
110 処理・キャッシュ装置
120 暗号装置
130 フラッシュ・メモリ
150 ページ・テーブル
100 Central processing unit 110 Processing / cache unit 120 Cryptographic unit 130 Flash memory 150 Page table

Claims (14)

少なくとも1つの暗号化ソフトウェアを処理するための中央処理装置であって、前記暗号化ソフトウェアは少なくとも1つの暗号化ソフトウェア部を備え、前記暗号化ソフトウェア部は管理キー(MK)で暗号化され、前記管理キー(MK)は暗号化MKとしてデバイス・キー(DK)で暗号化される、中央処理装置であって、
処理・キャッシュ装置と、
前記DKを記憶するためのデバイス・キー記憶装置と、
各々が管理キー索引(MKI)に対応している、MKを記憶する複数の管理キー記憶装置と、
暗号化MKを前記DKで復号化してMKを取得し、前記MKを管理キー記憶装置に記憶して前記管理キー記憶装置に対応するMKIを出力し、前記MKIは前記暗号化ソフトウェア部に対応するために使用される復号化装置と、
を備える暗号化ユニットと、
前記復号化装置は前記MKIに係る対応するMKを呼び出して前記暗号化ソフトウェア部を復号化し、前記復号化されたソフトウェア・コード又はソフトウェア・データあるいはその両方を直接、前記処理・キャッシュ装置へ転送する、
中央処理装置。
A central processing unit for processing at least one encrypted software, wherein the encrypted software comprises at least one encrypted software part, the encrypted software part encrypted with a management key (MK), The management key (MK) is a central processing unit encrypted with a device key (DK) as an encryption MK,
A processing / cache device;
A device key storage device for storing the DK;
A plurality of management key storage devices for storing the MK, each corresponding to a management key index (MKI);
The encrypted MK is decrypted with the DK to obtain the MK, the MK is stored in the management key storage device, and the MKI corresponding to the management key storage device is output. The MKI corresponds to the encryption software unit A decoding device used for
An encryption unit comprising:
The decryption device calls the corresponding MK related to the MKI, decrypts the encrypted software unit, and directly transfers the decrypted software code and / or software data to the processing / cache device. ,
Central processing unit.
前記復号化装置は前記復号化ソフトウェア・コード又はソフトウェア・データあるいはその両方をMKIと共に直接、対応する前記処理・キャッシュ装置へ転送し、前記処理・キャッシュ装置は前記MKIに従って、前記復号化ソフトウェア・コード又はソフトウェア・データあるいはその両方を処理する、請求項1に記載の中央処理装置。   The decryption device transfers the decrypted software code and / or software data directly together with the MKI to the corresponding processing / cache device, and the processing / cache device follows the MKI and the decrypted software code 2. A central processing unit according to claim 1, which processes software data or both. 前記処理・キャッシュ装置は、前記処理されたソフトウェア・コード又はソフトウェア・データあるいはその両方を対応するMKIと共に前記暗号装置へさらに転送し、
前記暗号装置は、前記MKIに従って前記対応するMKを呼び出す暗号化装置をさらに備えて、前記処理されたソフトウェア・コード又はソフトウェア・データあるいはその両方を暗号化し、前記暗号化されたソフトウェア・コード又はソフトウェア・データあるいはその両方を前記対応するMKIと共に出力する、
請求項2に記載の中央処理装置。
The processing / cache device further transfers the processed software code and / or software data to the cryptographic device along with the corresponding MKI;
The encryption device further comprises an encryption device that calls the corresponding MK in accordance with the MKI, encrypts the processed software code and / or software data, and the encrypted software code or software Output data or both with the corresponding MKI,
The central processing unit according to claim 2.
複数の暗号化ソフトウェアを処理するようにさらに構成されており、各暗号化ソフトウェアは別々のMKで暗号化され、別々のMKはそれぞれ前記DKで暗号化され、
前記復号化装置は、前記暗号化MKを復号化してMKを取得し、および前記MKを前記管理キー記憶装置に記憶して、前記管理キー記憶装置に対応するMKIを出力するようにさらに構成され、それによって前記MKIがそれぞれ前記複数の暗号化ソフトウェアに関連付けられる、
請求項1ないし3のいずれかに記載の中央処理装置。
Further configured to process a plurality of encrypted software, each encrypted software encrypted with a separate MK, each separate MK encrypted with the DK,
The decryption device is further configured to decrypt the encrypted MK to obtain an MK, store the MK in the management key storage device, and output an MKI corresponding to the management key storage device , Whereby each of the MKIs is associated with the plurality of encryption softwares,
The central processing unit according to claim 1.
前記復号化装置は所定の手段に基づいて管理キー記憶装置及びMKIをMKに配置し、前記処理・キャッシュ装置は所定の手順に基づいて前記復号化ソフトウェア・コード又はソフトウェア・データあるいはその両方を処理する、請求項4に記載の中央処理装置。   The decryption device arranges the management key storage device and the MKI in the MK based on predetermined means, and the processing / cache device processes the decrypted software code and / or software data based on a predetermined procedure. The central processing unit according to claim 4. 前記所定の手順は
MKIに関連付けられたコード又はデータあるいはその両方が同一のMKIを有するコードのみによってアクセスできること、あるいは、
MKIに関連付けられたコード又はデータあるいはその両方が、前記手段に従ってあるMKIを有するコードのみによってアクセスできること
から構成される、請求項5に記載の中央処理装置。
The predetermined procedure can be accessed only by code having the same MKI, or code and / or data associated with the MKI, or
6. The central processing unit according to claim 5, wherein the code associated with the MKI and / or data is configured to be accessible only by codes having an MKI according to the means.
前記処理・キャッシュ装置は秘密レジスタ・セットをさらに備え、前記所定の手順は
前記秘密レジスタ・セットに記憶されてMKIに関連付けられたコード又はデータあるいはその両方が同一のMKIを有するコードのみによってアクセスできること、あるいは、
前記秘密レジスタ・セットに記憶されてMKIに関連付けられたコード又はデータあるいはその両方が前記手段に従ってあるMKIを有するコードのみによってアクセスできること、
から構成される、請求項5に記載の中央処理装置。
The processing and cache device further comprises a secret register set, and the predetermined procedure is accessible only by code stored in the secret register set and associated with MKI and / or data having the same MKI. Or
Code and / or data stored in the secret register set and associated with an MKI can be accessed only by a code having an MKI according to the means;
The central processing unit according to claim 5, comprising:
少なくとも1つの暗号化ソフトウェアを中央処理装置で処理する方法であって、
前記中央処理装置は処理・キャッシュ装置と暗号装置とを備え、前記暗号装置は復号化装置とデバイス・キー(DK)を記憶するデバイス・キー記憶装置と管理キー(MK)を記憶する複数の管理キー記憶装置とを備え、各管理キー記憶装置は管理キー索引(MKI)に対応し、前記暗号化ソフトウェアはMKで暗号化され、前記MKは暗号化MKとしてDKで暗号化される方法であって、
前記暗号化ソフトウェアに対応する前記暗号化MKを前記暗号装置に記憶するステップと、
復号化装置が暗号化MKを前記DKで復号化してMKを取得するステップと、
前記MKを管理キー記憶装置に記憶して前記管理キー記憶装置に対応するMKIを取得するステップと、
前記MKIを前記暗号化ソフトウェアと関連付けるステップと、
前記MKIに従って対応するMKを呼び出して前記暗号装置内で前記暗号化ソフトウェアを前記MKで復号化するステップと、
前記復号化されたソフトウェア・コード又はソフトウェア・データあるいはその両方を直接、前記処理・キャッシュ装置へ転送して前記復号化ソフトウェアを前記処理・キャッシュ装置で処理するステップと、
から構成される方法。
A method of processing at least one encryption software on a central processing unit,
The central processing unit includes a processing / cache unit and an encryption unit, and the encryption unit includes a decryption unit, a device key storage unit that stores a device key (DK), and a plurality of management units that store a management key (MK). A key storage device, each management key storage device corresponds to a management key index (MKI), the encryption software is encrypted with MK, and the MK is encrypted with DK as encryption MK. And
Storing the encrypted MK corresponding to the encrypted software in the encryption device;
A decrypting device decrypting the encrypted MK with the DK to obtain the MK;
Storing the MK in a management key storage device and obtaining an MKI corresponding to the management key storage device;
Associating the MKI with the encrypted software;
Calling the corresponding MK according to the MKI and decrypting the encrypted software with the MK in the encryption device;
Transferring the decrypted software code and / or software data directly to the processing and caching device and processing the decrypted software in the processing and caching device;
A method consisting of:
前記復号化装置は前記復号化ソフトウェア・コード又はソフトウェア・データあるいはその両方を対応するMKIと共に直接前記処理・キャッシュ装置へ転送し、前記処理・キャッシュ装置は前記MKIに従って前記復号化ソフトウェア・コード又はソフトウェア・データあるいはその両方を処理する、請求項8に記載の方法。   The decryption device transfers the decrypted software code and / or software data directly to the processing / cache device together with the corresponding MKI, and the processing / cache device transmits the decrypted software code or software according to the MKI. 9. The method of claim 8, wherein the data or both are processed. 前記処理・キャッシュ装置は前記処理されたソフトウェア・コード又はソフトウェア・データあるいはその両方を対応するMKIと共に前記暗号装置へさらに転送し、前記暗号装置はさらに前記MKIに従って前記対応するMKを呼び出して前記処理されたソフトウェア・コード又はソフトウェア・データあるいはその両方を暗号化するとともに、前記暗号化ソフトウェア・コード又はソフトウェア・データあるいはその両方を前記対応するMKIと共に出力する暗号化装置を備える、請求項9に記載の方法。   The processing / cache device further transfers the processed software code and / or software data to the cryptographic device together with the corresponding MKI, and the cryptographic device further calls the corresponding MK according to the MKI to perform the processing. 10. An encryption device comprising: an encryption device that encrypts the encrypted software code and / or data and outputs the encrypted software code and / or data together with the corresponding MKI. the method of. 請求項8ないし10のいずれかに記載の前記方法は複数の暗号化ソフトウェアをさらに処理し、各暗号化ソフトウェアは別のMKで暗号化され、別のMKはそれぞれ前記DKで暗号化される方法であり、
前記復号化装置は前記暗号化MKを前記DKで復号化してMKを取得し、前記MKを前記管理キー記憶装置に記憶して前記管理キー記憶装置に対応するMKIを出力し、それによって前記MKIはそれぞれ前記複数の暗号化ソフトウェアに関連付けられることから構成されている。
11. The method according to claim 8, further comprising processing a plurality of encrypted software, wherein each encrypted software is encrypted with a different MK, and each of the other MKs is encrypted with the DK. And
The decryption device decrypts the encrypted MK with the DK to obtain the MK, stores the MK in the management key storage device, and outputs the MKI corresponding to the management key storage device, thereby the MKI Are respectively associated with the plurality of encrypted software.
前記復号化装置は所定の手段に基づいて管理キー記憶装置及びMKIをMKに配置し、前記処理・キャッシュ装置は所定の手段に基づいて前記復号化ソフトウェア・コード又はソフトウェア・データあるいはその両方を処理する、請求項11に記載の方法。   The decryption device arranges the management key storage device and the MKI in the MK based on predetermined means, and the processing / cache device processes the decrypted software code and / or software data based on the predetermined means. The method according to claim 11. 前記所定の手段はMKIに関連付けられたコード又はデータあるいはその両方が、同一のMKIを有するコードのみによってアクセスできること、あるいはMKIに関連付けられたコード又はデータあるいはその両方が前記手段に従ってあるMKIを有するコードのみによってアクセスできることから構成される、請求項12に記載の方法。   The predetermined means is that the code and / or data associated with the MKI can be accessed only by a code having the same MKI, or the code and / or data associated with the MKI has a MKI according to the means 13. The method of claim 12, wherein the method consists of being only accessible by. 前記処理・キャッシュ装置は秘密レジスタ・セットをさらに備えるとともに、前記所定の手段は前記秘密レジスタ・セットに記憶されてMKIに関連付けられたコード又はデータあるいはその両方が同一のMKIを有するコードのみによってアクセスできること、あるいは前記秘密レジスタ・セットに記憶されてMKIに関連付けられたコード又はデータあるいはその両方が前記手段に従ってあるMKIを有するコードのみによってアクセスできることから構成されている、請求項8に記載の方法。   The processing / cache device further comprises a secret register set, and the predetermined means is accessed only by code stored in the secret register set and associated with MKI or code or data having the same MKI. 9. A method according to claim 8, wherein the method is configured such that code or data associated with an MKI stored in the secret register set and / or both can be accessed only by codes having an MKI according to the means.
JP2006203989A 2006-07-26 2006-07-26 Method and central processing unit for processing encrypted software Pending JP2008033457A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006203989A JP2008033457A (en) 2006-07-26 2006-07-26 Method and central processing unit for processing encrypted software

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006203989A JP2008033457A (en) 2006-07-26 2006-07-26 Method and central processing unit for processing encrypted software

Publications (1)

Publication Number Publication Date
JP2008033457A true JP2008033457A (en) 2008-02-14

Family

ID=39122842

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006203989A Pending JP2008033457A (en) 2006-07-26 2006-07-26 Method and central processing unit for processing encrypted software

Country Status (1)

Country Link
JP (1) JP2008033457A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012530961A (en) * 2009-12-22 2012-12-06 インテル・コーポレーション Method and apparatus for providing secure application execution

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07295802A (en) * 1994-04-26 1995-11-10 Toshiba Corp Program card and computer using the card
JP2005100378A (en) * 2003-08-26 2005-04-14 Matsushita Electric Ind Co Ltd Program execution device and authentication station device
JP2006072963A (en) * 2004-06-24 2006-03-16 Toshiba Corp Microprocessor

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07295802A (en) * 1994-04-26 1995-11-10 Toshiba Corp Program card and computer using the card
JP2005100378A (en) * 2003-08-26 2005-04-14 Matsushita Electric Ind Co Ltd Program execution device and authentication station device
JP2006072963A (en) * 2004-06-24 2006-03-16 Toshiba Corp Microprocessor

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012530961A (en) * 2009-12-22 2012-12-06 インテル・コーポレーション Method and apparatus for providing secure application execution

Similar Documents

Publication Publication Date Title
US10007793B2 (en) Secure object having protected region, integrity tree, and unprotected region
TWI471754B (en) Support for secure objects in a computer system
TWI715619B (en) Processor, method and system for hardware enforced one-way cryptography
US8286001B2 (en) Method and central processing unit for processing encrypted software
US5224166A (en) System for seamless processing of encrypted and non-encrypted data and instructions
JP5175856B2 (en) Protection and method of flash memory block in secure device system
CN101661544B (en) Method and apparatus for providing a secure display window inside the primary display
US8347114B2 (en) Method and apparatus for enforcing a predetermined memory mapping
JP3880933B2 (en) Data access control method using tamper resistant microprocessor and cache memory processor
US20080025503A1 (en) Security method using self-generated encryption key, and security apparatus using the same
JPH09270785A (en) Information processor
WO2007118829A1 (en) Encryption apparatus and method for providing an encrypted file system
JP2006085676A (en) Encryption instruction processing apparatus
EP3844647B1 (en) System and method for providing protected data storage in data memory
Brož et al. Practical cryptographic data integrity protection with full disk encryption
JP2008033457A (en) Method and central processing unit for processing encrypted software
JP2006120089A (en) Data management system and data management method
JP4338185B2 (en) How to encrypt / decrypt files
JP3797531B2 (en) System for preventing unauthorized copying of digital data
CN117786729A (en) Chip key management method and system
JP2009075474A (en) Cryptography processor
JP2004280678A (en) Data processor and data processing method
JP2004240719A (en) Software execution control method
JP2018169740A (en) File system and file management method

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090326

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110809

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20120110