FR3083660A1 - Procede d'obtention d'une succession de cles cryptographiques - Google Patents

Procede d'obtention d'une succession de cles cryptographiques Download PDF

Info

Publication number
FR3083660A1
FR3083660A1 FR1856170A FR1856170A FR3083660A1 FR 3083660 A1 FR3083660 A1 FR 3083660A1 FR 1856170 A FR1856170 A FR 1856170A FR 1856170 A FR1856170 A FR 1856170A FR 3083660 A1 FR3083660 A1 FR 3083660A1
Authority
FR
France
Prior art keywords
key
receivers
group
value
time
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
FR1856170A
Other languages
English (en)
Other versions
FR3083660B1 (fr
Inventor
Quentin Chieze
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Viaccess SAS
Original Assignee
Viaccess SAS
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Viaccess SAS filed Critical Viaccess SAS
Priority to FR1856170A priority Critical patent/FR3083660B1/fr
Priority to CN201980055283.0A priority patent/CN112602288A/zh
Priority to EP19749777.9A priority patent/EP3818659A1/fr
Priority to PCT/FR2019/051616 priority patent/WO2020008131A1/fr
Publication of FR3083660A1 publication Critical patent/FR3083660A1/fr
Application granted granted Critical
Publication of FR3083660B1 publication Critical patent/FR3083660B1/fr
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/088Usage controlling of secret information, e.g. techniques for restricting cryptographic keys to pre-authorized uses, different access levels, validity of crypto-period, different key- or password length, or different strong and weak cryptographic algorithms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0891Revocation or update of secret information, e.g. encryption key update or rekeying
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/50Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

Procédé d'obtention d'une succession de L clés cryptographiques k1,m, .., ki,m ki+1,m, .... kL,m dans lequel : - avant un instant ti,m, un groupe de récepteurs établit (140) une première connexion avec un serveur de clés et reçoit, lors de cette première connexion, les informations nécessaires pour obtenir la clé ki,m, puis pour chaque indice i compris entre 2 et L : - le groupe de récepteurs obtient (150) la clé suivante ki,m en exécutant un algorithme de dérivation de clé initialisé à l'aide de la clé précédente ki-1,m et sans avoir recours à d'autres informations que celles reçues lors de la première connexion, et - le temps moyen TCi,m d'exécution de l'algorithme de dérivation de clé par le groupe de récepteurs pour obtenir la clé ki,m est supérieur à 0,2Vi-1,m., où Vi-1,m est la durée de l'intervalle de validité de la précédente clé ki-1,m.

Description

PROCEDE D’OBTENTION D’UNE SUCCESSION DE CLES CRYPTOGRAPHIQUES [001] L’invention concerne un procédé d’obtention d’une succession de clés cryptographiques ainsi qu’un procédé de transmission sécurisée d’un contenu numérique mettant en œuvre ce procédé d’obtention. L’invention concerne également un support d’enregistrement d’informations, un récepteur et un serveur de clés pour la mise en œuvre de ce procédé d’obtention d’une succession de clés.
[002] Il est connu des procédés d'obtention d'une succession de L clés cryptographiques kl.rn, , ki.m, kj+i’in, > kL,m par un groupe de récepteurs électroniques, où :
- l'indice i est un numéro d'ordre de la clé ki m dans la succession de clés,
- L est un nombre entier supérieur ou égal à deux, et
- quel que soit l'indice i compris entre 1 et L, la clé ki,m est uniquement destinée à être utilisée pendant un intervalle de validité [ti.m, ti+i,m[ de durée Vi.m, où ti,m et ti+i,m sont, respectivement, les instants de début et de fin de cet intervalle de validité.
Dans ces procédés connus :
- avant l'instant ti.m, le groupe de récepteurs établit une première connexion avec un serveur de clés et reçoit, lors de cette première connexion, les informations nécessaires pour obtenir la clé ki.m, puis
- pour chaque indice i compris entre 2 et L, avant l'instant ti,m, le groupe de récepteurs obtient la clé ki m.
[003] Un tel procédé est divulgué dans la demande EP2567500. Dans la demande EP2567500, chaque clé ki m est utilisée pour traiter un segment CPi m donné unique d’un contenu multimédia, dont la durée de jeu est appelée « cryptopériode ». Par abus de langage, le segment CPi,m est également appelé cryptopériode. La clé ki,m est donc valide pendant un intervalle de temps [ti,m ;ti+i,m[ qui correspond à la cryptopériode CPi.m, c’est-à-dire à l’intervalle de temps pendant lequel la cryptopériode CPim du contenu multimédia est jouée. Ainsi, pour pouvoir déchiffrer une cryptopériode CPi.m, la clé kim doit être obtenue par le récepteur avant l’instant ti,m. Idéalement, la clé ki m doit être obtenue le plus tard possible avant l’instant ti,m, de façon à être exposée le moins de temps possible à des tentatives d’attaque ou de cryptanalyse dans le récepteur. Typiquement, la clé kim est obtenue pendant la cryptopériode précédente, c’est-à-dire pendant l’intervalle [ti_i,m; ti,m[. Dans ces conditions, la clé kim est exposée à des tentatives d’attaque ou de cryptanalyse uniquement pendant une partie de l’intervalle [ti_i,m;ti,m[, c’est-à-dire généralement pendant au plus une durée de l’ordre d’une dizaine de secondes. La courte durée de cet intervalle rend difficile les tentatives d’attaque.
[004] Pour obtenir la clé ki.m, le récepteur doit se connecter à un serveur de clés. Ainsi, si rien de particulier n’est prévu, le récepteur doit se connecter au serveur de clés à chaque cryptopériode. Etant donné que le nombre de récepteurs qui doivent se connecter au même serveur de clés peut être très élevé, c’est-à-dire supérieur à 1000 ou 10000, le nombre de connexions que le serveur de clés doit être capable de gérer pendant une cryptopériode est lui aussi très élevé.
[005] Pour limiter les ressources informatiques nécessaires pour implémenter un tel serveur de clés, la demande EP2567500 divulgue notamment de transmettre à chaque récepteur, lors d’une connexion au serveur de clés, non pas seulement la clé ki,m valide pour déchiffrer la cryptopériode CPi,m suivante, mais une succession {ki,m; ... ;kL,m} de L clés pour déchiffrer les L cryptopériodes suivantes. Ainsi, le récepteur n’a pas besoin de se connecter au serveur de clés à chaque cryptopériode mais seulement toutes les L cryptopériodes.
[006] La demande EP2567500 divulgue aussi qu’envoyer ainsi une telle succession de clés au récepteur, bien avant que ces clés soient utilisables, diminue la sécurité du procédé. En effet, par exemple, la clé kL,m est reçue, comme la succession {ki.m ;...;kL,m} de L clés, avant la cryptopériode CPi,m et n’est utilisée qu’à partir de l’instant tL,m. La clé kL,m est donc exposée aux tentatives d’attaques pendant L cryptopériodes successives. Par comparaison, cette même clé kL,m ne serait exposée aux tentatives d’attaque que pendant au plus la durée d’une seule cryptopériode si aucune clé ki m n’était transmise à l’avance au récepteur.
[007] Pour remédier à ce problème tout en limitant le nombre de connexions simultanées au serveur de clés, la demande EP2567500 propose d’adapter le nombre L de clés transmises à l’avance à chaque récepteur en fonction de la probabilité que ce récepteur soit victime d’une tentative d’attaque. Ainsi, il est possible à la fois de diminuer le nombre de connexions à établir avec le serveur de clés tout en maintenant un niveau de sécurité élevé.
[008] L’invention vise à résoudre le même problème mais sans pour cela prendre en compte le niveau de sécurité du récepteur. Elle a donc pour objet un tel procédé dans lequel pour chaque indice i compris entre 2 et L et dans l'ordre croissant de ces indices :
- le groupe de récepteurs obtient la clé suivante kim en exécutant un algorithme de dérivation de clé initialisé à l'aide de la clé précédente et sans avoir recours à d'autres informations que celles reçues lors de la première connexion, et
- le temps moyen TCi,m d'exécution de l'algorithme de dérivation de clé par le groupe de récepteurs pour obtenir la clé ki m est supérieur à 0,2Vi_i,m.
[009] Les modes de réalisation de ce procédé d’obtention peuvent comporter une ou plusieurs des caractéristiques suivantes :
pour au moins un indice i compris entre 2 et L :
- après l'instant ti-i,m et avant l'instant ti.m, le groupe de récepteurs vérifie si l'obtention de la clé ki,m est terminée,
- si l'obtention de la clé kim n'est pas terminée avant l'instant ti.m, le groupe de récepteurs établit une deuxième connexion avec le serveur de clés et lui transmet, par l’intermédiaire de cette deuxième connexion, l’information selon laquelle la clé kj,m n’a pas pu être obtenue avant l’instant ti,m et, dans le cas contraire, le groupe de récepteurs ne transmet pas au serveur de clés l’information selon laquelle la clé ki m n’a pas pu être obtenue avant l’instant ti,m.
- en réponse à la réception de l’information selon laquelle la clé kim n’a pas pu être obtenue avant l’instant tj.m, le serveur de clés modifie la valeur d’un paramètre PCp de complexité de l’algorithme de dérivation de clé, la valeur modifiée du paramètre PCp correspondant à un temps moyen TCi,m d’exécution inférieur au temps moyen d’exécution actuel, ou
- en réponse à une absence de réception de l’information selon laquelle la clé ki.m n’a pas pu être obtenue avant l’instant ti,m, le serveur de clé modifie la valeur du paramètre PCp pour qu’il corresponde à un temps moyen TCim d’exécution supérieur au temps moyen d’exécution actuel ;
en réponse à la réception de l’information selon laquelle la clé kim n’a pas pu être obtenue avant l’instant ti,m :
- le serveur de clés met à jour un compteur de nombre de connexions établies par unité de temps, puis
- le serveur de clés compare la valeur de ce compteur à un seuil haut prédéterminé, puis, si la valeur de ce compteur a franchi ce seuil haut prédéterminé, en réponse, le serveur de clés modifie la valeur du paramètre de complexité pour diminuer le nombre de connexions établies par unité de temps, et/ou
- le serveur de clés compare la valeur de ce compteur à un seuil bas prédéterminé, puis, si la valeur de ce compteur a franchi ce seuil bas prédéterminé, en réponse, le serveur de clés modifie la valeur du paramètre de complexité pour augmenter le nombre de connexions établies par unité de temps ;
le procédé d’obtention d’une succession de clés est mis en œuvre pour un premier et un second groupes de récepteurs, et le serveur de clés utilise une première valeur de l’indice L pour le premier groupe et une seconde valeur différente de l’indice L pour le second groupe de récepteurs;
le groupe de récepteurs comporte plusieurs récepteurs et l’exécution de l’algorithme de dérivation est répartie sur chacun des récepteurs de ce groupe;
le groupe de récepteurs comporte un seul récepteur et l’algorithme de dérivation est exécuté par ce seul récepteur;
pour au moins un indice i compris entre 2 et L :
- après l'instant tn.m et avant l'instant ti.m, le groupe de récepteurs vérifie si l'obtention de la clé ki,m est terminée,
- si l'obtention de la clé ki m n'est pas terminée :
° le groupe de récepteurs établit une deuxième connexion avec le serveur de clés et reçoit, lors de cette deuxième connexion, les informations nécessaires pour obtenir la clé kim sans avoir à exécuter l'algorithme de dérivation de clé, puis ° obtient la clé kim à partir des informations nécessaires reçues lors de la deuxième connexion et sans exécuter l'algorithme de dérivation de clé, puis ° le groupe de récepteurs obtient la clé suivante ki+i,m en exécutant l'algorithme de dérivation de clé initialisé à l'aide de la clé précédente ki,m obtenue à l'aide des informations reçues lors de la deuxième connexion et sans avoir recours à d'autres informations que celles reçues lors de la deuxième connexion, et
- si l'obtention de la clé kim est terminée, le groupe de récepteurs n'établit pas cette deuxième connexion et obtient la clé suivante ki+i,m en exécutant l'algorithme de dérivation de clé initialisé à l'aide de la clé précédente k,,m et sans avoir recours à d'autres informations que celles reçues lors de la première connexion;
le groupe de récepteurs réalise les opérations suivantes lorsqu’il exécute l'algorithme de dérivation de clé :
1) l'initialisation de la valeur d'une variable à partir de la clé précédente puis
2) la transformation de la valeur de cette variable à l'aide d'une fonction à sens unique pour obtenir une nouvelle valeur de cette variable, puis
3) l'itération de l'opération 2) un nombre Qim prédéterminé de fois, en prenant comme valeur de la variable à transformer la nouvelle valeur de la variable obtenue à l’issue de la précédente itération de l’opération 2);
la fonction à sens unique est une fonction cryptographique à sens unique avec porte dérobée;
le groupe de récepteurs réalise les opérations suivantes lorsqu’il exécute l’algorithme de dérivation de clé :
1) le choix d’un nombre R dans un ensemble ER, puis
2) le calcul d’une clé candidate kcd à l’aide de la relation kcd - F(R//ki_i,m), où F est une fonction prédéterminée et le symbole « // » désigne une opération de combinaison des nombres R et ki i,m, puis
3) le calcul d’une information de contrôle Ccd à l’aide de la relation Ccd = H(kcd), où H est une fonction à sens unique, puis
4) la comparaison de l’information de contrôle Ccd à une information de contrôle Cj,m reçue lors de la première connexion, et
5) si les informations de contrôle Ccd et Ci,m correspondent, alors la clé kcd calculée est égale à la clé kim qui est donc obtenue, sinon, le groupe de récepteurs réitère les opérations 1) à 5) pour un autre nombre R de l’ensemble
Er.;
le temps moyen TCi,m d'exécution de l'algorithme de dérivation de clé par le groupe de récepteurs pour obtenir la clé ki m est inférieur ou égal à Vu.
[0010] L’invention a également pour objet un procédé de transmission sécurisée d’un contenu numérique, dans lequel :
- un dispositif divise le contenu numérique en cryptopériodes successives, chiffre chaque cryptopériode CPm avec une clé km respective d’une succession ordonnée de clés ki à kN , et transmet chaque cryptopériode chiffrée à un groupe de récepteurs,
- le groupe de récepteurs déchiffre chaque cryptopériode chiffrée reçue à l’aide de la clé km correspondante de la succession ordonnée de clés, dans lequel le groupe de récepteurs obtient la succession de clés en mettant en œuvre le procédé d’obtention objet de la présente demande.
[0011] L’invention a également pour objet un support d’enregistrement d’informations, lisibles par un microprocesseur, comportant des instructions pour la mise en œuvre d’un procédé objet de la présente demande, lorsque ces instructions sont exécutées par le microprocesseur.
[0012] L’invention a également pour objet un groupe de récepteurs pour la mise en œuvre du procédé d’obtention objet de la présente demande, dans lequel chaque récepteur de ce groupe comportant un microprocesseur programmé pour réaliser les étapes suivantes :
- avant l'instant ti.m, le groupe de récepteurs établit une première connexion avec un serveur de clés et reçoit, lors de cette première connexion, les informations nécessaires pour obtenir la clé ki.m, puis
- pour chaque indice i compris entre 2 et L, avant l'instant ti.m, le groupe de récepteurs obtient la clé kj.m, dans lequel chaque microprocesseur est également programmé pour réaliser les étapes suivantes pour chaque indice i compris entre 2 et L et dans l'ordre croissant de ces indices :
- le groupe de récepteurs obtient la clé suivante kim en exécutant un algorithme de dérivation de clé initialisé à l'aide de la clé précédente ki.lm et sans avoir recours à d'autres informations que celles reçues lors de la première connexion, et
- le temps moyen TCi,m d'exécution de l'algorithme de dérivation de clé par le groupe de récepteurs pour obtenir la clé kj,m est supérieur à 0,2Vi_i.m.
[0013] Enfin, l’invention a également pour objet un serveur de clés pour la mise en œuvre du procédé d’obtention objet de la présente demande, ce serveur comportant un microprocesseur programmé pour réaliser les étapes suivantes :
- avant l'instant ti.m, le serveur de clés établit une première connexion avec le groupe de récepteurs et transmet, lors de cette première connexion, les informations nécessaires pour obtenir la clé ki.m, dans lequel le microprocesseur est également programmé pour réaliser les étapes suivantes :
- en réponse à la réception de l’information selon laquelle la clé kim n’a pas pu être obtenue avant l’instant ti,m> le serveur de clés modifie la valeur d’un paramètre PCp de complexité de l’algorithme de dérivation de clé, la valeur modifiée du paramètre PCp correspondant à un temps moyen TCim d’exécution inférieur au temps moyen d’exécution actuel, ou
- en réponse à une absence de réception de l’information selon laquelle la clé ki m n’a pas pu être obtenue avant l’instant ti.m, le serveur de clé modifie la valeur du paramètre PCp pour qu’il corresponde à un temps moyen TCi,m d’exécution supérieur au temps moyen d’exécution actuel.
[0014] L’invention sera mieux comprise à la lecture de la description qui va suivre, donnée 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 d’un système sécurisé de transmission et de réception d’un contenu multimédia ;
- la figure 2 est un organigramme d’un procédé de transmission sécurisé d’un contenu multimédia mis en oeuvre dans le système de la figure 1 ;
- les figures 3 et 4 sont des organigrammes de deux variantes différentes du procédé de la figure 2.
[0015] Chapitre I : Terminologies [0016] Dans ces figures, les mêmes références sont utilisées pour désigner les mêmes éléments.
[0017] Dans la suite de cette description, les caractéristiques et fonctions bien connues de l’homme du métier ne sont pas décrites en détail.
[0018] Les exemples de modes de réalisation sont donnés dans le contexte particulier des systèmes d’accès conditionnels à des contenus multimédias. Par conséquent, la terminologie propre à ce contexte est employée. Ci-dessous quelques précisions sont données sur cette terminologie. Toutefois, pour plus d’informations sur cette terminologie, le lecteur peut se reporter au document suivant : «Functional Model of Conditional Access System », EBU Review, Technical European Broadcasting Union, Brussels, BE, n° 266, 21 décembre 1995.
[0019] Ici, les termes « embrouiller », respectivement « désembrouiller », et « chiffrer », respectivement « déchiffrer », sont considérés comme des synonymes.
[0020] Par « contenu multimédia » on désigne un contenu audio et/ou visuel destiné à être restitué sous une forme directement perceptible et compréhensible par un être humain. Typiquement, un contenu multimédia correspond à une succession d'images formant un film, une émission de télévision ou de la publicité. Un contenu multimédia peut également être un contenu interactif tel qu’un jeu.
[0021] Une donnée « en clair » correspond à une donnée avant que celle-ci ne soit embrouillée ou chiffrée. Celle-ci peut donc être rendue directement compréhensible par un être humain sans avoir recours à des opérations de désembrouillage et sans que sa visualisation soit soumise à certaines conditions. [0022] Pour sécuriser et soumettre la visualisation de contenus multimédias à certaines conditions, comme la souscription d’un abonnement payant par exemple, les contenus multimédias sont diffusés sous forme embrouillée et non pas en clair. Plus précisément, chaque contenu multimédia est divisé en une succession de cryptopériodes. Pendant toute la durée d'une cryptopériode, les conditions d'accès au contenu multimédia embrouillé demeurent inchangées. En particulier, pendant toute la durée d'une cryptopériode, le contenu multimédia est embrouillé avec une même clé cryptographique connue sous le terme de « mot de contrôle ». Généralement, le mot de contrôle varie d’une cryptopériode à l’autre.
[0023] On désigne ici par « cryptogramme » d’une donnée, une information insuffisante à elle seule pour retrouver la donnée en clair, c’est-à-dire la donnée telle qu’elle était avant l’application du chiffrement qui a permis d’en établir le cryptogramme. Ainsi, si la transmission du cryptogramme est interceptée, la seule connaissance du cryptogramme ne permet pas de retrouver la donnée en clair. Pour retrouver la donnée en clair, le cryptogramme doit être combiné avec une information secrète. L’information secrète est typiquement une clé cryptographique permettant de déchiffrer ce cryptogramme. Toutefois, le cryptogramme peut aussi être une référence à une donnée stockée dans une table contenant une multitude de données similaires. Dans ce cas, l’information secrète est la table associant à chaque cryptogramme une donnée en clair.
[0024] Chapitre II : Notations [0025] Les notations définies dans ce chapitre sont utilisées dans tout le texte de cette demande.
[0026] CPm est la m-ième cryptopériode du contenu multimédia.
[0027] L’indice « m » est un numéro d’ordre qui identifie une position par rapport à un point de référence. Le point de référence peut être une origine absolue indépendante du contenu multimédia ou une origine relative au contenu multimédia diffusé. Par la suite, le point de référence est une origine relative. Le point de référence est le début du contenu multimédia. Ainsi, la cryptopériode CPi est la première cryptopériode du contenu multimédia, la cryptopériode CP2 est la deuxième cryptopériode du contenu multimédia et ainsi de suite.
[0028] km est la clé cryptographique, connue sous le terme de « mot de contrôle », qui est uniquement utilisée pour embrouiller et désembrouiller la cryptopériode CPm. La clé km est donc utilisée immédiatement après la clé précédente km-i et immédiatement avant la clé suivante km+i.
[0029] tm et tm+i sont, respectivement, les instants où débute et où se termine la cryptopériode CPm lorsqu’elle est jouée par un récepteur. L'instant ti correspond donc au début de la première cryptopériode CPi du contenu multimédia.
[0030] L'intervalle de temps [tm ; tm+i[ correspond à l’intervalle de temps pendant lequel la cryptopériode CPm est jouée par le récepteur. L'intervalle [tm ; tm+i[ est aussi un intervalle de validité de la clé km qui a été utilisée pour embrouiller la cryptopériode CPm. En effet, la clé km peut donc être utilisée pour désembrouiller le contenu multimédia uniquement pendant l'intervalle [tm ; tm+i[. En dehors de cet intervalle de temps, la clé km ne permet pas de désembrouiller correctement le contenu multimédia.
[0031] Vm est la durée de l’intervalle [tm ; tm+i[. Lorsque tous les intervalles [tm ; tm+i[ ont la même durée, et donc lorsque la durée Vm est indépendante de l’indice m, cette durée est simplement notée V.
[0032] ECMm est un message ECM (Entitlement Control Message). Le message ECMm est le message ECM contenant l’identifiant de la clé km qui permet de désembrouiller la cryptopériode CPm.
[0033] SEP est la succession de clés {ki ; ...;km; km+i ;...;kN}, c’est-à-dire la séquence ordonnée des clés ki à kN, où N est le nombre de clés dans la succession SEP.
[0034] SRm est la succession de clés {km ; km+i ;... ;km+L-i}, c’est-à-dire la séquence ordonnée des clés km à km+L i, où L est le nombre de clés dans la succession SRm. Le nombre L est systématiquement inférieur ou égal à un seuil préenregistré Lmax. Le seuil Lmax est inférieur à N, et par exemple deux ou dix ou cent fois inférieur au nombre N. Le nombre Lmax est un nombre entier supérieur ou égal à deux, préenregistré dans la mémoire 110. Le nombre Lmax est la longueur maximale d’une succession SRm. Ainsi, chaque succession SRm est beaucoup plus petite que la succession SEP.
[0035] ki.m est la i-ième clé de la succession SRm. L’indice i indique la position de la clé ki.m dans la succession SRm par rapport à la première clé km de cette succession. L’indice i est le numéro d’ordre de la clé ki,m dans la succession SRm. La valeur de l’indice i pour la première clé de la succession SRm est égale à un. Ainsi, la clé k,,m est égale à la clé ki+m-i. Cette même notation est aussi utilisée pour toute variable associée à la clé kim. Par exemple, la notation C,,m désigne l’information de contrôle Ci+m-i associée à la clé kj,m.
[0036] Chapitre III : Exemples de modes de réalisation :
[0037] La figure 1 représente un système 2 d’émission et de réception de contenus multimédias embrouillés. Par exemple, un contenu multimédia correspond à une séquence d’un programme audiovisuel tel qu’une émission de télévision ou un film.
[0038] Les contenus multimédias en clair sont générés par une ou plusieurs sources 4 et transmis à un dispositif 6 de diffusion. Le dispositif 6 diffuse les contenus multimédias simultanément vers une multitude de récepteurs à travers un réseau 8 de transmission d’informations. Le nombre de récepteurs est généralement très élevé, c’est-à-dire supérieur à 1000 ou 10 000. Pour simplifier la figure 1, seuls trois récepteurs 10 à 12 sont représentés.
[0039] Le réseau 8 est typiquement un réseau grande distance de transmission d’informations tel que le réseau Internet ou un réseau satellitaire ou tout autre réseau de diffusion tel que celui utilisé pour la transmission de la télévision numérique terrestre (TNT).
[0040] Le dispositif 6 comprend un encodeur 16 qui compresse les contenus multimédias qu’il reçoit. L’encodeur 16 traite des contenus multimédias numériques. Par exemple, cet encodeur fonctionne conformément à la norme MPEG2 (Moving Picture Expert Group - 2) ou la norme UIT-T H264.
[0041] Les contenus multimédias compressés sont dirigés vers une entrée 20 d’un embrouilleur 22. L’embrouilleur 22 embrouille chaque contenu multimédia compressé pour conditionner sa visualisation à certaines conditions telles que l’achat d’un titre d’accès par les utilisateurs des récepteurs. Les contenus multimédias embrouillés sont restitués sur une sortie 24 raccordée à l’entrée d’un multiplexeur 26.
[0042] L’embrouilleur 22 embrouille chaque cryptopériode CPm du contenu multimédia compressé à l’aide d’une clé km respective, connue sous le terme de « mot de contrôle » dans le domaine des systèmes d'accès conditionnel. Typiquement, cet embrouillage est conforme à une norme telle que la norme DVB-CSA (Digital Video Broadcasting - Common Scrambling Algorithm), ISMA Cryp (Internet Streaming Media Alliance Cryp), SRTP (Secure Real-time Transport Protocol), AES (Advanced Encryption Standard), etc.
[0043] La durée Vm d’une cryptopériode CPm est typiquement supérieure à cinq secondes et, de préférence, comprise entre 5 secondes et 10 minutes. Dans ce mode de réalisation, toutes les cryptopériodes CPm ont la même durée V.
[0044] Le dispositif 6 comporte également un système 28 de contrôle d’accès. Le système 28 est plus connu sous l’acronyme CAS (Conditional Access System). Ici, pour chaque cryptopériode CPm, le système 28 :
- transmet à l’embrouilleur 22 la clé km à utiliser pour embrouiller cette cryptopériode, et
- génère, le message ECMm contenant au moins l’identifiant ldm de la clé km à utiliser pour désembrouiller la cryptopériode CPm.
[0045] Le message ECMm est ici associé à la cryptopériode CPm par le multiplexeur 26. Pour cela, dans cet exemple, le message ECMm et la cryptopériode CPm sont synchronisés temporellement l'un avec à l'autre en les multiplexant dans le même signal audiovisuel transmis sur le réseau 8. Plus précisément, ici, le message ECMm est transmis aux récepteurs pendant la cryptopériode CPm-i qui précède immédiatement la cryptopériode CPm.
[0046] Ici, les récepteurs 10 à 12 sont identiques et seul le récepteur 10 est décrit plus en détail.
[0047] Le récepteur 10 comprend un module de réception 70 de contenus multimédias diffusés. Ce module 70 est raccordé à l’entrée d’un démultiplexeur 72. Le démultiplexeur 72 transmet d’un côté chaque cryptopériode CPm embrouillée reçue à un désembrouilleur 74 et d’un autre côté les messages ECM et EMM (Entitlement Management Message) à un processeur 76.
[0048] Le processeur 76 traite des informations confidentielles telles que des clés cryptographiques. Pour préserver la confidentialité de ces informations, il est conçu pour être le plus robuste possible vis-à-vis des tentatives d’attaques menées par des pirates informatiques. Il est donc plus robuste vis-à-vis de ces attaques que les autres composants du récepteur 10. Cette robustesse est par exemple obtenue en implémentant un module logiciel dédié à la protection des informations secrètes.
[0049] Le processeur 76 est par exemple réalisé à l’aide d'un microprocesseur 77 programmable apte à exécuter des instructions enregistrées sur un support d’enregistrement d’informations. A cet effet, le processeur 76 comporte également une mémoire 78 contenant les instructions nécessaires pour l’exécution du procédé de la figure 2.
[0050] La mémoire 78 contient également par exemple :
- une clé secrète de cryptographie symétrique, unique et partagée avec un serveur 106 de clés, ou
- une clé privée de cryptographie asymétrique et un certificat cryptographique associé, c’est-à-dire la clé publique associée, pour authentifier le récepteur 10.
La mémoire 78 contient également une table locale 79 contenant les clés km actuellement disponibles.
[0051] Le désembrouilleur 74 désembrouille le contenu multimédia embrouillé à l'aide de la clé km transmise par le processeur 76. Le contenu multimédia désembrouillé est transmis à un décodeur 80 qui le décode. Le contenu multimédia décompressé ou décodé est transmis à une carte graphique 82 qui pilote l’affichage de ce contenu multimédia sur un afficheur 84 équipé d’un écran 86.
[0052] L’afficheur 84 affiche en clair le contenu multimédia sur l’écran 86.
[0053] Le récepteur 10 comprend également un émetteur-récepteur 88 permettant d’établir une connexion sécurisée entre le processeur 76 et une tête de réseau 90 par l’intermédiaire d’un réseau 92 de transmission d’informations. Par exemple, le réseau 92 est un réseau grande distance de transmission d’informations et plus précisément un réseau à commutation de paquets tel que le réseau Internet. La connexion sécurisée est par exemple un tunnel sécurisé à l’aide du certificat cryptographique du processeur 76.
[0054] La tête de réseau 90 comprend un module 100 de gestion des titres d’accès des différents utilisateurs du système 2. Ce module 100 est plus connu sous le terme anglais de « subscriber authorization system ». Ce module 100 génère et maintient à jour une base de données 102. La base de données 102 associe à chaque identifiant d’utilisateur les titres d’accès acquis par cet utilisateur. Cette base de données 102 est stockée dans une mémoire 104.
[0055] La tête de réseau 90 comprend également un serveur 106 de clés. Le serveur 106 comprend notamment un générateur 108 de clés km et une mémoire 110. [0056] La mémoire 110 contient :
- un compteur Cnbc du nombre de connexions par unité de temps,
- une table 112 contenant chaque clé km générée et, pour chaque clé km dont l'indice est supérieur ou égal à 1, une information de contrôle Cm, [0057] Le compteur Cnbc dénombre le nombre de connexions, par unité de temps, établies par l’ensemble des récepteurs du système 2 avec le serveur 106. Typiquement, ce compteur Cnbc contient le nombre de telles connexions recensées pendant une fenêtre de temps glissante de durée ΔΤ. Cette fenêtre glissante s'achève à l'instant courant. La durée ΔΤ est par exemple comprise entre V et 24 heures ou entre V et 1 heure.
[0058] Typiquement, le serveur 106 est réalisé à partir d’un microprocesseur 114 programmable apte à exécuter des instructions enregistrées sur un support d’enregistrement d’informations. A cet effet, la mémoire 110 comprend également les instructions pour l’exécution du procédé de la figure 2.
[0059] Le fonctionnement du système 2 va maintenant être décrit plus en détail en référence au procédé de la figure 2. Ici, on suppose qu'initialement, la table 79 est vide.
[0060] Le procédé débute, en réponse à une requête de transmission d’un contenu, par une phase 114 d’initialisation des valeurs des différents paramètres nécessaires à la réalisation des étapes suivantes. Les valeurs de ces paramètres sont enregistrées dans la mémoire 110. Ces paramètres sont présentés au fur et à mesure de la description des étapes suivantes. Par conséquent, bien que chronologiquement située avant les étapes suivantes, dans cette description, le réglage des valeurs de ces paramètres lors de la phase 114 est décrit après ces étapes. Une fois la phase 114 terminée, la transmission du contenu multimédia peut alors débuter.
[0061] Lors d’une étape 116, le générateur 108 génère, les unes après les autres, les clés km de la succession SEP. Chaque clé km de cette succession est utilisée pour embrouiller la cryptopériode correspondante CPm du contenu multimédia à diffuser. Au cours du temps, le générateur 108 génère successivement les clés kià kN. Ici, le nombre N de clés dans la succession SEP est par exemple égal ou supérieur au nombre de cryptopériodes CPm du contenu multimédia à embrouiller.
[0062] Pour générer la succession SEP, le générateur 108 commence par obtenir la clé ki puis, pour tout indice m supérieur ou égal à deux, il dérive la clé suivante km à partir de la clé précédente km-i en exécutant un premier algorithme DI de dérivation de clé km.
[0063] Lors d’une opération 117, le générateur 108 obtient la clé ki, par exemple, par tirage aléatoire ou pseudo-aléatoire d’un nombre dans un ensemble Ek. Ici, l’ensemble Ek contient tous les nombres entiers dont la représentation binaire comporte au plus Nk bits. La valeur du nombre Nk est pré-enregistrée dans la mémoire 110. Par exemple, la valeur du nombre Nk est égale à 16, 32, 48 ou 56. La clé ki générée est ensuite enregistrée dans la table 112.
[0064] Ensuite, lors d’une opération 118, le générateur 108 dérive chaque clé suivante km de la clé précédente km_i en exécutant le même algorithme DI paramétré par la valeur de la clé précédente km_i. Ainsi, la clé km ne peut pas être générée avant la clé km-!. Les clés km sont donc générées les unes après les autres.
[0065] Ici, l’algorithme DI est aussi paramétré par un paramètre réglable de complexité, noté PCp, qui permet, comme cela sera expliqué plus loin, d’augmenter ou de diminuer le nombre moyen d’opérations exécutées par les récepteurs pour obtenir la clé km à partir de la clé km_i. Le paramètre PCp permet donc d’augmenter ou de diminuer le temps moyen TCi,m d’exécution d’un deuxième algorithme D2 de dérivation de la clé kim exécuté par les récepteurs. Le temps moyen TCi,m est le temps qui s’écoule, en moyenne, entre l’instant où un processeur 76 débute l’exécution de l’algorithme D2 pour obtenir la clé kim et l’instant où ce processeur 76 termine cette exécution de l’algorithme D2 car il a obtenu la clé kim. Le temps moyen TCi,m correspond donc typiquement à la moyenne des temps mis par une multitude de processeurs 76 de terminaux du système 2 pour obtenir la clé kim en exécutant l’algorithme D2. Dans ce premier mode de réalisation, le paramètre PCp est la taille d’un ensemble ER de nombres entiers. L’ensemble ER contient tous les nombres entiers dont la représentation binaire comporte au plus NR bits. Par exemple, le nombre NR est égal à la valeur du paramètre PCp.
[0066] Dans ce mode de réalisation, l’algorithme DI est un calcul de clés faisant intervenir une succession de tirages aléatoires d’un nombre R dans l’ensemble ER. Par la suite, ce type d’algorithme est appelé « calcul de clés avec aléa ». Par exemple, à chaque exécution de l’algorithme Dl, le générateur 108 réalise les opérations suivantes pour générer la clé suivante km :
1) Tirage aléatoire ou pseudo-aléatoire d’un nombre Rm dans l’ensemble ER, puis
2) Calcul de la clé km à l’aide de la relation suivante : km = Fi(Rm//km_i), où :
- le symbole « H » désigne une opération de combinaison de la valeur de la clé Km i avec le nombre Rm, et
- Fi est une fonction connue du générateur 108 et des récepteurs.
[0067] Par exemple, ici, l’opération « // » est l’opération « ou exclusif » habituellement désignée par le symbole XOR. La fonction Fi est typiquement une fonction à sens-unique. Par exemple, la fonction Fi est choisie dans le groupe Gi de fonctions à sens-unique constitué des fonctions de chiffrement symétriques, des fonctions de chiffrement asymétriques et des fonctions de hachage.
[0068] Dans ce mode de réalisation, lors d’une opération 119 supplémentaire, pour chaque clé km générée en exécutant l’algorithme Dl, le générateur 108 génère aussi une information de contrôle Cm. L’information de contrôle Cm est un paramètre de l’algorithme D2 nécessaire pour obtenir la clé km à partir de la clé km_i. Dans ce mode de réalisation, l’information de contrôle Cm est une information qui permet au récepteur d’obtenir la clé km à partir de la clé précédente km_i sans connaître le nombre Rm. Par exemple, l’information de contrôle Cm est calculée par le générateur 108 à l’aide de la relation suivante : Cm = Hi(km), où Hi est une fonction cryptographique à sens unique. Puisque Hi est une fonction à sens unique, c’est-àdire pour laquelle il est très difficile de calculer une pré-image à partir de son image, il n’est pas possible de déduire la clé km à partir de la seule connaissance de l’information de contrôle Cm. La fonction Hi est typiquement elle aussi choisie dans le groupe Gi de fonctions. Ici, les fonctions Fi et Hi sont identiques. Par exemple, les fonctions Fi et Hi sont toutes les deux une même fonction de hachage.
[0069] Chaque clé km générée par l’exécution de l’algorithme Dl est enregistrée, associée à l’information de contrôle Cm, dans la table 112. Le générateur 108 transmet également chaque clé km au système 28.
[0070] L’étape 116 est déclenchée suffisamment tôt de manière à ce que, quelle que soit la valeur de l’indice m, la clé km est disponible à temps pour que l’embrouilleur 22 embrouille la cryptopériode CPm avec la clé km. De plus, ici, l’exécution de l’étape 116 est déclenchée suffisamment tôt pour que, à chaque instant tm, la table 112 contienne déjà au moins les clés km à km+Lmax et les informations de contrôle associées Cm à Cm+Lmax. Le nombre Lmax est un nombre entier supérieur ou égal à un préenregistré dans la mémoire 110. Le nombre Lmax est la longueur maximale d’une succession SRm.
[0071] En parallèle de l'étape 116 ou après l'étape 116, lors d’une étape 120, le dispositif 6 divise le contenu multimédia en cryptopériodes successives, embrouille chaque cryptopériode CPm à l’aide de la clé km correspondante, puis transmet les cryptopériodes embrouillées. Les messages ECMm contenant les identifiants ldm des clés km sont multiplexés avec les cryptopériodes correspondantes du contenu multimédia transmis. Ce multiplexage permet de synchroniser la transmission de chaque identifiant ldm avec la transmission de la cryptopériode CPm du contenu multimédia. Ici, l'identifiant ldm est transmis aux récepteurs uniquement pendant la cryptopériode CPmi précédant la cryptopériode CPm. Dans le cas de la première cryptopériode CPi, l’identifiant ldi est transmis aux récepteurs pendant un intervalle de temps [t0 ; ti[ précédant immédiatement la première cryptopériode CPi. La durée de l’intervalle [t0 ; ti[ est par exemple égale à la durée V d’une cryptopériode.
[0072] Le contenu multimédia embrouillé est reçu sensiblement en même temps par chacun des récepteurs du système 2. Les étapes suivantes sont donc exécutées sensiblement en parallèle pour chacun de ces récepteurs. Les étapes suivantes sont décrites dans le cas particulier du récepteur 10.
[0073] Lors d’une étape 122, le signal audiovisuel contenant le contenu multimédia embrouillé et les messages ECMm est reçu par le module 70 de réception. [0074] Ensuite, lors d’une étape 124, le démultiplexeur 72 extrait, au fur et à mesure de leur réception, les cryptopériodes CPm embrouillées du contenu multimédia embrouillé et les messages ECMm. Le démultiplexeur 72 transmet les cryptopériodes CPm embrouillées extraites vers le désembrouilleur 74. Les messages ECMm extraits sont quant à eux transmis au processeur 76.
[0075] Au moins en réponse à chaque première réception d’un message ECMm, et au plus tard une durée prédéterminée d avant l’instant tm, lors d’une étape 126, le processeur 76 vérifie s’il a déjà obtenu la clé kim. Ici, pour cela, il recherche dans la table 79 si celle-ci contient déjà la clé km correspondant à l’identifiant ldm contenu dans le message ECMm reçu. La durée d est fixée par l’opérateur du système 2 comme majorant légèrement le temps nécessaire à l’obtention par un récepteur d’une clé ki.m auprès du serveur 106.
[0076] Dans l’affirmative, lors d'une étape 128, le processeur 76 envoie au désembrouilleur 74 la clé km trouvée dans la table 79. Aucune connexion avec le serveur 106 n'est alors établie pour obtenir la clé km.
[0077] Ensuite, lors d’une étape 130, le désembrouilleur 74 désembrouille la cryptopériode CPm reçue à l’aide de la clé km.
[0078] Puis, lors d’une étape 132, la cryptopériode CPm désembrouillée est décodée par le décodeur 80 puis transmise à la carte vidéo 82.
[0079] Enfin, lors d’une étape 134, la carte vidéo 82 transforme la cryptopériode CPm désembrouillée et décodée en un signal vidéo. Ici, ce signal vidéo est ensuite transmis au dispositif d’affichage 84.
[0080] En réponse, le dispositif 84 affiche la cryptopériode CPm du contenu multimédia sur l’écran 86 de manière directement perceptible et compréhensible par un être humain.
[0081] Si lors de l’étape 126, la clé km correspondant à l’identifiant ldm n’est pas contenue dans la table 79, alors le procédé se poursuit par une étape 140 et non pas directement par l’étape 128.
[0082] Lors de l’étape 140, le processeur 76 établit une connexion sécurisée avec le serveur 106 et transmet par l'intermédiaire de cette connexion une requête pour recevoir les informations nécessaires à l'obtention de la clé km. Par exemple, cette requête contient notamment l’identifiant ldmde la clé km.
[0083] Cette requête est transmise au serveur 106 par l’intermédiaire de l’émetteur-récepteur 88 et du réseau 92. Tous les échanges d’informations entre le processeur 76 et le serveur 106 se font par l’intermédiaire d’un tunnel sécurisé établi au travers du réseau 92. L’établissement du tunnel a requis l’authentification et l’identification du récepteur par le serveur 106, par exemple à l’aide du certificat cryptographique contenu dans la mémoire 78. Ainsi, le serveur 106 dispose de l'identifiant ldT du récepteur qui lui envoie une requête.
[0084] Puisque la table 79 des récepteurs est initialement vide, l'étape 140 est systématiquement exécutée par chacun des récepteurs pendant l’intervalle de temps [t0 ; ù[ précédant immédiatement la première cryptopériode CPi à désembrouiller du contenu multimédia. Ensuite, l'étape 140 est exécutée à chaque fois que la clé km requise pour désembrouiller la cryptoperiode CPm est absente de la table 79.
[0085] La réception par le serveur 106 de cette requête l’informe que la clé ki,m n’a pas pu être obtenue avant l’instant ti,m. En réponse, lors d’une étape 142, le serveur 106 procède à la mise à jour du compteur Cnbc de connexions par unité de temps. Par exemple, le serveur 106 compte le nombre de connexions établies, y compris celle-ci, entre tous les récepteurs du système 2 et lui-même pendant la fenêtre glissante de durée ΔΤ. Ici, le serveur 106 compte seulement les connexions lors desquelles les informations nécessaires pour obtenir une clé km sont requises.
[0086] Ensuite, lors d’une étape 144, le serveur 106 obtient la valeur d’un nombre entier L. Le nombre L permet d’ajuster le nombre de cryptopériodes qui vont s’écouler entre cette connexion au serveur 106 du récepteur 10 et la prochaine connexion obligatoire du récepteur 10 au serveur 106. Plus précisément, le nombre L fixe le nombre maximum de clés suivantes que le récepteur 10 peut dériver à partir de la clé km sans se connecter à nouveau au serveur 106. Le nombre L fixe donc la longueur de la succession SRm des clés km à km+L-i que le récepteur 10 peut obtenir à partir des seules informations contenues dans la réponse à sa requête.
[0087] Le nombre L est ici déterminé pour répartir de façon la plus uniforme possible les connexions des récepteurs au serveur 106. A cet effet, lors de la première connexion du récepteur 10, c’est-à-dire celle établie pour obtenir la clé ki, le serveur 106 choisit une première valeur du nombre L différente de celle choisie pour d’autres récepteurs du système 2. Par exemple, le serveur 106 tire aléatoirement cette première valeur dans l’intervalle [2 ; Lmax]. Dans un autre exemple, le serveur 106 tire aléatoirement la première valeur successivement dans des sous-intervalles formant une partition de l’intervalle [2 ; Lmax], Ensuite, lors des connexions suivantes du récepteur 10, le serveur 106 utilise une deuxième valeur du nombre L constante et identique pour tous les récepteurs du système 2. Une connexion suivante est une connexion établie pour obtenir une clé km, où l’indice m est strictement supérieur à un. La deuxième valeur du nombre L est par exemple pré-enregistrée dans la mémoire 110 lors de la phase 114. Cette deuxième valeur du nombre L est également comprise entre 2 et Lmax.
[0088] Lors d’une étape 146, en réponse à la requête du récepteur 10, le serveur 106 transmet au processeur 76, par l’intermédiaire de la connexion établie à l’étape 140, les informations nécessaires pour que le récepteur 10 puisse obtenir la séquence SRm de clés sans que ce récepteur ait besoin d’établir une connexion suivante avec le serveur 106. Autrement dit, le serveur 106 transmet au récepteur 10 lors de cette connexion, toutes les informations nécessaires pour qu’il puisse obtenir les clés ki,m à kL,m. A cet effet, dans ce mode de réalisation, le serveur 106 transmet et le récepteur 10 reçoit lors de cette connexion les informations suivantes :
- la valeur actuelle du paramètre PCp,
- la clé ki,m, et
- les informations de contrôle C2,m à CL,m.
[0089] Après avoir transmis ces informations, la connexion entre le serveur 106 et le récepteur 10 est interrompue. La connexion est donc interrompue avant l’instant tm où débute la cryptopériode CPm.
[0090] Ensuite, lors d’une étape 148, le processeur 76 enregistre la clé ki,m reçue dans la table 79, puis le procédé retourne à l’étape 128. Ainsi, la clé ki,m est transmise au désembrouilleur 74 avant l’instant tm de sorte que la cryptopériode CPm peut être correctement désembrouillée à temps.
[0091] En parallèle, lors d’une étape 150, le processeur 76 déclenche immédiatement l’obtention des clés suivantes : k2,m à kL,m à partir des informations reçues en réponse à sa requête.
[0092] Pour cela, lors de l’étape 150, le processeur 76 exécute l’algorithme D2 de dérivation de clé. L’algorithme D2 permet d’obtenir la clé ki m suivante à partir de la clé ki-i,m précédente et également à partir, ici, des valeurs du paramètre PCp et de l’information de contrôle Ci,m. Ainsi, l’algorithme D2 est exécuté une première fois pour obtenir la clé k2,m à partir de la clé ki,m reçue, puis une deuxième fois pour obtenir la clé k3,m à partir de la clé k2,m et ainsi de suite jusqu’à obtenir la clé kL,m à partir de la clé Κ-Ι,ΠΤ [0093] Ici, à chaque fois que l’algorithme D2 est exécuté par le processeur 76, ce processeur réalise les opérations suivantes pour obtenir la clé k,,m :
1) Le processeur 76 tire aléatoirement un nombre R dans l’ensemble ER, puis
2) Le processeur 76 calcule une clé candidate kcd selon la relation suivante : kcd = Fi(R//kj.i,m), puis
3) Le processeur 76 calcule une information de contrôle Ccd selon la relation suivante : Ccd = Hi(kcd), puis
4) Le processeur 76 compare l’information de contrôle Ccd à l’information de contrôle Ci.m reçue lors de l’étape 146, puis
5) Si les informations de contrôle Ccd et Ci,m sont identiques, la clé kcd est égale à la clé ki.m et la clé kim est donc obtenue. La clé ki m est alors enregistrée dans la liste 79 et l’exécution de l’algorithme D2 est terminée. Dans le cas contraire, le processeur 76 retourne à l’opération 1). Ainsi, les opérations 1) à 5) sont réitérées en boucle jusqu’à ce que la clé kim soit obtenue, ou que le processeur 76 mette en œuvre l’étape 126 pour déterminer s’il a déjà obtenu la clé ki.m, puis l’étape 140 pour l’obtenir auprès du serveur 106. Dans ce dernier cas, la clé kim n’a pas été obtenue par le récepteur au moins la durée d avant l’instant tm, et l’étape 150 est interrompue avant son obtention par exécution de l’algorithme D2.
[0094] Les fonctions Fi, Hi et // mises en oeuvre par le processeur 76 sont les mêmes que celles mises en oeuvre par le générateur 108 pour construire la succession SEP.
[0095] La taille de l’ensemble ER est déterminée à partir du paramètre PCp reçu par le processeur 76 en même temps que la clé ki,m et des informations de contrôle Cj,m· [0096] Le temps moyen TCi,m d’exécution de cet algorithme D2 dépend de la taille Ca de l’ensemble ER. En effet, plus la taille Ca de l’ensemble ER est grande, plus le nombre moyen de tirages aléatoires réalisés avant de tirer un nombre R égal au nombre Rm qui permet d’obtenir la clé kim est important. Ici, ce nombre moyen de tirages aléatoires est égal à Ca/2. Le temps moyen TCi,m pour obtenir la clé kim est donc donné par la relation suivante : TCi,m = (Ca/2)ti-5, où ti-5 est le temps nécessaire pour que le processeur 76 exécute une fois les opérations 1) à 5).
[0097] Après l’étape 146, par exemple en parallèle de l’étape 148, lors d’une étape 160, le serveur 106 compare le compteur Cnbc mis à jour à des seuils Snbc-b et Snbci prédéterminés enregistrés dans la mémoire 110. Le seuil Snbc.b est égal ou strictement supérieur au nombre de connexions par unité de temps auquel on peut s’attendre si chaque récepteur arrive à calculer à temps chacune des clés k2,m à kL,m, et ne se connecte donc au serveur 106, sauf la première fois, qu’après avoir obtenu, par exécution de l’algorithme D2, la dernière clé kL,m d’une succession de clés SRm. Ainsi, le seuil Snbc-b est supérieur ou égal à Nrec/(L.V), où :
- Nrec est égal au nombre total de récepteurs du système 2 qui se connectent aux serveurs 106,
- le symbole « . » désigne l’opération de multiplication.
Le seuil Snbc b doit aussi être suffisamment petit pour permettre d’adapter la valeur du paramètre PCp avant que le compteur Cnbc ne devienne très supérieur à Nrec/(L.V). Par exemple, le seuil Snbc.b est inférieur à 2Nrec/(L.V) ou inférieur à l,5Nrec/(L.V).
[0098] Si la valeur actuelle du compteur Cnbc dépasse le seuil Snbc-b, cela veut dire qu’un trop grand nombre de récepteurs sont incapables de terminer le calcul de la clé ki.m avant l’instant ti,m. Cela se traduit par un nombre de connexions établies avec le serveur 106 bien plus important qu’initialement prévu. En réponse, lors d’une étape 162, le serveur 106 modifie la valeur du paramètre PCp pour que les récepteurs puissent calculer plus rapidement les clés kim suivantes. Dans ce mode de réalisation, pour cela, la valeur du paramètre PCp est diminuée afin de diminuer la taille Ca de l’ensemble ER. Ensuite, le procédé retourne à l’étape 116 pour générer les clés suivantes de la succession SEP en prenant en compte la nouvelle valeur du paramètre PCp.
[0099] Si la valeur du compteur Cnbc tombe en dessous du seuil Snbc-i5 cela veut dire qu’un trop petit nombre de récepteurs sont incapables de terminer le calcul de la clé ki,m avant l’instant ti,m. Cela correspond généralement à une situation où le temps moyen TCi,m est trop petit devant la durée V. Le seuil Snbc-i est strictement inférieur au seuil Snbc-h et généralement proche de la limite Nrec/(L.V). Par exemple, le seuil Snbc-i appartient à l’intervalle [Nrec/(L.V); l,3Nrec/(L.V)] ou à l’intervalle [Nrec/(L.V); l,lNrec/ (L.V)]. Dans ce cas, en réponse, lors d’une étape 164, le serveur 106 modifie la valeur du paramètre PCp pour faire augmenter le temps moyen TCim de calcul de la clé ki,m puis retourne aux étapes 116 et 120. Pour cela, la valeur du paramètre PCp est augmentée afin d’augmenter la taille Ca de l’ensemble ER.
[00100] Si la valeur du compteur Cnbc est comprise entre les seuils Snbc.b et Snbc-i, alors le serveur 106 laisse inchangée la valeur actuelle du paramètre PCp.
[00101] Des méthodes pour régler, lors de la phase 114, les différents paramètres précédemment décrits sont maintenant introduites.
[00102] La deuxième valeur préenregistrée du nombre L est, par exemple, fixée pour obtenir un nombre cible Ncn de connexions au serveur 106 par seconde. Le nombre Ncn est choisi par le concepteur du système 2. Pour cela, dans ce mode de réalisation particulier où la durée V de l’intervalle de validité de chaque clé km est la même, la deuxième valeur du nombre L est déterminée à l’aide de la relation suivante : L = Nrec/(Ncn.V).
[00103] La valeur initiale du paramètre PCp est déterminée pour que le temps moyen attendu TCi,m d’exécution de l’algorithme D2 par un récepteur avant d’obtenir la clé kj,m soit supérieur à 0,2Vi-i,m ou 0,5Vi-i,m ou 0,9Vi-i,m, où Vi-i,m est la durée de la cryptopériode CPi-i,m.
[00104] Par exemple, la valeur initiale du paramètre PCp est conçue pour que, quelle que soit la valeur de l’indice i comprise entre 2 et L, chaque temps moyen TCim respecte les conditions (1) à (3) suivantes :
(1) i-2 i-1 VîG[3;1], TC. >Y V -Y TC q=l q-2
(2)
(3) VicM.TC^V,^
[00105] Dans ce cas, quel que soit l’indice i supérieur ou égal à deux, la clé k,,m ne peut pas être obtenue avant l’instant ti-i,m. Ainsi, la clé kL,m est exposée aux tentatives d’attaque uniquement au plus pendant l’intervalle [tL-i,m ; tL,m[. L’intervalle [tL-i,m; tL,m[ est beaucoup plus court que l’intervalle [ti,m ; tL,m[. L’intervalle [ti,m ; tL,m[ correspond à l’intervalle de temps pendant lequel la clé kL,m est exposée aux tentatives d’attaque dans les procédés connus, tel que celui décrit dans la demande EP2567500, où la clé kL,m est transmise au récepteur en même temps que la clé ki,m.
[00106] Dans ce mode de réalisation particulier où les durées des cryptopériodes CPm sont toutes égales à V et où l’on impose que tous les temps moyens TCi,m soient égaux à une constante TC, alors les conditions (1) à (3) sont satisfaites, par exemple, en choisissant une valeur du paramètre PCp tel que le temps moyen TC soit compris entre (L-1)V/L et V.
[00107] Ici, la valeur initiale du paramètre PCp est alors choisie en déterminant le plus grand nombre NR pour lequel la condition suivante est vérifiée : ti_5.Ca/2 < V, où
- ti-5 est le temps d’exécution par le récepteur des opérations 1) à 5) de l’étape 150,
- Caest le nombre d’éléments de l’ensemble ER, et Ca est égal à 2NR, et
- V est la durée de chaque intervalle de validité des clés km.
[00108] Par exemple, lors de la phase 114, le temps ti_5 est mesuré expérimentalement sur un récepteur. La durée V est fixée et connue.
[00109] La figure 3 représente un procédé identique au procédé de la figure 2 sauf que les étapes 116 et 150 ont été remplacées, respectivement, par des étapes 180 et 182. Pour simplifier la figure 3 et les figures suivantes, seules les étapes modifiées sont représentées. Les étapes non modifiées et donc non représentées sont symbolisées sur ces figures par une ligne en pointillés.
[00110] Les étapes 180, 182 sont identiques, respectivement, aux étapes 116 et 150, sauf que les algorithmes DI et D2 sont remplacés par, respectivement, des algorithmes D3 et D4.
[00111] L’algorithme D3 est un calcul de clés déterministe et non plus un calcul de clés avec aléa. Un calcul de clés déterministe, contrairement à un calcul de clés avec aléa, ne fait pas intervenir un tirage aléatoire susceptible de modifier de façon substantielle le temps moyen TCi,m d’exécution de l’algorithme D4.
[00112] L’algorithme D3 exécuté pour générer la clé km à partir de la clé km_i consiste à composer Qm-1 fois une fonction cryptographique à sens unique H2 avec elle-même. La clé km est donc obtenue selon la relation suivante : km = H2 Qm(km-i), où :
- H2 est une fonction cryptographique à sens unique ;
- H2 Qm indique que la fonction H2 est composée avec elle-même Qm-1 fois.
[00113] Typiquement, la fonction H2 appartient au groupe Gi de fonctions précédemment définies. Ici, la fonction H2 est une fonction de hachage. La composition de la fonction H2 avec elle-même consiste à appliquer une première fois la fonction H2 à la clé km_i pour obtenir un premier résultat H2(km_i), puis à appliquer une seconde fois la fonction H2 au premier résultat H2(km_i) pour obtenir un deuxième résultat H2 2(km_i) = H2(H2(km_i)) et ainsi de suite Qm fois. Dans ce mode de réalisation, les informations de contrôle comportent le paramètre Qm.
[00114] La valeur du paramètre Qm varie en fonction de l’indice m. Par exemple, pour chaque indice m supérieur ou égal à deux, la valeur du paramètre Qm est tirée aléatoirement dans un ensemble EQ de valeurs proches de V/ti82, où ti82 est égal au temps qu’il faut au récepteur pour exécuter une fois la fonction H2. Par exemple, l’ensemble EQ est l’ensemble des nombres entiers compris dans l’intervalle [0,7V/ti82; l,3V/ti82] ou de l’intervalle [0,9V/ti82; l,lV/ti82]. Dans ce cas, les informations de contrôle transmises au récepteur 10 comportent chacune des valeurs des paramètres Q2,m à QL,m. Ainsi, quand le récepteur 10 se connecte au serveur 106 pour obtenir la succession SRm, il reçoit en réponse :
- la clé ki.m,
- les informations de contrôle Q2,m à QL,m.
[00115] L’ensemble EQ est beaucoup plus petit que l’ensemble ER. Par exemple, l’ensemble EQ contient 103 ou 106 nombres entiers. La taille de l’ensemble EQ est ici constante quelle que soit la valeur de l’indice m.
[00116] Le paramètre de complexité PCp est dans ce mode de réalisation la valeur moyenne MQ de l’ensemble EQ et non pas le nombre d’entiers qu’il contient. La valeur moyenne MQ est la moyenne des nombres entiers contenus dans cet ensemble EQ en affectant à chacun de ces nombres entiers le même coefficient de pondération. Plus la valeur moyenne MQ augmente, plus le temps TCi,m de calcul pour obtenir la clé k,,m à partir de la clé ki_i,m augmente aussi. Lors de la phase 114, l’ensemble EQ est construit pour que sa valeur moyenne soit égale à V/ti82. Dans ce mode de réalisation, la valeur MQ et donc le paramètre de complexité PCp n’a pas besoin d’être transmis aux récepteurs.
[00117] Ensuite, lors des étapes 162 et 164, la composition de l’ensemble EQ est modifiée pour diminuer sa valeur moyenne lors de l’étape 162 et, en alternance, augmenter sa moyenne lors de l’étape 164. Par exemple, pour augmenter la valeur moyenne de l’ensemble EQ de ε, le nombre entier ε est ajouté à chacun des nombres entiers précédemment contenus dans l’ensemble EQ.
[00118] Lors de l’étape 182, l’algorithme D4 exécuté par le récepteur pour obtenir la clé ki.m à partir de la clé ki_i,m est identique à l’algorithme D3 sauf que la valeur du paramètre Qi,m est obtenue à partir des informations de contrôle reçues. Autrement dit, lors de l’étape 182, le récepteur 10 obtient la clé k,,m à l’aide de la relation suivante : ki,m = H2 Qim(ki_i,m).
[00119] La figure 4 représente un procédé identique au procédé de la figure 3 sauf que les étapes 180 et 182 sont remplacées, respectivement, par des étapes 190 et 192. Les étapes 190 et 192 sont identiques aux étapes 180 et 182 sauf qu’au lieu d’utiliser la même fonction H2 pour obtenir les clés km, le générateur 108 utilise une fonction HG5 et le récepteur 10 utilise de son côté une fonction HD6. Ainsi, le calcul de la clé km suivante est réalisé par le générateur 108 à l’aide de la relation suivante : km =
[00120] Le processeur 76 calcule la clé kj,m à l’aide de la relation suivante : kj,m = HD6Qi,m(ki-i,m). La fonction Hgs est conçue pour permettre de calculer la clé km à partir de la clé km_i de façon beaucoup plus rapide que ce qui est possible en mettant en œuvre la fonction HD6. Pour cela, on utilise des fonctions cryptographiques HD6 à sens unique avec portes dérobées, telles que celles utilisées pour réaliser des chiffrements asymétriques. Le principe de fonctionnement de telles fonctions cryptographiques à sens unique avec portes dérobées est bien connu. Par exemple, il s’agit du même principe que celui utilisé dans des algorithmes de chiffrement asymétrique aussi connus que l’algorithme de chiffrement RSA (Rivest-Shamir-Adleman). Ainsi, par la suite, un seul exemple détaillé d’une telle fonction est décrit, sachant que l’homme du métier peut, à partir de cet exemple, déduire sans difficulté d’autres modes de réalisation possibles.
[00121] Par exemple, ici, le générateur 108 calcule la clé km à l’aide de la fonction Hgs définie par la relation suivante : km = (km_iA(eAQm[(P-l)(Q-l)]))[N], où :
- (AAB)[C] désigne l’exponentiation modulaire, c’est à dire l’exponentiation du nombre A par le nombre B, le tout modulo C,
- P et Q sont des grands nombres premiers, c’est-à-dire des nombres premiers dont la représentation binaire comporte au moins 500 ou 1 000 bits, en outre distincts l’un de l’autre,
- N est égal au produit du nombre P par le nombre Q,
- e est un nombre premier avec le produit (P-1)(Q-1), supérieur à 1 et non compris entre a(P-l)(Q-l) et a(P-l)(Q-l) + 2S, où « a » est un entier naturel non nul et, s un entier naturel typiquement égal à 80, ou supérieur, appelé paramètre de sécurité.
[00122] Le processeur 76 calcule la clé kim à l’aide de la fonction HD6 définie par la relation suivante : kj,m = ((ki-i,m Ae)[N])Qi m.
[00123] Les nombres P et Q sont seulement connus du générateur 108 et correspondent par exemple à sa clé privée. Les nombres N et e sont connus du générateur 108 et du récepteur 10 et correspondent alors à la clé publique du générateur 108. Le générateur 108, grâce à la connaissance des nombres P et Q, peut calculer la clé km à partir de la clé km_i en exécutant seulement deux exponentiations modulaires alors que pour obtenir la même clé, le processeur 76 doit réaliser Q,,m exponentiations modulaires.
[00124] Chapitre IV : Variantes :
[00125] Chapitre IV. 1 : Variantes du procédé :
[00126] En variante, les informations de contrôle peuvent être omises. Par exemple, dans le cas d’un calcul déterministe de la clé kim, si le nombre Q,,m de fois que la fonction H2 doit être exécutée pour construire la clé ki,m à partir de la clé ki-i,m est une constante connue de tous les récepteurs, alors le serveur 106 n’a pas besoin de transmettre cette information de contrôle au récepteur à chaque connexion. Dans ce cas particulier, le paramètre PCp est aussi une constante. Ainsi, le serveur 106 transmet uniquement la clé ki,m au récepteur et le récepteur dérive les clés k2,m à kL,m à partir de cette clé ki,m sans avoir besoin de recevoir d’autre information de la part du serveur 106.
[00127] Le nombre N de clés de la succession SEP peut être 10 ou 100 ou 1 000 fois supérieur au nombre Lmax.
[00128] A un instant quelconque tp+i, le générateur 108 peut arrêter d’utiliser la succession SEP, y compris avant que la clé kN ait été utilisée pour chiffrer la cryptopériode CPN. A partir de l’instant tp+i, le générateur commence à utiliser une autre succession SEp+i de clés. Dans ce cas, de préférence, avant l’instant tp+i, le serveur 106 transmet un signal aux récepteurs pour leur indiquer que l’autre succession SEp+i va être utilisée à partir de cet instant. En réponse, les récepteurs établissent immédiatement une connexion avec le serveur 106 pour recevoir les informations nécessaires pour obtenir la clé ki,m et dériver les L clés suivantes kj,m de cette nouvelle succession SEp+i.
[00129] Le nombre N de clés de la succession SEP peut aussi être inférieur au nombre de cryptopériodes du contenu multimédia à embrouiller. Dans ce cas, après avoir généré la clé kN, le générateur 108 commence la génération d’une autre succession SEp+i de clés destinées à embrouiller les cryptopériodes suivant la cryptopériode CPN, par exemple CPN+i à CP2N ou CPN+i à CPn+m. La première clé kN+i de la succession SEp+i est générée indépendamment des clés de la succession SEP et, en particulier, ne dépend pas de la clé kN. Les nombres N et M doivent quand même le cas échéant être choisis supérieurs ou égaux au nombre Lmax.
[00130] Le nombre N peut aussi être a priori indéterminé. Dans ce cas, le générateur 108 génère en permanence de nouvelles clés km pour la succession SEP. Dans ce cas, de préférence, le générateur 108 génère une nouvelle succession SEp+i en réponse à une commande extérieure de changement de succession de clés. Par exemple, cette commande de changement de succession de clés est émise lorsqu’une attaque ou une tentative d’attaque de la succession SEP de clés est détectée. La cryptanalyse réussie de l’algorithme de dérivation de clé peut être détectée, par exemple, à partir du fait qu’un nombre croissant de récepteurs n’ont plus besoin de se connecter au serveur 106 toutes les L.V secondes pour être capables de désembrouiller correctement le contenu multimédia.
[00131] En variante, lors de l’étape 142, le serveur 106 ne met à jour le compteur Cnbc que si la dernière clé obtenue n’est pas la dernière clé de la succession de clés courante, c’est-à-dire si la connexion en cours n’était pas attendue.
[00132] Dans un mode de réalisation simplifié, le nombre L n’est pas ajusté pour répartir plus uniformément dans le temps les connexions des récepteurs au serveur 106. Dans ce cas, par exemple, le nombre L est une constante par exemple prédéterminée, et est identique pour tous les récepteurs.
[00133] En variante, pour limiter la quantité d’informations transmises par le serveur 106 au récepteur 10 lors de chaque connexion, la valeur du paramètre Qm est indépendante de l’indice m et ce paramètre Qm est alors simplement noté Q. Dans ce cas, il est possible de choisir les nombres L et N égaux. Le générateur change alors systématiquement la succession SEP après avoir généré L clés.
[00134] En variante, l’étape 160 n’est pas systématiquement mise en oeuvre après l’étape 146. Par exemple, l’étape 160 est mise en oeuvre périodiquement, avec une période prédéterminée, par exemple sous forme de nombre de mises en oeuvre de l’étape 146, ou sous forme de durée. Lorsque, après l’étape 146, l’étape 160 n’est pas mise en oeuvre, les étapes 162 et 164 sont également omises, et le serveur 106 laisse inchangée la valeur actuelle du paramètre PCp.
[00135] D’autres méthodes de réglage de la valeur du paramètre PCp sont possibles. Par exemple, le réglage de la valeur du paramètre PCp est déclenché autrement qu’en comparant la valeur du compteur Cnbc au seuil Snbc-b et Snbc-i. Par exemple, le temps TCi,m d’exécution de l’algorithme de dérivation par le processeur 76 est mesuré, par exemple par le processeur 76, puis transmis au serveur 106. En réponse, le serveur 106 compare ce temps d’exécution mesuré à la durée V. Si le temps d’exécution mesuré est inférieur à la durée V, la valeur du paramètre de complexité PCp est augmentée. Dans le cas contraire, elle est diminuée.
[00136] Dans un autre exemple, en réponse à la réception du temps TCi,m mesuré par le processeur 76, le serveur 106 calcule un temps moyen d’exécution de l’algorithme de dérivation, puis compare ce temps d’exécution moyen à la durée V. Si le temps d’exécution moyen est inférieur à la durée V, la valeur du paramètre de complexité PCp est augmentée. Dans le cas contraire, elle est diminuée. Dans cet exemple, le serveur 106 calcule un temps moyen d’exécution de l’algorithme de dérivation de l’ensemble des récepteurs ou d’un échantillon des récepteurs, par exemple d’effectif prédéterminé, par exemple aléatoirement constitué. Dans cet exemple, alternativement ou simultanément, le serveur 106 calcule un temps moyen d’exécution de l’algorithme de dérivation sur une fenêtre temporelle glissante d’amplitude prédéterminée, par exemple de l’ordre de grandeur d’une minute, de dix minutes, d’une heure ou de dix heures.
[00137] [00138] En variante, la complexité de l’algorithme de dérivation n’est pas réglable. Dans ce cas, la valeur du paramètre PCp est choisie lors, par exemple, de la phase 114 comme précédemment décrit. Ensuite, le paramètre PCp ne peut plus être modifié au cours de l’exécution du procédé de la figure 2. Dans ce mode de réalisation, les étapes 142,160,162 et 164 sont omises.
[00139] Le paramètre PCp peut être réglé pour que le temps moyen TCi,m soit supérieur à la durée V. Dans ce cas, dans le contexte du mode de réalisation de la figure 2, cela entraîne que seul un sous-groupe PP, d’effectif inférieur à celui obtenu avec les réglages décrits plus haut du paramètre PCp, des récepteurs aura tiré aléatoirement le nombre R qui permet d’obtenir la clé kim a temps, c’est-à-dire avant l’instant ti,m. Les récepteurs qui n’appartiennent pas à ce sous-groupe PP devront se connecter au serveur 106 pour obtenir la clé kim. Toutefois, ce réglage permet quand même de réduire le nombre des récepteurs qui se connectent à chaque cryptopériode au serveur 106, tout en augmentant la sécurité du système.
[00140] En variante, la connexion entre le serveur 106 et le récepteur 10 n’est pas interrompue après la transmission par le serveur des informations nécessaires pour construire la succession SRm.
[00141] Chapitres IV.2 : Variantes des algorithmes de dérivation de clé [00142] D’autres fonctions que celles précédemment décrites peuvent être utilisées. Par exemple, la fonction Fi n’est pas nécessairement une fonction à sens unique. Elle peut être une fonction aussi simple que la fonction identité. Toutefois, dans ce cas, la fonction Hi est différente de la fonction Fi et reste une fonction à sens unique.
[00143] D’autres calculs déterministes de clés sont possibles. Par exemple, l’algorithme D3 peut être remplacé par un autre algorithme dans lequel le calcul de la clé km est réalisé à l’aide de la relation suivante : km = H3 Q(f(km_i,Dm)) où :
- Dm est un petit nombre tiré aléatoirement dans un ensemble ED contenant les nombres entiers dont la représentation binaire est au plus de 18 bits ou 10 bits,
- f est une fonction simple telle que l’addition ou la multiplication entre km-i et Dm, et
- H3 est une fonction appartenant au groupe Gi précédemment défini et de préférence une fonction de hachage, et
- Q est le paramètre de complexité.
[00144] Dans ce mode de réalisation, les informations de contrôle contiennent les données Dm et le paramètre Q. Les données Dm sont codées sur un nombre de bits de préférence au moins deux fois inférieur au nombre de bits nécessaires pour coder les paramètres Qm définis dans le mode de réalisation de la figure 3. Par conséquent, la bande passante requise pour transmettre les informations de contrôle au récepteur 10 est réduite dans cette variante.
[00145] D’autres modes de réalisation de l’algorithme de dérivation sont possibles. Par exemple, au lieu de tirer aléatoirement chaque fois le nombre R dans l’ensemble Er, le nombre R est initialisé à 0 puis incrémenté de 1 à chaque itération des opérations 1) à 5) de l’étape 150.
[00146] Chapitre IV.3 : Autres variantes :
[00147] Les procédés d’obtention d’une succession de clés ont été décrits ici dans le cas particulier où les clés générées et reçues sont des mots de contrôle utilisés directement pour chiffrer et déchiffrer des contenus multimédias. Toutefois, ces procédés peuvent être utilisés pour obtenir d’autres clés que des mots de contrôle. Par exemple, les clés générées et reçues peuvent être des clés de session utilisées pour chiffrer et déchiffrer des mots de contrôle transmis au récepteur. Dans ce cas, les clés de session sont changées, en général, avec une fréquence 10, 100, 1000 ou 10000 fois inférieure à la fréquence de changement des mots de contrôle. Par exemple, la durée de l’intervalle de validité d’une clé de session est supérieure à une minute, une heure, ou 24 heures. Dans ce cas, la valeur du paramètre de complexité PCp est adaptée pour correspondre à une telle durée de l’intervalle de validité.
[00148] Les procédés d’obtention de succession de clés décrits ici peuvent aussi être utilisés pour obtenir des successions de clés qui sont utilisées pour chiffrer et déchiffrer des contenus numériques autres que des contenus multimédias. Par exemple, la succession de clés obtenues peut être utilisée pour chiffrer ou déchiffrer des documents numériques tels que des fichiers de texte, ou toutes données échangées sur un canal de communication.
[00149] Ce qui a été décrit ici s’applique aussi à d’autres systèmes que des systèmes d’accès conditionnels. Par exemple, ce qui a été décrit ici s’applique à tout système où une succession de clés, associées chacune à un intervalle de validité, est utilisée. Par exemple, l’enseignement donné ici se transpose sans difficulté particulière aux systèmes de gestion de droits numériques connu sous l’acronyme DRM (« Digital Rights Management »). Dans ces systèmes de DRM, chaque clé de la succession est obtenue à partir d’une licence. Cette licence contient généralement l’intervalle de validité de la clé.
[00150] Ce qui vient d’être décrit dans le cas particulier où les clés ki,m sont des clés de déchiffrement peut aussi être appliqué au cas où les clés kim sont utilisées pour chiffrer un contenu numérique et non pas pour déchiffrer ce contenu numérique. De façon plus générale, ce qui a été décrit ici peut aussi être utilisé pour obtenir une succession de clés cryptographiques utilisées à d’autres fins, telles que la vérification d’authenticité, la vérification d’intégrité de données numériques, l’initialisation d’un générateur pseudo-aléatoire ou autres.
[00151] En variante, la durée Vim des intervalles de validité n’est pas constante. Dans ce cas, le temps TCi,m est par exemple différent pour obtenir chaque clé kim. Le temps TCi.m est réglé à l’aide, par exemple, de l’information de contrôle Qm. Dans ce cas, typiquement, l’information de contrôle Qm est choisie pour que le temps TCi,m soit compris entre 0,5Vi_i.m et Vi_i,m et de préférence entre 0,9Vi_i,m et De préférence, l’information de contrôle Qm est choisie pour que le temps d’exécution soit tel que le temps TCi,m, quel que soit i appartenant à l’intervalle [2;L], vérifie les conditions (1) à (3) précédemment décrites. Lorsque ces conditions sont satisfaites, la clé ki m peut au plus tôt être obtenue par le récepteur dans l’intervalle [ti_i,m;ti,m[. Ainsi, la clé kim ne peut faire l’objet d’attaque que pendant l’intervalle [tj_i,m; ti,m[ de durée [00152] En variante, la condition (2) précédente est omise.
[00153] Dans une autre variante, l’exécution de l’algorithme de dérivation est répartie sur un groupe de M récepteurs capables d’échanger entre eux des informations de façon sécurisée. Le nombre M est supérieur ou égal à deux et, de préférence, supérieur ou égal à 100 ou 1 000. Par exemple, les récepteurs d’un même groupe de récepteurs sont raccordés les uns aux autres par l’intermédiaire d’un réseau public ou privé. Un récepteur qui appartient à un groupe de récepteurs n’appartient pas à un autre groupe de récepteurs. Les échanges d’informations entre les récepteurs du groupe sont par exemple chiffrés à l’aide de clés connues seulement des récepteurs de ce groupe. Par exemple, dans le cas où l’algorithme de dérivation est un calcul de clé avec aléa, l’ensemble ER est divisé en M sousensembles disjoints et de même taille. Chacun de ces sous-ensembles est affecté à un récepteur respectif du groupe. En réponse à la réception de la clé ki.m, chaque récepteur du groupe essaie de calculer la clé k2,m comme décrit précédemment mais en choisissant le nombre R uniquement dans le sous-ensemble qui lui a été affecté. Le premier récepteur du groupe qui obtient la clé k2,m la transmet alors aux autres récepteurs du même groupe. Une fois que la clé k2,m a été distribuée à tous les récepteurs du même groupe, ces récepteurs arrêtent la précédente exécution de l’algorithme de dérivation pour obtenir la clé k2,m et commencent à exécuter l’algorithme de dérivation pour obtenir la clé k3,m de façon similaire à ce qui a été décrit pour la clé k2,m.
[00154] Le groupe de récepteurs exécute ainsi l’algorithme de dérivation en un temps TCi.m égal à TCri.m/M, où TCri,m est le temps moyen d’exécution du même algorithme de dérivation mais par un seul récepteur du groupe qui doit donc choisir le nombre R dans la totalité de l’ensemble ER et non pas seulement dans un sousensemble. Cette variante permet donc d’augmenter la taille de l’ensemble ER et donc d’augmenter la sécurité du procédé.
[00155] Dans le cas où l’algorithme de dérivation est un calcul déterministe de clé, il est aussi possible de répartir l’exécution de cet algorithme de dérivation sur chacun des récepteurs du groupe pour bénéficier de la puissance de calcul de l’ensemble des processeurs 76 de ces récepteurs. La répartition de l’exécution d’un algorithme entre différents microprocesseurs pour que des portions de cet algorithme soient exécutées en parallèle par chacun de ces microprocesseurs est bien connue et ne sera pas décrite ici en détail. Comme dans le cas d’un algorithme de dérivation de clé avec aléa, répartir l’exécution de l’algorithme de dérivation sur tous les récepteurs du groupe permet d’augmenter la sécurité car cela complexifie l’obtention de la clé. En particulier, cela augmente la puissance de calcul requise pour pouvoir exécuter suffisamment rapidement l’algorithme de dérivation par un récepteur illégal.
[00156] Si la durée TAi nécessaire à la récupération et à la distribution illégale d’une clé kim qui vient d’être obtenue par le récepteur 10 est connue, alors le paramètre de complexité PCp peut être ajusté pour que le temps TCi,m soit seulement compris dans l’intervalle [V-TAi;V], [00157] Si la durée TA2 nécessaire à la récupération et la distribution illégale de la
Tl clé ki,m reçue par le récepteur 10 est connue et que l’algorithme de dérivation est connu d’un récepteur illégal, alors le paramètre de complexité peut être ajusté pour que le temps TCi,m vérifie seulement la condition suivante : TA2 + (L-l)TCi,m > (L-l)V.
[00158] Chapitre IV : Avantages des modes de réalisation décrits :
[00159] Dans les procédés décrits, le récepteur ne peut obtenir la clé ki m qu’après avoir terminé le calcul de la clé kj.i,m. Ainsi, le récepteur est obligé de calculer les clés ki.m dans l’ordre croissant des indices i. De plus, le temps moyen TCi,m de calcul d’une clé ki.m est long, c’est-à-dire ici supérieur ou égal à 0,2Vi_i,m. Dès lors, bien que toutes les informations nécessaires pour obtenir les clés ki,m à kL,m soient reçues avant l’instant ti.m, les clés suivantes k2,m à kL,m ne peuvent être obtenues que bien après cet instant ti,m. Par exemple, la clé kL,m est obtenue qu’après l’instant tR + TC2,m + TC3,m + ... + TCL,m, où tR est l’instant de réception des informations nécessaires pour obtenir chacune des clés ki,m à kL,m. Par comparaison, dans les procédés connus comme celui décrit dans la demande EP2567500, la clé kL,m est obtenue à l’instant tR. Autrement dit, les procédés décrits ici retardent de TCi,m + ... + TCL,m l’obtention de la clé kL,m. Puisque la clé kL,m est obtenue dans les récepteurs plus tard que dans les récepteurs connus, le temps disponible pour attaquer cette clé kL,m avant l’instant tL,m est plus court que dans les procédés connus, ce qui accroît la sécurité du procédé.
[00160] Par ailleurs, comme dans le procédé EP2567500, pour obtenir les L clés de la succession SRm, le récepteur n’a besoin de se connecter qu’une seule fois au serveur de clé 106. Ainsi, le procédé permet toujours de réduire le nombre de connexions ou d’échanges d’informations entre le serveur 106 et chacun des récepteurs. Enfin, le procédé décrit peut être appliqué sans avoir à déterminer un niveau de sécurité associé à chacun des récepteurs.
[00161] Le fait d’adapter dynamiquement la valeur du paramètre PCp en fonction de l’information selon laquelle la clé ki,m n’a pas pu être obtenue avant l’instant ti.m, permet de s’adapter automatiquement et au fil de l’eau aux performances réelles des récepteurs.
[00162] Le fait d’utiliser différentes valeurs du nombre L pour différents récepteurs ou groupes de récepteurs permet donc de mieux répartir dans le temps les différentes connexions au serveur 106.
[00163] Le fait de répartir l’exécution de l’algorithme de dérivation sur plusieurs récepteurs permet d’augmenter la sécurité du procédé vis-à-vis des attaques par collusion. En effet, pour obtenir plus rapidement la succession SRm, un attaquant peut essayer de répartir l’exécution de l’algorithme de dérivation sur plusieurs récepteurs illégaux. Or, le nombre de récepteurs légaux est généralement très supérieur au nombre de récepteurs illégaux. Cela permet donc d’augmenter la valeur du paramètre PCp de façon à tenir compte de la détection d’une attaque par collusion. Il devient alors plus difficile de mettre en oeuvre avec succès une telle attaque par collusion.
[00164] Le fait que le récepteur conserve la capacité d’établir une deuxième connexion avec le serveur 106 pour obtenir la clé ki m s’il n’a pas réussi à obtenir cette clé à temps à partir des informations reçues dans la première connexion, permet de mettre en oeuvre le procédé revendiqué avec un parc de récepteurs dans lequel certains récepteurs sont plus lents que d’autres ou que prévu pour exécuter l’algorithme de dérivation. Cela permet le cas échéant de prendre en compte la diversité des récepteurs et la fluctuation de leurs performances de calcul.
[00165] Le fait que l’algorithme de dérivation comporte la réitération Qim fois de la même fonction à sens unique permet d’avoir un temps moyen TCi,m qui peut être déterminé à l’avance et donc qui, plus sûrement, peut être systématiquement compris dans l’intervalle [Vi.i,m/2;Vi.i,m[.
[00166] Le fait que la fonction à sens unique soit une fonction cryptographique à sens unique avec porte dérobée permet de diminuer le temps nécessaire pour générer la succession SEP.
[00167] Le fait que l’algorithme de dérivation de clé soit un calcul de clés avec aléa permet au générateur 108 d’exécuter beaucoup moins d’opérations pour calculer une clé ki,m que ne doit en faire le récepteur pour calculer la même clé.
[00168] Le fait de mettre en oeuvre un algorithme de dérivation qui calcule la clé kim avec un aléa permet donc d’obtenir un temps d’exécution de cet algorithme de dérivation important du côté du récepteur et beaucoup plus faible du côté du générateur.
[00169] Le fait de recevoir, lors de la première connexion, seulement les informations nécessaires pour obtenir une succession SRm de L clés permet d’obliger le récepteur 10 à établir une nouvelle connexion avec le serveur 106 au plus tard après l’obtention de la clé kL,m.

Claims (5)

  1. REVENDICATIONS
    1. Procédé d'obtention d'une succession de L clés cryptographiques ki.m, .... kj.m, ki+i.m, .... kL,m par un groupe de récepteurs électroniques, où :
    - l'indice i est un numéro d'ordre de la clé ki m dans la succession de clés,
    - L est un nombre entier supérieur ou égal à deux, et
    - quel que soit l'indice i compris entre 1 et L, la clé kj,m est uniquement destinée à être utilisée pendant un intervalle de validité [ti.m, ti+i,m[ de durée Vi.m, où ti,m et ti+i,m sont, respectivement, les instants de début et de fin de cet intervalle de validité, dans lequel :
    - avant l'instant ti.m, le groupe de récepteurs établit (140) une première connexion avec un serveur de clés et reçoit, lors de cette première connexion, les informations nécessaires pour obtenir la clé ki.m, puis
    - pour chaque indice i compris entre 2 et L, avant l'instant ti,m, le groupe de récepteurs obtient (150) la clé ki.m, caractérisé en ce que pour chaque indice i compris entre 2 et L et dans l'ordre croissant de ces indices :
    - le groupe de récepteurs obtient (150 ; 182 ; 192) la clé suivante ki m en exécutant un algorithme de dérivation de clé initialisé à l'aide de la clé précédente ki_i,m et sans avoir recours à d'autres informations que celles reçues lors de la première connexion, et
    - le temps moyen TCim d'exécution de l'algorithme de dérivation de clé par le groupe de récepteurs pour obtenir la clé ki m est supérieur à 0,2Vi_i,m.
    2. Procédé selon la revendication 1, dans lequel pour au moins un indice i compris entre 2 et L :
    - après l'instant ti-i,m et avant l'instant ti.m, le groupe de récepteurs vérifie (126) si l'obtention de la clé ki m est terminée,
    - si l'obtention de la clé kim n'est pas terminée avant l'instant ti,m, le groupe de récepteurs établit (140) une deuxième connexion avec le serveur de clés et lui transmet, par l’intermédiaire de cette deuxième connexion, l’information selon laquelle la clé ki.m n’a pas pu être obtenue avant l’instant ti,m et, dans le cas contraire, le groupe de récepteurs ne transmet pas au serveur de clés l’information selon laquelle la clé ki m n’a pas pu être obtenue avant l’instant ti,m.
    3. Procédé selon la revendication 2, dans lequel :
    - en réponse à la réception de l’information selon laquelle la clé kim n’a pas pu être obtenue avant l’instant ti,m, le serveur de clés modifie (162) la valeur d’un paramètre PCp de complexité de l’algorithme de dérivation de clé, la valeur modifiée du paramètre PCp correspondant à un temps moyen TCim d’exécution inférieur au temps moyen d’exécution actuel, ou
    - en réponse à une absence de réception de l’information selon laquelle la clé ki m n’a pas pu être obtenue avant l’instant ti,m> le serveur de clé modifie (164) la valeur du paramètre PCp pour qu’il corresponde à un temps moyen TCim d’exécution supérieur au temps moyen d’exécution actuel.
    4. Procédé selon la revendication 3, dans lequel, en réponse à la réception de l’information selon laquelle la clé ki,m n’a pas pu être obtenue avant l’instant ti,m :
    - le serveur de clés met à jour (142) un compteur de nombre de connexions établies par unité de temps, puis
    - le serveur de clés compare (160) la valeur de ce compteur à un seuil haut prédéterminé, puis, si la valeur de ce compteur a franchi ce seuil haut prédéterminé, en réponse, le serveur de clés modifie (162) la valeur du paramètre de complexité pour diminuer le nombre de connexions établies par unité de temps, et/ou
    - le serveur de clés compare (142) la valeur de ce compteur à un seuil bas prédéterminé, puis, si la valeur de ce compteur a franchi ce seuil bas prédéterminé, en réponse, le serveur de clés modifie (164) la valeur du paramètre de complexité pour augmenter le nombre de connexions établies par unité de temps.
    5. Procédé selon l’une quelconque des revendications précédentes, dans lequel le procédé d’obtention d’une succession de clés est mis en oeuvre pour un premier et un second groupes de récepteurs, et le serveur de clés utilise (144) une première valeur de l’indice L pour le premier groupe et une seconde valeur différente de l’indice L pour le second groupe de récepteurs.
    6. Procédé selon l’une quelconque des revendications précédentes, dans lequel le groupe de récepteurs comporte plusieurs récepteurs et l’exécution de l’algorithme de dérivation est répartie sur chacun des récepteurs de ce groupe.
    7. Procédé selon l’une quelconque des revendications 1 à 5, dans lequel le groupe de récepteurs comporte un seul récepteur et l’algorithme de dérivation est exécuté par ce seul récepteur.
    8. Procédé selon l’une quelconque des revendications précédentes, dans lequel pour au moins un indice i compris entre 2 et L :
    - après l'instant ti_i,m et avant l'instant ti.m, le groupe de récepteurs vérifie (126) si l'obtention de la clé ki m est terminée,
    - si l'obtention de la clé ki,m n'est pas terminée :
    • le groupe de récepteurs établit (140) une deuxième connexion avec le serveur de clés et reçoit, lors de cette deuxième connexion, les informations nécessaires pour obtenir la clé kim sans avoir à exécuter l'algorithme de dérivation de clé, puis • obtient la clé kj,m à partir des informations nécessaires reçues lors de la deuxième connexion et sans exécuter l'algorithme de dérivation de clé, puis • le groupe de récepteurs obtient (150 ; 182 ; 192) la clé suivante ki+i,m en exécutant l'algorithme de dérivation de clé initialisé à l'aide de la clé précédente kim obtenue à l'aide des informations reçues lors de la deuxième connexion et sans avoir recours à d'autres informations que celles reçues lors de la deuxième connexion, et
    - si l'obtention de la clé kim est terminée, le groupe de récepteurs n'établit pas cette deuxième connexion et obtient (150 ; 182 ; 192) la clé suivante ki+i.m en exécutant l'algorithme de dérivation de clé initialisé à l'aide de la clé précédente kim et sans avoir recours à d'autres informations que celles reçues lors de la première connexion.
    9. Procédé selon l'une quelconque des revendications précédentes, dans lequel le groupe de récepteurs réalise les opérations suivantes lorsqu’il exécute l'algorithme de dérivation de clé :
    1) l'initialisation de la valeur d'une variable à partir de la clé précédente ki_i,m, puis
  2. 2) la transformation de la valeur de cette variable à l'aide d'une fonction à sens unique pour obtenir une nouvelle valeur de cette variable, puis
  3. 3) l'itération de l'opération 2) un nombre Qi,m prédéterminé de fois, en prenant comme valeur de la variable à transformer la nouvelle valeur de la variable obtenue à l’issue de la précédente itération de l’opération 2).
    10. Procédé selon la revendication 9, dans lequel la fonction à sens unique est une fonction cryptographique à sens unique avec porte dérobée.
    11. Procédé selon l’une quelconque des revendications 1 à 8, dans lequel le groupe de récepteurs réalise les opérations suivantes lorsqu’il exécute l’algorithme de dérivation de clé :
    1) le choix d’un nombre R dans un ensemble ER, puis
    2) le calcul d’une clé candidate kCd à l’aide de la relation kCd = F(R//ki_i,m), où F est une fonction prédéterminée et le symbole « // » désigne une opération de combinaison des nombres R et kj.i,m, puis
    3) le calcul d’une information de contrôle Ccd à l’aide de la relation Ccd = H(kcd), où H est une fonction à sens unique, puis
  4. 4) la comparaison de l’information de contrôle Ccd à une information de contrôle Ci,m reçue lors de la première connexion, et
  5. 5) si les informations de contrôle Ccd et Ci,m correspondent, alors la clé kCd calculée est égale à la clé kim qui est donc obtenue, sinon, le groupe de récepteurs réitère les opérations 1) à 5) pour un autre nombre R de l’ensemble ER.
    12. Procédé selon l’une quelconque des revendications précédentes, dans lequel le temps moyen TCim d'exécution de l'algorithme de dérivation de clé par le groupe de récepteurs pour obtenir la clé ki m est inférieur ou égal à Vu.
    13. Procédé de transmission sécurisé d’un contenu numérique, dans lequel :
    - un dispositif divise (120) le contenu numérique en cryptopériodes successives, chiffre chaque cryptopériode CPm avec une clé km respective d’une succession ordonnée de clés ki à kN , et transmet chaque cryptopériode chiffrée à un groupe de récepteurs,
    - le groupe de récepteurs déchiffre (130) chaque cryptopériode chiffrée reçue à l’aide de la clé km correspondante de la succession ordonnée de clés, caractérisé en ce que le groupe de récepteurs obtient (150 ; 182 ; 192) la succession de clés en mettant en œuvre un procédé conforme à l’une quelconque des revendications précédentes.
    14. Support d'enregistrement d'informations, lisible par un microprocesseur, caractérisé en ce qu'il comporte des instructions pour la mise en œuvre d'un procédé conforme à l'une quelconque des revendications précédentes, lorsque ces instructions sont exécutées par ce microprocesseur.
    15. Groupe de récepteurs pour la mise en œuvre d'un procédé conforme à l'une quelconque des revendications 1 à 13, chaque récepteur de ce groupe comportant un microprocesseur (77) programmé pour réaliser les étapes suivantes :
    - avant l'instant ti.m, le groupe de récepteurs établit une première connexion avec un serveur de clés et reçoit, lors de cette première connexion, les informations nécessaires pour obtenir la clé ki.m, puis
    - pour chaque indice i compris entre 2 et L, avant l'instant ti m, le groupe de récepteurs obtient la clé ki m, caractérisé en ce que chaque microprocesseur est également programmé pour réaliser les étapes suivantes pour chaque indice i compris entre 2 et L et dans l'ordre croissant de ces indices :
    - le groupe de récepteurs obtient la clé suivante kim en exécutant un algorithme de dérivation de clé initialisé à l'aide de la clé précédente ki_i,m et sans avoir recours à d'autres informations que celles reçues lors de la première connexion, et
    - le temps moyen TCi,m d'exécution de l'algorithme de dérivation de clé par le groupe de récepteurs pour obtenir la clé ki,m est supérieur à 0,2Vi_i,m.
    16.
    Serveur de clés pour la mise en œuvre d'un procédé conforme à l'une quelconque des revendications 3 à 4, ce serveur comportant un microprocesseur (114) programmé pour réaliser les étapes suivantes :
    - avant l'instant ti.m, le serveur de clés établit une première connexion avec le groupe de récepteurs et transmet, lors de cette première connexion, les informations
    5 nécessaires pour obtenir la clé ki.m, caractérisé en ce que le microprocesseur (114) est également programmé pour réaliser les étapes suivantes :
    - en réponse à la réception de l’information selon laquelle la clé kim n’a pas pu être obtenue avant l’instant ti,m, le serveur de clés modifie la valeur d’un paramètre PCp de
    10 complexité de l’algorithme de dérivation de clé, la valeur modifiée du paramètre PCp correspondant à un temps moyen TCim d’exécution inférieur au temps moyen d’exécution actuel, ou
    - en réponse à une absence de réception de l’information selon laquelle la clé ki m n’a pas pu être obtenue avant l’instant ti.m, le serveur de clé modifie (164) la valeur du
    15 paramètre PCp pour qu’il corresponde à un temps moyen TCi,m d’exécution supérieur au temps moyen d’exécution actuel.
FR1856170A 2018-07-04 2018-07-04 Procede d'obtention d'une succession de cles cryptographiques Active FR3083660B1 (fr)

Priority Applications (4)

Application Number Priority Date Filing Date Title
FR1856170A FR3083660B1 (fr) 2018-07-04 2018-07-04 Procede d'obtention d'une succession de cles cryptographiques
CN201980055283.0A CN112602288A (zh) 2018-07-04 2019-07-01 用于获得加密密钥序列的方法
EP19749777.9A EP3818659A1 (fr) 2018-07-04 2019-07-01 Procede d'obtention d'une succession de cles cryptographiques
PCT/FR2019/051616 WO2020008131A1 (fr) 2018-07-04 2019-07-01 Procede d'obtention d'une succession de cles cryptographiques

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
FR1856170A FR3083660B1 (fr) 2018-07-04 2018-07-04 Procede d'obtention d'une succession de cles cryptographiques

Publications (2)

Publication Number Publication Date
FR3083660A1 true FR3083660A1 (fr) 2020-01-10
FR3083660B1 FR3083660B1 (fr) 2020-12-04

Family

ID=65031368

Family Applications (1)

Application Number Title Priority Date Filing Date
FR1856170A Active FR3083660B1 (fr) 2018-07-04 2018-07-04 Procede d'obtention d'une succession de cles cryptographiques

Country Status (4)

Country Link
EP (1) EP3818659A1 (fr)
CN (1) CN112602288A (fr)
FR (1) FR3083660B1 (fr)
WO (1) WO2020008131A1 (fr)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10964702B2 (en) 2018-10-17 2021-03-30 Micron Technology, Inc. Semiconductor device with first-in-first-out circuit
CN114143273B (zh) * 2021-11-24 2024-05-17 深圳数马电子技术有限公司 通道分配方法、装置、计算机设备和计算机可读存储介质
CN116663041B (zh) * 2023-07-28 2023-10-31 青岛农村商业银行股份有限公司 一种rpa流程机器人数据智能处理方法及系统

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2460308A1 (fr) * 2009-07-31 2012-06-06 Telefonaktiebolaget LM Ericsson (publ) Distribution de clé auto-cicatrisante basée sur une fenêtre glissante à ajustement dynamique
EP2567500A1 (fr) 2010-05-04 2013-03-13 Viaccess Procedes de dechiffrement, de transmission et de reception de mots de controle, support d'enregistrement et serveur de mots de controle pour la mise en oeuvre de ces procedes

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2970134B1 (fr) * 2010-12-29 2013-01-11 Viaccess Sa Procede de transmission et de reception d'un contenu multimedia
EP2912815B1 (fr) * 2012-10-29 2016-06-29 Telefonaktiebolaget LM Ericsson (publ) Procédé et appareil permettant de sécuriser une connexion dans un réseau de communications
CN103560892A (zh) * 2013-11-21 2014-02-05 深圳中兴网信科技有限公司 密钥生成方法和密钥生成装置

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2460308A1 (fr) * 2009-07-31 2012-06-06 Telefonaktiebolaget LM Ericsson (publ) Distribution de clé auto-cicatrisante basée sur une fenêtre glissante à ajustement dynamique
EP2567500A1 (fr) 2010-05-04 2013-03-13 Viaccess Procedes de dechiffrement, de transmission et de reception de mots de controle, support d'enregistrement et serveur de mots de controle pour la mise en oeuvre de ces procedes

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
"Functional Model of Conditional Access System", EBU REVIEW, TECHNICAL EUROPEAN BROADCASTING UNION, 21 December 1995 (1995-12-21)
BIMING TIAN ET AL: "An Efficient Self-Healing Key Distribution Scheme", NEW TECHNOLOGIES, MOBILITY AND SECURITY, 2008. NTMS '08, IEEE, PISCATAWAY, NJ, USA, 5 November 2008 (2008-11-05), pages 1 - 5, XP031366537 *

Also Published As

Publication number Publication date
WO2020008131A1 (fr) 2020-01-09
CN112602288A (zh) 2021-04-02
EP3818659A1 (fr) 2021-05-12
FR3083660B1 (fr) 2020-12-04

Similar Documents

Publication Publication Date Title
FR2818062A1 (fr) Methode de transmission securisee de donnees numeriques d&#39;une source vers un recepteur
EP1305948A1 (fr) Methode de distribution securisee de donnees numeriques representatives d&#39;un contenu multimedia
EP2168304B1 (fr) Verification de code mac sans revelation
EP2520042B1 (fr) Procédés de déchiffrement, de transmission et de réception de mots de contrôle, support d&#39;enregistrement et serveur pour ces procédés
EP2567500B1 (fr) Procedes de dechiffrement, de transmission et de reception de mots de controle, support d&#39;enregistrement et serveur de mots de controle pour la mise en oeuvre de ces procedes
WO2020008131A1 (fr) Procede d&#39;obtention d&#39;une succession de cles cryptographiques
EP2022207B1 (fr) Procédé cryptographique à chiffrement et révocation intégrés, système, dispositif et programmes pour la mise en oeuvre du procédé
EP2659613B1 (fr) Procede de transmission et de reception d&#39;un contenu multimedia
EP3114598B1 (fr) Procédé de fourniture, à un terminal, de contenus multimédias protégés
EP3248379B1 (fr) Procédé de diffusion d&#39;un contenu multimédia protégé
EP2633677B1 (fr) Procede de reception d&#39;un contenu multimedia embrouille a l&#39;aide de mots de controle et captcha
EP3380983A2 (fr) Procédé d&#39;identification de processeurs de sécurité
FR3003670A1 (fr) Procede et dispositif de generation de donnees protegees, procede et dispositif de restitution de donnees source tatouees et programme d&#39;ordinateur correspondants
EP2586198B1 (fr) Procede de protection, procede de dechiffrement, support d&#39;enregistrement et terminal pour ce procede de protection
EP2652899B1 (fr) Procédé et système d&#39;accès conditionnel à un contenu numérique, terminal et dispositif d&#39;abonné associés
EP3646526B1 (fr) Procédé de réception et de déchiffrement d&#39;un cryptogramme d&#39;un mot de contrôle
FR3072848B1 (fr) Procede de reception et de dechiffrement, par un processeur electronique de securite, d&#39;un cryptogramme d&#39;un mot de controle

Legal Events

Date Code Title Description
PLFP Fee payment

Year of fee payment: 2

PLSC Publication of the preliminary search report

Effective date: 20200110

PLFP Fee payment

Year of fee payment: 3

PLFP Fee payment

Year of fee payment: 4

PLFP Fee payment

Year of fee payment: 5

PLFP Fee payment

Year of fee payment: 6