Sicheres Löschen von PlayReady
In PlayReady Version 4.0 eingeführt, ist PlayReady Secure Delete ein Feature, mit dem Dienstanbieter sichere Bestätigung erhalten können, wenn eine persistente Lizenz von der App auf dem Client gelöscht wird. Zuvor wurden Dienstanbieter beim Löschen einer Lizenz nicht benachrichtigt, wenn die Löschung abgeschlossen wurde. Mit PlayReady Secure Delete sind die folgenden Vorgänge möglich.
Dienstanbieter können nachverfolgen, welche Lizenzen derzeit gespeichert sind und welche Lizenzen auf einem bestimmten Clientcomputer gelöscht wurden. Dienstanbieter können eine bestimmte Anzahl von beständigen Lizenzen für einen Client ausgeben und die Anzahl der Lizenzen auf dem Computer dieses Clients nachverfolgen. Das Feature "Sicheres Löschen" erfüllt auch die Spezifikationsanforderung für verschlüsselte Medienerweiterungen (EME), die im September 2017 definiert ist, was angibt, dass ein Datensatz der Lizenzlöschung nach dem Lizenzlöschen an den Server gesendet werden muss.
In der folgenden Abbildung wird ein Sicherer Delete-Fluss veranschaulicht.
Bevor das sichere Löschen auftritt, instanziiert die Anwendung oder der Client zuerst ein PlayReady Content Decryption Module (CDM) und erhält eine persistente Lizenz aus dem Server (Schritte 1-7 in der obigen Abbildung).
Als Nächstes speichert PlayReady die Lizenz im Datenspeicher (HDS, Hashed Data Storage), zusammen mit einem Datensatz des Lizenzsitzungs-Blobs, der aus einem Sitzungsbezeichner (SessionId) und einem oder mehreren Schlüsselbezeichnern (KIDs) besteht. Wenn die Anwendung oder der Client eine Lizenzlöschanforderung initiiert, ruft er die entsprechenden APIs auf, um die lizenz(n) zu entfernen, die dem KID vom Datenspeicher zugeordnet ist. Während eines nicht sicheren Löschlizenzlöschvorgangs entfernt PlayReady die Lizenz(n) aus dem Datenspeicher ohne weitere Aktion. Mithilfe von Secure Delete entfernt PlayReady nicht nur die lizenz(n), die dem KID zugeordnet ist, aus dem Datenspeicher, sondern generiert auch eine Herausforderung zum sicheren Löschen, die die SessionId und KID(s) enthält (Schritte 12-13 in der obigen Abbildung).
Die Anwendung oder der Client sendet dann die Herausforderung "Sicheres Löschen" an den sicheren Delete Server, der dann die Herausforderung verarbeitet.
Nach der Verarbeitung der Herausforderung "Sicheres Löschen" sendet der Secure Delete Server eine nicht verschlüsselte, nicht signierte Antwort zum sicheren Löschen, die eine Basis 64 codierte SessionId an die Anwendung (oder client) enthält.
Nachdem der Client die Antwort "Sicheres Löschen" empfängt, überprüft PlayReady, dass die sitzungsid, die in der Antwort "Sicheres Löschen" enthalten ist, der sitzungsid entspricht, die zum Generieren der Herausforderung "Sicheres Löschen" verwendet wurde. Wenn die Überprüfung erfolgreich ist, entfernt PlayReady den Datensatz der Lizenzsitzung aus dem Datenspeicher.