US7299354B2 - Method to authenticate clients and hosts to provide secure network boot - Google Patents

Method to authenticate clients and hosts to provide secure network boot Download PDF

Info

Publication number
US7299354B2
US7299354B2 US10/675,381 US67538103A US7299354B2 US 7299354 B2 US7299354 B2 US 7299354B2 US 67538103 A US67538103 A US 67538103A US 7299354 B2 US7299354 B2 US 7299354B2
Authority
US
United States
Prior art keywords
boot
server
boot server
client
shared secret
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related, expires
Application number
US10/675,381
Other versions
US20050071677A1 (en
Inventor
Rahul Khanna
Vincent J. Zimmer
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Intel Corp
Original Assignee
Intel Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Intel Corp filed Critical Intel Corp
Priority to US10/675,381 priority Critical patent/US7299354B2/en
Assigned to INTEL CORPORATION reassignment INTEL CORPORATION ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: KHANNA, RAHUL, ZIMMER, VINCENT
Publication of US20050071677A1 publication Critical patent/US20050071677A1/en
Application granted granted Critical
Publication of US7299354B2 publication Critical patent/US7299354B2/en
Expired - Fee Related legal-status Critical Current
Adjusted expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • G06F21/575Secure boot
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/083Network architectures or network communication protocols for network security for authentication of entities using passwords
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/16Implementing security features at a particular protocol layer
    • H04L63/162Implementing security features at a particular protocol layer at the data link layer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/34Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters 
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0838Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0863Generation of secret information including derivation or calculation of cryptographic keys or passwords involving passwords or one-time passwords
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3226Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using a predetermined code, e.g. password, passphrase or PIN
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3236Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3271Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using challenge-response
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/12Details relating to cryptographic hardware or logic circuitry
    • H04L2209/127Trusted platform modules [TPM]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/76Proxy, i.e. using intermediary entity to perform cryptographic operations
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2463/00Additional details relating to network architectures or network communication protocols for network security covered by H04L63/00
    • H04L2463/062Additional details relating to network architectures or network communication protocols for network security covered by H04L63/00 applying encryption of the keys

Definitions

  • the field of invention relates generally to computer systems and, more specifically but not exclusively relates to an authentication technique to enable secure network booting.
  • OS operating systems
  • a network operating system boot an OS image is loaded (booted) from a network resource, such as a boot server.
  • This scheme provides advantages relating to configuration control and generally reduces IT management costs, while at the same time reducing licensing costs.
  • the conventional network-booting scheme is unsecure. For instance, an insider may advertise the availability of a rogue boot server masquerading as a legitimate boot server that serves malicious OS images. The net result is that unknowing users load a malicious OS image, which may contain a virus that causes widespread havoc or a Trojan that sits unnoticed for days, weeks, or months until an activation event occurs, causing the Trojan code to be launched.
  • BOOT Integrity Services provide a mechanism to authenticate a boot image that is derived from a DHCP (Dynamic Host Controller Protocol) offer. Even through the mechanism is sufficient to ascertain that the image is not modified in any way (i.e., is authentic), it has some shortcomings that may prevent its use in more secure environments.
  • One problem is the conventional scheme uses digital certificates that need to be certified.
  • the certificate generated by the server needs to be authenticated by CA (Certificate Authority) and CRL (Certificate Revocation List) if not Self-Signed. If one of these servers is down, a false certificate may accidentally be accepted. In the case of Self-Signed certificated, its origin cannot be verified. Even though there is a provision for public key cryptography, an established mechanism for authentication of the client and boot server is still lacking. This may cause a malicious DHCP Server to act as a “Man in the Middle” or a “Malicious Proxy DHCP Server”.
  • Public Key cryptography can be very taxing because of exponent mathematics. This is more so in low power clients, such as PDA (Personal Digital Assistant) or wireless clients. For example, on a 16 MHz client, a 512-bit modular multiplication costs about 100 ms per calculation. As a result, decrypting a downloaded boot image via public key encryption may take seconds or even minutes, depending upon the type of client performing the download.
  • PDA Personal Digital Assistant
  • FIG. 1 is a flowchart illustrating operations and logic implemented to perform a secure network boot process, according to one embodiment of the invention
  • FIG. 2 is message flow diagram illustrating the exchange of messages and generation of message content in support of a DHCP (Dynamic Host Configuration Protocol) authentication scheme, according to one embodiment of the invention
  • FIG. 3 is a message flow diagram illustrating the exchange of messages and generation of message content under an Extensible Authentication Protocol (EAP) scheme that is used to provision shared credentials on a client (supplicant) and a server (authenticator), according to one embodiment of the invention
  • EAP Extensible Authentication Protocol
  • FIG. 4 is a schematic diagram illustrating the exchange of messages between a PXE (pre-boot execution environment) client, DHCP server, and boot server during a secure network boot process, according to one embodiment of the invention
  • FIG. 5 is a schematic block diagram illustrating a configuration of an exemplary computer system that may be used to practice embodiments of the invention.
  • Embodiments of the present invention provide a secure network boot flow that implements an authentication scheme that does not require the client to use public key encryption methods with each boot. Rather, shared secret data one the client and boot server (or authentication proxy) are compared during pre-boot using a secure message exchange process. This provides a faster and more simplified authentication mechanism, without requiring extensive set-up for IT administrators or significantly changing the login and OS boot user experience.
  • the process starts off in a start block 100 , which depicts a restart event, i.e., an event corresponding to a restart or reset of a computer system.
  • system initialization begins in a block 102 A.
  • system firmware is loaded and executed to verify operation of various system components (e.g., POST (power-on self test) operations), set up run-time firmware services, and to prepare the system for subsequent loading of an operating system.
  • POST power-on self test
  • an administrator may wish to perform some initial security measures, such as setting up a userID (i.e., Login) and password.
  • the administrative action may be made available via a console input, function key activation, or selection of an administrative action option presented to a user during system initialization.
  • a take ownership event concerns setting up access to a system via some sort of authentication scheme involving “ownership” or authentication credentials. Ownership may apply to complete access to a system, or may be restricted to a particular aspect of the system, such as a boot server could “own” control of a system's operating system.
  • the determination in decision block 106 relates to establishing a one-time shared secret between a client system and a boot server.
  • authentication credentials are provisioned.
  • this comprises a shared secret that is issued in the form of a shared key (K owner ) and stored on either the client (if selected from a key list already stored on the boot server or an authentication server or proxy server of either), or stored on both the client and the boot server (if dynamically generated by the boot server, authentication server, or proxy).
  • K owner shared key
  • a credential-provisioning scheme is implemented via an in-system Baseboard Management Controller (BMC) service processor and associated local or remote intelligent platform management interface (IPMI)—(http://www.intel.com/design/servers/ipmi/spec.htm) messaging that is used to load a shared secret password.
  • BMC Baseboard Management Controller
  • IPMI intelligent platform management interface
  • a system can support various “Take Ownership” or “Get Acquainted” protocols; these get acquainted protocols involve the user taking ownership of the platform.
  • a means by which this credential provisioning can be handled can be an out-of-band channel (IPMI), a local console (i.e., setup screen where user types in initial password), or imprinting the system in a staging area (i.e., private network using Web Page served from the client and system administrator typing in initial password).
  • IPMI out-of-band channel
  • a local console i.e., setup screen where user types in initial password
  • imprinting the system in a staging area i.e., private network using Web Page served from the client and system administrator typing in initial password.
  • TPM trusted platform modules
  • AIK Anonymous Identification Key
  • EAP Extensible Authentication Protocol
  • RFC 2284 Extensible Authentication Protocol
  • PKI public key infrastructure
  • a boot sequence can be defined for a Microsoft Windows® operating system by editing the boot.ini file. Similar techniques may be used for other operation systems, such as UNIX variants, LINUX variants, etc. In effect, the boot sequence will try to boot from one or more boot targets listed in the sequence in the order in which the boot targets are listed, e.g., CD-ROM, local disk, network boot, etc.
  • a remote boot request is made, the logic proceeds to a block 116 in which the boot image is authenticated using an authenticated DHCP process, as described below.
  • the operating system is then booted in a block 120 if it is determined the boot image is authentic in a decision block 118 , otherwise an error message is generated in a block 122 . If a local boot image is available (and is encountered as a boot option prior to a network boot option), the OS is booted from the local media, as depicted in a block 120 .
  • FIG. 2 Further details of the operations of the boot image authentication process of block 116 in accordance with one embodiment are shown in FIG. 2 .
  • the process employs an implementation of authentication for DHCP messages, as defined in RFC (request for comment) 3118 .
  • DHCP transports protocol stack configuration parameters from centrally administered servers to TCP/IP hosts. Among those parameters is an IP (Internet Protocol) address.
  • IP Internet Protocol
  • DHCP servers can be configured to dynamically allocate addresses from a pool of addresses, eliminating a manual step in configuration of TCP/IP hosts.
  • DHCP threats are similar to those for OS boot services discussed above.
  • a typical threat to DHCP is inherently an insider threat (assuming a properly configured network where BOOTP ports are blocked on the enterprise's perimeter gateways.) Regardless of the gateway configuration, however, the potential attacks by insiders and outsiders are the same.
  • the attack specific to a DHCP client is the possibility of the establishment of a “rogue” server with the intent of providing incorrect configuration information to the client.
  • the motivation for doing so may be to establish a “man in the middle” attack or it may be for a “denial of service” (DoS) attack.
  • DoS denial of service
  • the threat specific to a DHCP server is an invalid client masquerading as a valid client.
  • the motivation for this may be for “theft of service”, or to circumvent auditing for any number of nefarious purposes.
  • the threat common to both the client and the server is the resource DoS attack. These attacks typically involve the exhaustion of valid addresses, or the exhaustion of CPU or network bandwidth, and are present anytime there is a shared resource. In current practice, redundancy mitigates DoS attacks the best.
  • the authentication process starts at a client 200 , which generates a nonce N c (as used herein, a subscript c represents a client-generated object, while a subscript s represents a boot server-generated object) and receives a Password and Login data in response to corresponding user entries.
  • a nonce is a randomly generated value used to defeat “playback” attacks in communication Protocols.
  • One party randomly generates a nonce and sends it to the other party.
  • the receiver encrypts it using the agreed upon secret key and returns it to the sender. Since the nonce was randomly generated by the sender, this defeats playback attacks because the replayer cannot know in advance the nonce the sender will generate.
  • the receiver denies connections that do not have the correctly encrypted nonce.
  • a hash H c is then derived by performing an SHA1 (secure hashing algorithm hash) on nonce N c +password+Login).
  • the client 200 then sends a DHCP_DISCOVER message containing Nonce N c and the Login data to a DHCP server 202 .
  • DHCP server 202 is co-located with an OS boot server.
  • the DHCP server and the OS boot server are separate systems that share authentication credential data.
  • An authentication server of DHCP proxy may be used as well.
  • DHCP server 202 Upon receiving the DHCP_DISCOVER message, DHCP server 202 generates a nonce N s and examines the Password and Login data. DHCP server 202 also generates a public key K pub (using a base/modulus (n) and exponent (e) for an RSA key) and a hash H c′ , which is a hash on the nonce N c +Password+Login. The nonce N s , key K pub , and hash H c′ , are then returned to client 200 via a DHCP_OFFER message.
  • K pub using a base/modulus (n) and exponent (e) for an RSA key
  • hash H c′ which is a hash on the nonce N c +Password+Login.
  • the nonce N s , key K pub , and hash H c′ are then returned to client 200 via a DHCP_OFFER message.
  • client 200 Upon receipt of the DHCP_OFFER message, client 200 compares hashes H c and H c′ . If they do not match, an “Authentication Error” is returned to server 202 . If they do match, client 200 generates a nonce N c′ and a temporary key K temp , which is derived from a hash of nonce N c′ +nonce N s +Password+Login. Client 200 then sends an encrypted shared secret T, which is derived from an ephemeral key (Ek is the encryption operation used to generate the ephemeral key) of nonce N c′ and a hash H s′ of nonce N s +Password+Login in a DHCP_REQUEST message.
  • Ek is the encryption operation used to generate the ephemeral key
  • server 202 extracts the nonce N c′ and Hash on N c′ +Password+Login. If the hash H s matches hash H s′ , the client request is honored; otherwise an “Authentication Error” is returned to the client 200 .
  • Server 202 then generates another nonce N s′ and independently computes K temp via a hash on nonce N c′ , nonce N s , Password and Login. It then sends nonce N s′ using secret key cryptography (e.g., data encryption standard 3-DES) with the key derived from K temp and sends the encrypted data to client 200 in a DHCP_ACK (DHCP acknowledge) message.
  • secret key cryptography e.g., data encryption standard 3-DES
  • DHCP_ACK DHCP acknowledge
  • the client 200 can then use TFTP (Trivial File Transfer Protocol) to download the OS boot Image and extract it using the newly calculated session key K s .
  • TFTP Trivial File Transfer Protocol
  • the IPSec Authentication Header is used to prefix the encrypted TFTP data payloads.
  • the Extensible Authentication Protocol is employed as the means for communicating authentication information between a Supplicant (EAP peer) and an Authenticator (EAP server).
  • EAP is a general protocol that supports multiple authentication mechanisms. For example, through the use of EAP, support for a number of authentication schemes may be added, including smart cards, Kerberos, Public Key Encryption, One Time Passwords, and others.
  • FIG. 3 An exemplary EAP-based shared secret (i.e., key) exchange is shown in FIG. 3 .
  • the process involves two phases, including a phase 1 under which authentication is performed, and a phase 2 during which secure messages are exchanged.
  • the process begins at an EAP server (Authenticator) 302 , which sends an EAP request message 304 containing a SessionID and a Sid to an EAP Peer (Supplicant) 300 .
  • the SessionID is a 256-bit random value generated by the authenticator.
  • the Sid comprises and EAP server identity.
  • the Sid comprises a network access identifier as specified by RFC 2486 .
  • EAP peer 300 In response to receiving EAP request message 304 , EAP peer 300 returns an EAP response message 306 including a concatenation of a first hash Hash1, a Pid value, a Kid value, a public key (PubKey) and a random number Prandom selected by the EAP peer.
  • Hash 1 is an SHA 1 hash of the first message (i.e., EAP request message 304 ).
  • Pid identifies the EAP Peer 300 , and hence, the owner or device key. In one embodiment, Pid comprises a GUID (globally unique identifier). Kid identifies the symmetric key the EAP peer expects to use in this context. PubKey is EAP peer 300 's public key portion of the device key.
  • the EAP server 302 then sends an EAP request message 308 containing a second hash Hash 2 comprising a hash on EAP response message 306 , and an SAuth value, which comprises a concatenation of 3 items, encrypted under EAP peer 300 's public device key: (1) session key K s , (2) value of Hash 2 repeated, and (3) an HMAC-SHA1-96 digest on the concatenation of K s
  • EAP peer 300 returns an EAP response 310 containing a third hash Hash 3 comprising a hash on EAP request message 308 , and a Mac3 value, comprising an HMAC-SHA1-96 digest of Hash 3 under the KCK portion of K s . This completes the phase 1 authentication process.
  • K s comprises a 60-octet (480-bit) key with an internal structure of three 20-octete (160-bit) subkeys, including:
  • KCK—1 st octet of K s Key confirmation key.
  • each message includes a concatenation of a hash on the previous message (e.g., Hash(n)), a one-byte ID value identifying the type of data being conveyed, Adata, identifying data that is authenticated, Edata, identifying encrypted data, and an Mac value, comprising an HMAC-SHA1-96 digest of the other fields in the message, using the KCK portion of the session key K s .
  • the encrypted Edata only includes keys and keying material.
  • a shared secret such as a key, may be securely exchanged between the EAP peer 300 and EAP server 302 .
  • FIG. 4 shows a set of message exchanges comprising an encapsulation of the authentication and secure boot image process involving a PXE (pre-boot execution environment) client 400 , a DHCP (or a DHCP/Proxy) server 402 , and a boot server 404 .
  • PXE pre-boot execution environment
  • DHCP or a DHCP/Proxy
  • boot server 404 may be co-located.
  • DHCP server 402 is also representative of an authentication server, in general.
  • PXE is defined on a foundation of industry-standard Internet protocols and services that are widely deployed in the industry, namely TCP/IP, DHCP, and TFTP. These standardize the form of the interactions between clients and servers. To ensure that the meaning of the client-server interaction is standardized as well, certain vendor option fields in the DHCP protocol are used, which are allowed by the DHCP standard. The operations of standard DHCP and/or BOOTP servers (that serve up IP addresses and/or network bootstrap programs) will not be disrupted by the use of the extended protocol. Clients and servers that are aware of these extensions will recognize and use this information, and those that do not recognize the extensions will ignore them.
  • PXE client 400 and DHCP server 402 perform the authentication process of FIG. 2 , confirming shared secret 406 , as depicted by PXE DHCP and DHCP acknowledge messages, using the PXE protocol.
  • the PXE protocol operates as follows.
  • the client initiates the protocol by broadcasting a DHCP_DISCOVER containing an extension that identifies the request as coming from a client that implements the PXE protocol.
  • the server sends the client a list of appropriate boot servers.
  • the client discovers a boot server of the type selected and receives the name of an executable file on the chosen boot server.
  • the client uses TFTP to download the executable from the boot server.
  • the client initiates execution of the downloaded image.
  • a session key K s is also generated.
  • PXE client 400 then sends a PXE boot server discover message to boot server 404 .
  • the PXE boot server discover message is a message that is sent to listening devices on a network that is used in discovering the existence of any PXE boot servers on the network.
  • the boot server returns an acknowledgement, and PXE client 400 sends a PXE download request.
  • Packets encrypted using the session key Ks and corresponding to a target boot image are then served by boot server 404 to PXE client 400 .
  • session key Ks may be updated during this process.
  • a final set of encrypted packets are received by PXE client 400 .
  • the secure boot image is loaded and executed, as depicted by a block 406 .
  • the foregoing authentication and secure boot technique provides several advantageous over current network boot processes. These include:
  • the end of the authenticated DHCP process completes security negotiations. After that, most of the communication is based upon Secret Key Cryptography using the independently computed key.
  • Both Client & Server are able to authenticate each other by the end of the authenticated DHCP process, while establishing a secret key for future communication.
  • the technique provides a simple means to provision credentials.
  • the “getting to know” or “take ownership” phase is often omitted. This one-time or rare-event can be based upon more time-consuming public key cryptographic operations.
  • FIG. 5 is an illustration of one embodiment of an exemplary computer system 500 on which embodiments of the present invention may be implemented.
  • Computer system 500 includes a processor 502 coupled to a bus 506 .
  • Memory 504 , storage 512 , non-volatile storage 505 , display controller 508 , input/output controller 516 and modem or network interface 514 are also coupled to bus 506 .
  • the computer system 500 interfaces to external systems through the modem or network interface 514 .
  • This interface 514 may began analog modem, Integrated Services Digital Network (ISDN) modem, cable modem, Digital Subscriber Line (DSL) modem, a T-1 line interface, a T-3 line interface, token ring interface, satellite transmission interface, or other interfaces for coupling a computer system to other computer systems.
  • ISDN Integrated Services Digital Network
  • DSL Digital Subscriber Line
  • a carrier wave signal 523 is received/transmitted by modem or network interface 514 to communicate with computer system 500 .
  • carrier waive signal 523 is used to interface computer system 500 with a computer network 524 , such as a local area network (LAN), wide area network (WAN), or the Internet.
  • computer network 524 is further coupled to a remote computer (not shown), such that computer system 500 and the remote computer can communicate.
  • Processor 502 may be a conventional microprocessor including, but not limited to, an Intel Corporation x86, Pentium, or Itanium family microprocessor, a Motorola family microprocessor, or the like.
  • Memory 504 may include, but not limited to, Dynamic Random Access Memory (DRAM), Static Random Access Memory (SRAM), Synchronized Dynamic Random Access Memory (SDRAM), Rambus Dynamic Random Access Memory (RDRAM), or the like.
  • Display controller 508 controls in a conventional manner a display 510 , which in one embodiment may be a cathode ray tube (CRT), a liquid crystal display (LCD), and active matrix display or the like.
  • An input/output device 518 coupled to input/output controller 516 may be a keyboard, disk drive, printer, scanner and other input and output devices, including a mouse, trackball, trackpad, joystick, or other pointing device.
  • non-volatile storage 505 is used to store instructions, such as firmware, and/or data.
  • Non-volatile storage devices include, but are not limited to, Read-Only Memory (ROM), Flash memory, Erasable Programmable Read Only Memory (EPROM), Electronically Erasable Programmable Read Only Memory (EEPROM), or the like.
  • Storage 512 in one embodiment may be a magnetic hard disk, an optical disk, or another form of storage for large amounts of data. Some data may be written by a direct memory access process into memory 504 during execution of software in computer system 500 . It is appreciated that software may reside in storage 512 , memory 504 , non-volatile storage 505 or may be transmitted or received via modem or network interface 514 .
  • TMP 526 may be provided.
  • TMP 526 may be used to generate a shared secret (i.e., key) using one of many mechanisms defined by corresponding specifications available at http:H/www.trustedcomptuinggroup.org.
  • the shared secret is generally depicted as an ownership token 528 .
  • a machine-readable medium includes any mechanism that provides (i.e., stores and/or transmits) information in a form readable or accessible by a machine (e.g., a computer, network device, personal digital assistant, manufacturing tool, any device with a set of one or more processors, etc.).
  • a machine-readable medium includes, but is not limited to, recordable/non-recordable media (e.g., a read only memory (ROM), a random access memory (RAM), a magnetic disk storage media, an optical storage media, a flash memory device, etc.).
  • computer system 500 is one example of many possible computer systems that have different architectures.
  • computer systems that utilize the Microsoft Windows operating system in combination with Intel microprocessors often have multiple buses, one of which may be considered a peripheral bus.
  • Network computers may also be considered as computer systems that may be used with the present invention.
  • Network computers may not include a hard disk or other mass storage, and the executable programs are loaded from a corded or wireless network connection into memory 504 for execution by processor 502 .
  • handheld or palmtop computers which are sometimes generally referred to as personal digital assistants (PDAs) or pocket PCs, may also be considered as computer systems that may be used with the present invention.
  • PDAs personal digital assistants
  • pocket PCs may also be considered as computer systems that may be used with the present invention.
  • handheld computers may not include a hard disk or other mass storage, and the executable programs are loaded from a corded or wireless network connection into memory 504 for execution by processor 502 .
  • a typical computer system will usually include at least a processor 502 , memory 504 , and a bus 506 coupling memory 504 to processor 502 .
  • computer system 500 is controlled by operating system software that includes a file management system, such as a disk operating system, which is part of the operating system software.
  • operating system software that includes a file management system, such as a disk operating system, which is part of the operating system software.
  • a file management system such as a disk operating system
  • one embodiment of the present invention utilizes Microsoft Windows® as the operating system for computer system 500 .
  • other operating systems that may also be used with computer system 500 include, but are not limited to, the Apple Macintosh® operating system, the Linux operating system, the Microsoft Windows CE® operating system, the Unix operating system, the 3Com Palm® operating system, or the like.

Abstract

A method for authenticating clients and boot server hosts to provide a secure network boot environment. Messages are exchanged between a client and a boot server or authentication server proxy for the boot server during pre-boot operations of the client to authentic the boot server and the client. In one embodiment, authentication is performed by comparing shared secrets stored on each of the client and the boot server or authentication proxy. The shared secret comprises authentication credentials that may be provisioned by an administrator, user, or by the client itself via a trusted platform module. Authentication provisioning schemes include an Extensible Authentication Protocol (EAP) exchange. In one embodiment, authentication is performed during the pre-boot via an authenticated Dynamic Host Configuration Protocol (DHCP) process. The scheme provides a faster and more simplified authentication mechanism, without requiring extensive set-up for IT administrators or significantly changing the login and OS boot user experience.

Description

FIELD OF THE INVENTION
The field of invention relates generally to computer systems and, more specifically but not exclusively relates to an authentication technique to enable secure network booting.
BACKGROUND INFORMATION
It is becoming ever more common to provide network booting of operating systems (OS) in enterprise environments, web server environments, and the like. Under a network operating system boot, an OS image is loaded (booted) from a network resource, such as a boot server. This scheme provides advantages relating to configuration control and generally reduces IT management costs, while at the same time reducing licensing costs.
While advantageous in many ways, the conventional network-booting scheme is unsecure. For instance, an insider may advertise the availability of a rogue boot server masquerading as a legitimate boot server that serves malicious OS images. The net result is that unknowing users load a malicious OS image, which may contain a virus that causes widespread havoc or a Trojan that sits unnoticed for days, weeks, or months until an activation event occurs, causing the Trojan code to be launched.
In view of this problem, techniques have been developed to authenticate boot images (or boot servers hosting such boot images) such that malicious or otherwise unauthentic images can be easily identified, preventing such images from being booted. For example, BOOT Integrity Services, commonly called BIS, provide a mechanism to authenticate a boot image that is derived from a DHCP (Dynamic Host Controller Protocol) offer. Even through the mechanism is sufficient to ascertain that the image is not modified in any way (i.e., is authentic), it has some shortcomings that may prevent its use in more secure environments.
One problem is the conventional scheme uses digital certificates that need to be certified. The certificate generated by the server needs to be authenticated by CA (Certificate Authority) and CRL (Certificate Revocation List) if not Self-Signed. If one of these servers is down, a false certificate may accidentally be accepted. In the case of Self-Signed certificated, its origin cannot be verified. Even though there is a provision for public key cryptography, an established mechanism for authentication of the client and boot server is still lacking. This may cause a malicious DHCP Server to act as a “Man in the Middle” or a “Malicious Proxy DHCP Server”.
Public Key cryptography can be very taxing because of exponent mathematics. This is more so in low power clients, such as PDA (Personal Digital Assistant) or wireless clients. For example, on a 16 MHz client, a 512-bit modular multiplication costs about 100 ms per calculation. As a result, decrypting a downloaded boot image via public key encryption may take seconds or even minutes, depending upon the type of client performing the download.
BRIEF DESCRIPTION OF THE DRAWINGS
The foregoing aspects and many of the attendant advantages of this invention will become more readily appreciated as the same becomes better understood by reference to the following detailed description, when taken in conjunction with the accompanying drawings, wherein like reference numerals refer to like parts throughout the various views unless otherwise specified:
FIG. 1 is a flowchart illustrating operations and logic implemented to perform a secure network boot process, according to one embodiment of the invention;
FIG. 2 is message flow diagram illustrating the exchange of messages and generation of message content in support of a DHCP (Dynamic Host Configuration Protocol) authentication scheme, according to one embodiment of the invention;
FIG. 3 is a message flow diagram illustrating the exchange of messages and generation of message content under an Extensible Authentication Protocol (EAP) scheme that is used to provision shared credentials on a client (supplicant) and a server (authenticator), according to one embodiment of the invention
FIG. 4 is a schematic diagram illustrating the exchange of messages between a PXE (pre-boot execution environment) client, DHCP server, and boot server during a secure network boot process, according to one embodiment of the invention
FIG. 5 is a schematic block diagram illustrating a configuration of an exemplary computer system that may be used to practice embodiments of the invention.
DETAILED DESCRIPTION OF PREFERRED EMBODIMENTS
Embodiments of methods and system for supporting a secure network boot using a simplified authentication mechanism are described herein. In the following description, numerous specific details are set forth to provide a thorough understanding of embodiments of the invention. One skilled in the relevant art will recognize, however, that the invention can be practiced without one or more of the specific details, or with other methods, components, materials, etc. In other instances, well-known structures, materials, or operations are not shown or described in detail to avoid obscuring aspects of the invention.
Reference throughout this specification to “one embodiment” or “an embodiment” means that a particular feature, structure, or characteristic described in connection with the embodiment is included in at least one embodiment of the present invention. Thus, the appearances of the phrases “in one embodiment” or “in an embodiment” in various places throughout this specification are not necessarily all referring to the same embodiment. Furthermore, the particular features, structures, or characteristics may be combined in any suitable manner in one or more embodiments.
Embodiments of the present invention provide a secure network boot flow that implements an authentication scheme that does not require the client to use public key encryption methods with each boot. Rather, shared secret data one the client and boot server (or authentication proxy) are compared during pre-boot using a secure message exchange process. This provides a faster and more simplified authentication mechanism, without requiring extensive set-up for IT administrators or significantly changing the login and OS boot user experience.
As an overview of one embodiment of the flow process, attention is directed to the flowchart of FIG. 1. The process starts off in a start block 100, which depicts a restart event, i.e., an event corresponding to a restart or reset of a computer system. In response to the restart event, system initialization begins in a block 102A. During system initialization, system firmware is loaded and executed to verify operation of various system components (e.g., POST (power-on self test) operations), set up run-time firmware services, and to prepare the system for subsequent loading of an operating system.
During the system initialization, a determination is made in a decision block 104 to whether an administrative action is requested. For example, for a newly-deployed system, an administrator may wish to perform some initial security measures, such as setting up a userID (i.e., Login) and password. Typically, the administrative action may be made available via a console input, function key activation, or selection of an administrative action option presented to a user during system initialization.
If the answer to decision block 104 is YES, the logic proceeds to a decision block 106 in which a determination is made to whether this is a first time “take ownership” event. In brief, a take ownership event concerns setting up access to a system via some sort of authentication scheme involving “ownership” or authentication credentials. Ownership may apply to complete access to a system, or may be restricted to a particular aspect of the system, such as a boot server could “own” control of a system's operating system. In accordance with principles of the current embodiment, the determination in decision block 106 relates to establishing a one-time shared secret between a client system and a boot server.
Thus, if the answer to decision block 106 is YES, the logic proceeds to a block 108 in which authentication credentials are provisioned. In one embodiment, this comprises a shared secret that is issued in the form of a shared key (Kowner) and stored on either the client (if selected from a key list already stored on the boot server or an authentication server or proxy server of either), or stored on both the client and the boot server (if dynamically generated by the boot server, authentication server, or proxy). There are several schemes for provisioning authentication credentials that are well-known in the security arts that may be used.
For example, in one embodiment, a credential-provisioning scheme is implemented via an in-system Baseboard Management Controller (BMC) service processor and associated local or remote intelligent platform management interface (IPMI)—(http://www.intel.com/design/servers/ipmi/spec.htm) messaging that is used to load a shared secret password. Also, a system can support various “Take Ownership” or “Get Acquainted” protocols; these get acquainted protocols involve the user taking ownership of the platform. A means by which this credential provisioning can be handled can be an out-of-band channel (IPMI), a local console (i.e., setup screen where user types in initial password), or imprinting the system in a staging area (i.e., private network using Web Page served from the client and system administrator typing in initial password).
An alternate provisioning, “take owner-ship”, or “get acquainted” protocol involves the use of public and private keys. With the advent of trusted platform modules (TPM), such as the TPM described in the Trusted Computing Group (http://www.trustedcomputinggroup.org), there is a set of key-pairs that are stored in a platform. To instantiate the shared key between the client and server, the client can use an Anonymous Identification Key (AIK) for which some local service vets. Then there can be a challenge/response sequence wherein the server authenticates the client using this key only during the “get acquainted” phase and the public key is used to encrypt a random number or string that shall become the shared secret. In this case, there is a secure means by which to establish the shared secret. There are also network protocols, such as the Extensible Authentication Protocol (EAP, RFC 2284), that facilitate this exchange in a simple, efficient manner. One advantage of EAP is that the protocol, in tandem with 802.1x switches, allows this exchange to occur prior to subsequent authenticated DHCP exchanges (i.e., you can do it prior to ascertaining your IP address). This does not require a full public key infrastructure (PKI) implementation, either. It can be a locally-administered infrastructure. Details of an exemplary EAP process for obtaining credentials are described below with reference to FIG. 3.
Returning to the flowchart of FIG. 1, once the credentials are provisioned, the logic proceeds to either a block 110 in which additional administrative actions may be performed, or proceeds directly to continuing system initialization in a block 112. In the event the one-time take ownership event has already been performed, in one embodiment a determination is made in a decision block 114 whether the administrator is authenticated. For example, there may be implementations under which an authentication challenge in the form of a key exchange is issued prior to allowing administrative access to a system. If the challenge is successful, the logic proceeds to block 110 in which the administrative action is performed. If the challenge is unsuccessful, the administrative action is not allowed, causing the logic to proceed to block 112 to continue the system initialization.
During a latter portion of the initialization sequence (generally), a determination is made in a decision block 114 to whether the system is to be booted from a network (i.e., a remote boot) or from local media. In general, a boot sequence can be defined for a Microsoft Windows® operating system by editing the boot.ini file. Similar techniques may be used for other operation systems, such as UNIX variants, LINUX variants, etc. In effect, the boot sequence will try to boot from one or more boot targets listed in the sequence in the order in which the boot targets are listed, e.g., CD-ROM, local disk, network boot, etc. If a remote boot request is made, the logic proceeds to a block 116 in which the boot image is authenticated using an authenticated DHCP process, as described below. The operating system is then booted in a block 120 if it is determined the boot image is authentic in a decision block 118, otherwise an error message is generated in a block 122. If a local boot image is available (and is encountered as a boot option prior to a network boot option), the OS is booted from the local media, as depicted in a block 120.
Further details of the operations of the boot image authentication process of block 116 in accordance with one embodiment are shown in FIG. 2. The process employs an implementation of authentication for DHCP messages, as defined in RFC (request for comment) 3118. DHCP transports protocol stack configuration parameters from centrally administered servers to TCP/IP hosts. Among those parameters is an IP (Internet Protocol) address. DHCP servers can be configured to dynamically allocate addresses from a pool of addresses, eliminating a manual step in configuration of TCP/IP hosts.
DHCP threats are similar to those for OS boot services discussed above. A typical threat to DHCP is inherently an insider threat (assuming a properly configured network where BOOTP ports are blocked on the enterprise's perimeter gateways.) Regardless of the gateway configuration, however, the potential attacks by insiders and outsiders are the same.
The attack specific to a DHCP client is the possibility of the establishment of a “rogue” server with the intent of providing incorrect configuration information to the client. The motivation for doing so may be to establish a “man in the middle” attack or it may be for a “denial of service” (DoS) attack. There is another threat to DHCP clients from mistakenly or accidentally configured DHCP servers that answer DHCP client requests with unintentionally incorrect configuration parameters.
The threat specific to a DHCP server is an invalid client masquerading as a valid client. The motivation for this may be for “theft of service”, or to circumvent auditing for any number of nefarious purposes. The threat common to both the client and the server is the resource DoS attack. These attacks typically involve the exhaustion of valid addresses, or the exhaustion of CPU or network bandwidth, and are present anytime there is a shared resource. In current practice, redundancy mitigates DoS attacks the best.
Returning to the event flow and message exchange diagram of FIG. 2, the authentication process starts at a client 200, which generates a nonce Nc (as used herein, a subscript c represents a client-generated object, while a subscript s represents a boot server-generated object) and receives a Password and Login data in response to corresponding user entries. A nonce is a randomly generated value used to defeat “playback” attacks in communication Protocols. One party randomly generates a nonce and sends it to the other party. The receiver encrypts it using the agreed upon secret key and returns it to the sender. Since the nonce was randomly generated by the sender, this defeats playback attacks because the replayer cannot know in advance the nonce the sender will generate. The receiver denies connections that do not have the correctly encrypted nonce.
A hash Hc is then derived by performing an SHA1 (secure hashing algorithm hash) on nonce Nc+password+Login). The client 200 then sends a DHCP_DISCOVER message containing Nonce Nc and the Login data to a DHCP server 202. In one embodiment, DHCP server 202 is co-located with an OS boot server. In another embodiment, the DHCP server and the OS boot server are separate systems that share authentication credential data. An authentication server of DHCP proxy may be used as well.
Upon receiving the DHCP_DISCOVER message, DHCP server 202 generates a nonce Ns and examines the Password and Login data. DHCP server 202 also generates a public key Kpub (using a base/modulus (n) and exponent (e) for an RSA key) and a hash Hc′, which is a hash on the nonce Nc+Password+Login. The nonce Ns, key Kpub, and hash Hc′, are then returned to client 200 via a DHCP_OFFER message.
Upon receipt of the DHCP_OFFER message, client 200 compares hashes Hc and Hc′. If they do not match, an “Authentication Error” is returned to server 202. If they do match, client 200 generates a nonce Nc′ and a temporary key Ktemp, which is derived from a hash of nonce Nc′+nonce Ns+Password+Login. Client 200 then sends an encrypted shared secret T, which is derived from an ephemeral key (Ek is the encryption operation used to generate the ephemeral key) of nonce Nc′ and a hash Hs′ of nonce Ns+Password+Login in a DHCP_REQUEST message.
In response, server 202 extracts the nonce Nc′ and Hash on Nc′+Password+Login. If the hash Hs matches hash Hs′, the client request is honored; otherwise an “Authentication Error” is returned to the client 200. Server 202 then generates another nonce Ns′ and independently computes Ktemp via a hash on nonce Nc′, nonce Ns, Password and Login. It then sends nonce Ns′ using secret key cryptography (e.g., data encryption standard 3-DES) with the key derived from Ktemp and sends the encrypted data to client 200 in a DHCP_ACK (DHCP acknowledge) message. The new key to be used for any future sessions (the session key) is Ks=Hash (Nc′, Ns′, Password, Login).
The client 200 derives the nonce Ns′ using the pre-calculated Ktemp using 3-DES decryption, and calculates the session key Ks=Hash (Nc′, Ns′, Password, Login). The client 200 can then use TFTP (Trivial File Transfer Protocol) to download the OS boot Image and extract it using the newly calculated session key Ks. In one embodiment, the IPSec Authentication Header is used to prefix the encrypted TFTP data payloads.
As discussed above, at some point in time prior to performing a secure network boot, it will be necessary to provide a shared secret to both the client that boots the authenticated boot image and the server from which the image is served. In one embodiment, the Extensible Authentication Protocol is employed as the means for communicating authentication information between a Supplicant (EAP peer) and an Authenticator (EAP server). EAP is a general protocol that supports multiple authentication mechanisms. For example, through the use of EAP, support for a number of authentication schemes may be added, including smart cards, Kerberos, Public Key Encryption, One Time Passwords, and others.
An exemplary EAP-based shared secret (i.e., key) exchange is shown in FIG. 3. The process involves two phases, including a phase 1 under which authentication is performed, and a phase 2 during which secure messages are exchanged. The process begins at an EAP server (Authenticator) 302, which sends an EAP request message 304 containing a SessionID and a Sid to an EAP Peer (Supplicant) 300. In one embodiment, the SessionID is a 256-bit random value generated by the authenticator. The Sid comprises and EAP server identity. In one embodiment, the Sid comprises a network access identifier as specified by RFC 2486.
In response to receiving EAP request message 304, EAP peer 300 returns an EAP response message 306 including a concatenation of a first hash Hash1, a Pid value, a Kid value, a public key (PubKey) and a random number Prandom selected by the EAP peer. Hash1 is an SHA1 hash of the first message (i.e., EAP request message 304). Pid identifies the EAP Peer 300, and hence, the owner or device key. In one embodiment, Pid comprises a GUID (globally unique identifier). Kid identifies the symmetric key the EAP peer expects to use in this context. PubKey is EAP peer 300's public key portion of the device key.
The EAP server 302 then sends an EAP request message 308 containing a second hash Hash2 comprising a hash on EAP response message 306, and an SAuth value, which comprises a concatenation of 3 items, encrypted under EAP peer 300's public device key: (1) session key Ks, (2) value of Hash2 repeated, and (3) an HMAC-SHA1-96 digest on the concatenation of Ks | Hash2. In response, EAP peer 300 returns an EAP response 310 containing a third hash Hash3 comprising a hash on EAP request message 308, and a Mac3 value, comprising an HMAC-SHA1-96 digest of Hash3 under the KCK portion of Ks. This completes the phase 1 authentication process.
In one embodiment, Ks comprises a 60-octet (480-bit) key with an internal structure of three 20-octete (160-bit) subkeys, including:
(1) KCK—1st octet of Ks. Key confirmation key.
(2) KDK—2nd octet of Ks. Key derivation key.
(3) KEK—3rd octet of Ks. Key encryption key.
During phase 2, the secure messaging phase, messages are exchanged in a secure manner under which an encrypted format is used that references the previous message received at each participant. This is depicted by the “n” and “n+1” nomenclature shown in FIG. 3. Each message includes a concatenation of a hash on the previous message (e.g., Hash(n)), a one-byte ID value identifying the type of data being conveyed, Adata, identifying data that is authenticated, Edata, identifying encrypted data, and an Mac value, comprising an HMAC-SHA1-96 digest of the other fields in the message, using the KCK portion of the session key Ks. In one embodiment, the encrypted Edata only includes keys and keying material. During the phase 2 operations, a shared secret, such as a key, may be securely exchanged between the EAP peer 300 and EAP server 302.
FIG. 4 shows a set of message exchanges comprising an encapsulation of the authentication and secure boot image process involving a PXE (pre-boot execution environment) client 400, a DHCP (or a DHCP/Proxy) server 402, and a boot server 404. In addition to being hosted by separate machines (as shown), DHCP server 402 and boot server 404 may be co-located. DHCP server 402 is also representative of an authentication server, in general.
PXE is defined on a foundation of industry-standard Internet protocols and services that are widely deployed in the industry, namely TCP/IP, DHCP, and TFTP. These standardize the form of the interactions between clients and servers. To ensure that the meaning of the client-server interaction is standardized as well, certain vendor option fields in the DHCP protocol are used, which are allowed by the DHCP standard. The operations of standard DHCP and/or BOOTP servers (that serve up IP addresses and/or network bootstrap programs) will not be disrupted by the use of the extended protocol. Clients and servers that are aware of these extensions will recognize and use this information, and those that do not recognize the extensions will ignore them.
PXE client 400 and DHCP server 402 perform the authentication process of FIG. 2, confirming shared secret 406, as depicted by PXE DHCP and DHCP acknowledge messages, using the PXE protocol. In brief, the PXE protocol operates as follows. The client initiates the protocol by broadcasting a DHCP_DISCOVER containing an extension that identifies the request as coming from a client that implements the PXE protocol. Assuming that a DHCP server or a Proxy DHCP server implementing this extended protocol is available, after several intermediate steps, the server sends the client a list of appropriate boot servers. The client then discovers a boot server of the type selected and receives the name of an executable file on the chosen boot server. The client uses TFTP to download the executable from the boot server. Finally, the client initiates execution of the downloaded image.
During this authentication process, a session key Ks is also generated. PXE client 400 then sends a PXE boot server discover message to boot server 404. In short, the PXE boot server discover message is a message that is sent to listening devices on a network that is used in discovering the existence of any PXE boot servers on the network. In response to the discover message, the boot server returns an acknowledgement, and PXE client 400 sends a PXE download request. Packets encrypted using the session key Ks and corresponding to a target boot image are then served by boot server 404 to PXE client 400. As an option, session key Ks may be updated during this process. Subsequently, a final set of encrypted packets are received by PXE client 400. Once downloaded, the secure boot image is loaded and executed, as depicted by a block 406.
The foregoing authentication and secure boot technique provides several advantageous over current network boot processes. These include:
1. It is faster because the client doesn't use any public key encryption methods after the initial shared secret exchange. In some embodiments, there is one time public key encryption using the server's public key. Even in this case, if the server's public exponent is small (i.e., 3 or less), there are going to be at minimum of 2 multiplications without loss of any security. The rest of the computation is mostly hash calculations or secret key cryptography like 3-DES. The average time taken by these algorithms for 512 bit modular computations on 16 MHz machine is 4-5 ms. Therefore a very large boot file can be downloaded securely and faster.
2. The end of the authenticated DHCP process completes security negotiations. After that, most of the communication is based upon Secret Key Cryptography using the independently computed key.
3. Both Client & Server are able to authenticate each other by the end of the authenticated DHCP process, while establishing a secret key for future communication.
4. Prevents a “Man in the Middle” attack using a malicious DHCP server.
5. No digital certificates or 3rd parties are required to authenticate the identity of each other.
6. Uses the default password and login that may have been provided by the network administrator or ISP. In some embodiments, this is used as a shared key between them.
7. The technique provides a simple means to provision credentials. The “getting to know” or “take ownership” phase is often omitted. This one-time or rare-event can be based upon more time-consuming public key cryptographic operations.
Exemplary Computer System for Practicing Embodiments of the Invention
FIG. 5 is an illustration of one embodiment of an exemplary computer system 500 on which embodiments of the present invention may be implemented. Computer system 500 includes a processor 502 coupled to a bus 506. Memory 504, storage 512, non-volatile storage 505, display controller 508, input/output controller 516 and modem or network interface 514 are also coupled to bus 506. The computer system 500 interfaces to external systems through the modem or network interface 514. This interface 514 may began analog modem, Integrated Services Digital Network (ISDN) modem, cable modem, Digital Subscriber Line (DSL) modem, a T-1 line interface, a T-3 line interface, token ring interface, satellite transmission interface, or other interfaces for coupling a computer system to other computer systems. A carrier wave signal 523 is received/transmitted by modem or network interface 514 to communicate with computer system 500. In the embodiment illustrated in FIG. 5, carrier waive signal 523 is used to interface computer system 500 with a computer network 524, such as a local area network (LAN), wide area network (WAN), or the Internet. In one embodiment, computer network 524 is further coupled to a remote computer (not shown), such that computer system 500 and the remote computer can communicate.
Processor 502 may be a conventional microprocessor including, but not limited to, an Intel Corporation x86, Pentium, or Itanium family microprocessor, a Motorola family microprocessor, or the like. Memory 504 may include, but not limited to, Dynamic Random Access Memory (DRAM), Static Random Access Memory (SRAM), Synchronized Dynamic Random Access Memory (SDRAM), Rambus Dynamic Random Access Memory (RDRAM), or the like. Display controller 508 controls in a conventional manner a display 510, which in one embodiment may be a cathode ray tube (CRT), a liquid crystal display (LCD), and active matrix display or the like. An input/output device 518 coupled to input/output controller 516 may be a keyboard, disk drive, printer, scanner and other input and output devices, including a mouse, trackball, trackpad, joystick, or other pointing device.
In general, non-volatile storage 505 is used to store instructions, such as firmware, and/or data. Non-volatile storage devices include, but are not limited to, Read-Only Memory (ROM), Flash memory, Erasable Programmable Read Only Memory (EPROM), Electronically Erasable Programmable Read Only Memory (EEPROM), or the like.
Storage 512 in one embodiment may be a magnetic hard disk, an optical disk, or another form of storage for large amounts of data. Some data may be written by a direct memory access process into memory 504 during execution of software in computer system 500. It is appreciated that software may reside in storage 512, memory 504, non-volatile storage 505 or may be transmitted or received via modem or network interface 514.
In embodiments in which the “take ownership” protocol is implemented via a trusted platform module, a TMP 526 may be provided. In general, TMP 526 may be used to generate a shared secret (i.e., key) using one of many mechanisms defined by corresponding specifications available at http:H/www.trustedcomptuinggroup.org. The shared secret is generally depicted as an ownership token 528.
For the purposes of the specification, a machine-readable medium includes any mechanism that provides (i.e., stores and/or transmits) information in a form readable or accessible by a machine (e.g., a computer, network device, personal digital assistant, manufacturing tool, any device with a set of one or more processors, etc.). For example, a machine-readable medium includes, but is not limited to, recordable/non-recordable media (e.g., a read only memory (ROM), a random access memory (RAM), a magnetic disk storage media, an optical storage media, a flash memory device, etc.).
It will be appreciated that computer system 500 is one example of many possible computer systems that have different architectures. For example, computer systems that utilize the Microsoft Windows operating system in combination with Intel microprocessors often have multiple buses, one of which may be considered a peripheral bus. Network computers may also be considered as computer systems that may be used with the present invention. Network computers may not include a hard disk or other mass storage, and the executable programs are loaded from a corded or wireless network connection into memory 504 for execution by processor 502. In addition, handheld or palmtop computers, which are sometimes generally referred to as personal digital assistants (PDAs) or pocket PCs, may also be considered as computer systems that may be used with the present invention. As with network computers, handheld computers may not include a hard disk or other mass storage, and the executable programs are loaded from a corded or wireless network connection into memory 504 for execution by processor 502. A typical computer system will usually include at least a processor 502, memory 504, and a bus 506 coupling memory 504 to processor 502.
It will also be appreciated that in one embodiment, computer system 500 is controlled by operating system software that includes a file management system, such as a disk operating system, which is part of the operating system software. For example, one embodiment of the present invention utilizes Microsoft Windows® as the operating system for computer system 500. In other embodiments, other operating systems that may also be used with computer system 500 include, but are not limited to, the Apple Macintosh® operating system, the Linux operating system, the Microsoft Windows CE® operating system, the Unix operating system, the 3Com Palm® operating system, or the like.
The above description of illustrated embodiments of the invention, including what is described in the Abstract, is not intended to be exhaustive or to limit the invention to the precise forms disclosed. While specific embodiments of, and examples for, the invention are described herein for illustrative purposes, various equivalent modifications are possible within the scope of the invention, as those skilled in the relevant art will recognize.
These modifications can be made to the invention in light of the above detailed description. The terms used in the following claims should not be construed to limit the invention to the specific embodiments disclosed in the specification and the claims. Rather, the scope of the invention is to be determined entirely by the following claims, which are to be construed in accordance with established doctrines of claim interpretation.

Claims (27)

1. A method, comprising:
authenticating, during a pre-boot phase of a client, a boot server on which an operating system (OS) boot image is stored;
downloading an OS boot image from the boot server if it is authenticated; and
loading the OS boot image on the client, wherein a shared secret is stored at the client and at the boot server, wherein authenticating the boot server includes:
generating a random value at the client;
transmitting the random value to the boot server;
receiving an encrypted value at the client, the encrypted value encrypted at the boot server using the random value and the shared secret stored by the boot server;
decrypting the encrypted value at the client using the shared secret stored by the client; and
comparing the random value with the encrypted value that is decrypted.
2. The method of claim 1, further comprising provisioning the shared secret to at least one of the client and the boot server during a one-time provisioning event such that both the client and the boot server have access to the shared secret.
3. The method of claim 2, wherein the shared secret is provisioned using an Extensible Authentication Protocol (EAP message) exchange between an authenticator EAP server and the client.
4. The method of claim 2, wherein the shared secret is provisioned from the client to the server and is formulated via a key that is generated by a trusted platform module stored by the client.
5. The method of claim 2, wherein the shared secret is provisioned using a take ownership protocol under which one of a user or administrator takes ownership of a computer system by providing authentication credentials for that system.
6. The method of claim 5, wherein the take ownership protocol comprises provisioning authentication credentials via one of the following: provisioning authentication credentials on the client via an out-of-band channel, enabling a user to enter authentication credentials via a local console, and imprinting the client with authentication credentials via remote entry of the authentication credentials by a system administrator.
7. The method of claim 1, wherein the boot server is authenticated using an authenticated dynamic host configuration protocol (DHCP) message exchange process.
8. The method of claim 1, further comprising authenticating the client prior to allowing a client to download an OS boot image.
9. The method of claim 8, wherein the client is authenticated using an authenticated dynamic host configuration protocol (DHCP) message exchange process.
10. The method of claim 8, wherein the client is authenticated by performing the operations of:
encrypting the shared secret stored at the client;
passing the encrypted shared secret to one of the boot server and an authentication proxy for the boot server;
decrypting the encrypted shared secret at said one of the boot server and the proxy for the boot server; and
comparing a shared secret stored at said one of the boot server and the authentication proxy for the boot server with the encrypted shared secret that is decrypted.
11. The method of claim 1, further comprising:
generating a session key; and
employing the session key for encryption and decryption of data transferred between the boot server and the client.
12. The method of claim 11, further comprising:
updating the session key at some point during download of the OS boot image; and
employing the updated session key for encryption and decryption of data transferred between the boot server and the client while downloading a subsequent portion of the OS boot image.
13. The method of claim 1, wherein the shared secret is derived from the combination of a user login and a password corresponding to the user login.
14. A computer system, comprising:
a processor;
memory, coupled to the processor;
a network interface, coupled to the processor;
a firmware storage device, coupled to the processor; having firmware instructions stored therein that when executed on the processor cause operations to be performed, including:
interacting with a boot server via messages sent to and received from the boot server through the network interface during a pre-boot initialization phase of the computer system to authenticate the boot server;
downloading an OS boot image from the boot server if it is authenticated; and
loading the OS boot image into the memory, wherein a shared secret is stored at the computer system and at the boot server, wherein the boot server is authenticated by execution of the firmware instructions to further perform operations including:
generating a random value at the computer system;
transmitting the random value to the boot server;
receiving an encrypted value at the computer system, the encrypted value encrypted at the boot server using the random value and the shared secret stored by the boot server;
decrypting the encrypted value at the computer system using the shared secret stored by the computer system; and
comparing the random value with the encrypted value that is decrypted.
15. The system of claim 14, wherein the boot server is authenticated using an authenticated dynamic host configuration protocol (DHCP) message exchange process.
16. The system of claim 15, wherein execution of the firmware instructions further performs authentication of the computer system via the authenticated DHCP message exchange process.
17. The system of claim 14, wherein the OS boot image is served from the boot server in an encrypted form, and execution of the firmware instructions further performs the operation of decrypting the OS boot image.
18. The system of claim 17, wherein execution of the firmware instructions further performs the operation of interacting, via a message exchange, with the boot server to agree on a session key that is used to encrypt and decrypt the OS boot image.
19. The system of claim 14, further comprising a trusted platform module, operatively coupled to the processor and storing an ownership token that is used to formulate the shared secret.
20. The system of claim 19, wherein the ownership token comprises a key that is instantiated via the trusted platform module.
21. A machine-readable media providing instructions to perform operations on a computer system, including:
interacting with one of a boot server or authentication server via messages generated by the computer system and sent to the boot server or authentication server and messages received from the boot server or authentication server and processed by the computer system during a pre-boot initialization phase of the computer system to authenticate the boot server;
sending a request to the boot server to download an OS boot image from the boot server if it is authenticated;
downloading the OS boot image from the boot server; and
loading the OS boot image into memory of the computer system, wherein a shared secret is stored at the computer system and at the boot server, wherein the boot server is authenticated by execution of the firmware instructions to further perform operations including:
generating a random value at the computer system;
transmitting the random value to the boot server;
receiving an encrypted value at the computer system, the encrypted value encrypted at the boot server using the random value and the shared secret stored by the boot server;
decrypting the encrypted value at the computer system using the shared secret stored by the computer system; and
comparing the random value with the encrypted value that is decrypted.
22. The machine-readable media of claim 21, wherein the media comprises a firmware storage device and the instructions comprise firmware instructions.
23. The machine-readable media of claim 21, wherein execution of the instructions performs the further operation of broadcasting a boot server discovery message to locate the boot server.
24. The machine-readable media of claim 21, wherein execution of the instructions performs the further operations of:
encrypting the shared secret stored at the computer system; and
sending the shared secret in encrypted form to one of the boot server or an authentication proxy for the boot server.
25. The machine-readable media of claim 21, wherein the boot server is authenticated using an authenticated dynamic host configuration protocol (DHCP) message exchange process.
26. The machine-readable media of claim 25, wherein execution of the instructions further performs authentication of the computer system via the authenticated DHCP message exchange process.
27. The machine-readable media of claim 21, wherein execution of the instructions further performs the operations of:
generating a user interface on the computer system via which a user can enter authentication credentials;
generating the shared secret based on the authentication credentials; and
sending the shared secret to the boot server or authentication server.
US10/675,381 2003-09-30 2003-09-30 Method to authenticate clients and hosts to provide secure network boot Expired - Fee Related US7299354B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US10/675,381 US7299354B2 (en) 2003-09-30 2003-09-30 Method to authenticate clients and hosts to provide secure network boot

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US10/675,381 US7299354B2 (en) 2003-09-30 2003-09-30 Method to authenticate clients and hosts to provide secure network boot

Publications (2)

Publication Number Publication Date
US20050071677A1 US20050071677A1 (en) 2005-03-31
US7299354B2 true US7299354B2 (en) 2007-11-20

Family

ID=34377137

Family Applications (1)

Application Number Title Priority Date Filing Date
US10/675,381 Expired - Fee Related US7299354B2 (en) 2003-09-30 2003-09-30 Method to authenticate clients and hosts to provide secure network boot

Country Status (1)

Country Link
US (1) US7299354B2 (en)

Cited By (44)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050267954A1 (en) * 2004-04-27 2005-12-01 Microsoft Corporation System and methods for providing network quarantine
US20060075216A1 (en) * 2004-10-01 2006-04-06 Nokia Corporation System and method for safe booting electronic devices
US20060095781A1 (en) * 2004-11-04 2006-05-04 Universal Scientific Industrial Co., Ltd. Method for mapping a shared resource in a network
US20060101286A1 (en) * 2004-11-08 2006-05-11 Catherman Ryan C Theft deterrence using trusted platform module authorization
US20060185001A1 (en) * 2005-02-17 2006-08-17 Stieglitz Jeremy E Methods and apparatus to configure a network device via an authentication protocol
US20060200670A1 (en) * 2005-03-01 2006-09-07 Kuffel Irene H Method and apparatus for securely disseminating security server contact information in a network
US20060224885A1 (en) * 2005-04-05 2006-10-05 Mcafee, Inc. Remotely configurable bridge system and method for use in secure wireless networks
US20060233375A1 (en) * 2005-04-05 2006-10-19 Mcafee, Inc. Captive portal system and method for use in peer-to-peer networks
US20060251258A1 (en) * 2005-04-05 2006-11-09 Mcafee, Inc. System, method and computer program product for updating security criteria in wireless networks
US20070169088A1 (en) * 2006-01-13 2007-07-19 Dell Products, L.P. Automatic firmware corruption recovery and update
US20070186113A1 (en) * 2006-02-06 2007-08-09 Cuberson Russel D Methods, DSL modems, and computer program products for provisioning DSL service using downloaded username/password
US20070233860A1 (en) * 2005-04-05 2007-10-04 Mcafee, Inc. Methods and systems for exchanging security information via peer-to-peer wireless networks
US20070260868A1 (en) * 2006-05-05 2007-11-08 Microsoft Corporation Booting an operating system in discrete stages
US20080034216A1 (en) * 2006-08-03 2008-02-07 Eric Chun Wah Law Mutual authentication and secure channel establishment between two parties using consecutive one-time passwords
US20080126455A1 (en) * 2006-07-11 2008-05-29 France Telecom Methods of protecting management frames exchanged between two wireless equipments, and of receiving and transmitting such frames, computer programs, and data media containing said computer programs
US7458073B1 (en) 2003-12-02 2008-11-25 Cisco Technology, Inc. Development and build environment for packaged software delivery
US7461374B1 (en) 2003-12-01 2008-12-02 Cisco Technology, Inc. Dynamic installation and activation of software packages in a distributed networking device
US20080313312A1 (en) * 2006-12-06 2008-12-18 David Flynn Apparatus, system, and method for a reconfigurable baseboard management controller
US7506335B1 (en) * 2003-11-29 2009-03-17 Cisco Technology, Inc. Method and apparatus for software loading and initialization in a distributed network
US20090129597A1 (en) * 2007-11-21 2009-05-21 Zimmer Vincent J Remote provisioning utilizing device identifier
US20090249120A1 (en) * 2008-03-27 2009-10-01 Jiewen Yao Remote firmware recovery
US20090327675A1 (en) * 2007-12-20 2009-12-31 Dell Products L.P. System and method for os boot image provisioning based on user identity to enable mobile users
US20100088499A1 (en) * 2005-12-20 2010-04-08 Zimmer Vincent J Seamless data migration
US20100095120A1 (en) * 2008-10-10 2010-04-15 Microsoft Corporation Trusted and confidential remote tpm initialization
US20100100733A1 (en) * 2008-10-17 2010-04-22 Dell Products L.P. System and Method for Secure Provisioning of an Information Handling System
US20100122076A1 (en) * 2008-09-30 2010-05-13 Aristocrat Technologies Australia Pty Limited Security method
US20100153697A1 (en) * 2008-12-17 2010-06-17 Jeremy Ford Methods and systems for embedded user authentication and/or providing computing services using an information handling system configured as a flexible computing node
US20100169640A1 (en) * 2008-12-30 2010-07-01 Ned Smith Method and system for enterprise network single-sign-on by a manageability engine
US20120137366A1 (en) * 2005-11-14 2012-05-31 Cisco Technology, Inc. Techniques for network protection based on subscriber-aware application proxies
US20120272057A1 (en) * 2008-03-31 2012-10-25 Jasmeet Chhabra Method and Apparatus for Secured Embedded Device Communication
US9225684B2 (en) 2007-10-29 2015-12-29 Microsoft Technology Licensing, Llc Controlling network access
US20160078230A1 (en) * 2006-10-13 2016-03-17 Computer Protection Ip, Llc Client authentication and data management system
US20160125187A1 (en) * 2014-11-03 2016-05-05 Rubicon Labs, Inc. System and Method for a Renewable Secure Boot
US9411975B2 (en) 2014-03-31 2016-08-09 Intel Corporation Methods and apparatus to securely share data
US9417863B2 (en) 2013-09-27 2016-08-16 Western Digital Technologies, Inc. System and method for expedited loading of an image onto a storage device
USRE46158E1 (en) * 2011-02-01 2016-09-20 Threatmetrix Pty Ltd Methods and systems to detect attacks on internet transactions
US9454662B1 (en) 2015-10-16 2016-09-27 International Business Machines Corporation Method for booting and dumping a confidential image on a trusted computer system
US9455977B1 (en) 2014-06-20 2016-09-27 Emc Corporation Remote management interface using credentials associated with respective access control intervals
US9705869B2 (en) 2013-06-27 2017-07-11 Intel Corporation Continuous multi-factor authentication
CN107241341A (en) * 2017-06-29 2017-10-10 北京五八信息技术有限公司 Access control method and device
US10073964B2 (en) 2015-09-25 2018-09-11 Intel Corporation Secure authentication protocol systems and methods
US10341361B2 (en) 2017-06-05 2019-07-02 Hewlett Packard Enterprise Development Lp Transmitting secure information
US10462224B2 (en) 2017-06-29 2019-10-29 Intel Corporation Coordinator for low power sensor network with tree or star topology
US20220147634A1 (en) * 2007-05-22 2022-05-12 Computer Protection Ip, Llc Client authentication and data management system

Families Citing this family (80)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7631196B2 (en) * 2002-02-25 2009-12-08 Intel Corporation Method and apparatus for loading a trustable operating system
US20050044408A1 (en) * 2003-08-18 2005-02-24 Bajikar Sundeep M. Low pin count docking architecture for a trusted platform
US20050044363A1 (en) * 2003-08-21 2005-02-24 Zimmer Vincent J. Trusted remote firmware interface
US20050091494A1 (en) * 2003-10-23 2005-04-28 Hyser Chris D. Method and system for providing an external trusted agent for one or more computer systems
US8037515B2 (en) * 2003-10-29 2011-10-11 Qualcomm Incorporated Methods and apparatus for providing application credentials
US7788480B2 (en) * 2003-11-05 2010-08-31 Cisco Technology, Inc. Protected dynamic provisioning of credentials
US8037314B2 (en) * 2003-12-22 2011-10-11 Intel Corporation Replacing blinded authentication authority
US7587607B2 (en) * 2003-12-22 2009-09-08 Intel Corporation Attesting to platform configuration
US7735120B2 (en) * 2003-12-24 2010-06-08 Apple Inc. Server computer issued credential authentication
JP4587158B2 (en) * 2004-01-30 2010-11-24 キヤノン株式会社 Secure communication method, terminal device, authentication service device, computer program, and computer-readable recording medium
JP4748774B2 (en) * 2004-06-02 2011-08-17 キヤノン株式会社 Encrypted communication system and system
US20060047944A1 (en) * 2004-09-01 2006-03-02 Roger Kilian-Kehr Secure booting of a computing device
US20060107323A1 (en) * 2004-11-16 2006-05-18 Mclean Ivan H System and method for using a dynamic credential to identify a cloned device
US20060114863A1 (en) * 2004-12-01 2006-06-01 Cisco Technology, Inc. Method to secure 802.11 traffic against MAC address spoofing
FI20050491A0 (en) * 2005-05-09 2005-05-09 Nokia Corp System for delivery of certificates in a communication system
US8286223B2 (en) * 2005-07-08 2012-10-09 Microsoft Corporation Extensible access control architecture
US7478147B2 (en) * 2005-07-21 2009-01-13 International Business Machines Corporation Method and apparatus for a secure network install
US8019986B2 (en) * 2005-08-12 2011-09-13 Comcast Cable Holdings, Llc Method and system for booting, provisioning and activating hardware and software clients
US8220042B2 (en) * 2005-09-12 2012-07-10 Microsoft Corporation Creating secure interactive connections with remote resources
US8825728B2 (en) * 2006-06-15 2014-09-02 Microsoft Corporation Entering confidential information on an untrusted machine
US9003000B2 (en) * 2006-07-25 2015-04-07 Nvidia Corporation System and method for operating system installation on a diskless computing platform
KR100792287B1 (en) * 2006-07-27 2008-01-07 삼성전자주식회사 Method for security and the security apparatus thereof
US7668945B2 (en) * 2006-08-18 2010-02-23 Intel Corporation Network booting using a platform management coprocessor
US20080082680A1 (en) * 2006-09-29 2008-04-03 Karanvir Grewal Method for provisioning of credentials and software images in secure network environments
US20080141352A1 (en) * 2006-12-11 2008-06-12 Motorola, Inc. Secure password distribution to a client device of a network
US8254579B1 (en) * 2007-01-31 2012-08-28 Hewlett-Packard Development Company, L.P. Cryptographic key distribution using a trusted computing platform
JP4483891B2 (en) * 2007-04-02 2010-06-16 フェリカネットワークス株式会社 Information processing terminal, data movement method, and program
US7992198B2 (en) * 2007-04-13 2011-08-02 Microsoft Corporation Unified authentication for web method platforms
US8327456B2 (en) * 2007-04-13 2012-12-04 Microsoft Corporation Multiple entity authorization model
US20080307502A1 (en) * 2007-06-07 2008-12-11 Aten International Co., Ltd. User message management methods and systems
DE602007002633D1 (en) * 2007-08-08 2009-11-12 Sap Ag Method and system for reconciling untraceable secrets
US8104073B2 (en) 2007-08-10 2012-01-24 Juniper Networks, Inc. Exchange of network access control information using tightly-constrained network access control protocols
US8239549B2 (en) * 2007-09-12 2012-08-07 Microsoft Corporation Dynamic host configuration protocol
US8806565B2 (en) * 2007-09-12 2014-08-12 Microsoft Corporation Secure network location awareness
CN101399661A (en) * 2007-09-27 2009-04-01 华为技术有限公司 Legal neighbor authentication method and device in group key management
US8037523B2 (en) * 2007-12-20 2011-10-11 Dell Products L.P. Single sign-on for OS boot image provisioning and OS login based on user identity
CN101478407B (en) * 2008-01-03 2011-05-25 联想(北京)有限公司 Method and apparatus for on-line safe login
US8661234B2 (en) * 2008-01-31 2014-02-25 Microsoft Corporation Individualized per device initialization of computing devices in avoidance of mass exploitation of vulnerabilities
US8924306B2 (en) * 2008-02-20 2014-12-30 International Business Machines Corporation Remote computer rebooting tool
US8510805B2 (en) * 2008-04-23 2013-08-13 Samsung Electronics Co., Ltd. Safe and efficient access control mechanisms for computing environments
US8543799B2 (en) 2008-05-02 2013-09-24 Microsoft Corporation Client authentication during network boot
US8156318B2 (en) * 2008-06-04 2012-04-10 Intel Corporation Storing a device management encryption key in a network interface controller
US8909940B2 (en) * 2008-06-23 2014-12-09 Intel Corporation Extensible pre-boot authentication
US20100275251A1 (en) * 2009-04-28 2010-10-28 Gross Curtis T Transferring credential information
US9432356B1 (en) * 2009-05-05 2016-08-30 Amazon Technologies, Inc. Host identity bootstrapping
US9087196B2 (en) 2010-12-24 2015-07-21 Intel Corporation Secure application attestation using dynamic measurement kernels
US8607343B2 (en) * 2011-06-05 2013-12-10 Apple Inc. Ticket-based personalization
US8738915B2 (en) * 2011-06-30 2014-05-27 Dell Products L.P. System and method for establishing perpetual trust among platform domains
US8874909B2 (en) 2012-02-03 2014-10-28 Daniel Joseph Lutz System and method of storing data
US9218462B2 (en) * 2012-04-25 2015-12-22 Hewlett Packard Enterprise Development Lp Authentication using lights-out management credentials
US9396335B2 (en) * 2012-08-28 2016-07-19 Dell Products, Lp Arbitrary code execution and restricted protected storage access to trusted code
TWI543576B (en) * 2014-07-22 2016-07-21 廣達電腦股份有限公司 Method for configuring internet protocol address and server management system
CN106130716B (en) * 2015-05-06 2020-01-21 三星Sds株式会社 Key exchange system and method based on authentication information
CN106656907B (en) * 2015-10-28 2021-03-02 阿里巴巴集团控股有限公司 Method, device, terminal equipment and system for authentication
CN107086907B (en) 2016-02-15 2020-07-07 阿里巴巴集团控股有限公司 Key synchronization and packaging transfer method and device for quantum key distribution process
CN107086908B (en) 2016-02-15 2021-07-06 阿里巴巴集团控股有限公司 Quantum key distribution method and device
CN107347058B (en) 2016-05-06 2021-07-23 阿里巴巴集团控股有限公司 Data encryption method, data decryption method, device and system
CN107370546B (en) 2016-05-11 2020-06-26 阿里巴巴集团控股有限公司 Eavesdropping detection method, data sending method, device and system
CN107404461B (en) 2016-05-19 2021-01-26 阿里巴巴集团控股有限公司 Data secure transmission method, client and server method, device and system
US11018855B2 (en) * 2016-08-17 2021-05-25 Mine Zero Gmbh Multi-factor-protected private key distribution
US10102378B2 (en) 2016-09-29 2018-10-16 Hewlett Packard Enterprise Development Lp Boot images for units under test
CN107959656B (en) 2016-10-14 2021-08-31 阿里巴巴集团控股有限公司 Data security guarantee system, method and device
CN107959567B (en) 2016-10-14 2021-07-27 阿里巴巴集团控股有限公司 Data storage method, data acquisition method, device and system
US10164778B2 (en) 2016-12-15 2018-12-25 Alibaba Group Holding Limited Method and system for distributing attestation key and certificate in trusted computing
US20180204007A1 (en) * 2017-01-13 2018-07-19 Vormetric, Inc. Bootloader level encryption for system boot data
CN108667608B (en) 2017-03-28 2021-07-27 阿里巴巴集团控股有限公司 Method, device and system for protecting data key
CN108667773B (en) 2017-03-30 2021-03-12 阿里巴巴集团控股有限公司 Network protection system, method, device and server
CN108736981A (en) 2017-04-19 2018-11-02 阿里巴巴集团控股有限公司 It is a kind of wirelessly to throw screen method, apparatus and system
US11120137B2 (en) * 2018-06-19 2021-09-14 Netgear, Inc. Secure transfer of registered network access devices
CN109450620B (en) 2018-10-12 2020-11-10 创新先进技术有限公司 Method for sharing security application in mobile terminal and mobile terminal
US11392702B2 (en) * 2019-03-17 2022-07-19 Microsoft Technology Licensing, Llc Discovery and matching of internet of things (IoT) devices and services using a secure global registry
US11106471B2 (en) * 2019-03-29 2021-08-31 Dell Products L.P. System and method to securely map UEFI ISCSI target for OS boot using secure M-Search command option in UEFI discover protocol
US11218472B2 (en) * 2019-07-01 2022-01-04 Steve Rosenblatt Methods and systems to facilitate establishing a connection between an access-seeking device and an access granting device
TWI768255B (en) * 2019-10-28 2022-06-21 瑞昱半導體股份有限公司 Cloud deployment boot image electronic device, boot image cloud deployment system and method thereof
US11429519B2 (en) 2019-12-23 2022-08-30 Alibaba Group Holding Limited System and method for facilitating reduction of latency and mitigation of write amplification in a multi-tenancy storage drive
US11870768B1 (en) * 2020-04-10 2024-01-09 Cisco Technology, Inc. Certificate-based techniques to securely onboard a radio interface unit
US11899796B2 (en) * 2021-10-19 2024-02-13 Dell Products L.P. Initialization geo-locking system
US20230281313A1 (en) * 2022-03-02 2023-09-07 Oracle International Corporation Secure boot partition for cloud compute nodes
US20240022625A1 (en) * 2022-05-27 2024-01-18 Nvidia Corporation Streaming batcher for collecting work packets as remote descriptors
US20240048382A1 (en) * 2022-08-03 2024-02-08 1080 Network, Llc Systems, methods, and computing platforms for executing credential-less network-based communication exchanges

Citations (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5349643A (en) * 1993-05-10 1994-09-20 International Business Machines Corporation System and method for secure initial program load for diskless workstations
US5826015A (en) 1997-02-20 1998-10-20 Digital Equipment Corporation Method and apparatus for secure remote programming of firmware and configurations of a computer over a network
US5978912A (en) 1997-03-20 1999-11-02 Phoenix Technologies Limited Network enhanced BIOS enabling remote management of a computer without a functioning operating system
US6105013A (en) 1995-09-29 2000-08-15 Dallas Semiconductor Corporation Method, apparatus, system and firmware for secure transactions
US6189100B1 (en) 1998-06-30 2001-02-13 Microsoft Corporation Ensuring the integrity of remote boot client data
US6199194B1 (en) 1998-09-25 2001-03-06 Adaptec, Inc. Method and system for programming firmware over a computer network
US20020120847A1 (en) 2001-02-23 2002-08-29 Koninklijke Philips Electronics N.V. Authentication method and data transmission system
US20030226018A1 (en) 2002-05-31 2003-12-04 Broadcom Corporation Data transfer efficiency in a cryptography accelerator system
US20030226017A1 (en) 2002-05-30 2003-12-04 Microsoft Corporation TLS tunneling
US20040010686A1 (en) 2002-04-18 2004-01-15 Cheh Goh Apparatus for remote working
US6684326B1 (en) 1999-03-31 2004-01-27 International Business Machines Corporation Method and system for authenticated boot operations in a computer system of a networked computing environment
US20040193867A1 (en) * 2003-03-31 2004-09-30 Zimmer Vincent J Configurabel network boot management for hetergenous boot options
US20050010680A1 (en) * 2003-06-18 2005-01-13 Zick Donald A. Enhanced shared secret provisioning protocol
US20050044363A1 (en) 2003-08-21 2005-02-24 Zimmer Vincent J. Trusted remote firmware interface
US6871210B1 (en) * 2000-09-05 2005-03-22 International Business Machines Corporation Automatic allocation of least loaded boot server to PXE client on a network VIA DHCP server
US20050081036A1 (en) 2002-06-20 2005-04-14 Hsu Raymond T. Key generation in a communication system
US20050144448A1 (en) 2001-11-16 2005-06-30 Microsoft Corporation Transferring application secrets in a trusted operating system environment
US6976163B1 (en) 2000-07-12 2005-12-13 International Business Machines Corporation Methods, systems and computer program products for rule based firmware updates utilizing certificate extensions and certificates for use therein
US20050278531A1 (en) 2001-11-16 2005-12-15 Microsoft Corporation Manifest-based trusted agent management in a trusted operating system environment
US20060095769A1 (en) 1999-11-01 2006-05-04 Robert Zuccherato System and method for initializing operation for an information security operation
US7085385B2 (en) 2002-01-04 2006-08-01 Hewlett-Packard Development Company, L.P. Method and apparatus for initiating strong encryption using existing SSL connection for secure key exchange
US7089300B1 (en) * 1999-10-18 2006-08-08 Apple Computer, Inc. Method and apparatus for administering the operating system of a net-booted environment
US7103772B2 (en) 2003-05-02 2006-09-05 Giritech A/S Pervasive, user-centric network security enabled by dynamic datagram switch and an on-demand authentication and encryption scheme through mobile intelligent data carriers

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7107894B2 (en) * 2003-07-18 2006-09-19 Janczak Andrew S Device to magnetically treat beverages

Patent Citations (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5349643A (en) * 1993-05-10 1994-09-20 International Business Machines Corporation System and method for secure initial program load for diskless workstations
US6105013A (en) 1995-09-29 2000-08-15 Dallas Semiconductor Corporation Method, apparatus, system and firmware for secure transactions
US5826015A (en) 1997-02-20 1998-10-20 Digital Equipment Corporation Method and apparatus for secure remote programming of firmware and configurations of a computer over a network
US5978912A (en) 1997-03-20 1999-11-02 Phoenix Technologies Limited Network enhanced BIOS enabling remote management of a computer without a functioning operating system
US6189100B1 (en) 1998-06-30 2001-02-13 Microsoft Corporation Ensuring the integrity of remote boot client data
US6199194B1 (en) 1998-09-25 2001-03-06 Adaptec, Inc. Method and system for programming firmware over a computer network
US6684326B1 (en) 1999-03-31 2004-01-27 International Business Machines Corporation Method and system for authenticated boot operations in a computer system of a networked computing environment
US7089300B1 (en) * 1999-10-18 2006-08-08 Apple Computer, Inc. Method and apparatus for administering the operating system of a net-booted environment
US20060095769A1 (en) 1999-11-01 2006-05-04 Robert Zuccherato System and method for initializing operation for an information security operation
US6976163B1 (en) 2000-07-12 2005-12-13 International Business Machines Corporation Methods, systems and computer program products for rule based firmware updates utilizing certificate extensions and certificates for use therein
US6871210B1 (en) * 2000-09-05 2005-03-22 International Business Machines Corporation Automatic allocation of least loaded boot server to PXE client on a network VIA DHCP server
US20020120847A1 (en) 2001-02-23 2002-08-29 Koninklijke Philips Electronics N.V. Authentication method and data transmission system
US20050278531A1 (en) 2001-11-16 2005-12-15 Microsoft Corporation Manifest-based trusted agent management in a trusted operating system environment
US20050144448A1 (en) 2001-11-16 2005-06-30 Microsoft Corporation Transferring application secrets in a trusted operating system environment
US7085385B2 (en) 2002-01-04 2006-08-01 Hewlett-Packard Development Company, L.P. Method and apparatus for initiating strong encryption using existing SSL connection for secure key exchange
US20040010686A1 (en) 2002-04-18 2004-01-15 Cheh Goh Apparatus for remote working
US20030226017A1 (en) 2002-05-30 2003-12-04 Microsoft Corporation TLS tunneling
US20030226018A1 (en) 2002-05-31 2003-12-04 Broadcom Corporation Data transfer efficiency in a cryptography accelerator system
US20050081036A1 (en) 2002-06-20 2005-04-14 Hsu Raymond T. Key generation in a communication system
US20040193867A1 (en) * 2003-03-31 2004-09-30 Zimmer Vincent J Configurabel network boot management for hetergenous boot options
US7103772B2 (en) 2003-05-02 2006-09-05 Giritech A/S Pervasive, user-centric network security enabled by dynamic datagram switch and an on-demand authentication and encryption scheme through mobile intelligent data carriers
US20050010680A1 (en) * 2003-06-18 2005-01-13 Zick Donald A. Enhanced shared secret provisioning protocol
US20050044363A1 (en) 2003-08-21 2005-02-24 Zimmer Vincent J. Trusted remote firmware interface

Cited By (89)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7506335B1 (en) * 2003-11-29 2009-03-17 Cisco Technology, Inc. Method and apparatus for software loading and initialization in a distributed network
US7461374B1 (en) 2003-12-01 2008-12-02 Cisco Technology, Inc. Dynamic installation and activation of software packages in a distributed networking device
US7458073B1 (en) 2003-12-02 2008-11-25 Cisco Technology, Inc. Development and build environment for packaged software delivery
US20050267954A1 (en) * 2004-04-27 2005-12-01 Microsoft Corporation System and methods for providing network quarantine
US7702907B2 (en) * 2004-10-01 2010-04-20 Nokia Corporation System and method for safe booting electronic devices
US20060075216A1 (en) * 2004-10-01 2006-04-06 Nokia Corporation System and method for safe booting electronic devices
US20060095781A1 (en) * 2004-11-04 2006-05-04 Universal Scientific Industrial Co., Ltd. Method for mapping a shared resource in a network
US7600134B2 (en) * 2004-11-08 2009-10-06 Lenovo Singapore Pte. Ltd. Theft deterrence using trusted platform module authorization
US20060101286A1 (en) * 2004-11-08 2006-05-11 Catherman Ryan C Theft deterrence using trusted platform module authorization
US20060185001A1 (en) * 2005-02-17 2006-08-17 Stieglitz Jeremy E Methods and apparatus to configure a network device via an authentication protocol
US7546632B2 (en) * 2005-02-17 2009-06-09 Cisco Technology, Inc. Methods and apparatus to configure a network device via an authentication protocol
US20060200670A1 (en) * 2005-03-01 2006-09-07 Kuffel Irene H Method and apparatus for securely disseminating security server contact information in a network
US8037514B2 (en) * 2005-03-01 2011-10-11 Cisco Technology, Inc. Method and apparatus for securely disseminating security server contact information in a network
US20060224885A1 (en) * 2005-04-05 2006-10-05 Mcafee, Inc. Remotely configurable bridge system and method for use in secure wireless networks
US7606370B2 (en) * 2005-04-05 2009-10-20 Mcafee, Inc. System, method and computer program product for updating security criteria in wireless networks
US20070233860A1 (en) * 2005-04-05 2007-10-04 Mcafee, Inc. Methods and systems for exchanging security information via peer-to-peer wireless networks
US7757274B2 (en) 2005-04-05 2010-07-13 Mcafee, Inc. Methods and systems for exchanging security information via peer-to-peer wireless networks
US20060233375A1 (en) * 2005-04-05 2006-10-19 Mcafee, Inc. Captive portal system and method for use in peer-to-peer networks
US7761710B2 (en) * 2005-04-05 2010-07-20 Mcafee, Inc. Captive portal system and method for use in peer-to-peer networks
US7822972B2 (en) 2005-04-05 2010-10-26 Mcafee, Inc. Remotely configurable bridge system and method for use in secure wireless networks
US20060251258A1 (en) * 2005-04-05 2006-11-09 Mcafee, Inc. System, method and computer program product for updating security criteria in wireless networks
US20120137366A1 (en) * 2005-11-14 2012-05-31 Cisco Technology, Inc. Techniques for network protection based on subscriber-aware application proxies
US8844035B2 (en) * 2005-11-14 2014-09-23 Cisco Technology, Inc. Techniques for network protection based on subscriber-aware application proxies
US7734934B2 (en) * 2005-12-20 2010-06-08 Intel Corporation Seamless data migration
US20100088499A1 (en) * 2005-12-20 2010-04-08 Zimmer Vincent J Seamless data migration
US20070169088A1 (en) * 2006-01-13 2007-07-19 Dell Products, L.P. Automatic firmware corruption recovery and update
US7849454B2 (en) * 2006-01-13 2010-12-07 Dell Products L.P. Automatic firmware corruption recovery and update
US8064357B2 (en) * 2006-02-06 2011-11-22 At&T Intellectual Property I, L.P. Methods, DSL modems, and computer program products for provisioning DSL service using downloaded username/password
US20070186113A1 (en) * 2006-02-06 2007-08-09 Cuberson Russel D Methods, DSL modems, and computer program products for provisioning DSL service using downloaded username/password
US20070260868A1 (en) * 2006-05-05 2007-11-08 Microsoft Corporation Booting an operating system in discrete stages
US7673131B2 (en) * 2006-05-05 2010-03-02 Microsoft Corporation Booting an operating system in discrete stages
US20080126455A1 (en) * 2006-07-11 2008-05-29 France Telecom Methods of protecting management frames exchanged between two wireless equipments, and of receiving and transmitting such frames, computer programs, and data media containing said computer programs
US20080034216A1 (en) * 2006-08-03 2008-02-07 Eric Chun Wah Law Mutual authentication and secure channel establishment between two parties using consecutive one-time passwords
US20160078230A1 (en) * 2006-10-13 2016-03-17 Computer Protection Ip, Llc Client authentication and data management system
US10140452B2 (en) 2006-10-13 2018-11-27 Computer Protection Ip, Llc Protecting computing devices from unauthorized access
US11573909B2 (en) 2006-12-06 2023-02-07 Unification Technologies Llc Apparatus, system, and method for managing commands of solid-state storage using bank interleave
US11640359B2 (en) 2006-12-06 2023-05-02 Unification Technologies Llc Systems and methods for identifying storage resources that are not in use
US11847066B2 (en) 2006-12-06 2023-12-19 Unification Technologies Llc Apparatus, system, and method for managing commands of solid-state storage using bank interleave
US8417774B2 (en) 2006-12-06 2013-04-09 Fusion-Io, Inc. Apparatus, system, and method for a reconfigurable baseboard management controller
US20080313312A1 (en) * 2006-12-06 2008-12-18 David Flynn Apparatus, system, and method for a reconfigurable baseboard management controller
US20220147634A1 (en) * 2007-05-22 2022-05-12 Computer Protection Ip, Llc Client authentication and data management system
US9225684B2 (en) 2007-10-29 2015-12-29 Microsoft Technology Licensing, Llc Controlling network access
US20090129597A1 (en) * 2007-11-21 2009-05-21 Zimmer Vincent J Remote provisioning utilizing device identifier
US7991989B2 (en) * 2007-12-20 2011-08-02 Dell Product L.P. System and method for OS boot image provisioning based on user identity to enable mobile users
US20090327675A1 (en) * 2007-12-20 2009-12-31 Dell Products L.P. System and method for os boot image provisioning based on user identity to enable mobile users
US7865775B2 (en) 2008-03-27 2011-01-04 Intel Corporation Remote firmware recovery
US20090249120A1 (en) * 2008-03-27 2009-10-01 Jiewen Yao Remote firmware recovery
US8949598B2 (en) * 2008-03-31 2015-02-03 Intel Corporation Method and apparatus for secured embedded device communication
US20120272057A1 (en) * 2008-03-31 2012-10-25 Jasmeet Chhabra Method and Apparatus for Secured Embedded Device Communication
US20100122076A1 (en) * 2008-09-30 2010-05-13 Aristocrat Technologies Australia Pty Limited Security method
US9063752B2 (en) 2008-09-30 2015-06-23 Aristocrat Technologies Australia Pty Limited Security method
US9237135B2 (en) 2008-10-10 2016-01-12 Microsoft Technology Licensing, Llc Trusted and confidential remote TPM initialization
US8607065B2 (en) 2008-10-10 2013-12-10 Microsoft Corporation Trusted and confidential remote TPM initialization
US20100095120A1 (en) * 2008-10-10 2010-04-15 Microsoft Corporation Trusted and confidential remote tpm initialization
US9787674B2 (en) 2008-10-10 2017-10-10 Microsoft Technology Licensing, Llc Trusted and confidential remote TPM initialization
US9660816B2 (en) 2008-10-17 2017-05-23 Dell Products L.P. System and method for secure provisioning of an information handling system
US9166798B2 (en) 2008-10-17 2015-10-20 Dell Products L.P. System and method for secure provisioning of an information handling system
US8589682B2 (en) 2008-10-17 2013-11-19 Dell Products L.P. System and method for secure provisioning of an information handling system
US20100100733A1 (en) * 2008-10-17 2010-04-22 Dell Products L.P. System and Method for Secure Provisioning of an Information Handling System
US20100153697A1 (en) * 2008-12-17 2010-06-17 Jeremy Ford Methods and systems for embedded user authentication and/or providing computing services using an information handling system configured as a flexible computing node
US8001581B2 (en) * 2008-12-17 2011-08-16 Dell Products L.P. Methods and systems for embedded user authentication and/or providing computing services using an information handling system configured as a flexible computing node
US10489574B2 (en) * 2008-12-30 2019-11-26 Intel Corporation Method and system for enterprise network single-sign-on by a manageability engine
US20100169640A1 (en) * 2008-12-30 2010-07-01 Ned Smith Method and system for enterprise network single-sign-on by a manageability engine
KR101250065B1 (en) * 2008-12-30 2013-04-03 인텔 코오퍼레이션 Method and system for enterprise network single-sign-on by a manageability engine
US8856512B2 (en) 2008-12-30 2014-10-07 Intel Corporation Method and system for enterprise network single-sign-on by a manageability engine
KR20110044962A (en) * 2008-12-30 2011-05-03 인텔 코오퍼레이션 Method and system for enterprise network single-sign-on by a manageability engine
US9626502B2 (en) 2008-12-30 2017-04-18 Intel Corporation Method and system for enterprise network single-sign-on by a manageability engine
USRE46158E1 (en) * 2011-02-01 2016-09-20 Threatmetrix Pty Ltd Methods and systems to detect attacks on internet transactions
US9705869B2 (en) 2013-06-27 2017-07-11 Intel Corporation Continuous multi-factor authentication
US10091184B2 (en) 2013-06-27 2018-10-02 Intel Corporation Continuous multi-factor authentication
US9417863B2 (en) 2013-09-27 2016-08-16 Western Digital Technologies, Inc. System and method for expedited loading of an image onto a storage device
US9411975B2 (en) 2014-03-31 2016-08-09 Intel Corporation Methods and apparatus to securely share data
US9912645B2 (en) 2014-03-31 2018-03-06 Intel Corporation Methods and apparatus to securely share data
US9455977B1 (en) 2014-06-20 2016-09-27 Emc Corporation Remote management interface using credentials associated with respective access control intervals
US9842212B2 (en) * 2014-11-03 2017-12-12 Rubicon Labs, Inc. System and method for a renewable secure boot
US20160125187A1 (en) * 2014-11-03 2016-05-05 Rubicon Labs, Inc. System and Method for a Renewable Secure Boot
US10255425B2 (en) 2015-09-25 2019-04-09 Intel Corporation Secure authentication protocol systems and methods
US10073964B2 (en) 2015-09-25 2018-09-11 Intel Corporation Secure authentication protocol systems and methods
US9563753B1 (en) 2015-10-16 2017-02-07 International Business Machines Corporation Method for booting and dumping a confidential image on a trusted computer system
US9894061B2 (en) 2015-10-16 2018-02-13 International Business Machines Corporation Method for booting and dumping a confidential image on a trusted computer system
US9536095B1 (en) 2015-10-16 2017-01-03 International Business Machines Corporation System for booting and dumping a confidential image on a trusted computer system
US9454662B1 (en) 2015-10-16 2016-09-27 International Business Machines Corporation Method for booting and dumping a confidential image on a trusted computer system
US10834077B2 (en) 2015-10-16 2020-11-10 International Business Machines Corporation Booting and dumping a confidential image on a trusted computer system
US9471786B1 (en) 2015-10-16 2016-10-18 International Business Machines Corporation Method for booting and dumping a confidential image on a trusted computer system
US10341361B2 (en) 2017-06-05 2019-07-02 Hewlett Packard Enterprise Development Lp Transmitting secure information
US10938836B2 (en) 2017-06-05 2021-03-02 Hewlett Packard Enterprise Development Lp Transmitting secure information
CN107241341A (en) * 2017-06-29 2017-10-10 北京五八信息技术有限公司 Access control method and device
CN107241341B (en) * 2017-06-29 2020-07-07 北京五八信息技术有限公司 Access control method and device
US10462224B2 (en) 2017-06-29 2019-10-29 Intel Corporation Coordinator for low power sensor network with tree or star topology

Also Published As

Publication number Publication date
US20050071677A1 (en) 2005-03-31

Similar Documents

Publication Publication Date Title
US7299354B2 (en) Method to authenticate clients and hosts to provide secure network boot
EP2105819B1 (en) Efficient and secure authentication of computing systems
US9917829B1 (en) Method and apparatus for providing a conditional single sign on
RU2417422C2 (en) Single network login distributed service
EP2023573B1 (en) Exchange of network access control information using tightly-constrained network access control protocols
US7711122B2 (en) Method and apparatus for cryptographic key storage wherein key servers are authenticated by possession and secure distribution of stored keys
US7895437B2 (en) Augmented single factor split key asymmetric cryptography-key generation and distributor
US20160072787A1 (en) Method for creating secure subnetworks on a general purpose network
US7149311B2 (en) Methods and apparatus for providing networked cryptographic devices resilient to capture
US20090113537A1 (en) Proxy authentication server
WO2006119184A2 (en) Protecting one-time-passwords against man-in-the-middle attacks
JP2020526146A (en) Symmetric mutual authentication method between first application and second application
US7370111B2 (en) System, protocol and related methods for providing secure manageability
WO2005088892A1 (en) A method of virtual challenge response authentication
EP4096147A1 (en) Secure enclave implementation of proxied cryptographic keys
EP4096160A1 (en) Shared secret implementation of proxied cryptographic keys
WO2022143935A1 (en) Blockchain-based method and system for sdp access control
Duncan An overview of different authentication methods and protocols
JP6266170B2 (en) Three-tier security and calculation architecture
US20030023848A1 (en) Authentication for computer networks
US20090164782A1 (en) Method and apparatus for authentication of service application processes in high availability clusters
Chen et al. SSL/TLS session-aware user authentication using a gaa bootstrapped key
Cam-Winget et al. Dynamic Provisioning Using Flexible Authentication via Secure Tunneling Extensible Authentication Protocol (EAP-FAST)
GB2622355A (en) Enclave architecture
Wan et al. Anonymous dos-resistant access control protocol using passwords for wireless networks

Legal Events

Date Code Title Description
AS Assignment

Owner name: INTEL CORPORATION, CALIFORNIA

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:KHANNA, RAHUL;ZIMMER, VINCENT;REEL/FRAME:014574/0435

Effective date: 20030930

FPAY Fee payment

Year of fee payment: 4

REMI Maintenance fee reminder mailed
LAPS Lapse for failure to pay maintenance fees
STCH Information on status: patent discontinuation

Free format text: PATENT EXPIRED DUE TO NONPAYMENT OF MAINTENANCE FEES UNDER 37 CFR 1.362

FP Lapsed due to failure to pay maintenance fee

Effective date: 20151120