JP2004295692A - データ入出力方法、およびその方法を利用可能な記憶装置およびホスト装置 - Google Patents
データ入出力方法、およびその方法を利用可能な記憶装置およびホスト装置 Download PDFInfo
- Publication number
- JP2004295692A JP2004295692A JP2003089388A JP2003089388A JP2004295692A JP 2004295692 A JP2004295692 A JP 2004295692A JP 2003089388 A JP2003089388 A JP 2003089388A JP 2003089388 A JP2003089388 A JP 2003089388A JP 2004295692 A JP2004295692 A JP 2004295692A
- Authority
- JP
- Japan
- Prior art keywords
- storage device
- data
- command
- controller
- instruction
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000003860 storage Methods 0.000 title claims abstract description 224
- 238000000034 method Methods 0.000 title claims abstract description 106
- 238000012545 processing Methods 0.000 claims abstract description 151
- 230000008569 process Effects 0.000 claims abstract description 46
- 230000004044 response Effects 0.000 claims description 9
- 208000033748 Device issues Diseases 0.000 claims description 2
- 238000010586 diagram Methods 0.000 abstract description 22
- 238000002360 preparation method Methods 0.000 description 23
- 230000006870 function Effects 0.000 description 20
- 238000013500 data storage Methods 0.000 description 16
- 238000004891 communication Methods 0.000 description 15
- 239000000284 extract Substances 0.000 description 8
- 238000009826 distribution Methods 0.000 description 7
- 230000005540 biological transmission Effects 0.000 description 6
- 238000013523 data management Methods 0.000 description 6
- 238000004364 calculation method Methods 0.000 description 5
- 238000012986 modification Methods 0.000 description 4
- 230000004048 modification Effects 0.000 description 4
- 238000012790 confirmation Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 230000008859 change Effects 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/78—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data
- G06F21/80—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data in storage media based on magnetic or optical technology, e.g. disks with sectors
-
- A—HUMAN NECESSITIES
- A61—MEDICAL OR VETERINARY SCIENCE; HYGIENE
- A61C—DENTISTRY; APPARATUS OR METHODS FOR ORAL OR DENTAL HYGIENE
- A61C8/00—Means to be fixed to the jaw-bone for consolidating natural teeth or for fixing dental prostheses thereon; Dental implants; Implanting tools
- A61C8/0089—Implanting tools or instruments
-
- A—HUMAN NECESSITIES
- A61—MEDICAL OR VETERINARY SCIENCE; HYGIENE
- A61B—DIAGNOSIS; SURGERY; IDENTIFICATION
- A61B17/00—Surgical instruments, devices or methods
- A61B17/16—Instruments for performing osteoclasis; Drills or chisels for bones; Trepans
- A61B17/1635—Instruments for performing osteoclasis; Drills or chisels for bones; Trepans for grafts, harvesting or transplants
-
- A—HUMAN NECESSITIES
- A61—MEDICAL OR VETERINARY SCIENCE; HYGIENE
- A61B—DIAGNOSIS; SURGERY; IDENTIFICATION
- A61B17/00—Surgical instruments, devices or methods
- A61B17/16—Instruments for performing osteoclasis; Drills or chisels for bones; Trepans
- A61B17/1662—Instruments for performing osteoclasis; Drills or chisels for bones; Trepans for particular parts of the body
- A61B17/1673—Instruments for performing osteoclasis; Drills or chisels for bones; Trepans for particular parts of the body for the jaw
-
- A—HUMAN NECESSITIES
- A61—MEDICAL OR VETERINARY SCIENCE; HYGIENE
- A61B—DIAGNOSIS; SURGERY; IDENTIFICATION
- A61B90/00—Instruments, implements or accessories specially adapted for surgery or diagnosis and not covered by any of the groups A61B1/00 - A61B50/00, e.g. for luxation treatment or for protecting wound edges
- A61B90/03—Automatic limiting or abutting means, e.g. for safety
-
- A—HUMAN NECESSITIES
- A61—MEDICAL OR VETERINARY SCIENCE; HYGIENE
- A61C—DENTISTRY; APPARATUS OR METHODS FOR ORAL OR DENTAL HYGIENE
- A61C1/00—Dental machines for boring or cutting ; General features of dental machines or apparatus, e.g. hand-piece design
- A61C1/08—Machine parts specially adapted for dentistry
- A61C1/082—Positioning or guiding, e.g. of drills
- A61C1/084—Positioning or guiding, e.g. of drills of implanting tools
-
- A—HUMAN NECESSITIES
- A61—MEDICAL OR VETERINARY SCIENCE; HYGIENE
- A61C—DENTISTRY; APPARATUS OR METHODS FOR ORAL OR DENTAL HYGIENE
- A61C3/00—Dental tools or instruments
- A61C3/02—Tooth drilling or cutting instruments; Instruments acting like a sandblast machine
-
- A—HUMAN NECESSITIES
- A61—MEDICAL OR VETERINARY SCIENCE; HYGIENE
- A61B—DIAGNOSIS; SURGERY; IDENTIFICATION
- A61B90/00—Instruments, implements or accessories specially adapted for surgery or diagnosis and not covered by any of the groups A61B1/00 - A61B50/00, e.g. for luxation treatment or for protecting wound edges
- A61B90/03—Automatic limiting or abutting means, e.g. for safety
- A61B2090/033—Abutting means, stops, e.g. abutting on tissue or skin
Landscapes
- Health & Medical Sciences (AREA)
- Engineering & Computer Science (AREA)
- Life Sciences & Earth Sciences (AREA)
- Oral & Maxillofacial Surgery (AREA)
- Computer Security & Cryptography (AREA)
- Surgery (AREA)
- Veterinary Medicine (AREA)
- Public Health (AREA)
- General Health & Medical Sciences (AREA)
- Animal Behavior & Ethology (AREA)
- Dentistry (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Biomedical Technology (AREA)
- Orthopedic Medicine & Surgery (AREA)
- Molecular Biology (AREA)
- Medical Informatics (AREA)
- Epidemiology (AREA)
- Nuclear Medicine, Radiotherapy & Molecular Imaging (AREA)
- Heart & Thoracic Surgery (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Pathology (AREA)
- Transplantation (AREA)
- Storage Device Security (AREA)
- Signal Processing For Digital Recording And Reproducing (AREA)
Abstract
【解決手段】記録装置のコントローラは、ストレージデバイスにセキュアコマンドを発行した後、ストレージデバイスがそのセキュアコマンドを実行するのに要すると推定される時間待機してから、次のセキュアコマンドを発行する(S500)。ストレージデバイスのコントローラは、直前の命令を実行中であれば、記録装置へ処理中である旨を通知し(S508)、直前の命令の実行が正常に終了していれば、次の処理へうつる。コマンドの実行時間を推定するための情報は予めストレージデバイスから取得しておく。
【選択図】 図16
Description
【発明の属する技術分野】
本発明は、データ入出力技術に関し、とくに、記憶装置とホスト装置との間で秘匿すべきデータを暗号化して入出力する技術に関する。
【0002】
【従来の技術】
近年、記憶素子の小型化、集積化、量産化が飛躍的に進み、記録媒体の小型化、大容量化、低価格化が進んでいる。そのような状況下、本出願人らは、さらに利便性の高い記録媒体の実現を目指し、従来一つのホスト装置に固定的に接続されて使用されるのが一般的であった大容量ハードディスクを、ホスト装置に着脱自在に構成することにより、複数のホスト装置でデータを共有可能なリムーバブルメディアとして扱えるようにしようと考えた。小型かつ大容量で、アクセス速度も比較的高速なハードディスクをリムーバブルメディアとして利用できることのメリットは大きい。
【0003】
【特許文献1】
特開2000−173158号公報 (全文)
【0004】
【発明が解決しようとする課題】
ユーザの利便性を考えると、あらゆるホスト装置でこのリムーバブルなハードディスクを読み書きできるようにすることが望ましいが、反面、あらゆるホスト装置で読み書き可能ということは、第三者にデータが漏洩する危険性もはらんでいることを意味する。音楽や映像などのデジタルコンテンツの流通が注目される現在、著作権を適切に保護し、デジタルコンテンツの流出を防ぐためにも、秘匿すべきデータを適切に保護することのできる技術を開発することが重要である。
【0005】
本発明はこうした状況に鑑みてなされたものであり、その目的は、記憶装置とホスト装置との間で秘匿すべきデータを暗号化して入出力するときの処理効率を向上させる技術の提供にある。
【0006】
【課題を解決するための手段】
本発明のある態様は、ホスト装置に関する。このホスト装置は、データを保持する記憶装置との間でデータを入出力するホスト装置であって、秘匿すべきデータを暗号化して入出力するための一連の暗号入出力処理を複数の手順に分割し、該手順のうち記憶装置側で実行すべき手順を記憶装置に実行させるための命令を記憶装置に対して発行するコントローラを備え、コントローラは、命令を発行する前に記憶装置から命令の実行に要する時間を推定するための情報を取得し、命令を記憶装置に対して発行した後、記憶装置が命令の実行に必要と推定される時間待機してから、その次の手順の命令を記憶装置に発行する。
【0007】
暗号入出力処理を複数の手順に分割し、命令を細分化することで、バスを効率良く解放し、暗号化、復号、ハッシュ演算、乱数発生、ログ検索などの比較的時間を要する処理を行っている間に、他の命令を発行することが可能となる。暗号入出力処理に属する命令を発行した後、後続の命令を発行するまでに、前回の命令の実行が終了しているか否かを何度も記憶装置に問い合わせるのは効率が悪いので、命令の実行に要すると推定される時間だけ待機した後に、後続の命令を発行する。
【0008】
推定するための情報は、命令を実行するのに要する典型的な処理時間、平均処理時間、または最大処理時間を含んでもよい。推定するための情報は、命令を実行するために用いられる、暗号化演算、復号演算、ハッシュ演算、乱数発生演算、およびログ検索のうち少なくとも1つの基本処理に要する典型的な処理時間、平均処理時間、または最大処理時間を含んでもよい。これらの基本処理に要する時間に基づいて、命令を実行するのに要する時間を推定してもよい。
【0009】
本発明の別の態様は、記憶装置に関する。この記憶装置は、データを保持する記憶媒体と、記憶媒体とホスト装置との間で秘匿すべきデータを暗号化して入出力するための一連の暗号入出力処理を行う際に、その暗号入出力処理を複数の手順に分割して発行された命令をホスト装置から受信するコントローラと、命令を実行する暗号処理部と、を備え、コントローラは、ホスト装置からの要求に応じて、暗号処理部が命令の実行に要する時間をホスト装置が推定するための情報を提供する。
【0010】
暗号入出力処理は、該処理の手順に沿って、ホスト装置からデータの入力を受け、必要に応じて暗号処理部にて暗号化または復号を行う処理、ホスト装置へデータを出力するために、暗号処理部にて暗号化、復号、または署名を行う処理、ホスト装置へデータを出力する処理、のいずれかの処理単位に分割され、命令は、分割された処理単位ごとに発行されてもよい。
【0011】
推定するための情報は、命令を実行するのに要する典型的な処理時間、平均処理時間、または最大処理時間を含んでもよい。推定するための情報は、命令を実行するために用いられる、暗号化演算、復号演算、ハッシュ演算、乱数発生演算、およびログ検索のうち少なくとも1つの基本処理に要する典型的な処理時間、平均処理時間、または最大処理時間を含んでもよい。
【0012】
本発明のさらに別の態様は、データ入出力方法に関する。この方法は、データを保持する記憶装置とホスト装置との間で、秘匿すべきデータを暗号化して入出力するための一連の暗号入出力処理を実行するためのデータ入出力方法であって、暗号入出力処理を複数の手順に分割し、該手順のうちホスト装置側で実行すべき手順をホスト装置が実行するステップと、記憶装置側で実行すべき手順を記憶装置に実行させるために、ホスト装置が記憶装置に対して命令を発行するステップと、記憶装置が命令を受信するステップと、記憶装置が命令を実行するステップと、を含み、ホスト装置は、命令を発行する前に、記憶装置から該記憶装置が命令の実行に要する時間を推定するための情報を取得し、命令を記憶装置に対して発行した後、命令の実行に必要と推定される時間待機してから、その次の手順の命令を発行する。
【0013】
なお、以上の構成要素の任意の組合せ、本発明の表現を方法、装置、システム、記録媒体、コンピュータプログラムなどの間で変換したものもまた、本発明の態様として有効である。
【0014】
【発明の実施の形態】
(第1の実施の形態)
図1は、第1の実施の形態に係るデータ管理システム10の全体構成を示す。データ管理システム10は、ストレージデバイス200へのデータの記録を制御する記録装置100、ストレージデバイス200に記録されたデータの再生を制御する再生装置300、およびデータを記憶保持するストレージデバイス200を備える。本実施の形態のストレージデバイス200は、データを保持する記憶媒体だけでなく、記録装置100または再生装置300などのホスト装置と記憶媒体との間でのデータの入出力を制御するコントローラなどの構成を備えるドライブ一体型の記憶装置である。本実施の形態では、ストレージデバイス200として、ハードディスクドライブを例にとって説明する。
【0015】
従来のハードディスクは、一つのホスト装置に固定的に接続されて使用されるのが一般的であったが、本実施の形態のストレージデバイス200は、記録装置100および再生装置300などのホスト装置に対して着脱自在に構成されている。すなわち、本実施の形態のストレージデバイス200は、CDやDVDなどと同様にホスト装置から取り外して持ち運ぶことができ、記録装置100、再生装置300、記録および再生が可能な記録再生装置など、複数のホスト装置間で共用することが可能な記憶装置である。
【0016】
このように、本実施の形態のストレージデバイス200は、複数のホスト装置に接続されることを前提にしており、たとえば所有者以外の第三者のホスト装置に接続されて、内部に記録されたデータを読み出される可能性もある。このストレージデバイス200に、音楽や映像などの著作権により保護されるべきコンテンツ、企業や個人の機密情報などの秘匿すべきデータを記録することを想定したとき、それらの秘匿データが外部に漏洩することを防ぐためには、ストレージデバイス200自身にデータを適切に保護するための構成を設け、十分な耐タンパ機能を持たせることが好ましい。このような観点から、本実施の形態のストレージデバイス200は、ホスト装置との間で秘匿データを入出力するときに、その秘匿データを暗号化してやり取りするための構成を備える。また、秘匿データを格納するために、通常の記録領域とは異なる機密データ記憶領域を設け、その機密データ記憶領域はストレージデバイス200内に設けられた暗号エンジンを介さないとアクセスできないように構成する。暗号エンジンは正当な権限を有すると認証されたホスト装置にのみ秘匿データを出力する。以下、このようなデータ保護機能を「セキュア機能」ともいう。上記の構成および機能により、ストレージデバイス200に記録された秘匿データを適切に保護することができる。
【0017】
ストレージデバイス200のリムーバブルメディアとしての特徴を最大限に生かすため、通常のデータについては、セキュア機能に非対応のホスト装置でも入出力可能とするのが好ましい。そのため、本実施の形態のストレージデバイス200は、従来のハードディスクとの互換性を保つべく、ANSI(American National Standards Institute)の標準規格であるATA(AT Attachment)に対応しており、上述のセキュア機能は、ATAの拡張コマンドとして実現される。ATAはシングルタスクインタフェースを採用しており、一つの命令が発行されると、その命令が終了するまでバスが占有され、次の命令を発行できない。ところが、上述のように、ストレージデバイス200側にも暗号通信のための構成を設け、秘匿データを暗号化して入出力するようにすると、暗号化および復号などの処理には比較的長い時間を要するため、秘匿データの入出力命令に要する時間は、通常データの入出力命令に要する時間に比べて長くなる。たとえば、秘匿データをストレージデバイス200から読み出すとき、ストレージデバイス200に対して読出命令を発行すると、ストレージデバイス200は、自身の暗号エンジンにより該当する秘匿データを機密データ記憶領域から読み出し、その秘匿データをホスト装置に送出するために用いる暗号鍵をホスト装置との間でやり取りした後、その秘匿データを暗号鍵で暗号化してからバスに出力する。このとき、暗号化および復号などの処理を実行している間は、バスは実際には使われていないにもかかわらず、この命令により占有された状態にある。
【0018】
本実施の形態では、このような無駄なバスの占有を極力省き、バスを効率良く利用して処理の高速化を図るために、秘匿データの入出力のための一連の暗号入出力処理を複数の手順に分割し、命令を細分化して発行する。そして、暗号化または復号など、バスを使わない処理が行われている間は、できる限りバスを開放して他の命令が発行できるようにする。
【0019】
ところが、秘匿データを入出力するための暗号入出力処理を複数の手順に分割したとき、それらの手順の実行順序が前後すると、セキュリティホールが発生する恐れがある。そのため、本実施の形態では、ストレージデバイス200の暗号エンジンは、秘匿データの入出力における手順の実行順序を管理し、不正な順序の命令を受信した場合、その命令の実行を拒否し、エラー応答を返す。
【0020】
記録装置100や再生装置300などのホスト装置がストレージデバイス200に対して暗号入出力処理に関する命令を発行し、つづいて、その次の順序の命令を発行したとき、ストレージデバイス200側が前の命令を実行中の場合は、次の命令は受理されない。ホスト装置が、次の命令を受理されるまで、闇雲にストレージデバイス200に命令を発行し続けるのは効率的でない。そのため、本実施の形態では、ホスト装置は予めストレージデバイス200から命令の実行に要する時間を推定するための情報を取得し、命令を発行した後、その命令の実行に要すると推定される時間だけ待機した後、次の命令を発行する。これにより、無駄な命令の発行を最小限に抑えることができる。
【0021】
以下、秘匿データの入出力の例として、画像や音楽などのデジタルコンテンツを記録再生する場合について説明する。コンテンツ自身を秘匿データとして扱ってもよいが、本実施の形態では、コンテンツを暗号化し、暗号化されたコンテンツ自身は通常のデータとして入出力を行う。そして、暗号化されたコンテンツを復号するための鍵(コンテンツ鍵と呼ぶ)を含む、コンテンツの復号および利用に必要なデータ(ライセンスデータと呼ぶ)を、秘匿データとして上述のセキュア機能を用いて入出力を行う。これにより、十分な耐タンパ性を維持しつつ、データの入出力を簡略化し、処理の高速化および消費電力の低減を図ることができる。ここで、ライセンスデータは、コンテンツ鍵の他に、ライセンスの利用、移動、複製に関する情報や、ライセンスデータを特定するためのライセンスIDなどを含む。以下、記録装置100、再生装置300などのホスト装置がストレージデバイス200に対して発行する命令のうち、セキュア機能のための命令を「セキュアコマンド」とも呼び、その他の命令を「通常コマンド」とも呼ぶ。
【0022】
図2は、実施の形態に係る記録装置100の内部構成を示す。この構成は、ハードウエア的には、任意のコンピュータのCPU、メモリ、その他のLSIなどで実現でき、ソフトウエア的にはメモリにロードされた記録制御機能のあるプログラムなどによって実現されるが、ここではそれらの連携によって実現される機能ブロックを描いている。したがって、これらの機能ブロックがハードウエアのみ、ソフトウエアのみ、またはそれらの組合せによっていろいろな形で実現できることは、当業者には理解されるところである。記録装置100は、主に、コントローラ101、ストレージインタフェース102、暗号エンジン103、暗号器104、コンテンツエンコーダ105、およびそれらを電気的に接続するデータバス110を備える。
【0023】
コンテンツエンコーダ105は、オンラインまたはオフラインにより取得したコンテンツを所定の形式にエンコードする。たとえば、ネットワークを介して取得した画像データをJPEG形式にエンコードしてもよいし、放送波から取得した映像データをMPEG形式にエンコードしてもよい。暗号器104は、エンコードされたコンテンツを暗号化し、暗号化されたコンテンツを復号するためのコンテンツ鍵を発行する。暗号化されたコンテンツは、データバス110およびストレージインタフェース102を介してストレージデバイス200に記録される。コンテンツ鍵は、暗号エンジン103に通知され、暗号エンジン103を介してストレージデバイス200に記録される。暗号エンジン103は、コンテンツ鍵を含むライセンスデータをストレージデバイス200に入力するために、ストレージデバイス200との間で暗号通信の制御を行う。ストレージインタフェース102は、ストレージデバイス200とのデータの入出力を制御する。コントローラ101は、記録装置100の構成要素を統括的に制御する。
【0024】
図3は、実施の形態に係る再生装置300の内部構成を示す。これらの機能ブロックも、ハードウエアのみ、ソフトウエアのみ、またはそれらの組合せによっていろいろな形で実現できる。再生装置300は、主に、コントローラ301、ストレージインタフェース302、暗号エンジン303、復号器304、コンテンツデコーダ305、およびそれらを電気的に接続するデータバス310を備える。
【0025】
ストレージインタフェース302は、ストレージデバイス200とのデータの入出力を制御する。暗号エンジン303は、コンテンツ鍵を含むライセンスデータをストレージデバイス200から受信するために、ストレージデバイス200との間で暗号通信の制御を行う。復号器304は、ストレージデバイス200から読み出した暗号化されたコンテンツを、ストレージデバイス200から入手したライセンスデータに含まれるコンテンツ鍵により復号する。コンテンツデコーダ305は、復号器304により復号されたコンテンツをデコードして出力する。たとえば、画像データであれば、図示しない表示装置に出力し、音声データであれば、図示しないスピーカに出力する。コントローラ301は、再生装置300の構成要素を統括的に制御する。
【0026】
図4は、実施の形態に係るストレージデバイス200の内部構成を示す。ストレージデバイス200は、主に、コントローラ201、ストレージインタフェース202、暗号エンジン203、通常データ記憶部204、機密データ記憶部205、およびそれらを電気的に接続するデータバス210を備える。
【0027】
ストレージインタフェース202は、記録装置100および再生装置300とのデータの入出力を制御する。暗号エンジン203は、コンテンツ鍵を含むライセンスデータなどの秘匿データを記録装置100および再生装置300との間で入出力するための暗号通信の制御を行う。通常データ記憶部204は、暗号化されたコンテンツや通常のデータなどを記録する。機密データ記憶部205は、コンテンツ鍵を含むライセンスデータなどの秘匿データを記録する。コントローラ201は、ストレージデバイス200の構成要素を統括的に制御する。通常データ記憶部204は、外部から直接アクセス(データの入出力)が行われるが、機密データ記憶部205は、暗号エンジン203を介さないとアクセス(データの入出力)ができないように構成される。
【0028】
図5は、図2に示した記録装置100の暗号エンジン103の内部構成を示す。暗号エンジン103は、認証部120、第1暗号部121、乱数発生部122、復号部123、第2暗号部124、ログメモリ125、およびこれらの構成要素の少なくとも一部を電気的に接続するローカルバス130を備える。
【0029】
認証部120は、ストレージデバイス200から取得した証明書を認証する。証明書は、公開鍵を含む平文の情報(「証明書本体」と呼ぶ)と、証明書本体に対して付される電子署名からなる。この電子署名は、証明書本体に対してハッシュ関数による演算(この演算処理を「ハッシュ演算」と呼ぶ)を施した結果を、第三者機関である認証局(図示せず)のルート鍵Kpaによって暗号化したデータである。ルート鍵Kpaは、認証局によって厳重に管理されている非公開な鍵であり、認証局の秘密鍵となる。認証部120は、このルート鍵Kpaと対をなす認証鍵KPaを保持している。この認証鍵KPaは証明書の正当性を検証する公開鍵である。証明書の正当性の検証は、検証すべき証明書の証明書本体に対するハッシュ関数の演算結果と、認証鍵KPaで電子署名を復号した結果を比較する処理であり、両者が一致したとき、正当であると判断する。この証明書の正当性を判断し、正当な証明書を承認する処理を認証と呼ぶ。認証部120は、認証に成功すると、ストレージデバイス200の公開鍵KPcを取り出して第1暗号部121に伝達し、認証に失敗すると、エラー通知を出力する。
【0030】
乱数発生部122は、ストレージデバイス200との間で暗号通信を行うために一時的に使用されるチャレンジ鍵Ks1を発生する。暗号通信を行う度に、乱数によりチャレンジ鍵Ks1を生成することで、チャレンジ鍵Ks1を見破られる可能性を最小限に抑えることができる。生成されたチャレンジ鍵Ks1は、第1暗号部121および復号部123に伝達される。第1暗号部121は、ストレージデバイス200にチャレンジ鍵Ks1を通知するために、認証部120により取り出されたストレージデバイス200の公開鍵KPcでチャレンジ鍵Ks1を暗号化して、暗号化共通鍵E(KPc、Ks1)を生成する。ここで、関数Eは暗号化を示し、E(KPc、Ks1)は、KPcでKs1を暗号化したものであることを示す。
【0031】
復号部123は、チャレンジ鍵Ks1で暗号化されたデータを復号する。ストレージデバイス200で発行されたセッション鍵Ks2は、チャレンジ鍵Ks1により暗号化されてストレージデバイス200から供給されるため、復号部123は、乱数発生部122が発生したチャレンジ鍵Ks1を取得して、セッション鍵Ks2を復号する。復号したセッション鍵Ks2は第2暗号部124に伝達される。第2暗号部124は、暗号器104がコンテンツを暗号化する際に発行したコンテンツ鍵を含むライセンスデータを取得し、そのライセンスデータをストレージデバイス200で発行されたセッション鍵Ks2により暗号化する。ログメモリ125は、一連の暗号入出力処理におけるトランザクションログを保持する。
【0032】
図5では、暗号エンジン103の構成要素のうち、認証部120、第1暗号部121、復号部123、第2暗号部124、およびログメモリ125がローカルバス130により電気的に接続されており、ローカルバス130を介して記録装置100のデータバス110に接続されている。各構成要素を接続する形態にはいろいろな変更例が考えられるが、本実施の形態では、チャレンジ鍵を発生する乱数発生部122が、直接データバス110に接続されないよう配慮している。これにより、暗号エンジン103内で使用される各鍵が、記録装置100の他の構成要素などを介して外部に漏洩することを防ぎ、セキュリティ性を向上させることができる。
【0033】
図6は、図3に示した再生装置300の暗号エンジン303の内部構成を示す。暗号エンジン303は、証明書出力部320、第1復号部321、暗号部322、乱数発生部323、第2復号部324、およびこれらの構成要素の少なくとも一部を電気的に接続するローカルバス330を備える。
【0034】
証明書出力部320は、再生装置300の証明書を出力する。証明書は、証明書出力部320が保持してもよいし、図示しない証明書保持部に保持しておき、それを読み出してもよい。証明書は、再生装置300の公開鍵KPbを含む証明書本体と、証明書本体に対して付される電子署名からなる。電子署名は、ストレージデバイス200の証明書と同様に、認証局のルート鍵Kpaにより暗号化される。第1復号部321は、公開鍵KPbによって暗号化されたデータを秘密鍵Kpbで復号する。ストレージデバイス200で発行されたチャレンジ鍵Ks3は、再生装置300の公開鍵KPbにより暗号化されてストレージデバイス200から供給されるため、第1復号部321は、自身の秘密鍵Kpbにより復号してチャレンジ鍵Ks3を取り出す。取り出されたチャレンジ鍵Ks3は、暗号部322に伝達される。乱数発生部323は、ストレージデバイス200との間で暗号通信を行うために一時的に使用されるセッション鍵Ks4を発生する。生成されたセッション鍵Ks4は、暗号部322および第2復号部324に伝達される。
【0035】
暗号部322は、ストレージデバイス200にセッション鍵Ks4を通知するために、復号部321により取り出されたチャレンジ鍵Ks3でセッション鍵Ks4を暗号化する。第2復号部324は、セッション鍵Ks4で暗号化されたデータを復号する。ライセンスデータは、セッション鍵Ks4により暗号化されてストレージデバイス200から供給されるため、第2復号部324は、乱数発生部323が発生したセッション鍵Ks4により復号して、ライセンスデータを取り出す。取り出されたライセンスデータは、復号器304に伝達され、復号器304はこのライセンスデータに含まれるコンテンツ鍵を用いて暗号化されたコンテンツを復号する。
【0036】
図6に示した暗号エンジン303においても、各構成要素を接続する形態にはいろいろな変更例が考えられるが、本実施の形態では、チャレンジ鍵を発生する乱数発生部323が直接データバス310に接続されないように構成することで、暗号エンジン303内で使用される暗号鍵が外部に漏洩することを防ぐ。
【0037】
図7は、図4に示したストレージデバイス200の暗号エンジン203の内部構成を示す。これらの機能ブロックも、ハードウエアのみ、ソフトウエアのみ、またはそれらの組合せによっていろいろな形で実現できる。暗号エンジン203は、データレジスタ220、状態レジスタ221、制御部222、乱数発生部224、証明書出力部225、認証部226、第1復号部227、第1暗号部228、第2復号部229、第2暗号部230、ログメモリ231、およびこれらの構成要素の少なくとも一部を電気的に接続するローカルバス240を備える。
【0038】
データレジスタ220は、データ入出力用のレジスタであり、暗号エンジン203の外部の構成との間でデータの入出力を仲介する。状態レジスタ221は、コントローラ201が記録装置100または再生装置300から受信したセキュアコマンドの実行を暗号エンジン203に指示するための実行指示と、暗号エンジン203がセキュアコマンドの処理状態または処理結果などをコントローラ201に通知するためのステータス情報などを保持する。
【0039】
ストレージデバイス200のコントローラ201が、記録装置100または再生装置300のコントローラからセキュアコマンドを受信すると、状態レジスタ221にその命令の実行指示(開始指示)を格納する。たとえば、セキュアコマンドのそれぞれに実行順に番号を付しておき、コントローラ201が受信したセキュアコマンドの番号を状態レジスタ221に格納することで、暗号エンジン203に対してそのコマンドの実行を指示する。制御部222は、状態レジスタ221に新しい実行指示が格納されると、その処理を開始する。
【0040】
制御部222は、コントローラ201から通知された命令の処理状態および処理結果を状態レジスタ221に格納する。処理状態は、たとえば、処理が実行されている状態を示す「Busy」、処理が実行されていない状態を示す「Ready」の2つのステータスで表現することができ、処理結果は、たとえば、処理が正常に終了したことを示す「Normal」、処理が異常終了したことを示す「Error」の2つのステータスで表現することができる。制御部222は、暗号エンジン203によりセキュアコマンドの実行が開始されると、状態レジスタ221の処理状態を「Busy」に変更し、セキュアコマンドの実行が終了すると、状態レジスタ221の処理状態を「Ready」に変更するとともに、その命令の終了理由を処理結果に反映させる。
【0041】
乱数発生部224は、記録装置100または再生装置300との間の暗号通信に一時的に使用されるセッション鍵Ks2またはチャレンジ鍵Ks3を発生する。このとき乱数発生部224は乱数演算を行う。ログメモリ231は、一連の暗号入出力処理におけるトランザクションログを保持する。
【0042】
証明書出力部225は、ストレージデバイス200の証明書を出力する。証明書は、証明書出力部225が保持してもよいし、ストレージデバイス200の所定の記憶領域、たとえば機密データ記憶部205に保持しておき、それを読み出してもよい。証明書は、ストレージデバイス200の公開鍵KPcを含む証明書本体と、証明書本体に付された電子署名とを含む。電子署名は、認証局のルート鍵Kpaにより暗号化される。認証部226は、再生装置300から取得した証明書を認証する。認証部226は、外部から提供された証明書の正当性を認証鍵KPaにより検証する。認証部226は、認証に成功すると、証明書に含まれる再生装置300の公開鍵KPbを取り出してデータレジスタ220に格納し、認証に失敗すると、制御部222へエラー通知を出力する。認証部226は、証明書を認証する際、公開鍵暗号方式の公開鍵で暗号化されたデータを復号する復号演算、および証明書本体に対するハッシュ演算を行う。
【0043】
第1復号部227は、公開鍵暗号方式の公開鍵で暗号化されたデータを復号するための復号演算を行う。具体的には、自身の公開鍵KPcで暗号化されたデータを、自身の秘密鍵Kpcで復号する。第1暗号部228は、公開鍵暗号方式の公開鍵でデータを暗号化するための暗号化演算を行う。具体的には、再生装置300から受け取った再生装置300の公開鍵KPbで、乱数発生部224が発行したチャレンジ鍵Ks3を暗号化する。第2復号部229は、共通鍵暗号方式の鍵で暗号化されたデータを復号するための復号演算を行う。具体的には、乱数発生部224が発行したセッション鍵Ks2またはチャレンジ鍵Ks3で暗号化されたデータを、それぞれセッション鍵Ks2またはチャレンジ鍵Ks3で復号する。第2暗号部230は、共通鍵暗号方式の鍵でデータを暗号化するための暗号化演算を行う。具体的には、記録装置100が発行したチャレンジ鍵Ks1または再生装置300が発行したセッション鍵Ks4で、乱数発生部224が発行されたセッション鍵Ks2またはライセンスデータをそれぞれ暗号化する。
【0044】
図8は、ホスト装置が、ストレージデバイスがセキュアコマンドセットをサポートしているか否かを示す情報、さらに、セキュアコマンドに対応している場合、セキュアコマンドの実行に必要な時間を推定するための情報をストレージデバイスから取得するイニシャル手順を示す。ストレージデバイス200が記録装置100に接続されると、記録装置100のコントローラ101は、ストレージデバイス200にデバイス情報出力命令を発行する(S400)。ストレージデバイス200のコントローラ201は、記録装置100のコントローラ101からデバイス情報出力命令を受信すると(S402)、デバイス情報を出力する(S404)。デバイス情報として、たとえば、ハードディスクの種類、通常データの記録容量、インタフェースの条件、サポートするコマンドセットなどの情報が通知される。コントローラ101は、ストレージデバイス200のデバイス情報を受信すると(S406)、ストレージデバイス200がセキュアコマンドセットをサポートしているか否かを判断し(S408)、サポートしていなければ(S408のN)、セキュアコマンド非対応のハードディスクとして取り扱う。
【0045】
ストレージデバイス200がセキュアコマンドをサポートしていれば(S408のY)、つづいて、コントローラ101は、セキュア情報出力命令を発行する(S410)。コントローラ201は、セキュア情報出力命令を受信すると(S412)、セキュア情報を出力する(S414)。セキュア情報として、ストレージデバイス200がセキュアコマンドを受信したときに、その命令を実行するのに要する時間を推定するための情報、たとえば、セキュアコマンド命令を実行するために用いられる基本処理、すなわち、公開鍵方式暗号化演算、共通鍵方式暗号化演算、公開鍵方式復号演算、共通鍵方式復号演算、ハッシュ演算、乱数発生演算、ログ検索処理、などの個々の基本処理に要する典型的な時間(Typical time)が通知される。典型的な時間とは、たとえば、同一のセキュアコマンドを100回発行すると、そのうち99回はその時間内に終了するといった、例外を除く処理時間を意味する。コントローラ101は、ストレージデバイス200のセキュア情報を受信すると(S416)、受信した情報をもとに各セキュアコマンドを発行したときの待ち時間を決定する(S418)。
【0046】
命令を実行するのに要する時間を推定するための情報として、各基本処理に要する典型的な処理時間に代えて、平均処理時間または最大処理時間を出力するようにしても良いし、これらを組み合わせて出力するようにしてもよい。いずれにしても、コントローラ101は、ストレージデバイス200が出力した基本処理に要する処理時間を取得し、各セキュアコマンドが実行する基本処理に基づいて、各セキュアコマンドに要する時間を推定する。また、基本処理に要する処理時間に代えて、各セキュアコマンドの実行に要する典型的な処理時間、平均処理時間または最大処理時間を出力するようにしても良いし、これらを組み合わせて出力するようにしてもよい。いずれにしても、コントローラ101は、ストレージデバイス200が出力した推定するための情報から、各セキュアコマンドの発行後に次のセキュアコマンドを発行するまでの待ち時間を推定する。図8では、記録装置100がホスト装置として機能する例について説明したが、再生装置300がホスト装置として機能する場合も同様である。
【0047】
図9、図10、および図11は、記録装置100がストレージデバイス200にライセンスデータを記録するまでの手順を示す。まず、記録装置100のコントローラ101は、ストレージデバイス200に対して証明書出力命令を発行する(S102)。コントローラ201は、証明書出力命令を正常に受理すると、暗号エンジン203に証明書の出力を命じる。セキュアコマンドの発行と受理の詳細については図16において詳述する。制御部222は、状態レジスタ221の処理状態を「Busy」に変更し(S300)、証明書出力部225は証明書をデータレジスタ220に格納する(S302)。処理が終了すると、制御部222は状態レジスタ221の処理状態を「Ready」、処理結果を「Normal」に変更する(S304)。コントローラ201は、データレジスタ220から証明書を読み出して記録装置100へ出力する(S106)。
【0048】
コントローラ101は、ストレージデバイス200から証明書を取得すると、それを記録装置100の暗号エンジン103に送る(S108)。暗号エンジン103がストレージデバイス200の証明書を受信すると(S110)、認証部120は、認証鍵KPaで証明書の正当性を認証する(S112)。証明書の正当性が承認されなかった場合は(S112のN)、認証部120はエラー通知をコントローラ101に送信する(S190)。コントローラ101は、エラー通知を受信すると(S192)、処理を異常終了する。証明書が認証された場合は(S112のY)、暗号エンジン103は、乱数発生部122によりチャレンジ鍵Ks1を発生し(S114)、生成したチャレンジ鍵Ks1を暗号部121によりストレージデバイス200の公開鍵KPcで暗号化して暗号化共通鍵E(KPc、Ks1)を生成し、コントローラ101へ送る(S116)。
【0049】
コントローラ101は、暗号化共通鍵E(KPc、Ks1)を受信すると(S118)、ストレージデバイス200に対してチャレンジ鍵入力命令を発行する(S120)。コントローラ201は、チャレンジ鍵入力命令を正常に受理すると、暗号化共通鍵E(KPc、Ks1)の入力要求を記録装置100へ出力する(S122)。コントローラ101は、この入力要求に応じて、暗号化共通鍵E(KPc、Ks1)をストレージデバイス200へ出力する(S124)。コントローラ201は、暗号化共通鍵E(KPc、Ks1)を受理すると(S126)、それをデータレジスタ220に格納し(S128)、受理通知をコントローラ101に返す(S130)。そして、チャレンジ鍵の受理を暗号エンジン203に命じる。
【0050】
制御部222は、状態レジスタ221の処理状態を「Busy」に変更し(S310)、データレジスタ220より暗号化共通鍵(KPc、Ks1)を取り出し、第1復号部227に与える。第1復号部227は、ストレージデバイス200の秘密鍵Kpcで与えられた暗号化共通鍵E(KPc、Ks1)を復号してチャレンジ鍵Ks1を取り出し(S312)、制御部222に出力する(S314)。制御部222は、チャレンジ鍵Ks1を取得すると、状態レジスタ221の処理状態を「Ready」、処理結果を「Normal」に変更する(S316)。
【0051】
一方、コントローラ101は、暗号化共通鍵E(KPc、Ks1)の入力を終了すると、ストレージデバイス200がチャレンジ鍵入力命令の実行に要すると推定される時間待機する(S131)。チャレンジ鍵入力命令で実行される処理は、暗号化共通鍵E(KPc、Ks1)を復号して共通鍵Ks1を取り出し、それを保持する処理であるから、公開鍵方式の復号処理に要する時間だけ待機すればよい。この間は、通常コマンドの発行が可能となり、コントローラ101は必要に応じて通常コマンドを発行する。チャレンジ鍵入力命令の実行に要すると推定される時間が経過すると、コントローラ101は、ストレージデバイス200に対してセッション鍵準備命令を発行する(S132)。後述するように、チャレンジ鍵入力命令の実行が終了していなければ、コントローラ201はセッション鍵準備命令を受理しないが、命令の実行が終了していれば、コントローラ201はセッション鍵準備命令を受理する。
【0052】
コントローラ201は、セッション鍵準備命令を正常に受理すると、ライセンスIDの入力要求を記録装置100へ出力する(S133)。このライセンスIDは、図9から図11に示される一連の暗号入出力処理によってストレージデバイス200へ書き込まれるライセンスデータのIDであり、トランザクションログの記録、入力されたライセンスデータの確認のために用いられる。コントローラ101は、この入力要求に応じて、ライセンスIDをストレージデバイス200へ出力する(S134)。コントローラ201は、ライセンスIDを受理すると(S136)、それをデータレジスタ220に格納し(S138)、受理通知をコントローラ101に返す(S140)。
【0053】
制御部222は、状態レジスタ221の処理状態を「Busy」に変更する(S320)。乱数発生部224は、セッション鍵Ks2を発生し、制御部222に出力する(S322)。そして、制御部222は、ログメモリ231にトランザクションログとしてライセンスID、生成したセッション鍵Ks2およびステータス情報としてRP(Receive Prepare/受信準備)を記録し(S326)、セッション鍵Ks2およびチャレンジ鍵Ks1を第2暗号部230に与える。第2暗号部230は、セッション鍵Ks2をチャレンジ鍵Ks1で暗号化して暗号化鍵E(Ks1、Ks2)を生成し、データレジスタ220に格納する(S328)。処理が終了すると、制御部222は状態レジスタ221の処理状態を「Ready」、処理結果を「Normal」に変更する(S329)。
【0054】
一方、コントローラ101は、セッション鍵準備命令の受理通知を受け取ると、ストレージデバイス200がセッション鍵準備命令の実行に要すると推定される時間待機する(S141)。セッション鍵準備命令で実行される処理は、セッション鍵Ks2を発生し、Ks1でKs2暗号化する処理であるから、乱数発生処理と共通鍵方式の暗号化処理に要する時間だけ待機すればよい。セッション鍵準備命令の実行に要すると推定される時間が経過すると、コントローラ101はストレージデバイス200に対してセッション鍵出力命令を発行し、コントローラ201はセッション鍵出力命令を受理する(S142)。後述するように、セッション鍵準備命令の実行が終了していなければ、セッション鍵出力命令は受理されないが、命令の実行が終了していれば、受理される。命令を受理すると、コントローラ201は、暗号化鍵E(Ks1、Ks2)をデータレジスタ220から読み出してコントローラ101へ出力する(S146)。
【0055】
コントローラ101は、ストレージデバイス200から暗号化鍵E(Ks1、Ks2)を受信すると、それを暗号エンジン103に送る(S148)。暗号エンジン103がコントローラ101から暗号化鍵E(Ks1、Ks2)を受信すると(S150)、復号部123は、チャレンジ鍵Ks1で暗号化鍵E(Ks1、Ks2)を復号してセッション鍵Ks2を取り出す(S152)。つづいて、暗号エンジン103は、第2暗号部124により、暗号器104が発行したコンテンツのコンテンツ鍵とライセンスIDを含むライセンスデータをストレージデバイス200が発行したセッション鍵Ks2で暗号化して暗号化ライセンスデータを生成し、コントローラ101に送る(S154)。
【0056】
コントローラ101は、暗号化ライセンスデータを受信すると(S156)、ストレージデバイス200に対してライセンスデータ入力命令を発行する(S158)。ライセンス入力命令はストレージデバイス200に対してライセンスデータを書き込むアドレスの指定を伴っている。コントローラ201がライセンスデータ入力命令を正常に受理すると、コントローラ201は、暗号ライセンスデータの入力要求を記録装置100へ出力する(S160)。コントローラ101は、データの入力要求に応え、暗号化ライセンスデータをストレージデバイス200へ出力する(S162)。コントローラ201は、暗号化ライセンスデータを受理すると(S164)、それをデータレジスタ220に格納する(S166)。そして、データの受理通知を記録装置100へ出力し、同時に、ライセンスデータを受理するように暗号エンジン203へ命じる(S167)。
【0057】
制御部222は、状態レジスタ221の処理状態を「Busy」に変更し(S330)、データレジスタ220から暗号化ライセンスデータを取得して、セッション鍵Ks2と共に第2復号部229へ与える。第2復号部229は、セッション鍵Ks2で暗号化ライセンスデータを復号し、ライセンスデータを取り出し、取り出したライセンスデータを制御部222に提供する(S332)。制御部222は、ライセンスデータを受け取ると、ライセンスデータ内のライセンスIDとトランザクションログ内のライセンスIDとの比較を行う(S334)。2つのライセンスIDが異なった場合(S334のN)、制御部222は、状態レジスタ221の処理状態を「Ready」、処理結果を「Error」に変更する(S336)。
【0058】
2つのライセンスIDが一致した場合(S334のY)、制御部222は、トランザクションログに指定アドレスを記録し、トランザクションログ内のステータス情報をRPからRL(Receive License/ライセンス受理)へ変更する(S338)。そして、ライセンスデータを機密データ記憶部205の指定アドレスに記憶する格納処理を行う(S340)。データの記憶が何らかの理由で正常に終了しないとライセンスデータが失われるので、格納処理が正常に終了したか否かの確認を行う(S342)。データが記録されずに格納処理が終了した場合(S342のN)、制御部222は、状態レジスタ221の処理状態を「Ready」、処理結果を「Error」に変更する(S344)。データが正常に記憶されている場合(S342のY)、ログメモリ231のトランザクションログ内のステータス情報をRLからRC(Receive Completed/受信完了)へ変更する(S346)。トランザクションログの変更が終了すると、制御部222は、状態レジスタ221の処理状態を「Ready」、処理結果を「Normal」に変更する(S348)。
【0059】
一方、コントローラ101は、データの受理通知を受信すると、ストレージデバイス200がライセンスデータ入力命令の実行に要すると推定される時間待機する(S168)。ライセンスデータ入力命令で実行される処理は、暗号化ライセンスデータをセッション鍵Ks2で復号する処理と、入力したライセンスデータを機密データ記憶部205に記録する処理であるから、共通鍵方式の復号処理に要する時間と記録に要する時間を加算した時間だけ待機すればよい。ライセンスデータ入力命令の実行に要すると推定される時間が経過すると、コントローラ101はストレージデバイス200に対してライセンスデータの記憶を確認するために終了確認命令を発行し、ライセンスデータ入力命令の実行が終了していれば、コントローラ201は終了確認命令を受理する(S170)。制御部222は、状態レジスタ221の処理結果を参照して、先の命令、すなわちライセンスデータ入力命令の処理結果をコントローラ101に返す(S172)。コントローラ101は、コントローラ201からライセンス入力命令の処理結果を受信すると(S174)、受信した処理結果を参照してライセンス入力命令が正常終了したか否かを確認する(S176)。ライセンスデータがストレージデバイス200に記憶された場合は(S176のY)、コントローラ101は処理を正常に終了する。一方、記憶に失敗した場合は(S176のN)、コントローラ101は処理を異常終了する。このとき、コントローラ101は、ライセンスデータの記録を再度試みることとなる。
【0060】
以上の手順により、コンテンツを復号するためのライセンスデータがストレージデバイス200に記録される。暗号化コンテンツは、通常データであるため通常コマンドによって直接ストレージデバイス200の通常コマンドによって書き込まれるため、ここでは説明を省略する。
【0061】
図12は、電源投入後、ストレージデバイス200にライセンスデータを記憶するまでのATAインタフェース上の一連の手順を示すシーケンス図である。図8に示したイニシャル手順と、図9から図11に示した記録装置100がストレージデバイス200にライセンスデータを記録するまでの手順が、正常に処理が推移した場合の例である。
【0062】
「Host ATA−IF」は、記録装置100のストレージインタフェース102に、「Storage ATA−IF」は、ストレージデバイス200のストレージインタフェース202に相当する。2つのATA−IFに挟まれた中央部分には、セキュアコマンドが記載されている。コマンド名の後ろに記載されている(W)、(R)、(S)はコマンドの特性を示すもので、(W)はデータ列の入力を伴うコマンド、すなわち、命令受理後ストレージデバイス200からデータ要求があるコマンドであることを示し、(R)は、逆にデータ列の出力を伴うコマンド、(S)は、データ列の入出力を伴わないコマンドであることを示す。
【0063】
また、コマンド「IDENTIFY_DEVICE」、「GET_SECURITY_FEATURE」、「GET_CERTIFICATE」、「PUT_CHALLENGE_KEY」、「CREATE_SESSION_KEY」、「GET_SESSION_KEY」、「PUT_LICENSE」、「GET_COMPLETION_STATUS」は、それぞれデバイス情報出力命令、セキュア情報出力命令、証明書出力命令、チャレンジ鍵入力命令、セッション鍵準備命令、チャレンジ鍵出力命令、ライセンス入力命令、終了確認命令に相当する。また、11は、S110、S112、S114、S116の処理、12は、S150、S152、S154の処理および記録装置100におけるログ記録処理、21は、S128、S312の処理、22は、S138、S322、S326、S328の処理、23は、S172、S332、S334、S338、S340、S346の処理に対応し、図12では、内部の詳細な処理は示されていない。
【0064】
このシーケンスは、ストレージデバイス200の情報を取得する「Initialization STEP(イニシャル手順)」、チャレンジ鍵Ks1をストレージデバイス200が取得するまでの「Authentication STEP」、およびライセンスを転送して書き込むまでの「Transmission STEP」に区分される。「Transmission STEP」終了後、「Transmission STEP」の先頭へ戻る矢印は、ライセンスデータを続けてストレージデバイス200に記憶する場合、「Initialization STEP」および「Authentication STEP」を共有しても良いことを示す。「Initialization STEP」および「Authentication STEP」を省略することによりライセンスデータに対する安全性が低下することはない。また、「Transmission STEP」終了後、「Authentication STEP」の先頭へ戻る矢印は、すべての手順において「Initialization STEP」を共通して良いことを示す。
【0065】
図13、図14、および図15は、再生装置300がストレージデバイス200からライセンスデータを読み出すまでの手順を示す。まず、再生装置300の暗号エンジン303は、証明書出力部320により、証明書をコントローラ301へ送る(S202)。コントローラ301は、暗号エンジン303から証明書を受信すると(S204)、ストレージデバイス200に対して証明書入力命令を発行する(S206)。コントローラ201は、証明書入力命令を正常に受理すると、証明書の入力要求をコントローラ301に出力する(S208)。コントローラ301は、この入力要求に応じて、コントローラ201に証明書を出力する(S210)。コントローラ201は、証明書を受理すると(S212)、それをデータレジスタ220に格納し(S213)、受理通知をコントローラ301に返す(S214)。
【0066】
制御部222は、状態レジスタ221の処理状態を「Busy」に変更し(S400)、認証部226は、認証鍵KPaで証明書の正当性を検証する(S402)。証明書の正当性が承認されなかった場合は(S402のN)、認証部402はエラー通知を出力し(S408)、コントローラ201は、そのエラー通知をコントローラ301に出力する(S290)。コントローラ301は、エラー通知を受信すると(S292)、処理を異常終了する。証明書の正当性が承認された場合は(S402のY)、認証部226は、証明書から取り出された公開鍵KPbをデータレジスタ220に格納し(S404)、制御部222は、状態レジスタ221の処理状態を「Ready」に、処理結果を「Normal」に変更する(S406)。
【0067】
一方、コントローラ301は、証明書の受理通知を受け取ると、ストレージデバイス200が証明書入力命令の実行に要すると推定される時間待機する(S216)。証明書入力命令の実行に要すると推定される時間が経過すると、コントローラ301は、ストレージデバイス200に対してチャレンジ鍵準備命令を発行する(S218)。コントローラ201がチャレンジ鍵準備命令を受理すると、チャレンジ鍵準備命令の受理通知をコントローラ301に返す(S220)。制御部222は、状態レジスタ221の処理状態を「Busy」に変更し(S410)、乱数発生部224は、チャレンジ鍵Ks3を発生し(S412)、第1暗号部228は、公開鍵KPbでチャレンジ鍵Ks3を暗号化して暗号化鍵E(KPb、Ks3)を生成し、データレジスタ220に一時格納する(S414)。処理が終了すると、制御部222は、状態レジスタ221の処理状態を「Ready」に、処理結果を「Normal」に変更する(S416)。
【0068】
一方、コントローラ301は、チャレンジ鍵準備命令の受理通知を受け取ると、ストレージデバイス200がチャレンジ鍵準備命令の実行に要すると推定される時間待機する(S222)。チャレンジ鍵準備命令の実行に要すると推定される時間が経過すると、コントローラ301は、ストレージデバイス200に対してチャレンジ鍵出力命令を発行する(S224)。コントローラ201は、チャレンジ鍵出力命令を受理すると、暗号化鍵E(KPb、Ks3)をデータレジスタ220から読み出してコントローラ301に送信する(S226)。
【0069】
コントローラ301は、暗号化共通鍵E(KPb、Ks3)を受信すると、それを暗号エンジン303に送る(S228)。暗号エンジン303が暗号化共通鍵E(KPb、Ks3)を受信すると(S230)、第1復号部321は、暗号化共通鍵E(KPb、Ks3)を自身の秘密鍵Kpbで復号してチャレンジ鍵Ks3を取り出す(S232)。つづいて、暗号エンジン303は、乱数発生部323によりセッション鍵Ks4を発生し(S234)、暗号部322によりチャレンジ鍵Ks3でセッション鍵Ks4を暗号化して暗号化共通鍵E(Ks3、Ks4)を生成し、コントローラ301へ送る(S236)。コントローラ301は、暗号化共通鍵E(Ks3、Ks4)を受信すると(S238)、ストレージデバイス200に対してセッション鍵入力命令を発行する(S239)。
【0070】
コントローラ201は、セッション鍵入力命令を正常に受理すると、暗号化鍵E(Ks3、Ks4)の入力要求をコントローラ301に出力する(S240)。コントローラ301は、この入力要求に応じて、コントローラ201に暗号化鍵E(Ks3、Ks4)を出力する(S242)。コントローラ201は、暗号化鍵を受理すると(S244)、それをデータレジスタ220に格納し(S246)、受理通知をコントローラ301に返す(S248)。制御部222は、状態レジスタ221の処理状態を「Busy」に変更し(S420)、データレジスタ220からチャレンジ鍵Ks3を読み出し、第2復号部229に受信した暗号化共通鍵E(Ks3、Ks4)とチャレンジ鍵Ks3を与える。第2復号部229は、チャレンジ鍵Ks3で暗号化共通鍵E(Ks3、Ks4)を復号してセッション鍵Ks4を取り出し(S422)、データレジスタ220にセッション鍵Ks4を格納する(S424)。制御部222は、処理が終了すると、状態レジスタ221の処理状態を「Ready」に、処理結果を「Normal」に変更する(S426)。
【0071】
コントローラ301は、セッション鍵入力命令の受理通知を受け取ると、ストレージデバイス200がセッション鍵入力命令の実行に要すると推定される時間待機する(S250)。セッション鍵入力命令の実行に要すると推定される時間が経過すると、コントローラ301は、ストレージデバイス200に対してライセンス読出命令を発行する(S252)。このとき、読み出すべきライセンスデータのアドレスが指定される。コントローラ201は、ライセンス読出命令を正常に受理すると、ライセンス読出命令の受理通知をコントローラ301に返す(S254)。制御部222は、状態レジスタ221の処理状態を「Busy」に変更し(S430)、機密データ記憶部205の指定されたアドレスからライセンスデータを読み出し、データレジスタ220に保持する(S432)。制御部222は、処理が終了すると、状態レジスタ221の処理状態を「Ready」に、処理結果を「Normal」に変更する(S434)。
【0072】
コントローラ301は、ライセンス読出命令の受理通知を受け取ると、ストレージデバイス200がライセンス読出命令の実行に要すると推定される時間待機する(S256)。ライセンス読出命令の実行に要すると推定される時間が経過すると、コントローラ301は、ストレージデバイス200に対してライセンス準備命令を発行する(S258)。コントローラ201は、ライセンス準備命令を正常に受理すると、ライセンス準備命令の受理通知をコントローラ301に返す(S260)。制御部222は、状態レジスタ221の処理状態を「Busy」に変更し(S440)、第2暗号部230は、ライセンスデータをセッション鍵Ks4で暗号化してデータレジスタ220に保持する(S442)。制御部222は、処理が終了すると、状態レジスタ221の処理状態を「Ready」に、処理結果を「Normal」に変更する(S444)。
【0073】
コントローラ301は、ライセンス準備命令の受理通知を受け取ると、ストレージデバイス200がライセンス準備命令の実行に要すると推定される時間待機する(S262)。ライセンス準備命令の実行に要すると推定される時間が経過すると、コントローラ301は、ストレージデバイス200に対してライセンス出力命令を発行する(S264)。コントローラ201は、ライセンス出力命令を正常に受理すると、暗号化ライセンスデータをデータレジスタ220から読み出してコントローラ301に出力する(S266)。コントローラ301は、暗号化ライセンスデータを取得すると、それを暗号エンジン303に送る(S268)。暗号エンジン303が暗号化ライセンスデータを受信すると(S270)、第2復号部324は、セッション鍵Ks4で暗号化ライセンスデータを復号する(S272)。得られたライセンスデータは、復号器304に送られ、復号器304がコンテンツを復号するのに用いられる。以上の手順により、コンテンツを復号するためのライセンスデータが再生装置300により読み出される。
【0074】
上述した一連の暗号エンジン203のセキュアコマンドに対する処理において。処理結果として「Normal」を返す場合のみを説明したが、セキュアコマンドに対する処理において何らかの問題が発生し、処理が正常に終了しなかった場合には、制御部222は、状態レジスタ221の処理状態を「Ready」、処理結果を「Error」に変更する。さらに、暗号入出力処理の途中で、何らかのエラーが発生して処理が中断されたときに、その暗号入出力処理における手順を復元するための手段としてトランザクションログを記録している。トランザクションログを参照して、処理がどの手順まで進行していたかを確認し、エラーが発生した手順から再度実行してもよい。このときのトランザクションログの入出力も、セキュア機能を利用して行われる。そのため、トランザクションログの入出力に伴って発行される命令も、「セキュアコマンド」に該当する。ログメモリ125または231から必要なトランザクションログを検索する処理には比較的時間を要するため、記録装置100がストレージデバイス200にトランザクションログの出力命令を発行したとき、ストレージデバイス200がログメモリ231からトランザクションログを検索するのに要する時間を考慮して、待ち時間を設定するのが好ましい。
【0075】
図16は、記録装置100がストレージデバイス200にセキュアコマンドを発行し、ストレージデバイス200が受理する様子を示す。図9から図11におけるS102、S120、S132、S142、S158、S170、および図12から図15におけるS206、S218、S224、S239、S252、S258、S264がセキュアコマンドの発行と受理を行う処理である。記録装置100のコントローラ101は、ストレージデバイス200にセキュアコマンドを発行した後、ストレージデバイス200がそのセキュアコマンドを実行するのに要すると推定される時間待機してから、次のセキュアコマンドを発行する(S500)。ストレージデバイス200のコントローラ201は、記録装置100からセキュアコマンドを受信すると(S502)、受信したセキュアコマンドが正規の発行手順で発行されているか否か確認する(S504)。正規の発行手順に従わない場合には(S504のN)、命令を受理することができないため処理を終了するためにS516へ進む。正規の発行手順に従っているの場合には(S504のY)、状態レジスタ221を参照して、その処理系の直前の命令がまだ実行中か否かを確認する(S506)。状態レジスタ221の処理状態が「Busy」であれば、直前の命令を実行中であるから、記録装置100へ処理中である旨を通知する(S508)。コントローラ101は、ストレージデバイス200から処理中である旨の通知を受信すると(S510)、さらに所定の時間待機した後(S512)、再度S500に戻り、セキュアコマンドを発行する。
【0076】
S504において、状態レジスタ221の処理状態が「Ready」であれば、直前の命令の実行が終了したので、直前の命令の処理結果を確認するために状態レジスタの処理結果を参照する(S514)。状態レジスタの処理結果が「Normal」であれば(S514の「Normal」)、直前の命令の実行が正常に終了したので受信したセキュアコマンドを受理して次の処理へ移る。一方、状態レジスタ221の処理結果が「Error」であれば(S514の「Error」)、直前の命令の実行が正常に終了していないので、次の処理へ移ることができないため処理を終了するためにS516へ進む。命令が正規の発行手順を守っていない場合、あるいは、直前の命令が正常に終了しなかった場合、コントローラ201は、記録装置100へエラーの通知をする(S516)。コントローラ101は、ストレージデバイス200からエラーの通知を受信すると(S518)、処理を異常終了する。
【0077】
(第2の実施の形態)
図17は、第2の実施の形態に係るデータ管理システム10の全体構成を示す。本実施の形態では、第1の実施の形態における記録装置100および再生装置300が一つの記録再生装置400として実現されている。
【0078】
図18は、本実施の形態に係る記録再生装置400の内部構成を示す。本実施の形態の記録再生装置400は、図2に示した第1の実施の形態の記録装置100の構成と、図3に示した第1の実施の形態の再生装置300の構成の双方を備えており、同様の構成には同じ符号を付している。第1暗号エンジン103は、第1の実施の形態における記録装置100の暗号エンジン103に対応し、第2暗号エンジン303は、第1の実施の形態における再生装置300の暗号エンジン303に対応する。第1暗号エンジン103の内部構成は、図5に示した第1の実施の形態の暗号エンジン103と同様であり、第2暗号エンジン303の内部構成は、図6に示した第1の実施の形態の暗号エンジン303の内部構成と同様である。コントローラ401は、第1の実施の形態における記録装置100のコントローラ101と再生装置300のコントローラ301の双方の機能を有する。ストレージインタフェース402は、ストレージデバイス200とのデータの入出力を制御し、データバス410は、記録再生装置400の構成を電気的に接続する。
【0079】
本実施の形態の記録再生装置400の動作も、第1の実施の形態と同様であり、第1の実施の形態で説明した動作において、記録装置100を記録再生装置400に、暗号エンジン103を第1暗号エンジン103に、コントローラ101をコントローラ401に、再生装置300を記録再生装置400に、暗号エンジン303を第2暗号エンジン303に、コントローラ301をコントローラ401にそれぞれ置き換えたものと同様である。
【0080】
(第3の実施の形態)
図19は、第3の実施の形態に係る記録装置100の内部構成を示す。本実施の形態では、第1の実施の形態における記録装置100が、コンテンツを配信する配信サーバ150とコンテンツの提供を受ける端末装置160として実現されている。配信サーバ150は、暗号エンジン103、通信装置152、コンテンツデータベース153、ライセンスデータベース154、ユーザデータベース155、それらを制御するコントローラ151、およびそれらを電気的に接続するデータバス156を備える。端末装置160は、コントローラ101、ストレージインタフェース102、通信装置162、およびそれらを電気的に接続するデータバス166を備える。配信サーバ150と端末装置160は、それぞれ通信装置152および162を介して、ネットワークの一例としてのインターネット20により接続される。配信サーバ150の暗号エンジン103は、第1の実施の形態の暗号エンジン103と同様の機能を有し、端末装置160のコントローラ101およびストレージインタフェース102は、それぞれ第1の実施の形態のコントローラ101およびストレージインタフェース102と同様の機能を有する。
【0081】
コンテンツデータベース153は、ユーザに提供するコンテンツを保持する。ライセンスデータベース154は、コンテンツを暗号化するのに用いられるコンテンツ鍵を含むライセンスデータを保持する。本実施の形態では、コンテンツは既にコンテンツ鍵により暗号化されてコンテンツデータベース153に格納されているが、コンテンツデータベース153に暗号化される前のコンテンツデータを格納しておき、配信サーバ150に第1の実施の形態におけるコンテンツエンコーダ105および暗号器104をさらに設け、コンテンツデータベース153からコンテンツを読み出してエンコードし、暗号化してもよい。ユーザデータベース155は、コンテンツを提供するユーザの情報を保持する。たとえば、ユーザの個人情報、端末装置160のアドレス、コンテンツの購入履歴、課金情報などを保持してもよい。コントローラ151は、ユーザからの要求に応じて暗号化されたコンテンツをコンテンツデータベース153から読み出してユーザに提供する。そして、暗号エンジン103によりそのコンテンツを復号するためのライセンスデータがユーザに提供されると、そのコンテンツの対価を課金すべくユーザデータベース155を更新する。
【0082】
本実施の形態の暗号入出力処理の手順は、第1の実施の形態と同様である。本実施の形態では、暗号エンジン103とコントローラ101との間の通信がインターネット20を介して行われるので、同一装置内で通信が行われる第1の実施の形態に比べてよりデータの漏洩の危険性が増すが、図9から図15で説明したように、暗号エンジン103とコントローラ101との間でも必ずデータを暗号化して送受信を行うので、高い耐タンパ性を実現することができる。
【0083】
(第4の実施の形態)
図20は、第4の実施の形態に係る端末装置160の内部構成を示す。本実施の形態は、第3の実施の形態における端末装置160が、一方のストレージデバイス200からライセンスデータを読み出し、他方のストレージデバイス200へ転送する例を示す。すなわち、端末装置160は、一方のストレージデバイス200には再生装置300として、他方のストレージデバイス200には記録装置100として機能する。それぞれの場合の動作については、第1の実施の形態と同様である。
【0084】
以上、本発明を実施の形態をもとに説明した。この実施の形態は例示であり、それらの各構成要素や各処理プロセスの組合せにいろいろな変形例が可能なこと、またそうした変形例も本発明の範囲にあることは当業者に理解されるところである。
【0085】
実施の形態では、暗号エンジン内において暗号化や復号を行う機能ブロックを別に示したが、それらの構成要素において回路を共有してもよい。これにより、ハードウェア規模を抑え、小型化、低消費電力化に寄与することができる。
【0086】
【発明の効果】
本発明によれば、記録装置とホスト装置との間で秘匿すべきデータを暗号化して入出力するときの処理効率を向上させることができる。
【図面の簡単な説明】
【図1】第1の実施の形態に係るデータ管理システムの全体構成を示す図である。
【図2】第1の実施の形態に係る記録装置の内部構成を示す図である。
【図3】第1の実施の形態に係る再生装置の内部構成を示す図である。
【図4】第1の実施の形態に係るストレージデバイスの内部構成を示す図である。
【図5】図2に示した記録装置の暗号エンジンの内部構成を示す図である。
【図6】図3に示した再生装置の暗号エンジンの内部構成を示す図である。
【図7】図4に示したストレージデバイスの暗号エンジンの内部構成を示す図である。
【図8】ホスト装置が、ストレージデバイスにおける命令の実行に必要な時間を推定するための情報をストレージデバイスから取得する手順を示す図である。
【図9】記録装置がストレージデバイスにライセンスデータを記録するまでの手順を示す図である。
【図10】記録装置がストレージデバイスにライセンスデータを記録するまでの手順を示す図である。
【図11】記録装置がストレージデバイスにライセンスデータを記録するまでの手順を示す図である。
【図12】記録装置がストレージデバイスにライセンスデータを記録するまでのATAインタフェース上の手順を示す図である。
【図13】再生装置がストレージデバイスからライセンスデータを読み出すまでの手順を示す図である。
【図14】再生装置がストレージデバイスからライセンスデータを読み出すまでの手順を示す図である。
【図15】再生装置がストレージデバイスからライセンスデータを読み出すまでの手順を示す図である。
【図16】記録装置がストレージデバイスにセキュアコマンドを発行する様子を示す図である。
【図17】第2の実施の形態に係るデータ管理システムの全体構成を示す図である。
【図18】第2の実施の形態に係る記録再生装置の内部構成を示す図である。
【図19】第3の実施の形態に係る記録装置の内部構成を示す図である。
【図20】第4の実施の形態に係る端末装置の内部構成を示す図である。
【符号の説明】
10・・・データ管理システム、100・・・記録装置、101・・・コントローラ、102・・・ストレージインタフェース、103・・・暗号エンジン、104・・・暗号器、105・・・コンテンツエンコーダ、110・・・データバス、120・・・認証部、121・・・第1暗号部、122・・・乱数発生部、123・・・復号部、124・・・第2暗号部、125・・・ログメモリ、130・・・ローカルバス、150・・・配信サーバ、151・・・コントローラ、152・・・通信装置、153・・・コンテンツデータベース、154・・・ライセンスデータベース、155・・・ユーザデータベース、156・・・データバス、160・・・端末装置、162・・・通信装置、166・・・データバス、200・・・ストレージデバイス、201・・・コントローラ、202・・・ストレージインタフェース、203・・・暗号エンジン、204・・・通常データ記憶部、205・・・機密データ記憶部、210・・・データバス、220・・・データレジスタ、221・・・状態レジスタ、222・・・制御部、224・・・乱数発生部、225・・・証明書出力部、226・・・認証部、227・・・第1復号部、228・・・第1暗号部、229・・・第2復号部、230・・・第2暗号部、231・・・ログメモリ、240・・・ローカルバス、300・・・再生装置、301・・・コントローラ、302・・・ストレージインタフェース、303・・・暗号エンジン、304・・・復号器、305・・・コンテンツデコーダ、310・・・データバス、320・・・証明書出力部、321・・・第1復号部、322・・・暗号部、323・・・乱数発生部、324・・・第2復号部、330・・・ローカルバス、400・・・記録再生装置、401・・・コントローラ、402・・・ストレージインタフェース、410・・・データバス。
Claims (8)
- データを保持する記憶装置との間でデータを入出力するホスト装置であって、
秘匿すべきデータを暗号化して入出力するための一連の暗号入出力処理を複数の手順に分割し、該手順のうち前記記憶装置側で実行すべき手順を前記記憶装置に実行させるための命令を前記記憶装置に対して発行するコントローラを備え、
前記コントローラは、前記命令を発行する前に前記記憶装置から前記命令の実行に要する時間を推定するための情報を取得し、前記命令を前記記憶装置に対して発行した後、前記記憶装置が前記命令の実行に必要と推定される時間待機してから、その次の手順の命令を前記記憶装置に発行することを特徴とするホスト装置。 - 前記推定するための情報は、前記命令を実行するのに要する典型的な処理時間、平均処理時間、または最大処理時間を含むことを特徴とする請求項1に記載のホスト装置。
- 前記推定するための情報は、前記命令を実行するために用いられる、暗号化演算、復号演算、ハッシュ演算、乱数発生演算、およびログ検索のうち少なくとも1つの基本処理に要する典型的な処理時間、平均処理時間、または最大処理時間を含むことを特徴とする請求項1に記載のホスト装置。
- データを保持する記憶媒体と、
前記記憶媒体とホスト装置との間で秘匿すべきデータを暗号化して入出力するための一連の暗号入出力処理を行う際に、その暗号入出力処理を複数の手順に分割して発行された命令を前記ホスト装置から受信するコントローラと、
前記命令を実行する暗号処理部と、を備え、
前記コントローラは、前記ホスト装置からの要求に応じて、前記暗号処理部が前記命令の実行に要する時間を前記ホスト装置が推定するための情報を提供することを特徴とする記憶装置。 - 前記暗号入出力処理は、該処理の手順に沿って、
前記ホスト装置からデータの入力を受け、必要に応じて前記暗号処理部にて暗号化または復号を行う処理、
前記ホスト装置へデータを出力するために、前記暗号処理部にて暗号化、復号、または署名を行う処理、
前記ホスト装置へデータを出力する処理、
のいずれかの処理単位に分割され、
前記命令は、分割された処理単位ごとに発行されることを特徴とする請求項4に記載の記憶装置。 - 前記推定するための情報は、前記命令を実行するのに要する典型的な処理時間、平均処理時間、または最大処理時間を含むことを特徴とする請求項4または5に記載の記憶装置。
- 前記推定するための情報は、前記命令を実行するために用いられる、暗号化演算、復号演算、ハッシュ演算、乱数発生演算、およびログ検索のうち少なくとも1つの基本処理に要する典型的な処理時間、平均処理時間、または最大処理時間を含むことを特徴とする請求項4または5に記載の記憶装置。
- データを保持する記憶装置とホスト装置との間で、秘匿すべきデータを暗号化して入出力するための一連の暗号入出力処理を実行するためのデータ入出力方法であって、
前記暗号入出力処理を複数の手順に分割し、該手順のうち前記ホスト装置側で実行すべき手順を前記ホスト装置が実行するステップと、
前記記憶装置側で実行すべき手順を前記記憶装置に実行させるために、前記ホスト装置が前記記憶装置に対して命令を発行するステップと、
前記記憶装置が前記命令を受信するステップと、
前記記憶装置が前記命令を実行するステップと、を含み、
前記ホスト装置は、前記命令を発行する前に、前記記憶装置から該記憶装置が前記命令の実行に要する時間を推定するための情報を取得し、前記命令を前記記憶装置に対して発行した後、前記命令の実行に必要と推定される時間待機してから、その次の手順の命令を発行することを特徴とするデータ入出力方法。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003089388A JP4792196B2 (ja) | 2003-03-27 | 2003-03-27 | データ入出力方法、およびその方法を利用可能な記憶装置およびホスト装置 |
US10/809,789 US7783895B2 (en) | 2003-03-27 | 2004-03-26 | Method and apparatus for encrypting data to be secured and inputting/outputting the same |
KR1020040020698A KR100620921B1 (ko) | 2003-03-27 | 2004-03-26 | 은닉해야 할 데이터를 암호화하여 입출력하는 방법 및 장치 |
CNB2004100314838A CN1303514C (zh) | 2003-03-27 | 2004-03-29 | 把应该隐藏的数据加密,输入输出的方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003089388A JP4792196B2 (ja) | 2003-03-27 | 2003-03-27 | データ入出力方法、およびその方法を利用可能な記憶装置およびホスト装置 |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2004295692A true JP2004295692A (ja) | 2004-10-21 |
JP2004295692A5 JP2004295692A5 (ja) | 2006-04-20 |
JP4792196B2 JP4792196B2 (ja) | 2011-10-12 |
Family
ID=33403243
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003089388A Expired - Fee Related JP4792196B2 (ja) | 2003-03-27 | 2003-03-27 | データ入出力方法、およびその方法を利用可能な記憶装置およびホスト装置 |
Country Status (4)
Country | Link |
---|---|
US (1) | US7783895B2 (ja) |
JP (1) | JP4792196B2 (ja) |
KR (1) | KR100620921B1 (ja) |
CN (1) | CN1303514C (ja) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006157887A (ja) * | 2004-10-28 | 2006-06-15 | Sanyo Electric Co Ltd | コンテンツ利用情報提供装置およびコンテンツ利用情報送信方法 |
KR100620921B1 (ko) | 2003-03-27 | 2006-09-13 | 산요덴키가부시키가이샤 | 은닉해야 할 데이터를 암호화하여 입출력하는 방법 및 장치 |
JP2007039876A (ja) * | 2005-07-29 | 2007-02-15 | Koyo Electronics Ind Co Ltd | シャッタ制御システム |
JP2007095204A (ja) * | 2005-09-29 | 2007-04-12 | Hitachi Global Storage Technologies Netherlands Bv | 磁気ディスク装置及び情報記録システム |
JP2007102633A (ja) * | 2005-10-06 | 2007-04-19 | Hitachi Ltd | 計算機システム、管理計算機及び管理計算機のボリューム割当変更方法 |
JP2010186284A (ja) * | 2009-02-12 | 2010-08-26 | Hitachi Ltd | ファイル入出力方法 |
US8064596B2 (en) | 2005-06-01 | 2011-11-22 | Sony Corportion | Stream control device, stream encryption/decryption device, and stream encryption/decryption method |
Families Citing this family (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4891521B2 (ja) * | 2003-03-28 | 2012-03-07 | 三洋電機株式会社 | データ入出力方法、およびその方法を利用可能な記憶装置およびホスト装置 |
KR101254209B1 (ko) * | 2004-03-22 | 2013-04-23 | 삼성전자주식회사 | 디바이스와 휴대용 저장장치간에 권리 객체를 이동,복사하는 방법 및 장치 |
KR101043336B1 (ko) * | 2004-03-29 | 2011-06-22 | 삼성전자주식회사 | 디바이스와 휴대형 저장장치간의 디지털 권리객체에 관한정보의 획득 및 제거를 위한 방법 및 장치 |
US8775823B2 (en) | 2006-12-29 | 2014-07-08 | Commvault Systems, Inc. | System and method for encrypting secondary copies of data |
US7631198B2 (en) * | 2005-05-10 | 2009-12-08 | Seagate Technology | Protocol scripting language for safe execution in embedded system |
JP2007004522A (ja) * | 2005-06-24 | 2007-01-11 | Renesas Technology Corp | 記憶装置 |
US20090049556A1 (en) * | 2006-02-22 | 2009-02-19 | Koninklijke Philips Electronics N.V. | Method for redistributing drm protected content |
US9286493B2 (en) * | 2009-01-07 | 2016-03-15 | Clevx, Llc | Encryption bridge system and method of operation thereof |
CN102214282A (zh) * | 2011-05-27 | 2011-10-12 | 苏州海客科技有限公司 | 一种适合于便携式系统中多媒体数据文件的保护方法 |
US11232093B2 (en) | 2012-03-02 | 2022-01-25 | Pure Storage, Inc. | Slice migration in a dispersed storage network |
US10402393B2 (en) * | 2012-03-02 | 2019-09-03 | Pure Storage, Inc. | Slice migration in a dispersed storage network |
US8909929B2 (en) * | 2012-05-31 | 2014-12-09 | Atmel Corporation | Stored public key validity registers for cryptographic devices and systems |
US20140281518A1 (en) | 2013-03-12 | 2014-09-18 | Commvault Systems, Inc. | Multi-tier file restoration |
US9405928B2 (en) | 2014-09-17 | 2016-08-02 | Commvault Systems, Inc. | Deriving encryption rules based on file content |
US20230205935A1 (en) * | 2021-12-28 | 2023-06-29 | Ati Technologies Ulc | Software assisted acceleration in cryptographic queue processing |
Family Cites Families (38)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS6295689A (ja) * | 1985-10-22 | 1987-05-02 | Casio Comput Co Ltd | Icカ−ドシステム |
JPH0589000A (ja) | 1991-09-30 | 1993-04-09 | Nippon Telegr & Teleph Corp <Ntt> | 実時間情報転送制御方式 |
JPH05181779A (ja) * | 1992-01-07 | 1993-07-23 | Hitachi Ltd | 外部記憶制御装置 |
JPH05303528A (ja) | 1992-04-27 | 1993-11-16 | Oki Electric Ind Co Ltd | ライトバック式ディスクキャッシュ装置 |
JPH064466A (ja) | 1992-06-20 | 1994-01-14 | Ricoh Co Ltd | 光ディスク装置 |
JPH06274440A (ja) | 1993-03-19 | 1994-09-30 | Fujitsu Ltd | Scsiバス制御におけるsave data point処理方法 |
US6922775B2 (en) * | 1993-12-03 | 2005-07-26 | Fujitsu Limited | User support system for cryptographic communication in network systems |
JP3110602B2 (ja) | 1993-12-29 | 2000-11-20 | キヤノン株式会社 | 画像処理システムおよび伝送方法 |
CA2153445C (en) | 1994-09-08 | 2002-05-21 | Ashok Raj Saxena | Video optimized media streamer user interface |
US6411714B1 (en) * | 1995-09-13 | 2002-06-25 | Hitachi, Ltd. | Data decompression/decryption method and system |
JPH09153008A (ja) | 1995-11-30 | 1997-06-10 | Fujitsu Ltd | バスインタフェース装置及びバス接続方法 |
JPH09258907A (ja) * | 1996-03-25 | 1997-10-03 | Mitsubishi Electric Corp | 複数の記憶ディスク部を有した高可用性の外部記憶装置 |
US5883957A (en) * | 1996-09-20 | 1999-03-16 | Laboratory Technologies Corporation | Methods and apparatus for encrypting and decrypting MIDI files |
JP3516591B2 (ja) | 1997-09-12 | 2004-04-05 | 日立ソフトウエアエンジニアリング株式会社 | データの保存方法およびシステム並びにデータ保存処理用記録媒体 |
JPH11249825A (ja) * | 1998-03-04 | 1999-09-17 | Nec Corp | 共通鍵管理方法およびこれを用いたデータ読み取り装置並びにicカードシステム |
US6519715B1 (en) * | 1998-05-22 | 2003-02-11 | Hitachi, Ltd. | Signal processing apparatus and a data recording and reproducing apparatus including local memory processor |
US6260120B1 (en) * | 1998-06-29 | 2001-07-10 | Emc Corporation | Storage mapping and partitioning among multiple host processors in the presence of login state changes and host controller replacement |
US6438670B1 (en) * | 1998-10-02 | 2002-08-20 | International Business Machines Corporation | Memory controller with programmable delay counter for tuning performance based on timing parameter of controlled memory storage device |
JP2000173158A (ja) | 1998-11-30 | 2000-06-23 | Nec Corp | ハードディスク装置 |
WO2000057290A1 (fr) * | 1999-03-19 | 2000-09-28 | Hitachi, Ltd. | Processeur d'informations |
US7120251B1 (en) * | 1999-08-20 | 2006-10-10 | Matsushita Electric Industrial Co., Ltd. | Data player, digital contents player, playback system, data embedding apparatus, and embedded data detection apparatus |
US7099479B1 (en) * | 1999-08-27 | 2006-08-29 | Sony Corporation | Information transmission system, transmitter, and transmission method as well as information reception system, receiver and reception method |
US6519716B1 (en) * | 1999-09-22 | 2003-02-11 | International Business Machines Corporation | Electronic device initialization with dynamic selection of access time for non-volatile memory |
JP4433532B2 (ja) | 1999-12-03 | 2010-03-17 | ソニー株式会社 | 文書処理装置、文書処理方法、記録媒体 |
US7706531B2 (en) * | 1999-12-28 | 2010-04-27 | Panasonic Corporation | Recording apparatus, reproduction apparatus, data processing apparatus, recording and reproduction apparatus and data transmission apparatus and corresponding methods |
US6834326B1 (en) * | 2000-02-04 | 2004-12-21 | 3Com Corporation | RAID method and device with network protocol between controller and storage devices |
JP2001222380A (ja) | 2000-02-07 | 2001-08-17 | Hitachi Ltd | 外部記憶装置とそれを備えた情報処理システム |
US20030105720A1 (en) * | 2000-03-14 | 2003-06-05 | Yoshihito Ishibashi | Content secondary distribution management system and method, and program providing medium therefor |
JP2002007076A (ja) * | 2000-06-22 | 2002-01-11 | Matsushita Electric Ind Co Ltd | 記録再生装置 |
JP2002124019A (ja) | 2000-10-17 | 2002-04-26 | Nec Corp | ディスク装置用のシーケンシャルデータ送出用適応バッファの制御装置とその制御方法 |
JP4582377B2 (ja) | 2000-12-27 | 2010-11-17 | ソニー株式会社 | 暗号化装置、暗号化方法、暗号復号化装置、暗号復号化方法及び暗号化システム |
JP2002215462A (ja) * | 2001-01-18 | 2002-08-02 | Hitachi Ltd | 計算機システム |
JP2002268550A (ja) | 2001-03-09 | 2002-09-20 | Seiko Instruments Inc | 画像の暗号化方法及び暗号化プログラム並びに暗号化画像ファイルを格納した記録媒体 |
JP2002367236A (ja) | 2001-06-07 | 2002-12-20 | Ekisupaato Magnetics Kk | 光ディスク生産装置 |
KR100724929B1 (ko) * | 2001-10-06 | 2007-06-04 | 삼성전자주식회사 | 부호분할다중접속 이동통신시스템에서 스크램블링 코드생성장치 및 방법 |
JP2003271457A (ja) * | 2002-03-14 | 2003-09-26 | Sanyo Electric Co Ltd | データ記憶装置 |
US6912621B2 (en) * | 2002-04-17 | 2005-06-28 | International Business Machines Corporation | Method and apparatus for updating data in mass storage subsystem using emulated shared memory |
JP4792196B2 (ja) | 2003-03-27 | 2011-10-12 | 三洋電機株式会社 | データ入出力方法、およびその方法を利用可能な記憶装置およびホスト装置 |
-
2003
- 2003-03-27 JP JP2003089388A patent/JP4792196B2/ja not_active Expired - Fee Related
-
2004
- 2004-03-26 KR KR1020040020698A patent/KR100620921B1/ko not_active IP Right Cessation
- 2004-03-26 US US10/809,789 patent/US7783895B2/en not_active Expired - Fee Related
- 2004-03-29 CN CNB2004100314838A patent/CN1303514C/zh not_active Expired - Fee Related
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100620921B1 (ko) | 2003-03-27 | 2006-09-13 | 산요덴키가부시키가이샤 | 은닉해야 할 데이터를 암호화하여 입출력하는 방법 및 장치 |
US7882303B2 (en) | 2003-06-24 | 2011-02-01 | Hitachi, Ltd. | Computer system, management computer, and volume allocation change method of management computer |
JP2006157887A (ja) * | 2004-10-28 | 2006-06-15 | Sanyo Electric Co Ltd | コンテンツ利用情報提供装置およびコンテンツ利用情報送信方法 |
JP4624235B2 (ja) * | 2004-10-28 | 2011-02-02 | 三洋電機株式会社 | コンテンツ利用情報提供装置およびコンテンツ利用情報送信方法 |
US8064596B2 (en) | 2005-06-01 | 2011-11-22 | Sony Corportion | Stream control device, stream encryption/decryption device, and stream encryption/decryption method |
JP2007039876A (ja) * | 2005-07-29 | 2007-02-15 | Koyo Electronics Ind Co Ltd | シャッタ制御システム |
JP2007095204A (ja) * | 2005-09-29 | 2007-04-12 | Hitachi Global Storage Technologies Netherlands Bv | 磁気ディスク装置及び情報記録システム |
JP2007102633A (ja) * | 2005-10-06 | 2007-04-19 | Hitachi Ltd | 計算機システム、管理計算機及び管理計算機のボリューム割当変更方法 |
JP2010186284A (ja) * | 2009-02-12 | 2010-08-26 | Hitachi Ltd | ファイル入出力方法 |
Also Published As
Publication number | Publication date |
---|---|
KR20040085024A (ko) | 2004-10-07 |
CN1534654A (zh) | 2004-10-06 |
KR100620921B1 (ko) | 2006-09-13 |
US7783895B2 (en) | 2010-08-24 |
US20040249993A1 (en) | 2004-12-09 |
JP4792196B2 (ja) | 2011-10-12 |
CN1303514C (zh) | 2007-03-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4891521B2 (ja) | データ入出力方法、およびその方法を利用可能な記憶装置およびホスト装置 | |
JP4792196B2 (ja) | データ入出力方法、およびその方法を利用可能な記憶装置およびホスト装置 | |
JP5895230B2 (ja) | 記録媒体装置に組み込まれるコントローラ、記録媒体装置、記録媒体装置の製造システム、および記録媒体装置の製造方法 | |
CN103380589B (zh) | 终端装置、服务器装置、内容记录控制系统及记录方法 | |
JP2007304822A (ja) | コンテンツ管理方法及び装置 | |
JP5929921B2 (ja) | 情報記憶装置、情報処理システム、および情報処理方法、並びにプログラム | |
JP3556891B2 (ja) | デジタルデータ不正使用防止システム及び再生装置 | |
JP2006157887A (ja) | コンテンツ利用情報提供装置およびコンテンツ利用情報送信方法 | |
JP2010010824A (ja) | 電子装置、および著作権保護チップ | |
JP2006127485A (ja) | コンテンツ再生装置およびコンテンツ再生方法 | |
JP4663436B2 (ja) | コンテンツ利用情報送信方法およびその方法を利用可能なコンテンツ利用情報提供装置およびコンテンツ利用情報享受装置 | |
JP4663437B2 (ja) | コンテンツ利用情報送信方法およびその方法を利用可能なコンテンツ利用情報提供装置およびコンテンツ利用情報享受装置 | |
JP4671657B2 (ja) | コンテンツ利用情報記憶装置およびコンテンツ利用装置 | |
JP4161043B2 (ja) | コンテンツ利用情報記憶装置 | |
JP4663435B2 (ja) | コンテンツ利用情報送信方法及びその方法を利用可能なコンテンツ利用情報提供装置およびコンテンツ利用情報享受装置 | |
JP2006033764A (ja) | コンテンツ利用情報提供装置およびコンテンツ利用情報享受装置 | |
KR20060024652A (ko) | 암호화된 멀티미디어 파일을 저장하는 기억 장치 및 그파일의 재생 방법 | |
JP2004072134A (ja) | 情報処理システム、記録媒体再生装置および記録媒体再生方法、情報処理装置および方法、プログラム格納媒体、並びにプログラム | |
JP4615055B2 (ja) | コンテンツ利用装置 | |
JP4667517B2 (ja) | コンテンツ利用装置 | |
JP4318740B2 (ja) | コンテンツ利用システム及びコンテンツ利用装置 | |
JP4606474B2 (ja) | コンテンツ利用システム及びコンテンツ利用装置 | |
JP2006033765A (ja) | コンテンツ利用情報提供装置およびコンテンツ利用情報享受装置 | |
JP2005275926A (ja) | ドライブ装置、情報処理装置、コンテンツ利用管理システム、および方法、並びにコンピュータ・プログラム | |
JP2007158559A (ja) | 記録装置及び記録方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20060302 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20060302 |
|
A711 | Notification of change in applicant |
Free format text: JAPANESE INTERMEDIATE CODE: A712 Effective date: 20060530 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20090130 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20090303 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20090430 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20090804 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20091104 |
|
A711 | Notification of change in applicant |
Free format text: JAPANESE INTERMEDIATE CODE: A711 Effective date: 20091104 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20091211 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A821 Effective date: 20091211 |
|
A911 | Transfer to examiner for re-examination before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20100112 |
|
A912 | Re-examination (zenchi) completed and case transferred to appeal board |
Free format text: JAPANESE INTERMEDIATE CODE: A912 Effective date: 20100402 |
|
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: 20110725 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140729 Year of fee payment: 3 |
|
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: 20140729 Year of fee payment: 3 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313115 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140729 Year of fee payment: 3 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
S533 | Written request for registration of change of name |
Free format text: JAPANESE INTERMEDIATE CODE: R313533 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140729 Year of fee payment: 3 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
LAPS | Cancellation because of no payment of annual fees |