EMM
EMM - How to block, save, select and write with OSCam
Begriffsbestimmung
EMM = Entitlement Management Messages werden mit dem TV-Stream ausgesendet und lösen durch Zusammenwirken von SmartCard und CardReader (ggf mit entsprechenden Interfaces) auf der Empfängerseite bestimmte Aktionen aus, wie z.B.
- Aktivieren bzw. Freischalten der SmartCard
- Verlängerungen der Gültigkeit
- Hinzuwählen von bestimmten Sendungen
- Pairen (verheiraten) mit einem bestimmten Receiver
OSCam unterscheidet vier Arten von EMM:
- unique = nur für eine ganz bestimmte SmartCard eines Providers
- shared = für eine bestimmte Gruppe von SmartCards eines Providers
- global = für alle SmartCards eines Providers
- unknown = unbekannte EMM
Dieses Wiki befasst sich mit den Möglichkeiten von OSCam, eingehende EMM für SmartCards auf dem Cardserver zu
- blocken (block)
- sichern (save)
- filtern (select) und schließlich manuell auf die SmartCard zu
- schreiben (write)
EMM-Management
Die Configuration der oscam.server ermöglicht dem CardReader, die beim Client eingehenden EMM auf unterschiedliche Weise zu behandeln
block
Hiermit wird die Weiterleitung der EMM an die SmartCard blockiert. Sie wird also nicht auf die Karte geschrieben. Man kann die einzelnen EMM-Arten separat mit Setzen einer 1 blockieren:
- blockemm-u = blockiert nur unique EMM
- blockemm-s = blockiert nur shared EMM
- blockemm-g = blockiert nur global EMM
- blockemm-unknown = blockiert nur unbekannte EMM
Der Default-Wert ist bei allen 4 Parametern 0, also nicht geblockt!
Will man alle EMM an einer Weiterleitung zur SmartCard hindern, muss bei allen vier obengenannten Parametern eine 1 gesetzt werden!
Eine Sonderstellung nimmt folgender Parameter ein:
- blockemm-bylen
Damit können EMM aller oben aufgeführten Arten mit einer bestimmten Länge blockiert werden. Eine Kombination zwischen den 4 EMM-Arten und blockemm-bylen ist nicht nur möglich sondern auch zweckmäßig.
Beispiel: blockemm-u = 0 blockemm-s = 1 blockemm-g = 1 blockemm-unknown = 1 blockemm-bylen = 50-60,100-110 Es werden alle unique EMM auf die SmartCard geschrieben mit Ausnahme der Längen 50 bis 60 und 100 bis 110
save
In bestimmten Fällen ist es zweckmäßig, die EMM zu prüfen, bevor sie auf die SmartCard geschrieben werden. Das kann man nicht, wenn man sie nur, wie oben beschrieben, blockt. Sie müssen also zunächst gesichert werden, damit man sie prüfen und ggf. manuell auf die SmartCard schreiben kann
Vorbedingung ist, dass in oscam.conf[global] ein ein Pfad für die Sicherung der Logdaten festgelegt ist:
Beispiel: /var/log/oscam/emm.log/
In der oscam.server stehen folgende Speichermöglichkeiten zur Verfügung:
- saveemm-u = speichern der unique EMM
- saveemm-s = speichern der share EMM
- saveemm-g = speichern der global EMM
- save-unknown = speichern der unknown EMM
Defaultwert ist für alle 0 = keine Speicherung. Mit dem Setzen von 1 wird eine Speicherung unter dem in oscam.conf[global] festgelegten Pfad vorgenommen.
Diese Parameter können auch im WebIf verwaltet werden:
select
Aus den gespeicherten EMM kann man nun die EMM heraussuchen, die man auf die SmartCard schreiben möchte. Das macht man am besten mit copy&paste (siehe nächster Abschnitt!).
write
Das WebIf bietet unter dem Tab Reader die Möglichkeit, einzelne EMM manuell auf die SmartCard zu schreiben:
Man erhält dann folgendes Bild:
In den oberen Abschnitt fügt man die gewünschte EMM mit copy&paste ein und ergänzt im unteren Abschnitt den in der oscam.conf[global] festgelegten Pfad. Nicht vergessen, die CAID, für die die EMM gelten soll, oben einzutragen!
Beispiel NDS/Videogard V 14 SmartCard
Anhand einer V14 SmartCard (NDS/Videogard) soll die praktische Anwendung des EMM-Management beschrieben werden:
Blocken
Da die EMM, die die
- Aktivierung bzw. Freischaltung
- Verlängerung
- Entitlements
- Select Bestellungen
- Pairing
auf der SmartCard veranlassen, alle kartenspezifisch, also unique sind, können die übrigen EMM-Arten geblockt werden.
Die oscam.server wird daher wie folgt konfiguriert:
blockemm-s = 1 blockemm-g = 1 blockemm-unknown = 1
Da wir (derzeit noch) wissen, welche EMM das pairing mit dem Receiver bzw. CI verursachen und welche Längen diese EMM haben, werden diese EMM herausgefiltert mit
blockemm-bylen = 0-38,40,42-44,65-124,126-127,139-255
Damit wird folgenes erreicht:
- Alle share, global und unknown EMM werden geblockt
- Zur SmartCard werden nur die unique EMM durchgelassen
- Diese unique EMM werden aber über den Parameter blockemm-bylen so gefiltert, dass nur gute EMM auf die SmartCard gelangen.
Mit diesen Vorkehrungen hat man eigentlich schon alles getan, um eine Hochzeit zwischen SmartCard und Receiver bzw. CI zu verhindern. Es ist aber sicher nicht schlecht, wenn man