Brevet FR2872375A1 — publié le 20051230

PROCEDE DE GENERATION D'ALEA EN SITUATION DE MOBILITE La présente invention concerne le domaine des échanges entre terminaux de télécommunication mobiles, et plus particulièrement le domaine de la sécurité des échanges entre terminaux de télécommunication mobiles. L'invention concerne plus spécifiquement la génération d'aléa réel à l'aide d'un terminal de télécommunication mobile muni d'un appareil photographique. L'invention trouve notamment mais non limitativement avantageusement application dans les domaines des jeux en réseau, des enchères électroniques, du traitement du signal, et de la cryptographie. PRESENTATION GENERALE DE L'ART ANTERIEUR La génération d'aléa est un élérnent essentiel pour l'initialisation de protocoles cryptographiques. Un aléa est une suite de bits aléatoire. Un élément de hasard doit donc intervenir dans la génération d'un aléa. Un aléa va par exemple pouvoir être utilisé comme un nombre aléatoire, ou graine, nécessaire pour l'initialisation d'un protocole cryptographique. II n'est pas aisé de générer un aléa de manière automatique. En effet, un terminal tel qu'un ordinateur par exemple n'improvise pas: il ne sait que suivre son programme. II lui est donc difficile de produire, à partir d'une procédure purement mathématique implémentée sous forme d'un algorithme, des suites de bits réellement aléatoires de façon totalement imprévisible. A l'heure actuelle, il existe deux types de procédés permettant la génération d'un aléa sur un terminal: les procédés dits de génération de pseudo-aléa , et les procédés dits de génération d'aléa. Les procédés dits de génération de pseudo-aléa mettent en oeuvre des processus déterministes, c'est-à-dire réversibles. Ces processus sont entièrement exécutés par le terminal et sont sans interaction avec l'extérieur. Ces procédés consistent à générer un nombre voulu aléatoire à partir d'une variable difficile à reproduire, comme par exemple l'état de l'horloge interne du terminal. Cependant, ces procédés du fait de l'absence d'interaction avec l'extérieur, ne génèrent pas un aléa véritable mais un pseudo-aléa. Ainsi, deux terminaux qui sont dans le même état, au même moment produiront le même pseudo-aléa. Par ailleurs, les suites de pseudos-aléas peuvent se répéter au bout d'un certain temps (suites périodiques), ou encore certains pseudos-aléas peuvent être générés plus souvent que d'autres. Pour plusieurs raisons, entre particulier les précitées, les pseudosaléas ne possèdent pas les caractéristiques de véritables aléas. Pour obtenir un aléa réel, il faut faire intervenir, dans le calcul, une variable extérieure dont la valeur est imprévisible. C'est ce principe qui est mis en oeuvre dans les procédés de génération d'aléa. Les procédés de génération d'aléa prennent en compte un élément extérieur de valeur imprévisible. Un procédé de génération d'aléa consiste par exemple à relier un ordinateur à une source radioactive. En effet, il est impossible de prédire le moment où un atome émettra un rayonnement radioactif. La prise en compte de cette valeur imprévisible va donc permettre la génération d'un aléa réel. Un autre procédé de génération d'aléa consiste à relier un ordinateur à une caméra. On peut alors par exemple filmer les mouvements d'une matière visqueuse dans un liquide. Les motifs obtenus sont en effet complètement imprévisibles. En digitalisant les images obtenues, puis en les convertissant en une série de 0 et de 1 (Par exemple, 0 = liquide, 1 = matière visqueuse), on obtient une suite de bits aléatoire (aléa). Il existe encore d'autres procédés de génération d'aléa utilisant des systèmes similaires composés d'un périphérique permettant l'acquisition d'une variable imprévisible, et d'un ordinateur permettant la génération d'un aléa. Cependant, ces procédés et systèmes présentent les inconvénients suivants: les procédés de génération d'aléa nécessitent une mise en oeuvre sur des terminaux reliés à des périphériques onéreux et encombrants. les procédés de génération d'aléa ne nécessitent pas le plus souvent d'intervention de l'utilisateur, ou lorsqu'ils nécessitent une intervention de l'utilisateur deviennent lourds à mettre en oeuvre, alors que le comportement de l'utilisateur peut être une bonne source d'aléa. Un but de la présente invention est de fournir un procédé de génération d'aléa permettant de pallier la plupart des inconvénients précités. PRESENTATION DE L'INVENTION Pour cela, on propose, conformément à l'invention, un procédé de génération d'au moins un aléa sur un terminal équipé d'un module photographique, caractérisé en ce qu'il comporte les étapes consistant à : a) acquérir une image photographique, b) obtenir, à partir de l'image photographique, un fichier à compresser, c) compresser ledit fichier afin d'obtenir ledit au moins un aléa. Comme cela sera précisé par la suite, le procédé de génération d'aléa conforme à la présente invention permet la génération d'une suite de bits aléatoire de longueur fixée sur un terminal muni d'un module photographique comme un téléphone mobile ou un assistant numérique personnel (PDA), avec une intervention de l'utilisateur aussi minimale que possible. L'invention concerne également un terminal comprenant un module photographique, caractérisé en ce qu'il comprend des moyens de production d'un aléa, lesquels moyens incluent: a) des moyens pour acquérir une image photographique, b) des moyens pour obtenir, à partir de l'image photographique, un fichier à compresser, c) des moyens pour compresser le fichier à compresser afin d'obtenir ledit au moins un aléa. PRESENTATION DES FIGURES D'autres caractéristiques, buts et avantages de la présente invention ressortiront encore de la description qui suit, laquelle est purement illustrative et non limitative et doit être lue en regard des dessins annexés, sur lesquels: - la figure 1 illustre une vue de face d'un terminal de télécommunication mobile sur lequel peut être implanté le procédé selon la présente invention; la figure 2 illustre une vue de derrière d'un terminal de télécommunication mobile sur lequel peut être implanté le procédé selon la présente invention; la figure 3 illustre un exemple d'algorithme à mettre en oeuvre pour générer un aléa conformément à un premier mode de réalisation du procédé de la présente invention; - la figure 4 illustre un autre exemple d'algorithme à mettre en oeuvre pour générer un aléa conformément à un deuxième mode de réalisation du procédé de la présente invention; DESCRIPTION DE L'INVENTION Un but de la présente invention est de fournir un procédé de génération d'aléa qui soit apte à être mlis en oeuvre sur un terminal fixe ou mobile. De nos jours, il existe des terminaux mobiles munis d'un module photographique. C'est à partir de ce type de terminal mobile muni d'un module photographique que les inventeurs ont cherché à déterminer un procédé fiable de génération d'aléa. Dans cette optique, l'approche retenue par les inventeurs repose sur les hypothèses que (1) la probabilité que deux photographies prises par deux utilisateurs avec leur terminal mobile soient exactement identiques est très faible et que (2) la probabilité que deux photographies prises par un même utilisateur avec son terminal mobile soient exactement identiques est très faible. En effet, de nombreux paramètres comme l'angle de prise de vue, la localisation, et la luminosité sont très difficiles à reproduire et concourent ainsi à garantir l'aléa. II est à noter que l'intervention de l'utilisateur dans la prise de photographie est très importante puisque c'est finalement cette photographie qui va servir de valeur imprévisible pour permettre la génération de l'aléa. Comme illustré aux figures 1 et 2, le procédé permettant la génération d'aléa peut être mis en oeuvre sur un terminal de télécommunication mobile 1 de type téléphone mobile. Ce terminal mobile 1 comprend sur sa face avant des moyens de saisie 2 et des moyens de visualisation 3. Les moyens de saisie 2 comprennent différents moyens d'actionnement 4. Ces moyens d'actionnement 4 sont des boutons. Les moyens de visualisation 3 comprennent un écran de visualisation tel que ceux disponibles sur les téléphones mobiles. La face arrière du terminal mobile 1 comprend un module photographique 5, qui est avantageusement un module permettant de prendre des photographies à l'aide de son terminal mobile. Le terminal mobile est muni de moyens de traitement de type processeur et de moyens mémoire (ROM, RAM) permettant la mise en oeuvre du procédé de génération d'aléa. Différents modes de réalisation du procédé de génération d'aléa sont possibles. Dans la suite, deux modes de réalisation du procédé seront détaillés. DESCRIPTION D'UN PREMIER MODE DE REALISATION DU PROCEDE DE GENERATION D'ALEA Comme représenté à la figure 3, le premier mode de réalisation du procédé de génération d'aléa comprend différentes étapes. Dans un premier temps (étape 10), le terminal mobile 1 demande à l'utilisateur de prendre une photographie quelconque de son environnement au moyen du module photographique 5. Pour cela, l'utilisateur peut choisir de cadrer sa photographie d'une certaine manière en visualisant la scène à photographier grâce au moyen de visualisation 3. Bien entendu, ce cadrage de la photographie n'est absolument pas nécessaire. Ensuite, l'utilisateur actionne un bouton déclencheur pour prendre la photographie. Ce bouton 4 peut être, suivant le terminal mobile, un bouton du clavier, ou un bouton spécialement dédié à la prise d'une photographie. A l'étape 11 du procédé, le terminal 1 enregistre l'image numérique acquise 41 grâce au module photographique 5. Cette photographie numérique 41 est stockée sous forme d'un fichier image 42 comprenant une suite de bits (0 et 1) dans les moyens mémoire 43. A l'étape 12 du procédé, le terminal mobile 1 crée un fichier de données 44 contenant des données propres au terminal mobile 1. De manière non exhaustive, ces données peuvent comprendre l'état de l'horloge interne, ainsi que l'adresse MAC (Medium Access Control) du terminal mobile si celui-ci est apte à échanger avec d'autres terminaux en utilisant la technologie sans fil Bluetooth . Si le terminal mobile employé pour générer l'aléa est un téléphone mobile 45, d'autres données propres peuvent être incluses dans le fichier de données 44 créé à l'étape 12. Ces données sont par exemple les derniers numéros de téléphone appelés, les SMS archivés, et le numéro IMEI ( International Mobile Equipment Identity ) du téléphone mobile 45. Si le terminal mobile employé pour générer l'aléa est un PDA 46, les autres données propres au terminal mobile pouvant être incluses dans le fichier de données 44 sont le numéro de version du PDA, les noms des derniers fichiers consultés, ou encore le niveau de réception du signal d'une antenne à laquelle le PDA est connecté. L'ensemble des données constituant le fichier de données 44 est stocké sous forme d'une suite de bits aléatoire comprenant des 0 et des 1 dans les moyens mémoire 43. A l'étape 13 du procédé, le terminal mobile 1 concatène le fichier image 42 et le fichier de données 44. Cette concaténation est réalisée à l'aide des moyens de traitement du terminal mobile 1. Le fichier résultant, ou fichier à compresser, est une suite de bits comprenant des 0 et des 1. Cette suite de bits est stockée dans les moyens mémoire 43. A l'étape 14 du procédé, le terminal mobile 1 applique une fonction de hachage 47 au fichier concaténé, ou fichier à compresser. Une fonction de hachage est une fonction de compression de données qui, à une suite de bits quelconques, associe une suite de bits de longueur I. Une fonction de hachage H() possède les propriétés suivantes: H(SB) opère sur une suite de bits SB de longueur arbitraire le résultat h = H(SB) possède une longueur fixe I étant donné SB, il est facile de calculer h étant donné h, il est difficile de trouver SBo tel que H(SBo) = h étant donné SB, il est difficile de trouver une autre suite de bits SBo tel que H(SB) = H(SBo). Parmi les fonctions de hachage, on peut citer SHA-1 ( Secure Hash Algorithm ) qui produit en sortie une suite de 160 bits. A la sortie de la fonction de hachage 47, on obtient une suite de bits 49 constituant l'aléa réel ou pouvant être découpée pour donner plusieurs aléas. Cet aléa réel peut être utilisé pour différentes applications comme précédemment décrit, et peut notamment être utilisé pour l'obtention d'un nombre aléatoire nécessaire lors de l'initialisation de protocoles cryptographiques. DESCRIPTION D'UN DEUXIEME MODE DE REALISATION DU PROCEDE DE GENERATION D'ALEA Un deuxième mode de réalisation du procédé de génération d'aléa est illustré à la figure 4. A l'étape 20, le terminal mobile 1 demande à l'utilisateur de prendre une photographie quelconque de son environnement au moyen du module photographique 5. L'utilisateur vise une scène de son environnement et actionne le bouton déclencheur pour prendre la photographie. A l'étape 21 du procédé, le terminal 1 analyse l'image numérique acquise, et extrait des informations sur cette image. Ces informations extraites peuvent comprendre le nombre de pixels de l'image ayant la même couleur, ou encore la couleur des pixels formant une grille 48 sur l'image. Une grille 48 est un quadrillage destiné à la restitution sommaire d'une image. On pourra par exemple utiliser dans le procédé une grille constituée par un pixel de l'image sur 10 en ligne, et par un pixel de l'image sur 10 en colonne. Les informations extraites par les moyens de traitement du terminal mobile 1 sont ensuite stockées sous forme de fichier image 42 comprenant une suite de bits (0 et 1) dans les moyens mémoire 43. A l'étape 22 du procédé, le terminal mobile 1 crée un fichier de données 44 contenant des données propres au terminal mobile 1. Ces informations sont du même type que celles décrites pour le premier mode de réalisation du procédé de génération d'aléa (état de l'horloge interne, adresse MAC du terminal mobile si celui-ci est apte à utiliser la technologie Bluetooth , et, pour un téléphone mobile, derniers numéros de téléphone appelés, SMS archivés, et numéro IMEI, ou, pour un PDA, numéro de version, noms des derniers fichiers consultés, niveau de réception du signal d'une antenne à laquelle le PDA est connecté). L'ensemble des données constituant le fichier de données 44 est stocké sous forme d'une suite de bits aléatoire comprenant des 0 et des 1 dans les moyens mémoire 43. A l'étape 23 du procédé, le terminal mobile 1 concatène le fichier image 42 et le fichier de données 44. Cette concaténation est réalisée à l'aide des moyens de traitement du terminal mobile 1. Le fichier résultant, ou fichier à compresser, est une suite de bits comprenant des 0 et des 1. Cette suite de bits est stockée dans les moyens mémoire 43. A l'étape 24 du procédé, le terminal mobile 1 applique une fonction de hachage 47 (par exemple la fonction SI-IA-1) au fichier concaténé, ou fichier à compresser. A la sortie de la fonction de hachage 47, on obtient une suite de bits 49 constituant l'aléa réel ou pouvant être découpée pour donner plusieurs aléas. Dans la description qui précède, le procédé permettant la génération d'aléa était mis en oeuvre sur un terminal de télécommunication mobile. Le lecteur aura compris que ce procédé peut être mis en oeuvre sur d'autres types de terminaux munis d'un module photographique. Par exemple, le procédé peut être mis en oeuvre sur un ordinateur personnel comprenant un module photographique (comme un appareil photographique numérique), des moyens de traitement (comme un processeur), des moyens de saisie (comme un clavier) et des moyens de visualisation (comme un écran). Le lecteur aura également compris que de nombreuses variantes au procédé de génération d'aléa de la présente invention peuvent être mises en place. Par exemple, les étapes 12 et 22 de création de fichiers de données contenant des informations propres au terminal mobile employé pourraient être supprimées, et l'aléa pourrait être généré directement à partir de la photographie prise par l'utilisateur. Par ailleurs, la création de ce fichier de données pourrait comprendre d'autres données propres au terminal rnobile comme la capacité mémoire utilisée du terminal, ou la capacité mémoire restante du terminal, ou encore le niveau de charge des batteries du terminal mobile. La fonction de hachage employée pourrait être remplacée par tout type de fonction de compression de données permettant l'obtention d'une suite de bits de longueur déterminée à partir d'une suite de bits quelconque. La fonction de hachage employée pourrait être supprimée. REVENDICATIONS 1. Procédé de génération d'au moins un aléa sur un terminal (1) équipé d'un module photographique (5), caractérisé en ce qu'il comporte les étapes consistant à : a) acquérir une image photographique (41), b) obtenir, à partir de l'image photographique (41), un fichier à compresser (44), c) compresser ledit fichier afin d'obtenir ledit au moins un aléa. 2. Procédé selon la revendication t caractérisé en ce qu'il permet la génération d'au moins un aléa sur un terminal de télécommunication mobile. 3. Procédé selon l'une quelconque des revendications précédentes, caractérisé en ce que l'étape a) est réalisée par une prise de photographie à l'aide d'un module photographique, la prise de photographie étant commandée par l'utilisateur souhaitant générer un aléa. 4. Procédé selon l'une quelconque des revendications précédentes, caractérisé en ce que ledit au rnoins un aléa se présente sous la forme d'une suite de bits. 5. Procédé selon l'une quelconque des revendications précédentes, caractérisé en ce qu'il comprend en outre une étape consistant à créer ledit fichier à compresser (44) en incluant dans celui-ci des données aléatoires qui sont propres à une évolution d'un contenu numérique variable du terminal (1). 6. Procédé selon l'une quelconque des revendications précédentes, caractérisé en ce que l'étape consistant à obtenir le fichier à compresser inclut la sous-étape consistant à créer un fichier image (42) contenant l'ensemble des clonnées de l'image photographique (41) acquise. 7. Procédé selon l'une quelconque des revendications 1 à 5, caractérisé en ce que l'étape consistant à obtenir le fichier à compresser comprend la sous-étape consistant à analyser et extraire une partie des données de l'image photographique (41), et à créer un fichier image (42) comprenant lesdites données extraites. 8. Procédé selon la revendication 5;, caractérisé en ce que les données propres à l'évolution d'un contenu numérique variable du terminal comprennent l'état de l'horloge interne dudit terminal (1). 9. Procédé selon la revendication 5, caractérisé en ce que les données propres à l'évolution d'un contenu numérique variable du terminal comprennent l'adresse MAC dudit terminal (1). 10. Procédé selon les revendications 2 et 5, caractérisé en ce que le terminal de télécommunication mobile (1) est un téléphone mobile, et en ce que les données (44) propres à l'évolution d'un contenu numérique du terminal mobile comprennent le numéro IMEI dudit téléphone mobile, les derniers numéros appelés à partir dudit téléphone mobile, et les SMS archivés dans ledit téléphone mobile. 11. Procédé selon les revendications 2 et 5, caractérisé en ce que le terminal de télécommunication mobile (1) est un assistant personnel numérique ou PDA, et en ce que les données propres à l'évolution d'un contenu numérique du terminal mobile comprennent un numéro de version dudit PDA, des noms des derniers fichiers consultés à partir dudit PDA, et un niveau de réception de signal d'une antenne à laquelle ledit PDA est connecté. 12. Terminal (1) comprenant un module photographique, caractérisé en ce qu'il comprend des moyens de production d'un aléa, lesquels moyens incluent: a) des moyens pour acquérir une image photographique (41), b) des moyens pour obtenir, à partir de l'image photographique (4'1), un fichier à compresser, c) des moyens pour compresser le fichier à compresser afin d'obtenir ledit au moins un aléa.