[Music]
i'm daniel oscar
born in germany
and living in the netherlands already
since 2006
currently living in nineveh here working
for the hardport university
and yeah as already mentioned i want to
tell you about emma and verifiable
credentials and
subtitles how to authenticate in a
decentralized privacy friendly and more
reliable manner
across
systems
so first i want to talk about the
one of the current issues with
identity management
that is it's centralized in
traditionally
so i give one example this is one model
but there are also other models but
for now let's keep it also simple
and um
yeah this is me
i want to authenticate or request the
service at my health insurer vgz
which is the service provider in this
case
and
so i was requesting a service and in
order to be able to access the service i
need to authenticate and how does this
work in the netherlands
usually
the service provider asks
dgd which is the identity provider one
of the identity providers in the
netherlands owned by the government
to authenticate to certain services
and
so the service provider asks dgd is this
really daniel
and
then i need to authenticate
at dgt and dgd then gives okay to the
service provider that i'm indeed
daniel
so in case of extreme events
we clearly see that this central party
the identity provider dgt is one of the
bottlenecks
because we have seen in the past that
there were
denial of service
attacks also on dgt and it was not
available for some time
and also quality of service issues
so
their researchers and industry are
working on solutions worldwide
one of them is
emra standing for i reveal my attributes
developed at radboat university
some years ago
and it advertises itself on their
website with having the digital passport
on your phone
currently it's maintained
by scdn
which is also responsible for
maintaining the nl domain and um
yeah one of the interesting things about
emr is that it's completely open source
so you can look up all the source code
on github
and
it implements partly
the ibm's
itemx specification
that itemx stands for identity mixer and
it's a cryptographic protocol suite for
privacy preserving
authentication
if you want to learn more
about
the
implementation of edemics within yema
then i invite you to go to the talk in
the evening of maya and zitsel also
sitting here
which will tell you at 9pm today in the
abacus
about ems eta mix implementations the
crypto behind selective unnegligible
attribute disclosure
so how does ima then work and also
similar systems
we have two independent processes
first the issuance and second the
disclosure
first doing issuance
for instance the government in the
netherlands can issue me
a personal data credential which
consists of my name
my birth date and for instance also my
address
so this credential will then after i
authenticate to the government with dgd
will be transferred to my phone
and
me
as the owner of the credential is
then yeah can
can disclose this credit to whenever i
want
a credential consists
of a certain
[Music]
properties so first
it's bound to the phone
via some cryptographic tricks
and
it contains metadata from which issuer
it's issued for instance the dutch
government
also when it was issued and when the
credential expires
also
logically it contains then attributes
and most importantly also the issuer's
signature because the issuer signs
all attributes
such that
another party the verifier can
verify that the
credential and the containing attributes
are indeed
valid and issued by that issuer
so if i now want to use those
credentials
um
i can go to service provider and the
service provider request then that i
need to prove something for instance
that i'm above 18 years old so where do
i need to
want to disclose such information for
instance when
i want to buy some liquor at the
so the challenge is in this case a
service provider
and
he wants to know that i'm indeed above
18 years old
so the trust model in this case is that
trusts the government that the
government issues
valid
credentials to the rightful citizen
however during
doing disclosure
the helen hall does not need to talk
with the government so this is privacy
preserving in that sense that the
government
doesn't learn as identity provider when
i use the credential in question
so that's one of the advantages of this
decentralized identity model
so zooming a bit in
how does a session in emr work
first
we go to
a website and i chose now to have an
example of verifier
the verifier then starts a session at
the ema server which this verifier can
run himself
after initiating the session
at the emma server the email server
returns some session information and
based on the session information the
verifier can create and show a qr code
to the user
then the user scan cqr code
so the emr app
gets information about the session
and
subsequently the email app also
requests the information which
attributes need to be disclosed
and then the user can choose
with an email it's possible to also make
a construction that a user has a choice
which attributes to this close
and
yeah then he can select in the app and
disclose
the attributes
and then in the end the verifier can
look up at the ems server if
the disclosure was indeed successful and
valid
now one practical use case i want to
refer to because i'm currently working
on it
is a postcard
it's um
we
with in postcard we have the goal to
make email encryption accessible
for everybody is easy to use
yeah we all know the issues the
usability issues with open pgp right
and
how we do that is by utilizing identity
based or attribute-based
encryption
in this concept we have a private key
generator which is a trusted third party
so
that's also an issue we'll talk about it
in a second
and
if alice wants to encrypt
for her doctor bob for instance um
she just needs the identity of bob for
instance his email address and some
attribute related to that he is a doctor
and the public key of the public key
generator
and then alice can encrypt the mail
then we ship the mail via our well-known
smtp protocol to to bob
but all the payload is encrypted during
transport
and bob can then decrypt
by
proving his identity via emr to the
private key generator
and if the private key generator then
validates the disclosure it generates a
user secret key
that matches the identity with which
ellis
encrypted
and then bob can decrypt
the email
so this decentralized and user-centric
identity
uh systems are also referred to
nowadays more often as self-serving
identity systems christopher ellen
published
an article in 2016 uh titled the path to
self-serving identity
where he also lists ten different
principles
such a system should adhere to
unfortunately it's also often associated
with distributed ledger technology
because
the bigger parties such as ibm
really uses it for marketing purposes to
sell their
distributed ledger technology more
more recently
in germany there were some projects
called id wallet and the digital school
certificates based on distributed ledger
technologies
and the principles of self-serving
identity but
as we've seen those projects failed at
the moment
so they are not online anymore and yeah
i think they will further work on it but
also the
bonus central physicists in the
information technology the bsi
discourages the use of distributed
ledger technologies in
such decentralized user-centric
identity systems
also interestingly
recently
the european union
announced that there is a european
digital identity initiative
there is still a call for proposals the
deadline is on the 17th of august
22
and they asked for
yeah
yeah the industry and researchers to
submit solutions
per country
and
with the goal to have per country maybe
one one system
deployed in the end and that those
systems are then interoperable so so if
i now travel with my credentials to
germany that i can also use my
dutch credentials in germany to
authenticate and for example to prove
that i'm above 18 years old
also
yema is also participating in this
so there is also some discussion
especially in germany um that there are
also some drawbacks with self-serving
identity or decentralized and
user-centric identity systems in general
um some of those arguments are nicely
written down by lily redmond my german
friends here will probably
heard about her in the last two years
also and
she argues that with self-serving
identity systems service providers have
verified verified data stored
and those are more valuable for
criminals
also once you have such
an infrastructure deployed it's also
easier to add identification obligations
in the future
also states often leave it to the market
to develop
solutions
and then the question is okay what's
what's the business model then
for those
organizations right how do i want to
earn money with the identity do we want
that
as a society
and
yeah citizens are then becoming
responsible for
maintaining their credentials within
their phone so
what happens if someone commits fault
with them who's
liable for this
one of the goals of the european digital
identity
was to make such platforms interoperable
right what i said so you can go from
travel from germany to the netherlands
and then use the
credential from one country in another
country
so
one of the current issues is that
there is no standard defined how
different identity apps such as emi it's
me slus or the american sovereign
talk to each other right how to exchange
credentials between systems such that i
can for instance have my personal data
credential from ems
stored within my yema app and someone
deploys an it's me server
and then can verify my ema credentials
within an it's me system
this
w3c the worldwide web consortium
developed a
standard called verifiable credentials
data model
and it became a recommendation
version 1.0 in
may 2020 i think
and in the meantime they also updated
some minor things so it became a 1.1
version
um
so important to see here is that
this proposal contains a data model
which is an
unambiguous specification defining walls
the interaction between walls and
related concepts
and also providing a syntax usually in
json so we will
i will give a little example in a bit
so if we now look at the walls and
information flow of the verifiable
credentials data model we see clearly
some similarities with the yammer system
right we have here an issuer that issues
credentials
we have a holder or a user that needs to
store the credentials in a within a
wallet app on the phone
then we have a verifier on the right and
that yeah requests credentials and
verifies them
and on the bottom we see we have a
verified data registry that maintains
identifiers and schemes so i didn't talk
about this yet but i will do in a bit
and
within yammer yeah we have the similar
concepts
so an emr scheme is
very important because it contains
information about the issuer
which credentials an issuer may issue
and also the public keys
of the issuers
that
a verifier needs to be able
to
verify that the credentials are indeed
developed
so the emr scheme is distributed via the
ems key manager so it's hosted on github
and
every
instance of an ems
service or the yemi app regularly
pulls the most recent version of the
official emr scheme
so it stays up to date
however in the
verified credential
data model
the the yes
it works a bit differently so for
instance as you can see here the the
green row
within
within this accept
example we see a url
that links
to yeah if d referenced contains some
information about the issuer
and i think most importantly contains
the public key of the issuer so
anyone receiving this credential can
verify it
so what i did within
within my work is developing a metadata
server
within the emr system
such that
external parties can request information
about the issuer and about the
credentials used
by offering two distinct endpoints the
issuer and the schema endpoint
yeah so we can conform to the verifiable
credential data model
so the prototype are built
to summarize is providing this metadata
server
a wrapper with an emr go yamago is a
central component with which you can
run an emr server but also parts are
used
within
the app
to compute verifiable credential
compliant messages
also i show that we can exchange
verifiable credential compliant messages
between different emma components
so doing my study i was not able due to
time constraints to find other parties
for instance it's me or soviet that want
to work together with me to
to show that we can indeed exchange
information
between different systems
so the source code is also available on
my github i forked the emrgo and the
emma mobile repositories
and
to to wrap it up
i think all the time
so
what i just said the prototype showers
how to compute vc compliant messages
within yema
by conforming to the verified credential
data model ema's interval
interoperability increases however one
of the most
important things to discuss though is
that
the apis and the cryptos
a system implements can defer in each
system and that's also the biggest
challenge
and that's yeah for instance emr
utilizes
the ib ibm's identity mix specification
to to implement some protocols but other
system can implement other crypto
so
how do you make sure each system
understand
crypto of all the other systems right i
think that's one of the most
complicated things
in this whole yeah very very credential
um yeah standard
but i think we have a similar discussion
currently about
making messenger apps interoperable i
think there we have kind of the similar
challenges
so on a more higher level
we can state that with decentral
identity management platforms we can
improve the reliability
doing extreme events
because we are not relying on the
central identity provider
there are also several
decentralized and user-centric products
available on the market as we've seen
emr for instance in schloss in the
netherlands and it's me
in belgium which is really used heavily
there by citizens
yeah the bsi
states that it doesn't recommend the use
of distributed ledger technology within
such systems
um
in in we have seen that
systems use it for like storing also a
scheme right so in a decentralized
manner they try to distribute
the scheme such that everybody can
receive the right information about
issuers for instance the public keys
and yeah in the end we have the european
digital
identity initiative
it gives opportunities to empower
citizens to be in control and sole
control of their identity
but as i have shown there are also some
drawbacks that we still need to address
so i also
it's a call to action for everybody here
who wants that this goes in the right
direction
because within the european union it was
also one point was that we have some
unique identifier for every citizen
within europe so that we can have yeah
uh
can identify everyone and i think we
we don't want that
as a community here at least
and
yeah that's the end of my
talk and so we still have some time for
a q a
so thank you very much and if there are
any questions please line up at the
microphones in the middle of the room
we do have some time if anyone wants to
know anything
okay
first front microphone please hi you
mentioned and it's on the slide
the distributed ledger is not
recommended by the bsi
could you tell a little bit more about
that about the whys and
the whys yeah because they argue that
the
technology is not major enough and
it gives more risk than it benefits
an actual system so i don't have all the
details now in mind but i referenced it
so
yeah i ask you then to to look up if you
really want to know all the details what
what they write in their report so
yeah
that's okay next question
hello and thank you for your talk
let's assume that everyone
every wallet
now has those verifiable potentials we
don't have interoperability yet
what would you recommend how should the
wallets then work together
if we don't have interoperability you
mean
let's assume we all implemented this and
it's just a standard and you know there
are still limits you don't have the
interoperability just by implementing
the standard so what if we now have all
those verifiable credentials how should
we continue
to actually get interoperability yeah
exactly so to increase interoperability
even further so i think
what we need is some agreement within
the community also to
think about which kind of crypto we want
to support what's what is really the
good quip um for instance right what
yama currently implements
uh parts of the identity mixer of ibm
that we kind of standardize this and
make it kind of a library so other
systems can just load this library and
then have the crypto
included in the system already so i
think
it needs to go into that direction that
we have some agreement on the good
crypto and then maybe
have different libraries that implement
this different cryptographic systems
so other
i didn't yeah other
decentralized systems can easily
implement it or use it let's say right
okay next one
hello
i
would like to
know i have to remin remind you that
we had a talk about bring your own
identity
on the on friday
which allowed
authentication on any server by using
one identity provider and maybe a week
after this talk we can have a little
chat
how your irma project can
coincide with my hair is our bring your
own identity project
and the designer of uh offer bring your
own identity will
be here in in a while and maybe that's
interesting because what we did
we created a system
that
to prevent to have to authentic to have
credentials on all those servers such as
google
facebook and so on
to be
removed and be delegated to your own
identity provider and because this talk
is also very much about identity maybe
they're interesting
coincidences so to speak
but it's not really a question but yeah
maybe i want to point out maybe
something can be combined with your with
irma and bringing own identity
but if i understand correctly you say
that you then have different your
identity stored at one identity provider
but then it's also centralized in a way
right so that's also risk
indeed whatever thinking of it it's also
a problem because when the identity
provider goes down you can't identify
anymore but that's what you solved
center maybe that can be combined
yeah okay maybe we can talk later also
yeah
so so uh apologies if i miss uh i missed
most of your talk but um
the uh so i was paying attention to
these verifiable claims work attached to
the w3c from pretty early because i had
somebody dragged me into being involved
in the um in the e payments thing
um
the
okay there was a lot of incompetence
there from the beginning but um
but one of the things that kind of stuck
out to me and apologies again if you've
already touched on this but
you really don't want uh any identity
system that is sort of general purpose
and relocatable against different things
and that reveals attributes of people
uh so
one of if you go through like the
verifiable claims like the the their
documents
if you go through like their either use
cases documents it talks about
um it talks about using like for example
to prove you have a job to get a bank
account
which okay that's fine but how often do
you open a bank account it's perfectly
fine to ask your employer for a letter
uh whereas
what's much more likely to ha well
that's where that feature would get used
much more likely much more often would
be when you're going to apply for a job
because an hr person
generally prefers people to already have
jobs
and so they'll just filter everybody
because that's how bureaucracy sometimes
work and if you if you go through all of
their use cases like you can pretty much
just flip it on its head and say how can
this beam is used and pretty much all of
the attribute use cases can be misused
so
my general feeling
is so
the main so the question for apologies
for this not being a question but the
question part of this is have you looked
at brian ford's proof of personhood
parties because
the in brian ford's model there are no
attributes that's just you have um it's
a function
that maps uh a context to unique
identity
and so then there's no there's no
there's no need for uh
or then we have no attributes we just
have um in a given context i have a
unique
identity and then i have another one and
another identity and there's no
uh so yeah you mean you get the identity
from the government for instance right
which
which has some unique identifier
um in his model uh so he's has this
anarchisty thing essentially they want
this proof of personhood parties where
people
produce
but de facto the proof of personhood
parties are a side government so yes
it's coming from a government
but it's not the government it's this
like anarchist construct but you could
do it issued by a government too
[Music]
so yeah
i don't really understand it correctly
yet yeah
like
yeah maybe you'll talk after yeah
and time is up sorry but he will be
available afterwards i'm sure
and
thank you very much for the talk i think
you were the first person who tripled
the audience during talking so please
give him a round of applause for just at
least triple
two before