Presenting the works of the EU projects PrimeLife and ABC4Trust, on how to employ attribute-based credentials (at the Newcastle security forum). The slides are provided by IBM Research - Zurich, in particular Jan Camenisch, Gregory Neven and Anja Lehmann.
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Attribute-based Authentication
1. Privacy-enhancing Attribute-based
Authentication
Presenting works of the EU Projects
PrimeLife and ABC4Trust
Slides provided by the
IBM Research – Zurich identity and privacy team
(mostly from Jan Camenisch, Anja Lehmann, Gregory Neven)
3. Anja Lehmann, IBM Research – Zurich, 10.06.2011
ABC4Trust & PrimeLife Tutorial
Part I: Introduction to
Privacy-Preserving Authentication
1 ABC4Trust & PrimeLife − Tutorial − 10.06.2011
4. Authentication
l
n tia
e
cred Issuer
I am Alice Doe Convince me!
and I'm over 18! btw … I trust the Issuer
show credential
User Verifier
7 ABC4Trust & PrimeLife − Tutorial − 10.06.2011
5. Authentication
credential / certificate
signed list of attribute-value pairs
name
= Alice Doe
birth date
= 1973/01/26
signed by the issuer
8 ABC4Trust & PrimeLife − Tutorial − 10.06.2011
10. Standard Public-Key Certificates
e.g., X.509 certificates
Obtaining a certificate…
name = Alice Doe,
birth date = 1973/01/26,
pk =
13 ABC4Trust & PrimeLife − Tutorial − 10.06.2011
11. Standard Public-Key Certificates
e.g., X.509 certificates
Using a certificate…
linkable by certificate & public key
linkable by certificate & public key
name = Alice Doe,
birth date = 1973/01/26,
pk =
full attribute disclosure
full attribute disclosure
14 ABC4Trust & PrimeLife − Tutorial − 10.06.2011
12. Standard Public-Key Certificates
e.g., X.509 certificates
Using a certificate again…
name = Alice Doe,
birth date = 1973/01/26,
pk =
name = Alice Doe,
birth date = 1973/01/26,
pk =
linkable when used multiple times
linkable when used multiple times
15 ABC4Trust & PrimeLife − Tutorial − 10.06.2011
18. Minimal Disclosure Tokens
Using a token …
name = Alice Doe,
birth date = 1973/01/26
issuance and showing are unlinkable
issuance and showing are unlinkable
ABC4Trust & PrimeLife − Tutorial − 10.06.2011
19. Minimal Disclosure Tokens
Using a token …
name = ?,
birth date = 1973/01/26
selective attribute disclosure
selective attribute disclosure
ABC4Trust & PrimeLife − Tutorial − 10.06.2011
21. Minimal Disclosure Tokens
Unforgeability: Alice should not be able to show a token
that she never obtained
name = Alice Doe,
birth date = 1973/01/26
name = Alice Doe,
birth date = 1947/01/26,
ABC4Trust & PrimeLife − Tutorial − 10.06.2011
28. Minimal Disclosure Wallets
Using a credential…
selective attribute disclosure
selective attribute disclosure
name = ?,
birth date = 1973/01/26
issuance and showing are unlinkable
issuance and showing are unlinkable
ABC4Trust & PrimeLife − Tutorial − 10.06.2011
29. Minimal Disclosure Wallets
Using a credential again…
name = ?,
birth date = 1973/01/26
name = Alice Doe,
birth date = ?
multi-show unlinkability
multi-show unlinkability
ABC4Trust & PrimeLife − Tutorial − 10.06.2011
30. Minimal Disclosure Wallets
Using multiple credentials…
passport
driver's license
passport: birth date = 1973/01/26
driver's license: vehicle cat B
ABC4Trust & PrimeLife − Tutorial − 10.06.2011
31. Minimal Disclosure Wallets
Protection of user's privacy
pseudonymity
unlinkeability (multi-use)
using/combining multiple credentials
selective disclosure
Unforgeability of credentials
Consistency of credentials (no sharing)
34 ABC4Trust & PrimeLife − Tutorial − 10.06.2011
32. Minimal Disclosure Wallets
Sharing Prevention: Alice and Eve should not be able to share credential
name = Alice Doe,
birth date = 1973/01/26
name = Alice Doe,
birth date = 1973/01/26
ABC4Trust & PrimeLife − Tutorial − 10.06.2011
33. Minimal Disclosure Wallets
Protection of user's privacy
pseudonymity
unlinkeability (multi-use)
using/combining multiple credentials
selective disclosure
Unforgeability of credentials
Consistency of credentials (no sharing)
36 ABC4Trust & PrimeLife − Tutorial − 10.06.2011
35. Extended Functionality
Predicates over attributes
Credentials on hidden attributes
Device binding
Domain pseudonym
Revocation of credentials
Inspection of credentials/attributes
Usage limitation
Censorable Audit Logs
ABC4Trust & PrimeLife − Tutorial − 10.06.2011
36. Predicate Over Attributes
name = ?,
birth date = 1973/01/26
> 1993/06/10
Range Proofs
Age > 18, 10 < Age < 16, … is user over 18?
credit card expiration date > today
Set Membership
status: {children, student, senior}
Logical Combinations
(credit card status = silver or gold) and valid driver's license
ABC4Trust & PrimeLife − Tutorial − 10.06.2011
37. Extended Functionality
Predicates over attributes
Credentials on hidden attributes
Device binding
Domain pseudonym
Revocation of credentials
Inspection of credentials/attributes
Usage limitation
Censorable Audit Logs
ABC4Trust & PrimeLife − Tutorial − 10.06.2011
38. Credentials on Hidden Attributes
User can prove statements on hidden attributes
name = Alice Doe
birth date =
name = Alice Doe,
birth date = 1973/01/26
name = Alice Doe,
birth date = 1973/01/26
similar to usage of pseudonyms = commitments to master secret
ABC4Trust & PrimeLife − Tutorial − 10.06.2011
40. Implementation available :-)
Identity Mixer is an implementation of Private Credentials
Provides a library with all the crypto
Issuing credentials
Transforming credentials according to a specified statement
(policy)
Includes many of the features discussed
Provides a credential-based AC engine
Relying party specifies attributes & credentials requirements
User matches that to available credentials and generates
„evidence“
Get it at www.PrimeLife.eu/opensource and use it
..as do a number of projects already :-)
ABC4Trust & PrimeLife − Tutorial − 10.06.2011