SlideShare una empresa de Scribd logo
1 de 27
Descargar para leer sin conexión
Building Trust Between Modern Distributed
Systems with SPIFFE
Andrew Jessup, Scytale Inc.
Source Workload
Destination
Workload
“Do I believe this workload is who they
say they are?”
“Do I believe they really sent that
message?”
Mobile API Web Front End POS API
TicketsSubscriptions
Billing
Members DB
Web Front End Subscriptions
4. Acknowledge
* Or key/secret, signed nonce etc.
2. Supply username and password*
with authentication handshake
Accounts
1. Retrieve
username and
password from
configuration
Model 1: Destination workload
authentication
3. Verify
username
and
password
?
?
Source workload Destination
workload
Model 2: Platform mediated identity
Web Front End Subscriptions
4. Acknowledge
2. Send proof of identity with
authentication handshake
1. Retrieve
proof-of-identity from
the platform
3. Verify source
workload
identity
Platform (eg. AWS, or Kubernetes)
Eg. AWS IAM, Kubernetes Service Accounts
Privaliged API Privaliged API
Source workload
Destination
workload
Destination
workload
authentication
Platform mediated
identity
SPIFFE
API-driven credential
rotation and
distribution
No Yes Yes
One identity per
workload
No Yes Yes
No credentials need
to be deployed with
the workload
No Yes Yes
Supports trust across
different platforms
platforms
Yes No Yes
Platform B
Secure Production Identity Framework For
Everyone
Web Front End Subscriptions
4. Acknowledge
1. Retrieve SPIFFE ID
and SVIDs from the
worklaod API
3. Verify source
workload
identity
Platform A
Workload API Workload API
2. Send proof of identity with
authentication handshake
Dave Presotto
2004
Russ Cox
2008
Eric Grosse
2007
Rob Pike
2002
Sean Quinlan
2002
The SPIFFE project
A set of specifications that cover how a workload should
retrieve and use it’s identity.
● SPIFFE ID
● SPIFFE Verifiable Identity Documents (SVIDs)
● The SPIFFE Workload API
The SPIFFE Runtime Environment. Open-source software
that implements the SPIFFE Workload API for a variety of
platforms.
Apache 2.0 license. Independent governance. Highly
extensible through plug-ins.
github.com/spiffe/spiffe
github.com/spiffe/spire
SPIFFE ID
spiffe://acme.com/billing/payments
Trust Domain Workload Identifier
SPIFFE Verifiable Identity Document
spiffe://acme.com/billing/payments
Today only one form of SVID (X509-SVID).
Other document types under consideration
(including JWT-SVID)
Typically short-lived
Server
SPIFFE Workload API
Workload
Workload API
whoami()
Workload
whoami()
SPIFFE Integrations so far
A Go client library for parsing SVIDs (github.com/spiffe/go-spiffe)
Using SVIDs to authenticate Ghost-tunnel proxies
https://blog.scytale.io/securing-the-service-mesh-with-spire-0-3-38775f767653
Using SVIDs to authenticate Envoy proxies
https://blog.scytale.io/securing-the-service-mesh-with-spire-0-3-38775f767653
In development:
● A C client library for parsing SVIDs (github.com/spiffe/c-spiffe)
● Using SVIDs to authenticate gRPC clients (w. Google)
● Using SVIDs as an authentication backend to Vault (w. QAware, Hashicorp and Redhat)
● Using SVIDs to authenticate to nginx (Scytale)
SPIFFE Runtime Environment
SPIRE Server
spiffe://acme.com/billing/payments
selector: aws:sg:sg-edcd9784
selector: unix:uid:1001
Node attestation
EC2 Instance
Workload
SPIRE Agent
Workload API
SPIRE Server
AWSInstance
MetadataAPI
1. Node agent authenticates to the SPIRE
Server, passes AWS Instance Identity
Document
Node attestation
EC2 Instance
Workload
SPIRE Agent
Workload API
SPIRE Server
2. List of valid SPIFFE IDs for the node, and
selectors, returned
Workload attestation
EC2 Instance
Workload
SPIRE Agent
Workload API
SPIRE Server
3. Workload requests identity
4. Node agent performs an out-of-band
check of the workload process metadata,
compares to known selectorswhoami()
SVID Bundle Issuance
EC2 Instance
Workload
SPIRE Agent
Workload API
SPIRE Server
5. If match found, NA generates a key for
the workload
6. NA sends certificate signing request
based on that key to SPIRE Server
SVID Bundle Issuance
EC2 Instance
Workload
SPIRE Agent
Workload API
SPIRE Server
6. SPIRE server issues SVID (as well as
certificates for any other workload the
instance should support)
SVID Bundle Issuance
EC2 Instance
Workload
SPIRE Agent
Workload API
SPIRE Server
7. Certificate bundle returned to the
workload
SPIFFE Runtime Environment
SPIRE Server
spiffe://acme.com/billing/payments
selector: aws:sg:sg-edcd9784
selector: k8s:ns:payments
selector: k8s:sa:pay-svc
selector: docker:image-id:442ca9
SPIRE
Workload Attestor Plug-ins Node Attestor Plug-ins
Workload API
Secure Introduction to other services
mTLS JWTs
Identity for proxy services
Linux
Windows
OS X
YubiKey
HSM providersAzure
GCP
Kubernetes
Mesosphere Join Token
AWS Kerberos
Simplify deployment of
distributed systems
CoreWorkloadPlatform
gRPC
What SPIFFE is not
● Authorization (however it provides identities upon which
authorization schemes can be deployed)
● Transport level security (however SVIDs can be used to
facilitate things like TLS or JWT signing)
Things we didn’t talk about
● Integration into custom datastores and PKI
● Design patterns (secure introduction to secrets stores,
service mesh, etc.)
● Identity translation
● Federation
Where to go next
● Github!
○ github.com/spiffe/spiffe
○ github.com/spiffe/spire
○ github.com/spiffe-example
● Evan Gillman’s KubeCon 2017 talk on SPIFFE (YouTube)
● Medium - https://blog.scytale.com/
● Join our next community day (March 9, daytime PST) or
meet us at KubeCon EU 2018 in Copenhagen
Pointers to SIGs, Slack,
mailing lists and more
Thank You! Andrew Jessup
Twitter: @whenfalse

Más contenido relacionado

La actualidad más candente

Single Sign On - Case Study
Single Sign On - Case StudySingle Sign On - Case Study
Single Sign On - Case Study
Ebizon
 

La actualidad más candente (20)

Implementing WebAuthn & FAPI supports on Keycloak
Implementing WebAuthn & FAPI supports on KeycloakImplementing WebAuthn & FAPI supports on Keycloak
Implementing WebAuthn & FAPI supports on Keycloak
 
Azure automation
Azure automationAzure automation
Azure automation
 
Security Considerations for API Gateway Aggregation
Security Considerations for API Gateway AggregationSecurity Considerations for API Gateway Aggregation
Security Considerations for API Gateway Aggregation
 
Web API authentication and authorization
Web API authentication and authorization Web API authentication and authorization
Web API authentication and authorization
 
CI/CD on AWS
CI/CD on AWSCI/CD on AWS
CI/CD on AWS
 
An introduction to AWS Direct Connect
An introduction to AWS Direct ConnectAn introduction to AWS Direct Connect
An introduction to AWS Direct Connect
 
OPA APIs and Use Case Survey
OPA APIs and Use Case SurveyOPA APIs and Use Case Survey
OPA APIs and Use Case Survey
 
Integrating microservices with apache camel on kubernetes
Integrating microservices with apache camel on kubernetesIntegrating microservices with apache camel on kubernetes
Integrating microservices with apache camel on kubernetes
 
HowYourAPIBeMyAPI
HowYourAPIBeMyAPIHowYourAPIBeMyAPI
HowYourAPIBeMyAPI
 
AWS DirectConnect 구성 가이드 (김용우) - 파트너 웨비나 시리즈
AWS DirectConnect 구성 가이드 (김용우) -  파트너 웨비나 시리즈AWS DirectConnect 구성 가이드 (김용우) -  파트너 웨비나 시리즈
AWS DirectConnect 구성 가이드 (김용우) - 파트너 웨비나 시리즈
 
From Java 17 to 21- A Showcase of JDK Security Enhancements
From Java 17 to 21- A Showcase of JDK Security EnhancementsFrom Java 17 to 21- A Showcase of JDK Security Enhancements
From Java 17 to 21- A Showcase of JDK Security Enhancements
 
AWS Code-Deploy
AWS Code-DeployAWS Code-Deploy
AWS Code-Deploy
 
API Docs with OpenAPI 3.0
API Docs with OpenAPI 3.0API Docs with OpenAPI 3.0
API Docs with OpenAPI 3.0
 
AWS EC2 Fundametals
AWS EC2 FundametalsAWS EC2 Fundametals
AWS EC2 Fundametals
 
AWS Global Infrastructure Foundations
AWS Global Infrastructure Foundations AWS Global Infrastructure Foundations
AWS Global Infrastructure Foundations
 
AWS re:Invent 2016: Add User Sign-In, User Management, and Security to your M...
AWS re:Invent 2016: Add User Sign-In, User Management, and Security to your M...AWS re:Invent 2016: Add User Sign-In, User Management, and Security to your M...
AWS re:Invent 2016: Add User Sign-In, User Management, and Security to your M...
 
AWS Secrets Manager: Best Practices for Managing, Retrieving, and Rotating Se...
AWS Secrets Manager: Best Practices for Managing, Retrieving, and Rotating Se...AWS Secrets Manager: Best Practices for Managing, Retrieving, and Rotating Se...
AWS Secrets Manager: Best Practices for Managing, Retrieving, and Rotating Se...
 
Fundamentals of Cloud Computing & AWS
Fundamentals of Cloud Computing & AWSFundamentals of Cloud Computing & AWS
Fundamentals of Cloud Computing & AWS
 
Single Sign On - Case Study
Single Sign On - Case StudySingle Sign On - Case Study
Single Sign On - Case Study
 
OAuth2 and Spring Security
OAuth2 and Spring SecurityOAuth2 and Spring Security
OAuth2 and Spring Security
 

Similar a Building Trust Between Modern Distributed Systems with SPIFFE

CAS Enhancement
CAS EnhancementCAS Enhancement
CAS Enhancement
Guo Albert
 
Hashitalks 2021 - How the Dynamic Duo of Vault and Puppet Tame SSL Certificates
Hashitalks 2021 - How the Dynamic Duo of Vault and Puppet Tame SSL CertificatesHashitalks 2021 - How the Dynamic Duo of Vault and Puppet Tame SSL Certificates
Hashitalks 2021 - How the Dynamic Duo of Vault and Puppet Tame SSL Certificates
Nick Maludy
 
Claim Based Authentication in SharePoint 2010 for Community Day 2011
Claim Based Authentication in SharePoint 2010 for Community Day 2011Claim Based Authentication in SharePoint 2010 for Community Day 2011
Claim Based Authentication in SharePoint 2010 for Community Day 2011
Joris Poelmans
 
Application Services On The Web Sales Forcecom
Application Services On The Web Sales ForcecomApplication Services On The Web Sales Forcecom
Application Services On The Web Sales Forcecom
QConLondon2008
 

Similar a Building Trust Between Modern Distributed Systems with SPIFFE (20)

CAS Enhancement
CAS EnhancementCAS Enhancement
CAS Enhancement
 
Building Scalable Services with Amazon API Gateway - Technical 201
Building Scalable Services with Amazon API Gateway - Technical 201Building Scalable Services with Amazon API Gateway - Technical 201
Building Scalable Services with Amazon API Gateway - Technical 201
 
How to implement authorization in your backend with AWS IAM
How to implement authorization in your backend with AWS IAMHow to implement authorization in your backend with AWS IAM
How to implement authorization in your backend with AWS IAM
 
Exposing Salesforce REST Services Using Swagger
Exposing Salesforce REST Services Using SwaggerExposing Salesforce REST Services Using Swagger
Exposing Salesforce REST Services Using Swagger
 
Using Windows Azure for Solving Identity Management Challenges (Visual Studio...
Using Windows Azure for Solving Identity Management Challenges (Visual Studio...Using Windows Azure for Solving Identity Management Challenges (Visual Studio...
Using Windows Azure for Solving Identity Management Challenges (Visual Studio...
 
Hashitalks 2021 - How the Dynamic Duo of Vault and Puppet Tame SSL Certificates
Hashitalks 2021 - How the Dynamic Duo of Vault and Puppet Tame SSL CertificatesHashitalks 2021 - How the Dynamic Duo of Vault and Puppet Tame SSL Certificates
Hashitalks 2021 - How the Dynamic Duo of Vault and Puppet Tame SSL Certificates
 
Secure Credential Management with CredHub - DaShaun Carter & Sharath Sahadevan
Secure Credential Management with CredHub - DaShaun Carter & Sharath Sahadevan Secure Credential Management with CredHub - DaShaun Carter & Sharath Sahadevan
Secure Credential Management with CredHub - DaShaun Carter & Sharath Sahadevan
 
Continuous Integration e Delivery per (r)innovare lo sviluppo software e la g...
Continuous Integration e Delivery per (r)innovare lo sviluppo software e la g...Continuous Integration e Delivery per (r)innovare lo sviluppo software e la g...
Continuous Integration e Delivery per (r)innovare lo sviluppo software e la g...
 
Workshop: We love APIs
Workshop: We love APIsWorkshop: We love APIs
Workshop: We love APIs
 
SPUnite17 Who Are You and What Do You Want
SPUnite17 Who Are You and What Do You WantSPUnite17 Who Are You and What Do You Want
SPUnite17 Who Are You and What Do You Want
 
SharePoint, ADFS and Claims Auth
SharePoint, ADFS and Claims AuthSharePoint, ADFS and Claims Auth
SharePoint, ADFS and Claims Auth
 
(DEV203) Amazon API Gateway & AWS Lambda to Build Secure APIs
(DEV203) Amazon API Gateway & AWS Lambda to Build Secure APIs(DEV203) Amazon API Gateway & AWS Lambda to Build Secure APIs
(DEV203) Amazon API Gateway & AWS Lambda to Build Secure APIs
 
Claim Based Authentication in SharePoint 2010 for Community Day 2011
Claim Based Authentication in SharePoint 2010 for Community Day 2011Claim Based Authentication in SharePoint 2010 for Community Day 2011
Claim Based Authentication in SharePoint 2010 for Community Day 2011
 
Leveraging the azure cloud for your mobile apps
Leveraging the azure cloud for your mobile appsLeveraging the azure cloud for your mobile apps
Leveraging the azure cloud for your mobile apps
 
Exploring Advanced Authentication Methods in Novell Access Manager
Exploring Advanced Authentication Methods in Novell Access ManagerExploring Advanced Authentication Methods in Novell Access Manager
Exploring Advanced Authentication Methods in Novell Access Manager
 
ID連携入門 (実習編) - Security Camp 2016
ID連携入門 (実習編) - Security Camp 2016ID連携入門 (実習編) - Security Camp 2016
ID連携入門 (実習編) - Security Camp 2016
 
KazooCon 2014 - Introduction to Kazoo APIs!
KazooCon 2014 - Introduction to Kazoo APIs!KazooCon 2014 - Introduction to Kazoo APIs!
KazooCon 2014 - Introduction to Kazoo APIs!
 
Releasing Software Quickly and Reliably With AWS CodePipeline by Mark Mansour...
Releasing Software Quickly and Reliably With AWS CodePipeline by Mark Mansour...Releasing Software Quickly and Reliably With AWS CodePipeline by Mark Mansour...
Releasing Software Quickly and Reliably With AWS CodePipeline by Mark Mansour...
 
AWS Summit Barcelona 2015 - Introducing Amazon API Gateway
AWS Summit Barcelona 2015 - Introducing Amazon API GatewayAWS Summit Barcelona 2015 - Introducing Amazon API Gateway
AWS Summit Barcelona 2015 - Introducing Amazon API Gateway
 
Application Services On The Web Sales Forcecom
Application Services On The Web Sales ForcecomApplication Services On The Web Sales Forcecom
Application Services On The Web Sales Forcecom
 

Más de QAware GmbH

"Mixed" Scrum-Teams – Die richtige Mischung macht's!
"Mixed" Scrum-Teams – Die richtige Mischung macht's!"Mixed" Scrum-Teams – Die richtige Mischung macht's!
"Mixed" Scrum-Teams – Die richtige Mischung macht's!
QAware GmbH
 
Migration von stark regulierten Anwendungen in die Cloud: Dem Teufel die See...
 Migration von stark regulierten Anwendungen in die Cloud: Dem Teufel die See... Migration von stark regulierten Anwendungen in die Cloud: Dem Teufel die See...
Migration von stark regulierten Anwendungen in die Cloud: Dem Teufel die See...
QAware GmbH
 

Más de QAware GmbH (20)

50 Shades of K8s Autoscaling #JavaLand24.pdf
50 Shades of K8s Autoscaling #JavaLand24.pdf50 Shades of K8s Autoscaling #JavaLand24.pdf
50 Shades of K8s Autoscaling #JavaLand24.pdf
 
Make Agile Great - PM-Erfahrungen aus zwei virtuellen internationalen SAFe-Pr...
Make Agile Great - PM-Erfahrungen aus zwei virtuellen internationalen SAFe-Pr...Make Agile Great - PM-Erfahrungen aus zwei virtuellen internationalen SAFe-Pr...
Make Agile Great - PM-Erfahrungen aus zwei virtuellen internationalen SAFe-Pr...
 
Fully-managed Cloud-native Databases: The path to indefinite scale @ CNN Mainz
Fully-managed Cloud-native Databases: The path to indefinite scale @ CNN MainzFully-managed Cloud-native Databases: The path to indefinite scale @ CNN Mainz
Fully-managed Cloud-native Databases: The path to indefinite scale @ CNN Mainz
 
Down the Ivory Tower towards Agile Architecture
Down the Ivory Tower towards Agile ArchitectureDown the Ivory Tower towards Agile Architecture
Down the Ivory Tower towards Agile Architecture
 
"Mixed" Scrum-Teams – Die richtige Mischung macht's!
"Mixed" Scrum-Teams – Die richtige Mischung macht's!"Mixed" Scrum-Teams – Die richtige Mischung macht's!
"Mixed" Scrum-Teams – Die richtige Mischung macht's!
 
Make Developers Fly: Principles for Platform Engineering
Make Developers Fly: Principles for Platform EngineeringMake Developers Fly: Principles for Platform Engineering
Make Developers Fly: Principles for Platform Engineering
 
Der Tod der Testpyramide? – Frontend-Testing mit Playwright
Der Tod der Testpyramide? – Frontend-Testing mit PlaywrightDer Tod der Testpyramide? – Frontend-Testing mit Playwright
Der Tod der Testpyramide? – Frontend-Testing mit Playwright
 
Was kommt nach den SPAs
Was kommt nach den SPAsWas kommt nach den SPAs
Was kommt nach den SPAs
 
Cloud Migration mit KI: der Turbo
Cloud Migration mit KI: der Turbo Cloud Migration mit KI: der Turbo
Cloud Migration mit KI: der Turbo
 
Migration von stark regulierten Anwendungen in die Cloud: Dem Teufel die See...
 Migration von stark regulierten Anwendungen in die Cloud: Dem Teufel die See... Migration von stark regulierten Anwendungen in die Cloud: Dem Teufel die See...
Migration von stark regulierten Anwendungen in die Cloud: Dem Teufel die See...
 
Aus blau wird grün! Ansätze und Technologien für nachhaltige Kubernetes-Cluster
Aus blau wird grün! Ansätze und Technologien für nachhaltige Kubernetes-Cluster Aus blau wird grün! Ansätze und Technologien für nachhaltige Kubernetes-Cluster
Aus blau wird grün! Ansätze und Technologien für nachhaltige Kubernetes-Cluster
 
Endlich gute API Tests. Boldly Testing APIs Where No One Has Tested Before.
Endlich gute API Tests. Boldly Testing APIs Where No One Has Tested Before.Endlich gute API Tests. Boldly Testing APIs Where No One Has Tested Before.
Endlich gute API Tests. Boldly Testing APIs Where No One Has Tested Before.
 
Kubernetes with Cilium in AWS - Experience Report!
Kubernetes with Cilium in AWS - Experience Report!Kubernetes with Cilium in AWS - Experience Report!
Kubernetes with Cilium in AWS - Experience Report!
 
50 Shades of K8s Autoscaling
50 Shades of K8s Autoscaling50 Shades of K8s Autoscaling
50 Shades of K8s Autoscaling
 
Kontinuierliche Sicherheitstests für APIs mit Testkube und OWASP ZAP
Kontinuierliche Sicherheitstests für APIs mit Testkube und OWASP ZAPKontinuierliche Sicherheitstests für APIs mit Testkube und OWASP ZAP
Kontinuierliche Sicherheitstests für APIs mit Testkube und OWASP ZAP
 
Service Mesh Pain & Gain. Experiences from a client project.
Service Mesh Pain & Gain. Experiences from a client project.Service Mesh Pain & Gain. Experiences from a client project.
Service Mesh Pain & Gain. Experiences from a client project.
 
50 Shades of K8s Autoscaling
50 Shades of K8s Autoscaling50 Shades of K8s Autoscaling
50 Shades of K8s Autoscaling
 
Blue turns green! Approaches and technologies for sustainable K8s clusters.
Blue turns green! Approaches and technologies for sustainable K8s clusters.Blue turns green! Approaches and technologies for sustainable K8s clusters.
Blue turns green! Approaches and technologies for sustainable K8s clusters.
 
Per Anhalter zu Cloud Nativen API Gateways
Per Anhalter zu Cloud Nativen API GatewaysPer Anhalter zu Cloud Nativen API Gateways
Per Anhalter zu Cloud Nativen API Gateways
 
Aus blau wird grün! Ansätze und Technologien für nachhaltige Kubernetes-Cluster
Aus blau wird grün! Ansätze und Technologien für nachhaltige Kubernetes-Cluster Aus blau wird grün! Ansätze und Technologien für nachhaltige Kubernetes-Cluster
Aus blau wird grün! Ansätze und Technologien für nachhaltige Kubernetes-Cluster
 

Último

Top profile Call Girls In Chandrapur [ 7014168258 ] Call Me For Genuine Model...
Top profile Call Girls In Chandrapur [ 7014168258 ] Call Me For Genuine Model...Top profile Call Girls In Chandrapur [ 7014168258 ] Call Me For Genuine Model...
Top profile Call Girls In Chandrapur [ 7014168258 ] Call Me For Genuine Model...
gajnagarg
 
怎样办理圣路易斯大学毕业证(SLU毕业证书)成绩单学校原版复制
怎样办理圣路易斯大学毕业证(SLU毕业证书)成绩单学校原版复制怎样办理圣路易斯大学毕业证(SLU毕业证书)成绩单学校原版复制
怎样办理圣路易斯大学毕业证(SLU毕业证书)成绩单学校原版复制
vexqp
 
Cytotec in Jeddah+966572737505) get unwanted pregnancy kit Riyadh
Cytotec in Jeddah+966572737505) get unwanted pregnancy kit RiyadhCytotec in Jeddah+966572737505) get unwanted pregnancy kit Riyadh
Cytotec in Jeddah+966572737505) get unwanted pregnancy kit Riyadh
Abortion pills in Riyadh +966572737505 get cytotec
 
怎样办理纽约州立大学宾汉姆顿分校毕业证(SUNY-Bin毕业证书)成绩单学校原版复制
怎样办理纽约州立大学宾汉姆顿分校毕业证(SUNY-Bin毕业证书)成绩单学校原版复制怎样办理纽约州立大学宾汉姆顿分校毕业证(SUNY-Bin毕业证书)成绩单学校原版复制
怎样办理纽约州立大学宾汉姆顿分校毕业证(SUNY-Bin毕业证书)成绩单学校原版复制
vexqp
 
Top profile Call Girls In Hapur [ 7014168258 ] Call Me For Genuine Models We ...
Top profile Call Girls In Hapur [ 7014168258 ] Call Me For Genuine Models We ...Top profile Call Girls In Hapur [ 7014168258 ] Call Me For Genuine Models We ...
Top profile Call Girls In Hapur [ 7014168258 ] Call Me For Genuine Models We ...
nirzagarg
 
Lecture_2_Deep_Learning_Overview-newone1
Lecture_2_Deep_Learning_Overview-newone1Lecture_2_Deep_Learning_Overview-newone1
Lecture_2_Deep_Learning_Overview-newone1
ranjankumarbehera14
 
Jual Cytotec Asli Obat Aborsi No. 1 Paling Manjur
Jual Cytotec Asli Obat Aborsi No. 1 Paling ManjurJual Cytotec Asli Obat Aborsi No. 1 Paling Manjur
Jual Cytotec Asli Obat Aborsi No. 1 Paling Manjur
ptikerjasaptiker
 
Reconciling Conflicting Data Curation Actions: Transparency Through Argument...
Reconciling Conflicting Data Curation Actions:  Transparency Through Argument...Reconciling Conflicting Data Curation Actions:  Transparency Through Argument...
Reconciling Conflicting Data Curation Actions: Transparency Through Argument...
Bertram Ludäscher
 
一比一原版(UCD毕业证书)加州大学戴维斯分校毕业证成绩单原件一模一样
一比一原版(UCD毕业证书)加州大学戴维斯分校毕业证成绩单原件一模一样一比一原版(UCD毕业证书)加州大学戴维斯分校毕业证成绩单原件一模一样
一比一原版(UCD毕业证书)加州大学戴维斯分校毕业证成绩单原件一模一样
wsppdmt
 
怎样办理伦敦大学城市学院毕业证(CITY毕业证书)成绩单学校原版复制
怎样办理伦敦大学城市学院毕业证(CITY毕业证书)成绩单学校原版复制怎样办理伦敦大学城市学院毕业证(CITY毕业证书)成绩单学校原版复制
怎样办理伦敦大学城市学院毕业证(CITY毕业证书)成绩单学校原版复制
vexqp
 
如何办理英国诺森比亚大学毕业证(NU毕业证书)成绩单原件一模一样
如何办理英国诺森比亚大学毕业证(NU毕业证书)成绩单原件一模一样如何办理英国诺森比亚大学毕业证(NU毕业证书)成绩单原件一模一样
如何办理英国诺森比亚大学毕业证(NU毕业证书)成绩单原件一模一样
wsppdmt
 
In Riyadh ((+919101817206)) Cytotec kit @ Abortion Pills Saudi Arabia
In Riyadh ((+919101817206)) Cytotec kit @ Abortion Pills Saudi ArabiaIn Riyadh ((+919101817206)) Cytotec kit @ Abortion Pills Saudi Arabia
In Riyadh ((+919101817206)) Cytotec kit @ Abortion Pills Saudi Arabia
ahmedjiabur940
 
Top profile Call Girls In Purnia [ 7014168258 ] Call Me For Genuine Models We...
Top profile Call Girls In Purnia [ 7014168258 ] Call Me For Genuine Models We...Top profile Call Girls In Purnia [ 7014168258 ] Call Me For Genuine Models We...
Top profile Call Girls In Purnia [ 7014168258 ] Call Me For Genuine Models We...
nirzagarg
 

Último (20)

Top profile Call Girls In Chandrapur [ 7014168258 ] Call Me For Genuine Model...
Top profile Call Girls In Chandrapur [ 7014168258 ] Call Me For Genuine Model...Top profile Call Girls In Chandrapur [ 7014168258 ] Call Me For Genuine Model...
Top profile Call Girls In Chandrapur [ 7014168258 ] Call Me For Genuine Model...
 
怎样办理圣路易斯大学毕业证(SLU毕业证书)成绩单学校原版复制
怎样办理圣路易斯大学毕业证(SLU毕业证书)成绩单学校原版复制怎样办理圣路易斯大学毕业证(SLU毕业证书)成绩单学校原版复制
怎样办理圣路易斯大学毕业证(SLU毕业证书)成绩单学校原版复制
 
Cytotec in Jeddah+966572737505) get unwanted pregnancy kit Riyadh
Cytotec in Jeddah+966572737505) get unwanted pregnancy kit RiyadhCytotec in Jeddah+966572737505) get unwanted pregnancy kit Riyadh
Cytotec in Jeddah+966572737505) get unwanted pregnancy kit Riyadh
 
Data Analyst Tasks to do the internship.pdf
Data Analyst Tasks to do the internship.pdfData Analyst Tasks to do the internship.pdf
Data Analyst Tasks to do the internship.pdf
 
怎样办理纽约州立大学宾汉姆顿分校毕业证(SUNY-Bin毕业证书)成绩单学校原版复制
怎样办理纽约州立大学宾汉姆顿分校毕业证(SUNY-Bin毕业证书)成绩单学校原版复制怎样办理纽约州立大学宾汉姆顿分校毕业证(SUNY-Bin毕业证书)成绩单学校原版复制
怎样办理纽约州立大学宾汉姆顿分校毕业证(SUNY-Bin毕业证书)成绩单学校原版复制
 
Top profile Call Girls In Hapur [ 7014168258 ] Call Me For Genuine Models We ...
Top profile Call Girls In Hapur [ 7014168258 ] Call Me For Genuine Models We ...Top profile Call Girls In Hapur [ 7014168258 ] Call Me For Genuine Models We ...
Top profile Call Girls In Hapur [ 7014168258 ] Call Me For Genuine Models We ...
 
Lecture_2_Deep_Learning_Overview-newone1
Lecture_2_Deep_Learning_Overview-newone1Lecture_2_Deep_Learning_Overview-newone1
Lecture_2_Deep_Learning_Overview-newone1
 
Jual Cytotec Asli Obat Aborsi No. 1 Paling Manjur
Jual Cytotec Asli Obat Aborsi No. 1 Paling ManjurJual Cytotec Asli Obat Aborsi No. 1 Paling Manjur
Jual Cytotec Asli Obat Aborsi No. 1 Paling Manjur
 
Sequential and reinforcement learning for demand side management by Margaux B...
Sequential and reinforcement learning for demand side management by Margaux B...Sequential and reinforcement learning for demand side management by Margaux B...
Sequential and reinforcement learning for demand side management by Margaux B...
 
Switzerland Constitution 2002.pdf.........
Switzerland Constitution 2002.pdf.........Switzerland Constitution 2002.pdf.........
Switzerland Constitution 2002.pdf.........
 
Reconciling Conflicting Data Curation Actions: Transparency Through Argument...
Reconciling Conflicting Data Curation Actions:  Transparency Through Argument...Reconciling Conflicting Data Curation Actions:  Transparency Through Argument...
Reconciling Conflicting Data Curation Actions: Transparency Through Argument...
 
5CL-ADBA,5cladba, Chinese supplier, safety is guaranteed
5CL-ADBA,5cladba, Chinese supplier, safety is guaranteed5CL-ADBA,5cladba, Chinese supplier, safety is guaranteed
5CL-ADBA,5cladba, Chinese supplier, safety is guaranteed
 
一比一原版(UCD毕业证书)加州大学戴维斯分校毕业证成绩单原件一模一样
一比一原版(UCD毕业证书)加州大学戴维斯分校毕业证成绩单原件一模一样一比一原版(UCD毕业证书)加州大学戴维斯分校毕业证成绩单原件一模一样
一比一原版(UCD毕业证书)加州大学戴维斯分校毕业证成绩单原件一模一样
 
DATA SUMMIT 24 Building Real-Time Pipelines With FLaNK
DATA SUMMIT 24  Building Real-Time Pipelines With FLaNKDATA SUMMIT 24  Building Real-Time Pipelines With FLaNK
DATA SUMMIT 24 Building Real-Time Pipelines With FLaNK
 
Digital Advertising Lecture for Advanced Digital & Social Media Strategy at U...
Digital Advertising Lecture for Advanced Digital & Social Media Strategy at U...Digital Advertising Lecture for Advanced Digital & Social Media Strategy at U...
Digital Advertising Lecture for Advanced Digital & Social Media Strategy at U...
 
SAC 25 Final National, Regional & Local Angel Group Investing Insights 2024 0...
SAC 25 Final National, Regional & Local Angel Group Investing Insights 2024 0...SAC 25 Final National, Regional & Local Angel Group Investing Insights 2024 0...
SAC 25 Final National, Regional & Local Angel Group Investing Insights 2024 0...
 
怎样办理伦敦大学城市学院毕业证(CITY毕业证书)成绩单学校原版复制
怎样办理伦敦大学城市学院毕业证(CITY毕业证书)成绩单学校原版复制怎样办理伦敦大学城市学院毕业证(CITY毕业证书)成绩单学校原版复制
怎样办理伦敦大学城市学院毕业证(CITY毕业证书)成绩单学校原版复制
 
如何办理英国诺森比亚大学毕业证(NU毕业证书)成绩单原件一模一样
如何办理英国诺森比亚大学毕业证(NU毕业证书)成绩单原件一模一样如何办理英国诺森比亚大学毕业证(NU毕业证书)成绩单原件一模一样
如何办理英国诺森比亚大学毕业证(NU毕业证书)成绩单原件一模一样
 
In Riyadh ((+919101817206)) Cytotec kit @ Abortion Pills Saudi Arabia
In Riyadh ((+919101817206)) Cytotec kit @ Abortion Pills Saudi ArabiaIn Riyadh ((+919101817206)) Cytotec kit @ Abortion Pills Saudi Arabia
In Riyadh ((+919101817206)) Cytotec kit @ Abortion Pills Saudi Arabia
 
Top profile Call Girls In Purnia [ 7014168258 ] Call Me For Genuine Models We...
Top profile Call Girls In Purnia [ 7014168258 ] Call Me For Genuine Models We...Top profile Call Girls In Purnia [ 7014168258 ] Call Me For Genuine Models We...
Top profile Call Girls In Purnia [ 7014168258 ] Call Me For Genuine Models We...
 

Building Trust Between Modern Distributed Systems with SPIFFE

  • 1. Building Trust Between Modern Distributed Systems with SPIFFE Andrew Jessup, Scytale Inc.
  • 2. Source Workload Destination Workload “Do I believe this workload is who they say they are?” “Do I believe they really sent that message?”
  • 3. Mobile API Web Front End POS API TicketsSubscriptions Billing Members DB
  • 4. Web Front End Subscriptions 4. Acknowledge * Or key/secret, signed nonce etc. 2. Supply username and password* with authentication handshake Accounts 1. Retrieve username and password from configuration Model 1: Destination workload authentication 3. Verify username and password ? ? Source workload Destination workload
  • 5. Model 2: Platform mediated identity Web Front End Subscriptions 4. Acknowledge 2. Send proof of identity with authentication handshake 1. Retrieve proof-of-identity from the platform 3. Verify source workload identity Platform (eg. AWS, or Kubernetes) Eg. AWS IAM, Kubernetes Service Accounts Privaliged API Privaliged API Source workload Destination workload
  • 6. Destination workload authentication Platform mediated identity SPIFFE API-driven credential rotation and distribution No Yes Yes One identity per workload No Yes Yes No credentials need to be deployed with the workload No Yes Yes Supports trust across different platforms platforms Yes No Yes
  • 7. Platform B Secure Production Identity Framework For Everyone Web Front End Subscriptions 4. Acknowledge 1. Retrieve SPIFFE ID and SVIDs from the worklaod API 3. Verify source workload identity Platform A Workload API Workload API 2. Send proof of identity with authentication handshake
  • 8.
  • 9. Dave Presotto 2004 Russ Cox 2008 Eric Grosse 2007 Rob Pike 2002 Sean Quinlan 2002
  • 10. The SPIFFE project A set of specifications that cover how a workload should retrieve and use it’s identity. ● SPIFFE ID ● SPIFFE Verifiable Identity Documents (SVIDs) ● The SPIFFE Workload API The SPIFFE Runtime Environment. Open-source software that implements the SPIFFE Workload API for a variety of platforms. Apache 2.0 license. Independent governance. Highly extensible through plug-ins. github.com/spiffe/spiffe github.com/spiffe/spire
  • 12. SPIFFE Verifiable Identity Document spiffe://acme.com/billing/payments Today only one form of SVID (X509-SVID). Other document types under consideration (including JWT-SVID) Typically short-lived
  • 13. Server SPIFFE Workload API Workload Workload API whoami() Workload whoami()
  • 14. SPIFFE Integrations so far A Go client library for parsing SVIDs (github.com/spiffe/go-spiffe) Using SVIDs to authenticate Ghost-tunnel proxies https://blog.scytale.io/securing-the-service-mesh-with-spire-0-3-38775f767653 Using SVIDs to authenticate Envoy proxies https://blog.scytale.io/securing-the-service-mesh-with-spire-0-3-38775f767653 In development: ● A C client library for parsing SVIDs (github.com/spiffe/c-spiffe) ● Using SVIDs to authenticate gRPC clients (w. Google) ● Using SVIDs as an authentication backend to Vault (w. QAware, Hashicorp and Redhat) ● Using SVIDs to authenticate to nginx (Scytale)
  • 15. SPIFFE Runtime Environment SPIRE Server spiffe://acme.com/billing/payments selector: aws:sg:sg-edcd9784 selector: unix:uid:1001
  • 16. Node attestation EC2 Instance Workload SPIRE Agent Workload API SPIRE Server AWSInstance MetadataAPI 1. Node agent authenticates to the SPIRE Server, passes AWS Instance Identity Document
  • 17. Node attestation EC2 Instance Workload SPIRE Agent Workload API SPIRE Server 2. List of valid SPIFFE IDs for the node, and selectors, returned
  • 18. Workload attestation EC2 Instance Workload SPIRE Agent Workload API SPIRE Server 3. Workload requests identity 4. Node agent performs an out-of-band check of the workload process metadata, compares to known selectorswhoami()
  • 19. SVID Bundle Issuance EC2 Instance Workload SPIRE Agent Workload API SPIRE Server 5. If match found, NA generates a key for the workload 6. NA sends certificate signing request based on that key to SPIRE Server
  • 20. SVID Bundle Issuance EC2 Instance Workload SPIRE Agent Workload API SPIRE Server 6. SPIRE server issues SVID (as well as certificates for any other workload the instance should support)
  • 21. SVID Bundle Issuance EC2 Instance Workload SPIRE Agent Workload API SPIRE Server 7. Certificate bundle returned to the workload
  • 22. SPIFFE Runtime Environment SPIRE Server spiffe://acme.com/billing/payments selector: aws:sg:sg-edcd9784 selector: k8s:ns:payments selector: k8s:sa:pay-svc selector: docker:image-id:442ca9
  • 23. SPIRE Workload Attestor Plug-ins Node Attestor Plug-ins Workload API Secure Introduction to other services mTLS JWTs Identity for proxy services Linux Windows OS X YubiKey HSM providersAzure GCP Kubernetes Mesosphere Join Token AWS Kerberos Simplify deployment of distributed systems CoreWorkloadPlatform gRPC
  • 24. What SPIFFE is not ● Authorization (however it provides identities upon which authorization schemes can be deployed) ● Transport level security (however SVIDs can be used to facilitate things like TLS or JWT signing)
  • 25. Things we didn’t talk about ● Integration into custom datastores and PKI ● Design patterns (secure introduction to secrets stores, service mesh, etc.) ● Identity translation ● Federation
  • 26. Where to go next ● Github! ○ github.com/spiffe/spiffe ○ github.com/spiffe/spire ○ github.com/spiffe-example ● Evan Gillman’s KubeCon 2017 talk on SPIFFE (YouTube) ● Medium - https://blog.scytale.com/ ● Join our next community day (March 9, daytime PST) or meet us at KubeCon EU 2018 in Copenhagen Pointers to SIGs, Slack, mailing lists and more
  • 27. Thank You! Andrew Jessup Twitter: @whenfalse