NO339560B1 - Fremgangsmåter for sikre mediabaner, systemer, samt arkitekturer - Google Patents
Fremgangsmåter for sikre mediabaner, systemer, samt arkitekturer Download PDFInfo
- Publication number
- NO339560B1 NO339560B1 NO20151474A NO20151474A NO339560B1 NO 339560 B1 NO339560 B1 NO 339560B1 NO 20151474 A NO20151474 A NO 20151474A NO 20151474 A NO20151474 A NO 20151474A NO 339560 B1 NO339560 B1 NO 339560B1
- Authority
- NO
- Norway
- Prior art keywords
- components
- data
- authenticators
- content
- authenticator
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims description 76
- 230000008569 process Effects 0.000 claims description 38
- 238000012545 processing Methods 0.000 claims description 35
- 238000009877 rendering Methods 0.000 claims description 17
- 238000004891 communication Methods 0.000 claims description 15
- 238000013519 translation Methods 0.000 claims description 7
- 230000001010 compromised effect Effects 0.000 claims description 6
- 238000012795 verification Methods 0.000 claims description 4
- 230000001419 dependent effect Effects 0.000 claims description 3
- 239000000306 component Substances 0.000 description 130
- 230000008901 benefit Effects 0.000 description 8
- 230000007246 mechanism Effects 0.000 description 8
- 238000010586 diagram Methods 0.000 description 7
- 108091007065 BIRCs Proteins 0.000 description 6
- 239000000872 buffer Substances 0.000 description 6
- 238000007726 management method Methods 0.000 description 5
- 230000003287 optical effect Effects 0.000 description 5
- 230000006870 function Effects 0.000 description 4
- 239000000203 mixture Substances 0.000 description 3
- 230000002093 peripheral effect Effects 0.000 description 3
- 229920001690 polydopamine Polymers 0.000 description 3
- 241001125929 Trisopterus luscus Species 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000005055 memory storage Effects 0.000 description 2
- 241000713321 Intracisternal A-particles Species 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 239000008358 core component Substances 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000011143 downstream manufacturing Methods 0.000 description 1
- 238000000802 evaporation-induced self-assembly Methods 0.000 description 1
- 238000003384 imaging method Methods 0.000 description 1
- 239000003999 initiator Substances 0.000 description 1
- 238000003780 insertion Methods 0.000 description 1
- 230000037431 insertion Effects 0.000 description 1
- NUHSROFQTUXZQQ-UHFFFAOYSA-N isopentenyl diphosphate Chemical compound CC(=C)CCO[P@](O)(=O)OP(O)(O)=O NUHSROFQTUXZQQ-UHFFFAOYSA-N 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000007781 pre-processing Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000001131 transforming effect Effects 0.000 description 1
- 238000010200 validation analysis Methods 0.000 description 1
- 230000003442 weekly effect Effects 0.000 description 1
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/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/0457—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 wherein the sending and receiving network entities apply dynamic encryption, e.g. stream encryption
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/14—Protection against unauthorised use of memory or access to memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
-
- 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]
-
- 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/106—Enforcing content protection by specific content processing
- G06F21/1063—Personalisation
-
- 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/126—Applying verification of the received information the source of the received data
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/435—Processing of additional data, e.g. decrypting of additional data, reconstructing software from modules extracted from the transport stream
- H04N21/4353—Processing of additional data, e.g. decrypting of additional data, reconstructing software from modules extracted from the transport stream involving decryption of additional data
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/44—Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
- H04N21/4405—Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving video stream decryption
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/44—Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
- H04N21/4408—Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving video stream encryption, e.g. re-encrypting a decrypted video stream for redistribution in a home network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/443—OS processes, e.g. booting an STB, implementing a Java virtual machine in an STB or power management in an STB
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/80—Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
- H04N21/83—Generation or processing of protective or descriptive data associated with content; Content structuring
- H04N21/835—Generation of protective data, e.g. certificates
-
- 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/2105—Dual mode as a secondary aspect
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Signal Processing (AREA)
- Multimedia (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- Computing Systems (AREA)
- Computer Networks & Wireless Communication (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Technology Law (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Mathematical Physics (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
- Storage Device Security (AREA)
- Communication Control (AREA)
- Mobile Radio Communication Systems (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Television Signal Processing For Recording (AREA)
Description
Foreliggende oppfinnelse vedrører fremgangsmåter og systemer for prosessering av gjengivbare digitale data, så som videodata, lyd/videodata og liknende. Spesielt vedrører oppfinnelsen fremgangsmåter og systemer for å beskytte digitale data.
WO 01/52020 A1 vedrører offentliggjøring eller frigjøring av dekryptert digitalt innhold til en autentisert bane.
Det å beskytte eierskapet til digitalt innhold, så som multimedia-innhold og liknende, og bruksrettighetene for autoriserte brukere av slikt innhold, har over de senere år blitt meget viktig. Viktigheten av det å beskytte slikt innhold vil nødvendig-vis fortsette å vokse etter hvert som innholdet blir enklere å distribuere, spesielt i datanettverksmiljøer så som Internett.
Det er mange scenarier som kan dra fordeler av og vokse frem fra teknikker for å beskytte innhold. Foreksempel kan leverandører av film-innhold på en enklere måte selge innhold direkte til individer når leverandørene er sikre på at deres innhold vil være beskyttet. I tillegg kan brukere på en enklere og mer hensiktsmessig måte motta innhold fra abonnement-type tjenester (så som kabel TV leverandører, pay-per-view digitale satellitter og liknende). Videre kan brukere lagre og spille av innhold ved et senere tidspunkt eller lage kopier til seg selv, mens det fortsatt sikres at innholdseierens rettigheter fortsatt opprettholdes. I tillegg kan brukere skape sitt eget innhold og vite at de kan begrense hvem som kan se det. For eksempel vil en bruker kunne legge ut private hjemmevideoer på et web-område og kun tillate andre familiemedlemmer å se det i en begrenset tidsperiode.
Når innhold sendes til en anordning og spilles for en bruker, er det typisk nød-vendig med en veldefinert arkitektur (med både programvare- og maskinvare-komponenter) for å koordinere avspillingen og for å sikre at digitale rettigheter er beskyttet og blir overholdt. Ofte overføres beskyttet innhold til en brukers anordning (f.eks. en beregningsanordning, en set-top boks og liknende) fra en innholdskilde så som en video-webtjener eller også fra en lokal diskstasjon. Innholdet kan typisk være innkodet eller komprimert og kryptert hos innholdskilden. Senere dekrypterer brukerens anordning innholdet, dekomprimerer det og viser frem eller på annen måte gjengir innholdet for brukeren på, for eksempel, en monitor og/eller høyttalere.
Innhold blir typisk beskyttet ved anvendelse av DRM (Digital-Rights-Manage-ment)-teknikker som fortløpende utvides og utvikles. DRM-teknikker anvender typisk programvare som muliggjør sikker distribusjon og, kanskje enda viktigere, hindrer illegal distribusjon av betalt innhold over et nettverk så som Internett. Nåværende DRM-utvikling har fokusert primært på å sikre lyd-innhold. Etter hvert som nettverkenes båndbredde øker, vil imidlertid det å distribuere video direkte til sluttbrukere bli teknisk effektivt og mulig. Verdifullt digitalt innhold blir også mer og mer tilgjengelig via andre kilder så som digitalt TV, digital kabel eller via digitale medier.
I fremtiden vil det måtte finnes arkitekturer som gjør det mulig for en bruker å oppnå digitalt innhold og som hindrer omgåelse og uautorisert aksess fra både brukere og av fiendtlige entiteter. Samtidig må arkitekturene være fleksible nok til å tillate legitim aksess til enhver klarert komponent, må tillate nye applikasjoner, programvarekomponenter og maskinvareanordninger å bli anvendt med beskyttet innhold, arbeide med flere forskjellige typer medier samt tilveiebringe en mekanisme for å autentisere og spille av innhold på fjernlokaliserte maskinvareanordninger så som håndholdte PDA-enheter, spille til fjernlokaliserte høyttalere, og liknende.
Arkitekturer må også være fleksible og tilstrekkelig abstrahert slik at kun de nederste lagene i infrastrukturen trenger å være klarerte, og med det tillate ikke-klarerte applikasjoner å spille av beskyttet innhold uten kunnskap om at det er beskyttet.
Følgelig tilveiebringes denne oppfinnelsen av hensyn assosiert med det å tilveiebringe forbedrede fremgangsmåter og systemer for å prosessere gjengivbare digitale data på en måte som tilveiebringer en ønsket grad av fleksibel sikkerhet.
Hovedtrekkene ved den foreliggende oppfinnelse fremgår av de selvstendige patentkrav. Ytterligere trekk ved oppfinnelsen er angitt i de uselvstendige krav. Fremgangsmåter, systemer og arkitekturer for prosessering av gjengivbare digitale data er beskrevet. De forskjellige utførelsesformene kan beskytte mot uautorisert tilgang til eller duplisering av ubeskyttet innhold (dvs. dekryptert innhold) straks innholdet har nådd en rendringsanordning så som en brukers datamaskin. Et fleksibelt rammeverk omfatter en arkitektur som gjør det mulig for generelle mediakilder å tilveiebringe praktisk talt en hvilken som helst type multimediainnhold til en hvilken som helst passende innrettet rendringsanordning. Innhold kan beskyttes og gjengis lokalt og/eller over nettverk, så som Internett.
Arkitekturen ifølge oppfinnelsen kan gjøre det mulig for tredjeparter å skrive komponenter og for komponentene på en sikker og fleksibel måte å bli innlemmet i en prosesseringskjede. Komponentene kan bli verifisert av én eller flere autentifika torer som blir opprettet og deretter anvendt for å gå gjennom kjeden av komponenter for å verifisere at komponentene er pålitelige. De forskjellige utførelsesformene kan således tilveiebringe en standard plattform som kan utvides til å beskytte innhold på tvers av et bredt spekter av rendringsmiljøer, innholdstyper og DRM-teknikker. Figur 1 er et høynivå blokkdiagram av et system i hvilket forskjellige prinsipper ifølge oppfinnelsen kan bli anvendt. Figur 2 er et blokkdiagram av et eksempel på datamiljø i hvilket prinsipper i den beskrevne utførelsesformen kan bli implementert. Figur 3 er et blokkdiagram som illustrerer et eksempel på system som kan anvendes for å implementere én eller flere av utførelsesformene. Figur 3a er et flytdiagram som illustrerer trinn i en fremgangsmåte ifølge én utførelsesform. Figur 4 er et blokkdiagram som illustrerer et eksempel på system som kan anvendes for å implementere én eller flere av utførelsesformene. Figur 5 er et blokkdiagram som illustrerer aspekter ved en autentiseringsmodell ifølge én utførelsesform. Figur 6 er et blokkdiagram som illustrerer et eksempel på system som kan anvendes for å implementere én eller flere av utførelsesformene i forbindelse med et nettverksmiljø. Figur 7 er et blokkdiagram som illustrerer et eksempel på system som kan anvendes for å implementere én eller flere av utførelsesformene i forbindelse med et nettverksmiljø.
Fremgangsmåtene, systemene og arkitekturene beskrevet nedenfor er rettet mot det å tilveiebringe en beskyttet mediabane fra en kilde for beskyttet innhold (f.eks. en DRM-tjener, DVD-tjener (vanligvis en DVD-diskstasjon), HDTV-tjener (vanligvis en TV-stasjon som kringkaster til et avstemningskort i en PC) eller en hvilken som helst gitt type innholdstjener) til og gjennom en anordning (inklusive an-ordningens programvare og maskinvare) som kan gjengi eller på annen måte spille av det beskyttede innholdet for en bruker.
Figur 1 viser et eksempel. Der omfatter et system 100 et antall forskjellige typer kilder for eller leverandører av beskyttet innhold, så som en DVD-tjener 102, en innholdstjener 104 (for eksempel en som kan tilveiebringe lyd-innhold, lyd/videoinnhold og liknende), en HDTV-tjener 106 samt en lokal harddisk 116, for å nevne noen. Innholdsleverandørene er innrettet for å tilveiebringe sine innhold via forskjellige medier som kan omfatte nettverk så som nettverk 108, 110, 112 og 118, busser (så som PCI- og AGP-busser) og liknende. Innholdet blir typisk tilveiebrakt til en eller annen type anordning som kan presentere innholdet for en bruker. Eksempler på anordninger omfatter, uten begrensning, en personlig datamaskin 114, en håndholdt PC 120, et fjernsyn 122 med, for eksempel, en set-top boks 124, og liknende.
I beskrivelsen nedenfor er mål-maskinvaren for slikt innhold i én utførelses-form en lokal PC som inneholder et beskyttet videokort, og i andre utførelsesformer en fjernlokalisert, håndholdt anordning så som en håndholdt datamaskin. Det må innses og forstås at disse eksemplene kun er ment for å illustrere noen få, eksempelvise utførelsesformer der de oppfunnede prinsippene beskrevet her kan bli anvendt. Følgelig kan andre typer anordninger anvendes innenfor idéen bak og rammen til det krevede temaet.
Fremgangsmåtene, systemene og arkitekturene beskrevet nedenfor kan være rettet mot håndtering av forskjellige typer innholdsformater, mange av hvilke kan ha spesifikke DRM-(digital-rights-management)-egenskaper som kan omfatte, i mange tilfeller, sin egen rettighetsforvaltning og kryptering. Dette kan i betydelig grad øke den fleksibiliteten og robustheten med hvilken innhold kan bli beskyttet. Følgelig kan det å ha en fleksibel arkitektur unngå en situasjon der alt innhold nødvendigvis må være bundet til én spesifikk type DRM-format. I én eller flere av utførelsesformene som er beskrevet nedenfor er således ett fordelaktig særtrekk ved arkitekturen det at tredjeparter kan skrive og tilveiebringe oversettelsesmoduler som kan bli importert til arkitekturen og deretter bli anvendt for å avbilde til et felles rettighetsforvaltnings- og krypteringssystem som kan sikre at arkitekturiske komponenter er pålitelige og verifiserte.
I tillegg kan utførelsesformene beskrevet nedenfor omfatte én eller flere av følgende særtrekk og/eller fordeler. En autentikatormekanisme er tilveiebrakt og kan bli generalisert til en rekursiv algoritme som følger strømmen av data. I enkelte utførelsesformer blir en initiell autentikator tilveiebrakt og begynner å autentisere kjeden av komponenter som skal håndtere beskyttede data. Ytterligere autentikatorer kan bli opprettet langs kjeden, og kan etablere en sikker kanal gjennom hvilken de kan kommunisere. Autentikatorene trenger ikke initielt å ha kunnskap om strukturen til dataformatet for å utføre sine autentiseringfunksjoner. Forskjellige utførelsesformer kan anvende annulleringslister som kan hindre anvendelse av kjente komponenter som har blitt kompromittert. Videre, i noen utførelsesformer, er direkte autentisering av maskinvare og kryptering for maskinvareanordninger mulig. Det kan konstrueres forskjellige utførelsesformer for å jobbe med ikke-klarerte applikasjoner. I dette tilfellet kan data være beskyttet fra den ikke-klarerte applikasjonen, men kan likevel bli prosessert i komponentkjeden av klarerte og verifiserte komponenter. Autoriserte applikasjoner, så som de som er klarerte, kan gis tilgang til dataene. Dette er nyttig for å gjøre det mulig for applikasjoner å manipulere data så som å visualisere eller modifisere dataene.
Forskjellige utførelsesformer kan bli implementert i forbindelse med fjernlokaliserte anordninger som kan gjengi data over forskjellige busser, nettverk og liknende, med full støtte for autentisering og kryptering. Dette kan gjøre det mulig for en vert å utføre mesteparten av preprosesseringen og grensesnittstyringen, slik at den fjernlokaliserte anordningen (f.eks. en PDA) bare trenger å vise dataene. I tillegg kan forskjellige utførelsesformer prosessere beskyttet innhold fra en rekke forskjellige kilder. Nærmere bestemt kan beskyttet innhold bli produsert av både lokale anordninger (f.eks. en DVD-stasjon, videokameraer, TV-avstemningsenheter, digital kabel) og fjernlokaliserte kilder (så som en web- eller videotjener). Videre kan dataprosesseringskjeder gjenbrukes i andre dataprosesseringskjeder. For eksempel kan nesten alle komponentene som blir anvendt for å spille av sikret lyd gjenbrukes for å beskytte lydsporet i et videoklipp.
Disse og andre fordeler vil være åpenbare i lys av den etterfølgende beskrivelsen.
Utførelsesformene kan prosessere enhver strøm av data, og er ikke spesifikt bundet til kun video- eller lyd-data. Utførelsesformene kan således anvendes for å beskytte andre dataformater.
Eksempel på datasystem
Figur 2 illustrerer et eksempel på et egnet datasystemmiljø 200 i hvilket systemet og de relaterte fremgangsmåtene beskrevet nedenfor kan bli anvendt.
Det må forstås at datamiljøet 200 er kun ett eksempel på et egnet datamiljø, og er ikke ment for å legge begrensninger på omfanget av mediaprosesseringssys-temets bruksområde eller funksjonalitet. Heller ikke skal datamiljøet 200 forstås å ha noen som helst avhengighet av eller krav vedrørende noen komponenter eller kombinasjoner av komponenter som er illustrert i det eksempelvise datamiljøet 200.
De forskjellige beskrevne utførelsesformene kan være operative med en rekke forskjellige andre generelle eller spesialiserte datamiljøer eller -konstruksjoner. Eksempler på velkjente datamaskinsystemer, -miljøer og/eller -konstruksjoner som kan være egnet for anvendelse med mediaprosesseringssystemet omfatter, men er ikke begrenset til, personlige datamaskiner, tjener-datamaskiner, tynne klienter, tykke klienter, håndholdte anordninger eller laptop-anordninger, flerprosessorsystemer, mikroprosessorbaserte systemer, set-top bokser, programmerbar for-brukerelektronikk, personlige datamaskiner i nettverk, minidatamaskiner, stormas-kiner, distribuerte datamiljøer som omfatter hvilke som helst av de ovennevnte systemer eller anordninger, og liknende.
I visse implementeringer kan systemet og de relaterte fremgangsmåtene beskrives i den generelle sammenhengen datamaskin-eksekverbare instruksjoner, så som programmoduler, som eksekveres av en datamaskin. Programmoduler omfatter generelt rutiner, programmer, objekter, komponenter, datastrukturer, etc. som utfører konkrete oppgaver eller implementerer spesifikke abstrakte datatyper. Utførelsesformene kan også anpasses for distribuerte beregningsmiljøer der oppgaver utføres av fjernprosesseringsanordninger som er forbundet via et kommunika-sjonsnettverk. I et distribuert beregningsmiljø kan progamvaremoduler være lokalisert i både lokale og fjerntliggende datalagringsmedier, inklusive minnelagrings-anordninger.
I det illustrerte utførelseseksempelet i figur 2 er datasystemet 200 vist omfattende én eller flere prosessorer eller prosesseringsenheter 202, et systemminne 204 og en buss 206 som forbinder forskjellige systemkomponenter inklusive systemminnet 204 med prosessoren 202.
Bussen 206 er ment å representere én eller flere blant flere typer tilgjengelige busstrukturer, inklusive en minnebuss eller minnekontroller, en periferienhet-buss, en akselerert grafikkport og en prosessor eller lokal buss som anvender en hvilken som helst blant en rekke mulige bussarkitekturer. Som eksempler, og uten begrensning, omfatter slike arkitekturer en ISA (Industry-Standard-Architecture)-buss, en MCA (Micro-Channel-Architecture)-buss, en EISA (Enhanced ISA)-buss, en lokal VESA (Video-Electronics-Standards-Associate)-buss, og en PCI (Peripheral-Component-lnterconnect)-buss, også kjent som en Mezzanine-buss.
Datamaskinen 200 omfatter typisk flere datamaskinlesbare medier. Slike medier kan være et hvilket som helst tilgjengelig medium som er lokalt og/eller fjern-aksesserbart for datamaskinen 200, og den omfatter både volatile og ikke-volatile medier, flyttbare og ikke-flyttbare medier.
I figur 2 omfatter systemminnet 204 datamaskinlesbare medier i form av volatilt minne, så som et direkteaksessminne (RAM) 210, og/eller ikke-volatilt minne, så som et leseminne (ROM) 208. Et BIOS (basic input/output system) 212, som inneholder de grunnleggende rutinene som bidrar til å overføre informasjon mellom elementer i datamaskinen 200, for eksempel under oppstart, er lagret i ROM 208. RAM 210 inneholder typisk data og/eller programmoduler som er umiddelbart tilgjengelige for og/eller som opereres på av prosesseringsenheten(e) 202.
Datamaskinen 200 kan videre omfatte andre flyttbare/ikke-flyttbare, volatile/ikke-volatile datamaskin-lagringsmedier. Kun som et eksempel illustrerer figur 2 en harddiskstasjon 228 for å lese fra og skrive til et ikke-flyttbart, ikke-volatilt magnetisk medium (ikke vist, og typisk kalt en "harddisk"), en magnetdiskstasjon 230 for å lese fra og skrive til en flyttbar, ikke-volatil magnetdisk 232 (for eksempel en "diskett") og en optisk-disk stasjon 234 for å lese fra eller skrive til en flyttbar, ikke-volatil optisk disk 236 så som et CD-ROM, DVD-ROM eller et annet optisk medium. Harddiskstasjonen 228, magnetdiskstasjonen 230 og optisk-disk stasjonen 234 er hver koplet til bussen 206 via ett eller flere grensesnitt 226.
Stasjonene og deres assosierte datamaskinlesbare medier tilveiebringer ikke-volatil lagring av datamaskinlesbare instruksjoner, datastrukturer, programmoduler og andre data for datamaskinen 200. Selv om det eksemplifiserte miljøet som er beskrevet her omfatter en harddisk228, en flyttbar magnetdisk 232 og en flyttbar optisk disk 236, vil fagmannen forstå at andre typer datamaskinlesbare medier som kan lagre data som kan aksesseres av en datamaskin, så som magnetkassetter, flash-minnekort, digitale videodisker, RAM, ROM og liknende, også kan anvendes i det eksemplifiserte operasjonsmiljøet.
Et antall programmoduler kan være lagret i harddisken 228, magnetdisken 232, den optiske disken 236 , ROM 208 eller RAM 210, omfattende, som ikke-be-grensende eksempler., et operativsystem 214, ett eller flere applikasjonsprogrammer 216 (f.eks. et multimedia-applikasjonsprogram 224), andre programmoduler 218 og programdata 220. En bruker kan sende inn kommandoer og informasjon til datamaskinen 200 via inndataanordninger så som tastatur 238 og pekeranordning 240 (så som en "mus"). Andre inndataanordninger kan omfatte én eller flere lyd/video-innmatingsanordninger 253, en mikrofon, styrespak, spillkontroll, parabolan-tenne, serieport, skanner eller liknende (ikke vist). Disse og andre inndataanordninger er koplet til prosesseringsenheten(e) 202 via inndatagrensesnitt 242 som er koplet til bussen 206, men kan være tilkoplet via andre grensesnitts- og busstrukturer, så som en parallellport, en spillutgang eller en universell seriell buss
(USB).
En monitor 256 eller en annen type skjermanordning er også koplet til bussen 206 via et grensesnitt, så som et skjermkort eller skjerm/grafikk-kort 244. I tillegg til monitoren omfatter personlige datamaskiner typisk andre periferi-utmatings-anordninger (ikke vist), så som høyttalere og skrivere, som kan være tilkoplet via et periferienhet-utmatingsgrensesnitt 246.
Datamaskinen 200 kan operere i et nettverksmiljø ved anvendelse av logiske forbindelser til én eller flere fjerndatamaskiner, så som en fjerndatamaskin 250. Fjerndatamaskinen 250 kan omfatte mange av eller alle de elementene og mekanismene som er beskrevet her i forbindelse med en datamaskin.
Som vist i figur 2 er datasystemet 200 koplet for kommunikasjon med fjernlokaliserte anordninger (f.eks. fjerndatamaskinen 250) via et lokalt nettverk (LAN) 251 og et generelt fjernaksessnett (WAN) 252. Slike nettverksmiljøer er vanlige i kontorer, bedriftsomspennende datanettverk, intranett og Internett.
Når den anvendes i et LAN-miljø, er datamaskinen 200 koplet til LAN 251 via et egnet nettverksgrensesnitt eller nettverkskort 248. Når den anvendes i et WAN-miljø, omfatter datamaskinen 200 typisk et modem 254 eller andre anordninger for å etablere kommunikasjon over WAN 252. Modemet 254, som kan være internt eller eksternt, kan være koplet til systembussen 206 via brukerinnmatingsgrensesnittet 242 eller en annen dertil egnet mekanisme.
I et nettverksmiljø kan programmoduler som er vist i forbindelse med den personlige datamaskinen 200, eller deler av disse, være lagret i en fjernlokalisert minnelagringsanordning. Som et eksempel, og uten begrensning, illustrerer figur 2 fjernlokaliserte applikasjonsprogrammer 216 som lokalisert i en minneanordning i fjerndatamaskinen 250. En vil forstå at de viste og beskrevne nettverksforbindelsene kun er eksempler, og at det kan anvendes andre mekanismer for å etablere en kommunikasjonslink mellom datamaskinene.
Utførelseseksempler
Figur 3 illustrerer et eksempel på kjede av komponenter som er nyttig for å forstå forskjellige av de oppfunnede prinsipper som er beskrevet her. Et overordnet mål med systemet i figur 3 er å kunne motta krypterte data eller kryptert innhold og DRM-data fra én eller flere kilder, avbilde dataene til et felles system, og deretter kunne ha en lisens som spesifiserer at dataene eller innholdet krever en beskyttet mediabane. Deretter må systemet være i stand til å verifisere at de av systemets komponenter som utgjør databanen er pålitelige. Ett aspekt ved de beskrevne utførelsesformene er at arkitekturen kan forenkle det å håndtere flere forskjellige typer komponenter, og kan anvendes i forbindelse med mange forskjellige typer komponenter. Det vil si at arkitekturen ikke trenger å være uoppløselig bundet til spesifikke komponenter for effektivt å være i stand til å prosessere og gjengi beskyttet innhold.
Beskrivelsen som følger gir et tildels høynivå, funksjonelt overblikk over et system som omfatter forskjellige oppfunnede prinsipper ifølge én utførelsesform. Mer detaljerte aspekter ved et systemeksempel er beskrevet i seksjonen med tittelen "Implementasjonseksempel - utførelsesform med lokal anordning" nedenfor.
Det illustrerte systemet kan effektivt deles inn i seks komponenter for det formål å forstå forskjellige oppfunnede prinsipper, som hver blir diskutert mer i detalj nedenfor: ■ En innholdskilde-komponent og dens forbindelse til en lisenstjener (f.eks. innholdskilde 300); ■ En klientkomponent og assosierte komponenter for å dekryptere dataene og prosessere innholdsspesifikasjoner som inneholder DRM-innhold (f.eks. klient 304); ■ En de-multiplekser, dekodere samt data re-kryptografer (f.eks. demultiplekser 306, dekoder 308 og kryptograf 310); ■ En applikasjon for å prosessere og mikse datastrømmer (f.eks. applikasjon 312); ■ Én eller flere rendringsenheter som setter opp maskinvarekryptering og fordele fremvisningen av dataene (f.eks. rendringsenhet 314); og
Maskinvare for å dekryptere og gjengi dataene (f.eks. rendrings-maskinvare 316).
I tillegg til de ovenfor listede elementene, gjør det illustrerte systemet også bruk av flere forskjellige autentikatorer som blir opprettet under en verifikasjonsprosess for effektivt å bekrefte at komponenter som utgjør systemet er pålitelige. Dette kan gjøres ved å verifisere digitale signaturer som er innlemmet i komponentene. I dette eksempelet er det tre autentikatorer - en primær autentikator 318, og to sekundære autentikatorer 320, 322. Merk at autentikatorene 318 og 320 er brukermodus-autentikatorer, og anvendes følgelig for å verifisere brukermodus-komponenter. Autentikatoren 322, på den annen side, er en kjernemodus-autentikator, og anvendes for å verifisere kjernemodus-komponenter.
Videre kan systemet anvende et oversetterprogram så som et oversetterprogram 302. Oversetterprogrammet 302 kan anvendes for å oversette innhold og lisens-data fra ett DRM-format til ett som systemet forstår. Nærmere bestemt er én av fordelene ved systemet som skal beskrives det at systemet kan konfigureres for å jobbe med forskjellige, såkalte "fremmede" DRM-formater som systemet internt ikke forstår. Spesifikt kan oversetterkomponenter for eksempel bli skrevet av tredjeparter som gjør det mulig å anvende forskjellige DRM-formater med en felles arkitektur. På denne måten kan systemet tilveiebringes med en grad av fleksibilitet som spenner over et bredt spekter av kjente eller senere utviklede DRM-formater.
Innholdskilde
I dette konkrete eksempelet er innholdskilde-komponenter, så som innholdskilden 300, ansvarlige for å lese eventuelle kjente DRM-kilder (dvs. kilder som det forstår) eller oversette fremmede DRM-formater til et DRM-format det forstår. Sistnevnte oppgave kan utføres ved hjelp av oversetterprogrammet 302 som kan, men ikke trenger, utgjøre en del av innholdskilden. Oversetterprogrammet 302 kan anvendes for å mel lom kryptere innholdet og lisensen til et forståelig DRM-format.
Lokale anordninger som tilveiebringer DRM-innhold (så som en DTV-mottaker) kan oversette krypteringssystemet og lisensbegrensningene til et forståelig DRM-format. En driver assosiert med slike anordninger kan utstedes en signatur for at den skal kunne generere DRM-innholdet. Dens lisens kan da spesifisere en avhengighet av en fjernlokalisert lisenstjener, slik at annulleringslister kan bli oppdatert. Annulleringslister kan typisk være tilveiebrakt for å gjøre det mulig for systemet å fastslå hvilke komponenter som har blitt kompromittert. For eksempel kan en lisens kreve en ukentlig annulleringsliste som kan bufres lokalt.
Klient og autentikatorer
Klient 304 mottar typisk kryptert innhold og en lisens som kan være inkludert som del av en spesifikasjon som klienten mottar. Spesifikasjonen kan typisk beskrive de komponentene av en rendrings-prosessrekke som er nødvendige for å gjengi innholdet. Lisensen kan også omfatte ytterligere informasjon så som det nivå av sikkerhet som innholdet krever. Dette er diskutert mer i detalj nedenfor.
Spesifikasjonen kan også angi typen autentikatorer som må anvendes for å verifisere komponenter i rendrings-prosessrekken. Alternativt kan spesifikasjonen kreve visse typer autentikatorer, og kan da avhenge av de andre komponentene i prosessrekken, så som rendrerne, for å opprette motsvarende autentikatorer, så som en lyd og video kjerne-autentikator.
Etter å ha satt opp en nettverksforbindelse eller lagringskilde, kan innholdskilden instruere klienten 304 om å binde seg i henhold til lisensen. Innholdskilden kan også sette opp hvilken som helst kilde-relatert informasjon for anvendelse av klienten eller andre komponenter for å lette bindingsprosessen. Når lisensen er bundet, kan klienten opprette én eller flere autentikatorer (f.eks. video- og lyd-autentikator) så som autentikator 318. Klienten kan sende lisenskrav til autentikatoren straks den er instansiert.
Autentikatoren(e) kan deretter "gå" gjennom komponentene i prosessrekken for å verifisere signaturer for komponenter som håndterer ukrypterte data. For eksempel, i det illustrerte systemet, kan klienten 304 bli autentisert av en sikker tjener, hvorpå klienten kan opprette autentikatoren 318. Når den er generert, kan autentikatoren 318 verifisere at de-multiplekseren 306, dekoderen 308 og kryptereren alle er pålitelige.
I tillegg, i dette eksempelet, når data sendes over en buss, eller mellom ikke-autentiserte komponenter (for eksempel ved anvendelse av krypterte forbindelser), eller til kjernen, kan det bli opprettet en sekundær autentikator for å verifisere resten av datastrøm-prosessrekken. I dette eksempelet kan således rendreren 314 opprette en andre autentikator 320 som da verifiserer at rendreren er pålitelig. Autentikatorene 318, 320 kan da sette opp en autentisert, kryptert kanal 319 mellom seg.
Den autentiserte, krypterte kanalen 319 kan anvendes for en rekke forskjellige formål. Foreksempel kan kanalen muliggjøre kommunikasjon mellom vedsiden-liggende autentikatorer. Dette kan for eksempel gjøre det mulig for de sekundære autentikatorene å rapportere tilbake verifikasjonsinformasjon og validering eller andre forespørsler til den opprinnelige autentikatoren. I tillegg bør autentikatorene ha mulighet for å sjekke annulleringslister som beskriver komponenter som har blitt kompromittert og således ikke lenger er klarert. Videre kan den autentiserte, krypterte kanalen anvendes for å sette opp krypteringssesjoner for å kryptere video-og lyddata mellom de klarerte komponentene.
I en fjernlokalisert rendringsanordning som har støtte for maskinvare-dekrypter-ing (så som den som er beskrevet mer i detalj nedenfor), kan det opprettes en andre autentikator for å formidle kryptering og autentisering til den fjernlokaliserte anordningen. Kun en liten, muligens ikke klarert, proxy-komponent trenger å bli tilveiebrakt til den fjernlokaliserte anordningen. Den fjernlokaliserte maskinvaren må da fortsatt identifisere seg, slik at den kan annulleres av den primære autentikatoren.
For videoinnhold kan en generisk lyd-video (AV, audio-video) autentikator verifisere brukermodus-komponentene, og rendreren kan opprette media-spesifikke autentikatorer.
Demultiplekser, dekodere og re- krypterere
Demultiplekser 306 mottar typisk ukrypterte data fra klient 304 og splitter dataene til forskjellige strømmer, så som en lyd- og en videostrøm. Demultiplekseren 306 sender deretter typisk strømmene til én eller flere dekodere, så som dekoderen 308, for ytterligere prosessering. En lyd-dekoder (sammen med en krypterer, så som kryptereren 310) kan rekryptere dataene og sende dem til en applikasjon 312 for prosessering. En videodekoder kan rekryptere dataene, slik at de på en sikker måte kan sendes over en PCI/AGP-buss til skjermkortets direkteaksessminne (VRAM). Videodekoderen kan typisk sende delvis komprimerte (og krypterte) data til skjermkortet og kan modifisere tidsstempelet, omarrangere data og parse topptekst. For eksempel, for en DVD-avspilling, kan dekoderen ekstrahere vektor-nivå dataene og residualer og sende dem til video-maskinvare for prosessering. Dekoderen kan også utføre eventuelle modifikasjoner for å simulere revers avspilling eller variabel hastighet effekter.
Applikasjon og miksing
Applikasjonen 312 kan mikse video- og lyd-strømmer i miksebuffere som tilveiebringes av rendreren/rendrerne. Maskinvaren blir da effektivt tilsendt krypterte buffere fra dekoderen sammen med lister med mikseinstruksjoner. Et stort antall bildeprosesseringsoperasjoner og ikke-lineære videoeffekter er mulige, f.eks. ved å anvende pikselskyggere og vilkårlige polygon-avbildninger. Dersom applikasjonen krever aksess til ukrypterte data, kan den opprette en separat, klarert arbeids-prosess. Applikasjonen blir da effektivt en annen autentisert dekoder, og vil måtte dekryptere dataene, prosessere dem og rekryptere dem for utmating til video-maskinvaren eller den neste prosesseringsenheten.
Rendrere og settere
I dette eksempelet kan rendrerne, så som rendreren 314, formidle krypterings-sesjonene fra dekoderen 308 til skjerm- og lyddriveren (dvs. rendrings-maskinvaren 316). Rendrerne er ansvarlige for synkronisering og maskinvarekonfigurering. Rendreren kan omfatte forskjellige API-funksjoner og kode for brukermodus, så vel som de assosierte operativsystem og driver API-funksjoner.
Straks dataene er overført til til skjermkortets VRAM, kan de eventuelt bli dekryptert og blandet med andre videokilder og deretter kopiert til en andel av minnet (betegnet "skrivebordet" eller "den primære overflaten") som avbildes direkte til en skjerm for brukeren. Systemet med sikre mediabaner som er beskrevet ovenfor og nedenfor må sikre at begge de midlertidige miksebuffrene og skrivebordet er beskyttet mot uautorisert aksess.
Én fremgangsmåte for å opprettholde integriteten til data når de er på skrivebordet er å anvende klarert grafikk-maskinvare. Et eksempel på system er beskrevet i de følgende patentsøknader, beskrivelsene i hvilke inntas herved referanse: "Systems and Methods For Securing Video Card Output", som angir som forfattere Glenn Evans og Paul England og som har Attorney Docket nummer ms1-1115us,
innlevert 24. juni 2002; "Methods and Systems Providing Per Pixel Functionality", som angir som forfattere Glenn Evans og Paul England og som har Attorney Docket nummer ms1-1025us, innlevert 24. juni 2002.
Essensielt, i de systemene som er beskrevet i de nevnte patentsøknadene, blir utdata kryptert i forhold til et vindus origo på skjermen. Når et vindu fysisk beveges, blir enten origo flyttet eller så blir dataene kryptert i forhold til det nye origo. Kun skjerm-maskinvarens DAC er i stand til å dekryptere og vise dataene.
Innholdet kan krypteres direkte til skrivebordet av dekoderen eller mellomkryp-teres ved anvendelse av klarert maskinvare av rendreren når det endelige bildet er satt sammen.
I utførelsesformer der rendrere kjører over et nettverk til en "tynn" klient, kan rendrerne deles i en autentisert lokal komponent og en fjernlokalisert komponent. Komprimerte, krypterte data og manipuleringsinstruksjoner kan sendes over nettverket til den fjernlokaliserte rendreren. Miksing av data kan bli utført hos verten dersom det ikke finnes støtte for fjernlokalisert maskinvare.
Maskinvare for rendring
Grafikk-kortet er ansvarlig for å dekryptere innholds-strømmen, manipulere dataene under anvendelse av en grafikkprosessorenhet (GPU) og vise utdataene. De patentsøknadene som ble inntatt ved referanse ovenfor beskriver én pålitelig maskinvarekonstruksjon som kan anvendes for å prosessere beskyttet innhold.
Kort oppsummert beskriver disse søknadene kryptografisk støtte som kan deles inn i en dekrypterings/krypteringsmotor i GPU-enheten og en komponent som forvalter nøklene (henvist til som "kryptoprosessoren"). Grafikk-maskinvaren kan ha støtte for pikselvis kryptering, slik at VRAM-minnet kan opprettholdes i kryptert tilstand. Hver grafikkoperasjon av GPU-enheten kan da dekryptere den pikselen som er av interesse, prosessere denne på en eller annen måte og rekryptere utdataene. Bildene kan være dekket med krypteringsnøkler slik at hver nøkkelregion effektivt vil passe i hurtigbufrene i GPU-enheten. Utdataene fra video-DAC kan tilveiebringe enten digital beskyttelse eller analog beskyttelse. For fjernlokaliserte skjermer kan fremvisnings-maskinvaren være tilveiebrakt med noen form for dekrypteringsstøtte for å dekryptere dataene som blir sendt over nettverket.
Figur 3a er et flytdiagram som beskriver trinn i en fremgangsmåte ifølge én utførelsesform. Trinnene kan implementeres i enhver egnet maskinvare, program vare, fastvare eller kombinasjon av disse. I det illustrerte eksempelet kan trinnene bli implementert i forbindelse med en programvarearkitektur så som den som er beskrevet ovenfor og nedenfor.
Trinn 354 bestemmer hvorvidt oversettelse av DRM-dataene er nødvendig. I så fall kan trinn 356 oversette DRM-innholdet til en form som forstås av det prosesser-ingssystemet som skal gjengi innholdet. Dette trinnet kan gjennomføres med en separat oversettermodul som, i noen tilfeller, kan være levert av tredjeparts programleverandører. Trinn 350 mottar kryptert innhold som skal beskyttes under en rendringsprosess. Innholdet skal beskyttes i henhold til et DRM-skjema. Innholdet kan være mottatt fra en hvilken som helst passende kilde, eksempler på hvilke er gitt ovenfor. Trinn 352 mottar en spesifikasjon som er assosiert med innholdet. Trinnene 350 og 352 kan bli utført av en passende konfigurert klient, så som klienten 304 (figur 3). Spesifikasjonen spesifiserer krav til beskyttede mediabaner som begrenser den prosessen i hvilken innholdet skal gjengis. Slike krav kan og vil typisk komme i form av en lisens. Spesifikasjonen kan, men trenger ikke, bli mottatt sammen med det krypterte innholdet.
Videre verifiserer trinn 358 at den klientkomponenten som mottar det krypterte innholdet er pålitelig. Dette trinnet kan implementeres av en sikker tjener som for eksempel kan verifisere en digital signatur som er assosiert med klienten. Trinn 360 oppretter en primær autentikator. Dette trinnet kan implementeres av klienten. Trinn 362 samordner én eller flere nedstrøms prosesserings-strøm komponenter til den primære autentikatoren. Dette trinnet kan implementeres av klienten og/eller en hvilken som helst av komponentene nedstrøms. I én utførelsesform forespør den primære autentikatoren klienten vedrørende de komponentene den sender data til, og forespør deretter disse komponentene, og så videre. Trinn 364 autentiserer én eller flere nedstrøms-komponenter med den primære autentikatoren. Dette trinnet kan realiseres ved å verifisere digitale signaturer assosiert med de forskjellige komponentene ved, for eksempel, anvendelse av en sikker tjener.
Trinn 366 bestemmer hvorvidt det er behov for sekundære autentikatorer. En sekundær autentikator kan være nødvendig av en hvilken som helst grunn, eksempler på hvilke er gitt nedenfor. Dersom det ikke er behov for sekundære autentikatorer, skaper ikke trinn 368 noen slike. Dersom det på den annen side er behov for en sekundær autentikator, oppretter trinn 370 en sekundær autentikator og etablerer en sikker kanal mellom autentikatorene. Trinn 372 anvender da den sekundære autentikatoren for å autentisere én eller flere nedstrøms komponenter. Frem-gangsmåten kan da gå tilbake til trinn 366 for å bestemme hvorvidt det er behov for ytterlige sekundære autentikatorer.
Implementasjonseksempel - ( utførelsesform med lokal anordning)
Figur 4 viser et eksempel på system som er innrettet for å prosessere beskyttede medier ifølge én utførelsesform. Systemet er tilsvarende, i noen henseende,
som det systemet som er vist og beskrevet i forbindelse med figur 3. I dette konkrete eksempelet er systemet innrettet for å prosessere lyd/video-data i en lokal anordning. Egnede lokale anordninger kan omfatte en lokal PC, en set-top boks eller en hvilken som helst annen anordning som typisk prosesserer lyd/video-data.
Systemet i figur 4 omfatter en videobane og en lydbane. Videobanen omfatter en kjede av komponenter (f.eks. parsings- og transformeringskomponenter), både brukermodus og kjernemodus, som produserer video som plasseres i et skjermkorts VRAM. Rammebufferen vises på skrivebordet og sendes til en utmatingsanordning via DAC. Det er også tilveiebrakt en lydbane for å prosessere lyd-strømmen.
Systemet i figur 4 omfatter en innholdskilde 400 som tilveiebringer beskyttet innhold. Dette innholdet, som angitt ovenfor, kan typisk være ledsaget av eller assosiert med en lisens, ofte inkludert i en spesifikasjon. Lisensen begrenser typisk bruken av innholdet ved å beskrive slike ting som hvem som kan anvende innholdet og hvordan det skal anvendes. Lisensen kan også spesifisere slike ting som annulleringslister som skal anvendes i forbindelse med innholdet, frekvensen for anvendelse av slike annulleringslister og kilden for annulleringslisten, for eksempel en sikker tjener. Spesifikasjonen kan også typisk beskrive nivået av sikkerhet som skal anvendes for det beskyttede innholdet, så som egenskapene til den beskyttede mediabanen som skal settes opp, identifikasjon av komponenter langs denne mediabanen og eventuelle krypterings/dekrypteringskrav. Merk også at det typisk kan anvendes et oversetterprogram for å oversette fremmed DRM-innhold til DRM-innhold som systemet forstår.
Innholdet blir tilveiebrakt av innholdskilden til en klient 404. Som angitt ovenfor, angir den lisensen klienten mottar at dataene krever en beskyttet mediabane-autentikator, så som autentikator 418.1 dette eksempelet krypterer én enkelt klient 404 dataene som mottas fra innholdskilden. Autentikatorer, så som autentikatorene 418, 420 og 422, anvendes for å verifisere den kjeden av komponenter som mottar ukrypterte data. Dette kan gjøres på en rekke forskjellige måter, for eksempel ved å verifisere digitale signaturer assosiert med komponentene og/eller gjennom lister av DLL-adresser. Etter at en prosesseringskjede av komponenter har blitt satt opp, autentiserer en tjener, så som en DRM-tjener, klient 404. Klient 404 oppretter da en primær autentikator 418 som lokaliserer komponenter som prosesserer data, omfattende krypterte data. Komponentene kan lokaliseres av autentikator 418 ved å forespørre individuelle komponenter om hvilke andre komponenter de sender data til. For eksempel kan autentikatoren 418 spørre klienten 404 om hvilke komponenter klienten sender data til. Klienten kan respondere til autentikatoren ved å angi at den sender data til demultiplekseren 406. Dette kan gjøres ved å sende til autentikatoren en peker som peker til demultiplekseren 406. Ettersom demultiplekseren 406 prosesserer ukrypterte data vil den måtte være klarert. Demultiplekseren 406 tar data som er dekryptert av klienten og demultiplekser dataene til en videostream og en lyd-stream. Videostreamen blir prosessert av videodekoderen 408a og dens assosierte nedstrøms komponenter (dvs. kryptereren 410a, videorendreren 414a, video-driveren og GPU-enheten (kollektivt representert som 416a)), mens lyd-streamen blir prosessert av lyd-dekoderen 408b og dens nedstrøms komponenter (dvs. kryptereren 410b, lyd-rendreren 414b, lyd-driveren og lyd-maskinvaren (kollektivt representert som 416b)).
Individuelle komponenter i prosesseringskjeden tilveiebringer adresser, til autentikatorene, til andre komponenter som de sender ukrypterte data til. Autentikatoren går da gjennom listen av komponenter og verifiserer signaturene til komponentene ved, for eksempel, å verifisere signaturene til komponentenes motsvarende DLL-filer. Dette kan gjøres under anvendelse av en sikker tjener. Slik at autentikatoren 418, for eksempel, vil autentisere demultiplekseren 406. Autentikatoren 418 vil da verifisere begge dekoderne 408a, 408b. Etter å ha funnet de komponentene til hvilke dekoderne sender data (dvs. kryptererne 410a, 410b), vil autentikatoren 418 autentisere kryptererne. Applikasjonen 412 kan, men trenger ikke, være en klarert applikasjon. Dersom applikasjonen skal håndtere ukrypterte data, kan autentikatoren 418 verifisere at applikasjonen er klarert. Dersom applikasjonen ikke er klarert, vil den kun håndtere krypterte data.
Til slutt vil dataene bli sendt til rendrerne 414a, 414b. Rendrerne kan opprette sin egen autentikator 420 som da blir verifisert av autentikator 418. En autentisert, kryptert kanal kan bli etablert mellom autentikatorene 418, 420. Straks den er verifisert, kan autentikatoren 420 autentisere rendrerne.
I dette eksempelet blir en kjernemodus-autentikator 422 opprettet av rendreren/rendrerne og blir autentisert av én eller flere av de andre autentikatorene. Autentikatoren 422 bli sikkert forbundet med brukermodus-identikatorene for å verifisere kjerne-komponenter, så som komponentene 416a, 416b.
En nøkkeladministrator 424 er også tilveiebrakt, og kan autentiseres av autentikatoren 422. Nøkkeladministratoren 424 kan være ansvarlig for å administrere krypterings/dekrypteringsnøkler som anvendes av de forskjellige komponentene i prosesseringskjeden for å sende krypterte data. Nøkkeladministratoren kan også administrerer sesjonsnøkler som anvendes under krypteringsprosessen. Spesialiserte krypteringsmetoder kan også bli anvendt og implementert, delvis, av nøkkelad-ministratoren. Et utskiftbart krypteringsbibliotek kan, for eksempel, tilveiebringes for mellomkomponenter. Alle nøkler bør være sesjon-baserte nøkler for å unngå å ha nøkler innbygget i de forskjellige komponentene. En fellesnøkkel-krypteringsalgo-ritme kan bli anvendt for autentisering og for å sette opp sesjonsnøklene mellom dekoderen og en kryptoprosessor i video-maskinvaren. Den krypterte kanalen som anvendes for autentiseringen kan gjenbrukes av de autentiserte komponentene for å sette opp sesjonsnøklene. Dette sikrer at dekrypteringsnøkkelen kun blir sendt til den entiteten som er verifisert av den neste autentikatoren. Dersom en komponent ikke ruter de krypterte dataene og autentikatorens datakanal til samme destinasjon, kan da ikke datastreamen bli dekryptert av entiteten nedstrøms. Algoritmen som anvendes for å sette opp sesjonsnøklene kan være spesifikk for dekoder- og rendringskomponentene. Autentiseringskanalen kan være personifisert for sesjons-nøkkel-genereringstråden for å unngå å korruptere sesjonsnøkkel-oppsettet.
Hver komponent kan, og bør regelmessig, bli re-autentisert, og nøklene bør re-formidles for å bidra til å minimere innsetningsangrep av fremmede komponenter. Et array av sesjonsnøkler kan gjøre det mulig for kilden på en effektiv måte å endre nøkler med gitte mellomrom. Siden det å sette opp nøkler kan være en relativt tidkrevende og beregningstung prosess, kan den utføres asynkront med datastreamen. Det å gå gjennom nøkkelhanker kan bidra til å unngå datanøkkel-synkro-niseringsproblemer. For eksempel kan fire nøkler gi en utsettelse på fire rammer før en ny nøkkelformidling vil måtte være fullført. Dette er diskutert mer i detalj nedenfor i seksjonen med tittelen "Nøkkelformidling og -synkronisering".
Nøkkelformidling og - synkronisering
Nøkkelhanker inneholder typisk flere nøkler. I video-sammenheng, nårvideo-rendreren prosesserer data, køer den typisk opp et antall rammer for fremvisning. Av effektivitetsgrunner kan det å anvende en nøkkelhank med flere nøkler og syn-kronisere, for eksempel, én nøkkel per ramme, redusere problemer assosiert med det å måtte formidle en ny nøkkel for hver ramme. Mer spesifikt kan det å ha en nøk-kelhank redusere nøkkelformidlingstiden som følge av det faktum at formidlingen ikke må skje på en nøkkel-for-nøkkel basis. Ved å anvende en bank med flere nøkler, kan således én nøkkel bli anvendt for hver ramme, og nøklene kan bli sirkulert rundt i rekkefølge. For eksempel kan nøkler 1 til 4 være formidlet, idet nøkkel 1 anvendes for ramme 1, nøkkel 2 anvendes for ramme 2, osv. Istedet for å måtte formidle individuelle nøkler, utføres formidlingen for flere nøkler om gangen, som deretter gjennomløpes.
Som et eksempel, i en beskyttet videobane, kan det etableres et array av ses-jonsnøkler mellom dekoderen og video-maskinvaren ved anvendelse av et autentisert PKI-krypteringssystem. Nøkler kan da bli opprettholdt i et ikke-aksesserbart minne i skjermkortet og i beskyttet minne av dekoderen. Hver nøkkel kan refereres til med sesjonsindeks. I video-maskinvaren kan data være assosiert med en sesjonsindeks eller identifikator som angir hvilken sesjon som ble anvendt for å kryptere dataene. Sesjonsindeksen kan da anvendes av GPU-enheten til å sette opp den kryptografiske motoren i GPU-enheten som da kan prosessere (dvs. dekryptere) de krypterte dataene. Autentikatorkjeden kan periodisk bli reformidlet og autentisert for å bidra til å undertrykke ordbok-baserte angrep og for å forsøke å detektere innsatte uvedkommende komponenter.
Autentikatorer
Som angitt ovenfor, etter at avspillingsmekanismen (dvs. prosesseringskjeden) har blitt satt opp, dekrypterer klientkomponenten dataene og sender dataene til video- og lyd-demultiplekseren. Som del av autentiseringsprosessen oppretter klienten en autentikator som deretter anvendes på demultiplekserne. Autentikatoren retter deretter til de neste video- og lyd-prosesseringskomponentene for autentisering. Rendrerne kan da opprette motsvarende video/lyd-spesifikke kjerne-autentikatorer. Autentikatorene kan autentisere de digitale signaturene som er assosiert med den DLL-filen i hvilken hver adresse er lokalisert.
Autentikatorene kan ikke bare verifisere komponentenes signaturer, men de kan også verifisere at prosesseringskjeden har tilstrekkelig sikkerhet til å tilfredsstille kravene i innholdets lisens. For eksempel kan lisensen spesifisere et nivå av sikkerhet som er påkrevet for prosesseringskjeden. Sikkerhetsnivået kan bli sendt til autentikatoren, som da kan sikre overholdelse av sikkerhetsnivået. Alternativt kan sikkerhetsnivået bli implisitt innkodet ved å kreve et spesifikt nivå for autentikatoren, f.eks. nivå 1 autentikator eller nivå 2 autentikator, som begge kan kalle den primære autentikatoren med sitt nivå.
Eksempler på sikkerhetsnivåer kan omfatte:
• Bit 0 - programvare-tilhakking av komprimerte data (og signert video-driver); • Bit 1 - beskyttelse av komprimerte data med klarert programvare; • Bit 2 - maskinvarebeskyttelse av komprimerte data over busser; • Bit 3 - maskinvarebeskyttelse av komprimerte data i video/lyd-anordningen; • Bit 4 - analog beskyttelse av data som forlater utmatingsanordningen; og • Bit 5 - digital beskyttelse av data som forlater utmatingsanordningen.
Hver komponent kan også være i stand til å legge til begrensninger av lisensen som et første trinn i autentiseringen. Dette kan gjøre det mulig for komponenter (f.eks. dekodere) å kreve at andre komponenter sjekkes for kompabilitet. For eksempel kan en lyd-dekoder bare være lisensiert for å spilles av med applikasjoner som oppfyller visse kriterier.
Et ytterligere systemversjonskrav kan også være nyttig for å spesifisere et nødvendig nivå av driverstøtte. For eksempel kan lisensen inneholde et datapar { minimum beskyttet bane/ drivernivå, minimum maskinvarekrav) som blir sendt til autentikatoren for å sikre overholdelse.
Komponenter
Forskjellige innretninger av autentikatorer kan anvendes for å realisere de ovenfor beskrevne utførelsesformene. For eksempel, i systemet som er vist og beskrevet i figur 4, kan det være to separate, primære autentikatorer - én for videokjeden og én for lydkjeden, eller, som vist i figur 4, én enkelt primær autentikator som kommuniserer med både lyd- og videokjeden. I tillegg kan det være to separate kjernemodus-autentikatorer - én for videokjeden og én for lydkjeden. Dersom dette er tilfelle, kan det da være tilveiebrakt to separate, autentiserte krypterte kanaler - én hver mellom autentikatorene i lydkjeden og videokjeden.
I diskusjonen nedenfor er det beskrevet én spesifikk autentiseringsmodell. Det skal være underforstått at den beskrevne modellen kun illustrerer én mulig autentiseringsmodell. Følgelig kan den andre autentiseringsmodeller tilveiebringes uten å avgå fra idéen bak og rammen til det krevede temaet.
Figur 5 illustrerer et eksempel på autentiseringsmodell der autentikatorer er angitt som "An" og grensesnitt som støttes av forskjellige komponenter i prosesseringskjeden er illustrert som enten "IA" for et autentiserbar-grensesnitt og/eller "IAP" for et autentiseringsproksy-grensesnitt. Et proksy-grensesnitt tjener som et grensesnitt mot en videreformidlingstjeneste til et annet autentiserbar-grensesnitt. Navnene til de forskjellige komponentene er vist ved den aktuelle komponenten. I lyd-kjeden er foreksempel lyd-dekoderen, lyd-innkoderen, applikasjonen, lyd-rendreren og lyd-driver/maskinvare vist. Tilsvarende, i videokjeden, er videodekoderen, videoinnkoderen, applikasjonen, videorendreren og videodriver/maskinvare vist. Merk at enkelte komponenter støtter både et proksy-grensesnitt og et autentiserbar-grensesnitt, f.eks. hver av rendrerne.
Et grensesnitt er bare en logisk del av komponenten og omfatter en samling av kallbare metoder eller funksjoner som kan kalles av andre komponenter. Når en autentikator ønsker å kommunisere med en spesifikk komponent, leter autentikatoren etter det aktuelle grensesnittet for den komponenten og kommuniserer til den ved å kalle grensesnittets definerte metoder.
En autentikator verifiserer komponenter og etablerer krypterte kanaler til andre autentikatorer. Den tilveiebringer også en kryptert kanaltjeneste mellom komponenter som prosesserer ukrypterte data. Kanalen kan anvendes for å formidle arrayer av sesjonsnøkler mellom komponenter for å kryptere hoveddataene. IA-grensesnittet tilveiebringer autentikatoren med en liste over komponenter å verifisere, og en liste over nedstrøms komponenter for å fortsette verifikasjonen. IPP-proksygrensesnittet er et videresendingsgrensesnitt for å formidle autentiseringsinformasjon mellom autentikatorer som er forbundet via ikke-autentiserte komponenter.
I hver autentikator representerer En et kryptering/dekryptering-nøkkelpar for forbindelsens initiator og Dn representerer et kryptering/dekryptering-nøkkelpar for forbindelsens mottaker.
Den første autentikatoren A^kan støtte flere sekundære autentikatorer (f.eks. A2-5) siden den anvendes for å verifisere to separate utdatakjeder (f.eks. video og lyd).
Klienten oppretter den initielle autentikatoren A^ og IA-grensesnittet til den første komponenten (dvs. demultiplekseren) blir spesifisert for autentikatoren. I dette eksempelet returnerer IA-grensesnittet følgende informasjon til autentikatoren: • En liste over IA-grensesnitt for nedstrøms komponenter; • En liste over IAP-proksygrensesnitt for nedstrøms komponenter (som kun ser krypterte data); • En liste over avhengige komponenter for hvilke signaturer skal verifiseres; • Lagring for den neste autentikator-forbindelsesindeksen (samme autentikator kan gjenbrukes for flere streamer); og
• Nøkkelsesjonsnummer for autentiseringskjeden.
Autentikatoren (A^ anvender klienten for å verifisere IA-grensesnittets adresse, deretter dets avhengige komponenter, og rekurserer ned hver av dets nedstrøms IA-grensesnitt. Deretter setter autentikatoren opp en kryptert, autentisert kanal til den neste autentikatoren gjennom hvert av de listede IAP-grensesnittene.
lAP-grensesnittet tilveiebringer to metoder for å kommunisere til den neste autentikatoren:
• ReadData(buffer, length)
• WriteData(buffer, length)
Rendreren vil typisk støtte IAP- og IA-grensesnittene. Når rendrerens IAP-grensesnitt blir referert, vil den opprette den neste autentikatoren og videreformidle IAP-kallene til denne. Autentikatorene vil da etablere en autentisert, kryptert kommunikasjonskanal. Autentikatoren blir tilsendt IA-grensesnittet til rendreren, slik at den kan begynne en ny autentiseringskjede som starter ved rendreren.
Autentikatorene kan også tilveiebringe metoder for å gjøre det mulig for de komponentene med IA-grensesnitt å sende informasjon over autentikatorkanalen. Hos autentikatoren kan dette omfatte:
• EncryptAndSend(link ID, [in] data) - send data til neste komponent.
I det IA-grensesnittet som ble sendt til autentikatoren kan følgende tilbakekall eksistere: • DecryptAndReceive([out] data) - anvendt for å signalisere og sende data til den mottakende komponenten; • Linkldentifier([out] link ID) - sendt til det IA-grensesnittet for å sende.
Metodene for å sende og motta kan anvendes av komponentene for å sette opp sesjonsnøkler for å kryptere hoveddataene.
For å forenkle klienten, kan autentikatoren også tilveiebringe følgende enkle krypteringsstøtte: CreateSession(HANDLE [out], CLSID drmEncryptorlD) - oppretter en kryp
terer og etablerer en sesjonsnøkkel; . EncryptData(HANDLE [in], BYTE<*>pin, BYTE<*>pOut);
DecryptData(HANDLE [in], BYTE<*>pin, BYTE<*>pOut).
Autentikatoren vil da persistere krypteringsobjektet for komponenten.
Utførelsesform for nettverk - tilfelle I
Én av fordelene ved arkitekturen beskrevet ovenfor er at den kan benyttes i forbindelse med, og anvendes i konteksten for et nettverk, så som Internett. Som et eksempel, se figur 6, som viser et system som er tilsvarende, i mange aspekter, det systemet som er vist og beskrevet i forbindelse med figur 4. Samme referanse-
nummer som utførelsesformen i figur 4 er benyttet der det er naturlig (bortsett fra at referansenumrene i figur 6 er på formen "6XX" mens referansenumrene i figur 4 er på formen "4XX").
I dette eksempelet er det tilveiebrakt en fjernlokalisert anordning 624 som omfatter programvare og maskinvare (kollektivt angitt som 617) som kan anvendes for å gjengi innhold på den fjernlokaliserte anordningen. Eksempler på fjernlokaliserte anordninger kan omfatte håndholdte PC-er, PDA-er, USB-høyttalere, IEEE 1394 høyttalere og liknende. Komponenter så som klient 604, nøkkelforvalter 624, demultiplekser 606, dekodere 608a, 608b, krypterere 610a, 610b, applikasjon 612 rendrere 614a, 614b, og én eller flere autentikatorer, så som den primære autentikatoren 618 og den sekundære autentikatoren 620, kan befinne seg på én side av en nettverksforbindelse så som hos en vertsmaskin. Anordning 624 kan da kommunisere med vertsmaskinen via en nettverksforbindelse, slik at den kan gjengi beskyttet innhold fra en klarert kilde for en bruker.
I dette eksempelet omfatter den fjernlokaliserte anordningen 624 en autentikator 622 som kan være satt opp og konfigurert på en måte som er veldig lik den måten kjernemodus-autentikatoren ble satt opp og konfigurert ovenfor.
Det vil si at, i dette eksempelet, det er en logisk forbindelse mellom autentikatorene på begge sider av nettverket (f.eks. autentikatorene 620 og 622). Denne logiske forbindelsen blir autentisert og kryptert av alle de samme grunnene som nevnt ovenfor. Ansvaret til nettverk-rendreren/rendrerne er å kommunisere over nettverket og finne ut hvilke komponenter som befinner seg i den fjernlokaliserte anordningen 624. Rendreren(e) oppretter da autentikatoren på den fjernlokaliserte anordningen 624, og etablerer en kommunikasjonskanal mellom de to autentikatorene 620, 622. Kanalen kan anvendes for å sette opp nøkler mellom kryptereren 610a og rendrings-maskinvaren (617).
Når de forskjellige komponentene i prosesseringsskjeden på hver side av nettverket har blitt autentisert, kan det beskyttede innholdet leveres til den fjernlokaliserte anordningen 624 for gjengivelse.
Utførelsesform for nettverk - tilfelle II
Figur 7 viser et system som er litt forskjellig fra systemet vist og beskrevet i figur 6. Her omfatter en fjernlokalisert anordning 724 en utelukkende maskinvare implementert rendringskomponent 717. En programvareimplementert proksy 715 er tilveiebrakt og kan hjelpe autentiseringsprosessen, men trenger ikke nødvendigvis å være klarert. Autentiseringen kan skje i maskinvaren selv ved, for eksempel, å tilveiebringe PKI-autentiseringsstøtte i maskinvaren.
I dette eksempelet kan nettverk-rendreren(e) avbilde autentiseringsprotokollen på den venstre siden av nettverket til maskinvare-autentiseringsprotokollen i anordningen 724. Dette kan gjøre bruk av en autentiserings-oversettingsmodul som befinner seg i programvare-proksyen 715. I dette tilfellet vil da programvare-proksyen 715 måtte være klarert og verifisert. Alternativt kan maskinvaren være kompatibel med autentiseringsprotokollen på den venstre siden av nettverket, eller maskinvaren kan inneholde en oversettelsesmodul for å utføre avbildningsoperasjonen selv, og med det eliminere behovet for å stole på eller verifisere programvaren i anordningen.
Denne typen innretning er fordelaktig fra det standpunkt at den tillater tredjeparter å skrive sine egne oversettermoduler som kan anvendes i deres egne fjernlokaliserte anordninger. Disse modulene kan da utføre oversettelsen av autentiseringsprotokollen og, som et resultat av dette, er ikke låst til noen gitt autentiseringsmodell. Tredjeparter kan også sette opp brukermodus-autentikatorer på den venstre siden av nettverket dersom, for eksempel, deres videorendrer trenger å prosessere ukrypterte data.
I tillegg er arkitekturen ovenfor også fordelaktig i det at annulleringslister kan sendes over de forskjellige komponentene, f.eks. kan en tjener sende annulleringslisten til klienten, som deretter kan sende listen ned prosesseringskjeden til den fjernlokaliserte anordningen. Følgelig vil komponenter som er annullert ikke lenger være i stand til å prosessere de beskyttede dataene. For eksempel vil en lisens som ledsager beskyttet innhold kunne spesifisere at innholdet krever en mediabane-autentikator, og, i tillegg, at anordningen periodisk må aksessere en tjener for å oppnå en annulleringsliste. Brukeren kan da, med sin fjernlokaliserte anordning, spille av innhold over en tidsperiode, hvorpå deres anordning vil måtte aksessere tjeneren for å oppnå annulleringslisten slik at anordningen kan oppdatere sin liste over hvilke komponenter som har blitt annullert.
Andre utvidelser og fordeler
Utførelsesformene i figurene 6 og 7 kan bli utvidet til at nettverk-rendreren(e) implementeres som en kringkaster. For eksempel kan en kringkastingstjeneste eller - tjener sette opp og dele krypteringsnøkler med et antall forskjellige maskinvareanordninger. Kringkasteren kan da kringkaste beskyttet innhold til disse anord-ningene og være sikker på at innholdet vil forbli beskyttet.
En annen fordel ved arkitekturen er at data kan sendes frem og tilbake mellom bruker- og kjernemodus så mange ganger som nødvendig. Dette kan være fordelaktig for slike ting som ekko-kansellering i lyd-data. Nærmere bestemt kan en lyd-rendrer gå inn i kjernen og opprette en annen prosesseringskjede som går tilbake ut til en brukermodus-komponent og deretter tilbake inn i kjernen.
Konklusjon
Fremgangsmåtene og systemene beskrevet ovenfor kan tilveiebringe forbedrede fremgangsmåter og systemer for å prosessere gjengivbare digitale data. Noen av fordelene ved de ovenfor beskrevne utførelsesformene omfatter, uten begrensning, at ikke-klarerte brukermodus-komponenter (dekodere, videomanipulato-rer) og kjernemodus-komponenter kan hindres i uautorisert aksess av beskyttede data. I tillegg kan autoriserte komponenter beskyttes mot å bli anvendt for å oppnå uautorisert tilgang til beskyttet innhold. Forskjellige tredjeparts komponenter kan bli anvendt i prosesseringskjeden, og det kan tilveiebringes mekanismer for å sikre at slike komponenter er klarerte før de aksesserer beskyttet innhold. Innhold fra flere forskjellige kilder, så vel som flere forskjellige typer innhold og DRM-teknikker, kan på en enkel måte bli innlemmet i systemet ved hjelp av en oversettingsprosess eller oversettermoduler. Forskjellige utførelsesformer gjør det også mulig å anvende beskyttet innhold på tvers av grenser, så som anordnings- og nettverksgrenser, med en autentiseringsprosess som kan oversettes over grensene. Videre kan det anvendes annulleringsmekanismer (dvs. annulleringslister) for å hindre kompromitterte komponenter i å aksessere beskyttet innhold. Arkitekturen kan også gjøre det mulig å etablere sikre kommunikasjonskanaler mellom dekoderne og rendringsanordningene (dvs. skjerm-maskinvare). Arkitekturen krever ikke forhåndskunnskap om komponent-topologien, og kan anvendes for komplekse struk-turer siden den følger strømmen av data.
Selv om oppfinnelsen har blitt beskrevet i språk spesifikt for strukturelle særtrekk og/eller metodetrinn, skal det være underforstått at oppfinnelsen som defineres i de etterfølgende patentkravene ikke nødvendigvis er begrenset til de spesifikke særtrekkene eller trinnene som er beskrevet. I stedet er de spesifikke særtrekkene og trinnene beskrevet som foretrukne måter for å realisere den krevede oppfinnelsen.
Claims (24)
1. Fremgangsmåte omfattende trinn med å: etablere én eller flere baner av komponenter som skal prosessere og gjengi digitalt innhold eller digitale data; motta kryptert innhold eller krypterte data som skal prosesseres av den ene eller de flere banene, idet det krypterte innholdet eller de krypterte dataene er underkastet en lisens som definerer, i hvert fall delvis, hvordan de krypterte dataene skal prosesseres; opprette flere autentikatorer (318, 320, 322; 418, 420, 422; 618, 620, 622) for å autentisere komponenter langs den ene eller de flere banene; tilveiebringe en sikker kommunikasjonskanal (319) mellom autentikatorene (318, 320, 322; 418, 420, 422; 618, 620, 622); forespørre, med autentikatorene (318, 320, 322; 418, 420, 422; 618, 620, 622), individuelle komponenter i den ene eller de flere banene for å fastslå hvilke komponenter de forespurte komponentene sender data til; forsøke å autentisere eller autentisere, med autentikatorene (318, 320, 322;
418, 420, 422; 618, 620, 622), de forespurte komponentene og de komponentene som de forespurte komponentene sender data til;
etablere krypterings/dekrypteringsnøkler med flere komponenter i den ene eller de flere banene for anvendelse av komponentene til å kryptere og dekyptere data.
2. Fremgangsmåte ifølge krav 1, videre omfattende trinn med å bestemme hvorvidt eventuelle DRM-data, assosiert med innholdet eller dataene, må oversettes til en form som kan forstås av en autentikator sitt DRM-system, og, i så fall, å effektuere oversettelse av de digitale rettighetsforvaltningsdataene ved anvendelse av en separat oversettermodul som er innrettet for å oversette DRM-dataene.
3. Fremgangsmåte ifølge krav 1 eller 2, der minst én autentikator opprettes på tvers av en anordningsgrense på en fjernlokalisert maskin.
4. Fremgangsmåte ifølge ethvert av krav 1-3, der lisensen spesifiserer én eller flere annulleringslister som kan anvendes for å fastslå hvorvidt individuelle komponenter har blitt kompromittert.
5. Fremgangsmåte ifølge ethvert av krav 1-3, der lisensen spesifiserer et nivå av sikkerhet som skal anvendes for å beskytte det digitale innholdet eller de krypterte dataene.
6. Fremgangsmåte ifølge ethvert av krav 1-3, der trinnet med å etablere krypte-rings/dekrypteringsnøklene omfatter det å anvende den sikre kommunikasjonskanalen (319) mellom autentikatorene (318, 320, 322; 418, 420, 422; 618, 620, 622) for å etablere krypterings/dekrypteringsnøklene.
7. Fremgangsmåte ifølge ethvert av krav 1-3, der trinnet med å etablere krypterings/dekrypteringsnøklene omfatter det å etablere sesjonsbaserte nøkler.
8. Fremgangsmåte ifølge ethvert av krav 1-3, videre omfattende trinn med å re-autentisere komponentene periodisk under anvendelse av autentikatorene (318, 320, 322; 418, 420, 422; 618, 620, 622).
9. Fremgangsmåte ifølge ethvert av krav 1-3, der trinnet med å opprette de flere autentikatorene (318, 320, 322; 418, 420, 422; 618, 620, 622) omfatter det å opprette minst én brukermodus-autentikator for å autentisere brukermodus-komponenter og minst én kjernemodus-autentikator for å autentisere kjernemodus-komponenter.
10. Fremgangsmåte ifølge krav 1, videre omfattende trinn med å oversette, om nødvendig, DRM-data som er assosiert med de krypterte dataene eller det krypterte innholdet, og å anvende de oversatte DRM-dataene for å beskytte de krypterte dataene eller det krypterte innholdet under rendringsprosessen.
11. Ett eller flere datamaskinlesbare medier som inneholder datamaskinlesbare instruksjoner som, når de eksekveres av én eller flere prosessorer, får den ene eller de flere prosessorene til å: etablere én eller flere baner av komponenter som skal prosessere og gjengi digitalt innhold; motta kryptert innhold som skal prosesseres av den ene eller de flere banene, idet det krypterte innholdet er underkastet en lisens som definerer, i hvert fall delvis, hvordan de krypterte dataene skal prosesseres; opprette flere autentikatorer (318, 320, 322; 418, 420, 422; 618, 620, 622) for å autentisere komponenter langs den ene eller de flere banene; tilveiebringe en sikker kommunikasjonskanal (319) mellom autentikatorene (318, 320, 322; 418, 420, 422; 618, 620, 622); forespørre, med autentikatorene (318, 320, 322; 418, 420, 422; 618, 620, 622), individuelle komponenter i den ene eller de flere banene for å fastslå hvilke komponenter de forespurte komponentene sender data til; autentisere, med autentikatorene (318, 320, 322; 418, 420, 422; 618, 620, 622), de forespurte komponentene og de komponentene som de forespurte komponentene sender data til; og etablere krypterings/dekrypteringsnøkler med flere komponenter i den ene eller de flere banene for anvendelse av komponentene til å kryptere og dekyptere data.
12. Ett eller flere datamaskinlesbare medier ifølge krav 11, der instruksjonene får den ene eller de flere prosessorene til å etablere krypterings/dekrypteringsnøklene under anvendelse av den sikre kommunikasjonskanalen (319) mellom autentikatorene (318, 320, 322; 418, 420, 422; 618, 620, 622).
13. Ett eller flere datamaskinlesbare medier ifølge krav 11, der instruksjonene får den ene eller de flere prosessorene til å etablere de sesjonsbaserte krypterings/de-krypteringsnøklene under anvendelse av den sikre kommunikasjonskanalen (319) mellom autentikatorene (318, 320, 322; 418, 420, 422; 618, 620, 622).
14. Beregningsanordning omfattende: minne; én eller flere prosessorer; instruksjoner i minnet som, når de eksekveres av den ene eller de flere prosessorene, får den ene eller de flere prosessorene til å: etablere én eller flere baner av komponenter som skal prosessere og gjengi digitalt innhold; motta kryptert innhold som skal prosesseres av den ene eller de flere banene, idet det krypterte innholdet er underkastet en lisens som definerer, i hvert fall delvis, hvordan de krypterte dataene skal prosesseres; opprette flere autentikatorer (318, 320, 322; 418, 420, 422; 618, 620, 622) for å autentisere komponenter langs den ene eller de flere banene, idet minst én av autentikatorene (318, 320, 322; 418, 420, 422; 618, 620, 622) omfatter en brukermodus-autentikator for å autentisere brukermodus-komponenter og minst én annen av autentikatorene (318, 320, 322; 418, 420, 422; 618, 620, 622) omfatteren kjernemodus-autentikator for å autentisere kjernemodus-komponenter; tilveiebringe en sikker kommunikasjonskanal (319) mellom autentikatorene (318, 320, 322; 418, 420, 422; 618, 620, 622); spørre, med autentikatorene (318, 320, 322; 418, 420, 422; 618, 620, 622), individuelle komponenter i den ene eller de flere banene for å fastslå hvilke komponenter de forespurte komponentene sender data til; autentisere, med autentikatorene (318, 320, 322; 418, 420, 422; 618, 620, 622), forespurte komponenter og, om mulig, de komponentene som de forespurte komponentene sender data til; og etablere krypterings/dekrypteringsnøkler med flere komponenter i den ene eller de flere banene for anvendelse av komponentene til å kryptere og dekyptere data.
15. Beregningsanordning ifølge krav 14, der lisensen spesifiserer én eller flere annulleringslister som kan anvendes for å fastslå hvorvidt individuelle komponenter har blitt kompromittert.
16. Beregningsanordning ifølge krav 14, der det blir sendt identifikasjonsinforma-sjon opp kjeden av krypterte kanaler som er assosiert med autentikatorene (318, 320, 322; 418, 420, 422; 618, 620, 622) for å muliggjøre komponentverifikasjon, uten å kreve at det blir sendt annulleringslister ned kjeden.
17. Beregningsanordning ifølge krav 14, der lisensen spesifiserer et nivå av sikkerhet som skal anvendes for å beskytte de krypterte dataene.
18. Beregningsanordning ifølge krav 14, der instruksjonene forårsaker at den ene eller de flere prosessorene etablerer sesjonsbaserte nøkler.
19. Systemomfattende: én eller flere komponenter som er innrettet for anvendelse i en prosesseringskjede av komponenter som prosesserer beskyttet innhold som skal gjengis for en bruker; individuelle komponenter som støtter ett eller flere av et autentiserbar-grensesnitt og et autentiseringsproksy-grensesnitt, idet autentiserbar-grensesnittet kan kalles av en autentikator og returnerer til autentikatoren minst én av: en liste over autentiserings-grensesnitt for nedstrøms komponenter, en liste over autentiseringsproksy-grensesnitt for nedstrøms komponenter, og en liste over avhengige komponenter for hvilke å verifisere signaturer, idet autentiseringsproksy-grensesnittet tilveiebringer metoder for å lese og skrive data fra og til autentikatorer (318, 320, 322; 418, 420, 422; 618, 620, 622).
20. System ifølge krav 19, der autentiserbar-grensesnittet returnerer nøkkel-sesjonsnumre for kjeden av autentikatorer (318, 320, 322; 418, 420, 422; 618, 620, 622).
21. System ifølge krav 19, der minst én komponent omfatter en rendrer.
22. System ifølge krav 19, der minst én komponent omfatter en rendrer som
23. System ifølge krav 19, der minst én komponent omfatter én av: en demultiplekser, en dekoder, en videodekoder, en lyd-dekoder, en krypterer, en lyd-krypterer, en video-krypterer og en nettverksrendrer.
24. System ifølge krav 19, videre omfattende: flere beregningsanordninger, der minst én beregningsanordning omfatter en vertsmaskin, og minst én beregningsanordning omfatter en fjernlokalisert beregningsanordning, der de individuelle beregningsanordningene omfatter: nevnte ene eller flere komponenter; og
nevnte individuelle komponenter.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10/178,256 US7296154B2 (en) | 2002-06-24 | 2002-06-24 | Secure media path methods, systems, and architectures |
Publications (2)
Publication Number | Publication Date |
---|---|
NO20151474L NO20151474L (no) | 2003-12-25 |
NO339560B1 true NO339560B1 (no) | 2017-01-02 |
Family
ID=27733935
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
NO20032887A NO338943B1 (no) | 2002-06-24 | 2003-06-23 | Fremgangsmåter for sikre mediabaner, systemer, samt arkitekturer |
NO20151474A NO339560B1 (no) | 2002-06-24 | 2015-10-30 | Fremgangsmåter for sikre mediabaner, systemer, samt arkitekturer |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
NO20032887A NO338943B1 (no) | 2002-06-24 | 2003-06-23 | Fremgangsmåter for sikre mediabaner, systemer, samt arkitekturer |
Country Status (15)
Country | Link |
---|---|
US (5) | US7296154B2 (no) |
EP (2) | EP1376302B1 (no) |
JP (3) | JP4447253B2 (no) |
KR (1) | KR101046822B1 (no) |
CN (1) | CN100424677C (no) |
AU (2) | AU2003204380B2 (no) |
BR (1) | BR0302113A (no) |
CA (4) | CA2771038C (no) |
MX (1) | MXPA03004890A (no) |
MY (1) | MY138640A (no) |
NO (2) | NO338943B1 (no) |
PL (1) | PL360755A1 (no) |
RU (1) | RU2323473C2 (no) |
TW (1) | TWI269572B (no) |
ZA (1) | ZA200303975B (no) |
Families Citing this family (145)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7103574B1 (en) * | 1999-03-27 | 2006-09-05 | Microsoft Corporation | Enforcement architecture and method for digital rights management |
US7584493B2 (en) * | 2002-04-29 | 2009-09-01 | The Boeing Company | Receiver card technology for a broadcast subscription video service |
US7296154B2 (en) * | 2002-06-24 | 2007-11-13 | Microsoft Corporation | Secure media path methods, systems, and architectures |
JP2004087062A (ja) * | 2002-06-25 | 2004-03-18 | Sony Corp | データ記録媒体、識別情報記録方法、識別情報記録装置、識別情報再生方法、識別情報再生装置、情報サービス方法、情報サービスシステム |
US8064508B1 (en) * | 2002-09-19 | 2011-11-22 | Silicon Image, Inc. | Equalizer with controllably weighted parallel high pass and low pass filters and receiver including such an equalizer |
US20050144468A1 (en) * | 2003-01-13 | 2005-06-30 | Northcutt J. D. | Method and apparatus for content protection in a personal digital network environment |
US7502470B2 (en) * | 2003-01-13 | 2009-03-10 | Silicon Image, Inc. | Method and apparatus for content protection within an open architecture system |
US20040117440A1 (en) * | 2002-12-17 | 2004-06-17 | Singer Mitch Fredrick | Media network environment |
US7203965B2 (en) * | 2002-12-17 | 2007-04-10 | Sony Corporation | System and method for home network content protection and copy management |
EP1643404A3 (en) * | 2003-02-03 | 2006-04-19 | Tennessee Pacific Group. L.L.C. | Distribution and rights management of digital content |
US20050004873A1 (en) * | 2003-02-03 | 2005-01-06 | Robin Pou | Distribution and rights management of digital content |
US7370212B2 (en) | 2003-02-25 | 2008-05-06 | Microsoft Corporation | Issuing a publisher use license off-line in a digital rights management (DRM) system |
CN100507931C (zh) * | 2003-05-15 | 2009-07-01 | 诺基亚公司 | 在数字权利管理系统之间转移内容的方法和设备 |
AU2003229234A1 (en) * | 2003-05-30 | 2005-01-21 | Privasphere Gmbh | System and method for secure communication |
CA2776354A1 (en) * | 2003-06-05 | 2005-02-24 | Intertrust Technologies Corporation | Interoperable systems and methods for peer-to-peer service orchestration |
US7555540B2 (en) * | 2003-06-25 | 2009-06-30 | Microsoft Corporation | Media foundation media processor |
US7949132B2 (en) * | 2003-07-01 | 2011-05-24 | Microsoft Corporation | Modular architecture to unify the playback of DVD technologies |
US7979911B2 (en) | 2003-10-08 | 2011-07-12 | Microsoft Corporation | First computer process and second computer process proxy-executing code from third computer process on behalf of first process |
US8103592B2 (en) * | 2003-10-08 | 2012-01-24 | Microsoft Corporation | First computer process and second computer process proxy-executing code on behalf of first process |
US7788496B2 (en) | 2003-10-08 | 2010-08-31 | Microsoft Corporation | First computer process and second computer process proxy-executing code on behalf thereof |
WO2005041001A1 (en) * | 2003-10-22 | 2005-05-06 | Koninklijke Philips Electronics N.V. | Digital rights management unit for a digital rights management system |
WO2005071515A1 (en) * | 2004-01-22 | 2005-08-04 | Koninklijke Philips Electronics N.V. | Method of authorizing access to content |
US7512787B1 (en) * | 2004-02-03 | 2009-03-31 | Advanced Micro Devices, Inc. | Receive IPSEC in-line processing of mutable fields for AH algorithm |
US20050193396A1 (en) * | 2004-02-27 | 2005-09-01 | Stafford-Fraser James Q. | Computer network architecture and method of providing display data |
US8549166B2 (en) * | 2004-03-01 | 2013-10-01 | Qualcomm Incorporated | Execution of unverified programs in a wireless, device operating environment |
US7703141B2 (en) * | 2004-03-11 | 2010-04-20 | Microsoft Corporation | Methods and systems for protecting media content |
US7565438B1 (en) * | 2004-03-30 | 2009-07-21 | Sprint Communications Company L.P. | Digital rights management integrated service solution |
US20060242406A1 (en) | 2005-04-22 | 2006-10-26 | Microsoft Corporation | Protected computing environment |
US8074287B2 (en) * | 2004-04-30 | 2011-12-06 | Microsoft Corporation | Renewable and individualizable elements of a protected environment |
US7530093B2 (en) * | 2004-04-30 | 2009-05-05 | Microsoft Corporation | Securing applications and operating systems |
US20050262568A1 (en) * | 2004-05-18 | 2005-11-24 | Hansen Mark D | System and method for managing access to protected content by untrusted applications |
US8090837B2 (en) | 2004-05-27 | 2012-01-03 | Hewlett-Packard Development Company, L.P. | Communication in multiprocessor using proxy sockets |
GB2427785B (en) * | 2004-06-14 | 2008-02-27 | Rok Productions Ltd | Providing audio-visual content |
JP4333494B2 (ja) * | 2004-06-17 | 2009-09-16 | ソニー株式会社 | コンテンツ再生装置,コンテンツ再生方法,コンテンツ管理装置,コンテンツ管理方法およびコンピュータプログラム。 |
CN100437419C (zh) * | 2004-06-24 | 2008-11-26 | 索尼株式会社 | 信息处理设备和方法、信息记录媒体以及计算机程序 |
US20060005227A1 (en) * | 2004-07-01 | 2006-01-05 | Microsoft Corporation | Languages for expressing security policies |
US7657923B2 (en) * | 2004-07-23 | 2010-02-02 | Microsoft Corporation | Framework for a security system |
US8347078B2 (en) | 2004-10-18 | 2013-01-01 | Microsoft Corporation | Device certificate individualization |
US20060089917A1 (en) * | 2004-10-22 | 2006-04-27 | Microsoft Corporation | License synchronization |
US8156049B2 (en) * | 2004-11-04 | 2012-04-10 | International Business Machines Corporation | Universal DRM support for devices |
KR100761270B1 (ko) * | 2004-11-06 | 2007-09-28 | 엘지전자 주식회사 | 광고컨텐츠가 첨부된 디지털저작권관리 컨텐츠 처리 방법및 장치 |
US8336085B2 (en) | 2004-11-15 | 2012-12-18 | Microsoft Corporation | Tuning product policy using observed evidence of customer behavior |
US8291236B2 (en) * | 2004-12-07 | 2012-10-16 | Digital Keystone, Inc. | Methods and apparatuses for secondary conditional access server |
US7860802B2 (en) * | 2005-02-01 | 2010-12-28 | Microsoft Corporation | Flexible licensing architecture in content rights management systems |
US8438645B2 (en) | 2005-04-27 | 2013-05-07 | Microsoft Corporation | Secure clock with grace periods |
US8725646B2 (en) | 2005-04-15 | 2014-05-13 | Microsoft Corporation | Output protection levels |
US20060232592A1 (en) * | 2005-04-18 | 2006-10-19 | Faso Paul L | Method of Internet surfing to eliminate the risk of receiving malicious code |
EP1881438A4 (en) * | 2005-04-21 | 2011-02-23 | Panasonic Corp | CONTENT MANAGEMENT SYSTEM |
US9436804B2 (en) | 2005-04-22 | 2016-09-06 | Microsoft Technology Licensing, Llc | Establishing a unique session key using a hardware functionality scan |
US9363481B2 (en) | 2005-04-22 | 2016-06-07 | Microsoft Technology Licensing, Llc | Protected media pipeline |
US8091142B2 (en) | 2005-04-26 | 2012-01-03 | Microsoft Corporation | Supplementary trust model for software licensing/commercial digital distribution policy |
US20060265758A1 (en) | 2005-05-20 | 2006-11-23 | Microsoft Corporation | Extensible media rights |
KR100686928B1 (ko) | 2005-05-20 | 2007-02-26 | 주식회사 케이티프리텔 | Drm을 이용한 음원 편집 방법 및 장치 |
US7827554B2 (en) * | 2005-06-20 | 2010-11-02 | Microsoft Corporation | Multi-thread multimedia processing |
JP5171619B2 (ja) * | 2005-06-23 | 2013-03-27 | トムソン ライセンシング | デジタル著作権管理(drm)に対応した携帯再生装置、方法及びシステム |
US7376976B2 (en) * | 2005-07-11 | 2008-05-20 | Microsoft Corporation | Transcryption of digital content between content protection systems |
DE102005033285C5 (de) * | 2005-07-15 | 2019-11-07 | Institut für Rundfunktechnik GmbH | Consumer-Electronic-Gerät |
US7681238B2 (en) * | 2005-08-11 | 2010-03-16 | Microsoft Corporation | Remotely accessing protected files via streaming |
US20080025507A1 (en) * | 2005-09-02 | 2008-01-31 | Taylor Stephen F | Secure file conversion and multimedia sampler processing |
KR101285024B1 (ko) | 2005-10-18 | 2013-08-27 | 인터트러스트 테크놀로지즈 코포레이션 | 디지털 권리 관리를 위한 방법 |
US9626667B2 (en) | 2005-10-18 | 2017-04-18 | Intertrust Technologies Corporation | Digital rights management engine systems and methods |
US8407146B2 (en) * | 2005-10-28 | 2013-03-26 | Microsoft Corporation | Secure storage |
KR100774172B1 (ko) * | 2005-12-02 | 2007-11-08 | 엘지전자 주식회사 | 영상기기 및 그의 제어 방법 |
US8429752B2 (en) | 2006-01-23 | 2013-04-23 | Upload Technologies S.A. | System and method for digital rights management of digital media |
KR100757845B1 (ko) * | 2006-02-13 | 2007-09-11 | (주)잉카엔트웍스 | 클라이언트 기기로 암호화된 컨텐츠에 대응하는 라이센스를제공하는 방법 및 상기 방법을 채용한 drm 변환 시스템 |
US9313248B2 (en) * | 2006-04-13 | 2016-04-12 | Johnny Stuart Epstein | Method and apparatus for delivering encoded content |
US20070255659A1 (en) * | 2006-05-01 | 2007-11-01 | Wei Yen | System and method for DRM translation |
US10229276B2 (en) | 2006-06-12 | 2019-03-12 | Adobe Inc. | Method and apparatus for document author control of digital rights management |
US20070294699A1 (en) * | 2006-06-16 | 2007-12-20 | Microsoft Corporation | Conditionally reserving resources in an operating system |
JP2008005304A (ja) * | 2006-06-23 | 2008-01-10 | Toshiba Corp | 著作権保護システム、著作権保護装置及び映像処理装置 |
US8145532B2 (en) * | 2006-06-27 | 2012-03-27 | Microsoft Corporation | Connecting devices to a media sharing service |
US7882356B2 (en) * | 2006-10-13 | 2011-02-01 | Microsoft Corporation | UPnP authentication and authorization |
KR100895462B1 (ko) | 2006-10-23 | 2009-05-06 | 한국전자통신연구원 | 디지털 저작권 관리 시스템에서의 콘텐츠 유통 관리 방법 |
US20080109911A1 (en) * | 2006-11-03 | 2008-05-08 | Microsoft Corporation | Send/Lend Business Rights |
US8190918B2 (en) * | 2006-11-13 | 2012-05-29 | Disney Enterprises, Inc. | Interoperable digital rights management |
US20080127142A1 (en) * | 2006-11-28 | 2008-05-29 | Microsoft Corporation | Compiling executable code into a less-trusted address space |
US8379852B2 (en) * | 2007-01-11 | 2013-02-19 | Nds Limited | Processing video content |
US8300818B2 (en) * | 2007-02-27 | 2012-10-30 | Sony Corporation | System and method for effectively protecting electronic content information |
US8302200B2 (en) * | 2007-04-27 | 2012-10-30 | Tl Digital Systems L.L.C. | Protected intra-system interconnect for digital rights management in electrical computers and digital data processing systems |
US8085743B2 (en) * | 2007-07-20 | 2011-12-27 | Broadcom Corporation | Method and system for enabling rendering of electronic media content via a secure ad hoc network configuration utilizing a handheld wireless communication device |
US8332922B2 (en) * | 2007-08-31 | 2012-12-11 | Microsoft Corporation | Transferable restricted security tokens |
CN101146261B (zh) * | 2007-10-19 | 2010-12-08 | 深圳掌媒科技有限公司 | 一种电子媒体数字保护的实现方法 |
US8478959B1 (en) | 2007-11-13 | 2013-07-02 | Nvidia Corporation | Method and system for protecting content in graphics memory |
CN101448094B (zh) * | 2007-11-28 | 2012-06-06 | 新奥特(北京)视频技术有限公司 | 一种用于快速导入媒体素材的方法 |
US8291501B2 (en) * | 2008-02-08 | 2012-10-16 | Cheng Holdings, Llc | Validation of protected intra-system interconnects for digital rights management in electrical computers and digital data processing systems |
US8656499B1 (en) * | 2008-03-14 | 2014-02-18 | Sprint Spectrum L.P. | Client-side bit-stripping system and method |
US8789168B2 (en) * | 2008-05-12 | 2014-07-22 | Microsoft Corporation | Media streams from containers processed by hosted code |
US8536976B2 (en) * | 2008-06-11 | 2013-09-17 | Veritrix, Inc. | Single-channel multi-factor authentication |
US8006291B2 (en) * | 2008-05-13 | 2011-08-23 | Veritrix, Inc. | Multi-channel multi-factor authentication |
US8516562B2 (en) * | 2008-05-13 | 2013-08-20 | Veritrix, Inc. | Multi-channel multi-factor authentication |
US8468358B2 (en) | 2010-11-09 | 2013-06-18 | Veritrix, Inc. | Methods for identifying the guarantor of an application |
US8095518B2 (en) * | 2008-06-04 | 2012-01-10 | Microsoft Corporation | Translating DRM system requirements |
US8245308B2 (en) * | 2008-06-04 | 2012-08-14 | Microsoft Corporation | Using trusted third parties to perform DRM operations |
US8166297B2 (en) | 2008-07-02 | 2012-04-24 | Veritrix, Inc. | Systems and methods for controlling access to encrypted data stored on a mobile device |
US8074286B2 (en) * | 2008-09-15 | 2011-12-06 | Realnetworks, Inc. | Secure media path system and method |
EP2353125A4 (en) | 2008-11-03 | 2013-06-12 | Veritrix Inc | USER AUTHENTICATION FOR SOCIAL NETWORKS |
US20100212016A1 (en) * | 2009-02-18 | 2010-08-19 | Microsoft Corporation | Content protection interoperrability |
US9805196B2 (en) | 2009-02-27 | 2017-10-31 | Microsoft Technology Licensing, Llc | Trusted entity based anti-cheating mechanism |
US9160988B2 (en) | 2009-03-09 | 2015-10-13 | The Nielsen Company (Us), Llc | System and method for payload encoding and decoding |
US8332536B2 (en) * | 2009-06-11 | 2012-12-11 | International Business Machines Corporation | Content protection continuity through authorized chains of components |
US9027143B1 (en) * | 2009-08-26 | 2015-05-05 | Adobe Systems Incorporated | System and method for multipronged authentication |
US20110185179A1 (en) * | 2009-08-26 | 2011-07-28 | Viswanathan Swaminathan | System And Method For Digital Rights Management With A Lightweight Digital Watermarking Component |
US20110169844A1 (en) * | 2009-09-16 | 2011-07-14 | Nvidia Corporation | Content Protection Techniques on Heterogeneous Graphics Processing Units |
RU2589342C2 (ru) * | 2010-06-23 | 2016-07-10 | Кониклейке Филипс Электроникс Н.В. | Взаимодействие между множеством систем защиты данных |
KR101305740B1 (ko) * | 2010-09-10 | 2013-09-16 | 삼성전자주식회사 | 비휘발성 저장 장치의 인증 방법 및 장치 |
US9710616B2 (en) | 2010-12-15 | 2017-07-18 | Ericsson Ab | DRM plugins |
CN102065096B (zh) * | 2010-12-31 | 2014-11-05 | 惠州Tcl移动通信有限公司 | 播放器、移动通讯设备、鉴权服务器、鉴权系统及方法 |
US20120216048A1 (en) * | 2011-02-17 | 2012-08-23 | Nikos Kaburlasos | System, method and computer program product for application-agnostic audio acceleration |
CN102164319A (zh) * | 2011-04-08 | 2011-08-24 | 北京数字太和科技有限责任公司 | 传输码流ts的安全传输方法和装置 |
JP6047553B2 (ja) | 2011-04-11 | 2016-12-21 | インタートラスト テクノロジーズ コーポレイション | 情報セキュリティのためのシステムと方法 |
US8474014B2 (en) | 2011-08-16 | 2013-06-25 | Veritrix, Inc. | Methods for the secure use of one-time passwords |
KR101857791B1 (ko) * | 2011-08-30 | 2018-05-16 | 삼성전자주식회사 | 컴퓨팅 시스템, 및 상기 컴퓨팅 시스템을 동작하기 위한 방법 |
WO2013095461A1 (en) * | 2011-12-21 | 2013-06-27 | Intel Corporation | Secure direct memory access |
JP5981761B2 (ja) * | 2012-05-01 | 2016-08-31 | キヤノン株式会社 | 通信装置、制御方法、プログラム |
US8910307B2 (en) * | 2012-05-10 | 2014-12-09 | Qualcomm Incorporated | Hardware enforced output security settings |
US9646153B2 (en) * | 2012-08-08 | 2017-05-09 | Intel Corporation | Securing content from malicious instructions |
US10771801B2 (en) | 2012-09-14 | 2020-09-08 | Texas Instruments Incorporated | Region of interest (ROI) request and inquiry in a video chain |
US9418209B2 (en) * | 2012-10-02 | 2016-08-16 | Google Technology Holdings LLC | Systems and methods for manipulating sensitive information in a secure mobile environment |
KR101638025B1 (ko) * | 2012-10-17 | 2016-07-20 | 소니 컴퓨터 엔터테인먼트 인코포레이티드 | 정보처리장치 |
US9355253B2 (en) * | 2012-10-18 | 2016-05-31 | Broadcom Corporation | Set top box architecture with application based security definitions |
US9785767B2 (en) * | 2013-03-15 | 2017-10-10 | Imagine Communications Corp. | Systems and methods for determining trust levels for computing components |
US10628578B2 (en) | 2013-03-15 | 2020-04-21 | Imagine Communications Corp. | Systems and methods for determining trust levels for computing components using blockchain |
US10270748B2 (en) | 2013-03-22 | 2019-04-23 | Nok Nok Labs, Inc. | Advanced authentication techniques and applications |
US9367676B2 (en) | 2013-03-22 | 2016-06-14 | Nok Nok Labs, Inc. | System and method for confirming location using supplemental sensor and/or location data |
US9887983B2 (en) * | 2013-10-29 | 2018-02-06 | Nok Nok Labs, Inc. | Apparatus and method for implementing composite authenticators |
US9247316B2 (en) * | 2013-04-23 | 2016-01-26 | Microsoft Technology Licensing, Llc | Protected media decoding using a secure operating system |
US20150096057A1 (en) * | 2013-09-30 | 2015-04-02 | Sonic Ip, Inc. | Device Robustness Framework |
US10104342B2 (en) | 2013-12-18 | 2018-10-16 | Intel Corporation | Techniques for secure provisioning of a digital content protection scheme |
US9344419B2 (en) | 2014-02-27 | 2016-05-17 | K.Y. Trix Ltd. | Methods of authenticating users to a site |
US9430619B2 (en) | 2014-09-10 | 2016-08-30 | Microsoft Technology Licensing, Llc | Media decoding control with hardware-protected digital rights management |
KR20160039922A (ko) | 2014-10-02 | 2016-04-12 | 삼성전자주식회사 | 영상처리장치 및 그 제어방법 |
US9594958B2 (en) * | 2014-11-24 | 2017-03-14 | Intel Corporation | Detection of spoofing attacks for video-based authentication |
CA2937342C (en) * | 2015-07-31 | 2019-09-10 | Fmr Llc | Inserting personalized information into digital content |
CN105721790A (zh) * | 2016-01-21 | 2016-06-29 | 南京新视云网络科技有限公司 | 一种高清环通庭审直播主机 |
US9848223B2 (en) * | 2016-03-15 | 2017-12-19 | Adobe Systems Incorporated | Automatically determining restored availability of multi-channel media distributors for authentication or authorization |
US10162943B2 (en) * | 2016-04-27 | 2018-12-25 | Comcast Cable Communications, Llc | Streamlined digital rights management |
US10826875B1 (en) * | 2016-07-22 | 2020-11-03 | Servicenow, Inc. | System and method for securely communicating requests |
US10637853B2 (en) | 2016-08-05 | 2020-04-28 | Nok Nok Labs, Inc. | Authentication techniques including speech and/or lip movement analysis |
US10769635B2 (en) | 2016-08-05 | 2020-09-08 | Nok Nok Labs, Inc. | Authentication techniques including speech and/or lip movement analysis |
US11868995B2 (en) | 2017-11-27 | 2024-01-09 | Nok Nok Labs, Inc. | Extending a secure key storage for transaction confirmation and cryptocurrency |
US11831409B2 (en) | 2018-01-12 | 2023-11-28 | Nok Nok Labs, Inc. | System and method for binding verifiable claims |
WO2020190776A1 (en) * | 2019-03-15 | 2020-09-24 | Intel Corporation | Synchronizing encrypted workloads across multiple graphics processing units |
US11792024B2 (en) | 2019-03-29 | 2023-10-17 | Nok Nok Labs, Inc. | System and method for efficient challenge-response authentication |
US11456855B2 (en) * | 2019-10-17 | 2022-09-27 | Arm Limited | Obfuscating data at-transit |
US11095650B1 (en) | 2020-02-03 | 2021-08-17 | Bank Of America Corporation | Resource transfer authorization decision engine |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2001052020A1 (en) * | 2000-01-14 | 2001-07-19 | Microsoft Corporation | Releasing decrypted digital content to an authenticated path |
Family Cites Families (31)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5473692A (en) * | 1994-09-07 | 1995-12-05 | Intel Corporation | Roving software license for a hardware agent |
CN100452071C (zh) * | 1995-02-13 | 2009-01-14 | 英特特拉斯特技术公司 | 用于安全交易管理和电子权利保护的系统和方法 |
US6157721A (en) | 1996-08-12 | 2000-12-05 | Intertrust Technologies Corp. | Systems and methods using cryptography to protect secure computing environments |
KR100473536B1 (ko) * | 1996-05-22 | 2005-05-16 | 마츠시타 덴끼 산교 가부시키가이샤 | 기기간통신의안전성을확보하는암호화장치및통신시스템 |
US6272538B1 (en) * | 1996-07-30 | 2001-08-07 | Micron Technology, Inc. | Method and system for establishing a security perimeter in computer networks |
US5983350A (en) * | 1996-09-18 | 1999-11-09 | Secure Computing Corporation | Secure firewall supporting different levels of authentication based on address or encryption status |
US5825879A (en) * | 1996-09-30 | 1998-10-20 | Intel Corporation | System and method for copy-protecting distributed video content |
GB9626241D0 (en) * | 1996-12-18 | 1997-02-05 | Ncr Int Inc | Secure data processing method and system |
US6374366B1 (en) * | 1998-02-24 | 2002-04-16 | Adaptec, Inc. | Automated drive repair systems and methods |
US7503072B2 (en) | 1998-04-29 | 2009-03-10 | Microsoft Corporation | Hardware ID to prevent software piracy |
US6684332B1 (en) * | 1998-06-10 | 2004-01-27 | International Business Machines Corporation | Method and system for the exchange of digitally signed objects over an insecure network |
US6374355B1 (en) * | 1998-07-31 | 2002-04-16 | Lucent Technologies Inc. | Method for securing over-the-air communication in a wireless system |
US6799270B1 (en) * | 1998-10-30 | 2004-09-28 | Citrix Systems, Inc. | System and method for secure distribution of digital information to a chain of computer system nodes in a network |
US20020012432A1 (en) * | 1999-03-27 | 2002-01-31 | Microsoft Corporation | Secure video card in computing device having digital rights management (DRM) system |
US6816596B1 (en) * | 2000-01-14 | 2004-11-09 | Microsoft Corporation | Encrypting a digital object based on a key ID selected therefor |
US6829708B1 (en) * | 1999-03-27 | 2004-12-07 | Microsoft Corporation | Specifying security for an element by assigning a scaled value representative of the relative security thereof |
US6772340B1 (en) * | 2000-01-14 | 2004-08-03 | Microsoft Corporation | Digital rights management system operating on computing device and having black box tied to computing device |
SG103829A1 (en) | 2000-01-28 | 2004-05-26 | Canon Kk | Digital contents distribution system, digital contents distribution method, roaming server, information processor, and information processing method |
US7155415B2 (en) * | 2000-04-07 | 2006-12-26 | Movielink Llc | Secure digital content licensing system and method |
US20020010863A1 (en) * | 2000-06-08 | 2002-01-24 | Stefan Mankefors | Method for protecting software |
WO2002003604A2 (en) * | 2000-06-29 | 2002-01-10 | Cachestream Corporation | Digital rights management |
US6931545B1 (en) | 2000-08-28 | 2005-08-16 | Contentguard Holdings, Inc. | Systems and methods for integrity certification and verification of content consumption environments |
JP2002117361A (ja) * | 2000-10-06 | 2002-04-19 | Hitachi Ltd | 電子決済方法及び電子決済システム |
JP4281252B2 (ja) * | 2001-01-16 | 2009-06-17 | ソニー株式会社 | 情報記録装置、情報再生装置、情報記録方法、情報再生方法、および情報記録媒体、並びにプログラム記憶媒体 |
MXPA02002378A (es) * | 2001-03-12 | 2002-09-24 | Ciba Sc Holding Ag | "romp con grupos alcoxi eter". |
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 |
US7110982B2 (en) * | 2001-08-27 | 2006-09-19 | Dphi Acquisitions, Inc. | Secure access method and system |
US6865555B2 (en) | 2001-11-21 | 2005-03-08 | Digeo, Inc. | System and method for providing conditional access to digital content |
US20030126086A1 (en) * | 2001-12-31 | 2003-07-03 | General Instrument Corporation | Methods and apparatus for digital rights management |
US7296154B2 (en) | 2002-06-24 | 2007-11-13 | Microsoft Corporation | Secure media path methods, systems, and architectures |
US6915392B2 (en) * | 2002-07-12 | 2005-07-05 | Intel Corporation | Optimizing memory usage by vtable cloning |
-
2002
- 2002-06-24 US US10/178,256 patent/US7296154B2/en active Active
-
2003
- 2003-05-16 EP EP03011235.3A patent/EP1376302B1/en not_active Expired - Lifetime
- 2003-05-16 EP EP11007532.2A patent/EP2492774B1/en not_active Expired - Lifetime
- 2003-05-20 CA CA2771038A patent/CA2771038C/en not_active Expired - Fee Related
- 2003-05-20 CA CA2771057A patent/CA2771057C/en not_active Expired - Fee Related
- 2003-05-20 TW TW092113654A patent/TWI269572B/zh not_active IP Right Cessation
- 2003-05-20 MY MYPI20031863A patent/MY138640A/en unknown
- 2003-05-20 CA CA2771080A patent/CA2771080C/en not_active Expired - Fee Related
- 2003-05-20 CA CA2428953A patent/CA2428953C/en not_active Expired - Fee Related
- 2003-05-22 ZA ZA200303975A patent/ZA200303975B/xx unknown
- 2003-05-26 AU AU2003204380A patent/AU2003204380B2/en not_active Ceased
- 2003-05-29 BR BR0302113-0A patent/BR0302113A/pt active Search and Examination
- 2003-05-30 MX MXPA03004890A patent/MXPA03004890A/es active IP Right Grant
- 2003-06-17 PL PL03360755A patent/PL360755A1/xx not_active Application Discontinuation
- 2003-06-18 KR KR1020030039336A patent/KR101046822B1/ko active IP Right Grant
- 2003-06-23 NO NO20032887A patent/NO338943B1/no not_active IP Right Cessation
- 2003-06-23 RU RU2003118755/09A patent/RU2323473C2/ru not_active IP Right Cessation
- 2003-06-24 CN CNB03145223XA patent/CN100424677C/zh not_active Expired - Fee Related
- 2003-06-24 JP JP2003180214A patent/JP4447253B2/ja not_active Expired - Fee Related
-
2006
- 2006-02-08 US US11/275,991 patent/US7653943B2/en not_active Expired - Fee Related
- 2006-02-08 US US11/275,993 patent/US7752674B2/en not_active Expired - Fee Related
- 2006-02-08 US US11/275,990 patent/US7552331B2/en not_active Expired - Fee Related
-
2007
- 2007-11-12 US US11/938,707 patent/US7810163B2/en not_active Expired - Fee Related
-
2008
- 2008-07-08 AU AU2008203013A patent/AU2008203013B2/en not_active Ceased
-
2009
- 2009-12-18 JP JP2009288223A patent/JP5129227B2/ja not_active Expired - Fee Related
-
2012
- 2012-09-27 JP JP2012214390A patent/JP5390000B2/ja not_active Expired - Fee Related
-
2015
- 2015-10-30 NO NO20151474A patent/NO339560B1/no not_active IP Right Cessation
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2001052020A1 (en) * | 2000-01-14 | 2001-07-19 | Microsoft Corporation | Releasing decrypted digital content to an authenticated path |
Also Published As
Similar Documents
Publication | Publication Date | Title |
---|---|---|
NO339560B1 (no) | Fremgangsmåter for sikre mediabaner, systemer, samt arkitekturer | |
JP4522645B2 (ja) | セキュアコンテンツを暗号的に保護する方法およびシステム | |
RU2310227C2 (ru) | Способы и системы для аутентификации компонентов в графической системе | |
JP2008538676A (ja) | ストリーム化されたマルチメディアコンテンツのための権限管理 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
MM1K | Lapsed by not paying the annual fees |