SlideShare une entreprise Scribd logo
1  sur  50
Jon Todd - @JonToddDotCom
Encryption Key Storage
with AWS KMS at Okta
December 2015
1 Background
• Okta
• Encryption
• Why use a key server?
2 KMS Evaluation 3 Implementation
What is Okta?
Okta is the foundation for secure connections
between people and technology.
One platform, many use cases
Centralized management of every
user, app, device
www.okta.com
IT
Enterprise-grade security built directly
into your cloud apps
developer.okta.com
Developers
More than 3000 customers
Education,
Non-ProfitFinanceTechnologyCloudHealth Services
Manufacturing
, Energy Media Consumer
Used in 185 countries globally
Our Stack
stackshare.io/okta/okta
Encryption
Encryption use cases
• Fundamental
• Confidentiality
• Authenticity
• Practical
• Compliance
• Least privilege principle
The problem with encryption
Managing these 
Alternative approaches to confidentiality
• Use cases for hashing instead of encryption
• Authentication
• Correlation
• Use cases without needing keys
• Homomorphic applications
• Ordering, range query (for example, CryptDB)
• Only require encrypt
• Use asymmetric crypto
• Trust No One (client encryption scenarios)
• File storage or password vault
Why use a key server?
Example application
Requirements:
1. Data in database is encrypted
at rest and in memory
2. Encryption keys reside only in
memory
3. Service has access to the
plaintext data
Client Service
+
Where do we get the keys from?
• At server startup
• Environment variable
• File
• At run time
• Over JMX + TLS
• Over SSH
• Key service
Key service
• Separation of duties
• Auditable
• Easy rotation of master key
• Data key in memory for very short period
• Centralized master key never leaves key service
+
Client Service
Master key
Encrypt
Key Service
DB
1 Background
• Requirements
• How KMS works
• KMS threat model
2 KMS Evaluation 3 Implementation
Encryption use cases
• Privacy of user data
• Protection of PII, PCI, PHI
• Credential storage
• SAML keys
• OAuth tokens
• Third-party application credentials
Requirements
• Strong encryption
 256 bit AES GCM
 Strong random-number generator
• Separation of duties
 By design
 Quorum management of servers
• Support auto-scale through secure bootstrapping
 Hypervisor bootstraps IAM keys
• Auditability
 Encryption context + CloudTrail
How KMS works
KMS Operations
• randomKey = generateDataKey(keyId, encryptionCtx)
• ciphertext = encrypt(plaintext, keyId, encryptionCtx)
• plaintext = decrypt(ciphertext, keyId, encryptionCtx)
Service
CMK42
generateDataKey(CMK42, context)
KMS
3
2
1
DK
Decrypt
+
Service
CMK42
kmsDecrypt(ciphertextDK, keyId, Context)
KMS
4
1
3
2
DK
Ciphertext Envelope
=
Encrypt
+
Service
CMK42
kmsEncrypt(keyId, Context)
KMS
3
4
2
1
DK Plaintext
Ciphertext Envelope
No plaintext!
Threat model: KMS with EC2
+
Client EC2 instance
Master key
Encrypt
KMS
DB
Data key
Getting IAM credentials for KMS
• Credentials granted via IAM Role
• Hypervisor provides a per-instance metadata service
• Security considerations
• Metadata service is accessible by all users
• Credentials aren’t channel bound
• Credentials are short lived
IAM credentials via metadata service
curl http://169.254.169.254/latest/meta-data/iam/security-credentials/MyApp
{
"Code" : "Success",
"LastUpdated" : "2015-08-20T21:17:41Z",
"Type" : "AWS-HMAC",
"AccessKeyId" : “SOME_ACCESS_ID",
"SecretAccessKey" : ”SOME_SECRET_ACCESS_KEY",
"Token" : “SOME_SIGNED_TOKEN",
"Expiration" : "2015-08-21T03:22:28Z"
}
IAM credential rotation
• Credentials expire in ~ 6 hours
• Credentials are rotated every ~ 1 hour
Current Time: 2015-08-20T22:14:52Z
LastUpdated: 2015-08-20T21:17:41Z
Expiration: 2015-08-21T03:22:28Z
Current Time: 2015-08-20T22:29:39Z
LastUpdated: 2015-08-20T22:18:48Z
Expiration: 2015-08-21T04:47:30Z
Threat model: KMS transport
+
Client EC2 instance
Master key
Encrypt
KMS
DB
Data key
Transport Security
• TLS for confidentiality and authentication of server
• “A” rating on Qualys SSL Labs
• Disallowed protocols SSL2 & SSL3
• Supported protocols TLS 1.0, 1.1, 1.2
• Forward secrecy required
• Verisign root CA
• IAM Signature V4 for authN and authZ of client
Threat model: KMS
+
Client EC2 instance
Master key
Encrypt
KMS
DB
Data key
KMS key hierarchy
• CMK – Customer master key
• HSA – Hardened security appliance
• EKT – Exported key token
• HBK – HSA backing key
• CDK – Customer data key
• CT – Customer token
Source: KMS Cryptographic Details
Threat model – final comparison
• AWS CloudHSM
• HSM at cost of managing
High Availability (HA)
• Low performance
• DIY
• Roll your own credential
management and rotation
• Separate operational team
• No access to hardware/TPM
Low Risk
Low Cost
High Cost
High Risk
DIY
KMS
Cloud HSM
1 Background
• Goals
• Failure mitigation
• Authorization & auditing
• Rollout & tuning
2 KMS Evaluation 3 Implementation
Implementation goals
• Multiregion support for disaster recovery (DR)
• Mitigate total KMS failure
• Avoid vendor lock-in
• Minimal performance impact
• Operational tools for key rotation
Failure mitigation
Multiregion encryption and decryption
• Encrypt & store tenant key
encrypted by each region key
• Decrypt talks to closest KMS region
• RSA public key used for encrypt only
• Private key provided to service only
in event of KMS outage
Service
KMS East KMS West
Region master keyRegion master key
Tenant master key
RSA Key
Region master key
DB
September 20th KMS increased error rate
Okta failed-over automatically
KMS requests by region
https://trust.okta.com
Authorization & auditing
Encryption context
• Features:
• Additional authenticated data (AAD) via AES GCM
• Logging – Understand why the key was accessed
• Authorization – Fine-grained access control to data
keys
• Okta’s implementation
• Type: <ServiceName>.<EntityName>
• Id: <EntityId>
• A good encryption context identifies or classifies
• Think carefully about mutability and storage of context
• Encryption context shouldn’t contain sensitive data
Granular decryption policy
{
"Effect":"Allow”,
"Principal":{"AWS":"arn:...:DirectoryAppRole"},
"Action":"kms:Decrypt",
"Condition":{
"StringEquals”:{
"kms:EncryptionContext:type":
”DirectoryService:SensitiveObject”
}
}
}
CloudTrail
Rollout and tuning
Rollout and TTL tuning
TuningGradual rollout
Performance
Region failovers
• ~ 0.001% failure rate without tuning HttpClient retries
• At retry value of 3, failure rate is negligible
SDK client tuning
kmsClientConfig = new ClientConfiguration()
.withSocketTimeout(3000) // 3 seconds
.withConnectionTimeout(3000) // 3 seconds
.withConnectionTTL(60000) // 1 minute
.withMaxErrorRetry(3);
client = new AWSKMSClient(kmsClientConfig);
Final thoughts
Implementation recommendations
• You may not need encryption or keys for
confidentiality
• Put thought into encryption context
• Reconcile CloudTrail logs with application
logs
• Tune the SDK for timeout and retries
• Consider an extended key hierarchy
Reference
• User-Based and Resource-Based Permissions –
http://docs.aws.amazon.com/IAM/latest/UserGuide/policies_permission
s.html#TypesPermissions
• AWS Key Management Service Cryptographic Details –
https://d0.awsstatic.com/whitepapers/KMS-Cryptographic-Details.pdf
• KMS Developer Guide –
http://docs.aws.amazon.com/kms/latest/developerguide/kms-dg.pdf
Okta for developers
Universal Directory
Single Sign-On
Provisioning
Adaptive Multi-factor Authentication
Social Authentication
Inbound Federation
AD and LDAP Integration
Thank You.
Find me on twitter
www.okta.com@JonToddDotCom
Learn more about Okta

Contenu connexe

Tendances

Creating Your Virtual Data Center: Amazon VPC Fundamentals and Connectivity O...
Creating Your Virtual Data Center: Amazon VPC Fundamentals and Connectivity O...Creating Your Virtual Data Center: Amazon VPC Fundamentals and Connectivity O...
Creating Your Virtual Data Center: Amazon VPC Fundamentals and Connectivity O...Amazon Web Services
 
What's (nearly) new | AWS Security Roadshow Dublin
What's (nearly) new | AWS Security Roadshow DublinWhat's (nearly) new | AWS Security Roadshow Dublin
What's (nearly) new | AWS Security Roadshow DublinAmazon Web Services
 
Microsoft Azure Security Overview
Microsoft Azure Security OverviewMicrosoft Azure Security Overview
Microsoft Azure Security OverviewAlert Logic
 
AWS re:Invent 2016: AWS Partners and Data Privacy (GPST303)
AWS re:Invent 2016: AWS Partners and Data Privacy (GPST303)AWS re:Invent 2016: AWS Partners and Data Privacy (GPST303)
AWS re:Invent 2016: AWS Partners and Data Privacy (GPST303)Amazon Web Services
 
AWS re:Invent 2016: Advanced Techniques for Managing Sensitive Data in the Cl...
AWS re:Invent 2016: Advanced Techniques for Managing Sensitive Data in the Cl...AWS re:Invent 2016: Advanced Techniques for Managing Sensitive Data in the Cl...
AWS re:Invent 2016: Advanced Techniques for Managing Sensitive Data in the Cl...Amazon Web Services
 
(SEC301) Strategies for Protecting Data Using Encryption in AWS
(SEC301) Strategies for Protecting Data Using Encryption in AWS(SEC301) Strategies for Protecting Data Using Encryption in AWS
(SEC301) Strategies for Protecting Data Using Encryption in AWSAmazon Web Services
 
Encryption and Key Management in AWS
Encryption and Key Management in AWSEncryption and Key Management in AWS
Encryption and Key Management in AWSAmazon Web Services
 
Announcements for Mobile Developers
Announcements for Mobile DevelopersAnnouncements for Mobile Developers
Announcements for Mobile DevelopersAmazon Web Services
 
Security Day What's (nearly) New
Security Day What's (nearly) NewSecurity Day What's (nearly) New
Security Day What's (nearly) NewAmazon Web Services
 
Compliance in the Cloud Using Security by Design
Compliance in the Cloud Using Security by DesignCompliance in the Cloud Using Security by Design
Compliance in the Cloud Using Security by DesignAmazon Web Services
 
Protecting your data in AWS
Protecting your data in AWS Protecting your data in AWS
Protecting your data in AWS Dinah Barrett
 
AWS June Webinar Series - Deep Dive: Protecting Your Data with AWS Encryption
AWS June Webinar Series - Deep Dive: Protecting Your Data with AWS EncryptionAWS June Webinar Series - Deep Dive: Protecting Your Data with AWS Encryption
AWS June Webinar Series - Deep Dive: Protecting Your Data with AWS EncryptionAmazon Web Services
 
Deploy a DoD Secure Cloud Computing Architecture Environment in AWS | AWS Pub...
Deploy a DoD Secure Cloud Computing Architecture Environment in AWS | AWS Pub...Deploy a DoD Secure Cloud Computing Architecture Environment in AWS | AWS Pub...
Deploy a DoD Secure Cloud Computing Architecture Environment in AWS | AWS Pub...Amazon Web Services
 
Data Protection in Transit and at Rest
Data Protection in Transit and at RestData Protection in Transit and at Rest
Data Protection in Transit and at RestAmazon Web Services
 
Encryption and key management in AWS (SEC304) | AWS re:Invent 2013
Encryption and key management in AWS (SEC304) | AWS re:Invent 2013Encryption and key management in AWS (SEC304) | AWS re:Invent 2013
Encryption and key management in AWS (SEC304) | AWS re:Invent 2013Amazon Web Services
 
Using AWS Key Management Service for Secure Workloads
Using AWS Key Management Service for Secure WorkloadsUsing AWS Key Management Service for Secure Workloads
Using AWS Key Management Service for Secure WorkloadsAmazon Web Services
 
Security on AWS, 2021 Edition Meetup
Security on AWS, 2021 Edition MeetupSecurity on AWS, 2021 Edition Meetup
Security on AWS, 2021 Edition MeetupCloudHesive
 

Tendances (20)

Creating Your Virtual Data Center: Amazon VPC Fundamentals and Connectivity O...
Creating Your Virtual Data Center: Amazon VPC Fundamentals and Connectivity O...Creating Your Virtual Data Center: Amazon VPC Fundamentals and Connectivity O...
Creating Your Virtual Data Center: Amazon VPC Fundamentals and Connectivity O...
 
What's (nearly) new | AWS Security Roadshow Dublin
What's (nearly) new | AWS Security Roadshow DublinWhat's (nearly) new | AWS Security Roadshow Dublin
What's (nearly) new | AWS Security Roadshow Dublin
 
Microsoft Azure Security Overview
Microsoft Azure Security OverviewMicrosoft Azure Security Overview
Microsoft Azure Security Overview
 
AWS re:Invent 2016: AWS Partners and Data Privacy (GPST303)
AWS re:Invent 2016: AWS Partners and Data Privacy (GPST303)AWS re:Invent 2016: AWS Partners and Data Privacy (GPST303)
AWS re:Invent 2016: AWS Partners and Data Privacy (GPST303)
 
AWS re:Invent 2016: Advanced Techniques for Managing Sensitive Data in the Cl...
AWS re:Invent 2016: Advanced Techniques for Managing Sensitive Data in the Cl...AWS re:Invent 2016: Advanced Techniques for Managing Sensitive Data in the Cl...
AWS re:Invent 2016: Advanced Techniques for Managing Sensitive Data in the Cl...
 
(SEC301) Strategies for Protecting Data Using Encryption in AWS
(SEC301) Strategies for Protecting Data Using Encryption in AWS(SEC301) Strategies for Protecting Data Using Encryption in AWS
(SEC301) Strategies for Protecting Data Using Encryption in AWS
 
Protecting Your Data in AWS
Protecting Your Data in AWSProtecting Your Data in AWS
Protecting Your Data in AWS
 
Encryption and Key Management in AWS
Encryption and Key Management in AWSEncryption and Key Management in AWS
Encryption and Key Management in AWS
 
Announcements for Mobile Developers
Announcements for Mobile DevelopersAnnouncements for Mobile Developers
Announcements for Mobile Developers
 
Security Day What's (nearly) New
Security Day What's (nearly) NewSecurity Day What's (nearly) New
Security Day What's (nearly) New
 
Compliance in the Cloud Using Security by Design
Compliance in the Cloud Using Security by DesignCompliance in the Cloud Using Security by Design
Compliance in the Cloud Using Security by Design
 
Protecting your data in AWS
Protecting your data in AWS Protecting your data in AWS
Protecting your data in AWS
 
AWS Key Management
AWS Key ManagementAWS Key Management
AWS Key Management
 
AWS June Webinar Series - Deep Dive: Protecting Your Data with AWS Encryption
AWS June Webinar Series - Deep Dive: Protecting Your Data with AWS EncryptionAWS June Webinar Series - Deep Dive: Protecting Your Data with AWS Encryption
AWS June Webinar Series - Deep Dive: Protecting Your Data with AWS Encryption
 
Deploy a DoD Secure Cloud Computing Architecture Environment in AWS | AWS Pub...
Deploy a DoD Secure Cloud Computing Architecture Environment in AWS | AWS Pub...Deploy a DoD Secure Cloud Computing Architecture Environment in AWS | AWS Pub...
Deploy a DoD Secure Cloud Computing Architecture Environment in AWS | AWS Pub...
 
AWS Security
AWS SecurityAWS Security
AWS Security
 
Data Protection in Transit and at Rest
Data Protection in Transit and at RestData Protection in Transit and at Rest
Data Protection in Transit and at Rest
 
Encryption and key management in AWS (SEC304) | AWS re:Invent 2013
Encryption and key management in AWS (SEC304) | AWS re:Invent 2013Encryption and key management in AWS (SEC304) | AWS re:Invent 2013
Encryption and key management in AWS (SEC304) | AWS re:Invent 2013
 
Using AWS Key Management Service for Secure Workloads
Using AWS Key Management Service for Secure WorkloadsUsing AWS Key Management Service for Secure Workloads
Using AWS Key Management Service for Secure Workloads
 
Security on AWS, 2021 Edition Meetup
Security on AWS, 2021 Edition MeetupSecurity on AWS, 2021 Edition Meetup
Security on AWS, 2021 Edition Meetup
 

En vedette

Avoiding the Hidden Costs of Active Directory Federation Services (AD FS)
Avoiding the Hidden Costs of Active Directory Federation Services (AD FS)Avoiding the Hidden Costs of Active Directory Federation Services (AD FS)
Avoiding the Hidden Costs of Active Directory Federation Services (AD FS)Okta-Inc
 
Okta Directory Integration for Microsoft Office365 - from Atidan
Okta Directory Integration for Microsoft Office365 - from AtidanOkta Directory Integration for Microsoft Office365 - from Atidan
Okta Directory Integration for Microsoft Office365 - from AtidanDavid J Rosenthal
 
Azure API Apps
Azure API AppsAzure API Apps
Azure API AppsBizTalk360
 
Kirk_Herrick_Resume_2015
Kirk_Herrick_Resume_2015Kirk_Herrick_Resume_2015
Kirk_Herrick_Resume_2015Kirk Herrick
 
3 testuak zer daukate amankomunean
3 testuak zer daukate amankomunean3 testuak zer daukate amankomunean
3 testuak zer daukate amankomuneanOstadarrasutan
 
2011_SAME_Omaha_Post_FT_Carson_LEED_Construction_Program
2011_SAME_Omaha_Post_FT_Carson_LEED_Construction_Program2011_SAME_Omaha_Post_FT_Carson_LEED_Construction_Program
2011_SAME_Omaha_Post_FT_Carson_LEED_Construction_ProgramKevin Lovell, PMP
 
Tunnel_and_Reservoir_Plan_Great_Lakes_Infrastructure_Forum
Tunnel_and_Reservoir_Plan_Great_Lakes_Infrastructure_ForumTunnel_and_Reservoir_Plan_Great_Lakes_Infrastructure_Forum
Tunnel_and_Reservoir_Plan_Great_Lakes_Infrastructure_ForumKevin Lovell, PMP
 
EPAM_Digital_Assurance_Accelerator
EPAM_Digital_Assurance_AcceleratorEPAM_Digital_Assurance_Accelerator
EPAM_Digital_Assurance_AcceleratorPeter Kartashov
 
High Endurance Last Level Hybrid Cache Design
High Endurance Last Level Hybrid Cache DesignHigh Endurance Last Level Hybrid Cache Design
High Endurance Last Level Hybrid Cache Designkeerthi thallam
 
INFOGRAPHIC: EU Referendum – What do UK business leaders feel about the EU?
INFOGRAPHIC: EU Referendum – What do UK business leaders feel about the EU?INFOGRAPHIC: EU Referendum – What do UK business leaders feel about the EU?
INFOGRAPHIC: EU Referendum – What do UK business leaders feel about the EU?PriceBailey
 
LTC Lovell's Brief to the SAME Philadelphia Post
LTC Lovell's Brief to the SAME Philadelphia PostLTC Lovell's Brief to the SAME Philadelphia Post
LTC Lovell's Brief to the SAME Philadelphia PostKevin Lovell, PMP
 
Derechos de autor. derecho...
Derechos de autor. derecho...Derechos de autor. derecho...
Derechos de autor. derecho...LDRD01
 

En vedette (20)

Avoiding the Hidden Costs of Active Directory Federation Services (AD FS)
Avoiding the Hidden Costs of Active Directory Federation Services (AD FS)Avoiding the Hidden Costs of Active Directory Federation Services (AD FS)
Avoiding the Hidden Costs of Active Directory Federation Services (AD FS)
 
Okta Directory Integration for Microsoft Office365 - from Atidan
Okta Directory Integration for Microsoft Office365 - from AtidanOkta Directory Integration for Microsoft Office365 - from Atidan
Okta Directory Integration for Microsoft Office365 - from Atidan
 
Azure API Apps
Azure API AppsAzure API Apps
Azure API Apps
 
Best cases time
Best cases timeBest cases time
Best cases time
 
Sanchaita Pal
Sanchaita PalSanchaita Pal
Sanchaita Pal
 
Kirk_Herrick_Resume_2015
Kirk_Herrick_Resume_2015Kirk_Herrick_Resume_2015
Kirk_Herrick_Resume_2015
 
Format_fotocursussen
Format_fotocursussenFormat_fotocursussen
Format_fotocursussen
 
3 testuak zer daukate amankomunean
3 testuak zer daukate amankomunean3 testuak zer daukate amankomunean
3 testuak zer daukate amankomunean
 
2011_SAME_Omaha_Post_FT_Carson_LEED_Construction_Program
2011_SAME_Omaha_Post_FT_Carson_LEED_Construction_Program2011_SAME_Omaha_Post_FT_Carson_LEED_Construction_Program
2011_SAME_Omaha_Post_FT_Carson_LEED_Construction_Program
 
GERRY MC AUTOBODY
GERRY MC AUTOBODYGERRY MC AUTOBODY
GERRY MC AUTOBODY
 
Tunnel_and_Reservoir_Plan_Great_Lakes_Infrastructure_Forum
Tunnel_and_Reservoir_Plan_Great_Lakes_Infrastructure_ForumTunnel_and_Reservoir_Plan_Great_Lakes_Infrastructure_Forum
Tunnel_and_Reservoir_Plan_Great_Lakes_Infrastructure_Forum
 
SM PDF.com
SM PDF.comSM PDF.com
SM PDF.com
 
United National Bank
United National BankUnited National Bank
United National Bank
 
EPAM_Digital_Assurance_Accelerator
EPAM_Digital_Assurance_AcceleratorEPAM_Digital_Assurance_Accelerator
EPAM_Digital_Assurance_Accelerator
 
High Endurance Last Level Hybrid Cache Design
High Endurance Last Level Hybrid Cache DesignHigh Endurance Last Level Hybrid Cache Design
High Endurance Last Level Hybrid Cache Design
 
INFOGRAPHIC: EU Referendum – What do UK business leaders feel about the EU?
INFOGRAPHIC: EU Referendum – What do UK business leaders feel about the EU?INFOGRAPHIC: EU Referendum – What do UK business leaders feel about the EU?
INFOGRAPHIC: EU Referendum – What do UK business leaders feel about the EU?
 
Sanjay_Shah
Sanjay_ShahSanjay_Shah
Sanjay_Shah
 
LTC Lovell's Brief to the SAME Philadelphia Post
LTC Lovell's Brief to the SAME Philadelphia PostLTC Lovell's Brief to the SAME Philadelphia Post
LTC Lovell's Brief to the SAME Philadelphia Post
 
Sekuentzia Didaktikoa
Sekuentzia DidaktikoaSekuentzia Didaktikoa
Sekuentzia Didaktikoa
 
Derechos de autor. derecho...
Derechos de autor. derecho...Derechos de autor. derecho...
Derechos de autor. derecho...
 

Similaire à KMS at Okta - Intermediate Level

(SEC401) Encryption Key Storage with AWS KMS at Okta
(SEC401) Encryption Key Storage with AWS KMS at Okta(SEC401) Encryption Key Storage with AWS KMS at Okta
(SEC401) Encryption Key Storage with AWS KMS at OktaAmazon Web Services
 
Protecting Your Data with Encryption on AWS
Protecting Your Data with Encryption on AWSProtecting Your Data with Encryption on AWS
Protecting Your Data with Encryption on AWSAmazon Web Services
 
AWS Security Best Practices (March 2017)
AWS Security Best Practices (March 2017)AWS Security Best Practices (March 2017)
AWS Security Best Practices (March 2017)Julien SIMON
 
Security best practices on AWS - Pop-up Loft TLV 2017
Security best practices on AWS - Pop-up Loft TLV 2017Security best practices on AWS - Pop-up Loft TLV 2017
Security best practices on AWS - Pop-up Loft TLV 2017Amazon Web Services
 
Managing your secrets in a cloud environment
Managing your secrets in a cloud environmentManaging your secrets in a cloud environment
Managing your secrets in a cloud environmentTaswar Bhatti
 
Using encryption with_aws
Using encryption with_awsUsing encryption with_aws
Using encryption with_awssaifam
 
Secrets management with EC2 Systems Manager Parameter Store
Secrets management with EC2 Systems Manager Parameter StoreSecrets management with EC2 Systems Manager Parameter Store
Secrets management with EC2 Systems Manager Parameter StoreAlex Mattson
 
AWS re:Invent 2016: Get the Most from AWS KMS: Architecting Applications for ...
AWS re:Invent 2016: Get the Most from AWS KMS: Architecting Applications for ...AWS re:Invent 2016: Get the Most from AWS KMS: Architecting Applications for ...
AWS re:Invent 2016: Get the Most from AWS KMS: Architecting Applications for ...Amazon Web Services
 
Protecting your data in aws - Toronto
Protecting your data in aws - TorontoProtecting your data in aws - Toronto
Protecting your data in aws - TorontoAmazon Web Services
 
AWS June Webinar Series - Deep Dive: Protecting Your Data with AWS Encryption
AWS June Webinar Series - Deep Dive: Protecting Your Data with AWS EncryptionAWS June Webinar Series - Deep Dive: Protecting Your Data with AWS Encryption
AWS June Webinar Series - Deep Dive: Protecting Your Data with AWS EncryptionAmazon Web Services
 
Introduction to AWS KMS
Introduction to AWS KMSIntroduction to AWS KMS
Introduction to AWS KMSAkesh Patil
 
All you need to know about transport layer security
All you need to know about transport layer securityAll you need to know about transport layer security
All you need to know about transport layer securityMaarten Smeets
 
Alfresco DevCon 2019: Encryption at-rest and in-transit
Alfresco DevCon 2019: Encryption at-rest and in-transitAlfresco DevCon 2019: Encryption at-rest and in-transit
Alfresco DevCon 2019: Encryption at-rest and in-transitToni de la Fuente
 

Similaire à KMS at Okta - Intermediate Level (20)

(SEC401) Encryption Key Storage with AWS KMS at Okta
(SEC401) Encryption Key Storage with AWS KMS at Okta(SEC401) Encryption Key Storage with AWS KMS at Okta
(SEC401) Encryption Key Storage with AWS KMS at Okta
 
Aws kms in 10 minutes
Aws kms in 10 minutesAws kms in 10 minutes
Aws kms in 10 minutes
 
Protecting Your Data with Encryption on AWS
Protecting Your Data with Encryption on AWSProtecting Your Data with Encryption on AWS
Protecting Your Data with Encryption on AWS
 
Protecting Your Data in AWS
Protecting Your Data in AWSProtecting Your Data in AWS
Protecting Your Data in AWS
 
Introduction of AWS KMS
Introduction of AWS KMSIntroduction of AWS KMS
Introduction of AWS KMS
 
AWS Security Best Practices (March 2017)
AWS Security Best Practices (March 2017)AWS Security Best Practices (March 2017)
AWS Security Best Practices (March 2017)
 
Security best practices on AWS - Pop-up Loft TLV 2017
Security best practices on AWS - Pop-up Loft TLV 2017Security best practices on AWS - Pop-up Loft TLV 2017
Security best practices on AWS - Pop-up Loft TLV 2017
 
Protecting Your Data in AWS
Protecting Your Data in AWSProtecting Your Data in AWS
Protecting Your Data in AWS
 
Managing your secrets in a cloud environment
Managing your secrets in a cloud environmentManaging your secrets in a cloud environment
Managing your secrets in a cloud environment
 
Using encryption with_aws
Using encryption with_awsUsing encryption with_aws
Using encryption with_aws
 
Secrets management with EC2 Systems Manager Parameter Store
Secrets management with EC2 Systems Manager Parameter StoreSecrets management with EC2 Systems Manager Parameter Store
Secrets management with EC2 Systems Manager Parameter Store
 
Protecting Your Data in AWS
Protecting Your Data in AWSProtecting Your Data in AWS
Protecting Your Data in AWS
 
AWS re:Invent 2016: Get the Most from AWS KMS: Architecting Applications for ...
AWS re:Invent 2016: Get the Most from AWS KMS: Architecting Applications for ...AWS re:Invent 2016: Get the Most from AWS KMS: Architecting Applications for ...
AWS re:Invent 2016: Get the Most from AWS KMS: Architecting Applications for ...
 
Protecting Your Data in AWS
 Protecting Your Data in AWS Protecting Your Data in AWS
Protecting Your Data in AWS
 
Protecting your data in aws - Toronto
Protecting your data in aws - TorontoProtecting your data in aws - Toronto
Protecting your data in aws - Toronto
 
protecting your data in aws
protecting your data in aws protecting your data in aws
protecting your data in aws
 
AWS June Webinar Series - Deep Dive: Protecting Your Data with AWS Encryption
AWS June Webinar Series - Deep Dive: Protecting Your Data with AWS EncryptionAWS June Webinar Series - Deep Dive: Protecting Your Data with AWS Encryption
AWS June Webinar Series - Deep Dive: Protecting Your Data with AWS Encryption
 
Introduction to AWS KMS
Introduction to AWS KMSIntroduction to AWS KMS
Introduction to AWS KMS
 
All you need to know about transport layer security
All you need to know about transport layer securityAll you need to know about transport layer security
All you need to know about transport layer security
 
Alfresco DevCon 2019: Encryption at-rest and in-transit
Alfresco DevCon 2019: Encryption at-rest and in-transitAlfresco DevCon 2019: Encryption at-rest and in-transit
Alfresco DevCon 2019: Encryption at-rest and in-transit
 

Dernier

Low Rate Young Call Girls in Sector 63 Mamura Noida ✔️☆9289244007✔️☆ Female E...
Low Rate Young Call Girls in Sector 63 Mamura Noida ✔️☆9289244007✔️☆ Female E...Low Rate Young Call Girls in Sector 63 Mamura Noida ✔️☆9289244007✔️☆ Female E...
Low Rate Young Call Girls in Sector 63 Mamura Noida ✔️☆9289244007✔️☆ Female E...SofiyaSharma5
 
Call Girls In Sukhdev Vihar Delhi 💯Call Us 🔝8264348440🔝
Call Girls In Sukhdev Vihar Delhi 💯Call Us 🔝8264348440🔝Call Girls In Sukhdev Vihar Delhi 💯Call Us 🔝8264348440🔝
Call Girls In Sukhdev Vihar Delhi 💯Call Us 🔝8264348440🔝soniya singh
 
✂️ 👅 Independent Andheri Escorts With Room Vashi Call Girls 💃 9004004663
✂️ 👅 Independent Andheri Escorts With Room Vashi Call Girls 💃 9004004663✂️ 👅 Independent Andheri Escorts With Room Vashi Call Girls 💃 9004004663
✂️ 👅 Independent Andheri Escorts With Room Vashi Call Girls 💃 9004004663Call Girls Mumbai
 
Call Girls Service Chandigarh Lucky ❤️ 7710465962 Independent Call Girls In C...
Call Girls Service Chandigarh Lucky ❤️ 7710465962 Independent Call Girls In C...Call Girls Service Chandigarh Lucky ❤️ 7710465962 Independent Call Girls In C...
Call Girls Service Chandigarh Lucky ❤️ 7710465962 Independent Call Girls In C...Sheetaleventcompany
 
Call Girls In Defence Colony Delhi 💯Call Us 🔝8264348440🔝
Call Girls In Defence Colony Delhi 💯Call Us 🔝8264348440🔝Call Girls In Defence Colony Delhi 💯Call Us 🔝8264348440🔝
Call Girls In Defence Colony Delhi 💯Call Us 🔝8264348440🔝soniya singh
 
Call Girls In Model Towh Delhi 💯Call Us 🔝8264348440🔝
Call Girls In Model Towh Delhi 💯Call Us 🔝8264348440🔝Call Girls In Model Towh Delhi 💯Call Us 🔝8264348440🔝
Call Girls In Model Towh Delhi 💯Call Us 🔝8264348440🔝soniya singh
 
𓀤Call On 7877925207 𓀤 Ahmedguda Call Girls Hot Model With Sexy Bhabi Ready Fo...
𓀤Call On 7877925207 𓀤 Ahmedguda Call Girls Hot Model With Sexy Bhabi Ready Fo...𓀤Call On 7877925207 𓀤 Ahmedguda Call Girls Hot Model With Sexy Bhabi Ready Fo...
𓀤Call On 7877925207 𓀤 Ahmedguda Call Girls Hot Model With Sexy Bhabi Ready Fo...Neha Pandey
 
₹5.5k {Cash Payment}New Friends Colony Call Girls In [Delhi NIHARIKA] 🔝|97111...
₹5.5k {Cash Payment}New Friends Colony Call Girls In [Delhi NIHARIKA] 🔝|97111...₹5.5k {Cash Payment}New Friends Colony Call Girls In [Delhi NIHARIKA] 🔝|97111...
₹5.5k {Cash Payment}New Friends Colony Call Girls In [Delhi NIHARIKA] 🔝|97111...Diya Sharma
 
Hire↠Young Call Girls in Tilak nagar (Delhi) ☎️ 9205541914 ☎️ Independent Esc...
Hire↠Young Call Girls in Tilak nagar (Delhi) ☎️ 9205541914 ☎️ Independent Esc...Hire↠Young Call Girls in Tilak nagar (Delhi) ☎️ 9205541914 ☎️ Independent Esc...
Hire↠Young Call Girls in Tilak nagar (Delhi) ☎️ 9205541914 ☎️ Independent Esc...Delhi Call girls
 
INDIVIDUAL ASSIGNMENT #3 CBG, PRESENTATION.
INDIVIDUAL ASSIGNMENT #3 CBG, PRESENTATION.INDIVIDUAL ASSIGNMENT #3 CBG, PRESENTATION.
INDIVIDUAL ASSIGNMENT #3 CBG, PRESENTATION.CarlotaBedoya1
 
Best VIP Call Girls Noida Sector 75 Call Me: 8448380779
Best VIP Call Girls Noida Sector 75 Call Me: 8448380779Best VIP Call Girls Noida Sector 75 Call Me: 8448380779
Best VIP Call Girls Noida Sector 75 Call Me: 8448380779Delhi Call girls
 
Hot Service (+9316020077 ) Goa Call Girls Real Photos and Genuine Service
Hot Service (+9316020077 ) Goa  Call Girls Real Photos and Genuine ServiceHot Service (+9316020077 ) Goa  Call Girls Real Photos and Genuine Service
Hot Service (+9316020077 ) Goa Call Girls Real Photos and Genuine Servicesexy call girls service in goa
 
Call Now ☎ 8264348440 !! Call Girls in Green Park Escort Service Delhi N.C.R.
Call Now ☎ 8264348440 !! Call Girls in Green Park Escort Service Delhi N.C.R.Call Now ☎ 8264348440 !! Call Girls in Green Park Escort Service Delhi N.C.R.
Call Now ☎ 8264348440 !! Call Girls in Green Park Escort Service Delhi N.C.R.soniya singh
 
Delhi Call Girls Rohini 9711199171 ☎✔👌✔ Whatsapp Hard And Sexy Vip Call
Delhi Call Girls Rohini 9711199171 ☎✔👌✔ Whatsapp Hard And Sexy Vip CallDelhi Call Girls Rohini 9711199171 ☎✔👌✔ Whatsapp Hard And Sexy Vip Call
Delhi Call Girls Rohini 9711199171 ☎✔👌✔ Whatsapp Hard And Sexy Vip Callshivangimorya083
 
WhatsApp 📞 8448380779 ✅Call Girls In Mamura Sector 66 ( Noida)
WhatsApp 📞 8448380779 ✅Call Girls In Mamura Sector 66 ( Noida)WhatsApp 📞 8448380779 ✅Call Girls In Mamura Sector 66 ( Noida)
WhatsApp 📞 8448380779 ✅Call Girls In Mamura Sector 66 ( Noida)Delhi Call girls
 
CALL ON ➥8923113531 🔝Call Girls Lucknow Lucknow best sexual service Online
CALL ON ➥8923113531 🔝Call Girls Lucknow Lucknow best sexual service OnlineCALL ON ➥8923113531 🔝Call Girls Lucknow Lucknow best sexual service Online
CALL ON ➥8923113531 🔝Call Girls Lucknow Lucknow best sexual service Onlineanilsa9823
 

Dernier (20)

Low Rate Young Call Girls in Sector 63 Mamura Noida ✔️☆9289244007✔️☆ Female E...
Low Rate Young Call Girls in Sector 63 Mamura Noida ✔️☆9289244007✔️☆ Female E...Low Rate Young Call Girls in Sector 63 Mamura Noida ✔️☆9289244007✔️☆ Female E...
Low Rate Young Call Girls in Sector 63 Mamura Noida ✔️☆9289244007✔️☆ Female E...
 
Call Girls In Sukhdev Vihar Delhi 💯Call Us 🔝8264348440🔝
Call Girls In Sukhdev Vihar Delhi 💯Call Us 🔝8264348440🔝Call Girls In Sukhdev Vihar Delhi 💯Call Us 🔝8264348440🔝
Call Girls In Sukhdev Vihar Delhi 💯Call Us 🔝8264348440🔝
 
✂️ 👅 Independent Andheri Escorts With Room Vashi Call Girls 💃 9004004663
✂️ 👅 Independent Andheri Escorts With Room Vashi Call Girls 💃 9004004663✂️ 👅 Independent Andheri Escorts With Room Vashi Call Girls 💃 9004004663
✂️ 👅 Independent Andheri Escorts With Room Vashi Call Girls 💃 9004004663
 
Call Girls Service Chandigarh Lucky ❤️ 7710465962 Independent Call Girls In C...
Call Girls Service Chandigarh Lucky ❤️ 7710465962 Independent Call Girls In C...Call Girls Service Chandigarh Lucky ❤️ 7710465962 Independent Call Girls In C...
Call Girls Service Chandigarh Lucky ❤️ 7710465962 Independent Call Girls In C...
 
Call Girls In Defence Colony Delhi 💯Call Us 🔝8264348440🔝
Call Girls In Defence Colony Delhi 💯Call Us 🔝8264348440🔝Call Girls In Defence Colony Delhi 💯Call Us 🔝8264348440🔝
Call Girls In Defence Colony Delhi 💯Call Us 🔝8264348440🔝
 
Call Girls In Model Towh Delhi 💯Call Us 🔝8264348440🔝
Call Girls In Model Towh Delhi 💯Call Us 🔝8264348440🔝Call Girls In Model Towh Delhi 💯Call Us 🔝8264348440🔝
Call Girls In Model Towh Delhi 💯Call Us 🔝8264348440🔝
 
𓀤Call On 7877925207 𓀤 Ahmedguda Call Girls Hot Model With Sexy Bhabi Ready Fo...
𓀤Call On 7877925207 𓀤 Ahmedguda Call Girls Hot Model With Sexy Bhabi Ready Fo...𓀤Call On 7877925207 𓀤 Ahmedguda Call Girls Hot Model With Sexy Bhabi Ready Fo...
𓀤Call On 7877925207 𓀤 Ahmedguda Call Girls Hot Model With Sexy Bhabi Ready Fo...
 
₹5.5k {Cash Payment}New Friends Colony Call Girls In [Delhi NIHARIKA] 🔝|97111...
₹5.5k {Cash Payment}New Friends Colony Call Girls In [Delhi NIHARIKA] 🔝|97111...₹5.5k {Cash Payment}New Friends Colony Call Girls In [Delhi NIHARIKA] 🔝|97111...
₹5.5k {Cash Payment}New Friends Colony Call Girls In [Delhi NIHARIKA] 🔝|97111...
 
(INDIRA) Call Girl Pune Call Now 8250077686 Pune Escorts 24x7
(INDIRA) Call Girl Pune Call Now 8250077686 Pune Escorts 24x7(INDIRA) Call Girl Pune Call Now 8250077686 Pune Escorts 24x7
(INDIRA) Call Girl Pune Call Now 8250077686 Pune Escorts 24x7
 
Hire↠Young Call Girls in Tilak nagar (Delhi) ☎️ 9205541914 ☎️ Independent Esc...
Hire↠Young Call Girls in Tilak nagar (Delhi) ☎️ 9205541914 ☎️ Independent Esc...Hire↠Young Call Girls in Tilak nagar (Delhi) ☎️ 9205541914 ☎️ Independent Esc...
Hire↠Young Call Girls in Tilak nagar (Delhi) ☎️ 9205541914 ☎️ Independent Esc...
 
INDIVIDUAL ASSIGNMENT #3 CBG, PRESENTATION.
INDIVIDUAL ASSIGNMENT #3 CBG, PRESENTATION.INDIVIDUAL ASSIGNMENT #3 CBG, PRESENTATION.
INDIVIDUAL ASSIGNMENT #3 CBG, PRESENTATION.
 
Best VIP Call Girls Noida Sector 75 Call Me: 8448380779
Best VIP Call Girls Noida Sector 75 Call Me: 8448380779Best VIP Call Girls Noida Sector 75 Call Me: 8448380779
Best VIP Call Girls Noida Sector 75 Call Me: 8448380779
 
Dwarka Sector 26 Call Girls | Delhi | 9999965857 🫦 Vanshika Verma More Our Se...
Dwarka Sector 26 Call Girls | Delhi | 9999965857 🫦 Vanshika Verma More Our Se...Dwarka Sector 26 Call Girls | Delhi | 9999965857 🫦 Vanshika Verma More Our Se...
Dwarka Sector 26 Call Girls | Delhi | 9999965857 🫦 Vanshika Verma More Our Se...
 
Rohini Sector 6 Call Girls Delhi 9999965857 @Sabina Saikh No Advance
Rohini Sector 6 Call Girls Delhi 9999965857 @Sabina Saikh No AdvanceRohini Sector 6 Call Girls Delhi 9999965857 @Sabina Saikh No Advance
Rohini Sector 6 Call Girls Delhi 9999965857 @Sabina Saikh No Advance
 
Hot Service (+9316020077 ) Goa Call Girls Real Photos and Genuine Service
Hot Service (+9316020077 ) Goa  Call Girls Real Photos and Genuine ServiceHot Service (+9316020077 ) Goa  Call Girls Real Photos and Genuine Service
Hot Service (+9316020077 ) Goa Call Girls Real Photos and Genuine Service
 
Call Now ☎ 8264348440 !! Call Girls in Green Park Escort Service Delhi N.C.R.
Call Now ☎ 8264348440 !! Call Girls in Green Park Escort Service Delhi N.C.R.Call Now ☎ 8264348440 !! Call Girls in Green Park Escort Service Delhi N.C.R.
Call Now ☎ 8264348440 !! Call Girls in Green Park Escort Service Delhi N.C.R.
 
Delhi Call Girls Rohini 9711199171 ☎✔👌✔ Whatsapp Hard And Sexy Vip Call
Delhi Call Girls Rohini 9711199171 ☎✔👌✔ Whatsapp Hard And Sexy Vip CallDelhi Call Girls Rohini 9711199171 ☎✔👌✔ Whatsapp Hard And Sexy Vip Call
Delhi Call Girls Rohini 9711199171 ☎✔👌✔ Whatsapp Hard And Sexy Vip Call
 
WhatsApp 📞 8448380779 ✅Call Girls In Mamura Sector 66 ( Noida)
WhatsApp 📞 8448380779 ✅Call Girls In Mamura Sector 66 ( Noida)WhatsApp 📞 8448380779 ✅Call Girls In Mamura Sector 66 ( Noida)
WhatsApp 📞 8448380779 ✅Call Girls In Mamura Sector 66 ( Noida)
 
VVVIP Call Girls In Connaught Place ➡️ Delhi ➡️ 9999965857 🚀 No Advance 24HRS...
VVVIP Call Girls In Connaught Place ➡️ Delhi ➡️ 9999965857 🚀 No Advance 24HRS...VVVIP Call Girls In Connaught Place ➡️ Delhi ➡️ 9999965857 🚀 No Advance 24HRS...
VVVIP Call Girls In Connaught Place ➡️ Delhi ➡️ 9999965857 🚀 No Advance 24HRS...
 
CALL ON ➥8923113531 🔝Call Girls Lucknow Lucknow best sexual service Online
CALL ON ➥8923113531 🔝Call Girls Lucknow Lucknow best sexual service OnlineCALL ON ➥8923113531 🔝Call Girls Lucknow Lucknow best sexual service Online
CALL ON ➥8923113531 🔝Call Girls Lucknow Lucknow best sexual service Online
 

KMS at Okta - Intermediate Level

  • 1. Jon Todd - @JonToddDotCom Encryption Key Storage with AWS KMS at Okta December 2015
  • 2. 1 Background • Okta • Encryption • Why use a key server? 2 KMS Evaluation 3 Implementation
  • 3. What is Okta? Okta is the foundation for secure connections between people and technology.
  • 4. One platform, many use cases Centralized management of every user, app, device www.okta.com IT Enterprise-grade security built directly into your cloud apps developer.okta.com Developers
  • 5. More than 3000 customers Education, Non-ProfitFinanceTechnologyCloudHealth Services Manufacturing , Energy Media Consumer
  • 6. Used in 185 countries globally
  • 9. Encryption use cases • Fundamental • Confidentiality • Authenticity • Practical • Compliance • Least privilege principle
  • 10. The problem with encryption Managing these 
  • 11. Alternative approaches to confidentiality • Use cases for hashing instead of encryption • Authentication • Correlation • Use cases without needing keys • Homomorphic applications • Ordering, range query (for example, CryptDB) • Only require encrypt • Use asymmetric crypto • Trust No One (client encryption scenarios) • File storage or password vault
  • 12. Why use a key server?
  • 13. Example application Requirements: 1. Data in database is encrypted at rest and in memory 2. Encryption keys reside only in memory 3. Service has access to the plaintext data Client Service +
  • 14. Where do we get the keys from? • At server startup • Environment variable • File • At run time • Over JMX + TLS • Over SSH • Key service
  • 15. Key service • Separation of duties • Auditable • Easy rotation of master key • Data key in memory for very short period • Centralized master key never leaves key service + Client Service Master key Encrypt Key Service DB
  • 16. 1 Background • Requirements • How KMS works • KMS threat model 2 KMS Evaluation 3 Implementation
  • 17. Encryption use cases • Privacy of user data • Protection of PII, PCI, PHI • Credential storage • SAML keys • OAuth tokens • Third-party application credentials
  • 18. Requirements • Strong encryption  256 bit AES GCM  Strong random-number generator • Separation of duties  By design  Quorum management of servers • Support auto-scale through secure bootstrapping  Hypervisor bootstraps IAM keys • Auditability  Encryption context + CloudTrail
  • 20. KMS Operations • randomKey = generateDataKey(keyId, encryptionCtx) • ciphertext = encrypt(plaintext, keyId, encryptionCtx) • plaintext = decrypt(ciphertext, keyId, encryptionCtx) Service CMK42 generateDataKey(CMK42, context) KMS 3 2 1 DK Decrypt + Service CMK42 kmsDecrypt(ciphertextDK, keyId, Context) KMS 4 1 3 2 DK Ciphertext Envelope = Encrypt + Service CMK42 kmsEncrypt(keyId, Context) KMS 3 4 2 1 DK Plaintext Ciphertext Envelope No plaintext!
  • 21. Threat model: KMS with EC2
  • 22. + Client EC2 instance Master key Encrypt KMS DB Data key
  • 23. Getting IAM credentials for KMS • Credentials granted via IAM Role • Hypervisor provides a per-instance metadata service • Security considerations • Metadata service is accessible by all users • Credentials aren’t channel bound • Credentials are short lived
  • 24. IAM credentials via metadata service curl http://169.254.169.254/latest/meta-data/iam/security-credentials/MyApp { "Code" : "Success", "LastUpdated" : "2015-08-20T21:17:41Z", "Type" : "AWS-HMAC", "AccessKeyId" : “SOME_ACCESS_ID", "SecretAccessKey" : ”SOME_SECRET_ACCESS_KEY", "Token" : “SOME_SIGNED_TOKEN", "Expiration" : "2015-08-21T03:22:28Z" }
  • 25. IAM credential rotation • Credentials expire in ~ 6 hours • Credentials are rotated every ~ 1 hour Current Time: 2015-08-20T22:14:52Z LastUpdated: 2015-08-20T21:17:41Z Expiration: 2015-08-21T03:22:28Z Current Time: 2015-08-20T22:29:39Z LastUpdated: 2015-08-20T22:18:48Z Expiration: 2015-08-21T04:47:30Z
  • 26. Threat model: KMS transport + Client EC2 instance Master key Encrypt KMS DB Data key
  • 27. Transport Security • TLS for confidentiality and authentication of server • “A” rating on Qualys SSL Labs • Disallowed protocols SSL2 & SSL3 • Supported protocols TLS 1.0, 1.1, 1.2 • Forward secrecy required • Verisign root CA • IAM Signature V4 for authN and authZ of client
  • 28. Threat model: KMS + Client EC2 instance Master key Encrypt KMS DB Data key
  • 29. KMS key hierarchy • CMK – Customer master key • HSA – Hardened security appliance • EKT – Exported key token • HBK – HSA backing key • CDK – Customer data key • CT – Customer token Source: KMS Cryptographic Details
  • 30. Threat model – final comparison • AWS CloudHSM • HSM at cost of managing High Availability (HA) • Low performance • DIY • Roll your own credential management and rotation • Separate operational team • No access to hardware/TPM Low Risk Low Cost High Cost High Risk DIY KMS Cloud HSM
  • 31. 1 Background • Goals • Failure mitigation • Authorization & auditing • Rollout & tuning 2 KMS Evaluation 3 Implementation
  • 32. Implementation goals • Multiregion support for disaster recovery (DR) • Mitigate total KMS failure • Avoid vendor lock-in • Minimal performance impact • Operational tools for key rotation
  • 34. Multiregion encryption and decryption • Encrypt & store tenant key encrypted by each region key • Decrypt talks to closest KMS region • RSA public key used for encrypt only • Private key provided to service only in event of KMS outage Service KMS East KMS West Region master keyRegion master key Tenant master key RSA Key Region master key DB
  • 35. September 20th KMS increased error rate
  • 36. Okta failed-over automatically KMS requests by region https://trust.okta.com
  • 38. Encryption context • Features: • Additional authenticated data (AAD) via AES GCM • Logging – Understand why the key was accessed • Authorization – Fine-grained access control to data keys • Okta’s implementation • Type: <ServiceName>.<EntityName> • Id: <EntityId> • A good encryption context identifies or classifies • Think carefully about mutability and storage of context • Encryption context shouldn’t contain sensitive data
  • 42. Rollout and TTL tuning TuningGradual rollout
  • 44. Region failovers • ~ 0.001% failure rate without tuning HttpClient retries • At retry value of 3, failure rate is negligible
  • 45. SDK client tuning kmsClientConfig = new ClientConfiguration() .withSocketTimeout(3000) // 3 seconds .withConnectionTimeout(3000) // 3 seconds .withConnectionTTL(60000) // 1 minute .withMaxErrorRetry(3); client = new AWSKMSClient(kmsClientConfig);
  • 47. Implementation recommendations • You may not need encryption or keys for confidentiality • Put thought into encryption context • Reconcile CloudTrail logs with application logs • Tune the SDK for timeout and retries • Consider an extended key hierarchy
  • 48. Reference • User-Based and Resource-Based Permissions – http://docs.aws.amazon.com/IAM/latest/UserGuide/policies_permission s.html#TypesPermissions • AWS Key Management Service Cryptographic Details – https://d0.awsstatic.com/whitepapers/KMS-Cryptographic-Details.pdf • KMS Developer Guide – http://docs.aws.amazon.com/kms/latest/developerguide/kms-dg.pdf
  • 49. Okta for developers Universal Directory Single Sign-On Provisioning Adaptive Multi-factor Authentication Social Authentication Inbound Federation AD and LDAP Integration
  • 50. Thank You. Find me on twitter www.okta.com@JonToddDotCom Learn more about Okta

Notes de l'éditeur

  1. Here you can see the end user SSO experience of Okta works both in a browser and natively on your mobile devices
  2. Okta enables a whole host of identity functionality. At it’s most basic we have two target audiences…
  3. Since our product launch 5 years ago we’ve gained a lot of momentum Customers across all major verticals Including Eventbrite! Scale Manage 10’s of millions of identities on a multi-tenant architecture built entirely in AWS Team of about 600 people and about 130 people in engineering
  4. Java backend JS Front end Entirely hosted in the cloud in AWS In general we like using and giving back to open source
  5. LPP is defense in depth.
  6. Encryption makes your data confidential but then you’re left with a problem. What do you do with the keys? Encryption merely pushes the problem down to a smaller surface to protect
  7. So before dealing with keys and key management. Consider alternate means of confidentiality … Now if none of these apply to your application and you actually do need access to the plaintext data then we need a good solution to manage keys
  8. Describe the model At rest – Compliance In memory on the DB – Least privilege principle. DBAs don’t need access to secrets
  9. Bootstrapping credentials for KMS
  10. Closing: There could be improvements Bootstrapping and rotating credentials is hard if you were to do it yourself More importantly AWS has the advantage with access to hardware leveraging what might be available like a TPM
  11. Customer Master Key is a logical concept Over the life of that MK there will be rotations, each with a new HBK Operation is similar to an HSM The actual keys performing encryption live in the HSA Nothing leaves the HSA in plaintext More details in the Cryptographic White Paper
  12. Pricing: KMS < $1000 per month CouldHSM > $20k per month not factoring management and HA design time DIY - > $200k up front plus $10k on going
  13. Each tenant master key is rooted in 3 encryption providers
  14. N. Virginia was the only affected region
  15. How did Okta do? Okta failed over automatically Where the yellow meets the blue
  16. Hammer home why this helps you. – YOU NEED TO KNOW WHY YOUR KEYS WERE USED Note that the ID is internal so it would be meaningless if someone owned the AWS side
  17. We use policy because our key management model is static For a dynamic access control model they also offer Grants
  18. Consider hashing, asymetric, homomorphic & trust no one models instead Ask: Does my app actually need to operate on the plaintext? Encryption Context Hard to change later Think identification and classification Immutable, stored with encrypted data is easiest Hierarchy: Removes vendor lock-in enables multiple trust roots and failover comes at cost of complexity
  19. IAM Config Security details Developer guide for writing code
  20. Okta helps developers Connect with customers – AD, LDAP, Federation Secure your product (auth & mfa)