Security & governance

Encryption in transit

Encryption in transit is the protection of data while it travels across a network, so that anyone who intercepts the traffic cannot read or alter it. For storage, it covers requests and data moving between applications and the storage endpoint, between storage nodes, and between sites during replication.

How does encryption in transit work?

Almost all storage traffic is protected with Transport Layer Security (TLS). The client checks the server's certificate to confirm it is talking to the right endpoint, the two sides agree session keys, and everything after that is encrypted and integrity-protected. The S3 API runs over HTTPS, which is HTTP inside TLS. Some environments add mutual TLS, in which the client also presents a certificate, so that both ends are authenticated.

Which network paths need protecting?

The client connection is the obvious one. Several others carry the same data and are easier to overlook.

PathWhat travelsOften missed?
Application to storage endpointRequests, objects, credentialsRarely
Load balancer to storage nodesThe same, after TLS is terminatedYes
Node to node within a clusterData fragments, metadataSometimes
Site to site replicationFull copies of dataSometimes
Storage to key management serviceWrapped keys, key requestsRarely
Management and monitoringAdministrator sessions, logs, metricsYes

How does it relate to encryption at rest?

The two cover different moments. Encryption at rest protects stored data against loss of the media. Encryption in transit protects moving data against interception. Neither substitutes for the other, and data is in plaintext in memory at each end unless it was encrypted by the client beforehand. Security frameworks and regulations generally expect both, and audits ask for evidence of each.

What has to be managed?

Certificates are the operational burden. Each endpoint needs one that clients trust, issued by an internal or public certificate authority, and each expires. An expired certificate on a storage endpoint stops every application and backup job that uses it, so expiry dates need monitoring and renewal should be automated where possible. Protocol versions and cipher suites also need keeping current, with older TLS versions disabled. Finally, a policy should refuse unencrypted connections outright, which in S3 can be expressed as a bucket policy condition.

Frequently asked questions

Is HTTPS the same as encryption in transit?

HTTPS is one form of it, used for web and S3 traffic. Other protocols have their own TLS or equivalent options.

Is encryption needed on an internal network?

Yes in most security models. Internal networks are reachable by compromised systems, and zero trust approaches treat them as untrusted.

Does TLS hide which objects are requested?

The request and its contents are encrypted. An observer can still see which endpoint is contacted and how much data moves.