JP4387087B2 - データ記憶装置 - Google Patents

データ記憶装置 Download PDF

Info

Publication number
JP4387087B2
JP4387087B2 JP2002216750A JP2002216750A JP4387087B2 JP 4387087 B2 JP4387087 B2 JP 4387087B2 JP 2002216750 A JP2002216750 A JP 2002216750A JP 2002216750 A JP2002216750 A JP 2002216750A JP 4387087 B2 JP4387087 B2 JP 4387087B2
Authority
JP
Japan
Prior art keywords
license
data
log
history information
stored
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
JP2002216750A
Other languages
English (en)
Other versions
JP2004062317A (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.)
Fujitsu Ltd
Hitachi Ltd
Pioneer Corp
Sanyo Electric Co Ltd
Original Assignee
Fujitsu Ltd
Hitachi Ltd
Pioneer Corp
Sanyo Electric 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 Fujitsu Ltd, Hitachi Ltd, Pioneer Corp, Sanyo Electric Co Ltd filed Critical Fujitsu Ltd
Priority to JP2002216750A priority Critical patent/JP4387087B2/ja
Priority to CNB038173719A priority patent/CN100343831C/zh
Priority to KR1020057001293A priority patent/KR100715407B1/ko
Priority to AU2003252680A priority patent/AU2003252680A1/en
Priority to PCT/JP2003/009414 priority patent/WO2004012085A1/ja
Priority to US10/522,176 priority patent/US7650328B2/en
Publication of JP2004062317A publication Critical patent/JP2004062317A/ja
Application granted granted Critical
Publication of JP4387087B2 publication Critical patent/JP4387087B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked 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/00086Circuits for prevention of unauthorised reproduction or copying, e.g. piracy
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/76Television signal recording
    • H04N5/91Television signal processing therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F2003/0697Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers device management, e.g. handlers, drivers, I/O schedulers
    • 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/2101Auditing as a secondary aspect
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0656Data buffering arrangements

Description

【0001】
【発明の属する技術分野】
この発明は、コピーされた情報に対する著作権保護を可能とするデータ配信システムを用いて取得された暗号化データを復号および再生するためのライセンスを記憶するデータ記憶装置に関し、特に、マルチアクセスが可能なデータ記憶装置においてコピーされた情報に対する著作権保護を可能とするデータ記憶装置に関するものである。
【0002】
【従来の技術】
近年、インターネット等のデジタル情報通信網等の進歩により、携帯電話機等を用いた個人向け端末により、各ユーザが容易にネットワーク情報にアクセスすることが可能となっている。
【0003】
このようなデジタル情報通信網においては、デジタル信号により情報が伝送される。したがって、たとえば上述のような情報通信網において伝送された音楽や映像データを各個人ユーザがコピーした場合でも、そのようなコピーによる音質や画質の劣化をほとんど生じさせることなく、データのコピーを行なうことが可能である。
【0004】
したがって、このようなデジタル情報通信網上において音楽データや画像データ等の著作者の権利が存在するコンテンツが伝達される場合、適切な著作権保護のための方策が取られていないと、著しく著作権者の権利が侵害されてしまうおそれがある。
【0005】
一方で、著作権保護の目的を最優先して、急拡大するデジタル情報通信網を介してコンテンツデータの配信を行なうことができないとすると、基本的には、著作物データの複製に際し一定の著作権料を徴収することが可能な著作権者にとっても、かえって不利益となる。
【0006】
しかし、音楽データや画像データ等のコンテンツデータをデジタル情報通信網を通じて公衆に配信することは、それ自体が著作権者の公衆送信権による制限を受ける行為であるから、著作権保護のための十分な方策が講じられる必要がある。
【0007】
この場合、デジタル情報通信網を通じて公衆に送信される著作物である音楽データや画像データ等のコンテンツデータについて、一度受信されたコンテンツデータが、さらに勝手に複製されることを防止することが必要となる。
【0008】
そこで、コンテンツデータを暗号化した暗号化コンテンツデータを保持する配信サーバが、携帯電話機等の端末装置に装着されたメモリカードに対して端末装置を介して暗号化コンテンツデータを配信するデータ配信システムが提案されている。このデータ配信システムにおいては、予め認証局で認証されたメモリカードの公開暗号鍵とその証明書を暗号化コンテンツデータの配信要求の際に配信サーバへ送信し、配信サーバが認証された証明書を受信したことを確認した上でメモリカードに対して暗号化コンテンツデータと、暗号化コンテンツデータを復号するためのライセンスを送信する。ライセンスは、暗号化コンテンツデータを復号するための復号鍵(「コンテンツ鍵」と言う。以下同じ。)、ライセンスを識別するためのライセンスID、およびライセンスの利用を制限するための制御情報等を含んでいる。配信サーバからメモリカードに対してライセンスを送信する際には、配信サーバおよびメモリカードは、それぞれがセッション鍵を生成し、配信サーバとメモリカードとの間で鍵の交換を行なうことによって、暗号通信路を構築し、配信サーバはメモリカードに対して構築した暗号通信路を介してライセンスを送信する。その際、メモリカードは、受信した暗号化コンテンツデータとライセンスとを内部のメモリに記憶する。
【0009】
メモリカードに記憶した暗号化コンテンツデータを再生する場合は、メモリカードを携帯電話機に装着する。最終的に、携帯電話機は、通常の通話機能の他にメモリカードから暗号化コンテンツデータとコンテンツ鍵を読み出して暗号化コンテンツデータを復号し、かつ、再生して外部へ出力するための専用回路も有する。ライセンス鍵の読み出しに際しては、メモリカードと専用回路との間に暗号通信路を構築し、暗号通信路を介してメモリカードから専用回路に送信される。
【0010】
また、メモリカードは、他のメモリカードとの間でライセンスの移動または複製を行なう機能を備えている。この場合、配信サーバからライセンスの送信と同様に、送信元のメモリカードと送信先のメモリカードの双方の機能によって暗号通信路を構築した上で、ライセンスが送信元のメモリカードから送信先のメモリカードに対して送信される。ライセンスを移動するか複製するかは、ライセンスに含まれる制御情報に従って決定される。
【0011】
さらに、送受信中の不慮の中断によってライセンスが消失した場合に、その処理を再開でき、かつ、ライセンスの重複送信を防ぐためにライセンスの入出力に関する直近の履歴情報を記録し、必要に応じて出力する機能をメモリカードは備えている。送信元である配信サーバあるいはメモリカードは、送信先のメモリカードから履歴情報を取得して、この履歴情報に従ってライセンスの送受信の再開を判断する。履歴情報は、ライセンスIDと送受信を示すステータス情報を含んでいる。
【0012】
このように、携帯電話機のユーザは、携帯電話網を用いて暗号化コンテンツデータとライセンスとを配信サーバから受信し、メモリカードに記憶したうえで、メモリカードに記憶された暗号化コンテンツデータを再生したり、他のメモリカードに移したりできる。また、著作権者の権利を保護することができる。
【0013】
【発明が解決しようとする課題】
しかし、従来のメモリカードにおいては、直近の履歴情報を保持するのみで、中断後、他のライセンスに対する送受信を行った場合に先の中断に対する履歴情報が消えてしまう。このような場合、複数の履歴情報を格納することにより、ユーザの利便性を改善することが可能である。
【0014】
また、記憶素子に対するアクセスの高速化や、記憶素子の大容量化に伴い、複数のライセンスの送受信を並行して行なう要求が発生することが、今後、予想される。その場合、少なくとも並行して行われる処理に関する履歴情報を格納できるようにする必要性が生ずる。
【0015】
このように、複数の履歴情報を格納できるようにする場合に、ライセンスの受信後に、該ライセンスを他のメモリカードに対して移したとすると、同一のライセンスIDに対して異なったステータスを持つ履歴情報が格納されるという問題が生じる。
【0016】
そこで、この発明は、かかる問題を解決するためになされたものであり、その目的は、ライセンスに対して著作権を保護し、かつ、ライセンスの送受信を再開可能とするための履歴情報を重複することなく複数格納できるデータ記憶装置を提供することである。
【0017】
【課題を解決するための手段】
この発明によれば、データ記憶装置は、一定の手順に従って機密データの入出力を行ない、機密データを記憶し、かつ、一定の手順の進行に従って履歴情報を格納あるいは当該履歴情報を随時更新するデータ記憶装置であって、外部とデータの入出力を行なうインターフェースと、複数の機密データを格納するデータ記憶部と、機密データの入出力に関する複数の履歴情報を格納するログ記憶部と、機密データの入出力を制御する制御部とを備え、ログ記憶部は、それぞれ1つの履歴情報を格納する2つ以上の領域を循環的に利用するリングバッファとして設けられており、ログ記憶部に記憶される複数の履歴情報の各々は、当該履歴情報を記憶した入出力対象の機密データを識別する識別情報を含み、制御部は、機密データの入出力の処理が開始されたことに伴い入出力の対象となった機密データを識別する識別情報をインターフェースを介して受取り、ログ記憶部の複数の領域を所定の順序で検索して、ログ記憶部に格納されている最も古い履歴情報を格納する領域を最古領域として特定し、その特定した最古領域に受取った識別情報を含む機密データの入出力処理に対する履歴情報を新たに格納する。
【0018】
好ましくは、履歴情報の出力要求に対して履歴情報の一部または全てを出力する履歴情報の出力処理において、制御部は、入出力の対象となる機密データの識別情報をインタフェースを介して受取り、ログ記憶部の複数の領域を所定の順序で検索して、最古領域と、受取った識別情報を含む最も新しい履歴情報を格納する領域を最新領域として特定し、最新領域に格納されている履歴情報の一部または全てをインタフェースを介して出力する。
【0019】
好ましくは、履歴情報の出力を伴う前記機密データの入力処理において、制御部は、入出力の対象となる機密データの識別情報をインタフェースを介して受取り、ログ記憶部の複数の領域を所定の順序で検索して、最古領域と、受取った識別情報を含む最も新しい履歴情報を格納する最新領域とを特定し、その特定した最新領域に格納されている履歴情報の一部または全てを、特定した最古領域に複製することによって機密データの入力処理に対する新たな履歴情報として格納し、特定された最古領域に格納された履歴情報の一部または全てをインタフェースを介して出力する。
【0020】
好ましくは、他の装置によって一定の手順の進行によって記録されたもう1つの履歴情報の入力を伴う機密データの再出力処理において、制御部は、入出力の対象となる機密データの識別情報およびもう1つの履歴情報とをインタフェースを介して受取り、最古領域および最新領域を特定し、その特定した最新領域に格納された履歴情報と、受取ったもう1つの履歴情報とに基づいて、機密データを出力するか否かを判定する。
【0021】
好ましくは、他の装置によって一定の手順の進行に従って記録されたもう1つの履歴情報の入力を伴う機密データの出力処理において、制御部は、入出力の対象となる機密データの識別情報およびもう1つの履歴情報をインタフェースを介して受取り、最古領域および最新領域を特定し、その特定した最新領域に格納されている履歴情報の一部または全てを、特定した最古領域に複製することによって機密データの出力処理に対する新たな履歴情報として格納し、特定した最古領域に格納された履歴情報と、受取ったもう1つの履歴情報とに基づいて、機密データを出力するか否かを判定する。
【0022】
好ましくは、最古領域を特定した後、制御部は、入出力処理における一定の手順が終了あるいは中止されるまでの間、特定された最古領域に格納された履歴情報を、当該手順の進行に従って随時更新する。
【0023】
好ましくは、複数の履歴情報の各々は、ログ記憶部へ記憶された順序を識別するための管理番号をさらに含み、管理番号は、ログ記憶部に連続して配置された2つの領域に格納された2つの履歴情報に含まれる各々の管理番号に基づいて、古い履歴情報が格納される最古領域を検出する。
【0024】
好ましくは、ログ記憶部は、N(Nは2以上の自然数)個の領域を循環的に利用するリングバッファからなり、管理番号は、M(Mは、N<Mを満たす自然数)の剰余系からなる。
【0025】
好ましくは、制御部は、ログ記憶部に連続して配置された2つの領域に格納された2つの履歴情報に含まれる各々の管理番号を取得し、その取得した2つの管理番号の差に基づいて、2つの当該管理番号を含む2つの履歴情報が連続して格納されたか否かを判定し、2つの履歴情報が不連続に格納された履歴情報であるとき、連続する2つの領域のうち、後続領域を最古領域として検出する。
【0026】
したがって、この発明によれば、ライセンスに対して著作権を保護し、かつ、ライセンスの送受信を再開可能とするための複数の履歴情報を重複することなく格納できる。
【0027】
【発明の実施の形態】
本発明の実施の形態について図面を参照しながら詳細に説明する。なお、図中同一または相当部分には同一符号を付してその説明は繰返さない。
【0028】
[実施の形態1]
図1は、本発明によるデータ記憶装置が、暗号化コンテンツデータおよび暗号化コンテンツデータを復号するためのライセンスを取得するデータ配信システムの全体構成を概念的に説明するための概略図である。
【0029】
なお、以下では、デジタル放送網により配信された映像データを端末装置10により受信して端末装置10に装着されたデータ記憶装置であるHD(ハードディスクドライブ)20に記憶し、また、暗号化された映像データを復号するためのライセンスを双方向のネットワーク30に端末装置10と接続されるライセンス提供装置40からネットワーク30を介してから受信してHD20に格納し、暗号化された映像データを端末装置10に内蔵された専用の再生回路(図示せず)にて再生するデータ配信システムの構成を例にとって説明する。一方、以下の説明で明らかとなるように、本発明はこのような場合に限定されることなく、他の著作物としてのコンテンツデータ、たとえば画像データ、音楽データ、教材データ、朗読データ、書籍データ、ゲームなどのプログラムが扱われる場合においても適用することが可能なものである。また、データ記憶装置についても同様で、ハードディスクに限定されることなく、他のデータ記憶装置、たとえばメモリカードなどにおいても適用することが可能である。
【0030】
図1を参照して、端末装置10は、デジタル放送網により配信される、暗号化された映像データ(以下、コンテンツデータとも呼ぶ)をアンテナ11を介して受信し、HD20に記憶する。暗号化されたコンテンツデータ(以下、暗号化コンテンツデータとも呼ぶ)を復号するためのコンテンツ鍵を含むライセンスを管理し、かつ、配信するライセンス提供装置40は、ライセンスの配信を求めてアクセスしてきた端末装置10に装着されたHD20が正当な認証データを持つか否か、すなわち、ライセンス管理機能を備えた正規のデータ記憶装置であるか否かの認証処理を行ない、HD20が正当なデータ記憶装置であった場合のみ、端末装置10に対してHD20においてのみ復号可能な所定の暗号方式によって暗号化したライセンスを送信する。そして、端末装置10は、ネットワーク30に接続されたモデムを介して暗号化されたライセンスを受信すると、その暗号化されたライセンスを装着されたHD20へ送信する。
【0031】
図1においては、たとえば、HD20は、端末装置10に着脱可能な構成となっている。端末装置10に装着されたHD20は、端末装置10により受信された暗号化されたライセンスを受取り、著作権を保護するためにライセンス対してなされている暗号化を復号したうえでHD20内に記憶する。そして、ライセンスに対応した暗号化コンテンツデータを再生する場合、ライセンスに含まれるコンテンツ鍵と暗号化コンテンツデータとを端末装置10に与える。
【0032】
そして、端末装置10のユーザは、端末装置10においてコンテンツ鍵を用いて復号されるコンテンツデータを再生することが可能となる。
【0033】
このような構成とすることで、端末装置10のユーザは、ライセンス管理機能を備えた正規の認証データを有するHD20を利用しないと、暗号化されたコンテンツデータを受信して記憶したところでライセンスの提供を受けることができず、コンテンツデータを再生することができない。
【0034】
なお、上述したデータ配信システムにおいては、暗号化コンテンツデータの提供元は、デジタル放送業者の放送サーバであるが、ライセンスを管理するライセンス提供装置40であってもよいし、インターネットなどの通信網を介して接続されるライセンス提供装置40とは別の配信サーバであってもよい。また、他のユーザからの複製であってもよい。すなわち、暗号化コンテンツデータ自体は、どこから発信されても、また、どこで受信されてもよく、要は暗号化コンテンツデータを復号可能なライセンスを厳重に管理しておきさえすれば、コンテンツデータの著作権を保護することができる。
【0035】
したがって、本発明の実施の形態においては、HD20、端末装置10およびライセンス提供装置40のそれぞれの間で行なわれるライセンスの送受信処理において、暗号化コンテンツデータを再生するために必要なライセンスの提供元が、提供先に対する認証およびチェック機能を行ない、非認証の装置に対するライセンスの出力を防止する。さらに、ライセンスの送受信処理中に異常が発生したときに、ライセンスが重複して存在することがないように、再処理の必要なライセンスを特定することでコンテンツデータの著作権保護を実現しつつ、不慮の送受信処理の異常終了から回復可能なシステムの構成について説明する。
【0036】
図2は、図1に示したデータ配信システムにおいて送受信されるデータ、情報等の特性を説明する図である。
【0037】
データDcは、コンテンツデータであって、ここでは映像データである。データDcは、コンテンツ鍵Kcで復号可能な暗号化が施される。コンテンツ鍵Kcによって復号可能な暗号化が施された暗号化コンテンツデータE(Kc,Dc)が、この形式でデジタル放送網により端末装置10のユーザに配布される。
【0038】
なお、以下においては、E(X,Y)という表記は、データYを、復号鍵Xにより復号可能な暗号化を施したことを示すものとする。また、データDcに付随して、コンテンツデータに関する著作権あるいはサーバアクセス関連等の平文情報としての付加情報Diが配布される。
【0039】
また、ライセンスの配信を特定するとともに、各々のライセンスを特定する管理コードであるライセンスID(LID)が端末装置10を介してライセンス提供装置40とHD20との間でやり取りされる。さらに、ライセンスとしては、データDcおよびコンテンツ鍵Kcを識別するためのコードであるデータID(DID)や、利用者側からの指定によって決定されるライセンス数や機能限定など、データ記憶装置におけるライセンスや再生の取扱いに対する制限に関する制御情報ACが存在する。
【0040】
コンテンツ鍵Kcと、制御情報ACと、DIDと、LIDとを併せて、以後、ライセンスLICと総称することとする。DIDは、データDcとコンテンツ鍵Kcとの対に対して割り当てられた識別情報、すなわち、暗号化データE(Kc,Dc)を識別するための識別情報となる。DIDは、ライセンスLICの他に、暗号化データE(Kc,Dc)とともに常に扱われる付加情報Diにも含まれ、参照できるようになっている。
【0041】
図3は、図1に示すデータ配信システムにおいて使用される認証のためのデータ、情報等の特性を説明する図である。
【0042】
HD20などのデータ記憶装置および端末装置10などに備えられる再生回路には、固有のクラス公開鍵KPcmyおよびKPcpyがそれぞれ設けられ、クラス公開鍵KPcmyおよびKPcpyは、データ記憶装置に固有のクラス秘密鍵Kcmyおよび再生回路に固有のクラス秘密鍵Kcpyによってそれぞれ復号可能である。これらクラス公開鍵およびクラス秘密鍵は、再生回路あるいはデータ記憶装置の種類ごとに異なる値を持ち、これらクラス公開鍵およびクラス秘密鍵を共有する単位をクラスと称する。記号「y」は、そのクラスを識別するための識別子を表わす。クラスは、製造会社や製品の種類、製造時のロット等によって異なる。
【0043】
また、データ記憶装置のクラス証明書としてCmyが設けられ、再生回路のクラス証明書としてCpyが設けられる。これらのクラス証明書は、データ記憶装置および再生回路のクラスごとに異なる情報を有する。
【0044】
データ記憶装置のクラス証明書Cmyは、KPcmy//Icmy//E(Ka,H(KPcmy//Icmy))の形式で出荷時にデータ記憶装置に記憶され、再生回路のクラス証明書Cpyは、KPcpy//Icpy//E(Ka,H(KPcpy//Icpy))の形式で出荷時に再生回路に記憶される。ここで、X//Yは、XとYとの連結を表わし、H(X)は、ハッシュ関数により演算されたデータXのハッシュ値を表わす。マスタ鍵Kaは、これらのクラス証明書を作成するために使用される秘密暗号鍵であり、このデータ配信システム全体で共通の秘密暗号鍵であって、認証局によって安全に管理運用される。また、クラス情報Icmy,Icpyは、クラスごとの機器に関する情報およびクラス公開鍵を含む情報データである。
【0045】
また、E(Ka,H(KPcmy//Icmy))およびE(Ka,H(KPcpy//Icpy))は、それぞれKPcmy//IcmyおよびKPcpy//Icpyに対する電子署名を行なった署名データである。
【0046】
なお、認証局は、署名データを作成する公的な第三者機関であり、署名データE(Ka,H(KPcmy//Icmy))およびE(Ka,H(KPcpy//Icpy))は、認証局によって生成される。
【0047】
さらに、データ記憶装置に対して安全かつ確実にライセンスLICを送信するための鍵として、データ記憶装置という媒体ごとに設定される個別公開鍵KPomzと、個別公開鍵KPomzで暗号化されたデータを復号することが可能な個別秘密鍵Komzとが存在する。ここで、記号「z」は、データ記憶装置を個別に識別するための識別子である。
【0048】
データ配信システムにおいてデータの送受信が行なわれるごとに、ライセンス提供装置40、データ記憶装置(HD20)、および端末装置10の再生回路において生成されるセッション鍵Ks1x,Ks2xが用いられる。
【0049】
ここで、セッション鍵Ks1x,Ks2xは、ライセンス提供装置40、データ記憶装置(HD20)、もしくは端末装置10の再生回路間の通信の単位あるいはアクセスの単位である「セッション」ごとに発生する固有の共通鍵である。「セッション」には、ライセンス提供装置40からデータ記憶装置(HD20)へライセンスを配信する「配信セッション」、データ記憶装置間でのライセンスの複製や移動を行なう「複製・移動セッション」、およびデータ記憶装置(HD20)から端末装置10の再生回路へライセンスを出力する「再生許諾セッション」がある。
【0050】
これらのセッション鍵Ks1x,Ks2xは、各セッションごとに固有の値を有することにより、ライセンス提供装置40、データ記憶装置(HD20)、および端末装置10の再生回路によって管理される。具体的には、セッション鍵Ks1xは、ライセンスを送受信する際に、ライセンスの送信側によってセッションごとに発生され、セッション鍵Ks2xは、ライセンスの受信側によってセッションごとに発生される。なお、記号「x」は、セッションにおける一連の処理を識別するための識別子である。そして、各セッションにおいてこれらのセッション鍵を各機器間で相互に授受し、他の機器で生成されたセッション鍵を受けて、そのセッション鍵による暗号化を実行したうえで、ライセンスLIC、またはコンテンツ鍵を含むライセンスLICの一部の送信を行なうことによって、セッションにおけるセキュリティ強度を向上させることができる。
【0051】
図4は、図1に示したライセンス提供装置40の構成を示す概略ブロック図である。
【0052】
ライセンス提供装置40は、管理対象のライセンスを保持するデータベースであるコンテンツDB402と、ライセンスを配信する配信セッションにおける全ての通信記録を随時記憶し、保持するデータベースであるログDB404と、コンテンツDB402およびログDB404とバスBS1を介してデータをやり取りし、所定の処理を行なうためのデータ処理部410と、ネットワーク30を介して端末装置10とデータ処理部410との間でデータ授受を行なうための通信装置450とを備える。
【0053】
データ処理部410は、バスBS1上のデータに応じて、データ処理部410の動作を制御するための配信制御部412と、配信制御部412により制御されて、配信セッション時にセッション鍵Ks1xを発生するためのセッション鍵発生部414と、端末装置10から送られてくるHD20のクラス証明書Cmyに含まれる署名データE(Ka,H(KPcmy//Icmy))を復号するためのHD20の認証鍵KPaを保持するKPa保持部416と、HD20から送られてきたクラス証明書Cmyを通信装置450およびバスBS1を介して受け、KPa保持部416から受ける認証鍵KPaによって復号処理を行ない、クラス証明書Cmyに含まれる署名データE(Ka,H(KPcmy//Icmy))の復号処理と、クラス証明書Cmyに含まれるKPcmy//Icmyのハッシュ値の計算を行ない、両者の結果を比較チェックしてクラス証明書Cmyの検証を行なう認証部418と、配信セッションごとに、セッション鍵発生部414により生成されたセッション鍵Ks1xを認証部418によってクラス証明書Cmyから抽出したクラス公開鍵KPcmyを用いて暗号化し、バスBS1に出力するための暗号処理部420と、セッション鍵Ks1xによって暗号化された上で送信されたデータをバスBS1より受け、復号処理を行なう復号処理部422とを含む。
【0054】
データ処理部410は、さらに、配信制御部412から与えられるライセンスLICを、復号処理部422によって得られたデータ記憶装置ごとに固有な個別公開鍵KPomzによって暗号化するための暗号処理部424と、暗号処理部424の出力を、復号処理部422から与えられるセッション鍵Ks2xによってさらに暗号化してバスBS1に出力するための暗号処理部426とを含む。
【0055】
なお、個別公開鍵KPomzおよびセッション鍵Ks2xは、セッション鍵Ks1xによって暗号化されたうえで端末装置10から提供される。復号処理部422は、これを復号して個別公開鍵KPomzを得る。
【0056】
ライセンス提供装置40の配信セッションにおける動作については、後ほどフローチャートを使用して詳細に説明する。
【0057】
図5は、図1に示した端末装置10の構成を説明するための概略ブロック図である。
【0058】
端末装置10は、デジタル放送網によって伝送される信号を受信するアンテナ102と、アンテナ102からの信号を復調してデータに変換、あるいはアンテナ102から送信するデータを変調してアンテナ102に与える受信部104と、端末装置10をネットワーク30に接続するモデム106と、端末装置10の各部のデータ授受を行なうバスBS2と、バスBS2を介して端末装置10の動作を制御するコントローラ108と、HD20とバスBS2との間のデータの授受を制御するHDインターフェース部110とを含む。
【0059】
端末装置10は、さらに、上述したクラス証明書Cpyを保持する認証データ保持部1502を含む。ここで、端末装置10のクラスを識別する識別子yは、y=3であるとする。
【0060】
端末装置10は、さらに、クラス固有の復号鍵であるクラス秘密鍵Kcp3を保持するKcp保持部1504と、バスBS2から受けたデータをクラス秘密鍵Kcp3によって復号し、HD20によって発生されたセッション鍵Ks1xを得る復号処理部1506とを含む。
【0061】
端末装置10は、さらに、HD20に記憶されたコンテンツデータの再生を行なう再生許諾セッションにおいて、HD20との間でやり取りされるデータを暗号化するためのセッション鍵Ks2xを乱数等により発生するセッション鍵発生部1508と、HD20からコンテンツ鍵Kcを受取る際に、セッション鍵発生部1508により発生されたセッション鍵Ks2xを復号処理部1506によって得られたセッション鍵Ks1xによって暗号化し、バスBS2に出力する暗号処理部1510と、バスBS2上のデータをセッション鍵Ks2xによって復号して、コンテンツ鍵Kcを出力する復号処理部1512と、バスBS2より暗号化コンテンツデータE(Kc,Dc)を受けて、復号処理部1512からのコンテンツ鍵Kcによって暗号化コンテンツデータE(Kc,Dc)を復号してデータDcを再生部1516へ出力する復号処理部1514と、復号処理部1514からの出力を受けてコンテンツを再生するための再生部1516と、再生部1516の出力をデジタル信号からアナログ信号に変換するDA変換部1518と、DA変換部1518の出力をテレビモニターなどの外部出力装置(図示省略)へ出力するための端子1520とを含む。
【0062】
なお、図5においては、点線で囲んだ領域は暗号化コンテンツデータを復号して映像データを再生する専用回路である再生回路150を構成する。再生回路150は、セキュリティを向上させるために1チップ構成の半導体デバイスであることが好ましい。さらには、再生回路150は、外部からの解析が困難な耐タンパモジュールとして構成されることが好ましい。
【0063】
端末装置10の各構成部分の各セッションにおける動作については、後ほどフローチャートを使用して詳細に説明する。
【0064】
ここでは、端末装置10は、暗号化コンテンツデータを受信する機能、ライセンスの配信を受ける機能、再生許諾によって暗号化コンテンツデータを再生する機能を備えていたが、HD20が端末装置10から脱着可能なデータ記憶装置であることから明らかなように、これらの機能を別々の装置によって実現してもよい。この場合、目的とする機能を実現する装置にHD20を装着することで容易に実現できる。
【0065】
図6は、図1に示すHD20の構成を説明するための概略ブロック図である。すでに説明したように、データ記憶装置であるHD20には、クラス公開鍵KPcmyとクラス秘密鍵Kcmyのペア、および個別公開鍵KPomzと個別秘密鍵Komzのペアが設けられるが、HD20においては、これらを識別する識別子y=1、識別子z=2で表されるものとする。
【0066】
したがって、HD20は、クラス証明書Cm1として認証データKPcm1//Icm1//E(Ka,H(KPcm1//Icm1))を保持する認証データ保持部202と、クラス秘密鍵Kcm1を保持するKcm保持部204と、個別秘密鍵Kom2を保持するKom保持部206と、個別秘密鍵Kom2によって復号可能な個別公開鍵KPom2を保持するKPom保持部208とを含む。
【0067】
このように、データ記憶装置(ここではHD20)の暗号鍵を設けることによって、以下の説明で明らかになるように、配信されたコンテンツデータや暗号化されたコンテンツ鍵の管理をデータ記憶装置単位で実行することが可能になる。
【0068】
HD20は、さらに、端末装置10のHDインターフェース部110と端子210を介して信号を授受するATA(AT−Attachment)インターフェース部212と、HD20におけるデータ伝送路であるバスBS3と、ATAインターフェース部212からコントローラ214を介してバスBS3に出力されたデータを、Kom保持部206により与えられた個別秘密鍵Kom2により復号し、ライセンス提供装置40から配信されたライセンスLICをセキュアデータ記憶部250へ出力する復号処理部216と、KPa保持部218から認証鍵KPaを受け、バスBS3に出力されたデータの認証鍵KPaによる復号処理を実行して復号結果をコントローラ214へ出力し、かつ、得られたクラス公開鍵KPcm1を暗号処理部222へ出力する認証部220と、切換スイッチ260によって選択的に与えられるセッション鍵Ks1xまたはKs2xによって、切換スイッチ262によって選択的に与えられるデータを暗号化してバスBS3に出力する暗号処理部224とを含む。
【0069】
HD20は、さらに、配信、複製・移動、および再生許諾の各セッションにおいて、セッション鍵Ks1x,Ks2xを発生するセッション鍵発生部226と、セッション鍵発生部226の出力したセッション鍵Ks1xを認証部220によって得られる端末装置10の再生回路150のクラス公開鍵KPcpyあるいは他のデータ記憶装置(HD21とする)のクラス公開鍵KPcmyによって暗号化してバスBS3に送出する暗号処理部222と、バスBS3よりセッション鍵Ks2xによって暗号化されたデータを受けてセッション鍵発生部226より得たセッション鍵Ks1xまたはKs2xによって復号する復号処理部228とを含む。
【0070】
HD20は、さらに、バスBS3上のデータをクラス公開鍵KPcm1と対をなすクラス秘密鍵Kcm1によって復号するための復号処理部230と、ライセンスLICをHD20からHD21へ移動または複製するために出力する際に、提供先のHD21から受信した個別公開鍵KPomz(z≠2)によりライセンスLICを暗号化する暗号処理部232とを含む。
【0071】
HD20は、さらに、暗号化コンテンツデータE(Kc,Dc)を再生するためのライセンスLICと、HD20が処理しているセッションの処理記録であるログとをバスBS3より受けて記憶するセキュアデータ記憶部250を含む。そして、ライセンスLICは、セキュアデータ記憶部250内のセキュアデータ記憶部250に格納され、ログは、セキュアデータ記憶部250内のログメモリ253に格納される。セキュアデータ記憶部250は、たとえば半導体メモリによって構成される。
【0072】
図7は、セキュアデータ記憶部250におけるメモリ構成を示した図である。
図7を参照して、セキュアデータ記憶部250は、ライセンス領域251と、有効フラグ領域252と、ログメモリ253とを含む。
【0073】
ライセンス領域251は、L個(Lは自然数)の領域2511〜251Lから成り、それぞれ1つのライセンス(コンテンツ鍵Kc、制御情報AC、ライセンスID(LID)、データID(DID))を格納する。
【0074】
領域2511〜251Lに格納された複数のライセンスの各々は、アドレス(以下、LBA:Logical Block Addressと称する。)によって管理される。そして、各セッションにおいて記憶あるいは読出されるライセンスLICは、全てLBAにより特定される。
【0075】
領域2511〜251Lに対応してmaxLBA+1〜maxLBA+LのLBAが付与されているものとする。たとえば、領域2513に格納されたライセンスLICは、LBA:maxLBA+3によって特定される。このとき、LBA:0〜maxLBAは、ノーマルデータ記憶領域270に割当てられるものとする。詳細は後述する。
【0076】
なお、ライセンス領域251には、ノーマルデータ記憶領域270に割当てられたLBA(0〜maxLBA)に続く値、すなわち、maxLBA+1〜maxLBA+LがLBAとして割当てられると説明したが、ライセンス領域251に割当てるLBAを限定するものではない。ライセンス領域251に割当てたL個のLBAによって、それぞれが領域2511〜251Lのいずれか1つを指定できる値であればいかなる値であってもよく、ノーマルデータ記憶領域270に割当てたLBAと重複する値、あるいは、独立した値をLBAとして割当ててもよい。
【0077】
また、有効フラグ領域252は、セキュアデータ記憶部250上の記憶位置を特定するLBAそれぞれに対応して設けられ、対応するLBAによって特定される位置に記憶されるライセンスの有効性を示すフラグを記憶する。
【0078】
有効フラグ領域252は、領域2521〜252Lから成り、領域2521〜252Lは、それぞれ、対応する領域2511〜251Lに格納されたライセンスLICの”有効”、または”無効”を格納する。
【0079】
有効フラグ領域252のフラグが”有効”であるとき、フラグに対応するLBAによって特定されるセキュアデータ記憶部250上の記憶位置に記憶されているライセンスLICは利用可能であり、ユーザはそのライセンスLIC内のコンテンツ鍵Kcを再生許諾によって読出して、対応する暗号化コンテンツデータを復号し、コンテンツデータを再生したり、そのライセンスLICを他のデータ記憶装置に移動・複製することができる。
【0080】
一方、有効フラグ領域252のフラグが”無効”であるとき、そのフラグに対応するLBAによって特定されるセキュアデータ記憶部250上の記憶位置に記憶されているライセンスLICは利用不可であり、HD20のコントローラ214によって、そのLBAからのライセンスLICは拒否される。すなわち、消去されたのと同じ状態である。したがって、ユーザはそのライセンスLICに対応したコンテンツデータを再生することはできない。この有効フラグ領域252のフラグは、ライセンスの新たな記憶によって”有効”とされ、ライセンスの移動によって”無効”とされる。
【0081】
ログメモリ253は、ライセンスをHD20に入出力する場合の履歴情報(以下では「ログ」と呼ぶ。)を1つ格納するN(Nは自然数)個の領域2531〜253Nからなるリングメモリである。領域2531〜253Nは、それぞれ、バンク0〜N−1と称される領域を特定する名称が付与されている。したがって、バンクn(nはNの剰余系)とは、ログメモリ上の領域253(n−1)を示す。
【0082】
ログメモリ253は、複数のログをリング状に格納する。すなわち、ログメモリ253は、バンク0によって特定される領域2531からログの格納を開始し、バンクN−1によって特定される領域253Nにログを格納すると、再びバンク0によって特定される領域2531に戻り、ログを格納する。
【0083】
バンク0〜N−1、すなわち、ログメモリ253の領域2531〜253Nの各々に格納されるログは、管理番号領域2541と、ライセンスID(LID)領域2542と、Ks2x領域2543と、ST1領域2544と、ST2領域2545と、KPcmy領域2546と、LBA領域2547とを含む。
【0084】
管理番号領域2541は、ログをバンク0〜N−1の各々に格納する際に、ログの格納の順序を示す管理番号を格納する。そして、管理番号は、M(M>N、Mは自然数)の剰余系をなして、昇順に付与される。この管理番号を格納することによって、最新のログを格納した、あるいは、最も古いログを格納したバンクを検索することができるようになる。すなわち、最初に管理番号1のログがバンク0に格納されるとすると、そのログの管理番号領域2541は、管理番号”1”を格納する。そして、ライセンスの入出力に伴い、新たなログを格納するごとに、バンク2から順に使用し、そのログの管理番号領域2541に、新たなログを格納するバンクの直前のバンクに格納される最新のログの管理番号領域2541に格納される管理番号に1づつ増加した管理番号を格納する。したがって、各バンク0〜N−1、すなわち、領域2531〜253Nに格納されたログの管理番号領域2541から管理番号を読み出せば、管理番号に基づいてそのログが新しいか古いかを判断できる。この判断は、次のようにして行なう。すなわち、連続する2つのバンクn,n+1(nはNの剰余系)が保持する管理番号が不連続である場合、バンクnには最新のログが、バンクn+1には最も古いログが保持されている。さらに、詳細な説明は、後述する。
【0085】
以降では、特に断らない限り、管理番号に関する表記および演算は全てMの剰余系においてログメモリ253の領域2531〜253Nを指定するバンクの番号に関する表記および演算は全てNの剰余系における表記および演算を示している。
【0086】
ライセンスID領域2542は、セッションの対象となるライセンスLICを特定するライセンスID(LID)を格納する。Ks2x領域2543は、セッションにおいてライセンスLICの受信側のデータ記憶装置によって生成されたセッション鍵Ks2xを格納する。
【0087】
ST1領域2544は、動作中のセッションにおける処理の状態を示すステータスST1を格納する。ST2領域2545は、ライセンスID領域2542に格納されるライセンスIDに対応したライセンスの記憶状態を示すステータスST2を格納する。
【0088】
KPcmx領域2546は、ライセンスを移動・複製によって出力する場合、送信側のデータ記憶装置において受信側のデータ記憶装置のクラス公開鍵KPcmxを格納する。LBA領域2547は、各セッションにおいてライセンスLICを読出あるいは記憶するために指示されたLBAを格納する。
【0089】
一連のセッションの処理が進行するにつれて、上記各領域のデータが更新あるいは参照されていく。ステータスST1は、”受信待”、”受信済”、”送信待”および”送信済”の4状態のいずれかであり、ステータスST2は、”データ有”、”データ無”および”移動済”の3状態のいずれかである。
【0090】
そして、セッション中に予期しない異常が発生し、セッションが中断した場合、そのセッションにおいて送受信されていたライセンスLICに対して、ログメモリ253内のライセンスID領域2541に格納されているライセンスIDと、LBA領域2547に格納されたLBAとによって当該ライセンスLICの記憶状態が確認され、その確認結果に応じてステータスST2が更新される。また、中断したセッションにおけるライセンスの送信側では、ライセンスの受信側のログメモリ253内に格納されているライセンスLIC、セッション鍵Ks2x、ステータスST1およびステータスST2を受取って、自身が記録するログの内容と受取ったライセンスLIC、セッション鍵Ks2x、ステータスST1およびステータスST2とを確認することにより、再度のライセンスの送信を行なってもよいか否かの判断がされる。
【0091】
なお、セッション鍵Ks2xは、各セッションを特定するために記憶され、セッション鍵Ks2xを共有していることは、ライセンスの送受信先およびその処理を共有していたことを示している。
【0092】
また、ステータスST2には、出力ログが出力される際に、ログメモリ253に格納されているライセンスID(LID)とLBAとによってセキュアデータ記憶部250における対象のライセンスの記憶状態が格納され、これによって出力ログが成立する。
【0093】
詳細については、後ほど各セッション毎のフローチャートを使用して説明する。
【0094】
再び図6を参照して、HD20のデータ記録部に関して説明する。HD20は、さらに、暗号化コンテンツデータを記憶するノーマルデータ記憶部270を含む。ノーマルデータ記憶部270は、データが記憶される円盤状の磁気記録媒体2701と、磁気記録媒体2701を回転させるモータ2702と、モータ2702を制御するサーボ制御部2703と、磁気記録媒体2701上における磁気ヘッドの位置を制御するシーク制御部2704と、磁気ヘッドへデータの記録および再生を指示する記録再生処理部2705とを含む。
【0095】
HD20は、さらに、ATAインターフェース部212を介して外部との間でデータ授受、制御情報ACに基づくライセンスの出力に関する判断、およびセキュアデータ記憶部250の管理などのHD20内の動作を制御するためのコントローラ214を含む。
【0096】
なお、ノーマルデータ記憶部270、ATAインターフェース部212および端子210を除く他の構成は、耐タンパモジュール領域に構成される。
【0097】
図8を参照して、ノーマルデータ記憶部270の構成は、一般の公知のハードディスクの構成と変わるところはなく、データ記憶部2700を含む。データ記憶部2700は、領域2800〜280A(A=maxLBA、maxLBAは自然数)の各々は、暗号化コンテンツデータおよび暗号化コンテンツデータの付属データ、ライセンステーブル等を格納する。そして、領域2800〜280Aに対応してLBA:0〜maxLBAが付与されており、各領域2800〜280Aは、LBA:0〜maxLBAによって指定され、暗号化コンテンツデータ等のデータは、指定された各領域2800〜280Aに入出力される。
【0098】
なお、ライセンステーブルは、暗号化コンテンツデータとライセンスの関係を示す情報テーブルであり、ライセンステーブルを参照することで、暗号化コンテンツデータに対応するライセンスと、そのライセンスが記憶されているLBAを特定することができる。したがって、ライセンステーブルは、暗号化コンテンツデータの記憶、削除時、あるいはライセンスの記憶、移動、削除時にその内容が変更される。
【0099】
したがって、HD20は、LBA:0〜maxLBAによって指定できるノーマルデータ記憶部270と、それに続くLBA:maxLBA+1〜maxLBA+Lによって指定できるセキュアデータ記憶部250、より具体的には、ライセンスメモリ251に対してデータあるいはライセンスの入出力が行なうことができる。
【0100】
また、ノーマルデータ記憶領域270およびライセンス領域251に対するLBAの値については、本実施の形態に限るものではない。
【0101】
なお、セキュアデータ記憶部250は、通常のアクセスコマンドではATAインタフェース部212を介して、直接、外部からアクセスできない等の手段を設けることで耐タンパ性を確保した、耐タンパ構造を備えている。
【0102】
また、HD20のセキュアデータ記憶部250は、全て半導体メモリによって構成されるものとして説明したが、耐タンパ性を確保した上で、セキュアデータ記憶部250の一部あるいはその全てを、磁気記録媒体2701上に記憶する構成としてもよい。
【0103】
以下、図1に示すデータ配信システムにおける各セッションの動作について説明する。
【0104】
[配信]
まず、図1に示すデータ配信システムにおいて、ライセンス提供装置40から端末装置10に装着されたHD20へライセンスを配信する動作について説明する。
【0105】
図9および図10は、図1に示すデータ配信システムにおいて、端末装置10のユーザが端末装置10から暗号化コンテンツデータのライセンス配信のリクエストを行なうことにより、ライセンスがライセンス提供装置40から端末装置10に装着されたHD20へ向けて送信され、HD20に記憶される際の処理(配信セッション)を説明するための第1および第2のフローチャートである。
【0106】
図9における処理開始以前に、端末装置10のユーザは、端末装置10をモデム106によりネットワーク30に接続し、端末装置10をネットワーク30を介してライセンス提供装置40に接続していることを前提としている。
【0107】
図9を参照して、端末装置10のユーザから所望のコンテンツデータのライセンスに対する配信リクエストがなされると、端末装置10のコントローラ108は、バスBS2およびHDインターフェース部110を介してHD20へクラス証明書の出力要求を出力する(ステップS1)。HD20のコントローラ214は、端子210およびATAインターフェース部212を介してクラス証明書の出力要求を受理すると(ステップS2)、バスBS3を介して認証データ保持部202からクラス証明書Cm1=KPcm1//Icm1//E(Ka,H(KPcm1//Icm1))を読出し、クラス証明書Cm1をATAインターフェース部212および端子210を介して端末装置10へ出力する(ステップS3)。
【0108】
端末装置10のコントローラ108は、HD20からHDインターフェース部110およびバスBS2を介してクラス証明書Cm1を受理すると(ステップS4)、受理したクラス証明書Cm1をモデム106およびネットワーク30を介してライセンス提供装置40へ送信する(ステップS5)。
【0109】
ライセンス提供装置40では、端末装置10からクラス証明書Cm1を受信すると(ステップS6)、受信したCm1が正当なクラス証明書であるか否かを認証する(ステップS7)。認証処理は次のように行なわれる。
【0110】
ライセンス提供装置40は、クラス証明書Cm1=KPcm1//Icm1//E(Ka,H(KPcm1//Icm1))を受理すると、HD20から出力されたクラス証明書Cm1に含まれる署名データE(Ka,H(KPcm1//Icm1))を認証部418において認証鍵KPaで復号し、ハッシュ値H(KPm1//Icm1)を抽出する。そして、さらに、認証部418は、クラス証明書Cm1に含まれるKPcm1//Icm1のハッシュ値を演算し、クラス証明書Cm1から抽出したハッシュ値と演算したハッシュ値とを比較する。配信制御部412は、認証部418における復号処理結果から、上記の復号ができ、かつ、2つのハッシュ値の値が一致したと判断すると、HD20から受理したクラス証明書Cm1は、正当な証明書であると判断する。
【0111】
ステップS7において、クラス証明書Cm1が正当な証明書であると判断された場合、配信制御部418は、クラス公開鍵KPcm1を受理する(ステップS8)。そして、次の処理(ステップS9)へ移行する。正当なクラス証明書でない場合には、クラス証明書Cm1を受理しないでエラー通知を端末装置10へ出力し(図10のステップS44)、端末装置10においてエラー通知が受理されると(図10のステップS45)、配信セッションが終了する。
【0112】
ステップS8においてクラス公開鍵KPcm1が受理されると、配信制御部412は、ライセンスID(LID)を生成し(ステップS9)、さらに制御情報ACを生成する(ステップS10)。そして、セッション鍵発生部414は、配信のためのセッション鍵Ks1aを生成する(ステップS11)。セッション鍵Ks1aは、認証部418によって得られたHD20に対応するクラス公開鍵KPcm1によって、暗号処理部420によって暗号化され、暗号データE(KPcm1,Ks1a)が生成される(ステップS12)。
【0113】
そして、配信制御部412は、ライセンスID(LID)および暗号化されたセッション鍵Ks1aを1つのデータ列LID//E(KPcm1,Ks1a)として、バスBS1および通信装置450を介して端末装置10へ向けて出力する(ステップS13)。
【0114】
端末装置10は、ネットワーク30を介してLID//E(KPcm1,Ks1a)を受信すると(ステップS14)、受信したLID//E(KPcm1,Ks1a)をHD20へ出力する(ステップS15)。そして、HD20のコントローラ214は、端子210およびATAインターフェース部212を介してLID//E(KPcm1,Ks1a)を受理する(ステップS16)。コントローラ214は、バスBS3を介して受理したE(KPcm1,Ks1a)を復号処理部230へ与え、復号処理部230は、Kcm保持部204に保持されるHD20に固有なクラス秘密鍵Kcm1によって復号処理することにより、セッション鍵Ks1aを復号し、セッション鍵Ks1aを受理する(ステップS17)。
【0115】
HD20のコントローラ214は、ライセンス提供装置40で生成されたセッション鍵Ks1aの受理を確認すると、ATAインターフェース部212および端子210を介してその旨を端末装置10に通知する。端末装置10のコントローラ108は、HDインターフェース部110およびバスBS2を介して、HD20においてセッション鍵Ks1aが受理された旨の通知を受理すると、HD20にセッション鍵の生成の要求通知をバスBS2およびHDインターフェース部110を介してHD20へ出力する(ステップS18)。HD20のコントローラ214は、端子210およびATAコントローラ212を介してセッション鍵の生成要求通知を受理すると、セッション鍵発生部226に対してセッション鍵の生成を指示する。そして、セッション鍵発生部226は、セッション鍵Ks2aを生成する(ステップS19)。
【0116】
そして、コントローラ214は、セキュアデータ記憶部250のログメモリ253から最も古いをログが格納されているバンクを検索し、その検索したバンクn(0≦n≦N−1)の管理番号領域2541、ライセンスID領域2542、Ks2a領域2543、ST1領域2544に対して、それぞれ、新たな管理番号、ステップS16で受理したライセンスID、ステップS19において生成されたセッション鍵Ks2a、および”受信待”を格納する(ステップS20)。したがって、バンクnに格納されるログは最も新しいログとなる。このとき、ログを構成する他の領域については、その内容を初期化、たとえば、全て”0”としてもよいし、そのままの状態であってもよい。
【0117】
ここで、図11を参照して、ステップS20の詳細な動作について説明する。図11は、ステップS20の詳細な動作を示すフローチャートである。、コントローラ214は、ステップS19の後、ログメモリ253のうち、最新のログが記録されているログ領域に対応するバンクn−1を特定し、そのバンクn−1によって指定されるログ領域に格納された履歴情報に含まれる管理番号mを取得する(ステップS20a)。
【0118】
図12を参照して、ステップS20aの詳細な動作について説明する。図12は、ステップS20のさらに詳細なフローチャートである。コントローラ214は、ステップS19の後、変数nに対して領域2532を示すバンク1のバンク番号1を設定し(ステップS20c)、バンク0に格納されている管理番号を取得して、変数mに代入する(ステップS20d)。そして、コントローラ214は、ログメモリ253のバンクnに格納されている管理番号を取得して、変数maに代入する(ステップS20e)、ma−mを演算して演算結果が”1”であるか否かを判定する(ステップS20f)。演算結果が”1”であるとき、コントローラ214は、変数nに、1を加えたn+1を代入し(ステップS20g)、変数maに代入されている管理番号を変数mに代入する(ステップS20h)。その後、ステップS20e〜S20hが繰返し行なわれる。
【0119】
ステップS20fにおいて、コントローラ214は、演算結果が”1”でないとき、バンクn−1が、最新のログが記録されている領域であると判断し、最新の管理番号mの取得を終了し、図11に示すステップS20bへ移行する。このとき、最も古いログはバンクnに格納されている。
【0120】
ステップS20fにおいて、演算結果が”1”であると判定された場合に、ステップS20g,S20h,S20e,S20fが、順次、行なわれるのは、演算結果が”1”である場合、変数mと変数maとに代入された管理番号mと管理番号maとが連続した番号であり、バンクn−1とバンクnとに、前後してログが格納されたことを示している。つまり、ログメモリ253の領域はバンク番号順に巡回的に使用され、かつ、管理番号もMの剰余系において巡回的に使用されるのであるから連続して格納された場合、連続するバンクに格納された管理番号の差は”1”となるからである。したがって、バンクn−1には、最新のログが格納されていないことが判る。なお、バンクnについては不明である。そして、判断する領域を1つ進めて、バンクnに格納されているログについて判定する。すなわち、バンクnに格納されているログの管理と、次の領域であるバンクn+1に格納されているログの管理番号に基づいて判定する。フローチャートでは、ステップS20gにおいて、nにはn+1が代入されることで次の領域に対する判定となる。
【0121】
このように、ステップS20f,S20g,S20h,S20eのループを繰返し行なうことによってバンク0から順にバンクN−1まで連続した領域に格納された管理番号が連続しているか否かが判定される。なお、バンクN−1と比較されるのはバンク0の番号である、上述したように、バンクの番号に対する演算はNの剰余系においてなされる。すなわち、バンクN−1の判定においては、n−1=N−1、n=0である。
【0122】
ステップS20fにおいて、演算結果が”1”でない場合に、バンクn−1に格納されたログを最新のログと判定するのは、この場合、バンクn−1およびバンクnに格納される2つのログの管理番号が不連続であるからである。すなわち、上述したように、前後してログの管理番号は連続する。逆に連続しない管理番号を含むログは連続しないこととなる。
【0123】
また、図12に従ってバンクn−1を特定するためには、HD20の出荷時におけるログメモリ253の初期化によってログメモリ253の全ての領域2531〜253Nに、すなわち、バンク0〜バンクN−1に対して、所定の管理番号を含むログを格納しておく必要がある。管理番号として全てのバンクに対して同じ値、あるいは、連続するバンクに連続する値(一ヶ所不連続となる)を持つログを格納しておく。なお、ログの他の領域については、いずれの値であってもよい。
【0124】
再び、図11を参照して、上述した方法によって最新の履歴情報(ログ)が記録されているバンクn−1と、バンクn−1に格納された管理番号mとを取得した後、コントローラ214は、バンクnに、管理番号m+1、ステップS16で受理したライセンスID、ステップS19で受理したセッション鍵Ks2aを格納し、ST1領域2545のステータスST1を”受信待”に設定する(ステップS20b)。これにより、図9に示すステップS20の動作が終了し、ステップS21へ移行する。
【0125】
再び、図9を参照して、ステップS20の後、暗号処理部224は、切換スイッチ260の接点Pbを介して復号処理部230より与えられるセッション鍵Ks1aによって、切換スイッチ262の接点PdとPfとを順に切換えることによって与えられるセッション鍵Ks2aと個別公開鍵KPom2とからなる1つのデータ列を暗号化し、E(Ks1a,Ks2a//KPom2)生成する(ステップS21)。そして、暗号処理部224は、E(Ks1a,Ks2a//KPom2)をバスBS3に出力する。バスBS3に出力された暗号化データE(Ks1a,Ks2a//KPom2)は、コントローラ214により受理され、コントローラ214は、受理した暗号化データとライセンスID(LID)とを1つのデータ列としたデータLID//E(Ks1a,Ks2a//KPom2)をATAインターフェース部212および端子210を介して端末装置10へ出力する(ステップS22)。
【0126】
そして、端末装置10は、データLID//E(Ks1a,Ks2a//KPom2)をHD20から受理すると(ステップS23)、受理したデータをネットワーク30を介してライセンス提供装置40に出力する(ステップS24)。
【0127】
ライセンス提供装置40は、データLID//E(Ks1a,Ks2a//KPom2)を受信すると(ステップS25)、復号処理部422においてセッション鍵Ks1aによる復号処理を実行し、HD20で生成されたセッション鍵Ks2a、およびHD20の個別公開鍵KPom2を受理する(ステップS26)。
【0128】
配信制御部412は、ライセンスID(LID)に対応するデータID(DID)およびコンテンツ鍵KcをコンテンツDB402から取得し(ステップS27)、ライセンスID(LID)および制御情報ACと併せた1つのデータ列としてのライセンスLIC=Kc//AC//DID//LIDを生成する。
【0129】
配信制御部412は、生成したライセンスLICを暗号処理部424に与える。暗号処理部424は、復号処理部422によって得られたHD20の個別公開鍵KPom2によってライセンスLICを暗号化して暗号化データE(KPom2,LIC)を生成する(ステップS28)。そして、暗号処理部426は、暗号処理部424から受ける暗号化データE(KPom2,LIC)を、復号処理部422から受けるセッション鍵Ks2aによって暗号化し、暗号化データE(Ks2a,E(KPom2,LIC))を生成する(ステップS29)。
【0130】
図10を参照して、配信制御部412は、バスBS1および通信装置450を介して暗号化データE(Ks2a,E(KPom2,LIC))を端末装置10へ向けて出力する(ステップS30)。端末装置10は、ネットワーク30を介して暗号化データE(Ks2a,E(KPom2,LIC))を受理すると(ステップS31)、受理した暗号化データをHD20へ出力する(ステップS32)。
【0131】
HD20のコントローラ214は、端子210およびATAインターフェース部212を介して暗号化データE(Ks2a,E(KPom2,LIC))を受理すると(ステップS33)、バスBS3へ出力する。復号処理部228は、セッション鍵発生部226から与えられたセッション鍵Ks2aを用いてバスBS3に出力されたデータE(Ks2a,E(KPom2,LIC))を復号し、HD20において、ライセンスLICが個別公開鍵KPom2により暗号化された暗号化ライセンスE(KPom2,LIC)が受理される(ステップS34)。そして、復号処理部228は、暗号化ライセンスE(KPom2,LIC)をバスBS3へ出力する。
【0132】
コントローラ214の指示によって、暗号化ライセンスE(KPom2,LIC)は、復号処理部216において個別秘密鍵Kom2によって復号され、ライセンスLICが受理される(ステップS35)。
【0133】
HD20のコントローラ214は、ライセンスLICの受理を確認すると、ATAインターフェース部212および端子210を介してその旨を端末装置10に通知する。端末装置10のコントローラ108は、HDインターフェース部110およびバスBS2を介して、HD20においてライセンスLICが受理された旨の通知を受理すると、HD20のセキュアデータ記憶部250において、その受信したライセンスLICを格納するLBA(「格納LBA」と呼ぶ。)をバスBS2およびHDインターフェース110を介してHD20へ出力する(ステップS36)。HD20のコントローラ214は、端子210およびATAインターフェース部212を介してライセンスLICの格納LBAを受理すると(ステップS37)、その受理した格納LBAをログメモリ253のバンクnに格納されたログのLBA領域2547に記憶する(ステップS38)。
【0134】
そして、コントローラ214は、受理したライセンスLICに含まれるライセンスID(LID)と、ステップS16において受理したライセンスLID(LID)とを比較し、一致しているか否かをチェックする(ステップS39)。コントローラ214は、LIDが一致しており、受理したライセンスLICが正しいものであると判断すると、端末装置10から受理したセキュアデータ記憶部250内のLBAに、受理したライセンスLICを記憶する(ステップS40)。
【0135】
コントローラ214は、指定されたLBAにライセンスLICを記憶すると、有効フラグ領域252のそのLBAに対応するフラグを”有効”にする(ステップS41)。そして、コントローラ214は、さらに、ログメモリ253のバンクnに格納されたログのST1領域2544のステータスST1を”受信済”に変更し(ステップS42)、配信セッションにおける一連の処理が終了したことを端末装置10に通知する。
【0136】
そして、端末装置10において、HD20から処理終了通知が受理されると、データ配信システムにおける配信セッションが正常終了する。
【0137】
一方、ステップS39において、コントローラ214は、LIDが一致せず、受理したライセンスLICが正しくないと判断すると、エラー通知を端末装置10へ出力し(ステップS43)、端末装置10は、エラー通知を受理すると(ステップS45)、処理を終了する。
【0138】
図9および図10に示された配信処理においては、ライセンス提供装置40におけるログの記録に関する記載がなされていないが、図4に示すように、ライセンス提供装置40には、十分な記憶容量を持つログDB404が備えられており、配信セッションにおける各ステップにおけるログがログDB404に記憶される。また、ログDB404には、ライセンスの送信に伴なう課金情報なども記憶される。
【0139】
図9および図10に示された配信処理における一連の処理において、ステップS25からステップS44の処理中に異常が発生して処理が中断したときは、再書込処理の対象となる。たとえば、中断の理由として、上記処理中に端末装置10の電源が遮断されたり、ライセンス提供装置40側の異常、あるいは端末装置10とライセンス提供装置40との通信異常など、種々の異常ケースが考えられる。ここで、HD20内のログメモリ253に格納されたステータスST2を除く出力ログの内容がすべて格納されたステップS22終了後からステップS44までの処理中に処理が中断した場合には、HD20は、再書込処理を行なってライセンスの提供を受けることが可能である。ここでは、端末装置10の判断によって再書込処理を行なうものとしたため、端末装置10において処理の進行が確認できるステップS22からステップS24を除く、ステップS25からステップS44の処理中に処理が中断した場合を再書込処理の対象とし、他のステップにおける処理の中断においてはライセンス提供装置40からライセンスの提供がなされなかったものと判断し、図9および図10に示したフローチャートに従って、最初から処理を行なうこととした。
【0140】
同様に、ライセンス提供装置40がライセンスを出力するまでのライセンス提供装置40内のステップS25からステップS30までの処理については、端末装置10において、これらのいずれのステップを処理中に処理が中断したかを特定できる場合には、再書込処理の対象から除外して、図9および図10に示したフローチャートにしたがって、最初から処理を行なうものとしてもよい。
【0141】
[配信における再書込]
図13〜図15は、図9および図10において示した配信処理におけるステップS25からステップS44の処理中に異常が発生したときに行なわれる再書込処理の第1から第3のフローチャートであり、図16は、図13のステップS112aの詳細な動作を説明するためのフローチャートである。
【0142】
図13を参照して、端末装置10は、ステップS25からステップS44の処理中に異常が発生したと判断すると、ライセンスLICのLID//再書込要求をネットワーク30を介してライセンス提供装置40へ出力する(ステップS101)。配信制御部412は、通信装置450およびバスBS1を介してLID//再書込要求を受理すると(ステップS102)、セッション鍵発生部414にセッション鍵を生成するように指示する。指示を受けたセッション鍵発生部414は、再書込処理のためのセッションキー鍵Ks1bを生成する(ステップS103)。そして、配信制御部412は、このセッションにおいてHD20とやり取りしたログが格納されているログDB402からHD20に対応するクラス公開鍵KPcm1を取得し(ステップS104)、暗号処理部420に与える。クラス公開鍵KPcm1を受けた暗号処理部420は、クラス公開鍵KPcm1をによりセッション鍵Ks1bを暗号化し、E(KPcm1,Ks1b)が生成される(ステップS105)。そして、配信制御部412は、LID//E(KPcm1,Ks1b)をバスBS1および通信装置450を介して端末装置10へ向けて出力する(ステップS106)。
【0143】
端末装置10は、ネットワーク30を介してLID//E(KPcm1,Ks1b)を受理すると(ステップS107)、受理したLID//E(KPcm1,Ks1b)をHD20へ出力する(ステップS108)。そして、HD20のコントローラ214は、端子210およびATAインターフェース部212を介してLID//E(KPcm1,Ks1b)を受理する(ステップS109)。コントローラ214は、受理したE(KPcm1,Ks1b)をバスBS3を介して復号処理部230へ与え、復号処理部230は、Kcm保持部204に保持されるHD20に固有なクラス秘密鍵Kcm1によって復号処理することにより、セッション鍵Ks1bを復号し、セッション鍵Ks1bが受理される(ステップS110)。
【0144】
HD20のコントローラ214は、ライセンス提供装置40で生成されたセッション鍵Ks1bの受理を確認すると、ATAインターフェース部212および端子210を介してその旨を端末装置10に通知する。端末装置10のコントローラ108は、HDインターフェース部110およびバスBS2を介して、HD20においてセッション鍵Ks1bが受理された旨の通知を受理すると、ログの出力要求をバスBS2およびHDインターフェース部110を介してHD20へ出力する(ステップS111)。
【0145】
HD20のコントローラ214は、端子210およびATAコントローラ212を介してログの出力要求通知を受理し(ステップS112)、ログの複製処理を行なう(ステップS112a)。
【0146】
ここで、図16を参照して、ステップS112aの詳細な動作について説明する。コントローラ214は、ログメモリ253のうち、最新のログが格納されたバンクn−1の特定と、バンクn−1に格納されているログの管理番号mとを取得する(ステップS112b)。このステップS112bの詳細な動作は、図11および図12に示すフローチャートに従って行なわれる。
【0147】
ステップS112bの後、コントローラ214は、変数k(kは自然数、1≦k≦N)に”1”を、変数ERRに”偽”を代入し(ステップS112c)、バンクn−kに格納されたログのライセンスID(LID)が、ステップS109で受理したライセンスID(LID)に一致するか否かを判定する。すなわち、コントローラ214は、ステップS112bで検出した最新のログに格納されたライセンスID(LID)が、ステップS109で受理したライセンスID(LID)に一致するか否かを判定する。
【0148】
2つのライセンスID(LID)が不一致である場合、コントローラ214は、kがN(バンクの総数)よりも小さいか否かを判定し(ステップS112e)、kがN以上であるとき、全てのバンクに対して確認が終了し、つまり、受理したライセンスID(LID)に一致するLIDを記録したログが格納されていないことが確認され、ステップS112hへ進み、変数ERRに”真”を代入する(ステップS112h)。そして、図13のステップS113aに戻り、変数ERRを確認する。
【0149】
再び、図13を参照して、コントローラ214は、変数ERRを確認する(ステップS113a)。図16のステップS112hから移行した場合、変数ERRは”真”であり、該当するライセンスIDを記録するログが、ログメモリ253に格納されていなかったことを示しているので処理を継続することはできない。したがって、図15に示すステップS160へ移行し、エラー通知を端末装置10へ出力する(ステップS160)。そして、端末装置10は、エラー通知を受理し(ステップS161)、書込拒否により一連の動作が終了する。
【0150】
図16を参照して、ステップS112eにおいて、コントローラ214は、kはNよりも小さいと判定すると、全てのバンクに対する確認が終了していないので、今、確認したログより、1つ古いログを確認するために、変数kにk−1を代入する(ステップS112f)、ステップS112dへ移行する。そして、コントローラ214は、バンクn−kに格納されたライセンスID(LID)が、ステップS109で受理したライセンスID(LID)と一致するか否かを判定する。この場合、変数kの値は”2”であるので、コントローラ214は、バンクn−2に格納されたログのライセンスID(LID)が、ステップS109で受理したライセンスID(LID)に一致するか否かを判定する。そして、2つのライセンスID(LID)が不一致である場合、ステップS112e,S112f,S112dが行なわれる。
【0151】
このように、コントローラ214は、最新のログから、より古いログが格納されるバンクへ向けて、各バンクに格納されたライセンスID(LID)が、ステップS109で受理したライセンスID(LID)と一致するか否かを判定する。そして、この動作(ステップS112e,S112f,S112d)は、ステップS109で受理したライセンスID(LID)に一致するライセンスID(LID)が検出されるまで、あるいは、全てのバンクの確認が終了するまで繰返し行なわれる。なお、バンク番号はNの剰余系であるので、ライセンスIDの確認は、バンクn−1(k=1),n−2(k=2),・・・,1(k=n−1),0(k=n),N−1(k=n+1),・・・,n(k=N)の順に確認される。
【0152】
ステップS112dにおいて、2つのライセンスID(LID)が一致したとき、コントローラ214は、バンクn−kに格納されたログを取得し、その取得したログの管理番号mをm+1に変更した後、そのログをバンクnに格納する(ステップS112g)。つまり、コントローラ214は、ライセンス提供装置40から送信されたライセンスID(LID)に一致するライセンスID(LID)を含むログがログメモリ253に格納されている場合、そのログ(複数有る場合は、より新しいログ)を、最も古いログが格納されたバンクnに複製する。この場合、管理番号のみは複製されず、複製したログが新しいログとして扱われるよう先のバンクn−1に格納されたログの管理番号に1を加えた値を記録する。したがって、最も古いログは削除され、そこに、現在、進行中の再書込処理に対する新たなログが格納される。
【0153】
その後、図13に示すステップS113aへ移行する。
再び、図13を参照して、コントローラ214は、変数ERRを格納する(ステップS113a)。図16に示すステップS112gから移行した場合、変数ERRは”偽”であり、該当するライセンスIDを記録したログがバンクnに複製されるので処理の継続が可能であると判断され、ステップS113へ移行して、ログメモリ253のバンクnに格納された格納LBAに記憶されるライセンスLICのライセンスID(LID)と、ログメモリ253に格納されたライセンスID(LID)とが一致するか否かをチェックする(ステップS113)。
【0154】
コントローラ214は、両ライセンスID(LID)が一致すると判断すると、配信処理としては、ライセンス提供装置40からのライセンスLICの受理までは行なわれ、HD20においてライセンスLICは受理していると認識する。そうすると、コントローラ214は、ログメモリ253のバンクnに格納された格納LBAにより指定された領域に記憶されるライセンスに対応する有効フラグ領域252に格納されているフラグをチェックして、そのライセンスの有効性をチェックする(ステップS114)。
【0155】
コントローラ214は、ライセンスが有効であると判断すると、ログメモリ253のバンクnに格納されたログのステータスST2を”データ有”に変更し、次の処理(ステップS118)へ移行する。一方、コントローラ214は、ステップS114においてライセンスが無効であると判断すると、ログメモリ253のバンクnに格納されたログのステータスST2を”移動済”に変更し、次の処理(ステップS118)へ移行する。
【0156】
ステップ113において、コントローラ214は、比較したライセンスID(LID)が一致しないと判断したときは、ログメモリ253のバンクnに格納されたログのステータスST2を”データ無”に変更する(ステップS117)。
【0157】
ステータスST2の変更処理がなされると、コントローラ214は、ログメモリ253のバンクnからライセンスID(LID)、ステータスST1,ST2およびセッション鍵Ks2cを取得する(ステップS118)。ここで、この処理は図9および図10のフローチャートに従って配信セッションの中断に対する処理であるためログメモリ253のバンクnに格納されているセッション鍵はKs2aであるが、説明の関係上、ログメモリ253のバンクnから取得したセッション鍵をKs2cとしている。そして、コントローラ214は、取得したセッション鍵Ks2cをバスBS3を介して暗号処理部224へ出力する。
【0158】
暗号処理部224は、切換スイッチ260の接点Pbを介して復号処理部230より与えられるセッション鍵Ks1bによって、バスBS3から取得したセッション鍵Ks2cを暗号化し、E(Ks1b,Ks2c)生成する(ステップS119)。そして、暗号処理部224は、生成したE(Ks1b,Ks2c)をバスBS3に出力する。バスBS3に出力されたE(Ks1b,Ks2c)は、コントローラ214により受理され、コントローラ214は、ステップS118において取得したデータとともに1つのデータ列LID//E(Ks1b,Ks2c)//ST1//ST2を生成し、ハッシュ関数を用いてハッシュ値H(LID//E(Ks1b,Ks2c)//ST1//ST2)を生成する(ステップS120)。そして、コントローラ214は、ハッシュ値H(LID//E(Ks1b,Ks2c)//ST1//ST2)をバスBS3を介して暗号処理部224へ出力する。
【0159】
暗号処理部224は、切換スイッチ260の接点Pbを介して復号処理部230より与えられるセッション鍵Ks1bによって、バスBS3から取得したハッシュ値H(LID//E(Ks1b,Ks2c)//ST1//ST2)を暗号化し、E(Ks1b,H(LID//E(Ks1b,Ks2c)//ST1//ST2))生成する(ステップS121)。そして、暗号処理部224は、生成したE(Ks1b,H(LID//E(Ks1b,Ks2c)//ST1//ST2))をバスBS3に出力する。ここで、データ列LID//E(Ks1b,Ks2c)//ST1//ST2を受信ログと称し、E(Ks1b,H(LID//E(Ks1b,Ks2c)//ST1//ST2))は、受信ログに対してセッション鍵Ks1bを用いて電子署名を行なった署名データである。また、ログメモリ253に格納されていたセッション鍵Ks2cをセッション鍵Ks1bを用いて暗号化するのは、セッション鍵Ks2cの漏洩によるライセンスの流出の危険性を排除するためである。
【0160】
コントローラ214は、バスBS3から署名データを受理すると、ステップS118において取得した受信ログを用いて、署名付き受信ログLID//E(Ks1b,Ks2c)//ST1//ST2//E(Ks1b,H(LID//E(Ks1b,Ks2c)//ST1//ST2))を生成し、ATAインターフェース部212および端子210を介して端末装置10へ出力する(ステップS122)。
【0161】
端末装置10は、署名付き受信ログLID//E(Ks1b,Ks2c)//ST1//ST2//E(Ks1b,H(LID//E(Ks1b,Ks2c)//ST1//ST2))をHD20から受理すると(ステップS123)、受理したデータをネットワーク30を介してライセンス提供装置40へ出力する(ステップS124)。そして、ライセンス提供装置40は、ネットワーク30を介して署名付き受信ログLID//E(Ks1b,Ks2c)//ST1//ST2//E(Ks1b,H(LID//E(Ks1b,Ks2c)//ST1//ST2))を受信する。(ステップS125)
図14を参照して、ライセンス提供装置40は、受信した署名付き受信ログLID//E(Ks1b,Ks2c)//ST1//ST2//E(Ks1b,H(LID//E(Ks1b,Ks2c)//ST1//ST2))の検証を行なう(ステップS126)。検証処理は次のように行なわれる。
【0162】
配信制御部412は、署名付き受信ログを受理すると、まず、受理した署名付き受信ログの後半部である署名データE(Ks1b,H(LID//E(Ks1b,Ks2c)//ST1//ST2))を復号処理部422へ出力するとともに、セッション鍵発生部414にセッション鍵Ks1bを発生するように指示する。そして、復号処理部422は、セッション鍵Ks1bによって署名データE(Ks1b,H(LID//E(Ks1b,Ks2c)//ST1//ST2))を復号し、HD20にて演算したハッシュ値を抽出する。一方、配信制御部412は、署名付き受信ログの前半部である受信ログLID//E(Ks1b,Ks2c)//ST1//ST2のハッシュ値を演算し、復号処理部422により復号されたHD20で演算されたハッシュ値と比較する。配信制御部412は、2つのハッシュ値が一致したと判断すると、HD20から受理したデータ列は、正当なデータを含むものとしてライセンス提供装置40において承認される。
【0163】
ステップS126においてHD20から受理した署名付き受信ログが承認されると、配信制御部412は、受理したライセンスID(LID)に基づいてログDB404を検索する(ステップS127)。配信制御部412は、受理したライセンスID(LID)がログDB404内に格納されており、HD20に対して確かに提供を行なったライセンスであると判断すると、受理したステータスST1,ST2の内容を確認する(ステップS128)。
【0164】
配信制御部412は、ステータスST1が”受信待”であり、ステータスST2が”データ無”であるとき、HD20に送信したはずのライセンスLICが何らかの異常によりHD20において受理されていないと判断し、受信したデータ列に含まれる暗号化データE(Ks1b,Ks2c)を復号処理部422へ出力してセッション鍵Ks1bによってセッション鍵Ks2cを復号する。そして、復号されたセッション鍵Ks2cは、バスBS1を介して配信制御部412へ出力され、配信制御部412においてセッション鍵Ks2cが受理される(ステップS129)。
【0165】
そして、配信制御部412は、異常発生時のセッション鍵Ks2aを今回受理したセッション鍵Ks2cと比較チェックする(ステップS130)。配信制御部412は、セッション鍵Ks2aとセッション鍵Ks2cとが一致していると判断すると、ライセンスLICの再書込に対する許可通知を端末装置10へ出力する(ステップS133)。
【0166】
一方、ステップS126においてHD20から受理したデータ列が承認されなかったとき、ステップS127においてHD20から受理したライセンスID(LID)がログDB404内に格納されておらず、HD20に対して提供を行なったライセンスであると判断できないとき、ステップS128において、HD20においてライセンスLICが受理されたものと判断されたとき、またはステップS130において、セッション鍵Ks2aがセッション鍵Ks2cと一致しないと判断されたときは、配信制御部412は、ライセンスの再送信は不可と判断し、バスBS1および通信装置450を介してエラー通知を端末装置10へ向けて出力し(ステップS131)、端末装置10は、ネットワーク30を介してエラー通知を受理すると(ステップS132)、処理が終了する。すなわち、ライセンス提供装置40において、ライセンスの再書込が拒否されて処理が終了する。
【0167】
端末装置10のコントローラ108は、ステップS133においてライセンス提供装置40が出力した許可通知を受理すると(ステップS134)、HD20に対するセッション鍵の生成の要求通知をバスBS2およびHDインターフェース部110を介してHD20へ出力する(ステップS135)。
【0168】
HD20は、ライセンス提供装置40からの再書込処理許可通知に基づいて、端末装置10からセッション鍵の生成要求通知を受理すると、新たにセッション鍵Ks2bを生成し(ステップS136)、ログメモリ253のバンクnのログに記録されているセッション鍵Ks2c(=Ks2a)を、生成したセッション鍵Ks2bに、ログのステータスST1を”受信待”に変更する(ステップS137)。
【0169】
以下、ステップS138からの一連の処理は、図9および図10において説明したステップS21から処理終了までの一連の処理において、セッションKs2aに代えて新たに生成してセッション鍵Ks2bが使用される他は、同様の処理が行なわれる。したがって、ステップS138からの一連の処理の説明は繰返しになるので省略する。
【0170】
なお、図13〜図15のフローチャートに示されるライセンスの配信における再書込処理中の中断に対しては、ステップS101〜S131、ステップS133およびステップS142〜S160のいずれかのステップにおいて処理が中断した場合には、再び図13〜図15のフローチャートに従って再書込処理を行なうことができる。一方、ステップS134〜S141のいずれかのステップにおいて処理が中断した場合には、図9および図10のフローチャートに示されるライセンスの配信処理を最初から行なうことによって、処理を再開することができる。
【0171】
このようにして、端末装置10に装着されたHD20が正規のクラス証明書Cm1を保持する機器であることを確認したうえで、クラス証明書Cm1に含まれて送信されたクラス公開鍵KPcm1によってライセンス提供装置40およびHD20でそれぞれ生成される暗号鍵(セッション鍵)をやり取りし、お互いが受領した暗号鍵を用いた暗号化を実行して、その暗号化データを相手方に送信することによって、それぞれの暗号化データの送受信においても事実上の相互認証を行なうことができる。これによって、不正なハードディスクへのライセンスの配信を禁止することができ、データ配信システムのセキュリティを向上させることができる。
【0172】
さらに、ライセンスの配信処理が中断しても、受信側のデータ記憶装置であるHD20における署名付き受信ログをライセンス提供装置40へ送信することで、ライセンスの重複配信を行なうことなく、ライセンスの再送処理を安全に行なうことができる。
【0173】
[複製・移動]
図17は、ライセンスの複製・移動が行なわれるシステムの構成を概念的に示した概略図である。図17を参照して、端末装置10にデータ記憶装置として2台のHD20,21が装着可能であり、端末装置10を介してHD20からHD21へライセンスの複製または移動が行なわれる。
【0174】
ここで、HD21は、HD20と異なるデータ記憶装置であるため、HD20とは異なる個別公開鍵KPom5と個別秘密鍵Kom5とを保持している。この場合、HD21における識別子zは、HD20のz=2とは異なるz=5となる。また、HD21のクラスは、HD20のクラスと同じy=1として以下説明する。すなわち、HD20、HD21とも、クラス証明書Cm1=KPcm1//Icm1//E(Ka,KPcm1//Icm1)およびクラス秘密鍵Kcm1を保持する。しかしながら、HD21のクラスがHD20のクラスと異なる(y≠1)場合には、クラス証明書およびクラス秘密鍵も、個別公開鍵および個別秘密鍵と同様に、HD20とは異なったものとなる。
【0175】
図18および図19は、図17に示すライセンスの複製・移動が可能なシステムにおいて、端末装置10のユーザが端末装置10から暗号化コンテンツデータのライセンスの複製または移動のリクエストを行なうことにより、端末装置10を介して端末装置10に装着されたHD20からHD21へライセンスの複製または移動が行なわれる際の処理(複製・移動セッション)を説明するための第1および第2のフローチャートである。
【0176】
図18を参照して、端末装置10のユーザから所望のコンテンツデータのライセンスに対する複製または移動の要求が発せられると、端末装置10のコントローラ108は、バスBS2およびHDインターフェース部110を介してHD21へクラス証明書の出力要求を出力する(ステップS201)。HD21においては、端子210およびATAインターフェース部212を介してクラス証明書の出力要求が受理されると(ステップS202)、コントローラ214は、認証データ保持部202からクラス証明書Cm1=KPcm1//Icm1//E(Ka,H(KPcm1//Icm1))を読出し、クラス証明書Cm1をATAインターフェース部212および端子210を介して端末装置10へ出力する(ステップS203)。
【0177】
端末装置10は、HD21からクラス証明書Cm1を受理すると(ステップS204)、受理したクラス証明書Cm1をHD20へ送信する(ステップS205)。
【0178】
HD20では、端末装置10からHD21のクラス証明書Cm1を受理すると(ステップS206)、認証部220およびコントローラ214によって受理したHD21のクラス証明書Cm1が正当なクラス証明書であるか否かを認証する(ステップS207)。認証処理は、ライセンス提供装置40における認証処理(図9のステップS7)と同一であるため詳細な説明は省略する。
【0179】
ステップS207において、コントローラ214は、正当なHD21のクラス証明書でないと判定した場合には、HD21のクラス証明書Cm1を非承認として受理せず、エラー通知を端末装置10へ出力する(図19のステップS252)。そして、端末装置10においてエラー通知が受理されると(図15のステップS253)、配信セッションが終了する。
【0180】
ステップS207において、HD21のクラス証明書Cm1が正当な証明書であると判断されると、HD20のコントローラ214は、HD21のクラス証明書Cm1を承認し、セッション鍵Ks1aを生成するようにセッション鍵発生部226を制御し、セッション鍵発生部226は、セッション鍵Ks1aを生成する(ステップS209)。
【0181】
セッション鍵Ks1aは、認証部220によって得られたHD21のクラス公開鍵KPcm1によって、暗号処理部222において暗号化され、暗号化データE(KPcm1,Ks1a)が生成される(ステップS210)。
【0182】
そして、コントローラ214は、暗号化データE(KPcm1,Ks1a)を、ATAインターフェース部212および端子210を介して端末装置10へ出力する(ステップS211)。
【0183】
端末装置10は、暗号化データE(KPcm1,Ks1a)を受理すると(ステップS212)、受理した暗号化データE(KPcm1,Ks1a)をHD21へ出力する(ステップS213)。ここで、ライセンスID(LID)は、事前に管理ファイルを参照することで端末装置10が取得している。管理ファイルは、HD20に記憶されている暗号化コンテンツデータとライセンスとの関係を管理するための管理データを記録したデータファイルであって、ノーマルデータ記憶部270に記憶され、暗号化コンテンツデータの記録消去や、ライセンスの書込、移動および消去によってその内容が更新される。
【0184】
そして、HD21においては、コントローラ214が、端子210およびATAインターフェース部212を介してLID//E(KPcm1,Ks1a)を受理する(ステップS214)。続いて、コントローラ214は、バスBS3を介してE(KPcm1,Ks1a)を復号処理部230へ与え、復号処理部230は、Kcm保持部204に保持されるHD21に固有なクラス秘密鍵Kcm1によって復号処理することにより、セッション鍵Ks1aを復号し、セッション鍵Ks1aを受理する(ステップS215)。
【0185】
HD21のコントローラ214は、HD20で生成されたセッション鍵Ks1aの受理を確認すると、ATAインターフェース部212および端子210を介してその旨を端末装置10に通知する。端末装置10は、HD21においてセッション鍵Ks1aが受理された旨の通知を受理すると、セッション鍵の生成の要求通知をHD21へ出力する(ステップS216)。HD21のコントローラ214は、端子210およびATAコントローラ212を介してセッション鍵の生成要求通知を受理すると、セッション鍵発生部226に対してセッション鍵の生成を指示する。そして、セッション鍵発生部226は、セッション鍵Ks2aを生成する(ステップS217)。
【0186】
セッション鍵発生部226は、セッション鍵Ks2aを生成すると、バスBS3を介してコントローラ214へ出力し、コントローラ214は、セッション鍵Ks2aを受ける。そして、コントローラ214は、最も古いログを格納したバンクを検索し、そこに処理中のセッションに対するログを新たに格納する(ステップS218)。ステップS218の詳細な動作は、図11および図12に示すフローチャートに従って行なわれる。ただし、HD21における処理と、HD20における同様の処理結果を区別するために最も古いログを格納したバンクは、バンクnaであるとする。すなわち、図11および図12に示すフローチャートにおける変数nを変数naと読替えればよい。
【0187】
したがって、ログメモリ253のバンクnaに、バンクna−1に格納されるログの管理番号に1を加えた新しい管理番号と、ステップS214において受理したライセンスID(LID)とセッション鍵Ks2aとを格納し、ステータスST1を”受信待”にする。
【0188】
続いて、HD21においては、続いて、暗号処理部224は、切換スイッチ260の接点Pbを介して復号処理部230より与えられるセッション鍵Ks1aによって、切換スイッチ262の接点PdとPfとを順に切換えることによって与えられるセッション鍵Ks2aと個別公開鍵KPom5とからなる1つのデータ列を暗号化し、E(Ks1a,Ks2a//KPom5)を生成する(ステップS219)。そして、暗号処理部224は、E(Ks1a,Ks2a//KPom5)をバスBS3に出力する。バスBS3に出力された暗号化データE(Ks1a,Ks2a//KPom5)は、コントローラ214により受理され、コントローラ214は、受理した暗号化データとライセンスID(LID)とを1つのデータ列としたデータLID//E(Ks1a,Ks2a//KPom5)をATAインターフェース部212および端子210を介して端末装置10へ出力する(ステップS220)。
【0189】
そして、端末装置10は、データLID//E(Ks1a,Ks2a//KPom5)をHD21から受理すると(ステップS221)、受理したデータをHD20へ出力する(ステップS222)。
【0190】
HD20では、端子210およびATAインタフェース部110を介してデータLID//E(Ks1a,Ks2a//KPom5)を受理すると(ステップS223)、復号処理部228においてセッション鍵Ks1aによる復号処理を実行し、HD21で生成されたセッション鍵Ks2a、およびHD21の個別公開鍵KPom5を抽出して受理する(ステップS224)。そして、復号処理部228は、復号したセッション鍵Ks2aをバスBS3を介してコントローラ214へ出力し、コントローラ214は、セッション鍵Ks2aを受ける。そして、コントローラ214は、最も古いログを格納したバンクに、処理中のセッションに対するログを新たに格納する(ステップS225)。ステップS225の詳細な動作は、図20に示すフローチャートに従って行なわれる。図20を参照して、ステップS225は、ログメモリ253の最新ログが記録されたバンクn−1を特定し、かつ、バンクn−1に格納された管理番号mを取得するステップS225aと、バンクnに、管理番号m+1、ライセンスID(LID)、セッション鍵Ks2a、およびクラス公開鍵KPcmyを格納し、かつ、ステータス領域を“送信待”に設定するステップS225bとから成る。そして、ステップS225aの詳細な動作は、図12に示すフローチャートに従って行なわれる。したがって、コントローラ214は、図20および図12に示すフローチャートに従って、ステップS223において受理したライセンスID(LID)とステップS224で受理したセッション鍵Ks2aとをバンクnに格納し、ステータスST1を“送信待”にする。
【0191】
HD20では、ステップS225の処理を終えると、HD20のコントローラ214は、その旨をATAインターフェース部212および端子210を介して端末装置10に通知する。端末装置10のコントローラ108は、HDインターフェース部110およびバスBS2を介して、HD20からの通知を受理すると、HD20のセキュアデータ記憶部250において、HD20からHD21へ送信するライセンスLICが格納されているLBA(格納LBA)をバスBS2およびHDインターフェース110を介してHD20へ出力する(ステップS226)。HD20のコントローラ214は、端子210およびATAインターフェース部212を介して送信対象のライセンスLICの格納LBAを受理すると(ステップS227)、その受理した格納LBAをセキュアデータ記憶部250のログメモリ253のバンクnに記憶する(ステップS228)。
【0192】
そして、コントローラ214は、受理した格納LBAに格納されるライセンスLICに対応する有効フラグ領域252のフラグが“有効”であるか“無効”であるかを確認する(ステップS229)。コントローラ214は、有効フラグが“有効”であると、格納LBAに格納されているライセンスLICを取得する(ステップS230)。
【0193】
図19を参照して、HD20では、コントローラ214が、対象のライセンスLICを取得すると、ライセンスLICに含まれるライセンスID(LID)と、ステップS223において受理し、ログメモリ253のバンクnaに格納されているログに記憶されているライセンスID(LID)とを比較し、一致しているか否かをチェックする(ステップS231)。コントローラ214は、一致していると判断すると、取得したライセンスLICに含まれる制御情報ACを確認して利用制限がかけられていないかをチェックする(ステップS232)。
【0194】
コントローラ214は、制御情報ACにおいてライセンスLICの利用が禁止されていないことを確認すると、取得したライセンスLICを暗号処理部232に与える。暗号処理部232は、復号処理部228によって得られたHD21の個別公開鍵KPom5によってライセンスLICを暗号化して暗号化データE(KPom5,LIC)を生成する(ステップS233)。そして、暗号処理部232は、暗号化データE(KPom5,LIC)を切替スイッチPcを介して暗号処理部224へ出力し、暗号処理部224は、暗号処理部232から受けた暗号化データを復号処理部228から受けたセッション鍵Ks2aによって暗号化し、暗号化データE(Ks2a,E(KPom5,LIC))を生成する(ステップS234)。
【0195】
続いて、コントローラ214は、対象のライセンスLICに含まれる制御情報ACに基づいて、HD20からHD21へのライセンスLICの送信が「移動」であるか「複製」であるかを確認する(ステップS235)。コントローラ214は、「移動」であると確認したときは、その対象のライセンスLICに対応する、すなわち、格納LBAに対応する有効フラグ領域252のフラグを“無効”に変更する(ステップS236)。一方、コントローラ214は、「複製」であると確認したときには、当該ライセンスLICがHD20に残っていてもよいので、有効フラグ領域252のフラグの変更は行なわずに次の処理(ステップS237)へ移行する。
【0196】
コントローラ214は、有効フラグ領域252の処理が終わると、ログメモリ253のバンクnに格納されているログのステータスST1を“送信済”に変更し(ステップS237)、ATAインターフェース部212および端子210を介して暗号化データE(Ks2a,E(KPom5,LIC))を端末装置10へ送信する(ステップS238)。
【0197】
一方、ステップS229において受理した格納LBAに対応する有効フラグ領域252のフラグが“無効”であったとき、ステップS231においてライセンスID(LID)が一致しないとき、または、ステップS232において、取得したライセンスLICに含まれる制御情報ACにより当該ライセンスLICの利用が禁止されているときは、コントローラ214は、端末装置10に対してエラー通知を出力し(ステップS252)、端末装置10においてエラー通知が受理されると(ステップS253)、処理が終了する。
【0198】
端末装置10は、ステップS238においてHD20から出力された暗号化データE(Ks2a,E(KPom5,LIC))を受理すると(ステップS239)、受理した暗号化データをHD21へ出力する(ステップS240)。
【0199】
HD21では、コントローラ214が、端子210およびATAインターフェース部212を介して暗号化データE(Ks2a,E(KPom5,LIC))を受理し(ステップS241)、バスBS3へ出力する。復号処理部228は、セッション鍵発生部226から与えられたセッション鍵Ks2aを用いてバスBS3に出力されたデータE(Ks2a,E(KPom5,LIC))を復号し、HD21において、ライセンスLICが個別公開鍵KPom5により暗号化された暗号化ライセンスE(KPom5,LIC)が受理される(ステップS242)。そして、復号処理部228は、暗号化ライセンスE(KPom5,LIC)をバスBS3へ出力する。
【0200】
コントローラ214の指示によって、暗号化ライセンスE(KPom5,LIC)は、復号処理部216において個別秘密鍵Kom5によって復号され、HD21においてライセンスLICが受理される(ステップS243)。
【0201】
コントローラ214は、ライセンスLICの受理を確認すると、ATAインターフェース部212および端子210を介してその旨を端末装置10に通知する。端末装置10のコントローラ108は、HDインターフェース部110およびバスBS2を介して、HD21においてライセンスLICが受理された旨の通知を受理すると、HD21のセキュアデータ記憶部250において、その受信したライセンスLICを格納するLBA(格納LBA)をバスBS2およびHDインターフェース110を介してHD21へ出力する(ステップS244)。HD21のコントローラ214は、端子210およびATAインターフェース部212を介してライセンスLICを格納する格納LBAを受理すると(ステップS245)、その受理した格納LBAをログメモリ253のバンクnに格納されるログのLBA領域2544に記録する(ステップS246)。
【0202】
そして、コントローラ214は、受理したライセンスLICに含まれるライセンスID(LID)と、ステップS214において受理したライセンスLID(LID)とを比較し、一致しているか否かをチェックする(ステップS247)。コントローラ214は、LIDが一致しており、受理したライセンスLICが正しいものであると判断すると、端末装置10から受理したセキュアデータ記憶部250内の格納LBAに対応する領域に、受理したライセンスLICを記憶する(ステップS248)。
【0203】
コントローラ214は、指定された格納LBAにライセンスLICを記憶すると、有効フラグ領域252のその格納LBAに対応するフラグを“有効”にする(ステップS249)。そして、コントローラ214は、さらに、ログメモリ253のバンクnに格納されたログのステータスST1を“受信済”にし(ステップS250)、複製・移動セッションにおける一連の処理が終了したことをATAインターフェース部212および端子210を介して端末装置10に通知する。
【0204】
そして、端末装置10において、HD21からの処理終了通知が受理されると、HD20からHD21へのライセンスLICの複製・移動セッションが正常終了する。
【0205】
一方、ステップS247において、HD20のコントローラ214が、LIDが一致しておらず、受理したライセンスLICが正しくないと判断すると、ATAインターフェース部212および端子210を介してエラー通知を端末装置10へ出力し(ステップS251)、端末装置10においてエラー通知が受理されると(ステップS253)、HD20からHD21へのライセンスLICの複製・移動セッションが異常終了する。
【0206】
ここで、配信セッションのときと同様に、図18および図19に示された複製・移動セッションにおける一連の処理において、ステップS227からステップS252の処理中に異常が発生し、処理が中断したときは、再書込処理の対象となる。
【0207】
ここで、図18および図19に示された複製・移動セッションにおいて、ステップS227からステップS235までの処理を再書込処理の対象としたのは、この一連の処理がHD20の内部処理であり、ステップS226の終了後は、ステップS238まで端末装置10においていずれのステップを処理中に処理が中断したかを特定できないため、すべてステップS236が実行されてライセンスが無効化されたものとし、必ず再書込処理の対象としたものである。
【0208】
そして、ステップS236からステップS247までの処理を再書込処理の対象としたのは、「移動」の場合、この間は、HD20内のライセンスがステップS236において無効化され、かつ、HD21内に有効なライセンスが格納されていない状態であって、この間に処理が中断すると、対象となるライセンスが消失してしまうからである。
【0209】
また、ステップS248からステップS250までの処理を再書込処理の対象としたのは、ステップS249,S250については、これらの処理はステップS248におけるライセンス書込後の処理であるから本来は処理が終了しているところ、端末装置10からはステップS248の終了が特定できないため、ステップS248が終了していないものとみなして、ステップS248からステップS250を再書込処理の対象としたものである。なお、ステップS248が終了していて再書込処理が行なわれた場合には、再書込は拒否される。
【0210】
また、ステップS251の処理を再書込処理の対象としたのは、本来、この処理で処理が中断するのはかなり特殊な場合に限られるものであるが、端末装置10においては、ステップS251において処理が中断したことを特定することができないため、再書込処理の対象としたものである。
【0211】
なお、端末装置10において、上述したように当該セッションがライセンスの「複製」であると判断できる場合、あるいはステップS227からステップS235およびステップS249からステップS251のいずれかのステップで処理が中断したかを特定できる場合においては、必ずしも再書込処理とする必要はなく、図18および図19に示された複製・移動セッションを再度実行すればよい。
【0212】
[移動/複製における再書込]
図21〜図23は、図18および図19において示した複製・移動セッションの処理フローにおけるステップS227からステップS252の処理中に異常が発生したときに行なわれる再書込処理の第1から第3のフローチャートである。
【0213】
図21を参照して、端末装置10は、ステップS227からステップS252の処理中に異常が発生したと判断すると、ライセンスID(LID)とライセンスLICの再送要求とをデータ列LID//再送要求としてHD20へ出力する(ステップS301)。HD20では、コントローラ214が、端子210およびATAインターフェース部212を介してLID//再送要求を受理する(ステップS301a)。そして、ログの複製処理を行なう(301b)。複製処理では、ログメモリ253内にステップS301aにおいて受理したLIDを含むログが格納されていないかを検索し、格納されていた場合、ログメモリ253の最も古いログを格納しているバンクnに、検索されたLIDを含むログを複製し、変数ERR=“偽”とする。一方、ログメモリ253内にステップS301aにおいて受理したLIDを含むログが格納されていない場合には、変数ERR=“真”とする。この複製処理の詳細な動作は、図16に示すフローチャートに従って行なわれる。
【0214】
そして、コントローラ214は、ステップS301aの処理結果の判定、すなわち、変数ERRが“真”、“偽”のいずれであるかを判定する(ステップS301b)。“真”の場合、受理したLIDを含むログがバンクnへ複製されたことを示すので、再送要求に対する処理を開始するために次のステップS302へ移行する。“偽”の場合、受理したLIDを含むログがログメモリ253に格納されていなかった、つまり、HD20において受理したLIDによって特定されるライセンスLICの入出力処理がなされていなかったことを示すので、再送要求に対応不能と判断し、図23のステップS372へ移行し、エラー通知を端末装置10に対して出力する。端末装置10においてはエラー通知が受理されると(ステップS373)、処理が終了する。
【0215】
HD20において、ステップS301bにおいて変数ERR=”偽”を確認すると、コントローラ214は、ログメモリ253のバンクnに複製され、かつ、格納されているログのステータスST1の状態を確認する(ステップS302)。コントローラ214は、ステータスST1が“送信待”または“送信済”でないとき、すなわち複製・移動セッションにおいてライセンスLICの送信側でないときは、図23に示すステップS371へ処理が移行する。
【0216】
HD20のコントローラ214は、ステータスST1が“送信待”または“送信済”であるときは、セッション鍵発生部226にセッション鍵を生成するように指示し、セッション鍵発生部226は、セッション鍵Ks1aを生成する(ステップS303)。セッション鍵Ks1bが生成されると、コントローラ214は、中断以前に受理した、ライセンスLICの移動/複製先のHD21のクラス公開鍵KPcm1を、ログメモリ253のバンクnに格納されたログから取得する(ステップS304)。ここで、移動/複製先のHD21から再びクラス証明書Imclを受理することなくログに記憶されるクラス公開鍵KPcm1を用いるのは、再書込処理におけるなりすまし攻撃によるライセンスLICの漏洩を防ぐためである。したがって、再び、クラス証明書Imclを受理する場合には、HD20において、中断した処理において受理したクラス証明書と再書込処理において受理したクラス証明書とが同一か否かを確認する必要がある。たとえば、再書込処理において受理したクラス証明書Imclに含まれるクラス公開鍵とログに記録されるクラス公開鍵を比較して再書込処理を行なうか否かを判断する。
【0217】
そして、HD20では、そのクラス公開鍵KPcm1によって、セッション鍵Ks1bが暗号処理部222によって暗号化され、暗号化データE(KPcm1,Ks1b)が生成される(ステップS305)。コントローラ214は、生成された暗号化データE(KPcm1,Ks1b)とライセンスID(LID)とをデータ列LID//E(KPcm1,Ks1b)としてATAインターフェース部212および端子210を介して端末装置10へ出力する(ステップS306)。
【0218】
端末装置10は、LID//E(KPcm1,Ks1b)を受理すると(ステップS307)、受理したLID//E(KPcm1,Ks1b)をHD21へ出力する(ステップS308)。
【0219】
HD21において、コントローラ214は、端子210およびATAインターフェース部212を介してLID//E(KPcm1,Ks1b)を受理すると(ステップS309)、バスBS3を介してE(KPcm1,Ks1b)を復号処理部230へ与える。そうすると、復号処理部230は、Kcm保持部204に保持されるHD21に固有なクラス秘密鍵Kcm1によって復号処理を実行してセッション鍵Ks1bを復号し、セッション鍵Ks1bを受理する(ステップS310)。
【0220】
HD21のコントローラ214は、HD20で生成されたセッション鍵Ks1bの受理を確認すると、ATAインターフェース部212および端子210を介してその旨を端末装置10に通知する。端末装置10のコントローラ108は、HDインターフェース部110およびバスBS2を介してHD21からの通知を受理すると、HD21のログメモリ253に格納されるログのHD20への出力要求をバスBS2およびHDインターフェース部110を介してHD21へ出力する(ステップS311)。HD21のコントローラ214は、端子210およびATAコントローラ212を介してログの出力要求通知を受理する(ステップS312)。そして、HD20におけるステップS301aと同様にログの複製処理を行なう(ステップS312a)。複製処理時、ログメモリ253内にステップS309において受理したLIDを含むログが格納されていないかを検索し、格納されていた場合、ログメモリ253の最も古いログを格納しているバンクnaに、検索されたLIDを含むログを複製し、変数ERRa=“偽”とする。一方、ログメモリ253内にステップS309において受理したLIDを含むログが格納されていない場合には、ERRa=“真”とする。このステップS312aの詳細な動作は、図16に示すフローチャートに従って行なわれる。ただし、HD21における処理と、HD20における同様の処理結果を区別するために変数nを変数naとし、変数ERRを変数ERRaとする。すなわち、図16のステップS112bに相当する図12に示すフローチャートにおける変数nを変数naに、変数ERRを変数ERRaにそれぞれ読替えればよい。
【0221】
そして、コントローラ214は、ステップS312aの処理結果の判定、すなわち、ERRaが“真”、“偽”のいずれであるかを判定する(ステップS312b)。“偽”の場合、受理したLIDを含むログがバンクnaへ複製されたことを示すので、再送要求に対する処理を開始するために次のステップS313へ移行する。“真”の場合、受理したLIDを含むログがログメモリ253に格納されていなかった、つまり、HD21において、ステップS313において受理したLIDによって特定されるライセンスLICの入出力処理がなされなかったことを示すので、再送要求に対応不能と判断し、図23のステップS371へ移行し、エラー通知を端末装置10に対して出力する。端末装置10においては、エラー通知が受理されると(ステップS373)、処理が終了する。
【0222】
HD21において、ステップS312bにおいてERRa=”偽”を確認すると、コントローラ214は、ログメモリ253のバンクnaに格納されているログの格納LBAに対する領域に記憶されるライセンスLICのライセンスID(LID)と、ログメモリ253のバンクnaに格納されているログのライセンスID(LID)とが一致するか否かを確認する(ステップS313)。
【0223】
コントローラ214は、ライセンスID(LID)が一致すると、さらに、ログメモリ253のバンクnaに格納されているログの格納LBAに対応する有効フラグ領域252のフラグを確認し、そのライセンスLICが有効であるか無効であるかを確認する(ステップS314)。コントローラ214は、有効フラグ領域252のフラグが“有効”であるときは、ログメモリ253のバンクnaに格納されているログのステータスST2を“データ有”に変更し(ステップS315)、次の処理(ステップS318)へ移行する。一方、コントローラ214は、有効フラグ領域252のフラグが“無効”であるときは、ログメモリ253のバンクnaに格納されているログのステータスST2を“移動済”に変更し(ステップS316)、次の処理(ステップS318)へ移行する。
【0224】
また、コントローラ214は、ステップS313において両ライセンスID(LID)が一致しないときは、ログメモリ253のバンクnaに格納されているログのステータスST2を“データ無”に変更する(ステップS317)。
【0225】
ステータスST2の変更処理がなされると、コントローラ214は、ログメモリ253のバンクnaからライセンスID(LID)、ステータスST1,ST2、セッション鍵Ks2cおよび格納LBAを取得する(ステップS318)。ここで、この処理は、図9および図10のフローチャートに従った配信セッションの中断に対する処理であるため、HD21のログメモリ253に格納されている当該処理のログに記憶されているセッション鍵はKs2aであるが、説明の関係上、ログメモリ253のバンクnから取得したセッション鍵をKs2cとしている。そして、コントローラ214は、取得したセッション鍵Ks2cをバスBS3を介して暗号処理部224へ出力する。
【0226】
暗号処理部224は、切換スイッチ260の接点Pbを介して復号処理部230より与えられるセッション鍵Ks1bによってセッション鍵Ks2cを暗号化し、E(Ks1b,Ks2c)生成する(ステップS319)。そして、暗号処理部224は、生成したE(Ks1b,Ks2c)をバスBS3に出力する。バスBS3に出力されたE(Ks1b,Ks2c)は、コントローラ214により受理され、コントローラ214は、ステップS318において取得したデータとともに1つの受信ログLID//E(Ks1b,Ks2c)//ST1//ST2を生成し、そのハッシュ値H(LID//E(Ks1b,Ks2c)//ST1//ST2)を生成する(ステップS320)。そして、コントローラ214は、ハッシュ値H(LID//E(Ks1b,Ks2c)//ST1//ST2)をバスBS3を介して暗号処理部224へ出力する。
【0227】
暗号処理部224は、切換スイッチ260の接点Pbを介して復号処理部230より与えられるセッション鍵Ks1bによって、バスBS3から取得したハッシュ値H(LID//E(Ks1b,Ks2c)//ST1//ST2)を暗号化し、署名データE(Ks1b,H(LID//E(Ks1b,Ks2c)//ST1//ST2))生成する(ステップS321)。そして、暗号処理部224は、生成したE(Ks1b,H(LID//E(Ks1b,Ks2c)//ST1//ST2))をバスBS3に出力する。
【0228】
コントローラ214は、バスBS3から署名データを取得すると、ステップS318において取得した受信ログを用いて、署名付き受信ログLID//E(Ks1b,Ks2c)//ST1//ST2//E(Ks1b,H(LID//E(Ks1b,Ks2c)//ST1//ST2))を生成し、署名付き受信ログLID//E(Ks1b,Ks2c)//ST1//ST2//E(Ks1b,H(LID//E(Ks1b,Ks2c)//ST1//ST2))と格納LBAとを、ATAインターフェース部212および端子210を介して端末装置10へ出力する(ステップS322)。
【0229】
図22を参照して、端末装置10は、署名付き受信ログLID//E(Ks1b,Ks2c)//ST1//ST2//E(Ks1b,H(LID//E(Ks1b,Ks2c)//ST1//ST2))と格納LBAとをHD21から受理すると(ステップS323)、受理したデータをHD20へ出力する(ステップS324)。
【0230】
HD20において、コントローラ214は、署名付き受信ログLID//E(Ks1b,Ks2c)//ST1//ST2//E(Ks1b,H(LID//E(Ks1b,Ks2c)//ST1//ST2))を受理すると(ステップS325)、受理した署名付き受信ログの検証を行なう(ステップS326)。検証処理は、以下のように行われる。
【0231】
HD20のコントローラ214は、署名付き受信ログを受理すると、まず、受理した署名付き受信ログの後半部である署名データE(Ks1b,H(LID//E(Ks1b,Ks2c)//ST1//ST2))を復号処理部228へ出力するとともに、セッション鍵発生部226にセッション鍵Ks1bを発生するように指示する。そして、復号処理部228は、セッション鍵Ks1bによって署名データE(Ks1b,H(LID//E(Ks1b,Ks2c)//ST1//ST2))を復号し、HD21によって求められたハッシュ値を抽出する。一方、HD20のコントローラ214は、署名付き受信ログの前半部である受信ログLID//E(Ks1b,Ks2c)//ST1//ST2のハッシュ値を演算し、復号処理部228により抽出されたハッシュ値と比較する。HD20のコントローラ214は、2つのハッシュ値が一致したと判断すると、HD21から受理した受信ログは、正当なデータを含むものとしてHD20において承認される。
【0232】
ステップS326において承認されると、HD20のコントローラ214は、ステップS325において承認した受信ログに含まれるライセンスID(LID)をログメモリ253のバンクnに格納されるライセンスID(LID)と比較する(ステップS327)。
【0233】
コントローラ214は、ライセンスID(LID)が一致すると、受信ログに含まれる暗号データE(Ks1b,Ks2c)を復号処理部228へ出力し、復号処理部228は、セッション鍵発生部226から受けるセッション鍵Ks1bによってセッション鍵Ks2cを復号し、セッション鍵Ks2cが受理される(ステップS328)。そして、復号されたセッション鍵Ks2cは、バスBS3を介してコントローラ214へ出力される。続いて、コントローラ214は、エラー発生時のセッション鍵、すなわち、バンクnのログに記録されているセッション鍵Ks2aと、今回、承認した受信ログに含まれていたセッション鍵Ks2cとを比較する(ステップS329)。コントローラ214は、セッション鍵Ks2aとセッション鍵Ks2cとが一致していると判断すると、受理したステータスST1,ST2の内容を確認する(ステップS330)。
【0234】
HD20のコントローラ214は、受信した受信ログのステータスST1が“受信待”であり、受信ログのステータスST2が“データ無”であるとき、HD21に送信したはずのライセンスLICが何らかの異常によりHD21において受理されていないと判断する。そうすると、HD20のコントローラ214は、さらに、ログメモリ253のバンクnのログの格納LBAに記憶されるライセンスLICのライセンスID(LID)と、ログメモリ253のバンクnのログのライセンスID(LID)とが一致するか否かを確認する(ステップS331)。HD20のコントローラ214は、ライセンスID(LID)が一致すると、さらに、ログメモリ253のバンクnのログの格納LBAに対応する有効フラグ領域252のフラグを確認し、そのライセンスLICが有効であるか無効であるかを確認する(ステップS332)。そして、コントローラ214は、有効フラグ領域252のフラグが“無効”であるときは、その有効フラグ領域252のフラグを“有効”に変更する(ステップS333)。一方、コントローラ214は、有効フラグ領域252のフラグが“有効”であるときは、次の処理(ステップS334)へ移行する。そして、コントローラ214は、ログメモリ253のバンクnのログの格納LBAと許可通知とをATAインターフェース部212および端子210を介して端末装置10へ出力する(ステップS334)。
【0235】
端末装置10のコントローラ108は、HD20からHDインターフェース部110およびバスBS2を介して対象のライセンスLICが格納される格納LBAと許可通知とを受理すると(ステップS335)、HD21に対してセッション鍵の生成の要求通知をバスBS2およびHDインターフェース部110を介してHD21へ出力する(ステップS336)。
【0236】
HD21は、端末装置10からセッション鍵の生成要求通知を受理すると、新たにセッション鍵Ks2bを生成し(ステップS337)、ログメモリ253のバンクnaのログに記憶されているセッション鍵Ks2c(Ks2a)を、生成したセッション鍵Ks2bに、ログのステータスST1を“受信待”に変更する(ステップS338)。
【0237】
以下、ステップS339からの一連の処理は、図18および図19において説明したステップS219から処理終了までの一連の処理において、セッション鍵Ks2aに代えて新たに生成したセッション鍵Ks2bが使用される他は、同様の処理が行なわれる。したがって、ステップS339に続く一連の処理の説明は繰返しになるので省略する。
【0238】
なお、ステップS335において処理を終了し、HD20にライセンスを残すことも可能である。この場合、図18および図19に示したフローチャートにしたがって、再度ライセンスを移動させることができる。
【0239】
なお、図21〜図23のフローチャートに示されるライセンスの移動または複製における再書込処理の中断に対しては、ステップS301〜S344およびステップS347〜S371のいずれかのステップにおいて処理が中断した場合には、再び図21〜図23に示されるフローチャートに従って再書込処理を行なうことができる。一方、ステップS325〜S346のいずれかのステップにおいて処理が中断した場合には、図18および図19のフローチャートに示されるライセンスの移動または複製の処理を最初から行なうことによって、処理を再開することができる。
【0240】
このようにして、端末装置10に装着された複数のハードディスク間におけるライセンスの複製または移動に関しても、複製先または移動先のHD21から受取ったクラス証明書Cm1が有効であることを確認し、クラス証明書Cm1に含まれて送信されたクラス公開鍵KPcm1によってライセンスの複製・移動が行なわれる複数のハードディスク間でそれぞれ生成される暗号鍵(セッション鍵)をやり取りし、お互いが受領した暗号鍵を用いた暗号化を実行して、その暗号化データを相手方に送信することによって、不正なハードディスクへのライセンスの複製または移動を禁止することができる。さらには、それぞれの暗号化データの送受信においても事実上の相互認証を行なうことができ、出力先のなりすましからライセンスを保護して、システムのセキュリティを向上させることができる。
【0241】
さらに、ライセンスの複製・移動セッションの中断においても、配信セッションと同様に、受信側のデータ記憶装置であるHD21における複製・移動セッションの対象となったライセンスLICに対する受信ログを送信側のデータ記憶装置であるHD20へ送信し、HD20において、自身のログメモリ253に格納されるログの内容と、そのログに記憶される格納LBAによって特定されるセキュアデータ記憶部250の領域に記憶されるライセンスLICとを比較し、さらに有効フラグ領域252に記憶されるフラグを参照することによって、中断した複製・移動セッションがライセンスの移動を行なう処理である場合において、2つのデータ記憶装置HD20およびHD21に利用可能なライセンスが重複して存在することのない安全な再書込処理が提供される。
【0242】
このように、本発明は、複製・移動セッションの中断によるライセンスLICの消失を回避し、迅速な処理を行なうことができるデータ記憶装置およびその処理手順を提供するとともに、再書込処理に至った場合でも安全に処理が行なわれ、確実な著作権保護を実現することができるデータ記憶装置およびその処理手順を提供する。
【0243】
なお、図18〜図23におけるHD21の処理ステップS202,203,S214,S215,S217〜S220,S241〜S243,S245〜S251,S309,S310,S312〜S322,S337〜S340,S361〜S363,S365〜S371は、図9、図10および図13〜図15におけるHD20の処理ステップS2,S3,S16,S17,S19〜S22,S33〜S35,S37〜S43,S109,S110,S112〜S122,S136〜S139,S150〜S152,S154〜S160とそれぞれ同じである。すなわち、ライセンスの移動または複製時におけるHD21の処理とライセンスの配信処理時におけるHD20の処理とは同じ処理であって、これらの処理は、いずれも、データ記憶装置(HD20,HD21)においてライセンスを書込むためのデータ記憶装置における処理である。
【0244】
[再生許諾]
再び図5を参照して、コンテンツデータを再生する再生回路150を備えた端末装置10にデータ記憶装置としてのHD20が装着され、コンテンツデータの再生許諾は、HD20から端末装置10内の再生回路150に対して行なわれる。
【0245】
図24は、端末装置10のユーザが端末装置10から暗号化コンテンツデータの再生リクエストを行なうことにより、端末装置10に装着されたHD20から端末装置10内の再生回路150へ再生許諾が行なわれる際の処理(再生許諾セッション)を説明するためのフローチャートである。
【0246】
図24を参照して、端末装置10のユーザから所望のコンテンツデータの再生リクエストがなされると、端末装置10のコントローラ108は、バスBS2を介して再生回路150へクラス証明書の出力要求を出力する(ステップS401)。再生回路150において、認証データ保持部1502は、バスBS2からクラス証明書の出力要求を受けると(ステップS402)、保持しているクラス証明書Cp3=KPcp3//Icp3//E(Ka,H(KPcp3//Icp3))をバスBS2へ出力する(ステップS403)。
【0247】
コントローラ108は、バスBS2からクラス証明書Cp3を受理すると(ステップS404)、受理したクラス証明書Cp3をバスBS2およびHDインターフェース部110を介してHD20へ出力する(ステップS405)。
【0248】
HD20では、端末装置10からクラス証明書Cp3を受理すると(ステップS406)、受理したクラス証明書Cp3が正当なクラス証明書であるか否かを検証する(ステップS407)。検証処理は、複製・移動セッションにおけるステップS207において説明したのと同様の方法で行なわれ、説明は省略する。
【0249】
ステップS407において、クラス証明書Cp3が正当な証明書であると判断された場合、コントローラ214は、クラス証明書Cp3を承認し、クラス証明書Cp3に含まれるクラス公開鍵KPcp3を受理する(ステップS408)。そして、次の処理(ステップS409)へ移行する。コントローラ214は、正当なクラス証明書でない場合には、クラス証明書Cp3を非承認とし、クラス証明書Cp3を受理せずにエラー通知を端末装置10へ出力し(ステップS435)、端末装置10においてエラー通知が受理されると(ステップS436)、再生許諾セッションが終了する。
【0250】
ステップS408においてクラス公開鍵KPcp3が受理されると、HD20のセッション鍵発生部226は、セッション鍵Ks1dを生成する(ステップS409)。セッション鍵Ks1dは、受理されたクラス公開鍵KPcp3によって、暗号処理部222において暗号化され、暗号化データE(KPcp3,Ks1d)が生成される(ステップS410)。
【0251】
そして、コントローラ214は、暗号処理部222からバスBS3を介して暗号化データE(KPcp3,Ks1d)を受けると、ATAインターフェース部212および端子210を介して端末装置10へ出力する(ステップS411)。
【0252】
端末装置10において、HDインターフェース部110およびバスBS2を介してコントローラ108が暗号データE(KPcp3,Ks1d)を受理すると(ステップS412)、コントローラ108は、受理した暗号化データE(KPcp3,Ks1d)をバスBS2を介して再生回路150へ出力する(ステップS413)。再生回路150の復号処理部1506は、バスBS2から暗号化データE(KPcp3,Ks1d)を受理すると(ステップS414)、Kcp保持部1504に保持される再生回路150に固有なクラス秘密鍵Kcp3によって復号処理することによりセッション鍵Ks1dを復号し、セッション鍵Ks1dが受理される(ステップS415)。
【0253】
セッション鍵Ks1dが受理されると、セッション鍵発生部1508は、セッション鍵Ks2dを生成し(ステップS416)、生成したセッション鍵Ks2dを暗号処理部1510に与える。暗号処理部1510は、復号処理部1506から受けるセッション鍵Ks1dをセッション鍵Ks2dにより暗号化し、暗号化データE(Ks1d,Ks2d)を生成する(ステップS417)。そして、暗号処理部1510は、暗号化データE(Ks1d,Ks2d)をバスBS2へ出力する(ステップS418)。
【0254】
コントローラ108は、バスBS2から暗号化データE(Ks1d,Ks2d)を受理し(ステップS419)、受理したデータをバスBS2およびHDインターフェース部110を介してHD20へ出力する(ステップS420)。
【0255】
HD20のコントローラ214は、端子210およびATAインターフェース部212を介して暗号化データE(Ks1d,Ks2d)を受理すると(ステップS421)、受理したデータをバスBS3へ出力する。復号処理部228は、セッション鍵発生部226から与えられたセッション鍵Ks1dを用いてバスBS3に出力された暗号化データE(Ks1d,Ks2d)を復号し、HD20においてセッション鍵Ks2dが受理される(ステップS422)。そして、コントローラ214は、セッション鍵Ks2dが受理されると、その旨の通知をATAインターフェース部212および端子210を介して端末装置10へ出力する。
【0256】
端末装置10のコントローラ108は、HDインターフェース部110およびバスBS2を介してHD20においてセッション鍵Ks2dが受理された旨の通知を受理すると、再生リクエストのあったコンテンツデータに対応する対象のライセンスLICが格納されているセキュアデータ記憶部250のLBAをバスBS2およびHDインターフェース部110を介してHD20へ出力する。
【0257】
HD20のコントローラ214は、端子210およびATAインターフェース部212を介して対象のライセンスLICが格納されているLBAを受理すると(ステップS424)、そのLBAに格納されるライセンスLICに対応する有効フラグ領域252のフラグが“有効”であるか“無効”であるかを確認する(ステップS425)。
【0258】
コントローラ214は、有効フラグ領域252のフラグが“有効”であると、受理したLBAに基づいて、対象のライセンスLICをセキュアデータ記憶部250から取得する(ステップS426)。そして、コントローラ214は、取得したライセンスLICに含まれる制御情報ACの内容を確認する(ステップS427)。コントローラ214は、制御情報ACにおいて利用回数が指定されているときは、制御情報ACの利用回数を1増分し、次の処理(ステップS429)へ移行する。一方、コントローラ214は、制御情報ACにより再生制限がかけられていないときは、取得したライセンスLICに含まれるコンテンツ鍵KcをバスBS3へ出力する。
【0259】
暗号処理部224は、復号処理部228から受けるセッション鍵Ks2dによりバスBS3上に出力されたコンテンツ鍵Kcを暗号化して暗号化データE(Ks2d,Kc)を生成し(ステップS429)、生成したデータをバスBS3へ出力する。そして、コントローラ214は、バスBS3上に出力された暗号化データE(Ks2d,Kc)をATAインターフェース部212および端子210を介して端末装置10へ出力する(ステップS430)。
【0260】
端末装置10のコントローラ108は、HDインターフェース部110およびバスBS2を介して暗号化データE(Ks2d,Kc)を受理すると(ステップS431)、受理したデータをバスBS2へ出力する(ステップS432)。
【0261】
再生回路150の復号処理部1512は、バスBS2から暗号化データE(Ks2d,Kc)を受理すると(ステップS433)、セッション鍵発生部1508から与えられるセッション鍵Ks2dを用いて暗号化データE(Ks2d,Kc)を復号する。これにより、再生回路150においてコンテンツ鍵Kcが受理され(ステップS434)、一連の再生許諾セッションの処理が正常終了する。
【0262】
一方、ステップS425において、有効フラグ領域252のフラグが“無効”であったとき、またはステップS427において、制御情報ACに含まれる内容が再生不可であったときは、コントローラ214は、端末装置10に対してエラー通知を出力し(ステップS435)、端末装置10においてエラー通知が受理されると(ステップS436)、再生許諾セッションが終了する。
【0263】
このようにして、データ記憶装置であるHD20から端末装置10に備えられる再生回路150への再生許諾に関しても、再生回路150が正規のクラス証明書Cp3を保持していること、およびクラス証明書Cp3に含まれて送信されたクラス公開鍵KPcp3が有効であることを確認した上でコンテンツ鍵Kcが再生回路150へ送信され、不正なコンテンツデータの再生を禁止することができる。
【0264】
なお、フローチャートにおいて図示しないが、再生回路150は、コンテンツの再生許諾がなされ、コンテンツ鍵Kcを受理すると、HD20から出力された暗号化コンテンツデータE(Kc,Dc)を復号処理部1514において復号し、再生部1516において復号処理部により復号されたデータDcが再生され、DA変換部1518によりデジタル/アナログ変換されてモニタやスピーカなどが接続される端子1520へ再生信号が出力される。
【0265】
このように、HD20では、ライセンスの漏洩が無いように安全に保護し、記憶、入出力の管理を行なうために、
(1)他の装置(ライセンス提供装置または他のHD)からライセンスの提供を受けて格納する書込処理(図9および図10におけるHD20および図21〜図23におけるHD21の処理)
(2)書込処理の中断から、書込処理を再開する再書込処理(図13〜図15におけるおけるHD20および図21〜図23におけるHD21の処理)
(3)他のHDに対してライセンスを移動または複製する提供処理(図16〜図18におけるHD20の処理)
(4)提供処理の中断から、移動複製処理を再開する再提供処理(ライセンスの提供元としての再書込処理、図21〜図23におけるHD20の処理)
(5)暗号化コンテンツデータを復号することを目的として再生回路に対してコンテンツ鍵Kcを提供する再生許諾処理(図24におけるHD20の処理)
の5つの処理を、暗号技術によって実現している。
【0266】
なお、上述した全ての説明においては、コンテンツデータに対するライセンスについて説明したが、対象は、上述したライセンスに限られるものではなく、秘密にする必要がある機密データ一般に拡大されうる。上述した手段によって、データの機密性が保護され、かつ、データ記憶装置における機密データの特定に関する本発明の目的が達成できるからである。
【0267】
[実施の形態2]
実施の形態1においては、HD20は、図13〜図15のフローチャートに示される再書込処理および図21〜図23のフローチャートに示される再提供処理において、再書込/提供処理を開始するにあたって、処理の可否を判断するために、再書込/提供処理の対象となるライセンスに対する直前のログを検索する。そして、対応したログが検索された場合、検索したログをログメモリ253のバンクnに複製して、以後の処理においてはバンクnに格納されたログを処理の手順に従って更新していくものとして説明した。
【0268】
しかし、再書込処理においては、複製したログはライセンスの提供側に対して直前の処理に対するログとして出力した後、図14のステップS137において、その内容が書換えられてしまう。ログの複製は、古いログが格納されたバンクから順に新たなログの格納バンクに向けて循環的に使用していくログメモリ253の特性に由来するものであり、再書込処理の初期における中断(図14のステップS136以前)においても、再書込処理に対応するログが、より長くログメモリ253に保持されることを目的としている。
【0269】
したがって、十分に大きなログメモリ253を備えたHDにおいては、再書込処理における検索されたログの複製を行なうことなく、検索されたログが格納されていたバンクから直接出力するように構成することも可能である。この場合、ステータスST2の変更(ステップS115,S116,S117)は、当該バンクのログに対して行なわれ、出力するためのログの取得(ステップS118)は、当該バンクから行なわれることとなる。
【0270】
また、ログの複写がなされないため、再書込処理に対応するログを格納するためのバンクは、図14のステップS137において確保される。したがって、ステップS137は、「ログメモリの最も古いログを格納しているバンクnaに新たなログを格納」と変更される。
【0271】
さらに、HD21も同様に処理を変更することが可能である。その他の全ての処理は、実施の形態1と同じである。なお、この処理の変更によってライセンスの安全性は何ら変化することはなく、実施の形態1と同様の効果を得ることができる。
【0272】
[実施の形態3]
ライセンスの再書込処理と同様に、ライセンスの再提供処理において、検索されたログの複製を行なうことなく、検索されたログが格納されていたバンクから直接読出し、再提供の可否を判定することも可能である。図21のステップS301aにおいて複製を行なうことなく、図21のステップS302および図22のステップS329,S331,S332において検索されたログが格納されていたバンクから直接ログを取得するように処理を変更すればよい。その他の全ての処理は、実施の形態1と同じである。
【0273】
この処理の変更によってライセンスの安全性は、何ら変化することはなく、実施の形態1と同様の効果を得ることができる。また、実施の形態2と組合わせることも可能である。
【0274】
[実施の形態4]
HD20の実装における処理を軽減するためには、通常の書込処理および再書込処理は、より共通していることが望ましい。そこで、実施の形態1における「セッション鍵要求」移行のHD20における処理、すなわち、通常の書込処理(図9のステップS19〜S22、図10のステップS33〜S35,S38〜S43)と再書込処理(図14のステップS136〜S139、図15のステップS150〜S152,S154〜S160)を共通とする。この場合、図9のステップS20と図14のステップS137とを同一処理とすることで容易に実現できる。
【0275】
この場合、ステップS137をステップS20と同一処理とし、“ログメモリの最も古いログを格納しているバンクnbに新たなログを格納”とする。また、詳細な処理は、図11および図12のフローチャートに従い、変数nを変数nbと読替えればよい。また、変数nを変数nbと読替えるのは、図13および図14のステップS137までの処理における変数nと区別するためである。これに伴って、図14および図15のステップS137以降のステップS154,S155,S159におけるバンクnを全てバンクnbと読替える。
【0276】
同様に、移動複製セッションでは、図21〜図23のフローチャートに示されるステップS342以降の処理と、図16〜図18のフローチャートに示されるステップS222以降の処理との違いが、ログの記録の違い(図23のステップS345と図18のステップS225との違い)のみである。図23のステップS345の処理を図18のステップS225と同一の処理とすることによってHD20の実装を容易にすることができる。この場合、ステップS345をステップS20と同一処理とし、“ログメモリの最も古いログを格納しているバンクnbに新たなログを格納”とする。また、詳細な処理は、図20および図12のフローチャートに従い、変数nを変数nbと読替えればよい。また、変数nを変数nbと読替えるのは、図21および図22のステップS245までの処理における変数nと区別するためである。これに伴って、図23のステップS345以降のステップS348,S57におけるバンクnを全てバンクnbと読替える。
【0277】
その他の全ての処理は、実施の形態1と同一である。また、処理の変更によってライセンスの安全性は何ら変化することなく、実施の形態1と同様な効果を得ることができる。さらに、HD21も同様に処理を変更することが可能である。
【0278】
このように、通常書込処理および再書込処理の共通化によって、実施の形態1と同様なライセンスの安全な管理を実現した上で実装する処理量の軽減を図ることができる。
【0279】
[実施の形態5]
ログの記録開始タイミングを明確にするために、全ての処理においてHD外部からライセンスID(LID)を受理することによって、ログメモリ253からバンクを1つ確保し、当該処理に対するログを記録するように変更した実施の形態5について説明する。
【0280】
まず、実施の形態5におけるライセンスの配信動作について説明する。
実施の形態5においては、ライセンス提供措置40からHD20へのライセンスの配信は、図25および図26に示すフローチャートに従って行なわれる。図25および図26に示すフローチャートは、図9および図10に示すフローチャートのステップS16とステップS17との間にステップS16aを挿入し、ステップS20をステップS201aに代えたものであり、その他は図9および図10に示すフローチャートと同じである。
【0281】
ステップS16aの詳細な動作は、図27に示すフローチャートに従って行なわれる。図27を参照して、HD20にコントローラ214は、ステップS16の後、最新のログが格納されているバンクn−1を特定し、バンクnに格納されている管理番号mを取得する(ステップS16b)。そして、このステップS16bの詳細な動作は、図12に示すフローチャートに従って行なわれる。
【0282】
コントローラ214は、ステップS16bの後、管理番号m+1、およびステップS16で受理したライセンスID(LID)をバンクnに格納し、バンクnに格納されたログのST1領域2544を“受信待”に設定する(ステップS16c)。これにより、図25に示すステップS16aの動作が終了する。
【0283】
また、コントローラ214は、ステップS19の後、ログメモリ253のバンクnに格納されたログのKs2x領域2543に、ステップS19で受理したセッション鍵Ks2aを記録する(ステップS201a)。
【0284】
その他は、実施の形態1において説明したとおりである。
[配信における再書込]
実施の形態5におけるライセンスの配信が途中で中断した場合のライセンスの再書込の動作は、図13〜図15に示すフローチャートに従って行なわれる。その詳細な動作は実施の形態1において説明したとおりである。
【0285】
[移動/複製]
図28および図29は、図17に示すライセンスの複製・移動が可能なシステムにおいて、端末装置10のユーザが端末装置10から暗号化コンテンツデータのライセンスの複製または移動のリクエストを行なうことにより、端末装置10を介して端末装置10に装着されたHD20からHD21へライセンスの複製または移動が行なわれる際の処理(複製・移動セッション)を説明するための実施の形態5における第1および第2のフローチャートである。
【0286】
図28および図29に示すフローチャートは、図18および図19に示すフローチャートのステップS207とステップS209との間にステップS208を挿入し、ステップS214とステップS215との間にステップS214aを挿入し、ステップS218をステップS218aに代え、ステップS225をステップS225aに代えたものであり、その他は図18および図19に示すフローチャートと同じである。
【0287】
図28を参照して、HD20のコントローラ214は、ステップS207においてHD21からの証明書Cm1を承認したとき、ログメモリ253のうち最も古いログが格納されたバンクnに新たなログを格納する(ステップS208)。このステップS208の詳細な動作は、図30に示すフローチャートに従って行なわれる。
【0288】
図30を参照して、ステップS208は、HD20においてログメモリ253の最新ログが記録されたバンクn−1を特定し、かつ、バンクn−1に格納された管理番号mを取得するステップS208aと、バンクnに、管理番号m+1、ライセンスID(LID)、およびクラス公開鍵KPcmyを格納し、かつ、ST1領域2544のステータスST1を“送信待”に設定するステップS208bとから成る。そして、ステップS208aの詳細な動作は、図12に示すフローチャートに従って行なわれる。したがって、コントローラ214は、図12および図30に示すフローチャートに従って、ステップS206において受理したライセンスID(LID)とHD21のクラス公開鍵KPcm1と、“送信待”に設定されたステータスST1とを記録した新たなログをバンクnに格納する。
【0289】
また、HD21のコントローラ214は、ステップS214の後、最も古いログが格納されたバンクnaに新たなログを格納する(ステップS214a)。このステップS214aの詳細な動作は、上述した図12および図27に示すフローチャートに従って行なわれる。ただし、変数nは、変数naに読替える。
【0290】
したがって、HD21のコントローラ214は、図12および図27に示すフローチャートに従って、ステップS214において受理したライセンスID(LID)と、“受信待”に設定されたステータスST1とを記録した新たなログを、ログメモリ254の中で最も古いログが格納されていたバンクnaに格納する(ステップS214a)。
【0291】
さらに、HD21のコントローラ214は、ステップS217の後、ログメモリ253のバンクnaにステップS217において生成されたセッション鍵Ks2aを格納する(ステップS218a)。
【0292】
さらに、HD20のコントローラ214は、ステップS224の後、ログメモリ253のバンクnに、ステップS224で受理したセッション鍵Ks2aを格納する(ステップS225a)。
【0293】
その他は、実施の形態1において説明したとおりである。
[移動/複製における再書込]
実施の形態5におけるHD21からHD20へのライセンスの移動・複製セッションが途中で中断した場合のライセンスの再書込動作は、図21〜図23に示すフローチャートに従って行なわれる。したがって、その詳細な動作は実施の形態1で説明したとおりである。
【0294】
このように、実施の形態5では、実施の形態1と同様に安全なライセンスの再書込/提供処理を実現し、かつ、それぞれの処理におけるログの発生タイミングを明確にするとともに、実施の形態3と同様に、通常書込/再書込処理の共通化によって実装する処理量の軽減を図ることができる。なお、HD21も同様に処理を変更することが可能である。
【0295】
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は、上記した実施の形態の説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【図面の簡単な説明】
【図1】 データ配信システムを概念的に説明する概略図である。
【図2】 図1に示すデータ配信システムにおいて送受信されるデータ、情報等の特性を示す図である。
【図3】 図1に示すデータ配信システムにおいて使用される暗号通信に用いられる鍵、情報等の特性を示す図である。
【図4】 図1に示すライセンス提供装置の構成を示す概略ブロック図である。
【図5】 図1に示す端末装置の構成を示す概略ブロック図である。
【図6】 図1に示す端末装置に装着されるハードディスクの構成を示す概略ブロック図である。
【図7】 図6に示すハードディスクにおけるセキュアデータ記憶部の構成を示す図である。
【図8】 図6に示すハードディスクにおけるノーマルデータ記憶部の構成を示す図である。
【図9】 図1に示すデータ配信システムにおける配信処理を説明するための実施の形態1における第1のフローチャートである。
【図10】 図1に示すデータ配信システムにおける配信処理を説明するための実施の形態1における第2のフローチャートである。
【図11】 図9に示すステップS20の詳細な動作を説明するためのフローチャートである。
【図12】 図11に示すステップS20aの詳細な動作を説明するためのフローチャートである。
【図13】 図1に示すデータ配信システムにおける配信処理中の再書込処理を説明するための実施の形態1における第1のフローチャートである。
【図14】 図1に示すデータ配信システムにおける配信処理中の再書込処理を説明するための実施の形態1における第2のフローチャートである。
【図15】 図1に示すデータ配信システムにおける配信処理中の再書込処理を説明するための実施の形態1における第3のフローチャートである。
【図16】 図13に示すステップS112aの詳細な動作を説明するためのフローチャートである。
【図17】 複製・移動処理が行なわれるシステム構成を概念的に説明する概略図である。
【図18】 図17に示すシステムにおける複製または移動処理を説明するための実施の形態1における第1のフローチャートである。
【図19】 図17に示すシステムにおける複製または移動処理を説明するための実施の形態1における第2のフローチャートである。
【図20】 図18に示すステップS218の詳細な動作を説明するためのフローチャートである。
【図21】 図17に示すシステムにおける複製または移動処理中の再書込処理を説明するための実施の形態1における第1のフローチャートである。
【図22】 図17に示すシステムにおける複製または移動処理中の再書込処理を説明するための実施の形態1における第2のフローチャートである。
【図23】 図17に示すシステムにおける複製または移動処理中の再書込処理を説明するための実施の形態1における第3のフローチャートである。
【図24】 図5に示す端末装置に対する再生許諾処理を説明するためのフローチャートである。
【図25】 図1に示すデータ配信システムにおける配信処理を説明するための実施の形態5における第1のフローチャートである。
【図26】 図1に示すデータ配信システムにおける配信処理を説明するための実施の形態5における第2のフローチャートである。
【図27】 図25に示すステップS16aの詳細な動作を説明するためのフローチャートである。
【図28】 図17に示すシステムにおける複製または移動処理を説明するための実施の形態5における第1のフローチャートである。
【図29】 図17に示すシステムにおける複製または移動処理を説明するための実施の形態5における第2のフローチャートである。
【図30】 図28に示すステップS208の詳細な動作を説明するためのフローチャートである。
【符号の説明】
10 端末装置、11 アンテナ、20,21 ハードディスクドライブ(HD)、30 ネットワーク、40 ライセンス提供装置、102 アンテナ、104 受信部、106 モデム、108 コントローラ、110 HDインターフェース部、150 再生回路、202,1502 認証データ保持部、204Kcm保持部、206 Kom保持部、208 KPom保持部、210,1520 端子、212 ATAインターフェース部、214 コントローラ、216,228,230,422,1506,1512,1514 復号処理部、218,416 KPa保持部、220,418 認証部、222,224,232,420,424,426,1510 暗号処理部、226,414,1508 セッション鍵発生部、250 セキュアデータ記憶部、251 ライセンス領域、252 有効フラグ領域、253 ログメモリ、260,262 切替スイッチ、270 ノーマルデータ記憶部、402 コンテンツDB、404 ログDB、410 データ処理部、412 配信制御部、450 通信装置、1504 Kcp保持部、1516 再生部、1518 DA変換部、2541 管理番号領域 2542 ライセンスID領域、2543 Ks2x領域、2544 ST1領域,2545 ST2領域、2546 KPcmx領域、2547 LBA領域、2701 磁気記録媒体、2702 モータ、2703 サーボ制御部、2704 シーク制御部、2705 記録再生処理部、BS1〜BS3 バス。

Claims (7)

  1. 一定の手順に従って機密データの入出力を行ない、前記機密データを記憶し、かつ、前記一定の手順の進行に従って履歴情報を格納あるいは当該履歴情報を随時更新するデータ記憶装置であって、
    外部とデータの入出力を行なうインターフェースと、
    複数の前記機密データを格納するデータ記憶部と、
    前記機密データの入出力に関する複数の履歴情報を格納するログ記憶部と、
    前記機密データの入出力を制御する制御部とを備え、
    前記ログ記憶部は、それぞれ1つの前記履歴情報を格納する2つ以上の領域を循環的に利用するリングバッファとして設けられており、
    前記ログ記憶部に記憶される複数の履歴情報の各々は、当該履歴情報を記憶した入出力対象の機密データを識別する識別情報を含み、
    前記制御部は、前記機密データの入出力の処理が開始されたことに伴い入出力の対象となった機密データを識別する識別情報を前記インターフェースを介して受取り、前記ログ記憶部の複数の領域を所定の順序で検索して、前記ログ記憶部に格納されている最も古い履歴情報を格納する領域を最古領域として特定し、その特定した最古領域に前記受取った識別情報を含む前記機密データの入出力処理に対する履歴情報を新たに格納し、
    履歴情報の出力を伴う前記機密データの入力処理において、
    前記制御部は、入出力の対象となる機密データの識別情報を前記インタフェースを介して受取り、前記ログ記憶部の複数の領域を所定の順序で検索して、前記受取った識別情報を含む最も新しい履歴情報を格納する最新領域を特定し、その特定した最新領域に格納されている履歴情報の一部または全てを、前記インタフェースを介して出力し、
    前記履歴情報の出力を伴う前記機密データの入力処理において、
    前記制御部は、入出力の対象となる機密データの識別情報を前記インタフェースを介して受取り、前記ログ記憶部の複数の領域を所定の順序で検索して、前記最古領域をさらに特定し、前記特定した最新領域に格納されている履歴情報の一部または全てを、特定した最古領域に複製することによって前記機密データの入力処理に対する新たな履歴情報として格納し、前記特定された最古領域に格納された履歴情報の一部または全てを前記インタフェースを介して出力する、データ記憶装置。
  2. 他の装置によって前記一定の手順の進行によって記録されたもう1つの履歴情報の入力を伴う前記機密データの出力処理において、
    前記制御部は、入出力の対象となる機密データの識別情報を前記インタフェースを介して受取り、前記ログ記憶部の複数の領域を所定の順序で検索して、前記受取った識別情報を含む最も新しい履歴情報を格納する最新領域を特定し、その特定した最新領域に格納された履歴情報と、前記インタフェースを介して受取った前記もう1つの履歴情報とに基づいて、前記機密データを出力するか否かを判定する、請求項1に記載のデータ記憶装置。
  3. 他の装置によって前記一定の手順の進行に従って記録されたもう1つの履歴情報の入力を伴う前記機密データの出力処理において、
    前記制御部は、入出力の対象となる機密データの識別情報を前記インタフェースを介して受取り、前記ログ記憶部の複数の領域を所定の順序で検索して、前記最古領域と、前記受取った識別情報を含む最も新しい履歴情報を格納する最新領域とを特定し、その特定した最新領域に格納されている履歴情報の一部または全てを、特定した最古領域に複製することによって前記機密データの出力処理に対する新たな履歴情報として格納し、前記特定した最古領域に格納された履歴情報と、前記インタフェースを介して受取った前記もう1つの履歴情報とに基づいて、前記機密データを出力するか否かを判定する、請求項1に記載のデータ記憶装置。
  4. 前記最古領域を特定した後、
    前記制御部は、前記入出力処理における一定の手順が終了あるいは中止されるまでの間、前記特定された最古領域に格納された履歴情報を、当該手順の進行に従って随時更新する、請求項1から請求項3のいずれか1項に記載のデータ記憶装置。
  5. 前記複数の履歴情報の各々は、前記ログ記憶部へ記憶された順序を識別するための管理番号をさらに含み、
    前記管理番号は、前記ログ記憶部に連続して配置された2つの領域に格納された2つの履歴情報に含まれる各々の管理番号に基づいて、古い履歴情報が格納される前記最古領域を検出する、請求項1から請求項4のいずれか1項に記載のデータ記憶装置。
  6. 前記ログ記憶部は、N(Nは2以上の自然数)個の領域を循環的に利用するリングバッファからなり、
    前記管理番号は、M(Mは、N<Mを満たす自然数)の剰余系からなる、請求項5に記載のデータ記憶装置。
  7. 前記制御部は、前記ログ記憶部に連続して配置された2つの領域に格納された2つの履歴情報に含まれる各々の管理番号を取得し、その取得した2つの管理番号の差に基づいて、2つの当該管理番号を含む2つの履歴情報が連続して格納されたか否かを判定し、2つの履歴情報が不連続に格納された履歴情報であるとき、前記連続する2つの領域のうち、後続領域を前記最古領域として検出する、請求項6に記載のデータ記憶装置。
JP2002216750A 2002-07-25 2002-07-25 データ記憶装置 Expired - Fee Related JP4387087B2 (ja)

Priority Applications (6)

Application Number Priority Date Filing Date Title
JP2002216750A JP4387087B2 (ja) 2002-07-25 2002-07-25 データ記憶装置
CNB038173719A CN100343831C (zh) 2002-07-25 2003-07-24 能够不重叠地存储多个历史信息项的数据存储设备
KR1020057001293A KR100715407B1 (ko) 2002-07-25 2003-07-24 기밀 데이터의 입출력 처리에 관한 이력 정보를 중복하지않고 복수 저장할 수 있는 데이터 기억 장치
AU2003252680A AU2003252680A1 (en) 2002-07-25 2003-07-24 Data storage device capable of storing multiple SETS of history information on input/output processing of security data without duplication
PCT/JP2003/009414 WO2004012085A1 (ja) 2002-07-25 2003-07-24 機密データの入出力処理に関する履歴情報を重複することなく複数格納できるデータ記憶装置
US10/522,176 US7650328B2 (en) 2002-07-25 2003-07-24 Data storage device capable of storing multiple sets of history information on input/output processing of security data without duplication

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2002216750A JP4387087B2 (ja) 2002-07-25 2002-07-25 データ記憶装置

Publications (2)

Publication Number Publication Date
JP2004062317A JP2004062317A (ja) 2004-02-26
JP4387087B2 true JP4387087B2 (ja) 2009-12-16

Family

ID=31184584

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002216750A Expired - Fee Related JP4387087B2 (ja) 2002-07-25 2002-07-25 データ記憶装置

Country Status (6)

Country Link
US (1) US7650328B2 (ja)
JP (1) JP4387087B2 (ja)
KR (1) KR100715407B1 (ja)
CN (1) CN100343831C (ja)
AU (1) AU2003252680A1 (ja)
WO (1) WO2004012085A1 (ja)

Families Citing this family (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050198014A1 (en) * 2004-02-06 2005-09-08 Barbara De Lury Systems, methods and apparatus of a whole/part search engine
JP2006048767A (ja) * 2004-07-30 2006-02-16 Elpida Memory Inc 半導体メモリ試験装置
JP4555046B2 (ja) * 2004-10-15 2010-09-29 ヒタチグローバルストレージテクノロジーズネザーランドビーブイ データ転送システム及びデータ転送方法
JP4624235B2 (ja) * 2004-10-28 2011-02-02 三洋電機株式会社 コンテンツ利用情報提供装置およびコンテンツ利用情報送信方法
JP4735043B2 (ja) * 2005-05-20 2011-07-27 富士ゼロックス株式会社 電子チケット発行装置
CN100449543C (zh) * 2005-09-16 2009-01-07 腾讯科技(深圳)有限公司 一种日志保存方法及装置
JP4859424B2 (ja) * 2005-09-29 2012-01-25 ヒタチグローバルストレージテクノロジーズネザーランドビーブイ 磁気ディスク装置及び情報記録システム
JP4598642B2 (ja) * 2005-10-05 2010-12-15 クラリオン株式会社 ナビゲーションシステム、ライセンス管理装置、ライセンス管理システム、ライセンス取得方法、及び、ライセンス取得プログラム
US8630934B2 (en) * 2006-06-20 2014-01-14 Omx Technology Ab System and method for monitoring trading
CN101196966B (zh) * 2006-12-08 2010-05-19 华为技术有限公司 许可证交互及其中断后恢复的方法及数字版权管理系统
JP2008166873A (ja) * 2006-12-27 2008-07-17 Mitsubishi Electric Corp データ管理装置及びデータ管理システム及びデータ管理方法及びプログラム
US20090129597A1 (en) * 2007-11-21 2009-05-21 Zimmer Vincent J Remote provisioning utilizing device identifier
US8117216B1 (en) * 2008-08-26 2012-02-14 Amazon Technologies, Inc. Automated selection of item categories for presenting item recommendations
US9740567B2 (en) * 2009-12-08 2017-08-22 Safend Ltd. System and method for secured backup of data
KR101502895B1 (ko) 2010-12-22 2015-03-17 주식회사 케이티 복수의 오류 복제본으로부터 오류를 복구하는 방법 및 상기 방법을 이용하는 스토리지 시스템
KR20120072909A (ko) * 2010-12-24 2012-07-04 주식회사 케이티 내용 기반 중복 방지 기능을 가지는 분산 저장 시스템 및 그 오브젝트 저장 방법 및 컴퓨터에 의하여 독출가능한 저장 매체
KR101585146B1 (ko) 2010-12-24 2016-01-14 주식회사 케이티 오브젝트를 복수 개의 데이터 노드들의 위치에 기반하여 분산 저장하는 분산 저장 시스템 및 그 위치 기반 분산 저장 방법 및 컴퓨터에 의하여 독출 가능한 저장 매체
KR101544480B1 (ko) 2010-12-24 2015-08-13 주식회사 케이티 복수 개의 프락시 서버를 포함하는 분산 저장 시스템 및 그 오브젝트 관리 방법 및 컴퓨터에 의하여 독출가능한 저장 매체
KR101483127B1 (ko) 2011-03-31 2015-01-22 주식회사 케이티 클라우드 스토리지 시스템에서 리소스를 고려한 자료분배방법 및 장치
KR101544483B1 (ko) 2011-04-13 2015-08-17 주식회사 케이티 분산 저장 시스템의 복제 서버 장치 및 복제본 생성 방법
KR101544485B1 (ko) 2011-04-25 2015-08-17 주식회사 케이티 클라우드 스토리지 시스템에서 복수개의 복제본을 분산 저장하는 방법 및 장치
KR101326473B1 (ko) * 2012-09-28 2013-11-20 한국전력공사 부분적인 로드 프로파일 수집이 용이한 전력량계 및 이를 이용한 수집 방법
KR101442968B1 (ko) * 2013-04-01 2014-09-25 엘에스산전 주식회사 이력 데이터의 저장 및 처리를 위한 방법 및 장치

Family Cites Families (59)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5046359A (ja) * 1973-08-30 1975-04-25
US4249172A (en) * 1979-09-04 1981-02-03 Honeywell Information Systems Inc. Row address linking control system for video display terminal
JPS6441356A (en) * 1987-08-06 1989-02-13 Nec Corp Data input system in telephone set with data storage function
JP2590282B2 (ja) 1990-02-07 1997-03-12 富士通株式会社 システム実行履歴収集処理方式
JPH0546359A (ja) * 1991-08-13 1993-02-26 Mitsubishi Electric Corp 記憶装置
JPH06202926A (ja) * 1992-12-28 1994-07-22 Fuji Xerox Co Ltd ファイルアクセス履歴管理方式
JP3085899B2 (ja) 1995-06-19 2000-09-11 株式会社東芝 マルチプロセッサシステム
JPH0974549A (ja) 1995-07-05 1997-03-18 Toshiba Corp 課金システム装置
JPH103745A (ja) 1996-06-12 1998-01-06 Sony Corp 記録媒体、デジタルコピー管理方法、再生装置、及び記録装置
JPH10240629A (ja) 1997-02-27 1998-09-11 Mitsubishi Electric Corp メモリ内情報更新方法
US5956735A (en) 1997-03-28 1999-09-21 International Business Machines Corporation System of compressing the tail of a sparse log stream of a computer system
JPH1139450A (ja) * 1997-07-24 1999-02-12 Mitsubishi Electric Corp Icカード
US5919257A (en) * 1997-08-08 1999-07-06 Novell, Inc. Networked workstation intrusion detection system
JPH11120057A (ja) 1997-10-17 1999-04-30 Hitachi Ltd ファイルバックアップ方法
US5953685A (en) * 1997-11-26 1999-09-14 Intel Corporation Method and apparatus to control core logic temperature
US6023710A (en) * 1997-12-23 2000-02-08 Microsoft Corporation System and method for long-term administration of archival storage
US6078338A (en) * 1998-03-11 2000-06-20 Compaq Computer Corporation Accelerated graphics port programmable memory access arbiter
JPH11328982A (ja) 1998-03-19 1999-11-30 Fuji Electric Co Ltd フラッシュメモリのデ―タ管理方式
US6226618B1 (en) 1998-08-13 2001-05-01 International Business Machines Corporation Electronic content delivery system
JP3763992B2 (ja) * 1999-03-30 2006-04-05 富士通株式会社 データ処理装置及び記録媒体
JP3797649B2 (ja) 1999-05-31 2006-07-19 シャープ株式会社 不揮発性半導体記憶装置
JP4436490B2 (ja) 1999-07-22 2010-03-24 オリンパス株式会社 デジタルデータ記録再生システム
WO2001013358A1 (fr) * 1999-08-10 2001-02-22 Fujitsu Limited Carte memoire
US7181629B1 (en) * 1999-08-27 2007-02-20 Fujitsu Limited Data distribution system as well as data supply device terminal device and recording device for the same
EP1094424A3 (en) * 1999-10-22 2004-06-16 Hitachi, Ltd. Digital signing method
JP3858538B2 (ja) 1999-11-19 2006-12-13 セイコーエプソン株式会社 フラッシュメモリのデータ管理装置
JP3873090B2 (ja) * 1999-12-02 2007-01-24 三洋電機株式会社 データ記録装置、データ供給装置およびデータ配信システム
AU1556301A (en) * 1999-12-03 2001-06-12 Fujitsu Limited Data distribution system and recorder for use therein
WO2001043342A1 (fr) * 1999-12-06 2001-06-14 Sanyo Electric Co., Ltd. Systeme de distribution de donnees et enregistreur utilise avec ce systeme
US6898708B2 (en) * 1999-12-07 2005-05-24 Sanyo Electric Co., Ltd. Device for reproducing data
JP2001197292A (ja) * 2000-01-17 2001-07-19 Konica Corp 画像形成装置
JP2001230768A (ja) 2000-02-15 2001-08-24 Sony Corp 情報取り引きシステムおよび情報取り引き方法、並びにプログラム提供媒体
US6952737B1 (en) * 2000-03-03 2005-10-04 Intel Corporation Method and apparatus for accessing remote storage in a distributed storage cluster architecture
JP2001249836A (ja) 2000-03-03 2001-09-14 Fujitsu Ltd 履歴管理装置、方法及びその装置での処理をコンピュータに行なわせるためのプログラムを格納した記憶媒体
JP2001249855A (ja) 2000-03-07 2001-09-14 Hitachi Ltd 不揮発性メモリのデータ書き替え方法及び加入者回路
TW515950B (en) 2000-03-14 2003-01-01 Hitachi Ltd Content regeneration device
AU2001244604A1 (en) * 2000-03-30 2001-10-15 Fujitsu Limited Content data storage
IL138408A0 (en) * 2000-04-07 2001-10-31 Digitalsecu Co Ltd Apparatus for and method of storing log data in communication network
JP2001337600A (ja) 2000-05-29 2001-12-07 Toshiba Corp 電子データ保管システム、履歴検証装置、電子データ保管方法及び記録媒体
US6789203B1 (en) * 2000-06-26 2004-09-07 Sun Microsystems, Inc. Method and apparatus for preventing a denial of service (DOS) attack by selectively throttling TCP/IP requests
JP2002007263A (ja) 2000-06-27 2002-01-11 Ntt Communications Kk ディジタルコンテンツの入出力情報管理方法及び管理システム、並びに、ディジタルコンテンツの入出力情報管理用プログラムを記録した記録媒体
JP2002026890A (ja) 2000-07-04 2002-01-25 Sanyo Electric Co Ltd データ記録装置、およびデータ再生装置
JP2002094499A (ja) * 2000-09-18 2002-03-29 Sanyo Electric Co Ltd データ端末装置およびヘッドホン装置
JP3568470B2 (ja) * 2000-09-21 2004-09-22 三洋電機株式会社 シェル型データ端末装置
JP4524480B2 (ja) * 2000-11-24 2010-08-18 三洋電機株式会社 データ端末装置
JP4601153B2 (ja) 2000-11-29 2010-12-22 三洋電機株式会社 データ端末装置およびデータ端末装置の制御方法
US20050120232A1 (en) * 2000-11-28 2005-06-02 Yoshihiro Hori Data terminal managing ciphered content data and license acquired by software
JP3903714B2 (ja) * 2000-12-20 2007-04-11 株式会社日立製作所 位置関係獲得方法および機器
JP2002271316A (ja) * 2001-03-13 2002-09-20 Sanyo Electric Co Ltd 再生装置
CN1324484C (zh) * 2001-03-15 2007-07-04 三洋电机株式会社 可复原只容许唯一存在的专用数据的数据记录装置
JP4743984B2 (ja) * 2001-03-23 2011-08-10 三洋電機株式会社 データ記録装置
JP2002288375A (ja) 2001-03-26 2002-10-04 Sanyo Electric Co Ltd コンテンツ提供装置、コンテンツ提供方法およびライセンスサーバ
US7185013B2 (en) * 2001-04-12 2007-02-27 International Business Machines Corporation Method for constructing and caching a chain of file identifiers and enabling inheritance of resource properties in file systems
JP2002353952A (ja) * 2001-05-24 2002-12-06 Sanyo Electric Co Ltd データ端末装置
JP4545994B2 (ja) * 2001-07-02 2010-09-15 三洋電機株式会社 データ再生装置それに用いるデータ再生回路、およびデータ記録装置
JP2003022219A (ja) * 2001-07-09 2003-01-24 Sanyo Electric Co Ltd コンテンツデータを容易に再取得できるデータ端末装置、その端末装置において実行されるプログラム、およびそのプログラムを記録した記録媒体
US6717283B2 (en) * 2001-12-20 2004-04-06 Halliburton Energy Services, Inc. Annulus pressure operated electric power generator
JP4323745B2 (ja) * 2002-01-15 2009-09-02 三洋電機株式会社 記憶装置
JP2003248557A (ja) 2002-02-26 2003-09-05 Sanyo Electric Co Ltd ハードディスクユニット

Also Published As

Publication number Publication date
KR20050033615A (ko) 2005-04-12
US7650328B2 (en) 2010-01-19
CN1672137A (zh) 2005-09-21
KR100715407B1 (ko) 2007-05-08
US20050289062A1 (en) 2005-12-29
AU2003252680A8 (en) 2004-02-16
WO2004012085A1 (ja) 2004-02-05
CN100343831C (zh) 2007-10-17
AU2003252680A1 (en) 2004-02-16
JP2004062317A (ja) 2004-02-26

Similar Documents

Publication Publication Date Title
JP4387087B2 (ja) データ記憶装置
JP3971941B2 (ja) データ記憶装置
JP3696206B2 (ja) 一意義的にのみ存在が許容される独自データを復元可能なデータ記録装置
JP3677001B2 (ja) データ配信システムおよびそれに用いられる記録装置
JP4545994B2 (ja) データ再生装置それに用いるデータ再生回路、およびデータ記録装置
KR20030074382A (ko) 기밀 데이터의 안전한 액세스를 제공하는 데이터 기억 장치
JP4010481B2 (ja) データ配信システムおよびそれに用いるデータ供給装置、端末装置ならびに記録装置
EP1496441A1 (en) Information processing device, method, recording medium, and program
JP2002094499A (ja) データ端末装置およびヘッドホン装置
MXPA04002721A (es) Un dispositivo de cifrado, un dispositivo de descifrado, un dispositivo de generacion de claves secretas, un sistema de proteccion de derechos de autor y un dispositivo de comunicacion cifrada.
JP2002101192A (ja) シェル型データ端末装置
JP2008009631A (ja) 記憶装置及び記憶方法
JP2003022219A (ja) コンテンツデータを容易に再取得できるデータ端末装置、その端末装置において実行されるプログラム、およびそのプログラムを記録した記録媒体
KR20050100596A (ko) 컨텐츠 재생 장치, 라이센스 발행 서버 및 컨텐츠 재생시스템
US20090037748A1 (en) Method and apparatus for forbidding use of digital content against copy control information
JP2003248557A (ja) ハードディスクユニット
JP4553472B2 (ja) データ端末装置
JP3788572B2 (ja) レンタルコンテンツ流通システムおよびその方法
JP2002094500A (ja) データ端末装置
JP3851155B2 (ja) ライセンス移動システム、ライセンス管理サーバおよびデータ端末装置
JP2002099509A (ja) 携帯端末装置
JP2002099743A (ja) データ再生装置およびライセンス管理方法
JP4540202B2 (ja) データ再生装置およびデータ端末装置
JP2003101521A (ja) ライセンス管理装置およびそれを用いたデータ端末装置
JP3831596B2 (ja) データ端末装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20050721

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080729

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080926

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20090421

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20090714

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090721

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20090714

A911 Transfer of reconsideration by examiner before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20090820

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

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

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20121009

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20131009

Year of fee payment: 4

LAPS Cancellation because of no payment of annual fees