WO2014091535A1 - 計算機システム及び記憶部の暗号化方法 - Google Patents

計算機システム及び記憶部の暗号化方法 Download PDF

Info

Publication number
WO2014091535A1
WO2014091535A1 PCT/JP2012/081915 JP2012081915W WO2014091535A1 WO 2014091535 A1 WO2014091535 A1 WO 2014091535A1 JP 2012081915 W JP2012081915 W JP 2012081915W WO 2014091535 A1 WO2014091535 A1 WO 2014091535A1
Authority
WO
WIPO (PCT)
Prior art keywords
computer
recovery key
key
storage unit
management
Prior art date
Application number
PCT/JP2012/081915
Other languages
English (en)
French (fr)
Inventor
治英 鬼村
阿部 孝之
Original Assignee
株式会社日立製作所
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 株式会社日立製作所 filed Critical 株式会社日立製作所
Priority to PCT/JP2012/081915 priority Critical patent/WO2014091535A1/ja
Publication of WO2014091535A1 publication Critical patent/WO2014091535A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • G06F21/575Secure boot
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/202Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
    • G06F11/2023Failover techniques
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/20Manipulating the length of blocks of bits, e.g. padding or block truncation

Definitions

  • the present invention relates to a computer system having a drive encryption function for determining the integrity of hardware components when decrypting an encrypted system volume.
  • Patent Document 1 is known as a function for ensuring the confidentiality of a booting system in units of volumes.
  • TPM trusted platform module
  • Patent Document 1 describes a drive encryption function that ensures the integrity of hardware components during decryption.
  • this encryption function for example, BitLocker (registered trademark) is known.
  • BitLocker registered trademark
  • BitLocker is a drive encryption function characterized by encrypting the volume of the OS (Operating System) itself.
  • a drive encryption function that determines the consistency of hardware components at the time of decryption and encrypts the volume of the OS itself will be referred to as a drive encryption function.
  • the OS boot loader When the drive encryption function is enabled, the OS boot loader first decrypts the volume in which the OS is stored in order to start the OS. At that time, the OS boot loader uses an SRK (Storage Root Key) stored in a TPM (Trusted Platform Module).
  • SRK Storage Root Key
  • TPM Trusted Platform Module
  • UEFI Unified Extensible Firmware Interface
  • TPM Plate Configuration Register
  • the OS boot loader fails to acquire the SRK, so the startup process is suspended and the recovery key is returned to the user. Request to connect.
  • the recovery key is generated by the OS when the encryption function is enabled, and is stored in, for example, a USB memory.
  • the recovery key is information used as a key for booting the OS when the hardware is changed.
  • the user can connect the USB memory storing the recovery key to the computer and perform a predetermined operation to restart the OS boot.
  • the function of restarting the OS boot by the recovery key pauses startup when a hardware change is made, whether the change is an illegal hardware change or an expected hardware change. This is to allow the user to make a determination by interposing a user operation.
  • the present invention eliminates the need for user operation when the platform intentionally changes the hardware configuration in an environment in which a drive encryption function that determines the consistency of hardware components at the time of volume decryption is applied.
  • a computer system capable of automatically starting an OS is provided.
  • the present invention is a computer system including a computer including a processor, a memory, and a storage unit that stores an OS, and a management computer that manages one or more of the computers.
  • the computer includes the storage unit.
  • the key generated by the OS for encryption and the eigenvalue calculated from the information related to the hardware when the key was generated are held in the eigenvalue holding unit, and the computer calculates when the OS starts up When a unique value based on information related to hardware does not match the held unique value, a recovery key for decrypting the storage unit is generated instead of the key, and the key is notified to the management computer
  • the storage unit storing the OS using the key is encrypted, and the management computer accepts the recovery key and associates the recovery key with the identifier of the computer that generated the recovery key.
  • the management computer after stopping the computer, selects a second computer that takes over the stopped computer, and uses the selected second computer to generate a recovery key generated by the stopped computer.
  • the second computer is started, and the second computer calculates an eigenvalue from information related to hardware, and determines whether or not it matches the eigenvalue previously held in the eigenvalue holding unit. If the calculated eigenvalue does not match the eigenvalue stored in advance, the recovery key notified from the management computer is used to decrypt the OS of the storage unit and start the OS.
  • a computer system that calculates an eigenvalue from information related to hardware at the time of decoding of a storage unit of the OS and determines hardware consistency based on whether or not the eigenvalue matches a previously held eigenvalue, Even when the hardware configuration is changed, it is possible to automatically apply the recovery key and start the OS without any user operation.
  • FIG. 1 is a block diagram illustrating an example of a computer system according to a first embodiment of this invention.
  • FIG. It is a figure which shows the 1st Example of this invention and shows the initial state of a recovery key management table. It is a figure which shows the 1st Example of this invention and shows the use time of a recovery key management table. It is a figure which shows the 1st Example of this invention and shows the time of preservation
  • FIG. 6 is a flowchart illustrating an example of processing performed when generating a recovery key according to the first embodiment of this invention, and illustrates the first half of a subroutine.
  • FIG. 7 is a flowchart illustrating an example of processing performed when generating a recovery key according to the first embodiment of this invention, and shows the latter half of the subroutine.
  • FIG. 1 is a block diagram of a computer system illustrating an example of switching a server module when a failure occurs according to a first embodiment of this invention.
  • the 1st Example of this invention is shown, the flowchart shows an example of the process which switches a server module at the time of failure occurrence, and shows the first half.
  • the middle part is shown in the flowchart which shows a 1st Example of this invention and shows an example of the process which switches a server module at the time of failure occurrence.
  • FIG. 6 is a flowchart illustrating an example of processing for switching a server module when a failure occurs according to the first exemplary embodiment of the present invention, and shows the latter half.
  • It is a block diagram which shows a 1st Example of this invention and shows an example of encryption of OS volume.
  • FIG. 10 is a flowchart illustrating an example of processing for degenerating an I / O device in which a failure has occurred according to the second embodiment of this invention, and shows the first half.
  • the second embodiment of the present invention is a flowchart showing an example of a process for degenerating an I / O device in which a failure has occurred, and shows the middle part.
  • FIG. 10 is a flowchart illustrating an example of processing for degenerating an I / O device in which a failure has occurred according to the second embodiment of this invention, and shows the latter half.
  • a computer system to which BitLocker (registered trademark) is applied as a drive encryption function for determining the consistency of hardware components when decrypting an encrypted computer system volume is used.
  • BitLocker registered trademark
  • This computer system will be described with reference to an example of a computer system that automatically starts without any user operation even when the platform intentionally changes the hardware configuration by the cold standby function.
  • the system configuration diagram will be described first, then the processing at the time of saving the recovery key, and finally the processing at the time of switching to the standby server.
  • FIG. 1 is a block diagram illustrating an example of a computer system.
  • 2A to 2F are diagrams showing state transitions in the recovery key management table.
  • the present embodiment has a cold standby configuration in which the server module B120 is the active system and the server module N140 is the standby system.
  • the blade server chassis 100 includes one or more server modules (server blades) 110 to 140, an SVP (Service Processor) module 150, a fiber channel switch 170, and a storage device 180.
  • server modules server blades 110 to 140
  • SVP Service Processor
  • the server module B 120 includes a CPU 124, a memory 127, a chip set 125, a network interface 128, fiber channel adapters (or host bus adapters) 121 and 122, and a UEFI (Unified Extended Firmware Interface) 161 that are general elements as a computer.
  • a BMC Baseboard Management Controller
  • TPM Trusted Platform Module
  • the TPM 126 includes a PCR (Platform Configuration Register).
  • the OS 190 is loaded into the memory 127 and executed by the CPU 124.
  • the fiber channel adapters 121 and 122 as I / O devices conform to the PCI express standard having a degeneration function.
  • the BMC module 129 is a server management module that provides a state management function for the server module B 120 and a virtual media function (USB memory emulation or the like).
  • the status management function of the BMC module 129 includes a fault detection function of the server module B120, a power supply control function, a PCIe degeneration control function (a function to degenerate a failed PCI Express device), and a fault report function to the SVP module 150
  • the virtual media function of the BMC module 129 has a function (USB memory emulation module 1291 (see FIG. 6)) of emulating a USB memory by mounting an image file on the BMC module 129 or a network.
  • the BMC module 129 operates in a state where power is always supplied even when the power supply to the server module B120 which is the main body of the computer is cut off, and can perform power control independently from the server module B120.
  • the server module N140 is a server module having the same components as the server module B120. Note that the generic names of the server modules A (110) to N (140) are represented by unsigned server modules. Further, the configurations of the server modules A (110) to N (140) are the same as the block diagram shown in FIG.
  • the SVP module 150 is a computer that manages each server module in the blade server chassis 100.
  • the SVP module 150 is a module including an SVP microcomputer 152 including a processor and a memory (not shown), a network switch 151, and an in-chassis storage 154 that can store a recovery key.
  • the intra-chassis storage 154 stores a recovery key management table 153 and one or more recovery keys 155 and 156.
  • the recovery key management table 153 and the recovery keys 155 and 156 are read into the memory of the SVP microcomputer 152 as necessary.
  • the network switch 151 forms a management network that connects each server module, the fiber channel switch 170, and the SVP module 150 in the blade server chassis 100.
  • Each server module is connected to a business network (not shown) and receives access from a client computer or the like. Note that the generic names of the recovery keys 155 and 156 are described below without a symbol.
  • the SVP module 150 is connected to the fiber channel switch 170 via a management network (not shown), and can switch the LU 181 read by the server module. Thereby, it is possible to switch the OS that each server module starts.
  • the SVP microcomputer 152 is connected to the BMC module 129 via the network switch 151.
  • the BMC module 129 can store a recovery key in the intra-chassis storage 154 by mounting a predetermined area on the intra-chassis storage 154 via the network and performing USB memory emulation, for example.
  • FIGS. 2A to 2F Examples of the recovery key management table 153 are shown in FIGS. 2A to 2F. Note that the recovery key management table 153 shown in FIGS. 2A to 2F shows transition of information included in the recovery key management table 153.
  • FIG. 2A is a diagram showing an initial state of the recovery key management table 153.
  • FIG. 2B is a diagram illustrating the start of use of the recovery key management table 153.
  • FIG. 2C is a diagram when the recovery key is stored in the recovery key management table 153.
  • FIG. 2D is a diagram when the recovery key management table 153 is used by the server module N.
  • FIG. 2E is a diagram showing a state in which the use of the recovery key management table 153 is finished in the server module N.
  • FIG. 2F is a diagram showing a state in which the recovery key management table 153 is used in the server module B.
  • the recovery key management table 153 includes, for example, rows having a recovery key generation source computer ID 201, a current recovery key connection destination 202, whether or not the recovery key is stored 203, and a storage location 204 of the recovery key.
  • the number of rows is a table corresponding to the number of mountable server modules.
  • the recovery key generation source computer ID 201 is a field for storing a value indicating the server module that generated the recovery key. In this embodiment, it is assumed that information indicating a slot number of a server module configured by a blade server is set in advance as the value of the recovery key generation source computer ID 201.
  • the recovery key storage presence / absence 203 is a field for storing a value indicating whether or not the recovery key is stored. The initial value of this field is “unsaved”, and the SVP module 150 sets “saved” when the recovery key is saved, and “unsaved” when the recovery key is deleted.
  • the recovery key storage location 204 is a field for storing a value indicating the storage location of the recovery key corresponding to the recovery key generation source computer ID 201.
  • This value is a file path indicating an area on the in-chassis storage 154 in this embodiment. In this embodiment, it is assumed that a file path corresponding to the recovery key generation source computer ID 201 is assigned in advance.
  • the current recovery key connection destination 202 is a field for storing a value indicating the connection destination (server module) of the area indicated by the storage position 204 of the recovery key of the corresponding row.
  • the initial value of this field is “not connected”, and the area indicated by the storage location 204 of the recovery key 204 is an ID indicating the corresponding server module when mounted by the BMC module 129, and when the area is unmounted by the BMC module 129.
  • the SVP module 150 sets a value of “not connected”. A value of “not connected” indicates that the server module is not mounted.
  • the present embodiment is a blade server
  • the number of rows, the recovery key generation source computer ID 201, and the storage location 204 of the recovery key are allocated in advance, but they may be allocated dynamically.
  • the presence / absence of storage of the recovery key is managed in the table, but for example, the presence / absence of the storage file of the recovery key may be identified.
  • the recovery key management table 153 in FIG. 2A indicates that the recovery key generated by the server module B is / conf / p2 / RecoveryKey. It is stored in an area called bin, indicating that it is not currently mounted from anywhere.
  • the storage apparatus 180 is a module having a plurality of LUs (Logical Units) 181.
  • the storage apparatus 180 and each server module are connected via the fiber channel switch 170, and the connection between the server module and the LU 181 can be logically switched.
  • the OS 190 is stored in the LU 181.
  • the OS 190 booted from the LU 181 is activated on the server module B120.
  • the OS 190 has the above-described BitLocker (registered trademark) function.
  • the OS 190 receives an instruction to activate the BitLocker (registered trademark) function from the user (step 300 in FIG. 3A).
  • the server module B120 receives the instruction from a console or terminal input device (not shown).
  • the OS 190 requests the TPM 126 to generate an SRK (Storage Root Key) (step 301), and the TPM 126 generates an SRK based on the current PCR value (step 302).
  • the PCR value is a value calculated by the TPM 126 based on hardware configuration information, boot record information, and UEFI 161 setting information, and is a unique value of the server module B120. Note that hardware configuration information, boot record information, and UEFI 161 setting information can be handled as information related to hardware (hardware related information).
  • the OS 190 requests the TPM 126 to create a snapshot of the current PCR (step 303), and the TPM 126 acquires the current PCR snapshot and stores it in the TPM 126 (step 304).
  • the OS 190 generates a VMK (Volume Master Key) (step 305) and a recovery key (step 306) based on the SRK.
  • VMK Volume Master Key
  • the OS 190 displays, for example, a dialog on the screen in order to allow the user to select the storage location for the recovery key (step 307).
  • This screen is output by the server module B120 to a console or terminal output device (not shown).
  • step 308 is storage in the chassis
  • the process proceeds to step 309 in FIG. 3B.
  • the BMC module 129 requests the SVP module 150 for the recovery key storage position (step 309).
  • the SVP module 150 refers to the recovery key management table 153 and selects a row in which the recovery key generation source computer ID 201 matches the request source computer ID (step 310 and the second row in FIG. 2A).
  • the SVP module 150 sets the computer ID that requested storage of the recovery key in the current recovery key connection destination 202 of the selected row (step 311 and the current recovery key connection destination 202 in FIG. 2B).
  • the recovery key management table 153 of FIG. 2B is different from FIG. 2A in which the current recovery key connection destination 202 corresponding to the recovery key generation source computer ID 201 corresponding to “server module B” is in an unconnected state. It has changed to the state connected to.
  • the current recovery key connection destination 202 in the second row is updated from “not connected” to “server module B”.
  • the SVP module 150 notifies the BMC module 129 of each server module of the storage location 204 (24 “/conf/p2/RecoveryKey.bin” in the present embodiment) of the recovery key to be mounted (step 312 and 204 of FIG. 2B).
  • the BMC module 129 mounts the recovery key image file at the recovery key storage location notified from the SVP module 150 (step 313), and starts emulation of the USB memory (step 314). At this time, the OS 190 recognizes that the USB memory is connected to the BMC module 129.
  • the OS 190 when the OS 190 receives a recovery key save operation (step 315) from the user, the OS 190 writes the recovery key in the USB memory emulated by the BMC module 129 (step 316 in FIG. 3C). Since the BMC module 129 mounts the intra-chassis storage 154 of the SVP module 150 and performs USB memory emulation, the recovery key 156 is written in an area on the intra-chassis storage 154 (step 317).
  • the BMC module 129 ends the USB memory emulation (step 318), unmounts the recovery key image file in the intra-chassis storage 154 (step 319), and notifies the SVP module 150 of the completion of saving the recovery key. Perform (step 320).
  • the SVP module 150 Upon receiving the notification in step 320, the SVP module 150 sets the current recovery key connection destination 202 of the recovery key management table 153 to unconnected (see FIG. 2C), and sets the recovery key storage presence / absence 203 to “saved” (FIG. 2). 2C (203) (step 321).
  • FIG. 2C shows a state in which the current recovery key connection destination 202 corresponding to the server module B with the recovery key generation source computer ID 201 is “server module B” and the recovery key storage presence / absence 203 is “unsaved”.
  • the current recovery key connection destination 202 is changed to “not connected”, and the recovery key storage status 203 is changed to “saved”.
  • the OS 190 generates FVEK (Full Volume Encryption Key) based on the VMK (step 322) and encrypts the OS volume (step 323), and the encryption function is enabled.
  • FVEK Full Volume Encryption Key
  • the LU 181 shows an example of two volumes: a system volume (SYS VOLUME in the figure) 1810 for storing the blade manager and VMK, and an OS volume 1811 for storing FVEK and OS 190. .
  • the processing when the USB memory is selected in step 308 of FIG. 3A is an example of a conventional BitLocker system.
  • the OS 190 when the user attaches a USB memory to the server module B (step 350) and the OS 190 accepts a recovery key storage operation (step 351) from the user, the OS 190 attaches the recovery key in step 350. Write to memory (step 352).
  • the recovery key is stored in the USB memory.
  • the SVP module 150 detects the failure (step 501 in FIG. 5A), and the active server module B120 is forced to turn off and inhibit power-on (step 502) is notified to the server module B120, and the standby server module N140 is turned on (step 503).
  • the BMC module 129 of the standby server module N140 is always supplied with power and can control the power to the CPU 124 and the memory 127.
  • FIG. 4 is a block diagram of the server module B120 and the server module N140 that perform system switching.
  • the server module N140 is added to FIG.
  • the other configuration is the same as that of the first embodiment, and a duplicate description is omitted.
  • the BMC module 129 of the standby server module N140 requests the recovery key storage location from the SVP module 150 (step 505).
  • the recovery key management computer 153 indicates that the “recovery key generation source computer ID 201” is the active computer.
  • the line that matches the ID 201 is selected (step 507, FIG. 2C).
  • the selected row is not the computer ID 201 corresponding to the server module N140 of the request source (system takeover destination) but the row of the computer ID 201 corresponding to the server module B 120 of the switching source.
  • FIG. 2C shows that row # 2 has been selected for illustration.
  • the SVP module 150 determines from the recovery key management table 153 that the recovery key storage presence / absence 203 of the selected row is “saved”. In this embodiment, since the recovery key is stored (there is step 509), an ID indicating the request source server module N140 is set in the current recovery key connection destination 202 of the selected row (step 510, FIG. 2D).
  • FIG. 2D shows a state in which the recovery key generation source computer ID 201 corresponds to the server module B120 and the current recovery key connection destination 202 is not connected.
  • FIG. 2C is changed to a state connected to the server module N140. Is.
  • the SVP module 150 then stores the value of the recovery key storage position 204 to be mounted on the BMC module 129 of the switching destination server module N140 (FIG. 2D, “/conf/p2/RecoveryKey.bin in this embodiment). ]) Is notified (step 510).
  • step 509 if it is determined in step 509 that the current recovery key storage presence / absence 203 of the selected row is “unsaved” or the recovery key storage location 204 has no value, the process proceeds to step 511 to return to the recovery key storage location.
  • the BMC module 129 is notified that there is no data or the recovery key is not stored.
  • the BMC module 129 of the server module N140 that is the takeover destination image of the recovery key 156 stored in the location notified in step 511
  • the file is mounted (step 513), and emulation of the USB memory 401 (see FIG. 4) is started (514).
  • the server module N140 can recognize that the USB memory 401 storing the recovery key 156 is added on the BMC module 129 side.
  • the BMC module 129 notifies the SVP module 150 of completion of system switchover preparation (step 515).
  • the SVP module 150 cancels the power-on inhibition of the standby server module N140 and instructs to turn on the power (step 516), and the standby server module N140 is turned on (step 516). 517).
  • the hardware configuration information, the setting of the UEFI 161, and the boot record value are acquired (step 519), and the PCR value of the TPM 126 is updated (step 520).
  • the SVP module 150 changes the path of the fiber channel switch 170 to change the boot device of the server module N140. This is a state in which (change of hardware configuration information) has been performed. Therefore, the comparison result between the PCR snapshot held in the TPM 126 of the server module N140 and the PCR calculated this time does not match, and the SRK lock is not released (NO in step 521).
  • the OS 190 starts booting by the boot manager shown in FIG. 6, but fails to acquire the SRK of the TPM 126 (NO in step 524), so is the USB memory 401 storing a valid recovery key connected? It is determined whether or not (step 525).
  • step 514 by the USB memory emulation in step 514, the OS 190 recognizes that the USB memory 401 storing the recovery key 156 generated by the active server module B120 is connected. As a result, step 525 becomes YES, and the OS 190 decrypts and acquires the VMK using the recovery key 156 (step 526), decrypts and acquires the FVEK using the VMK (step 527), and decrypts the OS 190 using FVEK. And boot (steps 528A and 528B).
  • the BMC module 129 finishes the USB memory emulation (step 529), unmounts the recovery key 156 image file in the intra-chassis storage 154 (step 530), and recovers the recovery key 156 image to the SVP module 150.
  • a file unmount notification is made (step 531).
  • the SVP module 150 sets the current recovery key connection destination 202 in the recovery key management table 153 to “not connected” (step 532, FIG. 2E).
  • FIG. 2E shows a state where the current recovery key connection destination 202 corresponding to the server module B with the recovery key generation source computer ID 201 is set to “server module N”. It has changed.
  • step 525 is NO. Therefore, the user needs to manually connect the USB memory 401 storing the recovery key to the server module and restart it according to the instruction on the screen of the OS 190 (step 550).
  • step 512 determines whether the determination in step 512 is NO, emulation of the USB memory 401 is not performed. Therefore, the determination in step 525 is NO and the process proceeds to step 550 to manually connect the USB memory 401 to the server module as described above. Will be connected and restarted.
  • the BMC module 129 performs USB memory emulation using the image file of the active recovery key 156 stored in the intra-chassis storage 154. With this emulation, the takeover destination server module can recognize that the USB memory 401 storing the recovery key 156 generated by the active server module is connected, so that the OS 190 can be decrypted and started without any user operation. I can do it.
  • FIG. 6 is a block diagram showing a procedure for starting the encrypted OS 190 in the server module B120 using BitLocker (registered trademark).
  • the UEFI 161 When the power of the server module B120 is turned on, the UEFI 161 is first activated. The UEFI 161 is activated by the initial boot program, and acquires the hardware configuration information, the setting of the UEFI 161, and the value of the boot record (S2). Next, the UEFI 161 updates the PCR value of the TPM 126 based on the hardware related information, the setting of the UEFI 161, and the value of the boot record (S3). Next, the TPM 126 determines hardware consistency based on whether or not a previously stored PCR snapshot matches the current PCR.
  • the hardware configuration is the same as when the PCR snapshot was acquired. More specifically, it is determined whether or not hardware-related information such as hardware configuration, UEFI and BIOS settings, or boot record information (storage information) is the same as when the PCR snapshot was acquired. judge.
  • the TPM 126 determines that the information related to the hardware matches, and releases the SRK lock (S3). Here, if the information related to the hardware does not match, the TPM 126 determines that the hardware is not consistent and locks the SRK.
  • the UEFI 161 starts the boot manager of the system volume 1810 of the LU 181 as a boot disk (S4).
  • the boot manager decrypts the VMK (Volume Master Key) of the system volume 1810 using the unlocked SRK (S6). Next, the boot manager unlocks the FVEK (Full Volume Encryption Key) of the OS volume 1811 using the decrypted VMK. Then, the boot manager decrypts and activates the OS 190 of the OS volume 1811 encrypted using FVEK.
  • VMK Volume Master Key
  • FVEK Full Volume Encryption Key
  • the server module when the server module is changed due to failover or the like, the hardware configuration information does not change.
  • the boot device in the takeover destination server module N140, the boot device is changed to LU181, so the boot record information is changed. Therefore, the PCR snapshot held in the TPM 126 of the server module N140 does not match the PCR value calculated at the time of activation. For this reason, the SRK lock is not released and the VMK cannot be decrypted, so the recovery key stored in the USB memory 401 is requested.
  • the recovery key stored in the USB memory 401 when the recovery key stored in the USB memory 401 is requested, the recovery key corresponding to the PCR snapshot of the currently activated server module B 120 is selected from the recovery keys stored in the SVP module 150. . Then, after mounting the selected recovery key file on the BMC module 129, the USB memory emulation module 1291 of the BMC module 129 executes USB memory emulation.
  • the VMK can be decrypted without using the USB memory 401 storing the recovery key (S6), and the OS 190 encrypted automatically as described above can be started.
  • the recovery key is stored in the USB memory 401.
  • the storage medium for storing the recovery key is not limited to this, and a nonvolatile storage medium such as a semiconductor, an optical disk, or a magnetic disk is used. be able to.
  • fiber channel adapters 121 and 122 are illustrated as I / O devices conforming to the PCI express standard having a degeneration function, a network interface or a CNA (Converged Network Adapter) may be employed.
  • a network interface or a CNA Converged Network Adapter
  • the server module N120 takes over the processing of the server module B120 when a failure occurs.
  • the server module N140 may take over the processing of the server module B120 for maintenance.
  • the SVP module 150 instead of step 501 in FIG. 5A, the SVP module 150 receives a standby system switching instruction from the active system from a console or the like (not shown). And the process after step 502 of FIG. 5A is implemented.
  • the platform in an environment where a drive encryption function for determining the integrity of hardware components at the time of decryption is applied, the platform is intentionally provided by a degenerate function of an I / O device compliant with PCI express (hereinafter, PCIe).
  • PCIe PCI express
  • FIG. 7 is a block diagram of a computer system showing an example of degenerating an I / O device in which a failure has occurred.
  • the computer system of FIG. 7 has the same configuration as that of the computer system shown in FIG. 1 of the first embodiment.
  • a failure occurs in the fiber channel adapter 121 as an I / O device, and the fiber channel adapter 122 takes over the processing. This is the difference from the first embodiment. Since the system configuration and the processing at the time of saving the recovery key are the same as those in the first embodiment, a duplicate description is omitted.
  • FIG. 8A is a flowchart showing an example of processing for degenerating an I / O device in which a failure has occurred, and shows the first half.
  • FIG. 8B and FIG. 8C are flowcharts showing an example of a process for degenerating an I / O device in which a failure has occurred.
  • the BMC module 129 detects a failure (step 701), performs forced power OFF (step 702), and degenerates the PCIe (step 703).
  • the recovery key management table 153 is in the state shown in FIG. 2E.
  • the BMC module 129 requests the recovery key storage position to the SVP module 150 (step 704).
  • FIG. 2F shows a state in which the recovery key generation source computer ID 201 is changed to a state where it is connected to the server module B with respect to FIG. 2E which shows a state where the current recovery key connection destination corresponding to the server module B is not connected. It is.
  • the SVP module 150 notifies the BMC module 129 of the value of the storage location 204 of the recovery key to be mounted (FIG. 2F, “/conf/p2/RecoveryKey.bin” in this embodiment) (step 709). .
  • step 708 if it is determined in step 708 that the current recovery key storage presence / absence 203 of the selected row is “unsaved” or the recovery key storage position 204 has no value, the process proceeds to step 710 to return to the recovery key storage position.
  • the BMC module 129 is notified that there is no data or that the recovery key has not been saved.
  • step 711 when the recovery key storage location 204 is notified from the SVP module 150 (step 711 is YES), the BMC module 129 is the image file of the recovery key 156 held in the recovery key storage location 204 notified in step 710. Is mounted (step 712), and USB memory emulation is started (step 713). Then, the server module B 120 is instructed to be turned on (step 715), and the server module B is turned on.
  • the UEFI 161 When the UEFI 161 starts booting (step 717), it acquires hardware configuration information, UEFI settings, and boot record values (step 718), and updates the PCR values of the TPM 126 with reference to these values (step 719). .
  • step 723 the OS 190 starts booting (step 723 in FIG. 8C), but the TPM 126 fails to acquire the SRK (step 723 is NO), so whether or not a valid recovery key is connected to the USB memory 401. Determination is made (step 724).
  • the USB memory emulation in step 713 recognizes from the OS 190 that the USB memory 401 storing the recovery key generated by the active server module is connected, the determination result in step 724 Is YES, and the OS 190 uses the recovery key 156 to decrypt and acquire the VMK (step 725). Then, the OS 190 performs decryption and FVEK acquisition (step 726) using the acquired VMK, and decrypts and boots the OS 190 (steps 727A and 727B).
  • the BMC module 129 finishes the USB memory emulation (step 728), unmounts the recovery key 156 image file in the intra-chassis storage 154 (step 729), and restores the image of the recovery key 156 to the SVP module 150.
  • a file unmount notification is made (step 730).
  • the SVP module 150 changes the current recovery key connection destination 202 in the recovery key management table 153 to “not connected” (step 731).
  • FIG. 2E shows a state in which the recovery key generation source computer ID 201 corresponds to the server module B and the current recovery key connection destination 202 is in the state of the server module B.
  • FIG. 2E shows a state in which the recovery key generation source computer ID 201 corresponds to the server module B and the current recovery key connection destination 202 is in the state of the server module B.
  • step 724 is NO. Therefore, the user needs to manually connect the USB memory storing the recovery key to the server module and restart the computer according to the instruction on the screen of the OS 190 (step 750).
  • the chassis The BMC module 129 performs USB memory emulation using the recovery key image file stored before the PCIe degeneration stored in the internal storage, so that the OS 190 stores the recovery key stored before the PCIe degeneration. Since it is recognized that a USB memory is connected, a computer system capable of starting up the OS 190 without any user operation is provided.
  • this invention is not limited to each above-mentioned Example, Various modifications are included.
  • the above-described embodiments have been described in detail for easy understanding of the present invention, and are not necessarily limited to those having all the configurations described.
  • a part of the configuration of one embodiment can be replaced with the configuration of another embodiment, and the configuration of another embodiment can be added to the configuration of one embodiment.
  • each of the above-described configurations, functions, processing units, processing means, and the like may be realized by hardware by designing a part or all of them with, for example, an integrated circuit.
  • Each of the above-described configurations, functions, and the like may be realized by software by interpreting and executing a program that realizes each function by the processor.
  • Information such as programs, tables, and files for realizing each function is stored in memory, a hard disk, a recording device such as an SSD (Solid State Drive), or non-volatile non-temporary storage such as an IC card, an SD card, or a DVD. It can be stored on a medium.
  • control lines and information lines indicate what is considered necessary for the explanation, and not all the control lines and information lines on the product are necessarily shown. Actually, it may be considered that almost all the components are connected to each other.
  • BitLocker registered trademark
  • security such as invalidating a key for decrypting an encrypted volume of OS 190 or an OS image, or locking a key for reading OS 190
  • security such as invalidating a key for decrypting an encrypted volume of OS 190 or an OS image, or locking a key for reading OS 190
  • the OS 190 when the OS 190 is encrypted or locked with a key generated from the unique value of the hardware, a copy of the unique value of the hardware when the key is generated is retained, and the integrity of the hardware is not maintained A recovery key for validating the key is generated and held. Then, a hardware eigenvalue is calculated at the time of starting the computer, and if this eigenvalue matches a duplicate of the hardware eigenvalue when the key is generated, it is determined that hardware consistency is secured, and the OS 190 uses the key. Decrypt or unlock. On the other hand, when the unique value of the hardware calculated at the start does not match the duplicate of the unique value of the hardware when the key is generated, the stored recovery key is used to decrypt the OS 190 or release the lock. I do.
  • the recovery key is stored in the SVP module 150 outside the server module (computer), and when the recovery key is used, the BMC module 129 that manages the server module performs device emulation so that the OS 190 to be started up can execute.
  • a recovery key may be provided.
  • the recovery key management table 153 that manages the recovery key in association with the identifier of the server module that generated the recovery key is used.
  • the recovery key is provided to the operating OS 190 by mounting the recovery key with the BMC module 129 provided for each server module and emulating a predetermined device. It can be done.
  • the recovery key management table 153 exclusively controls one recovery key to prohibit the use of the recovery key in use for starting other server modules, so that the same OS 190 can be used by a plurality of server modules. It can prevent starting.
  • the present invention is not limited to this, and the recovery key management table 153 and a plurality of recovery keys are stored. Any computer that can store the key in the storage unit, select the requested recovery key, and notify the BMC module 129 can be used.

Abstract

 プロセッサとメモリとOSを格納する記憶部とを備えた計算機で、記憶部を暗号化する暗号化方法であって、計算機のOSで記憶部を暗号化するための鍵を生成し、計算機は鍵を生成したときのハードウェア関連情報から固有値を演算して保持し、OSの起動時に演算する固有値が保持された固有値と一致しない場合に用いる回復鍵を生成し、計算機に接続された管理計算機は、回復鍵を生成した計算機の識別子と対応付けて回復鍵を保持し、計算機は生成した鍵で記憶部を暗号化し、管理計算機は、計算機を停止させた後に、停止した計算機を引き継ぐ第2の計算機を選択し、停止した計算機で生成した回復鍵を、第2の計算機に通知してから、第2の計算機を起動させ、第2の計算機は、ハードウェア関連情報が同一でないと判定したときには、通知された回復鍵を用いて記憶部のOSを復号する。

Description

計算機システム及び記憶部の暗号化方法
 本発明は、暗号化されたシステムボリュームの復号時に、ハードウェアコンポーネントの整合性を判定するドライブ暗号化機能を備えた計算機システムに関する。
 ブートするシステムの機密性をボリューム単位で確保する機能として、特許文献1が知られている。この特許文献1には、「信頼できるプラットフォーム・モジュール(TPM)を有するコンピュータにおいて、ブート・コンポーネントの予想されるハッシュ値を、プラットフォーム構成レジスタ(PCR=Platform Configuration Register)内に置くことができ、それによりTPMが秘密鍵を開示することが可能になる。次に、秘密鍵を用いてブート・コンポーネントを解読し、そのハッシュ値を計算し、PCR内に置く。次いで、PCRを比較することができる。PCRを比較しない場合には、システムのための重要な秘密鍵へのアクセスを無効にすることができる。また、第1の秘密鍵は、第1の複数のPCR値が現存しているときにのみアクセス可能であり、第2の秘密鍵は、該第1の複数のPCR値の1つまたは複数が新しい値と置き換えられた後にのみアクセス可能となる。」と記載されている。
特開2006-323814号公報
 特許文献1には、復号時にハードウェアコンポーネントの整合性を確保するドライブ暗号化機能が記載されている。この暗号化機能の代表的な実施例として、例えばBitLocker(登録商標)が知られている。BitLocker(登録商標)はOS(Operating System)自体のボリュームを暗号化することを特徴としたドライブ暗号化機能である。以降、復号時にハードウェアコンポーネントの整合性を判定し、OS自体のボリュームを暗号化することを特徴としたドライブ暗号化機能をドライブ暗号化機能と述べる。
 ドライブ暗号化機能が有効になっている場合、OSのブートローダは、OSを起動するために、まず、OSが格納されているボリュームの復号化を行う。その際、OSのブートローダはTPM(Trusted Platform Module)に格納されているSRK(Storage Root Key)を用いる。
 UEFI(Unified Extensible Firmware Interface)は、ブート時に、計算機の構成情報をTPMのPCR(Platform Configuration Register)に書き込む。そして、ドライブ暗号化機能を有効にしたときには、PCRの値がTPM内部に保存されたPCRのスナップショットの値と一致した場合にのみ、TPMのロックが解除されるので、ブートローダは、TPMからSRKを取り出すことが出来る。
 一方、計算機の構成情報が変わっていた場合、PCRの値とPCRのスナップショットの値が一致しないため、OSのブートローダはSRKの取得に失敗するため、起動プロセスを一時停止し、ユーザに回復Keyを接続するように要求する。
 回復Keyは、暗号化機能を有効にする際にOSによって生成され、例えばUSBメモリ等に保存される。ここで、回復Keyとは、ハードウェアの変更があった際に、OSをブートさせるためのKeyとして用いられる情報である。
 OSのブートローダに回復Keyを要求された場合、ユーザが回復Keyの保存されたUSBメモリを計算機に接続して所定の操作を行うことで、OSのブートが再開する。
 回復KeyによるOSブートの再開の機能は、ハードウェアの変更が行われた場合に、当該変更が不正なハードウェア変更と、期待したハードウェア変更のどちらであったのかを、起動を一時停止してユーザ操作を介在させることにより、ユーザに判断させるためのものである。
 さて、主にハイエンドクラスのサーバの場合、障害発生時に故障部位の縮退や待機系サーバへの切り換え等を自動的に行うことで、障害が発生した場合でも無人での業務継続を行う機能を持っている。
 しかし、ドライブ暗号化機能が有効な場合、デバイスの縮退や待機系サーバへの切り替えはハードウェアの変更と認識されるため、OSの自動的な起動が出来ない、という問題があった。
 そこで本発明は、ボリュームの復号時にハードウェアコンポーネントの整合性を判定するドライブ暗号化機能を適用している環境で、プラットフォームが意図的にハードウェア構成を変更した場合に、ユーザ操作の介在なしに、OSの起動が自動的に可能な計算機システムを提供する。
 本発明は、プロセッサとメモリとOSを格納する記憶部とを備えた計算機と、1以上の前記計算機を管理する管理計算機と、を備えた計算機システムであって、前記計算機は、前記記憶部を暗号化するために前記OSが生成した鍵と、前記鍵を生成したときのハードウェアに関連する情報から演算した固有値と、を固有値保持部に保持し、前記計算機は、前記OSの起動時に演算するハードウェアに関連する情報に基づく固有値が、前記保持された固有値と一致しない場合に、前記鍵に代わって前記記憶部を復号するための回復鍵を生成し、該鍵を前記管理計算機に通知し、前記鍵を用いて前記OSを格納する記憶部を暗号化し、前記管理計算機が、前記回復鍵を受け付けて、前記回復鍵を生成した計算機の識別子と対応付けて前記回復鍵を保持し、前記管理計算機が、前記計算機を停止させた後、前記停止させた計算機を引き継ぐ第2の計算機を選択し、前記停止させた計算機で生成した回復鍵を、前記選択した第2の計算機に通知してから前記第2の計算機を起動し、前記第2の計算機が、ハードウェアに関連する情報から固有値を演算し、前記固有値保持部に予め保持された固有値に一致するか否かを判定し、前記演算した固有値と、予め保持された前記固有値が一致しないときには、前記管理計算機から通知された回復鍵を用いて、前記記憶部のOSを復号して、当該OSを起動する。
 本発明によれば、OSの記憶部の復号時にハードウェアに関連する情報から固有値を演算し、予め保持された固有値に一致するか否かによりハードウェアの整合性を判定する計算機システムで、計算機のハードウェア構成を変更した場合であっても、ユーザ操作の介在なしに、自動的に回復鍵を適用してOSを起動することが可能となる。
 上記した以外の課題、構成および効果は、以下の実施形態の説明により明らかにされる。
本発明の第1の実施例を示し、計算機システムの一例を示すブロック図である。 本発明の第1の実施例を示し、回復Key管理テーブルの初期状態を示す図である。 本発明の第1の実施例を示し、回復Key管理テーブルの使用開始時を示す図である。 本発明の第1の実施例を示し、回復Key管理テーブルの回復Keyの保存時を示す図である。 本発明の第1の実施例を示し、回復Key管理テーブルをサーバモジュールNで利用する際の図である。 本発明の第1の実施例を示し、サーバモジュールNで回復Key管理テーブルの利用を終了した状態を示す図である。 本発明の第1の実施例を示し、サーバモジュールBで回復Key管理テーブルを利用する状態を示す図である。 本発明の第1の実施例を示し、回復Keyの生成時に行われる処理の一例を示すフローチャートで、メインルーチンを示す。 本発明の第1の実施例を示し、回復Keyの生成時に行われる処理の一例を示すフローチャートで、サブルーチンの前半部を示す。 本発明の第1の実施例を示し、回復Keyの生成時に行われる処理の一例を示すフローチャートで、サブルーチンの後半部を示す。 本発明の第1の実施例を示し、障害発生時にサーバモジュールを切替える例を示す計算機システムのブロック図である。 本発明の第1の実施例を示し、障害発生時にサーバモジュールを切替える処理の一例を示すフローチャートで、前半部を示す。 本発明の第1の実施例を示し、障害発生時にサーバモジュールを切替える処理の一例を示すフローチャートで、中盤部を示す。 本発明の第1の実施例を示し、障害発生時にサーバモジュールを切替える処理の一例を示すフローチャートで、後半部を示す。 本発明の第1の実施例を示し、OSボリュームの暗号化の一例を示すブロック図である。 本発明の第2の実施例を示し、障害が発生したI/Oデバイスを縮退する例を示す計算機システムのブロック図である。 本発明の第2の実施例を示し、障害が発生したI/Oデバイスを縮退する処理の一例を示すフローチャートで、前半部を示す。 本発明の第2の実施例を示し、障害が発生したI/Oデバイスを縮退する処理の一例を示すフローチャートで、中盤部を示す。 本発明の第2の実施例を示し、障害が発生したI/Oデバイスを縮退する処理の一例を示すフローチャートで、後半部を示す。
 以下、本発明の一実施形態について添付図面を用いて説明する。
 本実施例1では、暗号化された計算機システムボリュームの復号時に、ハードウェアコンポーネントの整合性を判定するドライブ暗号化機能としてBitLocker(登録商標)が適用されている計算機システムを用いる。この計算機システムは、コールドスタンバイ機能によってプラットフォームが意図的にハードウェアの構成を変更した場合であっても、ユーザ操作の介在なしに、自動的に起動する計算機システムの例について説明する。ここでは、最初にシステム構成図、次に回復Key保存時の処理、最後に待機系サーバへの切り替え時の処理の順に説明する。
 まず、図1と図2を用いて本発明によるシステムの構成の一例である、ブレードサーバのコールドスタンバイ構成について説明する。図1は、計算機システムの一例を示すブロック図である。図2A~図2Fは、回復Key管理テーブルの状態遷移を示す図である。
 本実施例は、サーバモジュールB120を現用系、サーバモジュールN140を予備系としたコールドスタンバイの構成である。
 ブレードサーバシャーシ100は1つ以上のサーバモジュール(サーバブレード)110~140と、SVP(SerVice Processor)モジュール150と、ファイバチャネルスイッチ170と、ストレージ装置180を有する。
 サーバモジュールB120は、コンピュータとしての一般的な要素であるCPU124、メモリ127、チップセット125、ネットワークインターフェース128、ファイバチャネルアダプタ(または、ホストバスアダプタ)121、122、UEFI(Unified Extensible Firmware Interface)161に加えて、BMC(Baseboard Management Controller)モジュール129と、TPM(Trusted Platform Module)126を備える。なお、TPM126は、PCR(Platform Configuration Register)を含む。また、メモリ127にはOS190がロードされて、CPU124によって実行される。また、I/Oデバイスとしてのファイバチャネルアダプタ121、122は、縮退機能を備えたPCI expressの規格に準拠する。
 BMCモジュール129は、サーバモジュールB120に対する状態管理機能と、仮想メディア機能(USBメモリエミュレーション等)を提供するサーバ管理モジュールである。
 BMCモジュール129の状態管理機能は、サーバモジュールB120の障害検出機能と、電源制御機能と、PCIe縮退制御機能(障害が発生したPCI Expressデバイスを縮退させる機能)と、SVPモジュール150への障害報告機能を有する。また、BMCモジュール129の仮想メディア機能は、BMCモジュール129上あるいはネットワーク上のイメージファイルをマウントして、USBメモリのエミュレーションを行う機能(USBメモリエミュレーションモジュール1291(図6参照))を有する。また、BMCモジュール129は計算機の本体であるサーバモジュールB120の給電を遮断した状態でも、常時通電した状態で稼働しており、サーバモジュールB120から独立して電源制御を行うことができる。
 サーバモジュールN140はサーバモジュールB120と同等の構成要素を持つサーバモジュールである。なお、サーバモジュールA(110)~N(140)の総称は、符号のないサーバモジュールで表す。また、サーバモジュールA(110)~N(140)の構成は、図1に示したブロック図と同等であるので、重複した説明を省略する。
 SVPモジュール150は、ブレードサーバシャーシ100内の各サーバモジュールの管理を行う計算機である。SVPモジュール150は、図示しないプロセッサやメモリを含むSVPマイコン152と、ネットワークスイッチ151と、回復Keyを格納することが可能なシャーシ内ストレージ154と、を備えるモジュールである。シャーシ内ストレージ154には、回復Key管理テーブル153と1以上の回復Key155、156が格納される。回復Key管理テーブル153と回復Key155、156は、必要に応じてSVPマイコン152のメモリに読み込まれる。なお、ネットワークスイッチ151はブレードサーバシャーシ100内で、各サーバモジュールと及びファイバチャネルスイッチ170とSVPモジュール150を接続する管理ネットワークを構成する。また、各サーバモジュールは、図示しない業務用ネットワークに接続されて、クライアント計算機等からのアクセスを受け付ける。なお、回復Key155、156の総称については、以下、符号無しで記載する。また、SVPモジュール150は、図示しない管理ネットワークを介してファイバチャネルスイッチ170に接続され、サーバモジュールが読み込むLU181を切替えることができる。これにより、各サーバモジュールが起動するOSを切替えることができる。
 SVPマイコン152はBMCモジュール129にネットワークスイッチ151を介して接続されている。BMCモジュール129はネットワークを介してシャーシ内ストレージ154上の所定の領域をマウントしてUSBメモリエミュレーションを行うことで、例えば、回復Keyをシャーシ内ストレージ154に格納することができる。
 回復Key管理テーブル153の例を、図2A~図2Fに示す。なお、図2A~図2Fに示される回復Key管理テーブル153は、回復Key管理テーブル153に含まれる情報の遷移を、示している。
 図2Aは、回復Key管理テーブル153の初期状態を示す図である。図2Bは、回復Key管理テーブル153の使用開始時を示す図である。図2Cは、回復Key管理テーブル153に回復Keyを保存する際の図である。図2Dは、回復Key管理テーブル153をサーバモジュールNで利用する際の図である。図2Eは、サーバモジュールNで回復Key管理テーブル153の利用を終了した状態を示す図である。図2Fは、サーバモジュールBで回復Key管理テーブル153を利用する状態を示す図である。
 回復Key管理テーブル153は、例えば、回復Key生成元計算機ID201と、現在の回復Key接続先202と、回復Keyの保存有無203と、回復Keyの格納位置204を有する行で構成される。行の数は、搭載可能なサーバモジュールの数に対応するテーブルとなる。
 回復Key生成元計算機ID201は、回復Keyを生成したサーバモジュールを示す値を格納するフィールドである。本実施例において、回復Key生成元計算機ID201の値にはブレードサーバで構成されるサーバモジュールのスロット番号を示す情報が予め設定されているものとする。回復Keyの保存有無203は、回復Keyが保存されている状態であるか否かを示す値を格納するフィールドである。このフィールドの初期値は「未保存」で、回復Keyの保存操作を行った際に「保存済」、回復Keyの削除操作で「未保存」の値をSVPモジュール150が設定する。
 回復Keyの格納位置204は、回復Key生成元計算機ID201に対応する回復Keyの格納位置を示す値を格納するフィールドである。この値は本実施例ではシャーシ内ストレージ154上の領域を指すファイルパスである。本実施例においては、回復Key生成元計算機ID201に対応したファイルパスが予め割り当てられているものとする。
 現在の回復Key接続先202は、該当する行の回復Keyの格納位置204が示す領域の接続先(サーバモジュール)を示す値を格納するフィールドである。
 これはひとつの回復Keyの格納位置204を、複数のサーバモジュールが同時にマウントする事を防ぐために用いる。このフィールドの初期値は「未接続」で、回復Keyの格納位置204が示す領域が、BMCモジュール129によってマウントされるときに該当するサーバモジュールを示すID、BMCモジュール129によってアンマウントされたときに「未接続」の値をSVPモジュール150が設定する。「未接続」という値はいずれのサーバモジュールにもマウントされていない状態を示す。
 本実施例はブレードサーバであるため、行数と回復Key生成元計算機ID201と回復Keyの格納位置204を予め割り当てているが、動的に割り当てるようにしても良い。また、本実施例では回復Keyの保存の有無をテーブルで管理しているが、例えば回復Keyの格納ファイルの有無を識別するようにしても良い。
 例えば、図2Aの回復Key管理テーブル153は、サーバモジュールBで生成した回復Keyがシャーシ内ストレージ上の/conf/p2/RecoveryKey.binという領域に格納されており、現在どこからもマウントされていない状態であることを示している。
 ストレージ装置180は複数のLU(Logical Unit)181を有するモジュールである。ストレージ装置180とそれぞれのサーバモジュールはファイバチャネルスイッチ170を介して接続されており、サーバモジュールとLU181の接続を論理的に切り替えることが出来る。本実施例ではLU181にOS190が格納されているものとする。
 次にサーバモジュールB120に対応する回復Key156を、シャーシ内ストレージ154に格納する処理の一例を、図3A~図3Cのフローチャートを用いて説明する。
 サーバモジュールB120上ではLU181からブートしたOS190が起動しているものとする。OS190は、上述のBitLocker(登録商標)機能を有する。この状態でOS190がユーザからのBitLocker(登録商標)機能の有効化の指示を受け付ける(図3Aのステップ300)。なお、サーバモジュールB120は、図示しないコンソールや端末の入力装置から上記指示を受け付けるものとする。
 次に、OS190は、TPM126にSRK(Storage Root Key)の生成を依頼し(ステップ301)、TPM126が現在のPCRの値を元に、SRKを生成する(ステップ302)。なお、PCRの値は、ハードウェアの構成情報と、ブートレコードの情報と、UEFI161の設定情報からTPM126で演算した値であり、サーバモジュールB120の固有値である。なお、ハードウェアの構成情報と、ブートレコードの情報と、UEFI161の設定情報は、ハードウェアに関連する情報(ハードウェア関連情報)として扱うことができる。
 次にOS190は、現在のPCRのスナップショットの作成をTPM126に依頼し(ステップ303)、TPM126が現在のPCRのスナップショットを取得して、TPM126内に保存する(ステップ304)。
 次にOS190は、SRKを元にVMK(Volume Master Key)の生成(ステップ305)と回復Keyの生成(ステップ306)を行う。
 そして、OS190はユーザに対して回復Keyの保存先を選択させるために、例えば画面にダイアログを表示する(ステップ307)。この画面は、図示しないコンソールや端末の出力装置に対して、サーバモジュールB120が所定の画面を出力する。
 OS190がユーザから保存先としてシャーシ内ストレージ154を指示された場合(ステップ308がシャーシ内ストレージ)は、図3Bのステップ309へ進む。そして、BMCモジュール129は、SVPモジュール150に対して回復Key格納位置の要求を行う(ステップ309)。
 SVPモジュール150は、回復Key管理テーブル153を参照して、回復Key生成元計算機ID201と要求元の計算機IDが一致した行を選択する(ステップ310及び図2Aの2行目)。
 次に、SVPモジュール150は選択中の行の、現在の回復Key接続先202に、回復Keyの格納を要求した計算機IDを設定する(ステップ311及び図2Bの現在の回復Key接続先202)。図2Bの回復Key管理テーブル153は、回復Key生成元計算機ID201が「サーバモジュールB」に対応する現在の回復Key接続先202が未接続な状態のときを示す図2Aに対して、サーバモジュールBに接続した状態に変化したものである。
 すなわち、図2Bの回復Key管理テーブル153では、第2行目の現在の回復Key接続先202は、「未接続」から「サーバモジュールB」へ更新される。
 そして、SVPモジュール150は各サーバモジュールのBMCモジュール129に対してマウントすべき回復Keyの格納位置204(本実施例においては24「/conf/p2/RecoveryKey.bin」)を通知する(ステップ312及び図2Bの204)。
 BMCモジュール129は、SVPモジュール150から通知された回復Key格納位置にある回復Keyのイメージファイルをマウントし(ステップ313)、USBメモリのエミュレーションを開始する(ステップ314)。この時、OS190は、BMCモジュール129にUSBメモリが接続されたように認識する。
 次に、OS190がユーザから回復Keyの保存操作(ステップ315)を受け付けると、OS190は回復KeyをBMCモジュール129がエミュレーションしているUSBメモリに書き込む(図3Cのステップ316)。BMCモジュール129は、SVPモジュール150のシャーシ内ストレージ154をマウントしてUSBメモリエミュレーションを行っているので、回復Key156はシャーシ内ストレージ154上の領域に書き込まれる事になる(ステップ317)。
 回復Keyの保存が完了すると、BMCモジュール129はUSBメモリエミュレーションを終了(ステップ318)、シャーシ内ストレージ154の回復Keyイメージファイルをアンマウント(ステップ319)、SVPモジュール150に対して回復Key保存完了通知を行う(ステップ320)。
 SVPモジュール150はステップ320の通知を受けて、回復Key管理テーブル153の現在の回復Key接続先202を未接続に設定し(図2C参照)、回復Keyの保存有無203を「保存済」(図2Cの203)に設定する(ステップ321)。
 図2Cは、回復Key生成元計算機ID201がサーバモジュールBに対応する現在の回復Key接続先202が「サーバモジュールB」、回復Keyの保存有無203が「未保存」な状態のときを示す図2Bに対して、現在の回復Key接続先202が「未接続」、回復Keyの保存有無203が「保存済」の状態に変化したものである。
 そして、OS190がVMKを基にFVEK(Full Volume Encryption Key)の生成(ステップ322)とOSボリュームの暗号化を行い(ステップ323)暗号化機能が有効な状態となる。なお、LU181は、図6で示すように、ブレードマネージャ及びVMKを格納するシステムボリューム(図中SYS VOLUME)1810と、FVEKとOS190を格納したOSボリューム1811の2つのボリュームから構成された例を示す。
 なお、図3Aのステップ308で、USBメモリを選択した場合の処理は、従来のBitLockerシステムの例である。従来のBitLockerシステムでは、ユーザがサーバモジュールBにUSBメモリを取り付けて(ステップ350)、OS190がユーザから回復Keyの保存操作(ステップ351)を受け付けると、OS190は回復Keyをステップ350で取り付けたUSBメモリに書き込む(ステップ352)。上記の処理によって、回復KeyをUSBメモリに記憶する。
 次に本実施例におけるコールドスタンバイによる待機系(サーバモジュールN140)への切り替えを、図2C~図2E、図4、図5A~図5Cを参照しながら以下に説明する。
 現用系のサーバモジュールB120でサーバモジュール切り替えの必要な障害が発生した場合、SVPモジュール150が障害を検出し(図5Aのステップ501)、現用系サーバモジュールB120の強制電源OFFと電源投入抑止(ステップ502)をサーバモジュールB120に通知してから、予備系サーバモジュールN140の電源投入抑止を行う(ステップ503)。ただし、予備系のサーバモジュールN140のBMCモジュール129は、常時電力が供給され、CPU124やメモリ127への電源を制御することができる。
 次に、サーバモジュールB120からサーバモジュールN140へコールドスタンバイの切り替え処理を実施する(M+N切替え処理)。この処理の中でSVPモジュール150はサーバモジュールとLU181の接続経路を、図4に示す経路400から経路401に変更する指令をファイバチャネルスイッチ170に送信する。これにより、サーバモジュールN140がLU181からOS190を読み込んで起動するように設定が変更される(ステップ504)。このとき、回復Key管理テーブル153は、図2Cの状態である。なお、図4は、系切替えを行うサーバモジュールB120とサーバモジュールN140のブロック図で、図1にサーバモジュールN140を加えたものである。その他の構成は、前記実施例1と同様であるので、重複した説明は省略する。
 次に、予備系サーバモジュールN140のBMCモジュール129は、SVPモジュール150に対して回復Key格納位置の要求を行う(ステップ505)。
 SVPモジュール150は、ステップ505の要求をコールドスタンバイ切り替えの予備系のサーバモジュールN140から受信した場合(ステップ506がYES)、回復Key管理テーブル153から「回復Key生成元計算機ID201」が現用系の計算機ID201と一致する行を選択する(ステップ507、図2C)。
 本実施例の場合、選択される行は要求元(系の引き継ぎ先)のサーバモジュールN140に対応する計算機ID201ではなく、切替え元のサーバモジュールB120に対応する計算機ID201の行である。図2Cは、説明のために行#2が選択されたことを示すものである。
 SVPモジュール150は、回復Key管理テーブル153より、選択中の行の回復Keyの保存有無203が「保存済」であることを判定する。本実施例では回復Keyが保存されているので(ステップ509が有り)、選択中の行の現在の回復Key接続先202に、要求元のサーバモジュールN140を示すIDを設定する(ステップ510、図2D)。
 図2Dは、回復Key生成元計算機ID201がサーバモジュールB120に対応し、現在の回復Key接続先202が未接続な状態のときを示す図2Cに対して、サーバモジュールN140に接続した状態に変化したものである。
 そして、SVPモジュール150は、切り替え先のサーバモジュールN140のBMCモジュール129に対して、マウントすべき回復Keyの格納位置204の値(図2D、本実施例においては「/conf/p2/RecoveryKey.bin」)を通知する(ステップ510)。
 一方、ステップ509の判定で、選択中の行の現在の回復Keyの保存有無203が「未保存」あるいは回復Key格納位置204に値がない場合には、ステップ511へ進んで、回復Key格納位置がないこと、または回復Keyが格納されていないことをBMCモジュール129に通知する。
 引き継ぎ先のサーバモジュールN140のBMCモジュール129は、SVPモジュール150から回復Keyの格納位置204が通知された場合(ステップ512がYES)、ステップ511で通知された位置に格納されている回復Key156のイメージファイルをマウントし(ステップ513)、USBメモリ401(図4参照)のエミュレーションを開始する(514)。この処理により、サーバモジュールN140は、BMCモジュール129側で回復Key156を格納したUSBメモリ401が追加されたことを認識することができる。
 次に、BMCモジュール129は、SVPモジュール150に対して系切り替え準備完了を通知する(ステップ515)。SVPモジュール150は、ステップ515の通知を受けて予備系のサーバモジュールN140の電源投入抑止の解除と電源ONの指示を行い(ステップ516)、予備系のサーバモジュールN140の電源がONとなる(ステップ517)。
 UEFI161はブートを開始すると(ステップ518)、ハードウェア構成情報とUEFI161の設定とブートレコードの値を取得し(ステップ519)、TPM126のPCRの値を更新する(ステップ520)。
 ここで、本実施例では現用系のサーバモジュールB120と待機系サーバモジュールN140の切り替えを行っているため、SVPモジュール150がファイバチャネルスイッチ170のパスを変更して、サーバモジュールN140のブートデバイスの変更(ハードウェア構成情報の変更)が行われた状態である。そのため、サーバモジュールN140のTPM126に保持しているPCRスナップショットと、今回演算したPCRの比較結果は不一致となり、SRKのロックは解除されない(ステップ521がNO)。
 この状態でOS190は図6に示すブートマネージャにより、ブートを開始するが、TPM126のSRKの取得に失敗するため(ステップ524がNO)、有効な回復Keyを格納したUSBメモリ401が接続されているか否かを判定する(ステップ525)。
 本実施例では、ステップ514のUSBメモリエミュレーションによって、OS190からは現用系のサーバモジュールB120で生成した回復Key156が保存されたUSBメモリ401が接続されたように認識されている。これにより、ステップ525はYESとなり、OS190は回復Key156を使ってVMKの復号と取得(ステップ526)を行い、VMKを使ってFVEKの復号と取得(ステップ527)を行い、FVEKによりOS190を復号してブートする(ステップ528A、528B)。
 OS190のブートが完了すると、BMCモジュール129はUSBメモリエミュレーションを終了し(ステップ529)、シャーシ内ストレージ154の回復Key156のイメージファイルをアンマウントし(ステップ530)、SVPモジュール150に対して回復Key156のイメージファイルのアンマウント通知を行う(ステップ531)。
 SVPモジュール150は、ステップ531の通知を受けて、回復Key管理テーブル153の現在の回復Key接続先202を「未接続」に設定する(ステップ532、 図2E)。
 図2Eは、回復Key生成元計算機ID201がサーバモジュールBに対応する現在の回復Key接続先202が「サーバモジュールN」に設定された状態を示す図2Dに対して、「未接続」の状態に変化したものである。
 参考までに従来のBitLockerを用いた計算機システムは、ステップ525がNOとなる。そのため、ユーザはOS190の画面による指示に従い、回復Keyの保存されたUSBメモリ401を手動でサーバモジュールに接続して再起動を行う必要がある(ステップ550)。
 なお、ステップ512の判定がNOとなった場合は、USBメモリ401のエミュレーションを行わないので、ステップ525の判定でNOとなり、ステップ550に進んで、上述のようにUSBメモリ401を手動でサーバモジュールに接続して再起動を行うことになる。
 上記した処理により、復号時にハードウェアコンポーネントの整合性を判定するドライブ暗号化機能を適用している環境で、コールドスタンバイによる待機系への切り替えによってプラットフォームが意図的にハードウェア構成などを変更した場合であっても、シャーシ内ストレージ154に格納した現用系の回復Key156のイメージファイルを使ってBMCモジュール129がUSBメモリエミュレーションを行う。このエミュレーションによって、引き継ぎ先のサーバモジュールでは現用系サーバモジュールで生成した回復Key156を格納したUSBメモリ401が接続されたように認識できるため、ユーザ操作の介在なしにOS190を復号して起動することが出来る。
 図6は、BitLocker(登録商標)を用いたサーバモジュールB120における暗号化されたOS190の起動の手順を示すブロック図である。サーバモジュールB120の電源をONにすると、まず、UEFI161が起動する。UEFI161は初期ブートプログラムが起動して、ハードウェア構成情報とUEFI161の設定と、ブートレコードの値を取得する(S2)。次に、UEFI161は、ハードウェア関連情報とUEFI161の設定と、ブートレコードの値をもとに、TPM126のPCRの値を更新する(S3)。次に、TPM126では、予め格納したPCRのスナップショットと、現在のPCRが一致するか否かにより、ハードウェアの整合性を判定する。つまり、PCRのスナップショットを取得した時点と同一のハードウェア構成であるか否かを判定する。より詳しくは、ハードウェアの構成やUEFIやBIOSの設定またはブートレコードの情報(ストレージの情報)などのハードウェアに関連する情報が、PCRのスナップショットを取得した時点と同一であるか否かを判定する。
 PCRのスナップショットと、現在のPCRが一致する場合、TPM126は、ハードウェアに関連する情報が一致すると判定してSRKのロックを解除する(S3)。ここで、TPM126は、ハードウェアに関連する情報が一致しない場合には、ハードウェアの整合性がとれないと判定してSRKをロックする。
 次に、UEFI161は、ブートディスクであるLU181のシステムボリューム1810のブートマネージャを起動する(S4)。
 ブートマネージャは、ロックを解除されたSRKを用いて、システムボリューム1810のVMK(Volume Master Key)を復号する(S6)。次に、ブートマネージャは、復号したVMKを用いてOSボリューム1811のFVEK(Full Volume Encryption Key)のロックを解除する。そして、ブートマネージャは、FVEKを用いて暗号化されたOSボリューム1811のOS190を復号して起動する。
 上記の手順で、TPM126で演算したPCRと、PCRのスナップショットが一致しない場合には、SRKがロックされるので、VMKを復号できず、USBメモリ401に格納した回復Keyが要求される。
 また、フェイルオーバなどでサーバモジュールを変更した場合には、ハードウェア構成情報には変化がないが、引き継ぎ先のサーバモジュールN140では、ブートデバイスがLU181に変更されるため、ブートレコード情報が変更されるため、サーバモジュールN140のTPM126に保持されていたPCRのスナップショットと、起動時に演算したPCRの値は一致しない。このため、SRKのロックは解除されず、VMKを復号できないので、USBメモリ401に格納した回復Keyが要求される。
 ここで、本発明では、USBメモリ401に格納した回復Keyが要求されたときには、SVPモジュール150に保持した回復Keyから、現在起動中のサーバモジュールB120のPCRスナップショットに対応する回復Keyを選択する。そして、選択した回復KeyのファイルをBMCモジュール129にマウントしてから、BMCモジュール129のUSBメモリエミュレーションモジュール1291で、USBメモリのエミュレーションを実行する。
 これにより、回復Keyを格納したUSBメモリ401を用いることなく、VMKを復号することが可能となり(S6)、上述のように自動的に暗号化されたOS190を起動することができるのである。
 なお、上記では回復KeyをUSBメモリ401に格納する例を示したが、回復Keyを格納する記憶媒体はこれに限定されるものではなく、半導体や光ディスクあるいは磁気ディスク等の不揮発性記憶媒体を用いることができる。
 また、縮退機能を備えたPCI expressの規格に準拠するI/Oデバイスとしてファイバチャネルアダプタ121、122を例示したが、ネットワークインターフェースやCNA(Converged Network Adapter)を採用してもよい。
 また、上記では、障害が発生したときに、サーバモジュールB120の処理をサーバモジュールN140で引き継ぐ例を示したが、メインテナンスのためにサーバモジュールB120の処理をサーバモジュールN140で引き継いでもよい。この場合、図5Aのステップ501に代わって、SVPモジュール150は現用系から待機系の切替え指示を図示しないコンソールなどから受信する。そして、図5Aのステップ502以降の処理を実施する。
 本実施例2では、復号時にハードウェアコンポーネントの整合性を判定するドライブ暗号化機能が適用されている環境で、PCIexpress(以下、PCIe)に準拠したI/Oデバイスの縮退機能によってプラットフォームが意図的にハードウェア構成を変更した場合に、ユーザ操作の介在なしに起動できる計算機システムの例について以下に説明する。
 図7は、障害が発生したI/Oデバイスを縮退する例を示す計算機システムのブロック図である。図7の計算機システムは、前記実施例1の図1に示した計算機システムと同様の構成であり、I/Oデバイスとしてのファイバチャネルアダプタ121に障害が発生し、ファイバチャネルアダプタ122が処理を引き継いだ状態が前記実施例1と異なる点である。システム構成と回復Key保存時の処理は実施例1と同一であるため、重複する説明は省略する。
 図8Aは、障害が発生したI/Oデバイスを縮退する処理の一例を示すフローチャートで、前半部を示す。図8B、図8Cは、同じく障害が発生したI/Oデバイスを縮退する処理の一例を示すフローチャートで、中盤部、後半部をそれぞれ示す。
 サーバモジュールB120でPCIeデバイスとしてのファイバチャネルアダプタ121に障害が発生した場合、BMCモジュール129が障害検出し(ステップ701)、強制電源OFF(ステップ702)とPCIeの縮退を行う(ステップ703)。このとき、回復Key管理テーブル153は図2Eの状態である。
 次に、BMCモジュール129はSVPモジュール150に対して回復Key格納位置の要求を行う(ステップ704)。
 SVPモジュール150は、前記要求をコールドスタンバイ切り替えの予備系サーバモジュール以外から受けた場合(ステップ705がNO)、回復Key管理テーブル153から回復Key生成元計算機ID201が、要求を行ったサーバモジュールのIDと一致する行を選択する(ステップ707、図2E)。本実施例の場合、このとき選択される行は、要求の送信元のサーバモジュールB120に対応する図2Fの#=2の行である。なお、系切替え中の場合には、前記実施例1と同様にステップ706で、回復Key管理テーブル153から回復Key生成元計算機ID201が、現用系の計算機IDと一致する行を選択する。
 図2Eは、説明のために行=#2が選択されたことを示すもので、図2Cと同じ状態の図である。
 SVPモジュール150は、回復Key管理テーブル153より、選択中の行の回復Keyの保存有無203が「保存済」であることを判定する。本実施例では回復Key156が保存されているので(ステップ708がYES)、選択中の行の現在の回復Key接続先202に要求元のサーバモジュールのID=Bを設定する(ステップ709、図2F)。
 図2Fは、回復Key生成元計算機ID201が、サーバモジュールBに対応する現在の回復Key接続先が未接続な状態のときを示す図2Eに対して、サーバモジュールBに接続した状態に変化したものである。
 そして、SVPモジュール150はBMCモジュール129に対してマウントすべき回復Keyの格納位置204の値(図2F、本実施例においては「/conf/p2/RecoveryKey.bin」)を通知する(ステップ709)。
 一方、ステップ708の判定で、選択中の行の現在の回復Keyの保存有無203が「未保存」あるいは回復Key格納位置204に値がない場合には、ステップ710へ進んで、回復Key格納位置がないこと、または回復Keyが未保存であることをBMCモジュール129に通知する。
 図8Bにおいて、BMCモジュール129はSVPモジュール150から回復Keyの格納位置204が通知された場合(ステップ711がYES)、ステップ710で通知された回復Key格納位置204に保持された回復Key156のイメージファイルをマウントし(ステップ712)、USBメモリのエミュレーションを開始した後(ステップ713)、サーバモジュールB120の電源ONの指示を行い(ステップ715)、サーバモジュールBの電源がONとなる。
 UEFI161はブートを開始すると(ステップ717)、ハードウェア構成情報とUEFI設定とブートレコードの値を取得し(ステップ718)、これらの値を参照してTPM126のPCRの値を更新する(ステップ719)。
 しかし、本実施例2ではステップ703でPCIeデバイスの縮退を行っているため、ハードウェア変更が行われた状態である。そのため、TPM126上のPCRと、過去に取得したスナップショットの比較結果は不一致となり、SRKのロックは解除されない(ステップ720がNO)。
 この状態でOS190はブートを開始するが(図8Cのステップ723)、TPM126ではSRKの取得に失敗するため(ステップ723がNO)、USBメモリ401に有効な回復Keyが接続されているか否かを判定する(ステップ724)。
 本実施例2では、ステップ713のUSBメモリエミュレーションによって、OS190からは現用系サーバモジュールで生成した回復Keyの保存されたUSBメモリ401が接続されたように認識されているため、ステップ724の判定結果はYESとなり、OS190は回復Key156を使ってVMKの復号と取得(ステップ725)を行う。そして、OS190は取得したVMKを使って復号とFVEKの取得(ステップ726)を行い、OS190を復号してブートする(ステップ727A、727B)。
 OS190のブートが完了すると、BMCモジュール129はUSBメモリエミュレーションを終了し(ステップ728)、シャーシ内ストレージ154の回復Key156のイメージファイルをアンマウントし(ステップ729)、SVPモジュール150に対して回復Key156のイメージファイルのアンマウント通知を行う(ステップ730)。
 SVPモジュール150はステップ730の通知を受けて、回復Key管理テーブル153の現在の回復Key接続先202を「未接続」に変更する(ステップ731)。
 図2Eは、回復Key生成元計算機ID201がサーバモジュールBに対応する現在の回復Key接続先202がサーバモジュールBの状態のときを示す図2Fに対して、未接続の状態に変化したものである。
 参考までに従来のシステムは、ステップ724がNOとなる。そのため、ユーザはOS190の画面による指示に従い、回復Keyの保存されたUSBメモリを手動でサーバモジュールに接続して再起動を行う必要がある(ステップ750)。
 上記した実施例により、復号時にハードウェアコンポーネントの整合性を判定するドライブ暗号化機能を適用している環境で、PCIe縮退によってプラットフォームが意図的にハードウェア構成を変更した場合であっても、シャーシ内ストレージに格納したPCIe縮退を行う前に保存した回復Keyのイメージファイルを使ってBMCモジュール129がUSBメモリエミュレーションを行うことで、OS190からはPCIe縮退を行う前に保存した回復Keyの保存されたUSBメモリが接続されたように認識されているため、ユーザ操作の介在なしにOS190の起動が出来る計算機システムを提供する。
 なお、本発明は上記した各実施例に限定されるものではなく、様々な変形例が含まれる。例えば、上記した実施例は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、ある実施例の構成の一部を他の実施例の構成に置き換えることが可能であり、また、ある実施例の構成に他の実施例の構成を加えることも可能である。また、各実施例の構成の一部について、他の構成の追加・削除・置換をすることが可能である。
 また、上記の各構成、機能、処理部、処理手段等は、それらの一部又は全部を、例えば集積回路で設計する等によりハードウェアで実現してもよい。また、上記の各構成、機能等は、プロセッサがそれぞれの機能を実現するプログラムを解釈し、実行することによりソフトウェアで実現してもよい。各機能を実現するプログラム、テーブル、ファイル等の情報は、メモリや、ハードディスク、SSD(Solid State Drive)等の記録装置、または、ICカード、SDカード、DVD等の不揮発性の非一時的な記憶媒体に格納することができる。
 また、制御線や情報線は説明上必要と考えられるものを示しており、製品上必ずしも全ての制御線や情報線を示しているとは限らない。実際には殆ど全ての構成が相互に接続されていると考えてもよい。
 以上では、ハードウェアコンポーネントの整合性が保たれていない場合には、OS190の復号を阻止する機能として、BitLocker(登録商標)を採用する例を示したが、これに限定されるものではない。
 例えば、ハードウェアコンポーネントの整合性が保たれていない場合には、暗号化されたOS190のボリュームまたはOSイメージを復号する鍵を無効化したり、あるいは、OS190を読み込むための鍵をロックするなどのセキュリティを備えた計算機システムであればよい。
 特に、ハードウェアの固有値から生成した鍵でOS190の暗号化またはロックを行い、鍵を生成したときのハードウェアの固有値の複製を保持し、また、ハードウェアの整合性が保たれていない場合に前記鍵を有効化するための回復Keyを生成して保持しておく。そして、計算機の起動時にハードウェアの固有値を演算し、この固有値が、鍵を生成したときのハードウェアの固有値の複製と一致すればハードウェアの整合性が確保されたと判定し、前記鍵でOS190の復号化またはロックの解除を行う。一方、起動時に演算したハードウェアの固有値が、鍵を生成したときのハードウェアの固有値の複製と一致しない場合には、保持しておいた回復Keyを用いることで、OS190の復号またはロックの解除を行う。このとき、回復Keyをサーバモジュール(計算機)の外部のSVPモジュール150に格納しておき、回復Keyを用いるときにはサーバモジュールを管理するBMCモジュール129がデバイスのエミュレーションを実施することで、起動するOS190に回復Keyを提供すればよい。
 そして、SVPモジュール150で複数のサーバモジュールの回復Keyを管理する際には、回復Keyを生成したサーバモジュールの識別子に対応付けて回復Keyを管理する回復Key管理テーブル153を用いる。そして、各回復Keyを使用する際には、各サーバモジュール毎に設けられたBMCモジュール129で回復Keyをマウントし、所定のデバイスのエミュレーションを実施することで、起動中のOS190に回復Keyを提供することができるのである。
 さらに、回復Key管理テーブル153は、ひとつの回復Keyを排他制御することで、使用中の回復Keyを他のサーバモジュールの起動に使用することを禁止して、同一のOS190が複数のサーバモジュールで起動するのを防ぐことができる。
 また、上記実施例では、BMCモジュール129でデバイスのエミュレーションを行う例を示したが、サーバモジュール毎にデバイスのエミュレーションを行う管理モジュールであれば良い。
 また、上記実施例では、複数のサーバモジュールに接続されたSVPモジュール150に複数の回復Keyを格納する例を示したが、これに限定されるものではなく、回復Key管理テーブル153と複数の回復Keyを記憶部に格納し、要求された回復Keyを選択してBMCモジュール129へ通知可能な計管理算機であればよい。

Claims (10)

  1.  プロセッサとメモリとOSを格納する記憶部とを備えた計算機と、
     1以上の前記計算機を管理する管理計算機と、を備えた計算機システムであって、
     前記計算機は、前記記憶部を暗号化するために前記OSが生成した鍵と、前記鍵を生成したときのハードウェアに関連する情報から演算した固有値と、を固有値保持部に保持し、
     前記計算機は、前記OSの起動時に演算するハードウェアに関連する情報に基づく固有値が、前記保持された固有値と一致しない場合に、前記鍵に代わって前記記憶部を復号するための回復鍵を生成し、当該鍵を前記管理計算機に通知し、前記鍵を用いて前記OSを格納する記憶部を暗号化し、
     前記管理計算機が、前記回復鍵を受け付けて、前記回復鍵を生成した計算機の識別子と対応付けて前記回復鍵を保持し、
     前記管理計算機が、前記計算機を停止させた後、前記停止させた計算機を引き継ぐ第2の計算機を選択し、前記停止させた計算機で生成した回復鍵を、前記選択した第2の計算機に通知してから前記第2の計算機を起動し、
     前記第2の計算機が、ハードウェアに関連する情報から固有値を演算し、前記固有値保持部に予め保持された固有値に一致するか否かを判定し、前記演算した固有値と、予め保持された前記固有値が一致しないときには、前記管理計算機から通知された回復鍵を用いて、前記記憶部のOSを復号して、当該OSを起動することを特徴とする計算機システム。
  2.  請求項1に記載の計算機システムであって、
     前記第2の計算機は、
     当該第2の計算機の電源を制御する管理モジュールを有し、
     前記管理モジュールは、
     前記管理計算機が通知した回復鍵を受け付けて、当該回復鍵を格納したデバイスとして前記第2の計算機に認識させるエミュレーション部を有することを特徴とする計算機システム。
  3.  請求項1に記載の計算機システムであって、
     前記管理計算機は、
     前記計算機に障害が発生したことを検知したときには前記計算機を停止させた後、前記停止させた計算機を引き継ぐ第2の計算機を選択し、前記停止させた計算機で生成した回復鍵を、前記選択した第2の計算機に通知してから前記第2の計算機を起動することを特徴とする計算機システム。
  4.  請求項2に記載の計算機システムであって、
     前記管理モジュールは、
     前記計算機のデバイスが縮退したことを検知したときには前記計算機を停止させ、前記管理計算機に前記回復鍵を要求し、
     前記管理計算機は、
     前記停止させた計算機を引き継ぐ第2の計算機として、前記デバイスを縮退した当該計算機を選択することを特徴とする計算機システム。
  5.  請求項2に記載の計算機システムであって、
     前記エミュレーション部は、USBメモリのエミュレーションを実行し、
     前記第2の計算機は、前記USBメモリに格納された回復鍵を認識し、当該回復鍵を取得することを特徴とする計算機システム。
  6.  プロセッサとメモリとOSを格納する記憶部とを備えた計算機で、前記記憶部を暗号化する暗号化方法であって、
     前記計算機が、前記OSで前記記憶部を暗号化するための鍵を生成する第1のステップと、
     前記計算機が、前記鍵を生成したときのハードウェアに関連する情報から固有値を演算し、当該固有値を保持する第2のステップと、
     前記計算機が、前記OSの起動時に演算するハードウェアに関連する情報に基づく固有値が、前記保持された固有値と一致しない場合に、前記鍵に代わって前記記憶部を復号するための回復鍵を生成する第3のステップと、
     前記計算機に接続された管理計算機が、前記回復鍵を受け付けて、前記回復鍵を生成した計算機の識別子と対応付けて前記回復鍵を保持する第4のステップと、
     前記計算機が、前記鍵を用いて前記OSを格納する記憶部を暗号化する第5のステップと、
     前記計算機を停止させる第6のステップと、
     前記管理計算機が、前記停止させた計算機を引き継ぐ第2の計算機を選択する第7のステップと、
     前記管理計算機が、前記停止させた計算機で生成した回復鍵を、前記第2の計算機に通知する第8のステップと、
     前記管理計算機が、前記第2の計算機を起動させる第9のステップと、
     前記第2の計算機が、ハードウェアに関連する情報から固有値を演算し、予め保持された固有値に一致するか否かを判定する第10のステップと、
     前記第2の計算機が、前記演算した固有値と、予め保持された前記固有値が一致しないと判定したときには、前記管理計算機から通知された回復鍵を用いて、前記記憶部のOSを復号して、当該OSを起動する第11のステップと、
    を含むことを特徴とする記憶部の暗号化方法。
  7.  請求項6に記載の記憶部の暗号化方法であって、
     前記第2の計算機は、
     当該第2の計算機の電源を制御する管理モジュールを有し、
     前記第11のステップは、
     前記管理モジュールが、管理計算機から通知された前記回復鍵を受け付けて、当該回復鍵を格納したデバイスとして前記第2の計算機に認識させるエミュレーションを実行することを特徴とする記憶部の暗号化方法。
  8.  請求項6に記載の記憶部の暗号化方法であって、
     前記第7のステップは、
     前記管理計算機が、前記計算機で障害の発生を検知したときには前記計算機を停止させた後、前記停止させた計算機を引き継ぐ第2の計算機を選択することを特徴とする記憶部の暗号化方法。
  9.  請求項7に記載の記憶部の暗号化方法であって、
     前記第7のステップは、
     前記管理モジュールが、前記計算機のデバイスが縮退したことを検知したときには前記計算機を停止させ、前記管理計算機に前記回復鍵を要求し、
     前記管理計算機は、
     前記停止させた計算機を引き継ぐ第2の計算機として、前記デバイスを縮退した当該計算機を選択することを特徴とする記憶部の暗号化方法。
  10.  請求項7に記載の記憶部の暗号化方法であって、
     前記第11のステップは、
     USBメモリのエミュレーションを実行し、前記第2の計算機は、前記USBメモリに格納された回復鍵を認識し、当該回復鍵を取得することを特徴とする記憶部の暗号化方法。
PCT/JP2012/081915 2012-12-10 2012-12-10 計算機システム及び記憶部の暗号化方法 WO2014091535A1 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/JP2012/081915 WO2014091535A1 (ja) 2012-12-10 2012-12-10 計算機システム及び記憶部の暗号化方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2012/081915 WO2014091535A1 (ja) 2012-12-10 2012-12-10 計算機システム及び記憶部の暗号化方法

Publications (1)

Publication Number Publication Date
WO2014091535A1 true WO2014091535A1 (ja) 2014-06-19

Family

ID=50933864

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2012/081915 WO2014091535A1 (ja) 2012-12-10 2012-12-10 計算機システム及び記憶部の暗号化方法

Country Status (1)

Country Link
WO (1) WO2014091535A1 (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6261065B1 (ja) * 2017-06-12 2018-01-17 Quadrac株式会社 中継装置及びシステム
JP2019003600A (ja) * 2017-11-17 2019-01-10 Quadrac株式会社 中継装置及びシステム
JP2021510871A (ja) * 2018-01-12 2021-04-30 ギャリソン テクノロジー リミテッドGarrison Technology Ltd ストレージリソースの安全な共用
US11151255B2 (en) * 2018-10-26 2021-10-19 Dell Products L.P. Method to securely allow a customer to install and boot their own firmware, without compromising secure boot

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090169020A1 (en) * 2007-12-28 2009-07-02 Palsamy Sakthikumar Migration of full-disk encrypted virtualized storage between blade servers
US20090210456A1 (en) * 2008-02-18 2009-08-20 Dell Products L.P. Methods, Systems and Media for TPM Recovery Key Backup and Restoration
JP2010067042A (ja) * 2008-09-11 2010-03-25 Hitachi Ltd 計算機切り替え方法、計算機切り替えプログラム及び計算機システム
JP2011034161A (ja) * 2009-07-30 2011-02-17 Nec Corp サーバシステム及びサーバシステムの管理方法
JP2011517205A (ja) * 2008-04-02 2011-05-26 ヒューレット−パッカード デベロップメント カンパニー エル.ピー. ディスクドライブデータの暗号化

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090169020A1 (en) * 2007-12-28 2009-07-02 Palsamy Sakthikumar Migration of full-disk encrypted virtualized storage between blade servers
US20090210456A1 (en) * 2008-02-18 2009-08-20 Dell Products L.P. Methods, Systems and Media for TPM Recovery Key Backup and Restoration
JP2011517205A (ja) * 2008-04-02 2011-05-26 ヒューレット−パッカード デベロップメント カンパニー エル.ピー. ディスクドライブデータの暗号化
JP2010067042A (ja) * 2008-09-11 2010-03-25 Hitachi Ltd 計算機切り替え方法、計算機切り替えプログラム及び計算機システム
JP2011034161A (ja) * 2009-07-30 2011-02-17 Nec Corp サーバシステム及びサーバシステムの管理方法

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6261065B1 (ja) * 2017-06-12 2018-01-17 Quadrac株式会社 中継装置及びシステム
WO2018229818A1 (ja) * 2017-06-12 2018-12-20 Quadrac株式会社 中継装置及びシステム
JP2019003600A (ja) * 2017-11-17 2019-01-10 Quadrac株式会社 中継装置及びシステム
JP2021510871A (ja) * 2018-01-12 2021-04-30 ギャリソン テクノロジー リミテッドGarrison Technology Ltd ストレージリソースの安全な共用
JP7244527B2 (ja) 2018-01-12 2023-03-22 ギャリソン テクノロジー リミテッド ストレージリソースの安全な共用
US11151255B2 (en) * 2018-10-26 2021-10-19 Dell Products L.P. Method to securely allow a customer to install and boot their own firmware, without compromising secure boot

Similar Documents

Publication Publication Date Title
CN111052118B (zh) 硬件实施的固件安全
AU2010340222B2 (en) Protected device management
US9594698B2 (en) Local keying for self-encrypting drives (SED)
US8127128B2 (en) Synchronization of swappable module in modular system
US10032029B2 (en) Verifying integrity of backup file in a multiple operating system environment
US20160087986A1 (en) Storage device security system
US20090210456A1 (en) Methods, Systems and Media for TPM Recovery Key Backup and Restoration
US8082434B2 (en) System and method for providing a secure computing environment
KR20100087336A (ko) 판독전용 영역과 판독/기록 영역, 분리형 매체 구성부품, 시스템 관리 인터페이스, 네트워크 인터페이스를 가진 컴퓨터 기억장치
JP5689429B2 (ja) 認証装置、および、認証方法
US20130103934A1 (en) Computer system and method for taking over module therein
US10482278B2 (en) Remote provisioning and authenticated writes to secure storage devices
US20080215767A1 (en) Storage usage exclusive method
AU2005248713A1 (en) Isolated multiplexed multi-dimensional processing in a virtual processing space having virus, spyware, and hacker protection features
WO2014091535A1 (ja) 計算機システム及び記憶部の暗号化方法
US20230140209A1 (en) System and method for secure access to a distributed virtual firmware network drive
US20220398320A1 (en) Data sharing system and method for a multi-boot baseboard management controller (bmc)
US11354259B1 (en) Computer system configurations based on accessing data elements presented by baseboard management controllers
CN112912848B (zh) 一种丛集作业过程中的电源请求管理方法
US11863691B2 (en) Lockable device validation for information handling systems
US20230009355A1 (en) Method and Apparatus for Securely Backing Up and Restoring a Computer System
US20220413981A1 (en) Storage system
KR20060135757A (ko) 바이러스, 스파이웨어, 및 해커 보호 특성을 갖는 가상처리 공간에서의 분리된 멀티플렉싱 다차원 처리
RU2571724C2 (ru) Система и способ полнодискового шифрования с проверкой совместимости загрузочного диска
OR et al. Copyright 2009 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, California 95054, USA and FUJITSU LIMITED, 1-1, Kamikodanaka 4-chome, Nakahara-ku, Kawasaki-shi, Kanagawa-ken 211-8588, Japan. All rights reserved. Sun Microsystems, Inc. and Fujitsu Limited each own or control intellectual property rights relating to products and technology described in this document, and such products, technology and this document are protected by copyright laws, patents and other intellectual property laws and international treaties. The intellectual property rights of Sun Microsystems, Inc. and Fujitsu Limited in such products, technology and this

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 12890124

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 12890124

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: JP