Validation of inclusion of a platform within a data center
Claim Score by NHIP
Abstract
In one embodiment, a method comprises generating a cryptographic key pair associated with a data center. The method also includes storing a private key of the cryptographic key pair within a platform. The private key is used to sign a value stored in the platform for validation of inclusion of the platform into the data center. In an embodiment, the private key is revoked upon determining that the platform has been compromised. In one embodiment, the private key may be revoked in each of the platforms of the data center.

Term
Term ended
Projected expiry passed 1 November 2024, 1.9 years ago.
- Priority and filed
- Published
- Projected expiry
- Today
53 claims: 9 independent, 44 dependent
- 1Broadest claimClaim Score 96, very broad(NHIP)A platform comprising:a private key to validate inclusion of the platform within a data center;and at least one token to seal the private key to the platform.
- 9A data center comprising:an administrative unit to generate a cryptographic key pair that includes a private key;and a platform coupled to the administrative unit, the platform comprising a token, wherein the token comprises a private key to validate inclusion of the platform within the data center;a register to store a metric of the platform;and a processing unit to seal the private key based on the metric.
- 14A data center comprising:a platform comprising a token that includes a processing unit and a register, the register to store a value, wherein the value represents a policy of the platform, the processing unit to generate a cryptographic key pair that includes a private key;a memory to store the private key of the cryptographic key pair;and an administrative unit coupled to the platform, the administrative unit to generate a root key for the data center, to generate a signing key for the data center based on a certification of the root key, to sign the private key of the platform with the signing key of the data center.
- 18A method comprising:generating a cryptographic key pair associated with a data center;and storing a private key of the cryptographic key pair within a platform, the private key used to sign a value stored in the platform for validation of inclusion of the platform into the data center.
- 25A method comprising:receiving a quote request to validate inclusion of a platform within a data center;retrieving a value associated with a policy of the platform, the value stored in the platform;signing the value using a private key of a cryptographic key pair stored in the platform;and outputting the signed value in response to the quote request.
- 30A machine-readable medium that provides instructions, which when executed by a machine, cause said machine to perform operations comprising:generating a quote request to validate inclusion of a platform within a data center;transmitting the quote request to the platform;receiving a response to the quote request, the response including a value stored in the platform that is signed by a private key stored in the platform, wherein the value is associated with a policy of the platform;and validating the inclusion of the platform within the data center based on decryption of the value using a public key that corresponds to the private key.
- 36A machine-readable medium that provides instructions, which when executed by a machine, cause said machine to perform operations comprising:generating a root key associated with a data center;generating a signing key based on the root key using a certification of the root key;receiving a request from a platform for inclusion into the data center, the request to include a private key associated with the platform;certifying the private key based on a signature from the signing key associated with the data center;and storing the certification of the private key within the platform, the private key to sign a value stored in the platform for validation of inclusion of the platform within the data center.
- 43A machine-readable medium that provides instructions, which when executed by a machine, cause said machine to perform operations comprising:performing the following, upon determining that a platform of a number of platforms of a data center has been compromised, revoking a current cryptographic key pair stored in the number of platforms of the data center;generating a new cryptographic key pair associated with the data center;and storing a new private key of the new cryptographic key pair into the number of platforms that had been compromised.
- 49A machine-readable medium that provides instructions, which when executed by a machine, cause said machine to perform operations comprising:performing the following, upon determining that a platform of a number of platforms of a data center has been compromised and that a current private key stored in the platform is different from private keys stored in other platforms of the data center, revoking a current cryptographic key pair that includes the current private key;certifying a new private key based on a signature from a signing key associated with the data center;and storing the certification of the new private key within the platform, wherein the new private key is to sign a value stored in the platform for validation of the platform within the data center.
Independent claims9
101 paragraphs in 3 sections, as filed
BACKGROUND
P-0001[0001] Communication networks and the number of users exchanging and transferring data across such networks continue to increase. Specifically, with the advent of the Internet, e-business transactions have caused the exchange and/or transfer of users' personal and/or financial information. Currently, there are little assurances that a user and/or a business attempting to consummate an e-business transaction with a given web site is communicating with the server(s) associated with this web site. In particular, Internet Protocol (IP) snooping is becoming more rampant such that a given computer platform can pretend to be associated with a web site, thereby deceiving users (attempting to perform an e-business transaction with this web site) into disclosing personal and/or financial information.
P-0002[0002] In order to increase the security and trust associated with communications to a given computer platform/server, the Trusted Computing Platform Alliance (TCPA) has been formed. The TPCA describe in the TCPA Main Specification, Version 1.1a, Dec. 1, 2001 a Trusted Platform Module (TPM) or physical token that provides increased confidence and that enables enhancements of existing services and new services. The TPM supports auditing and logging of software processes, platform boot integrity, file integrity, and software licensing. The TPM provides a protected information store for the platform that can be used to attest to the identity of the platform as defined by the hardware that is present (e.g. processors, chipsets, firmware, etc.). These features encourage third parties to grant the platform access to information that would otherwise be denied.
P-0003[0003] While providing a level of relief for these security and trust issues for a given computer platform, the standards introduced by TCPA are limited to their applications. In particular, because of the increase in the number of users of the Internet, a given web site is required to include a number of computer platforms/servers to handle the load demands for an individual web site, thereby complicating the ability to provide secured communications due to the dynamic selection of these platforms/servers during such communications.
BRIEF DESCRIPTION OF THE DRAWINGS
P-0004[0004] The invention described herein is illustrated by way of example and not by way of limitation in the accompanying figures. For simplicity and clarity of illustration, elements illustrated in the figures are not necessarily drawn to scale. For example, the dimensions of some elements may be exaggerated relative to other elements for clarity. Further, where considered appropriate, reference numerals have been repeated among the figures to indicate corresponding or analogous elements.
P-0005[0005] FIGS. <b>1</b>A-<b>1</b>B illustrate systems for validation of a platform within a data center, according to embodiments of the invention.
P-0006[0006]FIG. 2 illustrates a more detailed block diagram of a platform, according to embodiments of the invention.
P-0007[0007]FIG. 3 illustrates a block diagram of the administrator unit <b>106</b>, according to one embodiment of the invention.
P-0008[0008]FIG. 4 illustrates a block diagram of the challenger unit <b>108</b>, according to one embodiment of the invention.
P-0009[0009] FIGS. <b>5</b>A-<b>5</b>B illustrate flow diagrams for storage of a private key for verification of inclusion within a data center, according to embodiments of the invention.
P-0010[0010]FIG. 6 illustrates a flow diagram for validating the inclusion of a platform within a data center, according to one embodiment of the invention.
P-0011[0011]FIG. 7 illustrates a flow diagram for responding to the validation of the inclusion of a platform within a data center, according to one embodiment of the invention.
P-0012[0012]FIG. 8 illustrates a flow diagram for revoking a private key of a data center, according to one embodiment of the invention.
DETAILED DESCRIPTION
P-0013[0013] The following description describes methods and apparatus for validation of inclusion of a platform within a data center. In the following description, numerous specific details such as logic implementations, opcodes, means to specify operands, resource partitioning/sharing/duplication implementations, types and interrelationships of system components, and logic partitioning/integration choices are set forth in order to provide a more thorough understanding of the present invention. It will be appreciated, however, by one skilled in the art that the invention may be practiced without such specific details. In other instances, control structures, gate level circuits and full software instruction sequences have not been shown in detail in order not to obscure the invention. Those of ordinary skill in the art, with the included descriptions, will be able to implement appropriate functionality without undue experimentation.
P-0014[0014] References in the specification to “one embodiment”, “an embodiment”, “an example embodiment”, etc., indicate that the embodiment described may include a particular feature, structure, or characteristic, but every embodiment may not necessarily include the particular feature, structure, or characteristic. Moreover, such phrases are not necessarily referring to the same embodiment. Further, when a particular feature, structure, or characteristic is described in connection with an embodiment, it is submitted that it is within the knowledge of one skilled in the art to effect such feature, structure, or characteristic in connection with other embodiments whether or not explicitly described.
P-0015[0015] In the following description and claims, the terms “coupled” and “connected,” along with their derivatives, may be used. It should be understood that these terms are not intended as synonyms for each other. Rather, in particular embodiments, “connected” may be used to indicate that two or more elements are in direct physical or electrical contact with each other. “Coupled” may mean that two or more elements are in direct physical or electrical contact. However, “coupled” may also mean that two or more elements are not in direct contact with each other, but yet still cooperate or interact with each other.
P-0016[0016] FIGS. <b>1</b>-<b>4</b> show block diagrams of systems for validating inclusion of a platform within a data center, in accordance with embodiments of the invention. FIGS. <b>5</b>-<b>9</b> show flow diagrams illustrating operations for validating inclusion of a platform within a data center, according to embodiments of the invention. The operations of the flow diagrams will be described with references to the systems shown in the block diagrams. However, it should be understood that the operations of the flow diagrams could be performed by embodiments of systems other than those discussed with reference to the block diagrams, and embodiments discussed with reference to the systems could perform operations different than those discussed with reference to the flow diagrams.
P-0017[0017] FIGS. <b>1</b>A-<b>1</b>B illustrate systems for validation of a platform within a data center, according to embodiments of the invention. With regard to FIG. 1A, a system <b>100</b> comprises a challenger unit <b>108</b>, a network <b>102</b> and a data center <b>140</b>. The data center <b>140</b> may comprise an administrator unit <b>106</b> and platforms <b>104</b>A-<b>104</b>I (i.e., one to a number of platforms therein).
P-0018[0018] In one embodiment, the platforms <b>104</b>A-<b>104</b>I are associated with a same entity within a network. For example, the platforms <b>104</b>A-<b>104</b>I may be servers associated with a given web site. Such a web site may be associated with a seller and distributor of a product (such as books, computer products, products for on-line auctioning, etc.), wherein the number of consumers of this web site are so great that a number of servers are needed to handle the load of requests from these consumers. Moreover, different platforms within the data center <b>140</b> may provide for different functionality. For example, a first set of platforms <b>104</b> may include application servers, while a second set of platforms <b>104</b> may include database servers for a same web site.
P-0019[0019] As will be described in more detail below, the platforms <b>104</b>A-<b>104</b>I may store a data center private key <b>120</b> that is part of a cryptographic key pair. Additionally, a given data center private key <b>120</b> may be part of a cryptographic key pair based on a number of cryptographic algorithms. In one embodiment, the cryptographic key pair may be an asymmetric cryptographic key pair, such as those that are based on Rivest-Shamir-Adleman (RSA) cryptographic algorithms. In one embodiment, the data center private key <b>120</b> is a same private key that is stored across the different platforms <b>104</b>A-<b>104</b>I. The administrator unit <b>106</b> may generate this cryptographic key pair, wherein the data center private key <b>120</b> is stored in the platforms <b>104</b>A-<b>104</b>I, while the associated public key in this cryptographic key pair may be distributed to the challenger unit <b>108</b>, for challenges of the inclusion of a platform within the data center <b>140</b> (as will be described in more detail below).
P-0020[0020] The challenger unit <b>108</b> and the components of the data center <b>140</b> may be coupled together through the network <b>102</b>. In one embodiment, the network <b>102</b> may be a local area network (LAN). In an embodiment, the network <b>102</b> may be a wide area network (WAN). Further, the network <b>102</b> may be a combination of different networks that couple the challenger unit <b>108</b> and the components of the data center <b>140</b>. In one embodiment, virtual private networks (VPNs) may be employed in the communications among the units of data center <b>140</b> and the challenger unit <b>108</b>.
P-0021[0021] With regard to FIG. 11B, a system <b>150</b> comprises the challenger unit <b>108</b>, a certifying authority <b>116</b>, the network <b>102</b> and a data center <b>180</b>. The challenger unit <b>108</b>, the certifying authority <b>116</b> and the components of the data center <b>180</b> may be coupled together through the network <b>102</b>. The data center <b>180</b> may comprise an administrator unit <b>106</b> and platforms <b>105</b>A-<b>105</b>I (i.e., one to a number of platforms therein).
P-0022[0022] As will be described in more detail below, the platforms <b>105</b>A-<b>105</b>I may store certified data center identity private keys <b>130</b>A-<b>130</b>I. In one embodiment, the platforms <b>105</b>A-<b>105</b>I store different certified data center identity private keys <b>130</b>A-<b>130</b>I. For example, as shown, platform <b>105</b>A stores certified data center identity private key <b>130</b>A, while platform <b>105</b>I stores certified data center identity private key <b>130</b>I. Additionally, a given certified data center identity private key <b>130</b>A-<b>130</b>I may be part of a cryptographic key pair based on a number of cryptographic algorithms. In one embodiment, the cryptographic key pair may be asymmetric cryptographic key pairs, such as those that are based on RSA cryptographic algorithms.
P-0023[0023] In one embodiment, this cryptographic key pair may be generated by the platform <b>105</b>. The administrator unit <b>106</b> may generate a root key <b>170</b> that is signed by the certifying authority <b>116</b>, thereby generating a signing key <b>175</b>. The signing key <b>175</b> may be employed to certify the different certified data center identity keys <b>130</b>A-<b>130</b>I stored in the platforms <b>105</b>A-<b>150</b>I.
P-0024[0024] While the system <b>100</b> and the system <b>150</b> are illustrated such that the challenger unit <b>108</b> is external to the data center <b>140</b> and the data center <b>180</b>, respectively, embodiments of the invention are not so limited. For example, the administrator unit <b>106</b> and the challenger unit <b>108</b> could be part of a same unit. In another embodiment, the challenger unit <b>108</b> is internal to the data centers <b>140</b> and <b>180</b>, but independent of the administrator unit <b>106</b>. With regard to the system <b>150</b>, in an embodiment, the certifying authority <b>116</b> may be a part of the administrator unit <b>106</b>. In another embodiment, the certifying authority <b>116</b> is part of the data center <b>180</b> but independent of administrator unit <b>106</b>. The operations of the system <b>100</b> and the system <b>150</b> will be described in more detail below.
P-0025[0025]FIG. 2 illustrates a more detailed block diagram of a platform, according to embodiments of the invention. As shown, the platform <b>104</b>/<b>105</b> may comprise one or more processors <b>210</b>, a chip set <b>220</b>, a memory <b>230</b>, a platform key application logic <b>202</b>, a token <b>250</b>, a network controller <b>240</b> and other input/output (I/O) devices <b>270</b>. Processors <b>110</b> may be coupled to the chipset <b>220</b> and to the platform key application logic <b>202</b>. The memory <b>230</b> may be coupled to the platform key application logic <b>202</b> and the chipset <b>220</b>.
P-0026[0026] The processors <b>110</b> may support one or more operating modes such as, for example, a real mode, a protected mode, a virtual 8086 mode, and a virtual machine mode (VMX mode). Further, the processors <b>110</b> may support one or more privilege levels or rings in each of the supported operating modes. In general, the operating modes and privilege levels of a processor <b>110</b> define the instructions available for execution and the effect of executing such instructions. More specifically, a processor <b>110</b> may be permitted to execute certain privileged instructions only if the processor <b>110</b> is in an appropriate mode and/or privilege level.
P-0027[0027] The chipset <b>220</b> may comprise one or more integrated circuit packages or chips that couple the processors <b>210</b> to the memory <b>230</b>, the network controller <b>240</b>, the token <b>250</b>, and other I/O devices <b>270</b> of the platform <b>104</b>/<b>105</b> such as, for example, a mouse, keyboard, disk drive, video controller, etc. The chipset <b>220</b> may comprise a memory controller (not shown) for writing and reading data to and from the memory <b>230</b>. Further, the chipset <b>220</b> and/or the processors <b>210</b> may define certain regions of the memory <b>230</b> as protected memory that may be accessed only by the processors <b>210</b> when in a particular operating mode (e.g. protected mode) and privilege level (e.g. OP).
P-0028[0028] The network controller <b>240</b> generally provides a communication mechanism for the platform <b>104</b>/<b>105</b> to communicate with various remote devices, such as the administrator unit <b>106</b>, the certifying authority <b>116</b> and the challenger unit <b>108</b>, via the network <b>102</b>. For example, the network controller <b>240</b> may comprise a 10 Mega-byte (Mb) or 100 Mb Ethernet controller, a cable modem, a digital subscriber line (DSL) modem, plain old telephone service (POTS) modem, etc. to couple the platform <b>104</b> to one or more remote devices.
P-0029[0029] As illustrated in the different embodiment of the platform <b>104</b>/<b>105</b> in FIG. 2, the private key <b>225</b> may be stored in the token <b>250</b>. However, embodiments of the invention are not so limited, as the private key <b>225</b> may be stored in a number of different locations within the platform <b>104</b>/<b>105</b>. The private key <b>225</b> maybe stored within the chipset <b>220</b>, the memory <b>230</b>, the cache <b>112</b> of the processors <b>210</b> and other locations within the platform <b>104</b>/<b>105</b>. The private key <b>225</b> may be representative of the data center private key <b>120</b> (shown in FIG. 1A) and/or the certified data center identity private keys <b>130</b> (shown in FIG. 1B). In an embodiment, the storage of the private key <b>225</b> is such that accesses thereto are limited to those operations that are considered secure.
P-0030[0030] The token <b>250</b> may comprise a processing unit <b>258</b>, a number of platform configuration registers (PCRs) <b>255</b> and a private key <b>225</b>. In general, the token <b>250</b> of the platform <b>104</b>/<b>105</b> comprises protected storage for integrity metrics, keys and secrets and may perform various integrity functions in response to requests from the processors <b>210</b> and the chipset <b>220</b>. In particular, the token <b>250</b> may store integrity metrics in a trusted manner, may quote integrity metrics in a trusted manner, may seal secrets to a particular environment (current or future), and may unseal secrets to the environment to which they were sealed. Further, as will be explained later, the token <b>250</b> may include a private key <b>225</b> that identifies the platform <b>104</b>/<b>105</b> for validation of inclusion of the platform within the data center <b>140</b>/<b>180</b>.
P-0031[0031] The token <b>250</b> may also be affixed to or incorporated into the platform <b>104</b>/<b>105</b> to provide some assurance to remote devices (e.g., the challenger unit <b>108</b>) that the token <b>250</b> is associated with only one platform <b>104</b>/<b>105</b>. For example, the token <b>250</b> may be incorporated into one of the chips of the chipset <b>220</b> and/or surface mounted to the main board of the platform <b>104</b>/<b>105</b>. Due to the uniqueness of the fixed token <b>250</b> and its incorporation into the platform <b>104</b>/<b>105</b>, a remote device may identify the platform <b>104</b>/<b>105</b> with some certainty based upon a public key associated with the private key <b>225</b>. In an embodiment, the operations of the token <b>250</b> may be incorporated into other modules of the platform <b>104</b>/<b>105</b>. For example, in one embodiment, the operations of the token <b>250</b> may be incorporated into the chipset <b>220</b>, secured memory within the memory <b>230</b> (e.g., a virtual token), etc. In an embodiment, the operations of the token <b>250</b> can be incorporated into a virtual token. A virtual token and its relationship to a physical token is described in more detail in application Ser. No. 10/028,984, entitled “Connecting a Virtual Token to a Physical Token.”
P-0032[0032] The PCRs <b>255</b> may be used to record and report integrity metrics in a trusted manner. The processing unit <b>258</b> may support a PCR quote operation that returns a quote or contents of one of the identified PCRs <b>255</b>. In an embodiment, a PCR quote operation may be a digital signature of the value stored in the PCRs <b>255</b>. The processing units <b>258</b> may also support a PCR extend operation that records a received integrity metric in an identified PCR <b>255</b>. In particular, the PCR extend operation may (i) concatenate or append the received integrity metric to an integrity metric stored in the identified PCR <b>255</b> to obtain an appended integrity metric, (ii) hash the appended integrity metric to obtain an updated integrity metric that is representative of the received integrity metric and previously integrity metrics recorded by the identified PCR <b>255</b>, and (iii) store the updated integrity metric in one of the PCRs <b>255</b>.
P-0033[0033] As used herein, the verb “hash” and related forms refer to performing an operation upon an operand or message to produce a value or a “hash”. Ideally, the hash operation generates a hash from which it is computationally infeasible to find a message with that hash and from which one cannot determine any usable information about a message with that hash. Further, the hash operation ideally generates the hash such that determining two messages which produce the same hash is computationally infeasible. While the hash operation ideally has the above properties, in practice one way functions such as, for example, the Message Digest 5 function (MD5) and the Secure Hashing Algorithm 1 (SHA-1) generate hash values from which deducing the message are difficult, computationally intensive, and/or practically infeasible.
P-0034[0034] The token <b>250</b> may be implemented in a number of different manners. However, in an example embodiment, the token <b>250</b> is implemented to comply with the specification of the Trusted Platform Module (TPM) described in detail in the Trusted Computing Platform Alliance (TCPA) Main Specification, Version 1.1a, Dec. 1, 2001.
P-0035[0035] Additionally, the platform <b>104</b>/<b>105</b> may comprise the platform key application logic <b>202</b>. In an embodiment, the platform key application logic <b>202</b> may be a process or task that can reside within the memory <b>230</b> and/or the processors <b>210</b> and can be executed within the processors <b>210</b>. Accordingly, the platform <b>104</b>/<b>105</b> may include a machine-readable medium on which is stored a set of instructions (i.e., software) embodying any one, or all, of the methodologies described herein. For the purposes of this specification, the term “machine-readable medium” shall be taken to include any mechanism that provides (i.e., stores and/or transmits) information in a form readable by a machine (e.g., a computer). For example, a machine-readable medium includes read only memory (ROM); random access memory (RAM); magnetic disk storage media; optical storage media; flash memory devices; electrical, optical, acoustical or other form of propagated signals (e.g., carrier waves, infrared signals, digital signals, etc.); etc.
P-0036[0036] However, embodiments of the present invention are not so limited, as the platform key application logic <b>202</b> may be different types of hardware (such as digital logic) executing the processing described therein (which is described in more detail below). Moreover, as will be described in more detail below, the platform key application logic <b>202</b> may cause the processing unit <b>258</b> is retrieve values stored within the PCRs <b>255</b> and/or cause the processing unit <b>258</b> to sign the values stored within the PCRs <b>255</b> using the private key <b>225</b>. Additionally, the platform key application logic <b>202</b> is described herein as performing a number of operations. For example, the platform key application logic <b>202</b> may cause the execution of a number of operations within the token <b>250</b>. However, embodiments of the invention are not so limited. For example, in another embodiment, such operations are executed independent of the platform key application logic <b>202</b>, such that the operations are performed directly within the token <b>205</b>.
P-0037[0037] Further, in one embodiment, the platform <b>104</b>/<b>105</b> is set up such that the platform key application logic <b>202</b> is part of a secured environment within the platform <b>104</b>/<b>105</b>. Additionally, the communications with the platform <b>104</b>/<b>105</b> are such that validations are performed prior to allowing accesses (including reads and writes) to portions of the memory of the platforms <b>104</b>/<b>105</b> that are within this secured environment. In one embodiment, these communications may be based on TCPA operations that employ the Object-Independent Authorization Protocol and/or the Object-Specific Authorization Protocol. In other embodiments, units external to the secured environment, such as the administrator unit <b>106</b>, may be granted accessed to the platforms <b>104</b>/<b>105</b> through other forms of validations, including a public/private key exchange.
P-0038[0038] In an embodiment, this secured environment has an associated root encryption key that is used to store and retrieve data within portions of the memory that are associated with the secured environment. In one embodiment, the root encryption key is based on a permanent public key stored in the token <b>250</b> (not shown) and a digest value stored in one of the PCRs <b>255</b>. In an embodiment, the root encryption key is encrypted with the permanent public key such that the digest value is stored as part of the encryption. Accordingly, this root encryption key can be used based on a decryption using this permanent public key when the stored digest value matches the digest value currently stored in the PCRs <b>255</b>. Therefore, as will be described in more detail below, private keys for the data center (the data center private key <b>120</b> and the certified data center identity private key <b>130</b>) may be stored and retrieved from portions of memory within the platforms <b>104</b>/<b>105</b> that is associated with a secured environment therein based on cryptographic operations based on the root encryption key.
P-0039[0039]FIG. 3 illustrates a block diagram of the administrator unit <b>106</b>, according to one embodiment of the invention. The administrator unit <b>106</b> may comprise a processor <b>310</b>, an administrative logic <b>302</b>, a memory <b>320</b> and a network controller <b>330</b>.
P-0040[0040] The processor <b>310</b> may be coupled to the administrative logic <b>302</b>, the memory <b>320</b> and the network controller <b>330</b>. The administrative logic <b>302</b> may be coupled to the network controller <b>330</b> and the memory <b>320</b>. The memory <b>320</b> may be coupled to the network controller <b>330</b>.
P-0041[0041] The processor <b>310</b> may comprise any suitable processor architecture and for one embodiment comprise an Intel® Architecture used, for example, in the Pentium® family of processors available from Intel® Corporation of Santa Clara, Calif. The administrator unit <b>106</b> for other embodiments may comprise more processors any of which may execute a set of instructions that are in accordance with embodiments of the present invention. The memory <b>320</b> may store data and/or instructions, for example, for the administrator unit <b>106</b> and may comprise any suitable memory, such as a dynamic random access memory (DRAM) for example.
P-0042[0042] The network controller <b>330</b> generally provides a communication mechanism for the administrator unit <b>106</b> to communicate with various remote devices, such as the platforms <b>104</b>/<b>105</b>, the certifying authority <b>116</b>, the challenger unit <b>108</b>, etc. For example, the network controller <b>330</b> may comprise a 10 Mb or 100 Mb Ethernet controller, a cable modem, a digital subscriber line (DSL) modem, plain old telephone service (POTS) modem, etc. to couple the administrator unit <b>106</b> to one or more remote devices.
P-0043[0043] In an embodiment, the administrative logic <b>302</b> can be a process or task that can reside within the memory <b>320</b> and/or the processor <b>310</b> and can be executed within the processor <b>310</b>. However, embodiments of the present invention are not so limited, as the administrative logic <b>302</b> can be different types of hardware (such as digital logic) executing the processing described therein (which is described in more detail below).
P-0044[0044] Accordingly, the administrator unit <b>106</b> may include a machine-readable medium on which is stored a set of instructions (i.e., software) embodying any one, or all, of the methodologies described herein. For example, software can reside, completely or at least partially, within the memory <b>320</b> and/or within the processor <b>310</b>.
P-0045[0045]FIG. 4 illustrates a block diagram of the challenger unit <b>108</b>, according to one embodiment of the invention. The challenger unit <b>108</b> may comprise a processor <b>410</b>, a validation logic <b>402</b>, a memory <b>420</b> and a network controller <b>430</b>.
P-0046[0046] The processor <b>410</b> may be coupled to the validation logic <b>402</b>, the memory <b>420</b> and the network controller <b>430</b>. The validation logic <b>402</b> may be coupled to the network controller <b>430</b> and the memory <b>420</b>. The memory <b>420</b> may be coupled to the network controller <b>430</b>.
P-0047[0047] The processor <b>410</b> may comprise any suitable processor architecture and for one embodiment comprise an Intel® Architecture used, for example, in the Pentium® family of processors available from Intel® Corporation of Santa Clara, Calif. The challenger unit <b>108</b> for other embodiments may comprise more processors any of which may execute a set of instructions that are in accordance with embodiments of the present invention. The memory <b>420</b> may store data and/or instructions, for example, for the challenger unit <b>108</b> and may comprise any suitable memory, such as a dynamic random access memory (DRAM) for example.
P-0048[0048] The network controller <b>430</b> generally provides a communication mechanism for the challenger unit <b>108</b> to communicate with various remote devices, such as the platforms <b>104</b>/<b>105</b>, the certifying authority <b>116</b>, the administrator unit <b>106</b>, etc. For example, the network controller <b>430</b> may comprise a 10 Mb or 100 Mb Ethernet controller, a cable modem, a digital subscriber line (DSL) modem, plain old telephone service (POTS) modem, etc. to couple the challenger unit <b>108</b> to one or more remote devices.
P-0049[0049] In an embodiment, the validation logic <b>402</b> can be a process or task that can reside within the memory <b>420</b> and/or the processor <b>410</b> and can be executed within the processor <b>410</b>. However, embodiments of the present invention are not so limited, as the validation logic <b>402</b> can be different types of hardware (such as digital logic) executing the processing described therein (which is described in more detail below).
P-0050[0050] Accordingly, the challenger unit <b>108</b> may include a machine-readable medium on which is stored a set of instructions (i.e., software) embodying any one, or all, of the methodologies described herein. For example, software can reside, completely or at least partially, within the memory <b>420</b> and/or within the processor <b>410</b>.
P-0051[0051] The operations of the system <b>100</b> and the system <b>150</b> will now be described. The system <b>100</b> will be described with reference to the flow diagrams shown in FIGS. 5A, 6, <b>7</b> and <b>8</b>, while the system <b>150</b> will be described with reference to the flow diagrams shown in FIGS. 5B, 6, <b>7</b> and <b>9</b>. FIG. 5A illustrates a flow diagram for storage of a private key for verification of inclusion within a data center, according to one embodiment of the invention.
P-0052[0052] In block <b>502</b>, the flow diagram <b>500</b> commences with a policy for the data center being generated. With reference to the embodiment illustrated in FIG. 3, the administrative logic <b>302</b> of administrator unit <b>106</b> generates the policy for the platforms to be included within the data center <b>140</b>. In one embodiment, this policy may include hardware metrics for the platform <b>104</b>. For example, the policy could include the requirement that a TPM module based on TCPA is within the platform <b>104</b>. Other examples of a hardware metric for a policy could be the type of processor or whether the platform <b>104</b> includes different types of private or secured memory therein, such that that access to such memory is limited to those applications that are considered secure. Other examples could include the requirement of virtual machine monitoring such that portions of memory and other units within the platform <b>104</b> are limited with regard to their access. Another example of a hardware metric for a policy could be the inclusion of a cryptographic accelerator card, a network card, etc. within the platform <b>104</b>.
P-0053[0053] In an embodiment, this policy may include software metrics for the platform <b>104</b>. For example, the policy could include the requirement that the platform is executing a given type of operating system or other types of higher-level applications executing thereon. Examples of the higher-level applications required for a policy may include a particular type of database, the interface application for this database and cryptographic applications that may execute particular types of cryptographic operations.
P-0054[0054] The administrative logic <b>302</b> may generate this policy based on an input from an administrator of the data center. In one such embodiment, this policy may be based on requirements and criteria that users of the data center require. For example, one set of platforms allow for the retrieval of data from these platforms without communication of confidential information, while a second set of platforms allow for the e-business consumer transactions for books, toys, etc. that includes uploading of confidential/financial information, while a third set of platforms allow for the uploading of highly sensitive information including secured government documents, persons' medical records, etc. Accordingly, the requirement of policies of these different types of sets of platforms will vary based on the types of communications with these platforms.
P-0055[0055] In block <b>504</b>, a cryptographic key pair for the data center is generated. With reference to the embodiment illustrated in FIG. 3, the administrative logic <b>302</b> of the administrator unit <b>106</b> generates the cryptographic key pair for the data center <b>140</b>. In one embodiment, the cryptographic key pair may be an asymmetric cryptographic key pair, such as those that are based on the RSA cryptographic algorithms. In one embodiment, the administrative logic <b>302</b> generates a cryptographic key pair, such that the private key of this pair (the data center private key <b>120</b>) is a same private key that is stored across the different platforms <b>104</b>A-<b>104</b>I. Accordingly, a single cryptographic key pair is employed in the validation of the inclusion of the different platforms <b>104</b> into the data center <b>140</b>. As will be described in more detail below, the data center private key <b>120</b> is stored in the platforms <b>104</b>, while the corresponding public key is employed by different units, such as the challenger unit <b>108</b>, in the validation of the inclusion of a platform <b>104</b> into the data center <b>140</b>.
P-0056[0056] In block <b>506</b>, a request is received from a platform <b>104</b> to be part of the data center <b>140</b>. With reference to the embodiment illustrated in FIG. 3, the administrative logic <b>302</b> receives the request from a platform <b>104</b> to be part of the data center <b>140</b>.
P-0057[0057] In block <b>508</b>, the determination is made of whether the platform <b>104</b> (making the request) satisfies the policy for the data center <b>140</b>. With reference to the embodiment illustrated in FIG. 3, the administrative logic <b>302</b> makes this determination regarding whether the platform <b>104</b> satisfies the policy for the data center <b>140</b>. In one embodiment, the administrative logic <b>302</b> may make this determination by employing the token <b>250</b> within the platform <b>104</b>. In one such embodiment, the administrative logic <b>302</b> queries the values stored in the PCRs <b>255</b>. For example, particular values within the different PCRs <b>255</b> may indicate the different hardware and software metrics (such as the type of processor, operating system, etc.) for this platform <b>104</b>.
P-0058[0058] In another embodiment, the administrative logic <b>302</b> may make this determination by querying other secured storage within the platform <b>104</b> (such as a private portion of the memory <b>230</b>). In another embodiment, the administrative logic <b>302</b> may make this determination by querying other secured storage external to the platform <b>104</b> (such as a secured database server) that stores the policy for a number of platforms that are eligible to be included within a data center. Upon determining that the policy of the platform <b>104</b> that is requesting inclusion into the data center <b>140</b> does not satisfy the policy for the data center <b>140</b>, the flow diagram <b>500</b> is complete, as the platform <b>104</b> making the request is not allowed inclusion within the data center <b>140</b>. Moreover, subsequent requests by this and/or other platforms <b>104</b> can cause the operations of the flow diagram <b>500</b> beginning in block <b>506</b> when the request is received.
P-0059[0059] In block <b>510</b>, upon determination that the policy of the platform <b>104</b> does satisfy the policy for the data center <b>140</b>, the data center private key <b>120</b> of the cryptographic key pair is stored in the platform <b>104</b>. With reference to the embodiment illustrated in FIG. 3, the administrative logic <b>302</b> stores the data center private key <b>120</b> in the platform <b>104</b>. As illustrated in FIG. 2, the administrative logic <b>302</b> may store the data center private key <b>120</b> (represented as the private key <b>225</b>) in a number of locations within the platform <b>104</b> (including the memory <b>230</b>, the processors <b>210</b>, the chipset <b>220</b>, the token <b>250</b>, etc.). In an embodiment, the administrative logic <b>302</b> stores the data center private key <b>120</b> within a secure location in the platform <b>104</b>, using for example different encryption operations to allow access thereto.
P-0060[0060] In block <b>512</b>, the data center private key <b>120</b> is associated with the platform <b>104</b>. With reference to the embodiment illustrated in FIG. 3, the administrative logic <b>302</b> associates the data center private key <b>120</b> with the platform <b>104</b>. In one embodiment, the administrative logic <b>302</b> may employ the token <b>250</b> when associating the data center private key <b>120</b> with the platform <b>104</b>. In an embodiment wherein the token <b>250</b> is a TPM, the administrative logic <b>302</b> may employ the “bind” command (as defined within Trusted Computing Platform Alliance (TCPA) Main Specification, Version 1.1a, Dec. 1, 2001) to associate the data center private key <b>120</b> to the platform <b>104</b>. The bind command associates the data center private key <b>120</b> to the platform <b>104</b>, such that the data center private key <b>120</b> is only usable on the platform <b>104</b>.
P-0061[0061] In an embodiment, the administrative logic <b>302</b> may employ the “seal” command (as defined within Trusted Computing Platform Alliance (TCPA) Main Specification, Version 1.1a, Dec. 1, 2001) to associate the data center private key <b>120</b> to the platform <b>104</b>. Accordingly, the data center private key <b>120</b> is only revealed and thus usable when the platform is in the proper configuration. In particular, in one embodiment, the “seal” command (invoked by the administrative logic <b>302</b>) incorporates the values stored in the PCRs <b>255</b> (which are indicative of the proper configuration of the platform <b>104</b>) into the data that includes the data center private key <b>120</b>. Therefore, during the “unseal” operation of this data that includes the data center private key <b>120</b>, the token <b>250</b> compares the values of the PCRs <b>255</b> stored in this data to the current values of the PCRs <b>255</b>. If these two different values match, the token <b>250</b> provides the data center private key <b>120</b> to the application/logic making the request (which is discussed in more detail below in conjunction with the challenge of the validation of the inclusion of the platform <b>104</b> into the data center <b>140</b>). In one embodiment, the administrative logic <b>302</b> may perform multiple seals of the data center private key <b>120</b>, wherein the data center private key <b>120</b> is sealed to different combinations of the hardware and the software configurations within the platform <b>104</b>, which is described in more detail in application Ser. No. 10/082,600 entitled “Multi-Token Seal and Unseal.”
P-0062[0062] In an embodiment, the administrative logic <b>302</b> may employ both the “bind” command and the “seal” command for associating the data center private key <b>120</b> to the platform <b>104</b>. Accordingly in an embodiment, the administrative logic <b>302</b> binds the data center private key <b>120</b> to the platform <b>104</b>. Additionally, the administrative logic <b>302</b> may unbind the data center private key <b>120</b> and allow for the seal operation of the data center private key <b>120</b> to the platform <b>104</b>.
P-0063[0063] However, embodiments of the invention are not limited to the use of the TPM/token <b>250</b> for associating the data center private key <b>120</b> to the platform <b>104</b>. In another embodiment, the administrative logic <b>302</b> may employ other measurable configurations within the platform <b>104</b>. For example, the administrative logic <b>302</b> may associate the data center private key <b>120</b> to the platform <b>104</b> based on the version of the processors <b>210</b> and/or their patch levels. Accordingly, the administrative logic <b>302</b> may encrypt the data center private key <b>120</b> along with the version and/or patch levels for the processors <b>210</b>. Therefore, when the data center private key <b>120</b> is subsequently employed for signing data as part of a challenge of this platform <b>104</b> of its inclusion into the data center <b>140</b>, the application/logic that is to retrieve this data center private key <b>120</b> compares the current versions and/or patch levels for the processor <b>210</b> to the versions and/or patch levels stored as part of the encryption of the data center private key <b>120</b>.
P-0064[0064] In other embodiments, the administrative logic <b>302</b> may similarly employ hardware peripherals (such as the type of hard drive and the type of network card). Additionally, in an embodiment, the administrative logic <b>302</b> may employ the types of software executing on the platform <b>104</b> (such as the disk geometry of the hard drive, the Basic Input Output System (BIOS) settings, the type of database application, etc). Accordingly, having stored and associated the data center private key <b>120</b> in and to the platform <b>104</b>, the platform <b>104</b> is now included within the data center <b>140</b>.
P-0065[0065] The operations of the system <b>150</b> related to the storage of a private key for verification of inclusion within a data center will now be described. In contrast to the operations of the system <b>100</b> (shown in FIG. 5A), in an embodiment, the operations of the system <b>150</b> may be such that different private keys are stored in different platforms that are part of the data center, wherein such private keys are signed by a signing key for the data center. FIG. 5B illustrates a flow diagram for storage of a private key for verification of inclusion within a data center, according to one embodiment of the invention.
P-0066[0066] In block <b>552</b>, the flow diagram <b>550</b> commences with the generation of the root key <b>170</b> and the signing key <b>175</b> for the data center <b>180</b>. With reference to the embodiment illustrated in FIG. 3, the administrative logic <b>302</b> generates a root key <b>170</b> for the data center <b>180</b>. Additionally, the administrative logic <b>302</b> may have the certifying authority <b>116</b> to certify the root key <b>170</b>, thereby generating the signing key <b>175</b>. In an embodiment, the administrative logic <b>302</b> may generate the root key <b>170</b> based on a number of different types of cryptographic operations, including RSA, Diffie-Hellman, etc. Accordingly, the root key <b>170</b> is serving as a key-signing key for only the signing key <b>175</b> of the data center <b>180</b>, which, as will be described in more detail below, will be more limited to attacks in comparison to the signing key <b>175</b>, which is serving as a key-signing key within the data center <b>180</b> for the different private keys being stored in the different platforms <b>105</b>.
P-0067[0067] In block <b>554</b>, a policy for the data center <b>180</b> is generated. With reference to the embodiment illustrated in FIG. 3, the administrative logic <b>302</b> generates the policy for the platforms to be included within the data center <b>180</b>. In an embodiment, the generation of the policy is similar to the generation of the policy for the data center <b>140</b> (which is described above in conjunction with the flow diagram <b>500</b> of FIG. 5). For example, the administrative logic <b>302</b> may generate a policy that is based on hardware metrics and/or software metrics of the platforms <b>105</b>.
P-0068[0068] In block <b>556</b>, a request from a platform <b>105</b> (that includes an certified data center identity private key <b>130</b> for this platform <b>105</b>) to be a part of the data center <b>180</b> is received. With reference to the embodiment illustrated in FIG. 3, the administrative logic <b>302</b> receives this request from the platform <b>105</b>. In one embodiment, the certified data center identity key <b>130</b> is a private key that has been generated by the platform <b>105</b>. In an embodiment, the platform <b>105</b> may generate the certified data center identity key <b>130</b> based on TCPA operations using the token <b>250</b> (as defined within Trusted Computing Platform Alliance (TCPA) Main Specification, Version 1.1a, Dec. 1, 2001). In an embodiment, the certified data center identity private key <b>130</b> may be generated based on a number of different types of cryptographic operations, including RSA, Diffie-Hellman, etc.
P-0069[0069] In block <b>558</b>, the determination is made of whether the platform <b>105</b> (making the request) satisfies the policy for the data center <b>180</b>. With reference to the embodiment illustrated in FIG. 3, the administrative logic <b>302</b> makes this determination regarding whether the platform <b>105</b> satisfies the policy for the data center <b>180</b> (which is described above in conjunction with the flow diagram <b>500</b> of FIG. 5). For example, the administrative logic <b>302</b> may make this determination based on values stored within the different PCRs <b>255</b> (or other secured areas internal or external to the platform <b>105</b>) that are representative of the different hardware and software metrics for this platform <b>105</b>. Upon determining that the policy of the platform <b>105</b> that is requesting inclusion into the data center <b>180</b> does not satisfy the policy for the data center <b>180</b>, the flow diagram <b>550</b> is complete, as the platform <b>105</b> making the request is not included within the data center <b>180</b>. Moreover, subsequent requests by this and/or other platforms <b>105</b> can cause initiation of the operations of the flow diagram <b>550</b> beginning in block <b>556</b> when the request is received (wherein the request is received from a platform <b>105</b>).
P-0070[0070] In block <b>560</b>, upon determination that the policy of the platform <b>105</b> does satisfy the policy for the data center <b>180</b>, the certified data center identity private key <b>130</b> (which is received as part of the request from platform <b>105</b>) is certified. With reference to the embodiment illustrated in FIG. 3, the administrative logic <b>302</b> certifies the certified data center identity private key <b>130</b> using the signing key <b>175</b> that has been certified by the certifying authority <b>116</b>.
P-0071[0071] In block <b>562</b>, the certification of the certified data center identity private key <b>130</b> is associated with the platform <b>105</b>. With reference to the embodiment illustrated in FIG. 3, the administrative logic <b>302</b> associates the certification of the certified data center identity private key <b>130</b> with the platform <b>105</b>. In an embodiment, this certification may comprise a digital certificate that is subsequently employed by challengers of this platform <b>105</b> (e.g., the challenger unit <b>108</b>) to validate the authenticity of the certified data center identity private key <b>130</b> in relation to the data center <b>180</b> (as will be described in more detail below). Similar to the association for the data center private key <b>120</b> described above, in one embodiment, the administrative logic <b>302</b> may employ the token <b>250</b> when associating the certification of the certified data center identity private key <b>130</b> with the platform <b>105</b>. In an embodiment wherein the token <b>250</b> is a TPM, the administrative logic <b>302</b> may employ the “seal” command (as defined within Trusted Computing Platform Alliance (TCPA) Main Specification, Version 1.1a, Dec. 1, 2001) to associate the certified data center identity private key <b>130</b> to the platform <b>105</b> (as described above). In one embodiment, the administrative logic <b>302</b> may perform a double seal of the certification, wherein the certification is sealed to both the hardware and the software configurations within the platform <b>105</b>.
P-0072[0072] However, embodiments of the invention are not limited to the use of the TPM/token <b>250</b> for associating the certification of the certified data center identity private key <b>130</b> to the platform <b>105</b>. In another embodiment, the administrative logic <b>302</b> may employ other measurable configurations within the platform <b>105</b>. For example (as described above), the administrative logic <b>302</b> may associate the certification of the certified data center identity private key <b>130</b> to the platform <b>105</b> based on the version of the processors <b>210</b> and/or their patch levels. Accordingly, the administrative logic <b>302</b> may encrypt the certification of the certified data center identity private key <b>130</b> along with the version and/or patch levels for the processors <b>210</b>. Therefore, when the certification of the certified data center identity private key <b>130</b> is subsequently employed for signing data as part of a challenge of this platform <b>105</b> of its inclusion into the data center <b>180</b>, the application/logic that is to retrieve this data center private key <b>120</b> compares the current versions and/or patch levels for the processor <b>210</b> to the versions and/or patch levels stored as part of the encryption of the certification of the certified data center identity private key <b>130</b>.
P-0073[0073] In other embodiments, the administrative logic <b>302</b> may similarly employ hardware peripherals (such as the type of hard drive and the type of network card). Additionally, in an embodiment, the administrative logic <b>302</b> may employ the types of software executing on the platform <b>105</b> (such as the disk geometry of the hard drive, the Basic Input Output System (BIOS) settings, the type of database application, etc). Accordingly, having stored and associated the certification of the certified data center identity private key <b>130</b> in and to the platform <b>105</b>, the platform <b>105</b> is now included within data center <b>180</b>.
P-0074[0074] The operation of challenging/validating the inclusion of a platform <b>104</b>/<b>105</b> within the data center <b>140</b>/<b>150</b> for the systems <b>100</b>/<b>150</b> will now be described. In particular, FIG. 6 illustrates a flow diagram for validating the inclusion of a platform within a data center, according to one embodiment of the invention. The operations illustrated in the flow diagram <b>600</b> will be described with reference to the system <b>100</b>; however, such operations are applicable to the system <b>150</b>.
P-0075[0075] In block <b>602</b>, a public key (that is part of the cryptographic key pair that includes the data center private key <b>120</b>) for the platform <b>104</b> that is to be validated is retrieved. With reference to the embodiment illustrated in FIG. 4, the validation logic <b>402</b> of challenger unit <b>108</b> retrieves the public key. In an embodiment, the validation logic <b>402</b> may retrieve the public key from the administrator unit <b>106</b>. In an embodiment, the validation logic <b>402</b> may retrieve the public key from the platform <b>104</b>.
P-0076[0076] In block <b>604</b>, the policy for the data center <b>140</b> is retrieved. With reference to the embodiment illustrated in FIG. 4, the validation logic <b>402</b> retrieves the policy for the data center <b>140</b>. In an embodiment, the validation logic <b>402</b> may retrieve the policy for the data center <b>140</b> from the administrator unit <b>106</b>. In one embodiment, the validation logic <b>402</b> may retrieve the policy for the data center from the platform <b>104</b>.
P-0077[0077] In block <b>606</b>, a quote request is generated for the validation of the inclusion of the platform <b>104</b> in the data center <b>140</b>. With reference to the embodiment illustrated in FIG. 4, the validation logic <b>402</b> generates this quote request. In an embodiment, the quote request may include a request for the value(s) stored in the PCRs <b>255</b>, which are representative of the policy for the platform <b>104</b>. In another embodiment, the quote request may include a request for other data or metrics that are representative of the configuration of the platform <b>104</b>. For example, in an embodiment, the quote request may include the type of processor and its current patch level as well as the disk geometry of the hard drive, etc. In another embodiment, the validation logic <b>402</b> may generate a random value to be included with the quote request along with an indicator to have the platform <b>104</b> sign the random value using the data center private key <b>120</b> stored therein.
P-0078[0078] In one embodiment, the communications between the validation logic <b>402</b> and the platform <b>104</b> may be based on TCPA operations that employ the Object-Independent Authorization Protocol and/or the Object-Specific Authorization Protocol. In other embodiments, the validation logic <b>402</b> may be granted accessed to the platform <b>104</b> through other forms of validations, including a public/private key exchange.
P-0079[0079] In block <b>608</b>, the quote request is transmitted to the platform <b>104</b>. With reference to the embodiment illustrated in FIG. 4, the validation logic <b>402</b> transmits this quote request to the platform <b>104</b>. As will be described in more detail below, this quote request may be received by the platform key application logic <b>202</b>. In an embodiment wherein the values stored in the PCRs <b>255</b> of the token <b>250</b> are requested, the platform key application logic <b>202</b> may invoke TCPA operations to have the processing unit <b>258</b> retrieve the values within the PCRs <b>255</b>. In another embodiment, the platform key application logic <b>202</b> may make direct queries to different components of the platform <b>104</b> (such as the processors <b>210</b>) for configuration therein. Additionally (as will be described in more detail below), the platform key application logic <b>202</b> causes the response to the quote request to be signed with the data center private key <b>120</b>. In an embodiment, the platform key application logic <b>202</b> may cause the processing unit <b>258</b> within the token <b>250</b> to sign the response. The platform key application logic <b>202</b> may transmit the signed response back to the challenger unit <b>108</b>. In another embodiment, the quote request to the platform <b>104</b> causes the processing unit <b>258</b> to perform the above-described operations independent of the platform key application logic <b>202</b>.
P-0080[0080] In block <b>610</b>, the response to the quote request that is signed with the data center private key <b>120</b> is received. With reference to the embodiment illustrated in FIG. 4, the validation logic <b>402</b> receives this response to the quote request.
P-0081[0081] In block <b>612</b>, the inclusion of the platform <b>104</b> in the data center <b>140</b> is validated. With reference to the embodiment illustrated in FIG. 4, the validation logic <b>402</b> validates the inclusion of the platform <b>104</b> based on the response from the quote request that was transmitted to the platform <b>104</b>. In an embodiment, the validation logic <b>402</b> may validate the inclusion of the platform <b>104</b> by employing the public key that has been retrieved. In particular, the validation logic <b>402</b> may employ the public key (that corresponds to the data center private key <b>120</b> of the cryptographic key pair) to decrypt and compare the hash value within the response.
P-0082[0082] In an embodiment, the validation logic <b>402</b> may validate that the values representing the policy for the platform <b>104</b> corresponds to the policy for the data center <b>140</b>. For example, in an embodiment, the values from the PCRs <b>255</b> may represent the policy within the platform <b>104</b>. Accordingly, these values are included within the response to the quote request and correspond to the value representative of the policy of the data center <b>140</b> when the platform <b>104</b> is within the data center <b>140</b> and when the platform <b>104</b> is in a proper configuration. Therefore, the validation logic <b>402</b> may validate the inclusion of the platform <b>104</b> into the data center <b>140</b> by comparing these two different policies. In an embodiment wherein a random value is transmitted as part of the quote request, the validation logic <b>402</b> may also validate the response by decrypting the response using the public key (described above) and determining whether the random value that is decrypted equals the random value that was included in the quote request.
P-0083[0083] In one embodiment, the validation logic <b>402</b> may validate the inclusion of the platform <b>105</b> into the data center <b>180</b> using the certifying authority <b>116</b> to certify that the certified data center identity private key <b>130</b> has been signed by the signing key <b>175</b> that is represented of the data center <b>180</b>.
P-0084[0084] In an embodiment, this validation of the inclusion of the platform <b>104</b> can be incorporated into a number of different applications. For example, in one embodiment, the validation logic <b>402</b> may be a portion of a software module that is incorporated into the communications with a server within a number of servers to verify that the given server is in a proper configuration and is part of the number of valid servers for a given web site. Accordingly, such an application provides assurance to the user of a server of a number of servers for a web site that the communications are with a properly configured server that is within the number of servers for this web site. In particular, this application can be executed for validating the inclusion of a server within a number of servers prior to other types of communications (such as e-business transactions and other confidential communications) with the server.
P-0085[0085] The operation of responding to the challenges/validations of the inclusion of a platform <b>104</b>/<b>105</b> within the data center <b>140</b>/<b>180</b> will now be described. In particular, FIG. 7 illustrates a flow diagram for responding to the validation of the inclusion of a platform within a data center, according to one embodiment of the invention. The operations illustrated in the flow diagram <b>700</b> will be described with reference to the system <b>100</b>; however, such operations are applicable to the system <b>150</b>.
P-0086[0086] In block <b>702</b>, the flow diagram <b>700</b> commences with the receiving of a quote request for validation of inclusion within data center <b>140</b>. With reference to the embodiments illustrated in FIG. 2, the platform key application logic <b>202</b> within the platform <b>104</b> receives the quote request for validation. As described above (depending on the configuration of the data center <b>140</b>), the quote request may include different types of requests. For example, the quote request could include a request for the policy of the platform <b>104</b> (that should correspond to the policy for the data center <b>140</b> that includes this platform <b>104</b>). If the platform <b>104</b> supports TCPA operations, the quote request may include a request for the values stored in the PCRs <b>255</b> of the token <b>250</b> (the TPM). As another example, the quote request could include a request for other hardware and/or software metrics (such as patch levels or versions of hardware and software units within the platform <b>104</b>). Furthermore, the quote request may include a random value that is to be signed by the data center private key <b>120</b> and returned.
P-0087[0087] In block <b>704</b>, a value requested by the quote request is retrieved. With reference to the embodiments illustrated in FIG. 2, the platform key application logic <b>202</b> retrieves this value. As set forth in the description of block <b>702</b>, the quote request may include a request for the value stored in the PCRs <b>255</b> (that is indicative of the current policy for the platform <b>104</b>). Accordingly, the platform key application logic <b>202</b> may causes the processing unit <b>258</b> of the token <b>250</b> to retrieve the values stored therein within the PCRs <b>255</b>. In another embodiment wherein the quote request includes is requesting for values stored in other locations that are representative of the policy for the platform, the platform key application logic <b>202</b> can retrieve such data. In an embodiment, the value requested by the quote request may be the random number that is included within the quote request (as described above). In particular, the quote request may include a random number and an indication to sign this random number with the data center private key <b>120</b>.
P-0088[0088] In block <b>706</b>, the value (retrieved from within platform <b>104</b> and/or within the quote request received) is signed based on the data center private key <b>120</b>. With reference to the embodiments illustrated in FIGS. <b>2</b>, the platform key application logic <b>202</b> signs this value using the data center private key <b>120</b>. In an embodiment, the platform key application logic <b>202</b> may cause the processing unit <b>258</b> to sign the value using the data center private key <b>120</b>.
P-0089[0089] In block <b>708</b>, the signed value is transmitted back to the requesting unit (e.g., the challenger unit <b>108</b>). With reference to the embodiments illustrated in FIG. 2, the platform key application logic <b>202</b> may transmit the signed value as a response to the quote request using the network controller <b>240</b> via the network <b>102</b>. As described above in conjunction with the flow diagram <b>600</b> of FIG. 6, the validation logic <b>402</b> within the challenger unit <b>108</b> may validate the response using the public key that corresponds to the data center private key <b>120</b>, the certification associated with the private key and/or the policy for the data centers <b>140</b>/<b>180</b>.
P-0090[0090] In an embodiment, the private keys stored in the platforms of the data center may need to be revoked due to security breaches of the platforms, corruption of the private keys, etc. The administrator unit <b>106</b> may receive an alarm or error message from the platform <b>104</b>/<b>105</b>, the challenger unit <b>108</b> or other sources that indicates such problems with the platform <b>104</b>/<b>105</b> and/or the private keys <b>120</b>/<b>130</b>. For example, the challenger unit <b>108</b> may generate an error message that is transmitted to the administrator unit <b>106</b> when the validation of one of the platforms <b>104</b>/<b>105</b> within the data center <b>140</b> fails. Further, the administrator unit <b>106</b> may determine such problems based on attempted communications with the platform <b>104</b>/<b>105</b>, wherein the platform <b>104</b>/<b>105</b> is not communicating. FIG. 8 illustrates a flow diagram for revoking a private key of a data center, according to one embodiment of the invention.
P-0091[0091] In block <b>802</b>, a determination is made that the private key <b>120</b>/<b>130</b> in any of the platforms <b>104</b>/<b>105</b> in the data center <b>140</b>/<b>180</b> is unusable. With reference to the embodiment illustrated in FIG. 3, the administrative logic <b>302</b> determines that the private key <b>120</b>/<b>130</b> is unusable. As described above, administrative logic <b>302</b> may make this determination based on communications from the challenger unit <b>108</b>, the platform <b>104</b>, etc.
P-0092[0092] In block <b>804</b>, a decision is made on whether the given platform <b>104</b>/<b>105</b> that includes the private key <b>120</b>/<b>130</b> that is unusable has been compromised. With regard to the embodiment illustrated in FIG. 3, the administrative logic <b>302</b> determines whether the given platform <b>104</b>/<b>105</b> has been compromised. In an embodiment, the administrative logic <b>302</b> may determine whether the given platform <b>104</b>/<b>105</b> has been compromised by retrieving values stored in the PCRs <b>255</b> within the token <b>250</b>, which indicate the current configuration of the platform <b>104</b>/<b>105</b>. In another embodiment, the administrative logic <b>302</b> may determine whether the given platform <b>104</b>/<b>105</b> has been compromised by retrieving other types of configuration (including both hardware and software) from the platform <b>104</b>/<b>105</b>. For example, the administrative logic <b>302</b> may query the current patch levels of various software/hardware, etc. In one embodiment, this decision is answered in the affirmative (without such determinations made by the administrative logic <b>302</b>) such that the current cryptographic key pair for the data center <b>140</b>/<b>180</b> is revoked and a new cryptographic key pair for the data center <b>140</b>/<b>180</b> are redistributed (as described below).
P-0093[0093] In block <b>806</b>, upon determining that the given platform <b>104</b>/<b>105</b> has not been compromised, the private key <b>120</b>/<b>130</b> is redistributed to the given platform <b>104</b>/<b>105</b> (that includes the private key <b>120</b>/<b>130</b> that is unusable). With regard to the embodiment illustrated in FIG. 3, the administrative logic <b>302</b> redistributes the private key <b>120</b>/<b>130</b> to the given platform <b>104</b>/<b>105</b>. With reference to the system <b>100</b>, the administrative logic <b>302</b> may redistribute the data center private key <b>120</b> to this given platform <b>104</b>. With reference to the system <b>150</b>, the administrative logic <b>302</b> may cause the token <b>150</b> to regenerate the certified data center identity private key <b>130</b> and to transmit this certified data center identity private key <b>130</b> back to the administrator unit <b>106</b>. Accordingly, as described above, the administrative logic <b>302</b> may cause this certified data center identity private key <b>130</b> to be certified using the signing key <b>175</b> of the data center <b>180</b>. In one embodiment of the system <b>150</b>, the certified data center identity private key <b>130</b> may still be usable but the certification of this private key <b>130</b> is unusable. Therefore, the administrative logic <b>302</b> may cause the token <b>250</b> to retransmit the certified data center identity private key <b>130</b> back to the administrator unit <b>106</b> for re-certified (as described above). Accordingly, the operations of revocation illustrated by the flow diagram <b>800</b> are complete.
P-0094[0094] In block <b>808</b>, upon determining that the given platform <b>104</b>/<b>105</b> has been compromised, a determination is made on whether the private key <b>120</b>/<b>130</b> is unique to the platform <b>104</b>/<b>105</b>. With regard to the embodiment illustrated in FIG. 3, the administrative logic <b>302</b> makes this determination. The administrative logic <b>302</b> may make this determination based on the type of system for this given data center. For example, for the system <b>100</b>, the private key <b>120</b> is not unique to the platform <b>104</b>, as each of the platforms <b>104</b> of the data center <b>140</b> include a same private key <b>120</b>. Conversely, for the system <b>150</b>, the private key <b>130</b> is unique to the platform <b>105</b> (as described above).
P-0095[0095] In block <b>810</b>, upon determining that the private key <b>120</b>/<b>130</b> is unique to the platform <b>104</b>/<b>105</b>, the private key <b>120</b>/<b>130</b> is revoked on the given platform <b>104</b>/<b>105</b>. With regard to the embodiment illustrated in FIG. 3, the administrative logic <b>302</b> revokes the private key <b>120</b>/<b>130</b> on the given platform <b>104</b>/<b>105</b>. In one embodiment, the administrative logic <b>302</b> may revoke the private key <b>120</b>/<b>130</b> by transmitting revocation messages to the platform <b>104</b>/<b>105</b>, the challenger units <b>108</b> and/or other units or modules having the private key <b>120</b>/<b>130</b> and/or its corresponding public key. Such a revocation message may indicate that such keys are no longer valid in relation to this data center <b>140</b>/<b>180</b>. The operations continue in block <b>814</b> (described below).
P-0096[0096] In block <b>812</b>, upon determining that the private key <b>120</b>/<b>130</b> is not unique to the platform <b>104</b>/<b>105</b>, the private key <b>120</b>/<b>130</b> is revoked on each of the platforms <b>104</b>/<b>105</b> in the data center <b>140</b>/<b>180</b>. With reference to the embodiment illustrated in FIG. 3, the administrative logic <b>302</b> revokes the private key <b>120</b>/<b>130</b> on each of the platforms <b>104</b>/<b>105</b> having stored such keys. For example, with regard to the system <b>100</b>, the data center private key <b>120</b> is distributed and stored in each of the different platforms <b>104</b> within the data center <b>140</b>. Accordingly, in an embodiment, the administrative logic <b>302</b> may distribute revocation messages to each of these different platforms <b>104</b> that is storing the data center private key <b>120</b> (as described above). Moreover, the administrative logic <b>302</b> may distribute revocation messages to other units or modules (such as the challenger units <b>108</b>) that include the public key that corresponds to this data center private key <b>120</b> (indicating that such keys are no longer valid in relation to this data center <b>140</b>).
P-0097[0097] In block <b>814</b> (whether the private key <b>120</b>/<b>130</b> is revoked in one or more platform <b>104</b>/<b>105</b>), a determination is made on whether the policy for the data center <b>140</b>/<b>180</b> has been modified. With reference to the embodiment illustrated in FIG. 3, the administrative logic <b>302</b> makes this determination. As described above, the policy for the data center <b>140</b>/<b>180</b> may comprise a number of different metrics that the platforms <b>104</b>/<b>105</b> are to include to allow for their inclusion into the data center <b>140</b>/<b>180</b>. Accordingly, the administrative logic <b>302</b> compares the current policy to the policy of the data center <b>140</b>/<b>180</b> prior to a private key <b>120</b>/<b>130</b> becoming unusable. In one embodiment, these different versions of the policies may be stored within the administrator unit <b>106</b>. In an embodiment, a policy for the data center <b>140</b>/<b>180</b> are recorded periodically to allow for the tracking of changes thereto.
P-0098[0098] In block <b>816</b>, upon determining that the policy for the data center <b>140</b>/<b>180</b> has been modified, the inclusion of each of the platforms <b>104</b>/<b>105</b> are reestablished into the data center <b>140</b>/<b>180</b>. With reference to the embodiment illustrated in FIG. 3, the administrative logic <b>302</b> re-establishes the inclusion of each of the platforms <b>104</b>/<b>105</b>. In one embodiment, the administrative logic <b>302</b> may revoke the private keys <b>120</b>/<b>130</b> for each of the platforms <b>104</b>/<b>105</b> (as described above) to re-establish their inclusion (thereby causing the platforms <b>104</b>/<b>105</b> to attempt to perform the operations described above related to allowing for their inclusion into the data center <b>140</b>/<b>180</b> in FIGS. <b>5</b>A-<b>5</b>B).
P-0099[0099] In block <b>818</b>, upon determining that the policy for the data center <b>140</b>/<b>180</b> has not been modified, the inclusion of the platforms <b>104</b>/<b>105</b>, whose private key <b>120</b>/<b>130</b> had been revoked, are re-established into the data center <b>140</b>/<b>180</b>. With reference to the embodiment illustrated in FIG. 3, the administrative logic <b>302</b> re-establishes the inclusion of these platforms <b>104</b>/<b>105</b> into the data center <b>140</b>/<b>180</b>. This establishment of these platforms <b>104</b>/<b>105</b> into the data center <b>140</b>/<b>180</b> are described above in conjunction with FIGS. <b>5</b>A-<b>5</b>B.
P-0100[0100] Therefore, as described, embodiments of the invention allow for the validation of the inclusion of a platform within a data center. In one embodiment, a single private key for the different platforms of the data center may be employed in the validation operations. In another embodiment, different private keys for the different data center, which are certified by the data center, may be employed in rations.
P-0101[0101] While certain exemplary embodiments have been described and shown in the accompanying drawings, it is to be understood that such embodiments are merely illustrative of and not restrictive on the broad invention, and that embodiments of this invention not be limited to the specific constructions and arrangements shown and described, since various other modifications may occur to those ordinarily skilled in the art upon studying this disclosure.
Contents3
11 sheets
Sheet 1 Sheet 2 Sheet 3 Sheet 4 Sheet 5 Sheet 6 Sheet 7 Sheet 8 Sheet 9 Sheet 10 Sheet 11
Every citation, both ways
| Document | Relation | Office | Cited during |
|---|---|---|---|
| WO2006100522A1 | Cited by | World Intellectual Property Organization (WIPO) | International search |
| US2009013406A1 | Cited by | United States of America | Pre-grant |
| US2022255916A1 | Cited by | United States of America | Search report |
| US2007192597A1 | Cited by | United States of America | Pre-grant |
| US10701061B2 | Cited by | United States of America | Search report |
| US7707629B2 | Cited by | United States of America | Search report |
| US2008282348A1 | Cited by | United States of America | Pre-grant |
| US10455420B2 | Cited by | United States of America | Search report |
| AU2017318962B2 | Cited by | Australia | Search report |
| EP2635994A4 | Cited by | European Patent Office (EPO) | Search report |
| WO2018044696A1 | Cited by | World Intellectual Property Organization (WIPO) | International search |
| US9836607B2 | Cited by | United States of America | Applicant |
| US2007192580A1 | Cited by | United States of America | Pre-grant |
| US2018332030A1 | Cited by | United States of America | Search report |
| US9298922B2 | Cited by | United States of America | Search report |
| US2017171029A1 | Cited by | United States of America | Pre-grant |
| IL264706A | Cited by | Israel | Search report |
| US9536092B2 | Cited by | United States of America | Applicant |
| US2016249220A1 | Cited by | United States of America | Search report |
| US8595480B2 | Cited by | United States of America | Applicant |
| WO2006100522A1 | Cited by | World Intellectual Property Organization (WIPO) | International search |
| US2006230401A1 | Cited by | United States of America | Pre-grant |
| US7877799B2 | Cited by | United States of America | Applicant |
| US2018332030A1 | Cited by | United States of America | Search report |
| US10242192B2 | Cited by | United States of America | Applicant |
| US2002194496A1 | Cited by | United States of America | Pre-grant |
| US7624283B2 | Cited by | United States of America | Applicant |
| US2009037736A1 | Cited by | United States of America | Pre-grant |
| US9961550B2 | Cited by | United States of America | Applicant |
| US7865876B2 | Cited by | United States of America | Search report |
| US9111119B2 | Cited by | United States of America | Applicant |
| EP1980970A2 | Cited by | European Patent Office (EPO) | Search report |
| AU2006202976B2 | Cited by | Australia | Search report |
| EP3684007A1 | Cited by | European Patent Office (EPO) | Search report |
| US10666517B2 | Cited by | United States of America | Search report |
| US10609562B2 | Cited by | United States of America | Search report |
| US2017171029A1 | Cited by | United States of America | Search report |
| US2017171029A1 | Cited by | United States of America | Search report |
| US10250452B2 | Cited by | United States of America | Applicant |
| US8060934B2 | Cited by | United States of America | Applicant |
| US2008270603A1 | Cited by | United States of America | Pre-grant |
| EP2194476A1 | Cited by | European Patent Office (EPO) | Search report |
| US2010138674A1 | Cited by | United States of America | Pre-grant |
| US2002194132A1 | Cited by | United States of America | Pre-grant |
| US2003041250A1 | Cited by | United States of America | Pre-grant |
| US8713636B2 | Cited by | United States of America | Applicant |
| US10956990B2 | Cited by | United States of America | Applicant |
| US2002023212A1 | Cited by | United States of America | Pre-grant |
| EP1980970A3 | Cited by | European Patent Office (EPO) | Search report |
| US10177910B2 | Cited by | United States of America | Applicant |
| US2010049968A1 | Cited by | United States of America | Pre-grant |
| US2009235325A1 | Cited by | United States of America | Pre-grant |
| US8856862B2 | Cited by | United States of America | Applicant |
| CN114844647A | Cited by | China | Search report |
| US2006026418A1 | Cited by | United States of America | Pre-grant |
| US2007136580A1 | Cited by | United States of America | Pre-grant |
| US2007056033A1 | Cited by | United States of America | Pre-grant |
| US8756423B2 | Cited by | United States of America | Search report |
| IL264706B | Cited by | Israel | Search report |
| EP2194476A1 | Cited by | European Patent Office (EPO) | Search report |
| US2005138384A1 | Cites | United States of America | Pre-grant |
| US2005216736A1 | Cites | United States of America | Pre-grant |
| US2005251857A1 | Cites | United States of America | Pre-grant |
| US3699532A | Cites | United States of America | Pre-grant |
| US3996449A | Cites | United States of America | Pre-grant |
| US4037214A | Cites | United States of America | Pre-grant |
| US4162536A | Cites | United States of America | Pre-grant |
| US4207609A | Cites | United States of America | Pre-grant |
| US4247905A | Cites | United States of America | Pre-grant |
| US4276594A | Cites | United States of America | Pre-grant |
| US4278837A | Cites | United States of America | Pre-grant |
| US4307214A | Cites | United States of America | Pre-grant |
| US4307447A | Cites | United States of America | Pre-grant |
| US4319233A | Cites | United States of America | Pre-grant |
| US4319323A | Cites | United States of America | Pre-grant |
| US4347565A | Cites | United States of America | Pre-grant |
| US4366537A | Cites | United States of America | Pre-grant |
| US4403283A | Cites | United States of America | Pre-grant |
| US4419724A | Cites | United States of America | Pre-grant |
| US4430709A | Cites | United States of America | Pre-grant |
| US4521852A | Cites | United States of America | Pre-grant |
| US4571672A | Cites | United States of America | Pre-grant |
| US4759064A | Cites | United States of America | Pre-grant |
| US4795893A | Cites | United States of America | Pre-grant |
| US4802084A | Cites | United States of America | Pre-grant |
| US4975836A | Cites | United States of America | Pre-grant |
| US5007082A | Cites | United States of America | Pre-grant |
| US5022077A | Cites | United States of America | Pre-grant |
| US5075842A | Cites | United States of America | Pre-grant |
| US5079737A | Cites | United States of America | Pre-grant |
| US5187802A | Cites | United States of America | Pre-grant |
| US5230069A | Cites | United States of America | Pre-grant |
| US5237616A | Cites | United States of America | Pre-grant |
| US5255379A | Cites | United States of America | Pre-grant |
| US5287363A | Cites | United States of America | Pre-grant |
| US5293424A | Cites | United States of America | Pre-grant |
| US5295251A | Cites | United States of America | Pre-grant |
| US5317705A | Cites | United States of America | Pre-grant |
| US5319760A | Cites | United States of America | Pre-grant |
| US5361375A | Cites | United States of America | Pre-grant |
25 members in 8 offices; this record represents the family
Members25
| Document | Office | Kind | |
|---|---|---|---|
| US2003196083A1 | United States of America | A1 | |
| WO03090053A1 | World Intellectual Property Organization (WIPO) | A1 | |
| AU2003222104A1 | Australia | A1 | |
| EP1509827A1 | European Patent Office (EPO) | A1 | |
| CN1659495A | China | A | |
| JP2005527900A | Japan | A | |
| US7058807B2 | United States of America | B2 | |
| JP2009219162A | Japan | A | |
| JP2010044791A | Japan | A | |
| EP1509827B1 | European Patent Office (EPO) | B1 | |
| AT460709T | Austria | T | |
| ATE460709T1 | Austria | T1 | |
| DE60331646D1 | Germany | D1 | |
| CN1659495B | China | B | |
| JP2011060311A | Japan | A | |
| JP2011065665A | Japan | A | |
| JP2011072006A | Japan | A | |
| JP2013225942A | Japan | A | |
| JP5611768B2 | Japan | B2 | |
| JP2014199672A | Japan | A | |
| JP2015111909A | Japan | A | |
| JP5869052B2 | Japan | B2 | |
| JP2016158270A | Japan | A | |
| JP6151402B2 | Japan | B2 | |
| JP6370722B2 | Japan | B2 |
67 transactions on the USPTO file
Allowed without a rejection on record.
- Non-final rejections
- 0
- Final rejections
- 0
- RCEs
- 0
- Appeals
- 0
Over time
Point at a mark for the transactionTransactions
| Event | Code | |
|---|---|---|
| Email NotificationEML_NTR | EML_NTR | |
| Change in Power of Attorney (May Include Associate POA)PA.. | PA.. | |
| Correspondence Address ChangeC.AD | C.AD | |
| Payment of Maintenance Fee, 12th Year, Large EntityM1553 | M1553 | |
| Post Issue Communication - Certificate of CorrectionN423 | N423 | |
| Recordation of Patent Grant MailedPGM/ | PGM/ | |
| Patent Issue Date Used in PTA CalculationAllowedPTAC | PTAC | |
| Issue Notification MailedAllowedWPIR | WPIR | |
| Dispatch to FDCD1935 | D1935 | |
| Application Is Considered Ready for IssuePILS | PILS | |
| Issue Fee Payment VerifiedN084 | N084 | |
| Issue Fee Payment ReceivedIFEE | IFEE | |
| Mail Notice of AllowanceAllowedMN/=. | MN/=. | |
| Notice of Allowance Data Verification CompletedAllowedN/=. | N/=. | |
| Case Docketed to Examiner in GAUDOCK | DOCK | |
| Case Docketed to Examiner in GAUDOCK | DOCK | |
| Case Docketed to Examiner in GAUDOCK | DOCK | |
| Information Disclosure Statement consideredIDSC | IDSC | |
| Information Disclosure Statement (IDS) Filed | – | |
| Information Disclosure Statement (IDS) Filed | – | |
| Information Disclosure Statement consideredIDSC | IDSC | |
| Electronic Information Disclosure StatementEIDS. | EIDS. | |
| Information Disclosure Statement (IDS) FiledWIDS | WIDS | |
| IFW TSS Processing by Tech Center CompleteTSSCOMP | TSSCOMP | |
| Information Disclosure Statement consideredIDSC | IDSC | |
| Information Disclosure Statement (IDS) Filed | – | |
| Information Disclosure Statement (IDS) Filed | – | |
| Information Disclosure Statement consideredIDSC | IDSC | |
| Information Disclosure Statement (IDS) Filed | – | |
| Information Disclosure Statement (IDS) Filed | – | |
| Case Docketed to Examiner in GAUDOCK | DOCK | |
| Information Disclosure Statement consideredIDSC | IDSC | |
| Information Disclosure Statement (IDS) Filed | – | |
| Information Disclosure Statement (IDS) Filed | – | |
| Information Disclosure Statement consideredIDSC | IDSC | |
| Electronic Information Disclosure StatementEIDS. | EIDS. | |
| Information Disclosure Statement (IDS) FiledWIDS | WIDS | |
| Information Disclosure Statement consideredIDSC | IDSC | |
| Information Disclosure Statement (IDS) Filed | – | |
| Information Disclosure Statement (IDS) Filed | – | |
| Information Disclosure Statement consideredIDSC | IDSC | |
| Electronic Information Disclosure StatementEIDS. | EIDS. | |
| Information Disclosure Statement (IDS) FiledWIDS | WIDS | |
| Case Docketed to Examiner in GAUDOCK | DOCK | |
| Information Disclosure Statement consideredIDSC | IDSC | |
| Information Disclosure Statement (IDS) Filed | – | |
| Information Disclosure Statement (IDS) Filed | – | |
| Information Disclosure Statement consideredIDSC | IDSC | |
| Electronic Information Disclosure StatementEIDS. | EIDS. | |
| Information Disclosure Statement (IDS) FiledWIDS | WIDS | |
| Information Disclosure Statement consideredIDSC | IDSC | |
| Information Disclosure Statement (IDS) Filed | – | |
| Information Disclosure Statement (IDS) Filed | – | |
| Information Disclosure Statement consideredIDSC | IDSC | |
| Electronic Information Disclosure StatementEIDS. | EIDS. | |
| Information Disclosure Statement (IDS) FiledWIDS | WIDS | |
| Information Disclosure Statement consideredIDSC | IDSC | |
| Information Disclosure Statement (IDS) Filed | – | |
| Information Disclosure Statement (IDS) Filed | – | |
| Case Docketed to Examiner in GAUDOCK | DOCK | |
| Application Dispatched from OIPEOIPE | OIPE | |
| Application Is Now CompleteCOMP | COMP | |
| Additional Application Filing FeesADDFLFEE | ADDFLFEE | |
| A statement by one or more inventors satisfying the requirement under 35 USC 115, Oath of the ApplicOATHDECL | OATHDECL | |
| Notice Mailed--Application Incomplete--Filing Date AssignedINCD | INCD | |
| IFW Scan & PACR Auto Security Review | – | |
| Initial Exam Team nnIEXX | IEXX |
8 legal events, as the office reported them to INPADOC
Over the term
Point at a mark for the eventEvents
| Event | Code | |
|---|---|---|
| AssignmentAS | AS | |
| AssignmentAS | AS | |
| Maintenance fee paymentMAFP | MAFP | |
| Fee paymentFPAY | FPAY | |
| Fee paymentFPAY | FPAY | |
| Certificate of correctionCC | CC | |
| Information on status: patent grantGrantedPATENTED CASESTCF | STCF | |
| AssignmentAS | AS |
Numbers
- Application
- 12278502
Titles
- English
- Validation of inclusion of a platform within a data center
Patent term adjustment
- A delay
- +934 daysthe office missed an examination deadline
- Applicant delay
- −3 days
- Net adjustment
- 931 days
Classification
- CPC, 5
- H04L63/062
- G06F21/57
- G06F21/73
- G06F2221/2103
- H04L63/104
- IPC, 7
- G06F1 00
- G06F21 60
- G06F21 00
- G06F21 62
- H04L9 08
- H04L9 10
- H04L29 06