Abstract:
The invention proposes a method of loading files from a client to at least one target server, the method comprising the following steps: transmitting, from the client to the target server, a set of data obtained from said files to be loaded, at least some of the data of said set being encoded; requesting, from the client, an authenticity check, by the target server, on the data of said set from at least some of said encoded data; and when the authenticity of the data of said set has been checked successfully by the target server, loading said files according to a predetermined format from the client to the target server.

Description:
BACKGROUND OF THE INVENTION  
       [0001]     The present invention relates to the loading (or downloading) of files from a client to a target server. It relates more particularly to the loading of applications to servers on board an air transport means.  
         [0002]     Methods of loading files to so-called avionics servers, that is, servers used in the context of operation of an air transport means such as an airplane, are currently known. They are based on protocols specifically created for this usage.  
         [0003]      FIG. 1  illustrates a file load mode according to such a method of the prior art. A set of files  1  has to be loaded from a client to an avionics type server  5  among a plurality of servers  5 - 6  of a group  4 . The files  1  are, for example, the set of files needed to install and run a computer application, that is, for example, data files, binary files and associated configuration files.  
         [0004]     The files  1  are organized to conform to a predetermined format. This format is typically the one defined in the ARINC 665 standard, as drawn up and published by the AEEC (Airlines Electronic Engineering Committee). This format mainly comprises the files to be loaded themselves, and a header listing the different files to be loaded and including various additional simple information, such as a data integrity check field, in the form of a cyclic redundancy code, or CRC (see section 4.0 of ARINC report 665) and a unique identifier commonly called PN or “Part Number” (see section 2.1 of ARINC report 665).  
         [0005]     The set of data  2  obtained after formatting the files  1  is then made available to a client  3 , for example by reading, on the client, a computer medium on which the set of data  2  has been stored. The client  3  concerned is, for example, an application, that is, a computer program, running on a machine and dedicated to the loading of data to avionics servers. It is often designated DLCS (“Data Loading and Configuration System”). It is further designed to offer a man-machine interface, enabling in particular a user to control a load.  
         [0006]     Then, the DLCS client  3  loads the set of data  2  in the ARINC 665 format to a server  5  chosen from the group of avionics servers  5 - 6  of the group  4 . To do this, a specific communication protocol is used between the client  3  and the server  5 : this is the ARINC 615A protocol which is also the subject of a report drawn up and published by the AEEC standardization organization.  
         [0007]     According to the ARINC 615A protocol, the DLCS  3  transmits the header of the data set  2  to the server  5  which is the load target. The server  5  then analyzes this header and deduces from it the list of files to be loaded. The files contained in the data set  2  in the ARINC 665 format are then loaded to the server  5  which checks their integrity using the corresponding check field included in the header transmitted previously. In this communication mode, the target, that is, the server  5 , is by turns client and server, since it requires the loading of the different files based on the list of files available to it. Similarly, the client can become file server, which precludes the use of light clients. This mode of operation also makes communication clumsy and relatively slow.  
         [0008]     Furthermore, the interchanges between the DLCS  3  and the server  5  carried out according to the ARINC 615A communication protocol use TFTP (Trivial File Transfer Protocol) as the transfer protocol (see ARINC report 615A, section 5.3.2). The TFTP is in particular described in the technical specification RFC 1350, published in July 1992 by the IETF (Internet Engineering Task Force). The use of this transfer protocol also contributes to making the interchanges between the DLCS  3  and the server  5  relatively slow.  
         [0009]     In addition to the loading of files to avionics servers, in particular for setting up dedicated applications, it may be advantageous to load files to other types of servers, also on board but not specific to the avionics domain, for example standard application servers (Web servers, for example). Such file loads could thus be used to set up new services in air transport.  
         [0010]     Now, the use of a loading method used in an avionics context, such as that described above with reference to  FIG. 1 , would not be satisfactory for a number of reasons in such a context. First of all, the standard servers sold commercially are not suited to the use of avionics protocols, in particular the ARINC 615A protocol. Furthermore, even if these servers were upgraded to support the ARINC 615A communication protocol, the situation would not be ideal since ARINC 615A is designed for small file transfers occurring in an environment that is already more than adequately secure, which is not always the case for non-dedicated applications.  
         [0011]     Moreover, there is no standard protocol for loading data outside the avionics-specific context, that is, in what is often called the “open world”. In practice, there are multiple communication protocols between two communication entities, and a multitude of different file formats and a large number of transfer and transport protocols (HTTP, FTP, UDP, etc). This makes it very difficult to provide a uniform load solution.  
         [0012]     Furthermore, the use of “open world” file formats does not allow compatibility with the loading tools used in the avionics sector, so it would be necessary to have two ranges of loading tools: a first for loading specific applications to avionics servers and a second for loading non-dedicated applications to standard servers.  
         [0013]     Moreover, a file load to an onboard server according to an “open world” protocol raises problems of security, since it does not guarantee the authenticity of the files loaded, or the consistency of the files in the case of simultaneous loads to one and the same target.  
         [0014]     One object of the present invention is to overcome the abovementioned problems.  
         [0015]     Another object of the invention is to enable a fast, secure and authenticated file load to standard servers, where appropriate followed by the installation of an application from the loaded files.  
         [0016]     Yet another object of the invention is to preserve a degree of compatibility with the loading tools used in the avionics sector.  
       SUMMARY OF THE INVENTION  
       [0017]     The invention thus proposes a method of loading files from a client to at least one target server, the method comprising the following steps: 
        transmitting, from the client to the target server, a set of data obtained from said files to be loaded, at least some of the data of said set being encoded;     requesting, from the client, an authenticity check, by the target server, on the data of said set from at least some of said encoded data; and     when the authenticity of the data of said set has been checked successfully by the target server, loading said files according to a predetermined format from the client to the target server.        
 
         [0021]     Integrity checks on the data received on the server can furthermore be carried out on receipt of said set of data by the target server.  
         [0022]     Advantageously, the files concerned are the set of files needed to install and run an application. In this case, an installation request is also advantageously transmitted by the client to the target server.  
         [0023]     At least some of the servers of the group of servers are advantageously servers from the “open world”, that is standard, non-dedicated servers, unlike avionics servers. At least some of the servers can be onboard in an air transport means, such as an airplane for example.  
         [0024]     The client originating the load may furthermore be suitable for loading files to avionics servers. This ensures a certain degree of compatibility of the loading tools between the two “open” and “avionics” worlds.  
         [0025]     With the same object in mind, the files are advantageously loaded according to a format used in the avionics sector, such as ARINC 665.  
         [0026]     However, the transfer protocol used for the load is preferably a standard protocol, such as HTTPS, and not a protocol from the avionics sector.  
         [0027]     The invention further proposes a device organized to load files to at least one target server, comprising: 
        means for transmitting to the target server a set of data obtained from said files to be loaded, at least some of the data of said set being encoded;     means for requesting an authenticity check, by the target server, on the data of said set from at least some of said encoded data; and     means, when the authenticity of the data of said set has been checked successfully by the target server, for loading said files to the target server according to a predetermined format.        
 
         [0031]     The device concerned is a client machine in its relationship with the target server.  
         [0032]     The invention also proposes a computer program product to be installed on a device, comprising instructions for implementing the following steps, on execution of the program by a processing unit of said device: 
        transmitting, from the client to the target server, a set of data obtained from said files to be loaded, at least some of the data of said set being encoded;     requesting, from the client, an authenticity check, by the target server, on the data of said set from at least some of said encoded data; and     when the authenticity of the data of said set has been checked successfully by the target server, loading said files according to a predetermined format from the client to the target server.       
 
     
    
     BRIEF DESCRIPTION OF THE DRAWINGS  
       [0036]      FIG. 1 , already discussed, is a diagram illustrating a method of loading files to avionics servers according to a method of the prior art;  
         [0037]      FIG. 2  is a diagram illustrating a method of loading files to “open world” servers according to the invention;  
         [0038]      FIG. 3  is a diagram illustrating the main interchanges involved in the context of a file load according to the invention; and  
         [0039]      FIG. 4  is a diagram illustrating an advantageous format of a secured header used in the context of a file load according to the invention. 
     
    
     DESCRIPTION OF PREFERRED EMBODIMENTS  
       [0040]      FIG. 2  diagrammatically represents an architecture of a system designed to implement a file load according to the invention. This system comprises in particular a group  11  of “open world” servers  12 - 13 , that is of standard, non-avionics servers, and a group  14  of avionics servers  15 - 16 . It further comprises a client  10  which is based on a DLCS application as described in the introduction, and a light client  10   a  which is not specific to the avionics domain, such as a Web browser for example. The client concerned can be a machine, or even an application, that is a computer program, installed on such a machine.  
         [0041]     The description below is concerned with a file load from a client to a target server  12  of the group  11  of standard servers  12 - 13 . The files  7  to be loaded are, for example, the set of files needed to define and install a given application.  
         [0042]     According to the invention, a set of data is constructed from files  7  to be loaded to the server  12 . This set of data  8  is hereinafter called “secured header”. It comprises data relating to the files  7  to be loaded, and encoded data derived from the files to be loaded designed to ensure the authenticity and integrity of the data transmitted.  
         [0043]      FIG. 4  shows an example of format for such a secured header  8 . The latter comprises a list of the files  7  to be loaded in a part  20  of the secured header. It also advantageously comprises at least one field  21  for checking the integrity of the data contained in the secured header, for example in the form of a cyclic redundancy code, or CRC, computed from the list of files present in the part  20  of the header. The integrity check field  21  is used by the recipient of the secured header  8  to check, in a manner known per se, that the data received in this header does indeed conform to that which has been transmitted.  
         [0044]     Furthermore, the secured header  8  contains a signature  22  obtained, for example, by hashing the list of files in the part  20  and the check field  21  (hashing is an encoding operation known per se, consisting in computing a binary sequence of restricted size from a larger numeric content). The signature is moreover encrypted using a private key. When the secured header  8  is received by its recipient, the latter can then decrypt the signature  22  using a public key, in a manner known per se. It further carries out the same hashing on the data of the secured header  8  received as that used to generate the signature  22 , for the purpose of checking the latter. The authenticity of the secured header  8  is thus checked.  
         [0045]     Finally, the secured header  8  of the example illustrated in  FIG. 4  can contain a series of certificates  23 - 24  relating to respective certification authorities. These certificates include the public key used to decrypt the signature  22 .  FIG. 4  shows two certificates, but it is obviously clear that a single certificate or indeed more than two certificates could be used. The verification of these certificates by the recipient of the secured header  8 , in a manner known per se, guarantees the authenticity of the signature  22  and therefore ensures the authenticity of the secured header  8 .  
         [0046]     Moreover, the data from the files  7  to be loaded is organized to comply with a predetermined format. Advantageously, this format is the same as that used in the avionics sector, that is, ARINC 665 as mentioned in the introduction. The result is a set of data  9  in the ARINC 665 format.  
         [0047]     A client, which can be the DLCS client  10  or even the light client  10   a,  can then perform the loading of the files  7  to the target server  12 . For this purpose, it has the secured header  8  and the set of data  9  in the ARINC 665 format mentioned above. The provision of these elements on the client can result, for example, from the reading, by the client, of a computer medium on which these elements have previously been stored. As a variant, it can result from a data transmission. As another variant, the secured header  8  and the set of data  9  in the ARINC 665 format can be generated directly on the client concerned or at least on the machine on which the client is installed.  
         [0048]     A method of loading files  7  from the client to the server according to the invention is described below with reference to  FIG. 3 . The client  17  of  FIG. 3  can, for example, be the client  10  or the client  10   a  of  FIG. 2 , while the server  18  of  FIG. 3  can, for example, be the server  12  of  FIG. 2 .  
         [0049]     First, the client  17  transmits the secured header  8  to the server  18 , this secured header being advantageously in the form described above with reference to  FIG. 4  (step  25 ). The secured header is thus loaded on to the server  18 , for example in a temporary directory.  
         [0050]     Then, the client  17  sends an authenticity check request to the server  18  (step  26 ), for the latter to check the certificates included in the secured header  8  previously loaded. On receipt of this request, the server  18  then checks the certificates. If the latter are valid, that is, if they are indeed from authorized certification authorities and are in force, the server then advantageously creates a dedicated directory to receive the files to be loaded. Otherwise, no dedicated directory is created by the server  18 , so the load cannot take place. This ensures that the files will be loaded only when the authenticity of the data in the secured header  8  has been checked successfully.  
         [0051]     When the check on the authenticity of the data has been completed successfully, the client  17  then transmits the set of data  9  generated from the files to be loaded, said set being in the ARINC 665 format (step  27 ). The set of data  9  is then loaded to the target server  12 , for example in the dedicated directory created in the previous step. This ensures consistency if files are simultaneously loaded to one and the same target server, each of the sets of files loaded being placed in a separate directory, for example based on the corresponding PN. After receipt of this set of data  9 , the server  12  then has all the files  7 . It can then check that all the files  7  announced in the secured header have indeed been received. It can also check the integrity of the corresponding data.  
         [0052]     When the files  7  relate to an application, the client  17  can then transmit to the server  18  an installation request (step  28 ). On receipt of this request, the server runs an installation script contained in the files previously loaded. Advantageously, the server  18  moves the files  7  received into a final directory before installing the application. The result of the installation is finally returned to the client  17 .  
         [0053]     At the transfer level, the interchanges between the client  17  and the server  18  are advantageously carried out using the secured hypertext transfer protocol (HTTP), otherwise known as HTTPS, that is, the HTTP protocol designed to support the standardized SSL (“Secure Socket Layer”) protocol. The HTTPS transfer protocol is a protocol widely used in the “open world”, which ensures interoperability with most software and equipment. It also has the advantage of offering a certain degree of security in the data transfer. In particular, it enables the client  17  originating the load to be authenticated. This protocol is used in particular for each of the transmissions illustrated in  FIG. 3 . Of course, any other transfer level protocol can be used instead of HTTPS for the transfer of the interchanges between the client  17  and the server  18 .  
         [0054]     In the data interchange mode described above with reference to  FIG. 3 , the server  18  is therefore always used as a server, and does not become a client during the file load, which presents an advantage over the load solution used in the avionics sector described in the introduction. This increases the speed and simplicity of the interchanges between client and server according to the invention.  
         [0055]     It will be noted that the use of the ARINC 665 file format for loading files to “open world” servers offers the advantage of enabling re-use of the load tools used in the avionics sector. In practice, the client  10  of  FIG. 2 , for example, is a DLCS which allows a file load to the servers  15 - 16  of the group  14  of avionics servers. This same DLCS can be used to load the files  7  to a server  12  of the group  11  of standard “open world” servers according to the principles described above. Furthermore, the simplicity of the ARINC 665 protocol enables the servers  12 - 13  to receive the files loaded according to the invention, without any particular development being needed on these servers, since this format consists mainly of a succession of files to be loaded, with an additional header.  
         [0056]     With this arrangement, the same man-machine interface can be used, that is, that of the DLCS client, to load applications to an avionics server and to an “open world” server. It is also possible to use the simple interface of a light client, such as the client  10   a  of  FIG. 2 . It is even possible to do without a man-machine interface.  
         [0057]     It will thus be understood that the arrangement described with reference to  FIGS. 2-4  makes it possible to implement a file load to “open world” servers which is secured, relatively fast and controlled from a client machine. Furthermore, the use of a secured header upstream of the loading of the data in ARINC 665 format ensures the authenticity of the files loaded. Finally, this arrangement provides a high degree of compatibility with the loading tools of the avionics sector.  
         [0058]     In another embodiment of the invention, the client  17  does not directly load some of the files, but it transmits, instead, to the server  18 , an address at which these files are available, for example an HTTP address. To this end, an HTTP server is available from the target. The server  18 , on receipt of the HTTP address, then recovers the files from the specified address.