(57)【要約】【課題】秘匿技術と認証技術とを効率的に実装することが可能な情報処理システムを得る。【解決手段】暗号化回路５２は、復号回路５１が生成した復号コンテンツデータを暗号化することにより、暗号化コンテンツデータを生成する。そして、記憶装置認証回路４３は、半導体記憶装置３から受信した暗号化コンテンツデータと、暗号化回路５２が生成した暗号化コンテンツデータとに基づいて、半導体記憶装置３を認証する。【選択図】図４
2015125533.tif 000002
【特許請求の範囲】
【請求項１】
通信装置と、
前記通信装置に接続される記憶装置と、
を備え、
前記通信装置は、
前記記憶装置に送信するコマンドを暗号化することにより、暗号化コマンドを生成する第１の暗号化部と、
前記記憶装置から受信した暗号化コンテンツデータを復号することにより、復号コンテンツデータを生成する第１の復号部と、
前記記憶装置を認証する記憶装置認証部と、
を有し、
前記記憶装置は、
コンテンツデータが記憶された記憶部と、
前記通信装置から受信した暗号化コマンドを復号することにより、復号コマンドを生成する第２の復号部と、
前記通信装置に送信するコンテンツデータを暗号化することにより、暗号化コンテンツデータを生成する第２の暗号化部と、
を有し、
前記第１の暗号化部は、前記第１の復号部が生成した復号コンテンツデータを暗号化することにより、暗号化コンテンツデータを生成し、
前記記憶装置認証部は、前記記憶装置から受信した暗号化コンテンツデータと、前記第１の暗号化部が生成した暗号化コンテンツデータとに基づいて、前記記憶装置を認証する、情報処理システム。
【請求項２】
前記記憶装置は、前記通信装置を認証する通信装置認証部をさらに有し、
前記第２の暗号化部は、前記第２の復号部が生成した復号コマンドを暗号化することにより、暗号化コマンドを生成し、
前記通信装置認証部は、前記通信装置から受信した暗号化コマンドと、前記第２の暗号化部が生成した暗号化コマンドとに基づいて、前記通信装置を認証する、請求項１に記載の情報処理システム。
【請求項３】
通信装置と、
前記通信装置に接続される記憶装置と、
を備え、
前記通信装置は、
前記記憶装置に送信するコマンドを暗号化することにより、暗号化コマンドを生成する第１の暗号化部と、
前記記憶装置から受信した暗号化コンテンツデータを復号することにより、復号コンテンツデータを生成する第１の復号部と、
を有し、
前記記憶装置は、
コンテンツデータが記憶された記憶部と、
前記通信装置から受信した暗号化コマンドを復号することにより、復号コマンドを生成する第２の復号部と、
前記通信装置に送信するコンテンツデータを暗号化することにより、暗号化コンテンツデータを生成する第２の暗号化部と、
前記通信装置を認証する通信装置認証部と、
を有し、
前記第２の暗号化部は、前記第２の復号部が生成した復号コマンドを暗号化することにより、暗号化コマンドを生成し、
前記通信装置認証部は、前記通信装置から受信した暗号化コマンドと、前記第２の暗号化部が生成した暗号化コマンドとに基づいて、前記通信装置を認証する、情報処理システム。
【請求項４】
前記通信装置は、前記第１の暗号化部及び前記第１の復号部の動作モードとして、ストリーム暗号モードとブロック暗号モードとを選択する第１の暗号モード制御部をさらに有し、
前記記憶装置は、前記第２の暗号化部及び前記第２の復号部の動作モードとして、ストリーム暗号モードとブロック暗号モードとを選択する第２の暗号モード制御部をさらに有し、
前記記憶装置認証部は、前記第１の復号部及び前記第２の暗号化部の動作モードとしてブロック暗号モードが選択された場合に、前記記憶装置の認証を行う、請求項１又は２に記載の情報処理システム。
【請求項５】
前記第１の暗号モード制御部及び前記第２の暗号モード制御部は、前記第１の復号部及び前記第２の暗号化部の動作モードとしてブロック暗号モードを選択し、前記第１の暗号化部及び前記第２の復号部の動作モードとしてストリーム暗号モードを選択する、請求項４に記載の情報処理システム。
【請求項６】
前記通信装置は、前記記憶装置から暗号化コンテンツデータをブロック単位で受信し、
前記記憶装置認証部は、前記記憶装置から受信した全てのブロックに対応して、前記記憶装置の認証を行う、請求項４又は５に記載の情報処理システム。
【請求項７】
前記通信装置は、前記記憶装置から暗号化コンテンツデータをブロック単位で受信し、
前記記憶装置認証部は、前記記憶装置から受信した特定のブロックに対応して、前記記憶装置の認証を行う、請求項４又は５に記載の情報処理システム。
【請求項８】
前記記憶装置認証部が前記記憶装置を不正と認証した場合、前記通信装置は、前記記憶装置に対するデータの送受信を停止する、請求項４〜７のいずれか一つに記載の情報処理システム。
【請求項９】
前記通信装置は、前記第１の暗号化部及び前記第１の復号部の動作モードとして、ストリーム暗号モードとブロック暗号モードとを選択する第１の暗号モード制御部をさらに有し、
前記記憶装置は、前記第２の暗号化部及び前記第２の復号部の動作モードとして、ストリーム暗号モードとブロック暗号モードとを選択する第２の暗号モード制御部をさらに有し、
前記通信装置認証部は、前記第１の暗号化部及び前記第２の復号部の動作モードとしてブロック暗号モードが選択された場合に、前記通信装置の認証を行う、請求項２又は３に記載の情報処理システム。
【請求項１０】
前記第１の暗号モード制御部及び前記第２の暗号モード制御部は、前記第１の暗号化部及び前記第２の復号部の動作モードとしてブロック暗号モードを選択し、前記第１の復号部及び前記第２の暗号化部の動作モードとしてストリーム暗号モードを選択する、請求項９に記載の情報処理システム。
【請求項１１】
前記通信装置認証部は、前記通信装置を正規と認証した場合、前記第２の暗号化部が生成した暗号化コマンドに基づいて、コンテンツデータのストリーム暗号に用いるカウンタの初期値を設定する、請求項１０に記載の記憶装置。
【請求項１２】
前記通信装置認証部は、前記第２の暗号化部が生成した暗号化コマンドと、所定のパディングデータとの合成値を、前記カウンタの初期値として設定する、請求項１１に記載の記憶装置。
【請求項１３】
前記通信装置認証部は、前記通信装置から前記記憶装置へのアクセス毎にパディングデータを変更する、請求項１２に記載の記憶装置。
【請求項１４】
前記通信装置認証部が前記通信装置を不正と認証した場合、前記記憶装置は、前記通信装置に対するデータの送受信を停止する、請求項９〜１３のいずれか一つに記載の情報処理システム。
【請求項１５】
前記通信装置は、前記第１の暗号化部及び前記第１の復号部の動作モードとして、ストリーム暗号モードとブロック暗号モードとを選択する第１の暗号モード制御部をさらに有し、
前記記憶装置は、前記第２の暗号化部及び前記第２の復号部の動作モードとして、ストリーム暗号モードとブロック暗号モードとを選択する第２の暗号モード制御部をさらに有し、
前記第１の暗号モード制御部及び前記第２の暗号モード制御部は、前記第１の暗号化部、前記第２の暗号化部、前記第１の復号部、及び前記第２の復号部の動作モードとしてブロック暗号モードを選択し、
前記記憶装置認証部は前記記憶装置の認証を行い、
前記通信装置認証部は前記通信装置の認証を行う、請求項２に記載の情報処理システム。
【請求項１６】
記憶装置に送信するコマンドを暗号化することにより、暗号化コマンドを生成する暗号化部と、
前記記憶装置から受信した暗号化コンテンツデータを復号することにより、復号コンテンツデータを生成する復号部と、
前記記憶装置を認証する記憶装置認証部と、
を備え、
前記暗号化部は、前記復号部が生成した復号コンテンツデータを暗号化することにより、暗号化コンテンツデータを生成し、
前記記憶装置認証部は、前記記憶装置から受信した暗号化コンテンツデータと、前記暗号化部が生成した暗号化コンテンツデータとに基づいて、前記記憶装置を認証する、通信装置。
【請求項１７】
コンテンツデータが記憶された記憶部と、
通信装置から受信した暗号化コマンドを復号することにより、復号コマンドを生成する復号部と、
前記通信装置に送信するコンテンツデータを暗号化することにより、暗号化コンテンツデータを生成する暗号化部と、
前記通信装置を認証する通信装置認証部と、
を備え、
前記暗号化部は、前記復号部が生成した復号コマンドを暗号化することにより、暗号化コマンドを生成し、
前記通信装置認証部は、前記通信装置から受信した暗号化コマンドと、前記暗号化部が生成した暗号化コマンドとに基づいて、前記通信装置を認証する、記憶装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理システム並びに、当該情報処理システムが備える通信装置及び記憶装置に関する。
【背景技術】
【０００２】
通信装置とそれに接続される半導体記憶装置とを備える情報処理システムにおいては、半導体記憶装置に記憶されたコンテンツデータが攻撃者によって不正に読み出されることを防止すべく、一般的に、通信装置と半導体記憶装置との間でのデータ通信をストリーム暗号又はブロック暗号等の暗号通信によって行う技術（秘匿技術）が実装される。また、不正な通信装置又は不正な半導体記憶装置の使用を防止すべく、通信装置及び半導体記憶装置が相互に正当性を認証する技術（認証技術）も実用化されている。
【０００３】
なお、下記特許文献１には、半導体記憶装置に記憶されたコンテンツデータを暗号化する際に、ストリーム暗号とブロック暗号とを切り替える技術が開示されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１０−２５７１１２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、通信装置及び半導体記憶装置では、回路規模又は演算処理時間等のリソースが限られているため、秘匿技術と認証技術とを別個独立に実装したのでは、リソースの増大を招き、リソースの節約の観点からは好ましくない。
【０００６】
本発明はかかる事情に鑑みて成されたものであり、秘匿技術と認証技術とを効率的に実装することが可能な情報処理システム、並びに当該情報処理システムが備える通信装置及び記憶装置を得ることを目的とする。
【課題を解決するための手段】
【０００７】
本発明の第１の態様に係る情報処理システムは、通信装置と、前記通信装置に接続される記憶装置と、を備え、前記通信装置は、前記記憶装置に送信するコマンドを暗号化することにより、暗号化コマンドを生成する第１の暗号化部と、前記記憶装置から受信した暗号化コンテンツデータを復号することにより、復号コンテンツデータを生成する第１の復号部と、前記記憶装置を認証する記憶装置認証部と、を有し、前記記憶装置は、コンテンツデータが記憶された記憶部と、前記通信装置から受信した暗号化コマンドを復号することにより、復号コマンドを生成する第２の復号部と、前記通信装置に送信するコンテンツデータを暗号化することにより、暗号化コンテンツデータを生成する第２の暗号化部と、を有し、前記第１の暗号化部は、前記第１の復号部が生成した復号コンテンツデータを暗号化することにより、暗号化コンテンツデータを生成し、前記記憶装置認証部は、前記記憶装置から受信した暗号化コンテンツデータと、前記第１の暗号化部が生成した暗号化コンテンツデータとに基づいて、前記記憶装置を認証することを特徴とするものである。
【０００８】
第１の態様に係る情報処理システムによれば、第１の暗号化部は、第１の復号部が生成した復号コンテンツデータを暗号化することにより、暗号化コンテンツデータを生成する。そして、記憶装置認証部は、記憶装置から受信した暗号化コンテンツデータと、第１の暗号化部が生成した暗号化コンテンツデータとに基づいて、記憶装置を認証する。このように、秘匿技術と認証技術とを別個独立に実装するのではなく、秘匿技術を用いたセキュア通信の過程で生成される暗号化コンテンツデータに基づいて、通信装置が記憶装置の認証を行うことにより、秘匿技術と認証技術とを効率的に実装することが可能となる。
【０００９】
本発明の第２の態様に係る情報処理システムは、第１の態様に係る情報処理システムにおいて特に、前記記憶装置は、前記通信装置を認証する通信装置認証部をさらに有し、前記第２の暗号化部は、前記第２の復号部が生成した復号コマンドを暗号化することにより、暗号化コマンドを生成し、前記通信装置認証部は、前記通信装置から受信した暗号化コマンドと、前記第２の暗号化部が生成した暗号化コマンドとに基づいて、前記通信装置を認証することを特徴とするものである。
【００１０】
第２の態様に係る情報処理システムによれば、第２の暗号化部は、第２の復号部が生成した復号コマンドを暗号化することにより、暗号化コマンドを生成する。そして、通信装置認証部は、通信装置から受信した暗号化コマンドと、第２の暗号化部が生成した暗号化コマンドとに基づいて、通信装置を認証する。これにより、通信装置と記憶装置との相互認証を行うことができる。しかも、秘匿技術と認証技術とを別個独立に実装するのではなく、秘匿技術を用いたセキュア通信の過程で生成される暗号化コマンドに基づいて、記憶装置が通信装置の認証を行うことにより、秘匿技術と認証技術とを効率的に実装することが可能となる。
【００１１】
本発明の第３の態様に係る情報処理システムは、通信装置と、前記通信装置に接続される記憶装置と、を備え、前記通信装置は、前記記憶装置に送信するコマンドを暗号化することにより、暗号化コマンドを生成する第１の暗号化部と、前記記憶装置から受信した暗号化コンテンツデータを復号することにより、復号コンテンツデータを生成する第１の復号部と、を有し、前記記憶装置は、コンテンツデータが記憶された記憶部と、前記通信装置から受信した暗号化コマンドを復号することにより、復号コマンドを生成する第２の復号部と、前記通信装置に送信するコンテンツデータを暗号化することにより、暗号化コンテンツデータを生成する第２の暗号化部と、前記通信装置を認証する通信装置認証部と、を有し、前記第２の暗号化部は、前記第２の復号部が生成した復号コマンドを暗号化することにより、暗号化コマンドを生成し、前記通信装置認証部は、前記通信装置から受信した暗号化コマンドと、前記第２の暗号化部が生成した暗号化コマンドとに基づいて、前記通信装置を認証することを特徴とするものである。
【００１２】
第３の態様に係る情報処理システムによれば、第２の暗号化部は、第２の復号部が生成した復号コマンドを暗号化することにより、暗号化コマンドを生成する。そして、通信装置認証部は、通信装置から受信した暗号化コマンドと、第２の暗号化部が生成した暗号化コマンドとに基づいて、通信装置を認証する。このように、秘匿技術と認証技術とを別個独立に実装するのではなく、秘匿技術を用いたセキュア通信の過程で生成される暗号化コマンドに基づいて、記憶装置が通信装置の認証を行うことにより、秘匿技術と認証技術とを効率的に実装することが可能となる。
【００１３】
本発明の第４の態様に係る情報処理システムは、第１又は第２の態様に係る情報処理システムにおいて特に、前記通信装置は、前記第１の暗号化部及び前記第１の復号部の動作モードとして、ストリーム暗号モードとブロック暗号モードとを選択する第１の暗号モード制御部をさらに有し、前記記憶装置は、前記第２の暗号化部及び前記第２の復号部の動作モードとして、ストリーム暗号モードとブロック暗号モードとを選択する第２の暗号モード制御部をさらに有し、前記記憶装置認証部は、前記第１の復号部及び前記第２の暗号化部の動作モードとしてブロック暗号モードが選択された場合に、前記記憶装置の認証を行うことを特徴とするものである。
【００１４】
第４の態様に係る情報処理システムによれば、第１の暗号モード制御部は、第１の暗号化部及び第１の復号部の動作モードとして、ストリーム暗号モードとブロック暗号モードとを選択する。また、第２の暗号モード制御部は、第２の暗号化部及び第２の復号部の動作モードとして、ストリーム暗号モードとブロック暗号モードとを選択する。このように、第１の暗号モード制御部及び第２の暗号モード制御部によって、ストリーム暗号モードとブロック暗号モードとを選択することにより、状況や目的に応じて適切な暗号処理を行うことができる。例えば、速い処理速度が要求される状況では、ストリーム暗号モードを選択することによって高速処理を実現でき、また、高い攻撃耐性が要求される状況では、ブロック暗号モードを選択することによって高い攻撃耐性を実現できる。その結果、処理速度の向上と攻撃耐性の向上とを両立することが可能となる。
【００１５】
また、記憶装置認証部は、第１の復号部及び第２の暗号化部の動作モードとしてブロック暗号モードが選択された場合に、記憶装置の認証を行う。これにより、記憶装置認証部は、今回のブロックに関する認証処理において第１の暗号化部が生成した暗号化コンテンツデータを、次回のブロックに関する認証処理において使用することができ、その結果、累積メッセージ認証コードを用いて記憶装置の認証を行うことが可能となる。
【００１６】
本発明の第５の態様に係る情報処理システムは、第４の態様に係る情報処理システムにおいて特に、前記第１の暗号モード制御部及び前記第２の暗号モード制御部は、前記第１の復号部及び前記第２の暗号化部の動作モードとしてブロック暗号モードを選択し、前記第１の暗号化部及び前記第２の復号部の動作モードとしてストリーム暗号モードを選択することを特徴とするものである。
【００１７】
第５の態様に係る情報処理システムによれば、第１の暗号モード制御部及び第２の暗号モード制御部は、第１の復号部及び第２の暗号化部の動作モードとしてブロック暗号モードを選択し、第１の暗号化部及び第２の復号部の動作モードとしてストリーム暗号モードを選択する。これにより、通信装置から記憶装置に送信されるコマンドはストリーム暗号によって暗号化され、記憶装置から通信装置に送信されるコンテンツデータはブロック暗号によって暗号化される。このように、コマンドとコンテンツデータとで暗号モードを異ならせることにより、攻撃者による解析が困難となるため、攻撃耐性をさらに向上することが可能となる。
【００１８】
本発明の第６の態様に係る情報処理システムは、第４又は第５の態様に係る情報処理システムにおいて特に、前記通信装置は、前記記憶装置から暗号化コンテンツデータをブロック単位で受信し、前記記憶装置認証部は、前記記憶装置から受信した全てのブロックに対応して、前記記憶装置の認証を行うことを特徴とするものである。
【００１９】
第６の態様に係る情報処理システムによれば、記憶装置認証部は、記憶装置から受信した全てのブロックに対応して記憶装置の認証を行う。従って、通信装置が所望のブロックを記憶装置から受信した時点で、記憶装置から通信装置へのブロックの送信が停止された場合（つまり通信装置が最終ブロックを受信していない場合）であっても、記憶装置認証部によって記憶装置の認証を行うことが可能となる。
【００２０】
本発明の第７の態様に係る情報処理システムは、第４又は第５の態様に係る情報処理システムにおいて特に、前記通信装置は、前記記憶装置から暗号化コンテンツデータをブロック単位で受信し、前記記憶装置認証部は、前記記憶装置から受信した特定のブロックに対応して、前記記憶装置の認証を行うことを特徴とするものである。
【００２１】
第７の態様に係る情報処理システムによれば、記憶装置認証部は、記憶装置から受信した特定のブロックに対応して、記憶装置の認証を行う。従って、記憶装置から受信した全てのブロックに対応して記憶装置の認証を行う場合と比較すると、リソースを節約することが可能となる。
【００２２】
本発明の第８の態様に係る情報処理システムは、第４〜第７のいずれか一つの態様に係る情報処理システムにおいて特に、前記記憶装置認証部が前記記憶装置を不正と認証した場合、前記通信装置は、前記記憶装置に対するデータの送受信を停止することを特徴とするものである。
【００２３】
第８の態様に係る情報処理システムによれば、記憶装置認証部が記憶装置を不正と認証した場合、通信装置は、記憶装置に対するデータの送受信を停止する。これにより、通信装置は、不正な記憶装置に対して、コマンドの送信及びコンテンツデータの受信を行わないため、不正な記憶装置の使用を防止することが可能となる。
【００２４】
本発明の第９の態様に係る情報処理システムは、第２又は第３の態様に係る情報処理システムにおいて特に、前記通信装置は、前記第１の暗号化部及び前記第１の復号部の動作モードとして、ストリーム暗号モードとブロック暗号モードとを選択する第１の暗号モード制御部をさらに有し、前記記憶装置は、前記第２の暗号化部及び前記第２の復号部の動作モードとして、ストリーム暗号モードとブロック暗号モードとを選択する第２の暗号モード制御部をさらに有し、前記通信装置認証部は、前記第１の暗号化部及び前記第２の復号部の動作モードとしてブロック暗号モードが選択された場合に、前記通信装置の認証を行うことを特徴とするものである。
【００２５】
第９の態様に係る情報処理システムによれば、第１の暗号モード制御部は、第１の暗号化部及び第１の復号部の動作モードとして、ストリーム暗号モードとブロック暗号モードとを選択する。また、第２の暗号モード制御部は、第２の暗号化部及び第２の復号部の動作モードとして、ストリーム暗号モードとブロック暗号モードとを選択する。このように、第１の暗号モード制御部及び第２の暗号モード制御部によって、ストリーム暗号モードとブロック暗号モードとを選択することにより、状況や目的に応じて適切な暗号処理を行うことができる。例えば、速い処理速度が要求される状況では、ストリーム暗号モードを選択することによって高速処理を実現でき、また、高い攻撃耐性が要求される状況では、ブロック暗号モードを選択することによって高い攻撃耐性を実現できる。その結果、処理速度の向上と攻撃耐性の向上とを両立することが可能となる。
【００２６】
また、通信装置認証部は、第１の暗号化部及び第２の復号部の動作モードとしてブロック暗号モードが選択された場合に、通信装置の認証を行う。これにより、通信装置認証部は、今回のブロックに関する認証処理において第２の暗号化部が生成した暗号化コマンドを、次回のブロックに関する認証処理において使用することができ、その結果、累積メッセージ認証コードを用いて通信装置の認証を行うことが可能となる。
【００２７】
本発明の第１０の態様に係る情報処理システムは、第９の態様に係る情報処理システムにおいて特に、前記第１の暗号モード制御部及び前記第２の暗号モード制御部は、前記第１の暗号化部及び前記第２の復号部の動作モードとしてブロック暗号モードを選択し、前記第１の復号部及び前記第２の暗号化部の動作モードとしてストリーム暗号モードを選択することを特徴とするものである。
【００２８】
第１０の態様に係る情報処理システムによれば、第１の暗号モード制御部及び第２の暗号モード制御部は、第１の暗号化部及び第２の復号部の動作モードとしてブロック暗号モードを選択し、第１の復号部及び第２の暗号化部の動作モードとしてストリーム暗号モードを選択する。これにより、通信装置から記憶装置に送信されるコマンドはブロック暗号によって暗号化され、記憶装置から通信装置に送信されるコンテンツデータはストリーム暗号によって暗号化される。このように、コマンドとコンテンツデータとで暗号モードを異ならせることにより、攻撃者による解析が困難となるため、攻撃耐性をさらに向上することが可能となる。
【００２９】
本発明の第１１の態様に係る情報処理システムは、第１０の態様に係る情報処理システムにおいて特に、前記通信装置認証部は、前記通信装置を正規と認証した場合、前記第２の暗号化部が生成した暗号化コマンドに基づいて、コンテンツデータのストリーム暗号に用いるカウンタの初期値を設定することを特徴とするものである。
【００３０】
第１１の態様に係る情報処理システムによれば、通信装置認証部は、通信装置を正規と認証した場合、第２の暗号化部が生成した暗号化コマンドに基づいて、コンテンツデータのストリーム暗号に用いるカウンタの初期値を設定する。これにより、コンテンツデータのアドレスが異なるアクセス毎にカウンタの初期値を異ならせることができるため、攻撃耐性を向上することが可能となる。
【００３１】
本発明の第１２の態様に係る情報処理システムは、第１１の態様に係る情報処理システムにおいて特に、前記通信装置認証部は、前記第２の暗号化部が生成した暗号化コマンドと、所定のパディングデータとの合成値を、前記カウンタの初期値として設定することを特徴とするものである。
【００３２】
第１２の態様に係る情報処理システムによれば、通信装置認証部は、第２の暗号化部が生成した暗号化コマンドと、所定のパディングデータとの合成値を、カウンタの初期値として設定する。このように、暗号化コマンドそのものをカウンタの初期値として設定するのではなく、暗号化コマンドとパディングデータとの合成値をカウンタの初期値として設定することにより、攻撃耐性をさらに向上することが可能となる。
【００３３】
本発明の第１３の態様に係る情報処理システムは、第１２の態様に係る情報処理システムにおいて特に、前記通信装置認証部は、前記通信装置から前記記憶装置へのアクセス毎にパディングデータを変更することを特徴とするものである。
【００３４】
第１３の態様に係る情報処理システムによれば、通信装置認証部は、通信装置から記憶装置へのアクセス毎にパディングデータを変更する。これにより、コンテンツデータのアドレスが同一の場合であっても、アクセス毎にカウンタの初期値を異ならせることができるため、攻撃耐性をさらに向上することが可能となる。
【００３５】
本発明の第１４の態様に係る情報処理システムは、第９〜第１３のいずれか一つの態様に係る情報処理システムにおいて特に、前記通信装置認証部が前記通信装置を不正と認証した場合、前記記憶装置は、前記通信装置に対するデータの送受信を停止することを特徴とするものである。
【００３６】
第１４の態様に係る情報処理システムによれば、通信装置認証部が通信装置を不正と認証した場合、記憶装置は、通信装置に対するデータの送受信を停止する。これにより、記憶装置は、不正な通信装置に対して、コマンドの受信及びコンテンツデータの送信を行わないため、不正な通信装置の使用を防止することが可能となる。
【００３７】
本発明の第１５の態様に係る情報処理システムは、第２の態様に係る情報処理システムにおいて特に、前記通信装置は、前記第１の暗号化部及び前記第１の復号部の動作モードとして、ストリーム暗号モードとブロック暗号モードとを選択する第１の暗号モード制御部をさらに有し、前記記憶装置は、前記第２の暗号化部及び前記第２の復号部の動作モードとして、ストリーム暗号モードとブロック暗号モードとを選択する第２の暗号モード制御部をさらに有し、前記第１の暗号モード制御部及び前記第２の暗号モード制御部は、前記第１の暗号化部、前記第２の暗号化部、前記第１の復号部、及び前記第２の復号部の動作モードとしてブロック暗号モードを選択し、前記記憶装置認証部は前記記憶装置の認証を行い、前記通信装置認証部は前記通信装置の認証を行うことを特徴とするものである。
【００３８】
第１５の態様に係る情報処理システムによれば、第１の暗号モード制御部は、第１の暗号化部及び第１の復号部の動作モードとして、ストリーム暗号モードとブロック暗号モードとを選択する。また、第２の暗号モード制御部は、第２の暗号化部及び第２の復号部の動作モードとして、ストリーム暗号モードとブロック暗号モードとを選択する。このように、第１の暗号モード制御部及び第２の暗号モード制御部によって、ストリーム暗号モードとブロック暗号モードとを選択することにより、状況や目的に応じて適切な暗号処理を行うことができる。例えば、速い処理速度が要求される状況では、ストリーム暗号モードを選択することによって高速処理を実現でき、また、高い攻撃耐性が要求される状況では、ブロック暗号モードを選択することによって高い攻撃耐性を実現できる。その結果、処理速度の向上と攻撃耐性の向上とを両立することが可能となる。
【００３９】
また、第１の暗号モード制御部及び第２の暗号モード制御部は、第１の暗号化部、第２の暗号化部、第１の復号部、及び第２の復号部の動作モードとしてブロック暗号モードを選択し、記憶装置認証部は記憶装置の認証を行い、通信装置認証部は通信装置の認証を行う。これにより、通信装置と記憶装置との相互認証を行うことが可能となる。
【００４０】
さらに、記憶装置認証部は、今回のブロックに関する認証処理において第１の暗号化部が生成した暗号化コンテンツデータを、次回のブロックに関する認証処理において使用することができ、その結果、累積メッセージ認証コードを用いて記憶装置の認証を行うことが可能となる。また、通信装置認証部は、今回のブロックに関する認証処理において第２の暗号化部が生成した暗号化コマンドを、次回のブロックに関する認証処理において使用することができ、その結果、累積メッセージ認証コードを用いて通信装置の認証を行うことが可能となる。
【００４１】
本発明の第１６の態様に係る通信装置は、記憶装置に送信するコマンドを暗号化することにより、暗号化コマンドを生成する暗号化部と、前記記憶装置から受信した暗号化コンテンツデータを復号することにより、復号コンテンツデータを生成する復号部と、前記記憶装置を認証する記憶装置認証部と、を備え、前記暗号化部は、前記復号部が生成した復号コンテンツデータを暗号化することにより、暗号化コンテンツデータを生成し、前記記憶装置認証部は、前記記憶装置から受信した暗号化コンテンツデータと、前記暗号化部が生成した暗号化コンテンツデータとに基づいて、前記記憶装置を認証することを特徴とするものである。
【００４２】
第１６の態様に係る通信装置によれば、暗号化部は、復号部が生成した復号コンテンツデータを暗号化することにより、暗号化コンテンツデータを生成する。そして、記憶装置認証部は、記憶装置から受信した暗号化コンテンツデータと、暗号化部が生成した暗号化コンテンツデータとに基づいて、記憶装置を認証する。このように、秘匿技術と認証技術とを別個独立に実装するのではなく、秘匿技術を用いたセキュア通信の過程で生成される暗号化コンテンツデータに基づいて、通信装置が記憶装置の認証を行うことにより、秘匿技術と認証技術とを効率的に実装することが可能となる。
【００４３】
本発明の第１７の態様に係る記憶装置は、コンテンツデータが記憶された記憶部と、通信装置から受信した暗号化コマンドを復号することにより、復号コマンドを生成する復号部と、前記通信装置に送信するコンテンツデータを暗号化することにより、暗号化コンテンツデータを生成する暗号化部と、前記通信装置を認証する通信装置認証部と、を備え、前記暗号化部は、前記復号部が生成した復号コマンドを暗号化することにより、暗号化コマンドを生成し、前記通信装置認証部は、前記通信装置から受信した暗号化コマンドと、前記暗号化部が生成した暗号化コマンドとに基づいて、前記通信装置を認証することを特徴とするものである。
【００４４】
第１７の態様に係る記憶装置によれば、暗号化部は、復号部が生成した復号コマンドを暗号化することにより、暗号化コマンドを生成する。そして、通信装置認証部は、通信装置から受信した暗号化コマンドと、暗号化部が生成した暗号化コマンドとに基づいて、通信装置を認証する。このように、秘匿技術と認証技術とを別個独立に実装するのではなく、秘匿技術を用いたセキュア通信の過程で生成される暗号化コマンドに基づいて、記憶装置が通信装置の認証を行うことにより、秘匿技術と認証技術とを効率的に実装することが可能となる。
【発明の効果】
【００４５】
本発明によれば、秘匿技術と認証技術とを効率的に実装することが可能な情報処理システム、並びに当該情報処理システムが備える通信装置及び記憶装置を得ることができる。
【図面の簡単な説明】
【００４６】
【図１】本発明の実施の形態に係る情報処理システムの全体構成を示す図である。
【図２】通信装置の構成を簡略化して示す図である。
【図３】通信装置が備えるセキュリティ制御回路の構成を簡略化して示す図である。
【図４】暗号化・復号回路の構成を簡略化して示す図である。
【図５】半導体記憶装置が備えるセキュリティ制御回路の構成を簡略化して示す図である。
【図６】暗号化・復号回路の構成を簡略化して示す図である。
【図７】暗号パターンの例を示す図である。
【図８】セキュリティ制御回路の処理内容を順に示す図である。
【図９】セキュリティ制御回路の処理内容を順に示す図である。
【図１０】セキュリティ制御回路の処理内容を順に示す図である。
【図１１】セキュリティ制御回路の処理内容を順に示す図である。
【図１２】セキュリティ制御回路の処理内容を順に示す図である。
【図１３】セキュリティ制御回路の処理内容を順に示す図である。
【図１４】セキュリティ制御回路の処理内容を順に示す図である。
【図１５】セキュリティ制御回路の処理内容を順に示す図である。
【図１６】セキュリティ制御回路の処理内容を順に示す図である。
【図１７】セキュリティ制御回路の処理内容を順に示す図である。
【発明を実施するための形態】
【００４７】
以下、本発明の実施の形態について、図面を用いて詳細に説明する。なお、異なる図面において同一の符号を付した要素は、同一又は相応する要素を示すものとする。
【００４８】
図１は、本発明の実施の形態に係る情報処理システム１の全体構成を示す図である。情報処理システム１は、通信装置２と半導体記憶装置３とを備えて構成されている。通信装置２は、例えばパーソナルコンピュータである。半導体記憶装置３は、例えば、通信装置２に着脱自在に接続可能なメモリカードである。あるいは、半導体記憶装置３に代えて、光ディスクや磁気ディスク等の任意の記憶装置を用いることもできる。
【００４９】
通信装置２は、マイクロプロセッサ１１とセキュリティ制御回路１２とを備えて構成されている。半導体記憶装置３は、セキュリティ制御回路２１とメモリアレイ２２とを備えて構成されている。セキュリティ制御回路１２，２１は、後述する暗号処理によって、相互にセキュア通信を行う。メモリアレイ２２には、画像、音声、テキスト、コード、管理情報等の任意のコンテンツデータが記憶されている。メモリアレイ２２は、例えばＮＡＮＤ型フラッシュメモリを用いて構成されている。但し、この例に限定されるものではなく、メモリアレイ２２はＮＯＲ型フラッシュメモリ等を用いて構成されていても良い。
【００５０】
図２は、通信装置２の構成を簡略化して示す図である。マイクロプロセッサ１１は、バス３０を介して相互に接続された、ＣＰＵ３１、演算器３２、ＲＡＭ３３、及びＲＯＭ３４を備えて構成されている。セキュリティ制御回路１２は、バス３０を介してマイクロプロセッサ１１に接続されている。
【００５１】
図３は、通信装置２が備えるセキュリティ制御回路１２の構成を簡略化して示す図である。図３の接続関係で示すように、セキュリティ制御回路１２は、暗号モード制御回路４１、暗号化・復号回路４２、記憶装置認証回路４３、及び制御回路４４を備えて構成されている。暗号化・復号回路４２は、暗号モードとして、平文をビット単位で暗号化するストリーム暗号と、平文を固定長（例えば１６バイト長）のブロック単位で暗号化するブロック暗号とを切り替えて適用可能である。暗号モード制御回路４１は、暗号化・復号回路４２に対してストリーム暗号又はブロック暗号の暗号モードを設定する。記憶装置認証回路４３は、後述する認証処理によって、半導体記憶装置３が正規であるか不正であるかの認証を行う。
【００５２】
図４は、暗号化・復号回路４２の構成を簡略化して示す図である。図４の接続関係で示すように、暗号化・復号回路４２は、復号回路５１、暗号化回路５２、演算回路５３，５４，５６、カウンタ５５、及びセレクタ５７〜５９を備えて構成されている。
【００５３】
図５は、半導体記憶装置３が備えるセキュリティ制御回路２１の構成を簡略化して示す図である。図５の接続関係で示すように、セキュリティ制御回路２１は、暗号モード制御回路６１、暗号化・復号回路６２、通信装置認証回路６３、及び制御回路６４を備えて構成されている。暗号化・復号回路６２は、暗号モードとして、ストリーム暗号とブロック暗号とを切り替えて適用可能である。暗号モード制御回路６１は、暗号化・復号回路６２に対してストリーム暗号又はブロック暗号の暗号モードを設定する。通信装置認証回路６３は、後述する認証処理によって、通信装置２が正規であるか不正であるかの認証を行う。
【００５４】
図６は、暗号化・復号回路６２の構成を簡略化して示す図である。図６の接続関係で示すように、暗号化・復号回路６２は、復号回路７１、暗号化回路７２、演算回路７３，７４，７６、カウンタ７５、及びセレクタ７７〜７９を備えて構成されている。
【００５５】
本実施の形態の例では、暗号化・復号回路４２，６２には、ブロック暗号の構成法の一種であるＳＰＮ構造（SPN：Substitution Permutation Network）を持つ暗号アルゴリズムが実装されている。暗号アルゴリズムとしては、例えばＡＥＳ（Advanced Encryption Standard）が使用される。ＡＥＳのＣＢＣモード（CBC：Cipher Block Chaining）によってブロック暗号が実現され、ＡＥＳのＣＴＲモード（カウンタモード）によってストリーム暗号が実現される。
【００５６】
以下、本実施の形態に係る情報処理システム１の動作について説明する。以下の例では、通信装置２がメモリアレイ２２にアクセスするためのアクセスコマンドとして、リードコマンドを使用する場合について説明する。
【００５７】
図１を参照して、まずマイクロプロセッサ１１は、後述する暗号パターンを設定するための暗号制御コマンドを発行する。暗号制御コマンドは、それが暗号制御コマンドであることを識別するための特定のコマンドＩＤと、複数の暗号パターンの中から所望の暗号パターンを選択するための選択情報とを含む。マイクロプロセッサ１１は、暗号制御コマンドを、セキュリティ制御回路１２を介してセキュリティ制御回路２１に送信する。
【００５８】
図３を参照して、セキュリティ制御回路１２に入力された暗号制御コマンドは、暗号化・復号回路４２を介して制御回路４４に入力される。なお、暗号制御コマンドは暗号化されていないため、暗号化・復号回路４２は、入力された暗号制御コマンドをそのままスルーして制御回路４４に入力する。
【００５９】
次に制御回路４４は、暗号制御コマンドに含まれる選択情報を抽出し、その選択情報を暗号モード制御回路４１に転送する。また、制御回路４４は、暗号制御コマンドをセキュリティ制御回路２１に送信する。
【００６０】
図５を参照して、セキュリティ制御回路２１が受信した暗号制御コマンドは、暗号化・復号回路６２をスルーして制御回路６４に入力される。
【００６１】
次に制御回路６４は、暗号制御コマンドに含まれる選択情報を抽出し、その選択情報を暗号モード制御回路６１に転送する。
【００６２】
図７は、暗号パターンの例を示す図である。コマンドＸは、通信装置２から半導体記憶装置３に送信されるリードコマンドであり、データＹは、半導体記憶装置３から通信装置２に送信されるコンテンツデータである。ハッチングを施した部分にはブロック暗号が適用されることを意味し、ハッチングを施していない部分にはストリーム暗号が適用されることを意味する。これらの暗号パターンは、セキュリティ制御回路１２，２１によって共有され、メモリアレイ２２内に格納されている。但し、暗号パターンは、セキュリティ制御回路１２，２１が参照可能な他の不揮発性メモリ内に格納されていてもよい。なお、図７に示した暗号パターンは一例であり、他の任意の暗号パターンを含めてもよい。
【００６３】
パターンＰ１では、コマンドＸにブロック暗号が適用され、コンテンツデータＹにストリーム暗号が適用される。
【００６４】
パターンＰ２では、コマンドＸにストリーム暗号が適用され、コンテンツデータＹにブロック暗号が適用される。
【００６５】
パターンＰ３では、コマンドＸ及びコンテンツデータＹの双方にブロック暗号が適用される。
【００６６】
パターンＰ１〜Ｐ３の選択は、図１に示したマイクロプロセッサ１１によってアクセス毎に行われる。マイクロプロセッサ１１は、要求される通信速度及び要求される攻撃耐性に基づいて、パターンＰ１〜Ｐ３の中から最適なパターンを選択する。
【００６７】
例えば、画像や音声等のサイズの大きいデータを読み出す場合には、速い通信速度が要求されるため、コンテンツデータＹに関してストリーム暗号が適用されるパターンＰ１を選択する。また、コードや管理情報等のサイズの小さいデータを読み出す場合には、遅い通信速度で足りるため、コンテンツデータＹに関してブロック暗号が適用されるパターンＰ２，Ｐ３を選択する。
【００６８】
また、コンテンツデータＹに関して高い攻撃耐性が要求される場合には、コンテンツデータＹに関してブロック暗号が適用されるパターンＰ２，Ｐ３を選択する。
【００６９】
また、コマンドＸのデータサイズが大きい場合には、速い通信速度が要求されるため、コマンドＸに関してストリーム暗号が適用されるパターンＰ２を選択する。また、コマンドＸのデータサイズが小さい場合には、遅い通信速度で足りるため、コマンドＸに関してブロック暗号が適用されるパターンＰ１，Ｐ３を選択する。
【００７０】
また、コマンドＸに関して高い攻撃耐性が要求される場合には、コマンドＸに関してブロック暗号が適用されるパターンＰ１，Ｐ３を選択する。
【００７１】
以下、パターンＰ１〜Ｐ３が選択された場合のそれぞれの処理内容について、順に説明する。
【００７２】
＜パターンＰ１が選択された場合の処理＞
図８〜１１は、パターンＰ１が選択された場合のセキュリティ制御回路１２，２１の処理内容を順に示す図である。図８には、セキュリティ制御回路１２による１番目のコマンドＸ１に対する暗号化処理と、セキュリティ制御回路２１によるコマンドＸ１に対する復号処理とが示されている。図９には、セキュリティ制御回路２１による１番目のコンテンツデータＹ１に対する暗号化処理と、セキュリティ制御回路１２によるコンテンツデータＹ１に対する復号処理とが示されている。図１０には、セキュリティ制御回路１２による２番目のコマンドＸ２に対する暗号化処理と、セキュリティ制御回路２１によるコマンドＸ２に対する復号処理とが示されている。図１１には、セキュリティ制御回路２１による２番目のコンテンツデータＹ２に対する暗号化処理と、セキュリティ制御回路１２によるコンテンツデータＹ２に対する復号処理とが示されている。
【００７３】
図３を参照して、上記の通り制御回路４４は、暗号制御コマンドに含まれる選択情報を抽出し、その選択情報を暗号モード制御回路４１に転送する。
【００７４】
図３，４を参照して、次に暗号モード制御回路４１は、選択情報で示される暗号パターンに準拠して、セレクタ５８，５９を制御する。パターンＰ１では暗号化対象のコマンドＸにブロック暗号が適用されるため、暗号モード制御回路４１は、セレクタ５８，５９のフラグを「０」に設定する。
【００７５】
また、図５を参照して、上記の通り制御回路６４は、暗号制御コマンドに含まれる選択情報を抽出し、その選択情報を暗号モード制御回路６１に転送する。
【００７６】
図５，６を参照して、次に暗号モード制御回路６１は、選択情報で示される暗号パターンに準拠して、セレクタ７７〜７９を制御する。パターンＰ１では復号対象のコマンドＸにブロック暗号が適用されるため、暗号モード制御回路６１は、セレクタ７７〜７９のフラグを「０」に設定する。
【００７７】
図１を参照して、次にマイクロプロセッサ１１は、リードコマンドであるコマンドＸ１Ａを発行する。リードコマンドは、それがリードコマンドであることを識別するための特定のコマンドＩＤと、読み出し対象のコンテンツデータの所在を示すアドレス情報とを含む。
【００７８】
図４，８を参照して、コマンドＸ１Ａは、演算回路５６に入力される。また、秘密状態で保持されている所定の初期化ベクトルＩＶが、演算回路５６に入力される。演算回路５６は、排他的論理和演算を行うことによって、コマンドＸ１Ａと初期化ベクトルＩＶとの合成データを生成する。当該合成データは、セレクタ５８を介して暗号化回路５２に入力される。
【００７９】
次に暗号化回路５２は、入力された合成データを暗号化することにより、暗号化コマンドＸ１Ｂを生成する。
【００８０】
図３，４を参照して、暗号化コマンドＸ１Ｂは、セレクタ５９を介して制御回路４４に入力される。次に制御回路４４は、暗号化コマンドＸ１Ｂをセキュリティ制御回路２１に送信する。また、制御回路４４は、暗号化コマンドＸ１Ｂをカウンタ５５の初期値（カウンタ値Ｃ１１）として設定する。
【００８１】
次に暗号モード制御回路４１は、選択情報で示される暗号パターンに準拠して、セレクタ５７，５８を制御する。パターンＰ１では復号対象のコンテンツデータＹにストリーム暗号が適用されるため、暗号モード制御回路４１は、セレクタ５７，５８のフラグを「１」に設定する。
【００８２】
図５を参照して、セキュリティ制御回路２１が受信した暗号化コマンドＸ１Ｂは、暗号化・復号回路６２及び通信装置認証回路６３に入力される。
【００８３】
図６，８を参照して、暗号化コマンドＸ１Ｂは、復号回路７１に入力される。復号回路７１は、暗号化コマンドＸ１Ｂを復号することにより、復号データを生成する。当該復号データは、演算回路７４に入力される。
【００８４】
また、上記の初期化ベクトルＩＶと同一の初期化ベクトルＩＶが、演算回路７４に入力される。演算回路７４は、復号データと初期化ベクトルＩＶとの排他的論理和演算を行うことによって、復号コマンドＸ１Ａを生成する。図５，６を参照して、復号コマンドＸ１Ａは、演算回路７４からセレクタ７７を介して制御回路６４に入力される。
【００８５】
次に制御回路６４は、復号コマンドＸ１Ａを演算回路７６に入力する。また、上記の初期化ベクトルＩＶと同一の初期化ベクトルＩＶが、演算回路７６に入力される。演算回路７６は、排他的論理和演算を行うことによって、復号コマンドＸ１Ａと初期化ベクトルＩＶとの合成データを生成する。当該合成データは、セレクタ７８を介して暗号化回路７２に入力される。
【００８６】
次に暗号化回路７２は、入力された合成データを暗号化することにより、暗号化コマンドＸ１Ｂ’を生成する。
【００８７】
図５，６を参照して、暗号化コマンドＸ１Ｂ’は、セレクタ７９を介して通信装置認証回路６３に入力される。
【００８８】
次に通信装置認証回路６３は、セキュリティ制御回路１２から入力された暗号化コマンドＸ１Ｂと、暗号化・復号回路６２から入力された暗号化コマンドＸ１Ｂ’とを比較することにより、通信装置２の認証を行う。具体的に通信装置認証回路６３は、暗号化コマンドＸ１Ｂと暗号化コマンドＸ１Ｂ’とが同一である場合には通信装置２を正規と認証し、一方、暗号化コマンドＸ１Ｂと暗号化コマンドＸ１Ｂ’とが同一でない場合には通信装置２を不正と認証する。通信装置認証回路６３は、認証の結果を制御回路６４に入力する。
【００８９】
制御回路６４は、通信装置２が不正である旨の認証結果を受領した場合には、通信装置２に対する一切のデータの送受信を停止する。つまり、それ以降は、通信装置２からのコマンドの受信を拒否し、また、通信装置２へのコンテンツデータの送信を禁止する。
【００９０】
一方、通信装置２が正規である旨の認証結果を受領した場合には、制御回路６４は、上記で演算回路７４から入力された復号コマンドＸ１Ａに基づいて、メモリアレイ２２から所望のコンテンツデータＹ１を読み出す。
【００９１】
また、暗号モード制御回路６１は、選択情報で示される暗号パターンに準拠して、セレクタ７８，７９を制御する。パターンＰ１では暗号化対象のコンテンツデータＹにストリーム暗号が適用されるため、暗号モード制御回路６１は、セレクタ７８，７９のフラグを「１」に設定する。
【００９２】
また、通信装置認証回路６３は、暗号化コマンドＸ１Ｂ’をカウンタ７５の初期値（カウンタ値Ｃ１１）として設定する。
【００９３】
図５，６，９を参照して、次に制御回路６４は、メモリアレイ２２から読み出したコンテンツデータＹ１のうち１番目のブロックに相当するコンテンツデータＹ１１Ａを、演算回路７３に入力する。
【００９４】
また、カウンタ７５は、カウンタ値Ｃ１１に基づいて生成したストリームデータを、セレクタ７８を介して暗号化回路７２に入力する。暗号化回路７２は、入力されたストリームデータを暗号化することによって暗号化ストリームデータを生成し、当該暗号化ストリームデータを演算回路７３に入力する。
【００９５】
次に演算回路７３は、コンテンツデータＹ１１Ａと当該暗号化ストリームデータとの排他的論理和演算を行うことによって、暗号化コンテンツデータＹ１１Ｂを生成する。暗号化コンテンツデータＹ１１Ｂは、セレクタ７９を介して出力され、暗号化・復号回路６２からセキュリティ制御回路１２に送信される。
【００９６】
図３を参照して、セキュリティ制御回路１２が受信した暗号化コンテンツデータＹ１１Ｂは、制御回路４４を介して暗号化・復号回路４２に入力される。
【００９７】
図４を参照して、暗号化コンテンツデータＹ１１Ｂは、演算回路５３に入力される。また、カウンタ５５は、カウンタ値Ｃ１１に基づいて生成したストリームデータを、セレクタ５８を介して暗号化回路５２に入力する。暗号化回路５２は、入力されたストリームデータを暗号化することによって暗号化ストリームデータを生成し、当該暗号化ストリームデータを演算回路５３に入力する。
【００９８】
次に演算回路５３は、暗号化コンテンツデータＹ１１Ｂと当該暗号化ストリームデータとの排他的論理和演算を行うことによって、復号コンテンツデータＹ１１Ａを生成する。図３，４を参照して、復号コンテンツデータＹ１１Ａは、セレクタ５７を介して出力され、暗号化・復号回路４２からマイクロプロセッサ１１に入力される。
【００９９】
図９を参照して、メモリアレイ２２から読み出されたコンテンツデータＹ１のうち２番目以降のブロックに相当するコンテンツデータＹ１２Ａ〜Ｙ１ＮＡに関しても、カウンタ値Ｃ１を順次更新しながら上記と同様の処理が繰り返されることにより、１番目のコマンドＸ１に対応する１番目のコンテンツデータＹ１の読み出し処理が完了する。
【０１００】
マイクロプロセッサ１１によって２番目のリードコマンド（コマンドＸ２Ａ）が発行されると、上記と同様の処理が繰り返されることにより、メモリアレイ２２から２番目のコンテンツデータＹ２（コンテンツデータＹ２１Ａ〜Ｙ２ＮＡ）が読み出される。
【０１０１】
図１０を参照して、セキュリティ制御回路１２は、コマンドＸ２Ａと、１番目のコマンドＸ１Ａに対する暗号化処理で生成した暗号化コマンドＸ１Ｂとの排他的論理和演算を行うことによって、合成データを生成する。次に、当該合成データを暗号化することにより、暗号化コマンドＸ２Ｂを生成する。次に、暗号化コマンドＸ２Ｂをセキュリティ制御回路２１に送信するとともに、暗号化コマンドＸ２Ｂをカウンタ５５の初期値（カウンタ値Ｃ２１）として設定する。
【０１０２】
セキュリティ制御回路２１は、受信した暗号化コマンドＸ２Ｂを復号することにより、復号データを生成する。次に、当該復号データと、１番目の暗号化コマンドＸ１Ｂに対する復号処理で生成した暗号化コマンドＸ１Ｂ’との排他的論理和演算を行うことによって、復号コマンドＸ２Ａを生成する。次に、復号コマンドＸ２Ａと暗号化コマンドＸ１Ｂ’との排他的論理和演算を行うことによって、合成データを生成する。次に、当該合成データを暗号化することにより、暗号化コマンドＸ２Ｂ’を生成する。次に、暗号化コマンドＸ２Ｂと暗号化コマンドＸ２Ｂ’とを比較することにより、通信装置２の認証を行う。通信装置２が正規である場合には、次に、復号コマンドＸ２Ａに基づいてメモリアレイ２２からコンテンツデータＹ２を読み出すとともに、暗号化コマンドＸ２Ｂ’をカウンタ７５の初期値（カウンタ値Ｃ２１）として設定する。
【０１０３】
図１１を参照して、セキュリティ制御回路２１は、カウンタ値Ｃ２１に基づいて生成したストリームデータを暗号化することによって、暗号化ストリームデータを生成する。次に、当該暗号化ストリームデータと、コンテンツデータＹ２のうち１番目のブロックに相当するコンテンツデータＹ２１Ａとの排他的論理和演算を行うことによって、暗号化コンテンツデータＹ２１Ｂを生成する。次に、暗号化コンテンツデータＹ２１Ｂをセキュリティ制御回路１２に送信する。
【０１０４】
セキュリティ制御回路１２は、カウンタ値Ｃ２１に基づいて生成したストリームデータを暗号化することによって、暗号化ストリームデータを生成する。次に、当該暗号化ストリームデータと、受信した暗号化コンテンツデータＹ２１Ｂとの排他的論理和演算を行うことによって、復号コンテンツデータＹ２１Ａを生成する。次に、復号コンテンツデータＹ２１Ａをマイクロプロセッサ１１に入力する。メモリアレイ２２から読み出されたコンテンツデータＹ２のうち２番目以降のブロックに相当するコンテンツデータＹ２２Ａ〜Ｙ２ＮＡに関しても、カウンタ値Ｃ２を順次更新しながら上記と同様の処理が繰り返されることにより、２番目のコマンドＸ２に対応する２番目のコンテンツデータＹ２の読み出し処理が完了する。
【０１０５】
３番目以降のリードコマンドに対しても上記と同様の処理が繰り返されることにより、メモリアレイ２２から所望のコンテンツデータが読み出される。
【０１０６】
＜パターンＰ２が選択された場合の処理＞
図１２〜１５は、パターンＰ２が選択された場合のセキュリティ制御回路１２，２１の処理内容を順に示す図である。図１２には、セキュリティ制御回路１２による１番目のコマンドＸ１に対する暗号化処理と、セキュリティ制御回路２１によるコマンドＸ１に対する復号処理とが示されている。図１３には、セキュリティ制御回路２１による１番目のコンテンツデータＹ１に対する暗号化処理と、セキュリティ制御回路１２によるコンテンツデータＹ１に対する復号処理とが示されている。図１４には、セキュリティ制御回路１２による２番目のコマンドＸ２に対する暗号化処理と、セキュリティ制御回路２１によるコマンドＸ２に対する復号処理とが示されている。図１５には、セキュリティ制御回路２１による２番目のコンテンツデータＹ２に対する暗号化処理と、セキュリティ制御回路１２によるコンテンツデータＹ２に対する復号処理とが示されている。
【０１０７】
図３を参照して、上記の通り制御回路４４は、暗号制御コマンドに含まれる選択情報を抽出し、その選択情報を暗号モード制御回路４１に転送する。
【０１０８】
図３，４を参照して、次に暗号モード制御回路４１は、選択情報で示される暗号パターンに準拠して、セレクタ５８，５９を制御する。パターンＰ２では暗号化対象のコマンドＸにストリーム暗号が適用されるため、暗号モード制御回路４１は、セレクタ５８，５９のフラグを「１」に設定する。
【０１０９】
また、図５を参照して、上記の通り制御回路６４は、暗号制御コマンドに含まれる選択情報を抽出し、その選択情報を暗号モード制御回路６１に転送する。
【０１１０】
図５，６を参照して、次に暗号モード制御回路６１は、選択情報で示される暗号パターンに準拠して、セレクタ７７，７８を制御する。パターンＰ２では復号対象のコマンドＸにストリーム暗号が適用されるため、暗号モード制御回路６１は、セレクタ７７，７８のフラグを「１」に設定する。
【０１１１】
図１を参照して、次にマイクロプロセッサ１１は、リードコマンドであるコマンドＸ１Ａを発行する。
【０１１２】
図４，１２を参照して、コマンドＸ１Ａは、演算回路５３に入力される。また、制御回路４４は、秘密状態で保持されている任意の定数値を、カウンタ５５の初期値（カウンタ値Ｃ１１）として設定する。カウンタ５５は、カウンタ値Ｃ１１に基づいて生成したストリームデータを、セレクタ５８を介して暗号化回路５２に入力する。暗号化回路５２は、入力されたストリームデータを暗号化することによって暗号化ストリームデータを生成し、当該暗号化ストリームデータを演算回路５３に入力する。
【０１１３】
次に演算回路５３は、コマンドＸ１Ａと当該暗号化ストリームデータとの排他的論理和演算を行うことによって、暗号化コマンドＸ１Ｂを生成する。
【０１１４】
図３，４を参照して、暗号化コマンドＸ１Ｂは、セレクタ５９を介して制御回路４４に入力される。次に制御回路４４は、暗号化コマンドＸ１Ｂをセキュリティ制御回路２１に送信する。
【０１１５】
次に暗号モード制御回路４１は、選択情報で示される暗号パターンに準拠して、セレクタ５７〜５９を制御する。パターンＰ２では復号対象のコンテンツデータＹにブロック暗号が適用されるため、暗号モード制御回路４１は、セレクタ５７〜５９のフラグを「０」に設定する。
【０１１６】
図５を参照して、セキュリティ制御回路２１が受信した暗号化コマンドＸ１Ｂは、暗号化・復号回路６２に入力される。
【０１１７】
図６，１２を参照して、暗号化コマンドＸ１Ｂは、演算回路７３に入力される。また、制御回路６４は、カウンタ５５の初期値として設定した上記の定数値を、カウンタ７５の初期値（カウンタ値Ｃ１１）として設定する。カウンタ７５は、カウンタ値Ｃ１１に基づいて生成したストリームデータを、セレクタ７８を介して暗号化回路７２に入力する。暗号化回路７２は、入力されたストリームデータを暗号化することによって暗号化ストリームデータを生成し、当該暗号化ストリームデータを演算回路７３に入力する。
【０１１８】
次に演算回路７３は、暗号化コマンドＸ１Ｂと当該暗号化ストリームデータとの排他的論理和演算を行うことによって、復号コマンドＸ１Ａを生成する。図５，６を参照して、復号コマンドＸ１Ａは、演算回路７３からセレクタ７７を介して制御回路６４に入力される。
【０１１９】
次に制御回路６４は、復号コマンドＸ１Ａに基づいて、メモリアレイ２２から所望のコンテンツデータＹ１を読み出す。
【０１２０】
また、暗号モード制御回路６１は、選択情報で示される暗号パターンに準拠して、セレクタ７８，７９を制御する。パターンＰ２では暗号化対象のコンテンツデータＹにブロック暗号が適用されるため、暗号モード制御回路６１は、セレクタ７８，７９のフラグを「０」に設定する。
【０１２１】
図５，６，１３を参照して、次に制御回路６４は、メモリアレイ２２から読み出したコンテンツデータＹ１のうち１番目のブロックに相当するコンテンツデータＹ１１Ａを、演算回路７６に入力する。また、秘密状態で保持されている所定の初期化ベクトルＩＶが、演算回路７６に入力される。演算回路７６は、排他的論理和演算を行うことによって、コンテンツデータＹ１１Ａと初期化ベクトルＩＶとの合成データを生成する。当該合成データは、セレクタ７８を介して暗号化回路７２に入力される。
【０１２２】
次に暗号化回路７２は、入力された合成データを暗号化することにより、暗号化コンテンツデータＹ１１Ｂを生成する。暗号化コンテンツデータＹ１１Ｂは、セレクタ７９を介して出力され、暗号化・復号回路６２からセキュリティ制御回路１２に送信される。
【０１２３】
図３を参照して、セキュリティ制御回路１２が受信した暗号化コンテンツデータＹ１１Ｂは、制御回路４４を介して暗号化・復号回路４２及び記憶装置認証回路４３に入力される。
【０１２４】
図４，１３を参照して、暗号化コンテンツデータＹ１１Ｂは、復号回路５１に入力される。復号回路５１は、暗号化コンテンツデータＹ１１Ｂを復号することにより、復号データを生成する。当該復号データは、演算回路５４に入力される。
【０１２５】
また、上記の初期化ベクトルＩＶと同一の初期化ベクトルＩＶが、演算回路５４に入力される。演算回路５４は、復号データと初期化ベクトルＩＶとの排他的論理和演算を行うことによって、復号コンテンツデータＹ１１Ａを生成する。図３，４を参照して、復号コンテンツデータＹ１１Ａは、演算回路５４からセレクタ５７を介して制御回路４４に入力される。
【０１２６】
次に制御回路４４は、復号コンテンツデータＹ１１Ａを演算回路５６に入力する。また、上記の初期化ベクトルＩＶと同一の初期化ベクトルＩＶが、演算回路５６に入力される。演算回路５６は、排他的論理和演算を行うことによって、復号コンテンツデータＹ１１Ａと初期化ベクトルＩＶとの合成データを生成する。当該合成データは、セレクタ５８を介して暗号化回路５２に入力される。
【０１２７】
次に暗号化回路５２は、入力された合成データを暗号化することにより、暗号化コンテンツデータＹ１１Ｂ’を生成する。
【０１２８】
図３，４を参照して、暗号化コンテンツデータＹ１１Ｂ’は、セレクタ５９を介して記憶装置認証回路４３に入力される。
【０１２９】
次に記憶装置認証回路４３は、制御回路４４から入力された暗号化コンテンツデータＹ１１Ｂと、暗号化・復号回路４２から入力された暗号化コンテンツデータＹ１１Ｂ’とを比較することにより、半導体記憶装置３の認証を行う。具体的に記憶装置認証回路４３は、暗号化コンテンツデータＹ１１Ｂと暗号化コンテンツデータＹ１１Ｂ’とが同一である場合には半導体記憶装置３を正規と認証し、一方、暗号化コンテンツデータＹ１１Ｂと暗号化コンテンツデータＹ１１Ｂ’とが同一でない場合には半導体記憶装置３を不正と認証する。記憶装置認証回路４３は、認証の結果を制御回路４４に入力する。
【０１３０】
制御回路４４は、半導体記憶装置３が不正である旨の認証結果を受領した場合には、半導体記憶装置３に対する一切のデータの送受信を停止する。つまり、それ以降は、半導体記憶装置３からのコンテンツデータの受信を拒否し、また、半導体記憶装置３へのコマンドの送信を禁止する。
【０１３１】
一方、半導体記憶装置３が正規である旨の認証結果を受領した場合には、制御回路４４は、上記で演算回路５４から入力された復号コンテンツデータＹ１１Ａを、マイクロプロセッサ１１に転送する。
【０１３２】
図１３を参照して、メモリアレイ２２から読み出されたコンテンツデータＹ１のうち２番目以降のブロックに相当するコンテンツデータＹ１２Ａ〜Ｙ１ＮＡに関しても、上記と同様の処理が繰り返されることにより、１番目のコマンドＸ１に対応する１番目のコンテンツデータＹ１の読み出し処理が完了する。なお、２番目以降のブロックに対する処理においては、セキュリティ制御回路２１は、初期化ベクトルＩＶに代えて、前回のブロックに対する処理で生成した暗号化コンテンツデータＹ１１Ｂ〜Ｙ１（Ｎ−１）Ｂを使用する。同様に、セキュリティ制御回路１２は、初期化ベクトルＩＶに代えて、前回のブロックに対する処理で生成した暗号化コンテンツデータＹ１１Ｂ’〜Ｙ１（Ｎ−１）Ｂ’を使用する。
【０１３３】
マイクロプロセッサ１１によって２番目のリードコマンド（コマンドＸ２Ａ）が発行されると、上記と同様の処理が繰り返されることにより、メモリアレイ２２から２番目のコンテンツデータＹ２（コンテンツデータＹ２１Ａ〜Ｙ２ＮＡ）が読み出される。
【０１３４】
図１４を参照して、セキュリティ制御回路１２は、カウンタ値Ｃ１２に基づいて生成したストリームデータを暗号化することによって、暗号化ストリームデータを生成する。次に、コマンドＸ２Ａと当該暗号化ストリームデータとの排他的論理和演算を行うことによって、暗号化コマンドＸ２Ｂを生成する。次に、暗号化コマンドＸ２Ｂをセキュリティ制御回路２１に送信する。
【０１３５】
セキュリティ制御回路２１は、カウンタ値Ｃ１２に基づいて生成したストリームデータを暗号化することによって、暗号化ストリームデータを生成する。次に、暗号化コマンドＸ２Ｂと当該暗号化ストリームデータとの排他的論理和演算を行うことによって、復号コマンドＸ２Ａを生成する。次に、復号コマンドＸ２Ａに基づいて、メモリアレイ２２から所望のコンテンツデータＹ２を読み出す。
【０１３６】
図１５を参照して、セキュリティ制御回路２１は、メモリアレイ２２から読み出したコンテンツデータＹ２のうち１番目のブロックに相当するコンテンツデータＹ２１Ａと、前回のアクセスに対する処理で最終ブロックに対応して生成した暗号化コンテンツデータＹ１ＮＢとの排他的論理和演算を行うことによって、合成データを生成する。次に、当該合成データを暗号化することにより、暗号化コンテンツデータＹ２１Ｂを生成する。次に、暗号化コンテンツデータＹ２１Ｂをセキュリティ制御回路１２に送信する。
【０１３７】
セキュリティ制御回路１２は、受信した暗号化コンテンツデータＹ２１Ｂを復号することにより、復号データを生成する。次に、当該復号データと、前回のアクセスに対する処理で最終ブロックに対応して生成した暗号化コンテンツデータＹ１ＮＢ’との排他的論理和演算を行うことによって、復号コンテンツデータＹ２１Ａを生成する。次に、復号コンテンツデータＹ２１Ａと暗号化コンテンツデータＹ１ＮＢ’との排他的論理和演算を行うことによって、合成データを生成する。次に、当該合成データを暗号化することにより、暗号化コンテンツデータＹ２１Ｂ’を生成する。次に、暗号化コンテンツデータＹ２１Ｂと暗号化コンテンツデータＹ２１Ｂ’とを比較することにより、半導体記憶装置３の認証を行う。半導体記憶装置３が正規である場合には、次に、復号コンテンツデータＹ２１Ａを、マイクロプロセッサ１１に転送する。メモリアレイ２２から読み出されたコンテンツデータＹ２のうち２番目以降のブロックに相当するコンテンツデータＹ２２Ａ〜Ｙ２ＮＡに関しても、上記と同様の処理が繰り返されることにより、２番目のコマンドＸ２に対応する２番目のコンテンツデータＹ２の読み出し処理が完了する。
【０１３８】
３番目以降のリードコマンドに対しても上記と同様の処理が繰り返されることにより、メモリアレイ２２から所望のコンテンツデータが読み出される。
【０１３９】
＜パターンＰ３が選択された場合の処理＞
パターンＰ３が選択された場合には、セキュリティ制御回路１２は、図８，１０と同様の処理によってコマンドの暗号化処理を行い、セキュリティ制御回路２１は、図８，１０と同様の処理によって暗号化コマンドの復号処理を行う。また、セキュリティ制御回路２１は、通信装置２から暗号化コマンドを受信する毎に、受信した暗号化コマンドと、自身が生成した暗号化コマンドとに基づいて、通信装置２の認証を行う。
【０１４０】
また、パターンＰ３が選択された場合には、セキュリティ制御回路２１は、図１３，１５と同様の処理によってコンテンツデータの暗号化処理を行い、セキュリティ制御回路１２は、図１３，１５と同様の処理によって暗号化コンテンツデータの復号処理を行う。また、セキュリティ制御回路１２は、半導体記憶装置３から暗号化コンテンツデータを受信する毎に、受信した暗号化コンテンツデータと、自身が生成した暗号化コンテンツデータとに基づいて、半導体記憶装置３の認証を行う。
【０１４１】
＜まとめ＞
本実施の形態に係る情報処理システム１によれば、パターンＰ２，Ｐ３が選択された場合、暗号化回路５２（第１の暗号化部）は、復号回路５１（第１の復号部）が生成した復号コンテンツデータを暗号化することにより、暗号化コンテンツデータを生成する。そして、記憶装置認証回路４３は、半導体記憶装置３から受信した暗号化コンテンツデータと、暗号化回路５２が生成した暗号化コンテンツデータとに基づいて、半導体記憶装置３を認証する。このように、秘匿技術と認証技術とを別個独立に実装するのではなく、秘匿技術を用いたセキュア通信の過程で生成される暗号化コンテンツデータに基づいて、通信装置２が半導体記憶装置３の認証を行うことにより、秘匿技術と認証技術とを効率的に実装することが可能となる。
【０１４２】
また、本実施の形態に係る情報処理システム１によれば、パターンＰ１，Ｐ３が選択された場合、暗号化回路７２（第２の暗号化部）は、復号回路７１（第２の復号部）が生成した復号コマンドを暗号化することにより、暗号化コマンドを生成する。そして、通信装置認証回路６３は、通信装置２から受信した暗号化コマンドと、暗号化回路７２が生成した暗号化コマンドとに基づいて、通信装置２を認証する。このように、秘匿技術と認証技術とを別個独立に実装するのではなく、秘匿技術を用いたセキュア通信の過程で生成される暗号化コマンドに基づいて、半導体記憶装置３が通信装置２の認証を行うことにより、秘匿技術と認証技術とを効率的に実装することが可能となる。
【０１４３】
また、本実施の形態に係る情報処理システム１によれば、暗号モード制御回路４１（第１の暗号モード制御部）は、暗号化・復号回路４２の動作モードとして、ストリーム暗号モードとブロック暗号モードとを選択する。また、暗号モード制御回路６１（第２の暗号モード制御部）は、暗号化・復号回路６２の動作モードとして、ストリーム暗号モードとブロック暗号モードとを選択する。このように、暗号モード制御回路４１，６１によって、ストリーム暗号モードとブロック暗号モードとを選択することにより、状況や目的に応じて適切な暗号処理を行うことができる。例えば、速い処理速度が要求される状況では、ストリーム暗号モードを選択することによって高速処理を実現でき、また、高い攻撃耐性が要求される状況では、ブロック暗号モードを選択することによって高い攻撃耐性を実現できる。その結果、処理速度の向上と攻撃耐性の向上とを両立することが可能となる。
【０１４４】
また、記憶装置認証回路４３は、コンテンツデータに関してブロック暗号モードが選択された場合（つまりパターンＰ２，Ｐ３が選択された場合）に、半導体記憶装置３の認証を行う。これにより、記憶装置認証回路４３は、今回のブロックに関する認証処理において暗号化回路５２が生成した暗号化コンテンツデータを、次回のブロックに関する認証処理において使用することができ、その結果、累積メッセージ認証コードを用いて半導体記憶装置３の認証を行うことが可能となる。
【０１４５】
また、本実施の形態に係る情報処理システム１によれば、パターンＰ２が選択された場合には、通信装置２から半導体記憶装置３に送信されるコマンドはストリーム暗号によって暗号化され、半導体記憶装置３から通信装置２に送信されるコンテンツデータはブロック暗号によって暗号化される。このように、コマンドとコンテンツデータとで暗号モードを異ならせることにより、攻撃者による解析が困難となるため、攻撃耐性をさらに向上することが可能となる。
【０１４６】
また、本実施の形態に係る情報処理システム１によれば、図１３，１５に示したように、記憶装置認証回路４３は、半導体記憶装置３から受信した全てのブロックに対応して半導体記憶装置３の認証を行う。従って、通信装置２が所望のブロックを半導体記憶装置３から受信した時点で、半導体記憶装置３から通信装置２へのブロックの送信が停止された場合（つまり通信装置２が最終ブロックを受信していない場合）であっても、記憶装置認証回路４３によって半導体記憶装置３の認証を行うことが可能となる。
【０１４７】
また、本実施の形態に係る情報処理システム１によれば、記憶装置認証回路４３が半導体記憶装置３を不正と認証した場合、通信装置２は、半導体記憶装置３に対するデータの送受信を停止する。これにより、通信装置２は、不正な半導体記憶装置３に対して、コマンドの送信及びコンテンツデータの受信を行わないため、不正な半導体記憶装置の使用を防止することが可能となる。
【０１４８】
また、本実施の形態に係る情報処理システム１によれば、通信装置認証回路６３は、コマンドに関してブロック暗号モードが選択された場合（つまりパターンＰ１，Ｐ３が選択された場合）に、通信装置２の認証を行う。これにより、通信装置認証回路６３は、今回のコマンドに関する認証処理において暗号化回路７２が生成した暗号化コマンドを、次回のコマンドに関する認証処理において使用することができ、その結果、累積メッセージ認証コードを用いて通信装置２の認証を行うことが可能となる。
【０１４９】
また、本実施の形態に係る情報処理システム１によれば、パターンＰ１が選択された場合には、通信装置２から半導体記憶装置３に送信されるコマンドはブロック暗号によって暗号化され、半導体記憶装置３から通信装置２に送信されるコンテンツデータはストリーム暗号によって暗号化される。このように、コマンドとコンテンツデータとで暗号モードを異ならせることにより、攻撃者による解析が困難となるため、攻撃耐性をさらに向上することが可能となる。
【０１５０】
また、本実施の形態に係る情報処理システム１によれば、通信装置認証回路６３は、通信装置２を正規と認証した場合、暗号化回路７２が生成した暗号化コマンドに基づいて、コンテンツデータのストリーム暗号に用いるカウンタ７５の初期値を設定する。これにより、コンテンツデータのアドレスが異なるアクセス毎にカウンタ７５の初期値を異ならせることができるため、攻撃耐性を向上することが可能となる。
【０１５１】
また、本実施の形態に係る情報処理システム１によれば、通信装置認証回路６３が通信装置２を不正と認証した場合、半導体記憶装置３は、通信装置２に対するデータの送受信を停止する。これにより、半導体記憶装置３は、不正な通信装置２に対して、コマンドの受信及びコンテンツデータの送信を行わないため、不正な通信装置２の使用を防止することが可能となる。
【０１５２】
また、本実施の形態に係る情報処理システム１によれば、パターンＰ３が選択された場合には、記憶装置認証回路４３は半導体記憶装置３の認証を行い、通信装置認証回路６３は通信装置２の認証を行う。これにより、通信装置２と半導体記憶装置３との相互認証を行うことが可能となる。しかも、記憶装置認証回路４３は、今回のブロックに関する認証処理において暗号化回路５２が生成した暗号化コンテンツデータを、次回のブロックに関する認証処理において使用することができ、その結果、累積メッセージ認証コードを用いて半導体記憶装置３の認証を行うことが可能となる。また、通信装置認証回路６３は、今回のブロックに関する認証処理において暗号化回路７２が生成した暗号化コマンドを、次回のブロックに関する認証処理において使用することができ、その結果、累積メッセージ認証コードを用いて通信装置２の認証を行うことが可能となる。
【０１５３】
＜変形例１＞
上記実施の形態の例では、パターンＰ２，Ｐ３が選択された場合、図１３，１５に示したように記憶装置認証回路４３は、半導体記憶装置３から受信する全てのブロックに対応して半導体記憶装置３の認証を行った。この例に限らず、記憶装置認証回路４３は、半導体記憶装置３から受信する全てのブロックのうちの特定のブロックのみに対応して、半導体記憶装置３の認証を行ってもよい。例えば、各アクセスにおける先頭ブロックのみ、最終ブロックのみ、又は任意の中間ブロックのみ（あるいはこれらの組合せ）に対応して、半導体記憶装置３の認証を行ってもよい。
【０１５４】
本変形例に係る情報処理システム１によれば、記憶装置認証回路４３は、半導体記憶装置３から受信した特定のブロックに対応して、半導体記憶装置３の認証を行う。従って、半導体記憶装置３から受信した全てのブロックに対応して半導体記憶装置３の認証を行う場合と比較すると、リソースを節約することが可能となる。
【０１５５】
＜変形例２＞
図１６，１７は、図８，１０に対応して、パターンＰ１が選択された場合のセキュリティ制御回路１２，２１の処理内容を示す図である。
【０１５６】
図１６を参照して、図８と同様に暗号化回路５２は、コマンドＸ１Ａと初期化ベクトルＩＶとの合成データを暗号化することにより、暗号化コマンドＸ１Ｂを生成する。
【０１５７】
次に制御回路４４は、暗号化コマンドＸ１Ｂと、秘密状態で保持されている所定のパディングデータＰＤ１とを排他的論理和演算によって合成することにより、合成データＸ１ＰＢを生成する。そして、合成データＸ１ＰＢをカウンタ５５の初期値（カウンタ値Ｃ１１）として設定する。
【０１５８】
また、図８と同様に通信装置認証回路６３は、セキュリティ制御回路１２から入力された暗号化コマンドＸ１Ｂと、暗号化・復号回路６２から入力された暗号化コマンドＸ１Ｂ’とを比較することにより、通信装置２の認証を行う。
【０１５９】
通信装置２が正規である場合、通信装置認証回路６３は、暗号化コマンドＸ１Ｂ’と、上記と同様のパディングデータＰＤ１とを排他的論理和演算によって合成することにより、合成データＸ１ＰＢ’を生成する。そして、合成データＸ１ＰＢ’をカウンタ７５の初期値（カウンタ値Ｃ１１）として設定する。
【０１６０】
図１７を参照して、図８と同様に暗号化回路５２は、コマンドＸ２Ａと合成データＸ１ＰＢとの合成データを暗号化することにより、暗号化コマンドＸ２Ｂを生成する。
【０１６１】
次に制御回路４４は、暗号化コマンドＸ２Ｂと、パディングデータＰＤ１を更新したパディングデータＰＤ２とを排他的論理和演算によって合成することにより、合成データＸ２ＰＢを生成する。そして、合成データＸ２ＰＢをカウンタ５５の初期値（カウンタ値Ｃ２１）として設定する。
【０１６２】
また、図８と同様に通信装置認証回路６３は、セキュリティ制御回路１２から入力された暗号化コマンドＸ２Ｂと、暗号化・復号回路６２から入力された暗号化コマンドＸ２Ｂ’とを比較することにより、通信装置２の認証を行う。
【０１６３】
通信装置２が正規である場合、通信装置認証回路６３は、暗号化コマンドＸ２Ｂ’と、上記と同様のパディングデータＰＤ２とを排他的論理和演算によって合成することにより、合成データＸ２ＰＢ’を生成する。そして、合成データＸ２ＰＢ’をカウンタ７５の初期値（カウンタ値Ｃ２１）として設定する。
【０１６４】
本変形例に係る情報処理システム１によれば、通信装置認証回路６３は、暗号化回路７２が生成した暗号化コマンドＸ１Ｂ’と、所定のパディングデータＰＤ１とを合成した合成データＸ１ＰＢ’を、カウンタ７５の初期値として設定する。このように、暗号化コマンドＸ１Ｂ’そのものをカウンタ７５の初期値として設定するのではなく、暗号化コマンドＸ１Ｂ’とパディングデータＰＤ１との合成データＸ１ＰＢ’をカウンタ７５の初期値として設定することにより、攻撃耐性をさらに向上することが可能となる。
【０１６５】
また、本変形例に係る情報処理システム１によれば、通信装置認証回路６３は、通信装置２から半導体記憶装置３へのアクセス毎にパディングデータＰＤ１，ＰＤ２を変更する。これにより、コンテンツデータのアドレスが同一の場合であっても、アクセス毎にカウンタ７５の初期値を異ならせることができるため、攻撃耐性をさらに向上することが可能となる。
【符号の説明】
【０１６６】
１  情報処理システム
２  通信装置
３  半導体記憶装置
１２，２１  セキュリティ制御回路
２２  メモリアレイ
４１，６１  暗号モード制御回路
４２，６２  暗号化・復号回路
４３  記憶装置認証回路
４４，６４  制御回路
５１，７１  復号回路
５２，７２  暗号化回路
５５，７５  カウンタ
６３  通信装置認証回路
【図１】
2015125533.tif 000003
【図２】
2015125533.tif 000004
【図３】
2015125533.tif 000005
【図４】
2015125533.tif 000006
【図５】
2015125533.tif 000007
【図６】
2015125533.tif 000008
【図７】
2015125533.tif 000009
【図８】
2015125533.tif 000010
【図９】
2015125533.tif 000011
【図１０】
2015125533.tif 000012
【図１１】
2015125533.tif 000013
【図１２】
2015125533.tif 000014
【図１３】
2015125533.tif 000015
【図１４】
2015125533.tif 000016
【図１５】
2015125533.tif 000017
【図１６】
2015125533.tif 000018
【図１７】
2015125533.tif 000019