Jeg har lurt på hvordan iTunes-filmutleie fungerer fra et sikkerhetsmessig synspunkt. Gitt at de «leide» filene faktisk lastes ned til brukerens datamaskin og deretter spilles derfra, virker det som om det ikke er noen måte å forhindre brukeren i å lagre filene på ubestemt tid.
Det er mulig at filene lagres i noe proprietært format (noe som CSS), men dette kan lett bli undergravd på lang sikt ved å reverse engineering koden som spiller dem (som skjedde med DeCSS) .
Jeg ville være veldig glad hvis noen kunne peke meg på noen referanser som analyserte dette systemet.
Svar
DRM-systemer har en tendens til at alle fungerer i henhold til en variant av de samme grunnleggende prinsippene:
- Innholdet er kryptert med en symmetrisk kryptografialgoritme, som for eksempel AES-128.
- Innholdsnøkkelen, sammen med en maskinlesbar beskrivelse av bruksrettigheter (for eksempel «spill i 48 timer») blir levert til brukerens enhet ved innholdskjøp.
- Denne nøkkelen + rettigheter pakken kalles ofte en «lisens», og er selv kryptert med kryptering med offentlig nøkkel. Dette innebærer at brukerenheten har den private nøkkelen for å dekryptere denne lisensen.
- Ved avspilling av innhold er det nødvendigvis en «klarert » bit av programvare som kjører i avspillingsappen – i dette eksemplet iTunes. «Trusted» er i anførselstegn fordi Apple stoler på det, ikke deg!
- Denne programvaren, noen ganger kalt en «agent», har ansvaret for dekryptering og – viktigere – håndhevelse av bruksrettighetene. I dette eksemplet vil det kanskje selv ødelegge nøkkelen etter 48 timer.
- Agenter, på grunn av sin natur, kommer vanligvis tungt pansret mot angrep, for å beseire forsøk på reverse engineering: dekompilering vil gi søppelresultater, feilsøking blir gjort umulig osv.
Så … For å svare på spørsmålet ditt: ja, innholdet og dekrypteringsnøkkelen er begge på enheten (i det minste en stund), men det er «sa maskiner som jobber mot ethvert forsøk på å sette dem sammen. Folk har av og til lykkes tidligere, men linjen blir høyere hele tiden.
Kommentarer
- Jeg tviler på at det siste punktet ditt er strengt korrekt – uansett hvilket nivå av forvirring som er gjort, er det uten tvil fremdeles mulig å reversere koden gitt nok tid og krefter. Også når du feilsøker " tips " fjernes utvilsomt fra den kompilerte koden, feilsøking er på ingen måte umulig under slike forhold.