Brevet FR2711263A1 — publié le 19950421

DISPOSITIF ELECTRONIQUE DE CERTIFICATION HORODATEE L'invention se situe dans le domaine des appareils de certification horodatée. Ces appareils sont utilisés dans de nombreuses applications où l'heure doit être considérée comme une donnée fiable et sécurisée car elle sert de référence dans un contexte de réglementation ou un contexte contractuel. Comme exemples d'application, on peut citer l'horodatage simple : parcmètre, mouchard sur véhicule ou compteur horaire sur certaines machines. Un autre exemple concerne les transferts de données entre terminaux communicants qui sont accompagnés d'accusés de réception comportant une donnée horaire. Dans d'autres applications, l'horodatage est associé à un événement extérieur comme par exemple les prises de paris ou les jeux devant se dérouler avant une certaine date et une certaine heure. Les solutions actuelles permettant de protéger et sécuriser l'heure sont variées et dépendent des enjeux impliqués en cas de fraude. Une première solution consiste à protéger physiquement l'appareil destiné à fournir l'heure certifiée. Cette méthode est utilisée lorsque ltenjeu est important ou bien si l'appareil est accessible à beaucoup de personnes. Ceci est le cas pour les parcmètres, les compteurs horaires et les mouchards. Ce mode de sécurisation est adapté à des équipements pour lesquels il existe d'autres raisons de prévoir une protection physique comme par exemple les parcmètres ou les horodateurs de stationnement fonctionnant avec de l'argent. La mise en oeuvre de cette solution est cependant onéreuse et souvent encombrante donc peu adaptée à des équipements de grande diffusion ou de faible volume. Selon une autre possibilité, on utilise un serveur d'horodatage certifié. Cette solution nécessite cependant que l'équipement soit prévu pour être connecté à un tel serveur. Cette solution peut être intéressante quand le service d'horodatage est intégré dans un réseau utilisé par ailleurs par les équipements. Dans le cas contraire, elle entraîne un surcoût significatif. Une troisième solution consiste à prévoir une horloge non sécurisée qui sera utilisée uniquement sur de courtes durées et sur des intervalles de temps relatifs. La méthode consiste alors à baser l'horodatage sur des mesures d'intervalles de temps à partir d'un événement de référence communiqué par l'extérieur. Cette méthode peut s'appliquer aux jeux (par exemple jeu de questions-réponses) en temps réel qui se déroulent en fonction d'événements extérieurs (par exemple date de diffusion du jeu sur une chaîne de télévision). Cette méthode qui est illustrée dans la demande de brevet EP-A-0399897 n'est cependant applicable que pour de courts intervalles de temps et présente par ailleurs l'inconvénient d'une faible sécurité. I1 est en effet possible de ralentir puis d'accélérer l'horloge interne pour tromper l'appareil. Elle est par contre bien adaptée à une sécurisation de l'heure par des équipements de grande diffusion ou ceux pour lesquels les enjeux impliqués par les fraudes sur l'heure sont peu importants. L'invention a pour but de remédier aux inconvénients des solutions précédentes en proposant de réaliser une fonction locale d'horodatage sécurisé et de certification d'événements présentant un bon niveau de sécurité pour un coût réduit. Dans ce but, l'invention a pour objet un dispositif électronique de certification horodatée de données, caractérisé en ce qu'il comporte une horloge interne munie d'un oscillateur pour fournir des données horaires internes, un circuit d'interface pour la prise en compte de demandes de certification de données et pour l'envoi de certificats associés aux données certifiées, des moyens de traitement reliés à l'horloge interne et au circuit d'interface pour calculer. en réponse auxdites demandes de certification de données lesdits certificats en fonction des données à certifier et desdites données horaires internes et pour commander l'envoi par le circuit d'interface des certificats calculés, ledit dispositif comportant en outre des moyens pour mesurer les variations d'au moins une des grandeurs physiques propres au dispositif et susceptibles d'influencer la précision des données horaires internes et des moyens d'inhibition qui, lorsqu'ils sont actifs, interdisent l'envoi desdits certificats, lesdits moyens d'inhibition étant activés lorsque la variation d'au moins une desdites grandeurs physiques dépasse une valeur de seuil déterminée. Les données horaires internes (généralement date, heure, minute, seconde) peuvent être perturbées de diverses façons. On pourrait par exemple modifier la fréquence de l'oscillateur par une manipulation du quartz dans le cas où ce dernier est accessible facilement. On peut également provoquer des dérives de fréquence en agissant sur l'environnement du dispositif ou sur sa tension d'alimentation. Afin de prendre en compte globalement toutes ces possibilités de manipulations et selon un aspect particulier de l'invention, l'une des grandeurs physiques mesurées est la fréquence de l'oscillateur de l'horloge interne. En variante ou additionnellement, une grandeur physique mesurée est la température du dispositif et/ou sa tension d'alimentation. Pour renforcer davantage le contrôle, on pourra prévoir optionnellement que les moyens d'interface sont prévus pour recevoir des données horaires externes de référence, les moyens d'inhibition étant alors activés lorsque la différence entre les données horaires externes et les données horaires internes diffère d'une valeur de seuil déterminée. I1 est important que l'heure interne fournie par l'horloge soit très précise et ne dérive pas dans le temps. Toutefois, les horloges de haute précision sont d'un coût élevé. I1 est par conséquent préférable de choisir une horloge de précision moindre tout en prévoyant la possibilité d'une remise à l'heure. I1 ne faut cependant pas adopter sans précaution une solution consistant en une remise à l'heure périodique calée sur une heure de référence diffusée. Une telle solution favoriserait les fraudeurs qui, ayant préalablement enregistré l'heure diffusée au cours d'une certaine période précédant un instant donné, la réémettraient en différé afin de pourvoir l'utiliser après cet instant déterminé. Pour éviter cet inconvénient et selon un autre aspect de l'invention, le dispositif est caractérisé en ce que ladite horloge interne est ajustable par lesdits moyens de traitement en réponse à une commande externe de remise à l'heure, en ce que lesdits moyens de traitement sont prévus pour calculer et émettre un nombre aléatoire en réponse à une commande externe de remise à l'heure, en ce que, ladite commande de remise à l'heure étant suivie d'une signature cryptographique calculée en externe en fonction dudit nombre aléatoire et d'une donnée de remise à l'heure, lesdits moyens de traitement sont prévus pour calculer ladite donnée de remise à l'heure à partir dudit nombre aléatoire et de ladite signature cryptographique et en ce que lesdits moyens de traitement effectuent une remise à l'heure de ladite horloge interne à une valeur correspondant à ladite donnée de remise à l'heure calculée. En variante, la commande de remise à l'heure est suivie de la donnée de remise à l'heure accompagnée de la signature cryptographique et les moyens de traitement vérifient seulement si la signature cryptographique externe coïncide avec une signature cryptographique calculée en interne en fonction du nombre aléatoire et de la donnée de remise à l'heure. D'autres aspects et avantages de l'invention apparaîtront dans la suite de la description. La figure unique est un schéma d'ensemble d'un exemple de réalisation du dispositif selon l'invention. Le dispositif comporte une horloge interne 1 de type classique comprenant un oscillateur 6 piloté par un quartz Q. L'oscillateur 6 est relié à des circuits de comptage 8 par l'intermédiaire d'un diviseur de fréquence 7. L'horloge i est reliée d'une part à un circuit d'interface 2 et à des moyens de traitement 3. Un circuit 4 de mesure des variations de grandeurs physiques reçoit le signal d'horloge de base F fourni par l'oscillateur 6, un signal de mesure de température T fourni par un capteur 10 et un signal V représentatif de la tension de la batterie d'alimentation 9. Le circuit de mesure 4 est relié à un circuit d'inhibition 5 fournissant aux moyens de traitement 3 un signal d'inhibition L. Le circuit inhibition reçoit des moyens de traitement 3, le signal R de remise à zéro du signal d'inhibition L. Le signal R de remise à zéro du signal d'inhibition L est activé par les moyens de traitement 3 sur réception via le circuit d'interface 2 d'une commande extérieure. Cette commande extérieure est accompagnée d'une signature cryptographique calculée en externe en fonction d'un nombre aléatoire qui aura été préalablement fourni par les moyens de traitement 3. Après vérification que ladite signature cryptographique est conforme au résultat attendu, les moyens de traitement 3 effectuent la remise à zéro. Cette commande extérieure peut être identique à la commande de remise à l'heure décrite plus loin. Le dispositif communique avec l'extérieur par une liaison bidirectionnelle 11 reliée au circuit d'interface 2. Les moyens de traitement 3 sont constitués d'un système à microprocesseur programmable de type classique. Ainsi, les moyens de traitement 3 fournissent les commandes appropriées (symbolisées par des flèches) aux autres éléments du dispositif, notamment pour effectuer les opérations de lecture et d'écriture des données horaires fournies par le compteur 8. Le circuit de mesure 4 reçoit en entrée les grandeurs mesurées V, T, F et fournit en sortie des signaux représentatifs des variations des grandeurs correspondantes. Le circuit d'inhibition 5 comporte des circuits pour comparer ces variations à des valeurs de seuil et commander par l'intermédiaire d'une porte OU l'entrée de positionnement d'une bascule dont l'état est représentatif du signal d'inhibition L. Cette bascule reçoit le signal R sur son entrée de remise à zéro. De nombreuses possibilités à la portée de l'homme du métier sont envisageables pour la réalisation détaillée des circuits 4 et 5. Il conviendra toutefois de veiller à ce que les circuits servant à élaborer les valeurs de seuil et les signaux représentatifs des variations des grandeurs physiques ne présentent pas des fonctionnements qui dépendent de ces grandeurs physiques de façon à compenser leurs variations. Ainsi, les variations de la fréquence F peuvent être mesurées par un filtre passe-bande analogique à l'entrée duquel sont appliquées des impulsions d'horloge calibrées. Le signal de sortie du filtre est alors appliqué à l'entrée d'un circuit de mise en forme définissant la valeur de seuil correspondante. Quant aux circuits pour détecter les variations de la température et de la tension d'alimentation, leur réalisation ne présente pas de difficultés particulières. La réalisation qui vient d'être décrite n'est donnée qu'à titre d'exemple et de nombreuses modifications peuvent y être apportées sans sortir du cadre de l'invention. En particulier, la mesure des variations des grandeurs physiques et la comparaison à des valeurs de seuil peuvent être effectuées par un circuit unique. D'autre part, la fréquence dont on mesure les variations peut être une fréquence fournie par l'un des étages du diviseur de fréquence 7. Avantageusement, les principaux éléments du dispositif (horloge 1, moyens de traitement 3, circuits 4 et 5) seront réalisés sous la forme d'un circuit intégré de façon à rendre difficile l'accès aux signaux qui conditionnent le verrouillage. Pour la réalisation du circuit intégré, on pourra avantageusement employer la technologie des processeurs de sécurité qui sont utilisés dans les cartes à puce. Ces processeurs présentent en effet l'avantage d'assurer une inviolabilité des algorithmes et des données secrètes qu'ils contiennent. Le circuit fonctionne de la façon suivante. Lorsqu'une demande de certification d'une donnée est reçue par le circuit d'interface 2, cette demande est transmise aux moyens de traitement qui vérifient tout d'abord l'état du signal d'inhibition L. Si le signal est actif, la demande de certification n'est pas prise en compte. Dans le cas contraire, les moyens de traitement 3 procèdent à la lecture de la donnée horaire contenue dans l'horloge interne 1. Les moyens de traitement exécutent ensuite un algorithme de calcul d'une signature cryptographique en fonction de la donnée horaire et de la donnée à certifier. Ils transmettent ensuite cette signature au circuit d'interface 2 qui la transmet sur la liaison 11. Cette signature constitue un certificat dont la conformité peut être vérifiée en externe. Selon une variante visant à renforcer les possibilités de contrôle de conformité, l'algorithme peut prendre en compte un nombre aléatoire calculé par les moyens de traitement. Dans ce cas, ce nombre accompagne la signature. Selon une autre variante, on pourra prévoir la prise en compte de données horaires externes de référence reçue par le circuit d'interface 2. Ces données externes sont comparées par les moyens de traitement aux données horaires internes et, en cas de différence supérieure à une valeur de seuil déterminée, les moyens d'inhibition sont activés par une commande appropriée (symbolisée par les flèches en tirets). Les moyens de traitement peuvent être programmés ou utilisés pour effectuer d'autres fonctions de certification. On peut prévoir par exemple une fonction "chronomètre" selon laquelle l'extérieur fournit un signal de début associé à des données de début à certifier. Les moyens de traitement effectuent alors la lecture de l'heure interne, le calcul d'une signature fonction de l'heure interne et des paramètres de début et enfin émettent l'heure interne de début accompagnée de la signature calculée. L'extérieur envoie ensuite un signal de fin accompagné de paramètres de fin à certifier. Les moyens de traitement effectuent alors la lecture de l'heure interne, le calcul d'une signature et l'émission de l'heure interne et de la signature. Pour effectuer une fonction "réveil", l'extérieur fournit une demande de réveil associée à une heure de réveil et à des données à certifier. Lorsque l'heure de réveil coïncide avec l'heure interne de l'horloge 1, les moyens de traitement envoient une alarme accompagnée d'une signature fonction de l'heure interne et des données à certifier. Bien entendu, toutes ces fonctions de certification peuvent s'appliquer à des données d'horodatage quelconques : heure seulement ou date seulement ou date accompagnée de l'heure. Pour effectuer une mise à l'heure, le dispositif fonctionne de la façon suivante. L'extérieur fournit une commande de remise à l'heure. En réponse à cette commande, les moyens de traitement calculent un nombre aléatoire et le transmettent sur la liaison 11. L'extérieur calcule alors une signature cryptographique fonction du nombre aléatoire et d'une donnée de remise à l'heure. Les moyens de traitement calculent alors la donnée de remise à l'heure à partir de la signature et du nombre aléatoire et effectuent ensuite la remise à l'heure de l'horloge à la valeur correspondant à la donnée de remise à l'heure calculée. Selon une version simplifiée qui évite de prévoir dans les moyens de traitement un programme de calcul de la fonction inverse de la fonction de signature, la signature fournie par l'extérieur est accompagnée de la donnée de remise à l'heure et les moyens de traitement effectuent le calcul de la signature en fonction du nombre aléatoire et de la donnée de remise à l'heure et comparent cette signature calculée à la signature reçue. En cas de coïncidence, la remise à l'heure de l'horloge est effectuée. L'opération de remise à l'heure peut s'accompagner d'une désactivation automatique de l'inhibition. REVENDICATIONS 1. Dispositif électronique de certification horodatée de données, caractérisé en ce qu'il comporte une horloge interne (1) munie d'un oscillateur (6) pour fournir des données horaires internes, un circuit d'interface (2) pour la prise en compte de demandes de certification de données et pour l'envoi de certificats associés aux données certifiées, des moyens de traitement (3) reliés à l'horloge interne (1) et au circuit d'interface (2) pour calculer en réponse auxdites demandes de certification de données lesdits certificats en fonction des données à certifier et desdites données horaires internes et pour commander l'envoi par le circuit d'interface (2) des certificats calculés, ledit dispositif comportant en outre des moyens (4) pour mesurer les variations d'au moins une des grandeurs physiques propres au dispositif et susceptibles d'influencer la précision des données horaires internes et des moyens d'inhibition (5) qui, lorsqu'ils sont actifs, interdisent l'envoi desdits certificats, lesdits moyens d'inhibition (5) étant activés lorsque la variation d'au moins une desdites grandeurs physiques dépasse une valeur de seuil déterminée. 2. Dispositif selon la revendication 1, caractérisé en ce que l'une desdites grandeurs physiques est la fréquence (F) de l'oscillateur (6) de l'horloge interne (1). 3. Dispositif selon l'une des revendications 1 ou 2, caractérisé en ce que l'une desdites grandeurs physiques est la température (T) du dispositif. 4. Dispositif selon l'une des revendications 1 à 3, caractérisé en ce que l'une desdites grandeurs physiques est la tension d'alimentation (V) du dispositif. 5. Dispositif selon l'une des revendications 1 à 4, caractérisé en ce que lesdits moyens d'interface (2) étant prévus pour recevoir des données horaires externes de référence, lesdits moyens d'inhibition (5) sont activés lorsque la différence entre lesdites données horaires externes et les données horaires internes diffèrent d'une valeur de seuil déterminée. 6. Dispositif selon l'une des revendications 1 à 5, caractérisé en ce que ledit certificat est une signature cryptographique calculée en fonction des données horaires internes et des données à certifier. 7. Dispositif selon la revendication 6, caractérisé en ce que lesdits moyens de traitement (3) sont prévus pour calculer un nombre aléatoire et en ce que ladite signature cryptographique est calculée en fonction dudit nombre aléatoire. 8. Dispositif selon l'une des revendications 1 à 7, caractérisé en ce que ladite horloge interne (1) est ajustable par lesdits moyens de traitement (3) en réponse à une commande externe de remise à l'heure, en ce que lesdits moyens de traitement (3) sont prévus pour calculer et émettre un nombre aléatoire en réponse à une commande externe de remise à l'heure, en ce que, ladite commande de remise à l'heure étant suivie d'une signature cryptographique calculée en externe en fonction dudit nombre aléatoire et d'une donnée de remise à l'heure, lesdits moyens de traitement (3) sont prévus pour calculer ladite donnée de remise à l'heure à partir dudit nombre aléatoire et de ladite signature cryptographique et en ce que lesdits moyens de traitement effectuent une remise à l'heure de ladite horloge interne à une valeur correspondant à ladite donnée de remise à l'heure calculée. 9. Dispositif selon l'une des revendications 1 à 7, caractérisé en ce que ladite horloge interne (1) est ajustable par lesdits moyens de traitement (3) en réponse à une commande externe de remise à l'heure, en ce que lesdits moyens de traitement (3) sont prévus pour calculer et émettre un nombre aléatoire en réponse à une commande extérieure de remise à l'heure, en ce que, ladite commande de remise à l'heure étant suivie d'une donnée de remise à l'heure accompagnée d'une signature cryptographique calculée en externe en fonction dudit nombre aléatoire et de ladite donnée de remise à l'heure, lesdits moyens de traitement effectuent une remise à l'heure de l'horloge interne (1) à une valeur correspondant à ladite donnée de remise à l'heure lorsque la signature cryptographique calculée en externe coïncide avec une signature cryptographique calculée en interne en fonction dudit nombre aléatoire et de ladite donnée de remise à l'heure. 10. Dispositif selon l'une des revendications 8 ou 9, caractérisé en ce que lesdits moyens de traitement (3) sont programmés pour désactiver lesdits moyens d'inhibition (5) lorsqu'une remise à l'heure est effectuée. 11. Dispositif selon l'une des revendications 1 à 10, caractérisé en ce que lesdits moyens de traitement (3) sont programmés pour exécuter une fonction "horloge" selon laquelle ledit certificat est calculé en fonction d'une donnée à certifier et de la date et de l'heure fournies par l'horloge interne (1). 12. Dispositif selon l'une des revendications 1 à 11, caractérisé en ce que lesdits moyens de traitement (3) sont programmés pour exécuter une fonction "réveil" en réponse à une demande de réveil associée à une heure et/ou une date de réveil et à des données à certifier, selon laquelle lorsque l'heure et/ou la date de réveil coïncident avec les données horaires internes, lesdits moyens de traitement (3) envoient une alarme accompagnée d'un certificat calculé en fonction desdites données à certifier et desdites données horaires internes. 13. Dispositif selon l'une des revendications 1 à 12, caractérisé en ce que lesdits moyens de traitement (3), lesdits moyens de mesure (4), lesdits moyens d'inhibition (5) et ladite horloge interne (1) font partie d'un même circuit intégré. 14. Dispositif selon la revendication 13, caractérisé en ce que ledit circuit intégré est réalisé selon la technologie des processeurs de sécurité utilisés dans les cartes à puce.