Chapter 15. Security and Privacy
Amazon manages keys for you, encrypting each object with a unique key and
encrypting that key itself with a master key that it regularly rotates. (A variant
permits you to provide your own key with each upload and access request, so
that the key is on Amazon computers only while b ei ng used for encryption or
decryption.) As a further safeguard, you can obtain access to an audit trail of
when your key was used and by whom. So as long as you trust Amazo n to manage
and apply your keys appropriately, this approach is highly secure.
Azure
Storage Service Encryption
provides si mil ar capabilities for the
Azure Blob service; the Google Cloud Datastore service has similar functionality.
The services differ somewhat in how they allow users to co ntrol the application of
server-side encryption. Amazon allows the user to require that all data uploaded
to a container be encrypted; however, the encryption request must still be made on
individual uploads, as indicated previously. (An attempt to upload data without
the encryption parameter then raises an error.) Azure allows the user to enable
encryption at the level of a storage account, a construct that we introduced
in section 3.3 on page 42; once enabled, all data uploaded to that account are
encrypted. Google Cloud Datastore always encrypts.
Client-side encryption
is useful when you want to ensure that the cloud
provider never has access to your unencrypted data. Amazon and Azure bo th
provide too ls that you can use to encrypt data before they are sent over the
wire. You might use these tools, for examp le, to create a secure backup of data
otherwise mai ntained in on-premises storage, particularly if regulatory requirements
prevent unencrypted data from leaving your premises. But note that you are then
responsible for preserving the keys (as you are with server-side encryption, if you
provide the keys): if you lose a key, the data that it encrypted are also l ost.
15.3.4 Complexities of Sensitive Data
If your work involves access to personal health data o r other sensitive information,
then you are likely subject to various rules and regulations that will affect whether
and how you can use cloud resources. For example, in the U.S., work with
personal
health information
(PHI) must comply with the provisions of the
Health
Insurance Portability and Accountability Act
(HIPAA) and in particular its
Security R ule
, which mandates administrative, physical, and technical safeguards
for electronic PHI. The processes by which a particular institution and application
are deemed to be HIPAA compliant are complex and beyond the scope of this
book. The important takeaway points are that (1) the major commercial cloud
vendors can al l satisfy HIPAA physical security standards, but (2) this does not
mean that you can just put HIPAA-covered data in the cloud and consider yourself
323