Zastanawiałem się, jak działa wypożyczanie filmów w iTunes z punktu widzenia bezpieczeństwa. Biorąc pod uwagę, że „wypożyczone” pliki są faktycznie pobierane na komputer użytkownika i następnie odtwarzane z tego miejsca, wydaje się, że nie ma sposobu, aby uniemożliwić użytkownikowi zapisywanie plików w nieskończoność.
Jest możliwe, że pliki są przechowywane w jakimś zastrzeżonym formacie (czymś w rodzaju CSS), ale można to łatwo zmienić na dłuższą metę poprzez inżynierię wsteczną kodu, który je odtwarza (tak jak stało się z DeCSS) .
Byłbym bardzo zadowolony, gdyby ktoś wskazał mi odniesienia do analizy tego systemu.
Odpowiedź
Systemy DRM zwykle działają według odmiany tych samych podstawowych zasad:
- Treść jest szyfrowana za pomocą symetrycznego algorytmu kryptograficznego, takiego jak na przykład AES-128.
- Klucz zawartości wraz z czytelnym dla komputera opisem praw użytkowania (np. „graj przez 48 godzin”) jest dostarczany na urządzenie użytkownika po zakupie zawartości.
- Ten klawisz + prawa Pakiet jest często nazywany „licencją” i sam jest zaszyfrowany za pomocą kryptografii klucza publicznego. Oznacza to, że urządzenie użytkownika posiada klucz prywatny do odszyfrowania tej licencji.
- Podczas odtwarzania zawartości koniecznie jest ” kawałek oprogramowanie działające w aplikacji do odtwarzania – w tym przykładzie iTunes. „Zaufany” jest w cudzysłowie, ponieważ to Apple ufa, a nie tobie!
- To oprogramowanie, czasami nazywane „agentem”, odpowiada za odszyfrowanie i – co ważne – egzekwowanie praw użytkowania. W tym przykładzie prawdopodobnie zniszczy klucz samoczynnie po 48 godzinach.
- Agenci, ze względu na swoją naturę, są zwykle silnie opancerzeni przed atakami, aby pokonać próby inżynierii odwrotnej: dekompilacja przyniesie śmieci, debugowanie jest niemożliwe itp.
A więc … Odpowiadając na pytanie: tak, zawartość i klucz odszyfrowywania znajdują się na urządzeniu (przynajmniej przez chwilę), ale jest maszyny działające przeciwko wszelkim próbom ich złożenia. W przeszłości ludziom czasami się to udawało, ale poprzeczka cały czas rośnie.
Komentarze
- Wątpię, czy ostatni punktor jest ściśle poprawny – bez względu na to, jaki poziom zaciemnienia zostanie zastosowany, bez wątpienia nadal możliwe jest odtworzenie kodu w odpowiednim czasie i wysiłku. Ponadto podczas debugowania " wskazówki " są bez wątpienia usuwane ze skompilowanego kodu, debugowanie w takich warunkach nie jest bynajmniej niemożliwe.