Slide 1

Slide 1 text

Towards Client-Side Field-Level Cryptography for Streaming Data Pipelines @hpgrahsl | #Current22 - Austin, Texas | Oct 4-5, 2022

Slide 2

Slide 2 text

Why should we care? @hpgrahsl | #Current22 - Austin, Texas | Oct 4-5, 2022 2

Slide 3

Slide 3 text

61 % of breaches involved credential data1 1 Verizon DBIR 2021 - https://www.verizon.com/dbir @hpgrahsl | #Current22 - Austin, Texas | Oct 4-5, 2022 3

Slide 4

Slide 4 text

85 % of breaches involved the human element1 1 Verizon DBIR 2021 - https://www.verizon.com/dbir @hpgrahsl | #Current22 - Austin, Texas | Oct 4-5, 2022 4

Slide 5

Slide 5 text

@hpgrahsl | #Current22 - Austin, Texas | Oct 4-5, 2022 5

Slide 6

Slide 6 text

compromised external cloud assets more common than on-premises assets1 1 Verizon DBIR 2021 - https://www.verizon.com/dbir @hpgrahsl | #Current22 - Austin, Texas | Oct 4-5, 2022 6

Slide 7

Slide 7 text

Let's don't forget about the price tag of data breaches. @hpgrahsl | #Current22 - Austin, Texas | Oct 4-5, 2022 7

Slide 8

Slide 8 text

Let's don't forget about the price tag of data breaches. @hpgrahsl | #Current22 - Austin, Texas | Oct 4-5, 2022 8

Slide 9

Slide 9 text

$4.24M average cost of data breach2 2 IBM Cost of Data Breach Report - https://www.ibm.com/security/data-breach @hpgrahsl | #Current22 - Austin, Texas | Oct 4-5, 2022 9

Slide 10

Slide 10 text

$180 per record cost of customer PII2 2 IBM Cost of Data Breach Report - https://www.ibm.com/security/data-breach @hpgrahsl | #Current22 - Austin, Texas | Oct 4-5, 2022 10

Slide 11

Slide 11 text

It's me ... Hans-Peter • Developer ! Advocate @ Red Hat • Open-Source Enthusiast • Confluent Community Catalyst since 2019 • MongoDB Champion since 2020 • based in Graz, Austria " @hpgrahsl | #Current22 - Austin, Texas | Oct 4-5, 2022 11

Slide 12

Slide 12 text

@hpgrahsl | #Current22 - Austin, Texas | Oct 4-5, 2022 12

Slide 13

Slide 13 text

! But Kafka related? Yes! 3 3 https://spectralops.io/blog/misconfigured-kafdrop-puts-companies-apache-kafka-completely-exposed/ @hpgrahsl | #Current22 - Austin, Texas | Oct 4-5, 2022 13

Slide 14

Slide 14 text

unhappy @hpgrahsl | #Current22 - Austin, Texas | Oct 4-5, 2022 14

Slide 15

Slide 15 text

Core Kafka Security Mechanisms @hpgrahsl | #Current22 - Austin, Texas | Oct 4-5, 2022 15

Slide 16

Slide 16 text

over-the-wire encryption @hpgrahsl | #Current22 - Austin, Texas | Oct 4-5, 2022 16

Slide 17

Slide 17 text

authentication @hpgrahsl | #Current22 - Austin, Texas | Oct 4-5, 2022 17

Slide 18

Slide 18 text

authorization @hpgrahsl | #Current22 - Austin, Texas | Oct 4-5, 2022 18

Slide 19

Slide 19 text

table stakes @hpgrahsl | #Current22 - Austin, Texas | Oct 4-5, 2022 19

Slide 20

Slide 20 text

@hpgrahsl | #Current22 - Austin, Texas | Oct 4-5, 2022 20

Slide 21

Slide 21 text

@hpgrahsl | #Current22 - Austin, Texas | Oct 4-5, 2022 21

Slide 22

Slide 22 text

disturbing @hpgrahsl | #Current22 - Austin, Texas | Oct 4-5, 2022 22

Slide 23

Slide 23 text

core security necessary ! @hpgrahsl | #Current22 - Austin, Texas | Oct 4-5, 2022 23

Slide 24

Slide 24 text

core security sufficient ? @hpgrahsl | #Current22 - Austin, Texas | Oct 4-5, 2022 24

Slide 25

Slide 25 text

@hpgrahsl | #Current22 - Austin, Texas | Oct 4-5, 2022 25

Slide 26

Slide 26 text

@hpgrahsl | #Current22 - Austin, Texas | Oct 4-5, 2022 26

Slide 27

Slide 27 text

@hpgrahsl | #Current22 - Austin, Texas | Oct 4-5, 2022 27

Slide 28

Slide 28 text

? data in use by BROKERS @hpgrahsl | #Current22 - Austin, Texas | Oct 4-5, 2022 28

Slide 29

Slide 29 text

BROKERS see everything ... and so does any legitimate Kafka client @hpgrahsl | #Current22 - Austin, Texas | Oct 4-5, 2022 29

Slide 30

Slide 30 text

@hpgrahsl | #Current22 - Austin, Texas | Oct 4-5, 2022 30

Slide 31

Slide 31 text

human promise is NOT technical promise @hpgrahsl | #Current22 - Austin, Texas | Oct 4-5, 2022 31

Slide 32

Slide 32 text

? ? ? end-to-end encryption ? ? ? @hpgrahsl | #Current22 - Austin, Texas | Oct 4-5, 2022 32

Slide 33

Slide 33 text

Open-Source Community Project Kryptonite for Kafka @hpgrahsl | #Current22 - Austin, Texas | Oct 4-5, 2022 33

Slide 34

Slide 34 text

client-side field level cryptography @hpgrahsl | #Current22 - Austin, Texas | Oct 4-5, 2022 34

Slide 35

Slide 35 text

Client-Side Cryptography @hpgrahsl | #Current22 - Austin, Texas | Oct 4-5, 2022 35

Slide 36

Slide 36 text

Client-Side Cryptography @hpgrahsl | #Current22 - Austin, Texas | Oct 4-5, 2022 36

Slide 37

Slide 37 text

Field Level Cryptography @hpgrahsl | #Current22 - Austin, Texas | Oct 4-5, 2022 37

Slide 38

Slide 38 text

Field Level Cryptography @hpgrahsl | #Current22 - Austin, Texas | Oct 4-5, 2022 38

Slide 39

Slide 39 text

Kafka Connect Sources Single Message Transform @hpgrahsl | #Current22 - Austin, Texas | Oct 4-5, 2022 39

Slide 40

Slide 40 text

CSFLC with Source Connectors @hpgrahsl | #Current22 - Austin, Texas | Oct 4-5, 2022 40

Slide 41

Slide 41 text

Demo Part 1 @hpgrahsl | #Current22 - Austin, Texas | Oct 4-5, 2022 41

Slide 42

Slide 42 text

@hpgrahsl | #Current22 - Austin, Texas | Oct 4-5, 2022 42

Slide 43

Slide 43 text

ksqlDB User-Defined Function @hpgrahsl | #Current22 - Austin, Texas | Oct 4-5, 2022 43

Slide 44

Slide 44 text

CSFLC with Streaming SQL @hpgrahsl | #Current22 - Austin, Texas | Oct 4-5, 2022 44

Slide 45

Slide 45 text

CSFLC with Streaming SQL @hpgrahsl | #Current22 - Austin, Texas | Oct 4-5, 2022 45

Slide 46

Slide 46 text

Demo Part 2 @hpgrahsl | #Current22 - Austin, Texas | Oct 4-5, 2022 46

Slide 47

Slide 47 text

Here be Dragons @hpgrahsl | #Current22 - Austin, Texas | Oct 4-5, 2022 47

Slide 48

Slide 48 text

@hpgrahsl | #Current22 - Austin, Texas | Oct 4-5, 2022 48

Slide 49

Slide 49 text

Kafka Connect Sinks Single Message Transform @hpgrahsl | #Current22 - Austin, Texas | Oct 4-5, 2022 49

Slide 50

Slide 50 text

CSFLC with Sink Connectors @hpgrahsl | #Current22 - Austin, Texas | Oct 4-5, 2022 50

Slide 51

Slide 51 text

Demo Part 3 @hpgrahsl | #Current22 - Austin, Texas | Oct 4-5, 2022 51

Slide 52

Slide 52 text

@hpgrahsl | #Current22 - Austin, Texas | Oct 4-5, 2022 52

Slide 53

Slide 53 text

@hpgrahsl | #Current22 - Austin, Texas | Oct 4-5, 2022 53

Slide 54

Slide 54 text

@hpgrahsl | #Current22 - Austin, Texas | Oct 4-5, 2022 54

Slide 55

Slide 55 text

Behind the Scenes? @hpgrahsl | #Current22 - Austin, Texas | Oct 4-5, 2022 55

Slide 56

Slide 56 text

Cryptography • Tink by Google • AEAD based on AES GCM • DAEAD based on AES SIV • key rotation support @hpgrahsl | #Current22 - Austin, Texas | Oct 4-5, 2022 56

Slide 57

Slide 57 text

Keyset Management • within SMT config (not recommended) • externalized to separate file (okayish) • remote / cloud KMS (recommended) • preliminary Azure Key Vault support @hpgrahsl | #Current22 - Austin, Texas | Oct 4-5, 2022 57

Slide 58

Slide 58 text

! Little Ideas ! • wildcard / regex matching for field names • dynamic keyset selection based on payload • additional KMS providers (GCP, AWS, ...) @hpgrahsl | #Current22 - Austin, Texas | Oct 4-5, 2022 58

Slide 59

Slide 59 text

! Bigger Ideas ! • add cryptography options (e.g. FPE) • extend scope beyond Kafka Connect and ksqlDB • make CSFLC language / runtime agnostic @hpgrahsl | #Current22 - Austin, Texas | Oct 4-5, 2022 59

Slide 60

Slide 60 text

@hpgrahsl Let's stay in touch ! on Twitter @hpgrahsl | #Current22 - Austin, Texas | Oct 4-5, 2022 60

Slide 61

Slide 61 text

! TRY IT " • Project Code https://bit.ly/current22-k4k • Demo Scenarios https://bit.ly/current22-demo @hpgrahsl | #Current22 - Austin, Texas | Oct 4-5, 2022 61

Slide 62

Slide 62 text

Data should continue to be a valuable asset, not become a costly liability. @hpgrahsl | #Current22 - Austin, Texas | Oct 4-5, 2022 62

Slide 63

Slide 63 text

@hpgrahsl | #Current22 - Austin, Texas | Oct 4-5, 2022

Slide 64

Slide 64 text

Photo Credits in order of appearance (c) John Salvino - https://unsplash.com/photos/bqGBbLq_yfc (c) Wolf Zimmermann - https://unsplash.com/photos/6sf5rf8QYFE (c) Jason Leung - https://unsplash.com/photos/SAYzxuS1O3M (c) Dev Asangbam - https://unsplash.com/photos/sh9vkVbVgo (c) Keenan Constance - https://unsplash.com/photos/VTLcvV6UVaI (c) Steve Johnson - https://unsplash.com/photos/hokONTrHIAQ (c) Pete Linforth - https://pixabay.com/illustrations/biometrics-access-identification-4503187/ (c) Miguel Á. Padriñán - https://www.pexels.com/photo/close-up-shot-of-keys-on-a-red-surface-2882687/ (c) Camila Quintero Franco - https://unsplash.com/photos/mC852jACK1g (c) Gerd Altmann - https://pixabay.com/illustrations/board-excuse-me-excuse-discharge-1848736/ (c) Vijaya narasimha - https://pixabay.com/photos/crevasse-sand-stone-hills-rock-399957/ (c) Gerd Altmann - https://pixabay.com/photos/trust-man-hood-map-prompt-4321822/ (c) Matheo JBT - https://unsplash.com/photos/HLhvZ9HRAwo (c) Rob Laughter - https://unsplash.com/photos/WW1jsInXgwM (c) Markus Spiske - https://unsplash.com/photos/iar-afB0QQw (c) Nerene Grobler - https://unsplash.com/photos/sLxcfdsqLQ (c) Wilhelm Gunkel - https://unsplash.com/photos/L04Kczg_Jvs (c) Matt Walsh - https://unsplash.com/photos/tVkdGtEe2C4