SlideShare a Scribd company logo
EL PASSO
Efficient and Lightweight Privacy-preserving Single Sign On


@fdenis - OCTO
Shifumi@edge
https://shifumi.edgecompute.app
can be e
ffi
ciently computed

Without , doesn’t reveal any information about .

Given ,
fi
nding another pair so that is
hard.

Even if is known.
Even if
h ← Hk(m)
h
k h m
h (k′

, m′

) Hk′

(m′

) = h
k
k = k′

Commitments - MACs
Generate a random key 

Choose a move in {✊,✋,✌}

Compute and send : commitment

Then reveal : proof, that anybody can
verify with public parameters

k
m
Hk(m)
(k, m)
Commitments - Shifumi game
Great, but we had to reveal everything.
Including the secret 

Fine here, because we use these only once.

But would there be a way to prove that we
know a secret without disclosing it?
k
Commitments - Shifumi game
We are going to choose a setup where:



can be e
ffi
ciently computed

But given and , recovering is assumed to be hard.

Even if is secret, it is safe to make public

(until large quantum computers become real)
A ← Ga
Ga
G A a
a Ga
Schnorr proofs - Discrete log problem
Pick a secret 



Make public

Goal: prove that we know without
disclosing it.
is already known by the veri
fi
er.
a
A ← Ga
A
a
G
Schnorr proofs
Pick a secret 

(public)

Pick a random group element 

(public) commitment
: challenge sent by the veri
fi
er
(public) proof
a
A ← Ga
v
V ← Gv
c
r ← v − ac
Schnorr proofs
Secret 

(public)

Random group element 

(public) commitment
: challenge sent by the veri
fi
er
(public) proof — requires knowledge of
Veri
fi
cation: check that — public parameters
a
A ← Ga
v
V ← Gv
c
r ← v − ac a
Gr
⋅ Ac
= V
Gr
⋅ Ac
= Gv−ac
⋅ Gac
= Gv
= V
Schnorr proofs
: challenge sent by the veri
fi
er
Requires a round-trip.

Doesn’t work asynchronously.

Let’s
fi
x this with the Fiat-Shamir heuristic.
c
Schnorr proofs
Produces a challenge that the prover doesn’t
have much control over

Not random, but good enough in practice.

The prover is “challenging itself”

The protocol becomes non-interactive!
c ← H(A, V, fastly, …)
Non-interactive Schnorr proofs
NIZKP - Non-Interactive Zero Knowledge
Proof.

Can be used to prove knowledge of a secret
without revealing it. Multiple proofs can be sent
to a veri
fi
er anytime, without any round trips.

What if we include a message in the
computation? We get a signature system.
Here, the Schnorr signature system.
Non-interactive Schnorr proofs
: generate a secret and a
public counterpart 

signature (commitment+proof)



A valid signature that the signer knew about
and the secret without revealing the secret.
generate() a
A
sign(a, m) →
verify(A, m, sig) → {valid, invalid}
m
Schnorr signatures
RSA signatures: md
(mod n)
RSA
RSA signatures: 

If is a valid pair for a given public key,
is also a valid pair.

It can be veri
fi
ed with the same public key.

They look very di
ff
erent. Even the signer cannot tell that


But any valid pair means that, at some point, the signer
signed something.
md
(mod n)
(m, sig) (mr
, sigr
)
(mr
, sigr
) ≡ (m, sig)
RSA
Maybe the signature was issued because we
bought something.

Or were granted access to something - we
got a “virtual ticket” or a “virtual pass”

The message itself may not even matter.
Owning a valid signature does. Even if it’s not
the original one.
On the signature itself
If we get a signature and present a variant of
it a veri
fi
er, both events cannot be linked.

Untraceable payments.

Anonymous tokens, where signatures issued
by an identity provider are not the same as
the ones presented to services.
Blind / randomized signatures
The previous example was textbook RSA.

Real RSA doesn’t sign a message, but a hash of it.

Still possible to get a (message, signature) pair
signed, and compute a di
ff
erent pair that veri
fi
es.

But only one.

For a “single-use ticket” this is
fi
ne. Not for a
“pass”.
Real RSA
(“Location: New York”, signature)


We get this from an identity provider.

What if we use the same signature for that
attribute on di
ff
erent services?

The signature becomes a global cookie!
Randomized signatures
Can we randomize signatures?

Without interacting with the signer?

(“Location: New York”, signature1)


(“Location: New York”, signature2)


…


(“Location: New York”, signatureN)


Randomized signatures
PS signatures are randomizable. As many
times as we want.

Multiple messages can be signed at the same
time (and the signature has a constant size)

A signature can be computed for a subset of
the messages, without interacting with the
signer

-> Selective disclosure.
Pointcheval-Sanders signatures
These are the main
building blocks of

EL PASSO!
EL PASSO
User generates a long-term secret 

Will be used to generate a unique user id for
every service to log on

Service speci
fi
c user id: 

Remember Schnorr proofs?
s
sid = H(domain)s
EL PASSO
Credentials issuance:

The identity provider computes a unique
(multi-messages) PS signature for user
attributes (name, location, email, …), hidden
attributes (“public” counterpart of ), as well
as a timestamp.

s
EL PASSO
Credentials usage:

The signature is randomized, then the credentials
or a subset are presented.

Service speci
fi
c user id: 

The client also presents a proof of knowledge for 

Prevents sybil attacks.
sid = H(domain)s
s
EL PASSO
How to register a new device

What to do if a device is stolen/compromised

How to handle 2FA

…

How to mitigate abuse?
EL PASSO
How to mitigate abuse?

Threshold encryption

The user id, as stored by the Identity Provider,
is encrypted in a way that multiple secret
keys are required in order to decrypt it.

This encrypted (randomized) ID may be
required by a service.
EL PASSO
If a user misbehaves, a service can report the
encrypted ID to a “decryption authority”

Multiple authorities must collaborate in order
to reveal the actual ID and report it to the
Identity Provider, so that an action can be
taken.
EL PASSO
WebAssembly on the client.

Credentials and secrets stored in the
browsers’ password manager.

Implementation
How do we trust the WebAssembly code we
got?

How can it access shared secrets, from any
origin?

If it’s even possible, is that a good idea?

Missing a lot of details — this is not a
speci
fi
cation.
Implementation
Thanks!

More Related Content

What's hot

Elgamal & schnorr digital signature scheme copy
Elgamal & schnorr digital signature scheme   copyElgamal & schnorr digital signature scheme   copy
Elgamal & schnorr digital signature scheme copy
North Cap University (NCU) Formely ITM University
 
Digital Signature Certificate
Digital Signature CertificateDigital Signature Certificate
Digital Signature Certificate
home
 
Digital signature algorithm (de la cruz, genelyn).ppt 2
Digital signature algorithm (de la cruz, genelyn).ppt 2Digital signature algorithm (de la cruz, genelyn).ppt 2
Digital signature algorithm (de la cruz, genelyn).ppt 2
YooGenelyn
 
Current standard implementations for security/authorization in distributed c...
Current standard implementations for security/authorization in distributed c...Current standard implementations for security/authorization in distributed c...
Current standard implementations for security/authorization in distributed c...
Michele Orru'
 
Tucson Blockchain Developers Meetup - Sept 27 - Signed messages in ethereum p...
Tucson Blockchain Developers Meetup - Sept 27 - Signed messages in ethereum p...Tucson Blockchain Developers Meetup - Sept 27 - Signed messages in ethereum p...
Tucson Blockchain Developers Meetup - Sept 27 - Signed messages in ethereum p...
Destry Saul
 
Information and data security digital signatures
Information and data security digital signaturesInformation and data security digital signatures
Information and data security digital signatures
Mazin Alwaaly
 
Blockchain - a formal introduction
Blockchain - a formal introductionBlockchain - a formal introduction
Blockchain - a formal introduction
Sander Demeester
 
Iss lecture 4
Iss lecture 4Iss lecture 4
Iss lecture 4
Ali Habeeb
 
Beyond Good & Evil: The nuts and bolts of DRM - Dave Cramer - ebookcraft 2017
Beyond Good & Evil: The nuts and bolts of DRM - Dave Cramer - ebookcraft 2017Beyond Good & Evil: The nuts and bolts of DRM - Dave Cramer - ebookcraft 2017
Beyond Good & Evil: The nuts and bolts of DRM - Dave Cramer - ebookcraft 2017
BookNet Canada
 
2012 03 The Death of Passwords
2012 03 The Death of Passwords2012 03 The Death of Passwords
2012 03 The Death of Passwords
Raleigh ISSA
 
Cryptanalysis of Efficient Unlinkable Secret Handshakes for Anonymous Communi...
Cryptanalysis of Efficient Unlinkable Secret Handshakes for Anonymous Communi...Cryptanalysis of Efficient Unlinkable Secret Handshakes for Anonymous Communi...
Cryptanalysis of Efficient Unlinkable Secret Handshakes for Anonymous Communi...
IOSR Journals
 
Circuit ciphertext policy attribute-based hybrid encryption with verifiable d...
Circuit ciphertext policy attribute-based hybrid encryption with verifiable d...Circuit ciphertext policy attribute-based hybrid encryption with verifiable d...
Circuit ciphertext policy attribute-based hybrid encryption with verifiable d...
Shakas Technologies
 
Network security cs9 10
Network security  cs9 10Network security  cs9 10
Network security cs9 10
Infinity Tech Solutions
 
[POSS 2019] TLS for Dummies
[POSS 2019] TLS for Dummies[POSS 2019] TLS for Dummies
[POSS 2019] TLS for Dummies
Worteks
 
Circuit Ciphertext-policy Attribute-based Hybrid Encryption with Verifiable D...
Circuit Ciphertext-policy Attribute-based Hybrid Encryption with Verifiable D...Circuit Ciphertext-policy Attribute-based Hybrid Encryption with Verifiable D...
Circuit Ciphertext-policy Attribute-based Hybrid Encryption with Verifiable D...
Maregowda R Byalachinta
 
Java Crypto
Java CryptoJava Crypto
Java Crypto
phanleson
 
Network Security: Standards and Cryptography
Network Security: Standards and CryptographyNetwork Security: Standards and Cryptography
Network Security: Standards and Cryptography
Jack Davis
 
15 ma cs and signatures
15   ma cs and signatures15   ma cs and signatures
15 ma cs and signatures
drewz lin
 

What's hot (18)

Elgamal & schnorr digital signature scheme copy
Elgamal & schnorr digital signature scheme   copyElgamal & schnorr digital signature scheme   copy
Elgamal & schnorr digital signature scheme copy
 
Digital Signature Certificate
Digital Signature CertificateDigital Signature Certificate
Digital Signature Certificate
 
Digital signature algorithm (de la cruz, genelyn).ppt 2
Digital signature algorithm (de la cruz, genelyn).ppt 2Digital signature algorithm (de la cruz, genelyn).ppt 2
Digital signature algorithm (de la cruz, genelyn).ppt 2
 
Current standard implementations for security/authorization in distributed c...
Current standard implementations for security/authorization in distributed c...Current standard implementations for security/authorization in distributed c...
Current standard implementations for security/authorization in distributed c...
 
Tucson Blockchain Developers Meetup - Sept 27 - Signed messages in ethereum p...
Tucson Blockchain Developers Meetup - Sept 27 - Signed messages in ethereum p...Tucson Blockchain Developers Meetup - Sept 27 - Signed messages in ethereum p...
Tucson Blockchain Developers Meetup - Sept 27 - Signed messages in ethereum p...
 
Information and data security digital signatures
Information and data security digital signaturesInformation and data security digital signatures
Information and data security digital signatures
 
Blockchain - a formal introduction
Blockchain - a formal introductionBlockchain - a formal introduction
Blockchain - a formal introduction
 
Iss lecture 4
Iss lecture 4Iss lecture 4
Iss lecture 4
 
Beyond Good & Evil: The nuts and bolts of DRM - Dave Cramer - ebookcraft 2017
Beyond Good & Evil: The nuts and bolts of DRM - Dave Cramer - ebookcraft 2017Beyond Good & Evil: The nuts and bolts of DRM - Dave Cramer - ebookcraft 2017
Beyond Good & Evil: The nuts and bolts of DRM - Dave Cramer - ebookcraft 2017
 
2012 03 The Death of Passwords
2012 03 The Death of Passwords2012 03 The Death of Passwords
2012 03 The Death of Passwords
 
Cryptanalysis of Efficient Unlinkable Secret Handshakes for Anonymous Communi...
Cryptanalysis of Efficient Unlinkable Secret Handshakes for Anonymous Communi...Cryptanalysis of Efficient Unlinkable Secret Handshakes for Anonymous Communi...
Cryptanalysis of Efficient Unlinkable Secret Handshakes for Anonymous Communi...
 
Circuit ciphertext policy attribute-based hybrid encryption with verifiable d...
Circuit ciphertext policy attribute-based hybrid encryption with verifiable d...Circuit ciphertext policy attribute-based hybrid encryption with verifiable d...
Circuit ciphertext policy attribute-based hybrid encryption with verifiable d...
 
Network security cs9 10
Network security  cs9 10Network security  cs9 10
Network security cs9 10
 
[POSS 2019] TLS for Dummies
[POSS 2019] TLS for Dummies[POSS 2019] TLS for Dummies
[POSS 2019] TLS for Dummies
 
Circuit Ciphertext-policy Attribute-based Hybrid Encryption with Verifiable D...
Circuit Ciphertext-policy Attribute-based Hybrid Encryption with Verifiable D...Circuit Ciphertext-policy Attribute-based Hybrid Encryption with Verifiable D...
Circuit Ciphertext-policy Attribute-based Hybrid Encryption with Verifiable D...
 
Java Crypto
Java CryptoJava Crypto
Java Crypto
 
Network Security: Standards and Cryptography
Network Security: Standards and CryptographyNetwork Security: Standards and Cryptography
Network Security: Standards and Cryptography
 
15 ma cs and signatures
15   ma cs and signatures15   ma cs and signatures
15 ma cs and signatures
 

Similar to El Passo - Privacy-preserving single sign on

Introduction to Digital signatures
Introduction to Digital signaturesIntroduction to Digital signatures
Introduction to Digital signatures
Rohit Bhat
 
Bitcoin MOOC Lecture 1.pptx
Bitcoin MOOC Lecture 1.pptxBitcoin MOOC Lecture 1.pptx
Bitcoin MOOC Lecture 1.pptx
Oluseyi Akindeinde
 
Digital signature
Digital signatureDigital signature
Digital signature
Hossain Md Shakhawat
 
Privacy Preserving Paradigms of Blockchain Technology
Privacy Preserving Paradigms of Blockchain TechnologyPrivacy Preserving Paradigms of Blockchain Technology
Privacy Preserving Paradigms of Blockchain Technology
Gokul Alex
 
Ethereum: From there to here, and ownards yonder
Ethereum: From there to here, and ownards yonderEthereum: From there to here, and ownards yonder
Ethereum: From there to here, and ownards yonder
gavofyork
 
Cryptography
CryptographyCryptography
Cryptography
Learn 2 Be
 
Secure Web Transaction
Secure Web TransactionSecure Web Transaction
Secure Web Transaction
vikisharma24
 
Encode x Tezos: Intro to Blockchain
Encode x Tezos: Intro to BlockchainEncode x Tezos: Intro to Blockchain
Encode x Tezos: Intro to Blockchain
TinaBregovi
 
DevDay: Have Your Cake and Eat it Too, Privacy and Security with ZKP, ING
DevDay: Have Your Cake and Eat it Too, Privacy and Security with ZKP, INGDevDay: Have Your Cake and Eat it Too, Privacy and Security with ZKP, ING
DevDay: Have Your Cake and Eat it Too, Privacy and Security with ZKP, ING
R3
 
Digital signature(Cryptography)
Digital signature(Cryptography)Digital signature(Cryptography)
Digital signature(Cryptography)
Soham Kansodaria
 
Network securities cn
Network securities cnNetwork securities cn
Network securities cn
Dhaval Bhatia
 
Cyber security authentication - Cisco Education
Cyber security authentication - Cisco EducationCyber security authentication - Cisco Education
Cyber security authentication - Cisco Education
Hamza Arif
 
CONFidence 2017: Hacking Card Emulation - how to clone any Android HCE contac...
CONFidence 2017: Hacking Card Emulation - how to clone any Android HCE contac...CONFidence 2017: Hacking Card Emulation - how to clone any Android HCE contac...
CONFidence 2017: Hacking Card Emulation - how to clone any Android HCE contac...
PROIDEA
 
Blockchain privacy approaches in hyperledger indy
Blockchain privacy approaches in hyperledger indyBlockchain privacy approaches in hyperledger indy
Blockchain privacy approaches in hyperledger indy
ManishKumarGiri2
 
CYBER SECURITY : DIGITAL SIGNATURE,
CYBER SECURITY : DIGITAL SIGNATURE,CYBER SECURITY : DIGITAL SIGNATURE,
CYBER SECURITY : DIGITAL SIGNATURE,
ShivangiSingh241
 
Em24873876
Em24873876Em24873876
Em24873876
IJERA Editor
 
Introduction to blockchain and cryptocurrency technologies
Introduction to blockchain and cryptocurrency technologiesIntroduction to blockchain and cryptocurrency technologies
Introduction to blockchain and cryptocurrency technologies
Paweł Wacławczyk
 
How encryption works
How encryption worksHow encryption works
How encryption works
RaxTonProduction
 
Computer System Security (UNIT IV) For AKTU Lucknow
Computer System Security (UNIT IV) For AKTU LucknowComputer System Security (UNIT IV) For AKTU Lucknow
Computer System Security (UNIT IV) For AKTU Lucknow
Brijesh Vishwakarma
 
Cryptography - An Overview
Cryptography - An OverviewCryptography - An Overview
Cryptography - An Overview
ppd1961
 

Similar to El Passo - Privacy-preserving single sign on (20)

Introduction to Digital signatures
Introduction to Digital signaturesIntroduction to Digital signatures
Introduction to Digital signatures
 
Bitcoin MOOC Lecture 1.pptx
Bitcoin MOOC Lecture 1.pptxBitcoin MOOC Lecture 1.pptx
Bitcoin MOOC Lecture 1.pptx
 
Digital signature
Digital signatureDigital signature
Digital signature
 
Privacy Preserving Paradigms of Blockchain Technology
Privacy Preserving Paradigms of Blockchain TechnologyPrivacy Preserving Paradigms of Blockchain Technology
Privacy Preserving Paradigms of Blockchain Technology
 
Ethereum: From there to here, and ownards yonder
Ethereum: From there to here, and ownards yonderEthereum: From there to here, and ownards yonder
Ethereum: From there to here, and ownards yonder
 
Cryptography
CryptographyCryptography
Cryptography
 
Secure Web Transaction
Secure Web TransactionSecure Web Transaction
Secure Web Transaction
 
Encode x Tezos: Intro to Blockchain
Encode x Tezos: Intro to BlockchainEncode x Tezos: Intro to Blockchain
Encode x Tezos: Intro to Blockchain
 
DevDay: Have Your Cake and Eat it Too, Privacy and Security with ZKP, ING
DevDay: Have Your Cake and Eat it Too, Privacy and Security with ZKP, INGDevDay: Have Your Cake and Eat it Too, Privacy and Security with ZKP, ING
DevDay: Have Your Cake and Eat it Too, Privacy and Security with ZKP, ING
 
Digital signature(Cryptography)
Digital signature(Cryptography)Digital signature(Cryptography)
Digital signature(Cryptography)
 
Network securities cn
Network securities cnNetwork securities cn
Network securities cn
 
Cyber security authentication - Cisco Education
Cyber security authentication - Cisco EducationCyber security authentication - Cisco Education
Cyber security authentication - Cisco Education
 
CONFidence 2017: Hacking Card Emulation - how to clone any Android HCE contac...
CONFidence 2017: Hacking Card Emulation - how to clone any Android HCE contac...CONFidence 2017: Hacking Card Emulation - how to clone any Android HCE contac...
CONFidence 2017: Hacking Card Emulation - how to clone any Android HCE contac...
 
Blockchain privacy approaches in hyperledger indy
Blockchain privacy approaches in hyperledger indyBlockchain privacy approaches in hyperledger indy
Blockchain privacy approaches in hyperledger indy
 
CYBER SECURITY : DIGITAL SIGNATURE,
CYBER SECURITY : DIGITAL SIGNATURE,CYBER SECURITY : DIGITAL SIGNATURE,
CYBER SECURITY : DIGITAL SIGNATURE,
 
Em24873876
Em24873876Em24873876
Em24873876
 
Introduction to blockchain and cryptocurrency technologies
Introduction to blockchain and cryptocurrency technologiesIntroduction to blockchain and cryptocurrency technologies
Introduction to blockchain and cryptocurrency technologies
 
How encryption works
How encryption worksHow encryption works
How encryption works
 
Computer System Security (UNIT IV) For AKTU Lucknow
Computer System Security (UNIT IV) For AKTU LucknowComputer System Security (UNIT IV) For AKTU Lucknow
Computer System Security (UNIT IV) For AKTU Lucknow
 
Cryptography - An Overview
Cryptography - An OverviewCryptography - An Overview
Cryptography - An Overview
 

More from Frank Denis

This domain name will self-destruct tomorrow
This domain name will self-destruct tomorrowThis domain name will self-destruct tomorrow
This domain name will self-destruct tomorrow
Frank Denis
 
Malware vs Big Data
Malware vs Big DataMalware vs Big Data
Malware vs Big Data
Frank Denis
 
Abusing Javascript to speedup mobile web sites
Abusing Javascript to speedup mobile web sitesAbusing Javascript to speedup mobile web sites
Abusing Javascript to speedup mobile web sites
Frank Denis
 
An introduction to Pincaster
An introduction to PincasterAn introduction to Pincaster
An introduction to Pincaster
Frank Denis
 
Graphs
GraphsGraphs
Graphs
Frank Denis
 
Redis - (nosqlfr meetup #2)
Redis - (nosqlfr meetup #2) Redis - (nosqlfr meetup #2)
Redis - (nosqlfr meetup #2)
Frank Denis
 

More from Frank Denis (6)

This domain name will self-destruct tomorrow
This domain name will self-destruct tomorrowThis domain name will self-destruct tomorrow
This domain name will self-destruct tomorrow
 
Malware vs Big Data
Malware vs Big DataMalware vs Big Data
Malware vs Big Data
 
Abusing Javascript to speedup mobile web sites
Abusing Javascript to speedup mobile web sitesAbusing Javascript to speedup mobile web sites
Abusing Javascript to speedup mobile web sites
 
An introduction to Pincaster
An introduction to PincasterAn introduction to Pincaster
An introduction to Pincaster
 
Graphs
GraphsGraphs
Graphs
 
Redis - (nosqlfr meetup #2)
Redis - (nosqlfr meetup #2) Redis - (nosqlfr meetup #2)
Redis - (nosqlfr meetup #2)
 

Recently uploaded

Main news related to the CCS TSI 2023 (2023/1695)
Main news related to the CCS TSI 2023 (2023/1695)Main news related to the CCS TSI 2023 (2023/1695)
Main news related to the CCS TSI 2023 (2023/1695)
Jakub Marek
 
Operating System Used by Users in day-to-day life.pptx
Operating System Used by Users in day-to-day life.pptxOperating System Used by Users in day-to-day life.pptx
Operating System Used by Users in day-to-day life.pptx
Pravash Chandra Das
 
Skybuffer AI: Advanced Conversational and Generative AI Solution on SAP Busin...
Skybuffer AI: Advanced Conversational and Generative AI Solution on SAP Busin...Skybuffer AI: Advanced Conversational and Generative AI Solution on SAP Busin...
Skybuffer AI: Advanced Conversational and Generative AI Solution on SAP Busin...
Tatiana Kojar
 
Building Production Ready Search Pipelines with Spark and Milvus
Building Production Ready Search Pipelines with Spark and MilvusBuilding Production Ready Search Pipelines with Spark and Milvus
Building Production Ready Search Pipelines with Spark and Milvus
Zilliz
 
Nunit vs XUnit vs MSTest Differences Between These Unit Testing Frameworks.pdf
Nunit vs XUnit vs MSTest Differences Between These Unit Testing Frameworks.pdfNunit vs XUnit vs MSTest Differences Between These Unit Testing Frameworks.pdf
Nunit vs XUnit vs MSTest Differences Between These Unit Testing Frameworks.pdf
flufftailshop
 
Fueling AI with Great Data with Airbyte Webinar
Fueling AI with Great Data with Airbyte WebinarFueling AI with Great Data with Airbyte Webinar
Fueling AI with Great Data with Airbyte Webinar
Zilliz
 
Azure API Management to expose backend services securely
Azure API Management to expose backend services securelyAzure API Management to expose backend services securely
Azure API Management to expose backend services securely
Dinusha Kumarasiri
 
WeTestAthens: Postman's AI & Automation Techniques
WeTestAthens: Postman's AI & Automation TechniquesWeTestAthens: Postman's AI & Automation Techniques
WeTestAthens: Postman's AI & Automation Techniques
Postman
 
Generating privacy-protected synthetic data using Secludy and Milvus
Generating privacy-protected synthetic data using Secludy and MilvusGenerating privacy-protected synthetic data using Secludy and Milvus
Generating privacy-protected synthetic data using Secludy and Milvus
Zilliz
 
AWS Cloud Cost Optimization Presentation.pptx
AWS Cloud Cost Optimization Presentation.pptxAWS Cloud Cost Optimization Presentation.pptx
AWS Cloud Cost Optimization Presentation.pptx
HarisZaheer8
 
Nordic Marketo Engage User Group_June 13_ 2024.pptx
Nordic Marketo Engage User Group_June 13_ 2024.pptxNordic Marketo Engage User Group_June 13_ 2024.pptx
Nordic Marketo Engage User Group_June 13_ 2024.pptx
MichaelKnudsen27
 
TrustArc Webinar - 2024 Global Privacy Survey
TrustArc Webinar - 2024 Global Privacy SurveyTrustArc Webinar - 2024 Global Privacy Survey
TrustArc Webinar - 2024 Global Privacy Survey
TrustArc
 
Programming Foundation Models with DSPy - Meetup Slides
Programming Foundation Models with DSPy - Meetup SlidesProgramming Foundation Models with DSPy - Meetup Slides
Programming Foundation Models with DSPy - Meetup Slides
Zilliz
 
5th LF Energy Power Grid Model Meet-up Slides
5th LF Energy Power Grid Model Meet-up Slides5th LF Energy Power Grid Model Meet-up Slides
5th LF Energy Power Grid Model Meet-up Slides
DanBrown980551
 
June Patch Tuesday
June Patch TuesdayJune Patch Tuesday
June Patch Tuesday
Ivanti
 
System Design Case Study: Building a Scalable E-Commerce Platform - Hiike
System Design Case Study: Building a Scalable E-Commerce Platform - HiikeSystem Design Case Study: Building a Scalable E-Commerce Platform - Hiike
System Design Case Study: Building a Scalable E-Commerce Platform - Hiike
Hiike
 
Columbus Data & Analytics Wednesdays - June 2024
Columbus Data & Analytics Wednesdays - June 2024Columbus Data & Analytics Wednesdays - June 2024
Columbus Data & Analytics Wednesdays - June 2024
Jason Packer
 
Letter and Document Automation for Bonterra Impact Management (fka Social Sol...
Letter and Document Automation for Bonterra Impact Management (fka Social Sol...Letter and Document Automation for Bonterra Impact Management (fka Social Sol...
Letter and Document Automation for Bonterra Impact Management (fka Social Sol...
Jeffrey Haguewood
 
A Comprehensive Guide to DeFi Development Services in 2024
A Comprehensive Guide to DeFi Development Services in 2024A Comprehensive Guide to DeFi Development Services in 2024
A Comprehensive Guide to DeFi Development Services in 2024
Intelisync
 
Taking AI to the Next Level in Manufacturing.pdf
Taking AI to the Next Level in Manufacturing.pdfTaking AI to the Next Level in Manufacturing.pdf
Taking AI to the Next Level in Manufacturing.pdf
ssuserfac0301
 

Recently uploaded (20)

Main news related to the CCS TSI 2023 (2023/1695)
Main news related to the CCS TSI 2023 (2023/1695)Main news related to the CCS TSI 2023 (2023/1695)
Main news related to the CCS TSI 2023 (2023/1695)
 
Operating System Used by Users in day-to-day life.pptx
Operating System Used by Users in day-to-day life.pptxOperating System Used by Users in day-to-day life.pptx
Operating System Used by Users in day-to-day life.pptx
 
Skybuffer AI: Advanced Conversational and Generative AI Solution on SAP Busin...
Skybuffer AI: Advanced Conversational and Generative AI Solution on SAP Busin...Skybuffer AI: Advanced Conversational and Generative AI Solution on SAP Busin...
Skybuffer AI: Advanced Conversational and Generative AI Solution on SAP Busin...
 
Building Production Ready Search Pipelines with Spark and Milvus
Building Production Ready Search Pipelines with Spark and MilvusBuilding Production Ready Search Pipelines with Spark and Milvus
Building Production Ready Search Pipelines with Spark and Milvus
 
Nunit vs XUnit vs MSTest Differences Between These Unit Testing Frameworks.pdf
Nunit vs XUnit vs MSTest Differences Between These Unit Testing Frameworks.pdfNunit vs XUnit vs MSTest Differences Between These Unit Testing Frameworks.pdf
Nunit vs XUnit vs MSTest Differences Between These Unit Testing Frameworks.pdf
 
Fueling AI with Great Data with Airbyte Webinar
Fueling AI with Great Data with Airbyte WebinarFueling AI with Great Data with Airbyte Webinar
Fueling AI with Great Data with Airbyte Webinar
 
Azure API Management to expose backend services securely
Azure API Management to expose backend services securelyAzure API Management to expose backend services securely
Azure API Management to expose backend services securely
 
WeTestAthens: Postman's AI & Automation Techniques
WeTestAthens: Postman's AI & Automation TechniquesWeTestAthens: Postman's AI & Automation Techniques
WeTestAthens: Postman's AI & Automation Techniques
 
Generating privacy-protected synthetic data using Secludy and Milvus
Generating privacy-protected synthetic data using Secludy and MilvusGenerating privacy-protected synthetic data using Secludy and Milvus
Generating privacy-protected synthetic data using Secludy and Milvus
 
AWS Cloud Cost Optimization Presentation.pptx
AWS Cloud Cost Optimization Presentation.pptxAWS Cloud Cost Optimization Presentation.pptx
AWS Cloud Cost Optimization Presentation.pptx
 
Nordic Marketo Engage User Group_June 13_ 2024.pptx
Nordic Marketo Engage User Group_June 13_ 2024.pptxNordic Marketo Engage User Group_June 13_ 2024.pptx
Nordic Marketo Engage User Group_June 13_ 2024.pptx
 
TrustArc Webinar - 2024 Global Privacy Survey
TrustArc Webinar - 2024 Global Privacy SurveyTrustArc Webinar - 2024 Global Privacy Survey
TrustArc Webinar - 2024 Global Privacy Survey
 
Programming Foundation Models with DSPy - Meetup Slides
Programming Foundation Models with DSPy - Meetup SlidesProgramming Foundation Models with DSPy - Meetup Slides
Programming Foundation Models with DSPy - Meetup Slides
 
5th LF Energy Power Grid Model Meet-up Slides
5th LF Energy Power Grid Model Meet-up Slides5th LF Energy Power Grid Model Meet-up Slides
5th LF Energy Power Grid Model Meet-up Slides
 
June Patch Tuesday
June Patch TuesdayJune Patch Tuesday
June Patch Tuesday
 
System Design Case Study: Building a Scalable E-Commerce Platform - Hiike
System Design Case Study: Building a Scalable E-Commerce Platform - HiikeSystem Design Case Study: Building a Scalable E-Commerce Platform - Hiike
System Design Case Study: Building a Scalable E-Commerce Platform - Hiike
 
Columbus Data & Analytics Wednesdays - June 2024
Columbus Data & Analytics Wednesdays - June 2024Columbus Data & Analytics Wednesdays - June 2024
Columbus Data & Analytics Wednesdays - June 2024
 
Letter and Document Automation for Bonterra Impact Management (fka Social Sol...
Letter and Document Automation for Bonterra Impact Management (fka Social Sol...Letter and Document Automation for Bonterra Impact Management (fka Social Sol...
Letter and Document Automation for Bonterra Impact Management (fka Social Sol...
 
A Comprehensive Guide to DeFi Development Services in 2024
A Comprehensive Guide to DeFi Development Services in 2024A Comprehensive Guide to DeFi Development Services in 2024
A Comprehensive Guide to DeFi Development Services in 2024
 
Taking AI to the Next Level in Manufacturing.pdf
Taking AI to the Next Level in Manufacturing.pdfTaking AI to the Next Level in Manufacturing.pdf
Taking AI to the Next Level in Manufacturing.pdf
 

El Passo - Privacy-preserving single sign on

  • 1. EL PASSO Efficient and Lightweight Privacy-preserving Single Sign On @fdenis - OCTO
  • 3. can be e ffi ciently computed Without , doesn’t reveal any information about . Given , fi nding another pair so that is hard. Even if is known. Even if h ← Hk(m) h k h m h (k′  , m′  ) Hk′  (m′  ) = h k k = k′  Commitments - MACs
  • 4. Generate a random key Choose a move in {✊,✋,✌} Compute and send : commitment Then reveal : proof, that anybody can verify with public parameters k m Hk(m) (k, m) Commitments - Shifumi game
  • 5. Great, but we had to reveal everything. Including the secret Fine here, because we use these only once. But would there be a way to prove that we know a secret without disclosing it? k Commitments - Shifumi game
  • 6. We are going to choose a setup where: can be e ffi ciently computed But given and , recovering is assumed to be hard. Even if is secret, it is safe to make public (until large quantum computers become real) A ← Ga Ga G A a a Ga Schnorr proofs - Discrete log problem
  • 7. Pick a secret Make public Goal: prove that we know without disclosing it. is already known by the veri fi er. a A ← Ga A a G Schnorr proofs
  • 8. Pick a secret (public) Pick a random group element (public) commitment : challenge sent by the veri fi er (public) proof a A ← Ga v V ← Gv c r ← v − ac Schnorr proofs
  • 9. Secret (public) Random group element (public) commitment : challenge sent by the veri fi er (public) proof — requires knowledge of Veri fi cation: check that — public parameters a A ← Ga v V ← Gv c r ← v − ac a Gr ⋅ Ac = V Gr ⋅ Ac = Gv−ac ⋅ Gac = Gv = V Schnorr proofs
  • 10. : challenge sent by the veri fi er Requires a round-trip. Doesn’t work asynchronously. Let’s fi x this with the Fiat-Shamir heuristic. c Schnorr proofs
  • 11. Produces a challenge that the prover doesn’t have much control over Not random, but good enough in practice. The prover is “challenging itself” The protocol becomes non-interactive! c ← H(A, V, fastly, …) Non-interactive Schnorr proofs
  • 12. NIZKP - Non-Interactive Zero Knowledge Proof. Can be used to prove knowledge of a secret without revealing it. Multiple proofs can be sent to a veri fi er anytime, without any round trips. What if we include a message in the computation? We get a signature system. Here, the Schnorr signature system. Non-interactive Schnorr proofs
  • 13. : generate a secret and a public counterpart signature (commitment+proof) A valid signature that the signer knew about and the secret without revealing the secret. generate() a A sign(a, m) → verify(A, m, sig) → {valid, invalid} m Schnorr signatures
  • 15. RSA signatures: If is a valid pair for a given public key, is also a valid pair. It can be veri fi ed with the same public key. They look very di ff erent. Even the signer cannot tell that But any valid pair means that, at some point, the signer signed something. md (mod n) (m, sig) (mr , sigr ) (mr , sigr ) ≡ (m, sig) RSA
  • 16. Maybe the signature was issued because we bought something. Or were granted access to something - we got a “virtual ticket” or a “virtual pass” The message itself may not even matter. Owning a valid signature does. Even if it’s not the original one. On the signature itself
  • 17. If we get a signature and present a variant of it a veri fi er, both events cannot be linked. Untraceable payments. Anonymous tokens, where signatures issued by an identity provider are not the same as the ones presented to services. Blind / randomized signatures
  • 18. The previous example was textbook RSA. Real RSA doesn’t sign a message, but a hash of it. Still possible to get a (message, signature) pair signed, and compute a di ff erent pair that veri fi es. But only one. For a “single-use ticket” this is fi ne. Not for a “pass”. Real RSA
  • 19. (“Location: New York”, signature) We get this from an identity provider. What if we use the same signature for that attribute on di ff erent services? The signature becomes a global cookie! Randomized signatures
  • 20. Can we randomize signatures? Without interacting with the signer? (“Location: New York”, signature1) (“Location: New York”, signature2) … (“Location: New York”, signatureN) Randomized signatures
  • 21. PS signatures are randomizable. As many times as we want. Multiple messages can be signed at the same time (and the signature has a constant size) A signature can be computed for a subset of the messages, without interacting with the signer -> Selective disclosure. Pointcheval-Sanders signatures
  • 22. These are the main building blocks of EL PASSO! EL PASSO
  • 23. User generates a long-term secret Will be used to generate a unique user id for every service to log on Service speci fi c user id: Remember Schnorr proofs? s sid = H(domain)s EL PASSO
  • 24. Credentials issuance: The identity provider computes a unique (multi-messages) PS signature for user attributes (name, location, email, …), hidden attributes (“public” counterpart of ), as well as a timestamp. s EL PASSO
  • 25. Credentials usage: The signature is randomized, then the credentials or a subset are presented. Service speci fi c user id: The client also presents a proof of knowledge for Prevents sybil attacks. sid = H(domain)s s EL PASSO
  • 26. How to register a new device What to do if a device is stolen/compromised How to handle 2FA … How to mitigate abuse? EL PASSO
  • 27. How to mitigate abuse? Threshold encryption The user id, as stored by the Identity Provider, is encrypted in a way that multiple secret keys are required in order to decrypt it. This encrypted (randomized) ID may be required by a service. EL PASSO
  • 28. If a user misbehaves, a service can report the encrypted ID to a “decryption authority” Multiple authorities must collaborate in order to reveal the actual ID and report it to the Identity Provider, so that an action can be taken. EL PASSO
  • 29. WebAssembly on the client. Credentials and secrets stored in the browsers’ password manager. Implementation
  • 30. How do we trust the WebAssembly code we got? How can it access shared secrets, from any origin? If it’s even possible, is that a good idea? Missing a lot of details — this is not a speci fi cation. Implementation