FR2911419A1 - Procedures de verification d'integrite optimisees - Google Patents

Procedures de verification d'integrite optimisees Download PDF

Info

Publication number
FR2911419A1
FR2911419A1 FR0753849A FR0753849A FR2911419A1 FR 2911419 A1 FR2911419 A1 FR 2911419A1 FR 0753849 A FR0753849 A FR 0753849A FR 0753849 A FR0753849 A FR 0753849A FR 2911419 A1 FR2911419 A1 FR 2911419A1
Authority
FR
France
Prior art keywords
content
particular content
calculated
digital signature
signature
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
FR0753849A
Other languages
English (en)
Other versions
FR2911419B1 (fr
Inventor
Augustin J Farrugia
Jean Francois Riendeau
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.)
Apple Inc
Original Assignee
Apple Inc
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 Apple Inc filed Critical Apple Inc
Publication of FR2911419A1 publication Critical patent/FR2911419A1/fr
Application granted granted Critical
Publication of FR2911419B1 publication Critical patent/FR2911419B1/fr
Expired - Fee Related 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/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3247Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/64Protecting data integrity, e.g. using checksums, certificates or signatures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • G06F16/2228Indexing structures
    • G06F16/2255Hash tables
    • 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/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3236Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions

Abstract

Certains modes de réalisation de l'invention mettent à disposition un procédé de vérification de l'intégrité d'un contenu numérique. Au niveau d'une source du contenu numérique, le procédé génère une signature pour le contenu numérique en appliquant une fonction d'adressage calculé à une portion particulière du contenu numérique, là où la portion particulière représente un volume moindre que tout le contenu numérique. Le procédé fournit la signature et le contenu numérique à un dispositif. Au niveau du dispositif, le procédé applique la fonction d'adressage calculé à la portion particulière du contenu numérique afin de vérifier l'intégrité de la signature fournie, et de ce fait vérifier l'intégrité du contenu numérique fourni.

Description

PROCEDURES DE VERIFICATION D'INTEGRITE OPTIMISEES
DOMAINE DE L'INVENTION La présente invention concerne des procédures de 5 vérification d'intégrité optimisées.
ARRIERE-PLAN DE L'INVENTION La protection de contenu numérique transféré entre des ordinateurs sur un réseau est aujourd'hui d'une 10 importance fondamentale pour de nombreuses entreprises. Les entreprises tentent de sécuriser cette protection en mettant en application une certaine forme de processus de Gestion des Droits Numériques (DRM). Le processus DRM implique souvent un chiffrage de 15 l'élément de contenu (par exemple, un chiffrage de la forme binaire du contenu) pour restreindre un usage aux individus auxquels un droit sur le contenu a été octroyé. La cryptographie est le procédé classique de 20 protection de contenu numérique, tel que des données en transit à travers un réseau. Dans son application habituelle, la cryptographie protège un contenu numérique entre deux parties se faisant mutuellement confiance contre un vol par attaque sur les données en 25 transit. Cependant, aujourd'hui pour de nombreuses applications de transfert de fichier numérique (par exemple, pour le transfert de contenus audio ou vidéo), le paradigme a changé, puisqu'une partie qui reçoit le contenu (c'est-à-dire la "partie destinatrice") 30 pourrait tenter de casser le chiffrement DRM que la partie fournissant le contenu (c'est-à-dire, la "partie distributrice") a appliqué au contenu. De surcroît, avec la prolifération des attaques de pénétration de réseau, une tierce partie peut obtenir un accès à l'ordinateur de la partie destinatrice et ainsi au contenu protégé. En plus du chiffrement et du déchiffrement, le contenu numérique peut avoir besoin d'autres couches de protection. L'authentification constitue une autre couche importante de protection. Lors de la réception d'un contenu numérique, le destinataire a souvent besoin "d'authentifier" la source du contenu numérique. En d'autres termes, le destinataire a besoin de vérifier l'intégrité du contenu numérique en s'assurant que le contenu provient d'une source authentifiée et n'a pas été falsifié en chemin jusqu'au destinataire. A ce jour, plusieurs processus d'authentification de l'intégrité de contenu numérique ont été proposés.
Ces processus appliquent habituellement une fonction d'adressage calculé à la version texte en clair du contenu afin de produire un abrégé d'adressage calculé (également appelé adressage calculé ou abrégé), qui est ensuite utilisé pour produire une signature pour le contenu. Une propriété fondamentale de toutes les fonctions d'adressage calculé est que si deux adressages calculés sont différents, alors les deux entrées étaient différentes à certains égards. Lorsque deux adressages calculés sont identiques pour les différentes entrées, il s'agit d'un conflit d'adressage calculé. Il est important, dans un système cryptographique, que le fonctionnement d'adressage calculé présente une très faible probabilité de conflit.
Les processus de vérification d'intégrité classiques sont gourmands en termes de calcul, en particulier pour des dispositifs portatifs avec des ressources de calcul limitées. Donc, on a besoin dans la technique d'un processus de vérification d'intégrité qui soit moins gourmand en tant que calcul. Idéalement, ce processus permettrait à un dispositif portatif de vérifier rapidement l'intégrité d'un contenu numérique qu'il reçoit.
RESUME DE L'INVENTION Certains modes de réalisation de l'invention mettent à disposition un procédé de vérification de l'intégrité d'un contenu numérique. Au niveau d'une source du contenu numérique, le procédé génère une signature pour le contenu numérique en appliquant une fonction d'adressage calculé à une portion particulière du contenu numérique, là où la portion particulière représente un volume moindre que tout le contenu numérique. Le procédé fournit la signature et le contenu numérique à un dispositif. Au niveau du dispositif, le procédé applique la fonction d'adressage calculé à la portion particulière du contenu numérique afin de vérifier l'intégrité de la signature fournie, et de ce fait vérifier l'intégrité du contenu numérique fourni. La portion particulière du contenu numérique comporte plusieurs sections différentes du contenu numérique. Dans certains modes de réalisation, le procédé configure la source et le dispositif pour sélectionner un ensemble prédéterminé de sections du contenu numérique en tant que portions particulières du contenu numérique. Le dispositif, dans certains modes de réalisation, comporte une mémoire morte qui (1) stocke un code destiné à identifier la portion particulière, et (2) stocke la fonction d'adressage calculé. Dans certains modes de réalisation, le procédé génère une signature pour le contenu numérique au niveau de la source par (1) application de la fonction d'adressage calculé à la portion particulière afin de générer un abrégé d'adressage calculé, puis (2) génération de la signature à partir de l'abrégé d'adressage calculé. Le procédé peut être mis en application dans un processus de vérification d'intégrité soit asymétrique soit symétrique. Par exemple, dans certains modes de réalisation, le procédé applique la fonction d'adressage calculé au niveau du dispositif par (1) application de la fonction d'adressage calculé à la portion particulière afin de générer l'abrégé d'adressage calculé, et (2) mise à disposition de l'abrégé et de la signature reçue pour un processus de vérification de signature qui détermine l'authenticité de la signature sur la base de l'abrégé fourni. En variante, dans certains modes de réalisation, le procédé applique la fonction d'adressage calculé au niveau du dispositif par (1) génération d'une seconde signature sur la base de l'abrégé d'adressage calculé, et (2) comparaison des première et seconde signatures afin de déterminer l'intégrité du contenu numérique fourni. La source du contenu numérique peut être différente dans des différents modes de réalisation. Par exemple, la source peut être l'auteur, le distributeur, etc. Le dispositif qui reçoit le contenu numérique peut également être différent dans différents modes de réalisation. Plusieurs exemples de ce dispositif comprennent un lecteur audio/vidéo portatif (par exemple, un iPod), un ordinateur portable, un téléphone cellulaire, etc. Le contenu numérique peut également être différent dans différents modes de réalisation. Par exemple, le contenu numérique peut être des mises à jour de micrologiciel pour le système d'exploitation du dispositif, des applications tierces destinées à être exploitées sur le dispositif, des fichiers audio/vidéo destinés à être reproduits sur le dispositif, etc.
BREVE DESCRIPTION DES DESSINS Les caractéristiques originales de l'invention sont exposées selon les revendications annexées. Cependant, pour les besoins de l'explication, plusieurs modes de réalisation sont exposés sur les figures suivantes.
La figure 1 illustre un système de vérification d'intégrité de certains modes de réalisation de l'invention. La figure 2 illustre un autre système de vérification d'intégrité de certains modes de réalisation de l'invention. La figure 3 illustre un système DRM qui met en application le système de vérification d'intégrité de certains modes de réalisation de l'invention. La figure 4 illustre un processus de vérification d'intégrité mis en oeuvre par un ou plusieurs serveurs DRM dans certains modes de réalisation de l'invention. La figure 5 illustre un processus de vérification d'intégrité mis en oeuvre par un dispositif multimédia portatif de certains modes de réalisation de l'invention. La figure 6 présente un schéma de système informatique qui illustre de manière conceptuelle les composants d'un serveur DRM, d'un ordinateur d'utilisateur, ou un dispositif portatif classique qui met en application certains modes de réalisation de l'invention.
DESCRIPTION DETAILLEE DE L'INVENTION Dans la description suivante, de nombreux détails 35 sont exposés pour les besoins de l'explication.
Cependant, l'homme du métier constatera que l'invention peut être mise en pratique sans que ces détails spécifiques ne soient utilisés. Dans d'autres exemples, des structures et dispositifs bien connus sont représentés sous la forme d'un schéma de principe afin de ne pas encombrer la description de l'invention de détails inutiles.
1. VUE D'ENSEMBLE Certains modes de réalisation de l'invention mettent à disposition un procédé de vérification de l'intégrité d'un contenu numérique. Au niveau d'une source du contenu numérique, le procédé génère une signature pour le contenu numérique en appliquant une fonction d'adressage calculé à une portion particulière du contenu numérique, là où la portion particulière représente un volume moindre que tout le contenu numérique. Le procédé fournit la signature et le contenu numérique à un dispositif. Au niveau du dispositif, le procédé applique la fonction d'adressage calculé à la portion particulière du contenu numérique afin de vérifier l'intégrité de la signature fournie, et de ce fait vérifier l'intégrité du contenu numérique fourni.
La portion particulière du contenu numérique comporte plusieurs sections différentes du contenu numérique. Dans certains modes de réalisation, le procédé configure la source et le dispositif pour sélectionner un ensemble prédéterminé de sections du contenu numérique en tant que portions particulières du contenu numérique. Le dispositif, dans certains modes de réalisation, comporte une mémoire morte qui (1) stocke un code destiné à identifier la portion particulière, et (2) stocke la fonction d'adressage calculé.
Dans certains modes de réalisation, le procédé génère une signature pour le contenu numérique au niveau de la source par (1) application de la fonction d'adressage calculé à la portion particulière afin de générer un abrégé d'adressage calculé, puis (2) génération de la signature à partir de l'abrégé d'adressage calculé. Le procédé peut être mis en application dans un processus de vérification d'intégrité soit asymétrique soit symétrique. Par exemple, dans certains modes de réalisation, le procédé applique la fonction d'adressage calculé au niveau du dispositif par (1) application de la fonction d'adressage calculé à la portion particulière afin de générer l'abrégé d'adressage calculé, et (2) mise à disposition de l'abrégé et de la signature reçue pour un processus de vérification de signature qui détermine l'authenticité de la signature sur la base de l'abrégé fourni. En variante, dans certains modes de réalisation, le procédé applique la fonction d'adressage calculé au niveau du dispositif par (1) génération d'une seconde signature sur la base de l'abrégé d'adressage calculé, et (2) comparaison des première et seconde signatures afin de déterminer l'intégrité du contenu numérique fourni.
La source du contenu numérique peut être différente dans des différents modes de réalisation. Par exemple, la source peut être l'auteur, le distributeur, etc. du contenu. Le dispositif qui reçoit le contenu numérique peut également être différent dans différents modes de réalisation. Plusieurs exemples de ce dispositif comprennent un lecteur audio/vidéo portatif (par exemple, un iPod), un ordinateur portable, un téléphone cellulaire, etc. Le contenu numérique peut également être différent dans différents modes de réalisation. Par exemple, le contenu numérique peut être des mises à jour de micrologiciel pour le système d'exploitation du dispositif, des applications tierces destinées à être exploitées sur le dispositif, des fichiers audio/vidéo destinés à être reproduits sur le dispositif, etc.
II. SYSTEMES DE VERIFICATION D'INTEGRITE DE CERTAINS MODES DE REALISATION La figure 1 illustre de manière conceptuelle une version plus détaillée d'un système de vérification d'intégrité 100 de certains modes de réalisation de l'invention. Comme cela est représenté sur cette figure, ce système comporte un dispositif source 110 de contenu et un dispositif destinataire 115 de contenu.
Comme cela est représenté sur la figure 1, le dispositif source 110 de contenu fournit au moins un élément de contenu numérique 105 au dispositif destinataire de contenu 115. Une source de contenu est toute partie quelconque impliquée dans la création, la vente ou la distribution du contenu. Des exemples de cette partie comprennent l'auteur, le vendeur, le distributeur, etc. du contenu. Le dispositif source 110 de contenu peut être un ensemble d'un ou plusieurs dispositifs, ordinateurs, serveurs, etc. fixes ou portatifs. Comme cela est représenté sur la figure 1, le dispositif source 110 de contenu met en oeuvre un processus d'adressage calculé 120 et un processus de génération 130 de signature. Le processus d'adressage calculé 120 applique une fonction d'adressage calculé à une seule portion du contenu numérique 105. Cette portion est une configuration particulière de bits 125 qui sont représentés de manière conceptuelle comme des sections noircies du contenu numérique 105 sur la figure 1.
Dans certains modes de réalisation, cette configuration binaire est spécifiée d'une manière (par exemple, par le dispositif source 110 de contenu, par un serveur DRM qui dirige le dispositif 110, etc.) qui garantit qu'un volume suffisant du contenu numérique sera soumis à un adressage calculé pour atteindre trois objectifs. En premier lieu, la configuration binaire devrait être spécifiée de sorte que toute falsification quelconque du contenu numérique nécessitera une vérification d'une des sections soumises à un adressage calculé, ce qui ferait apparaître la falsification puisque la falsification modifierait la signature éventuelle. En deuxième lieu, la configuration binaire devrait être spécifiée de sorte que deux éléments différents du contenu numérique soumis à un adressage calculé par le processus 120 n'entrent pas en conflit (c'est-à-dire, ne produisent pas le même adressage calculé). En troisième lieu, puisque le dispositif destinataire 115 de contenu utilisera la même configuration binaire pour son processus d'adressage calculé, la configuration binaire devrait utiliser la plus petite quantité de bits qui atteignent les deux premiers objectifs, de sorte que le processus d'adressage calculé utilisera au minimum les ressources de calcul du dispositif destinataire 115 de contenu. Le processus d'adressage calculé 120 est configuré de façon à sélectionner la configuration binaire 125 de manière pseudo-aléatoire dans certains modes de réalisation, ou systématiquement (par exemple, sur la base d'une configuration ordonnée d'octets) dans d'autres modes de réalisation. Par exemple, dans certains modes de réalisation, le contenu numérique peut être un code objet pour un programme (tel que le système d'exploitation du dispositif destinataire 115 de contenu, une application tierce qui s'exécute sur le dispositif destinataire 115 de contenu, etc.). Dans certains de ces modes de réalisation, le code comporte un ensemble d'opcodes (c'est-à-dire, des codes d'instruction) et zéro opérande ou davantage (c'est-à-dire, zéro élément de données ou davantage) pour chaque opcode. Par conséquent, certains de ces modes de réalisation appliquent la fonction d'adressage calculé à autant d'opcodes et d'opérandes pour maximiser la détection d'une falsification, minimiser des conflits d'adressage calculé, et minimiser l'utilisation de ressources de calcul. Par exemple, dans certains modes de réalisation, le dispositif destinataire de contenu utilise un microprocesseur ARM. Dans ce microprocesseur, chaque ligne de code objet (qui comporte un opcode et son opérande associé) est appelée unité d'opération de microprocesseur (MOU), qui a une longueur spécifique de quatre octets. Donc, certains modes de réalisation utilisent la largeur de quatre octets pour identifier la ligne entre chaque ligne de code, puis utilise cette connaissance pour sélectionner un ou plusieurs octets entre chaque unité MOU. La sélection de l'octet parmi l'unité MOU peut avoir différentes mises en application dans différents modes de réalisation. Certains modes de réalisation comportent un mélange pseudo-aléatoire d'opcodes et d'opérandes dans la configuration binaire qui a besoin d'être soumise à un adressage calculé. D'autres modes de réalisation pourraient uniquement comporter des opcodes (par exemple, la majeure partie ou tous les opcodes) dans un élément de code qui est en train d'être soumis à un adressage calculé et signé. D'autres modes de réalisation encore peuvent sélectionner un octet déterminé (par exemple toujours le premier octet) dans chaque ligne d'instruction.
Certains modes de réalisation utilisent une fonction secrète qui, pour chaque unité MOU, produit un module à nombre entier de la longueur MOU puis sélectionnent la section ou les sections dans l'unité MOU qui correspond ou correspondent à ce module. D'autres modes de réalisation pourraient utiliser d'autres microprocesseurs, tels que des microprocesseurs fournis par Motorola Corporation, Intel Corporation, AMD Corporation, IBM Corporation, etc.
Dans différents modes de réalisation, le processus d'adressage calculé 120 applique une fonction d'adressage calculé différente à la portion particulière du contenu numérique. Des exemples de fonctions d'adressage calculé qui sont utilisées dans différents modes de réalisation comprennent les fonctions MD5, SHA-1, etc. Les fonctions d'adressage calculé peuvent être utilisées avec ou sans clé (c'est-à-dire, les fonctions d'adressage calculées peuvent être des fonctions d'adressage calculées à clé).
Comme cela a été mentionné ci-dessus, une fonction d'adressage calculé est une transformation qui prend habituellement certaines formes (par exemple, une forme de texte en clair) du contenu et la transforme en une sortie brouillée appelée abrégé ou adressage calculé.
L'abrégé a habituellement un ensemble de bits à taille fixe qui sert "d'empreinte digitale numérique" unique pour le contenu d'origine. Si le message d'origine est à nouveau modifié et soumis à un adressage calculé, il présente une très forte probabilité de produire un abrégé différent. Ainsi, les fonctions d'adressage calculé peuvent être utilisées pour détecter des documents retouchés et contrefaits. Elles fournissent une intégrité du message, assurant ainsi au destinataire du contenu que le contenu n'a pas été retouché ou altéré.
Comme cela est représenté sur la figure 1, le générateur 130 de signature reçoit l'abrégé que la fonction d'adressage calculé du processus d'adressage calculé 120 produit. Le générateur 130 de signature produit une signature 147 pour le contenu 105 à partir de l'abrégé 145 reçu. Pour produire cette signature, le générateur 130 peut utiliser l'une quelconque parmi un certain nombre de techniques connues telles que les techniques : SHA-1, MD5 MAC.
Dans le système 100, le contenu numérique 105 et la signature 147 générée sont fournis au dispositif destinataire 115 de contenu tel que représenté sur la figure 1. Différents modes de réalisation fournissent de manière différente ces données au dispositif destinataire 115. Par exemple, certains modes de réalisation distribuent ces données à travers un réseau de communication, tel qu'un réseau local d'entreprise, un réseau étendu, ou un réseau des réseaux (par exemple, l'Internet). Par ailleurs, à travers un réseau, le dispositif destinataire 115 de contenu peut recevoir ces données directement du créateur, du vendeur ou du distributeur du contenu, ou indirectement par l'intermédiaire d'un ou plusieurs serveurs intermédiaires, tels qu'un ou plusieurs serveurs DRM, des serveurs de mise en cache de contenu, etc. Un destinataire de contenu est toute partie quelconque impliquée dans l'utilisation ou la distribution du contenu. Des exemples de cette partie comprennent l'utilisateur, le distributeur, etc. du contenu. Le dispositif destinataire 115 de contenu peut être un dispositif, ordinateur, serveur, lecteur audio/vidéo fixe ou portatif, un dispositif de communication (par exemple, un téléphone, un récepteur de poche, une messagerie textuelle, etc.), un agenda électronique, etc.
Dans le système 100, le dispositif source 110 de contenu et le dispositif destinataire 115 de contenu emploient un processus de vérification d'intégrité asymétrique. Par conséquent, le dispositif destinataire 115 de contenu met en oeuvre deux processus, un processus d'adressage calculé 135 et un processus de vérification 140 de signature. Le processus d'adressage calculé 135 applique la même fonction d'adressage calculé aux mêmes sections du contenu numérique 105 que le processus d'adressage calculé 120 du dispositif source 110 de contenu. Précisément, dans certains modes de réalisation, le processus d'adressage calculé 135 du dispositif destinataire 115 est configuré de façon à sélectionner les mêmes configurations binaires dans le contenu numérique 105 que le processus d'adressage calculé 120 du dispositif source 110 de contenu. La figure 1 illustre ceci de manière conceptuelle en montrant que les processus d'adressage calculé 120 et 135 utilisent des configurations binaires noircies identiques 125 dans le contenu numérique 105. La sélection par le processus d'adressage calculé 135 de la même configuration binaire 125 pourrait être effectuée d'une manière pseudo-aléatoire ou systématique qui conduit à la sélection de la même configuration binaire que le processus d'adressage calculé 120. Le fait d'appliquer la fonction d'adressage calculé du processus d'adressage calculé 135 au contenu 105 produit un abrégé 149. Cet abrégé devrait être identique à l'abrégé 145 produit par la fonction d'adressage calculé du processus d'adressage calculé 120 lorsque le contenu numérique reçu par les processus 120 et 135 sont les mêmes, puisque les deux processus sélectionnent le même ensemble de sections dans le contenu numérique.
Comme cela est représenté sur la figure 1, le vérificateur 140 de signature reçoit l'abrégé 149 que la fonction d'adressage calculé du processus d'adressage calculé 135 produit. Le vérificateur 140 de signature reçoit également la signature 147 produite par le générateur 130 de signature du dispositif source 110 de contenu. Le vérificateur 140 détermine ensuite si la signature reçue 147 est ou non la signature correcte pour le contenu numérique reçu 105, en s'assurant que la signature 147 est appropriée à l'abrégé 149. Pour s'assurer que la signature 147 est appropriée à l'abrégé 149, le vérificateur 140 peut utiliser toute technique quelconque parmi un certain nombre de techniques connues, telles qu'une technique SHA-1 ou MD5. Sur la base de sa comparaison de l'abrégé 149 avec la signature 147, le vérificateur 140 de signature sort ensuite une valeur de contrôle d'intégrité 151. Cette valeur spécifie si la signature reçue 147 est ou non la signature appropriée au contenu numérique reçu 105. Par exemple, dans certains modes de réalisation, la valeur de contrôle d'intégrité est une valeur Booléenne, qui est vraie lorsque l'intégrité du contenu numérique est vérifiée (c'est-à-dire, lorsque la signature reçue correspond au contenu numérique reçu), et est fausse lorsque l'intégrité du contenu numérique n'est pas vérifiée. Dans d'autres modes de réalisation, la valeur de contrôle d'intégrité est tout autre type quelconque de valeur à deux états, avec un état qui indique que l'intégrité du contenu numérique est vérifiée et l'autre état qui indique que l'intégrité du contenu numérique n'est pas vérifiée. Le contrôle d'intégrité spécifiera que l'intégrité du contenu n'est pas vérifiée lorsqu'une ou plusieurs parties du contenu numérique est ou sont falsifiées après que la signature 147 a été générée et cette ou ces parties comporte(nt) une ou plusieurs sections de contenu qui est ou sont utilisé(es) pour générer les abrégés d'adressage calculé 145 et 149.
D'autres modes de réalisation pourraient être mis en application dans différents systèmes de vérification d'intégrité. Par exemple, la figure 2 illustre une mise en application de l'invention dans un système de vérification d'intégrité symétrique 200. Le système 200 est similaire au système 100 à l'exception de son dispositif destinataire 115 de contenu qui ne comporte pas le vérificateur 140 de signature asymétrique mais comporte un générateur 240 de signature et un vérificateur 250 de signature symétrique.
Comme le générateur 130 de signature du dispositif source 110 de contenu, le générateur 240 de signature génère une signature 253 à partir de l'abrégé d'adressage calculé 149 qu'il reçoit. La signature générée 253 est ensuite mise à disposition du vérificateur 250 de signature en même temps que la signature reçue 147. Le vérificateur 250 compare ensuite les deux signatures pour spécifier sa valeur de contrôle d'intégrité 151. La valeur de contrôle d'intégrité 151 indique que le contenu numérique reçu n'a pas été falsifié lorsque les deux signatures 147 et 253 correspondent. Lorsque ces deux signatures ne correspondent pas, la valeur de contrôle d'intégrité indique que le contenu a été falsifié (c'est-à-dire, la signature reçue 147 ne correspond pas au contenu numérique reçu). Pour illustrer de manière conceptuelle le fait que différentes portions du contenu numérique peuvent être soumises à un adressage calculé dans différents modes de réalisation ou pour différents éléments de contenu, la figure 2 illustre une configuration binaire 225 dans le contenu 105 différente de la configuration illustrée sur la figure 1. Les sections noircies sur la figure 2 ont différentes longueurs afin d'illustrer de manière conceptuelle que les sections de tailles différentes peuvent être soumises à un adressage calculé dans certains modes de réalisation de l'invention.
III. SYSTEME DRM METTANT EN APPLICATION LE SYSTEME DE VERIFICATION D'INTEGRITE DE CERTAINS MODES DE REALISATION Le système de vérification d'intégrité de certains modes de réalisation est mis en application dans un système DRM qui distribue un contenu d'une manière qui permet de garantir l'utilisation légale du contenu.
Comme cela est représenté sur la figure 3, le système DRM 300 comporte un ensemble de serveurs DRM 310 qui distribuent un contenu à un ensemble de N ordinateurs d'utilisateur 315. L'ensemble de serveurs 310 se connectent aux ordinateurs d'utilisateur 315 par l'intermédiaire d'un réseau informatique 320, tel qu'un réseau local d'entreprise, un réseau étendu, un réseau des réseaux (par exemple, l'Internet), etc. Chaque ordinateur d'utilisateur 315 se connecte à un ensemble d'un ou plusieurs dispositif(s) multimédia portatifs 330. Par l'intermédiaire de la connexion réseau, les ordinateurs d'utilisateur 315 communiquent avec l'ensemble de serveurs DRM 310 pour acheter, se procurer une licence, mettre à jour, ou sinon obtenir un contenu dans certains modes de réalisation. Par conséquent, bien que dans certains modes de réalisation l'ensemble de serveurs DRM 310 vendent un contenu aux ordinateurs d'utilisateur, ou leur accorde une licence, cet ensemble dans d'autres modes de réalisation ne vend pas le contenu ou n'accorde pas de licence pour celui- ci. Par exemple, dans certains modes de réalisation, l'ensemble de serveurs DRM 310 renforce simplement la distribution de contenu aux ordinateurs autorisés sans qu'il n'y ait aucun objectif financier.
Dans certains modes de réalisation, l'ensemble de serveurs DRM 310 comporte un serveur de mise en cache de contenu qui met à disposition d'unordinateur d'utilisateur 310 un contenu chiffré, par l'intermédiaire du réseau 320, après qu'un autre serveur DRM 310 a déterminé que l'ordinateur 310 pouvait obtenir le contenu. Dans certains modes de réalisation, le système 300 utilise de multiples serveurs de mise en cache pour mettre en cache un contenu au niveau de divers emplacements sur le réseau, afin d'améliorer la vitesse et l'efficacité du téléchargement de contenu par l'intermédiaire du réseau. Comme cela a été mentionné ci-dessus, un ordinateur d'utilisateur 315 communique avec l'ensemble de serveurs DRM 310 pour acheter, se procurer une licence, mettre à jour, ou sinon obtenir un contenu par l'intermédiaire du réseau 320. Dans certains modes de réalisation, l'ensemble de serveurs DRM 310 met à disposition une signature pour un élément de contenu qu'il distribue à un ordinateur d'utilisateur 315, là où sa signature est générée par adressage calculé d'une portion de contenu uniquement, selon certains modes de réalisation de l'invention. Précisément, la figure 3 illustre un ordinateur d'utilisateur 315a qui envoie une demande pour un élément de contenu "A" à l'ensemble de serveurs DRM 310. Cette demande peut être une demande d'achat, de licence, ou sinon d'obtention du contenu. En variante, lorsque le contenu est une application ou un système d'exploitation exécuté sur un ordinateur d'utilisateur ou l'un de ses dispositifs multimédia associé 330. La demande pourrait être une demande de mise à jour de l'application du système d'exploitation. Cette demande pourrait être une demande explicite ou une demande implicite dans un processus de contrôle de mise à jour mis en oeuvre sur l'ordinateur d'utilisateur 315, qui, avec ou sans l'intervention de l'utilisateur, contrôle l'existence de mises à jour pour l'application ou le système d'exploitation.
Comme cela est représenté sur la figure 3, l'ensemble de serveurs DRM 310 reçoit la demande de l'ordinateur d'utilisateur 315a pour un contenu A. Un ou plusieurs des ordinateurs DRM met ensuite en oeuvre le processus 400 illustré sur la figure 4 pour générer une signature pour le contenu A demandé. Comme cela est représenté sur la figure 4, le processus 400 génère initialement (au niveau du numéro 405) un abrégé en appliquant une fonction d'adressage calculé uniquement à une portion du contenu A demandé. L'application d'une fonction d'adressage calculé uniquement à une portion d'un élément de contenu a été décrite dans les sections I et II ci-dessus. Comme cela a été mentionné ci-dessus et en outre décrit ci-dessous, le processus 400 applique la fonction d'adressage calculé à la même portion de contenu A que la fonction d'adressage calculé de l'ordinateur d'utilisateur 315a et son dispositif multimédia associé 330a. Après application de la fonction d'adressage calculé au niveau du numéro 405, le processus 410 génère (au niveau du numéro 410) une signature sur la base de l'abrégé d'adressage calculé produit au niveau du numéro 405. La génération d'une signature sur la base de l'abrégé d'adressage calculé a été décrite ci- dessus dans les sections I et II. Après génération de la signature au niveau du numéro 410, le processus met à disposition de l'ordinateur d'utilisateur 315a le contenu A demandé et sa signature associée, puis se termine. Dans certains modes de réalisation, l'ordinateur d'utilisateur 315a utilise la signature fournie pour vérifier l'intégrité du contenu A reçu. Pour ce faire, l'ordinateur d'utilisateur 315a génèrerait un abrégé d'adressage calculé pour le contenu A en appliquant la fonction d'adressage calculé à la même portion du contenu A que la fonction d'adressage calculé de l'ensemble de serveurs DRM 310. Il utilise ensuite cet abrégé d'adressage calculé pour vérifier l'intégrité de la signature en utilisant une approche de vérification de signature asymétrique (telle que celle illustrée sur la figure 1) ou une approche de vérification de signature symétrique (telle que celle illustrée sur la figure 2). Dans certains modes de réalisation, le dispositif multimédia 330a de l'ordinateur d'utilisateur 315a reçoit également le contenu A et la signature A pour ce contenu lorsqu'il se synchronise avec l'ordinateur 315a. Par conséquent, lorsque le contenu A est un contenu qui est destiné au dispositif multimédia 330a, l'ordinateur d'utilisateur 315a dans certains modes de réalisation enregistre (par exemple dans un stockage de données) la nécessité de télécharger le contenu A et sa signature vers le dispositif 330a lorsque le dispositif 330a se synchronise ensuite avec l'ordinateur 315a. Comme l'ordinateur d'utilisateur 315a, le dispositif multimédia 330a génère un abrégé d'adressage calculé pour le contenu A en appliquant la fonction d'adressage calculé à la même portion du contenu A que la fonction d'adressage calculé de l'ensemble de serveurs DRM 310. Il utilise ensuite cet abrégé d'adressage calculé pour vérifier l'intégrité du contenu en utilisant une approche de vérification de signature asymétrique (telle que celle illustrée sur la figure 1) ou une approche de vérification de signature symétrique (telle que celle illustrée sur la figure 2).
La figure 5 illustre un exemple plus détaillé du processus de vérification d'intégrité 500 que le dispositif multimédia 330a met en oeuvre dans certains modes de réalisation. Ce processus est mis en oeuvre au cours d'une opération de synchronisation qui charge un contenu exécutable (c'est-à-dire, un code pour des mises à jour de système d'exploitation, pour des mises à jour d'applications existantes, pour des nouvelles applications, etc.) sur le dispositif multimédia 330a. Comme cela est représenté sur cette figure, le processus 500 reçoit initialement (au niveau du numéro 505) un contenu exécutable et une signature pour ce contenu au cours d'une opération de synchronisation qui garantit que qu'il devrait d'utilisateur. Après la (au niveau du dans certainsle dispositif possède tout le contenu posséder comme l'indique l'ordinateur
synchronisation, le processus redémarre numéro 510) le dispositif du fait que, modes de réalisation, le processus de vérification d'intégrité fait partie de la séquence d'amorçage du démarrage. Précisément, dans certains modes de réalisation, la séquence d'amorçage du démarrage met en oeuvre un processus de vérification d'intégrité pour chaque élément de code nouvellement reçu, bien que dans l'exemple illustré sur la figure 5, on suppose qu'un seul élément de contenu est chargé dans le dispositif au niveau du numéro 505. Dans certains modes de réalisation, la séquence d'amorçage (y compris le processus de vérification d'intégrité) est stockée dans une mémoire morte non volatile du dispositif 315a. Ceci garantit que le processus de vérification d'intégrité ne pourra pas être falsifié après la vente du dispositif. Par conséquent, au cours de la séquence d'amorçage du démarrage, le processus 500 génère (au niveau du numéro 515) un abrégé d'adressage calculé pour le contenu reçu en appliquant la fonction d'adressage calculé à la même portion du contenu que la fonction d'adressage calculé de l'ensemble de serveurs DRM 310. Il utilise ensuite (au niveau du numéro 520) cet abrégé d'adressage calculé pour vérifier l'intégrité de la signature. Par exemple, le processus 500 peut utiliser une approche de vérification de signature asymétrique (telle que celle illustrée sur la figure 1) ou une approche de vérification de signature symétrique (telle que celle illustrée sur la figure 2). Lorsque le processus ne peut pas vérifier (au niveau du numéro 520), l'intégrité du code nouvellement reçu (c'est-à-dire, lorsque la signature nouvellement reçue ne correspond pas à l'abrégé généré par le dispositif pour le contenu nouvellement reçu), le processus se termine sans spécifier que le contenu peut être chargé dans la mémoire exécutable. En variante, lorsque le processus vérifie (au niveau du numéro 520) l'intégrité du code nouvellement reçu, le processus spécifie (au niveau du numéro 525) que le code est exécutable. Dans certains modes de réalisation, le processus charge (au niveau du numéro 525) le code dans une mémoire exécutable et exécute le code. Le système DRM 300 de la figure 3 comporte plus d'un ordinateur d'utilisateur qui reçoit un contenu numérique des signatures pour ce contenu selon les procédures de vérification d'intégrité de certains modes de réalisation de l'invention. Précisément, la figure 3 illustre un ordinateur d'utilisateur 315n qui demande un élément de contenu (c'est-à-dire, d'un contenu B) à partir de l'ensemble de serveurs DRM 310. Comme cela est représenté sur cette figure, l'ordinateur d'utilisateur 315n reçoit de l'ensemble des serveurs DRM 310 le contenu B demandé et une signature pour ce contenu. Selon l'invention, la signature pour le contenu B est produite par adressage calculé d'une portion de contenu B uniquement. L'ordinateur d'utilisateur 315n et son ensemble associé de dispositifs portatifs 330 vérifient ensuite l'intégrité du contenu B en soumettant à un adressage calculé la même portion du contenu B que l'ensemble de serveurs DRM, en grande partie de la même manière que ce qui a été décrit ci-dessus pour l'ordinateur d'utilisateur 315a et ses dispositifs associés 330a.
IV. SCHEMA DU SYSTEME La figure 6 présente un schéma du système informatique qui illustre de manière conceptuelle les composants d'un serveur DRM, ordinateur d'utilisateur, ou dispositif portatif habituel qui met en oeuvre certains modes de réalisation de l'invention. Un système informatique 600 comporte un bus 605, un processeur 610, une mémoire 615 système, une mémoire morte 620, un dispositif de stockage permanent 625, des dispositifs d'entrée 630, et des dispositifs de sortie 3035. Le bus 605 représente collectivement tous les bus système, périphérique, et de jeu de circuits qui supportent une communication entre les dispositifs internes du système informatique 600. Par exemple, le bus 605 connecte en communication le processeur 610 avec la mémoire morte 620, la mémoire 615 système, et le dispositif de stockage permanent 625. A partir de ces diverses unités de mémoire, le 35 processeur 610 récupère des instructions à exécuter et des données à traiter afin d'exécuter les processus de l'invention. La mémoire morte (ROM) 620 stocke des données et instructions permanentes qui sont nécessaires au processeur 610 et à d'autres modules du système informatique. Dans le cas d'un dispositif portatif qui met en ouvre l'invention, la mémoire morte stocke la séquence d'amorçage et le processus d'adressage calculé de certains modes de réalisation, comme cela a été mentionné ci-dessus.
Le dispositif de stockage permanent 625, d'autre part, est un dispositif de mémoire en lecture-écriture. Ce dispositif est une unité de mémoire non volatile qui stocke des instructions et des données même lorsque le système informatique 600 est hors tension. Certains modes de réalisation de l'invention utilisent un dispositif de stockage de masse (tel qu'un disque magnétique ou optique et son lecteur de disque correspondant) en tant que dispositif de stockage permanent 625. D'autres modes de réalisation utilisent un dispositif de stockage amovible (tel qu'une carte mémoire ou une carte Memory Stick) en tant que dispositif de stockage permanent. Comme le dispositif de stockage permanent 625, la mémoire 615 système est un dispositif de mémoire en lecture-écriture. Cependant, à la différence du dispositif de stockage 625, la mémoire système est une mémoire en lecture-écriture volatile, telle qu'une mémoire vive. La mémoire système stocke certaines des instructions et données dont le processeur a besoin au moment de l'exécution. Dans certains modes de réalisation, les processus de l'invention sont stockés dans la mémoire 615 système, le dispositif de stockage permanent 625 et/ou la mémoire morte 620. Le bus 605 établit également une connexion avec 35 les dispositifs d'entrée et de sortie 630 et 635. Les dispositifs d'entrée permettent à l'utilisateur de communiquer des informations et de sélectionner des ordres pour le système informatique. Les dispositifs d'entrée 630 comportent des claviers alphanumériques et des commandes de curseur. Les dispositifs de sortie 635 affichent des images générées par le système informatique. Les dispositifs de sortie comportent des imprimantes et des dispositifs d'affichage, tels que des tubes cathodiques (CRT) ou des affichages à cristaux liquides (LCD). Enfin, tel que représenté sur la figure 6, certaines configurations de l'ordinateur 600 comportent également un adaptateur de réseau 640 qui se connecte au bus 605. Par l'intermédiaire de l'adaptateur de réseau 640, l'ordinateur peut faire partie d'un réseau d'ordinateur (tel qu'un réseau local d'entreprise ("LAN"), un réseau étendu ("WAN"), ou un réseau Intranet) ou un réseau de réseaux (tel que l'Internet). On peut utiliser conjointement avec l'invention un quelconque ou l'ensemble des composants du système informatique 600. Cependant, un homme du métier constatera que toute autre configuration du système peut également être utilisée conjointement avec l'invention.
V. AVANTAGES Un homme du métier comprendra que les processus de vérification d'intégrité décrits ci-dessus présentent plusieurs avantages. Par exemple, lors du chargement d'un nouveau code exécutable sur un dispositif, il est important de vérifier l'intégrité du code du fait que ce code fournit un moment propice à l'attaque du dispositif. Des processus d'intégrité décrits ci-dessus sont une façon aisée de contrôler l'intégrité du code même sur des dispositifs portatifs présentant des ressources de calcul limitées. De même, certains modes de réalisation incorporent les procédures de vérification d'intégrité au cours de la séquence d'amorçage du démarrage du dispositif afin de minimiser le risque de falsification avec la procédure d'intégrité. Pour minimiser en outre ce risque, certains modes de réalisation stockent les processus d'intégrité sur une mémoire morte du dispositif. Bien que l'on ait décrit l'invention se référant à de nombreux détails spécifiques, un homme du métier constatera que l'invention peut être réalisée sous d'autres formes spécifiques sans s'éloigner de l'esprit de l'invention. Par exemple, comme cela a été mentionné ci-dessus, certains modes de réalisation pourraient utiliser une fonction d'adressage calculé à clé. Si une clé est utilisée, on peut utiliser aussi bien des clés symétriques (clé secrète unique) que des clés asymétriques (paires de clé publiques/privées). Un exemple de fonction d'adressage calculé à clé est une technique MD5 à clé. En gros, un expéditeur joint une clé générée de manière aléatoire à la fin d'un message, puis soumet à un adressage calculé le message et la clé combinés au moyen d'un adressage calculé MD5 pour créer un abrégé de message. Ensuite, la clé est supprimée du message et chiffrée avec la clé privée de l'expéditeur. Le message, l'abrégé de message et la clé chiffrée sont envoyés au destinataire qui ouvre la clé au moyen de la clé publique de l'expéditeur (ce qui prouve ainsi que le message provient réellement de l'expéditeur). Le destinataire joint ensuite la clé au message et exécute le même adressage calculé que l'expéditeur. L'abrégé de message devrait correspondre à l'abrégé de message envoyé avec le message.
De même, plusieurs modes de réalisation décrits ci-dessus sélectionnent des configurations binaires dans le format code objet d'un contenu. D'autres modes de réalisation pourraient sélectionner d'autres configurations de section lorsque le contenu est dans un autre format (par exemple, dans un formant code source ou XML). Ainsi, un homme du métier comprendrait que l'invention n'est pas limitée aux détails illustrés susdits, mais doit plutôt être définie selon les revendications

Claims (95)

REVENDICATIONS
1. Procédé comprenant les étapes consistant à : a. pour un contenu particulier, générer une 5 signature numérique à partir d'une portion du contenu particulier uniquement ; et b. fournir la signature numérique.
2. Procédé selon la revendication 1, dans lequel 10 l'étape consistant à générer la signature numérique comprend les étapes consistant à : utiliser une fonction d'adressage calculé uniquement sur la portion du contenu particulier pour générer un adressage calculé ; 15 générer la signature numérique à partir de l'adressage calculé.
3. Procédé selon la revendication 2, comprenant en outre l'étape consistant à sélectionner la portion 20 particulière du contenu particulier.
4. Procédé selon la revendication 3, dans lequel l'étape consistant à sélectionner la portion particulière comprend l'étape consistant à sélectionner 25 une portion pour maximiser une détection de falsification du contenu particulier.
5. Procédé selon la revendication 3, dans lequel l'étape consistant à sélectionner l'étape particulière 30 comprend l'étape consistant à sélectionner une portion pour minimiser les conflits d'adressages calculés.
6. Procédé selon la revendication 3, dans lequel l'étape consistant à sélectionner la portionparticulière comprend l'étape consistant à sélectionner une portion pour minimiser les ressources de calcul.
7. Procédé selon la revendication 1, comprenant en outre l'étape consistant à sélectionner la portion particulière du contenu particulier sur la base d'une configuration ordonnée de bits dans le contenu particulier.
8. Procédé selon la revendication 1, comprenant en outre l'étape consistant à sélectionner la portion particulière du contenu particulier sur la base d'une opération pseudo-aléatoire.
9. Procédé selon la revendication 1, dans lequel le contenu particulier comprend des informations vidéo.
10. Procédé selon la revendication 1, dans lequel le contenu particulier comprend des informations audio.
11. Procédé selon la revendication 1, dans lequel le contenu particulier comprend une mise à jour pour un micrologiciel d'un dispositif particulier. 25
12. Procédé selon la revendication 1, dans lequel le contenu particulier est une application destinée à exploiter un dispositif particulier.
13. Procédé selon la revendication 1, dans lequel 30 le dispositif est un lecteur portatif.
14. Procédé selon la revendication 1, dans lequel le contenu particulier comprend un code objet.20
15. Procédé selon la revendication 14, dans lequel le code objet comprend un ensemble d'opcodes et un ensemble associé d'opérandes, dans lequel la portion particulière comprend uniquement des opcodes.
16. Procédé selon la revendication 14, dans lequel le code objet comprend un ensemble d'opcodes et un ensemble associé d'opérandes, dans lequel la portion particulière comprend des opcodes et des opérandes.
17. Procédé selon la revendication 1, comprenant en outre l'étape consistant à fournir le contenu particulier. 15
18. Support lisible par un ordinateur stockant un groupe informatique qui est exécutable par au moins un processeur, le programme informatique comprenant des ensembles d'instructions pour : a. générer, pour un contenu particulier, 20 une signature numérique à partir d'une portion du contenu particulier uniquement ; et b. fournir le signal numérique.
19. Support lisible par un ordinateur selon la 25 revendication 18, dans lequel l'ensemble d'instructions destinées à générer la signature numérique comprend des ensembles d'instructions destinées à : utiliser une fonction d'adressage calculé uniquement sur la portion du contenu particulier pour 30 générer un adressage calculé ; générer la signature numérique à partir de l'adressage calculé.
20. Support lisible par un ordinateur selon la 35 revendication 18, dans lequel le programme informatique 10comprend en outre un ensemble d'instructions destinées à sélectionner la portion particulière du contenu particulier sur la base d'une configuration ordonnée de bits dans le contenu particulier.
21. Support lisible par un ordinateur selon la revendication 18, dans lequel le programme informatique comprend en outre un ensemble d'instructions destinées à sélectionner la portion particulière du contenu particulier sur la base d'une opération pseudoaléatoire.
22. Support lisible par un ordinateur selon la revendication 18, dans lequel le contenu particulier 15 comprend un code objet.
23. Support lisible par un ordinateur selon la revendication 22, dans lequel le code objet comprend un ensemble d'opcodes et un ensemble associé d'opérandes, 20 dans lequel la portion particulière comprend uniquement des opcodes.
24. Support lisible par un ordinateur selon la revendication 22, dans lequel le code objet comprend un 25 ensemble d'opcodes et un ensemble associé d'opérandes, dans lequel la portion particulière comprend des opcodes et des opérandes.
25. Support lisible par un ordinateur selon la 30 revendication 18, dans lequel le programme informatique comprend en outre un ensemble d'instructions destinées à fournir le contenu particulier.
26. Procédé comprenant les étapes consistant à : 35 a. recevoir un contenu particulier ; etb. vérifier l'authenticité du contenu particulier au moyen d'une signature numérique qui est dérivée uniquement d'une portion du contenu particulier.
27. Procédé selon la revendication 26, dans lequel la signature numérique est dérivée d'un adressage calculé qui est généré au moyen d'une fonction d'adressage calculé uniquement sur la portion du contenu particulier.
28. Procédé selon la revendication 26, dans lequel l'étape consistant à vérifier l'authenticité du contenu particulier comprend l'étape consistant à utiliser un processus d'intégrité asymétrique.
29. Procédé selon la revendication 28, dans lequel l'étape consistant à utiliser le processus d'intégrité asymétrique comprend les étapes consistant 20 à . a. calculer un adressage calculé particulier pour la portion du contenu particulier reçu uniquement ; et b. déterminer si l'adressage calculé 25 particulier est ou non approprié à la signature numérique reçue.
30. Procédé selon la revendication 29, comprenant en outre l'étape consistant à générer une valeur de 30 contrôle d'intégrité pour indiquer si l'adressage calculé est ou non approprié à la signature numérique reçue.
31. Procédé selon la revendication 29, dans 35 lequel le contenu particulier est vérifié et considérécomme authentique lorsqu'il est déterminé que l'adressage calculé particulier est approprié à la signature numérique reçue.
32. Procédé selon la revendication 26, dans lequel l'étape consistant à vérifier l'authenticité du contenu particulier comprend l'étape consistant à utiliser un processus d'intégrité symétrique.
33. Procédé selon la revendication 32, dans lequel l'étape consistant à utiliser le processus d'intégrité symétrique comprend les étapes consistant à: a. générer un adressage calculé particulier pour la portion du contenu particulier reçu uniquement ; b. générer une autre signature numérique sur la base de l'adressage calculé particulier ; et c. déterminer si la signature numérique reçue correspond ou non à l'autre signature numérique.
34. Procédé selon la revendication 33, dans lequel le contenu particulier est vérifié et considéré comme authentique lorsqu'il est déterminé que les deux 25 signatures numériques correspondent.
35. Procédé selon la revendication 26, comprenant en outre l'étape consistant à sélectionner la portion particulière du contenu particulier sur la base d'une 30 configuration ordonnée de bits dans le contenu particulier.
36. Procédé selon la revendication 26, comprenant en outre l'étape consistant à sélectionner la portionparticulière du contenu particulier sur la base d'une opération pseudo-aléatoire.
37. Procédé selon la revendication 26, dans 5 lequel le contenu particulier comprend des informations vidéo.
38. Procédé selon la revendication 26, dans lequel le contenu particulier comprend des informations 10 audio.
39. Procédé selon la revendication 26, dans lequel le contenu particulier comprend une mise à jour pour un micrologiciel d'un dispositif particulier.
40. Procédé selon la revendication 26, dans lequel le contenu particulier est une application destinée à exploiter un dispositif particulier. 20
41. Procédé selon la revendication 26, dans lequel le dispositif est un lecteur portatif.
42. Procédé selon la revendication 26, dans lequel le contenu particulier comprend un code objet, 25 dans lequel le code objet comprend un ensemble d'opcodes et un ensemble associé d'opérandes, dans lequel la portion particulière comprend uniquement des opcodes. 30
43. Procédé selon la revendication 26, dans lequel le contenu particulier comprend un code objet, dans lequel le code objet comprend un ensemble d'opcodes et un ensemble associé d'opérandes, dans lequel la portion particulière comprend des opcodes et 35 des opérandes. 15
44. Procédé selon la revendication 26, comprenant en outre l'étape consistant à mettre en oeuvre une opération de synchronisation avec un dispositif pour recevoir le contenu particulier et signature numérique.
45. Procédé selon la revendication 44, dans lequel le dispositif est un premier dispositif, dans lequel les étapes consistant à recevoir, vérifier, et 10 mettre en oeuvre, sont mises en oeuvre par un second dispositif.
46. Procédé selon la revendication 45, dans lequel l'étape consistant à vérifier est mise en oeuvre 15 au cours d'une séquence d'amorçage du second dispositif.
47. Procédé selon la revendication 26, dans lequel l'étape consistant à vérifier est mise en oeuvre 20 au moins partiellement par un ensemble d'instructions qui est stocké dans une mémoire morte d'un dispositif.
48. Support lisible par un ordinateur comprenant un programme informatique, qui est exécutable par au 25 moins un processeur, le programme informatique comprenant des ensembles d'instructions destinées à a. recevoir un contenu particulier ; et b. vérifier l'authenticité du contenu particulier au moyen d'une signature numérique dérivée 30 uniquement d'une portion du contenu particulier.
49. Support lisible par un ordinateur selon la revendication 48, dans lequel la signature numérique est dérivée d'un adressage calculé qui est généré aumoyen d'une fonction d'adressage calculé sur la portion du contenu particulier uniquement.
50. Support lisible par un ordinateur selon la revendication 48, dans lequel l'ensemble d'instructions destinées à vérifier l'authenticité du contenu particulier comprend un ensemble d'instructions destiné à utiliser un processus d'intégrité asymétrique.
51. Support lisible par un ordinateur selon la revendication 50, dans lequel l'ensemble d'instructions destiné à utiliser le processus d'intégrité asymétrique comprend des ensembles d'instructions destinées à : a. calculer un adressage calculé particulier pour la portion du contenu particulier reçu uniquement ; et b. déterminer si l'adressage calculé particulier est ou non approprié à la signature numérique reçue.
52. Support lisible par un ordinateur selon la revendication 51, dans lequel le contenu particulier est vérifié et considéré comme authentique lorsqu'il est déterminé que l'adressage calculé particulier est approprié à la signature numérique reçue.
53. Support lisible par un ordinateur selon la revendication 48, dans lequel l'ensemble d'instructions destiné à vérifier l'authenticité du contenu particulier comprend un ensemble d'instructions destiné à utiliser un processus d'intégrité symétrique.
54. Support lisible par un ordinateur selon la revendication 53, dans lequel un ensemble d'instructions destiné à utiliser le processusd'intégrité symétrique comprend des ensembles d'instructions destinées à : a. générer un adressage calculé particulier pour la portion du contenu particulier reçu uniquement ; b. générer une autre signature numérique sur la base de l'adressage calculé particulier ; et c. déterminer si la signature numérique reçue correspond ou non à l'autre signature numérique.
55. Support lisible par un ordinateur selon la revendication 54, dans lequel le contenu particulier est vérifié et considéré comme authentique lorsqu'il est déterminé que les deux signatures numériques correspondent.
56. Support lisible par un ordinateur selon la revendication 48, dans lequel le contenu particulier comprend un code objet, dans lequel le code objet comprend un ensemble d'opcodes et un ensemble associé d'opérandes, dans lequel la portion particulière comprend uniquement des opcodes.
57. Support lisible par un ordinateur selon la revendication 48, dans lequel le contenu particulier comprend un code objet, dans lequel le code objet comprend un ensemble d'opcodes et un ensemble associé d'opérandes, dans lequel la portion particulière comprend des opcodes et des opérandes.
58. Support lisible par un ordinateur selon la revendication 48, comprenant en outre un ensemble d'instructions destiné à mettre en oeuvre une opération de synchronisation avec un dispositif pour recevoir le contenu particulier et la signature numérique, dans 37 2911419 lequel le dispositif est un premier dispositif, dans lequel l'ensemble d'instructions destiné à recevoir, vérifier, et mettre en oeuvre sont mis en oeuvre par un second dispositif.
59. Support lisible par un ordinateur selon la revendication 58, dans lequel l'ensemble d'instructions destiné à vérifier est mis en oeuvre au cours d'une séquence d'amorçage du second dispositif. 10
60. Support lisible par un ordinateur selon la revendication 48, dans lequel l'ensemble d'instructions destinées à vérifier est mis en oeuvre au moins partiellement par un ensemble d'instructions qui est 15 stocké dans une mémoire morte d'un dispositif.
61. Dispositif destiné à accéder à un contenu, le dispositif comprenant : a. un dispositif de stockage destiné à 20 stocker le contenu particulier ; et b. un composant électronique destiné à utiliser une signature numérique pour authentifier le contenu, la signature numérique étant dérivée uniquement d'une portion du contenu particulier. 25
62. Dispositif selon la revendication 61, dans lequel le composant électronique est en outre destiné à générer la signature numérique uniquement à partir de la portion du contenu particulier.
63. Dispositif selon la revendication 62, dans lequel le composant électronique génère la signature numérique en générant tout d'abord un adressage calculé uniquement à partir de la portion du contenu 5 30 38 2911419 particulier puis en générant la signature numérique à partir de l'adressage calculé généré.
64. Dispositif selon la revendication 62, dans 5 lequel le composant électronique utilise la signature numérique en comparant la signature numérique générée avec une signature numérique que le dispositif reçoit.
65. Dispositif selon la revendication 61, dans 10 lequel la signature numérique est une signature que le dispositif reçoit.
66. Dispositif selon la revendication 61, dans lequel le dispositif est un ordinateur.
67. Dispositif selon la revendication 61, dans lequel le dispositif est un lecteur portatif.
68. Dispositif selon la revendication 61, 20 comprenant en outre une mémoire en lecture destinée à stocker un ensemble d'instructions destinées à utiliser la signature numérique pour authentifier le contenu.
69. Dispositif selon la revendication 68, dans 25 lequel l'ensemble d'instructions comprend des instructions destinées à générer la signature numérique uniquement à partir de la portion de contenu particulier. 30
70. Système destiné à distribuer un contenu, le système comprenant : a. un ensemble d'ordinateurs destinés à fournir un contenu particulier ; et b. un dispositif destiné à utiliser un 35 signal numérique pour authentifier le contenu 15particulier, dans lequel la signature numérique est dérivée uniquement d'une portion du contenu particulier.
71. Système selon la revendication 70, dans lequel l'ensemble d'ordinateurs est en outre destiné à: a. utiliser une fonction d'adressage calculé uniquement sur la portion du contenu 10 particulier pour générer un adressage calculé ; et b. générer la signature numérique à partir de l'adressage calculé.
72. Système selon la revendication 71, dans 15 lequel l'ensemble d'ordinateur génère l'adressage calculé par sélection de la portion particulière du contenu particulier qui maximise la détection d'une falsification du contenu particulier. 20
73. Système selon la revendication 71, dans lequel l'ensemble d'ordinateurs génère l'adressage calculé par sélection de la portion particulière du contenu particulier qui minimise des conflits d'adressages calculés. 25
74. Système selon la revendication 71, dans lequel l'ensemble d'ordinateurs génère l'adressage calculé par sélection de la portion particulière du contenu particulier qui minimise les ressources de 30 calcul.
75. Système selon la revendication 70, dans lequel le dispositif comprend une mémoire morte destinée à stocker un ensemble d'instructions pour 35 authentifier le contenu particulier.
76. Système selon la revendication 70, dans lequel un ensemble d'ordinateurs comprend un ordinateur.
77. Système selon la revendication 70, dans lequel l'ensemble d'ordinateurs comprend plus d'un ordinateur.
78. Système selon la revendication 70, dans lequel le dispositif utilise la signature numérique pour authentifier le contenu particulier au moyen d'un processus d'intégrité asymétrique.
79. Système selon la revendication 70, dans lequel le dispositif utilise la signature numérique pour authentifier le contenu particulier au moyen d'un processus d'intégrité symétrique.
80. Système selon la revendication 70, dans 20 lequel la signature numérique est une signature fournie par l'ensemble d'ordinateurs.
81. Système selon la revendication 80, dans lequel le dispositif utilise la signature numérique en 25 déterminant si un adressage calculé, calculé par le dispositif, est approprié à la signature numérique fournie.
82. Système selon la revendication 70, dans 30 lequel la signature numérique est générée par le dispositif.
83. Système selon la revendication 82, dans lequel le dispositif utilise la signature numérique en 35 comparant la signature numérique générée par ledispositif à une autre signature numérique fournie par l'ensemble d'ordinateurs.
84. Procédé comprenant les étapes consistant à : a. générer une signature pour le contenu numérique par application d'une fonction d'adressage calculée à une portion particulière du contenu numérique, ladite portion particulière ne comportant pas tout le contenu numérique ; b. fournir la signature et le contenu numérique à un dispositif ; et c. au niveau du dispositif, appliquer la fonction d'adressage calculé à la portion particulière du contenu numérique pour vérifier la signature fournie 15 avec le contenu numérique, et de ce fait vérifier l'intégrité du contenu numérique fourni.
85. Procédé selon la revendication 84, comprenant en outre les étapes consistant à : 20 a. au niveau d'une source du contenu numérique, sélectionner une pluralité de différentes sections du contenu numérique en tant que portion particulière du contenu numérique ; et b. au niveau du dispositif, sélectionner la 25 même pluralité de différentes sections du contenu numérique en tant que portion particulière du contenu numérique.
86. Procédé selon la revendication 85, dans 30 lequel la source est un auteur du contenu numérique.
87. Procédé selon la revendication 85, dans lequel la source est un distributeur du contenu numérique dans un système de gestion de droits 35 numériques. 10
88. Procédé selon la revendication 84, comprenant en outre une étape consistant à stocker un code qui identifie la portion particulière dans une mémoire morte du dispositif.
89. Procédé selon la revendication 84, comprenant en outre l'étape consistant à stocker la fonction d'adressage calculé dans une mémoire morte du dispositif. 10
90. Procédé selon la revendication 84, dans lequel l'étape consistant à générer une signature pour le contenu numérique comprend les étapes consistant à : a. appliquer la fonction d'adressage 15 calculé à la portion particulière pour générer un adressage calculé ; et b. générer la signature à partir de l'adressage calculé. 20
91. Procédé selon la revendication 84, dans lequel l'étape consistant à appliquer, au niveau du dispositif, la fonction d'adressage calculé à la portion particulière comprend les étapes consistant à : a. appliquer la fonction d'adressage 25 calculé à la portion particulière pour générer un adressage calculé ; et b. utiliser l'adressage calculé généré pour vérifier l'intégrité de la signature fournie. 30
92. Procédé selon la revendication 91, comprenant en outre, au niveau du dispositif, l'étape consistant à fournir l'adressage calculé généré et la signature à un processus de vérification de signature qui détermine l'authenticité de la signature sur la base de 35 l'adressage calculé fourni.5
93. Procédé selon la revendication 91, dans lequel la signature fournie au dispositif est une première signature, dans lequel l'étape consistant à utiliser l'adressage calculé généré comprend les étapes 5 consistant à : a. au niveau du dispositif, générer une seconde signature sur la base de l'adressage calculé généré ; et b. au niveau du dispositif, comparer des 10 première et seconde signatures pour déterminer l'intégrité du contenu numérique fourni.
94. Procédé selon la revendication 84, dans lequel le contenu numérique comporte un code pour une 15 exécution sur le dispositif, dans lequel l'étape consistant à appliquer la fonction d'adressage calculé au niveau du dispositif comprend l'étape consistant à appliquer la fonction d'adressage calculé avant chargement du code dans une mémoire exécutable. 20
95. Procédé selon la revendication 84, dans lequel le contenu numérique comporte un code destiné à modifier un système d'exploitation du dispositif.
FR0753849A 2006-03-15 2007-03-15 Procedures de verification d'integrite optimisees Expired - Fee Related FR2911419B1 (fr)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/377,082 US8364965B2 (en) 2006-03-15 2006-03-15 Optimized integrity verification procedures
US11377082 2006-03-15

Publications (2)

Publication Number Publication Date
FR2911419A1 true FR2911419A1 (fr) 2008-07-18
FR2911419B1 FR2911419B1 (fr) 2018-02-09

Family

ID=38226566

Family Applications (1)

Application Number Title Priority Date Filing Date
FR0753849A Expired - Fee Related FR2911419B1 (fr) 2006-03-15 2007-03-15 Procedures de verification d'integrite optimisees

Country Status (7)

Country Link
US (2) US8364965B2 (fr)
EP (4) EP2284754A1 (fr)
CN (1) CN101443774B (fr)
DE (1) DE102007012490A1 (fr)
FR (1) FR2911419B1 (fr)
SE (2) SE534208C2 (fr)
WO (1) WO2007106831A1 (fr)

Families Citing this family (43)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9678967B2 (en) 2003-05-22 2017-06-13 Callahan Cellular L.L.C. Information source agent systems and methods for distributed data storage and management using content signatures
US7103779B2 (en) 2003-09-18 2006-09-05 Apple Computer, Inc. Method and apparatus for incremental code signing
US8364965B2 (en) 2006-03-15 2013-01-29 Apple Inc. Optimized integrity verification procedures
JP4479703B2 (ja) * 2006-08-29 2010-06-09 ブラザー工業株式会社 通信システムと管理装置
JP4305481B2 (ja) * 2006-08-29 2009-07-29 ブラザー工業株式会社 通信システムと管理装置と情報処理装置
US9443068B2 (en) 2008-02-20 2016-09-13 Micheal Bleahen System and method for preventing unauthorized access to information
US20090235083A1 (en) * 2008-02-20 2009-09-17 Micheal Bleahen System and method for preventing unauthorized access to information
GB0811210D0 (en) * 2008-06-18 2008-07-23 Isis Innovation Improvements related to the authentication of messages
KR101205716B1 (ko) * 2008-12-19 2012-11-28 한국전자통신연구원 프로그램 정보에 포함된 시그너처를 이용하여 방송 프로그램의 사용을 제어하는 방송 신호 수신 장치 및 그 방법
CN101739522B (zh) * 2009-12-31 2013-01-02 中兴通讯股份有限公司 Drm文件完整性的保护方法及装置
CN102004879B (zh) * 2010-11-22 2012-12-26 北京北信源软件股份有限公司 一种识别可信任进程的方法
US9852143B2 (en) 2010-12-17 2017-12-26 Microsoft Technology Licensing, Llc Enabling random access within objects in zip archives
US8839446B2 (en) 2011-09-12 2014-09-16 Microsoft Corporation Protecting archive structure with directory verifiers
US8972967B2 (en) 2011-09-12 2015-03-03 Microsoft Corporation Application packages using block maps
US8819361B2 (en) 2011-09-12 2014-08-26 Microsoft Corporation Retaining verifiability of extracted data from signed archives
US8621650B2 (en) * 2011-10-25 2013-12-31 Alcatel Lucent Verification of content possession by an announcing peer in a peer-to-peer content distribution system
US8930354B2 (en) * 2012-01-09 2015-01-06 James Lewin System and method for organizing content
US9369467B1 (en) * 2013-05-08 2016-06-14 Amdocs Software Systems Limited System, method, and computer program for providing generic access to web content on a mobile device
US20150302400A1 (en) * 2014-04-18 2015-10-22 Ebay Inc. Distributed crypto currency reputation system
US9367690B2 (en) * 2014-07-01 2016-06-14 Moxa Inc. Encryption and decryption methods applied on operating system
US10305894B2 (en) * 2014-10-17 2019-05-28 Averon Us, Inc. Verifying a user based on digital fingerprint signals derived from out-of-band data
FR3044124B1 (fr) * 2015-11-20 2018-09-21 Sagemcom Energy & Telecom Sas Procede de verification d'integrite d'un ensemble de donnees
US11386067B2 (en) * 2015-12-15 2022-07-12 Red Hat, Inc. Data integrity checking in a distributed filesystem using object versioning
CN106685653B (zh) * 2016-12-29 2020-07-07 同济大学 一种基于信息安全技术的车辆远程固件更新方法及装置
JP6959155B2 (ja) * 2017-05-15 2021-11-02 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカPanasonic Intellectual Property Corporation of America 検証方法、検証装置およびプログラム
US11868509B2 (en) 2017-11-17 2024-01-09 Telefonaktiebolaget Lm Ericsson (Publ) Method and arrangement for detecting digital content tampering
CN108900472B (zh) * 2018-05-31 2021-11-30 北京五八信息技术有限公司 信息的传输方法和装置
CN108920971A (zh) * 2018-07-06 2018-11-30 北京京东金融科技控股有限公司 数据加密的方法、校验的方法、加密的装置和校验的装置
US11210413B2 (en) * 2018-08-17 2021-12-28 Microchip Technology Incorporated Authentication of files
US11138085B2 (en) 2018-10-09 2021-10-05 Argo AI, LLC Execution sequence integrity monitoring system
US11144375B2 (en) 2018-10-09 2021-10-12 Argo AI, LLC Execution sequence integrity parameter monitoring system
CN113287099A (zh) * 2019-01-23 2021-08-20 株式会社斯凯拉 具有篡改检测性的系统
CN109949889B (zh) * 2019-03-29 2020-09-11 镇江市第一人民医院 一种电子护理病历系统
US11443048B2 (en) * 2019-05-06 2022-09-13 Microsoft Technology Licensing, Llc Install-time procedural content generation for encrypted packages
US11418345B2 (en) 2019-06-19 2022-08-16 Amazon Technologies, Inc. Digest proofs in a journaled database
US11487819B2 (en) 2019-06-19 2022-11-01 Amazon Technologies, Inc. Threaded leaf nodes in database journal
US11310054B2 (en) 2019-06-19 2022-04-19 Amazon Technologies, Inc. Symmetric function for journaled database proof
US11487733B2 (en) * 2019-06-19 2022-11-01 Amazon Technologies, Inc. Database journal redaction
WO2021015204A1 (fr) * 2019-07-23 2021-01-28 株式会社ソニー・インタラクティブエンタテインメント Dispositif de commande d'accès, procédé de commande d'accès et programme
WO2021030264A1 (fr) 2019-08-12 2021-02-18 Audio Visual Preservation Solutions, Inc. Système, dispositif et procédé médico-légal d'identification de source pour des fichiers multimédia
CN111866554B (zh) * 2020-07-09 2022-05-17 郑州信大捷安信息技术股份有限公司 多媒体安全播放方法和系统
US20220391791A1 (en) * 2021-03-25 2022-12-08 Certinal Software Private Limited System and method for modification of future recipients in an electronic signature workflow
US11711555B1 (en) * 2021-03-31 2023-07-25 Amazon Technologies, Inc. Protecting media content integrity across untrusted networks

Family Cites Families (86)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4868877A (en) 1988-02-12 1989-09-19 Fischer Addison M Public key/signature cryptosystem with enhanced digital signature certification
US5113444A (en) * 1990-09-05 1992-05-12 Arnold Vobach Random choice cipher system and method
US5313576A (en) * 1990-11-23 1994-05-17 Network Computing Devices, Inc. Bit aligned data block transfer method and apparatus
US5454000A (en) * 1992-07-13 1995-09-26 International Business Machines Corporation Method and system for authenticating files
US6367013B1 (en) * 1995-01-17 2002-04-02 Eoriginal Inc. System and method for electronic transmission, storage, and retrieval of authenticated electronic original documents
FR2731163B1 (fr) 1995-03-03 1997-06-20 Air Liquide Procede et installation de separation d'un melange gazeux par permeation
US5625693A (en) 1995-07-07 1997-04-29 Thomson Consumer Electronics, Inc. Apparatus and method for authenticating transmitting applications in an interactive TV system
US7770013B2 (en) * 1995-07-27 2010-08-03 Digimarc Corporation Digital authentication with digital and analog documents
US5913022A (en) * 1995-08-31 1999-06-15 Schlumberger Technologies, Inc. Loading hardware pattern memory in automatic test equipment for testing circuits
US6202203B1 (en) * 1995-12-06 2001-03-13 International Business Machines Corporation Method of, system for, and computer program product for providing global value numbering
US5673316A (en) 1996-03-29 1997-09-30 International Business Machines Corporation Creation and distribution of cryptographic envelope
US5757919A (en) 1996-12-12 1998-05-26 Intel Corporation Cryptographically protected paging subsystem
JP4187285B2 (ja) 1997-04-10 2008-11-26 富士通株式会社 認証子付与方法および認証子付与装置
US6092147A (en) 1997-04-15 2000-07-18 Sun Microsystems, Inc. Virtual machine with securely distributed bytecode verification
US7246098B1 (en) * 1997-07-15 2007-07-17 Silverbrook Research Pty Ltd Consumable authentication protocol and system
US6560706B1 (en) 1998-01-26 2003-05-06 Intel Corporation Interface for ensuring system boot image integrity and authenticity
US6263348B1 (en) 1998-07-01 2001-07-17 Serena Software International, Inc. Method and apparatus for identifying the existence of differences between two files
US7194092B1 (en) * 1998-10-26 2007-03-20 Microsoft Corporation Key-based secure storage
US6591365B1 (en) * 1999-01-21 2003-07-08 Time Warner Entertainment Co., Lp Copy protection control system
AU2998100A (en) 1999-02-18 2000-09-04 Sun Microsystems, Inc. Data authentication system employing encrypted integrity blocks
US6792535B1 (en) * 1999-04-06 2004-09-14 Kwan Software Engineering, Inc. System and method for digitally marking a file with a removable mark
JP4049498B2 (ja) 1999-11-18 2008-02-20 株式会社リコー 原本性保証電子保存方法、装置及びコンピュータ読み取り可能な記録媒体
US6959384B1 (en) * 1999-12-14 2005-10-25 Intertrust Technologies Corporation Systems and methods for authenticating and protecting the integrity of data streams and other data
US6785815B1 (en) * 1999-06-08 2004-08-31 Intertrust Technologies Corp. Methods and systems for encoding and protecting data using digital signature and watermarking techniques
JP2001034470A (ja) 1999-07-22 2001-02-09 Fujitsu Ltd 管理自動化機構を有するサーバ
US7650504B2 (en) * 1999-07-22 2010-01-19 Macrovision Corporation System and method of verifying the authenticity of dynamically connectable executable images
US7430670B1 (en) * 1999-07-29 2008-09-30 Intertrust Technologies Corp. Software self-defense systems and methods
WO2001010076A2 (fr) 1999-07-29 2001-02-08 Intertrust Technologies Corp. Systemes et procedes d'utilisation de cryptographie pour proteger des environnements de traitement securises et non securises
US6658556B1 (en) * 1999-07-30 2003-12-02 International Business Machines Corporation Hashing a target address for a memory access instruction in order to determine prior to execution which particular load/store unit processes the instruction
US6324637B1 (en) 1999-08-13 2001-11-27 Sun Microsystems, Inc. Apparatus and method for loading objects from a primary memory hash index
US7406603B1 (en) * 1999-08-31 2008-07-29 Intertrust Technologies Corp. Data protection systems and methods
US20010034839A1 (en) 1999-12-24 2001-10-25 Guenter Karjoth Method and apparatus for secure transmission of data and applications
GB0003920D0 (en) 2000-02-21 2000-04-05 Ncipher Corp Limited Computer system
US6691143B2 (en) * 2000-05-11 2004-02-10 Cyberguard Corporation Accelerated montgomery multiplication using plural multipliers
US6986046B1 (en) * 2000-05-12 2006-01-10 Groove Networks, Incorporated Method and apparatus for managing secure collaborative transactions
US7003107B2 (en) * 2000-05-23 2006-02-21 Mainstream Encryption Hybrid stream cipher
JP2004531780A (ja) * 2000-06-22 2004-10-14 マイクロソフト コーポレーション 分散型コンピューティングサービスプラットフォーム
JP4973899B2 (ja) * 2000-07-06 2012-07-11 ソニー株式会社 送信装置、送信方法、受信装置、受信方法、記録媒体、および通信システム
JP3494961B2 (ja) * 2000-07-21 2004-02-09 パナソニック コミュニケーションズ株式会社 暗号化処理装置及び暗号化処理方法
US6954747B1 (en) * 2000-11-14 2005-10-11 Microsoft Corporation Methods for comparing versions of a program
CA2414281C (fr) 2000-11-17 2009-06-02 Bitfone Corporation Systeme et procede de mise a jour et de distribution d'informations
US7478243B2 (en) 2001-03-21 2009-01-13 Microsoft Corporation On-disk file format for serverless distributed file system with signed manifest of file modifications
JP2002353960A (ja) 2001-05-30 2002-12-06 Fujitsu Ltd コード実行装置およびコード配布方法
JP2003122726A (ja) * 2001-06-07 2003-04-25 Hitachi Ltd コンテンツ制御方法及びその実施装置並びにその処理プログラム
US7546629B2 (en) * 2002-03-06 2009-06-09 Check Point Software Technologies, Inc. System and methodology for security policy arbitration
US7729495B2 (en) * 2001-08-27 2010-06-01 Dphi Acquisitions, Inc. System and method for detecting unauthorized copying of encrypted data
US7310821B2 (en) * 2001-08-27 2007-12-18 Dphi Acquisitions, Inc. Host certification method and system
US20040030909A1 (en) * 2001-09-14 2004-02-12 Yoichiro Sako Recording medium reproduction method and reproduction apparatus, and recording medium recording method and recording apparatus
US20030084298A1 (en) * 2001-10-25 2003-05-01 Messerges Thomas S. Method for efficient hashing of digital content
US7240205B2 (en) 2002-01-07 2007-07-03 Xerox Corporation Systems and methods for verifying documents
JP2003202929A (ja) 2002-01-08 2003-07-18 Ntt Docomo Inc 配信方法および配信システム
JP4039489B2 (ja) * 2002-01-12 2008-01-30 コアトラスト インコーポレーテッド マルチメディアコンテンツの情報保護方法及びシステム
WO2003077955A1 (fr) * 2002-03-14 2003-09-25 Contentguard Holdings, Inc. Systeme et procede d'expression des droits d'exploitation via des signaux modules
US7409717B1 (en) * 2002-05-23 2008-08-05 Symantec Corporation Metamorphic computer virus detection
US7529929B2 (en) * 2002-05-30 2009-05-05 Nokia Corporation System and method for dynamically enforcing digital rights management rules
US7203844B1 (en) 2002-06-20 2007-04-10 Oxford William V Method and system for a recursive security protocol for digital copyright control
DE10239062A1 (de) * 2002-08-26 2004-04-01 Siemens Ag Verfahren zum Übertragen von verschlüsselten Nutzdatenobjekten
US20040064457A1 (en) 2002-09-27 2004-04-01 Zimmer Vincent J. Mechanism for providing both a secure and attested boot
FR2845493A1 (fr) 2002-10-04 2004-04-09 Canal Plus Technologies Logiciel embarque et procede d'authentification de celui-ci
US7761316B2 (en) * 2002-10-25 2010-07-20 Science Applications International Corporation System and method for determining performance level capabilities in view of predetermined model criteria
US7165076B2 (en) 2002-11-15 2007-01-16 Check Point Software Technologies, Inc. Security system with methodology for computing unique security signature for executable file employed across different machines
JP2004260639A (ja) 2003-02-27 2004-09-16 Hitachi Ltd データ埋め込み方法及び視聴確認方法
US7406176B2 (en) * 2003-04-01 2008-07-29 Microsoft Corporation Fully scalable encryption for scalable multimedia
KR100755683B1 (ko) * 2003-05-07 2007-09-05 삼성전자주식회사 컨텐츠 제공자 인증 및 컨텐츠 무결성 보장 방법
US7219329B2 (en) * 2003-06-13 2007-05-15 Microsoft Corporation Systems and methods providing lightweight runtime code generation
CN101241735B (zh) * 2003-07-07 2012-07-18 罗威所罗生股份有限公司 重放加密的视听内容的方法
US8006307B1 (en) * 2003-07-09 2011-08-23 Imophaze Research Co., L.L.C. Method and apparatus for distributing secure digital content that can be indexed by third party search engines
US7491122B2 (en) 2003-07-09 2009-02-17 Wms Gaming Inc. Gaming machine having targeted run-time software authentication
GB2404488B (en) * 2003-07-31 2006-05-31 Sony Uk Ltd Access control for digital content
GB2404489A (en) * 2003-07-31 2005-02-02 Sony Uk Ltd Access control for digital storage medium content
US7103779B2 (en) 2003-09-18 2006-09-05 Apple Computer, Inc. Method and apparatus for incremental code signing
US20050071274A1 (en) 2003-09-27 2005-03-31 Utstarcom, Inc. Method and Apparatus in a Digital Rights Client and a Digital Rights Source and associated Digital Rights Key
US7921300B2 (en) * 2003-10-10 2011-04-05 Via Technologies, Inc. Apparatus and method for secure hash algorithm
US7346163B2 (en) * 2003-10-31 2008-03-18 Sony Corporation Dynamic composition of pre-encrypted video on demand content
US7539691B2 (en) * 2004-02-20 2009-05-26 Microsoft Corporation Systems and methods for updating a query engine opcode tree
US7664728B2 (en) * 2004-02-20 2010-02-16 Microsoft Corporation Systems and methods for parallel evaluation of multiple queries
ES2363517T3 (es) 2004-04-02 2011-08-08 Panasonic Corporation Sistema de detección de contenido no autorizado.
US7434058B2 (en) * 2004-06-07 2008-10-07 Reconnex Corporation Generating signatures over a document
JP2005354217A (ja) * 2004-06-08 2005-12-22 Sony Corp 情報出力処理装置、情報入力処理装置、情報処理システム及び情報処理方法
US7568102B2 (en) * 2004-07-15 2009-07-28 Sony Corporation System and method for authorizing the use of stored information in an operating system
US7669056B2 (en) * 2005-03-29 2010-02-23 Microsoft Corporation Method and apparatus for measuring presentation data exposure
JP4899867B2 (ja) * 2005-01-21 2012-03-21 日本電気株式会社 グループ署名方式
JP2006221629A (ja) 2005-02-07 2006-08-24 Sony Computer Entertainment Inc プロセッサのリソース管理によるコンテンツ制御方法および装置
US7594261B2 (en) * 2005-02-08 2009-09-22 Microsoft Corporation Cryptographic applications of the Cartier pairing
US20060259781A1 (en) * 2005-04-29 2006-11-16 Sony Corporation/Sony Electronics Inc. Method and apparatus for detecting the falsification of metadata
US8364965B2 (en) 2006-03-15 2013-01-29 Apple Inc. Optimized integrity verification procedures

Also Published As

Publication number Publication date
SE0700601L (sv) 2007-09-16
DE102007012490A1 (de) 2007-09-20
EP1835432A1 (fr) 2007-09-19
EP2988238B1 (fr) 2018-06-06
US8886947B2 (en) 2014-11-11
CN101443774B (zh) 2015-03-25
US20130145167A1 (en) 2013-06-06
EP2284755B1 (fr) 2015-04-22
US8364965B2 (en) 2013-01-29
US20070220261A1 (en) 2007-09-20
SE1150067A1 (sv) 2011-02-01
SE535797C2 (sv) 2012-12-27
EP2284754A1 (fr) 2011-02-16
EP2988238A1 (fr) 2016-02-24
EP2284755A1 (fr) 2011-02-16
FR2911419B1 (fr) 2018-02-09
CN101443774A (zh) 2009-05-27
SE534208C2 (sv) 2011-05-31
WO2007106831A1 (fr) 2007-09-20

Similar Documents

Publication Publication Date Title
FR2911419A1 (fr) Procedures de verification d'integrite optimisees
US8874922B2 (en) Systems and methods for multi-layered authentication/verification of trusted platform updates
US8051293B2 (en) Data processing systems and methods
EP1159801B1 (fr) Procede de verification de signature d'un message
US20040088541A1 (en) Digital-rights management system
EP2614458B1 (fr) Procede d'authentification pour l'acces a un site web
KR100702499B1 (ko) 메시지 무결성 보증 시스템, 방법 및 기록 매체
FR2767208A1 (fr) Systeme et procede de memorisation protegee de donnees secretes
US20210256113A1 (en) Blockchain Validation of Software
FR2922702A1 (fr) Securisation de fichiers informatiques telechargeables sur un aeronef basee sur l'identite d'entites, procede d'authenfication, systeme et aeronef associes
WO2019233951A1 (fr) Une application logicielle et un serveur informatique pour authentifier l'identité d'un créateur de contenu numérique et l'intégrité du contenu du créateur publié
US7257712B2 (en) Runtime digital signatures
US20220337392A1 (en) Automatic digital media authenticator
US7805601B2 (en) Computerized apparatus and method for version control and management
US20230325814A1 (en) Systems and Methods for Instant NFTs and Protection Structure, Detection of Malicious Code within Blockchain Smart Contracts, Tokens with Transfer Limitations, Mirror Tokens and Parallel Addresses, Smart Contract Risk Scoring Method, and Cross-Device Digital Rights Management
KR20030029957A (ko) 소프트웨어 보안 인증 경로
US20080148401A1 (en) System for Reducing Fraud
US8683195B2 (en) System and method for reducing fraud
US7392523B1 (en) Systems and methods for distributing objects
EP3732604A1 (fr) Contrôle d'intégrité d'un dispositif électronique
US20220393892A1 (en) Composite Cryptographic Systems with Variable Configuration Parameters and Memory Bound Functions
Karuppiah Blockchain for digital rights management
WO2008147397A1 (fr) Système et procédé pour réduire la fraude

Legal Events

Date Code Title Description
PLFP Fee payment

Year of fee payment: 10

PLFP Fee payment

Year of fee payment: 11

PLFP Fee payment

Year of fee payment: 12

PLFP Fee payment

Year of fee payment: 14

ST Notification of lapse

Effective date: 20211105