Method implemented in a computer system for protecting the content of different IP cores (IP_A, IP_B) in a system on chip (SoC) using at least one PUF device, characterized by the following steps challenging a first PUF device (PUF_A) of the first IP core (IP_A) and generating first helper data (HD_A) by using the response of the first PUF device (PUF_A) and a first manufacturer's encryption key during the enrolment phase of the first IP core (IP_A) and storing the first helper data (HD_A), - challenging at least a second PUF device (PUF_B) of the second IP core (IP_B) and generating second helper data (HD_B) by using the response of the second PUF device (PUF_B) and a second manufacturer's encryption key during the enrolment phase of the second IP core (IP_B) and storing the second helper data (HD_B), - challenging a monitor's PUF device (PUF_Mon) as part of a monitor (Mon), - generating helper data (HD_Mon_A, HD_Mon_B) by using the response of the monitor's PUF device (PUF_Mon) and the manufacturer's encryption keys of first and second IP cores (IP_A, IP_B) and storing the respective monitor's helper data (HD_Mon_A, HD_Mon_B) during the enrolment phase, - for sending data from the first IP core (IP_A) to the second IP core (IP_B) during normal operation, decrypting data from the first IP core (IP_A) with the monitor (Mon), which is situated as a security gateway between first IP core (IP_A) and second IP core (IP_B) so that communication between first IP core (IP_A) and second IP core (IP_B) is only possible via the monitor (Mon), by using the monitor's PUF device (PUF_Mon) and the stored monitor's helper data (HD_Mon_A) for the first IP core (IP_A) and then, - encrypting the data with the monitor (Mon) by using the monitor's PUF device (PUF_Mon) and the stored monitor's helper data (HD_Mon_B) for the second IP core (IP_B) and sending the so encrypted data to the second IP core (IP_B). - challenging at least a second PUF device (PUF_B) of the second IP core (IP_B) and generating second helper data (HD_B) by using the response of the second PUF device (PUF_B) and a second manufacturer's encryption key during the enrolment phase of the second IP core (IP_B) and storing the second helper data (HD_B), - challenging a monitor's PUF device (PUF_Mon) as part of a monitor (Mon), - generating helper data (HD_Mon_A, HD_Mon_B) by using the response of the monitor's PUF device (PUF_Mon) and the manufacturer's encryption keys of first and second IP cores (IP_A, IP_B) and storing the respective monitor's helper data (HD_Mon_A, HD_Mon_B) during the enrolment phase, - for sending data from the first IP core (IP_A) to the second IP core (IP_B) during normal operation, decrypting data from the first IP core (IP_A) with the monitor (Mon), which is situated as a security gateway between first IP core (IP_A) and second IP core (IP_B) so that communication between first IP core (IP_A) and second IP core (IP_B) is only possible via the monitor (Mon), by using the monitor's PUF device (PUF_Mon) and the stored monitor's helper data (HD_Mon_A) for the first IP core (IP_A) and then, - encrypting the data with the monitor (Mon) by using the monitor's PUF device (PUF_Mon) and the stored monitor's helper data (HD_Mon_B) for the second IP core (IP_B) and sending the so encrypted data to the second IP core (IP_B).