Various embodiments of the present disclosure are generally directed to device authentication systems, and more particularly to the local authentication of a collection of devices, such as but not limited to data storage devices coupled to an edge computing device.
In some embodiments, each of the processing devices stores an internal token value as a unique ID value associated with the corresponding processing device. A host controller circuit performs a local authentication of the collection by accessing a distributed ledger as a data structure in a memory that lists the internal token values of the respective processing devices.
These and other features which characterize various embodiments of the present disclosure can be understood in view of the following detailed discussion and the accompanying drawings.
Data security schemes are used to reduce or eliminate unauthorized access to data processing systems. Data security schemes can employ a variety of cryptographic security techniques to protect such systems from third party attacks.
Some systems use a centralized trust-based security protocol to allow a particular host device to gain access to a peripheral device, such as a data storage device. The protocol may involve various steps carried out to respectively authenticate the host, to authenticate the storage device to a remote centralized server (such as a trusted security infrastructure or TSI server), and to authenticate the server to the host and the storage device. Authentication can be carried out in a variety of ways such as through the use of encrypted challenge values, public and private encryption keys, hashes, digital signatures, biometric inputs, etc. Once the various entities have been mutually verified to each other, a secure operation can be carried out between the host and the peripheral device such as an access to a secured data storage volume, a change in device configuration, etc.
Centralized trust-based security protocols can require significant system resources at both the local device level and the remote server level to track and authenticate the various entities and the requested transactions. This can be time and bandwidth intensive, particularly in applications such as private cloud environments or edge computing environments where a collection of local devices provide distributed storage and processing capabilities. Centralized security protocols are not always feasible in geographically remote locations where intermittent or non-existent communications can be maintained with remote security server resources.
Various embodiments of the present disclosure are generally directed to an apparatus and method for system authentication in a data processing environment. As explained below, some embodiments provide a collection of local devices, such as data storage devices. The local devices are coupled to a host device, such as an edge computing device that provides edge of cloud processing and transactions with remote cloud servers and other cloud elements.
A data structure referred to as a distributed ledger is generated and maintained by the host device to describe the various local devices (also referred to as “collection members”). The distributed ledger may take the form of a blockchain or some other suitable form. The distributed ledger is used to authenticate each of the collection members without the need for a separate authentication operation across the network. Newly added devices are registered with the collection and added to the distributed ledger. The ledger or portions thereof may be shared among the local devices to enable secure communications therebetween. Rogue devices will be inhibited from joining or participating in the collection without first being added to the ledger.
In some cases, an identifying token may be formed to uniquely describe each authorized collection member to the host device. In one example, tokens are formed by applying a selected hash function to certain unique identification (ID) information associated with each local device, such as serial numbers or other types of information. Each local device may further store token information associated with another local device in the collection. The token information is incorporated into the ledger and used during group authentication.
It is contemplated that all of the collection members will reside in a single geographical location such as in one or more storage enclosures, racks, a data center, a local IoT environment, etc. This is not necessarily required, however, as the various collection members can be geographically distributed as desired. Reference to “local” authentication means authentication without the need for the host to consult a centralized server or other authority to complete the authentication.
A multi-level authentication process can be implemented. Individual groups of devices can form sub-collections that are separately authenticated as described above. The sub-collections can, in turn, be members of a larger collection that is similarly authenticated.
The system provides fast and efficient authentication. If the system verifies correctly, there is high trust that the system is authenticated and secure without the need to obtain certificates or other authentication information from a remote authority. The detection of both missing members and new members can be handled appropriately.
These and other features and advantages of various embodiments can be understood beginning with a review of
The host device 102 and the data storage device 104 in
The data storage device 104 may be a hard disc drive (HDD), solid-state drive (SSD), hybrid solid state drive (HSSD), thumb drive, optical drive, an integrated memory module, a multi-device storage enclosure, or some other form of device.
The data storage device 104 may be incorporated into the host device as an internal component or may be an external component accessible via a communication pathway with the host device 102 including a cabling connection, a wireless connection, a network connection, etc.
For purposes of the present discussion, it will be contemplated that the host device 102 is a computer and the data storage device 104 provides a main memory store for user data generated by the host device, such as flash memory in a solid state drive (SSD).
Generally, any node in the system can communicate directly or indirectly with any other node. The network 110 can be a private network, a public network, or a combination of both public and private networks. Local collections of devices can be coupled to edge computing devices that provide edge of Internet processing for larger cloud-based networks. It is contemplated that the overall network 110 is a low trust environment potentially susceptible to attacks by third parties. Authentication security schemes are implemented to protect against such attacks, as will now be described.
A host 124 and a drive 126 (e.g., an SSD) are arranged to communicate with the TSI authority 122. In this example, the host 124 initiates a sequence to gain authorized access a protected security aspect of the drive 126. In order to do so, sufficient trust must be established between the TSI authority 122, the host 124 and the drive 126. To authenticate each of these entities to the others, the host 124 may initiate the process such as by requesting an encrypted challenge string from the drive 126. The host may supply an initial value which is encrypted by the drive, or some other sequence may be employed. The challenge value may be forwarded to the TSI Authority 122, which processes the challenge value in some way to provide an encrypted response, which may be processed by the host and the drive.
Once all entities are satisfied, the host proceeds with the requested transaction. Examples that may involve requested transactions may include normal data accesses including accesses to secured volumes, etc. Diagnostic functions may also be enacted such as installing new firmware, performing specific security actions such as secure erasure, drive unlock, enablement of serial ports, etc. Many such inter-entity sequences are known in the art, and substantially any suitable sequence can be used as desired.
While operable, the centralized system 120 of
The group 130 includes a collection 131 of individual, local storage devices 132 coupled to a host 134. The storage devices are shown to be SSDs, but other forms of devices can be used. The host 134 comprises an edge server or other processing device.
The number N of storage devices 132 (“collection members”) can vary widely depending on the requirements of a given application, from values as low as 2-3 to values of several hundred or more. A suitable range for many applications may be around 5-20 devices, although families of up to about 200-300 or so may be useful for some environments. Groups of the devices 132 may be arranged into sub-collections to expedite authentication processing. The devices may be arranged in one or more storage enclosures.
For local groups such as 130, it may not be suitable or feasible to undergo remote authentication of each of the storage devices 132 in the collection 131 the manner set forth by
Accordingly, the group 130 uses a distributed ledger 140 to perform localized authentication operations that do not require access to a remote authority such as the TSI server 120 in
Each of the collection members 132 generates and stores certain cryptographic values used for authentication and, as required, data processing, and these values are incorporated into the ledger 140. A crypto block 142 represents cryptographic function capabilities of the host 134 that can be used to update and use the ledger 140. The ledger enables the host to establish a trust boundary (represented by broken line box 144) in which the collection members and the host reside, the trust boundary indicating the group is a trusted environment for the exchange of information among the various elements of the group, as well as with other trusted nodes within the network.
A first column 162 identifies the storage devices in the collection. In this example, there are a total of each (8) such members, identified as S0 through S7. Column 164 identifies the respective internal tokens for the collection members, identified as Token 0 through Token 7. These tokens may be the same as what are stored in the keystores 150 of the individual members, or may be in a cryptographically protected form (e.g., encrypted, etc.).
Column 166 shows the external token associations among the various members; for example, device S0 stores the external token for device S3, and so on. Column 168 shows registration information (Datecode 0 to Datecode 7) associated with each of the collection members. The registration information can take a variety of forms and may include date/time information relating to when each device was added to the collection, the authentication authority that was used to authorize the addition of the member to the collection, and so on. Column 168 shows security policy information (Policy 0 to Policy 7) relating to various restrictions or other policies set for the accessing of each collection member. Other formats and types of data may be included in the ledger block 160 as well, including configuration information, users, namespaces, etc.
As with other types of ledger systems, the distributed ledger 140 is made up of a succession of ledger blocks such as the block 160. This can advantageously retain history data with respect to the configuration of the group 130 as well as enhancing data security, such as when the ledger is a blockchain formed by hashing together all of the preceding blocks. As shown in
The sequence 200 commences at block 202 with receipt of an authentication command. In response, the host 134 operates to retrieve a copy of the ledger 140, block 204. This retrieval can be carried out in a number of ways. In some cases, the copy that is resident in secured memory of the host 134 is accessed by the processor of the host. Additionally or alternatively, the distributed copies/portions are retrieved from the devices 132. An authentication block 206 authenticates the retrieved ledger. Any number of checksums, parity checks, ECC, cryptographic functions, etc. can be applied that the retrieved ledger 140 is valid and represents the most current version of the state of the system.
The processor of the host 134 proceeds at block 208 to analyze the decoded contents of the ledger block 160 to confirm the status of the various collection members 132. This can include requesting the respective tokens and other information from the respective keystores 150 of the drives, sending challenge values and receiving responses in a local TSI authentication process such as described in
Block 210 shows that once all collection members are confirmed as being present, normal group operation is authorized at block 212. Separate routines are carried out if an existing member is found to be missing, as well as if a new device is detected. Each of these conditions will now be discussed in turn.
It is contemplated in a mass-storage environment that all of the devices in the collection will be powered up and down concurrently, such as by being supplied with a common power supply circuit. In such case, a missing device may indicate that a device failure condition has occurred, or that a device may have been removed from the system (either by an authorized entity or not). In other environments, however, the various devices in the collection (such as an IoT application) the devices may be powered up independently, so that different members of the various devices may come online at different times. In this case, the authentication routine 200 of
As shown by
A variety of token distribution strategies can be used when adding a new device to an existing collection. If the new device replaces a failed member that is no longer present in the group, the new device can simply store the external token that was held by the failed member, and the external token of the new device can be distributed to the other member that previously stored the external token for the failed member.
If the new device has been added to expand the size of the family, it may be more appropriate for the host device to form a new association pattern for all of the tokens among all of the collection members. It is further possible for the host device to form new association patterns periodically among the collection of devices as well. In one embodiment, after each successful authentication cycle, the host distributes new tokens among the various collection members so that a different association is used for the next authentication cycle that is performed.
As noted above, it is contemplated that the various collection members will be located in the same general geographical location, so that the host and member devices are sufficiently near one another to share a common geoposition such as in a multi-device storage enclosure, a rack, a data center, etc. It is possible, however, to geographically distribute the members of group, with communication between the host and the devices carried out using one or more networks to provide the local authentication described herein. Smaller sub-collections can perform the local authentication processing, after which multiple sub-collections may be treated as individual members in a larger network of nodes (extended collection) in a distributed system.
The system 300 includes a storage assembly 302 and a computer 304 (e.g., server controller, etc.). The storage assembly 302 may include one or more server cabinets (racks) 306 with a plurality of modular storage enclosures 308. While not limiting, the storage rack 306 is a 42U server cabinet with 42 units (U) of storage, with each unit extending about 1.75 inches (in) of height. The width and length dimensions of the cabinet can vary but common values may be on the order of about 24 in.×36 in. Each storage enclosure 308 can have a height that is a multiple of the storage units, such as 2U (3.5 in.), 3U (5.25 in.), etc. to accommodate a desired number of adjacent storage devices 134. While shown as a separate module, the computer 304 can also be incorporated into the rack 306.
The modular nature of the various storage enclosures 308 permits removal and installation of each storage enclosure into the storage rack 306 including under conditions where the storage devices 132 in the remaining storage enclosures within the rack are maintained in an operational condition. In some cases, the storage enclosures 308 may be configured with access panels or other features along the outwardly facing surfaces to permit individual storage devices, or groups of devices, to be removed and replaced. Sliding trays, removable carriers and other mechanisms can be utilized to allow authorized agents to access the interior of the storage enclosures as required.
All of the storage devices 134 in the storage enclosure 308 can be incorporated into a collection. In the example of
In further embodiments, sets of devices 132 within the storage enclosure 308 can be established as separate collections, so that each storage enclosure incorporates two or more collections within the same enclosure. In one example, N devices 132 in the storage enclosure 308 in
It will now be appreciated that the various embodiments discussed herein can provide a number of benefits. Localized authentication as exemplified herein can provide fast and efficient validation of collection members with a high level of trust. While various embodiments have contemplated an illustrative environment that uses a group of storage devices such as SSDs, it will be appreciated that the various examples are not so limited and that the various processing herein can be applied to any number of different groups and types of processing devices, such as computing devices, communication devices, sensing devices, etc. that utilize security measures to provide and govern security access.
It is to be understood that even though numerous characteristics and advantages of various embodiments of the present disclosure have been set forth in the foregoing description, this description is illustrative only, and changes may be made in detail, especially in matters of structure and arrangements of parts within the principles of the present disclosure to the full extent indicated by the broad general meaning of the terms wherein the appended claims are expressed.