CA2655151C

System and method for authenticating a gaming device

Abstract

A method and system are provided for authenticating and securing an embedded device using a secure boot procedure and a full non-volatile memory encryption process that implements Elliptic Curve Pinstov-Vanstone Signature (ECPV) scheme with message recovery on a personalized BIOS and master boot record. The signature includes code that is recovered in order to unlock a key that is in turn used to decrypt the non-volatile memory. The use of ECPVS provides an implicit verification that the hardware is bound to the BIOS since the encrypted memory is useless unless properly decrypted with the proper key.

CA2655151C, drawing sheet 1
Sheet 1 of 28

Term

0.8 yearsleft in the term

Expires 18 July 2027.

  1. Priority and filed
  2. Granted
  3. Today
  4. Expires

99 claims: 13 independent, 86 dependent

  1. 1
    CA 02655151 2014-12-18 Claims:1. A method for securing content for use in operating a device, the method comprising: designating a first content portion and a second content portion;storing a first value on said device;generating a first signature on said first content portion, said first signature comprising a first signature component which encrypts a second value such that said first value is required to decrypt said second value from said first signature component;generating a second signature on said second content portion, said second signature comprising a second signature component which encrypts said second value such that said second value encrypted in said second signature component is required to decrypt said second value encrypted in said second signature component;and if a third content portion is added to said device, generating a third signature on said third content portion, said third signature comprising a third signature component which encrypts said second value such that said second value recovered from said signature component is required to decrypt said second value encrypted in said third signature component.
  2. 10
    A method for authenticating content to be used in operating a device, the method comprising:obtaining a first value stored on said device;obtaining a first signature on a first content portion, said first signature comprising a first signature component which encrypts a second value such that said first value is required to decrypt said second value from said first signature component;recovering said second value by decrypting said first signature component using said first value;obtaining a second signature on a second content portion, said second signature comprising a second signature component which encrypts said second value such that said -41 22601671.1 CA 02655151 2014-12-18 second value recovered from said first signature component is required to decrypt said second value encrypted in said second signature component;recovering said second value encrypted in said second signature component by decrypting said second signature component using said second value recovered from said first signature component;if one or more third content portions have been added to said device, obtaining one or more third signatures comprising respective signature components which encrypt said second value such that said second value recovered from a previous signature component is required to decrypt said second value encrypted in said respective signature component, and recovering said second value encrypted in said respective signature component by decrypting said respective signature component;and authenticating said content by comparing a final value recovered from a signature component on a last of said second or one or more third content portions with a stored value.
  3. 21
    A method for downloading a new content portion to be added to content used in operating a device, said method comprising:obtaining a first signature on a first content portion used in operating said device, said first signature comprising a signature component which encrypts an intermediate value such that said intermediate value can be recovered using a value stored on said device;-4322601671.1 CA 02655151 2014-12-18 recovering said intermediate value from said first signature on said first content portion using said value stored on said device;obtaining a second signature on said new content portion, said second signature comprising a second signature component which encrypts said intermediate value such that said intermediate value encrypted in said first content portion is required to decrypt said intermediate value encrypted in said second signature component;using said intermediate value recovered from said first signature to decrypt said intermediate value encrypted in said second signature component;obtaining a third signature on a second content portion, said third signature comprising a third signature component which encrypts a next value such that said intermediate value encrypted in said second content portion is required to decrypt said next value encrypted in said third signature component;using said intermediate value recovered from said second signature component to decrypt said next value from said third signature component;using said next value as a key for a keyed hash function, and applying said keyed hash function to another content portion to obtain an authentication code;and comparing said authentication code to a stored authentication code previously generated using said other component to authenticate said new content portion.
  4. 22
    A computer readable medium comprising computer executable instructions for securing content for use in operating a device, the computer executable instructions comprising instructions for:designating a first content portion and a second content portion;storing a first value on said device;generating a first signature on said first content portion, said first signature comprising a first signature component which encrypts a second value such that said first value is required to decrypt said second value from said first signature component;generating a second signature on said second content portion, said second signature comprising a second signature component which encrypts said second value such that said second value encrypted in said second signature component is required to decrypt said second value encrypted in said second signature component;and -4422601671.1 CA 02655151 2014-12-18 if a third content portion is added to said device, generating a third signature on said third content portion, said third signature comprising a third signature component which encrypts said second value such that said second value recovered from said signature component is required to decrypt said second value encrypted in said third signature component.
  5. 31
    A computer readable medium comprising computer executable instructions for authenticating content to be used in operating a device, said computer executable instructions comprising instructions for:obtaining a first value stored on said device;obtaining a first signature on a first content portion, said first signature comprising a first signature component which encrypts a second value such that said first value is required to decrypt said second value from said first signature component;recovering said second value by decrypting said first signature component using said first value;obtaining a second signature on a second content portion, said second signature comprising a second signature component which encrypts said second value such that said second value recovered from said first signature component is required to decrypt said second value encrypted in said second signature component;recovering said second value encrypted in said second signature component by decrypting said second signature component using said second value recovered from said first signature component;if one or more third content portions have been added to said device, obtaining one or more third signatures comprising respective signature components which encrypt said second -4622601671.1 CA 02655151 2014-12-18 value such that said second value recovered from a previous signature component is required to decrypt said second value encrypted in said respective signature component, and recovering said second value encrypted in said respective signature component by decrypting said respective signature component;and authenticating said content by comparing a final value recovered from a signature component on a last of said second or one or more third content portions with a stored value.
  6. 42
    A computer readable medium comprising computer executable instructions for:downloading a new content portion to be added to content used in operating a device, said computer executable instructions comprising instructions for: obtaining a first signature on a first content portion used in operating said device, said first signature comprising a signature component which encrypts an intermediate value such that said intermediate value can be recovered using a value stored on said device;recovering said intermediate value from said first signature on said first content portion using said value stored on said device;-4822601671.1 CA 02655151 2014-12-18 obtaining a second signature on said new content portion, said second signature comprising a second signature component which encrypts said intermediate value such that said intermediate value encrypted in said first content portion is required to decrypt said intermediate value encrypted in said second signature component;using said intermediate value recovered from said first signature to decrypt said intermediate value encrypted in said second signature component;obtaining a third signature on a second content portion, said third signature comprising a third signature component which encrypts a next value such that said intermediate value encrypted in said second content portion is required to decrypt said next value encrypted in said third signature component;using said intermediate value recovered from said second signature component to decrypt said next value from said third signature component;using said next value as a key for a keyed hash function, and applying said keyed hash function to another content portion to obtain an authentication code;and comparing said authentication code to a stored authentication code previously generated using said other component to authenticate said new content portion.
  7. 43
    A device comprising a processor and a memory, said processor operable for securing content stored in said memory for use in operating said device by executing computer executable instructions comprising instructions for:designating a first content portion and a second content portion;storing a first value on said device;generating a first signature on said first content portion, said first signature comprising a first signature component which encrypts a second value such that said first value is required to decrypt said second value from said first signature component;generating a second signature on said second content portion, said second signature comprising a second signature component which encrypts said second value such that said second value encrypted in said second signature component is required to decrypt said second value encrypted in said second signature component;and if a third content portion is added to said device, generating a third signature on said third content portion, said third signature comprising a third signature component which encrypts said -4922601671.1 CA 02655151 2014-12-18 second value such that said second value recovered from said signature component is required to decrypt said second value encrypted in said third signature component.
  8. 52
    A device comprising a processor and a memory, said processor operable for authenticating content to be used in operating said device by executing computer executable instructions comprising instructions for:obtaining a first value stored on said device;obtaining a first signature on a first content portion, said first signature comprising a first signature component which encrypts a second value such that said first value is required to decrypt said second value from said first signature component;recovering said second value by decrypting said first signature component using said first value;obtaining a second signature on a second content portion, said second signature comprising a second signature component which encrypts said second value such that said second value recovered from said first signature component is required to decrypt said second value encrypted in said second signature component;recovering said second value encrypted in said second signature component by decrypting said second signature component using said second value recovered from said first signature component;if one or more third content portions have been added to said device, obtaining one or more third signatures comprising respective signature components which encrypt said second value such that said second value recovered from a previous signature component is required to decrypt said second value encrypted in said respective signature component, and recovering said -51 22601671.1 CA 02655151 2014-12-18 second value encrypted in said respective signature component by decrypting said respective signature component;and authenticating said content by comparing a final value recovered from a signature component on a last of said second or one or more third content portions with a stored value.
  9. 63
    A device comprising a processor and a memory, said processor operable for downloading a new content portion to be added to content used in operating said device by executing computer executable instructions comprising instructions for:obtaining a first signature on a first content portion used in operating said device, said first signature comprising a signature component which encrypts an intermediate value such that said intermediate value can be recovered using a value stored on said device;recovering said intermediate value from said first signature on said first content portion using said value stored on said device;-5322601671.1 CA 02655151 2014-12-18 obtaining a second signature on said new content portion, said second signature comprising a second signature component which encrypts said intermediate value such that said intermediate value encrypted in said first content portion is required to decrypt said intermediate value encrypted in said second signature component;using said intermediate value recovered from said first signature to decrypt said intermediate value encrypted in said second signature component;obtaining a third signature on a second content portion, said third signature comprising a third signature component which encrypts a next value such that said intermediate value encrypted in said second content portion is required to decrypt said next value encrypted in said third signature component;using said intermediate value recovered from said second signature component to decrypt said next value from said third signature component;using said next value as a key for a keyed hash function, and applying said keyed hash function to another content portion to obtain an authentication code;and comparing said authentication code to a stored authentication code previously generated using said other component to authenticate said new content portion.
  10. 64
    A method for securing content stored on a device, the content being used in operating the device, the method comprising:designating a plaintext first portion of said content and a plaintext second portion of said content;generating an encrypted portion of said content by encrypting said plaintext first portion using a public key stored on said device, wherein said encrypted portion corresponds to a first signature component;storing said encrypted portion and said plaintext second portion on said device;generating a second signature component using said encrypted first portion and said plaintext second portion;and storing said second signature component on said device to enable said device to obtain said second signature component and said public key to recover said plaintext first portion from said encrypted portion to enable said device to utilize said plaintext first portion, wherein said -5422601671.1 CA 02655151 2014-12-18 first signature component, said second signature component, and said plaintext second portion correspond to a signature to be verified in order to operate said device.
  11. 73
    A method for authenticating content to be used in operating a device, the method comprising:obtaining a signature comprising an encrypted portion of said content corresponding to a first signature component, a second signature component, and a plaintext second portion of said content;obtaining a public key stored on said device, said public key having been used to encrypt a plaintext first portion of said content;utilizing said public key and said signature components to recover said plaintext first portion from said encrypted portion;and implicitly authenticating said content if said plaintext first portion recovered from said encrypted portion is operable on said device.
  12. 83
    A computer readable medium comprising computer executable instructions for performing the method according to any one of claims 64 to 82.
  13. 84
    A device comprising a processor and a memory, said processor operable to perform the method according to any one of claims 64 to 82.
  14. 85
    A method for securing content for use in operating a device, the method comprising:designating a first content portion, at least one second content portion, and a third content portion;storing a first value on said device or having said first value encrypted in a signature on a portion of other content;generating a first signature on said first content portion by encrypting a second value in a first signature component, wherein said first value is used to decrypt said second value from said first signature component;for each second content portion, generating a respective second signature on that second content portion by encrypting said second value in a respective second signature component, -5722601671.1 CA 02655151 2014-12-18 wherein said second value when recovered from said first signature component or another second signature component is used to decrypt said second value from said respective second signature component;and generating a third signature on said third content portion by encrypting a third value in a third signature component, wherein said second value when recovered from one of said second signature components is used to decrypt said third value from said third signature component.
  15. 88
    The method according to any one of claims 85 to 87, further comprising generating an authentication code using said content and storing said authentication code in memory for later comparison during a boot-up procedure.
  16. 90
    The method according to any one of claims 85 to 89, further comprising:providing said third value to be used as a new first value for another component used in operating said device.
  17. 91
    A method for authenticating content associated with a particular component to be used in operating a device, the method comprising:obtaining a first value made available on said device;-5822601671.1 CA 02655151 2014-12-18 obtaining a first signature on a first content portion, said first signature comprising a first signature component which encrypts a second value;recovering said second value by decrypting said first signature component using said first value;obtaining at least one second signature on a respective one of at least one second content portion, each said second signature comprising a respective second signature component which encrypts said second value;for each second signature, recovering said second value by decrypting said respective second signature component using said second value recovered from said first signature component or another second signature component;obtaining a third signature on a third content portion, said third signature comprising a third signature component which encrypts a third value;and recovering said third value by decrypting said third signature component using said second value recovered from one of said at least one second signatures;if said device includes at least one other component to be authenticated, providing said third value as a next first value for a next component used in operating said device;and if no further components are to be authenticated, authenticating said content by comparing said third value recovered from said third signature component with said first value or an initial value stored on the device.
  18. 94
    The method according to any one of claims 91 to 93, further comprising generating an authentication code on said content and comparing said authentication code to a stored authentication code.
  19. 96
    The method according to any one of claims 85 to 95, wherein said first signature component is generated using a first input corresponding to said first value, each of said at least one second signature component is generated using a same second input corresponding to said second value, and said third signature component is generated using a third input corresponding to said third value and, optionally, wherein said values are public keys and said inputs comprise private keys.
  20. 97
    A computer readable medium comprising computer executable instructions that when executed by a computing device, cause the computing device to perform the method according to any one of claims 85 to 96.
  21. 98
    A computing device comprising a processor;a memory, said memory storing content required in operating said computing device;a cryptographic module for securing said content;and a set of computer readable instructions for causing the computing device to perform the method according to any one of claims 85 to 96 .
Independent claims21