Patent ID: 8484484

Claim:
A process for sending an executable code to a security module locally connected to a receiving device, this security module including a microcontroller and a memory, said memory including at least one executable area provided to contain instructions suitable to be executed by said microcontroller, and at least one non-executable area, wherein the microcontroller cannot execute the instructions, wherein the process comprises the following steps: a) dividing the executable code into blocks; b) adding at least one block management code to said blocks, in order to create an extended block, this extended block having a size at the most equal to that of the executable area of the memory, said at least one block of management code containing instructions executable by said microcontroller, the execution of said instructions being used to manage a transfer of the blocks to the memory; c) introducing the content of an extended block in a message of the type to be processed in the receiving device, in such a way that the whole executable code is contained in a plurality of messages; d) sending a message to the receiving device, this message containing one of the extended blocks different from the first extended block, the first extended block containing the start of the executable program; e) processing said message in order to extract its extended block; f) storing the executable code and said at least one management code of the block received in the executable area of the memory; g) executing at least one instruction included in the management code of said extended block, the execution of said at least one instruction included in this management code having the effect of transferring the content of the block into a non-executable area of the memory; h) repeating the steps d) to g) until all the extended blocks are stored in said non-executable area of the memory, except for the first block; i) sending a message containing the first extended block to the receiving device; j) processing said message in order to extract its extended block; k) storing the executable code of the block received in the executable area of the memory.