(58)【調査した分野】(Int.Cl.,DB名)
【背景技術】
【0002】
通信装置とそれに接続される半導体記憶装置とを備える情報処理システムにおいては、半導体記憶装置に記憶されたコンテンツデータが不正に読み出されることを防止すべく、コンテンツデータへのアクセスを許可する前に、通信装置と半導体記憶装置とが相互に正当性を認証し合う技術(相互認証技術)が実用化されている。
【0003】
一般的なチャレンジアンドレスポンス型の相互認証では、通信装置は、第1の認証コードを生成し、当該第1の認証コードを暗号化して半導体記憶装置に送信する。半導体記憶装置は、受信した第1の認証コードを復号した後、当該第1の認証コードを再び暗号化して通信装置に送信する。通信装置は、受信した第1の認証コードを復号した後、半導体記憶装置に送信した第1の認証コードと、半導体記憶装置から受信した第1の認証コードとが一致するか否かによって、半導体記憶装置の正当性を認証する。また、通信装置が半導体記憶装置の正当性を認証した後、半導体記憶装置は、第2の認証コードを生成し、当該第2の認証コードを暗号化して通信装置に送信する。通信装置は、受信した第2の認証コードを復号した後、当該第2の認証コードを再び暗号化して半導体記憶装置に送信する。半導体記憶装置は、受信した第2の認証コードを復号した後、通信装置に送信した第2の認証コードと、通信装置から受信した第2の認証コードとが一致するか否かによって、通信装置の正当性を認証する。
【0004】
なお、下記特許文献1には、複数の相互認証手続を準備しておき、CPUが複数の相互認証手続の中から一の相互認証手続を選択することにより、その選択した相互認証手続をCPUが実行する情報処理装置が開示されている。
【発明の概要】
【発明が解決しようとする課題】
【0006】
一般的に、通信装置と半導体記憶装置との間の相互認証は、マイクロプロセッサが認証プログラムを実行することによるソフトウェア処理によって行われる。従って、コンテンツデータの不正な読み出しを企図する攻撃者は、認証プログラムの解析や、マイクロプロセッサ内のROM又はRAMのデータを改ざんすることによって、相互認証の処理を回避するようにマイクロプロセッサの制御を改変しようとする。そして、そのような改変がなされれば、半導体記憶装置からコンテンツデータが不正に読み出されてしまう。
【0007】
本発明はかかる事情に鑑みて成されたものであり、マイクロプロセッサの制御を改変するような攻撃を受けた場合であっても、記憶装置からコンテンツデータが不正に読み出されることを防止することが可能な、情報処理システムを得ることを目的とするものである。
【課題を解決するための手段】
【0008】
本発明の第1の態様に係る情報処理システムは、通信装置と、前記通信装置に接続される記憶装置と、を備える情報処理システムであって、前記通信装置は、ソフトウェア処理によって前記情報処理システムを制御する主制御部と、前記主制御部とは別に実装され、ハードウェア処理によって前記記憶装置を制御する第1の制御回路と、を有し、前記記憶装置は、コンテンツデータが記憶された記憶部と、前記記憶部を制御する第2の制御回路と、を有し、
前記第1の制御回路は、第1の数列を生成する第1の数列生成部と、前記第2の制御回路に前記第1の制御回路を認証させるための第1の認証コードを生成する第1の認証制御部と、を含み、前記第2の制御回路は、前記第1の数列生成部が生成する前記第1の数列と同一の第2の数列を生成する第2の数列生成部と、前記第1の制御回路に前記第2の制御回路を認証させるための第2の認証コードを生成する第2の認証制御部と、を含み、前記主制御部は、前記通信装置と前記記憶装置との相互認証を指示するコマンドを発行し、前記第1の制御回路は、前記コマンドを受領することにより、
前記第1の数列生成部が生成した前記第1の数列を含む前記第1の認証コードを生成し、当該第1の認証コードを前記第2の制御回路に送信し、前記第2の認証制御部は、受信した前記第1の認証コードに含まれる前記第1の数列と、前記第2の数列生成部が生成した前記第2の数列とが一致するか否かによって、前記第1の制御回路を認証し、前記第1の制御回路を正当と判定した場合には、前記第2の数列生成部が前記第2の数列の次に生成した第3の数列を含む前記第2の認証コードを生成し、当該第2の認証コードを前記第1の制御回路に送信し、前記第1の認証制御部は、受信した前記第2の認証コードに含まれる前記第3の数列と、前記第1の数列生成部が前記第1の数列の次に生成した第4の数列とが一致するか否かによって、前記第2の制御回路を認証することを特徴とするものである。
【0009】
第1の態様に係る情報処理システムによれば、主制御部は、通信装置と記憶装置との相互認証を指示するコマンドを発行する。そして、第1の制御回路は、コマンドを受領することにより、第2の制御回路との間で相互認証を実行する。このように、通信装置と記憶装置との相互認証において、主制御部が実行する処理はコマンドの発行だけであり、認証コードの作成や判定等の本質的な処理は、第1の制御回路と第2の制御回路との間で実行される。従って、プログラム解析等によって主制御部の制御を改変するような攻撃を受けた場合であっても、第1の制御回路及び第2の制御回路によるハードウェア処理の内容が解析及び改変されない限り、攻撃者によって相互認証の処理が回避されることはない。その結果、主制御部の制御を改変するような攻撃を受けた場合であっても、記憶装置からコンテンツデータが不正に読み出されることを防止することが可能となる。
また、第1の態様に係る情報処理システムによれば、第1の制御回路は、主制御部から受領したコマンドに基づいて、第2の制御回路に第1の制御回路を認証させるための第1の認証コードを生成する。このように、主制御部ではなく第1の制御回路によって第1の認証コードが生成されるため、プログラム解析等を行っても攻撃者は第1の認証コードを特定することができない。その結果、記憶装置からコンテンツデータが不正に読み出されることを防止することが可能となる。
また、第1の態様に係る情報処理システムによれば、第2の制御回路は、第1の制御回路を正当と判定した場合には、第1の制御回路に第2の制御回路を認証させるための第2の認証コードを生成し、当該第2の認証コードを第1の制御回路に送信する。従って、第1の制御回路から第2の制御回路への第1の認証コードの送信と、それに応答する第2の制御回路から第1の制御回路への第2の認証コードの送信との、一往復の通信によって、通信装置と記憶装置との相互認証を行うことができる。その結果、通信装置及び記憶装置それぞれからの往復通信(合計で二往復の通信)が必要となる一般的なチャレンジアンドレスポンス型の相互認証と比較すると、処理の高速化及び効率化を図ることが可能となる。
また、第1の態様に係る情報処理システムによれば、第2の認証制御部は、受信した第1の認証コードに含まれる第1の数列と、第2の数列生成部が生成した第2の数列とが一致するか否かによって、第1の制御回路を認証する。通信装置が不正である場合には、第1の認証コードには、第2の数列生成部が生成した第2の数列と一致する第1の数列が含まれていない。従って、通信装置(又は第1の制御回路)が不正であることを、確実に検出することが可能となる。また、第1の認証制御部は、受信した第2の認証コードに含まれる第3の数列と、第1の数列生成部が生成した第4の数列とが一致するか否かによって、第2の制御回路を認証する。記憶装置が不正である場合には、第2の認証コードには、第1の数列生成部が生成した第4の数列と一致する第3の数列が含まれていない。従って、記憶装置(又は第2の制御回路)が不正であることを、確実に検出することが可能となる。
また、第1の態様に係る情報処理システムによれば、第1の制御回路から第2の制御回路に送信される第1の認証コードに含まれる第1の数列と、当該第1の認証コードに応答して第2の制御回路から第1の制御回路に送信される第2の認証コードに含まれる第3の数列とは、互いに異なる。つまり、通信装置が記憶装置に送信する第1の認証コードと、通信装置が記憶装置から受信する第2の認証コードとは、互いに異なる。このように、送信時と受信時とで認証コードを異ならせることにより、セキュリティ強度を向上することが可能となる。
また、第1の態様に係る情報処理システムによれば、第2の認証制御部は、第1の制御回路を認証する際に生成された第2の数列の次に生成された第3の数列を含めて、第2の認証コードを生成する。これにより、記憶装置から通信装置に送信する第2の認証コードを、通信装置から記憶装置に送信する第1の認証コードから簡易かつ確実に変更することが可能となる。また、第1の認証制御部は、第2の認証コードに含まれる第3の数列と、第1の認証コードを生成する際に生成された第1の数列の次に生成された第4の数列とが一致するか否かによって、第2の制御回路を認証する。記憶装置が正当である場合には、第2の認証コードに含まれる第3の数列は、第1の数列生成部によって生成された第4の数列に一致しており、一方、記憶装置が不正である場合には、第2の認証コードに含まれる第3の数列は、第1の数列生成部によって生成された第4の数列に一致していない。従って、第3の数列が第4の数列に一致するか否かを確認することによって、記憶装置が正当であるか不正であるかを簡易かつ確実に判定することが可能となる。
【0012】
本発明の第
2の態様に係る情報処理システムは、第
1の態様に係る情報処理システムにおいて特に、前記第1の制御回路は、前記コマンドのコマンドID以外のデータを、
前記第1の数列生成部が生成した
前記第1の数列に置き換えることにより、前記第1の認証コードを生成することを特徴とするものである。
【0013】
第
2の態様に係る情報処理システムによれば、第1の制御回路は
、コマンドのコマンドID以外のデータを、
第1の数列生成部が生成した
第1の数列に置き換えることにより
、第1の認証コードを生成する。これにより、プログラム解析等によっては特定できない第1の認証コードを、簡易に生成することが可能となる。また、第1の認証コードにはコマンドIDが含まれるため、第2の制御回路は、第1の認証コードを受信することにより、相互認証の処理を適切に開始することが可能となる。
【0014】
本発明の第
3の態様に係る情報処理システムは、第
1又は第
2の態様に係る情報処理システムにおいて特に、前記第2の制御回路は、前記第1の認証コードに基づいて前記第1の制御回路を認証し、前記第1の制御回路を不正と判定した場合には、以後に前記通信装置から前記記憶装置に向けて送信されるデータを受信しないことを特徴とするものである。
【0015】
第
3の態様に係る情報処理システムによれば、第2の制御回路は、第1の制御回路を不正と判定した場合には、以後に通信装置から記憶装置に向けて送信されるデータを受信しない。従って、不正な通信装置から記憶装置に向けて読み出しコマンドが送信された場合等であっても、記憶装置は当該読み出しコマンドを受信しない。その結果、記憶装置からコンテンツデータが不正に読み出されることを防止することが可能となる。
【0018】
本発明の第
4の態様に係る情報処理システムは、
第1〜第3のいずれか一つの態様に係る情報処理システムにおいて特に、前記第1の制御回路は、前記第2の認証コードに基づいて前記第2の制御回路を認証し、前記第2の制御回路を不正と判定した場合には、前記通信装置と前記記憶装置との間での以後の通信を遮断することを特徴とするものである。
【0019】
第
4の態様に係る情報処理システムによれば、第1の制御回路は、第2の制御回路を不正と判定した場合には、通信装置と記憶装置との間での以後の通信を遮断する。従って、通信装置から不正な記憶装置に向けて読み出しコマンドが送信されることや、不正な記憶装置から通信装置に向けてコンテンツデータが送信されることが回避される。その結果、記憶装置からコンテンツデータが不正に読み出されることを防止することが可能となる。
【0022】
本発明の第
5の態様に係る情報処理システムは、
第1〜第4のいずれか一つの態様に係る情報処理システムにおいて特に、前記第1の数列生成部及び前記第2の数列生成部は、認証の処理毎に異なる前記第1の数列及び前記第2の数列をそれぞれ生成することを特徴とするものである。
【0023】
第
5の態様に係る情報処理システムによれば、第1の数列生成部及び第2の数列生成部は、認証の処理毎に異なる第1の数列及び第2の数列をそれぞれ生成する。その結果、第1の認証コード及び第2の認証コードは認証の処理毎に変更されるため、セキュリティ強度を向上することが可能となる。
【発明の効果】
【0028】
本発明によれば、マイクロプロセッサの制御を改変するような攻撃を受けた場合であっても、記憶装置からコンテンツデータが不正に読み出されることを防止することが可能となる。
【発明を実施するための形態】
【0030】
以下、本発明の実施の形態について、図面を用いて詳細に説明する。なお、異なる図面において同一の符号を付した要素は、同一又は相応する要素を示すものとする。
【0031】
図1は、本発明の実施の形態に係る情報処理システム1の全体構成を概略的に示す図である。情報処理システム1は、通信装置2と半導体記憶装置3とを備えて構成されている。通信装置2は、例えばパーソナルコンピュータである。半導体記憶装置3は、例えば、通信装置2に着脱自在に接続可能なメモリカードである。あるいは、半導体記憶装置3に代えて、光ディスクや磁気ディスク等の任意の記憶装置を用いることもできる。
【0032】
通信装置2は、ソフトウェア処理によって情報処理システム1を制御するメインシステムとしてのマイクロプロセッサ11(主制御部)と、マイクロプロセッサ11とは別に実装されたメモリコントローラ12(第1の制御回路)とを備えて構成されている。メモリコントローラ12は、ハードウェア処理によって半導体記憶装置3を制御する。
【0033】
半導体記憶装置3は、画像、音声、テキスト、コード、管理情報等の任意のコンテンツデータが記憶されたメモリアレイ22(記憶部)と、メモリアレイ22を制御するメモリコントローラ21(第2の制御回路)とを備えて構成されている。メモリアレイ22は、例えばNAND型フラッシュメモリを用いて構成されている。但し、この例に限定されるものではなく、メモリアレイ22はNOR型フラッシュメモリ等を用いて構成されていても良い。
【0034】
図2は、マイクロプロセッサ11の構成を示す図である。マイクロプロセッサ11は、バス47を介して相互に接続された、CPU41、演算器42、RAM43、ROM44、ブリッジ45、及びレジスタ46を備えて構成されている。
【0035】
図3は、メモリコントローラ12の構成を示す図である。
図3の接続関係で示すように、メモリコントローラ12は、鍵生成部51(第1の数列生成部)、暗号化・復号部52、認証制御部53(第1の認証制御部)、及びマスク回路54,55を備えて構成されている。鍵生成部51は、機密性の高い固定値の共有鍵Pを用いて、所定の乱数生成アルゴリズムによってランダムな数列(以下の例ではセッション鍵K)を生成する。鍵生成部51は、メモリコントローラ12がマイクロプロセッサ11から認証コマンドCを受領する度に、毎回異なるセッション鍵K(ナンス)を生成する。
【0036】
図4は、メモリコントローラ21の構成を示す図である。
図4の接続関係で示すように、メモリコントローラ21は、鍵生成部61(第2の数列生成部)、暗号化・復号部62、及び認証制御部63(第2の認証制御部)を備えて構成されている。鍵生成部61は、鍵生成部51が保持している共有鍵Pと同一の共有鍵Pを用いて、鍵生成部51と同一の乱数生成アルゴリズムによって、鍵生成部51が生成するセッション鍵Kと同一のセッション鍵Kを生成する。鍵生成部61は、メモリコントローラ21がメモリコントローラ12から暗号化認証コードXを受信する度に、毎回異なるセッション鍵Kを生成する。
【0037】
以下、
図3,4を参照して、通信装置2と半導体記憶装置3との相互認証の処理について説明する。前提として、暗号化・復号部52,62は、鍵生成部51,61が前回生成したセッション鍵K(N−1)によって初期化されているものとする。また、相互認証の処理が完了して通信装置2及び半導体記憶装置3の正当性が互いに認証されるまでは、マイクロプロセッサ11からメモリアレイ22へのアクセスは許可されていない。
【0038】
まずマイクロプロセッサ11は、相互認証の実行を指示するための所定バイト長の認証コマンドCを発行する。認証コマンドCは、それが認証コマンドであることを識別するための特定のコマンドIDと、コマンドID以外のデータとを含む。メモリコントローラ12は、マイクロプロセッサ11から認証コマンドCを受領し、受領した認証コマンドCを認証制御部53に入力する。
【0039】
次に鍵生成部51は、認証制御部53からの要求に従ってセッション鍵K(N)を生成する。セッション鍵K(N)は、暗号化・復号部52及び認証制御部53に入力される。
【0040】
次に認証制御部53は、認証コマンドC及びセッション鍵K(N)に基づいて認証コードS(N)を生成する。例えば、認証コマンドCのコマンドID以外のデータを、セッション鍵K(N)に置き換えることにより、コマンドIDとセッション鍵K(N)とを含む認証コードS(N)を生成する。認証制御部53は、生成した認証コードS(N)を暗号化・復号部52に入力する。
【0041】
次に暗号化・復号部52は、現在設定されているセッション鍵K(N−1)を用いて認証コードS(N)を暗号化することにより、暗号化認証コードX(N)を生成する。そして、生成した暗号化認証コードX(N)をメモリコントローラ21に送信する。
【0042】
次に認証制御部53は、鍵生成部51が今回生成したセッション鍵K(N)によって、暗号化・復号部52を初期化する。
【0043】
メモリコントローラ21は、メモリコントローラ12から受信した暗号化認証コードX(N)を、暗号化・復号部62に入力する。
【0044】
次に暗号化・復号部62は、現在設定されているセッション鍵K(N−1)を用いて暗号化認証コードX(N)を復号することにより、認証コードS(N)を再生する。そして、再生した認証コードS(N)を認証制御部63に入力する。
【0045】
次に鍵生成部61は、認証制御部63からの要求に従ってセッション鍵K(N)を生成する。セッション鍵K(N)は、暗号化・復号部62及び認証制御部63に入力される。
【0046】
次に認証制御部63は、暗号化認証コードX(N)の復号により再生した認証コードS(N)に含まれるセッション鍵K(N)と、鍵生成部61から入力されたセッション鍵K(N)とを比較することにより、通信装置2(又はメモリコントローラ12。以下同様)の正当性を認証する。具体的には、両セッション鍵K(N)が一致する場合には通信装置2を正当と判定し、両セッション鍵K(N)が一致しない場合には通信装置2を不正と判定する。
【0047】
認証制御部63は、通信装置2を不正と判定した場合には、暗号化・復号部62に対して通信装置2からの送信データの受信を禁止する。これにより、メモリコントローラ21は、以後に通信装置2から半導体記憶装置3に向けて送信されるデータを受信しない。
【0048】
一方、通信装置2を正当と判定した場合には、次に認証制御部63は、鍵生成部61が今回生成したセッション鍵K(N)によって、暗号化・復号部62を初期化する。
【0049】
次に鍵生成部61は、認証制御部63からの要求に従って、次回のセッション鍵K(N+1)を生成する。セッション鍵K(N+1)は、認証制御部63に入力される。
【0050】
次に認証制御部63は、鍵生成部61から入力されたセッション鍵K(N+1)に基づいて認証コードS(N+1)を生成する。例えば、セッション鍵K(N+1)をそのまま認証コードS(N+1)として使用する。認証制御部63は、生成した認証コードS(N+1)を暗号化・復号部62に入力する。
【0051】
次に暗号化・復号部62は、現在設定されているセッション鍵K(N)を用いて認証コードS(N+1)を暗号化することにより、暗号化認証コードY(N+1)を生成する。そして、生成した暗号化認証コードY(N+1)をメモリコントローラ12に送信する。
【0052】
メモリコントローラ12は、メモリコントローラ21から受信した暗号化認証コードY(N+1)を、暗号化・復号部52に入力する。
【0053】
次に暗号化・復号部52は、現在設定されているセッション鍵K(N)を用いて暗号化認証コードY(N+1)を復号することにより、認証コードS(N+1)を再生する。そして、再生した認証コードS(N+1)を認証制御部53に入力する。
【0054】
次に鍵生成部51は、認証制御部53からの要求に従ってセッション鍵K(N+1)を生成する。セッション鍵K(N+1)は、認証制御部53に入力される。
【0055】
次に認証制御部53は、暗号化認証コードY(N+1)の復号により再生した認証コードS(N+1)に含まれるセッション鍵K(N+1)と、鍵生成部51から入力されたセッション鍵K(N+1)とを比較することにより、半導体記憶装置3(又はメモリコントローラ21。以下同様)の正当性を認証する。具体的には、両セッション鍵K(N+1)が一致する場合には半導体記憶装置3を正当と判定し、両セッション鍵K(N+1)が一致しない場合には半導体記憶装置3を不正と判定する。
【0056】
認証制御部53は、半導体記憶装置3を不正と判定した場合には、データをオール「0」又はオール「1」に置換する等のマスク処理を有効にする制御信号Dを、マスク回路54,55に入力する。これにより、通信装置2と半導体記憶装置3との間での以後の通信が遮断される。
【0057】
一方、半導体記憶装置3を正当と判定した場合には、次に認証制御部53は、マスク処理を無効にする制御信号Dを、マスク回路54,55に入力する。これにより、通信装置2は、半導体記憶装置3に対してコンテンツデータの読み出しコマンド等を送信することが可能となり、また、半導体記憶装置3からコンテンツデータを受信することが可能となる。
【0058】
次回の相互認証の処理では、認証制御部63は、再生した認証コードS(N+1)に含まれるセッション鍵K(N+1)と、鍵生成部61が生成したセッション鍵K(N+1)とが一致するか否かによって、メモリコントローラ12の正当性を認証する。また、認証制御部53は、再生した認証コードS(N+2)に含まれるセッション鍵K(N+2)と、鍵生成部51が生成したセッション鍵K(N+2)とが一致するか否かによって、メモリコントローラ21の正当性を認証する。
【0059】
このように本実施の形態に係る情報処理システム1によれば、マイクロプロセッサ11(主制御部)は、通信装置2と半導体記憶装置3との相互認証を指示する認証コマンドCを発行する。そして、メモリコントローラ12(第1の制御回路)は、認証コマンドCを受領することにより、メモリコントローラ21(第2の制御回路)との間で相互認証を実行する。このように、通信装置2と半導体記憶装置3との相互認証において、マイクロプロセッサ11が実行する処理は認証コマンドCの発行だけであり、認証コードの作成や判定等の本質的な処理は、メモリコントローラ12とメモリコントローラ21との間で実行される。従って、プログラム解析や、ROM44又はRAM43のデータを改ざんすること等によって、マイクロプロセッサ11の制御を改変するような攻撃を受けた場合であっても、メモリコントローラ12,21によるハードウェア処理の内容が解析及び改変されない限り、攻撃者によって相互認証の処理が回避されることはない。その結果、マイクロプロセッサ11の制御を改変するような攻撃を受けた場合であっても、半導体記憶装置3からコンテンツデータが不正に読み出されることを防止することが可能となる。
【0060】
また、本実施の形態に係る情報処理システム1によれば、メモリコントローラ12は、マイクロプロセッサ11から受領した認証コマンドCに基づいて、メモリコントローラ21にメモリコントローラ12を認証させるための第1の認証コードS(N)を生成する。このように、マイクロプロセッサ11ではなくメモリコントローラ12によって認証コードS(N)が生成されるため、プログラム解析等を行っても攻撃者は認証コードS(N)を特定することができない。その結果、半導体記憶装置3からコンテンツデータが不正に読み出されることを防止することが可能となる。
【0061】
また、本実施の形態に係る情報処理システム1によれば、メモリコントローラ12は、認証コマンドCのコマンドID以外のデータを、自ら生成した数列に置き換えることにより、認証コードS(N)を生成する。これにより、プログラム解析等によっては特定できない認証コードを、簡易に生成することが可能となる。また、認証コードS(N)にはコマンドIDが含まれるため、メモリコントローラ21は、認証コードS(N)を受信することにより、相互認証の処理を適切に開始することが可能となる。
【0062】
また、本実施の形態に係る情報処理システム1によれば、メモリコントローラ21は、メモリコントローラ12を不正と判定した場合には、以後に通信装置2から半導体記憶装置3に向けて送信されるデータを受信しない。従って、不正な通信装置2から半導体記憶装置3に向けて読み出しコマンドが送信された場合等であっても、半導体記憶装置3は当該読み出しコマンドを受信しない。その結果、半導体記憶装置3からコンテンツデータが不正に読み出されることを防止することが可能となる。
【0063】
また、本実施の形態に係る情報処理システム1によれば、メモリコントローラ21は、メモリコントローラ12を正当と判定した場合には、メモリコントローラ12にメモリコントローラ21を認証させるための第2の認証コードS(N+1)を生成し、当該認証コードS(N+1)をメモリコントローラ12に送信する。従って、メモリコントローラ12からメモリコントローラ21への認証コードS(N)の送信と、それに応答するメモリコントローラ21からメモリコントローラ12への認証コードS(N+1)の送信との、一往復の通信によって、通信装置2と半導体記憶装置3との相互認証を行うことができる。その結果、通信装置2及び半導体記憶装置3それぞれからの往復通信(合計で二往復の通信)が必要となる一般的なチャレンジアンドレスポンス型の相互認証と比較すると、処理の高速化及び効率化を図ることが可能となる。
【0064】
また、本実施の形態に係る情報処理システム1によれば、メモリコントローラ12は、メモリコントローラ21を不正と判定した場合には、通信装置2と半導体記憶装置3との間での以後の通信を遮断する。従って、通信装置2から不正な半導体記憶装置3に向けて読み出しコマンドが送信されることや、不正な半導体記憶装置3から通信装置2に向けてコンテンツデータが送信されることが回避される。その結果、半導体記憶装置3からコンテンツデータが不正に読み出されることを防止することが可能となる。
【0065】
また、本実施の形態に係る情報処理システム1によれば、認証制御部63は、再生した認証コードS(N)に含まれるセッション鍵K(N)と、鍵生成部61が生成したセッション鍵K(N)とが一致するか否かによって、メモリコントローラ12の正当性を認証する。通信装置2が不正である場合には、認証コードS(N)には、鍵生成部61が生成したセッション鍵K(N)と一致するセッション鍵K(N)が含まれていない。従って、通信装置2が不正であることを、確実に検出することが可能となる。また、認証制御部53は、再生した認証コードS(N+1)に含まれるセッション鍵K(N+1)と、鍵生成部51が生成したセッション鍵K(N+1)とが一致するか否かによって、メモリコントローラ21の正当性を認証する。半導体記憶装置3が不正である場合には、認証コードS(N+1)には、鍵生成部51が生成したセッション鍵K(N+1)と一致するセッション鍵K(N+1)が含まれていない。従って、半導体記憶装置3が不正であることを、確実に検出することが可能となる。
【0066】
また、本実施の形態に係る情報処理システム1によれば、鍵生成部51,61は、認証の処理毎に異なるセッション鍵Kをそれぞれ生成する。その結果、認証コードSは認証の処理毎に変更されるため、セキュリティ強度を向上することが可能となる。
【0067】
また、本実施の形態に係る情報処理システム1によれば、メモリコントローラ12からメモリコントローラ21に送信される認証コードS(N)に含まれるセッション鍵K(N)と、当該認証コードS(N)に応答してメモリコントローラ21からメモリコントローラ12に送信される認証コードS(N+1)に含まれるセッション鍵K(N+1)とは、互いに異なる。つまり、通信装置2が半導体記憶装置3に送信する認証コードS(N)と、通信装置2が半導体記憶装置3から受信する認証コードS(N+1)とは、互いに異なる。このように、送信時と受信時とで認証コードSを異ならせることにより、セキュリティ強度を向上することが可能となる。
【0068】
また、本実施の形態に係る情報処理システム1によれば、認証制御部63は、メモリコントローラ12を認証する際に生成されたセッション鍵K(N)の次に生成された更新後のセッション鍵K(N+1)を含めて、認証コードS(N+1)を生成する。これにより、半導体記憶装置3から通信装置2に送信する認証コードS(N+1)を、通信装置2から半導体記憶装置3に送信する認証コードS(N)から簡易かつ確実に変更することが可能となる。また、認証制御部53は、認証コードS(N+1)に含まれる更新後のセッション鍵K(N+1)と、認証コードS(N)を生成する際に生成されたセッション鍵K(N)の次に生成された更新後のセッション鍵K(N+1)とが一致するか否かによって、メモリコントローラ21を認証する。半導体記憶装置3が正当である場合には、認証コードS(N+1)に含まれる更新後のセッション鍵K(N+1)は、鍵生成部51によって生成された更新後のセッション鍵K(N+1)に一致しており、一方、半導体記憶装置3が不正である場合には、認証コードS(N+1)に含まれる更新後のセッション鍵K(N+1)は、鍵生成部51によって生成された更新後のセッション鍵K(N+1)に一致していない。従って、両セッション鍵K(N+1)が一致するか否かを確認することによって、半導体記憶装置3が正当であるか不正であるかを簡易かつ確実に判定することが可能となる。