Distributed storage system and method of reusing symmetric keys for encrypted message transmissions
Abstract
Distributed storage system and method for transmitting storage-related messages between host computers in a distributed storage system uses a handshake operation of a first-type communication connection between a source data transport daemon of a source host computer and a target data transport daemon of a target host computer to derive a symmetric key at each of the source and target data transport daemons. The two symmetric keys are sent to a source data transport manager of the source host computer and to a target data transport manager of the target host computer. The source and target data transport managers then use the same symmetric keys to encrypt and decrypt storage-related messages that are transmitted from the source data transport manager to the target data transport manager through multiple second-type communication connections between the source and target data transport managers.
Claims
exact text as granted — not AI-modifiedWhat is claimed is:
1 . A computer-implemented method for transmitting storage-related messages between host computers in a distributed storage system, the method comprising:
executing a handshake operation of a first-type communication connection between a source host computer in the distributed storage system and a target host computer in the distributed storage system that results in a symmetric key at each of the source and target host computers; transmitting storage-related message from the source host computer to the target host computer through a second-type communication connection between the source and target host computers, wherein the storage-related message is encrypted and decrypted using the symmetric keys at the source and target host computers; and transmitting additional storage-related messages from the source host computer to the target host computer through additional second-type communication connections, wherein the additional storage-related messages are again encrypted and decrypted using the same symmetric keys at the source and target host computers.
2 . The method of claim 1 , wherein the first-type communication connection between the source and target host computers is a Transport Layer Security (TLS) connection.
3 . The method of claim 2 , wherein the second-type communication connection between the source and target host computers is a Transmission Control Protocol (TCP) connection or a remote direct memory access (RDMA) connection.
4 . The method of claim 1 , wherein the first-type communication connection is between source and target data transport daemons of the source and target host computers and the second-type communication connection is between source and target data transport managers of the source and target host computers, and wherein the source and target data transport daemons are running in a user space of their respective host computers and the source and target data transport managers are running in a kernel space of their respective host computers.
5 . The method of claim 1 , further comprising:
adding a replay count in a header of the message at the source host computer, wherein the replay count is equal to a replay count of a previous message sent from the source host computer to the target host computer plus a predefined value.
6 . The method of claim 5 , further comprising:
computing a media authentication code (MAC) at the source host computers based on at least the replay count of the message using the symmetric key of the source host computers and adding the MAC in the header of the message; and verifying the MAC in the message at the target host computer by comparing the MAC with a verification MAC that is computed based on at least the replay count of the message using the symmetric key of the target host computer.
7 . The method of claim 5 , further comprising:
when the message is received at the target host computer, using the replay count of the message and a previous replay count of a previous message received from the source host computer to determine whether to process the received message as a valid message, an invalid message or a duplicate message.
8 . The method of claim 1 , further comprising:
performing a rekey operation when a predefined period of time has lapsed or a predefined number of messages been transmitted from the source host computer to the target host computer since the symmetric keys were derived, the rekey operation including:
executing another handshake operation of the first-type communication connection between the source host computer in the distributed storage system and the target host computer in the distributed storage system that results in a new symmetric key at each of the source and target host computers;
wherein the new symmetric keys of the source and target host computers are used to encrypt and decrypt subsequent storage-related messages transmitted from the source host computer to the target host computer through new second-type communication connections between the source and target host computers.
9 . A non-transitory computer-readable storage medium containing program instructions for transmitting storage-related messages between host computers in a distributed storage system, wherein execution of the program instructions by one or more processors of a computer system causes the one or more processors to perform steps comprising:
executing a handshake operation of a first-type communication connection between a source host computer in the distributed storage system and a target host computer in the distributed storage system that results in a symmetric key at each of the source and target host computers; transmitting storage-related message from the source host computer to the target host computer through a second-type communication connection between the source and target host computers, wherein the storage-related message is encrypted and decrypted using the symmetric keys at the source and target host computers; and transmitting additional storage-related messages from the source host computer to the target host computer through additional second-type communication connections, wherein the additional storage-related messages are again encrypted and decrypted using the same symmetric keys at the source and target host computers.
10 . The computer-readable storage medium of claim 9 , wherein the first-type communication connection between the source and target host computers is a Transport Layer Security (TLS) connection.
11 . The computer-readable storage medium of claim 10 , wherein the second-type communication connection between the source and target host computers is a Transmission Control Protocol (TCP) connection or a remote direct memory access (RDMA) connection.
12 . The computer-readable storage medium of claim 9 , wherein the first-type communication connection is between source and target data transport daemons of the source and target host computers and the second-type communication connection is between source and target data transport managers of the source and target host computers, and wherein the source and target data transport daemons are running in a user space of their respective host computers and the source and target data transport managers are running in a kernel space of their respective host computers.
13 . The computer-readable storage medium of claim 9 , wherein the steps further comprise:
adding a replay count in a header of the message at the source host computer, wherein the replay count is equal to a replay count of a previous message sent from the source host computer to the target host computer plus a predefined value.
14 . The computer-readable storage medium of claim 13 , wherein the steps further comprise:
computing a media authentication code (MAC) at the source host computers based on at least the replay count of the message using the symmetric key of the source host computers and adding the MAC in the header of the message; and verifying the MAC in the message at the target host computer by comparing the MAC with a verification MAC that is computed based on at least the replay count of the message using the symmetric key of the target host computer.
15 . The computer-readable storage medium of claim 13 , wherein the steps further comprise:
when the message is received at the target host computer, using the replay count of the message and a previous replay count of a previous message received from the source host computer to determine whether to process the received message as a valid message, an invalid message or a duplicate message.
16 . The computer-readable storage medium of claim 9 , wherein the steps further comprise:
performing a rekey operation when a predefined period of time has lapsed or a predefined number of messages been transmitted from the source host computer to the target host computer since the symmetric keys were derived, the rekey operation including:
executing another handshake operation of the first-type communication connection between the source host computer in the distributed storage system and the target host computer in the distributed storage system that results in a new symmetric key at each of the source and target host computers;
wherein the new symmetric keys of the source and target host computers are used to encrypt and decrypt subsequent storage-related messages transmitted from the source host computer to the target host computer through new second-type communication connections between the source and target host computers.
17 . A distributed storage system comprising:
a source host computer; and a target host computer, wherein the source and target host computers are configured to execute a handshake operation of a first-type communication connection between the source and target host computers that results in a symmetric key at each of the source and target host computers, and wherein the source host computer is configured to encrypt storage-related messages transmitted through multiple second-type communications connection from the source host computer to the target host computer using the symmetric key of the source host computer, wherein the target host computer is configured to decrypt the storage-related messages transmitted through the multiple second-type communication connections from the source host computer to the target host computer using the symmetric key of the target host computer.
18 . The distributed storage system of claim 17 , wherein the first-type communication connection between the source and target host computers is a Transport Layer Security (TLS) connection.
19 . The distributed storage system of claim 17 , wherein the second-type communication connection between the source and target host computers is a Transmission Control Protocol (TCP) connection or a remote direct memory access (RDMA) connection.
20 . The distributed storage system of claim 17 , wherein the first-type communication connection is between source and target data transport daemons of the source and target host computers and the second-type communication connection is between source and target data transport managers of the source and target host computers, and wherein the source and target data transport daemons are running in a user space of their respective host computers and the source and target data transport managers are running in a kernel space of their respective host computers.Join the waitlist — get patent alerts
Track US2024048375A1 — get alerts on status changes and closely related new filings.
We store only your email — no account needed. See our privacy policy.