(57)【要約】【課題】認証の処理に伴うオーバーヘッドを低減することにより、コンテンツデータにアクセスするまでの所要時間を短縮することが可能な、情報処理システムを得る。【解決手段】通信装置２は、メモリアレイ２２にアクセスするためのリードコマンドＣ０に、半導体記憶装置３に通信装置２を認証させるための認証コードＳ（Ｎ）を付加することによって、認証コード付きリードコマンドＣ１（Ｎ）を生成し、当該認証コード付きリードコマンドＣ１（Ｎ）を半導体記憶装置３に送信する。半導体記憶装置３は、通信装置２から認証コード付きリードコマンドＣ１（Ｎ）を受信し、認証コード付きリードコマンドＣ１（Ｎ）に含まれる認証コードＳ（Ｎ）に基づいて、通信装置２を認証し、通信装置２を正当と判定した場合には、認証コード付きリードコマンドＣ１（Ｎ）に含まれるリードコマンドＣ０に基づいて、メモリアレイ２２にアクセスする。【選択図】図１
2015018441.tif 000002
【特許請求の範囲】
【請求項１】
通信装置と、
前記通信装置に接続され、コンテンツデータが記憶された記憶部を有する記憶装置と、
を備える情報処理システムであって、
前記通信装置は、
前記記憶部にアクセスするためのアクセスコマンドに、前記記憶装置に前記通信装置を認証させるための第１の認証コードを付加することによって、認証コード付きアクセスコマンドを生成し、
前記認証コード付きアクセスコマンドを前記記憶装置に送信し、
前記記憶装置は、
前記通信装置から前記認証コード付きアクセスコマンドを受信し、
前記認証コード付きアクセスコマンドに含まれる前記第１の認証コードに基づいて、前記通信装置を認証し、
前記通信装置を正当と判定した場合には、前記認証コード付きアクセスコマンドに含まれる前記アクセスコマンドに基づいて、前記記憶部にアクセスする、情報処理システム。
【請求項２】
前記記憶装置は、前記通信装置を正当と判定した場合にはさらに、
前記アクセスコマンドに応答して前記通信装置に送信するコンテンツデータに、前記通信装置に前記記憶装置を認証させるための第２の認証コードを付加することによって、認証コード付きコンテンツデータを生成し、
前記認証コード付きコンテンツデータを前記通信装置に送信し、
前記通信装置は、
前記記憶装置から前記認証コード付きコンテンツデータを受信し、
前記認証コード付きコンテンツデータに含まれる前記第２の認証コードに基づいて、前記記憶装置を認証する、請求項１に記載の情報処理システム。
【請求項３】
前記通信装置は、
ソフトウェア処理によって前記情報処理システムを制御する主制御部と、
前記主制御部とは別に実装され、ハードウェア処理によって前記記憶装置を制御する第１の制御回路と、
を有し、
前記記憶装置は、
前記記憶部を制御する第２の制御回路
をさらに有し、
前記アクセスコマンドの発行は、前記主制御部が実行し、
前記認証コード付きアクセスコマンドの生成及び送信と、前記認証コード付きコンテンツデータの受信と、前記第２の認証コードに基づく前記記憶装置の認証とは、前記第１の制御回路が実行し、
前記認証コード付きアクセスコマンドの受信と、前記第１の認証コードに基づく前記通信装置の認証と、前記認証コード付きコンテンツデータの生成及び送信とは、前記第２の制御回路が実行する、請求項２に記載の情報処理システム。
【請求項４】
前記第２の制御回路は、前記通信装置を不正と判定した場合には、前記アクセスコマンドに基づく前記記憶部へのアクセスを行わない、請求項３に記載の情報処理システム。
【請求項５】
前記第２の制御回路はさらに、前記通信装置を不正と判定した場合には、以後に前記第１の制御回路から送信されるアクセスコマンドを受信しない、請求項４に記載の情報処理システム。
【請求項６】
前記第１の制御回路は、前記認証コード付きコンテンツデータに含まれるコンテンツデータを前記主制御部に入力し、前記記憶装置を不正と判定した場合には、前記記憶装置が不正である旨の通知を前記主制御部に入力する、請求項３〜５のいずれか一つに記載の情報処理システム。
【請求項７】
前記第１の制御回路は、前記記憶装置を不正と判定した場合には、前記認証コード付きコンテンツデータに含まれるコンテンツデータを前記主制御部に入力しない、請求項３〜５のいずれか一つに記載の情報処理システム。
【請求項８】
前記第１の制御回路はさらに、前記記憶装置を不正と判定した場合には、前記第１の制御回路と前記第２の制御回路との間での以後の通信を遮断する、請求項６又は７に記載の情報処理システム。
【請求項９】
前記第１の制御回路は、
第１の数列を生成する第１の数列生成部と、
前記第１の数列に基づいて前記第１の認証コードを生成する第１の認証制御部と、
を含み、
前記第２の制御回路は、
前記第１の数列と同一の第２の数列を生成する第２の数列生成部と、
前記第２の数列に基づいて前記第２の認証コードを生成する第２の認証制御部と、
を含み、
前記第２の認証制御部は、前記認証コード付きアクセスコマンドに含まれる前記第１の認証コードと、前記第２の数列に基づいて生成した前記第２の認証コードとが一致するか否かによって、前記通信装置を認証し、
前記第１の認証制御部は、前記認証コード付きコンテンツデータに含まれる前記第２の認証コードと、前記第１の数列に基づいて生成した前記第１の認証コードとが一致するか否かによって、前記記憶装置を認証する、請求項３〜８のいずれか一つに記載の情報処理システム。
【請求項１０】
前記第１の認証制御部は、前記第１の数列を圧縮することにより、前記第１の認証コードを生成し、
前記第２の認証制御部は、前記第２の数列を圧縮することにより、前記第２の認証コードを生成する、請求項９に記載の情報処理システム。
【請求項１１】
前記第１の数列生成部及び前記第２の数列生成部は、認証の処理毎に異なる前記第１の数列及び前記第２の数列をそれぞれ生成する、請求項９又は１０に記載の情報処理システム。
【請求項１２】
前記第１の制御回路から前記第２の制御回路に送信される前記認証コード付きアクセスコマンドに含まれる前記第１の認証コードと、当該アクセスコマンドに応答して前記第２の制御回路から前記第１の制御回路に送信される前記認証コード付きコンテンツデータに含まれる前記第２の認証コードとは、互いに異なる、請求項９〜１１のいずれか一つに記載の情報処理システム。
【請求項１３】
前記第２の認証制御部は、前記通信装置を認証する際に使用した前記第２の数列の次に生成した更新後の第２の数列に基づいて、前記第２の認証コードを生成し、
前記第１の認証制御部は、当該第２の認証コードと、前記第１の認証コードを生成する際に使用した前記第１の数列の次に生成された更新後の第１の数列に基づいて生成した更新後の第１の認証コードとが一致するか否かによって、前記記憶装置を認証する、請求項１２に記載の情報処理システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通信装置と記憶装置とを備える情報処理システムに関する。
【背景技術】
【０００２】
通信装置とそれに接続される半導体記憶装置とを備える情報処理システムにおいては、半導体記憶装置に記憶されたコンテンツデータが不正に読み出されることを防止すべく、コンテンツデータへのアクセスを許可する前に、通信装置と半導体記憶装置とが相互に正当性を認証し合う技術（相互認証技術）が実用化されている。
【０００３】
一般的なチャレンジアンドレスポンス型の相互認証では、通信装置は、相互認証の実行を指示するための認証コマンドを発行する。通信装置は、認証コマンドに基づいて第１の認証コードを生成し、当該第１の認証コードを暗号化して半導体記憶装置に送信する。半導体記憶装置は、受信した第１の認証コードを復号した後、当該第１の認証コードを再び暗号化して通信装置に送信する。通信装置は、受信した第１の認証コードを復号した後、半導体記憶装置に送信した第１の認証コードと、半導体記憶装置から受信した第１の認証コードとが一致するか否かによって、半導体記憶装置の正当性を認証する。また、通信装置が半導体記憶装置の正当性を認証した後、半導体記憶装置は、第２の認証コードを生成し、当該第２の認証コードを暗号化して通信装置に送信する。通信装置は、受信した第２の認証コードを復号した後、当該第２の認証コードを再び暗号化して半導体記憶装置に送信する。半導体記憶装置は、受信した第２の認証コードを復号した後、通信装置に送信した第２の認証コードと、通信装置から受信した第２の認証コードとが一致するか否かによって、通信装置の正当性を認証する。以上の処理によって通信装置及び半導体記憶装置の正当性が相互に認証された場合に、通信装置は、コンテンツデータにアクセスするためのアクセスコマンドを発行する。
【０００４】
なお、下記特許文献１には、複数の相互認証手続を準備しておき、ＣＰＵが複数の相互認証手続の中から一の相互認証手続を選択することにより、その選択した相互認証手続をＣＰＵが実行する情報処理装置が開示されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０００−３４９７５１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
上述した一般的なチャレンジアンドレスポンス型の相互認証によると、アクセスコマンドを発行する前に認証コマンドが発行され、当該認証コマンドに基づいて、通信装置から半導体記憶装置への第１の認証コードの送信及びその応答値の受信と、半導体記憶装置から通信装置への第２の認証コードの送信及びその応答値の受信とが、順に行われる。そして、通信装置及び半導体記憶装置の正当性が相互に認証された場合に、アクセスコマンドが発行される。従って、相互認証の処理に伴うオーバーヘッドが大きいため、コンテンツデータにアクセスするまでの所要時間が長くなる。
【０００７】
本発明はかかる事情に鑑みて成されたものであり、認証の処理に伴うオーバーヘッドを低減することにより、コンテンツデータにアクセスするまでの所要時間を短縮することが可能な、情報処理システムを得ることを目的とするものである。
【課題を解決するための手段】
【０００８】
本発明の第１の態様に係る情報処理システムは、通信装置と、前記通信装置に接続され、コンテンツデータが記憶された記憶部を有する記憶装置と、を備える情報処理システムであって、前記通信装置は、前記記憶部にアクセスするためのアクセスコマンドに、前記記憶装置に前記通信装置を認証させるための第１の認証コードを付加することによって、認証コード付きアクセスコマンドを生成し、前記認証コード付きアクセスコマンドを前記記憶装置に送信し、前記記憶装置は、前記通信装置から前記認証コード付きアクセスコマンドを受信し、前記認証コード付きアクセスコマンドに含まれる前記第１の認証コードに基づいて、前記通信装置を認証し、前記通信装置を正当と判定した場合には、前記認証コード付きアクセスコマンドに含まれる前記アクセスコマンドに基づいて、前記記憶部にアクセスすることを特徴とするものである。
【０００９】
第１の態様に係る情報処理システムによれば、通信装置は、アクセスコマンドに第１の認証コードを付加することによって認証コード付きアクセスコマンドを生成し、当該認証コード付きアクセスコマンドを記憶装置に送信する。また、記憶装置は、通信装置から認証コード付きアクセスコマンドを受信し、当該認証コード付きアクセスコマンドに含まれる第１の認証コードに基づいて、通信装置を認証する。そして、通信装置を正当と判定した場合には、認証コード付きアクセスコマンドに含まれるアクセスコマンドに基づいて、記憶部にアクセスする。このように、アクセスコマンドに第１の認証コードを付加した認証コード付きアクセスコマンドを用いることによって、記憶装置による通信装置の認証と、記憶部へのアクセスとを、共通の処理として実行することができる。その結果、通信装置が記憶装置にアクセスコマンドを送信する前に、記憶装置が通信装置を認証する処理を別個に実行する必要がなく、認証の処理に伴うオーバーヘッドを低減できるため、コンテンツデータにアクセスするまでの所要時間を短縮することが可能となる。
【００１０】
本発明の第２の態様に係る情報処理システムは、第１の態様に係る情報処理システムにおいて特に、前記記憶装置は、前記通信装置を正当と判定した場合にはさらに、前記アクセスコマンドに応答して前記通信装置に送信するコンテンツデータに、前記通信装置に前記記憶装置を認証させるための第２の認証コードを付加することによって、認証コード付きコンテンツデータを生成し、前記認証コード付きコンテンツデータを前記通信装置に送信し、前記通信装置は、前記記憶装置から前記認証コード付きコンテンツデータを受信し、前記認証コード付きコンテンツデータに含まれる前記第２の認証コードに基づいて、前記記憶装置を認証することを特徴とするものである。
【００１１】
第２の態様に係る情報処理システムによれば、記憶装置は、コンテンツデータに第２の認証コードを付加することによって認証コード付きコンテンツデータを生成し、当該認証コード付きコンテンツデータを通信装置に送信する。そして、通信装置は、記憶装置から認証コード付きコンテンツデータを受信し、当該認証コード付きコンテンツデータに含まれる第２の認証コードに基づいて、記憶装置を認証する。このように、コンテンツデータに第２の認証コードを付加した認証コード付きコンテンツデータを用いることによって、記憶装置から通信装置へのコンテンツデータの送信と、通信装置による記憶装置の認証とを、共通の処理として実行することができる。その結果、記憶装置が通信装置にコンテンツデータを送信する前に、通信装置が記憶装置を認証する処理を別個に実行する必要がなく、認証の処理に伴うオーバーヘッドを低減できるため、コンテンツデータにアクセスするまでの所要時間を短縮することが可能となる。
【００１２】
しかも、通信装置から記憶装置への認証コード付きアクセスコマンドの送信と、それに応答する記憶装置から通信装置への認証コード付きコンテンツデータの送信との、一往復の通信によって、通信装置と記憶装置との相互認証を行うことができる。その結果、通信装置及び記憶装置それぞれからの往復通信（合計で二往復の通信）が必要となる一般的なチャレンジアンドレスポンス型の相互認証と比較すると、処理の高速化及び効率化を図ることが可能となる。
【００１３】
本発明の第３の態様に係る情報処理システムは、第２の態様に係る情報処理システムにおいて特に、前記通信装置は、ソフトウェア処理によって前記情報処理システムを制御する主制御部と、前記主制御部とは別に実装され、ハードウェア処理によって前記記憶装置を制御する第１の制御回路と、を有し、前記記憶装置は、前記記憶部を制御する第２の制御回路をさらに有し、前記アクセスコマンドの発行は、前記主制御部が実行し、前記認証コード付きアクセスコマンドの生成及び送信と、前記認証コード付きコンテンツデータの受信と、前記第２の認証コードに基づく前記記憶装置の認証とは、前記第１の制御回路が実行し、前記認証コード付きアクセスコマンドの受信と、前記第１の認証コードに基づく前記通信装置の認証と、前記認証コード付きコンテンツデータの生成及び送信とは、前記第２の制御回路が実行することを特徴とするものである。
【００１４】
第３の態様に係る情報処理システムによれば、認証コード付きアクセスコマンドの生成及び送信と、認証コード付きコンテンツデータの受信と、第２の認証コードに基づく記憶装置の認証とは、第１の制御回路が実行する。また、認証コード付きアクセスコマンドの受信と、第１の認証コードに基づく通信装置の認証と、認証コード付きコンテンツデータの生成及び送信とは、第２の制御回路が実行する。このように、通信装置と記憶装置との相互認証において、主制御部が実行する処理はアクセスコマンドの発行だけであり、認証コード付きアクセスコマンド及び認証コード付きコンテンツデータの生成や、認証コードに基づく認証等の本質的な処理は、第１の制御回路と第２の制御回路との間で実行される。従って、プログラム解析等によって主制御部の制御を改変するような攻撃を受けた場合であっても、第１の制御回路及び第２の制御回路によるハードウェア処理の内容が解析及び改変されない限り、攻撃者によって相互認証の処理が回避されることはない。その結果、主制御部の制御を改変するような攻撃を受けた場合であっても、記憶装置からコンテンツデータが不正に読み出されることを防止することが可能となる。
【００１５】
本発明の第４の態様に係る情報処理システムは、第３の態様に係る情報処理システムにおいて特に、前記第２の制御回路は、前記通信装置を不正と判定した場合には、前記アクセスコマンドに基づく前記記憶部へのアクセスを行わないことを特徴とするものである。
【００１６】
第４の態様に係る情報処理システムによれば、第２の制御回路は、通信装置を不正と判定した場合には、アクセスコマンドに基づく記憶部へのアクセスを行わない。従って、不正な通信装置から記憶装置にリードコマンドが送信された場合等であっても、第２の制御回路は記憶部からのコンテンツデータの読み出しを実行しない。その結果、記憶装置からコンテンツデータが不正に読み出されること等を防止することが可能となる。
【００１７】
本発明の第５の態様に係る情報処理システムは、第４の態様に係る情報処理システムにおいて特に、前記第２の制御回路はさらに、前記通信装置を不正と判定した場合には、以後に前記第１の制御回路から送信されるアクセスコマンドを受信しないことを特徴とするものである。
【００１８】
第５の態様に係る情報処理システムによれば、第２の制御回路は、通信装置を不正と判定した場合には、以後に第１の制御回路から送信されるアクセスコマンドを受信しない。従って、不正な通信装置から記憶装置にリードコマンドが送信された場合等であっても、第２の制御回路は当該リードコマンドを受信しない。その結果、記憶装置からコンテンツデータが不正に読み出されること等を防止することが可能となる。
【００１９】
本発明の第６の態様に係る情報処理システムは、第３〜第５のいずれか一つの態様に係る情報処理システムにおいて特に、前記第１の制御回路は、前記認証コード付きコンテンツデータに含まれるコンテンツデータを前記主制御部に入力し、前記記憶装置を不正と判定した場合には、前記記憶装置が不正である旨の通知を前記主制御部に入力することを特徴とするものである。
【００２０】
第６の態様に係る情報処理システムによれば、第１の制御回路は、記憶装置が正当であるか不正であるかに拘わらず、認証コード付きコンテンツデータに含まれるコンテンツデータを主制御部に入力する。従って、記憶装置を認証する処理の完了を待つことなく、受信したコンテンツデータを早期に主制御部に入力することが可能となる。また、第１の制御回路は、記憶装置を不正と判定した場合には、記憶装置が不正である旨の通知を主制御部に入力する。従って、主制御部は、第１の制御回路から入力されたコンテンツデータを破棄又は無効化する等の処理を実行することが可能となる。
【００２１】
本発明の第７の態様に係る情報処理システムは、第３〜第５のいずれか一つの態様に係る情報処理システムにおいて特に、前記第１の制御回路は、前記記憶装置を不正と判定した場合には、前記認証コード付きコンテンツデータに含まれるコンテンツデータを前記主制御部に入力しないことを特徴とするものである。
【００２２】
第７の態様に係る情報処理システムによれば、第１の制御回路は、記憶装置を不正と判定した場合には、認証コード付きコンテンツデータに含まれるコンテンツデータを主制御部に入力しない。従って、不正な記憶装置から読み出されたコンテンツデータが主制御部に入力されること等を防止することが可能となる。
【００２３】
本発明の第８の態様に係る情報処理システムは、第６又は第７の態様に係る情報処理システムにおいて特に、前記第１の制御回路はさらに、前記記憶装置を不正と判定した場合には、前記第１の制御回路と前記第２の制御回路との間での以後の通信を遮断することを特徴とするものである。
【００２４】
第８の態様に係る情報処理システムによれば、第１の制御回路は、記憶装置を不正と判定した場合には、第１の制御回路と第２の制御回路との間での以後の通信を遮断する。従って、通信装置から不正な記憶装置にアクセスコマンドが送信されることや、不正な記憶装置から通信装置にコンテンツデータが送信されること等が回避される。その結果、記憶装置からコンテンツデータが不正に読み出されること等を防止することが可能となる。
【００２５】
本発明の第９の態様に係る情報処理システムは、第３〜第８のいずれか一つの態様に係る情報処理システムにおいて特に、前記第１の制御回路は、第１の数列を生成する第１の数列生成部と、前記第１の数列に基づいて前記第１の認証コードを生成する第１の認証制御部と、を含み、前記第２の制御回路は、前記第１の数列と同一の第２の数列を生成する第２の数列生成部と、前記第２の数列に基づいて前記第２の認証コードを生成する第２の認証制御部と、を含み、前記第２の認証制御部は、前記認証コード付きアクセスコマンドに含まれる前記第１の認証コードと、前記第２の数列に基づいて生成した前記第２の認証コードとが一致するか否かによって、前記通信装置を認証し、前記第１の認証制御部は、前記認証コード付きデータに含まれる前記第２の認証コードと、前記第１の数列に基づいて生成した前記第１の認証コードとが一致するか否かによって、前記記憶装置を認証することを特徴とするものである。
【００２６】
第９の態様に係る情報処理システムによれば、第２の認証制御部は、認証コード付きアクセスコマンドに含まれる第１の認証コードと、第２の数列に基づいて生成した第２の認証コードとが一致するか否かによって、通信装置を認証する。通信装置が不正である場合には、認証コード付きアクセスコマンドに含まれる第１の認証コードと、第２の数列に基づいて生成した第２の認証コードとは一致しない。従って、通信装置が不正であることを、確実に検出することが可能となる。また、第１の認証制御部は、認証コード付きコンテンツデータに含まれる第２の認証コードと、第１の数列に基づいて生成した第１の認証コードとが一致するか否かによって、記憶装置を認証する。記憶装置が不正である場合には、認証コード付きコンテンツデータに含まれる第２の認証コードと、第１の数列に基づいて生成した第１の認証コードとは一致しない。従って、記憶装置が不正であることを、確実に検出することが可能となる。
【００２７】
本発明の第１０の態様に係る情報処理システムは、第９の態様に係る情報処理システムにおいて特に、前記第１の認証制御部は、前記第１の数列を圧縮することにより、前記第１の認証コードを生成し、前記第２の認証制御部は、前記第２の数列を圧縮することにより、前記第２の認証コードを生成することを特徴とするものである。
【００２８】
第１０の態様に係る情報処理システムによれば、第１の認証制御部は、第１の数列を圧縮することにより第１の認証コードを生成し、第２の認証制御部は、第２の数列を圧縮することにより第２の認証コードを生成する。従って、第１の数列及び第２の数列の各ビット長が許容認証コード長を超える場合であっても、第１の数列及び第２の数列を圧縮することによって、許容認証コード長に収まる第１の認証コード及び第２の認証コードを生成することが可能となる。
【００２９】
本発明の第１１の態様に係る情報処理システムは、第９又は第１０の態様に係る情報処理システムにおいて特に、前記第１の数列生成部及び前記第２の数列生成部は、認証の処理毎に異なる前記第１の数列及び前記第２の数列をそれぞれ生成することを特徴とするものである。
【００３０】
第１１の態様に係る情報処理システムによれば、第１の数列生成部及び第２の数列生成部は、認証の処理毎に異なる第１の数列及び第２の数列をそれぞれ生成する。その結果、第１の認証コード及び第２の認証コードは認証の処理毎に変更されるため、セキュリティ強度を向上することが可能となる。
【００３１】
本発明の第１２の態様に係る情報処理システムは、第９〜第１１のいずれか一つの態様に係る情報処理システムにおいて特に、前記第１の制御回路から前記第２の制御回路に送信される前記認証コード付きアクセスコマンドに含まれる前記第１の認証コードと、当該アクセスコマンドに応答して前記第２の制御回路から前記第１の制御回路に送信される前記認証コード付きコンテンツデータに含まれる前記第２の認証コードとは、互いに異なることを特徴とするものである。
【００３２】
第１２の態様に係る情報処理システムによれば、第１の制御回路から第２の制御回路に送信される認証コード付きアクセスコマンドに含まれる第１の認証コードと、当該アクセスコマンドに応答して第２の制御回路から第１の制御回路に送信される認証コード付きコンテンツデータに含まれる第２の認証コードとは、互いに異なる。つまり、通信装置が記憶装置に送信する第１の認証コードと、通信装置が記憶装置から受信する第２の認証コードとは、互いに異なる。このように、送信時と受信時とで認証コードを異ならせることにより、セキュリティ強度を向上することが可能となる。
【００３３】
本発明の第１３の態様に係る情報処理システムは、第１２の態様に係る情報処理システムにおいて特に、前記第２の認証制御部は、前記通信装置を認証する際に使用した前記第２の数列の次に生成した更新後の第２の数列に基づいて、前記第２の認証コードを生成し、前記第１の認証制御部は、当該第２の認証コードと、前記第１の認証コードを生成する際に使用した前記第１の数列の次に生成された更新後の第１の数列に基づいて生成した更新後の第１の認証コードとが一致するか否かによって、前記記憶装置を認証することを特徴とするものである。
【００３４】
第１３の態様に係る情報処理システムによれば、第２の認証制御部は、通信装置を認証する際に使用した第２の数列の次に生成した更新後の第２の数列に基づいて、第２の認証コードを生成する。これにより、記憶装置から通信装置に送信する第２の認証コードを、通信装置から記憶装置に送信する第１の認証コードから簡易かつ確実に変更することが可能となる。また、第１の認証制御部は、更新後の第２の数列に基づいて生成した更新後の第２の認証コードと、更新後の第１の数列に基づいて生成した更新後の第１の認証コードとが一致するか否かによって、記憶装置を認証する。記憶装置が正当である場合には、更新後の第２の認証コードは更新後の第１の認証コードに一致しており、一方、記憶装置が不正である場合には、更新後の第２の認証コードは更新後の第１の認証コードに一致していない。従って、更新後の第２の認証コードが更新後の第１の認証コードに一致するか否かを確認することによって、記憶装置が正当であるか不正であるかを簡易かつ確実に判定することが可能となる。
【発明の効果】
【００３５】
本発明によれば、認証の処理に伴うオーバーヘッドを低減することにより、コンテンツデータにアクセスするまでの所要時間を短縮することが可能となる。
【図面の簡単な説明】
【００３６】
【図１】本発明の実施の形態に係る情報処理システムの全体構成を概略的に示す図である。
【図２】マイクロプロセッサの構成を示す図である。
【図３】メモリコントローラの構成を示す図である。
【図４】メモリコントローラの構成を示す図である。
【図５】リードコマンドを示す図である。
【図６】認証コード付きリードコマンドを示す図である。
【図７】認証コード付きコンテンツデータの第１の例を示す図である。
【図８】認証コード付きコンテンツデータの第２の例を示す図である。
【発明を実施するための形態】
【００３７】
以下、本発明の実施の形態について、図面を用いて詳細に説明する。なお、異なる図面において同一の符号を付した要素は、同一又は相応する要素を示すものとする。
【００３８】
図１は、本発明の実施の形態に係る情報処理システム１の全体構成を概略的に示す図である。情報処理システム１は、通信装置２と半導体記憶装置３とを備えて構成されている。通信装置２は、例えばパーソナルコンピュータである。半導体記憶装置３は、例えば、通信装置２に着脱自在に接続可能なメモリカードである。あるいは、半導体記憶装置３に代えて、光ディスクや磁気ディスク等の任意の記憶装置を用いることもできる。
【００３９】
通信装置２は、ソフトウェア処理によって情報処理システム１を制御するメインシステムとしてのマイクロプロセッサ１１（主制御部）と、マイクロプロセッサ１１とは別に実装されたメモリコントローラ１２（第１の制御回路）とを備えて構成されている。メモリコントローラ１２は、ハードウェア処理によって半導体記憶装置３を制御する。
【００４０】
半導体記憶装置３は、画像、音声、テキスト、コード、管理情報等の任意のコンテンツデータが記憶されたメモリアレイ２２（記憶部）と、メモリアレイ２２を制御するメモリコントローラ２１（第２の制御回路）とを備えて構成されている。メモリアレイ２２は、例えばＮＡＮＤ型フラッシュメモリを用いて構成されている。但し、この例に限定されるものではなく、メモリアレイ２２はＮＯＲ型フラッシュメモリ等を用いて構成されていても良い。
【００４１】
図２は、マイクロプロセッサ１１の構成を示す図である。マイクロプロセッサ１１は、バス４７を介して相互に接続された、ＣＰＵ４１、演算器４２、ＲＡＭ４３、ＲＯＭ４４、ブリッジ４５、及びレジスタ４６を備えて構成されている。
【００４２】
図３は、メモリコントローラ１２の構成を示す図である。図３の接続関係で示すように、メモリコントローラ１２は、鍵生成部５１（第１の数列生成部）、暗号化・復号部５２、認証制御部５３（第１の認証制御部）、及びマスク回路５４，５５を備えて構成されている。鍵生成部５１は、機密性の高い固定値の共有鍵Ｐを用いて、所定の乱数生成アルゴリズムによってランダムな数列（以下の例ではセッション鍵Ｋ）を生成する。鍵生成部５１は、メモリコントローラ１２がマイクロプロセッサ１１からアクセスコマンドを受領する度に、毎回異なるセッション鍵Ｋ（ナンス）を生成する。
【００４３】
図４は、メモリコントローラ２１の構成を示す図である。図４の接続関係で示すように、メモリコントローラ２１は、鍵生成部６１（第２の数列生成部）、暗号化・復号部６２、及び認証制御部６３（第２の認証制御部）を備えて構成されている。鍵生成部６１は、鍵生成部５１が保持している共有鍵Ｐと同一の共有鍵Ｐを用いて、鍵生成部５１と同一の乱数生成アルゴリズムによって、鍵生成部５１が生成するセッション鍵Ｋと同一のセッション鍵Ｋを生成する。鍵生成部６１は、メモリコントローラ２１がメモリコントローラ１２から暗号化済み認証コード付きアクセスコマンドを受信する度に、毎回異なるセッション鍵Ｋを生成する。
【００４４】
以下、図３，４を参照して、本実施の形態に係る情報処理システム１の動作について説明する。前提として、暗号化・復号部５２，６２は、鍵生成部５１，６１が前回生成したセッション鍵Ｋ（Ｎ−１）によって初期化されているものとする。また、以下の例では、通信装置２がメモリアレイ２２にアクセスするためのアクセスコマンドとして、リードコマンドを使用する場合について説明する。
【００４５】
まずマイクロプロセッサ１１は、メモリアレイ２２から所望のコンテンツデータを読み出すための所定バイト長のリードコマンドＣ０を発行する。図５は、リードコマンドＣ０を示す図である。リードコマンドＣ０は、それがリードコマンドであることを識別するための特定のコマンドＩＤと、メモリアレイ２２内におけるコンテンツデータの格納場所を示すアドレスと、無意味なデータで埋められた未定義領域とを含む。
【００４６】
図３を参照して、メモリコントローラ１２は、マイクロプロセッサ１１からリードコマンドＣ０を受領し、受領したリードコマンドＣ０を認証制御部５３に入力する。
【００４７】
次に鍵生成部５１は、認証制御部５３からの要求に従ってセッション鍵Ｋ（Ｎ）を生成する。セッション鍵Ｋ（Ｎ）は、暗号化・復号部５２及び認証制御部５３に入力される。
【００４８】
次に認証制御部５３は、セッション鍵Ｋ（Ｎ）に基づいて、半導体記憶装置３が通信装置２の正当性を認証するための認証コードＳ（Ｎ）を生成する。例えば、セッション鍵Ｋ（Ｎ）のビット長が所定の許容認証コード長以下である場合には、セッション鍵Ｋ（Ｎ）をそのまま認証コードＳ（Ｎ）として使用する。一方、セッション鍵Ｋ（Ｎ）のビット長が許容認証コード長を超える場合には、セッション鍵Ｋ（Ｎ）を圧縮することによって、許容認証コード長に収まる認証コードＳ（Ｎ）を生成する。一例として、許容認証コード長がリードコマンドＣ０の未定義領域のビット長（例えば３２ビット）に設定されており、セッション鍵Ｋ（Ｎ）のビット長が１２８ビットである場合には、セッション鍵Ｋ（Ｎ）を、第１２７−９６ビット、第９５−６４ビット、第６３−３２ビット、及び第３１−０ビットの４つのビット群に分割し、先頭のビット群から順に次のビット群との間で排他的論理和演算を行う（[127:96] ExOR [95:64] ExOR [63:32] ExOR [31:0]）。これにより、１２８ビット長のセッション鍵Ｋ（Ｎ）から３２ビット長の認証コードＳ（Ｎ）を生成する。
【００４９】
次に認証制御部５３は、リードコマンドＣ０に認証コードＳ（Ｎ）を付加することによって、認証コード付きリードコマンドＣ１（Ｎ）を生成する。図６は、認証コード付きリードコマンドＣ１（Ｎ）を示す図である。認証制御部５３は、リードコマンドＣ０の未定義領域に含まれる無意味なデータを、認証コードＳ（Ｎ）に置き換えることにより、コマンドＩＤとアドレスと認証コードＳ（Ｎ）とを含む認証コード付きリードコマンドＣ１（Ｎ）を生成する。認証制御部５３は、生成した認証コード付きリードコマンドＣ１（Ｎ）を暗号化・復号部５２に入力する。
【００５０】
次に暗号化・復号部５２は、現在設定されているセッション鍵Ｋ（Ｎ−１）を用いて認証コード付きリードコマンドＣ１（Ｎ）を暗号化することにより、暗号化済み認証コード付きリードコマンドＸ（Ｎ）を生成する。そして、生成した暗号化済み認証コード付きリードコマンドＸ（Ｎ）を、メモリコントローラ２１に送信する。
【００５１】
次に認証制御部５３は、鍵生成部５１が今回生成したセッション鍵Ｋ（Ｎ）によって、暗号化・復号部５２を初期化する。
【００５２】
メモリコントローラ２１は、メモリコントローラ１２から受信した暗号化済み認証コード付きリードコマンドＸ（Ｎ）を、暗号化・復号部６２に入力する。
【００５３】
次に暗号化・復号部６２は、現在設定されているセッション鍵Ｋ（Ｎ−１）を用いて暗号化済み認証コード付きリードコマンドＸ（Ｎ）を復号することにより、認証コード付きリードコマンドＣ１（Ｎ）を再生する。そして、再生した認証コード付きリードコマンドＣ１（Ｎ）を認証制御部６３に入力する。
【００５４】
次に認証制御部６３は、認証コード付きリードコマンドＣ１（Ｎ）から、リードコマンドＣ０と認証コードＳ（Ｎ）とを抽出する。
【００５５】
次に鍵生成部６１は、認証制御部６３からの要求に従ってセッション鍵Ｋ（Ｎ）を生成する。セッション鍵Ｋ（Ｎ）は、暗号化・復号部６２及び認証制御部６３に入力される。次に認証制御部６３は、上述した認証制御部５３と同様の処理によって、セッション鍵Ｋ（Ｎ）に基づいて認証コードＳ（Ｎ）を生成する。
【００５６】
次に認証制御部６３は、認証コード付きリードコマンドＣ１（Ｎ）から抽出した認証コードＳ（Ｎ）と、鍵生成部６１から入力されたセッション鍵Ｋ（Ｎ）に基づいて生成した認証コードＳ（Ｎ）とを比較することにより、通信装置２の正当性を認証する。具体的には、両認証コードＳ（Ｎ）が一致する場合には通信装置２を正当と判定し、両認証コードＳ（Ｎ）が一致しない場合には通信装置２を不正と判定する。
【００５７】
認証制御部６３は、通信装置２を不正と判定した場合には、認証コード付きリードコマンドＣ１（Ｎ）から抽出したリードコマンドＣ０に基づくメモリアレイ２２へのアクセスを行わない。つまり、メモリアレイ２２からのコンテンツデータの読み出しを実行しない。
【００５８】
また、認証制御部６３は、通信装置２を不正と判定した場合には、暗号化・復号部６２に対して通信装置２からの送信データの受信を禁止する。これにより、メモリコントローラ２１は、以後に通信装置２から半導体記憶装置３に向けて送信されるアクセスコマンドを受信しない。
【００５９】
一方、通信装置２を正当と判定した場合には、次に認証制御部６３は、認証コード付きリードコマンドＣ１（Ｎ）から抽出したリードコマンドＣ０に基づいて、メモリアレイ２２へのアクセスを行う。つまり、読み出しアドレスを示す制御信号Ｕによって、メモリアレイ２２からコンテンツデータＴ０を読み出す。
【００６０】
また、認証制御部６３は、通信装置２を正当と判定した場合には、鍵生成部６１が今回生成したセッション鍵Ｋ（Ｎ）によって、暗号化・復号部６２を初期化する。
【００６１】
次に鍵生成部６１は、認証制御部６３からの要求に従って、次回のセッション鍵Ｋ（Ｎ＋１）を生成する。セッション鍵Ｋ（Ｎ＋１）は、認証制御部６３に入力される。
【００６２】
次に認証制御部６３は、鍵生成部６１から入力されたセッション鍵Ｋ（Ｎ＋１）に基づいて認証コードＳ（Ｎ＋１）を生成する。認証制御部６３は、上述した認証制御部５３と同様に、セッション鍵Ｋ（Ｎ＋１）のビット長が所定の許容認証コード長以下である場合には、セッション鍵Ｋ（Ｎ＋１）をそのまま認証コードＳ（Ｎ＋１）として使用する。一方、セッション鍵Ｋ（Ｎ＋１）のビット長が許容認証コード長を超える場合には、セッション鍵Ｋ（Ｎ＋１）を圧縮することによって、許容認証コード長に収まる認証コードＳ（Ｎ＋１）を生成する。
【００６３】
次に認証制御部６３は、コンテンツデータＴ０に認証コードＳ（Ｎ＋１）を付加することによって、認証コード付きコンテンツデータＴ１（Ｎ＋１）を生成する。図７は、認証コード付きコンテンツデータＴ１（Ｎ＋１）の第１の例を示す図である。認証制御部６３は、コンテンツデータＴ０の末尾に認証コードＳ（Ｎ＋１）を付加することにより、認証コード付きコンテンツデータＴ１（Ｎ＋１）を生成する。図８は、認証コード付きコンテンツデータＴ１（Ｎ＋１）の第２の例を示す図である。認証制御部６３は、コンテンツデータＴ０の先頭に認証コードＳ（Ｎ＋１）を付加することにより、認証コード付きコンテンツデータＴ１（Ｎ＋１）を生成する。認証制御部６３は、生成した認証コード付きコンテンツデータＴ１（Ｎ＋１）を、暗号化・復号部６２に入力する。
【００６４】
次に暗号化・復号部６２は、現在設定されているセッション鍵Ｋ（Ｎ）を用いて認証コード付きコンテンツデータＴ１（Ｎ＋１）を暗号化することにより、暗号化済み認証コード付きコンテンツデータＹ（Ｎ＋１）を生成する。そして、生成した暗号化済み認証コード付きコンテンツデータＹ（Ｎ＋１）をメモリコントローラ１２に送信する。
【００６５】
メモリコントローラ１２は、メモリコントローラ２１から受信した暗号化済み認証コード付きコンテンツデータＹ（Ｎ＋１）を、暗号化・復号部５２に入力する。
【００６６】
次に暗号化・復号部５２は、現在設定されているセッション鍵Ｋ（Ｎ）を用いて暗号化済み認証コード付きコンテンツデータＹ（Ｎ＋１）を復号することにより、認証コード付きコンテンツデータＴ１（Ｎ＋１）を再生する。そして、再生した認証コード付きコンテンツデータＴ１（Ｎ＋１）を認証制御部５３に入力する。
【００６７】
次に認証制御部５３は、認証コード付きコンテンツデータＴ１（Ｎ＋１）から、コンテンツデータＴ０と認証コードＳ（Ｎ＋１）とを抽出する。
【００６８】
次に鍵生成部５１は、認証制御部５３からの要求に従ってセッション鍵Ｋ（Ｎ＋１）を生成する。セッション鍵Ｋ（Ｎ＋１）は、認証制御部５３に入力される。次に認証制御部５３は、上述した認証制御部６３と同様の処理によって、セッション鍵Ｋ（Ｎ＋１）に基づいて認証コードＳ（Ｎ＋１）を生成する。
【００６９】
次に認証制御部５３は、認証コード付きコンテンツデータＴ１（Ｎ＋１）から抽出した認証コードＳ（Ｎ＋１）と、鍵生成部６１から入力されたセッション鍵Ｋ（Ｎ＋１）に基づいて生成した認証コードＳ（Ｎ＋１）とを比較することにより、半導体記憶装置３の正当性を認証する。具体的には、両認証コードＳ（Ｎ＋１）が一致する場合には半導体記憶装置３を正当と判定し、両認証コードＳ（Ｎ＋１）が一致しない場合には半導体記憶装置３を不正と判定する。
【００７０】
図７に示した第１の例によると、認証コードＳ（Ｎ＋１）はコンテンツデータＴ０の末尾に付加されている。従って、認証制御部５３は、認証コードＳ（Ｎ＋１）よりも先にコンテンツデータＴ０を処理する。この場合、認証制御部５３は、半導体記憶装置３の正当性を認証する処理の完了を待つことなく、認証コード付きコンテンツデータＴ１（Ｎ＋１）から抽出したコンテンツデータＴ０をマイクロプロセッサ１１に入力する。その後、認証によって半導体記憶装置３を不正と判定した場合には、認証制御部５３は、半導体記憶装置３が不正である旨の通知をマイクロプロセッサ１１に入力する。一方、半導体記憶装置３を正当と判定した場合には、認証制御部５３は、半導体記憶装置３が不正である旨の通知をマイクロプロセッサ１１に入力しない。
【００７１】
図８に示した第２の例によると、認証コードＳ（Ｎ＋１）はコンテンツデータＴ０の先頭に付加されている。従って、認証制御部５３は、コンテンツデータＴ０よりも先に認証コードＳ（Ｎ＋１）を処理する。この場合、認証制御部５３は、半導体記憶装置３の正当性を認証する処理を先に行い、認証によって半導体記憶装置３を不正と判定した場合には、認証コード付きコンテンツデータＴ１（Ｎ＋１）から抽出したコンテンツデータＴ０をマイクロプロセッサ１１に入力しない。一方、半導体記憶装置３を正当と判定した場合には、認証制御部５３は、認証コード付きコンテンツデータＴ１（Ｎ＋１）から抽出したコンテンツデータＴ０をマイクロプロセッサ１１に入力する。
【００７２】
また、認証制御部５３は、半導体記憶装置３を不正と判定した場合には、データをオール「０」又はオール「１」に置換する等のマスク処理を有効にする制御信号Ｄを、マスク回路５４，５５に入力する。これにより、通信装置２と半導体記憶装置３との間での以後の通信が遮断される。
【００７３】
認証制御部５３，６３は、マイクロプロセッサ１１からリードコマンドが発行される度に、上記と同様の相互認証の処理を行う。次回の相互認証の処理では、認証制御部６３は、認証コード付きリードコマンドＣ１（Ｎ＋１）から抽出した認証コードＳ（Ｎ＋１）と、鍵生成部６１から入力されたセッション鍵Ｋ（Ｎ＋１）に基づいて生成した認証コードＳ（Ｎ＋１）とが一致するか否かによって、通信装置２の正当性を認証する。また、認証制御部５３は、認証コード付きコンテンツデータＴ１（Ｎ＋２）から抽出した認証コードＳ（Ｎ＋２）と、鍵生成部５１から入力されたセッション鍵Ｋ（Ｎ＋２）に基づいて生成した認証コードＳ（Ｎ＋２）とが一致するか否かによって、半導体記憶装置３の正当性を認証する。
【００７４】
＜第１の変形例＞
以上の説明では、通信装置２が半導体記憶装置３の正当性を認証する処理を、メモリコントローラ１２のハードウェア処理によって実行したが、マイクロプロセッサ１１のソフトウェア処理によって実行しても良い。
【００７５】
＜第２の変形例＞
以上の説明では、リードコマンドＣ０及びその応答値としてのコンテンツデータＴ０に認証コードＳをそれぞれ付加したが、ライトコマンドやイレースコマンド等の他のアクセスコマンドに認証コードＳを付加しても良い。
【００７６】
ライトコマンドに認証コードＳを付加する場合には、半導体記憶装置３は、通信装置２から受信したライトコマンドに付加されている認証コードＳと、自ら生成した認証コードＳとに基づいて、通信装置２の正当性を認証することができる。また、ライトコマンドに続いて送信されるステータスコマンドの応答値としてのステータス通知に認証コードＳを付加することにより、通信装置２は、半導体記憶装置３から受信したステータス通知に付加されている認証コードＳと、自ら生成した認証コードＳとに基づいて、半導体記憶装置３の正当性を認証することができる。
【００７７】
イレースコマンドに認証コードＳを付加する場合には、半導体記憶装置３は、通信装置２から受信したイレースコマンドに付加されている認証コードＳと、自ら生成した認証コードＳとに基づいて、通信装置２の正当性を認証することができる。また、イレースコマンドに続いて送信されるステータスコマンドの応答値としてのステータス通知に認証コードＳを付加することにより、通信装置２は、半導体記憶装置３から受信したステータス通知に付加されている認証コードＳと、自ら生成した認証コードＳとに基づいて、半導体記憶装置３の正当性を認証することができる。
【００７８】
＜まとめ＞
本実施の形態に係る情報処理システム１によれば、通信装置２は、リードコマンドＣ０に第１の認証コードＳ（Ｎ）を付加することによって認証コード付きリードコマンドＣ１（Ｎ）を生成し、当該認証コード付きリードコマンドＣ１（Ｎ）を半導体記憶装置３に送信する。また、半導体記憶装置３は、通信装置２から認証コード付きリードコマンドＣ１（Ｎ）を受信し、当該認証コード付きリードコマンドＣ１（Ｎ）に含まれる認証コードＳ（Ｎ）に基づいて、通信装置２を認証する。そして、通信装置２を正当と判定した場合には、認証コード付きリードコマンドＣ１（Ｎ）に含まれるリードコマンドＣ０に基づいて、メモリアレイ２２にアクセスする。このように、リードコマンドＣ０に認証コードＳ（Ｎ）を付加した認証コード付きリードコマンドＣ１（Ｎ）を用いることによって、半導体記憶装置３による通信装置２の認証と、メモリアレイ２２へのアクセスとを、共通の処理として実行することができる。その結果、通信装置２が半導体記憶装置３にリードコマンドを送信する前に、半導体記憶装置３が通信装置２を認証する処理を別個に実行する必要がなく、認証の処理に伴うオーバーヘッドを低減できるため、コンテンツデータＴ０にアクセスするまでの所要時間を短縮することが可能となる。
【００７９】
また、本実施の形態に係る情報処理システム１によれば、半導体記憶装置３は、コンテンツデータＴ０に第２の認証コードＳ（Ｎ＋１）を付加することによって認証コード付きコンテンツデータＴ１（Ｎ＋１）を生成し、当該認証コード付きコンテンツデータＴ１（Ｎ＋１）を通信装置２に送信する。そして、通信装置２は、半導体記憶装置３から認証コード付きコンテンツデータＴ１（Ｎ＋１）を受信し、当該認証コード付きコンテンツデータＴ１（Ｎ＋１）に含まれる認証コードＳ（Ｎ＋１）に基づいて、半導体記憶装置３を認証する。このように、コンテンツデータＴ０に認証コードＳ（Ｎ＋１）を付加した認証コード付きコンテンツデータＴ１（Ｎ＋１）を用いることによって、半導体記憶装置３から通信装置２へのコンテンツデータＴ０の送信と、通信装置２による半導体記憶装置３の認証とを、共通の処理として実行することができる。その結果、半導体記憶装置３が通信装置２にコンテンツデータを送信する前に、通信装置２が半導体記憶装置３を認証する処理を別個に実行する必要がなく、認証の処理に伴うオーバーヘッドを低減できるため、コンテンツデータＴ０にアクセスするまでの所要時間を短縮することが可能となる。
【００８０】
しかも、通信装置２から半導体記憶装置３への認証コード付きリードコマンドＣ１（Ｎ）の送信と、それに応答する半導体記憶装置３から通信装置２への認証コード付きコンテンツデータＴ１（Ｎ＋１）の送信との、一往復の通信によって、通信装置２と半導体記憶装置３との相互認証を行うことができる。その結果、通信装置及び半導体記憶装置それぞれからの往復通信（合計で二往復の通信）が必要となる一般的なチャレンジアンドレスポンス型の相互認証と比較すると、処理の高速化及び効率化を図ることが可能となる。
【００８１】
また、本実施の形態に係る情報処理システム１によれば、認証コード付きリードコマンドＣ１（Ｎ）の生成及び送信と、認証コード付きコンテンツデータＴ１（Ｎ＋１）の受信と、認証コードＳ（Ｎ＋１）に基づく半導体記憶装置３の認証とは、メモリコントローラ１２が実行する。また、認証コード付きリードコマンドＣ１（Ｎ）の受信と、認証コードＳ（Ｎ）に基づく通信装置２の認証と、認証コード付きコンテンツデータＴ１（Ｎ＋１）の生成及び送信とは、メモリコントローラ２１が実行する。このように、通信装置２と半導体記憶装置３との相互認証において、マイクロプロセッサ１１が実行する処理はリードコマンドＣ０の発行だけであり、認証コード付きリードコマンドＣ１（Ｎ）及び認証コード付きコンテンツデータＴ１（Ｎ＋１）の生成や、認証コードＳ（Ｎ），Ｓ（Ｎ＋１）に基づく認証等の本質的な処理は、メモリコントローラ１２とメモリコントローラ２１との間で実行される。従って、プログラム解析等によってマイクロプロセッサ１１の制御を改変するような攻撃を受けた場合であっても、メモリコントローラ１２及びメモリコントローラ２１によるハードウェア処理の内容が解析及び改変されない限り、攻撃者によって相互認証の処理が回避されることはない。その結果、マイクロプロセッサ１１の制御を改変するような攻撃を受けた場合であっても、半導体記憶装置３からコンテンツデータＴ０が不正に読み出されることを防止することが可能となる。
【００８２】
また、本実施の形態に係る情報処理システム１によれば、メモリコントローラ２１は、通信装置２を不正と判定した場合には、リードコマンドＣ０に基づくメモリアレイ２２へのアクセスを行わない。従って、不正な通信装置２から半導体記憶装置３にリードコマンドが送信された場合等であっても、メモリコントローラ２１はメモリアレイ２２からのコンテンツデータＴ０の読み出しを実行しない。その結果、半導体記憶装置３からコンテンツデータＴ０が不正に読み出されること等を防止することが可能となる。
【００８３】
また、本実施の形態に係る情報処理システム１によれば、メモリコントローラ２１は、通信装置２を不正と判定した場合には、以後にメモリコントローラ１２から送信されるアクセスコマンドを受信しない。従って、不正な通信装置２から半導体記憶装置３にリードコマンドが送信された場合等であっても、メモリコントローラ２１は当該リードコマンドを受信しない。その結果、半導体記憶装置３からコンテンツデータＴ０が不正に読み出されること等を防止することが可能となる。
【００８４】
また、本実施の形態に係る情報処理システム１において、図７に示した第１の例によれば、メモリコントローラ１２は、半導体記憶装置３が正当であるか不正であるかに拘わらず、認証コード付きコンテンツデータＴ１（Ｎ＋１）に含まれるコンテンツデータＴ０をマイクロプロセッサ１１に入力する。従って、半導体記憶装置３を認証する処理の完了を待つことなく、受信したコンテンツデータＴ０を早期にマイクロプロセッサ１１に入力することが可能となる。また、マイクロプロセッサ１１は、半導体記憶装置３を不正と判定した場合には、半導体記憶装置３が不正である旨の通知をマイクロプロセッサ１１に入力する。従って、マイクロプロセッサ１１は、メモリコントローラ１２から入力されたコンテンツデータＴ０を破棄又は無効化する等の処理を実行することが可能となる。
【００８５】
また、本実施の形態に係る情報処理システム１において、図８に示した第２の例によれば、メモリコントローラ１２は、半導体記憶装置３を不正と判定した場合には、認証コード付きコンテンツデータＴ１（Ｎ＋１）に含まれるコンテンツデータＴ０をマイクロプロセッサ１１に入力しない。従って、不正な半導体記憶装置３から読み出されたコンテンツデータＴ０がマイクロプロセッサ１１に入力されること等を防止することが可能となる。
【００８６】
また、本実施の形態に係る情報処理システム１によれば、メモリコントローラ１２は、半導体記憶装置３を不正と判定した場合には、メモリコントローラ１２とメモリコントローラ２１との間での以後の通信を遮断する。従って、通信装置２から不正な半導体記憶装置３にアクセスコマンドが送信されることや、不正な半導体記憶装置３から通信装置２にコンテンツデータが送信されること等が回避される。その結果、半導体記憶装置３からコンテンツデータＴ０が不正に読み出されること等を防止することが可能となる。
【００８７】
また、本実施の形態に係る情報処理システム１によれば、認証制御部６３は、認証コード付きリードコマンドＣ１（Ｎ）に含まれる認証コードＳ（Ｎ）と、鍵生成部６１が生成したセッション鍵Ｋ（Ｎ）に基づいて生成した認証コードＳ（Ｎ）とが一致するか否かによって、通信装置２を認証する。通信装置２が不正である場合には、認証コード付きアクセスコマンドＣ１（Ｎ）に含まれる認証コードＳ（Ｎ）と、セッション鍵Ｋ（Ｎ）に基づいて生成した認証コードＳ（Ｎ）とは一致しない。従って、通信装置２が不正であることを、確実に検出することが可能となる。また、認証制御部５３は、認証コード付きコンテンツデータＴ１（Ｎ＋１）に含まれる認証コードＳ（Ｎ＋１）と、鍵生成部５１が生成したセッション鍵Ｋ（Ｎ＋１）に基づいて生成した認証コードＳ（Ｎ＋１）とが一致するか否かによって、半導体記憶装置３を認証する。半導体記憶装置３が不正である場合には、認証コード付きコンテンツデータＴ１（Ｎ＋１）に含まれる認証コードＳ（Ｎ＋１）と、セッション鍵Ｋ（Ｎ＋１）に基づいて生成した認証コードＳ（Ｎ＋１）とは一致しない。従って、半導体記憶装置３が不正であることを、確実に検出することが可能となる。
【００８８】
また、本実施の形態に係る情報処理システム１によれば、認証制御部５３は、鍵生成部５１が生成したセッション鍵Ｋ（Ｎ）のビット長が許容認証コード長を超える場合には、セッション鍵Ｋ（Ｎ）を圧縮することにより認証コードＳ（Ｎ）を生成する。また、認証制御部６３は、鍵生成部６１が生成したセッション鍵Ｋ（Ｎ＋１）のビット長が許容認証コード長を超える場合には、セッション鍵Ｋ（Ｎ＋１）を圧縮することにより認証コードＳ（Ｎ＋１）を生成する。従って、セッション鍵Ｋ（Ｎ），Ｋ（Ｎ＋１）の各ビット長が許容認証コード長を超える場合であっても、セッション鍵Ｋ（Ｎ），Ｋ（Ｎ＋１）を圧縮することによって、許容認証コード長に収まる認証コードＳ（Ｎ），Ｓ（Ｎ＋１）を生成することが可能となる。
【００８９】
また、本実施の形態に係る情報処理システム１によれば、鍵生成部５１，６１は、認証の処理毎に異なるセッション鍵Ｋをそれぞれ生成する。その結果、認証制御部５３，６３が生成する認証コードＳは認証の処理毎に変更されるため、セキュリティ強度を向上することが可能となる。
【００９０】
また、本実施の形態に係る情報処理システム１によれば、メモリコントローラ１２からメモリコントローラ２１に送信される認証コード付きリードコマンドＣ１（Ｎ）に含まれる認証コードＳ（Ｎ）と、当該リードコマンドに応答してメモリコントローラ２１からメモリコントローラ１２に送信される認証コード付きコンテンツデータＴ１（Ｎ＋１）に含まれる認証コードＳ（Ｎ＋１）とは、互いに異なる。つまり、通信装置２が半導体記憶装置３に送信する認証コードＳ（Ｎ）と、通信装置２が半導体記憶装置３から受信する認証コードＳ（Ｎ＋１）とは、互いに異なる。このように、送信時と受信時とで認証コードＳを異ならせることにより、セキュリティ強度を向上することが可能となる。
【００９１】
また、本実施の形態に係る情報処理システム１によれば、認証制御部６３は、通信装置２を認証する際に使用したセッション鍵Ｋ（Ｎ）の次に生成した更新後のセッション鍵Ｋ（Ｎ＋１）に基づいて、認証コードＳ（Ｎ＋１）を生成する。これにより、半導体記憶装置３から通信装置２に送信する認証コードＳ（Ｎ＋１）を、通信装置２から半導体記憶装置３に送信する認証コードＳ（Ｎ）から簡易かつ確実に変更することが可能となる。また、認証制御部５３は、鍵生成部６１が生成した更新後のセッション鍵Ｋ（Ｎ＋１）に基づいて生成された更新後の第２の認証コードＳ（Ｎ＋１）と、鍵生成部５１が生成した更新後のセッション鍵Ｋ（Ｎ＋１）に基づいて生成された更新後の第１の認証コードＳ（Ｎ＋１）とが一致するか否かによって、半導体記憶装置３を認証する。半導体記憶装置３が正当である場合には、更新後の第２の認証コードＳ（Ｎ＋１）は更新後の第１の認証コードＳ（Ｎ＋１）に一致しており、一方、半導体記憶装置３が不正である場合には、更新後の第２の認証コードＳ（Ｎ＋１）は更新後の第１の認証コードＳ（Ｎ＋１）に一致していない。従って、更新後の第２の認証コードＳ（Ｎ＋１）が更新後の第１の認証コードＳ（Ｎ＋１）に一致するか否かを確認することによって、半導体記憶装置３が正当であるか不正であるかを簡易かつ確実に判定することが可能となる。
【符号の説明】
【００９２】
１  情報処理システム
２  通信装置
３  半導体記憶装置
１１  マイクロプロセッサ
１２  メモリコントローラ
２１  メモリコントローラ
２２  メモリアレイ
５１  鍵生成部
５２  暗号化・復号部
５３  認証制御部
６１  鍵生成部
６２  暗号化・復号部
６３  認証制御部
【図１】
2015018441.tif 000003
【図２】
2015018441.tif 000004
【図３】
2015018441.tif 000005
【図４】
2015018441.tif 000006
【図５】
2015018441.tif 000007
【図６】
2015018441.tif 000008
【図７】
2015018441.tif 000009
【図８】
2015018441.tif 000010