Patent ID: 7624276

Claim:
A method comprising: accessing a header including a data structure and a set of hash values; obtaining from the data structure a first root hash of a hierarchical hash tree; computing a second root hash from the set of hash values; comparing the first root hash to the second root hash; if the first root hash and the second root hash match, obtaining an encrypted key from the data structure; securely decrypting the encrypted key; securely storing the key such that the key is not passed in the clear; providing a reference to the key; decrypting a data block with the reference to the key; loading authentication data from a sub-block associated with the data block; identifying, in the authentication data, a first set of hash values associated with a first level of the hierarchical hash tree; computing a cryptographic hash of the data block to determine a first hash value; comparing the first hash value to a corresponding value in the first set of hash values; rejecting a block data request if the first hash value and the corresponding value in the first set of hash values do not match.