T/FR2005/050513
PROCEDE DE TRANSMISSION D'UN MESSAGE CONTENANT UNE DESCRIPTION D'UNE ACTION A EXÉCUTER DANS UN EQUIPEMENT
RECEPTEUR
DOMAINE TECHNIQUE
L' invention se situe dans le domaine de la lutte contre le piratage de données numériques distribuées sous forme embrouillée par un opérateur à des utilisateurs munis de droit d'accès. Plus spécifiquement, l'invention concerne un procédé de transmission à un équipement récepteur d'un message contenant une description d'une action à exécuter dans ledit équipement à un instant choisi par 1' opérateur. ÉTAT DE LA TECHNIQUE ANTÉRIEURE
Dans un système de contrôle d'accès conditionnel classique, l'opérateur transmet aux équipements récepteurs, d'une part, des messages de contrôle de titres d'accès ECM (pour Entitlement Control Message) contenant les conditions d'accès aux données embrouillées et des mots de contrôle CW (pour Control Word) chiffrés par une clé secrète, et, d'autre part des messages de gestion de titre d'accès EMM (pour Entitlement Management Message) contenant les droits d'accès de chaque utilisateur et/ou ladite clé secrète.
Les ECM sont transmis avec les données embrouillées tandis que les EMM sont généralement transmis avant la distribution de ces données aux utilisateurs afin de permettre l'inscription des titres d'accès et de la clé secrète dans le processeur de sécurité .
II a été constaté que le fait d' inscrire la clé secrète dans le processeur de sécurité un certain temps avant la transmission des données embrouillées pouvait permettre aux éventuels pirates de retrouver cette clé et de déchiffrer frauduleusement le mot de contrôle CW.
Pour éviter cet inconvénient, le document FR 2 835 670 du 08/08/2003 décrit un procédé de révélation tardive d'une même information Kc nécessaire au désembrouillage des données transmises à un groupe de récepteurs dotés chacun d'une information individuelle SAi. Ce procédé est basé sur un calcul préalable de l'information Kc en fonction de l'information individuelle SAi, d'un premier paramètre K commun à tous les récepteurs et d'un deuxième paramètre bi spécifique à chaque récepteur. Pour calculer la valeur de l'information Kc à la réception, le deuxième paramètre bi est transmis aux récepteurs avant que l'information Kc ne soit requise pour désembrouiller les données tandis que l'information K n'est transmise qu'au moment où Kc doit être utilisée pour désembrouiller les données.
Un inconvénient de cette solution provient du fait qu'elle nécessite un pré-calcul de l'information Kc à partir d'éléments pré-chargés et un re-calcul de la donnée à révéler par les récepteurs. Par conséquent, la mise en œuvre de cette méthode nécessite la présence dans chaque équipement récepteur d'un logiciel de calcul spécifique. Le but de l'invention est de remédier aux inconvénients de l'art antérieur décrits ci-dessus par
une méthode simple dans laquelle la révélation tardive de l'information pertinente est le résultat d'un traitement classique effectué dans les terminaux récepteurs . Un autre but de l'invention est de permettre à l'opérateur de contrôler à distance l'exécution de ce traitement. EXPOSÉ DE L'INVENTION
L'invention préconise un procédé destiné à exécuter une action dans un équipement récepteur de façon imprévisible pour les éventuels fraudeurs à un instant choisi par l'opérateur. L'action à exécuter peut être, par exemple, une inscription d'une information secrète dans un processeur de sécurité, la suppression de cette information, ou encore sa mise à jour .
Plus précisément, l'invention propose un procédé de transmission à un équipement récepteur d'un message contenant une description de l'action à exécuter comportant les étapes suivantes : a - générer ledit message en fonction de l'action à exécuter, b - chiffrer totalement ou partiellement ledit message par un paramètre secret, c - transmettre audit équipement le message chiffré, d - stocker le message chiffré dans l'équipement récepteur, et e - à l'instant choisi par l'opérateur, transmettre à l'équipement récepteur une description permettant l'obtention dudit paramètre secret,
et a la réception, f - déchiffrer le message chiffré mémorisé dans l'équipement récepteur au moyen dudit paramètre secret, g traiter ledit message pour exécuter ladite action.
Selon l'invention, l'instant choisi par l'opérateur est différé par rapport à l'étape c) .
Selon l'invention, l'instant de l'obtention dudit paramètre secret par l'équipement récepteur détermine l'instant de l'exécution de l'action envisagée. Préférentiellement , ce paramètre secret est une variable aléatoire transmise à l'équipement récepteur dans un message EMM ou dans un message ECM. Selon une autre caractéristique de l'invention, la génération dudit paramètre secret prend en compte des données caractérisant l'état- courant de l'équipement récepteur, ces données pouvant être : une constante propre à cet équipement telle que par exemple son adresse, ou
- une donnée préalablement stockée dans cet équipement et dont la valeur dépend de l'utilisation de cet équipement, ou
- une combinaison des données précédentes, éventuellement complétée par une valeur aléatoire.
Dans ce cas, la description dudit paramètre secret est transmise à l'équipement récepteur dans un message ECM ou un message EMM.
L'équipement obtient la valeur du paramètre secret en interprétant cette description.
Ainsi, lorsque l'action à exécuter est une inscription d'une clé secrète dans une carte à puce associée à l'équipement récepteur, dans un premier exemple de réalisation, cette inscription ne peut être effectuée que par une carte référencée dans le message transmis .
Dans un deuxième exemple de réalisation, l'inscription ne peut être effectuée que par une carte contenant une donnée numérique calculée à partir des titres d'accès dont l'usager dispose officiellement.
Selon une autre caractéristique préférentielle de l'invention, le message contenant la description de l'action à exécuter présente une structure d'un message EMM. Dans ce cas, ledit message est transmis à l'équipement récepteur en tant que donnée générale chiffrée dans un ou plusieurs messages
EMM de transport comportant un bloc de bits permettant à l'équipement récepteur de reconstituer le message contenant la description de l'action à exécuter avant le déchiffrement dudit message.
Le procédé selon l'invention est mis en œuvre dans un terminal récepteur comportant : des moyens pour mémoriser un message contenant une description d'une action à exécuter par ledit terminal, ledit message étant préalablement transmis au terminal sous forme chiffrée par un paramètre secret,
- des moyens pour déchiffrer ledit message par le paramètre secret à un instant différé par rapport à la réception dudit message,
des moyens pour traiter ledit message déchiffré pour exécuter l'action dans le terminal récepteur.
Dans une première application du procédé, le terminal est un décodeur muni d'un processeur de sécurité constitué par une carte à puce.
Dans une deuxième application du procédé, le terminal est un ordinateur relié à un serveur de données embrouillées et comportant un module d'accès conditionnel.
Ce module d'accès conditionnel exécute un programme d'ordinateur comportant : des instructions pour mémoriser un message chiffré par un paramètre secret contenant une description d'une action à exécuter, des instructions pour déchiffrer ledit message au moyen dudit paramètre secret à un instant différé par rapport à la réception dudit message,
- des instructions pour traiter le message déchiffré pour exécuter l'action décrite.
BRÈVE DESCRIPTION DES DESSINS
D'autres caractéristiques et avantages de l'invention ressortiront de la description qui va suivre, prise à titre d'exemple non limitatif, en référence aux figures annexées dans lesquelles :
- la figure 1 illustre schématiquement la structure d'un message transportant une clé secrète de déchiffrement ,
- la figure 2 illustre schématiquement la structure d'un message d'inscription du message de la figure 1 dans un processeur de sécurité,
- la figure 3 illustre schéraatiquement la structure en deux parties d'un message d'inscription du message de la figure 1,
- la figure 4 illustre schématiquement la structure d'un message ECM avec révélation d'une clé secrète de déchiffrement.
EXPOSE DÉTAILLÉ DE MODES DE RÉALISATION PARTICULIERS
La description qui suit concerne l'application du procédé selon l'invention dans un système de transmission de programmes audiovisuels embrouillés par un mot de contrôle CW à un parc d'équipements récepteurs, le mot de contrôle CW étant préalablement chiffré par une clé secrète K.
Ce système comporte un site central agencé chez un opérateur comprenant : des moyens pour générer un message contenant une description d'une action à exécuter dans un ou plusieurs équipements récepteurs dudit parc,
- des moyens pour chiffrer totalement ou partiellement ledit message par un paramètre secret,
- des moyens pour transmettre le message chiffré à chaque équipement récepteur visé à un instant Tl, et pour transmettre ensuite à cet équipement récepteur la description dudit paramètre secret, à un instant T2 choisi par l'opérateur.
Chaque équipement récepteur comporte :
- une mémoire non volatile pour stocker le message chiffré, des moyens pour déchiffrer le message chiffré stocké dans ladite mémoire non volatile au moyen dudit paramètre secret obtenu à l'instant T2 et,
des moyens pour traiter ledit message pour exécuter ladite action.
Préférentiellement, l'instant T2 choisi est différé par rapport à l'instant Tl. Les équipements récepteurs sont des décodeurs munis chacun d'un processeur de sécurité, et l'action à exécuter consiste à inscrire la clé secrète nécessaire pour déchiffrer le mot de contrôle CW dans le processeur de sécurité. Structure d'un. EMM confidentiel transportant la clé K
La figure 1 illustre schématiquement la structure d'un message EMM confidentiel 2 transportant la clé K à un processeur de sécurité associé à un décodeur. Ce message comporte les paramètres fonctionnels suivants :
- ADDRESS 4 : ce champ contient l'adresse du processeur de sécurité auquel est destiné le message EMM. Notons que ce message peut être envoyé à un décodeur du parc, à plusieurs décodeurs de ce parc ou encore à tous les décodeurs dudit parc. Certaines parties de l'adresse peuvent être rendues confidentielles par un chiffrement spécifique.
- EMM_SOID 6: ce champ est relatif à l'identification du contexte cryptographique appliqué au message EMM 2. Le paramètre EMM_SOID précise le système de clés mises en œuvre dans la cryptographie appliquée au message EMM 2 , notamment la référence de la clé de déchiffrement de la clé K transportée.
- K_SOID 10: ce champ contient un paramètre relatif à l'identification du contexte cryptographique auquel est destinée la clé K transportée. Ce paramètre
précise notamment la référence sous laquelle cette clé K sera connue dans ce contexte.
- K_KEY 12 : ce champ contient le cryptogramme de la clé K transportée. Ce dernier dépend du contexte cryptographique du message EMM 2 indiqué par le paramètre EMM_S0ID 6.
- K_VERSION 14 : ce champ optionnel est relatif au numéro de version de la clé K transportée. Quand ce paramètre existe, le numéro de version de la clé K transportée sera associé à la valeur de la clé lors de son inscription dans le processeur de sécurité. Selon l ' implémentation envisagée, ce paramètre peut préciser la référence de la zone de données dans laquelle le numéro de version doit être mémorisé. Ce paramètre spécifie également que la zone de données est soit effacée puis écrite, soit remplacée.
Notons que ce paramètre identifie un bloc de donnée FAC tel que spécifié dans la norme UTE C90- 007 et dans lequel sera mémorisé le numéro de version. - EMM_CONF 16: ce champ est optionnel et concerne le paramétrage de la confidentialité appliquée aux paramètres K_SOID 10, K_KEY 12 et K_VERSION 14. Ces derniers sont chiffrés pendant le transport de l'EMM 2, indépendamment du fait que le paramètre EMM_C0NF 16 soit présent ou absent, et sont ensuite déchiffrés par le processeur de sécurité, lors du traitement du message EMM 2 pour supprimer la confidentialité .
Quand le paramètre EMM_C0NF 16 est présent, il permet au processeur de sécurité de supprimer la confidentialité et de traiter complètement le message
pour obtenir la clé K. Dans ce cas, la clé K n'est pas à révélation tardive.
Quand le paramètre EMM__CONF 16 est absent, un paramètre de révélation K_REVEAL est transmis par l'opérateur au processeur de sécurité dans un message ECM et est associé au message EMM 2 pour supprimer la confidentialité et obtenir la clé K. Ce paramètre K_REVEAL permet de reconstituer le paramétrage de confidentialité. Dans ce cas, tant que ce paramètre K_REVEAL n'est pas connu, le décodeur ne pourra pas obtenir la clé K. Il est alors utile de transmettre par ECM le paramètre de révélation K_REVEAL juste au moment où le processeur de sécurité a besoin de la clé K. A cet effet, le message EMM est mémorisé dans le processeur de sécurité jusqu'à la réception de K_REVEAL .
- EMM_REDUND 18: ce champ contient une information de redondance cryptographique du message EMM 2 transportant la clé K. Dans une variante de réalisation du procédé, les paramètres fonctionnels ci-dessus sont combinés par structure T L V (Type Longueur Valeur) . Ces paramètres peuvent être dans un ordre dépendant de l ' implémentation retenue. Transmission (J7Un EMM confidentiel contenant une clé K
Comme cela a été vu précédemment, le message EMM 2 contenant la clé K doit être mémorisé dans le processeur de sécurité jusqu'au moment où ce dernier reçoit le paramètre de révélation KJREVEAL qui lui permettra de traiter ce message EMM 2.
Une première solution consiste à stocker le message à traiter dans une zone particulière du terminal tant que le processeur de sécurité ne dispose pas encore de toutes les informations pour traiter ce message. Une deuxième solution consiste à stocker le message à traiter dans une zone particulière du processeur de sécurité amovible de l'équipement récepteur, dans ce cas le message EMM est mémorisé dans le processeur de sécurité de façon à pouvoir obtenir la clé K, même si le processeur de sécurité est associé à un autre terminal .
Dans un mode préféré de réalisation, le message EMM 2 contenant la clé K est transmis au décodeur en tant que donnée générale dans un ou plusieurs messages EMM de transport. Un exemple d'une telle donnée est un bloc de donnée FAC tel que spécifié dans la norme UTE C90-007.
Dans une première variante de réalisation, l'EMM 2 est transporté dans un seul message EMM de transport.
Dans une deuxième variante de réalisation, l'EMM 2 est transporté dans plusieurs messages EMM de transport .
La figure 2 illustre schématiquement la structure d'un message EMM de transport 20. Ce dernier comporte les paramètres fonctionnels suivants :
- FAC_ADDRESS 22: ce paramètre représente l'adresse du processeur de sécurité auquel est destiné le message EMM de transport 20. Ce message peut être destiné à un processeur de sécurité, à plusieurs processeurs de sécurité d'un groupe, ou encore à tous
FR2005/050513
12
les processeurs de sécurité de ce groupe. Certaines parties de l'adresse peuvent être rendues confidentielles par un chiffrement spécifique.
- FAC_SOID 24 : ce paramètre concerne l'identification du contexte cryptographique appliqué au message EMM de transport 20 et précise notamment le système de clés mises en œuvre dans la cryptographie appliquée à ce message.
- K_EMM 26: ce paramètre est le message EMM 2 illustré par la figure 1 en tant que donnée générale du message EMM de transport 20. Notons que dans le cas présent le message EMM 2 ne comprend pas de paramètre EMM_CONF 16.
- K_AUX 28: ce paramètre contient des données destinées à faciliter le traitement différé du message K_EMM 26, tel qu'un rappel de la référence du contexte auquel la clé K est destinée, ou de la version de la clé K.
- FAC_REF 30: ce paramètre représente une référence de la zone de données dans laquelle les paramètres K_EMM 26 et K_AUX 28 doivent être mémorisés. Cette référence peut être absolue dans l'espace mémoire du processeur de sécurité ou relative au contexte cryptographique FAC_SOID 24. Notons que le paramètre FAC_REF 30 peut spécifier également que la zone de données est soit effacée puis écrite, soit remplacée.
Dans un mode particulier de mise en oeuvre, les paramètres K_EMM 26 et K_AUX 28 qui constituent les données à inscrire dans la zone de données peuvent être syntaxiquement inclus dans le paramètre FAC-RE1F 30.
FR2005/050513
13
- FAC_REDUND 32: ce paramètre concerne la redondance cryptographique du message EMM de transport 20.
Dans un autre mode de réalisation, l'EMM 2 contenant la clé K est scindé en deux parties transportées indépendamment l ' une de l ' autre respectivement dans un premier message de transport EMMa 40 et dans un deuxième message de transport EMMb 70. Ces deux parties sont ensuite mémorisées séparément l'une de l'autre dans le processeur de sécurité. Ce mode de réalisation est adapté au cas où la taille d'un bloc de mémorisation de données ou celle d'un EMM est limitée .
La figure 3 illustre schématiquement la structure du message EMMa 40 et celle du message EMMb 70. Le message EMMa 40 transporte au moins le paramètre ADDRESS 4 et le paramètre EMM_SOID 6 de l'EMM 2. Le message EMMb 70 transporte les paramètres K_SOID 10, K_KEY 12, K_VERSION 14 et EMM_REDUND 18 de cet EMM 2. Notons que dans le cas présent le message EMM 2 ne comprend pas de paramètre EMM_CONF 16.
Le premier message EMMa de transport 40 contient les paramètres fonctionnels suivants :
- FAC_ADDRESS 42: ce paramètre représente l'adresse du processeur de sécurité auquel est adressé le message de transport EMMa 40. Ce message peut être destiné à un processeur de sécurité, à plusieurs processeurs de sécurité d'un même groupe de processeurs de sécurité, à tous les processeurs de sécurité de ce groupe. Certaines parties de l'adresse peuvent être rendues confidentielles par chiffrement spécifique.
T/FR2005/050513
14
- FAC_SOID 44 : ce paramètre concerne l'identification du contexte cryptographique appliqué au message de transport EMMa 40 et précise notamment le système de clés mises en œuvre dans la cryptographie appliquée à ce message.
Les paramètres ADDRESS 4 et EMM_SOID 6 sont identiques à ceux de l'EMM 2 de la figure 1.
- K_AUX 52 : ce paramètre contient des données destinées à faciliter la reconstitution ou le traitement différé de l'EMM 2, tel qu'un rappel de la version de la clé K. Ce paramètre K_AUX 52 dépend de 1 ' implémentation .
- FAC_REF_1 60: ce paramètre représente une référence de la zone de données dans laquelle les paramètres ADDRESS 4, EMM_SOID 6, K_AUX 52 doivent être mémorisés. Cette référence peut être absolue dans l'espace mémoire du processeur de sécurité ou relative au contexte cryptographique FAC_SOID 44.
Notons que le paramètre FAC_REF_1 60 peut spécifier également que la zone de données est soit effacée puis écrite, soit remplacée.
Les paramètres ADDRESS 4, EMM_SOID 6 et K_AUX 52 qui constituent les données à inscrire dans la zone de données peuvent être syntaxiquement inclus dans le paramètre FAC_REF_1 60,
- FAC_REDUND_1 62: représente la redondance cryptographique du message de transport EMMa 40.
Le deuxième message de transport EMMb 70 contient les paramètres fonctionnels suivants : - FAC_ADDRESS 64: ce paramètre représente l'adresse du processeur de sécurité. Il est identique
au paramètre FAC_ADDRESS 42 du message de transport EMMa 40.
- FAC_S0ID 66: concerne l'identification du contexte cryptographique appliqué au message de transport EMMb 70. Il est identique au paramètre FAC_SOID 44 du message de transport EMMa 40.
Les paramètres K_SOID 10, K_KEY 12, K_VERSION 14, EMM_REDUND 18 sont décrits précédemment pour le message EMM 2. - FAC_REF_2 78: ce paramètre représente une référence de la zone de données dans laquelle les paramètres K_SOID 10, K_KEY 12, K_VERSI0N 14 et EMM_REDUND 18 doivent être mémorisés. Cette référence peut être absolue dans l'espace mémoire du processeur de sécurité ou relative au contexte cryptographique FAC_SOID 66.
Notons que le paramètre FAC_REF_2 78 peut spécifier également que la zone de données est soit effacée puis écrite, soit remplacée et que les données à inscrire dans la zone de données peuvent être syntaxiquement incluses dans le paramètre FAC_REF_2 78.
- FAC_REDUND_2 80: représente une redondance cryptographique du message de transport EMMb 70. Dans tous les modes de transport du message
EMM 2 , une implémentation préférée des paramètres fonctionnels ci-dessus est la combinaison de ces paramètres par structure T L V (Type Longueur Valeur) . Ces paramètres peuvent être dans un ordre dépendant de l' implémentation retenue.
Structure d'un ECM avec révélation de la clé de déchiffrement
La figure 4 illustre schématiquement un message ECM 90 transportant des mots de contrôle à déchiffrer par une clé K à révélation tardive.
Ce message comporte les paramètres fonctionnels suivants :
- ECM_SOID 92 : ce paramètre représente une identification du contexte cryptographique appliqué au message ECM 90. Ce paramètre précise le système de clés mises en œuvre dans la cryptographie appliquée à ce message, et notamment la référence de la clé de déchiffrement K des mots de contrôle.
- ACCESS__CRITERIA 94 : ce paramètre représente une liste des conditions d'accès aux données embrouillées .
- CW* 96: ce paramètre représente un cryptogramme du mot de contrôle CW transporté dans le message ECM 90. - ECM_REDUND 98: ce paramètre représente une redondance cryptographique du message ECM 90 portant sur les champs ACCESS_CRITERIA 94 et CW* 96.
- MISC 100: ce paramètre optionnel représente des données auxiliaires caractérisant le codage du message ECM 90.
- K_REVEAL 102 : paramètre de révélation de la clé de déchiffrement K. Ce paramètre permet de reconstituer le paramètre EMM__CONF 16 de contrôle de la confidentialité du message EMM 2 transportant la clé K. - ECM_K_VERSION 104: ce paramètre optionnel représente une version de la clé de déchiffrement K.
Dans une mise en œuvre préférée du procédé, ces paramètres fonctionnels sont combinés par structure
T L V (Type Longueur Valeur) . Ces paramètres peuvent être dans un ordre dépendant de l' implémentation retenue .
Les paramètres ECM_SOID 92, ACCESS_CRITERIA
94, CW* 96 et ECM_REDUND 98 et optionnellement MISC 100 sont suffisants dans un message ECM dont les mots de contrôle sont déchiffrés par une clé pré-définie ne nécessitant pas de révélation.
Le paramètre K_REVEAL 102 et optionnellement ECM_K_VERSION 104 sont présents quand la clé de déchiffrement K est à révélation tardive.
En fonctionnement, pour révéler la clé de déchiffrement K, le paramètre K_REVEAL 102 est extrait de l'ECM pour déchiffrer I1EMM 2 transportant la clé K.
Quand il est mémorisé en deux parties dans le processeur de sécurité, l'EMM 2 transportant la clé
K est reconstitué par le processeur de sécurité puis déchiffré à l'aide du paramètre K_REVEAL 102 pour supprimer sa confidentialité.
L'EMM 2 ainsi déchiffré est alors traité pour déchiffrer la clé K.
Dans une première variante de réalisation, la clé de déchiffrement K ainsi obtenue n'est pas stockée dans le processeur de sécurité après sa révélation. Elle est révélée à chaque ECM pour déchiffrer les mots de contrôle. Dans ce cas l'EMM 2 ne contient pas de paramètre K_VERSION 14 et l'ECM 90 ne contient pas de paramètre fonctionnel ECM_K__VERSION 104.
Dans une deuxième variante de réalisation, la clé de déchiffrement K obtenue est stockée dans le processeur de sécurité après sa première révélation avec son numéro de version K_VERSION 14 fourni par l'EMM 2. Dans ce cas, l'ECM 90 comporte le paramètre supplémentaire ECM_K_VERSION 104 identifiant la version de la clé de déchiffrement K courante. Tant que l'ECM 90 identifie la même version de clé de déchiffrement K que celle déjà stockée, c'est-à-dire, tant que la clé de déchiffrement K reste la même, le processeur de sécurité ne procède pas à sa révélation. Si l'ECM 90 référence une version de la clé de déchiffrement K différente de la version déjà stockée, le processeur de sécurité procède à une nouvelle révélation de la clé de déchiffrement K et stocke sa nouvelle valeur et son nouveau numéro de version. La révélation est également effectuée quand la clé K n'existe pas dans la partie terminale, soit qu'elle n'a pas encore été stockée, soit qu'elle a été supprimée. Dans cette deuxième variante de réalisation, la clé de déchiffrement K peut être stockée dans le processeur de sécurité pour une période limitée, par exemple par un nombre de déchiffrements de mots de contrôle effectués avec cette clé K. A la fin d'une telle période la clé K est automatiquement supprimée. La définition de la limite d'une telle période peut être une constante du processeur de sécurité ou être effectuée par une donnée spécifique transmise par EMM au processeur de sécurité.