SlideShare a Scribd company logo
1 of 39
S U M M I T
SYDNEY
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
Atlassian's Solution for Multi-Region
Encryption and Decryption
Tom Knight
Developer
Atlassian
Martien Verbruggen
Architect
Atlassian
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
Atlassian
creates products for customers
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
Atlassian
creates customerscloud products for
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
Atlassian
creates more customerscloud products for
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
Atlassian
creates more customerscloud products for
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
Atlassian
cloud products for more customerscreates more
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
Atlassian’s Platform as a Service
µ Micros
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
Micros, our PaaS
µ Micros
Developers
Services
Resources
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
Micros, our PaaS
µ Micros
Developers
Services
Resources
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
Region 1
Cryptor use case: database credentials
Application
Region 2
Application
Region X
DB
Manager
config config
1 - create database
2 - store credentials
3 - get credentials4 - connect
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
Region 4
Cryptor use case: confidential messages
Not a
Consumer
Region 1
Producer
MessagesMessages
Region 4
Consumer
Messages
Region 2
Consumer
Messages
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
Cryptor optimises for
Security Resilience Performance Ease of use
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
Cryptor optimises for
Security Resilience Performance Ease of use
Manage keys
and
authorisation
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
Cryptor optimises for
Security Resilience Performance Ease of use
Manage keys
and
authorisation
Never™ fail
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
Cryptor optimises for
Security Resilience Performance Ease of use
Manage keys
and
authorisation
Never™ fail Deal with
latency and
scale
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
Cryptor optimises for
Security Resilience Performance Ease of use
Manage keys
and
authorisation
Never™ fail Deal with
latency and
scale
Simple API,
standard
metrics, multi-
region
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
Why not just use KMS?
Single-region
Performance
Resilience
Trusted
Secure
Powerful authZ
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
Region 1
Solution: Use the SDK and customise
Region 2 Region 3
Any region
KMS 3KMS 2KMS 1
TTL
based
cache
encryption
envelope
Application
S U M M I T © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
AWS Encryption SDK example
val cache = LocalCryptoMaterialsCache(KMS_MAX_CACHE_SIZE)
val keyProvider = MultipleProviderFactory.buildMultiProvider(KmsMasterKey::class.java, keys)
val cmm = CachingCryptoMaterialsManager
.newBuilder()
.withMasterKeyProvider(keyProvider)
.withCache(cache)
.withMaxAge(KMS_MAX_CACHE_AGE, TimeUnit.SECONDS)
.build()
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
Multi-region Fault
tolerance
Performance
Implementation
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
Solution: Encryption
Multiple regions
Quorum: 2 out of 3 regions - configurable
Bespoke encryption context
Improve datakey reusage
Encryption pooling
Pre fetch data keys
Usage and TTL
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
Encryption context
Meta data Extra layer of
security
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
Solution: Encryption
Multiple regions
Quorum: 2 out of 3 regions - configurable
Bespoke encryption context
Improve datakey reusage
Encryption pooling
Pre fetch data keys
Usage and TTL
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
Solution: Decryption
Decryption caching
Latency-based selection of KMS
Fetch keys in parallel
Datakeys are decrypted in parallel
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
Solution: Integration
Java library
Most widely used language in Atlassian
Sidecar
Docker container with 2 API endpoints
Java library with Spring Boot
S U M M I T © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Sample code for library call
// Setup
val cryptorClient = CryptorClientFactory.build(keyAliasList, config)
// Values
val originalPlainText = "Encrypt Me"
val encryptionContext = mapOf("CustomerId" to "123456")
// Encrypt and Decrypt
val cipherText = cryptorClient.encrypt(keyAlias, originalPlainText,
encryptionContext)
val plainText = cryptorClient.decrypt(cipherText, encryptionContext)
S U M M I T © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Sample REST call
S U M M I T © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Solution: service descriptor
name: encrypting-service
organization: foo
...
resources:
- type: cryptor
name: secret-key
decryptors:
- secret-reader
- secret-checker
- audit-agent
µ
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
Cryptor account
Micros account
Solution: PaaS and resource provider
Keys
Roles
Policies
AWS IAM
AWS KMS
setup(@roles, key-alias)
µ Micros
Cryptor
provider
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
Solution: Operational
Standard metrics and logs from sidecar
Visible to service owners, security and central team
Standard configuration
Standardised cache configurations
Multi-region configurations
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
Metrics dashboard
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
Summary
Security Resilience Performance Ease of use
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
Summary
Security Resilience Performance Ease of use
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
Summary
Security Resilience Performance Ease of use
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
Summary
Security Resilience Performance Ease of use
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
Summary
Security Resilience Performance Ease of use
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
Open source
Announcement when we ship it, at
https://www.atlassian.com/blog/technology
Thank you!
S U M M I T © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Tom Knight Martien Verbruggen

More Related Content

What's hot

What's hot (20)

Auto scaling using Amazon Web Services ( AWS )
Auto scaling using Amazon Web Services ( AWS )Auto scaling using Amazon Web Services ( AWS )
Auto scaling using Amazon Web Services ( AWS )
 
AWS Blackbelt 2015シリーズ Amazon EC2 Container Service (Amazon ECS)
AWS Blackbelt 2015シリーズ Amazon EC2 Container Service (Amazon ECS)AWS Blackbelt 2015シリーズ Amazon EC2 Container Service (Amazon ECS)
AWS Blackbelt 2015シリーズ Amazon EC2 Container Service (Amazon ECS)
 
Neptune Performance Tuning: Get the Best out of Amazon Neptune (DAT360) - AWS...
Neptune Performance Tuning: Get the Best out of Amazon Neptune (DAT360) - AWS...Neptune Performance Tuning: Get the Best out of Amazon Neptune (DAT360) - AWS...
Neptune Performance Tuning: Get the Best out of Amazon Neptune (DAT360) - AWS...
 
Build, train, and deploy ML models at scale.pdf
Build, train, and deploy ML models at scale.pdfBuild, train, and deploy ML models at scale.pdf
Build, train, and deploy ML models at scale.pdf
 
Services comparison among Microsoft Azure AWS and Google Cloud Platform
Services comparison among Microsoft Azure AWS and Google Cloud PlatformServices comparison among Microsoft Azure AWS and Google Cloud Platform
Services comparison among Microsoft Azure AWS and Google Cloud Platform
 
Amazon S3 and EC2
Amazon S3 and EC2Amazon S3 and EC2
Amazon S3 and EC2
 
Amazon DynamoDB Under the Hood: How We Built a Hyper-Scale Database (DAT321) ...
Amazon DynamoDB Under the Hood: How We Built a Hyper-Scale Database (DAT321) ...Amazon DynamoDB Under the Hood: How We Built a Hyper-Scale Database (DAT321) ...
Amazon DynamoDB Under the Hood: How We Built a Hyper-Scale Database (DAT321) ...
 
간단한 게임을 쉽고 저렴하게 서비스해보자! ::: AWS Game Master 온라인 시리즈 #1
간단한 게임을 쉽고 저렴하게 서비스해보자! ::: AWS Game Master 온라인 시리즈 #1간단한 게임을 쉽고 저렴하게 서비스해보자! ::: AWS Game Master 온라인 시리즈 #1
간단한 게임을 쉽고 저렴하게 서비스해보자! ::: AWS Game Master 온라인 시리즈 #1
 
A deep dive into Amazon MSK - ADB206 - Chicago AWS Summit
A deep dive into Amazon MSK - ADB206 - Chicago AWS SummitA deep dive into Amazon MSK - ADB206 - Chicago AWS Summit
A deep dive into Amazon MSK - ADB206 - Chicago AWS Summit
 
SBA Security Meetup: Building a Secure Architecture – A Deep-Dive into Securi...
SBA Security Meetup: Building a Secure Architecture – A Deep-Dive into Securi...SBA Security Meetup: Building a Secure Architecture – A Deep-Dive into Securi...
SBA Security Meetup: Building a Secure Architecture – A Deep-Dive into Securi...
 
20191009 AWS Black Belt Online Seminar Amazon GameLift
20191009 AWS Black Belt Online Seminar Amazon GameLift20191009 AWS Black Belt Online Seminar Amazon GameLift
20191009 AWS Black Belt Online Seminar Amazon GameLift
 
Amazon EBS: Deep Dive
Amazon EBS: Deep DiveAmazon EBS: Deep Dive
Amazon EBS: Deep Dive
 
AWS Elastic Beanstalk: Running Multi-Container Docker Applications - DevDay L...
AWS Elastic Beanstalk: Running Multi-Container Docker Applications - DevDay L...AWS Elastic Beanstalk: Running Multi-Container Docker Applications - DevDay L...
AWS Elastic Beanstalk: Running Multi-Container Docker Applications - DevDay L...
 
Fundamentals of AWS Security
Fundamentals of AWS SecurityFundamentals of AWS Security
Fundamentals of AWS Security
 
AWS for Backup and Recovery
AWS for Backup and RecoveryAWS for Backup and Recovery
AWS for Backup and Recovery
 
20180417 AWS White Belt Online Seminar クラウドジャーニー
20180417 AWS White Belt Online Seminar クラウドジャーニー20180417 AWS White Belt Online Seminar クラウドジャーニー
20180417 AWS White Belt Online Seminar クラウドジャーニー
 
Case Study: The internals of Amazon.com's architecture that allows it to secu...
Case Study: The internals of Amazon.com's architecture that allows it to secu...Case Study: The internals of Amazon.com's architecture that allows it to secu...
Case Study: The internals of Amazon.com's architecture that allows it to secu...
 
Netweb flytxt-big-data-case-study
Netweb flytxt-big-data-case-studyNetweb flytxt-big-data-case-study
Netweb flytxt-big-data-case-study
 
Operational Excellence with Containerized Workloads Using AWS Fargate (CON320...
Operational Excellence with Containerized Workloads Using AWS Fargate (CON320...Operational Excellence with Containerized Workloads Using AWS Fargate (CON320...
Operational Excellence with Containerized Workloads Using AWS Fargate (CON320...
 
Introduction to the AWS Cloud - AWSome Day 2019 - Denver
Introduction to the AWS Cloud - AWSome Day 2019 - Denver Introduction to the AWS Cloud - AWSome Day 2019 - Denver
Introduction to the AWS Cloud - AWSome Day 2019 - Denver
 

Similar to Atlassian's Solution for Multi-Region Encryption and Decryption - AWS Summit Sydney

Similar to Atlassian's Solution for Multi-Region Encryption and Decryption - AWS Summit Sydney (20)

Secure machine learning - Guarding your data and gaining insights
Secure machine learning - Guarding your data and gaining insightsSecure machine learning - Guarding your data and gaining insights
Secure machine learning - Guarding your data and gaining insights
 
How Nubank is building a customer-obsessed bank - FSV201 - New York AWS Summit
How Nubank is building a customer-obsessed bank - FSV201 - New York AWS SummitHow Nubank is building a customer-obsessed bank - FSV201 - New York AWS Summit
How Nubank is building a customer-obsessed bank - FSV201 - New York AWS Summit
 
Migliora la disponibilità e le prestazioni delle tue applicazioni con Amazon ...
Migliora la disponibilità e le prestazioni delle tue applicazioni con Amazon ...Migliora la disponibilità e le prestazioni delle tue applicazioni con Amazon ...
Migliora la disponibilità e le prestazioni delle tue applicazioni con Amazon ...
 
How Millennium Management achieves provable security with AWS Zelkova - FSV30...
How Millennium Management achieves provable security with AWS Zelkova - FSV30...How Millennium Management achieves provable security with AWS Zelkova - FSV30...
How Millennium Management achieves provable security with AWS Zelkova - FSV30...
 
AWS Summit Singapore 2019 | Operating Microservices at Hyperscale
AWS Summit Singapore 2019 | Operating Microservices at HyperscaleAWS Summit Singapore 2019 | Operating Microservices at Hyperscale
AWS Summit Singapore 2019 | Operating Microservices at Hyperscale
 
Automate Security Event Management Using Trust-Based Decision Models - AWS Su...
Automate Security Event Management Using Trust-Based Decision Models - AWS Su...Automate Security Event Management Using Trust-Based Decision Models - AWS Su...
Automate Security Event Management Using Trust-Based Decision Models - AWS Su...
 
Introduction to the AWS Well-Architected Framework and AWS WA Tool - SVC214-R...
Introduction to the AWS Well-Architected Framework and AWS WA Tool - SVC214-R...Introduction to the AWS Well-Architected Framework and AWS WA Tool - SVC214-R...
Introduction to the AWS Well-Architected Framework and AWS WA Tool - SVC214-R...
 
Castles in Castles - Secure Operational Scale - AWS Summit Sydney
Castles in Castles - Secure Operational Scale - AWS Summit SydneyCastles in Castles - Secure Operational Scale - AWS Summit Sydney
Castles in Castles - Secure Operational Scale - AWS Summit Sydney
 
Introduction to AWS Global Accelerator - SVC211 - Chicago AWS Summit
Introduction to AWS Global Accelerator - SVC211 - Chicago AWS SummitIntroduction to AWS Global Accelerator - SVC211 - Chicago AWS Summit
Introduction to AWS Global Accelerator - SVC211 - Chicago AWS Summit
 
Building data lakes for analytics on AWS - ADB201 - Santa Clara AWS Summit.pdf
Building data lakes for analytics on AWS - ADB201 - Santa Clara AWS Summit.pdfBuilding data lakes for analytics on AWS - ADB201 - Santa Clara AWS Summit.pdf
Building data lakes for analytics on AWS - ADB201 - Santa Clara AWS Summit.pdf
 
Architecting security & governance across your AWS environment
Architecting security & governance across your AWS environmentArchitecting security & governance across your AWS environment
Architecting security & governance across your AWS environment
 
Running Lean Performant Yet Cost Optimised - AWS Summit Sydney
Running Lean Performant Yet Cost Optimised - AWS Summit SydneyRunning Lean Performant Yet Cost Optimised - AWS Summit Sydney
Running Lean Performant Yet Cost Optimised - AWS Summit Sydney
 
Threat Detection using artificial intelligence
Threat Detection using artificial intelligenceThreat Detection using artificial intelligence
Threat Detection using artificial intelligence
 
Automated Forensics and Incident Response on AWS - AWS Summit Sydney
Automated Forensics and Incident Response on AWS - AWS Summit SydneyAutomated Forensics and Incident Response on AWS - AWS Summit Sydney
Automated Forensics and Incident Response on AWS - AWS Summit Sydney
 
Threat detection and mitigation at AWS - SEC201 - Atlanta AWS Summit
Threat detection and mitigation at AWS - SEC201 - Atlanta AWS SummitThreat detection and mitigation at AWS - SEC201 - Atlanta AWS Summit
Threat detection and mitigation at AWS - SEC201 - Atlanta AWS Summit
 
The Zen of governance - Establish guardrails and empower builders - SVC201 - ...
The Zen of governance - Establish guardrails and empower builders - SVC201 - ...The Zen of governance - Establish guardrails and empower builders - SVC201 - ...
The Zen of governance - Establish guardrails and empower builders - SVC201 - ...
 
In the cloud, the name of the game is securability! - SEP303 - AWS re:Inforce...
In the cloud, the name of the game is securability! - SEP303 - AWS re:Inforce...In the cloud, the name of the game is securability! - SEP303 - AWS re:Inforce...
In the cloud, the name of the game is securability! - SEP303 - AWS re:Inforce...
 
Sicurezza in AWS automazione e best practice
Sicurezza in AWS automazione e best practiceSicurezza in AWS automazione e best practice
Sicurezza in AWS automazione e best practice
 
The evolution of continuous cloud security and compliance - DEM05-S - New Yor...
The evolution of continuous cloud security and compliance - DEM05-S - New Yor...The evolution of continuous cloud security and compliance - DEM05-S - New Yor...
The evolution of continuous cloud security and compliance - DEM05-S - New Yor...
 
How FINRA achieves DevOps agility while securing its AWS environments - GRC33...
How FINRA achieves DevOps agility while securing its AWS environments - GRC33...How FINRA achieves DevOps agility while securing its AWS environments - GRC33...
How FINRA achieves DevOps agility while securing its AWS environments - GRC33...
 

More from Amazon Web Services

Tools for building your MVP on AWS
Tools for building your MVP on AWSTools for building your MVP on AWS
Tools for building your MVP on AWS
Amazon Web Services
 
How to Build a Winning Pitch Deck
How to Build a Winning Pitch DeckHow to Build a Winning Pitch Deck
How to Build a Winning Pitch Deck
Amazon Web Services
 
Building a web application without servers
Building a web application without serversBuilding a web application without servers
Building a web application without servers
Amazon Web Services
 
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...AWS_HK_StartupDay_Building Interactive websites while automating for efficien...
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...
Amazon Web Services
 

More from Amazon Web Services (20)

Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...
Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...
Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...
 
Big Data per le Startup: come creare applicazioni Big Data in modalità Server...
Big Data per le Startup: come creare applicazioni Big Data in modalità Server...Big Data per le Startup: come creare applicazioni Big Data in modalità Server...
Big Data per le Startup: come creare applicazioni Big Data in modalità Server...
 
Esegui pod serverless con Amazon EKS e AWS Fargate
Esegui pod serverless con Amazon EKS e AWS FargateEsegui pod serverless con Amazon EKS e AWS Fargate
Esegui pod serverless con Amazon EKS e AWS Fargate
 
Costruire Applicazioni Moderne con AWS
Costruire Applicazioni Moderne con AWSCostruire Applicazioni Moderne con AWS
Costruire Applicazioni Moderne con AWS
 
Come spendere fino al 90% in meno con i container e le istanze spot
Come spendere fino al 90% in meno con i container e le istanze spot Come spendere fino al 90% in meno con i container e le istanze spot
Come spendere fino al 90% in meno con i container e le istanze spot
 
Open banking as a service
Open banking as a serviceOpen banking as a service
Open banking as a service
 
Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...
Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...
Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...
 
OpsWorks Configuration Management: automatizza la gestione e i deployment del...
OpsWorks Configuration Management: automatizza la gestione e i deployment del...OpsWorks Configuration Management: automatizza la gestione e i deployment del...
OpsWorks Configuration Management: automatizza la gestione e i deployment del...
 
Microsoft Active Directory su AWS per supportare i tuoi Windows Workloads
Microsoft Active Directory su AWS per supportare i tuoi Windows WorkloadsMicrosoft Active Directory su AWS per supportare i tuoi Windows Workloads
Microsoft Active Directory su AWS per supportare i tuoi Windows Workloads
 
Computer Vision con AWS
Computer Vision con AWSComputer Vision con AWS
Computer Vision con AWS
 
Database Oracle e VMware Cloud on AWS i miti da sfatare
Database Oracle e VMware Cloud on AWS i miti da sfatareDatabase Oracle e VMware Cloud on AWS i miti da sfatare
Database Oracle e VMware Cloud on AWS i miti da sfatare
 
Crea la tua prima serverless ledger-based app con QLDB e NodeJS
Crea la tua prima serverless ledger-based app con QLDB e NodeJSCrea la tua prima serverless ledger-based app con QLDB e NodeJS
Crea la tua prima serverless ledger-based app con QLDB e NodeJS
 
API moderne real-time per applicazioni mobili e web
API moderne real-time per applicazioni mobili e webAPI moderne real-time per applicazioni mobili e web
API moderne real-time per applicazioni mobili e web
 
Database Oracle e VMware Cloud™ on AWS: i miti da sfatare
Database Oracle e VMware Cloud™ on AWS: i miti da sfatareDatabase Oracle e VMware Cloud™ on AWS: i miti da sfatare
Database Oracle e VMware Cloud™ on AWS: i miti da sfatare
 
Tools for building your MVP on AWS
Tools for building your MVP on AWSTools for building your MVP on AWS
Tools for building your MVP on AWS
 
How to Build a Winning Pitch Deck
How to Build a Winning Pitch DeckHow to Build a Winning Pitch Deck
How to Build a Winning Pitch Deck
 
Building a web application without servers
Building a web application without serversBuilding a web application without servers
Building a web application without servers
 
Fundraising Essentials
Fundraising EssentialsFundraising Essentials
Fundraising Essentials
 
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...AWS_HK_StartupDay_Building Interactive websites while automating for efficien...
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...
 
Introduzione a Amazon Elastic Container Service
Introduzione a Amazon Elastic Container ServiceIntroduzione a Amazon Elastic Container Service
Introduzione a Amazon Elastic Container Service
 

Atlassian's Solution for Multi-Region Encryption and Decryption - AWS Summit Sydney

  • 1. S U M M I T SYDNEY
  • 2. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T Atlassian's Solution for Multi-Region Encryption and Decryption Tom Knight Developer Atlassian Martien Verbruggen Architect Atlassian
  • 3. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T Atlassian creates products for customers
  • 4. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T Atlassian creates customerscloud products for
  • 5. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T Atlassian creates more customerscloud products for
  • 6. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T Atlassian creates more customerscloud products for
  • 7. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T Atlassian cloud products for more customerscreates more
  • 8. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T Atlassian’s Platform as a Service µ Micros
  • 9. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T Micros, our PaaS µ Micros Developers Services Resources
  • 10. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T Micros, our PaaS µ Micros Developers Services Resources
  • 11. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T Region 1 Cryptor use case: database credentials Application Region 2 Application Region X DB Manager config config 1 - create database 2 - store credentials 3 - get credentials4 - connect
  • 12. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T Region 4 Cryptor use case: confidential messages Not a Consumer Region 1 Producer MessagesMessages Region 4 Consumer Messages Region 2 Consumer Messages
  • 13. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T Cryptor optimises for Security Resilience Performance Ease of use
  • 14. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T Cryptor optimises for Security Resilience Performance Ease of use Manage keys and authorisation
  • 15. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T Cryptor optimises for Security Resilience Performance Ease of use Manage keys and authorisation Never™ fail
  • 16. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T Cryptor optimises for Security Resilience Performance Ease of use Manage keys and authorisation Never™ fail Deal with latency and scale
  • 17. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T Cryptor optimises for Security Resilience Performance Ease of use Manage keys and authorisation Never™ fail Deal with latency and scale Simple API, standard metrics, multi- region
  • 18. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T Why not just use KMS? Single-region Performance Resilience Trusted Secure Powerful authZ
  • 19. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T Region 1 Solution: Use the SDK and customise Region 2 Region 3 Any region KMS 3KMS 2KMS 1 TTL based cache encryption envelope Application
  • 20. S U M M I T © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved. AWS Encryption SDK example val cache = LocalCryptoMaterialsCache(KMS_MAX_CACHE_SIZE) val keyProvider = MultipleProviderFactory.buildMultiProvider(KmsMasterKey::class.java, keys) val cmm = CachingCryptoMaterialsManager .newBuilder() .withMasterKeyProvider(keyProvider) .withCache(cache) .withMaxAge(KMS_MAX_CACHE_AGE, TimeUnit.SECONDS) .build()
  • 21. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T Multi-region Fault tolerance Performance Implementation
  • 22. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T Solution: Encryption Multiple regions Quorum: 2 out of 3 regions - configurable Bespoke encryption context Improve datakey reusage Encryption pooling Pre fetch data keys Usage and TTL
  • 23. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T Encryption context Meta data Extra layer of security
  • 24. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T Solution: Encryption Multiple regions Quorum: 2 out of 3 regions - configurable Bespoke encryption context Improve datakey reusage Encryption pooling Pre fetch data keys Usage and TTL
  • 25. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T Solution: Decryption Decryption caching Latency-based selection of KMS Fetch keys in parallel Datakeys are decrypted in parallel
  • 26. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T Solution: Integration Java library Most widely used language in Atlassian Sidecar Docker container with 2 API endpoints Java library with Spring Boot
  • 27. S U M M I T © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved. Sample code for library call // Setup val cryptorClient = CryptorClientFactory.build(keyAliasList, config) // Values val originalPlainText = "Encrypt Me" val encryptionContext = mapOf("CustomerId" to "123456") // Encrypt and Decrypt val cipherText = cryptorClient.encrypt(keyAlias, originalPlainText, encryptionContext) val plainText = cryptorClient.decrypt(cipherText, encryptionContext)
  • 28. S U M M I T © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved. Sample REST call
  • 29. S U M M I T © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved. Solution: service descriptor name: encrypting-service organization: foo ... resources: - type: cryptor name: secret-key decryptors: - secret-reader - secret-checker - audit-agent µ
  • 30. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T Cryptor account Micros account Solution: PaaS and resource provider Keys Roles Policies AWS IAM AWS KMS setup(@roles, key-alias) µ Micros Cryptor provider
  • 31. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T Solution: Operational Standard metrics and logs from sidecar Visible to service owners, security and central team Standard configuration Standardised cache configurations Multi-region configurations
  • 32. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T Metrics dashboard
  • 33. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T Summary Security Resilience Performance Ease of use
  • 34. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T Summary Security Resilience Performance Ease of use
  • 35. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T Summary Security Resilience Performance Ease of use
  • 36. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T Summary Security Resilience Performance Ease of use
  • 37. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T Summary Security Resilience Performance Ease of use
  • 38. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T Open source Announcement when we ship it, at https://www.atlassian.com/blog/technology
  • 39. Thank you! S U M M I T © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved. Tom Knight Martien Verbruggen