Weitere ähnliche Inhalte Ähnlich wie Data Protection in Transit and at Rest (20) Mehr von Amazon Web Services (20) Data Protection in Transit and at Rest1. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved
Cloud Adoption Framework: Security Perspective
Eric Rose,
Senior AWS Security Consultant
Data Protection in Transit and At Rest
2. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved
What to expect from this session
• Options for protecting your data with encryption in AWS
• Securing access to data on Amazon S3 using policies
• Database platform security
• Tools available to automatically validate and audit your data
protection policies
3. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved
Transport security
4. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved
Authenticating AWS to you and protecting confidentiality using
TLS
• TLS can be used with every AWS API to protect data upload/download and
configuration change
• You can provide your own certificates to be presented to your customers
when using:
• Elastic Load Balancing
• Amazon CloudFront (content distribution network)
5. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved
AWS Certificate Manager (ACM)
• Provision trusted SSL/TLS certificates from AWS for use with AWS
resources:
– Elastic Load Balancing
– Amazon CloudFront distributions
– API Gateway
• AWS handles the muck
– Key pair and CSR generation
– Managed renewal and deployment
• Domain validation (DV) through email
• Available through AWS Management Console, AWS Command Line
Interface (AWS CLI), Cloudformation, Elastic Beanstalk or API
6. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved
ACM-provided certificates
• Domain names
– Single domain name: www.example.com
– Wildcard domain names: *.example.com
– Combination of wildcard and non-wildcard names
– Multiple domain names in the same certificate (up to 10)
• ACM-provided certificates are managed
– Private keys are generated, protected, and managed
– ACM-provided certificates cannot be used on Amazon EC2 instances or on-premises
servers
– Can be used with AWS services, such as Elastic Load Balancing and Amazon
CloudFront
• Algorithms
– RSA 2048 and SHA-256
Free
7. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved
Making TLS work better in your apps
• “signal to noise”
• A TLS library designed by AWS to help your developers implement
transport security with faster performance
• Avoids implementing rarely used TLS options and extensions; ~6,000 lines
of code
https://github.com/awslabs/s2n
8. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved
Data-at-rest security
9. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved
Plaintext
data
Hardware/
software
Encrypted
data
Encrypted
data in storage
Encrypted
data key
Symmetric
data key
Master keySymmetric
data key
? Key hierarchy
?
Data-at-rest encryption primer
10. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved
• Where are keys generated and stored?
• Hardware you own?
• Hardware the cloud provider owns?
• Where are keys used?
• Client software you control?
• Server software the cloud provider controls?
• Who can use the keys?
• Users and applications that have permissions?
• Cloud provider applications you give permissions?
• What assurances are there for proper security around keys?
“Key” questions to consider with any solution
11. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved
• Client-side encryption
• You encrypt your data before data submitted to service
• You supply encryption keys OR use keys in your AWS account
• Available clients:
• S3, EMR File System (EMRFS), DynamoDB, AWS Encryption SDK
• Server-side encryption
• AWS encrypts data on your behalf after data is received by service
• 19 integrated services including S3, Snowball, EBS, RDS, Amazon Redshift,
WorkSpaces, Amazon Kinesis Firehose, CloudTrail
Options for using encryption in AWS
12. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved
Your
applications
in your data
center
Your key
management
infrastructure in EC2
Your encryption
client application
Your key management
infrastructure Your application
in EC2
Your encrypted data in select AWS services
Client-side encryption in AWS
S3, EMRFS, DynamoDB, and AWS Encryption SDK
13. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved
AWS Key Management Service (AWS KMS)
• Managed service that simplifies creation, control, rotation, deletion, and
use of encryption keys in your applications
• Integrated with 19 AWS services for server-side encryption
• Integrated with AWS service clients/SDKs
• S3, EMRFS, DynamoDB, AWS Encryption SDK
• Integrated with CloudTrail to provide auditable logs of key usage for
regulatory and compliance activities
• Available in all commercial regions except China
14. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved
AWS KMS
Integrated with AWS Identity and Access Management (IAM) console
15. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved
KMS integration with AWS services
• Storage: EBS, S3, Snowball, ECS
• Database: All RDS engines, DMS
• Data analytics: Redshift, EMR, Kinesis Firehose
• Enterprise apps: WorkMail, WorkSpaces
• Developer tools: AWS CodeCommit, AWS CodePipeline
• Management: CloudTrail, CloudWatch Logs
• App svcs: Elastic Transcoder, Simple Email Service, CloudSearch
• AWS IoT
16. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved
How clients and AWS services typically integrate with KMS
• Two-tiered key hierarchy using envelope
encryption
• Unique data key encrypts customer data
• KMS master keys encrypt data keys
• Benefits
• Limits risk of compromised data key
• Better performance for encrypting large
data
• Easier to manage small number of
master keys than millions of data keys
• Centralized access and audit of key
activity
Customer master
keys
Data key 1
S3 object EBS volume Amazon
Redshift cluster
Data key 2 Data key 3 Data key 4
Custom
application
KMS
17. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved
• create-volume [--dry-run | --no-dry-run] [--size <value>] [--snapshot-id <value>]
--availability-zone <value> [--volume-type <value>] [--iops <value>]
[--encrypted | --no-encrypted] [--kms-key-id <value>] [--cli-input-json <value>] [-
-generate-cli-skeleton]
Console
AWS CLI/SDK
Interfaces to select KMS keys in AWS services
18. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved
You control how and when your KMS keys are used
• Sample permissions on a key:
• Can only be used for encryption and decryption by <these users and
roles> in <these accounts>
• Can be used by application A to encrypt data, but only used by
application B to decrypt data
• Can only be used to decrypt an EBS volume if the volume was attached
to an instance by an authorized user
• Can be managed only by this set of administrator users or roles
• Fully integrated with AWS policy definition language and Identity
and Access Management
19. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved
Rotating master keys in KMS
• What key rotation means:
• A new version of a master key is created, but mapped to the same
key ID (or alias)
• New encryption requests use the new version
• Previous versions of master keys are kept to perform decryption on
older ciphertexts
• No version management needed by you – the same key ID or alias
just works
AWS CLI
enable-key-rotation --key-id <value>
Console (Key Summary page)
20. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved
Auditability of KMS key usage through
AWS CloudTrail
"EventName":"DecryptResult", This KMS API action was called…
"EventTiime":"2017-08-18T18:13:07Z", ….at this time
"RequestParameters":
• "{"keyId":"2b42x363-1911-4e3a-8321-6b67329025ex”}”, …in reference to this key
“EncryptionContext":"volumeid-12345", …to protect this AWS resource
• "SourceIPAddress":" 203.0.113.113", …from this IP address
"UserIdentity":
• “{"arn":"arn:aws:iam:: 111122223333:user/User123“} …by this AWS user in this account
21. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved
Bring Your Own Key
• You control how master keys are generated
• You store the master copy of the keys
• You import the key into KMS and set an optional expiration time
in the future
• You can use imported keys with all KMS-integrated services
• You can delete and re-import the key at any time to control
when AWS can use it to encrypt/decrypt data on your behalf
• Works with standards-based key management infrastructure,
including SafeNet Gemalto and Thales e-Security
22. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved
Bring Your Own Key
Import encrypted key material
under the KMS CMK key ID; set
optional expiration period
Import
Your key material
protected in KMS
Download a public
wrapping key
KMS
Download
RSA public key
Create customer master key
(CMK) container
Empty CMK container
with unique key ID
KMS
Creates
Export your key material
encrypted under the public
wrapping key Your key
management
infrastructure
Export
Your 256-bit key
material encrypted
under KMS public key
23. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved
KMS APIs to build your own applications
• Example management API actions
• CreateKey, CreateAlias
• ImportKeyMaterial NEW
• DeleteImportedKeyMaterial NEW
• DisableKey
• EnableKeyRotation
• PutKeyPolicy
• ListKeys, DescribeKey
• Example data API actions
• Encrypt
• Decrypt
• ReEncrypt
• GenerateDataKey
32 API actions and growing
http://docs.aws.amazon.com/kms/latest/APIReference/Welcome.html
24. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved
KMS assurances
Why should you trust AWS with your keys?
• Your plaintext keys are never stored in non-volatile memory
• There are no tools in place to access your physical key material
• You control who has permissions to use your keys
• There is separation of duties between systems/operators that use
master keys in KMS and ones that use data keys
• You can find evidence of every KMS API call in CloudTrail
• Third-party evidence of these controls:
• Service Organization Control (SOC 1/2/3)
• PCI-DSS
• ISO 27017/27018
• Deploying FIPS 140-2 Level 2 with Level 3 physical security
25. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved
Pricing for KMS
• First 20,000 requests/month - FREE
• $0.03 per Additional 10,000 API requests (in commercial regions)
• $1 / key version / month
26. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved
Ubiquitous encryption
EBS
RDS
Amazon
Redshift
S3
Amazon
Glacier
Encrypted in transit
AWS CloudTrail
IAM
Fully auditable
Restricted access
and at rest
Fully managed
keys in KMS
Imported
keys
Your KMI
27. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved
Alternatives to KMS
In order to have different controls over the security of your keys
1. AWS CloudHSM
2. AWS Partner solutions
3. Do it yourself
28. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved
AWS CloudHSM
• A cloud-based hardware security module (HSM)
• With CloudHSM, customers can manage their own encryption keys
using FIPS 1402 Level 3 validated HSMs.
• CloudHSM offers the flexibility to integrate with applications using
industry-standard APIs
• PKCS#11
• Java Cryptography Extensions (JCE)
• Microsoft CryptoNG (CNG) libraries.
• CloudHSM is also standards-compliant and enables customers to
export all of their keys to most other commercially-available HSMs.
29. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved
AWS CloudHSM
• Available in eleven regions worldwide
– US East (Ohio)
– US East (N. Virginia)
– US West (N. California) NEW
– US West (Oregon)
– Asia Pacific(Mumbai) NEW
– Asia Pacific (Singapore) NEW
– Asia Pacific (Sydney) NEW
– Asia Pacific (Tokyo) NEW
– Canada (Central)
– EU (Frankfurt)
– EU (Ireland)
• Typical use cases
– Use with Amazon Redshift and RDS for Oracle
– Integrate with third-party software (Oracle, Microsoft SQL Server, Apache, SafeNet)
– Build your own custom applications
30. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved
Pricing for CloudHSM
• HSM provisioned in any region has a $5,000 one-time
charge
• Starting at $1.45/hour metered
– Hourly rate varies by region
•
31. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved
Comparing CloudHSM with KMS
CloudHSM
• Automates time-consuming administrative tasks
such as hardware provisioning, software
patching, high-availability, and backups.
• Enables customers to scale quickly by adding
and removing HSM capacity on-demand, with no
up-front costs.
• Uses a separate hardware and software
platform than the first generation product.
• Built as a native EC2 application allowing
customers to connect their Virtual Private Cloud
(VPC) to a cluster of AWS-managed HSMs that
are provisioned for single-customer-tenant use
and no longer requires an upfront payment and
cost of the service is significantly reduced.
KMS
• Highly available and durable key storage,
management, and auditable service
• Allows you to import keys
• Easily encrypt your data across AWS
services and within your own applications
based on policies you define
• Supported applications:
– Your custom software built with AWS SDKs/CLI
– AWS services (S3, EBS, RDS, Amazon Aurora,
Amazon Redshift, WorkMail, WorkSpaces,
CloudTrail, Elastic Transcoder)
32. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved
Partner solutions in AWS Marketplace
• Browse, test, and buy encryption and key management solutions
• Pay by the hour, monthly, or annually
• Software fees added to AWS bill
• Bring Your Own License
33. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved
S3 access control and
data resiliency
34. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved
Resource-based policy
• Ideal for cross-account
permissions, supports
all S3 actions
Bucket policies
S3 access logging
CloudTrail Integration
Logging
S3 access control and auditing
Resource-based policy
• Object-level ACL for very specific
object-level grants and access
policy management
• Bucket-level ACL for log delivery
ACLs
Control API calls to S3
• Programmatic access by
applications by using roles
• User-, group-, or role-based
access policy
IAM policies
35. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved
S3 edge protection policies
• {
• "Version": "2012-10-17",
• "Statement": [
• {
• "Sid": "Access-to-specific-VPCE-only",
• "Action": "s3:*",
• "Effect": "Deny",
• "Resource": [ "arn:aws:s3:::examplebucket",
• "arn:aws:s3:::examplebucket/*"],
• "Condition": {
• "StringNotEquals": {
• "aws:sourceVpce": "vpce-1a2b3c4d”
• }
• },
• "Principal": "*”
• } ]
• }
36. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved
S3 edge protection policies
• {
• "Version": "2012-10-17",
• "Statement": [
• {
• "Sid": "Access-to-specific-VPCE-only",
• "Action": "s3:*",
• "Effect": "Deny",
• "Resource": [ "arn:aws:s3:::examplebucket",
• "arn:aws:s3:::examplebucket/*"],
• "Condition": {
• "StringNotEquals": {
• "aws:sourceVpce": "vpce-1a2b3c4d”
• }
• },
• "Principal": "*”
• } ]
• }
37. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved
S3 Access Report
38. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved
S3 Default Encryption
39. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved
S3 Default Encryption
40. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved
Remote replicas managed by
separate AWS accounts
Secure
Distribute data to regional
customers
Lower latency
Store hundreds of miles
apart
Compliance
Amazon S3 cross-region replication
Automated, fast, and reliable asynchronous replication of data across AWS regions
*Now integrated with KMS!
41. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved
S3 Inventory Report
42. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved
Database security with
Amazon RDS
43. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved
Database security
Commercial solutions through Amazon RDS:
•
Amazon database solutions:
Amazon
DynamoDB
Amazon
Redshift
Amazon
Aurora
AWS Database
Migration Service
44. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved
AWS database services and encryption at rest
• Server-side encryption with KMS
• RDS MySQL
• RDS PostgreSQL
• RDS SQL Server
• RDS Oracle
• RDS MariaDB
• Amazon Aurora
• Amazon Redshift
• Server-side encryption with CloudHSM
Amazon Redshift
RDS Oracle TDE
Microsoft SQL TDE
Client-side encryption for
row/column/field-level protection
DynamoDB encryption client
Build your own with AWS SDK
third-party solutions
45. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved
Track, detect, and take action
Tracking
• AWS Config rules
• Amazon CloudWatch Events
• AWS CloudTrail
• Amazon Inspector
Coordination
• Amazon SWF
• AWS CodePipeline
Execution
• AWS Lambda
Securing
• MFA
• IAM policies
Track/log
• Amazon CloudWatch Logs
• Amazon DynamoDB
Alert
• Amazon SNS
…
46. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved
Summary
• You have options to implement data controls that meet your business needs
• Take advantage of managed services, and let us do the heavy lifting
• Protect your data but also track, detect, and take action on changes and events
47. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved© 2016, Amazon Web Services, Inc. or its Affiliates. All rights reserved
Thank you!