SlideShare una empresa de Scribd logo
1 de 40
Encryption At-Rest and In-Transit: Survival Guide
Toni de la Fuente
Lead SecOps and Security Architect
Edinburgh, January 30th 2019
Learn. Connect. Collaborate.
Who am I
Click to speaker
Agenda • Requirements
• Encryption Foundations
• Encryption At-Rest
– Native on premises
– Third party on premises
– Cloud
• Encryption In-Transit
– TLS and mTLS
– Service to Service
– Service Mesh
Requirements
Learn. Connect. Collaborate.
Requirements:
• Organization policies
and compliance
• Industry or
government
regulations
• Protect privacy
• Minimizes
unauthorized access
to data
CIA triad:
Information
Security
Integrity
Availability
Confidentiality
Authenticity
Accountability
Non-repudiation
Encryption Foundations
Learn. Connect. Collaborate.
Foundations
• Encryption keeps confidentiality and a key un-encrypt: AES
(symmetric), Blowfish (symmetric), RSA (asymmetric)
• Hashing checks integrity of data by creating a hash or digest
with one-way function (signatures): SHA, MD5, MD4, etc.
• Encoding is for maintaining data usability and can be reversed
by employing the same algorithm that encoded the content:
ASCII, Unicode, URL Encoding, Base64
• Obfuscation is used to prevent people from understanding the
meaning of something, like source code
Learn. Connect. Collaborate.
Symmetric key encryption
Alice wants to send an encrypted
message to Boriss:
Key
(1234)
Plaintext
Ciphertext
A B C D E F G H I J K
99rwV+HMzEX4ux1O9t0TwQ==
Algorithm
Blowfish, AES,
DES, TripleDES,
etc.
They both use
the same key to
encrypt and
decryptThis process is usually FAST
Learn. Connect. Collaborate.
Asymmetric key encryption: public and private keys
Alice wants to send an encrypted
message to Boriss:
Alice uses Boriss’
Public Key
(1234)
Plaintext
Ciphertext
A B C D E F G H I J K
99rwV+HMzEX4ux1O9t0TwQ==
Algorithm
RSA, ElGamal,
etc.
Boriss uses his Private
Key to decrypt
(5678)
Alice only
needs to know
Bob’s public
keyThis process is usually SLOW
Learn. Connect. Collaborate.
Certificates: X.509 (RFC6818)
A certificate has:
• subject name
• subject’s public key
• issuer name (CA name)
• validity
• signed by CA
Learn. Connect. Collaborate.
Tools and Common File Formats
• Many tools like OpenSSL, keytool, cfssl, mkcert, minica
• Encoding:
– DER: binary cert encoded with DER .cer or .crt files
– PEM: ASCII (base64 encoded) cert .cer or .crt or .pem files
“----BEGIN CERTIFICATE----” “----END CERTIFICATE----”
• File extension:
– .crt: Unix/Linux convention for a DER or Base64 PEM
– .cer: MS convention for a DER or Base64 PEM
– .key: public or private key PKCS#8. DER or PEM
Encryption at-rest
Learn. Connect. Collaborate.
What is encryption at-rest?
Protect stored data from unauthorized access
using encryption at block, file, directory, file
system or full disk level with keys
Learn. Connect. Collaborate.
Where do we store information today?
• Alfresco CS Content Store
• Alfresco CS Database
• Alfresco CS Indexes
• Alfresco CS Shared File Store (new Transformation Service)
• Alfresco PS Database
• Alfresco Identity Database (Keycloak)
• Alfresco mobile Apps
DBs
DBs
DBs
File
System
Network
Storage
Learn. Connect. Collaborate.
How can we encrypt stored data?
• Natively → Encryption add-on for Alfresco Content Store (application
side encryption)
Repo Storage
doc doc doc doc
Encrypted content
store feature
added
DB
Indexes /
Transformations
• Uses Java Cryptography Extension
(supports HW encryption)
• Each content element encrypted with
individual symmetric key (AES 128 bit
default). Symmetric keys are stored in
alf_content_url_encryption table
• Content keys then encrypted with
asymmetric master key-pair (RSA)
Learn. Connect. Collaborate.
How can we encrypt stored data?
• Third parties → for Alfresco Content Store and everything else
Repo Storage
doc doc doc doc
Encrypted content
store feature
added
DB
Indexes /
Transformations
• File system level tools
• AWS EBS or S3 Server Side
Encryption, RDS volume
encryption
• MSSQL or Oracle TDE
An introduction to mTLS and Service Mesh
Encryption in-transit
Learn. Connect. Collaborate.
Intro
• What is encryption in-transit?
• TLS and mTLS
• SSL Offloading
• Our Research and POCs:
– Service to Service
– Service Mesh
Learn. Connect. Collaborate.
What is encryption in-transit?
Protect moving data from unauthorized
access using encryption on the wire with
protocols like TLS or IPsec and keys
Learn. Connect. Collaborate.
TLS and mTLS
• SSL/TLS History:
– 1995: SSL v2 (deprecated in 2011)
– 1996: SSL v3 (deprecated in 2015)
– 1999: TLS 1.0 (deprecation 2020) *
– 2006: TLS 1.1 (deprecation 2020) *
– 2008: TLS 1.2 *
– 2018: TLS 1.3
* Vulnerable depending on browser or cipher
used (POODLE, FREAK RC4 attacks and
others)
• TLS: are cryptographic protocols
that provide communications
security over a computer network.
It uses symmetric cryptography
to encrypt data transmitted and
public-key cryptography for
authentication. Authentication
usually is from the server side only
(using X.509 certs).
• mTLS: mutual authentication using
X.509 cert, commonly used
between servers, applications or
services.
Learn. Connect. Collaborate.
SSL Offloading
Repo Storage
doc doc doc doc
DBs
File System
Indexes /
Transformations
Service A
Service B
Service C
Service D
Service E Service F
HTTP over
TLS
LB
Plain HTTP
Learn. Connect. Collaborate.
How does TLS and mTLS look like together?
Repo Storage
doc doc doc doc
DBs
File System
Indexes /
Transformations
Service A
Service B
Service C
Service D
Service E Service FJDBC over
TLS
HTTP over
TLS
HTTP over
TLS with
mutual
Authenticati
on = mTLS
LB
HTTP over
TLS
Learn. Connect. Collaborate.
mTLS: Java Implementation High Level Overview
Service A
Service C
Service B
-Service A is client of Service
B and server for Service C
-Service B is client for Service
C and server for Service A
-Service C is client for Service
A and server for Service B
Client Server
keystore
truststore
keystore
truststore
1. Service connection requested
2. Provides server certificate
3. Client
verifies
server cert
authenticity
using CA
cert
4. Provides client certificate
5. Server
Verifies
client cert
authenticity
using CA
cert
6. They agree and share a
symmetric session key for
encryption and decryption and
communication starts
Server
Certific
ate
Server
Private
Key
CA
Certific
ate
CA
Certific
ate
Client
Certific
ate
Client
Private
Key
Disclaimer
• The information contained in these presentations is intended to inform the
developer community based on a working prototype and should not be relied
upon in making purchasing decisions.
• The content is for informational purposes only and may not be incorporated into
any contract.
• The information presented is not a commitment, promise, or legal obligation to
deliver any material, code or functionality.
• Any references to the development, release, and timing of any features or
functionality described for these products remains at Alfresco's sole discretion
• Product capabilities, timeframes and features are subject to change and should
not be viewed as Alfresco commitments.
Learn. Connect. Collaborate.
Our Research
Service to Service Service Mesh
Remember:
We want to see what is the best way to implement encryption and authentication between services!
Tested with Alfresco CS 6.1, our Helm charts and EKS in AWS.
But Let’s Recap First
Learn. Connect. Collaborate.
Internet
LB /
Proxy
Tomcat Tomcat Tomcat
DB
File
Storage
1. Load balancing
2. Application
3. Data
#10YearsChallenge
2009
Learn. Connect. Collaborate.
#10YearsChallenge
2019
Learn. Connect. Collaborate.
Layers!
+ Virtual
Machine
+ Host
+ Infrastructure
vendor
https://adam.shostack.org/blog/2018/05/threat-model-thursday-google-on-kubernetes/
Java VM
SIMPLICITY IS GONE
Learn. Connect. Collaborate.
Service-to-Service Encryption in-transit and
Authentication POC
• mTLS configuration per service/microservice
• Automated with customized Helm chart and
services
• Repo and Solr communication was already
mTLS
• Limitations:
– Repository service can’t do mTLS with
transformation services: handshake fails
– SSL certificate CN must match with
domain name of internal services
(requires usage of a CA)
– mTLS between ELB and ingress
– Automating certificate generation via
Helm chart
Kudos to Abdul Mohammed!
Learn. Connect. Collaborate.
Service Mesh Intro
• Challenges managing microservice architecture or service-oriented architecture
– Multiple services, different IP, different hosts
– Routing and discovery challenges
– Network security challenges
– Compatibility
– Multi-level network awareness
• Patterns:
– Sidecar
– Ambassador
– Adapter or Node Agent
• Known open source options:
– Istio (Google, IBM and Lyft) - mTLS stable
– Linkerd (Buoyant.io) - mTLS experimental
– Consul (Hashicorp) - mTLS through Consul Connect
– App Mesh (AWS) preview - no mTLS support
Learn. Connect. Collaborate.
Istio Requirements and Features
• Requirements:
– For us: end-to-end encryption and authentication
– Discovery, load balancing, failure recovery, metrics, monitoring, A/B testing, canary
releases, rate limiting and access control.
• Istio Features:
– Automatic load balancing for HTTP, gRPC, WebSocket, and TCP traffic.
– Fine-grained control of traffic behavior with rich routing rules, retries, failovers, and fault
injection.
– A pluggable policy layer and configuration API supporting access controls, rate limits and
quotas.
– Automatic metrics, logs, and traces for all traffic within a cluster, including cluster ingress
and egress.
– Secure service-to-service communication in a cluster with strong identity-based
authentication and authorization.
Learn. Connect. Collaborate.
Istio Architecture
● Data Plane
● Control Plane
● Components:
● Envoy: proxy per
{micro}service
● Mixer: policies,
telemetry and plugins
● Pilot: service discovery
● Citadel: manages certs
for authorization and
authentication
● Galley: istio API
● Others: ingress and
egress gateways,
injector, etc.
https://istio.io/docs/concepts/security/architecture.svg
Demo
Learn. Connect. Collaborate.
Related
Sessions
• TODAY
– 13:30-14:00 Shea Nangle: Best Practices for
DIY Alfresco Security
– 15:00-15:30 Gavin Cornwell & Morris Singer:
Alfresco Digital Business Platform on EKS
• TOMORROW
– 15:00-15:30 Sergiu Vidrascu: Developing on
Kubernetes
– 15:00-15:30 Ciju Joseph: Azure Devops and
Alfresco DBP
– 16:00-16:30 Luis Cabaciera & Victor Moreira:
GDPR Watchdog
Questions?
Thanks!
Learn. Connect. Collaborate.
References and
Recommended
Lectures
• Liz Rice: GopherCon 2018: The Go Programmer's Guide to Secure
Connections https://www.youtube.com/watch?v=kxKLYDLzuHA
• Hanno: CCC 2018: The Rocky Road to TLS 1.3 and better Internet
Encryption https://media.ccc.de/v/35c3-9607-
the_rocky_road_to_tls_1_3_and_better_internet_encryption

Más contenido relacionado

La actualidad más candente

Alfresco search services: Now and Then
Alfresco search services: Now and ThenAlfresco search services: Now and Then
Alfresco search services: Now and Then
Angel Borroy López
 

La actualidad más candente (20)

Alfresco DevCon 2019 - Alfresco Identity Services in Action
Alfresco DevCon 2019 - Alfresco Identity Services in ActionAlfresco DevCon 2019 - Alfresco Identity Services in Action
Alfresco DevCon 2019 - Alfresco Identity Services in Action
 
How to migrate from Alfresco Search Services to Alfresco SearchEnterprise
How to migrate from Alfresco Search Services to Alfresco SearchEnterpriseHow to migrate from Alfresco Search Services to Alfresco SearchEnterprise
How to migrate from Alfresco Search Services to Alfresco SearchEnterprise
 
Jose portillo dev con presentation 1138
Jose portillo   dev con presentation 1138Jose portillo   dev con presentation 1138
Jose portillo dev con presentation 1138
 
The Alfresco ECM 1 Billion Document Benchmark on AWS and Aurora - Benchmark ...
The Alfresco ECM 1 Billion Document Benchmark on AWS and Aurora  - Benchmark ...The Alfresco ECM 1 Billion Document Benchmark on AWS and Aurora  - Benchmark ...
The Alfresco ECM 1 Billion Document Benchmark on AWS and Aurora - Benchmark ...
 
Deep Dive: Alfresco Core Repository (... embedded in a micro-services style a...
Deep Dive: Alfresco Core Repository (... embedded in a micro-services style a...Deep Dive: Alfresco Core Repository (... embedded in a micro-services style a...
Deep Dive: Alfresco Core Repository (... embedded in a micro-services style a...
 
Alfresco Security Best Practices 2014
Alfresco Security Best Practices 2014Alfresco Security Best Practices 2014
Alfresco Security Best Practices 2014
 
Replacing Your Shared Drive with Alfresco - Open Source ECM
Replacing Your Shared Drive with Alfresco - Open Source ECMReplacing Your Shared Drive with Alfresco - Open Source ECM
Replacing Your Shared Drive with Alfresco - Open Source ECM
 
Exciting New Alfresco REST APIs
Exciting New Alfresco REST APIsExciting New Alfresco REST APIs
Exciting New Alfresco REST APIs
 
Alfresco tuning part1
Alfresco tuning part1Alfresco tuning part1
Alfresco tuning part1
 
Ef09 installing-alfresco-components-1-by-1
Ef09 installing-alfresco-components-1-by-1Ef09 installing-alfresco-components-1-by-1
Ef09 installing-alfresco-components-1-by-1
 
Guide to alfresco monitoring
Guide to alfresco monitoringGuide to alfresco monitoring
Guide to alfresco monitoring
 
Alfresco Transform Service DevCon 2019
Alfresco Transform Service DevCon 2019Alfresco Transform Service DevCon 2019
Alfresco Transform Service DevCon 2019
 
Upgrading to Alfresco 6
Upgrading to Alfresco 6Upgrading to Alfresco 6
Upgrading to Alfresco 6
 
Architectural changes in the repo in 6.1 and beyond
Architectural changes in the repo in 6.1 and beyondArchitectural changes in the repo in 6.1 and beyond
Architectural changes in the repo in 6.1 and beyond
 
Alfresco search services: Now and Then
Alfresco search services: Now and ThenAlfresco search services: Now and Then
Alfresco search services: Now and Then
 
Storage and Alfresco
Storage and AlfrescoStorage and Alfresco
Storage and Alfresco
 
Alfresco DevCon 2019 Performance Tools of the Trade
Alfresco DevCon 2019   Performance Tools of the TradeAlfresco DevCon 2019   Performance Tools of the Trade
Alfresco DevCon 2019 Performance Tools of the Trade
 
Moving Gigantic Files Into and Out of the Alfresco Repository
Moving Gigantic Files Into and Out of the Alfresco RepositoryMoving Gigantic Files Into and Out of the Alfresco Repository
Moving Gigantic Files Into and Out of the Alfresco Repository
 
Alfresco node lifecyle, services and zones
Alfresco node lifecyle, services and zonesAlfresco node lifecyle, services and zones
Alfresco node lifecyle, services and zones
 
Alfresco/Activiti Modeler Application - Andras Popovics - 2019
Alfresco/Activiti Modeler Application - Andras Popovics - 2019Alfresco/Activiti Modeler Application - Andras Popovics - 2019
Alfresco/Activiti Modeler Application - Andras Popovics - 2019
 

Similar a Alfresco DevCon 2019: Encryption at-rest and in-transit

Similar a Alfresco DevCon 2019: Encryption at-rest and in-transit (20)

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
 
Certificate pinning in android applications
Certificate pinning in android applicationsCertificate pinning in android applications
Certificate pinning in android applications
 
Cyber security workshop talk.pptx
Cyber security workshop talk.pptxCyber security workshop talk.pptx
Cyber security workshop talk.pptx
 
15 intro to ssl certificate & pki concept
15 intro to ssl certificate & pki concept15 intro to ssl certificate & pki concept
15 intro to ssl certificate & pki concept
 
Network Security_Module_2_Dr Shivashankar
Network Security_Module_2_Dr ShivashankarNetwork Security_Module_2_Dr Shivashankar
Network Security_Module_2_Dr Shivashankar
 
Hybrid - Seguridad en Contenedores v3.pptx
Hybrid - Seguridad en Contenedores v3.pptxHybrid - Seguridad en Contenedores v3.pptx
Hybrid - Seguridad en Contenedores v3.pptx
 
F5 TLS & SSL Practices
F5 TLS & SSL PracticesF5 TLS & SSL Practices
F5 TLS & SSL Practices
 
Deploying Next Generation Firewalling with ASA - CX
Deploying Next Generation Firewalling with ASA - CXDeploying Next Generation Firewalling with ASA - CX
Deploying Next Generation Firewalling with ASA - CX
 
Unit08
Unit08Unit08
Unit08
 
Introduction of an SSL Certificate
Introduction of an SSL CertificateIntroduction of an SSL Certificate
Introduction of an SSL Certificate
 
Protecting Sensitive Data (and be PCI Compliant too!)
Protecting Sensitive Data (and be PCI Compliant too!)Protecting Sensitive Data (and be PCI Compliant too!)
Protecting Sensitive Data (and be PCI Compliant too!)
 
An Introduction to DANE - Securing TLS using DNSSEC
An Introduction to DANE - Securing TLS using DNSSECAn Introduction to DANE - Securing TLS using DNSSEC
An Introduction to DANE - Securing TLS using DNSSEC
 
Webinar SSL English
Webinar SSL EnglishWebinar SSL English
Webinar SSL English
 
Dr. Omar Ali Alibrahim - Ssl talk
Dr. Omar Ali Alibrahim - Ssl talkDr. Omar Ali Alibrahim - Ssl talk
Dr. Omar Ali Alibrahim - Ssl talk
 
Certificates, PKI, and SSL/TLS for infrastructure builders and operators
Certificates, PKI, and SSL/TLS for infrastructure builders and operatorsCertificates, PKI, and SSL/TLS for infrastructure builders and operators
Certificates, PKI, and SSL/TLS for infrastructure builders and operators
 
Cloud security privacy- org
Cloud security  privacy- orgCloud security  privacy- org
Cloud security privacy- org
 
Network Design and Security Best Practices
Network Design and Security Best PracticesNetwork Design and Security Best Practices
Network Design and Security Best Practices
 
CLOUD SECURITY.pptx
CLOUD SECURITY.pptxCLOUD SECURITY.pptx
CLOUD SECURITY.pptx
 
TLS/SSL - Study of Secured Communications
TLS/SSL - Study of Secured  CommunicationsTLS/SSL - Study of Secured  Communications
TLS/SSL - Study of Secured Communications
 
Secure socket later
Secure socket laterSecure socket later
Secure socket later
 

Más de Toni de la Fuente

Monitoring Alfresco with Nagios/Icinga
Monitoring Alfresco with Nagios/IcingaMonitoring Alfresco with Nagios/Icinga
Monitoring Alfresco with Nagios/Icinga
Toni de la Fuente
 
Alfresco Day Madrid - Jeff Potts - Community
Alfresco Day Madrid - Jeff Potts - CommunityAlfresco Day Madrid - Jeff Potts - Community
Alfresco Day Madrid - Jeff Potts - Community
Toni de la Fuente
 
Alfresco Day Madrid - Jeff Potts - Activiti
Alfresco Day Madrid - Jeff Potts - ActivitiAlfresco Day Madrid - Jeff Potts - Activiti
Alfresco Day Madrid - Jeff Potts - Activiti
Toni de la Fuente
 
Alfresco Day Madrid - Partner - VASS
Alfresco Day Madrid - Partner - VASSAlfresco Day Madrid - Partner - VASS
Alfresco Day Madrid - Partner - VASS
Toni de la Fuente
 

Más de Toni de la Fuente (20)

SANS Cloud Security Summit 2018: Forensics as a Service
SANS Cloud Security Summit 2018: Forensics as a ServiceSANS Cloud Security Summit 2018: Forensics as a Service
SANS Cloud Security Summit 2018: Forensics as a Service
 
OWASP Atlanta 2018: Forensics as a Service
OWASP Atlanta 2018: Forensics as a ServiceOWASP Atlanta 2018: Forensics as a Service
OWASP Atlanta 2018: Forensics as a Service
 
Alfresco DevCon 2018: From Zero to Hero Backing up Alfresco
Alfresco DevCon 2018: From Zero to Hero Backing up AlfrescoAlfresco DevCon 2018: From Zero to Hero Backing up Alfresco
Alfresco DevCon 2018: From Zero to Hero Backing up Alfresco
 
Alabama CyberNow 2018: Cloud Hardening and Digital Forensics Readiness
Alabama CyberNow 2018: Cloud Hardening and Digital Forensics ReadinessAlabama CyberNow 2018: Cloud Hardening and Digital Forensics Readiness
Alabama CyberNow 2018: Cloud Hardening and Digital Forensics Readiness
 
Prowler: BlackHat Europe Arsenal 2018
Prowler: BlackHat Europe Arsenal 2018Prowler: BlackHat Europe Arsenal 2018
Prowler: BlackHat Europe Arsenal 2018
 
TTL Alfresco Product Security and Best Practices 2017
TTL Alfresco Product Security and Best Practices 2017TTL Alfresco Product Security and Best Practices 2017
TTL Alfresco Product Security and Best Practices 2017
 
Automate or die! Rootedcon 2017
Automate or die! Rootedcon 2017Automate or die! Rootedcon 2017
Automate or die! Rootedcon 2017
 
Seguridad en Internet para todos los públicos
Seguridad en Internet para todos los públicosSeguridad en Internet para todos los públicos
Seguridad en Internet para todos los públicos
 
Alfresco security best practices CHECK LIST ONLY
Alfresco security best practices CHECK LIST ONLYAlfresco security best practices CHECK LIST ONLY
Alfresco security best practices CHECK LIST ONLY
 
Alfresco One (Enterprise) vs Alfresco Community 2014
Alfresco One (Enterprise) vs Alfresco Community 2014Alfresco One (Enterprise) vs Alfresco Community 2014
Alfresco One (Enterprise) vs Alfresco Community 2014
 
Alfresco Backup and Recovery Tool: a real world backup solution for Alfresco
Alfresco Backup and Recovery Tool: a real world backup solution for AlfrescoAlfresco Backup and Recovery Tool: a real world backup solution for Alfresco
Alfresco Backup and Recovery Tool: a real world backup solution for Alfresco
 
Comparativa entre Alfresco Enterprise vs Community
Comparativa entre Alfresco Enterprise vs Community Comparativa entre Alfresco Enterprise vs Community
Comparativa entre Alfresco Enterprise vs Community
 
Alfresco Security Best Practices 2012
Alfresco Security Best Practices 2012Alfresco Security Best Practices 2012
Alfresco Security Best Practices 2012
 
Monitoring Alfresco with Nagios/Icinga
Monitoring Alfresco with Nagios/IcingaMonitoring Alfresco with Nagios/Icinga
Monitoring Alfresco with Nagios/Icinga
 
Nuevo Alfresco Records Management 2.0
Nuevo Alfresco Records Management 2.0Nuevo Alfresco Records Management 2.0
Nuevo Alfresco Records Management 2.0
 
Consejos de seguridad con Alfresco
Consejos de seguridad con AlfrescoConsejos de seguridad con Alfresco
Consejos de seguridad con Alfresco
 
Alfresco y SOLR, presentación en español
Alfresco y SOLR, presentación en españolAlfresco y SOLR, presentación en español
Alfresco y SOLR, presentación en español
 
Alfresco Day Madrid - Jeff Potts - Community
Alfresco Day Madrid - Jeff Potts - CommunityAlfresco Day Madrid - Jeff Potts - Community
Alfresco Day Madrid - Jeff Potts - Community
 
Alfresco Day Madrid - Jeff Potts - Activiti
Alfresco Day Madrid - Jeff Potts - ActivitiAlfresco Day Madrid - Jeff Potts - Activiti
Alfresco Day Madrid - Jeff Potts - Activiti
 
Alfresco Day Madrid - Partner - VASS
Alfresco Day Madrid - Partner - VASSAlfresco Day Madrid - Partner - VASS
Alfresco Day Madrid - Partner - VASS
 

Último

Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
Joaquim Jorge
 

Último (20)

Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
Tech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfTech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdf
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 

Alfresco DevCon 2019: Encryption at-rest and in-transit

  • 1. Encryption At-Rest and In-Transit: Survival Guide Toni de la Fuente Lead SecOps and Security Architect Edinburgh, January 30th 2019
  • 2. Learn. Connect. Collaborate. Who am I Click to speaker
  • 3. Agenda • Requirements • Encryption Foundations • Encryption At-Rest – Native on premises – Third party on premises – Cloud • Encryption In-Transit – TLS and mTLS – Service to Service – Service Mesh
  • 5. Learn. Connect. Collaborate. Requirements: • Organization policies and compliance • Industry or government regulations • Protect privacy • Minimizes unauthorized access to data CIA triad: Information Security Integrity Availability Confidentiality Authenticity Accountability Non-repudiation
  • 7. Learn. Connect. Collaborate. Foundations • Encryption keeps confidentiality and a key un-encrypt: AES (symmetric), Blowfish (symmetric), RSA (asymmetric) • Hashing checks integrity of data by creating a hash or digest with one-way function (signatures): SHA, MD5, MD4, etc. • Encoding is for maintaining data usability and can be reversed by employing the same algorithm that encoded the content: ASCII, Unicode, URL Encoding, Base64 • Obfuscation is used to prevent people from understanding the meaning of something, like source code
  • 8. Learn. Connect. Collaborate. Symmetric key encryption Alice wants to send an encrypted message to Boriss: Key (1234) Plaintext Ciphertext A B C D E F G H I J K 99rwV+HMzEX4ux1O9t0TwQ== Algorithm Blowfish, AES, DES, TripleDES, etc. They both use the same key to encrypt and decryptThis process is usually FAST
  • 9. Learn. Connect. Collaborate. Asymmetric key encryption: public and private keys Alice wants to send an encrypted message to Boriss: Alice uses Boriss’ Public Key (1234) Plaintext Ciphertext A B C D E F G H I J K 99rwV+HMzEX4ux1O9t0TwQ== Algorithm RSA, ElGamal, etc. Boriss uses his Private Key to decrypt (5678) Alice only needs to know Bob’s public keyThis process is usually SLOW
  • 10. Learn. Connect. Collaborate. Certificates: X.509 (RFC6818) A certificate has: • subject name • subject’s public key • issuer name (CA name) • validity • signed by CA
  • 11. Learn. Connect. Collaborate. Tools and Common File Formats • Many tools like OpenSSL, keytool, cfssl, mkcert, minica • Encoding: – DER: binary cert encoded with DER .cer or .crt files – PEM: ASCII (base64 encoded) cert .cer or .crt or .pem files “----BEGIN CERTIFICATE----” “----END CERTIFICATE----” • File extension: – .crt: Unix/Linux convention for a DER or Base64 PEM – .cer: MS convention for a DER or Base64 PEM – .key: public or private key PKCS#8. DER or PEM
  • 13. Learn. Connect. Collaborate. What is encryption at-rest? Protect stored data from unauthorized access using encryption at block, file, directory, file system or full disk level with keys
  • 14. Learn. Connect. Collaborate. Where do we store information today? • Alfresco CS Content Store • Alfresco CS Database • Alfresco CS Indexes • Alfresco CS Shared File Store (new Transformation Service) • Alfresco PS Database • Alfresco Identity Database (Keycloak) • Alfresco mobile Apps DBs DBs DBs File System Network Storage
  • 15. Learn. Connect. Collaborate. How can we encrypt stored data? • Natively → Encryption add-on for Alfresco Content Store (application side encryption) Repo Storage doc doc doc doc Encrypted content store feature added DB Indexes / Transformations • Uses Java Cryptography Extension (supports HW encryption) • Each content element encrypted with individual symmetric key (AES 128 bit default). Symmetric keys are stored in alf_content_url_encryption table • Content keys then encrypted with asymmetric master key-pair (RSA)
  • 16. Learn. Connect. Collaborate. How can we encrypt stored data? • Third parties → for Alfresco Content Store and everything else Repo Storage doc doc doc doc Encrypted content store feature added DB Indexes / Transformations • File system level tools • AWS EBS or S3 Server Side Encryption, RDS volume encryption • MSSQL or Oracle TDE
  • 17. An introduction to mTLS and Service Mesh
  • 19. Learn. Connect. Collaborate. Intro • What is encryption in-transit? • TLS and mTLS • SSL Offloading • Our Research and POCs: – Service to Service – Service Mesh
  • 20. Learn. Connect. Collaborate. What is encryption in-transit? Protect moving data from unauthorized access using encryption on the wire with protocols like TLS or IPsec and keys
  • 21. Learn. Connect. Collaborate. TLS and mTLS • SSL/TLS History: – 1995: SSL v2 (deprecated in 2011) – 1996: SSL v3 (deprecated in 2015) – 1999: TLS 1.0 (deprecation 2020) * – 2006: TLS 1.1 (deprecation 2020) * – 2008: TLS 1.2 * – 2018: TLS 1.3 * Vulnerable depending on browser or cipher used (POODLE, FREAK RC4 attacks and others) • TLS: are cryptographic protocols that provide communications security over a computer network. It uses symmetric cryptography to encrypt data transmitted and public-key cryptography for authentication. Authentication usually is from the server side only (using X.509 certs). • mTLS: mutual authentication using X.509 cert, commonly used between servers, applications or services.
  • 22. Learn. Connect. Collaborate. SSL Offloading Repo Storage doc doc doc doc DBs File System Indexes / Transformations Service A Service B Service C Service D Service E Service F HTTP over TLS LB Plain HTTP
  • 23. Learn. Connect. Collaborate. How does TLS and mTLS look like together? Repo Storage doc doc doc doc DBs File System Indexes / Transformations Service A Service B Service C Service D Service E Service FJDBC over TLS HTTP over TLS HTTP over TLS with mutual Authenticati on = mTLS LB HTTP over TLS
  • 24. Learn. Connect. Collaborate. mTLS: Java Implementation High Level Overview Service A Service C Service B -Service A is client of Service B and server for Service C -Service B is client for Service C and server for Service A -Service C is client for Service A and server for Service B Client Server keystore truststore keystore truststore 1. Service connection requested 2. Provides server certificate 3. Client verifies server cert authenticity using CA cert 4. Provides client certificate 5. Server Verifies client cert authenticity using CA cert 6. They agree and share a symmetric session key for encryption and decryption and communication starts Server Certific ate Server Private Key CA Certific ate CA Certific ate Client Certific ate Client Private Key
  • 25. Disclaimer • The information contained in these presentations is intended to inform the developer community based on a working prototype and should not be relied upon in making purchasing decisions. • The content is for informational purposes only and may not be incorporated into any contract. • The information presented is not a commitment, promise, or legal obligation to deliver any material, code or functionality. • Any references to the development, release, and timing of any features or functionality described for these products remains at Alfresco's sole discretion • Product capabilities, timeframes and features are subject to change and should not be viewed as Alfresco commitments.
  • 26. Learn. Connect. Collaborate. Our Research Service to Service Service Mesh Remember: We want to see what is the best way to implement encryption and authentication between services! Tested with Alfresco CS 6.1, our Helm charts and EKS in AWS.
  • 28. Learn. Connect. Collaborate. Internet LB / Proxy Tomcat Tomcat Tomcat DB File Storage 1. Load balancing 2. Application 3. Data #10YearsChallenge 2009
  • 30. Learn. Connect. Collaborate. Layers! + Virtual Machine + Host + Infrastructure vendor https://adam.shostack.org/blog/2018/05/threat-model-thursday-google-on-kubernetes/ Java VM
  • 32. Learn. Connect. Collaborate. Service-to-Service Encryption in-transit and Authentication POC • mTLS configuration per service/microservice • Automated with customized Helm chart and services • Repo and Solr communication was already mTLS • Limitations: – Repository service can’t do mTLS with transformation services: handshake fails – SSL certificate CN must match with domain name of internal services (requires usage of a CA) – mTLS between ELB and ingress – Automating certificate generation via Helm chart Kudos to Abdul Mohammed!
  • 33. Learn. Connect. Collaborate. Service Mesh Intro • Challenges managing microservice architecture or service-oriented architecture – Multiple services, different IP, different hosts – Routing and discovery challenges – Network security challenges – Compatibility – Multi-level network awareness • Patterns: – Sidecar – Ambassador – Adapter or Node Agent • Known open source options: – Istio (Google, IBM and Lyft) - mTLS stable – Linkerd (Buoyant.io) - mTLS experimental – Consul (Hashicorp) - mTLS through Consul Connect – App Mesh (AWS) preview - no mTLS support
  • 34. Learn. Connect. Collaborate. Istio Requirements and Features • Requirements: – For us: end-to-end encryption and authentication – Discovery, load balancing, failure recovery, metrics, monitoring, A/B testing, canary releases, rate limiting and access control. • Istio Features: – Automatic load balancing for HTTP, gRPC, WebSocket, and TCP traffic. – Fine-grained control of traffic behavior with rich routing rules, retries, failovers, and fault injection. – A pluggable policy layer and configuration API supporting access controls, rate limits and quotas. – Automatic metrics, logs, and traces for all traffic within a cluster, including cluster ingress and egress. – Secure service-to-service communication in a cluster with strong identity-based authentication and authorization.
  • 35. Learn. Connect. Collaborate. Istio Architecture ● Data Plane ● Control Plane ● Components: ● Envoy: proxy per {micro}service ● Mixer: policies, telemetry and plugins ● Pilot: service discovery ● Citadel: manages certs for authorization and authentication ● Galley: istio API ● Others: ingress and egress gateways, injector, etc. https://istio.io/docs/concepts/security/architecture.svg
  • 36. Demo
  • 37. Learn. Connect. Collaborate. Related Sessions • TODAY – 13:30-14:00 Shea Nangle: Best Practices for DIY Alfresco Security – 15:00-15:30 Gavin Cornwell & Morris Singer: Alfresco Digital Business Platform on EKS • TOMORROW – 15:00-15:30 Sergiu Vidrascu: Developing on Kubernetes – 15:00-15:30 Ciju Joseph: Azure Devops and Alfresco DBP – 16:00-16:30 Luis Cabaciera & Victor Moreira: GDPR Watchdog
  • 40. Learn. Connect. Collaborate. References and Recommended Lectures • Liz Rice: GopherCon 2018: The Go Programmer's Guide to Secure Connections https://www.youtube.com/watch?v=kxKLYDLzuHA • Hanno: CCC 2018: The Rocky Road to TLS 1.3 and better Internet Encryption https://media.ccc.de/v/35c3-9607- the_rocky_road_to_tls_1_3_and_better_internet_encryption