A secure element comprising at least a microprocessor, a non-volatile memory and a communication interface, the secure element being able to communicate with an update device by the communication interface, the non-volatile memory storing at least one bootstrap loader, the microprocessor being configured to execute the bootstrap loader when the secure element is started up, characterized in that the bootstrap loader comprises instructions for executing: - a startup step (E1, E12) to determine whether the non-volatile memory is storing an active operating system, - a step for authenticating the update device, comprising: - determining (E6, E13) first authentication data (AUTH 30) based on a variable (RAND) and a key (MK i) stored in said nonvolatile memory, and - comparing (E7, E14) first authentication data (AUTH 30) and second authentication data (AUTH 10) received from the update device, then - if the non-volatile memory is storing an active operating system, a step for deactivating the operating system, and - in case of authentication of the update device, a step (E9, E10) for storing a new operating system received from the update device in the nonvolatile memory and a step for activating the new operating system, when said instructions are executed by the microprocessor, the secure element further being characterized in that: - if the nonvolatile memory is storing an active operating system, the bootstrap loader launches the execution of the operating system such that the operating system manages the execution of applications and the commands received on the communication interface, and the step for authenticating the update device comprises: - sending, by the operating system, a message containing the variable (RAND) to the update device, and - reception, by the operating system, of the second authentication data (AUTH10), - querying, by the operating system, of the bootstrap loader so that the bootstrap loader verifies the second authentication data (AUTH10), - if the operating system is inactive, the bootstrap loader remains master such that the commands received on the communication interface are managed by the bootstrap loader, and the step for authenticating the update device comprises: - sending, by the bootstrap loader, of a message containing the variable (RAND) to the update device, - reception, by the bootstrap loader, of the second authentication data (AUTH10). - a startup step (E1, E12) to determine whether the non-volatile memory is storing an active operating system, - a step for authenticating the update device, comprising: - determining (E6, E13) first authentication data (AUTH 30) based on a variable (RAND) and a key (MK i) stored in said nonvolatile memory, and - comparing (E7, E14) first authentication data (AUTH 30) and second authentication data (AUTH 10) received from the update device, then - determining (E6, E13) first authentication data (AUTH 30) based on a variable (RAND) and a key (MK i) stored in said nonvolatile memory, and - comparing (E7, E14) first authentication data (AUTH 30) and second authentication data (AUTH 10) received from the update device, then - if the non-volatile memory is storing an active operating system, a step for deactivating the operating system, and - in case of authentication of the update device, a step (E9, E10) for storing a new operating system received from the update device in the nonvolatile memory and a step for activating the new operating system, - if the nonvolatile memory is storing an active operating system, the bootstrap loader launches the execution of the operating system such that the operating system manages the execution of applications and the commands received on the communication interface, and the step for authenticating the update device comprises: - sending, by the operating system, a message containing the variable (RAND) to the update device, and - reception, by the operating system, of the second authentication data (AUTH10), - querying, by the operating system, of the bootstrap loader so that the bootstrap loader verifies the second authentication data (AUTH10), - sending, by the operating system, a message containing the variable (RAND) to the update device, and - reception, by the operating system, of the second authentication data (AUTH10), - querying, by the operating system, of the bootstrap loader so that the bootstrap loader verifies the second authentication data (AUTH10), - if the operating system is inactive, the bootstrap loader remains master such that the commands received on the communication interface are managed by the bootstrap loader, and the step for authenticating the update device comprises: - sending, by the bootstrap loader, of a message containing the variable (RAND) to the update device, - reception, by the bootstrap loader, of the second authentication data (AUTH10). - sending, by the bootstrap loader, of a message containing the variable (RAND) to the update device, - reception, by the bootstrap loader, of the second authentication data (AUTH10).