Various embodiments of the present disclosure are generally directed to device authentication systems, such as of the type used in a cloud computing network.
In some embodiments, an edge computing device is coupled between a collection of processing devices and an external network. The edge computing device performs a network authentication over the external network with a remote server using an edge token. The edge computing device further performs a local authentication of the collection using storage tokens of the respective processing devices, with the local authentication not utilizing the external network or the remote server. Both the edge token and the storage tokens may be generated from a client token of a client device.
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.
The present disclosure generally relates to systems and methods for authenticating devices in a distributed data storage environment, such as but not limited to a cloud computing environment.
Cloud computing environments generally operate to store and process data across a geographically distributed network. Network services such as computational resources, software and/or data are made available to various user devices (clients) via a wide area network, such as but not limited to the Internet.
A cloud computing network is generally arranged as an object storage system whereby storage volumes (e.g., files) from the clients are stored in, and replicated to, various storage locations throughout the system in the form of snapshots (copies at a particular point in time). Cloud computing often includes the use of cloud stores (e.g., large scale data centers, etc.) to provide industrial-scale storage and processing resources.
Edge computing refers to a cloud storage strategy where at least certain types of storage and processing resources are distributed throughout the network. Instead of having large data transfers up to main cloud stores which perform most of the data processing, intermediary type devices can interface between the client devices and the main cloud stores to provide more localized processing of data closer to the sources and/or users of the data (hence, “edge” processing). This can reduce the bandwidth requirements on the system and provide better response times and other efficiencies. Edge computing has particular applicability to so-called IoT (Internet of Things) devices, since IoTs tend to generate massive amounts of data. It makes sense to decentralize certain data storage and replication efforts to locations that are logically and/or physically closer to the sources of the data generation activities.
While these and other forms of networked systems have proved to be convenient and efficient, such systems also increasingly require the use of data security schemes to reduce or eliminate unauthorized access to the underlying data collected, stored and processed by such 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 (client) 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 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, or in systems where there are, at least potentially, a large collection of local devices that require individual authentication.
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, that 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 registration process is carried out to register various devices to a network for authorized access by a selected user. The registration process may utilize a remote, trusted security server. The devices can include a client device (e.g., a computer, etc.) used by the selected user, an edge processing device and one or more storage devices. Other devices can be included as well. It is contemplated that these devices form a chain of devices that are accessed by the user, including storage and retrieval of user data to and from the storage device(s) at the end of the chain. Each device registration process embeds at least a portion of a client token (“key”) supplied by or otherwise generated for the user at the client device.
Once registered, system authentication is carried out by being promoted to the edge device. The edge device authenticates itself to the rest of the upstream network using various authentication information referred to generally as an “edge token”, which may include at least a portion of the client token and which is stored at the edge device. The edge device further operates as a local trusted authority to authenticate each of the storage devices. The local authentication of the storage devices uses authentication information referred to generally as “storage tokens,” which also may include a least a portion of the client token and are stored by the various storage devices. Once authenticated, system operation commences in a trusted manner.
The process allows the user to be assured that all of the devices with which the user interacts, beginning with the user client device and extending through to the storage devices on which the user data are stored, are authenticated using the client token. Authentication is both demoted down and promoted up to the edge device level, with the edge device acting as a trusted source to authenticate the local storage devices without the need for the local devices to be separately authenticated using a remote server.
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 devices and new devices can be handled effectively.
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). The SSD may be a single device, or may be grouped together with additional SSDs or other forms of storage device to support a mass storage environment.
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, a combination of both public and private networks, the Internet, a cloud computing environment, etc. Local collections of devices can be coupled to edge computing devices that provide edge of network processing for larger data handling 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 is exemplified as a local storage node of the network 110 of
The storage devices 132 are coupled to a host 134. The host 134, also referred to as an edge computing device or simply an edge, comprises an edge server or other processing device that controls the local devices 132 and performs edge of cloud processing operations.
The edge communicates across a network to a remote server 136, which may comprise a cloud server with associated cloud storage 138. The cloud storage 138 may take a form similar to the storage node formed by the group 130, or may take some other form. Local data collected, stored and/or processed by the group 130 may be updated for storage by the cloud storage node 138 as well.
A remote client 140 represents a user device used by a selected user to access the various devices in the system, including the storage and retrieval of data to and from the local devices 132. Of particular interest are a network authentication block 142 and a local authentication block 144 of the edge 134. As explained below, these blocks represent hardware and/or programmable processor circuitry that operate to authenticate aspects of the system for the selected user.
The number N of local devices 132 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 200-300 or more 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 in the manner set forth by
Accordingly, the system in
As shown by
As shown by
The security server 190 may generally correspond to the remote server 136 or some other trusted server such as discussed in
As shown in
As part of a successful registration process, a client token (key), such as the token 152 in
In
As shown in the example of
Column 256 shows the external token associations among the various members; for example, device S0 stores the external token for device S3, and so on. Column 258 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 259 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 table 250 as well, including configuration information, users, namespaces, etc.
The table 250 can be protected through the application of encryption, hashing, the use of a blockchain, etc. using crypto blocks such as illustrated in
While not necessarily required, it will be noted that each storage device in the table 250 stores not only its own storage token (referred to as an internal token), but also stores the storage token of at least one other storage device in the local group (referred to as an external token). This allows the edge device 200 to request the tokens from the various storage devices, and account for the presence of all of the internal tokens as well as all of the external tokens, thus making it more difficult for an unauthorized storage device to spoof its presence as authorized. As desired, a copy of the table 250 can additionally be stored in each storage device (or a subset thereof), so that the table is retrieved from the storage device(s) as part of the authentication processing.
Presumably, the successful replacement of an existing device would result in a new registration and authentication sequence so that the table 250 is up-to-date with the new information for the configuration of the system, but to the extent that a missing device is detected, investigation can take place prior to completing the local authentication. A final status of the system can be established at block 266.
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 may operate to locate all valid devices that are currently responsive to inputs from the edge device. A system log report may be generated and to indicate the then available devices in the collection.
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 42 U 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 2 U (3.5 in.), 3 U (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. In some embodiments, the computer 304 can operate as the edge devices 134, 200 discussed above.
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 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 in the storage enclosure 308 can be incorporated into a collection. In the example of
In further embodiments, sets of devices within the storage enclosure 308 can be established as separate collections, or collections can be arranged to span multiple storage enclosures, including all of the enclosures in the rack 302.
It will now be appreciated that the various embodiments discussed herein can provide a number of benefits. Promoting localized authentication to the edge 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.
Number | Name | Date | Kind |
---|---|---|---|
7383433 | Yeager et al. | Jun 2008 | B2 |
7392375 | Bartram et al. | Jun 2008 | B2 |
7809943 | Seidel | Oct 2010 | B2 |
8024784 | Issa | Sep 2011 | B1 |
8560633 | Setton et al. | Oct 2013 | B2 |
8739292 | Adler et al. | May 2014 | B2 |
8799641 | Seidenberg | Aug 2014 | B1 |
9450944 | Sousley | Sep 2016 | B1 |
9509684 | Dixson-Boles | Nov 2016 | B1 |
9537890 | Ristock et al. | Jan 2017 | B2 |
9569176 | Venkata et al. | Feb 2017 | B2 |
9817605 | Fellner | Nov 2017 | B2 |
10095635 | Abbas et al. | Oct 2018 | B2 |
10154019 | McRoberts et al. | Dec 2018 | B2 |
10673839 | Zhang | Jun 2020 | B2 |
10742447 | Ritchie | Aug 2020 | B2 |
11146564 | Ankam | Oct 2021 | B1 |
20020035685 | Ono | Mar 2002 | A1 |
20030235309 | Struik | Dec 2003 | A1 |
20040093519 | Grobman | May 2004 | A1 |
20050021982 | Popp | Jan 2005 | A1 |
20050100166 | Smetters | May 2005 | A1 |
20070239730 | Vigelette | Oct 2007 | A1 |
20080072303 | Syed | Mar 2008 | A1 |
20100169430 | Ristock et al. | Jul 2010 | A1 |
20110162042 | Xiao | Jun 2011 | A1 |
20110265172 | Sharma | Oct 2011 | A1 |
20110283347 | Bhuta | Nov 2011 | A1 |
20110296048 | Knox | Dec 2011 | A1 |
20120096546 | Dilley | Apr 2012 | A1 |
20130007442 | Mao | Jan 2013 | A1 |
20130167211 | Kamat | Jun 2013 | A1 |
20130222109 | Lim | Aug 2013 | A1 |
20140082353 | Everhart | Mar 2014 | A1 |
20140298413 | Anderson | Oct 2014 | A1 |
20140331046 | Krishnamurthy | Nov 2014 | A1 |
20150065093 | Schmidt | Mar 2015 | A1 |
20150186636 | Tharappel | Jul 2015 | A1 |
20160036855 | Gangadharappa | Feb 2016 | A1 |
20160036857 | Foxhoven | Feb 2016 | A1 |
20160065563 | Broadbent | Mar 2016 | A1 |
20160066183 | Conant | Mar 2016 | A1 |
20160094539 | Suresh | Mar 2016 | A1 |
20160134616 | Koushik | May 2016 | A1 |
20160352720 | Hu | Dec 2016 | A1 |
20170019396 | Bettenburg | Jan 2017 | A1 |
20170111351 | Grajek | Apr 2017 | A1 |
20170289943 | Zhao | Oct 2017 | A1 |
20170324749 | Bhargava | Nov 2017 | A1 |
20170346804 | Beecham | Nov 2017 | A1 |
20170346807 | Blasi | Nov 2017 | A1 |
20180069836 | Mandyam | Mar 2018 | A1 |
20180247654 | Bhaya | Aug 2018 | A1 |
20190007409 | Totale | Jan 2019 | A1 |
20190014117 | Li | Jan 2019 | A1 |
20190042315 | Smith et al. | Feb 2019 | A1 |
20190042319 | Sood et al. | Feb 2019 | A1 |
20190162438 | Fokou | May 2019 | A1 |
20200036514 | Christensen | Jan 2020 | A1 |
20200074106 | Narayanaswamy | Mar 2020 | A1 |
20200076578 | Ithal | Mar 2020 | A1 |
20200153792 | Huang | May 2020 | A1 |
20200169549 | Smith | May 2020 | A1 |
20200259817 | Natarajan | Aug 2020 | A1 |
20200336322 | Asanghanwa | Oct 2020 | A1 |
20200351274 | Damour | Nov 2020 | A1 |
20220166781 | Hittel | May 2022 | A1 |
Entry |
---|
Xu et al.; Microservice Security Agent Based on API Gateway in Edge Computing; (Year: 2019). |
Number | Date | Country | |
---|---|---|---|
20210144133 A1 | May 2021 | US |