GRANET, Olivier (12 rue Joseph Kosma, Paris, Paris, F-75019, FR)
LE HENAFF, Sébastien (87 rue Eugène Labiche, Croissy Sur Seine, Croissy Sur Seine, F-78290, FR)
DANOIS, Pascal (2 Square de l'Hippodrome, Saint-cloud, Saint-cloud, F-92210, FR)
GRANET, Olivier (12 rue Joseph Kosma, Paris, Paris, F-75019, FR)
LE HENAFF, Sébastien (87 rue Eugène Labiche, Croissy Sur Seine, Croissy Sur Seine, F-78290, FR)
| REVENDICATIONS
1. Processeur de sécurité pour un décodeur propre à recevoir un signal multimédia embrouillé à l'aide d'un mot de contrôle, ce signal étant diffusé par une tête de réseau, ce processeur comportant une mémoire (62) non réinscriptible contenant un code (64) d'une application qui, lorsqu'il est exécuté par un microprocesseur, permet d'exécuter un ensemble d'opérations nécessaires aux traitements de messages ECM (Entitlement Control Message) et de messages EMM (Entitlement Management Message) pour en extraire le mot de contrôle nécessaire au désembrouillage du signal multimédia embrouillé caractérisé en ce que : - le processeur de sécurité comporte au moins un premier verrou (LOi, LPi, LCi, LEi, LF 1 ) réinscriptible dont la valeur est basculable entre une première et une seconde valeurs prédéterminées en réponse à un message EMM ou ECM,
- le code de l'application contient également une fonction de restriction apte à autoriser et, en alternance, à interdire, en réponse à la réception d'un même message ECM ou EMM et en fonction de la valeur du premier verrou, seulement une opération particulière du processeur de sécurité parmi l'ensemble des opérations nécessaires au traitement des messages ECM et EMM, tout en permettant au processeur de sécurité d' exécuter les autres opérations nécessaires au traitement des messages EMM et ECM qui n'ont pas été interdites, cette opération particulière étant choisie dans le groupe composé de : • l'utilisation d'une clé cryptographique enregistrée dans une mémoire du processeur de sécurité,
• le traitement d'un paramètre contenu dans un message EMM ou ECM reçu, et • l'exécution d'une fonction élémentaire d'accès conditionnel du code de l'application, chaque fonction élémentaire d'accès conditionnel du code de l'application étant exécutée indépendamment des autres fonctions élémentaires d'accès conditionnel de sorte que la non exécution d'une fonction élémentaire d'accès conditionnel n'empêche pas l'exécution, par le microprocesseur, de l'une quelconque des autres fonctions élémentaires d'accès conditionnel . 2. Processeur selon la revendication 1, dans lequel :
- la mémoire comporte au moins un champ FIELDKEY associé à l'une des clés cryptographiques, ce champ FIELDKEY contenant plusieurs verrous, ces verrous correspondant chacun à une fonction élémentaire d' accès conditionnel respective, et
- la fonction de restriction est apte à autoriser et, en alternance, à interdire l'utilisation de cette clé cryptographique par une fonction élémentaire d'accès conditionnel en fonction de la valeur du verrou contenu dans le champ FIELDKEY et correspondant à cette fonction élémentaire d'accès conditionnel.
3. Processeur selon l'une quelconque des revendications précédentes, dans lequel :
- le processeur de sécurité contient au moins une liste choisie parmi les listes suivantes :
• une liste FIELDPIEMM associée aux messages EMM non confidentiels, cette liste FIELDPIEMM contenant plusieurs verrous, ces verrous correspondant chacun à un paramètre respectif Pi susceptible d' être contenu dans un message EMM non confidentiel,
• une liste FIELDPIEMMC associée aux messages EMM confidentiels (Entitlement Management Message Confidential) , cette liste FIELDPIEMMC contenant plusieurs verrous, ces verrous correspondant chacun à un paramètre respectif P 1 susceptible d' être contenu dans un message EMM confidentiel, et
• une liste FIELDPIECM associée aux messages ECM, cette liste FIELDPIECM contenant plusieurs verrous, ces verrous correspondant chacun à un paramètre respectif P 1 susceptible d'être contenu dans un message ECM,
- la fonction de restriction est apte à autoriser et, en alternance, à interdire le traitement d'un paramètre P 1 contenu dans un message reçu par le processeur de sécurité en fonction de la valeur du verrou correspondant à ce paramètre dans la liste associée à ce message.
4. Processeur selon l'une guelconque des revendications précédentes, dans lequel : - le processeur de sécurité comporte une liste
FIELDFCT associée aux fonctions élémentaires d'accès conditionnel, cette liste FIELDFCT contenant plusieurs verrous, ces verrous correspondant chacun à une fonction élémentaire d'accès conditionnel respective, et - la fonction de restriction est apte à autoriser et, en alternance, à interdire l'exécution d'une fonction élémentaire d' accès conditionnel en fonction de la valeur du verrou de la liste FIELDFCT correspondant à cette fonction élémentaire d'accès conditionnel. 5. Processeur selon l'une quelconque des revendications précédentes dans lequel :
- le processeur de sécurité comprend au moins un second verrou réinscriptible dont la valeur est basculable entre une première et une seconde valeurs prédéterminées en réponse à un message EMM ou ECM,
- la fonction de restriction est apte à interdire en fonction de la valeur de ce second verrou : • l'utilisation de toute clé cryptographique nécessaire pour faire basculer la valeur du premier ou du second verrou,
• le traitement de tout paramètre contenu dans un message EMM propre à faire basculer la valeur du premier ou du second verrou, et
• l'exécution de toute fonction élémentaire d' accès conditionnel propre à faire basculer la valeur du premier ou du second verrous. 6. Processeur selon l'une quelconque des revendications précédentes, dans lequel la fonction élémentaire d'accès conditionnel est différente d'une fonction d'inscription de nouveaux titres d'accès et d'une fonction d'inscription de nouvelles clés cryptographiques. 7. Procédé de configuration du comportement d'un processeur de sécurité pour un décodeur propre à recevoir un signal multimédia embrouillé à l'aide d'un mot de contrôle, ce signal étant diffusé par une tête de réseau, ce procédé comportant : - la fourniture d'au moins un premier verrou réinscriptible dont la valeur est basculable entre une première et une seconde valeurs prédéterminées en réponse à un message EMM, l'autorisation et, en alternance, l'interdiction (110, 114, 118), en réponse au même message EMM ou ECM et en fonction de la valeur du premier verrou, de seulement une opération particulière du processeur de sécurité parmi l'ensemble des opérations nécessaires au traitement des messages ECM et EMM, tout en permettant au processeur de sécurité d'exécuter les autres opérations nécessaires au traitement des messages EMM et ECM qui n'ont pas été interdites, cette opération particulière étant choisie dans le groupe composé de : • l'utilisation (120) d'une clé cryptographique enregistrée dans une mémoire du processeur de sécurité,
• le traitement (112) d'un paramètre contenu dans un message EMM ou ECM reçu, et • l'exécution (116) d'une fonction élémentaire d'accès conditionnel par le processeur de sécurité, chaque fonction élémentaire d' accès conditionnel étant exécutée indépendamment des autres fonctions élémentaires d' accès conditionnel de sorte que la non exécution d'une fonction élémentaire d'accès conditionnel n'empêche pas l'exécution, par le processeur de sécurité, de l'une quelconque des autres fonctions élémentaires d'accès conditionnel.
8. Procédé selon la revendication 7, dans lequel le procédé comporte : - la fourniture d'une mémoire contenant au moins un champ FIELDKEY associé à l'une des clés cryptographiques, ce champ FIELDKEY contenant plusieurs verrous, ces verrous correspondant chacun à une fonction élémentaire respective, et - l'autorisation et, en alternance, l'interdiction de l'utilisation de cette clé cryptographique associée au champ FIELDKEY par une fonction élémentaire d' accès conditionnel en fonction de la valeur du verrou qui est contenu dans le champ FIELDKEY et qui correspond à cette fonction élémentaire d' accès conditionnel .
9. Procédé selon la revendication 7 ou 8, dans lequel le procédé comporte :
- la fourniture d'une mémoire contenant au moins une liste choisie parmi les listes suivantes :
• une liste FIELDPIEMM associée aux messages EMM non confidentiels, cette liste FIELDPIEMM contenant plusieurs verrous, ces verrous correspondant chacun à un paramètre respectif P 1 susceptible d' être contenu dans un message EMM non confidentiel,
• une liste FIELDPIEMMC associée aux messages EMM confidentiels (Entitlement Management Message Confidential) , cette liste FIELDPIEMMC contenant plusieurs verrous, ces verrous correspondant chacun à un paramètre respectif Pi susceptible d'être contenu dans un message EMM confidentiel, et
• une liste FIELDPIECM associée aux messages ECM, cette liste FIELDPIECM contenant plusieurs verrous, ces verrous correspondant chacun à un paramètre respectif P 1 susceptible d' être contenu dans un message ECM, et l'autorisation et, en alternance, l'interdiction du traitement d'un paramètre P 1 contenu dans un message reçu par le processeur de sécurité en fonction de la valeur du verrou correspondant à ce paramètre dans la liste associée à ce message.
10. Procédé selon l'une quelconque des revendications 7 à 9, dans lequel le procédé comporte : la fourniture d'une mémoire comportant une liste FIELDFCT associée aux fonctions élémentaires d'accès conditionnel, cette liste FIELDFCT contenant plusieurs verrous, ces verrous correspondant chacun à une fonction élémentaire d'accès conditionnel respective, et - l'autorisation et, en alternance, l'interdiction de l'exécution d'une fonction élémentaire d' accès conditionnel en fonction de la valeur du verrou dans la liste FIELDFCT correspondant à cette fonction élémentaire d'accès conditionnel. 11. Procédé selon l'une quelconque des revendications 7 à 10, dans lequel le procédé comporte la configuration initiale par défaut de la valeur de chaque verrou pour que, en réponse à la réception du premier message EMM ou ECM diffusé par la tête de réseau, aucune opération particulière ne soit interdite.
12. Procédé selon l'une quelconque des revendications 7 à 11, dans lequel le procédé comporte : - la réception dans un même message EMM :
• d'un premier paramètre déclenchant le basculement de la valeur du premier verrou pour autoriser une opération particulière du processeur de sécurité,
• d'un deuxième paramètre déclenchant l'exécution de cette même opération particulière, et
• d'un troisième paramètre déclenchant le basculement de la valeur du premier verrou pour interdire cette même opération particulière, et
- le traitement dans l'ordre par le processeur de sécurité du premier, du deuxième et du troisième paramètres .
13. Procédé selon l'une quelconque des revendications 7 à 12, dans lequel la fonction élémentaire d'accès conditionnel est différente d'une fonction d'inscription de nouveaux titres d'accès et d'une fonction d'inscription de nouvelles clés cryptographiques.
14. Support d' enregistrement d' informations contenant des instructions pour l'exécution d'un procédé de configuration conforme à l'une quelconque des revendications 7 à 13, lorsque ces instructions sont exécutées par un microprocesseur d'un processeur de sécurité. |
PROCESSEUR DE SECURITE ET PROCEDE ET SUPPORT D'ENREGISTREMENT POUR CONFIGURER LE COMPORTEMENT DE CE
PROCESSEUR
L'invention concerne un processeur de sécurité, un procédé et un support d' enregistrement pour configurer le comportement de ce processeur.
Il existe des processeurs de sécurité pour un décodeur propre à recevoir des signaux multimédias embrouillés à l'aide d'un mot de contrôle. Ces processeurs, tels qu'une carte à puce enfichable dans le décodeur, un module matériel intégré dans le décodeur ou un module logiciel s' exécutant dans le décodeur, comportent notamment une mémoire non réinscriptible, cette mémoire contenant un code d'une application qui, lorsqu'il est exécuté par un microprocesseur, permet d'exécuter un ensemble d'opérations nécessaires aux traitements des messages d' accès conditionnel transmis par un émetteur d'un opérateur pour en extraire le mot de contrôle nécessaire au désembrouillage du signal multimédia embrouillé.
Il existe plusieurs types de messages d' accès conditionnel, tels que les messages ECM (Entitlement Control Message) ou les messages EMM (Entitlement Management Message), d'autres types pouvant être définis. Des variantes sont possibles : il existe des messages EMM dont le contenu n'est pas crypté, appelés ici « message EMM non confidentiel», et des messages EMM confidentiels dont le contenu est crypté, appelés ici messages EMMC (Entitlement Management Message Confidential) . Dans la suite de cette description et dans le jeu de revendications, à moins d'indications contraires, le terme « EMM » désigne aussi bien un message EMM non confidentiel qu'un message EMMC.
II est parfois souhaitable de modifier le comportement du processeur de sécurité. Ceci est en particulier souhaitable lorsqu'un pirate a trouvé une faille sécuritaire dans le code de l'application et exploite cette faille pour obtenir frauduleusement le droit de désembrouiller le signal multimédia.
Dans ce sens, la demande de brevet publiée sous le numéro WO-03 075233 enseigne de ménager dans le code de l'application des ouvertures pour autoriser le branchement de portion de substitution de codes, appelée « PATCH ». Par exemple, le « PATCH » est exécuté par le microprocesseur en lieu et place d'une portion du code d'application présentant une faille sécuritaire. Ces « PATCH » permettent donc de modifier le comportement du processeur de sécurité. Ces « PATCH » sont enregistrés dans une mémoire non volatile réinscriptible. Ainsi, il est possible de remplacer un « PATCH » par un autre « PATCH ». Cette possibilité est potentiellement dangereuse car elle pourrait être exploitée par un pirate pour implémenter dans la mémoire non volatile réinscriptible du processeur de sécurité, un PATCH pirate lui permettant, par exemple, d'autoriser frauduleusement le déchiffrement du mot de contrôle .
L'invention vise à résoudre ce problème. L'invention a donc pour objet un processeur de sécurité dans lequel :
- le processeur de sécurité comporte au moins un premier verrou réinscriptible dont la valeur est basculable entre une première et une seconde valeurs prédéterminées en réponse à un message EMM,
- le code de l'application contient également une fonction de restriction apte à autoriser et, en alternance, à interdire, en réponse à la réception d'un même message ECM ou EMM et en fonction de la valeur du premier verrou,
seulement une opération particulière du processeur de sécurité parmi l'ensemble des opérations nécessaires au traitement des messages ECM et EMM, tout en permettant au processeur de sécurité d'exécuter les autres opérations nécessaires au traitement des messages EMM et ECM qui n'ont pas été interdites, cette opération particulière étant choisie dans le groupe composé de :
• l'utilisation d'une clé cryptographique enregistrée dans une mémoire du processeur de sécurité, • le traitement d'un paramètre contenu dans un message EMM ou ECM reçu, et
• l'exécution d'une fonction élémentaire d'accès conditionnel du code de l'application, chaque fonction élémentaire d'accès conditionnel du code de l'application étant exécutée indépendamment des autres fonctions élémentaires d' accès conditionnel de sorte que la non exécution d'une fonction élémentaire d'accès conditionnel n'empêche pas l'exécution, par le microprocesseur, de l'une quelconque des autres fonctions élémentaires d' accès conditionnel.
Le comportement du processeur de sécurité ci-dessus, en réponse au même message EMM ou ECM, peut être modifié en faisant basculer la valeur du premier verrou entre sa première valeur et sa seconde valeur. Pour modifier le comportement de ce processeur de sécurité, il n'est donc pas nécessaire d' implémenter des portions de code de l'application dans une mémoire réinscriptible ce qui rend ce processeur de sécurité plus sûr. Il n'est pas non plus nécessaire de modifier les messages ECM ou EMM diffusés par la tête de réseau. Tout au plus, il est nécessaire de prévoir l'envoi d'un message EMM contenant un nouveau paramètre en réponse auquel le verrou bascule entre la première et la seconde valeur.
On remarquera également que ce processeur de sécurité présente au moins un des avantages suivant : interdire l'utilisation d'une clé cryptographique permet d'empêcher l'exécution d'une fonction élémentaire d'accès conditionnel lorsque celle-ci utilise une clé cryptographique particulière sans pour autant empêcher l'exécution de la même fonction lorsque celle-ci utilise une autre clé cryptographique ce qui augmente les possibilités de réglage du comportement du processeur de sécurité vis-à-vis des clés cryptographiques, interdire le traitement d'un paramètre d'un message EMM ou ECM empêche l'exécution d'une fonction élémentaire d' accès conditionnel qui aurait dû être déclenchée en réponse à la réception de ce paramètre sans pour autant empêcher le déclenchement de l'exécution de la même fonction élémentaire d'accès conditionnel pour traiter un autre paramètre reçu ce qui permet d' augmenter les possibilités de réglage du comportement du processeur de sécurité vis-à-vis des paramètres contenus dans les messages EMM et ECM, l'interdiction d'une fonction élémentaire d'accès conditionnel permet de désactiver définitivement ou temporairement une fonction élémentaire d' accès conditionnel présentant une faille sécuritaire ce qui peut être utilisé pour rendre le comportement du processeur de sécurité plus sûr.
Les modes de réalisation de ce processeur de sécurité peuvent comporter une ou plusieurs des caractéristiques suivantes : - la mémoire comporte au moins un champ FIELDKEY associé à l'une des clés cryptographiques, ce champ FIELDKEY contenant plusieurs verrous, ces verrous correspondant chacun à une fonction élémentaire d' accès conditionnel respective, et la fonction de restriction est
apte à autoriser et, en alternance, à interdire l'utilisation de cette clé cryptographique par une fonction élémentaire d'accès conditionnel en fonction de la valeur du verrou contenu dans le champ FIELDKEY et correspondant à cette fonction élémentaire d'accès conditionnel ;
- le processeur de sécurité contient au moins une liste choisie parmi les listes suivantes :
• une liste FIELDPIEMM associée aux messages EMM non confidentiels, cette liste FIELDPIEMM contenant plusieurs verrous, ces verrous correspondant chacun à un paramètre respectif P 1 susceptible d' être contenu dans un message EMM non confidentiel,
• une liste FIELDPIEMMC associée aux messages EMM confidentiels (Entitlement Management Message Confidential) , cette liste FIELDPIEMMC contenant plusieurs verrous, ces verrous correspondant chacun à un paramètre respectif P 1 susceptible d'être contenu dans un message EMM confidentiel, et
• une liste FIELDPIECM associée aux messages ECM, cette liste FIELDPIECM contenant plusieurs verrous, ces verrous correspondant chacun à un paramètre respectif P 1 susceptible d'être contenu dans un message ECM, et la fonction de restriction est apte à autoriser et, en alternance, à interdire le traitement d'un paramètre Pi contenu dans un message reçu par le processeur de sécurité en fonction de la valeur du verrou correspondant à ce paramètre dans la liste associée à ce message ;
- le processeur de sécurité comporte une liste FIELDFCT associée aux fonctions élémentaires d' accès conditionnel, cette liste FIELDFCT contenant plusieurs verrous, ces verrous correspondant chacun à une fonction élémentaire d'accès conditionnel respective, et la fonction de restriction est apte à autoriser et, en alternance, à
interdire l'exécution d'une fonction élémentaire d'accès conditionnel en fonction de la valeur du verrou de la liste FIELDFCT correspondant à cette fonction élémentaire d' accès conditionnel ; - le processeur de sécurité comprend au moins un second verrou réinscriptible dont la valeur est basculable entre une première et une seconde valeurs prédéterminées en réponse à un message EMM, la fonction de restriction étant apte à autoriser ou en alternance à interdire en fonction de la valeur de ce second verrou :
• l'utilisation de toute clé cryptographique nécessaire pour faire basculer la valeur du premier ou du second verrou,
• le traitement de tout paramètre contenu dans un message EMM propre à faire basculer la valeur du premier ou du second verrou, et
• l'exécution de toute fonction élémentaire d'accès conditionnel propre à faire basculer la valeur du premier ou du second verrous ; - la fonction élémentaire d'accès conditionnel est différente d'une fonction d'inscription de nouveaux titres d'accès et d'une fonction d'inscription de nouvelles clés cryptographiques.
Ces modes de réalisation présentent en outre les avantages suivants :
- l'utilisation d'un champ FIELDKEY permet de rendre le processeur de sécurité plus sûr car il permet de rendre une clé cryptographique inutilisable par certaines fonctions élémentaires présentant une faille sécuritaire tout en conservant la possibilité d'utiliser cette même clé cryptographique pour d'autres fonctions élémentaires dépourvues de faille sécuritaire,
l'utilisation d'au moins une liste choisie parmi les listes FIELDPIEMM, FIELDPIEMMC et FIELDPIECM permet d'accroître les possibilités de réglage du comportement du processeur de sécurité en autorisant ou en interdisant le traitement d'un même paramètre en fonction du message dans lequel il est contenu ; en outre l'utilisation d'au moins les listes FIELDPIEMM et FIELDPIEMMC permet d'imposer qu'un paramètre, pour qu'il soit traité, soit dans un EMM confidentiel, ce paramètre étant interdit dans la liste FIELDPIEMM et autorisé dans la liste FIELDPIEMMC,
- l'utilisation de la liste FIELDFCT permet de régler le comportement du processeur de sécurité fonction élémentaire d' accès conditionnel par fonction élémentaire d'accès conditionnel, empêcher l'utilisation de toute clé ou le traitement de tout paramètre où l'exécution de toute fonction susceptibles de modifier la valeur du premier ou du second verrou permet de figer définitivement le comportement du processeur de sécurité en ce qui concerne les opérations autorisées ou interdites par le premier verrou.
L'invention a également pour objet un procédé de configuration du processeur de sécurité ci-dessus dans lequel le procédé comporte :
- la fourniture d'au moins un premier verrou réinscriptible dont la valeur est basculable entre une première et une seconde valeurs prédéterminées en réponse à un message EMM, - l'autorisation, en alternance, l'interdiction, en fonction de la valeur du premier verrou, de seulement une opération particulière du processeur de sécurité parmi l'ensemble des opérations nécessaires au traitement des messages ECM et EMM, tout en permettant au processeur de
sécurité d'exécuter les autres opérations nécessaires au traitement des messages EMM et ECM qui n' ont pas été interdites, cette opération particulière étant choisie dans le groupe composé de : • l'utilisation d'une clé cryptographique enregistrée dans une mémoire du processeur de sécurité,
• le traitement d'un paramètre contenu dans un message EMM ou ECM reçu, et
• l'exécution d'une fonction élémentaire d'accès conditionnel par le processeur de sécurité, chaque fonction élémentaire d' accès conditionnel étant exécutée indépendamment des autres fonctions élémentaires d' accès conditionnel de sorte que la non exécution d'une fonction élémentaire d'accès conditionnel n'empêche pas l'exécution, par le processeur de sécurité, de l'une quelconque des autres fonctions élémentaires d'accès conditionnel.
Les modes de réalisation de ce procédé de configuration peuvent comporter une ou plusieurs des caractéristiques suivantes : - la fourniture d'une mémoire contenant au moins un champ FIELDKEY associé à l'une des clés cryptographiques, ce champ FIELDKEY contenant plusieurs verrous, ces verrous correspondant chacun à une fonction élémentaire d'accès conditionnel respective, et l'autorisation et, en alternance, l'interdiction de l'utilisation de cette clé cryptographique associée au champ FIELDKEY par une fonction élémentaire d'accès conditionnel en fonction de la valeur du verrou qui est
- contenu dans le .champ FIELDKEY et qui correspond à cette fonction élémentaire d'accès conditionnel ;
- la fourniture d'une mémoire contenant au moins une liste choisie parmi les listes suivantes :
• une liste FIELDPIEMM associée aux messages EMM non confidentiels, cette liste FIELDPIEMM contenant plusieurs verrous, ces verrous correspondant chacun à un paramètre respectif Pi susceptible d' être contenu dans un message EMM non confidentiel,
• une liste FIELDPIEMMC associée aux messages EMM confidentiels (Entitlement Management Message Confidential) , cette liste FIELDPIEMMC contenant plusieurs verrous, ces verrous correspondant chacun à un paramètre respectif Pi susceptible d'être contenu dans un message EMM confidentiel, et
• une liste FIELDPIECM associée aux messages ECM, cette liste FIELDPIECM contenant plusieurs verrous, ces verrous correspondant chacun à un paramètre respectif Pi susceptible d'être contenu dans un message ECM, et l'autorisation et, en alternance, l'interdiction du traitement d'un paramètre Pi contenu dans un message reçu par le processeur de sécurité en fonction de la valeur du verrou correspondant à ce paramètre dans la liste associée à ce message ; la fourniture d'une mémoire comportant une liste FIELDFCT associée aux fonctions élémentaires d' accès conditionnel, cette liste FIELDFCT contenant plusieurs verrous, ces verrous correspondant chacun à une fonction élémentaire d'accès conditionnel respective, et l'autorisation et, en alternance, l'interdiction de l'exécution d'une fonction élémentaire d'accès conditionnel en fonction de la valeur du verrou dans la liste FIELDFCT correspondant à cette fonction élémentaire d' accès conditionnel ; la configuration initiale par défaut de la valeur de chaque verrou pour que, en réponse à la réception
du premier message EMM ou ECM diffusé par la tête de réseau, aucune opération particulière ne soit interdite ; - la réception dans un même message EMM :
• d' un premier paramètre déclenchant le basculement de la valeur du premier verrou pour autoriser une opération particulière du processeur de sécurité,
• d'un deuxième paramètre déclenchant l'exécution de cette même opération particulière, et
• d'un troisième paramètre déclenchant le basculement de la valeur du premier verrou pour interdire cette même opération particulière, et le traitement dans l'ordre par le processeur de sécurité du premier, du deuxième et du troisième paramètres ; - la fonction élémentaire d' accès conditionnel est différente d'une fonction d'inscription de nouveaux titres d'accès et d'une fonction d'inscription de nouvelles clés cryptographiques .
Les modes de réalisation de ce procédé de configuration présentent en outre les avantages suivants : la configuration initiale de la valeur de chaque verrou pour autoriser l'ensemble des opérations nécessaires au traitement des messages ECM et EMM, accroît la sécurité du processeur de sécurité car un pirate pourra éventuellement modifier le comportement du processeur de sécurité uniquement pour interdire des opérations particulières, et autoriser une opération particulière puis, immédiatement après, exécuter cette opération particulière, puis immédiatement, après interdire cette opération particulière permet d'empêcher un pirate d'exploiter une faille sécuritaire dans cette opération particulière car
l'exécution de cette opération particulière n'est rendue possible que pendant un très court laps de temps.
L'invention a également pour objet un support d'enregistrement d'informations comportant des instructions pour l'exécution du procédé de configuration ci-dessus lorsque ces instructions sont exécutées par un microprocesseur .
L' invention sera mieux comprise à la lecture de la description qui va suivre, donné uniquement à titre d'exemple non limitatif et faite en se référant aux dessins sur lesquels : la figure 1 est une illustration schématique de l'architecture d'un système de transmission de signaux multimédias embrouillés ; - les figures 2 et 3 sont des illustrations schématiques de portion de trame de message EMM et ECM ;
- les figures 4, 5 et 6 sont des exemples de structure de données utilisées dans le système de la figure 1 ; - la figure 7 est un organigramme d'un procédé de configuration du comportement d'un processeur de sécurité du système de la figure 1 ; et
- la figure 8 est une illustration schématique d'une portion d'une trame d'un message EMM de configuration.
Dans la suite de cette description, les caractéristiques et les fonctions bien connues de l'homme du métier ne sont pas décrites en détail.
La figure 1 représente un système 2 de transmission de signaux multimédias embrouillés. Les signaux multimédias sont, par exemple, des signaux audiovisuels correspondant à des programmes audiovisuels de chaînes de télévision.
Le système 2 comporte un émetteur 4 de signaux multimédias embrouillés à l'aide d'un mot de contrôle CW à
destination d'un grand nombre de récepteurs par l'intermédiaire d'un réseau 6 de transmission d'informations. L'émetteur 4 est connu sous le terme de « tête de réseau ». Pour simplifier la figure 1, seul un récepteur 8 est représenté .
Le réseau 6 est, par exemple, un réseau hertzien tel qu'illustré ici ou un réseau câblé grande distance.
Ici, les signaux multimédias sont générés par deux opérateurs distincts 7A et 7B. Plus précisément, chaque opérateur 7A, 7B génère les signaux multimédias en clair, c'est-à-dire non embrouillés, et les transmet à l'émetteur 4 qui se charge de leur embrouillage avant leur diffusion par l'intermédiaire du réseau 6. Dans la suite de cette description, les opérateurs 7A et 7B sont, respectivement, associés aux identifiants d'opérateurs SOIDi et SOID 2 .
L' émetteur 4 est apte à envoyer concomitamment aux signaux multimédias embrouillés des messages ECM et des messages EMM. Par exemple, les signaux multimédia embrouillés et les messages ECM et EMM sont multiplexes dans un même paquet d'informations.
Les figures 2 et 3 représentent des exemples de structure de trame, respectivement, d'un message EMM et d'un message ECM conforme à la norme UTE C90-007.
La trame du message EMM débute par un champ ADR contenant un identifiant ADR d'un récepteur particulier ou d'un groupe de récepteurs. Dans le cas où le message EMM est adressé à l'ensemble des récepteurs du système 2, le champ ADR peut être omis.
Ensuite, le message EMM contient des paramètres P 1 destinés à configurer les récepteurs pour que ceux-ci puissent désembrouiller correctement les signaux multimédia pour lesquels un abonnement a été souscrit. Chacun de ces
paramètres est codé en utilisant une structure TLV (Type Length Value) . Dans ces conditions, chaque paramètre P ± est formé par la juxtaposition de trois champs PI 1 , LIi et Vi. Le champ PIi contient un identifiant PI 1 du paramètre P 1 . Le champ Li contient une valeur indiquant qu' elle est la longueur du champ V 1 . Le champ V ± contient la valeur du paramètre Pi.
Sur la figure 2, un paramètre SOID et un paramètre MAC, systématiquement présent dans les messages EMM, ont également été représentés. Le paramètre SOID contient l'identifiant SOID de l'opérateur diffusant ce message EMM. Le paramètre MAC (Message Authentification Code) contient un code permettant de vérifier l'authenticité et l'intégrité du message EMM. Les traits verticaux ondulés indiquent que seule une partie de la structure du message EMM est représentée sur la figure 2.
Contrairement au message EMM, la structure d'un message ECM ne contient pas de champ ADR puisqu' un message ECM s'adresse a priori à l'ensemble des récepteurs du système 2. Le message ECM comprend également plusieurs paramètres codés selon la structure TLV. Typiquement, le message ECM comprend un paramètre SOID et un paramètre MAC ayant les mêmes fonctionnalités que celles déjà décrites en regard de la figure 2.
Ensuite, le message ECM comprend un paramètre AC et un paramètre CW*. Le paramètre AC contient une condition d' accès aux signaux multimédias . Ce paramètre AC est ici identifié dans le message ECM par un identifiant PI AC - Sa longueur est définie dans un champ L AC et sa valeur est contenue dans un champ V AC - Quand l'accès aux signaux multimédias dépend de plusieurs conditions, le message ECM peut contenir plusieurs paramètres AC.
Le paramètre CW* est destiné à contenir un cryptogramme CW* du mot de contrôle utilisé pour embrouiller les signaux multimédias. Ce cryptogramme CW* est généré par l'émetteur 4 en chiffrant le mot de contrôle CW à l'aide d'une clé d'exploitation K e . Ici, ce paramètre CW* est identifié par un identifiant PI CWλ sa longueur est contenue dans un champ L C w et sa valeur est contenue dans un champ V C w-
Comme sur la figure 2, dans la figure 3, les traits verticaux ondulés indiquent que le message ECM peut contenir d'autres paramètres.
Le récepteur 8 est apte à recevoir les signaux multimédias embrouillés ainsi que les messages ECM et EMM. A cet effet, le récepteur 8 comporte un décodeur ou terminal 40 raccordé à un processeur de sécurité 42. Le processeur 42 est, par exemple, un processeur amovible telle qu'une carte à puce qui peut être insérée dans le décodeur 40. Le processeur 42 communique avec le décodeur 40 par l'intermédiaire d'une interface processeur/décodeur. Typiquement, l'interface est formée de connecteurs électriques, chaque connecteur ayant un élément mâle et un élément femelle chacun solidaire, soit du décodeur, soit du processeur. L'interface entre le décodeur 40 et le processeur 42 est, par exemple, conforme à la norme ISO 7816.
Le décodeur 40 est, ici, équipé d'une antenne 44 pour recevoir les différents signaux diffusés par l'émetteur 4. Cette antenne 44 est raccordée à un bloc 46 de démultiplexage des signaux et, éventuellement, de filtrage de ces signaux. En sortie de ce bloc 46, les signaux multimédias embrouillés sont envoyés à un désembrouilleur 48. Les messages EMM et ECM sont quant à eux envoyés au processeur 42.
Le désembrouilleur 48 est apte à désembrouiller les signaux multimédias embrouillés à l'aide du mot de contrôle CW déchiffré par le processeur 42.
Le décodeur 40 est raccordé à un dispositif 50 d'affichage des signaux multimédias désembrouillés tel que, par exemple, un poste de télévision. Le processeur 42 est équipé :
- d'un microprocesseur électronique 60, d'une mémoire 62 non réinscriptible et non volatile contenant un code 64 d'une application qui, lorsqu'elle est exécutée par le microprocesseur 60, permet de traiter les messages ECM et EMM afin de permettre le déchiffrement du mot de contrôle nécessaire au désembrouillage des signaux multimédias reçus, et - une mémoire réinscriptible 66 non volatile telle que par exemple une mémoire EEPROM (Electrically Erasable Programmable Read OnIy Memory) .
L'application représentée par le code 64 est composée d'un ensemble de fonctionnalités élémentaires caractéristiques du traitement des messages d'accès conditionnel. Chacune de ces fonctionnalités élémentaires d' accès conditionnel peut être exécutée indépendamment les unes des autres. Ainsi, la non-exécution d'une telle fonctionnalité élémentaire n'empêche pas l'exécution, par le microprocesseur, de l'une quelconque de ces autres fonctionnalités élémentaires. Par simplification, dans la suite, on appellera « fonction élémentaire » une telle fonctionnalité élémentaire d'accès conditionnel.
A titre d' illustration la mémoire 62 contient une table 70 permettant d'identifier quels traitements du code doivent être exécutés pour réaliser cette fonction élémentaire. Le tableau ci-dessous donne des exemples de fonctions élémentaires. Les première et deuxième colonnes de ce tableau contiennent pour chaque fonction élémentaire,
respectivement, un identifiant de la fonction élémentaire et une brève description de l'opération réalisée par cette fonction élémentaire.
Tableau 1
IdFl Déchiffrement d'un cryptogramme CW* l'aide d'une clé K e
IdF2 Vérification du paramètre MAC d'un message ECM
IdF3 Déchiffrement d'un message EMM confidentiel
IdF4 Modification du plafond autorisé en achat impulsif
IdF5 Inscription d'un nouveau titre d'accès
IdF6 Inscription ou modification d'une clé cryptographique K e après déchiffrement de son cryptogramme à l'aide d'une clé K s
IdF7 Configuration de la valeur des verrous
IdF8 Comparaison des conditions d'accès reçues aux titres d' accès contenus dans le processeur de sécurité
Le code 64 contient également une fonction élémentaire particulière, dite « fonction de restriction », illustrée comme fonction Idf7 dans le tableau 1, qui sera décrite plus en détail en regard de la figure 1.
La mémoire 62 contient également une table 72 comportant les informations nécessaires pour déterminer quelle est la ou quelles sont les fonctions élémentaire (s) dont l'exécution doit être déclenchée pour traiter les données identifiées par un identifiant Pi reçu.
Le tableau ci-dessous donne des exemples de paramètres
Pi susceptibles d'être contenu dans un message EMM ou ECM.
La première colonne de ce tableau contient l'identifiant du paramètre Pi et la deuxième colonne définit succinctement ce paramètre Pi.
Tableau 2
Enfin, la mémoire 62 contient également une table 74 permettant de déterminer l'emplacement où est enregistrée une clé cryptographique d'un opérateur donné.
Ici, pour chaque opérateur 7A, 7B, le processeur 42 contient, par exemple, les clés listées dans le tableau suivant. La première colonne de ce tableau contient le nom de la clé, la deuxième colonne contient l'identifiant de cette clé et la troisième colonne contient une brève description de la fonction de cette clé.
Tableau 3
En tenant compte des notations définies dans le tableau 3, la table 74 contient les informations listées dans le tableau ci-dessous. La première colonne de ce tableau contient l'identifiant de la clé, la deuxième colonne contient l'identifiant de l'opérateur utilisant cette clé et la troisième colonne contient des informations par lesquelles le processeur peut trouver l'emplacement de cette clé dans la mémoire 66.
Tableau 4
La mémoire 66 contient deux zones mémoires distinctes, appelées ici entité Ei et entité E 2 , dans lesquelles sont stockées les clés cryptographiques utilisées, respectivement, par les opérateurs 7A et 7B. De préférence, les titres d' accès aux signaux multimédias utilisés par les opérateurs 7A et 7B sont enregistrés uniquement dans leurs entités Ei et E 2 respectives.
On remarquera que dans le processeur 42 la même clé, par exemple la clé K e , n'est pas enregistrée au même endroit selon que celle-ci est contrôlée et utilisée par l'opérateur 7A ou par l'opérateur 7B. Cela permet de donner des valeurs différentes à cette clé K e selon qu' elle est utilisée par l'un ou l'autre des opérateurs. Enfin, la mémoire 66 contient également des listes FIELDKEY, FIELPIEMM, FIELDPIEMMC, FIELDPIECM et FIELDFCT.
La liste FIELDKEY associe à chaque clé cryptographique plusieurs verrous. Plus précisément, comme illustré sur la figure 4, pour chaque clé, la liste FIELDKEY contient : - un champ KEY-ID contenant l'identifiant de la clé tel que défini dans le tableau 3, et
- un champ FIELDKEY contenant autant de verrous LO 1 que d' identifiants de fonctions élémentaires faisant intervenir une clé. Ici, chaque verrou correspond à un champ destiné à contenir uniquement une valeur binaire telle que « 0 » ou « 1 ». Etant donné que ce verrou est contenu dans la mémoire 66, celui-ci est réinscriptible et sa valeur peut être basculée de la valeur « 0 » à la valeur « 1 » et vice versa. Ici, les verrous LOi sont disposés les uns après les autres dans des zones de mémoire contiguës et successives de sorte que la position d'un verrou permet d'identifier à quelle fonction élémentaire il correspond. Par exemple, le
verrou LOi à la ième position est uniquement associée à un seul identifiant IdFi d'une fonction élémentaire et vice versa .
Ici, lorsqu'un verrou LOi contient la valeur « 0 » cela signifie que l'utilisation de la clé identifiée par KEY-ID par la fonction élémentaire correspondant à ce verrou LOi est autorisée. Dans le cas contraire où le verrou LOi comporte la valeur « 1 », la fonction élémentaire correspondant à ce verrou ne peut pas utiliser cette clé cryptographique.
La liste FIELDPIEMM illustrée sur la figure 5 contient des verrous LPi pour indiquer, pour chaque paramètre Pi susceptible d'être contenu dans un message EMM non confidentiel, si son traitement par le processeur 42 est autorisé ou interdit. Par exemple, la liste FIELDPIEMM contient autant de verrous LPi que de paramètres P ± susceptibles d'être reçus. Comme pour la liste FIELDKEY, la valeur de chaque verrou est basculable entre la valeur « 0 » et la valeur « 1 » et vice versa. La liste FIELDPIEMM est réalisée par une succession de champs contenant chacun une valeur binaire et correspondant chacun à un verrou LPi. La position du verrou LPi dans la liste FIELDPIEMM permet de déterminer quel est l'unique paramètre Pi correspondant à ce verrou. On notera en particulier que la liste FIELDPIEMM contient ici un verrou LP CO nfig correspondant au paramètre P co nfig contenant les informations nécessaires à la configuration de chacun des verrous. La valeur « 0 » du verrou LPi signifie que le traitement du paramètre Pi correspondant à ce verrou est autorisé. La valeur « 1 » signifie que le traitement du même paramètre Pi est interdit .
La liste FIELDPIEMMC contient des verrous LCi pour indiquer quels sont les paramètres, susceptibles d'être contenus dans un message EMMC (Entitlement Management
Message Confidential) , qui doivent être traités par le processeur 42. On rappelle qu'un message EMMC est identique à un message EMM à l'exception du fait qu'une partie de ses paramètres est chiffrée à l'aide d'une clé K u prédéfinie. Chaque verrou LC 1 correspond à un seul paramètre P 1 . La liste FIELDPIEMMC comprend également un verrou LC con fig correspondant au paramètre Pconfig-
La liste FIELDPIECM contient des verrous LE 1 pour indiquer quels sont les paramètres d'un message ECM dont le traitement est autorisé ou interdit par le processeur 42. Chaque verrou LE 1 correspond à un seul paramètre P 1 .
Par exemple, la structure des listes FIELDPIEMMC et FIELDPIECM est identique à celle décrite en regard de la figure 5 à l'exception que les verrous sont notés, respectivement, LC 1 et LE 1 . La signification des valeurs « 0 » et « 1 » pour ces verrous LC 1 et LE 1 est la même que pour le verrou LP 1 .
La liste FIELDFCT contient des verrous LF 1 aptes à indiquer quelles sont les fonctions élémentaires dont l'exécution est autorisée ou au contraire interdite à l'intérieur du processeur 42. Par exemple, la structure de cette liste FIELDFCT représentée sur la figure 6 contient autant de verrous LF 1 que d' identifiants de fonctions élémentaires contenus dans le tableau 1 de sorte que chaque verrou correspond à une seule fonction élémentaire. On rappelle que par « fonction élémentaire » on entend ici une fonctionnalité élémentaire d'accès conditionnel. La structure de la liste FIELDFCT est similaire à la structure décrite en regard de la figure 5. Ainsi, la position du verrou LF 1 permet de déterminer quel est l'unique identifiant IdFi correspondant à ce verrou. Ici, lorsque le verrou LF 1 prend la valeur « 0 » l'exécution de la fonction élémentaire correspondante est autorisée. Lorsque la valeur de ce même verrou prend la valeur « 1 », l'exécution de la
fonction élémentaire correspondante est interdite. Dans ce cas, soit aucune fonction n'est exécutée, soit une fonction de remplacement est automatiquement exécutée en lieu et place de la fonction élémentaire interdite. Le code de cette fonction de remplacement est contenu dans la mémoire 62. Ici, la fonction de remplacement est systématiquement conçue pour être plus sûre que la fonction élémentaire qu'elle remplace éventuellement. Par exemple, la fonction de remplacement comporte systématiquement moins d'instructions que la fonction élémentaire qu'elle remplace .
Le fonctionnement du système 2 va maintenant être décrit en regard du procédé de la figure 7.
Initialement, lors d'une phase 90 de personnalisation, le processeur 42 est configuré par l'intermédiaire d'une interface spéciale telle que par exemple une interface JTAG
(Joint Test Action Group) ou par l'intermédiaire de la même interface que celle utilisée pour le connecter au décodeur
40. La phase de personnalisation se déroule dans un milieu sécurisé et en particulier, les différentes commandes de configuration transmises au processeur 42 ne sont jamais transmises par l'intermédiaire d'un réseau WAN (Wide Avea
Network). Pendant la phase 90, une unité de configuration indépendante de l'émetteur 4 est utilisée pour initialiser la valeur de chacun des verrous typiquement à la valeur
« 0 ».
Une fois la phase de personnalisation achevée, le processeur 42 est distribué puis inséré dans un décodeur d'un abonné. Une phase d'utilisation 94 débute alors. Lors de la phase 94, le processeur 42 traite les messages EMM et ECM transmis par l'émetteur 4 de manière à être capable d'extraire de ces messages le mot de contrôle CW nécessaire pour désembrouiller les signaux multimédias embrouillés reçus.
Au cours de la phase d'utilisation, lors d'une étape
96, un message EMM de configuration est transmis au processeur 42 par l'émetteur 4. Ce message de configuration contient un paramètre P CO nfig de configuration. Un exemple de structure de ce paramètre Pconfig est représenté sur la figure 8. Ce paramètre P CO nfig est codé selon la structure
TLV. Il contient donc un champ contenant l'identifiant
PI conf ig indiquant que les données qui suivent sont des données de configuration des listes FIELDKEY, FIELDPIEMM, FIELDPIEMMC, FIELDPIECM et FIELDFCT. Le paramètre P CO n f ig contient également un champ L conf ig et un champ V config . Le champ L conflg indique la longueur du champ V config . Le champ
V co nfig contient l'ensemble des informations nécessaires pour mettre à jour les valeurs des verrous des différentes listes contenues dans la mémoire 66. Les différentes informations sont par exemple ici elles-mêmes codées en utilisant la structure TLV. Ainsi, le champ V confαg se divise en cinq portions respectivement FIELDKEY, FIELDPIEMM,
FIELDPIEMMC, FIELDPIECM et FIELDFCT. Chacune de ces sections contient respectivement les informations nécessaires pour faire basculer la valeur de chacun des verrous LO 1 , LP 1 , LC 1 , LE 1 et LF 1 .
Lors d'une étape 98, en réponse à la réception du message EMM de configuration, l'exécution de la fonction de configuration des valeurs des différents verrous est déclenchée. Ainsi, lors de l'étape 98, la valeur de chacun des verrous est réglée en fonction des informations contenues dans le champ V con fig-
Ensuite, si le processeur 42 reçoit un message EMM non confidentiel ou un message EMMC le processeur procède, respectivement, à des étapes 100 et 102 de gestion des droits d'accès et des clés cryptographiques. Si le processeur 42 reçoit un message ECM, il procède alors à une étape 104 d'extraction du mot de contrôle.
Au début de l'étape 100, lors d'une opération 110, le microprocesseur 60 exécute la fonction de restriction pour déterminer si le traitement du premier paramètre P 1 reçu est interdit. Pour ce faire, lors de l'étape 110, la fonction de restriction consulte la liste FIELDPIEMM et vérifie si le verrou correspondant à ce paramètre P 1 a la valeur « 1 ». Dans la négative, lors d'une étape 112, le processeur 42 identifie quelle est la fonction élémentaire dont l'exécution doit être déclenchée pour traiter le paramètre P 1 . A cet effet, la table 72 est utilisée.
Ensuite, lors d'une opération 114, le microprocesseur 60 exécute une nouvelle fois la fonction de restriction pour déterminer si l'exécution de la fonction élémentaire identifiée lors de l'étape 112 est interdite. A cet effet, lors de l'étape 114, la liste FIELDFCT est utilisée. Plus précisément, lors de l'opération 114, le processeur 42 vérifie si la valeur du verrou correspondant à la fonction élémentaire identifiée a la valeur « 1 ». Dans la négative, l'exécution de cette fonction élémentaire est autorisée et le procédé se poursuit par une opération 116 d'exécution de cette fonction élémentaire.
On suppose ici que lors de l'exécution de cette fonction élémentaire, celle-ci tente d'accéder à une clé cryptographique dans l'entité Ei correspondant à l'identifiant SOIDi reçu.
A chaque tentative d'accès à une clé cryptographique, lors d'une opération 118, le microprocesseur exécute la fonction de restriction pour vérifier si la fonction élémentaire actuellement exécutée est autorisée ou non à utiliser la clé à laquelle elle tente d'accéder. A cet effet, lors de l'opération 118, la liste FIELDKEY est utilisée. Plus précisément, lors de l'opération 118, le processeur 42 vérifie si la valeur du verrou associé à l'identifiant ID-KEY de cette clé et correspondant à cette
fonction élémentaire est égale à « 1 ». Dans la négative, lors d'une opération 120, l'accès à cette clé cryptographique est autorisé et le procédé retourne à l'opération 116 où la fonction élémentaire continue à s'exécuter.
Une fois que l'opération 116 est complètement exécutée, ou si lors de l'une des opérations 110, 114 ou
118, la valeur du verrou testé est égale à « 1 », alors le procédé se poursuit par une opération 122 d' arrêt immédiat des traitements déclenchés par le paramètre P 1 reçu. De plus, dans le cas où l'on procède à l'opération 122, car la valeur de l'un des verrous testés est égale à « 1 », une indication d'erreur peut être émise. Dans ce mode de réalisation, aucune fonction de remplacement n'est exécutée si la valeur du verrou testé est également à « 1 ».
Après l'opération 122, le procédé retourne à l'opération 110 pour traiter le paramètre P ± suivant contenu dans le même message EMM.
Les étapes 110 à 122 sont réitérées pour tous les paramètres Pi du message EMM reçu.
Par exemple, en ajustant la valeur des verrous LOi, LPi et LFi, ϋ est possible d'obtenir les comportements suivants du processeur de sécurité :
- le paramètre P Ke contenant le cryptogramme d'une nouvelle clé K e n'est pas traité si la valeur du verrou LP Ke est égale à « 1 » ; il n'est alors pas possible de mettre à jour une clé de déchiffrement des mots de contrôle.
- le paramètre P T d A contenant des données pour modifier ou inscrire un nouveau titre d'accès à un signal multimédia n'est pas traité si la valeur du verrou LP τdA est égale à « 1 », ; il n'est ainsi pas possible d'inscrire ou de mettre à jour un abonnement.
- l'utilisation de la clé K s pour déchiffrer le cryptogramme de la clé K e n'est pas autorisée pour certaines
fonctions élémentaires et peut l'être pour d'autres fonctions élémentaires,
- la modification du plafond autorisé en achat impulsif, l'inscription d'un nouveau titre d'accès ou l'inscription ou la modification d'une clé cryptographique sont interdites si la valeur du verrou LF 1 correspondante est égale à « 1 ».
On notera également que l'exécution de la fonction élémentaire propre à configurer la valeur des verrous peut elle-même être interdite si la valeur du verrou LP con fig ou
LF config est égale à « 1 ». Ainsi, si le message EMM reçu contient le paramètre P co n f ig ? et que la valeur du verrou
LPc on fig ou LF config est égale à « 1 », alors la modification de la valeur des verrous est interdite de sorte que le comportement du processeur 42 est définitivement figé.
L'étape 102 est, par exemple, identique à l'étape 100 à l'exception que l'on procède d'abord à un déchiffrement du message EMMC à l'aide de la clé K u si un tel déchiffrement est autorisé, et que la liste FIELDPIEMMC est utilisée en lieu et place de la liste FIELDPIEMM.
Le fait d'utiliser deux listes différentes FIELDPIEMM et FIELDPIEMMC permet d'obtenir un comportement différent du processeur 42 si celui-ci traite un message EMM non confidentiel ou un message EMMC. Lors de l'étape 104, la fonction de restriction est mise en œuvre d'une façon similaire à ce qui a été décrit en regard de l'étape 100 à l'exception du fait que le message traité est un message ECM et que par conséquent la liste FIELDPIECM est utilisée en lieu et place de la liste FIELDPIEMM.
Ainsi, il est possible d'empêcher le déchiffrement du cryptogramme CW* en jouant sur la valeur d'un ou de plusieurs des verrous suivants :
un verrou LO C w associé à la clé K e et correspondant à la fonction élémentaire de déchiffrement du cryptogramme du mot de contrôle, un verrou LE CW de la liste FIELDPIECM correspondant au paramètre CW*, ou un verrou LF CW de la liste FIELDFCT correspondant à la fonction élémentaire de déchiffrement du cryptogramme CW*.
Cela peut être utile lorsqu' il a été déterminé que le processeur 42 est utilisé d'une façon frauduleuse.
Lors de l'étape 104, il est également possible d'empêcher la comparaison de conditions d'accès particulières contenues dans un message ECM reçu aux titres d'accès mémorisés dans le processeur de sécurité en jouant sur la valeur d'un des verrous suivants : un verrou LE AC de la liste FIELDPIECM correspondant au paramètre AC d'une condition particulière, ou un verrou LF AC de la liste FIELDFCT correspondant à la fonction élémentaire de comparaison des conditions d'accès à des titres d'accès.
Cela peut être utile pour interdire le désembrouillage de certains signaux multimédias par le récepteur 8.
Toutefois, dans le cas normal, à l'issue de la phase 104, le mot de contrôle est déchiffré puis fourni au désembrouilleur 48 qui déserabrouille les signaux multimédias reçus lors d'une étape 130.
Les signaux multimédias désembrouillés sont ensuite affichés en clair par l'écran 50, lors d'une étape 132. Une mise en œuvre judicieuse du procédé ci-dessus consiste à envoyer dans un même message EMM :
- un premier paramètre P C onfig pour faire basculer la valeur d' un verrou L0 p ou LC P ou LE P ou LF P à la valeur « 0 », immédiatement suivi,
- d' un paramètre déclenchant une opération qui ne peut être menée à bien si la valeur du verrou modifié par le premier paramètre Pc on fig a été basculé à « 0 », et immédiatement suivi d' un deuxième paramètre Pconfig permettant de basculer la valeur du verrou modifié par le premier paramètre Pconfig en sens inverse.
Ainsi, une opération particulière du processeur 42 est uniquement autorisée pendant un laps de temps très court. De plus, le processeur de sécurité tel que le processeur 42 traite généralement les paramètres P 1 dans leur ordre d'arrivée et ne permet pas un traitement multitâche de plusieurs paramètres simultanément. Dans ces conditions, la réception du message EMM décrit ci-dessus empêche d'exploiter une éventuelle faille sécuritaire dans cette opération particulière. En effet, avant la réception de ce message EMM, l'opération particulière ne peut pas être exécutée étant donné que la valeur du verrou est égale à
« 1 ». Ensuite, lorsque la valeur du verrou est basculée à « 0 », et étant donné que le processeur 42 exécute cette opération immédiatement après la modification de la valeur du verrou, il n'est pas possible d'intercaler un autre traitement destiné à exploiter la faille sécuritaire de cette opération. Ensuite, immédiatement à la fin de l'exécution de l'opération, la valeur du verrou est de nouveau basculée à « 1 » de sorte qu' il n' est plus possible de déclencher l'exécution de cette opération qui présente une faille sécuritaire. Dans ces conditions, il est possible d'exécuter une opération présentant une faille sécuritaire sans que cette faille sécuritaire puisse être exploitée par un pirate.
De nombreux autres modes de réalisation sont possibles. Par exemple, le processeur de sécurité 42 peut être inséré dans un module détachable de désembrouillage
conforme à la norme EN 50 221. En variante, le processeur de sécurité est un module matériel rigidement intégré dans le décodeur ou dans le module détachable de désembrouillage . Ainsi ce décodeur ou ce module détachable ne forme avec le processeur de sécurité qu'une seule et même entité rigide.
Enfin, le processeur de sécurité peut également être un module logiciel exécuté par le décodeur ou par le module détachable. Dans ce dernier cas, le microprocesseur du processeur de sécurité est le même que celui utilisé par le décodeur ou le module détachable pour effectuer d'autres fonctions telles que le désembrouillage.
En variante, des verrous peuvent également être associés à chaque titre d'accès mémorisé dans le processeur de sécurité de manière à autoriser et, en alternance, à interdire l'accès à ces titres d'accès.
Dans une autre variante, un verrou LEi positionné à la valeur « 0 » autorise (étape 110) la présence du paramètre
Pi concerné sous réserve que le code 64 de l'application l'autorise nativement. Il en est de même pour un verrou LPi,
LC 1 , LOi (étape 118) ou LF 1 (étape 114) . Par exemple, dans le cas où les listes FIELDPIEMM, FIELDPIEMMC et FIELDPIECM ont la même structure, certains paramètres Pi désignés dans
FIELDPIEMM ou FIELDEMMC, comme le paramètre pour déchiffrer un mot de contrôle, sont nativement interdits dans un message EMM ou EMMC par l'application elle-même. Dans un autre exemple, une version fonctionnelle d'un processeur de sécurité peut supporter la fonction élémentaire d'inscription de nouveaux titres d'accès alors qu'une autre version fonctionnelle, conçue comme jetable après l'accès à un seul contenu, ne la permet pas.
