JP2014220729A - Encryption processing device, semiconductor memory, and memory system - Google Patents

Encryption processing device, semiconductor memory, and memory system Download PDF

Info

Publication number
JP2014220729A
JP2014220729A JP2013099902A JP2013099902A JP2014220729A JP 2014220729 A JP2014220729 A JP 2014220729A JP 2013099902 A JP2013099902 A JP 2013099902A JP 2013099902 A JP2013099902 A JP 2013099902A JP 2014220729 A JP2014220729 A JP 2014220729A
Authority
JP
Japan
Prior art keywords
cryptographic processing
cryptographic
data
processing unit
processing units
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.)
Granted
Application number
JP2013099902A
Other languages
Japanese (ja)
Other versions
JP6521499B2 (en
Inventor
崇彦 菅原
Takahiko Sugawara
崇彦 菅原
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

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols

Abstract

PROBLEM TO BE SOLVED: To provide a technique with which the content of encryption processing in an encryption processing device becomes hard to identify.SOLUTION: An encryption processing device 1 includes an encryption processing unit group 20 and a use state control unit 5. The encryption processing unit group 20 is constituted of a plurality of encryption processing units 2 each having an encryption function. The use state control unit 5 controls the use state of the plurality of encryption processing units 2 in the encryption processing device 1. The use state control unit 5 changes the use state of the plurality of encryption processing units 2.

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 encryption processing in a semiconductor memory.

特開平7−219852号公報JP-A-7-219852

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

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

上記課題を解決するため、本発明に係る暗号処理装置の一態様は、それぞれが暗号機能を有する複数の暗号処理部から成る暗号処理部群と、前記暗号処理装置での前記複数の暗号処理部の使用態様を制御する制御部とを備え、前記制御部は、前記複数の暗号処理部の使用態様を変化させる。   In order to solve the above problems, an aspect of a cryptographic processing device according to the present invention includes a cryptographic processing unit group including a plurality of cryptographic processing units each having a cryptographic function, and the plurality of cryptographic processing units in the cryptographic processing device. A control unit that controls a usage mode of the plurality of cryptographic processing units. The control unit changes a usage mode of the plurality of cryptographic processing units.

また、本発明に係る暗号処理装置の一態様では、前記暗号処理部群は、使用する暗号アルゴリズムが互いに異なる少なくとも2つの暗号処理部を含む。   In the aspect of the cryptographic processing apparatus according to the present invention, the cryptographic processing unit group includes at least two cryptographic processing units that use different cryptographic algorithms.

また、本発明に係る暗号処理装置の一態様では、前記暗号処理部群は、使用する暗号アルゴリズムが互いに同じである少なくとも2つの暗号処理部を含む。   In one aspect of the cryptographic processing apparatus according to the present invention, the cryptographic processing unit group includes at least two cryptographic processing units that use the same cryptographic algorithm.

また、本発明に係る暗号処理装置の一態様では、前記暗号処理部群は、使用する鍵が互いに異なる少なくとも2つの暗号処理部を含む。   In the aspect of the cryptographic processing apparatus according to the present invention, the cryptographic processing unit group includes at least two cryptographic processing units having different keys.

また、本発明に係る暗号処理装置の一態様では、前記暗号処理部群は、使用する鍵が互いに同じである少なくとも2つの暗号処理部を含む。   In the aspect of the cryptographic processing apparatus according to the present invention, the cryptographic processing unit group includes at least two cryptographic processing units having the same key to be used.

また、本発明に係る暗号処理装置の一態様では、前記制御部は、前記複数の暗号処理部の使用態様を複数種類の使用態様から決定し、前記複数種類の使用態様は、前記複数の暗号処理部の少なくとも2つを組み合わせて使用する態様を含む。   In one aspect of the cryptographic processing apparatus according to the present invention, the control unit determines a usage mode of the plurality of cryptographic processing units from a plurality of types of usage modes, and the plurality of types of usage modes are the plurality of encryption modes. A mode in which at least two of the processing units are used in combination is included.

また、本発明に係る暗号処理装置の一態様では、前記複数種類の使用態様は、前記複数の暗号処理部のうちの一つだけを使用する態様を含む。   In the aspect of the cryptographic processing apparatus according to the present invention, the plurality of types of usage modes include a mode in which only one of the plurality of cryptographic processing units is used.

また、本発明に係る暗号処理装置の一態様では、前記暗号処理部群は、第1及び第2暗号処理部を含み、前記複数種類の使用態様は、前記第1暗号処理部から出力されるデータがセッション鍵として前記第2暗号処理部に入力される第1態様と、前記第2暗号処理部から出力されるデータがセッション鍵として前記第1暗号処理部に入力される第2態様とを含む。   In the aspect of the cryptographic processing apparatus according to the present invention, the cryptographic processing unit group includes first and second cryptographic processing units, and the plurality of types of usage modes are output from the first cryptographic processing unit. A first mode in which data is input to the second cryptographic processing unit as a session key, and a second mode in which data output from the second cryptographic processing unit is input to the first cryptographic processing unit as a session key. Including.

また、本発明に係る暗号処理装置の一態様では、前記暗号処理部群は、第1及び第2暗号処理部を含み、前記複数種類の使用態様は、前記第1暗号処理部から出力されるデータと、前記第2暗号処理部から出力されるデータとの両方が、データを暗号化するためのデータとして使用される態様を含む。   In the aspect of the cryptographic processing apparatus according to the present invention, the cryptographic processing unit group includes first and second cryptographic processing units, and the plurality of types of usage modes are output from the first cryptographic processing unit. Both the data and the data output from the second encryption processing unit include an aspect in which the data is used as data for encrypting the data.

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

また、本発明に係るメモリシステムの一態様は、上記の半導体メモリと、前記半導体メモリを制御するホスト装置とを備える。   An aspect of the memory system according to the present invention includes the semiconductor memory described above 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 changes a usage mode of the plurality of cryptographic processing units when a power source of the memory system is turned on.

また、本発明に係るメモリシステムの一態様では、前記制御部は、定期的に、前記複数の暗号処理部の使用態様を変化させる。   In one aspect of the memory system according to the present invention, the control unit periodically changes the usage mode of the plurality of cryptographic processing units.

また、本発明に係るメモリシステムの一態様では、前記記憶部は、前記複数の暗号処理部の使用態様を制御するための制御データを予め記憶し、前記制御部は、前記記憶部が記憶する前記制御データに基づいて前記複数の暗号処理部の使用態様を制御する。   Further, in one aspect of the memory system according to the present invention, the storage unit stores in advance control data for controlling usage modes of the plurality of cryptographic processing units, and the control unit stores the control unit. A usage mode of the plurality of cryptographic processing units is controlled based on the control data.

本発明によれば、暗号処理装置での暗号処理の内容が特定されにくくなる。   According to the present invention, it is difficult to specify 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 condition of a some encryption processing part. 複数の暗号処理部の第2の使用態様を示す図である。It is a figure which shows the 2nd usage condition of a some encryption processing part. 複数の暗号処理部の第3の使用態様を示す図である。It is a figure which shows the 3rd usage condition of a some encryption processing part. 複数の暗号処理部の第4の使用態様を示す図である。It is a figure which shows the 4th usage condition of a some encryption processing part. 複数の暗号処理部の第5の使用態様を示す図である。It is a figure which shows the 5th usage condition of a some encryption processing part. 複数の暗号処理部の第5の使用態様を示す図である。It is a figure which shows the 5th usage condition of a some encryption processing part. メモリシステムの構成を示す図である。It is a figure which shows the structure 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 a configuration of a cryptographic processing apparatus 1 according to an embodiment. The cryptographic processing apparatus 1 according to the present embodiment encrypts and decrypts data using, for example, a stream encryption method that is a kind of common key encryption method. Note that the cryptographic processing apparatus 1 may encrypt and decrypt data using a block encryption method which is a kind of a common key encryption method. The cryptographic processing device 1 may encrypt and decrypt data using a public key cryptosystem. In the present embodiment, data refers to digital data composed of at least one bit for convenience of explanation. For convenience of explanation, it is assumed that the data value 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 cryptographic processing unit 2 has a cryptographic 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 or different from each other. As an encryption algorithm used in the encryption processing unit 2, for example, DES (Data Encryption Standard) or AES (Advanced Encryption Standard) can be considered. In the plurality of cryptographic processing units 2, the master keys 9 used may be the same as each other 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 and the other of the two cryptographic processing units 2 may be referred to as “first cryptographic processing unit 2a” and “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 are referred to as “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)を演算して出力する。   In addition to the cryptographic processing unit group 20, the cryptographic processing device 1 is provided with a first arithmetic circuit 3, a second arithmetic circuit 4, and a usage mode control unit 5. 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 usage modes 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 includes first control data 11, second control data 12, and third control data 13. The usage mode control unit 5 determines usage modes of the plurality of cryptographic processing units 2 from a plurality of types of usage modes. In the present embodiment, for example, first to fifth usage 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 later in detail.

使用態様制御部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 data to the first encryption processing unit 2a. The first selection circuit 6 receives data output from the second encryption processing unit 2b and data in which all bits are zero (hereinafter referred to as “zero data”). When the first control data 11 composed of 1 bit indicates “1”, the first selection circuit 6 selects and outputs the data output from the second encryption processing unit 2b. On the other hand, the first selection circuit 6 selects and outputs zero data when the first control data 11 indicates “0”. 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 it to the second encryption processing unit 2b. The second selection circuit 7 receives data output from the first encryption processing unit 2a and zero data. When the second control data 12 composed of 1 bit indicates “1”, the second selection circuit 7 selects and outputs data output from the first encryption processing unit 2a. On the other hand, the second selection circuit 7 selects and outputs zero data when the second control data 12 indicates “0”. 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 it to the second arithmetic circuit 4. The third selection circuit 8 receives data output from the first encryption processing unit 2a, data output from the second encryption processing unit 2b, and data output from the first arithmetic circuit 3. When the third control data 13 composed of 2 bits indicates “0”, the third selection circuit 8 selects and outputs the data output from the first encryption processing unit 2a. The third selection circuit 8 selects and outputs the data output from the first arithmetic circuit 3 when the third control data 13 indicates “1”. 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 an exclusive OR of the data output from the first encryption processing unit 2 a and the second encryption processing unit 2 b 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 (encryption target data). Thereby, the data to be encrypted is encrypted. 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). As a result, the encrypted data is decrypted. In this way, the second arithmetic circuit 4 uses the data output from the third selection circuit 8 as a key stream (data for encrypting data), and encrypts or decrypts the input data. .

<複数の暗号処理部の使用態様について>
次に複数の暗号処理部2に関する複数種類の使用態様の一例について説明する。以後、第1制御データ11の値をa、第2制御データ12の値をb、第3制御データ13の値をcとすると、第1制御データ11、第2制御データ12及び第3制御データ13の値を(a,b,c)で表す。
<About usage of multiple cryptographic processing units>
Next, an example of a plurality of types of usage modes related to 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 usage mode>
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 a “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 initializes itself (initializes 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 cryptographic processing unit 2a after initialization performs cryptographic processing to generate and output a session key SK. The second cryptographic processor 2b initializes itself (initializes its own cryptographic algorithm) based on the input key composed of the session key SK and the second master key 9b from the first cryptographic processor 2a. . The initialized second cryptographic processing unit 2b generates and outputs a key stream KS using its own cryptographic function. In other words, the second cryptographic processing unit 2b after initialization performs cryptographic processing to generate and output a 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 2b and the encryption target data. Thereby, in the second arithmetic circuit 4, the input data to be encrypted is encrypted and output. The second arithmetic circuit 4 calculates and outputs an exclusive logical sum of the key stream KS output from the second encryption processing unit 2b and the encrypted data. Thereby, in the second arithmetic circuit 4, the input encrypted data is decrypted and output.

<第2の使用態様について>
第1制御データ11、第2制御データ12及び第3制御データ13の値が(1,0,0)である場合には、複数の暗号処理部2の使用態様は第2の使用態様となる。図3は複数の暗号処理部2の使用態様が第2の使用態様である場合の暗号処理装置1の等価ブロック図を示す図である。
<About the second usage mode>
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 cryptographic processor 2a initializes itself based on the input key composed of the session key SK from the second cryptographic processor 2b and the first master key 9a. The first cryptographic processing unit 2a after initialization generates and outputs a key stream KS using its own cryptographic function. The second arithmetic circuit 4 calculates and outputs an exclusive logical sum of the key stream KS output from the first encryption processing unit 2a and the data to be encrypted. Thereby, in the second arithmetic circuit 4, the input data to be encrypted is encrypted and output. The second arithmetic circuit 4 calculates and outputs an exclusive logical sum of the key stream KS output from the first encryption processing unit 2a and the encrypted data. Thereby, in the second arithmetic circuit 4, the input encrypted data is decrypted and output.

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

<第3の使用態様について>
第1制御データ11、第2制御データ12及び第3制御データ13の値が(0,0,2)あるいは(1,0,2)である場合には、複数の暗号処理部2の使用態様は第3の使用態様となる。図4は複数の暗号処理部2の使用態様が第3の使用態様である場合の暗号処理装置1の等価ブロック図を示す図である。
<About the third 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, 2) or (1, 0, 2), the usage mode 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, the output data of the second cryptographic processing unit 2b is input to the second arithmetic circuit 4 as shown in FIG. 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 2b among the multiple 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 a 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 2b and the encryption target data. The second arithmetic circuit 4 calculates and outputs an exclusive logical sum of the key stream KS output from the second encryption processing unit 2b and the encrypted data.

<第4の使用態様について>
第1制御データ11、第2制御データ12及び第3制御データ13の値が(0,0,0)あるいは(0,1,0)である場合には、複数の暗号処理部2の使用態様は第4の使用態様となる。図5は複数の暗号処理部2の使用態様が第4の使用態様である場合の暗号処理装置1の等価ブロック図を示す図である。
<About the fourth 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, 0) or (0, 1, 0), the usage mode of the plurality of cryptographic processing units 2 Is a fourth mode of use. FIG. 5 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 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, the 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 2a among the multiple 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 fourth usage mode may be referred to as a “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 cryptographic processing unit 2a after initialization generates and outputs a key stream KS using its own cryptographic function. The second arithmetic circuit 4 calculates and outputs an exclusive logical sum of the key stream KS output from the first encryption processing unit 2a and the data to be encrypted. The second arithmetic circuit 4 calculates and outputs an exclusive logical sum of the key stream KS output from the first encryption processing unit 2a and the encrypted data.

なお、第1暗号処理部2a及び第2暗号処理部2bにおいて、使用される暗号アルゴリズムが互いに同じであって、かつ使用されるマスタ鍵9が互いに同じである場合には、第3の構成の暗号処理装置1と、第4の構成の暗号処理装置1とは、互いに同じ動作を行うことになる。   In the first cryptographic processing unit 2a and the second cryptographic processing unit 2b, when the cryptographic algorithms used are the same and the master keys 9 used are the same, the third configuration The cryptographic processing apparatus 1 and the cryptographic processing apparatus 1 having 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 fifth 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 when 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 the first 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 when 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. Also, the second encryption processing unit 2b initializes itself based on the second master key 9b. Then, the initialized second encryption processing unit 2b generates and outputs the second key stream KS2 using its own encryption function. The first arithmetic circuit 3 calculates an 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, and outputs the operation result to the first Output as 3 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 encryption target data. 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 calculating the exclusive logical sum of the operation result of the exclusive OR of the first key stream KS1 and the second key stream KS2 and the encryption target data (or encryption data), 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 obtained calculation results are the same. Therefore, when the first arithmetic circuit 3 and the second arithmetic circuit 4 are combined 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. To do. Further, 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 includes a plurality of cryptographic processing units in the cryptographic processing device 1 in response to the control signal 10 (first control data 11, second control data 12, and third control data 13). The second usage mode is changed between the first to fifth usage 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 device 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. Further, the usage mode control unit 5 changes the values of the first control data 11, the second control data 12 and the third control data from (1, 0, 0) to (0, 0, 2) or (1,0, 2 ), The usage mode of the plurality of cryptographic processing units 2 in the cryptographic processing device 1 is changed from the second usage mode to the third usage mode. When the control signal 10 dynamically changes, the usage mode control unit 5 dynamically changes the usage modes 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 is difficult to specify the content of cryptographic processing in the cryptographic processing device 1. Therefore, by using the cryptographic processing device 1 according to the present embodiment to realize security for a device such as a semiconductor memory, the security strength of the device can be improved.

<暗号処理装置を使用したセキュリティの実現例>
次に本実施の形態に係る暗号処理装置1を使用したセキュリティの実現例について説明する。ここでは、一例として、半導体メモリのセキュリティを暗号処理装置1を使用して実現する場合について説明する。
<Example of security implementation using a 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 the security of the 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 diagram showing a configuration of a memory system 100 having a semiconductor memory 200 in which security is realized by using the cryptographic processing device 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. The memory system 100 is a computer system mounted on a game device, for example. The game device includes a game device body and a game cartridge that can be attached to and detached from the game device body. The semiconductor memory 200 is built in the game cartridge, and the host device 300 is built in the game device body. The host device 300 is a kind of computer. The user can enjoy various types of games by exchanging the game card ridge attached to the game apparatus main 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). In addition to the cryptographic processing apparatus 1, the semiconductor memory 200 includes a host IF (interface) 210, a command decoder 220, a memory IF (interface) 230, a memory array 240 as a storage unit, and a control register 250. Yes.

暗号処理装置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 a cryptographic processing device similar to the cryptographic processing device 1. The host device 300 encrypts the command using its own cryptographic 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 by the second arithmetic circuit 4 as described above, and outputs the decrypted command to the command decoder 220. Hereinafter, the cryptographic processing apparatus included in the host apparatus 300 may be referred to as a “host-side cryptographic processing apparatus”.

コマンドデコーダ220は、入力されたコマンドをデコードして、当該コマンドを解析する。コマンドデコーダ220は、入力されたコマンドを解析した結果、当該コマンドがメモリアレイ240からデータを読み出すことを指示する読み出しコマンドである場合には、アドレス信号及びリード信号等の制御信号をメモリIF230を通じてメモリアレイ240に出力する。これにより、メモリアレイ240からデータが出力される。メモリアレイ240から出力されたデータは暗号処理装置1に入力される。メモリアレイ240には、例えば、複数のゲームプログラムや、各ゲームプログラムで使用される各種データなどが記憶されている。またコマンドデコーダ220は、入力されたコマンドに含まれる制御データを抽出し、抽出した制御データを制御レジスタ250に書き込む。   The command decoder 220 decodes the input command and analyzes the command. When the command decoder 220 analyzes the input command and the command is a read command for instructing to read data from the memory array 240, the command decoder 220 stores control signals such as an address signal and a read signal through the memory IF 230. Output to array 240. As a result, data is output from the memory array 240. Data output from the memory array 240 is input to the cryptographic processing device 1. In the memory array 240, for example, a plurality of game programs and various data used in each game program are stored. The command decoder 220 extracts control data included in the input command and writes the extracted control data to 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 device 1. The second register 252 stores second control data 12 for controlling the second selection circuit 7 of the cryptographic processing device 1. The third register 253 stores third control data 13 for controlling the third selection circuit 8 of the cryptographic processing device 1. The initialization register 254 stores an initialization flag 14 that is control data instructing initialization of the cryptographic processing device 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. 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 a 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 the memory system 100 according to the present embodiment, the host device 300 determines the usage mode of the plurality of cryptographic processing units 2 in the cryptographic processing device 1 of the semiconductor memory 200, and the control signal 10 ( 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 usage modes 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 by the usage mode of the plurality of cryptographic processing units 2 in the cryptographic processing device 1, the security configuration in the semiconductor memory 200 is determined depending on the usage mode. It can be said that it will be 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 “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 and outputs the security reconfiguration command by the host-side cryptographic processing device. 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 includes a security configuration flag corresponding to the second usage mode. 10 is included. That is, the values of the first control data 11, the second control data 12, and the third control data 13 constituting 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 includes the second cryptographic circuit. By calculating the exclusive logical sum of the key stream KS output from the processing unit 2b 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. In step s 4, the command decoder 220 transfers the extracted security configuration flag 10 to the control register 250. The control register 250 transfers 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. Remember each one. 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 input 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 apparatus 1, the usage mode control unit 5 changes the usage mode of the plurality of cryptographic processing units 2 in accordance with 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 includes a plurality of encryption processing units 2. The usage mode 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 s 6, 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 device 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, each cryptographic processing unit 2 is initialized. 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 cryptographic processing unit 2a is initialized based on the input key composed of the session key SK and the first master key 9a output from the second cryptographic processing unit 2b after initialization. Thereafter, in the cryptographic processing device 1, the command from the host device 300 is decrypted with the key stream KS output from the first cryptographic processing unit 2a. Further, the 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 changes the usage mode of the plurality of cryptographic processing units 2 in the cryptographic processing device 1 of the semiconductor memory 200 by issuing a security reconfiguration command, the host device 300 uses a plurality of The usage mode of the cryptographic processing unit is changed in the same manner. For example, when the usage mode of the plurality of cryptographic processing units 2 in the cryptographic processing device 1 changes from the third usage mode to the fifth usage mode, the use of the multiple cryptographic processing units in the host-side cryptographic processing device The aspect also changes from the third usage mode to the fifth usage mode. Thereby, even if 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 the data from the semiconductor memory 200. Further, the semiconductor memory 200 can appropriately decode the command from the host device 300.

以上のようにメモリシステム100が動作することによって、半導体メモリ200でのセキュリティ構成が変化する。よって、半導体メモリ200のセキュリティ強度が向上する。したがって、メモリアレイ240内のゲームプログラム等のデータの内容が特定されにくくなる。よって、ゲームカートリッジが違法複製されることを抑制することができる。   As the memory system 100 operates as described above, the security configuration in the semiconductor memory 200 changes. Therefore, the security strength of the semiconductor memory 200 is improved. Therefore, it becomes difficult to specify the contents of data such as a game program in the memory array 240. Therefore, illegal duplication 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. Thereby, every time the power supply 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 memory system 100 is powered on.

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

複数の暗号処理部2の使用態様は、第1〜第5の使用態様の間において、どのような順番で変化しても良い。例えば、複数の暗号処理部2の使用態様は、第1の使用態様、第2の使用態様、第3の使用態様、第4の使用態様、第5の使用態様の順で変化しても良い。また、複数の暗号処理部2の使用態様は、第1の使用態様、第3の使用態様、第5の使用態様、第2の使用態様、第4の使用態様の順で変化しても良い。   The usage modes of the plurality of cryptographic processing units 2 may change in any order between the first to fifth usage modes. For example, the usage modes of the plurality of cryptographic processing units 2 may change in the order of the first usage mode, the second usage mode, the third usage mode, the fourth usage mode, and the fifth usage mode. . The usage modes of the plurality of cryptographic processing units 2 may change 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 is included in the security reconfiguration command, but is stored in the memory array 240 in advance. Also good. In this case, a plurality of security configuration flags 10 respectively corresponding to the first to fifth usage modes are stored in the memory array 240 in advance. In the semiconductor memory 200, when a 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. When the security configuration flag 10 written to the control register 250 from the memory array 240 is changed, the usage mode of the plurality of cryptographic processing units 2 is changed.

半導体メモリ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 to the control register 250 from the memory array 240, that is, the security configuration flag 10 used for controlling 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 device 1 itself, the usage mode of the plurality of cryptographic processing units 2 in the semiconductor memory 200, The usage mode of the plurality of cryptographic processing units in the host device 300 matches. Therefore, the host device 300 can appropriately decrypt the data from the semiconductor memory 200. Further, 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 usage modes of the plurality of cryptographic processing units 2 in the cryptographic processing device 1, but at least of the first to fifth usage modes. Only two usage modes may be defined. Moreover, usage modes other than the first to fifth usage modes may be defined.

また上記の例では、暗号処理装置1の暗号処理部群20は、2つの暗号処理部2で構成されていたが、3つ以上の暗号処理部2で構成されても良い。   In the above example, the cryptographic processing unit group 20 of the cryptographic processing device 1 is configured by the 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 is composed of 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 processing unit 2 is input to the second cryptographic processing unit 2 as the first session key, and the output data of the second cryptographic processing unit 2 is output to the third cryptographic processing unit 2 as the second session key. Thus, a mode in which the output data of the third encryption processing unit 2 is used as a key stream is conceivable.

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

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

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

また、第1暗号処理部2の出力データと、第2暗号処理部2の出力データと、第3暗号処理部2の出力データとが、キーストリームとして使用される態様が考えられる。   Further, a mode in which the output data of the first cryptographic processing unit 2, the output data of the second cryptographic processing unit 2, and the output data of the third cryptographic processing unit 2 are used as a key stream is conceivable.

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

例えば、暗号処理部群20が第1〜第3暗号処理部2で構成されている場合には、第1及び第2暗号処理部2で使用される暗号アルゴリズムを互いに同じとし、第1及び第2暗号処理部2で使用される暗号アルゴリズムと、第3暗号処理部2で使用される暗号アルゴリズムとを互いに異なるようにする。   For example, when the cryptographic processing unit group 20 is composed of the first to third cryptographic processing units 2, the cryptographic algorithms used in the first and second cryptographic processing units 2 are the same as each other, 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で使用される暗号アルゴリズムを互いに同じとする。   Further, when the cryptographic processing unit group 20 includes the first to fourth cryptographic processing units 2, for example, the cryptographic algorithms used in the first to third cryptographic processing units 2 are 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で使用される暗号アルゴリズムとを互いに異なるようにする。   In addition, when the cryptographic processing unit group 20 includes 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, and the third The encryption algorithms used in the fourth encryption processing unit 2 are the same. For example, the cryptographic algorithms used in the first and second cryptographic processing units 2 and the cryptographic algorithms used in the third and fourth cryptographic processing units 2 are made different from each other.

暗号処理部群20が、使用する暗号アルゴリズムが互いに異なる少なくとも2つの暗号処理部2を含んでいる場合には、暗号処理装置1での複数の暗号処理部2の使用態様を変化させることによって、暗号処理装置1での暗号処理の内容がさらに特定されにくくなる。よって、当該暗号処理装置1を半導体メモリ200等のセキュリティで使用することによって、セキュリティ強度をさらに向上させることができる。   When the cryptographic processing unit group 20 includes at least two cryptographic processing units 2 that use different cryptographic algorithms, by changing 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 further difficult to be specified. Therefore, the security strength can be further improved by using the cryptographic processing apparatus 1 for security of the semiconductor memory 200 or the like.

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

例えば、暗号処理部群20が第1〜第3暗号処理部2で構成されている場合には、第1及び第2暗号処理部2で使用されるマスタ鍵9を互いに同じとし、第1及び第2暗号処理部2で使用されるマスタ鍵9と、第3暗号処理部2で使用されるマスタ鍵9とを互いに異なるようにする。   For example, when 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 the same as each other, The master key 9 used in the second cryptographic processing unit 2 and the master key 9 used in the third cryptographic 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 different from each other, 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とを互いに異なるようにする。   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 and second cryptographic processing units 2 are the same as each other, 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 is different from the master key 9 used in the third and fourth cryptographic processing units 2.

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

また、上記の例では、暗号処理部2は、セッション鍵、キーストリーム等の鍵を生成して出力していたが、入力されるデータを暗号化し、暗号化したデータを出力できるようにしても良い。この場合には、例えば、複数の暗号処理部2の使用態様が図2に示されるような第1の使用態様である場合には、第2暗号処理部2bは、第1暗号処理部2aから出力されるセッション鍵SKを使用して、入力されるデータ(平文)を暗号化し、暗号化したデータを出力する。また、例えば、複数の暗号処理部2の使用態様が図3に示されるような第2の使用態様である場合には、第1暗号処理部2aは、第2暗号処理部2bから出力されるセッション鍵SKを使用して、入力されるデータ(平文)を暗号化し、暗号化したデータを出力する。   In the above example, the encryption processing unit 2 generates and outputs a key such as a session key and a key stream. However, the input data may be encrypted so that the encrypted data can be output. good. In this case, for example, when 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 is connected to the first cryptographic processing unit 2a. Using the output session key SK, the input data (plain text) is encrypted, and the encrypted data is output. 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 2a is output from the second cryptographic processing unit 2b. Using the session key SK, the input data (plain text) is encrypted, and the encrypted data is output.

以上のように、暗号処理装置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. However, the above description is illustrative in all aspects, and the present invention is not limited thereto. The various modifications described above can be applied in combination as long as they do not contradict each other. And it is understood that the countless modification which is not illustrated can be assumed without deviating from the scope of the present invention.

1 暗号処理装置
2 暗号処理部
5 使用態様制御部
9 マスタ鍵
100 メモリシステム
200 半導体メモリ
240 メモリアレイ
300 ホスト装置
DESCRIPTION OF SYMBOLS 1 Cryptographic processing apparatus 2 Cryptographic processing part 5 Usage mode control part 9 Master key 100 Memory system 200 Semiconductor memory 240 Memory array 300 Host apparatus

Claims (14)

暗号処理装置であって、
それぞれが暗号機能を有する複数の暗号処理部から成る暗号処理部群と、
前記暗号処理装置での前記複数の暗号処理部の使用態様を制御する制御部と
を備え、
前記制御部は、前記複数の暗号処理部の使用態様を変化させる、暗号処理装置。
A cryptographic processing device,
A cryptographic processing unit group consisting of a plurality of cryptographic processing units each having a cryptographic function;
A control unit that controls a usage mode of the plurality of cryptographic processing units in the cryptographic processing device,
The control unit is a cryptographic processing device that changes a usage mode of the plurality of cryptographic processing units.
請求項1に記載の暗号処理装置であって、
前記暗号処理部群は、使用する暗号アルゴリズムが互いに異なる少なくとも2つの暗号処理部を含む、暗号処理装置。
The cryptographic processing device according to claim 1,
The cryptographic processing unit group includes at least two cryptographic processing units that use different cryptographic algorithms.
請求項1及び請求項2のいずれか一つに記載の暗号処理装置であって、
前記暗号処理部群は、使用する暗号アルゴリズムが互いに同じである少なくとも2つの暗号処理部を含む、暗号処理装置。
A cryptographic processing device according to any one of claims 1 and 2,
The cryptographic processing unit group includes at least two cryptographic processing units that use the same cryptographic algorithm.
請求項1乃至請求項3のいずれか一つに記載の暗号処理装置であって、
前記暗号処理部群は、使用する鍵が互いに異なる少なくとも2つの暗号処理部を含む、暗号処理装置。
A cryptographic processing device according to any one of claims 1 to 3,
The cryptographic processing unit group includes a cryptographic processing device including at least two cryptographic processing units that use different keys.
請求項1乃至請求項4のいずれか一つに記載の暗号処理装置であって、
前記暗号処理部群は、使用する鍵が互いに同じである少なくとも2つの暗号処理部を含む、暗号処理装置。
The cryptographic processing device according to any one of claims 1 to 4,
The cryptographic processing unit group includes a cryptographic processing device including at least two cryptographic processing units that use the same key.
請求項1乃至請求項5のいずれか一つに記載の暗号処理装置であって、
前記制御部は、前記複数の暗号処理部の使用態様を複数種類の使用態様から決定し、
前記複数種類の使用態様は、前記複数の暗号処理部の少なくとも2つを組み合わせて使用する態様を含む、暗号処理装置。
A cryptographic processing device according to any one of claims 1 to 5,
The control unit determines a usage mode of the plurality of cryptographic processing units from a plurality of types of usage modes,
The plurality of types of usage modes include a mode in which at least two of the plurality of cryptographic processing units are used in combination.
請求項6に記載の暗号処理装置であって、
前記複数種類の使用態様は、前記複数の暗号処理部のうちの一つだけを使用する態様を含む、暗号処理装置。
The cryptographic processing device according to claim 6,
The plurality of types of usage modes include a mode in which only one of the plurality of cryptographic processing units is used.
請求項6及び請求項7のいずれか一つに記載の暗号処理装置であって、
前記暗号処理部群は、第1及び第2暗号処理部を含み、
前記複数種類の使用態様は、
前記第1暗号処理部から出力されるデータがセッション鍵として前記第2暗号処理部に入力される第1態様と、
前記第2暗号処理部から出力されるデータがセッション鍵として前記第1暗号処理部に入力される第2態様と
を含む、暗号処理装置。
The cryptographic processing apparatus according to any one of claims 6 and 7,
The cryptographic processing unit group includes first and second cryptographic processing units,
The multiple types of usage modes are:
A first mode in which data output from the first cryptographic processing unit is input to the second cryptographic processing unit as a session key;
And a second mode in which data output from the second cryptographic processor is input to the first cryptographic processor as a session key.
請求項6及び請求項7のいずれか一つに記載の暗号処理装置であって、
前記暗号処理部群は、第1及び第2暗号処理部を含み、
前記複数種類の使用態様は、前記第1暗号処理部から出力されるデータと、前記第2暗号処理部から出力されるデータとの両方が、データを暗号化するためのデータとして使用される態様を含む、暗号処理装置。
The cryptographic processing apparatus according to any one of claims 6 and 7,
The cryptographic processing unit group includes first and second cryptographic processing units,
In the plurality of types of usage modes, both the data output from the first cryptographic processing unit and the data output from the second cryptographic processing unit are used as data for encrypting data. Including a cryptographic processing device.
請求項1乃至請求項9のいずれか一つに記載の暗号処理装置と、
記憶部と
を備え、
前記記憶部から読み出されたデータが前記暗号処理装置で暗号化される、半導体メモリ。
The cryptographic processing device according to any one of claims 1 to 9,
A storage unit,
A semiconductor memory in which data read from the storage unit is encrypted by the cryptographic processing device.
請求項10に記載の半導体メモリと、
前記半導体メモリを制御するホスト装置と
を備える、メモリシステム。
A semiconductor memory according to claim 10;
A memory system comprising: a host device that controls the semiconductor memory.
請求項11に記載のメモリシステムであって、
前記暗号処理装置の前記制御部は、前記メモリシステムの電源がオンされると、前記複数の暗号処理部の使用態様を変化させる、メモリシステム。
12. The memory system according to claim 11, wherein
The control unit of the cryptographic processing device is configured to change a usage mode of the plurality of cryptographic processing units when a power source of the memory system is turned on.
請求項11及び請求項12のいずれか一つに記載のメモリシステムであって、
前記制御部は、定期的に、前記複数の暗号処理部の使用態様を変化させる、メモリシステム。
A memory system according to any one of claims 11 and 12,
The said control part is a memory system which changes the usage condition of these encryption processing parts regularly.
請求項11乃至請求項13のいずれか一つに記載のメモリシステムであって、
前記記憶部は、前記複数の暗号処理部の使用態様を制御するための制御データを予め記憶し、
前記制御部は、前記記憶部が記憶する前記制御データに基づいて前記複数の暗号処理部の使用態様を制御する、メモリシステム。
A memory system according to any one of claims 11 to 13,
The storage unit stores in advance control data for controlling a usage mode of the plurality of cryptographic processing units,
The said control part is a memory system which controls the usage condition of these encryption processing parts based on the said control data which the said memory | storage part memorize | stores.
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 true JP2014220729A (en) 2014-11-20
JP6521499B2 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)

Cited By (1)

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

Citations (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
JPH09270785A (en) * 1996-01-30 1997-10-14 Fuji Xerox Co Ltd Information processor
JP2003324423A (en) * 2002-05-01 2003-11-14 Nec Electronics Corp Data processing method, encryption method, encryption method, authentication method and apparatus therefor
JP2008010923A (en) * 2006-06-27 2008-01-17 Megachips Lsi Solutions Inc Semiconductor memory and data exchange system
JP2010263623A (en) * 2009-05-04 2010-11-18 Mediatek Singapore Pte Ltd Coding device and method with reconfigurable and scalable encryption/decryption modules

Patent Citations (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
JPH09270785A (en) * 1996-01-30 1997-10-14 Fuji Xerox Co Ltd Information processor
JP2003324423A (en) * 2002-05-01 2003-11-14 Nec Electronics Corp Data processing method, encryption method, encryption method, authentication method and apparatus therefor
JP2008010923A (en) * 2006-06-27 2008-01-17 Megachips Lsi Solutions Inc Semiconductor memory and data exchange system
JP2010263623A (en) * 2009-05-04 2010-11-18 Mediatek Singapore Pte Ltd Coding device and method with reconfigurable and scalable encryption/decryption modules

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
MENEZES, A. J., VAN OORSCHOT, P. C. AND VANSTONE, S. A., HANDBOOK OF APPLIED CRYPTOGRAPHY, JPN6017015021, 1997, pages p.234, 235 *
SCHNEIER, B., APPLIED CRYPTOGRAPHY, vol. SECOND EDITION, JPN6017015017, 1996, pages p.357-368, 419, 420 *

Cited By (1)

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

Also Published As

Publication number Publication date
JP6521499B2 (en) 2019-05-29

Similar Documents

Publication Publication Date Title
JP6345237B2 (en) Method and apparatus for encrypting plaintext data
JP4767985B2 (en) Executing AES encryption or decryption in multiple modes with a single instruction
JPWO2019130528A1 (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
US10148434B2 (en) Random number generating device, cipher processing device, storage device, and information processing system
JP6735926B2 (en) Encryption device, decryption device, encryption method, decryption method, encryption program, and decryption program
JPWO2013129056A1 (en) Information processing apparatus, information processing method, and program
US11328097B2 (en) Encryption circuit for performing virtual encryption operations
JPWO2006033347A1 (en) Confidential information processing method, confidential information processing apparatus, and content data reproducing apparatus
JP2023063430A5 (en)
JP2006311383A (en) Data managing method, data management system and data managing device
JP5105408B2 (en) Quantum program concealment device and quantum program concealment method
JP5601382B2 (en) Information processing apparatus, information processing method, and information processing program in embedded device
JP6521499B2 (en) Cryptographic processing apparatus, semiconductor memory and memory system
JP6348273B2 (en) Information processing system
JP2013182148A (en) Information processing apparatus, information processing method, and program
US20080109661A1 (en) System, method, and computer security device having virtual memory cells
JP6203387B2 (en) Encryption device, storage system, decryption device, encryption method, decryption method, encryption program, and decryption program
JP2005309148A (en) Data converter and the data conversion method
JP7063628B2 (en) Cryptographic devices, encryption methods and programs
JP6732698B2 (en) Authentication encryption system with additional data, encryption device, decryption device, authentication encryption method with additional data, and program
JP2018092174A (en) Random number generator, storage device, and information processing system
JP4708914B2 (en) Decryption method
JP2020145656A (en) Information processing device, information processing method, and program
JP6162556B2 (en) Storage device and information processing system
JP5524601B2 (en) Program, electronic device, server system, and information providing system

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