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 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 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 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.