A system on chip comprising: a main processor , a security processor and a security nonvolatile memory, NVM, ; the main processor configured to load a first firmware to boot the security processor and configured to activate an update indicator when a second firmware is stored in a main the NVM , wherein the second firmware is different from the first firmware; and the security NVM containing first version information and user permission indicator ; wherein the security processor is configured to: activate a user permission indicator in response to receive user authentication information including user identification (ID) and a password, the user authentication information being stored in the security NVM ; verify the user using the stored user authentication information ; generate and store the first version information including a hash value of the first firmware which is running when the user permission indicator is activated; when the update indicator is inactive, perform booting by loading the first firmware; compare version information of the first loaded firmware with the first version information when the user permission indicator is activated; and execute the first loaded firmware in response to matching of the comparison result, and wherein the security processor is implemented on a same chip as the main processor . a main processor , a security processor and a security nonvolatile memory, NVM, ; the main processor configured to load a first firmware to boot the security processor and configured to activate an update indicator when a second firmware is stored in a main the NVM , wherein the second firmware is different from the first firmware; and the security NVM containing first version information and user permission indicator ; wherein the security processor is configured to: activate a user permission indicator in response to receive user authentication information including user identification (ID) and a password, the user authentication information being stored in the security NVM ; verify the user using the stored user authentication information ; generate and store the first version information including a hash value of the first firmware which is running when the user permission indicator is activated; when the update indicator is inactive, perform booting by loading the first firmware; compare version information of the first loaded firmware with the first version information when the user permission indicator is activated; and execute the first loaded firmware in response to matching of the comparison result, and wherein the security processor is implemented on a same chip as the main processor . activate a user permission indicator in response to receive user authentication information including user identification (ID) and a password, the user authentication information being stored in the security NVM ; verify the user using the stored user authentication information ; generate and store the first version information including a hash value of the first firmware which is running when the user permission indicator is activated; when the update indicator is inactive, perform booting by loading the first firmware; compare version information of the first loaded firmware with the first version information when the user permission indicator is activated; and execute the first loaded firmware in response to matching of the comparison result, and wherein the security processor is implemented on a same chip as the main processor . <EOS>