FR 2862149 A1 20050513 FR 0313034 A 20031106 L'invention concerne le domaine des services en ligne sur Internet ou tout autre réseau d'information. Ces services mettent généralement en jeu des protocoles destinés à préserver la confidentialité des transactions électroniques réalisées. Notamment, ces services garantissent l'anonymat des utilisateurs par l'utilisation de clés de session. Lorsqu'un utilisateur se connecte à un service, une clé de session lui est attribuée. Cette clé est utilisée pour crypter les informations échangées entre l'utilisateur et le système fournisseur de services. Certains systèmes de services en ligne disposent de moyens pour révéler la clé de session en cas d'utilisation frauduleuse du service. La révélation de la clé de session conduit à la révélation de l'identité de l'utilisateur malhonnête et par conséquent à la levée de l'anonymat de cet utilisateur. Les moyens de levée d'anonymat d'utilisateurs mettent nécessairement en oeuvre des moyens de détection aptes à commander la levée de l'anonymat si certaines conditions d'utilisation frauduleuse sont remplies. Ces moyens doivent donc être aptes à déterminer si il y a utilisation frauduleuse ou non. Un but de l'invention est de fournir un système de levée d'anonymat dans le cadre d'un service en ligne qui ne nécessite pas de moyens pour déterminer une utilisation frauduleuse. L'invention s'applique en cas d'utilisation frauduleuse consistant à obtenir un service un nombre de fois supérieur à ce qui est autorisé au cours d'une même session. C'est le cas par exemple, lorsqu'un utilisateur qui se connecte à un site de téléchargement de fichiers obtient le téléchargement de plusieurs fichiers alors qu'en réalité, il n'a payé que pour le téléchargement d'un seul fichier. L'invention s'applique en particulier à la duplication illicite de biens électroniques. L'invention propose un procédé de contrôle automatique des fraudes dans un système de transactions électroniques, caractérisé en ce qu'il comprend les étapes consistant à : - lorsqu'un utilisateur initie une session dans le système de transaction électronique, générer un élément et enregistrer dans une base de données l'élément en association avec des informations identifiant l'utilisateur, - à chaque fois qu'au cours de la session l'utilisateur commande la réalisation d'une opération, déterminer une équation à laquelle satisfait 10 l'élément enregistré dans la base de données, - lorsqu'un nombre suffisant donné d'opérations a été effectué, résoudre le système d'équations constitué des équations ainsi déterminées pour en déduire l'élément, - en se reportant à la base de données, déduire à partir de l'élément obtenu, les informations correspondantes identifiant l'utilisateur. Dans le cadre de l'invention, une session est définie comme une période de temps au cours de laquelle un utilisateur est en relation avec un service en ligne donné et est autorisé par le fournisseur du service à réaliser un certain nombre d'opérations données. Le procédé de l'invention conduit à révéler l'identité d'un utilisateur lorsque celui-ci a réalisé un nombre n donné d'opérations au cours d'une même session alors qu'il n'y était pas autorisé par le fournisseur de services. Le procédé de l'invention s'applique automatiquement et de la même manière à tous les utilisateurs d'un service donné. Il n'y a donc aucune distinction d'application entre utilisateurs frauduleux et utilisateurs normaux. Le procédé de l'invention ne met donc pas en oeuvre de moyens spécifiques en cas d'utilisation frauduleuse. Par ailleurs, avec le procédé de l'invention, l'identité de l'utilisateur n'est divulguée que lorsque celui-ci réalise un nombre donné n d'opérations supérieur au nombre d'opérations autorisé, au cours d'une même session. Par conséquent, avant que l'utilisateur ne réalise la n-ième opération, le procédé ne donne aucune indication quant à l'identité de l'utilisateur puisqu'il fournit un certain nombre d'équations et qu'il existe une infinité de solutions satisfaisant ces équations. Il en résulte que le procédé de l'invention permet de préserver totalement l'anonymat des utilisateurs tant que ceux-ci respectent les limites définies par le fournisseur de services. De préférence, les équations du système d'équations sont indépendantes. Ainsi, l'utilisateur sera systématiquement identifié lorsqu'il aura réalisé un nombre n connu d'opérations, le nombre n correspondant au nombre d'opérations nécessaires pour obtenir un système de n équations conduisant à une solution unique. Les équations peuvent être des équations linéaires. L'élément est par exemple constitué d'une série de coefficients numériques. Ces coefficients numériques peuvent avantageusement définir un objet géométrique tel qu'un point, une droite, un hyperplan, etc. dans un 15 espace à n dimensions. Ils peuvent également définir un objet mathématique tel qu'une fonction, une suite, etc. L'invention concerne également un système de contrôle automatique des fraudes dans un système de transactions électroniques, caractérisé en ce qu'il comprend des premiers moyens de calcul pour générer un élément lorsqu'un utilisateur initie une session dans le système de transactions électroniques, une base de données dans laquelle est enregistré l'élément en association avec des informations identifiant l'utilisateur, les premiers moyens de calcul étant aptes à déterminer une équation à laquelle satisfait l'élément enregistré dans la base de données à chaque fois qu'au cours de la session l'utilisateur commande la réalisation d'une opération, et des seconds moyens de calcul aptes à résoudre le système d'équations constitué des équations ainsi déterminées pour en déduire l'élément lorsqu'un nombre suffisant donné d'opérations a été effectué, de sorte qu'en se reportant à la base de données, il soit possible de déduire à partir de l'élément obtenu, les informations correspondantes identifiant l'utilisateur. D'autres caractéristiques et avantages ressortiront encore de la description qui suit, laquelle est purement illustrative et non limitative et doit être lue en regard des figures annexées parmi lesquelles: - la figure 1 représente un exemple de système conforme à une 5 mise en oeuvre de l'invention, - la figure 2 est une représentation graphique de la détermination d'un élément associé à un utilisateur, l'élément étant une droite définie dans un espace à 2 dimensions, - la figure 3 est une représentation graphique de la détermination 10 d'un élément associé à un utilisateur, l'élément étant un plan défini dans un espace de dimension n=3, - la figure 4 est une représentation graphique de la détermination d'un élément associé à un utilisateur, l'élément étant un point défini dans un espace à 2 dimensions, - la figure 5 est une représentation graphique de la détermination d'un élément associé à un utilisateur, l'élément étant un point défini dans un espace de dimension n=3. Sur la figure 1, le système de contrôle des fraudes 100 est associé à un serveur 200 de services en ligne (par exemple service de téléchargement de fichiers ou de programmes, service d'achats en ligne, service de consultation de documents, service de communication, etc.) détenu par un fournisseur de services. Le système de contrôle des fraudes comprend un module de pilotage 102 relié au serveur 200, une base de données 104 reliée au module de pilotage 102, un générateur pseudo- aléatoire 106, un premier module de calcul 108 et un deuxième module de calcul 110. Le générateur pseudo-aléatoire 106, le premier module de calcul 108 et un deuxième module de calcul 110 sont commandés par le module de pilotage 102. Selon une première mise en oeuvre du système de l'invention, lorsqu'un utilisateur 300 se connecte au serveur 200 du fournisseur de services via un réseau de communication 400 et ouvre une session, une clé de session temporaire est automatiquement attribuée à l'utilisateur par le serveur. La clé de session est enregistrée dans la base de données 104. Elle est normalement conservée dans la base de données 104 durant toute la durée de la session, puis supprimée lors de la fermeture de la session. Elle permet un échange sécurisé entre l'utilisateur 300 et le serveur 200. Les clés et autres informations contenues dans la base de données 104 sont confidentielles. Par ailleurs, lorsque l'utilisateur 300 ouvre une session, le premier module de calcul 108 génère une équation de droite (dimension 1) dans un espace de dimension 2, l'équation étant du type Y = aX +b. L'équation de droite est enregistrée dans la base de données 104 en association avec la clé de session attribuées à l'utilisateur. Ainsi, l'utilisateur et la session sont associés de manière univoque à la droite D définie par le couple de coefficients (a, b). Lorsque l'utilisateur commande la réalisation d'une opération particulière (par exemple téléchargement d'un fichier ou d'un programme) dans le cadre de la session qu'il a ouverte, le premier module de calcul 108 détermine les coordonnées d'un point PI (XI, YI) appartenant à la droite D. A cet effet, le module de pilotage commande le générateur pseudo-aléatoire 106 pour que celui-ci génère une première coordonnée XI. A partir de cette coordonnée XI, le premier module de calcul 108 détermine une deuxième coordonnée YI à partir de l'équation de la droite D, telle que: Yl = aX 1 +b Ce premier point PI (X,, YI) seul ne permet pas de déterminer l'équation de la droite D. A ce stade, il n'est pas possible de remonter à l'identité de l'utilisateur 300. Si l'utilisateur 300 réussit de manière illicite à commander la réalisation d'une autre opération au cours de la même session, le premier module de calcul 108 détermine les coordonnées d'un deuxième point P2 (X2, Y2) appartenant à la droite D. A cet effet, le module de pilotage 102 commande le générateur pseudo-aléatoire 106 pour que celui-ci génère une première coordonnée X2 différente de XI. A partir de cette coordonnée X2, le premier module de calcul 108 détermine une deuxième coordonnée Y2 à partir de l'équation de la droite D, telle que: Y2 =aX2+b Ainsi qu'illustré sur la figure 2, à partir des deux points PI (XI, YI) et P2 (X2, Y2) ainsi déterminés, le deuxième module de calcul 110 en déduit l'équation de la droite D. A cet effet, le deuxième module résout le système d'équations suivant: Y1 =aX1 +b Y2 =aX2+b Connaissant l'équation de la droite D (c'est à dire les coefficients a et b) fournie par le deuxième module de calcul 110, le module de pilotage 102 en déduit, en se reportant à la base de données 104, la clé de session associée. Cette clé permet d'identifier l'utilisateur frauduleux qui a obtenu la réalisation de deux opérations alors même qu'il était autorisé qu'à n'en réaliser qu'une. Lorsque la confidentialité de l'identité de l'utilisateur 300 a été levée, plusieurs étapes peuvent ensuite être mises en oeuvre. Le fournisseur de services peut par exemple interdire à l'utilisateur 300 l'accès au serveur 200. Dans la mise en oeuvre de l'invention décrite précédemment, l'espace dans lequel sont créées des droites est un espace de dimension 2. Cette mise en oeuvre peut être généralisée à une application dans un espace de dimension n. Le premier module de calcul 108 génère une équation d'un hyperplan H (dimension n-1) dans un espace E de dimension n, l'équation étant du type Xn=an_iXn_1+...+a2X2+a1X1+ao, dans laquelle au moins (n-2) coefficients parmi an_l, ..., a2, al, ao sont nuls. La clé de session ainsi que l'équation d'hyperplan H associé sont enregistrés dans la base de données 104. Ainsi, l'utilisateur et la session sont associés à l'hyperplan H défini par le n-uplet de coefficients (an_I, ..., a2, a1, ao). A chaque fois que l'utilisateur commande la réalisation d'une i-ème opération au cours de la même session, le premier module de calcul 108 détermine un point P; de coordonnées (Xl,X2,...Xn) appartenant à l'hyperplan H. A cet effet, le module de pilotage 102 commande le générateur pseudo-aléatoire 106 pour que celui-ci génère un (n-1)-uplet de coordonnées (X,X2,...Xn 1). A partir de ce (n-1)-uplet, le premier module de calcul 108 détermine une n-ième coordonnée Xn en se référant à 5 l'équation de l'hyperplan H, telle que: n n-1 2 1 X. =an-1Xi +...a2X1 + a1Xi +a0 Lorsque l'utilisateur 300 a commandé pour la n-ième fois la réalisation d'une opération au cours de la même session, le deuxième module de calcul 110 déduit l'équation de l'hyperplan H à partir des n points PI, P2,...Pn calculés par le premier module de calcul 108. A cet effet, il résout le système d'équations suivant: 2 1 +...a2X1 +a1X1 +a0 2 1 +...a2X2 +a1X2 +a0 n n-1 2 1 Xn = an_iXn +...a2Xn + a1Xn + a0 Connaissant l'équation de l'hyperplan H (c'est à dire les coefficients a2, al, ao), il est possible, en se reportant à la base de données 104 d'en déduire la clé de session associée à cet hyperplan H et par conséquent de remonter à l'identité de l'utilisateur frauduleux. Cette clé permet d'identifier l'utilisateur frauduleux qui a obtenu la réalisation de n opérations alors même qu'il était autorisé qu'à n'en réaliser que n-1. La figure 3 représente la détermination d'un plan H (dimension 2) dans un espace de dimension n=3 à partir de 3 points PI, P2 et P3 calculés par le premier module de calcul 108. Selon un deuxième mode de mise en oeuvre du système de contrôle des fraudes, lorsqu'un utilisateur 300 se connecte au serveur 200 du fournisseur de services via un réseau de communication 400 et ouvre une session, une clé de session temporaire est automatiquement attribuée à l'utilisateur 300 par le serveur 200. n n-1 X2 = a n-1X2 Le premier module de calcul 108 génère un point P (dimension 0) dans un espace de dimension 2. Le point étant défini par des coordonnées du type (X, Y). La clé de session ainsi que les coordonnées du point P associées sont enregistrées dans la base de données. Lorsque l'utilisateur commande la réalisation de l'opération, le premier module de calcul détermine un équation Y=a1X+b1 d'une droite DI passant par le point P (X, Y). A cet effet, le module de pilotage commande le générateur pseudo-aléatoire pour que celui-ci génère un premier coefficient al correspondant à la pente de la droite DI. A partir de ce coefficient al, le premier module de calcul détermine un deuxième coefficient b1 correspondant à l'ordonnée à l'origine de la droite DI à partir des coordonnées (X, Y) tel que Y=a1X+bI. On a: b1 =Y al ÉX Cette première équation de droite Y=a1X+b1 ne permet pas de 15 déterminer les coordonnées du point P (X, Y) et de remonter à l'identité de l'utilisateur. Ainsi qu'illustré sur la figure 4, si l'utilisateur commande de manière illicite la réalisation de la même opération, le premier module détermine une équation Y=a2X+b2 d'une deuxième droite D2 passant pas le point (X, Y) . A cet effet, le module de pilotage commande le générateur pseudoaléatoire pour que celui-ci génère un premier coefficient a2 différent de al. A partir de ce coefficient a2, le premier module de calcul détermine un deuxième coefficient b2 à partir des coordonnées du point (X, Y) tel que: b2 =Y a2 ÉX Dans cette mise en oeuvre de l'invention, l'espace dans lequel sont créés les points est un espace de dimension 2. Cette mise en oeuvre peut être généralisée à une application dans un espace de dimension n. Lorsque l'utilisateur commande la réalisation d'une opération particulière (par exemple téléchargement d'un fichier ou d'un programme) dans le cadre de la session qu'il a ouverte, le premier module de calcul 108 génère un point P (dimension 0) dans un espace de dimension n. La clé de session ainsi que le point P associé à cette clé sont enregistrés dans la base de données 104. Ainsi, l'utilisateur et la session sont associés à un point P défini par le n-uplet de coordonnées (XI, X2, ...Xn). A chaque fois que l'utilisateur commande la réalisation d'une i-ème opération au cours de la même session, le premier module de calcul 108 détermine un hyperplan H; contenant le point P (XI, X2, ...Xn), l'hyperplan H; n i n-1 i 2 i 1 i étant défini par une équation du type X =an_1X +...a2X +a1X +a0, dans laquelle au moins (n-2) coefficients parmi les coefficients t t an_1,...a2,al,ao sont nuls. A cet effet, le module de pilotage commande le générateur pseudo-aléatoire 106 pour que celui-ci génère un (n-1)-uplet de coefficients (al,a2,...,an_1). A partir de ce (n1)-uplet, le premier module de calcul 108 détermine un n-ième coefficient ao à partir des coordonnées du point P (X0, XI, X2, ...Xn), tel que: i i i i Xn = an-1Xn-1 +...a2X2 +a1X1 +a0 L'anonymat de l'utilisateur 300 est maintenu tant que celui-ci réalise 15 au plus (n-1) opérations car le système génère (n-1) équations à n inconnues, les n inconnues étant les coordonnées (XI, X2, ...Xn) du point P. Lorsque l'utilisateur 300 réalise n opérations au cours de la même session, le deuxième module de calcul 110 déduit les coordonnées du point P (XI, X2, ...Xn) comme étant l'intersection des n hyperplans H1, H2...Hn 20 calculés par le premier module de calcul 108. A cet effet, le deuxième module de calcul 110 résout un système de n équations à n inconnues: 1 1 1 1 Xn = an-1Xn-1 +...a2X2 +a1X1 +a0 2 2 2 2 Xn = an-1Xn-1 +...a2X2 + a1 X1 + a0 n n n n Xn =an-1Xn-1 +...a2X2 +al Xl +a0 Connaissant les coordonnées du point P (XI, X2, ...Xn), il est possible, en se reportant à la base de données 104 d'en déduire la clé de session associée à ce point P et par conséquent de remonter à l'identité de l'utilisateur frauduleux. La figure 5 représente la détermination du point P dans un espace de dimension n=3 à partir de 3 plans HI, H2 et H3 (dimension 2) calculés par 5 le premier module de calcul 108. 11 REVENDICATIONS 1. Procédé de contrôle automatique des fraudes dans un système de transactions électroniques, caractérisé en ce qu'il comprend les étapes 5 consistant à : - lorsqu'un utilisateur initie une session dans le système de transaction électronique, générer un élément et enregistrer dans une base de données l'élément en association avec des informations identifiant l'utilisateur, - à chaque fois qu'au cours de la session l'utilisateur commande la réalisation d'une opération, déterminer une équation à laquelle satisfait l'élément enregistré dans la base de données, lorsqu'un nombre suffisant donné d'opérations a été effectué, résoudre le système d'équations constitué des équations ainsi déterminées 15 pour en déduire l'élément, - en se reportant à la base de données, déduire à partir de l'élément obtenu, les informations correspondantes identifiant l'utilisateur. 2. Procédé selon la revendication 1, caractérisé en ce que les équations du système d'équations sont indépendantes. 3. Procédé selon l'une des revendications 1 ou 2, caractérisé en ce que les équations sont des équations linéaires. 4. Procédé selon l'une des revendications 1 à 3, caractérisé en ce que l'élément est constitué d'une série de coefficients numériques. 5. Procédé selon la revendication 4, caractérisé en ce que la série de coefficients définit une équation d'hyperplan (H) de dimension (n-1) dans un espace (E) de dimension n et en ce que, à chaque fois que l'utilisateur commande la réalisation d'une opération, l'étape de détermination d'une 1 2 n équation consiste à déterminer les coordonnées (Xi,Xi,...Xi)d'un point (P;) appartenant à l'hyperplan (H). 6. Procédé selon la revendication 5, caractérisé en ce que la série de coefficients définit une équation de droite (D) dans un espace (E) à 2 dimensions et en ce que, à chaque fois que l'utilisateur commande la réalisation d'une opération, l'étape de détermination d'une équation consiste à déterminer les coordonnées (X;, Y;) appartenant à cette droite (D). 7. Procédé selon la revendication 4, caractérisé en ce que la série de coefficients définit les coordonnées (XI, X2, ...Xn) d'un point (P) dans un espace (E) de dimension n, et en ce que, à chaque fois que l'utilisateur commande la réalisation d'une opération, l'étape de détermination d'une équation consiste à déterminer l'équation d'un hyperplan (H;) contenant le point P. 8. Procédé selon la revendication 7, caractérisé en ce que la série de coefficients définit les coordonnées (XI, X2) d'un point (P) dans un espace (E) à 2 dimensions et en ce que, à chaque fois que l'utilisateur commande la réalisation d'une opération, l'étape de détermination d'une équation consiste à déterminer l'équation d'une droite (Di) passant par le point P. 9. Système de contrôle automatique des fraudes dans un système de transactions électroniques, caractérisé en ce qu'il comprend des premiers moyens de calcul (108) pour générer un élément lorsqu'un utilisateur (300) initie une session dans le système de transaction électronique (200), une base de données (104) dans laquelle est enregistré l'élément en association avec des informations identifiant l'utilisateur, les premiers moyens de calcul (108) étant aptes à déterminer une équation à laquelle satisfait l'élément enregistré dans la base de données (104) à chaque fois qu'au cours de la session l'utilisateur (300) commande la réalisation d'une opération, et des seconds moyens de calcul (110) aptes à résoudre le système d'équations constitué des équations ainsi déterminées pour en déduire l'élément lorsqu'un nombre suffisant donné (n) d'opérations a été effectué, de sorte qu'en se reportant à la base de données (104), il soit possible de déduire à partir de l'élément obtenu, les informations correspondantes identifiant l'utilisateur (300).