Decodeur et Cryptage NAGRAVISION SYSTER (1995-2005)


LA CLE
1.1. Communication avec la clef
L’échange entre la clef et le décodeur se compose toujours de 3 octets :
2 du décodeur vers la clef, constituant la « question » (qui n’en est pas toujours une)
1 de la clef vers le décodeur, constituant la « réponse ».
Chaque communication débute après le top trame du signal vidéo.
Il n’y a qu’une communication par trame (1 par 20ms)
Une succession de communications non nulles sera appelée ‘dialogue’.
Il y a 4 types de communication habituels :
1°) Mode d’attente, ou communication nulle, circule entre deux échanges de donnée :
Le décodeur envoie 2 fois 0xFF, la clef répond 0x01
2°) Mode question ou mode d’introduction de code
Le décodeur envoie les salves par paquet de 2 octets, la clef répond 0x01
3°) Mode réponse
Le décodeur envoie 2 fois 0xFF, la clef génère une réponse, 1 octet à la fois
4°) Mode réponse immédiate
Le décodeur envoie 2 octets non nul, et la clef répond 1 octet.
Ce cas arrive rarement.
PROTOCOLE DE COMMUNICATION
Liaison RS232, 9453 Bauds, un start bit, 8 bits de datas, 9ème bit, et stop bit
9453 Bauds est une vitesse non normalisée, mais cela n’a aucune importance.
Cette vitesse est générée par la fréquence d’horloge appliquée à la clef, elle-même issue du
générateur d’horloge du décodeur : F = 26,625 MHz / 7 = 3,8036 MHz environ.
Chaque trame vidéo (20ms) génère un envoi de 2 octets vers la clef, qui provoque à son tour, une
réponse de la clef sur 1 octet.
Les dialogues avec la clef sont assimilables à des commandes, entraînant des réponses.
Si l’on élimine les temps morts (3 octets seulement par trames), on a la configuration suivante :
Commande -??Réponse.
La commande est constituée elle-même
d’un octet ID identificateur de commande, bit 9 à 1
d’un octet A 1er paramètre, que j’appelle ici audience, bit 9 à 0
quelquefois d’un ou 2 octets de paramétrage de la question, bit 9 à 0
La réponse est constituée :
d’un octet ID identificateur de réponse, bit 9 à 1
de plusieurs octets contenant la réponse, bit 9 à 0
d’un octet de fin de réponse bit 9 à 1
Plusieurs types de dialogues sont utilisés :
Mode attente,
le décodeur envoi 2 octets à FF, ID = FF, A = FF.
La clef répond par 01, si elle n’a rien de spécifique à dire.
Mode Question
La question est envoyée par le décodeur par groupe de 2 octets.
1 octet ID commande: 02, 05, 06, 57, etc.
1 octet A précisant le type de la question : 57 00, 57 01, 57 02
n octets M0…Mn, porteurs de l’info, nombre dépendant de la question
1 octet END de fin, en général, 0.
Mode réponse:
La réponse peut, suivant les questions, varier, de 1 à 18 octets.
Elle intervient évidemment après la fin de l’arrivée de la totalité des octets de la question.
Le décodeur passe alors en mode attente (FF FF) et la clef répond un octet à la fois
Ces modes sont résumé par la figure 5.
Fig. 5 : Types de d’échange clé <> décodeur
En période d’attente, et en période d’acquisition de question, elle répond 01, 9ème bit à 0
Lorsque la clef à terminé son calcul, la réponse est envoyée sous la forme suivante (toujours 1 octet
par trame):
1 octet ID de la réponse : soit le type de réponse (06), soit l’indicatif de réponse 02.
n octets de réponse
1 octet END de fin de réponse, en général 02.
L’octet ID et END ont le bit 9 à 1, les autres à 0.
TYPES DE DIALOGUE
Il y a plusieurs types de dialogue.

  • Le dialogue « DECODAGE », qui à lieu toutes les 100 trames, soit 2 secondes:
    Mode d’introduction de code pour 18 octets, soit 9 paquets de 2.
    Le 1er paquet est constant
    Le 1er octet du 1er paquet est l’indicatif 0x06.
    le 2ème octet est l’audience de l’émission (0x11 pour audience libre, 00 ou 0x20 pour PRESTATAIRE
    2, 02 pour les autres émissions de Prestataire 1).
    Ensuite suivent 16 octets (128 bits) représentant le texte crypté
    Pendant cette transmission, la clef répond toujours 0x01.
    Après réception du dernier octet, la clef répond autre chose (entre 2 et 6, jamais vu plus haut),
    probablement un accusé de réception.
    Mode échange nul pour 6 échanges (6 trames).
    Si la clef est en mesure de décoder (abonnement valable, bonne audience…) :
    Mode réponse pour 10 octets:
    1er octet est l’indicatif 0x06, indicatif de la réponse de décryptage
    8 octets correspondant à une partie du texte décodé (l’autre partie étant utilisée aux fins de
    vérifications d’autorisations).
    1 octet de fin de transmission, égal à 0x02.
    Si la clef ne peut décoder:
    Mode réponse pour 1 octet:
    1 octet indicatif 0x0A, signifiant ‘pas de réponse’.
    L’intervalle entre chaque dialogue « DECODAGE », est occupé soit par 90 communications nulles,
    soit par un dialogue « INTRODUCTION » ci-dessous, le reste étant comblé par des échanges nuls.
  • Le dialogue « INTRODUCTION DE DONNEES »,

qui à lieu toutes les 19 dialogues « DECODAGE » en moyenne, soit toutes les 38 à 40 secondes.
Ce sont des questions, comme les questions pour le décryptage, mais leur rôle est différent. Elles
servent essentiellement à la maintenance de la clef (réactualisation, annulation, initialisation, etc. )
La clef répond toujours 0x01 pendant la transmission.
Selon l’ID de la question, le temps de calcul est plus ou moins long, et la réponse est longue, dans le
cas de demande de renseignements, ou inexistante dans le cas d’intervention sur la clef.
Dans le premier cas, la clef répond comme pour les questions de décryptage, 1 octet par trame après
le calcul, et dans le deuxième cas, en général, un accusé de réception, 0 ou 8, selon que la question
est acceptée, ou refusée.

  • Le dialogue « INITIALISATION »,

qui à lieu à la mise sous tension, ou à l’introduction de la clef A la mise sous tension, le décodeur
adresse à la clef, une question 02 00.
A cette première salve, la clef répond 0xA0, indiquant la RAZ effectuée du processeur de la clef.
Ensuite, la clef répond avec 10 octets, le premier étant comme d’habitude, 02.
Suivent ensuite 3 question 57.
La configuration du dialogue est une succession de mode question et de mode réponse, sans
échanges nuls intercalés, suivant la structure ci-dessous:
Q = question du décodeur R = réponse de la clef. Le 02 en premier octet de réponse ressemble au
STX classique des liaisons série. (tous les octets représentés sont en hexadécimal)
Q =02, 00
R = A0,
R = 02, 18, 38, 12, 00, FF, 14, YY, ZZ, 00
Q = 57, 00
R = 02, AA, BB, CC, 10, N° clef 3 octets, 00, 00
Q = 57, 01
R = 02, 00, DD, 00, 00, N° clef 3 octets, 00, 00
Q = 57, 02
R = 02, AA, BB, CC, 12, N° clef 3 octets, 00, 00
Les octets remplacés par des doubles lettres dépendent de la clef.
La première salve de réponse dépend du type de clef. (chapitre de l’initialisation, programme 8397)
Prestataire 2 utilise 2 types de clefs
. Le 2ème type répond 0C et 06 à la place de 18 et 12.
Prestataire 3 utilise 16 – 10 et Prestataire 4 utilise 12 – 0C
Ces valeurs donnent l’emplacement de la fenêtre pour les lignes DIDON
YY et ZZ ont toujours été vu à 80 et 83, ou E3 et E5
Les octets de ces salves seront détaillés dans les paragraphes suivants.
Le dialogue « LECTURE DE DROIT »
Elle se compose de plusieurs salves.
La première, déclenchée par le premier appui sur le bouton comporte 2 salves :
Q = 02 00 question du décodeur
R = 01 02 0C 38 06 04 FF 14 80 83 00 réponse de la clef
Q = 5F 00 00 00
R = 02 01 FF FF C0 75 3F 8A 41 89 00
Ensuite, chaque appui sur le bouton génère une salve.
Q = 5F 00 01 00
R = 02 01 FF FF A3 75 5C 8A 61 89 00
(2) FF FF 01
Q = 5F 00 02 00
R = 02 01 FF FF 20 76 DF 89 81 89 00
(2) FF FF 01
Q = 5F 00 03 00
R = 02 01 FF FF C0 75 3F 8A A1 89 00
(2) FF FF 01
Q = 5F 00 04 00
R = 7A
R = 02 01 FF FF C0 75 3F 8A 41 89 00
(1) FF FF 01
Q = 5F 00 01 00
R = 02 01 FF FF A3 75 5C 8A 61 89 00
Les 4 derniers octets représentent, à chaque appel, une plage de validité, avec la date de fin, par ex
8A5C, et la date de début : 8961 l’octet de poids fort est à retirer. On obtient alors 0A5C, qui donne
28/02/95, 0961 qui donne 01/09/94, etc.
Le format de la date :
0000AAAS MMMJJJJJ
AAA = année + 90
S = semestre
MMM = mois
JJJJJ = jour
Ex : 0961 ??00001001 01100001 ??0000100 1 011 00001
4 1 3 1
année 90+4, semestre 1, mois 3 +( semestre * 6) = 9, jour = 1 : 01/09/94
La clef est prévue pour répondre à 32 types de question différentes.
Par contre, le décodeur tel qu’il est actuellement ne comporte pas toutes ces possibilités.
Voici les questions possibles relevées. Le premier nombre est l’indicatif de la question en
hexadécimal, et le second, le nombre total d’octets envoyé, en décimal, ID et A compris
01:10 - 02:02 - 05:66 - 06:18
4E:02 - 4F:02
50:02 - 51:10 - 52:02 - 53:12 - 54:12 - 55:34 - 56:18 - 57:02 - 58:66
59:02 - 5A:02 - 5B:02 - 5C:02 - 5D:10 - 5E:04 - 5F:04
60:18 - 61:18 - 62:20 - 63:10 - 64:18 - 65:34 - 66:66 - 67:10 - 68:18
69:34 - 6A:20
FF:02
En effet, FF (dialogue nulle) doit être considéré comme une question, avec un paramètre d’audience
(le 2ème FF).

Concernant la cléf blanche il y a possibilité de la reprogrammer ou bien de passer par une wafercard pour decoder Canal sans abonnement.

la ‘clef blanche’ qui renferme la clef de decodage est en fait composer d’un pic 16f84 et d’une eeprom 24c16. il suffit d’emuler cette « archithecture » pour pouvoir decoder les signaux.

1.1 DESCRIPTION DU SYSTEME DE CONTROLE D’ACCES

Ces besoins sont satisfaits au travers du brouillage de l’information. La description qui suit est centrée
sur le fonctionnement des mécanismes mis en oeuvre au niveau du terminal de réception avec une
description de son environnement destinée uniquement à compléter la compréhension de ces
mécanismes.
Le brouillage est décrit par le schéma suivant :
Information brouillée ----------------->
combinaison d’accès ---------------->
Deux mécanismes sont donc à décrire :
acquisition de la combinaison d’accès
1
1----> dispositif de débrouillage ----> lnfos claires
1
1
débrouillage de l’information grâce à la combinaison.
Une description plus précise du mécanisme d’acquisition de la combinaison d’accès passe donc par
deux points :
la description du contenu de la messagerie d’accès
la description du porte-clés et son fonctionnement.
1.2 • La messagerie d’accès
La messagerie d’accès est composée d’instruction de validation. Chaque instruction de validation
comprend:
un identificateur d’audience qui défini les destinataires de l’instruction de validation ;
un paramètre de validation qui indique des conditions particulières à satisfaire pour utiliser l’instruction
de validation
un message de validation qui est un cryptogramme de la combinaison d’accès.
1.2.1 • Le porte-clés
1 - contenu du porte-clés : La mémoire du porte-clés contient un certain nombre d’autorisations.
Chaque autorisation comprend :
un identificateur d’autorisation qui est le pendant de l’identificateur d’audience d’une instruction de
validation ;
un paramètre d’autorisation qui fixe des limites à l’autorisation : dans le cas du SYSTER, une
condition de date, la date du jour figurant dans le paramètre de validation devant être comprise entre
les dates de début et de fin figurant dans le paramètre d’autorisation.
une clé d’autorisation qui sert à paramétrer l’algorithme cryptographique exécuté dans le porte-clés
pour reconstituer une combinaison d’accès en déchiffrant un message de validation.
2 - vérification de l’accessibilité du service : Pour qu’un service soit accessible, il est nécessaire
que soit non vide l’intersection de l’ensemble des identificateurs d’autorisation inscrits dans le porteclés
et de l’ensemble des identificateurs d’audience contenus dans la messagerie d’accès.
3 - calcul de la combinaison d’accès : La combinaison d’accès est reconstituée dans le porte-clés
en déchiffrant un message de validation à l’aide d’un algorithme paramétré par la clé d’autorisation et
le paramètre de validation.
En France, nous avons vu 2 types de cryptage ( le D2MAC eurocrypt n’ayant pas survécu) :
DISCRET, utilisé en France jusque vers 1992, mais encore utilisé ailleurs (Belgique par ex).
SYSTER, qui a pris la succession du Discret en France.
Ces deux systèmes utilisent des méthodes différentes :
DISCRET décale les lignes dans le sens horizontal, de 0, 0,9 ou 1 ,81Js, selon un rythme pseudo
aléatoire.
NAGRAVISION ou SYSTER procède par mélange de lignes dans une image. Le cryptage obtenu par
cette méthode est bien plus efficace que le précédent.
Nous ne nous occuperons ici que de ce dernier système
Le même canal véhicule aussi bien l’information brouitlée, que les informations de débrouillage.
La chaîne de transmission se compose alors, des éléments suivants :
A l’émetteur :
Un système permettant le mélange de lignes du signal vidéo
Un système d’insertion des données de décryptage sur le signal vidéo.
A la réception :
Un système séparateur des données de décryptage
Un élément de calcul de décryptage

1.3 PRINCIPES GENERAUX DU NAGRAVISION/SYSTER

Avant de parler du décodage, il est bon de parler du codage.
C’est une méthode de cryptage où chaque ligne d’image (23 - 309) d’une trame d’une image en clair
reçoit un numéro pseudo aléatoire déterminant l’adresse (B) d’une ligne de mémoire dans laquelle
cette ligne sera stockée à la réception et où l’instant de l’émission la dite ligne est définie de sorte qu’à
la réception cette ligne provoque la sortie de la ligne précédemment stockée à cette adresse, au bon
moment, de sorte que l’image en clair soit reconstruite.
Chaque trame d’émission est codée par une fonction de cryptage différente de la trame précédente
A la réception, la fonction de décryptage doit suivre celle de l’émission.
Chaque fonction de cryptage consiste en l’émisston d’un groupe de lignes de l’image vidéo dans un
ordre différent de l’ordre normal d’une image en clair. A la réception, une mémoire comprenant un nb
prédéterminé de lignes (32), chaque mémoire de ligne étant capable de stocker 1 ligne reçue. Le
stockage d’une ligne reçue provoque la sortie de la ligne précédemment rangée à cette adresse,
indiquant pour chaque ligne émise, l’adresse en mémoire dans laquelle la ligne émise doit être
stockée, et déterminant l’instant d’émission de cette ligne, de sorte qu’elle remplace en mémoire la
ligne juste à l’instant où la précédente ligne doit être récupérée pour reconstituer l’image en clair.
A l’émetteur, la méthode de cryptage consiste à :
allouer à chaque ligne d’image l’adresse pseudo aléatoire de la mémoire dans laquelle cette ligne
sera stockée à la réception ;
déterminer l’instant d’émission (ou ordre d’émission) de cette ligne qui provoque à la réception, en
réponse au stockage de cette ligne en mémoire à son adresse, la sortie de la ligne précédemment
stockée à la même adresse, pour reconstituer l’image en clair.
A l’émetteur, la méthode de cryptage comprend :
maintenance permanente d’une table de correspondance entre d’une part le numéro d’identification
de chaque ligne d’au moins une trame de l’image en clair, et d’autre part son adresse de stockage en
mémoire, à la réception.
En bref, le système de cryptage stocke dans une mémoire de trame, l’image en clair dans l’ordre.
On détermine alors l’adresse de la ligne à sortir à partir d’une table dont l’accès est défini par le point
de départ dans cette table. Ce point d’accès est défini à chaque trame. On peut l’appeler OFFset.
L’évolution dans la table est définie par un autre paramètre, l’INCrément, qui vient s’ajouter à l’offset, à
chaque ligne (vidéo), donnant dans la table, le paramètre définissant la ligne à émettre.
Ces deux paramètres, OFF/INC sont calculé à partir de la fonction de brouillage. Cette fonction,
probablement compliquée et très secrète ne présente pour nous, qu’un intérêt restreint.
A la réception, il faut donc procéder à l’inverse.
Une fonction de décryptage défini la paire OFFSET/INCREMENT à appliquer à la même table, qui
nous fournira à chaque ligne l’adresse où aller stocker la ligne entrante, et sortir la ligne à envoyer à
l’écran.
Cette partie sera analysée en détails plus loin.
Simultanément, il faut que l’émetteur envoi les éléments pour que le récepteur puisse calculer cette
paire
OFF/INC. C’est le rôle de la partie numérique de la transmission, véhiculée par des lignes du signal
vidéo ne faisant pas partie de l’image utile. Ces lignes se trouvent pendant la suppression trame, entre
les lignes 5 et 23, et 317 et 345. Cet espace est aussi utilisé par le télétexte, pour envoyer des pages
d’informations ou de sous-titres, selon le standard CEEFAX, puisque la France n’a pas su imposer
son système ANTIOPE pourtant plus performant. …
Les informations qui nous intéressent sont donc mises en forme selon un standard proche du
CEEFAX, mais utilisant une fréquence bit plus faible, de façon à être sûr d’une bonne transmission,
même en cas de réception difficile ou de matériel mal réglé.
Il est utilisé 2 lignes par trame, pour véhiculer les informations. Que nous nommerons par la suite,
lignes DIDON, pour Diffusion de DONnées. Simultanément, ces lignes transportent des informations
relatives à la réactualisation des abonnés, et comme nous le verrons plus tard, à la modification ou
l’actualisation des programmes (logiciels) de fonctionnement des décodeurs.

A la réception, on a le schéma suivant :
Information brouillée + messagerie d’accès
1
messagerie d’accès <----1-----> information brouillée

\ 1-------> données claires
\ 1
> combinaison d’accès—>------1
C’est dans l’opération permettant de passer de la messagerie d’accès à la combinaison d’accès que
réside la sécurité du système.
Afin de ne pas contraindre les fabricants de terminaux par des règlements de sécurité, cette opération
est réalisée dans un organe périphérique du terminal : le porte-clés. Pour le SYSTER, ce porte-clés
prend la forme d’une petite clé en plastique contenant un microcontrôleur, et pour le numérique, la
forme d’une carte à puce, semblable aux cartes de crédit
Dans le système NAGRAVISION, la messagerie d’accès fournie au porte-clés un message codé
toutes les 2 secondes. Le porte-clés décrypte ce message et rend au décodeur, la combinaison à
appliquer pour les 2 secondes qui suivent. Ce message codé sera appelé plus loin ‹ cyphertext › ou
encore Question06, du nom de son indicatif.
Outre les informations propres au décryptage, il est nécessaire de disposer d’un système
d 'actualisation du porte-clés, afin que le client qui a acquitté son abonnement reçoivent les bonnes
informations, et que le client qui a cessé son abonnement ne reçoive pas les dites informations.
De quelles informations s’agit-il ?
Tout d’abord, la clé que le porte-clés doit utiliser comme variable pour effectuer le calcul correct sur
les informations de décryptage. C’est la ‹ clé de décryptage ›.
Ensuite, des informations sur les dates de validité de son abonnement. Ces dates définissent une
période pendant laquelle le porte-clés est autorisé à effectuer le calcul ou tout au moins, à fournir le
résultat.
Sur un système comme Canal+, qui compte quelques 4 millions d’abonnés, il faut pouvoir informer
chaque porte-clés individuellement.
Le système repose sur l’utilisation de salves d’octets, comportant les informations voulues, et
transmises sur les mêmes lignes DIDON que les Question06 citées plus haut. En effet, une
information de décryptage toutes les 2 secondes laisse de la place pour d’autres informations. Comme
on le verra plus loin, il y a 44 octets disponibles par trame d’image, soit toutes les 20ms.

1.3.1 PRINCIPE D’ACTUALISATION

Chaque porte-clés (la clef) est repéré par 2 éléments :
un numéro, inscrit sur l’étiquette, et
un numéro de client, inscrit dans la mémoire de la clef.
Le numéro de clef, inscrit sur l’étiquette, donc accessible facilement permet de relier la clef à un
groupe composé de 256 éléments.
Le numéro de client, se décompose en 2 parties : un ensemble de 3 octets, formant un numéro de
groupe, et un octet d’adressage, personnalisant la clef dans le groupe.
Un groupe couvre donc 256 clefs.
L’émetteur fabrique des salves d’information pour chaque groupe.
De cette manière, une salve d’information s’adresse à un ensemble de 256 clefs. Dans cette salve
d’information, une zone de 256 bits sert à désigner exactement la clef à qui est destinée l’information.
Chaque bit de cette zone de 256 désigne une clef bien précise du groupe.
Chaque salve d’information peut alors renseigner entre 1 et 256 clefs. Si dans un groupe tous les
abonnés ont acquitté leur dû, la zone de 256 bits sera tout à 1.
Par contre, si un abonné se retire, le bit qui concerne sa clef sera mis à 0, et les informations ne
seront pas prélevées par la clef.
Aussi, si pour une raison quelconque une clef n’est pas réactualisée alors qu’elle aurait dû l’être, une
réactualisation individuelle peut avoir lieu sur simple appel téléphonique (ou minitel). Dans ce cas, un
seul des bits de la zone d’adressage est à 1. On verra des exemples lors de l’étude des salves 05.
A l’initialisation, le décodeur à connaissance du numéro de groupe de la clef qu’il supporte, ce qui lui
permet de filtrer les informations utiles
Les informations transmises de cette manière sont :
Une salve pour l’actualisation de la plage de dates de validité.
Une salve pour l’actualisation des clés de décryptage
Une salve pour la désactivation des clefs hors circuit.

1.3.2 CRYPTAGE

Le son est également crypté, selon un système bien connu des amateurs émetteurs : une inversion
du spectre du signal, par modulation d’un signal à fréquence haute, et suppression de la bande
latérale haute (SSB en bref).
Voyons un peu plus en détail, le fonctionnement du système de décryptage.
Tous les débuts de trame, le processeur doit connaître la paire INCrément 1 OFFset qui lui permettra
de calculer à chaque ligne de la trame en question, les adresses du buffer vidéo à utiliser.
Bien entendu, cette paire INC 1 OFF doit être en concordance avec celle utilisée par l’émetteur au
moment du cryptage.
Cette paire est le résultat d’un calcul effectué au début de chaque ligne, à partir du résultat de la ligne
précédente. Ce résultat dépendant lui-même du résultat précédent, il est évident qu’il faut de temps
en temps ‹ remettre les pendules à l’heure ›, ne serait-ce que pour le client qui vient d’allumer son
téléviseur.
Cette réinitialisation est effectuée toutes les 2 secondes.
Le calcul est étalé sur 50 trames, soit 1 seconde. On a alors répétition de la séquence précédente
pour couvrir les 2 secondes de rafraîchissement.
Le rafraîchissement en question est obtenu par l’envoi par 1 'émetteur d’un nouveau paramètre de
calcul.
Comme on utilise une voie de transmission hertzienne, il n’est pas garantit que l’information transmise
arrive en bon état dans tous les cas de réception (échos, antennes défectueuses, propagation difficile,
etc.).
Il est donc nécessaire de s’assurer que l’information arrive correctement.
Pour ce faire, deux dispositifs sont en place :
Redondance de l’information,
Fonctions de contrôle et de correction.
Le bon sens nous fait penser que si l’on envoie plusieurs fois la même information, on multiplie les
chances d’en avoir une en bon état. C’est la redondance. Mais pour être sûr qu’elle est en bon état,
encore faut-il pouvoir le vérifier. C’est la fonction de contrôle et de correction.
• - Redondance de l’information.
Elle est obtenue par l’envoi d’un nombre élevé de fois (1 0) de la même information, dans des instants
relatifs différents. Qu’est-ce que cela veut dire ?
Une séquence télévisée est constituée d’une suite d’images, plus ou moins contrastées, et qui sont
différentes, de l’une à l’autre. Ces différences peuvent introduire, dans des récepteurs de qualité
moyenne, des différences de niveaux et de qualité de réception des lignes support de l’information. Si
l’on transmet la même information à des instants différents, sur des contenus d’image différents, on
peut espérer en avoir au moins une de bonne dans le tas.
Dans le cas du SYSTER, on a besoin d’une information nouvelle tous les 2 secondes. La période est
relativement courte pour des séquences télévisées. En effet, en 2 secondes, (sur des émissions
normales), les changements de paramètres d’images sont peu nombreux. On va donc étirer ce temps
sur 128 secondes. Ceci représente 64 informations à stocker. Par contre, on dispose alors de 128
secondes pour obtenir chaque information en bon état.
Ces informations prennent la forme d’une salve de 16 octets, que l’on appellera ici, pour la
commodité, Question06.
Avant l’utilisation d’une Question06, celle-ci est envoyée 10 fois, à des instants variables, dans les 128
secondes précédent son utilisation. Comme il y a 64 Questions à envoyer, celles-ci sont alternées
dans le temps. Compte tenu de la quantité d’information à transmettre, et de la place disponible pour
l’envoi, on arrive à 10 envois par seconde. Les séquences d’envoi sont générées par 10 compteurs
évoluant de 0 à 63, initialisés différemment.
Il a été dît précédemment, que la séquence de cryptage dure 1 seconde (50 trames), et est répétée 1
fois, soit 2 secondes avant chaque rafraîchissement. Une initialisation est effectuée après réception
des 10 envois. Cette même initialisation est répétée la seconde suivante. Si pour une raison
quelconque, c’est manqué, la seconde suivante, et en désespoir de cause (pour en manquer 10 à la
suite, il faut vraiment ne pas avoir de chance), la même information est envoyée par l’émetteur 1
seconde après.
Donc chaque information (Question06) est envoyée 11 fois : 10 fois avant utilisation, et une fois en
cours d’utilisation, pour que, avec pas beaucoup de chance, on n’ai qu’une seconde de perte de
synchro au lieu de deux. Comme on le verra plus loin, le cadencement des envois est synchronisé par
des mots ‹ d’adresse ›.
• - Contrôle et Correction
Il ne suffit pas d’envoyer souvent une information, encore faut-il pouvoir contrôler que ce qu’on reçoit
est correct.
Ceci est assuré par un contrôle par ‹ checksum › à la réception de l’information. Si la salve d’information
reçue est défectueuse, cette salve est mise à O. Plus tard, une fonction de correction sera appelée. On
verra cela plus loin, mais il est bien évident que si la réception est complètement ‹ pourrie ›, le
fonctionnement ne pourra pas être assuré correctement, mais même une image non cryptée ne serait
pas comestible …

1.4 LA RECEPTION

Nous voilà au bout du câble d’antenne …
Le récepteur, qu’il soit satellite ou terrestre démodule le signal HF reçu, et sort un signal vidéo et un
signal audio.
Le signal vidéo est porteur d’un ensemble de lignes de l’image, mélangées et de lignes porteuses de
l’information utile pour le décryptage. Ce signal vidéo est expédié à une boîte noire, le décodeur.

1.5 LE DECODEUR

Le système est conçu pour être complètement transparent pour l’utilisateur. Il reconnaît sans
intervention une émission qu’il sait décrypter, et par le jeu de la commande de commutation lente de
la prise péritel du TV, il s’insère automatiquement dans le circuit…
Signalons au passage que la boîte noire que tout le monde connaît sait décoder le NAGRAVISION,
mais aussi le DISCRET. De plus, il existe des émissions codées NAGRAVISION en SECAM, en
France, mais aussi en PAL, pour les autres pays européens

1.6 Schéma

Le schéma synoptique représente les principales fonctions de la section vidéo du décodeur.
Tout l’ensemble est cadencé par une horloge. Cette horloge est issue d’un quartz à 26,625MHz.
Cette fréquence n’est pas choisie au hasard.
Une ligne d’image vidéo composite, comprend une partie d’image utile et une partie signaux de
service.
La partie image utile occupe 52t…Js, et la partie service, le reste (12t…Js). Cette partie, aussi appelée
suppression ligne est décomposée en 2 zones ; La synchro ligne proprement dite sous forme d’une
impulsion négative de 0,3V et 2 paliers au niveau 0: le palier avant, qui suit la ligne précédente, pour
1 ,5tJS et le palier arrière, avant la partie utile de la ligne pour 4,9tJS. Ce palier est porteur d’une
information primordiale pour la couleur: c’est soit la salve de synchronisation PAL (burst), soit la salve
de référence couleur pour le SECAM. Cette salve fait partie intégrante de la ligne qui suit, et ne peut
en aucun cas en être séparée. On peut donc l’assimiler à la partie utile de la ligne. Ceci nous donne
52 + 4,9 égal 56,9iJS. On conserve aussi une partie du palier arrière de la ligne suivante, pour arriver à
57,690iJS.
Pour faire 768 points, il faut donc échantillonner toutes les 75,12 ns, soit 13,31250 MHz.
Pour des raisons pratiques exposées ultérieurement, on choisit le double, soit 26,625 MHz.
Le signal vidéo reçu par le téléviseur arrive par le port IN.
Il est dirigé d’une part vers le circuit séparateur de synchro pour générer les signaux de service
nécessaire au fonctionnement de l’ensemble, et d’autre part vers le convertisseur analogique 1
numérique TDA8708. Celui-ci transforme le signal analogique variant entre 0 et 1V en une suite de
niveaux logiques sur 8 fils (8 bits) donnant 256 niveaux possibles. (enfin pas tout à fait, on verra plus
tard)
Ces 8 bits sont appliqués à la mémoire de lignes, de capacité 32 lignes de 768 points 1 lignes, par
l’intermédiaire du gestionnaire de mémoire, qui effectue l’aiguillage correct des signaux, soit du
convertisseur AD vers la mémoire, soit de celle-ci vers le convertisseur Numérique 1 Analogique
(CDA) TDA8702. Ce gestionnaire reçoit ses ordres à partir du CPU qui commande l’ensemble.
Le signal numérique de la vidéo entrante est aussi appliqué au circuit extracteur de lignes DIDON.
Ce dernier récupère les informations envoyées par l’émetteur, et les transmet au CPU, qui prend les
décisions utiles. Ce même CPU sert d’interface entre les lignes DIDON porteuses d’informations, et le
système porte-clés qui effectue les calculs.
De ce synoptique, il ressort que la partie décodeur proprement dite n’est qu’un intermédiaire, et
gestionnaire. La partie qui contient le secret de fonctionnement se trouve dans le système porte-clés.
Il y a malgré tout quelques fonctions de calcul dans le CPU. En particulier, c 'est lui qui gère les tables
de calcul de l’Incrément 1 Offset. Il effectue également plusieurs fonctions de vérification de validité
des informations reçues par les lignes DIDON.
Les fonctions de gestion de mémoire et d’extraction des lignes DIDON sont rassemblées dans un
circuit qui répond au doux nom de HDC31.

Au moins, nous en savons plus sur le dialogue avec la clé, bien que le protocole série RS232 ne soit pas standard dans cette application.
Excellent travail de recherche.

oui très intéressant comme documentation, par contre les images postées des schémas sont trop petits, il faudrait les mettre en taille plus grande, dans un fichier zip sur un site de téléchargement,

ce qui serait utile aussi c’est de trouver un moyen de créer du VBI et de les injecter à une image analogique, c’est à dire réfléchir à un circuit électronique, avec des composants accessibles, pour qu’un particulier puisse sans se ruiner fabriquer un générateur/injecteur de VBI,

certains utilisent un montage à base de raspberry pi pour générer du VBI pour du teletexte, d’autres utilisent la technique « émetteur radio SDR » avec un PC et un périphérique USB HackRF One (qui coûte cher malheureusement, 300 euros), le PC fabrique ensuite du VBI via un logiciel SDR (c’est le projet actuel des membres du facebook sur le nagravision syster, ils réinjectent du VBI prélevé sur des vieilles cassettes VHS contenant une émission cryptée en syster)

Même architecture que les cartes pirates pour les émissions numériques par satellite cryptées. :wink:

Comment fonctionne l’extraction des données VBI depuis une VHS cryptée ?
J’imagine que cette méthode n’est envisageable que si la bande est en très bon état et la réception irréprochable au moment de l’enregistrement.

D’autre part, il a existé 2 façons d’afficher la consultation des droits d’accès: soit par affichage CVBS monochrome texte sur fond noir ou bien par superposition RVB au programme en cours, dont le graphisme est proche de celui du télétexte, donc cordon péritel cablé pour RVB requis.

Est-il vrai que le Syster pouvait afficher un message personnalisé pour l’abonné (en cas de problème technique ou autre situation qui le justifierait) ?

A quoi pouvait servir la touche ABC ?

pour extraire les données VBI d’une cassette VHS on peut utiliser une carte tuner TV PC, sous linux le pilote de la carte tuner (présent dans le noyau linux) possède le moyen d’accéder directement aux données VBI, avec un logiciel on peut faire afficher à l’écran les lignes du VBI (par exemple en utilisant mplayer), tu relies ton magnétoscope VHS à l’entrée vidéo composite (ou l’entrée antenne) d’une carte tuner, puis on lance mplayer en ligne de commande,

sous linux la carte tuner TV est vue comme un périphérique VBI via ce nom de fichier : /dev/vbi0, pour afficher le VBI on peut utiliser mplayer de cette façon :

mplayer /dev/vbi0 -demuxer rawvideo -rawvideo w=720:h=49:format=y8

puis on lance en parallèle un second processus mplayer qui affiche cette fois la vidéo de la VHS (les options sont à personnaliser, là j’ai mis le secam comme format et l’entrée antenne, avec fréquence de 503.250 mhz) :

mplayer  tv:// -tv driver=v4l2:norm=SECAM-L:input=0:width=720:height=576:outfmt=yv12:device=/dev/video0:freq=503.250

youtube.com/watch?v=sig0-tCNBp4

de là on peut ensuite convertir ces données visuelles en données numériques (un fichier de données) avec un programme analysant chaque trame de la vidéo représentant les lignes VBI,

il y a une documentation ici du noyau linux et de l’API vidéo v4l2 pour ceux qui voudraient développer sous linux une application accédant aux données VBI :
01.org/linuxgraphics/gfx-docs/d … w-vbi.html

les schemas du syster sont en telechargement ici:
1fichier.com/?489aiqf3c0
:wink:

D apres mes souvenirs et de ce que j avais pu lire sur le web la touche ABC servait a la maintenance du decodeur via la fiche DIN située a l arriere du decodeur.

Début 2016, Canal+ décide de « ressusciter » le cryptage analogique sur les émetteurs numériques. Le message affiché par les décodeurs est ainsi remplacé par une diffusion brouillée de la chaîne, avec un message incitant à s’abonner.

Excellente info!

Quelqu’un at-il des fichiers PIC16C / F84 + EEPROM pour émuler les clés?

Essaie de décrypter les données VBI à partir de cassettes VHS (Premiere Germany) mais c’est trop rapide et très compliqué pour obtenir de bonnes données. Espérait que la carte pirate répondrait avec de « bonnes » réponses (même si DCW pas correct) et le décodeur Syster serait activé.

Les signaux d’ adressage NAGRA SYSTER sont trop fragiles, la moindre aliénation et le déco decroche( VHS, ancien émetteur VHF, surtout en Bande I )

Je signal qu’ il y a eu les chaines P.TV sur le réseau câblé TELEGENEVE NAXOO à la fin des années 90 avant le passage au DVB-C( déco SAGEM ), en SYSTER NAGRAVISION en PAL , ces chaines étaient, en fait, celles d’ AB groupe, se trouvant en Couleur PAL et norme B/G en Interbande, Hyperbande, et UHF Bande V.

De plus, la redistribution de C+ analogique, en SYSTER NAGRAVISION, sur le câble Suisse Romand, interdisait le transcodage SECAM-PAL. La chaine restait distribuée en couleur SECAM, mais en norme B/G, comme certains pays du moyen orient, de la Grece, et de la DDR( situation en 1985 ).

Vous avez raison - c’est très difficile. J’ai des enregistrements de Premiere Germany par satellite et en utilisant le VHS avec correction de la base de temps mais je suppose que c’est l’enregistrement original qui n’est pas le meilleur (mais ce n’est pas si mal!)

youtube.com/watch?v=sig0-tCNBp4

youtube.com/watch?v=8UHXpKLnXoM

youtube.com/watch?v=0eawaBT2WYY

qu’est ce que c’est que ce logiciel exoTV ? (que vous utilisez )?

C’est similaire à MeuhMeuhTV.

hello
je possede les fichiers pic eprom pour emuler les clés. :smiley:
envoie moi ton email en mp afin que je te les envoie :wink:

Pour le cas où cela pourrait servir, j’ai une clé officielle Première (j’avais aussi le déco avec tuner B/G stéréo mais je l’ai benné).

captain jack si tu repasse sur ce forum , je t avais posé 2-3 questions en MP¨…
a plus !

J’ai répondu :smiley:

ok merci

Décortiquer les cartes à puce et autres nano-technologies ?
Sur cette chaîne YT, vous y verrez le décorticage de carte sim et bancaire, et bien d’autres choses intéressantes.
https://www.youtube.com/user/dexsilicium/videos

Il serait sûrement intéressant de décortiquer une clé Canal…