JP4352600B2 - データ改竄チェック装置および方法、ならびに、記録媒体 - Google Patents

データ改竄チェック装置および方法、ならびに、記録媒体 Download PDF

Info

Publication number
JP4352600B2
JP4352600B2 JP2000266100A JP2000266100A JP4352600B2 JP 4352600 B2 JP4352600 B2 JP 4352600B2 JP 2000266100 A JP2000266100 A JP 2000266100A JP 2000266100 A JP2000266100 A JP 2000266100A JP 4352600 B2 JP4352600 B2 JP 4352600B2
Authority
JP
Japan
Prior art keywords
file
data
recording medium
value
data block
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.)
Expired - Fee Related
Application number
JP2000266100A
Other languages
English (en)
Other versions
JP2002074832A (ja
Inventor
敏弥 石坂
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sony Corp
Original Assignee
Sony Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Sony Corp filed Critical Sony Corp
Priority to JP2000266100A priority Critical patent/JP4352600B2/ja
Priority to US09/944,749 priority patent/US6934847B2/en
Priority to KR1020010053715A priority patent/KR100811366B1/ko
Priority to EP06022364A priority patent/EP1777705A2/en
Priority to DE60139370T priority patent/DE60139370D1/de
Priority to EP01307487A priority patent/EP1184774B1/en
Publication of JP2002074832A publication Critical patent/JP2002074832A/ja
Priority to US11/158,837 priority patent/US7076662B2/en
Application granted granted Critical
Publication of JP4352600B2 publication Critical patent/JP4352600B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/00086Circuits for prevention of unauthorised reproduction or copying, e.g. piracy
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6209Protecting access to data via a platform, e.g. using keys or access control rules to a single file or object, e.g. in a secure envelope, encrypted and accessed using a key, or with access control rules appended to the object itself
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/64Protecting data integrity, e.g. using checksums, certificates or signatures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/78Protecting 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
    • G06F21/80Protecting 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 in storage media based on magnetic or optical technology, e.g. disks with sectors
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/00086Circuits for prevention of unauthorised reproduction or copying, e.g. piracy
    • G11B20/00094Circuits for prevention of unauthorised reproduction or copying, e.g. piracy involving measures which result in a restriction to authorised record carriers
    • G11B20/00123Circuits for prevention of unauthorised reproduction or copying, e.g. piracy involving measures which result in a restriction to authorised record carriers the record carrier being identified by recognising some of its unique characteristics, e.g. a unique defect pattern serving as a physical signature of the record carrier
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/12Formatting, e.g. arrangement of data block or words on the record carriers
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/12Formatting, e.g. arrangement of data block or words on the record carriers
    • G11B20/1217Formatting, e.g. arrangement of data block or words on the record carriers on discs
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/18Error detection or correction; Testing, e.g. of drop-outs
    • G11B20/1816Testing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing 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/2145Inheriting rights or properties, e.g., propagation of permissions or restrictions within a hierarchy
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B2220/00Record carriers by type
    • G11B2220/20Disc-shaped record carriers
    • G11B2220/25Disc-shaped record carriers characterised in that the disc is based on a specific recording technology
    • G11B2220/2537Optical discs
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B2220/00Record carriers by type
    • G11B2220/20Disc-shaped record carriers
    • G11B2220/25Disc-shaped record carriers characterised in that the disc is based on a specific recording technology
    • G11B2220/2537Optical discs
    • G11B2220/2562DVDs [digital versatile discs]; Digital video discs; MMCDs; HDCDs

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • Health & Medical Sciences (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Storage Device Security (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)

Description

【0001】
【発明の属する技術分野】
この発明は、著作権保護され、記録媒体に記録されたコンテンツファイルに対する改竄の有無をチェックするようなデータ改竄チェック装置および方法、ならびに、記録媒体に関する。
【0002】
【従来の技術】
近年、DVD(Digital Versatile Disk)に代表される、高密度光ディスクの開発が進み、それに伴い、規格の標準化が進められた。この標準化により、UDF(Universal Disk Format)が策定された。DVDが書き換え可能とされたDVD−RAM(DVD-Random Access Memory)は、このUDFに従った論理フォーマットが用いられる。また、CD−ROM(Compact Disc-Read Only Memory)が書き込み可能とされたCD−Rや、書き換え可能とされCD−RWも、このUDFを適用可能である。
【0003】
UDFにおいては、階層的なファイルシステムが用いられ、ルートディレクトリに格納された情報からサブディレクトリが参照され、サブディレクトリに格納された情報から、さらに別のサブディレクトリの参照や、実体的なファイルの参照がなされる。
【0004】
上述について、より具体的に説明する。ディスク上の記録領域は、セクタを最小単位としてアクセスされ、例えばDVD−RAMでは、ディスクの内側から外側へとアクセスがなされる。最内周側から、リードイン領域に続けてボリューム情報が書き込まれる領域(ここでは、システム領域とする)が配され、ここに、ルートディレクトリのファイルエントリ(File Entry:以下、FEと略称する)が書き込まれる位置が示される。FEは、ルートディレクトリ、サブディレクトリおよびファイルのアドレスと長さの情報であるアロケーションディスクリプタ(Allocation Descriptor:以下、ADと略称する)からなる。
【0005】
ルートディレクトリのFEにおいて、ADによって実体としてのルートディレクトリの論理アドレスと長さとが示される。ルートディレクトリは、1または複数のファイル識別記述子(File Identifier Descriptor:以下、FIDと略称する)を含み、FIDによって、ルートディレクトリ下にあるサブディレクトリのFEやファイルのFEが参照される。これらのFEによって、それぞれ対応するサブディレクトリやファイルの実体が参照される。また、サブディレクトリの実体は、さらに1または複数のFIDを含む。すなわち、UDFにおいて、ルートディレクトリ以外は、FIDおよびFEをポインタとして、FID、FEおよび実体の順にアクセスが行われる。
【0006】
ところで、記録媒体に記録された情報データの著作権保護に関する技術要素の一つとして、改竄チェックがある。これは、記録された情報データに対する不正な改竄の防止と、情報データが不正に改竄されてしまった場合の改竄の検出を行うための技術である。さらに、この改竄チェックは、情報データを、その情報データが記録された記録媒体で閉じたものとして縛ることで、情報データの不正な複写を防止することができるので、著作権保護においては、非常に重要な技術要素であるということがいえる。
【0007】
従来のデータ改竄チェック方法について、概略的に説明する。情報データの単位であるファイル(コンテンツ)毎に、当該ファイルの重要管理情報、著作権情報および状態情報などの属性情報から、一意に生成され、且つ、逆演算による源情報の同定が困難であるような改竄チェック値を求める。求められた改竄チェック値は、記録媒体上に設けられた、ユーザが容易にアクセスできないエリアやファイルである改竄チェック管理値スペースに書き込まれる。当該記録媒体を再生したときに、再生データに基づき改竄チェック値を求め、求められた改竄チェック値と、改竄チェック値管理スペースに書き込まれた改竄チェック値とを比較することで、不正なファイルの移動や複写が行われたかどうかをチェックする。
【0008】
同様に、同一記録媒体上に存在する全てのファイルを対象に、改竄チェック値を求めることで、不正なファイルの移動や複写が行われたかどうかをチェックする方法も、実施されている。
【0009】
改竄チェック値を求める方法としては、例えばISO/IEC9797に規定されているMAC(Message Authentication Code)と称される演算方法が知られている。ここで、ファイル毎の改竄チェック値そのものを指してMACと呼ぶことがあり、このとき特に、同一記録媒体上にある全てのファイルが対象とされた改竄チェックをICV(Integrity Check Value)と呼んで、両者の差別化を図ることがある。以下では、ファイル毎の改竄チェック値をMACと称し、同一記録媒体上の全てのファイルが対象にされた改竄チェック値をICVと称する。
【0010】
【発明が解決しようとする課題】
従来の改竄チェック方法では、上述したように、記録媒体上のファイル毎にMACを生成する。一方、近年では、記録媒体の大容量化が著しく進んでいる。記録媒体の容量が大きくなればなるほど記録媒体上に存在するファイル数も膨大になり、それに伴い、MACの量も膨大になることが予想される。上述した改竄チェック方法の手続として、チェックを行うタイミングにおいて、記録媒体上に存在するファイルなどに基づき現状のMACおよびICVを演算することが必要となる。その際に、特にディスク状の記録媒体においては、その構造上、駆動系が存在し、MACおよびICVを求める情報を得るためになされるアクセスに要する時間が多くかかってしまうという問題点があった。また、これは、ユーザによってもストレスになるという問題点があった。
【0011】
さらに、同一記録媒体上に、様々な種類のコンテンツが存在する場合、この記録媒体を再生するアプリケーションソフトウェアやセット機器によっては、対象外になるようなコンテンツファイルについても、毎回改竄チェック手続に含まれることになる。このような場合、改竄チェックに費やされる時間が余計にかかってしまうことになり、時間効率が悪いという問題点があった。
【0012】
さらにまた、あるタイミングで特定のファイルについて改竄チェック手続を行わなければならない場合も考えられる。このような場合、アプリケーションソフトウェアやセット機器では、当該記録媒体についての最初の改竄チェックの際に保持された、当該ファイルのMACリストの中から、対応するMACを検索し、検索されたMACを用いて改竄チェックを行う。この場合、上述のように記録媒体が大容量となり、記録媒体上に存在するファイル数が膨大となると、MACリストも膨大となり、そのリストの中から対応するMACを特定するには多くの時間を費やす必要があり、上述と同様に、時間効率が悪いという問題点があった。
【0013】
この問題に対する解決策の一例として、MACを格納するエリアを固定長として、ファイル番号などと合わせて直接的にMACの格納場所を特定する方法がある。しかしながら、大容量の記録媒体の場合、そのコンテンツ格納能力からかなりの大きさのエリアをそのために確保する必要があるという問題点があった。
【0014】
また、この方法では、MACを格納するエリアが固定長とされるために、ファイル数などを制限する必要があり、実用的とはいえないという問題点があった。
【0015】
したがって、この発明の目的は、データの改竄チェックを効率的に行うことができるデータ改竄チェック装置および方法、ならびに、記録媒体を提供することにある。
【0016】
【課題を解決するための手段】
この発明は、上述した課題を解決するために、記録媒体に記録されたデータが改竄されていないかどうかチェックするデータ改竄チェック装置において、1または複数のファイルをまとめた上位概念であるディレクトリに属する1または複数のファイルのそれぞれについて、ファイルの属性情報に基づき一意且つ逆演算による可逆性を持たない所定の演算方法でファイル毎に演算された複数の第1の演算値を含むリスト型データ構造を、1または複数含むデータブロックが、記録媒体上のファイルシステムがアクセスしない領域に記録されると共に、第1の演算値が対応するファイルにそれぞれ書き込まれた記録媒体から、データブロックとファイルとをそれぞれ読み出す読み出し手段と、読み出し手段によって読み出されたファイルの属性情報に基づき所定の演算方法で演算された第2の演算値と、読み出し手段によって読み出されたデータブロックのうち、読み出し手段によって読み出されたファイルが属するディレクトリに対応したリスト型データ構造に含まれる、ファイルに対応した第1の演算値とを比較する比較手段とを有し、比較手段による比較結果に基づき、第2の演算値と第1の演算値とが一致しないときに、ファイルが改竄されたと判断することを特徴とするデータ改竄チェック装置である。
【0017】
また、この発明は、記録媒体に記録されたデータが改竄されていないかどうかチェックするデータ改竄チェック方法において、1または複数のファイルをまとめた上位概念であるディレクトリに属する1または複数のファイルのそれぞれについて、ファイルの属性情報に基づき一意且つ逆演算による可逆性を持たない所定の演算方法でファイル毎に演算された複数の第1の演算値を含むリスト型データ構造を、1または複数含むデータブロックが、記録媒体上のファイルシステムがアクセスしない領域に記録されると共に、第1の演算値が対応するファイルにそれぞれ書き込まれた記録媒体から、データブロックとファイルとをそれぞれ読み出す読み出しのステップと、読み出しのステップによって読み出されたファイルの属性情報に基づき所定の演算方法で演算された第2の演算値と、読み出しのステップによって読み出されたデータブロックのうち、読み出しのステップによって読み出されたファイルが属するディレクトリに対応したリスト型データ構造に含まれる、ファイルに対応した第1の演算値とを比較する比較のステップとを有し、比較のステップによる比較結果に基づき、第2の演算値と第1の演算値とが一致しないときに、ファイルが改竄されたと判断することを特徴とするデータ改竄チェック方法である。
【0018】
また、この発明は、1または複数のファイルをまとめた上位概念であるディレクトリを有するファイル構造でデータが記録される記録媒体において、1または複数のファイルをまとめた上位概念であるディレクトリに属する1または複数のファイルのそれぞれについて、ファイルの属性情報に基づき一意且つ逆演算による可逆性を持たない所定の演算方法でファイル毎に演算された複数の第1の演算値を含むリスト型データ構造を1または複数含むデータブロックが、ファイルシステムがアクセスしない領域に2重に書き込まれ、2重に書き込まれたデータブロックが異なるタイミングで更新されることを特徴とする記録媒体である。
【0019】
上述したように、この発明によれば、1または複数のファイルをまとめた上位概念であるディレクトリに属する1または複数のファイルのそれぞれについて、ファイルの属性情報に基づき一意且つ逆演算による可逆性を持たない所定の演算方法でファイル毎に演算された複数の第1の演算値を含むリスト型データ構造を、1または複数含むデータブロックが、記録媒体上のファイルシステムがアクセスしない領域に記録されると共に、第1の演算値が対応するファイルにそれぞれ書き込まれた記録媒体から、データブロックとファイルとをそれぞれ読み出して、読み出されたファイルの属性情報に基づき所定の演算方法で演算された第2の演算値と、読み出されたデータブロックのうち、読み出し手段によって読み出されたファイルが属するディレクトリに対応したリスト型データ構造に含まれる、ファイルに対応した第1の演算値とを比較し、比較結果に基づき、第2の演算値と第1の演算値とが一致しないときに、ファイルが改竄されたと判断するようにしているため、時間的に効率よくデータ改竄チェックを行うことができる。
【0020】
【発明の実施の形態】
以下、この発明の実施の一形態を、図面を参照しながら説明する。先ず、理解を容易とするために、記録媒体にディスクを用いた場合における基本的なデータ改竄チェック方法について、図1および図2を用いて説明する。ここで説明する基本的な改竄チェック方法は、ISO/IEC9797のMAC(Message Authentication Code)による演算方法を導入したものである。なお、以下では、ファイル毎に求められる改竄チェック値そのものをMAC値と称し、同一記録媒体上にある全てのファイルを対象として求められる改竄チェック値を、ICV(Integrity Check Value)と称する。
【0021】
図1は、ディスク記録媒体に新たにファイル#1および#2が追加されたときの改竄チェック方法を概略的に示す一例の機能ブロック図である。ディスク記録媒体(以下、ディスクと略称する)110のユーザデータ領域110Aに記録されたファイルのそれぞれについて、MACの演算手法に基づきMAC値が求められる。例えば、図1に示されるファイル#1のように、著作権情報やファイルの重要情報などのファイルの属性情報と、当該ファイルに固有な鍵となる情報、例えばそのファイルの実データ部分を暗号化する際に用いられたコンテンツ鍵とを用い、MAC演算部112Aによって所定の演算がなされ、MAC値#1が求められる。
【0022】
他のファイルについても同様にしてMAC値が求められる。例えばファイル#2では、上述と同様にコンテンツ鍵と、ファイルの重要情報および著作権保護条件などのファイルの属性情報から、MAC演算部112BによってMAC値#2が求められる。
【0023】
MAC値は、上述の著作権情報、ファイルの重要情報およびコンテンツ鍵などに限らず、ファイルの再生回数や複製回数などをさらに用いて求めるようにしてもよい。例えば、ファイルの複製回数をさらに用いてMAC値を求めることにより、ファイルのコピー世代の制限を行うことができる。
【0024】
なお、MAC値は、与えられた値に基づき一方向性の関数であるハッシュ関数を用いて生成される値であり、MAC値から逆演算を行って元の値を求めることはできない。
【0025】
このようにして、ファイル#1および#2についてそれぞれ生成されたMAC値#1および#2は、それぞれ対応するファイルのヘッダ情報として、対応するファイルに格納される。それと共に、MAC値#1および#2は、ディスク110の記録領域のうち、ユーザが容易にアクセスできない領域、例えばディスク110に用意されたリードイン領域110Bにまとめて格納される。リードイン領域110Bは、そのディスク110が扱われるシステムにおいて、ファイルシステムがアクセスしない領域、すなわち、当該ファイルシステムにおいて論理アドレス上では存在しない領域である。
【0026】
さらに、ファイル毎に生成されたMAC値#1および#2は、MAC演算部113に入力される。MAC演算部113には、さらにICV演算用鍵が入力され、このICV演算用鍵と、入力されたMAC値#1および#2とからICVを生成する。このICVは、ディスク110上において対象となる全てのファイルの情報が反映された値となっている。生成されたICVは、上述したMAC値#1および#2と同様に、ディスク110のリードイン領域110Bに記録される。
【0027】
このように、ディスク110上に新規にファイル#1および#2が追加された場合には、リードイン領域110Bには、ファイル毎の改竄チェック値であるMAC値#1および#2と、ディスク110上において対象となる全てのファイルの情報が反映された改竄チェック値であるICVとが記録される。ここでは、改竄チェックに関連する情報が格納される、リードイン領域110Bのような領域およびその領域におけるデータ構造を、シーケンスブロックと称する。図1において、シーケンスブロック114に対してファイル毎のMAC値#1、#2と、ICVとが格納される。シーケンスブロック114は、上述したように。ディスク110の記録領域のうち、ユーザが容易にアクセスできない、例えばリードイン領域110Bに記録される。
【0028】
図2は、ディスク110上で、例えばある特定のファイルを再生/移動する場合や、システムにおいて改竄チェックが要求されたタイミングにおける一例の手続を示す機能ブロック図である。ある特定のファイルについての改竄チェックは、MAC値を用いて行われる。例えばファイル#1が再生あるいは移動される場合、先ず、図1を用いて既に説明した方法により、当該ファイルに関して、MAC値が生成される。ファイル#1に関して生成されるこのMAC値を、MAC値#1’とする。
【0029】
一方、ファイル#1がこのディスク110に記録された際に生成され、ファイル#1のヘッダ部に格納されたMAC値#1と、ヘッダ部へのMAC#1の格納と共にリードイン領域110Bのシーケンスブロック114に格納されたMAC#1とが取り出される。取り出されたこれらのMAC値#1と、上述のMAC値#1’とが比較部115Aにおいて比較される。この比較により、MAC値#1’がヘッダ部から取り出されたMAC値#1およびシーケンスブロック114から取り出されたMAC値#1と一致しない場合には、ファイル#1に対して不正に改竄が行われたおそれがあると判断され、システムにおいてエラー処理がなされる。
【0030】
また、ディスク110上の全てのファイルを対象とした改竄チェックは、シーケンスブロック114に格納されたICVを用いて行われる。例えばディスク110上のあるファイル(ファイル#1とする)が再生あるいは移動される場合、先ず、上述と同様にして、ディスク110上に存在する全てのファイルについてMAC値が生成され、生成された、全てのファイルについてもMAC値に対して、MAC演算部113において、ICV演算用鍵を用いてICV’が生成される。
【0031】
一方、ディスク110のリードイン領域110Bのシーケンスブロック114に格納されたICVが取り出される。シーケンスブロック114から取り出されたこのICVと、ディスク110上の全てのファイルのMAC値から生成されたICV’とが比較部16で比較される。比較の結果、両者が一致しなければ、ディスク110上においてファイルの不正な移動やコピー、消去などが行われたと判断され、システムにおいてエラー処理がなされる。
【0032】
上述の基本的な改竄チェック方法を踏まえて、この発明の実施の第1の形態による改竄チェック方法について説明する。図3は、この実施の一形態による改竄チェック値のデータ構造を概略的に示す。この実施の第1の形態は、上述の図1および図2で示した基本構成における、シーケンスブロック114の構造にポイントを置いたものである。適用される記録媒体は、上述したような、ディスク状記録媒体であるディスク110が想定されている。なお、この実施の第1の形態では、適用可能な記録媒体はディスク状記録媒体に限られない。
【0033】
シーケンスブロック114は、1または複数のシーケンスページ121A、121B、・・・とディスク110上の全てのファイルについての改竄チェック値ICVとからなる。シーケンスページ121A、121B、・・・のそれぞれは、ディスク110上のファイル毎の改竄チェック値、例えばMAC値が複数、リスト構造として格納されるデータ構造とされている。各ファイルとMAC値との対応付けは、例えば、ファイルシステムによって構築されるファイルの木構造の探索順に対応した順序で、シーケンスページにおけるMAC値のエントリを並べることでなされる。
【0034】
また、ディスク110上のファイルは、1または複数のファイルが上位概念であるディレクトリとしてまとめられる。シーケンスページ#1、#2、・・・のそれぞれは、格納されるMAC値に対応するファイルがまとめられたディレクトリに対応付けられる。例えば、各ディレクトリ122A、122B、・・・と各シーケンスページ121A、121B、・・・とが互いに対応がとれるようなIDを格納するフィールドを、シーケンスページ121A、121B、・・・にそれぞれ規定することで、各ディレクトリ122A、122B、・・・と各シーケンスページ121A、121B、・・・との対応をとることができる。
【0035】
例えばシーケンスページ121A、121B、・・・は、ディスク110上に形成されたディレクトリ122A、122B、・・・とそれぞれ対応付けられている。シーケンスページ121A、121B、・・・は、対応するディレクトリに含まれるファイルそれぞれから生成されたMAC値と、当該ディレクトリに含まれる全てのファイルのMAC値を入力として生成されたICVとが格納される。
【0036】
一例として、ディレクトリ122Aと対応付けられるシーケンスページ121Aは、ディレクトリ122Aに格納されるファイル#1[0]、#1[1]、・・・、#1[n−1](図示しない)のそれぞれから生成されたMAC値#1[0]、#1[1]、・・・、#1[n−1]と、ファイル#1[0]、#1[1]、・・・、#1[n−1]の全てのMAC値から生成されたICVとからなる。
【0037】
なお、以下では、ディレクトリに含まれる全てのファイルのMAC値を入力として生成されたICVを、D−ICVと称する。また、図3において、「#1」、「#2」は、対応するディレクトリを区別するため、括弧[]の内容は、当該ディレクトリに格納されるファイルを区別するために記される。
【0038】
さらに、上述したシーケンスブロック114に格納されるICVは、各シーケンスページ121A、121B、・・・に格納される全てのD−ICV#1、#2、・・・を入力として生成される。したがって、シーケンスブロック114に格納されるICVは、結果的に、ディスク110全体のファイルに対するMAC値が反映された値となる。
【0039】
上述したように、各シーケンスページ121A、121B、・・・に格納されるMAC値の数は、対応するディレクトリ122A、122B、・・・に格納されるファイル数に応じて変わる。同様に、シーケンスブロック114に格納されるシーケンスページ121A、121B、・・・の数は、ディスク110に作成されるディレクトリ122A、122B、・・・の数に応じて変わる。したがって、シーケンスブロック114は、可変長領域として構築されると共に、シーケンスブロック114中の各シーケンスページ121A、121B、・・・も、それぞれ可変長領域として構築される。
【0040】
図4は、ディスク110の一例の物理フォーマットを部分的に示す。ディスク110がディスク内周側から外周側へとデータを記録していく場合、図4の上側がディスク内周側、下側が外周側にそれぞれ相当する。ディスク内周側からリードイン領域110Bが配置されている。リードイン領域110Bの外側から、ユーザデータ領域が開始される。ユーザデータ領域は、論理アドレスが与えられ、このディスク110を扱うファイルシステムによってアクセス可能とされた領域である。一方、リードイン領域110Bは、上述したように、論理アドレス上では存在せず、ファイルシステムがアクセスしない領域である。
【0041】
リードイン領域110Bの先頭に、メディアIDが記録される領域130が例えば132バイトの大きさで設けられる。メディアIDの領域の後ろにエンボス領域131が配され、エンボス領域131の次から、リードイン領域110Bの最後までが書き替え可能な領域132とされる。シーケンスブロック114は、この書き替え可能な領域132の所定位置に2重書きされる。シーケンスブロック114が2重書きされたそれぞれを、シーケンスブロック114A、シーケンスブロック114Bとする。
【0042】
この書き替え可能な領域132の所定位置から開始される、大きさが例えば128kバイトの固定領域133に、シーケンスブロック114Aが書き込まれる。そして、固定領域133に続けて配される大きさが例えば128kバイト固定領域133’には、シーケンスブロック114Aと同一のデータからなるシーケンスブロック114Bが書き込まれる。
【0043】
例えば固定領域133において、シーケンスブロック114Aは例えば前詰めで書き込まれ、固定領域133内で余った領域134は、スタッフィングバイトで埋められる。固定領域133’も、固定領域133と同様な構成とされる。
【0044】
図5は、シーケンスブロック114Aおよび114Bの一例の論理フォーマットを示す。図中、「0x」から始まる数値は、16進表記されていることを示す。ここでは、シーケンスブロック114Aを例にとって説明する。横方向にバイトが示されている。最初の2バイトのフィールド「SPE Num」には、このシーケンスブロック114Aにエントリされているシーケンスページの総エントリ数が格納される。次の4バイトのフィールド「Block Size」は、シーケンスブロック114A自身のサイズが格納される。シーケンスブロック114Aの先頭バイトから最終エントリの最終バイトまでのバイト数が格納される。
【0045】
フィールド「Block Size」に続く4バイトには、フィールド「Revision」が配される。フィールド「Revision」は、このシーケンスブロック114Aの書き替え回数およびこのシーケンスブロック114Aが有効/無効のどちらの状態にあるかを示す値Revisionが格納される。値Revisionは、初期状態が「0」とされ、このシーケンスブロック114Aが書き替えられる度に、値が「1」ずつ増加される。また、このシーケンスブロック114Aが無効であるか、または、書き替え途中である場合には、値Revision=Invalid Numとされ、その旨が示される。値Invalid Numは、例えば値「0xFFFFFFFF」で示される。
【0046】
「Revision」に続く6バイトおよびその次の16バイトは、システム予約されている。このシステム予約バイトにICVを格納することができる。133バイト目からシーケンスページ121A、121B、・・・がエントリされる。ディスク110上に存在する全てのディレクトリに対応したシーケンスページの情報がエントリされたら、例えば全て「0」からなるスタッフィングバイトで以て、シーケンスブロック114Aが格納される固定領域133が、最終バイトまで埋め尽くされる。なお、フィールド「Block Size」にシーケンスブロック114A自身のサイズ情報が記述されているため、スタッフィングバイトは、必ずしも必要ではない。
【0047】
このように、この実施の一形態では、シーケンスブロックが、ディスク110上に存在するディレクトリ毎に一対一に対応したデータ構造であるシーケンスページの集合体で構成される。
【0048】
図6は、シーケンスページ121A、121B、・・・の一例の論理フォーマットを示す。図中、「0x」から始まる数値は、16進表記されていることを示す。ここでは、シーケンスページ121Aを例にとって説明する。最初の2バイトのフィールド「Page ID」は、このシーケンスページ121Aとディスク110上のファイルシステムにおけるディレクトリとを関連付けるためのPage IDが格納される。次の2バイトのフィールド「Entry Num」は、このシーケンスページ121AにエントリされているMAC値の総数が格納される。次の4バイトのフィールド「Page Size」は、シーケンスページ121A自身のサイズが格納される。シーケンスページ121Aの先頭バイトから最終エントリの最終バイトまでのバイト数が格納される。次の8バイトは、システム予約されている。
【0049】
17バイト目のフィールド「D−ICV」は、D−ICVが格納される。そして、続く33バイト目からMAC値が格納される。MAC値は、例えば64ビットすなわち8バイトの固定長とされている。MAC値は、シーケンスページ121Aの17バイト目から8バイトずつ詰め込まれる。
【0050】
このように、この実施の一形態では、シーケンスページには、ディスク110上のディレクトリと一対一で対応をとれるような値が格納される、フィールド「Page ID」が規定されている。そのため、改竄チェック手続においては、シーケンスブロック114A内の特定のシーケンスページだけを対象とした処理を行うことができる。すなわち、この実施の第1の形態によれば、ディスク110上の特定のディレクトリだけを対象としてデータ改竄チェックを行うことができる。
【0051】
この実施の一形態では、上述のシーケンスブロック114Aおよび114Bは、互いにバックアップとして機能する。すなわち、ディスク上のファイルの再生や変更、複写などがなされる場合に、一方は当該処理が開始されると共に更新され、他方は当該処理中は更新を禁止し、当該処理が終了すると共に更新されるようにする。これにより、当該処理途中に例えば電源が切られるなどしてシステムダウンしても、シーケンスブロック114Aおよび114Bのうち何方か一方は正常に残っており、ディスク110の状態を後に復帰させることが容易である。
【0052】
図7は、この実施の一形態によるシーケンスブロック114Aおよび114Bの更新手続きを示す。図7Aおよび図7Bは、シーケンスブロック114Aおよび114Bにおけるフィールド「Revision」の状態の遷移をそれぞれ示す。なお、図7において、図の上側から下側へ時間が進行しているものとする。時刻Aで、ディスク110上に記録されるファイルの更新や複写、あるいはファイルの新規の記録などのファイル処理が開始され、時刻Bで当該処理が終了するものとする。また、図7Cは、各時刻におけるフィールド「Revision」の値を示す。シーケンスブロック114Aおよび114Bのフィールド「Revision」の値は、当初、共にRevision=n−1であるとする。
【0053】
時刻Aでディスク110上のファイルに対するファイル処理が開始されると、シーケンスブロック114Bが一旦削除される。このとき、シーケンスブロック114Bのフィールド「Revision」だけが値をRevision=Invalid Numに変更されて残される。あるいは、時刻Aでのファイル処理の開始と共に、既存のシーケンスブロック114Bが、値Revision=Invalidとされたフィールド「Revision」(およびフィールド「SPE Num」、フィールド「ブロックサイズ」)のみからなるシーケンスブロック114Bで上書きされる。
【0054】
一方、シーケンスブロック114Aは、時刻Aでディスク110上でのファイル処理が開始されても、何も変化されず、フィールド「Revision」の値も、Revision=n−1のままとされる。
【0055】
時刻Bになり当該ファイル処理が終了されると、ファイル処理の結果を反映し、フィールド「Revision」の値がRevision=nとされたシーケンスブロック114Bが書き込まれる。すなわち、フィールド「Revision」の値がファイル処理前の値よりも1だけ大きくされる。勿論、ディスク110上の全てのファイルおよびディレクトリに関するMAC値およびD−ICVも計算し直されシーケンスページが再構築され、シーケンスブロック114Bに格納される。
【0056】
このシーケンスブロック114Bの書き込みが終了すると、シーケンスブロック114Aの書き込みが開始される。先ず、シーケンスブロック114Aのフィールド「Revision」の値がRevision=Invalid Numとされ、シーケンスブロック114Aが無効化される(時刻C)。そして、当該ファイル処理の結果を反映し、フィールド「Revision」の値がRevision=nとされたシーケンスブロック114Aが書き込まれる。これ以降は、シーケンスブロック114Aおよび114Bは、同一データからなり、フィールド「Revision」においては同一のRevision=nを有する。
【0057】
このようにして、シーケンスブロック114Aおよび114Bの更新を行うことで、図7で示されるどの時刻をとってもシーケンスブロック114Aおよび114Bのどちらか一方は、必ず有効とされている。そのため、データの記録や複写などといったファイル処理の途中に、何らかの理由によりシステムがダウンしても、救済処理が可能である。
【0058】
すなわち、システム復帰した際に、現状におけるディスク110上のファイルおよびディレクトリからMAC値、ICVおよびD−ICVを生成し、生成されたこれらの値と、シーケンスブロック114Aおよび114Bのうちシステム復帰直後に有効となっているシーケンスブロックの内容とを比較する。両者の差分を求めることで、何らかの救済措置をとることが可能である。
【0059】
図8は、この救済措置を含めたシーケンスブロックの更新手続きの一例の処理を示すフローチャートである。このフローチャートによる処理は、シーケンスブロック114Aおよび114Bに記録されているデータが更新される場合に実行されるものである。
【0060】
先ず、最初のステップS10で、シーケンスブロック114Aおよび114Bのフィールド「Revision」の値(それぞれRevision#1、Revision#2とする)が比較される。比較の結果、Revision#1とRevision#2とが一致していなければ、処理はステップS11に移行する。
【0061】
ステップS11では、シーケンスブロック114Aおよび114Bのうち、フィールド「Revision」の値がRevision≠Invalid Numであるシーケンスブロックのデータが読み出される。読み出される対象となるデータは、そのシーケンスブロックに格納された各シーケンスページのデータである。このデータをデータAとする。
【0062】
次のステップS12では、現状のディスク110上のデータに基づきMAC演算がなされ、新たにシーケンスブロックのデータが生成される。このときには、上述のステップS11と同様に、生成される対象となるデータは、ディスク110上のファイルやディレクトリに基づくシーケンスページである。このデータをデータBとする。
【0063】
ステップS13で、上述したデータAとデータBとが比較される。比較の結果、若し、データAとデータBとが一致していると判断されれば、何も問題が無かったとされ、このフローチャートによる一連の処理が終了され、通常処理に移行する。一方、ステップS13で、データAとデータBとが一致していないと判断されれば、処理はステップS14に移行する。
【0064】
ステップS14では、データAとデータBとの差分が抽出され、その差分に基づきディスク110上のファイルの救済措置がとられる。例えば、データAとデータBとの差分を求めることで、ディスク110上のシーケンスブロックによれば存在しているはずだが実際には存在していないファイルやディレクトリを見つけ出すことができる。同様に、データAとデータBとを比較することで、所定のファイルの著作権情報などが書き替えられているために、シーケンスブロックに記録されているMAC値とは異なるMAC値となっているファイルなどを見つけ出すことができる。
【0065】
このようなファイルに対して、可能であれば救済措置を施す。例えば、データの所定位置にEOF(End OF File)を付加し、強制的にファイルを構成することができる。また、不正に複写や著作権情報の書き替えなどがなされたおそれがあるファイルについては、そのファイルに再生不可の属性を与えたり、そのファイルを削除するようにしてもよい。
【0066】
こうしてデータAおよびデータBの差分が抽出され、ファイル救済措置がなされた後に、図7を用いて上述したようにして、シーケンスブロック114Aおよび114Bの更新手続きがなされる。
【0067】
一方、上述したステップS10で、シーケンスブロック114Aおよび114Bのフィールド「Revision」の値であるRevision#1およびRevision#2が比較され、両者が一致していると判断されれば、処理はステップS15に移行する。ステップS15では、さらに、シーケンスブロック114Aおよび114Bについて、他のフィールドのデータが互いに一致しているかどうかが判断される。若し、両者が一致していると判断されれは、何も問題が無かったとされ、このフローチャートによる一連の処理が終了され、通常処理に移行する。
【0068】
一方、ステップS15において、他のフィールドのデータが互いに一致していないと判断されれば、処理はステップS16に移行し、シーケンスブロック114Aあるいは20’のエラー訂正処理がなされる。シーケンスブロックのエラー訂正処理がなされたら、このフローチャートによる一連の処理が終了され、通常処理に移行する。
【0069】
ステップS16によるエラー訂正処理は、例えば次のようにして行うことができる。ディスク110上に存在するファイルやディレクトリ情報を取得し、取得されたそれらの情報に基づきファイル毎のMAC値やディレクトリ毎のD−ICV、さらにはディスク110全体のICVを生成し、ディスク110上の現状でのシーケンスブロックを作成する。作成されたこのシーケンスブロックと、ディスク110上から読み出されたシーケンスブロック114Aおよび114Bとをそれぞれ比較する。そして、シーケンスブロック114Aおよび114Bのうち、新たに生成されたシーケンスブロックと一致する方を基準にして、図7で上述したシーケンスブロックの更新手続きを行う。
【0070】
次に、この発明によるデータ改竄チェック方法の第1の応用例について説明する。第1の応用例は、ディスク110においてディレクトリ毎に同一種類のファイルをまとめて格納する場合に用いて好適な例である。より具体的には、1枚のディスク110に対して作成される複数のディレクトリA、B、C、・・・は、ディレクトリA、B、C、・・・毎に異なる種類のファイルから構成される。例えば、ディレクトリAは静止画像ファイル、ディレクトリBは動画像ファイル、ディレクトリCは音声ファイルから、それぞれ構成される。このように、記録媒体として多用途のものを考えた場合、同一記録媒体上に多種のデータが存在することになる。
【0071】
また、改竄チェックに関しては、一般的に、記録媒体がアプリケーションにセットされたときや、ディスクドライブにディスク110が装填された状態で装置の電源を投入したときなど、比較的頻繁に行われることが予想される。同様に、記録媒体に対して新規に記録を行ったり、他の記録媒体との間でファイルの複写や移動が発生した場合には、記録媒体においてICVの再計算とシーケンスブロック114Aおよび114Bの更新が行われることになる。
【0072】
なお、ここでアプリケーションとは、コンピュータ装置に搭載されたアプリケーションソフトウェアや、ハードウェアとソフトウェアとが一体的に構成された専用機的な装置など、この記録媒体に対して記録/再生などを行える構成を指す。
【0073】
一方、アプリケーションによっては、記録媒体上に存在する全てのデータを、必ずしも扱えるとは限らない。例えば、音楽再生専用機の場合には、音楽ファイルから構成されるディレクトリのみを対象にし、そのディレクトリで閉じて改竄チェック手続を行えるようにすれば、時間的な効率を向上させることができる。特に、上述のディスク110のように、記録媒体がディスク形状のときには、その構造上、所定のアドレスにアクセスするのに要する時間が比較的大きく、さらに記録容量が大容量になるのに伴い、その時間的効率は無視できないものとなる。
【0074】
この実施の第1の形態によれば、シーケンスページは、1つのディレクトリを構成するファイル毎のMAC値と、当該ディレクトリの全てのMAC値を入力として生成されたICVとからなり、記録媒体上の全てのディレクトリのそれぞれに対応付けられたシーケンスページは、シーケンスブロックにおいてそれぞれフィールドを与えられて格納される。そのため、各シーケンスページで閉じた改竄チェックを行うことが可能である。したがって、上述したような、ディレクトリ毎に同一種類のファイルをまとめて格納する場合にこの発明による改竄チェック方法を適用させることで、時間的に効率的に改竄チェックを行うことができる。
【0075】
次に、この実施の第1の形態によるデータ改竄チェック方法の第2の応用例について説明する。第2の応用例は、著作権保護されたデータと、例えば個人的に撮影や録音したデータや、著作権フリーで配信されたような、著作権保護されていないデータとでディレクトリを分けて記録するような場合に用いて好適な例である。
【0076】
本来、上述のような著作権保護されていないデータは、改竄チェックなどのようなセキュリティのシステムを介さないで複写や移動、更新などを行うことができる。しかしながら、このような著作権保護されていないデータを、上述の改竄チェックの対象としてしまうと、そのデータを再生できなくなったり、場合によっては削除されてしまったりして、ユーザビリティが損なわれてしまう。
【0077】
一方、そのファイルを改竄チェックの対象とするかどうかを、ファイル単位で明示するような方法も考えられる。しかしながら、この方法でも、記録媒体全体で改竄チェック手続を閉じてしまうと、結局、その記録媒体上の全てのファイルをスキャニングして、それぞれのファイルについて改竄チェックを行うかどうかを判断しなければならず、上述の第1の応用例で述べたのと同様に、時間的なロスが生じてしまう。
【0078】
この発明では、上述したように、データ改竄チェックの対象とするかどうかをディレクトリ単位で判断することができる。したがって、著作権保護が必用なデータと、著作権保護が必用でないデータとを互いに異なるディレクトリに格納することで、時間的なロスを少なく、データ改竄チェックを行うことができる。
【0079】
次に、この発明の実施の第2の形態について説明する。この実施の第2の形態では、ディスク状記録媒体そのものが有する物理的に固有で且つユニークな情報を用いてMAC値を生成する。これにより、ファイルを当該ディスク状記録媒体に対して縛ることができ、ファイルの、他の記録媒体への違法な複写などを防止することができる。
【0080】
図9は、この実施の第2の形態によるデータ改竄チェックを行うための基本的な処理を示す一例の機能ブロック図である。ディスク230は、上述の実施の第1の形態と同様に、ユーザデータが記録されるユーザデータ領域230Aと、ファイルシステムによる論理アドレスを持たないリードイン領域230Bとを有する。さらに、この実施の第2の形態では、ディスク230に固有で改竄不可能、若しくは改竄が非常に困難な方法で、メディア固有IDがディスク230の所定領域に記録されている。
【0081】
メディア固有IDは、例えばリードイン領域230Bなどのように、ユーザが簡単にはアクセスできないような領域に記録されるのが好ましい。さらに、メディア固有IDは、ユーザによる改竄が不可能、若しくは改竄が困難なように、例えば、ディスク230の記録膜そのものを大出力レーザで破壊する、あるいは、ディスク230の記録面に物理的に傷を付けるといった、破壊系の記録方法で記録されるのがより好ましい。これに限らず、例えばディスク230の出荷時に、スタンパなどによりディスク230の表面や記録面に固有のIDを刻印し、これをメディア固有IDとして用いることもできる。
【0082】
ディスク230のユーザデータ領域230Aに記録されたファイルのそれぞれについて、MACの演算手法に基づき、MAC値が計算される。このとき、上述したメディア固有IDも読み取られ、MAC演算の際の入力として用いられる。図9でいうと、ディスク230に記録されたファイル#1から、著作権情報やファイルの重要情報といったファイルの属性情報と、当該ファイルに固有な鍵となる情報、例えばそのファイルの実データ部分を暗号化する際に用いられたコンテンツ鍵とが読み取られ、MAC演算部231に供給される。一方、ディスク230の例えばリードイン領域230Bに記録されたメディア固有IDが読み取られ、MAC演算部231に供給される。
【0083】
MAC演算部231では、これら、各ファイルから得られたファイルの重要情報およびコンテンツ鍵と、ディスク230に記録されたメディア固有IDとを用いて、MAC値#1を生成する。生成されたMAC値#1は、ファイル#1のヘッダ情報としてファイル#1に格納されると共に、シーケンスブロック232に格納される。シーケンスブロック232は、リードイン領域230Bに記録される。シーケンスブロック232は、上述のシーケンスブロック14に対応し、改竄チェックに関連する情報が格納される領域およびそのデータ構造を指す。
【0084】
図10は、この実施の第2の形態によるデータ改竄チェック方法を示す一例の機能ブロック図である。先ず、図10Aに示されるように、上述の図9で示したのと同様な方法で、ファイル#1上の情報とメディア固有IDとからMAC値#1が生成され、生成されたMAC値#1がファイル#1のヘッダ情報としてファイル#1に格納される。また、MAC値#1は、ディスク230上の他のファイルのMAC値と共に、シーケンスブロック232に格納される。ここで、このファイル#1がディスク230とは異なるディスク230’に正規手続きを踏まずに複写あるいは移動された場合を考える。
【0085】
ディスク230’には、上述と同様にして、例えばリードイン領域230Bにメディア固有IDが記録されている。なお、ディスク230および230’に記録されているメディア固有IDを、それぞれメディア固有ID−1、メディア固有ID−2と称する。メディア固有IDは、記録メディアに対して固有であって、ディスク230のメディア固有ID−1と、ディスク230’のメディア固有ID−2とは、互いに異なる値となる。
【0086】
ファイルが複写あるいは移動されると、図10Bに示されるように、移動先のディスク230’においてデータ改竄チェックが行われる。先ず、ディスク230’上のファイル#1のヘッダ情報から、ファイルの重要情報とコンテンツ鍵とが取り出され、MAC演算部231に供給される。それと共に、ディスク230’のメディア固有ID−2が読み出され、MAC演算部231に供給される。MAC演算部231では、供給されたこれらのファイルの重要情報、コンテンツ鍵およびメディア固有ID−2を用いてMAC演算を行い、MAC値#1”を生成する。生成されたMAC値#1”は、比較部233に供給される。
【0087】
一方、ファイル#1のヘッダ情報には、複写元のディスク230におけるメディア固有ID−1に基づき生成されたMAC値#1が格納されている。このMAC値#1がファイル#1のヘッダから読み取られ、比較部233に供給される。
【0088】
比較部では、供給されたこれらMAC値#1とMAC値#1”とを比較する。上述したように、ディスク230のメディア固有ID−1とディスク230’のメディア固有ID−2とは異なる。そのため、複写元のディスク230上のファイル#1と複写先のディスク230’のファイル#1とが全く同一の内容であっても、メディア固有ID−1を用いて生成されたMAC値#1とメディア固有ID−2を用いて生成されたMAC値#1”とは異なる値となり、MAC値の不一致が生じる。
【0089】
さらに、ファイル#1のディスク230’への複写は、正規の手続きを踏んでいないため、ディスク230’上のシーケンスブロック232’には、複写されたファイル#1に対応するMAC値が格納されていない。したがって、上述した図2のように、シーケンスブロック232’に格納されたMAC値とディスク230’上の全てのファイルのMAC値とを比較した場合、不正が検出されることになる。
【0090】
このように、この実施の第2の形態によれば、異なるディスク間でのファイルの複写や移動は可能であるが、複写または移動先において、不正に複写または移動されたファイルを検出することができる。そのため、例えば複写あるいは移動先のディスクからの当該ファイルの再生を禁止したり、複写あるいは移動先のディスク上からの当該ファイルの削除などを行うことができる。これにより、実質上、あるファイルをあるディスク上に縛ることが可能とされる。
【0091】
また、この実施の第2の形態よれば、データ改竄チェックのために、ICVが必ずしも必要ではないことがわかる。ICVは、同一記録媒体上に存在するファイルの整合性を保つためのものであるが、記録媒体上に存在する全ファイルを対象にMAC演算を行うため、時間的効率が悪かった。しかしながら、この実施の第2の形態を用いることで、実質的に、記録媒体とファイルとの対応が一対一になるため、ICVが無くても記録媒体全体での整合性を保つことができる。
【0092】
特に記録媒体がディスク形状のときには、その構造上、所定のアドレスにアクセスするのに要する時間が比較的大きく、さらに記録容量が大容量になるのに伴い、その時間的効率は無視できないものとなる。この実施の第2の形態を用いることで、この問題を軽減することができる。
【0093】
次に、この実施の第2の形態の変形例について説明する。上述した実施の第2の形態では、MAC演算の際の入力として、記録媒体に固有で、且つ、改竄不可能あるいは改竄困難なIDであるメディア固有IDを用いていた。これに対して、この変形例では、記録媒体上に記録された、当該記録媒体の欠陥情報であるディフェクト情報をMAC演算の際の入力として用いている。ディフェクト情報は、十分大きな確率で記録媒体毎に異なった値をとるため、記録媒体固有の情報となり得る。したがって、このディフェクト情報を用いて上述した実施の第2の形態と同様の改竄チェックを行うことができる。
【0094】
ディスク状記録媒体には、製造時に必ず、記録領域の物理的な欠陥が発生する。この製造時に発生した記録領域の物理的な欠陥を、ディフェクトと呼ぶ。このディフェクトは、ディスク状記録媒体の製造過程において乱数的に発生し、製造ロットにおいて、あるディスク状記録媒体と全く同一の欠陥状態を持つ他のディスク状記録媒体が存在する確率は、十分に小さい。したがって、このディフェクト情報は、ディスク状記録媒体における固有な物理的情報といえる。
【0095】
この変形例の前提として、ディスク状記録媒体の出荷時には、この欠陥状態がベリファイされ、記録の最小単位毎の欠陥状態が反映されたPDL(Primary Defect List)と称されるディフェクト情報が各ディスクに記録される。図11は、PDLの一例のデータ構造を示す。PDLは、ビット列からなり、最初の16ビットは、このデータがPDLであることを示す固定値とされる。次からの各ビットは、例えばアドレス昇順に準じて、ディスク状記録媒体の最小記録単位のそれぞれを表し、立っている、すなわちビットの値が「1」であるビットに対応した最小記録単位に欠陥が存在し、その最小記録単位が使用不能であることを示す。このビット列が、ディスク状記録媒体の全最小記録単位数にわたり記録される。PDLは、例えばディスク状記録媒体の全記録容量が2GByteであれば、2〜16KByteの容量となる。
【0096】
なお、PDLは、それ自身が改竄されないように、ディスク状記録媒体上の、例えばリードイン領域といった、ユーザにより簡単にアクセスできないような領域に記録されることが必要である。
【0097】
この実施の第2の形態の変形例では、このPDLをMAC演算に用いる。これにより、ディスク状記録媒体に記録されたファイルは、当該ディスク状記録媒体において閉じたものとなる。
【0098】
図12は、この実施の第2の形態の変形例によるデータ改竄チェックを行うための基本的な処理を示す一例の機能ブロック図である。ディスク240は、上述の実施の第1および第2の形態と同様に、ユーザデータが記録されるユーザデータ領域240Aと、ファイルシステムによる論理アドレスを持たないリードイン領域240Bとを有する。PDLは、リードイン領域240Bに記録される。
【0099】
ディスク240のユーザデータ領域240Aに記録されたファイルのそれぞれについて、MACの演算手法に基づき、MAC値が計算される。このとき、上述したPDLも読み取られ、MAC演算の際の入力として用いられる。図12でいうと、ディスク240に記録されたファイル#1から、著作権情報といった重要情報と、当該ファイルに固有な鍵となる情報、例えばそのファイルの実データ部分を暗号化する際に用いられたコンテンツ鍵とが読み取られ、MAC演算部241に供給される。一方、ディスク240の例えばリードイン領域240Bに記録されたPDLが読み取られ、MAC演算部241に供給される。
【0100】
MAC演算部241では、これら、各ファイルから得られたファイルの重要情報およびコンテンツ鍵と、ディスク240に記録されたPDLとを用いて、MAC値#1を生成する。生成されたMAC値#1は、ファイル#1のヘッダ情報としてファイル#1に格納されると共に、シーケンスブロック242に格納される。シーケンスブロック242は、リードイン領域240Bに記録される。
【0101】
図13は、この実施の第2の形態の変形例によるデータ改竄チェック方法を示す一例の機能ブロック図である。先ず、図13Aに示されるように、上述の図12で示したのと同様な方法でファイル#1上の情報とPDLとからMAC値#1が生成され、生成されたMAC値#1がファイル#1のヘッダ情報としてファイル#1に格納される。また、MAC値#1は、ディスク240上の他のファイルのMAC値と共に、シーケンスブロック242に格納される。ここで、このファイル#1がディスク240とは異なるディスク240’に正規手続きを踏まずに複写あるいは移動された場合を考える。
【0102】
ディスク240’には、上述と同様にして、例えばリードイン領域240BにPDLが記録されている。なお、ディスク240および240’に記録されているPDLを、それぞれPDL−1、PDL−2と称する。これらPDL−1とPDL−2とが同一の値となる確率は、上述したように極めて小さい。
【0103】
ファイルが複写あるいは移動されると、図13Bに示されるように、移動先のディスク240’においてデータ改竄チェックが行われる。先ず、ディスク240’上のファイル#1のヘッダ情報から、ファイルの重要情報とコンテンツ鍵とが取り出され、MAC演算部241に供給される。それと共に、ディスク240’のPDL−2が読み出され、MAC演算部241に供給される。MAC演算部241では、これらファイルの重要情報、コンテンツ鍵およびPDL−2を用いてMAC演算を行い、MAC値#1”を生成する。生成されたMAC値#1”は、比較部243に供給される。
【0104】
一方、ファイル#1のヘッダ情報には、複写元のディスク240におけるPDL−1に基づき生成されたMAC値#1が格納されている。このMAC値#1がファイル#1のヘッダから読み取られ、比較部243に供給される。
【0105】
比較部では、供給されたこれらMAC値#1とMAC値#1”とを比較する。上述したように、ディスク240のPDL−1とディスク240’のPDL−2とが一致する確率は、極めて小さいため、複写元のディスク240上のファイル#1と複写先のディスク240’のファイル#1とが全く同一の内容であっても、PDL−1を用いて生成されたMAC値#1と、PDL−2を用いて生成されたMAC値#1”とは、極めて高い確率で異なる値となり、MAC値の不一致が生じる。
【0106】
さらに、ファイル#1のディスク240’への複写は、正規の手続きを踏んでいないため、ディスク240’上のシーケンスブロック242’には、複写されたファイル#1に対応するMAC値が格納されていない。したがって、シーケンスブロック242’に格納されたMAC値とディスク240’上の全てのファイルのMAC値とを比較した場合、不正が検出されることになる。
【0107】
このように、この実施の第2の形態の変形例でも、上述の実施の第2の形態と同様に、異なるディスク間でのファイルの複写や移動は可能であるが、複写または移動先において、不正に複写または移動されたファイルを検出することができる。そのため、例えば複写あるいは移動先のディスクからの当該ファイルの再生を禁止したり、複写あるいは移動先のディスク上からの当該ファイルの削除などを行うことができる。これにより、実質上、あるファイルをあるディスク上に縛ることが可能とされる。
【0108】
また、この実施の第2の形態の変形例は、上述の実施の第2の形態と同様に、データ改竄チェックのために、ICVが必ずしも必要ではないことになる。ICVは、同一記録媒体上に存在するファイルの整合性を保つためのものであるが、記録媒体上に存在する全ファイルを対象にMAC演算を行うため、時間的効率が悪かった。しかしながら、この変形例を用いることで、実質的に、記録媒体とファイルとの対応が一対一になるため、ICVが無くても記録媒体全体での整合性を保つことができる。
【0109】
特に記録媒体がディスク形状のときには、その構造上、所定のアドレスにアクセスするのに要する時間が比較的大きく、さらに記録容量が大容量になるのに伴い、その時間的効率は無視できないものとなる。この実施の第2の形態の変形例を用いることで、この問題を軽減することができる。
【0110】
なお、上述の実施の第1および第2の形態、ならびに、実施の第2の形態の変形例は、互いに組み合わせて実施可能なものである。
【0111】
図14は、この発明に適用できるディスク状記録媒体1の論理フォーマットを、ディスクの形状に対応付けて示す。このディスク状記録媒体1の論理フォーマットは、従来例で上述したUDF(Universal Disk Format)に準ずるものである。ディスク状記録媒体1(以下、ディスク1と称する)において、最内周にリードイン領域10が配される。リードイン領域10の外側から論理セクタ番号(LSN:Logical Sector Number)が割り当てられ、順に、ボリューム情報領域11、領域DAN(Data Area Number)−1、DAN−2、DAN−3およびボリューム情報領域12が配され、最外周にリードアウト領域13が配される。領域DAN−1〜DAN−3には、論理ブロック番号が割り当てられる。
【0112】
図15は、ボリューム情報領域11および12の一例の内容を示す。ボリューム情報領域11には、UDFの規定に基づき、VRS(Volume Recognition Sequence)、MVDS(Main Volume Descriptor)およびLVIS(Logical Volume Integrity Sequence)が書き込まれる。ボリューム情報領域11の終端には、アンカーポイントが置かれる。また、ボリューム情報領域11の内容は、リードアウト領域13の内側のボリューム情報領域12にRVDS(Reserve Volume Descriptor Sequence)として2度書きされる。ボリューム情報領域12の先頭および終端には、アンカーポイントが置かれる。ボリューム情報領域12の終端のアンカーポイントは、最終論理セクタ番号に対応する。
【0113】
論理セクタ番号が272から(最終論理セクタ番号−272)の間は、LVS(Logical Volume Space)とされ、パーティション領域が設けられる。このLVSに、上述の領域DAN−1〜DAN−3が配される。LVSの最内周側に設けられる領域DAN−1は、UDFの規定に基づくFSD(File Set Descriptor)およびSBD(Space Bitmap Descriptor)からなる。SBDは、ディスク1の全体の空きエリア情報を、セクタ毎にフラグを立てることで表現する。また、領域DAN−1には、ファイルシステムの階層構造のルートディレクトリのFEのアドレスが示される。
【0114】
領域DAN−2は、ディレクトリのFE(File Entry)と、その実体のFID(File ID)とが置かれる領域である。すなわち、これらディレクトリのFEとその実体のFIDとは、領域DAN−2にまとめて記録されることになる。領域DAN−2は、後述するフォーマット時に、予め所定の容量が連続的に確保される。詳細は後述するが、領域DAN−2の未使用領域は、特定の属性が付されたファイルとして確保される。以下、この領域DAN−2の未使用領域からなるファイルを、EIF(Entry Information File)と称する。未使用領域をEIFとしてファイル化して扱うことで、上述のSBDにおいて、この未使用領域が空きエリアとして認識されないようにできる。
【0115】
なお、従来例で既に述べたが、FEは、ファイルやディレクトリの実体の場所(アドレス)および大きさを示す。FE中のAD(Allocation Descriptor)によって、これらの情報が記される。また、FIDは、ファイルやディレクトリの名前と、FEの場所(アドレス)および大きさを示す。FID中のICB(Information Control Block)によってこれらの情報が記される。
【0116】
領域DAN−3には、ファイルのFEとその実体とが置かれる領域である。領域DAN−3において、ファイルのFEとそのFEに対応したファイルは、アドレス的に連続して配置される。ファイルを追加する際には、既存のファイルに対してアドレス的に連続的に、追加されるファイルのFEが配置され、さらに、アドレス的に連続してファイルの実体が配置される。このように、ファイルのFEおよび実体をアドレス的に連続して配置することにより、ファイルへのアクセスを高速に行うことができる。
【0117】
図16および図17を用いて、このディスク状記録媒体1におけるディレクトリ、ファイルおよび空きエリアの管理方法について説明する。図16は、上述の図14に対して、領域DAN−1〜DAN−3を抜き出した図である。ここでは、データの記録方向は、図16に一例が示されるように、反時計回りであるものとする。図17は、各FE、FIDおよび実体の一例の階層構造を示す。
【0118】
例えば、ルートディレクトリのFEがLSN=aから開始されるとする。ルートディレクトリのFE中のADによって、ルートディレクトリの実体のアドレスおよび大きさが示される。ルートディレクトリのアドレスは、ルートディレクトリのFEと連続的に配置できるようにされており、例えばLSN=a+1とされる。ルートディレクトリの実体は、1以上のFIDを含む。ルートディレクトリのサブディレクトリ(以下、サブディレクトリと略称する)のFEの名前、アドレスおよび大きさがFIDに記される。サブディレクトリのFEは、ルートディレクトリの実体と連続的になるように配置され、例えばLSN=a+2とされる。このサブディレクトリのFE中のADによって、当該サブディレクトリの実体のアドレスおよび大きさが記される。このサブディレクトリの実体のアドレスは、当該サブディレクトリのFEと連続的になるように配置され、例えばLSN=a+3とされる。サブディレクトリに実体は、1以上のFIDを含み、ファイルや他のサブディレクトリのFEの名前、アドレスおよび大きさが記される。
【0119】
各FE、FIDおよび実体がこのように参照されることで、図17に一例が示されるように、領域DAN−2の最内周の所定位置に配置されたルートディレクトリのFEに対して連続的に、ルートディレクトリの実体およびルートディレクトリのサブディレクトリ情報などが配置される。
【0120】
一方、図17を参照し、ルートディレクトリの実体中のFIDによって、EIFのFEの名前、アドレスおよび大きさが記される。そして、EIFのFE中のADによって、EIFの実体のアドレスおよび大きさが記される。このように、EIFはファイルとして扱われるので、他のファイルと同様に、FEによってそのアドレスおよび大きさが示される。
【0121】
EIFのFEは、図16に一例が示されるように、例えばEIFの実体よりも後ろに配置される。EIFの実体の開始および/または終了アドレス、ならびに、大きさは、後述するように、領域DAN−2に書き込まれる各情報の量によって変動する。
【0122】
以上、ルートディレクトリのFE、ルートディレクトリの実体、ルートディレクトリのサブディレクトリのFE、ルートディレクトリのサブディレクトリの実体、EIFのFEおよびEIFの実体は、領域DAN−2に配置される。
【0123】
領域DAN−3には、ファイルのFEおよびファイルの実体が配置される。ファイルの実体は、実際にユーザデータなどが書き込まれる領域である。図17に一例が示されるように、ルートディレクトリの実体中のFIDによって名前、アドレスおよび大きさが記されたファイルのFEは、領域DAN−3に配置される。このときの、ファイルのFEの開始アドレスをLSN=dとする。ファイルのFE中のADによって、当該ファイルの実体のアドレスおよび大きさが示される。ファイルの実体は、当該ファイルのFEと連続的になるように配置され、例えば開始アドレスがLSN=d+1とされる。
【0124】
上述したように、領域DAN−2は、このディスク1のフォーマット処理時に予め確保される。次に、このディスク1の一例のフォーマット方法について、概略的に説明する。なお、リードイン領域10およびリードアウト領域13は、例えばディスク1の製造のプレス行程の際に予め作成されるなどして、フォーマット処理以前から既に存在するものとする。フォーマット処理は、ディスク1の内周側から外周側にかけて進められる。
【0125】
フォーマット処理が開始されると、最初に、上述したVRS、MVDSおよびLVISがリードイン領域10の外側から書き込まれる。次に、LVSが作成される。LVSにおいて、先ず、領域DAN−1が作成される。FSDが書き込まれ、ルートディレクトリの位置が決められる。そして、SBDが作成される。このときに、上述したEIFの領域をSBDにおいて使用済み領域とすることで、EIFの領域が確保される。
【0126】
SBDが作成され領域DAN−1が作成されると、次に、領域DAN−1の外側から領域DAN−2が作成される。領域DAN−2の作成において、先ず、領域DAN−1で書き込まれたFSDに基づき、所定アドレスにルートディレクトリFEおよびルートディレクトリの実体が連続的に書き込まれる。次に、作成されたルートディレクトリの実体に、EIFのFIDが追加される。このFIDにおいて、EIFのFEのアドレスが指定される。
【0127】
このとき、EIFの属性がFID中に指定される。指定されるEIFの属性は、EIFが他の機器やOS(Operating System)によって消去、書き換え、移動などが行われないようにするためのものである。例えば「隠しファイル属性」、「システムファイル属性」および「読み出し専用ファイル属性」が、共にEIFの属性として指定される。
【0128】
「隠しファイル属性」は、この属性が設定されたファイルを通常の方法では閲覧できなくする属性である。「システムファイル属性」は、この属性が設定されたファイルがシステムのために必要なファイルであることを示す属性である。「読み出し専用ファイル属性」は、この属性が設定されたファイルが読み出し専用であって、変更や消去がシステムによって禁止されることを示す属性である。これら3つの属性を共にファイルに指定することで、意図的な操作以外には、そのファイルに対する消去、書き換え、移動などの処理を行うことができなくされる。なお、これらの属性は、所定の方法で解除することができる。
【0129】
次に、EIFのFEが作成される。上述したように、FEでは、当該ファイルのアドレスと大きさが指定される。したがって、FEを指定するだけで、当該ファイルが存在することになり、ダミーファイルとして用いることができる。EIFのFEには、「読み出し専用ファイル属性」および「システムファイル属性」が指定される。
【0130】
このように、領域DAN−2内にEIFを存在させることで、領域DAN−2の空きエリアをEIFによって確保することができる。上述したように、DAN−2には、フォーマット処理後に、サブディレクトリのFEおよび実体が書き込まれる。このときには、EIFの領域を削って、これらサブディレクトリのFEおよび実体が領域DAN−2に作成される。
【0131】
なお、詳細は後述するが、領域DAN−2の作成順は、上述の順序に限られず、他の順序で行うようにしても良い。このとき当然、領域DAN−2における各情報の配置順序も変わってくる。
【0132】
このようにして領域DAN−2が作成される。領域DAN−2の外側は領域DAN−3であるが、領域DAN−3では、特に何も処理が行われない。例えば、領域DAN−3として指定される領域を飛び越して次の処理がなされる。領域DAN−3の次は、RVDSが作成される。これは、上述したように、先に作成されたVRS、MVDSおよびLVISの情報が2度書きされる。RVDSが作成されて、ディスク1のフォーマット処理が完了される。
【0133】
図18は、この発明に適用することができるドライブ装置の一例の構成を示す。ここでは、上述したディスク1を記録層に相変化金属材料を用いたものとし、ドライブ装置は、レーザの出力を調節することで記録層に加える温度を制御して結晶/非結晶に状態を変えさせる相変化技術によって、ディスク1にデータの記録を行うものとする。
【0134】
ディスク1は、スピンドルモータ22によって、回転駆動される。ディスク1にデータを記録し、また、データをディスク1から再生するために、光ピックアップ23が設けられている。光ピックアップ23が送りモータ24によってディスク径方向に送られる。
【0135】
外部のホストコンピュータ30からのデータがインターフェイス29(例えばSCMS(Serial Copy Management System) )を介してドライブに供給される。インターフェイス29には、エンコーダ/デコーダブロック25が接続され、エンコーダ/デコーダブロック25には、バッファメモリ26が接続されている。バッファメモリ26は、ライトデータまたはリードデータを保持する。
【0136】
ライトデータがインターフェイス29を介してエンコーダ/デコーダブロック25に供給される。エンコーダ/デコーダブロック25では、記録時には、上述したフォーマットのデータを生成し、次にそのフォーマットに従ってデータをエンコードする。再生時には、デコード処理を行い、ディジタルデータをインターフェイス29を介してホストコンピュータ30に出力する。アドレスは、例えばエンコーダ/デコーダブロック25において、サブコードとして付加され、また、データ中のヘッダに対しても付加される。
【0137】
エンコーダ/デコーダブロック25からの記録データが記録イコライザ27を介してレーザドライバ28に供給される。レーザドライバ28では、ディスク1に対して記録データを記録するための所定のレベルを有するドライブ波形が生成される。レーザドライバ28の出力が光ピックアップ23に対して供給され、データが記録される。レーザドライバ28は、RF信号処理ブロック31内のAPC(Automatic Power Control) によって、上述したように、レーザパワーが適切なものに制御される。また、ディスク1からの戻り光により発生した信号がRF信号処理ブロック31に供給される。アドレス抽出回路32では、RF信号処理ブロックから供給された信号に基づき、アドレス情報の抽出を行う。抽出されたアドレス情報は、後述する制御用マイコン33に供給される。
【0138】
また、RF信号処理ブロック31では、マトリックスアンプがフォトディテクタの検出信号を演算することによって、トラッキングエラー信号TERR、フォーカスエラー信号FERRを生成する。トラッキングエラー信号、フォーカスエラー信号がサーボブロック34に供給される。
【0139】
制御用マイコン33がアドレスを使用してシーク動作を制御し、また、制御信号を使用してレーザパワーの制御等を行う。制御用マイコン33は、CPU(Central Processing Unit)、RAM(Random Access Memory)およびROM(Read Only Memory)などからなり、インターフェイス29、エンコーダ/デコーダブロック25、RF信号処理ブロック31、サーボブロック34等、ドライブの全体を制御する。また、制御用マイコン33に対してメモリ36が続される。
【0140】
さらに、制御用マイコン33によって、ディスク1のリードイン領域10に対するアクセスが制御される。上述した、リードイン領域内に記録されるシーケンスブロックが制御用マイコン33によって読み出される。読み出されたシーケンスブロックは、例えばメモリ36に記憶される。また、ディスク1のユーザデータ領域(領域DAN−3)に記録されたファイルのヘッダ情報が制御用マイコン33によって読み取られ、例えばメモリ36に記憶される。また、実施の第2の形態およびその変形例に示されるような、ディスク1に対して物理的に記されたメディア固有IDやPDLも、制御用マイコン33によって読み取られ、読み取られた情報がメモリ36に記憶される。
【0141】
上述したMAC演算部や比較部は、例えば制御用マイコン33においてソフトウェア的に構成される。勿論、MAC演算部や比較部をハードウェア的に別途、設けてもよい。MAC演算部により、メモリ36に記憶されたこれらの情報に基づき上述したようにMAC値などが生成され、データ改竄チェックなどの処理がなされる。
【0142】
ディスク1を再生することで得られるRF信号がエンコーダ/デコーダブロック25に供給され、エンコーダ/デコーダブロック25では、記録時に施された変調処理の復調、エラー訂正符号の復号(すなわち、エラー訂正)等の所定のフォーマットに準ずるデコードを行う。エンコーダ/デコーダブロック25では、再生データがバッファメモリ26に格納される。ホストコンピュータ30からのリードコマンドが受け付けられると、リードデータがインターフェイス29を介してホストコンピュータ30に対して転送される。
【0143】
RF信号処理ブロック31からのフレーム同期信号、トラッキングエラー信号およびフォーカスエラー信号と、アドレス抽出回路からのアドレス情報がサーボブロック34に供給される。サーボブロック34は、光ピックアップ23に対するトラッキングサーボおよびフォーカスサーボと、スピンドルモータ22に対するスピンドルサーボと、送りモータ24に対するスレッドサーボを行う。
【0144】
なお、上述では、ドライブ装置に対してホストコンピュータ30が接続されると説明したが、これはこの例に限定されない。ドライブ装置に接続される機器は、ディジタル信号の入出力を行いインターフェイスが適合していれば、他の機器でも良い。例えば、このドライブ装置は、例えば撮像画像をディスク状記録媒体に記録するようにされたカメラ付き携帯用ディジタルビデオレコーダに内蔵されるものとしても良い。
【0145】
上述では、ディスク1に対するフォーマットデータをエンコーダ/デコーダブロック25で生成するように説明したが、これはこの例に限定されない。フォーマットデータは、制御用マイコン33で生成することができる。また、フォーマットデータは、ホストコンピュータ30から供給するようにしても良い。
【0146】
【発明の効果】
以上説明したように、この発明によれば、ファイル毎のMAC値をディレクトリ単位でまとめて管理しているために、アプリケーションの仕様に応じて、データ改竄チェックに要する手続を最小限化できるという効果がある。特に、記録媒体にディスク状記録媒体を用いた場合に、ファイル毎のデータ改竄チェックを行う際のアクセス性を大幅に向上できる効果がある。
【0147】
また、この発明によれば、データ改竄チェックを行うデータ、すなわち、著作権を保護するデータがディレクトリ単位でまとめられるため、著作権の保護が必要ないデータに対するアクセス性を確保できる効果がある。またそのため、データ改竄チェック管理スペース、すなわちシーケンスブロックのサイズも最小限のものとすることができる効果がある。
【0148】
さらに、改竄チェック値(MAC値)のリストからある特手kのファイルに対応する値を検索する際に、対象となるディレクトリに対応したシーケンスページ内のMACエントリ数が検索の母数となるため、ディスク全体のMACエントリを母数とする場合に比べて検索効率を改善できる効果がある。
【0149】
さらにまた、改善チェック管理スペースであるシーケンスブロックのサイズが可変長とされているため、シーケンスブロックのサイズをファイルやディレクトリ数に応じた最小限のものにすることができ、スペース効率と検索効率とを改善できる効果がある。
【図面の簡単な説明】
【図1】ディスク記録媒体に新たにファイルが追加されたときの改竄チェック方法を概略的に示す一例の機能ブロック図である。
【図2】ディスク上である特定のファイルを再生/移動する場合や、システムにおいて改竄チェックが要求されたタイミングにおける一例の手続を示す機能ブロック図である。
【図3】実施の一形態による改竄チェック値のデータ構造を概略的に示す略線図である。
【図4】ディスクの一例の物理フォーマットを部分的に示す略線図である。
【図5】シーケンスブロックの一例の論理フォーマットを示す略線図である。
【図6】シーケンスページの一例の論理フォーマットを示す略線図である。
【図7】実施の一形態によるシーケンスブロックの更新手続きを示す略線図である。
【図8】救済措置を含めたシーケンスブロックの更新手続きの一例の処理を示すフローチャートである。
【図9】実施の第2の形態によるデータ改竄チェックを行うための基本的な処理を示す一例の機能ブロック図である。
【図10】実施の第2の形態によるデータ改竄チェック方法を示す一例の機能ブロック図である。
【図11】PDLの一例のデータ構造を示す略線図である。
【図12】実施の第2の形態の変形例によるデータ改竄チェックを行うための基本的な処理を示す一例の機能ブロック図である。
【図13】実施の第2の形態の変形例によるデータ改竄チェック方法を示す一例の機能ブロック図である。
【図14】この発明に適用できるディスク状記録媒体の論理フォーマットをディスクの形状に対応付けて示す略線図である。
【図15】ボリューム情報領域の一例の内容を示す略線図である。
【図16】ディスク状記録媒体でのディレクトリ、ファイルおよび空きエリアの管理方法について説明するための略線図である。
【図17】ディスク状記録媒体でのディレクトリ、ファイルおよび空きエリアの管理方法について説明するための略線図である。
【図18】この発明に適用することができるドライブ装置の一例の構成を示すブロック図である。
【符号の説明】
1・・・ディスク状記録媒体、10・・・リードイン領域、33・・・制御用マイコン、36・・・メモリ、114,232,242・・・シーケンスブロック

Claims (19)

  1. 記録媒体に記録されたデータが改竄されていないかどうかチェックするデータ改竄チェック装置において、
    1または複数のファイルをまとめた上位概念であるディレクトリに属する1または複数のファイルのそれぞれについて、ファイルの属性情報に基づき一意且つ逆演算による可逆性を持たない所定の演算方法で上記ファイル毎に演算された複数の第1の演算値を含むリスト型データ構造を、1または複数含むデータブロックが、記録媒体上のファイルシステムがアクセスしない領域に記録されると共に、上記第1の演算値が対応するファイルにそれぞれ書き込まれた記録媒体から、上記データブロックと上記ファイルとをそれぞれ読み出す読み出し手段と、
    上記読み出し手段によって読み出された上記ファイルの属性情報に基づき上記所定の演算方法で演算された第2の演算値と、上記読み出し手段によって読み出された上記データブロックのうち、上記読み出し手段によって読み出された該ファイルが属する上記ディレクトリに対応した上記リスト型データ構造に含まれる、該ファイルに対応した上記第1の演算値とを比較する比較手段と
    を有し、
    上記比較手段による比較結果に基づき、上記第2の演算値と上記第1の演算値とが一致しないときに、該ファイルが改竄されたと判断することを特徴とするデータ改竄チェック装置。
  2. 請求項1に記載のデータ改竄チェック装置において、
    上記記録媒体に記録される上記リスト型データ構造には、上記ディレクトリのそれぞれについて、該ディレクトリに属する全ての上記ファイルの上記第1の演算値を用いて上記所定の演算方法によって演算された第3の演算値がさらに含まれると共に、上記記録媒体に記録される上記データブロックには、該データブロックに含まれる上記リスト型データ構造の上記第3の演算値の全てを用いて上記所定の演算方法で演算された第4の演算値がさらに含まれることを特徴とするデータ改竄チェック装置。
  3. 請求項2に記載のデータ改竄チェック装置において、
    上記読み出し手段による上記記録媒体からの上記ファイルの読み出し時に、対象となる上記ディレクトリに対応する、上記読み出し手段によって読み出された上記データブロックに含まれる上記リスト型データ構造の上記第3の演算値と、上記対象となる上記ディレクトリに属する全ての上記ファイルの上記第1の演算値を用いて上記所定の演算方法で演算された第5の演算値とを比較し、比較結果に基づき上記第3および第5の演算値が一致しなければ、上記ディレクトリが改竄されたと判断することを特徴とするデータ改竄チェック装置。
  4. 請求項1に記載のデータ改竄チェック装置において、
    上記ファイルは、該ファイルの種類に応じて上記ディレクトリにまとめられることを特徴とするデータ改竄チェック装置。
  5. 請求項4に記載のデータ改竄チェック装置において、
    上記ファイルの種類がデータ改竄チェックを必要とされていないファイルを示すときには、該ファイルの種類が対応する上記ディレクトリに対する上記データ改竄チェックを行わないようにしたことを特徴とするデータ改竄チェック装置。
  6. 請求項4に記載のデータ改竄チェック装置において、
    上記ファイルの種類は、該ファイルに格納されるデータ内容に基づくことを特徴とするデータ改竄チェック装置。
  7. 請求項4に記載のデータ改竄チェック装置において、
    上記ファイルの種類は、該ファイルに対する保護の有無に基づくことを特徴とするデータ改竄チェック装置。
  8. 請求項1に記載のデータ改竄チェック装置において、
    記録媒体にデータを記録する記録手段をさらに有し、
    上記データブロックは、該データブロックの更新回数または該データブロックが無効であることを示す値が格納されるフィールドを有し、上記記録手段は、上記データブロックをファイルシステムがアクセスしない領域に2重書きし、該データブロックが書き替えられる際に、該2重書きされた一方のデータブロックの上記フィールドの値を上記データブロックが無効であることを示す値にして該一方のデータブロックを書き替え、該書き替えが終了したら、該一方のデータブロックの上記フィールドの値を該一方のデータブロックの更新回数を示す値にすると共に、上記2重書きされた他方のデータブロックの上記フィールドの値を上記データブロックが無効であることを示す値にして該他方のデータブロックを書き替え、該書き替えが終了したら、該他方のデータブロックの上記フィールドの値を該他方のデータブロックの更新回数を示す値とするようにしたことを特徴とするデータ改竄チェック装置。
  9. 請求項1に記載のデータ改竄チェック装置において、
    上記第1の演算値は、対応するファイルがファイルシステムで構築される木構造の探索順に並べられて上記リスト型データ構造に格納されることを特徴とするデータ改竄チェック装置。
  10. 記録媒体に記録されたデータが改竄されていないかどうかチェックするデータ改竄チェック方法において、
    1または複数のファイルをまとめた上位概念であるディレクトリに属する1または複数のファイルのそれぞれについて、ファイルの属性情報に基づき一意且つ逆演算による可逆性を持たない所定の演算方法で上記ファイル毎に演算された複数の第1の演算値を含むリスト型データ構造を、1または複数含むデータブロックが、記録媒体上のファイルシステムがアクセスしない領域に記録されると共に、上記第1の演算値が対応するファイルにそれぞれ書き込まれた記録媒体から、上記データブロックと上記ファイルとをそれぞれ読み出す読み出しのステップと、
    上記読み出しのステップによって読み出された上記ファイルの属性情報に基づき上記所定の演算方法で演算された第2の演算値と、上記読み出しのステップによって読み出された上記データブロックのうち、上記読み出しのステップによって読み出された該ファイルが属する上記ディレクトリに対応した上記リスト型データ構造に含まれる、該ファイルに対応した上記第1の演算値とを比較する比較のステップと
    を有し、
    上記比較のステップによる比較結果に基づき、上記第2の演算値と上記第1の演算値とが一致しないときに、該ファイルが改竄されたと判断することを特徴とするデータ改竄チェック方法。
  11. 1または複数のファイルをまとめた上位概念であるディレクトリを有するファイル構造でデータが記録される記録媒体において、
    1または複数のファイルをまとめた上位概念であるディレクトリに属する1または複数のファイルのそれぞれについて、ファイルの属性情報に基づき一意且つ逆演算による可逆性を持たない所定の演算方法で上記ファイル毎に演算された複数の第1の演算値を含むリスト型データ構造を1または複数含むデータブロックが、ファイルシステムがアクセスしない領域に2重に書き込まれ、2重に書き込まれた上記データブロックが異なるタイミングで更新されることを特徴とする記録媒体。
  12. 請求項11に記載の記録媒体において、
    上記リスト型データ構造には、上記ディレクトリのそれぞれについて該ディレクトリに属する全ての上記ファイルの上記第1の演算値を用いて上記所定の演算方法によって演算された第2の演算値がさらに含まれると共に、上記データブロックには、該データブロックに含まれる全ての上記リスト型データ構造の上記第2の演算値を用いて上記所定の演算方法で演算された第3の演算値がさらに含まれることを特徴とする記録媒体。
  13. 請求項11に記載の記録媒体において、
    上記ファイルは、該ファイルの種類に応じて上記ディレクトリにまとめられることを特徴とする記録媒体。
  14. 請求項13に記載の記録媒体において、
    上記ファイルの種類は、該ファイルに格納されるデータ内容に基づくことを特徴とするデータ改竄チェック装置。
  15. 請求項13に記載の記録媒体において、
    上記ファイルの種類は、該ファイルに対する保護の有無に基づくことを特徴とする記録媒体。
  16. 請求項11に記載の記録媒体において、
    上記データブロックの更新回数または該データブロックが無効であることを示す値が格納されるフィールドを有し、該データブロックが書き替えられる際に、該2重書きされた一方のデータブロックの上記フィールドの値を上記データブロックが無効であることを示す値にして該一方のデータブロックを書き替え、該書き替えが終了したら、該一方のデータブロックの上記フィールドの値を該一方のデータブロックの更新回数を示す値にすると共に、上記2重書きされた他方のデータブロックの上記フィールドの値を上記データブロックが無効であることを示す値にして該他方のデータブロックを書き替え、該書き替えが終了したら、該他方のデータブロックの上記フィールドの値を該他方のデータブロックの更新回数を示す値とするようにしたことを特徴とする記録媒体。
  17. 請求項11に記載の記録媒体において、
    上記データブロックのサイズは、該データブロックが記録される記録媒体上に存在する上記ディレクトリの数に応じて可変長とされることを特徴とする記録媒体。
  18. 請求項11に記載の記録媒体において、
    上記リスト型データ構造は、該リスト型データ構造が対応する上記ディレクトリに属する上記ファイル数に応じて可変長とされることを特徴とする記録媒体。
  19. 請求項11に記載の記録媒体において、
    上記第1の演算値は、対応するファイルがファイルシステムで構築される木構造の探索順に並べられて上記リスト型データ構造に格納されることを特徴とする記録媒体。
JP2000266100A 2000-09-01 2000-09-01 データ改竄チェック装置および方法、ならびに、記録媒体 Expired - Fee Related JP4352600B2 (ja)

Priority Applications (7)

Application Number Priority Date Filing Date Title
JP2000266100A JP4352600B2 (ja) 2000-09-01 2000-09-01 データ改竄チェック装置および方法、ならびに、記録媒体
US09/944,749 US6934847B2 (en) 2000-09-01 2001-08-31 Data alteration checking apparatus and method and recording medium
KR1020010053715A KR100811366B1 (ko) 2000-09-01 2001-09-01 데이터 재생 장치, 데이터 기록 장치, 데이터 개찬 체크 방법 및 장치, 데이터 개찬 체크 시스템
DE60139370T DE60139370D1 (de) 2000-09-01 2001-09-03 Vorrichtung und Verfahren zur Überprüfung einer Veränderung von Daten und Aufzeichungsmedium
EP06022364A EP1777705A2 (en) 2000-09-01 2001-09-03 Data alteration checking apparatus and method and recording medium
EP01307487A EP1184774B1 (en) 2000-09-01 2001-09-03 Data alteration checking apparatus and method and recording medium
US11/158,837 US7076662B2 (en) 2000-09-01 2005-06-22 Data alteration checking apparatus and method and recording medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2000266100A JP4352600B2 (ja) 2000-09-01 2000-09-01 データ改竄チェック装置および方法、ならびに、記録媒体

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2007073987A Division JP4333758B2 (ja) 2007-03-22 2007-03-22 データ再生装置およびデータ記録装置、ならびに、データ改竄チェック方法、データ改竄チェック装置およびデータ改竄チェックシステム

Publications (2)

Publication Number Publication Date
JP2002074832A JP2002074832A (ja) 2002-03-15
JP4352600B2 true JP4352600B2 (ja) 2009-10-28

Family

ID=18753252

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000266100A Expired - Fee Related JP4352600B2 (ja) 2000-09-01 2000-09-01 データ改竄チェック装置および方法、ならびに、記録媒体

Country Status (5)

Country Link
US (2) US6934847B2 (ja)
EP (2) EP1184774B1 (ja)
JP (1) JP4352600B2 (ja)
KR (1) KR100811366B1 (ja)
DE (1) DE60139370D1 (ja)

Families Citing this family (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4352600B2 (ja) * 2000-09-01 2009-10-28 ソニー株式会社 データ改竄チェック装置および方法、ならびに、記録媒体
JP4300705B2 (ja) * 2000-12-05 2009-07-22 ソニー株式会社 データ転送システム、データ転送装置、データ転送方法、記録媒体
JP2003132622A (ja) * 2001-10-22 2003-05-09 Victor Co Of Japan Ltd 記録装置、再生装置及び記録媒体
DE10217862A1 (de) * 2002-04-22 2003-11-13 Fraunhofer Ges Forschung Verfahren zur Kennzeichnung einer virtuellen Ware und Vorrichtung zur Bereitstellung einer Kennzeichnung für eine virtuelle Ware
JP2004303381A (ja) * 2003-04-01 2004-10-28 Hitachi Ltd 光ディスクの記録方法、再生方法
US20050152251A1 (en) * 2004-01-08 2005-07-14 Victor Company Of Japan, Ltd. Method and apparatus for recording check data of file system on recording medium
EP1580644A3 (en) * 2004-03-15 2005-11-09 Yamaha Corporation Electronic musical apparatus for recording and reproducing music content
JP4739708B2 (ja) * 2004-08-25 2011-08-03 株式会社日立製作所 放送番組の記録方法及び放送受信装置、並びに、そのための情報記録装置
US20060136746A1 (en) * 2004-12-18 2006-06-22 Al-Khateeb Osama O M Security system for preventing unauthorized copying of digital data
US8522048B2 (en) * 2005-04-14 2013-08-27 Sandisk Il Ltd. Content delivery system
JP2006059525A (ja) * 2005-09-09 2006-03-02 Hitachi Ltd 光ディスクの記録方法、再生方法
US20070136517A1 (en) * 2005-11-29 2007-06-14 Quantum Corporation Use of directory revision number to validate directory
WO2007128419A1 (en) * 2006-05-10 2007-11-15 Nero Ag Apparatus for writing information on a data content on a storage medium
EP1855284A2 (en) 2006-05-10 2007-11-14 Nero AG Apparatus for writing data and redundancy data on a storage medium
US8301906B2 (en) 2006-05-10 2012-10-30 Nero Ag Apparatus for writing information on a data content on a storage medium
JP4460011B2 (ja) 2008-05-27 2010-05-12 国立大学法人広島大学 動画像配信システム、動画像配信方法、動画像配信システムにおけるサーバおよび動画像配信システムにおけるユーザ端末
KR101614950B1 (ko) 2010-04-12 2016-04-25 삼성전자주식회사 저장 장치에 물리적 식별자를 생성하는 방법 및 기계로 읽을 수 있는 저장 매체
WO2012153485A1 (ja) * 2011-05-09 2012-11-15 パナソニック株式会社 端末装置、コンテンツ記録システム、タイトル鍵記録方法及びコンピュータプログラム
US8879594B2 (en) * 2012-11-01 2014-11-04 Broadcom Corporation Efficient power control for an automatic laser driver
US10348821B2 (en) * 2012-12-21 2019-07-09 Dropbox, Inc. Prioritizing structural operations and distributing changes in a synced online content management system
US9594583B2 (en) * 2013-11-12 2017-03-14 Red Hat, Inc. Lightweight snapshots for virtual disks
CN105303117B (zh) * 2015-09-17 2019-04-09 中国科学院数据与通信保护研究教育中心 一种sm2算法程序的检测方法和系统
CN113556231B (zh) * 2021-06-16 2024-04-09 南京南瑞继保工程技术有限公司 基于iec61850控制模型的控制信息安全鉴别方法

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5664788A (en) * 1979-10-27 1981-06-02 Unitika Ltd Method for imparting enzyme activity to solid surface
US4888798A (en) * 1985-04-19 1989-12-19 Oms, Inc. Modular software security
GB8704883D0 (en) 1987-03-03 1987-04-08 Hewlett Packard Co Secure information storage
JP2942837B2 (ja) * 1992-01-31 1999-08-30 株式会社セガ・エンタープライゼス セキュリティチェック方法及びゲーム装置並びにそれらに用いられる情報記憶媒体
US5343527A (en) * 1993-10-27 1994-08-30 International Business Machines Corporation Hybrid encryption method and system for protecting reusable software components
NL9400222A (nl) 1994-02-11 1995-09-01 Seerp Westra Werkwijze voor zgn. bewijsvergrendeling.
US6011847A (en) * 1995-06-01 2000-01-04 Follendore, Iii; Roy D. Cryptographic access and labeling system
KR980011034A (ko) * 1996-07-15 1998-04-30 구자홍 복제 제한 디스크와 복제 제한 디스크 기록/재생장치 및 그의 제어방법
US5995624A (en) * 1997-03-10 1999-11-30 The Pacid Group Bilateral authentication and information encryption token system and method
JP3748155B2 (ja) 1997-11-14 2006-02-22 富士通株式会社 改ざん防止/検出機能を有するファイル管理システム
US6122738A (en) 1998-01-22 2000-09-19 Symantec Corporation Computer file integrity verification
JP3941225B2 (ja) * 1998-05-28 2007-07-04 ソニー株式会社 情報再生・記録装置
JP2000286839A (ja) 1999-03-31 2000-10-13 Ricoh Co Ltd 情報記録装置、真正性検証方法およびその方法をコンピュータに実行させるプログラムを記録したコンピュータ読み取り可能な記録媒体
JP4352600B2 (ja) * 2000-09-01 2009-10-28 ソニー株式会社 データ改竄チェック装置および方法、ならびに、記録媒体

Also Published As

Publication number Publication date
EP1777705A2 (en) 2007-04-25
JP2002074832A (ja) 2002-03-15
KR100811366B1 (ko) 2008-03-10
US7076662B2 (en) 2006-07-11
EP1184774B1 (en) 2009-07-29
US6934847B2 (en) 2005-08-23
KR20020018631A (ko) 2002-03-08
US20050246392A1 (en) 2005-11-03
US20020064281A1 (en) 2002-05-30
EP1184774A1 (en) 2002-03-06
DE60139370D1 (de) 2009-09-10

Similar Documents

Publication Publication Date Title
US7076662B2 (en) Data alteration checking apparatus and method and recording medium
JP4416914B2 (ja) データ記憶媒体によりドライブに制御情報を提供する方法
JP5095895B2 (ja) ディスク状記録媒体にファイルを即時書き込み又は読出しする方法
US6490683B1 (en) Optical disk having electronic watermark, reproducing apparatus thereof and copy protecting method using the same
US5210734A (en) Information management method for appendage type additional information recording medium
EP0634741B1 (en) Recording medium, method of controlling same, and system utilizing electronic publications
JP4300669B2 (ja) 記録方法および装置、ならびに、記録媒体
JP4285375B2 (ja) 記録再生装置、記録再生方法、並びにプログラム
TW200416540A (en) Entry point for digital rights management data
JP4352601B2 (ja) データ改竄チェック方法および装置、ならびに、記録媒体
KR100927282B1 (ko) 기록 방법, 기록 장치 및 기록 매체
JP3636987B2 (ja) データ記録方法,書き換え可能領域のデータの消去方法,書き換え可能型コンパクトディスクの書き換え可能領域のデータ消去方法及び再生専用データの消去方法
JP4333758B2 (ja) データ再生装置およびデータ記録装置、ならびに、データ改竄チェック方法、データ改竄チェック装置およびデータ改竄チェックシステム
US20060239144A1 (en) Access method, access device, information recording medium
US7366744B2 (en) File management device and file management method
JP2001291366A (ja) 記録方法および装置、ならびに、記録媒体
JP3707396B2 (ja) 記録方法および記録装置
JP3707400B2 (ja) 記録方法および記録装置
JP2002117548A (ja) 情報記録媒体及び情報記録媒体の記録再生方法
JP3992850B2 (ja) 情報記録再生装置
RU2303822C2 (ru) Способ записи данных на носитель записи
JP2001229019A (ja) 不正コピー防止記録媒体
KR100709656B1 (ko) 기록 장치 및 기록 방법
JP2000215613A (ja) 光記録媒体
JP2005196881A (ja) データ記録方法及びデータ記録装置、並びに記録媒体

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20070226

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20080703

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080715

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080916

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090224

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090417

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20090707

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20090720

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120807

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130807

Year of fee payment: 4

LAPS Cancellation because of no payment of annual fees