Patent ID: 7444670
Filing Date: 2008-10-28
Classification: G06F,H04L

Abstract:
1. A computer implemented method for migrating a virtual trusted platform module instance, the computer implemented method comprising: adding integrity data to a state of a virtual trusted platform module instance by a parent virtual trusted platform module instance on a source platform, the source platform being on a first physical platform, wherein the integrity data is a migration digest; generating a unique migration identifier by the parent virtual trusted platform module instance on a destination platform; sending the unique migration identifier to the parent virtual trusted platform module instance on the source platform; adding the unique migration identifier to the state of the trusted platform module instance, wherein the parent virtual trusted platform module instance on the source platform adds the unique migration identifier to the state of the virtual trusted platform module instance; serializing each piece of the state of the virtual trusted platform module instance into a byte stream, wherein the parent virtual trusted platform module instance on the source platform forms each serialized byte stream into a source digest accumulating all source digests to form a final source digest; generating a symmetric key by the parent virtual trusted platform module instance on the source platform; encrypting the symmetric key using a public key; exporting the encrypted symmetric key to the parent virtual trusted platform module instance on the destination platform, wherein the parent virtual trusted platform module instance on the destination platform decrypts the encrypted symmetric key by using a private key associated with the public key; encrypting the state of the virtual trusted platform module instance on the source platform with the symmetric key; locking the virtual trusted platform module instance, wherein the state of the virtual trusted platform module instance may be exported after the virtual trusted module instance has been locked and wherein the virtual trusted platform module instance cannot be unlocked once the virtual trusted platform module instance has been locked; locking a child virtual trusted platform module instance on the destination platform, wherein the state of the virtual trusted platform module is imported after the child virtual trusted platform module instance on the destination platform has been locked and wherein the child virtual trusted platform module instance on the destination platform cannot be unlocked unless all the state of the virtual trusted platform module has been imported; exporting the final source digest in a plurality of steps through the parent virtual trusted platform module instance on the source platform; importing the state of the virtual trusted platform module instance in a plurality of steps by streaming from the source platform to the destination platform using a transfer protocol based on a network transmission protocol through a parent virtual trusted platform module instance on the destination platform, the destination platform being on a second physical platform; decrypting the state of the virtual trusted platform module instance on the destination platform with the symmetric key; receiving the serialized byte streams by the parent virtual trusted platform module instance on the destination platform, wherein the parent virtual trusted platform module instance on the destination platform forms each serialized byte stream into a destination digest; verifying the migration identifier by the destination trusted platform module instance validating the integrity data by the parent virtual trusted platform module instance on the destination platform; and accumulating all the destination digests to form a final destination digest and comparing the final source digest to the final destination digest; and deleting the state of the virtual trusted platform module instance on the source platform.