Patents by Inventor Kenneth Alexander Nicolson

Kenneth Alexander Nicolson has filed for patents to protect the following inventions. This listing includes patent applications that are pending as well as patents that have already been granted by the United States Patent and Trademark Office (USPTO).

  • Publication number: 20110173643
    Abstract: A method to allow programs running within the application space of a device with a secure processor and a trusted computing base to flexibly use certificates that describe the required system state. An information processing device including PSC database (1112), Component and PSC Map (1202), and OS support (1200).
    Type: Application
    Filed: October 9, 2009
    Publication date: July 14, 2011
    Inventors: Kenneth Alexander Nicolson, Hideki Matsushima, Hisashi Takayama, Takayuki Ito, Tomoyuki Haga
  • Publication number: 20110099362
    Abstract: For the keys in a key tree group composed of root keys for each of multiple stakeholders, a shared key is generated between the multiple stakeholders, and access restrictions with respect to the generated shared key are flexibly set. A shared key control unit and a tamper-resistant module are provided for each of the multiple stakeholders. The shared key is set based on stakeholder dependency relationships. After the shared key is set, access to the shared key is controlled so that access is not possible by malicious stakeholders, so as to maintain the security level.
    Type: Application
    Filed: June 4, 2009
    Publication date: April 28, 2011
    Inventors: Tomoyuki Haga, Kenneth Alexander Nicolson, Hideki Matsushima, Takayuki Ito, Hisashi Takayama, Manabu Maeda
  • Publication number: 20110072266
    Abstract: The present invention provides an information processing device, an authentication system, etc. that save a server the trouble of updating a database, etc., even when a software module in a client device is updated, and that are capable of verifying whether software modules that have been started in the client device are valid. The terminal device A100 holds private keys 1 and 2, and performs authentication processing with the terminal device B101 using the private key 2. The private key 1 has been encrypted such that the private key 1 is decryptable only when secure boot is completed. The private key 2 has been encrypted such that the private key 2 is decryptable using the private key 1 only when the application module X that has been started is valid. When the authentication processing is successful, the terminal device B101 verifies that the terminal device A100 has completed secure boot and the application module X that has been started in the terminal device A100 is valid.
    Type: Application
    Filed: October 9, 2009
    Publication date: March 24, 2011
    Inventors: Hisashi Takayama, Hideki Matsushima, Takayuki Ito, Tomoyuki Haga, Kenneth Alexander Nicolson
  • Publication number: 20110066838
    Abstract: The present invention provides an information processing apparatus that is capable of continuously performing secure boot between module groups in the case where software of a terminal device consists of module groups provided by a plurality of providers, while keeping independence between the providers. The information processing apparatus is provided with a linkage certificate that contains a first configuration comparison value 503, which indicates a cumulative hash value of the first module group to be started up by secure boot, and a module measurement value 505, which indicates a hash value of the first module of the second module group to be started up by secure boot. After the secure boot of the first module group, it is verified that the first module group has been started up by comparison with the first configuration comparison value 503.
    Type: Application
    Filed: May 25, 2009
    Publication date: March 17, 2011
    Inventors: Hisashi Takayama, Hideki Matsushima, Takayuki Ito, Tomoyuki Haga, Kenneth Alexander Nicolson, Manabu Maeda
  • Publication number: 20100318781
    Abstract: A method to allow a device to boot in a secure fashion, even though some of the components within the secure device's firmware may not be present, not correctly authorized, or not correctly operating.
    Type: Application
    Filed: January 29, 2009
    Publication date: December 16, 2010
    Inventors: Kenneth Alexander Nicolson, Hideki Matsushima, Hisashi Takayama, Takayuki Ito, Tomoyuki Haga
  • Publication number: 20100185845
    Abstract: A terminal that performs secure boot processing when booting, thereby booting reliably even if, during updating of a software module, the power is cut off or the update is otherwise interrupted. The terminal comprises a CPU, a software module storage unit, a certificate storage unit, an updating unit for updating the software module and certificate, a security device provided with a configuration information storage unit for storing the configuration information of the software module, an alternate configuration information storage unit for storing the configuration information of a software module in the configuration before the update, and a boot control unit for verifying and executing the software module by using the certificate. The terminal verifies the certificate of the software module by comparing the configuration information stored by the configuration information storage unit with the configuration information stored by the alternate configuration information storage unit.
    Type: Application
    Filed: September 30, 2008
    Publication date: July 22, 2010
    Inventors: Hisashi Takayama, Hideki Matsushima, Takayuki Ito, Tomoyuki Haga, Kenneth Alexander Nicolson
  • Publication number: 20100180346
    Abstract: To provide, in order that proper obfuscation of a source code (100) can be easily performed, an obfuscation assisting apparatus (11) which can sufficiently assist the obfuscation. The obfuscation assisting apparatus (11) includes: an analyzer (114) which identifies corresponding respective blocks in the source code (100) and in a transformed code (104) generated through the obfuscation of the source code (100); and a browser (119) which obtains obfuscation information relating to obfuscation of the respective blocks of the source code (100) and the transformed code (104), and causes an output device (1002) to display the respective parts of the source code (100) and the transformed code (104), and the obfuscation information in association with each other.
    Type: Application
    Filed: January 17, 2008
    Publication date: July 15, 2010
    Inventors: Kenneth Alexander Nicolson, Rieko Asai, Taichi Sato, Hideki Matsushima
  • Publication number: 20090320110
    Abstract: A method is executed which is for managing the optional trusted components that are active within a device, such that the device itself controls the availability of trusted components. The device includes: a storing unit which stores a plurality of pieces of software and a plurality of certificates; a receiving unit which receives the certificates; and a selecting unit which selects one of the certificates. The device further includes an executing unit which verifies an enabled one of the plurality of pieces of software using the selected and updated one of the certificates.
    Type: Application
    Filed: June 15, 2009
    Publication date: December 24, 2009
    Inventors: Kenneth Alexander Nicolson, Hideki Matsushima, Hisashi Takayama, Takayuki Ito, Tomoyuki Haga, Manabu Maeda
  • Publication number: 20090307500
    Abstract: A program obfuscator of the present invention divides a target program into a plurality of blocks and determines program instructions allocated according to an input/output relation between the blocks, in order to diffuse and allocate the program instructions for calculating a value of secret information in various places of the program. More specifically, with regard to a variable for calculating the secret information transferred to and from the blocks, a value of the variable when outputted from a block is equalized to a value of the variable when inputted to a next block. A random variable conversion instruction is added to each of the blocks so that a value of the variable when outputted from each block is in a range of a value expected as an input to the next block.
    Type: Application
    Filed: February 6, 2007
    Publication date: December 10, 2009
    Inventors: Taichi Sato, Rieko Asai, Kenneth Alexander Nicolson
  • Publication number: 20090119515
    Abstract: An obfuscation evaluation method which sufficiently evaluates an obfuscation performed on a program. The obfuscation evaluation method includes: a step (S424) of executing an obfuscated code module (204) produced by obfuscating an original code module (200) of a program, and generating a trace output file (218) by logging a result of the execution; and a step (S428) of identifying the degree of obfuscation of the obfuscated code module (204) by evaluating the trace output file (218).
    Type: Application
    Filed: October 27, 2006
    Publication date: May 7, 2009
    Applicant: MATSUSHITA ELECTRIC INDUSTRIAL CO., LTD.
    Inventors: Kenneth Alexander Nicolson, Rieko Asai, Taichi Sato
  • Publication number: 20090019551
    Abstract: A method is provided for flexibly setting a shared counter shared by a plurality of security modules sharing a counter in tree structures, while curbing the amount of secure memory used. The shared counter is realized by a first counter group having a tree structure managed by a first secure module and a second counter group having a tree structure managed by a second secure module sharing a node in the tree structure of the first counter group and a node in the tree structure of the second counter group. The method of sharing using tree structures enables flexibly addition, deletion and access restriction setting of modules that use the shared counter.
    Type: Application
    Filed: June 25, 2008
    Publication date: January 15, 2009
    Inventors: Tomoyuki HAGA, Kenneth Alexander NICOLSON, Hideki MATSUSHIMA, Takayuki ITO, Hisashi TAKAYAMA, Manabu MAEDA