Method implemented in a computer system for deriving a device unique encryption key of a system on chip using a physical unclonable function, the method including the following steps during a first enrolment: - challenging the physical unclonable function, - then error correcting the response of the physical unclonable function, - then generating helper data (H-D) by using the corrected response of the physical unclonable function and a manufacturer's encryption key (OR-K) in an enrolment module, - and then storing the helper data (H-D) which can be used to generate a reconstructed encryption key (REC-K) and keeping the enrolment module enabled after the first enrolment; the method furthermore comprising the following steps during updating of the firmware: - sending a firmware image which is encrypted with the said manufacturer's encryption key (OR-K) and which contains both a new software and a new manufacturer's encryption key, whereas the new software itself has been encrypted with the new manufacturer's encryption key, - challenging the physical unclonable function on the firmware update command, - error correcting the response of the physical unclonable function, - generating a reconstructed encryption key (REC-K) by using the helper data (H-D) stored during first enrolment and the corrected response of the physical unclonable function, - decrypting the firmware image by using the reconstructed encryption key (REC-K), - triggering the enrolment module (ENR) to generate new helper data based on the new manufacturer's encryption key from within the firmware image and based on the corrected response of the physical unclonable function, - storing the new software which is encrypted with the new manufacturer's encryption key, - generate new helper data by using the corrected response of the physical unclonable function and the new manufacturer's encryption key, - deleting the new manufacturer's encryption key. - challenging the physical unclonable function, - then error correcting the response of the physical unclonable function, - then generating helper data (H-D) by using the corrected response of the physical unclonable function and a manufacturer's encryption key (OR-K) in an enrolment module, - and then storing the helper data (H-D) which can be used to generate a reconstructed encryption key (REC-K) and keeping the enrolment module enabled after the first enrolment; - sending a firmware image which is encrypted with the said manufacturer's encryption key (OR-K) and which contains both a new software and a new manufacturer's encryption key, whereas the new software itself has been encrypted with the new manufacturer's encryption key, - challenging the physical unclonable function on the firmware update command, - error correcting the response of the physical unclonable function, - generating a reconstructed encryption key (REC-K) by using the helper data (H-D) stored during first enrolment and the corrected response of the physical unclonable function, - decrypting the firmware image by using the reconstructed encryption key (REC-K), - triggering the enrolment module (ENR) to generate new helper data based on the new manufacturer's encryption key from within the firmware image and based on the corrected response of the physical unclonable function, - storing the new software which is encrypted with the new manufacturer's encryption key, - generate new helper data by using the corrected response of the physical unclonable function and the new manufacturer's encryption key, - deleting the new manufacturer's encryption key. <EOS>