SlideShare a Scribd company logo
1@solarwinds
GDPR Compliance: Transparent Handing of
PII in Event-Driven Systems
Masih H. Derkani
© 2020 SolarWinds Worldwide, LLC. All rights reserved.
2@solarwinds
GDPR* Compliance
© 2020 SolarWinds Worldwide, LLC. All rights reserved.
Right to be forgotten
* https://bit.ly/39w1LhR
≈ within 28 Days
3@solarwinds
Personally Identifiable
Information
© 2020 SolarWinds Worldwide, LLC. All rights reserved.
Email, IP Address, Name, Location, Cookies, etc.
Information relating to natural persons
who can be directly or indirectly
identified.*
* https://bit.ly/3303uuv
4@solarwinds© 2020 SolarWinds Worldwide, LLC. All rights reserved.
Enter…
Immutable, Append-only, Replicated
Logs.
Great for fault-tolerance;
not so much for GDPR Compliance.
5@solarwinds© 2020 SolarWinds Worldwide, LLC. All rights reserved.
6@solarwinds 6@solarwinds
retention.ms<2419200000
© 2020 SolarWinds Worldwide, LLC. All rights reserved.
7@solarwinds© 2020 SolarWinds Worldwide, LLC. All rights reserved.
Simple to “forget” data.
Effective.
Minimal Effort.
Retention duration cannot be longer than 28 days.
Data is not removed on demand.
Cannot have per “natural person” access control.
High risk of leftover data.
But…
Retention duration
less than 28 days
8@solarwinds© 2020 SolarWinds Worldwide, LLC. All rights reserved.
9@solarwinds 9@solarwinds
Crypto-shredding
© 2020 SolarWinds Worldwide, LLC. All rights reserved.
“…the practice of 'deleting' data by deliberately deleting or overwriting the encryption keys.” *
* https://bit.ly/39waDEb
10@solarwinds© 2020 SolarWinds Worldwide, LLC. All rights reserved.
Simple to “forget” data.
On demand data removal.
Fine-grained access control over data.
Lower risk of leftover data.
Medium to high engineering effort.
Extra COGS.
Requires careful key management.
Will impact throughput.
But…
Crypto-shredding
11@solarwinds© 2020 SolarWinds Worldwide, LLC. All rights reserved.
Encryption key per:
Cluster
Topic
User
Crypto-shredding
12@solarwinds© 2020 SolarWinds Worldwide, LLC. All rights reserved.
Per User
Encryption Key
6. Decrypted
Key Management System
2. Encrypted
1. Encrypt
3. SendProducer
5. Decrypt
Consumer4. Poll
  Encrypted PII Payload   Plain PII Payload TLS/SSL Communication Flow
13@solarwinds© 2020 SolarWinds Worldwide, LLC. All rights reserved.
Key Management
System
Producer Encrypt
14@solarwinds© 2020 SolarWinds Worldwide, LLC. All rights reserved.
Key Management
System
Consumer Decrypt
15@solarwinds© 2020 SolarWinds Worldwide, LLC. All rights reserved.
Per User
Encryption Key
16@solarwinds© 2020 SolarWinds Worldwide, LLC. All rights reserved.
Per User
Encryption Key
17@solarwinds© 2020 SolarWinds Worldwide, LLC. All rights reserved.
Messages typically have a
schema.
Not all fields are PII.
Not all consumers care about
PII.
Per User
Encryption Key
18@solarwinds 18@solarwinds© 2020 SolarWinds Worldwide, LLC. All rights reserved.
Identify PII fields.
Build it into Message Schema.
Partially encrypt Message.
19@solarwinds© 2020 SolarWinds Worldwide, LLC. All rights reserved.
Per User
Encryption Key
ProtocolBuffer Message Schema.
syntax = "proto3";
message MyMessage {
string email = 1;
string first_name = 2;
string last_name = 3;
double purchase_value = 4;
}
20@solarwinds© 2020 SolarWinds Worldwide, LLC. All rights reserved.
Identify PII fields
…using Custom Options*
built into Message Schema
* https://bit.ly/2WZ3GGC
21@solarwinds© 2020 SolarWinds Worldwide, LLC. All rights reserved.
Identify PII fields
…using Custom Options*
built into Message Schema
* https://bit.ly/2WZ3GGC
syntax = "proto3";
import "google/protobuf/descriptor.proto";
extend google.protobuf.FieldOptions { GDPRCompliance gdpr = 51234; }
message GDPRCompliance { bool key = 1; bool pii = 2; }
message MyMessage {
string email = 1 [(gdpr) = {pii: true, key: true}];
string first_name = 2 [(gdpr) = {pii: true}];
string last_name = 3 [(gdpr) = {pii: true}];
double purchase_value = 4;
}
22@solarwinds© 2020 SolarWinds Worldwide, LLC. All rights reserved.
Identify PII fields
…using Custom Options*
built into Message Schema
* https://bit.ly/2WZ3GGC
private Message processPIIFields(Message message) {
message.getAllFields().forEach((fieldDescriptor, value) -> {
final FieldOptions fieldOptions = fieldDescriptor.getOptions();
final MyProtoFile.GDPRCompliance gdpr = fieldOptions.getExtension(MyProtoFile.gdpr);
if (gdpr.getKey()) {
final String fieldName = fieldDescriptor.getName();
final Type fieldType = fieldDescriptor.getType();
...
}
});
...
}
23@solarwinds© 2020 SolarWinds Worldwide, LLC. All rights reserved.
Partially encrypt Message
…using interceptor.classes*
built into Kafka Client Library
* https://bit.ly/30Uwnpc
* https://bit.ly/2X0pRw7
24@solarwinds© 2020 SolarWinds Worldwide, LLC. All rights reserved.
Partially encrypt Message
…using interceptor.classes*
built into Kafka Client Library
* https://bit.ly/30Uwnpc
* https://bit.ly/2X0pRw7
class MyProducerInterceptor implements ProducerInterceptor<String, Message> {
@Override
public ProducerRecord<String, Message> onSend(final ProducerRecord<String, Message> record) {
final Message value = record.value();
final Message complyingValue = processPIIFields(value);
return new ProducerRecord<>(
record.topic(),
record.partition(),
record.timestamp(),
record.key(),
complyingValue,
record.headers());
}
...
}
25@solarwinds© 2020 SolarWinds Worldwide, LLC. All rights reserved.
Partially encrypt Message
…using interceptor.classes*
built into Kafka Client Library
* https://bit.ly/30Uwnpc
* https://bit.ly/2X0pRw7
final Properties config = new Properties();
config.put(ProducerConfig.INTERCEPTOR_CLASSES_CONFIG, MyProducerInterceptor.class.getName());
...
final KafkaProducer<String, MyProtoFile.MyMessage> producer = new KafkaProducer<>(config);
...
26@solarwinds© 2020 SolarWinds Worldwide, LLC. All rights reserved.
+
Contract-first PII specification.
Message Schema backward compatibility.
Transparent Kafka record interception.
Access to non-PII fields while remaining compliant;
only decrypt when needed.
27@solarwinds© 2020 SolarWinds Worldwide, LLC. All rights reserved.
-
Non-string field type not supported.
Only ProtocolBuffer Message Schema.
28@solarwinds© 2020 SolarWinds Worldwide, LLC. All rights reserved.
Future Work
Schema-agnostic partial encryption.
Utilising Kafka record Headers.
Nested messages with multiple PII Key.
POC non-Java clients.
Load test and throughput optimisation.
29@solarwinds
THANK
YOU
© 2020 SolarWinds Worldwide, LLC. All rights reserved.
🍻
30@solarwinds
Q&A
© 2020 SolarWinds Worldwide, LLC. All rights reserved.
?
31@solarwinds
This presentation contains forward-looking statements regarding future
product plans and development efforts. SolarWinds considers various
features and functionality prior to any final generally available release.
Information in this presentation regarding future features and
functionality is not and should not be interpreted as a commitment from
SolarWinds that it will deliver any specific feature or functionality in the
future or, if it delivers such feature or functionality, any time frame when
that feature or functionality will be delivered. All information is based
upon current product interests, and product plans and priorities can
change at any time. SolarWinds undertakes no obligation to update any
forward-looking statements regarding future product plans and
development efforts if product plans or priorities change.
© 2020 SolarWinds Worldwide, LLC. All rights reserved.
32@solarwinds
The SolarWinds, SolarWinds & Design, Orion, and THWACK
trademarks are the exclusive property of SolarWinds Worldwide,
LLC or its affiliates, are registered with the U.S. Patent and
Trademark Office, and may be registered or pending registration
in other countries. All other SolarWinds trademarks, service
marks, and logos may be common law marks or are registered or
pending registration. All other trademarks mentioned herein are
used for identification purposes only and are trademarks of (and
may be registered trademarks) of their respective companies.
© 2020 SolarWinds Worldwide, LLC. All rights reserved.

More Related Content

Similar to GDPR Compliance: Transparent Handing of Personally Identifiable Information in Event-Driven Systems (Masih Derkani, SolarWinds) Kafka Summit 2020

Introduction to Cybersecurity
Introduction to CybersecurityIntroduction to Cybersecurity
Introduction to Cybersecurity
Adri Jovin
 
Databases, CAP, ACID, BASE, NoSQL... oh my!
Databases, CAP, ACID, BASE, NoSQL... oh my!Databases, CAP, ACID, BASE, NoSQL... oh my!
Databases, CAP, ACID, BASE, NoSQL... oh my!
DATAVERSITY
 
Snowflake Data Science and AI/ML at Scale
Snowflake Data Science and AI/ML at ScaleSnowflake Data Science and AI/ML at Scale
Snowflake Data Science and AI/ML at Scale
Adam Doyle
 
Becoming Secure By Design: Questions You Should Ask Your Software Vendors
Becoming Secure By Design: Questions You Should Ask Your Software VendorsBecoming Secure By Design: Questions You Should Ask Your Software Vendors
Becoming Secure By Design: Questions You Should Ask Your Software Vendors
SolarWinds
 
04 - VMUGIT - Lecce 2018 - Giampiero Petrosi, Rubrik
04 - VMUGIT - Lecce 2018 - Giampiero Petrosi, Rubrik04 - VMUGIT - Lecce 2018 - Giampiero Petrosi, Rubrik
04 - VMUGIT - Lecce 2018 - Giampiero Petrosi, Rubrik
VMUG IT
 
C7 defending the cloud with monitoring and auditing
C7   defending the cloud with monitoring and auditingC7   defending the cloud with monitoring and auditing
C7 defending the cloud with monitoring and auditingDr. Wilfred Lin (Ph.D.)
 
U05 sss sccp-pm
U05 sss sccp-pmU05 sss sccp-pm
U05 sss sccp-pmLe Thi
 
apidays LIVE New York 2021 - Simplify Open Policy Agent with Styra DAS by Tim...
apidays LIVE New York 2021 - Simplify Open Policy Agent with Styra DAS by Tim...apidays LIVE New York 2021 - Simplify Open Policy Agent with Styra DAS by Tim...
apidays LIVE New York 2021 - Simplify Open Policy Agent with Styra DAS by Tim...
apidays
 
Rombit LSEC IoTSecurity IoTSBOM CyberSec Europe 2022
Rombit LSEC IoTSecurity IoTSBOM CyberSec Europe 2022Rombit LSEC IoTSecurity IoTSBOM CyberSec Europe 2022
Rombit LSEC IoTSecurity IoTSBOM CyberSec Europe 2022
Ulrich Seldeslachts
 
Software Supply Chain Security in CI/CD Environment
Software Supply Chain Security in CI/CD EnvironmentSoftware Supply Chain Security in CI/CD Environment
Software Supply Chain Security in CI/CD Environment
OWASP Hacker Thursday
 
Symantec Webinar Part 4 of 6 GDPR Compliance, What NAM Organizations Need to...
Symantec Webinar Part 4 of 6  GDPR Compliance, What NAM Organizations Need to...Symantec Webinar Part 4 of 6  GDPR Compliance, What NAM Organizations Need to...
Symantec Webinar Part 4 of 6 GDPR Compliance, What NAM Organizations Need to...
Symantec
 
Connected Silicon Security Challenges and Framework - Tyfone - Siva Narendra
Connected Silicon Security Challenges and Framework - Tyfone - Siva NarendraConnected Silicon Security Challenges and Framework - Tyfone - Siva Narendra
Connected Silicon Security Challenges and Framework - Tyfone - Siva Narendra
Tyfone, Inc.
 
Data Security Whitepaper
Data Security WhitepaperData Security Whitepaper
Data Security Whitepaper
Sample Solutions
 
IDERA Live | Have No Fear the DBA is Here: Protecting Data Resources
IDERA Live | Have No Fear the DBA is Here: Protecting Data ResourcesIDERA Live | Have No Fear the DBA is Here: Protecting Data Resources
IDERA Live | Have No Fear the DBA is Here: Protecting Data Resources
IDERA Software
 
Meet up roadmap cloudera 2020 - janeiro
Meet up   roadmap cloudera 2020 - janeiroMeet up   roadmap cloudera 2020 - janeiro
Meet up roadmap cloudera 2020 - janeiro
Thiago Santiago
 
Security Best Practices for Mobile Development
Security Best Practices for Mobile DevelopmentSecurity Best Practices for Mobile Development
Security Best Practices for Mobile DevelopmentSalesforce Developers
 
[CB21] The Lazarus Group's Attack Operations Targeting Japan by Shusei Tomona...
[CB21] The Lazarus Group's Attack Operations Targeting Japan by Shusei Tomona...[CB21] The Lazarus Group's Attack Operations Targeting Japan by Shusei Tomona...
[CB21] The Lazarus Group's Attack Operations Targeting Japan by Shusei Tomona...
CODE BLUE
 
Government Webinar: Alerting and Reporting in the Age of Observability
Government Webinar: Alerting and Reporting in the Age of ObservabilityGovernment Webinar: Alerting and Reporting in the Age of Observability
Government Webinar: Alerting and Reporting in the Age of Observability
SolarWinds
 
Gdpr action plan - ISSA
Gdpr action plan - ISSAGdpr action plan - ISSA
Gdpr action plan - ISSA
Ulf Mattsson
 
Digi.me Private Sharing Platform & SDKs
Digi.me Private Sharing Platform & SDKsDigi.me Private Sharing Platform & SDKs
Digi.me Private Sharing Platform & SDKs
Tarik Kurspahic
 

Similar to GDPR Compliance: Transparent Handing of Personally Identifiable Information in Event-Driven Systems (Masih Derkani, SolarWinds) Kafka Summit 2020 (20)

Introduction to Cybersecurity
Introduction to CybersecurityIntroduction to Cybersecurity
Introduction to Cybersecurity
 
Databases, CAP, ACID, BASE, NoSQL... oh my!
Databases, CAP, ACID, BASE, NoSQL... oh my!Databases, CAP, ACID, BASE, NoSQL... oh my!
Databases, CAP, ACID, BASE, NoSQL... oh my!
 
Snowflake Data Science and AI/ML at Scale
Snowflake Data Science and AI/ML at ScaleSnowflake Data Science and AI/ML at Scale
Snowflake Data Science and AI/ML at Scale
 
Becoming Secure By Design: Questions You Should Ask Your Software Vendors
Becoming Secure By Design: Questions You Should Ask Your Software VendorsBecoming Secure By Design: Questions You Should Ask Your Software Vendors
Becoming Secure By Design: Questions You Should Ask Your Software Vendors
 
04 - VMUGIT - Lecce 2018 - Giampiero Petrosi, Rubrik
04 - VMUGIT - Lecce 2018 - Giampiero Petrosi, Rubrik04 - VMUGIT - Lecce 2018 - Giampiero Petrosi, Rubrik
04 - VMUGIT - Lecce 2018 - Giampiero Petrosi, Rubrik
 
C7 defending the cloud with monitoring and auditing
C7   defending the cloud with monitoring and auditingC7   defending the cloud with monitoring and auditing
C7 defending the cloud with monitoring and auditing
 
U05 sss sccp-pm
U05 sss sccp-pmU05 sss sccp-pm
U05 sss sccp-pm
 
apidays LIVE New York 2021 - Simplify Open Policy Agent with Styra DAS by Tim...
apidays LIVE New York 2021 - Simplify Open Policy Agent with Styra DAS by Tim...apidays LIVE New York 2021 - Simplify Open Policy Agent with Styra DAS by Tim...
apidays LIVE New York 2021 - Simplify Open Policy Agent with Styra DAS by Tim...
 
Rombit LSEC IoTSecurity IoTSBOM CyberSec Europe 2022
Rombit LSEC IoTSecurity IoTSBOM CyberSec Europe 2022Rombit LSEC IoTSecurity IoTSBOM CyberSec Europe 2022
Rombit LSEC IoTSecurity IoTSBOM CyberSec Europe 2022
 
Software Supply Chain Security in CI/CD Environment
Software Supply Chain Security in CI/CD EnvironmentSoftware Supply Chain Security in CI/CD Environment
Software Supply Chain Security in CI/CD Environment
 
Symantec Webinar Part 4 of 6 GDPR Compliance, What NAM Organizations Need to...
Symantec Webinar Part 4 of 6  GDPR Compliance, What NAM Organizations Need to...Symantec Webinar Part 4 of 6  GDPR Compliance, What NAM Organizations Need to...
Symantec Webinar Part 4 of 6 GDPR Compliance, What NAM Organizations Need to...
 
Connected Silicon Security Challenges and Framework - Tyfone - Siva Narendra
Connected Silicon Security Challenges and Framework - Tyfone - Siva NarendraConnected Silicon Security Challenges and Framework - Tyfone - Siva Narendra
Connected Silicon Security Challenges and Framework - Tyfone - Siva Narendra
 
Data Security Whitepaper
Data Security WhitepaperData Security Whitepaper
Data Security Whitepaper
 
IDERA Live | Have No Fear the DBA is Here: Protecting Data Resources
IDERA Live | Have No Fear the DBA is Here: Protecting Data ResourcesIDERA Live | Have No Fear the DBA is Here: Protecting Data Resources
IDERA Live | Have No Fear the DBA is Here: Protecting Data Resources
 
Meet up roadmap cloudera 2020 - janeiro
Meet up   roadmap cloudera 2020 - janeiroMeet up   roadmap cloudera 2020 - janeiro
Meet up roadmap cloudera 2020 - janeiro
 
Security Best Practices for Mobile Development
Security Best Practices for Mobile DevelopmentSecurity Best Practices for Mobile Development
Security Best Practices for Mobile Development
 
[CB21] The Lazarus Group's Attack Operations Targeting Japan by Shusei Tomona...
[CB21] The Lazarus Group's Attack Operations Targeting Japan by Shusei Tomona...[CB21] The Lazarus Group's Attack Operations Targeting Japan by Shusei Tomona...
[CB21] The Lazarus Group's Attack Operations Targeting Japan by Shusei Tomona...
 
Government Webinar: Alerting and Reporting in the Age of Observability
Government Webinar: Alerting and Reporting in the Age of ObservabilityGovernment Webinar: Alerting and Reporting in the Age of Observability
Government Webinar: Alerting and Reporting in the Age of Observability
 
Gdpr action plan - ISSA
Gdpr action plan - ISSAGdpr action plan - ISSA
Gdpr action plan - ISSA
 
Digi.me Private Sharing Platform & SDKs
Digi.me Private Sharing Platform & SDKsDigi.me Private Sharing Platform & SDKs
Digi.me Private Sharing Platform & SDKs
 

More from confluent

Speed Wins: From Kafka to APIs in Minutes
Speed Wins: From Kafka to APIs in MinutesSpeed Wins: From Kafka to APIs in Minutes
Speed Wins: From Kafka to APIs in Minutes
confluent
 
Evolving Data Governance for the Real-time Streaming and AI Era
Evolving Data Governance for the Real-time Streaming and AI EraEvolving Data Governance for the Real-time Streaming and AI Era
Evolving Data Governance for the Real-time Streaming and AI Era
confluent
 
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
confluent
 
Santander Stream Processing with Apache Flink
Santander Stream Processing with Apache FlinkSantander Stream Processing with Apache Flink
Santander Stream Processing with Apache Flink
confluent
 
Unlocking the Power of IoT: A comprehensive approach to real-time insights
Unlocking the Power of IoT: A comprehensive approach to real-time insightsUnlocking the Power of IoT: A comprehensive approach to real-time insights
Unlocking the Power of IoT: A comprehensive approach to real-time insights
confluent
 
Workshop híbrido: Stream Processing con Flink
Workshop híbrido: Stream Processing con FlinkWorkshop híbrido: Stream Processing con Flink
Workshop híbrido: Stream Processing con Flink
confluent
 
Industry 4.0: Building the Unified Namespace with Confluent, HiveMQ and Spark...
Industry 4.0: Building the Unified Namespace with Confluent, HiveMQ and Spark...Industry 4.0: Building the Unified Namespace with Confluent, HiveMQ and Spark...
Industry 4.0: Building the Unified Namespace with Confluent, HiveMQ and Spark...
confluent
 
AWS Immersion Day Mapfre - Confluent
AWS Immersion Day Mapfre   -   ConfluentAWS Immersion Day Mapfre   -   Confluent
AWS Immersion Day Mapfre - Confluent
confluent
 
Eventos y Microservicios - Santander TechTalk
Eventos y Microservicios - Santander TechTalkEventos y Microservicios - Santander TechTalk
Eventos y Microservicios - Santander TechTalk
confluent
 
Q&A with Confluent Experts: Navigating Networking in Confluent Cloud
Q&A with Confluent Experts: Navigating Networking in Confluent CloudQ&A with Confluent Experts: Navigating Networking in Confluent Cloud
Q&A with Confluent Experts: Navigating Networking in Confluent Cloud
confluent
 
Citi TechTalk Session 2: Kafka Deep Dive
Citi TechTalk Session 2: Kafka Deep DiveCiti TechTalk Session 2: Kafka Deep Dive
Citi TechTalk Session 2: Kafka Deep Dive
confluent
 
Build real-time streaming data pipelines to AWS with Confluent
Build real-time streaming data pipelines to AWS with ConfluentBuild real-time streaming data pipelines to AWS with Confluent
Build real-time streaming data pipelines to AWS with Confluent
confluent
 
Q&A with Confluent Professional Services: Confluent Service Mesh
Q&A with Confluent Professional Services: Confluent Service MeshQ&A with Confluent Professional Services: Confluent Service Mesh
Q&A with Confluent Professional Services: Confluent Service Mesh
confluent
 
Citi Tech Talk: Event Driven Kafka Microservices
Citi Tech Talk: Event Driven Kafka MicroservicesCiti Tech Talk: Event Driven Kafka Microservices
Citi Tech Talk: Event Driven Kafka Microservices
confluent
 
Confluent & GSI Webinars series - Session 3
Confluent & GSI Webinars series - Session 3Confluent & GSI Webinars series - Session 3
Confluent & GSI Webinars series - Session 3
confluent
 
Citi Tech Talk: Messaging Modernization
Citi Tech Talk: Messaging ModernizationCiti Tech Talk: Messaging Modernization
Citi Tech Talk: Messaging Modernization
confluent
 
Citi Tech Talk: Data Governance for streaming and real time data
Citi Tech Talk: Data Governance for streaming and real time dataCiti Tech Talk: Data Governance for streaming and real time data
Citi Tech Talk: Data Governance for streaming and real time data
confluent
 
Confluent & GSI Webinars series: Session 2
Confluent & GSI Webinars series: Session 2Confluent & GSI Webinars series: Session 2
Confluent & GSI Webinars series: Session 2
confluent
 
Data In Motion Paris 2023
Data In Motion Paris 2023Data In Motion Paris 2023
Data In Motion Paris 2023
confluent
 
Confluent Partner Tech Talk with Synthesis
Confluent Partner Tech Talk with SynthesisConfluent Partner Tech Talk with Synthesis
Confluent Partner Tech Talk with Synthesis
confluent
 

More from confluent (20)

Speed Wins: From Kafka to APIs in Minutes
Speed Wins: From Kafka to APIs in MinutesSpeed Wins: From Kafka to APIs in Minutes
Speed Wins: From Kafka to APIs in Minutes
 
Evolving Data Governance for the Real-time Streaming and AI Era
Evolving Data Governance for the Real-time Streaming and AI EraEvolving Data Governance for the Real-time Streaming and AI Era
Evolving Data Governance for the Real-time Streaming and AI Era
 
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
 
Santander Stream Processing with Apache Flink
Santander Stream Processing with Apache FlinkSantander Stream Processing with Apache Flink
Santander Stream Processing with Apache Flink
 
Unlocking the Power of IoT: A comprehensive approach to real-time insights
Unlocking the Power of IoT: A comprehensive approach to real-time insightsUnlocking the Power of IoT: A comprehensive approach to real-time insights
Unlocking the Power of IoT: A comprehensive approach to real-time insights
 
Workshop híbrido: Stream Processing con Flink
Workshop híbrido: Stream Processing con FlinkWorkshop híbrido: Stream Processing con Flink
Workshop híbrido: Stream Processing con Flink
 
Industry 4.0: Building the Unified Namespace with Confluent, HiveMQ and Spark...
Industry 4.0: Building the Unified Namespace with Confluent, HiveMQ and Spark...Industry 4.0: Building the Unified Namespace with Confluent, HiveMQ and Spark...
Industry 4.0: Building the Unified Namespace with Confluent, HiveMQ and Spark...
 
AWS Immersion Day Mapfre - Confluent
AWS Immersion Day Mapfre   -   ConfluentAWS Immersion Day Mapfre   -   Confluent
AWS Immersion Day Mapfre - Confluent
 
Eventos y Microservicios - Santander TechTalk
Eventos y Microservicios - Santander TechTalkEventos y Microservicios - Santander TechTalk
Eventos y Microservicios - Santander TechTalk
 
Q&A with Confluent Experts: Navigating Networking in Confluent Cloud
Q&A with Confluent Experts: Navigating Networking in Confluent CloudQ&A with Confluent Experts: Navigating Networking in Confluent Cloud
Q&A with Confluent Experts: Navigating Networking in Confluent Cloud
 
Citi TechTalk Session 2: Kafka Deep Dive
Citi TechTalk Session 2: Kafka Deep DiveCiti TechTalk Session 2: Kafka Deep Dive
Citi TechTalk Session 2: Kafka Deep Dive
 
Build real-time streaming data pipelines to AWS with Confluent
Build real-time streaming data pipelines to AWS with ConfluentBuild real-time streaming data pipelines to AWS with Confluent
Build real-time streaming data pipelines to AWS with Confluent
 
Q&A with Confluent Professional Services: Confluent Service Mesh
Q&A with Confluent Professional Services: Confluent Service MeshQ&A with Confluent Professional Services: Confluent Service Mesh
Q&A with Confluent Professional Services: Confluent Service Mesh
 
Citi Tech Talk: Event Driven Kafka Microservices
Citi Tech Talk: Event Driven Kafka MicroservicesCiti Tech Talk: Event Driven Kafka Microservices
Citi Tech Talk: Event Driven Kafka Microservices
 
Confluent & GSI Webinars series - Session 3
Confluent & GSI Webinars series - Session 3Confluent & GSI Webinars series - Session 3
Confluent & GSI Webinars series - Session 3
 
Citi Tech Talk: Messaging Modernization
Citi Tech Talk: Messaging ModernizationCiti Tech Talk: Messaging Modernization
Citi Tech Talk: Messaging Modernization
 
Citi Tech Talk: Data Governance for streaming and real time data
Citi Tech Talk: Data Governance for streaming and real time dataCiti Tech Talk: Data Governance for streaming and real time data
Citi Tech Talk: Data Governance for streaming and real time data
 
Confluent & GSI Webinars series: Session 2
Confluent & GSI Webinars series: Session 2Confluent & GSI Webinars series: Session 2
Confluent & GSI Webinars series: Session 2
 
Data In Motion Paris 2023
Data In Motion Paris 2023Data In Motion Paris 2023
Data In Motion Paris 2023
 
Confluent Partner Tech Talk with Synthesis
Confluent Partner Tech Talk with SynthesisConfluent Partner Tech Talk with Synthesis
Confluent Partner Tech Talk with Synthesis
 

Recently uploaded

Monitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR EventsMonitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR Events
Ana-Maria Mihalceanu
 
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
SOFTTECHHUB
 
Generative AI Deep Dive: Advancing from Proof of Concept to Production
Generative AI Deep Dive: Advancing from Proof of Concept to ProductionGenerative AI Deep Dive: Advancing from Proof of Concept to Production
Generative AI Deep Dive: Advancing from Proof of Concept to Production
Aggregage
 
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
Sri Ambati
 
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
James Anderson
 
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdfObservability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Paige Cruz
 
Assure Contact Center Experiences for Your Customers With ThousandEyes
Assure Contact Center Experiences for Your Customers With ThousandEyesAssure Contact Center Experiences for Your Customers With ThousandEyes
Assure Contact Center Experiences for Your Customers With ThousandEyes
ThousandEyes
 
DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
Kari Kakkonen
 
UiPath Community Day Dubai: AI at Work..
UiPath Community Day Dubai: AI at Work..UiPath Community Day Dubai: AI at Work..
UiPath Community Day Dubai: AI at Work..
UiPathCommunity
 
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
James Anderson
 
Essentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FMEEssentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FME
Safe Software
 
Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !
KatiaHIMEUR1
 
Removing Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software FuzzingRemoving Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software Fuzzing
Aftab Hussain
 
Accelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish CachingAccelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish Caching
Thijs Feryn
 
Video Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the FutureVideo Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the Future
Alpen-Adria-Universität
 
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdfFIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance
 
PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)
Ralf Eggert
 
Elizabeth Buie - Older adults: Are we really designing for our future selves?
Elizabeth Buie - Older adults: Are we really designing for our future selves?Elizabeth Buie - Older adults: Are we really designing for our future selves?
Elizabeth Buie - Older adults: Are we really designing for our future selves?
Nexer Digital
 
RESUME BUILDER APPLICATION Project for students
RESUME BUILDER APPLICATION Project for studentsRESUME BUILDER APPLICATION Project for students
RESUME BUILDER APPLICATION Project for students
KAMESHS29
 
A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...
sonjaschweigert1
 

Recently uploaded (20)

Monitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR EventsMonitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR Events
 
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
 
Generative AI Deep Dive: Advancing from Proof of Concept to Production
Generative AI Deep Dive: Advancing from Proof of Concept to ProductionGenerative AI Deep Dive: Advancing from Proof of Concept to Production
Generative AI Deep Dive: Advancing from Proof of Concept to Production
 
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
 
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
 
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdfObservability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
 
Assure Contact Center Experiences for Your Customers With ThousandEyes
Assure Contact Center Experiences for Your Customers With ThousandEyesAssure Contact Center Experiences for Your Customers With ThousandEyes
Assure Contact Center Experiences for Your Customers With ThousandEyes
 
DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
 
UiPath Community Day Dubai: AI at Work..
UiPath Community Day Dubai: AI at Work..UiPath Community Day Dubai: AI at Work..
UiPath Community Day Dubai: AI at Work..
 
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
 
Essentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FMEEssentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FME
 
Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !
 
Removing Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software FuzzingRemoving Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software Fuzzing
 
Accelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish CachingAccelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish Caching
 
Video Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the FutureVideo Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the Future
 
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdfFIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
 
PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)
 
Elizabeth Buie - Older adults: Are we really designing for our future selves?
Elizabeth Buie - Older adults: Are we really designing for our future selves?Elizabeth Buie - Older adults: Are we really designing for our future selves?
Elizabeth Buie - Older adults: Are we really designing for our future selves?
 
RESUME BUILDER APPLICATION Project for students
RESUME BUILDER APPLICATION Project for studentsRESUME BUILDER APPLICATION Project for students
RESUME BUILDER APPLICATION Project for students
 
A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...
 

GDPR Compliance: Transparent Handing of Personally Identifiable Information in Event-Driven Systems (Masih Derkani, SolarWinds) Kafka Summit 2020

  • 1. 1@solarwinds GDPR Compliance: Transparent Handing of PII in Event-Driven Systems Masih H. Derkani © 2020 SolarWinds Worldwide, LLC. All rights reserved.
  • 2. 2@solarwinds GDPR* Compliance © 2020 SolarWinds Worldwide, LLC. All rights reserved. Right to be forgotten * https://bit.ly/39w1LhR ≈ within 28 Days
  • 3. 3@solarwinds Personally Identifiable Information © 2020 SolarWinds Worldwide, LLC. All rights reserved. Email, IP Address, Name, Location, Cookies, etc. Information relating to natural persons who can be directly or indirectly identified.* * https://bit.ly/3303uuv
  • 4. 4@solarwinds© 2020 SolarWinds Worldwide, LLC. All rights reserved. Enter… Immutable, Append-only, Replicated Logs. Great for fault-tolerance; not so much for GDPR Compliance.
  • 5. 5@solarwinds© 2020 SolarWinds Worldwide, LLC. All rights reserved.
  • 6. 6@solarwinds 6@solarwinds retention.ms<2419200000 © 2020 SolarWinds Worldwide, LLC. All rights reserved.
  • 7. 7@solarwinds© 2020 SolarWinds Worldwide, LLC. All rights reserved. Simple to “forget” data. Effective. Minimal Effort. Retention duration cannot be longer than 28 days. Data is not removed on demand. Cannot have per “natural person” access control. High risk of leftover data. But… Retention duration less than 28 days
  • 8. 8@solarwinds© 2020 SolarWinds Worldwide, LLC. All rights reserved.
  • 9. 9@solarwinds 9@solarwinds Crypto-shredding © 2020 SolarWinds Worldwide, LLC. All rights reserved. “…the practice of 'deleting' data by deliberately deleting or overwriting the encryption keys.” * * https://bit.ly/39waDEb
  • 10. 10@solarwinds© 2020 SolarWinds Worldwide, LLC. All rights reserved. Simple to “forget” data. On demand data removal. Fine-grained access control over data. Lower risk of leftover data. Medium to high engineering effort. Extra COGS. Requires careful key management. Will impact throughput. But… Crypto-shredding
  • 11. 11@solarwinds© 2020 SolarWinds Worldwide, LLC. All rights reserved. Encryption key per: Cluster Topic User Crypto-shredding
  • 12. 12@solarwinds© 2020 SolarWinds Worldwide, LLC. All rights reserved. Per User Encryption Key 6. Decrypted Key Management System 2. Encrypted 1. Encrypt 3. SendProducer 5. Decrypt Consumer4. Poll   Encrypted PII Payload   Plain PII Payload TLS/SSL Communication Flow
  • 13. 13@solarwinds© 2020 SolarWinds Worldwide, LLC. All rights reserved. Key Management System Producer Encrypt
  • 14. 14@solarwinds© 2020 SolarWinds Worldwide, LLC. All rights reserved. Key Management System Consumer Decrypt
  • 15. 15@solarwinds© 2020 SolarWinds Worldwide, LLC. All rights reserved. Per User Encryption Key
  • 16. 16@solarwinds© 2020 SolarWinds Worldwide, LLC. All rights reserved. Per User Encryption Key
  • 17. 17@solarwinds© 2020 SolarWinds Worldwide, LLC. All rights reserved. Messages typically have a schema. Not all fields are PII. Not all consumers care about PII. Per User Encryption Key
  • 18. 18@solarwinds 18@solarwinds© 2020 SolarWinds Worldwide, LLC. All rights reserved. Identify PII fields. Build it into Message Schema. Partially encrypt Message.
  • 19. 19@solarwinds© 2020 SolarWinds Worldwide, LLC. All rights reserved. Per User Encryption Key ProtocolBuffer Message Schema. syntax = "proto3"; message MyMessage { string email = 1; string first_name = 2; string last_name = 3; double purchase_value = 4; }
  • 20. 20@solarwinds© 2020 SolarWinds Worldwide, LLC. All rights reserved. Identify PII fields …using Custom Options* built into Message Schema * https://bit.ly/2WZ3GGC
  • 21. 21@solarwinds© 2020 SolarWinds Worldwide, LLC. All rights reserved. Identify PII fields …using Custom Options* built into Message Schema * https://bit.ly/2WZ3GGC syntax = "proto3"; import "google/protobuf/descriptor.proto"; extend google.protobuf.FieldOptions { GDPRCompliance gdpr = 51234; } message GDPRCompliance { bool key = 1; bool pii = 2; } message MyMessage { string email = 1 [(gdpr) = {pii: true, key: true}]; string first_name = 2 [(gdpr) = {pii: true}]; string last_name = 3 [(gdpr) = {pii: true}]; double purchase_value = 4; }
  • 22. 22@solarwinds© 2020 SolarWinds Worldwide, LLC. All rights reserved. Identify PII fields …using Custom Options* built into Message Schema * https://bit.ly/2WZ3GGC private Message processPIIFields(Message message) { message.getAllFields().forEach((fieldDescriptor, value) -> { final FieldOptions fieldOptions = fieldDescriptor.getOptions(); final MyProtoFile.GDPRCompliance gdpr = fieldOptions.getExtension(MyProtoFile.gdpr); if (gdpr.getKey()) { final String fieldName = fieldDescriptor.getName(); final Type fieldType = fieldDescriptor.getType(); ... } }); ... }
  • 23. 23@solarwinds© 2020 SolarWinds Worldwide, LLC. All rights reserved. Partially encrypt Message …using interceptor.classes* built into Kafka Client Library * https://bit.ly/30Uwnpc * https://bit.ly/2X0pRw7
  • 24. 24@solarwinds© 2020 SolarWinds Worldwide, LLC. All rights reserved. Partially encrypt Message …using interceptor.classes* built into Kafka Client Library * https://bit.ly/30Uwnpc * https://bit.ly/2X0pRw7 class MyProducerInterceptor implements ProducerInterceptor<String, Message> { @Override public ProducerRecord<String, Message> onSend(final ProducerRecord<String, Message> record) { final Message value = record.value(); final Message complyingValue = processPIIFields(value); return new ProducerRecord<>( record.topic(), record.partition(), record.timestamp(), record.key(), complyingValue, record.headers()); } ... }
  • 25. 25@solarwinds© 2020 SolarWinds Worldwide, LLC. All rights reserved. Partially encrypt Message …using interceptor.classes* built into Kafka Client Library * https://bit.ly/30Uwnpc * https://bit.ly/2X0pRw7 final Properties config = new Properties(); config.put(ProducerConfig.INTERCEPTOR_CLASSES_CONFIG, MyProducerInterceptor.class.getName()); ... final KafkaProducer<String, MyProtoFile.MyMessage> producer = new KafkaProducer<>(config); ...
  • 26. 26@solarwinds© 2020 SolarWinds Worldwide, LLC. All rights reserved. + Contract-first PII specification. Message Schema backward compatibility. Transparent Kafka record interception. Access to non-PII fields while remaining compliant; only decrypt when needed.
  • 27. 27@solarwinds© 2020 SolarWinds Worldwide, LLC. All rights reserved. - Non-string field type not supported. Only ProtocolBuffer Message Schema.
  • 28. 28@solarwinds© 2020 SolarWinds Worldwide, LLC. All rights reserved. Future Work Schema-agnostic partial encryption. Utilising Kafka record Headers. Nested messages with multiple PII Key. POC non-Java clients. Load test and throughput optimisation.
  • 29. 29@solarwinds THANK YOU © 2020 SolarWinds Worldwide, LLC. All rights reserved. 🍻
  • 30. 30@solarwinds Q&A © 2020 SolarWinds Worldwide, LLC. All rights reserved. ?
  • 31. 31@solarwinds This presentation contains forward-looking statements regarding future product plans and development efforts. SolarWinds considers various features and functionality prior to any final generally available release. Information in this presentation regarding future features and functionality is not and should not be interpreted as a commitment from SolarWinds that it will deliver any specific feature or functionality in the future or, if it delivers such feature or functionality, any time frame when that feature or functionality will be delivered. All information is based upon current product interests, and product plans and priorities can change at any time. SolarWinds undertakes no obligation to update any forward-looking statements regarding future product plans and development efforts if product plans or priorities change. © 2020 SolarWinds Worldwide, LLC. All rights reserved.
  • 32. 32@solarwinds The SolarWinds, SolarWinds & Design, Orion, and THWACK trademarks are the exclusive property of SolarWinds Worldwide, LLC or its affiliates, are registered with the U.S. Patent and Trademark Office, and may be registered or pending registration in other countries. All other SolarWinds trademarks, service marks, and logos may be common law marks or are registered or pending registration. All other trademarks mentioned herein are used for identification purposes only and are trademarks of (and may be registered trademarks) of their respective companies. © 2020 SolarWinds Worldwide, LLC. All rights reserved.