A storage device comprising: a boot Read Only Memory, hereinafter referred to as ROM, configured to store a plurality of public keys (235, 236, 237, 238) and a boot ROM image; an One-Time Programmable Memory, hereinafter referred to as OTP memory configured to identify a first public key among the plurality of public keys (235, 236, 237, 238); a first memory including a first area configured to store the plurality of public keys (245, 246, 247, 248) and a flash boot image different from the boot ROM image, and a second area configured to store a first boot signature corresponding to the flash boot image; a second memory including a user data area, and a firmware image area configured to store a first firmware image including a first firmware signature; and a memory controller configured to: receive a second firmware image including a second firmware signature different from the first firmware signature and a second boot signature different from the first boot signature, receive, from the first area of the first memory based on the second firmware image being received, a second public key among the plurality of public keys (245, 246, 247, 248) and the flash boot image, write the second boot signature in the second area of the first memory; write the second firmware image in the firmware image area, and revoke the first public key in response to the reception of the second firmware image. a boot Read Only Memory, hereinafter referred to as ROM, configured to store a plurality of public keys (235, 236, 237, 238) and a boot ROM image; an One-Time Programmable Memory, hereinafter referred to as OTP memory configured to identify a first public key among the plurality of public keys (235, 236, 237, 238); a first memory including a first area configured to store the plurality of public keys (245, 246, 247, 248) and a flash boot image different from the boot ROM image, and a second area configured to store a first boot signature corresponding to the flash boot image; a second memory including a user data area, and a firmware image area configured to store a first firmware image including a first firmware signature; and a memory controller configured to: receive a second firmware image including a second firmware signature different from the first firmware signature and a second boot signature different from the first boot signature, receive, from the first area of the first memory based on the second firmware image being received, a second public key among the plurality of public keys (245, 246, 247, 248) and the flash boot image, write the second boot signature in the second area of the first memory; write the second firmware image in the firmware image area, and revoke the first public key in response to the reception of the second firmware image. receive a second firmware image including a second firmware signature different from the first firmware signature and a second boot signature different from the first boot signature, receive, from the first area of the first memory based on the second firmware image being received, a second public key among the plurality of public keys (245, 246, 247, 248) and the flash boot image, write the second boot signature in the second area of the first memory; write the second firmware image in the firmware image area, and revoke the first public key in response to the reception of the second firmware image.