[go: up one dir, main page]

WO2013164194A1 - Method of securing access to a data server - Google Patents

Method of securing access to a data server Download PDF

Info

Publication number
WO2013164194A1
WO2013164194A1 PCT/EP2013/058011 EP2013058011W WO2013164194A1 WO 2013164194 A1 WO2013164194 A1 WO 2013164194A1 EP 2013058011 W EP2013058011 W EP 2013058011W WO 2013164194 A1 WO2013164194 A1 WO 2013164194A1
Authority
WO
WIPO (PCT)
Prior art keywords
server
client
encryption
guest
machine
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.)
Ceased
Application number
PCT/EP2013/058011
Other languages
French (fr)
Inventor
Luis GALLEGO
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.)
Individual
Original Assignee
Individual
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 Individual filed Critical Individual
Publication of WO2013164194A1 publication Critical patent/WO2013164194A1/en
Anticipated expiration legal-status Critical
Ceased legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • G06F21/6272Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database by registering files or documents with a third party
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09CCIPHERING OR DECIPHERING APPARATUS FOR CRYPTOGRAPHIC OR OTHER PURPOSES INVOLVING THE NEED FOR SECRECY
    • G09C3/00Typewriters for ciphering or deciphering cryptographic text
    • G09C3/04Typewriters for ciphering or deciphering cryptographic text wherein the operative connections between the keys and the type-bars are automatically and continuously permuted, during operation, by a coding or key member
    • 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/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/065Encryption by serially and continuously modifying data stream elements, e.g. stream cipher systems, RC4, SEAL or A5/3
    • 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/3226Cryptographic 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 a predetermined code, e.g. password, passphrase or PIN

Definitions

  • FIG. 3 illustrates the subprocess 212 for determining the encryption alphabet 102 from the numbers n2, n3 as well as from the file An.
  • Random numbers 304 and 310 are also temporary parameters generated during the registration step.
  • the server terminal also registers for each client three files named JeuCle, Config, Phrase.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Storage Device Security (AREA)

Description

« Procédé de sécurisation d'accès à un serveur de données »  "Method of securing access to a data server"

Le contexte de l'invention est celui des procédés et dispositifs de cryptographie, en particulier ceux de sécurisation d'un accès à un serveur de données. The context of the invention is that of cryptographic methods and devices, in particular those for securing access to a data server.

Etat de la technique antérieure State of the art

On connaît des procédés et dispositifs de sécurisation d'accès à un serveur de données, notamment de type asymétrique. L'algorithme RSA et une implémentation de cet algorithme telle que PGP sont des exemples classiques de tels procédés et dispositifs.  There are known methods and devices for securing access to a data server, in particular of asymmetric type. The RSA algorithm and an implementation of this algorithm such as PGP are classic examples of such methods and devices.

Les procédés selon l'art antérieur ont principalement deux inconvénients : un besoin important de ressource en calcul et une certaine lenteur.  The methods according to the prior art have two main disadvantages: an important need for a computing resource and a certain slowness.

La sécurité de tels procédés repose en partie sur le procédé d'inscription d'un client ou d'un invité, générant des nombres aléatoires, ce qui rend impossible de rejouer le procédé inscription.  The security of such methods relies in part on the process of registering a client or a guest, generating random numbers, which makes it impossible to replay the enrollment process.

L'invention a pour but de pallier tout ou partie des inconvénients précédents en proposant un procédé et dispositif de sécurisation d'accès à un serveur de données, qui soient rapides et fournissent à un utilisateur les fonctionnalités d'authentification et de chiffrement.  The invention aims to overcome all or part of the above disadvantages by providing a method and device for securing access to a data server, which are fast and provide a user with authentication and encryption features.

L'invention a également pour but de proposer un procédé et un système de sécurisation d'accès à un serveur de données, empêchant un pirate de rejouer une session d'inscription auprès du serveur de données.  The invention also aims to propose a method and a system for securing access to a data server, preventing an attacker from replaying a registration session with the data server.

L'invention a également pour but de proposer un procédé et un système de sécurisation d'envoi de message par la messagerie électronique mettant en œuvre un procédé de chiffrement selon l'invention.  The invention also aims to provide a method and a system for securing the sending of messages by electronic mail implementing an encryption method according to the invention.

Exposé de l'invention Presentation of the invention

On atteint au moins l'un des objectifs précités avec un procédé de sécurisation d'une connexion à un serveur de données, mettant en œuvre une machine de chiffrement de type Enigma à chiffrement symétrique, comprenant une étape préalable d'inscription d'un client utilisateur auprès dudit serveur de données, caractérisé en ce que cette étape d'inscription comprend : - une saisie par l'utilisateur de paramètres dits d'entrée,At least one of the above-mentioned objectives is reached with a method of securing a connection to a data server, implementing a symmetric encryption Enigma type encryption machine, comprising a prior step of registering a client. user in said data server, characterized in that this registration step comprises: a user input of so-called input parameters,

- un traitement par la machine de chiffrement des paramètres d'entrée pour générer des paramètres temporaires, comprenant au moins une étape de traitement aléatoire et une génération de paramètres de sortie, a processing by the encryption machine of the input parameters to generate temporary parameters, comprising at least one random processing step and a generation of output parameters,

- une détermination de données de sécurisation comprenant une position initiale de rotors et d'un alphabet de chiffrement pour ladite machine de chiffrement, à partir desdits paramètres temporaires, a determination of security data comprising an initial position of rotors and an encryption alphabet for said encryption machine, based on said temporary parameters,

lesdites données de sécurisation étant enregistrées par ledit serveur et des identifiants de connexion étant transmis audit client. said security data being recorded by said server and login credentials being transmitted to said client.

Les identifiants de connexion peuvent être enregistrés par le serveur. Login credentials can be registered by the server.

Avantageusement le traitement des paramètres d'entrée peut comprendre : Advantageously, the processing of the input parameters can comprise:

- une étape de détermination d'une configuration d'une machine de type Enigma,  a step of determining a configuration of an Enigma type machine,

- une étape d'utilisation de la configuration pour générer les données de sécurisation à partir des identifiants de connexion et paramètres. a step of using the configuration to generate the security data from the connection identifiers and parameters.

Avantageusement, la connexion du client au serveur de données peut être conditionnée par une étape d'authentification comprenant:  Advantageously, the connection of the client to the data server may be conditioned by an authentication step comprising:

- une étape de saisie et/ou d'envoi au serveur des données de sécurisation,  a step of entering and / or sending the security data to the server,

- une étape de vérification par le serveur des données de sécurisation reçues,  a step of verification by the server of the security data received,

- une autorisation d'accès au serveur de données dans le cas où l'étape de vérification est concluante.  an access authorization to the data server in the case where the verification step is conclusive.

Dans une version particulière, le procédé selon l'invention peut en outre comprendre une étape pour télécharger depuis le serveur sur le client un logiciel implémentant la machine de chiffrement.  In a particular version, the method according to the invention may further comprise a step for downloading from the server on the client software implementing the encryption machine.

Avantageusement, le procédé selon l'invention peut entre comprendre une étape de création d'un fichier de conversion de code sur le serveur.  Advantageously, the method according to the invention can include a step of creating a code conversion file on the server.

Dans une version particulière, le procédé selon l'invention peut en outre comprendre une étape pour inscrire un utilisateur invité par un client déjà inscrit.  In a particular version, the method according to the invention may further comprise a step for registering a guest user by an already registered customer.

Avantageusement, le procédé selon l'invention peut être mis en œuvre pour une dépose par un client de fichiers sur le serveur opéré en tant que coffre-fort. Dans une version particulière, le procédé selon l'invention peut être mis en œuvre pour une communication entre un client et un invité, par utilisation conjointe du serveur, d'une messagerie électronique et de la machine de chiffrement. Advantageously, the method according to the invention can be implemented for a file by a client files on the server operated as a safe. In a particular version, the method according to the invention can be implemented for a communication between a client and a guest, by joint use of the server, an electronic mail and the encryption machine.

Avantageusement, le procédé selon l'invention peut être mis en œuvre dans une machine à état d'une communication entre un client et un invité.  Advantageously, the method according to the invention can be implemented in a state machine of a communication between a client and a guest.

Avantageusement, le procédé selon l'invention peut comprendre une mise en place sur le serveur d'un jeton indiquant l'état de la communication entre le client et l'invité, le jeton n'existant qu'une fois la communication initiée.  Advantageously, the method according to the invention may comprise a setting up on the server of a token indicating the state of the communication between the client and the guest, the token only existing once the communication initiated.

Description détaillée de l'invention Detailed description of the invention

D'autres avantages et particularités de l'invention apparaîtront à la lecture de la description détaillée de mises en œuvre et d'un mode de réalisation nullement limitatif, et des dessins annexés suivants :  Other advantages and features of the invention will appear on reading the detailed description of implementations and a non-limiting embodiment, and the following appended drawings:

- la figure 1 illustre la mise en œuvre classique d'une machine Enigma, FIG. 1 illustrates the conventional implementation of an Enigma machine,

- la figure 2 est un schéma des entrées et sorties d'un procédé de détermination d'un alphabet de chiffrement et d'une position initiale des rotors selon l'invention, FIG. 2 is a diagram of the inputs and outputs of a method for determining an encryption alphabet and an initial position of the rotors according to the invention,

- la figure 3 précise un procédé de détermination d'un alphabet de chiffrement selon l'invention,  FIG. 3 specifies a method for determining an encryption alphabet according to the invention,

- la figure 4 précise un procédé de détermination d'une position initiale des rotors selon l'invention,  FIG. 4 specifies a method for determining an initial position of the rotors according to the invention,

- la figure 5a illustre les changements d'état possibles de la machine à état d'un client et leurs significations pour le client, et  FIG. 5a illustrates the possible state changes of the client state machine and their meanings for the customer, and

- la figure 5b illustre les changements d'état possibles de la machine à état d'un l'invité et leurs significations pour l'invité.  Figure 5b illustrates the possible state changes of the guest state machine and their meanings for the guest.

Sur les figures un élément apparaissant sur plusieurs figures conserve la même référence. In the figures, an element appearing in several figures retains the same reference.

La figure 1 illustre l'utilisation classique d'une machine Enigma 100. L'utilisation d'une machine telle machine 100 nécessite de l'initialiser selon une configuration précise. Cette configuration est ici entièrement déterminée par un alphabet de chiffrement 102 et la position initiale de rotors 104. Une fois cette configuration déterminée, un texte à chiffrer 106 peut effectivement être chiffré par la machine 100 pour générer un texte chiffré 108. Le déchiffrement du texte chiffré s'effectue en repositionnant la machine Enigma selon la configuration précise. Le déchiffrement du texte chiffré 108 est obtenu par chiffrement du texte chiffré 108. Le déchiffrement du texte chiffré 108 conduit au texte à chiffrer 106. En effet, la machine Enigma est un procédé de chiffrement symétrique. FIG. 1 illustrates the conventional use of an Enigma 100 machine. The use of a machine such as machine 100 requires initializing it in a precise configuration. This configuration is here entirely determined by an encryption alphabet 102 and the initial position of rotors 104. Once this configuration is determined, a text to be encrypted 106 can actually be encrypted by the machine 100 to generate an encrypted text 108. The decryption of the encrypted text is done by repositioning the Enigma machine according to the precise configuration. The decryption of the encrypted text 108 is obtained by encryption of the encrypted text 108. The decryption of the encrypted text 108 leads to the text to be encrypted 106. Indeed, the Enigma machine is a symmetric encryption method.

Une machine Enigma à 5 rotors de 26 positions et selon un alphabet de 78 caractères, le nombre de configurations possible est de 265*78!, soit plus de 1,34 * 10122 configurations. Le chiffrement Enigma est donc sûr lorsque la transmission de la configuration choisie pour le chiffrement est sûr. An Enigma machine with 5 rotors with 26 positions and an alphabet of 78 characters, the number of possible configurations is 26 5 * 78 !, that is more than 1.34 * 10 122 configurations. Enigma encryption is therefore safe when the transmission of the chosen configuration for encryption is safe.

Dans l'exemple de réalisation décrit ci-après, il est mis en œuvre un procédé d'utilisation informatique d'une machine Enigma à cinq rotors et 78 caractères. Il est bien compris que ces choix ne sont donnés qu'à titre d'exemple.  In the exemplary embodiment described hereinafter, a method of computer use of an Enigma machine with five rotors and 78 characters is implemented. It is well understood that these choices are given only as an example.

Dans la suite de cet exposé, une clé désigne un ensemble de cinq caractères choisis dans l'ensemble A— Z. In the remainder of this talk, a key designates a set of five characters selected from the set A-Z.

A une clé sont associés 5 nombres qui la définissent, tous entre 0 et 25 et réciproquement, selon la correspondance suivante : le premier nombre correspond à la position dans l'alphabet du premier caractère. A cinq nombres tous entre 0 et 25 est également associée une et une seule clé. To a key are associated 5 numbers that define it, all between 0 and 25 and vice versa, according to the following correspondence: the first number corresponds to the position in the alphabet of the first character. At five numbers all between 0 and 25 is also associated with one and only one key.

A titre d'exemple, la clé associée aux nombres (6,13,2,8,0) est GNCIA et réciproquement. For example, the key associated with numbers (6,13,2,8,0) is GNCIA and vice versa.

Selon l'invention, un chiffrement, dit simple, d'un texte par une clé consiste en un chiffrement obtenu par décalage de chaque lettre du texte d'un nombre de lettres égal au double de la somme des cinq nombres associés à la clé, modulo 26.  According to the invention, a so-called simple encryption of a text by a key consists of an encryption obtained by shifting each letter of the text by a number of letters equal to twice the sum of the five numbers associated with the key, modulo 26.

A titre d'exemple, le résultat du chiffrement par la clé GNCIA du texte SECRET est YKIXKZ. En effet,  By way of example, the result of the encryption by the GNCIA key of the SECRET text is YKIXKZ. Indeed,

- les 5 nombres associés à la clé GNCIA sont (6,13,2,8,0),  the numbers associated with the GNCIA key are (6,13,2,8,0),

- le double de la somme des nombres associés à la clé, modulo 26, est 6,  - double the sum of the numbers associated with the key, modulo 26, is 6,

- le décalage de la lettre S(18) a pour résultat la lettre Y(24) et ainsi de suite pour les lettres E(4),C(2),R(17),E(4),T(19) qui sont chiffrées par les lettres K(10),I(8),X(23),K(10),Z(25). Procédé de détermination d'un alphabet de chiffrement 102 et procédé de détermination d'une position initiale des rotors 104. - the offset of the letter S (18) results in the letter Y (24) and so on for the letters E (4), C (2), R (17), E (4), T (19) which are enciphered by the letters K (10), I (8), X (23), K (10), Z (25). Method of determining an encryption alphabet 102 and method of determining an initial position of the rotors 104.

Procédé de détermination d'un alphabet de chiffrement 102 Method of determining an encryption alphabet 102

La figure 2 illustre l'utilisation d'un procédé selon l'invention pour déterminer un tel alphabet de chiffrement 102 parmi les 78! possibles ainsi qu'une position des rotors parmi les 265 possibles. FIG. 2 illustrates the use of a method according to the invention for determining such an encryption alphabet 102 among the 78! possible as well as a position of the rotors among the possible 26 5 .

Ce procédé nécessite le choix par un utilisateur d'une clé 202, ainsi que de trois nombres ni, n2 et n3, respectivement référencés 204, 206 et 208. Par ailleurs, le procédé nécessite également l'utilisation d'un fichier 210 appelé an, qui sera décrit par la suite.  This method requires the choice by a user of a key 202, as well as three numbers ni, n2 and n3, respectively referenced 204, 206 and 208. Moreover, the method also requires the use of a file 210 called an , which will be described later.

De manière plus précise, ce procédé selon l'invention peut être décomposé en deux sous-procédés 212 et 214.  More precisely, this process according to the invention can be decomposed into two sub-processes 212 and 214.

Le sous-procédé 212 a pour entrées les nombres n2 et n3 ainsi que le fichier An et pour sortie l'alphabet de chiffrement 102.  The subprocess 212 has for inputs the numbers n2 and n3 as well as the file An and output the encryption alphabet 102.

Le sous-procédé 214 a pour entrées la clé, le nombre ni et la valeur ValSer et pour sortie la position des rotors 104.  The subprocess 214 has for inputs the key, the number ni and the value ValSer and for output the position of the rotors 104.

La figure 3 illustre le sous-procédé 212 de détermination de l'alphabet de chiffrement 102 à partir des nombres n2, n3 ainsi que du fichier An. FIG. 3 illustrates the subprocess 212 for determining the encryption alphabet 102 from the numbers n2, n3 as well as from the file An.

Le nombre n2 saisi par l'utilisateur est transformé lors de l'étape A(0,77), 302, en un nombre aléatoire 304, dit NbChoix, entre 0 et 77. Ensuite, une étape 306, détermine l'un des 78 alphabets pré-générés à partir de NbChoix. Ces alphabets sont générés par décalages circulaires successifs. On obtient donc le choix d'un premier alphabet Cl temporaire.  The number n2 entered by the user is transformed during step A (0.77), 302, into a random number 304, called NbChoice, between 0 and 77. Then, a step 306, determines one of the 78 pre-generated alphabets from NbChoice. These alphabets are generated by successive circular offsets. We thus obtain the choice of a first temporary alphabet C1.

Le troisième nombre n3 est transformé lors de l'étape A(9, 39), 308, en un nombre aléatoire 310, dit Chgt, entre 9 et 39. Une étape T5 est ensuite réalisée. Elle a pour entrée le premier alphabet temporaire cl ainsi que le nombre Chgt. Cette étape T5 a pour sortie un second alphabet C2 temporaire.  The third number n3 is transformed during step A (9, 39), 308, into a random number 310, called Chgt, between 9 and 39. A step T5 is then performed. It has for entry the first temporary alphabet cl as well as the number Chgt. This step T5 outputs a second temporary alphabet C2.

Les nombres aléatoires 304 et 310 sont également des paramètres temporaires générés lors de l'étape d'inscription.  Random numbers 304 and 310 are also temporary parameters generated during the registration step.

Dans une première partie de l'étape T5, le premier bloc de Chgt caractères du premier alphabet temporaire est permuté avec le dernier bloc de Chgt caractères du premier alphabet temporaire. S'il existe, le second bloc de Chgt caractères du premier alphabet temporaire est ensuite permuté avec l'avant dernier bloc de Chgt caractères du second alphabet temporaire. La même opération est répétée avec le troisième bloc de Chgt caractères s'il existe est permuté avec l'antépénultième bloc de Chgt, et on procède ainsi tant que cela est possible. Dans la seconde partie de l'étape T5, une rotation de t caractères est appliquée sur l'alphabet résultant du traitement qui vient d'être décrit. La valeur t est égale à la valeur NbChoix, élevée à la puissance 4, module 78. L'alphabet résultant de ce dernier traitement est le second alphabet temporaire C2. In a first part of step T5, the first block of characters Chgt of the first temporary alphabet is permuted with the last block of characters Chgt of the first temporary alphabet. If it exists, the second Chgt block characters of the first temporary alphabet is then swapped with the next to last block of Chgt characters from the second temporary alphabet. The same operation is repeated with the third block of characters Chgt if it is permuted with the third block of Chgt, and this is done as far as possible. In the second part of step T5, a rotation of t characters is applied to the alphabet resulting from the treatment just described. The value t is equal to the value NbChoix, raised to the power 4, module 78. The alphabet resulting from this last processing is the second temporary alphabet C2.

Une étape T6, 316, est ensuite réalisée. Elle a pour entrée le second alphabet temporaire C2, 316, ainsi qu'un fichier An, 210. Cette étape T6 a pour sortie l'alphabet de chiffrement.  A step T6, 316, is then performed. It has as input the second temporary alphabet C2, 316, and an An file, 210. This step T6 has output of the encryption alphabet.

Le fichier An est un fichier de connexions. Ce fichier contient 10 lignes. Chaque ligne est un tableau d'entiers de 0 à 77. Ce tableau comprend 78 entiers. Il indique les permutations à effectuer sur le second alphabet temporaire C2 pour obtenir l'alphabet de chiffrement. Chaque ligne correspond au dernier chiffre de l'année d'inscription du client. Ainsi, la troisième ligne est utilisée pour l'année 2012.  The file An is a connection file. This file contains 10 lines. Each row is an array of integers from 0 to 77. This table contains 78 integers. It indicates the permutations to be performed on the second temporary alphabet C2 to obtain the encryption alphabet. Each line corresponds to the last digit of the customer's registration year. Thus, the third line is used for the year 2012.

La connaissance directe des valeurs NbChoix et Chgt ainsi que du fichier An permet donc la détermination précise d'un alphabet de chiffrement.  The direct knowledge of the NbChoix and Chgt values as well as the An file thus allows the precise determination of an encryption alphabet.

Procédé de détermination d'une position initiale des rotors 104 Method for determining an initial position of the rotors 104

La figure 4 illustre le sous-procédé 214 de détermination de la position initiale des rotors 104 à partir d'une clé 202, et du nombre ni 204.  FIG. 4 illustrates the sub-method 214 for determining the initial position of the rotors 104 from a key 202, and the number ni 204.

La clé 202 est chiffrée lors de l'étape 402 par le chiffrement simple de la clé 202 par elle même. A titre d'exemple, le résultat de l'étape 402 pour une clé 202 est UBQWO est une clé chiffrée 404 égale à KRGME. En effet, le chiffrement par la clé 202 consiste en un décalage de 16 crans modulo 26.  The key 202 is encrypted during the step 402 by the simple encryption of the key 202 by itself. By way of example, the result of step 402 for a key 202 is UBQWO is an encrypted key 404 equal to KRGME. Indeed, the encryption by the key 202 consists of a shift of 16 notches modulo 26.

La clé chiffrée 404 est ensuite associée lors de l'étape Tl, 406 aux cinq nombres 408 qui la définissent, ici notés (a,b,c,d,e). A titre d'exemple, lorsque la clé chiffrée 404 est KRGME, la transformation Tl a pour résultat les nombres (a= 10, b= 17,c=6,d= 12, e=4).  The encrypted key 404 is then associated in step T1, 406 with the five numbers 408 defining it, here denoted by (a, b, c, d, e). By way of example, when the encrypted key 404 is KRGME, the transformation T1 results in the numbers (a = 10, b = 17, c = 6, d = 12, e = 4).

Le premier nombre ni saisi par l'utilisateur est transformé lors de l'étape A(l, 16), 410, en un nombre aléatoire x, 412, entre 1 et 16. Le nombre x est utilisé lors de l'étape T2, 414, pour générer cinq nouveaux nombres. Le résultat de la transformation est obtenu à l'étape 416 et est un nombre appelé y. La transformation T2 est effectuée de la manière suivante : The first number entered by the user is transformed in step A (1,16), 410, into a random number x, 412, between 1 and 16. The number x is used in step T2, 414, to generate five new numbers. The result of the transformation is obtained in step 416 and is a number called y. The T2 transformation is performed as follows:

- le nombre x est additionnée au nombre a, modulo 26,  the number x is added to the number a, modulo 26,

- le nombre x+ 1 est additionné au nombre b, modulo 26,  the number x + 1 is added to the number b, modulo 26,

- le nombre x+2 est additionné au nombre c, modulo 26,  the number x + 2 is added to the number c, modulo 26,

- le nombre x+3 est additionné au nombre d, modulo 26, et  the number x + 3 is added to the number d, modulo 26, and

- le nombre x+4 est additionné au nombre e, modulo 26.  the number x + 4 is added to the number e, modulo 26.

A titre d'exemple, lorsque x=6, cette seconde transformation a pour résultat 416 les cinq nombres y (16,24, 14,21, 14). Ces nombres définissent la position initiale 104 des rotors de la machine Enigma . Le rotor de droite est placé en i4eme position, à sa gauche en 21eme position, celui à la gauche du précédent en i4eme position, celui à la gauche du précédent en 24eme position, et le plus à gauche en 16eme position. By way of example, when x = 6, this second transformation results in 416 the five numbers y (16,24, 14,21, 14). These numbers define the initial position 104 of the rotors of the Enigma machine. The right-hand rotor is placed i4 th position, to the left in 21 th position, one to the left of the previous in i4 th position, one to the left of the previous 24-th position, and the leftmost 16 th position .

De plus, lors de l'étape T, 418, le nombre x est transformé en un ensemble de 8 caractères, dit aléa, obtenu à l'étape 420. Cette transformation met en œuvre un tableau de correspondance entre le nombre x et l'aléa. A un nombre x correspond un et un seul aléa . Par exemple, au nombre x=6, un tableau de correspondance fait correspondre les caractères SIXUNSIX. Moreover, during step T, 418, the number x is transformed into a set of 8 characters, called random, obtained in step 420. This transformation implements a table of correspondence between the number x and the hazard. A number x corresponds to one and only one hazard. For example, at x = 6, a lookup table matches the SIXUNSIX characters.

L'aléa est chiffré selon le procédé suivant :  The hazard is encrypted according to the following method:

. les lettres SIXUNSIX correspondent aux nombre 18 8 23 20 13 18 8 23 ;  . the letters SIXUNSIX correspond to the number 18 8 23 20 13 18 8 23;

. le chiffrement par la clé 202 UBQWO de l'alea consiste, ainsi qu'il a été vu plus haut, en un décalage de 16 crans modulo 26, ce qui correspond aux nombres 8 24 13 10 3 8 24 13;  . the encryption by the key 202 UBQWO of the alea consists, as has been seen above, in a shift of 16 notches modulo 26, which corresponds to the numbers 8 24 13 10 3 8 24 13;

. l'aléa chiffré est donc : IYN KDIYN .  . the encrypted hazard is: IYN KDIYN.

En outre, la figure 4 illustre une étape A(0, 99), 422, au cours de laquelle un nombre aléatoire ValSer, 424, est généré entre 0 et 99. In addition, FIG. 4 illustrates a step A (0, 99), 422, during which a random number ValSer, 424, is generated between 0 and 99.

La clé 202 et la valeur ValSer 424 sont utilisées lors de l'étape T3, 426, pour générer un code, 428 selon le procédé qui suit : - calcul d'un nombre z correspondant à la clé 202 par détermination des cinq nombres (m0,m l,m2,m3,m4) associés à la clé 202 puis z=mo*260+m1*261 + m2*262+ rTi3*263+ rTi4*264. The key 202 and the value ValSer 424 are used during the step T3, 426, to generate a code, 428 according to the following method: calculating a number z corresponding to the key 202 by determining the five numbers (m0, ml, m2, m3, m4) associated with the key 202 then z = mo * 26 0 + m 1 * 26 1 + m 2 * 26 2 + rTi3 * 26 3 + rTi4 * 26 4 .

A titre d'exemple et lorsque la clé est UBQWO, les cinq nombres associés à la clé UBQWO sont (20,1,16,22,14) et:  By way of example and when the key is UBQWO, the five numbers associated with the key UBQWO are (20,1,16,22,14) and:

13*26Λ 1 + 2*26Λ2 + 8*26Λ3 + 0*26/ = 6795198 13 * 26 Λ 1 + 2 * 26 Λ 2 + 8 * 26 Λ 3 + 0 * 26 / = 6795198

- on détermine une valeur dite Pdf, dépendante de z, selon l'algorithme suivant :  a value called Pdf, dependent on z, is determined according to the following algorithm:

indice=4 ;  index = 4;

Si (z>10Aindice) If (z> 10 A index)

TantQue(z>10Aindice): TantQue (z> 10 A index):

lndice++ ;  lndice ++;

Fin TantQue  End TantQue

indice :=indice-l ;  index: = index-1;

Pdf := 10Aindice ; Pdf: = 10 A index;

Fin Si  End if

Sinon  If not

TantQue(z<10Aindice) TantQue (z <10 A index)

Indice-- ;  Index-- ;

Fin TantQue  End TantQue

Pdf := 10Aindice ; Pdf: = 10 A index;

Fin Sinon  End Otherwise

La valeur indice est ici : indice=6  The index value is here: index = 6

La valeur Pdf est ici : Pdf= 1000000  The Pdf value is here: Pdf = 1000000

- on applique l'algorithme suivant au nombre z  - we apply the following algorithm to the number z

Si(2*10A6<Z<3*10A6) pdf*=2 ; If (2 * 10 A 6 <Z <3 * 10 A 6) pdf * = 2;

Si (z-pdf<=pdf) ALORS z :=d-10(indice _1)-ValSer; Fin Si If (z-pdf <= pdf) THEN z: = d-10 (index _1) -ValSer; End if

Sinon z :=z-pdf-ValSer; Fin Sinon  Otherwise z: = z-pdf-ValSer; End Otherwise

Dans l'exemple donné, pour la clé 202 égale à UBQWO et une valeur 242, ValSer, égale à 7, le code 428 obtenu est : 5795191.  In the example given, for the key 202 equal to UBQWO and a value 242, ValSer equal to 7, the code 428 obtained is: 5795191.

La valeur alea 420 et le code 428 sont des paramètres de sortie générés lors de l'étape d'inscription.  The alea value 420 and the code 428 are output parameters generated during the registration step.

Création d'un fichier de conversion de code sur le serveur Il est créé sur le serveur un fichier comportant 26Λ5 lignes renseigné selon un procédé maintenant décrit : Creating a code conversion file on the server It is created on the server a file comprising 26 Λ 5 lines filled in according to a method now described:

Pour tous 5-uplet (a,b,c,d,e) où a,b,c,d,e sont des nombre compris entre 0 et 25, calculer p=a*26^0 + b*26^ 1 +c*26^2+d*26^3+e*26/ et inscrire dans la p+ 1 ème ligne en colonne les nombres a,b,c,d,e. For all 5-tuples (a, b, c, d, e) where a, b, c, d, e are numbers between 0 and 25, calculate p = a * 26 ^ 0 + b * 26 ^ 1 + c * 26 ^ 2 + d * 26 ^ 3 + e * 26 / and enter in the p + 1 th column row the numbers a, b, c, d, e.

Ainsi, connaissant le nombre 6795198, la lecture de la 6795199 ème ligne conduit à la connaissance du le 5-uplet (20,1,16,22, 14).  Thus, knowing the number 6795198, the reading of the 6795199 th line leads to the knowledge of the 5-tuple (20,1,16,22, 14).

Bien entendu, ces n-uplets peuvent être enregistrés dans une base de donnée parcourue à l'aide d'un arbre B+, plutôt qu'écrits dans un fichier. Dans la suite de l'exposé, il sera fait référence à un fichier, dit fichier de conversion.  Of course, these tuples can be stored in a database traversed using a B + tree, rather than written to a file. In the rest of the presentation, reference will be made to a file, called a conversion file.

Procédé d'inscription et procédé d'authentification d'un client ou d'un invité sur un terminal serveur de données II va maintenant être exposé un procédé d'inscription et de d'authentification de l'accès à des données situées sur un serveur. Ce procédé d'inscription et d'authentification d'un client ou d'un utilisateur selon l'invention met en œuvre un procédé précédemment décrit pour déterminer un alphabet de chiffrement 102 et un procédé selon l'invention pour déterminer une position initiale des rotors 104. Registration method and method for authenticating a client or a guest on a data server terminal II will now be exposed a method for registering and authenticating access to data located on a server . This method of registration and authentication of a client or a user according to the invention implements a previously described method for determining an encryption alphabet 102 and a method according to the invention for determining an initial position of the rotors. 104.

Le procédé d'inscription d'un utilisateur selon l'invention distingue un utilisateur, dit client, d'un utilisateur, dit invité, qui est un utilisateur invité par au moins un client. Selon l'invention, toute personne peut devenir un utilisateur client. Pour devenir un utilisateur invité d'un utilisateur client selon l'invention, il faut que l'utilisateur client invite la personne souhaitant être l'utilisateur invité.  The registration method of a user according to the invention distinguishes a user, said client, a user, said guest, who is a guest user by at least one customer. According to the invention, any person can become a client user. To become a guest user of a client user according to the invention, the client user must invite the person wishing to be the guest user.

Il en résulte que les procédures d'inscription d'un utilisateur client et d'un utilisateur invité sont différentes. Procédé d'inscription et d'authentification d'un client sur un serveur de données  As a result, the registration procedures of a client user and a guest user are different. How to register and authenticate a client on a data server

Procédé d'inscription d'un client Customer registration process

Lorsqu'un utilisateur souhaite s'inscrire auprès du serveur, un formulaire est affiché à l'écran du terminal utilisateur et il est demandé à l'utilisateur de saisir une adresse email ainsi qu'un mot de passe. Il est aussi demandé à l'utilisateur de saisir une suite de cinq caractères, dite Clé, constituée de lettres choisies dans l'ensemble A— Z. Il est aussi demandé à l'utilisateur de choisir trois nombres ni, n2 et n3 entre 1 et 10. When a user wishes to register with the server, a form is displayed on the screen of the user terminal and the user is asked to enter an email address and a password. The user is also asked to enter a sequence of five characters, called Key, consisting of letters selected from the set A-Z. The user is also asked to choose three numbers n1, n2 and n3 between 1 and 10.

Le serveur met en œuvre un procédé de détermination d'un alphabet de chiffrement 102 selon l'invention. Les valeurs n2, 206, et n3, 208, du sous- processus de détermination 212 d'un alphabet de chiffrement 102 selon l'invention sont les nombres n2 et n3 saisis par l'utilisateur. Le fichier An 210 est un fichier de connexions préétablies uniquement connu du terminal serveur. Ainsi, le déchiffrement est impossible sans la connaissance de ce fichier, ce qui de fait, authentifie le terminal serveur lorsque le déchiffrement est correct. Des valeurs NbChoix 304 et Chgt 310 sont générées par le serveur lors de la mise en œuvre de ce sous-processus 212 de détermination d'un alphabet de chiffrement.  The server implements a method for determining an encryption alphabet 102 according to the invention. The values n2, 206, and n3, 208, of the determination sub-process 212 of an encryption alphabet 102 according to the invention are the numbers n2 and n3 entered by the user. The An 210 file is a pre-established connection file known only to the server terminal. Thus, decryption is impossible without the knowledge of this file, which in fact authenticates the server terminal when the decryption is correct. NbChoix 304 and Chgt 310 values are generated by the server during the implementation of this subprocess 212 for determining an encryption alphabet.

Le serveur met en œuvre un procédé de détermination de la position initiale des rotors 104 selon l'invention. La valeur ni, 204, du sous- processus de détermination 214 d'une position initiale des rotors 104 selon l'invention est le nombre ni saisi par l'utilisateur. La Clé 202 de ce sous- processus 214 est la Clé saisie par l'utilisateur. La valeur ValSer 424 est générée lors de l'étape 422 par le serveur. Cette valeur ValSer peut aussi être lue depuis une carte d'acquisition reliée au terminal serveur. Une nouvelle valeur ValSer est générée à chaque inscription. Les valeurs alea 420 et code 428 sont générées par le serveur lors de la mise en œuvre de ce sous-processus 214 de détermination d'une position initiale des rotors.  The server implements a method for determining the initial position of the rotors 104 according to the invention. The value ni, 204, of the determination sub-process 214 of an initial position of the rotors 104 according to the invention is the number not grasped by the user. The key 202 of this subprocess 214 is the key entered by the user. ValSer value 424 is generated in step 422 by the server. This ValSer value can also be read from an acquisition card connected to the server terminal. A new ValSer value is generated at each registration. The values alea 420 and code 428 are generated by the server during the implementation of this subprocess 214 for determining an initial position of the rotors.

Une fois l'alphabet de cryptage définitif et la position initiale des rotors déterminés, la machine Enigma 100 est positionnée dans une configuration de chiffrement. Dans cette configuration de chiffrement, le terminal serveur chiffre l'email de l'utilisateur. Once the final encryption alphabet and the initial position of the determined rotors, the Enigma machine 100 is set in an encryption configuration. In this encryption configuration, the server terminal encrypts the user's email.

Par ailleurs, des informations relatives au nouveau client sont enregistrées dans une table client d'une base de données au niveau du serveur. Ces informations comprennent un identifiant du client, clé primaire de la table client de la base de données. Les autres informations enregistrées relatives au nouveau client sont les valeurs ValSer, l'email (non chiffré) ainsi que l'année d'inscription du client. Le client est informé des valeurs du code correspondant à la clé, soit 428, aléa chiffré, mot de passe et identifiant du client. In addition, information about the new client is stored in a client table of a database at the server level. This information includes a client identifier, the primary key of the database client table. Other information recorded about the new customer is the ValSer values, the email (unencrypted) as well as the customer's registration year. The customer is informed of the values of the code corresponding to the key, ie 428, encrypted randomness, password and customer identifier.

Le terminal serveur enregistre également pour chaque client trois fichiers nommés JeuCle, Config, Phrase.  The server terminal also registers for each client three files named JeuCle, Config, Phrase.

Le fichier JeuCle comprend la valeur ValSer.  The JeuCle file includes the ValSer value.

Le fichier Config contient les valeurs Chgt, NbChoix, et mot de passe (non chiffré).  The Config file contains the values Chgt, NbChoix, and password (unencrypted).

Le fichier Phrase contient le résultat du chiffrement de l'email.  The Phrase file contains the result of the encryption of the email.

Le mot de passe et l'identifiant du client sont des paramètres de sortie de l'étape d'inscription d'un client.  The password and the customer ID are exit parameters from the registration step of a customer.

Trois petits fichiers (« cookies ») sont également déposés sur le terminal du client.  Three small files ("cookies") are also deposited on the client's terminal.

Authentification d'un client Authenticating a client

Une fois inscrit, un utilisateur client connaît son code, aléa chiffré, mot de passe et identifiant. De plus, les trois fichiers (« cookies ») décrits plus haut sont enregistrés dans son terminal .  Once registered, a customer user knows his code, encrypted random, password and login. In addition, the three files ("cookies") described above are stored in his terminal.

Lorsqu'un utilisateur souhaite se connecter au terminal serveur, il remplit un formulaire d'authentification dans lequel il saisit son code, alea chiffré, mot de passe, et son identifiant.  When a user wishes to connect to the terminal server, he fills out an authentication form in which he enters his code, encrypted alea, password, and his identifier.

Ensuite, le serveur récupère les trois cookies déposés sur le terminal client pour retrouver les trois fichiers JeuCle, Config, et Phrase, relatifs au client, qu'il a enregistrés sur le terminal serveur lors de l'inscription du Then, the server retrieves the three cookies deposited on the client terminal to find the three files JeuCle, Config, and Phrase, relating to the client, which he recorded on the server terminal during the registration of the

Client. Customer.

Une première comparaison est effectuée entre le mot de passe contenu dans le fichier Config et celui saisi dans le formulaire.  A first comparison is made between the password contained in the Config file and the one entered in the form.

Détermination de l'alphabet de chiffrement 102 Determining the Encryption Alphabet 102

Les valeurs Chgt et NbChoix provenant du fichier Config sont utilisés par le serveur pour déterminer l'alphabet Cl 306, puis l'alphabet C2 314. La connaissance par le serveur du fichier An ainsi que de la date d'inscription du client enregistrée dans la table client et associée à l'identifiant du client, permet au serveur de mettre en œuvre l'étape T6 316 l'alphabet définitif. L'alphabet définitif ne peut donc être valablement déterminé que par le serveur sur lequel le client s'est inscrit. Détermination de la position initiale des rotors 104 The values Chgt and NbChoice from the Config file are used by the server to determine the alphabet Cl 306, then the alphabet C2 314. The knowledge by the server of the file An as well as the date of registration of the customer registered in the client table and associated with the client identifier, allows the server to implement step T6 316 the definitive alphabet. The definitive alphabet can only be validly determined by the server on which the client is registered. Determination of the initial position of the rotors 104

La connaissance de la valeur ValSer présente dans le fichier JeuCle ainsi que celle du code saisi dans le formulaire conduit à la détermination de la clé 202. Le procédé suivant est utilisé :  The knowledge of the value ValSer present in the JeuCle file as well as that of the code entered in the form leads to the determination of the key 202. The following method is used:

- ajout du code et de la valeur ValSer. Lorsque le code saisit par le client dans le formulaire est 5795191 et que la valeur ValSer est 7 :  - adding code and ValSer value. When the code entered by the customer in the form is 5795191 and the ValSer value is 7:

- le code saisi additionné à la valeur ValSer pour obtenir une valeur temporaire : 1 = 5795198  - the code entered added to the ValSer value to obtain a temporary value: 1 = 5795198

- on détermine une valeur dite Pdf2, dépendante de I, selon l'algorithme suivant :  a value called Pdf2, dependent on I, is determined according to the following algorithm:

indice2=4 ;  index2 = 4;

Si (l>10 indice2)  If (l> 10 index2)

TantQue(l>10Aindice2): TantQue (l> 10 A index2):

Indice2++ ;  Index2 ++;

Fin TantQue  End TantQue

Indice2 :=indice2-l ;  Index2: = index2-l;

Pdf2 := 10Aindice2 ; Pdf2: = 10 A index2;

Fin Si  End if

Sinon  If not

TantQue(l<10Aindice2) TantQue (l <10 A index2)

Indice2- ;  Index2-;

Fin TantQue  End TantQue

Pdf := 10Aindice2 ; Pdf: = 10 A index2;

Fin Sinon  End Otherwise

La valeur indice2 est ici : indice=6  The index2 value is here: index = 6

La valeur Pdf est ici : Pdf2= 1000000  The Pdf value is here: Pdf2 = 1000000

- Si(2*10A6<l<3*10A6) pdf*=2 ; - If (2 * 10 A 6 <l <3 * 10 A 6) pdf * = 2;

- si l-pdf2< = pdf2 alors I = | + ioindice2"1 sinon I = l + pdf2. if l-pdf2 <= pdf2 then I = | + io index2 "1 else I = l + pdf2.

Ici la condition I = pdf2< = pdf2 n'est pas vérifiée et 1 = 6795198 Here the condition I = pdf2 <= pdf2 is not checked and 1 = 6795198

On utilise ensuite le fichier de conversion de code préalablement construit. Ce fichier associe directement à la ligne 6795199 les cinq nombres (20, 1, 16 ,22 , 14) associés aux caractères UBQWO. The previously constructed code conversion file is then used. This file associates directly with line 6795199 the five numbers (20, 1, 16, 22, 14) associated with the characters UBQWO.

Le serveur a ainsi connaissance de la clé 202. Connaissant l'aléa chiffré saisi par l'utilisateur, par exemple IYN KDIYN et la clé 202, par exemple UBQWO, le serveur peut déchiffrer l'aléa chiffré pour obtenir l'aléa 420. Il a été vu plus haut que le chiffrement par la clé UBQWO consistait en un décalage de 6 lettres. Ainsi le déchiffrement de l'aléa chiffré IYN KDIYN a pour résultat SIXUNSIX. The server thus knows the key 202. Knowing the encrypted hazard entered by the user, for example IYN KDIYN and the key 202, for example UBQWO, the server can decrypt the encrypted randomness to obtain the hazard 420. It has been seen above that the encryption by the UBQWO key consisted of a 6-letter offset. Thus decryption of IYN KDIYN encrypted randomness results in SIXUNSIX.

La connaissance de l'aléa 420 et du fichier permettant d'inverser l'étape T 418 décrite plus haut conduit le serveur à la connaissance de la valeur 412 x. A titre d'exemple, la valeur x associé à l'aléa SIXUNSIX est 6.  The knowledge of the hazard 420 and the file to reverse the T 418 step described above leads the server to the knowledge of the value 412 x. For example, the value x associated with the SIXUNSIX randomness is 6.

Connaissant la clé 202 et la valeur x 412, le serveur peut mettre en œuvre les étapes 402, 406 et 414 et ainsi trouver la valeur 416 y. La valeur 416 y définit la position initiale 104 des rotors comme décrit précédemment.  Knowing the key 202 and the value x 412, the server can implement the steps 402, 406 and 414 and thus find the value 416 y. The value 416 defines the initial position 104 of the rotors as previously described.

Déchiffrement et authentification  Decryption and authentication

Le terminal serveur déchiffre alors le contenu du fichier Phrase et compare le résultat de ce déchiffrement à Vemail correspondant dans la table client à l'identifiant identifiant. Lorsque cette comparaison est concluante, l'utilisateur est authentifié.  The server terminal then decrypts the contents of the Phrase file and compares the result of this decryption to the corresponding Vemail in the client table to the identifier identifier. When this comparison is conclusive, the user is authenticated.

Procédé d'inscription et d' authentification d'un invité sur un serveur de données Method for registering and authenticating a guest on a data server

Procédé d'inscription d'un invité Guest registration process

Pour permettre à un invité de s'inscrire auprès du terminal serveur, un client auparavant inscrit s'authentifie auprès du terminal serveur.  To allow a guest to register with the server terminal, a previously registered customer authenticates with the server terminal.

Une fois authentifié, le client crée un invité en saisissant dans un formulaire son adresse email et le nom de l'invité. Le pseudonyme est alors la concaténation du nom de l'invité avec l'identifiant du client.  Once authenticated, the client creates a guest by typing into a form his email address and the name of the guest. The nickname is then the concatenation of the name of the guest with the customer ID.

Le client transmet à son invité son pseudonyme par un autre canal de communication que la messagerie internet.  The customer sends his guest his pseudonym via another communication channel than the internet messenger.

Pour s'inscrire auprès du serveur, l'invité procédera aux étapes décrites dans la partie d'inscription d'un client à l'exception d'une information : l'information de mot de passe est remplacée par celle de pseudonyme attribué par le client.  To register with the server, the guest will proceed to the steps described in the registration part of a client except for one piece of information: the password information is replaced by that of the pseudonym assigned by the customer.

Pour pouvoir créer un compte invité pirate, il faut donc connaître l'adresse email ainsi que le pseudonyme saisis par le client. Authentification d'un invité To create a pirate guest account, you must know the email address and the pseudonym entered by the customer. Guest Authentication

L'invité procède de la même manière qu'un client pour s'authentifier auprès du terminal serveur à l'exception du mot de passe qui est remplacé par son pseudonyme.  The guest proceeds in the same manner as a client to authenticate to the terminal server except for the password that is replaced by its alias.

Ainsi, la sécurité du système repose en partie sur le procédé d'inscription d'un client ou d'un invité, générant des nombres aléatoires, ce qui rend impossible de rejouer le procédé inscription. Thus, the security of the system relies in part on the process of registering a client or a guest, generating random numbers, which makes it impossible to replay the enrollment process.

Par ailleurs, la dépose de petits fichiers (« cookies ») sur le terminal client ou invité rend vaine l'interception des données générées par le serveur et envoyées au client car il n'est pas possible de s'authentifier sans que ces fichiers soient sur le terminal client ou invité.  Moreover, the deposit of small files ("cookies") on the client terminal or guest makes vain the interception of the data generated by the server and sent to the client because it is not possible to authenticate without these files being on the client or guest terminal.

Enfin, l'utilisation du fichier An, seul connu du serveur après l'inscription, assure l'authentification du terminal serveur lorsque le client s'authentifie auprès du terminal serveur.  Finally, the use of the file An, only known to the server after registration, provides authentication of the terminal server when the client authenticates with the terminal server.

Fonctionnalités de la mise en œuvre du serveur selon l'invention Functionalities of the implementation of the server according to the invention

Accès à un coffre-fort. Access to a safe.

Une fois authentifié, un client peut enregistrer sur le serveur des fichiers. Ces fichiers ne seront consultables que par lui-même et ses invités. Le client peut également supprimer ses fichiers. L'invention permet ainsi d'assurer l'authentification du client au coffre-fort qu'est le serveur et qui contient les fichiers du client.  Once authenticated, a client can save files to the server. These files will be searchable only by himself and his guests. The client can also delete his files. The invention thus makes it possible to ensure the authentication of the client to the safe that is the server and which contains the files of the client.

Communication sécurisée d'un client avec un invité Secure communication of a client with a guest

Par ailleurs, l'invention permet également à un client de communiquer avec un invité de manière sécurisée.  Furthermore, the invention also allows a client to communicate with a guest in a secure manner.

La communication d'un client avec un invité s'effectue à travers l'utilisation conjointe du serveur selon l'invention et de la messagerie électronique et d'une machine à chiffrer selon l'invention.  The communication of a client with a guest is through the joint use of the server according to the invention and the electronic mail and an encryption machine according to the invention.

Description d'une machine à chiffrer selon l'invention Description of an encryption machine according to the invention

Une machine à chiffrer selon l'invention est un logiciel fourni avec sa documentation et un fichier de conversion de code tel que définit plus haut. Le logiciel de la machine à chiffrer selon l'invention permet le chiffrement et le déchiffrement de message au moyen d'une machine Enigma à 5 rotors et utilisant un alphabet de 78 caractères. Ainsi qu'il a été vu plus haut, la détermination de la position initiale des rotors pour chaque texte à chiffrer dépend : An encryption machine according to the invention is software provided with its documentation and a code conversion file as defined above. The software of the encryption machine according to the invention allows message encryption and decryption by means of an Enigma machine with 5 rotors and using an alphabet of 78 characters. As has been seen above, the determination of the initial position of the rotors for each text to be encrypted depends on:

- de la clé 202 et du nombre ni 204, choisis par un utilisateur à chaque chiffrement,  of the key 202 and the number ni 204, chosen by a user for each encryption,

- d'une valeur ValSer 424 propre à l'utilisateur qui est déterminée lors du processus d'inscription de l'utilisateur et qui demeure la même pour tous chiffrements ultérieurs.  a user-specific ValSer value 424 that is determined during the user registration process and remains the same for all subsequent ciphers.

La détermination de l'alphabet de chiffrement pour chaque texte dépend :  The determination of the encryption alphabet for each text depends on:

- des valeurs n2 et n3, choisies par l'utilisateur à chaque chiffrement,  n2 and n3 values, chosen by the user for each encryption,

- d'un fichier An 210 propre à l'utilisateur et qui demeure le même pour tous chiffrements ultérieurs.  - An 210 file specific to the user and remains the same for all subsequent ciphers.

Ainsi qu'il a été vu plus haut, la détermination de la position initiale des rotors utilisée pour le chiffrement du texte résulte de : As has been seen above, the determination of the initial position of the rotors used for the encryption of the text results from:

- la connaissance du Code 428 et de l'aléa chiffré présents dans le fichier Config et généré à chaque chiffrement, et  the knowledge of the code 428 and the encrypted randomness present in the file Config and generated with each encryption, and

- la connaissance de la valeur ValSer propre à la personne ayant chiffré le texte et qui demeure la même pour tous chiffrements ultérieurs ainsi que du fichier de conversion de code.  - knowledge of the ValSer value specific to the person who encrypted the text and which remains the same for all subsequent ciphers as well as the code conversion file.

Ainsi qu'il a été vu plus haut, la détermination de l'alphabet utilisé pour le chiffrement du texte résulte de :  As has been seen above, the determination of the alphabet used for the encryption of the text results from:

- la connaissance des Chgt et NbChoix déterminées lors du chiffrement,  - the knowledge of Chgt and NbChoice determined during the encryption,

- ainsi que de la connaissance du fichier An.  - as well as knowledge of the file An.

Machine à état d'une communication entre un client et un invité State machine for communication between a client and a guest

On appelle client la personne qui initie la communication.  The customer is the person who initiates the communication.

Pour chaque couple de client/invité, il est mis en place sur le serveur un jeton indiquant l'état de la communication entre le client et l'invité. Ce jeton n'existe qu'une fois la communication initiée. Lorsqu'une communication a été initiée, ce jeton peut alors prendre trois valeurs : j = 0, j = l et j = 2. For each client / guest pair, a token is placed on the server indicating the state of the communication between the client and the guest. This token exists only once the communication initiated. When a communication has been initiated, this token can then take three values: j = 0, j = 1 and j = 2.

La figure 5a et 5b illustrent les valeurs possibles du jeton et leur signification :  Figure 5a and 5b illustrate the possible values of the token and their meanings:

- lorsque le jeton est j = 0, il s'agit d'une fin de communication,  when the token is j = 0, it is an end of communication,

- lorsque le jeton est j = l, l'invité a reçu un message du client, et  when the token is j = 1, the guest has received a message from the client, and

- lorsque le jeton est j = 2, le client a reçu un message de l'invité en réponse à son message préalablement envoyé. La communication entre client et invité est concurrente. Pour ce faire, il existe deux machines à état: une pour le client et une pour l'invité. Ces deux machines indiquent l'état de la communication entre le client et l'invité.  when the token is j = 2, the client has received a message from the guest in response to his previously sent message. The communication between client and guest is concurrent. To do this, there are two state machines: one for the client and one for the guest. These two machines indicate the state of the communication between the client and the guest.

La figure 5a illustre les changements d'état possibles (cercles El et E2) de la machine à état du client et leurs significations pour le client. Figure 5a illustrates the possible state changes (circles E1 and E2) of the client state machine and their meanings to the client.

L'état E0 représente le moment auquel le client souhaite initier une communication. Un test, représenté par le losange Test sur la figure, de la valeur du jeton est alors réalisé :  The state E0 represents the moment at which the customer wishes to initiate a communication. A test, represented by the diamond Test on the figure, of the value of the token is then carried out:

- lorsque la valeur du jeton est j = 0, la machine à état du client passe à l'état El,  when the value of the token is j = 0, the state machine of the client goes to the state El,

- lorsque la valeur du jeton est j= l, la machine à état du client revient à l'état E0, et  when the value of the token is j = 1, the state machine of the client returns to the state E0, and

- lorsque la valeur du jeton est j = 2, la machine à état de communication du client passe à l'état E2.  when the value of the token is j = 2, the customer's communication state machine goes to the E2 state.

A l'état El, le client peut envoyer un message à destination de son invité :  In the state El, the customer can send a message to his guest:

- s'il ne l'a pas déjà téléchargée, le client s'authentifie auprès du serveur, télécharge une machine à chiffrer selon l'invention, ainsi que ses fichiers An et ValSer,  if it has not already downloaded it, the client authenticates with the server, downloads an encryption machine according to the invention, as well as its An and ValSer files,

- le client chiffre un message en utilisant sa machine de chiffrement selon l'invention, s'authentifie le cas échéant à nouveau sur le serveur et met à disposition de l'invité le fichier Config généré par le chiffrement de son message, le jeton est alors positionné à 1 et la machine à état du client passe à l'état E0. - le client envoie par messagerie électronique le résultat du chiffrement de son message qui est généré par la machine de chiffrement selon l'invention ainsi que son code, son mot de passe et son alea . the client encrypts a message using his encryption machine according to the invention, authenticates if necessary again on the server and provides the guest with the Config file generated by the encryption of his message, the token is then set to 1 and the customer's state machine goes to the E0 state. the client sends, by electronic mail, the result of the encryption of his message which is generated by the encryption machine according to the invention as well as his code, his password and his alea.

A l'état E2, le client a reçu une réponse de l'invité suite à l'envoi de son premier message.  In state E2, the client received a response from the guest after sending his first message.

- le client s'authentifie auprès du serveur et télécharge le fichier Config mis à disposition par l'invité après un chiffrement de message de réponse généré par l'invité. Le jeton est alors positionné à j = 0 et la machine à état du client passe à l'état E0.  - the client authenticates with the server and downloads the Config file made available by the guest after a response message encryption generated by the guest. The token is then set to j = 0 and the client state machine goes to the E0 state.

- le client utilise la machine de chiffrement selon l'invention pour déchiffrer le message chiffré reçu de l'invité par messagerie électronique. La figure 5b illustre les changements d'état possibles (cercles El, E2 et the client uses the encryption machine according to the invention to decrypt the encrypted message received from the guest by electronic mail. Figure 5b illustrates the possible state changes (circles E1, E2 and

E3) de la machine à état de l'invité et leurs significations pour l'invité. E3) of the guest state machine and their meanings for the guest.

L'état E0 représente le moment auquel l'invité consulte sa boite aux lettres sur le serveur. Un test, représenté par le losange Test sur la figure, de la valeur du jeton est alors réalisé :  The state E0 represents the moment when the guest consults his mailbox on the server. A test, represented by the diamond Test on the figure, of the value of the token is then carried out:

- lorsque la valeur du jeton est j = l, la machine à état de l'invité passe à l'état El, when the value of the token is j = 1, the state machine of the guest goes to the state El,

- lorsque la valeur du jeton est j = 0, l'invité a reçu un message de la part du client. Un test, représenté par le losange A sur la figure est alors réalisé, et  - when the value of the token is j = 0, the guest has received a message from the client. A test, represented by the diamond A in the figure is then made, and

- lorsque la valeur du jeton est j = 2, la machine à état de communication de l'invité revient à l'état E0. when the value of the token is j = 2, the guest's communication state machine returns to the state E0.

Lors du test A, l'invité choisit de répondre ou non au message du client qu'il a reçu . S'il choisit de ne pas répondre, la machine à état de communication de l'invité revient à l'état E0. S'il choisit de répondre, la machine à état de communication de l'invité passe à l'état E2.  During test A, the guest chooses to answer the client's message or not. If it chooses not to answer, the guest's communication state machine returns to the E0 state. If it chooses to respond, the guest's communication state machine goes to state E2.

A l'état El, l'invité a reçu un message du client :  In the El state, the guest has received a message from the client:

- s'il ne l'a pas déjà téléchargée, l'invité s'authentifie auprès du serveur, télécharge une machine à chiffrer selon l'invention, ainsi que le fichier ValSer et An mis à disposition par le client, - l'invité déchiffre le message en utilisant également les codes et aléa chiffrés fournis par le client et reçus par messagerie électronique en utilisant sa machine de chiffrement selon l'invention, s'authentifie le cas échéant à nouveau sur le serveur et télécharge le fichier Config mis à disposition par le client. Le jeton est alors positionné à 0. La machine à état de l'invité passe à l'état E0. - if it has not already downloaded, the guest authenticates with the server, downloads an encryption machine according to the invention, and the file ValSer and An made available by the client, the guest decrypts the message by also using the encrypted codes and random numbers provided by the customer and received by electronic mail using his encryption machine according to the invention, authenticates if necessary again on the server and downloads the file Config made available by the customer. The token is then set to 0. The guest state machine goes to the E0 state.

- le client envoie par messagerie électronique le résultat du chiffrement de son message qui est généré par la machine de chiffrement selon l'invention ainsi que son code, son mot de passe et son alea .  the client sends, by electronic mail, the result of the encryption of his message which is generated by the encryption machine according to the invention as well as his code, his password and his alea.

A l'état E2, l'invité envoie un message en réponse à celui reçu du client In state E2, the guest sends a message in response to that received from the client

- l'invité chiffre un message en utilisant la machine de chiffrement selon l'invention, s'authentifie le cas échéant à nouveau sur le serveur et met à disposition du client le fichier Config généré par le chiffrement de son message, le jeton est alors positionné à 2 et la machine à état de l'invité passe à l'état E0. the guest encrypts a message using the encryption machine according to the invention, authenticates if necessary again on the server and makes available to the client the Config file generated by the encryption of his message, the token is then set to 2 and the guest state machine goes to the E0 state.

- l'invité envoie par messagerie électronique le résultat du chiffrement de son message qui est généré par la machine de chiffrement selon l'invention ainsi que son code, son mot de passe et son alea.  the guest sends by electronic mail the result of the encryption of his message which is generated by the encryption machine according to the invention as well as its code, its password and its alea.

Ainsi, le procédé selon l'invention réalise à la fois l'authentification et le chiffrement de données. Par ailleurs, la dépose de petits fichiers (« cookies ») sur le terminal client ou invité rend vaine l'interception des données générées par le serveur et envoyées au client car il n'est pas possible de s'authentifier sans que ces fichiers soient sur le terminal client ou invité. Il n'est donc pas possible par la suite d'utiliser les fonctions de coffre-fort ou de télécharger une machine de chiffrement selon l'invention par la suite. Thus, the method according to the invention performs both authentication and data encryption. Moreover, the deposit of small files ("cookies") on the client terminal or guest makes vain the interception of the data generated by the server and sent to the client because it is not possible to authenticate without these files being on the client or guest terminal. It is therefore not possible subsequently to use the vault functions or to download an encryption machine according to the invention thereafter.

Enfin, l'utilisation du fichier An, seul connu du serveur après l'inscription, assure l'authentification du terminal serveur lorsque le client s'authentifie auprès du terminal serveur  Finally, the use of the file An, known only to the server after registration, provides authentication of the terminal server when the client authenticates with the terminal server

Bien sûr, l'invention n'est pas limitée aux exemples qui viennent d'être décrits et de nombreux aménagements peuvent être apportés à ces exemples sans sortir du cadre de l'invention. Of course, the invention is not limited to the examples that have just been described and many adjustments can be made to these examples without departing from the scope of the invention.

Claims

Revendications claims 1. Procédé de sécurisation d'une connexion à un serveur de données, mettant en œuvre une machine de chiffrement de type Enigma à chiffrement symétrique, comprenant une étape préalable d'inscription d'un client utilisateur auprès dudit serveur de données, caractérisé en ce que cette étape d'inscription comprend : A method of securing a connection to a data server, implementing a symmetric encryption Enigma type encryption machine, comprising a prior step of registering a user client with said data server, characterized in that that this registration step includes: - une saisie par l'utilisateur de paramètres dits d'entrée (202, 204, 206, 208)  a user input of so-called input parameters (202, 204, 206, 208) - un traitement par la machine de chiffrement des paramètres d'entrée pour générer des paramètres temporaires (304, 310), comprenant au moins une étape de traitement aléatoire et une génération de paramètres de sortie (420, 428), a processing by the encryption machine of the input parameters to generate temporary parameters (304, 310), comprising at least one random processing step and an output parameter generation (420, 428), - une détermination de données de sécurisation comprenant une position initiale de rotors (104) et d'un alphabet de chiffrement (102) pour ladite machine de chiffrement, à partir desdits paramètres temporaires, lesdites données de sécurisation étant enregistrées par ledit serveur et des identifiants de connexion étant transmis audit client.  a security data determination comprising an initial position of rotors (104) and an encryption alphabet (102) for said encryption machine, from said temporary parameters, said security data being recorded by said server and identifiers connection being transmitted to said client. 2. Procédé selon la revendication 1, caractérisé en ce que le traitement des paramètres d'entrée comprend : Method according to claim 1, characterized in that the processing of the input parameters comprises: - une étape de détermination d'une configuration d'une machine de type Enigma,  a step of determining a configuration of an Enigma type machine, - une étape d'utilisation de ladite configuration pour générer les données de sécurisation à partir desdits identifiants de connexion et paramètres.  a step of using said configuration to generate the security data from said connection identifiers and parameters. 3. Procédé selon l'une des revendications 1 ou 2, caractérisé en ce que la connexion du client au serveur de données est conditionnée par une étape d'authentification comprenant: 3. Method according to one of claims 1 or 2, characterized in that the connection of the client to the data server is conditioned by an authentication step comprising: - une étape de saisie et/ou d'envoi audit serveur des données de sécurisation,  a step of inputting and / or sending to said server the security data, - une étape de vérification par ledit serveur desdites données de sécurisation reçues, - une autorisation d'accès au serveur de données dans le cas où l'étape de vérification est concluante. a step of verification by said server of said received security data, an access authorization to the data server in the case where the verification step is conclusive. 4. Procédé selon l'une quelconque des revendications précédentes, caractérisé en ce qu'il comprend en outre une étape pour télécharger depuis le serveur sur le client un logiciel implémentant la machine de chiffrement. 4. Method according to any one of the preceding claims, characterized in that it further comprises a step for downloading from the server on the client software implementing the encryption machine. 5. Procédé selon l'une quelconque des revendications précédentes, caractérisé en ce qu'il comprend une étape de création d'un fichier de conversion de code sur le serveur. 5. Method according to any one of the preceding claims, characterized in that it comprises a step of creating a code conversion file on the server. 6. Procédé selon l'une quelconque des revendications précédentes, caractérisé en ce qu'il comprend en outre une étape pour inscrire un utilisateur invité par un client déjà inscrit. 6. Method according to any one of the preceding claims, characterized in that it further comprises a step for registering a guest user by a customer already registered. 7. Procédé selon l'une quelconque des revendications précédentes, caractérisé en ce qu'il est mis en œuvre pour une dépose par un client de fichiers sur le serveur opéré en tant que coffre-fort. 7. Method according to any one of the preceding claims, characterized in that it is implemented for a file by a client files on the server operated as a safe. 8. Procédé selon l'une quelconque des revendications précédentes, caractérisé en ce qu'il est mis en œuvre pour une communication entre un client et un invité, par utilisation conjointe du serveur, d'une messagerie électronique et de la machine de chiffrement. 8. Method according to any one of the preceding claims, characterized in that it is implemented for a communication between a client and a guest, by joint use of the server, an electronic mail and the encryption machine. 9. Procédé selon la revendication 8, caractérisé en ce qu'il est mis en œuvre dans une machine à état d'une communication entre un client et un invité. 9. Method according to claim 8, characterized in that it is implemented in a state machine of a communication between a client and a guest. 10. Procédé selon la revendication 9, caractérisé en ce qu'il comprend une mise en place sur le serveur d'un jeton (j) indiquant l'état de la communication entre le client et l'invité, ledit jeton n'existant qu'une fois la communication initiée. 10. Method according to claim 9, characterized in that it comprises an implementation on the server of a token (j) indicating the state of the communication between the client and the guest, said token existing only once communication is initiated.
PCT/EP2013/058011 2012-05-03 2013-04-17 Method of securing access to a data server Ceased WO2013164194A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR1254041A FR2990317B1 (en) 2012-05-03 2012-05-03 METHOD FOR SECURING ACCESS TO A DATA SERVER
FR1254041 2012-05-03

Publications (1)

Publication Number Publication Date
WO2013164194A1 true WO2013164194A1 (en) 2013-11-07

Family

ID=47019083

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/EP2013/058011 Ceased WO2013164194A1 (en) 2012-05-03 2013-04-17 Method of securing access to a data server

Country Status (2)

Country Link
FR (1) FR2990317B1 (en)
WO (1) WO2013164194A1 (en)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020035684A1 (en) * 2000-09-20 2002-03-21 Robert Vogel Method and apparatus for authorizing the transfer of information
US20070115494A1 (en) * 2005-11-18 2007-05-24 Hidetomo Nakayama Image processing system, information processing device, computer readable recording medium, and information processing method
EP2116951A2 (en) * 2008-05-05 2009-11-11 Sony Corporation System and method for effectively performing data restore/migration procedures
US20110072264A1 (en) * 2009-09-21 2011-03-24 Mcnulty James Secure information storage and retrieval apparatus and method

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020035684A1 (en) * 2000-09-20 2002-03-21 Robert Vogel Method and apparatus for authorizing the transfer of information
US20070115494A1 (en) * 2005-11-18 2007-05-24 Hidetomo Nakayama Image processing system, information processing device, computer readable recording medium, and information processing method
EP2116951A2 (en) * 2008-05-05 2009-11-11 Sony Corporation System and method for effectively performing data restore/migration procedures
US20110072264A1 (en) * 2009-09-21 2011-03-24 Mcnulty James Secure information storage and retrieval apparatus and method

Also Published As

Publication number Publication date
FR2990317A1 (en) 2013-11-08
FR2990317B1 (en) 2015-05-01

Similar Documents

Publication Publication Date Title
EP2619941B1 (en) Method, server and system for authentication of a person
EP1549011A1 (en) Communication method and system between a terminal and at least a communication device
FR2930390A1 (en) METHOD FOR SECURE DIFFUSION OF DIGITAL DATA TO AN AUTHORIZED THIRD PARTY
EP2213038A1 (en) Information system and method of identifying a user by an application server
FR2793367A1 (en) AUTHENTICATION AND SECURITY DEVICE FOR A COMPUTER NETWORK
EP3790223A1 (en) Generation of a multi-user contextual wallet of private keys and use of such a wallet
FR3041798A1 (en) IMPROVED AUTHENTICATION METHOD AND DEVICE
EP2301187A1 (en) Terminal for strong authentication of a user
WO2003107587A1 (en) Interface method and device for the on-line exchange of contents data in a secure manner
EP3965361B1 (en) Data exchange between a client and a remote device, for example a secure module
WO2016102834A1 (en) Method for authenticating a user and a secure module, associated electronic apparatus and system
EP3673633B1 (en) Method for authenticating a user with an authentication server
EP3729307B1 (en) Methods and devices for enrolling and authenticating a user with a service
WO2013164194A1 (en) Method of securing access to a data server
WO2023057652A1 (en) Security application for an it device, and corresponding security architecture
EP3899765B1 (en) Reinitialization of an application secret by way of the terminal
EP2630746B1 (en) Authentication method and system
FR3141538A1 (en) METHOD AND DEVICE FOR DISTRIBUTED ONLINE STORAGE OF FILES IN A ZERO TRUST CONTEXT
EP2115657A2 (en) Method and system for authorizing access to a server
EP1992104B1 (en) Authenticating a computer device at user level
WO2016156737A1 (en) Method for obtaining a list of at least one piece of sensitive data
FR2898423A1 (en) Certified electronic signature generating device e.g. chip card, configuring method for e.g. computer, involves updating certificate to user upon reception of denomination and number by certificate producer so as to be used with device
FR2862827A1 (en) User security information management process for use in enterprise network, involves coding server key in directory using server secret key, and authorizing server key to provide security information to user
FR2963526A1 (en) MOBILE TELEPHONE HAVING A SECURE IDENTIFICATION SYSTEM

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 13721290

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 13721290

Country of ref document: EP

Kind code of ref document: A1