特許第6069120号(P6069120)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 株式会社メガチップスの特許一覧

<>
  • 特許6069120-情報処理システム 図000002
  • 特許6069120-情報処理システム 図000003
  • 特許6069120-情報処理システム 図000004
  • 特許6069120-情報処理システム 図000005
  • 特許6069120-情報処理システム 図000006
  • 特許6069120-情報処理システム 図000007
  • 特許6069120-情報処理システム 図000008
  • 特許6069120-情報処理システム 図000009
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6069120
(24)【登録日】2017年1月6日
(45)【発行日】2017年2月1日
(54)【発明の名称】情報処理システム
(51)【国際特許分類】
   G06F 21/44 20130101AFI20170123BHJP
   G06F 21/62 20130101ALI20170123BHJP
【FI】
   G06F21/44 350
   G06F21/62 318
【請求項の数】13
【全頁数】19
(21)【出願番号】特願2013-145683(P2013-145683)
(22)【出願日】2013年7月11日
(65)【公開番号】特開2015-18441(P2015-18441A)
(43)【公開日】2015年1月29日
【審査請求日】2016年3月29日
(73)【特許権者】
【識別番号】591128453
【氏名又は名称】株式会社メガチップス
(74)【代理人】
【識別番号】100136353
【弁理士】
【氏名又は名称】高尾 建吾
(72)【発明者】
【氏名】菅原 崇彦
【審査官】 岸野 徹
(56)【参考文献】
【文献】 特開2013−45201(JP,A)
【文献】 特開2005−204093(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 21/44
G06F 21/62
(57)【特許請求の範囲】
【請求項1】
通信装置と、
前記通信装置に接続され、コンテンツデータが記憶された記憶部を有する記憶装置と、
を備える情報処理システムであって、
前記通信装置は、
前記記憶部にアクセスするためのアクセスコマンドに、前記記憶装置に前記通信装置を認証させるための第1の認証コードを付加することによって、認証コード付きアクセスコマンドを生成し、
前記認証コード付きアクセスコマンドを前記記憶装置に送信し、
前記記憶装置は、
前記通信装置から前記認証コード付きアクセスコマンドを受信し、
前記認証コード付きアクセスコマンドに含まれる前記第1の認証コードに基づいて、前記通信装置を認証し、
前記通信装置を正当と判定した場合には、前記認証コード付きアクセスコマンドに含まれる前記アクセスコマンドに基づいて、前記記憶部にアクセスする、情報処理システム。
【請求項2】
前記記憶装置は、前記通信装置を正当と判定した場合にはさらに、
前記アクセスコマンドに応答して前記通信装置に送信するコンテンツデータに、前記通信装置に前記記憶装置を認証させるための第2の認証コードを付加することによって、認証コード付きコンテンツデータを生成し、
前記認証コード付きコンテンツデータを前記通信装置に送信し、
前記通信装置は、
前記記憶装置から前記認証コード付きコンテンツデータを受信し、
前記認証コード付きコンテンツデータに含まれる前記第2の認証コードに基づいて、前記記憶装置を認証する、請求項1に記載の情報処理システム。
【請求項3】
前記通信装置は、
ソフトウェア処理によって前記情報処理システムを制御する主制御部と、
前記主制御部とは別に実装され、ハードウェア処理によって前記記憶装置を制御する第1の制御回路と、
を有し、
前記記憶装置は、
前記記憶部を制御する第2の制御回路
をさらに有し、
前記アクセスコマンドの発行は、前記主制御部が実行し、
前記認証コード付きアクセスコマンドの生成及び送信と、前記認証コード付きコンテンツデータの受信と、前記第2の認証コードに基づく前記記憶装置の認証とは、前記第1の制御回路が実行し、
前記認証コード付きアクセスコマンドの受信と、前記第1の認証コードに基づく前記通信装置の認証と、前記認証コード付きコンテンツデータの生成及び送信とは、前記第2の制御回路が実行する、請求項2に記載の情報処理システム。
【請求項4】
前記第2の制御回路は、前記通信装置を不正と判定した場合には、前記アクセスコマンドに基づく前記記憶部へのアクセスを行わない、請求項3に記載の情報処理システム。
【請求項5】
前記第2の制御回路はさらに、前記通信装置を不正と判定した場合には、以後に前記第1の制御回路から送信されるアクセスコマンドを受信しない、請求項4に記載の情報処理システム。
【請求項6】
前記第1の制御回路は、前記認証コード付きコンテンツデータに含まれるコンテンツデータを前記主制御部に入力し、前記記憶装置を不正と判定した場合には、前記記憶装置が不正である旨の通知を前記主制御部に入力する、請求項3〜5のいずれか一つに記載の情報処理システム。
【請求項7】
前記第1の制御回路は、前記記憶装置を不正と判定した場合には、前記認証コード付きコンテンツデータに含まれるコンテンツデータを前記主制御部に入力しない、請求項3〜5のいずれか一つに記載の情報処理システム。
【請求項8】
前記第1の制御回路はさらに、前記記憶装置を不正と判定した場合には、前記第1の制御回路と前記第2の制御回路との間での以後の通信を遮断する、請求項6又は7に記載の情報処理システム。
【請求項9】
前記第1の制御回路は、
第1の数列を生成する第1の数列生成部と、
前記第1の数列に基づいて前記第1の認証コードを生成する第1の認証制御部と、
を含み、
前記第2の制御回路は、
前記第1の数列と同一の第2の数列を生成する第2の数列生成部と、
前記第2の数列に基づいて前記第2の認証コードを生成する第2の認証制御部と、
を含み、
前記第2の認証制御部は、前記認証コード付きアクセスコマンドに含まれる前記第1の認証コードと、前記第2の数列に基づいて生成した前記第2の認証コードとが一致するか否かによって、前記通信装置を認証し、
前記第1の認証制御部は、前記認証コード付きコンテンツデータに含まれる前記第2の認証コードと、前記第1の数列に基づいて生成した前記第1の認証コードとが一致するか否かによって、前記記憶装置を認証する、請求項3〜8のいずれか一つに記載の情報処理システム。
【請求項10】
前記第1の認証制御部は、前記第1の数列を圧縮することにより、前記第1の認証コードを生成し、
前記第2の認証制御部は、前記第2の数列を圧縮することにより、前記第2の認証コードを生成する、請求項9に記載の情報処理システム。
【請求項11】
前記第1の数列生成部及び前記第2の数列生成部は、認証の処理毎に異なる前記第1の数列及び前記第2の数列をそれぞれ生成する、請求項9又は10に記載の情報処理システム。
【請求項12】
前記第1の制御回路から前記第2の制御回路に送信される前記認証コード付きアクセスコマンドに含まれる前記第1の認証コードと、当該アクセスコマンドに応答して前記第2の制御回路から前記第1の制御回路に送信される前記認証コード付きコンテンツデータに含まれる前記第2の認証コードとは、互いに異なる、請求項9〜11のいずれか一つに記載の情報処理システム。
【請求項13】
前記第2の認証制御部は、前記通信装置を認証する際に使用した前記第2の数列の次に生成した更新後の第2の数列に基づいて、前記第2の認証コードを生成し、
前記第1の認証制御部は、当該第2の認証コードと、前記第1の認証コードを生成する際に使用した前記第1の数列の次に生成された更新後の第1の数列に基づいて生成した更新後の第1の認証コードとが一致するか否かによって、前記記憶装置を認証する、請求項12に記載の情報処理システム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、通信装置と記憶装置とを備える情報処理システムに関する。
【背景技術】
【0002】
通信装置とそれに接続される半導体記憶装置とを備える情報処理システムにおいては、半導体記憶装置に記憶されたコンテンツデータが不正に読み出されることを防止すべく、コンテンツデータへのアクセスを許可する前に、通信装置と半導体記憶装置とが相互に正当性を認証し合う技術(相互認証技術)が実用化されている。
【0003】
一般的なチャレンジアンドレスポンス型の相互認証では、通信装置は、相互認証の実行を指示するための認証コマンドを発行する。通信装置は、認証コマンドに基づいて第1の認証コードを生成し、当該第1の認証コードを暗号化して半導体記憶装置に送信する。半導体記憶装置は、受信した第1の認証コードを復号した後、当該第1の認証コードを再び暗号化して通信装置に送信する。通信装置は、受信した第1の認証コードを復号した後、半導体記憶装置に送信した第1の認証コードと、半導体記憶装置から受信した第1の認証コードとが一致するか否かによって、半導体記憶装置の正当性を認証する。また、通信装置が半導体記憶装置の正当性を認証した後、半導体記憶装置は、第2の認証コードを生成し、当該第2の認証コードを暗号化して通信装置に送信する。通信装置は、受信した第2の認証コードを復号した後、当該第2の認証コードを再び暗号化して半導体記憶装置に送信する。半導体記憶装置は、受信した第2の認証コードを復号した後、通信装置に送信した第2の認証コードと、通信装置から受信した第2の認証コードとが一致するか否かによって、通信装置の正当性を認証する。以上の処理によって通信装置及び半導体記憶装置の正当性が相互に認証された場合に、通信装置は、コンテンツデータにアクセスするためのアクセスコマンドを発行する。
【0004】
なお、下記特許文献1には、複数の相互認証手続を準備しておき、CPUが複数の相互認証手続の中から一の相互認証手続を選択することにより、その選択した相互認証手続をCPUが実行する情報処理装置が開示されている。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開2000−349751号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
上述した一般的なチャレンジアンドレスポンス型の相互認証によると、アクセスコマンドを発行する前に認証コマンドが発行され、当該認証コマンドに基づいて、通信装置から半導体記憶装置への第1の認証コードの送信及びその応答値の受信と、半導体記憶装置から通信装置への第2の認証コードの送信及びその応答値の受信とが、順に行われる。そして、通信装置及び半導体記憶装置の正当性が相互に認証された場合に、アクセスコマンドが発行される。従って、相互認証の処理に伴うオーバーヘッドが大きいため、コンテンツデータにアクセスするまでの所要時間が長くなる。
【0007】
本発明はかかる事情に鑑みて成されたものであり、認証の処理に伴うオーバーヘッドを低減することにより、コンテンツデータにアクセスするまでの所要時間を短縮することが可能な、情報処理システムを得ることを目的とするものである。
【課題を解決するための手段】
【0008】
本発明の第1の態様に係る情報処理システムは、通信装置と、前記通信装置に接続され、コンテンツデータが記憶された記憶部を有する記憶装置と、を備える情報処理システムであって、前記通信装置は、前記記憶部にアクセスするためのアクセスコマンドに、前記記憶装置に前記通信装置を認証させるための第1の認証コードを付加することによって、認証コード付きアクセスコマンドを生成し、前記認証コード付きアクセスコマンドを前記記憶装置に送信し、前記記憶装置は、前記通信装置から前記認証コード付きアクセスコマンドを受信し、前記認証コード付きアクセスコマンドに含まれる前記第1の認証コードに基づいて、前記通信装置を認証し、前記通信装置を正当と判定した場合には、前記認証コード付きアクセスコマンドに含まれる前記アクセスコマンドに基づいて、前記記憶部にアクセスすることを特徴とするものである。
【0009】
第1の態様に係る情報処理システムによれば、通信装置は、アクセスコマンドに第1の認証コードを付加することによって認証コード付きアクセスコマンドを生成し、当該認証コード付きアクセスコマンドを記憶装置に送信する。また、記憶装置は、通信装置から認証コード付きアクセスコマンドを受信し、当該認証コード付きアクセスコマンドに含まれる第1の認証コードに基づいて、通信装置を認証する。そして、通信装置を正当と判定した場合には、認証コード付きアクセスコマンドに含まれるアクセスコマンドに基づいて、記憶部にアクセスする。このように、アクセスコマンドに第1の認証コードを付加した認証コード付きアクセスコマンドを用いることによって、記憶装置による通信装置の認証と、記憶部へのアクセスとを、共通の処理として実行することができる。その結果、通信装置が記憶装置にアクセスコマンドを送信する前に、記憶装置が通信装置を認証する処理を別個に実行する必要がなく、認証の処理に伴うオーバーヘッドを低減できるため、コンテンツデータにアクセスするまでの所要時間を短縮することが可能となる。
【0010】
本発明の第2の態様に係る情報処理システムは、第1の態様に係る情報処理システムにおいて特に、前記記憶装置は、前記通信装置を正当と判定した場合にはさらに、前記アクセスコマンドに応答して前記通信装置に送信するコンテンツデータに、前記通信装置に前記記憶装置を認証させるための第2の認証コードを付加することによって、認証コード付きコンテンツデータを生成し、前記認証コード付きコンテンツデータを前記通信装置に送信し、前記通信装置は、前記記憶装置から前記認証コード付きコンテンツデータを受信し、前記認証コード付きコンテンツデータに含まれる前記第2の認証コードに基づいて、前記記憶装置を認証することを特徴とするものである。
【0011】
第2の態様に係る情報処理システムによれば、記憶装置は、コンテンツデータに第2の認証コードを付加することによって認証コード付きコンテンツデータを生成し、当該認証コード付きコンテンツデータを通信装置に送信する。そして、通信装置は、記憶装置から認証コード付きコンテンツデータを受信し、当該認証コード付きコンテンツデータに含まれる第2の認証コードに基づいて、記憶装置を認証する。このように、コンテンツデータに第2の認証コードを付加した認証コード付きコンテンツデータを用いることによって、記憶装置から通信装置へのコンテンツデータの送信と、通信装置による記憶装置の認証とを、共通の処理として実行することができる。その結果、記憶装置が通信装置にコンテンツデータを送信する前に、通信装置が記憶装置を認証する処理を別個に実行する必要がなく、認証の処理に伴うオーバーヘッドを低減できるため、コンテンツデータにアクセスするまでの所要時間を短縮することが可能となる。
【0012】
しかも、通信装置から記憶装置への認証コード付きアクセスコマンドの送信と、それに応答する記憶装置から通信装置への認証コード付きコンテンツデータの送信との、一往復の通信によって、通信装置と記憶装置との相互認証を行うことができる。その結果、通信装置及び記憶装置それぞれからの往復通信(合計で二往復の通信)が必要となる一般的なチャレンジアンドレスポンス型の相互認証と比較すると、処理の高速化及び効率化を図ることが可能となる。
【0013】
本発明の第3の態様に係る情報処理システムは、第2の態様に係る情報処理システムにおいて特に、前記通信装置は、ソフトウェア処理によって前記情報処理システムを制御する主制御部と、前記主制御部とは別に実装され、ハードウェア処理によって前記記憶装置を制御する第1の制御回路と、を有し、前記記憶装置は、前記記憶部を制御する第2の制御回路をさらに有し、前記アクセスコマンドの発行は、前記主制御部が実行し、前記認証コード付きアクセスコマンドの生成及び送信と、前記認証コード付きコンテンツデータの受信と、前記第2の認証コードに基づく前記記憶装置の認証とは、前記第1の制御回路が実行し、前記認証コード付きアクセスコマンドの受信と、前記第1の認証コードに基づく前記通信装置の認証と、前記認証コード付きコンテンツデータの生成及び送信とは、前記第2の制御回路が実行することを特徴とするものである。
【0014】
第3の態様に係る情報処理システムによれば、認証コード付きアクセスコマンドの生成及び送信と、認証コード付きコンテンツデータの受信と、第2の認証コードに基づく記憶装置の認証とは、第1の制御回路が実行する。また、認証コード付きアクセスコマンドの受信と、第1の認証コードに基づく通信装置の認証と、認証コード付きコンテンツデータの生成及び送信とは、第2の制御回路が実行する。このように、通信装置と記憶装置との相互認証において、主制御部が実行する処理はアクセスコマンドの発行だけであり、認証コード付きアクセスコマンド及び認証コード付きコンテンツデータの生成や、認証コードに基づく認証等の本質的な処理は、第1の制御回路と第2の制御回路との間で実行される。従って、プログラム解析等によって主制御部の制御を改変するような攻撃を受けた場合であっても、第1の制御回路及び第2の制御回路によるハードウェア処理の内容が解析及び改変されない限り、攻撃者によって相互認証の処理が回避されることはない。その結果、主制御部の制御を改変するような攻撃を受けた場合であっても、記憶装置からコンテンツデータが不正に読み出されることを防止することが可能となる。
【0015】
本発明の第4の態様に係る情報処理システムは、第3の態様に係る情報処理システムにおいて特に、前記第2の制御回路は、前記通信装置を不正と判定した場合には、前記アクセスコマンドに基づく前記記憶部へのアクセスを行わないことを特徴とするものである。
【0016】
第4の態様に係る情報処理システムによれば、第2の制御回路は、通信装置を不正と判定した場合には、アクセスコマンドに基づく記憶部へのアクセスを行わない。従って、不正な通信装置から記憶装置にリードコマンドが送信された場合等であっても、第2の制御回路は記憶部からのコンテンツデータの読み出しを実行しない。その結果、記憶装置からコンテンツデータが不正に読み出されること等を防止することが可能となる。
【0017】
本発明の第5の態様に係る情報処理システムは、第4の態様に係る情報処理システムにおいて特に、前記第2の制御回路はさらに、前記通信装置を不正と判定した場合には、以後に前記第1の制御回路から送信されるアクセスコマンドを受信しないことを特徴とするものである。
【0018】
第5の態様に係る情報処理システムによれば、第2の制御回路は、通信装置を不正と判定した場合には、以後に第1の制御回路から送信されるアクセスコマンドを受信しない。従って、不正な通信装置から記憶装置にリードコマンドが送信された場合等であっても、第2の制御回路は当該リードコマンドを受信しない。その結果、記憶装置からコンテンツデータが不正に読み出されること等を防止することが可能となる。
【0019】
本発明の第6の態様に係る情報処理システムは、第3〜第5のいずれか一つの態様に係る情報処理システムにおいて特に、前記第1の制御回路は、前記認証コード付きコンテンツデータに含まれるコンテンツデータを前記主制御部に入力し、前記記憶装置を不正と判定した場合には、前記記憶装置が不正である旨の通知を前記主制御部に入力することを特徴とするものである。
【0020】
第6の態様に係る情報処理システムによれば、第1の制御回路は、記憶装置が正当であるか不正であるかに拘わらず、認証コード付きコンテンツデータに含まれるコンテンツデータを主制御部に入力する。従って、記憶装置を認証する処理の完了を待つことなく、受信したコンテンツデータを早期に主制御部に入力することが可能となる。また、第1の制御回路は、記憶装置を不正と判定した場合には、記憶装置が不正である旨の通知を主制御部に入力する。従って、主制御部は、第1の制御回路から入力されたコンテンツデータを破棄又は無効化する等の処理を実行することが可能となる。
【0021】
本発明の第7の態様に係る情報処理システムは、第3〜第5のいずれか一つの態様に係る情報処理システムにおいて特に、前記第1の制御回路は、前記記憶装置を不正と判定した場合には、前記認証コード付きコンテンツデータに含まれるコンテンツデータを前記主制御部に入力しないことを特徴とするものである。
【0022】
第7の態様に係る情報処理システムによれば、第1の制御回路は、記憶装置を不正と判定した場合には、認証コード付きコンテンツデータに含まれるコンテンツデータを主制御部に入力しない。従って、不正な記憶装置から読み出されたコンテンツデータが主制御部に入力されること等を防止することが可能となる。
【0023】
本発明の第8の態様に係る情報処理システムは、第6又は第7の態様に係る情報処理システムにおいて特に、前記第1の制御回路はさらに、前記記憶装置を不正と判定した場合には、前記第1の制御回路と前記第2の制御回路との間での以後の通信を遮断することを特徴とするものである。
【0024】
第8の態様に係る情報処理システムによれば、第1の制御回路は、記憶装置を不正と判定した場合には、第1の制御回路と第2の制御回路との間での以後の通信を遮断する。従って、通信装置から不正な記憶装置にアクセスコマンドが送信されることや、不正な記憶装置から通信装置にコンテンツデータが送信されること等が回避される。その結果、記憶装置からコンテンツデータが不正に読み出されること等を防止することが可能となる。
【0025】
本発明の第9の態様に係る情報処理システムは、第3〜第8のいずれか一つの態様に係る情報処理システムにおいて特に、前記第1の制御回路は、第1の数列を生成する第1の数列生成部と、前記第1の数列に基づいて前記第1の認証コードを生成する第1の認証制御部と、を含み、前記第2の制御回路は、前記第1の数列と同一の第2の数列を生成する第2の数列生成部と、前記第2の数列に基づいて前記第2の認証コードを生成する第2の認証制御部と、を含み、前記第2の認証制御部は、前記認証コード付きアクセスコマンドに含まれる前記第1の認証コードと、前記第2の数列に基づいて生成した前記第2の認証コードとが一致するか否かによって、前記通信装置を認証し、前記第1の認証制御部は、前記認証コード付きデータに含まれる前記第2の認証コードと、前記第1の数列に基づいて生成した前記第1の認証コードとが一致するか否かによって、前記記憶装置を認証することを特徴とするものである。
【0026】
第9の態様に係る情報処理システムによれば、第2の認証制御部は、認証コード付きアクセスコマンドに含まれる第1の認証コードと、第2の数列に基づいて生成した第2の認証コードとが一致するか否かによって、通信装置を認証する。通信装置が不正である場合には、認証コード付きアクセスコマンドに含まれる第1の認証コードと、第2の数列に基づいて生成した第2の認証コードとは一致しない。従って、通信装置が不正であることを、確実に検出することが可能となる。また、第1の認証制御部は、認証コード付きコンテンツデータに含まれる第2の認証コードと、第1の数列に基づいて生成した第1の認証コードとが一致するか否かによって、記憶装置を認証する。記憶装置が不正である場合には、認証コード付きコンテンツデータに含まれる第2の認証コードと、第1の数列に基づいて生成した第1の認証コードとは一致しない。従って、記憶装置が不正であることを、確実に検出することが可能となる。
【0027】
本発明の第10の態様に係る情報処理システムは、第9の態様に係る情報処理システムにおいて特に、前記第1の認証制御部は、前記第1の数列を圧縮することにより、前記第1の認証コードを生成し、前記第2の認証制御部は、前記第2の数列を圧縮することにより、前記第2の認証コードを生成することを特徴とするものである。
【0028】
第10の態様に係る情報処理システムによれば、第1の認証制御部は、第1の数列を圧縮することにより第1の認証コードを生成し、第2の認証制御部は、第2の数列を圧縮することにより第2の認証コードを生成する。従って、第1の数列及び第2の数列の各ビット長が許容認証コード長を超える場合であっても、第1の数列及び第2の数列を圧縮することによって、許容認証コード長に収まる第1の認証コード及び第2の認証コードを生成することが可能となる。
【0029】
本発明の第11の態様に係る情報処理システムは、第9又は第10の態様に係る情報処理システムにおいて特に、前記第1の数列生成部及び前記第2の数列生成部は、認証の処理毎に異なる前記第1の数列及び前記第2の数列をそれぞれ生成することを特徴とするものである。
【0030】
第11の態様に係る情報処理システムによれば、第1の数列生成部及び第2の数列生成部は、認証の処理毎に異なる第1の数列及び第2の数列をそれぞれ生成する。その結果、第1の認証コード及び第2の認証コードは認証の処理毎に変更されるため、セキュリティ強度を向上することが可能となる。
【0031】
本発明の第12の態様に係る情報処理システムは、第9〜第11のいずれか一つの態様に係る情報処理システムにおいて特に、前記第1の制御回路から前記第2の制御回路に送信される前記認証コード付きアクセスコマンドに含まれる前記第1の認証コードと、当該アクセスコマンドに応答して前記第2の制御回路から前記第1の制御回路に送信される前記認証コード付きコンテンツデータに含まれる前記第2の認証コードとは、互いに異なることを特徴とするものである。
【0032】
第12の態様に係る情報処理システムによれば、第1の制御回路から第2の制御回路に送信される認証コード付きアクセスコマンドに含まれる第1の認証コードと、当該アクセスコマンドに応答して第2の制御回路から第1の制御回路に送信される認証コード付きコンテンツデータに含まれる第2の認証コードとは、互いに異なる。つまり、通信装置が記憶装置に送信する第1の認証コードと、通信装置が記憶装置から受信する第2の認証コードとは、互いに異なる。このように、送信時と受信時とで認証コードを異ならせることにより、セキュリティ強度を向上することが可能となる。
【0033】
本発明の第13の態様に係る情報処理システムは、第12の態様に係る情報処理システムにおいて特に、前記第2の認証制御部は、前記通信装置を認証する際に使用した前記第2の数列の次に生成した更新後の第2の数列に基づいて、前記第2の認証コードを生成し、前記第1の認証制御部は、当該第2の認証コードと、前記第1の認証コードを生成する際に使用した前記第1の数列の次に生成された更新後の第1の数列に基づいて生成した更新後の第1の認証コードとが一致するか否かによって、前記記憶装置を認証することを特徴とするものである。
【0034】
第13の態様に係る情報処理システムによれば、第2の認証制御部は、通信装置を認証する際に使用した第2の数列の次に生成した更新後の第2の数列に基づいて、第2の認証コードを生成する。これにより、記憶装置から通信装置に送信する第2の認証コードを、通信装置から記憶装置に送信する第1の認証コードから簡易かつ確実に変更することが可能となる。また、第1の認証制御部は、更新後の第2の数列に基づいて生成した更新後の第2の認証コードと、更新後の第1の数列に基づいて生成した更新後の第1の認証コードとが一致するか否かによって、記憶装置を認証する。記憶装置が正当である場合には、更新後の第2の認証コードは更新後の第1の認証コードに一致しており、一方、記憶装置が不正である場合には、更新後の第2の認証コードは更新後の第1の認証コードに一致していない。従って、更新後の第2の認証コードが更新後の第1の認証コードに一致するか否かを確認することによって、記憶装置が正当であるか不正であるかを簡易かつ確実に判定することが可能となる。
【発明の効果】
【0035】
本発明によれば、認証の処理に伴うオーバーヘッドを低減することにより、コンテンツデータにアクセスするまでの所要時間を短縮することが可能となる。
【図面の簡単な説明】
【0036】
図1】本発明の実施の形態に係る情報処理システムの全体構成を概略的に示す図である。
図2】マイクロプロセッサの構成を示す図である。
図3】メモリコントローラの構成を示す図である。
図4】メモリコントローラの構成を示す図である。
図5】リードコマンドを示す図である。
図6】認証コード付きリードコマンドを示す図である。
図7】認証コード付きコンテンツデータの第1の例を示す図である。
図8】認証コード付きコンテンツデータの第2の例を示す図である。
【発明を実施するための形態】
【0037】
以下、本発明の実施の形態について、図面を用いて詳細に説明する。なお、異なる図面において同一の符号を付した要素は、同一又は相応する要素を示すものとする。
【0038】
図1は、本発明の実施の形態に係る情報処理システム1の全体構成を概略的に示す図である。情報処理システム1は、通信装置2と半導体記憶装置3とを備えて構成されている。通信装置2は、例えばパーソナルコンピュータである。半導体記憶装置3は、例えば、通信装置2に着脱自在に接続可能なメモリカードである。あるいは、半導体記憶装置3に代えて、光ディスクや磁気ディスク等の任意の記憶装置を用いることもできる。
【0039】
通信装置2は、ソフトウェア処理によって情報処理システム1を制御するメインシステムとしてのマイクロプロセッサ11(主制御部)と、マイクロプロセッサ11とは別に実装されたメモリコントローラ12(第1の制御回路)とを備えて構成されている。メモリコントローラ12は、ハードウェア処理によって半導体記憶装置3を制御する。
【0040】
半導体記憶装置3は、画像、音声、テキスト、コード、管理情報等の任意のコンテンツデータが記憶されたメモリアレイ22(記憶部)と、メモリアレイ22を制御するメモリコントローラ21(第2の制御回路)とを備えて構成されている。メモリアレイ22は、例えばNAND型フラッシュメモリを用いて構成されている。但し、この例に限定されるものではなく、メモリアレイ22はNOR型フラッシュメモリ等を用いて構成されていても良い。
【0041】
図2は、マイクロプロセッサ11の構成を示す図である。マイクロプロセッサ11は、バス47を介して相互に接続された、CPU41、演算器42、RAM43、ROM44、ブリッジ45、及びレジスタ46を備えて構成されている。
【0042】
図3は、メモリコントローラ12の構成を示す図である。図3の接続関係で示すように、メモリコントローラ12は、鍵生成部51(第1の数列生成部)、暗号化・復号部52、認証制御部53(第1の認証制御部)、及びマスク回路54,55を備えて構成されている。鍵生成部51は、機密性の高い固定値の共有鍵Pを用いて、所定の乱数生成アルゴリズムによってランダムな数列(以下の例ではセッション鍵K)を生成する。鍵生成部51は、メモリコントローラ12がマイクロプロセッサ11からアクセスコマンドを受領する度に、毎回異なるセッション鍵K(ナンス)を生成する。
【0043】
図4は、メモリコントローラ21の構成を示す図である。図4の接続関係で示すように、メモリコントローラ21は、鍵生成部61(第2の数列生成部)、暗号化・復号部62、及び認証制御部63(第2の認証制御部)を備えて構成されている。鍵生成部61は、鍵生成部51が保持している共有鍵Pと同一の共有鍵Pを用いて、鍵生成部51と同一の乱数生成アルゴリズムによって、鍵生成部51が生成するセッション鍵Kと同一のセッション鍵Kを生成する。鍵生成部61は、メモリコントローラ21がメモリコントローラ12から暗号化済み認証コード付きアクセスコマンドを受信する度に、毎回異なるセッション鍵Kを生成する。
【0044】
以下、図3,4を参照して、本実施の形態に係る情報処理システム1の動作について説明する。前提として、暗号化・復号部52,62は、鍵生成部51,61が前回生成したセッション鍵K(N−1)によって初期化されているものとする。また、以下の例では、通信装置2がメモリアレイ22にアクセスするためのアクセスコマンドとして、リードコマンドを使用する場合について説明する。
【0045】
まずマイクロプロセッサ11は、メモリアレイ22から所望のコンテンツデータを読み出すための所定バイト長のリードコマンドC0を発行する。図5は、リードコマンドC0を示す図である。リードコマンドC0は、それがリードコマンドであることを識別するための特定のコマンドIDと、メモリアレイ22内におけるコンテンツデータの格納場所を示すアドレスと、無意味なデータで埋められた未定義領域とを含む。
【0046】
図3を参照して、メモリコントローラ12は、マイクロプロセッサ11からリードコマンドC0を受領し、受領したリードコマンドC0を認証制御部53に入力する。
【0047】
次に鍵生成部51は、認証制御部53からの要求に従ってセッション鍵K(N)を生成する。セッション鍵K(N)は、暗号化・復号部52及び認証制御部53に入力される。
【0048】
次に認証制御部53は、セッション鍵K(N)に基づいて、半導体記憶装置3が通信装置2の正当性を認証するための認証コードS(N)を生成する。例えば、セッション鍵K(N)のビット長が所定の許容認証コード長以下である場合には、セッション鍵K(N)をそのまま認証コードS(N)として使用する。一方、セッション鍵K(N)のビット長が許容認証コード長を超える場合には、セッション鍵K(N)を圧縮することによって、許容認証コード長に収まる認証コードS(N)を生成する。一例として、許容認証コード長がリードコマンドC0の未定義領域のビット長(例えば32ビット)に設定されており、セッション鍵K(N)のビット長が128ビットである場合には、セッション鍵K(N)を、第127−96ビット、第95−64ビット、第63−32ビット、及び第31−0ビットの4つのビット群に分割し、先頭のビット群から順に次のビット群との間で排他的論理和演算を行う([127:96] ExOR [95:64] ExOR [63:32] ExOR [31:0])。これにより、128ビット長のセッション鍵K(N)から32ビット長の認証コードS(N)を生成する。
【0049】
次に認証制御部53は、リードコマンドC0に認証コードS(N)を付加することによって、認証コード付きリードコマンドC1(N)を生成する。図6は、認証コード付きリードコマンドC1(N)を示す図である。認証制御部53は、リードコマンドC0の未定義領域に含まれる無意味なデータを、認証コードS(N)に置き換えることにより、コマンドIDとアドレスと認証コードS(N)とを含む認証コード付きリードコマンドC1(N)を生成する。認証制御部53は、生成した認証コード付きリードコマンドC1(N)を暗号化・復号部52に入力する。
【0050】
次に暗号化・復号部52は、現在設定されているセッション鍵K(N−1)を用いて認証コード付きリードコマンドC1(N)を暗号化することにより、暗号化済み認証コード付きリードコマンドX(N)を生成する。そして、生成した暗号化済み認証コード付きリードコマンドX(N)を、メモリコントローラ21に送信する。
【0051】
次に認証制御部53は、鍵生成部51が今回生成したセッション鍵K(N)によって、暗号化・復号部52を初期化する。
【0052】
メモリコントローラ21は、メモリコントローラ12から受信した暗号化済み認証コード付きリードコマンドX(N)を、暗号化・復号部62に入力する。
【0053】
次に暗号化・復号部62は、現在設定されているセッション鍵K(N−1)を用いて暗号化済み認証コード付きリードコマンドX(N)を復号することにより、認証コード付きリードコマンドC1(N)を再生する。そして、再生した認証コード付きリードコマンドC1(N)を認証制御部63に入力する。
【0054】
次に認証制御部63は、認証コード付きリードコマンドC1(N)から、リードコマンドC0と認証コードS(N)とを抽出する。
【0055】
次に鍵生成部61は、認証制御部63からの要求に従ってセッション鍵K(N)を生成する。セッション鍵K(N)は、暗号化・復号部62及び認証制御部63に入力される。次に認証制御部63は、上述した認証制御部53と同様の処理によって、セッション鍵K(N)に基づいて認証コードS(N)を生成する。
【0056】
次に認証制御部63は、認証コード付きリードコマンドC1(N)から抽出した認証コードS(N)と、鍵生成部61から入力されたセッション鍵K(N)に基づいて生成した認証コードS(N)とを比較することにより、通信装置2の正当性を認証する。具体的には、両認証コードS(N)が一致する場合には通信装置2を正当と判定し、両認証コードS(N)が一致しない場合には通信装置2を不正と判定する。
【0057】
認証制御部63は、通信装置2を不正と判定した場合には、認証コード付きリードコマンドC1(N)から抽出したリードコマンドC0に基づくメモリアレイ22へのアクセスを行わない。つまり、メモリアレイ22からのコンテンツデータの読み出しを実行しない。
【0058】
また、認証制御部63は、通信装置2を不正と判定した場合には、暗号化・復号部62に対して通信装置2からの送信データの受信を禁止する。これにより、メモリコントローラ21は、以後に通信装置2から半導体記憶装置3に向けて送信されるアクセスコマンドを受信しない。
【0059】
一方、通信装置2を正当と判定した場合には、次に認証制御部63は、認証コード付きリードコマンドC1(N)から抽出したリードコマンドC0に基づいて、メモリアレイ22へのアクセスを行う。つまり、読み出しアドレスを示す制御信号Uによって、メモリアレイ22からコンテンツデータT0を読み出す。
【0060】
また、認証制御部63は、通信装置2を正当と判定した場合には、鍵生成部61が今回生成したセッション鍵K(N)によって、暗号化・復号部62を初期化する。
【0061】
次に鍵生成部61は、認証制御部63からの要求に従って、次回のセッション鍵K(N+1)を生成する。セッション鍵K(N+1)は、認証制御部63に入力される。
【0062】
次に認証制御部63は、鍵生成部61から入力されたセッション鍵K(N+1)に基づいて認証コードS(N+1)を生成する。認証制御部63は、上述した認証制御部53と同様に、セッション鍵K(N+1)のビット長が所定の許容認証コード長以下である場合には、セッション鍵K(N+1)をそのまま認証コードS(N+1)として使用する。一方、セッション鍵K(N+1)のビット長が許容認証コード長を超える場合には、セッション鍵K(N+1)を圧縮することによって、許容認証コード長に収まる認証コードS(N+1)を生成する。
【0063】
次に認証制御部63は、コンテンツデータT0に認証コードS(N+1)を付加することによって、認証コード付きコンテンツデータT1(N+1)を生成する。図7は、認証コード付きコンテンツデータT1(N+1)の第1の例を示す図である。認証制御部63は、コンテンツデータT0の末尾に認証コードS(N+1)を付加することにより、認証コード付きコンテンツデータT1(N+1)を生成する。図8は、認証コード付きコンテンツデータT1(N+1)の第2の例を示す図である。認証制御部63は、コンテンツデータT0の先頭に認証コードS(N+1)を付加することにより、認証コード付きコンテンツデータT1(N+1)を生成する。認証制御部63は、生成した認証コード付きコンテンツデータT1(N+1)を、暗号化・復号部62に入力する。
【0064】
次に暗号化・復号部62は、現在設定されているセッション鍵K(N)を用いて認証コード付きコンテンツデータT1(N+1)を暗号化することにより、暗号化済み認証コード付きコンテンツデータY(N+1)を生成する。そして、生成した暗号化済み認証コード付きコンテンツデータY(N+1)をメモリコントローラ12に送信する。
【0065】
メモリコントローラ12は、メモリコントローラ21から受信した暗号化済み認証コード付きコンテンツデータY(N+1)を、暗号化・復号部52に入力する。
【0066】
次に暗号化・復号部52は、現在設定されているセッション鍵K(N)を用いて暗号化済み認証コード付きコンテンツデータY(N+1)を復号することにより、認証コード付きコンテンツデータT1(N+1)を再生する。そして、再生した認証コード付きコンテンツデータT1(N+1)を認証制御部53に入力する。
【0067】
次に認証制御部53は、認証コード付きコンテンツデータT1(N+1)から、コンテンツデータT0と認証コードS(N+1)とを抽出する。
【0068】
次に鍵生成部51は、認証制御部53からの要求に従ってセッション鍵K(N+1)を生成する。セッション鍵K(N+1)は、認証制御部53に入力される。次に認証制御部53は、上述した認証制御部63と同様の処理によって、セッション鍵K(N+1)に基づいて認証コードS(N+1)を生成する。
【0069】
次に認証制御部53は、認証コード付きコンテンツデータT1(N+1)から抽出した認証コードS(N+1)と、鍵生成部61から入力されたセッション鍵K(N+1)に基づいて生成した認証コードS(N+1)とを比較することにより、半導体記憶装置3の正当性を認証する。具体的には、両認証コードS(N+1)が一致する場合には半導体記憶装置3を正当と判定し、両認証コードS(N+1)が一致しない場合には半導体記憶装置3を不正と判定する。
【0070】
図7に示した第1の例によると、認証コードS(N+1)はコンテンツデータT0の末尾に付加されている。従って、認証制御部53は、認証コードS(N+1)よりも先にコンテンツデータT0を処理する。この場合、認証制御部53は、半導体記憶装置3の正当性を認証する処理の完了を待つことなく、認証コード付きコンテンツデータT1(N+1)から抽出したコンテンツデータT0をマイクロプロセッサ11に入力する。その後、認証によって半導体記憶装置3を不正と判定した場合には、認証制御部53は、半導体記憶装置3が不正である旨の通知をマイクロプロセッサ11に入力する。一方、半導体記憶装置3を正当と判定した場合には、認証制御部53は、半導体記憶装置3が不正である旨の通知をマイクロプロセッサ11に入力しない。
【0071】
図8に示した第2の例によると、認証コードS(N+1)はコンテンツデータT0の先頭に付加されている。従って、認証制御部53は、コンテンツデータT0よりも先に認証コードS(N+1)を処理する。この場合、認証制御部53は、半導体記憶装置3の正当性を認証する処理を先に行い、認証によって半導体記憶装置3を不正と判定した場合には、認証コード付きコンテンツデータT1(N+1)から抽出したコンテンツデータT0をマイクロプロセッサ11に入力しない。一方、半導体記憶装置3を正当と判定した場合には、認証制御部53は、認証コード付きコンテンツデータT1(N+1)から抽出したコンテンツデータT0をマイクロプロセッサ11に入力する。
【0072】
また、認証制御部53は、半導体記憶装置3を不正と判定した場合には、データをオール「0」又はオール「1」に置換する等のマスク処理を有効にする制御信号Dを、マスク回路54,55に入力する。これにより、通信装置2と半導体記憶装置3との間での以後の通信が遮断される。
【0073】
認証制御部53,63は、マイクロプロセッサ11からリードコマンドが発行される度に、上記と同様の相互認証の処理を行う。次回の相互認証の処理では、認証制御部63は、認証コード付きリードコマンドC1(N+1)から抽出した認証コードS(N+1)と、鍵生成部61から入力されたセッション鍵K(N+1)に基づいて生成した認証コードS(N+1)とが一致するか否かによって、通信装置2の正当性を認証する。また、認証制御部53は、認証コード付きコンテンツデータT1(N+2)から抽出した認証コードS(N+2)と、鍵生成部51から入力されたセッション鍵K(N+2)に基づいて生成した認証コードS(N+2)とが一致するか否かによって、半導体記憶装置3の正当性を認証する。
【0074】
<第1の変形例>
以上の説明では、通信装置2が半導体記憶装置3の正当性を認証する処理を、メモリコントローラ12のハードウェア処理によって実行したが、マイクロプロセッサ11のソフトウェア処理によって実行しても良い。
【0075】
<第2の変形例>
以上の説明では、リードコマンドC0及びその応答値としてのコンテンツデータT0に認証コードSをそれぞれ付加したが、ライトコマンドやイレースコマンド等の他のアクセスコマンドに認証コードSを付加しても良い。
【0076】
ライトコマンドに認証コードSを付加する場合には、半導体記憶装置3は、通信装置2から受信したライトコマンドに付加されている認証コードSと、自ら生成した認証コードSとに基づいて、通信装置2の正当性を認証することができる。また、ライトコマンドに続いて送信されるステータスコマンドの応答値としてのステータス通知に認証コードSを付加することにより、通信装置2は、半導体記憶装置3から受信したステータス通知に付加されている認証コードSと、自ら生成した認証コードSとに基づいて、半導体記憶装置3の正当性を認証することができる。
【0077】
イレースコマンドに認証コードSを付加する場合には、半導体記憶装置3は、通信装置2から受信したイレースコマンドに付加されている認証コードSと、自ら生成した認証コードSとに基づいて、通信装置2の正当性を認証することができる。また、イレースコマンドに続いて送信されるステータスコマンドの応答値としてのステータス通知に認証コードSを付加することにより、通信装置2は、半導体記憶装置3から受信したステータス通知に付加されている認証コードSと、自ら生成した認証コードSとに基づいて、半導体記憶装置3の正当性を認証することができる。
【0078】
<まとめ>
本実施の形態に係る情報処理システム1によれば、通信装置2は、リードコマンドC0に第1の認証コードS(N)を付加することによって認証コード付きリードコマンドC1(N)を生成し、当該認証コード付きリードコマンドC1(N)を半導体記憶装置3に送信する。また、半導体記憶装置3は、通信装置2から認証コード付きリードコマンドC1(N)を受信し、当該認証コード付きリードコマンドC1(N)に含まれる認証コードS(N)に基づいて、通信装置2を認証する。そして、通信装置2を正当と判定した場合には、認証コード付きリードコマンドC1(N)に含まれるリードコマンドC0に基づいて、メモリアレイ22にアクセスする。このように、リードコマンドC0に認証コードS(N)を付加した認証コード付きリードコマンドC1(N)を用いることによって、半導体記憶装置3による通信装置2の認証と、メモリアレイ22へのアクセスとを、共通の処理として実行することができる。その結果、通信装置2が半導体記憶装置3にリードコマンドを送信する前に、半導体記憶装置3が通信装置2を認証する処理を別個に実行する必要がなく、認証の処理に伴うオーバーヘッドを低減できるため、コンテンツデータT0にアクセスするまでの所要時間を短縮することが可能となる。
【0079】
また、本実施の形態に係る情報処理システム1によれば、半導体記憶装置3は、コンテンツデータT0に第2の認証コードS(N+1)を付加することによって認証コード付きコンテンツデータT1(N+1)を生成し、当該認証コード付きコンテンツデータT1(N+1)を通信装置2に送信する。そして、通信装置2は、半導体記憶装置3から認証コード付きコンテンツデータT1(N+1)を受信し、当該認証コード付きコンテンツデータT1(N+1)に含まれる認証コードS(N+1)に基づいて、半導体記憶装置3を認証する。このように、コンテンツデータT0に認証コードS(N+1)を付加した認証コード付きコンテンツデータT1(N+1)を用いることによって、半導体記憶装置3から通信装置2へのコンテンツデータT0の送信と、通信装置2による半導体記憶装置3の認証とを、共通の処理として実行することができる。その結果、半導体記憶装置3が通信装置2にコンテンツデータを送信する前に、通信装置2が半導体記憶装置3を認証する処理を別個に実行する必要がなく、認証の処理に伴うオーバーヘッドを低減できるため、コンテンツデータT0にアクセスするまでの所要時間を短縮することが可能となる。
【0080】
しかも、通信装置2から半導体記憶装置3への認証コード付きリードコマンドC1(N)の送信と、それに応答する半導体記憶装置3から通信装置2への認証コード付きコンテンツデータT1(N+1)の送信との、一往復の通信によって、通信装置2と半導体記憶装置3との相互認証を行うことができる。その結果、通信装置及び半導体記憶装置それぞれからの往復通信(合計で二往復の通信)が必要となる一般的なチャレンジアンドレスポンス型の相互認証と比較すると、処理の高速化及び効率化を図ることが可能となる。
【0081】
また、本実施の形態に係る情報処理システム1によれば、認証コード付きリードコマンドC1(N)の生成及び送信と、認証コード付きコンテンツデータT1(N+1)の受信と、認証コードS(N+1)に基づく半導体記憶装置3の認証とは、メモリコントローラ12が実行する。また、認証コード付きリードコマンドC1(N)の受信と、認証コードS(N)に基づく通信装置2の認証と、認証コード付きコンテンツデータT1(N+1)の生成及び送信とは、メモリコントローラ21が実行する。このように、通信装置2と半導体記憶装置3との相互認証において、マイクロプロセッサ11が実行する処理はリードコマンドC0の発行だけであり、認証コード付きリードコマンドC1(N)及び認証コード付きコンテンツデータT1(N+1)の生成や、認証コードS(N),S(N+1)に基づく認証等の本質的な処理は、メモリコントローラ12とメモリコントローラ21との間で実行される。従って、プログラム解析等によってマイクロプロセッサ11の制御を改変するような攻撃を受けた場合であっても、メモリコントローラ12及びメモリコントローラ21によるハードウェア処理の内容が解析及び改変されない限り、攻撃者によって相互認証の処理が回避されることはない。その結果、マイクロプロセッサ11の制御を改変するような攻撃を受けた場合であっても、半導体記憶装置3からコンテンツデータT0が不正に読み出されることを防止することが可能となる。
【0082】
また、本実施の形態に係る情報処理システム1によれば、メモリコントローラ21は、通信装置2を不正と判定した場合には、リードコマンドC0に基づくメモリアレイ22へのアクセスを行わない。従って、不正な通信装置2から半導体記憶装置3にリードコマンドが送信された場合等であっても、メモリコントローラ21はメモリアレイ22からのコンテンツデータT0の読み出しを実行しない。その結果、半導体記憶装置3からコンテンツデータT0が不正に読み出されること等を防止することが可能となる。
【0083】
また、本実施の形態に係る情報処理システム1によれば、メモリコントローラ21は、通信装置2を不正と判定した場合には、以後にメモリコントローラ12から送信されるアクセスコマンドを受信しない。従って、不正な通信装置2から半導体記憶装置3にリードコマンドが送信された場合等であっても、メモリコントローラ21は当該リードコマンドを受信しない。その結果、半導体記憶装置3からコンテンツデータT0が不正に読み出されること等を防止することが可能となる。
【0084】
また、本実施の形態に係る情報処理システム1において、図7に示した第1の例によれば、メモリコントローラ12は、半導体記憶装置3が正当であるか不正であるかに拘わらず、認証コード付きコンテンツデータT1(N+1)に含まれるコンテンツデータT0をマイクロプロセッサ11に入力する。従って、半導体記憶装置3を認証する処理の完了を待つことなく、受信したコンテンツデータT0を早期にマイクロプロセッサ11に入力することが可能となる。また、マイクロプロセッサ11は、半導体記憶装置3を不正と判定した場合には、半導体記憶装置3が不正である旨の通知をマイクロプロセッサ11に入力する。従って、マイクロプロセッサ11は、メモリコントローラ12から入力されたコンテンツデータT0を破棄又は無効化する等の処理を実行することが可能となる。
【0085】
また、本実施の形態に係る情報処理システム1において、図8に示した第2の例によれば、メモリコントローラ12は、半導体記憶装置3を不正と判定した場合には、認証コード付きコンテンツデータT1(N+1)に含まれるコンテンツデータT0をマイクロプロセッサ11に入力しない。従って、不正な半導体記憶装置3から読み出されたコンテンツデータT0がマイクロプロセッサ11に入力されること等を防止することが可能となる。
【0086】
また、本実施の形態に係る情報処理システム1によれば、メモリコントローラ12は、半導体記憶装置3を不正と判定した場合には、メモリコントローラ12とメモリコントローラ21との間での以後の通信を遮断する。従って、通信装置2から不正な半導体記憶装置3にアクセスコマンドが送信されることや、不正な半導体記憶装置3から通信装置2にコンテンツデータが送信されること等が回避される。その結果、半導体記憶装置3からコンテンツデータT0が不正に読み出されること等を防止することが可能となる。
【0087】
また、本実施の形態に係る情報処理システム1によれば、認証制御部63は、認証コード付きリードコマンドC1(N)に含まれる認証コードS(N)と、鍵生成部61が生成したセッション鍵K(N)に基づいて生成した認証コードS(N)とが一致するか否かによって、通信装置2を認証する。通信装置2が不正である場合には、認証コード付きアクセスコマンドC1(N)に含まれる認証コードS(N)と、セッション鍵K(N)に基づいて生成した認証コードS(N)とは一致しない。従って、通信装置2が不正であることを、確実に検出することが可能となる。また、認証制御部53は、認証コード付きコンテンツデータT1(N+1)に含まれる認証コードS(N+1)と、鍵生成部51が生成したセッション鍵K(N+1)に基づいて生成した認証コードS(N+1)とが一致するか否かによって、半導体記憶装置3を認証する。半導体記憶装置3が不正である場合には、認証コード付きコンテンツデータT1(N+1)に含まれる認証コードS(N+1)と、セッション鍵K(N+1)に基づいて生成した認証コードS(N+1)とは一致しない。従って、半導体記憶装置3が不正であることを、確実に検出することが可能となる。
【0088】
また、本実施の形態に係る情報処理システム1によれば、認証制御部53は、鍵生成部51が生成したセッション鍵K(N)のビット長が許容認証コード長を超える場合には、セッション鍵K(N)を圧縮することにより認証コードS(N)を生成する。また、認証制御部63は、鍵生成部61が生成したセッション鍵K(N+1)のビット長が許容認証コード長を超える場合には、セッション鍵K(N+1)を圧縮することにより認証コードS(N+1)を生成する。従って、セッション鍵K(N),K(N+1)の各ビット長が許容認証コード長を超える場合であっても、セッション鍵K(N),K(N+1)を圧縮することによって、許容認証コード長に収まる認証コードS(N),S(N+1)を生成することが可能となる。
【0089】
また、本実施の形態に係る情報処理システム1によれば、鍵生成部51,61は、認証の処理毎に異なるセッション鍵Kをそれぞれ生成する。その結果、認証制御部53,63が生成する認証コードSは認証の処理毎に変更されるため、セキュリティ強度を向上することが可能となる。
【0090】
また、本実施の形態に係る情報処理システム1によれば、メモリコントローラ12からメモリコントローラ21に送信される認証コード付きリードコマンドC1(N)に含まれる認証コードS(N)と、当該リードコマンドに応答してメモリコントローラ21からメモリコントローラ12に送信される認証コード付きコンテンツデータT1(N+1)に含まれる認証コードS(N+1)とは、互いに異なる。つまり、通信装置2が半導体記憶装置3に送信する認証コードS(N)と、通信装置2が半導体記憶装置3から受信する認証コードS(N+1)とは、互いに異なる。このように、送信時と受信時とで認証コードSを異ならせることにより、セキュリティ強度を向上することが可能となる。
【0091】
また、本実施の形態に係る情報処理システム1によれば、認証制御部63は、通信装置2を認証する際に使用したセッション鍵K(N)の次に生成した更新後のセッション鍵K(N+1)に基づいて、認証コードS(N+1)を生成する。これにより、半導体記憶装置3から通信装置2に送信する認証コードS(N+1)を、通信装置2から半導体記憶装置3に送信する認証コードS(N)から簡易かつ確実に変更することが可能となる。また、認証制御部53は、鍵生成部61が生成した更新後のセッション鍵K(N+1)に基づいて生成された更新後の第2の認証コードS(N+1)と、鍵生成部51が生成した更新後のセッション鍵K(N+1)に基づいて生成された更新後の第1の認証コードS(N+1)とが一致するか否かによって、半導体記憶装置3を認証する。半導体記憶装置3が正当である場合には、更新後の第2の認証コードS(N+1)は更新後の第1の認証コードS(N+1)に一致しており、一方、半導体記憶装置3が不正である場合には、更新後の第2の認証コードS(N+1)は更新後の第1の認証コードS(N+1)に一致していない。従って、更新後の第2の認証コードS(N+1)が更新後の第1の認証コードS(N+1)に一致するか否かを確認することによって、半導体記憶装置3が正当であるか不正であるかを簡易かつ確実に判定することが可能となる。
【符号の説明】
【0092】
1 情報処理システム
2 通信装置
3 半導体記憶装置
11 マイクロプロセッサ
12 メモリコントローラ
21 メモリコントローラ
22 メモリアレイ
51 鍵生成部
52 暗号化・復号部
53 認証制御部
61 鍵生成部
62 暗号化・復号部
63 認証制御部
図1
図2
図3
図4
図5
図6
図7
図8