Méthode d'authentification et de vérification de l'intégrité de données numériques
Domaine de l'invention
La présente invention se rapporte aux systèmes intégrés numériques qui traitent l'information en temps réel.
Plus précisément, elle a trait à une technique de sécurité qui permet au récepteur de données numériques d'authentifier leur source et leur intégrité.
Etat de la technique
L'authentification de la source de données numériques, telles qu'images, séquences d'images ou son, est généralement faite dans un but de copyright. L'objectif est de cacher dans les données une information d'identification de la source et ceci de façon invisible (par ex. les techniques de « watermarking »). Une telle authentification protège les données contre des usages illicites car les données contiennent l'information permettant d'authentifier le propriétaire du copyright. Des exemples de cette fonctionnalité sont décrits dans le brevet US-A-5 668 603 et le brevet US-A-5 636 292.
La vérification de l'intégrité des données numériques est communément utilisée dans des applications de réseaux. Le but est de certifier que les données numériques sont originales et n'ont pas été corrompues pendant la transmission. La vérification de l'intégrité est généralement effectuée grâce à une signature numérique. La signature numérique est générée par cryptage d'un «digest» des données numériques dont l'intégrité doit être vérifiée. Le digest des données est obtenu par «hashing» de ces dernières. Le hashing est une transformation mathématique qui, à partir de données de longueur arbitraire, calcule un nombre de longueur fixe. Le cryptage du digest se fait généralement avec un schéma à clef publique. Un tel schéma de cryptage est également appelé schéma de cryptage asymétrique. La signature numérique permet d'authentifier la source des données numériques car la source est la seule à connaître la clef privée du schéma. De plus, la signature numérique permet de vérifier l'intégrité des données numériques. Un exemple de cette fonctionnalité est décrit dans: Massachusetts Institute of Technology, document MIT/LCS/TM-82, "A Method for Obtaining Digital Signatures in Public-Key Cryptosystems", écrit par Rivest et al. Les
schémas de cryptage à clef publique sont notamment décrits dans le brevet US-A-4 405 829.
L'autre grande classe de schémas de cryptage sont ceux à clef secrète. Un tel schéma de cryptage est également appelé schéma de cryptage symétrique. Référence est donnée au standard «Data Encryption Standard (DES)», FIPS PUB 46, National Bureau of Standards. U.S. Department of Commerce, Washington, DC, janvier 1997. Finalement, en ce qui concerne le «hashing», référence est donnée à R. Rivest, "The MD5 Message Digest
Algorithm". RFC 1321, avril 1992.
La demande de brevet EP-A-689 316 présente une méthode de cryptage à schéma symétrique utilisée avec des réseaux sans fil. Chaque message envoyé est constitué de trois segments : Le premier contenant une information d'identification non cryptée, le ESN, le deuxième contenant le paquet de données à transmettre (information utile) et le troisième contenant une signature numérique qui est obtenue par application d'un algorithme de "hashing" et un algorithme de cryptage au paquet de données à transmettre.
Les méthodes de l'état de la technique, bien qu'elles offrent une certaine sécurité, présentent cependant un certain nombre de faiblesses.
Par exemple, lorsque l'information d'identification n'est pas cryptée, une personne mal intentionnée peut parfaitement déterminer la provenance du paquet de données, de pratiquer des analyses statistiques sur ces dernières et, sans trop d'effort, en déduire les clés de cryptage du paquet de données.
Résumé de l'invention Un des objets de la présente invention vise a améliorer la sécurité liée à la transmission, au stockage ou à la visualisation de données numériques et plus particulièrement lorsqu'il s'agit de données audiovisuelles.
Cet objectif est atteint en utilisant une technique de sécurité qui permet au récepteur de données numériques, d'une part, d'authentifier de façon univoque la source des données grâce à une information d'identification, unique et cryptée, qui est ajoutée aux données numériques, et d'autre part, de vérifier l'intégrité des données numériques. Si nécessaire, la technique permet également d'assurer le secret des données. L'information d'identification cryptée de la source authentifie de façon univoque la source des données numériques.
Chaque source possède son code d'identification, nommé ci-après « ID code », qui est unique et stocké localement dans son hardware et dans une mémoire uniquement lisible (mémoire ROM). Le code ID est la base de l'information d'identification. L'information d'identification peut également contenir des informations additionnelles telles que l'heure, la date de la capture et la location de la source.
La source peut générer différents types de données numériques, la liste non-exhaustive suivante en donne quelques exemples :
- Son, image ou séquence d'image - Résultats de traitements de signal effectués sur des données sonores, visuelles ou audiovisuelles
Signaux utilisés par la source pour interagir avec d'autres équipements avec lesquels la source est connectée et/ou interagit (par ex. signal de la source pour commander le mécanisme d'ouverture d'une porte).
Dans le texte qui suit, on décrira essentiellement des données audiovisuelles numériques, à transmettre ou à stocker ou à visualiser, traitées ou non par des méthodes de traitement du signal. On peut imaginer que ces données soient complétées par des données publiques additionnelles. L'ensemble de ces données sera simplement nommée «les données» ou «données à transmettre». La source de ces données sera dénommée «la source».
La procédure qui rend possible l'authentification de la source, la vérification de l'intégrité des données et le cryptage des données est menée à bien au niveau de la source elle-même, avant toute transmission, tout stockage ou affichage des données. Le récepteur effectue l'authentification de la source, la vérification de l'intégrité des données et le décryptage des données après les avoir reçues.
La procédure rendant possible l'authentification sécurisée de la source consiste à crypter l'information d'identification de la source et de l'ajouter aux données à transmettre. Le cryptage de l'information d'identification peut se faire soit par un système symétrique, soit par un système asymétrique.
L'ajout de l'information d'identification cryptée se fait soit par concaténation de l'information d'identification cryptée aux données à transmettre, soit par insertion visible ou
invisible de l'information d'identification cryptée (p. ex. techniques de watermarking, ...) dans les données elles-mêmes, soit en faisant parallèlement une concaténation aux données à transmettre et une insertion dans ces mêmes données à transmettre.
Dans le cas où une insertion de l'information d'identification cryptée dans les données à transmettre est effectuée, les données à transmettre seront modifiées. Dans ce cas, ce sont ces données modifiées qui seront utilisées en lieu est place des données originales. Dans le reste du texte, on les nommera néanmoins «les données».
Puis, les données sont utilisées pour générer une signature numérique dans le cadre d'un schéma standard de signature numérique. La signature numérique est ajoutée aux données à transmettre par concaténation.
Dans le cas où la confidentialité des données serait désirée, les données sont cryptées avant la transmission. Après cette étape optionnelle de cryptage, des données publiques additionnelles peuvent être ajoutées aux données à transmettre.
Si les données sont corrompues avant que le récepteur ne les reçoive, l'authentification de la source et/ou la vérification de l'intégrité des données ne sera pas possible. Le récepteur ne pourra donc pas certifier l'origine des données et/ou leur intégrité.
L'authentification sécurisée de la source est basée sur le ID code unique à chaque source et non pas sur le schéma de cryptage à clef publique. En effet, le cryptage de l'information d'identification dans laquelle se trouve 1TD code peut se faire grâce à un schéma de cryptage à clef publique qui utilise une clef définie par software, facilement modifiable, et qui n'est pas nécessairement unique à chaque source, car pouvant être partagée entre plusieurs sources. A l'opposé, le ID code, stocké de manière indélébile dans le hardware de la source, ne peut être modifié sans endommager la source et, par définition, est unique à chaque source. Ces caractéristiques permettent de suivre chaque source à travers tout le temps de son utilisation.
De plus, l'invention ne limite pas le type de schémas de cryptage et/ou de clefs utilisés pour le cryptage de l'information d'identification.
L'invention ne se veut pas robuste contre les tentatives de malversation des données après que ces dernières ont quitté la source. Au contraire, les fonctionnalités permises par l'invention disparaissent en partie ou totalement en cas de malversation, ce qui permet au récepteur de détecter la fraude.
La présente invention trouve donc plusieurs domaines d'applications, notamment:
- Surveillance vidéo de sécurité
- Génération de données ayant valeur de preuves légales - Recherche automatique d'événements dans une base de données audiovisuelles
- Contrôle d'équipements d'un réseau limité à la source audiovisuelle
Un mode de réalisation de l'invention est décrit ci-après au moyen des figures suivantes:
Figure 1 : Ajout de l'information d'identification et de données publiques additionnelles au niveau de la source de données telle que décrit dans l'état de la technique.
Figure 2: Préparation du paquet d'information à transmettre au niveau de la source
Figure 3 : Traitement du paquet d'information reçu au niveau du récepteur
Pour ce mode de réalisation de l'invention, on se place dans le cas d'une source décentralisée de données audiovisuelles numériques. Les données sont envoyées au récepteur soit «on-line» soit «off-line».
Dans la description de la réalisation de l'invention, lorsque nous parlons d' «ajout» ou d' «ajouter» des informations dans les données, cela peut se faire soit d'une manière invisible en insérant l'information dans les données même (par ex. watermarking), soit d'une manière visible en concaténant les informations et les données dans un seul et même paquet. Dans ce dernier cas, le protocole de concaténation est à définir.
Dans la description de la réalisation de l'invention, lorsque nous parlons de «séparation» ou de «séparer» des données en ses composants, cela correspond au processus inverse du processus «ajout» décrit ci-dessus. Lorsque nous parlons d' «extraction» d'information depuis
les données, cela correspond à une extension du processus de «séparation» défini ci-dessus, où d'un paquet de données formé de plus de deux composants, seul un est extrait du paquet.
Dans les figures, le symbole ( ) signifie «ajout», alors que le symbole Q signifie selon les cas soit «séparation», soit «extraction».
Dans la réalisation non-sure et tronquée de l'état de la technique telle qu'illustrée à la Figure 1, les Données (12) sont en premier lieu traitées, ce qui produit les Données Traitées (18). Les traitements de données possibles incluent des opérations telles que compression avec ou sans pertes qui visent à réduire la taille des données ou des schémas d'analyse des données qui visent à extraire des données les informations significatives. Des Données Publiques Additionnelles (20) sont ensuite ajoutées (22) aux Données Traitées (18), les données résultantes étant les Données A (23). Les Données Publiques Additionnelles (20) sont typiquement les paramètres utilisés pour traiter les Données (12), par ex. paramètres de codage. L'Information d'Identification (24) est ajoutée (28) aux Données A, ce qui donne naissance aux Données D 46. Ces dernières peuvent ensuite être transmises, stockées ou affichées. Malgré le fait que le système décrit dans la Figure 1 soit censé authentifier de façon univoque la source des données grâce à l'Information d'Identification (24), le système ne permet pas de détecter si un individu malintentionné a modifié les Données D 46, pouvant provoquer ainsi une fausse identification de la source.
Le mode de réalisation de l'invention présenté aux Figures 2 et 3 remédie aux problèmes illustrés plus haut. La Figure 2 décrit la réalisation de l'invention au niveau de la source des données. La Figure 3 décrit la réalisation de l'invention au niveau du récepteur des données. Nous supposons que la source possède une paire de clefs publique/privée d'un schéma de cryptage à clef publique. Nous faisons la même hypothèse pour le récepteur des données. De plus, nous supposons que la source et le récipient partage la clef secrète d'un schéma de cryptage à clef secrète. La clef peut être changée dynamiquement au cours du temps. Au niveau de la source (voir Figure 2), les Données (12) sont en premier lieu traitées 16 pour donner lieu aux Données Traitées (18). Les possibles traitements des données incluent des opérations telles que compression avec ou sans perte et analyses des données pour en extraire les informations désirées. Les Données Publiques Additionnelles (20) sont ensuite ajoutées (22) aux Données Traitées, ceci donnant lieu aux Données A 23. Les Données Publiques Additionnelles (22) sont typiquement les informations telles que les paramètres utilisés pour traiter les Données (12), e.g. paramètres de compression. L'Information d'Identification (24)
est ajoutée (28) aux Données A 23 donnant lieu aux Données B 48. Un Cryptage à Clef
Publique (26) est accompli sur l'Information d'Identification avant de l'ajouter aux Données
A 23. Le Cryptage à Clef Publique (26) est accompli en utilisant la clef publique du récepteur.
La Signature Numérique (40) est générée à partir des Données B 48. A cette fin. un hashing (30) des Données B 48 est effectué pour obtenir le Digest (32). Ensuite, la Signature
Numérique (40) est obtenue grâce au Cryptage à Clef Publique (38) du Digest (32). Le
Cryptage à Clef Publique (38) est effectué en utilisant la clef privée de la source. La Signature
Numérique (40) est alors ajoutée (42) aux Données C 43, ceci donnant lieu aux Données D
46. Les Données C 43 sont le résultat du cryptage optionnel par Cryptage à Clef Secrète (44) des Données B 50 (les Données B 50 et les Données B 48 sont identiques). L'option du Cryptage à Clef Secrète (44) permet d'assurer le secret des Données B 50 si nécessaire. Dans le cas où le Cryptage à Clef Secrète (44) n'est pas effectué, les Données B 50 et les Données C 43 sont identiques. Au niveau du récepteur (voir Figure 3), les données reçues, les Données D 82. sont séparées (88) en leurs deux composants qui sont les Données C 86 et la Signature Numérique (90). La Signature Numérique permet au récepteur de Vérifier l'Intégrité (98) des Données D 82. La Signature Numérique (90) est décryptée par le schéma de Décryptage à Clef Publique (92) qui utilise la clef publique de la source. Le Décryptage à Clef Publique (92) permet d'obtenir le Digest (94), qui est le digest original généré dans la source. Pour vérifier l'intégrité des Données D 82, le récepteur compare (96) le Digest (94) avec le résultat (104) du Hashing (102) des Données B 101. Le résultat (97) de la Comparaison (96) permet de dire si les données sont intègres ou non (98).
Les Données B 100 (les Données B 100 et les Données B 101 sont identiques) résultent du Décryptage à Clef Secrète (84) des Données C 86. Le Décryptage à Clef Secrète (84) est nécessaire au cas où les Données B 50 ont été cryptées (44) au niveau de la source (voir Figure 2 ). Le décryptage utilise la clef secrète du schéma de cryptage à clef secrète. Cette clef secrète est un secret partagé entre la source et le récepteur. Ceci garantit la confidentialité des Données C 86. Au cas où le cryptage (44) n'aurait pas été effectué, les Données C 86 et les Données B 100 sont identiques. Les Données B 100 sont utilisées pour l'Authentification (126) de la source. Les Données B (100) contiennent également les Données Publiques Additionnelles (112) et les Données Traitées (114). Pour authentifier la source (126), l'Information d'Identification (120) est extraite (106) des Données B 100. L'Information d'Identification (120) est décryptée par le schéma de Décryptage à Clef Publique (122) qui utilise la clef privée du récepteur,
l'Information d'Identification (124) ainsi obtenue étant alors utilisée par le récepteur pour
Authentifier la Source (126) des Données D 82. En particulier, le ID code unique à chaque source est obtenu.
Après l'extraction (106) de l'Information d'Identification (120), les données restantes, les Données A (108), ont deux composants qui sont les Données Publiques Additionnelles (112) et les Données Traitées (114). Ces deux composants sont séparés (110) et rendus disponibles au récepteur.
La réalisation de l'invention décrite ci-dessus présente les fonctionnalités de confidentialité des données, de vérification de l'intégrité des données et d'authentification de la source des données. Cette méthode est fragile. Toute tentative de modifier les données durant leur transmission, leur stockage ou avant leur affichage est détectée. La réalisation de l'invention décrite ci-dessus est illustrative et n'est pas limitative.