Patent ID: 8078871

Claim:
A verification apparatus, comprising: a verifying unit that determines whether a device has a shared private key with the verification apparatus by checking whether a first authentication code generated by the verifying unit matches a second authentication code generated by the device; a calculating unit that, when the device has the shared private key with the verification apparatus, fills empty areas of a memory of the device with first random numbers based on a pre-stored memory filling map and generates a local check code that verifies an integrity of the memory by reading contents of the memory filled with the first random numbers; an interface unit that transmits, to the device, information on the first authentication code generated by the verifying unit and an integrity check parameter used to generate a remote check code generated by the device that verifies the integrity of the memory, and receives the second authentication code and the remote check code from the device; and a determining unit that verifies the integrity of the memory by checking if the local check code matches the remote check code, wherein the verifying unit generates the first authentication code using a second random number, wherein the verifying unit comprises: a generating unit that produces the second random number used to generate the first authentication code; and an encoding unit that encrypts the second random number and the shared private key and determines whether the first authentication code generated by the verification apparatus matches the second authentication code generated by the device; wherein the verification apparatus is communicably connected to the device over a network, to remotely verify the integrity of the memory in the device.