# Patent

## Title
Determination and display of LUN encryption paths

## Abstract

A management station which manages the encryption devices in a SAN to set up encrypted LUNs. In setting up the encryption, the source and target ports are identified, along with the target LUN. LUN serial numbers used to identify unique LUNs. As paths to a given LUN are defined, the management station compares the path to existing paths and provides an indication if there is a mismatch in the encryption policies or keys being applied to the LUN over the various paths. This allows the administrator to readily identify when there is a problem with the paths to an encrypted LUN and then take steps to cure the problem. By determining the paths and then comparing them, the management station greatly simplifies setting up multipath I/O to an encrypted LUN or access by multiple hosts to an encrypted LUN.

## Background
TECHNICAL FIELD
The present invention relates to the field of storage area networks, and in particular to data-at-rest encryption in storage area networks.
BACKGROUND ART
Managing operational risk by protecting valuable digital assets has become increasingly critical in modern enterprise information technology (IT) environments. In addition to achieving compliance with regulatory mandates and meeting industry standards for data confidentiality, IT organizations must also protect against potential litigation and liability following a reported breach.
In the context of data center fabric security, operators of Storage Area Networks (SANs) have desired fabric-based encryption services to secure data assets either selectively or on a comprehensive basis.
Most sensitive corporate data is stored in the data center, and the vast majority of data from critical applications resides in a SAN, enabling organizations to employ the intelligence of the storage fabric as a centralized framework in which to deploy, manage, and scale fabric-based data security solutions.
The storage fabric enables centralized management to support various aspects of the data center, from server environments and workstations to edge computing and backup environments, providing a place to standardize and consolidate a holistic data-at-rest security strategy. Organizations can also implement data-at-rest encryption in other parts of the data center, helping to protect data throughout the enterprise.
Most current industry solutions include either host-based software encryption, device-embedded encryption, or edge encryption, all of which provide isolated services to specific applications but typically cannot scale across extended enterprise storage environments.
Some solutions have provided centralized encryption services that employ key repositories such as provided by several vendors. These key repositories can be considered specialized secure databases of the encryption keys used by the SAN for encrypting data at rest on the media controlled by the SAN. Each key stored by the key repository is associated with a key identifier that can be used to obtain the key from the key repository. The key identifier is typically generated/chosen either by the key repository or by the encryption device/software externally to the key repository.
Generally SANs are formed so that redundant paths are available from the host devices to the storage devices. Host bus adaptors (HBAs) generally have two ports for this purpose. Thus, packets can exit either port and reach the storage device through either of two paths. This is referred to multipath I/O. However, when encryption capabilities are added to the SAN this multipath I/O can complicate encryption setup and management. Even though both paths will end up at the same logical unit (LUN) in the same storage unit, two different paths are used and different worldwide names (WWNs) are present at each end of each path. This creates problems when using encryption because encryption keys are associated with the WWNS of the ports. If not properly coordinated, data loss can occur because of mismatched keys or even encryption policies.
One purpose of a SAN is to allow multiple hosts to access the same storage unit and LUN. When encryption is provided for the LUN, this is a further source of possible errors. As above, different WWNs will be present at least at the host end, so the potential for different encryption policies or keys is present, much as in the multipath I/O case mentioned above.
It would be desirable to provide tools to simplify management of encrypted LUNs so that the chance of data corruption is minimized.
SUMMARY OF INVENTION
A management station according to a present invention manages the encryption devices in a SAN to set up encrypted LUNs. In setting up the encryption, the source and target ports are identified, along with the target LUN. LUN serial numbers are used to identify each LUN. As paths to a given LUN are defined, the management station compares the path to existing paths and provides an indication if there is a mismatch in the encryption policies or keys being applied to the LUN over the various paths. This allows the administrator to readily identify when there is a problem with the paths to an encrypted LUN and then take steps to cure the problem. By determining the paths and then comparing them, the management station greatly simplifies setting up multipath I/O to an encrypted LUN or access by multiple hosts to an encrypted LUN.



BRIEF DESCRIPTION OF DRAWINGS
The accompanying drawings, which are incorporated in and constitute a part of this specification, illustrate an implementation of apparatus and methods consistent with the present invention and, together with the detailed description, serve to explain advantages and principles consistent with the invention. In the drawings,
FIG. 1 is a block diagram illustrating an architecture for a SAN that employs embodiments of the present invention;
FIG. 2 is a block diagram illustrating an overview of communication paths used for management according to one embodiment;
FIGS. 3-6 are screen shots of LUN encryption path entry screens according to one embodiment; and
FIG. 7 is a screen shot of a LUN encryption path screen according to one embodiment.



DESCRIPTION OF EMBODIMENTS
Although the following disclosure is written in the context of a SAN, the scope of the present invention is not limited to a SAN, but includes any type of system in which a key repository is accessed by a key identifier for a key that is associated with media that has been or will be encrypted or decrypted using that key.
FIG. 1 is a block diagram illustrating an architecture for a SAN 100 that employs embodiments of the present invention. As illustrated in FIG. 1, the SAN fabric 108 includes two switches 110A and 110B. Encryption device 112A is connected to switch 110A to provide encryption services. A similar encryption device 112B is connected to switch 110B. A key repository 114 is connected to encryption devices 112A and 112B, in the preferred embodiment using a different network than fabric 108. The illustrated SAN 100 includes two hosts 116A and 116B. Host 116A is illustrated as having two ports. A first port is connected to switch 110A, while the second port is connected to switch 110B. The host 116B is shown having a single port connected to switch 110B. An exemplary storage device 118 is shown having two ports, one connected to switch 110A, and one connected to switch 110B. With this configuration, host 116A has multiple paths to reach storage device 118. A first flow path is illustrated by the dashed lines with the letter A, where data flows from host 116A, to switch 110A through encryption device 112A, back through switch 110A and then on to storage device 118. The parallel path is illustrated as the dashed line with the letter B, which goes from host 116A to switch 110B to encryption device 112B to switch 110B and to storage device 118. Because of the two paths, problems can develop, such as losing links between devices, and the host 116A will still be able to access the storage device 118. For completeness, the host 116B has a flow path C, indicated by the dashed line, which proceeds from host 116B to switch 110B to encryption device 112B to switch 110B and to storage device 118. For further discussion in this description, it is assumed that the storage device 118 has a LUN0 that is shared by hosts 116A and 116B.
As is well known to those skilled in the art, each port in a Fibre Channel environment includes a worldwide name (WWN). In the illustrated embodiment, the ports of host 116A have WWNs of 10:00:00:06:2B:00:12:12 and 10:00:00:06:2B:00:12:23, while the port of host 116B has world has a WWN of 10:00:00:06:2B:02:65:AC and the storage device 118 ports have WWNs 21:00:00:20:37:EF:55:61 and 21:00:00:20:37:EF:55:72.
Also illustrated is a management station 120 that is connected, in a separate fabric in a preferred embodiment, to the switches 110A, 110B, the encryption devices 112A, 112B, and the key repository 114. The management system 120 executes software to manage the SAN 100, which software provides the screens and operates as described below.
Although a single SAN fabric 108 is illustrated in FIG. 1 for clarity of the description, one of ordinary skill in the art will recognize that additional fabrics can be interconnect the hosts and storage in SAN fabric 108, which may span multiple locations, such as a data center, a disaster recovery site, and a branch office. In one embodiment, the management station 120 may provide management services to other SANs, in addition to the SAN 100.
Other servers or hosts, switches, and storage devices can be used in the SAN 100 illustrated in FIG. 1. The elements shown in FIG. 1 are illustrative and by way of example only, and other elements and other numbers and arrangements of elements, including other numbers of fabrics can be included as desired.
FIG. 2 is a block diagram illustrating an overview of one embodiment of the communication paths used for key management for a system such as is illustrated in FIG. 1. The dashed lines in FIG. 2 illustrate the data flow of keys used in the fabric 108 of FIG. 1, while the solid lines are in this embodiment an Ethernet management local area network (LAN) 200 connecting the management station 120, the switch 110, the encryption device 112, the key repository 114, the host 116, and the storage device 118.
The host 116 initiates a read or write request to the target 118. Data-at-rest encryption has been used to encrypt the data stored in the target 118. The switch fabric 108 carries the request from the host 116 to the encryption device 112. The SAN fabric 108 is typically a Fibre Channel fabric and uses Fibre Channel protocols to pass requests and responses between the host 116 and the target 118. The encryption device 112 encrypts and decrypts the data read from or written to a logical unit (LUN) of the target 118.
FIG. 3 represents a screenshot of a screen 300 of a wizard to configure encrypted paths to LUNs. The wizard guides the administrator in selecting a target device, a host, and the desired LUN in the target. After those selections are completed, a LUN path screen, with any errors shown as will be described below, is provided. FIG. 4 is a screenshot of screen 400, the first step of adding a new path. The screen 400 is used to select the target port. The screen 400 illustrates the various target ports available for connection in the SAN 100. These are provided in a column 402, which indicates the port WWN. After the administrator selects a desired port, the screen 500 illustrated in FIG. 5 is presented. The screen 500 is used to select the desired initiator or host port to conform to FIG. 1. A column 502 indicates the available port WWN for the host or initiators. After the administrator has selected the desired initiator port, he hits the next button and the screen 600 of FIG. 6 is provided. In progressing from screen 500 to screen 600, the management station 120 software will have determined the available LUNs in the selected storage device for that particular host. Those LUNs are displayed in screen 600. The first column 602 lists the host port WWN, while a second column 604 indicates the available LUNs. After the administrator selects the desired LUNs, he hits finish and the management system 120 prepares the path by properly interfacing with the switch 110 and the encryption device 112, including applying the proper encryption mode and state.
FIG. 7 illustrates a screen 700 that shows a number of paths to various LUNs. Used as exemplary are three paths illustrated by paths A, B, C that correspond to the paths A, B, and C in FIG. 1. A first column 702 is provided to indicate the serial number of the LUN. A second column 704 indicates the target port, while a third column 706 indicates the initiator or host port. The LUN, the target port and the initiator port should tie to the items just selected by the administrator in the previous Figures. Column 708 is an encryption mode column. This column provides the encryption mode for that particular path. It is noted that with respect to the serial number of interest, a field mismatch 710 is indicated. This is because the encryption modes of the paths A, B, and C are not identical. Embodiment path A is indicated as clear text, while paths B and C are native encryption. This condition could cause data corruption as discussed above and therefore must be avoided. If the wizard described above had been used for each path, no mismatch would be present. However, many administrators prefer to administer devices using a command line interface (CLI). Using a CLI the mismatch condition can easily develop. When the screen is presented, the mismatch condition is immediately and readily apparent to the administrator and can be corrected, hopefully before the path is placed in the service or any data is stored. In the preferred embodiment, the administrator can click on the mismatch entry 710 and a field providing a selection of various encryption modes appears. The administrator selects one of the desired encryption modes and status, such as clear text or native encryption and disabled or enabled, and that mode is applied to all of the paths for that particular LUN. In the illustrated case, path A would be converted from clear text to native encryption and paths B and C would remain the same, assuming that the administrator had selected native encryption.
Thus, it can be seen that by the described encrypted LUN path entry technique and screen display, it is much easier for an administrator to determine multipath mismatch situations and correct those errors.
For a more detailed description of encryption devices and data flow in a SAN, please reference U.S. patent application Ser. No. 12/541,784, entitled “Developing Initial and Subsequent KeyID Information from a Unique MediaID Value,” by Prakash Bilodi, Narada Hess and Lundon Siao, filed on Aug. 14, 2009, which is hereby incorporated by reference.
Although the above description has been written in the context of embodiments using in-band devices such as encryption switches to encrypt and decrypt data passing between hosts and storage devices, the scope of the present invention is not limited to such embodiments. In some embodiments, instead of encryption and decryption occurring at intervening switches, the encryption and decryption may be performed at the storage devices of the SAN 100 that serve as targets, or at the hosts that serve as initiators of SAN requests. In some embodiments, the key repository may use in-band communication to the device performing encryption or decryption, allowing the initiator or target device to perform its own encryption or decryption using the keys retrieved from the key repository. Although described in the context of a SAN, the above-described techniques are applicable to any environment in which encryption keys are stored in a key repository.
Aspects of the invention are described as a method of control or manipulation of data, and may be implemented in one or a combination of hardware, firmware, and software. Embodiments of the invention may also be implemented as instructions stored on a machine-readable medium, which may be read and executed by at least one processor to perform the operations described herein. A machine-readable medium may include any mechanism for tangibly embodying information in a form readable by a machine (e.g., a computer). For example, a machine-readable medium (sometimes referred to as a program storage device or a computer readable medium) may include read-only memory (ROM), random-access memory (RAM), magnetic disc storage media, optical storage media, flash-memory devices, electrical, optical, and others.
The above description is intended to be illustrative, and not restrictive. For example, the above-described embodiments may be used in combination with each other. Many other embodiments will be apparent to those of skill in the art upon reviewing the above description. The scope of the invention therefore should be determined with reference to the appended claims, along with the full scope of equivalents to which such claims are entitled. In the appended claims, the terms “including” and “in which” are used as the plain-English equivalents of the respective terms “comprising” and “wherein.”
While certain exemplary embodiments have been described in details and shown in the accompanying drawings, it is to be understood that such embodiments are merely illustrative of and not devised without departing from the basic scope thereof, which is determined by the claims that follow.

## Claims

1. A method for managing a storage area network, the method comprising:
identifying a first path and a second path between an initiator and a target logical unit across a storage area network, comprising:
indicating available logical units for an initiator-target combination;
receiving a selection of the target logical unit; and
defining the first path and the second path after receiving the selection of the target logical unit;
determining that the first path has a first encryption mode;
determining that the second path has a second encryption mode; and
providing an indication of an encryption mode mismatch in a user interface responsive to the first encryption mode being different from the second encryption mode,
wherein the first encryption mode and the second encryption mode each comprise one or more of encryption keys and encryption policies; and
allowing selection of the indication to correct the mismatch.

2. The method of claim 1, wherein the initiator is a host initiator.

3. The method of claim 1, further comprising:
indicating available targets;
receiving a selection of a target;
indicating available initiators; and
receiving a selection of the initiator.

4. The method of claim 1, wherein the initiator is a host.

5. The method of claim 1, wherein the target logical unit is a logical unit corresponding to a storage device.

6. The method of claim 1, wherein the first encryption mode comprises no encryption.

7. A management system comprising:
a computer; and
software stored on and executed by the computer, the software comprising instructions that when executed cause the computer to:
identify a first path having a first encryption mode between an initiator and a target logical unit across a storage area network;
identify a second path having a second encryption mode between the initiator and the target logical unit across the storage area network;
indicate available logical units for an initiator-target combination;
receive a selection of the target logical unit; and
define the first path and the second path after receiving the selection of the target logical unit;
determine a difference between the first encryption mode and the second encryption mode differ and indicate the difference in a user interface; and
providing an indication in the user interface of a mismatch between the first encryption mode and the second encryption mode responsive to the difference,
wherein the first encryption mode and the second encryption mode each comprise one or more of encryption keys and encryption policies; and
allow selection of the indication to correct the mismatch.

8. The management system of claim 7,
wherein the instructions further comprise instructions that when executed cause the computer to:
indicate available targets in the user interface;
receive a selection of a target in the user interface;
indicate available initiators in the user interface;
receive a selection of the initiator in the user interface;
and
receive a selection of the target logical unit.

9. The management system of claim 7, wherein the initiator is a host.

10. The management system of claim 7, wherein the target is a storage device.

11. A non-transitory machine-readable medium, upon which are stored instructions that when executed cause a machine to:
identify a first path and a second path from an initiator to a target logical unit across a storage area network;
determine that the first path and the second path have different encryption modes; and
indicate available logical units for an initiator-target combination;
receive a selection of the target logical unit; and
define the first path and the second path after receiving the selection of the target logical unit;
indicate in a user interface that the first path and the second path have mismatched encryption modes responsive to the determination,
wherein the encryption modes each comprise one or more of encryption keys and encryption policies; and
allow selection of the indication to correct the mismatch.

12. The machine-readable medium of claim 11, wherein the instructions that when executed cause the machine to identify the first path and the second path comprise instructions that when executed cause the machine to identify paths between a host initiator and the target logical unit.

13. The machine-readable medium of claim 11, wherein the instructions further comprise instructions that when execute cause the machine to:
receive an input in the user interface; and
correct the mismatched encryption modes responsive to the input.

14. The machine-readable medium of claim 11, wherein the target logical unit is a storage device logical unit.

15. The machine-readable medium of claim 11, wherein the instructions further comprise instructions that when executed cause the machine to:
receive a selection of the initiator.

16. The machine-readable medium of claim 11, wherein the instructions that when executed cause the machine to receive a selection of the target logical unit comprise instructions that when executed cause the machine to:
indicate available targets;
receive a selection of a target of the available targets;
indicate available logical units for a combination of the initiator and the target; and
receive a selection of the target logical unit of the available logical units.

17. The machine-readable medium of claim 11, wherein the target logical unit is a logical unit of a storage device.

18. The machine-readable medium of claim 11, wherein one of the encryption modes comprises no encryption.