JP2010532024A - Memory device using time from trusted host device and method for use in the device - Google Patents
Memory device using time from trusted host device and method for use in the device Download PDFInfo
- Publication number
- JP2010532024A JP2010532024A JP2010511336A JP2010511336A JP2010532024A JP 2010532024 A JP2010532024 A JP 2010532024A JP 2010511336 A JP2010511336 A JP 2010511336A JP 2010511336 A JP2010511336 A JP 2010511336A JP 2010532024 A JP2010532024 A JP 2010532024A
- Authority
- JP
- Japan
- Prior art keywords
- time
- memory device
- host device
- host
- module
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 64
- 230000015654 memory Effects 0.000 claims description 36
- 230000006870 function Effects 0.000 claims description 17
- 238000012795 verification Methods 0.000 claims description 14
- 238000004891 communication Methods 0.000 claims description 9
- 238000005259 measurement Methods 0.000 description 18
- 230000008569 process Effects 0.000 description 13
- 230000007246 mechanism Effects 0.000 description 10
- 230000004044 response Effects 0.000 description 7
- 238000010586 diagram Methods 0.000 description 6
- 230000009471 action Effects 0.000 description 5
- 208000010543 22q11.2 deletion syndrome Diseases 0.000 description 3
- 241000238876 Acari Species 0.000 description 3
- 238000009825 accumulation Methods 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 239000007787 solid Substances 0.000 description 3
- 238000010200 validation analysis Methods 0.000 description 3
- 101000842368 Homo sapiens Protein HIRA Proteins 0.000 description 2
- 102100030473 Protein HIRA Human genes 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 238000007689 inspection Methods 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 238000012935 Averaging Methods 0.000 description 1
- 125000002066 L-histidyl group Chemical group [H]N1C([H])=NC(C([H])([H])[C@](C(=O)[*])([H])N([H])[H])=C1[H] 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 239000002131 composite material Substances 0.000 description 1
- 239000012530 fluid Substances 0.000 description 1
- 230000001771 impaired effect Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000036651 mood Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000000737 periodic effect Effects 0.000 description 1
- 230000001360 synchronised effect Effects 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/10—Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
- G06F21/107—License processing; Key processing
- G06F21/1076—Revocation
-
- 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/71—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
- G06F21/72—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information in cryptographic circuits
- G06F21/725—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information in cryptographic circuits operating on a secure reference time value
Abstract
信頼されたホスト装置から時間を使用するメモリ装置とその装置で使用する方法とを開示する。一実施形態において、メモリ装置上のアプリケーションが、ホスト装置上で実行しメモリ装置によって認証されるエンティティから、時間本位操作の実行要求を受信する。アプリケーションは、時間本位操作の実行にあたって、メモリ装置上のタイムモジュールからの時間の代わりにホスト装置からの時間を選択し、かつ時間本位操作の実行にあたってホスト装置からの時間を使用する。他の実施形態も開示するが、それらの実施形態はそれぞれ単独で使用できるほか、組み合わせても使用できる。 A memory device that uses time from a trusted host device and a method for use in the device are disclosed. In one embodiment, an application on the memory device receives a request to perform a time-oriented operation from an entity that executes on the host device and is authenticated by the memory device. The application selects the time from the host device instead of the time from the time module on the memory device when executing the time-oriented operation, and uses the time from the host device when executing the time-oriented operation. Other embodiments are also disclosed, but each of these embodiments can be used alone or in combination.
Description
本願は、信頼されたホスト装置から時間を使用するメモリ装置とその装置で使用する方法とに関する。 The present application relates to a memory device that uses time from a trusted host device and a method for use in the device.
関連出願の相互参照
本願は、本願とともに出願され、本願明細書において参照により援用されている「Method for Improving Accuracy of a Time Estimate from a Memory Device 」という米国特許出願第11/811,284号(特許文献1)、「Memory Device with Circuitry for Improving Accuracy of a Time Estimate」という米国特許出願第11/811,347号(特許文献2)、「Method for Improving Accuracy of a Time Estimate Used to Authenticate an Entity to a Memory Device」という米国特許出願第11/811,289号(特許文献3)、「Memory Device with Circuitry for Improving Accuracy of a Time Estimate Used to Authenticate an Entity 」という米国特許出願第11/811,344号(特許文献4)、「Method for Improving Accuracy of a Time Estimate Used in Digital Rights Management (DRM) License Validation 」という米国特許出願第11/811,354号(特許文献5)、「Memory Device with Circuitry for Improving Accuracy of a Time Estimate Used in Digital Rights Management (DRM) License Validation」という米国特許出願第11/811,348号(特許文献6)、「Method for Using Time from a Trusted Host Device」という米国特許出願第11/811,346号(特許文献7)、ならびに「Memory Device Using Time from a Trust Host Device 」という米国特許出願第11/811,345号(特許文献8)に関連する。
CROSS-REFERENCE TO RELATED APPLICATIONS This application is filed with the present application, which is incorporated by reference herein, "Method for Improving Accuracy of a Time Estimate from a Memory Device " of U.S. Patent Application No. 11 / 811,284 (Patent Reference 1), US Patent Application No. 11 / 811,347 (Patent Reference 2), “Memory Device with Circuitry for Improving Accuracy of a Time Estimate”, “Method for Improving Accuracy of a Time Estimate Used to Authenticate an Entity to a” US Patent Application No. 11 / 811,289 entitled “Memory Device” (Patent Document 3), US Patent Application No. 11 / 811,344 entitled “Memory Device with Circuitry for Improving Accuracy of a Time Estimate Used to Authenticate an Entity” Patent Document 4), US Patent Application No. 11 / “Method for Improving Accuracy of a Time Estimate Used in Digital Rights Management (DRM) License Validation” No. 811,354 (Patent Document 5), US Patent Application No. 11 / 811,348 (Patent Document 6) “Memory Device with Circuitry for Improving Accuracy of a Time Estimate Used in Digital Rights Management (DRM) License Validation”, US Patent Application No. 11 / 811,346 entitled “Method for Using Time from a Trusted Host Device” and US Patent Application No. 11 / 811,345 called “Memory Device Using Time from a Trusted Host Device” No. (Patent Document 8).
サンディスク コーポレイションのTrustedFlash(登録商標)等のメモリ装置で、デジタル著作権管理(DRM)ライセンス検証等、時間本位の操作を実行するには、時間を知る必要がある。そのような操作に関わるセキュリティ問題のため、メモリ装置は、正確な時間の提供にあたって、ホスト装置を信用できないことがある。メモリ装置は信頼されたネットワークコンポーネントから正確な時間を入手できるが、メモリ装置をホストするホスト装置は、メモリ装置で時間を知る必要があるときにネットワークに接続されていないことがある。メモリ装置の稼働時間を測定するようにメモリ装置を設計できても、そのメモリ装置が絶えず稼働時間を測定しなければ(測定開始後にメモリ装置の電源が落とされる場合等)、測定稼働時間から生成される時間推定は真の実時間の測定にはならない。測定稼働時間から生成される時間推定は、実際には稼働時間の下限を伝えるものにすぎず、そのような時間推定では、ある種の時間本位操作に求められる精度は得られない場合がある。メモリ装置が作動していないときでも絶えず時間を把握するため、メモリ装置にバッテリ方式のクロックを装備することもできるが、そのようなクロックを装備すると、メモリ装置のコストを上乗せすることになり得る。 In order to perform time-oriented operations such as digital rights management (DRM) license verification in a memory device such as SanDisk Corporation's TrustedFlash (registered trademark), it is necessary to know the time. Due to security issues associated with such operations, the memory device may not trust the host device in providing the correct time. Although the memory device can obtain accurate time from trusted network components, the host device that hosts the memory device may not be connected to the network when the memory device needs to know the time. Generated from the measured operating time if the memory device can be designed to measure the operating time of the memory device, but the memory device does not constantly measure the operating time (such as when the memory device is powered off after the measurement is started) The estimated time is not a true real time measurement. The time estimate generated from the measured operating time is actually just a lower limit of the operating time, and such time estimation may not provide the accuracy required for certain time-oriented operations. To keep track of time even when the memory device is not operating, the memory device can be equipped with a battery-powered clock, but such a clock can add to the cost of the memory device. .
本発明は特許請求の範囲によって規定され、その特許請求の範囲を制限するものとしてこのセクションの内容を解釈してはならない。
紹介のためにこれ以降説明する実施形態は、信頼されたホスト装置から時間を使用するメモリ装置とその装置で使用する方法とを提供する。一実施形態において、メモリ装置上のアプリケーションが、ホスト装置上で実行しメモリ装置によって認証されるエンティティから、時間本位操作の実行要求を受信する。アプリケーションは、時間本位操作の実行にあたって、メモリ装置上のタイムモジュールからの時間の代わりにホスト装置からの時間を選択し、かつ時間本位操作の実行にあたってホスト装置からの時間を使用する。別の実施形態では、ホスト装置上で実行するエンティティの認証要求を受信する。エンティティの認証にあたって、エンティティとメモリ装置内のアプリケーションとを対応付けるアクセス管理記録(ACR)で指定された認証方法と、メモリ装置上のタイムモジュールからの時間とを使用する。エンティティからアプリケーションに対する時間本位操作の実行要求を受信する。時間本位操作の実行にあたってはタイムモジュールからの時間の代わりにホスト装置からの時間を選択し、かつ時間本位操作の実行にあたってはホスト装置からの時間を使用する。メモリ装置は、さらに別の実施形態において、第2のホスト装置から受信した時間を第1のホスト装置からの蓄積時間に比較し、時間本位操作の実行にあたって、その比較に基づき、第2のホスト装置からの時間を使用するか、それとも第1のホスト装置からの蓄積時間を使用するかを決定する。メモリ装置は、別の実施形態において、非時間本位認証システムを用いてホスト装置を認証し、ホスト装置から時間を受信し、時間本位操作の実行にあたってはホスト装置から受信した時間を使用する。他の実施形態も開示するが、それらの実施形態はそれぞれ単独で使用できるほか、組み合わせても使用できる。
The present invention is defined by the following claims, and nothing in this section should be construed as limiting the scope of the claims.
The embodiments described below for introduction provide a memory device that uses time from a trusted host device and a method for use in that device. In one embodiment, an application on the memory device receives a request to perform a time-oriented operation from an entity that executes on the host device and is authenticated by the memory device. The application selects the time from the host device instead of the time from the time module on the memory device when executing the time-oriented operation, and uses the time from the host device when executing the time-oriented operation. In another embodiment, an authentication request for an entity executing on the host device is received. When authenticating an entity, an authentication method specified by an access management record (ACR) that associates the entity with an application in the memory device and a time from a time module on the memory device are used. A request for executing a time-oriented operation on an application is received from an entity. When executing the time-oriented operation, the time from the host device is selected instead of the time from the time module, and when executing the time-oriented operation, the time from the host device is used. In yet another embodiment, the memory device compares the time received from the second host device with the accumulation time from the first host device, and executes the time-oriented operation based on the comparison. Decide whether to use the time from the device or the accumulation time from the first host device. In another embodiment, the memory device authenticates the host device using a non-time based authentication system, receives time from the host device, and uses the time received from the host device to perform the time based operation. Other embodiments are also disclosed, but each of these embodiments can be used alone or in combination.
図面に戻ると、図1は、これら実施形態を例示するのに用いるシステム10の図解である。図1に見られるように、システム10は、複数のホスト装置に取り外し可能に接続される複数のメモリ装置20,30,40と、パーソナルコンピュータ(PC)50と、デジタルメディア(MP3等)プレイヤ60と、携帯電話機70と、を備える。ホスト装置は、メモリ装置からデータを読み出すことができる装置、および/またはメモリ装置にデータを書き込むことができる装置である。データは、音声ファイルや映像ファイル(音声があるもの、またはないもの)等のデジタルメディアコンテンツ、画像、ゲーム、書籍、地図、データファイル、またはソフトウェアプログラムを含むが、これらに限定されない。データは、ネットワークのサーバからメモリ装置にダウンロードされたり、製造業者や第三者機関によって予めロードされたり、例えば別の装置からサイドロードされることがある。
Returning to the drawings, FIG. 1 is an illustration of a
ホスト装置は何らかの適当な形態をとることができ、図1に見られる例に限定されない。例えば、ホスト装置は、ノートブックコンピュータ、手持ち型コンピュータ、手持ち型eメール/テキストメッセージ装置、手持ち型ゲームコンソール、ビデオプレイヤ(DVDプレイヤ、ポータブルビデオプレイヤ等)、録音および/または録画装置、デジタルカメラ、セットトップボックス、表示装置(テレビ等)、プリンタ、カーステレオ、およびナビゲーションシステムの形態をとることができる。また、ホスト装置は複合機能を内蔵することができる。例えば、ホスト装置は、電話をかけたり受けたりできるほか、デジタルメディア(音楽および/または映像)ファイルを再生できる携帯電話機である。 The host device can take any suitable form and is not limited to the example seen in FIG. For example, the host device may be a notebook computer, a handheld computer, a handheld email / text message device, a handheld game console, a video player (DVD player, portable video player, etc.), a recording and / or recording device, a digital camera, It can take the form of a set-top box, a display device (such as a television), a printer, a car stereo, and a navigation system. Further, the host device can incorporate a composite function. For example, the host device is a mobile phone that can make and receive calls and can play back digital media (music and / or video) files.
PC50や携帯電話機70のようなホスト装置は、ネットワーク(インターネット80や無線ネットワーク90等であるが、タイプの異なるネットワークを使用することもできる)に接続して通信する能力を持つことができる。本願明細書において、このような能力を備えるホスト装置を「接続装置」と呼ぶ。携帯電話機70が非接続モードで作動しているときや、PC50がインターネット接続を確立していないとき等、「接続装置」が常にネットワークへ実際に接続されているとは限らないことを理解するべきである。本願明細書において、ネットワークに接続して通信する能力を持たないホスト装置(デジタルメディアプレイヤ60等)を「非接続装置」と呼ぶ。非接続装置を接続装置に接続することにより、非接続装置をネットワークと通信する状態に置くこともでき、図1に見られるように、デジタルメディアプレイヤ60はPC50に接続されている。そのような形で接続される場合でも、ネットワークから情報を引き出す機能が非接続装置になければ(単純なMP3プレイヤ等)、ネットワークから情報を引き出すことはできない。そのような状況でも、ネットワークコンポーネントは装置に情報を押し付けることができる。図1には有線接続を介してPC50へ接続されたデジタルメディアプレイヤ60が示されているが、無線接続も使用できることに留意するべきである。同様に、用語「接続」および「結合」が必ずしも有線接続や直接接続を意味するわけではない。
A host device such as the PC 50 or the
接続装置(あるいは接続装置に接続された非接続装置)はネットワーク(インターネット80、無線ネットワーク90等)を通じて外部のコンポーネントにアクセスでき、この外部コンポーネントは、タイムスタンプを提供することができるタイムサーバ100や、DRM保護コンテンツとこのようなコンテンツにアクセスするためのライセンスとを提供することができるデジタル著作権管理サーバ(DRM)110を含むが、これらに限定されない。これらサーバについては以下に詳述する。図1ではタイムサーバ100とDRMサーバ110が別々の装置として示されているが、2つのサーバを1つの装置にまとめることもできる。さらに、これらサーバに別の機能を盛り込むこともできる。また、必要であればインターネット80か無線ネットワーク90を介してタイムサーバ100やDRMサーバ110以外のコンポーネントにアクセスすることもできる。
A connection device (or a non-connection device connected to the connection device) can access an external component through a network (Internet 80,
図面に戻ると、図2は一実施形態のメモリ装置200のブロック図であり、これはメモリカードやメモリスティックの形態をとることができる。図2に見られるように、メモリ装置200は不揮発性メモリアレイ(フラッシュメモリ等)210と1群の回路220とを備える。この実施形態の不揮発性メモリアレイ210はソリッドステートメモリ、具体的にはフラッシュメモリ210の形態をとっている。フラッシュメモリの代わりにタイプの異なるソリッドステートメモリを使用できることに留意するべきである。また、磁気ディスクや光学CDを含むがこれらに限定されない、ソリッドステートメモリ以外のメモリを使用できることにも留意するべきである。また、簡潔さを図るため、本願明細書で用いる用語「回路」は純粋なハードウェア実装、および/または複合ハードウェア/ソフトウェア(またはファームウェア)実装を指す。つまり「回路」は、特定用途向け集積回路(ASIC)、プログラム可能なロジックコントローラ、埋め込み型マイクロコントローラ、単一基板コンピュータなどの形態をとるほか、プロセッサと、このプロセッサにより実行可能なコンピュータ可読プログラムコード(ソフトウェア、ファームウェア等)を蓄積するコンピュータ可読媒体の形態をとることができる。
Returning to the drawing, FIG. 2 is a block diagram of a
図2の1群の回路210は、複数のコンポーネント、すなわちホストインターフェイスモジュール(HIM)230と、フラッシュインターフェイスモジュール(FIM)240と、バッファ管理部(BMU)250と、CPU260と、ハードウェアタイマーブロック270とを備える。HIM230はホスト装置300のためのインターフェイス機能を提供し、FIM240はフラッシュメモリ210のためのインターフェイス機能を提供する。BMU250は、暗号化/復号化機能を提供するクリプトエンジン252と、HIM230と通信するホストダイレクトメモリアクセス(DMA)コンポーネント254と、FIM240と通信するフラッシュDMAコンポーネント256と、を備える。CPU260は、CPU RAMS260および/またはフラッシュメモリ210に蓄積されたソフトウェアとファームウェアを実行する。ハードウェアタイマーブロック270については、メモリ装置の時間測定能力との関係で以下に説明する。
The group of
図面を簡潔にするため、メモリ装置200をホスト装置300へ取り外し可能に接続するための電気的・物理的コネクタ等のメモリ装置200のその他のコンポーネントは図2に示されていない。メモリ装置200とその動作については、本願明細書において参照により援用されている米国特許出願第11/314,411号(特許文献9)および米国特許出願第11/557,028号(特許文献10)で詳細を確認できる。本願明細書において参照により援用されている米国特許出願第11/322,812号(特許文献11)と米国特許出願第11/322,766号(特許文献12)ではさらなる情報を確認できる。しかし、それら特許出願に記載されたコンポーネントと機能は、添付の特許請求の範囲に明記されていない限り、添付の特許請求の範囲の中で解釈すべきものではない。
To simplify the drawing, other components of the
メモリ装置200は、この実施形態において、メモリ装置200に蓄積された被保護コンテンツのロックを解除するため、デジタル著作権管理(DRM)キーおよびライセンスを蓄積する。(メモリ装置に蓄積された被保護コンテンツのロックを解除するためにDRMキーおよびライセンスを蓄積しないメモリ装置にも、これら実施形態が役立つことに留意するべきである。)DRMキーとDRMライセンスはメモリ装置200で生成できるほか、メモリ装置200以外(DRMサーバ110等)で生成しメモリ装置200へ送信することもできる。そのDRMキーとDRMライセンスはメモリ装置200とともに移動するから、被保護コンテンツは事実上、ホスト装置300ではなくメモリ装置200に結び付けられ、被保護コンテンツは持ち運び可能となり、認可された装置であることをメモリ装置200に対して証明できるホスト装置ならどれでも、被保護コンテンツにアクセスできる。サンディスク コーポレイションのメモリ装置TrustedFlash(登録商標)は、DRMキーとDRMライセンスがメモリ装置に蓄積され、メモリ装置とともに被保護コンテンツを移動できるメモリ装置の例である。いくつかの実施形態によっては、メモリ装置200に蓄積されたDRMキーを用いてメモリ装置200がDRMライセンスを検証する。別の実施形態では、メモリ装置200からホスト装置300にDRMキーを提供し、DRMキーによるDRMライセンス検証をホスト装置にまかせる。
In this embodiment, the
この実施形態では、DRMキーとDRMライセンスに対するアクセスを適切な信用証明を持つ認可エンティティに限定するため、CPU260がセキュアストレージアプリケーション(SSA)を実行する。SSAのコンピュータ可読コードはフラッシュメモリ210やCPU RAMS262に蓄積できるほか、メモリ装置200の別の蓄積位置に蓄積できる。SSAについては、前に参照した米国特許出願第11/557,028号(特許文献10)でより詳細に説明されている。図3は、SSAの動作の例証に用いるメモリ装置200の種々の機能モジュールの図解である。図3に見られるように、メモリ装置200は様々なアクセス管理記録(「ACR」)を備える。つまり、第1の非対称ACR201と、第2の非対称ACR202と、対称ACR203とを備える。第1および第2の非対称ACR201,202は、後ほど詳述する第1および第2の時間更新方針(TUP1およびTUP2)を備える。図3には多数のACRが見られるが、メモリ装置200はただ1つのACRを収容することもある。
In this embodiment,
ACR201,202,および203は、使用すべき認証方法と、エンティティのアイデンティティを立証するにあたってどのような種類の信用証明が必要かを指定する。DRMキーおよびライセンスに対するアクセス等、種々のアクションを実行するための権限もACR201,202,および203に記録される。ACRによるエンティティの認証に成功するとSSAシステムがセッションを開放し、ACRのアクションを実行できるようになる。本願明細書で用いる用語「エンティティ」は、メモリ装置200に対してアクセスを試みる人または物を指す。例えば、エンティティは、ホスト装置で実行するアプリケーションであったり、ホスト装置自体であったり、ヒトユーザであったりする。図3では3つのエンティティ、すなわちメディア(音声および/または映像)プレイヤ301と、ストレージアプリケーション302と、別のアプリケーション303とが、メモリ装置200へのアクセスを試みる。これらエンティティ301,302,303は同じホスト装置に位置することもあれば、別々のホスト装置に位置することもある。それぞれのエンティティ301,302,303には特定のACR(ACR201,202,および203)が対応付けられている。ACR201,202,および203のいずれかに別のエンティティ(図示せず)を対応付けることもできる。
エンティティはログインプロセスを開始するときに、該当するACRの識別子を含む認証要求を送信する。ACRは、使用すべき認証方法と、エンティティのアイデンティティを立証するにあたってどのような種類の信用証明が必要かを指定する。図3のACR201および202は非対称認証法を指定し、ACR203は対称認証法を指定する。なお、これとは別の認証法(パスワード方式の手順等)を用いることもでき、ACRで認証不要と指定することもできる。特定の認証法を指定することに加え、認証済みエンティティで実行できるアクションを記した権限管理記録(PCR)をACRに入れることもできる。
When the entity initiates the login process, it sends an authentication request including the appropriate ACR identifier. The ACR specifies the authentication method to be used and what kind of credentials are required to establish the identity of the entity.
一部の認証機構(例えば、X.509証明書連鎖の認証に用いる一方向および双方向非対称認証等)は時間を基礎とし、メモリ装置200はエンティティから提示される信用証明の検査にあたって時間を知る必要がある。(対称ACR203の対称認証機構の場合には、メモリ装置200で時間を把握する必要はない。対称認証では、エンティティとこれに対応するACRとで共有されるキーを用いてエンティティを認証する。)非対称認証でエンティティから提供されるRSA証明書および/または証明書取消リスト(CRL)等の信用証明を評価するには、時間が必要になることがある。(本願明細書で用いる「証明書」は単一の証明書や複数の証明書(一連の証明書等)を指すことがあり、「CRL」は単一のCRLや複数のCRLを指すことがある。)検証を実行するにあたってメモリ装置200で時間推定を生成するメカニズムについて説明する前に、非対称認証にかかわる証明書とCRLを簡単に説明する。
Some authentication mechanisms (eg, one-way and two-way asymmetric authentication used for X.509 certificate chain authentication, etc.) are time based, and the
非対称認証で使用する公開鍵基盤(PKI)システムでは、証明局(CA)と呼ばれる信用機関がエンティティのアイデンティティを証明するRSA証明書を発行する。アイデンティティの立証を望むエンティティは、これを証明するにあたって十分な証拠を用意しCAに登録する。CAでエンティティのアイデンティティが証明されると、CAからエンティティへ証明書が発行される。証明書は通常、証明書の発行元にあたるCAの名称と、証明書の発行先にあたるエンティティの名称と、エンティティの公開鍵と、CAの秘密鍵によって署名されたエンティティの公開鍵(通常は公開鍵のダイジェストを暗号化)とを含む。 In a public key infrastructure (PKI) system used for asymmetric authentication, a trusted authority called a certificate authority (CA) issues an RSA certificate that proves the identity of an entity. An entity that wants to prove its identity prepares enough evidence to register this and registers it with the CA. Once the identity of the entity is verified at the CA, a certificate is issued from the CA to the entity. The certificate is usually the name of the CA that is the certificate issuer, the name of the entity that is the certificate issuer, the public key of the entity, and the public key of the entity signed by the CA private key (usually the public key). Encryption).
証明書の中には有効期限を保持するデータフィールドを設けることができる。この場合、証明書を所持するエンティティがコンテンツにアクセスできる時間には限りがある(証明書が失効するまで)。将来の発効時期を保持するデータフィールドを証明書に設けることもできる。この場合、証明書が有効になるまでACRによるエンティティ認証は行われない。メモリ装置200は、現在の日付が有効期限を過ぎているか発効日に至っていないと判断する場合(つまり、証明書が有効でないとメモリ装置200が判断する場合)には、証明書を提示するエンティティを認証しない。
A data field for holding an expiration date can be provided in the certificate. In this case, the time that the entity that owns the certificate can access the content is limited (until the certificate expires). A data field that holds the future effective date can be provided in the certificate. In this case, entity authentication by ACR is not performed until the certificate becomes valid. When the
証明書は様々ないきさつで有効期限より前に無効になることがある(例えば、名称の変更、エンティティおよびCA関係の変化、秘密鍵の侵害または侵害の疑い等)。そのような場合にはCAが証明書を取り消す必要がある。具体的にはCAが証明書取消リスト(CRL)を定期的に発行する。CRLは、取り消された証明書のタイムスタンプ付きリストを含む署名付きデータ構造である。したがって、メモリ装置200はエンティティの認証にあたって証明書が時宜に適っているか否かをチェックするだけでなく、CRLもチェックし、証明書がCRLに登記されているか否かも確認する。(CRLは、証明書と併せてエンティティから提供されることもあれば、メモリ装置200がCRL自体を取得することもある(例えば、メモリ装置200が接続装置ならインターネット80を通じて取得する)。)CRLに登記されている証明書は(期限切れでなくとも)もはや有効ではなく、エンティティの認証は行われない。証明書と同様に、CRLにも有効期限がある。この有効期限はCRLの更新時期を指示するものであり、これによりメモリ装置200における最新CRLの使用が徹底される。認証中に現在時間がCRLの有効期限を過ぎていることがメモリ装置200で判明すると(CRLが無効であるとメモリ装置200が判断すると)、そのCRLには問題があるとみなされ、証明書の検査にはできるだけ使用しない。
Certificates can be revoked before their expiration date in various ways (eg, name changes, entity and CA relationship changes, private key infringement or alleged infringement, etc.). In such a case, the CA needs to revoke the certificate. Specifically, the CA periodically issues a certificate revocation list (CRL). A CRL is a signed data structure that contains a time-stamped list of revoked certificates. Accordingly, the
前に説明したように、この実施形態のメモリ装置200は信用証明(本願明細書では証明書とCRL)の検査にあたって時間を知る必要がある。メモリ装置で時間を把握できるようにするには数通りの選択肢がある。1つの選択肢として、メモリ装置で時間を知る必要がある場合には、そのつどメモリ装置からホスト装置を通じて信頼されたタイムサーバにタイムスタンプを要求する。これは接続装置に適した方法ではあるが、メモリ装置は接続装置のほかに非接続装置で使われることもあるため(例えば、インターネットに接続されていない家庭内PC、MP3プレイヤ、ネットワークから切断された携帯電話機(飛行機搭乗時等))、メモリ装置の認証手順で時間を知る必要があるときに、接続が得られるかどうかは当てにならない。もうひとつの選択肢では、バッテリ方式のクロックをメモリ装置に装備する。しかし、そうするとメモリ装置にコストが上乗せされるため、場合によっては望ましくない。もうひとつの選択肢では、メモリ装置への時間提供にあたってホスト装置を頼りにする(ホスト装置自身の内蔵クロックあるいは外部供給元から提供される)。しかし、メモリ装置は多くの場合、正確な時間提供にあたってホスト装置を信頼できない。ユーザがホスト装置のクロックを「遅らせる」ことができるなら(つまり、ホスト装置のクロックを現在時間より前の時間に設定できるなら)、ユーザはメモリ装置で施行される必要がある時間制限を出し抜くことができる。その一方で、メモリ装置(またはメモリ装置で実行するアプリケーション)にとってホスト装置が信頼できるものなら、メモリ装置(またはメモリ装置で実行するアプリケーション)はホスト装置の時間を当てにできる。ホスト時間を使用できる場合については、後ほど詳細を提示する。
As described above, the
この実施形態で採用するもうひとつの選択肢では、メモリ装置の限られた時間追跡能力、具体的にはメモリ装置200の稼働時間を測定する能力を利用する。稼働時間とは、メモリ装置200がホスト装置へ接続され、実際に使われていた時間を指すことができる(つまり、アイドル状態やスリープモードとは対照的に、メモリ装置200およびホスト装置300間のバスで活動があった時間)。あるいは、稼働時間は、メモリ装置200がホスト装置300へ接続され、ホスト装置300から電力を受け取っていた総時間を指すことができる。本願明細書では、用語「稼働時間」および「使用時間」を互換的に使用する。後述するように、この実施形態ではハードウェアタイマーブロック270がCPU260に対する割り込みとしてクロックティックを生成でき、CPU260が稼働時間カウンタを増加できているときに、メモリ装置200は稼働しているとする。
Another option employed in this embodiment utilizes the limited time tracking capability of the memory device, specifically the ability to measure the operating time of the
作動中はハードウェアタイマーブロック270(ASICコントローラ等)に内蔵された発振器が周期的なクロックティックを生成し、そのティックを割り込みとしてCPU260に提供する。(この発振器は、好ましくはCPU260がスリープ状態のときに非常に低い周波数で作動する。)つまり、ハードウェアタイマーブロック270は周期的(ミリ秒毎、マイクロ秒毎等)にCPU260に割り込む。CPU260が割り込みを受けると専用のクロック割り込みサービスルーチンが呼び出され(例えば、CPU260によりファームウェア内で実行され)、これにより1周期/単位が稼働時間カウンタへ加えられる。このカウンタ値はCPU RAMS262ばかりでなく不揮発性フラッシュメモリ210にも蓄積されるため、停電が発生しても失われることはない。メモリ210の過度の消耗を避けるため、メモリ210の稼働時間カウンタは、クロックティックのたびに更新するのではなく、周期的に(例えば、メモリ装置に電源が入っている間に1分毎に)更新するのが好ましい。この場合、稼働時間カウンタが更新される前に停電が起こると測定時間精度のさらなる低下を招き得るが、メモリ耐久性にとってのメリットを考慮すれば、許容し得る代償とみなすことができる。(メモリの耐久性をさらに保護するなら、稼働時間カウンタに蓄積される値にカウンタへの書き込み回数を伝えるフィールドを設けることができる。この書き込み値が一定量を超過する場合には、メモリの別の位置にカウンタを蓄積できる。カウンタ内のビットをシフトすることで耐久性に寄与するなら、ビットをシフトすることもできる。)また、(書き込みにかかる消費電力は別として)稼働時間カウンタへの書き込みによってメモリ装置200の性能や平常の活動に支障をきたさないようにするのが好ましい。(換言すると、時間カウンタへの書き込みをホストコマンド処理プロセスの一部とするのが好ましい。)例えば、稼働時間カウンタへの書き込みをバックグラウンドタスクとし、ホスト装置コマンドを処理する前にこれを実行することもできる。ホスト装置コマンドが終了したら、メモリ装置200のファームウェアによりメモリからデータを読み出し、所望値と比較することで、稼働時間カウンタのプログラミングが成功したことを確認できる。
During operation, an oscillator built in the hardware timer block 270 (such as an ASIC controller) generates a periodic clock tick and provides the tick to the
また、稼働時間カウンタの値は、容易に改ざんされないようにするため、メモリ210に安全に蓄積するのが好ましい(例えば、キーハッシュメッセージ認証コード(HMAC)を使用しクリプトエンジン252により署名する)。署名が一致しない場合には、データは攻撃者によって改ざんされたものとし、未初期化データとして扱うことができる。さらに、他の稼働時間測定メカニズムも使用できることに留意するべきである。
Further, the value of the operating time counter is preferably stored securely in the
稼働時間カウンタに蓄積された値を実際の時間に変換するため、CPU260は、ハードウェアタイマーブロック270がクロックティックを生成する頻度を蓄積値に乗ずる。例えば、稼働時間カウンタに値500が蓄積され、ハードウェアタイマーブロック270が5ミリ秒毎にクロックティックを生成するなら、CPU260は2,500ミリ秒(500×5)の稼働時間を算出する。時間推定の生成にあたっては、信頼された供給元からメモリ装置200に届いた最新のタイムスタンプに変換済みの稼働時間を加算する。換言すると、タイムスタンプは「スタートライン」の役割を果たし、このタイムスタンプにメモリ装置の測定稼働時間を加算する。タイムスタンプはいかなる形式のものであってもよく、任意の精度で時間を表示できる(年、月、日、時、分、秒等)。タイムスタンプは、好ましくは精密時間提供にあたってメモリ装置200が信頼するエンティティ(タイムサーバ100、信頼されたホスト装置等)から提供される。タイムスタンプはいかなる形式のものであってもよく、単独で送信できるほか、別の情報に含めることもできる。タイムスタンプが容易に改ざんされないようにするため、メモリ装置は、好ましくはクリプトエンジン252経由でタイムスタンプを安全に蓄積する。メモリ装置200に新しいタイムスタンプが届くと、新しいタイムスタンプがメモリ装置200に蓄積され、稼働時間カウンタはリセットされる。したがって、それ以降は古いタイムスタンプの代わりに新しいタイムスタンプを基準として稼働時間の測定が行われる。稼働時間を測定するため、カウンタをリセットする(「元に戻す」)代わりに、新しいタイムスタンプの時点に存在する稼働時間カウンタ値を記録し、現在時間からこれを引くこともできる。
In order to convert the value accumulated in the operating time counter into the actual time, the
メモリ装置の時間追跡能力を説明したところで、今度は認証手順の一例を説明する。図面に戻ると、図4は一実施形態の非対称認証プロセスのプロトコル図である。以下の例では、プレイヤ301がACR201を通じてメモリ装置200へのログインを試みる。後ほど詳述するように、プレイヤ301は信用証明を保持し(RSA鍵対、証明書、証明書取消リスト(CRL)等)、ACR201はプレイヤ301の真正性を検証し、オブジェクトに対する権利を授与する(この場合、プレイヤ301とDRMモジュール207との間でセキュアチャネルが確立する)。図4に見られるように、最初のステップではホスト装置300がプレイヤ301の認証要求をメモリ装置200へ送信する(アクト402)。メモリ装置200にタイムスタンプがまだインストールされていなければ、メモリ装置200は認証要求に対してログイン失敗メッセージで応答する(アクト404)。
Now that the time tracking capability of the memory device has been described, an example of an authentication procedure will now be described. Returning to the drawing, FIG. 4 is a protocol diagram of an asymmetric authentication process of one embodiment. In the following example, the
続く一連のアクトでは、メモリ装置200にタイムスタンプを提供するプロセスを図5および図6との関係で説明する。これら図は、メモリ装置200がタイムスタンプを取得可能な1つの方法を例証するシステム図とフローチャートである。メモリ装置200はこれとは別の方法でタイムスタンプを取得することもでき、タイムスタンプがこれとは別の形式をとり得ることを理解するべきである。また、1つのメモリ装置が多数のサーバまたはホストと連係しながら多数の形式を同時に処理できることも理解するべきである。したがってこの例の具体的な詳細は、添付の特許請求の範囲に明記されていない限り、添付の特許請求の範囲の中で解釈すべきものではない。
In a series of subsequent acts, the process of providing a time stamp to the
図5に見られるように、メモリ装置200はメモリ装置−ホスト装置通信チャネル305を通じてホスト装置300と通信し、ホスト装置300はホスト装置−タイムサーバ通信チャネル315を通じてタイムサーバ100と通信する。タイムサーバ100は単独のサーバでもよいが、この実施形態のタイムサーバ100は、サーバ間通信チャネル325経由で互いに同期をとる複数のサーバ102,104,106を含む。また、前に指摘したように、タイムスタンプのためにタイムサーバ100を使用する代わりに、ホスト装置300のタイムスタンプを使用することもできるが、これは、好ましくはホスト装置300が信頼されたホスト装置である場合に限る。
As shown in FIG. 5, the
この実施形態では、ホスト装置300がメモリ装置200へノンス取得コマンドを送信する(アクト405)ところからタイムスタンプ要求手順が始まる(図4,5,6参照)。この実施形態におけるノンスは、後ほどメモリ装置200がタイムサーバ100によって生成されたタイムスタンプの真正性を検証するときに用いる16ビットの乱数である。メモリ装置200は乱数(ノンス)を生成し(アクト410)、以降の検証ステップのためにこれをCPU RAMS(揮発性メモリ)262(またはメモリ210)に蓄積する。次に、メモリ装置200はホスト装置300へノンスを送信する(アクト415)。メモリ装置200はまた、後ほどタイムアウトの有無を確認するため、時間の測定を開始する(後述)。
In this embodiment, the time stamp request procedure starts when the
ノンスを受信したホスト装置300は、そのノンスを含むタイムスタンプ取得要求をタイムサーバ100へ送信する(アクト420)。タイムサーバ100は、その秘密鍵により時間(UTC協定世界時形式による世界時等)とノンスに署名する。次に、タイムサーバ100はタイムスタンプ応答を送信する(アクト425)。(タイムサーバ100から送信されるこの証明書とCRLはタイムサーバ100を認証するためのものであって、プレイヤ301を認証するために送信される証明書およびCRLとは異なるものであることに留意するべきである。)この実施形態におけるタイムスタンプ応答は、ノンスと、タイムスタンプと、証明書連鎖と、証明書取消リスト(「CRL」)連鎖とを含む。ホスト装置300は、時間更新コマンドとこの応答をメモリ装置200へ送信する(アクト430)。メモリ装置200はこのコマンドに応じて証明書とCRLの検証を試みる(アクト435)。(繰り返しになるが、この証明書とCRLはプレイヤ301の認証のために送信されるものとは異なる。)後述するように、メモリ装置200で生成された時間推定に照らしてタイムサーバ100の証明書およびCRLの有効性をチェックするよりは、タイムサーバ100の証明書およびCRLの有効期間が過ぎていないと仮定したほうが好ましい場合もある。この検証に失敗する場合、メモリ装置200は揮発性メモリ262をリセットし、アイドルプロセスに戻る(アクト440)。証明書とCRLの検証に成功する(アクト445)場合には、メモリ装置200は応答の中にあるノンスを揮発性メモリ262にあるノンスに比較する(アクト450)。この比較に失敗する場合には、メモリ装置は揮発性メモリ262をリセットし、アイドルプロセスに戻る(アクト455)。比較に成功する場合には、メモリ装置200は新しいタイムスタンプを、好ましくは改ざんを防ぐため安全な方法で、メモリ210に蓄積する。
Receiving the nonce, the
メモリ装置200がノンスを生成し(410)、応答を待っているときに(アクト460)、ホスト装置300からメモリ装置200へ別のノンス取得コマンドが送信され得る(アクト465)ことが可能であることに留意するべきである。前述したように、メモリ装置200はノンスを生成した後に時間測定を開始する。メモリ装置200は、その測定時間が特定のタイムアウト制限に達する前に新たなノンスコマンド(465)を受信する場合には、好ましくは新たなノンスコマンド(465)を無視する。しかし、メモリ装置200は、タイムアウト制限後に新たなノンスコマンド(465)を受信する場合には、揮発性メモリ262をリセットし、新たなノンスを生成する(アクト470)。したがって、ノンスは限られた時間内で有効であり、タイムアウト制限(「トラベルタイムエラー」)は、メモリ装置200がタイムサーバ100からタイムスタンプが届くのを待つ最大時間に相当する。
When the
メモリ装置200に蓄積されるタイムスタンプの時間は、タイムサーバ100がデータ文字列に署名したときの時間であるため、タイムスタンプの精度にもよるが(年、月、日、時、分、秒等)、タイムスタンプの時間は、ホスト装置300がタイムスタンプを要求したときの現実の時間にならないことがある。あるいは、メモリ装置200がタイムスタンプを蓄積したときの現実の時間にならないことがある。前述したノンスタイムアウト期間は、タイムスタンプの精度がメモリ装置200の要求に合うように設定できる。したがって、タイムスタンプ要求の最大許容遅延がメモリ装置200によってコントロールされることになる。代替の実施形態において、タイムサーバ100によって生成されるタイムスタンプで別の時間を表示でき、例えばホスト装置300がタイムスタンプを要求したときの推定時間や、メモリ装置200におけるタイムスタンプ蓄積の見込み時間を表示できる。
Since the time stamp accumulated in the
前述したプロトコルの場合、メモリ装置200は安全が保証されない接続システム(インターネット、WiFiネットワーク、GSMネットワーク等)を介してタイムサーバ100と通信することになる。安全が保証されない接続システムとは、メモリ装置200が、タイムサーバ100によって送信されるタイムスタンプの送信中に改ざんがないと決め付けることができないことを意味する。タイムスタンプを保護するにあたってネットワークが当てになり得ないため、タイムサーバ100とメモリ装置200との間で前述した保護メカニズム(あるいは他の何らかの保護メカニズム)を使用できる。暗号化プロトコルなら、タイムスタンプが改ざんされた場合にメモリ装置200で改ざんを検出できる。換言すると、接続システムが安全でなければ、タイムスタンプのビットが何者かによって変更されるのを接続システム自体で防ぐことはできないが、メモリ装置200は改ざんを検出し、タイムスタンプを拒絶することができる。代替の実施形態では安全な通信システムを使用する(つまり、データ通信回線が保護される)。この場合、誰もタイムスタンプを改ざんできないため、タイムスタンプはプレーンテキストで送信できる。
In the case of the protocol described above, the
図4に戻ると、現在メモリ装置200には新規のタイムスタンプが蓄積され、メモリ装置200はホスト装置300へ「時間更新成功」メッセージを返し(アクト452)、ホスト装置300はもう一度認証要求をメモリ装置200へ送信する(アクト454)。メモリ装置200にはタイムスタンプがあるため、メモリ装置200はACR201のタイムスタンプ更新方針(TUP)をチェックする(アクト500)。時間推定はタイムスタンプを基礎とするため、古いタイムスタンプに時間推定の基礎を置くと時間推定が不正確になり得る。そこで、メモリ装置200にあるタイムスタンプが古く、更新(新規タイムスタンプ)が必要かどうかをTUPから判断する。後ほど詳述するが、TUPは図3に示すようにACRによって異なることがあり(ACRによって時間公差が異なる)、ACRの作成時に設定できる。
Returning to FIG. 4, a new time stamp is stored in the
この実施形態では4つの値、すなわち(1)電源サイクル数と、(2)稼働時間のしきい値と、(3)「伸張」稼働時間のしきい値と、(4)パラメータでOR関係の有無を指示するビット(パラメータが1つでもチェックに失格すると時間更新を要求するか、あるいは全てのパラメータがチェックに失格する場合に限り時間更新を要求する)とによって、TUPが表される。これらパラメータについては後ほど詳述する。(これらパラメータに加えて、あるいはこれらパラメータの代わりに、別のパラメータを検討することもできることに留意するべきである。) In this embodiment, there are four values: (1) power cycle number, (2) operating time threshold, (3) “extension” operating time threshold, and (4) parameters are OR related. A TUP is represented by a bit indicating whether or not there is a parameter (requiring time update when even one parameter is disqualified for checking, or requesting time updating only when all parameters are disqualified for checking). These parameters will be described in detail later. (It should be noted that other parameters may be considered in addition to or instead of these parameters.)
図7は、TUPチェックアクト(アクト500)のさらなる詳細を示すフローチャートである。まずは、TUPチェックのためにメモリ装置200が初期化されているか否かを判断する(アクト505)。それには、例えばメモリ210に蓄積された設定データを調べる。TUPチェックのためにメモリ装置200が初期化されていなければ、メモリ装置200は受信した最後のタイムスタンプを使って時間推定を生成し(アクト510)、その時間推定を使ってエンティティの認証を試みる。TUPチェックのためにメモリ装置200が初期化されていれば、メモリ装置200はTUPチェックに着手する。
FIG. 7 is a flowchart showing further details of the TUP check act (act 500). First, it is determined whether or not the
メモリ装置200はまず、最終タイムスタンプ以降のメモリ装置200の電源サイクル数のチェックがTUPに含まれているか否かを判断する(アクト515)。この実施形態では、前述した「電源サイクル」値をチェックすることによってこれを果たす。「電源サイクル」値が0なら、電源サイクル数チェックは行われない。「電源サイクル」値が0以外なら、その値をしきい値として使用し電源サイクル数をチェックする。電源サイクル数とは、メモリ装置200の電源が入った回数を数えたものであり、この数から最終タイムスタンプ以降にメモリ装置200の電源が切れた回数が分かる(つまり、電源が入るたびに、そのつど電源を切ることになる)。電源サイクル数はCPU260で測定できる。メモリ装置200が電源サイクルを通過するたびに、CPU260はファームウェアで装置リセットルーチンを呼び出すことができる。CPU260が稼働時間カウンタに1単位を加える場合と同様に、この装置リセットルーチンにより、CPU260はCPU RAMS262および/またはメモリ210の電源サイクルカウンタに1単位を加える。メモリの消耗を抑えるため、稼働時間カウンタと同様に、電源サイクルカウンタも周期的に更新できる。
First, the
メモリ装置200の電源が切れると、(メモリ装置200は「稼働」していないときに稼働時間を測定できないために)少なくともある程度の実時間は稼働時間に反映されないことになる。メモリ装置200は電源サイクル間にどれだけの時間が経過したかを知らないため、測定稼働時間がどの程度不正確かを電源サイクル数からつかむことはできない。しかし、メモリ装置200の使い方が想定された使用パターンから外れているか否かを電源サイクル数からある程度つかむことはできる。さらにそこから、測定稼働時間がどの程度不正確かが大まかに分かり得る。例えば、最後のタイムスタンプからメモリ装置200の電源サイクルが10回あった場合の時間推定は、最後のタイムスタンプからメモリ装置200の電源サイクルが1回しかなかった場合の時間推定より正確でない可能性がある。
When the
メモリ装置200は、電源サイクル数チェックがTUPに含まれている場合には、最終タイムスタンプ以降のメモリ装置200の電源サイクル数をチェックし、その数値が「電源サイクル」値に設定されたしきい値を超過するか否かを確認する(アクト520)。このしきい値は所望の時間公差に応じてACRごとに設定できる。例えば非常にデリケートな認証で証明書やCRLの有効期限が過ぎていないことを確実に立証する必要があるなら、このしきい値を1に設定することができる。この場合、メモリ装置200の電源が一度でも切れていたなら(これに応じて少なくともある程度の時間は測定稼働時間に計上され得なくなる)、このパラメータのTUPチェックは不合格に終わる。その一方で、さほどデリケートでない認証なら電源サイクル数を高い数値に設定することができる(あるいはこれを一切考慮しない)。この場合、電源サイクルがいくらかあっても(測定稼働時間に計上されない時間がある程度あっても)、TUPチェックには合格する。
When the power cycle count check is included in the TUP, the
電源サイクル数チェックが不合格に終わり、TUPパラメータでOR関係が判明する(アクト525)場合には、TUPチェックは不合格に終わる(アクト530)。メモリ装置200は不合格を伝えるメッセージをホスト装置300へ送信し、前述した手順により新規タイムスタンプを取得する。電源サイクル数のチェックに合格するなら、あるいは失格してもTUPパラメータにOR関係がないことが判明するなら(アクト525)、処理は継続し、最終タイムスタンプ以降の稼働時間チェックがTUPに含まれているか否かを判断する(アクト535)。
If the power cycle count check ends in failure and the OR relationship is determined by the TUP parameter (act 525), the TUP check ends in failure (act 530). The
前述した電源サイクル手順と同様に、「稼働時間」値が0なら、稼働時間のチェックは行われない。しかし、「稼働時間」値が0以外なら、その値を秒単位(または他の何らかの時間単位)のしきい値として使用し稼働時間をチェックする。電源サイクル数と同様に、稼働時間のしきい値は所望の時間公差に応じてACRごとに設定できる。一般的に、メモリ装置200の稼働が長いほど測定稼働時間が不正確になる見込みは高くなる。したがって、非常にデリケートな認証で証明書やCRLの有効期限が過ぎていないことを確実に立証する必要があるなら、測定稼働時間のしきい値を非常に低く設定することができる。逆に、認証がデリケートではないなら、測定稼働時間のしきい値をより高く設定することができる(あるいはこれを一切考慮しない)。
Similar to the power cycle procedure described above, if the “operating time” value is 0, the operating time is not checked. However, if the “operation time” value is other than 0, the value is used as a threshold value in seconds (or some other time unit) to check the operation time. Similar to the number of power cycles, the operating time threshold can be set for each ACR depending on the desired time tolerance. In general, the longer the operation of the
稼働時間チェックが不合格に終わり、TUPパラメータでOR関係が判明する(アクト545)場合には、TUPチェックは不合格に終わる(アクト550)。メモリ装置200は不合格を伝えるメッセージをホスト装置300へ送信し、前述した手順により新規タイムスタンプを取得する。稼働時間チェックに合格するなら、あるいは失格してもTUPパラメータにOR関係がないことが判明するなら(アクト545)、処理は継続し、「伸張」稼働時間のチェックがTUPに含まれているか否かを判断する(アクト555)。
If the operating time check ends in failure and the OR relationship is determined by the TUP parameter (act 545), the TUP check ends in failure (act 550). The
前に指摘したように、メモリ装置200が稼働時間を絶えず測定しないなら、測定稼働時間は真の実稼働時間にはならない場合がある。つまりメモリ装置200が「稼働していなければ」(例えば、メモリ装置200がアイドル状態かスリープモードになっている場合、メモリ装置200に電源が入っていない場合、メモリ装置200がホスト装置300から取り外される場合が挙げられる。いずれにせよこの実施形態ではハードウェアタイマーブロック270によるクロックティックの生成は停止する、および/またはCPU260によるティックへの反応は停止する)、稼働していないときに時間が経過していることをメモリ装置200で知る手だてはないため、測定された稼働時間は、測定開始以降に経過した実時間に満たないものとなる。例えば、1月1日にタイムスタンプを受信し、メモリ装置200が2日分の稼働時間を測定したと仮定する。(簡潔さを図るため、この例では日単位で時間を測定する。しかし、前述したように、任意の望ましい時間単位を使用できる。)このときメモリ装置200によって生成される時間推定の日付は1月3日になる(1月1日の最新タイムスタンプに2日の稼働時間を加算する)。メモリ装置200が稼働時間を絶えず測定していたなら、この時間推定は実時間を正確に表すものとなる(ハードウェアタイマーブロック270とCPU260は正確に機能していると仮定する)。しかし、メモリ装置200が稼働時間を連続的に測定していなかったら(稼働時間の測定開始後にメモリ装置200が稼働していないときがあったなら)、時間推定は実時間を正確に表すものにはならない。時間推定が伝える実時間はよくても1月3日どまりなのである。実時間は1月4日かそれ以降かもしれない(6月29日、11月2日、12月5日、翌年等)。したがって、アクト540における稼働時間チェックは正確な結果を出さないことがある。
As pointed out earlier, if the
この問題に対処するため、「伸張」稼働時間のチェックをTUPに盛り込むことができる(アクト555および560)。「伸張」稼働時間とは、旧測定稼働時間の算出精度に基づいて測定稼働時間を調整したものである。メモリ装置200が3日の稼働時間を測定し、稼働時間を最後に測定したときの値が実時間の50%であったことを知っているなら、メモリ装置200は、3日の測定稼働時間を係数2(測定稼働時間が実時間の50%であったため)により調整(もしくは「伸張」)し、6日を算出し得る。稼働時間の「伸張」については、本願とともに出願され、本願明細書において参照により援用されている「Method for Improving Accuracy of a Time Estimate from a Memory Device」という米国特許出願第11/811,284号(特許文献1)と「Memory Device with Circuitry for Improving Accuracy of a Time Estimate」という米国特許出願第11/811,347号(特許文献2)とに詳細が記載されている。
To address this issue, a check for “extension” uptime can be included in the TUP (
「伸張」稼働時間を使用する代わりに「伸張」非稼働時間を使用することもできる。非稼働時間は、メモリ装置200がタイムスタンプ間に稼働していなかった時間を指す。メモリ装置200がどれくらい長く稼働していなかったかを測定する手だてはないため、非稼働時間は計算値である。具体的には、非稼働時間=タイムスタンプ間の実時間−稼働時間である。「伸張」非稼働時間は、旧測定稼働時間(または測定稼働時間に基づく非稼働時間)の算出精度に基づいて調整された非稼働時間計算である。以下、考慮できる非稼働時間の変形例の例を示す。ここでの「DownTime」は「伸張」非稼働時間(既知のタイムスタンプ間非稼働時間の平均等)を指す。
Instead of using “stretched” working time, “stretched” non-working time can also be used. The non-operating time indicates a time during which the
合計非稼働時間推定(teDownTime):teDownTime=(タイムスタンプi −タイムスタンプi-1 −ActiveTimei )、ここでインデックスiは第2のタイムスタンプから最終タイムスタンプまで進み、メモリ装置200で設定される。
最終タイムスタンプ以降の現在の非稼働時間(cDowntime):これは、最終タイムスタンプ更新以降の電源サイクル数(PC)を基準として計算できるほか(cDowntime=最終タイムスタンプ以降のPC*(teDownTime/PC))、最終タイムスタンプ更新以降の稼働時間を基準として計算できる(cDowntime=最終タイムスタンプ以降のActiveTime*(teDownTime/ActiveTime))。
DownTimeパラメータを使用しないように設定するには、DownTime値を0に設定する。
DownTimeパラメータを使用するように設定するには、DownTimeを1に設定する。メモリ装置200はDownTimeプロパティをもとにタイムスタンプ更新が必要かどうかを評価する。ServiceTime(証明書の有効性、CRLの有効性等)−時間推定<DownTimeなら、タイムスタンプ更新は必要である。
Total non-working time estimate (teDownTime): teDownTime = (time stamp i −time stamp i−1− ActiveTime i ), where index i advances from the second time stamp to the last time stamp and is set in
Current non-working time (cDowntime) after the last timestamp: This can be calculated based on the number of power cycles (PC) since the last timestamp update (cDowntime = PC after the last timestamp * (teDownTime / PC) ) And the operation time after the last time stamp update can be calculated as a reference (cDowntime = ActiveTime * (teDownTime / ActiveTime) after the last time stamp).
To set the DownTime parameter not to be used, set the DownTime value to 0.
To set to use the DownTime parameter, set DownTime to 1. The
図7に戻ると、「伸張」稼働時間のチェックが不合格に終わるなら(アクト560)、TUPチェックは不合格に終わり(アクト565)、メモリ装置200はホスト装置300へメッセージを送信する。そして、前述した手順により新規タイムスタンプを取得する。「伸張」稼働時間のチェックに合格するなら(あるいはTUPチェックのためにメモリ装置200が初期化されていないなら)、メモリ装置200は「TUP合格」メッセージ510,570をホスト装置300へ返す(図4参照)。そして、ホスト装置300はエンティティの証明書とCRLをメモリ装置200へ送信し、メモリ装置はエンティティの認証を試みる(アクト585)。具体的には、メモリ装置200は最後の受信タイムスタンプと測定稼働時間とに基づき時間推定を生成し、証明書を検査し(アクト585)、CRLを検査する(アクト590)。証明書とCRLの有効期限が生成された時間推定より後なら、メモリ装置200はホスト装置300へOKメッセージを返し、さらに認証方法にほかのステップがあるなら、それらステップを実行できる。エンティティが認証される場合には、オブジェクトに対する権利がACR201からエンティティに授与される(この場合、プレイヤ301とDRMモジュール207との間でセキュアチャネルが確立する)。証明書および/またはCRLが期限切れになっている場合には、認証試行に失敗したことを伝えるメッセージがメモリ装置200からホスト装置300へ送信される。これを受けてホスト装置300は、前述したタイムスタンプ更新を開始できる。
Returning to FIG. 7, if the “stretch” operating time check fails (ACT 560), the TUP check fails (ACT 565), and the
前述したように、認証試行に用いる時間推定は、最終タイムスタンプに測定稼働時間を加算することによって生成される。測定稼働時間は正確でないかもしれないため、時間推定の精度を向上させるため、前述した「時間伸張」手法を用いることができる。しかし、「伸張」稼働時間は、実際には実時間を上回ることがある。TUPをチェックする場合にそのような稼働時間の「過大伸張」があると、新規タイムスタンプを取得することになる。しかし、証明書やCRLを検査する場合に稼働時間の「過大伸張」があると、正当なエンティティが認証されなくなるおそれがある。したがって、認証のために時間推定を生成する場合には、「時間伸張」を使用しないほうが望ましいこともある。 As described above, the time estimate used for the authentication attempt is generated by adding the measured operation time to the final time stamp. Since the measurement running time may not be accurate, the “time stretch” technique described above can be used to improve the accuracy of time estimation. However, the “stretched” operating time may actually exceed the real time. When checking the TUP, if there is such “overextension” of the operating time, a new time stamp is acquired. However, if the certificate or CRL is inspected and there is an “excessive extension” of the operation time, there is a possibility that a legitimate entity will not be authenticated. Thus, it may be desirable not to use “time stretch” when generating a time estimate for authentication.
要約すると、メモリ装置200は前述した方法によりエンティティ認証要求を受信し、エンティティの認証を試みる前に、新規タイムスタンプが必要か否かを判断する。新規タイムスタンプが必要なら、メモリ装置200は新規タイムスタンプを取得し、その新規タイムスタンプに基づき時間推定を生成し、その時間推定を証明書および/またはCRLの有効期間に比較することにより、エンティティの認証を試みる。新規タイムスタンプが必要でなければ、メモリ装置は最終タイムスタンプに基づき時間推定を生成し、その時間推定を証明書および/またはCRLの有効期間に比較することにより、エンティティの認証を試みる。
In summary, the
この実施形態ではエンティティの認証に先立ちTUPをチェックし、必要であれば新規タイムスタンプを取得することに留意するべきである。換言すると、TUPのチェックや新規タイムスタンプの取得に先立ち、エンティティを認証する必要はない。これは、1つのサーバを使ってタイムスタンプとDRMライセンスの両方を提供するシステムと対照的である。この場合、メモリ装置にタイムスタンプ(またはその他情報)を提供する前に、メモリ装置に対してサーバを認証する必要がある。これは「キャッチ22」と呼ばれる状況を招く。つまり、サーバの認証に新しい時間が必要でも、新しいタイムスタンプはサーバが認証された後でないと入手できない。そのような状況を回避するため、一部の先行システムでは認証プロセスに時間を使用しない。前述した「キャッチ22」状況は回避されても、時間を無視すると認証されるべきでないエンティティ(証明書および/またはCRLが期限切れになったエンティティ等)が認証されることがある。 Note that this embodiment checks the TUP prior to entity authentication and obtains a new timestamp if necessary. In other words, it is not necessary to authenticate the entity prior to checking the TUP or acquiring a new time stamp. This is in contrast to systems that use a single server to provide both timestamps and DRM licenses. In this case, it is necessary to authenticate the server to the memory device before providing the time stamp (or other information) to the memory device. This leads to a situation called “Catch 22”. That is, even if a new time is required for server authentication, a new time stamp can only be obtained after the server is authenticated. To avoid such situations, some prior systems do not use time for the authentication process. Even if the “catch 22” situation described above is avoided, entities that should not be authenticated if time is ignored (such as an entity whose certificate and / or CRL has expired) may be authenticated.
メモリ装置200に対して認証を試みるエンティティからタイムサーバ100を分離することにより、プレイヤ301とメモリ装置のタイムモジュール204との間に「フリーチャネル」ができあがり、プレイヤ301はタイムサーバ100からのタイムスタンプ更新を引き渡せるようになる(図3参照)。このタイムスタンプから時間推定を生成し、認証にあたっては、その時間推定に照らしてエンティティの信用証明を検証できる。「フリーチャネル」は、最初のエンティティ認証を省いて確立される通信ルートを指す。対照的に、「セキュアチャネル」はエンティティが認証された後でないと確立されない通信ルートを指す。
By separating the
プレイヤ301を認証せずとも、プレイヤ301を管路として使用し、タイムサーバ100からメモリ装置200へタイムスタンプを供給することはできるが、タイムスタンプが信頼された供給元からのものであることを保証するため、タイムサーバ100は認証したほうがよい。これを示す図4および図6のアクト435では、タイムサーバ100のタイムスタンプを受け付ける前にタイムサーバ100の証明書とCRLを検査している。しかし、前述した「キャッチ22」状況を回避するには、メモリ装置200でタイムサーバ100の証明書およびCRLの有効期間が過ぎていないと仮定したほうが好ましく、その場合には時間推定による有効期間の検査は行われない。
Even if the
メモリ装置200に対して認証されたエンティティは、ACRの権限管理記録(PCR)に記載された種々のアクションを実行できる。例えば、図3を再び参照すると、プレイヤ301はセキュアチャネルを通じてDRMモジュール207と通信し、メモリ装置200にある被保護コンテンツ205に対してアクセスを試みることができる。(もうひとつの例として、ストレージアプリケーション302のACRは、このアプリケーション302がメモリ装置200に被保護コンテンツ205を蓄積することを許可する。)プレイヤ301が認証済みでもコンテンツは保護されているから、DRMモジュール207は、被保護コンテンツ205のロックを解除する前に、DRMライセンス206の検証を試みる(例えば、ライセンスが引き続き有効であるか、それとも期限切れかを判断する)。DRMモジュール207はこれを果たすため、メモリ装置200のタイムモジュール204に時間推定を要求する。(タイムモジュール204は、時間推定の生成に用いる様々な要素(タイムスタンプ、稼働時間、電源サイクル数、「伸張」係数等)を蓄積し生成する前述したソフトウェアおよび/またはハードウェアを指す。)DRMモジュール207は生成された時間推定をライセンス206の中にある失効日および/または有効期間に比較し、ライセンスが有効か否かを判断する。DRMモジュール207はライセンスの検証にあたって別のチェックを実行することもでき、例えば、被保護コンテンツ205の再生回数が所定の回数を超過しているか否かを判断するチェックを含むが、これに限定されない。
An entity authenticated to the
前述したように、タイムスタンプが新しいほど時間推定が正確になる見込みは高くなる。前述した実施形態では、ACRのTUPによってタイムスタンプ更新が必要か否かが決まる。したがって、DRMライセンス検証のために生成される時間推定がどの程度正確なものになるかは、事実上TUPによって決まる。TUPパラメータの決定にあたっては、期限切れを検討しながらサービスを提供するサービスプロバイダのニーズと、新しいタイムスタンプを取得するために面倒でもホスト装置をネットワークへ接続しなければならないエンドユーザのニーズとで、バランスをとる必要がある。時間公差が極端に緩いと、サービスプロバイダの収益が損なわれるおそれがある。その一方で、時間公差が極端に厳しいと、タイムスタンプを取得するための頻繁なネットワーク接続が負担となって、エンドユーザはサービスを断念するおそれがある。 As described above, the newer the time stamp, the higher the likelihood that the time estimate will be accurate. In the above-described embodiment, whether or not the time stamp update is necessary is determined by the ACR TUP. Therefore, how accurate the time estimate generated for DRM license verification will depend on the TUP in effect. When determining TUP parameters, there is a balance between the needs of service providers who provide services while considering expiration and the needs of end users who have to connect the host device to the network even if it is troublesome to obtain a new time stamp. It is necessary to take If the time tolerance is extremely loose, the service provider's revenue may be impaired. On the other hand, if the time tolerance is extremely strict, frequent network connection for obtaining the time stamp is a burden, and the end user may give up the service.
メモリ装置200にあるACRがただ1つで、TUPがただ1つの場合には(あるいは複数のACRで同じTUPを共有する場合には)、全てのサービスプロバイダに1つの「共通」TUPを使って適度のバランスをとることはできないかもしれない。そこで、この実施形態のメモリ装置200は、TUPがそれぞれ異なる(TUP1,TUP2)複数のACR201,202を有し、TUPは該当するサービスプロバイダが設定できるようになっている。前述したように、個別のACRを設けることにより、認証にあたって異なる認証方式(対称認証、非対称認証等)を使用するようにメモリ装置200を設定することができる。個別のACRを設けることにより、時間公差の設定も可能になる。ACRのTUPが設定可能なら、サービスプロバイダは独自の時間公差を設定できる。つまり、時間を伝えるメモリ装置のパラメータ(稼働時間、電源サイクル数、「伸張」稼働時間/非稼働時間等)を古いと判断し、タイムスタンプ更新をトリガーする時期を指定できる。TUPが設定可能なら、サービスプロバイダは1つの「共通」TUPに頼る代わりに、自身のニーズとエンドユーザとの関係に基づいて時間公差を設定できる。
If there is only one ACR in the
例えば、サービスプロバイダによっては証明書を発行する時間が非常に短い(10分間等)。エンドユーザがメモリ装置200でサービスの利用を望むたびに新しい証明書の取得をエンドユーザに強制することにより、サービスプロバイダはエンドユーザの挙動を綿密に監視し、エンドユーザが証明書を要求するたびに料金を査定できる。このビジネスモデルの場合には、サービスプロバイダには金銭還元のための厳重な公差が必要になる。もうひとつの例として、エンドユーザのインストールベースが極めて流動的な場合に、サービスプロバイダは、そのビジネスモデルの主要部分として、証明書を頻繁に取り消す必要があるかもしれない。この場合も、サービスプロバイダは認証にあたって最新CRLの使用を徹底するため、厳重な時間公差を望む。その一方で、サービスプロバイダが月単位の定期契約サービスを提供し、ユーザが新しいコンテンツを手に入れるために規則的にサービスプロバイダのウェブサイトに接続し、強制タイムスタンプ更新を受けるなら、エンドユーザは新たなコンテンツを手に入れるためにネットワークへ接続することが見込まれるから、さほど厳重な時間公差でなくてもよい。
For example, depending on the service provider, the time for issuing a certificate is very short (such as 10 minutes). By forcing the end user to obtain a new certificate each time the end user wants to use the service in the
ACRで設定可能なTUPを使用する代わりに、あるいはACRで設定可能なTUPを使用することに加えて、各コンテンツのDRMライセンスに設定可能なTUPを配置することができる。この場合、認証済みエンティティが全てのコンテンツを同様に扱うのではなく、一部のコンテンツについては既存タイムスタンプを使用し、他のコンテンツについては新規タイムスタンプの取得をエンティティに強制することができる。(認証のときのみチェックがなされるACRのTUPと違って、ライセンスに配置されたTUPは、DRMモジュール207がライセンスの検証を試みるたびにチェックされる。)
Instead of using a TUP that can be set by ACR, or in addition to using a TUP that can be set by ACR, a TUP that can be set for a DRM license of each content can be arranged. In this case, the authenticated entity does not handle all content in the same way, but can use the existing time stamp for some content and force the entity to obtain a new time stamp for other content. (Unlike the ACR TUP, which is checked only during authentication, the TUP placed in the license is checked each time the
例えば、ユーザが自身のメモリ装置に2時間の映画をダウンロードする状況について考えてみる。ユーザのメモリ装置には、その映画が24時間限定で視聴できることを伝えるライセンスも併せてダウンロードされる。サービスプロバイダは、ユーザが24時間を過ぎて映画を視聴することを望んでいないが、通常のユーザに新しいタイムスタンプを取得させるためにネットワークに接続する面倒をかけることも望んでいない。そこで、サービスプロバイダは、稼働時間が4時間(2時間の映画を観るのにかかる稼働時間×2)を上回る場合には新規タイムスタンプを要求するTUPをライセンスに配置することに決める。DRMモジュール207がライセンスの検証を試みるときに稼働時間が4時間を上回っているなら、ユーザは映画を観られなくなる(映画を観られなくなるのは新規タイムスタンプが必要だからであって、ライセンスの期限切れとは限らない)。(稼働時間の代わりに、あるいは稼働時間に加えて、電源サイクル数をTUPに使用することもできる。例えば、平均的な使用パターンに基づき、10回以上の電源サイクルからメモリ装置の使用時間が24時間を超えていると判断できる。)新規タイムスタンプから生成された時間推定によってライセンスが有効であることが判明する場合には、DRMモジュール207は映画の再生を再び許可する。
For example, consider the situation where a user downloads a two hour movie to his memory device. A license is also downloaded to the user's memory device, telling them that the movie can be viewed for a limited time of 24 hours. The service provider does not want the user to watch the movie beyond 24 hours, but also does not want to take care of connecting to the network to get a normal user to get a new timestamp. Therefore, the service provider decides to place a TUP requesting a new time stamp in the license when the operation time exceeds 4 hours (operation time required to watch a two-hour movie × 2). If the
TUPをライセンス単位で設定できるなら、コンテンツに合わせてTUPを調整できる。つまり、24時間後に期限切れになる映画ではなく、1週間後に期限切れになる映画なら、ライセンスの時間公差設定を変えることができる。例えば、サービスプロバイダは、メモリ装置が平均して1日当たり10時間使われると推定し、70時間(1日当たり10時間×7日)の稼働時間を過ぎると時間更新をトリガーするようにライセンスのTUPを設定できる。もうひとつの例として、2時間の映画の代わりに、コンテンツが3分間のペイ・パー・ビュー方式のビデオで、視聴が1回限りなら、3分の稼働時間の後に新規タイムスタンプを要求するようにTUPを設計できる。 If the TUP can be set in units of licenses, the TUP can be adjusted according to the content. In other words, the license time tolerance setting can be changed for a movie that expires after one week rather than a movie that expires after 24 hours. For example, a service provider may estimate that memory devices will be used on average 10 hours per day and trigger a license TUP to trigger a time update after 70 hours (10 hours per day x 7 days) of uptime. Can be set. As another example, instead of a two-hour movie, if the content is a three-minute pay-per-view video and if it is only viewed once, request a new timestamp after three minutes of working time TUP can be designed.
TUPの設計にあたって、サービスプロバイダのビジネスモデルも考慮に入れることができる。例えば、現在、保護された音楽の権利配布にあたって、月単位の定期契約サービスが一般的なビジネスモデルになっている。音楽の定期契約サービスでは、ユーザがサービスプロバイダのウェブサイトから好きなだけ音楽をダウンロードし、1ヶ月間は好きなだけその音楽を再生できる。その月が過ぎると、ユーザはライセンスを更新するために自身の定期契約を更新する必要がある。そうしなければ、ライセンスは失効し、ユーザは自身のメモリ装置に蓄積された音楽を再生できなくなる。別の音楽をダウンロードするためにサービスプロバイダのウェブサイトを頻繁に訪れるユーザは、ウェブサイトに接続するたびに新規タイムスタンプを受け取るから、そのユーザのメモリ装置から提供される時間推定の精度は上がる。しかし、比較的大量の音楽をダウンロードするユーザは、月単位のライセンスが期限切れになる前にサービスプロバイダのウェブサイトに再び接続するとは限らない。最終的にそのユーザが別の音楽をダウンロードするために再び接続したら、サービスプロバイダはライセンス期間外に音楽を再生した時間に対する料金をユーザに請求できる。このようなビジネスモデルのため、月極め定期契約のサービスプロバイダが求める時間公差は、ペイ・パー・ユース型コンテンツのサービスプロバイダのものから大いに異なるものとなる。ペイ・パー・ユース型コンテンツのユーザは、コンテンツを受け取ったウェブサイトに戻らない可能性がある。月極め定期契約サービスのユーザは、別の音楽をダウンロードするためにウェブサイトに戻る見込みがペイ・パー・ユース型サービスより高いため、月極め定期契約のサービスプロバイダにとって厳重な時間公差は望ましくないかもしれない。これは時間公差を厳しくすると、厳しくしなくてもいずれは戻ってくる顧客に新規タイムスタンプの取得を要求し、顧客の気分を害することになるからである。時間公差を緩めると、サービスプロバイダのウェブサイトに戻らない顧客が1ヶ月のライセンス期間より長く音楽を再生(例えば、1ヶ月の実時間ではなく1ヶ月の稼働時間にわたって再生)できることになる。しかし、サービスプロバイダは諸般の事情を考え合わせ、戻ってくる顧客に不便な思いをさせ気分を害する事態を避けるために払う犠牲として、そのような不正使用を認めるかもしれない。 The service provider's business model can also be taken into account when designing the TUP. For example, monthly subscription services are now a common business model for distributing protected music rights. The music subscription service allows users to download as much music as they want from the service provider's website and play it as much as they want for one month. After that month, the user needs to renew his subscription to renew the license. Otherwise, the license expires and the user cannot play music stored in his memory device. A user who frequently visits the service provider's website to download another music receives a new time stamp each time he connects to the website, thus increasing the accuracy of the time estimate provided from the user's memory device. However, users who download a relatively large amount of music do not always reconnect to the service provider's website before their monthly license expires. Eventually, when the user reconnects to download another music, the service provider can charge the user for the time the music was played outside the license period. Due to this business model, the time tolerances required by service providers with monthly subscriptions differ greatly from those of pay-per-use content service providers. Pay-per-use content users may not return to the website that received the content. Strict time tolerances may not be desirable for monthly subscription service providers because users of monthly subscription services are more likely to return to the website to download other music than pay-per-use services . This is because if the time tolerance is tightened, even if it is not tightened, the returning customer will be requested to acquire a new time stamp, and the customer will be offended. Loose time tolerances allow customers who do not return to the service provider's website to play music longer than the one-month license period (eg, play over one month of operating time rather than one month of real time). However, service providers may allow such misuse at the expense of combining various circumstances and making inconveniences to return customers and avoiding offenses.
もうひとつの例として、ユーザが自身の携帯電話機を使ってメモリ装置から音声や映像を再生しているときに、サービスプロバイダが携帯電話機に向けてポイント広告を提供するビジネスモデルについて考えてみる。そのポイント広告がコンテンツの再生時に携帯電話機の近くにある店舗に関するものなら、コンテンツが再生されているときにはホスト装置がネットワークへ接続されていなければならない。接続されていなければ、所在地ごとに異なるポイント広告を送りとどけることはできない。これを徹底するには、ユーザが確実にネットワークへ接続し新規タイムスタンプを取得するようにコンテンツのTUPを非常に低い量(1分の稼働時間等)に設定することができる。ユーザがネットワークへ接続したら、ネットワークは携帯電話機の所在地を把握し、適切な広告コンテンツを携帯電話機に送りつけることができる。その一方で、サービスプロバイダが収益をあげるにあたってコンテンツの再生回数さえ分かればよいなら、時間公差をかなり緩くできる。 As another example, consider a business model in which a service provider provides point advertisements to a mobile phone when the user is playing audio or video from a memory device using his / her mobile phone. If the point advertisement relates to a store near the mobile phone when the content is reproduced, the host device must be connected to the network when the content is reproduced. If you are not connected, you cannot send different point advertisements for each location. To ensure this, the content TUP can be set to a very low amount (such as one minute of uptime) so that the user can reliably connect to the network and obtain a new time stamp. When the user connects to the network, the network can know the location of the mobile phone and send appropriate advertising content to the mobile phone. On the other hand, if the service provider only needs to know the number of times the content has been played to make a profit, the time tolerance can be considerably relaxed.
前述した例から分かるように、ライセンスファイルに設定可能TUPを使用することにより、コンテンツのサービスプロバイダは、タイムスタンプ更新のためにネットワークへのホスト装置接続を顧客に強いて顧客の気分を害することがないように、適当な時間更新を設定しバランスをとることができる。この実施形態のメモリ装置は多数のTUPを備える多目的・多用途メモリ装置であるため、メモリ装置で一定の時間が過ぎてある1つのサービスが締め切られても、他のサービスは有効であり続ける。つまり、TUPはコンテンツのライセンスごとに異なるため、たとえプレイヤが認証済みであっても、場合によってはメモリ装置で再生できるコンテンツと、新規タイムスタンプを取得しない限り再生できないコンテンツがある。 As can be seen from the above example, by using a configurable TUP in the license file, the content service provider does not impair the customer's mood by forcing the customer to connect the host device to the network for the time stamp update. In this way, an appropriate time update can be set and balanced. Since the memory device of this embodiment is a multi-purpose / multi-purpose memory device having a large number of TUPs, even if one service is overdue after a certain period of time in the memory device, other services continue to be effective. That is, since the TUP is different for each content license, there are content that can be played back by the memory device and content that cannot be played back unless a new time stamp is acquired even if the player is authenticated.
前に説明したように、これら実施形態のメモリ装置は2つの構成要素を含む。つまり、中央セキュリティシステムと、中央セキュリティシステムから独立した1つ以上のアプリケーションとからなる。(アプリケーションは中央セキュリティシステムから独立しているため、ここではアプリケーションのことを「エクステンション」または「内部エクステンション」と呼ぶことがある。)図3に見られる実施形態で、アプリケーションはDRMモジュール207の形態をとっている。しかし、eコマース機能、バンキング機能、クレジットカード機能、電子マネー機能、生体計測機能、アクセス制御機能、個人データ機能、eメール保安機能を提供するアプリケーション等、これとは別のアプリケーションを使用することもできる。また、図3のメモリ装置200にはただ1つのアプリケーションが示されているが、数通りのアプリケーションをメモリ装置に用意することもできる(DRMモジュールとeコマースモジュール等)。
As previously described, the memory devices of these embodiments include two components. That is, it consists of a central security system and one or more applications independent of the central security system. (Because the application is independent of the central security system, the application may be referred to herein as an “extension” or “internal extension”.) In the embodiment seen in FIG. Have taken. However, other applications such as e-commerce function, banking function, credit card function, electronic money function, biometric function, access control function, personal data function, e-mail security function may be used. it can. In addition, although only one application is shown in the
中央セキュリティシステムはACRを使用し、メモリ装置内のアプリケーション(DRMエージェント等)を通じてメモリ装置に蓄積された被保護データに対してアクセスを試みるエンティティを認証する。メモリ装置に対してエンティティが認証されると、エンティティと、エンティティの認証に使ったACRによって指定されるアプリケーションとの間で、セキュアセッションが始まる。そこで、エンティティは、被保護データにアクセスするためのコマンド/要求をアプリケーションに送信できる。このように、中央セキュリティシステムはメモリ装置にとって門番の役割を果たす。前に参照した米国特許出願第11/557,028号(特許文献10)で詳述されているように、中央セキュリティシステムはメモリ装置200で実行する種々のアプリケーションを分離することもでき、その場合には、ある1つのアプリケーションは他のアプリケーションのデータにアクセスできない。
The central security system uses ACR to authenticate an entity attempting to access protected data stored in the memory device through an application (such as a DRM agent) in the memory device. When the entity is authenticated against the memory device, a secure session begins between the entity and the application specified by the ACR used to authenticate the entity. The entity can then send a command / request to the application to access the protected data. Thus, the central security system acts as a gatekeeper for the memory device. As detailed in previously referenced US patent application Ser. No. 11 / 557,028, the central security system can also separate various applications executing on the
中央セキュリティシステムはアクセス管理機構を提供し、メモリ装置に蓄積されたデータに対するアクセスを認可されたエンティティに限定する形でデータを保護するが、中央セキュリティシステム自体は、保護の対象となるデータを認識し処理しない場合がある。被保護データを認識し処理するのは、メモリ装置で実行するアプリケーションである。例えば、被保護データがDRMライセンスなら、中央セキュリティシステムではなくDRMエージェントがDRMライセンスを検証する。したがって、中央セキュリティシステムは、アプリケーションから独立した設定可能なツールボックスとみなすことができる。具体的には、サービスプロバイダがメモリ装置にアプリケーションを設置し、ACRを設定することにより、アプリケーションに特定のエンティティが対応付けられる。中央セキュリティシステムから見た場合には、中央セキュリティシステムはそのアプリケーションがどのような働きをするのか(例えば、アプリケーションがDRMライセンス検証を果たすのか、eコマース機能を果たすのか)を知らないが、ACRに対して認証されたエンティティだけが、ACRで指定されたアプリケーションと通信できることは知っている。中央セキュリティシステムによってエンティティが認証されたら、中央セキュリティシステムはエンティティとアプリケーションとの間にセキュアチャネルを開放する。 The central security system provides an access management mechanism that protects data in a manner that limits access to data stored in memory devices to authorized entities, but the central security system itself recognizes the data to be protected. However, it may not be processed. It is the application that runs on the memory device that recognizes and processes the protected data. For example, if the protected data is a DRM license, the DRM agent verifies the DRM license instead of the central security system. Thus, the central security system can be viewed as a configurable toolbox independent of the application. Specifically, when a service provider installs an application in a memory device and sets an ACR, a specific entity is associated with the application. From the perspective of the central security system, the central security system does not know how the application works (eg, whether the application performs DRM license verification or e-commerce functions), but the ACR Only entities that have been authenticated against know that they can communicate with the application specified in the ACR. Once the entity is authenticated by the central security system, the central security system opens a secure channel between the entity and the application.
場合によっては中央セキュリティシステムとアプリケーションの両方で時間を知る必要がある。例えば、中央セキュリティシステムは時間ベースの認証(非対称認証等)にあたって時間を知る必要があり、アプリケーションは時間ベースの操作(DRMライセンス検証等)にあたって時間を知る必要がある。前述したように、メモリ装置の中央タイムモジュールは、中央セキュリティシステムとメモリ装置で実行するアプリケーションの両方に時間を提供できる。例えば、図3を参照すると、タイムモジュール204は種々エンティティの認証のために非対称ACR201,202に時間を提供するほか、ライセンスの有効性検査のためにDRMモジュール207に時間を提供する。図8との関係で後述するように、メモリ装置のアプリケーションは、場合によってはタイムモジュールの時間に加えて、あるいはタイムモジュールの時間の代わりに、ホスト時間の使用を選ぶことができる。
Sometimes it is necessary to know time in both the central security system and the application. For example, the central security system needs to know the time for time-based authentication (such as asymmetric authentication), and the application needs to know the time for time-based operations (such as DRM license verification). As described above, the central time module of the memory device can provide time to both the central security system and the applications executing on the memory device. For example, referring to FIG. 3, the
図8は、ホスト装置700と通信するメモリ装置600を示す。ホスト装置700はエンティティ(ここでは、プレイヤ710)を備え、時間720を提供する何らかのメカニズム(バッテリ方式のクロック等)を有する。この例のメモリ装置600は対称ACR610(非対称ACRでもよい)と、タイムモジュール620と、DRMモジュール630と、被保護コンテンツ640と、被保護コンテンツ640のライセンス650とを有する。(図8におけるメモリ装置のアプリケーションはDRMモジュール630である。これとはタイプの異なるアプリケーションも使用でき、メモリ装置で2つ以上のアプリケーションを実行できることに留意するべきである。)対称ACR610を使用しメモリ装置600に対してプレイヤ710が認証されると、対称ACR610に設定されたパラメータに従いプレイヤ710とDRMモジュール630との間にセキュアチャネル660が確立する。DRMモジュール630とプレイヤ710は互いを知らないが、サービスプロバイダによって設定された対称ACR610によりDRMモジュール630はプレイヤ710に対応付けられている。したがって、同一グループの相手方にあたるDRMモジュール630とプレイヤ710との間にはある程度の信頼関係がある。この信頼関係に基づき、時間の供給元としてプレイヤ710からホスト時間720を受け付けDRMライセンス検証を実行するようにDRMモジュール630をプログラムできる。DRMライセンスの検証を実行するDRMモジュール630には、時間を供給するタイムソースが2つある。つまり、ホスト時間720と、メモリ装置の中央タイムモジュール620からの時間を利用できる。これらタイムソースにはそれぞれ利点と欠点とがある。メモリ装置のタイムモジュール620は連続的に時間を追跡しないため、タイムモジュール620の時間はホスト時間720ほど正確ではない。ホスト時間720は多くの場合、バッテリ方式の連続クロックによって提供される。その一方で、前述したセキュリティ対策のためには、タイムモジュール620の時間のほうがホスト時間720より安全であり、ホスト装置700のユーザが単純なユーザインターフェイスを使ってホスト時間720を変更できる場合には特に、タイムモジュール620の時間のほうが安全である。
FIG. 8 shows a
メモリ装置600で実行するアプリケーション(DRMモジュール630等)は、時間ベースの操作に用いる時間推定の生成に適した形で2通りのタイムソースを使用するようにプログラムできる。(しかし、好ましくは、アプリケーションはホスト時間720を使ってタイムモジュール620を更新できない。)例えば、アプリケーションは、タイムモジュール620の時間の代わりに常にホスト時間720を使用するようにプログラムできるほか、ホスト時間720の代わりに常にタイムモジュール620の時間を使用するようにプログラムできる。もうひとつの例として、ホスト時間720とタイムモジュール620の時間のうちの遅い(または早い)ほうを使用するようにアプリケーションをプログラムできる。両方のタイムソースを何らかの形で使用し(例えば、ホスト時間720とタイムモジュール620の時間の平均をとり)、時間推定を生成するようにアプリケーションをプログラムすることもできる。もうひとつの例として、アプリケーションはホスト装置700に関する情報に基づいて使用するタイムソースを決めることができる。アプリケーションは認証プロセスを通じてホスト装置のタイプを知ることができる(例えば、非対称認証を使用するなら、ホスト装置700の個別の識別子とグループ識別子を認証アルゴリズムからアプリケーションに知らせることができる)。ホスト装置には安全なものとそうでないものとがあるため、この情報は重要であり得る。例えば、ホスト装置がPCなら、ソフトウェアアプリケーションの単純なユーザインターフェイスを使ってPCのクロックを容易に操作できる。(信用度が比較的低いホスト装置からのホスト時間を信用しないほか、アプリケーションは、コンテンツキー、ライセンス値または期間、ライセンス変更権利を有するホスト装置で実行するエンティティを信用できないこともある。この場合、DRMエージェントは(暗号鍵とコンテンツをホスト装置に与える代わりに)メモリ装置からホスト装置に向けてコンテンツを流すだけでよい。)しかし、ホストが閉鎖されたシステムなら、例えばMP3プレイヤなら、ホストのクロックを操作することは格段に困難になる場合がある。したがって、ホスト装置600で実行するアプリケーションにとって、ホスト装置700がPCである場合よりホスト装置700がMP3プレイヤである場合のほうが、ホスト時間720を信用できる。
Applications executing on memory device 600 (such as DRM module 630) can be programmed to use two time sources in a manner suitable for generating time estimates for use in time-based operations. (But preferably, the application cannot update the
プレイヤ710は、一実施形態において、歌を再生するための要求をDRMモジュール630に送るときに、DRMモジュール630にホスト時間720を勧める。DRMモジュール630は、前述したように、ホスト時間720を使うか、それともタイムモジュール620の時間を使うかを決定する。ホスト時間720は、比較的短時間のログインセッションだけに使用したほうが好ましく、絶対的な現在時間としてその後のセッションで使用するべきではない。あるいは、ホスト時間720をアプリケーションで先々使用できるように蓄積し、その時間の精度を向上させるため、前述した「時間伸張」やその他のメカニズムを用いることもできる(オプション)。しかし、ホスト時間はアプリケーションの特定の時間ベース操作に限って使用したほうが好ましく、これを使ってタイムモジュール620の時間を更新するべきではない(アプリケーションは「エクステンション」であって、中央セキュリティシステムと同じ信用陣営を形成するものではないから)。前述したように、タイムモジュール620の時間は必ず、信頼されたタイムサーバ(中央セキュリティシステムと同じ信用陣営を形成するタイムサーバ)を使って更新したほうが好ましい。また、メモリ装置600で複数のアプリケーションを実行する場合には、それぞれのアプリケーションに2つのタイムソースがある。つまり、タイムモジュール620の時間と、アプリケーションと通信するエンティティのホスト装置からの時間とを利用できる。しかし、ある1つのアプリケーションで使用するホスト時間はそのアプリケーションだけに使用したほうがよく、異なるホスト装置と関わっている別のアプリケーションには使用するべきではない。
前述したように、メモリ装置600で実行するアプリケーション(DRMモジュール630等)は、タイムモジュール620からの時間にホスト時間720を比較し、2つの時間のうちの遅い(または早い)ほうを使用するようにプログラムできる。例えば、ホスト700が十分に長い時間にわたってタイムサーバに接続しないために時間にずれが生じることにより、あるいはホストのクロックがハッキングされることにより、ホスト時間720はタイムモジュール620の時間より前になることがある。前述したように、ホスト時間720をアプリケーションで先々使用できるように蓄積することもできる。これらアイデアを組み合わせ、ホスト時間720を蓄積し、後ほど別のホスト装置から受信した時間との比較に使用(単独で使用、またはタイムモジュール620の時間と併せて使用)することができる。この比較をもとに、メモリ装置は時間ベース操作の実行にあたって目下のホスト装置の時間を使用するか、それとも蓄積されている以前のホスト装置の時間を使用するかを決定できる。例えば、メモリ装置は、時間ベース操作が「〜以前は不可」操作なら2つの時間のうちの早いほうをとり、時間ベース操作が「〜以降は不可」操作なら2つの時間のうちの遅いほうをとるようにプログラムできる。こうすれば、単一タイムサーバを基準とする単一マルチホストアンチロールバックメカニズムの参照値として、信頼された他のホストデバイスから受信したタイムスタンプを使用できる。
As described above, an application (such as the DRM module 630) executing on the
同じく前述したように、ホスト装置の認証にあたって、非時間ベースの認証システム(対称認証等)を使用できる。この場合、アプリケーションの時間ベース操作(DRM操作等)を認証タイムサーバから切り離すことができる。つまり、ホスト装置かDRMサーバの時間だけが使われるなら、アプリケーションの時間ベース操作は、認証タイムサーバの時間やメモリ装置のタイムモジュールの時間に左右されない。したがって、何らかの事情により認証タイムサーバに問題があったり、時間ベースのアプリケーションが認証タイムサーバに基づく時間を使用しないことを選んだりする場合でも、時間ベースのアプリケーションは引き続きホスト時間を使って操作を実行できる。 As described above, a non-time-based authentication system (such as symmetric authentication) can be used for authenticating the host device. In this case, the time base operation (DRM operation etc.) of the application can be separated from the authentication time server. In other words, if only the time of the host device or the DRM server is used, the time-based operation of the application does not depend on the time of the authentication time server or the time module of the memory device. Therefore, even if there is a problem with the authentication time server for some reason, or the time-based application chooses not to use the time based on the authentication time server, the time-based application continues to perform operations using the host time. it can.
前述した実施形態はいずれも単独で使用できるほか、組み合わせて使用できることに留意するべきである。参照により援用されている特許出願には、これら実施形態と併せて使用できる他の実施形態が記載されている。さらに、現時点ではサンディスク コーポレイションのメモリ装置TrustedFlash(登録商標)でこれら実施形態を実装するのが好ましいが、どんなタイプのメモリ装置であってもこれら実施形態を役立てることができることを理解するべきである。また、メモリ装置以外の分野で時間を知るもしくは使用する必要があり、クロックが正確でないという一般的な問題に直面する場合にも、これら実施形態を役立てることができる。加えて、前述したアクトは、全面的にメモリ装置で実行する代わりに、その一部または全部をホスト装置(または他の何らかの装置)で実行することもできる。 It should be noted that any of the embodiments described above can be used alone or in combination. Patent applications incorporated by reference describe other embodiments that can be used in conjunction with these embodiments. Further, although it is currently preferred to implement these embodiments on SanDisk Corporation's memory device TrustedFlash®, it should be understood that any type of memory device can be useful. . These embodiments can also be useful when faced with the general problem of needing to know or use time in fields other than memory devices and inaccurate clocks. In addition, instead of executing the above-described act entirely on the memory device, part or all of the act can be executed on the host device (or some other device).
以上の詳細な説明は、本発明を規定するものではなく、本発明がとり得る特定の形態を例示するものとして理解されることを意図する。本発明の範囲は専ら、添付の特許請求の範囲とこれと同等のものとによって規定される。特許請求の範囲に記載されたアクトは、記載された順序に限らず、いかなる順序でも実行できることに留意するべきである。最後に、本願明細書で説明した好適な実施形態の態様のどれも単独で使用できるほか、互いに組み合わせて使用できることにも留意するべきである。 The above detailed description is not intended to define the present invention, but is intended to be understood as illustrating specific forms that the present invention can take. The scope of the present invention is defined solely by the appended claims and their equivalents. It should be noted that the actions recited in the claims can be performed in any order, not limited to the order described. Finally, it should be noted that any of the aspects of the preferred embodiments described herein can be used alone or in combination with each other.
Claims (19)
メモリ装置上のアプリケーションにより、
ホスト装置上で実行し前記メモリ装置によって認証されるエンティティから、時間本位操作の実行要求を受信するステップと、
前記時間本位操作の実行にあたって、前記メモリ装置上のタイムモジュールからの時間の代わりに前記ホスト装置からの時間を選択するステップと、
前記時間本位操作の実行にあたって、前記ホスト装置からの前記時間を使用するステップと、
を含む方法。 A method for performing a time-oriented operation by an application on a memory device,
Depending on the application on the memory device,
Receiving an execution request for a time-oriented operation from an entity executed on a host device and authenticated by the memory device;
Selecting the time from the host device instead of the time from the time module on the memory device in performing the time-oriented operation;
Using the time from the host device in performing the time-oriented operation;
Including methods.
前記ホスト装置からの時間は、前記ホスト装置からの時間が前記タイムモジュールからの時間より遅い場合に限り、前記タイムモジュールからの時間の代わりに選択される方法。 The method of claim 1, wherein
The method in which the time from the host device is selected instead of the time from the time module only if the time from the host device is later than the time from the time module.
前記ホスト装置の同一性を判定するステップをさらに含み、前記ホスト装置からの時間は、前記ホスト装置が信頼できると判断される場合に限り、前記タイムモジュールからの時間の代わりに選択される方法。 The method of claim 1, wherein
The method further comprises the step of determining the identity of the host device, wherein the time from the host device is selected instead of the time from the time module only if the host device is determined to be reliable.
前記ホスト装置からの時間は、前記タイムモジュールからの時間より比較的正確であり、前記タイムモジュールからの時間は、前記ホスト装置からの時間より比較的安全である方法。 The method of claim 1, wherein
The time from the host device is relatively more accurate than the time from the time module, and the time from the time module is relatively safer than the time from the host device.
前記ホスト装置からの時間は、前記タイムモジュールの更新には使用できない方法。 The method of claim 1, wherein
The time from the host device cannot be used to update the time module.
前記エンティティの認証にあたって、前記タイムモジュールからの前記時間を使用するステップをさらに含む方法。 The method of claim 1, wherein
The method further comprising using the time from the time module in authenticating the entity.
単一セッションに限り前記ホスト装置からの時間を使用するステップをさらに含む方法。 The method of claim 1, wherein
A method further comprising using time from the host device for a single session only.
前記時間本位操作は、デジタル著作権管理(DRM)ライセンス検証操作を含む方法。 The method of claim 1, wherein
The time-oriented operation includes a digital rights management (DRM) license verification operation.
前記メモリ装置は、前記メモリ装置に蓄積された被保護コンテンツのロックを解除するためにデジタル著作権管理(DRM)キーおよびライセンスを蓄積する方法。 The method of claim 1, wherein
The memory device stores a digital rights management (DRM) key and a license to unlock protected content stored in the memory device.
前記メモリ装置は、前記ホスト装置から受信した時間を蓄積する働きと、第2のホスト装置から時間を受信する働きと、前記第2のホスト装置からの時間を前記ホスト装置からの蓄積時間と比較する働きと、前記時間本位操作の実行にあたって、前記比較に基づき、前記第2のホスト装置の代わりに前記ホスト装置からの時間の使用を決定する働きとをする方法。 The method of claim 1, wherein
The memory device compares the time received from the host device, the time received from the second host device, and the time received from the second host device with the time accumulated from the host device. And a method for determining the use of time from the host device instead of the second host device based on the comparison in performing the time-oriented operation.
前記メモリ装置は、非時間本位認証システムを用いて前記ホスト装置を認証する働きをする方法。 The method of claim 1, wherein
The method wherein the memory device serves to authenticate the host device using a non-time based authentication system.
メモリアレイと、
前記メモリアレイと通信する回路であって、
ホスト装置上で実行するエンティティの認証要求を受信する働きと、
前記エンティティと前記メモリ装置内のアプリケーションとを対応付けるアクセス管理記録(ACR)で指定された認証方法と、メモリ装置上のタイムモジュールからの時間とを使用し、前記エンティティを認証する働きと、
前記エンティティから前記アプリケーションに対する時間本位操作の実行要求を受信する働きと、
前記時間本位操作の実行にあたって、前記タイムモジュールからの時間の代わりに前記ホスト装置からの時間を選択する働きと、
前記時間本位操作の実行にあたって、前記ホスト装置からの前記時間を使用する働きと、をする回路と、
を備えるメモリ装置。 A memory device,
A memory array;
A circuit in communication with the memory array,
Receiving an entity authentication request to be executed on the host device;
Authenticating the entity using an authentication method specified in an access management record (ACR) that associates the entity with an application in the memory device and a time from a time module on the memory device;
Receiving a request for execution of a time-oriented operation for the application from the entity;
In performing the time-oriented operation, the function of selecting the time from the host device instead of the time from the time module;
A circuit that uses the time from the host device to perform the time-oriented operation;
A memory device.
前記ホスト装置からの時間は、前記ホスト装置からの時間が前記タイムモジュールからの時間より遅い場合に限り、前記タイムモジュールからの時間の代わりに選択されるメモリ装置。 The memory device according to claim 12, wherein
The memory device is selected in place of the time from the time module only when the time from the host device is later than the time from the time module.
前記ホスト装置からの時間は、前記ホスト装置が信頼できると判断される場合に限り、前記タイムモジュールからの時間の代わりに選択されるメモリ装置。 The memory device according to claim 12, wherein
A memory device in which the time from the host device is selected instead of the time from the time module only if the host device is determined to be reliable.
前記ホスト装置からの時間は、前記タイムモジュールからの時間より比較的正確であり、前記タイムモジュールからの時間は、前記ホスト装置からの時間より比較的安全であるメモリ装置。 The memory device according to claim 12, wherein
The memory device wherein the time from the host device is relatively more accurate than the time from the time module, and the time from the time module is relatively safer than the time from the host device.
前記ホスト装置からの時間は、前記タイムモジュールの更新には使用できないメモリ装置。 The memory device according to claim 12, wherein
The memory device cannot use the time from the host device for updating the time module.
前記回路は、単一セッションに限り前記ホスト装置からの時間を使用する働きをさらにするメモリ装置。 The memory device according to claim 12, wherein
The memory device further serves to use time from the host device for a single session only.
前記時間本位操作は、デジタル著作権管理(DRM)ライセンス検証操作を含むメモリ装置。 The memory device according to claim 12, wherein
The time-oriented operation is a memory device including a digital rights management (DRM) license verification operation.
前記メモリ装置は、前記メモリ装置に蓄積された被保護コンテンツのロックを解除するためにデジタル著作権管理(DRM)キーおよびライセンスを蓄積するメモリ装置。 The memory device according to claim 12, wherein
The memory device stores a digital rights management (DRM) key and a license for unlocking protected content stored in the memory device.
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/811,345 US20080307507A1 (en) | 2007-06-08 | 2007-06-08 | Memory device using time from a trusted host device |
US11/811,346 US8869288B2 (en) | 2007-06-08 | 2007-06-08 | Method for using time from a trusted host device |
PCT/US2008/065970 WO2008154309A1 (en) | 2007-06-08 | 2008-06-05 | Memory device using the time from a trusted host device and method for use therewith |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2010532024A true JP2010532024A (en) | 2010-09-30 |
Family
ID=39674859
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2010511336A Pending JP2010532024A (en) | 2007-06-08 | 2008-06-05 | Memory device using time from trusted host device and method for use in the device |
Country Status (6)
Country | Link |
---|---|
EP (1) | EP2156358A1 (en) |
JP (1) | JP2010532024A (en) |
KR (1) | KR20100041734A (en) |
CN (1) | CN101816003A (en) |
TW (1) | TWI386947B (en) |
WO (1) | WO2008154309A1 (en) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2011081764A (en) * | 2009-09-14 | 2011-04-21 | Panasonic Corp | Content receiver, content reproducer, content reproducing system, content writing method, expiration date determining method, program, and recording medium |
US9166980B2 (en) | 2011-05-09 | 2015-10-20 | Panasonic Corporation | Content management system, management server, memory media device and content management method |
CN109151160B (en) * | 2018-06-26 | 2021-04-13 | Oppo广东移动通信有限公司 | Communication method, communication device, mobile terminal and storage medium |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005301333A (en) * | 2004-04-06 | 2005-10-27 | Hitachi Global Storage Technologies Netherlands Bv | Magnetic disk drive with use time limiting function |
WO2006018864A1 (en) * | 2004-08-17 | 2006-02-23 | Mitsubishi Denki Kabushiki Kaisha | Storage device and storage method |
JP2006350496A (en) * | 2005-06-14 | 2006-12-28 | Hitachi Global Storage Technologies Netherlands Bv | Storage device and access control method for storage device |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4169942B2 (en) * | 2001-02-27 | 2008-10-22 | インターナショナル・ビジネス・マシーンズ・コーポレーション | Content usage method, content distribution method, content distribution system, and program |
US7134144B2 (en) * | 2001-03-01 | 2006-11-07 | Microsoft Corporation | Detecting and responding to a clock rollback in a digital rights management system on a computing device |
US20030069854A1 (en) * | 2001-10-09 | 2003-04-10 | Hsu Michael M. | Expiring content on playback devices |
WO2004075525A1 (en) * | 2003-02-20 | 2004-09-02 | Ase R & D Europe | Method for offering time on smart card and method for time registration by means of mobile communication device |
JP2004326278A (en) * | 2003-04-23 | 2004-11-18 | Renesas Technology Corp | Nonvolatile storage device and data processor |
JP2005063079A (en) * | 2003-08-11 | 2005-03-10 | Matsushita Electric Ind Co Ltd | Memory card device, right management system and time management method |
US8327448B2 (en) * | 2005-06-22 | 2012-12-04 | Intel Corporation | Protected clock management based upon a non-trusted persistent time source |
US20070056042A1 (en) * | 2005-09-08 | 2007-03-08 | Bahman Qawami | Mobile memory system for secure storage and delivery of media content |
DE102005050352B4 (en) * | 2005-10-20 | 2008-02-07 | Infineon Technologies Ag | Time indication test unit, electronic device and method for checking a time indication |
-
2008
- 2008-06-05 CN CN200880102443.4A patent/CN101816003A/en active Pending
- 2008-06-05 EP EP08756739A patent/EP2156358A1/en not_active Withdrawn
- 2008-06-05 KR KR1020107000102A patent/KR20100041734A/en not_active Application Discontinuation
- 2008-06-05 JP JP2010511336A patent/JP2010532024A/en active Pending
- 2008-06-05 WO PCT/US2008/065970 patent/WO2008154309A1/en active Application Filing
- 2008-06-06 TW TW097121272A patent/TWI386947B/en not_active IP Right Cessation
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005301333A (en) * | 2004-04-06 | 2005-10-27 | Hitachi Global Storage Technologies Netherlands Bv | Magnetic disk drive with use time limiting function |
WO2006018864A1 (en) * | 2004-08-17 | 2006-02-23 | Mitsubishi Denki Kabushiki Kaisha | Storage device and storage method |
JP2006350496A (en) * | 2005-06-14 | 2006-12-28 | Hitachi Global Storage Technologies Netherlands Bv | Storage device and access control method for storage device |
Also Published As
Publication number | Publication date |
---|---|
WO2008154309A1 (en) | 2008-12-18 |
TW200907996A (en) | 2009-02-16 |
EP2156358A1 (en) | 2010-02-24 |
CN101816003A (en) | 2010-08-25 |
TWI386947B (en) | 2013-02-21 |
KR20100041734A (en) | 2010-04-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8869288B2 (en) | Method for using time from a trusted host device | |
US8688588B2 (en) | Method for improving accuracy of a time estimate used in digital rights management (DRM) license validation | |
US20080307494A1 (en) | Memory device with circuitry for improving accuracy of a time estimate used to authenticate an entity | |
US20080307495A1 (en) | Memory device with circuitry for improving accuracy of a time estimate used in digital rights management (DRM) license validation | |
US20080307507A1 (en) | Memory device using time from a trusted host device | |
US8688924B2 (en) | Method for improving accuracy of a time estimate from a memory device | |
US8938625B2 (en) | Systems and methods for securing cryptographic data using timestamps | |
US20080304364A1 (en) | Memory device with circuitry for improving accuracy of a time estimate | |
US20130004142A1 (en) | Systems and methods for device authentication including timestamp validation | |
US20080307237A1 (en) | Method for improving accuracy of a time estimate used to authenticate an entity to a memory device | |
CN101160915A (en) | Method for charging precisely in the digital rights management and a device thereof | |
JP5180293B2 (en) | MEMORY DEVICE HAVING CIRCUIT FOR IMPROVING ACCURACY OF TIME ESTIMATION USED FOR DIGITAL RIGHTS MANAGEMENT (DRM) LICENSE VERIFICATION AND METHOD USED IN THE DEVICE | |
JP2010532024A (en) | Memory device using time from trusted host device and method for use in the device | |
JP5343071B2 (en) | MEMORY DEVICE WITH CIRCUIT FOR IMPROVING ACCURACY OF TIME ESTIMATION USED FOR ENTITENT AUTHENTICATION AND METHOD USED IN THE DEVICE | |
KR20080039089A (en) | Method and apparatus for digital rights management | |
JP5180292B2 (en) | MEMORY DEVICE PROVIDED WITH CIRCUIT FOR IMPROVING ACCURACY OF TIME ESTIMATION AND METHOD USED IN THE DEVICE | |
CN101194265B (en) | Method for controlling a consumption limit date of digital contents |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20110314 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20120213 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20120228 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20120522 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20120529 |
|
A711 | Notification of change in applicant |
Free format text: JAPANESE INTERMEDIATE CODE: A711 Effective date: 20120615 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20120622 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20120709 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20120710 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20121211 |