US20090307474A1 - Storing a device management encryption key in a network interface controller - Google Patents
Storing a device management encryption key in a network interface controller Download PDFInfo
- Publication number
- US20090307474A1 US20090307474A1 US12/133,251 US13325108A US2009307474A1 US 20090307474 A1 US20090307474 A1 US 20090307474A1 US 13325108 A US13325108 A US 13325108A US 2009307474 A1 US2009307474 A1 US 2009307474A1
- Authority
- US
- United States
- Prior art keywords
- encryption key
- bootstrap
- network interface
- interface controller
- client device
- 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.)
- Granted
Links
- 230000015654 memory Effects 0.000 claims abstract description 21
- 238000000034 method Methods 0.000 claims description 25
- 238000007726 management method Methods 0.000 description 69
- 230000006870 function Effects 0.000 description 9
- 150000003839 salts Chemical class 0.000 description 9
- 238000009795 derivation Methods 0.000 description 8
- 238000010586 diagram Methods 0.000 description 6
- 230000005540 biological transmission Effects 0.000 description 5
- 238000004891 communication Methods 0.000 description 3
- 238000004590 computer program Methods 0.000 description 3
- 238000013500 data storage Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 241000700605 Viruses Species 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 230000010363 phase shift Effects 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 230000032258 transport Effects 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 239000000969 carrier Substances 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000005728 strengthening Methods 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/57—Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
- G06F21/572—Secure firmware programming, e.g. of basic input output system [BIOS]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0894—Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage
- H04L9/0897—Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage involving additional devices, e.g. trusted platform module [TPM], smartcard or USB
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W12/00—Security arrangements; Authentication; Protecting privacy or anonymity
- H04W12/04—Key management, e.g. using generic bootstrapping architecture [GBA]
- H04W12/043—Key management, e.g. using generic bootstrapping architecture [GBA] using a trusted network node as an anchor
- H04W12/0431—Key distribution or pre-distribution; Key agreement
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/80—Wireless
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W88/00—Devices specially adapted for wireless communication networks, e.g. terminals, base stations or access point devices
- H04W88/02—Terminal devices
Definitions
- the base station 104 sends the BEK-encrypted bootstrap data file over physical transmission lines, for example, using TCP/IP.
- the network interface 112 may facilitate OTA transmissions such as WiMAX, Wi-Fi, 3GPP, UMTS, GSM, HSPA, etc., as well as physical transmissions, such as TCP/IP.
- the bootstrap server 106 generates a bootstrap data file according to the parameters of the device management session.
- the bootstrap image may install a service or upgrade to the client device 114 , or may include parameters for setting up a new service such as internet or email.
- the bootstrap image may contain customizable content, such as media codex, language settings, and other similar content that is specific to a version and type of a given client device 114 .
- the bootstrap data file includes a bootstrap image, the UCEK-encrypted user credential, and like the encryption of the user credential, the bootstrap encryption key may be combined with random bits of salt to strengthen the encryption key.
- the bootstrap server 106 encrypts the bootstrap data file using the BEK with a specific number of salt bits.
- embodiments of the methods described use the network interface controller 116 as a security service to the client device 114 to ensure credentials do not exist in the client device 114 in plaintext form outside of the network interface controller 116 , thus resolving the issues of L3 transfer of L2 credentials by defining the transition points (the API primitives) in a cryptographically secure way.
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Storage Device Security (AREA)
Abstract
Description
- Carriers of Worldwide Interoperability for Microwave Access (WIMAX) networks, plan to use the Open Mobile Alliance (OMA) for Device Management (DM) protocol, or another potential provisioning mechanism, to pass user credentials to a client device at first use, in order to create a seamless provisioning of the client device without user intervention. A device management session is a method of distributing software updates to enable services on a client device, including settings which enable the client device to access services provided by a network service provider. These user credentials are passed to a database in the client device. The database is managed by the OMA software, and the user credentials are stored in system memory on the client device for future use when logging onto the WIMAX network.
- It is widely considered that the system memory of the client device is not a safe place to store a user credential. Viruses, remote root attacks, rootkits, and other forms of malware may be able to gain access to the user credential stored in the client device's RAM, hard disk, or other type of storage.
- Presently, provisioning happens after device authentication takes place using a client device certificate, yielding a master session key (MSK) that is used at the root of a key derivation function in order to derive a lower encryption key. Presently, a boot strap document is transferred to the client device at the network layer (L3), thus passing straight to the OMA client in the client device, without being parsed by the client device's network interface controller.
-
FIG. 1 depicts a schematic block diagram of one embodiment of a device management system. -
FIG. 2 depict a schematic flow chart diagram of one embodiment of an encryption key storage method for use with the device management system ofFIG. 1 . -
FIG. 3 depicts a schematic flow chart diagram of one embodiment of a locally generated encryption key storage method for use with the device management system ofFIG. 1 . - Throughout the description, similar reference numbers may be used to identify similar elements.
-
FIG. 1 depicts a schematic block diagram of one embodiment of adevice management system 100. As depicted inFIG. 1 , thedevice management system 100 includes adevice management server 102, abase station 104, abootstrap server 106, abase station antenna 110, anetwork interface 112, and aclient device 114. Although the depicteddevice management system 100 is shown and described herein with certain components and functionality, other embodiments of thedevice management system 100 may be implemented with fewer or more components or with less or more functionality. For example, some embodiments of thedevice management system 100 include a plurality ofdevice management servers 102, a plurality ofbootstrap servers 106, and a plurality ofnetwork interfaces 112. Additionally, some embodiments of thedevice management system 100 include similar components arranged in another manner to provide similar functionality, in one or more aspects. - The
device management server 102 initiates a device management session to distribute a software update to aclient device 114. The software update may include settings that enable theclient device 114 to access services provided by a network service provider. In one embodiment, thedevice management server 102 sends a notification SMS trigger to initiate a device management session. The notification SMS message may include a server identification (ID) and a request for theclient device 114 to initiate a device management session with thedevice management server 102. Theclient device 114 may use the server ID to verify that the server is authorized to communicate with it. A device management session may include HTTP provisioning, server provisioning, user provisioning, over-the-air provisioning (OTAP), over-the-air parameter administration (OTAPA), over-the-air programming (OTAP), over-the-air service provisioning (OTASP), mobile content provisioning, mobile subscriber provisioning, and/or another type of provisioning. - The
device management server 102 establishes a connection with aclient device 114 through thebase station 104. In some embodiments, thebase station 104 is a network access provider. Thebase station 104 includes an encryption key generator (EKG) 108. Thebase station 104 processes communication packets between theclient device 114, thedevice management server 102, and/or thebootstrap server 106. In one embodiment, thebase station 104, via theEKG 108, generates an encryption key. In one embodiment, theEKG 108 is a key derivation function. The EKG 108 may be implemented as software, firmware, and/or hardware. Thebase station 104 may generate a bootstrap encryption key (BEK) to encrypt a bootstrap data file and/or a user credential encryption key (UCEK) to encrypt a user credential. In some embodiments, thebase station 104 generates the encryption key using the counter with cipher block chaining message authentication code (CCM) mode of the advanced encryption standard (AES) to generate an encryption key. - The
bootstrap server 106 generates a bootstrap data file, or bootstrap document, according to the parameters of a given device management session. For example, the bootstrap data file may include a bootstrap image to install a service or upgrade patch on theclient device 114. The bootstrap data file may also include parameters for setting up a new service on theclient device 114 such as internet chat or mail services. Furthermore, the bootstrap data file may include customizable content on theclient device 114 such as screen form factors, media decoding capabilities, language settings, and other similar content that is specific to a version and type of a givenclient device 114. In one embodiment, thebootstrap server 106 includes a bootstrap image and a user credential in the bootstrap data file. Thebootstrap server 106 receives the BEK and the UCEK from thebase station 104. Thebootstrap server 106 encrypts the user credential with the UCEK supplied by thebase station 104. Thus, thebootstrap server 106 includes a UCEK-encrypted user credential in the bootstrap data file. - In some embodiments, the
bootstrap server 106 adds random bits to the bootstrap data file. The random bits include a salt and/or a nonce. A salt includes random bits used as one of the inputs to a key derivation function, orEKG 108, which thebase station 104 uses to derive an encryption key. Nonce stands for numbers used once, which is a set of random bits that ensure old communications are not reused in replay attacks. Thebootstrap server 106 then encrypts the bootstrap image, UCEK-encrypted user credential, and random bits using the BEK. - Following the generation of the BEK-encrypted bootstrap data file, the
bootstrap server 106 sends the BEK-encrypted bootstrap data file to theclient device 114 through thebase station antenna 110. Thebase station antenna 110 may include an omni-directional antenna, directional antenna, sectoral antenna, panel antenna, or another type of antenna. In some embodiments, thebase station antenna 110 modulates the BEK-encrypted bootstrap data file using binary phase-shift keying (BPSK), quadrature phase-shift keying (QPSK), or quadrature amplitude modulation and sends a modulated BEK-encrypted bootstrap data file over the air (OTA). In other embodiments, thebase station 104 sends the BEK-encrypted bootstrap data file over physical transmission lines, for example, using TCP/IP. Thus, thenetwork interface 112 may facilitate OTA transmissions such as WiMAX, Wi-Fi, 3GPP, UMTS, GSM, HSPA, etc., as well as physical transmissions, such as TCP/IP. - The
client device 114 includes anetwork interface controller 116, abootstrap client 118, adevice management client 120, and acredential entry application 122. Theclient device 114 receives the BEK-encrypted bootstrap data file through thenetwork interface controller 116. Theclient device 114 may be a desktop computer, a laptop computer, a personal digital assistant (PDA), a cell-phone, a voice-over internet protocol (VoIP) telephone, or similar client device. - The
network interface controller 116 includes an application programming interface (API) 124, a network interface controller (NIC)storage device 126, and a local encryption key generator (EKG) 128. Theapplication programming interface 124 is a program interface that allows thenetwork interface controller 116 to interface with applications running on theclient device 114. The NICstorage device 126 is a data storage device or memory device. In some embodiments, theNIC storage device 126 is a static data storage device, such as a read-only memory (ROM) or flash memory device. In one embodiment, thenetwork interface controller 116 stores an encryption key on theNIC storage device 126. Thenetwork interface controller 116 stores the encryption key separate from a system memory of theclient device 114, such as system random access memory (RAM) or a system hard drive (not shown). Storing the encryption key in thenetwork interface controller 116 prevents access to the encryption key by viruses, remote root attacks, root-kits, and other forms of malware that may be executed on the system memory, or system data storage, of theclient device 114. Conversely, storing an encryption key on the system memory of theclient device 114 exposes the encryption key to potential malware executed on theclient device 114. When an encryption key is stored on system memory of theclient device 114 instead of on theNIC storage device 126, malware executed on theclient device 114 may access and potentially crack the encryption key, rendering all the data encrypted with the cracked encryption key open to unauthorized decryption. Thus, storing an encryption key in thenetwork interface controller 116 provides a secure location to store an encryption key in order to maintain the indecipherable status of encrypted data stored on theclient device 114. - In one embodiment, the
network interface controller 116, via thelocal EKG 128, generates a local encryption key. In one embodiment, thelocal EKG 128 is a key derivation function. Thelocal EKG 128 may be implemented as software, firmware, and/or hardware. In some embodiments, thelocal EKG 128 allows thenetwork interface controller 116 to decrypt an encryption key. - The
bootstrap client 118 receives the BEK-encrypted bootstrap data file, which is passed through thenetwork interface controller 116. In one embodiment, thebootstrap client 118 sends the BEK-encrypted bootstrap data file back to thenetwork interface controller 118. Since only thenetwork interface controller 116 stores the BEK and UCEK encryption keys, thebootstrap client 118 is unable to decrypt the BEK-encrypted bootstrap data file. Likewise, any other component of theclient device 114 besides thenetwork interface controller 116 is unable to decrypt an encrypted data file that is associated with a device management session. Thus, thenetwork interface controller 116 receives the BEK-encrypted bootstrap data file from thebootstrap client 118. In some embodiments, thenetwork interface controller 116 decrypts the BEK-encrypted bootstrap data file and parses the content of the decrypted bootstrap data file. Thenetwork interface controller 116 sends the bootstrap image, contained in the BEK-encrypted bootstrap data file, and the plaintext bootstrap image to thedevice management client 120 through thebootstrap client 118. The plaintext bootstrap image is the pre-encrypted representation of the data before any action has been taken to conceal it. The plaintext version is used as input to an encryption algorithm. The output of the encryption algorithm is termed ciphertext. Thedevice management client 120 then applies the bootstrap image to theclient device 114. - In some embodiment, the
network interface controller 116 may send the UCEK-encrypted user credential and/or the plaintext user credential outside of thenetwork interface controller 116. In other embodiments, thenetwork interface controller 116 does not send the UCEK or the BEK encryption keys outside of thenetwork interface controller 116. Since the BEK encryption key is generated as part of the process of initial authentication, to which thenetwork interface controller 116 is a party, thenetwork interface controller 116 is able to compute the BEK to decrypt the BEK-encrypted bootstrap data file. Likewise, thenetwork interface controller 116 is also able to compute the UCEK and, thus decrypt the UCEK-encrypted user credential. In one embodiment, thenetwork interface controller 116 computes and decrypts the BEK and/or UCEK via thelocal EKG 128. - The
application programming interface 124 in thenetwork interface controller 116 is a source code interface that the operating system or library of theclient device 114 provides to support requests for services to be made of thenetwork interface controller 116 by computer program running on thenetwork interface controller 116. In other words, theapplication programming interface 124 is an inter-program interface that allows programs on theclient device 114 interface thenetwork interface controller 116. In one embodiment, thecredential entry application 122 allows a user of theclient device 114 to manually enter a plaintext user credential on the client side, as the Federal Information Processing Standard (FIPS), specifically FIPS-140, tolerates passing the user credential over theapplication programming interface 124 in plaintext. In some embodiments, thecredential entry application 122 may mask the input of the plaintext user credential, such as replacing a typed character on-screen representation with asterisks. The usercredential entry application 122 interfaces thenetwork interface controller 116 through theapplication programming interface 124 in order to install the plaintext credential in thenetwork interface controller 116. In some embodiments, thenetwork interface controller 116 generates a UCEK encryption key locally in response to receiving the plaintext user credential from thecredential entry application 122 via theapplication programming interface 124. Thenetwork interface controller 116 then encrypts the plaintext user credential using the locally generated UCEK. In some embodiments, thenetwork interface controller 116 generates the UCEK encryption key with a certain amount of random bits, as explained above with reference to salt and nonce. In some embodiments, thenetwork interface controller 116 then sends the UCEK-encrypted user credential to thedevice management client 120 for storage, by way of thebootstrap client 118. -
FIG. 2 depict a schematic flow chart diagram of one embodiment of an encryptionkey storage method 200 for use with thedevice management system 100 ofFIG. 1 . Although the encryptionkey storage method 200 is described in conjunction with thedevice management system 100 ofFIG. 1 , some embodiments of themethod 200 may be implemented with other types of device management systems. - At
block 202, in one embodiment, thedevice management server 102 initiates a device management session with aclient device 114. A typical device management session has two phases, a setup phase and a management phase. In the setup phase, thedevice management server 102 sends an unsolicited alert through, for example, a notification initiation alert mechanism (e.g., SMS or instant message). In another embodiment, theclient device 114 initiates a device management session with thedevice management server 102 without sending the alert. Also in the setup phase theclient device 114 sends the client initialization information, including client credentials and device information, to thedevice management server 102. Additionally, theclient device 114 may send a token in the client initialization information the token informs thedevice management server 102 if the session is a client initiated session or a server initiated session. The token may be used so thedevice management server 102 can synchronize a server initiated session with an initial incoming request from theclient device 114, since, from the perspective of thedevice management server 102, server initiated sessions will look the same as client initiated sessions and a token may be implemented to distinguish the two types. Also in the setup phase, thedevice management server 102 sends the server initialization information, including server credentials, initial management operations and/or user interaction commands from the server, to theclient device 114. This concludes the setup phase of the device management session. - In the management phase, the
client device 114 responds to the server initial management operations with the results of the management message as well as any user interaction command results. Atblock 204, thebase station 104 computes the bootstrap encryption key (BEK) and the user credential encryption key (UCEK), both of which may be derived from a higher key, such as a master authentication key. Thebase station 104 then sends the BEK and UCEK to thebootstrap server 106. In one embodiment, thebase station 104 implements a key derivation function, such as a cryptographic hash function, to derive an encryption key. As one of the inputs to the key derivation function, thebase station 104 may use random bits such as a salt, which may include a nonce (number used once) and/or an initialization vector. In some embodiments, the initialization vector is implemented as a salt. Encryption of the same plaintext with the same key results in the same ciphertext every time, which is a considerable threat to security. Use of an initialization vector linearly added to (XORed with) the first block of plaintext or included in front of the plaintext prior to encryption in one of the streaming modes of operation solves this problem. Salt data complicates dictionary attacks that use pre-encryption of dictionary entries. Each bit of salt used doubles the amount of storage and computation required, strengthening the encryption. The other input is the user credential. The output of the key derivation function is stored as the encrypted version, or UCEK, of the user credential. - At
block 206, thebootstrap server 106 generates a bootstrap data file according to the parameters of the device management session. For example, the bootstrap image may install a service or upgrade to theclient device 114, or may include parameters for setting up a new service such as internet or email. Additionally, the bootstrap image may contain customizable content, such as media codex, language settings, and other similar content that is specific to a version and type of a givenclient device 114. The bootstrap data file includes a bootstrap image, the UCEK-encrypted user credential, and like the encryption of the user credential, the bootstrap encryption key may be combined with random bits of salt to strengthen the encryption key. Thebootstrap server 106 encrypts the bootstrap data file using the BEK with a specific number of salt bits. - At
block 208, the bootstrap server transmits the encrypted bootstrap data file to theclient device 114. The transmission of the encrypted bootstrap data file may be over a wired connection or over a wireless transmission. Exemplary wired connections include 10/100/1000 BASE-T Ethernet, Universal Serial Bus (USB), Institute of Electrical and Electronics Engineers (IEEE) 1394, Revised Standard 232 (RS-232), etc. Wireless communications of the encrypted bootstrap data file may be transmitted, in one embodiment, over abase station antenna 110. Exemplary wireless connections include Wireless-Fidelity (Wi-Fi), WiMAX, 3rd Generation Partnership Project (3GPP), Universal Mobile Telecommunications System (UMTS), High-Speed Packet Access (HSPA), Infrared Data Association (IrDa), Bluetooth, including transport layers implemented over any of Wireless Access Protocol (WAP), Hypertext Transfer Protocol (HTTP), Object Exchange (OBEX), or other similar transports. Atblock 210, thebootstrap client 118 receives the encrypted bootstrap data file from thenetwork interface controller 116 over layer 3 (L3), which is the network layer of the Open Systems Interconnection (OSI) seven layer model. However, instead of forwarding the encrypted bootstrap data file on to thedevice management client 120, atblock 212 thebootstrap client 118 sends the encrypted bootstrap data file back to thenetwork interface controller 116. Passing the encrypted bootstrap data file back to thenetwork interface controller 116 for decryption ensures that the storage of any encryption key associated with a device management session is kept separate from any system memory of theclient device 114, including ROMs, RAMs, flash memory, hard drives, where malware such as dictionary attacks and brute force attacks may be used to extract the encryption key. - At
block 214, thenetwork interface controller 116 decrypts the encrypted bootstrap data file with the bootstrap encryption key (BEK). Since thenetwork interface controller 116 is privy to the authentication process involved in the setup phase of the device management session, thenetwork interface controller 116 is able to compute the BEK and UCEK. In one embodiment, the only component of theclient device 114 that stores the BEK, UCEK, and any other encryption key associated with a device management session is thenetwork interface controller 116. Thus, the plaintext version of the user credential, in one embodiment, only exists in thenetwork interface controller 116. - At
block 216, thenetwork interface controller 116 stores the BEK, UCEK, and any other encryption key associated with the device management session in thenetwork interface controller 116. Atblock 218, thenetwork interface controller 116 parses the decrypted bootstrap data file, separating the decrypted bootstrap image from the UCEK-encrypted user credential. Thenetwork interface controller 116 retains the UCEK-encrypted user credential, and sends the plaintext bootstrap image back to thebootstrap client 118. - At
block 220, thebootstrap client 118 forwards the plaintext bootstrap image to thedevice management client 120. Thedevice management client 120 then applies the bootstrap image to theclient device 114, according to the parameters and specification of the device management session. Lastly, thedevice management server 102 will either close the device management session or begin a new iteration if more management operations are requested or required to complete the device management session. The iterations continue until thedevice management server 102 sends a message to theclient device 114 to close the device management session. -
FIG. 3 depicts a schematic flow chart diagram of one embodiment of a locally generated encryptionkey storage method 300 for use with thedevice management system 100 ofFIG. 1 . Although the locally generated encryptionkey storage method 300 is described in conjunction with thedevice management system 100 ofFIG. 1 , some embodiments of themethod 300 may be implemented with other types of device management systems. - At
block 302, in one embodiment, a user on theclient device 114 enters a plaintext version of the user credential into acredential entry application 122. Thecredential entry application 122 may implement security precautions to protect the plaintext version of the user credential prior to any encryption of the plaintext version of the user credential. For example, thecredential entry application 122 may include an entry box on a screen (not shown) of theclient device 114 where a user enters the plaintext version of the user credential. However, instead of displaying the actual alphanumeric keys entered by the user, theuser credential application 122 may mask each character entered with asterisks. - At
block 304, thecredential entry application 122 sends the plaintext version of the user credential to thenetwork interface controller 116. Thecredential entry application 122 interfaces with thenetwork interface controller 116 through theapplication programming interface 124, an inter-program interface that allows programs on theclient device 114 to interface thenetwork interface controller 116. - At
block 306, in one embodiment, thenetwork interface controller 116 locally generates a user credential encryption key (UCEK) through a key derivation function. Thenetwork interface controller 116 then encrypts the plaintext version of the user credential and, atblock 308, stores the locally generated UCEK internally. From that point, the plaintext version of the user credential exists only in thenetwork interface controller 116, and the UCEK encryption key is stored exclusively in thenetwork interface controller 116. - At
block 310, thenetwork interface controller 116, through theapplication programming interface 124, sends the UCEK encrypted version of the user credential to thecredential entry application 122. Atblock 312, the credential entry application forwards the UCEK encrypted version of the user credential to thedevice management client 120 for storage. Thedevice management client 120 stores the UCEK encrypted version of the user credential for future use when theclient device 114 logs onto adevice management system 100. - Embodiments of the encryption
key storage method 200 and locally generated encryptionkey storage method 300 can ensure that user credentials do not exist within theclient device 114 in an unencrypted form outside of thenetwork interface controller 116. Additionally, some embodiments of thenetwork interface controller 116 do not allow the unencrypted form of the user credential to be available to thehost client device 114 in plaintext form, thus preventing software and/or malware executed on theclient device 114 from extracting such credentials. Furthermore, embodiments of the methods described use thenetwork interface controller 116 as a security service to theclient device 114 to ensure credentials do not exist in theclient device 114 in plaintext form outside of thenetwork interface controller 116, thus resolving the issues of L3 transfer of L2 credentials by defining the transition points (the API primitives) in a cryptographically secure way. - It should also be noted that at least some of the operations for the methods may be implemented using software instructions stored on a computer useable storage medium for execution by a computer. As an example, an embodiment of a computer program product includes a computer useable storage medium to store a computer readable program that, when executed on a computer, causes the computer to perform operations, including the operation to store encrypted data on the
network interface controller 116. - Embodiments of the invention can take the form of an entirely hardware embodiment, an entirely software embodiment, or an embodiment containing both hardware and software elements. In one embodiment, the invention is implemented in software, which includes but is not limited to firmware, resident software, microcode, etc.
- Furthermore, embodiments of the invention can take the form of a computer program product accessible from a computer-usable or computer-readable storage medium providing program code for use by or in connection with a computer or any instruction execution system. For the purposes of this description, a computer-usable or computer readable storage medium can be any apparatus that can store the program for use by or in connection with the instruction execution system, apparatus, or device.
- The computer-useable or computer-readable storage medium can be an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system (or apparatus or device), or a propagation medium. Examples of a computer-readable storage medium include a semiconductor or solid state memory, magnetic tape, a removable computer diskette, a random access memory (RAM), a read-only memory (ROM), a rigid magnetic disk, and an optical disk. Current examples of optical disks include a compact disk with read only memory (CD-ROM), a compact disk with read/write (CD-R/W), and a digital video disk (DVD).
- An embodiment of a data processing system suitable for storing and/or executing program code includes at least one processor coupled directly or indirectly to memory elements through a system bus such as a data, address, and/or control bus. The memory elements can include local memory employed during actual execution of the program code, bulk storage, and cache memories which provide temporary storage of at least some program code in order to reduce the number of times code must be retrieved from bulk storage during execution.
- Input/output or I/O devices (including but not limited to keyboards, displays, pointing devices, etc.) can be coupled to the system either directly or through intervening I/O controllers. Additionally, network adapters also may be coupled to the system to enable the data processing system to become coupled to other data processing systems or remote printers or storage devices through intervening private or public networks. Modems, cable modems, and Ethernet cards are just a few of the currently available types of network adapters.
- Although the operations of the method(s) herein are shown and described in a particular order, the order of the operations of each method may be altered so that certain operations may be performed in an inverse order or so that certain operations may be performed, at least in part, concurrently with other operations. In another embodiment, instructions or sub-operations of distinct operations may be implemented in an intermittent and/or alternating manner.
- Although specific embodiments of the invention have been described and illustrated, the invention is not to be limited to the specific forms or arrangements of parts so described and illustrated. The scope of the invention is to be defined by the claims appended hereto and their equivalents.
Claims (15)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/133,251 US8156318B2 (en) | 2008-06-04 | 2008-06-04 | Storing a device management encryption key in a network interface controller |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/133,251 US8156318B2 (en) | 2008-06-04 | 2008-06-04 | Storing a device management encryption key in a network interface controller |
Publications (2)
Publication Number | Publication Date |
---|---|
US20090307474A1 true US20090307474A1 (en) | 2009-12-10 |
US8156318B2 US8156318B2 (en) | 2012-04-10 |
Family
ID=41401373
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US12/133,251 Expired - Fee Related US8156318B2 (en) | 2008-06-04 | 2008-06-04 | Storing a device management encryption key in a network interface controller |
Country Status (1)
Country | Link |
---|---|
US (1) | US8156318B2 (en) |
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090199018A1 (en) * | 2008-01-31 | 2009-08-06 | Microsoft Corporation | One time settable tamper resistant software repository |
US20110085660A1 (en) * | 2009-10-09 | 2011-04-14 | Samsung Electronics Co., Ltd. | Aes algorithm-based encryption apparatus and method for mobile communication system |
US20110153837A1 (en) * | 2009-12-18 | 2011-06-23 | Embarq Holdings Company, Llc | System and method for management of ethernet premise devices |
US20140304323A1 (en) * | 2013-04-09 | 2014-10-09 | Sony Corporation | Flexible device management bootstrap |
US20140330952A1 (en) * | 2013-05-06 | 2014-11-06 | Convida Wireless LLC | Device Triggering |
US20140351575A1 (en) * | 2009-02-05 | 2014-11-27 | Telefonaktiebolaget Lm Ericsson (Publ) | Apparatuses and a Method for Protecting a Bootstrap Message in a Network |
US20150178515A1 (en) * | 2013-12-23 | 2015-06-25 | Symantec Corporation | Device-based pin authentication process to protect encrypted data |
US9525671B1 (en) * | 2013-01-17 | 2016-12-20 | Amazon Technologies, Inc. | Secure address resolution protocol |
US20190253460A1 (en) * | 2015-09-28 | 2019-08-15 | BlueTalon, Inc. | Policy enforcement system |
US10402835B2 (en) * | 2014-07-16 | 2019-09-03 | Raytheon Company | Agricultural situational awareness tool |
US10972506B2 (en) | 2015-12-10 | 2021-04-06 | Microsoft Technology Licensing, Llc | Policy enforcement for compute nodes |
US20220350765A1 (en) * | 2021-04-29 | 2022-11-03 | Dell Products L.P. | Systems and methods for smart network interface card-initiated server management |
US20230006981A1 (en) * | 2021-07-01 | 2023-01-05 | Mellanox Technologies, Ltd. | Systems, methods, and devices for encrypted data transfer |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106416120B (en) | 2014-05-26 | 2019-12-27 | 诺基亚技术有限公司 | Apparatus, method and computer readable medium for processing information |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020174348A1 (en) * | 2001-05-18 | 2002-11-21 | Imprivata, Inc. | Biometric authentication for remote initiation of actions and services |
US20030188161A1 (en) * | 2002-04-01 | 2003-10-02 | Hewlett-Packard Company | Unique and secure identification of a networked computing node |
US20030187999A1 (en) * | 2002-03-27 | 2003-10-02 | Roy Callum | System, protocol and related methods for providing secure manageability |
US20050071677A1 (en) * | 2003-09-30 | 2005-03-31 | Rahul Khanna | Method to authenticate clients and hosts to provide secure network boot |
US20090019167A1 (en) * | 2007-07-11 | 2009-01-15 | Pouya Taaghol | Generic bootstrapping protocol (gbp) |
-
2008
- 2008-06-04 US US12/133,251 patent/US8156318B2/en not_active Expired - Fee Related
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020174348A1 (en) * | 2001-05-18 | 2002-11-21 | Imprivata, Inc. | Biometric authentication for remote initiation of actions and services |
US20030187999A1 (en) * | 2002-03-27 | 2003-10-02 | Roy Callum | System, protocol and related methods for providing secure manageability |
US20030188161A1 (en) * | 2002-04-01 | 2003-10-02 | Hewlett-Packard Company | Unique and secure identification of a networked computing node |
US20050071677A1 (en) * | 2003-09-30 | 2005-03-31 | Rahul Khanna | Method to authenticate clients and hosts to provide secure network boot |
US20090019167A1 (en) * | 2007-07-11 | 2009-01-15 | Pouya Taaghol | Generic bootstrapping protocol (gbp) |
Cited By (29)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8661234B2 (en) * | 2008-01-31 | 2014-02-25 | Microsoft Corporation | Individualized per device initialization of computing devices in avoidance of mass exploitation of vulnerabilities |
US20090199018A1 (en) * | 2008-01-31 | 2009-08-06 | Microsoft Corporation | One time settable tamper resistant software repository |
US10313116B2 (en) * | 2009-02-05 | 2019-06-04 | Telefonaktiebolaget Lm Ericsson (Publ) | Apparatuses and a method for protecting a bootstrap message in a network |
US20140351575A1 (en) * | 2009-02-05 | 2014-11-27 | Telefonaktiebolaget Lm Ericsson (Publ) | Apparatuses and a Method for Protecting a Bootstrap Message in a Network |
US20110085660A1 (en) * | 2009-10-09 | 2011-04-14 | Samsung Electronics Co., Ltd. | Aes algorithm-based encryption apparatus and method for mobile communication system |
US8908861B2 (en) * | 2009-10-09 | 2014-12-09 | Samsung Electronics Co., Ltd | AES algorithm-based encryption apparatus and method for mobile communication system |
US9584603B2 (en) | 2009-12-18 | 2017-02-28 | Centurylink Intellectual Property Llc | System and method for management of ethernet premise devices |
US20110153837A1 (en) * | 2009-12-18 | 2011-06-23 | Embarq Holdings Company, Llc | System and method for management of ethernet premise devices |
US8868764B2 (en) * | 2009-12-18 | 2014-10-21 | Centurylink Intellectual Property Llc | System and method for management of ethernet premise devices |
US10091306B2 (en) | 2009-12-18 | 2018-10-02 | Centurylink Intellectual Property Llc | System and method for management of ethernet premise devices |
US9525671B1 (en) * | 2013-01-17 | 2016-12-20 | Amazon Technologies, Inc. | Secure address resolution protocol |
US10063991B2 (en) * | 2013-04-09 | 2018-08-28 | Sony Mobile Communications Inc. | Flexible device management bootstrap |
US20140304323A1 (en) * | 2013-04-09 | 2014-10-09 | Sony Corporation | Flexible device management bootstrap |
US11444986B2 (en) | 2013-05-06 | 2022-09-13 | Convida Wireless, Llc | Device triggering |
US20140330952A1 (en) * | 2013-05-06 | 2014-11-06 | Convida Wireless LLC | Device Triggering |
US10250647B2 (en) | 2013-05-06 | 2019-04-02 | Convida Wireless, Llc | Device triggering |
US9800621B2 (en) * | 2013-05-06 | 2017-10-24 | Convida Wireless, Llc | Registration for device triggering |
US10848526B2 (en) | 2013-05-06 | 2020-11-24 | Convida Wireless, Llc | Device triggering |
US10469469B1 (en) | 2013-12-23 | 2019-11-05 | Symantec Corporation | Device-based PIN authentication process to protect encrypted data |
US9639710B2 (en) * | 2013-12-23 | 2017-05-02 | Symantec Corporation | Device-based PIN authentication process to protect encrypted data |
US20150178515A1 (en) * | 2013-12-23 | 2015-06-25 | Symantec Corporation | Device-based pin authentication process to protect encrypted data |
US10402835B2 (en) * | 2014-07-16 | 2019-09-03 | Raytheon Company | Agricultural situational awareness tool |
US10965714B2 (en) * | 2015-09-28 | 2021-03-30 | Microsoft Technology Licensing, Llc | Policy enforcement system |
US20190253460A1 (en) * | 2015-09-28 | 2019-08-15 | BlueTalon, Inc. | Policy enforcement system |
US10972506B2 (en) | 2015-12-10 | 2021-04-06 | Microsoft Technology Licensing, Llc | Policy enforcement for compute nodes |
US20220350765A1 (en) * | 2021-04-29 | 2022-11-03 | Dell Products L.P. | Systems and methods for smart network interface card-initiated server management |
US12222882B2 (en) * | 2021-04-29 | 2025-02-11 | Dell Products L.P. | Systems and methods for smart network interface card-initiated server management |
US20230006981A1 (en) * | 2021-07-01 | 2023-01-05 | Mellanox Technologies, Ltd. | Systems, methods, and devices for encrypted data transfer |
US12284162B2 (en) * | 2021-07-01 | 2025-04-22 | Mellanox Technologies, Ltd. | Systems, methods, and devices for encrypted data transfer using a NIC and distributed root of trust |
Also Published As
Publication number | Publication date |
---|---|
US8156318B2 (en) | 2012-04-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8156318B2 (en) | Storing a device management encryption key in a network interface controller | |
US8447970B2 (en) | Securing out-of-band messages | |
CA2970310C (en) | Secure storage | |
JP5058342B2 (en) | IMS user apparatus, control method therefor, host device, and control method therefor | |
CN102656841B (en) | Credential transfer | |
US20100135491A1 (en) | Authentication method | |
CN110635901B (en) | Local Bluetooth dynamic authentication method and system for Internet of things equipment | |
CN106797316B (en) | Router, data equipment, the method and system for distributing data | |
US20080065777A1 (en) | Method and system for establishing a secure over-the-air (ota) device connection | |
CN113497778A (en) | Data transmission method and device | |
CN114697039B (en) | Identity authentication method and system for quantum cryptography network expansion network equipment | |
CN114765543B (en) | Encryption communication method and system of quantum cryptography network expansion equipment | |
US12323510B1 (en) | Transmission of secure information in a content distribution network | |
CN104767766A (en) | Web Service interface verification method, Web Service server and client | |
US10108435B2 (en) | Short message service security for zero touch deployments | |
CN110830240B (en) | Communication method and device of terminal and server | |
EP3131325A1 (en) | Method, device and communication system for terminal to access communication network | |
KR101329789B1 (en) | Encryption Method of Database of Mobile Communication Device | |
WO2023116266A1 (en) | Communication encryption method, system, and device | |
CN114389803A (en) | SPA key distribution method and device | |
CN114765540B (en) | Key distribution and use method of quantum cryptography network expansion device | |
CN119728082A (en) | Information processing method, device, user terminal and storage medium |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment |
Owner name: INTEL CORPORATION, CALIFORNIA Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:JOHNSTON, DAVID;REEL/FRAME:021046/0727 Effective date: 20080522 |
|
FEPP | Fee payment procedure |
Free format text: PAYOR NUMBER ASSIGNED (ORIGINAL EVENT CODE: ASPN); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY |
|
ZAAA | Notice of allowance and fees due |
Free format text: ORIGINAL CODE: NOA |
|
ZAAB | Notice of allowance mailed |
Free format text: ORIGINAL CODE: MN/=. |
|
STCF | Information on status: patent grant |
Free format text: PATENTED CASE |
|
FPAY | Fee payment |
Year of fee payment: 4 |
|
MAFP | Maintenance fee payment |
Free format text: PAYMENT OF MAINTENANCE FEE, 8TH YEAR, LARGE ENTITY (ORIGINAL EVENT CODE: M1552); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY Year of fee payment: 8 |
|
FEPP | Fee payment procedure |
Free format text: MAINTENANCE FEE REMINDER MAILED (ORIGINAL EVENT CODE: REM.); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY |
|
LAPS | Lapse for failure to pay maintenance fees |
Free format text: PATENT EXPIRED FOR FAILURE TO PAY MAINTENANCE FEES (ORIGINAL EVENT CODE: EXP.); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY |
|
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: 20240410 |