JP2003085010A - 記録装置、記録媒体、プログラム、方法 - Google Patents

記録装置、記録媒体、プログラム、方法

Info

Publication number
JP2003085010A
JP2003085010A JP2002196318A JP2002196318A JP2003085010A JP 2003085010 A JP2003085010 A JP 2003085010A JP 2002196318 A JP2002196318 A JP 2002196318A JP 2002196318 A JP2002196318 A JP 2002196318A JP 2003085010 A JP2003085010 A JP 2003085010A
Authority
JP
Japan
Prior art keywords
file
key
area
entry
flag
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.)
Granted
Application number
JP2002196318A
Other languages
English (en)
Other versions
JP3981303B2 (ja
Inventor
Shinichi Matsui
真一 松居
Naohiko Noguchi
直彦 野口
Mitsuhiro Sato
光弘 佐藤
Takashi Shimojima
崇 下島
Kiichi Hasegawa
喜一 長谷川
Norio Nakamura
典夫 中村
Kazuya Fujimura
一哉 藤村
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.)
Panasonic Holdings Corp
Original Assignee
Matsushita Electric Industrial Co Ltd
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 Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Priority to JP2002196318A priority Critical patent/JP3981303B2/ja
Publication of JP2003085010A publication Critical patent/JP2003085010A/ja
Application granted granted Critical
Publication of JP3981303B2 publication Critical patent/JP3981303B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Landscapes

  • Storage Device Security (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

(57)【要約】 【課題】 複数のファイルに虫食い状に発生する空き領
域に対して、高速にセキュアなデータを書き込むことが
できる記録装置を提供する。 【解決手段】 Key&Rule Entryを複数有したEPUBxxx.KE
Yが複数記録されたSDメモリカードについての記録装置
であり、データ書き込みに先立って、SD_EPUB.MMGを記
録媒体から読み取る。このSD_EPUB.MMGは、各EPUBxxx.K
EYの状態が、未使用のKey&Rule Entryを1つ以上有して
いるか、全てのKey&Rule Entryが使用中であるかを示
す。記録装置は、読み取られたSD_EPUB.MMGに基づき、
未使用Key&Rule Entryを有するEPUB#u.KEYをオープン
し、そのファイル内部の未使用Key&Rule Entryにデータ
を書き込む。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】 本発明は、暗号鍵、権利管
理情報、課金情報といったセキュアなデータを、SDメモ
リカード等の記録媒体に書き込む記録装置、記録媒体、
プログラム、方法に関する。
【0002】
【従来の技術】 上述したSD(Secure digital)メモリカ
ードは、コンテンツ配信サービスにより配信されたコン
テンツやセキュアデータの受け皿として用いられる記録
媒体である。そればかりか、SDメモリカードは、高い機
密性をもって、配信されたセキュアデータを格納してお
くことができる。この機密性の高さから、配信サービス
の運営業者は、SDメモリカードに対して厚い信頼を寄せ
つつある。機密性担保のためのSDメモリカードの構成に
ついて簡単に説明する。SDメモリカードは、コンテンツ
を暗号化した状態のまま記録するユーザデータ領域(i)
と、コンテンツに対応するセキュアなデータを記録する
プロテクト領域(ii)とを備える。ユーザデータ領域は、
SDメモリカードに接続された機器が自由にアクセスする
ことができる領域である。一方プロテクト領域は、SDメ
モリカードと機器との間の相互認証が成功しなければア
クセスすることができない。この相互認証をクリアする
ことができるのは、配信サービスの運営業者からコンテ
ンツのライセンス管理を委託された機器であり、不正な
機器によるアクセスは、相互認証の段階で拒絶されるの
で、セキュアデータの機密性は保たれる。
【0003】ところでアクセスに相互認証が必要である
とはいえ、半導体メモリカードの一領域である以上、プ
ロテクト領域の領域管理はファイルシステムによりなさ
れる。代表的なファイルシステムである、FAT型ファイ
ルシステムでの1つのファイルは、"クラスタ"と呼ばれ
る単位で管理される。一方セキュアデータは、重要な価
値をもつものの、サイズは16バイト,64バイトというよ
うに小サイズであり、"クラスタ"と比較して、数百分の
一程度の大きさに過ぎない。サイズの違いがあまりにも
大きいので、1つのセキュアなデータを1つのファイルに
格納するという格納方式をとると、領域の利用効率が非
常に落ちるという問題点が生ずる。
【0004】そこで考えられるのは、複数のセキュアな
データを、束ねて1つのファイルに格納するという格納
方式である。
【0005】
【発明が解決しようとする課題】しかしながら複数のセ
キュアなデータを1ファイルに格納するという格納方式
は、歳月が経つにつれ、フラグメンテーションの発生
(虫食い状の空き領域発生)に苛まれるという問題点があ
る。配信サービスにて配信されるコンテンツの受け皿と
して、長きにわたりSDメモリカードを使用していると、
SDメモリカードには多くのセキュアなデータが記録され
る。それにつれセキュアなデータを収録するファイルも
数を増す。一方、ファイルに収録されるセキュアなデー
タは、対応するコンテンツの陳腐化に伴い、削除される
という運命を辿る。SDメモリカードの容量は、制限され
ていることが多く、新たなコンテンツの記録にあたって
は、削除により得られた空き領域を記録先とするのが望
ましい。ところが1つのファイルに複数セキュアなデー
タを格納するという格納方式では、空き領域は複数ファ
イルに虫食い状に出現するので、セキュアなデータを書
き込むにあたって、どのファイルに空き領域が存在する
のかを探し当てるという探索が必要となる。一方、プロ
テクト領域内のファイルアクセスにあたっては、機器と
SDメモリカードとの相互認証が必要であり、この相互認
証がオーバヘッドになって、ファイルアクセスの完遂ま
での時間を長引かせる。個々のファイルオープンにオー
バヘッドが存在するため、空き領域をもったファイルを
探索するという作業に時間を費してしまい、データの書
き込み完遂までに、長時間を要するという問題がある。
【0006】本発明の目的は、複数のファイルに虫食い
状に発生する空き領域に対して、高速にセキュアなデー
タを書き込むことができる記録装置を提供することであ
る。
【0007】
【課題を解決するための手段】複数ファイル内に生じた
空き領域を解消するには、ガーベッジコレクション処理
(ファイル断片化の解消処理)を施し、空き領域を詰めて
ゆけばよいように思える。しかしこのような断片化解消
には、ファイルの読み書きが多く伴う。一方、SDメモリ
カードを始めとする半導体メモリカードは、フラッシュ
メモリを内蔵しており、フラッシュメモリは、その書き
換え回数が何十万回というように制限されているため、
空き領域が1つ2つ発生するという理由でガーベッジコレ
クション処理を施すのは、SDメモリカードの寿命をちぢ
めてしまい、望ましくない。ガーベッジコレクション処
理を施せないのなら、複数のファイルに虫食い状に発生
する空き領域を書き込み先に選ぶしかない。
【0008】上記目的は、各ファイルが、未使用のエン
トリー領域を1つ以上有している第1状態であるか、又
は、全てのエントリー領域が使用中である第2状態であ
るかを示す状態情報を記録媒体から読み取る読取手段
と、読み取られた状態情報を参照して、第1状態にある
ファイルを特定し、特定されたファイル内部の未使用エ
ントリー領域にデータを書き込む書込手段と、データの
書き込みにより、ファイル内のエントリー領域が全て使
用中となれば、そのファイルが第2状態になった旨を示
すよう、記録媒体上の状態情報を更新する更新手段とを
備える記録装置により達成される。
【0009】
【発明の実施の形態】(第1実施形態)以降、本発明に
係る記録媒体の実施形態について、図面を参照しながら
説明する。本実施形態では、説明の対象とする記録媒体
にSDメモリカードを選んでいる。何故ならSDメモリカー
ドは、セキュアなデータを高い機密性をもって格納する
ことができ、本発明の特徴の説明に適しているからであ
る。
【0010】本図におけるSDメモリカード100は図1
(a)に示すような外観形状を有し、長さ32.0 mm、幅2
4.0 mm、厚さ2.1 mmといった大きさ(切手サイズの大き
さ)なので、ユーザはこのSDメモリカード100を指先
で把持することができる。SDメモリカード100には、
機器との接続のための9本のコネクタが設けられてお
り、側面には、記憶内容の上書きを許可するか禁止する
かを操作者が設定することができるプロテクトスイッチ
101が設けられている。
【0011】図1(b)は、SDメモリカード100の階
層構造を示す図である。本図に示すように、SDメモリカ
ード100の階層構造は、コンテンツと、これに対応す
る暗号鍵、権利管理情報をセキュアに格納するよう構成
された物理層、FAT(FAT:File Allocation Table, ISO/
IEC 9293)に基づき、クラスタを最小単位としてアクセ
スされるファイルシステム層、著作物を構成する暗号化
コンテンツ、セキュアなデータが格納される応用層から
なる。
【0012】図1(c)は、SDメモリカード100にお
ける物理層の構成を示す図である。本図に示すように、
SDメモリカード100の物理層は、システム領域1、Hi
dden領域2、プロテクト領域3、AKE処理部4、AKE処理
部5、Ks復号化部6、Ks暗号化部7、ユーザデータ領域
8からなる。システム領域1は、Media Key Block(MKB)
と、Media-IDとを格納した読出専用領域であり、ここに
格納されたMKB、Media-IDを書き換えることはできな
い。SDメモリカード100が他の機器と接続され、MKB
とMedia-IDとが他の機器により読み出された場合、これ
らを読み出した他の機器が、MKB、Media-IDと、自身が
所持しているデバイス鍵Kdとを用いて所定の演算を正し
く行えば、他の機器は正しい暗号鍵Kmuを所持すること
ができる。
【0013】Hidden領域2は、正解値となる暗号鍵Km
u、即ち、他の機器が正常なデバイス鍵Kdを用いて正常
な演算を行なった場合、得られるべき暗号鍵Kmuを格納
している領域である。プロテクト領域3は、EEPROM等の
不揮発メモリ上の一領域であり、暗号鍵及び権利管理情
報等、セキュアなデータが格納される。
【0014】Authentication and Key Exchange(AKE)
処理部4、AKE処理部5は、機器とSDメモリカード10
0との間でチャレンジ・レスポンス型の相互認証を行っ
て、相手側の正当性を認証し、相手側が不当であれば処
理を中断するが、相手側が正当であれば機器とSDメモリ
カード100との間で暗号鍵(セッション鍵Ks)を共有
する。機器による認証は3つのフェーズ(機器側で乱数
を発生させ、得られた乱数をKmuを用いて暗号化して、
チャレンジ値AとしてSDメモリカード100に送信するC
hallenge1フェーズ、SDメモリカード100側でこのチ
ャレンジ値AをSDメモリカード100内のKmuを用いて復
号化し、得られた値をレスポンス値Bとして機器に送信
するResponse1フェーズ、機器側で保持していたチャレ
ンジ値Aを機器側のKmuで復号化して、SDメモリカード1
00から送信されたレスポンス値Bと比較するVerify1フ
ェーズ)からなる。
【0015】SDメモリカード100による認証は3つの
フェーズ(SDメモリカード100で乱数を発生させ、得
られた乱数をKmuを用いて暗号化して、この値をチャレ
ンジ値Cとして機器に送信するChallenge2フェーズ、機
器側においてこのチャレンジ値Cを機器内のKmuを用いて
復号化し、得られた値をレスポンス値DとしてSDメモリ
カード100に送信するResponse2フェーズ、SDメモリ
カード100側で保持していたチャレンジ値CをSDメモ
リカード100側のKmuで復号化して、機器から送信さ
れたレスポンス値Dと比較するVerify2フェーズ)からな
る。
【0016】この際、他の機器が不正な暗号鍵Kmuを用
いて相互認証を行えば、フェーズVerify1,2において、
チャレンジ値Aとレスポンス値Bとの不一致、チャレンジ
値Cとレスポンス値Dとの不一致が判定され、相互認証が
中断することなる。逆に相手側の正当性が認証されれ
ば、AKE処理部4、AKE処理部5は、上述したチャレンジ
値Aと、チャレンジ値Cとの排他的論理和をとり、これを
Kmuにて暗号化することにより、セッション鍵Ksを得
る。
【0017】Ks復号化部6は、SDメモリカード100と
接続された他の機器から、プロテクト領域に書き込むべ
きセキュアなデータであって、暗号化されたものが出力
された場合、セキュアなデータがセッション鍵Ksを用い
て暗号化されているものとして、セッション鍵Ksを用い
ることにより復号を行う。そうして復号により得られた
セキュアなデータが本来のセキュアなデータであるとし
て、プロテクト領域に書き込む。
【0018】Ks暗号化部7は、SDメモリカード100と
接続された他の機器から、セキュアなデータを読み出す
旨のコマンドが出力されると、セッション鍵Ksを用いて
プロテクト領域に格納されているセキュアなデータを暗
号化した後に、そのコマンドを発行した他の機器に出力
する。ユーザデータ領域8も、プロテクト領域3同様、
EEPROM等の不揮発メモリ上の一領域である。プロテクト
領域3との違いは、機器の正当性が認証されるか否かに
拘らず、当該機器によりアクセスされる点である。ユー
ザデータ領域8には、暗号化コンテンツが格納される。
プロテクト領域から読み出された暗号鍵が正しい値であ
れば、ここに格納されている暗号化コンテンツは正しく
復号されることなる。プロテクト領域に対するデータ読
み書きには、Ks復号化部6による復号化と、Ks暗号化部
7による暗号化とが伴うので、プロテクト領域3は、SD
メモリカード100と接続している機器がAKEプロセス
を正しく行った場合のみ、当該機器により正規にアクセ
スされることなる。
【0019】続いて、本実施形態に係るSDメモリカード
がどのようなファイル構成、ディレクトリ構成を有して
いるかについて説明する。図2は、SDメモリカードが具
備している、ユーザデータ領域及びプロテクト領域のフ
ァイル構成、ディレクトリ構成を示す図である。本実施
形態においてSDメモリカードは、配信サービスにより配
信されたコンテンツを、記録するという目的に用いられ
る。この配信されるコンテンツは、電子出版物であるも
のとする。図2における"SD_EPUB"は、SDメモリカード
に記録されるべきコンテンツが電子出版物であることを
意味している。電子出版物には、週刊誌タイプ、日刊紙
タイプのものがある。週刊誌タイプ、日刊紙タイプの電
子出版物は、一週間置き、一日置きに新たなコンテンツ
が配信されるので、電子出版物は、陳腐化のスピード
が、音楽等のコンテンツと比べて極端に早いという特色
がある。また出版物の配信では、出版物の記事や章・
節、頁毎に、異なる暗号鍵での暗号化が施され、独立し
た暗号化コンテンツとして取り扱われることも多々あ
る。記事や章・節、頁が独立したコンテンツになるな
ら、一度に配信されるコンテンツの数が30,40になり、S
Dメモリカードに記録しておくべきコンテンツの数が極
端に多いという特色がある。これらのことから、本実施
形態に係るSDメモリカードは、コンテンツの削除や、新
たなコンテンツの書き込みが高頻度に行われることにな
る。
【0020】続いてプロテクト領域のファイル構造、デ
ィレクトリ構造について説明する。図2の右側に示すよ
うに、プロテクト領域のディレクトリ構造は、ルートデ
ィレクトリの直下に、"SD_EPUB"というサブディレクト
リを配するというものであり、このサブディレクトリ"S
D_EPUB"には、マスター管理ファイル"SD_EPUB.MMG"と、
セキュアデータ格納ファイル"EPUB001.KEY","EPUB002.K
EY","EPUB003.KEY"とが配置される。図2の左側に、ユ
ーザデータ領域のディレクトリ構造を示す。本図におけ
るユーザデータ領域の"SD_EPUB"ディレクトリには、暗
号化されたコンテンツ"Content001","Content002","Con
tent003","Content004"が配置されている。"SD_EPUB"デ
ィレクトリ配下のサブディレクトリには、暗号化コンテ
ンツ"Content005","Content006","Content007"が配置さ
れている。
【0021】先ずセキュアデータの格納ファイルについ
て説明する。セキュアデータ格納ファイルは、それぞれ
EPUB001.KEY,EPUB002.KEY,EPUB003.KEYといったファイ
ル名が付されている。EPUB001.KEY,EPUB002.KEY,EPUB00
3.KEYにおける"001","002","003"というシリアル番号
は、プロテクト領域においてそのファイルを一意に示す
ファイル番号である。
【0022】尚、以降の説明において任意のファイル番
号xxxにて特定されるセキュアデータ格納ファイル(任意
のセキュアデータ格納ファイル)を"EPUBxxx.KEY"と表記
する。"EPUBxxx.KEY"のうち、"001","002","003"といっ
たファイル番号で指示されるものは、ファイル番号を組
み込んだファイル名"EPUB001.KEY,EPUB002.KEY,EPUB00
3.KEY"にて表記する。
【0023】図3は、EPUBxxx.KEYの内部構成を示す図
である。図3に示すようにEPUBxxx.KEYは、nビットのビ
ットマップと、n個のKey&Rule Entryとからなる。Key&R
ule Entry#1,#2,#3,#4・・・・・は、ユーザデータ領域に記
録された複数の暗号化コンテンツのそれぞれと1対1に対
応しており、対応するコンテンツについての暗号鍵や権
利管理情報といったセキュアなデータが書き込まれる固
定長の領域である。権利管理情報は、利用条件(Usage R
ule)とも呼ばれる。コンテンツをどのように利用するか
という条件を設定することにより、コンテンツについて
の著作権管理を行うのが、この権利管理情報である。本
実施形態においてコンテンツは出版物であるので、その
利用には、出版物の再生やコピーといったものがある。
暗号鍵は、コンテンツの再生といった利用を行う際、一
旦コンテンツの暗号化を解くための情報である。これら
暗号鍵及び権利管理情報は、コンテンツについての著作
権管理を実現する上で、高い機密性が求められるので、
暗号化された状態でKey&Rule Entryに記録されている。
この暗号化がなされる都合上、暗号鍵及び権利管理情報
の組みは、暗号化方式に基づく固定長の大きさ(例えば1
6バイト、32バイト、64バイト)になっている。暗号鍵及
び権利管理情報の大きさが、固定長であるので、Key&Ru
le Entryは、固定長に定められている。
【0024】図3においてKey&Rule Entryに付された、
#1,#2,#3,#4・・・・・#nといった番号は、ファイル内のロー
カルな番号である。図4は、これら複数のKey&Rule Ent
ryと、ユーザデータ領域における複数のコンテンツとの
対応関係を示す図である。本図における矢印AK1,AK2,AK
3は、コンテンツとKey&Rule Entryとの対応関係を象徴
的に示している。即ち、ユーザデータ領域におけるCont
ent001は『Key&Rule Entry#1』に格納されているセキュ
アなデータと対応しており、Content002は、『Key&Rule
Entry#2』に格納されたセキュアなデータ、Content003
は『Key&Rule Entry#3』に格納されたセキュアなデータ
に対応していることを示す。上述したように、本実施形
態では配信された電子出版物の記録に用いられるという
性格上、コンテンツの陳腐化は早い。そのため、各コン
テンツに対応するKey&Rule Entryが、空き領域になった
り、新たなセキュアなデータが書き込まれる頻度も高
い。
【0025】nビットのビットマップは、各Key&Rule En
tryの状態管理のために導入された情報であり、各Key&R
ule Entryに割り当てられた1ビットのフラグをn個配置
してなる。図5は、EPUBxxx.KEY内のビットマップの一
例を示す図である。本図のビットマップにおいて、先頭
からvビット目のフラグ(1≦v≦n)は、EPUBxxx.KEYにお
けるv個目のKey&Rule Entryの状態を示す。v個目のKey&
Rule Entryは、ローカル番号vにより特定されるKey&Rul
e Entryであり、以降Key&Rule Entry"#v"と称す。vビッ
ト目のフラグの値が"1"であるなら、Key&Rule Entry#v
は、セキュアなデータが記録済みであり、"使用中"であ
ることを意味する。vビット目のフラグの値が"0"である
なら、Key&Rule Entry#vは、セキュアなデータが未記録
であるか、又は削除済みであり、"未使用(空き)"である
ことを示す。ビットマップの先頭に最も近い位置にある
値"0"のフラグを探索し、この値"0"のフラグのビット位
置をvビット目として、v番目のKey&Rule Entry#vにセキ
ュアなデータを書き込めば、空き領域という隙間を詰め
るようにセキュアなデータが書き込まれてゆく。
【0026】EPUBxxx.KEY内のビットマップの具体的な
設定例について説明する。この設定例で想定するのは、
図6に示すような事例である。この事例では、プロテク
ト領域にEPUB001.KEY〜EPUB005.KEYといった5つのファ
イルが記録されている。本図における表記法は以下の通
りである。即ち本図におけるハッチングは、使用中であ
るKey&Rule Entryを象徴的に示しており、白抜きは、未
使用であるKey&Rule Entryを象徴的に示している。この
表記法に従って、図6を見てゆくと、EPUB001.KEY〜EPU
B004.KEYまでを構成するKey&Rule Entryは、全て使用中
になっている。EPUB005.KEYは、3つ目のKey&Rule Entry
#3、5つ目のKey&Rule Entry#5が未使用であるが、残り
は使用中になっている。
【0027】図7は、図6のようにEPUB005.KEY内のKey
&Rule Entryが設定されている場合、EPUB005.KEY内のビ
ットマップがどのように設定されるかを示している。3
つ目のKey&Rule Entry#3、5つ目のKey&Rule Entry#5が
未使用であるので、ビットマップにおける3ビット目の
フラグ、5ビット目のフラグは値「0」に設定されている。
ビットマップがこのように設定されているので、EPUB00
5.KEYにこれからセキュアなデータを書き込もうとする
場合、先頭に一番近い値「0」のフラグとして、3ビット目
のフラグが探索され、この3ビット目のフラグに対応す
るKey&Rule Entry#3にセキュアなデータが書き込まれる
ことになる。以上でEPUBxxx.KEYについての説明を終
え、続いてSD_EPUB.MMGについて説明する。
【0028】SD_EPUB.MMG(Master ManaGer)は、1ビット
のフラグをm個配置してなるビットマップを有する。mビ
ットの"m"というのは、プロテクト領域に記録されるEPU
Bxxx.KEYの総数である。図8は、SD_EPUB.MMG内のビッ
トマップを示す図である。本図のビットマップにおいて
先頭からuビット目にあるフラグに、ハッチングを示し
ている。このuビット目のフラグの値(1≦u≦m)は、ユー
ザデータ領域における複数EPUBxxx.KEYのうち、u個目の
EPUBxxx.KEYの状態を示す。u個目のEPUBxxx.KEYは、フ
ァイル番号uにより特定されるEPUBxxx.KEYであり、EPU
B"#u".KEYと称す。図中の2本の矢印ty1,ty2は、このuビ
ット目のフラグが2通りの値をとりうることを象徴的に
示す。mビットビットマップにおけるuビット目のフラグ
の値が"1"であるなら、矢印ty1に示すようにEPUB#u.KEY
内の複数Key&Rule Entryは、セキュアなデータにより満
たされていることを示す。一方、uビット目のフラグの
値が"0"であるなら、矢印ty2に示すようにEPUB#u.KEYが
空きのKey&Rule Entryを少なくとも1つもっているか
(i)、又は、EPUB#u.KEYが存在しない(ii)ことを示す。
【0029】SD_EPUB.MMG内のmビットビットマップにお
いて先頭に最も近い値"0"のフラグを探索し、この値"0"
のフラグのビット位置をuビット目として、u個目のEPUB
#u.KEYをセキュアなデータの書込先にえらべば、EPUBxx
x.KEYの空き領域はシリアル番号が若い順に埋められて
ゆくことになる。uビット目のフラグの値が"0"であるこ
とは、EPUB#u.KEYが空きのKey&Rule Entryを少なくとも
1つもつこと(i)、EPUB#u.KEYが存在しないこと(ii)の両
方を示すものだが、これら2つの状態(i)(ii)の違いはど
うやって見分けるのだろうか。それは、このEPUB#u.KEY
が配されたディレクトリについてのディレクトリエント
リーを参照すれば簡単に見分けられる。つまりEPUB#u.K
EYが存在するのなら、この"#u"というファイル番号を冠
した"EPUB#u.KEY"というファイル名がディレクトリエン
トリーに存在する筈である。"EPUB#u.KEY"というファイ
ル名がディレクトリエントリーに存在し、かつ、uビッ
ト目のフラグの値が"0"であることは、EPUB#u.KEYが空
きのKey&Rule Entryを少なくとも1つもつことを意味す
る。逆に"EPUB#u.KEY"というファイル名がディレクトリ
エントリーに存在せず、かつ、uビット目のフラグの値
が"0"であることは、EPUB#u.KEYそのものが存在しない
ことを意味する。このようにディレクトリエントリーに
おけるEPUB#u.KEYのファイル名の有無を参照することに
より、状態(i)(ii)の区別がつく。
【0030】続いてSD_EPUB.MMG内のビットマップの具
体的な設定例について説明する。この設定例で想定する
のは、図6に示した事例である。図9は、EPUB001.KEY
〜EPUB005.KEYが図6の状態になっている場合におい
て、SD_EPUB.MMG内のビットマップがどのように設定さ
れるかを示す図である。プロテクト領域に記録されてい
るファイルは5つまでであり、6個目以降は存在しないの
で、EPUB006.KEY以降に対応するフラグ、即ち、SD_EPU
B.MMG内のビットマップにおいて6ビット目以降はオール
「0」になっている。一方、EPUB001.KEY〜EPUB004.KEY
は、包含されているKey&Rule Entryが全て使用中を示す
値「1」なので、これらに対応する1ビット目から4ビット
目までのフラグまではオール値「1」になっている。EPUB0
05.KEYは、ファイル自体は存在するものの、3つ目のKey
&Rule Entry#3と、5つ目のKey&Rule Entry#5とが未使用
であるので、Key&Rule Entry#5に対応する5ビット目の
フラグは、値「0」に設定されている。図9の下側に、EPU
B001.KEY〜EPUB005.KEYが配置されたディレクトリにお
けるディレクトリエントリーの設定例を示す。このディ
レクトリエントリーには、EPUB001.KEYからEPUB005.KEY
までのファイル名や拡張子、記録日時が記述されている
か、EPUB006.KEY以降のEPUBxxx.KEYについては、ファイ
ル名が示されていない。このディレクトリエントリーの
記載と、SD_EPUB.MMGにおけるビットマップの設定とを
統合すると、空きのKey&Rule Entryを少なくとも1つも
っているKey&Rule Entryは、EPUB005.KEYであることが
わかる。
【0031】このことからSD_EPUB.MMG内のビットマッ
プにおいて先頭に最も近い値「0」のフラグを探索し、そ
のフラグのビット位置uに対応するEPUB#u.KEYをオープ
ンするという処理を行えば、未使用のKey&Rule Entryを
少なくとも1つ有するEPUB005.KEYが、プロテクト領域に
対する1回のアクセスでオープンされることになる。こ
こまでの説明だけ読むと、1つの疑問に突き当たる。そ
れは、『新たなデータの書き込みを行った後に、SD_EPU
B.MMGのビットマップ側の更新が必要になるなら、それ
だけ半導体メモリカードの書き換え回数も増え、半導体
メモリカードの寿命を縮めることになるのではないか』
という疑問、つまり書き換え回数増大に伴う、弊害発生
についての疑問である。確かに、SDメモリカードでは、
数十万回というように書換回数に限界があり、SD_EPUB.
MMGの追加により、書換回数を増えてしまうという事実
は看過できない。そこでSD_EPUB.MMGの各ビットの状態
が更新される確率について検討する。例えばKey&Rule E
ntryの総数nが10個である場合、これらKey&Rule Entry
のうち、9個のKey&Rule Entryが空き領域であっても、1
個のKey&Rule Entryが空き領域であっても、SD_EPUB.MM
Gのuビット目のフラグは、値「0」の状態を保てば良い。1
0個のKey&Rule Entryが全て埋まるまでの間、SD_EPUB.M
MGに対する更新は一切不要となる。つまりKey&Rule Ent
ryが10個なら、Key&Rule Entryの更新10回以上に対し
て、1回の割合でSD_EPUB.MMGを更新すればよい(この10
回以上に対し1回という割合は、Key&Rule Entryの総数n
が10個である場合の一例であり、総数nが100個であれば
100回以上につき1回、総数nが200個であれば200回以上
につき1回であることはいうまでもない)。そのため、SD
_EPUB.MMGが配置された領域の寿命を縮めることはな
い。
【0032】続いてユーザデータ領域における変換テー
ブル格納ファイルについて説明する。変換テーブル格納
ファイルは、これらコンテンツが、どのKey&Rule Entry
に対応するかを示す。つまりコンテンツに付与された"0
01","002"といった番号と、Key&Rule Entryのグローバ
ル番号との対応付けを示す。Key&Rule Entryのグローバ
ル番号とは、EPUBxxx.KEYのファイル番号"u"と、Key&Ru
le Entry内のローカル番号"v"と、EPUBxxx.KEY内のKey&
Rule Entryの数nをオペランドとした以下の式1から導か
れる番号である。 {式1} s = n・(u-1) + v 図10は、図6に示したEPUB005.KEY内の3個目のKey&Ru
le Entryと、ユーザデータ領域に記録されている1つ目
のコンテンツ001とが対応している場合、変換テーブル
格納ファイルがどのように設定されるかを示す図であ
る。EPUB001.KEYからEPUB004.KEYまでのそれぞれのファ
イルには、Key&Rule Entryがn個(n=10)が含まれるの
で、n・(u-1)は、図中の注釈1に示すように40(=10・(5-
1))となる。更にEPUB005.KEYの3つ目のKey&Rule Entry
が書込先になるので、v=3となる。
【0033】よってEPUB005.KEYのKey&Rule Entry#3の
グローバル番号は、"43(=10・(5-1)+3)"となる。このグ
ローバル番号"43"のKey&Rule Entryを、コンテンツ001
に対応させたい場合、変換テーブル格納ファイルには、
コンテンツ001の番号"001"と、グローバル番号"43"との
対応を記述しておく。これにより、コンテンツ001か
ら、EPUB005.KEY内の3個目のKey&Rule Entryを導くとい
う作業が簡易に行われる。図中の矢印vy1,2,3,4は、コ
ンテンツの番号からKey&Rule Entryを導くまでの導出過
程を象徴的に示している。本図における注釈2に示すよ
うに、矢印vy2に示すグローバル番号"43"から、矢印vy
3,4に示すようにファイル番号"5"と、ファイル内ローカ
ル番号"3"とを得て、これらの番号から、EPUB005.KEY内
のKey&Rule Entry#3をアクセスするのである。
【0034】以上のように本実施形態によれば、複数EP
UBxxx.KEYのうち、どれに未使用のKey&Rule Entryが存
在しているかがSD_EPUB.MMG内のビットマップに示され
ているので、複数EPUBxxx.KEYに虫食い状に空きのKey&R
ule Entryが存在している場合でも、このSD_EPUB.MMG内
のビットマップを参照することにより、空き領域をもっ
たファイルの特定を高速に行うことができる。ファイル
アクセスは、SD_EPUB.MMGのオープンと、空き領域をも
つEPUB#u.KEYのオープンの計2回になるので、本SDメモ
リカードをアクセスする装置は、空きのエントリー領域
をもつEPUB#u.KEYを捜し求めて、複数EPUBxxx.KEYをオ
ープンするという手間から解放され、新たなコンテンツ
の書き込みに要する時間を短縮することができる。
【0035】(第2実施形態)第2実施形態では、1つ
のファイルに収録すべきKey&Rule Entryの数を幾つにす
るかを定める実施形態である。Key&Rule Entryのサイズ
をsize、クラスタサイズをSCとした場合、Key&Rule Ent
ryの数n、EPUBxxx.KEYの数mは以下の式を満たす値に設
定する。 {式2} SC≧n×size+n {式3} SC≧m <式2>における"n×size"は、n個のKey&Rule EntryがEPU
Bxxx.KEY内で占めているサイズであり、"n"は、EPUBxx
x.KEY内のビットマップが占めているサイズである。こ
れらの和が「クラスタサイズ以下」ということは、EPUB
xxx.KEYを1つのクラスタからなるファイルとして構成す
ることを意味する。一方、式3におけるmは、SD_EPUB.MM
Gにおけるmビットのビットマップのサイズである。これ
が「クラスタサイズ以下」ということは、SD_EPUB.MMG
もまた、1つのクラスタからなるファイルとして構成す
ることができることを意味する。
【0036】以上の式を満たすように、m,nを設定すれ
ば、第1実施形態に示したSD_EPUB.MMG及びEPUB001.KE
Y,EPUB002.KEY,EPUB003.KEY・・・・・のそれぞれを、1つの
クラスタからなるファイルとして構成することができ
る。図11(a)は、1つのクラスタからなるファイル
として構成されたSD_EPUB.MMG及びEPUB001.KEY,EPUB00
2.KEY,EPUB003.KEY・・・を示す図である。本図においてク
ラスタ001〜006という6つのクラスタが記述されてい
る。この6つのクラスタのうち、クラスタ001にはSD_EPU
B.MMGが記録され、クラスタ002にはEPUB001.KEYが、ク
ラスタ002にはEPUB002.KEYは、クラスタ003にはEPUB00
3.KEYがそれぞれ記録されている。つまり、クラスタに1
つに対して、1つのファイルが割り当てられることを意
味する。
【0037】さて、このクラスタのサイズ自体は、どの
ような値に設定すべきであろうか。クラスタは、ファイ
ルシステム層における領域管理の単位であり、1つのフ
ァイルは、このクラスタを必ず1つ占有する。一方、半
導体メモリカードの物理層は、データ書き込みが可能な
最小単位が定められていることが多い。この書き込み可
能な最小単位を"消去可能ブロック"という。以降、32個
のセクタ(16Kbyte)からなる消去可能ブロックを一例に
して説明する。半導体メモリカードに消去可能ブロック
が存在する場合、記録装置は、この32個のセクタを一括
して白紙の状態に戻してからでないと、新たなデータを
書き込むことはできない。そのため、クラスタサイズの
決定にあたっては、消去可能ブロックとの関係を考慮す
ることが重要である。
【0038】そこで本実施形態では、クラスタのサイズ
を消去可能ブロックのサイズの1/xに設定する。図11
(b)は、消去可能ブロックと、クラスタとの関係を示
す図であり、クラスタサイズは、消去可能ブロックのサ
イズである16KByteの1/xの大きさ(32セクタの1/x)に定
める。図11(c)は、x=1と定められた場合のクラス
タを示す図であり、図11(d)は、x=16と定められた
場合のクラスタを示す図である。
【0039】以上のように本実施形態によれば、クラス
タの大きさを消去可能ブロックの1/xの大きさに定め、
このクラスタに収まるように、Key&Rule Entryの個数
n、EPUBxxx.KEYの個数mを定める。Key&Rule Entry及びS
D_EPUB.MMGの更新にあたって、書き込みを行うべき消去
可能ブロックの数は必要最低限となる。故に本実施形態
では、消去可能ブロックの寿命をいたずらに縮めること
はない。
【0040】(第3実施形態)第3実施形態は、ボリュ
ーム管理情報の変動が生じた場合、2つの消去可能ブロ
ックの境界を跨ぐように、クラスタが配置されてしまう
という不都合を回避する技術を開示する。図12(a)
は、プロテクト領域のフォーマットを示す図である。プ
ロテクト領域は、ファイルシステムにて管理されるた
め、図12(a)に示すように先頭部にボリューム管理
情報が配されており、このボリューム管理情報にファイ
ル領域が後続している。このボリューム管理情報は、IS
O/IEC 9293に準拠したものであり、破線の矢印hf1に示
すように、マスタブートレコード&パーティションテー
ブルセクタ、パーティションブートセクタ、二重化ファ
イルアロケーションテーブル(FAT)、ルートディレクト
リエントリからなる。このうち、二重化FATは、プロテ
クト領域に含まれる複数のクラスタに対応づけられ、ク
ラスタと、クラスタとの間のリンク関係を示す。このボ
リューム管理情報の直後以降をファイル領域という。第
1実施形態に示したSD_EPUB.MMGや複数のEPUBxxx.KEY
は、このファイル領域に配置されることになる。図12
(a)では、図11(a)に示した複数クラスタ、つま
りSD_EPUB.MMGやEPUB001.KEY、EPUB002.KEY、EPUB003.K
EYが記録された複数クラスタ001,002,003,004・・・・・が、
このファイル領域に記録されている・ボリューム管理情
報内の情報要素うち、二重化ファイルアロケーションテ
ーブル(FAT)はボリューム管理情報変動の原因になるも
のであり、より詳しく説明する。二重化FATは、ISO/IEC
9293に準拠した2つのFATからなる。各FATは、各クラス
タに対応づけられた複数のFATエントリーからなる。各F
ATエントリーは、対応するクラスタが使用中であるか、
未使用であるかを示すものであり、対応するクラスタが
未使用であれば、そのファイルエントリーには、"0"が
設定され、対応するクラスタが使用中であれば、リンク
先のクラスタ番号が設定される。
【0041】次に、ボリューム管理情報の変動がどのよ
うな原因で生じるかについて説明する。プロテクト領域
に、データを格納するにあたって、プロテクト領域のデ
ータサイズをユーザや記録装置が任意に決める機会が多
々ある。ユーザの要望に応じてプロテクト領域のサイズ
を変化させた場合、プロテクト領域に含まれるクラスタ
数が増減する。クラスタ数が増減すれば、それらクラス
タに対応するエントリーからなるFATのサイズも増減
し、このFATを含むボリューム管理情報のサイズも、増
減することなる。こうしてボリューム管理情報のサイズ
が増減すると、ボリューム管理情報に後続するファイル
領域の先頭アドレスも、変動することなる。SD_EPUB.MM
GやEPUB001.KEY,EPUB002.KEY,EPUB003.KEYが記録される
べきファイル領域の先頭アドレスは、プロテクト領域の
サイズに応じて変動するものなので、無論このファイル
領域に含まれる各クラスタの先頭アドレスもプロテクト
領域のサイズに応じて変動する。
【0042】クラスタの先頭アドレスが、プロテクト領
域のサイズに応じて変動するとなると、2つの消去可能
ブロックの境界をまたぐように、クラスタが配置された
り、ボリューム管理情報の終端部分と、ファイル領域の
先頭に位置するクラスタとが同じ消去可能ブロックに配
置されることも有り得る。このような事態を避けるべ
く、第3実施形態では、第2実施形態で述べた第1の改
良点に続く第2の改良点を提案する。
【0043】第2の改良点とは、プロテクト領域におい
て、クラスタのy倍のサイズの領域を、ボリューム管理
情報の記録に割り当てるという改良である。図12
(b)は、s個の消去可能ブロックに含まれるs・x個のク
ラスタのうち、y個のクラスタをボリューム管理情報の
記録に割り当てる場合を想定した図である。y個のクラ
スタをボリューム管理情報の記録に割り当てれば、s個
の消去可能ブロックの内部領域のうち、y/xの部分が、
ボリューム管理情報に占有されることなり、残る(s・x-
y)/xの内部領域が、ファイル領域に割り当てられること
なる。
【0044】ボリューム管理情報を、クラスタのy倍の
サイズに設定することにより、s個の消去可能ブロック
には、ボリューム管理情報と、s・x-y個のクラスタとが
詰め込まれ、クラスタが2つの消去可能ブロックの境界
を跨ぐことはない。図12(c)は、x=1と設定された
場合、ボリューム管理情報の記録にどれだけのクラスタ
が割り当てられるかを示す図であり、図12(d)は、
x=16と設定された場合、ボリューム管理情報の記録にど
れだけのクラスタを割り当てるかを示す図である。これ
らの図からも明らかなように、ボリューム管理情報の設
定により複数のクラスタが、複数の消去可能ブロックに
詰め込まれているので、何れのクラスタも消去可能ブロ
ックの境界を跨ぐことはない。
【0045】図13は、かかるサイズ調整がなされたプ
ロテクト領域のレイアウトをより詳細に示した図であ
る。図13において、パーティション管理領域とは、ボ
リューム管理情報の情報要素のうちマスタブートレコー
ド&パーティションテーブルセクタが記録される領域で
あり、システム領域とは、ボリューム管理情報のうちパ
ーティションブートセクタ、二重化FAT、ルートディレ
クトリエントリが記録される領域である。本図において
パーティション管理領域のサイズをNOM、パーティショ
ンブートセクタのサイズをRSC、二重化FATのサイズをSi
ze1×2、ルートディレクトリエントリのサイズをRDE、
総セクタサイズをTS、クラスタに含まれるセクタの個数
をSCと表現している。
【0046】この図13において、二重化FATに含まれ
るFATのサイズSize1は、TSに依存したものとなる。具体
的にいうなら、以下の数式11により算出される値とな
る。 {数式11} FAT12の場合:Size1=(((((TS-(RSC+RDE))/SC)+2)×12/8)
+511)/512 FAT16の場合:Size1=(((((TS-(RSC+RDE))/SC)+2)×16/8)
+511)/512 ここでFAT12とは、FATエントリー1つ当たりに12ビット
を割り当てることをいい、FAT16とは、FATエントリー1
つ当たりに16ビットを割り当てることをいう。
【0047】数式11において、(TS-(RSC+RDE))/SCは、
ファイル領域の記録に必要なクラスタ数であり、これに
インディケータ数2を加算して、FATエントリーのバイト
長(12又は16)を乗じ、且つ8で割ることにより、FATのバ
イト長を算出している。この算出結果に、オフセット値
である511Byteを足し合わせ、セクタのバイト長512で割
ることにより、1つ当たりのFATを格納するのに必要なセ
クタ数を算出している。
【0048】図13において特に注意すべきは、パーテ
ィション管理領域のサイズであるNOMである。NOMは、パ
ーティション管理領域と、システム領域とが、互いに異
なるクラスタに属するように、"SC+α"という値に設定
される。SC+αのαをどのように設定するかであるが、
αは、以下に示すように、RSCと、Size1×2と、RDEと
の和がSCの整数倍になるように、(RSC+RDE+Size1×2)
をSCで割り、その余りをSCから引くことにより求められ
る。これらのことを勘案すると、NOMは、数式12に示す
ように算出される。
【0049】{数式12} NOM=(SC-(RSC+RDE+Size1×2)%SC)+SC こうしてαに定めると、パーティション管理領域及びフ
ァイル領域は、複数の消去可能ブロックに丁度収まる形
となり、システム領域と、ファイル領域との境界が、消
去可能ブロックの境界と一致することなる。こうした境
界一致がはかれるので、後続する全てのクラスタの境界
は、消去可能ブロックの境界に一致することになる。
【0050】図13において、ファイル領域におけるク
ラスタ001〜003には、それぞれSD_EPUB.MMG、EPUB001.K
EY、EPUB002.KEYが記録されている。つまりクラスタ001
にはSD_EPUB.MMGが、クラスタ002にはEPUB001.KEY、ク
ラスタ003にはEPUB002.KEYがそれぞれ記録されている。
上述したようにx=1であるので、クラスタ001,002,003
は、それぞれ消去可能ブロックe1,e2,e3に対応してい
る。SD_EPUB.MMGと、未使用Key&Rule Entryを含むEPUB0
01.KEYとを読み出す場合、これらはそれぞれ1つの消去
可能ブロックe1,e2上に存在するので、これら2つの消去
可能ブロックを読み出せば済む。またSD_EPUB.MMGと、
未使用Key&Rule Entryを含むEPUB#u.KEYとを書き換える
場合も、それらの2つの消去可能ブロックe1,e2を書き換
えれば済む。読み出すべき消去可能ブロック及び書き換
えるべき消去可能ブロックの数が必要最低限数(2つ)に
なるので、不揮発メモリの寿命をいたずらに縮めること
もない。
【0051】以上のように本実施形態によれば、ボリュ
ーム管理情報のサイズに変動があっても、消去可能ブロ
ックの境界と、クラスタのサイズとを一致させるので、
クラスタの書き換えを短期間に完遂することができる。
また、消去可能ブロックの消去回数を削減することも可
能になる。 (第4実施形態)第4実施形態は、第1実施形態〜第3
実施形態に示した特徴を有するSDメモリカードに対し
て、記録処理、再生処理を行う装置(便宜的に記録装置
とよぶ)に関する実施形態である。記録装置は、図14
(a)に示すような民生用音響機器、図14(b)に示
すようなパソコン等の情報機器である。本実施形態の記
録装置により、SDメモリカードに書き込まれるのは、暗
号化コンテンツと、この暗号化コンテンツについてのセ
キュアなデータである。暗号化コンテンツは、再生回数
が制限されたものであり、セキュアなデータは、暗号化
を解除するための暗号鍵と、再生処理の可能回数を示す
再生回数情報とを含む。これら暗号鍵、再生回数情報の
読み書きを行うよう構成された記録装置の内部について
説明する。図15は、第4実施形態に係る記録装置の内
部構成を示す図である。本図に示すように記録装置は、
内部メモリ10、ブラウザ部11、セキュア処理部1
2、暗号化解除部13、再生部14、制御部15からな
る。
【0052】内部メモリ10は、SDメモリカードのプロ
テクト領域から読み出されたEPUB#u.KEY、SD_EPUB.MMG
を一旦格納しておくためのDRAM(Dynamic Random Access
Memory),SDRAM(Synchronous Dynamic Random Access M
emory)である。EPUB#u.KEY内に含まれる何れかのKey&Ru
le Entryを書き換えたり、ビットマップの設定をかえた
りする場合は、この内部メモリにEPUB#u.KEYが読み出さ
れ、内部メモリ上で書き換えや設定が行われた後、EPUB
#u.KEYはSDメモリカードのプロテクト領域に書き戻され
る。同様にSD_EPUB.MMGのビットマップの設定を変える
場合は、この内部メモリにSD_EPUB.MMGが読み出され、
設定を変えた後、SD_EPUB.MMGは再度SDメモリカードに
書き戻される。内部メモリ上でEPUB#u.KEYやSD_EPUB.MM
Gの書き換えを行うのは、DRAMやSDRAMのアクセス速度
は、SDメモリカードのそれより格段に早いため、SDメモ
リカードに対して直接更新処理を行うより、はるかに効
率がよいという理由による。SDメモリカードに記録され
たEPUB#u.KEY、SD_EPUB.MMGを読み出して、内部メモリ
に配置するという処理がいわゆるファイルオープンであ
る。またEPUB#u.KEY、SD_EPUB.MMGがSDメモリカード上
に無い場合に、これらのファイルを内部メモリ上で作成
するという処理がいわゆるファイルクリエイトである。
【0053】ブラウザ11は、SDメモリカードのファイ
ル領域に格納されているコンテンツの一覧表示を行うと
共に、再生や削除の対象となるものの指定を受け付け
る。ユーザからの操作受け付けは、ボタンやキー、タッ
チパネル等のポインティングデバイスに対してなされた
ユーザ操作を検出することによりなされる。セキュア処
理部12は、SDメモリカード内のプロテクト領域に対す
るデータ書き込みやデータ読み出しに先立って、SDメモ
リカード内のAKE処理部4、AKE処理部5、Ks復号化部
6、Ks暗号化部7と、相互認証を行う。相互認証に失敗
すれば、記録装置によるデータ読み出し/データ書き込
みは否応無しに中断する。プロテクト領域に対するデー
タ書き込み/データ読み出しは、相互認証の成功を要件
としているので、プロテクト領域に記録されたデータの
機密性は保たれるのである。セキュア処理部12による
相互認証を前提としたデータ書き込みをセキュアライト
といい、セキュア処理部12による相互認証を前提とし
たデータ読み出しをセキュアリードという。
【0054】暗号化解除部13は、内部メモリに読み込
まれたKey&Rule Entry上に存在する暗号鍵を用いて、再
生すべきコンテンツの暗号化を解除する。再生部14
は、暗号化が解除されたコンテンツの再生を行う。コン
テンツの再生開始後、再生部は、再生経過時間のカウン
トを継続して行い、再生経過時間が予め定められた閾値
を越えれば、その旨を制御部15に通知する。この閾値
は、一回の再生とみなされるための最低の時間長であ
り、これを制御部15に通知することにより、再生可能
回数のデクリメントを制御部15に促すのである。
【0055】制御部15は、実行可能形式のプログラム
を格納したROMと、それを実行するプロセッサ(CPU)とか
らなり、SDメモリカードに対する書込処理、読出処理、
削除処理を実行する。先ず書込処理について説明する。
図16は、書込処理を実現する処理手順を示すフローチ
ャートである。このフローチャート示された処理手順を
なすプログラムをCPUに実行させることで、書込処理が
実現される。本フローチャートにおいてステップS1〜
ステップS4は、コンテンツ本体側の書き込み処理を実
行するものである。ステップS1においてコンテンツを
配すべきディレクトリを、ユーザデータ領域の中から決
定し、ステップS2においてそのディレクトリにおける
コンテンツの番号#tを決定する。ステップS3において
コンテンツ番号#tを一部に含んだ名前をもったファイル
#tをオープンして、ステップS4においてコンテンツ#t
を暗号化して、オープンされたファイル#tに書き込む。
【0056】続くステップS5〜ステップS20は、コ
ンテンツに対応するセキュアなデータ(暗号鍵、再生可
能回数)をプロテクト領域に書き込む処理手順である。
このうちステップS5〜ステップS16は、書き込みに
あたって、プロテクト領域にある複数EPUBxxx.KEYのう
ち、どれを書き込みの対象にするかを定めるものであ
る。先ず、ステップS5においてプロテクト領域に対し
てセキュアリードを実行することにより、記録装置の内
部メモリ上にSD_EPUB.MMGを得る。続くステップS6
は、SD_EPUB.MMGによる管理の限界である場合の例外処
理を規定する。内部メモリ上に得られたSD_EPUB.MMG内
のmビットビットマップの値がオール「1」であるかを判定
する。もしオール値「1」であれば、本フローチャートの
処理を終了する。
【0057】たった1つでも、値「0」のフラグが存在すれ
ば、ステップS7において値「0」のフラグであって、mビ
ットのビットマップ先頭に最も近いもののビット位置を
uビットとして検出する。そして、このuビットに対応す
るEPUB#u.KEYが存在するかどうかの判定をステップS8
で行う。既に存在する場合は、ステップS10において
プロテクト領域内のプロテクト領域をセキュアリードし
て内部メモリ上にEPUB#u.KEYを得て、ステップS11に
移行する。存在しない場合は、EPUB#u.KEYは新規作成す
べきであり、ステップS9において EPUB#u.KEYをクリ
エイトして内部メモリ上にEPUB#u.KEYを得て、ステップ
S11に移行する。
【0058】ステップS11において内部メモリ上のEP
UB#u.KEY内のビットマップは、オール「1」であるかを判
定する。EPUB#u.KEYの全てのKey&Rule Entryが使用中で
あるのに、SD_EPUB.MMG側のuビット目のフラグが値「0」
になっているという瑕疵がもしかしたら存在するかもし
れない。レアケースであるが、そのような瑕疵が全くな
いとはいいきれないので、ステップS11での判定を行
う。ステップS11においてオール「1」と判定されたな
ら、ステップS12において値「0」のフラグであって、m
ビットのビットマップ先頭に次に近いもののビット位置
をuビットとして検出し、ステップS8に再度移行す
る。ステップS10〜ステップS12の処理を繰り返し
を行えば、値「0」のフラグを有したEPUB#u.KEYに到達す
る筈である。値「0」のフラグを有したEPUB#u.KEYに到達
すれば、ステップS13に移行する。
【0059】ステップS13〜ステップS16は、未使
用のKey&Rule Entryにセキュアなデータを書き込むとい
う処理を実現する。ステップS13では、内部メモリ上
のEPUB#u.KEY内のビットマップにおける値「0」のフラグ
であって、ビットマップ先頭に最も近いもののビット位
置をvビットとして検出し、ステップS14では、コン
テンツについての暗号鍵と、再生可能回数とを内部メモ
リ上のEPUB#u.KEYにおけるKey&Rule Entry#vに書き込
む。ステップS15において内部メモリ上のEPUB#u.KEY
内のビットマップにおけるvビット目のフラグを値「1」に
設定し、ステップS16において内部メモリ上で更新さ
れたEPUB#u.KEYに対するセキュアライトを実行して、こ
のEPUB#u.KEYをプロテクト領域内に書き込む。
【0060】ステップS15においてuビット目のフラ
グが値「1」に設定されると、EPUB#u.KEY内のビットマッ
プがオール「1」になったかもしれない。1/(n-1)以上の割
合であるが、そのよう場合も発生し得るので、ステップ
S17において、この可能性を判定する。ステップS1
7は、EPUB#u.KEY内のビットマップがオール「1」になっ
た場合に、ステップS18−ステップS19を経由して
からステップS20を行わせ、そうでない場合に、ステ
ップS18−ステップS19を経由せずにステップS2
0を行わせる判定ステップである。
【0061】ステップS18では内部メモリにおけるSD
_EPUB.MMG内のuビット目のフラグを値「1」に設定し、ス
テップS19では、内部メモリにおけるSD_EPUB.MMGに
対するセキュアライトを実行する。以上の手順で、#u,#
vが確定したので、ステップS20においてファイル番
号#uと、ローカル番号#vとを式#s = (n-1)・#u+#vに適用
してKey&Rule Entryのグローバル番号#sを得る。そして
ステップS21においてグローバル番号#sと、コンテン
ツ番号#tとを対応付けた情報を、上述したコンテンツが
配置されたディレクトリの変換テーブル格納ファイルに
書き込む。以上がSDメモリカードに対するコンテンツの
書き込み処理である。
【0062】尚、既存のEPUB#u.KEY内の未使用Key&Rule
Entryを新たな書込先として優先的に選んでゆくと、EP
UB001.KEY、EPUB002.KEYというように、若いファイル番
号のEPUBxxx.KEYに書き込みが集中してしまい、これら
に対応する消去可能ブロックの寿命を縮めるという問題
をうむ。書き込みの集中は、以下のような技術で解消す
るのが望ましい。各消去可能ブロックに予め割り当てら
れた物理アドレスと、論理アドレスとの対応をとるテー
ブルをSDメモリカードに記録しておき、また各ファイル
の書込先を論理アドレスにて管理する。こうすると、EP
UB001.KEY,EPUB002.KEYに対する消去可能ブロックの割
り当ては、固定的ではなくなる。つまりテーブルの書き
換えにより、消去可能ブロックの割り当てを変化させる
ことができる。このような消去可能ブロックの割り当て
変化により、EPUB001.KEY、EPUB002.KEYに書き込みが集
中したとしても、1つの消去可能ブロックの寿命が縮む
ということはない。
【0063】続いてコンテンツの再生時の処理について
説明する。図17は、コンテンツの再生処理の処理手順
を示すフローチャートである。このフローチャート示さ
れた処理手順をなすプログラムをCPUに実行させること
で、再生処理が実現される。ブラウザを介した選択操作
により、何れかのディレクトリに配置されたコンテンツ
についての再生が命じられたとする。そうすると先ずス
テップS31において再生すべきコンテンツが配された
ディレクトリの変換テーブル格納ファイルから、再生す
べきコンテンツに対応するKey&Rule Entryのグローバル
番号#sを取得する。ステップS32において、#s = (n-
1)・#u +#vを満たす、EPUB#u.KEYのファイル番号#u、Key
&Rule Entryのローカル番号#vを取得し、ステップS3
3においてEPUB#u.KEYをセキュアリードして、内部メモ
リ内にEPUB#u.KEYを得る。続くステップS34では、内
部メモリにおけるEPUB#u.KEY内のビットマップにおい
て、vビット目に位置するフラグの値が「1」であるか否か
の判定を行う。変換テーブル格納ファイルの記載から
は、u個目のKey&Rule Entryが使用中であることは明ら
かであるが、これに対応するEPUB#u.KEYのKey&Rule Ent
ryが未使用になっているという瑕疵は全くないとはいい
きれない。レアケースであるが、そのような瑕疵が存在
しないとは断言できないので、ステップS34における
判定を行い、もしそのような瑕疵があれば処理を終了す
る。ステップS34においてvビット目のフラグが値「1」
であると判定されれば、ステップS35〜ステップS3
9において、コンテンツの再生手順を実行する。
【0064】ステップS35においてKey&Rule Entry#v
から暗号鍵を取り出し、この暗号鍵を用いて再生すべき
コンテンツの復号を開始すると共に、コンテンツの再生
を開始する。ステップS37において所定時間が経過す
るのを待ち、経過すれば、ステップS38においてKey&
Rule Entry#vにおける再生可能回数をデクリメントし
て、ステップS39において内部メモリ上のKey&Rule E
ntry#vを、プロテクト領域に対してセキュアライトす
る。
【0065】最後に削除処理について説明する。図18
は、コンテンツの削除処理の処理手順を示すフローチャ
ートである。このフローチャート示された処理手順をな
すプログラムをCPUに実行させることで、削除処理が実
現される。ブラウザ11を介した選択操作により、ユー
ザデータ領域の何れかのディレクトリに配置されたコン
テンツについての削除が命じられたとする。そうすると
先ずステップS51において削除すべきコンテンツを収
録したファイル#tのファイルエントリーをディレクトリ
エントリーから削除し、コンテンツの収録ファイルが占
めているクラスタを空き状態に解放する。ステップS5
2において再生すべきコンテンツが配されたディレクト
リの変換テーブル格納ファイルから、削除すべきファイ
ルに対応するKey&Rule Entryのグローバル番号#sを取得
し、ステップS53において式#s= (n-1)・#u +#vを満た
す、EPUBxxx.KEYの番号#u、Key&Rule Entryの番号#vを
取得する。ステップS54においてEPUB#u.KEYをセキュ
アリードして、内部メモリ内にEPUB#u.KEYを得る。
【0066】続くステップS55では、内部メモリにお
けるEPUB#u.KEY内のビットマップにおいて、vビット目
に位置するフラグの値が「1」であるか否かの判定を行
う。変換テーブル格納ファイルの記載からは、u個目のK
ey&Rule Entryが使用中であることは明らかであるが、
これに対応するEPUB#u.KEYのKey&Rule Entryが未使用に
なっているという瑕疵は全くないとはいいきれない。レ
アケースであるが、そのような瑕疵が存在しないとは断
言できないので、ステップS55における判定を行い、
もしそのような瑕疵があれば処理を終了する。
【0067】ステップS55においてvビット目のフラ
グが値「1」であると判定されれば、ステップS56−ス
テップS57−ステップS58において、Key&Rule Ent
ry#vの削除手順を実行する。つまりステップS56にお
いて内部メモリにおけるEPUB#u.KEY内のKey&Rule Entry
#vに乱数を書き込み、ステップS57では、内部メモリ
において、EPUB#u.KEY内ビットマップのvビット目に位
置するフラグを値「0」に設定した上で、ステップS58
において内部メモリ上のEPUB#u.KEYをSDメモリカード上
のプロテクト領域にセキュアライトする。
【0068】ステップS57においてvビット目のフラ
グを値「0」に設定した結果、EPUB#u.KEY内のビットマッ
プがオール値「0」になったかもしれない。ステップS5
9は、この可能性を判定するものであり、もしオール値
「0」なら、EPUB#u.KEY自体が不要であるとして、ステッ
プS60においてEPUB#u.KEYのファイルエントリーをデ
ィレクトリエントリーから削除し、EPUB#u.KEYが占めて
いるクラスタを空き状態に解放する。このような削除に
より、プロテクト領域におけるEPUBxxx.KEYの数を減ら
すことができる。削除されたEPUB#u.KEYのファイル番号
は、EPUBxxx.KEYを新たにクリエイトする場合、そのEPU
Bxxx.KEYに割り当てられる。ファイル番号は、このよう
な再利用も想定しているのである。つまりEPUBxxx.KEY
の削除により、ファイル番号に抜けが生じた場合、その
抜けのファイル番号は、再利用されるのである。
【0069】EPUB#u.KEY内のビットマップのvビット目
を「0」に更新した場合、1/(n-1)以上の割合で、SD_EPUB.
MMG側のビットマップをも更新せねばならない。つまりE
PUB#u.KEY内のビットマップがオール値「1」になってお
り、ステップS57の設定で1つのKey&Rule Entryが未
使用になった場合、これに伴い、SD_EPUB.MMG内のビッ
トマップをも更新せねばならない。そのため、ステップ
S61において、SD_EPUB.MMGをSDメモリカードからセ
キュアリードし、ステップS62においてSD_EPUB.MMG
内のビットマップにおけるuビット目のフラグが値「1」で
あったかどうかの判定を行う。ステップS62により、
SD_EPUB.MMG内のビットマップのuビット目のフラグが値
「0」であれば、ステップS63、S64を経由すること
なくステップS65が実行される。一方、SD_EPUB.MMG
内のビットマップのuビット目のフラグが値「1」であれ
ば、ステップS63、S64を経由してからステップS
65が実行されることになる。
【0070】このステップS63−ステップS64は、
SDメモリカードにおけるSD_EPUB.MMGの更新を実行する
ものであり、ステップS63において、SD_EPUB.MMG内
のビットマップにおけるuビット目のフラグを値「0」に設
定し、ステップS64は、内部メモリ上のSD_EPUB.MMG
をSDメモリカードにセキュアライトする。その後、ステ
ップS65において削除すべきコンテンツについてのコ
ンテンツの番号#tと、グローバル番号#sとを変換テーブ
ル格納ファイルから削除して、削除処理を終える。
【0071】以上のように本実施形態によれば、新たな
EPUB#u.KEYのクリエイトは、既存のEPUBxxx.KEY内の未
使用Key&Rule Entryが埋まってからになるので、新しい
EPUBxxx.KEYがむやみにクリエイトされることはない。
長期的に見て、EPUBxxx.KEYの数を最小限に留めること
ができるので、SDメモリカードの記録内容をスッキリと
整理しておくことができる。プロテクト領域は、SDメモ
リカード全体に対して、比較的小さめにとる場合が多
く、この場合プロテクト領域内のファイルの個数も制限
されることになる。従って、本実施形態に係る記録装置
がプロテクト領域内のEPUBxxx.KEYの個数をなるべく小
さくするよう、データ書き込みを行うことは、プロテク
ト領域を利用するにあたって非常に好適といえる。
【0072】第1〜第4実施形態に開示されるデータ構
造、各種処理は、以下の国際公開公報に基づくものであ
り、より詳細な技術事項については、これらの公報を参
照されたい。 W0 00/65602号公報 2000年11月2日 W0 00/74054号公報 2000年12月7日 W0 00/74059号公報 2000年12月7日 W0 00/74060号公報 2000年12月7日 W0 01/16821号公報 2001年 3月8日 上記実施形態に基づいて説明してきたが、現状において
最善の効果が期待できるシステム例として提示したに過
ぎない。本発明はその要旨を逸脱しない範囲で変更実施
することができる。代表的な変更実施の形態として、以
下(A)(B)(C)・・・・(I)(J)(K)のものがある。
【0073】(A)第1実施形態におけるKey&Rule Entr
yの上限は、1つのEPUBxxx.KEYに格納されるべきKey&Rul
e Entryの数nと、SD_EPUB.MMGに存在するビットマップ
のビット長mとを乗じた数n・mになる。この上限数は、あ
くまでもプロテクト領域に存在するSD_EPUB.MMGの数を1
つとした場合の上限数であり、SD_EPUB.MMGの数を増や
せば、Key&Rule Entryの上限数を倍にすることができ
る。例えばSD_EPUB.MMGのプロテクト領域に配置すべきS
D_EPUB.MMGが2個なら、Key&Rule Entryの上限数は2・n・m
になる。
【0074】(B)第1実施形態では、各EPUB#u.KEYの状
態を示すmビットのビットマップをSD_EPUB.MMG内に配し
たが、1つ目のEPUB001.KEY内に配してもよい。つまり第
1実施形態では、SD_EPUB.MMGのファイルオープン、空
きのKey&Rule EntryをもつKey&Rule Entryのオープン
(2)という2つのオープンが必要であったが、1つ目のEPU
B001.KEY内にmビットビットマップを配せば、EPUB001.K
EYをオープンするだけで、どのEPUBxxx.KEYに空きがあ
るかを知ることができる。そして空きのKey&RuleEntry
が1つ目のEPUB001.KEY内に存在する場合は、そのEPUB00
1.KEY内の空きKey&Rule Entryに直接、新たなセキュア
なデータを書き込めばよいので、オープンの回数は計1
回となる。またEPUB001.KEYには、空きのKey&Rule Entr
yがない場合でも、そのmビットのビットマップの参照に
より、どのEPUBxxx.KEYに空きのKey&Rule Entryが存在
することが解るので、この場合も、EPUB#u.KEYのオープ
ンが2回を上回ることはない。
【0075】また、各Key&Rule Entryの状態を示すnビ
ットのビットマップは、各EPUBxxx.KEY内に配したが、S
D_EPUB.MMG内に配してもよい。 (C)各EPUBxxx.KEY内にビットマップを配置せず、SD_EPU
B.MMG内のビットマップだけで未使用のKey&Rule Entry
を有するEPUB#u.KEYを検索してもよい。何故なら、新た
なデータの書き込みに先立って、装置側で、Key&Rule E
ntryが使用中であるか、未使用であるかの検査を行え
ば、各Key&Rule Entryの状態を示すビットマップをわざ
わざ設けなくても済むからである。しかしこれは、未使
用や削除済みのKey&Rule Entryが、オールヌル(0000000
0・・・)等、削除状態であることが一見してわかるような
値に設定されていることが前提であり、現実には妥当で
ない。それは以下の理由による。一般にセキュアデータ
の削除は、セキュアなデータが書き込まれたKey&Rule E
ntryに対して乱数を上書きすることによりなされる。一
方セキュアなデータは、暗号化された状態で記録されて
おり、一見しただけでは、Key&Rule Entryに記録された
データが暗号化されたものであるか、削除されたもので
あるかの区別がつかない。そのため、上述したような検
査を行うことは実質的には不可能となる。本実施形態で
は、各Key&Rule Entryにセキュアなデータが記録されて
いるか、削除されているかがEPUBxxx.KEY内のビットマ
ップにおける各フラグにより明らかである。よってこれ
を参照することで、ファイル内のどのKey&Rule Entryが
空きであり、どのKey&Rule Entryが記録済みであるかを
即座に知得することができる。
【0076】(D)第1〜第4実施形態では、ファイルオ
ープンに、相互認証というオーバーヘッドが伴うSDメモ
リカードを一例にして説明を進めた。しかしファイルオ
ープンに、何等かのオーバーヘッドが伴い、複数ファイ
ルのオープンに時間がかかるような記録媒体であるな
ら、どのような記録媒体であっても適用されることはい
うまでもない。例えば、コンパクトフラッシュ(登録商
標)カード、スマートメディア、メモリスティック、マ
ルチメディアカード、PCM-CIAカード等のフラッシュメ
モリカードであってもよい。半導体メモリカード以外
の、フレシキブルディスク、SuperDisk,Zip,Clik!等の
磁気記録ディスク(i)、ORB,Jaz,SparQ,SyJet,EZFley,マ
イクロドライブ等のリムーバルハードディスクドライブ
(ii)、DVD-RAM,DVD-RW,PD,DVD+RW,CD-RW等の光ディスク
であってもよい。
【0077】(E)第4実施形態において説明した記録装
置の特徴は、図16〜図18のフローチャートで示した
ように、コンピュータ読み取り可能なプログラムの改良
により実現される。故に、この特徴部分たるプログラム
を、これらの装置とは別個独立に実施してもよい。プロ
グラムがコンピュータ読取可能な記録媒体に記録される
場合、この記録媒体を譲渡、貸与するという態様で、プ
ログラムのみを実施してもよい。またプログラムがネッ
トワーク上で配信される場合、ネットワーク上でプログ
ラムを伝送させるという態様で、プログラムを実施して
もよい。
【0078】(F)第1実施形態〜第4実施形態におい
て、SDメモリカードに記録されるべきコンテンツは電子
出版物であるものとしたが、音楽や映画等、他のコンテ
ンツであってよいことはいうまでもない。 (G)mビットのビットマップは、各EPUBxxx.KEYに1ビット
を割り当てることにより、EPUBxxx.KEY内に1つ以上の未
使用Key&Rule Entryがあるか(1)、EPUBxxx.KEY内のKey&
Rule Entryが全て、使用中であるか(2)の2つの状態を表
したが、EPUBxxx.KEYに割り当てるべきビット数を増や
すことにより、3つ以上の状態を表してもよい。
【0079】(H)nビットのビットマップは、各Key&Rule
Entryに1ビットを割り当てることにより、Key&Rule En
tryが未使用であるか(1)、Key&Rule Entryが使用中であ
るか(2)の2つの状態を表したが、Key&Rule Entryに割り
当てるべきビット数を増やすことにより、3つ以上の状
態を表してもよい。 (I)プロテクト領域には、権利管理情報を記録したが、
機密性が求められる情報であれば、課金情報や個人情
報、企業秘密情報等の他の情報であってもよい。また、
第1実施形態〜第4実施形態で示したように、コンテン
ツが出版物である場合は、再生処理に、表示や印刷とい
ったバリエーションがある。この場合、再生のバリエー
ション毎に、利用可能な条件を定めても良い。
【0080】(J)権利管理情報は、コピーや再生といっ
た利用をどれだけ許可するかの条件を設定したが、コピ
ー処理に、移動やマイグレイト、チェックアウトといっ
たバリエーションが存在する場合、これらバリエーショ
ン毎に、利用可能な条件を定めても良い。移動とは、コ
ピー元のコンテンツの削除が伴うコピー処理であり、複
数記録媒体間でコンテンツを移動する場合に用いられ
る。
【0081】マイグレイトとは、コピー先記録媒体にお
いて、権利管理情報を生成させることを前提にしたコピ
ー処理である。チェックアウトとは、回数制限されたコ
ピーの一種であり、コピー回数を1回デクリメントした
上でコンテンツのコピーが実行される。一般にいう回数
制限付きのコピーと、チェックアウトとの違いは、コピ
ー回数のインクリメントが可能である点である。コピー
回数のインクリメントは、コピーにより記録媒体に記録
されたコンテンツを再生不能にするという処理("チェッ
クイン"と呼ばれる。)を行った後でなされる。
【0082】(K)権利管理情報において利用可能な条件
をどのように指定するかは、どのような態様でも良い。
例えば再生やコピーの残り回数による指定であってもよ
いし、上限数の指定であってもよい。残り時間による指
定であってもよいし、上限時間の設定や有効期間の指定
(年月日の指定)であってもよい。
【0083】
【発明の効果】以上説明したように、本発明に係る記録
装置は、各ファイルが、未使用のエントリー領域を1つ
以上有している第1状態であるか、又は、全てのエント
リー領域が使用中である第2状態であるかを示す状態情
報を記録媒体から読み取る読取手段と、読み取られた状
態情報を参照して、第1状態にあるファイルを特定し、
特定されたファイル内部の未使用エントリー領域にデー
タを書き込む書込手段と、データの書き込みにより、フ
ァイル内のエントリー領域が全て使用中となれば、その
ファイルが第2状態になった旨を示すよう、記録媒体上
の状態情報を更新する更新手段とを備えている。複数フ
ァイルのうち、どれに空きのエントリー領域が存在して
いるかが状態情報に示されているので、複数ファイルに
虫食い状に空き領域が存在している場合でも、この状態
情報を参照することにより、空き領域をもったファイル
の特定を高速に行うことができる。ファイルアクセス
は、状態情報のオープンと、空き領域をもつファイルの
オープンの計2回になるので、空きのエントリー領域を
もつファイルを捜し求めて、複数ファイルをオープンす
るという手間から解放され、新たなコンテンツの書き込
みに要する時間を短縮することができる。
【0084】ここで前記記録装置は更に、前記書込手段
が読み取られた状態情報を参照した結果、記録媒体中の
全ファイルが第2状態であることが判明した場合に、第
1状態にあるファイルを新たにクリエイトするクリエイ
ト手段を備えてもよい(6)。この記録装置によれば、新
たなファイルのクリエイトは、既存ファイル内の未使用
エントリー領域が埋まってからになるので、新しいファ
イルがむやみにクリエイトされることはない。長期的に
見て、ファイルの数を最小限に留めることができるの
で、記録媒体の記録内容をスッキリと整理しておくこと
ができる。記録媒体がSDメモリカードである場合、プロ
テクト領域は、SDメモリカード全体領域に対して、比較
的小さめにとる場合が多い。具体的にいうなら、SDメモ
リカード全体領域に対して1%程度の割合で確保され
る。この場合プロテクト領域内のファイルの個数も制限
されることになる。しかし上述した記録装置では、ファ
イルの個数をなるべく小さくするので、プロテクト領域
を利用するにあたって非常に望ましいという効果を奏す
る。
【図面の簡単な説明】
【図1】(a)第1実施形態に係るSDメモリカードの外
観形状を示す図である。 (b)SDメモリカード100の階層構造を示す図であ
る。 (c)SDメモリカード100における物理層の構成を示
す図である。
【図2】 SDメモリカードが具備している、ユーザデー
タ領域及びプロテクト領域のファイル構成、ディレクト
リ構成を示す図である。
【図3】 EPUBxxx.KEYの内部構成を示す図である。
【図4】 複数のKey&Rule Entryと、ユーザデータ領域
における複数のコンテンツとの対応関係を示す図であ
る。
【図5】 EPUBxxx.KEY内のビットマップの一例を示す
図である。
【図6】 EPUBxxx.KEY内のビットマップの具体的な設
定例を示す図である。
【図7】 図6のようにEPUB005.KEY内のKey&Rule Entr
yが設定されている場合、EPUB005.KEY内のビットマップ
がどのように設定されるかを示す図である。
【図8】 SD_EPUB.MMG内のビットマップを示す図であ
る。
【図9】 EPUB001.KEY〜EPUB005.KEYが図6の状態にな
っている場合において、SD_EPUB.MMG内のビットマップ
がどのように設定されるかを示す図である。
【図10】 図6に示したEPUB005.KEY内の3個目のKey&
Rule Entryと、ユーザデータ領域に記録されている1つ
目のコンテンツ001とが対応している場合、変換テーブ
ル格納ファイルがどのように設定されるかを示す図であ
る。
【図11】(a)第2実施形態において1つのクラスタ
からなるファイルとして構成されたSD_EPUB.MMG及びEPU
B001.KEY,EPUB002.KEY,EPUB003.KEY・・・を示す図であ
る。 (b)消去可能ブロックと、クラスタとの関係を示す図
である。 (c)x=1と定められた場合のクラスタを示す図であ
る。 (d)x=16と定められた場合のクラスタを示す図であ
る。
【図12】(a)第3実施形態に係るプロテクト領域の
詳細なフォーマットを示す図である。 (b)s個の消去可能ブロックに含まれるs個のクラスタ
のうち、y個のクラスタをボリューム管理情報の記録に
割り当てる場合を想定した図である。 (c)x=1と設定された場合、ボリューム管理情報の記
録にどれだけのクラスタが割り当てられるかを示す図で
ある。 (d)x=16と設定された場合、ボリューム管理情報の記
録にどれだけのクラスタを割り当てるかを示す図であ
る。
【図13】 かかるサイズ調整がなされたプロテクト領
域のレイアウトをより詳細に示した図である。
【図14】(a)民生用音響機器である記録装置を示す
図である。 (b)パソコン等の情報機器である記録装置を示す図で
ある。
【図15】 第4実施形態に係る記録装置の内部構成を
示す図である。
【図16】 書込処理を実現する処理手順を示すフロー
チャートである。
【図17】 コンテンツの再生処理の処理手順を示すフ
ローチャートである。
【図18】 コンテンツの削除処理の処理手順を示すフ
ローチャートである。
【符号の説明】
1 システム領域 2 Hidden領域 3 プロテクト領域 4 AKE処理部 5 AKE処理部 6 Ks復号化部 7 Ks暗号化部 8 ユーザデータ領域 10 内部メモリ 11 ブラウザ部 12 セキュア処理部 13 暗号化解除部 14 再生部 15 制御部 100 メモリカード 101 プロテクトスイッチ
フロントページの続き (72)発明者 佐藤 光弘 大阪府門真市大字門真1006番地 松下電器 産業株式会社内 (72)発明者 下島 崇 大阪府門真市大字門真1006番地 松下電器 産業株式会社内 (72)発明者 長谷川 喜一 大阪府門真市大字門真1006番地 松下電器 産業株式会社内 (72)発明者 中村 典夫 大阪府門真市大字門真1006番地 松下電器 産業株式会社内 (72)発明者 藤村 一哉 大阪府門真市大字門真1006番地 松下電器 産業株式会社内 Fターム(参考) 5B017 AA03 BA07 CA14 5B035 AA00 BB09 CA11 5B082 CA07 CA08 GA11 JA08

Claims (37)

    【特許請求の範囲】
  1. 【請求項1】 エントリー領域を複数有したファイルが
    複数記録された記録媒体についての記録装置であって、 各ファイルが、未使用のエントリー領域を1つ以上有し
    ている第1状態であるか、又は、全てのエントリー領域
    が使用中である第2状態であるかを示す状態情報を記録
    媒体から読み取る読取手段と、 読み取られた状態情報を参照して、第1状態にあるファ
    イルを特定し、特定されたファイル内部の未使用エント
    リー領域にデータを書き込む書込手段と、 データの書き込みにより、ファイル内のエントリー領域
    が全て使用中となれば、そのファイルが第2状態になっ
    た旨を示すよう、記録媒体上の状態情報を更新する更新
    手段とを備える記録装置。
  2. 【請求項2】 前記更新手段は、 第2状態にあるファイルにおいて、その中の1つのエン
    トリー領域が使用中から未使用に変化した場合、そのフ
    ァイルが第2状態から第1状態になった旨を示すよう、
    状態情報を更新する請求項1記載の記録装置。
  3. 【請求項3】 前記複数ファイルの個数は、m個であり
    (mは2以上の整数)、状態情報は、各ファイルに対応づけ
    られたフラグをm個配してなるフラグ列であり、フラグ
    はオフに設定されることにより、対応するファイルが第
    1状態にあることを、オンに設定されることにより、対
    応するファイルが第2状態にあることを示し、 前記書込手段により特定されるのは、オフフラグに対応
    するファイルであり、前記更新手段による更新とは、 書込手段による書き込みにて、特定されたファイル内の
    全てのエントリー領域が使用中になった場合、前記オフ
    フラグを、オンに設定することである、請求項1記載の
    記録装置。
  4. 【請求項4】 前記ファイルが対応するオフフラグは、 フラグ列の先頭に一番近いオフフラグである、請求項3
    記載の記録装置。
  5. 【請求項5】 前記状態情報は、複数エントリー領域を
    有する複数ファイルの何れか、又は、それらのファイル
    とは別のファイルの内部に配されている、請求項3記載
    の記録装置。
  6. 【請求項6】 前記記録装置は更に 前記書込手段が読み取られた状態情報を参照した結果、
    記録媒体中の全ファイルが第2状態であることが判明し
    た場合に、第1状態にあるファイルを新たにクリエイト
    するクリエイト手段を備える請求項1記載の記録装置。
  7. 【請求項7】 前記1つのファイル内のエントリー領域
    の個数はn個であり(nは、2以上の整数)、 記録媒体には更に、1つのファイル内の各エントリー領
    域に対応するn個のフラグからなるフラグ列が記録され
    ており、 フラグはオフに設定されることにより、対応するエント
    リー領域が未使用であることを、オンに設定されること
    により、対応するエントリー領域が使用中にあることを
    示し、 書込手段によるデータの書込先に選ばれるエントリー領
    域は、オフフラグに対応するエントリー領域である、請
    求項1記載の記録装置。
  8. 【請求項8】 前記書込先に選ばれるエントリー領域に
    対応するオフフラグは、フラグ列の先頭に一番近いオフ
    フラグである、請求項7記載の記録装置。
  9. 【請求項9】 前記n個のフラグ列は、n個のエントリー
    領域を有する複数ファイルの何れか、又は、それらのフ
    ァイルとは別のファイルの内部に配されている、請求項
    7記載の記録装置。
  10. 【請求項10】 前記n個のフラグ列は、状態情報と共
    に、別のファイルの内部に配されている、請求項9記載
    の記録装置。
  11. 【請求項11】 前記記録媒体は半導体メモリカードで
    あり、 半導体メモリカードは、 何れかの装置が接続された際、その装置が正当か否かを
    認証する認証回路と、当該装置が正当であることが認証
    回路により認証された場合のみ、アクセスされるプロテ
    クト領域とを備え、 前記ファイルは、プロテクト領域に記録されている、請
    求項1記載の記録装置。
  12. 【請求項12】 前記半導体メモリカードは更に、暗号
    化コンテンツが複数記録されたユーザデータ領域を備
    え、 プロテクト領域に記録されたファイル内の複数エントリ
    ー領域のそれぞれは、ユーザデータ領域における暗号化
    コンテンツのそれぞれに割り当てられており、 エントリー領域に対して書込手段が書き込むデータは、 そのエントリー領域が割り当てられた暗号化コンテンツ
    についての復号鍵又は権利管理情報を含む、請求項11
    記載の記録装置。
  13. 【請求項13】 前記記録媒体の領域は、複数のクラス
    タからなり、 前記ファイル内のそれぞれのエントリー領域は、固定長
    であり、 一ファイル内のエントリー領域の個数は、 ファイルのサイズが、1つのクラスタサイズ以下になる
    ように定められている、請求項1記載の記録装置。
  14. 【請求項14】 前記記録媒体は、データの書き込みに
    先立って、記録内容の消去が必要な半導体メモリカード
    であり、 前記クラスタのサイズは、半導体メモリカードにおける
    消去可能な最小領域のサイズそのもの又は当該サイズの
    整数分の一に設定されている、請求項13記載の記録装
    置。
  15. 【請求項15】 記録媒体であって、 各ファイルはエントリー領域を複数有している複数のフ
    ァイルと、 各ファイルの状態が、未使用のエントリー領域を1つ以
    上有している第1状態であるか、又は、全てのエントリ
    ー領域が使用中である第2状態であるかを示す状態情報
    とが記録されている記録媒体。
  16. 【請求項16】 前記複数ファイルの個数はm個であり
    (mは2以上の整数)、 状態情報は、各ファイルに対応づけられたフラグをm個
    配してなるフラグ列であり、フラグはオフに設定される
    ことにより、対応するファイルが第1状態にあることを
    示し、オンに設定されることにより、対応するファイル
    が第2状態にあることを示す、請求項15記載の記録媒
    体。
  17. 【請求項17】 前記1つのファイル内のエントリー領
    域の個数はn個であり(nは、2以上の整数)、 記録媒体には更に、1つのファイル内の各エントリー領
    域に対応するn個のフラグからなるフラグ列が記録され
    ており、 フラグはオフに設定されることにより、対応するエント
    リー領域が未使用であることを示し、オンに設定される
    ことにより、対応するエントリー領域が使用中にあるこ
    とを示す、請求項15記載の記録媒体。
  18. 【請求項18】 前記記録媒体は半導体メモリカードで
    あり、 半導体メモリカードは、 何れかの装置が接続された際、その装置が正当か否かを
    認証する認証回路と、装置装置が正当であることが認証
    回路により認証された場合のみ、アクセスされるプロテ
    クト領域とを備え、 前記ファイルは、プロテクト領域に記録されている、請
    求項15記載の記録媒体。
  19. 【請求項19】 前記半導体メモリカードは更に、暗号
    化コンテンツが複数記録されたユーザデータ領域を備
    え、 プロテクト領域に記録されたファイル内の複数エントリ
    ー領域のそれぞれは、暗号化コンテンツのそれぞれに割
    り当てられており、 このエントリー領域に対して書込手段が書き込むデータ
    は、 そのエントリー領域が割り当てられた暗号化コンテンツ
    についての復号鍵又は権利管理情報を含む、請求項18
    記載の記録媒体。
  20. 【請求項20】 前記記録媒体の領域は、複数のクラス
    タからなり、 前記ファイル内のそれぞれのエントリー領域は、固定長
    であり、 一ファイル内のエントリー領域の個数は、 ファイルのサイズが、1つのクラスタサイズ以下になる
    ように定められている、請求項15記載の記録媒体。
  21. 【請求項21】 前記記録媒体は、データの書き込みに
    先立って、記録内容の消去が必要な半導体メモリカード
    であり、 前記クラスタのサイズは、半導体メモリカードにおける
    消去可能な最小領域のサイズそのもの又は当該サイズの
    整数分の一に設定されている、請求項20記載の記録媒
    体。
  22. 【請求項22】 エントリー領域を複数有したファイル
    が複数記録された記録媒体についての記録手順をコンピ
    ュータに行わせるプログラムであって、 各ファイルが、未使用のエントリー領域を1つ以上有し
    ている第1状態であるか、又は、全てのエントリー領域
    が使用中である第2状態であるかを示す状態情報を記録
    媒体から読み取る読取ステップと、 読み取られた状態情報を参照して、第1状態にあるファ
    イルを特定し、特定されたファイル内部の未使用エント
    リー領域にデータを書き込む書込ステップと、データの
    書き込みにより、ファイル内のエントリー領域が全て使
    用中となれば、そのファイルが第2状態になった旨を示
    すよう、記録媒体上の状態情報を更新する更新ステップ
    と をコンピュータに行わせるプログラム。
  23. 【請求項23】 前記更新ステップは、 第2状態にあるファイルにおいて、その中の1つのエン
    トリー領域が使用中から未使用に変化した場合、そのフ
    ァイルが第2状態から第1状態になった旨を示すよう状
    態情報を更新する、請求項22記載のプログラム。
  24. 【請求項24】 前記複数ファイルの個数は、m個であ
    り(mは2以上の整数)、 状態情報は、各ファイルに対応づけられたフラグをm個
    配してなるフラグ列であり、フラグはオフに設定される
    ことにより、対応するファイルが第1状態にあること
    を、オンに設定されることにより、対応するファイルが
    第2状態にあることを示し、 書込ステップにより特定されるのは、オフフラグに対応
    するファイルであり、更新ステップによる更新とは、 書込ステップによる書き込みにて、特定されたファイル
    内の全てのエントリー領域が使用中になった場合、オフ
    フラグを、オンに設定する、請求項22記載のプログラ
    ム。
  25. 【請求項25】 前記ファイルが対応するオフフラグ
    は、フラグ列の先頭に一番近いオフフラグである、請求
    項24記載のプログラム。
  26. 【請求項26】 前記状態情報は、複数エントリー領域
    を有する複数ファイルの何れか、又は、それらのファイ
    ルとは別のファイルの内部に配されている、請求項24
    記載のプログラム。
  27. 【請求項27】 前記記録ステップは更に、 前記書込手段が読み取られた状態情報を参照した結果、
    記録媒体中の全ファイルが第2状態であることが判明し
    た場合に、第1状態にあるファイルを新たにクリエイト
    するクリエイトステップを有する請求項22記載のプロ
    グラム。
  28. 【請求項28】 前記1つのファイル内のエントリー領
    域の個数はn個であり(nは、2以上の整数)、 記録媒体には更に、1つのファイル内の各エントリー領
    域に対応するn個のフラグからなるフラグ列が記録され
    ており、 フラグはオフに設定されることにより、対応するエント
    リー領域が未使用であることを、オンに設定されること
    により、対応するエントリー領域が使用中にあることを
    示し、 書込ステップによるデータの書込先に選ばれるエントリ
    ー領域は、オフフラグに対応するエントリー領域である
    請求項22記載のプログラム。
  29. 【請求項29】 前記書込先に選ばれるエントリー領域
    に対応するオフフラグは、フラグ列の先頭に一番近いオ
    フフラグである、請求項28記載のプログラム。
  30. 【請求項30】 前記n個のフラグ列は、n個のエントリ
    ー領域を有する複数ファイルの何れか、又は、それらの
    ファイルとは別のファイルの内部に配されている、請求
    項28記載のプログラム。
  31. 【請求項31】 前記n個のフラグ列は、状態情報と共
    に、別のファイルの内部に配されている、請求項30記
    載のプログラム。
  32. 【請求項32】 前記記録媒体は半導体メモリカードで
    あり、 半導体メモリカードは、 何れかの装置が接続された際、その装置が正当か否かを
    認証する認証回路と、当該装置が正当であることが認証
    回路により認証された場合のみ、アクセスされるプロテ
    クト領域とを備え、 前記ファイルは、プロテクト領域に記録されている、請
    求項22記載のプログラム。
  33. 【請求項33】 前記半導体メモリカードは更に、暗号
    化コンテンツが複数記録されたユーザデータ領域を備
    え、 プロテクト領域に記録されたファイル内の複数エントリ
    ー領域のそれぞれは、ユーザデータ領域における暗号化
    コンテンツのそれぞれに割り当てられており、 エントリー領域に対して書込ステップが書き込むデータ
    は、 そのエントリー領域が割り当てられた暗号化コンテンツ
    についての復号鍵又は権利管理情報を含む、請求項32
    記載のプログラム。
  34. 【請求項34】 前記記録媒体の領域は、複数のクラス
    タからなり、 前記ファイル内のそれぞれのエントリー領域は、固定長
    であり、 一ファイル内のエントリー領域の個数は、 ファイルのサイズが、1つのクラスタサイズ以下になる
    ように定められている、請求項22記載のプログラム。
  35. 【請求項35】 前記記録媒体は、データの書き込みに
    先立って、記録内容の消去が必要な半導体メモリカード
    であり、 前記クラスタのサイズは、半導体メモリカードにおける
    消去可能な最小領域のサイズそのもの又は当該サイズの
    整数分の一に設定されている、請求項22記載のプログ
    ラム。
  36. 【請求項36】 請求項22記載のプログラムが記録さ
    れているコンピュータ読み取り可能な記録媒体。
  37. 【請求項37】 エントリー領域を複数有したファイル
    が複数記録された記録媒体についての記録方法であっ
    て、 各ファイルが、未使用のエントリー領域を1つ以上有し
    ている第1状態であるか、又は、全てのエントリー領域
    が使用中である第2状態であるかを示す状態情報を記録
    媒体から読み取る読取ステップと、 読み取られた状態情報を参照して、第1状態にあるファ
    イルを特定し、特定されたファイル内部の未使用エント
    リー領域にデータを書き込む書込ステップと、 データの書き込みにより、ファイル内のエントリー領域
    が全て使用中となれば、そのファイルが第2状態になっ
    た旨を示すよう、記録媒体上の状態情報を更新する更新
    ステップと、を有する記録方法。
JP2002196318A 2001-07-05 2002-07-04 半導体メモリカード、記録装置、プログラム、方法 Expired - Lifetime JP3981303B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2002196318A JP3981303B2 (ja) 2001-07-05 2002-07-04 半導体メモリカード、記録装置、プログラム、方法

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2001-204322 2001-07-05
JP2001204322 2001-07-05
JP2002196318A JP3981303B2 (ja) 2001-07-05 2002-07-04 半導体メモリカード、記録装置、プログラム、方法

Publications (2)

Publication Number Publication Date
JP2003085010A true JP2003085010A (ja) 2003-03-20
JP3981303B2 JP3981303B2 (ja) 2007-09-26

Family

ID=26618175

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002196318A Expired - Lifetime JP3981303B2 (ja) 2001-07-05 2002-07-04 半導体メモリカード、記録装置、プログラム、方法

Country Status (1)

Country Link
JP (1) JP3981303B2 (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006146505A (ja) * 2004-11-18 2006-06-08 Canon Inc 記憶管理装置及び記憶管理方法
JP2007102450A (ja) * 2005-10-04 2007-04-19 Matsushita Electric Ind Co Ltd コンテンツ記録媒体
JP2010183571A (ja) * 2005-01-07 2010-08-19 Apple Inc 電子デバイスのためのアクセサリ認証
JP2010250648A (ja) * 2009-04-17 2010-11-04 Sharp Corp コンテンツ購入システム、記録媒体、及び再生装置
WO2024045104A1 (en) * 2022-09-01 2024-03-07 Micron Technology, Inc. Virtual indexing in memory device

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006146505A (ja) * 2004-11-18 2006-06-08 Canon Inc 記憶管理装置及び記憶管理方法
JP4667014B2 (ja) * 2004-11-18 2011-04-06 キヤノン株式会社 記憶管理装置及びその制御方法
JP2010183571A (ja) * 2005-01-07 2010-08-19 Apple Inc 電子デバイスのためのアクセサリ認証
JP2007102450A (ja) * 2005-10-04 2007-04-19 Matsushita Electric Ind Co Ltd コンテンツ記録媒体
JP2010250648A (ja) * 2009-04-17 2010-11-04 Sharp Corp コンテンツ購入システム、記録媒体、及び再生装置
WO2024045104A1 (en) * 2022-09-01 2024-03-07 Micron Technology, Inc. Virtual indexing in memory device

Also Published As

Publication number Publication date
JP3981303B2 (ja) 2007-09-26

Similar Documents

Publication Publication Date Title
KR100859922B1 (ko) 기록장치, 기록매체, 기록방법
RU2257609C2 (ru) Устройство доступа к полупроводниковой карте памяти, компьютерно-считываемый носитель записи, способ инициализации и полупроводниковая карта памяти
JP4101975B2 (ja) 可搬型記憶媒体を用いたデータ記録/再生装置
JP3981303B2 (ja) 半導体メモリカード、記録装置、プログラム、方法
JP2000250817A (ja) 記憶システム、記憶装置及び記憶データ保護方法
JP2004246851A (ja) 記録媒体の読み出し制限方式
JP2012108672A (ja) 記録媒体

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070213

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070412

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: 20070605

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20070629

R150 Certificate of patent or registration of utility model

Ref document number: 3981303

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20100706

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20110706

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20110706

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20120706

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20120706

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20130706

Year of fee payment: 6

EXPY Cancellation because of completion of term