JP2012155734A - デジタル著作権管理エンジンのシステムおよび方法 - Google Patents
デジタル著作権管理エンジンのシステムおよび方法 Download PDFInfo
- Publication number
- JP2012155734A JP2012155734A JP2012066252A JP2012066252A JP2012155734A JP 2012155734 A JP2012155734 A JP 2012155734A JP 2012066252 A JP2012066252 A JP 2012066252A JP 2012066252 A JP2012066252 A JP 2012066252A JP 2012155734 A JP2012155734 A JP 2012155734A
- Authority
- JP
- Japan
- Prior art keywords
- content
- electronic content
- control program
- key
- node
- 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
- 238000000034 method Methods 0.000 title claims abstract description 246
- 230000009471 action Effects 0.000 claims description 128
- 238000007726 management method Methods 0.000 claims description 65
- 230000006870 function Effects 0.000 claims description 60
- 238000009877 rendering Methods 0.000 claims description 37
- 230000001012 protector Effects 0.000 claims description 27
- 238000013475 authorization Methods 0.000 claims description 26
- 238000005516 engineering process Methods 0.000 claims description 19
- 238000011156 evaluation Methods 0.000 claims description 12
- 238000005259 measurement Methods 0.000 claims description 6
- 238000012550 audit Methods 0.000 claims description 3
- 230000001419 dependent effect Effects 0.000 claims description 3
- 239000003795 chemical substances by application Substances 0.000 description 73
- 230000007246 mechanism Effects 0.000 description 50
- 230000004044 response Effects 0.000 description 48
- 238000012546 transfer Methods 0.000 description 45
- 238000004806 packaging method and process Methods 0.000 description 38
- 230000008569 process Effects 0.000 description 33
- 238000012545 processing Methods 0.000 description 29
- 238000009795 derivation Methods 0.000 description 28
- 238000004422 calculation algorithm Methods 0.000 description 26
- 241000238413 Octopus Species 0.000 description 23
- 238000004891 communication Methods 0.000 description 22
- 230000036541 health Effects 0.000 description 21
- 230000003993 interaction Effects 0.000 description 19
- 230000000875 corresponding effect Effects 0.000 description 18
- HEFNNWSXXWATRW-UHFFFAOYSA-N Ibuprofen Chemical compound CC(C)CC1=CC=C(C(C)C(O)=O)C=C1 HEFNNWSXXWATRW-UHFFFAOYSA-N 0.000 description 17
- 238000009826 distribution Methods 0.000 description 16
- 238000010586 diagram Methods 0.000 description 14
- 230000027455 binding Effects 0.000 description 13
- 238000009739 binding Methods 0.000 description 13
- 230000007717 exclusion Effects 0.000 description 13
- 230000008685 targeting Effects 0.000 description 11
- 238000012795 verification Methods 0.000 description 11
- 230000014509 gene expression Effects 0.000 description 10
- 239000000463 material Substances 0.000 description 10
- 239000002131 composite material Substances 0.000 description 9
- 230000000694 effects Effects 0.000 description 9
- 230000008520 organization Effects 0.000 description 9
- 238000003860 storage Methods 0.000 description 9
- 230000008901 benefit Effects 0.000 description 8
- 230000006872 improvement Effects 0.000 description 8
- 238000013461 design Methods 0.000 description 7
- 239000008186 active pharmaceutical agent Substances 0.000 description 6
- 238000004364 calculation method Methods 0.000 description 6
- 235000014510 cooky Nutrition 0.000 description 6
- 230000002085 persistent effect Effects 0.000 description 6
- 102000036364 Cullin Ring E3 Ligases Human genes 0.000 description 4
- 108091007045 Cullin Ring E3 Ligases Proteins 0.000 description 4
- 206010000210 abortion Diseases 0.000 description 4
- 238000004458 analytical method Methods 0.000 description 4
- 230000005540 biological transmission Effects 0.000 description 4
- 230000008676 import Effects 0.000 description 4
- 238000012986 modification Methods 0.000 description 4
- 230000004048 modification Effects 0.000 description 4
- 230000002123 temporal effect Effects 0.000 description 4
- 101150003901 PRKD1 gene Proteins 0.000 description 3
- 230000008859 change Effects 0.000 description 3
- 238000010367 cloning Methods 0.000 description 3
- 230000001010 compromised effect Effects 0.000 description 3
- 239000000284 extract Substances 0.000 description 3
- 238000007689 inspection Methods 0.000 description 3
- 238000000926 separation method Methods 0.000 description 3
- VBMOHECZZWVLFJ-GXTUVTBFSA-N (2s)-2-[[(2s)-6-amino-2-[[(2s)-6-amino-2-[[(2s,3r)-2-[[(2s,3r)-2-[[(2s)-6-amino-2-[[(2s)-2-[[(2s)-6-amino-2-[[(2s)-2-[[(2s)-2-[[(2s)-2,6-diaminohexanoyl]amino]-5-(diaminomethylideneamino)pentanoyl]amino]propanoyl]amino]hexanoyl]amino]propanoyl]amino]hexan Chemical compound NC(N)=NCCC[C@@H](C(O)=O)NC(=O)[C@H](CCCCN)NC(=O)[C@H](CCCCN)NC(=O)[C@H]([C@@H](C)O)NC(=O)[C@H]([C@H](O)C)NC(=O)[C@H](CCCCN)NC(=O)[C@H](C)NC(=O)[C@H](CCCCN)NC(=O)[C@H](C)NC(=O)[C@H](CCCN=C(N)N)NC(=O)[C@@H](N)CCCCN VBMOHECZZWVLFJ-GXTUVTBFSA-N 0.000 description 2
- 241001125831 Istiophoridae Species 0.000 description 2
- 101100217298 Mus musculus Aspm gene Proteins 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 2
- 230000000739 chaotic effect Effects 0.000 description 2
- 238000012790 confirmation Methods 0.000 description 2
- 230000006378 damage Effects 0.000 description 2
- 230000007423 decrease Effects 0.000 description 2
- 238000012217 deletion Methods 0.000 description 2
- 230000037430 deletion Effects 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 238000011835 investigation Methods 0.000 description 2
- 108010068904 lysyl-arginyl-alanyl-lysyl-alanyl-lysyl-threonyl-threonyl-lysyl-lysyl-arginine Proteins 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 238000012384 transportation and delivery Methods 0.000 description 2
- 101100234002 Drosophila melanogaster Shal gene Proteins 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
- 101100499365 Mus musculus Dlk1 gene Proteins 0.000 description 1
- 238000012356 Product development Methods 0.000 description 1
- 240000003793 Rhizophora mangle Species 0.000 description 1
- 244000166071 Shorea robusta Species 0.000 description 1
- 235000015076 Shorea robusta Nutrition 0.000 description 1
- 241000700605 Viruses Species 0.000 description 1
- 230000033228 biological regulation Effects 0.000 description 1
- 230000010267 cellular communication Effects 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 150000001875 compounds Chemical class 0.000 description 1
- 230000001276 controlling effect Effects 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 238000013144 data compression Methods 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000003745 diagnosis Methods 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 230000001747 exhibiting effect Effects 0.000 description 1
- 230000036039 immunity Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 230000006386 memory function Effects 0.000 description 1
- 230000000116 mitigating effect Effects 0.000 description 1
- 230000001343 mnemonic effect Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 231100000957 no side effect Toxicity 0.000 description 1
- 238000010606 normalization Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000012858 packaging process Methods 0.000 description 1
- 230000002265 prevention Effects 0.000 description 1
- 230000001681 protective effect Effects 0.000 description 1
- 238000012552 review Methods 0.000 description 1
- 239000000523 sample Substances 0.000 description 1
- 229910052710 silicon Inorganic materials 0.000 description 1
- 239000010703 silicon Substances 0.000 description 1
- 238000004513 sizing Methods 0.000 description 1
- 239000000344 soap Substances 0.000 description 1
- 238000010561 standard procedure Methods 0.000 description 1
- 238000011425 standardization method Methods 0.000 description 1
- 230000009897 systematic effect Effects 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
- 238000010200 validation analysis Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/10—Network architectures or network communication protocols for network security for controlling access to devices or network resources
-
- 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/60—Protecting data
-
- 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/101—Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM] by binding digital rights to specific entities
- G06F21/1013—Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM] by binding digital rights to specific entities to locations
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/08—Payment architectures
- G06Q20/20—Point-of-sale [POS] network systems
- G06Q20/202—Interconnection or interaction of plural electronic cash registers [ECR] or to host computer, e.g. network details, transfer of information from host to ECR or from ECR to ECR
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
- H04L63/0428—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
- H04L63/0428—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
- H04L63/0492—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload by using a location-limited connection, e.g. near-field communication or limited proximity of entities
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/0819—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
- H04L9/0825—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using asymmetric-key encryption or public key infrastructure [PKI], e.g. key signature or public key certificates
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/30—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
- H04L9/3006—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy underlying computational problems or public-key parameters
- H04L9/302—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy underlying computational problems or public-key parameters involving the integer factorization problem, e.g. RSA or quadratic sieve [QS] schemes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3236—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
- H04L9/3242—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions involving keyed hash functions, e.g. message authentication codes [MACs], CBC-MAC or HMAC
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3247—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3271—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using challenge-response
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/21—Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/2111—Location-sensitive, e.g. geographical location, GPS
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/60—Digital content management, e.g. content distribution
- H04L2209/603—Digital right managament [DRM]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2463/00—Additional details relating to network architectures or network communication protocols for network security covered by H04L63/00
- H04L2463/101—Additional details relating to network architectures or network communication protocols for network security covered by H04L63/00 applying security measures for digital rights management
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/12—Applying verification of the received information
- H04L63/123—Applying verification of the received information received data contents, e.g. message integrity
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computing Systems (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Business, Economics & Management (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Accounting & Taxation (AREA)
- Software Systems (AREA)
- General Business, Economics & Management (AREA)
- Finance (AREA)
- Power Engineering (AREA)
- Strategic Management (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Multimedia (AREA)
- Technology Law (AREA)
- Storage Device Security (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
【解決手段】一実施形態において、リクエストされたコンテンツのアクセスまたは他の使用が認可されるか否かを決定するために、保護されたコンテンツに関連するライセンスを評価するデジタル著作権管理エンジンが提供される。一部の実施形態において、ライセンスは、デジタル著作権管理エンジンによって実行可能な制御プログラムを含む。
【選択図】図29
Description
本出願は、2005年10月18日に米国仮出願第60/728,089号明細書、2006年2月9日に出願の米国仮出願第60/772,024号明細書、2006年4月10日に出願の米国仮出願第60/744,574号明細書、2006年4月10日に出願の米国仮出願第60/791,179号明細書、2006年5月8日に出願の米国仮出願第60/746,712号明細書、2006年5月8日に出願の米国仮出願第60/798,925号明細書、および2006年8月1日に出願の米国仮出願第60/835,061号明細書の利益を請求する。米国仮出願第60/728,089号明細書、第60/772,024号明細書、第60/744,574号明細書、第60/791,179号明細書、第60/746,712号明細書、第60/798,925号明細書、および第60/835,061号明細書は、任意の目的のために参照によってその全体が本明細書に援用されている。
本特許書類の開示の一部は、著作権保護の対象となるマテリアルを含む。本著作権者は、本特許文書または本特許の開示事項が米国特許商標局の特許ファイルまたは記録に示されているので、本特許文書または本特許の開示事項を誰かがファクシミリで複写することに異議を申立てないが、その外のものについては全著作権を留保するものである。
本発明の実施形態は、乱数および/または秘密シードの送信に関連する機能を介して保証される、簡潔な近似検出プロトコルを提供することによって、この欠点および他の欠点を解決する。1つ以上の実施形態の関連する利点は、たとえリクエストが傍受されても、攻撃者が正しい反応を決定することを不可能にする暗号を含む。
図1は、電子コンテンツを管理するための例示的なシステム100を示す。図1に示すように、電子コンテンツ103の著作権を保持するエンティティ102は、エンドユーザ108a〜eによる配信および消費のために、コンテンツをパッケージングする(エンドユーザ108a〜eは、集合的に「エンドユーザ108」と呼び、文脈から明らかなように、参照符号108は、エンドユーザ、またはコンピューティングシステムのエンドユーザを、互換可能に指す)。例えば、エンティティ102は、コンテンツ所有者、作成者、またはプロバイダ(例えば音楽家、映画スタジオ、出版社、ソフトウェア企業、著者、モバイルサービスプロバイダ、インターネットのコンテンツダウンロードまたは購読サービス、ケーブルテレビまたは衛星テレビのプロバイダ、会社の従業員等、またはそれらのために作動するエンティティ)を含んでもよい。コンテンツ103は、任意の電子コンテンツ(例えばデジタルビデオ、オーディオコンテンツまたはテキストコンテンツ、映画、曲、ビデオゲーム、1つのソフトウェア、電子メールメッセージ、テキストメッセージ、ワードプロセッシング文書、報告、または他の任意の娯楽コンテンツ、企業コンテンツ、または他のコンテンツ)を含んでもよい。
一実施形態において、比較的に単純で、制限のない、柔軟なデジタル著作権管理(DRM)エンジンを使用することによって、中心的なDRM機能を実現する。好ましい実施形態において、このDRMエンジンは、551出願に記載されるようなウェブサービス環境、および実質的に任意のホスト環境またはソフトウエアアーキテクチャの中に、比較的に容易に統合するように設計される。好ましい実施形態において、DRMエンジンは、特定の媒体フォーマットおよび暗号プロトコルから独立しており、特定の場合による必要に応じて、設計者が標準化技術または著作権を主張できる技術を柔軟に使用することを可能にする。DRMエンジンの好ましい実施形態により用いられるガバナンスモデルは、単純であるが、高度な関係およびビジネスモデルを表すように使用することができる。
図3は、DRMを使用するシステム302において、例示的なDRMエンジン303aが機能し得る方法を示す。図3に示すように、一実施形態において、DRMエンジン303aは、ホストアプリケーション304a(例えば、オーディオプレーヤおよび/またはビデオプレーヤなどのコンテンツレンダリングアプリケーション、テキストレンダリングアプリケーション(例えば電子メールプログラム、ワードプロセッサ、電子ブックリーダ、またはドキュメントリーダなど))の中に埋め込まれるかまたは統合され、あるいはそれらと通信する。一実施形態において、DRMエンジン303は、DRM機能を実行し、サービス(例えば暗号化、解読、ファイル管理)のためにホストアプリケーション304a依存し、および/または、他の機能はホストによってより効果的に提供することができる。例えば、好ましい実施形態において、DRMエンジン303aは、コンテンツ308を保護するライセンス306を含むDRMオブジェクト305を操作するように操作可能である。一部の実施形態において、DRMエンジン303は、ホストアプリケーション304aに対して鍵を更に配信してもよい。図3に示すように、DRMエンジン303aおよびホストアプリケーション304aの一方または両方は、処理および/またはそれぞれのタスクを完了するために必要な情報のために、ウェブサービス305aおよび/またはホストサービス306aを利用してもよい。551出願は、そのようなサービスの例を提供し、DRMエンジン303aおよびホストアプリケーション304aがそれと相互操作し得る態様を提供する。
好ましい実施形態において、コンテンツの保護およびガバナンスのオブジェクトの使用目的は、システムにおけるエンティティを示し、コンテンツを保護し、使用規則をコンテンツに関連させ、リクエスト時にアクセスが認可されるか否かを決定することにある。
ノードオブジェクトは、システムのエンティティを示すために使用する。実際には、ノードは通常、ユーザ、装置、またはグループを示す。ノードオブジェクトは、ノードに関連するエンティティの一定の特性を示す関連属性を、更に一般に有する。
属性の一例は、ノード種別である。ノード種別属性は、ユーザ、グループ、または装置を示す他に、他のエンティティを示すために使用することができる。一部の実施形態において、例えば、本明細書の他の場所に記載する鍵の導出および配信の技術の実施形態が使用される場合、ノードオブジェクトは、暗号鍵情報を更に含むことができる。
好ましい実施形態において、リンクオブジェクトは、2つのノードの関係を示すために使用される署名されたオブジェクトである。例えば、図4において、PCノード404からノックス402へのリンク418は、所有権を示す。ノックス402からケアリー家ノード408へのリンクは帰属関係を示し、ケアリー家ノード408から音楽サービス加入者ノード412へのリンクも帰属関係を示す。一実施形態において、リンクオブジェクトは2つのノードの関係を表すので、図4に示す関係は、10のリンクを使用して示すことができる。
あるノードから他のノードまでの経路がある場合、DRMエンジンは、別のノードから到達可能なノードを検討する。このことにより、制御を書き込むことが可能である。それにより、装置からノードに到達可能であるという条件に基づいて、保護されたコンテンツに対するアクセスの許可を可能にする。この装置においては、保護されたコンテンツに対するアクセスをリクエストするアプリケーションが実行中である。
再び図3を参照して、代表的なシナリオにおいて、コンテンツプロバイダ300bは、パッケージングエンジンを含むアプリケーション304bを使用することによって、1つの電子コンテンツ308を暗号化または暗号によるセキュリティを施し、そのコンテンツのアクセスまたは他の使用を管理するライセンス306を作成する。一実施形態において、ライセンス308は、コンテンツ308の使用方法を特定するオブジェクトのセット305を含み、それを入手するために必要なコンテンツの暗号化キーおよび/または情報を更に含む。一実施形態において、コンテンツ308およびライセンス306は、論理的に独立しているが、共に内部参照によって束縛される(例えばオブジェクトID310を使用して)。多くの場合において、コンテンツおよびライセンスを共に格納および/または配信することは便利であり得るが、好ましい実施形態においては必要ではない。一実施形態において、1つのライセンスを複数のコンテンツ項目に適用することができ、複数のライセンスを任意の単一のコンテンツ項目に適用することができる。
図5に示すように、所与のアクションに関するライセンスを評価するリクエストが受信される(500)。例えば、指定のアクションを実行するリクエストをホストがユーザから受信した後で、このリクエストはホストアプリケーションから受信されてもよい。図5に示すように、DRMエンジンは、指定されたライセンスを評価し(502)、リクエストされたアクションが認可されるか否かを決定する(504)。例えば、ライセンスは、DRMエンジンが実行する制御プログラムを含んでもよく、その出力は、認可決定を行うために使用される。リクエストされたアクションをライセンスが認可する場合(すなわちブロック504から「YES」で出て行く場合)、DRMエンジンは、リクエストが認可されることをホストアプリケーションに示す(506)。それ以外の場合、DRMエンジンは、リクエストが拒絶されたことをホストアプリケーションに示す(508)。一部の実施形態において、DRMエンジンは、ホストアプリケーションに様々なメタデータ(例えば認可の授与に関連する条件)(例えば義務および/またはコールバック)を更に返してもよく、あるいは認可の拒否の原因に関する追加情報を提供してもよい。例えば、DRMエンジンは、リクエストされたアクションの実行に関する一定の情報をホストアプリケーションが記録する場合にのみ、あるいは、例えばライセンスを再評価する所定の時間間隔において、ホストアプリケーションがDRMエンジンを呼び出す限り、リクエストされたアクションが許可されることを示してもよい。DRMエンジンによって返されるそのような義務、コールバック、および他のメタデータに関する追加情報を、以下に提供する。リクエストされたアクションが認可される場合、(例えばライセンスのContentKeyオブジェクトから)コンテンツ鍵が検索され、リクエストされた使用についてコンテンツを公開するために使用される。
図6に示すように、好ましい実施形態において、ライセンス600は、オブジェクトのセットである。図6に示す例において、ライセンス600は、ContentKeyオブジェクト602、プロテクタオブジェクト604、コントローラオブジェクト606、および制御オブジェクト608を含む。図6に示すように、ContentKeyオブジェクト602は、暗号化された鍵データ610(例えば暗号化されたコンテンツ項目612を解読するために必要な鍵の暗号化されたバージョン)、および鍵データを暗号化するために使用する暗号システムに関する情報を含む。プロテクタオブジェクト604は、ContentKeyオブジェクト602を1つ以上のコンテンツオブジェクト614に結合する。図6に示すように、制御オブジェクト608は、コンテンツオブジェクト614が管理される方法を特定する制御プログラム616を、含んで保護する。好ましい実施形態において、制御プログラム616は、DRMエンジンによって操作される仮想マシン上で実行する、1つの実行可能なバイトコードである。制御プログラムは、制御プログラムにおいて指定された条件の満足について照合することによって、コンテンツに対して一定のアクションを実行できるか否かを管理する。その条件とは、例えば、有効なリンクオブジェクトを使用して一定のノードに到達可能か否か、一定の状態オブジェクトが格納されているか否か、ホスト環境が一定の特徴を有するか否かなどである。再び図6を参照して、コントローラオブジェクト606は、1つ以上のContentKeyオブジェクト602を制御オブジェクト608に結合するために使用される。
1.3.状態データベース
一部の実施形態において、第1システム上で実行するDRMエンジンは、ローカル状態データベースに対するアクセスを有しなくてもよく、遠隔状態データベースにアクセスするように操作可能でもよい(例えばウェブおよび/またはホストサービスを使用して)。
一部の場合において、第1システム上で実行するDRMエンジンは、遠隔システム上のデータベースに格納された状態情報にアクセスすることが必要な場合がある。例えば、第1システムは、状態データベースを含まなくてもよく、またはそれ自身の状態データベースにおいて必要とする情報を有しなくてもよい。一部の実施形態において、DRMエンジンがそのような場合に直面する場合、後で詳しく述べるように、サービスインタフェースを介して、および/またはエージェントプログラムを使用することにより、遠隔状態データベースにアクセスしてもよい。
本明細書に記載するシステムおよび方法は、様々な状況において制御プログラムを利用する。例えば、制御オブジェクトに含まれる制御プログラムは、保護コンテンツの使用を管理する規則および条件を表すために使用することができる。また、リンクオブジェクトにおける制御プログラムは、所与の目的(例えばノード到達可能性分析)についてリンクが有効か否かを決定する規則および条件を表すために使用することができる。そのような制御プログラムは、本明細書においてリンク制約と呼ぶことがある。制御プログラムを使用できるさらに別の状況は、エージェントまたは委託オブジェクトにあり、制御コードは、(エージェント制御プログラムの場合は)別のエンティティに代わって、または(委託制御プログラムの場合は)別の制御に代わって、アクションを実行するために使用される。
前述のように、制御プログラムは、リクエストが認可されるコンテンツを使用すること、リンクが有効とみなされることなどのために、満たさなければならない1つ以上の条件を一般に表現する。コンテンツプロバイダまたはシステム設計者の必要条件に依存して、および/またはシステムによって提供される機能に依存して、任意の適切な条件を使用することができる。
・時間ベースの条件:クライアント時間値を、制御プログラムにおいて指定される値と比較すること。
・特定ノードを対象にすること:一定のノードが別のノードから到達可能か否かを照合すること。このコンセプトは、ドメイン、購読、帰属関係などのモデルについてサポートを提供する。
・一定のノード属性が指定された値に一致するか否かを検証すること:例えばノードに関連する装置のレンダリング機能が忠実度必要条件を満たすか否かなど、ノードの属性のいずれかを照合すること。
・クライアントにおけるセキュリティ関連メタデータが最新であるか否かを検証すること:例えば、許容できるバージョンのクライアントソフトウェアおよび正確な時間測定をクライアントが有する否かを照合すること。一部の実施形態において、そのような照合は、例えば、データ証明サービスからの1つ以上の証明書のアサーションに依存してもよい。
・状態ベースの条件:状態データベースにおける情報を照合すること。
例えば、状態データベースは、制御プログラムの以前の実行の結果として生成される情報、および/または購読、帰属関係などの所有権を証明するトークンを含んでもよい。それによって、カウンタ(例えば再生の回数、エクスポートの回数、経過時間限度など)、および記録されたイベントおよび条件に関する他の情報を含む条件の評価を可能にする。
・環境特性:例えば、ホスト環境におけるハードウェアおよび/またはソフトウェアが一定の特徴(例えば義務の認識および実施をする能力)を有するか否かを照合すること、一定のソフトウェアまたはハードウェア構成要素(例えば安全な出力チャネル)の有無を照合すること、近似情報(例えば別の装置またはアプリケーションに対するリクエスト側装置の近似)を照合すること、ネットワークサービスおよび/またはエージェントを使用して遠隔システムの特徴および/または遠隔システムに格納されたデータを照合することなど。
本明細書に記載するDRMエンジン関連のシステムおよび方法の好ましい実施形態は、制御プログラムを運ぶ独立オブジェクトにサポートを提供する。そのような「エージェント」は、指定された機能(例えば遠隔DRMエンジンの安全な状態記憶への書き込み)を達成するために、遠隔システム上で稼働するDRMエンジンに分散することができる。例えば、エージェントは、遠隔サービスとの接触、または遠隔制御プログラムの実行の結果として、送信することができる。エージェントは、コンテンツ移動操作の遂行、カウンタの初期化、ノードの登録取り消しなどのために使用することもできる。さらに別の例として、エージェントは、遠隔ノードから別のノードまでの到達可能性分析を実行するために使用できる。そのようなエージェントは、例えば、第1ユーザに登録された装置が第2ユーザに登録されることを禁止するポリシーを実施する際に有用であり得る。第2ユーザが登録をリクエストする場合、第2ユーザ、または第2ユーザの代わりに作動する登録サービスによって、エージェントが装置に送信されることによって、装置がすでに第1ユーザに登録されているか否かを決定する。装置がすでに第1ユーザに登録されている場合、第2ユーザの登録リクエストは拒絶される。
一実施形態において、コンテンツ項目上の一定の操作(例えば「再生」)の実行を管理する規則を示すルーチンのセットは、「アクション制御」と呼ばれる。リンクオブジェクト上の有効性制約を示すルーチンのセットは、「リンク制約」を呼ばれる。アクション制御と同様に、好ましい実施形態において、リンク制約は、条件の任意の適切な組み合わせを表現することができる。更にアクション制御と同様に、リンク制約は、サービスインタフェースまたはエージェントを使用して、ローカルおよび/または遠隔で評価することができる。
一実施形態において、一定のアクションは、認可される際に、ホストアプリケーションからの更なる関与を必要とする。義務は、リクエストするコンテンツ鍵の使用時または使用後に、ホストアプリケーションによって実行される必要のある操作を表す。コールバックは、リクエストするコンテンツ鍵の使用時または使用後に、ホストアプリケーションによって実行される必要のある制御プログラムのルーチンのうちの1つ以上に対する呼び出しを表す。義務の例は、限定するものではないが、コンテンツのレンダリング中に一定の出力および/または制御をオフにするという必要条件(例えば、保護されていない出力に対するコンテンツの書き込むことを防止したり、またはコンテンツの一定の重要なセグメントを早送りすることを防止したりするため)、コンテンツの使用に関する情報を、記録したり(例えば測定または審査情報)、および/または遠隔サイト(例えば情報センタ、サービスプロバイダなど)に送信するという必要条件、エージェントプログラムをローカルまたは遠隔で実行するという必要条件などを含む。コールバックの例は、限定するものではないが、コンテンツの使用が停止されたときに、一定の経過時間(例えばコンテンツ使用の経過時間)の後、一定のイベント(例えばトライアルコンテンツレンダリング期間の完了)の発生の後などに、ホストが、一定の絶対時間において制御プログラムをコールバックする、という必要条件を含む。例えば、一定の経過時間後のコールバックは、予算、再生回数などを増減させるために使用することができる(例えば、少なくとも一定時間にわたって1つのコンテンツを使用する場合、ユーザ予算から引き落とすのみ)。従って、ユーザが誤って再生ボタンを押し、即時に停止を押した場合、ユーザのアカウントから引き落としされることを防止する。
図8〜12は、DRMエンジンの例示的実施形態が1つのコンテンツの使用を制御できる方法の実施例を示す。図8を参照して、DRMエンジンが、コンテンツ項目802および804のグループ800を再生するリクエストを受信したと仮定されたい。例えば、コンテンツ項目802および804は、マルチメディアプレゼンテーション、異なるトラックのアルバム、購読サービスから入手する異なるコンテンツ、電子メール添付などの、異なる副次的な部分を含んでもよい。リクエストは、DRMエンジンによってホストアプリケーションから受信されてもよく、ホストアプリケーションは、その実行中にコンピューティング装置のユーザからリクエストを受信する。ホストアプリケーションからのリクエストは、リクエストされたアクション、アクションを取る対象のコンテンツ、およびコンテンツを管理するライセンスを一般に識別する。DRMエンジンは、リクエストが認可されるべきか否かを決定する際に、図5に例示するプロセスに従う。
以下は、DRMによって保護されたコンテンツを消費するアプリケーション(例えば、メディアプレーヤ、ワードプロセッサ、電子メールクライアントなど(例えば図3のアプリケーション303a、303cおよび303d))、および消費アプリケーションを対象にするコンテンツをパッケージングするパッケージングアプリケーション(例えばアプリケーション303b)の例示的実施形態のより詳細な説明である。
コンテンツを消費するアプリケーションは、保護されたコンテンツへのアクセスに一般に焦点をあてるものであるか、あるいは他の機能(例えばコンテンツのパッケージング)をも実行する汎用アプリケーションの一部であり得る。様々な実施形態において、コンテンツを消費するアプリケーションは、以下の一部または全部を実行してもよい。
・インタフェースを提供することによって、ユーザは、保護されたコンテンツオブジェクトに対するアクセスをリクエストすることができ、コンテンツに関する情報またはエラー情報を受信することができること。
・ファイルシステムとの対話処理を管理すること。
・保護されたコンテンツオブジェクトのフォーマットを認識すること。
・コンテンツにアクセスする許可が認可され得るか否かを知るために、DRMエンジンにコンテンツのライセンスを評価するようにリクエストすること。
・デジタル署名を検証し、DRMエンジンが実行する必要のある他の汎用暗号機能を処理すること。
・DRMエンジンに、保護されたコンテンツの解読に必要な鍵を提供するようにリクエストすること。
・保護されたコンテンツを解読し、媒体レンダリングサービスと対話することによって、コンテンツをレンダリングすること。
以下は、電子コンテンツをパッケージングするホストアプリケーションのために、パッケージングエンジンが実行し得る機能の例を提供するものである。実際には、パッケージングアプリケーションは、具体的にパッケージングに焦点をあててもよく、あるいは、(例えば、ローカルに、あるいはネットワーク上などの他の場所でパッケージングされる)保護されたコンテンツにアクセスするユーザシステムにおいて稼働する、汎用アプリケーションの一部であり得る。
・コンテンツおよびライセンス情報を特定できるユーザインタフェースを提供すること。
・コンテンツを暗号化すること。
・ライセンスを構成するDRMオブジェクトを作成すること。
・コンテンツを含むかまたは参照するコンテンツオブジェクト、およびライセンスを含むかまたは参照するコンテンツオブジェクトを作成すること。
・媒体フォーマットサービス1406:一実施形態において、この要素は、媒体フォーマット操作(例えばトランスコーディングおよびパッケージング)の管理を担う。
この要素は、コンテンツ暗号化サービスモジュール1408を介して達成されるコンテンツ暗号化も担う。
・汎用暗号サービス1410:一実施形態において、この要素は、署名の発行/検証、ならびに一部のデータの暗号化/解読を担う。そのような操作のためのリクエストは、ホストサービスインタフェース1412を介して、サービスアクセスポイント1414、またはDRMパッケージングエンジン1416によって発行することができる。
・コンテンツ暗号化サービス1408:一実施形態において、このモジュールは、アプリケーションを知らないので、汎用暗号サービス1410から論理的に切り離される。これは、DRMパッケージングエンジン1416によってすでに発行された鍵のセットを用いて、コンテンツパッケージング時において、媒体フォーマットサービスによって営まれる。
以下は、本明細書に記載するDRMエンジンおよびシステムアーキテクチャの好ましい実施形態におのずと適合し、および/または他の状況において使用できる、鍵導出システムを説明するものである。以下のセクションにおける実施例の一部は、「スキューバ」として公知の、この鍵導出システムの好ましい実施形態の照合基準製品からとられるものである。更なる実施形態は、551出願に記載されている。
1.7.1.エンティティ
DRMシステムの一実施形態において、ノードは、データオブジェクトであり、システムにおいて作動中の参加者ではない。作動中の参加者は、この状況において、エンティティと呼ばれる。エンティティの例は、メディアプレーヤ、装置、購読サービス、コンテンツパッケージャなどである。エンティティは、エンティティに関連するノードを一般に有する。コンテンツを消費するエンティティは、DRMエンジンを使用し、その個人を構成する少なくとも1つのノードオブジェクトを管理する。一実施形態において、エンティティは、管理するノードオブジェクトのすべてのデータ(オブジェクトのすべての個人情報を含む)にアクセスすると想定される。
鍵導出システムの例示的実施形態に関与するノードオブジェクトは、データの一部として鍵を含む。一実施形態において、ノードは、2つの一般的な種類の鍵、すなわち共有鍵および機密鍵を含んでもよい。以下のセクションは、様々な実施形態において使用できる異なる鍵の種類を記載する。しかしながら、特定の展開は、これらの鍵のサブセットのみを使用できることが理解される。例えば、システムは、鍵のペアを用いることによってのみ動作するように構成でき、秘密共通鍵の使用を除外する。または、共有鍵を使用することのみが必要である場合、システムは、機密鍵を用いて供給ノードなしで展開することができる。
共有鍵は、ノードNおよびすべてのノードPxによって共有される公開/秘密の鍵のペアおよび/または共通鍵であり、それに対して、鍵導出拡張を含むPxからNへのリンクが存在する。
機密鍵は、機密鍵が帰属するノードを管理するエンティティにのみ知られる鍵のペアおよび/または共通鍵である。これらの鍵と上述した共有鍵との相違点は、これらの鍵が、リンクにおける鍵導出拡張を通して他のノードによって共有されないということである。
本明細書に記載する鍵の導出および配信システムの好ましい実施形態は、様々な異なる暗号化アルゴリズムを使用して実現することができ、暗号化アルゴリズムの任意の特定の選択に限定されない。それでもやはり、プロファイルの所与の展開について、すべての関与するエンティティは、サポートされたアルゴリズムのセットに一致することを一般に必要とする(ここでプロファイルという用語は、特定のインプリメンテーション(例えば、鍵導出のためのRSA、コード化オブジェクトのためのXML、ファイルフォーマットのためのMP4など)において使用される実際の技術の集合の規格、および/またはオブジェクトが実際的な展開において規定されるときに存在する意味論的な状況の他の表現を一般に指す)。
・Ep(Kpub[N],(M))は、「メッセージMは、公開鍵暗号を用いて、ノードNの、公開鍵Kpubによって暗号化される」を意味する。
・Dp(Kpriv[N],(M))は、「メッセージMは、公開鍵暗号を用いて、ノードNの、秘密鍵Kprivによって解読される」を意味する。
・Es(Ks[N],(M))は、「メッセージMは、共通鍵暗号を用いて、ノードNの、共通鍵Ksによって暗号化される」を意味する。
・Ds(Ks[N],(M))は、「メッセージMは、共通鍵暗号を用いて、ノードNの、共通鍵Ksによって解読される」を意味する。
好ましい実施形態において、2つの種類の暗号ターゲティングが使用される。ターゲットノードの共有鍵に対してコンテンツ鍵をターゲットにすることは、そのターゲットノードの秘密共有鍵を共有するすべてのエンティティに対して、その鍵を利用可能にすることを意味する。ノードの機密鍵に対してコンテンツ鍵を対象にすることは、そのノードを管理するエンティティのみに対して、その鍵を利用可能にすることを意味する。コンテンツ鍵のターゲティングは、以下の方法の一方または両方を使用して、ContentKeyオブジェクトによって運ばれるコンテンツ鍵(CK)を暗号化することによって行われる。
・公開結合:Ep(Kpub[N](CK))を含むContentKeyオブジェクトを作成すること。
・共通結合:Es(Ks[N](CK))を含むContentKeyオブジェクトを作成すること。
エンティティが個人ノードから到達可能なすべてのノードの共有鍵にアクセスすることを可能にするために、一実施形態において、リンクオブジェクトは、任意の鍵拡張ペイロードを含む。この鍵拡張ペイロードは、リンクの「from」ノードの秘密鍵にアクセスするエンティティが、リンクの「to」ノードの秘密共有鍵にもアクセスすることを可能にする。このようにして、エンティティは、その個人ノードから到達可能なノードに対して対象にされる、任意のコンテンツ鍵を解読することができる(ターゲットノードの共有鍵を使用してターゲティングが行われる場合)。
・公開導出情報:Ep(Kpub―share[F],{Ks―share[T],Kpriv―share[T]})、または
・共通導出情報:Es(Ks―share[F],{Ks―share[T],Kpriv―share[T]})。
本明細書に記載するシステムおよび方法の様々な実施形態を実際に応用する方法を説明するために、以下にいくつかの実施例を提供する。
本明細書に記載するシステムおよび方法は、広範囲にわたる著作権管理および他の機能を有効にすることができる。従って、ここに与えられる具体例は、網羅的であることを意図するものではなく、進歩性のある一連の作業の範囲を例示するものであることが理解される。
コンテンツを再生する著作権を特定のユーザに結びつけるDRMシステムを実現することが所望され、ユーザが所有するすべての再生装置上のコンテンツを再生することがユーザにとって容易になることが所望される、と仮定されたい。必要に応じて再生装置(例えばモバイルプレーヤ)を加えることを可能にするソフトウェアをユーザに提供することを決定すると仮定されたい。しかしながら、ユーザが配信機関としての役割を果たす能力を有しないように、ユーザがコンテンツを転送できる汎用装置の数を限定する何らかのポリシーを設定することが所望される、とさらに仮定されたい。
・ユーザ(例えばコンテンツを使用する権利を有する個人)。
・PC(例えば、パーソナルコンピュータ上で実行し、コンテンツを再生することができ、付加的な再生装置を特定することができる、ソフトウェアアプリケーション)。
・装置(例えば携帯コンテンツレンダリング装置)。
図17は、本明細書に記載するDRMシステムおよび方法の可能な用途の別の実施例である。この実施例は、前述のセクションにおける実施例と同様であるが、ここで異なる点は、ユーザがすでに別のPCへの一時的ログインを有しない限り、PCノードオブジェクトとユーザノードオブジェクトとの間のリンクオブジェクトの生成を管理するポリシーが、12時間だけの一時的ログインを可能にするということである。この機能によって、ユーザ1700は、自分のコンテンツ1702を友人のPC1704に持って行き、ある期間にわたってそのPC1704にログインし、友人のPC1704上でコンテンツ1702を再生することができる。
図18は、企業文書(例えば、電子メール、ワードプロセッシング文書、プレゼンテーションスライド、インスタントメッセージングテキストなど)を管理する例示的なシステム1800の高水準アーキテクチャを示す。図18に示す実施例において、文書編集アプリケーション(例えばワードプロセッサ)1802、電子メールクライアント1804、およびディレクトリサーバ(例えばアクティブディレクトリサーバ)1806は、デジタル著作権管理(DRM)プラグイン1808、ネットワークサービス編成レイヤ1810、登録サービス1812、およびポリシーサービス1816を利用することによって、ポリシーによる文書、電子メールメッセージなどの管理を容易にする。好ましい実施形態において、DRMプラグイン1808、ネットワークサービス編成レイヤ1810、ポリシーサービス1816、および登録サービス1812は、本明細書の他の場所および551出願に記載されるDRMエンジンおよびサービス編成技術を使用して実現される。例えば、一実施形態において、DRMプラグイン1808は、上述したDRMエンジンの実施形態を含んでもよい。図18に示す実施形態において、既存のアプリケーション(例えばワードプロセッサ1802および電子メールクライアント1804)は、アプリケーションが呼び出せるプラグインを介してDRMエンジンに統合されるが、他の実施形態において、DRMエンジンは、アプリケーション自体の不可欠な部分として含まれる場合があることが理解される。図18に示す例示的なシステムは、単一の企業の中で実現してもよく、または複数の企業にまたがってもよいことも理解される。
DRMプラグイン1908は、551出願に記載するNEMOサービス編成技術を使用して、NEMO対応ポリシーサービス拡張1916をアクティブディレクトリ1906に接触させ、特別プロジェクトチーム用のファイルを保護するために使用するポリシーのコピーをリクエストする(アクション1914)。ジョンが文書を保存すると、DRMプラグインは、ファイル1912を自動的に暗号化し、「特別プロジェクトチーム」1910として知られるグループに対してターゲティングおよび結合されたライセンスオブジェクトを作成する。ライセンス1910は、装置ノードから特別プロジェクトチームグループノードへのリンクの有効チェーンを生成することができる任意の装置が、ファイル1912にアクセス(例えば、編集、印刷、閲覧など)することを可能にする。
他の会社に向かって出発する前に、スティーブンの電子メールクライアントは、すべての電子メールのローカルコピーを受信箱にダウンロードする。これらの電子メールのうちの1通に添付される保護されたレポートもまた、埋め込まれた(または添付された)ライセンスを含む。このライセンスオブジェクトは、コンテンツにアクセスするための規則、ならびに暗号化されたコンテンツ鍵を含む。コンテンツにアクセスするために必要な唯一の「失われたリンク」は、「特別プロジェクトチーム」グループノードに到達するために必要なリンクオブジェクトである。
図23は、本明細書に記載するシステムおよび方法を健康管理記録の管理に応用できる方法を説明する。医療記録は、異なるレベルの機密性を有し、システムにおける異なるエンティティ(例えば患者、医師、保険会社など)に対して異なるアクセス権を認可することは望ましい、と仮定されたい。例えば、一部の記録が患者のみによって閲覧されることを許可すること、一部の記録が患者の医師のみによって閲覧されることを許可すること、一部の記録が患者によって閲覧可能であるが、患者の医師のみによって編集可能であることを許可すること、一部の記録がすべての医師によって閲覧可能であることを許可すること、一部の記録がすべての保険会社によって閲覧されることを許可すること、一部の記録が患者の保険会社のみによって閲覧可能であることを許可すること、などが望ましい場合がある。
図24は、本明細書に示すシステムおよび方法を電子購読サービスの状況に使用できる方法を示す。例えば、ユーザ(アリス)が、インターネットサービスプロバイダ(XYZ ISP)から、ジャズの音楽への購読を入手することを望むとする。インターネットサービスプロバイダは、無料のトライアル購読を含む様々な異なる購読オプションを提供してもよいが、失効する前に購読コンテンツを5回再生するために利用することしかできない(例えば、1つの曲を5回再生すること、5つの異なる曲を1回ずつ再生すること等によって)。トライアル購読はまた、わずかにグレードを下げた形態(例えば低減した忠実度または解像度)においてコンテンツを利用可能にするのみである。アリスは、自分のパーソナルコンピュータを使用して、サービスプロバイダのインターネットウェブサイトにアクセスし、トライアル購読を選択する。サービスプロバイダは、リンクオブジェクト2400およびエージェント2401を発行し、それらをアリスのパーソナルコンピュータ2406に送信する。エージェント2401は、アリスの安全な状態データベースの状態を初期化するように操作可能であり、このデータベースは、アリスがトライアルコンテンツを使用した回数の記録をとるために使用されるリンク2400は、アリスのISPアカウントノード(Alice@XYZ ISP)2402から購読ノード2404へのリンクであり、制御プログラムを含む。制御プログラムは、アリスがコンテンツの再生をリクエストする際に、エージェント2401によって設定された状態変数の現在の値を照合することによって、更なる再生が可能か否かを調べる。
スミス家のケーブルサービスプロバイダは、ホームネットワークドメイン2500を設定するために使用するドメインマネージャソフトウェアを提供しなかった。しかし、ケーブルサービスプロバイダは、ホームネットワークドメインマネージャソフトウェアの認証済みプロバイダによってドメインマネージャが実現されていることを知っているので、ドメインマネージャソフトウェアが意図された通りに稼働することを信頼する。図25に示すように、スミス家は、アリスの電話およびPC、カールのPVR、およびジョーのPSPを、ドメイン2500に接続する。その結果、これらの装置の各々からドメインノード2500へのリンクが発行される。新しいコンテンツが受信される場合(例えばPVRにおいて)、551出願に記載されるような発見サービスは、ドメインにおける他の装置が、コンテンツおよび任意の必要なリンクを自動的に入手することを可能にする。ドメインノード2500からサービスプロバイダアカウントノード2502へのリンクが発行される。ケーブルサービスプロバイダのコンテンツの一部は、早送りおよび巻戻しが無効にされなければならないという義務を有するライセンスを有するので、広告が閲覧される。カールのPVRおよびPCアリスのPCは、この義務を実施できるので、コンテンツを再生できる。アリスの携帯電話は、この義務を実施できないので、コンテンツへのアクセスを拒絶する。
前述の実施例が示すように、本明細書に示すシステムおよび方法の実施形態は、電子コンテンツが自然な方法で共有されることを可能にする。例えば、本明細書に記載するシステムおよび方法を使用することによって、消費者は、娯楽コンテンツを友人および家族と共有することができ、および/または家族の装置のすべてにおいて娯楽コンテンツを享受することができ、同時に、より広い無許可の配信が防止される。例えば、自動化されたピアツーピアの発見および通知サービスを使用することができる。その結果、1つの装置がコンテンツまたは関連する著作権を入手する際に、他の装置はそのコンテンツに自動的に気づくことができる。それによって、自動的にアップデート可能な仮想分散ライブラリが提供される。例えば、一実施形態において、1人のユーザがある場所において携帯機器上のコンテンツまたは著作権を入手してから帰宅する場合、ユーザの家族の装置は、これらの著作権を自動的に発見および利用することができる。反対に、ユーザが、自分のホームネットワーク上の装置において著作権を入手する場合、ユーザの携帯機器は、そのコンテンツを発見し、遠くへ運んで他の場所で使用することができる。本明細書に記載するシステムおよび方法の好ましい実施形態を使用することによって、例えば551出願に記載されるサービス発見および検査技術を用いて上記のシナリオを完全に自動化することを可能にするサービスおよび著作権オブジェクトを作成することができる。例えば、特定のドメインに登録される装置は、互いにサービスを提供してもよく(例えば著作権およびコンテンツの共有)、および/または遠隔サービスを呼び出すことによって、コンテンツのローカルな共有を容易にすることができる。記載するシステムおよび方法は、コピーの生成そのものの防止に焦点をあてないDRMフレームワークの生成を可能にするが、ネットワーク技術と調和して作動することにより、コンテンツの共有を可能にするように設計されており、消費者がコンテンツの違法ディストリビュータになることを防止する。
以下は、DRMで保護されたコンテンツを消費する消費アプリケーション(例えばメディアプレーヤ)、および消費アプリケーションを対象にしたコンテンツをパッケージングするパッケージングアプリケーション(例えばサーバに存在するアプリケーション)についての、参照アーキテクチャの説明である。
以下は、コンテンツを消費するホストアプリケーションのためにDRMエンジンの例示的実施形態が実行し得る機能の実施例を提供するものである。
好ましい実施形態においては、DRMエンジン用のAPIは必要ないが、以下は、例示的なDRMエンジン(「オクトパス」DRMエンジンと呼ばれる)によって、1つの例示的実施形態のホストアプリケーションに提供される、インタフェースの種類の高レベルの説明である。
以下は、ホストアプリケーションの例示的実施形態から、DRMエンジンの例示的実施形態によって必要とされる、ホストサービスインタフェースの種類の実施例である。
一実施形態において、ダイジェストの最小セットを規定することができる。
図26は、前述のセクションに記載される例示的なAPIの使用方法、ならびに例示的実施形態においてホストアプリケーションとDRMクライアントエンジンとの間で行われる対話処理を例示する。
以下は、コンテンツをパッケージングするホストアプリケーションのために、パッケージングエンジンが実行し得る機能の例を提供するものである。実際には、パッケージングアプリケーションは、具体的にパッケージングに焦点をあててもよく、あるいは、(例えば、ローカルに、あるいはネットワーク上の他の場所でパッケージングされる)保護されたコンテンツにアクセスするユーザシステムにおいて稼働する、汎用アプリケーションの一部であり得る。
このセクションは、「オクトパス」と呼ばれる参照DRMエンジンに関連して使用されるホストアプリケーションとパッケージングエンジンとの間の例示的なAPIの高レベルの説明を提供するものである。
以下は、一実施形態において、例示的なパッケージングエンジンにとってホストアプリケーションが提供する必要のあるインタフェースの種類の実施例である。
このセクションは、DRMエンジンの例示的なインプリメンテーションの基礎単位として役立つDRMオブジェクトに関する詳細な情報を提供するものである。まず、コンテンツの保護およびガバナンスのためのDRMエンジン使用法のオブジェクトの種類について、比較的に高レベルの概要を述べる。次に、これらのオブジェクトより詳細な説明、およびオブジェクトが伝える情報を、1つの例示的実施形態において使用される一部の例示的データ構造とともに提供する。
前述したように、図6と関連して、コンテンツガバナンスオブジェクト(ノードおよびリンクオブジェクトとともに集合的に「DRMオブジェクト」と呼ばれることがある)を使用することによって、使用規則および条件を、保護されたコンテンツに関連づける。
これらのオブジェクトは共にライセンスを形成する。
一実施形態において、オブジェクトは、共通の基本的特徴を共有し、それらの各々は、ID、属性のリスト、および拡張のリストを有することができる。
他のオブジェクトによって参照されるオブジェクトは、一意なIDを有する。
一実施形態において、IDは単にURIであり、規則としてそれらのURIはURNである。
属性は、入力された値である。属性には、名称をつけたり削除したりすることができる。名前付き属性の名前は、単純なストリングまたはURIである。属性の値は、単純型(ストリング、整数、またはバイト列)、または複合型(リストおよびアレイ)である。種類「リスト」の属性は、名前付き属性の番号の付かないリストを含む。種類「アレイ」の属性は、無名の属性の順序配列を含む。
拡張は、任意または強制的な追加データを運ぶために、オブジェクトに追加することができる要素である。拡張は、入力され、一意なIDも有する。拡張は、内部拡張または外部拡張であり得る。
内部拡張は、拡張するオブジェクトの中に含まれる。内部拡張は、拡張のための特定の拡張データの種類が、オブジェクトを使用するインプリメンテーションにとって知られる必要があるか否かを示す、「重要」フラグを有する。一実施形態において、インプリメンテーションが、理解できないデータ型を有する重要な拡張を有するオブジェクトに遭遇する場合、オブジェクト全体を拒絶しなければならない。
外部拡張は、拡張するオブジェクトの中には含まれない。外部拡張は、オブジェクトから独立して出現し、それらが拡張するオブジェクトのIDを含む「サブジェクト」フィールドを有する。一実施形態において、外部拡張のIDは、グローバルに一意である必要がある。
一実施形態において、コンテンツオブジェクトは、「外部」オブジェクトである。そのフォーマットおよび記憶は、DRMエンジンの制御の下にはなく、ホストアプリケーションのコンテンツ管理サブシステムの下にある(例えば、コンテンツは、MP4ムービーファイル、MP3音楽トラックなどであり得る)。一実施形態において、コンテンツのためのフォーマットは、IDをコンテンツペイロードデータに関連づけるためのサポートを提供する必要がある。コンテンツペイロードは、フォーマットに依存する態様(一般に共通暗号(例えばAES)によって)において暗号化される。
ContentKeyオブジェクトは、一意な暗号化キーを表し、それをIDに関連づける。IDの目的は、ProtectorオブジェクトおよびControllerオブジェクトがContentKeyオブジェクトを参照できるようにすることである。ContentKeyオブジェクトにカプセル化される実際の鍵データは、それ自体が暗号化されるので、コンテンツを解読することを認可された受信者のみが読み取ることができる。ContentKeyオブジェクトは、鍵データを暗号化するためにどの暗号システムが使用されたかを指定する。コンテンツ鍵データを保護するために使用される暗号システムは、鍵配信システム(Key Distribution System)と呼ばれる。異なる鍵配信システムを使用することができる。鍵配信システムの例は、上述したスキューバ鍵配信システムである。
Protectorオブジェクトは、Contentオブジェクトのデータを暗号化するためにどの鍵が使用されたかを見いだすことを可能にする情報を含む。Protectorオブジェクトはまた、そのデータを暗号化するためにどの暗号化アルゴリズムが使用されたかに関する情報を含む。一実施形態において、Protectorオブジェクトは、Contentオブジェクトへの参照である1つ以上のIDと、データを暗号化するために使用された鍵を表すContentKeyオブジェクトへの参照である正確に1つのIDとを含む。プロテクタが複数のContentオブジェクトを指し示す場合、これらのすべてのContentオブジェクトは、同一の暗号化アルゴリズムおよび同一の鍵を使用して暗号化されたデータを表す。一実施形態において、使用される暗号システムが、異なるデータ項目のために同一の鍵を使用する安全な方法を可能にしない限り、Protectorオブジェクトが複数のContentオブジェクトを指し示すことは推奨されない。
制御オブジェクトは、ホストアプリケーションによってリクエストされるときに、コンテンツ上の一定のアクションが許可されるべきか否かに関する決定を、DRMエンジンが行うことを可能にする、情報を含む。一実施形態において、コンテンツ鍵の使用を管理する規則は、仮想マシンによって実行されるバイトコードとして、制御オブジェクトにおいてコード化される。制御オブジェクトはまた、一意なIDを有するので、コントローラオブジェクトによって参照されることができる。一実施形態において、制御オブジェクトは署名されるので、DRMエンジンは、制御バイトコードが有効で信用できることを、決定のためにそれを使用する前に、検証できる。制御オブジェクトの有効性もまた、コントローラオブジェクトに含まれる安全なハッシュの検証によって、任意に導出することができる。
コントローラオブジェクトは、ContentKeyオブジェクトによって表される1つ以の鍵の使用をどの制御が管理するかについて、DRMエンジンが見いだすことを可能にする情報を含む。コントローラオブジェクトは、ContentKeyオブジェクトおよびそれが参照する制御オブジェクトにそれを結合する情報を含む。一実施形態において、コントローラオブジェクトは署名される(例えば、コントローラオブジェクトに署名することを可能にする証明書を有するパッケージャアプリケーションによって)。その結果、ContentKeyとそれを管理する制御オブジェクトとの間の結合の有効性および、ならびにContentKey IDと実際の鍵データとの間の結合の有効性を、確立することができる。コントローラオブジェクトの署名は、公開鍵署名、または共通鍵署名、あるいは両方の組み合わせであり得る。更に、コントローラオブジェクトによって参照される制御オブジェクトのダイジェストがコントローラオブジェクトに含まれる場合、制御オブジェクトの署名を別に検証する必要なしに、制御オブジェクトの有効性を導出することができる。
一実施形態において、このことは、コントローラオブジェクトのための署名の好ましい種類であり、コントローラオブジェクトのメッセージ認証コード(MAC)を算出することによって実現される。これに鍵をかけることは、対応するContentKeyオブジェクトによって表される鍵と同一の鍵によって行われる。一実施形態において、このMACのための標準的な方法は、同一の展開において使用されるPKI署名アルゴリズムのために選択されるものと同一のハッシュアルゴリズムを有するHMACを使用することである。
この種の署名は、コントローラオブジェクトの署名者の身元を知る必要があるときに、使用される。この種の署名は、公開鍵署名アルゴリズムによって実現される。この署名は、このオブジェクトの有効性を表明する主体の秘密鍵によって行われる。一実施形態において、この種の署名を使用する場合、共通鍵署名も存在し、コントローラオブジェクトならびに公開鍵署名の両方に署名する。その結果、その秘密鍵によって署名した主体もまた、ContentKeyオブジェクトにおいて運ばれるコンテンツ鍵の実効値についての知識を有したことを保証することができる。
前述したように、ノードオブジェクトは、DRMプロファイルにおけるエンティティを表す。ノードオブジェクトが表すものを規定するために、暗黙的または明示的なセマンティクスは使用されない。システムの所与の展開(DRMプロファイル)は、どのような種類の主体が存在するか、および異なるノードオブジェクトがどのような役割および識別を表すかを規定する。その意味情報は、ノードオブジェクトの属性を使用して、一般に表現される。
ノードオブジェクトは、システムのエンティティを表す。ノードオブジェクトの属性は、ノードオブジェクトが表すものの一定の態様を規定する(例えば、DRMプロファイルの状況におけるノードオブジェクトによって表される役割または識別)。ノードオブジェクトはまた、ノードオブジェクトの機密の部分(一般に、ノードによって表されるエンティティ、またはそのノードの管理を担う一部のエンティティ)にアクセスするサブシステムに対して、機密情報を対象にするために使用される機密非対称鍵のペアを有してもよい。ノードにおいて対象にされる機密情報は、そのノードの機密公開鍵によって暗号化することができる。ノードオブジェクトはまた、共有非対称鍵のペアを有してもよい。共有共通鍵は、システムがContentKey配信のためにContentKey導出システム(例えば本明細書の他の場所に記載するようなもの)を使用するときに、リンクオブジェクトと連動して使用することができる。好ましい実施形態において、リンクまたは制御オブジェクトによって参照される必要のあるエンティティ、または暗号によって対象にされる情報を受信する必要のあるエンティティのみが、対応するノードオブジェクトを有することを必要とする。
リンクオブジェクトは、頂点がノードオブジェクトであるグラフにおいて、誘導されたエッジが存在するということの、署名されたアサーションである。ノードおよびリンクの所与のセットについて、グラフにおいてノードX頂点とノードY頂点との間に有向路が存在する場合、ノードXとノードYとの間に経路があると言われる。ノードXとノードYとの間に経路がある場合、ノードYはノードXから到達可能であると言われる。リンクオブジェクトによって表されるアサーションは、どのノードが他のノードから到達可能であるかを表現するために使用される。コンテンツオブジェクトを管理する制御は、アクションの実行を可能にする前に、アクションを実行するエンティティに関連するノードから一定のノードに到達可能であることを照合できる。例えば、ノードDが、コンテンツオブジェクト上で「再生」アクションを実行することを望む装置を表す場合、コンテンツオブジェクトを管理する制御は、一定のユーザを表す一定のノードUが、ノードDから到達可能であるか否かを検証することができる。ノードUが到達可能であるか否かを決定するために、DRMエンジンは、ノードDとノードUとの間に経路を確立することができるリンクオブジェクトのセットがあるか否かを照合することができる。
リンクオブジェクトに署名するために使用される証明書システム(例えばx509v3)の特定の機能に依存して、限定された存続期間をリンクオブジェクトに与えたり、リンクオブジェクトを無効にしたりなどできる。一実施形態において、どの鍵がリンクオブジェクトに署名できるか、どのリンクオブジェクトが作成され得るか、およびリンクオブジェクトの存続期間、を管理するポリシーは、DRMエンジンによって直接に処理されない。
これに代わって、これらのポリシーは、ノードの属性情報に影響を及ぼす。一実施形態において、一定のポリシーを実施するタスクを容易にするために、更なる制約照合によって標準証明書フォーマットを拡張する方法が提供される。これらの拡張は、リンクに署名する鍵のための証明書上の有効性制約を表現することを可能にする。その結果として、リンクが有効とみなされる前に、制約(例えば、リンクがどのようなタイプのノードに接続しているか、ならびに他の属性)を照合することができる。
以下の段落は、上述のオブジェクトのための例示的なオブジェクトモデルを更に詳細に説明するものであり、1つの例示的実施形態において各タイプのオブジェクトが有するフィールドを規定する。データ構造は、比較的に単純なオブジェクト記述シンタックスを使用して記述される。各オブジェクトタイプは、親クラス(すなわち「〜は…である」関係)を拡張できるクラスによって規定される。クラス記述は、単純な抽象型、すなわち「ストリング」(文字列)、「int」(整数値)、「バイト」(8ビット値)、および「ブーリアン」(真または偽)に関するものであるが、それらのデータ型について、またはそれらの種類を含む複合構造について、任意の特定のコード化を規定するものではない。オブジェクトをコード化または表す方法は、エンジンのインプリメンテーションに依存して変化することがある。実際には、DRMエンジンの使用の所与のプロファイルは、フィールドがどのように表されるかを指定することができる(例えばXMLスキーマを使用して)。
一実施形態において、4種類の属性(IntegerAttribute、StringAttribute、ByteArrayAttribute、およびListAttribute)があり、各々が名前およびタイプを有する。
本明細書に記載するDRMエンジンの好ましい実施形態は、仮想マシン(本明細書において「制御仮想マシン」、「制御VM」、または単に「VM」と呼ばれることがある)を使用することによって、コンテンツへのアクセスを管理する制御プログラムを実行する。そのような仮想マシンの例示的実施形態、ならびにこの例示的実施形態に対してなし得る様々な変更および設計考慮事項を以下に記載する。仮想マシン(「プランクトン」仮想マシンと呼ばれる)の例示的実施形態を、DRMエンジン(「オクトパス」と呼ばれる)の例示的実施形態に統合したものも記載する。しかしながら、本明細書に記載するデジタル著作権管理エンジン、アーキテクチャ、および他のシステムおよび方法の実施形態は、任意の適切な仮想マシンとともに使用することができ、または一部の実施形態においては、全く仮想マシンなしで使用することができることが理解されるべきである。従って、仮想マシンの例示的実施形態に関して下記に提供する詳細は、説明のためであって、限定のためではないことが理解される。
1.22.1.実行モデル
好ましい実施形態において、VMは、コードモジュールにおいてバイトコードで格納される命令を実行することによって、プログラムを実行する。これらの命令の一部は、システムコールを行うことによって、プログラム自体の外で実現される機能を呼び出すことができる。システムコールは、VM自体によって実現、またはホスト環境に委託することができる。
一実施形態において、VMは、比較的に単純なメモリモデルを使用し、メモリは、データメモリおよびコードメモリに分けられる。例えば、データメモリは、アドレス0から始まる単一の平坦な隣接するメモリ空間として実現でき、さらにホストアプリケーションまたはホスト環境のヒープメモリの中で割り当てられるバイトのアレイとして実現できる。一実施形態において、割り当てられた空間外のメモリへのアクセスを試みると、実行時例外が生じ、プログラムの実行が終了する。
一実施形態において、VMは、データメモリに格納される32ビットデータセルを表すデータスタックの概念を有する。VMは、スタックポインタ(SP)と呼ばれる仮想レジスタを保守する。再設定の後、SPは、データメモリの終わりを指し示し、スタックは、下方に増大する(データがデータスタック上にプッシュされると、SPレジスタは減少させられる)。スタック上の32ビットデータセルは、スタックデータを参照する命令に依存して、32ビットアドレスまたは32ビット整数として解釈される。アドレスは、符号のない整数である。一実施形態において、データスタック上の他の全ての32ビット整数値は、特に明記しない限り、符号付き整数として解釈される。
一実施形態において、VMは、サブルーチン呼出しを行うために使用される呼出しスタックを管理する。一実施形態において、このスタック上にプッシュされる値は、メモリアクセス命令によって直接に読み込まれたり書き込まれたりすることができない。このスタックは、OP JSR命令、OP JSRR命令、およびOP RET命令を実行するときに、VMによって内部的に使用される。所与のVMインプリメンテーションについて、このリターンアドレススタックのサイズは、最大に固定することができる。このことは、一定回数のみの入れ子の呼び出しを可能にする。
一実施形態において、VMは、データメモリの始めにおいて小さいアドレス空間を確保することによって、擬似レジスタをマッピングする。一実施形態において、これらの擬似レジスタのアドレスは固定される。例えば、以下のレジスタを規定することができる。
以下は、例示的実施形態におけるデータメモリおよびコードメモリのレイアウトを示すものである。
一実施形態において、仮想マシンインプリメンテーションは、コードルーチンを実行する前に、データスタックポインタが初期化済データスタックの最上部を指し示すようにリセットする。初期化済データスタックは、ルーチンの入力データを含み、データメモリの終わりまで拡張する。初期化済データスタックは、ルーチンに入力引数を渡す方法として使用されてもよい。初期化済データスタックがない場合、データスタックポインタは、データメモリの終わりを指し示す。一実施形態において、初期呼出しスタックは、空であるか、またはOP STOP命令を指し示す単一のターミナルリターンアドレスを含む。このことは、ルーチンがOP RET命令によって終わった場合に、ルーチンの実行をOP STOP命令上で強制終了させる。
一実施形態において、以下の条件のいずれかは、実行時例外であるとみなされ、実行を直ちに停止させる。
・カレントデータメモリアドレス空間の外のデータメモリに対するアクセスの試み。
・PCがカレントコードメモリアドレス空間の外のコードアドレスに到達するように、PCを設定する試み。
・未定義バイトコードを実行する試み。
・0に等しいスタック最上部オペランドを有するOP DIV命令を実行する試み。
・0に等しいスタック最上部オペランドを有するOP MOD命令を実行する試み。
・コールスタックのオーバーフローまたはアンダーフロー。
一実施形態において、制御VMは、比較的に単純な命令セットを使用する。限定されてはいるものの、命令の数は、任意の複雑さのあるプログラムを表現するのに十分である。命令およびそのオペランドは、バイトコードのストリームによって表される。一実施形態において、命令セットはスタックベースであり、OP PUSH命令を除いて、直接オペランドを有する命令はない。オペランドはデータスタックから読み出され、結果はデータスタック上にプッシュされる。一実施形態において、VMは、32ビットVMである。すべての命令は、32ビットスタックオペランド上で動作し、メモリーアドレスまたは符号付き整数を表す。符号付き整数は、2sコンプリメント2進コード化によって表される。
制御VMとともに用いる命令セットの例示的実施形態を、以下の表に示す。表において、2つのオペランドを有する命令のためのスタックオペランドは、「A,B」として記載され、スタックの最上部のオペランドは、最後に記載される(すなわち「B」)。特に明記しない限り、1つの例示的実施形態の以下の記載において用いられる「プッシュ」という用語は、データスタックの最上部に32ビット値をプッシュすることを指す。
好ましい実施形態において、コードモジュールは、MPEG―4ファイルフォーマット用に使用されるものと類似または同一のアトムベースのフォーマットで格納される。アトムが含むものは、32ビットサイズ(例えばビッグエンディアンバイト順の4バイトによって表される)、次に4バイトタイプ(例えばアルファベット文字のASCII値に対応するバイト)、次にペイロード(例えば8バイト)である。
図30に示すように、pkDSアトム3004は、データメモリにロードできるデータセグメントのメモリイメージ3005を含む。図31Aに示すように、一実施形態において、メモリイメージ3005は、バイト列3112によって表され、1つのヘッダバイト3114と、それに続く0以上のデータバイト3116とからなる。ヘッダバイト3114は、3116に続くバイトのフォーマットを識別するバージョンナンバをコード化する。
図30に示すように、pkCSアトム3006は、コードメモリにロードできるコードセグメントのメモリイメージ3007を含む。図31Bに示すように、一実施形態において、メモリイメージ3007は、バイト列3120によって表され、1つのヘッダバイト3122と、それに続く0以上のデータバイト3124とからなる。ヘッダバイト3122は、3124に続くバイトのフォーマットを識別するバージョンナンバをコード化する。
図30を再び参照して、pkEXアトム3008は、エクスポートエントリのリストを含む。図30において示す実施例において、pkEXアトム3008の最初の4つのバイト3009は、次のエントリの数に等しいビッグエンディアンバイト順に、32ビット符号のない整数をコード化する。図31Dに示すように、次の各エクスポートエントリ3160は、名前(名前サイズSを含む1つのバイト3162としてコード化される)と、それに続くSバイト3164(名前のASCII文字を含む)(終了するゼロ3166を含む)と、それに続くビッグエンディアンバイト順の32ビットの符号のない整数3168とからなり、それは名前付きエントリポイントのバイトオフセットを表し、31CSアトムに格納されるバイトコードデータの開始から測定される。図31Eは、オフセット64におけるエントリポイントMAINのためのエクスポートテーブルエントリ3170の例を示す。ここで、第1バイト3172は、名前(すなわち「MAIN」)のサイズに終了するゼロを加えたものが、5バイトであることを示す。さらに、最後の4つのバイト3174は、バイトオフセットが64であることを示す。
図30に示すように、pkRQアトム3010は、コードモジュールにおけるコードを実行するために仮想マシンインプリメンテーションが満たす必要のある必要条件を含む。一実施形態において、このアトムは任意であり、これが存在しない場合、仮想マシンは、インプリメンテーションプロファイルによって規定されるような、デフォルトのインプリメンテーション設定を使用する。
仮想マシンは、コードモジュールをロードすることを担う。コードモジュールがロードされるときに、pkDSアトムにおいてコード化されたデータセグメントメモリイメージが、メモリーアドレスにおいてデータメモリにロードされる。そのアドレスは、VMローダによって選択され、コードの実行時にDS疑似レジスタに格納される。
仮想マシンのプログラムは、それらのコードモジュールのコードセグメントの外で実現される機能を呼び出すことができる。このことは、呼び出すシステムコール番号を指定する整数スタックオペランドを受け取る、OP CALL命令を用いることによってなされる。システムコールを依存して、インプリメンテーションは、異なるコードモジュールにおけるバイトコードルーチン(例えば効用関数のライブラリ)であり得、それはVMのネイティブのインプリメンテーションフォーマットにおけるVMによって直接に実行されるか、または外部ソフトウェアモジュール(例えばVMのホスト環境)に委託される。
論ずる例示的実施形態において、システムコール番号0〜1023は、固定されたシステムコール(これらのシステムコールはすべてのVMインプリメンテーション上で同数を有する)のために確保される。システムコール番号1024〜16383は、VMが動的に割り当てるように利用可能である(例えば、System.FindSystemCallByNameによって返されるシステムコール番号は、VMによって動的に割り当てられることができ、すべてのVMインプリメンテーション上で同数である必要はない)。
一実施形態において、制御プログラムに書き込むために有用な多少の標準システムコールがサポートされる。これらの呼び出しは、上記の表に記載される固定数システムコール、ならびに動的に決定される数を有するシステムコールを含む(すなわち、それらのシステムコール番号は、引数として渡される名前を用いてSystem.FindSystemCallByNameを呼び出すことによって検索される)。
セクション8.4.4は、特定の例示的な値を規定する。一実施形態において、所定でないマイナスのエラーコード値が戻される場合、それらは、あたかも一般的なエラーコード値FAILUREであるかのように解釈される。
・信頼された時間の値は、UTC時間値として表現される(現在の場所を確実に決定することはできないので、信頼された時間は、ローカルタイムゾーンの中にはない)。
・信頼された時間は、決して逆行しない。
・信頼されたクロックは、リアルタイムより速く進むことはない。
値のサイズは、4バイトである。
スタックの最上部:
スタックの最上部:
以下は、標準システムコールの一部によって使用される標準データ構造である。
標準ExtendedStatusBlockは、呼び出しからルーチンまたはシステムコールへの戻りステータスとして拡張情報を伝達するために一般に使用されるデータ構造である。これは、フィールドのための異なる可能な値の範囲内で、様々な状況において使用できる一般的なデータ構造である。一実施形態において、ExtendedStatusBlockは、以下のように規定される。
このセクションは、本明細書の他の場所に記載するバイトコードフォーマットにプログラムをコンパイルするために使用する例示的なシンタックスを記載する。これは1つの可能なシンタックスの一実施例であり、任意の適切なシンタックスを使用できることが理解されるべきである。前述のように、本明細書に示すバイトコードフォーマットは、単なる実施例であり、本明細書に記載するシステムおよび方法は、他の任意の適切なバイトコードフォーマットまたは他のコードフォーマットとともに使用できることも理解されるべきである。
セグメント指令は、パーサのカレントセグメントを変化させる。一実施形態において、サポートされるセグメント指令は、.codeおよび.dataである。.codeセグメントは、バイトコード命令を保持する。.dataセグメントは、グローバル変数を保持する。
データ指令は、仮想マシンのデータセグメントにロードされるデータ(例えば整数およびストリング)を指定する。一実施形態において、サポートされるデータ指令は、以下の通りである。
・.string<some chars>;キャラクター列を指定する。一実施形態において、アセンブラは、ストリングの終わりに値0を有するオクテットを追加する。
・.byte<value>:8ビット値を指定する。<value>は、10進数または16進数として表現できる(0xを接頭辞として付ける)。
・.long<value>:32ビット値を指定する。<value>は、10進数または16進数として表現できる(0xを接頭辞として付ける)。
一実施形態において、サポートされるアセンブラ指令は、.equ<symbol>,<value>である。これは、シンボル<symbol>を値<value>に等しくなるように設定する。シンボルは、オペランドまたはコード命令として一般に使用される。
ラベルは、セグメントの中の場所を指し示すシンボルである。コードセグメントにおいて命令を指し示すラベルは、ジャンプ/分岐命令のために一般に使用される。データセグメントにおいてデータを指し示すラベルは、変数を指すために一般に使用される。一実施形態において、ラベルのためのシンタックスは、<LABEL>である。
エクスポート指令は、アセンブラによって生成されるコードモジュールの「エクスポート」セクションのエントリを作成するために使用される。エクスポートセクションにおける各エントリは、(名前およびアドレスの)ペアである。論ずる例示的実施形態において、コードセグメントの中のアドレスのみを、エクスポートセクションにおいて指定することができる。
コードセグメントに行くことになるデータをコンパイルするときに、アセンブラは、直接的または間接的にバイトコードにマッピングする命令を読み取る。上記の例示的な命令セットにおいて、大部分の仮想マシンバイトコードは、直接のオペランドを有せず、単一の行の上の単純なニーモニックによって表示される。アセンブラシンタックスを読みやすくするために、一部の命令は、擬似オペランド(あたかもバイトコードオペランドであるかのように見えるが本当はそうではない)を受け入れる。この場合、アセンブラは、1つ以上のバイトコード命令を生成することによって、あたかも命令が直接のオペランドを有するかのような効果と同じ効果を生み出す。例えば、分岐命令は、擬似オペランドを使用する。
分岐命令は、逐語的に指定することができ(任意オペランドなしで)、または任意オペランドを用いて指定することができる。任意オペランドは、アセンブラによって、対応するバイトコードシーケンスに変換される。任意オペランドは、整数定数またはシンボルである。オペランドがシンボルである場合、アセンブラは、正しい整数相対オフセットを算出するので、分岐はシンボルに対応するアドレスで終わる。
一実施形態において、プッシュ命令は、1つのオペランドを常に受け取る。オペランドは、整数定数、シンボル、または接頭辞「@」(その後にラベル名が直接続く)のうちの1つであり得る。オペランドがシンボルである場合、シンボルがラベルまたは.equシンボルのいずれであろうとも、プッシュされる値は、そのシンボルの直接的な値である(値は、セグメントオフセットによって増加させられない)。オペランドが、前に「@」を付けられるラベル名である場合、プッシュされる値は、ラベルが指し示すものに依存する。スタック上にプッシュされる値は、ラベルによって表される絶対アドレスである(すなわち、セグメントオフセットに追加されるローカルなラベル値)。
一実施形態において、アセンブラは、以下のシンタックスによって呼び出すことができるコマンド行ツールである。すなわち、「PktAssembler[options]<input file path><output file path>。ここで、[options]は、−cs int、−ds int、−xml id、または−hであり得る。「−cs int」は、コードセグメントアドレス値(デフォルト=8)である。「−ds int」は、データセグメントアドレス値(デフォルト=4)である。「−xml id」は、指定のIDを有するXMLファイルとして制御オブジェクトを出力するために使用される。「−h」は、ヘルプ情報を表示するために使用される。
このセクションは、制御オブジェクトの例示的実施形態を記載する。制御オブジェクトは、それらが制御するContentKeyオブジェクトの使用を認可または拒絶することによってコンテンツへのアクセスを管理する規則を表すために使用することができる。制御オブジェクトは、それらが埋め込まれるリンクオブジェクトの有効性に関する制約を表すために使用することもできる。制御オブジェクトは、別のエンティティ(例えばエージェントまたは委託)に代わって実行される独立型プログラムコンテナとして使用することもできる。一実施形態において、制御は、メタデータおよびバイトコードプログラムを含む。これらは、特定の対話処理プロトコルを実現する。制御プロトコルの目的は、DRMエンジンを通して、DRMエンジンと制御プログラムとの間、またはホストアプリケーションと制御プログラムとの間の対話処理を指定することである。このセクションはまた、アプリケーションがコンテンツ上で実行できる例示的なアクション(そのアクションパラメータは制御プログラムに出力されるべきである)、制御プログラムが戻りステータスをコード化する方法(リクエストされたアクションが実行できるか否かを示す)、ならびに戻りステータスをさらに記述できるパラメータを記載する。
・ESB:拡張された状態ブロック(Extended Status Block)
・LSB:最下位ビット(Least Significant Bit)
・バイト:8ビット値またはオクテット
・バイトコード:実行可能命令とそのオペランドとをコード化するバイトのストリーム
一実施形態において、制御オブジェクトは、制御プログラムを含む。制御プログラムは、仮想マシンによって実行可能なバイトコードを含むコードモジュール、および名前付きルーチンのリスト(例えばエクスポートテーブルにおけるエントリ)を含む。
別の制御に代わって(例えば制御プログラムがSystem.Host.CallVmシステムコールを使用するときに)実行するように意図されるルーチンのセットは、「委託」と呼ばれる。
一実施形態において、制御プログラムは、ホスト環境で動作する仮想マシンによって実行される。ホスト環境は、任意の適切な態様において実現することができる。しかしながら、説明の容易さ、および例示する目的のために、以下の説明において、仮想マシンのホスト環境のインプリメンテーションを、2つの部分、すなわちホストアプリケーションおよびDRMエンジンに論理的に分けることができると仮定する。しかしながら、他の実施形態は、異なる論理的機能分離を有してもよく、それは上述した論理構造と同等であり得ることが理解される。
一実施形態において、エンジンが制御ルーチンに呼び出しを行うことができる前に、エンジンは制御のコードモジュールを仮想マシンにロードする必要がある。一実施形態において、VMごとに唯一のコードモジュールがロードされる。
一実施形態において、エンジンは、ルーチンに対して利用可能にするリソース(例えばオブジェクト(または「状態」)データベース)に関して、制御プログラム内のルーチンへの呼び出しがアトミックであることを確実にする。従って、そのような実施形態において、エンジンは、呼び出すルーチンのいずれかの実行中に、これらのリソースが変更されないままであることを確実にする必要がある。このことは、ルーチン呼び出し中にこれらのリソースを効果的にロックすることによって、または複数のVMの同時実行を防止することによって行われてもよい。しかしながら、エンジンは、連続したルーチン呼出し全体にわたってこれらのリソースが変更されないことを保証する必要はない。
一実施形態において、ルーチン命名、入出力インタフェース、およびコードモジュールにおける各ルーチンのためのデータ構造は、共に制御プロトコル(Control Protocol)を構成する。コードモジュールによって実現されるプロトコルは、Controlオブジェクトの「プロトコル」フィールドに表示される。下記の例示的な制御プロトコルは、標準制御プロトコル(Standard Control Protocol)と呼ばれる。その識別子(「プロトコル」フィールドの値)は、「http://www.octopus−drm.com/specs/scp−1 0」である。
標準制御プロトコルに関わる上述の例示的実施形態において、バイトコードモジュールのタイプは、「プランクトン(Plankton)バイトコードモジュールバージョン1.0」である。この例示的実施形態において、制御オブジェクトの「タイプ」フィールドのための値は、「http://www.octopus−drm.com/specs/pkcm−1 0」である。
汎用ルーチンは、全体として制御に適用できるルーチンであり、所与のアクションまたはリンク制約に特定のものではない。1つの例示的実施形態において、以下の一般的な制御ルーチンが使用される。
このルーチンは、任意である(すなわち、すべての制御において必要とされるわけではない)。このルーチンが使用される場合、他の任意の制御ルーチンを呼び出す前に、エンジンはこのルーチンを1回呼び出す。ルーチンは、入力を有さず、出力として、ResultCodeをスタックの最上部に返す。ResultCodeは、成功の場合は0であり、失敗の場合はマイナスのエラーコードである。一実施形態において、ResultCodeが0でない場合、エンジンは、現在の制御操作を中止し、この制御のためのルーチンに対する更なる呼び出しを行わない。
このルーチンは、任意である。一般に制御プログラムによって表される規則の意味の記述をアプリケーションがリクエストするときに、このルーチンが呼び出される(すなわち特定のアクションのためではない)。ルーチンは、入力を有さず、出力として、ResultCodeおよびStatusBlockPointerを、スタックの最上部に返す。ここで、ResultCodeは、整数値である(ルーチンが首尾よく完了した場合は0であり、そうでない場合はマイナスのエラーコードである)。StatusBlockPointerは、標準ExtendedStatusBlockのアドレスである。ExtendedStatusBlockは、アプリケーションが解釈および使用できる情報を含むので、アプリケーションは、制御プログラムによって表される規則の意味に関する情報をユーザに提供する。
このルーチンは、任意である。このルーチンが存在する場合、DRMエンジンは、他の任意のルーチンを呼び出す必要がなくなった後に、このルーチンを1回呼び出す。制御の新しい使用が開始されない限り、制御のために他のいかなるルーチンも呼び出されない(この場合、ControlInitルーチンが再び呼び出される)。ルーチンは、入力を有さず、出力として、ResultCodeをスタックの最上部に返す。ResultCodeは、成功の場合は0であり、失敗の場合はマイナスのエラーコードである。
それぞれの可能なアクションは、名前(例えば、再生、転送、エクスポートなど)を有する。1つの例示的実施形態において、所与のアクション<Action>について、以下のルーチン名が規定される(ここで「<Action>」は、アクション(例えば「再生」「転送」「エクスポート」など)の実際の名前を表す)。
このルーチンは、任意である。このルーチンが存在する場合、このアクションのために他の任意のルーチンを呼び出す前に、エンジンはこのルーチンを1回呼び出す。ルーチンは、入力を有さず、出力として、ResultCodeをスタックの最上部に返す。ResultCodeは、成功の場合は0であり、失敗の場合はマイナスのエラーコードである。一実施形態において、ResultCodeが0でない場合、エンジンは、現在のアクションを中止し、この制御のためのルーチンに対する更なる呼び出しを行わない。
論ずる例示的実施形態において、所与のアクションのためにPerformルーチンが呼び出される場合、戻りステータスが何であるかを照合するために、このアクションを実行することなく、このルーチンが必要とされて呼び出される。このルーチンが任意の副作用を有さないことは、重要である。Performルーチンも副作用を有しない場合、制御のEntries TableにおけるCheckエントリおよびPerformエントリは、同一のルーチンを指し示すことができることに留意されたい。このルーチンは、下記のPerformルーチンのように、同一の入力および出力を有する。
一実施形態において、アプリケーションがアクションを実行しようとするときに、このルーチンが必要とされて呼び出される。ルーチンは、入力を有さず、出力として、ResultCodeおよびStatusBlockPointerを、スタックの最上部に返す。ここで、ResultCodeは、整数値である(ルーチンが首尾よく完了した場合は0であり、そうでない場合はマイナスのエラーコードである)。StatusBlockPointerは、標準ExtendedStatusBlockのアドレスである。一実施形態において、成功のResultCode(すなわち0)は、リクエストが認可されたことを意味しない。それは、ルーチンがエラーなしに実行可能であったことのみを意味する。それは、リクエストが認可または拒絶されたことを示すExtendedStatusBlockである。しかしながら、ResultCodeが失敗を示す場合、ホストアプリケーションは、あたかもリクエストが拒絶されたかのように進行する。例えば、一実施形態において、StatusBlockのカテゴリは、ACTION DENIEDであるべきであり、または返されたExtendedStatusBlockは拒絶され、ホストアプリケーションはアクションを中止する。
このルーチンは、任意であり、アプリケーションが所与のアクションのための制御プログラムによって表される規則および条件の意味の記述をリクエストするときに、呼び出される。ルーチンは、入力を有さず、出力として、ResultCodeおよびStatusBlockPointerを、スタックの最上部に返す。ここで、ResultCodeは、整数値である(ルーチンが首尾よく完了した場合は0であり、そうでない場合はマイナスのエラーコードである)。StatusBlockPointerは、標準ExtendedStatusBlockのアドレスである。
このルーチンは、任意である。このルーチンが存在する場合、DRMエンジンが所与のアクションのための他の任意のルーチンを呼び出す必要がなくなった後で、このルーチンが1回呼び出される。アクションの新しい使用が開始されない限り、所与のアクションのために他のいかなるルーチンも呼び出されない(この場合、Initルーチンが再び呼び出される)。ルーチンは、入力を有さず、出力として、ResultCodeをスタックの最上部に返す。
ResultCodeは、成功の場合は0であり、失敗の場合はマイナスのエラーコードである。ResultCodeが0でない場合、エンジンは、所与のアクションのためのルーチンに対する更なる呼び出しを行わない。
一実施形態において、埋め込まれた制御をリンクオブジェクトが有する場合、DRMエンジンは、その制御におけるリンク制約ルーチンを呼び出すことによって、リンクオブジェクトの有効性を検証する。1つの例示的実施形態において、以下の一般的なリンク制約ルーチンが使用される。
このルーチンは任意であり、このルーチンが存在する場合、所与のリンク制約のために他の任意のルーチンが呼び出される前に、このルーチンが正確に1回呼び出される。ルーチンは、入力を有さず、出力として、ResultCodeをスタックの最上部に返す。ResultCodeは、成功の場合は0であり、失敗の場合はマイナスのエラーコードである。ResultCodeが0でない場合、エンジンは、リンクオブジェクトの有効性制約が満たされていないとみなし、リンク制御のためのルーチンに対する更なる呼び出しを行うことを回避する。
論ずる例示的実施形態において、所与のリンクのための有効性制約が満たされるか否かを照合するために、このルーチンが必要とされて呼び出される。ルーチンは、入力を有さず、出力として、ResultCodeおよびStatusBlockPointerを、スタックの最上部に返す。ここで、ResultCodeは、整数値である(ルーチンが首尾よく完了した場合は0であり、そうでない場合はマイナスのエラーコードである)。StatusBlockPointerは、標準ExtendedStatusBlockのアドレスである。ResultCodeが0でない場合、エンジンは、リンクオブジェクトの有効性制約が満たされていないとみなし、リンク制御のためのルーチンに対する更なる呼び出しを行うことを回避する。たとえResultCodeが0(成功)である場合でも、制約が満たされたことを意味せず、ルーチンがエラーなしに実行可能であったことのみを意味する。StatusBlockは、制約が満たされるか否かを示す。
このルーチンは、任意であり、アプリケーションが所与のリンクのための制御プログラムによって表される制約の意味の記述をリクエストするときに、呼び出される。ルーチンは、入力を有さず、出力として、ResultCodeおよびStatusBlockPointerを、スタックの最上部に返す。ここで、ResultCodeは、整数値である(ルーチンが首尾よく完了した場合は0であり、そうでない場合はマイナスのエラーコードである)。StatusBlockPointerは、標準ExtendedStatusBlockのアドレスである。
このルーチンは任意であり、このルーチンが存在する場合、エンジンが所与の制約のための他の任意のルーチンを呼び出す必要がなくなった後で、このルーチンが呼び出される。ルーチンは、入力を有さず、出力として、ResultCodeをスタックの最上部に返す。ResultCodeは、成功の場合は0であり、失敗の場合はマイナスのエラーコードである。論ずる実施形態において、このルーチンを呼び出した後に、新しいサイクルが開始されない限り、所与の制約のために他のいかなるルーチンも呼び出されない(この場合、Initルーチンが再び呼び出される)。同様に、ResultCodeが0でない場合、エンジンは、所与のリンク制約のためのルーチンに対する更なる呼び出しを行わない。
一実施形態において、エージェントは、エンティティに代わって実行するように設計される制御オブジェクトである。エージェントは、2つのエンドポイントの間のサービス対話処理の状況において一般に使用される。ここで、1つのエンドポイントは、第2のエンドポイントの状況の中で、一部の仮想マシンコードを実行する必要があり、場合によってはその実行の結果を入手する必要がある。一実施形態において、制御は複数のエージェントを含むことができ、各エージェントは実行可能な任意の数のルーチンを含むことができる。しかしながら、実際には、エージェントは、一般に単一のルーチンを有する。
このルーチンは任意であり、このルーチンが存在する場合、エンジンは、所与のエージェントのために他の任意のルーチンを呼び出す前に、このルーチンを1回呼び出す。ルーチンは、入力を有さず、出力として、ResultCodeをスタックの最上部に返す。ResultCodeは、成功の場合は0であり、失敗の場合はマイナスのエラーコードである。
論ずる例示的実施形態において、このルーチンは、必要とされ、エージェントのメインルーチンである。ルーチンは、入力を有さず、出力として、ResultCode、ReturnBlockAddres、およびReturnBlockSizeを、スタックの最上部に返す。ResultCodeは、整数値である(ルーチンが首尾よく完了した場合は0であり、そうでない場合はマイナスのエラーコードである)。ReturnBlockAddressは、エージェントコードが呼出し元に返すと予想されるデータを含むメモリブロックのアドレスである(ルーチンが何も返す必要がない場合、アドレスは0である)。ReturnBlockSizeは、ReturnBlockAddressにおけるメモリブロックのバイトのサイズである。一実施形態において、ReturnBlockAddressが0である場合、ReturnBlockSizeの値も0である。
このルーチンは、任意であり、アプリケーションが所与のエージェントの記述をリクエストするときに呼び出される。ルーチンは、入力を有さず、出力として、ResultCodeおよびStatusBlockPointerを、スタックの最上部に返す。ここで、ResultCodeは、整数値である(ルーチンが首尾よく完了した場合は0であり、そうでない場合はマイナスのエラーコードである)。StatusBlockPointerは、標準ExtendedStatusBlockのアドレスである。
このルーチンは任意であり、このルーチンが存在する場合、エンジンは、このエージェントのための他の任意のルーチンを呼び出す必要がなくなった後で、このルーチンを1回呼び出す。新しいサイクルが開始されない限り、このエージェントのために他のいかなるルーチンも呼び出されない(この場合、Initルーチンが再び呼び出される)。ルーチンは、入力を有さず、出力として、ResultCodeをスタックの最上部に返す。ResultCodeは、成功の場合は0であり、失敗の場合はマイナスのエラーコードである。
以下の例の定義は、上述のルーチンのいくつかの例示的実施形態によって返されるExtendedStatusBlockデータ構造に適用可能である。ExtendedStatusBlockデータ構造の実施例を、仮想マシンの記載と関連して記載する。
以下の段落は、一実施形態によるExtendedStatusBlocksのCategoryフィールドのための値を規定する。一実施形態において、これらのカテゴリのいずれもサブカテゴリを有しないので、ExtendedStatusBlocksのSubCategoryフィールドの値は、0に設定される。
一実施形態において、Describeルーチンについてのカテゴリコードは規定されない。一実施形態において、Actionルーチンのために規定されるものと同一のローカルフラグがDescribeルーチンに適用され、Describeルーチンは、返されるExtendedStatusBlockにおいて、下記に指定される「Description」という名前のパラメータを含むべきである。一実施形態において、Describeルーチンは、返されるExtendedStatusBlockにおいて、義務またはコールバックパラメータを含まない。しかしながら、Describeルーチンは、ExtendedStatusBlockにおいて、対応するアクションまたはリンク制約に適用できる制約の一部または全部を記述するパラメータを含むべきである。
ExtendedStatusBlockのCacheDurationフィールドは、ExtendedStatusBlockにおいてコード化される情報の有効期間を示すものである。ExtendedStatusBlockがゼロ以外の有効期間を有する場合、ExtendedStatusBlockがキャッシュに格納可能であることを意味し、その期間中は、同一のパラメータを有する正確に同一のルーチン呼び出しを呼び出すことによって、同一のExtendedStatusBlockが返されるので、ルーチンを呼び出す代わりに、キャッシュに格納された値がホストアプリケーションに返されることを意味する。
一部のパラメータは、戻りステータス、ならびにテンプレート処理のための可変連結に関する、詳細な情報を伝達するために使用される(セクション9.4を参照)。
パラメータ名:Description
一実施形態において、制約パラメータは、類似のタイプの制約を含むリストにおいて分類される。一実施形態において、タイプの一部のために標準制約が規定される。一実施形態において、制御は、標準制約のセットに含まれない制約パラメータを返してもよい。但し、制約パラメータの名前が、その名前の一意性を保証する名前空間におけるURNであることを条件とする。このことは、ベンダー特定の制約、または他の仕様において規定される制約を含んでもよい。
パラメータ名:GenericConstraints
パラメータ名:TemporalConstraints
パラメータ名:SpatialConstraints
パラメータ名:GroupConstraints
パラメータ名:DeviceConstraints
パラメータ名:CounterConstraints
一実施形態において、セクション9.2.3に記載されるすべてのパラメータについて、ExtendedStatusBlockとしてコード化される場合、以下のフラグを使用してもよい。
一実施形態において、一定のアクションは、認可される際に、ホストアプリケーションからの更なる関与を必要とする。義務は、リクエストするコンテンツ鍵の使用時または使用後に、ホストアプリケーションによって実行される必要のある操作を表す。コールバックは、リクエストするコンテンツ鍵の使用時または使用後に、ホストアプリケーションによって実行される必要のある制御プログラムのルーチンのうちの1つ以上に対する呼び出しを表す。
以下のパラメータは、ExtendedStatusBlockデータ構造において返され得るいくつかのタイプの義務およびコールバックを規定する。
パラメータ名:Obligations
パラメータ名:Callbacks
一実施形態において、上記のセクションにおいて規定されるものと同一のパラメータフラグが使用される。一実施形態において、呼出し元が実現する必要のあるコールバックおよび義務は、CRITICALとしてマーキングされるので、これらのパラメータを無視する選択をホストアプリケーションに与えることを回避する。
一実施形態において、イベントは、名前によって指定される。イベントのタイプに依存して、イベントを更に指定するように規定されたフラグのセットがあり得る。一実施形態において、特定のイベントのためにフラグが規定されない場合、フラグフィールドの値は、0に設定される。更に、一部のイベントは、イベントが生じるときに一部の情報がコールバックルーチンに出力されるように指定してもよい。一実施形態において、ホストアプリケーションから特別な情報が必要とされない場合、ホストアプリケーションは、空のArgumentsBlockを用いて呼び出さなければならない(下記のセクション3.3におけるコールバックルーチンインタフェースの記載を参照)。
一実施形態において、コールバックルーチンは、同一の入力を受け取る:
一実施形態において、タイプCONTINUEを有するコールバック(タイプID=0)は、以下の出力を有する。
制御ルーチンが、ルーチンから返されたESBにおいてタイプRESETの指定された1つ以上のコールバックを有する場合、ホストアプリケーションは、そのコールバックのための条件が満たされるときに、任意の指定されたコールバックルーチンを呼び出す。一実施形態において、コールバックのいずれかの条件が満たされるとすぐに、ホストアプリケーションは、以下のことを行う必要がある。
・他の全ての保留中コールバックをキャンセルする。
・すべての現在の義務をキャンセルする。
・必要とされるパラメータ(あるとすれば)をそのコールバックに提供する。
・指定されたコールバックルーチンを呼び出す。
一実施形態において、制御オブジェクトは、メタデータリソースを含むことができる。それは、ExtendedStatusBlockデータ構造において返されるパラメータから参照され得る。リソースは、単純なテキスト、テキストテンプレート、または他のデータタイプであり得る。各リソースは、リソースIDによって識別され、1つ以上のテキストストリングまたはコード化されたデータ(異なる言語の各バージョンごとに1つ)を含むことができる。リソースがすべての言語に提供される必要はない。どの言語バージョンがそのニーズに最適であるかを選択することは、ホストアプリケーションに依存する。
単純なテキストは、MIMEタイプ「テキスト」として指定される。
一実施形態において、標準テキストリソースに加えて、テキストテンプレートタイプが規定される。このためのMIMEタイプは、「text/vnd.intertrust.octopus−text−template」である。
明示的なフォーマット名は、記入子タグのFORMAT部分として使用できる。未知のFORMAT名に遭遇する場合、テンプレート処理エンジンは、デフォルトフォーマッティング規則を使用する。
一実施形態において、制御ルーチンの実行中に、制御ルーチンは、System.Host.GetObjectシステムコールを使用することによって、多くのコンテキストオブジェクトにアクセスする。
一実施形態において、以下のコンテキストは、System.Host.SpawnVmシステムコールを使用して作成されたVMにおいて動作中のすべての制御のために存在する。一実施形態において、このコンテキストは、存在してはならないか、またはSystem.Host.SpawnVmを使用して作成されなかったVMにおいて動作中の制御のための空のコンテナでなければならない。
一実施形態において、以下のコンテキストは、制御のルーチンの実行中、および制御がコントローラオブジェクトによって指し示されたときは、いつでも存在する(例えば、保護されたコンテンツを消費するためにContentKeyオブジェクトにアクセスするとき)。
一実施形態において、リンクオブジェクトの有効性を制限するために制御(例えばリンクオブジェクトに埋め込まれる制御オブジェクト)が呼び出されるときはいつでも、以下のコンテキストが存在する。
一実施形態において、各アクションは、名前とパラメータのリストとを有する。一実施形態において、一部のパラメータが必要とされる。アプリケーションは、このアクションを実行するときにパラメータを提供しなければならない。一部のパラメータは任意であり、アプリケーションは、パラメータを提供してもよいし、または除外してもよい。
説明:マルチメディアコンテンツの通常のリアルタイム再生。
説明:互換性のあるターゲットシステムへの転送。
説明:外部ターゲットシステムに対するエクスポート。
1.32.3.1.1.オーディオCDまたはDVD
一実施形態において、ターゲットシステムが、圧縮されていないPCMオーディオが書き込まれる暗号化されていない媒体(例えば、書き込み可能なオーディオCDまたはDVD)である場合、標準TargetSystem ID「CleartextPcmAudio」が使用される。このターゲットシステムについて、ExportInfoパラメータは、著作権フラグを表す単一のIntegerパラメータである。このフラグは、整数値の最下位ビットにおいて示される。
安全な状態記憶メカニズムを提供するためにDRMエンジンの好ましい実施形態によって使用できる安全なオブジェクト記憶装置を、以下に記載する。そのような機能は、呼出しから呼出しまで持続的な状態データベースの読込みおよび書込みを行うことが可能な制御プログラムを有効にするのに役立つ。そのような状態データベースは、状態オブジェクト(例えば、再生回数、最初の使用日、集積されたレンダリング時間など)を格納するために使用することができる。好ましい実施形態において、安全なデータベースは、不揮発性メモリ(例えば、携帯装置上のフラッシュメモリ、またはPC上のハードディスクドライブの暗号化された領域)において実現される。しかしながら、安全なデータベースは、任意の適切な媒体上で実現し得ることが理解される。
オブジェクト記憶装置(例えばデータベース)は、データオブジェクトを含む。一実施形態において、オブジェクトは論理階層に配置される。ここで、コンテナオブジェクトは、それに含まれる子オブジェクトの親である。一実施形態において、4つのタイプのオブジェクト(ストリング、整数、バイト列、およびコンテナ)がある。各オブジェクトは、関連するメタデータおよびタイプを有する。オブジェクトは、そのタイプに依存して、値を有することもできる。
一実施形態において、状態データベースのオブジェクトの存続期間は、多くの規則に従う。オブジェクトは、明示的に抹消、または暗黙的に抹消され得る。オブジェクトは、データベースガーベジコレクションの結果としても抹消され得る。一実施形態において、オブジェクトが抹消される方法に関係なく、以下の規則が適用される。
・オブジェクトの親コンテナのためのModificationDateは、現在のローカルタイムに設定される。
・オブジェクトがコンテナである場合、オブジェクトが抹消されるときに、そのすべての子は抹消される。
データベースのクライアントが、オブジェクトの削除をリクエストするときに、明示的なオブジェクト抹消が発生する(Host.SetObjectシステムコールを使用してこれを行う方法の詳細については、オブジェクトアクセスを参照されたい)。
祖先におけるオブジェクトのうちの1つが抹消される結果として、オブジェクトが抹消されるときに、暗黙的オブジェクト抹消が発生する。
一実施形態において、状態データベースは、失効した任意のオブジェクトを抹消する。データベースを実現するシステム上のローカルタイムが、オブジェクトのメタデータのExpirationDateフィールドより後であるときに、オブジェクトは失効したとみなされる。インプリメンテーションは、失効したオブジェクトについてデータベースを定期的にスキャンして抹消してもよく、またはオブジェクトがアクセスされるまで待ち、その失効日を照合してもよい。一実施形態において、インプリメンテーションは、失効されたオブジェクトをクライアントに返してはならない。一実施形態において、コンテナオブジェクトが(例えば失効したために)抹消されるとき、その子オブジェクト(および再帰的にそれらのすべての子孫)も、(たとえまだ失効していなくとも)抹消される。
一実施形態において、状態データベースのオブジェクトは、システムコールのペア(オブジェクトの値を読み取るSystem.Host.GetObject、およびオブジェクトの値を作成、抹消または設定するSystem.Host.SetObject)によって、仮想マシンプログラムからアクセスすることができる。
オブジェクトの値は、システムコールSystem.Host.GetObjectを使用することによって読み取ることができる。状態データベースの一実施形態において、データベースに存在できる4つのオブジェクトタイプ(整数、ストリング、バイト列、およびコンテナ)は、仮想マシンのそれらの対応物上へ直接にマッピングされる。オブジェクト値は、通常の方法でアクセスでき、標準仮想名を実現することができる。
オブジェクトは、まだ存在しないオブジェクト名のためにSystem.Host.SetObjectを呼び出すことによって、作成することができる。オブジェクト作成は、システムコール指定に従って行われる。一実施形態において、オブジェクトが作成されるときに、状態データベースは以下のことを行う。
・オブジェクトメタデータの「所有者」フィールドを、親コンテナオブジェクトのメタデータの「所有者」フィールドの値に設定する。
・メタデータのCreationDateフィールドを、現在のローカルタイムに設定する。
・メタデータのModificationDateフィールドを、現在のローカルタイムに設定する。
・メタデータのExpirationDateフィールドを、0(失効しない)に設定する。
・メタデータのFlagsフィールドを、0に設定する。
・親コンテナのModificationDateを、現在のローカルタイムに設定する。
オブジェクトの値は、すでに存在するオブジェクトのためのSystem.Host.SetObjectを呼び出すことによって、変化させることができる。指定されたObjectTypeが、既存のオブジェクトのタイプIDと一致しない場合、ERROR INVALID PARAMETERが返される。一実施形態において、タイプIDがOBJECT TYPE CONTAINERである場合、値を指定する必要はない(ObjectAddressは、ゼロでないでなければならないが、その値は無視される)。既存のオブジェクトが設定されるときに、状態データベースは、オブジェクトのModificationDateを現在のローカルタイムに設定する。
オブジェクトは、すでに存在するオブジェクトのためのSystem.HostSetObjectを呼び出すことによって、明示的に抹消することができる。これによって、ObjectAddressの値は0となる。
オブジェクトが抹消されるときに、状態データベースは、好ましくは以下のことを行う。
・親コンテナのModificationDateを、現在のローカルタイムに設定する。
・抹消されたオブジェクトがコンテナである場合、そのすべての子オブジェクトを抹消する。
一実施形態において、状態データベースオブジェクトのためのメタデータは、仮想名を有するSystem.Host.GetObjectおよびSystem.Host.SetObjectシステムコールを用いてアクセスされる。以下の表は、状態データベースの一実施形態のオブジェクトのために利用可能な標準仮想名および拡張仮想名、ならびにそれらをメタデータフィールドにマッピングする方法を記載する。
一実施形態において、オブジェクトの読み取り、書き込み、作成、または抹消のリクエストが行われるときは必ず、状態データベースインプリメンテーションは、まず、呼出し元がリクエストを実行する許可を有するか否かを照合する。オブジェクトにアクセスを管理するポリシーは、主要な識別および委託のコンセプトに基づく。ポリシーを実現するために、インプリメンテーションが動作する信用モデルは、認証された制御プログラムの概念をサポートする必要がある。このことは、PKI鍵ペアの秘密鍵を用いて、プログラムを含む仮想マシンコードモジュールにデジタル的に署名することによって(直接的または間接的に安全な参照を通して)、 および主要な名前を署名鍵に関連づける名前証明書を有することによって、一般に行われる。しかしながら、制御プログラム識別を決定する異なる方法が可能であり、そのうちの任意の適切な一つを使用できることが理解される。
・呼出し元の識別が、オブジェクトの所有者と同一である場合、またはPUBLIC READフラグが、オブジェクトのFlagsメタデータフィールドにおいて設定される場合、オブジェクトの値に対する読み込みアクセスは、認可される。
・呼出し元が、オブジェクトの親コンテナに対する読み込みアクセスを有する場合、オブジェクトの値に対する読み込みアクセスは、認可される。
・呼出し元の識別が、オブジェクトの所有者と同一である場合、オブジェクトの値に対する書き込みアクセスは、認可される。
・呼出し元が、オブジェクトの親コンテナに対する書き込みアクセスを有する場合、オブジェクトの値に対する書き込みアクセスは、認可される。
・呼出し元が、オブジェクトの親コンテナに対する書き込みアクセスを有する場合、オブジェクトに対する作成アクセスまたは末梢アクセスは、認可される。
・オブジェクトのメタデータに対する読出し書込みアクセス(仮想名を使用する)は、オブジェクトの値に対する読出し書込みアクセスと同じポリシーに従い、読取り専用フィールドに書き込むことができないという更なる制約を有する。
上述のようなデータベースにおける状態情報の記憶は、著作権を、装置間で移動したり、またはドメインからエクスポートしたりすることを可能にする(例えば、状態情報を別の装置へ転送することによって)。以下のセクションは、データベースの状態をソースからシンクまで転送できるプロトコルの実施形態を記載する。このプロセスは、ライセンス転送プロトコルと呼ばれるが、単なる実際のライセンス(例えば制御オブジェクトなど)とは対照的に、状態データベースの状態が転送されることに留意されたい。このプロトコルは、ライセンス転送プロトコルと呼ばれる。なぜなら、一実施形態において、制御プログラムにおける転送アクションの実行によって転送が開始されるからであり、状態情報の転送によって、シンクがコンテンツの関連ライセンスを首尾よく実行できるからである。
この操作がリクエストにおいて指定されるときに、転送モードIDはReleaseに設定される。クライアントがレンダリング/チェックアウトとリリース操作との間の相関を行うために、選択要素SessionIdが、リクエストに追加される(下記のセクションを参照)。一実施形態において、この要素が存在するときには、SessionIdの下のTransfer Actionコンテキストのホストオブジェクトツリーに反映される。
−Transfer:
−Render:シンクがドメインXにある場合、またはシンクが近似にある場合はOKである。
一度に1つの平行ストリームのみをレンダリングできる。
−License:シンクがレンダリングすることを望むコンテンツに関連するライセンス
−Operation=urn:marlin:core:1−0:service:license−transfer:render
−Bundle=シンクのPersonalityノード
11.証明書
好ましい実施形態において、DRMエンジンにより用いられるオブジェクトの一部または全部は、署名される。以下は、一実施形態において、XMLデジタル署名仕様(http://www.w3.org/TR/xmldsig−core)(「XMLDSig」)を使用して、オブジェクトにデジタル署名をする方法の説明である。それに加えて、XML排他的標準化と互換性のあるXMLの標準化方法(http://www.w3.org/TR/xml−exc−cl4n/)(「cl4n−ex」)も記載する。この出力は、非XML名前空間認識パーサによって処理できる。付録Dは、例示的なオブジェクトシリアライゼーションに関する詳細な情報を提供するものであり、コード化に依存しない態様におけるオブジェクトのための標準的なバイト列を算出する例示的な方法を含む。
・Node
・Link
・Controller
・Control(任意)
・Extension(運ぶデータに依存する)
・<SignedInfo>要素
・<SignatureValue>要素
・<KeyInfo>要素
・http://www.w3.org/2001/10/xml−exc−cl4n#
・http://www.w3.org/2000/09/xmldsigt#hmac−shal(HMAC署名)
・http://www.w3.org/2000/09/xmldsigt#rsa−shal(公開鍵署名)
・http://www.w3.org/2000/09/xmldsig#shal
・コントローラオブジェクトの署名のためのHMAC−SHA1の場合
一部の実施形態において、リクエストするエンティティの物理的な近似に基づいて、コンテンツ、サービスおよび/または他のシステム資源へのアクセスを限定することは、望ましい場合がある(例えば、保護されたコンテンツが、ユーザのホームネットワークやオフィス総合ビルなどの外ではコピーできないことを示す規則の実施を補助するため)。近似照合プロトコルの実施形態を以下に記載する。これは、近似照合自体の実行を不適当に妨げることなくセキュリティを提供するものである。近似照合プロトコルは、多種多様な状況における応用に役立つ。そのうちの1つは、上記のように、デジタル著作権管理の状況である。しかしながら、以下に記載する近似照合のシステムおよび方法は、応用において、デジタル著作権管理の状況に限定されないことが理解される。例えば、限定するものではないが、本明細書に示す近似照合技術は、ネットワークサービス編成システム(例えば'551出願および/または任意の他の適切な文脈において記載されるようなシステム)の状況においても使用できる。
・任意のセットRの同一の値kについて、ステップ(f)〜(i)からなるループが繰り返されないこと。
・いずれかの当事者によって予想外のメッセージが受信される場合(以下の場合を含む)、プロトコルが中断されること。
○ステップ(g)において、Bが、R2*kinについて正しくない値を受信する場合。
○ステップ(a)において、Qが、指定された範囲内にない場合。
○kが、ループにおいて繰り返される場合。
○kがQを超過する場合。
本明細書に記載するシステムおよび方法の現実的応用において、セキュリティは、様々な異なる技術を使用して、様々な異なるレベルで提供することができる。本明細書における説明は、潜在的に複雑な仕事の関係を効率的に調整する際の、主にDRMエンジンおよび関連するホストアプリケーションの設計および操作に集中する。DRMエンジンおよびホストアプリケーションが意図される通りに動作するときに、コンテンツは、それに関連するライセンス条件の施行によって、無認可のアクセスまたは他の使用から保護される。
・証明の取り消しまたは無効化(一般に、一部のエンティティをブラックリストに記載することによる)。
・暗号メカニズムまたはポリシー施行メカニズムを適用することによるアクセスの除外または拒絶。
・証明に結合された識別または一部の他の属性に基づく、アクセスまたはサービスの回避または拒絶。
・時間的イベントに基づく、証明または特権の失効または無効化。
・証明書失効リスト(CRL)。
・証明およびデータ有効性サービス(例えばオンライン証明書状態プロトコル(OCSP)応答側)。
・証明およびデータの自己破壊のためのコマンド。
例えば、1つのエンティティは、同時に、DRMクライアント、DRMオブジェクトプロバイダ、およびセキュリティデータプロバイダであり得る。一実施形態において、実体属性に関するアサーションのために、SAML 1.1が使用される。
・アプリケーションレイヤプロセス間のメッセージは、エンティティの個人メッセージ署名鍵を使用して署名され、完全性保護および介入者攻撃に対する抵抗を提供する。
・メッセージは、デスティネーションエンティティによって保持される公開鍵を使用して暗号化される。このことは、意図されていない受信者が移動中にメッセージを傍受して読み取ることができないことを保証する。
・ノンスおよびタイムスタンプは、メッセージに追加される。これにより、リプレイアタックにイミュニティを提供し、メッセージングエンドポイント間の生存性の証明を容易にする。
・DRMエンジンの信頼された時間をアップデートするためにサーバタイムスタンプを使用する。
一部の実施形態において、ブートストラッププロトコルは、エンティティ(例えば装置およびソフトウェアクライアント)に初期機密構成データを配信するために使用される。例えば、エンティティが、暗号プロトコルを使用して、より大きいネットワークまたはシステムに接続し、他のエンティティと通信することを望む場合、エンティティは、個人化されたデータ(鍵(共有鍵、秘密鍵、および公開鍵)のセットを含む)によって構成される必要があり得る。個人化されたデータによってエンティティを予め設定することが不可能または非実際的である場合、暗号プロトコルを使用してエンティティ自体を「ブートストラップする」必要がある。
・E(K、D)は、鍵Kを用いた一部のデータDの暗号化である。
・D(K、D)は、鍵Kを用いた一部の暗号化されたデータDの解読である。
・S(K、D)は、鍵Kを用いた一部のデータDの署名である。これは、公開鍵署名またはMACであり得る。
・H(D)は、データDのメッセージダイジェストである。
・V(K、D)は、鍵Kを用いた一部のデータDにわたる署名の検証である。これは、公開鍵署名またはMACの検証であり得る。
・CertChain(K)は、公開鍵Kに関連する証明書チェーンである。Kの値は、チェーンの第1証明書に含まれる。
・CertVerify(RootCert、CertChain)は、証明書チェーンCertChain(チェーンの第1証明書に見いだされる公開鍵を含む)が、ルート証明書RootCertの下で有効であるという検証である。
・A|B|C|…は、個々のバイト列A、B、C、…を連結することによって得られるバイト列である。
・CN(A)は、Aについての標準的なバイト列である。
・CN(A、B、C...)は、複合フィールドA、B、Cについての標準的なバイト列である。
1.38.1.クライアント
一実施形態において、クライアントは、(製造時間および/またはファームウェア/ソフトウェアにおいてプレロードされる)ブートストラップトークンの以下のセットを有する。
・ブートストラッププロセスのための信用のルートである一つ以上の読取り専用証明書:BootRootCertificate。
・一つ以上の秘密ブートストラップ認証キー:BAK(共有される)。
・任意の秘密ブートストラップシード生成鍵(各クライアントに一意である):BSGK。
クライアントがランダムデータの良好なソースを有する場合、このシードは必要でない。
・クライアントが機密鍵を獲得するためにブートストラップサービスに与える必要のある一部の情報:ClientInformation(例えば、ClientInformationは、装置のシリアルナンバ、製造業者の名前などを含むことができる)。この情報は、属性のリストから成る。各属性は、ペア(名前および値)である。
一実施形態において、サーバは、以下のトークンを有する。
・クライアントのブートストラップ認証キーのうちの少なくとも1つ:BAK(共有された秘密)。
・署名のために使用される公開鍵/秘密鍵のペア:(Es、Ds)。
・ルート証明書BootRootCertificateのうちの1つの下で有効である証明書チェーン:ServerCertificateChain=CertChain(Es)。
・暗号化のために使用される公開鍵/秘密鍵のペア:(Ee/De)。
ブートストラッププロトコルの例示的実施形態を、図41に示し、以下に記載する。プロセスの最中(例えば、署名または証明書チェーンを検証する際)の失敗は、エラーにつながり、プロトコル進行を停止する。
・クライアントによってリクエストされる指定されたProtocol、Version、およびProfileをサポートすることを照合する。
・ノンス(非常にランダムな数)を生成する。
・セッション全体にわたって持続する情報(例えば、タイムスタンプ、セッショントークン、または他の任意のサーバー側情報)を運ぶために、任意にCookieを生成する。
クッキーの値は、サーバのみにとって意味があり、クライアントによって不透明なデータブロックとみなされる。
・SessionIdの値を、BootstrapRequestMessageから抽出する。
・呼掛けを生成する:Challenge=[Nonce、Ee、Cookie、SessionId]。
・Dsを用いて呼掛けに署名するために、S(Ds、Challenge)を算出する。
・ChallengeRequestMessageを構成し、応答としてクライアントにそれを送信する。
・ルート証明書BootRootCertificateの下で証明書チェーンServerCertificateChainが有効であることを検証する:CertVerif(BootRootCertificate、ServerCertificateChain)。
・ServerCertificateChainから公開鍵Esを抽出する。
・呼掛けの署名を検証する:V(Es、Chalenge)。
・SessionIdが、BootRequestMessageが送信されたときにセッションのために選択されたSessionIdと一致する、ことを照合する。
・ChallengeResponseMessageを構成し、サーバに送信する。
・以下の2つの方法の1つを使用して、セッション鍵SKを生成する。
○安全なランダムな鍵ジェネレータを直接に使用すること。
○NonceおよびBSGKを間接的に使用して、HSK=H(BSGK|Nonce)を算出し、SK=First N bytes of HSKを設定する。
・[Challenge、Clientlnformation、SessionKey]を含むChallengeRepsonseオブジェクトを生成する。ここで、Challengeは、すでに受信したChallengeRequestMessageからの呼掛けであり、ServerEncryptionKeyは除く。
・BAKを用いて応答に署名するために、S(BAK、ChallengeResponse)を算出する。
・署名されたChallengeReponseをSKを用いて暗号化する:E(SK[ChallengeResponse、S(BAK、ChallengeResponse)])。
・サーバの公開鍵Eeを用いてSessionKeyを暗号化する。
・ChallengeResponseMessageを構成し、サーバに送信する。
○秘密鍵Deを使用してセッション鍵SKを解読する:D(De、SessionKey)。
○前のステップからのセッション鍵SKを用いてChallengeResponseを解読する:D(SK、Challenge)。
○呼掛けの署名を検証する:V(BAK、ChallengeResponse)。
○セッション鍵SKが暗号復元に使用されるセッション鍵と一致することを照合する。
○必要に応じてCoolieおよびNonceの値(例えばタイムスタンプ)を照合する。
○SessionIdが、BootRequestMessageが送信されたときにセッションのために選択されたSessionIdと一致する、ことを照合する。
○BootstrapResponseMessageを構成し、サーバに送信する。
○ChallengeResponseMessageにおいて受信したClientInformationを解析し、このブートストラップリクエストのために送信する必要のあるクライアントコンフィギュレーションDataをルックアップまたは生成する(これは、クライアントを表すノードのための機密鍵(Ec/Dc)を含んでもよい)。
サーバは、クライアントのための正確な情報を検索するのを補助するために、NonceおよびCookieの値を一般に使用する。
○SessionIdおよび構成Dataを用いて、BootstrapResponseを作成する。
○Dsを用いてDataに署名するために、S(Ds、BootstrapResponse)を算出する。
○署名されたBootstrapResponseをセッション鍵SKを用いて暗号化する:E(SK[BootstrapResponse、S(ds、BootstrapResponse)])。
一実施形態において、各信用ドメインは、ルート証明機関と、ドメインの一意の名前とを含む。クライアントは、BootstrapRequestを送信するときに、受け入れることを望むすべての信用ドメイン(すなわちクライアントが有効であるとみなす証明書)を識別する。サーバは、クライアントによって送信されるリストから、信用ドメインを選択する(サーバがサポートする場合)。
一実施形態において、署名がメッセージペイロードにおいて使用されるときは必ず、署名は、メッセージの署名された部分に含まれるデータフィールドの標準的なバイト列を通じて算出される。標準的なバイト列は、フィールド値のコード化からでなく、フィールド値から算出される。各プロファイルは、メッセージタイプごとにフィールドの標準的なバイト列を算出するために使用されるアルゴリズムを、好ましくは規定する。
ブートストラッププロトコルのプロファイルは、様々な暗号およびシリアライゼーションフォーマットについての選択のセットである。各プロファイルは、好ましくは一意の名前を有し、以下の選択を含む。
・公開鍵暗号化アルゴリズム
・公開鍵署名アルゴリズム
・秘密鍵暗号化アルゴリズム
・秘密鍵署名アルゴリズム
・公開鍵コード化
・ダイジェストアルゴリズム
・標準的なオブジェクトシリアライゼーション
・証明書フォーマット
・最低限ノンスサイズ
・メッセージマーシャリング
付録A
以下は、複数の連動する署名を有するコントローラオブジェクトの実施例である。
この付録Bは、本明細書の他の場所に記載する例示的なオクトパスDRMエンジンを使用するシステムの一実施形態におけるオブジェクトのXMLコード化を示す。特定のアプリケーションのために、アプリケーション指定XMLスキーマは、以下に示すXMLスキーマ(「オクトパスXMLスキーマ」)をインポートし、アプリケーションに特定の要素(例えば失効のために使用される拡張)を追加することによって、作成することができる。一実施形態において、XMLにおけるオブジェクトのコード化は、アプリケーション指定XMLスキーマに対して検証可能である必要がある。これらのXMLコード化に対する更なる可能な制約は、下記に見いだされる。
B.1.1.ノード
一実施形態において、以下のタイプのノードが規定される。
・オクトパス個人ノード。これは、所与のDRMエンジンのルートノードである(例えば装置ノードまたはPCソフトウェアノード)。
・他のタイプのノード(例えばユーザノード)、またはユーザのグループのためのノード(例えば購読ノードまたは帰属関係ノード)。
一実施形態において、ノードオブジェクトの各XMLコード化は、以下の<Attribute>を有する<AttributeList>を運ぶ。
付録Bに対する補遺Aに示すように、一実施形態において、オクトパス個人ノードは、ScubaKey(共有鍵および機密鍵)およびTorpedo(ブロードキャスト秘密鍵)のための拡張を運ぶ。他の種類のノードは、Scubaを共有する鍵のみを運ぶ。
一実施形態において、<Link>要素の<LinkTo>要素および<LinkFrom>要素は、<ID>要素のみを含み、<Digest>要素を含まない。<Control>、要素は、任意である。この付録Bに対する補遺Cは、署名されたリンクオブジェクトの実施例を含む。
一実施形態において、リンクは、必須属性を有しない。このことは、<AttributeList>が必要とされず、対応するインプリメンテーションによって無視されることを意味する。
この付録Bに示す例示的実施形態において、リンクは、<Link>の内部で運ばれる<ScubaKeys>内部拡張を有するので、<ExtensionList>要素は必須である。それに加えて、リンクにおける<ScubaKeys>拡張は署名されないので、<ds:DigestMethod>要素および<ds:DigestValue>要素は、<Extension>要素の内部で運ばれない。この<ScubaKeys>拡張は、(<PrivateKey>要素および<SecretKey>要素において)「From Node」の公開または秘密Scuba共有鍵を有する「To Node」の秘密Scuba共有鍵を含む。この暗号化は、XML暗号化シンタックスを使用して表示される。この付録Bに例示する実施形態において、<KeyData>要素、ならびに<PrivateKey>および<SecretKey>要素の子の、「コード化」属性は、「xmlenc」に設定される。この<KeyData>要素の子は、<xenc:EncryptedData>要素である。暗号化鍵の名前は、<KeyInfo>/<Keyname>要素において広告される。
・<Keyname>要素は、鍵が帰属するペアの名前である。
・暗号化されるデータ(例えば秘密鍵)が、あまりに大きすぎて公開鍵によって直接に暗号化できない場合、媒介128ビット秘密鍵が生成される。データは、例えばaes−128−cbcを使用して媒介鍵によって暗号化され、媒介鍵は、公開鍵によって暗号化される(<EncryptedKey>要素を使用して)。
この付録Bに対する補遺Cは、署名されたライセンスの実施例を提供する(最初の失効が生じる前)(下記のContentKeyセクションを参照)。
この付録Bに示す例示的実施形態において、<ContentKeyReference>要素および<ContentReference>要素(例えば<ProtectedTargets>要素の内部)は、<ID>要素のみを含み、<Digest>要素を含まない。この例示的実施形態において、プロテクタオブジェクトは、必須属性または拡張を含まない。<AttributeList>および<ExtensionList>要素は、任意であり、無視される。
この付録Bに示す例示的実施形態において、ContentKeyオブジェクトは、必須属性または拡張を含まない。従って、<AttributeList>要素および<ExtensionList>要素は、任意であり、無視される。
一実施形態において、コントローラオブジェクトは、必須属性または拡張を含まない。従って、<AttributeList>および<ExtensionList>要素は、任意であり、対応するインプリメンテーションによって無視される。
一実施形態において、制御オブジェクトは、必須属性または拡張を含まない。従って、<AttributeList>および<ExtensionList>要素は、任意であり、対応するインプリメンテーションによって無視される。
標準的なバイト列アルゴリズムは、フィールドの値からバイト列を構成することからなる。各フィールドは、単純タイプまたは複合タイプの値を有する。一部のフィールドは、任意であるように指定できる(フィールドは存在するかまたは省略され得る)。
任意フィールドが存在する場合、その値はバイト値1としてシリアル化され、その後にフィールド値の標準的なバイト列が続く。それが省略される場合、その値はバイト値0としてシリアル化される。
標準的なバイト列は、各サブフィールド値の標準的なバイト列の結合である(任意フィールドは、スキップされず、任意フィールドのための規則に従ってシリアル化される)。
標準的なバイト列は、サブフィールドカウントであり、ビッグエンディアン順における4バイトのシーケンスとしてコード化され、その後に各サブフィールド値の標準的なバイト列の結合が続く。サブフィールド数が0である場合、4バイトフィールド数の後に何も続かない(この場合、すべての4バイトは、値0を有する)。
1.6.バイト
1.7. ブーリアン
2.オクトパスオブジェクトへの応用
オブジェクトの「属性」フィールドは、タイプ「リスト」の命名されていない属性として処理される(それは命名された属性の未ソートのコンテナである)。タイプ「リスト」の属性の値に含まれる命名された属性は、それらの「名前」フィールドによって辞書編集的にソートされる。タイプ「アレイ」の値属性に含まれる命名されていない属性は、ソートされない(アレイ順にシリアル化される)。
オブジェクトの内部拡張は、それらの「ID」フィールドによって辞書編集的にソートされる。一実施形態において、内部拡張のために、「extensionData」フィールドは、標準的なバイト列の計算において使用されない。そのような拡張は、署名のためにダイジェストの計算に含まれる必要がある場合、「extensionData」において運ばれる実際データのダイジェストを表す「ダイジェスト」フィールドを含む。拡張データのタイプごとに、その標準的なバイト列の計算を可能にする定義が与えられる。
ContentKey参照は、それらの「ID」フィールドによって辞書編集的にソートされる。
制御プログラムの実施例を以下に提供する。この実施例において、帰属関係状態(登録中に供給される)またはライセンス状態(ライセンス転送中に供給される)を、状態データベース(この例示的実施形態において「Seashell」データベースと呼ばれる)に見いだすことができる場合、再生アクションを認可できるということを、ライセンスは示す。ライセンスはまた、ピアがライセンス転送をリクエストすることを可能にする。2つのピアが所与の近似にある場合、この転送は認可される。ライセンスは、ピア上のライセンス状態を設定するエージェントを含む。
Claims (86)
- ホストコンピュータシステム上の電子コンテンツへのアクセスを認可する方法であって、
前記ホストコンピュータシステムのユーザから前記電子コンテンツにアクセスするリクエストを受信し、
前記電子コンテンツに関連するライセンスを検索することであって、前記ライセンスは、制御オブジェクトと、コントローラオブジェクトと、プロテクタオブジェクトと、コンテンツ鍵オブジェクトとを含み、
前記制御オブジェクトから第1制御プログラムを検索し、
前記リクエストが認可され得るか否かを決定するために、前記ホストコンピュータシステム上で実行するデジタル著作権管理エンジンを使用して前記第1制御プログラムを実行し、前記制御プログラムを実行することは1つ以上のリンクオブジェクトを評価することを含み、前記各リンクオブジェクトは2つのエンティティの関係を表し、前記1つ以上のリンクオブジェクトの少なくとも1つは第2制御プログラムを含み、
前記1つ以上のリンクオブジェクトを評価することは、リンクが有効であるか否かを決定するために、前記デジタル著作権管理エンジンを使用して前記第2制御プログラムを実行することを含み、前記実行することは、前記制御プログラムによって表現される1つ以上の条件が満たされるか否かを決定することを含む、方法。 - 前記コントローラオブジェクトが、前記制御オブジェクトを前記コンテンツ鍵オブジェクトに安全に結合するように操作可能である、請求項1に記載の方法。
- 前記プロテクタオブジェクトが、前記コンテンツ鍵オブジェクトを前記電子コンテンツに安全に結合するように操作可能である、請求項1に記載の方法。
- 前記1つ以上の条件のうちの少なくとも1つが、現在時刻が定義済みの時間の前であるという必要条件を含む、請求項1に記載の方法。
- 前記1つ以上の条件のうちの少なくとも1つが、現在時刻が一定の時刻の後であるという必要条件を含む、請求項1に記載の方法。
- 前記1つ以上の条件のうちの少なくとも1つが、前記第2制御プログラムが定義済みの回数よりも多く前もって実行していないという必要条件を含む、請求項1に記載の方法。
- 前記1つ以上の条件のうちの少なくとも1つが、メモリに格納されたカウンタが定義済みの値を超過しないという必要条件を含む、請求項1に記載の方法。
- 前記1つ以上の条件のうちの少なくとも1つが、定義済みのイベントが前もって生じていないという必要条件を含む、請求項1に記載の方法。
- 前記1つ以上の条件のうちの少なくとも1つが、前記ホストコンピュータシステムが1つ以上の定義済みの特性を有しなければならないという必要条件を含む、請求項1に記載の方法。
- 前記1つ以上の条件のうちの少なくとも1つが、前記電子コンテンツをレンダリングするための前記ホストコンピュータシステム上で実行するソフトウェアが前記電子コンテンツを定義済みのインタフェースにエクスポートすることができないという必要条件を含む、請求項1に記載の方法。
- 電子コンテンツ上で所与のアクションが実行されることを認可する方法であって、
第1デジタル著作権管理エンジン上で実行する仮想マシンを使用して第1制御プログラムを実行し、前記第1制御プログラムは、前記所与のアクションが前記電子コンテンツ上で実行され得るか否かを決定するように操作可能であり、前記第1制御プログラムは、前記所与のアクションの実行が認可されるために満たされなければならない1つ以上の条件の第1セットを評価するように操作可能であり、前記1つ以上の条件の第1セットのうちの少なくとも1つは、1つ以上のリンクオブジェクトが前記デジタル著作権管理エンジンに利用可能であるという必要条件を含み、前記リンクオブジェクトは、第1エンティティを表す第1ノードを、第2エンティティを表す第2ノードに論理的にリンクし、
1つ以上のリンクオブジェクトを検索し、前記リンクオブジェクトの各々は2つのエンティティの関係を表現し、前記リンクオブジェクトの少なくとも1つは、第2制御プログラムを含み、前記第2制御プログラムは、前記少なくとも1つのリンクオブジェクトが有効であるとみなされるために満たされなければならない1つ以上の条件の第2セットを評価するように操作可能であり、
前記第2制御プログラムを実行するためにデジタル著作権管理エンジンを使用する、方法。 - 前記1つ以上の条件の第1セットが時間ベースの条件を含む、請求項11に記載の方法。
- 前記1つ以上の条件の第2セットが時間ベースの条件を含む、請求項11に記載の方法。
- 前記条件の第1セットまたは前記条件の第2セットのうちの少なくとも1つが、メモリに格納されたカウンタが定義済みの値を超過しないという必要条件を含む、請求項11に記載の方法。
- 電子コンテンツへのアクセスまたは使用を管理するための方法であって、
電子コンテンツに関連する制御プログラムを検索し、前記制御プログラムは命令を含み、前記命令は、デジタル著作権管理エンジンによって実行されるときに第1条件を評価するように操作可能であり、前記第1条件が満たされたことを決定する際に前記電子コンテンツの第1使用を可能にし、
前記デジタル著作権管理エンジンの制御の下に状態情報をデータベースに格納し、前記状態情報は、前記電子コンテンツの前記第1使用に関し、
前記第1条件および前記第2条件を評価することによって、前記電子コンテンツの第2使用が認可されるか否かを決定するために、前記制御プログラムを2回目に実行し、前記第2条件の前記評価は少なくとも部分的に前記状態情報に依存し、
前記第2条件が満たされたことを決定する際に、前記状態情報をアップデートし、前記アップデートされた状態情報を前記データベースに格納する、方法。 - 前記データベースに格納された前記状態情報が、前記電子コンテンツがアクセスされた回数のカウントを含む、請求項15に記載の方法。
- 前記データベースに格納された前記状態情報が、前記電子コンテンツの使用の所要時間の測定を含む、請求項15に記載の方法。
- 前記制御プログラムがリンクオブジェクトから入手され、前記リンクオブジェクトが第1ノードから第2ノードまでの認可グラフの一部を形成する、請求項15に記載の方法。
- 前記第1条件が、前記リンクオブジェクトが有効であるという必要条件を含む、請求項18に記載の方法。
- 前記第1ノードがコンピューティング装置を表し、前記第2ノードが前記コンピューティング装置のユーザを表す、請求項18に記載の方法。
- 前記第1ノードがコンピューティング装置を表し、前記第2ノードが購読サービスを表す、請求項18に記載の方法。
- 前記第1ノードがコンピューティング装置を表し、前記第2ノードがホームネットワークドメインを表す、請求項18に記載の方法。
- 電子コンテンツへのアクセスまたは使用を管理するためのシステムであって、
電子コンテンツに関連する制御プログラムを検索し、前記制御プログラムは命令を含み、前記命令は、デジタル著作権管理エンジンによって実行されるときに第1条件を評価するように操作可能であり、前記第1条件が満たされたことを決定する際に前記電子コンテンツの第1使用を可能にする手段と、
前記デジタル著作権管理エンジンの制御の下に状態情報をデータベースに格納し、前記状態情報は、前記電子コンテンツの前記第1使用に関する手段と、
前記第1条件および前記第2条件を評価することによって、前記電子コンテンツの第2使用が認可されるか否かを決定するために前記制御プログラムを2回目に実行し、前記第2条件の前記評価は、少なくとも部分的に前記状態情報に依存する手段と、
前記第2条件が満たされたと決定する際に、前記状態情報をアップデートし、前記アップデートされた状態情報を前記データベースに格納するための手段とを備える、システム。 - 前記データベースに格納された前記状態情報が、前記電子コンテンツがアクセスされた回数のカウントを含む、請求項23に記載のシステム。
- 前記データベースに格納された前記状態情報が、前記電子コンテンツの使用の所要時間の測定を含む、請求項23に記載のシステム。
- 前記制御プログラムがリンクオブジェクトから入手され、前記リンクオブジェクトが第1ノードから第2ノードまでの認可グラフの一部を形成する、請求項25に記載のシステム。
- 前記第1条件が、前記リンクオブジェクトが有効であるという必要条件を含む、請求項26に記載のシステム。
- 前記第1ノードがコンピューティング装置を表し、前記第2ノードが前記コンピューティング装置のユーザを表す、請求項26に記載のシステム。
- 前記第1ノードがコンピューティング装置を表し、前記第2ノードが購読サービスを表す、請求項26に記載のシステム。
- 前記第1ノードがコンピューティング装置を表し、前記第2ノードがホームネットワークドメインを表す、請求項26に記載のシステム。
- デジタル著作権管理ライセンスを保護する方法であって、前記デジタル著作権管理ライセンスは、
(a)制御プログラムを含み、前記制御プログラムは1つ以上の命令を含み、前記1つ以上の命令は、電子コンテンツの指定された使用に関連する1つ以上の条件を検証するように操作可能である、第1オブジェクトと、
(b)第1暗号鍵を含み、前記第1暗号鍵は少なくとも部分的に暗号化され、前記電子コンテンツを解読するように操作可能である、第2オブジェクトと、
(c)前記第1オブジェクトへの参照と前記第2オブジェクトへの参照とを含む第3オブジェクトと、
(d)前記第2オブジェクトへの参照と前記電子コンテンツへの参照とを含む第4オブジェクトとを含み、
前記第1暗号鍵を使用して前記第3オブジェクトにデジタル署名する、方法。 - 前記第1オブジェクトのメッセージ認証コードを算出し、前記メッセージ認証コードが前記第1暗号鍵を使用する、請求項31に記載の方法。
- 前記メッセージ認証コードの公開鍵署名を算出する、請求項32に記載の方法。
- 前記第2オブジェクトの中に前記メッセージ認証コードと前記公開鍵署名とを含むことを更に含む、請求項33に記載の方法。
- 前記第1オブジェクトが制御オブジェクトを含む、請求項31に記載の方法。
- 前記第2オブジェクトがコンテンツ鍵オブジェクトを含む、請求項31に記載の方法。
- 前記第3オブジェクトがコントローラオブジェクトを含む、請求項31に記載の方法。
- 前記第4オブジェクトがプロテクタオブジェクトを含む、請求項31に記載の方法。
- デジタル著作権管理ライセンスの完全性を検証する方法であって、前記デジタル著作権管理ライセンスは、
(a)制御プログラムを含み、前記制御プログラムは1つ以上の命令を含み、前記1つ以上の命令は、電子コンテンツの指定された使用に関連する1つ以上の条件を検証するように操作可能である、第1オブジェクトと、
(b)第1暗号鍵を含み、前記第1暗号鍵は少なくとも部分的に暗号化され、前記電子コンテンツを解読するように操作可能である、第2オブジェクトと、
(c)前記第1オブジェクトへの参照と前記第2オブジェクトへの参照とを含む第3オブジェクトと、
(d)前記第2オブジェクトへの参照と前記電子コンテンツへの参照とを含む第4オブジェクトとを含み、
前記第3オブジェクトのデジタル署名を検証するために前記第1暗号鍵を使用する、方法。 - メッセージ認証コードを算出するために前記第1暗号鍵を使用し、前記メッセージ認証コードを前記第3オブジェクトに含まれる値と比較する、請求項39に記載の方法。
- 前記メッセージ認証コードの署名を検証するために公開鍵/秘密鍵のペアの秘密鍵を使用することを更に含む、請求項40に記載の方法。
- 前記第1オブジェクトが制御オブジェクトを含む、請求項39に記載の方法。
- 前記第2オブジェクトがコンテンツ鍵オブジェクトを含む、請求項39に記載の方法。
- 前記第3オブジェクトがコントローラオブジェクトを含む、請求項39に記載の方法。
- 前記第4オブジェクトがプロテクタオブジェクトを含む、請求項39に記載の方法。
- デジタル著作権管理ライセンスの完全性を検証するシステムであって、前記デジタル著作権管理ライセンスは、
(a)制御プログラムを含み、前記制御プログラムは1つ以上の命令を含み、前記1つ以上の命令は、電子コンテンツの指定された使用に関連する1つ以上の条件を検証するように操作可能である、第1オブジェクトと、
(b)第1暗号鍵を含み、前記第1暗号鍵は少なくとも部分的に暗号化され、前記電子コンテンツを解読するように操作可能である、第2オブジェクトと、
(c)前記第1オブジェクトへの参照と前記第2オブジェクトへの参照とを含む第3オブジェクトと、
(d)前記第2オブジェクトへの参照と前記電子コンテンツへの参照とを含む第4オブジェクトとを含み、
前記第3オブジェクトのデジタル署名を検証するために前記第1暗号鍵を使用するための手段を備える、システム。 - 第2エンティティの定義済みの近似の範囲内に第1エンティティがあるか否かを決定する方法であって、
前記第1エンティティにおいて乱数ペアのセットを生成し、
前記第2エンティティが乱数ペアのセットを導出し得る元となる暗号化された情報を、前記第1エンティティから前記第2エンティティに送信し、
前記暗号化された情報を前記第2エンティティにおいて解読し、
前記乱数ペアのセットを前記第2エンティティにおいて導出し、
受信通知を、前記第2エンティティから前記第1エンティティに送信し、
第1時間値を、前記第1エンティティにおいて測定し、
前記乱数ペアのセットからの第1数を、第1エンティティから第2エンティティに送信し、
前記第1数が前記乱数ペアのセットからのものであることを、前記第2エンティティにおいて検証し、
前記乱数ペアのセットからの対応する乱数を、第2エンティティから第1エンティティに送信し、
前記対応する乱数を、第1エンティティにおいて受信し、
第2時間値を、前記第1エンティティにおいて測定する、方法。 - 前記第1時間値と前記第2時間値との差分を算出し、前記差分を閾値と比較する、請求項47に記載の方法。
- 前記差分が前記閾値より大きい場合、計算リソースへのアクセスを前記第2エンティティに対して拒絶する、請求項48に記載の方法。
- 前記差分が前記閾値より小さい場合、計算リソースへのアクセスを前記第2エンティティに対して認可する、請求項48に記載の方法。
- 第2エンティティに対する第1エンティティの近似を決定する方法であって、
第1秘密を前記第1エンティティから前記第2エンティティに送信し、
受信通知を前記第2エンティティから受信し、
第1時間値を前記第1エンティティにおいて測定し、
前記第1秘密の一部を前記第1エンティティから前記第2エンティティに送信し、
前記第1秘密の対応する部分を、前記第2エンティティから受信し、
第2時間値を前記第1エンティティにおいて測定し、
前記第1時間値と前記第2時間値との差分を算出する、方法。 - 前記差分を閾値と比較する、請求項51に記載の方法。
- 前記差分が前記閾値より大きい場合、計算リソースへのアクセスを前記第2エンティティに対して拒絶する、請求項52に記載の方法。
- 前記差分が前記閾値より小さい場合、計算リソースへのアクセスを前記第2エンティティに対して認可する、請求項52に記載の方法。
- 仮想マシンを含むデジタル著作権管理エンジンを含むデジタル著作権管理システムにおいて電子コンテンツへのアクセスまたは他の使用を認可する方法であって、
電子コンテンツへのアクセスまたは他の使用のためのリクエストを受信し、
前記電子コンテンツに関連するライセンスを識別し、前記ライセンスは制御プログラムとコンテンツ鍵とを含み、
前記仮想マシンを使用して前記制御プログラムを実行し、
前記仮想マシンから出力を入手し、前記出力は、義務が満たされる限り前記電子コンテンツの前記リクエストされたアクセスまたは他の使用が認可されることを示し、
前記義務をホストアプリケーションが満たすことができることを決定し、
前記義務を満たして、前記電子コンテンツを解読するために前記コンテンツ鍵を使用し、前記電子コンテンツの前記リクエストされたアクセスまたは他の使用を行うことを許可する、方法。 - 前記義務が前記電子コンテンツを低品質フォーマットにレンダリングする、請求項55に記載の方法。
- 前記義務が前記電子コンテンツへの前記アクセスまたは他の使用に関連する監査情報を記録し、前記監査情報を遠隔サイトに報告する、請求項55に記載の方法。
- 前記義務が、前記デジタル著作権管理システムが実行するホスト環境の指定された機能が使用停止にされるという必要条件を含む、請求項55に記載の方法。
- 前記電子コンテンツが広告を含み、前記指定された機能が前記電子コンテンツのレンダリング中の早送りまたは巻戻しの能力を含む、請求項58に記載の方法。
- 前記指定された機能が前記電子コンテンツを一定の技術にエクスポートする能力を含む、請求項58に記載の方法。
- 仮想マシンを含むデジタル著作権管理エンジンを含むホストシステムにおいて電子コンテンツへのアクセスまたは他の使用を認可する方法であって、
電子コンテンツへのアクセスまたは他の使用のためのリクエストを受信し、
前記電子コンテンツに関連するライセンスを識別し、前記ライセンスは制御プログラムとコンテンツ鍵とを含み、
前記仮想マシンを使用して前記制御プログラムを実行し、
義務が満たされる限り前記電子コンテンツの前記リクエストされたアクセスまたは他の使用が認可され得ることを決定し、
前記ホストシステムが前記義務を満たすことができないと決定し、前記リクエストされた前記電子コンテンツのアクセスまたは他の使用が行われることを拒絶する、方法。 - 電子コンテンツへのアクセスまたは使用を管理するための方法であって、
電子コンテンツに関連する制御プログラムを検索し、前記制御プログラムは命令を含み、前記命令は、デジタル著作権管理エンジンによって実行されるときに第1条件を評価するように操作可能であり、前記第1条件が満たされたことを決定する際に前記電子コンテンツの第1使用を可能にし、
遠隔システムからエージェントプログラムを受信し、前記エージェントプログラムは命令を含み、前記命令は、デジタル著作権管理エンジンによって実行されるときに前記デジタル著作権管理エンジンによって管理されるデータベースに状態情報を格納するように操作可能であり、
前記制御プログラムを実行し、前記実行は、前記第1条件が満たされたか否かについての決定を行い、前記決定は少なくとも部分的に前記状態情報に基づく、方法。 - 前記データベースに格納された前記状態情報が、前記電子コンテンツの前記第1使用が行われ得る回数のカウントの初期値を含む、請求項62に記載の方法。
- 前記電子コンテンツの前記第1使用を可能にし、前記カウントの現在値を減らす、請求項62に記載の方法。
- 前記制御プログラムがリンクオブジェクトから入手され、前記リンクオブジェクトが第1ノードから第2ノードまでの認可グラフの一部を形成する、請求項62に記載の方法。
- 前記第1条件が、前記リンクオブジェクトが有効であるという必要条件を含む、請求項65に記載の方法。
- 前記第1ノードがコンピューティング装置を表し、前記第2ノードが前記コンピューティング装置のユーザを表す、請求項65に記載の方法。
- 前記第1ノードがコンピューティング装置を表し、前記第2ノードが購読サービスを表す、請求項68に記載の方法。
- 前記エージェントプログラムが前記購読サービスのオペレータから受信される、請求項68に記載の方法。
- 前記第1ノードがコンピューティング装置を表し、前記第2ノードがホームネットワークドメインを表す、請求項65に記載の方法。
- 電子コンテンツへのアクセスまたは使用を管理するためのシステムであって、
電子コンテンツに関連する制御プログラムを検索し、前記制御プログラムは命令を含み、前記命令は、デジタル著作権管理エンジンによって実行されるときに第1条件を評価するように操作可能であり、前記第1条件が満たされたことを決定すると前記電子コンテンツの第1使用を可能にする手段と、
エージェントプログラムを遠隔システムから受信し、前記エージェントプログラムは命令を含み、前記命令は、デジタル著作権管理エンジンによって実行されるときに前記デジタル著作権管理エンジンによって管理されるデータベースに状態情報を格納するように操作可能である手段と、
前記制御プログラムを実行し、前記実行は、前記第1条件が満たされたか否かについての決定を行い、前記決定は少なくとも部分的に前記状態情報に基づく手段とを備える、システム。 - 前記データベースに格納された前記状態情報が、前記電子コンテンツの前記第1使用が行われ得る回数のカウントの初期値を含む、請求項72に記載のシステム。
- 前記電子コンテンツの前記第1使用を可能にするための手段と、前記カウントの現在値を減らすための手段とを更に含む、請求項71に記載の方法。
- 前記制御プログラムがリンクオブジェクトから入手され、前記リンクオブジェクトが第1ノードから第2ノードまでの認可グラフの一部を形成する、請求項71に記載のシステム。
- 前記第1条件が、前記リンクオブジェクトが有効であるという必要条件を含む、請求項74に記載のシステム。
- 前記第1ノードがコンピューティング装置を表し、前記第2ノードが前記コンピューティング装置のユーザを表す、請求項74に記載のシステム。
- 前記第1ノードがコンピューティング装置を表し、前記第2ノードが購読サービスを表す、請求項74に記載のシステム。
- 前記エージェントプログラムが前記購読サービスのオペレータから受信される、請求項77に記載のシステム。
- 前記第1ノードがコンピューティング装置を表し、前記第2ノードがホームネットワークドメインを表す、請求項79に記載のシステム。
- 企業文書を管理する方法であって、
第1ソフトウェアアプリケーションを使用している電子文書を作成し、
前記文書を暗号化し、かつライセンスを前記文書に関連づけるために、デジタル著作権管理プラグインを使用し、前記ライセンスは、前記文書へのアクセスを獲得するために、第1装置に関連するノードをユーザの第1グループに関連するノードに論理的に接続する1つ以上のリンクオブジェクトのセットを有する必要があり、前記ライセンスは、前記文書を解読するように操作可能な第1鍵の暗号化されたバージョンを更に含み、
前記文書を遠隔コンピュータシステムに送信し、
前記遠隔コンピュータシステムを前記ユーザのグループに関連する前記ノードに論理的に接続する1つ以上のリンクオブジェクトのセットを前記遠隔コンピュータシステムが有するということを決定し、前記1つ以上のリンクのうちの1つは、前記第1鍵を解読するように操作可能な第2鍵の暗号化されたバージョンを含み、
前記決定ステップの終了後に、前記遠隔コンピュータシステムに関連する鍵を使用して前記第2鍵を解読し、
前記第2鍵を使用して前記第1鍵を解読し、
前記第1鍵を使用して前記文書を解読する、方法。 - 前記デジタル著作権管理プラグインを使用するステップが、1つ以上のテンプレートのセットから第1テンプレートを選択し、前記1つ以上のテンプレートは、前記電子文書へのアクセスに課され得るポリシー条件を表現し、前記デジタル著作権管理プラグインは、前記テンプレートによって表現される前記ポリシー条件を前記デジタル著作権管理プラグインによって実行可能な制御プログラムに自動的に変換するように操作可能である、請求項80に記載の方法。
- 前記デジタル著作権管理プラグインが、前記制御プログラムを前記第1鍵に安全に結合するコントローラオブジェクトを作成するように更に操作可能である、請求項81に記載の方法。
- 前記コントローラオブジェクトがコンテンツ鍵オブジェクトのハッシュと制御オブジェクトのハッシュとを含み、前記コンテンツ鍵オブジェクトが前記第1鍵の前記暗号化されたバージョンを含み、前記制御オブジェクトが前記制御プログラムを含む、請求項82に記載の方法。
- 前記コントローラオブジェクトが、前記第1鍵を使用してHMACによって署名される、請求項83に記載の方法。
- 前記コントローラオブジェクトが、前記電子文書の作成者の公開鍵署名によって署名される、請求項84に記載の方法。
- 前記公開鍵署名が、前記第1鍵を使用してHMACによって署名される、請求項85に記載の方法。
Applications Claiming Priority (14)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US72808905P | 2005-10-18 | 2005-10-18 | |
US60/728,089 | 2005-10-18 | ||
US77202406P | 2006-02-09 | 2006-02-09 | |
US60/772,024 | 2006-02-09 | ||
US74457406P | 2006-04-10 | 2006-04-10 | |
US79117906P | 2006-04-10 | 2006-04-10 | |
US60/744,574 | 2006-04-10 | ||
US60/791,179 | 2006-04-10 | ||
US74671206P | 2006-05-08 | 2006-05-08 | |
US79892506P | 2006-05-08 | 2006-05-08 | |
US60/746,712 | 2006-05-08 | ||
US60/798,925 | 2006-05-08 | ||
US83506106P | 2006-08-01 | 2006-08-01 | |
US60/835,061 | 2006-08-01 |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2008536800A Division JP2009512096A (ja) | 2005-10-18 | 2006-10-18 | デジタル著作権管理エンジンのシステムおよび方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2012155734A true JP2012155734A (ja) | 2012-08-16 |
JP5357292B2 JP5357292B2 (ja) | 2013-12-04 |
Family
ID=37890788
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2008536800A Withdrawn JP2009512096A (ja) | 2005-10-18 | 2006-10-18 | デジタル著作権管理エンジンのシステムおよび方法 |
JP2012066252A Expired - Fee Related JP5357292B2 (ja) | 2005-10-18 | 2012-03-22 | デジタル著作権管理エンジンのシステムおよび方法 |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2008536800A Withdrawn JP2009512096A (ja) | 2005-10-18 | 2006-10-18 | デジタル著作権管理エンジンのシステムおよび方法 |
Country Status (12)
Country | Link |
---|---|
US (5) | US8776216B2 (ja) |
EP (4) | EP2124164A3 (ja) |
JP (2) | JP2009512096A (ja) |
KR (3) | KR101248296B1 (ja) |
CN (2) | CN102882677B (ja) |
AP (1) | AP2008004453A0 (ja) |
AU (1) | AU2006304655B2 (ja) |
BR (1) | BRPI0617490A2 (ja) |
CA (1) | CA2626244A1 (ja) |
EA (2) | EA200901153A1 (ja) |
IL (1) | IL190957A (ja) |
WO (1) | WO2007047846A2 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102654259B1 (ko) * | 2023-08-14 | 2024-04-04 | 광운대학교 산학협력단 | 온라인 및 오프라인 유통을 위한 암호화 기반 콘텐츠 서비스 시스템 |
Families Citing this family (357)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020019814A1 (en) * | 2001-03-01 | 2002-02-14 | Krishnamurthy Ganesan | Specifying rights in a digital rights license according to events |
US7155012B2 (en) * | 2002-01-02 | 2006-12-26 | Sony Corporation | Slice mask and moat pattern partial encryption |
US8051443B2 (en) * | 2002-01-02 | 2011-11-01 | Sony Corporation | Content replacement by PID mapping |
US7376233B2 (en) | 2002-01-02 | 2008-05-20 | Sony Corporation | Video slice and active region based multiple partial encryption |
JP4557548B2 (ja) | 2002-01-02 | 2010-10-06 | ソニー エレクトロニクス インク | 部分暗号化及びパケット識別子のマッピング |
US8818896B2 (en) | 2002-09-09 | 2014-08-26 | Sony Corporation | Selective encryption with coverage encryption |
US7292692B2 (en) * | 2003-03-25 | 2007-11-06 | Sony Corporation | Content scrambling with minimal impact on legacy devices |
US7286667B1 (en) | 2003-09-15 | 2007-10-23 | Sony Corporation | Decryption system |
US7496500B2 (en) * | 2004-03-01 | 2009-02-24 | Microsoft Corporation | Systems and methods that determine intent of data and respond to the data based on the intent |
US20050204900A1 (en) * | 2004-03-17 | 2005-09-22 | Easynotes, Llc | Note collection utility |
JP2006085483A (ja) * | 2004-09-16 | 2006-03-30 | Sony Corp | ライセンス処理装置,プログラムおよびライセンス貸出方法 |
US7979706B1 (en) * | 2004-09-29 | 2011-07-12 | Rockwell Automation Technologies, Inc. | Systems and methods for queuing an action in industrial automation systems |
US20100071070A1 (en) * | 2005-01-07 | 2010-03-18 | Amandeep Jawa | Managing Sharing of Media Content From a Server Computer to One or More of a Plurality of Client Computers Across the Computer Network |
US8666900B1 (en) * | 2005-03-30 | 2014-03-04 | Intuit Inc. | Secure product enablement over channels with narrow bandwidth |
US9418040B2 (en) * | 2005-07-07 | 2016-08-16 | Sciencelogic, Inc. | Dynamically deployable self configuring distributed network management system |
US20070094276A1 (en) * | 2005-10-20 | 2007-04-26 | Isaac Emad S | Method for obtaining and managing restricted media content in a network of media devices |
US20070094366A1 (en) * | 2005-10-20 | 2007-04-26 | Ayoub Ramy P | System and method for real-time processing and distribution of media content in a network of media devices |
US7921165B2 (en) * | 2005-11-30 | 2011-04-05 | Microsoft Corporation | Retaining mail for availability after relay |
US8015200B2 (en) * | 2005-12-24 | 2011-09-06 | Phil Seiflein | Multimedia platform synchronizer |
US7734754B2 (en) * | 2005-12-28 | 2010-06-08 | Microsoft Corporation | Reviewing effectiveness of communication rules system |
WO2007120360A2 (en) * | 2005-12-29 | 2007-10-25 | Blue Jungle | Information management system |
KR100834752B1 (ko) * | 2006-02-17 | 2008-06-05 | 삼성전자주식회사 | 컨텐츠의 라이센스를 전달하기 위한 장치 및 방법 |
US7555464B2 (en) * | 2006-03-01 | 2009-06-30 | Sony Corporation | Multiple DRM management |
US8429300B2 (en) | 2006-03-06 | 2013-04-23 | Lg Electronics Inc. | Data transferring method |
CN101395595B (zh) | 2006-03-06 | 2012-11-21 | Lg电子株式会社 | 数据传送方法和内容传送方法 |
US20090133129A1 (en) * | 2006-03-06 | 2009-05-21 | Lg Electronics Inc. | Data transferring method |
US8744885B2 (en) * | 2006-03-28 | 2014-06-03 | Snowflake Itm, Inc. | Task based organizational management system and method |
US7992175B2 (en) | 2006-05-15 | 2011-08-02 | The Directv Group, Inc. | Methods and apparatus to provide content on demand in content broadcast systems |
US8996421B2 (en) | 2006-05-15 | 2015-03-31 | The Directv Group, Inc. | Methods and apparatus to conditionally authorize content delivery at broadcast headends in pay delivery systems |
US8775319B2 (en) | 2006-05-15 | 2014-07-08 | The Directv Group, Inc. | Secure content transfer systems and methods to operate the same |
US8001565B2 (en) | 2006-05-15 | 2011-08-16 | The Directv Group, Inc. | Methods and apparatus to conditionally authorize content delivery at receivers in pay delivery systems |
US8095466B2 (en) | 2006-05-15 | 2012-01-10 | The Directv Group, Inc. | Methods and apparatus to conditionally authorize content delivery at content servers in pay delivery systems |
FR2901651B1 (fr) * | 2006-05-24 | 2012-01-20 | Noel Pampagnin | Diffusion de documents electroniques preservant les droits d'auteur et autorisant la copie privee |
US8028026B2 (en) * | 2006-05-31 | 2011-09-27 | Microsoft Corporation | Perimeter message filtering with extracted user-specific preferences |
US8549295B2 (en) | 2006-05-31 | 2013-10-01 | Microsoft Corporation | Establishing secure, mutually authenticated communication credentials |
US8726020B2 (en) * | 2006-05-31 | 2014-05-13 | Microsoft Corporation | Updating configuration information to a perimeter network |
US20080028218A1 (en) * | 2006-06-13 | 2008-01-31 | Simon Jonathon B | Software & license and physical/virtual machine asset management library application with check-out/check-in, front-end asset load, tracking, reporting, reconciliation and associated methods |
US20080010091A1 (en) * | 2006-07-10 | 2008-01-10 | Kim Seungyeon | Method and System for Sharing a User-Medical-Record |
US8166113B2 (en) * | 2006-08-02 | 2012-04-24 | Microsoft Corporation | Access limited EMM distribution lists |
KR101369749B1 (ko) * | 2006-09-04 | 2014-03-06 | 삼성전자주식회사 | Drm 카드를 이용한 콘텐츠 해독 방법 |
KR20080022476A (ko) * | 2006-09-06 | 2008-03-11 | 엘지전자 주식회사 | 논컴플라이언트 컨텐츠 처리 방법 및 디알엠 상호 호환시스템 |
JP2008065696A (ja) * | 2006-09-08 | 2008-03-21 | Toshiba Corp | コンテンツ共有システム及びコンテンツ共有方法 |
US8612847B2 (en) * | 2006-10-03 | 2013-12-17 | Adobe Systems Incorporated | Embedding rendering interface |
US7886226B1 (en) | 2006-10-03 | 2011-02-08 | Adobe Systems Incorporated | Content based Ad display control |
CN101573910A (zh) * | 2006-10-31 | 2009-11-04 | 新加坡科技研究局 | 生成和分配对数字对象的访问许可的设备和方法 |
US8533846B2 (en) * | 2006-11-08 | 2013-09-10 | Citrix Systems, Inc. | Method and system for dynamically associating access rights with a resource |
KR101145848B1 (ko) * | 2006-11-29 | 2012-05-17 | 삼성전자주식회사 | 콘텐츠 전송을 위한 접근 제어 방법 및 상기 접근 제어방법을 이용하는 네트워크의 노드 |
CA2671735A1 (en) * | 2006-12-06 | 2008-06-12 | Marion Darnell Jones | System of fractional ownership of intellectual property |
US20080140826A1 (en) * | 2006-12-08 | 2008-06-12 | Microsoft Corporation | Monitoring and controlling electronic message distribution |
US8312558B2 (en) | 2007-01-03 | 2012-11-13 | At&T Intellectual Property I, L.P. | System and method of managing protected video content |
US8918508B2 (en) | 2007-01-05 | 2014-12-23 | Lg Electronics Inc. | Method for transferring resource and method for providing information |
CN101637005B (zh) | 2007-01-17 | 2014-04-09 | 英特托拉斯技术公司 | 用于片段文件共享的方法、系统以及装置 |
US20080178198A1 (en) * | 2007-01-22 | 2008-07-24 | Media Ripple, Llc | Distributed digital media management |
JP2010507864A (ja) | 2007-02-16 | 2010-03-11 | エルジー エレクトロニクス インコーポレイティド | ドメイン管理方法及びドメインデバイス並びにプログラム |
KR20080081631A (ko) * | 2007-03-06 | 2008-09-10 | 주식회사 팬택 | 이동 단말에 탑재되는 디지털 권한 관리 장치 및 이를이용한 디지털 권한 관리 방법 |
US20080226078A1 (en) * | 2007-03-12 | 2008-09-18 | Microsoft Corporation | Enabling recording and copying data |
US8966252B2 (en) * | 2007-03-13 | 2015-02-24 | Board Of Trustees Of Michigan State University | Private entity authentication for pervasive computing environments |
EP2153557A4 (en) * | 2007-04-23 | 2013-07-03 | Lg Electronics Inc | METHOD OF USE OF CONTENT, METHOD FOR THE COMMON USE OF CONTENT AND DEVICE BASED ON THE SECURITY LEVEL |
CN101682505B (zh) * | 2007-05-07 | 2013-10-23 | Lg电子株式会社 | 用于安全通信的方法和系统 |
US8627409B2 (en) * | 2007-05-15 | 2014-01-07 | Oracle International Corporation | Framework for automated dissemination of security metadata for distributed trust establishment |
US8539233B2 (en) * | 2007-05-24 | 2013-09-17 | Microsoft Corporation | Binding content licenses to portable storage devices |
US20080313085A1 (en) * | 2007-06-14 | 2008-12-18 | Motorola, Inc. | System and method to share a guest version of rights between devices |
US8073828B2 (en) * | 2007-06-14 | 2011-12-06 | Curbis Corporation | Licensed rights clearance and tracking for digital assets |
US8646096B2 (en) * | 2007-06-28 | 2014-02-04 | Microsoft Corporation | Secure time source operations for digital rights management |
US8661552B2 (en) * | 2007-06-28 | 2014-02-25 | Microsoft Corporation | Provisioning a computing system for digital rights management |
US8689010B2 (en) * | 2007-06-28 | 2014-04-01 | Microsoft Corporation | Secure storage for digital rights management |
KR101200572B1 (ko) * | 2007-07-09 | 2012-11-13 | 삼성전자주식회사 | 공개 브로드캐스트 암호화를 이용한 인증 방법 및 컨텐츠재생 방법과 그 장치 |
EP2181412A1 (en) * | 2007-07-23 | 2010-05-05 | Intertrust Technologies Corporation | Dynamic media zones systems and methods |
US8850195B2 (en) | 2007-07-23 | 2014-09-30 | Intertrust Technologies Corporation | Tethered device systems and methods |
US8260714B2 (en) * | 2007-08-09 | 2012-09-04 | Panasonic Corporation | Terminal apparatus and system thereof |
JP4946726B2 (ja) * | 2007-08-22 | 2012-06-06 | 富士ゼロックス株式会社 | 文書操作システムおよび管理装置およびプログラム |
US20090083544A1 (en) * | 2007-08-23 | 2009-03-26 | Andrew Scholnick | Security process for private data storage and sharing |
US8307414B2 (en) * | 2007-09-07 | 2012-11-06 | Deutsche Telekom Ag | Method and system for distributed, localized authentication in the framework of 802.11 |
US8819815B1 (en) | 2007-10-16 | 2014-08-26 | Jpmorgan Chase Bank, N.A. | Method and system for distributing and tracking information |
CN101436930A (zh) | 2007-11-16 | 2009-05-20 | 华为技术有限公司 | 一种密钥分发的方法、系统和设备 |
KR100988374B1 (ko) * | 2007-12-14 | 2010-10-18 | 엘지전자 주식회사 | 사용권리 이동 방법, 사용권리의 발급권한 관리 방법 및시스템 |
US9773098B1 (en) * | 2007-12-19 | 2017-09-26 | Google Inc. | Media content feed format for management of content in a content hosting website |
US9984369B2 (en) | 2007-12-19 | 2018-05-29 | At&T Intellectual Property I, L.P. | Systems and methods to identify target video content |
US9143493B2 (en) | 2007-12-20 | 2015-09-22 | The Directv Group, Inc. | Method and apparatus for communicating between a user device and a gateway device to form a system to allow a partner service to be provided to the user device |
US8286236B2 (en) * | 2007-12-21 | 2012-10-09 | The Invention Science Fund I, Llc | Manufacturing control system |
US20090164379A1 (en) * | 2007-12-21 | 2009-06-25 | Searete Llc, A Limited Liability Corporation Of The State Of Delaware | Conditional authorization for security-activated device |
US8429754B2 (en) * | 2007-12-21 | 2013-04-23 | The Invention Science Fund I, Llc | Control technique for object production rights |
US9071436B2 (en) * | 2007-12-21 | 2015-06-30 | The Invention Science Fund I, Llc | Security-activated robotic system |
US20110178619A1 (en) * | 2007-12-21 | 2011-07-21 | Searete Llc, A Limited Liability Corporation Of The State Of Delaware | Security-activated robotic tasks |
US20090162032A1 (en) * | 2007-12-21 | 2009-06-25 | Aceurity, Inc. | Smart Viewing Rights System and Switch |
US9626487B2 (en) * | 2007-12-21 | 2017-04-18 | Invention Science Fund I, Llc | Security-activated production device |
US9818071B2 (en) * | 2007-12-21 | 2017-11-14 | Invention Science Fund I, Llc | Authorization rights for operational components |
US8752166B2 (en) * | 2007-12-21 | 2014-06-10 | The Invention Science Fund I, Llc | Security-activated operational components |
US10049190B1 (en) * | 2007-12-21 | 2018-08-14 | Symantec Corporation | Method and apparatus for remotely managing a resource at a computer |
US9128476B2 (en) * | 2007-12-21 | 2015-09-08 | The Invention Science Fund I, Llc | Secure robotic operational system |
US20090172420A1 (en) * | 2007-12-31 | 2009-07-02 | Kabushiki Kaisha Toshiba | Tamper resistant method and apparatus for a storage device |
US20090204967A1 (en) * | 2008-02-08 | 2009-08-13 | Unisys Corporation | Reporting of information pertaining to queuing of requests |
US8672225B2 (en) | 2012-01-31 | 2014-03-18 | Ncr Corporation | Convertible barcode reader |
US8290204B2 (en) | 2008-02-12 | 2012-10-16 | Certusview Technologies, Llc | Searchable electronic records of underground facility locate marking operations |
US8532342B2 (en) * | 2008-02-12 | 2013-09-10 | Certusview Technologies, Llc | Electronic manifest of underground facility locate marks |
CA2707246C (en) | 2009-07-07 | 2015-12-29 | Certusview Technologies, Llc | Automatic assessment of a productivity and/or a competence of a locate technician with respect to a locate and marking operation |
US8165304B2 (en) * | 2008-02-18 | 2012-04-24 | Sungkyunkwan University Foundation For Corporate Collaboration | Domain digital rights management system, license sharing method for domain digital rights management system, and license server |
US8462954B2 (en) * | 2008-05-30 | 2013-06-11 | Motorola Mobility Llc | Content encryption using at least one content pre-key |
CN102057379B (zh) * | 2008-06-04 | 2015-11-25 | 皇家飞利浦电子股份有限公司 | 保健数据处理的方法和系统 |
US20090326964A1 (en) * | 2008-06-25 | 2009-12-31 | Microsoft Corporation | Extensible agent-based license structure |
US8280631B2 (en) | 2008-10-02 | 2012-10-02 | Certusview Technologies, Llc | Methods and apparatus for generating an electronic record of a marking operation based on marking device actuations |
US8595484B2 (en) * | 2008-07-29 | 2013-11-26 | Motorola Solutions, Inc. | Method and device for distributing public key infrastructure (PKI) certificate path data |
US8655826B1 (en) | 2008-08-01 | 2014-02-18 | Motion Picture Laboratories, Inc. | Processing and acting on rules for content recognition systems |
US8458128B2 (en) * | 2008-08-26 | 2013-06-04 | Microsoft Corporation | Minimal extensions required for multi-master offline and collaboration for devices and web services |
GB0815651D0 (en) * | 2008-08-28 | 2008-10-08 | Omnifone Ltd | Content ingestion |
US20100058466A1 (en) * | 2008-09-03 | 2010-03-04 | Dundas Data Visualization, Inc. | Systems and methods for providing security for software applications |
US9076484B2 (en) | 2008-09-03 | 2015-07-07 | Sandisk Technologies Inc. | Methods for estimating playback time and handling a cumulative playback time permission |
US20100064378A1 (en) * | 2008-09-05 | 2010-03-11 | Samsung Electronics Co., Ltd. | Method and apparatus for managing digital rights management module |
US10453003B2 (en) * | 2008-09-18 | 2019-10-22 | Microsoft Technology Licensing, Llc | Digital rights management license identification |
JP5141494B2 (ja) * | 2008-10-27 | 2013-02-13 | ブラザー工業株式会社 | コンテンツ分散保存システム、特殊コンテンツ取得方法、ノード装置、及びノード処理プログラム |
KR101310218B1 (ko) * | 2008-10-28 | 2013-09-24 | 삼성전자주식회사 | 화상형성장치의 파일 통합 설치 방법 및 파일 통합 설치가 가능한 화상형성장치 |
US9235572B2 (en) * | 2008-10-31 | 2016-01-12 | Disney Enterprises, Inc. | System and method for updating digital media content |
US8359370B2 (en) | 2008-10-31 | 2013-01-22 | Disney Enterprises, Inc. | System and method for managing digital media content |
CN101420430B (zh) * | 2008-11-28 | 2011-12-07 | 华为终端有限公司 | 一种信息安全保护的方法和设备 |
US9548859B2 (en) * | 2008-12-03 | 2017-01-17 | Google Technology Holdings LLC | Ticket-based implementation of content leasing |
JP4631969B2 (ja) * | 2008-12-25 | 2011-02-16 | 富士ゼロックス株式会社 | ライセンス管理装置及びライセンス管理プログラム |
KR101224717B1 (ko) * | 2008-12-26 | 2013-01-21 | 에스케이플래닛 주식회사 | 소프트웨어 라이센스 보호 방법과 그를 위한 시스템, 서버,단말기 및 컴퓨터로 읽을 수 있는 기록매체 |
US8146159B2 (en) * | 2009-01-20 | 2012-03-27 | Check Point Software Technologies, Ltd. | Methods for inspecting security certificates by network security devices to detect and prevent the use of invalid certificates |
US8902251B2 (en) * | 2009-02-10 | 2014-12-02 | Certusview Technologies, Llc | Methods, apparatus and systems for generating limited access files for searchable electronic records of underground facility locate and/or marking operations |
US8572193B2 (en) | 2009-02-10 | 2013-10-29 | Certusview Technologies, Llc | Methods, apparatus, and systems for providing an enhanced positive response in underground facility locate and marking operations |
CA2759932C (en) | 2009-02-10 | 2015-08-11 | Certusview Technologies, Llc | Methods, apparatus, and systems for generating limited access files for searchable electronic records of underground facility locate and/or marking operations |
US8832565B2 (en) * | 2009-02-11 | 2014-09-09 | Certusview Technologies, Llc | Methods and apparatus for controlling access to a virtual white line (VWL) image for an excavation project |
CA2897462A1 (en) | 2009-02-11 | 2010-05-04 | Certusview Technologies, Llc | Management system, and associated methods and apparatus, for providing automatic assessment of a locate operation |
US20100211591A1 (en) * | 2009-02-16 | 2010-08-19 | Chuan-Hua Chang | Apparatus for processing strings simultaneously |
US8391494B1 (en) * | 2009-02-26 | 2013-03-05 | Symantec Corporation | Systems and methods for protecting enterprise rights management keys |
US9282337B2 (en) * | 2009-02-27 | 2016-03-08 | Vixs Systems, Inc. | Media source device with digital format conversion and methods for use therewith |
US20100241855A1 (en) * | 2009-03-17 | 2010-09-23 | Cyberlink Corp. | Systems and Methods for Secure Execution of Code Using a Hardware Protection Module |
US8929303B2 (en) * | 2009-04-06 | 2015-01-06 | Samsung Electronics Co., Ltd. | Control and data channels for advanced relay operation |
GB0906004D0 (en) * | 2009-04-07 | 2009-05-20 | Omnifone Ltd | MusicStation desktop |
WO2010134996A2 (en) | 2009-05-20 | 2010-11-25 | Intertrust Technologies Corporation | Content sharing systems and methods |
WO2010135001A2 (en) | 2009-05-21 | 2010-11-25 | Intertrust Technologies Corporation | Content delivery systems and methods |
US8914903B1 (en) | 2009-06-03 | 2014-12-16 | Amdocs Software System Limited | System, method, and computer program for validating receipt of digital content by a client device |
US8332536B2 (en) * | 2009-06-11 | 2012-12-11 | International Business Machines Corporation | Content protection continuity through authorized chains of components |
CN101587523B (zh) * | 2009-07-02 | 2012-04-18 | 飞天诚信科技股份有限公司 | 保护软件的方法和装置 |
US20140289184A1 (en) * | 2009-09-09 | 2014-09-25 | Sanjeev Kumar Biswas | License structure representation for license management |
US9003553B2 (en) * | 2009-09-10 | 2015-04-07 | Symantec Corporation | Viewing content under enterprise digital rights management without a client side access component |
US8583372B2 (en) | 2009-12-07 | 2013-11-12 | Certusview Technologies, Llc | Methods, apparatus, and systems for facilitating compliance with marking specifications for dispensing marking material |
TW201122898A (en) * | 2009-12-18 | 2011-07-01 | Hannstar Display Corp | Digital data management system and method. |
US9589114B2 (en) * | 2010-01-05 | 2017-03-07 | Microsoft Technology Licensing, Llc | Policy for digital rights management |
US8712045B2 (en) * | 2010-01-07 | 2014-04-29 | Microsoft Corporation | Digital rights management for media streams |
US10305910B2 (en) * | 2010-01-15 | 2019-05-28 | Apple Inc. | Accessing specialized fileserver |
US10268805B2 (en) * | 2010-01-26 | 2019-04-23 | At&T Intellectual Property I, L.P. | System and method for providing multimedia digital rights transfer |
US8683370B2 (en) | 2010-03-01 | 2014-03-25 | Dundas Data Visualization, Inc. | Systems and methods for generating data visualization dashboards |
US8612313B2 (en) * | 2010-03-03 | 2013-12-17 | Verizon Patent And Licensing Inc. | Metadata subscription systems and methods |
US8544103B2 (en) | 2010-05-04 | 2013-09-24 | Intertrust Technologies Corporation | Policy determined accuracy of transmitted information |
GB201008368D0 (en) * | 2010-05-20 | 2010-07-07 | Moore Jesse K | Mobile meter |
US9143324B2 (en) * | 2010-06-07 | 2015-09-22 | Protected Mobility, Llc | Secure messaging |
US8984271B2 (en) | 2010-06-07 | 2015-03-17 | Protected Mobility, Llc | User interface systems and methods for input and display of secure and insecure message oriented communications |
US9172680B2 (en) | 2010-06-07 | 2015-10-27 | Protected Mobility, Llc | Systems and methods for enabling secure messaging, command, and control of remote devices, communicated via a short message service or other message oriented communications mediums |
US9602277B2 (en) | 2010-06-07 | 2017-03-21 | Protected Mobilty, Llc | User interface systems and methods for secure message oriented communications |
US9100693B2 (en) * | 2010-06-08 | 2015-08-04 | Intel Corporation | Methods and apparatuses for securing playback content |
US8874896B2 (en) | 2010-06-18 | 2014-10-28 | Intertrust Technologies Corporation | Secure processing systems and methods |
US8799177B1 (en) * | 2010-07-29 | 2014-08-05 | Intuit Inc. | Method and apparatus for building small business graph from electronic business data |
US8918898B2 (en) | 2010-07-30 | 2014-12-23 | Certusview Technologies, Llc | Methods, apparatus and systems for onsite linking to location-specific electronic records of locate operations |
US8977558B2 (en) | 2010-08-11 | 2015-03-10 | Certusview Technologies, Llc | Methods, apparatus and systems for facilitating generation and assessment of engineering plans |
US8564621B2 (en) * | 2010-08-11 | 2013-10-22 | International Business Machines Corporation | Replicating changes between corresponding objects |
US20120042134A1 (en) * | 2010-08-11 | 2012-02-16 | Hank Risan | Method and system for circumventing usage protection applicable to electronic media |
US8392452B2 (en) * | 2010-09-03 | 2013-03-05 | Hulu Llc | Method and apparatus for callback supplementation of media program metadata |
US8832855B1 (en) * | 2010-09-07 | 2014-09-09 | Symantec Corporation | System for the distribution and deployment of applications with provisions for security and policy conformance |
US8453258B2 (en) * | 2010-09-15 | 2013-05-28 | Bank Of America Corporation | Protecting an electronic document by embedding an executable script |
US20120089902A1 (en) | 2010-10-07 | 2012-04-12 | Dundas Data Visualization, Inc. | Systems and methods for dashboard image generation |
WO2012051059A1 (en) * | 2010-10-15 | 2012-04-19 | Oracle America, Inc. | Java store television |
FR2966620B1 (fr) * | 2010-10-26 | 2012-12-28 | Oberthur Technologies | Procede et systeme de controle de l'execution d'une fonction protegee par authentification d'un utilisateur, notamment pour l'acces a une ressource |
US8924706B2 (en) | 2010-11-05 | 2014-12-30 | Protected Mobility, Llc | Systems and methods using one time pads during the exchange of cryptographic material |
US8798262B1 (en) * | 2010-12-23 | 2014-08-05 | Emc Corporation | Preserving LBA information between layers of a storage I/O stack for LBA-dependent encryption |
CN102098293B (zh) * | 2010-12-28 | 2013-07-10 | 北京深思洛克软件技术股份有限公司 | 加密邮件的预览方法 |
US20120180108A1 (en) | 2011-01-06 | 2012-07-12 | Dundas Data Visualization, Inc. | Methods and systems for providing a discussion thread to key performance indicator information |
US8687807B2 (en) | 2011-01-26 | 2014-04-01 | Nagrastar, L.L.C. | Cascading dynamic crypto periods |
US8458459B2 (en) * | 2011-02-14 | 2013-06-04 | Morega Systems Inc. | Client device and local station with digital rights management and methods for use therewith |
US20120216269A1 (en) * | 2011-02-18 | 2012-08-23 | Mitel Networks Corporation | Software licensing in a virtualization environment |
US9519717B2 (en) * | 2011-03-02 | 2016-12-13 | Microsoft Technology Licensing, Llc | Content customization with security for client preferences |
WO2012138804A2 (en) * | 2011-04-04 | 2012-10-11 | Nextlabs, Inc. | Protecting information using policies and encryption |
US20120284802A1 (en) * | 2011-05-02 | 2012-11-08 | Authentec, Inc. | Method for playing digital contents protected with a drm (digital right management) scheme and corresponding system |
US20120284804A1 (en) | 2011-05-02 | 2012-11-08 | Authentec, Inc. | System and method for protecting digital contents with digital rights management (drm) |
US9202024B2 (en) | 2011-05-02 | 2015-12-01 | Inside Secure | Method for playing digital contents projected with a DRM (digital rights management) scheme and corresponding system |
US9721071B2 (en) * | 2011-06-29 | 2017-08-01 | Sonic Ip, Inc. | Binding of cryptographic content using unique device characteristics with server heuristics |
US9575903B2 (en) * | 2011-08-04 | 2017-02-21 | Elwha Llc | Security perimeter |
US9558034B2 (en) | 2011-07-19 | 2017-01-31 | Elwha Llc | Entitlement vector for managing resource allocation |
US9443085B2 (en) | 2011-07-19 | 2016-09-13 | Elwha Llc | Intrusion detection using taint accumulation |
US9798873B2 (en) | 2011-08-04 | 2017-10-24 | Elwha Llc | Processor operable to ensure code integrity |
US9098608B2 (en) | 2011-10-28 | 2015-08-04 | Elwha Llc | Processor configured to allocate resources using an entitlement vector |
US8943313B2 (en) | 2011-07-19 | 2015-01-27 | Elwha Llc | Fine-grained security in federated data sets |
US9298918B2 (en) | 2011-11-30 | 2016-03-29 | Elwha Llc | Taint injection and tracking |
US8955111B2 (en) | 2011-09-24 | 2015-02-10 | Elwha Llc | Instruction set adapted for security risk monitoring |
US9170843B2 (en) | 2011-09-24 | 2015-10-27 | Elwha Llc | Data handling apparatus adapted for scheduling operations according to resource allocation based on entitlement |
US9471373B2 (en) | 2011-09-24 | 2016-10-18 | Elwha Llc | Entitlement vector for library usage in managing resource allocation and scheduling based on usage and priority |
US9460290B2 (en) | 2011-07-19 | 2016-10-04 | Elwha Llc | Conditional security response using taint vector monitoring |
US9465657B2 (en) | 2011-07-19 | 2016-10-11 | Elwha Llc | Entitlement vector for library usage in managing resource allocation and scheduling based on usage and priority |
US8800058B2 (en) * | 2011-07-27 | 2014-08-05 | Microsoft Corporation | Licensing verification for application use |
EP2560124A1 (en) * | 2011-08-02 | 2013-02-20 | Tata Consultancy Services Limited | Access rights management in enterprise digital rights management systems |
US9021278B2 (en) * | 2011-08-10 | 2015-04-28 | Qualcomm Incorporated | Network association of communication devices based on attenuation information |
US9270471B2 (en) * | 2011-08-10 | 2016-02-23 | Microsoft Technology Licensing, Llc | Client-client-server authentication |
US9069943B2 (en) * | 2011-08-15 | 2015-06-30 | Bank Of America Corporation | Method and apparatus for token-based tamper detection |
US9009855B2 (en) * | 2011-09-11 | 2015-04-14 | Microsoft Technology Licensing, Llc | Generating developer license to execute developer application |
US9280377B2 (en) | 2013-03-29 | 2016-03-08 | Citrix Systems, Inc. | Application with multiple operation modes |
US8886925B2 (en) | 2011-10-11 | 2014-11-11 | Citrix Systems, Inc. | Protecting enterprise data through policy-based encryption of message attachments |
JP6199297B2 (ja) * | 2011-10-17 | 2017-09-20 | インタートラスト テクノロジーズ コーポレイション | ゲノム及び他の情報を保護及び管理するシステム及び方法 |
US9137651B2 (en) * | 2011-11-22 | 2015-09-15 | International Business Machines Corporation | Systems and methods for determining relationships between mobile applications and electronic device users |
CN103959245B (zh) * | 2011-12-02 | 2016-08-24 | 英派尔科技开发有限公司 | 作为服务的集成电路 |
US8984273B2 (en) | 2011-12-16 | 2015-03-17 | Protected Mobility, Llc | Method to provide secure multimedia messaging between peer systems |
US9098680B2 (en) * | 2011-12-22 | 2015-08-04 | Abbvie Inc. | Application security framework |
US9536105B2 (en) | 2012-01-26 | 2017-01-03 | Nokia Technologies Oy | Method and apparatus for providing data access via multi-user views |
US8640190B1 (en) * | 2012-02-09 | 2014-01-28 | Symantec Corporation | Parental control policy generation |
US8745654B1 (en) | 2012-02-09 | 2014-06-03 | The Directv Group, Inc. | Method and system for managing digital rights for content |
EP2815593A4 (en) | 2012-02-17 | 2015-08-12 | Intertrust Tech Corp | VEHICLE TRANSLATION SYSTEMS AND METHODS |
US9401904B1 (en) * | 2012-03-15 | 2016-07-26 | Motio, Inc. | Security migration in a business intelligence environment |
US9503512B2 (en) | 2012-03-21 | 2016-11-22 | Intertrust Technologies Corporation | Distributed computation systems and methods |
US8813246B2 (en) | 2012-04-23 | 2014-08-19 | Inside Secure | Method for playing digital contents protected with a DRM (digital right management) scheme and corresponding system |
EP3512293A3 (en) | 2012-04-27 | 2019-10-02 | Interdigital Patent Holdings, Inc. | Apparatus and method for resource allocation for device-to-device (d2d) communication |
EP2842296A2 (en) * | 2012-04-27 | 2015-03-04 | Interdigital Patent Holdings, Inc. | Method and apparatuses for supporting proximity discovery procedures |
JP2015531096A (ja) * | 2012-06-11 | 2015-10-29 | インタートラスト テクノロジーズ コーポレイション | データ収集・解析システムと方法 |
US9053318B2 (en) | 2012-07-17 | 2015-06-09 | CallSign, Inc. | Anti-cloning system and method |
US9160719B2 (en) | 2012-07-20 | 2015-10-13 | Protected Mobility, Llc | Hiding ciphertext using a linguistics algorithm with dictionaries |
IN2015KN00242A (ja) | 2012-07-20 | 2015-06-12 | Intertrust Tech Corp | |
US9577986B1 (en) * | 2012-07-27 | 2017-02-21 | Daniel A Dooley | Secure data verification technique |
EP2701090A1 (en) * | 2012-08-22 | 2014-02-26 | Aahlstö OÜ | Method and system for enforcing 3D restricted rights in a rapid manufacturing and prototyping environment |
US8635373B1 (en) * | 2012-09-22 | 2014-01-21 | Nest Labs, Inc. | Subscription-Notification mechanisms for synchronization of distributed states |
US8910239B2 (en) | 2012-10-15 | 2014-12-09 | Citrix Systems, Inc. | Providing virtualized private network tunnels |
US9015212B2 (en) * | 2012-10-16 | 2015-04-21 | Rackspace Us, Inc. | System and method for exposing cloud stored data to a content delivery network |
US9170800B2 (en) | 2012-10-16 | 2015-10-27 | Citrix Systems, Inc. | Application wrapping for application management framework |
US9971585B2 (en) | 2012-10-16 | 2018-05-15 | Citrix Systems, Inc. | Wrapping unmanaged applications on a mobile device |
US9736652B2 (en) | 2012-11-06 | 2017-08-15 | Intertrust Technologies Corporation | Activity recognition systems and methods |
US9734249B2 (en) | 2012-11-07 | 2017-08-15 | Intertrust Technologies Corporation | Personalized data management systems and methods |
US10598503B2 (en) | 2012-11-07 | 2020-03-24 | Intertrust Technologies Corporation | Vehicle charging path optimization systems and methods |
TWI463320B (zh) * | 2012-11-29 | 2014-12-01 | Mstar Semiconductor Inc | 記憶體存取權限控制方法與相關記憶體管理系統 |
US9219791B2 (en) | 2012-12-13 | 2015-12-22 | Digiboo Llc | Digital filling station for digital locker content |
US8560455B1 (en) * | 2012-12-13 | 2013-10-15 | Digiboo Llc | System and method for operating multiple rental domains within a single credit card domain |
US10672046B2 (en) | 2012-12-31 | 2020-06-02 | Baker Hughes, A Ge Company, Llc | Systems and methods for non-destructive testing online stores |
US9418050B1 (en) * | 2013-01-09 | 2016-08-16 | Pinterest, Inc. | Obtaining attribution information for representations |
US9286644B2 (en) * | 2013-01-12 | 2016-03-15 | Pro Softnet Corporation | Method for sharing multiple data items using a single URL |
US9530020B2 (en) * | 2013-01-22 | 2016-12-27 | Amazon Technologies, Inc. | Use of freeform metadata for access control |
US10341281B2 (en) | 2013-01-22 | 2019-07-02 | Amazon Technologies, Inc. | Access control policies associated with freeform metadata |
US9576141B2 (en) | 2013-01-22 | 2017-02-21 | Amazon Technologies, Inc. | Access controls on the use of freeform metadata |
US10325298B2 (en) | 2013-01-22 | 2019-06-18 | General Electric Company | Systems and methods for a non-destructive testing ecosystem |
US9647838B2 (en) * | 2013-01-25 | 2017-05-09 | Ralph John Hilla | Restructuring the computer and its association with the internet |
US9294485B2 (en) * | 2013-01-27 | 2016-03-22 | Dropbox, Inc. | Controlling access to shared content in an online content management system |
CN105378774A (zh) | 2013-03-12 | 2016-03-02 | 英特托拉斯技术公司 | 安全交易系统和方法 |
US9626489B2 (en) | 2013-03-13 | 2017-04-18 | Intertrust Technologies Corporation | Object rendering systems and methods |
US9509688B1 (en) | 2013-03-13 | 2016-11-29 | EMC IP Holding Company LLC | Providing malicious identity profiles from failed authentication attempts involving biometrics |
US10073956B2 (en) * | 2013-03-14 | 2018-09-11 | Open Text Sa Ulc | Integration services systems, methods and computer program products for ECM-independent ETL tools |
US8959595B2 (en) | 2013-03-15 | 2015-02-17 | Bullaproof, Inc. | Methods and systems for providing secure transactions |
US9565211B2 (en) | 2013-03-15 | 2017-02-07 | True Ultimate Standards Everywhere, Inc. | Managing exchanges of sensitive data |
US9159078B2 (en) | 2013-03-15 | 2015-10-13 | True Ultimate Standards Everywhere, Inc. | Managing identifiers |
US10482397B2 (en) | 2013-03-15 | 2019-11-19 | Trustarc Inc | Managing identifiers |
US20140282696A1 (en) * | 2013-03-15 | 2014-09-18 | Qualcomm Incorporated | Advertising download verification |
US9864873B2 (en) | 2013-03-15 | 2018-01-09 | Trustarc Inc | Managing data handling policies |
US10284627B2 (en) | 2013-03-29 | 2019-05-07 | Citrix Systems, Inc. | Data management for an application with multiple operation modes |
US9355223B2 (en) | 2013-03-29 | 2016-05-31 | Citrix Systems, Inc. | Providing a managed browser |
US9985850B2 (en) | 2013-03-29 | 2018-05-29 | Citrix Systems, Inc. | Providing mobile device management functionalities |
US9306981B2 (en) | 2013-04-24 | 2016-04-05 | Intertrust Technologies Corporation | Bioinformatic processing systems and methods |
US9721120B2 (en) * | 2013-05-14 | 2017-08-01 | Apple Inc. | Preventing unauthorized calls to a protected function |
US9763067B2 (en) | 2013-05-28 | 2017-09-12 | Protected Mobility, Llc | Methods and apparatus for long-short wave, low-high frequency radio secure message service |
US20160308839A1 (en) * | 2013-06-14 | 2016-10-20 | Richard Chuang | Piracy prevention and usage control system using access-controlled encrypted data containers |
US9239933B2 (en) * | 2013-06-14 | 2016-01-19 | Richard Chuang | Piracy prevention and usage control system using access-controlled encrypted data containers |
CN104254004A (zh) * | 2013-06-28 | 2014-12-31 | 中国科学院声学研究所 | 一种适合高码率音视频内容的数字版权保护方法和系统 |
US9367339B2 (en) * | 2013-07-01 | 2016-06-14 | Amazon Technologies, Inc. | Cryptographically attested resources for hosting virtual machines |
US9665895B2 (en) | 2013-08-12 | 2017-05-30 | Mov, Inc. | Technologies for video-based commerce |
US9021606B1 (en) * | 2013-09-27 | 2015-04-28 | Amazon Technologies, Inc. | Systems and methods providing format data |
US9361379B1 (en) | 2013-09-27 | 2016-06-07 | Amazon Technologies, Inc. | Systems and methods providing recommendation data |
US9218437B1 (en) * | 2013-09-27 | 2015-12-22 | Amazon Technologies, Inc. | Systems and methods providing event data |
US9178881B2 (en) * | 2013-10-09 | 2015-11-03 | Microsoft Technology Licensing, Llc | Proof of device genuineness |
EP3058469A4 (en) * | 2013-10-14 | 2017-04-19 | Nokia Technologies Oy | Method and apparatus for identifying media files based upon contextual relationships |
US9391980B1 (en) * | 2013-11-11 | 2016-07-12 | Google Inc. | Enterprise platform verification |
CN104767613B (zh) * | 2014-01-02 | 2018-02-13 | 腾讯科技(深圳)有限公司 | 签名验证方法、装置及系统 |
US10419400B2 (en) | 2014-01-29 | 2019-09-17 | Intertrust Technologies Corporation | Secure application processing systems and methods |
US9251334B1 (en) * | 2014-01-30 | 2016-02-02 | Amazon Technologies, Inc. | Enabling playback of media content |
US9876991B1 (en) | 2014-02-28 | 2018-01-23 | Concurrent Computer Corporation | Hierarchical key management system for digital rights management and associated methods |
JP2015203901A (ja) * | 2014-04-11 | 2015-11-16 | キヤノン株式会社 | 管理システム、情報処理装置、管理サーバ、それらの制御方法、およびプログラム |
US10838378B2 (en) * | 2014-06-02 | 2020-11-17 | Rovio Entertainment Ltd | Control of a computer program using media content |
US10162855B2 (en) | 2014-06-09 | 2018-12-25 | Dundas Data Visualization, Inc. | Systems and methods for optimizing data analysis |
US20150378560A1 (en) * | 2014-06-30 | 2015-12-31 | Kobo Inc. | Unlocking content on a computing device from a preview |
FR3024790B1 (fr) * | 2014-08-05 | 2016-09-09 | Bernard Gilbert Jean Marie France | Dispositif de transmission de courriers electroniques pour des terminaux non relies a un reseau informatique |
US9398332B2 (en) * | 2014-08-14 | 2016-07-19 | Verizon Patent And Licensing Inc. | Checking in and checking out content from a media client device |
WO2016040186A1 (en) * | 2014-09-08 | 2016-03-17 | Good Technology Corporation | Shared lock state |
US9806887B1 (en) * | 2014-09-23 | 2017-10-31 | Amazon Technologies, Inc. | Authenticating nonces prior to encrypting and decrypting cryptographic keys |
WO2016118216A2 (en) | 2014-11-06 | 2016-07-28 | Intertrust Technologies Corporation | Secure application distribution systems and methods |
US10565534B2 (en) * | 2014-11-11 | 2020-02-18 | Amazon Technologies, Inc. | Constraints and constraint sharing in a catalog service platform |
US11244261B2 (en) | 2014-11-11 | 2022-02-08 | Amazon Technologies, Inc. | Catalog service platform for deploying applications and services |
US20160173502A1 (en) * | 2014-12-15 | 2016-06-16 | International Business Machines Corporation | Jurisdictional cloud data access |
US10205710B2 (en) | 2015-01-08 | 2019-02-12 | Intertrust Technologies Corporation | Cryptographic systems and methods |
US9996680B2 (en) * | 2015-01-18 | 2018-06-12 | F. Scott Deaver | Methods and related apparatus for managing access to digital assets |
US9516000B2 (en) * | 2015-03-27 | 2016-12-06 | International Business Machines Corporation | Runtime instantiation of broadcast encryption schemes |
US11762989B2 (en) * | 2015-06-05 | 2023-09-19 | Bottomline Technologies Inc. | Securing electronic data by automatically destroying misdirected transmissions |
US20160364553A1 (en) * | 2015-06-09 | 2016-12-15 | Intel Corporation | System, Apparatus And Method For Providing Protected Content In An Internet Of Things (IOT) Network |
US10389716B2 (en) | 2015-07-29 | 2019-08-20 | RegDOX Solutions Inc. | Secure document storage system |
WO2017044563A1 (en) * | 2015-09-09 | 2017-03-16 | Mastercard International Incorporated | Method and system for intelligent storage and distribution of media keys for content delivery |
US9467726B1 (en) | 2015-09-30 | 2016-10-11 | The Directv Group, Inc. | Systems and methods for provisioning multi-dimensional rule based entitlement offers |
US9723347B2 (en) * | 2015-10-01 | 2017-08-01 | Sorenson Media, Inc | Frequency capping for media content |
US9848214B2 (en) | 2015-10-01 | 2017-12-19 | Sorenson Media, Inc. | Sequentially overlaying media content |
US10317243B2 (en) | 2015-10-15 | 2019-06-11 | Intertrust Technologies Corporation | Sensor information management systems and methods |
US20170109537A1 (en) * | 2015-10-16 | 2017-04-20 | Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. | Vorrichtung, die zugriffsschutz fuer strukturhaltige verteilte daten realisiert |
US10599817B2 (en) | 2016-03-08 | 2020-03-24 | Adobe Inc. | Portion-level digital rights management in digital content |
US20170278206A1 (en) * | 2016-03-24 | 2017-09-28 | Adobe Systems Incorporated | Digital Rights Management and Updates |
US10346594B2 (en) | 2016-03-24 | 2019-07-09 | Adobe Inc. | Digital rights management leveraging motion or environmental traits |
US10460082B2 (en) | 2016-04-04 | 2019-10-29 | Adobe Inc. | Digital rights management progressive control and background processing |
US10902093B2 (en) | 2016-05-12 | 2021-01-26 | Koninklijke Philips N.V. | Digital rights management for anonymous digital content sharing |
US10182387B2 (en) | 2016-06-01 | 2019-01-15 | At&T Intellectual Property I, L.P. | Method and apparatus for distributing content via diverse networks |
RU2647635C2 (ru) * | 2016-06-20 | 2018-03-16 | Общество с ограниченной ответственностью "Телепорт Русь" (ООО "Телепорт Русь") | Способ и система распространения контента в сети передачи данных со встроенным механизмом условного доступа |
EP3472743A4 (en) * | 2016-06-20 | 2020-05-13 | Teleport Global AG | METHOD AND SYSTEM FOR DISTRIBUTING CONTENT IN THE DATA TRANSFER NETWORK |
US11868445B2 (en) * | 2016-06-24 | 2024-01-09 | Discovery Communications, Llc | Systems and methods for federated searches of assets in disparate dam repositories |
US10372883B2 (en) * | 2016-06-24 | 2019-08-06 | Scripps Networks Interactive, Inc. | Satellite and central asset registry systems and methods and rights management systems |
US11157641B2 (en) * | 2016-07-01 | 2021-10-26 | Microsoft Technology Licensing, Llc | Short-circuit data access |
EP3287931A1 (en) * | 2016-08-22 | 2018-02-28 | Keyp GmbH | Data guard system |
CN109863494A (zh) * | 2016-08-22 | 2019-06-07 | Keyp股份有限公司 | 数据防护系统 |
EP3287919A1 (en) * | 2016-08-22 | 2018-02-28 | Keyp GmbH | Data guard system |
US10607025B2 (en) | 2016-09-15 | 2020-03-31 | PeerNova, Inc. | Access control through data structures |
US10218704B2 (en) | 2016-10-06 | 2019-02-26 | Cisco Technology, Inc. | Resource access control using named capabilities |
US11334852B2 (en) * | 2016-12-08 | 2022-05-17 | Airwatch Llc | Secured attachment management |
US10313223B2 (en) * | 2016-12-14 | 2019-06-04 | Level 3 Communications, Llc | Object integrity verification in a content delivery network (CDN) |
JP6802572B2 (ja) * | 2016-12-26 | 2020-12-16 | 国立大学法人大阪大学 | データ解析方法およびデータ解析システム |
US10965474B1 (en) * | 2017-02-27 | 2021-03-30 | Apple Inc. | Modifying security state with highly secured devices |
US11954071B1 (en) * | 2017-06-11 | 2024-04-09 | Jennifer Shin | File naming and management system |
US10756898B2 (en) | 2017-06-12 | 2020-08-25 | Rebel AI LLC | Content delivery verification |
IT201700087238A1 (it) * | 2017-07-28 | 2019-01-28 | Alessandro Capuzzello | Sistema elettronico per autenticazione sicura dell’identità di un utente |
JP6892361B2 (ja) | 2017-09-21 | 2021-06-23 | キオクシア株式会社 | ストレージ装置 |
EP3486772A1 (en) * | 2017-11-16 | 2019-05-22 | Siemens Aktiengesellschaft | Method for reciprocally integrating applications in an industrial program-control system |
US10693662B2 (en) * | 2018-02-22 | 2020-06-23 | Idlogiq Inc. | Methods for secure serialization of supply chain product units |
CN108389059A (zh) * | 2018-02-26 | 2018-08-10 | 成都大学 | 基于权属的数字版权作品保护、交易和发行方法及系统 |
US10839050B2 (en) * | 2018-03-08 | 2020-11-17 | Microsoft Technology Licensing, Llc | Activation of an application based on prior activation of an isolated counterpart application |
RU181439U1 (ru) * | 2018-04-06 | 2018-07-13 | Оксана Валерьевна Кириченко | Децентрализованная технологическая платформа хранения и обмена данными транзакций в распределенной вычислительной сети |
US11362824B2 (en) * | 2018-05-25 | 2022-06-14 | Intertrust Technologies Corporation | Content management systems and methods using proxy reencryption |
US11748455B2 (en) * | 2018-05-25 | 2023-09-05 | Intertrust Technologies Corporation | Digital rights management systems and methods using efficient messaging architectures |
US20200034515A1 (en) * | 2018-07-27 | 2020-01-30 | Comcast Cable Communications, Llc | Digital rights management interface |
US20200242213A1 (en) * | 2019-01-28 | 2020-07-30 | Blackberry Limited | Method and system for digital rights management |
US11636220B2 (en) * | 2019-02-01 | 2023-04-25 | Intertrust Technologies Corporation | Data management systems and methods |
RU189720U1 (ru) * | 2019-02-20 | 2019-05-31 | Смаль Алексей Игоревич | Технологическая платформа интеграции игровых ресурсов сети Интернет для покупки пользователями товаров и услуг |
US11182866B2 (en) * | 2019-02-20 | 2021-11-23 | Aon Risk Services, Inc. Of Maryland | Digital property authentication and management system |
KR102250124B1 (ko) * | 2019-03-08 | 2021-05-10 | 임근만 | 수제맥주 제조장치와 제조플렛폼 및 이를 이용한 수제맥주 제조방법 |
US11356283B2 (en) * | 2019-05-08 | 2022-06-07 | Seagate Technology Llc | Data storage using an encryption key with a time expiration associated therewith |
US10904251B2 (en) | 2019-05-17 | 2021-01-26 | Advanced New Technologies Co., Ltd. | Blockchain-based copyright protection method and apparatus, and electronic device |
EP3745640A1 (en) * | 2019-05-31 | 2020-12-02 | Siemens Aktiengesellschaft | Establishing secure communication without local time information |
JP7335591B2 (ja) * | 2019-07-22 | 2023-08-30 | コネクトフリー株式会社 | コンピューティングシステムおよび情報処理方法 |
US20210056053A1 (en) * | 2019-08-19 | 2021-02-25 | Cryptography Research, Inc. | Application authentication and data encryption without stored pre-shared keys |
JP2021044646A (ja) * | 2019-09-10 | 2021-03-18 | シャープ株式会社 | 情報処理システム、情報処理方法、及び情報処理プログラム |
US10764732B1 (en) * | 2019-09-30 | 2020-09-01 | At&T Intellectual Property I, L.P. | Methods, systems, and devices for providing subscription services for a communication device using an operational profile |
US10856121B1 (en) | 2019-10-22 | 2020-12-01 | At&T Intellectual Property I, L.P. | Methods, systems, and devices for providing subscription services to a communication device that shares an operational profile with another communication device |
US11159927B2 (en) | 2019-11-04 | 2021-10-26 | At&T Intellectual Property I, L.P. | Methods, systems, and devices for establishing an active subscription for services of a mobile network |
US10834574B1 (en) | 2019-11-04 | 2020-11-10 | At&T Intellectual Property I, L.P. | Methods, systems, and devices for obtaining a profile enabling establishment of an active subscription for services of a mobile network |
US11381658B2 (en) | 2019-11-08 | 2022-07-05 | At&T Intellectual Property I, L.P. | Managing devices through use of blocks of operational profiles |
RU2722239C1 (ru) * | 2019-11-26 | 2020-05-28 | Общество с ограниченной ответственностью «ПИРФ» (ООО «ПИРФ») | Способ создания и использования формата исполняемого файла с динамическим расширяемым заголовком |
US11516192B2 (en) * | 2019-12-19 | 2022-11-29 | Augustine Fou | System and method for combinatorial security |
CN113014531B (zh) * | 2019-12-20 | 2022-11-29 | 中标软件有限公司 | 一种应用于电子邮件数据加密传输的方法 |
US20210243035A1 (en) * | 2020-02-03 | 2021-08-05 | Micron Technology, Inc. | Multi-factor authentication enabled memory sub-system |
WO2021178900A1 (en) | 2020-03-06 | 2021-09-10 | Christopher Renwick Alston | Technologies for augmented-reality |
US11151229B1 (en) | 2020-04-10 | 2021-10-19 | Avila Technology, LLC | Secure messaging service with digital rights management using blockchain technology |
US10873852B1 (en) | 2020-04-10 | 2020-12-22 | Avila Technology, LLC | POOFster: a secure mobile text message and object sharing application, system, and method for same |
KR102472893B1 (ko) * | 2020-10-08 | 2022-11-30 | 명지대학교 산학협력단 | 미디어 사물인터넷에서 미션 다이어그램을 이용한 미디어사물의 미션을 수행하기 위한 시스템, 이를 위한 방법 및 이 방법을 수행하는 프로그램이 기록된 컴퓨터 판독 가능한 기록매체 |
US20220126788A1 (en) * | 2020-10-23 | 2022-04-28 | Ford Global Technologies, Llc | Biometric authenticated vehicle start with paired sensor to key intrustion detection |
WO2022164899A1 (en) * | 2021-01-29 | 2022-08-04 | Docusign, Inc. | Document package modifications based on assigned permissions in a document management platform |
KR102547745B1 (ko) | 2021-07-12 | 2023-06-26 | 주식회사 아이디스 | 사전 인증정보를 이용해 네트워크 응답속도를 개선한 영상 보안 시스템 |
JP2024531874A (ja) * | 2021-07-21 | 2024-09-03 | ライブランプ インコーポレーテッド | クッキーなし認証環境におけるパブリッシャー許可済みアクティブ化 |
US20230046788A1 (en) * | 2021-08-16 | 2023-02-16 | Capital One Services, Llc | Systems and methods for resetting an authentication counter |
US12093286B2 (en) * | 2021-11-19 | 2024-09-17 | Intertrust Technologies Corporation | Time series data management systems and methods |
US20230224275A1 (en) * | 2022-01-12 | 2023-07-13 | Bank Of America Corporation | Preemptive threat detection for an information system |
CN114745445B (zh) * | 2022-04-27 | 2024-05-28 | 深圳绿米联创科技有限公司 | 控制方法、装置、电子设备和存储介质 |
US20240129110A1 (en) | 2022-10-17 | 2024-04-18 | Thales Dis Cpl Usa, Inc. | System and method of application resource binding |
CN116095155B (zh) * | 2023-01-09 | 2024-07-12 | 蚂蚁区块链科技(上海)有限公司 | 数据推送决策方法及装置 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002073861A (ja) * | 2000-08-24 | 2002-03-12 | Matsushita Electric Ind Co Ltd | 情報配信制御方法 |
JP2004234238A (ja) * | 2003-01-29 | 2004-08-19 | Nec Corp | 情報共有方法、装置、およびプログラム |
JP2005517222A (ja) * | 2001-05-31 | 2005-06-09 | コンテントガード ホールディングズ インコーポレイテッド | 権利を文書へ階層的に割り当てる方法および装置、並びにそのような権利を有する文書 |
Family Cites Families (216)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4827508A (en) * | 1986-10-14 | 1989-05-02 | Personal Library Software, Inc. | Database usage metering and protection system and method |
US5050213A (en) * | 1986-10-14 | 1991-09-17 | Electronic Publishing Resources, Inc. | Database usage metering and protection system and method |
US4977594A (en) | 1986-10-14 | 1990-12-11 | Electronic Publishing Resources, Inc. | Database usage metering and protection system and method |
US5940504A (en) | 1991-07-01 | 1999-08-17 | Infologic Software, Inc. | Licensing management system and method in which datagrams including an address of a licensee and indicative of use of a licensed product are sent from the licensee's site |
US5126746A (en) * | 1991-07-08 | 1992-06-30 | The United States Of America As Represented By The United States Department Of Energy | Secure distance ranging by electronic means |
US6850252B1 (en) | 1999-10-05 | 2005-02-01 | Steven M. Hoffberg | Intelligent electronic appliance system and method |
US5414845A (en) * | 1992-06-26 | 1995-05-09 | International Business Machines Corporation | Network-based computer system with improved network scheduling system |
JPH07230380A (ja) | 1994-02-15 | 1995-08-29 | Internatl Business Mach Corp <Ibm> | 適用業務プログラムの利用管理方法およびシステム |
JPH07319691A (ja) * | 1994-03-29 | 1995-12-08 | Toshiba Corp | 資源保護装置、特権保護装置、ソフトウェア利用法制御装置、及びソフトウェア利用法制御システム |
US5629980A (en) * | 1994-11-23 | 1997-05-13 | Xerox Corporation | System for controlling the distribution and use of digital works |
US5715403A (en) | 1994-11-23 | 1998-02-03 | Xerox Corporation | System for controlling the distribution and use of digital works having attached usage rights where the usage rights are defined by a usage rights grammar |
US5634012A (en) | 1994-11-23 | 1997-05-27 | Xerox Corporation | System for controlling the distribution and use of digital works having a fee reporting mechanism |
US5638443A (en) * | 1994-11-23 | 1997-06-10 | Xerox Corporation | System for controlling the distribution and use of composite digital works |
JPH08263438A (ja) | 1994-11-23 | 1996-10-11 | Xerox Corp | ディジタルワークの配給及び使用制御システム並びにディジタルワークへのアクセス制御方法 |
US7165174B1 (en) * | 1995-02-13 | 2007-01-16 | Intertrust Technologies Corp. | Trusted infrastructure support systems, methods and techniques for secure electronic commerce transaction and rights management |
US7124302B2 (en) * | 1995-02-13 | 2006-10-17 | Intertrust Technologies Corp. | Systems and methods for secure transaction management and electronic rights protection |
US5892900A (en) * | 1996-08-30 | 1999-04-06 | Intertrust Technologies Corp. | Systems and methods for secure transaction management and electronic rights protection |
US5943422A (en) | 1996-08-12 | 1999-08-24 | Intertrust Technologies Corp. | Steganographic techniques for securely delivering electronic digital rights management control information over insecure communication channels |
US6948070B1 (en) * | 1995-02-13 | 2005-09-20 | Intertrust Technologies Corporation | Systems and methods for secure transaction management and electronic rights protection |
US7069451B1 (en) | 1995-02-13 | 2006-06-27 | Intertrust Technologies Corp. | Systems and methods for secure transaction management and electronic rights protection |
EP1526472A3 (en) | 1995-02-13 | 2006-07-26 | Intertrust Technologies Corp. | Systems and methods for secure transaction management and electronic rights protection |
US6658568B1 (en) * | 1995-02-13 | 2003-12-02 | Intertrust Technologies Corporation | Trusted infrastructure support system, methods and techniques for secure electronic commerce transaction and rights management |
US6157721A (en) * | 1996-08-12 | 2000-12-05 | Intertrust Technologies Corp. | Systems and methods using cryptography to protect secure computing environments |
US5530235A (en) * | 1995-02-16 | 1996-06-25 | Xerox Corporation | Interactive contents revealing storage device |
US5534975A (en) * | 1995-05-26 | 1996-07-09 | Xerox Corporation | Document processing system utilizing document service cards to provide document processing services |
US5774652A (en) | 1995-09-29 | 1998-06-30 | Smith; Perry | Restricted access computer system |
US6807534B1 (en) | 1995-10-13 | 2004-10-19 | Trustees Of Dartmouth College | System and method for managing copyrighted electronic media |
US5765152A (en) | 1995-10-13 | 1998-06-09 | Trustees Of Dartmouth College | System and method for managing copyrighted electronic media |
EP0974129B1 (en) | 1996-09-04 | 2006-08-16 | Intertrust Technologies Corp. | Trusted infrastructure support systems, methods and techniques for secure electronic commerce, electronic transactions, commerce process control and automation, distributed computing, and rights management |
US6052780A (en) | 1996-09-12 | 2000-04-18 | Open Security Solutions, Llc | Computer system and process for accessing an encrypted and self-decrypting digital information product while restricting access to decrypted digital information |
US6006332A (en) | 1996-10-21 | 1999-12-21 | Case Western Reserve University | Rights management system for digital media |
JPH10133955A (ja) | 1996-10-29 | 1998-05-22 | Matsushita Electric Ind Co Ltd | 可搬型メディア駆動装置とその方法、及び可搬型メディアとネットワークの連携装置とその方法 |
US6023765A (en) * | 1996-12-06 | 2000-02-08 | The United States Of America As Represented By The Secretary Of Commerce | Implementation of role-based access control in multi-level secure systems |
US5920861A (en) | 1997-02-25 | 1999-07-06 | Intertrust Technologies Corp. | Techniques for defining using and manipulating rights management data structures |
US5937041A (en) | 1997-03-10 | 1999-08-10 | Northern Telecom, Limited | System and method for retrieving internet data files using a screen-display telephone terminal |
US5999949A (en) | 1997-03-14 | 1999-12-07 | Crandall; Gary E. | Text file compression system utilizing word terminators |
US6735253B1 (en) * | 1997-05-16 | 2004-05-11 | The Trustees Of Columbia University In The City Of New York | Methods and architecture for indexing and editing compressed video over the world wide web |
EP0988591A1 (en) | 1997-06-09 | 2000-03-29 | Intertrust, Incorporated | Obfuscation techniques for enhancing software security |
US6188995B1 (en) * | 1997-07-28 | 2001-02-13 | Apple Computer, Inc. | Method and apparatus for enforcing software licenses |
US6044468A (en) * | 1997-08-25 | 2000-03-28 | Emc Corporation | Secure transmission using an ordinarily insecure network communication protocol such as SNMP |
US6044469A (en) * | 1997-08-29 | 2000-03-28 | Preview Software | Software publisher or distributor configurable software security mechanism |
US5941951A (en) * | 1997-10-31 | 1999-08-24 | International Business Machines Corporation | Methods for real-time deterministic delivery of multimedia data in a client/server system |
US7092914B1 (en) | 1997-11-06 | 2006-08-15 | Intertrust Technologies Corporation | Methods for matching, selecting, narrowcasting, and/or classifying based on rights management and/or other information |
US6112181A (en) | 1997-11-06 | 2000-08-29 | Intertrust Technologies Corporation | Systems and methods for matching, selecting, narrowcasting, and/or classifying based on rights management and/or other information |
US6065120A (en) | 1997-12-09 | 2000-05-16 | Phone.Com, Inc. | Method and system for self-provisioning a rendezvous to ensure secure access to information in a database from multiple devices |
US6769019B2 (en) * | 1997-12-10 | 2004-07-27 | Xavier Ferguson | Method of background downloading of information from a computer network |
US5991399A (en) | 1997-12-18 | 1999-11-23 | Intel Corporation | Method for securely distributing a conditional use private key to a trusted entity on a remote system |
US6233577B1 (en) * | 1998-02-17 | 2001-05-15 | Phone.Com, Inc. | Centralized certificate management system for two-way interactive communication devices in data networks |
CA2323781C (en) | 1998-03-16 | 2004-06-01 | Intertrust Technologies Corporation | Methods and apparatus for continuous control and protection of media content |
US7809138B2 (en) * | 1999-03-16 | 2010-10-05 | Intertrust Technologies Corporation | Methods and apparatus for persistent control and protection of content |
US7606355B2 (en) * | 1998-04-22 | 2009-10-20 | Echarge Corporation | Method and apparatus for ordering goods, services and content over an internetwork |
US20040107368A1 (en) * | 1998-06-04 | 2004-06-03 | Z4 Technologies, Inc. | Method for digital rights management including self activating/self authentication software |
US6226618B1 (en) | 1998-08-13 | 2001-05-01 | International Business Machines Corporation | Electronic content delivery system |
US6985953B1 (en) | 1998-11-30 | 2006-01-10 | George Mason University | System and apparatus for storage and transfer of secure data on web |
US7058414B1 (en) | 2000-05-26 | 2006-06-06 | Freescale Semiconductor, Inc. | Method and system for enabling device functions based on distance information |
US6223291B1 (en) * | 1999-03-26 | 2001-04-24 | Motorola, Inc. | Secure wireless electronic-commerce system with digital product certificates and digital license certificates |
US20020198791A1 (en) | 1999-04-21 | 2002-12-26 | Perkowski Thomas J. | Internet-based consumer product brand marketing communication system which enables manufacturers, retailers and their respective agents, and consumers to carry out product-related functions along the demand side of the retail chain in an integrated manner |
US6883100B1 (en) * | 1999-05-10 | 2005-04-19 | Sun Microsystems, Inc. | Method and system for dynamic issuance of group certificates |
US6785815B1 (en) | 1999-06-08 | 2004-08-31 | Intertrust Technologies Corp. | Methods and systems for encoding and protecting data using digital signature and watermarking techniques |
US7152165B1 (en) | 1999-07-16 | 2006-12-19 | Intertrust Technologies Corp. | Trusted storage systems and methods |
US7430670B1 (en) | 1999-07-29 | 2008-09-30 | Intertrust Technologies Corp. | Software self-defense systems and methods |
US7124170B1 (en) | 1999-08-20 | 2006-10-17 | Intertrust Technologies Corp. | Secure processing unit systems and methods |
US20080133417A1 (en) | 1999-10-18 | 2008-06-05 | Emergent Music Llc | System to determine quality through reselling of items |
US6842863B1 (en) * | 1999-11-23 | 2005-01-11 | Microsoft Corporation | Certificate reissuance for checking the status of a certificate in financial transactions |
US6832316B1 (en) | 1999-12-22 | 2004-12-14 | Intertrust Technologies, Corp. | Systems and methods for protecting data secrecy and integrity |
US20010033554A1 (en) | 2000-02-18 | 2001-10-25 | Arun Ayyagari | Proxy-bridge connecting remote users to a limited connectivity network |
US7426750B2 (en) | 2000-02-18 | 2008-09-16 | Verimatrix, Inc. | Network-based content distribution system |
IL135555A0 (en) | 2000-04-09 | 2001-05-20 | Vidius Inc | Preventing unauthorized access to data sent via computer networks |
JP3711866B2 (ja) | 2000-04-10 | 2005-11-02 | 日本電気株式会社 | プラグアンドプレイ機能を有するフレームワークおよびその再構成方法 |
AU2001259590A1 (en) * | 2000-05-08 | 2001-11-20 | Leap Wireless International, Inc. | Method of converting html/xml to hdml/wml in real-time for display on mobile devices |
US7313692B2 (en) | 2000-05-19 | 2007-12-25 | Intertrust Technologies Corp. | Trust management systems and methods |
US6961858B2 (en) | 2000-06-16 | 2005-11-01 | Entriq, Inc. | Method and system to secure content for distribution via a network |
WO2001098936A2 (en) * | 2000-06-22 | 2001-12-27 | Microsoft Corporation | Distributed computing services platform |
AU2001271704A1 (en) | 2000-06-29 | 2002-01-14 | Cachestream Corporation | Digital rights management |
US7587368B2 (en) * | 2000-07-06 | 2009-09-08 | David Paul Felsher | Information record infrastructure, system and method |
US6976164B1 (en) | 2000-07-19 | 2005-12-13 | International Business Machines Corporation | Technique for handling subsequent user identification and password requests with identity change within a certificate-based host session |
US7010808B1 (en) | 2000-08-25 | 2006-03-07 | Microsoft Corporation | Binding digital content to a portable storage device or the like in a digital rights management (DRM) system |
US7743259B2 (en) | 2000-08-28 | 2010-06-22 | Contentguard Holdings, Inc. | System and method for digital rights management using a standard rendering engine |
JP4269501B2 (ja) | 2000-09-07 | 2009-05-27 | ソニー株式会社 | 情報記録装置、情報再生装置、情報記録方法、情報再生方法、および情報記録媒体、並びにプログラム提供媒体 |
GB2366969A (en) * | 2000-09-14 | 2002-03-20 | Phocis Ltd | Copyright protection for digital content distributed over a network |
US7171558B1 (en) | 2000-09-22 | 2007-01-30 | International Business Machines Corporation | Transparent digital rights management for extendible content viewers |
GB0024918D0 (en) * | 2000-10-11 | 2000-11-22 | Sealedmedia Ltd | Method of providing java tamperproofing |
GB0024919D0 (en) * | 2000-10-11 | 2000-11-22 | Sealedmedia Ltd | Method of further securing an operating system |
SE519748C2 (sv) | 2000-10-23 | 2003-04-08 | Volvo Technology Corp | Förfarande för kontroll av behörighet för tillträde till ett objekt samt datorprogramprodukten för utförande av förfaranden |
US8606684B2 (en) * | 2000-11-10 | 2013-12-10 | Aol Inc. | Digital content distribution and subscription system |
US20030177187A1 (en) * | 2000-11-27 | 2003-09-18 | Butterfly.Net. Inc. | Computing grid for massively multi-player online games and other multi-user immersive persistent-state and session-based applications |
US7356690B2 (en) * | 2000-12-11 | 2008-04-08 | International Business Machines Corporation | Method and system for managing a distributed trust path locator for public key certificates relating to the trust path of an X.509 attribute certificate |
US7774279B2 (en) | 2001-05-31 | 2010-08-10 | Contentguard Holdings, Inc. | Rights offering and granting |
US20030220880A1 (en) | 2002-01-17 | 2003-11-27 | Contentguard Holdings, Inc. | Networked services licensing system and method |
US7395430B2 (en) | 2001-08-28 | 2008-07-01 | International Business Machines Corporation | Secure authentication using digital certificates |
GB2372343A (en) | 2001-02-17 | 2002-08-21 | Hewlett Packard Co | Determination of a trust value of a digital certificate |
US7308717B2 (en) * | 2001-02-23 | 2007-12-11 | International Business Machines Corporation | System and method for supporting digital rights management in an enhanced Java™ 2 runtime environment |
WO2002076003A2 (en) | 2001-03-19 | 2002-09-26 | Imesh Ltd. | System and method for peer-to-peer file exchange mechanism from multiple sources |
US7065507B2 (en) | 2001-03-26 | 2006-06-20 | Microsoft Corporation | Supervised license acquisition in a digital rights management system on a computing device |
WO2002077747A2 (en) * | 2001-03-27 | 2002-10-03 | Microsoft Corporation | Distributed, scalable cryptographic access control |
US20020144108A1 (en) | 2001-03-29 | 2002-10-03 | International Business Machines Corporation | Method and system for public-key-based secure authentication to distributed legacy applications |
EP1282262A1 (en) | 2001-03-29 | 2003-02-05 | Sony Corporation | Information processing apparatus |
US20020144283A1 (en) | 2001-03-30 | 2002-10-03 | Intertainer, Inc. | Content distribution system |
US7580988B2 (en) | 2001-04-05 | 2009-08-25 | Intertrust Technologies Corporation | System and methods for managing the distribution of electronic content |
US7516325B2 (en) * | 2001-04-06 | 2009-04-07 | Certicom Corp. | Device authentication in a PKI |
EP2211528B1 (en) | 2001-04-12 | 2013-07-10 | Research In Motion Limited | A method and a system for pushing an encrypted service book to a mobile user |
US20020157002A1 (en) | 2001-04-18 | 2002-10-24 | Messerges Thomas S. | System and method for secure and convenient management of digital electronic content |
US7136840B2 (en) * | 2001-04-20 | 2006-11-14 | Intertrust Technologies Corp. | Systems and methods for conducting transactions and communications using a trusted third party |
US7043050B2 (en) | 2001-05-02 | 2006-05-09 | Microsoft Corporation | Software anti-piracy systems and methods utilizing certificates with digital content |
US6934702B2 (en) | 2001-05-04 | 2005-08-23 | Sun Microsystems, Inc. | Method and system of routing messages in a distributed search network |
US7249100B2 (en) | 2001-05-15 | 2007-07-24 | Nokia Corporation | Service discovery access to user location |
US7581103B2 (en) * | 2001-06-13 | 2009-08-25 | Intertrust Technologies Corporation | Software self-checking systems and methods |
US7900042B2 (en) * | 2001-06-26 | 2011-03-01 | Ncipher Corporation Limited | Encrypted packet inspection |
US7203966B2 (en) * | 2001-06-27 | 2007-04-10 | Microsoft Corporation | Enforcement architecture and method for digital rights management system for roaming a license to a plurality of user devices |
US8352582B2 (en) * | 2001-06-28 | 2013-01-08 | Koninklijke Philips Electronics N.V. | Temporal proximity to verify physical proximity |
US7421411B2 (en) | 2001-07-06 | 2008-09-02 | Nokia Corporation | Digital rights management in a mobile communications environment |
US20030009681A1 (en) * | 2001-07-09 | 2003-01-09 | Shunji Harada | Digital work protection system, recording medium apparatus, transmission apparatus, and playback apparatus |
JP4280036B2 (ja) | 2001-08-03 | 2009-06-17 | パナソニック株式会社 | アクセス権制御システム |
US20030037139A1 (en) | 2001-08-20 | 2003-02-20 | Koninklijke Philips Electronics N.V. | Content distribution model |
US7035944B2 (en) * | 2001-09-19 | 2006-04-25 | International Business Machines Corporation | Programmatic management of software resources in a content framework environment |
CA2404552C (en) | 2001-09-21 | 2008-12-09 | Corel Corporation | System and method for secure communication |
US20030065956A1 (en) | 2001-09-28 | 2003-04-03 | Abhijit Belapurkar | Challenge-response data communication protocol |
US7359517B1 (en) | 2001-10-09 | 2008-04-15 | Adobe Systems Incorporated | Nestable skeleton decryption keys for digital rights management |
US20030079133A1 (en) * | 2001-10-18 | 2003-04-24 | International Business Machines Corporation | Method and system for digital rights management in content distribution application |
WO2003034313A2 (en) | 2001-10-18 | 2003-04-24 | Macrovision Corporation | Systems and methods for providing digital rights management compatibility |
US7487363B2 (en) * | 2001-10-18 | 2009-02-03 | Nokia Corporation | System and method for controlled copying and moving of content between devices and domains based on conditional encryption of content key depending on usage |
US20030084172A1 (en) | 2001-10-29 | 2003-05-01 | Sun Microsystem, Inc., A Delaware Corporation | Identification and privacy in the World Wide Web |
CN1579095A (zh) | 2001-10-29 | 2005-02-09 | 松下电器产业株式会社 | 基线内容保护和复制管理数字视频广播的装置 |
US7254614B2 (en) | 2001-11-20 | 2007-08-07 | Nokia Corporation | Web services push gateway |
WO2003044680A1 (en) | 2001-11-20 | 2003-05-30 | Contentguard Holdings, Inc. | Systems and methods for creating, manipulating and processing rights and contract expressions using tokenized templates |
US20030126086A1 (en) | 2001-12-31 | 2003-07-03 | General Instrument Corporation | Methods and apparatus for digital rights management |
EP1470497A1 (en) | 2002-01-12 | 2004-10-27 | Coretrust, Inc. | Method and system for the information protection of digital content |
US7496757B2 (en) | 2002-01-14 | 2009-02-24 | International Business Machines Corporation | Software verification system, method and computer program element |
US7603469B2 (en) | 2002-01-15 | 2009-10-13 | International Business Machines Corporation | Provisioning aggregated services in a distributed computing environment |
US20030140119A1 (en) | 2002-01-18 | 2003-07-24 | International Business Machines Corporation | Dynamic service discovery |
US20030145044A1 (en) * | 2002-01-28 | 2003-07-31 | Nokia Corporation | Virtual terminal for mobile network interface between mobile terminal and software applications node |
US20030144859A1 (en) | 2002-01-31 | 2003-07-31 | Meichun Hsu | E-service publication and discovery method and system |
US20030172127A1 (en) | 2002-02-06 | 2003-09-11 | Northrup Charles J. | Execution of process by references to directory service |
US6996544B2 (en) * | 2002-02-27 | 2006-02-07 | Imagineer Software, Inc. | Multiple party content distribution system and method with rights management features |
KR100467929B1 (ko) | 2002-02-28 | 2005-01-24 | 주식회사 마크애니 | 디지털 컨텐츠의 보호 및 관리를 위한 시스템 |
US7472270B2 (en) | 2002-04-16 | 2008-12-30 | Microsoft Corporation | Secure transmission of digital content between a host and a peripheral by way of a digital rights management (DRM) system |
US7383570B2 (en) | 2002-04-25 | 2008-06-03 | Intertrust Technologies, Corp. | Secure authentication systems and methods |
US7149899B2 (en) * | 2002-04-25 | 2006-12-12 | Intertrust Technologies Corp. | Establishing a secure channel with a human user |
US7076249B2 (en) | 2002-05-06 | 2006-07-11 | Telefonaktiebolaget Lm Ericsson (Publ) | Method and apparatus for generating management data for drifting mobile radios |
US8611919B2 (en) | 2002-05-23 | 2013-12-17 | Wounder Gmbh., Llc | System, method, and computer program product for providing location based services and mobile e-commerce |
US7529929B2 (en) | 2002-05-30 | 2009-05-05 | Nokia Corporation | System and method for dynamically enforcing digital rights management rules |
US7296154B2 (en) | 2002-06-24 | 2007-11-13 | Microsoft Corporation | Secure media path methods, systems, and architectures |
WO2004003879A2 (en) * | 2002-06-27 | 2004-01-08 | Piranha Media Distribution, Inc. | Method and apparatus for the free licensing of digital media content |
US7631318B2 (en) | 2002-06-28 | 2009-12-08 | Microsoft Corporation | Secure server plug-in architecture for digital rights management systems |
US7353402B2 (en) * | 2002-06-28 | 2008-04-01 | Microsoft Corporation | Obtaining a signed rights label (SRL) for digital content and obtaining a digital license corresponding to the content based on the SRL in a digital rights management system |
AU2002950202A0 (en) | 2002-07-11 | 2002-09-12 | University Of Wollongong | Methods for standard mechanisms for digital item manipulation and handling |
US7401221B2 (en) | 2002-09-04 | 2008-07-15 | Microsoft Corporation | Advanced stream format (ASF) data stream header object protection |
US20040216127A1 (en) | 2002-09-10 | 2004-10-28 | Chutney Technologies | Method and apparatus for accelerating web services |
US20060020784A1 (en) * | 2002-09-23 | 2006-01-26 | Willem Jonker | Certificate based authorized domains |
CN1685687B (zh) | 2002-09-30 | 2013-10-30 | 皇家飞利浦电子股份有限公司 | 确定目标节点对于源节点的邻近性的方法 |
BR0315550A (pt) * | 2002-10-22 | 2005-08-23 | Koninkl Philips Electronics Nv | Método para autorizar uma operação solicitada por um primeiro usuário em um item de conteúdo, e, dispositivo arranjado para executar uma operação solicitada por um primeiro usuário em um item de conteúdo |
US20040143546A1 (en) | 2002-11-01 | 2004-07-22 | Wood Jeff A. | Easy user activation of electronic commerce services |
US20040088541A1 (en) * | 2002-11-01 | 2004-05-06 | Thomas Messerges | Digital-rights management system |
US7757075B2 (en) * | 2002-11-15 | 2010-07-13 | Microsoft Corporation | State reference |
US7899187B2 (en) | 2002-11-27 | 2011-03-01 | Motorola Mobility, Inc. | Domain-based digital-rights management system with easy and secure device enrollment |
US20040117490A1 (en) | 2002-12-13 | 2004-06-17 | General Instrument Corporation | Method and system for providing chaining of rules in a digital rights management system |
US7493289B2 (en) | 2002-12-13 | 2009-02-17 | Aol Llc | Digital content store system |
EP1576447A1 (en) | 2002-12-17 | 2005-09-21 | Koninklijke Philips Electronics N.V. | System to allow content sharing |
US8364951B2 (en) | 2002-12-30 | 2013-01-29 | General Instrument Corporation | System for digital rights management using distributed provisioning and authentication |
WO2004059451A1 (en) * | 2002-12-30 | 2004-07-15 | Koninklijke Philips Electronics N.V. | Divided rights in authorized domain |
US8468227B2 (en) | 2002-12-31 | 2013-06-18 | Motorola Solutions, Inc. | System and method for rendering content on multiple devices |
US20040128546A1 (en) | 2002-12-31 | 2004-07-01 | International Business Machines Corporation | Method and system for attribute exchange in a heterogeneous federated environment |
TWI349204B (en) | 2003-01-10 | 2011-09-21 | Panasonic Corp | Group admission system and server and client therefor |
US20040139312A1 (en) | 2003-01-14 | 2004-07-15 | General Instrument Corporation | Categorization of host security levels based on functionality implemented inside secure hardware |
US7383586B2 (en) * | 2003-01-17 | 2008-06-03 | Microsoft Corporation | File system operation and digital rights management (DRM) |
US20050004873A1 (en) | 2003-02-03 | 2005-01-06 | Robin Pou | Distribution and rights management of digital content |
US20040158731A1 (en) * | 2003-02-11 | 2004-08-12 | Microsoft Corporation | Publishing digital content within a defined universe such as an organization in accordance with a digital rights management (DRM) system |
US7577999B2 (en) | 2003-02-11 | 2009-08-18 | Microsoft Corporation | Publishing digital content within a defined universe such as an organization in accordance with a digital rights management (DRM) system |
US7308573B2 (en) * | 2003-02-25 | 2007-12-11 | Microsoft Corporation | Enrolling / sub-enrolling a digital rights management (DRM) server into a DRM architecture |
US7577964B2 (en) | 2003-02-28 | 2009-08-18 | Hewlett-Packard Development Company, L.P. | System and methods for defining a binding for web-services |
US20040205333A1 (en) * | 2003-04-14 | 2004-10-14 | Telefonaktiebolaget Lm Ericsson (Publ) | Method and system for digital rights management |
CA2527668A1 (en) * | 2003-06-02 | 2004-12-16 | Liquid Machines, Inc. | Managing data objects in dynamic, distributed and collaborative contexts |
EP2270622B1 (en) * | 2003-06-05 | 2016-08-24 | Intertrust Technologies Corporation | Interoperable systems and methods for peer-to-peer service orchestration |
US7272228B2 (en) | 2003-06-12 | 2007-09-18 | International Business Machines Corporation | System and method for securing code and ensuring proper execution using state-based encryption |
JP2005012282A (ja) | 2003-06-16 | 2005-01-13 | Toshiba Corp | 電子商品流通システム、電子商品受信端末、及び電子商品流通方法 |
US7089594B2 (en) * | 2003-07-21 | 2006-08-08 | July Systems, Inc. | Application rights management in a mobile environment |
US8200775B2 (en) | 2005-02-01 | 2012-06-12 | Newsilike Media Group, Inc | Enhanced syndication |
WO2005025116A2 (en) * | 2003-09-05 | 2005-03-17 | Limelight Networks, Inc. | Management of digital content licenses |
US7389273B2 (en) | 2003-09-25 | 2008-06-17 | Scott Andrew Irwin | System and method for federated rights management |
US20050078822A1 (en) * | 2003-10-08 | 2005-04-14 | Eyal Shavit | Secure access and copy protection management system |
US20050102513A1 (en) * | 2003-11-10 | 2005-05-12 | Nokia Corporation | Enforcing authorized domains with domain membership vouchers |
US20050108707A1 (en) * | 2003-11-14 | 2005-05-19 | Taylor Thomas M. | Systems and methods for creating and managing a virtual retail store on end-user client computers within a network |
EP1688843A1 (en) | 2003-11-25 | 2006-08-09 | Matsushita Electric Industrial Co., Ltd. | Authentication system |
US20050234735A1 (en) | 2003-11-26 | 2005-10-20 | Williams Jim C | Digital rights management using proximity testing |
US7516331B2 (en) | 2003-11-26 | 2009-04-07 | International Business Machines Corporation | Tamper-resistant trusted java virtual machine and method of using the same |
US20050192902A1 (en) * | 2003-12-05 | 2005-09-01 | Motion Picture Association Of America | Digital rights management using multiple independent parameters |
US20050177516A1 (en) | 2004-02-06 | 2005-08-11 | Eric Vandewater | System and method of protecting digital content |
KR100597401B1 (ko) * | 2004-02-06 | 2006-07-06 | 삼성전자주식회사 | 컨텐츠 저작권 보호를 위한 drm 관리 방법 및 그 장치 |
US7676846B2 (en) * | 2004-02-13 | 2010-03-09 | Microsoft Corporation | Binding content to an entity |
EP1790161A4 (en) | 2004-02-23 | 2011-11-30 | Hillcrest Lab Inc | METHOD AND SYSTEMS FOR A SECURE MEDIA DATA PROCESSING ENVIRONMENT |
JP4350549B2 (ja) | 2004-02-25 | 2009-10-21 | 富士通株式会社 | デジタル著作権管理のための情報処理装置 |
JP4466148B2 (ja) * | 2004-03-25 | 2010-05-26 | 株式会社日立製作所 | ネットワーク転送対応コンテンツ利用管理方法、及びプログラム、コンテンツ転送システム |
US7437771B2 (en) | 2004-04-19 | 2008-10-14 | Woodcock Washburn Llp | Rendering protected digital content within a network of computing devices or the like |
US20050262568A1 (en) | 2004-05-18 | 2005-11-24 | Hansen Mark D | System and method for managing access to protected content by untrusted applications |
US20050273629A1 (en) * | 2004-06-04 | 2005-12-08 | Vitalsource Technologies | System, method and computer program product for providing digital rights management of protected content |
US7711647B2 (en) * | 2004-06-10 | 2010-05-04 | Akamai Technologies, Inc. | Digital rights management in a distributed network |
US20050278256A1 (en) * | 2004-06-15 | 2005-12-15 | Eric Vandewater | System and method of promoting copy-managed digital content |
GB0413848D0 (en) * | 2004-06-21 | 2004-07-21 | British Broadcasting Corp | Accessing broadcast media |
CN100552661C (zh) | 2004-06-28 | 2009-10-21 | Nds有限公司 | 用于确定接近度的系统 |
US20060015580A1 (en) | 2004-07-01 | 2006-01-19 | Home Box Office, A Delaware Corporation | Multimedia content distribution |
WO2006020426A2 (en) | 2004-07-29 | 2006-02-23 | Infoassure, Inc. | Cryptographic key construct |
US7610011B2 (en) | 2004-09-19 | 2009-10-27 | Adam Albrett | Providing alternative programming on a radio in response to user input |
KR100677152B1 (ko) * | 2004-11-17 | 2007-02-02 | 삼성전자주식회사 | 사용자 바인딩을 이용한 홈 네트워크에서의 콘텐츠 전송방법 |
CN1290349C (zh) * | 2004-11-30 | 2006-12-13 | 北京中星微电子有限公司 | 一种具有数字版权保护和认证的移动通信系统及方法 |
EP1672831A1 (fr) | 2004-12-16 | 2006-06-21 | Nagravision S.A. | Méthode de transmission de données numériques dans un réseau local |
KR100694104B1 (ko) | 2005-02-23 | 2007-03-12 | 삼성전자주식회사 | 라운드 트립 시간을 측정하는 방법 및 이를 이용한 인접성검사 방법 |
WO2006095335A2 (en) | 2005-03-07 | 2006-09-14 | Noam Camiel | System and method for a dynamic policies enforced file system for a data storage device |
KR100636232B1 (ko) | 2005-04-29 | 2006-10-18 | 삼성전자주식회사 | 해시 체인을 이용하여 디바이스들간의 인접성을 검사하는방법 및 장치 |
US20060294580A1 (en) | 2005-06-28 | 2006-12-28 | Yeh Frank Jr | Administration of access to computer resources on a network |
US8239682B2 (en) * | 2005-09-28 | 2012-08-07 | Nl Systems, Llc | Method and system for digital rights management of documents |
WO2007043015A2 (en) | 2005-10-13 | 2007-04-19 | Koninklijke Philips Electronics N.V. | Improved proximity detection method |
KR100736080B1 (ko) * | 2005-10-27 | 2007-07-06 | 삼성전자주식회사 | 다 계층으로 구성된 멀티미디어 스트림의 저작권을 계층별로 관리하는 방법 및 장치 |
KR100828370B1 (ko) | 2006-10-20 | 2008-05-08 | 삼성전자주식회사 | Drm 컨텐츠 및 라이센스 제공 방법 및 장치, 그리고drm 컨텐츠 사용 방법 및 장치 |
US8230100B2 (en) * | 2007-07-26 | 2012-07-24 | Realnetworks, Inc. | Variable fidelity media provision system and method |
US7831571B2 (en) * | 2007-10-25 | 2010-11-09 | International Business Machines Corporation | Anonymizing selected content in a document |
US10230605B1 (en) | 2018-09-04 | 2019-03-12 | Cisco Technology, Inc. | Scalable distributed end-to-end performance delay measurement for segment routing policies |
-
2006
- 2006-10-18 EA EA200901153A patent/EA200901153A1/ru unknown
- 2006-10-18 BR BRPI0617490-6A patent/BRPI0617490A2/pt not_active Application Discontinuation
- 2006-10-18 US US11/583,693 patent/US8776216B2/en not_active Expired - Fee Related
- 2006-10-18 EA EA200801117A patent/EA012918B1/ru not_active IP Right Cessation
- 2006-10-18 KR KR1020087011852A patent/KR101248296B1/ko not_active IP Right Cessation
- 2006-10-18 US US11/583,646 patent/US20070100768A1/en not_active Abandoned
- 2006-10-18 KR KR1020127015783A patent/KR101285946B1/ko active IP Right Grant
- 2006-10-18 JP JP2008536800A patent/JP2009512096A/ja not_active Withdrawn
- 2006-10-18 KR KR1020117030396A patent/KR101285024B1/ko active IP Right Grant
- 2006-10-18 CA CA002626244A patent/CA2626244A1/en not_active Abandoned
- 2006-10-18 EP EP09156727A patent/EP2124164A3/en not_active Withdrawn
- 2006-10-18 US US11/583,671 patent/US8688583B2/en active Active
- 2006-10-18 AP AP2008004453A patent/AP2008004453A0/xx unknown
- 2006-10-18 EP EP06826285A patent/EP1943603A2/en not_active Ceased
- 2006-10-18 AU AU2006304655A patent/AU2006304655B2/en not_active Ceased
- 2006-10-18 CN CN201210218731.4A patent/CN102882677B/zh not_active Expired - Fee Related
- 2006-10-18 CN CN201110009994XA patent/CN102073819B/zh not_active Expired - Fee Related
- 2006-10-18 US US11/583,695 patent/US20070172041A1/en not_active Abandoned
- 2006-10-18 WO PCT/US2006/040898 patent/WO2007047846A2/en active Application Filing
- 2006-10-18 EP EP09156631.5A patent/EP2090998B1/en active Active
- 2006-10-18 EP EP09156702A patent/EP2128780A3/en not_active Ceased
- 2006-10-18 US US11/583,622 patent/US20070185815A1/en not_active Abandoned
-
2008
- 2008-04-17 IL IL190957A patent/IL190957A/en not_active IP Right Cessation
-
2012
- 2012-03-22 JP JP2012066252A patent/JP5357292B2/ja not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002073861A (ja) * | 2000-08-24 | 2002-03-12 | Matsushita Electric Ind Co Ltd | 情報配信制御方法 |
JP2005517222A (ja) * | 2001-05-31 | 2005-06-09 | コンテントガード ホールディングズ インコーポレイテッド | 権利を文書へ階層的に割り当てる方法および装置、並びにそのような権利を有する文書 |
JP2004234238A (ja) * | 2003-01-29 | 2004-08-19 | Nec Corp | 情報共有方法、装置、およびプログラム |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102654259B1 (ko) * | 2023-08-14 | 2024-04-04 | 광운대학교 산학협력단 | 온라인 및 오프라인 유통을 위한 암호화 기반 콘텐츠 서비스 시스템 |
Also Published As
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5357292B2 (ja) | デジタル著作権管理エンジンのシステムおよび方法 | |
US9626667B2 (en) | Digital rights management engine systems and methods | |
US20160224768A1 (en) | Digital Rights Management Engine Systems and Methods | |
EP1455479B1 (en) | Enrolling/sub-enrolling a digital rights management (DRM) server into a DRM architecture | |
AU2004200468B2 (en) | A method, system and computer-readable storage for a licensor to issue a digital license to a requestor | |
US8719171B2 (en) | Issuing a publisher use license off-line in a digital rights management (DRM) system | |
CN101490686B (zh) | 数字权利管理的方法 | |
Abbadi | Digital rights management for personal networks | |
EP1805570A1 (en) | Methods for improved authenticity and integrity verification of software and devices capable for carrying out the methods | |
MX2008005060A (en) | Methods for digital rights management |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20130730 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20130829 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5357292 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
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 |