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

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

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

特許5775397メモリシステム、メモリ装置、およびメモリ装置の動作方法
<>
  • 特許5775397-メモリシステム、メモリ装置、およびメモリ装置の動作方法 図000002
  • 特許5775397-メモリシステム、メモリ装置、およびメモリ装置の動作方法 図000003
  • 特許5775397-メモリシステム、メモリ装置、およびメモリ装置の動作方法 図000004
  • 特許5775397-メモリシステム、メモリ装置、およびメモリ装置の動作方法 図000005
  • 特許5775397-メモリシステム、メモリ装置、およびメモリ装置の動作方法 図000006
  • 特許5775397-メモリシステム、メモリ装置、およびメモリ装置の動作方法 図000007
  • 特許5775397-メモリシステム、メモリ装置、およびメモリ装置の動作方法 図000008
  • 特許5775397-メモリシステム、メモリ装置、およびメモリ装置の動作方法 図000009
  • 特許5775397-メモリシステム、メモリ装置、およびメモリ装置の動作方法 図000010
  • 特許5775397-メモリシステム、メモリ装置、およびメモリ装置の動作方法 図000011
  • 特許5775397-メモリシステム、メモリ装置、およびメモリ装置の動作方法 図000012
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】5775397
(24)【登録日】2015年7月10日
(45)【発行日】2015年9月9日
(54)【発明の名称】メモリシステム、メモリ装置、およびメモリ装置の動作方法
(51)【国際特許分類】
   G06F 21/12 20130101AFI20150820BHJP
   H04L 9/32 20060101ALI20150820BHJP
   G06F 21/10 20130101ALI20150820BHJP
【FI】
   G06F21/12
   H04L9/00 675A
   G06F21/10
【請求項の数】20
【全頁数】34
(21)【出願番号】特願2011-181200(P2011-181200)
(22)【出願日】2011年8月23日
(65)【公開番号】特開2013-45201(P2013-45201A)
(43)【公開日】2013年3月4日
【審査請求日】2014年7月7日
(73)【特許権者】
【識別番号】591128453
【氏名又は名称】株式会社メガチップス
(74)【代理人】
【識別番号】100088672
【弁理士】
【氏名又は名称】吉竹 英俊
(74)【代理人】
【識別番号】100088845
【弁理士】
【氏名又は名称】有田 貴弘
(72)【発明者】
【氏名】菅原 崇彦
【審査官】 脇岡 剛
(56)【参考文献】
【文献】 特開2010−211818(JP,A)
【文献】 特開2008−147946(JP,A)
【文献】 特開2007−257616(JP,A)
【文献】 特開2004−310720(JP,A)
【文献】 特開2009−122858(JP,A)
【文献】 米国特許出願公開第2007/0204141(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 21/12
G06F 21/10
H04L 9/32
(57)【特許請求の範囲】
【請求項1】
メモリ装置と、
情報処理を実行する情報処理装置と、
を備え、
前記メモリ装置は、
第1情報に関連した第2情報を記憶する第1記憶部と、
第1メモリ内制御部と、
前記第1情報を記憶する第2記憶部と、
第2メモリ内制御部と、
前記情報処理装置から入力されたコマンドに応じた動作の実行指示を行う指示手段と
有し、
前記第2メモリ内制御部は、前記第2記憶部から入力される前記第1情報を暗号化し、暗号化した前記第1情報を前記情報処理装置へと伝送する暗号化部を有し、
前記情報処理装置は、前記第2メモリ内制御部からの情報を復号化し、復号化した情報が前記第1情報であるときに、前記第1情報を暗号化して前記第1メモリ内制御部へと伝送し、
前記第1メモリ内制御部は、
前記情報処理装置から受信した情報を復号化する復号化部と、
前記復号化部で復号化された前記第1情報と、前記第1記憶部からの前記第2情報とを用いて、前記第2記憶部の正当性を判断する判断手段と、
を有し、
前記指示手段は、前記判断手段によって、前記第2記憶部が正当でないと判断された場合、前記コマンドに応じた動作の実行指示を行わないメモリシステム。
【請求項2】
前記メモリ装置は、
前記第2記憶部から取得した前記第1情報に基づいて第3情報を生成する生成手段、
をさらに有し、
前記判断手段は、前記第2情報と、前記生成手段によって生成された前記第3情報とを比較することによって、前記第2記憶部の正当性を判断する請求項1に記載のメモリシステム。
【請求項3】
前記第1記憶部は、OTP(One Time Programmable)領域を有し、
前記第2情報は、前記OTP領域に記憶される請求項1または請求項2に記載のメモリシステム。
【請求項4】
前記第2記憶部は、前記第2情報をさらに記憶し、
前記OTP領域に記憶される前記第2情報は、前記情報処理装置の指示に基づいて、前記第2記憶部から読み出され、前記第1記憶部の前記OTP領域に書き込まれた情報である請求項3に記載のメモリシステム。
【請求項5】
前記生成手段は、前記第1情報と鍵とを用いて、MAC(Message Authentication Code)値を前記第3情報として生成し、
前記第1記憶部は、第1情報と、前記鍵と共通の共通鍵とを用いて予め生成されたMAC値を前記第2情報として記憶し、
前記判断手段は、前記第1記憶部に記憶されていたMAC値と、前記生成手段によって生成されたMAC値とを比較することによって、前記第2記憶部の正当性を判断する請求項2に記載のメモリシステム。
【請求項6】
前記メモリ装置は、前記鍵を外部から読み出し不可能に保持する請求項5に記載のメモリシステム。
【請求項7】
前記生成手段は、前記第1情報を用いて、ハッシュ値を前記第3情報として生成し、
前記第1記憶部は、第1情報を用いて予め生成されたハッシュ値を前記第2情報として記憶し、
前記判断手段は、前記第1記憶部に記憶されていたハッシュ値と、前記生成手段によって生成されたハッシュ値とを比較することによって、前記第2記憶部の正当性を判断する請求項2に記載のメモリシステム。
【請求項8】
前記第1情報は、固有の識別情報である請求項1から請求項7のいずれかに記載のメモリシステム。
【請求項9】
情報処理を実行する情報処理装置に、情報を供給するメモリ装置であって、
第1情報に関連した第2情報を記憶する第1記憶部と、
第1メモリ内制御部と、
前記第1情報を記憶する第2記憶部と、
第2メモリ内制御部と、
前記情報処理装置から入力されたコマンドに応じた動作の実行指示を行う指示手段と
備え、
前記第2メモリ内制御部は、前記第2記憶部から入力される前記第1情報を暗号化し、暗号化した前記第1情報を前記情報処理装置へと伝送する暗号化部を有し、
前記情報処理装置は、前記第2メモリ内制御部からの情報を復号化し、復号化した情報が前記第1情報であるときに、前記第1情報を暗号化して前記第1メモリ内制御部へと伝送し、
前記第1メモリ内制御部は、
前記情報処理装置から受信した情報を復号化する復号化部と、
前記復号化部で復号化された前記第1情報と、前記第1記憶部からの前記第2情報とを用いて、前記第2記憶部の正当性を判断する判断手段と、
を有し、
前記指示手段は、前記判断手段によって、前記第2記憶部が正当でないと判断された場合、前記コマンドに応じた動作の実行指示を行わないメモリ装置。
【請求項10】
情報処理を実行する情報処理装置に、情報を供給するメモリ装置の動作方法であって、
a)前記メモリ装置の第1記憶部に記憶された、第1情報に関連する第2情報、および前記メモリ装置の第2記憶部に記憶された前記第1情報を用いて、前記第2記憶部の正当性を判断する工程と、
b)前記a)工程において、前記第2記憶部が正当でないと判断された場合、コマンドに応じた動作の実行指示を行わない工程と、
を有し、
前記a)工程は、
前記第2記憶部から入力される前記第1情報を暗号化して前記情報処理装置へと伝送する工程と、
前記情報処理装置が、前記メモリ装置からの情報を復号化し、復号化した情報が前記第1情報であるときに、前記第1情報を暗号化して前記メモリ装置へと伝送する工程と、
前記情報処理装置からの暗号化された前記第1情報を復号化し、復号化した前記第1情報と、前記第1記憶部からの前記第2情報とを用いて、前記第2記憶部の正当性を判断する工程と
を有するメモリ装置の動作方法。
【請求項11】
メモリ装置と、
情報処理を実行する情報処理装置と、
を備え、
前記メモリ装置は、
第1情報を記憶する第1記憶部と、
第1メモリ内制御部と、
第2情報を記憶する第2記憶部と、
第2メモリ内制御部と、
有し、
前記第1メモリ内制御部は、
前記情報処理装置から入力される、前記第1記憶部に対するコマンドに応じた動作の実行指示を行う第1指示手段と、
前記第1記憶部から入力される前記第1情報を暗号化し、暗号化した前記第1情報を前記情報処理装置へと伝送する第1暗号化部と、
前記情報処理装置から受信した、暗号化された前記第2情報を復号化する第1復号化部と、
前記第1記憶部に記憶された前記第1情報と、前記第1復号化部で復号化された前記第2情報とを用いて、前記第2記憶部の正当性を判断する第1判断手段と、
を有し、
前記第2メモリ内制御部は、
前記情報処理装置から入力される、前記第2記憶部に対するコマンドに応じた動作の実行指示を行う第2指示手段と、
前記第2記憶部から入力される前記第2情報を暗号化し、暗号化した前記第2情報を前記情報処理装置へと伝送する第2暗号化部と、
前記情報処理装置から受信した、暗号化された前記第1情報を復号化する第2復号化部と、
第2復号化部で復号化された前記第1情報と、前記第2記憶部からの前記第1情報とを用いて、前記第1記憶部の正当性を判断する第2判断手段と、
を有し、
前記情報処理装置は、前記第1メモリ内制御部からの情報を復号化し、復号化した情報が前記第1情報であるときに、前記第1情報を暗号化して前記第2メモリ内制御部へと伝送し、前記第2メモリ内制御部からの情報を復号化し、復号化した情報が前記第2情報であるときに、前記第2情報を暗号化して前記第1メモリ内制御部へと伝送し、
前記第1指示手段は、前記第1判断手段によって、前記第2記憶部が正当でないと判断された場合、前記第1記憶部に対するコマンドに応じた動作の実行指示を行わず、
前記第2指示手段は、前記第2判断手段によって、前記第1記憶部が正当でないと判断された場合、前記第2記憶部に対するコマンドに応じた動作の実行指示を行わないメモリシステム。
【請求項12】
前記第1情報と前記第2情報とは、互いに共通した、固有の識別情報である請求項11に記載のメモリシステム。
【請求項13】
情報処理を実行する情報処理装置に、情報を供給するメモリ装置であって、
第1情報を記憶する第1記憶部と、
第1メモリ内制御部と、
第2情報を記憶する第2記憶部と、
第2メモリ内制御部と、
有し、
前記第1メモリ内制御部は、
前記情報処理装置から入力される、前記第1記憶部に対するコマンドに応じた動作の実行指示を行う第1指示手段と、
前記第1記憶部から入力される前記第1情報を暗号化し、暗号化した前記第1情報を前記情報処理装置へと伝送する第1暗号化部と、
前記情報処理装置から受信した、暗号化された前記第2情報を復号化する第1復号化部と、
前記第1記憶部に記憶された前記第1情報と、前記第1復号化部で復号化された前記第2情報とを用いて、前記第2記憶部の正当性を判断する第1判断手段と
を有し、
前記第2メモリ内制御部は、
前記情報処理装置から入力される、前記第2記憶部に対するコマンドに応じた動作の実行指示を行う第2指示手段と、
前記第2記憶部から入力される前記第2情報を暗号化し、暗号化した前記第2情報を前記情報処理装置へと伝送する第2暗号化部と、
前記情報処理装置から受信した、暗号化された前記第1情報を復号化する第2復号化部と、
第2復号化部で復号化された前記第1情報と、前記第2記憶部からの前記第1情報とを用いて、前記第1記憶部の正当性を判断する第2判断手段と、
を有し、
前記情報処理装置は、前記第1メモリ内制御部からの情報を復号化し、復号化した情報が前記第1情報であるときに、前記第1情報を暗号化して前記第2メモリ内制御部へと伝送し、前記第2メモリ内制御部からの情報を復号化し、復号化した情報が前記第2情報であるときに、前記第2情報を暗号化して前記第1メモリ内制御部へと伝送し、
前記第1指示手段は、前記第1判断手段によって、前記第2記憶部が正当でないと判断された場合、前記第1記憶部に対するコマンドに応じた動作の実行指示を行わず、
前記第2指示手段は、前記第2判断手段によって、前記第1記憶部が正当でないと判断された場合、前記第2記憶部に対するコマンドに応じた動作の実行指示を行わないメモリ装置。
【請求項14】
情報処理を実行する情報処理装置に、情報を供給するメモリ装置の動作方法であって、
a)前記メモリ装置の第1記憶部に記憶された第1情報、および前記メモリ装置の第2記憶部に記憶された第2情報を用いて、前記第2記憶部の正当性を判断する工程と、
b)前記a)工程において、前記第2記憶部が正当でないと判断された場合、前記情報処理装置から入力される、前記第1記憶部に対するコマンドに応じた動作の実行指示を行わない工程と、
c)前記メモリ装置の第1記憶部に記憶された第1情報、および前記メモリ装置の第2記憶部に記憶された前記第2情報を用いて、前記第1記憶部の正当性を判断する工程と、
d)前記c)工程において、前記第1記憶部が正当でないと判断された場合、前記情報処理装置から入力される、前記第2記憶部に対するコマンドに応じた動作の実行指示を行わない工程と、
を有し、
前記a)工程は、
前記第2記憶部から入力される前記第2情報を暗号化して前記情報処理装置へと伝送する工程と、
前記情報処理装置が、前記メモリ装置からの情報を復号化し、復号化した情報が前記第2情報であるときに、前記第2情報を暗号化して前記メモリ装置へと伝送する工程と、
前記情報処理装置からの暗号化された前記第2情報を復号化し、復号化した前記第2情報と、前記第1記憶部からの前記第1情報とを用いて、前記第2記憶部の正当性を判断する工程と
を有し、
前記c)工程は、
前記第1記憶部から入力される前記第1情報を暗号化して前記情報処理装置へと伝送する工程と、
前記情報処理装置が、前記メモリ装置からの情報を復号化し、復号化した情報が前記第1情報であるときに、前記第1情報を暗号化して前記メモリ装置へと伝送する工程と、
前記情報処理装置からの暗号化された前記第1情報を復号化し、復号化した前記第1情報と、前記第2記憶部からの前記第2情報とを用いて、前記第1記憶部の正当性を判断する工程と
を有するメモリ装置の動作方法。
【請求項15】
メモリ装置と、
情報処理を実行する情報処理装置と、
を備え、
前記メモリ装置は、
第1情報を記憶する第1記憶部と、
第1メモリ内制御部と、
前記第1情報に関連した第2情報を記憶する第2記憶部と、
第2メモリ内制御部と、
前記情報処理装置から入力されたコマンドに応じた動作の実行指示を行う指示手段と
有し、
前記第2メモリ内制御部は、前記第2記憶部から入力される前記第1情報を暗号化し、暗号化した前記第1情報を前記情報処理装置へと伝送する暗号化部を有し、
前記情報処理装置は、前記第2メモリ内制御部からの情報を復号化し、復号化した情報が前記第1情報であるときに、前記第1情報を暗号化して前記第1メモリ内制御部へと伝送し、
前記第1メモリ内制御部は、
前記情報処理装置から受信した情報を復号化する復号化部と、
前記復号化部で復号化された前記第1情報と、前記第1記憶部からの前記第2情報とを用いて、前記第2記憶部の正当性を判断する判断手段と、
を有し、
前記指示手段は、前記判断手段によって、前記第2記憶部が正当でないと判断された場合、前記コマンドに応じた動作の実行指示を行わないメモリシステム。
【請求項16】
前記メモリ装置は、
前記第1記憶部から取得した前記第1情報に基づいて第3情報を生成する生成手段、
をさらに有し、
前記判断手段は、前記第2情報と、前記生成手段によって生成された前記第3情報とを比較することによって、前記第2記憶部の正当性を判断する請求項15に記載のメモリシステム。
【請求項17】
前記第1記憶部は、OTP(One Time Programmable)領域を有し、
前記第1情報は、前記OTP領域に記憶される請求項15または請求項16に記載のメモリシステム。
【請求項18】
前記第2記憶部は、前記第1情報をさらに記憶し、
前記OTP領域に記憶される前記第1情報は、前記情報処理装置の指示に基づいて、前記第2記憶部から読み出され、前記第1記憶部の前記OTP領域に書き込まれた情報である請求項17に記載のメモリシステム。
【請求項19】
前記生成手段は、前記第1情報と鍵とを用いて、MAC(Message Authentication Code)値を前記第3情報として生成し、
前記第2記憶部は、第1情報と、前記鍵と共通の共通鍵とを用いて予め生成されたMAC値を前記第2情報として記憶し、
前記判断手段は、前記第2記憶部に記憶されていたMAC値と、前記生成手段によって生成されたMAC値とを比較することによって、前記第2記憶部の正当性を判断する請求項16に記載のメモリシステム。
【請求項20】
前記生成手段は、前記第1情報を用いて、ハッシュ値を前記第3情報として生成し、
前記第2記憶部は、第1情報を用いて予め生成されたハッシュ値を前記第2情報として記憶し、
前記判断手段は、前記第2記憶部に記憶されていたハッシュ値と、前記生成手段によって生成されたハッシュ値とを比較することによって、前記第2記憶部の正当性を判断する請求項16に記載のメモリシステム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報の保護技術に関する。
【背景技術】
【0002】
アプリケーションソフトウェアを記憶したメモリ装置を情報処理装置に装着し、当該情報処理装置において、メモリ装置に記憶されたアプリケーションソフトウェアを実行して所定の機能を実現する技術が知られている。
【0003】
このようなメモリ装置においては、アプリケーションソフトウェアの読み出しによるメモリ装置の複製を防止するために、セキュリティ機能が搭載されている。例えば、特許文献1では、アプリケーションソフトウェアが暗号化された状態でメモリ装置に記憶され、情報処理装置は、当該アプリケーションソフトウェアを解読するための鍵データを取得することなく、アプリケーションソフトウェアを実行することができないように構成されている。したがって、特許文献1では、適切な鍵データを取得するまでは、メモリ装置の複製が制限されることになる。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2009−258850号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかし、上記特許文献1では、暗号化されたアプリケーションソフトウェアに対応する鍵データが特定された場合には、アプリケーションソフトウェアを記憶したメモリ装置が許可無く無断で複製される可能性があった。
【0006】
このようなメモリ装置が無断で複製される可能性は、アプリケーションソフトウェアを記憶したものに限らず、アプリケーションソフトウェア以外の他のデータ(例えば、アプリケーションソフトウェアの実行に利用するためのデータ)等を記憶したメモリ装置に対しても生じうる。
【0007】
そこで、本発明は、メモリ装置の複製を困難にすることが可能な技術を提供することを目的とする。
【課題を解決するための手段】
【0008】
本発明に係るメモリシステムの第1の態様は、メモリ装置と、情報処理を実行する情報処理装置とを備え、前記メモリ装置は、第1情報に関連した第2情報を記憶する第1記憶部と、第1メモリ内制御部と、前記第1情報を記憶する第2記憶部と、第2メモリ内制御部と、前記情報処理装置から入力されたコマンドに応じた動作の実行指示を行う指示手段と、を有し、前記第2メモリ内制御部は、前記第2記憶部から入力される前記第1情報を暗号化し、暗号化した前記第1情報を前記情報処理装置へと伝送する暗号化部を有し、前記情報処理装置は、前記第2メモリ内制御部からの情報を復号化し、復号化した情報が前記第1情報であるときに、前記第1情報を暗号化して前記第1メモリ内制御部へと伝送し、前記第1メモリ内制御部は、前記情報処理装置から受信した情報を復号化する復号化部と、前記復号化部で復号化された前記第1情報と、前記第1記憶部からの前記第2情報とを用いて、前記第2記憶部の正当性を判断する判断手段と、を有し、前記指示手段は、前記判断手段によって、前記第2記憶部が正当でないと判断された場合、前記コマンドに応じた動作の実行指示を行わない。
【0009】
また、本発明に係るメモリシステムの第2の態様は、上記第1の態様であって、前記メモリ装置は、前記第2記憶部から取得した前記第1情報に基づいて第3情報を生成する生成手段、をさらに有し、前記判断手段は、前記第2情報と、前記生成手段によって生成された前記第3情報とを比較することによって、前記第2記憶部の正当性を判断する。
【0010】
また、本発明に係るメモリシステムの第3の態様は、上記第1の態様または上記第2の態様であって、前記第1記憶部は、OTP(One Time Programmable)領域を有し、前記第2情報は、前記OTP領域に記憶される。
【0011】
また、本発明に係るメモリシステムの第4の態様は、上記第3の態様であって、前記第2記憶部は、前記第2情報をさらに記憶し、前記OTP領域に記憶される前記第2情報は、前記情報処理装置の指示に基づいて、前記第2記憶部から読み出され、前記第1記憶部の前記OTP領域に書き込まれた情報である。
【0012】
また、本発明に係るメモリシステムの第5の態様は、上記第2の態様であって、前記生成手段は、前記第1情報と鍵とを用いて、MAC(Message Authentication Code)値を前記第3情報として生成し、前記第1記憶部は、第1情報と、前記鍵と共通の共通鍵とを用いて予め生成されたMAC値を前記第2情報として記憶し、前記判断手段は、前記第1記憶部に記憶されていたMAC値と、前記生成手段によって生成されたMAC値とを比較することによって、前記第2記憶部の正当性を判断する。
【0013】
また、本発明に係るメモリシステムの第6の態様は、上記第5の態様であって、前記メモリ装置は、前記鍵を外部から読み出し不可能に保持する。
【0014】
また、本発明に係るメモリシステムの第7の態様は、上記第2の態様であって、前記生成手段は、前記第1情報を用いて、ハッシュ値を前記第3情報として生成し、前記第1記憶部は、第1情報を用いて予め生成されたハッシュ値を前記第2情報として記憶し、前記判断手段は、前記第1記憶部に記憶されていたハッシュ値と、前記生成手段によって生成されたハッシュ値とを比較することによって、前記第2記憶部の正当性を判断する。
【0015】
また、本発明に係るメモリシステムの第8の態様は、上記第1の態様から上記第6の態様のいずれかであって、前記第1情報は、固有の識別情報である。
【0016】
また、本発明に係るメモリ装置の第1の態様は、情報処理を実行する情報処理装置に、情報を供給するメモリ装置であって、第1情報に関連した第2情報を記憶する第1記憶部と、第1メモリ内制御部と、前記第1情報を記憶する第2記憶部と、第2メモリ内制御部と、を備え、前記第2メモリ内制御部は、前記第2記憶部から入力される前記第1情報を暗号化し、暗号化した前記第1情報を前記情報処理装置へと伝送する暗号化部を有し、前記情報処理装置は、前記第2メモリ内制御部からの情報を復号化し、復号化した情報が前記第1情報であるときに、前記第1情報を暗号化して前記第1メモリ内制御部へと伝送し、前記第1メモリ内制御部は、前記情報処理装置から受信した情報を復号化する復号化部と、前記復号化部で復号化された前記第1情報と、前記第1記憶部からの前記第2情報とを用いて、前記第2記憶部の正当性を判断する判断手段と、を有し、前記指示手段は、前記判断手段によって、前記第2記憶部が正当でないと判断された場合、前記コマンドに応じた動作の実行指示を行わない。
【0017】
また、本発明に係るメモリ装置の動作方法の第1の態様は、情報処理を実行する情報処理装置に、情報を供給するメモリ装置の動作方法であって、a)前記メモリ装置の第1記憶部に記憶された、第1情報に関連する第2情報、および前記メモリ装置の第2記憶部に記憶された前記第1情報を用いて、前記第2記憶部の正当性を判断する工程と、b)前記a)工程において、前記第2記憶部が正当でないと判断された場合、コマンドに応じた動作の実行指示を行わない工程とを有し、前記a)工程は、前記第2記憶部から入力される前記第1情報を暗号化して前記情報処理装置へと伝送する工程と、前記情報処理装置が、前記メモリ装置からの情報を復号化し、復号化した情報が前記第1情報であるときに、前記第1情報を暗号化して前記メモリ装置へと伝送する工程と、前記情報処理装置からの暗号化された前記第1情報を復号化し、復号化した前記第1情報と、前記第1記憶部からの前記第2情報とを用いて、前記第2記憶部の正当性を判断する工程とを有する。
【0018】
また、本発明に係るメモリシステムの第9の態様は、メモリ装置と、情報処理を実行する情報処理装置とを備え、前記メモリ装置は、第1情報を記憶する第1記憶部と、第1メモリ内制御部と、第2情報を記憶する第2記憶部と、第1メモリ内制御部と、を有し、前記第1メモリ内制御部は、前記情報処理装置から入力される、前記第1記憶部に対するコマンドに応じた動作の実行指示を行う第1指示手段と、前記第1記憶部から入力される前記第1情報を暗号化し、暗号化した前記第1情報を前記情報処理装置へと伝送する第1暗号化部と、前記情報処理装置から受信した、暗号化された前記第2情報を復号化する第1復号化部と、前記第1記憶部に記憶された前記第1情報と、前記第1復号化部で復号化された前記第2情報とを用いて、前記第2記憶部の正当性を判断する第1判断手段と、を有し、前記第2メモリ内制御部は、前記情報処理装置から入力される、前記第2記憶部に対するコマンドに応じた動作の実行指示を行う第2指示手段と、前記第2記憶部から入力される前記第2情報を暗号化し、暗号化した前記第2情報を前記情報処理装置へと伝送する第2暗号化部と、前記情報処理装置から受信した、暗号化された前記第1情報を復号化する第2復号化部と、第2復号化部で復号化された前記第1情報と、前記第2記憶部からの前記第1情報とを用いて、前記第1記憶部の正当性を判断する第2判断手段と、を有し、前記情報処理装置は、前記第1メモリ内制御部からの情報を復号化し、復号化した情報が前記第1情報であるときに、前記第1情報を暗号化して前記第2メモリ内制御部へと伝送し、前記第2メモリ内制御部からの情報を復号化し、復号化した情報が前記第2情報であるときに、前記第2情報を暗号化して前記第1メモリ内制御部へと伝送し、前記第1指示手段は、前記第1判断手段によって、前記第2記憶部が正当でないと判断された場合、前記第1記憶部に対するコマンドに応じた動作の実行指示を行わず、前記第2指示手段は、前記第2判断手段によって、前記第1記憶部が正当でないと判断された場合、前記第2記憶部に対するコマンドに応じた動作の実行指示を行わない。
【0019】
また、本発明に係るメモリシステムの第10の態様は、上記第9の態様であって、前記第1情報と前記第2情報とは、互いに共通した、固有の識別情報である。
【0020】
また、本発明に係るメモリ装置の第2の態様は、情報処理を実行する情報処理装置に、情報を供給するメモリ装置であって、第1情報を記憶する第1記憶部と、第1メモリ内制御部と、第2情報を記憶する第2記憶部と、第2メモリ内制御部と、を有し、前記第1メモリ内制御部は、前記情報処理装置から入力される、前記第1記憶部に対するコマンドに応じた動作の実行指示を行う第1指示手段と、前記第1記憶部から入力される前記第1情報を暗号化し、暗号化した前記第1情報を前記情報処理装置へと伝送する第1暗号化部と、前記情報処理装置から受信した、暗号化された前記第2情報を復号化する第1復号化部と、前記第1記憶部に記憶された前記第1情報と、前記第1復号化部で復号化された前記第2情報とを用いて、前記第2記憶部の正当性を判断する第1判断手段とを有し、前記第2メモリ内制御部は、前記情報処理装置から入力される、前記第2記憶部に対するコマンドに応じた動作の実行指示を行う第2指示手段と、前記第2記憶部から入力される前記第2情報を暗号化し、暗号化した前記第2情報を前記情報処理装置へと伝送する第2暗号化部と、前記情報処理装置から受信した、暗号化された前記第1情報を復号化する第2復号化部と、第2復号化部で復号化された前記第1情報と、前記第2記憶部からの前記第1情報とを用いて、前記第1記憶部の正当性を判断する第2判断手段と、を有し、前記情報処理装置は、前記第1メモリ内制御部からの情報を復号化し、復号化した情報が前記第1情報であるときに、前記第1情報を暗号化して前記第2メモリ内制御部へと伝送し、前記第2メモリ内制御部からの情報を復号化し、復号化した情報が前記第2情報であるときに、前記第2情報を暗号化して前記第1メモリ内制御部へと伝送し、前記第1指示手段は、前記第1判断手段によって、前記第2記憶部が正当でないと判断された場合、前記第1記憶部に対するコマンドに応じた動作の実行指示を行わず、前記第2指示手段は、前記第2判断手段によって、前記第1記憶部が正当でないと判断された場合、前記第2記憶部に対するコマンドに応じた動作の実行指示を行わない。
【0021】
また、本発明に係るメモリ装置の動作方法の第2の態様は、情報処理を実行する情報処理装置に、情報を供給するメモリ装置の動作方法であって、a)前記メモリ装置の第1記憶部に記憶された第1情報、および前記メモリ装置の第2記憶部に記憶された第2情報を用いて、前記第2記憶部の正当性を判断する工程と、b)前記a)工程において、前記第2記憶部が正当でないと判断された場合、前記情報処理装置から入力される、前記第1記憶部に対するコマンドに応じた動作の実行指示を行わない工程と、c)前記メモリ装置の第1記憶部に記憶された第1情報、および前記メモリ装置の第2記憶部に記憶された前記第2情報を用いて、前記第1記憶部の正当性を判断する工程と、d)前記c)工程において、前記第1記憶部が正当でないと判断された場合、前記情報処理装置から入力される、前記第2記憶部に対するコマンドに応じた動作の実行指示を行わない工程とを有し、前記a)工程は、前記第2記憶部から入力される前記第2情報を暗号化して前記情報処理装置へと伝送する工程と、前記情報処理装置が、前記メモリ装置からの情報を復号化し、復号化した情報が前記第2情報であるときに、前記第2情報を暗号化して前記メモリ装置へと伝送する工程と、前記情報処理装置からの暗号化された前記第2情報を復号化し、復号化した前記第2情報と、前記第1記憶部からの前記第1情報とを用いて、前記第2記憶部の正当性を判断する工程とを有し、前記c)工程は、前記第1記憶部から入力される前記第1情報を暗号化して前記情報処理装置へと伝送する工程と、前記情報処理装置が、前記メモリ装置からの情報を復号化し、復号化した情報が前記第1情報であるときに、前記第1情報を暗号化して前記メモリ装置へと伝送する工程と、前記情報処理装置からの暗号化された前記第1情報を復号化し、復号化した前記第1情報と、前記第2記憶部からの前記第2情報とを用いて、前記第1記憶部の正当性を判断する工程とを有する。
【0022】
また、本発明に係るメモリシステムの第11の態様は、メモリ装置と、情報処理を実行する情報処理装置とを備え、前記メモリ装置は、第1情報を記憶する第1記憶部と、第1メモリ内制御部と、前記第1情報に関連した第2情報を記憶する第2記憶部と、第2メモリ内制御部と、を有し、前記第2メモリ内制御部は、前記第2記憶部から入力される前記第1情報を暗号化し、暗号化した前記第1情報を前記情報処理装置へと伝送する暗号化部を有し、前記情報処理装置は、前記第2メモリ内制御部からの情報を復号化し、復号化した情報が前記第1情報であるときに、前記第1情報を暗号化して前記第1メモリ内制御部へと伝送し、前記第1メモリ内制御部は、前記情報処理装置から受信した情報を復号化する復号化部と、前記復号化部で復号化された前記第1情報と、前記第1記憶部からの前記第2情報とを用いて、前記第2記憶部の正当性を判断する判断手段と、を有し、前記指示手段は、前記判断手段によって、前記第2記憶部が正当でないと判断された場合、前記コマンドに応じた動作の実行指示を行わない。
【0023】
また、本発明に係るメモリシステムの第12の態様は、上記第11の態様であって、前記メモリ装置は、前記第1記憶部から取得した前記第1情報に基づいて第3情報を生成する生成手段をさらに有し、前記判断手段は、前記第2情報と、前記生成手段によって生成された前記第3情報とを比較することによって、前記第2記憶部の正当性を判断する。
【0024】
また、本発明に係るメモリシステムの第13の態様は、上記第11の態様または上記第12の態様であって、前記第1記憶部は、OTP(One Time Programmable)領域を有し、前記第1情報は、前記OTP領域に記憶される。
【0025】
また、本発明に係るメモリシステムの第14の態様は、上記第13の態様であって、前記第2記憶部は、前記第1情報をさらに記憶し、前記OTP領域に記憶される前記第1情報は、前記情報処理装置の指示に基づいて、前記第2記憶部から読み出され、前記第1記憶部の前記OTP領域に書き込まれた情報である。
【0026】
また、本発明に係るメモリシステムの第15の態様は、上記第12の態様であって、前記生成手段は、前記第1情報と鍵とを用いて、MAC(Message Authentication Code)値を前記第3情報として生成し、前記第2記憶部は、第1情報と、前記鍵と共通の共通鍵とを用いて予め生成されたMAC値を前記第2情報として記憶し、前記判断手段は、前記第2記憶部に記憶されていたMAC値と、前記生成手段によって生成されたMAC値とを比較することによって、前記第2記憶部の正当性を判断する。
【0027】
また、本発明に係るメモリシステムの第16の態様は、上記第12の態様であって、前記生成手段は、前記第1情報を用いて、ハッシュ値を前記第3情報として生成し、前記第2記憶部は、第1情報を用いて予め生成されたハッシュ値を前記第2情報として記憶し、前記判断手段は、前記第2記憶部に記憶されていたハッシュ値と、前記生成手段によって生成されたハッシュ値とを比較することによって、前記第2記憶部の正当性を判断する。
【発明の効果】
【0028】
本発明によれば、メモリ装置の複製を困難にすることが可能になる。
【図面の簡単な説明】
【0029】
図1】メモリ情報保護システムの外観構成を示す図である。
図2】メモリ情報保護システムで実行される認証動作の概要を説明するための図である。
図3】第1実施形態に係るメモリ情報保護システムの機能構成を示すブロック図である。
図4】メッセージ認証コード生成部の詳細構成を示す図である。
図5】第1実施形態に係るメモリ情報保護システムの初期化動作を説明するための図である。
図6】第1実施形態に係るメモリ情報保護システムの相手認証動作を説明するための図である。
図7】第2実施形態に係るメモリ情報保護システムの機能構成を示すブロック図である。
図8】第3実施形態に係るメモリ情報保護システムの機能構成を示すブロック図である。
図9】第3実施形態に係るメモリ情報保護システムの初期化動作を説明するための図である。
図10】メモリ情報保護システムの相互認証動作を説明するための図である。
図11】第4実施形態に係るメモリ情報保護システムの機能構成を示すブロック図である。
【発明を実施するための形態】
【0030】
以下、各実施形態について図面を参照して説明する。なお、異なる図面において同一の符号を付した要素は、同一または相応する要素を示すものとする。
【0031】
<1.第1実施形態>
[1−1.構成概要]
図1は、メモリ情報保護システム(単に「メモリシステム」とも称する)1Aの外観構成を示す図である。図2は、メモリ情報保護システム1Aで実行される認証動作の概要を説明するための図である。
【0032】
図1に示されるように、メモリ情報保護システム1Aは、情報処理装置10とメモリ装置20Aとを有している。
【0033】
メモリ装置20Aは、マスクROMまたはフラッシュメモリ等の半導体メモリで構成された複数の記憶部を有している。
【0034】
メモリ装置20Aは、これら複数の記憶部のうち少なくとも1つの記憶部に、アプリケーションの実施に用いるアプリケーション情報を記憶している。当該アプリケーション情報には、例えば、一種のコンピュータ装置である情報処理装置10で実行されるアプリケーションソフトウェアとしてのプログラム、および/またはアプリケーションソフトウェアを実行する際に使用されるデータ等が含まれている。
【0035】
また、メモリ装置20Aは、複数の記憶部のうち、少なくとも2つの記憶部各々に、それぞれ相互に関連した情報(「関連情報」とも称する)を記憶している。
【0036】
このメモリ装置20Aは、例えばカードまたはカートリッジのような態様を有している。当該メモリ装置20Aは、情報処理装置10に脱着自在に構成され、メモリ装置20Aは、情報処理装置10に装着された状態で使用される。
【0037】
メモリ装置20Aに格納された情報を利用する情報処理装置10には、例えば、パーソナルコンピュータ(パソコン)、PDA(Personal Digital Assistant)のような携帯情報端末装置、または画像処理装置が含まれる。また、メモリ装置20Aに記憶されたアプリケーションソフトウェアがゲームプログラムである場合は、情報処理装置10は、据置型ゲーム機または携帯ゲーム機等のゲーム装置本体として機能する。
【0038】
このようなメモリ情報保護システム1Aでは、メモリ装置20Aにおいて、メモリ装置20A内の複数の記憶部のうち、少なくとも2つの記憶部各々に記憶された関連情報を用いて、当該少なくとも2つの記憶部に含まれる少なくとも1つの記憶部の正当性を判断する認証動作が行われる。
【0039】
具体的には、図2に示されるように、メモリ装置20Aは、関連情報D1を記憶する第1半導体メモリ221と、関連情報D2を記憶する第2半導体メモリ222とを有している。メモリ装置20Aは、第1半導体メモリ221に記憶された関連情報D1と第2半導体メモリ222に記憶された関連情報D2とを用いて、第2半導体メモリ222が正当な記憶部であるか否かを判断する認証動作を行う。このような認証動作は「相手認証動作」とも称され、情報処理装置10において通常の動作が開始される前に実行される。すなわち、当該相手認証動作は、情報処理装置10の電源投入に応じて、情報処理装置10が起動されるとともに、電源がメモリ装置20Aに供給されて、システムとしての動作が開始される時点において実行される。
【0040】
そして、相手認証動作において、或る記憶部(ここでは第2半導体メモリ222)の正当性が確認されなかった場合、メモリ装置20Aは、情報処理装置10から入力されるコマンドを受け付けない。
【0041】
なお、図2では、図示簡単化のため、メモリ装置20Aが2つの半導体メモリ221,222を記憶部として有している態様を示しているが、当該メモリ装置20Aは、2つの半導体メモリ221,222以外に他の記憶部を有していてもよい。すなわち、この場合、2つの半導体メモリ221,222と他の記憶部とが、上記複数の記憶部に相当し、相手認証動作に用いられる2つの半導体メモリ221,222が、上記少なくとも2つの記憶部に相当することになる。
【0042】
このように、メモリ装置20Aは、メモリ装置20A内の少なくとも1つの記憶部の正当性を判断し、正当性が確認されなかった場合、情報処理装置10から入力されるコマンドを受け付けない構成である。このため、メモリ装置20Aからデータを読み出すには、相手認証を成立させる必要があるため、無断複製者によるメモリ装置20Aからのデータの読み出しが困難になり、ひいてはメモリ装置の複製が困難になる。
【0043】
[1−2.機能ブロック]
次に、メモリ情報保護システム1Aの機能について詳述する。図3は、第1実施形態に係るメモリ情報保護システム1Aの機能構成を示すブロック図である。図4は、メッセージ認証コード生成部の詳細構成を示す図である。
【0044】
図3に示されるように、メモリ情報保護システム1Aを構成する情報処理装置10は、全体制御部100と、メモリ制御部(メモリコントローラ)110とを備えている。
【0045】
全体制御部100は、マイクロコンピュータとして構成され、主にCPU、RAMおよびROM等を備える。全体制御部100は、ROM内に格納されたプログラムを読み出し、当該プログラムをCPUで実行することによって、各種機能を実現する。
【0046】
具体的には、全体制御部100は、上述のプログラムの実行によって、コマンド生成部101を機能的に実現する。
【0047】
コマンド生成部101は、メモリ装置20Aへの指令に関する命令コード、若しくは当該命令コードおよびアドレスを含むコマンドを生成する機能を有している。例えば、メモリ装置20Aに格納されたデータを読み出す際には、読出命令コードと読出対象となるデータのアドレスとを含むコマンド(「読出コマンド」とも称する)がコマンド生成部101によって生成される。また例えば、メモリ装置20Aにおいて相手認証動作を実行させる場合は、相手認証動作の実行を指示する相手認証コマンドが生成される。
【0048】
コマンド生成部101で生成されたコマンドは、内部バス120を介してメモリ制御部110に入力される。
【0049】
メモリ制御部110は、コマンド発行制御部111,115と、暗号化部112,116と、復号化部113,117と、データバッファ114,118とを有し、メモリ装置20Aに対する各種制御を行う。
【0050】
コマンド発行制御部111は、メモリ装置20A内の第1記憶部221に対するコマンドの発行を制御する。また、コマンド発行制御部111は、発行するコマンドに応じたデータの出力も制御する。例えば、コマンド発行制御部111は、第1記憶部221への書込コマンドを発行する場合は、書込対象となるデータをも出力する。
【0051】
もう一方のコマンド発行制御部115は、メモリ装置20A内の第2記憶部222に対するコマンドの発行を制御する。また、コマンド発行制御部115は、発行するコマンドに応じたデータの出力も制御する。
【0052】
暗号化部112,116は、入力された情報を暗号化して出力する機能を有している。暗号化部112によって暗号化された情報は、インターフェース(不図示)を介してメモリ装置20A内の第1メモリユニット201に供給される。また、暗号化部116によって暗号化された情報は、インターフェースを介してメモリ装置20A内の第2メモリユニット202に供給される。
【0053】
復号化部113,117は、メモリ装置20Aから伝送されてきた情報を復号化して出力する機能を有している。すなわち、復号化部113は、メモリ装置20Aの第1メモリユニット201から伝送されてきた情報を復号化し、復号化部117は、メモリ装置20Aの第2メモリユニット202から伝送されてきた情報を復号化する。
【0054】
データバッファ114,118は、一時的に情報を記憶する機能を有している。具体的には、データバッファ114は、第1記憶部221からデータを読み出す際に利用され、復号化部113において復号化された読出データは、データバッファ114を介して内部バス120に転送される。また、データバッファ114は、第1記憶部221へデータを書き込む際にも利用され、内部バス120から転送された書込データは、データバッファ114を介してコマンド発行制御部111に転送される。
【0055】
データバッファ118は、第2記憶部222からデータを読み出す際に利用され、復号化部117において復号化された読出データは、データバッファ118を介して内部バス120に転送される。
【0056】
一方、上述のような構成を有する情報処理装置10に装着されるメモリ装置20Aは、第1メモリユニット201と、第2メモリユニット202とを有している。
【0057】
第1メモリユニット201は、第1記憶部221と、当該第1記憶部221を制御する第1メモリ内制御部211とを含み、第2メモリユニット202は、第2記憶部222と、当該第2記憶部222を制御する第2メモリ内制御部212とを含んでいる。
【0058】
第1記憶部221は、マスクROM、フラッシュメモリ、またはEPROM等の不揮発性の半導体メモリであって、暗号化されたデータ(暗号化データ)を記憶する通常の記憶領域241を有している。また、第1記憶部221は、上記通常の記録領域241の他に、OTP(One Time Programmable)領域242をも有している。OTP領域242は、1回限りの書込みが可能な領域であり、書き込み後はOTP領域242に記憶された情報の消去および書き換えが不可能になる。このようなOTP領域242は、第1記憶部221の全記憶領域のうちの一部を、ヒューズタイプの記憶領域として物理的に確保することによって実現してもよく、或いは第1記憶部221の全記憶領域のうちの一部を再書き込み不能となるようにメモリ内制御部211に制御させることによって実現してもよい。
【0059】
第1メモリ内制御部211は、暗号化部231と、復号化部232と、コマンド解析部233と、メッセージ認証コード生成部234と、比較部235とを有している。
【0060】
暗号化部231は、第1記憶部221から読み出されたデータを暗号化して出力する機能を有している。暗号化部231によって暗号化されたデータは、インターフェース(不図示)を介して情報処理装置10に供給される。
【0061】
復号化部232は、情報処理装置10から伝送されてきた情報(コマンドおよび書込データ)を復号化して出力する機能を有している。復号化部232で復号化された情報は、コマンド解析部233に伝送される。
【0062】
コマンド解析部233は、コマンド発行制御部111において発行された、第1記憶部221に対するコマンドを解析して、当該コマンドに応じた所定動作の実行指示を行う指示手段として機能する。例えば、コマンド発行制御部111で発行されたコマンドが、第1記憶部221からのデータの読出コマンドである場合は、当該読出コマンドから読出命令コードと読出アドレスデータとを抽出して、読出信号と読出アドレスデータとを第1記憶部221に与える。読出信号および読出アドレスデータを受けた第1記憶部221は、読出アドレスに格納されている読出対象のデータを出力する。
【0063】
なお、コマンド解析部233は、メモリ装置20Aへの電源供給開始時の初期段階では、第1記憶部221に記憶されたデータの読出コマンドを受け付けないように設定されており、相手認証動作によって相手認証が成立した場合に読出コマンドを受け付けるように構成されている。
【0064】
メッセージ認証コード生成部234は、第2記憶部222から読み出された固有ID2Uに基づいて、メッセージ認証コード(MAC:Message Authentication Code)を生成する機能を有している。
【0065】
具体的には、メッセージ認証コード生成部234は、図4に示されるように、ハードウェア鍵341と演算部342とを有している。
【0066】
ハードウェア鍵341は、ハードウェアとしてチップ上に実装されている固定的な鍵データである。ハードウェア鍵341は、例えば、ハードウェア鍵341のビット長に応じた複数のインバータ(NOT回路)を用いて、各インバータの入力を、電源電圧(Vcc)またはGND(接地電位)にクランプすることによって実現することができる。
【0067】
演算部342は、入力されたハードウェア鍵341および固有ID2Uに基づいて、所定のMAC演算を行い、メッセージ認証コード(「MAC値」とも称する)を出力する。なお、演算部342で実行される所定のMAC演算の手法としては、例えば、SHA−1、MD5などのハッシュ関数を用いた演算手法、或いは、CBC−MAC等のブロック暗号アルゴリズムを用いた演算手法を採用することができる。
【0068】
このように、メッセージ認証コード生成部234は、ハードウェア鍵341および固有ID2Uを用いて、MAC値を生成する生成手段として機能する。
【0069】
メッセージ認証コード生成部234によって生成されたMAC値は、比較部235に出力される。
【0070】
比較部235は、メッセージ認証コード生成部234によって生成されたMAC値と、第1記憶部221から取得されるMAC値とを比較して、比較結果を出力する。詳細には、比較部235は、2つのMAC値が一致する場合は、一致することを示す信号(一致信号)を比較結果として出力し、2つのMAC値が一致しない場合は、一致しないことを示す信号(不一致信号)を比較結果として出力する。
【0071】
比較部235から出力された比較結果は、コマンド解析部233に入力される。2つのMAC値が一致しない場合、すなわち比較結果として不一致信号が入力された場合、コマンド解析部233は、情報処理装置10から入力されたコマンドに応じた動作の実行指示を行わない。すなわち、コマンド解析部233は、情報処理装置10から入力されるコマンドを受け付けない。
【0072】
一方、2つのMAC値が一致する場合、すなわち比較結果として一致信号が入力された場合、コマンド解析部233は、情報処理装置10から入力されたコマンドに応じた動作の実行指示を開始し、情報処理装置10から入力されるコマンドを受け付けるようになる。
【0073】
第2記憶部222は、マスクROM、フラッシュメモリ、またはEPROM等の不揮発性の半導体メモリであって、プログラムおよび/またはデータ等のアプリケーション情報を記憶している。また、第2記憶部222は、メモリ装置20Aに固有の識別情報である固有ID(「ユニークID」または「UID」とも称する)2Uと、当該固有ID2Uおよびハードウェア鍵141と共通の鍵(共通鍵)を用いて予め生成されるMAC値2Mとをさらに記憶している。固有ID2UおよびMAC値2Mは、工場出荷時等に第2記憶部222に予め記憶される。
【0074】
なお、MAC値2Mは、固有ID2Uを用いて生成される情報であることから、固有ID2UとMAC値2Mとは、互いに関連した「関連情報」とも称せられる。
【0075】
第2メモリ内制御部212は、復号化部236と、コマンド解析部237と、暗号化部238とを有している。
【0076】
復号化部236は、コマンド発行制御部115から発行され、そして暗号化部116によって暗号化された暗号化コマンドを復号化する機能を有している。復号化部236によって復号化されたコマンドは、コマンド解析部237に伝送される。
【0077】
コマンド解析部237は、上記コマンド解析部233と同様の機能を有し、第2記憶部222に対するコマンドを解析して、当該コマンドに応じた所定動作の実行指示を行う指示手段として機能する。
【0078】
暗号化部238は、第2記憶部222から読み出されたデータを暗号化する機能を有している。暗号化部238で暗号化された暗号化データは、インターフェースを介して情報処理装置10に供給される。
【0079】
[1−3.メモリ情報保護システム1Aの初期化動作]
ここで、メモリ情報保護システム1Aの動作について説明する。メモリ情報保護システム1Aの動作には、電源投入時に実行される初期化動作と、初期化動作終了後に実行される相手認証動作とが存在する。以下では、初期化動作および相手認証動作についてこの順序で説明する。図5は、メモリ情報保護システム1Aの初期化動作を説明するための図である。
【0080】
初期化動作は、第2記憶部222に記憶されているMAC値2Mを第1記憶部221のOTP領域242に格納する動作であり、上述のとおり電源投入時に実行される。
【0081】
具体的には、初期化動作開始前には、メモリ装置20Aが情報処理装置10に装着されて、メモリ装置20Aと情報処理装置10とが電気的に接続される。そして、情報処理装置10の電源投入に応じて、情報処理装置10が起動されるとともに、電源が情報処理装置10からメモリ装置20Aに供給されて、初期化動作が開始される。
【0082】
図5に示されるように、初期化動作では、まず、コマンド生成部101が、第2記憶部222に記憶されたMAC値2Mの読出コマンドを生成し、生成したMAC値2Mの読出コマンドを、コマンド発行制御部115に設定する(図5の(S1))。
【0083】
そして、コマンド発行制御部115は、MAC値2Mの読出コマンドを発行する(S2)。発行されたMAC値2Mの読出コマンドは、暗号化部116に伝送される。
【0084】
暗号化部116は、MAC値2Mの読出コマンドに対して暗号化処理を施す。暗号化部116で暗号化された、MAC値2Mの読出コマンドは、メモリ装置20Aの復号化部236に伝送される(S3)。
【0085】
復号化部236は、暗号化されたMAC値2Mの読出コマンドに対して復号化処理を施す。復号化された、MAC値2Mの読出コマンドは、コマンド解析部237に出力される(S4)。
【0086】
コマンド解析部237は、MAC値2Mの読出コマンドを解析して、MAC値2Mの読出信号と読出アドレスデータとを第2記憶部222に与え、第2記憶部222に記憶されたMAC値2Mの読出動作を実行させる(S5)。
【0087】
第2記憶部222は、MAC値2Mの読出動作の実行指示に応じて、記憶しているMAC値2Mを暗号化部238に出力する(S6)。
【0088】
暗号化部238は、第2記憶部222から入力されるMAC値2Mに暗号化処理を施す。暗号化されたMAC値2Mは、情報処理装置10の復号化部117に伝送される(S7)。
【0089】
復号化部117は、暗号化されたMAC値2Mに復号化処理を施す。復号化されたMAC値2Mは、コマンド発行制御部111に伝送される(S8)。
【0090】
ここで、コマンド生成部101は、第1記憶部221に設けられたOTP領域242へMAC値2Mを書き込むための書込コマンド(MAC値書込コマンド)を生成し、生成したMAC値書込コマンドを、コマンド発行制御部111に設定する(S9)。
【0091】
コマンド発行制御部111は、MAC値書込コマンドを発行する。発行されたMAC値書込コマンドは、暗号化部112に入力される(S10)。また、コマンド発行制御部111は、第2記憶部222から取得したMAC値2Mをも暗号化部112に出力する(S10)。
【0092】
暗号化部112は、コマンド発行制御部111から入力されたMAC値書込コマンドおよびMAC値2Mに暗号化処理を施す。暗号化されたMAC値書込コマンドおよびMAC値2Mは、メモリ装置20Aの復号化部232に伝送される(S11)。
【0093】
復号化部232は、暗号化されたMAC値書込コマンドおよびMAC値2Mに対して復号化処理を施す。復号化された、MAC値書込コマンドおよびMAC値2Mは、コマンド解析部233に出力される(S12)。
【0094】
コマンド解析部233は、MAC値書込コマンドを解析して、MAC値2MをOTP領域242に記憶する書込動作を第1記憶部221に実行させる(S13)。当該書込動作によって、MAC値2Mは、第1記憶部221のOTP領域242に記憶されることになる。
【0095】
このように、初期化動作では、情報処理装置10の指示に基づいて、第2記憶部222に記憶されていたMAC値2Mが読み出され、当該MAC値2Mが第1記憶部221のOTP領域242に書き込まれることになる。なお、初期化動作は、情報処理装置10を起動する際に毎回実行される動作としてもよく、メモリ装置20Aに最初に電源が供給されたときに1度だけ実行される動作としてもよい。仮に、初期化動作が情報処理装置10を起動する際に毎回実行される動作であったとしても、OTP領域242は、情報の消去および書き換えが不能な記憶領域であるため、最初の初期化動作によってOTP領域242に記憶されたMAC値2Mは変更されない。すなわち、最初の初期化動作以降に実行される初期化動作では、OTP領域242への再書込は実施されない。
【0096】
[1−4.メモリ情報保護システム1Aの相手認証動作]
次に、相手認証動作について詳述する。図6は、メモリ情報保護システム1Aの相手認証動作を説明するための図である。
【0097】
メモリ情報保護システム1Aで実行される相手認証動作は、メモリ装置20A内の第2記憶部222の正当性を判断する動作であり、上記初期化動作終了後に、或いは、初期化動作完了済みのメモリ装置20Aを装着して、情報処理装置10を起動する際に実行される。
【0098】
具体的には、図6に示されるように、メモリ情報保護システム1Aの相手認証動作では、まず、コマンド生成部101が、第2記憶部222に記憶された固有ID2Uの読出コマンドを生成し、生成した固有ID2Uの読出コマンドを、コマンド発行制御部115に設定する(図6の(N1))。
【0099】
そして、コマンド発行制御部115は、固有ID2Uの読出コマンドを発行する(N2)。発行された固有ID2Uの読出コマンドは、暗号化部116に伝送される。
【0100】
暗号化部116は、固有ID2Uの読出コマンドに対して暗号化処理を施す。暗号化部116で暗号化された、固有ID2Uの読出コマンドは、メモリ装置20Aの復号化部236に伝送される(N3)。
【0101】
復号化部236は、暗号化された固有ID2Uの読出コマンドに対して復号化処理を施す。復号化された、固有ID2Uの読出コマンドは、コマンド解析部237に出力される(N4)。
【0102】
コマンド解析部237は、固有ID2Uの読出コマンドを解析して、固有ID2Uの読出信号と読出アドレスデータとを第2記憶部222に与え、第2記憶部222に記憶された固有ID2Uの読出動作を実行させる(N5)。
【0103】
第2記憶部222は、固有ID2Uの読出動作の実行指示に応じて、記憶している固有ID2Uを暗号化部238に出力する(N6)。
【0104】
暗号化部238は、第2記憶部222から入力される固有ID2Uに暗号化処理を施す。暗号化された固有ID2Uは、情報処理装置10の復号化部117に伝送される(N7)。
【0105】
復号化部117は、暗号化された固有ID2Uに復号化処理を施して、復号化された固有ID2Uを取得する。復号化された固有ID2Uは、コマンド発行制御部111に伝送される(N8)。
【0106】
ここで、コマンド生成部101は、メモリ装置20Aにおいて相手認証動作を実行させるための相手認証コマンドを生成し、生成した相手認証コマンドをコマンド発行制御部111に設定する(N9)。
【0107】
コマンド発行制御部111は、相手認証コマンドを発行する。発行された相手認証コマンドは、暗号化部112に入力される(N10)。また、コマンド発行制御部111は、第2記憶部222から取得した固有ID2Uをも暗号化部112に出力する(N10)。
【0108】
暗号化部112は、コマンド発行制御部111から入力された相手認証コマンドおよび固有ID2Uに暗号化処理を施す。暗号化された相手認証コマンドおよび固有ID2Uは、メモリ装置20Aの復号化部232に伝送される(N11)。
【0109】
復号化部232は、暗号化された相手認証コマンドおよび固有ID2Uに対して復号化処理を施す。復号化された、相手認証コマンドおよび固有ID2Uは、コマンド解析部233に出力される(N12)。
【0110】
コマンド解析部233は、相手認証コマンドを解析して、相手認証動作の実行指示をメッセージ認証コード生成部234および第1記憶部221に対して行う。
【0111】
具体的には、コマンド解析部233は、第1記憶部221に対して、OTP領域242に記憶されたMAC値の読出信号を与え、OTP領域242に記憶されたMAC値の読出動作を実行させる(N15)。
【0112】
第1記憶部221は、MAC値の読出動作の実行指示に応じて、OTP領域242に記憶しているMAC値を比較部235に出力する(N16)。
【0113】
また、コマンド解析部233は、メッセージ認証コード生成部234に対して、第2記憶部222から読み出された固有ID2Uを出力する(N13)。
【0114】
メッセージ認証コード生成部234は、固有ID2Uを用いて、当該固有ID2UのMAC値(メッセージ認証コード)を生成し、生成したMAC値を比較部235に出力する(N14)。
【0115】
比較部235は、メッセージ認証コード生成部234によって生成されたMAC値と、第1記憶部221のOTP領域242に記憶されていたMAC値とを比較して、2つのMAC値が一致するか否かを示す比較結果を出力する(N17)。比較部235から出力された比較結果は、コマンド解析部233に入力される。
【0116】
比較部235から出力される比較結果は、相手認証の認証結果を示している。すなわち、2つのMAC値が一致することを示す一致信号が比較結果として出力された場合、相手認証は成立したことになる。一方、2つのMAC値が一致しないことを示す不一致信号が比較結果として出力された場合、相手認証は不成立となる。
【0117】
このように、比較部235は、メモリ装置20A内の第2記憶部222の正当性を判断する判断手段として機能する。
【0118】
相手認証が成立した場合、すなわち、第2記憶部222が正当であると判断された場合、コマンド解析部233は、情報処理装置10から入力されたコマンドに応じた動作の実行指示を開始し、情報処理装置10から入力されるコマンドを受け付けるようになる。
【0119】
一方、相手認証が成立しなかった場合、すなわち、第2記憶部222が正当であると判断されなかった場合、コマンド解析部233は、情報処理装置10から入力されたコマンドに応じた動作の実行指示を行わない。すなわち、コマンド解析部233は、情報処理装置10から入力されるコマンドを受け付けない。
【0120】
このように、メモリ情報保護システム1Aでは、動作開始時に、メモリ装置20A内の少なくとも1つの記憶部の正当性を判断する相手認証が行われ、相手認証が成立しなかった場合、メモリ装置20Aはコマンドを受け付けなくなるので、メモリ装置20Aの第1記憶部221からデータを読み出すことが困難になる。
【0121】
以上のように、メモリ情報保護システム1Aは、メモリ装置20Aと、情報処理を実行する情報処理装置10とを備えている。メモリ装置20Aは、第1情報(固有ID)に関連した第2情報(MAC値)を記憶する第1記憶部221と、第1情報を記憶する第2記憶部222と、情報処理装置10から入力されたコマンドに応じた動作の実行指示を行う指示手段(コマンド解析部233)と、第1情報および第2情報を用いて、第2記憶部222の正当性を判断する判断手段(比較部235)とを有している。そして、指示手段は、判断手段によって、第2記憶部222が正当でないと判断された場合、情報処理装置10から入力されたコマンドに応じた動作の実行指示を行わない。
【0122】
このように、メモリ装置20Aは、メモリ装置20A内の第2記憶部222の正当性を判断し、正当性が確認されなかった場合、情報処理装置10から入力されるコマンドを受け付けない構成である。このため、メモリ装置20Aからデータを読み出すには、メモリ装置20Aに第2記憶部222の正当性を確認させる必要があるため、非正規の情報処理装置を用いてメモリ装置20Aからデータを読み出すことが困難になり、ひいては無断複製者によるメモリ装置20Aの複製が困難になる。
【0123】
<2.第2実施形態>
次に、本発明の第2実施形態について説明する。上記第2実施形態に係るメモリ情報保護システム1Bは、MAC値が予め第1記憶部221に記憶されている点以外は、メモリ情報保護システム1Bとほぼ同様の構造および機能を有しており、共通する部分については同じ符号を付して説明を省略する。図7は、第2実施形態に係るメモリ情報保護システム1Bの機能構成を示すブロック図である。
【0124】
図7に示されるように、メモリ情報保護システム1Bのメモリ装置20Bは、第1記憶部221において、相手認証に用いるMAC値1Mを記憶している。
【0125】
なお、当該MAC値1Mは、OTP領域等の消去および書き換えが不可能な記憶領域に記憶されることが好ましい。
【0126】
このようなメモリ情報保護システム1Bによれば、第1記憶部221にMAC値1Mが予め記憶されているため、MAC値を第1記憶部221に記憶させる上記初期化動作を実行する必要がなく、動作を簡素化することができる。また、MAC値を第2記憶部222に記憶しておく必要もなくなるので、第2記憶部222を有効に利用することができる。
【0127】
<3.第3実施形態>
次に、本発明の第3実施形態について説明する。上記第1実施形態に係るメモリ情報保護システム1Aは、第2半導体メモリ222が正当な記憶部であるか否かを判断する認証動作を行っていたが、第3実施形態に係るメモリ情報保護システム1Cは、第2半導体メモリ222の正当性を判断する認証動作に加えて、第1半導体メモリ221の正当性を判断する相手認証動作をも行う。メモリ情報保護システム1Cは、メモリ装置20Cの構造が若干異なる点以外は、メモリ情報保護システム1Aとほぼ同様の構造および機能を有しており、共通する部分については同じ符号を付して説明を省略する。図8は、第3実施形態に係るメモリ情報保護システム1Cの機能構成を示すブロック図である。
【0128】
[3−1.メモリ情報保護システム1Cの構成]
図8に示されるように、メモリ情報保護システム1Cのメモリ装置20Cは、第1メモリユニット201と、第2メモリユニット202とを有している。
【0129】
第1メモリユニット201は、第1記憶部221と、当該第1記憶部221を制御する第1メモリ内制御部211とを含み、第2メモリユニット202は、第2記憶部222と、当該第2記憶部222を制御する第2メモリ内制御部212とを含んでいる。
【0130】
第1記憶部221は、マスクROM、フラッシュメモリ、またはEPROM等の不揮発性の半導体メモリであって、暗号化されたデータを記憶する通常の記憶領域241を有している。また、第1記憶部221は、上記通常の記録領域241の他に、OTP領域242をも有している。
【0131】
第1メモリ内制御部211は、暗号化部231と、復号化部232と、コマンド解析部233と、比較部235とを有している。
【0132】
コマンド解析部233は、コマンド発行制御部111において発行された、第1記憶部221に対するコマンドを解析して、当該コマンドに応じた所定動作の実行指示を行う指示手段として機能する。
【0133】
なお、コマンド解析部233は、メモリ装置20Aへの電源供給開始時の初期段階では、第1記憶部221に記憶されたデータの読出コマンドを受け付けないように設定されており、相手認証動作によって相手認証が成立した場合に読出コマンドを受け付けるように構成されている。
【0134】
比較部235は、第2記憶部222から取得された固有ID2Uと、第1記憶部221から取得される固有IDとを比較して、比較結果を出力する。詳細には、比較部235は、2つの固有IDが一致する場合は、一致することを示す信号(一致信号)を比較結果として出力し、2つの固有IDが一致しない場合は、一致しないことを示す信号(不一致信号)を比較結果として出力する。
【0135】
比較部235から出力された比較結果は、コマンド解析部233に入力される。2つの固有IDが一致しない場合、すなわち比較結果として不一致信号が入力された場合、コマンド解析部233は、情報処理装置10から入力されたコマンドに応じた動作の実行指示を行わない。すなわち、コマンド解析部233は、情報処理装置10から入力されるコマンドを受け付けない。
【0136】
一方、2つの固有IDが一致する場合、すなわち比較結果として一致信号が入力された場合、コマンド解析部233は、情報処理装置10から入力されたコマンドに応じた動作の実行指示を開始し、情報処理装置10から入力されるコマンドを受け付けるようになる。
【0137】
第2記憶部222は、マスクROM、フラッシュメモリ、またはEPROM等の不揮発性の半導体メモリであって、プログラムおよび/またはデータ等のアプリケーション情報を記憶している。また、第2記憶部222は、メモリ装置20Cに固有の識別情報である固有ID2Uをさらに記憶している。固有ID2Uは、工場出荷時等に第2記憶部222に予め記憶される。
【0138】
第2メモリ内制御部212は、復号化部236と、コマンド解析部237と、暗号化部238と、比較部239とを有している。
【0139】
コマンド解析部237は、上記コマンド解析部233と同様の機能を有し、第2記憶部222に対するコマンドを解析して、当該コマンドに応じた所定動作の実行指示を行う指示手段として機能する。
【0140】
比較部239は、第1記憶部221から取得される固有IDと、第2記憶部222から読み出される固有ID2Uとを比較して、比較結果を出力する。詳細には、比較部239は、2つの固有IDが一致する場合は、一致することを示す信号(一致信号)を比較結果として出力し、2つの固有IDが一致しない場合は、一致しないことを示す信号(不一致信号)を比較結果として出力する。
【0141】
比較部239から出力された比較結果は、コマンド解析部237に入力される。2つの固有IDが一致しない場合、すなわち比較結果として不一致信号が入力された場合、コマンド解析部237は、情報処理装置10から入力されたコマンドに応じた動作の実行指示を行わない。すなわち、コマンド解析部237は、情報処理装置10から入力されるコマンドを受け付けない。
【0142】
一方、2つの固有IDが一致する場合、すなわち比較結果として一致信号が入力された場合、コマンド解析部237は、情報処理装置10から入力されたコマンドに応じた動作の実行指示を開始し、情報処理装置10から入力されるコマンドを受け付けるようになる。
【0143】
このように、メモリ情報保護システム1Cでは、第1メモリユニット201において、第2半導体メモリ222が正当な記憶部であるか否かを判断する相手認証動作と、第2メモリユニット202において、第1半導体メモリ221が正当な記憶部であるか否かを判断する相手認証動作とが行われる。なお、メモリ情報保護システム1Cでは、第1メモリユニット201および第2メモリユニット202それぞれにおいて相手認証動作が行われることから、メモリ情報保護システム1Cにおいて実行される認証動作は、「相互認証動作」とも称される。
【0144】
[3−2.メモリ情報保護システム1Cの初期化動作]
ここで、メモリ情報保護システム1Cの動作について説明する。メモリ情報保護システム1Cの動作には、電源投入時に実行される初期化動作と、初期化動作終了後に実行される相互認証動作とが存在する。以下では、初期化動作および相互認証動作についてこの順序で説明する。図9は、メモリ情報保護システム1Cの初期化動作を説明するための図である。
【0145】
初期化動作は、第2記憶部222に記憶されている固有ID2Uを第1記憶部221のOTP領域242に格納する動作であり、上述のとおり電源投入時に実行される。
【0146】
具体的には、初期化動作開始前には、メモリ装置20Cが情報処理装置10に装着されて、メモリ装置20Cと情報処理装置10とが電気的に接続される。そして、情報処理装置10の電源投入に応じて、情報処理装置10が起動されるとともに、電源が情報処理装置10からメモリ装置20Cに供給されて、初期化動作が開始される。
【0147】
図9に示されるように、初期化動作では、まず、コマンド生成部101は、第2記憶部222に記憶された固有ID2Uの読出コマンドを生成し、生成した固有ID2Uの読出コマンドを、コマンド発行制御部115に設定する(図9の(F1))。
【0148】
そして、コマンド発行制御部115は、固有ID2Uの読出コマンドを発行する(F2)。発行された固有ID2Uの読出コマンドは、暗号化部116に伝送される。
【0149】
暗号化部116は、固有ID2Uの読出コマンドに対して暗号化処理を施す。暗号化部116で暗号化された、固有ID2Uの読出コマンドは、メモリ装置20Cの復号化部236に伝送される(F3)。
【0150】
復号化部236は、暗号化された固有ID2Uの読出コマンドに対して復号化処理を施す。復号化された、固有ID2Uの読出コマンドは、コマンド解析部237に出力される(F4)。
【0151】
コマンド解析部237は、固有ID2Uの読出コマンドを解析して、固有ID2Uの読出信号と読出アドレスデータとを第2記憶部222に与え、第2記憶部222に記憶された固有ID2Uの読出動作を実行させる(F5)。
【0152】
第2記憶部222は、固有ID2Uの読出動作の実行指示に応じて、記憶している固有ID2Uを暗号化部238に出力する(F6)。
【0153】
暗号化部238は、第2記憶部222から入力される固有ID2Uに暗号化処理を施す。暗号化された固有ID2Uは、情報処理装置10の復号化部117に伝送される(F7)。
【0154】
復号化部117は、暗号化された固有ID2Uに復号化処理を施す。復号化された固有ID2Uは、コマンド発行制御部111に伝送される(F8)。
【0155】
ここで、コマンド生成部101は、第1記憶部221に設けられたOTP領域242へ固有ID2Uを書き込むための書込コマンド(固有ID書込コマンド)を生成し、生成した固有ID書込コマンドを、コマンド発行制御部111に設定する(F9)。
【0156】
コマンド発行制御部111は、固有ID書込コマンドを発行する。発行された固有ID書込コマンドは、暗号化部112に入力される(F10)。また、コマンド発行制御部111は、第2記憶部222から取得した固有ID2Uをも暗号化部112に出力する(F10)。
【0157】
暗号化部112は、コマンド発行制御部111から入力された固有ID書込コマンドおよび固有ID2Uに暗号化処理を施す。暗号化された固有ID書込コマンドおよび固有ID2Uは、メモリ装置20Cの復号化部232に伝送される(F11)。
【0158】
復号化部232は、暗号化された固有ID書込コマンドおよび固有ID2Uに対して復号化処理を施す。復号化された、固有ID書込コマンドおよび固有ID2Uは、コマンド解析部233に出力される(F12)。
【0159】
コマンド解析部233は、固有ID書込コマンドを解析して、固有ID2UをOTP領域242に記憶する書込動作を第1記憶部221に実行させる(F13)。当該書込動作によって、固有ID2Uは、第1記憶部221のOTP領域242に記憶されることになる。
【0160】
このように、初期化動作では、情報処理装置10の指示に基づいて、第2記憶部222に記憶されていた固有ID2Uが読み出され、当該固有ID2Uが第1記憶部221のOTP領域242に書き込まれることになる。これにより、第1記憶部221および第2記憶部222それぞれには、互いに共通した、固有の識別情報である固有IDが記憶された状態となる。
【0161】
なお、初期化動作は、情報処理装置10を起動する際に毎回実行される動作としてもよく、メモリ装置20Cに最初に電源が供給されたときに1度だけ実行される動作としてもよい。仮に、初期化動作が情報処理装置10を起動する際に毎回実行される動作であったとしても、OTP領域242は、情報の消去および書き換えが不能な記憶領域であるため、最初の初期化動作によってOTP領域242に記憶された固有ID2Uは変更されない。すなわち、最初の初期化動作以降に実行される初期化動作では、OTP領域242への再書込は実施されない。
【0162】
[3−3.メモリ情報保護システム1Cの相互認証動作]
次に、相互認証動作について詳述する。図10は、メモリ情報保護システム1Cの相互認証動作を説明するための図である。
【0163】
メモリ情報保護システム1Cで実行される相互認証動作は、メモリ装置20C内の第1記憶部221および第2記憶部222の正当性をそれぞれ判断する動作であり、上記初期化動作終了後に、或いは、初期化動作完了済みのメモリ装置20Cを装着して、情報処理装置10を起動する際に実行される。
【0164】
具体的には、図10に示されるように、メモリ情報保護システム1Cの相互認証動作では、まず、コマンド生成部101が、第2記憶部222に記憶された固有ID2Uの読出コマンドを生成し、生成した固有ID2Uの読出コマンドを、コマンド発行制御部115に設定する(図10の(E1))。
【0165】
そして、コマンド発行制御部115は、固有ID2Uの読出コマンドを発行する(E2)。発行された固有ID2Uの読出コマンドは、暗号化部116に伝送される。
【0166】
暗号化部116は、固有ID2Uの読出コマンドに対して暗号化処理を施す。暗号化部116で暗号化された、固有ID2Uの読出コマンドは、メモリ装置20Cの復号化部236に伝送される(E3)。
【0167】
復号化部236は、暗号化された固有ID2Uの読出コマンドに対して復号化処理を施す。復号化された、固有ID2Uの読出コマンドは、コマンド解析部237に出力される(E4)。
【0168】
コマンド解析部237は、固有ID2Uの読出コマンドを解析して、固有ID2Uの読出信号と読出アドレスデータとを第2記憶部222に与え、第2記憶部222に記憶された固有ID2Uの読出動作を実行させる(E5)。
【0169】
第2記憶部222は、固有ID2Uの読出動作の実行指示に応じて、記憶している固有ID2Uを暗号化部238に出力する(E6)。
【0170】
暗号化部238は、第2記憶部222から入力される固有ID2Uに暗号化処理を施す。暗号化された固有ID2Uは、情報処理装置10の復号化部117に伝送される(E7)。
【0171】
復号化部117は、暗号化された固有ID2Uに復号化処理を施して、復号化された固有ID2Uを取得する。復号化された固有ID2Uは、コマンド発行制御部111に伝送される(E8)。
【0172】
ここで、コマンド生成部101は、第1メモリユニット201において相手認証動作を実行させるための相手認証コマンドを生成し、生成した相手認証コマンドをコマンド発行制御部111に設定する(E9)。
【0173】
コマンド発行制御部111は、相手認証コマンドを発行する。発行された相手認証コマンドは、暗号化部112に入力される(E10)。また、コマンド発行制御部111は、第2記憶部222から取得した固有ID2Uをも暗号化部112に出力する(E10)。
【0174】
暗号化部112は、コマンド発行制御部111から入力された相手認証コマンドおよび固有ID2Uに暗号化処理を施す。暗号化された相手認証コマンドおよび固有ID2Uは、メモリ装置20Cの復号化部232に伝送される(E11)。
【0175】
復号化部232は、暗号化された相手認証コマンドおよび固有ID2Uに対して復号化処理を施す。復号化された、相手認証コマンドおよび固有ID2Uは、コマンド解析部233に出力される(E12)。
【0176】
コマンド解析部233は、相手認証コマンドを解析して、相手認証動作の実行指示を比較部235および第1記憶部221に対して行う。
【0177】
具体的には、コマンド解析部233は、第1記憶部221に対して、OTP領域242に記憶された固有IDの読出信号を与え、OTP領域242に記憶された固有IDの読出動作を実行させる(E14)。
【0178】
第1記憶部221は、固有IDの読出動作の実行指示に応じて、OTP領域242に記憶している固有IDを比較部235に出力する(E15)。
【0179】
また、コマンド解析部233は、比較部235に対して、第2記憶部222から読み出された固有ID2Uを出力する(E13)。
【0180】
比較部235は、第2記憶部222から取得された固有ID2Uと、第1記憶部221のOTP領域242に記憶されていた固有IDとを比較して、2つの固有IDが一致するか否かを示す比較結果を出力する(E16)。比較部235から出力された比較結果は、コマンド解析部233に入力される。
【0181】
比較部235から出力される比較結果は、相手認証の認証結果を示している。すなわち、2つの固有IDが一致することを示す一致信号が比較結果として出力された場合、相手認証は成立したことになる。一方、2つの固有IDが一致しないことを示す不一致信号が比較結果として出力された場合、相手認証は不成立となる。
【0182】
このように、比較部235は、メモリ装置20C内の第2記憶部222の正当性を判断する判断手段として機能する。
【0183】
相手認証が成立した場合、すなわち、第2記憶部222が正当であると判断された場合、コマンド解析部233は、情報処理装置10から入力されたコマンドに応じた動作の実行指示を開始し、情報処理装置10から入力されるコマンドを受け付けるようになる。
【0184】
一方、相手認証が成立しなかった場合、すなわち、第2記憶部222が正当であると判断されなかった場合、コマンド解析部233は、情報処理装置10から入力されたコマンドに応じた動作の実行指示を行わない。すなわち、コマンド解析部233は、情報処理装置10から入力されるコマンドを受け付けない。
【0185】
次に、コマンド生成部101は、第1記憶部221のOTP領域242に記憶された固有IDの読出コマンドを生成し、生成した固有IDの読出コマンドを、コマンド発行制御部111に設定する(図10の(E17))。
【0186】
コマンド発行制御部111は、OTP領域242に記憶された固有IDの読出コマンドを発行する。発行された固有IDの読出コマンドは、暗号化部112に伝送される(E18)。
【0187】
暗号化部112は、固有IDの読出コマンドに対して暗号化処理を施す。暗号化部112で暗号化された、固有IDの読出コマンドは、メモリ装置20Cの復号化部232に伝送される(E19)。
【0188】
復号化部232は、暗号化された固有IDの読出コマンドに対して復号化処理を施す。復号化された、固有ID2Uの読出コマンドは、コマンド解析部233に出力される(E20)。
【0189】
コマンド解析部233は、固有IDの読出コマンドを解析して、固有IDの読出信号と読出アドレスデータとを第1記憶部221に与え、第1記憶部221のOTP領域242に記憶された固有IDの読出動作を実行させる(E21)。
【0190】
第1記憶部221は、固有IDの読出動作の実行指示に応じて、記憶している固有IDを暗号化部231に出力する(E22)。
【0191】
暗号化部231は、第1記憶部221から入力される固有IDに暗号化処理を施す。暗号化された固有IDは、情報処理装置10の復号化部113に伝送される(E23)。
【0192】
復号化部113は、暗号化された固有IDに復号化処理を施して、復号化された固有IDを取得する。復号化された固有IDは、コマンド発行制御部115に伝送される(E24)。
【0193】
ここで、コマンド生成部101は、第2メモリユニット202において相手認証動作を実行させるための相手認証コマンドを生成し、生成した相手認証コマンドをコマンド発行制御部115に設定する(E25)。
【0194】
そして、コマンド発行制御部115は、相手認証コマンドを発行する。発行された相手認証コマンドは、暗号化部116に入力される(E26)。また、コマンド発行制御部115は、第1記憶部221から取得した固有IDをも暗号化部116に出力する(E26)。
【0195】
暗号化部116は、コマンド発行制御部115から入力された相手認証コマンドおよび固有IDに暗号化処理を施す。暗号化された相手認証コマンドおよび固有IDは、メモリ装置20Cの復号化部236に伝送される(E27)。
【0196】
復号化部236は、暗号化された相手認証コマンドおよび固有IDに対して復号化処理を施す。復号化された、相手認証コマンドおよび固有IDは、コマンド解析部237に出力される(E28)。
【0197】
コマンド解析部237は、相手認証コマンドを解析して、相手認証動作の実行指示を比較部239および第2記憶部222に対して行う。
【0198】
具体的には、コマンド解析部239は、第2記憶部222に対して、固有ID2Uの読出信号を与え、固有ID2Uの読出動作を実行させる(E30)。
【0199】
第2記憶部222は、固有IDの読出動作の実行指示に応じて、固有ID2Uを比較部239に出力する(E31)。
【0200】
また、コマンド解析部237は、比較部239に対して、第1記憶部221から読み出された固有IDを出力する(E29)。
【0201】
比較部239は、第1記憶部221から取得された固有IDと、第2記憶部222に記憶されていた固有ID2Uとを比較して、2つの固有IDが一致するか否かを示す比較結果を出力する(E32)。比較部239から出力された比較結果は、コマンド解析部237に入力される。
【0202】
比較部239から出力される比較結果は、相手認証の認証結果を示している。すなわち、2つの固有IDが一致することを示す一致信号が比較結果として出力された場合、相手認証は成立したことになる。一方、2つの固有IDが一致しないことを示す不一致信号が比較結果として出力された場合、相手認証は不成立となる。
【0203】
このように、比較部239は、メモリ装置20C内の第1記憶部221の正当性を判断する判断手段として機能する。
【0204】
相手認証が成立した場合、すなわち、第1記憶部221が正当であると判断された場合、コマンド解析部237は、情報処理装置10から入力されたコマンドに応じた動作の実行指示を開始し、情報処理装置10から入力されるコマンドを受け付けるようになる。
【0205】
一方、相手認証が成立しなかった場合、すなわち、第1記憶部221が正当であると判断されなかった場合、コマンド解析部237は、情報処理装置10から入力されたコマンドに応じた動作の実行指示を行わない。すなわち、コマンド解析部237は、情報処理装置10から入力されるコマンドを受け付けない。
【0206】
このように、メモリ情報保護システム1Cでは、動作開始時に、メモリ装置20Cにおいて第2記憶部222の正当性を判断する相手認証動作と、第1記憶部221の正当性を判断する相手認証動作とを順次に実行することによって、相互認証動作が行われる。そして、相互認証が成立しなかった場合、メモリ装置20Cはコマンドを受け付けなくなるので、非正規の情報処理装置を用いてメモリ装置20Cの第1記憶部221および第2記憶部222からデータを読み出すことが困難になる。すなわち、無断複製者によるメモリ装置20Cの複製が困難になる。
【0207】
また、メモリ情報保護システム1Cで実行される相互認証動作では、第1記憶部221の正当性と第2記憶部222の正当性とが判断されることになるので、無断複製者によるメモリ装置の複製をより一層困難にすることが可能になる。
【0208】
<4.第4実施形態>
次に、本発明の第4実施形態について説明する。上記第4実施形態に係るメモリ情報保護システム1Dは、固有IDが予め第1記憶部221に記憶されている点以外は、メモリ情報保護システム1Cとほぼ同様の構造および機能を有しており、共通する部分については同じ符号を付して説明を省略する。図11は、第4実施形態に係るメモリ情報保護システム1Dの機能構成を示すブロック図である。
【0209】
図11に示されるように、メモリ情報保護システム1Dのメモリ装置20Dは、第1記憶部221において、相手認証に用いる固有ID1Uを記憶している。
【0210】
なお、当該固有ID1Uは、OTP領域等の消去および書き換えが不可能な記憶領域に記憶されることが好ましい。
【0211】
このようなメモリ情報保護システム1Dによれば、第1記憶部221に固有ID1Uが予め記憶されているため、固有IDを第1記憶部221に記憶させる第3実施形態の上記初期化動作を実行する必要がなく、動作を簡素化することができる。
【0212】
<5.変形例>
以上、実施の形態について説明したが、この発明は、上記に説明した内容に限定されるものではない。
【0213】
例えば、上記第1実施形態では、MAC値を記憶した第1記憶部221と、固有ID2Uを記憶した第2記憶部222とを用いて相手認証を行う態様を例示したが、これに限定されない。
【0214】
具体的には、固有ID2Uを記憶した第1記憶部221と、MAC値を記憶した第2記憶部222とを用いて相手認証を行ってもよい。この場合、メモリ装置20A(20B)は、第1記憶部221から取得した固有ID2Uを用いてMAC値を生成するとともに、生成したMAC値と、第2記憶部222から取得したMAC値とを比較することによって、第2記憶部222の正当性を判断する相手認証を行うことになる。
【0215】
なお、当該変形例のように、固有ID2Uを記憶した第1記憶部221と、MAC値を記憶した第2記憶部222とを用いて相手認証を行う場合、第1実施形態の初期化動作では、第2記憶部222に記憶されている固有ID2Uを、第1記憶部221のOTP領域242に記憶する動作が行われる。
【0216】
また、上記各実施形態では、メモリ装置20A(20B〜20D)が情報処理装置10に着脱可能な構成としていたが、これに限定されない。具体的には、メモリ装置20A(20B〜20D)と情報処理装置10との間で行うデータのやりとりを無線通信で行う構成とした場合、メモリ装置20A(20B〜20D)は、情報処理装置10に着脱自在に構成される態様でなくてもよい。
【0217】
また、上記第1および第2実施形態では、相手認証において認証判断に使用する評価値としてMAC値を用いていたが、これに限定されない。
【0218】
具体的には、ハードウェア鍵141を用いることなく、ハッシュ関数を用いた演算処理を固有ID2Uに施して、ハッシュ値を算出し、当該ハッシュ値を評価値として用いて相手認証を行ってもよい。
【0219】
より詳細には、第1の変形例に係るメモリ情報保護システムは、相手認証動作開始前には、第1記憶部221にハッシュ値を記憶し、第2記憶部222に固有ID2Uを記憶している。相手認証動作が開始されると、メモリ装置20A(20B)は、第2記憶部222から取得した固有ID2Uを用いてハッシュ値を算出するとともに、第1記憶部221からハッシュ値を取得する。そして、情報処理装置10は、固有ID2Uを用いて算出したハッシュ値と、第1記憶部221から取得したハッシュ値とを比較することによって、相手認証を行う。
【0220】
またさらに、メモリ装置の第1記憶部221および第2記憶部222それぞれに記憶された情報(例えば、固有ID)を相手認証に使用する評価値としてそのまま用いてもよい。
【0221】
より詳細には、第2の変形例に係るメモリ情報保護システムでは、メモリ装置の第1記憶部221および第2記憶部222それぞれに記憶された情報(例えば、固有ID)を単純に比較することによって、相手認証を行う。
【0222】
ただし、上記第1および第2実施形態、第1の変形例、および第2の変形例で実行される各相手認証の信頼性を比較すると、上記第1および第2実施形態に係るメモリ情報保護システム1A,1Bで実行される相手認証の信頼性が最も高い。一方、第2の変形例に係るメモリ情報保護システムで実行される相手認証の信頼性が最も低い。
【0223】
具体的には、上記第1および第2実施形態のメモリ情報保護システム1A,1Bでは、MAC値の生成にハードウェア鍵141をも用いているため、無断複製者は、相手認証に用いるMAC値を生成することが困難であり、相手認証の信頼性は高い。
【0224】
例えば、固有ID2Uが無断複製者に取得されたとしても、ハードウェア鍵141の機密性が保たれている限り、無断複製者は、相手認証に用いるMAC値を生成することができない。
【0225】
これに対して、第1の変形例に係るメモリ情報保護システムでは、固有ID2Uが無断複製者に取得されると、ハッシュ関数のアルゴリズムは一般に公開されているため、無断複製者は、相手認証に用いるハッシュ値を生成することが可能になる。このように相手認証に用いる評価値を無断複製者に取得される可能性が高くなると、相手認証の信頼性は低くなる。
【0226】
第2の変形例に係るメモリ情報保護システムは、第2記憶部222に記憶された固有IDをそのまま相手認証の評価値として用いる構成であるため、相手認証に用いる評価値が無断複製者に取得される可能性が高く、第2の変形例で実行される相手認証の信頼性は、第1の変形例で実行される相手認証の信頼性よりもさらに低いと言える。
【0227】
したがって、無断複製者によるメモリ装置の複製を困難にするためには、信頼性の高い相手認証を採用する方が好ましい。
【0228】
なお、上記第1および第2実施形態、第1の変形例、および第2の変形例では、メモリ装置と情報処理装置との間で行われるデータ伝送は、暗号化して行われる。これにより、無断複製者が固有ID2Uを取得する可能性を低くすることができるため、ハッシュ値または固有IDを相手認証の評価値として用いたとしても、相手認証の信頼性を十分確保することができる。
【0229】
また、上記第1および第2実施形態では、MAC値の生成に用いる鍵として、ハードウェア鍵141を例示したが、これに限定されない。
【0230】
具体的には、MAC値の生成に用いる鍵は、メモリ装置20A,20B内の記憶部に記憶されている態様であってもよい。なお、MAC値の生成に用いる鍵は、メモリ装置20A,20B内で管理される鍵であり、外部から読み出し不可能に保持される。
【0231】
また、上記第3および第4実施形態では、相互認証に用いる評価値として固有IDを採用していたが、これに限定されない。
【0232】
具体的には、相互認証に用いる評価値としてMAC値を採用してもよい。この場合、第1記憶部221および第2記憶部222それぞれには、固有IDの他にMAC値が記憶されることになるとともに、第1メモリ内制御部211および第2メモリ内制御部212それぞれには、メッセージ認証コード生成部が設けられることになる。
【0233】
また、上記各実施形態では、相手認証動作は、情報処理装置10から発行される相手認証コマンドに応じて実行していたが、これに限定されない。
【0234】
具体的には、メモリ装置20A(20B〜20D)への電源供給に応じて、メモリ装置20A(20B〜20D)が相手認証動作を能動的に実行する態様としてもよい。
【0235】
なお、この場合、メモリ装置20A(20B〜20D)が非正規の情報処理装置に装着されたときも、相手認証動作を実行することが可能になるが、非正規の情報処理装置では、固有IDまたはMAC値の伝送を適切に行うことができないため、相手認証を成立させることができない。
【符号の説明】
【0236】
1A,1B,1C,1D メモリ情報保護システム(メモリシステム)
10 情報処理装置
100 全体制御部
101 コマンド生成部
110 メモリ制御部
111,115 コマンド発行制御部
20A〜20D メモリ装置
201 第1メモリユニット
202 第2メモリユニット
211,212 メモリ内制御部
221 第1記憶部(第1半導体メモリ)
222 第2記憶部(第2半導体メモリ)
233,237,239 コマンド解析部
234 メッセージ認証コード生成部
235,239 比較部
D1,D2 関連情報
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11