JP2004030102A - 情報記憶装置、およびメモリアクセス制御システム、および方法、並びにコンピュータ・プログラム - Google Patents
情報記憶装置、およびメモリアクセス制御システム、および方法、並びにコンピュータ・プログラム Download PDFInfo
- Publication number
- JP2004030102A JP2004030102A JP2002183881A JP2002183881A JP2004030102A JP 2004030102 A JP2004030102 A JP 2004030102A JP 2002183881 A JP2002183881 A JP 2002183881A JP 2002183881 A JP2002183881 A JP 2002183881A JP 2004030102 A JP2004030102 A JP 2004030102A
- Authority
- JP
- Japan
- Prior art keywords
- lock
- key
- storage device
- information storage
- memory
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 343
- 230000015654 memory Effects 0.000 title claims abstract description 222
- 238000004590 computer program Methods 0.000 title claims description 10
- 238000012545 processing Methods 0.000 claims abstract description 314
- 238000012795 verification Methods 0.000 claims abstract description 75
- 230000008569 process Effects 0.000 claims description 312
- 230000010365 information processing Effects 0.000 claims description 121
- 238000004364 calculation method Methods 0.000 claims description 29
- 238000013500 data storage Methods 0.000 claims description 18
- 238000010200 validation analysis Methods 0.000 claims description 4
- 238000010586 diagram Methods 0.000 description 24
- 238000004422 calculation algorithm Methods 0.000 description 12
- 238000004891 communication Methods 0.000 description 8
- 238000007726 management method Methods 0.000 description 6
- 238000012546 transfer Methods 0.000 description 5
- 230000005540 biological transmission Effects 0.000 description 4
- 238000006243 chemical reaction Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 238000010295 mobile communication Methods 0.000 description 3
- 238000005070 sampling Methods 0.000 description 3
- 230000008859 change Effects 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 230000005236 sound signal Effects 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 230000003321 amplification Effects 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 230000006837 decompression Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- JEIPFZHSYJVQDO-UHFFFAOYSA-N iron(III) oxide Inorganic materials O=[Fe]O[Fe]=O JEIPFZHSYJVQDO-UHFFFAOYSA-N 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000003199 nucleic acid amplification method Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 229920001690 polydopamine Polymers 0.000 description 1
- 238000013139 quantization Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/31—User authentication
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/14—Protection against unauthorised use of memory or access to memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/14—Protection against unauthorised use of memory or access to memory
- G06F12/1458—Protection against unauthorised use of memory or access to memory by checking the subject access rights
- G06F12/1466—Key-lock mechanism
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/10—Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/78—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06K—GRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
- G06K19/00—Record carriers for use with machines and with at least a part designed to carry digital markings
- G06K19/06—Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code
- G06K19/067—Record carriers with conductive marks, printed circuits or semiconductor circuit elements, e.g. credit or identity cards also with resonating or responding marks without active components
- G06K19/07—Record carriers with conductive marks, printed circuits or semiconductor circuit elements, e.g. credit or identity cards also with resonating or responding marks without active components with integrated circuit chips
- G06K19/073—Special arrangements for circuits, e.g. for protecting identification code in memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/21—Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/2129—Authenticate client device independently of the user
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/062—Securing storage systems
- G06F3/0622—Securing storage systems in relation to access
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0629—Configuration or reconfiguration of storage systems
- G06F3/0637—Permissions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0679—Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- Multimedia (AREA)
- Technology Law (AREA)
- Human Computer Interaction (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Storage Device Security (AREA)
- Lock And Its Accessories (AREA)
Abstract
【課題】メモリのアクセス制御処理としてのロック、アンロックをアクセス要求元の出力するキーセットの検証に基づいて実行する装置および方法を提供する。
【解決手段】メモリカード等の情報記憶装置において、PC等の情報処理装置からメモリのロック処理要求コマンド、またはロック解除要求であるアンロック処理要求コマンドを入力し、入力コマンドに応じた処理を実行する際に、情報処理装置がIDおよびロックキー(LK)からなる正当なキーセットを有しているか否かの検証処理を、LK=H(LMK,ID)の関係からなるロックマスターキー(LMK)を適用して実行する。検証の成立を条件として、前記コマンドに基づく処理を実行する。
【選択図】 図8
【解決手段】メモリカード等の情報記憶装置において、PC等の情報処理装置からメモリのロック処理要求コマンド、またはロック解除要求であるアンロック処理要求コマンドを入力し、入力コマンドに応じた処理を実行する際に、情報処理装置がIDおよびロックキー(LK)からなる正当なキーセットを有しているか否かの検証処理を、LK=H(LMK,ID)の関係からなるロックマスターキー(LMK)を適用して実行する。検証の成立を条件として、前記コマンドに基づく処理を実行する。
【選択図】 図8
Description
【0001】
【発明の属する技術分野】
本発明は、情報記憶装置、メモリアクセス制御システム、および方法、並びにコンピュータ・プログラムに関する。さらに詳細には、メモリカード等の情報記憶装置の格納データに対する様々な態様でのアクセス制限構成を実現し、情報記憶装置内のメモリのロック処理またはアンロック処理を情報記憶装置の有する識別子等によって構成されるキーセットの検証に基づいて実行し、セキュアなメモリアクセス制御管理を実現する情報記憶装置、メモリアクセス制御システム、および方法、並びにコンピュータ・プログラムに関する。
【0002】
【従来の技術】
PC(Personal Computer)、PDA(Personal Digital Assistants)、デジタルカメラ、データ記録再生装置、あるいはゲーム機器等、様々な情報処理装置では、ハードディスク、DVD、CD、メモリカード等、様々な記憶媒体を利用したデータの記録、再生処理が実行される。
【0003】
昨今では、フラッシュメモリ等によって構成されるメモリ部と、CPU等によって構成される制御部とを備えた小型のカード型メモリ装置が、音楽データ、画像データ、プログラム等、様々なソフトウエアデータ(コンテンツ(Content))の記憶手段として多く利用されている。
【0004】
メモリカード等に格納されたデータの読み出し、あるいはデータ書き込みは、メモリカード・インタフェースを有する機器にカードを装着し、インタフェースを介してデータ転送を行なうことにより可能となる。メモリ装置を利用したデータ記録再生は、誰もが自由に実行できる構成とすることも可能であるが、例えばパスワード設定、あるいは暗号処理などによって、特定ユーザ、あるいは特定機器のみに対してメモリ・アクセスを許可し、権限を持たない第三者によるアクセスを排除した、いわゆるアクセ制限構成が実現されている。
【0005】
例えばアクセス権限を有するユーザのみが知り得るパスワードを設定して、情報再生装置としてのコンテンツ利用機器から、メモリカード等のコンテンツ格納機器に対してパスワードを転送し、メモリカード側の制御部(CPU等)においてパスワードの検証を実行して、検証成立を条件として、メモリカード等のコンテンツ格納機器から、情報再生装置としてのコンテンツ利用機器に対してコンテンツを出力する構成、あるいは、情報再生装置としてのコンテンツ利用機器と、メモリカード等のコンテンツ格納機器間において相互認証処理を実行して、相互認証が成立したことを条件として、メモリカード等のコンテンツ格納機器から、情報再生装置としてのコンテンツ利用機器に対してコンテンツを出力する構成等がある。
【0006】
【発明が解決しようとする課題】
このように、データ(コンテンツ)利用権限を確認した上でデータを利用可能とする形態は、様々な形態がある。
【0007】
しかしながら、メモリカード等のデータ記憶装置は、PC、PDA、デジタルカメラ等、様々な機器に装着可能であり、これらの機器で、相互に1つのメモリカードを利用する場合も多い。このようなデータ利用形態において、メモリカードを機器に装着する毎に上述したパスワード検証処理、認証処理等の実行が要求されると、データ読み取りあるいはデータ書き込み等の処理に至るまでに時間を要し、処理効率が低下することになる。
【0008】
本発明は、上述の問題点に鑑みてなされたものであり、情報記憶装置内のメモリのロック処理またはアンロック処理を情報記憶装置の有する識別子等によって構成されるキーセットの検証に基づいて実行し、セキュアなメモリアクセス制御管理を実現した情報記憶装置、メモリアクセス制御システム、および方法、並びにコンピュータ・プログラムを提供することを目的とする。
【0009】
【課題を解決するための手段】
本発明の第1の側面は、
データ記憶用のメモリと、該メモリに対するアクセス制御を実行する制御部とを有する情報記憶装置であり、
前記制御部は、
情報処理装置から前記メモリのロック処理要求コマンド、またはロック解除要求であるアンロック処理要求コマンドを入力し、入力コマンドに応じた処理を実行する構成であるとともに、
前記コマンドを出力した情報処理装置に対応して設定された識別子(ID)に基づいて、前記情報処理装置が、該識別子(ID)を含む正当なキーセットを有しているか否かの検証処理を実行し、該検証の成立を条件として、前記コマンドに基づく処理を実行する構成であることを特徴とする情報記憶装置にある。
【0010】
さらに、本発明の情報記憶装置の一実施態様において、前記情報処理装置の有するキーセットは、情報処理装置の固有ID(ID)と、該固有IDに対応するロックキー(LK)からなるキーセット[ID,LK]であり、前記情報記憶装置は、LK=H(LMK,ID)の関係、すなわち、IDに対するロックマスターキー(LMK)を適用したハッシュ値としてロックキー(LK)の算出が可能なロックマスターキー(LMK)を有し、前記制御部は、情報処理装置から入力する情報処理装置固有のキーセットの検証を前記ロックマスターキー(LMK)を適用したハッシュ値算出により取得したロックキー(LK)に基づいて実行する構成であることを特徴とする。
【0011】
さらに、本発明の情報記憶装置の一実施態様において、前記制御部は、乱数発生処理を実行し、情報処理装置の所有するロックキー(LK)に基づく前記乱数(Rms)の暗号化データ[E(Lk,Rms)]を該情報処理装置から受信し、該受信暗号化データと、前記ハッシュ値算出による取得したロックキー(LK)に基づいて算出した暗号化データ[E(Lk,Rms)]との照合を含む検証処理を実行する構成であることを特徴とする。
【0012】
さらに、本発明の情報記憶装置の一実施態様において、前記制御部は、前記情報処理装置からの入力コマンドがロックコマンドである場合、前記情報処理装置から識別子(ID)を入力し、該入力識別子(ID)に基づいて、検証処理を実行する構成であることを特徴とする。
【0013】
さらに、本発明の情報記憶装置の一実施態様において、前記制御部は、前記情報処理装置からの入力コマンドがアンロックコマンドである場合、ロック処理実行に際して情報処理装置から入力し、メモリに格納した識別子(ID)を、該メモリから読み出し、読み出した識別子(ID)に基づいて、検証処理を実行する構成であることを特徴とする。
【0014】
さらに、本発明の第2の側面は、
データ記憶用のメモリと、該メモリに対するアクセス制御を実行する制御部とを有する情報記憶装置と、前記情報記憶装置に対するインタフェースを有し、該インタフェースを介して情報記憶装置内のメモリアクセスを実行する情報処理装置とを有するメモリアクセス制御システムであり、
前記情報処理装置は、
識別子(ID)およびロックキー(LK)を含むキーセットを記憶手段に格納し、
前記情報記憶装置の制御部は、
情報処理装置から前記メモリのロック処理要求コマンド、またはロック解除要求であるアンロック処理要求コマンドを入力し、入力コマンドに応じた処理を実行する構成であるとともに、
前記コマンドの入力を行なった情報処理装置に対応して設定された識別子(ID)に基づいて、前記情報処理装置が、該識別子(ID)を含む正当なキーセットを有しているか否かの検証処理を実行し、該検証の成立を条件として、前記コマンドに基づく処理を実行する構成であることを特徴とするメモリアクセス制御システムにある。
【0015】
さらに、本発明のメモリアクセス制御システムの一実施態様において、前記情報処理装置の有するキーセットは、情報処理装置の固有ID(ID)と、該固有IDに対応するロックキー(LK)からなるキーセット[ID,LK]であり、前記情報記憶装置は、LK=H(LMK,ID)の関係、すなわち、IDに対するロックマスターキー(LMK)を適用したハッシュ値としてロックキー(LK)の算出が可能なロックマスターキー(LMK)を有し、前記情報記憶装置の制御部は、情報処理装置から入力する情報処理装置固有のキーセットの検証を前記ロックマスターキー(LMK)を適用したハッシュ値算出により取得したロックキー(LK)に基づいて実行する構成であることを特徴とする。
【0016】
さらに、本発明のメモリアクセス制御システムの一実施態様において、前記情報記憶装置の制御部は、乱数発生処理を実行し、情報処理装置の所有するロックキー(LK)に基づく前記乱数(Rms)の暗号化データ[E(Lk,Rms)]を該情報処理装置から受信し、該受信暗号化データと、前記ハッシュ値算出による取得したロックキー(LK)に基づいて算出した暗号化データ[E(Lk,Rms)]との照合を含む検証処理を実行する構成であることを特徴とする。
【0017】
さらに、本発明のメモリアクセス制御システムの一実施態様において、前記情報記憶装置の制御部は、前記情報処理装置からの入力コマンドがロックコマンドである場合、前記情報処理装置から識別子(ID)を入力し、該入力識別子(ID)に基づいて、検証処理を実行する構成であることを特徴とする。
【0018】
さらに、本発明のメモリアクセス制御システムの一実施態様において、前記情報記憶装置の制御部は、前記情報処理装置からの入力コマンドがアンロックコマンドである場合、ロック処理実行に際して情報処理装置から入力し、メモリに格納した識別子(ID)を、該メモリから読み出し、読み出した識別子(ID)に基づいて、検証処理を実行する構成であることを特徴とする。
【0019】
さらに、本発明の第3の側面は、
データ記憶用のメモリと、該メモリに対するアクセス制御を実行する制御部とを有する情報記憶装置におけるメモリアクセス制御方法であり、
情報処理装置から前記メモリのロック処理要求コマンド、またはロック解除要求であるアンロック処理要求コマンドを入力するステップと、
前記コマンドを出力した情報処理装置に対応して設定された識別子(ID)に基づいて、前記情報処理装置が、該識別子(ID)を含む正当なキーセットを有しているか否かの検証処理を実行する検証ステップと、
前記検証の成立を条件として、前記コマンドに基づく処理を実行するステップと、
を有することを特徴とするメモリアクセス制御方法にある。
【0020】
さらに、本発明のメモリアクセス制御方法の一実施態様において、前記情報処理装置の有するキーセットは、情報処理装置の固有ID(ID)と、該固有IDに対応するロックキー(LK)からなるキーセット[ID,LK]であり、前記情報記憶装置は、LK=H(LMK,ID)の関係、すなわち、IDに対するロックマスターキー(LMK)を適用したハッシュ値としてロックキー(LK)の算出が可能なロックマスターキー(LMK)を有し、前記検証ステップは、情報処理装置から入力する情報処理装置固有のキーセットの検証を前記ロックマスターキー(LMK)を適用したハッシュ値算出により取得したロックキー(LK)に基づく検証処理を実行するステップを含むことを特徴とする。
【0021】
さらに、本発明のメモリアクセス制御方法の一実施態様において、前記検証ステップは、乱数発生処理を実行し、情報処理装置の所有するロックキー(LK)に基づく前記乱数(Rms)の暗号化データ[E(Lk,Rms)]を該情報処理装置から受信し、該受信暗号化データと、前記ハッシュ値算出による取得したロックキー(LK)に基づいて算出した暗号化データ[E(Lk,Rms)]との照合を含む検証処理を実行するステップを含むことを特徴とする。
【0022】
さらに、本発明のメモリアクセス制御方法の一実施態様において、前記検証ステップは、前記情報処理装置からの入力コマンドがロックコマンドである場合、前記情報処理装置から識別子(ID)を入力し、該入力識別子(ID)に基づいて、検証処理を実行するステップを含むことを特徴とする。
【0023】
さらに、本発明のメモリアクセス制御方法の一実施態様において、前記検証ステップは、前記情報処理装置からの入力コマンドがアンロックコマンドである場合、ロック処理実行に際して情報処理装置から入力し、メモリに格納した識別子(ID)を、該メモリから読み出し、読み出した識別子(ID)に基づいて、検証処理を実行するステップを含むことを特徴とする。
【0024】
さらに、本発明の第4の側面は、
データ記憶用のメモリと、該メモリに対するアクセス制御を実行する制御部とを有する情報記憶装置におけるメモリアクセス制御処理を実行するコンピュータ・プログラムであって、
情報処理装置から前記メモリのロック処理要求コマンド、またはロック解除要求であるアンロック処理要求コマンドを入力するステップと、
前記コマンドを出力した情報処理装置に対応して設定された識別子(ID)に基づいて、前記情報処理装置が、該識別子(ID)を含む正当なキーセットを有しているか否かの検証処理を実行する検証ステップと、
前記検証の成立を条件として、前記コマンドに基づく処理を実行するステップと、
を有することを特徴とするコンピュータ・プログラムにある。
【0025】
【作用】
本発明の構成によれば、メモリカード等の情報記憶装置において、PC等の情報処理装置からメモリのロック処理要求コマンド、またはロック解除要求であるアンロック処理要求コマンドを入力し、入力コマンドに応じた処理を実行する際に、コマンドを出力した情報処理装置に対応して設定された識別子(ID)に基づいて、情報処理装置が、該識別子(ID)を含む正当なキーセットを有しているか否かの検証処理を実行し、該検証の成立を条件として、前記コマンドに基づく処理を実行する構成としたので、セキュアな管理下でのメモリアクセス制御が実現される。
【0026】
さらに、本発明の構成によれば、情報処理装置に固有ID(ID)と、該固有IDに対応するロックキー(LK)からなるキーセット[ID,LK]を格納し、一方、情報記憶装置は、LK=H(LMK,ID)の関係、すなわち、IDに対するロックマスターキー(LMK)を適用したハッシュ値としてロックキー(LK)の算出が可能なロックマスターキー(LMK)を格納し、情報処理装置から入力する情報処理装置固有のキーセットの検証を前記ロックマスターキー(LMK)を適用したハッシュ値算出により取得したロックキー(LK)に基づいて実行する構成としたので、複数の異なるロックキー(LK)に対する検証を1つのロックマスターキー(LMK)に基づいて実行することが可能となる。
【0027】
さらに、本発明の構成によれば、情報処理装置の検証において、情報記憶装置側で乱数発生処理を実行し、情報処理装置の所有するロックキー(LK)に基づく乱数(Rms)の暗号化データ[E(Lk,Rms)]を該情報処理装置から受信し、該受信暗号化データと、ハッシュ値算出による取得したロックキー(LK)に基づいて算出した暗号化データ[E(Lk,Rms)]との照合を実行する構成としたので、照合毎に異なる乱数を適用した検証が可能となり、過去の照合履歴データを利用した不正アクセスが排除可能となる。
【0028】
なお、本発明のコンピュータ・プログラムは、例えば、様々なプログラム・コードを実行可能な汎用コンピュータ・システムに対して、コンピュータ可読な形式で提供する記憶媒体、通信媒体、例えば、CDやFD、MOなどの記憶媒体、あるいは、ネットワークなどの通信媒体によって提供可能なコンピュータ・プログラムである。このようなプログラムをコンピュータ可読な形式で提供することにより、コンピュータ・システム上でプログラムに応じた処理が実現される。
【0029】
本発明のさらに他の目的、特徴や利点は、後述する本発明の実施例や添付する図面に基づく、より詳細な説明によって明らかになるであろう。なお、本明細書においてシステムとは、複数の装置の論理的集合構成であり、各構成の装置が同一筐体内にあるものには限らない。
【0030】
【発明の実施の形態】
以下、本発明の情報記憶装置、メモリアクセス制御処理の実施例詳細について、図面を参照して詳細に説明する。
【0031】
まず、本発明の情報記憶装置を適用したデータ利用構成の概要について、図1を参照して説明する。情報処理装置20は、例えばPC(Personal Computer)21、PDA(Personal Digital Assistants)22、携帯通信端末23、デジタルカメラ24等、情報記憶装置30を装着し、情報記憶装置30からの情報を出力可能な機器である。
【0032】
これらの情報処理装置20は、例えばフラッシュメモリ等の不揮発性メモリ(NVM:Non−Volatile Memory)を搭載したメモリカード30を装着し、メモリカード30に対してデータを格納し、あるいはメモリカードに格納されたデータの読み出しを実行する。
【0033】
PC(Personal Computer)21、22、PDA(Personal Digital Assistants)23、携帯通信端末24、デジタルカメラ25の各々は、1つのメモリカード30を相互に利用する場合もある。例えばデジタルカメラ25で撮影した画像データをメモリカード30に格納し、その後、メモリカード30をPC21に装着して格納画像データの表示、画像処理等を実行したり、あるいは、PC21において、インターネット等のネットワークを介して、またはCD、DVD等を介して入手した音楽データ等のコンテンツをメモリカード30に格納し、その後、コンテンツを格納したメモリカード30をPDA22に装着して、外出先で、PDA22を用いてコンテンツを再生するなどの利用が行なわれる。
【0034】
図2にメモリカード等の情報記憶装置を装着可能な情報処理装置の構成例を示す。CPU(Central Processing Unit)101は、各種アプリケーションプログラム、OS(Operating System)を実行するプロセッサである。後段で詳細に説明する情報記憶装置に対するアクセス制限処理としてのロック処理、アンロック処理におけるハッシュ値算出、乱数生成等を含む各種暗号処理、およびコマンド送受信等における制御を実行する。
【0035】
ROM(Read Only Memory)102は、CPU101が実行するプログラムや演算用のパラメータのうちの固定データ等を格納する。後段で詳細に説明する情報記憶装置に対する対するアクセス制限処理としてのロック処理、アンロック処理プログラム等が格納される。RAM(Random Access Memory)103は、CPU101の実行プログラムに適用する情報や、その実行において適宜変化するパラメータ等を格納する。
【0036】
DSP(Digital Signal Processor)104は、例えばメモリカード等の情報記憶装置200から記憶装置I/F113を介して入力したコンテンツの再生処理の際の暗号処理、イコライザ調整(音声信号の周波数帯域に対応した利得の調整)、圧縮伸長(エンコード/デコード)処理等を実行する。
【0037】
復号、伸長されたコンテンツは、デジタルアナログ変換回路105でアナログ音声信号に変換され、増幅回路106において増幅された後、音声出力部107を介して出力する。また、画像データの出力は、表示コントローラ108を介してLCD等の表示部109において実行される。入力I/F112からは、外部ソースからデジタル信号、またはアナログ信号を入力し、アナログ信号入力時にはA/D変換する。A/D変換は、入力される入力信号をデジタル信号へ変換する。また、外部ソースからの入力デジタル信号は、SRC(サンプリングレートコンバータ)により、所定のサンプリング周波数、量子化ビット数を持つデジタル信号に変換されて入力される。
【0038】
入出力I/F115は、外部機器を接続するインタフェースであり、例えばUSB,IEEE1394等の接続態様による接続を行ない接続された機器とのデータ転送が実行される。
【0039】
次に、図3を参照して、フラッシュメモリ等の不揮発性メモリ(NVM:Non−Volatile Memory)を搭載したメモリカード等の情報記憶装置200の構成例を示す。フラッシュメモリは、EEPROM(Electrically Erasable Programmable ROM)と呼ばれる電気的に書き換え可能な不揮発性メモリの一形態である。従来のEEPROMは、1ビットを2個のトランジスタで構成するために、1ビット当たりの占有面積が大きく、集積度を高くするのに限界があったが、フラッシュメモリは、全ビット一括消去方式により1ビットを1トランジスタで実現することが可能となった。
【0040】
このようなフラッシュメモリを持つ情報記憶装置200は、PC、PDA、デジタルカメラ等の情報処理装置に装着され、情報処理装置から入力するデータを、メモリ部220に格納し、また、メモリ部220に格納されたデータを情報処理装置に対して出力する。
【0041】
情報記憶装置200は、さらに制御部210を有し、制御部210は、各種プログラムを実行するプロセッサとしてのCPU(Central Processing Unit)211、CPU211が実行するプログラムや演算用のパラメータのうちの固定データ等を格納するROM(Read Only Memory)212、CPU211の実行プログラムに適用する情報や、その実行において適宜変化するパラメータ等を格納するRAM(Random Access Memory)213を有する。
【0042】
なお、RAM(Random Access Memory)213は、後段で詳細に説明する情報記憶装置に対する対するアクセス制限処理としてのロック処理、アンロック処理によって変化するロック状態の状態値データの格納領域としても使用される。
【0043】
制御部210は、さらに、情報処理装置間とのデータ入出力用のインタフェースとしての機器インタフェース214、メモリ部220とのデータ入出力用のインタフェースとしてのメモリインタフェース216を有する。
【0044】
CPU211は、後段で詳細に説明する情報処理装置との間で実行されるアクセス制限処理としてのロック処理、アンロック処理におけるハッシュ値算出、乱数生成等を含む各種暗号処理、およびコマンド送受信等における制御を実行する。
【0045】
[ロックマスターキー(LMK)に基づく処理]
次に、情報記憶装置に対するアクセス制限機構の一処理例として、ロックマスターキー(LMK)を適用したロック処理及びアンロック処理について説明する。図4を参照して本処理例、すなわちロックマスターキー(LMK)を適用した処理の概要を説明する。
【0046】
メモリカード等の情報記憶装置320のコンテンツ等のデータ格納領域であるフラッシュメモリ等によって構成されるメモリ部(図3のメモリ部220)に対するアクセス制限を有効にする処理をロック処理とし、アクセス制限を解除する処理をアンロック処理とする。このロック処理およびアンロック処理を実行するのが、ホスト装置310である。
【0047】
ホスト装置310は、先に図1、図2を参照して説明したように、メモリカード等の情報記憶装置320とのデータ転送を実行するインタフェースを有し、情報記憶装置320に対するデータ書き込みあるいは情報記憶装置320からのデータ読み出しを実行してデータ利用を行なうPC、PDA、デジタルカメラ、DSC(Digital Still Camera)等の情報処理装置を含む。さらに、ホスト装置310には、メモリカード等の情報記憶装置320に対するロック処理/アンロック処理実行専用機器としてのロック・アンロック用機器312も含まれる。
【0048】
ロック・アンロック用機器312は、ロック・アンロック処理アルゴリズムを実行する制御手段としてのCPU、およびデータ格納メモリとしてのROM,RAMを有し、さらにメモリカード等の情報記憶装置320の装着、データ転送を実行するインタフェースを有し、情報記憶装置320に対するロック処理およびアンロック処理専用の機器として構成される。
【0049】
以下の説明では、情報記憶装置320に対してロック処理、アンロック処理を実行する機器、すなわち、PC,PDA他の情報処理装置と、ロック・アンロック用機器312を含めてホスト装置と呼ぶ。
【0050】
ホスト装置内のROM等のメモリ315には、各ホスト装置固有の識別子としてのID(例えば16バイトデータ)と、ロック処理、アンロック処理に適用する鍵データとしてのロックキー(LK)(例えば8バイトデータ)が格納される。ホスト装置の有する各ホスト装置固有の識別子(ID)と、ロックキー(LK)のセット[ID,LK]をキーセットと呼ぶ。
【0051】
一方、メモリカード等の情報記憶装置320内の制御部内のROM等のメモリ325には、ロックマスターキー(LMK)が格納される。これらの情報は、例えば各機器の製造時に各機器に対して書き込まれ、ユーザによる書き換え不可能なデータとされる。
【0052】
情報記憶装置320に格納されるロックマスターキー(LMK)と、ホスト装置に格納されるIDと、ロックキー(LK)とは、以下の関係を持つ。
LK=H(LMK,ID)
【0053】
なお、H(X,Y)は、キーXを適用したメッセージYに対するハッシュ値算出処理を示す。すなわち、IDに対して、ロックマスターキー(LMK)を適用したハッシュ値算出処理によりIDに対応するロックキー(LK)が求められる。
【0054】
ハッシュ関数は、一方向性関数であり、その出力から逆に入力を求めるのは非常に困難となる関数である。上記式においては、各ホスト装置に固有のIDに対して、ロックマスターキー(LMK)を鍵として一方向性関数を適用して、その出力を各ホスト装置に固有のIDに対応するロックキー(LK)とした設定である。ハッシュ・アルゴリズムとしてはMD5,SHAなどが適用可能である。
【0055】
(ロック処理)
次に上述したロックマスターキー(LMK)を適用したロック処理、すなわち情報記憶装置に対するアクセス制限を有効にする処理について説明する。
【0056】
図5にロック処理におけるホスト装置と、情報記憶装置間で実行される処理シーケンス図を示す。ホスト装置と、情報記憶装置は、それぞれ相互にデータ転送可能に接続されている。まず、ホスト装置が、乱数発生コマンドを情報記憶装置に対して出力する。乱数発生コマンドを受信した情報記憶装置は、所定長、例えば16バイト乱数(Rms)の発生処理を実行し、発生乱数(Rms)をホスト装置に対して送信する。なお、情報記憶装置は、発生乱数(Rms)を制御部内のRAM等のメモリに格納しておく。
【0057】
情報記憶装置から乱数(Rms)を受信したホスト装置は、予めホスト装置内のメモリに格納済みのロックキー(LK)を暗号処理キーとした受信乱数(Rms)の暗号処理:E(LK,Rms)を実行する。なお、E(X,Y)は、キー[X]を適用したメッセージ[Y]の暗号処理を示す。暗号処理アルゴリズムは様々なアルゴリズムの適用が可能であり、例えばDES暗号処理アルゴリズムが適用される。
【0058】
ホスト装置は、ロックキー(LK)を暗号処理キーとした受信乱数(Rms)の暗号処理:E(LK,Rms)を実行し、その結果データ[E(LK,Rms)]と、ホスト装置が予めホスト装置内のメモリに格納しているホスト装置固有の識別子(ID)とを、ロックコマンドとともに情報記憶装置に送信する。
【0059】
データ:ID,E(LK,Rms)を受信した情報記憶装置は、まず、受信したIDに対して、自己のメモリに格納されているロックマスターキー(LMK)を適用したハッシュ値算出処理により、受信IDに対応するロックキー(LK)を算出する。すなわち、
LK=H(LMK,ID)
により、受信IDに対応するロックキー(LK)を算出する。なお、受信IDは、自己のメモリに格納保持する。受信IDは、後述するアンロック処理の際に利用する。
【0060】
さらに、情報記憶装置は、自己のメモリに格納した乱数Rmsに対して、上述のハッシュ値算出により求めたロックキー(LK)を適用した暗号処理:E(LK,Rms)を実行し、ホスト装置から受信した暗号処理データ:E(LK,Rms)と一致するか否かの照合処理を実行する。なお、暗号処理アルゴリズムはホスト装置と同一のアルゴリズムであれば、様々なアルゴリズムの適用が可能である。
【0061】
ホスト装置からの受信データ:E(LK,Rms)と、自身が算出した暗号処理データ:E(LK,Rms)とが一致すれば、正当なIDとLKの組データを持つホスト装置からのロック処理要求であると判定しロック処理を実行し、ロック完了通知をホスト装置に対して送信する。情報記憶装置は、ロック処理を実行したホスト装置のキーセット[ID,LK]をフラッシュメモリ等の不揮発性メモリ(NVM:Non−Volatile Memory)によって構成されるメモリ部220に格納保持する。
【0062】
ホスト装置からの受信データ:E(LK,Rms)と、自身が算出した暗号処理データ:E(LK,Rms)とが不一致の場合は、正当なIDとLKの組データを持つホスト装置では無いと判定し、不正機器からのロック処理要求であると判定し、ロック処理を行なわずエラー通知をホスト装置に送信する。
【0063】
なお、情報記憶装置の実行するロック処理は、コンテンツ等のデータ格納領域であるフラッシュメモリ等によって構成されるメモリ部(図3のメモリ部220)に対するアクセスを、次に説明するアンロック処理を実行することを条件として許可する設定とする処理である。
【0064】
次に、図6に示すフローチャートを参照して、ロック処理の手順について説明する。ステップS101において、情報記憶装置としてのメモリカードが、ホスト装置からの乱数発生要求コマンドの受信に基づいて、乱数(Rsm)を発生する。発生した乱数は、ステップS102において、ホスト装置によって読み出され、ステップS103において、ロックコマンドとともに、ホスト装置のID、および乱数(Rms)をホスト装置のロックキー(LK)で暗号化したデータ:E(LK,Rms)を情報記憶装置としてのメモリカードに送信する。
【0065】
ステップS104において、メモリカードは、受信したID、および暗号化データ:E(LK,Rms)とを情報記憶装置内のメモリに書き込む。ステップS105において、メモリカードは、自身のメモリに格納したロックマスターキー(LMK)を適用して、受信IDのハッシュ値算出、すなわち、
H(LMK,ID)=LK
を実行し、受信IDに対応するロックキー(LK)を算出する。
【0066】
さらに、メモリカードは、算出したロックキー(LK)に基づいて、先にステップS101で発生した乱数(Rms)の暗号化処理を実行して、暗号化データ:E(LK,Rms)を照合用データとして算出する。
【0067】
次に、メモリカードは、ステップS106において、ステップS105で算出した暗号化データ:E(LK,Rms)と、ステップS103でロックコマンドとともにホスト装置から受信し、ステップS104で、メモリに格納した暗号化データ:E(LK,Rms)との比較照合処理[E(LK,Rms)=E(LK,Rms)?]を実行する。
【0068】
この比較照合処理において、両値が等しければ、ホスト装置は、正当な正しいIDとロックキー(LK)の組データを保有した正当な機器であると判定し、ステップS107においてロックコマンドに応じたロック処理、すなわち、後述するアンロック処理の成功を条件としてメモリに対するアクセスを可能とする設定を実行する。この際、情報記憶装置は、ロック処理を実行したホスト装置のキーセット[ID,LK]をフラッシュメモリ等の不揮発性メモリ(NVM:Non−Volatile Memory)によって構成されるメモリ部220に格納保持する。
【0069】
一方、ステップS106の比較照合処理において、両値が等しくないと判定されると、ステップS108において、ロックコマンドを送信してきたホスト装置は、正しいIDとロックキー(LK)の組データを保有していない不正機器であると判定し、ロック処理を実行せず、エラー通知をホスト装置に対して送信する。
【0070】
(アンロック処理)
次に上述したロックマスターキー(LMK)を適用したロック処理によるロックを解除するアンロック処理、すなわち情報記憶装置に対するアクセス制限を解除する処理について説明する。
【0071】
図7にアンロック処理におけるホスト装置と、情報記憶装置間で実行される処理シーケンス図を示す。ホスト装置と、情報記憶装置は、それぞれ相互にデータ転送可能に接続されている。まず、ホスト装置が、乱数発生コマンドを情報記憶装置に対して出力する。乱数発生コマンドを受信した情報記憶装置は、所定長、例えば16バイト乱数(Rms)の発生処理を実行し、発生乱数(Rms)と、先のロック処理の際にメモリに格納済みのホスト装置のID、すなわちロック処理を実行したホスト装置のIDをホスト装置に対して送信する。なお、情報記憶装置は、発生乱数(Rms)を制御部内のRAM等のメモリに格納しておく。
【0072】
情報記憶装置からIDと、乱数(Rms)を受信したホスト装置は、まず、受信IDが自己のIDと一致するか否かを判定する。一致していない場合は、他のホスト装置によるロックが実行されていることになり、そのロックを解除することはできない。
【0073】
受信IDが自己のIDと一致する場合は、そのホスト装置自身が実行したロックであり、解除処理としてのアンロックが可能となる。この場合、ホスト装置は、予めホスト装置内のメモリに格納済みのロックキー(LK)を暗号処理キーとした受信乱数(Rms)の暗号処理:E(LK,Rms)を実行し、その結果データを、アンロックコマンドとともに情報記憶装置に送信する。
【0074】
暗号化データ:E(LK,Rms)を受信した情報記憶装置は、まず、自己のメモリに格納されているホスト装置ID、すなわち、ロック処理を実行したホスト装置のIDを読み出して、読み出したIDに対して、ロックマスターキー(LMK)を適用したハッシュ値算出処理により、ロック処理を実行したホスト装置のIDに対応するロックキー(LK)を算出する。すなわち、
LK=H(LMK,ID)
により、ロック処理を実行したホスト装置のIDに対応するロックキー(LK)を算出する。
【0075】
さらに、情報記憶装置は、自己のメモリに格納した乱数Rmsに対して、上述のハッシュ値算出により求めたロックキー(LK)を適用した暗号処理:E(LK,Rms)を実行し、ホスト装置から受信した暗号処理データ:E(LK,Rms)と一致するか否かの照合処理を実行する。
【0076】
ホスト装置からの受信データ:E(LK,Rms)と、自身が算出した暗号処理データ:E(LK,Rms)とが一致すれば、正当なIDとLKの組データを持つホスト装置からのアンロック処理要求であると判定しアンロック処理を実行し、アンロック完了通知をホスト装置に対して送信する。不一致の場合は、正当なIDとLKの組データを持つホスト装置では無いと判定し、不正機器からのアンロック処理要求であると判定し、アンロック処理を行なわずエラー通知をホスト装置に送信する。
【0077】
なお、情報記憶装置の実行するアンロック処理は、ロック処理の解除を意味し、コンテンツ等のデータ格納領域であるフラッシュメモリ等によって構成されるメモリ部(図3のメモリ部220)に対するアクセスを許可する設定とする処理である。
【0078】
次に、図8に示すフローチャートを参照して、アンロック処理の手順について説明する。ステップS201において、情報記憶装置としてのメモリカードが、ホスト装置からの乱数発生要求コマンドの受信に基づいて、乱数(Rsm)を発生する。発生した乱数は、ステップS202において、先にロック処理を実行したホスト装置のIDとともに、ホスト装置によって読み出される。
【0079】
ホスト装置は、メモリカードから読み出したIDと自己のホストIDが一致することで、アンロック可能と判断し、ステップS203において、アンロックコマンドとともに、受信乱数(Rms)をホスト装置のロックキー(LK)で暗号化したデータ:E(LK,Rms)を情報記憶装置としてのメモリカードに送信する。
【0080】
ステップS204において、メモリカードは、受信した暗号化データ:E(LK,Rms)とを情報記憶装置内のメモリに書き込む。ステップS205において、メモリカードは、先のロック処理時にメモリに格納したロック処理を実行したホスト装置IDを読み出して、読み出したIDに対して、自身のメモリに格納したロックマスターキー(LMK)を適用してハッシュ値算出、すなわち、
H(LMK,ID)=LK
を実行し、IDに対応するロックキー(LK)を算出する。
【0081】
さらに、メモリカードは、算出したロックキー(LK)に基づいて、先にステップS201で発生した乱数(Rms)の暗号化処理を実行して、暗号化データ:E(LK,Rms)を照合用データとして算出する。
【0082】
次に、メモリカードは、ステップS206において、ステップS205で算出した暗号化データ:E(LK,Rms)と、ステップS203でアンロックコマンドとともにホスト装置から受信し、ステップS204で、メモリに格納した暗号化データ:E(LK,Rms)との比較照合処理[E(LK,Rms)=E(LK,Rms)?]を実行する。
【0083】
この比較照合処理において、両値が等しければ、ホスト装置は、正当な正しいIDとロックキー(LK)の組データを保有した正当な機器であると判定し、ステップS207においてアンロックコマンドに応じたアンロック処理、すなわち、メモリに対するアクセスを可能とする設定を実行する。一方、ステップS206の比較照合処理において、両値が等しくないと判定されると、ステップS208において、アンロックコマンドを送信してきたホスト装置は、ロック処理を実行した正しいIDとロックキー(LK)の組データを保有したホスト装置ではないと判定し、アンロック処理、すなわちロック解除を実行せず、エラー通知をホスト装置に対して送信する。
【0084】
上述したように、本処理例によれば、ホスト装置IDと対応するロックキー(LK)の正当な組み合わせデータを持つホスト装置のみが、情報記憶装置に対するロック処理が実行でき、また、ロック解除としてのアンロック処理は、ロック処理を実行したホスト装置によってのみ可能となる。また、上述のロック処理およびアンロック処理において、情報記憶装置のみがホスト装置の認証処理を実行するいわゆる片側認証処理を実行する構成であるので、ホスト装置側の処理負担が軽減され、効率的な処理が可能となる。
【0085】
また、上述したロック処理、アンロック処理は、情報記憶装置側において、その処理毎に発生した乱数を適用する構成であるので、過去の処理における記録データを適用するとことは不可能であり、過去処理のトレースに基づく不正処理を効果的に防止できる。
【0086】
[機器グループでのロック処理構成]
上述したロック処理、アンロック処理は、1つのホスト装置毎に情報記憶装置が対応する処理として実行され、ロックを実行したホスト装置のみがアンロック処理が可能となる構成例であった。しかし、複数のホスト装置が、1つの情報記憶装置(メモリカ−ド)を利用する構成においては、あるホスト装置(機器A)でデータを格納しロックした情報記憶装置(メモリカ−ド)を他のホスト装置(機器B)で利用したいといった状況が発生する。
【0087】
このような場合、ホスト装置(機器A)でロック解除処理を行なわない限り、ホスト装置(機器B)ではロツク解除が実行できないことになる。以下では、このような場合に対応可能な構成、すなわち複数のホスト装置によって構成されるホスト装置のグループにおいて、各ホスト装置各々がロック処理アンロック処理を実行可能とした処理例について説明する。まず、図9を参照して本処理例の概要を説明する。
【0088】
メモリカード等の情報記憶装置520のコンテンツ等のデータ格納領域であるフラッシュメモリ等によって構成されるメモリ部(図3のメモリ部220)に対するアクセス制限を有効にする処理をロック処理とし、アクセス制限を解除する処理をアンロック処理とする。この点は、前述した処理例と同様である。ロック処理およびアンロック処理を実行するのが、ホスト装置510である。
【0089】
ホスト装置510は、先に図1、図2を参照して説明したように、メモリカード等の情報記憶装置520とのデータ転送を実行するインタフェースを有し、情報記憶装置520に対するデータ書き込みあるいは情報記憶装置520からのデータ読み出しを実行してデータ利用を行なうPC、PDA、デジタルカメラ、DSC(Digital Still Camera)等の情報処理装置を含み、さらに、メモリカード等の情報記憶装置520に対するロック処理、アンロック処理実行専用機器としてのロック・アンロック用機器512も含まれる。
【0090】
ホスト装置内のROM等のメモリ515には、各ホスト装置固有の識別子としてのIDs(例えば16バイトデータ)と、ロック処理、アンロック処理に適用する鍵データとしてのロックキー(LKs)(例えば8バイトデータ)が格納される。このIDs,LKsは前述の処理例におけるID,LKに対応するデータの組であり、上述の処理と同様のロック処理、アンロック処理に適用可能である。
【0091】
このIDs、LKsは、プライマリID、プライマリロックキーであり、各ホスト装置の製造時にホスト装置内のROM等のメモリに書き込まれ、ユーザによる書き換え不可能なデータとされる。これらのプライマリID(IDs)、プライマリロックキー(LKs)は、上述したLMK適用処理と全く同様、ホスト装置対情報記憶装置の1対1対応のロック処理、アンロック処理に適用できる。この、各ホスト装置に固有のプライマリID、プライマリロックキーからなるキーセット:[IDs,LKs]をプライマリキーセットと呼ぶ。
【0092】
このプライマリキーセット:[IDs,LKs]を適用したロック処理をスタンダードロック処理と呼び、ホスト装置としての情報処理装置からスタンダードロックコマンドを情報記憶装置に対して出力することでスタンダードロックが実行され、アンロックコマンドの出力によりアンロック処理が実行される。
【0093】
ホスト装置内のROM等のメモリ515には、さらに、他のホスト装置に対してコピー供給可能なキーセットとしてのサブIDとサブロックキーの組データとしてのサブキーセット:[IDen,LKen](n=1,2,・・)が1以上格納可能となる。
【0094】
このサブキーセット:[IDen,LKen]は、複数のホスト装置において共通に格納可能な鍵であり、後述する処理手順により、他のホスト装置に格納済みのサブキーセット:[IDen,LKen]は、情報記憶装置を介して他のホスト装置にコピー格納することが可能である。
【0095】
サブキーセット:[IDen,LKen]を適用して、情報記憶装置(メモリカード)に対してロック処理を実行し、ロック処理に適用したサブキーセットを、情報記憶装置(メモリカード)を介して他のホスト装置にコピー出力可能とした態様のロック処理をエクスポートロック処理と呼ぶ。
【0096】
このサブキーセット:[IDen,LKen]を適用したロック処理をエクスポートロック処理と呼び、ホスト装置としての情報処理装置からエクスポートロックコマンドを情報記憶装置に対して出力することでエクスポートロックが実行され、アンロックコマンドの出力によりアンロック処理が実行される。
【0097】
エクスポートロックのなされた情報記憶装置(メモリカード)から、ホスト装置が入手したサブキーセット:[IDen,LKen]は、そのホスト装置内のメモリに書き込み可能となる。このサブキーセットのコピー書き込み処理をインプリント処理と呼ぶ。インプリント処理により、同一のサブキーセット:[IDen,LKen]を有する複数のホスト装置からなるグループが形成される。
【0098】
このように、サブキーセット:[IDen,LKen]は、外部に出力可能な設定としたロック処理、すなわちエクスポート(export)ロック処理に適用可能なキーセットであり、それぞれ、ID,LKに[e]を添えて示す。[en]のnは、サブキーセットナンバーを示し、設定したグループ数に相当する。
【0099】
各ホスト装置は、複数の異なるサブキーセットを格納可能である。例えば、サブキーセット1:[IDe1,LKe1]を、ホスト装置としてのPC(Personal Computer)−a,PC−b,PDA(Personal Digital Assistants)−aの3つのホスト装置からなるグループの共有サブキーセット(サブ1)として設定し、サブキーセット2:[IDe2,LKe2]を、PC−a,PDA−a.PDA−bのグループの共有サブキーセット(サブ2)として設定した場合、各ホスト装置は、それぞれのプライマリID(IDs)、プライマリロックキー(LKs)からなるプライマリキーセット[IDs,LKs]をメモリに格納するとともに、
PC−aは、[IDe1,LKe1],[IDe2,LKe2]
PC−bは、[IDe1,LKe1]
PDA−aは、[IDe1,LKe1],[IDe2,LKe2]
PDA−bは、[IDe2,LKe2]
の各サブIDとサブロックキーからなるサブキーセットを、それぞれ格納することになる。
【0100】
これらのサブIDとサブロックキーの組データからなるサブキーセット:[IDen,LKen]を自己のメモリ515内に書き込むことで、1以上のホスト装置からなるホスト装置グループ−nの構成メンバーとなることができ、グループnのメンバは、共通に保有するサブID(IDn)、共通のサブロックキー(LKn)を適用して、1つの情報記憶装置(メモリカード)に対するロック処理、アンロック処理が可能となる。
【0101】
一方、メモリカード等の情報記憶装置520内の制御部内のROM等のメモリ525には、ロックマスターキー(LMK)が格納される。情報記憶装置520に格納されるロックマスターキー(LMK)と、ホスト装置に格納されるID(IDsおよびIDenを含む)と、ロックキー(LK(LKsとLKenを含む))とは、以下の関係を持つ。
LK=H(LMK,ID)
【0102】
このロックマスターキー(LMK)と、ID,LKとの対応は、前述のLMKの適用処理と全く同様であり、プライマリID(IDs)に対するロックマスターキーLMKを適用したハッシュ値算出処理により、プライマリロックキー(LKs)が算出され、サブID(IDen)に対するロックマスターキーLMKを適用したハッシュ値算出処理により、サブロックキー(LKen)が算出される。
【0103】
プライマリキーセット[IDs,LKs]と、サブキーセット[IDen,LKen]を利用したロック処理態様について、図10を参照して説明する。ロック処理態様には、図10(a)〜(c)に示す3つの態様がある。
【0104】
(a)は、各ホスト装置510に固有のプライマリID(IDs)と、プライマリロックキー(LKs)とからなるプライマリキーセット[IDs,LKs]531を適用したスタンダードロック処理である。
【0105】
プライマリキーセット:[IDs,LKs]531を適用したスタンダードロック処理は、ホスト装置510から情報記憶装置520に対してスタンダードロックコマンドを出力することで実行され、アンロックコマンドの出力によりアンロック処理が実行される。
【0106】
スタンダードロック処理がなされると、ロック情報記憶装置(メモリカード)520の記憶部(フラッシュメモリ)のスタンダードロックキーセット格納領域541にプライマリキーセット[IDs,LKs]が格納される。このロック処理が実行されると、スタンダードロックに適用したプライマリキーセット[IDs,LKs]は、ロック情報記憶装置(メモリカード)520から外部に出力されることはなく、ロック解除(アンロック)処理が実行できるのは、同一のプライマリキーセット[IDs,LKs]を有するホスト装置、すなわちスタンダードロック処理を実行した唯一のホスト装置となる。
【0107】
プライマリID(IDs)、プライマリロックキー(LKs)からなるプライマリキーセット[IDs,LKs]は、上述したLMK適用処理と全く同様、ホスト装置対情報記憶装置の1対1対応のロック処理、アンロック処理に適用でき、図5乃至図8を参照して説明した処理と同様な処理でのロック処理、アンロック処理が可能である。
【0108】
(b)は、複数のホスト装置が共有可能なサブID(IDen)と、サブロックキー(LKen)とからなるサブキーセット[IDen,LKen]532を適用したエクスポートロック処理である。
【0109】
サブキーセット[IDen,LKen]532を適用したエクスポートロック処理は、ホスト装置510から情報記憶装置520に対してエクスポートロックコマンドを出力することで実行され、アンロックコマンドの出力によりアンロック処理が実行される。
【0110】
エクスポートロック処理がなされると、ロック情報記憶装置(メモリカード)520の記憶部(フラッシュメモリ)のエクスポートロックキーセット格納領域542にサブキーセット[IDen,LKen]が格納される。このロック処理が実行された場合、エクスポートロックに適用したサブキーセット[IDen,LKen]は、後段で詳細に説明するインプリント処理を実行することで、他のホスト装置が、ロック情報記憶装置(メモリカード)520から入手することが可能となる。
【0111】
このエクスポートロック処理が実行された場合、ロック解除(アンロック)処理が実行できるのは、ロック処理を実行したホスト装置と、インプリント処理によって、エクスポートロックに適用したサブキーセット[IDen,LKen]を入手したホスト装置となる。
【0112】
(c)は、各ホスト装置510が共有可能なサブID(IDen)と、サブロックキー(LKen)とからなるサブキーセット[IDen,LKen]532を適用したスタンダードロック処理である。この処理をグループロックと呼ぶ。
【0113】
サブキーセット[IDen,LKen]532を適用したスタンダードロック処理、すなわちグループロック処理は、ホスト装置510から情報記憶装置520に対してスタンダードロックコマンドを出力することで実行され、アンロックコマンドの出力によりアンロック処理が実行される。ただし、この処理の際に適用するキーセットは、サブキーセット[IDen,LKen]532となる。
【0114】
これは、基本的には、スタンダードロックと同様の処理であり、適用するキーセットをサブキーセット[IDen,LKen]532とした処理である。このグループロック処理がなされると、ロック情報記憶装置(メモリカード)520の記憶部(フラッシュメモリ)のスタンダードロックキーセット格納領域541にサブキーセット[IDen,LKen]が格納される。このロック処理が実行されると、グループロックに適用したサブキーセット[IDen,LKen]は、スタンダードロックキーセット格納領域541に格納されるので、ロック情報記憶装置(メモリカード)520から外部に出力されることはない。
【0115】
このグループロックの解除(アンロック)処理が実行できるのは、同一のサブキーセット[IDen,LKen]を有するホスト装置である。ただし、この場合、グループロックを実行したホスト装置のみならず、すでに同一のサブキーセット[IDen,LKen]を事前に入手したホスト装置が含まれる。
【0116】
例えば、事前に同一のサブキーセット[IDen,LKen]を適用したエクスポートロック処理が行なわれ、そのエクスポートロック処理の実行時にインプリント処理により同一のサブキーセット[IDen,LKen]を入手し、メモリに格納しているホスト装置は、アンロックが可能となる。
【0117】
サブキーセット[IDen,LKen]を適用したスタンダードロック、すなわちグループロックにおけるロック処理、アンロック処理のシーケンスは、上述したLMK適用処理と同様のシーケンス(図5乃至図8参照)となる。ただし、ロック/アンロックを実行できるホスト装置が、インプリント処理により複数になり得る点が異なる。
【0118】
以下、複数のホスト装置において共有可能なサブID(IDen)、サブロックキー(LKen)、すなわち、サブキーセット[IDen,LKen]を適用したロック処理、および、情報記憶装置(メモリカード)を介したホスト装置に対するサブキーセット[IDen,LKen]のコピー格納処理(インプリント処理)および、エクスポートロックの解除としてのアンロック処理について説明する。
【0119】
(サブキーセットに基づくロック処理)
まず、サブID(IDen)、サブロックキー(LKen)からなるサブキーセット[IDen,LKen]を適用した情報記憶装置(メモリカード)に対するロック処理の詳細について説明する。
【0120】
前述したように、サブキーセット:[IDen,LKen]を適用した情報記憶装置(メモリカード)に対するロック処理により、ロック処理に適用したサブキーセットを、情報記憶装置(メモリカード)を介して他のホスト装置にコピー出力可能としたエクスポートロック処理が可能となる。
【0121】
図11にサブキーセットに基づくロック処理におけるホスト装置と、情報記憶装置間で実行される処理シーケンス図を示す。ホスト装置と、情報記憶装置は、それぞれ相互にデータ転送可能に接続されている。
【0122】
なお、情報記憶装置は、図11に示すロックステータスフラグ551を有し、情報記憶装置におけるロック状態を示す値を保持する。上段のNVMは、図3において説明したフラッシュメモリ等によって構成されるメモリ部220のNVM(Non−Volatile Memory)領域に格納されるフラグであり、下段は、制御部210内のRAM213に格納されるフラグである。情報記憶装置の電源オフにより、RAM内のフラグは消去されるが、NVMのフラグデータは維持される。従ってRAMのフラグの書き換えに応じて、NVMに対するフラグデータのコピーが実行され、電源オフ後、新たに電源オンとなった場合に、NVMのフラグ情報がRAMにコピーされる。なおSLはスタンダードロック、ELはエクスポートロックであり、1がロック状態、0が非ロック状態を示す。
【0123】
スタンダードロックは、ロックに適用したキーセット[ID,LK]の外部出力を認めないロック態様であり、エクスポートロックは、ロックに適用したキーセット[ID,LK]の外部出力を認めたロック態様であり、SL=1は、スタンダードロック状態であること、EL=1は、エクスポートロック状態であることを示している。
【0124】
情報記憶装置(メモリカード)は、スタンダードロックに適用したキーセットと、エクスポートロックに適用したキーセットとをそれぞれ格納するデータ格納領域をメモリ部(フラッシュメモリ(NVM))内に有する。
【0125】
初期状態としては、図に示すように、SL=0,EL=0であり、スタンダードロック(SL)、エクスポートロック(EL)のいずれも行われていない、すなわちすべてのホスト装置が情報記憶装置のメモリ部に対してアクセス可能な状態である。
【0126】
この初期状態において、まず、ホスト装置が、乱数発生コマンドを情報記憶装置に対して出力する。乱数発生コマンドを受信した情報記憶装置は、所定長、例えば16バイトの乱数(Rms)の発生処理を実行し、発生乱数(Rms)をホスト装置に対して送信する。なお、情報記憶装置は、発生乱数(Rms)を制御部内のRAM等のメモリに格納しておく。
【0127】
情報記憶装置から乱数(Rms)を受信したホスト装置は、予めホスト装置内のメモリに格納済みのサブロックキー(LKen)を暗号処理キーとした受信乱数(Rms)の暗号処理:E(LKen,Rms)を実行する。暗号処理アルゴリズムは様々なアルゴリズムの適用が可能であり、例えばDES暗号処理アルゴリズムが適用される。
【0128】
ホスト装置は、サブロックキー(LKen)を暗号処理キーとした受信乱数(Rms)の暗号処理:E(LKen,Rms)を実行し、その結果データ[E(LKen,Rms)]と、ホスト装置が予めホスト装置内のメモリに格納しているサブロックキー(LKen)に対応する組みデータとしてのサブID(IDen)とを、ロックコマンドとともに情報記憶装置に送信する。
【0129】
データ:IDen,E(LKen,Rms)を受信した情報記憶装置は、まず、受信したサブID(IDen)に対して、自己のメモリに格納されているロックマスターキー(LMK)を適用したハッシュ値算出処理により、受信サブID(IDen)に対応するサブロックキー(LKen)を算出する。すなわち、
LKen=H(LMK,IDen)
により、受信サブID(IDen)に対応するサブロックキー(LKen)を算出する。なお、受信サブID(IDen)は、自己のメモリに格納保持する。受信サブID(IDen)は、後述するアンロック処理の際に利用される。
【0130】
さらに、情報記憶装置は、自己のメモリに格納した乱数Rmsに対して、上述のハッシュ値算出により求めたサブロックキー(LKen)を適用した暗号処理:E(LKen,Rms)を実行し、ホスト装置から受信した暗号処理データ:E(LKen,Rms)と一致するか否かの照合処理を実行する。なお、暗号処理アルゴリズムはホスト装置と同一のアルゴリズムであれば、様々なアルゴリズムの適用が可能である。
【0131】
ホスト装置からの受信データ:E(LKen,Rms)と、自身が算出した暗号処理データ:E(LKen,Rms)とが一致すれば、正当なサブID(IDen)と、サブロックキー(LKen)の組データを持つ正当なホスト装置からのロック処理要求であると判定しエクスポートロック処理を実行し、ロック完了通知をホスト装置に対して送信する。不一致の場合は、正当なサブID(IDen)とサブロックキー(LKen)の組データを持つホスト装置では無いと判定し、不正機器からのロック処理要求であると判定し、エクスポートロック処理を行なわずエラー通知をホスト装置に送信する。
【0132】
なお、情報記憶装置の実行するエクスポートロック処理は、コンテンツ等のデータ格納領域であるフラッシュメモリ等によって構成されるメモリ部(図3のメモリ部220)に対するアクセスを、次に説明するサブID、サブロックキーを適用したアンロック処理を実行することを条件として許可する設定とする処理であり、エクスポートロックに適用されたエクスポートキーセット:[IDen,LKen]を情報記憶装置(メモリカード)のメモリ部(フラッシュメモリ(NVM))のエクスポートロックキーセット格納領域に格納する。さらに、ロックステータスフラグの書き換えを実行する。
【0133】
エクスポートロックが実行されると、図に示すように、ロックステータスフラグは、エクスポートロックが有効な状態を示すフラグ:EL=1がNVM,RAMそれぞれに格納される。これらのフラグは、まず情報記憶装置の制御部内のRAM213(図3参照)にEL=1が設定された後、NVM(フラッシュメモリによって構成されるメモリ部220)にEL=1がコピーされる。この状態で、情報記憶装置の電源がオフとなると、RAMのフラグ情報は消去されるが、NVMのフラグ情報は維持され、その後、再び情報記憶装置の電源がオンとなると、NVMのフラグ情報(EL=1)がRAMにコピーされ、制御部210(図3参照)は、RAMのフラグ情報(EL=1)に基づく処理を行なう。
【0134】
フラグ情報がEL=1である場合は、エクスポートロック状態であることを示し、情報記憶装置(メモリカード)のNVM(フラッシュメモリによって構成されるメモリ部220)のエクスポートロックキーセット格納領域に格納されたサブキーは、後述するインプリント処理によって他のホスト装置に出力可能となる。
【0135】
次に、図12に示すフローチャートを参照して、エクスポートロック処理の手順について説明する。ステップS301において、情報記憶装置としてのメモリカードが、ホスト装置からの乱数発生要求コマンドの受信に基づいて、乱数(Rsm)を発生する。発生した乱数は、ステップS302において、ホスト装置によって読み出され、ステップS303において、ロックコマンドとともに、ホスト装置の記憶部に格納済みのサブID(IDen)を取得し、さらに、受信乱数(Rms)をホスト装置の記憶部に格納済みのサブロックキー(LKen)で暗号化し、データ:E(LKen,Rms)を生成し、これらの連結データ:IDen,E(LKen,Rms)を情報記憶装置としてのメモリカードに送信する。
【0136】
ステップS304において、メモリカードは、受信したサブID(IDen)、および暗号化データ:E(LKen,Rms)とを情報記憶装置内のメモリに書き込む。ステップS305において、メモリカードは、自身のメモリに格納したロックマスターキー(LMK)を適用して、受信サブID(IDen)のハッシュ値算出、すなわち、
H(LMK,IDen)=LKen
を実行し、受信サブID(IDen)に対応するサブロックキー(LKen)を算出する。
【0137】
さらに、メモリカードは、算出したサブロックキー(LKen)に基づいて、先にステップS301で発生した乱数(Rms)の暗号化処理を実行して、暗号化データ:E(LKen,Rms)を照合用データとして算出する。
【0138】
次に、メモリカードは、ステップS306において、ステップS305で算出した暗号化データ:E(LKen,Rms)と、ステップS303でロックコマンドとともにホスト装置から受信し、ステップS304で、メモリに格納した暗号化データ:E(LKen,Rms)との比較照合処理[E(LKen,Rms)=E(LKen,Rms)?]を実行する。
【0139】
この比較照合処理において、両値が等しければ、ホスト装置は、正当な正しいサブID(IDen)とサブロックキー(LKen)の組データとしてのサブキーセット[IDen,LKen]を保有した正当な機器であると判定し、ステップS307においてロックコマンドに応じたロック処理、すなわち、後述するサブキーセット[IDen,LKen]を適用したロックの解除処理としてのアンロック処理の成功を条件としてメモリに対するアクセスを可能とする設定を実行する。この際、前述のロックステータスフラグをEL=1に設定する。
【0140】
一方、ステップS306の比較照合処理において、E(LKen,Rms)=E(LKen,Rms)が成立しないと判定されると、ステップS308において、ロックコマンドを送信してきたホスト装置は、正しいサブID(IDen)とサブロックキー(LKen)の組データを保有していない不正機器であると判定し、ロック処理を実行せず、エラー通知をホスト装置に対して送信する。
【0141】
上述した処理に従って、エクスポートロックのなされた情報記憶装置は、ロック処理を実行したサブID(IDen)とサブロックキー(LKen)の組データとして、同一のサブキーセット[IDen,LKen]を保有したホスト装置であれば、前述の[ロックマスターキー(LMK)に基づく処理]において説明したアンロック処理と、同様の処理手続きによってアンロックが可能となる。すなわち、適用するIDとロックキーを、サブID(IDen)とサブロックキー(LKen)に置き換えることでアンロックが可能となる。
【0142】
しかし、ロック処理を実行したサブキーセット[IDen,LKen]と同一のキーセットを保有していない他のホスト装置は、ロック処理に適用されたサブキーセット[IDen,LKen]を取得しない限り情報記憶装置のロック解除、すなわちアクセスができない。
【0143】
正当なプライマリID(IDs)とプライマリロックキー(LKs)の組データとしてのプライマリーキーセット[IDs,LKs]を持つホスト装置は、エクスポートロックのなされた情報記憶装置に格納されているサブキーセット[IDen,LKen]を情報記憶装置から取得することが可能であり、取得したサブキーセット[IDen,LKen]を適用してロックを解除することが可能となる。情報記憶装置を介したサブキーセット[IDen,LKen]の取得をインプリント処理と呼ぶ。
【0144】
このように、あるサブキーセット[IDen,LKen]に基づいて、ロック状態とされ、そのサブキーセット[IDen,LKen]を他のホスト装置に出力可能なロック状態をエクスポートロック状態と呼ぶ。
【0145】
ホスト装置は、エクスポートロック状態にある情報記憶装置から、エクスポートロック処理に適用されたサブキーセット[IDen,LKen]を取得(インプリント)することで、同一のサブキーセット[IDen,LKen]を保有する複数のホスト装置によって構成されるグループの構成メンバーとなり、その後、取得したサブキーセット[IDen,LKen]を適用してロックを解除することができる。以下、このインプリントおよび、ロック解除処理(アンロック処理)の詳細について説明する。
【0146】
(インプリントおよびアンロック処理)
ホスト装置が、上述したエクスポートロック処理によるロックがなされている情報記憶装置から、サブロックキー(LKen)と、サブID(IDen)とからなるサブキーセット[IDen,LKen]を取得するインプリント処理と、エクスポートロック処理によるロックがなされている情報記憶装置のロックを解除するアンロック処理について説明する。
【0147】
図13にホスト装置と、情報記憶装置間で実行されるインプリント処理とアンロック処理の処理シーケンス図を示す。ホスト装置と、情報記憶装置は、それぞれ相互にデータ転送可能に接続されている。なお、情報記憶装置のロックステータスフラグは、図に示すように、エクスポートロックが有効である状態を示すEL=1がNVM,RAMにそれぞれ設定されているものとする。
【0148】
ホスト装置は、情報記憶装置に対するエクスポートロックに適用したサブID(IDen)とサブロックキー(LKen)とからなるサブキーセット[IDen,LKen]を有しておらず、情報記憶装置は、サブキーセット[IDen,LKen]をエクスポートキー格納領域に格納している。情報記憶装置は、いわゆるエクスポートロック状態にある。
【0149】
まず、ホスト装置が、乱数発生コマンドを情報記憶装置に対して出力する。乱数発生コマンドを受信した情報記憶装置は、所定長、例えば16バイト乱数(Rms)の発生処理を実行し、発生乱数(Rms)と、先のエクスポートロック処理の際にメモリに格納済みのサブID(IDen)、すなわちエクスポートロック処理に適用されたサブキーセット[IDen,LKen]中のサブID(IDen)をホスト装置に対して送信する。なお、情報記憶装置は、発生乱数(Rms)を制御部内のRAM等のメモリに格納しておく。
【0150】
情報記憶装置からサブID(IDen)と、乱数(Rms)を受信したホスト装置は、まず、受信サブID(IDen)が自己のプライマリID(IDs)と一致するか否かを判定する。一致していれば、前述のLMK適用処理(図7参照)と同様のプライマリロックキー(LKs)を適用したアンロックが可能である。
【0151】
受信サブID(IDen)が自己のプライマリID(IDs)と一致していない場合は、他のホスト装置によるロックが実行されていることになるが、この受信サブID(IDen)、およびサブロックキー(LKen)を取得するインプリント処理により、サブキーセット[IDen,LKen]を適用したエクスポートロックを実行した他のホスト装置と同一のグループに属することが可能となる。
【0152】
すなわち、インプリント処理を実行して、サブID(IDen)、サブロックキー(LKen)をそれぞれ取得し、これらの組データとしてのサブキーセット[IDen,LKen]を自己のメモリに格納し、グループに属するホスト装置となり、取得したサブキーセット[IDen,LKen]を適用してエクスポートロックの解除が可能となる。インプリント処理を実行する場合、ホスト装置は、情報記憶装置から受信したサブID(IDen)をメモリに格納する。
【0153】
インプリント処理を実行するホスト装置は、次に、予めホスト装置内のメモリに格納済みのプライマリロックキー(LKs)を暗号処理キーとした受信乱数(Rms)の暗号処理:E(LKs,Rms)を実行し、その結果データとプライマリID(IDs)とを、スタンダードロックコマンドとともに情報記憶装置に送信する。なおこのロック処理は、すでに、サブロックキー(LKen)によるエクスポートロックがなされている情報記憶装置に対してさらにプライマリロックキー(LKs)によるスタンダードロックをかける処理であるのでオーバーロック処理と呼ぶ。
【0154】
ホスト装置から、プライマリID(IDs)と暗号化データ:E(LKs,Rms)を受信した情報記憶装置は、まず、受信したプライマリID(IDs)に対して、ロックマスターキー(LMK)を適用したハッシュ値算出処理により、プライマリID(IDs)に対応するプライマリロックキー(LKs)を算出する。すなわち、
LKs=H(LMK,IDs)
により、プライマリID(IDs)に対応するプライマリロックキー(LKs)を算出する。
【0155】
さらに、情報記憶装置は、自己のメモリに格納した乱数Rmsに対して、上述のハッシュ値算出により求めたプライマリロックキー(LKs)を適用した暗号処理:E(LKs,Rms)を実行し、ホスト装置から受信した暗号処理データ:E(LKs,Rms)と一致するか否かの照合処理を実行する。
【0156】
ホスト装置からの受信データ:E(LKs,Rms)と、自身が算出した暗号処理データ:E(LKs,Rms)とが一致すれば、正当なプライマリID(IDs)と、プライマリロックキー(LKs)の組データとしてのプライマリキーセット[IDs,LKs]を持つホスト装置からのオーバーロック処理要求であると判定しオーバーロック処理を実行し、オーバーロック完了通知をホスト装置に対して送信する。
【0157】
ホスト装置からの受信データ:E(LKs,Rms)と、自身が算出した暗号処理データ:E(LKs,Rms)とが不一致の場合は、正当なプライマリID(IDs)と、プライマリロックキー(LKs)の組データとしてのプライマリキーセット[IDs,LKs]を持つホスト装置では無いと判定し、不正機器からのオーバーロック処理要求であると判定し、オーバーロック処理を行なわずエラー通知をホスト装置に送信する。
【0158】
なお、情報記憶装置の実行するオーバーロック処理は、エクスポートロック状態にさらにスタンダードロックを重ねて行なった状態とするもので、情報記憶装置のロックステータスフラグは、図に示すように、エクスポートロックが有効である状態を示すEL=1がNVM,RAMにそれぞれ設定され、さらに、オーバーロック処理により、スタンダードロックが有効である状態を示すSL=1がRAMに設定される。なお、RAMに設定されたフラグ情報は、電源オフ以前にNVMにコピーされる。
【0159】
さらに、オーバーロック完了通知を受信したホスト装置は、インプリント処理および、ロック解除を続けて行なうものとする。ホスト装置は、再度、乱数発声コマンドを情報記憶装置に送信する。
【0160】
乱数発生コマンドを受信した情報記憶装置は、新たに第2の乱数(Rms2)の発生処理を実行し、
発生乱数(Rms2)と、
スタンダードロックを実行したホスト装置のプライマリID(IDs)と、
エクスポートロック処理に適用されたサブID(IDen)と、さらに、
サブID(IDen)に対応するサブロックキー(LKen)をプライマリID(IDs)対応するプライマリロックキー(LKs)によって暗号化した暗号化データ:E(LKs,LKen)の連結データ、
すなわち、
IDs,Rms2,IDen,E(LKs,LKen)
をホスト装置に対して送信する。なお、情報記憶装置は、発生乱数(Rms2)を制御部内のRAM等のメモリに格納しておく。
【0161】
情報記憶装置からデータ:IDs,Rms2,IDen,E(LKs,LKen)を受信したホスト装置は、まず、暗号化データ:E(LKs,LKen)を自身のメモリに格納されたプライマリロックキー(LKs)を適用して復号し、サブロックキー(LKen)を取得する。これは、先に取得したサブID(IDen)に対応するサブロックキー(LKen)であり、取得したサブーキーセット[IDen,LKen]をメモリに格納する。このインプリント手続きにより、このホスト装置は、グループNo.nのグループに属することができる。
【0162】
次に、ホスト装置は、情報記憶装置のロック解除処理を続けて実行する。ホスト装置は、情報記憶装置から受信した暗号化データ:E(LKs,LKen)に対するプライマリロックキー(LKs)を適用した復号により取得したサブロックキー(LKen)に基づいて、情報記憶装置から受信した乱数(Rms2)の暗号化処理を実行し、暗号化データ:E(LKen,Rms2)を生成して、アンロックコマンドとともに情報記憶装置に送信する。
【0163】
ホスト装置から、アンロックコマンドとともに暗号化データ:E(LKen,Rms2)を受信した情報記憶装置は、まず、自身のメモリに格納済みのサブID(IDen)に対して、ロックマスターキー(LMK)を適用したハッシュ値算出処理により、サブID(IDen)に対応するサブロックキー(LKen)を算出する。すなわち、
LKen=H(LMK,IDen)
により、サブID(IDen)に対応するサブロックキー(LKen)を算出する。
【0164】
さらに、情報記憶装置は、自己のメモリに格納した乱数Rms2に対して、上述のハッシュ値算出により求めたサブロックキー(LKen)を適用した暗号処理:E(LKen,Rms2)を実行し、ホスト装置から受信した暗号処理データ:E(LKen,Rms2)と一致するか否かの照合処理を実行する。
【0165】
ホスト装置からの受信データ:E(LKen,Rms2)と、自身が算出した暗号処理データ:E(LKen,Rms2)とが一致すれば、正当なサブID(IDen)と、サブロックキー(LKen)の組データを持つホスト装置からのロックの解除、すなわちアンロック処理要求であると判定しアンロック処理を実行し、アンロック完了通知をホスト装置に対して送信する。
【0166】
ホスト装置からの受信データ:E(LKen,Rms2)と、自身が算出した暗号処理データ:E(LKen,Rms2)とが不一致の場合は、正当なサブID(IDen)と、サブロックキー(LKen)の組データとしてのサブーキーセット[IDen,LKen]を持つホスト装置では無いと判定し、不正機器からのアンロック要求であると判定し、アンロック処理を行なわずエラー通知をホスト装置に送信する。
【0167】
アンロック処理により、ロックステータスフラグは、EL=1からEL=0に変更され、またエクスポートロックに対するオーバーロックとして設定されたスタンダードロックも解除されSL=1からSL=0に変更される。すなわち、スタンダードロックは、エクスポートロックの解除に併せて解除される。
【0168】
なお、ロックステータスフラグの変更シーケンスは、まず、制御部内のRAMの格納フラグが書き替えられ、その後、適宜、例えば電源オフ実行前にNVMにRAM内のフラグ情報がコピーされ、電源再投入時には、NVMのフラグ情報がRAMにコピーされるシーケンスであり、制御部は、RAMのフラグ情報に基づくアクセス制限処理を実行する。
【0169】
次に、図14および図15に示すフローチャートを参照して、エクスポートロック処理によるロックがなされている情報記憶装置から、サブロックキー(LKen)と、サブID(IDen)からなるサブーキーセット[IDen,LKen]を取得するインプリント処理と、エクスポートロック処理によるロックがなされている情報記憶装置のロックを解除するアンロック処理の手順について説明する。
【0170】
ステップS401において、情報記憶装置としてのメモリカードが、ホスト装置からの乱数発生要求コマンドの受信に基づいて、乱数(Rsm)を発生する。発生した乱数は、ステップS402において、先にエクスポートロック処理を実行したホスト装置が情報記憶装置に送信し、情報記憶装置のメモリ部のエクスポートロックキーセット格納領域に格納されたサブID(IDen)とともに、ホスト装置によって読み出される。ホスト装置は、この時点で、サブキーセット[IDen,LKen]中のサブID(IDen)を取得する。
【0171】
ホスト装置は、メモリカードから読み出したサブID(IDen)と自己のプライマリID(IDs)が一致しないことの確認により、情報記憶装置が、スタンダードロック状態ではなく、エクスポートロック状態にあると判断する。ホスト装置は、次に、ステップS403において、オーバーロックとしてのスタンダードロックコマンドとともに、受信乱数(Rms)をホスト装置のプライマリロックキー(LKs)で暗号化したデータ:E(LKs,Rms)と、自己のプライマリID(IDs)を情報記憶装置としてのメモリカードに送信する。
【0172】
ステップS404において、情報記憶装置(メモリカード)は、ホスト装置から受信したプライマリID(IDs)と、暗号化データ:E(LKs,Rms)とを情報記憶装置内のメモリに書き込む。ステップS405において、メモリカードは、受信したプライマリID(IDs)に対して、自身のメモリに格納したロックマスターキー(LMK)を適用してハッシュ値算出、すなわち、
H(LMK,IDs)=LKs
を実行し、プライマリID(IDs)に対応するプライマリロックキー(LKs)を算出する。
【0173】
さらに、メモリカードは、算出したプライマリロックキー(LKs)に基づいて、先にステップS401で発生した乱数(Rms)の暗号化処理を実行して、暗号化データ:E(LKs,Rms)を照合用データとして算出する。
【0174】
次に、メモリカードは、ステップS406において、ステップS405で算出した暗号化データ:E(LKs,Rms)と、ステップS403でスタンダードロックコマンドとともにホスト装置から受信し、ステップS404で、メモリに格納した暗号化データ:E(LKs,Rms)との比較照合処理[E(LKs,Rms)=E(LKs,Rms)?]を実行する。
【0175】
この比較照合処理において、両値が等しければ、ホスト装置は、正当な正しいプライマリID(IDs)とプライマリロックキー(LKs)の組データとしてのプライマリキーセット[IDs,LKs]を保有した正当な機器であると判定し、ステップS407においてスタンダードロックコマンドに応じたスタンダードロック処理を実行する。これは、エクスポートロック状態にさらにスタンダードロックを重ねて行なうオーバーロック処理である。情報記憶装置のロックステータスフラグは、エクスポートロック、スタンダードロックがともに有効である状態を示すEL=1、SL=1がRAMに設定される。
【0176】
一方、ステップS406の比較照合処理において、両値が等しくないと判定されると、ステップS408において、スタンダードロックコマンドを送信してきたホスト装置は、正当なプライマリID(IDs)とプライマリロックキー(LKs)の組データとしてのプライマリキーセット[IDs,LKs]を保有したホスト装置ではないと判定し、オーバーロック処理を実行せず、エラー通知をホスト装置に対して送信する。
【0177】
ステップS407のオーバーロック処理としてのスタンダードロックが行われ、さらに。インプリント処理、ロック解除を実行する場合は、図15のステップS501に進む。
【0178】
オーバーロック完了通知を受信したホスト装置は、再度、乱数発生コマンドを情報記憶装置に送信し、乱数発生コマンドを受信した情報記憶装置は、ステップS501において、新たに第2の乱数(Rms2)の発生処理を実行する。
【0179】
ステップS502において、ホスト装置は、
乱数(Rms2)と、
スタンダードロックを実行したホスト装置のプライマリID(IDs)、
サブID(IDen)、さらに、
サブID(IDen)に対応する組みデータとしてのサブロックキー(LKen)をプライマリID(IDs)対応する組みデータとしてのプライマリロックキー(LKs)によって暗号化した暗号化データ:E(LKs,LKen)、
これらの連結データ、すなわち、[IDs,Rms2,IDen,E(LKs,LKen)]を情報記憶装置から読み出す。
【0180】
ステップS503において、ホスト装置は、情報記憶装置に対するロック解除要求としてのアンロックコマンドを送信する。ホスト装置は、このアンロックコマンドに、暗号化データE(LKen,Rms2)を併せて送信する。
【0181】
暗号化データE(LKen,Rms2)の生成手法は、以下の手順に従ったものである。ステップS502において、情報記憶装置からデータ:IDs,Rms2,IDen,E(LKs,LKen)を読み出したホスト装置は、まず、暗号化データ:E(LKs,LKen)を自身のメモリに格納されたプライマリロックキー(LKs)を適用して復号し、サブロックキー(LKen)を取得する。これは、先に取得したサブID(IDen)に対応するサブロックキー(LKen)である。次に、ホスト装置は、サブロックキー(LKen)に基づいて、情報記憶装置から受信した乱数(Rms2)の暗号化処理を実行し、暗号化データ:E(LKen,Rms2)を生成する。
【0182】
なお、ホスト装置は、取得したサブキーセット:[IDen,LKen]をメモリに格納して、インプリント処理は完了する。すなわち、インプリント処理により、このホスト装置は、グループNo.nのグループに属する。
【0183】
ステップS504において、ホスト装置から、暗号化データ:E(LKen,Rms2)を受信した情報記憶装置は、受信データ:E(LKen,Rms2)をメモリに書き込む。さらにステップS505において、照合用データの算出を実行する。
【0184】
照合用データの算出処理は、以下の手順で実行する。まず、自身のメモリに格納済みのサブID(IDen)に対して、ロックマスターキー(LMK)を適用したハッシュ値算出処理により、サブID(IDen)に対応するサブロックキー(LKen)を算出する。すなわち、
LKen=H(LMK,IDen)
により、サブID(IDen)に対応するサブロックキー(LKen)を算出する。さらに、ステップS501で発生しメモリに格納した乱数Rms2に対して、上述のハッシュ値算出により求めたサブロックキー(LKen)を適用した暗号処理:E(LKen,Rms2)を実行し照合用データを生成する。
【0185】
ステップS506において、情報記憶装置は、照合用データ:E(LKen,Rms2)と、ホスト装置から受信した暗号処理データ:E(LKen,Rms2)と一致するか否かの照合処理を実行する。
【0186】
ホスト装置からの受信データ:E(LKen,Rms2)と、自身が算出した暗号処理データ:E(LKen,Rms2)とが一致すれば、正当なサブID(IDen)と、サブロックキー(LKen)の組データとしてのサブキーセット[IDen,LKen]を持つホスト装置からのロックの解除、すなわちアンロック処理要求であると判定し、ステップS507に進み、アンロック処理を実行し、アンロック完了通知をホスト装置に対して送信する。不一致の場合は、正当なサブキーセット[IDen,LKen]を持つホスト装置では無いと判定し、不正機器からのアンロック処理要求であると判定し、アンロック処理を行なわずステップS508において、エラー通知をホスト装置に送信する。
【0187】
本処理例に従えば、複数のホスト装置が、共通のサブキーセット[IDen,LKen]を保有し、1つの情報記憶装置(メモリカ−ド)を利用したロック、アンロックが可能となる。また、サブキーセット[IDen,LKen]は、エクスポートロックを実行することにより、情報記憶装置を介して他のホスト装置にコピー格納するこが可能であり、柔軟なグループ形成が可能となる。また、サブキーセット[IDen,LKen]のホスト装置に対するコピー、すなわちインプリントにおいては、正当なプライマリID(IDs)とプライマリロックキー(LKs)を所有し、オーバーロック処理が実行可能であることが条件となるので、不正機器に対するサブキーセット[IDen,LKen]のコピー(インプリント)は防止可能となる。
【0188】
なお、先に図10(c)を参照して説明したように、サブキーセット[IDen,LKen]を適用したスタンダードロック処理(=グループロック処理)の実行も可能であり、このグループロック処理を実行した場合は、サブキーセット[IDen,LKen]は、情報記憶装置のスタンダードロックキー格納領域(図10参照)に格納され、他のホスト装置に対するコピー出力はなされない。すなわち、すでに同一のサブキーセット[IDen,LKen]を取得済みのホスト装置のみが、インプリント処理を伴わない通常のアンロック処理によりアクセス可能となる。
【0189】
[ロック状態フラグの維持構成]
上述した「機器グループでのロック処理構成」において、エクスポートロック状態にある情報記憶装置に対してアンロックを実行すると、全てのロックステータス(状態)フラグがリセット、すなわち、エクスポートロック解除を示すEL=0,スタンダードロック解除を示すSL=0がNVM,RAMに設定される。このように、EL=0,SL=0の設定のまま、電源をオフにし、その後、電源を再度オンとした場合、NVMには、EL=0,SL=0が設定されているので、制御部のRAMもSL=0,EL=0の設定状態となり、全てのロック状態が解放され、各ホスト装置が自由にメモリに対するアクセスを行なうことが可能となる。
【0190】
このようにロックが解除された情報記憶装置は、紛失、盗難等により、不正な第三者に取得された場合、自由にメモリアクセスが可能となる。このような状況は、秘密情報を格納する場合には好ましいとは言えない。
【0191】
以下に説明する例は、上記問題点に鑑みてなされたものであり、ホスト装置がアンロック処理により、エクスポートロックの解除を行なった後に電源をオフとした場合においてもエクスポートロック状態を維持する構成としたものであり、情報記憶装置が、再度電源オンとなった場合、エクスポートロックの解除処理を条件としてメモリアクセスを許容する構成とした例である。
【0192】
本構成例は、先に「機器グループでのロック処理構成」において図9を参照して説明したと同様、ホスト装置内のROM等のメモリには、プライマリID(IDs)、プライマリロックキー(LKs)からなるプイマリキーセット[IDs,LKs]が格納され、さらに、エクスポートロック処理に適用可能なサブIDとサブロックキーの組データとしてのサブキーセット[IDen,LKen](n=1,2,・・)が1以上格納可能な構成であり、メモリカード等の情報記憶装置内の制御部内のROM等のメモリには、ロックマスターキー(LMK)が格納される。情報記憶装置に格納されるロックマスターキー(LMK)と、ホスト装置に格納されるID(IDsおよびIDenを含む)と、ロックキー(LK(LKsとLKenを含む))とは、以下の関係を持つ。
LK=H(LMK,ID)
【0193】
ホスト装置によるプライマリID(IDs)、プライマリロックキー(LKs)に基づくロック処理、アンロック処理は、前述の[ロックマスターキー(LMK)に基づく処理]において説明したと同様のシーケンスによって実行され、また、サブID(IDen)、サブロックキー(LKen)に基づくロック処理は、前述の[機器グループでのロック処理構成]において説明したと同様のシーケンスによって実行される。以下、本処理例におけるインプリントおよびアンロック処理におけるロックステータスフラグの維持処理について説明する。
【0194】
(インプリントおよびアンロック処理におけるロックステータスフラグの維持処理)
ホスト装置が、エクスポートロック処理によるロックがなされている情報記憶装置から、サブロックキー(LKen)と、サブID(IDen)とからなるサブキーセット[IDen,LKen]を取得するインプリント処理と、エクスポートロック処理によるロックがなされている情報記憶装置のロックを解除するアンロック処理、さらに、情報記憶装置が実行するロックステータスフラグの維持処理について図16以下を参照して説明する。
【0195】
図16に示すシーケンス図は、先に、[機器グループでのロック処理構成]において図13を参照して説明したホスト装置と、情報記憶装置間で実行されるインプリント処理とエクスポートロックのアンロック処理の処理シーケンス図と基本的に同一であり、処理手順も同様である。
【0196】
ただし、シーケンス図の最終処理として実行されるアンロック完了通知の後に、情報処理装置がNVMフラグ設定処理を実行する点が異なる。すなわち、前述の[機器グループでのロック処理構成]において説明した処理では、エクスポートロックのアンロックが実行されると、エクスポートロック解除を示すEL=0,スタンダードロック解除を示すSL=0がNVM,RAMに設定されていた。しかし、本構成では、NVMに、エクスポートロック、スタンダードロックがなされていることを示すEL=1,SL=1を設定する。
【0197】
図17を参照して、NVMに対するロックステータスフラグ設定処理の詳細について説明する。図17の処理フローは、図16(図13と同様)のシーケンス図においてロック解除要求(アンロックコマンド)を受信した以降の情報記憶装置における処理手順を説明するフローである。
【0198】
まず、ステップS601において、情報記憶装置(メモリカード)がロックの解除要求(アンロックコマンド)を受信すると、情報記憶装置は、アンロックコマンドの実行可否を判定するための検証処理として、ステップS602において、ホスト装置から、アンロックコマンドとともに受信した暗号化データ:E(LKen,Rms2)と、自身が生成した暗号化データ:E(LKen,Rms2)との照合処理を実行する。この処理は、[機器グループでのロック処理構成]において説明したと同様の処理である。
【0199】
ホスト装置からの受信データ:E(LKen,Rms2)と、自身が算出した暗号処理データ:E(LKen,Rms2)とが一致しない場合は、ステップS607において、エラー通知をホストに返して処理を終了する。
【0200】
一方、ホスト装置からの受信データ:E(LKen,Rms2)と、自身が算出した暗号処理データ:E(LKen,Rms2)とが一致した場合は、、正当なサブキーセット[IDen,LKen]を持つホスト装置からのアンロック処理要求であると判定し、ステップS603において、アンロック処理を実行し、アンロック完了通知をホスト装置に対して送信する。
【0201】
さらに、情報記憶装置(メモリカード)は、ステップS604において、制御部のRAMに格納されているロックステータスフラグ(SL=1,EL=1)をNVMにコピーし、NVMのロックステータスフラグをSL=1,EL=1に設定する。SL=1は、スタンダードロックがなされていること、EL=1は、エクスポートロックがなされていることを示す。
【0202】
ステップS604のフラグコピー処理が終了すると、さらに、ステップS605において、制御部のRAMのロックステータスフラグ(SL=1,EL=1)のリセット、すなわちRAMのロックステータスフラグをSL=0,EL=0に設定する。SL=0は、スタンダードロックがなされていないこと、EL=0は、エクスポートロックがなされていないことを示す。
【0203】
この設定状態、すなわちRAMのロックステータスフラグがSL=0,EL=0の設定においてはメモリアクセスが自由に実行可能となり、アンロック処理を実行したホスト装置は、情報記憶装置のメモリ(図3のメモリ部220)に対するアクセスが可能となる。
【0204】
しかし、その後、情報記憶装置(メモリカード)がホスト装置から抜き取られるなどにより、情報記憶装置(メモリカード)に対する電源供給がストップし、再度、電源オンとなった時点で、NVMに設定されたロックステータスフラグ(SL=1,EL=1)情報が制御部のRAMにロードされ、制御部は、RAMに設定されたロックステータスフラグ(SL=1,EL=1)に基づく処理を行なうことになる。図18の処理フローを参照して、情報記憶装置の電源再投入後の処理について説明する。
【0205】
図18の処理フローは、一旦、情報記憶装置の電源がオフとされ、再度、電源オン状態に移行した場合の処理を示している。
【0206】
ステップS701において、情報記憶装置(メモリカード)がホスト装置にセットされることなどにより、電源オフ状態からオン状態に移行すると、情報記憶装置は、ステップS702において、NVMに格納してあるロックステータスフラグ(SL,EL)を制御部のRAMにコピーする。制御部は、RAMのステータスフラグに応じて制御を実行する。
【0207】
ステップS703において、接続されたホスト装置からメモリアクセス要求、あるいはアンロックコマンドを入力すると、情報記憶装置の制御部は、RAMのロックステータスフラグを参照する。
【0208】
ステップS704において、RAMのステータスフラグがEL=1であると判定されると、ステップS705において、ロック解除処理(図13〜図15参照)を実行する。この際、ホストが、その情報記憶装置のエクスポートロックに適用されたサブキーセット[IDen,LKen]を有していない場合は、インプリント処理を実行することが必要となる。この処理において、先に図13〜図15を参照して説明した検証により正当なホスト装置からのアンロック要求であることが確認されるとアンロック処理が実行(ステップS708:Yes)され、ステップS709においてメモリアクセスが許可される。検証により不正なホスト装置からのアンロック要求であると判定されるとアンロック処理が実行されず、(ステップS708:No)、エラー通知(S710)がなされる。
【0209】
また、ステップS704において、RAMのステータスフラグがEL=0であると判定されると、ステップS706において、RAMのステータスフラグがSL=1であるかい中が判定される。RAMのステータスフラグがSL=1であると判定されると、ステップS707において、スタンダードロック解除処理(図7〜図8参照)を実行する。先に図7〜図8を参照して説明した検証により正当なホスト装置からのアンロック要求であることが確認されるとアンロック処理が実行(ステップS708:Yes)され、ステップS709においてメモリアクセスが許可される。検証により不正なホスト装置からのアンロック要求であると判定されるとアンロック処理が実行されず、(ステップS708:No)、エラー通知(S710)がなされる。
【0210】
ステップS704において、RAMのステータスフラグがEL=0であると判定され、ステップS706において、RAMのステータスフラグがSL=0であると判定されると、ロック状態にはないことになり、ステップS709に進み、メモリアクセスが許可されることになる。
【0211】
先に、図16,図17を参照して説明したように、あるホスト装置により、エクスポートロックが解除され、その後電源がオフとなった場合は、NVMのロックステータスフラグがSL=1,EL=1に設定され、その後、電源オンとなった時点で、RAMのロックステータスフラグがSL=1,EL=1に設定されることになり、図18の処理フローにおけるステップS704の判定(EL=1?)がYesとなり、ステップS705の処理、すなわち、エクスポートロック解除処理(図13〜図15参照)を条件としたメモリアクセス許可処理が行なわれることになる。
【0212】
上述したように、本処理例においては、ロック処理またはアンロック処理に適用可能なキーセットの外部出力が許容されるロック状態であるエクスポートロック(EL)状態であるか否か、および、ロック処理またはアンロック処理に適用可能なキーセットの外部出力が許容されないロック状態であるスタンダードロック(SL)状態であるか否かについて判別可能な状態情報からなるロックステータスフラグのアンロック処理前の情報をNVMに格納する構成としたので、情報記憶装置の電源オフ後の電源再投入時に、NVMに格納されたフラグに基づいて、アンロック処理前のロック状態を忠実に再現することが可能となる。
【0213】
本処理例によれば、例えば、あるホスト装置が、エクスポートロックの解除を行なった場合でも、エクスポートロック状態を維持し、情報記憶装置の電源オフ後、再度電源オンとなった場合において、ロックの解除処理を条件としたメモリアクセスの許可が可能となる。従って、正当なプライマリキーセット[IDs,LKs]を有するホスト装置が前述のオーバーロック処理を含む所定の手続きを実行した場合にのみロック解除が可能となり、不正な装置からのアクセス排除が可能となる。
【0214】
[特定データ領域読み出し検出による自動ロック処理]
次に、情報記憶装置(メモリカード)からホスト装置に対するデータの読み出しを情報記憶装置の制御部において監視し、ある予め定められたデータ領域(例えば特定クラスタ)の読み出し実行をトリガとして、ロック処理を実行する処理例について説明する。
【0215】
情報記憶装置(メモリカード)のメモリ部(図2のメモリ部220)に格納されるデータの読み出しは、例えば格納データに応じて生成される再生管理ファイル(PBLIST)によって管理され、制御部では、再生管理ファイルに従って、メモリ部(図2のメモリ部220)からデータを読み出して、ホスト装置に出力する。
【0216】
データが読み出される場合、情報記憶装置の制御部は、読み出しデータの監視を行なうこが可能である。例えば、ATRAC3で圧縮されたオーディオデータは、所定のデータ単位としてのクラスタを読み出しデータ単位として監視することができる。
【0217】
図19に示すように、ATRAC3で圧縮されたオーディオデータは、最小データ単位としてのSU(サウンドユニット)を複数集めたクラスタ、さらに複数のクラスタによってパーツが構成される。SU(サウンドユニット)は、44.1kHzのサンプリング周波数で得られた1024サンプル分(1024×16ビット×2チャンネル)のオーディオデータを約1/10に圧縮した数百バイトのデータであり、クラスタは、複数のSU(たとえばSU42個)によって構成されるデータである。1クラスタが42個のSUで構成される場合、1クラスタで約1秒の音を表すことができる。
【0218】
各クラスタには、各クラスタ固有の論理番号が付与され、論理番号による管理がなされる。情報記憶装置の制御部210(図3参照)は、特定クラスタの読み出しの有無を論理番号に基づいてチェックすることができる。例えば、出力データがある音楽コンテンツであるときに、その音楽コンテンツのイントロ、あるいはさび部分に相当する1以上のクラスタの論理番号を、そのコンテンツに対応するロック対応クラスタとして抽出し、抽出したクラスタ論理番号をコンテンツに対応する登録情報として設定して、コンテンツを格納するメモリ部(フラッシュメモリ)に併せて格納する。
【0219】
コンテンツの読み出し時に、登録情報を情報記憶装置の制御部内のメモリ(RAM)に一次格納し、制御部において、読み出しコンテンツのクラスタと、ロック対応クラスタとの照合処理を実行し、読み出しコンテンツのクラスタがロック対応クラスタの論理番号に一致した場合に、ロック処理を実行する。なお、ロック処理のタイミングは、ロック対応クラスタの読み出し開始時点、ロック対応クラスタの読み出し終了時点、あるいは、ロック対応クラスタを持つコンテンツ全体の読み出し終了時点等、様々な設定が可能であり、設定に応じた検出処理を実行して、設定条件検出に基づいてロック処理を行なう。ロックが実行された場合は、再度の読み出しは、アンロック処理を実行することが必要となる。
【0220】
以下、図20を参照して、情報記憶装置の制御部210において、メモリ部220(図3参照)から特定データ領域(例えば特定クラスタ)が読み出されたことを条件としてロック処理を実行する処理について説明する。
【0221】
なお、図20の処理フローでは、簡単のためにスタンダードロック(SL)についてのみ記載しているが、エクスポートロック(EL)についても同様の処理が可能である。
【0222】
まず、ステップS801において、情報記憶装置の電源がオンされると、ステップS802において、NVMに格納されたロックステータスフラグが制御部210(図3参照)のRAM213にコピー格納される。制御部は、RAM213のステータスフラグに応じた制御を実行する。
【0223】
ステップS803において、スタンダードロックがSL=1であるか否か、すなわちロック状態にあるか否かが判定される。SL=1である場合は、ステップS804においてアンロック処理が実行される。アンロック処理は、例えば図7、図8を参照して説明した処理と同様の処理である。
【0224】
ホスト装置が正当なプライマリIDとプライマリロックキーを保有していることが、情報記憶装置における検証処理により検証され、アンロックが成功する(S805:Yes)と、ステップS806に進む。アンロックに失敗した場合は、ステップS810においてホスト装置に対するエラー通知が実行されて処理を終了する。
【0225】
ステップS806では、アンロック成功に基づいて、RAM,NVMのロックステータスフラグの更新、すなわち、ロック解除状態を示すSL=0の設定処理が実行される。
【0226】
次に、ホスト装置からのデータ読み出しが開始されると、情報記憶装置の制御部は、ステップS807において、あらかじめ設定されたロック対応クラスタの読み出し処理の有無の監視を実行する。ロック対応クラスタのデータ読み出しを検出すると、ステップS808において、制御部210(図3参照)のRAM213のロックステータスフラグをロック状態(SL=1)に設定する。さらに、ステップS809において、NVMのロックステータスフラグをロック状態(SL=1)に設定する。
【0227】
このように、所定のクラスタの読み出し処理を行なうことにより、ロックがかけられ、その後、再度読み出し処理を実行する場合は、アンロック処理が必要となる。アンロック処理は、ロックを実行したと同一のプライマリID(IDs)とプライマリロックキー(LKs)を有するホスト装置のみが可能となり、ロックされた情報記憶装置(メモリカード)が無秩序に利用されることが防止されることになる。
【0228】
なお、ロック情報は、情報記憶装置の電源オフ時に解除される設定、あるいは、前述したように、電源オフ時にもロックステータスフラグをNVMに置き、電源再投入時にNVMのロックステータスフラグを制御部のRAMにコピーして、電源オフ前のロック状態を維持して再現する構成としてもよい。
【0229】
このように本処理例においては、アンロック処理後、データ読み出し処理を実行する場合、1度限りの読み出しを可能とした、いわゆるリードワンスのアクセス制限処理構成が実現される。
【0230】
なお、図20の処理例ではスタンダードロックについてのみ示したが、エクスポートロックにおいても同様の構成、すなわち、所定のデータ領域の読み出しをトリガとしてエクスポートロックをかける構成とすることが可能である。
【0231】
[ホスト装置におけるロック状態提示構成]
次に、様々なロック状態を取り得る情報記憶装置に対するアクセスを実行するホスト装置において、情報記憶装置のロック状態を検出するための提示構成および提示処理について説明する。
【0232】
図21にロック/アンロック専用機器におけるロック状態提示インジケータと、各種処理スイッチを持つ構成例を示す。情報記憶装置としてのメモリカード710とデータ転送可能なインタフェースを持つロック/アンロック専用機器720は、ロック状態インジケータとして、
ロック解除状態を示す[Unlocked]インジーケータ721
ロック状態を示す[Locked]インジーケータ722
エクスポートロック状態を示す[E−Locked]インジーケータ723
エラー通知を示す[ERR]インジーケータ724
を有する。
【0233】
また、各種処理要求スイッチとして、
ロック解除処理要求スイッチとしての[Unlock]スイッチ731
プライマリキーセットによるスタンダードロック処理要求スイッチとしての[P−Lock]スイッチ732
サブキーセットによるスタンダードロック(グループロック)処理要求スイッチとしての[G−Lock]スイッチ733
サブキーセットによるエクスポートロック処理要求スイッチとしての[E−Lock]スイッチ734を有する。
【0234】
さらに、図21(b)に示すロック/アンロック専用機器の例は、上記スイッチの他に、エクスポートロック状態にある情報記憶装置に格納されたサブID(IDen)とサブロックキー(LKen)、すなわちサブキーセット[IDen,LKen]とをホスト装置に格納するインプリント処理のみの実行要求スイッチとしての[Imprint]スイッチ735を有する。
【0235】
なお、図21には、ロック/アンロック専用機器のインジケータ構成と処理要求スイッチ構成例を示したが、先に説明したように、ホスト装置には、PC,PDA等の情報処理装置、DSC等のデジタルカメラ、携帯通信端末等の様々な装置が含まれ、これらの装置においては、それぞれの入力手段を介した情報記憶装置(メモリカード)に対するコマンド送出構成が可能である。また、ロック状態表示処理も、それぞれの機器においてLCD等のディスプレイに表示したり、あるいは、音声、アラーム等により通知する構成とすることが可能である。
【0236】
図22以下を参照して、ホスト装置におけるロック状態提示処理、およびホスト装置から情報記憶装置(メモリカード)に対するコマンド送信処理について説明する。
【0237】
図22は、例えば、ホスト装置に対して情報記憶装置(メモリカード)を接続したときに実行されるロック状態読み出し処理を説明するフローである。ロック状態読み出し処理は、ユーザによるコマンド入力によって実行する構成としてもよいが、ホスト装置に対して情報記憶装置(メモリカード)を接続したときに自動実行する構成としてもよい。
【0238】
ステップS901において、ロック状態が情報記憶装置から読み出される。この状態情報は、先に説明した情報記憶装置の制御部210(図3参照)のRAM213に格納されたロックステータスフラグに基づく。ステップS902において、このロック状態読み出し情報に基づいて、ロック状態に対応するインジケータ721〜724が点灯する。すなわち、スタンダードロック、グループロックが実行されている場合は、ロック状態を示す[Locked]インジーケータ722が表示(点灯)され、エクスポートロックが実行されている場合は、エクスポートロック状態を示す[E−Locked]インジーケータ723が表示(点灯)され、ロック状態にない場合は、ロック解除状態を示す[Unlocked]インジーケータ721が表示(点灯)される。
【0239】
次に、図23を参照して、ロック処理要求、実行に基づくインジケータ表示処理について説明する。ロック処理は、図21の、処理要求スイッチ732〜734のスイッチによる入力に基づいて実行される。
【0240】
プライマリID(IDs)と、プライマリロックキー(LKs)のプライマリキーセット[IDs,LKs]を適用したスタンダードロック処理要求の場合は、[S−Lock]スイッチ732による入力、サブID(IDen)と、サブロックキー(LKen)のサブキーセット[IDen,LKen]を適用したエクスポートロック処理要求の場合は、E−Lock]スイッチ734による入力、サブキーセット[IDen,LKen]を適用したスタンダードロック、すなわちグループロック処理要求の場合は、[G−Lock]スイッチ733による入力を実行する。。
【0241】
これらのいずれかの入力を受けると、ステップS911において、情報記憶装置(メモリカード)のロック状態を検出し、アンロック状態でない場合は、ステップS914において、エラー(ERR)インジケータ表示を行なう。アンロック状態である場合は、ステップS912において、スタンダードロック処理、またはエクスポートロック処理、またはグループロック処理のいずれかを実行し、ロック処理完了の後、ホスト装置の対応ロックインジケータ、すなわち、ロック状態を示す[Locked]インジーケータ722、またはエクスポートロック状態を示す[E−Locked]インジーケータ723の表示を実行する。
【0242】
次に、図24を参照して、アンロック処理時におけるホスト装置の操作、インジケータ表示について説明する。
【0243】
アンロック処理は、図21におけるアンロック要求スイッチ731の押下により実行される。アンロック要求スイッチの押下により、まず、情報記憶装置のロック状態検出が実行される。状態検出は、先に説明した制御部内のRAMのロックステータスフラグに基づいて実行される。ロック状態にない場合(ステップS921:No)は、ステップS923においてエラー(ERR)インジケータ724の表示を実行する。
【0244】
また、ステップS922のロック状態読み出しにおいて、情報記憶装置がエクスポートロック状態にあるかスタンダードロック状態にあるかが判定される。先に説明したロックステータスフラグに基づいてエクスポートロック状態にあるかスタンダードロック状態にあるかを識別する。識別結果に基づいて、図21に示すロック状態に対応するインジケータ721〜724が点灯する。
【0245】
まず、エクスポートロックである場合(ステップS924:Yes)は、先に図16乃至図18を参照して説明したインプリントおよびアンロック処理を実行する。すなわちステップS925に示すプライマリID(IDs)とプライマリロックキー(LKs)によるオーバーロック処理、ステップS926のサブID(IDen)と、サブロックキー(LKen)のインプリント(入力格納)処理、さらに、ステップS927におけるサブID(IDen)と、サブロックキー(LKen)を適用したロック解除処理である。この処理の詳細は、先に図16乃至図18を参照して説明した通りである。これらの処理により、ロックが解除されると、ステップS928において、ロック解除インジケータ721が表示される。
【0246】
ステップS924において、エクスポートロック以外のロック状態、すなわちスタンダードロック状態である場合は、ステップS929において、スタンダードロックがなされているか否かが判定され、スタンダードロックありの場合は、ステップS930において、アンロック処理を実行する。このアンロック処理に適用するキーセットは、プライマリーキーセット[IDs,LKs]、あるいはグループロックである場合は、サブキーセット[IDen,LKen]である。この処理により、ロックが解除されると、ステップS928において、ロック解除インジケータ721が表示される。
【0247】
ステップS924において、エクスポートロック以外のロック状態であり、ステップS929において、スタンダードロックでないと判定されると、ステップS931に進み、エラー(ERR)インジケータ724が表示される。
【0248】
以上、特定の実施例を参照しながら、本発明について詳解してきた。しかしながら、本発明の要旨を逸脱しない範囲で当業者が該実施例の修正や代用を成し得ることは自明である。すなわち、例示という形態で本発明を開示してきたのであり、限定的に解釈されるべきではない。本発明の要旨を判断するためには、冒頭に記載した特許請求の範囲の欄を参酌すべきである。
【0249】
なお、明細書中において説明した一連の処理はハードウェア、またはソフトウェア、あるいは両者の複合構成によって実行することが可能である。ソフトウェアによる処理を実行する場合は、処理シーケンスを記録したプログラムを、専用のハードウェアに組み込まれたコンピュータ内のメモリにインストールして実行させるか、あるいは、各種処理が実行可能な汎用コンピュータにプログラムをインストールして実行させることが可能である。
【0250】
例えば、プログラムは記録媒体としてのハードディスクやROM(Read Only Memory)に予め記録しておくことができる。あるいは、プログラムはフレキシブルディスク、CD−ROM(Compact Disc Read Only Memory),MO(Magneto optical)ディスク,DVD(Digital Versatile Disc)、磁気ディスク、半導体メモリなどのリムーバブル記録媒体に、一時的あるいは永続的に格納(記録)しておくことができる。このようなリムーバブル記録媒体は、いわゆるパッケージソフトウエアとして提供することができる。
【0251】
なお、プログラムは、上述したようなリムーバブル記録媒体からコンピュータにインストールする他、ダウンロードサイトから、コンピュータに無線転送したり、LAN(Local Area Network)、インターネットといったネットワークを介して、コンピュータに有線で転送し、コンピュータでは、そのようにして転送されてくるプログラムを受信し、内蔵するハードディスク等の記録媒体にインストールすることができる。
【0252】
なお、明細書に記載された各種の処理は、記載に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されてもよい。また、本明細書においてシステムとは、複数の装置の論理的集合構成であり、各構成の装置が同一筐体内にあるものには限らない。
【0253】
【発明の効果】
以上説明してきたように、本発明の構成によれば、メモリカード等の情報記憶装置において、PC等の情報処理装置からメモリのロック処理要求コマンド、またはロック解除要求であるアンロック処理要求コマンドを入力し、入力コマンドに応じた処理を実行する際に、コマンドを出力した情報処理装置に対応して設定された識別子(ID)に基づいて、情報処理装置が、該識別子(ID)を含む正当なキーセットを有しているか否かの検証処理を実行し、該検証の成立を条件として、前記コマンドに基づく処理を実行する構成としたので、セキュアな管理下でのメモリアクセス制御が実現される。
【0254】
さらに、本発明の構成によれば、情報処理装置に固有ID(ID)と、該固有IDに対応するロックキー(LK)からなるキーセット[ID,LK]を格納し、一方、情報記憶装置は、LK=H(LMK,ID)の関係、すなわち、IDに対するロックマスターキー(LMK)を適用したハッシュ値としてロックキー(LK)の算出が可能なロックマスターキー(LMK)を格納し、情報処理装置から入力する情報処理装置固有のキーセットの検証を前記ロックマスターキー(LMK)を適用したハッシュ値算出により取得したロックキー(LK)に基づいて実行する構成としたので、複数の異なるロックキー(LK)に対する検証を1つのロックマスターキー(LMK)に基づいて実行することが可能となる。
【0255】
さらに、本発明の構成によれば、情報処理装置の検証において、情報記憶装置側で乱数発生処理を実行し、情報処理装置の所有するロックキー(LK)に基づく乱数(Rms)の暗号化データ[E(Lk,Rms)]を該情報処理装置から受信し、該受信暗号化データと、ハッシュ値算出による取得したロックキー(LK)に基づいて算出した暗号化データ[E(Lk,Rms)]との照合を実行する構成としたので、照合毎に異なる乱数を適用した検証が可能となり、過去の照合履歴データを利用した不正アクセスが排除可能となる。
【図面の簡単な説明】
【図1】本発明の情報記憶装置の利用形態の概要について説明する図である。
【図2】情報記憶装置を利用するホスト装置のハード構成例を示す図である。
【図3】情報記憶装置のハード構成例を示す図である。
【図4】本発明の情報記憶装置、およびホスト装置の格納データについて説明する図である。
【図5】情報記憶装置に対するロック処理における情報記憶装置とホスト装置間の通信処理シーケンスについて説明する図である。
【図6】情報記憶装置に対するロック処理を説明する処理フローを示す図である。
【図7】情報記憶装置に対するアンロック処理における情報記憶装置とホスト装置間の通信処理シーケンスについて説明する図である。
【図8】情報記憶装置に対するアンロック処理を説明する処理フローを示す図である。
【図9】本発明の情報記憶装置、およびホスト装置の格納データについて説明する図である。
【図10】本発明の情報記憶装置に対するロック処理態様について説明する図である。
【図11】情報記憶装置に対するサブキーセットを適用したロック処理における情報記憶装置とホスト装置間の通信処理シーケンスについて説明する図である。
【図12】情報記憶装置に対するサブキーセットを適用したロック処理を説明する処理フローを示す図である。
【図13】情報記憶装置に対するインプリントおよびサブキーセットを適用したアンロック処理における情報記憶装置とホスト装置間の通信処理シーケンスについて説明する図である。
【図14】情報記憶装置に対するインプリントおよびサブキーセットを適用したアンロック処理について説明するフロー図である。
【図15】情報記憶装置に対するインプリントおよびサブキーセットを適用したアンロック処理について説明するフロー図である。
【図16】情報記憶装置に対するインプリントおよびサブキーセットを適用したアンロック処理における情報記憶装置とホスト装置間の通信処理シーケンスについて説明する図である。
【図17】情報記憶装置に対するインプリントおよびサブキーセットを適用したアンロック処理におけるロックステータスフラグの更新処理について説明するフロー図である。
【図18】情報記憶装置に対するアンロック処理におけるロックステータスフラグ参照処理について説明するフロー図である。
【図19】情報記憶装置に対するデータ格納態様としてのクラスタ構成について説明する図である。
【図20】特定データ領域(クラスタ)読み出しに基づくロック処理について説明するフロー図である。
【図21】情報記憶装置に対するロック/アンロック実行機器の構成について説明する図である。
【図22】ホスト装置におけるロック状態読み出し処理フロー図である。
【図23】ホスト装置におけるロック処理時における処理、およびインジケータ表示処理を説明するフロー図である。
【図24】ホスト装置におけるアンロック処理時における処理、およびインジケータ表示処理を説明するフロー図である。
【符号の説明】
20 ホスト装置
21,22 PC
23 PDA
24 携帯通信端末
25 デジタルカメラ
30 情報記憶装置(メモリカード)
101 CPU(Central processing Unit)
102 ROM(Read−Only−Memory)
103 RAM(Random Access Memory)
104 DSP
105 D/A変換器
106 増幅回路
107 音声出力部
108 表示コントローラ
109 表示部
110 操作入力コントローラ
111 操作入力部
112 入力I/F
113 記憶装置I/F
114 情報記憶装置
115 入出力I/F
116 バス
200 情報記憶装置
210 制御部
211 CPU(Central processing Unit)
212 ROM(Read−Only−Memory)
213 RAM(Random Access Memory)
214 機器インタフェース
215 メモリインタフェース
220 メモリ部
310 ホスト装置
312 ロック・アンロック機器
315 メモリ
320 情報記憶装置
325 メモリ
510 ホスト装置
512 ロック・アンロック機器
515 メモリ
520 情報記憶装置
525 メモリ
531 プライマリキーセット
532 サブキーセット
541 スタンダードロックキーセット格納領域
542 エクスポートロックキーセット格納領域
551 ロックステータスフラグ
710 情報記憶装置
720 ホスト装置
721〜724 インジケータ
731〜735 スイッチ
【発明の属する技術分野】
本発明は、情報記憶装置、メモリアクセス制御システム、および方法、並びにコンピュータ・プログラムに関する。さらに詳細には、メモリカード等の情報記憶装置の格納データに対する様々な態様でのアクセス制限構成を実現し、情報記憶装置内のメモリのロック処理またはアンロック処理を情報記憶装置の有する識別子等によって構成されるキーセットの検証に基づいて実行し、セキュアなメモリアクセス制御管理を実現する情報記憶装置、メモリアクセス制御システム、および方法、並びにコンピュータ・プログラムに関する。
【0002】
【従来の技術】
PC(Personal Computer)、PDA(Personal Digital Assistants)、デジタルカメラ、データ記録再生装置、あるいはゲーム機器等、様々な情報処理装置では、ハードディスク、DVD、CD、メモリカード等、様々な記憶媒体を利用したデータの記録、再生処理が実行される。
【0003】
昨今では、フラッシュメモリ等によって構成されるメモリ部と、CPU等によって構成される制御部とを備えた小型のカード型メモリ装置が、音楽データ、画像データ、プログラム等、様々なソフトウエアデータ(コンテンツ(Content))の記憶手段として多く利用されている。
【0004】
メモリカード等に格納されたデータの読み出し、あるいはデータ書き込みは、メモリカード・インタフェースを有する機器にカードを装着し、インタフェースを介してデータ転送を行なうことにより可能となる。メモリ装置を利用したデータ記録再生は、誰もが自由に実行できる構成とすることも可能であるが、例えばパスワード設定、あるいは暗号処理などによって、特定ユーザ、あるいは特定機器のみに対してメモリ・アクセスを許可し、権限を持たない第三者によるアクセスを排除した、いわゆるアクセ制限構成が実現されている。
【0005】
例えばアクセス権限を有するユーザのみが知り得るパスワードを設定して、情報再生装置としてのコンテンツ利用機器から、メモリカード等のコンテンツ格納機器に対してパスワードを転送し、メモリカード側の制御部(CPU等)においてパスワードの検証を実行して、検証成立を条件として、メモリカード等のコンテンツ格納機器から、情報再生装置としてのコンテンツ利用機器に対してコンテンツを出力する構成、あるいは、情報再生装置としてのコンテンツ利用機器と、メモリカード等のコンテンツ格納機器間において相互認証処理を実行して、相互認証が成立したことを条件として、メモリカード等のコンテンツ格納機器から、情報再生装置としてのコンテンツ利用機器に対してコンテンツを出力する構成等がある。
【0006】
【発明が解決しようとする課題】
このように、データ(コンテンツ)利用権限を確認した上でデータを利用可能とする形態は、様々な形態がある。
【0007】
しかしながら、メモリカード等のデータ記憶装置は、PC、PDA、デジタルカメラ等、様々な機器に装着可能であり、これらの機器で、相互に1つのメモリカードを利用する場合も多い。このようなデータ利用形態において、メモリカードを機器に装着する毎に上述したパスワード検証処理、認証処理等の実行が要求されると、データ読み取りあるいはデータ書き込み等の処理に至るまでに時間を要し、処理効率が低下することになる。
【0008】
本発明は、上述の問題点に鑑みてなされたものであり、情報記憶装置内のメモリのロック処理またはアンロック処理を情報記憶装置の有する識別子等によって構成されるキーセットの検証に基づいて実行し、セキュアなメモリアクセス制御管理を実現した情報記憶装置、メモリアクセス制御システム、および方法、並びにコンピュータ・プログラムを提供することを目的とする。
【0009】
【課題を解決するための手段】
本発明の第1の側面は、
データ記憶用のメモリと、該メモリに対するアクセス制御を実行する制御部とを有する情報記憶装置であり、
前記制御部は、
情報処理装置から前記メモリのロック処理要求コマンド、またはロック解除要求であるアンロック処理要求コマンドを入力し、入力コマンドに応じた処理を実行する構成であるとともに、
前記コマンドを出力した情報処理装置に対応して設定された識別子(ID)に基づいて、前記情報処理装置が、該識別子(ID)を含む正当なキーセットを有しているか否かの検証処理を実行し、該検証の成立を条件として、前記コマンドに基づく処理を実行する構成であることを特徴とする情報記憶装置にある。
【0010】
さらに、本発明の情報記憶装置の一実施態様において、前記情報処理装置の有するキーセットは、情報処理装置の固有ID(ID)と、該固有IDに対応するロックキー(LK)からなるキーセット[ID,LK]であり、前記情報記憶装置は、LK=H(LMK,ID)の関係、すなわち、IDに対するロックマスターキー(LMK)を適用したハッシュ値としてロックキー(LK)の算出が可能なロックマスターキー(LMK)を有し、前記制御部は、情報処理装置から入力する情報処理装置固有のキーセットの検証を前記ロックマスターキー(LMK)を適用したハッシュ値算出により取得したロックキー(LK)に基づいて実行する構成であることを特徴とする。
【0011】
さらに、本発明の情報記憶装置の一実施態様において、前記制御部は、乱数発生処理を実行し、情報処理装置の所有するロックキー(LK)に基づく前記乱数(Rms)の暗号化データ[E(Lk,Rms)]を該情報処理装置から受信し、該受信暗号化データと、前記ハッシュ値算出による取得したロックキー(LK)に基づいて算出した暗号化データ[E(Lk,Rms)]との照合を含む検証処理を実行する構成であることを特徴とする。
【0012】
さらに、本発明の情報記憶装置の一実施態様において、前記制御部は、前記情報処理装置からの入力コマンドがロックコマンドである場合、前記情報処理装置から識別子(ID)を入力し、該入力識別子(ID)に基づいて、検証処理を実行する構成であることを特徴とする。
【0013】
さらに、本発明の情報記憶装置の一実施態様において、前記制御部は、前記情報処理装置からの入力コマンドがアンロックコマンドである場合、ロック処理実行に際して情報処理装置から入力し、メモリに格納した識別子(ID)を、該メモリから読み出し、読み出した識別子(ID)に基づいて、検証処理を実行する構成であることを特徴とする。
【0014】
さらに、本発明の第2の側面は、
データ記憶用のメモリと、該メモリに対するアクセス制御を実行する制御部とを有する情報記憶装置と、前記情報記憶装置に対するインタフェースを有し、該インタフェースを介して情報記憶装置内のメモリアクセスを実行する情報処理装置とを有するメモリアクセス制御システムであり、
前記情報処理装置は、
識別子(ID)およびロックキー(LK)を含むキーセットを記憶手段に格納し、
前記情報記憶装置の制御部は、
情報処理装置から前記メモリのロック処理要求コマンド、またはロック解除要求であるアンロック処理要求コマンドを入力し、入力コマンドに応じた処理を実行する構成であるとともに、
前記コマンドの入力を行なった情報処理装置に対応して設定された識別子(ID)に基づいて、前記情報処理装置が、該識別子(ID)を含む正当なキーセットを有しているか否かの検証処理を実行し、該検証の成立を条件として、前記コマンドに基づく処理を実行する構成であることを特徴とするメモリアクセス制御システムにある。
【0015】
さらに、本発明のメモリアクセス制御システムの一実施態様において、前記情報処理装置の有するキーセットは、情報処理装置の固有ID(ID)と、該固有IDに対応するロックキー(LK)からなるキーセット[ID,LK]であり、前記情報記憶装置は、LK=H(LMK,ID)の関係、すなわち、IDに対するロックマスターキー(LMK)を適用したハッシュ値としてロックキー(LK)の算出が可能なロックマスターキー(LMK)を有し、前記情報記憶装置の制御部は、情報処理装置から入力する情報処理装置固有のキーセットの検証を前記ロックマスターキー(LMK)を適用したハッシュ値算出により取得したロックキー(LK)に基づいて実行する構成であることを特徴とする。
【0016】
さらに、本発明のメモリアクセス制御システムの一実施態様において、前記情報記憶装置の制御部は、乱数発生処理を実行し、情報処理装置の所有するロックキー(LK)に基づく前記乱数(Rms)の暗号化データ[E(Lk,Rms)]を該情報処理装置から受信し、該受信暗号化データと、前記ハッシュ値算出による取得したロックキー(LK)に基づいて算出した暗号化データ[E(Lk,Rms)]との照合を含む検証処理を実行する構成であることを特徴とする。
【0017】
さらに、本発明のメモリアクセス制御システムの一実施態様において、前記情報記憶装置の制御部は、前記情報処理装置からの入力コマンドがロックコマンドである場合、前記情報処理装置から識別子(ID)を入力し、該入力識別子(ID)に基づいて、検証処理を実行する構成であることを特徴とする。
【0018】
さらに、本発明のメモリアクセス制御システムの一実施態様において、前記情報記憶装置の制御部は、前記情報処理装置からの入力コマンドがアンロックコマンドである場合、ロック処理実行に際して情報処理装置から入力し、メモリに格納した識別子(ID)を、該メモリから読み出し、読み出した識別子(ID)に基づいて、検証処理を実行する構成であることを特徴とする。
【0019】
さらに、本発明の第3の側面は、
データ記憶用のメモリと、該メモリに対するアクセス制御を実行する制御部とを有する情報記憶装置におけるメモリアクセス制御方法であり、
情報処理装置から前記メモリのロック処理要求コマンド、またはロック解除要求であるアンロック処理要求コマンドを入力するステップと、
前記コマンドを出力した情報処理装置に対応して設定された識別子(ID)に基づいて、前記情報処理装置が、該識別子(ID)を含む正当なキーセットを有しているか否かの検証処理を実行する検証ステップと、
前記検証の成立を条件として、前記コマンドに基づく処理を実行するステップと、
を有することを特徴とするメモリアクセス制御方法にある。
【0020】
さらに、本発明のメモリアクセス制御方法の一実施態様において、前記情報処理装置の有するキーセットは、情報処理装置の固有ID(ID)と、該固有IDに対応するロックキー(LK)からなるキーセット[ID,LK]であり、前記情報記憶装置は、LK=H(LMK,ID)の関係、すなわち、IDに対するロックマスターキー(LMK)を適用したハッシュ値としてロックキー(LK)の算出が可能なロックマスターキー(LMK)を有し、前記検証ステップは、情報処理装置から入力する情報処理装置固有のキーセットの検証を前記ロックマスターキー(LMK)を適用したハッシュ値算出により取得したロックキー(LK)に基づく検証処理を実行するステップを含むことを特徴とする。
【0021】
さらに、本発明のメモリアクセス制御方法の一実施態様において、前記検証ステップは、乱数発生処理を実行し、情報処理装置の所有するロックキー(LK)に基づく前記乱数(Rms)の暗号化データ[E(Lk,Rms)]を該情報処理装置から受信し、該受信暗号化データと、前記ハッシュ値算出による取得したロックキー(LK)に基づいて算出した暗号化データ[E(Lk,Rms)]との照合を含む検証処理を実行するステップを含むことを特徴とする。
【0022】
さらに、本発明のメモリアクセス制御方法の一実施態様において、前記検証ステップは、前記情報処理装置からの入力コマンドがロックコマンドである場合、前記情報処理装置から識別子(ID)を入力し、該入力識別子(ID)に基づいて、検証処理を実行するステップを含むことを特徴とする。
【0023】
さらに、本発明のメモリアクセス制御方法の一実施態様において、前記検証ステップは、前記情報処理装置からの入力コマンドがアンロックコマンドである場合、ロック処理実行に際して情報処理装置から入力し、メモリに格納した識別子(ID)を、該メモリから読み出し、読み出した識別子(ID)に基づいて、検証処理を実行するステップを含むことを特徴とする。
【0024】
さらに、本発明の第4の側面は、
データ記憶用のメモリと、該メモリに対するアクセス制御を実行する制御部とを有する情報記憶装置におけるメモリアクセス制御処理を実行するコンピュータ・プログラムであって、
情報処理装置から前記メモリのロック処理要求コマンド、またはロック解除要求であるアンロック処理要求コマンドを入力するステップと、
前記コマンドを出力した情報処理装置に対応して設定された識別子(ID)に基づいて、前記情報処理装置が、該識別子(ID)を含む正当なキーセットを有しているか否かの検証処理を実行する検証ステップと、
前記検証の成立を条件として、前記コマンドに基づく処理を実行するステップと、
を有することを特徴とするコンピュータ・プログラムにある。
【0025】
【作用】
本発明の構成によれば、メモリカード等の情報記憶装置において、PC等の情報処理装置からメモリのロック処理要求コマンド、またはロック解除要求であるアンロック処理要求コマンドを入力し、入力コマンドに応じた処理を実行する際に、コマンドを出力した情報処理装置に対応して設定された識別子(ID)に基づいて、情報処理装置が、該識別子(ID)を含む正当なキーセットを有しているか否かの検証処理を実行し、該検証の成立を条件として、前記コマンドに基づく処理を実行する構成としたので、セキュアな管理下でのメモリアクセス制御が実現される。
【0026】
さらに、本発明の構成によれば、情報処理装置に固有ID(ID)と、該固有IDに対応するロックキー(LK)からなるキーセット[ID,LK]を格納し、一方、情報記憶装置は、LK=H(LMK,ID)の関係、すなわち、IDに対するロックマスターキー(LMK)を適用したハッシュ値としてロックキー(LK)の算出が可能なロックマスターキー(LMK)を格納し、情報処理装置から入力する情報処理装置固有のキーセットの検証を前記ロックマスターキー(LMK)を適用したハッシュ値算出により取得したロックキー(LK)に基づいて実行する構成としたので、複数の異なるロックキー(LK)に対する検証を1つのロックマスターキー(LMK)に基づいて実行することが可能となる。
【0027】
さらに、本発明の構成によれば、情報処理装置の検証において、情報記憶装置側で乱数発生処理を実行し、情報処理装置の所有するロックキー(LK)に基づく乱数(Rms)の暗号化データ[E(Lk,Rms)]を該情報処理装置から受信し、該受信暗号化データと、ハッシュ値算出による取得したロックキー(LK)に基づいて算出した暗号化データ[E(Lk,Rms)]との照合を実行する構成としたので、照合毎に異なる乱数を適用した検証が可能となり、過去の照合履歴データを利用した不正アクセスが排除可能となる。
【0028】
なお、本発明のコンピュータ・プログラムは、例えば、様々なプログラム・コードを実行可能な汎用コンピュータ・システムに対して、コンピュータ可読な形式で提供する記憶媒体、通信媒体、例えば、CDやFD、MOなどの記憶媒体、あるいは、ネットワークなどの通信媒体によって提供可能なコンピュータ・プログラムである。このようなプログラムをコンピュータ可読な形式で提供することにより、コンピュータ・システム上でプログラムに応じた処理が実現される。
【0029】
本発明のさらに他の目的、特徴や利点は、後述する本発明の実施例や添付する図面に基づく、より詳細な説明によって明らかになるであろう。なお、本明細書においてシステムとは、複数の装置の論理的集合構成であり、各構成の装置が同一筐体内にあるものには限らない。
【0030】
【発明の実施の形態】
以下、本発明の情報記憶装置、メモリアクセス制御処理の実施例詳細について、図面を参照して詳細に説明する。
【0031】
まず、本発明の情報記憶装置を適用したデータ利用構成の概要について、図1を参照して説明する。情報処理装置20は、例えばPC(Personal Computer)21、PDA(Personal Digital Assistants)22、携帯通信端末23、デジタルカメラ24等、情報記憶装置30を装着し、情報記憶装置30からの情報を出力可能な機器である。
【0032】
これらの情報処理装置20は、例えばフラッシュメモリ等の不揮発性メモリ(NVM:Non−Volatile Memory)を搭載したメモリカード30を装着し、メモリカード30に対してデータを格納し、あるいはメモリカードに格納されたデータの読み出しを実行する。
【0033】
PC(Personal Computer)21、22、PDA(Personal Digital Assistants)23、携帯通信端末24、デジタルカメラ25の各々は、1つのメモリカード30を相互に利用する場合もある。例えばデジタルカメラ25で撮影した画像データをメモリカード30に格納し、その後、メモリカード30をPC21に装着して格納画像データの表示、画像処理等を実行したり、あるいは、PC21において、インターネット等のネットワークを介して、またはCD、DVD等を介して入手した音楽データ等のコンテンツをメモリカード30に格納し、その後、コンテンツを格納したメモリカード30をPDA22に装着して、外出先で、PDA22を用いてコンテンツを再生するなどの利用が行なわれる。
【0034】
図2にメモリカード等の情報記憶装置を装着可能な情報処理装置の構成例を示す。CPU(Central Processing Unit)101は、各種アプリケーションプログラム、OS(Operating System)を実行するプロセッサである。後段で詳細に説明する情報記憶装置に対するアクセス制限処理としてのロック処理、アンロック処理におけるハッシュ値算出、乱数生成等を含む各種暗号処理、およびコマンド送受信等における制御を実行する。
【0035】
ROM(Read Only Memory)102は、CPU101が実行するプログラムや演算用のパラメータのうちの固定データ等を格納する。後段で詳細に説明する情報記憶装置に対する対するアクセス制限処理としてのロック処理、アンロック処理プログラム等が格納される。RAM(Random Access Memory)103は、CPU101の実行プログラムに適用する情報や、その実行において適宜変化するパラメータ等を格納する。
【0036】
DSP(Digital Signal Processor)104は、例えばメモリカード等の情報記憶装置200から記憶装置I/F113を介して入力したコンテンツの再生処理の際の暗号処理、イコライザ調整(音声信号の周波数帯域に対応した利得の調整)、圧縮伸長(エンコード/デコード)処理等を実行する。
【0037】
復号、伸長されたコンテンツは、デジタルアナログ変換回路105でアナログ音声信号に変換され、増幅回路106において増幅された後、音声出力部107を介して出力する。また、画像データの出力は、表示コントローラ108を介してLCD等の表示部109において実行される。入力I/F112からは、外部ソースからデジタル信号、またはアナログ信号を入力し、アナログ信号入力時にはA/D変換する。A/D変換は、入力される入力信号をデジタル信号へ変換する。また、外部ソースからの入力デジタル信号は、SRC(サンプリングレートコンバータ)により、所定のサンプリング周波数、量子化ビット数を持つデジタル信号に変換されて入力される。
【0038】
入出力I/F115は、外部機器を接続するインタフェースであり、例えばUSB,IEEE1394等の接続態様による接続を行ない接続された機器とのデータ転送が実行される。
【0039】
次に、図3を参照して、フラッシュメモリ等の不揮発性メモリ(NVM:Non−Volatile Memory)を搭載したメモリカード等の情報記憶装置200の構成例を示す。フラッシュメモリは、EEPROM(Electrically Erasable Programmable ROM)と呼ばれる電気的に書き換え可能な不揮発性メモリの一形態である。従来のEEPROMは、1ビットを2個のトランジスタで構成するために、1ビット当たりの占有面積が大きく、集積度を高くするのに限界があったが、フラッシュメモリは、全ビット一括消去方式により1ビットを1トランジスタで実現することが可能となった。
【0040】
このようなフラッシュメモリを持つ情報記憶装置200は、PC、PDA、デジタルカメラ等の情報処理装置に装着され、情報処理装置から入力するデータを、メモリ部220に格納し、また、メモリ部220に格納されたデータを情報処理装置に対して出力する。
【0041】
情報記憶装置200は、さらに制御部210を有し、制御部210は、各種プログラムを実行するプロセッサとしてのCPU(Central Processing Unit)211、CPU211が実行するプログラムや演算用のパラメータのうちの固定データ等を格納するROM(Read Only Memory)212、CPU211の実行プログラムに適用する情報や、その実行において適宜変化するパラメータ等を格納するRAM(Random Access Memory)213を有する。
【0042】
なお、RAM(Random Access Memory)213は、後段で詳細に説明する情報記憶装置に対する対するアクセス制限処理としてのロック処理、アンロック処理によって変化するロック状態の状態値データの格納領域としても使用される。
【0043】
制御部210は、さらに、情報処理装置間とのデータ入出力用のインタフェースとしての機器インタフェース214、メモリ部220とのデータ入出力用のインタフェースとしてのメモリインタフェース216を有する。
【0044】
CPU211は、後段で詳細に説明する情報処理装置との間で実行されるアクセス制限処理としてのロック処理、アンロック処理におけるハッシュ値算出、乱数生成等を含む各種暗号処理、およびコマンド送受信等における制御を実行する。
【0045】
[ロックマスターキー(LMK)に基づく処理]
次に、情報記憶装置に対するアクセス制限機構の一処理例として、ロックマスターキー(LMK)を適用したロック処理及びアンロック処理について説明する。図4を参照して本処理例、すなわちロックマスターキー(LMK)を適用した処理の概要を説明する。
【0046】
メモリカード等の情報記憶装置320のコンテンツ等のデータ格納領域であるフラッシュメモリ等によって構成されるメモリ部(図3のメモリ部220)に対するアクセス制限を有効にする処理をロック処理とし、アクセス制限を解除する処理をアンロック処理とする。このロック処理およびアンロック処理を実行するのが、ホスト装置310である。
【0047】
ホスト装置310は、先に図1、図2を参照して説明したように、メモリカード等の情報記憶装置320とのデータ転送を実行するインタフェースを有し、情報記憶装置320に対するデータ書き込みあるいは情報記憶装置320からのデータ読み出しを実行してデータ利用を行なうPC、PDA、デジタルカメラ、DSC(Digital Still Camera)等の情報処理装置を含む。さらに、ホスト装置310には、メモリカード等の情報記憶装置320に対するロック処理/アンロック処理実行専用機器としてのロック・アンロック用機器312も含まれる。
【0048】
ロック・アンロック用機器312は、ロック・アンロック処理アルゴリズムを実行する制御手段としてのCPU、およびデータ格納メモリとしてのROM,RAMを有し、さらにメモリカード等の情報記憶装置320の装着、データ転送を実行するインタフェースを有し、情報記憶装置320に対するロック処理およびアンロック処理専用の機器として構成される。
【0049】
以下の説明では、情報記憶装置320に対してロック処理、アンロック処理を実行する機器、すなわち、PC,PDA他の情報処理装置と、ロック・アンロック用機器312を含めてホスト装置と呼ぶ。
【0050】
ホスト装置内のROM等のメモリ315には、各ホスト装置固有の識別子としてのID(例えば16バイトデータ)と、ロック処理、アンロック処理に適用する鍵データとしてのロックキー(LK)(例えば8バイトデータ)が格納される。ホスト装置の有する各ホスト装置固有の識別子(ID)と、ロックキー(LK)のセット[ID,LK]をキーセットと呼ぶ。
【0051】
一方、メモリカード等の情報記憶装置320内の制御部内のROM等のメモリ325には、ロックマスターキー(LMK)が格納される。これらの情報は、例えば各機器の製造時に各機器に対して書き込まれ、ユーザによる書き換え不可能なデータとされる。
【0052】
情報記憶装置320に格納されるロックマスターキー(LMK)と、ホスト装置に格納されるIDと、ロックキー(LK)とは、以下の関係を持つ。
LK=H(LMK,ID)
【0053】
なお、H(X,Y)は、キーXを適用したメッセージYに対するハッシュ値算出処理を示す。すなわち、IDに対して、ロックマスターキー(LMK)を適用したハッシュ値算出処理によりIDに対応するロックキー(LK)が求められる。
【0054】
ハッシュ関数は、一方向性関数であり、その出力から逆に入力を求めるのは非常に困難となる関数である。上記式においては、各ホスト装置に固有のIDに対して、ロックマスターキー(LMK)を鍵として一方向性関数を適用して、その出力を各ホスト装置に固有のIDに対応するロックキー(LK)とした設定である。ハッシュ・アルゴリズムとしてはMD5,SHAなどが適用可能である。
【0055】
(ロック処理)
次に上述したロックマスターキー(LMK)を適用したロック処理、すなわち情報記憶装置に対するアクセス制限を有効にする処理について説明する。
【0056】
図5にロック処理におけるホスト装置と、情報記憶装置間で実行される処理シーケンス図を示す。ホスト装置と、情報記憶装置は、それぞれ相互にデータ転送可能に接続されている。まず、ホスト装置が、乱数発生コマンドを情報記憶装置に対して出力する。乱数発生コマンドを受信した情報記憶装置は、所定長、例えば16バイト乱数(Rms)の発生処理を実行し、発生乱数(Rms)をホスト装置に対して送信する。なお、情報記憶装置は、発生乱数(Rms)を制御部内のRAM等のメモリに格納しておく。
【0057】
情報記憶装置から乱数(Rms)を受信したホスト装置は、予めホスト装置内のメモリに格納済みのロックキー(LK)を暗号処理キーとした受信乱数(Rms)の暗号処理:E(LK,Rms)を実行する。なお、E(X,Y)は、キー[X]を適用したメッセージ[Y]の暗号処理を示す。暗号処理アルゴリズムは様々なアルゴリズムの適用が可能であり、例えばDES暗号処理アルゴリズムが適用される。
【0058】
ホスト装置は、ロックキー(LK)を暗号処理キーとした受信乱数(Rms)の暗号処理:E(LK,Rms)を実行し、その結果データ[E(LK,Rms)]と、ホスト装置が予めホスト装置内のメモリに格納しているホスト装置固有の識別子(ID)とを、ロックコマンドとともに情報記憶装置に送信する。
【0059】
データ:ID,E(LK,Rms)を受信した情報記憶装置は、まず、受信したIDに対して、自己のメモリに格納されているロックマスターキー(LMK)を適用したハッシュ値算出処理により、受信IDに対応するロックキー(LK)を算出する。すなわち、
LK=H(LMK,ID)
により、受信IDに対応するロックキー(LK)を算出する。なお、受信IDは、自己のメモリに格納保持する。受信IDは、後述するアンロック処理の際に利用する。
【0060】
さらに、情報記憶装置は、自己のメモリに格納した乱数Rmsに対して、上述のハッシュ値算出により求めたロックキー(LK)を適用した暗号処理:E(LK,Rms)を実行し、ホスト装置から受信した暗号処理データ:E(LK,Rms)と一致するか否かの照合処理を実行する。なお、暗号処理アルゴリズムはホスト装置と同一のアルゴリズムであれば、様々なアルゴリズムの適用が可能である。
【0061】
ホスト装置からの受信データ:E(LK,Rms)と、自身が算出した暗号処理データ:E(LK,Rms)とが一致すれば、正当なIDとLKの組データを持つホスト装置からのロック処理要求であると判定しロック処理を実行し、ロック完了通知をホスト装置に対して送信する。情報記憶装置は、ロック処理を実行したホスト装置のキーセット[ID,LK]をフラッシュメモリ等の不揮発性メモリ(NVM:Non−Volatile Memory)によって構成されるメモリ部220に格納保持する。
【0062】
ホスト装置からの受信データ:E(LK,Rms)と、自身が算出した暗号処理データ:E(LK,Rms)とが不一致の場合は、正当なIDとLKの組データを持つホスト装置では無いと判定し、不正機器からのロック処理要求であると判定し、ロック処理を行なわずエラー通知をホスト装置に送信する。
【0063】
なお、情報記憶装置の実行するロック処理は、コンテンツ等のデータ格納領域であるフラッシュメモリ等によって構成されるメモリ部(図3のメモリ部220)に対するアクセスを、次に説明するアンロック処理を実行することを条件として許可する設定とする処理である。
【0064】
次に、図6に示すフローチャートを参照して、ロック処理の手順について説明する。ステップS101において、情報記憶装置としてのメモリカードが、ホスト装置からの乱数発生要求コマンドの受信に基づいて、乱数(Rsm)を発生する。発生した乱数は、ステップS102において、ホスト装置によって読み出され、ステップS103において、ロックコマンドとともに、ホスト装置のID、および乱数(Rms)をホスト装置のロックキー(LK)で暗号化したデータ:E(LK,Rms)を情報記憶装置としてのメモリカードに送信する。
【0065】
ステップS104において、メモリカードは、受信したID、および暗号化データ:E(LK,Rms)とを情報記憶装置内のメモリに書き込む。ステップS105において、メモリカードは、自身のメモリに格納したロックマスターキー(LMK)を適用して、受信IDのハッシュ値算出、すなわち、
H(LMK,ID)=LK
を実行し、受信IDに対応するロックキー(LK)を算出する。
【0066】
さらに、メモリカードは、算出したロックキー(LK)に基づいて、先にステップS101で発生した乱数(Rms)の暗号化処理を実行して、暗号化データ:E(LK,Rms)を照合用データとして算出する。
【0067】
次に、メモリカードは、ステップS106において、ステップS105で算出した暗号化データ:E(LK,Rms)と、ステップS103でロックコマンドとともにホスト装置から受信し、ステップS104で、メモリに格納した暗号化データ:E(LK,Rms)との比較照合処理[E(LK,Rms)=E(LK,Rms)?]を実行する。
【0068】
この比較照合処理において、両値が等しければ、ホスト装置は、正当な正しいIDとロックキー(LK)の組データを保有した正当な機器であると判定し、ステップS107においてロックコマンドに応じたロック処理、すなわち、後述するアンロック処理の成功を条件としてメモリに対するアクセスを可能とする設定を実行する。この際、情報記憶装置は、ロック処理を実行したホスト装置のキーセット[ID,LK]をフラッシュメモリ等の不揮発性メモリ(NVM:Non−Volatile Memory)によって構成されるメモリ部220に格納保持する。
【0069】
一方、ステップS106の比較照合処理において、両値が等しくないと判定されると、ステップS108において、ロックコマンドを送信してきたホスト装置は、正しいIDとロックキー(LK)の組データを保有していない不正機器であると判定し、ロック処理を実行せず、エラー通知をホスト装置に対して送信する。
【0070】
(アンロック処理)
次に上述したロックマスターキー(LMK)を適用したロック処理によるロックを解除するアンロック処理、すなわち情報記憶装置に対するアクセス制限を解除する処理について説明する。
【0071】
図7にアンロック処理におけるホスト装置と、情報記憶装置間で実行される処理シーケンス図を示す。ホスト装置と、情報記憶装置は、それぞれ相互にデータ転送可能に接続されている。まず、ホスト装置が、乱数発生コマンドを情報記憶装置に対して出力する。乱数発生コマンドを受信した情報記憶装置は、所定長、例えば16バイト乱数(Rms)の発生処理を実行し、発生乱数(Rms)と、先のロック処理の際にメモリに格納済みのホスト装置のID、すなわちロック処理を実行したホスト装置のIDをホスト装置に対して送信する。なお、情報記憶装置は、発生乱数(Rms)を制御部内のRAM等のメモリに格納しておく。
【0072】
情報記憶装置からIDと、乱数(Rms)を受信したホスト装置は、まず、受信IDが自己のIDと一致するか否かを判定する。一致していない場合は、他のホスト装置によるロックが実行されていることになり、そのロックを解除することはできない。
【0073】
受信IDが自己のIDと一致する場合は、そのホスト装置自身が実行したロックであり、解除処理としてのアンロックが可能となる。この場合、ホスト装置は、予めホスト装置内のメモリに格納済みのロックキー(LK)を暗号処理キーとした受信乱数(Rms)の暗号処理:E(LK,Rms)を実行し、その結果データを、アンロックコマンドとともに情報記憶装置に送信する。
【0074】
暗号化データ:E(LK,Rms)を受信した情報記憶装置は、まず、自己のメモリに格納されているホスト装置ID、すなわち、ロック処理を実行したホスト装置のIDを読み出して、読み出したIDに対して、ロックマスターキー(LMK)を適用したハッシュ値算出処理により、ロック処理を実行したホスト装置のIDに対応するロックキー(LK)を算出する。すなわち、
LK=H(LMK,ID)
により、ロック処理を実行したホスト装置のIDに対応するロックキー(LK)を算出する。
【0075】
さらに、情報記憶装置は、自己のメモリに格納した乱数Rmsに対して、上述のハッシュ値算出により求めたロックキー(LK)を適用した暗号処理:E(LK,Rms)を実行し、ホスト装置から受信した暗号処理データ:E(LK,Rms)と一致するか否かの照合処理を実行する。
【0076】
ホスト装置からの受信データ:E(LK,Rms)と、自身が算出した暗号処理データ:E(LK,Rms)とが一致すれば、正当なIDとLKの組データを持つホスト装置からのアンロック処理要求であると判定しアンロック処理を実行し、アンロック完了通知をホスト装置に対して送信する。不一致の場合は、正当なIDとLKの組データを持つホスト装置では無いと判定し、不正機器からのアンロック処理要求であると判定し、アンロック処理を行なわずエラー通知をホスト装置に送信する。
【0077】
なお、情報記憶装置の実行するアンロック処理は、ロック処理の解除を意味し、コンテンツ等のデータ格納領域であるフラッシュメモリ等によって構成されるメモリ部(図3のメモリ部220)に対するアクセスを許可する設定とする処理である。
【0078】
次に、図8に示すフローチャートを参照して、アンロック処理の手順について説明する。ステップS201において、情報記憶装置としてのメモリカードが、ホスト装置からの乱数発生要求コマンドの受信に基づいて、乱数(Rsm)を発生する。発生した乱数は、ステップS202において、先にロック処理を実行したホスト装置のIDとともに、ホスト装置によって読み出される。
【0079】
ホスト装置は、メモリカードから読み出したIDと自己のホストIDが一致することで、アンロック可能と判断し、ステップS203において、アンロックコマンドとともに、受信乱数(Rms)をホスト装置のロックキー(LK)で暗号化したデータ:E(LK,Rms)を情報記憶装置としてのメモリカードに送信する。
【0080】
ステップS204において、メモリカードは、受信した暗号化データ:E(LK,Rms)とを情報記憶装置内のメモリに書き込む。ステップS205において、メモリカードは、先のロック処理時にメモリに格納したロック処理を実行したホスト装置IDを読み出して、読み出したIDに対して、自身のメモリに格納したロックマスターキー(LMK)を適用してハッシュ値算出、すなわち、
H(LMK,ID)=LK
を実行し、IDに対応するロックキー(LK)を算出する。
【0081】
さらに、メモリカードは、算出したロックキー(LK)に基づいて、先にステップS201で発生した乱数(Rms)の暗号化処理を実行して、暗号化データ:E(LK,Rms)を照合用データとして算出する。
【0082】
次に、メモリカードは、ステップS206において、ステップS205で算出した暗号化データ:E(LK,Rms)と、ステップS203でアンロックコマンドとともにホスト装置から受信し、ステップS204で、メモリに格納した暗号化データ:E(LK,Rms)との比較照合処理[E(LK,Rms)=E(LK,Rms)?]を実行する。
【0083】
この比較照合処理において、両値が等しければ、ホスト装置は、正当な正しいIDとロックキー(LK)の組データを保有した正当な機器であると判定し、ステップS207においてアンロックコマンドに応じたアンロック処理、すなわち、メモリに対するアクセスを可能とする設定を実行する。一方、ステップS206の比較照合処理において、両値が等しくないと判定されると、ステップS208において、アンロックコマンドを送信してきたホスト装置は、ロック処理を実行した正しいIDとロックキー(LK)の組データを保有したホスト装置ではないと判定し、アンロック処理、すなわちロック解除を実行せず、エラー通知をホスト装置に対して送信する。
【0084】
上述したように、本処理例によれば、ホスト装置IDと対応するロックキー(LK)の正当な組み合わせデータを持つホスト装置のみが、情報記憶装置に対するロック処理が実行でき、また、ロック解除としてのアンロック処理は、ロック処理を実行したホスト装置によってのみ可能となる。また、上述のロック処理およびアンロック処理において、情報記憶装置のみがホスト装置の認証処理を実行するいわゆる片側認証処理を実行する構成であるので、ホスト装置側の処理負担が軽減され、効率的な処理が可能となる。
【0085】
また、上述したロック処理、アンロック処理は、情報記憶装置側において、その処理毎に発生した乱数を適用する構成であるので、過去の処理における記録データを適用するとことは不可能であり、過去処理のトレースに基づく不正処理を効果的に防止できる。
【0086】
[機器グループでのロック処理構成]
上述したロック処理、アンロック処理は、1つのホスト装置毎に情報記憶装置が対応する処理として実行され、ロックを実行したホスト装置のみがアンロック処理が可能となる構成例であった。しかし、複数のホスト装置が、1つの情報記憶装置(メモリカ−ド)を利用する構成においては、あるホスト装置(機器A)でデータを格納しロックした情報記憶装置(メモリカ−ド)を他のホスト装置(機器B)で利用したいといった状況が発生する。
【0087】
このような場合、ホスト装置(機器A)でロック解除処理を行なわない限り、ホスト装置(機器B)ではロツク解除が実行できないことになる。以下では、このような場合に対応可能な構成、すなわち複数のホスト装置によって構成されるホスト装置のグループにおいて、各ホスト装置各々がロック処理アンロック処理を実行可能とした処理例について説明する。まず、図9を参照して本処理例の概要を説明する。
【0088】
メモリカード等の情報記憶装置520のコンテンツ等のデータ格納領域であるフラッシュメモリ等によって構成されるメモリ部(図3のメモリ部220)に対するアクセス制限を有効にする処理をロック処理とし、アクセス制限を解除する処理をアンロック処理とする。この点は、前述した処理例と同様である。ロック処理およびアンロック処理を実行するのが、ホスト装置510である。
【0089】
ホスト装置510は、先に図1、図2を参照して説明したように、メモリカード等の情報記憶装置520とのデータ転送を実行するインタフェースを有し、情報記憶装置520に対するデータ書き込みあるいは情報記憶装置520からのデータ読み出しを実行してデータ利用を行なうPC、PDA、デジタルカメラ、DSC(Digital Still Camera)等の情報処理装置を含み、さらに、メモリカード等の情報記憶装置520に対するロック処理、アンロック処理実行専用機器としてのロック・アンロック用機器512も含まれる。
【0090】
ホスト装置内のROM等のメモリ515には、各ホスト装置固有の識別子としてのIDs(例えば16バイトデータ)と、ロック処理、アンロック処理に適用する鍵データとしてのロックキー(LKs)(例えば8バイトデータ)が格納される。このIDs,LKsは前述の処理例におけるID,LKに対応するデータの組であり、上述の処理と同様のロック処理、アンロック処理に適用可能である。
【0091】
このIDs、LKsは、プライマリID、プライマリロックキーであり、各ホスト装置の製造時にホスト装置内のROM等のメモリに書き込まれ、ユーザによる書き換え不可能なデータとされる。これらのプライマリID(IDs)、プライマリロックキー(LKs)は、上述したLMK適用処理と全く同様、ホスト装置対情報記憶装置の1対1対応のロック処理、アンロック処理に適用できる。この、各ホスト装置に固有のプライマリID、プライマリロックキーからなるキーセット:[IDs,LKs]をプライマリキーセットと呼ぶ。
【0092】
このプライマリキーセット:[IDs,LKs]を適用したロック処理をスタンダードロック処理と呼び、ホスト装置としての情報処理装置からスタンダードロックコマンドを情報記憶装置に対して出力することでスタンダードロックが実行され、アンロックコマンドの出力によりアンロック処理が実行される。
【0093】
ホスト装置内のROM等のメモリ515には、さらに、他のホスト装置に対してコピー供給可能なキーセットとしてのサブIDとサブロックキーの組データとしてのサブキーセット:[IDen,LKen](n=1,2,・・)が1以上格納可能となる。
【0094】
このサブキーセット:[IDen,LKen]は、複数のホスト装置において共通に格納可能な鍵であり、後述する処理手順により、他のホスト装置に格納済みのサブキーセット:[IDen,LKen]は、情報記憶装置を介して他のホスト装置にコピー格納することが可能である。
【0095】
サブキーセット:[IDen,LKen]を適用して、情報記憶装置(メモリカード)に対してロック処理を実行し、ロック処理に適用したサブキーセットを、情報記憶装置(メモリカード)を介して他のホスト装置にコピー出力可能とした態様のロック処理をエクスポートロック処理と呼ぶ。
【0096】
このサブキーセット:[IDen,LKen]を適用したロック処理をエクスポートロック処理と呼び、ホスト装置としての情報処理装置からエクスポートロックコマンドを情報記憶装置に対して出力することでエクスポートロックが実行され、アンロックコマンドの出力によりアンロック処理が実行される。
【0097】
エクスポートロックのなされた情報記憶装置(メモリカード)から、ホスト装置が入手したサブキーセット:[IDen,LKen]は、そのホスト装置内のメモリに書き込み可能となる。このサブキーセットのコピー書き込み処理をインプリント処理と呼ぶ。インプリント処理により、同一のサブキーセット:[IDen,LKen]を有する複数のホスト装置からなるグループが形成される。
【0098】
このように、サブキーセット:[IDen,LKen]は、外部に出力可能な設定としたロック処理、すなわちエクスポート(export)ロック処理に適用可能なキーセットであり、それぞれ、ID,LKに[e]を添えて示す。[en]のnは、サブキーセットナンバーを示し、設定したグループ数に相当する。
【0099】
各ホスト装置は、複数の異なるサブキーセットを格納可能である。例えば、サブキーセット1:[IDe1,LKe1]を、ホスト装置としてのPC(Personal Computer)−a,PC−b,PDA(Personal Digital Assistants)−aの3つのホスト装置からなるグループの共有サブキーセット(サブ1)として設定し、サブキーセット2:[IDe2,LKe2]を、PC−a,PDA−a.PDA−bのグループの共有サブキーセット(サブ2)として設定した場合、各ホスト装置は、それぞれのプライマリID(IDs)、プライマリロックキー(LKs)からなるプライマリキーセット[IDs,LKs]をメモリに格納するとともに、
PC−aは、[IDe1,LKe1],[IDe2,LKe2]
PC−bは、[IDe1,LKe1]
PDA−aは、[IDe1,LKe1],[IDe2,LKe2]
PDA−bは、[IDe2,LKe2]
の各サブIDとサブロックキーからなるサブキーセットを、それぞれ格納することになる。
【0100】
これらのサブIDとサブロックキーの組データからなるサブキーセット:[IDen,LKen]を自己のメモリ515内に書き込むことで、1以上のホスト装置からなるホスト装置グループ−nの構成メンバーとなることができ、グループnのメンバは、共通に保有するサブID(IDn)、共通のサブロックキー(LKn)を適用して、1つの情報記憶装置(メモリカード)に対するロック処理、アンロック処理が可能となる。
【0101】
一方、メモリカード等の情報記憶装置520内の制御部内のROM等のメモリ525には、ロックマスターキー(LMK)が格納される。情報記憶装置520に格納されるロックマスターキー(LMK)と、ホスト装置に格納されるID(IDsおよびIDenを含む)と、ロックキー(LK(LKsとLKenを含む))とは、以下の関係を持つ。
LK=H(LMK,ID)
【0102】
このロックマスターキー(LMK)と、ID,LKとの対応は、前述のLMKの適用処理と全く同様であり、プライマリID(IDs)に対するロックマスターキーLMKを適用したハッシュ値算出処理により、プライマリロックキー(LKs)が算出され、サブID(IDen)に対するロックマスターキーLMKを適用したハッシュ値算出処理により、サブロックキー(LKen)が算出される。
【0103】
プライマリキーセット[IDs,LKs]と、サブキーセット[IDen,LKen]を利用したロック処理態様について、図10を参照して説明する。ロック処理態様には、図10(a)〜(c)に示す3つの態様がある。
【0104】
(a)は、各ホスト装置510に固有のプライマリID(IDs)と、プライマリロックキー(LKs)とからなるプライマリキーセット[IDs,LKs]531を適用したスタンダードロック処理である。
【0105】
プライマリキーセット:[IDs,LKs]531を適用したスタンダードロック処理は、ホスト装置510から情報記憶装置520に対してスタンダードロックコマンドを出力することで実行され、アンロックコマンドの出力によりアンロック処理が実行される。
【0106】
スタンダードロック処理がなされると、ロック情報記憶装置(メモリカード)520の記憶部(フラッシュメモリ)のスタンダードロックキーセット格納領域541にプライマリキーセット[IDs,LKs]が格納される。このロック処理が実行されると、スタンダードロックに適用したプライマリキーセット[IDs,LKs]は、ロック情報記憶装置(メモリカード)520から外部に出力されることはなく、ロック解除(アンロック)処理が実行できるのは、同一のプライマリキーセット[IDs,LKs]を有するホスト装置、すなわちスタンダードロック処理を実行した唯一のホスト装置となる。
【0107】
プライマリID(IDs)、プライマリロックキー(LKs)からなるプライマリキーセット[IDs,LKs]は、上述したLMK適用処理と全く同様、ホスト装置対情報記憶装置の1対1対応のロック処理、アンロック処理に適用でき、図5乃至図8を参照して説明した処理と同様な処理でのロック処理、アンロック処理が可能である。
【0108】
(b)は、複数のホスト装置が共有可能なサブID(IDen)と、サブロックキー(LKen)とからなるサブキーセット[IDen,LKen]532を適用したエクスポートロック処理である。
【0109】
サブキーセット[IDen,LKen]532を適用したエクスポートロック処理は、ホスト装置510から情報記憶装置520に対してエクスポートロックコマンドを出力することで実行され、アンロックコマンドの出力によりアンロック処理が実行される。
【0110】
エクスポートロック処理がなされると、ロック情報記憶装置(メモリカード)520の記憶部(フラッシュメモリ)のエクスポートロックキーセット格納領域542にサブキーセット[IDen,LKen]が格納される。このロック処理が実行された場合、エクスポートロックに適用したサブキーセット[IDen,LKen]は、後段で詳細に説明するインプリント処理を実行することで、他のホスト装置が、ロック情報記憶装置(メモリカード)520から入手することが可能となる。
【0111】
このエクスポートロック処理が実行された場合、ロック解除(アンロック)処理が実行できるのは、ロック処理を実行したホスト装置と、インプリント処理によって、エクスポートロックに適用したサブキーセット[IDen,LKen]を入手したホスト装置となる。
【0112】
(c)は、各ホスト装置510が共有可能なサブID(IDen)と、サブロックキー(LKen)とからなるサブキーセット[IDen,LKen]532を適用したスタンダードロック処理である。この処理をグループロックと呼ぶ。
【0113】
サブキーセット[IDen,LKen]532を適用したスタンダードロック処理、すなわちグループロック処理は、ホスト装置510から情報記憶装置520に対してスタンダードロックコマンドを出力することで実行され、アンロックコマンドの出力によりアンロック処理が実行される。ただし、この処理の際に適用するキーセットは、サブキーセット[IDen,LKen]532となる。
【0114】
これは、基本的には、スタンダードロックと同様の処理であり、適用するキーセットをサブキーセット[IDen,LKen]532とした処理である。このグループロック処理がなされると、ロック情報記憶装置(メモリカード)520の記憶部(フラッシュメモリ)のスタンダードロックキーセット格納領域541にサブキーセット[IDen,LKen]が格納される。このロック処理が実行されると、グループロックに適用したサブキーセット[IDen,LKen]は、スタンダードロックキーセット格納領域541に格納されるので、ロック情報記憶装置(メモリカード)520から外部に出力されることはない。
【0115】
このグループロックの解除(アンロック)処理が実行できるのは、同一のサブキーセット[IDen,LKen]を有するホスト装置である。ただし、この場合、グループロックを実行したホスト装置のみならず、すでに同一のサブキーセット[IDen,LKen]を事前に入手したホスト装置が含まれる。
【0116】
例えば、事前に同一のサブキーセット[IDen,LKen]を適用したエクスポートロック処理が行なわれ、そのエクスポートロック処理の実行時にインプリント処理により同一のサブキーセット[IDen,LKen]を入手し、メモリに格納しているホスト装置は、アンロックが可能となる。
【0117】
サブキーセット[IDen,LKen]を適用したスタンダードロック、すなわちグループロックにおけるロック処理、アンロック処理のシーケンスは、上述したLMK適用処理と同様のシーケンス(図5乃至図8参照)となる。ただし、ロック/アンロックを実行できるホスト装置が、インプリント処理により複数になり得る点が異なる。
【0118】
以下、複数のホスト装置において共有可能なサブID(IDen)、サブロックキー(LKen)、すなわち、サブキーセット[IDen,LKen]を適用したロック処理、および、情報記憶装置(メモリカード)を介したホスト装置に対するサブキーセット[IDen,LKen]のコピー格納処理(インプリント処理)および、エクスポートロックの解除としてのアンロック処理について説明する。
【0119】
(サブキーセットに基づくロック処理)
まず、サブID(IDen)、サブロックキー(LKen)からなるサブキーセット[IDen,LKen]を適用した情報記憶装置(メモリカード)に対するロック処理の詳細について説明する。
【0120】
前述したように、サブキーセット:[IDen,LKen]を適用した情報記憶装置(メモリカード)に対するロック処理により、ロック処理に適用したサブキーセットを、情報記憶装置(メモリカード)を介して他のホスト装置にコピー出力可能としたエクスポートロック処理が可能となる。
【0121】
図11にサブキーセットに基づくロック処理におけるホスト装置と、情報記憶装置間で実行される処理シーケンス図を示す。ホスト装置と、情報記憶装置は、それぞれ相互にデータ転送可能に接続されている。
【0122】
なお、情報記憶装置は、図11に示すロックステータスフラグ551を有し、情報記憶装置におけるロック状態を示す値を保持する。上段のNVMは、図3において説明したフラッシュメモリ等によって構成されるメモリ部220のNVM(Non−Volatile Memory)領域に格納されるフラグであり、下段は、制御部210内のRAM213に格納されるフラグである。情報記憶装置の電源オフにより、RAM内のフラグは消去されるが、NVMのフラグデータは維持される。従ってRAMのフラグの書き換えに応じて、NVMに対するフラグデータのコピーが実行され、電源オフ後、新たに電源オンとなった場合に、NVMのフラグ情報がRAMにコピーされる。なおSLはスタンダードロック、ELはエクスポートロックであり、1がロック状態、0が非ロック状態を示す。
【0123】
スタンダードロックは、ロックに適用したキーセット[ID,LK]の外部出力を認めないロック態様であり、エクスポートロックは、ロックに適用したキーセット[ID,LK]の外部出力を認めたロック態様であり、SL=1は、スタンダードロック状態であること、EL=1は、エクスポートロック状態であることを示している。
【0124】
情報記憶装置(メモリカード)は、スタンダードロックに適用したキーセットと、エクスポートロックに適用したキーセットとをそれぞれ格納するデータ格納領域をメモリ部(フラッシュメモリ(NVM))内に有する。
【0125】
初期状態としては、図に示すように、SL=0,EL=0であり、スタンダードロック(SL)、エクスポートロック(EL)のいずれも行われていない、すなわちすべてのホスト装置が情報記憶装置のメモリ部に対してアクセス可能な状態である。
【0126】
この初期状態において、まず、ホスト装置が、乱数発生コマンドを情報記憶装置に対して出力する。乱数発生コマンドを受信した情報記憶装置は、所定長、例えば16バイトの乱数(Rms)の発生処理を実行し、発生乱数(Rms)をホスト装置に対して送信する。なお、情報記憶装置は、発生乱数(Rms)を制御部内のRAM等のメモリに格納しておく。
【0127】
情報記憶装置から乱数(Rms)を受信したホスト装置は、予めホスト装置内のメモリに格納済みのサブロックキー(LKen)を暗号処理キーとした受信乱数(Rms)の暗号処理:E(LKen,Rms)を実行する。暗号処理アルゴリズムは様々なアルゴリズムの適用が可能であり、例えばDES暗号処理アルゴリズムが適用される。
【0128】
ホスト装置は、サブロックキー(LKen)を暗号処理キーとした受信乱数(Rms)の暗号処理:E(LKen,Rms)を実行し、その結果データ[E(LKen,Rms)]と、ホスト装置が予めホスト装置内のメモリに格納しているサブロックキー(LKen)に対応する組みデータとしてのサブID(IDen)とを、ロックコマンドとともに情報記憶装置に送信する。
【0129】
データ:IDen,E(LKen,Rms)を受信した情報記憶装置は、まず、受信したサブID(IDen)に対して、自己のメモリに格納されているロックマスターキー(LMK)を適用したハッシュ値算出処理により、受信サブID(IDen)に対応するサブロックキー(LKen)を算出する。すなわち、
LKen=H(LMK,IDen)
により、受信サブID(IDen)に対応するサブロックキー(LKen)を算出する。なお、受信サブID(IDen)は、自己のメモリに格納保持する。受信サブID(IDen)は、後述するアンロック処理の際に利用される。
【0130】
さらに、情報記憶装置は、自己のメモリに格納した乱数Rmsに対して、上述のハッシュ値算出により求めたサブロックキー(LKen)を適用した暗号処理:E(LKen,Rms)を実行し、ホスト装置から受信した暗号処理データ:E(LKen,Rms)と一致するか否かの照合処理を実行する。なお、暗号処理アルゴリズムはホスト装置と同一のアルゴリズムであれば、様々なアルゴリズムの適用が可能である。
【0131】
ホスト装置からの受信データ:E(LKen,Rms)と、自身が算出した暗号処理データ:E(LKen,Rms)とが一致すれば、正当なサブID(IDen)と、サブロックキー(LKen)の組データを持つ正当なホスト装置からのロック処理要求であると判定しエクスポートロック処理を実行し、ロック完了通知をホスト装置に対して送信する。不一致の場合は、正当なサブID(IDen)とサブロックキー(LKen)の組データを持つホスト装置では無いと判定し、不正機器からのロック処理要求であると判定し、エクスポートロック処理を行なわずエラー通知をホスト装置に送信する。
【0132】
なお、情報記憶装置の実行するエクスポートロック処理は、コンテンツ等のデータ格納領域であるフラッシュメモリ等によって構成されるメモリ部(図3のメモリ部220)に対するアクセスを、次に説明するサブID、サブロックキーを適用したアンロック処理を実行することを条件として許可する設定とする処理であり、エクスポートロックに適用されたエクスポートキーセット:[IDen,LKen]を情報記憶装置(メモリカード)のメモリ部(フラッシュメモリ(NVM))のエクスポートロックキーセット格納領域に格納する。さらに、ロックステータスフラグの書き換えを実行する。
【0133】
エクスポートロックが実行されると、図に示すように、ロックステータスフラグは、エクスポートロックが有効な状態を示すフラグ:EL=1がNVM,RAMそれぞれに格納される。これらのフラグは、まず情報記憶装置の制御部内のRAM213(図3参照)にEL=1が設定された後、NVM(フラッシュメモリによって構成されるメモリ部220)にEL=1がコピーされる。この状態で、情報記憶装置の電源がオフとなると、RAMのフラグ情報は消去されるが、NVMのフラグ情報は維持され、その後、再び情報記憶装置の電源がオンとなると、NVMのフラグ情報(EL=1)がRAMにコピーされ、制御部210(図3参照)は、RAMのフラグ情報(EL=1)に基づく処理を行なう。
【0134】
フラグ情報がEL=1である場合は、エクスポートロック状態であることを示し、情報記憶装置(メモリカード)のNVM(フラッシュメモリによって構成されるメモリ部220)のエクスポートロックキーセット格納領域に格納されたサブキーは、後述するインプリント処理によって他のホスト装置に出力可能となる。
【0135】
次に、図12に示すフローチャートを参照して、エクスポートロック処理の手順について説明する。ステップS301において、情報記憶装置としてのメモリカードが、ホスト装置からの乱数発生要求コマンドの受信に基づいて、乱数(Rsm)を発生する。発生した乱数は、ステップS302において、ホスト装置によって読み出され、ステップS303において、ロックコマンドとともに、ホスト装置の記憶部に格納済みのサブID(IDen)を取得し、さらに、受信乱数(Rms)をホスト装置の記憶部に格納済みのサブロックキー(LKen)で暗号化し、データ:E(LKen,Rms)を生成し、これらの連結データ:IDen,E(LKen,Rms)を情報記憶装置としてのメモリカードに送信する。
【0136】
ステップS304において、メモリカードは、受信したサブID(IDen)、および暗号化データ:E(LKen,Rms)とを情報記憶装置内のメモリに書き込む。ステップS305において、メモリカードは、自身のメモリに格納したロックマスターキー(LMK)を適用して、受信サブID(IDen)のハッシュ値算出、すなわち、
H(LMK,IDen)=LKen
を実行し、受信サブID(IDen)に対応するサブロックキー(LKen)を算出する。
【0137】
さらに、メモリカードは、算出したサブロックキー(LKen)に基づいて、先にステップS301で発生した乱数(Rms)の暗号化処理を実行して、暗号化データ:E(LKen,Rms)を照合用データとして算出する。
【0138】
次に、メモリカードは、ステップS306において、ステップS305で算出した暗号化データ:E(LKen,Rms)と、ステップS303でロックコマンドとともにホスト装置から受信し、ステップS304で、メモリに格納した暗号化データ:E(LKen,Rms)との比較照合処理[E(LKen,Rms)=E(LKen,Rms)?]を実行する。
【0139】
この比較照合処理において、両値が等しければ、ホスト装置は、正当な正しいサブID(IDen)とサブロックキー(LKen)の組データとしてのサブキーセット[IDen,LKen]を保有した正当な機器であると判定し、ステップS307においてロックコマンドに応じたロック処理、すなわち、後述するサブキーセット[IDen,LKen]を適用したロックの解除処理としてのアンロック処理の成功を条件としてメモリに対するアクセスを可能とする設定を実行する。この際、前述のロックステータスフラグをEL=1に設定する。
【0140】
一方、ステップS306の比較照合処理において、E(LKen,Rms)=E(LKen,Rms)が成立しないと判定されると、ステップS308において、ロックコマンドを送信してきたホスト装置は、正しいサブID(IDen)とサブロックキー(LKen)の組データを保有していない不正機器であると判定し、ロック処理を実行せず、エラー通知をホスト装置に対して送信する。
【0141】
上述した処理に従って、エクスポートロックのなされた情報記憶装置は、ロック処理を実行したサブID(IDen)とサブロックキー(LKen)の組データとして、同一のサブキーセット[IDen,LKen]を保有したホスト装置であれば、前述の[ロックマスターキー(LMK)に基づく処理]において説明したアンロック処理と、同様の処理手続きによってアンロックが可能となる。すなわち、適用するIDとロックキーを、サブID(IDen)とサブロックキー(LKen)に置き換えることでアンロックが可能となる。
【0142】
しかし、ロック処理を実行したサブキーセット[IDen,LKen]と同一のキーセットを保有していない他のホスト装置は、ロック処理に適用されたサブキーセット[IDen,LKen]を取得しない限り情報記憶装置のロック解除、すなわちアクセスができない。
【0143】
正当なプライマリID(IDs)とプライマリロックキー(LKs)の組データとしてのプライマリーキーセット[IDs,LKs]を持つホスト装置は、エクスポートロックのなされた情報記憶装置に格納されているサブキーセット[IDen,LKen]を情報記憶装置から取得することが可能であり、取得したサブキーセット[IDen,LKen]を適用してロックを解除することが可能となる。情報記憶装置を介したサブキーセット[IDen,LKen]の取得をインプリント処理と呼ぶ。
【0144】
このように、あるサブキーセット[IDen,LKen]に基づいて、ロック状態とされ、そのサブキーセット[IDen,LKen]を他のホスト装置に出力可能なロック状態をエクスポートロック状態と呼ぶ。
【0145】
ホスト装置は、エクスポートロック状態にある情報記憶装置から、エクスポートロック処理に適用されたサブキーセット[IDen,LKen]を取得(インプリント)することで、同一のサブキーセット[IDen,LKen]を保有する複数のホスト装置によって構成されるグループの構成メンバーとなり、その後、取得したサブキーセット[IDen,LKen]を適用してロックを解除することができる。以下、このインプリントおよび、ロック解除処理(アンロック処理)の詳細について説明する。
【0146】
(インプリントおよびアンロック処理)
ホスト装置が、上述したエクスポートロック処理によるロックがなされている情報記憶装置から、サブロックキー(LKen)と、サブID(IDen)とからなるサブキーセット[IDen,LKen]を取得するインプリント処理と、エクスポートロック処理によるロックがなされている情報記憶装置のロックを解除するアンロック処理について説明する。
【0147】
図13にホスト装置と、情報記憶装置間で実行されるインプリント処理とアンロック処理の処理シーケンス図を示す。ホスト装置と、情報記憶装置は、それぞれ相互にデータ転送可能に接続されている。なお、情報記憶装置のロックステータスフラグは、図に示すように、エクスポートロックが有効である状態を示すEL=1がNVM,RAMにそれぞれ設定されているものとする。
【0148】
ホスト装置は、情報記憶装置に対するエクスポートロックに適用したサブID(IDen)とサブロックキー(LKen)とからなるサブキーセット[IDen,LKen]を有しておらず、情報記憶装置は、サブキーセット[IDen,LKen]をエクスポートキー格納領域に格納している。情報記憶装置は、いわゆるエクスポートロック状態にある。
【0149】
まず、ホスト装置が、乱数発生コマンドを情報記憶装置に対して出力する。乱数発生コマンドを受信した情報記憶装置は、所定長、例えば16バイト乱数(Rms)の発生処理を実行し、発生乱数(Rms)と、先のエクスポートロック処理の際にメモリに格納済みのサブID(IDen)、すなわちエクスポートロック処理に適用されたサブキーセット[IDen,LKen]中のサブID(IDen)をホスト装置に対して送信する。なお、情報記憶装置は、発生乱数(Rms)を制御部内のRAM等のメモリに格納しておく。
【0150】
情報記憶装置からサブID(IDen)と、乱数(Rms)を受信したホスト装置は、まず、受信サブID(IDen)が自己のプライマリID(IDs)と一致するか否かを判定する。一致していれば、前述のLMK適用処理(図7参照)と同様のプライマリロックキー(LKs)を適用したアンロックが可能である。
【0151】
受信サブID(IDen)が自己のプライマリID(IDs)と一致していない場合は、他のホスト装置によるロックが実行されていることになるが、この受信サブID(IDen)、およびサブロックキー(LKen)を取得するインプリント処理により、サブキーセット[IDen,LKen]を適用したエクスポートロックを実行した他のホスト装置と同一のグループに属することが可能となる。
【0152】
すなわち、インプリント処理を実行して、サブID(IDen)、サブロックキー(LKen)をそれぞれ取得し、これらの組データとしてのサブキーセット[IDen,LKen]を自己のメモリに格納し、グループに属するホスト装置となり、取得したサブキーセット[IDen,LKen]を適用してエクスポートロックの解除が可能となる。インプリント処理を実行する場合、ホスト装置は、情報記憶装置から受信したサブID(IDen)をメモリに格納する。
【0153】
インプリント処理を実行するホスト装置は、次に、予めホスト装置内のメモリに格納済みのプライマリロックキー(LKs)を暗号処理キーとした受信乱数(Rms)の暗号処理:E(LKs,Rms)を実行し、その結果データとプライマリID(IDs)とを、スタンダードロックコマンドとともに情報記憶装置に送信する。なおこのロック処理は、すでに、サブロックキー(LKen)によるエクスポートロックがなされている情報記憶装置に対してさらにプライマリロックキー(LKs)によるスタンダードロックをかける処理であるのでオーバーロック処理と呼ぶ。
【0154】
ホスト装置から、プライマリID(IDs)と暗号化データ:E(LKs,Rms)を受信した情報記憶装置は、まず、受信したプライマリID(IDs)に対して、ロックマスターキー(LMK)を適用したハッシュ値算出処理により、プライマリID(IDs)に対応するプライマリロックキー(LKs)を算出する。すなわち、
LKs=H(LMK,IDs)
により、プライマリID(IDs)に対応するプライマリロックキー(LKs)を算出する。
【0155】
さらに、情報記憶装置は、自己のメモリに格納した乱数Rmsに対して、上述のハッシュ値算出により求めたプライマリロックキー(LKs)を適用した暗号処理:E(LKs,Rms)を実行し、ホスト装置から受信した暗号処理データ:E(LKs,Rms)と一致するか否かの照合処理を実行する。
【0156】
ホスト装置からの受信データ:E(LKs,Rms)と、自身が算出した暗号処理データ:E(LKs,Rms)とが一致すれば、正当なプライマリID(IDs)と、プライマリロックキー(LKs)の組データとしてのプライマリキーセット[IDs,LKs]を持つホスト装置からのオーバーロック処理要求であると判定しオーバーロック処理を実行し、オーバーロック完了通知をホスト装置に対して送信する。
【0157】
ホスト装置からの受信データ:E(LKs,Rms)と、自身が算出した暗号処理データ:E(LKs,Rms)とが不一致の場合は、正当なプライマリID(IDs)と、プライマリロックキー(LKs)の組データとしてのプライマリキーセット[IDs,LKs]を持つホスト装置では無いと判定し、不正機器からのオーバーロック処理要求であると判定し、オーバーロック処理を行なわずエラー通知をホスト装置に送信する。
【0158】
なお、情報記憶装置の実行するオーバーロック処理は、エクスポートロック状態にさらにスタンダードロックを重ねて行なった状態とするもので、情報記憶装置のロックステータスフラグは、図に示すように、エクスポートロックが有効である状態を示すEL=1がNVM,RAMにそれぞれ設定され、さらに、オーバーロック処理により、スタンダードロックが有効である状態を示すSL=1がRAMに設定される。なお、RAMに設定されたフラグ情報は、電源オフ以前にNVMにコピーされる。
【0159】
さらに、オーバーロック完了通知を受信したホスト装置は、インプリント処理および、ロック解除を続けて行なうものとする。ホスト装置は、再度、乱数発声コマンドを情報記憶装置に送信する。
【0160】
乱数発生コマンドを受信した情報記憶装置は、新たに第2の乱数(Rms2)の発生処理を実行し、
発生乱数(Rms2)と、
スタンダードロックを実行したホスト装置のプライマリID(IDs)と、
エクスポートロック処理に適用されたサブID(IDen)と、さらに、
サブID(IDen)に対応するサブロックキー(LKen)をプライマリID(IDs)対応するプライマリロックキー(LKs)によって暗号化した暗号化データ:E(LKs,LKen)の連結データ、
すなわち、
IDs,Rms2,IDen,E(LKs,LKen)
をホスト装置に対して送信する。なお、情報記憶装置は、発生乱数(Rms2)を制御部内のRAM等のメモリに格納しておく。
【0161】
情報記憶装置からデータ:IDs,Rms2,IDen,E(LKs,LKen)を受信したホスト装置は、まず、暗号化データ:E(LKs,LKen)を自身のメモリに格納されたプライマリロックキー(LKs)を適用して復号し、サブロックキー(LKen)を取得する。これは、先に取得したサブID(IDen)に対応するサブロックキー(LKen)であり、取得したサブーキーセット[IDen,LKen]をメモリに格納する。このインプリント手続きにより、このホスト装置は、グループNo.nのグループに属することができる。
【0162】
次に、ホスト装置は、情報記憶装置のロック解除処理を続けて実行する。ホスト装置は、情報記憶装置から受信した暗号化データ:E(LKs,LKen)に対するプライマリロックキー(LKs)を適用した復号により取得したサブロックキー(LKen)に基づいて、情報記憶装置から受信した乱数(Rms2)の暗号化処理を実行し、暗号化データ:E(LKen,Rms2)を生成して、アンロックコマンドとともに情報記憶装置に送信する。
【0163】
ホスト装置から、アンロックコマンドとともに暗号化データ:E(LKen,Rms2)を受信した情報記憶装置は、まず、自身のメモリに格納済みのサブID(IDen)に対して、ロックマスターキー(LMK)を適用したハッシュ値算出処理により、サブID(IDen)に対応するサブロックキー(LKen)を算出する。すなわち、
LKen=H(LMK,IDen)
により、サブID(IDen)に対応するサブロックキー(LKen)を算出する。
【0164】
さらに、情報記憶装置は、自己のメモリに格納した乱数Rms2に対して、上述のハッシュ値算出により求めたサブロックキー(LKen)を適用した暗号処理:E(LKen,Rms2)を実行し、ホスト装置から受信した暗号処理データ:E(LKen,Rms2)と一致するか否かの照合処理を実行する。
【0165】
ホスト装置からの受信データ:E(LKen,Rms2)と、自身が算出した暗号処理データ:E(LKen,Rms2)とが一致すれば、正当なサブID(IDen)と、サブロックキー(LKen)の組データを持つホスト装置からのロックの解除、すなわちアンロック処理要求であると判定しアンロック処理を実行し、アンロック完了通知をホスト装置に対して送信する。
【0166】
ホスト装置からの受信データ:E(LKen,Rms2)と、自身が算出した暗号処理データ:E(LKen,Rms2)とが不一致の場合は、正当なサブID(IDen)と、サブロックキー(LKen)の組データとしてのサブーキーセット[IDen,LKen]を持つホスト装置では無いと判定し、不正機器からのアンロック要求であると判定し、アンロック処理を行なわずエラー通知をホスト装置に送信する。
【0167】
アンロック処理により、ロックステータスフラグは、EL=1からEL=0に変更され、またエクスポートロックに対するオーバーロックとして設定されたスタンダードロックも解除されSL=1からSL=0に変更される。すなわち、スタンダードロックは、エクスポートロックの解除に併せて解除される。
【0168】
なお、ロックステータスフラグの変更シーケンスは、まず、制御部内のRAMの格納フラグが書き替えられ、その後、適宜、例えば電源オフ実行前にNVMにRAM内のフラグ情報がコピーされ、電源再投入時には、NVMのフラグ情報がRAMにコピーされるシーケンスであり、制御部は、RAMのフラグ情報に基づくアクセス制限処理を実行する。
【0169】
次に、図14および図15に示すフローチャートを参照して、エクスポートロック処理によるロックがなされている情報記憶装置から、サブロックキー(LKen)と、サブID(IDen)からなるサブーキーセット[IDen,LKen]を取得するインプリント処理と、エクスポートロック処理によるロックがなされている情報記憶装置のロックを解除するアンロック処理の手順について説明する。
【0170】
ステップS401において、情報記憶装置としてのメモリカードが、ホスト装置からの乱数発生要求コマンドの受信に基づいて、乱数(Rsm)を発生する。発生した乱数は、ステップS402において、先にエクスポートロック処理を実行したホスト装置が情報記憶装置に送信し、情報記憶装置のメモリ部のエクスポートロックキーセット格納領域に格納されたサブID(IDen)とともに、ホスト装置によって読み出される。ホスト装置は、この時点で、サブキーセット[IDen,LKen]中のサブID(IDen)を取得する。
【0171】
ホスト装置は、メモリカードから読み出したサブID(IDen)と自己のプライマリID(IDs)が一致しないことの確認により、情報記憶装置が、スタンダードロック状態ではなく、エクスポートロック状態にあると判断する。ホスト装置は、次に、ステップS403において、オーバーロックとしてのスタンダードロックコマンドとともに、受信乱数(Rms)をホスト装置のプライマリロックキー(LKs)で暗号化したデータ:E(LKs,Rms)と、自己のプライマリID(IDs)を情報記憶装置としてのメモリカードに送信する。
【0172】
ステップS404において、情報記憶装置(メモリカード)は、ホスト装置から受信したプライマリID(IDs)と、暗号化データ:E(LKs,Rms)とを情報記憶装置内のメモリに書き込む。ステップS405において、メモリカードは、受信したプライマリID(IDs)に対して、自身のメモリに格納したロックマスターキー(LMK)を適用してハッシュ値算出、すなわち、
H(LMK,IDs)=LKs
を実行し、プライマリID(IDs)に対応するプライマリロックキー(LKs)を算出する。
【0173】
さらに、メモリカードは、算出したプライマリロックキー(LKs)に基づいて、先にステップS401で発生した乱数(Rms)の暗号化処理を実行して、暗号化データ:E(LKs,Rms)を照合用データとして算出する。
【0174】
次に、メモリカードは、ステップS406において、ステップS405で算出した暗号化データ:E(LKs,Rms)と、ステップS403でスタンダードロックコマンドとともにホスト装置から受信し、ステップS404で、メモリに格納した暗号化データ:E(LKs,Rms)との比較照合処理[E(LKs,Rms)=E(LKs,Rms)?]を実行する。
【0175】
この比較照合処理において、両値が等しければ、ホスト装置は、正当な正しいプライマリID(IDs)とプライマリロックキー(LKs)の組データとしてのプライマリキーセット[IDs,LKs]を保有した正当な機器であると判定し、ステップS407においてスタンダードロックコマンドに応じたスタンダードロック処理を実行する。これは、エクスポートロック状態にさらにスタンダードロックを重ねて行なうオーバーロック処理である。情報記憶装置のロックステータスフラグは、エクスポートロック、スタンダードロックがともに有効である状態を示すEL=1、SL=1がRAMに設定される。
【0176】
一方、ステップS406の比較照合処理において、両値が等しくないと判定されると、ステップS408において、スタンダードロックコマンドを送信してきたホスト装置は、正当なプライマリID(IDs)とプライマリロックキー(LKs)の組データとしてのプライマリキーセット[IDs,LKs]を保有したホスト装置ではないと判定し、オーバーロック処理を実行せず、エラー通知をホスト装置に対して送信する。
【0177】
ステップS407のオーバーロック処理としてのスタンダードロックが行われ、さらに。インプリント処理、ロック解除を実行する場合は、図15のステップS501に進む。
【0178】
オーバーロック完了通知を受信したホスト装置は、再度、乱数発生コマンドを情報記憶装置に送信し、乱数発生コマンドを受信した情報記憶装置は、ステップS501において、新たに第2の乱数(Rms2)の発生処理を実行する。
【0179】
ステップS502において、ホスト装置は、
乱数(Rms2)と、
スタンダードロックを実行したホスト装置のプライマリID(IDs)、
サブID(IDen)、さらに、
サブID(IDen)に対応する組みデータとしてのサブロックキー(LKen)をプライマリID(IDs)対応する組みデータとしてのプライマリロックキー(LKs)によって暗号化した暗号化データ:E(LKs,LKen)、
これらの連結データ、すなわち、[IDs,Rms2,IDen,E(LKs,LKen)]を情報記憶装置から読み出す。
【0180】
ステップS503において、ホスト装置は、情報記憶装置に対するロック解除要求としてのアンロックコマンドを送信する。ホスト装置は、このアンロックコマンドに、暗号化データE(LKen,Rms2)を併せて送信する。
【0181】
暗号化データE(LKen,Rms2)の生成手法は、以下の手順に従ったものである。ステップS502において、情報記憶装置からデータ:IDs,Rms2,IDen,E(LKs,LKen)を読み出したホスト装置は、まず、暗号化データ:E(LKs,LKen)を自身のメモリに格納されたプライマリロックキー(LKs)を適用して復号し、サブロックキー(LKen)を取得する。これは、先に取得したサブID(IDen)に対応するサブロックキー(LKen)である。次に、ホスト装置は、サブロックキー(LKen)に基づいて、情報記憶装置から受信した乱数(Rms2)の暗号化処理を実行し、暗号化データ:E(LKen,Rms2)を生成する。
【0182】
なお、ホスト装置は、取得したサブキーセット:[IDen,LKen]をメモリに格納して、インプリント処理は完了する。すなわち、インプリント処理により、このホスト装置は、グループNo.nのグループに属する。
【0183】
ステップS504において、ホスト装置から、暗号化データ:E(LKen,Rms2)を受信した情報記憶装置は、受信データ:E(LKen,Rms2)をメモリに書き込む。さらにステップS505において、照合用データの算出を実行する。
【0184】
照合用データの算出処理は、以下の手順で実行する。まず、自身のメモリに格納済みのサブID(IDen)に対して、ロックマスターキー(LMK)を適用したハッシュ値算出処理により、サブID(IDen)に対応するサブロックキー(LKen)を算出する。すなわち、
LKen=H(LMK,IDen)
により、サブID(IDen)に対応するサブロックキー(LKen)を算出する。さらに、ステップS501で発生しメモリに格納した乱数Rms2に対して、上述のハッシュ値算出により求めたサブロックキー(LKen)を適用した暗号処理:E(LKen,Rms2)を実行し照合用データを生成する。
【0185】
ステップS506において、情報記憶装置は、照合用データ:E(LKen,Rms2)と、ホスト装置から受信した暗号処理データ:E(LKen,Rms2)と一致するか否かの照合処理を実行する。
【0186】
ホスト装置からの受信データ:E(LKen,Rms2)と、自身が算出した暗号処理データ:E(LKen,Rms2)とが一致すれば、正当なサブID(IDen)と、サブロックキー(LKen)の組データとしてのサブキーセット[IDen,LKen]を持つホスト装置からのロックの解除、すなわちアンロック処理要求であると判定し、ステップS507に進み、アンロック処理を実行し、アンロック完了通知をホスト装置に対して送信する。不一致の場合は、正当なサブキーセット[IDen,LKen]を持つホスト装置では無いと判定し、不正機器からのアンロック処理要求であると判定し、アンロック処理を行なわずステップS508において、エラー通知をホスト装置に送信する。
【0187】
本処理例に従えば、複数のホスト装置が、共通のサブキーセット[IDen,LKen]を保有し、1つの情報記憶装置(メモリカ−ド)を利用したロック、アンロックが可能となる。また、サブキーセット[IDen,LKen]は、エクスポートロックを実行することにより、情報記憶装置を介して他のホスト装置にコピー格納するこが可能であり、柔軟なグループ形成が可能となる。また、サブキーセット[IDen,LKen]のホスト装置に対するコピー、すなわちインプリントにおいては、正当なプライマリID(IDs)とプライマリロックキー(LKs)を所有し、オーバーロック処理が実行可能であることが条件となるので、不正機器に対するサブキーセット[IDen,LKen]のコピー(インプリント)は防止可能となる。
【0188】
なお、先に図10(c)を参照して説明したように、サブキーセット[IDen,LKen]を適用したスタンダードロック処理(=グループロック処理)の実行も可能であり、このグループロック処理を実行した場合は、サブキーセット[IDen,LKen]は、情報記憶装置のスタンダードロックキー格納領域(図10参照)に格納され、他のホスト装置に対するコピー出力はなされない。すなわち、すでに同一のサブキーセット[IDen,LKen]を取得済みのホスト装置のみが、インプリント処理を伴わない通常のアンロック処理によりアクセス可能となる。
【0189】
[ロック状態フラグの維持構成]
上述した「機器グループでのロック処理構成」において、エクスポートロック状態にある情報記憶装置に対してアンロックを実行すると、全てのロックステータス(状態)フラグがリセット、すなわち、エクスポートロック解除を示すEL=0,スタンダードロック解除を示すSL=0がNVM,RAMに設定される。このように、EL=0,SL=0の設定のまま、電源をオフにし、その後、電源を再度オンとした場合、NVMには、EL=0,SL=0が設定されているので、制御部のRAMもSL=0,EL=0の設定状態となり、全てのロック状態が解放され、各ホスト装置が自由にメモリに対するアクセスを行なうことが可能となる。
【0190】
このようにロックが解除された情報記憶装置は、紛失、盗難等により、不正な第三者に取得された場合、自由にメモリアクセスが可能となる。このような状況は、秘密情報を格納する場合には好ましいとは言えない。
【0191】
以下に説明する例は、上記問題点に鑑みてなされたものであり、ホスト装置がアンロック処理により、エクスポートロックの解除を行なった後に電源をオフとした場合においてもエクスポートロック状態を維持する構成としたものであり、情報記憶装置が、再度電源オンとなった場合、エクスポートロックの解除処理を条件としてメモリアクセスを許容する構成とした例である。
【0192】
本構成例は、先に「機器グループでのロック処理構成」において図9を参照して説明したと同様、ホスト装置内のROM等のメモリには、プライマリID(IDs)、プライマリロックキー(LKs)からなるプイマリキーセット[IDs,LKs]が格納され、さらに、エクスポートロック処理に適用可能なサブIDとサブロックキーの組データとしてのサブキーセット[IDen,LKen](n=1,2,・・)が1以上格納可能な構成であり、メモリカード等の情報記憶装置内の制御部内のROM等のメモリには、ロックマスターキー(LMK)が格納される。情報記憶装置に格納されるロックマスターキー(LMK)と、ホスト装置に格納されるID(IDsおよびIDenを含む)と、ロックキー(LK(LKsとLKenを含む))とは、以下の関係を持つ。
LK=H(LMK,ID)
【0193】
ホスト装置によるプライマリID(IDs)、プライマリロックキー(LKs)に基づくロック処理、アンロック処理は、前述の[ロックマスターキー(LMK)に基づく処理]において説明したと同様のシーケンスによって実行され、また、サブID(IDen)、サブロックキー(LKen)に基づくロック処理は、前述の[機器グループでのロック処理構成]において説明したと同様のシーケンスによって実行される。以下、本処理例におけるインプリントおよびアンロック処理におけるロックステータスフラグの維持処理について説明する。
【0194】
(インプリントおよびアンロック処理におけるロックステータスフラグの維持処理)
ホスト装置が、エクスポートロック処理によるロックがなされている情報記憶装置から、サブロックキー(LKen)と、サブID(IDen)とからなるサブキーセット[IDen,LKen]を取得するインプリント処理と、エクスポートロック処理によるロックがなされている情報記憶装置のロックを解除するアンロック処理、さらに、情報記憶装置が実行するロックステータスフラグの維持処理について図16以下を参照して説明する。
【0195】
図16に示すシーケンス図は、先に、[機器グループでのロック処理構成]において図13を参照して説明したホスト装置と、情報記憶装置間で実行されるインプリント処理とエクスポートロックのアンロック処理の処理シーケンス図と基本的に同一であり、処理手順も同様である。
【0196】
ただし、シーケンス図の最終処理として実行されるアンロック完了通知の後に、情報処理装置がNVMフラグ設定処理を実行する点が異なる。すなわち、前述の[機器グループでのロック処理構成]において説明した処理では、エクスポートロックのアンロックが実行されると、エクスポートロック解除を示すEL=0,スタンダードロック解除を示すSL=0がNVM,RAMに設定されていた。しかし、本構成では、NVMに、エクスポートロック、スタンダードロックがなされていることを示すEL=1,SL=1を設定する。
【0197】
図17を参照して、NVMに対するロックステータスフラグ設定処理の詳細について説明する。図17の処理フローは、図16(図13と同様)のシーケンス図においてロック解除要求(アンロックコマンド)を受信した以降の情報記憶装置における処理手順を説明するフローである。
【0198】
まず、ステップS601において、情報記憶装置(メモリカード)がロックの解除要求(アンロックコマンド)を受信すると、情報記憶装置は、アンロックコマンドの実行可否を判定するための検証処理として、ステップS602において、ホスト装置から、アンロックコマンドとともに受信した暗号化データ:E(LKen,Rms2)と、自身が生成した暗号化データ:E(LKen,Rms2)との照合処理を実行する。この処理は、[機器グループでのロック処理構成]において説明したと同様の処理である。
【0199】
ホスト装置からの受信データ:E(LKen,Rms2)と、自身が算出した暗号処理データ:E(LKen,Rms2)とが一致しない場合は、ステップS607において、エラー通知をホストに返して処理を終了する。
【0200】
一方、ホスト装置からの受信データ:E(LKen,Rms2)と、自身が算出した暗号処理データ:E(LKen,Rms2)とが一致した場合は、、正当なサブキーセット[IDen,LKen]を持つホスト装置からのアンロック処理要求であると判定し、ステップS603において、アンロック処理を実行し、アンロック完了通知をホスト装置に対して送信する。
【0201】
さらに、情報記憶装置(メモリカード)は、ステップS604において、制御部のRAMに格納されているロックステータスフラグ(SL=1,EL=1)をNVMにコピーし、NVMのロックステータスフラグをSL=1,EL=1に設定する。SL=1は、スタンダードロックがなされていること、EL=1は、エクスポートロックがなされていることを示す。
【0202】
ステップS604のフラグコピー処理が終了すると、さらに、ステップS605において、制御部のRAMのロックステータスフラグ(SL=1,EL=1)のリセット、すなわちRAMのロックステータスフラグをSL=0,EL=0に設定する。SL=0は、スタンダードロックがなされていないこと、EL=0は、エクスポートロックがなされていないことを示す。
【0203】
この設定状態、すなわちRAMのロックステータスフラグがSL=0,EL=0の設定においてはメモリアクセスが自由に実行可能となり、アンロック処理を実行したホスト装置は、情報記憶装置のメモリ(図3のメモリ部220)に対するアクセスが可能となる。
【0204】
しかし、その後、情報記憶装置(メモリカード)がホスト装置から抜き取られるなどにより、情報記憶装置(メモリカード)に対する電源供給がストップし、再度、電源オンとなった時点で、NVMに設定されたロックステータスフラグ(SL=1,EL=1)情報が制御部のRAMにロードされ、制御部は、RAMに設定されたロックステータスフラグ(SL=1,EL=1)に基づく処理を行なうことになる。図18の処理フローを参照して、情報記憶装置の電源再投入後の処理について説明する。
【0205】
図18の処理フローは、一旦、情報記憶装置の電源がオフとされ、再度、電源オン状態に移行した場合の処理を示している。
【0206】
ステップS701において、情報記憶装置(メモリカード)がホスト装置にセットされることなどにより、電源オフ状態からオン状態に移行すると、情報記憶装置は、ステップS702において、NVMに格納してあるロックステータスフラグ(SL,EL)を制御部のRAMにコピーする。制御部は、RAMのステータスフラグに応じて制御を実行する。
【0207】
ステップS703において、接続されたホスト装置からメモリアクセス要求、あるいはアンロックコマンドを入力すると、情報記憶装置の制御部は、RAMのロックステータスフラグを参照する。
【0208】
ステップS704において、RAMのステータスフラグがEL=1であると判定されると、ステップS705において、ロック解除処理(図13〜図15参照)を実行する。この際、ホストが、その情報記憶装置のエクスポートロックに適用されたサブキーセット[IDen,LKen]を有していない場合は、インプリント処理を実行することが必要となる。この処理において、先に図13〜図15を参照して説明した検証により正当なホスト装置からのアンロック要求であることが確認されるとアンロック処理が実行(ステップS708:Yes)され、ステップS709においてメモリアクセスが許可される。検証により不正なホスト装置からのアンロック要求であると判定されるとアンロック処理が実行されず、(ステップS708:No)、エラー通知(S710)がなされる。
【0209】
また、ステップS704において、RAMのステータスフラグがEL=0であると判定されると、ステップS706において、RAMのステータスフラグがSL=1であるかい中が判定される。RAMのステータスフラグがSL=1であると判定されると、ステップS707において、スタンダードロック解除処理(図7〜図8参照)を実行する。先に図7〜図8を参照して説明した検証により正当なホスト装置からのアンロック要求であることが確認されるとアンロック処理が実行(ステップS708:Yes)され、ステップS709においてメモリアクセスが許可される。検証により不正なホスト装置からのアンロック要求であると判定されるとアンロック処理が実行されず、(ステップS708:No)、エラー通知(S710)がなされる。
【0210】
ステップS704において、RAMのステータスフラグがEL=0であると判定され、ステップS706において、RAMのステータスフラグがSL=0であると判定されると、ロック状態にはないことになり、ステップS709に進み、メモリアクセスが許可されることになる。
【0211】
先に、図16,図17を参照して説明したように、あるホスト装置により、エクスポートロックが解除され、その後電源がオフとなった場合は、NVMのロックステータスフラグがSL=1,EL=1に設定され、その後、電源オンとなった時点で、RAMのロックステータスフラグがSL=1,EL=1に設定されることになり、図18の処理フローにおけるステップS704の判定(EL=1?)がYesとなり、ステップS705の処理、すなわち、エクスポートロック解除処理(図13〜図15参照)を条件としたメモリアクセス許可処理が行なわれることになる。
【0212】
上述したように、本処理例においては、ロック処理またはアンロック処理に適用可能なキーセットの外部出力が許容されるロック状態であるエクスポートロック(EL)状態であるか否か、および、ロック処理またはアンロック処理に適用可能なキーセットの外部出力が許容されないロック状態であるスタンダードロック(SL)状態であるか否かについて判別可能な状態情報からなるロックステータスフラグのアンロック処理前の情報をNVMに格納する構成としたので、情報記憶装置の電源オフ後の電源再投入時に、NVMに格納されたフラグに基づいて、アンロック処理前のロック状態を忠実に再現することが可能となる。
【0213】
本処理例によれば、例えば、あるホスト装置が、エクスポートロックの解除を行なった場合でも、エクスポートロック状態を維持し、情報記憶装置の電源オフ後、再度電源オンとなった場合において、ロックの解除処理を条件としたメモリアクセスの許可が可能となる。従って、正当なプライマリキーセット[IDs,LKs]を有するホスト装置が前述のオーバーロック処理を含む所定の手続きを実行した場合にのみロック解除が可能となり、不正な装置からのアクセス排除が可能となる。
【0214】
[特定データ領域読み出し検出による自動ロック処理]
次に、情報記憶装置(メモリカード)からホスト装置に対するデータの読み出しを情報記憶装置の制御部において監視し、ある予め定められたデータ領域(例えば特定クラスタ)の読み出し実行をトリガとして、ロック処理を実行する処理例について説明する。
【0215】
情報記憶装置(メモリカード)のメモリ部(図2のメモリ部220)に格納されるデータの読み出しは、例えば格納データに応じて生成される再生管理ファイル(PBLIST)によって管理され、制御部では、再生管理ファイルに従って、メモリ部(図2のメモリ部220)からデータを読み出して、ホスト装置に出力する。
【0216】
データが読み出される場合、情報記憶装置の制御部は、読み出しデータの監視を行なうこが可能である。例えば、ATRAC3で圧縮されたオーディオデータは、所定のデータ単位としてのクラスタを読み出しデータ単位として監視することができる。
【0217】
図19に示すように、ATRAC3で圧縮されたオーディオデータは、最小データ単位としてのSU(サウンドユニット)を複数集めたクラスタ、さらに複数のクラスタによってパーツが構成される。SU(サウンドユニット)は、44.1kHzのサンプリング周波数で得られた1024サンプル分(1024×16ビット×2チャンネル)のオーディオデータを約1/10に圧縮した数百バイトのデータであり、クラスタは、複数のSU(たとえばSU42個)によって構成されるデータである。1クラスタが42個のSUで構成される場合、1クラスタで約1秒の音を表すことができる。
【0218】
各クラスタには、各クラスタ固有の論理番号が付与され、論理番号による管理がなされる。情報記憶装置の制御部210(図3参照)は、特定クラスタの読み出しの有無を論理番号に基づいてチェックすることができる。例えば、出力データがある音楽コンテンツであるときに、その音楽コンテンツのイントロ、あるいはさび部分に相当する1以上のクラスタの論理番号を、そのコンテンツに対応するロック対応クラスタとして抽出し、抽出したクラスタ論理番号をコンテンツに対応する登録情報として設定して、コンテンツを格納するメモリ部(フラッシュメモリ)に併せて格納する。
【0219】
コンテンツの読み出し時に、登録情報を情報記憶装置の制御部内のメモリ(RAM)に一次格納し、制御部において、読み出しコンテンツのクラスタと、ロック対応クラスタとの照合処理を実行し、読み出しコンテンツのクラスタがロック対応クラスタの論理番号に一致した場合に、ロック処理を実行する。なお、ロック処理のタイミングは、ロック対応クラスタの読み出し開始時点、ロック対応クラスタの読み出し終了時点、あるいは、ロック対応クラスタを持つコンテンツ全体の読み出し終了時点等、様々な設定が可能であり、設定に応じた検出処理を実行して、設定条件検出に基づいてロック処理を行なう。ロックが実行された場合は、再度の読み出しは、アンロック処理を実行することが必要となる。
【0220】
以下、図20を参照して、情報記憶装置の制御部210において、メモリ部220(図3参照)から特定データ領域(例えば特定クラスタ)が読み出されたことを条件としてロック処理を実行する処理について説明する。
【0221】
なお、図20の処理フローでは、簡単のためにスタンダードロック(SL)についてのみ記載しているが、エクスポートロック(EL)についても同様の処理が可能である。
【0222】
まず、ステップS801において、情報記憶装置の電源がオンされると、ステップS802において、NVMに格納されたロックステータスフラグが制御部210(図3参照)のRAM213にコピー格納される。制御部は、RAM213のステータスフラグに応じた制御を実行する。
【0223】
ステップS803において、スタンダードロックがSL=1であるか否か、すなわちロック状態にあるか否かが判定される。SL=1である場合は、ステップS804においてアンロック処理が実行される。アンロック処理は、例えば図7、図8を参照して説明した処理と同様の処理である。
【0224】
ホスト装置が正当なプライマリIDとプライマリロックキーを保有していることが、情報記憶装置における検証処理により検証され、アンロックが成功する(S805:Yes)と、ステップS806に進む。アンロックに失敗した場合は、ステップS810においてホスト装置に対するエラー通知が実行されて処理を終了する。
【0225】
ステップS806では、アンロック成功に基づいて、RAM,NVMのロックステータスフラグの更新、すなわち、ロック解除状態を示すSL=0の設定処理が実行される。
【0226】
次に、ホスト装置からのデータ読み出しが開始されると、情報記憶装置の制御部は、ステップS807において、あらかじめ設定されたロック対応クラスタの読み出し処理の有無の監視を実行する。ロック対応クラスタのデータ読み出しを検出すると、ステップS808において、制御部210(図3参照)のRAM213のロックステータスフラグをロック状態(SL=1)に設定する。さらに、ステップS809において、NVMのロックステータスフラグをロック状態(SL=1)に設定する。
【0227】
このように、所定のクラスタの読み出し処理を行なうことにより、ロックがかけられ、その後、再度読み出し処理を実行する場合は、アンロック処理が必要となる。アンロック処理は、ロックを実行したと同一のプライマリID(IDs)とプライマリロックキー(LKs)を有するホスト装置のみが可能となり、ロックされた情報記憶装置(メモリカード)が無秩序に利用されることが防止されることになる。
【0228】
なお、ロック情報は、情報記憶装置の電源オフ時に解除される設定、あるいは、前述したように、電源オフ時にもロックステータスフラグをNVMに置き、電源再投入時にNVMのロックステータスフラグを制御部のRAMにコピーして、電源オフ前のロック状態を維持して再現する構成としてもよい。
【0229】
このように本処理例においては、アンロック処理後、データ読み出し処理を実行する場合、1度限りの読み出しを可能とした、いわゆるリードワンスのアクセス制限処理構成が実現される。
【0230】
なお、図20の処理例ではスタンダードロックについてのみ示したが、エクスポートロックにおいても同様の構成、すなわち、所定のデータ領域の読み出しをトリガとしてエクスポートロックをかける構成とすることが可能である。
【0231】
[ホスト装置におけるロック状態提示構成]
次に、様々なロック状態を取り得る情報記憶装置に対するアクセスを実行するホスト装置において、情報記憶装置のロック状態を検出するための提示構成および提示処理について説明する。
【0232】
図21にロック/アンロック専用機器におけるロック状態提示インジケータと、各種処理スイッチを持つ構成例を示す。情報記憶装置としてのメモリカード710とデータ転送可能なインタフェースを持つロック/アンロック専用機器720は、ロック状態インジケータとして、
ロック解除状態を示す[Unlocked]インジーケータ721
ロック状態を示す[Locked]インジーケータ722
エクスポートロック状態を示す[E−Locked]インジーケータ723
エラー通知を示す[ERR]インジーケータ724
を有する。
【0233】
また、各種処理要求スイッチとして、
ロック解除処理要求スイッチとしての[Unlock]スイッチ731
プライマリキーセットによるスタンダードロック処理要求スイッチとしての[P−Lock]スイッチ732
サブキーセットによるスタンダードロック(グループロック)処理要求スイッチとしての[G−Lock]スイッチ733
サブキーセットによるエクスポートロック処理要求スイッチとしての[E−Lock]スイッチ734を有する。
【0234】
さらに、図21(b)に示すロック/アンロック専用機器の例は、上記スイッチの他に、エクスポートロック状態にある情報記憶装置に格納されたサブID(IDen)とサブロックキー(LKen)、すなわちサブキーセット[IDen,LKen]とをホスト装置に格納するインプリント処理のみの実行要求スイッチとしての[Imprint]スイッチ735を有する。
【0235】
なお、図21には、ロック/アンロック専用機器のインジケータ構成と処理要求スイッチ構成例を示したが、先に説明したように、ホスト装置には、PC,PDA等の情報処理装置、DSC等のデジタルカメラ、携帯通信端末等の様々な装置が含まれ、これらの装置においては、それぞれの入力手段を介した情報記憶装置(メモリカード)に対するコマンド送出構成が可能である。また、ロック状態表示処理も、それぞれの機器においてLCD等のディスプレイに表示したり、あるいは、音声、アラーム等により通知する構成とすることが可能である。
【0236】
図22以下を参照して、ホスト装置におけるロック状態提示処理、およびホスト装置から情報記憶装置(メモリカード)に対するコマンド送信処理について説明する。
【0237】
図22は、例えば、ホスト装置に対して情報記憶装置(メモリカード)を接続したときに実行されるロック状態読み出し処理を説明するフローである。ロック状態読み出し処理は、ユーザによるコマンド入力によって実行する構成としてもよいが、ホスト装置に対して情報記憶装置(メモリカード)を接続したときに自動実行する構成としてもよい。
【0238】
ステップS901において、ロック状態が情報記憶装置から読み出される。この状態情報は、先に説明した情報記憶装置の制御部210(図3参照)のRAM213に格納されたロックステータスフラグに基づく。ステップS902において、このロック状態読み出し情報に基づいて、ロック状態に対応するインジケータ721〜724が点灯する。すなわち、スタンダードロック、グループロックが実行されている場合は、ロック状態を示す[Locked]インジーケータ722が表示(点灯)され、エクスポートロックが実行されている場合は、エクスポートロック状態を示す[E−Locked]インジーケータ723が表示(点灯)され、ロック状態にない場合は、ロック解除状態を示す[Unlocked]インジーケータ721が表示(点灯)される。
【0239】
次に、図23を参照して、ロック処理要求、実行に基づくインジケータ表示処理について説明する。ロック処理は、図21の、処理要求スイッチ732〜734のスイッチによる入力に基づいて実行される。
【0240】
プライマリID(IDs)と、プライマリロックキー(LKs)のプライマリキーセット[IDs,LKs]を適用したスタンダードロック処理要求の場合は、[S−Lock]スイッチ732による入力、サブID(IDen)と、サブロックキー(LKen)のサブキーセット[IDen,LKen]を適用したエクスポートロック処理要求の場合は、E−Lock]スイッチ734による入力、サブキーセット[IDen,LKen]を適用したスタンダードロック、すなわちグループロック処理要求の場合は、[G−Lock]スイッチ733による入力を実行する。。
【0241】
これらのいずれかの入力を受けると、ステップS911において、情報記憶装置(メモリカード)のロック状態を検出し、アンロック状態でない場合は、ステップS914において、エラー(ERR)インジケータ表示を行なう。アンロック状態である場合は、ステップS912において、スタンダードロック処理、またはエクスポートロック処理、またはグループロック処理のいずれかを実行し、ロック処理完了の後、ホスト装置の対応ロックインジケータ、すなわち、ロック状態を示す[Locked]インジーケータ722、またはエクスポートロック状態を示す[E−Locked]インジーケータ723の表示を実行する。
【0242】
次に、図24を参照して、アンロック処理時におけるホスト装置の操作、インジケータ表示について説明する。
【0243】
アンロック処理は、図21におけるアンロック要求スイッチ731の押下により実行される。アンロック要求スイッチの押下により、まず、情報記憶装置のロック状態検出が実行される。状態検出は、先に説明した制御部内のRAMのロックステータスフラグに基づいて実行される。ロック状態にない場合(ステップS921:No)は、ステップS923においてエラー(ERR)インジケータ724の表示を実行する。
【0244】
また、ステップS922のロック状態読み出しにおいて、情報記憶装置がエクスポートロック状態にあるかスタンダードロック状態にあるかが判定される。先に説明したロックステータスフラグに基づいてエクスポートロック状態にあるかスタンダードロック状態にあるかを識別する。識別結果に基づいて、図21に示すロック状態に対応するインジケータ721〜724が点灯する。
【0245】
まず、エクスポートロックである場合(ステップS924:Yes)は、先に図16乃至図18を参照して説明したインプリントおよびアンロック処理を実行する。すなわちステップS925に示すプライマリID(IDs)とプライマリロックキー(LKs)によるオーバーロック処理、ステップS926のサブID(IDen)と、サブロックキー(LKen)のインプリント(入力格納)処理、さらに、ステップS927におけるサブID(IDen)と、サブロックキー(LKen)を適用したロック解除処理である。この処理の詳細は、先に図16乃至図18を参照して説明した通りである。これらの処理により、ロックが解除されると、ステップS928において、ロック解除インジケータ721が表示される。
【0246】
ステップS924において、エクスポートロック以外のロック状態、すなわちスタンダードロック状態である場合は、ステップS929において、スタンダードロックがなされているか否かが判定され、スタンダードロックありの場合は、ステップS930において、アンロック処理を実行する。このアンロック処理に適用するキーセットは、プライマリーキーセット[IDs,LKs]、あるいはグループロックである場合は、サブキーセット[IDen,LKen]である。この処理により、ロックが解除されると、ステップS928において、ロック解除インジケータ721が表示される。
【0247】
ステップS924において、エクスポートロック以外のロック状態であり、ステップS929において、スタンダードロックでないと判定されると、ステップS931に進み、エラー(ERR)インジケータ724が表示される。
【0248】
以上、特定の実施例を参照しながら、本発明について詳解してきた。しかしながら、本発明の要旨を逸脱しない範囲で当業者が該実施例の修正や代用を成し得ることは自明である。すなわち、例示という形態で本発明を開示してきたのであり、限定的に解釈されるべきではない。本発明の要旨を判断するためには、冒頭に記載した特許請求の範囲の欄を参酌すべきである。
【0249】
なお、明細書中において説明した一連の処理はハードウェア、またはソフトウェア、あるいは両者の複合構成によって実行することが可能である。ソフトウェアによる処理を実行する場合は、処理シーケンスを記録したプログラムを、専用のハードウェアに組み込まれたコンピュータ内のメモリにインストールして実行させるか、あるいは、各種処理が実行可能な汎用コンピュータにプログラムをインストールして実行させることが可能である。
【0250】
例えば、プログラムは記録媒体としてのハードディスクやROM(Read Only Memory)に予め記録しておくことができる。あるいは、プログラムはフレキシブルディスク、CD−ROM(Compact Disc Read Only Memory),MO(Magneto optical)ディスク,DVD(Digital Versatile Disc)、磁気ディスク、半導体メモリなどのリムーバブル記録媒体に、一時的あるいは永続的に格納(記録)しておくことができる。このようなリムーバブル記録媒体は、いわゆるパッケージソフトウエアとして提供することができる。
【0251】
なお、プログラムは、上述したようなリムーバブル記録媒体からコンピュータにインストールする他、ダウンロードサイトから、コンピュータに無線転送したり、LAN(Local Area Network)、インターネットといったネットワークを介して、コンピュータに有線で転送し、コンピュータでは、そのようにして転送されてくるプログラムを受信し、内蔵するハードディスク等の記録媒体にインストールすることができる。
【0252】
なお、明細書に記載された各種の処理は、記載に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されてもよい。また、本明細書においてシステムとは、複数の装置の論理的集合構成であり、各構成の装置が同一筐体内にあるものには限らない。
【0253】
【発明の効果】
以上説明してきたように、本発明の構成によれば、メモリカード等の情報記憶装置において、PC等の情報処理装置からメモリのロック処理要求コマンド、またはロック解除要求であるアンロック処理要求コマンドを入力し、入力コマンドに応じた処理を実行する際に、コマンドを出力した情報処理装置に対応して設定された識別子(ID)に基づいて、情報処理装置が、該識別子(ID)を含む正当なキーセットを有しているか否かの検証処理を実行し、該検証の成立を条件として、前記コマンドに基づく処理を実行する構成としたので、セキュアな管理下でのメモリアクセス制御が実現される。
【0254】
さらに、本発明の構成によれば、情報処理装置に固有ID(ID)と、該固有IDに対応するロックキー(LK)からなるキーセット[ID,LK]を格納し、一方、情報記憶装置は、LK=H(LMK,ID)の関係、すなわち、IDに対するロックマスターキー(LMK)を適用したハッシュ値としてロックキー(LK)の算出が可能なロックマスターキー(LMK)を格納し、情報処理装置から入力する情報処理装置固有のキーセットの検証を前記ロックマスターキー(LMK)を適用したハッシュ値算出により取得したロックキー(LK)に基づいて実行する構成としたので、複数の異なるロックキー(LK)に対する検証を1つのロックマスターキー(LMK)に基づいて実行することが可能となる。
【0255】
さらに、本発明の構成によれば、情報処理装置の検証において、情報記憶装置側で乱数発生処理を実行し、情報処理装置の所有するロックキー(LK)に基づく乱数(Rms)の暗号化データ[E(Lk,Rms)]を該情報処理装置から受信し、該受信暗号化データと、ハッシュ値算出による取得したロックキー(LK)に基づいて算出した暗号化データ[E(Lk,Rms)]との照合を実行する構成としたので、照合毎に異なる乱数を適用した検証が可能となり、過去の照合履歴データを利用した不正アクセスが排除可能となる。
【図面の簡単な説明】
【図1】本発明の情報記憶装置の利用形態の概要について説明する図である。
【図2】情報記憶装置を利用するホスト装置のハード構成例を示す図である。
【図3】情報記憶装置のハード構成例を示す図である。
【図4】本発明の情報記憶装置、およびホスト装置の格納データについて説明する図である。
【図5】情報記憶装置に対するロック処理における情報記憶装置とホスト装置間の通信処理シーケンスについて説明する図である。
【図6】情報記憶装置に対するロック処理を説明する処理フローを示す図である。
【図7】情報記憶装置に対するアンロック処理における情報記憶装置とホスト装置間の通信処理シーケンスについて説明する図である。
【図8】情報記憶装置に対するアンロック処理を説明する処理フローを示す図である。
【図9】本発明の情報記憶装置、およびホスト装置の格納データについて説明する図である。
【図10】本発明の情報記憶装置に対するロック処理態様について説明する図である。
【図11】情報記憶装置に対するサブキーセットを適用したロック処理における情報記憶装置とホスト装置間の通信処理シーケンスについて説明する図である。
【図12】情報記憶装置に対するサブキーセットを適用したロック処理を説明する処理フローを示す図である。
【図13】情報記憶装置に対するインプリントおよびサブキーセットを適用したアンロック処理における情報記憶装置とホスト装置間の通信処理シーケンスについて説明する図である。
【図14】情報記憶装置に対するインプリントおよびサブキーセットを適用したアンロック処理について説明するフロー図である。
【図15】情報記憶装置に対するインプリントおよびサブキーセットを適用したアンロック処理について説明するフロー図である。
【図16】情報記憶装置に対するインプリントおよびサブキーセットを適用したアンロック処理における情報記憶装置とホスト装置間の通信処理シーケンスについて説明する図である。
【図17】情報記憶装置に対するインプリントおよびサブキーセットを適用したアンロック処理におけるロックステータスフラグの更新処理について説明するフロー図である。
【図18】情報記憶装置に対するアンロック処理におけるロックステータスフラグ参照処理について説明するフロー図である。
【図19】情報記憶装置に対するデータ格納態様としてのクラスタ構成について説明する図である。
【図20】特定データ領域(クラスタ)読み出しに基づくロック処理について説明するフロー図である。
【図21】情報記憶装置に対するロック/アンロック実行機器の構成について説明する図である。
【図22】ホスト装置におけるロック状態読み出し処理フロー図である。
【図23】ホスト装置におけるロック処理時における処理、およびインジケータ表示処理を説明するフロー図である。
【図24】ホスト装置におけるアンロック処理時における処理、およびインジケータ表示処理を説明するフロー図である。
【符号の説明】
20 ホスト装置
21,22 PC
23 PDA
24 携帯通信端末
25 デジタルカメラ
30 情報記憶装置(メモリカード)
101 CPU(Central processing Unit)
102 ROM(Read−Only−Memory)
103 RAM(Random Access Memory)
104 DSP
105 D/A変換器
106 増幅回路
107 音声出力部
108 表示コントローラ
109 表示部
110 操作入力コントローラ
111 操作入力部
112 入力I/F
113 記憶装置I/F
114 情報記憶装置
115 入出力I/F
116 バス
200 情報記憶装置
210 制御部
211 CPU(Central processing Unit)
212 ROM(Read−Only−Memory)
213 RAM(Random Access Memory)
214 機器インタフェース
215 メモリインタフェース
220 メモリ部
310 ホスト装置
312 ロック・アンロック機器
315 メモリ
320 情報記憶装置
325 メモリ
510 ホスト装置
512 ロック・アンロック機器
515 メモリ
520 情報記憶装置
525 メモリ
531 プライマリキーセット
532 サブキーセット
541 スタンダードロックキーセット格納領域
542 エクスポートロックキーセット格納領域
551 ロックステータスフラグ
710 情報記憶装置
720 ホスト装置
721〜724 インジケータ
731〜735 スイッチ
Claims (16)
- データ記憶用のメモリと、該メモリに対するアクセス制御を実行する制御部とを有する情報記憶装置であり、
前記制御部は、
情報処理装置から前記メモリのロック処理要求コマンド、またはロック解除要求であるアンロック処理要求コマンドを入力し、入力コマンドに応じた処理を実行する構成であるとともに、
前記コマンドを出力した情報処理装置に対応して設定された識別子(ID)に基づいて、前記情報処理装置が、該識別子(ID)を含む正当なキーセットを有しているか否かの検証処理を実行し、該検証の成立を条件として、前記コマンドに基づく処理を実行する構成であることを特徴とする情報記憶装置。 - 前記情報処理装置の有するキーセットは、
情報処理装置の固有ID(ID)と、該固有IDに対応するロックキー(LK)からなるキーセット[ID,LK]であり、
前記情報記憶装置は、
LK=H(LMK,ID)の関係、すなわち、IDに対するロックマスターキー(LMK)を適用したハッシュ値としてロックキー(LK)の算出が可能なロックマスターキー(LMK)を有し、
前記制御部は、
情報処理装置から入力する情報処理装置固有のキーセットの検証を前記ロックマスターキー(LMK)を適用したハッシュ値算出により取得したロックキー(LK)に基づいて実行する構成であることを特徴とする請求項1に記載の情報記憶装置。 - 前記制御部は、
乱数発生処理を実行し、情報処理装置の所有するロックキー(LK)に基づく前記乱数(Rms)の暗号化データ[E(Lk,Rms)]を該情報処理装置から受信し、該受信暗号化データと、
前記ハッシュ値算出による取得したロックキー(LK)に基づいて算出した暗号化データ[E(Lk,Rms)]との照合を含む検証処理を実行する構成であることを特徴とする請求項2に記載の情報記憶装置。 - 前記制御部は、
前記情報処理装置からの入力コマンドがロックコマンドである場合、
前記情報処理装置から識別子(ID)を入力し、
該入力識別子(ID)に基づいて、検証処理を実行する構成であることを特徴とする請求項1に記載の情報記憶装置。 - 前記制御部は、
前記情報処理装置からの入力コマンドがアンロックコマンドである場合、
ロック処理実行に際して情報処理装置から入力し、メモリに格納した識別子(ID)を、該メモリから読み出し、読み出した識別子(ID)に基づいて、検証処理を実行する構成であることを特徴とする請求項1に記載の情報記憶装置。 - データ記憶用のメモリと、該メモリに対するアクセス制御を実行する制御部とを有する情報記憶装置と、前記情報記憶装置に対するインタフェースを有し、該インタフェースを介して情報記憶装置内のメモリアクセスを実行する情報処理装置とを有するメモリアクセス制御システムであり、
前記情報処理装置は、
識別子(ID)およびロックキー(LK)を含むキーセットを記憶手段に格納し、
前記情報記憶装置の制御部は、
情報処理装置から前記メモリのロック処理要求コマンド、またはロック解除要求であるアンロック処理要求コマンドを入力し、入力コマンドに応じた処理を実行する構成であるとともに、
前記コマンドの入力を行なった情報処理装置に対応して設定された識別子(ID)に基づいて、前記情報処理装置が、該識別子(ID)を含む正当なキーセットを有しているか否かの検証処理を実行し、該検証の成立を条件として、前記コマンドに基づく処理を実行する構成であることを特徴とするメモリアクセス制御システム。 - 前記情報処理装置の有するキーセットは、
情報処理装置の固有ID(ID)と、該固有IDに対応するロックキー(LK)からなるキーセット[ID,LK]であり、
前記情報記憶装置は、
LK=H(LMK,ID)の関係、すなわち、IDに対するロックマスターキー(LMK)を適用したハッシュ値としてロックキー(LK)の算出が可能なロックマスターキー(LMK)を有し、
前記情報記憶装置の制御部は、
情報処理装置から入力する情報処理装置固有のキーセットの検証を前記ロックマスターキー(LMK)を適用したハッシュ値算出により取得したロックキー(LK)に基づいて実行する構成であることを特徴とする請求項6に記載のメモリアクセス制御システム。 - 前記情報記憶装置の制御部は、
乱数発生処理を実行し、情報処理装置の所有するロックキー(LK)に基づく前記乱数(Rms)の暗号化データ[E(Lk,Rms)]を該情報処理装置から受信し、該受信暗号化データと、
前記ハッシュ値算出による取得したロックキー(LK)に基づいて算出した暗号化データ[E(Lk,Rms)]との照合を含む検証処理を実行する構成であることを特徴とする請求項7に記載のメモリアクセス制御システム。 - 前記情報記憶装置の制御部は、
前記情報処理装置からの入力コマンドがロックコマンドである場合、
前記情報処理装置から識別子(ID)を入力し、
該入力識別子(ID)に基づいて、検証処理を実行する構成であることを特徴とする請求項6に記載のメモリアクセス制御システム。 - 前記情報記憶装置の制御部は、
前記情報処理装置からの入力コマンドがアンロックコマンドである場合、
ロック処理実行に際して情報処理装置から入力し、メモリに格納した識別子(ID)を、該メモリから読み出し、読み出した識別子(ID)に基づいて、検証処理を実行する構成であることを特徴とする請求項6に記載のメモリアクセス制御システム。 - データ記憶用のメモリと、該メモリに対するアクセス制御を実行する制御部とを有する情報記憶装置におけるメモリアクセス制御方法であり、
情報処理装置から前記メモリのロック処理要求コマンド、またはロック解除要求であるアンロック処理要求コマンドを入力するステップと、
前記コマンドを出力した情報処理装置に対応して設定された識別子(ID)に基づいて、前記情報処理装置が、該識別子(ID)を含む正当なキーセットを有しているか否かの検証処理を実行する検証ステップと、
前記検証の成立を条件として、前記コマンドに基づく処理を実行するステップと、
を有することを特徴とするメモリアクセス制御方法。 - 前記情報処理装置の有するキーセットは、
情報処理装置の固有ID(ID)と、該固有IDに対応するロックキー(LK)からなるキーセット[ID,LK]であり、
前記情報記憶装置は、
LK=H(LMK,ID)の関係、すなわち、IDに対するロックマスターキー(LMK)を適用したハッシュ値としてロックキー(LK)の算出が可能なロックマスターキー(LMK)を有し、
前記検証ステップは、
情報処理装置から入力する情報処理装置固有のキーセットの検証を前記ロックマスターキー(LMK)を適用したハッシュ値算出により取得したロックキー(LK)に基づく検証処理を実行するステップを含むことを特徴とする請求項11に記載のメモリアクセス制御方法。 - 前記検証ステップは、
乱数発生処理を実行し、情報処理装置の所有するロックキー(LK)に基づく前記乱数(Rms)の暗号化データ[E(Lk,Rms)]を該情報処理装置から受信し、該受信暗号化データと、
前記ハッシュ値算出による取得したロックキー(LK)に基づいて算出した暗号化データ[E(Lk,Rms)]との照合を含む検証処理を実行するステップを含むことを特徴とする請求項12に記載のメモリアクセス制御方法。 - 前記検証ステップは、
前記情報処理装置からの入力コマンドがロックコマンドである場合、
前記情報処理装置から識別子(ID)を入力し、該入力識別子(ID)に基づいて、検証処理を実行するステップを含むことを特徴とする請求項11に記載のメモリアクセス制御方法。 - 前記検証ステップは、
前記情報処理装置からの入力コマンドがアンロックコマンドである場合、
ロック処理実行に際して情報処理装置から入力し、メモリに格納した識別子(ID)を、該メモリから読み出し、読み出した識別子(ID)に基づいて、検証処理を実行するステップを含むことを特徴とする請求項11に記載のメモリアクセス制御方法。 - データ記憶用のメモリと、該メモリに対するアクセス制御を実行する制御部とを有する情報記憶装置におけるメモリアクセス制御処理を実行するコンピュータ・プログラムであって、
情報処理装置から前記メモリのロック処理要求コマンド、またはロック解除要求であるアンロック処理要求コマンドを入力するステップと、
前記コマンドを出力した情報処理装置に対応して設定された識別子(ID)に基づいて、前記情報処理装置が、該識別子(ID)を含む正当なキーセットを有しているか否かの検証処理を実行する検証ステップと、
前記検証の成立を条件として、前記コマンドに基づく処理を実行するステップと、
を有することを特徴とするコンピュータ・プログラム。
Priority Applications (8)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002183881A JP2004030102A (ja) | 2002-06-25 | 2002-06-25 | 情報記憶装置、およびメモリアクセス制御システム、および方法、並びにコンピュータ・プログラム |
TW092116160A TWI240165B (en) | 2002-06-25 | 2003-06-13 | Information storage apparatus, system and method for memory access control and computer program |
KR10-2004-7002767A KR20050012217A (ko) | 2002-06-25 | 2003-06-19 | 정보 기억 장치, 및 메모리 액세스 제어 시스템, 및 방법,및 컴퓨터 프로그램 |
PCT/JP2003/007780 WO2004001608A1 (ja) | 2002-06-25 | 2003-06-19 | 情報記憶装置、およびメモリアクセス制御システム、および方法、並びにコンピュータ・プログラム |
CNB038010844A CN1306425C (zh) | 2002-06-25 | 2003-06-19 | 信息存储器件、存储器存取控制系统和方法 |
US10/487,069 US20040236918A1 (en) | 2002-06-25 | 2003-06-19 | Information storage device, memory access control system and method, and computer program |
EP03760899A EP1519276A4 (en) | 2002-06-25 | 2003-06-19 | INFORMATION STORAGE, MEMORY ACCESS CONTROL SYSTEM AND METHOD AND COMPUTER PROGRAM |
HK05104372A HK1071621A1 (en) | 2002-06-25 | 2005-05-24 | Information storage device, memory access control system and method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002183881A JP2004030102A (ja) | 2002-06-25 | 2002-06-25 | 情報記憶装置、およびメモリアクセス制御システム、および方法、並びにコンピュータ・プログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2004030102A true JP2004030102A (ja) | 2004-01-29 |
Family
ID=29996693
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002183881A Pending JP2004030102A (ja) | 2002-06-25 | 2002-06-25 | 情報記憶装置、およびメモリアクセス制御システム、および方法、並びにコンピュータ・プログラム |
Country Status (8)
Country | Link |
---|---|
US (1) | US20040236918A1 (ja) |
EP (1) | EP1519276A4 (ja) |
JP (1) | JP2004030102A (ja) |
KR (1) | KR20050012217A (ja) |
CN (1) | CN1306425C (ja) |
HK (1) | HK1071621A1 (ja) |
TW (1) | TWI240165B (ja) |
WO (1) | WO2004001608A1 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11061587B2 (en) | 2019-03-13 | 2021-07-13 | Toshiba Memory Corporation | Memory system switching between a locked and unlocked state and memory control method |
Families Citing this family (48)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4624732B2 (ja) * | 2003-07-16 | 2011-02-02 | パナソニック株式会社 | アクセス方法 |
JP4131862B2 (ja) * | 2004-07-01 | 2008-08-13 | Dts株式会社 | 3.5インチ定形型ディスク形状を持ったデータトランスミッション装置 |
JP4706220B2 (ja) | 2004-09-29 | 2011-06-22 | ソニー株式会社 | 情報処理装置および方法、記録媒体、並びにプログラム |
JP4794269B2 (ja) * | 2004-11-08 | 2011-10-19 | パナソニック株式会社 | セキュアデバイスおよび中継端末 |
US7392358B2 (en) * | 2005-01-14 | 2008-06-24 | Sandisk Corporation | Delivery of a message to a user of a portable data storage device as a condition of its use |
US7765373B1 (en) * | 2006-06-27 | 2010-07-27 | Siliconsystems, Inc. | System for controlling use of a solid-state storage subsystem |
US8108692B1 (en) | 2006-06-27 | 2012-01-31 | Siliconsystems, Inc. | Solid-state storage subsystem security solution |
WO2008017913A2 (en) * | 2006-08-07 | 2008-02-14 | Nokia Corporation | Connecting a first device and a second device |
US8438652B2 (en) * | 2007-03-23 | 2013-05-07 | Seagate Technology Llc | Restricted erase and unlock of data storage devices |
US10181055B2 (en) * | 2007-09-27 | 2019-01-15 | Clevx, Llc | Data security system with encryption |
US11190936B2 (en) * | 2007-09-27 | 2021-11-30 | Clevx, Llc | Wireless authentication system |
US10778417B2 (en) | 2007-09-27 | 2020-09-15 | Clevx, Llc | Self-encrypting module with embedded wireless user authentication |
US10783232B2 (en) | 2007-09-27 | 2020-09-22 | Clevx, Llc | Management system for self-encrypting managed devices with embedded wireless user authentication |
US20090172778A1 (en) * | 2007-12-26 | 2009-07-02 | Randall Stephens | Rule-based security system and method |
US8117412B2 (en) * | 2008-03-12 | 2012-02-14 | GM Global Technology Operations LLC | Securing safety-critical variables |
JP5409068B2 (ja) * | 2009-03-24 | 2014-02-05 | 株式会社ザクティ | 電子機器の蓋開閉装置 |
US8356184B1 (en) | 2009-06-25 | 2013-01-15 | Western Digital Technologies, Inc. | Data storage device comprising a secure processor for maintaining plaintext access to an LBA table |
JP5282733B2 (ja) * | 2009-12-25 | 2013-09-04 | 富士通株式会社 | 通信端末装置、機能制御方法、及びプログラム |
CN101840520B (zh) * | 2009-12-28 | 2012-07-25 | 北京握奇数据系统有限公司 | 一种智能卡及访问智能卡闪存的方法 |
JP5419776B2 (ja) | 2010-03-30 | 2014-02-19 | ルネサスエレクトロニクス株式会社 | 半導体装置及びデータ処理方法 |
US9305142B1 (en) | 2011-12-19 | 2016-04-05 | Western Digital Technologies, Inc. | Buffer memory protection unit |
CN102646075A (zh) * | 2012-02-16 | 2012-08-22 | 兰宦泽 | 存储卡锁定方法及系统 |
US9542237B2 (en) * | 2012-09-04 | 2017-01-10 | Red Hat Israel, Ltd. | Shared locking for storage centric exclusive locks |
US9706365B2 (en) * | 2013-03-15 | 2017-07-11 | August Home, Inc. | BLE/WiFi bridge that detects signal strength of bluetooth LE devices at an interior of a dwelling |
US10388094B2 (en) | 2013-03-15 | 2019-08-20 | August Home Inc. | Intelligent door lock system with notification to user regarding battery status |
US11421445B2 (en) | 2013-03-15 | 2022-08-23 | August Home, Inc. | Smart lock device with near field communication |
US11072945B2 (en) | 2013-03-15 | 2021-07-27 | August Home, Inc. | Video recording triggered by a smart lock device |
US10140828B2 (en) | 2015-06-04 | 2018-11-27 | August Home, Inc. | Intelligent door lock system with camera and motion detector |
US11527121B2 (en) | 2013-03-15 | 2022-12-13 | August Home, Inc. | Door lock system with contact sensor |
US11352812B2 (en) | 2013-03-15 | 2022-06-07 | August Home, Inc. | Door lock system coupled to an image capture device |
US9916746B2 (en) | 2013-03-15 | 2018-03-13 | August Home, Inc. | Security system coupled to a door lock system |
US11043055B2 (en) | 2013-03-15 | 2021-06-22 | August Home, Inc. | Door lock system with contact sensor |
US10691953B2 (en) | 2013-03-15 | 2020-06-23 | August Home, Inc. | Door lock system with one or more virtual fences |
US9528296B1 (en) | 2013-03-15 | 2016-12-27 | August Home, Inc. | Off center drive mechanism for thumb turning lock system for intelligent door system |
US11441332B2 (en) | 2013-03-15 | 2022-09-13 | August Home, Inc. | Mesh of cameras communicating with each other to follow a delivery agent within a dwelling |
US11802422B2 (en) | 2013-03-15 | 2023-10-31 | August Home, Inc. | Video recording triggered by a smart lock device |
US9704314B2 (en) | 2014-08-13 | 2017-07-11 | August Home, Inc. | BLE/WiFi bridge that detects signal strength of Bluetooth LE devices at an exterior of a dwelling |
US10443266B2 (en) | 2013-03-15 | 2019-10-15 | August Home, Inc. | Intelligent door lock system with manual operation and push notification |
US10181232B2 (en) | 2013-03-15 | 2019-01-15 | August Home, Inc. | Wireless access control system and methods for intelligent door lock system |
JP2015026358A (ja) * | 2013-06-20 | 2015-02-05 | 株式会社東芝 | デバイス、ホスト装置、ホストシステム、及びメモリシステム |
US9626531B2 (en) | 2014-11-18 | 2017-04-18 | Intel Corporation | Secure control of self-encrypting storage devices |
DE102015121861A1 (de) | 2015-12-15 | 2017-06-22 | Endress + Hauser Flowtec Ag | Zugangsschlüssel für ein Feldgerät |
CN106126118A (zh) * | 2016-06-20 | 2016-11-16 | 青岛海信移动通信技术股份有限公司 | 存储装置寿命的检测方法及电子设备 |
US11487908B2 (en) * | 2019-08-16 | 2022-11-01 | Macronix International Co., Ltd. | Secure memory |
DE102019130067B4 (de) * | 2019-11-07 | 2022-06-02 | Krohne Messtechnik Gmbh | Verfahren zur Durchführung einer erlaubnisabhängigen Kommunikation zwischen wenigstens einem Feldgerät der Automatisierungstechnik und einem Bediengerät |
CN111478770A (zh) * | 2020-03-31 | 2020-07-31 | 西安广和通无线软件有限公司 | 安全校验方法、装置、计算机设备和存储介质 |
WO2022060704A1 (en) | 2020-09-17 | 2022-03-24 | ASSA ABLOY Residential Group, Inc. | Magnetic sensor for lock position |
KR20230093244A (ko) | 2020-09-25 | 2023-06-27 | 아싸 아블로이 오스트레일리아 피티와이 리미티드 | 자력계를 갖는 도어 로크 |
Family Cites Families (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4405829A (en) * | 1977-12-14 | 1983-09-20 | Massachusetts Institute Of Technology | Cryptographic communications system and method |
US4736419A (en) * | 1984-12-24 | 1988-04-05 | American Telephone And Telegraph Company, At&T Bell Laboratories | Electronic lock system |
US5231668A (en) * | 1991-07-26 | 1993-07-27 | The United States Of America, As Represented By The Secretary Of Commerce | Digital signature algorithm |
US5282247A (en) * | 1992-11-12 | 1994-01-25 | Maxtor Corporation | Apparatus and method for providing data security in a computer system having removable memory |
GB9323453D0 (en) * | 1993-11-13 | 1994-01-05 | Calluna Tech Ltd | Security system for portable hard disk drive |
AU1265195A (en) * | 1993-12-06 | 1995-06-27 | Telequip Corporation | Secure computer memory card |
US5638448A (en) * | 1995-10-24 | 1997-06-10 | Nguyen; Minhtam C. | Network with secure communications sessions |
JPH09134330A (ja) * | 1995-11-07 | 1997-05-20 | Fujitsu Ltd | セキュリティ保護システム |
US5857021A (en) * | 1995-11-07 | 1999-01-05 | Fujitsu Ltd. | Security system for protecting information stored in portable storage media |
JPH11265318A (ja) * | 1998-03-17 | 1999-09-28 | Bug:Kk | 相互認証システム、相互認証方法及び記録媒体 |
MY123388A (en) * | 1999-03-15 | 2006-05-31 | Sony Corp | Processing method and apparatus for encrypted data transfer |
US6848047B1 (en) * | 1999-04-28 | 2005-01-25 | Casio Computer Co., Ltd. | Security managing system, data distribution apparatus and portable terminal apparatus |
JP3528701B2 (ja) * | 1999-09-21 | 2004-05-24 | カシオ計算機株式会社 | セキュリティ管理システム |
JP4104801B2 (ja) * | 2000-01-14 | 2008-06-18 | 株式会社エヌ・ティ・ティ・データ | Icカード読取装置及びicカードシステム |
JP2001236333A (ja) * | 2000-02-21 | 2001-08-31 | Hitachi Ltd | 電子署名付移動エージェント |
-
2002
- 2002-06-25 JP JP2002183881A patent/JP2004030102A/ja active Pending
-
2003
- 2003-06-13 TW TW092116160A patent/TWI240165B/zh not_active IP Right Cessation
- 2003-06-19 KR KR10-2004-7002767A patent/KR20050012217A/ko not_active Application Discontinuation
- 2003-06-19 WO PCT/JP2003/007780 patent/WO2004001608A1/ja active Application Filing
- 2003-06-19 EP EP03760899A patent/EP1519276A4/en not_active Withdrawn
- 2003-06-19 CN CNB038010844A patent/CN1306425C/zh not_active Expired - Fee Related
- 2003-06-19 US US10/487,069 patent/US20040236918A1/en not_active Abandoned
-
2005
- 2005-05-24 HK HK05104372A patent/HK1071621A1/xx not_active IP Right Cessation
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11061587B2 (en) | 2019-03-13 | 2021-07-13 | Toshiba Memory Corporation | Memory system switching between a locked and unlocked state and memory control method |
Also Published As
Publication number | Publication date |
---|---|
KR20050012217A (ko) | 2005-01-31 |
TW200408944A (en) | 2004-06-01 |
US20040236918A1 (en) | 2004-11-25 |
EP1519276A1 (en) | 2005-03-30 |
CN1556953A (zh) | 2004-12-22 |
HK1071621A1 (en) | 2005-07-22 |
TWI240165B (en) | 2005-09-21 |
EP1519276A4 (en) | 2008-03-26 |
CN1306425C (zh) | 2007-03-21 |
WO2004001608A1 (ja) | 2003-12-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3979195B2 (ja) | 情報記憶装置、およびメモリアクセス制御方法、並びにコンピュータ・プログラム | |
JP4016741B2 (ja) | 情報記憶装置、メモリアクセス制御システム、および方法、並びにコンピュータ・プログラム | |
JP2004030102A (ja) | 情報記憶装置、およびメモリアクセス制御システム、および方法、並びにコンピュータ・プログラム | |
JP3979194B2 (ja) | 情報記憶装置、およびメモリアクセス制御方法、並びにコンピュータ・プログラム | |
AU785421B2 (en) | Data authentication system | |
TW514844B (en) | Data processing system, storage device, data processing method and program providing media | |
JP2001014441A (ja) | 半導体メモリカード及び読み出し装置 | |
JP2009087497A (ja) | 記録システム、情報処理装置、記憶装置、記録方法及びプログラム | |
JP2003233795A (ja) | 半導体メモリカード及び読み出し装置 | |
WO2013175642A1 (ja) | メモリデバイスおよびメモリシステム | |
WO2013175640A1 (ja) | ホストデバイスおよびホストデバイスにおける認証方法 | |
JP2008287488A (ja) | データ分散保存装置 | |
WO2013175641A2 (ja) | セキュリティシステム | |
JP5848685B2 (ja) | ストレージシステム | |
JP2014041583A (ja) | ストレージシステム | |
JP2014041582A (ja) | ストレージシステム | |
JP2004240719A (ja) | ソフトウェア実行制御方法 | |
JP2006270347A (ja) | 暗号鍵送出装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20050406 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20080314 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20081014 |