JP6246516B2 - Information processing system - Google Patents

Information processing system Download PDF

Info

Publication number
JP6246516B2
JP6246516B2 JP2013153581A JP2013153581A JP6246516B2 JP 6246516 B2 JP6246516 B2 JP 6246516B2 JP 2013153581 A JP2013153581 A JP 2013153581A JP 2013153581 A JP2013153581 A JP 2013153581A JP 6246516 B2 JP6246516 B2 JP 6246516B2
Authority
JP
Japan
Prior art keywords
authentication
code
authentication code
communication device
code length
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
JP2013153581A
Other languages
Japanese (ja)
Other versions
JP2015026892A (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 JP2013153581A priority Critical patent/JP6246516B2/en
Publication of JP2015026892A publication Critical patent/JP2015026892A/en
Application granted granted Critical
Publication of JP6246516B2 publication Critical patent/JP6246516B2/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 thereto, in order to prevent content data stored in the semiconductor storage device from being read illegally, before permitting access to the content data, A technology (mutual authentication technology) in which a communication device and a semiconductor storage device mutually authenticate each other has been put into practical use.

一般的なチャレンジアンドレスポンス型の相互認証では、通信装置は、第1の認証コードを生成し、当該第1の認証コードを暗号化して半導体記憶装置に送信する。半導体記憶装置は、受信した第1の認証コードを復号した後、当該第1の認証コードを再び暗号化して通信装置に送信する。通信装置は、受信した第1の認証コードを復号した後、半導体記憶装置に送信した第1の認証コードと、半導体記憶装置から受信した第1の認証コードとが一致するか否かによって、半導体記憶装置の正当性を認証する。また、通信装置が半導体記憶装置の正当性を認証した後、半導体記憶装置は、第2の認証コードを生成し、当該第2の認証コードを暗号化して通信装置に送信する。通信装置は、受信した第2の認証コードを復号した後、当該第2の認証コードを再び暗号化して半導体記憶装置に送信する。半導体記憶装置は、受信した第2の認証コードを復号した後、通信装置に送信した第2の認証コードと、通信装置から受信した第2の認証コードとが一致するか否かによって、通信装置の正当性を認証する。   In general challenge-and-response mutual authentication, the communication device generates a first authentication code, encrypts the first authentication code, and transmits it 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

なお、下記特許文献1には、複数の相互認証手続を準備しておき、CPUが複数の相互認証手続の中から一の相互認証手続を選択することにより、その選択した相互認証手続をCPUが実行する情報処理装置が開示されている。   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 disclosed.

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

上述した一般的なチャレンジアンドレスポンス型の相互認証によると、通信装置と半導体記憶装置との間で授受される認証コードのコード長は、製品の実運用時に一意的に定められた固定値である。従って、攻撃者が認証コードの解析を行う際に、通信装置と半導体記憶装置との間で送受信される様々なデータのうちのどの部分のデータが認証コードであるかが、攻撃者によって特定されやすい。また、攻撃者によるハッキング技術の向上に対抗してシステムのセキュリティ強度を向上したい場合であっても、認証コードを複雑化するという観点からの対策をとることが困難である。   According to the general challenge-and-response mutual authentication described above, the code length of the authentication code exchanged between the communication device and the semiconductor memory device is a fixed value uniquely determined during actual operation of the product. . Therefore, when the attacker analyzes the authentication code, the attacker identifies which part of the various data transmitted and received between the communication device and the semiconductor storage device is the authentication code. Cheap. Even if it is desired to improve the security strength of the system against the improvement of hacking technology by an attacker, it is difficult to take measures from the viewpoint of complicating the authentication code.

本発明はかかる事情に鑑みて成されたものであり、認証コードのコード長が固定値である情報処理システムよりもセキュリティ強度を向上することが可能な、情報処理システムを得ることを目的とするものである。   The present invention has been made in view of such circumstances, and an object of the present invention is to obtain an information processing system capable of improving the security strength as compared with an information processing system in which the code length of an authentication code is a fixed value. Is.

本発明の第1の態様に係る情報処理システムは、通信装置と、前記通信装置に接続される記憶装置と、を備える情報処理システムであって、前記通信装置は、ソフトウェア処理によって前記情報処理システムを制御する主制御部と、前記主制御部とは別に実装され、ハードウェア処理によって前記記憶装置を制御する第1の制御回路と、を有し、前記記憶装置は、コンテンツデータが記憶された記憶部と、前記記憶部を制御する第2の制御回路と、を有し、前記第1の制御回路は、第1の数列と第4の数列とを順に生成する第1の数列生成部と、第1の認証制御部と、を含み、前記第2の制御回路は、前記第1の数列と同一の第2の数列と、前記第4の数列と同一の第3の数列とを順に生成する第2の数列生成部と、第2の認証制御部と、を含み、前記第1の認証制御部は、第1の認証コードのコード長の設定値に基づいて、当該設定値に相当するビット長の前記第1の数列を前記第1の数列生成部から取得することにより、当該第1の数列を含む前記第1の認証コードを生成し、前記第1の認証コードと、当該第1の認証コードのコード長を示す第1のコード長情報とを含む認証コマンドを、前記記憶装置に送信し、前記第2の認証制御部は、前記第1のコード長情報に相当するビット長の前記第2の数列を前記第2の数列生成部から取得することにより、当該第2の数列を含む第2の認証コードを生成し、前記通信装置から受信した前記第1の認証コードと、自身が生成した前記第2の認証コードとが一致するか否かによって、前記通信装置を認証し、前記第2の認証制御部は、第3の認証コードのコード長の設定値に基づいて、当該設定値に相当するビット長の前記第3の数列を前記第2の数列生成部から取得することにより、当該第3の数列を含む前記第3の認証コードを生成し、前記第3の認証コードと、当該第3の認証コードのコード長を示す第2のコード長情報とを、前記通信装置に送信し、前記第1の認証制御部は、前記第2のコード長情報に相当するビット長の前記第4の数列を前記第1の数列生成部から取得することにより、当該第4の数列を含む第4の認証コードを生成し、前記記憶装置から受信した前記第3の認証コードと、自身が生成した前記第4の認証コードとが一致するか否かによって、前記記憶装置を認証し、前記通信装置は、前記第1の認証コードのコード長を可変に設定可能であり、前記記憶装置は、前記第3の認証コードのコード長を可変に設定可能であり、前記記憶装置は、前記第3の認証コードのコード長を、前記第1の認証コードのコード長とは異なる値に設定することを特徴とするものである。
An information processing system according to a first aspect of the present invention is an information processing system including a communication device and a storage device connected to the communication device, and the communication device is configured to perform 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, and the storage device stores content data A first number sequence generation unit that sequentially generates a first number sequence and a fourth number sequence; and a storage unit; and a second control circuit that controls the storage unit. And the first authentication control unit, wherein the second control circuit sequentially generates a second number sequence that is the same as the first number sequence and a third number sequence that is the same as the fourth number sequence. A second number sequence generation unit and a second authentication control unit Therefore, the first authentication control unit obtains the first number sequence having a bit length corresponding to the set value from the first number sequence generation unit based on the set value of the code length of the first authentication code. By doing so, the first authentication code including the first number sequence is generated, and the first authentication code and the authentication including the first code length information indicating the code length of the first authentication code The command is transmitted to the storage device, and the second authentication control unit acquires the second number sequence having a bit length corresponding to the first code length information from the second number sequence generation unit. , Generating a second authentication code including the second number sequence, whether the first authentication code received from the communication device and the second authentication code generated by itself match, The communication device is authenticated, and the second authentication control unit is Based on the set value of the code length of the third authentication code, the third number sequence having the bit length corresponding to the set value is acquired from the second number sequence generating unit, thereby including the third number sequence The third authentication code is generated, and the third authentication code and second code length information indicating the code length of the third authentication code are transmitted to the communication device, and the first authentication is performed. The control unit generates the fourth authentication code including the fourth number sequence by obtaining the fourth number sequence having the bit length corresponding to the second code length information from the first number sequence generating unit. The storage device is authenticated based on whether the third authentication code received from the storage device matches the fourth authentication code generated by the storage device, and the communication device The code length of the authentication code can be set variably, The storage device can variably set the code length of the third authentication code, and the storage device has a code length of the third authentication code different from a code length of the first authentication code. It is characterized by being set to a value .

第1の態様に係る情報処理システムによれば、通信装置は、記憶装置に通信装置を認証させるための第1の認証コードのコード長を可変に設定可能である。従って、認証の処理毎に、あるいは任意のタイミングで、第1の認証コードのコード長を異ならせることができる。また、攻撃者によるハッキング技術の向上に対抗して、第1の認証コードのコード長を拡大することができる。さらに、記憶装置から通信装置に送信するコンテンツデータの機密レベルに応じて、第1の認証コードのコード長を異ならせることができる。その結果、認証コードのコード長が固定値である情報処理システムよりもセキュリティ強度を向上することが可能となる。
また、第1の態様に係る情報処理システムによれば、第1の認証制御部は、第1の認証コードのコード長の設定値に基づいて、当該設定値に相当するビット長の第1の数列を第1の数列生成部から取得することにより、当該第1の数列を含む第1の認証コードを生成する。従って、第1の認証制御部が第1の数列生成部から取得する第1の数列のビット長を、コード長の設定値に応じて異ならせることにより、コード長が異なる様々な第1の認証コードを簡易に生成することが可能となる。
また、第1の態様に係る情報処理システムによれば、第2の数列生成部は、第1の数列と同一の第2の数列を生成する。また、第2の認証制御部は、第1のコード長情報に相当するビット長の第2の数列を第2の数列生成部から取得することにより、当該第2の数列を含む第2の認証コードを生成する。そして、第2の認証制御部は、通信装置から受信した第1の認証コードと、自身が生成した第2の認証コードとが一致するか否かによって、通信装置を認証する。通信装置が正当である場合には第1の認証コードと第2の認証コードとは一致し、通信装置が不正である場合には第1の認証コードと第2の認証コードとは一致しない。従って、第1の認証コードと第2の認証コードとが一致するか否かによって、通信装置が正当であるか不正であるかを簡易かつ確実に認証することが可能となる。
また、第1の態様に係る情報処理システムによれば、記憶装置は、通信装置に記憶装置を認証させるための第3の認証コードのコード長を可変に設定可能である。従って、認証の処理毎に、あるいは任意のタイミングで、第3の認証コードのコード長を異ならせることができる。また、攻撃者によるハッキング技術の向上に対抗して、第3の認証コードのコード長を拡大することができる。さらに、記憶装置から通信装置に送信するコンテンツデータの機密レベルに応じて、第3の認証コードのコード長を異ならせることができる。その結果、認証コードのコード長が固定値である情報処理システムよりもセキュリティ強度を向上することが可能となる。
また、第1の態様に係る情報処理システムによれば、第2の認証制御部は、第3の認証コードのコード長の設定値に基づいて、当該設定値に相当するビット長の第3の数列を第2の数列生成部から取得することにより、当該第3の数列を含む第3の認証コードを生成する。従って、第2の認証制御部が第2の数列生成部から取得する第3の数列のビット長を、コード長の設定値に応じて異ならせることにより、コード長が異なる様々な第3の認証コードを簡易に生成することが可能となる。
また、第1の態様に係る情報処理システムによれば、第1の数列生成部は、第3の数列と同一の第4の数列を生成する。また、第1の認証制御部は、第2のコード長情報に相当するビット長の第4の数列を第1の数列生成部から取得することにより、当該第4の数列を含む第4の認証コードを生成する。そして、第1の認証制御部は、記憶装置から受信した第3の認証コードと、自身が生成した第4の認証コードとが一致するか否かによって、記憶装置を認証する。記憶装置が正当である場合には第3の認証コードと第4の認証コードとは一致し、記憶装置が不正である場合には第3の認証コードと第4の認証コードとは一致しない。従って、第3の認証コードと第4の認証コードとが一致するか否かによって、記憶装置が正当であるか不正であるかを簡易かつ確実に認証することが可能となる。
According to the information processing system according to the first aspect, the communication device can variably set the code length of the first authentication code for causing the storage device to authenticate the communication device. Therefore, the code length of the first authentication code can be varied for each authentication process or at an arbitrary timing. Further, the code length of the first authentication code can be expanded against the improvement of the hacking technique by the attacker. Furthermore, the code length of the first authentication code can be varied according to the confidential level of the content data transmitted from the storage device to the communication device. As a result, the security strength can be improved as compared with the information processing system in which the code length of the authentication code is a fixed value.
Further, according to the information processing system according to the first aspect, the first authentication control unit, based on the set value of the code length of the first authentication code, the first bit length corresponding to the set value By acquiring the sequence from the first sequence generator, a first authentication code including the first sequence is generated. Therefore, various first authentications having different code lengths are made by varying the bit length of the first number sequence acquired from the first number sequence generation unit by the first authentication control unit according to the set value of the code length. Code can be generated easily.
Moreover, according to the information processing system which concerns on a 1st aspect, a 2nd number sequence production | generation part produces | generates the 2nd number sequence same as a 1st number sequence. In addition, the second authentication control unit obtains a second number sequence having a bit length corresponding to the first code length information from the second number sequence generation unit, so that the second authentication including the second number sequence is performed. Generate code. Then, the second authentication control unit authenticates the communication device based on whether or not the first authentication code received from the communication device matches the second authentication code generated by itself. When the communication device is valid, the first authentication code and the second authentication code match, and when the communication device is illegal, the first authentication code and the second authentication code do not match. Therefore, it is possible to easily and reliably authenticate whether the communication device is valid or invalid depending on whether or not the first authentication code and the second authentication code match.
Moreover, according to the information processing system which concerns on a 1st aspect, the memory | storage device can variably set the code length of the 3rd authentication code for making a communication apparatus authenticate a memory | storage device. Therefore, the code length of the third authentication code can be varied for each authentication process or at an arbitrary timing. Moreover, the code length of the third authentication code can be expanded against the improvement of the hacking technique by the attacker. Furthermore, the code length of the third authentication code can be varied according to the security level of the content data transmitted from the storage device to the communication device. As a result, the security strength can be improved as compared with the information processing system in which the code length of the authentication code is a fixed value.
Further, according to the information processing system according to the first aspect, the second authentication control unit, based on the set value of the code length of the third authentication code, the third bit length corresponding to the set value. A third authentication code including the third number sequence is generated by acquiring the number sequence from the second number sequence generation unit. Accordingly, various third authentications having different code lengths are made by varying the bit length of the third number sequence acquired by the second authentication control unit from the second number sequence generating unit according to the set value of the code length. Code can be generated easily.
Moreover, according to the information processing system which concerns on a 1st aspect, a 1st number sequence production | generation part produces | generates the 4th number sequence same as a 3rd number sequence. In addition, the first authentication control unit obtains a fourth number sequence having a bit length corresponding to the second code length information from the first number sequence generation unit, whereby a fourth authentication including the fourth number sequence is performed. Generate code. Then, the first authentication control unit authenticates the storage device depending on whether or not the third authentication code received from the storage device matches the fourth authentication code generated by itself. If the storage device is valid, the third authentication code and the fourth authentication code match. If the storage device is illegal, the third authentication code and the fourth authentication code do not match. Therefore, it is possible to simply and reliably authenticate whether the storage device is valid or illegal depending on whether or not the third authentication code and the fourth authentication code match.

本発明の第2の態様に係る情報処理システムは、第1の態様に係る情報処理システムにおいて特に、前記通信装置は、前記第1の認証コードのコード長をランダムに設定することを特徴とするものである。   The information processing system according to a second aspect of the present invention is characterized in that, in the information processing system according to the first aspect, the communication device randomly sets a code length of the first authentication code. Is.

第2の態様に係る情報処理システムによれば、通信装置は、第1の認証コードのコード長をランダムに設定する。従って、第1の認証コードのコード長はランダムに変更されるため、攻撃者が認証コードの解析を行う際に、通信装置と記憶装置との間で送受信される様々なデータのうちのどの部分のデータが認証コードであるかを、攻撃者が特定することが困難である。その結果、攻撃者による認証コードの解析がさらに困難となるため、セキュリティ強度をさらに向上することが可能となる。   According to the information processing system according to the second aspect, the communication device randomly sets the code length of the first authentication code. Accordingly, since the code length of the first authentication code is randomly changed, any part of various data transmitted and received between the communication device and the storage device when the attacker analyzes the authentication code. It is difficult for an attacker to specify whether or not the data is an authentication code. As a result, it becomes more difficult for an attacker to analyze the authentication code, so that the security strength can be further improved.

本発明の第3の態様に係る情報処理システムは、第1の態様に係る情報処理システムにおいて特に、前記通信装置は、前記第1の認証コードのコード長を、前記情報処理システムに要求されるセキュリティ強度に応じて設定することを特徴とするものである。   The information processing system according to a third aspect of the present invention is the information processing system according to the first aspect, and in particular, the communication device is required to have the code length of the first authentication code from the information processing system. It is set according to the security strength.

第3の態様に係る情報処理システムによれば、通信装置は、第1の認証コードのコード長を、情報処理システムに要求されるセキュリティ強度に応じて設定する。従って、攻撃者によるハッキング技術の向上に対抗して以前より高いセキュリティ強度が要求された場合には、第1の認証コードのコード長を以前より拡大して設定することができる。その結果、攻撃者による認証コードの解析が困難となるため、セキュリティ強度を向上することが可能となる。   According to the information processing system according to the third aspect, the communication device sets the code length of the first authentication code according to the security strength required for the information processing system. Therefore, when higher security strength is required than before in order to counter the improvement of the hacking technique by the attacker, the code length of the first authentication code can be set larger than before. As a result, since it is difficult for an attacker to analyze the authentication code, the security strength can be improved.

本発明の第4の態様に係る情報処理システムは、第1の態様に係る情報処理システムにおいて特に、前記通信装置は、前記第1の認証コードのコード長を、前記記憶装置から前記通信装置に送信するコンテンツデータの機密レベルに応じて設定することを特徴とするものである。   The information processing system according to a fourth aspect of the present invention is the information processing system according to the first aspect, in particular, the communication device transmits the code length of the first authentication code from the storage device to the communication device. It is characterized in that it is set according to the security level of the content data to be transmitted.

第4の態様に係る情報処理システムによれば、通信装置は、第1の認証コードのコード長を、記憶装置から通信装置に送信するコンテンツデータの機密レベルに応じて設定する。従って、機密レベルが高いコンテンツデータほど第1の認証コードのコード長を拡大して設定することにより、セキュリティ強度を向上することが可能となる。   According to the information processing system according to the fourth aspect, the communication device sets the code length of the first authentication code according to the security level of the content data transmitted from the storage device to the communication device. Accordingly, it is possible to improve the security strength by enlarging and setting the code length of the first authentication code for content data having a higher confidential level.

本発明の第5の態様に係る情報処理システムは、第1〜第4のいずれか一つの態様に係る情報処理システムにおいて特に、前記第1の認証コードのコード長の設定は、前記第1の制御回路が実行することを特徴とするものである。
The information processing system according to a fifth aspect of the present invention is the first to fourth information processing system according to any one of the embodiments of the previous SL code length setting of the first authentication code, said first The control circuit is executed.

第5の態様に係る情報処理システムによれば、第1の制御回路は、ハードウェア処理によって第1の認証コードのコード長を設定する。従って、プログラム解析等によって主制御部の制御を改変するような攻撃を受けた場合であっても、第1の制御回路によるハードウェア処理の内容が解析されない限り、攻撃者によって第1の認証コードのコード長が特定されることはない。その結果、攻撃者による認証コードの解析がさらに困難となるため、セキュリティ強度をさらに向上することが可能となる。   According to the information processing system according to the fifth aspect, the first control circuit sets the code length of the first authentication code by hardware processing. Therefore, even if an attack that alters the control of the main control unit by program analysis or the like is performed, the first authentication code is not deleted by the attacker unless the contents of the hardware processing by the first control circuit are analyzed. No code length is specified. As a result, it becomes more difficult for an attacker to analyze the authentication code, so that the security strength can be further improved.

本発明の第6の態様に係る情報処理システムは、第1〜第4のいずれか一つの態様に係る情報処理システムにおいて特に、前記第1の認証コードのコード長の設定は、前記主制御部が実行することを特徴とするものである。
The information processing system according to a sixth aspect of the present invention is the first to fourth information processing system according to any one of the embodiments of the previous SL code length setting of the first authentication code, the main control Is executed by the unit.

第6の態様に係る情報処理システムによれば、主制御部は、ソフトウェア処理によって第1の認証コードのコード長を設定する。従って、第1の認証コードのコード長を設定するための回路を第1の制御回路に実装する必要がないため、回路構成の簡略化及びコストの削減を図ることが可能となる。   According to the information processing system according to the sixth aspect, the main control unit sets the code length of the first authentication code by software processing. Therefore, since it is not necessary to mount a circuit for setting the code length of the first authentication code in the first control circuit, the circuit configuration can be simplified and the cost can be reduced.

本発明の第7の態様に係る情報処理システムは、第1〜第6のいずれか一つの態様に係る情報処理システムにおいて特に、前記記憶装置は、前記第の認証コードのコード長をランダムに設定することを特徴とするものである。
The information processing system according to a seventh aspect of the present invention is the information processing system according to any one of the first to sixth aspects, in particular, the storage device randomly sets a code length of the third authentication code. It is characterized by being set to.

第7の態様に係る情報処理システムによれば、記憶装置は、第の認証コードのコード長をランダムに設定する。従って、第の認証コードのコード長はランダムに変更されるため、攻撃者が認証コードの解析を行う際に、通信装置と記憶装置との間で送受信される様々なデータのうちのどの部分のデータが認証コードであるかを、攻撃者が特定することが困難である。その結果、攻撃者による認証コードの解析がさらに困難となるため、セキュリティ強度をさらに向上することが可能となる。
According to the information processing system according to the seventh aspect, the storage device randomly sets the code length of the third authentication code. Accordingly, since the code length of the third authentication code is randomly changed, any part of various data transmitted and received between the communication device and the storage device when the attacker analyzes the authentication code. It is difficult for an attacker to specify whether or not the data is an authentication code. As a result, it becomes more difficult for an attacker to analyze the authentication code, so that the security strength can be further improved.

本発明の第8の態様に係る情報処理システムは、第1〜第6のいずれか一つの態様に係る情報処理システムにおいて特に、前記記憶装置は、前記第の認証コードのコード長を、前記情報処理システムに要求されるセキュリティ強度に応じて設定することを特徴とするものである。
In the information processing system according to the eighth aspect of the present invention, in particular in the information processing system according to any one of the first to sixth aspects, the storage device stores the code length of the third authentication code, It is set according to the security strength required for the information processing system.

第8の態様に係る情報処理システムによれば、記憶装置は、第の認証コードのコード長を、情報処理システムに要求されるセキュリティ強度に応じて設定する。従って、攻撃者によるハッキング技術の向上に対抗して以前より高いセキュリティ強度が要求された場合には、第の認証コードのコード長を以前より拡大して設定することができる。その結果、攻撃者による認証コードの解析が困難となるため、セキュリティ強度を向上することが可能となる。
According to the information processing system in the eighth aspect, the storage device sets the code length of the third authentication code according to the security strength required for the information processing system. Therefore, when a higher security strength is required than before to improve the hacking technique by the attacker, the code length of the third authentication code can be set larger than before. As a result, since it is difficult for an attacker to analyze the authentication code, the security strength can be improved.

本発明の第9の態様に係る情報処理システムは、第1〜第6のいずれか一つの態様に係る情報処理システムにおいて特に、前記記憶装置は、前記第の認証コードのコード長を、前記通信装置に送信するコンテンツデータの機密レベルに応じて設定することを特徴とするものである。
In the information processing system according to the ninth aspect of the present invention, in particular in the information processing system according to any one of the first to sixth aspects, the storage device stores the code length of the third authentication code, It is set according to the security level of the content data transmitted to the communication device.

第9の態様に係る情報処理システムによれば、記憶装置は、第の認証コードのコード長を、通信装置に送信するコンテンツデータの機密レベルに応じて設定する。従って、機密レベルが高いコンテンツデータほど第の認証コードのコード長を拡大して設定することにより、セキュリティ強度を向上することが可能となる。
According to the information processing system according to the ninth aspect, the storage device sets the code length of the third authentication code in accordance with the confidential level of the content data transmitted to the communication device. Accordingly, it is possible to improve the security strength by enlarging and setting the code length of the third authentication code for content data having a higher security level.

本発明の第10の態様に係る情報処理システムは、第1〜第9のいずれか一つの態様に係る情報処理システムにおいて特に、前記第の認証コードのコード長の設定は、前記第2の制御回路が実行することを特徴とするものである。
The information processing system according to a tenth aspect of the present invention is the information processing system according to the first to ninth any one aspect of the code length setting before Symbol third authentication code, said second The control circuit is executed.

第10の態様に係る情報処理システムによれば、第の認証コードのコード長の設定は、第2の制御回路が実行する。従って、プログラム解析等によって通信装置の主制御部の制御を改変するような攻撃を受けた場合であっても、第2の制御回路によるハードウェア処理の内容が解析されない限り、攻撃者によって第の認証コードのコード長が特定されることはない。その結果、攻撃者による認証コードの解析がさらに困難となるため、セキュリティ強度をさらに向上することが可能となる。
According to the information processing system according to the tenth aspect, the setting of the code length of the third authentication code is executed by the second control circuit. Therefore, even if an attack that alters the control of the main control unit of the communication device is received by program analysis or the like, the third person cannot perform the third processing unless the contents of the hardware processing by the second control circuit are analyzed. The code length of the authentication code is not specified. As a result, it becomes more difficult for an attacker to analyze the authentication code, so that the security strength can be further improved.

本発明の第11の態様に係る情報処理システムは、第1〜第9のいずれか一つの態様に係る情報処理システムにおいて特に、前記第の認証コードのコード長の設定は、前記主制御部が実行することを特徴とするものである。
The information processing system according to an eleventh aspect of the present invention is the information processing system according to the first to ninth any one aspect of the code length setting before Symbol third authentication code, the main control Is executed by the unit.

第11の態様に係る情報処理システムによれば、第の認証コードのコード長の設定は、通信装置の主制御部が実行する。従って、第の認証コードのコード長を設定するための回路を第2の制御回路に実装する必要がないため、回路構成の簡略化及びコストの削減を図ることが可能となる。
According to the information processing system according to the eleventh aspect, the setting of the code length of the third authentication code is executed by the main control unit of the communication device. Therefore, since it is not necessary to mount a circuit for setting the code length of the third authentication code in the second control circuit, the circuit configuration can be simplified and the cost can be reduced.

本発明の第12の態様に係る情報処理システムは、第1〜第11のいずれか一つの態様に係る情報処理システムにおいて特に、前記記憶装置は、前記通信装置を正当と判定した場合に、前記第1の認証コードに応答して前記第の認証コードを前記通信装置に送信することを特徴とするものである。
The information processing system according to a twelfth aspect of the present invention is the information processing system according to any one of the first to eleventh aspects, particularly when the storage device determines that the communication device is valid. In response to the first authentication code, the third authentication code is transmitted to the communication device.

第12の態様に係る情報処理システムによれば、記憶装置は、第1の認証コードに基づいて通信装置を認証し、通信装置を正当と判定した場合には、第1の認証コードに応答して第の認証コードを通信装置に送信し、通信装置は、第の認証コードに基づいて記憶装置を認証する。従って、通信装置から記憶装置への第1の認証コードの送信と、それに応答する記憶装置から通信装置への第の認証コードの送信との、一往復の通信によって、通信装置と記憶装置との相互認証を行うことができる。その結果、通信装置及び記憶装置それぞれからの往復通信(合計で二往復の通信)が必要となる一般的なチャレンジアンドレスポンス型の相互認証と比較すると、処理の高速化及び効率化を図ることが可能となる。
According to the information processing system of the twelfth aspect, the storage device authenticates the communication device based on the first authentication code, and responds to the first authentication code when determining that the communication device is valid. The third authentication code is transmitted to the communication device, and the communication device authenticates the storage device based on the third authentication code. Therefore, the communication device and the storage device can be communicated in a single round-trip communication between the transmission of the first authentication code from the communication device to the storage device and the transmission of the third authentication code 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.

本発明によれば、認証コードのコード長が固定値である情報処理システムよりもセキュリティ強度を向上することが可能となる。   According to the present invention, it is possible to improve the security strength as compared with the information processing system in which the code length of the authentication code is a fixed value.

情報処理システムの全体構成を概略的に示す図である。1 is a diagram schematically showing an overall configuration of an information processing system. マイクロプロセッサの構成を示す図である。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 code length setting part. メモリコントローラの構成を示す図である。It is a figure which shows the structure of a memory controller. コード長設定部の構成を示す図である。It is a figure which shows the structure of a code length setting part. 認証コマンドを示す図である。It is a figure which shows an authentication command. 認証コマンドを示す図である。It is a figure which shows an authentication command. 認証コードを示す図である。It is a figure which shows an authentication code. メモリコントローラの構成を示す図である。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 memory space of a memory array. メモリアレイのメモリ空間を示す図である。It is a figure which shows the memory space of a memory array.

以下、本発明の実施の形態について、図面を用いて詳細に説明する。なお、異なる図面において同一の符号を付した要素は、同一又は相応する要素を示すものとする。   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は、メモリコントローラ12の構成を示す図である。図3の接続関係で示すように、メモリコントローラ12は、鍵生成部51(第1の数列生成部)、暗号化・復号部52、認証制御部53(第1の認証制御部)、マスク回路54,55、及びコード長設定部56を備えて構成されている。鍵生成部51は、機密性の高い固定値の共有鍵Pを用いて、所定の乱数生成アルゴリズムによってランダムな数列(以下の例ではセッション鍵K)を生成する。鍵生成部51は、メモリコントローラ12がマイクロプロセッサ11から認証コマンドC0を受領する度に、毎回異なるセッション鍵K(ナンス)を生成する。   FIG. 3 is a diagram illustrating a configuration of the memory controller 12. 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 code length setting unit 56. 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 the authentication command C0 from the microprocessor 11.

図4は、コード長設定部56の構成を示す図である。コード長設定部56は、乱数生成器71及び不揮発性メモリ72を備えて構成されている。不揮発性メモリ72には、複数のインデックス値と複数のコード長との対応関係が記述されたデータテーブル73が格納されている。図4に示した例では、インデックス値「00」「01」「10」「11」は、それぞれコード長「64ビット」「128ビット」「192ビット」「256ビット」に対応する。なお、図4に示したデータテーブル73における項目数やコード長の数値は一例であり、この例に限定されるものではない。   FIG. 4 is a diagram showing the configuration of the code length setting unit 56. The code length setting unit 56 includes a random number generator 71 and a nonvolatile memory 72. The non-volatile memory 72 stores a data table 73 in which correspondence relationships between a plurality of index values and a plurality of code lengths are described. In the example shown in FIG. 4, the index values “00”, “01”, “10”, and “11” correspond to the code lengths “64 bits”, “128 bits”, “192 bits”, and “256 bits”, respectively. Note that the numbers of items and code lengths in the data table 73 shown in FIG. 4 are examples, and are not limited to these examples.

図5は、メモリコントローラ21の構成を示す図である。図5の接続関係で示すように、メモリコントローラ21は、鍵生成部61(第2の数列生成部)、暗号化・復号部62、認証制御部63(第2の認証制御部)、及びコード長設定部64を備えて構成されている。鍵生成部61は、鍵生成部51が保持している共有鍵Pと同一の共有鍵Pを用いて、鍵生成部51と同一の乱数生成アルゴリズムによって、鍵生成部51が生成するセッション鍵Kと同一のセッション鍵Kを生成する。鍵生成部61は、メモリコントローラ21がメモリコントローラ12から暗号化認証コマンドXを受信する度に、毎回異なるセッション鍵Kを生成する。   FIG. 5 is a diagram showing the configuration of the memory controller 21. As shown in the connection relationship of FIG. 5, 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 code. A length setting unit 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 the encrypted authentication command X from the memory controller 12.

図6は、コード長設定部64の構成を示す図である。コード長設定部64は、乱数生成器81及び不揮発性メモリ82を備えて構成されている。不揮発性メモリ82には、複数のインデックス値と複数のコード長との対応関係が記述されたデータテーブル83が格納されている。図6に示した例では、インデックス値「00」「01」「10」「11」は、それぞれコード長「64ビット」「128ビット」「192ビット」「256ビット」に対応する。なお、図6に示したデータテーブル83における項目数やコード長の数値は一例であり、この例に限定されるものではない。また、不揮発性メモリ82を省略して、データテーブル83をメモリアレイ22内に格納しても良い。さらに、データテーブル73とデータテーブル83とで、共通のインデックス値に対応して異なるコード長を記述しても良い。   FIG. 6 is a diagram illustrating a configuration of the code length setting unit 64. The code length setting unit 64 includes a random number generator 81 and a nonvolatile memory 82. The non-volatile memory 82 stores a data table 83 in which correspondence relationships between a plurality of index values and a plurality of code lengths are described. In the example illustrated in FIG. 6, the index values “00”, “01”, “10”, and “11” correspond to the code lengths “64 bits”, “128 bits”, “192 bits”, and “256 bits”, respectively. Note that the numbers of items and code lengths in the data table 83 shown in FIG. 6 are examples, and are not limited to these examples. Further, the nonvolatile memory 82 may be omitted and the data table 83 may be stored in the memory array 22. Furthermore, different code lengths may be described in the data table 73 and the data table 83 corresponding to the common index value.

以下、図3〜6を参照して、通信装置2と半導体記憶装置3との相互認証の処理について説明する。前提として、暗号化・復号部52,62は、鍵生成部51,61が前回生成したセッション鍵K(N−1)によって初期化されているものとする。また、相互認証の処理が完了して通信装置2及び半導体記憶装置3の正当性が互いに認証されるまでは、マイクロプロセッサ11からメモリアレイ22へのアクセスは許可されていない。   Hereinafter, a mutual authentication process between the communication device 2 and the semiconductor memory device 3 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. Further, access from the microprocessor 11 to the memory array 22 is not permitted until the mutual authentication process is completed and the authenticity of the communication device 2 and the semiconductor storage device 3 is mutually authenticated.

まずマイクロプロセッサ11は、相互認証の実行を指示するための所定バイト長の認証コマンドC0を発行する。図7は、認証コマンドC0を示す図である。認証コマンドC0は、それが認証コマンドであることを識別するための特定のコマンドIDと、無意味なデータによって埋められた未定義領域とを含む。メモリコントローラ12は、マイクロプロセッサ11から認証コマンドC0を受領し、受領した認証コマンドC0を認証制御部53に入力する。   First, the microprocessor 11 issues an authentication command C0 having a predetermined byte length for instructing execution of mutual authentication. FIG. 7 is a diagram showing the authentication command C0. The authentication command C0 includes a specific command ID for identifying that it is an authentication command, and an undefined area filled with meaningless data. The memory controller 12 receives the authentication command C0 from the microprocessor 11 and inputs the received authentication command C0 to the authentication control unit 53.

次にコード長設定部56は、認証制御部53からの要求に従って、半導体記憶装置3が通信装置2を認証するための認証コードS(N)のコード長を設定する。具体的に、コード長設定部56は、乱数生成器71によってディジタル乱数を生成し、そのディジタル乱数の例えば下位2ビットをインデックス値として採用する。そして、データテーブル73を参照することにより、そのインデックス値に対応するコード長を特定して、そのコード長を認証コードS(N)のコード長として設定する。コード長設定部56は、コード長の設定値をデータM1として認証制御部53に入力する。   Next, the code length setting unit 56 sets the code length of the authentication code S (N) for the semiconductor storage device 3 to authenticate the communication device 2 in accordance with a request from the authentication control unit 53. Specifically, the code length setting unit 56 generates a digital random number using the random number generator 71 and adopts, for example, the lower 2 bits of the digital random number as an index value. Then, by referring to the data table 73, the code length corresponding to the index value is specified, and the code length is set as the code length of the authentication code S (N). The code length setting unit 56 inputs the set value of the code length to the authentication control unit 53 as data M1.

次に鍵生成部51は、認証制御部53からの要求に従って、データM1で示されるコード長設定値に相当するビット長を有する、今回のセッション鍵K(N)を生成する。鍵生成部51は、生成したセッション鍵K(N)を暗号化・復号部52及び認証制御部53に入力する。   Next, in accordance with a request from the authentication control unit 53, the key generation unit 51 generates the current session key K (N) having a bit length corresponding to the code length setting value indicated by the data M1. The key generation unit 51 inputs the generated session key K (N) to the encryption / decryption unit 52 and the authentication control unit 53.

次に認証制御部53は、認証コマンドC0及びセッション鍵K(N)に基づいて認証コマンドC1(N)を生成する。具体的に、認証制御部53は、鍵生成部51から入力されたセッション鍵K(N)を、そのまま認証コードS(N)として採用する。そして、認証コマンドC0の未定義領域のデータを、先頭から順に、認証コードS(N)のコード長を示すコード長情報L(N)と認証コードS(N)とによって置き換えることにより、コマンドIDとコード長情報L(N)と認証コードS(N)とを含む認証コマンドC1(N)を生成する。図8は、認証コマンドC1を示す図である。認証制御部53は、生成した認証コマンドC1(N)を暗号化・復号部52に入力する。   Next, the authentication control unit 53 generates an authentication command C1 (N) based on the authentication command C0 and the session key K (N). Specifically, the authentication control unit 53 directly adopts the session key K (N) input from the key generation unit 51 as the authentication code S (N). Then, the command ID is replaced by replacing the data in the undefined area of the authentication command C0 with code length information L (N) indicating the code length of the authentication code S (N) and the authentication code S (N) in order from the top. And an authentication command C1 (N) including the code length information L (N) and the authentication code S (N). FIG. 8 is a diagram showing the authentication command C1. The authentication control unit 53 inputs the generated authentication command C <b> 1 (N) to the encryption / decryption unit 52.

次に暗号化・復号部52は、現在設定されているセッション鍵K(N−1)を用いて認証コマンドC1(N)を暗号化することにより、暗号化認証コマンドX(N)を生成する。そして、生成した暗号化認証コマンドX(N)をメモリコントローラ21に送信する。   Next, the encryption / decryption unit 52 generates the encrypted authentication command X (N) by encrypting the authentication command C1 (N) using the currently set session key K (N-1). . Then, the generated encrypted authentication command X (N) 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.

メモリコントローラ21は、メモリコントローラ12から受信した暗号化認証コマンドX(N)を、暗号化・復号部62に入力する。   The memory controller 21 inputs the encryption authentication command X (N) received from the memory controller 12 to the encryption / decryption unit 62.

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

次に認証制御部63は、認証コマンドC1(N)からコード長情報L(N)と認証コードS(N)とを抽出する。   Next, the authentication control unit 63 extracts the code length information L (N) and the authentication code S (N) from the authentication command C1 (N).

次に鍵生成部61は、認証制御部63からの要求に従って、コード長情報L(N)で示されるコード長に相当するビット長を有するセッション鍵K(N)を生成する。鍵生成部61は、生成したセッション鍵K(N)を暗号化・復号部62及び認証制御部63に入力する。   Next, the key generation unit 61 generates a session key K (N) having a bit length corresponding to the code length indicated by the code length information L (N) in accordance with a request from the authentication control unit 63. The key generation unit 61 inputs the generated session key K (N) to the encryption / decryption unit 62 and the authentication control unit 63.

次に認証制御部63は、鍵生成部61から入力されたセッション鍵K(N)に基づいて認証コードS(N)を生成する。具体的に、認証制御部63は、鍵生成部61から入力されたセッション鍵K(N)を、そのまま認証コードS(N)として採用する。   Next, the authentication control unit 63 generates an authentication code S (N) based on the session key K (N) input from the key generation unit 61. Specifically, the authentication control unit 63 employs the session key K (N) input from the key generation unit 61 as it is as the authentication code S (N).

次に認証制御部63は、暗号化認証コマンドX(N)の復号により再生した認証コマンドC1(N)から抽出した認証コードS(N)と、鍵生成部61から入力されたセッション鍵K(N)に基づいて自身が生成した認証コードS(N)とを比較することにより、通信装置2の正当性を認証する。具体的に、認証制御部63は、両認証コードS(N)が一致する場合には通信装置2を正当と判定し、両認証コードS(N)が一致しない場合には通信装置2を不正と判定する。   Next, the authentication control unit 63 uses the authentication code S (N) extracted from the authentication command C1 (N) reproduced by decrypting the encrypted authentication command X (N) and the session key K ( The authenticity of the communication device 2 is authenticated by comparing the authentication code S (N) generated by itself based on N). Specifically, the authentication control unit 63 determines that the communication device 2 is valid if both authentication codes S (N) match, and if the both authentication codes S (N) do not match, the authentication device 2 is illegal. Is determined.

認証制御部63は、通信装置2を不正と判定した場合には、暗号化・復号部62に対して通信装置2からの送信データの受信を禁止する。これにより、メモリコントローラ21は、以後に通信装置2から半導体記憶装置3に向けて送信されるデータを受信しない。   When 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 data transmitted from the communication device 2 to the semiconductor memory device 3 thereafter.

一方、通信装置2を正当と判定した場合には、次に認証制御部63は、鍵生成部61が今回生成したセッション鍵K(N)によって、暗号化・復号部62を初期化する。   On the other hand, when it is determined 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.

次にコード長設定部64は、認証制御部63からの要求に従って、通信装置2が半導体記憶装置3を認証するための認証コードS(N+1)のコード長を設定する。具体的に、コード長設定部64は、乱数生成器81によってディジタル乱数を生成し、そのディジタル乱数の例えば下位2ビットをインデックス値として採用する。そして、データテーブル83を参照することにより、そのインデックス値に対応するコード長を特定して、そのコード長を認証コードS(N+1)のコード長として設定する。コード長設定部64は、コード長の設定値をデータM2として認証制御部63に入力する。なお、認証コードS(N+1)のコード長は、認証コードS(N)のコード長と同一であっても良いし、異なっていても良い。   Next, the code length setting unit 64 sets the code length of the authentication code S (N + 1) for the communication device 2 to authenticate the semiconductor memory device 3 in accordance with a request from the authentication control unit 63. Specifically, the code length setting unit 64 generates a digital random number using the random number generator 81, and adopts, for example, the lower 2 bits of the digital random number as an index value. Then, by referring to the data table 83, the code length corresponding to the index value is specified, and the code length is set as the code length of the authentication code S (N + 1). The code length setting unit 64 inputs the code length setting value to the authentication control unit 63 as data M2. The code length of the authentication code S (N + 1) may be the same as or different from the code length of the authentication code S (N).

次に鍵生成部61は、認証制御部63からの要求に従って、データM2で示されるコード長設定値に相当するビット長を有する、次回のセッション鍵K(N+1)を生成する。鍵生成部61は、生成したセッション鍵K(N+1)を認証制御部63に入力する。   Next, the key generation unit 61 generates the next session key K (N + 1) having a bit length corresponding to the code length setting value indicated by the data M2 in accordance with a request from the authentication control unit 63. The key generation unit 61 inputs the generated session key K (N + 1) to the authentication control unit 63.

次に認証制御部63は、セッション鍵K(N+1)に基づいて認証コードS(N+1)を生成する。具体的に、認証制御部63は、鍵生成部61から入力されたセッション鍵K(N+1)を、そのまま認証コードS(N+1)として採用する。そして、認証コードS(N+1)のコード長を示すコード長情報L(N+1)を、認証コードS(N+1)の先頭に付加することにより、認証コードC2(N+1)を生成する。図9は、認証コードC2を示す図である。認証制御部63は、生成した認証コードC2(N+1)を暗号化・復号部62に入力する。   Next, the authentication control unit 63 generates an authentication code S (N + 1) based on the session key K (N + 1). Specifically, the authentication control unit 63 adopts the session key K (N + 1) input from the key generation unit 61 as the authentication code S (N + 1) as it is. Then, the code length information L (N + 1) indicating the code length of the authentication code S (N + 1) is added to the head of the authentication code S (N + 1), thereby generating the authentication code C2 (N + 1). FIG. 9 is a diagram showing the authentication code C2. The authentication control unit 63 inputs the generated authentication code C2 (N + 1) to the encryption / decryption unit 62.

次に暗号化・復号部62は、現在設定されているセッション鍵K(N)を用いて認証コードC2(N+1)を暗号化することにより、暗号化認証コードY(N+1)を生成する。そして、生成した暗号化認証コードY(N+1)をメモリコントローラ12に送信する。   Next, the encryption / decryption unit 62 generates the encrypted authentication code Y (N + 1) by encrypting the authentication code C2 (N + 1) using the currently set session key K (N). Then, the generated encrypted authentication code Y (N + 1) is transmitted to the memory controller 12.

メモリコントローラ12は、メモリコントローラ21から受信した暗号化認証コードY(N+1)を、暗号化・復号部52に入力する。   The memory controller 12 inputs the encrypted authentication code Y (N + 1) received from the memory controller 21 to the encryption / decryption unit 52.

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

次に認証制御部53は、認証コードC2(N+1)からコード長情報L(N+1)と認証コードS(N+1)とを抽出する。   Next, the authentication control unit 53 extracts the code length information L (N + 1) and the authentication code S (N + 1) from the authentication code C2 (N + 1).

次に鍵生成部51は、認証制御部53からの要求に従って、コード長情報L(N+1)で示されるコード長に相当するビット長を有するセッション鍵K(N+1)を生成する。鍵生成部51は、生成したセッション鍵K(N+1)を認証制御部53に入力する。   Next, the key generation unit 51 generates a session key K (N + 1) having a bit length corresponding to the code length indicated by the code length information L (N + 1) according to the request from the authentication control unit 53. The key generation unit 51 inputs the generated session key K (N + 1) to the authentication control unit 53.

次に認証制御部53は、鍵生成部51から入力されたセッション鍵K(N+1)に基づいて認証コードS(N+1)を生成する。具体的に、認証制御部53は、鍵生成部51から入力されたセッション鍵K(N+1)を、そのまま認証コードS(N+1)として採用する。   Next, the authentication control unit 53 generates an authentication code S (N + 1) based on the session key K (N + 1) input from the key generation unit 51. Specifically, the authentication control unit 53 employs the session key K (N + 1) input from the key generation unit 51 as it is as the authentication code S (N + 1).

次に認証制御部53は、暗号化認証コードY(N+1)の復号により再生した認証コードC2(N+1)から抽出した認証コードS(N+1)と、鍵生成部51から入力されたセッション鍵K(N+1)に基づいて自身が生成した認証コードS(N+1)とを比較することにより、半導体記憶装置3の正当性を認証する。具体的に、認証制御部53は、両認証コードS(N+1)が一致する場合には半導体記憶装置3を正当と判定し、両認証コードS(N+1)が一致しない場合には半導体記憶装置3を不正と判定する。   Next, the authentication control unit 53 uses the authentication code S (N + 1) extracted from the authentication code C2 (N + 1) reproduced by decrypting the encrypted authentication code Y (N + 1) and the session key K ( The authenticity of the semiconductor memory device 3 is authenticated by comparing with the authentication code S (N + 1) generated by itself based on (N + 1). Specifically, the authentication control unit 53 determines that the semiconductor storage device 3 is valid when both authentication codes S (N + 1) match, and when both authentication codes S (N + 1) do not match, the semiconductor storage device 3. Is determined to be illegal.

認証制御部53は、半導体記憶装置3を不正と判定した場合には、データをオール「0」又はオール「1」に置換する等のマスク処理を有効にする制御信号Dを、マスク回路54,55に入力する。これにより、通信装置2と半導体記憶装置3との間での以後の通信が遮断される。   If the authentication control unit 53 determines that the semiconductor memory device 3 is illegal, the authentication control unit 53 sends a control signal D for enabling a mask process such as replacing data to all “0” or all “1” to the mask circuit 54, 55. Thereby, subsequent communication between the communication device 2 and the semiconductor memory device 3 is blocked.

一方、半導体記憶装置3を正当と判定した場合には、次に認証制御部53は、マスク処理を無効にする制御信号Dを、マスク回路54,55に入力する。これにより、通信装置2は、半導体記憶装置3に対してコンテンツデータの読み出しコマンド等を送信することが可能となり、また、半導体記憶装置3からコンテンツデータを受信することが可能となる。   On the other hand, when it is determined that the semiconductor memory device 3 is valid, the authentication control unit 53 inputs a control signal D for invalidating the mask processing to the mask circuits 54 and 55. As a result, the communication device 2 can transmit a read command of content data to the semiconductor storage device 3 and can receive content data from the semiconductor storage device 3.

次回の相互認証の処理では、認証制御部63は、再生した認証コマンドC1(N+1)から抽出した認証コードS(N+1)と、自身が生成した認証コードS(N+1)とが一致するか否かによって、通信装置2の正当性を認証する。また、認証制御部53は、再生した認証コードC2(N+2)から抽出した認証コードS(N+2)と、自身が生成した認証コードS(N+2)とが一致するか否かによって、半導体記憶装置3の正当性を認証する。   In the next mutual authentication process, the authentication control unit 63 determines whether or not the authentication code S (N + 1) extracted from the reproduced authentication command C1 (N + 1) matches the authentication code S (N + 1) generated by itself. Thus, the validity of the communication device 2 is authenticated. Further, the authentication control unit 53 determines whether or not the authentication code S (N + 2) extracted from the reproduced authentication code C2 (N + 2) matches the authentication code S (N + 2) generated by itself. Authenticate the validity of

なお、以上の説明では、通信装置2は、メモリコントローラ12のハードウェア処理によって認証コードS(N)のコード長をランダムに設定したが、マイクロプロセッサ11のソフトウェア処理によって認証コードS(N)のコード長をランダムに設定しても良い。同様に、半導体記憶装置3は、メモリコントローラ21のハードウェア処理によって認証コードS(N+1)のコード長をランダムに設定したが、マイクロプロセッサ11のソフトウェア処理によって認証コードS(N+1)のコード長をランダムに設定しても良い。   In the above description, the communication device 2 randomly sets the code length of the authentication code S (N) by the hardware process of the memory controller 12, but the authentication code S (N) is set by the software process of the microprocessor 11. The code length may be set at random. Similarly, the semiconductor memory device 3 randomly sets the code length of the authentication code S (N + 1) by the hardware process of the memory controller 21, but the code length of the authentication code S (N + 1) is set by the software process of the microprocessor 11. It may be set at random.

また、以上の説明では、通信装置2は、認証の処理毎に認証コードS(N)のコード長を変更したが、所定の複数回の認証処理毎等の任意のタイミングで、コード長の変更を行っても良い。同様に、半導体記憶装置3は、認証の処理毎に認証コードS(N+1)のコード長を変更したが、所定の複数回の認証処理毎等の任意のタイミングで、コード長の変更を行っても良い。   In the above description, the communication device 2 changes the code length of the authentication code S (N) for each authentication process, but changes the code length at an arbitrary timing such as every predetermined multiple authentication processes. May be performed. Similarly, the semiconductor memory device 3 changes the code length of the authentication code S (N + 1) for each authentication process. However, the semiconductor memory device 3 changes the code length at an arbitrary timing such as every predetermined multiple authentication processes. Also good.

<実施の形態2>
図10は、実施の形態2に係るメモリコントローラ12の構成を示す図である。図10の接続関係で示すように、メモリコントローラ12は、鍵生成部51、暗号化・復号部52、認証制御部53、及びマスク回路54,55を備えて構成されている。
<Embodiment 2>
FIG. 10 is a diagram illustrating a configuration of the memory controller 12 according to the second embodiment. As shown in the connection relationship of FIG. 10, the memory controller 12 includes a key generation unit 51, an encryption / decryption unit 52, an authentication control unit 53, and mask circuits 54 and 55.

図11は、実施の形態2に係るメモリコントローラ21の構成を示す図である。図11の接続関係で示すように、メモリコントローラ21は、鍵生成部61、暗号化・復号部62、及び認証制御部63を備えて構成されている。   FIG. 11 is a diagram illustrating a configuration of the memory controller 21 according to the second embodiment. As shown in the connection relationship of FIG. 11, the memory controller 21 includes a key generation unit 61, an encryption / decryption unit 62, and an authentication control unit 63.

図12は、メモリアレイ22のメモリ空間を示す図である。通信装置2と半導体記憶装置3との間で授受される認証コードSのコード長を示すコード長フラグF0が、メモリ空間の特定のアドレスA0に格納されている。コード長フラグF0の設定値は、情報処理システム1に要求されるセキュリティ強度に応じて任意に設定可能である。マイクロプロセッサ11は、メモリ空間のアドレスA0にアクセスすることによって、コード長フラグF0の設定値を読み出すことが可能である。また、マイクロプロセッサ11は、メモリ空間のアドレスA0にアクセスすることによって、コード長フラグF0の設定値を更新することが可能である。例えば、コード長フラグF0の設定値を、初期値の64ビットから、128ビット、192ビット、256ビットに順に更新することができる。なお、コード長フラグF0は、マイクロプロセッサ11、メモリコントローラ12、又はメモリコントローラ21内の、メモリアレイ22とは別の不揮発性メモリに格納されていても良い。   FIG. 12 is a diagram showing a memory space of the memory array 22. A code length flag F0 indicating the code length of the authentication code S exchanged between the communication device 2 and the semiconductor memory device 3 is stored at a specific address A0 in the memory space. The set value of the code length flag F0 can be arbitrarily set according to the security strength required for the information processing system 1. The microprocessor 11 can read the set value of the code length flag F0 by accessing the address A0 in the memory space. Further, the microprocessor 11 can update the set value of the code length flag F0 by accessing the address A0 of the memory space. For example, the set value of the code length flag F0 can be sequentially updated from the initial value of 64 bits to 128 bits, 192 bits, and 256 bits. The code length flag F0 may be stored in a non-volatile memory different from the memory array 22 in the microprocessor 11, the memory controller 12, or the memory controller 21.

以下、図10〜12を参照して、通信装置2と半導体記憶装置3との相互認証の処理について説明する。前提として、暗号化・復号部52,62は、鍵生成部51,61が前回生成したセッション鍵K(N−1)によって初期化されているものとする。また、相互認証の処理が完了して通信装置2及び半導体記憶装置3の正当性が互いに認証されるまでは、マイクロプロセッサ11は、アドレスA0以外のメモリ空間へアクセスすることができない。   Hereinafter, a mutual authentication process between the communication device 2 and the semiconductor memory device 3 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. Further, the microprocessor 11 cannot access a memory space other than the address A0 until the mutual authentication process is completed and the validity of the communication device 2 and the semiconductor storage device 3 are mutually authenticated.

まずマイクロプロセッサ11は、メモリアレイ22のアドレスA0にアクセスすることにより、コード長フラグF0の設定値を読み出す。   First, the microprocessor 11 reads the set value of the code length flag F0 by accessing the address A0 of the memory array 22.

次にマイクロプロセッサ11は、相互認証の実行を指示するための所定バイト長の認証コマンドC0を発行する。また、マイクロプロセッサ11は、コード長フラグF0の設定値を示すコード長設定情報Q1を発行する。メモリコントローラ12は、マイクロプロセッサ11から認証コマンドC0及びコード長設定情報Q1を受領し、受領した認証コマンドC0及びコード長設定情報Q1を認証制御部53に入力する。   Next, the microprocessor 11 issues an authentication command C0 having a predetermined byte length for instructing execution of mutual authentication. Further, the microprocessor 11 issues code length setting information Q1 indicating the set value of the code length flag F0. The memory controller 12 receives the authentication command C0 and the code length setting information Q1 from the microprocessor 11, and inputs the received authentication command C0 and code length setting information Q1 to the authentication control unit 53.

次に鍵生成部51は、認証制御部53からの要求に従って、コード長設定情報Q1で示されるコード長設定値に相当するビット長を有する、今回のセッション鍵K(N)を生成する。鍵生成部51は、生成したセッション鍵K(N)を暗号化・復号部52及び認証制御部53に入力する。   Next, in accordance with a request from the authentication control unit 53, the key generation unit 51 generates the current session key K (N) having a bit length corresponding to the code length setting value indicated by the code length setting information Q1. The key generation unit 51 inputs the generated session key K (N) to the encryption / decryption unit 52 and the authentication control unit 53.

次に認証制御部53は、認証コマンドC0及びセッション鍵K(N)に基づいて認証コマンドC1(N)を生成する。具体的に、認証制御部53は、鍵生成部51から入力されたセッション鍵K(N)を、そのまま認証コードS(N)として採用する。そして、認証コマンドC0の未定義領域のデータを、先頭から順に、認証コードS(N)のコード長を示すコード長情報L(N)と認証コードS(N)とによって置き換えることにより、コマンドIDとコード長情報L(N)と認証コードS(N)とを含む認証コマンドC1(N)を生成する。認証制御部53は、生成した認証コマンドC1(N)を暗号化・復号部52に入力する。   Next, the authentication control unit 53 generates an authentication command C1 (N) based on the authentication command C0 and the session key K (N). Specifically, the authentication control unit 53 directly adopts the session key K (N) input from the key generation unit 51 as the authentication code S (N). Then, the command ID is replaced by replacing the data in the undefined area of the authentication command C0 with code length information L (N) indicating the code length of the authentication code S (N) and the authentication code S (N) in order from the top. And an authentication command C1 (N) including the code length information L (N) and the authentication code S (N). The authentication control unit 53 inputs the generated authentication command C <b> 1 (N) to the encryption / decryption unit 52.

次に暗号化・復号部52は、現在設定されているセッション鍵K(N−1)を用いて認証コマンドC1(N)を暗号化することにより、暗号化認証コマンドX(N)を生成する。そして、生成した暗号化認証コマンドX(N)をメモリコントローラ21に送信する。   Next, the encryption / decryption unit 52 generates the encrypted authentication command X (N) by encrypting the authentication command C1 (N) using the currently set session key K (N-1). . Then, the generated encrypted authentication command X (N) 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.

メモリコントローラ21は、メモリコントローラ12から受信した暗号化認証コマンドX(N)を、暗号化・復号部62に入力する。   The memory controller 21 inputs the encryption authentication command X (N) received from the memory controller 12 to the encryption / decryption unit 62.

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

次に認証制御部63は、認証コマンドC1(N)からコード長情報L(N)と認証コードS(N)とを抽出する。   Next, the authentication control unit 63 extracts the code length information L (N) and the authentication code S (N) from the authentication command C1 (N).

次に鍵生成部61は、認証制御部63からの要求に従って、コード長情報L(N)で示されるコード長に相当するビット長を有するセッション鍵K(N)を生成する。鍵生成部61は、生成したセッション鍵K(N)を暗号化・復号部62及び認証制御部63に入力する。   Next, the key generation unit 61 generates a session key K (N) having a bit length corresponding to the code length indicated by the code length information L (N) in accordance with a request from the authentication control unit 63. The key generation unit 61 inputs the generated session key K (N) to the encryption / decryption unit 62 and the authentication control unit 63.

次に認証制御部63は、鍵生成部61から入力されたセッション鍵K(N)に基づいて認証コードS(N)を生成する。具体的に、認証制御部63は、鍵生成部61から入力されたセッション鍵K(N)を、そのまま認証コードS(N)として採用する。   Next, the authentication control unit 63 generates an authentication code S (N) based on the session key K (N) input from the key generation unit 61. Specifically, the authentication control unit 63 employs the session key K (N) input from the key generation unit 61 as it is as the authentication code S (N).

次に認証制御部63は、暗号化認証コマンドX(N)の復号により再生した認証コマンドC1(N)から抽出した認証コードS(N)と、鍵生成部61から入力されたセッション鍵K(N)に基づいて自身が生成した認証コードS(N)とを比較することにより、通信装置2の正当性を認証する。具体的に、認証制御部63は、両認証コードS(N)が一致する場合には通信装置2を正当と判定し、両認証コードS(N)が一致しない場合には通信装置2を不正と判定する。   Next, the authentication control unit 63 uses the authentication code S (N) extracted from the authentication command C1 (N) reproduced by decrypting the encrypted authentication command X (N) and the session key K ( The authenticity of the communication device 2 is authenticated by comparing the authentication code S (N) generated by itself based on N). Specifically, the authentication control unit 63 determines that the communication device 2 is valid if both authentication codes S (N) match, and if the both authentication codes S (N) do not match, the authentication device 2 is illegal. Is determined.

認証制御部63は、通信装置2を不正と判定した場合には、暗号化・復号部62に対して通信装置2からの送信データの受信を禁止する。これにより、メモリコントローラ21は、以後に通信装置2から半導体記憶装置3に向けて送信されるデータを受信しない。   When 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 data transmitted from the communication device 2 to the semiconductor memory device 3 thereafter.

一方、通信装置2を正当と判定した場合には、次に認証制御部63は、鍵生成部61が今回生成したセッション鍵K(N)によって、暗号化・復号部62を初期化する。   On the other hand, when it is determined 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.

次に認証制御部63は、メモリアレイ22のアドレスA0にアクセスすることにより、コード長フラグF0の設定値を読み出す。   Next, the authentication control unit 63 reads the set value of the code length flag F0 by accessing the address A0 of the memory array 22.

次に鍵生成部61は、認証制御部63からの要求に従って、コード長フラグF0の設定値に相当するビット長を有する、次回のセッション鍵K(N+1)を生成する。鍵生成部61は、生成したセッション鍵K(N+1)を認証制御部63に入力する。   Next, the key generation unit 61 generates a next session key K (N + 1) having a bit length corresponding to the set value of the code length flag F0 according to a request from the authentication control unit 63. The key generation unit 61 inputs the generated session key K (N + 1) to the authentication control unit 63.

次に認証制御部63は、セッション鍵K(N+1)に基づいて認証コードS(N+1)を生成する。具体的に、認証制御部63は、鍵生成部61から入力されたセッション鍵K(N+1)を、そのまま認証コードS(N+1)として採用する。そして、認証コードS(N+1)のコード長を示すコード長情報L(N+1)を、認証コードS(N+1)の先頭に付加することにより、認証コードC2(N+1)を生成する。認証制御部63は、生成した認証コードC2(N+1)を暗号化・復号部62に入力する。   Next, the authentication control unit 63 generates an authentication code S (N + 1) based on the session key K (N + 1). Specifically, the authentication control unit 63 adopts the session key K (N + 1) input from the key generation unit 61 as the authentication code S (N + 1) as it is. Then, the code length information L (N + 1) indicating the code length of the authentication code S (N + 1) is added to the head of the authentication code S (N + 1), thereby generating the authentication code C2 (N + 1). The authentication control unit 63 inputs the generated authentication code C2 (N + 1) to the encryption / decryption unit 62.

次に暗号化・復号部62は、現在設定されているセッション鍵K(N)を用いて認証コードC2(N+1)を暗号化することにより、暗号化認証コードY(N+1)を生成する。そして、生成した暗号化認証コードY(N+1)をメモリコントローラ12に送信する。   Next, the encryption / decryption unit 62 generates the encrypted authentication code Y (N + 1) by encrypting the authentication code C2 (N + 1) using the currently set session key K (N). Then, the generated encrypted authentication code Y (N + 1) is transmitted to the memory controller 12.

メモリコントローラ12は、メモリコントローラ21から受信した暗号化認証コードY(N+1)を、暗号化・復号部52に入力する。   The memory controller 12 inputs the encrypted authentication code Y (N + 1) received from the memory controller 21 to the encryption / decryption unit 52.

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

次に認証制御部53は、認証コードC2(N+1)からコード長情報L(N+1)と認証コードS(N+1)とを抽出する。   Next, the authentication control unit 53 extracts the code length information L (N + 1) and the authentication code S (N + 1) from the authentication code C2 (N + 1).

次に鍵生成部51は、認証制御部53からの要求に従って、コード長情報L(N+1)で示されるコード長に相当するビット長を有するセッション鍵K(N+1)を生成する。鍵生成部51は、生成したセッション鍵K(N+1)を認証制御部53に入力する。   Next, the key generation unit 51 generates a session key K (N + 1) having a bit length corresponding to the code length indicated by the code length information L (N + 1) according to the request from the authentication control unit 53. The key generation unit 51 inputs the generated session key K (N + 1) to the authentication control unit 53.

次に認証制御部53は、鍵生成部51から入力されたセッション鍵K(N+1)に基づいて認証コードS(N+1)を生成する。具体的に、認証制御部53は、鍵生成部51から入力されたセッション鍵K(N+1)を、そのまま認証コードS(N+1)として採用する。   Next, the authentication control unit 53 generates an authentication code S (N + 1) based on the session key K (N + 1) input from the key generation unit 51. Specifically, the authentication control unit 53 employs the session key K (N + 1) input from the key generation unit 51 as it is as the authentication code S (N + 1).

次に認証制御部53は、暗号化認証コードY(N+1)の復号により再生した認証コードC2(N+1)から抽出した認証コードS(N+1)と、鍵生成部51から入力されたセッション鍵K(N+1)に基づいて自身が生成した認証コードS(N+1)とを比較することにより、半導体記憶装置3の正当性を認証する。具体的に、認証制御部53は、両認証コードS(N+1)が一致する場合には半導体記憶装置3を正当と判定し、両認証コードS(N+1)が一致しない場合には半導体記憶装置3を不正と判定する。   Next, the authentication control unit 53 uses the authentication code S (N + 1) extracted from the authentication code C2 (N + 1) reproduced by decrypting the encrypted authentication code Y (N + 1) and the session key K ( The authenticity of the semiconductor memory device 3 is authenticated by comparing with the authentication code S (N + 1) generated by itself based on (N + 1). Specifically, the authentication control unit 53 determines that the semiconductor storage device 3 is valid when both authentication codes S (N + 1) match, and when both authentication codes S (N + 1) do not match, the semiconductor storage device 3. Is determined to be illegal.

認証制御部53は、半導体記憶装置3を不正と判定した場合には、データをオール「0」又はオール「1」に置換する等のマスク処理を有効にする制御信号Dを、マスク回路54,55に入力する。これにより、通信装置2と半導体記憶装置3との間での以後の通信が遮断される。   If the authentication control unit 53 determines that the semiconductor memory device 3 is illegal, the authentication control unit 53 sends a control signal D for enabling a mask process such as replacing data to all “0” or all “1” to the mask circuit 54, 55. Thereby, subsequent communication between the communication device 2 and the semiconductor memory device 3 is blocked.

一方、半導体記憶装置3を正当と判定した場合には、次に認証制御部53は、マスク処理を無効にする制御信号Dを、マスク回路54,55に入力する。これにより、通信装置2は、半導体記憶装置3に対してコンテンツデータの読み出しコマンド等を送信することが可能となり、また、半導体記憶装置3からコンテンツデータを受信することが可能となる。   On the other hand, when it is determined that the semiconductor memory device 3 is valid, the authentication control unit 53 inputs a control signal D for invalidating the mask processing to the mask circuits 54 and 55. As a result, the communication device 2 can transmit a read command of content data to the semiconductor storage device 3 and can receive content data from the semiconductor storage device 3.

次回の相互認証の処理では、認証制御部63は、再生した認証コマンドC1(N+1)から抽出した認証コードS(N+1)と、自身が生成した認証コードS(N+1)とが一致するか否かによって、通信装置2の正当性を認証する。また、認証制御部53は、再生した認証コードC2(N+2)から抽出した認証コードS(N+2)と、自身が生成した認証コードS(N+2)とが一致するか否かによって、半導体記憶装置3の正当性を認証する。   In the next mutual authentication process, the authentication control unit 63 determines whether or not the authentication code S (N + 1) extracted from the reproduced authentication command C1 (N + 1) matches the authentication code S (N + 1) generated by itself. Thus, the validity of the communication device 2 is authenticated. Further, the authentication control unit 53 determines whether or not the authentication code S (N + 2) extracted from the reproduced authentication code C2 (N + 2) matches the authentication code S (N + 2) generated by itself. Authenticate the validity of

コード長フラグF0の設定値を更新する場合(例えば、セキュリティ強度の向上のためにコード長を拡大する場合)には、マイクロプロセッサ11は、コード長フラグF0の更新命令Q2を発行する。更新命令Q2には、コード長の更新値が含まれる。メモリコントローラ12は、マイクロプロセッサ11から更新命令Q2を受領し、受領した更新命令Q2を暗号化・復号部52に入力する。   When updating the set value of the code length flag F0 (for example, when enlarging the code length to improve the security strength), the microprocessor 11 issues an update instruction Q2 for the code length flag F0. The update instruction Q2 includes a code length update value. The memory controller 12 receives the update command Q2 from the microprocessor 11 and inputs the received update command Q2 to the encryption / decryption unit 52.

次に暗号化・復号部52は、現在設定されているセッション鍵Kを用いて更新命令Q2を暗号化することにより、暗号化更新命令Q2を生成する。そして、生成した暗号化更新命令Q2をメモリコントローラ21に送信する。   Next, the encryption / decryption unit 52 generates the encrypted update instruction Q2 by encrypting the update instruction Q2 using the currently set session key K. Then, the generated encryption update instruction Q2 is transmitted to the memory controller 21.

メモリコントローラ21は、メモリコントローラ12から受信した暗号化更新命令Q2を、暗号化・復号部62に入力する。   The memory controller 21 inputs the encryption update command Q2 received from the memory controller 12 to the encryption / decryption unit 62.

次に暗号化・復号部62は、現在設定されているセッション鍵Kを用いて暗号化更新命令Q2を復号することにより、更新命令Q2を再生する。そして、再生した更新命令Q2を認証制御部63に入力する。   Next, the encryption / decryption unit 62 reproduces the update command Q2 by decrypting the encryption update command Q2 using the currently set session key K. Then, the renewed update command Q2 is input to the authentication control unit 63.

次に認証制御部63は、メモリアレイ22のアドレスA0にアクセスすることにより、コード長フラグF0の現在の設定値を、更新命令Q2に含まれる更新値によって更新する。以降、通信装置2及び半導体記憶装置3は、コード長フラグF0の更新後の設定値に相当するコード長を有する認証コードを生成する。   Next, the authentication control unit 63 accesses the address A0 of the memory array 22 to update the current set value of the code length flag F0 with the update value included in the update instruction Q2. Thereafter, the communication device 2 and the semiconductor storage device 3 generate an authentication code having a code length corresponding to the set value after the update of the code length flag F0.

なお、以上の説明では、通信装置2から半導体記憶装置3に送信される認証コードS(N)のコード長と、半導体記憶装置3から通信装置2に送信される認証コードS(N+1)のコード長とが同一である例について述べたが、両認証コードのコード長は互いに異なっていても良い。通信装置2から半導体記憶装置3に送信される認証コード用のコード長フラグと、半導体記憶装置3から通信装置2に送信される認証コード用のコード長フラグとを、メモリアレイ22の別アドレスに格納し、コード長を個別に設定可能とすることにより、両認証コードのコード長を互いに異ならせることができる。   In the above description, the code length of the authentication code S (N) transmitted from the communication device 2 to the semiconductor memory device 3 and the code of the authentication code S (N + 1) transmitted from the semiconductor memory device 3 to the communication device 2 are described. Although an example in which the length is the same has been described, the code lengths of both authentication codes may be different from each other. The code length flag for the authentication code transmitted from the communication device 2 to the semiconductor memory device 3 and the code length flag for the authentication code transmitted from the semiconductor memory device 3 to the communication device 2 are set in different addresses of the memory array 22. By storing and making it possible to individually set the code length, the code lengths of both authentication codes can be made different from each other.

また、以上の説明では、通信装置2と半導体記憶装置3との間で授受される認証コードSのコード長を、情報処理システム1に要求されるセキュリティ強度に応じて設定する例について述べたが、半導体記憶装置3から通信装置2に送信されるコンテンツデータの機密性(機密レベル)に応じてコード長を設定することもできる。   In the above description, an example in which the code length of the authentication code S exchanged between the communication device 2 and the semiconductor storage device 3 is set according to the security strength required for the information processing system 1 has been described. The code length can also be set according to the confidentiality (security level) of the content data transmitted from the semiconductor storage device 3 to the communication device 2.

図13は、メモリアレイ22のメモリ空間を示す図である。メモリ空間の領域R1には機密性が高レベルのコンテンツデータが格納されており、領域R2には機密性が中レベルのコンテンツデータが格納されており、領域R3には機密性が低レベルのコンテンツデータが格納されている。   FIG. 13 is a diagram showing a memory space of the memory array 22. Content data with a high level of confidentiality is stored in the area R1 of the memory space, content data with a medium level of confidentiality is stored in the area R2, and content with a low level of confidentiality is stored in the area R3. Data is stored.

また、メモリ空間のアドレスA1には、通信装置2が領域R1にアクセスする際に、当該アクセスに先行する相互認証において通信装置2と半導体記憶装置3との間で授受される認証コードSのコード長を設定するためのコード長フラグF1が格納されている。コード長フラグF1の設定値は、例えば192ビットである。   In addition, when the communication device 2 accesses the region R1, the address A1 in the memory space has the code of the authentication code S exchanged between the communication device 2 and the semiconductor memory device 3 in the mutual authentication preceding the access. A code length flag F1 for setting the length is stored. The set value of the code length flag F1 is, for example, 192 bits.

同様に、メモリ空間のアドレスA2には、通信装置2が領域R2にアクセスする際に、当該アクセスに先行する相互認証において通信装置2と半導体記憶装置3との間で授受される認証コードSのコード長を設定するためのコード長フラグF2が格納されている。コード長フラグF2の設定値は、例えば128ビットである。   Similarly, at the address A2 in the memory space, when the communication device 2 accesses the region R2, the authentication code S exchanged between the communication device 2 and the semiconductor memory device 3 in the mutual authentication preceding the access is performed. A code length flag F2 for setting the code length is stored. The set value of the code length flag F2 is, for example, 128 bits.

同様に、メモリ空間のアドレスA3には、通信装置2が領域R3にアクセスする際に、当該アクセスに先行する相互認証において通信装置2と半導体記憶装置3との間で授受される認証コードSのコード長を設定するためのコード長フラグF3が格納されている。コード長フラグF3の設定値は、例えば64ビットである。   Similarly, at the address A3 in the memory space, when the communication device 2 accesses the area R3, the authentication code S exchanged between the communication device 2 and the semiconductor memory device 3 in the mutual authentication preceding the access is performed. A code length flag F3 for setting the code length is stored. The set value of the code length flag F3 is, for example, 64 bits.

通信装置2から半導体記憶装置3へのアクセス要求が発生した場合、まずマイクロプロセッサ11は、そのアクセス要求が領域R1〜R3のどの領域へのアクセス要求であるかを判定する。   When an access request from the communication device 2 to the semiconductor memory device 3 is generated, the microprocessor 11 first determines to which of the regions R1 to R3 the access request is an access request.

そのアクセス要求が領域R1へのアクセス要求である場合には、マイクロプロセッサ11は、メモリアレイ22のアドレスA1にアクセスすることにより、コード長フラグF1の設定値を読み出す。以降は上述した処理と同様の処理が行われることにより、例えば192ビット長の認証コードS(N),S(N+1)を用いた相互認証が実行される。   When the access request is an access request to the region R1, the microprocessor 11 reads the set value of the code length flag F1 by accessing the address A1 of the memory array 22. Thereafter, the same processing as described above is performed, whereby mutual authentication using, for example, 192-bit authentication codes S (N) and S (N + 1) is executed.

そのアクセス要求が領域R2へのアクセス要求である場合には、マイクロプロセッサ11は、メモリアレイ22のアドレスA2にアクセスすることにより、コード長フラグF2の設定値を読み出す。これにより、例えば128ビット長の認証コードS(N),S(N+1)を用いた相互認証が実行される。   When the access request is an access request to the region R2, the microprocessor 11 reads the set value of the code length flag F2 by accessing the address A2 of the memory array 22. Thereby, for example, mutual authentication using 128-bit authentication codes S (N) and S (N + 1) is executed.

そのアクセス要求が領域R3へのアクセス要求である場合には、マイクロプロセッサ11は、メモリアレイ22のアドレスA3にアクセスすることにより、コード長フラグF3の設定値を読み出す。これにより、例えば64ビット長の認証コードS(N),S(N+1)を用いた相互認証が実行される。   If the access request is an access request to the region R3, the microprocessor 11 reads the set value of the code length flag F3 by accessing the address A3 of the memory array 22. Thus, mutual authentication using, for example, 64-bit authentication codes S (N) and S (N + 1) is executed.

<まとめ>
上記実施の形態1,2に係る情報処理システム1によれば、通信装置2は、半導体記憶装置3に通信装置2を認証させるための第1の認証コードS(N)のコード長を可変に設定可能である。従って、認証の処理毎に、あるいは任意のタイミングで、認証コードS(N)のコード長を異ならせることができる。また、攻撃者によるハッキング技術の向上に対抗して、認証コードS(N)のコード長を拡大することができる。さらに、半導体記憶装置3から通信装置2に送信するコンテンツデータの機密レベルに応じて、認証コードS(N)のコード長を異ならせることができる。その結果、認証コードS(N)のコード長が固定値である情報処理システムよりもセキュリティ強度を向上することが可能となる。
<Summary>
According to the information processing system 1 according to the first and second embodiments, the communication device 2 can change the code length of the first authentication code S (N) for causing the semiconductor storage device 3 to authenticate the communication device 2. It can be set. Therefore, the code length of the authentication code S (N) can be varied for each authentication process or at an arbitrary timing. Further, the code length of the authentication code S (N) can be increased against the improvement of the hacking technique by the attacker. Furthermore, the code length of the authentication code S (N) can be varied according to the confidential level of the content data transmitted from the semiconductor storage device 3 to the communication device 2. As a result, the security strength can be improved as compared with the information processing system in which the code length of the authentication code S (N) is a fixed value.

また、上記実施の形態1に係る情報処理システム1によれば、通信装置2は、認証コードS(N)のコード長をランダムに設定する。従って、認証コードS(N)のコード長はランダムに変更されるため、攻撃者が認証コードS(N)の解析を行う際に、通信装置2と半導体記憶装置3との間で送受信される様々なデータのうちのどの部分のデータが認証コードS(N)であるかを、攻撃者が特定することが困難である。その結果、攻撃者による認証コードS(N)の解析がさらに困難となるため、セキュリティ強度をさらに向上することが可能となる。   In addition, according to the information processing system 1 according to the first embodiment, the communication device 2 randomly sets the code length of the authentication code S (N). Accordingly, since the code length of the authentication code S (N) is randomly changed, when the attacker analyzes the authentication code S (N), it is transmitted / received between the communication device 2 and the semiconductor memory device 3. It is difficult for an attacker to specify which part of various data is the authentication code S (N). As a result, it becomes more difficult for the attacker to analyze the authentication code S (N), so that the security strength can be further improved.

また、上記実施の形態2に係る情報処理システム1によれば、通信装置2は、認証コードS(N)のコード長を、情報処理システム1に要求されるセキュリティ強度に応じて設定する。従って、攻撃者によるハッキング技術の向上に対抗して以前より高いセキュリティ強度が要求された場合には、認証コードS(N)のコード長を以前より拡大して設定することができる。その結果、攻撃者による認証コードS(N)の解析が困難となるため、セキュリティ強度を向上することが可能となる。   Further, according to the information processing system 1 according to the second embodiment, the communication device 2 sets the code length of the authentication code S (N) according to the security strength required for the information processing system 1. Therefore, when higher security strength is required than before in order to counter the improvement of the hacking technique by the attacker, the code length of the authentication code S (N) can be set larger than before. As a result, since it is difficult for an attacker to analyze the authentication code S (N), the security strength can be improved.

また、上記実施の形態2に係る情報処理システム1によれば、通信装置2は、認証コードS(N)のコード長を、半導体記憶装置3から通信装置2に送信するコンテンツデータの機密レベルに応じて設定する。従って、機密レベルが高いコンテンツデータほど認証コードS(N)のコード長を拡大して設定することにより、セキュリティ強度を向上することが可能となる。   Further, according to the information processing system 1 according to the second embodiment, the communication device 2 sets the code length of the authentication code S (N) to the confidential level of the content data transmitted from the semiconductor storage device 3 to the communication device 2. Set accordingly. Therefore, it is possible to improve the security strength by enlarging and setting the code length of the authentication code S (N) for content data with a higher security level.

また、上記実施の形態1に係る情報処理システム1によれば、メモリコントローラ12(第1の制御回路)は、ハードウェア処理によって認証コードS(N)のコード長を設定する。従って、プログラム解析等によってマイクロプロセッサ11の制御を改変するような攻撃を受けた場合であっても、メモリコントローラ12によるハードウェア処理の内容が解析されない限り、攻撃者によって認証コードS(N)のコード長が特定されることはない。その結果、攻撃者による認証コードS(N)の解析がさらに困難となるため、セキュリティ強度をさらに向上することが可能となる。   Further, according to the information processing system 1 according to the first embodiment, the memory controller 12 (first control circuit) sets the code length of the authentication code S (N) by hardware processing. Therefore, even if an attack that alters the control of the microprocessor 11 by program analysis or the like is performed, unless the contents of the hardware processing by the memory controller 12 are analyzed, the attacker can obtain the authentication code S (N). The code length is not specified. As a result, it becomes more difficult for the attacker to analyze the authentication code S (N), so that the security strength can be further improved.

また、上記実施の形態2に係る情報処理システム1によれば、マイクロプロセッサ11は、ソフトウェア処理によって認証コードS(N)のコード長を設定する。従って、認証コードS(N)のコード長を設定するための回路をメモリコントローラ12に実装する必要がないため、回路構成の簡略化及びコストの削減を図ることが可能となる。   Further, according to the information processing system 1 according to the second embodiment, the microprocessor 11 sets the code length of the authentication code S (N) by software processing. Accordingly, since it is not necessary to mount a circuit for setting the code length of the authentication code S (N) in the memory controller 12, the circuit configuration can be simplified and the cost can be reduced.

また、上記実施の形態1,2に係る情報処理システム1によれば、認証制御部53(第1の認証制御部)は、データM1で示される認証コードS(N)のコード長の設定値に基づいて、当該設定値に相当するビット長のセッション鍵K(N)を鍵生成部51(第1の数列生成部)から取得することにより、セッション鍵K(N)を含む認証コードS(N)を生成する。従って、認証制御部53が鍵生成部51から取得するセッション鍵K(N)のビット長を、コード長の設定値に応じて異ならせることにより、コード長が異なる様々な認証コードS(N)を簡易に生成することが可能となる。   Further, according to the information processing system 1 according to the first and second embodiments, the authentication control unit 53 (first authentication control unit) sets the code length setting value of the authentication code S (N) indicated by the data M1. Is obtained from the key generation unit 51 (first number sequence generation unit) by acquiring a session key K (N) having a bit length corresponding to the set value based on the authentication code S ( N). Accordingly, various authentication codes S (N) having different code lengths are obtained by varying the bit length of the session key K (N) acquired from the key generation unit 51 by the authentication control unit 53 according to the set value of the code length. Can be easily generated.

また、上記実施の形態1,2に係る情報処理システム1によれば、鍵生成部61(第2の数列生成部)は、鍵生成部51が生成するセッション鍵K(N)と同一のセッション鍵K(N)を生成する。また、認証制御部63(第2の認証制御部)は、第1のコード長情報L(N)に相当するビット長のセッション鍵K(N)を鍵生成部61から取得することにより、セッション鍵K(N)を含む第2の認証コードS(N)を生成する。そして、認証制御部63は、認証コマンドC1に含まれる第1の認証コードS(N)と、自身が生成した第2の認証コードS(N)とが一致するか否かによって、通信装置2を認証する。通信装置2が正当である場合には第1の認証コードS(N)と第2の認証コードS(N)とは一致し、通信装置2が不正である場合には第1の認証コードS(N)と第2の認証コードS(N)とは一致しない。従って、第1の認証コードS(N)と第2の認証コードS(N)とが一致するか否かによって、通信装置2が正当であるか不正であるかを簡易かつ確実に認証することが可能となる。   Further, according to the information processing system 1 according to the first and second embodiments, the key generation unit 61 (second number sequence generation unit) has the same session as the session key K (N) generated by the key generation unit 51. A key K (N) is generated. Further, the authentication control unit 63 (second authentication control unit) obtains a session key K (N) having a bit length corresponding to the first code length information L (N) from the key generation unit 61, thereby obtaining a session. A second authentication code S (N) including the key K (N) is generated. Then, the authentication control unit 63 determines whether or not the first authentication code S (N) included in the authentication command C1 and the second authentication code S (N) generated by itself match the communication device 2. Authenticate. If the communication device 2 is valid, the first authentication code S (N) and the second authentication code S (N) match. If the communication device 2 is illegal, the first authentication code S (N) and the second authentication code S (N) do not match. Therefore, whether the communication device 2 is legitimate or illegal is simply and reliably authenticated depending on whether or not the first authentication code S (N) and the second authentication code S (N) match. Is possible.

また、上記実施の形態1,2に係る情報処理システム1によれば、半導体記憶装置3は、通信装置2に半導体記憶装置3を認証させるための第2の認証コードS(N+1)のコード長を可変に設定可能である。従って、認証の処理毎に、あるいは任意のタイミングで、認証コードS(N+1)のコード長を異ならせることができる。また、攻撃者によるハッキング技術の向上に対抗して、認証コードS(N+1)のコード長を拡大することができる。さらに、半導体記憶装置3から通信装置2に送信するコンテンツデータの機密レベルに応じて、認証コードS(N+1)のコード長を異ならせることができる。その結果、認証コードのコード長が固定値である情報処理システムよりもセキュリティ強度を向上することが可能となる。   Further, according to the information processing system 1 according to the first and second embodiments, the semiconductor memory device 3 has the code length of the second authentication code S (N + 1) for causing the communication device 2 to authenticate the semiconductor memory device 3. Can be set variably. Therefore, the code length of the authentication code S (N + 1) can be varied for each authentication process or at an arbitrary timing. Further, the code length of the authentication code S (N + 1) can be increased against the improvement of the hacking technique by the attacker. Furthermore, the code length of the authentication code S (N + 1) can be varied according to the confidential level of the content data transmitted from the semiconductor storage device 3 to the communication device 2. As a result, the security strength can be improved as compared with the information processing system in which the code length of the authentication code is a fixed value.

また、上記実施の形態1に係る情報処理システム1によれば、半導体記憶装置3は、認証コードS(N+1)のコード長をランダムに設定する。従って、認証コードS(N+1)のコード長はランダムに変更されるため、攻撃者が認証コードS(N+1)の解析を行う際に、通信装置2と半導体記憶装置3との間で送受信される様々なデータのうちのどの部分のデータが認証コードS(N+1)であるかを、攻撃者が特定することが困難である。その結果、攻撃者による認証コードS(N+1)の解析がさらに困難となるため、セキュリティ強度をさらに向上することが可能となる。   Further, according to the information processing system 1 according to the first embodiment, the semiconductor storage device 3 randomly sets the code length of the authentication code S (N + 1). Accordingly, since the code length of the authentication code S (N + 1) is randomly changed, when the attacker analyzes the authentication code S (N + 1), the code is transmitted / received between the communication device 2 and the semiconductor memory device 3. It is difficult for an attacker to identify which part of various data is the authentication code S (N + 1). As a result, the analysis of the authentication code S (N + 1) by an attacker becomes more difficult, so that the security strength can be further improved.

また、上記実施の形態2に係る情報処理システム1によれば、半導体記憶装置3は、認証コードS(N+1)のコード長を、情報処理システム1に要求されるセキュリティ強度に応じて設定する。従って、攻撃者によるハッキング技術の向上に対抗して以前より高いセキュリティ強度が要求された場合には、認証コードS(N+1)のコード長を以前より拡大して設定することができる。その結果、攻撃者による認証コードS(N+1)の解析が困難となるため、セキュリティ強度を向上することが可能となる。   Further, according to the information processing system 1 according to the second embodiment, the semiconductor storage device 3 sets the code length of the authentication code S (N + 1) according to the security strength required for the information processing system 1. Therefore, when a higher security strength is required than before, against the improvement of the hacking technique by the attacker, the code length of the authentication code S (N + 1) can be set larger than before. As a result, since it is difficult for an attacker to analyze the authentication code S (N + 1), the security strength can be improved.

また、上記実施の形態2に係る情報処理システム1によれば、半導体記憶装置3は、認証コードS(N+1)のコード長を、通信装置2に送信するコンテンツデータの機密レベルに応じて設定する。従って、機密レベルが高いコンテンツデータほど認証コードS(N+1)のコード長を拡大して設定することにより、セキュリティ強度を向上することが可能となる。   Further, according to the information processing system 1 according to the second embodiment, the semiconductor storage device 3 sets the code length of the authentication code S (N + 1) according to the security level of the content data transmitted to the communication device 2. . Therefore, the security strength can be improved by enlarging and setting the code length of the authentication code S (N + 1) for content data having a higher security level.

また、上記実施の形態1に係る情報処理システム1によれば、認証コードS(N+1)のコード長の設定は、メモリコントローラ21が実行する。従って、プログラム解析等によって通信装置2のマイクロプロセッサ11の制御を改変するような攻撃を受けた場合であっても、メモリコントローラ21によるハードウェア処理の内容が解析されない限り、攻撃者によって認証コードS(N+1)のコード長が特定されることはない。その結果、攻撃者による認証コードS(N+1)の解析がさらに困難となるため、セキュリティ強度をさらに向上することが可能となる。   Further, according to the information processing system 1 according to the first embodiment, the memory controller 21 executes the setting of the code length of the authentication code S (N + 1). Therefore, even if an attack that alters the control of the microprocessor 11 of the communication device 2 is performed by program analysis or the like, the authentication code S can be obtained by the attacker unless the contents of the hardware processing by the memory controller 21 are analyzed. The code length of (N + 1) is not specified. As a result, the analysis of the authentication code S (N + 1) by an attacker becomes more difficult, so that the security strength can be further improved.

また、上記実施の形態2に係る情報処理システム1によれば、認証コードS(N+1)のコード長の設定は、通信装置2のマイクロプロセッサ11が実行する。従って、認証コードS(N+1)のコード長を設定するための回路をメモリコントローラ21に実装する必要がないため、回路構成の簡略化及びコストの削減を図ることが可能となる。   Further, according to the information processing system 1 according to the second embodiment, the setting of the code length of the authentication code S (N + 1) is executed by the microprocessor 11 of the communication device 2. Therefore, since it is not necessary to mount a circuit for setting the code length of the authentication code S (N + 1) in the memory controller 21, the circuit configuration can be simplified and the cost can be reduced.

また、上記実施の形態1,2に係る情報処理システム1によれば、認証制御部63は、データM2で示される認証コードS(N+1)のコード長の設定値に基づいて、当該設定値に相当するビット長のセッション鍵K(N+1)を鍵生成部61から取得することにより、セッション鍵K(N+1)を含む認証コードS(N+1)を生成する。従って、認証制御部63が鍵生成部61から取得するセッション鍵K(N+1)のビット長を、コード長の設定値に応じて異ならせることにより、コード長が異なる様々な認証コードS(N+1)を簡易に生成することが可能となる。   Further, according to the information processing system 1 according to the first and second embodiments, the authentication control unit 63 sets the set value based on the set value of the code length of the authentication code S (N + 1) indicated by the data M2. An authentication code S (N + 1) including the session key K (N + 1) is generated by acquiring the session key K (N + 1) having a corresponding bit length from the key generation unit 61. Accordingly, various authentication codes S (N + 1) having different code lengths are obtained by changing the bit length of the session key K (N + 1) acquired from the key generation unit 61 by the authentication control unit 63 according to the set value of the code length. Can be easily generated.

また、上記実施の形態1,2に係る情報処理システム1によれば、鍵生成部51は、鍵生成部61が生成するセッション鍵K(N+1)と同一のセッション鍵K(N+1)を生成する。また、認証制御部53は、第2のコード長情報L(N+1)に相当するビット長のセッション鍵K(N+1)を鍵生成部51から取得することにより、セッション鍵K(N+1)を含む第1の認証コードS(N+1)を生成する。そして、認証制御部53は、半導体記憶装置3から受信した第2の認証コードS(N+1)と、自身が生成した第1の認証コードS(N+1)とが一致するか否かによって、半導体記憶装置3を認証する。半導体記憶装置3が正当である場合には第1の認証コードS(N+1)と第2の認証コードS(N+1)とは一致し、半導体記憶装置3が不正である場合には第1の認証コードS(N+1)と第2の認証コードS(N+1)とは一致しない。従って、第1の認証コードS(N+1)と第2の認証コードS(N+1)とが一致するか否かによって、半導体記憶装置3が正当であるか不正であるかを簡易かつ確実に認証することが可能となる。   Further, according to the information processing system 1 according to the first and second embodiments, the key generation unit 51 generates the same session key K (N + 1) as the session key K (N + 1) generated by the key generation unit 61. . Further, the authentication control unit 53 acquires a session key K (N + 1) having a bit length corresponding to the second code length information L (N + 1) from the key generation unit 51, thereby including the session key K (N + 1). 1 authentication code S (N + 1) is generated. Then, the authentication control unit 53 determines whether the second authentication code S (N + 1) received from the semiconductor memory device 3 matches the first authentication code S (N + 1) generated by itself. The device 3 is authenticated. If the semiconductor memory device 3 is valid, the first authentication code S (N + 1) and the second authentication code S (N + 1) match. If the semiconductor memory device 3 is illegal, the first authentication code S (N + 1) matches the first authentication code S (N + 1). The code S (N + 1) and the second authentication code S (N + 1) do not match. Therefore, whether the semiconductor memory device 3 is legitimate or illegal is simply and reliably authenticated depending on whether or not the first authentication code S (N + 1) and the second authentication code S (N + 1) match. It becomes possible.

また、上記実施の形態1,2に係る情報処理システム1によれば、半導体記憶装置3は、認証コードS(N)に基づいて通信装置2を認証し、通信装置2を正当と判定した場合には、認証コードS(N)に応答して認証コードS(N+1)を通信装置2に送信し、通信装置2は、認証コードS(N+1)に基づいて半導体記憶装置3を認証する。従って、通信装置2から半導体記憶装置3への認証コードS(N)の送信と、それに応答する半導体記憶装置3から通信装置2への認証コードS(N+1)の送信との、一往復の通信によって、通信装置2と半導体記憶装置3との相互認証を行うことができる。その結果、通信装置及び半導体記憶装置それぞれからの往復通信(合計で二往復の通信)が必要となる一般的なチャレンジアンドレスポンス型の相互認証と比較すると、処理の高速化及び効率化を図ることが可能となる。   Further, according to the information processing system 1 according to the first and second embodiments, the semiconductor storage device 3 authenticates the communication device 2 based on the authentication code S (N) and determines that the communication device 2 is valid. The authentication code S (N + 1) is transmitted to the communication device 2 in response to the authentication code S (N), and the communication device 2 authenticates the semiconductor memory device 3 based on the authentication code S (N + 1). Therefore, one-way communication between the transmission of the authentication code S (N) from the communication device 2 to the semiconductor storage device 3 and the transmission of the authentication code S (N + 1) 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. 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 and the semiconductor storage device, the processing speed and efficiency are improved. Is possible.

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 Code length setting part 61 Key generation part 62 Encryption / decryption Decryption unit 63 Authentication control unit 64 Code length setting unit

Claims (12)

通信装置と、
前記通信装置に接続される記憶装置と、
を備える情報処理システムであって、
前記通信装置は、
ソフトウェア処理によって前記情報処理システムを制御する主制御部と、
前記主制御部とは別に実装され、ハードウェア処理によって前記記憶装置を制御する第1の制御回路と、
を有し、
前記記憶装置は、
コンテンツデータが記憶された記憶部と、
前記記憶部を制御する第2の制御回路と、
を有し、
前記第1の制御回路は、
第1の数列と第4の数列とを順に生成する第1の数列生成部と、
第1の認証制御部と、
を含み、
前記第2の制御回路は、
前記第1の数列と同一の第2の数列と、前記第4の数列と同一の第3の数列とを順に生成する第2の数列生成部と、
第2の認証制御部と、
を含み、
前記第1の認証制御部は、
第1の認証コードのコード長の設定値に基づいて、当該設定値に相当するビット長の前記第1の数列を前記第1の数列生成部から取得することにより、当該第1の数列を含む前記第1の認証コードを生成し、
前記第1の認証コードと、当該第1の認証コードのコード長を示す第1のコード長情報とを含む認証コマンドを、前記記憶装置に送信し、
前記第2の認証制御部は、
前記第1のコード長情報に相当するビット長の前記第2の数列を前記第2の数列生成部から取得することにより、当該第2の数列を含む第2の認証コードを生成し、
前記通信装置から受信した前記第1の認証コードと、自身が生成した前記第2の認証コードとが一致するか否かによって、前記通信装置を認証し、
前記第2の認証制御部は、
第3の認証コードのコード長の設定値に基づいて、当該設定値に相当するビット長の前記第3の数列を前記第2の数列生成部から取得することにより、当該第3の数列を含む前記第3の認証コードを生成し、
前記第3の認証コードと、当該第3の認証コードのコード長を示す第2のコード長情報とを、前記通信装置に送信し、
前記第1の認証制御部は、
前記第2のコード長情報に相当するビット長の前記第4の数列を前記第1の数列生成部から取得することにより、当該第4の数列を含む第4の認証コードを生成し、
前記記憶装置から受信した前記第3の認証コードと、自身が生成した前記第4の認証コードとが一致するか否かによって、前記記憶装置を認証し、
前記通信装置は、前記第1の認証コードのコード長を可変に設定可能であり、
前記記憶装置は、前記第3の認証コードのコード長を可変に設定可能であり、
前記記憶装置は、前記第3の認証コードのコード長を、前記第1の認証コードのコード長とは異なる値に設定する、情報処理システム。
A communication device;
A storage device connected to the communication device;
An information processing system comprising:
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 storage unit storing content data;
A second control circuit for controlling the storage unit;
Have
The first control circuit includes:
A first number sequence generation unit that sequentially generates a first number sequence and a fourth number sequence;
A first authentication control unit;
Including
The second control circuit includes:
A second number sequence generation unit that sequentially generates a second number sequence that is the same as the first number sequence, and a third number sequence that is the same as the fourth number sequence;
A second authentication control unit;
Including
The first authentication control unit includes:
Based on the set value of the code length of the first authentication code, the first number sequence having the bit length corresponding to the set value is acquired from the first number sequence generation unit, thereby including the first number sequence Generating the first authentication code;
Transmitting an authentication command including the first authentication code and first code length information indicating a code length of the first authentication code to the storage device;
The second authentication control unit
By obtaining the second number sequence having a bit length corresponding to the first code length information from the second number sequence generation unit, a second authentication code including the second number sequence is generated,
Depending on whether the first authentication code received from the communication device matches the second authentication code generated by itself, the communication device is authenticated,
The second authentication control unit
Based on the set value of the code length of the third authentication code, the third number sequence having the bit length corresponding to the set value is acquired from the second number sequence generating unit, thereby including the third number sequence Generating the third authentication code;
Transmitting the third authentication code and second code length information indicating a code length of the third authentication code to the communication device;
The first authentication control unit includes:
By acquiring the fourth number sequence having a bit length corresponding to the second code length information from the first number sequence generation unit, a fourth authentication code including the fourth number sequence is generated,
Depending on whether or not the third authentication code received from the storage device matches the fourth authentication code generated by itself, the storage device is authenticated,
The communication device can variably set the code length of the first authentication code,
The storage device can variably set the code length of the third authentication code,
The information processing system, wherein the storage device sets the code length of the third authentication code to a value different from the code length of the first authentication code .
前記通信装置は、前記第1の認証コードのコード長をランダムに設定する、請求項1に記載の情報処理システム。   The information processing system according to claim 1, wherein the communication device sets a code length of the first authentication code at random. 前記通信装置は、前記第1の認証コードのコード長を、前記情報処理システムに要求されるセキュリティ強度に応じて設定する、請求項1に記載の情報処理システム。   The information processing system according to claim 1, wherein the communication device sets a code length of the first authentication code according to a security strength required for the information processing system. 前記通信装置は、前記第1の認証コードのコード長を、前記記憶装置から前記通信装置に送信するコンテンツデータの機密レベルに応じて設定する、請求項1に記載の情報処理システム。   The information processing system according to claim 1, wherein the communication device sets a code length of the first authentication code according to a security level of content data transmitted from the storage device to the communication device. 記第1の認証コードのコード長の設定は、前記第1の制御回路が実行する、請求項1〜4のいずれか一つに記載の情報処理システム。 Before SL first setting code length of the authentication code, said first control circuit is performed, the information processing system according to any one of claims 1 to 4. 記第1の認証コードのコード長の設定は、前記主制御部が実行する、請求項1〜4のいずれか一つに記載の情報処理システム。 Before SL first authentication code code length setting of the main control unit executes information processing system according to any one of claims 1 to 4. 前記記憶装置は、前記第3の認証コードのコード長をランダムに設定する、請求項1〜6のいずれか一つに記載の情報処理システム。  The information processing system according to any one of claims 1 to 6, wherein the storage device randomly sets a code length of the third authentication code. 前記記憶装置は、前記第3の認証コードのコード長を、前記情報処理システムに要求されるセキュリティ強度に応じて設定する、請求項1〜6のいずれか一つに記載の情報処理システム。  The information processing system according to claim 1, wherein the storage device sets a code length of the third authentication code in accordance with a security strength required for the information processing system. 前記記憶装置は、前記第3の認証コードのコード長を、前記通信装置に送信するコンテンツデータの機密レベルに応じて設定する、請求項1〜6のいずれか一つに記載の情報処理システム。  The information processing system according to claim 1, wherein the storage device sets a code length of the third authentication code according to a confidential level of content data transmitted to the communication device. 前記第3の認証コードのコード長の設定は、前記第2の制御回路が実行する、請求項1〜9のいずれか一つに記載の情報処理システム。  The information processing system according to any one of claims 1 to 9, wherein the setting of the code length of the third authentication code is executed by the second control circuit. 前記第3の認証コードのコード長の設定は、前記主制御部が実行する、請求項1〜9のいずれか一つに記載の情報処理システム。  The information processing system according to claim 1, wherein the main control unit executes the setting of the code length of the third authentication code. 前記記憶装置は、前記通信装置を正当と判定した場合に、前記第1の認証コードに応答して前記第3の認証コードを前記通信装置に送信する、請求項1〜11のいずれか一つに記載の情報処理システム。  The storage device transmits the third authentication code to the communication device in response to the first authentication code when the communication device determines that the communication device is valid. Information processing system described in 1.
JP2013153581A 2013-07-24 2013-07-24 Information processing system Active JP6246516B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2013153581A JP6246516B2 (en) 2013-07-24 2013-07-24 Information processing system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013153581A JP6246516B2 (en) 2013-07-24 2013-07-24 Information processing system

Publications (2)

Publication Number Publication Date
JP2015026892A JP2015026892A (en) 2015-02-05
JP6246516B2 true JP6246516B2 (en) 2017-12-13

Family

ID=52491246

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013153581A Active JP6246516B2 (en) 2013-07-24 2013-07-24 Information processing system

Country Status (1)

Country Link
JP (1) JP6246516B2 (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6516610B2 (en) * 2015-07-22 2019-05-22 株式会社メガチップス Memory device, host device, and memory system
US10615959B2 (en) 2015-07-22 2020-04-07 Megachips Corporation Memory device, host device, and memory system
JP7206869B2 (en) * 2018-12-05 2023-01-18 凸版印刷株式会社 Encrypted communication system and encrypted communication method

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4395302B2 (en) * 1999-04-27 2010-01-06 パナソニック株式会社 Semiconductor memory card and control method thereof
JP2002094596A (en) * 2000-09-14 2002-03-29 Aval Data Corp Method and device for collecting information
JP2003162986A (en) * 2001-11-27 2003-06-06 Sanyo Electric Co Ltd Id generating device and id confirming device
JP2003196160A (en) * 2001-12-28 2003-07-11 Mitsubishi Electric Corp Ic card and recorded information management method for ic card
JP2007233960A (en) * 2006-03-03 2007-09-13 Matsushita Electric Ind Co Ltd Authentication processing device and authentication processing method
US20070220253A1 (en) * 2006-03-15 2007-09-20 Law Eric C W Mutual authentication between two parties using two consecutive one-time passwords
JP2009284344A (en) * 2008-05-23 2009-12-03 Osamu Kameda Common key encryption method and system using binary authentication
JP2010057123A (en) * 2008-08-29 2010-03-11 Panasonic Corp Encryption processing device, encryption processing method and program
JP6203556B2 (en) * 2013-07-03 2017-09-27 株式会社メガチップス Information processing system

Also Published As

Publication number Publication date
JP2015026892A (en) 2015-02-05

Similar Documents

Publication Publication Date Title
KR101324825B1 (en) Message authentication code pre-computation with applications to secure memory
US10187373B1 (en) Hierarchical, deterministic, one-time login tokens
US10146701B2 (en) Address-dependent key generation with a substitution-permutation network
CN103914662A (en) Access control method and device of file encrypting system on the basis of partitions
CN113079001B (en) Key updating method, information processing apparatus, and key updating device
JP2007173999A (en) Authentication system and device to be authenticated
JP6930053B2 (en) Data encryption method and system using device authentication key
EP2701101B1 (en) Information processing devices and information processing methods
JP6188633B2 (en) Computer system, computer, semiconductor device, information processing method, and computer program
JP6246516B2 (en) Information processing system
JP6888122B2 (en) Semiconductor device, update data provision method, update data reception method and program
US10897363B2 (en) Authenticating a secondary device based on encrypted tables
JP2008287488A (en) Data distributing and preserving unit
JP6348273B2 (en) Information processing system
JP6203556B2 (en) Information processing system
CN107493572B (en) Wireless radio frequency equipment, authentication server and authentication method
JP6069120B2 (en) Information processing system
JP2015014839A (en) Information processing system
JP6124338B2 (en) Information processing system
JP2005094089A (en) Authentication unit, unit to be authenticated, authentication system, authentication method, method to be authenticated, program and computer readable medium recording that program
JP6762910B2 (en) Authentication system, client device, server device, authentication method, program
JP2005223956A (en) Authentication system, authentication device, and method
JP6649858B2 (en) One-time authentication system
CN117278212A (en) Key generation method, device, system, electronic equipment and readable storage medium
WO2010109560A1 (en) Semiconductor memory, computer machine connected with semiconductor memory, and data processing method of same

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: 20170315

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170407

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170529

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: 20171026

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20171115

R150 Certificate of patent or registration of utility model

Ref document number: 6246516

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