Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JP6521499B2 - Cryptographic processing apparatus, semiconductor memory and memory system - Google Patents
[go: Go Back, main page]

JP6521499B2 - Cryptographic processing apparatus, semiconductor memory and memory system - Google Patents

Cryptographic processing apparatus, semiconductor memory and memory system Download PDF

Info

Publication number
JP6521499B2
JP6521499B2 JP2013099902A JP2013099902A JP6521499B2 JP 6521499 B2 JP6521499 B2 JP 6521499B2 JP 2013099902 A JP2013099902 A JP 2013099902A JP 2013099902 A JP2013099902 A JP 2013099902A JP 6521499 B2 JP6521499 B2 JP 6521499B2
Authority
JP
Japan
Prior art keywords
data
cryptographic
cryptographic processing
encryption
encryption 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.)
Active
Application number
JP2013099902A
Other languages
Japanese (ja)
Other versions
JP2014220729A (en
Inventor
崇彦 菅原
崇彦 菅原
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.)
MegaChips Corp
Original Assignee
MegaChips 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 MegaChips Corp filed Critical MegaChips Corp
Priority to JP2013099902A priority Critical patent/JP6521499B2/en
Publication of JP2014220729A publication Critical patent/JP2014220729A/en
Application granted granted Critical
Publication of JP6521499B2 publication Critical patent/JP6521499B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、暗号処理技術に関する。   The present invention relates to cryptographic processing technology.

従来から暗号処理に関して様々な技術が提案されている。例えば特許文献1には、半導体メモリにおいて暗号処理を行う技術が開示されている。   Conventionally, various techniques have been proposed for cryptographic processing. For example, Patent Document 1 discloses a technique for performing cryptographic processing in a semiconductor memory.

特開平7−219852号公報Unexamined-Japanese-Patent No. 7-219852 gazette

暗号処理装置では、それが行う暗号処理の内容が容易に特定されないことが望まれる。   In the cryptographic processing apparatus, it is desirable that the content of the cryptographic processing performed by the cryptographic processing apparatus is not easily identified.

そこで、本発明は上述の点に鑑みて成されたものであり、暗号処理装置での暗号処理の内容が特定されにくくなる技術を提供することを目的とする。   Therefore, the present invention has been made in view of the above-described point, and an object of the present invention is to provide a technology that makes it difficult to identify the content of cryptographic processing in the cryptographic processing device.

上記課題を解決するため、本発明に係る暗号処理装置の一態様は、それぞれが暗号機能を有する複数の暗号処理部から成り、当該複数の暗号処理部の少なくとも一つの暗号処理部の出力データが使用されて、当該複数の暗号処理部の出力データとは別の暗号化対象のデータが暗号化される暗号処理部群と、前記暗号処理部群について、使用する暗号処理部をどのように組み合わせて使用するかを変化させる処理を実行する制御部とを備え、前記制御部は、使用する暗号処理部をどのように組み合わせて使用するかを、複数種類の組み合わせから決定し、前記暗号処理部群は、第1及び第2暗号処理部を含み、前記複数種類の組み合わせは、前記第1暗号処理部から出力されるデータがセッション鍵として前記第2暗号処理部に入力され、前記第2暗号処理部から出力されるデータが、前記暗号化対象のデータを暗号化するためのデータとして使用されるような第1の組み合わせと、前記第2暗号処理部から出力されるデータがセッション鍵として前記第1暗号処理部に入力され、前記第1暗号処理部から出力されるデータが、前記暗号化対象のデータを暗号化するためのデータとして使用されるような第2の組み合わせと、前記第1暗号処理部から出力されるデータと、前記第2暗号処理部から出力されるデータとの両方が、前記暗号化対象のデータを暗号化するためのデータとして使用されるような第3の組み合わせとを含む。 In order to solve the above problems, one aspect of the cryptographic processing apparatus according to the present invention comprises a plurality of cryptographic processing units each having a cryptographic function, and the output data of at least one cryptographic processing unit of the plurality of cryptographic processing units is A combination of an encryption processing unit group that is used and that encrypts data to be encrypted that is different from the output data of the plurality of encryption processing units, and an encryption processing unit that is used for the encryption processing unit group and a control unit that executes a process of changing whether to use Te, before Symbol controller, whether to use any combination of the encryption processing section to be used, determined from a plurality of types of combinations, the cryptographic processing The group includes first and second cryptographic processing units, and in the combination of the plurality of types, data output from the first cryptographic processing unit is input to the second cryptographic processing unit as a session key, (2) A first combination in which data output from the encryption processing unit is used as data for encrypting the data to be encrypted, and data output from the second encryption processing unit is a session key A second combination in which data input to the first encryption processing unit and output from the first encryption processing unit is used as data for encrypting the data to be encrypted; A third method in which both the data output from the first encryption processing unit and the data output from the second encryption processing unit are used as data for encrypting the data to be encrypted. Including combinations.

また、本発明に係る暗号処理装置の一態様では、前記第1及び第2暗号処理部は、使用する暗号アルゴリズムが互いに異なる。 Further, in one embodiment of the cryptographic processing apparatus according to the present invention, the first and second encryption processing section, Ru different encryption algorithm to be used with each other.

また、本発明に係る暗号処理装置の一態様では、第1及び第2暗号処理部は、使用する暗号アルゴリズムが互いに同じである。 Further, in one embodiment of the cryptographic processing apparatus according to the present invention, first and second encryption processing section, Ru der mutually the same encryption algorithm to be used.

また、本発明に係る暗号処理装置の一態様では、前記第1及び第2暗号処理部は、使用する鍵が互いに異なる。 Further, in one embodiment of the cryptographic processing apparatus according to the present invention, the first and second encryption processing section, Ru different keys to be used together.

また、本発明に係る暗号処理装置の一態様では、前記第1及び第2暗号処理部は、使用する鍵が互いに同じである。 Further, in one embodiment of the cryptographic processing apparatus according to the present invention, the first and second encryption processing section, to be the same as the key used with each other.

また、本発明に係る半導体メモリの一態様は、上記の暗号処理装置と、記憶部とを備え、前記記憶部から読み出されたデータが前記暗号処理装置で暗号化される。   Further, one aspect of a semiconductor memory according to the present invention includes the above-described encryption processing device and a storage unit, and data read from the storage unit is encrypted by the encryption processing device.

また、本発明に係るメモリシステムの一態様は、上記の半導体メモリと、前記半導体メモリを制御するホスト装置とを備える。   One aspect of a memory system according to the present invention includes the above-described semiconductor memory and a host device that controls the semiconductor memory.

また、本発明に係るメモリシステムの一態様では、前記暗号処理装置の前記制御部は、前記メモリシステムの電源がオンされると、前記処理を実行する。 In one aspect of the memory system according to the present invention, the control unit of the cryptographic processing device executes the process when the power of the memory system is turned on.

また、本発明に係るメモリシステムの一態様では、前記制御部は、定期的に、前記処理を実行する。 Further, in one aspect of the memory system according to the present invention, the control unit periodically executes the processing .

また、本発明に係るメモリシステムの一態様では、前記記憶部は、前記処理を実行するための制御データを予め記憶し、前記制御部は、前記記憶部が記憶する前記制御データに基づいて前記処理を実行する。
In one aspect of the memory system according to the present invention, the storage unit stores control data for executing the process in advance, and the control unit is configured to store the control data based on the control data stored by the storage unit. Execute the process

本発明によれば、暗号処理装置での暗号処理の内容が特定されにくくなる。   According to the present invention, it is difficult to identify the content of cryptographic processing in the cryptographic processing device.

暗号処理装置の構成を示す図である。It is a figure which shows the structure of a cryptographic processing apparatus. 複数の暗号処理部の第1の使用態様を示す図である。It is a figure which shows the 1st usage aspect of several encryption processing parts. 複数の暗号処理部の第2の使用態様を示す図である。It is a figure which shows the 2nd usage aspect of several encryption processing parts. 複数の暗号処理部の第3の使用態様を示す図である。It is a figure which shows the 3rd usage aspect of several encryption processing parts. 複数の暗号処理部の第4の使用態様を示す図である。It is a figure which shows the 4th usage aspect of several encryption processing parts. 複数の暗号処理部の第5の使用態様を示す図である。It is a figure which shows the 5th usage aspect of several encryption processing parts. 複数の暗号処理部の第5の使用態様を示す図である。It is a figure which shows the 5th usage aspect of several encryption processing parts. メモリシステムの構成を示す図である。It is a figure showing composition of a memory system. メモリシステムの動作を示すフローチャートである。It is a flowchart which shows operation | movement of a memory system.

図1は実施の形態に係る暗号処理装置1の構成を示す図である。本実施の形態に係る暗号処理装置1は、例えば、共通鍵暗号方式の一種であるストリーム暗号方式を使用して、データを暗号化及び復号化する。なお、暗号処理装置1は、共通鍵暗号方式の一種であるブロック暗号方式を使用してデータを暗号化及び復号化しても良い。また暗号処理装置1は、公開鍵暗号方式を使用してデータを暗号化及び復号化しても良い。本実施の形態では、データと言えば、説明の便宜上、少なくとも1ビットで構成されたデジタルデータを意味するものとする。また、説明の便宜上、データの値は十進数表記での値であるとする。   FIG. 1 is a diagram showing the configuration of the cryptographic processing apparatus 1 according to the embodiment. The cryptographic processing apparatus 1 according to the present embodiment encrypts and decrypts data using, for example, a stream encryption method which is a type of common key encryption method. The cryptographic processing apparatus 1 may encrypt and decrypt data using a block encryption method, which is a type of common key encryption method. Further, the cryptographic processing apparatus 1 may encrypt and decrypt data using a public key cryptosystem. In the present embodiment, the term "data" means digital data composed of at least one bit for convenience of explanation. Further, for convenience of explanation, it is assumed that the value of data is a value in decimal notation.

図1に示されるように、暗号処理装置1は、複数の暗号処理部2から成る暗号処理部群20を備えている。各暗号処理部2は暗号機能を有している。各暗号処理部2には固定のマスタ鍵9が入力される。複数の暗号処理部2では、使用される暗号アルゴリズムは互いに同じであっても良いし、互いに異なっても良い。暗号処理部2で使用される暗号アルゴリズムとしては、例えば、DES(Data Encryption Standard)あるいはAES(Advanced Encryption Standard)などが考えられる。また、複数の暗号処理部2では、使用されるマスタ鍵9は互いに同じであっても良いし、互いに異なっても良い。   As shown in FIG. 1, the cryptographic processing apparatus 1 includes a cryptographic processing unit group 20 including a plurality of cryptographic processing units 2. Each encryption processing unit 2 has an encryption function. A fixed master key 9 is input to each encryption processing unit 2. In the plurality of cryptographic processing units 2, the cryptographic algorithms used may be the same as one another or may be different from one another. As an encryption algorithm used by the encryption processing unit 2, for example, DES (Data Encryption Standard) or AES (Advanced Encryption Standard) may be considered. Further, in the plurality of cryptographic processing units 2, the master keys 9 to be used may be the same as or different from each other.

本実施の形態では、暗号処理装置1は、例えば2つの暗号処理部2を備えている。以後、当該2つの暗号処理部2の一方及び他方を、それぞれ「第1暗号処理部2a」及び「第2暗号処理部2b」と呼ぶことがある。また、第1暗号処理部2aに入力されるマスタ鍵9及び第2暗号処理部2bに入力されるマスタ鍵9を、それぞれ「第1マスタ鍵9a」及び「第2マスタ鍵9b」と呼ぶことがある。   In the present embodiment, the cryptographic processing device 1 includes, for example, two cryptographic processing units 2. Hereinafter, one or the other of the two cryptographic processing units 2 may be referred to as a "first cryptographic processing unit 2a" and a "second cryptographic processing unit 2b", respectively. Also, the master key 9 input to the first encryption processing unit 2a and the master key 9 input to the second encryption processing unit 2b should be called "first master key 9a" and "second master key 9b", respectively. There is.

暗号処理装置1には、暗号処理部群20以外にも、第1演算回路3と、第2演算回路4と、使用態様制御部5とが設けられている。第1演算回路3及び第2演算回路4のそれぞれは、入力される2つのデータの排他的論理和(XOR)を演算して出力する。   The cryptographic processing apparatus 1 is provided with a first arithmetic circuit 3, a second arithmetic circuit 4, and a usage mode control unit 5 in addition to the cryptographic processing unit group 20. Each of the first arithmetic circuit 3 and the second arithmetic circuit 4 calculates and outputs an exclusive OR (XOR) of two input data.

使用態様制御部5は、暗号処理装置1の外部から入力される制御信号10に基づいて、複数の暗号処理部2の使用態様を制御する。つまり、複数の暗号処理部2の使用態様は、制御信号10に基づいて決定される。本実施の形態では、制御信号10は、第1制御データ11、第2制御データ12及び第3制御データ13で構成されている。使用態様制御部5は、複数種類の使用態様から、複数の暗号処理部2の使用態様を決定する。本実施の形態では、例えば第1〜第5の使用態様が定められている。第1〜第5の使用態様には、複数の暗号処理部2のうちの一つだけを使用する態様や、複数の暗号処理部2のうちの2つを組み合わせて使用する態様が含まれる。これらの使用態様については後で詳細に説明する。   The usage mode control unit 5 controls the usage mode of the plurality of cryptographic processing units 2 based on a control signal 10 input from the outside of the cryptographic processing device 1. That is, the usage mode of the plurality of cryptographic processing units 2 is determined based on the control signal 10. In the present embodiment, the control signal 10 is composed of the first control data 11, the second control data 12 and the third control data 13. The use mode control unit 5 determines the use mode of the plurality of cryptographic processing units 2 from the plurality of types of use modes. In the present embodiment, for example, first to fifth use modes are defined. The first to fifth usage modes include a mode in which only one of the plurality of cryptographic processing units 2 is used, and a mode in which two of the plurality of cryptographic processing units 2 are used in combination. These usage modes will be described in detail later.

使用態様制御部5は、第1選択回路6と、第2選択回路7と、第3選択回路8とを備えている。第1選択回路6は、第1制御データ11に基づいて、入力される2つのデータの一方を選択して第1暗号処理部2aに出力する。第1選択回路6には、第2暗号処理部2bから出力されるデータと、全ビットが零であるデータ(以後、「零データ」と呼ぶ)とが入力される。第1選択回路6は、1ビットで構成された第1制御データ11が“1”を示す場合には、第2暗号処理部2bから出力されるデータを選択して出力する。一方で、第1選択回路6は、第1制御データ11が“0”を示す場合には、零データを選択して出力する。第1暗号処理部2aは、第1選択回路6から零データが入力される場合には、当該零データの入力を無視する。   The usage mode control unit 5 includes a first selection circuit 6, a second selection circuit 7, and a third selection circuit 8. The first selection circuit 6 selects one of the two input data based on the first control data 11 and outputs the selected one to the first encryption processing unit 2a. The first selection circuit 6 receives the data output from the second encryption processing unit 2 b and data in which all bits are zero (hereinafter referred to as “zero data”). The first selection circuit 6 selects and outputs the data output from the second encryption processing unit 2b when the first control data 11 composed of 1 bit indicates "1". On the other hand, when the first control data 11 indicates "0", the first selection circuit 6 selects and outputs zero data. When zero data is input from the first selection circuit 6, the first encryption processing unit 2a ignores the input of the zero data.

第2選択回路7は、第2制御データ12に基づいて、入力される2つのデータの一方を選択して第2暗号処理部2bに出力する。第2選択回路7には、第1暗号処理部2aから出力されるデータと零データとが入力される。第2選択回路7は、1ビットで構成された第2制御データ12が“1”を示す場合には、第1暗号処理部2aから出力されるデータを選択して出力する。一方で、第2選択回路7は、第2制御データ12が“0”を示す場合には、零データを選択して出力する。第2暗号処理部2bは、第2選択回路7から零データが入力される場合には、当該零データの入力を無視する。   The second selection circuit 7 selects one of the two input data based on the second control data 12 and outputs the selected one to the second encryption processing unit 2 b. Data and zero data output from the first encryption processing unit 2 a are input to the second selection circuit 7. The second selection circuit 7 selects and outputs the data output from the first encryption processing unit 2a when the second control data 12 formed of 1 bit indicates "1". On the other hand, when the second control data 12 indicates “0”, the second selection circuit 7 selects and outputs zero data. When zero data is input from the second selection circuit 7, the second encryption processing unit 2b ignores the input of the zero data.

第3選択回路8は、第3制御データ13に基づいて、入力される3つのデータのうちの一つを選択して第2演算回路4に出力する。第3選択回路8には、第1暗号処理部2aから出力されるデータと、第2暗号処理部2bから出力されるデータと、第1演算回路3から出力されるデータとが入力される。第3選択回路8は、2ビットで構成された第3制御データ13が“0”を示す場合には、第1暗号処理部2aから出力されるデータを選択して出力する。また、第3選択回路8は、第3制御データ13が“1”を示す場合には、第1演算回路3から出力されるデータを選択して出力する。そして、第3選択回路8は、第3制御データ13が“2”を示す場合には、第2暗号処理部2bから出力されるデータを選択して出力する。   The third selection circuit 8 selects one of the three input data based on the third control data 13 and outputs the selected one to the second arithmetic circuit 4. The third selection circuit 8 receives data output from the first encryption processing unit 2 a, data output from the second encryption processing unit 2 b, and data output from the first arithmetic circuit 3. The third selection circuit 8 selects and outputs the data output from the first encryption processing unit 2a, when the third control data 13 composed of 2 bits indicates "0". Further, when the third control data 13 indicates "1", the third selection circuit 8 selects and outputs the data output from the first arithmetic circuit 3. Then, when the third control data 13 indicates "2", the third selection circuit 8 selects and outputs the data output from the second encryption processing unit 2b.

第1演算回路3は、第1暗号処理部2a及び第2暗号処理部2bから出力されるデータの排他的論理和を演算して第3選択回路8に出力する。第2演算回路4は、第3選択回路8から出力されるデータと、暗号化を行う対象のデータ(暗号化対象データ)との排他的論理和を演算して出力する。これにより、暗号化対象データが暗号化される。また、第2演算回路4は、第3選択回路8から出力されるデータと、暗号化されたデータ(暗号データ)との排他的論理和を演算して出力する。これにより、暗号データが復号化される。このように、第2演算回路4は、第3選択回路8から出力されるデータをキーストリーム(データを暗号化するためのデータ)として使用して、入力されるデータを暗号化あるいは復号化する。   The first arithmetic circuit 3 calculates the exclusive OR of the data output from the first encryption processing unit 2a and the second encryption processing unit 2b, and outputs the result to the third selection circuit 8. The second arithmetic circuit 4 calculates and outputs an exclusive OR of the data output from the third selection circuit 8 and the data to be encrypted (data to be encrypted). Thus, the data to be encrypted is encrypted. Further, the second arithmetic circuit 4 calculates and outputs an exclusive OR of the data output from the third selection circuit 8 and the encrypted data (encrypted data). Thus, the encrypted data is decrypted. Thus, the second arithmetic circuit 4 uses the data output from the third selection circuit 8 as a key stream (data for encrypting data) to encrypt or decrypt the input data. .

<複数の暗号処理部の使用態様について>
次に複数の暗号処理部2に関する複数種類の使用態様の一例について説明する。以後、第1制御データ11の値をa、第2制御データ12の値をb、第3制御データ13の値をcとすると、第1制御データ11、第2制御データ12及び第3制御データ13の値を(a,b,c)で表す。
<Usage of Multiple Cryptographic Processing Units>
Next, an example of a plurality of types of usage modes regarding the plurality of cryptographic processing units 2 will be described. Hereinafter, assuming that the value of the first control data 11 is a, the value of the second control data 12 is b, and the value of the third control data 13 is c, the first control data 11, the second control data 12, and the third control data The value of 13 is represented by (a, b, c).

<第1の使用態様について>
第1制御データ11、第2制御データ12及び第3制御データ13の値が(0,1,2)である場合には、複数の暗号処理部2の使用態様は第1の使用態様となる。図2は複数の暗号処理部2の使用態様が第1の使用態様である場合の暗号処理装置1の等価ブロック図を示す図である。
<About the first mode of use>
When the values of the first control data 11, the second control data 12, and the third control data 13 are (0, 1, 2), the usage mode of the plurality of cryptographic processing units 2 is the first usage mode. . FIG. 2 is a diagram showing an equivalent block diagram of the cryptographic processing apparatus 1 when the usage mode of the plurality of cryptographic processing units 2 is the first usage mode.

複数の暗号処理部2の使用態様が第1の使用態様である場合には、図2に示されるように、第1暗号処理部2aの出力データが第2暗号処理部2bに入力される。そして、第2暗号処理部2bの出力データが第2演算回路4に入力される。複数の暗号処理部2の使用態様が第1の使用態様である場合の暗号処理装置1の構成を「第1の構成」と呼ぶことがある。   When the usage mode of the plurality of cryptographic processing units 2 is the first usage mode, as shown in FIG. 2, the output data of the first cryptographic processing unit 2a is input to the second cryptographic processing unit 2b. Then, the output data of the second encryption processing unit 2 b is input to the second arithmetic circuit 4. The configuration of the cryptographic processing apparatus 1 when the usage mode of the plurality of cryptographic processing units 2 is the first usage mode may be referred to as “first configuration”.

図2に示されるような第1の構成を有する暗号処理装置1では、第1暗号処理部2aが第1マスタ鍵9aに基づいて自身の初期化(自身の暗号アルゴリズムの初期化)を行う。そして、初期化後の第1暗号処理部2aは、自身の暗号機能を使用してセッション鍵SKを生成して出力する。言い換えれば、初期化後の第1暗号処理部2aは、暗号処理を行ってセッション鍵SKを生成して出力する。第2暗号処理部2bは、第1暗号処理部2aからのセッション鍵SKと第2マスタ鍵9bとで構成される入力鍵に基づいて自身の初期化(自身の暗号アルゴリズムの初期化)を行う。初期化後の第2暗号処理部2bは、自身の暗号機能を使用してキーストリームKSを生成して出力する。言い換えれば、初期化後の第2暗号処理部2bは、暗号処理を行ってキーストリームKSを生成して出力する。第2演算回路4は、第2暗号処理部2bから出力されるキーストリームKSと、暗号化対象データとの排他的論路和を演算して出力する。これにより、第2演算回路4では、入力された暗号化対象データが暗号化されて出力される。また、第2演算回路4は、第2暗号処理部2bから出力されるキーストリームKSと、暗号データとの排他的論路和を演算して出力する。これにより、第2演算回路4では、入力された暗号データが復号化されて出力される。   In the cryptographic processing apparatus 1 having the first configuration as shown in FIG. 2, the first cryptographic processing unit 2a performs its own initialization (initialization of its own cryptographic algorithm) based on the first master key 9a. Then, the first encryption processing unit 2a after initialization generates and outputs a session key SK using its own encryption function. In other words, the first encryption processing unit 2a after initialization performs encryption processing to generate and output a session key SK. The second encryption processing unit 2b performs its own initialization (initialization of its own encryption algorithm) based on the input key constituted by the session key SK from the first encryption processing unit 2a and the second master key 9b. . The second encryption processing unit 2b after initialization generates and outputs the key stream KS using its own encryption function. In other words, the second encryption processing unit 2b after initialization performs encryption processing to generate and output the key stream KS. The second arithmetic circuit 4 calculates and outputs an exclusive logical sum of the key stream KS output from the second encryption processing unit 2 b and the data to be encrypted. Thus, the second arithmetic circuit 4 encrypts and outputs the input encryption target data. In addition, the second arithmetic circuit 4 calculates and outputs the exclusive logical sum of the key stream KS output from the second cryptographic processing unit 2 b and the cryptographic data. Thus, the second arithmetic circuit 4 decrypts the input encrypted data and outputs it.

<第2の使用態様について>
第1制御データ11、第2制御データ12及び第3制御データ13の値が(1,0,0)である場合には、複数の暗号処理部2の使用態様は第2の使用態様となる。図3は複数の暗号処理部2の使用態様が第2の使用態様である場合の暗号処理装置1の等価ブロック図を示す図である。
<About the second mode of use>
When the values of the first control data 11, the second control data 12, and the third control data 13 are (1, 0, 0), the usage mode of the plurality of cryptographic processing units 2 is the second usage mode. . FIG. 3 is a diagram showing an equivalent block diagram of the cryptographic processing apparatus 1 when the usage mode of the plurality of cryptographic processing units 2 is the second usage mode.

複数の暗号処理部2の使用態様が第2の使用態様である場合には、図3に示されるように、第2暗号処理部2bの出力データが第1暗号処理部2aに入力される。そして、第1暗号処理部2aの出力データが第2演算回路4に入力される。複数の暗号処理部2の使用態様が第2の使用態様である場合の暗号処理装置1の構成を「第2の構成」と呼ぶことがある。   When the usage mode of the plurality of cryptographic processing units 2 is the second usage mode, as shown in FIG. 3, the output data of the second cryptographic processing unit 2b is input to the first cryptographic processing unit 2a. Then, the output data of the first encryption processing unit 2 a is input to the second arithmetic circuit 4. The configuration of the cryptographic processing apparatus 1 when the usage mode of the plurality of cryptographic processing units 2 is the second usage mode may be referred to as a "second configuration".

図3に示されるような第2の構成を有する暗号処理装置1では、第2暗号処理部2bが第2マスタ鍵9bに基づいて自身の初期化を行う。そして、初期化後の第2暗号処理部2bは、自身の暗号機能を使用してセッション鍵SKを生成して出力する。第1暗号処理部2aは、第2暗号処理部2bからのセッション鍵SKと第1マスタ鍵9aとで構成される入力鍵に基づいて自身の初期化を行う。初期化後の第1暗号処理部2aは、自身の暗号機能を使用してキーストリームKSを生成して出力する。第2演算回路4は、第1暗号処理部2aから出力されるキーストリームKSと、暗号化対象データとの排他的論路和を演算して出力する。これにより、第2演算回路4では、入力された暗号化対象データが暗号化されて出力される。また、第2演算回路4は、第1暗号処理部2aから出力されるキーストリームKSと、暗号データとの排他的論路和を演算して出力する。これにより、第2演算回路4では、入力された暗号データが復号化されて出力される。   In the cryptographic processing apparatus 1 having the second configuration as shown in FIG. 3, the second cryptographic processing unit 2b initializes itself based on the second master key 9b. Then, the second encryption processing unit 2b after initialization generates and outputs a session key SK using its own encryption function. The first encryption processing unit 2a initializes itself based on the input key including the session key SK from the second encryption processing unit 2b and the first master key 9a. The first encryption processing unit 2a after initialization generates and outputs the key stream KS using its own encryption function. The second arithmetic circuit 4 calculates and outputs the exclusive logical sum of the key stream KS output from the first encryption processing unit 2a and the data to be encrypted. Thus, the second arithmetic circuit 4 encrypts and outputs the input encryption target data. In addition, the second arithmetic circuit 4 calculates and outputs the exclusive logical sum of the key stream KS output from the first cryptographic processing unit 2 a and the cryptographic data. Thus, the second arithmetic circuit 4 decrypts the input encrypted data and outputs it.

なお、第1暗号処理部2a及び第2暗号処理部2bにおいて、使用される暗号アルゴリズムが互いに同じであって、かつ使用されるマスタ鍵9が互いに同じである場合には、第1の構成の暗号処理装置1と、第2の構成の暗号処理装置1とは、互いに同じ動作を行うことになる。   In the first configuration, when the encryption algorithms used in the first encryption processing unit 2a and the second encryption processing unit 2b are the same, and the master keys 9 used are the same, The cryptographic processing device 1 and the cryptographic processing device 1 of the second configuration perform the same operation.

<第3の使用態様について>
第1制御データ11、第2制御データ12及び第3制御データ13の値が(0,0,2)あるいは(1,0,2)である場合には、複数の暗号処理部2の使用態様は第3の使用態様となる。図4は複数の暗号処理部2の使用態様が第3の使用態様である場合の暗号処理装置1の等価ブロック図を示す図である。
<About the third mode of use>
When the values of the first control data 11, the second control data 12, and the third control data 13 are (0, 0, 2) or (1, 0, 2), the usage modes of the plurality of cryptographic processing units 2 Is the third mode of use. FIG. 4 is a diagram showing an equivalent block diagram of the cryptographic processing apparatus 1 when the usage mode of the plurality of cryptographic processing units 2 is the third usage mode.

複数の暗号処理部2の使用態様が第3の使用態様である場合には、図4に示されるように、第2暗号処理部2bの出力データが第2演算回路4に入力される。このとき、第1暗号処理部2aは使用されない。つまり、複数の暗号処理部2の使用態様が第3の使用態様である場合には、複数の暗号処理部2のうち第2暗号処理部2bだけが使用される。複数の暗号処理部2の使用態様が第3の使用態様である場合の暗号処理装置1の構成を「第3の構成」と呼ぶことがある。   When the usage mode of the plurality of cryptographic processing units 2 is the third usage mode, output data of the second cryptographic processing unit 2 b is input to the second arithmetic circuit 4 as shown in FIG. 4. At this time, the first encryption processing unit 2a is not used. That is, when the usage mode of the plurality of cryptographic processing units 2 is the third usage mode, only the second cryptographic processing unit 2 b among the plurality of cryptographic processing units 2 is used. The configuration of the cryptographic processing apparatus 1 when the usage mode of the plurality of cryptographic processing units 2 is the third usage mode may be referred to as a “third configuration”.

図4に示されるような第3の構成を有する暗号処理装置1では、第2暗号処理部2bが第2マスタ鍵9bに基づいて自身の初期化を行う。そして、初期化後の第2暗号処理部2bは、自身の暗号機能を使用してキーストリームKSを生成して出力する。第2演算回路4は、第2暗号処理部2bから出力されるキーストリームKSと、暗号化対象データとの排他的論路和を演算して出力する。また、第2演算回路4は、第2暗号処理部2bから出力されるキーストリームKSと、暗号データとの排他的論路和を演算して出力する。   In the cryptographic processing apparatus 1 having the third configuration as shown in FIG. 4, the second cryptographic processing unit 2b initializes itself based on the second master key 9b. Then, the second encryption processing unit 2b after initialization generates and outputs the key stream KS using its own encryption function. The second arithmetic circuit 4 calculates and outputs an exclusive logical sum of the key stream KS output from the second encryption processing unit 2 b and the data to be encrypted. In addition, the second arithmetic circuit 4 calculates and outputs the exclusive logical sum of the key stream KS output from the second cryptographic processing unit 2 b and the cryptographic data.

<第4の使用態様について>
第1制御データ11、第2制御データ12及び第3制御データ13の値が(0,0,0)あるいは(0,1,0)である場合には、複数の暗号処理部2の使用態様は第4の使用態様となる。図5は複数の暗号処理部2の使用態様が第4の使用態様である場合の暗号処理装置1の等価ブロック図を示す図である。
<About the 4th usage aspect>
When the values of the first control data 11, the second control data 12, and the third control data 13 are (0, 0, 0) or (0, 1, 0), the usage modes of the plurality of cryptographic processing units 2 Is the fourth mode of use. FIG. 5 is a diagram showing an equivalent block diagram of the cryptographic processing apparatus 1 in the case where the usage mode of the plurality of cryptographic processing units 2 is the fourth usage mode.

複数の暗号処理部2の使用態様が第4の使用態様である場合には、図5に示されるように、第1暗号処理部2aの出力データが第2演算回路4に入力される。このとき、第2暗号処理部2bは使用されない。つまり、複数の暗号処理部2の使用態様が第4の使用態様である場合には、複数の暗号処理部2のうち第1暗号処理部2aだけが使用される。複数の暗号処理部2の使用態様が第4の使用態様である場合の暗号処理装置1の構成を「第4の構成」と呼ぶことがある。   When the usage mode of the plurality of cryptographic processing units 2 is the fourth usage mode, output data of the first cryptographic processing unit 2a is input to the second arithmetic circuit 4 as shown in FIG. At this time, the second encryption processing unit 2b is not used. That is, when the usage mode of the plurality of cryptographic processing units 2 is the fourth usage mode, only the first cryptographic processing unit 2 a among the plurality of cryptographic processing units 2 is used. The configuration of the cryptographic processing apparatus 1 in the case where the usage mode of the plurality of cryptographic processing units 2 is the fourth usage mode may be referred to as “fourth configuration”.

図5に示されるような第4の構成を有する暗号処理装置1では、第1暗号処理部2aが第1マスタ鍵9aに基づいて自身の初期化を行う。そして、初期化後の第1暗号処理部2aは、自身の暗号機能を使用してキーストリームKSを生成して出力する。第2演算回路4は、第1暗号処理部2aから出力されるキーストリームKSと、暗号化対象データとの排他的論路和を演算して出力する。また、第2演算回路4は、第1暗号処理部2aから出力されるキーストリームKSと、暗号データとの排他的論路和を演算して出力する。   In the cryptographic processing apparatus 1 having the fourth configuration as shown in FIG. 5, the first cryptographic processing unit 2a initializes itself based on the first master key 9a. Then, the first encryption processing unit 2a after initialization generates and outputs the key stream KS using its own encryption function. The second arithmetic circuit 4 calculates and outputs the exclusive logical sum of the key stream KS output from the first encryption processing unit 2a and the data to be encrypted. In addition, the second arithmetic circuit 4 calculates and outputs the exclusive logical sum of the key stream KS output from the first cryptographic processing unit 2 a and the cryptographic data.

なお、第1暗号処理部2a及び第2暗号処理部2bにおいて、使用される暗号アルゴリズムが互いに同じであって、かつ使用されるマスタ鍵9が互いに同じである場合には、第3の構成の暗号処理装置1と、第4の構成の暗号処理装置1とは、互いに同じ動作を行うことになる。   In addition, in the case where the encryption algorithms used in the first encryption processing unit 2a and the second encryption processing unit 2b are the same as each other and the master keys 9 used are the same as each other, the third configuration is employed. The cryptographic processing device 1 and the cryptographic processing device 1 of the fourth configuration perform the same operation.

<第5の使用態様について>
第1制御データ11、第2制御データ12及び第3制御データ13の値が(0,0,1)である場合には、複数の暗号処理部2の使用態様は第5の使用態様となる。図6は複数の暗号処理部2の使用態様が第5の使用態様である場合の暗号処理装置1の等価ブロック図を示す図である。
<About the 5th usage mode>
When the values of the first control data 11, the second control data 12, and the third control data 13 are (0, 0, 1), the usage mode of the plurality of cryptographic processing units 2 is the fifth usage mode . FIG. 6 is a diagram showing an equivalent block diagram of the cryptographic processing apparatus 1 in the case where the usage mode of the plurality of cryptographic processing units 2 is the fifth usage mode.

複数の暗号処理部2の使用態様が第5の使用態様である場合には、図6に示されるように、第1暗号処理部2aの出力データ及び第2暗号処理部2bの出力データが第1演算回路3に入力される。そして、第1演算回路3の出力データが第2演算回路4に入力される。複数の暗号処理部2の使用態様が第5の使用態様である場合の暗号処理装置1の構成を「第5の構成」と呼ぶことがある。   When the usage mode of the plurality of cryptographic processing units 2 is the fifth usage mode, as shown in FIG. 6, the output data of the first cryptographic processing unit 2a and the output data of the second cryptographic processing unit 2b are 1 is input to the arithmetic circuit 3 Then, the output data of the first arithmetic circuit 3 is input to the second arithmetic circuit 4. The configuration of the cryptographic processing apparatus 1 in the case where the usage mode of the plurality of cryptographic processing units 2 is the fifth usage mode may be referred to as a “fifth configuration”.

図6に示されるような第5の構成を有する暗号処理装置1では、第1暗号処理部2aが第1マスタ鍵9aに基づいて自身の初期化を行う。そして、初期化後の第1暗号処理部2aは、自身の暗号機能を使用して第1キーストリームKS1を生成して出力する。また、第2暗号処理部2bが第2マスタ鍵9bに基づいて自身の初期化を行う。そして、初期化後の第2暗号処理部2bは、自身の暗号機能を使用して第2キーストリームKS2を生成して出力する。第1演算回路3は、第1暗号処理部2aからの第1キーストリームKS1と、第2暗号処理部2bからの第2キーストリームKS2との排他的論理和を演算し、その演算結果を第3キーストリームKS3として出力する。第2演算回路4は、第1演算回路3から出力される第3キーストリームKS3と、暗号対象データとの排他的論路和を演算して出力する。また、第2演算回路4は、第3キーストリームKS3と、暗号データとの排他的論路和を演算して出力する。   In the cryptographic processing apparatus 1 having the fifth configuration as shown in FIG. 6, the first cryptographic processing unit 2a initializes itself based on the first master key 9a. Then, the first encryption processing unit 2a after initialization generates and outputs the first key stream KS1 using its own encryption function. In addition, the second encryption processing unit 2b initializes itself based on the second master key 9b. Then, the second encryption processing unit 2b after initialization generates and outputs the second key stream KS2 using its own encryption function. The first arithmetic circuit 3 calculates the exclusive OR of the first key stream KS1 from the first encryption processing unit 2a and the second key stream KS2 from the second encryption processing unit 2b, 3 Output as key stream KS3. The second arithmetic circuit 4 calculates and outputs an exclusive logical sum of the third key stream KS3 output from the first arithmetic circuit 3 and the data to be encrypted. In addition, the second arithmetic circuit 4 calculates and outputs an exclusive logical sum of the third key stream KS3 and the encrypted data.

ここで、第1キーストリームKS1と第2キーストリームKS2との排他的論理和の演算結果と暗号対象データ(あるいは暗号データ)との排他的論路和を演算する場合と、第1キーストリームKS1と、第2キーストリームKS2と、暗号対象データ(あるいは暗号データ)との3つのデータの排他的論理和を演算する場合とでは、得られる演算結果は互いに同じである。したがって、第1演算回路3と第2演算回路4を一つの演算回路34にまとめると、図6に示される構成は、図7に示される、当該演算回路34を使用した構成と等価である。図7に示される構成では、演算回路34は、第1キーストリームKS1と、第2キーストリームKS2と、暗号対象データとの排他的論路和を演算することによって、当該暗号対象データを暗号化する。また、演算回路34は、第1キーストリームKS1と、第2キーストリームKS2と、暗号データとの排他的論路和を演算することによって、当該暗号データを復号化する。   Here, when the exclusive logical sum of the calculation result of the exclusive OR of the first key stream KS1 and the second key stream KS2 and the encryption target data (or the cryptographic data) is calculated, the first key stream KS1 In the case where the exclusive OR of the three data of the second key stream KS2 and the encryption target data (or encryption data) is calculated, the operation results obtained are the same. Therefore, when the first arithmetic circuit 3 and the second arithmetic circuit 4 are put together into one arithmetic circuit 34, the configuration shown in FIG. 6 is equivalent to the configuration using the arithmetic circuit 34 shown in FIG. In the configuration shown in FIG. 7, the arithmetic circuit 34 encrypts the encryption target data by calculating an exclusive logical sum of the first key stream KS1, the second key stream KS2, and the encryption target data. Do. The arithmetic circuit 34 decrypts the encrypted data by calculating an exclusive logical sum of the first key stream KS1, the second key stream KS2, and the encrypted data.

本実施の形態では、使用態様制御部5は、制御信号10(第1制御データ11、第2制御データ12及び第3制御データ13)に応じて、暗号処理装置1での複数の暗号処理部2の使用態様を、第1〜第5の使用態様の間で変化させる。例えば、使用態様制御部5は、第1制御データ11、第2制御データ12及び第3制御データの値が(0,1,2)から(1,0,0)に変化した場合には、暗号処理装置1での複数の暗号処理部2の使用態様を、第1の使用態様から第2の使用態様に変化させる。また、使用態様制御部5は、第1制御データ11、第2制御データ12及び第3制御データの値が(0,1,2)から(0,0,1)に変化した場合には、暗号処理装置1での複数の暗号処理部2の使用態様を、第1の使用態様から第5の使用態様に変化させる。また、使用態様制御部5は、第1制御データ11、第2制御データ12及び第3制御データの値が(1,0,0)から(0,0,2)あるいは(1,0,2)に変化した場合には、暗号処理装置1での複数の暗号処理部2の使用態様を、第2の使用態様から第3の使用態様に変化させる。制御信号10が動的に変化すると、使用態様制御部5は、複数の暗号処理部2の使用態様を動的に変化させる。   In the present embodiment, the usage mode control unit 5 responds to the control signal 10 (the first control data 11, the second control data 12 and the third control data 13) in a plurality of cryptographic processing units in the cryptographic processing device 1. The use mode of 2 is changed between the first to fifth use modes. For example, when the values of the first control data 11, the second control data 12, and the third control data change from (0, 1, 2) to (1, 0, 0), the usage mode control unit 5 The usage mode of the plurality of cryptographic processing units 2 in the cryptographic processing apparatus 1 is changed from the first usage mode to the second usage mode. In addition, when the values of the first control data 11, the second control data 12, and the third control data change from (0, 1, 2) to (0, 0, 1), the usage mode control unit 5 The usage mode of the plurality of cryptographic processing units 2 in the cryptographic processing device 1 is changed from the first usage mode to the fifth usage mode. In addition, the usage mode control unit 5 is configured such that the values of the first control data 11, the second control data 12, and the third control data are (1, 0, 0) to (0, 0, 2) When it changes to), the usage mode of the plurality of cryptographic processing units 2 in the cryptographic processing apparatus 1 is changed from the second usage mode to the third usage mode. When the control signal 10 changes dynamically, the use mode control unit 5 dynamically changes the use mode of the plurality of cryptographic processing units 2.

このように、本実施の形態に係る使用態様制御部5は、暗号処理装置1での複数の暗号処理部2の使用態様を変化させるため、暗号処理装置1での暗号処理の内容が特定されにくくなる。言い換えれば、本実施の形態では、暗号処理装置1の構成が変化するため、暗号処理装置1での暗号処理の内容が特定されにくくなる。よって、本実施の形態に係る暗号処理装置1を使用して、半導体メモリ等の装置についてのセキュリティを実現することによって、その装置でのセキュリティ強度を向上させることができる。   As described above, since the usage mode control unit 5 according to the present embodiment changes the usage mode of the plurality of cryptographic processing units 2 in the cryptographic processing device 1, the content of the cryptographic processing in the cryptographic processing device 1 is specified. It becomes difficult. In other words, in the present embodiment, since the configuration of the cryptographic processing device 1 changes, it becomes difficult to identify the content of the cryptographic processing in the cryptographic processing device 1. Therefore, by using the cryptographic processing device 1 according to the present embodiment to realize the security of a device such as a semiconductor memory, the security strength of the device can be improved.

<暗号処理装置を使用したセキュリティの実現例>
次に本実施の形態に係る暗号処理装置1を使用したセキュリティの実現例について説明する。ここでは、一例として、半導体メモリのセキュリティを暗号処理装置1を使用して実現する場合について説明する。
<Example of security implementation using cryptographic processing device>
Next, an implementation example of security using the cryptographic processing apparatus 1 according to the present embodiment will be described. Here, as an example, a case where security of a semiconductor memory is realized using the cryptographic processing device 1 will be described.

図8は暗号処理装置1が使用されてセキュリティが実現された半導体メモリ200を有するメモリシステム100の構成を示す図である。メモリシステム100は、暗号処理装置1を有する半導体メモリ200と、当該半導体メモリ200を制御するホスト装置300とを備えている。メモリシステム100は、例えば、ゲーム装置に実装されるコンピュータシステムである。当該ゲーム装置は、ゲーム装置本体と、それに着脱可能なゲームカートリッジとを備えている。半導体メモリ200はゲームカートリッジに内蔵され、ホスト装置300はゲーム装置本体に内蔵される。ホスト装置300は、一種のコンピュータである。ユーザは、ゲーム装置本体に装着するゲームカードリッジを交換することによって、様々な種類のゲームを楽しむことができる。   FIG. 8 is a view showing the configuration of a memory system 100 having a semiconductor memory 200 in which security is realized by using the cryptographic processing apparatus 1. The memory system 100 includes a semiconductor memory 200 having the cryptographic processing device 1 and a host device 300 that controls the semiconductor memory 200. Memory system 100 is, for example, a computer system implemented in a game device. The game device includes a game device body and a game cartridge which can be attached and detached. The semiconductor memory 200 is incorporated in the game cartridge, and the host device 300 is incorporated in the game apparatus body. The host device 300 is a type of computer. The user can enjoy various types of games by exchanging game cartridges mounted on the game apparatus body.

半導体メモリ200は、例えばマスクROM(Read Only Memory)である。半導体メモリ200は、暗号処理装置1以外にも、ホストIF(インターフェース)210と、コマンドデコーダ220と、メモリIF(インターフェース)230と、記憶部であるメモリアレイ240と、制御レジスタ250とを備えている。   The semiconductor memory 200 is, for example, a mask ROM (Read Only Memory). The semiconductor memory 200 includes a host IF (interface) 210, a command decoder 220, a memory IF (interface) 230, a memory array 240 which is a storage unit, and a control register 250 in addition to the cryptographic processing device 1. There is.

暗号処理装置1は、ホスト装置300からのコマンドをホストIF210を通じて受け取る。ホスト装置300には、暗号処理装置1と同様の暗号処理装置が設けられている。ホスト装置300は、自身の暗号処理装置を使用して、コマンドを暗号化し、暗号化後のコマンドを半導体メモリ200に出力する。暗号処理装置1は、ホスト装置300からの暗号化後のコマンドを上述のように第2演算回路4で復号化し、復号化後のコマンドをコマンドデコーダ220に出力する。以後、ホスト装置300が有する暗号処理装置を「ホスト側暗号処理装置」と呼ぶことがある。   The cryptographic processing device 1 receives a command from the host device 300 through the host IF 210. The host device 300 is provided with an encryption processing device similar to the encryption processing device 1. The host device 300 encrypts a command using its own encryption processing device, and outputs the encrypted command to the semiconductor memory 200. The cryptographic processing device 1 decrypts the encrypted command from the host device 300 with the second arithmetic circuit 4 as described above, and outputs the decrypted command to the command decoder 220. Hereinafter, the encryption processing device included in the host device 300 may be referred to as a “host-side encryption processing device”.

コマンドデコーダ220は、入力されたコマンドをデコードして、当該コマンドを解析する。コマンドデコーダ220は、入力されたコマンドを解析した結果、当該コマンドがメモリアレイ240からデータを読み出すことを指示する読み出しコマンドである場合には、アドレス信号及びリード信号等の制御信号をメモリIF230を通じてメモリアレイ240に出力する。これにより、メモリアレイ240からデータが出力される。メモリアレイ240から出力されたデータは暗号処理装置1に入力される。メモリアレイ240には、例えば、複数のゲームプログラムや、各ゲームプログラムで使用される各種データなどが記憶されている。またコマンドデコーダ220は、入力されたコマンドに含まれる制御データを抽出し、抽出した制御データを制御レジスタ250に書き込む。   The command decoder 220 decodes the input command and analyzes the command. As a result of analyzing the input command, if the command is a read command instructing reading of data from the memory array 240, the command decoder 220 controls a control signal such as an address signal and a read signal through the memory IF 230 Output to array 240. Thereby, data is output from the memory array 240. The data output from the memory array 240 is input to the cryptographic processing apparatus 1. The memory array 240 stores, for example, a plurality of game programs and various data used in each game program. The command decoder 220 also extracts control data contained in the input command, and writes the extracted control data into the control register 250.

制御レジスタ250は、第1レジスタ251、第2レジスタ252、第3レジスタ253及び初期化レジスタ254を備えている。第1レジスタ251は、暗号処理装置1の第1選択回路6を制御するための第1制御データ11を記憶する。第2レジスタ252は、暗号処理装置1の第2選択回路7を制御するための第2制御データ12を記憶する。第3レジスタ253は、暗号処理装置1の第3選択回路8を制御するための第3制御データ13を記憶する。初期化レジスタ254は、暗号処理装置1の初期化を指示する制御データである初期化フラグ14を記憶する。第1制御データ11、第2制御データ12、第3制御データ13及び初期化フラグ14は、ホスト装置300から出力される。   The control register 250 includes a first register 251, a second register 252, a third register 253, and an initialization register 254. The first register 251 stores first control data 11 for controlling the first selection circuit 6 of the cryptographic processing apparatus 1. The second register 252 stores second control data 12 for controlling the second selection circuit 7 of the cryptographic processing apparatus 1. The third register 253 stores third control data 13 for controlling the third selection circuit 8 of the cryptographic processing apparatus 1. The initialization register 254 stores an initialization flag 14 which is control data for instructing initialization of the cryptographic processing apparatus 1. The first control data 11, the second control data 12, the third control data 13, and the initialization flag 14 are output from the host device 300.

暗号処理装置1は、メモリアレイ240から出力されるデータを、上述のように第2演算回路4で暗号化する。暗号処理装置1で暗号化されたデータは、ホストIF210を通じてホスト装置300に入力される。ホスト装置300は、ホスト側暗号処理装置を使用して、半導体メモリ200からの暗号データを復号化する。ホスト装置300は、半導体メモリ200からメモリアレイ240内のゲームプログラムが入力されると、当該ゲームプログラムを実行する。   The cryptographic processing device 1 encrypts the data output from the memory array 240 by the second arithmetic circuit 4 as described above. The data encrypted by the cryptographic processing device 1 is input to the host device 300 through the host IF 210. The host device 300 decrypts the encrypted data from the semiconductor memory 200 using the host-side cryptographic processing device. When the game program in the memory array 240 is input from the semiconductor memory 200, the host device 300 executes the game program.

本実施の形態に係るメモリシステム100では、ホスト装置300が、半導体メモリ200の暗号処理装置1での複数の暗号処理部2の使用態様を決定し、決定した使用態様に応じた制御信号10(第1制御データ11、第2制御データ12及び第3制御データ13)を半導体メモリ200に出力する。暗号処理装置1では、使用態様制御部5が、ホスト装置300からの制御信号10に基づいて、複数の暗号処理部2の使用態様を設定する。ここで、暗号処理装置1での複数の暗号処理部2の使用態様によって、暗号処理装置1での暗号処理の内容が決定されることから、当該使用態様によって、半導体メモリ200でのセキュリティ構成が決定されると言える。つまり、本実施の形態に係る半導体メモリ200は、暗号処理装置1での複数の暗号処理部2の使用態様を変化させることによって、セキュリティ構成を変化させている。以後、複数の暗号処理部2の使用態様を決定するための制御信号10、つまり半導体メモリ200でのセキュリティ構成を決定するための制御信号10を「セキュリティ構成フラグ10」と呼ぶことがある。   In memory system 100 according to the present embodiment, host device 300 determines the use mode of the plurality of cryptographic processing units 2 in cryptographic processing device 1 of semiconductor memory 200, and control signal 10 corresponding to the determined use mode ( The first control data 11, the second control data 12, and the third control data 13) are output to the semiconductor memory 200. In the cryptographic processing device 1, the usage mode control unit 5 sets the usage mode of the plurality of cryptographic processing units 2 based on the control signal 10 from the host device 300. Here, since the content of the cryptographic processing in the cryptographic processing device 1 is determined according to the usage manner of the plurality of cryptographic processing units 2 in the cryptographic processing device 1, the security configuration in the semiconductor memory 200 is It can be said that it is decided. That is, the semiconductor memory 200 according to the present embodiment changes the security configuration by changing the usage mode of the plurality of cryptographic processing units 2 in the cryptographic processing device 1. Hereinafter, the control signal 10 for determining the usage mode of the plurality of cryptographic processing units 2, that is, the control signal 10 for determining the security configuration in the semiconductor memory 200 may be referred to as a "security configuration flag 10".

次に、暗号処理装置1での複数の暗号処理部2の使用態様が変化する場合のメモリシステム100の動作について説明する。図9は当該動作を示すフローチャートである。以下の説明では、例えば、暗号処理装置1での複数の暗号処理部2の使用態様が、第1の使用態様から第2の使用態様に変化する場合のメモリシステム100の動作について説明する。   Next, the operation of the memory system 100 when the usage mode of the plurality of cryptographic processing units 2 in the cryptographic processing device 1 changes will be described. FIG. 9 is a flowchart showing the operation. In the following description, for example, the operation of the memory system 100 when the usage mode of the plurality of cryptographic processing units 2 in the cryptographic processing device 1 changes from the first usage mode to the second usage mode will be described.

図9に示されるように、ステップs1において、ホスト装置300はセキュリティ再構成コマンドを発行する。このとき、ホスト装置300は、ホスト側暗号処理装置でセキュリティ再構成コマンドを暗号化した上で出力する。ホスト装置300から出力されたセキュリティ再構成コマンドは、ホストIF210を通じて暗号処理装置1に入力される。   As shown in FIG. 9, in step s1, the host device 300 issues a security reconfiguration command. At this time, the host device 300 encrypts the security reconfiguration command by the host-side cryptographic processing device and then outputs it. The security reconfiguration command output from the host device 300 is input to the cryptographic processing device 1 through the host IF 210.

セキュリティ再構成コマンドは、半導体メモリ200でのセキュリティ構成を変化させるためのコマンド、つまり複数の暗号処理部2の使用態様を変化させるためのコマンドである。セキュリティ再構成コマンドには、セキュリティ構成フラグ10と初期化フラグ14が含まれている。本例では、複数の暗号処理部2の使用態様が、第1の使用態様から第2の使用態様に変化することから、セキュリティ再構成コマンドには、第2の使用態様に対応するセキュリティ構成フラグ10が含まれている。つまり、セキュリティ再構成フラグに含まれるセキュリティ構成フラグ10を構成する第1制御データ11、第2制御データ12及び第3制御データ13の値は、第2に使用態様に対応する(1,0,0)となる。   The security reconfiguration command is a command for changing the security configuration in the semiconductor memory 200, that is, a command for changing the usage mode of the plurality of cryptographic processing units 2. The security reconfiguration command includes a security configuration flag 10 and an initialization flag 14. In this example, since the usage mode of the plurality of cryptographic processing units 2 changes from the first usage mode to the second usage mode, the security reconfiguration command has a security configuration flag corresponding to the second usage mode. Ten are included. That is, the values of the first control data 11, the second control data 12, and the third control data 13 that constitute the security configuration flag 10 included in the security reconfiguration flag correspond to the second usage mode (1, 0, 0)

次にステップs2において、暗号処理装置1は、入力された、暗号化されているセキュリティ再構成コマンドを復号化する。ここでは、暗号処理装置1での複数の暗号処理部2の使用態様は第1の使用態様(図2参照)であることから、暗号処理装置1では、第2演算回路4が、第2暗号処理部2bから出力されるキーストリームKSとセキュリティ再構成コマンドとの排他的論路和を演算することによって、当該セキュリティ再構成コマンドが復号化される。復号化されたセキュリティ再構成コマンドはコマンドデコーダ220に入力される。   Next, in step s2, the cryptographic processing apparatus 1 decrypts the input encrypted security reconfiguration command. Here, since the usage mode of the plurality of cryptographic processing units 2 in the cryptographic processing device 1 is the first usage mode (see FIG. 2), in the cryptographic processing device 1, the second arithmetic circuit 4 is a second cryptographic circuit. By calculating the exclusive logical sum of the key stream KS output from the processing unit 2 b and the security reconfiguration command, the security reconfiguration command is decrypted. The decrypted security reconfiguration command is input to the command decoder 220.

次にステップs3において、コマンドデコーダ220は、入力されたセキュリティ再構成コマンドをデコードして、当該セキュリティ再構成コマンドからセキュリティ構成フラグ10及び初期化フラグ14を抽出する。そしてステップs4において、コマンドデコーダ220は、抽出したセキュリティ構成フラグ10を制御レジスタ250に転送する。制御レジスタ250は、転送されてきたセキュリティ構成フラグ10を構成する第1制御データ11、第2制御データ12及び第3制御データ13を、第1レジスタ251、第2レジスタ252及び第3レジスタ253にそれぞれ記憶する。第1レジスタ251、第2レジスタ252及び第3レジスタ253に記憶された第1制御データ11、第2制御データ12及び第3制御データ13は暗号処理装置1に入力される。   Next, in step s3, the command decoder 220 decodes the input security reconfiguration command, and extracts the security configuration flag 10 and the initialization flag 14 from the security reconfiguration command. Then, in step s4, the command decoder 220 transfers the extracted security configuration flag 10 to the control register 250. The control register 250 transmits the first control data 11, the second control data 12 and the third control data 13 constituting the transferred security configuration flag 10 to the first register 251, the second register 252 and the third register 253. I will remember each. The first control data 11, the second control data 12 and the third control data 13 stored in the first register 251, the second register 252 and the third register 253 are inputted to the cryptographic processing device 1.

次にステップs5において、暗号処理装置1では、使用態様制御部5が、制御レジスタ250から出力されたセキュリティ構成フラグ10(制御信号10)に応じて、複数の暗号処理部2の使用態様を変化させる。ここでは、第1制御データ11、第2制御データ12及び第3制御データ13の値は(1,0,0)となっていることから、使用態様制御部5は、複数の暗号処理部2の使用態様を第2の使用態様に変化させる。これにより、暗号処理装置1の構成が、図2に示される構成から図3に示される構成に変化する。   Next, in step s5, in the cryptographic processing device 1, the usage mode control unit 5 changes the usage mode of the plurality of cryptographic processing units 2 according to the security configuration flag 10 (control signal 10) output from the control register 250. Let Here, since the values of the first control data 11, the second control data 12 and the third control data 13 are (1, 0, 0), the usage mode control unit 5 The usage mode of is changed to the second usage mode. As a result, the configuration of the cryptographic processing device 1 changes from the configuration shown in FIG. 2 to the configuration shown in FIG.

次にステップs6において、コマンドデコーダ220は、抽出した初期化フラグ14を制御レジスタ250に転送する。制御レジスタ250は、転送されてきた初期化フラグ14を初期化レジスタ254に記憶する。初期化レジスタ254に記憶された初期化フラグ14は暗号処理装置1に入力される。   Next, in step s6, the command decoder 220 transfers the extracted initialization flag 14 to the control register 250. The control register 250 stores the transferred initialization flag 14 in the initialization register 254. The initialization flag 14 stored in the initialization register 254 is input to the cryptographic processing apparatus 1.

次にステップs7において、初期化フラグ14を受け取った暗号処理装置1では、各暗号処理部2の初期化が行われる。ここで、複数の暗号処理部2の使用態様は第2の使用態様であることから、第2暗号処理部2bは第2マスタ鍵9bに基づいて初期化される。また第1暗号処理部2aは、初期化後の第2暗号処理部2bから出力されるセッション鍵SKと第1マスタ鍵9aとから成る入力鍵に基づいて初期化される。以後、暗号処理装置1では、ホスト装置300からのコマンドが、第1暗号処理部2aから出力されるキーストリームKSで復号化される。また、メモリアレイ240からのデータが第1暗号処理部2aから出力されるキーストリームKSで暗号化される。   Next, in step s7, in the cryptographic processing apparatus 1 that has received the initialization flag 14, initialization of each cryptographic processing unit 2 is performed. Here, since the usage mode of the plurality of cryptographic processing units 2 is the second usage mode, the second cryptographic processing unit 2b is initialized based on the second master key 9b. The first encryption processing unit 2a is initialized based on an input key including the session key SK output from the second encryption processing unit 2b after initialization and the first master key 9a. Thereafter, in the cryptographic processing device 1, the command from the host device 300 is decrypted by the key stream KS output from the first cryptographic processing unit 2a. Also, data from the memory array 240 is encrypted with the key stream KS output from the first encryption processing unit 2a.

なお、ホスト装置300は、セキュリティ再構成コマンドを発行して半導体メモリ200の暗号処理装置1での複数の暗号処理部2の使用態様を変化させる場合には、ホスト側暗号処理装置での複数の暗号処理部の使用態様も同じように変化させる。例えば、暗号処理装置1での複数の暗号処理部2の使用態様が第3の使用態様から第5の使用態様に変化する場合には、ホスト側暗号処理装置での複数の暗号処理部の使用態様も第3の使用態様から第5の使用態様に変化する。これにより、半導体メモリ200の暗号処理装置1での複数の暗号処理部2の使用態様が変化した場合であっても、ホスト装置300は半導体メモリ200からのデータを適切に復号化できる。また、半導体メモリ200はホスト装置300からのコマンドを適切に復号化できる。   When the host device 300 issues a security reconfiguration command to change the usage mode of the plurality of cryptographic processing units 2 in the cryptographic processing device 1 of the semiconductor memory 200, the plurality of host-side cryptographic processing devices may The usage mode of the cryptographic processor is also changed in the same manner. For example, when the usage mode of the plurality of cryptographic processing units 2 in the cryptographic processing apparatus 1 changes from the third usage mode to the fifth usage mode, the use of the plurality of cryptographic processing units in the host-side cryptographic processing apparatus The aspect also changes from the third usage aspect to the fifth usage aspect. Thus, even when the usage mode of the plurality of cryptographic processing units 2 in the cryptographic processing device 1 of the semiconductor memory 200 changes, the host device 300 can appropriately decrypt data from the semiconductor memory 200. Also, the semiconductor memory 200 can appropriately decode the command from the host device 300.

以上のようにメモリシステム100が動作することによって、半導体メモリ200でのセキュリティ構成が変化する。よって、半導体メモリ200のセキュリティ強度が向上する。したがって、メモリアレイ240内のゲームプログラム等のデータの内容が特定されにくくなる。よって、ゲームカートリッジが違法複製されることを抑制することができる。   As described above, the operation of the memory system 100 changes the security configuration of the semiconductor memory 200. Thus, the security strength of the semiconductor memory 200 is improved. Therefore, the content of data such as a game program in the memory array 240 is difficult to specify. Thus, illegal copying of the game cartridge can be suppressed.

本実施の形態では、ホスト装置300は、例えば、メモリシステム100の電源がオンされるたびにセキュリティ再構成コマンドを発行する。これにより、メモリシステム100の電源がオンされるたびに、半導体メモリ200の暗号処理装置1での複数の暗号処理部2の使用態様が変化するようになる。この場合には、暗号処理装置1では、使用態様制御部5が、メモリシステム100の電源がオンされると、複数の暗号処理部2の使用態様を変化させる。   In the present embodiment, for example, the host device 300 issues a security reconfiguration command each time the memory system 100 is powered on. Thus, each time the power of the memory system 100 is turned on, the usage mode of the plurality of cryptographic processing units 2 in the cryptographic processing device 1 of the semiconductor memory 200 changes. In this case, in the cryptographic processing apparatus 1, the usage mode control unit 5 changes the usage mode of the plurality of cryptographic processing units 2 when the power of the memory system 100 is turned on.

またホスト装置300は、定期的に、セキュリティ再構成コマンドを発行しても良い。これにより、暗号処理装置1での複数の暗号処理部2の使用態様が定期的に変化する。この場合には、暗号処理装置1では、使用態様制御部5が、定期的に、複数の暗号処理部2の使用態様を変化させる。   The host device 300 may periodically issue a security reconfiguration command. Thereby, the use aspect of the several encryption processing parts 2 in the encryption processing apparatus 1 changes regularly. In this case, in the cryptographic processing device 1, the usage mode control unit 5 periodically changes the usage mode of the plurality of cryptographic processing units 2.

複数の暗号処理部2の使用態様は、第1〜第5の使用態様の間において、どのような順番で変化しても良い。例えば、複数の暗号処理部2の使用態様は、第1の使用態様、第2の使用態様、第3の使用態様、第4の使用態様、第5の使用態様の順で変化しても良い。また、複数の暗号処理部2の使用態様は、第1の使用態様、第3の使用態様、第5の使用態様、第2の使用態様、第4の使用態様の順で変化しても良い。   The use modes of the plurality of cryptographic processing units 2 may be changed in any order among the first to fifth use modes. For example, the mode of use of the plurality of cryptographic processing units 2 may be changed in the order of the first mode of use, the second mode of use, the third mode of use, the fourth mode of use, and the fifth mode of use. . In addition, the usage modes of the plurality of cryptographic processing units 2 may be changed in the order of the first usage mode, the third usage mode, the fifth usage mode, the second usage mode, and the fourth usage mode. .

上記の例では、複数の暗号処理部2の使用態様を制御するためのセキュリティ構成フラグ10(制御信号10)は、セキュリティ再構成コマンドに含まれていたが、メモリアレイ240に予め記憶されていても良い。この場合には、第1〜第5の使用態様にそれぞれ対応する複数のセキュリティ構成フラグ10がメモリアレイ240に予め記憶される。そして、半導体メモリ200では、ホスト装置300からセキュリティ再構成コマンドを受信すると、複数のセキュリティ構成フラグ10のうちの一つがメモリアレイ240から読み出されて、制御レジスタ250に記憶される。メモリアレイ240から制御レジスタ250に書き込まれるセキュリティ構成フラグ10が変更されることによって、複数の暗号処理部2の使用態様が変化する。   In the above example, the security configuration flag 10 (control signal 10) for controlling the usage mode of the plurality of cryptographic processing units 2 was included in the security reconfiguration command, but is stored in advance in the memory array 240. Also good. In this case, a plurality of security configuration flags 10 respectively corresponding to the first to fifth usage modes are stored in advance in the memory array 240. Then, in the semiconductor memory 200, when the security reconfiguration command is received from the host device 300, one of the plurality of security configuration flags 10 is read from the memory array 240 and stored in the control register 250. By changing the security configuration flag 10 written from the memory array 240 to the control register 250, the usage mode of the plurality of cryptographic processing units 2 changes.

半導体メモリ200は、メモリアレイ240から制御レジスタ250に書き込まれたセキュリティ構成フラグ10、つまり複数の暗号処理部2の使用態様の制御に使用されるセキュリティ構成フラグ10をホスト装置300に通知する。ホスト装置300は、ホスト側暗号処理装置での複数の暗号処理部の使用態様を、通知されたセキュリティ構成フラグ10に対応する使用態様に設定する。これにより、半導体メモリ200が、暗号処理装置1での複数の暗号処理部2の使用態様を自ら変化させた場合であっても、半導体メモリ200での複数の暗号処理部2の使用態様と、ホスト装置300での複数の暗号処理部の使用態様とが一致するようになる。よって、ホスト装置300は半導体メモリ200からのデータを適切に復号化できる。また、半導体メモリ200はホスト装置300からのコマンドを適切に復号化できる。   The semiconductor memory 200 notifies the host apparatus 300 of the security configuration flag 10 written from the memory array 240 to the control register 250, that is, the security configuration flag 10 used to control the usage mode of the plurality of cryptographic processing units 2. The host device 300 sets the usage mode of the plurality of cryptographic processing units in the host-side cryptographic processing device to the usage mode corresponding to the notified security configuration flag 10. Thereby, even if the semiconductor memory 200 changes the usage mode of the plurality of cryptographic processing units 2 in the cryptographic processing apparatus 1 itself, the usage mode of the plurality of cryptographic processing units 2 in the semiconductor memory 200; The mode of use of the plurality of cryptographic processing units in the host device 300 is matched. Thus, the host device 300 can appropriately decode the data from the semiconductor memory 200. Also, the semiconductor memory 200 can appropriately decode the command from the host device 300.

また上記の例では、暗号処理装置1での複数の暗号処理部2の使用態様として、第1〜第5の使用態様が定められているが、第1〜第5の使用態様のうちの少なくとも2つの使用態様だけが定められていても良い。また、第1〜第5の使用態様以外の使用態様が定められていても良い。   In the above example, the first to fifth usage modes are defined as the usage modes of the plurality of cryptographic processing units 2 in the cryptographic processing apparatus 1, but at least one of the first to fifth usage modes is defined. Only two usage modes may be defined. In addition, usage modes other than the first to fifth usage modes may be defined.

また上記の例では、暗号処理装置1の暗号処理部群20は、2つの暗号処理部2で構成されていたが、3つ以上の暗号処理部2で構成されても良い。   Further, in the above example, the cryptographic processing unit group 20 of the cryptographic processing device 1 is configured by two cryptographic processing units 2, but may be configured by three or more cryptographic processing units 2.

暗号処理部群20が第1〜第3暗号処理部で構成されている場合には、当該第1〜第3暗号処理部2の使用態様として様々な使用態様が考えられる。   When the cryptographic processing unit group 20 includes the first to third cryptographic processing units, various usage modes can be considered as usage modes of the first to third cryptographic processing units 2.

例えば、第1暗号処理部2の出力データが第1セッション鍵として第2暗号処理部2に入力され、第2暗号処理部2の出力データが第2セッション鍵として第3暗号処理部2に出力され、第3暗号処理部2の出力データがキーストリームとして使用される態様が考えられる。   For example, the output data of the first cryptographic processor 2 is input to the second cryptographic processor 2 as a first session key, and the output data of the second cryptographic processor 2 is output to the third cryptographic processor 2 as a second session key. It is conceivable that the output data of the third cryptographic processing unit 2 is used as a key stream.

また、第3暗号処理部2の出力データが第1セッション鍵として第2暗号処理部2に入力され、第2暗号処理部2の出力データが第2セッション鍵として第1暗号処理部2に出力され、第1暗号処理部2の出力データがキーストリームとして使用される態様が考えられる。   Further, the output data of the third encryption processing unit 2 is input to the second encryption processing unit 2 as a first session key, and the output data of the second encryption processing unit 2 is output to the first encryption processing unit 2 as a second session key. It is conceivable that the output data of the first encryption processing unit 2 is used as a key stream.

また、第1暗号処理部2の出力データと第2暗号処理部2の出力データとがセッション鍵として第3暗号処理部2に入力され、第3暗号処理部2の出力データがキーストリームとして使用される態様が考えられる。   Also, the output data of the first encryption processing unit 2 and the output data of the second encryption processing unit 2 are input to the third encryption processing unit 2 as a session key, and the output data of the third encryption processing unit 2 is used as a key stream It is conceivable that the

また、第2暗号処理部2の出力データと第3暗号処理部2の出力データとがセッション鍵として第1暗号処理部2に入力され、第1暗号処理部2の出力データがキーストリームとして使用される態様が考えられる。   Also, the output data of the second encryption processing unit 2 and the output data of the third encryption processing unit 2 are input to the first encryption processing unit 2 as a session key, and the output data of the first encryption processing unit 2 is used as a key stream It is conceivable that the

また、第1暗号処理部2の出力データと、第2暗号処理部2の出力データと、第3暗号処理部2の出力データとが、キーストリームとして使用される態様が考えられる。   Moreover, the aspect by which the output data of the 1st encryption processing part 2, the output data of the 2nd encryption processing part 2, and the output data of the 3rd encryption processing part 2 are used as a key stream can be considered.

また、暗号処理部群20は、使用する暗号アルゴリズムが互いに異なる少なくとも2つの暗号処理部2を含んでいても良いし、使用する暗号アルゴリズムが互いに同じである少なくとも2つの暗号処理部2を含んでいても良い。   The cryptographic processor group 20 may include at least two cryptographic processors 2 having different cryptographic algorithms to be used, or at least two cryptographic processors 2 having the same cryptographic algorithm to be used. It may be

例えば、暗号処理部群20が第1〜第3暗号処理部2で構成されている場合には、第1及び第2暗号処理部2で使用される暗号アルゴリズムを互いに同じとし、第1及び第2暗号処理部2で使用される暗号アルゴリズムと、第3暗号処理部2で使用される暗号アルゴリズムとを互いに異なるようにする。   For example, in the case where the cryptographic processing unit group 20 includes the first to third cryptographic processing units 2, the cryptographic algorithms used in the first and second cryptographic processing units 2 are the same, and The cryptographic algorithm used in the second cryptographic processing unit 2 and the cryptographic algorithm used in the third cryptographic processing unit 2 are made different from each other.

また、暗号処理部群20が第1〜第4暗号処理部2で構成されている場合には、例えば、第1乃至第3暗号処理部2で使用される暗号アルゴリズムを互いに異なるようにし、第3及び第4暗号処理部2で使用される暗号アルゴリズムを互いに同じとする。   In addition, when the cryptographic processing unit group 20 includes the first to fourth cryptographic processing units 2, for example, the cryptographic algorithms used by the first to third cryptographic processing units 2 are made different from each other, The cryptographic algorithms used in the third and fourth cryptographic processing units 2 are the same.

また、暗号処理部群20が第1〜第4暗号処理部2で構成されている場合には、例えば、第1及び第2暗号処理部2で使用される暗号アルゴリズムを互いに同じとし、第3及び第4暗号処理部2で使用される暗号アルゴリズムを互いに同じとする。そして、例えば、第1及び第2暗号処理部2で使用される暗号アルゴリズムと、第3及び第4暗号処理部2で使用される暗号アルゴリズムとを互いに異なるようにする。   Further, in the case where the cryptographic processing unit group 20 is configured by the first to fourth cryptographic processing units 2, for example, the cryptographic algorithms used in the first and second cryptographic processing units 2 are the same as each other, and And the fourth encryption processing unit 2 use the same encryption algorithm. Then, for example, the encryption algorithm used in the first and second encryption processing units 2 and the encryption algorithm used in the third and fourth encryption processing units 2 are made different from each other.

暗号処理部群20が、使用する暗号アルゴリズムが互いに異なる少なくとも2つの暗号処理部2を含んでいる場合には、暗号処理装置1での複数の暗号処理部2の使用態様を変化させることによって、暗号処理装置1での暗号処理の内容がさらに特定されにくくなる。よって、当該暗号処理装置1を半導体メモリ200等のセキュリティで使用することによって、セキュリティ強度をさらに向上させることができる。   When the cryptographic processor group 20 includes at least two cryptographic processors 2 having different cryptographic algorithms to be used, the usage mode of the plurality of cryptographic processors 2 in the cryptographic processor 1 is changed, It becomes more difficult to identify the content of the cryptographic processing in the cryptographic processing device 1. Therefore, by using the cryptographic processing apparatus 1 for the security of the semiconductor memory 200 or the like, the security strength can be further improved.

また、暗号処理部群20は、使用するマスタ鍵9が互いに異なる少なくとも2つの暗号処理部2を含んでいても良いし、使用するマスタ鍵9が互いに同じである少なくとも2つの暗号処理部2を含んでいても良い。   Further, the cryptographic processor group 20 may include at least two cryptographic processors 2 having different master keys 9 to be used, or at least two cryptographic processors 2 having the same master key 9 to be used. You may include it.

例えば、暗号処理部群20が第1〜第3暗号処理部2で構成されている場合には、第1及び第2暗号処理部2で使用されるマスタ鍵9を互いに同じとし、第1及び第2暗号処理部2で使用されるマスタ鍵9と、第3暗号処理部2で使用されるマスタ鍵9とを互いに異なるようにする。   For example, in the case where the cryptographic processing unit group 20 includes the first to third cryptographic processing units 2, the master keys 9 used in the first and second cryptographic processing units 2 are mutually the same, and The master key 9 used by the second encryption processing unit 2 and the master key 9 used by the third encryption processing unit 2 are made different from each other.

また、暗号処理部群20が第1〜第4暗号処理部2で構成されている場合には、例えば、第1乃至第3暗号処理部2で使用されるマスタ鍵9を互いに異なるようにし、第1及び第4暗号処理部2で使用されるマスタ鍵9を互いに同じとする。   Further, when the cryptographic processing unit group 20 includes the first to fourth cryptographic processing units 2, for example, the master keys 9 used in the first to third cryptographic processing units 2 are made different from one another, The master keys 9 used in the first and fourth cryptographic processing units 2 are the same.

また、暗号処理部群20が第1〜第4暗号処理部2で構成されている場合には、例えば、第1及び第2暗号処理部2で使用されるマスタ鍵9を互いに同じとし、第3及び第4暗号処理部2で使用されるマスタ鍵9を互いに同じとする。そして、第1及び第2暗号処理部2で使用されるマスタ鍵9と、第3及び第4暗号処理部2で使用されるマスタ鍵9とを互いに異なるようにする。   Also, in the case where the encryption processing unit group 20 is configured by the first to fourth encryption processing units 2, for example, the master keys 9 used in the first and second encryption processing units 2 are mutually the same, The master keys 9 used in the third and fourth cryptographic processing units 2 are the same. Then, the master key 9 used in the first and second cryptographic processing units 2 and the master key 9 used in the third and fourth cryptographic processing units 2 are made different from each other.

暗号処理部群20が、使用する鍵が互いに異なる少なくとも2つの暗号処理部2を含んでいる場合には、暗号処理装置1での複数の暗号処理部2の使用態様を変化させることによって、暗号処理装置1での暗号処理の内容がさらに特定されにくくなる。よって、当該暗号処理装置1を半導体メモリ200等のセキュリティで使用することによって、セキュリティ強度をさらに向上させることができる。   In the case where the cryptographic processing group 20 includes at least two cryptographic processing units 2 having different keys used, encryption can be performed by changing the usage mode of the plurality of cryptographic processing units 2 in the cryptographic processing device 1. It becomes more difficult to specify the content of the cryptographic processing in the processing device 1. Therefore, by using the cryptographic processing apparatus 1 for the security of the semiconductor memory 200 or the like, the security strength can be further improved.

また、上記の例では、暗号処理部2は、セッション鍵、キーストリーム等の鍵を生成して出力していたが、入力されるデータを暗号化し、暗号化したデータを出力できるようにしても良い。この場合には、例えば、複数の暗号処理部2の使用態様が図2に示されるような第1の使用態様である場合には、第2暗号処理部2bは、第1暗号処理部2aから出力されるセッション鍵SKを使用して、入力されるデータ(平文)を暗号化し、暗号化したデータを出力する。また、例えば、複数の暗号処理部2の使用態様が図3に示されるような第2の使用態様である場合には、第1暗号処理部2aは、第2暗号処理部2bから出力されるセッション鍵SKを使用して、入力されるデータ(平文)を暗号化し、暗号化したデータを出力する。   In the above example, the cryptographic processing unit 2 generates and outputs keys such as a session key and a key stream, but it is possible to encrypt input data and output encrypted data. good. In this case, for example, in the case where the usage mode of the plurality of cryptographic processing units 2 is the first usage mode as shown in FIG. 2, the second cryptographic processing unit 2b starts with the first cryptographic processing unit 2a. The input data (plaintext) is encrypted using the output session key SK, and the encrypted data is output. In addition, for example, when the usage mode of the plurality of cryptographic processing units 2 is the second usage mode as illustrated in FIG. 3, the first cryptographic processing unit 2 a is output from the second cryptographic processing unit 2 b. The session key SK is used to encrypt input data (plaintext) and output the encrypted data.

以上のように、暗号処理装置1、半導体メモリ200及びメモリシステム100は詳細に説明されたが、上記した説明は、全ての局面において例示であって、この発明がそれに限定されるものではない。また、上述した各種変形例は、相互に矛盾しない限り組み合わせて適用可能である。そして、例示されていない無数の変形例が、この発明の範囲から外れることなく想定され得るものと解される。   As described above, the cryptographic processing device 1, the semiconductor memory 200, and the memory system 100 have been described in detail, but the above description is an exemplification in all aspects, and the present invention is not limited thereto. Further, the various modifications described above can be combined and applied as long as no contradiction arises. And, it is understood that innumerable modifications not illustrated may be assumed without departing from the scope of the present invention.

1 暗号処理装置
2 暗号処理部
5 使用態様制御部
9 マスタ鍵
100 メモリシステム
200 半導体メモリ
240 メモリアレイ
300 ホスト装置
DESCRIPTION OF SYMBOLS 1 cryptographic processor 2 cryptographic processor 5 usage mode controller 9 master key 100 memory system 200 semiconductor memory 240 memory array 300 host device

Claims (10)

暗号処理装置であって、
それぞれが暗号機能を有する複数の暗号処理部から成り、当該複数の暗号処理部の少なくとも一つの暗号処理部の出力データが使用されて、当該複数の暗号処理部の出力データとは別の暗号化対象のデータが暗号化される暗号処理部群と、
前記暗号処理部群について、使用する暗号処理部をどのように組み合わせて使用するかを変化させる処理を実行する制御部と
を備え、
記制御部は、使用する暗号処理部をどのように組み合わせて使用するかを、複数種類の組み合わせから決定し、
前記暗号処理部群は、第1及び第2暗号処理部を含み、
前記複数種類の組み合わせは、
前記第1暗号処理部から出力されるデータがセッション鍵として前記第2暗号処理部に入力され、前記第2暗号処理部から出力されるデータが、前記暗号化対象のデータを暗号化するためのデータとして使用されるような第1の組み合わせと、
前記第2暗号処理部から出力されるデータがセッション鍵として前記第1暗号処理部に入力され、前記第1暗号処理部から出力されるデータが、前記暗号化対象のデータを暗号化するためのデータとして使用されるような第2の組み合わせと、
前記第1暗号処理部から出力されるデータと、前記第2暗号処理部から出力されるデータとの両方が、前記暗号化対象のデータを暗号化するためのデータとして使用されるような第3の組み合わせと
を含む、暗号処理装置。
A cryptographic processor, and
Each of the plurality of cryptographic processing units each having a cryptographic function, wherein output data of at least one cryptographic processing unit of the plurality of cryptographic processing units is used, and encryption is performed separately from output data of the plurality of cryptographic processing units Cryptographic processing units to which target data is encrypted;
And a control unit that executes a process of changing how to combine and use the encryption processing units to be used for the encryption processing unit group,
Before SL control unit, whether to use any combination of the encryption processing section to be used, determined from a plurality of types of combinations,
The encryption processing unit group includes first and second encryption processing units,
The combination of the plurality of types is
The data output from the first encryption processing unit is input to the second encryption processing unit as a session key, and the data output from the second encryption processing unit is for encrypting the data to be encrypted. The first combination used as data, and
The data output from the second cryptographic processor is input to the first cryptographic processor as a session key, and the data output from the first cryptographic processor is for encrypting the data to be encrypted. A second combination that is used as data, and
Thirdly, both the data output from the first encryption processing unit and the data output from the second encryption processing unit are used as data for encrypting the data to be encrypted. Cryptographic processing apparatus, including a combination of
請求項1に記載の暗号処理装置であって、
前記第1及び第2暗号処理部は、使用する暗号アルゴリズムが互いに異なる、暗号処理装置。
The encryption processing device according to claim 1, wherein
The first and second encryption processing units are encryption processing devices that use different encryption algorithms.
請求項1に記載の暗号処理装置であって、
前記第1及び第2暗号処理部は、使用する暗号アルゴリズムが互いに同じである、暗号処理装置。
The encryption processing device according to claim 1, wherein
The first and second cryptographic processors, wherein the cryptographic algorithms used are the same as one another.
請求項1及び請求項2のいずれか一つに記載の暗号処理装置であって、
前記第1及び第2暗号処理部は、使用する鍵が互いに異なる、暗号処理装置。
The encryption processing device according to any one of claims 1 and 2.
The first and second encryption processing units have different keys to be used.
請求項1及び請求項2のいずれか一つに記載の暗号処理装置であって、
前記第1及び第2暗号処理部は、使用する鍵が互いに同じである、暗号処理装置。
The encryption processing device according to any one of claims 1 and 2.
The first and second encryption processors, wherein the keys used are the same as each other.
請求項1乃至請求項のいずれか一つに記載の暗号処理装置と、
記憶部と
を備え、
前記記憶部から読み出されたデータが前記暗号処理装置で暗号化される、半導体メモリ。
The cryptographic processing device according to any one of claims 1 to 5 .
And a storage unit,
Semiconductor memory in which data read from the storage unit is encrypted by the encryption processing device.
請求項に記載の半導体メモリと、
前記半導体メモリを制御するホスト装置と
を備える、メモリシステム。
A semiconductor memory according to claim 6 ;
And a host device that controls the semiconductor memory.
請求項に記載のメモリシステムであって、
前記暗号処理装置の前記制御部は、前記メモリシステムの電源がオンされると、前記処理を実行する、メモリシステム。
The memory system according to claim 7 , wherein
Wherein the control unit of the encryption processing apparatus, when the power of the memory system is turned on, executes the processing, the memory system.
請求項及び請求項のいずれか一つに記載のメモリシステムであって、
前記制御部は、定期的に、前記処理を実行する、メモリシステム。
A memory system according to any one of claims 7 and 8 .
The memory system, wherein the control unit periodically executes the process .
請求項乃至請求項のいずれか一つに記載のメモリシステムであって、
前記記憶部は、前記処理を実行するための制御データを予め記憶し、
前記制御部は、前記記憶部が記憶する前記制御データに基づいて前記処理を実行する、メモリシステム。
A memory system according to any one of claims 7 to 9,
The storage unit stores control data for executing the process in advance.
The memory system, wherein the control unit executes the process based on the control data stored in the storage unit.
JP2013099902A 2013-05-10 2013-05-10 Cryptographic processing apparatus, semiconductor memory and memory system Active JP6521499B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2013099902A JP6521499B2 (en) 2013-05-10 2013-05-10 Cryptographic processing apparatus, semiconductor memory and memory system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013099902A JP6521499B2 (en) 2013-05-10 2013-05-10 Cryptographic processing apparatus, semiconductor memory and memory system

Publications (2)

Publication Number Publication Date
JP2014220729A JP2014220729A (en) 2014-11-20
JP6521499B2 true JP6521499B2 (en) 2019-05-29

Family

ID=51938791

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013099902A Active JP6521499B2 (en) 2013-05-10 2013-05-10 Cryptographic processing apparatus, semiconductor memory and memory system

Country Status (1)

Country Link
JP (1) JP6521499B2 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6473874B2 (en) * 2015-07-22 2019-02-27 株式会社メガチップス Memory device, host device, and memory system

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6410750A (en) * 1987-07-02 1989-01-13 Mitsubishi Electric Corp Block encipherment device
JP3747520B2 (en) * 1996-01-30 2006-02-22 富士ゼロックス株式会社 Information processing apparatus and information processing method
JP2003324423A (en) * 2002-05-01 2003-11-14 Nec Electronics Corp Data processing method, encryption method, encryption method, authentication method and apparatus therefor
JP4911452B2 (en) * 2006-06-27 2012-04-04 株式会社メガチップス Semiconductor memory and data transfer system
US20100278338A1 (en) * 2009-05-04 2010-11-04 Mediatek Singapore Pte. Ltd. Coding device and method with reconfigurable and scalable encryption/decryption modules

Also Published As

Publication number Publication date
JP2014220729A (en) 2014-11-20

Similar Documents

Publication Publication Date Title
TWI399663B (en) Cryptography system and cryptography method
US8666064B2 (en) Endecryptor capable of performing parallel processing and encryption/decryption method thereof
JP6732141B2 (en) Conversion key generation device, ciphertext conversion device, secret information processing system, conversion key generation method, conversion key generation program, ciphertext conversion method, and ciphertext conversion program
US8150031B2 (en) Method and apparatus to perform redundant array of independent disks (RAID) operations
CN111008407B (en) Cryptographic circuitry for performing virtual cryptographic operations
TW200921389A (en) Method and apparatus of providing the security and error ocrrection capability for memory storage devices
TW200830327A (en) System and method for encrypting data
US10411880B2 (en) Apparatus and method for encryption
US10148434B2 (en) Random number generating device, cipher processing device, storage device, and information processing system
JP5105408B2 (en) Quantum program concealment device and quantum program concealment method
JP6162556B2 (en) Storage device and information processing system
JP2008306395A (en) Information processing apparatus and information processing method
JP4758904B2 (en) Confidential information processing method
JP6521499B2 (en) Cryptographic processing apparatus, semiconductor memory and memory system
JP2013182148A (en) Information processing apparatus, information processing method, and program
JP6348273B2 (en) Information processing system
TWI565285B (en) A cryptographic device, a memory system, a decoding device, a cryptographic method, a decoding method, a cryptographic program product and a decoding program product
JP2006311383A (en) Data managing method, data management system and data managing device
JP6452910B1 (en) Secret analysis device, secret analysis system, secret analysis method, and secret analysis program
KR20210015403A (en) White box cryptographic encoding device and method using anti-inversion function
JP2008205753A (en) Signal processor
JP2018092174A (en) Random number generator, storage device, and information processing system
JP4708914B2 (en) Decryption method
JP4853026B2 (en) Information processing apparatus and program
JP7786593B2 (en) Cryptographic system, method and program

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20160316

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20170309

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170509

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170612

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20171205

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180105

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20180116

A912 Re-examination (zenchi) completed and case transferred to appeal board

Free format text: JAPANESE INTERMEDIATE CODE: A912

Effective date: 20180330

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190201

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20190422

R150 Certificate of patent or registration of utility model

Ref document number: 6521499

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250