JP5452988B2 - メモリ制御装置、コンテンツ再生装置、制御方法及び記録媒体 - Google Patents
メモリ制御装置、コンテンツ再生装置、制御方法及び記録媒体 Download PDFInfo
- Publication number
- JP5452988B2 JP5452988B2 JP2009138281A JP2009138281A JP5452988B2 JP 5452988 B2 JP5452988 B2 JP 5452988B2 JP 2009138281 A JP2009138281 A JP 2009138281A JP 2009138281 A JP2009138281 A JP 2009138281A JP 5452988 B2 JP5452988 B2 JP 5452988B2
- Authority
- JP
- Japan
- Prior art keywords
- content
- unit
- reproduction
- data
- integrity check
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0238—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
- G06F12/0246—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/10—Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/64—Protecting data integrity, e.g. using checksums, certificates or signatures
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/21—Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/2101—Auditing as a secondary aspect
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/21—Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/2151—Time stamp
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Technology Law (AREA)
- Multimedia (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Storage Device Security (AREA)
- Memory System (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Description
上記システムにおけるコンテンツの販売形態としては、1回のみ視聴可能、視聴回数の制限を設ける、累積視聴時間の制限を設ける、視聴時間に応じて課金する等、様々なものがある(非特許文献1を参照)。コンテンツの試聴回数や累積視聴時間等に応じて課金する場合、視聴回数や視聴時間等の再生に関する情報(以下、「再生情報」と呼称する。)をクライアントにて管理する必要がある。
そこで、従来は、再生情報に対するハッシュ値などのインテグリティチェックデータをセキュアなメモリに格納して、再生情報の改ざんが行われているか否かをチェックすることで、コンテンツの不正利用を防止している。インテグリティチェックデータを格納するセキュアなメモリとして、不揮発性メモリであるフラッシュメモリを使用することが考えられる。しかし、フラッシュメモリは書き込みにより劣化し、最終的には破壊されてしまう。
特許文献1及び特許文献2は、フラッシュメモリの劣化対策を開示している。
特許文献1は、フラッシュメモリの格納領域に対するデータの書き込み回数が、劣化に耐え得る回数以下となるように制御する技術を開示している。具体的には、図13(a)に示すように、格納領域に、データとデータを書き込んだ回数とを対にして格納し、現在使用している格納領域を示すポインタを、フラッシュメモリの最初の場所に格納する。そして、データを書き込んだ回数が、閾値を超えたときに、図13(b)に示すように、次の格納領域を使用するように、ポインタを更新する。その結果、すべての格納領域を閾値以下の書き込み回数となるように制御することができる。
本発明は、上記の問題点に鑑みなされたものであって、上記の従来技術と比較して、読み込み及び書き込み時の処理量を少なくしつつ、インテグリティチェックデータを格納するセキュアなフラッシュメモリに適した劣化対策を実現するデータ格納装置、コンテンツ再生装置、データ格納方法、コンピュータプログラム、記録媒体及び集積回路を提供することを目的とする。
ここで、前記再生情報が改竄されていると前記検証部が判断した場合、前記再生部は前記コンテンツの再生を禁止するように構成してもよい。
ここで、前記再生情報が改竄されていないと前記検証部が判断した場合、前記再生部は前記コンテンツを再生するように構成してもよい。
本態様によると、前記再生情報が改竄されていない場合には、コンテンツの再生を許可する。
これにより、仮に、非セキュア格納部に格納された再生情報が更新前のものに改竄された場合であっても、前記更新前の再生情報から生成されたインテグリティチェックデータは、前記セキュア格納部に格納され且つ前記更新前の再生情報に対応するインテグリティチェックデータとは一致しないので、前記再生情報は改竄された否かを確実に判断でき、コンテンツの不正利用を防止できる。
本態様によると、前記第1インテグリティチェックデータと前記一部を書き換えた第1インテグリティチェックデータとを比較するので、両者の比較結果は不一致となって、コンテンツの不正利用を防止できる。
本態様によると、フラッシュメモリの所定領域に書き込みが集中してフラッシュメモリが劣化するのを抑制できる。
ここで、前記インテグリティチェックデータの所定領域を構成する数値列は、前記インテグリティチェックデータの下位所定ビットの数値列であるとしてもよい。
ここで、前記所定の計算はハッシュ計算であり、前記インテグリティチェックデータはハッシュ値であるとしてもよい。
本態様によると、ハッシュ値を用いることで、改竄検出の信頼性を高めることができる。また、本態様によると、ハッシュ値に基づき格納先アドレスが生成されるので、セキュア格納部におけるデータの格納先を分散させることができる。
本態様によると、再生履歴の改竄検出を行い、コンテンツの不正利用を防止することができる。
ここで、前記再生情報は、前記コンテンツの再生権利を示す情報であるとしてもよい。
<コンテンツ再生装置1000の構成>
図1は、コンテンツ再生装置1000の構成を機能的に示す機能ブロック図である。
同図に示すように、コンテンツ再生装置1000は、コンテンツ用メモリ2001、コンテンツ鍵用メモリ2002、再生情報用メモリ2003、確認データ用メモリ2004、コンテンツ再生部1001、再生情報生成部1002、確認データ生成部1003、第1のアドレス計算部1004、確認データ格納部1005、第2のアドレス計算部1006、比較対象データ読込部1007、検証部1008、旧アドレス保持部1009、確認データ変更部1010、再生情報送信部1011及び検証結果通知部1012から構成される。
ROM及びハードディスクユニットにはコンピュータプログラムが記録されており、マイクロプロセッサがコンピュータプログラムに従って動作することにより、コンテンツ再生装置1000は、その機能を達成する。
コンテンツ用メモリ2001は、暗号化コンテンツを格納するためのメモリである。コンテンツ用メモリ2001は、例えば、フラッシュメモリやハードディスクなどの不揮発メモリで実現される。また、コンテンツ用メモリ2001は、フラッシュメモリやハードディスクに限定されず、コンテンツ再生装置1000に挿入されているカードであってもよい。
コンテンツは、音楽、動画、写真、アニメーション、コンピュータゲーム、コンピュータプログラム等であって、コンテンツのデータCDには、コンテンツ識別子IDが付加されている。
CCD=Enc(KC,ID‖CD)
である。ここで、「KC」は、コンテンツ鍵を示し、「‖」は、データの連結を示し、「Enc(K,D)」は、暗号鍵KでデータDを暗号化した暗号文を示す。
コンテンツを暗号化する暗号方式は、共通鍵暗号(ブロック暗号やストリーム暗号)を使用する。なお、暗号方式は公開鍵暗号であってもよい。その場合は、暗号化コンテンツのデータCCDは、
CCD=Enc(KPC,ID‖CD)
である。ここで、「KPC」は、公開鍵を示す。
また、ここでは、コンテンツのデータCDにコンテンツ識別子IDも含めて暗号化したものを暗号化コンテンツとしているが、これに限らない。コンテンツ識別子IDを含めずに暗号化してもよいし、他のデータ(例えば、コンテンツの権利情報)を含めて暗号化したものを暗号化コンテンツとしてもよい。
図2(a)に示す具体例では、コンテンツ用メモリ2001は、コンテンツ識別子「ID1」及び「ID1」で識別される暗号化コンテンツ、コンテンツ識別子「ID2」及び「ID2」で識別される暗号化コンテンツを含む、複数個のコンテンツ識別子と暗号化コンテンツとの組を格納しているが、単純に1個の暗号化コンテンツのみを格納する場合があってもよい。
コンテンツ鍵用メモリ2002は、コンテンツ鍵を格納するためのメモリである。コンテンツ鍵は、コンテンツを暗号化するための鍵である。
コンテンツ鍵用メモリ2002は、例えば、フラッシュメモリやハードディスクなどの不揮発メモリで実現される。また、コンテンツ鍵用メモリ2002は、フラッシュメモリやハードディスクに限定されず、コンテンツ再生装置1000に挿入されているカードであってもよい。
コンテンツ鍵を使用する暗号方式は、コンテンツ用メモリ2001の説明で述べたように共通鍵暗号であるが、公開鍵暗号で使用してもよい。
公開鍵暗号を使用する場合は、暗号化で使用する公開鍵に対応する秘密鍵を、コンテンツ鍵としてコンテンツ鍵用メモリ2002に格納する。
同図に示すように、コンテンツ鍵用メモリ2002は、コンテンツ用メモリ2001(図2(a)参照)に格納されている暗号化コンテンツに対応するコンテンツ鍵を、コンテンツ識別子と対応付けて記憶している。
再生情報用メモリ2003は、コンテンツ再生の履歴を示す再生履歴情報を格納するためのメモリである。
再生情報用メモリ2003は、例えば、フラッシュメモリやハードディスクなどの不揮発メモリで実現される。また、再生情報用メモリ2003は、フラッシュメモリやハードディスクに限定されず、コンテンツ再生装置1000に挿入されているカードであってもよい。
なお、コンテンツごとの格納先の開始アドレスは、予め与えられているものとする。
図3は、再生履歴情報の例を示している。図3(a)は、再生履歴情報として、再生時間を使用している例であり、図3(b)は、再生履歴情報として、再生回数を使用している例である。
確認データ用メモリ2004は、再生履歴情報のハッシュ値である確認データを格納するためのメモリである。
確認データ用メモリ2004は、例えば、フラッシュメモリなどの不揮発メモリで実現される。また、確認データ用メモリ2004は、フラッシュメモリに限定されず、ハードディスクやコンテンツ再生装置1000に挿入されているカードであってもよい。
図2(d)は、確認データ用メモリ2004に格納される情報の一例を示す図である。同図に示すように、確認データ用メモリ2004は、コンテンツごとに確認データを格納するための領域が予め与えられているものとする。
なお、コンテンツごとの確認データの格納可能領域の開始アドレスは、予め与えられているものとする。
コンテンツ再生部1001は、コンテンツ用メモリ2001に格納されている暗号化コンテンツと、コンテンツ鍵用メモリ2002に格納されているコンテンツ鍵とを読み込み、コンテンツ鍵を用いて暗号化コンテンツを復号化する。さらに、コンテンツ再生部1001は、復号化したコンテンツを再生する。
ここで、コンテンツ再生部1001は、コンテンツ識別子と、暗号化コンテンツの格納先の開始アドレス及びコンテンツ鍵の格納先の開始アドレスとを対応付けたテーブルを予め保持しており、それに基づいて、指定されたコンテンツ識別子に対応する暗号化コンテンツとコンテンツ鍵とを読み込むように構成してもよい。
再生情報生成部1002は、コンテンツ再生部1001にてコンテンツが再生されると、再生履歴情報を生成し、生成した再生履歴情報を、再生情報用メモリ2003に格納する。
再生履歴情報の具体例としては、図3(a)及び(b)に示すように、コンテンツを再生した累積の時間を示す再生時間や、コンテンツを再生した累積の回数を示す再生回数を用いることができる。
再生情報生成部1002は、再生履歴情報が再生時間であれば、一定時間(例えば、1分)ごとに再生履歴情報を生成し、再生履歴情報が再生回数であれば、再生開始時又は再生終了時に、再生回数を更新した再生履歴情報を生成する。また、再生情報生成部1002は、再生開始時又は再生終了時に再生回数を更新するのではなく、所定の時間を再生したときに再生回数を更新するとしてもよい。
(7)確認データ生成部1003
確認データ生成部1003は、コンテンツ再生中の再生履歴情報更新に伴い、更新された再生履歴情報に対する確認データを生成する。
確認データは、具体的には、ハッシュ対象データHDをハッシュ関数へ入力したときの出力、すなわちハッシュ値である。
確認データ生成部1003は、安全性の観点から、攻撃者に知られないようにセキュアにハッシュ関数を実行する必要があるため、例えば、鍵付ハッシュ関数を用いることができる。
本実施形態では、確認データ生成部1003は、SHA−256を用いた鍵付ハッシュ関数を用いるものとする。すなわち、確認データ生成部1003にて生成される確認データ(ハッシュ値)は、256ビットである。
確認データ生成部1003は、コンテンツ再生中の再生履歴情報更新に伴い、更新された再生履歴情報に対する確認データを生成した場合、生成した確認データを、確認データ格納部1005へ出力する。
(8)第1のアドレス計算部1004
第1のアドレス計算部1004は、コンテンツ再生中の再生履歴情報更新に伴い、更新された再生履歴情報に対して生成された確認データの格納先アドレスを計算する。
AS1=S+H mod 2^8
とする。ここで、「x mod y」は、xをyで割ったときの余りを示す。
第1のアドレス計算部1004は、格納先アドレスを、確認データ格納部1005へ出力する。
確認データ格納部1005は、確認データ生成部1003から確認データを受け取り、第1のアドレス計算部1004から格納先アドレスを受け取る。
確認データ格納部1005は、確認データ用メモリ2004の格納先アドレスが示す領域に、確認データを格納する。
第2のアドレス計算部1006は、確認データ生成部1003から、検証対象の確認データを受け取ると、受け取った確認データの検証に必要な比較対象データの読込先アドレスを計算する。
具体的には、第2のアドレス計算部1006は、確認データ生成部1003から受け取った確認データに基づいて、比較対象データの読込先アドレスを計算する。計算方法は、第1のアドレス計算部1004と同様である。すなわち、受け取った確認データをH、確認データの格納可能領域の開始アドレスをSとすると、読込先アドレスAR2は、
AR2=S+H mod 2^8
である。そして、第2のアドレス計算部1006は、第1のアドレス計算部1004と同様に、mod計算せず単純に、確認データ生成部1003から受け取った確認データ(ハッシュ値)の下位8ビットを、読込先アドレスとすればよい。
また、第2のアドレス計算部1004は、検証部1008から、検証成功の通知を受け取ると、生成した読込先アドレスを、旧アドレス保持部1009へ出力する。
(11)比較対象データ読込部1007
比較対象データ読込部1007は、第2のアドレス計算部1004から、確認データと読込先アドレスとを受け取る。
そして、比較対象データ読込部1007は、第2のアドレス計算部1004から受け取った確認データと、確認データ用メモリ2004から読み込んだ比較対象データとを、検証部1008へ出力する。
検証部1008は、比較対象データ読込部1007から、確認データと比較対象データとを受け取る。そして、確認データと比較対象データとが一致するか否か検証する。
確認データと比較対象データとが一致する場合は、再生履歴情報の改ざん、セーブリストア攻撃などが行われていないことを意味する。この場合、コンテンツ再生装置1000は、コンテンツ再生処理を開始する。また、確認データと比較対象データとが一致する場合、検証部1008は、第2のアドレス計算部1006へその旨を通知する。
検証部1008は、検証結果を、検証結果通知部1012へ出力する。
(13)旧アドレス保持部1009
旧アドレス保持部1009は、古い確認データの格納先アドレスを保持する。より具体的には、旧アドレス保持部1009は、検証部1008において比較対象データと確認データとが一致した場合に、第2のアドレス計算部1006が計算した読込先アドレスを、旧アドレスとして保持する。
(14)確認データ変更部1010
確認データ変更部1010は、確認データ用メモリ2004に格納されている古い確認データを変更する。
(15)再生情報送信部1011
再生情報送信部1011は、再生情報用メモリ2003に格納されている再生履歴情報を、図示していないコンテンツ管理サーバへ送信する。
また、再生情報送信部1011は、ディジタル署名を生成する機能を有し、再生履歴情報にディジタル署名を付加して、コンテンツ管理サーバへ送信するとしてもよい。ディジタル署名については、非特許文献2の171〜187ページに記載されている。
検証結果通知部1012は、検証部1008から受け取った検証結果を、外部に通知する。ここで、外部の通知先の具体例は、コンテンツ管理サーバやコンテンツ再生装置1000の製造機関などである。
なお、検証結果通知部1012は、検証部1008において、確認データと比較対象データとが一致しない場合にのみ、その旨を外部へ通知するとしてもよい。
ここでは、図4から図8に示すフローチャートを用いて、コンテンツ再生装置1000の動作について説明する。
(1)全体の処理の流れ
図4は、コンテンツ再生装置1000の全体の処理の流れを示している。
図5は、コンテンツ再生装置1000による再生情報検証処理の動作を示すフローチャートである。なお、ここに示す動作は、図4のステップS1及びステップS3の詳細である。
確認データ生成部1003は、外部から入力されたコンテンツ識別子に対応する再生履歴情報を、再生情報用メモリ2003から読み出す(ステップS100)。
続いて、第2のアドレス計算部1006は、比較対象データの読み込み先のアドレスを計算する(ステップS102)。具体的には、第2のアドレス計算部1006は、ステップS101で生成された確認データの下位8ビットを比較対象データの読込先アドレスとする。
検証部1008は、比較対象データと確認データとが一致するか否か確認する(ステップS104)。比較対象データと確認データとが一致する場合(ステップS104でYES)、ステップS105へ進み、一致しない場合(ステップS104でNO)、ステップS106へ進む。
ステップS104でNOの場合、検証結果通知部1012は、比較対象データと確認データとが一致しない旨を、外部へ通知する(ステップS106)。その後、コンテンツ再生装置1000は、処理を終了する。
図6は、コンテンツ再生装置1000によるコンテンツ再生の動作を示すフローチャートである。なお、ここに示す動作は、図4のステップS11及びステップS14の詳細である。
コンテンツ再生部1001は、外部から入力されたコンテンツ識別子に対応する暗号化コンテンツをコンテンツ用メモリ2001から読み込み、更に、対応するコンテンツ鍵をコンテンツ鍵用メモリ2002から読み込む(ステップS201)。
(4)再生情報蓄積処理
図7は、コンテンツ再生装置1000による再生情報蓄積処理の動作を示すフローチャートである。なお、ここに示す動作は、図4のステップS12及びステップS14の詳細である。
その後、確認データ変更部1010は、旧アドレス保持部1009が保持する旧アドレスを読み出す。そして、旧アドレスが示す位置の確認データの一部を変更する(ステップS302)。
その後、第1のアドレス計算部1004は、確認データの格納先アドレスを計算する(ステップS304)。具体的には、第1のアドレス計算部1004は、ステップS303で生成された確認データの下位8ビットを格納先アドレスとする。
なお、コンテンツ再生及び再生情報蓄積処理は、正確に図4のフローチャートに示す順序で行われることは必須ではない。コンテンツ再生装置1000は、コンテンツを再生しつつ、所定のタイミングで(例えば1分毎に)、再生情報蓄積処理を行う。
図9(a)は、確認データ用メモリ2004の古い確認データの最上位バイトに0x00を書き込む(最上位バイトを0埋めする)ことにより、古い確認データを変更する例である。古い確認データが「0x153e48ab…」であったとすると、変更後は、「0x003e48ab…」となる。
確認データ変更部1010は、(a)及び(b)の何れの具体例を用いてもよい。
(5)再生情報送信処理
図8は、コンテンツ再生装置1000による再生情報送信処理の動作を示すフローチャートである。なお、ここに示す動作は、図4のステップS5の詳細である。
<実施形態の効果>
上述したように、本実施形態では、格納対象である確認データそのものに基づいて格納先アドレス決定することで、格納先アドレスを容易に生成することができる。
図10は、古い確認データを変更しなかった場合に生じる問題について説明するための図である。古い確認データを変更しない場合、図10のように、再生情報用メモリ2003を古い再生情報用メモリのデータに置き換えると、再生情報検証処理(図5参照)において、確認データ生成部1003は、古い再生履歴情報のハッシュ値を確認データとして生成する。
そのため、再生情報用メモリ2003を古い再生情報用メモリのデータに置き換えても、検証部1008による検証処理で正しく検証されてしまうため、セーブリストア攻撃が可能になってしまう。
さらに、本実施形態では、古い確認データの全部を変更するのではなく、一部を変更するので、書き込みのためにアクセスするサイズが削減できる。古い確認データの「一部」を変更すればよい理由は、コンテンツ再生装置1000は、再生情報検証処理でハッシュ関数を用いて確認データを計算しており、少なくとも1ビットを変更した確認データに対応するハッシュ対象データを求めることは、変更前の確認データに対応するハッシュ対象データ(古い再生履歴情報)が既知であっても、困難だからである。
確認データのサイズが1ブロックのサイズより大きい場合、確認データの中の任意の1ブロック(確認データの一部)を変更すればよいので、変更するブロックを削減でき、フラッシュメモリの劣化を抑えることができる。
なお、古い確認データは少なくとも1ビット変更すればよいので、古い確認データの任意の1ビット、1バイト、1ブロック又は古い確認データの全部を変更するとしてもよい。また、古い確認データからランダムに選択した1ビット、1バイト又は1ブロックを変更するとしてもよい。
図11(a)は、従来の再生情報検証処理を示す図である。
従来の再生情報検証処理は、再生履歴情報を読み出し(ステップS501)、再生履歴情報から確認データを生成する(ステップS502)。そして、比較対象データの格納先を示すアドレスを読み込み(ステップS503)、そのアドレスから、比較対象データを読み出す(ステップS504)。その後、確認データと比較対象データとを比較する(ステップS505)。
実施形態の再生情報検証処理は、再生履歴情報を読み出し(ステップS501)、再生履歴情報から確認データを生成する(ステップS502)。そして、比較対象データの格納先を示すアドレスを計算する(ステップS503a)、そのアドレスから、比較対象データを読み出す(ステップS504)。その後、確認データと比較対象データとを比較する(ステップS505)。
続いて、図12を用いて、再生情報蓄積処理について、従来方法と上記実施形態とを比較する。
図12(a)は、従来の再生情報蓄積処理を示す図である。
実施形態の再生情報蓄積処理は、先ず、再生履歴情報を生成し(ステップS601)、その後、古い確認データの一部を変更する(ステップS602)。次に、再生履歴情報から確認データを生成し(ステップS603)、生成した確認データから格納先のアドレスを計算する(ステップS604a)。そして、確認データを、ステップS604で計算したアドレスが示す位置へ格納する(ステップS607)。
また、本発明の実施形態のステップS604aでは、従来のアドレスの読み込みに替えて、アドレスを計算する。このアドレス計算は、確認データのモジュロ計算であったり、確認データの下位所定ビットを抽出することであった。そのため、ステップS604aのアドレス計算は、ステップS604のアドレス読み込みより高速である。
<その他の変形例>
上記に説明した実施形態は、本発明の実施形態の一例であり、本発明はこの実施形態に何ら限定されるものではなく、本発明の思想から逸脱しない範囲において種々なる態様で実施し得るものである。例えば、以下のような場合も本発明に含まれる。
(2)コンテンツ再生装置1000は、再生履歴情報として、再生時間や再生回数を使用していたが、これに限らない。例えば、コンテンツの所定の箇所を再生した回数であってもよい。また、早送りや巻戻しなどの特殊再生を行った回数としてもよい。さらに、再生時間やこれらの回数のいずれかの組み合わせであってもよい。
再生権利情報を蓄積する場合は、コンテンツ再生装置1000は、予め、コンテンツ管理サーバからコンテンツやコンテンツ鍵を入手する際に、再生権利情報を入手するとしてもよい。
また、コンテンツ再生装置1000は、再生履歴情報と再生権利情報とを組み合わせた再生情報を更新・検証してもよい。
(5)上記の実施形態では、確認データ用メモリ2004は、コンテンツ識別子ごとに確認データの格納可能領域を、確認データの大きさの2^8倍の大きさとしているが、これに限定されない。確認データの格納可能領域の大きさは、確認データの大きさの何倍であってもよい。例えば、n倍(n:2以上の整数)の大きさでもよい。
また、格納可能領域の大きさを確認データのn倍とした場合であっても、第1のアドレス計算部1004及び第2のアドレス計算部1006は、確認データをmod m(m≠n)したものを格納先アドレス及び読込先アドレスとして計算してもよい。
(6)上記の実施形態では、旧アドレス保持部1009は、検証部1008において比較対象データと確認データとが一致した場合に、その確認データに対して、第2のアドレス計算部1006が計算したアドレスを旧アドレスとして保持しているが、保持するアドレスや保持するタイミングはこれに限らない。
(7)上記の実施形態では、旧アドレス保持部1009にて、古い確認データの旧アドレスを保持した上で、確認データ変更部1010が、旧アドレスに格納されている確認データを変更しているが、これに限らない。
(8)上述したように、コンテンツは、音楽、動画、写真、アニメーション、コンピュータゲーム、コンピュータプログラム等である。上記の実施形態において、コンテンツ再生装置1000は、コンテンツを「再生」していたが、コンテンツがプログラムである場合には、コンテンツ再生装置1000は、プログラムを「実行」するとしてもよい。
データ格納装置は、例えば、移動端末であってもよい。そして、コンテンツ再生装置1000が再生履歴情報の更新(蓄積)・検証を行う代わりに、データ格納装置は、移動の履歴、すなわち、位置履歴を更新(蓄積)・検証するとしてもよい。
そして、位置履歴情報生成部1002’は、位置履歴を検知する手段を備え、所定のタイミング(例えば、一定時間ごとなど)または位置履歴が変更されるごとに、位置履歴情報を更新する。
この場合、データ格納装置は、コンテンツ再生装置1000のようなコンテンツ再生の機能は備えず、単純にそれらの履歴データを蓄積する機能を備えるとしてもよい。また、乱数生成の処理の履歴の場合、データ格納装置は、履歴情報として、乱数を蓄積してもよいし、乱数を生成するシード情報を蓄積してもよい。また、鍵発行や証明書発行処理の場合、データ格納装置は、履歴情報として、秘密鍵や公開鍵などの鍵自体を蓄積してもよいし、証明書の署名部分を蓄積してもよい。
また、本発明は、検証対象のデータを外部から入力して検証するデータ検証装置としてもよい。この場合、検証対象のデータとして再生履歴情報ではなくパスワードデータを使用してもよい。
(12)上記の実施形態におけるコンテンツ再生装置1000は、位置情報を取得する手段を備える構成としてもよい。そして、コンテンツ再生装置1000は、位置情報を検証することにより、コンテンツを特定の場所でのみ再生可能とする仕組みを提供するとしてもよい。
また、本発明は、コンテンツ再生処理に代えて、他の特定の処理を行う装置であって、前記特定の処理を特定の場所でのみ実行することが可能な仕組みを提供する装置としてもよい。
(17)また、本発明は、前記コンピュータプログラムまたは前記ディジタル信号をコンピュータ読み取り可能な記録媒体、例えば、フレキシブルディスク、ハードディスク、CD−ROM、MO、DVD、DVD−ROM、DVD−RAM、BD(Blu−ray Disc)、半導体メモリなどに記録したものとしてもよい。また、これらの記録媒体に記録されている前記ディジタル信号であるとしてもよい。
(19)また、本発明は、マイクロプロセッサとメモリを備えたコンピュータシステムであって、前記メモリは、上記コンピュータプログラムを記憶しており、前記マイクロプロセッサは、前記コンピュータプログラムにしたがって動作するとしてもよい。
(21)上記の実施形態及び上記の変形例をそれぞれ組み合わせるとしてもよい。
1001 コンテンツ再生部
1002 再生情報生成部
1003 確認データ生成部
1004 第1のアドレス計算部
1005 確認データ格納部
1006 第2のアドレス計算部
1007 比較対象データ読込部
1008 検証部
1009 旧アドレス保持部
1010 確認データ変更部
1011 再生情報送信部
1012 検証結果通知部
Claims (10)
- コンテンツの再生部と、
前記コンテンツの再生に関する再生情報を格納し耐タンパー技術により保護されていない非セキュア格納部と、
耐タンパー技術で保護され且つデータの書き込みの繰り返しによって劣化する性質を有するセキュア格納部と、
前記非セキュア格納部に格納された前記再生情報に所定の計算を施して第1インテグリティチェックデータを生成する生成部と、
前記第1インテグリティチェックデータの所定領域を構成する第1数値列に基づいて、前記第1インテグリティチェックデータを格納する前記セキュア格納部の第1格納先アドレスを生成して、この生成された第1格納先アドレスに基づいて前記第1インテグリティチェックデータを前記セキュア格納部に格納する格納処理部と、
前記コンテンツの再生が指定されると、再生対象の前記コンテンツの再生情報を前記非セキュア格納部から読み出して前記所定の計算を施して第2インテグリティチェックデータを確認データとして生成し、前記第2インテグリティチェックデータの所定領域を構成する第2数値列に基づいて生成された前記セキュア格納部の第2アドレスから所定のインテグリティチェックデータを比較対象データとして読み出し、前記読み出した比較対象データと前記生成された確認データとを比較して一致した場合前記再生情報は改竄されていないと判断し、一方、不一致の場合前記再生情報は改竄されていると判断する検証部と、
前記再生部によりコンテンツが再生されると、前記再生情報を更新して前記更新された再生情報を前記非セキュア格納部に格納する再生情報生成部と、を具備し、
前記再生情報が改竄されていないと前記検証部が判断した場合、
前記再生部は、前記コンテンツを再生し、
前記生成部は、前記更新された再生情報に前記所定の計算をして第3インテグリティチェックデータを生成し、
前記格納処理部は、前記セキュア格納部に格納されている前記比較対象データの一部を書き換え、
前記格納処理部は、さらに、前記第3インテグリティチェックデータの所定領域を構成する第3数値列に基づいて、前記第3インテグリティチェックデータを格納する前記セキュア格納部の第3格納先アドレスを生成し、この生成された第3格納先アドレスに基づいて前記第3インテグリティチェックデータを前記セキュア格納部に格納することを特徴とするコンテンツ再生装置。 - 前記再生情報が改竄されていると前記検証部が判断した場合、前記再生部は前記コンテンツの再生を禁止することを特徴とする請求項1記載のコンテンツ再生装置。
- 前記検証部が前記比較対象データを読み出した前記第2アドレスを旧アドレスとして保持する旧アドレス保持部を設け、
前記旧アドレス保持部は、前記再生情報が改竄されていないと前記検証部が判断した場合に、前記第2アドレスを前記旧アドレスとして保持し、
前記格納処理部は、前記再生部が前記コンテンツを再生した後に、前記旧アドレス保持部が保持する前記旧アドレスを読み出し、前記セキュア格納部の前記旧アドレスに格納されている前記比較対象データの一部を変更することを特徴とする請求項1記載のコンテンツ再生装置。 - 前記セキュア格納部は、所定のサイズのブロックを最低書込み単位としてデータを書き込むフラッシュメモリであることを特徴とする請求項1記載のコンテンツ再生装置。
- 前記第1、第2及び第3インテグリティチェックデータの所定領域を構成する数値列は、前記第1、第2及び第3インテグリティチェックデータの下位所定ビットの数値列であることを特徴とする請求項1記載のコンテンツ再生装置。
- 前記所定の計算はハッシュ計算であり、前記第1、第2及び第3インテグリティチェックデータはハッシュ値であることを特徴とする請求項1記載のコンテンツ再生装置。
- 前記再生情報は、前記コンテンツを再生した履歴を示す再生履歴情報であることを特徴とする請求項1記載のコンテンツ再生装置。
- 前記再生情報は、前記コンテンツの再生権利を示す情報であることを特徴とする請求項1記載のコンテンツ再生装置。
- コンテンツの再生部と、前記コンテンツの再生に関する再生情報を格納し耐タンパー技術により保護されていない非セキュア格納部と、耐タンパー技術で保護され且つデータの書き込みの繰り返しによって劣化する性質を有するセキュア格納部と、を具備するコンテンツ再生装置の制御方法であって、
前記コンテンツ再生装置の生成部は、前記非セキュア格納部に格納された前記再生情報に所定の計算を施して第1インテグリティチェックデータを生成し、
前記コンテンツ再生装置の格納処理部は、前記第1インテグリティチェックデータの所定領域を構成する第1数値列に基づいて、前記第1インテグリティチェックデータを格納する前記セキュア格納部の第1格納先アドレスを生成して、この生成された第1格納先アドレスに基づいて前記第1インテグリティチェックデータを前記セキュア格納部に格納し、
前記コンテンツ再生装置の検証部は、前記コンテンツの再生が指定されると、再生対象の前記コンテンツの再生情報を前記非セキュア格納部から読み出して前記所定の計算を施して第2インテグリティチェックデータを確認データとして生成し、前記第2インテグリティチェックデータの所定領域を構成する第2数値列に基づいて生成された前記セキュア格納部の第2アドレスから所定のインテグリティチェックデータを比較対象データとして読み出し、前記読み出した比較対象データと前記生成された確認データとを比較して一致した場合前記再生情報は改竄されていないと判断し、一方、不一致の場合前記再生情報は改竄されていると判断し、
前記コンテンツ再生装置の再生情報生成部は、前記再生部によりコンテンツが再生されると、前記再生情報を更新して前記更新された再生情報を前記非セキュア格納部に格納し、
前記再生情報が改竄されていないと前記検証部が判断した場合、
前記再生部は、前記コンテンツを再生し、
前記生成部は、前記更新された再生情報に前記所定の計算をして第3インテグリティチェックデータを生成し、
前記格納処理部は、前記セキュア格納部に格納されている前記比較対象データの一部を書き換え、
前記格納処理部は、さらに、前記第3インテグリティチェックデータの所定領域を構成する第3数値列に基づいて、前記第3インテグリティチェックデータを格納する前記セキュア格納部の第3格納先アドレスを生成し、この生成された第3格納先アドレスに基づいて前記第3インテグリティチェックデータを前記セキュア格納部に格納することを特徴とする制御方法。 - コンテンツの再生部と、前記コンテンツの再生に関する再生情報を格納し耐タンパー技術により保護されていない非セキュア格納部と、耐タンパー技術で保護され且つデータの書き込みの繰り返しによって劣化する性質を有するセキュア格納部と、を具備するコンテンツ再生装置を制御するコンピュータプログラムを記憶した記録媒体であって、
前記コンピュータプログラムは、前記コンテンツ再生装置を、
前記非セキュア格納部に格納された前記再生情報に所定の計算を施して第1インテグリティチェックデータを生成する生成手段と、
前記第1インテグリティチェックデータの所定領域を構成する第1数値列に基づいて、前記第1インテグリティチェックデータを格納する前記セキュア格納部の第1格納先アドレスを生成して、この生成された第1格納先アドレスに基づいて前記第1インテグリティチェックデータを前記セキュア格納部に格納する格納処理手段と、
前記コンテンツの再生が指定されると、再生対象の前記コンテンツの再生情報を前記非セキュア格納部から読み出して前記所定の計算を施して第2インテグリティチェックデータを確認データとして生成し、前記第2インテグリティチェックデータの所定領域を構成する第2数値列に基づいて生成された前記セキュア格納部の第2アドレスから所定のインテグリティチェックデータを比較対象データとして読み出し、前記読み出した比較対象データと前記生成された確認データとを比較して一致した場合前記再生情報は改竄されていないと判断し、一方、不一致の場合前記再生情報は改竄されていると判断する検証手段と、
前記再生部によりコンテンツが再生されると、前記再生情報を更新して前記更新された再生情報を前記非セキュア格納部に格納する再生情報生成手段として機能させ、
前記再生情報が改竄されていないと前記検証手段が判断した場合、
前記再生部に、前記コンテンツを再生させ、
前記生成手段に、前記更新された再生情報に前記所定の計算をして第3インテグリティチェックデータを生成させ、
前記格納処理手段に、前記セキュア格納部に格納されている前記比較対象データの一部を書き換えさせ、
前記格納処理手段に、さらに、前記第3インテグリティチェックデータの所定領域を構成する第3数値列に基づいて、前記第3インテグリティチェックデータを格納する前記セキュア格納部の第3格納先アドレスを生成させ、この生成された第3格納先アドレスに基づいて前記第3インテグリティチェックデータを前記セキュア格納部に格納させることを特徴とする記録媒体。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2009138281A JP5452988B2 (ja) | 2008-06-17 | 2009-06-09 | メモリ制御装置、コンテンツ再生装置、制御方法及び記録媒体 |
Applications Claiming Priority (3)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2008157930 | 2008-06-17 | ||
| JP2008157930 | 2008-06-17 | ||
| JP2009138281A JP5452988B2 (ja) | 2008-06-17 | 2009-06-09 | メモリ制御装置、コンテンツ再生装置、制御方法及び記録媒体 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JP2010027038A JP2010027038A (ja) | 2010-02-04 |
| JP5452988B2 true JP5452988B2 (ja) | 2014-03-26 |
Family
ID=41415822
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2009138281A Expired - Fee Related JP5452988B2 (ja) | 2008-06-17 | 2009-06-09 | メモリ制御装置、コンテンツ再生装置、制御方法及び記録媒体 |
Country Status (2)
| Country | Link |
|---|---|
| US (1) | US8418256B2 (ja) |
| JP (1) | JP5452988B2 (ja) |
Families Citing this family (8)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| KR101438072B1 (ko) | 2010-04-15 | 2014-09-03 | 라모트 앳 텔-아비브 유니버시티 리미티드 | 소거 없는 플래시 메모리의 다중 프로그래밍 |
| JP5908991B2 (ja) * | 2011-12-21 | 2016-04-26 | インテル・コーポレーション | 安全なダイレクトメモリアクセス |
| US9940455B2 (en) | 2015-02-25 | 2018-04-10 | International Business Machines Corporation | Programming code execution management |
| US10251119B2 (en) * | 2016-01-27 | 2019-04-02 | Mediatek Singapore Pte. Ltd. | Method and apparatus for handling reject |
| JP7143626B2 (ja) * | 2018-05-11 | 2022-09-29 | 大日本印刷株式会社 | 配置装置、検証装置、制御方法、データ生成方法及びデータ構造 |
| CN109408406B (zh) * | 2018-10-18 | 2023-02-14 | 深圳三地一芯电子有限责任公司 | 闪存的数据存储方法及存储介质 |
| JP7735238B2 (ja) * | 2022-09-16 | 2025-09-08 | 株式会社東芝 | 情報処理装置、方法およびプログラム |
| US20250119288A1 (en) * | 2023-10-04 | 2025-04-10 | Nvidia Corporation | Secure data storage using data integrity verification for autonomous systems and applications |
Family Cites Families (8)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP3446397B2 (ja) | 1995-05-19 | 2003-09-16 | 富士ゼロックス株式会社 | Eepromの制御方法 |
| JPH1185629A (ja) | 1997-07-15 | 1999-03-30 | Fujitsu Ltd | フラッシュ・メモリの管理方式 |
| JP4779183B2 (ja) * | 1999-03-26 | 2011-09-28 | ソニー株式会社 | 再生装置および再生方法 |
| US20030076957A1 (en) * | 2001-10-18 | 2003-04-24 | Nadarajah Asokan | Method, system and computer program product for integrity-protected storage in a personal communication device |
| JP4340856B2 (ja) * | 2003-04-25 | 2009-10-07 | ソニー株式会社 | データの保護方法およびその保護装置 |
| US9075851B2 (en) * | 2003-12-09 | 2015-07-07 | Emc Corporation | Method and apparatus for data retention in a storage system |
| JP2005353127A (ja) * | 2004-06-08 | 2005-12-22 | Ricoh Co Ltd | 情報記憶・再生装置 |
| JP2007219802A (ja) * | 2006-02-16 | 2007-08-30 | Hitachi Global Storage Technologies Netherlands Bv | 記憶装置、そのコントローラ、および、その制御方法 |
-
2009
- 2009-06-09 JP JP2009138281A patent/JP5452988B2/ja not_active Expired - Fee Related
- 2009-06-15 US US12/484,627 patent/US8418256B2/en not_active Expired - Fee Related
Also Published As
| Publication number | Publication date |
|---|---|
| US20090313425A1 (en) | 2009-12-17 |
| JP2010027038A (ja) | 2010-02-04 |
| US8418256B2 (en) | 2013-04-09 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP5452988B2 (ja) | メモリ制御装置、コンテンツ再生装置、制御方法及び記録媒体 | |
| US9183357B2 (en) | Recording/reproducing system, recording medium device, and recording/reproducing device | |
| CN103348623B (zh) | 终端装置、验证装置、密钥分发装置、内容再现方法及密钥分发方法 | |
| US7325139B2 (en) | Information processing device, method, and program | |
| US7702109B2 (en) | Content recording/reproducing system, distribution device, reproducing device, and recording device | |
| US8635453B2 (en) | Controller to be incorporated in storage medium device, storage medium device, system for manufacturing storage medium device, and method for manufacturing storage medium device | |
| JP5793709B2 (ja) | 鍵実装システム | |
| JP5097130B2 (ja) | 情報端末、セキュリティデバイス、データ保護方法及びデータ保護プログラム | |
| US20140143544A1 (en) | Rights enforcement and usage reporting on a client device | |
| JP5573489B2 (ja) | 情報処理装置、および情報処理方法、並びにプログラム | |
| JP2009504026A (ja) | デジタルコンテンツに関連付けられた検証用来歴データ | |
| CN101086759A (zh) | 未授权内容检测系统 | |
| WO2001078298A1 (en) | Information processing system and method | |
| KR100601706B1 (ko) | Drm 시스템에 있어서 시스템 키를 공유하고 생성하는방법 및 장치 | |
| US8914646B2 (en) | Information processing apparatus and information processing method for determining access permission | |
| JP2012008756A (ja) | 情報処理装置、および情報処理方法、並びにプログラム | |
| JP5598115B2 (ja) | 情報処理装置、および情報処理方法、並びにプログラム | |
| CN103380589A (zh) | 终端装置、服务器装置、内容记录控制系统、记录方法以及记录许可与否控制方法 | |
| CN100585713C (zh) | 信息处理装置和信息处理方法 | |
| CN1922817B (zh) | 信息处理装置 | |
| KR20060130645A (ko) | 서비스 제공 서버, 정보 처리 장치 및 데이터 처리 방법과컴퓨터·프로그램 | |
| JP5552917B2 (ja) | 情報処理装置、および情報処理方法、並びにプログラム | |
| US20080304389A1 (en) | Method for Recording Data Having a Distinctive Feature | |
| KR20080031925A (ko) | 보안 패치 시스템 | |
| JP2013141171A (ja) | 情報処理装置、および情報処理方法、並びにプログラム |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20120321 |
|
| A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20130726 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20130806 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20130927 |
|
| 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: 20131210 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20140106 |
|
| R150 | Certificate of patent or registration of utility model |
Ref document number: 5452988 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
| LAPS | Cancellation because of no payment of annual fees |