JP6124338B2 - Information processing system - Google Patents

Information processing system Download PDF

Info

Publication number
JP6124338B2
JP6124338B2 JP2013149843A JP2013149843A JP6124338B2 JP 6124338 B2 JP6124338 B2 JP 6124338B2 JP 2013149843 A JP2013149843 A JP 2013149843A JP 2013149843 A JP2013149843 A JP 2013149843A JP 6124338 B2 JP6124338 B2 JP 6124338B2
Authority
JP
Japan
Prior art keywords
authentication code
content data
parameter
storage device
communication device
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
JP2013149843A
Other languages
Japanese (ja)
Other versions
JP2015023414A (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 JP2013149843A priority Critical patent/JP6124338B2/en
Publication of JP2015023414A publication Critical patent/JP2015023414A/en
Application granted granted Critical
Publication of JP6124338B2 publication Critical patent/JP6124338B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、通信装置と記憶装置とを備える情報処理システムに関する。   The present invention relates to an information processing system including a communication device and a storage device.

通信装置とそれに接続される半導体記憶装置とを備える情報処理システムにおいては、半導体記憶装置に記憶されたコンテンツデータが不正に読み出されることを防止すべく、通信装置と半導体記憶装置との間でのデータ通信をセキュア通信によって行う技術が実用化されている。   In an information processing system including a communication device and a semiconductor storage device connected to the communication device, the content data stored in the semiconductor storage device is prevented from being read illegally between the communication device and the semiconductor storage device. A technology for performing data communication by secure communication has been put into practical use.

セキュア通信を実現するための技術としては、ブロック暗号又はストリーム暗号等を用いて通信データを暗号化することによって、通信データの秘匿性を担保する技術(秘匿技術)、通信データのハッシュ値等を算出することによって、通信データの完全性を担保する技術(改ざん防止技術)、及び、通信データのMAC値(MAC:Message Authentication Code)等を算出することによって、通信データの完全性及びデータ送信者の真正性を担保する技術(なりすまし防止技術)等が知られている。   As a technology for realizing secure communication, a technology (security technology) for ensuring the confidentiality of communication data by encrypting communication data using block cipher or stream cipher, a hash value of communication data, etc. By calculating the technology to ensure the integrity of communication data (tamper prevention technology) and the MAC value (MAC: Message Authentication Code) of communication data, etc., the integrity of communication data and the data sender A technique for ensuring the authenticity of the image (spoofing technique) is known.

通信装置と半導体記憶装置とを備える情報処理システムにおけるセキュア通信としては、一般的に、秘匿技術と改ざん防止技術とが用いられる場合、あるいは秘匿技術となりすまし防止技術とが用いられる場合が多く、後者のほうが前者よりもセキュリティレベルが高い。   As secure communication in an information processing system including a communication device and a semiconductor storage device, generally, a secret technology and an anti-falsification technology are often used, or a secret technology and an anti-spoofing technology are often used. The security level is higher than the former.

また、セキュリティレベルを向上するための別の手法として、コンテンツデータへのアクセスを許可する前に、通信装置と半導体記憶装置とが相互に正当性を認証し合う技術(相互認証技術)も実用化されている。   Also, as another technique to improve the security level, a technology (mutual authentication technology) in which the communication device and the semiconductor storage device authenticate each other before allowing access to the content data is put into practical use. Has been.

一般的なチャレンジアンドレスポンス型の相互認証では、通信装置は、相互認証の実行を指示するための認証コマンドを発行する。通信装置は、認証コマンドに基づいて第1の認証コードを生成し、当該第1の認証コードを暗号化して半導体記憶装置に送信する。半導体記憶装置は、受信した第1の認証コードを復号した後、当該第1の認証コードを再び暗号化して通信装置に送信する。通信装置は、受信した第1の認証コードを復号した後、半導体記憶装置に送信した第1の認証コードと、半導体記憶装置から受信した第1の認証コードとが一致するか否かによって、半導体記憶装置の正当性を認証する。また、通信装置が半導体記憶装置の正当性を認証した後、半導体記憶装置は、第2の認証コードを生成し、当該第2の認証コードを暗号化して通信装置に送信する。通信装置は、受信した第2の認証コードを復号した後、当該第2の認証コードを再び暗号化して半導体記憶装置に送信する。半導体記憶装置は、受信した第2の認証コードを復号した後、通信装置に送信した第2の認証コードと、通信装置から受信した第2の認証コードとが一致するか否かによって、通信装置の正当性を認証する。以上の処理によって通信装置及び半導体記憶装置の正当性が相互に認証された場合に、通信装置は、コンテンツデータにアクセスするためのアクセスコマンドを発行する。   In general challenge-and-response mutual authentication, the communication device issues an authentication command for instructing execution of mutual authentication. The communication device generates a first authentication code based on the authentication command, encrypts the first authentication code, and transmits the encrypted first authentication code to the semiconductor memory device. After decrypting the received first authentication code, the semiconductor storage device encrypts the first authentication code again and transmits it to the communication device. The communication device decrypts the received first authentication code and then determines whether the first authentication code transmitted to the semiconductor memory device matches the first authentication code received from the semiconductor memory device. Authenticate the validity of the storage device. Further, after the communication device authenticates the validity of the semiconductor storage device, the semiconductor storage device generates a second authentication code, encrypts the second authentication code, and transmits it to the communication device. After decrypting the received second authentication code, the communication device encrypts the second authentication code again and transmits it to the semiconductor memory device. The semiconductor memory device determines whether the second authentication code transmitted to the communication device after decrypting the received second authentication code matches the second authentication code received from the communication device. Authenticate the validity of When the validity of the communication device and the semiconductor storage device is mutually authenticated by the above processing, the communication device issues an access command for accessing the content data.

なお、下記特許文献1には、データベース全体のハッシュ値を計算し、前回計算したハッシュ値と今回計算したハッシュ値とを比較することにより、データベースの改ざんの有無を判定する情報処理装置が開示されている。また、下記特許文献1には、複数の相互認証手続を準備しておき、CPUが複数の相互認証手続の中から一の相互認証手続を選択することにより、その選択した相互認証手続をCPUが実行する情報処理装置も開示されている。   Patent Document 1 below discloses an information processing apparatus that calculates the hash value of the entire database and determines whether the database has been tampered with by comparing the previously calculated hash value with the currently calculated hash value. ing. Further, in Patent Document 1 below, a plurality of mutual authentication procedures are prepared, and the CPU selects one mutual authentication procedure from among the plurality of mutual authentication procedures. An information processing apparatus to be executed is also disclosed.

特開2000−349751号公報JP 2000-349751

上記の通り、なりすまし防止技術を用いたセキュア通信は、改ざん防止技術を用いたセキュア通信に比べてセキュリティレベルが高い。   As described above, secure communication using the anti-spoofing technology has a higher security level than secure communication using the anti-tampering technology.

しかし、なりすまし防止技術を用いたセキュア通信を実現するためには、改ざん防止技術を用いてそれを実現する場合と比較すると、実装すべき回路規模が大きくなってコストが増大するとともに、処理内容が複雑化してレイテンシが大きくなるという問題がある。   However, in order to realize secure communication using anti-spoofing technology, compared with the case where it is realized using anti-falsification technology, the circuit scale to be mounted increases and the cost increases, and the processing content There is a problem that the latency is increased due to the complexity.

本発明はかかる事情に鑑みて成されたものであり、通信装置とそれに接続される記憶装置とを備える情報処理システムにおいて、コストの増大やレイテンシの増大を伴うことなく、なりすまし防止技術を用いたセキュア通信と同程度のセキュリティレベルを実現することが可能な情報処理システムを得ることを目的とするものである。   The present invention has been made in view of such circumstances, and in an information processing system including a communication device and a storage device connected to the communication device, an anti-spoofing technique is used without increasing costs and increasing latency. An object of the present invention is to obtain an information processing system capable of realizing a security level comparable to that of secure communication.

本発明の第1の態様に係る情報処理システムは、通信装置と、前記通信装置に接続され、コンテンツデータが記憶された記憶部を有する記憶装置と、を備える情報処理システムであって、前記記憶装置は、前記通信装置から受信したアクセスコマンドに応答して前記通信装置に送信するコンテンツデータに基づいて、第1のセキュリティパラメータを生成し、前記第1のセキュリティパラメータと、前記通信装置に前記記憶装置を認証させるための第1の認証コードとを合成することによって、合成パラメータを生成し、前記コンテンツデータと前記合成パラメータとを含む合成パラメータ付きコンテンツデータを、前記通信装置に送信し、前記通信装置は、前記記憶装置から前記合成パラメータ付きコンテンツデータを受信し、前記合成パラメータ付きコンテンツデータに含まれる前記合成パラメータから、前記第1のセキュリティパラメータと前記第1の認証コードとを抽出し、前記合成パラメータから抽出した前記第1のセキュリティパラメータに基づいて、前記合成パラメータ付きコンテンツデータに含まれる前記コンテンツデータの完全性を評価し、前記合成パラメータから抽出した前記第1の認証コードに基づいて、前記記憶装置の正当性を認証することを特徴とするものである。   An information processing system according to a first aspect of the present invention is an information processing system comprising: a communication device; and a storage device that is connected to the communication device and has a storage unit that stores content data. An apparatus generates a first security parameter based on content data transmitted to the communication apparatus in response to an access command received from the communication apparatus, and stores the first security parameter and the storage in the communication apparatus. A synthesis parameter is generated by synthesizing the first authentication code for authenticating the device, and content data with a synthesis parameter including the content data and the synthesis parameter is transmitted to the communication device, and the communication The apparatus receives the content data with the synthesis parameter from the storage device, and receives the synthesis parameter. The first security parameter and the first authentication code are extracted from the composite parameter included in the content data with meter, and the composite parameter is added based on the first security parameter extracted from the composite parameter. The integrity of the content data included in the content data is evaluated, and the validity of the storage device is authenticated based on the first authentication code extracted from the synthesis parameter.

第1の態様に係る情報処理システムによれば、記憶装置は、通信装置から受信したアクセスコマンドに応答して通信装置に送信するコンテンツデータに基づいて、第1のセキュリティパラメータを生成し、第1のセキュリティパラメータと、通信装置に記憶装置を認証させるための第1の認証コードとを合成することによって、合成パラメータを生成し、コンテンツデータと合成パラメータとを含む合成パラメータ付きコンテンツデータを、通信装置に送信する。また、通信装置は、記憶装置から合成パラメータ付きコンテンツデータを受信し、合成パラメータ付きコンテンツデータに含まれる合成パラメータから、第1のセキュリティパラメータと第1の認証コードとを抽出する。そして、合成パラメータから抽出した第1のセキュリティパラメータに基づいて、合成パラメータ付きコンテンツデータに含まれるコンテンツデータの完全性を評価し、また、合成パラメータから抽出した第1の認証コードに基づいて、記憶装置の正当性を認証する。このように通信装置は、コンテンツデータの完全性の評価と、記憶装置の正当性の認証とを実行できる。従って、なりすまし防止技術を実現するための大規模な専用回路の実装が不要になるとともに、当該専用回路を用いた複雑な処理も不要となるため、コストの増大やレイテンシの増大を伴うことなく、なりすまし防止技術を用いたセキュア通信と同程度のセキュリティレベルを実現することが可能となる。   According to the information processing system according to the first aspect, the storage device generates the first security parameter based on the content data transmitted to the communication device in response to the access command received from the communication device, The security parameter and the first authentication code for causing the communication device to authenticate the storage device are combined to generate a composite parameter, and the content data with the composite parameter including the content data and the composite parameter is transmitted to the communication device. Send to. Further, the communication device receives the content data with the synthesis parameter from the storage device, and extracts the first security parameter and the first authentication code from the synthesis parameter included in the content data with the synthesis parameter. Then, based on the first security parameter extracted from the synthesis parameter, the integrity of the content data included in the content data with the synthesis parameter is evaluated, and stored based on the first authentication code extracted from the synthesis parameter. Authenticate the validity of the device. In this way, the communication device can execute the integrity evaluation of the content data and the authentication of the validity of the storage device. Therefore, it is not necessary to mount a large-scale dedicated circuit for realizing the anti-spoofing technology, and complicated processing using the dedicated circuit is also unnecessary, so that there is no increase in cost and latency, It is possible to achieve a security level comparable to secure communication using anti-spoofing technology.

本発明の第2の態様に係る情報処理システムは、第1の態様に係る情報処理システムにおいて特に、前記通信装置は、前記記憶装置が生成する前記第1の認証コードと同一の第2の認証コードを生成し、前記合成パラメータと前記第2の認証コードとに基づいて、前記合成パラメータから前記第1のセキュリティパラメータを抽出し、前記合成パラメータ付きコンテンツデータに含まれる前記コンテンツデータに基づいて、第2のセキュリティパラメータを生成し、抽出した前記第1のセキュリティパラメータと、生成した前記第2のセキュリティパラメータとを比較することによって、前記コンテンツデータの完全性を評価することを特徴とするものである。   The information processing system according to the second aspect of the present invention is the information processing system according to the first aspect, in particular, the communication device is configured such that the second authentication is the same as the first authentication code generated by the storage device. Generating a code, extracting the first security parameter from the synthesis parameter based on the synthesis parameter and the second authentication code, and based on the content data included in the content data with the synthesis parameter, A second security parameter is generated, and the extracted first security parameter is compared with the generated second security parameter to evaluate the integrity of the content data. is there.

第2の態様に係る情報処理システムによれば、通信装置は、記憶装置が生成する第1の認証コードと同一の第2の認証コードを生成し、合成パラメータと第2の認証コードとに基づいて、合成パラメータから第1のセキュリティパラメータを抽出する。また、通信装置は、合成パラメータ付きコンテンツデータに含まれるコンテンツデータに基づいて、第2のセキュリティパラメータを生成する。そして、抽出した第1のセキュリティパラメータと、生成した第2のセキュリティパラメータとを比較することによって、コンテンツデータの完全性を評価する。記憶装置から通信装置に送信されたコンテンツデータが改ざんされている場合には、記憶装置が生成した第1のセキュリティパラメータ(つまり合成パラメータから抽出した第1のセキュリティパラメータ)と、通信装置が生成した第2のセキュリティパラメータとは一致しない。従って、抽出した第1のセキュリティパラメータと、生成した第2のセキュリティパラメータとを比較することによって、コンテンツデータが改ざんされているか否かを簡易かつ確実に評価することが可能となる。   According to the information processing system according to the second aspect, the communication device generates a second authentication code that is the same as the first authentication code generated by the storage device, and based on the combination parameter and the second authentication code. Thus, the first security parameter is extracted from the composite parameter. In addition, the communication device generates a second security parameter based on the content data included in the content data with the synthesis parameter. Then, the integrity of the content data is evaluated by comparing the extracted first security parameter with the generated second security parameter. When the content data transmitted from the storage device to the communication device has been tampered with, the first security parameter generated by the storage device (that is, the first security parameter extracted from the composite parameter) and the communication device generated It does not match the second security parameter. Therefore, by comparing the extracted first security parameter with the generated second security parameter, it is possible to easily and reliably evaluate whether the content data has been tampered with.

本発明の第3の態様に係る情報処理システムは、第2の態様に係る情報処理システムにおいて特に、前記記憶装置は、前記第1のセキュリティパラメータと前記第1の認証コードとの排他的論理和演算によって、前記合成パラメータを生成し、前記通信装置は、前記合成パラメータと前記第2の認証コードとの排他的論理和演算によって、前記合成パラメータから前記第1のセキュリティパラメータを抽出することを特徴とするものである。   In the information processing system according to the third aspect of the present invention, in particular in the information processing system according to the second aspect, the storage device includes an exclusive OR of the first security parameter and the first authentication code. The synthetic parameter is generated by an operation, and the communication device extracts the first security parameter from the synthetic parameter by an exclusive OR operation of the synthetic parameter and the second authentication code. It is what.

第3の態様に係る情報処理システムによれば、記憶装置は、第1のセキュリティパラメータと第1の認証コードとの排他的論理和演算によって、合成パラメータを生成する。そして、通信装置は、合成パラメータと第2の認証コードとの排他的論理和演算によって、合成パラメータから第1のセキュリティパラメータを抽出する。このように、通信装置が第1の認証コードと同一の第2の認証コードを生成し、合成パラメータと第2の認証コードとの排他的論理和演算を行うことによって、合成パラメータから第1のセキュリティパラメータを簡易かつ正確に抽出することが可能となる。   According to the information processing system according to the third aspect, the storage device generates the composite parameter by performing an exclusive OR operation between the first security parameter and the first authentication code. Then, the communication device extracts the first security parameter from the composite parameter by performing an exclusive OR operation between the composite parameter and the second authentication code. In this way, the communication device generates a second authentication code that is the same as the first authentication code, and performs an exclusive OR operation between the synthesis parameter and the second authentication code, thereby obtaining the first parameter from the synthesis parameter. Security parameters can be extracted easily and accurately.

本発明の第4の態様に係る情報処理システムは、第1〜第3のいずれか一つの態様に係る情報処理システムにおいて特に、前記通信装置は、前記記憶装置が生成する前記第1の認証コードと同一の第2の認証コードを生成し、前記合成パラメータ付きコンテンツデータに含まれる前記コンテンツデータに基づいて、第2のセキュリティパラメータを生成し、前記合成パラメータと前記第2のセキュリティパラメータとに基づいて、前記合成パラメータから前記第1の認証コードを抽出し、抽出した前記第1の認証コードと、生成した前記第2の認証コードとを比較することによって、前記記憶装置の正当性を認証することを特徴とするものである。   The information processing system according to a fourth aspect of the present invention is the information processing system according to any one of the first to third aspects, in particular, the communication device is configured to generate the first authentication code generated by the storage device. And generating a second security parameter based on the content data included in the content data with the synthesis parameter, and based on the synthesis parameter and the second security parameter. Then, the first authentication code is extracted from the synthesis parameter, and the validity of the storage device is authenticated by comparing the extracted first authentication code with the generated second authentication code. It is characterized by this.

第4の態様に係る情報処理システムによれば、通信装置は、記憶装置が生成する第1の認証コードと同一の第2の認証コードを生成する。また、通信装置は、合成パラメータ付きコンテンツデータに含まれるコンテンツデータに基づいて、第2のセキュリティパラメータを生成し、合成パラメータと第2のセキュリティパラメータとに基づいて、合成パラメータから第1の認証コードを抽出する。そして、抽出した第1の認証コードと、生成した第2の認証コードとを比較することによって、記憶装置の正当性を認証する。記憶装置が不正である場合には、記憶装置が生成した第1の認証コード(つまり合成パラメータから抽出した第1の認証コード)と、通信装置が生成した第2の認証コードとは一致しない。従って、抽出した第1の認証コードと、生成した第2の認証コードとを比較することによって、記憶装置が正当であるか不正であるかを簡易かつ確実に認証することが可能となる。   According to the information processing system according to the fourth aspect, the communication device generates a second authentication code that is the same as the first authentication code generated by the storage device. Further, the communication device generates a second security parameter based on the content data included in the content data with the composite parameter, and based on the composite parameter and the second security parameter, the first authentication code is generated from the composite parameter. To extract. Then, the legitimacy of the storage device is authenticated by comparing the extracted first authentication code with the generated second authentication code. If the storage device is illegal, the first authentication code generated by the storage device (that is, the first authentication code extracted from the synthesis parameter) does not match the second authentication code generated by the communication device. Therefore, by comparing the extracted first authentication code and the generated second authentication code, it is possible to easily and reliably authenticate whether the storage device is valid or illegal.

本発明の第5の態様に係る情報処理システムは、第4の態様に係る情報処理システムにおいて特に、前記記憶装置は、前記第1のセキュリティパラメータと前記第1の認証コードとの排他的論理和演算によって、前記合成パラメータを生成し、前記通信装置は、前記合成パラメータと前記第2のセキュリティパラメータとの排他的論理和演算によって、前記合成パラメータから前記第1の認証コードを抽出することを特徴とするものである。   An information processing system according to a fifth aspect of the present invention is the information processing system according to the fourth aspect, in particular, wherein the storage device is an exclusive OR of the first security parameter and the first authentication code. The synthetic parameter is generated by an operation, and the communication device extracts the first authentication code from the synthetic parameter by an exclusive OR operation of the synthetic parameter and the second security parameter. It is what.

第5の態様に係る情報処理システムによれば、記憶装置は、第1のセキュリティパラメータと第1の認証コードとの排他的論理和演算によって、合成パラメータを生成する。そして、通信装置は、合成パラメータと第2のセキュリティパラメータとの排他的論理和演算によって、合成パラメータから第1の認証コードを抽出する。このように、通信装置が第1のセキュリティパラメータと同一の第2のセキュリティパラメータを生成し、合成パラメータと第2のセキュリティパラメータとの排他的論理和演算を行うことによって、合成パラメータから第1の認証コードを簡易かつ正確に抽出することが可能となる。   According to the information processing system according to the fifth aspect, the storage device generates the composite parameter by performing an exclusive OR operation between the first security parameter and the first authentication code. Then, the communication device extracts the first authentication code from the composite parameter by performing an exclusive OR operation between the composite parameter and the second security parameter. In this way, the communication device generates a second security parameter that is the same as the first security parameter, and performs an exclusive OR operation on the synthesized parameter and the second security parameter, thereby obtaining the first security parameter from the synthesized parameter. The authentication code can be extracted easily and accurately.

本発明の第6の態様に係る情報処理システムは、第1〜第5のいずれか一つの態様に係る情報処理システムにおいて特に、前記通信装置は、ソフトウェア処理によって前記情報処理システムを制御する主制御部と、前記主制御部とは別に実装され、ハードウェア処理によって前記記憶装置を制御する第1の制御回路と、を有し、前記記憶装置は、前記記憶部を制御する第2の制御回路をさらに有し、前記アクセスコマンドの発行は、前記主制御部が実行し、前記合成パラメータ付きコンテンツデータの受信と、前記第1のセキュリティパラメータ及び前記第1の認証コードの抽出と、前記コンテンツデータの完全性の評価と、前記記憶装置の正当性の認証とは、前記第1の制御回路が実行し、前記アクセスコマンドの受信と、前記第1のセキュリティパラメータの生成と、前記合成パラメータの生成と、前記合成パラメータ付きコンテンツデータの生成及び送信とは、前記第2の制御回路が実行することを特徴とするものである。   An information processing system according to a sixth aspect of the present invention is the information processing system according to any one of the first to fifth aspects, and in particular, the communication device controls the information processing system by software processing. And a first control circuit that is mounted separately from the main control unit and controls the storage device by hardware processing, wherein the storage device controls the storage unit The access command is issued by the main control unit, receives the content data with the synthesis parameter, extracts the first security parameter and the first authentication code, and the content data. The integrity control of the storage device and the authentication of the validity of the storage device are executed by the first control circuit, and the access command is received and the first security is received. And generation of utility parameters, and generating the synthesis parameters, the generation and transmission of content data with said composition parameters and is characterized in that said second control circuit is performed.

第6の態様に係る情報処理システムによれば、合成パラメータ付きコンテンツデータの受信と、第1のセキュリティパラメータ及び第1の認証コードの抽出と、コンテンツデータの完全性の評価と、記憶装置の正当性の認証とは、第1の制御回路が実行する。また、アクセスコマンドの受信と、第1のセキュリティパラメータの生成と、合成パラメータの生成と、合成パラメータ付きコンテンツデータの生成及び送信とは、第2の制御回路が実行する。このように、通信装置によるコンテンツデータの完全性の評価及び記憶装置の正当性の認証の処理において、主制御部が実行する処理はアクセスコマンドの発行だけであり、合成パラメータの生成、合成パラメータからの第1のセキュリティパラメータ及び第1の認証コードの抽出、コンテンツデータの完全性の評価、及び記憶装置の正当性の認証等の本質的な処理は、第1の制御回路と第2の制御回路との間で実行される。従って、プログラム解析等によって主制御部の制御を改変するような攻撃を受けた場合であっても、第1の制御回路及び第2の制御回路によるハードウェア処理の内容が解析及び改変されない限り、攻撃者によってコンテンツデータの完全性の評価及び記憶装置の正当性の認証の処理が回避されることはない。その結果、主制御部の制御を改変するような攻撃を受けた場合であっても、コンテンツデータが改ざんされることや、記憶装置からコンテンツデータが不正に読み出されることを防止することが可能となる。   According to the information processing system of the sixth aspect, the reception of the content data with the synthesis parameter, the extraction of the first security parameter and the first authentication code, the evaluation of the integrity of the content data, and the validity of the storage device The first control circuit executes the sex authentication. The second control circuit executes reception of an access command, generation of a first security parameter, generation of a synthesis parameter, and generation and transmission of content data with a synthesis parameter. Thus, in the process of content data integrity evaluation and storage device authenticity authentication by the communication device, the main control unit executes only the issuance of an access command. The essential processes such as the extraction of the first security parameter and the first authentication code, the evaluation of the integrity of the content data, and the authentication of the validity of the storage device are performed by the first control circuit and the second control circuit. Executed between. Therefore, even when an attack that modifies the control of the main control unit by program analysis or the like is performed, unless the contents of the hardware processing by the first control circuit and the second control circuit are analyzed and modified, An attacker cannot avoid the process of evaluating the integrity of content data and authenticating the storage device. As a result, it is possible to prevent content data from being falsified and content data from being illegally read out from the storage device even when subjected to an attack that alters the control of the main control unit. Become.

本発明の第7の態様に係る情報処理システムは、第6の態様に係る情報処理システムにおいて特に、前記第1の制御回路は、前記合成パラメータ付きコンテンツデータに含まれる前記コンテンツデータを前記主制御部に入力し、前記記憶装置を不正と判定した場合及び/又は前記コンテンツデータの完全性を否定した場合には、その旨の通知を前記主制御部に入力することを特徴とするものである。   The information processing system according to a seventh aspect of the present invention is the information processing system according to the sixth aspect, in particular, wherein the first control circuit controls the content data included in the content data with the synthesis parameter to the main control. If the storage device is determined to be illegal and / or the integrity of the content data is denied, a notification to that effect is input to the main control unit. .

第7の態様に係る情報処理システムによれば、第1の制御回路は、コンテンツデータが改ざんされているか否かに拘わらず、また記憶装置が正当であるか不正であるかに拘わらず、合成パラメータ付きコンテンツデータに含まれるコンテンツデータを主制御部に入力する。従って、コンテンツデータの完全性を評価する処理及び記憶装置の正当性を認証する処理の完了を待つことなく、受信したコンテンツデータを早期に主制御部に入力することが可能となる。また、第1の制御回路は、記憶装置を不正と判定した場合及び/又はコンテンツデータの完全性を否定した場合には、その旨の通知を主制御部に入力する。従って、主制御部は、第1の制御回路から入力されたコンテンツデータを破棄又は無効化する等の処理を実行することが可能となる。   According to the information processing system according to the seventh aspect, the first control circuit performs the synthesis regardless of whether the content data has been tampered with and whether the storage device is valid or illegal. Content data included in parameter-added content data is input to the main control unit. Therefore, it is possible to input the received content data to the main control unit without waiting for completion of the processing for evaluating the integrity of the content data and the processing for authenticating the validity of the storage device. Further, when the first control circuit determines that the storage device is illegal and / or denies the integrity of the content data, the first control circuit inputs a notification to that effect to the main control unit. Therefore, the main control unit can execute processing such as discarding or invalidating the content data input from the first control circuit.

本発明の第8の態様に係る情報処理システムは、第6の態様に係る情報処理システムにおいて特に、前記第1の制御回路は、前記記憶装置を不正と判定した場合及び/又は前記コンテンツデータの完全性を否定した場合には、前記合成パラメータ付きコンテンツデータに含まれる前記コンテンツデータを前記主制御部に入力しないことを特徴とするものである。   An information processing system according to an eighth aspect of the present invention is the information processing system according to the sixth aspect, particularly when the first control circuit determines that the storage device is illegal and / or the content data When completeness is denied, the content data included in the content data with the synthesis parameter is not input to the main control unit.

第8の態様に係る情報処理システムによれば、第1の制御回路は、記憶装置を不正と判定した場合及び/又はコンテンツデータの完全性を否定した場合には、合成パラメータ付きコンテンツデータに含まれるコンテンツデータを主制御部に入力しない。従って、改ざんされたコンテンツデータが主制御部に入力されることや、不正な記憶装置から読み出されたコンテンツデータが主制御部に入力されること等を防止することが可能となる。   According to the information processing system of the eighth aspect, the first control circuit is included in the content data with the synthesis parameter when it is determined that the storage device is illegal and / or when the integrity of the content data is denied. Content data is not input to the main control unit. Therefore, it is possible to prevent falsified content data from being input to the main control unit and content data read from an unauthorized storage device to be input to the main control unit.

本発明の第9の態様に係る情報処理システムは、第7又は第8の態様に係る情報処理システムにおいて特に、前記第1の制御回路はさらに、前記記憶装置を不正と判定した場合及び/又は前記コンテンツデータの完全性を否定した場合には、前記第1の制御回路と前記第2の制御回路との間での以後の通信を遮断することを特徴とするものである。   The information processing system according to the ninth aspect of the present invention is the information processing system according to the seventh or eighth aspect, in particular, when the first control circuit further determines that the storage device is illegal and / or If the integrity of the content data is denied, subsequent communication between the first control circuit and the second control circuit is blocked.

第9の態様に係る情報処理システムによれば、第1の制御回路は、記憶装置を不正と判定した場合及び/又はコンテンツデータの完全性を否定した場合には、第1の制御回路と第2の制御回路との間での以後の通信を遮断する。これにより、通信装置から記憶装置にアクセスコマンドが送信されることや、記憶装置から通信装置にコンテンツデータが送信されることが禁止される。その結果、記憶装置からコンテンツデータが不正に読み出されることや、記憶装置から読み出されたコンテンツデータが改ざんされて通信装置に送信されること等を防止することが可能となる。   According to the information processing system according to the ninth aspect, when the first control circuit determines that the storage device is illegal and / or denies the integrity of the content data, the first control circuit and the first control circuit The subsequent communication with the control circuit 2 is cut off. As a result, it is prohibited to transmit an access command from the communication device to the storage device or to transmit content data from the storage device to the communication device. As a result, it is possible to prevent content data from being illegally read from the storage device, content data read from the storage device being tampered with, and transmitted to the communication device.

本発明の第10の態様に係る情報処理システムは、第6〜第9のいずれか一つの態様に係る情報処理システムにおいて特に、前記第1の制御回路は、第1の数列を生成する第1の数列生成部と、前記第1の数列に基づいて前記第2の認証コードを生成する第1の認証制御部と、を含み、前記第2の制御回路は、前記第1の数列と同一の第2の数列を生成する第2の数列生成部と、前記第2の数列に基づいて前記第1の認証コードを生成する第2の認証制御部と、を含み、前記第1の認証制御部は、前記合成パラメータから抽出した前記第1の認証コードと、前記第1の数列に基づいて生成した前記第2の認証コードとが一致するか否かによって、前記記憶装置の正当性を認証することを特徴とするものである。   An information processing system according to a tenth aspect of the present invention is the information processing system according to any one of the sixth to ninth aspects, in which the first control circuit generates a first number sequence. And a second authentication circuit that generates the second authentication code based on the first number sequence, wherein the second control circuit is the same as the first number sequence. A second number sequence generating unit that generates a second number sequence; and a second authentication control unit that generates the first authentication code based on the second number sequence, the first authentication control unit Authenticates the validity of the storage device based on whether or not the first authentication code extracted from the synthesis parameter matches the second authentication code generated based on the first number sequence It is characterized by this.

第10の態様に係る情報処理システムによれば、第1の認証制御部は、合成パラメータから抽出した第1の認証コードと、第1の数列に基づいて生成した第2の認証コードとが一致するか否かによって、記憶装置の正当性を認証する。記憶装置が不正である場合には、合成パラメータから抽出した第1の認証コードと、第1の数列に基づいて生成した第2の認証コードとは一致しない。従って、合成パラメータから抽出した第1の認証コードと、第1の数列に基づいて生成した第2の認証コードとが一致するか否かによって、記憶装置が正当であるか不正であるかを簡易かつ確実に認証することが可能となる。   According to the information processing system according to the tenth aspect, the first authentication control unit matches the first authentication code extracted from the synthesis parameter with the second authentication code generated based on the first number sequence. The validity of the storage device is authenticated depending on whether or not to do so. When the storage device is illegal, the first authentication code extracted from the synthesis parameter does not match the second authentication code generated based on the first number sequence. Therefore, whether the storage device is valid or not is simplified depending on whether or not the first authentication code extracted from the synthesis parameter matches the second authentication code generated based on the first number sequence. And it becomes possible to authenticate reliably.

本発明の第11の態様に係る情報処理システムは、第10の態様に係る情報処理システムにおいて特に、前記第2の認証制御部は、前記第2の数列を圧縮することにより、前記第1の認証コードを生成することを特徴とするものである。   In the information processing system according to the eleventh aspect of the present invention, in particular, in the information processing system according to the tenth aspect, the second authentication control unit compresses the second number sequence to compress the first number sequence. An authentication code is generated.

第11の態様に係る情報処理システムによれば、第2の認証制御部は、第2の数列を圧縮することにより、第1の認証コードを生成する。従って、第2の数列のビット長が許容認証コード長を超える場合であっても、第2の数列を圧縮することによって、許容認証コード長に収まる第2の認証コードを生成することが可能となる。   According to the information processing system according to the eleventh aspect, the second authentication control unit generates the first authentication code by compressing the second number sequence. Therefore, even if the bit length of the second number sequence exceeds the allowable authentication code length, it is possible to generate a second authentication code that fits within the allowable authentication code length by compressing the second number sequence. Become.

本発明の第12の態様に係る情報処理システムは、第10又は第11の態様に係る情報処理システムにおいて特に、前記第1の数列生成部及び前記第2の数列生成部は、認証の処理毎に異なる前記第1の数列及び前記第2の数列をそれぞれ生成することを特徴とするものである。   In the information processing system according to the twelfth aspect of the present invention, in particular in the information processing system according to the tenth or eleventh aspect, the first number sequence generation unit and the second number sequence generation unit are provided for each authentication process. The first number sequence and the second number sequence different from each other are generated respectively.

第12の態様に係る情報処理システムによれば、第1の数列生成部及び第2の数列生成部は、認証の処理毎に異なる第1の数列及び第2の数列をそれぞれ生成する。その結果、第1の認証コード及び第2の認証コードは認証の処理毎に変更されるため、セキュリティ強度を向上することが可能となる。   According to the information processing system according to the twelfth aspect, the first number sequence generation unit and the second number sequence generation unit generate a different first number sequence and second number sequence for each authentication process. As a result, since the first authentication code and the second authentication code are changed for each authentication process, the security strength can be improved.

本発明の第13の態様に係る情報処理システムは、第1〜第12のいずれか一つの態様に係る情報処理システムにおいて特に、前記通信装置は、前記記憶装置に前記通信装置を認証させるための第3の認証コードを前記アクセスコマンドに付加することによって、認証コード付きアクセスコマンドを生成し、前記認証コード付きアクセスコマンドを前記記憶装置に送信し、前記記憶装置は、前記通信装置から前記認証コード付きアクセスコマンドを受信し、前記認証コード付きアクセスコマンドに含まれる前記第3の認証コードに基づいて、前記通信装置の正当性を認証し、前記通信装置を正当と判定した場合には、前記認証コード付きアクセスコマンドに含まれる前記アクセスコマンドに基づいて、前記記憶部にアクセスすることを特徴とするものである。   An information processing system according to a thirteenth aspect of the present invention is the information processing system according to any one of the first to twelfth aspects, particularly for the communication device to cause the storage device to authenticate the communication device. An access command with an authentication code is generated by adding a third authentication code to the access command, and the access command with an authentication code is transmitted to the storage device. The storage device receives the authentication code from the communication device. When the access command is received, the validity of the communication device is authenticated based on the third authentication code included in the access command with the authentication code, and when the communication device is determined to be valid, the authentication The storage unit is accessed based on the access command included in the access command with code. Is shall.

第13の態様に係る情報処理システムによれば、通信装置は、記憶装置に通信装置を認証させるための第3の認証コードをアクセスコマンドに付加することによって、認証コード付きアクセスコマンドを生成し、当該認証コード付きアクセスコマンドを記憶装置に送信する。また、記憶装置は、通信装置から認証コード付きアクセスコマンドを受信し、認証コード付きアクセスコマンドに含まれる第3の認証コードに基づいて、通信装置の正当性を認証する。そして、通信装置を正当と判定した場合には、認証コード付きアクセスコマンドに含まれるアクセスコマンドに基づいて、記憶部にアクセスする。このように、記憶装置が第3の認証コードに基づいて通信装置の正当性を認証することにより、記憶装置と通信装置との相互認証を実現できるため、セキュリティ強度をさらに向上することが可能となる。   According to the information processing system according to the thirteenth aspect, the communication device generates an access command with an authentication code by adding a third authentication code for causing the storage device to authenticate the communication device to the access command, The access command with the authentication code is transmitted to the storage device. Further, the storage device receives the access command with the authentication code from the communication device, and authenticates the validity of the communication device based on the third authentication code included in the access command with the authentication code. When it is determined that the communication device is valid, the storage unit is accessed based on the access command included in the access command with the authentication code. As described above, since the storage device authenticates the validity of the communication device based on the third authentication code, mutual authentication between the storage device and the communication device can be realized, so that the security strength can be further improved. Become.

しかも、アクセスコマンドに第3の認証コードを付加した認証コード付きアクセスコマンドを用いることによって、記憶装置による通信装置の認証と、記憶部へのアクセスとを、共通の処理として実行することができる。従って、通信装置が記憶装置にアクセスコマンドを送信する前に、記憶装置が通信装置を認証する処理を別個に実行する必要がなく、認証の処理に伴うオーバーヘッドを低減できるため、コンテンツデータにアクセスするまでの所要時間を短縮することが可能となる。つまり、通信装置から記憶装置への認証コード付きアクセスコマンドの送信と、それに応答する記憶装置から通信装置への合成パラメータ付きコンテンツデータの送信との、一往復の通信によって、通信装置と記憶装置との相互認証を行うことができる。その結果、通信装置及び記憶装置それぞれからの往復通信(合計で二往復の通信)が必要となる一般的なチャレンジアンドレスポンス型の相互認証と比較すると、処理の高速化及び効率化を図ることが可能となる。   Moreover, by using an access command with an authentication code in which a third authentication code is added to the access command, authentication of the communication device by the storage device and access to the storage unit can be executed as common processing. Therefore, before the communication device transmits an access command to the storage device, it is not necessary to separately execute a process for authenticating the communication device by the storage device, and the overhead associated with the authentication process can be reduced, so that the content data is accessed. It is possible to shorten the time required until. That is, the communication device and the storage device can be communicated by one round-trip communication between the transmission of the access command with the authentication code from the communication device to the storage device and the transmission of the content data with the synthesis parameter from the storage device to the communication device in response. Mutual authentication can be performed. As a result, compared to general challenge and response mutual authentication that requires two-way communication (two-way communication in total) from each of the communication device and the storage device, the processing speed and efficiency can be improved. It becomes possible.

本発明の第14の態様に係る情報処理システムは、第13の態様に係る情報処理システムにおいて特に、前記記憶装置は、前記通信装置を不正と判定した場合には、前記アクセスコマンドに基づく前記記憶部へのアクセスを行わないことを特徴とするものである。   The information processing system according to a fourteenth aspect of the present invention is the information processing system according to the thirteenth aspect, in particular, the storage device based on the access command when the storage device determines that the communication device is illegal. It is characterized in that access to the part is not performed.

第14の態様に係る情報処理システムによれば、記憶装置は、通信装置を不正と判定した場合には、アクセスコマンドに基づく記憶部へのアクセスを行わない。従って、不正な通信装置から記憶装置にリードコマンドが送信された場合等であっても、記憶装置は記憶部からのコンテンツデータの読み出しを実行しない。その結果、記憶装置からコンテンツデータが不正に読み出されること等を防止することが可能となる。   According to the information processing system in the fourteenth aspect, the storage device does not access the storage unit based on the access command when it determines that the communication device is illegal. Accordingly, even when a read command is transmitted from an unauthorized communication device to the storage device, the storage device does not read content data from the storage unit. As a result, it is possible to prevent content data from being illegally read from the storage device.

本発明の第15の態様に係る情報処理システムは、第14の態様に係る情報処理システムにおいて特に、前記記憶装置はさらに、前記通信装置を不正と判定した場合には、以後に前記通信装置から送信されるアクセスコマンドを受信しないことを特徴とするものである。   An information processing system according to a fifteenth aspect of the present invention is the information processing system according to the fourteenth aspect, particularly when the storage device further determines that the communication device is illegal from the communication device. The access command to be transmitted is not received.

第15の態様に係る情報処理システムによれば、記憶装置は、通信装置を不正と判定した場合には、以後に通信装置から送信されるアクセスコマンドを受信しない。従って、不正な通信装置から記憶装置にリードコマンドが送信された場合等であっても、記憶装置は当該リードコマンドを受信しない。その結果、記憶装置からコンテンツデータが不正に読み出されること等を防止することが可能となる。   According to the information processing system of the fifteenth aspect, when the storage device determines that the communication device is illegal, the storage device does not receive an access command transmitted from the communication device thereafter. Accordingly, even when a read command is transmitted from an unauthorized communication device to the storage device, the storage device does not receive the read command. As a result, it is possible to prevent content data from being illegally read from the storage device.

本発明の第16の態様に係る情報処理システムは、第13〜第15のいずれか一つの態様に係る情報処理システムにおいて特に、前記通信装置から前記記憶装置に送信される前記認証コード付きアクセスコマンドに含まれる前記第3の認証コードと、当該アクセスコマンドに応答して前記記憶装置から前記通信装置に送信される前記合成パラメータを生成する際に使用される前記第1の認証コードとは、互いに異なることを特徴とするものである。   The information processing system according to the sixteenth aspect of the present invention is the information processing system according to any one of the thirteenth to fifteenth aspects, particularly the access command with an authentication code transmitted from the communication device to the storage device. And the first authentication code used when generating the composite parameter transmitted from the storage device to the communication device in response to the access command, It is characterized by being different.

第16の態様に係る情報処理システムによれば、通信装置から記憶装置に送信される認証コード付きアクセスコマンドに含まれる第3の認証コードと、当該アクセスコマンドに応答して記憶装置から通信装置に送信される合成パラメータを生成する際に使用される第1の認証コードとは、互いに異なる。つまり、通信装置が記憶装置に送信する第3の認証コードと、通信装置が記憶装置から受信する第1の認証コードとは、互いに異なる。このように、送信時と受信時とで認証コードを異ならせることにより、セキュリティ強度をさらに向上することが可能となる。   According to the information processing system of the sixteenth aspect, the third authentication code included in the access command with the authentication code transmitted from the communication device to the storage device and the storage device to the communication device in response to the access command. This is different from the first authentication code used when generating the composite parameter to be transmitted. That is, the third authentication code that the communication device transmits to the storage device and the first authentication code that the communication device receives from the storage device are different from each other. In this way, it is possible to further improve the security strength by making the authentication code different between transmission and reception.

本発明によれば、通信装置とそれに接続される記憶装置とを備える情報処理システムにおいて、コストの増大やレイテンシの増大を伴うことなく、なりすまし防止技術を用いたセキュア通信と同程度のセキュリティレベルを実現することが可能となる。   According to the present invention, in an information processing system including a communication device and a storage device connected to the communication device, a security level comparable to that of secure communication using an anti-spoofing technique is provided without increasing costs and increasing latency. It can be realized.

本発明の実施の形態に係る情報処理システムの全体構成を概略的に示す図である。1 is a diagram schematically showing an overall configuration of an information processing system according to an embodiment of the present invention. マイクロプロセッサの構成を示す図である。It is a figure which shows the structure of a microprocessor. メモリコントローラの構成を示す図である。It is a figure which shows the structure of a memory controller. メモリコントローラの構成を示す図である。It is a figure which shows the structure of a memory controller. リードコマンドを示す図である。It is a figure which shows a read command. 合成パラメータ付きコンテンツデータの第1の例を示す図である。It is a figure which shows the 1st example of content data with a synthesis parameter. 合成パラメータ付きコンテンツデータの第2の例を示す図である。It is a figure which shows the 2nd example of content data with a synthesis parameter. メモリコントローラの構成を示す図である。It is a figure which shows the structure of a memory controller. メモリコントローラの構成を示す図である。It is a figure which shows the structure of a memory controller. 認証コード付きリードコマンドを示す図である。It is a figure which shows the read command with an authentication code.

以下、本発明の実施の形態について、図面を用いて詳細に説明する。なお、異なる図面において同一の符号を付した要素は、同一又は相応する要素を示すものとする。   Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings. In addition, the element which attached | subjected the same code | symbol in different drawing shall show the same or corresponding element.

<実施の形態1>
図1は、本発明の実施の形態1に係る情報処理システム1の全体構成を概略的に示す図である。情報処理システム1は、通信装置2と半導体記憶装置3とを備えて構成されている。通信装置2は、例えばパーソナルコンピュータである。半導体記憶装置3は、例えば、通信装置2に着脱自在に接続可能なメモリカードである。あるいは、半導体記憶装置3に代えて、光ディスクや磁気ディスク等の任意の記憶装置を用いることもできる。
<Embodiment 1>
FIG. 1 is a diagram schematically showing an overall configuration of an information processing system 1 according to Embodiment 1 of the present invention. The information processing system 1 includes a communication device 2 and a semiconductor storage device 3. The communication device 2 is a personal computer, for example. The semiconductor memory device 3 is, for example, a memory card that can be detachably connected to the communication device 2. Alternatively, an arbitrary storage device such as an optical disk or a magnetic disk can be used in place of the semiconductor storage device 3.

通信装置2は、ソフトウェア処理によって情報処理システム1を制御するメインシステムとしてのマイクロプロセッサ11(主制御部)と、マイクロプロセッサ11とは別に実装されたメモリコントローラ12(第1の制御回路)とを備えて構成されている。メモリコントローラ12は、ハードウェア処理によって半導体記憶装置3を制御する。   The communication device 2 includes a microprocessor 11 (main control unit) as a main system that controls the information processing system 1 by software processing, and a memory controller 12 (first control circuit) mounted separately from the microprocessor 11. It is prepared for. The memory controller 12 controls the semiconductor memory device 3 by hardware processing.

半導体記憶装置3は、画像、音声、テキスト、コード、管理情報等の任意のコンテンツデータが記憶されたメモリアレイ22(記憶部)と、メモリアレイ22を制御するメモリコントローラ21(第2の制御回路)とを備えて構成されている。メモリアレイ22は、例えばNAND型フラッシュメモリを用いて構成されている。但し、この例に限定されるものではなく、メモリアレイ22はNOR型フラッシュメモリ等を用いて構成されていても良い。   The semiconductor storage device 3 includes a memory array 22 (storage unit) that stores arbitrary content data such as images, sounds, texts, codes, management information, and the like, and a memory controller 21 (second control circuit) that controls the memory array 22 ). The memory array 22 is configured using, for example, a NAND flash memory. However, the present invention is not limited to this example, and the memory array 22 may be configured using a NOR flash memory or the like.

図2は、マイクロプロセッサ11の構成を示す図である。マイクロプロセッサ11は、バス47を介して相互に接続された、CPU41、演算器42、RAM43、ROM44、ブリッジ45、及びレジスタ46を備えて構成されている。   FIG. 2 is a diagram showing the configuration of the microprocessor 11. The microprocessor 11 includes a CPU 41, a computing unit 42, a RAM 43, a ROM 44, a bridge 45, and a register 46 that are connected to each other via a bus 47.

図3は、実施の形態1に係るメモリコントローラ12の構成を示す図である。図3の接続関係で示すように、メモリコントローラ12は、鍵生成部51(第1の数列生成部)、暗号化・復号部52、認証制御部53(第1の認証制御部)、マスク回路54,55、及びハッシュ回路56を備えて構成されている。鍵生成部51は、機密性の高い固定値の共有鍵Pを用いて、所定の乱数生成アルゴリズムによってランダムな数列(以下の例ではセッション鍵K)を生成する。鍵生成部51は、メモリコントローラ12がマイクロプロセッサ11からアクセスコマンドを受領する度に、毎回異なるセッション鍵K(ナンス)を生成する。   FIG. 3 is a diagram showing a configuration of the memory controller 12 according to the first embodiment. As shown in the connection relationship of FIG. 3, the memory controller 12 includes a key generation unit 51 (first number sequence generation unit), an encryption / decryption unit 52, an authentication control unit 53 (first authentication control unit), and a mask circuit. 54 and 55 and a hash circuit 56 are provided. The key generation unit 51 generates a random number sequence (session key K in the following example) by using a predetermined random number generation algorithm using a fixed secret key P with high confidentiality. The key generation unit 51 generates a different session key K (nonce) every time the memory controller 12 receives an access command from the microprocessor 11.

図4は、実施の形態1に係るメモリコントローラ21の構成を示す図である。図4の接続関係で示すように、メモリコントローラ21は、鍵生成部61(第2の数列生成部)、暗号化・復号部62、認証制御部63(第2の認証制御部)、及びハッシュ回路64を備えて構成されている。鍵生成部61は、鍵生成部51が保持している共有鍵Pと同一の共有鍵Pを用いて、鍵生成部51と同一の乱数生成アルゴリズムによって、鍵生成部51が生成するセッション鍵Kと同一のセッション鍵Kを生成する。鍵生成部61は、メモリコントローラ21がメモリコントローラ12から暗号化済みアクセスコマンドを受信する度に、毎回異なるセッション鍵Kを生成する。   FIG. 4 is a diagram showing a configuration of the memory controller 21 according to the first embodiment. As shown in the connection relationship of FIG. 4, the memory controller 21 includes a key generation unit 61 (second number sequence generation unit), an encryption / decryption unit 62, an authentication control unit 63 (second authentication control unit), and a hash. A circuit 64 is provided. The key generation unit 61 uses the same shared key P as the shared key P held by the key generation unit 51, and uses the same random number generation algorithm as the key generation unit 51 to generate the session key K generated by the key generation unit 51. The same session key K is generated. The key generation unit 61 generates a different session key K each time the memory controller 21 receives an encrypted access command from the memory controller 12.

以下、図3,4を参照して、本実施の形態に係る情報処理システム1の動作について説明する。前提として、暗号化・復号部52,62は、鍵生成部51,61が前回生成したセッション鍵K(N−1)によって初期化されているものとする。また、以下の例では、通信装置2がメモリアレイ22にアクセスするためのアクセスコマンドとして、リードコマンドを使用する場合について説明する。   Hereinafter, the operation of the information processing system 1 according to the present embodiment will be described with reference to FIGS. As a premise, it is assumed that the encryption / decryption units 52 and 62 are initialized with the session key K (N−1) generated last time by the key generation units 51 and 61. In the following example, a case where a read command is used as an access command for the communication device 2 to access the memory array 22 will be described.

まずマイクロプロセッサ11は、メモリアレイ22から所望のコンテンツデータを読み出すための所定バイト長のリードコマンドC0を発行する。図5は、リードコマンドC0を示す図である。リードコマンドC0は、それがリードコマンドであることを識別するための特定のコマンドIDと、メモリアレイ22内におけるコンテンツデータの格納場所を示すアドレスと、無意味なデータで埋められた未定義領域とを含む。   First, the microprocessor 11 issues a read command C0 having a predetermined byte length for reading desired content data from the memory array 22. FIG. 5 is a diagram showing the read command C0. The read command C0 has a specific command ID for identifying that it is a read command, an address indicating the storage location of content data in the memory array 22, and an undefined area filled with meaningless data. including.

図3を参照して、メモリコントローラ12は、マイクロプロセッサ11からリードコマンドC0を受領し、受領したリードコマンドC0を暗号化・復号部52に入力する。   Referring to FIG. 3, the memory controller 12 receives a read command C0 from the microprocessor 11 and inputs the received read command C0 to the encryption / decryption unit 52.

次に暗号化・復号部52は、現在設定されているセッション鍵K(N−1)を用いてリードコマンドC0を暗号化することにより、暗号化済みリードコマンドX0を生成する。そして、生成した暗号化済みリードコマンドX0をメモリコントローラ21に送信する。   Next, the encryption / decryption unit 52 generates the encrypted read command X0 by encrypting the read command C0 using the currently set session key K (N-1). Then, the generated encrypted read command X0 is transmitted to the memory controller 21.

次に鍵生成部51は、認証制御部53からの要求に従ってセッション鍵K(N)を生成する。セッション鍵K(N)は、暗号化・復号部52及び認証制御部53に入力される。   Next, the key generation unit 51 generates a session key K (N) according to a request from the authentication control unit 53. The session key K (N) is input to the encryption / decryption unit 52 and the authentication control unit 53.

次に認証制御部53は、鍵生成部51が今回生成したセッション鍵K(N)によって、暗号化・復号部52を初期化する。   Next, the authentication control unit 53 initializes the encryption / decryption unit 52 with the session key K (N) generated by the key generation unit 51 this time.

図4を参照して、メモリコントローラ21は、メモリコントローラ12から受信した暗号化済みリードコマンドX0を暗号化・復号部62に入力する。   Referring to FIG. 4, memory controller 21 inputs encrypted read command X 0 received from memory controller 12 to encryption / decryption unit 62.

次に暗号化・復号部62は、現在設定されているセッション鍵K(N−1)を用いて暗号化済みリードコマンドX0を復号することにより、リードコマンドC0を再生する。そして、再生したリードコマンドC0を認証制御部63に入力する。   Next, the encryption / decryption unit 62 reproduces the read command C0 by decrypting the encrypted read command X0 using the currently set session key K (N-1). Then, the reproduced read command C0 is input to the authentication control unit 63.

次に認証制御部63は、リードコマンドC0から読み出しアドレスを抽出する。   Next, the authentication control unit 63 extracts a read address from the read command C0.

次に鍵生成部61は、認証制御部63からの要求に従ってセッション鍵K(N)を生成する。セッション鍵K(N)は、暗号化・復号部62及び認証制御部63に入力される。   Next, the key generation unit 61 generates a session key K (N) according to a request from the authentication control unit 63. The session key K (N) is input to the encryption / decryption unit 62 and the authentication control unit 63.

次に認証制御部63は、鍵生成部61が今回生成したセッション鍵K(N)によって、暗号化・復号部62を初期化する。   Next, the authentication control unit 63 initializes the encryption / decryption unit 62 with the session key K (N) generated by the key generation unit 61 this time.

次に鍵生成部61は、認証制御部63からの要求に従って、次回のセッション鍵K(N+1)を生成する。セッション鍵K(N+1)は、認証制御部63に入力される。   Next, the key generation unit 61 generates the next session key K (N + 1) according to the request from the authentication control unit 63. Session key K (N + 1) is input to authentication control unit 63.

次に認証制御部63は、リードコマンドC0から抽出した読み出しアドレスに基づいて、メモリアレイ22へのアクセスを行う。つまり、読み出しアドレスを示す制御信号Uによって、メモリアレイ22からコンテンツデータT0を読み出す。コンテンツデータT0は、認証制御部63及びハッシュ回路64に入力される。   Next, the authentication control unit 63 accesses the memory array 22 based on the read address extracted from the read command C0. That is, the content data T0 is read from the memory array 22 by the control signal U indicating the read address. The content data T0 is input to the authentication control unit 63 and the hash circuit 64.

次にハッシュ回路64は、予め定められた任意のハッシュ関数を用いてコンテンツデータT0のハッシュ値を算出する。そして、算出したハッシュ値HBを認証制御部63に入力する。   Next, the hash circuit 64 calculates a hash value of the content data T0 using a predetermined arbitrary hash function. Then, the calculated hash value HB is input to the authentication control unit 63.

次に認証制御部63は、鍵生成部61から入力されたセッション鍵K(N+1)に基づいて、通信装置2が半導体記憶装置3の正当性を認証するための認証コードSB(N+1)を生成する。例えば、セッション鍵K(N+1)のビット長が所定の許容認証コード長以下である場合には、セッション鍵K(N+1)をそのまま認証コードSB(N+1)として使用する。一方、セッション鍵K(N+1)のビット長が許容認証コード長を超える場合には、セッション鍵K(N+1)を圧縮することによって、許容認証コード長に収まる認証コードSB(N+1)を生成する。一例として、許容認証コード長が例えば32ビットに設定されており、セッション鍵K(N+1)のビット長が128ビットである場合には、セッション鍵K(N+1)を、第127−96ビット、第95−64ビット、第63−32ビット、及び第31−0ビットの4つのビット群に分割し、先頭のビット群から順に次のビット群との間で排他的論理和演算を行う([127:96] ExOR [95:64] ExOR [63:32] ExOR [31:0])。これにより、128ビット長のセッション鍵K(N+1)から32ビット長の認証コードSB(N+1)を生成する。   Next, the authentication control unit 63 generates an authentication code SB (N + 1) for the communication device 2 to authenticate the validity of the semiconductor storage device 3 based on the session key K (N + 1) input from the key generation unit 61. To do. For example, when the bit length of the session key K (N + 1) is less than or equal to a predetermined allowable authentication code length, the session key K (N + 1) is used as it is as the authentication code SB (N + 1). On the other hand, if the bit length of the session key K (N + 1) exceeds the allowable authentication code length, the authentication code SB (N + 1) that fits within the allowable authentication code length is generated by compressing the session key K (N + 1). As an example, when the allowable authentication code length is set to 32 bits and the bit length of the session key K (N + 1) is 128 bits, the session key K (N + 1) is set to the 127th to 96th bits, The bit group is divided into four bit groups of 95 to 64 bits, 63 to 32 bits, and 31 to 0 bits, and exclusive OR operation is performed with the next bit group in order from the first bit group ([127 : 96] ExOR [95:64] ExOR [63:32] ExOR [31: 0]). As a result, a 32-bit authentication code SB (N + 1) is generated from the 128-bit session key K (N + 1).

次に認証制御部63は、ハッシュ値HBと認証コードSB(N+1)との排他的論和演算を行うことによって、ハッシュ値HBと認証コードSB(N+1)とが合成された合成パラメータVB(N+1)を生成する。   Next, the authentication control unit 63 performs an exclusive OR operation between the hash value HB and the authentication code SB (N + 1), thereby combining the hash value HB and the authentication code SB (N + 1) into a composite parameter VB (N + 1). ) Is generated.

次に認証制御部63は、コンテンツデータT0に合成パラメータVB(N+1)を付加することによって、合成パラメータ付きコンテンツデータT1(N+1)を生成する。図6は、合成パラメータ付きコンテンツデータT1(N+1)の第1の例を示す図である。認証制御部63は、コンテンツデータT0の末尾に合成パラメータVB(N+1)を付加することにより、合成パラメータ付きコンテンツデータT1(N+1)を生成する。図7は、合成パラメータ付きコンテンツデータT1(N+1)の第2の例を示す図である。認証制御部63は、コンテンツデータT0の先頭に合成パラメータVB(N+1)を付加することにより、合成パラメータ付きコンテンツデータT1(N+1)を生成する。認証制御部63は、生成した合成パラメータ付きコンテンツデータT1(N+1)を暗号化・復号部62に入力する。   Next, the authentication control unit 63 generates content data T1 (N + 1) with composite parameters by adding the composite parameter VB (N + 1) to the content data T0. FIG. 6 is a diagram illustrating a first example of the content data T1 (N + 1) with a synthesis parameter. The authentication control unit 63 generates the content data T1 (N + 1) with the synthesis parameter by adding the synthesis parameter VB (N + 1) to the end of the content data T0. FIG. 7 is a diagram illustrating a second example of the content data T1 (N + 1) with the synthesis parameter. The authentication control unit 63 generates the content data T1 (N + 1) with the synthesis parameter by adding the synthesis parameter VB (N + 1) to the head of the content data T0. The authentication control unit 63 inputs the generated content data T1 (N + 1) with synthesis parameter to the encryption / decryption unit 62.

次に暗号化・復号部62は、現在設定されているセッション鍵K(N)を用いて合成パラメータ付きコンテンツデータT1(N+1)を暗号化することにより、暗号化済み合成パラメータ付きコンテンツデータY1(N+1)を生成する。そして、生成した暗号化済み合成パラメータ付きコンテンツデータY1(N+1)をメモリコントローラ12に送信する。   Next, the encryption / decryption unit 62 encrypts the content data T1 (N + 1) with the synthesis parameter by using the session key K (N) that is currently set, so that the encrypted content data with the synthesis parameter Y1 ( N + 1). Then, the generated encrypted content data Y1 (N + 1) with the synthesis parameter is transmitted to the memory controller 12.

図3を参照して、メモリコントローラ12は、メモリコントローラ21から受信した暗号化済み合成パラメータ付きコンテンツデータY1(N+1)を暗号化・復号部52に入力する。   Referring to FIG. 3, memory controller 12 inputs encrypted composite parameter-added content data Y <b> 1 (N + 1) received from memory controller 21 to encryption / decryption unit 52.

次に暗号化・復号部52は、現在設定されているセッション鍵K(N)を用いて暗号化済み合成パラメータ付きコンテンツデータY1(N+1)を復号することにより、合成パラメータ付きコンテンツデータT1(N+1)を再生する。そして、再生した合成パラメータ付きコンテンツデータT1(N+1)を認証制御部53に入力する。また、暗号化・復号部52は、合成パラメータ付きコンテンツデータT1(N+1)に含まれるコンテンツデータT0をハッシュ回路56に入力する。   Next, the encryption / decryption unit 52 decrypts the encrypted composite parameter-added content data Y1 (N + 1) using the currently set session key K (N), thereby generating composite parameter-added content data T1 (N + 1). ). Then, the reproduced content data T1 (N + 1) with synthesis parameter is input to the authentication control unit 53. Further, the encryption / decryption unit 52 inputs the content data T0 included in the content data T1 (N + 1) with the synthesis parameter to the hash circuit 56.

次にハッシュ回路56は、ハッシュ回路64と同一のハッシュ関数を用いてコンテンツデータT0のハッシュ値を算出する。そして、算出したハッシュ値HAを認証制御部53に入力する。   Next, the hash circuit 56 calculates the hash value of the content data T0 using the same hash function as the hash circuit 64. Then, the calculated hash value HA is input to the authentication control unit 53.

次に鍵生成部51は、認証制御部53からの要求に従ってセッション鍵K(N+1)を生成する。セッション鍵K(N+1)は、認証制御部53に入力される。次に認証制御部53は、上述した認証制御部63と同様の処理によって、セッション鍵K(N+1)に基づいて認証コードSA(N+1)を生成する。   Next, the key generation unit 51 generates a session key K (N + 1) according to the request from the authentication control unit 53. Session key K (N + 1) is input to authentication control unit 53. Next, the authentication control unit 53 generates an authentication code SA (N + 1) based on the session key K (N + 1) by the same processing as the authentication control unit 63 described above.

次に認証制御部53は、合成パラメータ付きコンテンツデータT1(N+1)に含まれる合成パラメータVB(N+1)から、ハッシュ値HBと認証コードSB(N+1)とを抽出する。具体的に認証制御部53は、合成パラメータ付きコンテンツデータT1(N+1)に含まれる合成パラメータVB(N+1)と、自身が生成した認証コードSA(N+1)との排他的論理和演算を行うことによって、合成パラメータVB(N+1)からハッシュ値HBを抽出する。また、合成パラメータ付きコンテンツデータT1(N+1)に含まれる合成パラメータVB(N+1)と、ハッシュ回路56から入力されたハッシュ値HAとの排他的論理和演算を行うことによって、合成パラメータVB(N+1)から認証コードSB(N+1)を抽出する。   Next, the authentication control unit 53 extracts the hash value HB and the authentication code SB (N + 1) from the synthesis parameter VB (N + 1) included in the content data T1 (N + 1) with the synthesis parameter. Specifically, the authentication control unit 53 performs an exclusive OR operation on the synthesis parameter VB (N + 1) included in the content data T1 (N + 1) with the synthesis parameter and the authentication code SA (N + 1) generated by itself. The hash value HB is extracted from the synthesis parameter VB (N + 1). Further, by performing an exclusive OR operation on the synthesis parameter VB (N + 1) included in the content data T1 (N + 1) with the synthesis parameter and the hash value HA input from the hash circuit 56, the synthesis parameter VB (N + 1) The authentication code SB (N + 1) is extracted from.

次に認証制御部53は、合成パラメータVB(N+1)から抽出したハッシュ値HBと、ハッシュ回路56から入力されたハッシュ値HAとを比較することによって、コンテンツデータT0の完全性(データが一致すること。つまりデータが改ざんされていないこと)を評価する。具体的には、両ハッシュ値が一致している場合にはコンテンツデータT0の完全性を肯定し、両ハッシュ値が一致していない場合にはコンテンツデータT0の完全性を否定する。   Next, the authentication control unit 53 compares the hash value HB extracted from the synthesis parameter VB (N + 1) with the hash value HA input from the hash circuit 56, thereby completing the integrity (data matches) of the content data T0. That is, the data has not been tampered with). Specifically, when both hash values match, the integrity of the content data T0 is affirmed, and when both hash values do not match, the integrity of the content data T0 is denied.

次に認証制御部53は、合成パラメータVB(N+1)から抽出した認証コードSB(N+1)と、自身が生成した認証コードSA(N+1)とを比較することによって、半導体記憶装置3の正当性(データ送信者が正規であること。つまりなりすましでないこと)を認証する。具体的には、両認証コードが一致している場合には半導体記憶装置3を正当と認証し、両認証コードが一致していない場合には半導体記憶装置3を不正と認証する。   Next, the authentication control unit 53 compares the authentication code SB (N + 1) extracted from the synthesis parameter VB (N + 1) with the authentication code SA (N + 1) generated by itself, thereby verifying the validity of the semiconductor memory device 3 ( Authenticate that the data sender is legitimate, that is, not impersonating. Specifically, when the two authentication codes match, the semiconductor storage device 3 is authenticated as valid, and when the two authentication codes do not match, the semiconductor storage device 3 is authenticated as illegal.

図6に示した第1の例によると、合成パラメータVBはコンテンツデータT0の末尾に付加されている。従って、認証制御部53は、合成パラメータVBよりも先にコンテンツデータT0を処理する。この場合、認証制御部53は、コンテンツデータT0の完全性を評価する処理、及び半導体記憶装置3の正当性を認証する処理の完了を待つことなく、合成パラメータ付きコンテンツデータT1(N+1)から抽出したコンテンツデータT0をマイクロプロセッサ11に入力する。その後、コンテンツデータT0の完全性を否定した場合及び/又は半導体記憶装置3を不正と判定した場合には、認証制御部53は、コンテンツデータT0が改ざんされている旨及び/又は半導体記憶装置3が不正である旨の通知をマイクロプロセッサ11に入力する。一方、コンテンツデータT0の完全性を肯定し、かつ半導体記憶装置3を正当と判定した場合には、認証制御部53は、当該通知をマイクロプロセッサ11に入力しない。   According to the first example shown in FIG. 6, the synthesis parameter VB is added to the end of the content data T0. Accordingly, the authentication control unit 53 processes the content data T0 before the synthesis parameter VB. In this case, the authentication control unit 53 extracts from the content data T1 (N + 1) with the synthesis parameter without waiting for completion of the processing for evaluating the integrity of the content data T0 and the processing for authenticating the validity of the semiconductor storage device 3. The content data T0 is input to the microprocessor 11. Thereafter, when the integrity of the content data T0 is denied and / or when the semiconductor storage device 3 is determined to be illegal, the authentication control unit 53 indicates that the content data T0 has been tampered with and / or the semiconductor storage device 3 Is input to the microprocessor 11. On the other hand, when the integrity of the content data T0 is affirmed and the semiconductor storage device 3 is determined to be valid, the authentication control unit 53 does not input the notification to the microprocessor 11.

図7に示した第2の例によると、合成パラメータVBはコンテンツデータT0の先頭に付加されている。従って、認証制御部53は、コンテンツデータT0よりも先に合成パラメータVBを処理する。この場合、認証制御部53は、コンテンツデータT0の完全性を評価する処理、及び半導体記憶装置3の正当性を認証する処理を先に行い、コンテンツデータT0の完全性を否定した場合及び/又は半導体記憶装置3を不正と判定した場合には、合成パラメータ付きコンテンツデータT1(N+1)から抽出したコンテンツデータT0をマイクロプロセッサ11に入力しない。一方、コンテンツデータT0の完全性を肯定し、かつ半導体記憶装置3を正当と判定した場合には、認証制御部53は、合成パラメータ付きコンテンツデータT1(N+1)から抽出したコンテンツデータT0をマイクロプロセッサ11に入力する。   According to the second example shown in FIG. 7, the synthesis parameter VB is added to the head of the content data T0. Accordingly, the authentication control unit 53 processes the composite parameter VB before the content data T0. In this case, the authentication control unit 53 first performs the process of evaluating the integrity of the content data T0 and the process of authenticating the validity of the semiconductor storage device 3, and denies the integrity of the content data T0 and / or If it is determined that the semiconductor memory device 3 is illegal, the content data T0 extracted from the content data T1 (N + 1) with the synthesis parameter is not input to the microprocessor 11. On the other hand, when the integrity of the content data T0 is affirmed and the semiconductor storage device 3 is determined to be valid, the authentication control unit 53 uses the content data T0 extracted from the content data T1 (N + 1) with the synthesis parameter as a microprocessor. 11 is input.

また、認証制御部53は、コンテンツデータT0の完全性を否定した場合及び/又は半導体記憶装置3を不正と判定した場合には、データをオール「0」又はオール「1」に置換する等のマスク処理を有効にする制御信号Dを、マスク回路54,55に入力する。これにより、通信装置2と半導体記憶装置3との間での以後の通信が遮断される。   The authentication control unit 53 replaces the data with all “0” or all “1” when the integrity of the content data T0 is denied and / or when the semiconductor storage device 3 is determined to be illegal. A control signal D for enabling mask processing is input to the mask circuits 54 and 55. Thereby, subsequent communication between the communication device 2 and the semiconductor memory device 3 is blocked.

認証制御部53,63は、マイクロプロセッサ11からリードコマンドC0が発行される度に、上記と同様の処理を行う。次回の処理では、認証制御部53は、合成パラメータVB(N+2)から抽出したハッシュ値HBと、ハッシュ回路56から入力されたハッシュ値HAとを比較することによって、コンテンツデータT0の完全性を評価する。また、合成パラメータVB(N+2)から抽出した認証コードSB(N+2)と、自身が生成した認証コードSA(N+2)とを比較することによって、半導体記憶装置3の正当性を認証する。   The authentication control units 53 and 63 perform the same processing as described above every time the read command C0 is issued from the microprocessor 11. In the next process, the authentication control unit 53 evaluates the integrity of the content data T0 by comparing the hash value HB extracted from the synthesis parameter VB (N + 2) with the hash value HA input from the hash circuit 56. To do. Further, the authenticity of the semiconductor memory device 3 is authenticated by comparing the authentication code SB (N + 2) extracted from the synthesis parameter VB (N + 2) with the authentication code SA (N + 2) generated by itself.

なお、以上の説明では、通信装置2がコンテンツデータT0の完全性を評価する処理及び半導体記憶装置3の正当性を認証する処理を、メモリコントローラ12のハードウェア処理によって実行したが、マイクロプロセッサ11のソフトウェア処理によって実行しても良い。   In the above description, the processing in which the communication device 2 evaluates the integrity of the content data T0 and the processing to authenticate the validity of the semiconductor storage device 3 are executed by the hardware processing of the memory controller 12, but the microprocessor 11 It may be executed by software processing.

また、以上の説明では、コンテンツデータT0の完全性を評価するためのセキュリティパラメータとしてハッシュ値を用いたが、CRC(Cyclic Redundancy Check)値、MAC(Message Authentication Code)値、又は誤り訂正で用いられるエラーシンドローム等の、他のセキュリティパラメータを用いても良い。   In the above description, the hash value is used as a security parameter for evaluating the integrity of the content data T0. However, the hash value is used for a CRC (Cyclic Redundancy Check) value, a MAC (Message Authentication Code) value, or error correction. Other security parameters such as error syndrome may be used.

<実施の形態2>
図8は、実施の形態2に係るメモリコントローラ12の構成を示す図である。また、図9は、実施の形態2に係るメモリコントローラ21の構成を示す図である。
<Embodiment 2>
FIG. 8 is a diagram showing a configuration of the memory controller 12 according to the second embodiment. FIG. 9 is a diagram illustrating a configuration of the memory controller 21 according to the second embodiment.

以下、図8,9を参照して、本実施の形態に係る情報処理システム1の動作について説明する。前提として、暗号化・復号部52,62は、鍵生成部51,61が前回生成したセッション鍵K(N−1)によって初期化されているものとする。また、以下の例では、通信装置2がメモリアレイ22にアクセスするためのアクセスコマンドとして、リードコマンドを使用する場合について説明する。   Hereinafter, the operation of the information processing system 1 according to the present embodiment will be described with reference to FIGS. As a premise, it is assumed that the encryption / decryption units 52 and 62 are initialized with the session key K (N−1) generated last time by the key generation units 51 and 61. In the following example, a case where a read command is used as an access command for the communication device 2 to access the memory array 22 will be described.

まずマイクロプロセッサ11は、メモリアレイ22から所望のコンテンツデータを読み出すための所定バイト長のリードコマンドC0を発行する。   First, the microprocessor 11 issues a read command C0 having a predetermined byte length for reading desired content data from the memory array 22.

図8を参照して、メモリコントローラ12は、マイクロプロセッサ11からリードコマンドC0を受領し、受領したリードコマンドC0を認証制御部53に入力する。   Referring to FIG. 8, the memory controller 12 receives a read command C0 from the microprocessor 11 and inputs the received read command C0 to the authentication control unit 53.

次に鍵生成部51は、認証制御部53からの要求に従ってセッション鍵K(N)を生成する。セッション鍵K(N)は、暗号化・復号部52及び認証制御部53に入力される。   Next, the key generation unit 51 generates a session key K (N) according to a request from the authentication control unit 53. The session key K (N) is input to the encryption / decryption unit 52 and the authentication control unit 53.

次に認証制御部53は、セッション鍵K(N)に基づいて、半導体記憶装置3が通信装置2の正当性を認証するための認証コードS(N)を生成する。例えば、セッション鍵K(N)のビット長が所定の許容認証コード長以下である場合には、セッション鍵K(N)をそのまま認証コードS(N)として使用する。一方、セッション鍵K(N)のビット長が許容認証コード長を超える場合には、セッション鍵K(N)を圧縮することによって、許容認証コード長に収まる認証コードS(N)を生成する。一例として、許容認証コード長がリードコマンドC0の未定義領域のビット長(例えば32ビット)に設定されており、セッション鍵K(N)のビット長が128ビットである場合には、セッション鍵K(N)を、第127−96ビット、第95−64ビット、第63−32ビット、及び第31−0ビットの4つのビット群に分割し、先頭のビット群から順に次のビット群との間で排他的論理和演算を行う([127:96] ExOR [95:64] ExOR [63:32] ExOR [31:0])。これにより、128ビット長のセッション鍵K(N)から32ビット長の認証コードS(N)を生成する。   Next, the authentication control unit 53 generates an authentication code S (N) for the semiconductor storage device 3 to authenticate the validity of the communication device 2 based on the session key K (N). For example, when the bit length of the session key K (N) is less than or equal to a predetermined allowable authentication code length, the session key K (N) is used as it is as the authentication code S (N). On the other hand, when the bit length of the session key K (N) exceeds the allowable authentication code length, an authentication code S (N) that fits within the allowable authentication code length is generated by compressing the session key K (N). As an example, when the allowable authentication code length is set to the bit length (for example, 32 bits) of the undefined area of the read command C0, and the bit length of the session key K (N) is 128 bits, the session key K (N) is divided into four bit groups of 127-96 bits, 95-64 bits, 63-32 bits, and 31-0 bits, and the next bit group in order from the first bit group. Exclusive OR operation between them ([127: 96] ExOR [95:64] ExOR [63:32] ExOR [31: 0]). As a result, a 32-bit authentication code S (N) is generated from the 128-bit session key K (N).

次に認証制御部53は、リードコマンドC0に認証コードS(N)を付加することによって、認証コード付きリードコマンドC1(N)を生成する。図10は、認証コード付きリードコマンドC1(N)を示す図である。認証制御部53は、リードコマンドC0の未定義領域に含まれる無意味なデータを、認証コードS(N)に置き換えることにより、コマンドIDとアドレスと認証コードS(N)とを含む認証コード付きリードコマンドC1(N)を生成する。認証制御部53は、生成した認証コード付きリードコマンドC1(N)を暗号化・復号部52に入力する。   Next, the authentication control unit 53 generates the read command C1 (N) with an authentication code by adding the authentication code S (N) to the read command C0. FIG. 10 is a diagram showing a read command C1 (N) with an authentication code. The authentication control unit 53 replaces meaningless data included in the undefined area of the read command C0 with the authentication code S (N), thereby adding an authentication code including a command ID, an address, and an authentication code S (N). A read command C1 (N) is generated. The authentication control unit 53 inputs the generated read command with authentication code C1 (N) to the encryption / decryption unit 52.

次に暗号化・復号部52は、現在設定されているセッション鍵K(N−1)を用いて認証コード付きリードコマンドC1(N)を暗号化することにより、暗号化済み認証コード付きリードコマンドX1(N)を生成する。そして、生成した暗号化済み認証コード付きリードコマンドX1(N)を、メモリコントローラ21に送信する。   Next, the encryption / decryption unit 52 encrypts the read command with authentication code C1 (N) using the currently set session key K (N-1), thereby reading the read command with encrypted authentication code. X1 (N) is generated. Then, the generated read command X1 (N) with an encrypted authentication code is transmitted to the memory controller 21.

次に認証制御部53は、鍵生成部51が今回生成したセッション鍵K(N)によって、暗号化・復号部52を初期化する。   Next, the authentication control unit 53 initializes the encryption / decryption unit 52 with the session key K (N) generated by the key generation unit 51 this time.

図9を参照して、メモリコントローラ21は、メモリコントローラ12から受信した暗号化済み認証コード付きリードコマンドX1(N)を暗号化・復号部62に入力する。   Referring to FIG. 9, memory controller 21 inputs read command X1 (N) with an encrypted authentication code received from memory controller 12 to encryption / decryption unit 62.

次に暗号化・復号部62は、現在設定されているセッション鍵K(N−1)を用いて暗号化済み認証コード付きリードコマンドX1(N)を復号することにより、認証コード付きリードコマンドC1(N)を再生する。そして、再生した認証コード付きリードコマンドC1(N)を認証制御部63に入力する。   Next, the encryption / decryption unit 62 decrypts the encrypted read command with authentication code X1 (N) using the currently set session key K (N-1), thereby reading the read command with authentication code C1. Play (N). Then, the reproduced read command with authentication code C1 (N) is input to the authentication control unit 63.

次に認証制御部63は、認証コード付きリードコマンドC1(N)から、リードコマンドC0と認証コードS(N)とを抽出する。   Next, the authentication control unit 63 extracts the read command C0 and the authentication code S (N) from the read command with authentication code C1 (N).

次に鍵生成部61は、認証制御部63からの要求に従ってセッション鍵K(N)を生成する。セッション鍵K(N)は、暗号化・復号部62及び認証制御部63に入力される。次に認証制御部63は、上述した認証制御部53と同様の処理によって、セッション鍵K(N)に基づいて認証コードS(N)を生成する。   Next, the key generation unit 61 generates a session key K (N) according to a request from the authentication control unit 63. The session key K (N) is input to the encryption / decryption unit 62 and the authentication control unit 63. Next, the authentication control unit 63 generates an authentication code S (N) based on the session key K (N) by the same process as the authentication control unit 53 described above.

次に認証制御部63は、認証コード付きリードコマンドC1(N)から抽出した認証コードS(N)と、鍵生成部61から入力されたセッション鍵K(N)に基づいて生成した認証コードS(N)とを比較することにより、通信装置2の正当性を認証する。具体的には、両認証コードS(N)が一致する場合には通信装置2を正当と判定し、両認証コードS(N)が一致しない場合には通信装置2を不正と判定する。   Next, the authentication control unit 63 generates an authentication code S (N) extracted from the read command with authentication code C1 (N) and an authentication code S generated based on the session key K (N) input from the key generation unit 61. By comparing (N), the authenticity of the communication device 2 is authenticated. Specifically, when both authentication codes S (N) match, the communication device 2 is determined to be valid, and when both authentication codes S (N) do not match, the communication device 2 is determined to be illegal.

認証制御部63は、通信装置2を不正と判定した場合には、認証コード付きリードコマンドC1(N)から抽出したリードコマンドC0に基づくメモリアレイ22へのアクセスを行わない。つまり、メモリアレイ22からのコンテンツデータT0の読み出しを実行しない。   If the authentication control unit 63 determines that the communication device 2 is illegal, the authentication control unit 63 does not access the memory array 22 based on the read command C0 extracted from the read command C1 (N) with the authentication code. That is, reading of the content data T0 from the memory array 22 is not executed.

また、認証制御部63は、通信装置2を不正と判定した場合には、暗号化・復号部62に対して通信装置2からの送信データの受信を禁止する。これにより、メモリコントローラ21は、以後に通信装置2から半導体記憶装置3に向けて送信されるアクセスコマンドを受信しない。   If the authentication control unit 63 determines that the communication device 2 is illegal, the authentication control unit 63 prohibits the encryption / decryption unit 62 from receiving transmission data from the communication device 2. Thereby, the memory controller 21 does not receive an access command transmitted from the communication device 2 to the semiconductor memory device 3 thereafter.

一方、通信装置2を正当と判定した場合には、次に認証制御部63は、認証コード付きリードコマンドC1(N)から抽出したリードコマンドC0に基づいて、メモリアレイ22へのアクセスを行う。つまり、読み出しアドレスを示す制御信号Uによって、メモリアレイ22からコンテンツデータT0を読み出す。コンテンツデータT0は、認証制御部63及びハッシュ回路64に入力される。   On the other hand, when it is determined that the communication device 2 is valid, the authentication control unit 63 next accesses the memory array 22 based on the read command C0 extracted from the read command with authentication code C1 (N). That is, the content data T0 is read from the memory array 22 by the control signal U indicating the read address. The content data T0 is input to the authentication control unit 63 and the hash circuit 64.

また、認証制御部63は、通信装置2を正当と判定した場合には、鍵生成部61が今回生成したセッション鍵K(N)によって、暗号化・復号部62を初期化する。   If the authentication control unit 63 determines that the communication device 2 is valid, the authentication control unit 63 initializes the encryption / decryption unit 62 with the session key K (N) generated by the key generation unit 61 this time.

次に鍵生成部61は、認証制御部63からの要求に従って、次回のセッション鍵K(N+1)を生成する。セッション鍵K(N+1)は、認証制御部63に入力される。   Next, the key generation unit 61 generates the next session key K (N + 1) according to the request from the authentication control unit 63. Session key K (N + 1) is input to authentication control unit 63.

次にハッシュ回路64は、予め定められた任意のハッシュ関数を用いてコンテンツデータT0のハッシュ値を算出する。そして、算出したハッシュ値HBを認証制御部63に入力する。   Next, the hash circuit 64 calculates a hash value of the content data T0 using a predetermined arbitrary hash function. Then, the calculated hash value HB is input to the authentication control unit 63.

次に認証制御部63は、鍵生成部61から入力されたセッション鍵K(N+1)に基づいて、通信装置2が半導体記憶装置3の正当性を認証するための認証コードSB(N+1)を生成する。認証制御部63は、上述した認証制御部53と同様に、セッション鍵K(N+1)のビット長が所定の許容認証コード長以下である場合には、セッション鍵K(N+1)をそのまま認証コードSB(N+1)として使用する。一方、セッション鍵K(N+1)のビット長が許容認証コード長を超える場合には、セッション鍵K(N+1)を圧縮することによって、許容認証コード長に収まる認証コードSB(N+1)を生成する。   Next, the authentication control unit 63 generates an authentication code SB (N + 1) for the communication device 2 to authenticate the validity of the semiconductor storage device 3 based on the session key K (N + 1) input from the key generation unit 61. To do. Similarly to the above-described authentication control unit 53, the authentication control unit 63 uses the session key K (N + 1) as it is as the authentication code SB when the bit length of the session key K (N + 1) is equal to or less than a predetermined allowable authentication code length. Used as (N + 1). On the other hand, if the bit length of the session key K (N + 1) exceeds the allowable authentication code length, the authentication code SB (N + 1) that fits within the allowable authentication code length is generated by compressing the session key K (N + 1).

次に認証制御部63は、ハッシュ値HBと認証コードSB(N+1)との排他的論和演算を行うことによって、ハッシュ値HBと認証コードSB(N+1)とが合成された合成パラメータVB(N+1)を生成する。   Next, the authentication control unit 63 performs an exclusive OR operation between the hash value HB and the authentication code SB (N + 1), thereby combining the hash value HB and the authentication code SB (N + 1) into a composite parameter VB (N + 1). ) Is generated.

次に認証制御部63は、コンテンツデータT0に合成パラメータVB(N+1)を付加することによって、合成パラメータ付きコンテンツデータT1(N+1)を生成する。認証制御部63は、生成した合成パラメータ付きコンテンツデータT1(N+1)を暗号化・復号部62に入力する。   Next, the authentication control unit 63 generates content data T1 (N + 1) with composite parameters by adding the composite parameter VB (N + 1) to the content data T0. The authentication control unit 63 inputs the generated content data T1 (N + 1) with synthesis parameter to the encryption / decryption unit 62.

次に暗号化・復号部62は、現在設定されているセッション鍵K(N)を用いて合成パラメータ付きコンテンツデータT1(N+1)を暗号化することにより、暗号化済み合成パラメータ付きコンテンツデータY1(N+1)を生成する。そして、生成した暗号化済み合成パラメータ付きコンテンツデータY1(N+1)をメモリコントローラ12に送信する。   Next, the encryption / decryption unit 62 encrypts the content data T1 (N + 1) with the synthesis parameter by using the session key K (N) that is currently set, so that the encrypted content data with the synthesis parameter Y1 ( N + 1). Then, the generated encrypted content data Y1 (N + 1) with the synthesis parameter is transmitted to the memory controller 12.

図8を参照して、メモリコントローラ12は、メモリコントローラ21から受信した暗号化済み合成パラメータ付きコンテンツデータY1(N+1)を暗号化・復号部52に入力する。   Referring to FIG. 8, the memory controller 12 inputs the encrypted combined parameter-added content data Y <b> 1 (N + 1) received from the memory controller 21 to the encryption / decryption unit 52.

次に暗号化・復号部52は、現在設定されているセッション鍵K(N)を用いて暗号化済み合成パラメータ付きコンテンツデータY1(N+1)を復号することにより、合成パラメータ付きコンテンツデータT1(N+1)を再生する。そして、再生した合成パラメータ付きコンテンツデータT1(N+1)を認証制御部53に入力する。また、暗号化・復号部52は、合成パラメータ付きコンテンツデータT1(N+1)に含まれるコンテンツデータT0をハッシュ回路56に入力する。   Next, the encryption / decryption unit 52 decrypts the encrypted composite parameter-added content data Y1 (N + 1) using the currently set session key K (N), thereby generating composite parameter-added content data T1 (N + 1). ). Then, the reproduced content data T1 (N + 1) with synthesis parameter is input to the authentication control unit 53. Further, the encryption / decryption unit 52 inputs the content data T0 included in the content data T1 (N + 1) with the synthesis parameter to the hash circuit 56.

次にハッシュ回路56は、ハッシュ回路64と同一のハッシュ関数を用いてコンテンツデータT0のハッシュ値を算出する。そして、算出したハッシュ値HAを認証制御部53に入力する。   Next, the hash circuit 56 calculates the hash value of the content data T0 using the same hash function as the hash circuit 64. Then, the calculated hash value HA is input to the authentication control unit 53.

次に鍵生成部51は、認証制御部53からの要求に従ってセッション鍵K(N+1)を生成する。セッション鍵K(N+1)は、認証制御部53に入力される。次に認証制御部53は、上述した認証制御部63と同様の処理によって、セッション鍵K(N+1)に基づいて認証コードSA(N+1)を生成する。   Next, the key generation unit 51 generates a session key K (N + 1) according to the request from the authentication control unit 53. Session key K (N + 1) is input to authentication control unit 53. Next, the authentication control unit 53 generates an authentication code SA (N + 1) based on the session key K (N + 1) by the same processing as the authentication control unit 63 described above.

次に認証制御部53は、合成パラメータ付きコンテンツデータT1(N+1)に含まれる合成パラメータVB(N+1)から、ハッシュ値HBと認証コードSB(N+1)とを抽出する。具体的に認証制御部53は、合成パラメータ付きコンテンツデータT1(N+1)に含まれる合成パラメータVB(N+1)と、自身が生成した認証コードSA(N+1)との排他的論理和演算を行うことによって、合成パラメータVB(N+1)からハッシュ値HBを抽出する。また、合成パラメータ付きコンテンツデータT1(N+1)に含まれる合成パラメータVB(N+1)と、ハッシュ回路56から入力されたハッシュ値HAとの排他的論理和演算を行うことによって、合成パラメータVB(N+1)から認証コードSB(N+1)を抽出する。   Next, the authentication control unit 53 extracts the hash value HB and the authentication code SB (N + 1) from the synthesis parameter VB (N + 1) included in the content data T1 (N + 1) with the synthesis parameter. Specifically, the authentication control unit 53 performs an exclusive OR operation on the synthesis parameter VB (N + 1) included in the content data T1 (N + 1) with the synthesis parameter and the authentication code SA (N + 1) generated by itself. The hash value HB is extracted from the synthesis parameter VB (N + 1). Further, by performing an exclusive OR operation on the synthesis parameter VB (N + 1) included in the content data T1 (N + 1) with the synthesis parameter and the hash value HA input from the hash circuit 56, the synthesis parameter VB (N + 1) The authentication code SB (N + 1) is extracted from.

次に認証制御部53は、合成パラメータVB(N+1)から抽出したハッシュ値HBと、ハッシュ回路56から入力されたハッシュ値HAとを比較することによって、コンテンツデータT0の完全性を評価する。具体的には、両ハッシュ値が一致している場合にはコンテンツデータT0の完全性を肯定し、両ハッシュ値が一致していない場合にはコンテンツデータT0の完全性を否定する。   Next, the authentication control unit 53 evaluates the integrity of the content data T0 by comparing the hash value HB extracted from the synthesis parameter VB (N + 1) with the hash value HA input from the hash circuit 56. Specifically, when both hash values match, the integrity of the content data T0 is affirmed, and when both hash values do not match, the integrity of the content data T0 is denied.

次に認証制御部53は、合成パラメータVB(N+1)から抽出した認証コードSB(N+1)と、自身が生成した認証コードSA(N+1)とを比較することによって、半導体記憶装置3の正当性を認証する。具体的には、両認証コードが一致している場合には半導体記憶装置3を正当と認証し、両認証コードが一致していない場合には半導体記憶装置3を不正と認証する。   Next, the authentication control unit 53 compares the authentication code SB (N + 1) extracted from the synthesis parameter VB (N + 1) with the authentication code SA (N + 1) generated by itself, thereby verifying the validity of the semiconductor memory device 3. Certify. Specifically, when the two authentication codes match, the semiconductor storage device 3 is authenticated as valid, and when the two authentication codes do not match, the semiconductor storage device 3 is authenticated as illegal.

図6に示した第1の例によると、合成パラメータVBはコンテンツデータT0の末尾に付加されている。従って、認証制御部53は、合成パラメータVBよりも先にコンテンツデータT0を処理する。この場合、認証制御部53は、コンテンツデータT0の完全性を評価する処理、及び半導体記憶装置3の正当性を認証する処理の完了を待つことなく、合成パラメータ付きコンテンツデータT1(N+1)から抽出したコンテンツデータT0をマイクロプロセッサ11に入力する。その後、コンテンツデータT0の完全性を否定した場合及び/又は半導体記憶装置3を不正と判定した場合には、認証制御部53は、コンテンツデータT0が改ざんされている旨及び/又は半導体記憶装置3が不正である旨の通知をマイクロプロセッサ11に入力する。一方、コンテンツデータT0の完全性を肯定し、かつ半導体記憶装置3を正当と判定した場合には、認証制御部53は、当該通知をマイクロプロセッサ11に入力しない。   According to the first example shown in FIG. 6, the synthesis parameter VB is added to the end of the content data T0. Accordingly, the authentication control unit 53 processes the content data T0 before the synthesis parameter VB. In this case, the authentication control unit 53 extracts from the content data T1 (N + 1) with the synthesis parameter without waiting for completion of the processing for evaluating the integrity of the content data T0 and the processing for authenticating the validity of the semiconductor storage device 3. The content data T0 is input to the microprocessor 11. Thereafter, when the integrity of the content data T0 is denied and / or when the semiconductor storage device 3 is determined to be illegal, the authentication control unit 53 indicates that the content data T0 has been tampered with and / or the semiconductor storage device 3 Is input to the microprocessor 11. On the other hand, when the integrity of the content data T0 is affirmed and the semiconductor storage device 3 is determined to be valid, the authentication control unit 53 does not input the notification to the microprocessor 11.

図7に示した第2の例によると、合成パラメータVBはコンテンツデータT0の先頭に付加されている。従って、認証制御部53は、コンテンツデータT0よりも先に合成パラメータVBを処理する。この場合、認証制御部53は、コンテンツデータT0の完全性を評価する処理、及び半導体記憶装置3の正当性を認証する処理を先に行い、コンテンツデータT0の完全性を否定した場合及び/又は半導体記憶装置3を不正と判定した場合には、合成パラメータ付きコンテンツデータT1(N+1)から抽出したコンテンツデータT0をマイクロプロセッサ11に入力しない。一方、コンテンツデータT0の完全性を肯定し、かつ半導体記憶装置3を正当と判定した場合には、認証制御部53は、合成パラメータ付きコンテンツデータT1(N+1)から抽出したコンテンツデータT0をマイクロプロセッサ11に入力する。   According to the second example shown in FIG. 7, the synthesis parameter VB is added to the head of the content data T0. Accordingly, the authentication control unit 53 processes the composite parameter VB before the content data T0. In this case, the authentication control unit 53 first performs the process of evaluating the integrity of the content data T0 and the process of authenticating the validity of the semiconductor storage device 3, and denies the integrity of the content data T0 and / or If it is determined that the semiconductor memory device 3 is illegal, the content data T0 extracted from the content data T1 (N + 1) with the synthesis parameter is not input to the microprocessor 11. On the other hand, when the integrity of the content data T0 is affirmed and the semiconductor storage device 3 is determined to be valid, the authentication control unit 53 uses the content data T0 extracted from the content data T1 (N + 1) with the synthesis parameter as a microprocessor. 11 is input.

また、認証制御部53は、コンテンツデータT0の完全性を否定した場合及び/又は半導体記憶装置3を不正と判定した場合には、データをオール「0」又はオール「1」に置換する等のマスク処理を有効にする制御信号Dを、マスク回路54,55に入力する。これにより、通信装置2と半導体記憶装置3との間での以後の通信が遮断される。   The authentication control unit 53 replaces the data with all “0” or all “1” when the integrity of the content data T0 is denied and / or when the semiconductor storage device 3 is determined to be illegal. A control signal D for enabling mask processing is input to the mask circuits 54 and 55. Thereby, subsequent communication between the communication device 2 and the semiconductor memory device 3 is blocked.

認証制御部53,63は、マイクロプロセッサ11からリードコマンドC0が発行される度に、上記と同様の処理を行う。次回の処理では、認証制御部63は、認証コード付きリードコマンドC1(N+1)から抽出した認証コードS(N+1)と、鍵生成部61から入力されたセッション鍵K(N+1)に基づいて生成した認証コードS(N+1)とが一致するか否かによって、通信装置2の正当性を認証する。また、認証制御部53は、合成パラメータVB(N+2)から抽出したハッシュ値HBと、ハッシュ回路56から入力されたハッシュ値HAとを比較することによって、コンテンツデータT0の完全性を評価する。また、認証制御部53は、合成パラメータVB(N+2)から抽出した認証コードSB(N+2)と、自身が生成した認証コードSA(N+2)とを比較することによって、半導体記憶装置3の正当性を認証する。   The authentication control units 53 and 63 perform the same processing as described above every time the read command C0 is issued from the microprocessor 11. In the next process, the authentication control unit 63 is generated based on the authentication code S (N + 1) extracted from the read command with authentication code C1 (N + 1) and the session key K (N + 1) input from the key generation unit 61. The authenticity of the communication device 2 is authenticated depending on whether or not the authentication code S (N + 1) matches. The authentication control unit 53 evaluates the integrity of the content data T0 by comparing the hash value HB extracted from the composite parameter VB (N + 2) with the hash value HA input from the hash circuit 56. Further, the authentication control unit 53 compares the authentication code SB (N + 2) extracted from the composite parameter VB (N + 2) with the authentication code SA (N + 2) generated by itself, thereby verifying the validity of the semiconductor memory device 3. Certify.

なお、以上の説明では、通信装置2がコンテンツデータT0の完全性を評価する処理及び半導体記憶装置3の正当性を認証する処理を、メモリコントローラ12のハードウェア処理によって実行したが、マイクロプロセッサ11のソフトウェア処理によって実行しても良い。   In the above description, the processing in which the communication device 2 evaluates the integrity of the content data T0 and the processing to authenticate the validity of the semiconductor storage device 3 are executed by the hardware processing of the memory controller 12, but the microprocessor 11 It may be executed by software processing.

また、以上の説明では、コンテンツデータT0の完全性を評価するためのセキュリティパラメータとしてハッシュ値を用いたが、CRC値、MAC値、又は誤り訂正で用いられるエラーシンドローム等の、他のセキュリティパラメータを用いても良い。   In the above description, the hash value is used as a security parameter for evaluating the integrity of the content data T0. However, other security parameters such as a CRC value, a MAC value, or an error syndrome used for error correction are used. It may be used.

また、以上の説明では、リードコマンドC0及びその応答値としてのコンテンツデータT0に認証コードSをそれぞれ付加したが、ライトコマンドやイレースコマンド等の他のアクセスコマンドに認証コードSを付加しても良い。   In the above description, the authentication code S is added to the read command C0 and the content data T0 as its response value. However, the authentication code S may be added to other access commands such as a write command and an erase command. .

ライトコマンドに認証コードSを付加する場合には、半導体記憶装置3は、通信装置2から受信したライトコマンドに付加されている認証コードSと、自ら生成した認証コードSとに基づいて、通信装置2の正当性を認証することができる。また、ライトコマンドに続いて送信されるステータスコマンドの応答値としてのステータス通知に認証コードSを付加することにより、通信装置2は、半導体記憶装置3から受信したステータス通知に付加されている認証コードSと、自ら生成した認証コードSとに基づいて、半導体記憶装置3の正当性を認証することができる。   When the authentication code S is added to the write command, the semiconductor memory device 3 uses the authentication code S added to the write command received from the communication device 2 and the authentication code S generated by itself to the communication device. 2 can be authenticated. Further, by adding the authentication code S to the status notification as the response value of the status command transmitted following the write command, the communication device 2 can authenticate the status code received from the semiconductor memory device 3. The validity of the semiconductor memory device 3 can be authenticated based on S and the authentication code S generated by itself.

イレースコマンドに認証コードSを付加する場合には、半導体記憶装置3は、通信装置2から受信したイレースコマンドに付加されている認証コードSと、自ら生成した認証コードSとに基づいて、通信装置2の正当性を認証することができる。また、イレースコマンドに続いて送信されるステータスコマンドの応答値としてのステータス通知に認証コードSを付加することにより、通信装置2は、半導体記憶装置3から受信したステータス通知に付加されている認証コードSと、自ら生成した認証コードSとに基づいて、半導体記憶装置3の正当性を認証することができる。   When the authentication code S is added to the erase command, the semiconductor memory device 3 determines the communication device based on the authentication code S added to the erase command received from the communication device 2 and the authentication code S generated by itself. 2 can be authenticated. Further, by adding the authentication code S to the status notification as the response value of the status command transmitted following the erase command, the communication device 2 can add the authentication code added to the status notification received from the semiconductor memory device 3. The validity of the semiconductor memory device 3 can be authenticated based on S and the authentication code S generated by itself.

<まとめ>
上記実施の形態1,2に係る情報処理システム1によれば、半導体記憶装置3は、通信装置2から受信したリードコマンドC0,C1に応答して通信装置2に送信するコンテンツデータT0に基づいて、ハッシュ値HB(第1のセキュリティパラメータ)を生成し、ハッシュ値HBと、通信装置2に半導体記憶装置3を認証させるための第1の認証コードSB(N+1)とを合成することによって、合成パラメータVB(N+1)を生成し、コンテンツデータT0と合成パラメータVB(N+1)とを含む合成パラメータ付きコンテンツデータT1(N+1)を、通信装置2に送信する。また、通信装置2は、半導体記憶装置3から合成パラメータ付きコンテンツデータT1(N+1)を受信し、合成パラメータ付きコンテンツデータT1(N+1)に含まれる合成パラメータVB(N+1)から、ハッシュ値HBと認証コードSB(N+1)とを抽出する。そして、合成パラメータVB(N+1)から抽出したハッシュ値HBに基づいて、合成パラメータ付きコンテンツデータT1(N+1)に含まれるコンテンツデータT0の完全性を評価し、また、合成パラメータVB(N+1)から抽出した認証コードSB(N+1)に基づいて、半導体記憶装置3の正当性を認証する。このように通信装置2は、コンテンツデータT0の完全性の評価と、半導体記憶装置3の正当性の認証とを実行できる。従って、なりすまし防止技術を実現するための大規模な専用回路の実装が不要になるとともに、当該専用回路を用いた複雑な処理も不要となるため、コストの増大やレイテンシの増大を伴うことなく、なりすまし防止技術を用いたセキュア通信と同程度のセキュリティレベルを実現することが可能となる。
<Summary>
According to the information processing system 1 according to the first and second embodiments, the semiconductor memory device 3 is based on the content data T0 transmitted to the communication device 2 in response to the read commands C0 and C1 received from the communication device 2. Generating a hash value HB (first security parameter) and combining the hash value HB and the first authentication code SB (N + 1) for causing the communication device 2 to authenticate the semiconductor storage device 3 The parameter VB (N + 1) is generated, and the content data T1 (N + 1) with composite parameter including the content data T0 and the composite parameter VB (N + 1) is transmitted to the communication device 2. Further, the communication device 2 receives the content data T1 (N + 1) with the synthesis parameter from the semiconductor storage device 3, and authenticates the hash value HB and the authentication from the synthesis parameter VB (N + 1) included in the content data with the synthesis parameter T1 (N + 1). The code SB (N + 1) is extracted. Then, based on the hash value HB extracted from the synthesis parameter VB (N + 1), the integrity of the content data T0 included in the content data T1 (N + 1) with the synthesis parameter is evaluated, and extracted from the synthesis parameter VB (N + 1). The validity of the semiconductor memory device 3 is authenticated based on the authentication code SB (N + 1). In this way, the communication device 2 can execute the integrity evaluation of the content data T0 and the authenticity authentication of the semiconductor storage device 3. Therefore, it is not necessary to mount a large-scale dedicated circuit for realizing the anti-spoofing technology, and complicated processing using the dedicated circuit is also unnecessary, so that there is no increase in cost and latency, It is possible to achieve a security level comparable to secure communication using anti-spoofing technology.

また、上記実施の形態1,2に係る情報処理システム1によれば、通信装置2は、半導体記憶装置3が生成する認証コードSB(N+1)と同一の第2の認証コードSA(N+1)を生成し、合成パラメータVB(N+1)と認証コードSA(N+1)とに基づいて、合成パラメータVB(N+1)からハッシュ値HBを抽出する。また、通信装置2は、合成パラメータ付きコンテンツデータT1(N+1)に含まれるコンテンツデータT0に基づいて、ハッシュ値HA(第2のセキュリティパラメータ)を生成する。そして、抽出したハッシュ値HBと、生成したハッシュ値HAとを比較することによって、コンテンツデータT0の完全性を評価する。半導体記憶装置3から通信装置2に送信されたコンテンツデータT0が改ざんされている場合には、半導体記憶装置3が生成したハッシュ値HB(つまり合成パラメータVB(N+1)から抽出したハッシュ値)と、通信装置2が生成したハッシュ値HAとは一致しない。従って、抽出したハッシュ値HBと、生成したハッシュ値HAとを比較することによって、コンテンツデータT0が改ざんされているか否かを簡易かつ確実に評価することが可能となる。   Further, according to the information processing system 1 according to the first and second embodiments, the communication device 2 uses the second authentication code SA (N + 1) that is the same as the authentication code SB (N + 1) generated by the semiconductor storage device 3. The hash value HB is extracted from the synthesis parameter VB (N + 1) based on the synthesis parameter VB (N + 1) and the authentication code SA (N + 1). Further, the communication device 2 generates a hash value HA (second security parameter) based on the content data T0 included in the content data T1 (N + 1) with composite parameters. Then, the integrity of the content data T0 is evaluated by comparing the extracted hash value HB with the generated hash value HA. When the content data T0 transmitted from the semiconductor storage device 3 to the communication device 2 has been tampered with, the hash value HB generated by the semiconductor storage device 3 (that is, the hash value extracted from the synthesis parameter VB (N + 1)), The hash value HA generated by the communication device 2 does not match. Therefore, by comparing the extracted hash value HB and the generated hash value HA, it is possible to easily and reliably evaluate whether or not the content data T0 has been tampered with.

また、上記実施の形態1,2に係る情報処理システム1によれば、半導体記憶装置3は、ハッシュ値HBと認証コードSB(N+1)との排他的論理和演算によって、合成パラメータVB(N+1)を生成する。そして、通信装置2は、合成パラメータVB(N+1)と認証コードSA(N+1)との排他的論理和演算によって、合成パラメータVB(N+1)からハッシュ値HBを抽出する。このように、通信装置2が認証コードコードSB(N+1)と同一の認証コードSA(N+1)を生成し、合成パラメータVB(N+1)と認証コードSA(N+1)との排他的論理和演算を行うことによって、合成パラメータVB(N+1)からハッシュ値HBを簡易かつ正確に抽出することが可能となる。   Further, according to the information processing system 1 according to the first and second embodiments, the semiconductor storage device 3 performs the synthesis parameter VB (N + 1) by performing an exclusive OR operation between the hash value HB and the authentication code SB (N + 1). Is generated. Then, the communication device 2 extracts the hash value HB from the synthesis parameter VB (N + 1) by the exclusive OR operation of the synthesis parameter VB (N + 1) and the authentication code SA (N + 1). In this way, the communication device 2 generates the same authentication code SA (N + 1) as the authentication code code SB (N + 1), and performs an exclusive OR operation between the synthesis parameter VB (N + 1) and the authentication code SA (N + 1). As a result, the hash value HB can be easily and accurately extracted from the synthesis parameter VB (N + 1).

また、上記実施の形態1,2に係る情報処理システム1によれば、通信装置2は、半導体記憶装置3が生成する認証コードSB(N+1)と同一の認証コードSA(N+1)を生成する。また、通信装置2は、合成パラメータ付きコンテンツデータT1(N+1)に含まれるコンテンツデータT0に基づいて、ハッシュ値HAを生成し、合成パラメータVB(N+1)とハッシュ値HAとに基づいて、合成パラメータVB(N+1)から認証コードSB(N+1)を抽出する。そして、抽出した認証コードSB(N+1)と、生成した認証コードSA(N+1)とを比較することによって、半導体記憶装置3の正当性を認証する。半導体記憶装置3が不正である場合には、半導体記憶装置3が生成した認証コードSB(N+1)(つまり合成パラメータVB(N+1)から抽出した認証コード)と、通信装置2が生成した認証コードSA(N+1)とは一致しない。従って、抽出した認証コードSB(N+1)と、生成した認証コードSA(N+1)とを比較することによって、半導体記憶装置3が正当であるか不正であるかを簡易かつ確実に認証することが可能となる。   Further, according to the information processing system 1 according to the first and second embodiments, the communication device 2 generates the same authentication code SA (N + 1) as the authentication code SB (N + 1) generated by the semiconductor storage device 3. Further, the communication device 2 generates a hash value HA based on the content data T0 included in the content data T1 (N + 1) with the synthesis parameter, and based on the synthesis parameter VB (N + 1) and the hash value HA, the synthesis parameter The authentication code SB (N + 1) is extracted from VB (N + 1). Then, the validity of the semiconductor memory device 3 is authenticated by comparing the extracted authentication code SB (N + 1) with the generated authentication code SA (N + 1). If the semiconductor storage device 3 is illegal, the authentication code SB (N + 1) generated by the semiconductor storage device 3 (that is, the authentication code extracted from the synthesis parameter VB (N + 1)) and the authentication code SA generated by the communication device 2 Does not match (N + 1). Accordingly, by comparing the extracted authentication code SB (N + 1) with the generated authentication code SA (N + 1), it is possible to easily and reliably authenticate whether the semiconductor memory device 3 is valid or illegal. It becomes.

また、上記実施の形態1,2に係る情報処理システム1によれば、半導体記憶装置3は、ハッシュ値HBと認証コードSB(N+1)との排他的論理和演算によって、合成パラメータVB(N+1)を生成する。そして、通信装置2は、合成パラメータVB(N+1)とハッシュ値HAとの排他的論理和演算によって、合成パラメータVB(N+1)から認証コードSB(N+1)を抽出する。このように、通信装置2がハッシュ値HBと同一のハッシュ値HAを生成し、合成パラメータVB(N+1)とハッシュ値HAとの排他的論理和演算を行うことによって、合成パラメータVB(N+1)から認証コードSB(N+1)を簡易かつ正確に抽出することが可能となる。   Further, according to the information processing system 1 according to the first and second embodiments, the semiconductor storage device 3 performs the synthesis parameter VB (N + 1) by performing an exclusive OR operation between the hash value HB and the authentication code SB (N + 1). Is generated. Then, the communication device 2 extracts the authentication code SB (N + 1) from the synthesis parameter VB (N + 1) by exclusive OR operation of the synthesis parameter VB (N + 1) and the hash value HA. In this way, the communication device 2 generates the same hash value HA as the hash value HB, and performs an exclusive OR operation between the synthesis parameter VB (N + 1) and the hash value HA, thereby obtaining the synthesis parameter VB (N + 1). The authentication code SB (N + 1) can be extracted easily and accurately.

また、上記実施の形態1,2に係る情報処理システム1によれば、合成パラメータ付きコンテンツデータT1(N+1)の受信と、ハッシュ値HB及び認証コードSB(N+1)の抽出と、コンテンツデータT0の完全性の評価と、半導体記憶装置3の正当性の認証とは、メモリコントローラ12(第1の制御回路)が実行する。また、リードコマンドC0の受信と、ハッシュ値HBの生成と、合成パラメータVB(N+1)の生成と、合成パラメータ付きコンテンツデータT1(N+1)の生成及び送信とは、メモリコントローラ21(第2の制御回路)が実行する。このように、通信装置2によるコンテンツデータT0の完全性の評価及び半導体記憶装置3の正当性の認証の処理において、マイクロプロセッサ11(主制御部)が実行する処理はリードコマンドC0の発行だけであり、合成パラメータVB(N+1)の生成、合成パラメータVB(N+1)からのハッシュ値HB及び認証コードSB(N+1)の抽出、コンテンツデータT0の完全性の評価、及び半導体記憶装置3の正当性の認証等の本質的な処理は、メモリコントローラ12とメモリコントローラ21との間で実行される。従って、プログラム解析等によってマイクロプロセッサ11の制御を改変するような攻撃を受けた場合であっても、メモリコントローラ12及びメモリコントローラ21によるハードウェア処理の内容が解析及び改変されない限り、攻撃者によってコンテンツデータT0の完全性の評価及び半導体記憶装置3の正当性の認証の処理が回避されることはない。その結果、マイクロプロセッサ11の制御を改変するような攻撃を受けた場合であっても、コンテンツデータT0が改ざんされることや、半導体記憶装置3からコンテンツデータT0が不正に読み出されることを防止することが可能となる。   Further, according to the information processing system 1 according to the first and second embodiments, the reception of the content data T1 (N + 1) with the synthesis parameter, the extraction of the hash value HB and the authentication code SB (N + 1), and the content data T0 The memory controller 12 (first control circuit) executes the integrity evaluation and the authenticity verification of the semiconductor memory device 3. The reception of the read command C0, the generation of the hash value HB, the generation of the synthesis parameter VB (N + 1), and the generation and transmission of the content data T1 (N + 1) with the synthesis parameter are the memory controller 21 (second control). Circuit). Thus, in the process of evaluating the integrity of the content data T0 and authenticating the validity of the semiconductor storage device 3 by the communication device 2, the processing executed by the microprocessor 11 (main control unit) is only the issue of the read command C0. Yes, generation of synthesis parameter VB (N + 1), extraction of hash value HB and authentication code SB (N + 1) from synthesis parameter VB (N + 1), evaluation of integrity of content data T0, and validity of semiconductor memory device 3 Essential processing such as authentication is executed between the memory controller 12 and the memory controller 21. Accordingly, even if an attack that alters the control of the microprocessor 11 by program analysis or the like is performed, content by the attacker unless the contents of the hardware processing by the memory controller 12 and the memory controller 21 are analyzed and altered. The process of evaluating the integrity of the data T0 and authenticating the correctness of the semiconductor memory device 3 is not avoided. As a result, even when an attack that alters the control of the microprocessor 11 is performed, the content data T0 is prevented from being falsified and the content data T0 is prevented from being read from the semiconductor storage device 3 illegally. It becomes possible.

また、上記実施の形態1,2に係る情報処理システム1において、図6に示した第1の例によれば、メモリコントローラ12は、コンテンツデータT0が改ざんされているか否かに拘わらず、また半導体記憶装置3が正当であるか不正であるかに拘わらず、合成パラメータ付きコンテンツデータT1(N+1)に含まれるコンテンツデータT0をマイクロプロセッサ11に入力する。従って、コンテンツデータT0の完全性を評価する処理及び半導体記憶装置3の正当性を認証する処理の完了を待つことなく、受信したコンテンツデータT0を早期にマイクロプロセッサ11に入力することが可能となる。また、メモリコントローラ12は、半導体記憶装置3を不正と判定した場合及び/又はコンテンツデータT0の完全性を否定した場合には、その旨の通知をマイクロプロセッサ11に入力する。従って、マイクロプロセッサ11は、メモリコントローラ12から入力されたコンテンツデータT0を破棄又は無効化する等の処理を実行することが可能となる。   Moreover, in the information processing system 1 according to the first and second embodiments, according to the first example shown in FIG. 6, the memory controller 12 can determine whether the content data T0 has been tampered with or not. Regardless of whether the semiconductor memory device 3 is valid or illegal, the content data T0 included in the content data T1 (N + 1) with composite parameters is input to the microprocessor 11. Accordingly, the received content data T0 can be input to the microprocessor 11 at an early stage without waiting for completion of the processing for evaluating the integrity of the content data T0 and the processing for authenticating the validity of the semiconductor memory device 3. . If the memory controller 12 determines that the semiconductor storage device 3 is illegal and / or denies the integrity of the content data T0, the memory controller 12 inputs a notification to that effect to the microprocessor 11. Therefore, the microprocessor 11 can execute processing such as discarding or invalidating the content data T0 input from the memory controller 12.

また、上記実施の形態1,2に係る情報処理システム1において、図7に示した第2の例によれば、メモリコントローラ21は、半導体記憶装置3を不正と判定した場合及び/又はコンテンツデータT0の完全性を否定した場合には、合成パラメータ付きコンテンツデータT1(N+1)に含まれるコンテンツデータT0をマイクロプロセッサ11に入力しない。従って、改ざんされたコンテンツデータT0がマイクロプロセッサ11に入力されることや、不正な半導体記憶装置3から読み出されたコンテンツデータT0がマイクロプロセッサ11に入力されること等を防止することが可能となる。   In the information processing system 1 according to the first and second embodiments, according to the second example shown in FIG. 7, the memory controller 21 determines that the semiconductor storage device 3 is illegal and / or content data. When the completeness of T0 is denied, the content data T0 included in the content data T1 (N + 1) with the synthesis parameter is not input to the microprocessor 11. Accordingly, it is possible to prevent the altered content data T0 from being input to the microprocessor 11 and the content data T0 read from the unauthorized semiconductor storage device 3 from being input to the microprocessor 11. Become.

また、上記実施の形態1,2に係る情報処理システム1によれば、メモリコントローラ12は、半導体記憶装置3を不正と判定した場合及び/又はコンテンツデータT0の完全性を否定した場合には、メモリコントローラ12とメモリコントローラ21との間での以後の通信を遮断する。これにより、通信装置2から半導体記憶装置3にアクセスコマンドが送信されることや、半導体記憶装置3から通信装置2にコンテンツデータT0が送信されることが禁止される。その結果、半導体記憶装置3からコンテンツデータT0が不正に読み出されることや、半導体記憶装置3から読み出されたコンテンツデータT0が改ざんされて通信装置2に送信されること等を防止することが可能となる。   Further, according to the information processing system 1 according to the first and second embodiments, when the memory controller 12 determines that the semiconductor storage device 3 is illegal and / or denies the integrity of the content data T0, Subsequent communication between the memory controller 12 and the memory controller 21 is cut off. As a result, it is prohibited to transmit an access command from the communication device 2 to the semiconductor storage device 3 and to transmit content data T0 from the semiconductor storage device 3 to the communication device 2. As a result, it is possible to prevent content data T0 from being read out illegally from the semiconductor storage device 3, content data T0 read out from the semiconductor storage device 3 being altered and transmitted to the communication device 2, and the like. It becomes.

また、上記実施の形態1,2に係る情報処理システム1によれば、認証制御部53(第1の認証制御部)は、合成パラメータVB(N+1)から抽出した認証コードSB(N+1)と、鍵生成部51が生成したセッション鍵K(N+1)に基づいて生成した認証コードSA(N+1)とが一致するか否かによって、半導体記憶装置3の正当性を認証する。半導体記憶装置3が不正である場合には、合成パラメータVB(N+1)から抽出した認証コードSB(N+1)と、セッション鍵K(N+1)に基づいて生成した認証コードSA(N+1)とは一致しない。従って、合成パラメータVB(N+1)から抽出した認証コードSB(N+1)と、セッション鍵K(N+1)に基づいて生成した認証コードSA(N+1)とが一致するか否かによって、半導体記憶装置3が正当であるか不正であるかを簡易かつ確実に認証することが可能となる。   Further, according to the information processing system 1 according to the first and second embodiments, the authentication control unit 53 (first authentication control unit) includes the authentication code SB (N + 1) extracted from the synthesis parameter VB (N + 1), The validity of the semiconductor memory device 3 is authenticated based on whether or not the authentication code SA (N + 1) generated based on the session key K (N + 1) generated by the key generation unit 51 matches. When the semiconductor memory device 3 is illegal, the authentication code SB (N + 1) extracted from the synthesis parameter VB (N + 1) does not match the authentication code SA (N + 1) generated based on the session key K (N + 1). . Therefore, the semiconductor memory device 3 determines whether or not the authentication code SB (N + 1) extracted from the synthesis parameter VB (N + 1) matches the authentication code SA (N + 1) generated based on the session key K (N + 1). It is possible to simply and reliably authenticate whether it is legitimate or illegal.

また、上記実施の形態1,2に係る情報処理システム1によれば、認証制御部63は、鍵生成部61が生成したセッション鍵K(N+1)のビット長が許容認証コード長を超える場合には、セッション鍵K(N+1)を圧縮することにより認証コードSB(N+1)を生成する。従って、セッション鍵K(N+1)のビット長が許容認証コード長を超える場合であっても、セッション鍵K(N+1)を圧縮することによって、許容認証コード長に収まる認証コードSB(N+1)を生成することが可能となる。   Further, according to the information processing system 1 according to the first and second embodiments, the authentication control unit 63 determines that the bit length of the session key K (N + 1) generated by the key generation unit 61 exceeds the allowable authentication code length. Generates the authentication code SB (N + 1) by compressing the session key K (N + 1). Therefore, even if the bit length of the session key K (N + 1) exceeds the allowable authentication code length, the authentication code SB (N + 1) that fits within the allowable authentication code length is generated by compressing the session key K (N + 1). It becomes possible to do.

また、上記実施の形態1,2に係る情報処理システム1によれば、鍵生成部51,61は、認証の処理毎に異なるセッション鍵Kをそれぞれ生成する。その結果、認証制御部53,63が生成する認証コードSは認証の処理毎に変更されるため、セキュリティ強度を向上することが可能となる。   Further, according to the information processing system 1 according to the first and second embodiments, the key generation units 51 and 61 generate different session keys K for each authentication process. As a result, since the authentication code S generated by the authentication control units 53 and 63 is changed for each authentication process, the security strength can be improved.

また、上記実施の形態2に係る情報処理システム1によれば、通信装置2は、半導体記憶装置3に通信装置2を認証させるための第3の認証コードS(N)をリードコマンドC0に付加することによって、認証コード付きリードコマンドC1(N)を生成し、当該認証コード付きリードコマンドC1(N)を半導体記憶装置3に送信する。また、半導体記憶装置3は、通信装置2から認証コード付きリードコマンドC1(N)を受信し、認証コード付きリードコマンドC1(N)に含まれる認証コードS(N)に基づいて、通信装置2の正当性を認証する。そして、通信装置2を正当と判定した場合には、認証コード付きリードコマンドC1(N)に含まれるリードコマンドC0に基づいて、メモリアレイ22にアクセスする。このように、半導体記憶装置3が認証コードS(N)に基づいて通信装置2の正当性を認証することにより、半導体記憶装置3と通信装置2との相互認証を実現できるため、セキュリティ強度をさらに向上することが可能となる。   Further, according to the information processing system 1 according to the second embodiment, the communication device 2 adds the third authentication code S (N) for causing the semiconductor storage device 3 to authenticate the communication device 2 to the read command C0. As a result, a read command C1 (N) with an authentication code is generated, and the read command C1 (N) with an authentication code is transmitted to the semiconductor memory device 3. Further, the semiconductor memory device 3 receives the read command C1 (N) with the authentication code from the communication device 2, and based on the authentication code S (N) included in the read command C1 (N) with the authentication code, the communication device 2 Authenticate the validity of When it is determined that the communication device 2 is valid, the memory array 22 is accessed based on the read command C0 included in the read command with authentication code C1 (N). Thus, since the semiconductor storage device 3 authenticates the validity of the communication device 2 based on the authentication code S (N), mutual authentication between the semiconductor storage device 3 and the communication device 2 can be realized. Further improvement is possible.

しかも、リードコマンドC0に認証コードS(N)を付加した認証コード付きリードコマンドC1(N)を用いることによって、半導体記憶装置3による通信装置2の認証と、メモリアレイ22へのアクセスとを、共通の処理として実行することができる。従って、通信装置2が半導体記憶装置3にリードコマンドを送信する前に、半導体記憶装置3が通信装置2を認証する処理を別個に実行する必要がなく、認証の処理に伴うオーバーヘッドを低減できるため、コンテンツデータにアクセスするまでの所要時間を短縮することが可能となる。つまり、通信装置2から半導体記憶装置3への認証コード付きリードコマンドC1(N)の送信と、それに応答する半導体記憶装置3から通信装置2への合成パラメータ付きコンテンツデータT1(N+1)の送信との、一往復の通信によって、通信装置2と半導体記憶装置3との相互認証を行うことができる。その結果、通信装置2及び半導体記憶装置3それぞれからの往復通信(合計で二往復の通信)が必要となる一般的なチャレンジアンドレスポンス型の相互認証と比較すると、処理の高速化及び効率化を図ることが可能となる。   Moreover, by using the read command C1 (N) with an authentication code in which the authentication code S (N) is added to the read command C0, the authentication of the communication device 2 by the semiconductor memory device 3 and the access to the memory array 22 are performed. It can be executed as a common process. Therefore, before the communication device 2 transmits a read command to the semiconductor storage device 3, it is not necessary for the semiconductor storage device 3 to separately execute a process for authenticating the communication device 2, and overhead associated with the authentication process can be reduced. It is possible to shorten the time required to access the content data. That is, transmission of the read command C1 (N) with an authentication code from the communication device 2 to the semiconductor storage device 3, and transmission of content data T1 (N + 1) with composite parameters from the semiconductor storage device 3 to the communication device 2 in response thereto Thus, mutual authentication between the communication device 2 and the semiconductor memory device 3 can be performed by one-way communication. As a result, compared to general challenge and response mutual authentication that requires round-trip communication (two-round communication in total) from each of the communication device 2 and the semiconductor storage device 3, the processing speed and efficiency are improved. It becomes possible to plan.

また、上記実施の形態2に係る情報処理システム1によれば、半導体記憶装置3は、通信装置2を不正と判定した場合には、リードコマンドC0に基づくメモリアレイ22へのアクセスを行わない。従って、不正な通信装置2から半導体記憶装置3にリードコマンドが送信された場合等であっても、半導体記憶装置3はメモリアレイ22からのコンテンツデータT0の読み出しを実行しない。その結果、半導体記憶装置3からコンテンツデータT0が不正に読み出されること等を防止することが可能となる。   Further, according to the information processing system 1 according to the second embodiment, the semiconductor memory device 3 does not access the memory array 22 based on the read command C0 when the communication device 2 is determined to be illegal. Therefore, even when a read command is transmitted from the unauthorized communication device 2 to the semiconductor memory device 3, the semiconductor memory device 3 does not read the content data T0 from the memory array 22. As a result, it is possible to prevent content data T0 from being read from the semiconductor memory device 3 illegally.

また、上記実施の形態2に係る情報処理システム1によれば、半導体記憶装置3は、通信装置2を不正と判定した場合には、以後に通信装置2から送信されるリードコマンドを受信しない。従って、不正な通信装置2から半導体記憶装置3にリードコマンドが送信された場合等であっても、半導体記憶装置3は当該リードコマンドを受信しない。その結果、半導体記憶装置3からコンテンツデータT0が不正に読み出されること等を防止することが可能となる。   Further, according to the information processing system 1 according to the second embodiment, when the semiconductor storage device 3 determines that the communication device 2 is illegal, it does not receive a read command transmitted from the communication device 2 thereafter. Accordingly, even when a read command is transmitted from the unauthorized communication device 2 to the semiconductor memory device 3, the semiconductor memory device 3 does not receive the read command. As a result, it is possible to prevent content data T0 from being read from the semiconductor memory device 3 illegally.

また、上記実施の形態2に係る情報処理システム1によれば、通信装置2から半導体記憶装置3に送信される認証コード付きリードコマンドC1(N)に含まれる認証コードS(N)と、当該リードコマンドに応答して半導体記憶装置3から通信装置2に送信される合成パラメータVB(N+1)を生成する際に使用される認証コードSB(N+1)とは、互いに異なる。つまり、通信装置2が半導体記憶装置3に送信する認証コードS(N)と、通信装置2が半導体記憶装置3から受信する認証コードSB(N+1)とは、互いに異なる。このように、送信時と受信時とで認証コードを異ならせることにより、セキュリティ強度をさらに向上することが可能となる。   Further, according to the information processing system 1 according to the second embodiment, the authentication code S (N) included in the read command C1 (N) with the authentication code transmitted from the communication device 2 to the semiconductor memory device 3, The authentication code SB (N + 1) used when generating the composite parameter VB (N + 1) transmitted from the semiconductor memory device 3 to the communication device 2 in response to the read command is different from each other. That is, the authentication code S (N) transmitted from the communication device 2 to the semiconductor storage device 3 and the authentication code SB (N + 1) received from the semiconductor storage device 3 by the communication device 2 are different from each other. In this way, it is possible to further improve the security strength by making the authentication code different between transmission and reception.

1 情報処理システム
2 通信装置
3 半導体記憶装置
11 マイクロプロセッサ
12 メモリコントローラ
21 メモリコントローラ
22 メモリアレイ
51 鍵生成部
52 暗号化・復号部
53 認証制御部
56 ハッシュ回路
61 鍵生成部
62 暗号化・復号部
63 認証制御部
64 ハッシュ回路
DESCRIPTION OF SYMBOLS 1 Information processing system 2 Communication apparatus 3 Semiconductor memory device 11 Microprocessor 12 Memory controller 21 Memory controller 22 Memory array 51 Key generation part 52 Encryption / decryption part 53 Authentication control part 56 Hash circuit 61 Key generation part 62 Encryption / decryption part 63 Authentication control unit 64 Hash circuit

Claims (16)

通信装置と、
前記通信装置に接続され、コンテンツデータが記憶された記憶部を有する記憶装置と、
を備える情報処理システムであって、
前記記憶装置は、
前記通信装置から受信したアクセスコマンドに応答して前記通信装置に送信するコンテンツデータに基づいて、第1のセキュリティパラメータを生成し、
前記第1のセキュリティパラメータと、前記通信装置に前記記憶装置を認証させるための第1の認証コードとを合成することによって、合成パラメータを生成し、
前記コンテンツデータと前記合成パラメータとを含む合成パラメータ付きコンテンツデータを、前記通信装置に送信し、
前記通信装置は、
前記記憶装置から前記合成パラメータ付きコンテンツデータを受信し、
前記合成パラメータ付きコンテンツデータに含まれる前記合成パラメータから、前記第1のセキュリティパラメータと前記第1の認証コードとを抽出し、
前記合成パラメータから抽出した前記第1のセキュリティパラメータに基づいて、前記合成パラメータ付きコンテンツデータに含まれる前記コンテンツデータの完全性を評価し、
前記合成パラメータから抽出した前記第1の認証コードに基づいて、前記記憶装置の正当性を認証する、情報処理システム。
A communication device;
A storage device connected to the communication device and having a storage unit storing content data;
An information processing system comprising:
The storage device
Based on content data transmitted to the communication device in response to an access command received from the communication device, a first security parameter is generated,
Generating a composite parameter by combining the first security parameter and a first authentication code for causing the communication device to authenticate the storage device;
Transmitting content data with composite parameters including the content data and the composite parameters to the communication device;
The communication device
Receiving the content data with the synthesis parameter from the storage device;
Extracting the first security parameter and the first authentication code from the composite parameter included in the content data with the composite parameter;
Based on the first security parameter extracted from the synthesis parameter, evaluate the integrity of the content data included in the content data with the synthesis parameter,
An information processing system for authenticating the validity of the storage device based on the first authentication code extracted from the synthesis parameter.
前記通信装置は、
前記記憶装置が生成する前記第1の認証コードと同一の第2の認証コードを生成し、
前記合成パラメータと前記第2の認証コードとに基づいて、前記合成パラメータから前記第1のセキュリティパラメータを抽出し、
前記合成パラメータ付きコンテンツデータに含まれる前記コンテンツデータに基づいて、第2のセキュリティパラメータを生成し、
抽出した前記第1のセキュリティパラメータと、生成した前記第2のセキュリティパラメータとを比較することによって、前記コンテンツデータの完全性を評価する、請求項1に記載の情報処理システム。
The communication device
Generating a second authentication code identical to the first authentication code generated by the storage device;
Extracting the first security parameter from the composite parameter based on the composite parameter and the second authentication code;
Generating a second security parameter based on the content data included in the content data with the composite parameter;
The information processing system according to claim 1, wherein integrity of the content data is evaluated by comparing the extracted first security parameter with the generated second security parameter.
前記記憶装置は、前記第1のセキュリティパラメータと前記第1の認証コードとの排他的論理和演算によって、前記合成パラメータを生成し、
前記通信装置は、前記合成パラメータと前記第2の認証コードとの排他的論理和演算によって、前記合成パラメータから前記第1のセキュリティパラメータを抽出する、請求項2に記載の情報処理システム。
The storage device generates the composite parameter by performing an exclusive OR operation between the first security parameter and the first authentication code,
The information processing system according to claim 2, wherein the communication device extracts the first security parameter from the combined parameter by performing an exclusive OR operation between the combined parameter and the second authentication code.
前記通信装置は、
前記記憶装置が生成する前記第1の認証コードと同一の第2の認証コードを生成し、
前記合成パラメータ付きコンテンツデータに含まれる前記コンテンツデータに基づいて、第2のセキュリティパラメータを生成し、
前記合成パラメータと前記第2のセキュリティパラメータとに基づいて、前記合成パラメータから前記第1の認証コードを抽出し、
抽出した前記第1の認証コードと、生成した前記第2の認証コードとを比較することによって、前記記憶装置の正当性を認証する、請求項1〜3のいずれか一つに記載の情報処理システム。
The communication device
Generating a second authentication code identical to the first authentication code generated by the storage device;
Generating a second security parameter based on the content data included in the content data with the composite parameter;
Extracting the first authentication code from the composite parameter based on the composite parameter and the second security parameter;
The information processing according to any one of claims 1 to 3, wherein the authenticity of the storage device is authenticated by comparing the extracted first authentication code and the generated second authentication code. system.
前記記憶装置は、前記第1のセキュリティパラメータと前記第1の認証コードとの排他的論理和演算によって、前記合成パラメータを生成し、
前記通信装置は、前記合成パラメータと前記第2のセキュリティパラメータとの排他的論理和演算によって、前記合成パラメータから前記第1の認証コードを抽出する、請求項4に記載の情報処理システム。
The storage device generates the composite parameter by performing an exclusive OR operation between the first security parameter and the first authentication code,
The information processing system according to claim 4, wherein the communication device extracts the first authentication code from the combined parameter by performing an exclusive OR operation between the combined parameter and the second security parameter.
前記通信装置は、
ソフトウェア処理によって前記情報処理システムを制御する主制御部と、
前記主制御部とは別に実装され、ハードウェア処理によって前記記憶装置を制御する第1の制御回路と、
を有し、
前記記憶装置は、
前記記憶部を制御する第2の制御回路
をさらに有し、
前記アクセスコマンドの発行は、前記主制御部が実行し、
前記合成パラメータ付きコンテンツデータの受信と、前記第1のセキュリティパラメータ及び前記第1の認証コードの抽出と、前記コンテンツデータの完全性の評価と、前記記憶装置の正当性の認証とは、前記第1の制御回路が実行し、
前記アクセスコマンドの受信と、前記第1のセキュリティパラメータの生成と、前記合成パラメータの生成と、前記合成パラメータ付きコンテンツデータの生成及び送信とは、前記第2の制御回路が実行する、請求項1〜5のいずれか一つに記載の情報処理システム。
The communication device
A main control unit for controlling the information processing system by software processing;
A first control circuit that is mounted separately from the main control unit and controls the storage device by hardware processing;
Have
The storage device
A second control circuit for controlling the storage unit;
The issuing of the access command is executed by the main control unit,
The reception of the content data with the synthesis parameter, the extraction of the first security parameter and the first authentication code, the evaluation of the integrity of the content data, and the authentication of the validity of the storage device 1 control circuit is executed,
The reception of the access command, generation of the first security parameter, generation of the synthesis parameter, and generation and transmission of the content data with the synthesis parameter are executed by the second control circuit. Information processing system as described in any one of -5.
前記第1の制御回路は、前記合成パラメータ付きコンテンツデータに含まれる前記コンテンツデータを前記主制御部に入力し、前記記憶装置を不正と判定した場合及び/又は前記コンテンツデータの完全性を否定した場合には、その旨の通知を前記主制御部に入力する、請求項6に記載の情報処理システム。   The first control circuit inputs the content data included in the content data with the synthesis parameter to the main control unit, and determines that the storage device is illegal and / or denies the integrity of the content data. In the case, the information processing system according to claim 6, wherein a notification to that effect is input to the main control unit. 前記第1の制御回路は、前記記憶装置を不正と判定した場合及び/又は前記コンテンツデータの完全性を否定した場合には、前記合成パラメータ付きコンテンツデータに含まれる前記コンテンツデータを前記主制御部に入力しない、請求項6に記載の情報処理システム。   When the first control circuit determines that the storage device is illegal and / or denies the integrity of the content data, the first control circuit transfers the content data included in the content data with the synthesis parameter to the main control unit. The information processing system according to claim 6, wherein no information is input. 前記第1の制御回路はさらに、前記記憶装置を不正と判定した場合及び/又は前記コンテンツデータの完全性を否定した場合には、前記第1の制御回路と前記第2の制御回路との間での以後の通信を遮断する、請求項7又は8に記載の情報処理システム。   Further, the first control circuit further determines between the first control circuit and the second control circuit when the storage device is determined to be illegal and / or when the integrity of the content data is denied. The information processing system according to claim 7 or 8, wherein subsequent communication is blocked. 前記第1の制御回路は、
第1の数列を生成する第1の数列生成部と、
前記第1の数列に基づいて前記第2の認証コードを生成する第1の認証制御部と、
を含み、
前記第2の制御回路は、
前記第1の数列と同一の第2の数列を生成する第2の数列生成部と、
前記第2の数列に基づいて前記第1の認証コードを生成する第2の認証制御部と、
を含み、
前記第1の認証制御部は、前記合成パラメータから抽出した前記第1の認証コードと、前記第1の数列に基づいて生成した前記第2の認証コードとが一致するか否かによって、前記記憶装置の正当性を認証する、請求項6〜9のいずれか一つに記載の情報処理システム。
The first control circuit includes:
A first number sequence generator for generating a first number sequence;
A first authentication control unit that generates the second authentication code based on the first number sequence;
Including
The second control circuit includes:
A second number sequence generation unit for generating a second number sequence identical to the first number sequence;
A second authentication control unit for generating the first authentication code based on the second number sequence;
Including
The first authentication control unit stores the memory depending on whether the first authentication code extracted from the synthesis parameter matches the second authentication code generated based on the first number sequence. The information processing system according to claim 6, wherein authenticity of the device is authenticated.
前記第2の認証制御部は、前記第2の数列を圧縮することにより、前記第1の認証コードを生成する、請求項10に記載の情報処理システム。   The information processing system according to claim 10, wherein the second authentication control unit generates the first authentication code by compressing the second number sequence. 前記第1の数列生成部及び前記第2の数列生成部は、認証の処理毎に異なる前記第1の数列及び前記第2の数列をそれぞれ生成する、請求項10又は11に記載の情報処理システム。   The information processing system according to claim 10 or 11, wherein the first number sequence generation unit and the second number sequence generation unit generate the first number sequence and the second number sequence that are different for each authentication process. . 前記通信装置は、
前記記憶装置に前記通信装置を認証させるための第3の認証コードを前記アクセスコマンドに付加することによって、認証コード付きアクセスコマンドを生成し、
前記認証コード付きアクセスコマンドを前記記憶装置に送信し、
前記記憶装置は、
前記通信装置から前記認証コード付きアクセスコマンドを受信し、
前記認証コード付きアクセスコマンドに含まれる前記第3の認証コードに基づいて、前記通信装置の正当性を認証し、
前記通信装置を正当と判定した場合には、前記認証コード付きアクセスコマンドに含まれる前記アクセスコマンドに基づいて、前記記憶部にアクセスする、請求項1〜12のいずれか一つに記載の情報処理システム。
The communication device
Generating an access command with an authentication code by adding a third authentication code for authenticating the communication device to the storage device to the access command;
Sending the access command with the authentication code to the storage device;
The storage device
Receiving the access command with the authentication code from the communication device;
Authenticating the validity of the communication device based on the third authentication code included in the access command with the authentication code;
The information processing according to any one of claims 1 to 12, wherein when the communication device is determined to be valid, the storage unit is accessed based on the access command included in the access command with an authentication code. system.
前記記憶装置は、前記通信装置を不正と判定した場合には、前記アクセスコマンドに基づく前記記憶部へのアクセスを行わない、請求項13に記載の情報処理システム。   The information processing system according to claim 13, wherein the storage device does not access the storage unit based on the access command when the communication device is determined to be illegal. 前記記憶装置はさらに、前記通信装置を不正と判定した場合には、以後に前記通信装置から送信されるアクセスコマンドを受信しない、請求項14に記載の情報処理システム。   The information processing system according to claim 14, wherein the storage device further does not receive an access command transmitted from the communication device after that when determining that the communication device is illegal. 前記通信装置から前記記憶装置に送信される前記認証コード付きアクセスコマンドに含まれる前記第3の認証コードと、当該アクセスコマンドに応答して前記記憶装置から前記通信装置に送信される前記合成パラメータを生成する際に使用される前記第1の認証コードとは、互いに異なる、請求項13〜15のいずれか一つに記載の情報処理システム。
The third authentication code included in the access command with the authentication code transmitted from the communication device to the storage device, and the composite parameter transmitted from the storage device to the communication device in response to the access command. The information processing system according to any one of claims 13 to 15, wherein the first authentication code used for generation is different from each other.
JP2013149843A 2013-07-18 2013-07-18 Information processing system Active JP6124338B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2013149843A JP6124338B2 (en) 2013-07-18 2013-07-18 Information processing system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013149843A JP6124338B2 (en) 2013-07-18 2013-07-18 Information processing system

Publications (2)

Publication Number Publication Date
JP2015023414A JP2015023414A (en) 2015-02-02
JP6124338B2 true JP6124338B2 (en) 2017-05-10

Family

ID=52487528

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013149843A Active JP6124338B2 (en) 2013-07-18 2013-07-18 Information processing system

Country Status (1)

Country Link
JP (1) JP6124338B2 (en)

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4170466B2 (en) * 1998-09-18 2008-10-22 富士通株式会社 Command authentication method
JP2000332748A (en) * 1999-03-15 2000-11-30 Sony Corp Data processing system and method therefor
JP2003030153A (en) * 2001-07-13 2003-01-31 Mitsubishi Electric Corp Device and method for generating identification information
JP2003198541A (en) * 2001-12-28 2003-07-11 Matsushita Electric Ind Co Ltd Data verification system and device therefor
JP2005348306A (en) * 2004-06-07 2005-12-15 Yokosuka Telecom Research Park:Kk Electronic tag system, electronic tag, electronic tag reader/writer, and program
JP4791250B2 (en) * 2006-05-19 2011-10-12 ルネサスエレクトロニクス株式会社 Microcomputer and its software falsification prevention method
JP5759827B2 (en) * 2011-08-04 2015-08-05 株式会社メガチップス MEMORY SYSTEM, INFORMATION PROCESSING DEVICE, MEMORY DEVICE, AND MEMORY SYSTEM OPERATION METHOD
JP2013042330A (en) * 2011-08-15 2013-02-28 Kddi Corp Unidirectional communication system, method, and program

Also Published As

Publication number Publication date
JP2015023414A (en) 2015-02-02

Similar Documents

Publication Publication Date Title
TWI531925B (en) Data authentication method and apparatus thereof
WO2021012552A1 (en) Login processing method and related device
EP1983466B1 (en) Method and apparatus of secure authentication for system-on-chip (SoC)
KR100670005B1 (en) Apparatus for verifying memory integrity remotely for mobile platform and system thereof and method for verifying integrity
US9703945B2 (en) Secured computing system with asynchronous authentication
KR20210131444A (en) Identity creation for computing devices using physical copy protection
TWI809292B (en) Data encryption and decryption method, device, storage medium and encrypted file
TW201502847A (en) Systems, methods and apparatuses for using a secure non-volatile storage with a computer processor
CN112394877A (en) Method for secure memory and system thereof
JP2005260676A (en) Security system, information processing system, control method of security system, control method of information processing system, program capable of implementation in system for performing control method and ticket system
US9959403B2 (en) Information processing system for mutual authentication between communication device and storage
JP6387908B2 (en) Authentication system
US20100241865A1 (en) One-Time Password System Capable of Defending Against Phishing Attacks
RU2010105036A (en) MAS CODE CHECK WITHOUT ITS DISCLOSURE
US7979628B2 (en) Re-flash protection for flash memory
EP2701101B1 (en) Information processing devices and information processing methods
JP6246516B2 (en) Information processing system
JP6203556B2 (en) Information processing system
JP5436323B2 (en) COMMUNICATION DEVICE, COMMUNICATION SYSTEM, COMMUNICATION METHOD, AND COMMUNICATION PROGRAM
JP6124338B2 (en) Information processing system
JP6069120B2 (en) Information processing system
JP2015014839A (en) Information processing system
CN113508380A (en) Method for terminal entity authentication
CN113872769B (en) Device authentication method and device based on PUF, computer device and storage medium
CN117640256B (en) Data encryption method, recommendation device and storage medium of wireless network card

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20160329

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20170308

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20170330

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20170330

R150 Certificate of patent or registration of utility model

Ref document number: 6124338

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