Dear viewer, these subtitles were generated by a machine via the service YouTube and therefore are (very) buggy. If you are capable, please help us to create good quality subtitles: https://c3subtitles.de/talk/2460 Thanks!
[Music]
all right without further Ado I would
like to pres I would like to present uh
la Forge who will be speaking today uh
demystifying eim technology please take
it
away
[Applause]
okay yeah thanks so we can get started
demystifying eim technology see yeah so
well very quick quick slide about me I'm
a recovering Linux kernel hacker uh I
did a lot of work in the osmocom project
it's open source mobile Communications
that's like the actual Communications
part not eim so much it's a completely
different topic um yeah participating at
the CCC camps and other events for quite
some time um I work mostly on
implementing various telecommunication
protocols um and in my spare time I also
Implement telecommunications protocols
but going back to the like 70s and 80s
and so on so historical uh
telecommunications and uh as part of
there's also an ISDN and psdn network at
the camp so if anyone wants to still
connect to that come talk to us so um
after the advertisement
Break um yeah overview so what is this
about going to be do a little bit of a
recap on classic Sim usim kind of stuff
uh then talk about principles behind eim
the different variants of eims and yeah
of how all of this is put together um be
warned this is a rather complex topic
like probably almost anything in
telecommunications um and uh yeah this
is just you know like a very brief
glimpse into what is happening
technically I mean this is like you know
dozens and dozens of specification
documents and so on so yeah let's look a
bit at the the classic Sim to put this
into context right so SIM cards in the
Telecom networks as we know today were
introduced with GSM the 2G technology
that means it was first deployed
commercially in
1991 um the idea of the original SIM
card is what we call a single-purpose
smart card meaning it's a smart card so
yeah card that's not just memory but has
a processor and an operating system and
so on inside the card um and it only has
a single purpose which is to be used in
this the gsm network the fundamental
purpose of that classic SIM card is that
you store network configuration data on
the card so you can move the like have
operator specific configuration that you
move between the devices have to move
the card between devices um back then
also storage of contacts and storage of
SMS messages was an important feature
and last but not least maybe the most
critical part to serve as a secure
element for uh the per subscriber key
material for authenticating the
subscriber to the network these are the
functions of the classic SIM card so
then uh you know a decade later around
2000 UMTS 3G was introduced and uh in
that uh we went from Sim to usim um and
uh this means also to UICC so now what
usim probably some people will have
heard so it's the UMTS Sim basically the
3G and and Beyond SIM card and they
didn't just create another
single-purpose card but they also
introduced an additional layer which is
the UICC the universal integrated chip
card so it's a general purpose multi-
application card where multiple
applications can run on the card and the
uim is just one application on the card
a classic Sim in addition for backwards
compatibility might be another
application on that card um and later on
when volti came around uh for LTE um
there was also an additional IIM
application IIM for IMS subscriber
identity module um that's what SIM
stands for so um again configuration
data that's for the IMs core IMS being
the IP multimedia system being the
strange zip derivative that is used in
voice over LTE and voice over Wi-Fi
networks um so by now we really have
thousands of parameters and hundreds of
files in configuration on that but still
fundamentally it's the functionality of
the secure element to authenticate the
subscriber to the network and with the
uim also to authenticate the network to
the subscriber whereas in the classic
GSM Sim we only had oneway
authentication now with the usim we had
uh we have uh Mutual
authentication um the same usim is used
in 3G uh sorry yeah in 3G in 4G and in
5G there's no change to the
authentication nothing uh of that sort
so a 3G SIM card works for 5G or for 4G
or for 3G or even for 2G if it has the
backwards Sim application on it now with
eim basically we arrive at a point where
a technology has been created to
virtualize the entire uim um so not the
classic SIM card but the
uim um and what that means we decouple
let's say like in software
virtualization we decouple the op in
system and and you know the software
from the underlying Hardware we do the
same in eim Universe um and that happens
by having a special chip which is called
the
euicc right we had the UICC as the
classic card that on which the usim and
potentially the IIM application was
running on top but it was still a
plastic card that you plug into a phone
and now we have the euicc the embedded
Universal integrated chip card which is
a chip that's fixed most often it can
also the a card form factor we'll get to
that later but in a general sense it is
a fixed chip inside the device um also
there's work being done to actually not
have it as a separate chip but have it
inside an multi-chip package or even
have it like virtualized inside a chip
but that's doesn't really matter to the
eim specification point of view so you
have something that behaves like an
euicc chip as specified and that is the
the physical secure element and then we
have something called Sim profiles and
the Sim profile is basically a software
or data description
format that contains what a classic usim
would contain meaning it contains yeah
please mute your phone if possible
thanks um
so uh we have a the the contents of the
usim file system so I think it was a
slide I didn't speak about it explicitly
but all the configuration data is stored
in files on a file system in the card
and um all the content of those files
basically there's a description format
in asn1 encoded where where you can say
well this file with this name has this
content and there's another file with
some other content and so on so that's
part of this eim profile description and
then in addition we have the key
material for the cell network
authentication meaning the K and op or K
and OPC values these are the the shared
secret um uh key material that only
exists at the Celler Network operator
and inside the Sim and here in this case
in the Sim profile in addition to that
we have the key material for over theair
um um SIM card communication that's OTA
uh there have been many talks before at
CCC events about how otaa works and all
kinds of security issues in in at least
previous otaa implementations and so on
feel free to refer to that if you're
interested in that but that also is part
of the Sim um and that's not part of the
file system so it's listed separately
also you have all your PIN values pin
two p p two the admin pin um and also
all the SIM Toolkit applets which are
Java applets that the operator can run
on your classic Sim or uim and those are
also part of the profile package that
gets put together to to form the the Sim
profile and the the the eim profiles are
specified like the format of those
profiles is specified in uh what's
called an euicc profile package format
that is authored by The Trusted
connectivity Alliance which formerly was
the Sim Alliance um that's a different
standardization body than all of the
other stuff that I'm going to talk about
that's an interesting split of what some
guys do some specification here and some
other guys do specification over there
so let's have a quick look at the
euicc I'm sorry for the well low
contrast in bright sunlight kind of
rendering here um hopefully on the
recording we have that then uh digital
so this is uh taken from the specs a
schematic overview of the euicc not
going to go through every acronym in
here but basically we have a fundamental
operating system at the bottom and then
we have these two large um well sort of
rectangular objects here so-called M
enabled profile and the M disabled
profile so basically on this card that
is symbolized by this diagram we have
two eim profiles residing on a single
euicc and one of the profiles is enabled
and the other profile is disabled so you
can have um multiple or even many
different profiles on an euicc but only
one of those profiles is always active
at any given point in time and you can
switch between them now each of those
profiles contains a number of things uh
we said already the file system the
access credentials um some certificate
Authority security domain we have
applets we have policy rules and whatnot
in general um the important part for
also later uh slides and and so on is
that we have um the the issuer security
domain of the provider the isdp here and
we have outside of the profile the
issuer security domain the isdr that's
sort of the root of the euicc so we have
different sec security domains within
the card operating system um and every
time you install additional profile
there will be a new security uh domain
um and you say a new container that is
isolated from all the other containers
running on your euicc and there's no way
how at least if everything behaves
according to spec of course um you know
these containers can can escape their
their protection mechanisms and so on um
so why do we have this kind of complex
setup um the reason is well and it will
get much more complex if we look at all
the other parts of the system but um the
reason is in the end what we are talking
about here is the core Revenue um
generator for mobile operators right
they need to be able to securely
identify their subscribers and they need
to rely on the fact that SIM cards or
even virtual SIM cards in the form of
sim profiles cannot be cloned if they
would you know the business model would
fall apart and now we have different
operators who are competitors in the
market who both install something on a
shared chip so so they all must trust
that the security promises that this
chip and the system and everything has
protects their like vital shared key
shared Secrets the key material inside
those uh containers or inside those
profiles so that's why there's all this
you know um procedural security and and
certification and approvals that we will
get into shortly so what's the euicc
well it's a smart card chip we have
higher security well higher requirements
in all kinds of ways on the security
side more crypto U more guarantees of
isolation between different things um on
the card uh various uh additional
cryptographic routines compared to
Classic SIM cards and um all the other
bits are really the same so the
electrical interface is identical to a
SIM card it's uh even though it might be
physically packaged in a different uh um
package but it's the same protocol same
transport protocol um you can actually
purchase also EU ic's in a plastic card
form factor you can plug them into a
device that's not that doesn't have a
euicc built-in or doesn't have an euicc
that with the features that you want or
something like that uh so that's really
just a packaging aspect um each euicc is
identified by what's called an Eid
that's the euicc identifier uh
unsurprisingly so that's the unique
identifier of the euicc that is
different from the icci ID which was the
unique identifier of a traditional SIM
card or or you SIM card um and the since
everything is virtualized the ICC ID of
a former physical SIM card now becomes
part of the profile package so every
profile has its own ICC ID since it's a
virtualized card so we need a new unique
identifier for the actual physical card
which is the Eid in this context so the
other thing to always keep in mind when
talking about eim stuff is that there is
three different um flavors of eims um
there is the uh machine to machine eim
there is the consumer eim and now there
is since this year at least
specification wise I don't think anyone
has it in the market yet the so-called
iot ISM now of course the first question
that every nerd asks me well where's the
difference between M2M and iot is iot
not just the new acronym for M2M yeah
they could just also have called them
the red blue and the green card um those
names are just some random marketing
terms um just you know there's three
different systems with different
properties and different aspects and so
on which we will look into now in the
remainder of the talk uh just keep in
mind those are different and then not
interchangeable and they're not
compatible with each other so this is uh
different systems um they share a lot of
Technology but they intentionally
different so the first eim standard that
was specified is the M2M model the
machine to machine uh Sim because that
was apparently the driving force early
on uh to to have some kind of massive
Fleet of devices out there somewhere um
that remotely the owner of those devices
can provision new profiles and can
switch between operators without having
to replace physical cards which makes a
lot of sense of course from the point of
the owner of those devices so in the
machine to Machine model the user inter
user interaction of the end device the
modem or the phone or whatever is not is
not desired or even possible because
either there may not be a human user in
front of the device or the device may
not have a user interface at all so it's
some you know whatever you say car
tracking device or some whatever machine
to machine thing now it uses a server
driven push model to provision and
manage profiles so the initiation of
deploying new profiles on the card comes
from the backend side from the owner of
those devices basically they decide they
want to switch mobile operators and
install new eim profile into it so
that's a push model coming from the
backend side um the actual download
happens over What's called the bip the
bearer independent protocol which is uh
something that exists also for I think
well 25 years or so it's it's a way how
uh onard entities being being Java
applets or the SIM card itself or U yeah
Parts on the SIM card can communicate
with something typically called the OTA
platform or the overthe a platform at an
operator so it's a channel between some
code on the SIM card and some code at
the operator that is transparent and
where those two pieces of code can
exchange data whatever they want um and
this is also used in this context yeah
all the management is remote um and
since all the management is remote the
euicc must also contain a provisioning
profile meaning an initial profile Sim
profile that's on the euicc so that it
can log onto some random cellular
network to then discover oh another
profile needs to be pushed to me right
without that provisioning profile you
don't you you have a chicken and egg
situation um that's different from the
consumer model and and uh other models
so the elements I mean yeah this diagram
is probably hard to read here on the on
the projector we have a couple of
network elements here we have the euicc
in the device we have the EU M that's
the euicc manufacturer so the company
that produces the euicc we have the CI
the certificate infrastructure we have
the smsr the secure router and we have
the smdp the uh
um yeah acronyms uh we will get to that
in actually two slides I think um so
yeah the data preparation my bad sorry
so uh the the
SMTP is sort of the the heart of the
backend infrastructure of all of the
three e and flavors that exist out there
so data preparation in this context
basically means putting together this
eim profile from various different data
sources um signing it properly um
delivering it properly to the to the
UICC and so on so it's the preparing
storing and protecting those Sim
profiles and downloading those into the
euicc that are somewhere in the field
and we have an additional component the
smsr which only exists in the machino
machine uh uh um eim sphere uh Sr is for
cure
routing it's a bit of a um sort of let's
say a onetoone um relationship between
the euicc and an smsr so an smsr is some
backend software thing running somewhere
at some operator in the cloud or
wherever and the euicc is the chip
that's in the phone and when the euicc
gets produced like there is a key
material that ties it to one specific
smsr on the backend side so those are
owned by the same entity or at least
initially um and smtps there can be many
there can be many providers that operate
smtps and that have SIM profiles and
there's like a a market and competition
and so on but the euicc and the smsr are
tied together and um yeah that's sort of
the the representation of the euicc
somewhere on the backand side there like
the association is created by the
manufacturer is well according to the
spec it's possible to replace it and
move to a different smsr operator but
somehow the business and um the
commercial side of the technology don't
really enable that to the extent that
the specification authors would have
envisioned so you again have a lock in
situation right previously you were
locked into the cellular operator of the
physical card you put into your remote
iot or M2M device and now you locked to
an smsr operator without whom you cannot
deply new sim profiles to your cards so
you've given control basically from one
entity that you have no control over to
another entity that you have no control
over so this doesn't really solve the
problem of enabling the owner of a fleet
of M2M devices to actually do whatever
they want remotely on their devices and
switch operators as they please um so
this is an overview slide of the larger
process so we have the mobile network
operator on the left hand side that
provides a profile description meaning
all this contents of the file system and
and whatever not uh to the uh smdp
operator that's DP again is the data
proration the core so there's many smdp
operators I think it's like 20 or 30
even there's a list of gsma who are
accredited it's a competition in the
market and um then they um create first
what's called an unpersonalized profile
and then there's additional
personalization data that's also
something that exists in classic SIM
cards the personalization data is then
basically the per subscriber unique data
right there's data that's shared across
all the subscribers like the
configuration which roaming networks and
whatnot that's the identical on all the
cards or or Sim profiles but then there
is card individual dat like you imz
msisdn you know all these kinds of
things ICC ID and that uh then gets part
of that in the personalization process
and then you end up with a personalized
profile and then that profile gets
encrypted and signed and then you have a
protected profile and the protected
profile then is downloaded onto the
euicc through the smsr so the smsr is
the gatekeeper the proxy the
representation of the UICC and you must
go through the smsr and again The Entity
who controls the smsr controls what you
do with your
euicc um so okay that's the machine to
Machine model now for most of you guys
probably more exciting the consumer
model what you actually have on your
smart
devices um is different where we have a
pull model and not a push model from
some backend but we have a pool model
where the user does something on the
user interface in front of their devices
and um that triggers the process of then
downloading and installing and
activating a new profile on the device
um the profile download is actually
specified to use TCP IP not just bip bip
is just a stream of bytes it could be
any protocol inide but in the consumer
it's actually TCP IP um that uh uh is
used in this context um it introduces
another new element the
smds uh and there's no
smsr um the DS is the Discovery service
and also you have something called an
LPA the local profile assistant now the
local profile assistant is a piece of
code that typic typically runs on your
smartphone which provides you with some
user interface and which then talks to
the eim backend Universe somewhere out
there in some data center and on the
other hand it talks to your euicc inside
the device so it's some software some
app that runs onto your device um either
as part of iOS or or Android or whatever
the the flavor of artreading system is
that you're using um now the diagram
looks slightly different as you can see
here um we have uh no sfsr so the smdp
can talk directly to the LPA that this
is the local local profile assistant in
your device and that talks to the UICC
to the to the chip card or the the
physical chip not a card necessarily
inside your device and you have all
kinds of other interfaces and whatnot
I'm not going to into all the details
here that would go too far now the local
profile assistant um I mentioned this
software on your device now there's also
an evolution of that called and and now
that's like the LPA on the device is the
LPA d the local profile assistant on a
device um now we also have an LPA the
local profile assistant on the ECC so
since the euicc itself is a smart card
with an operating system and software
and all kinds of things you can actually
move the local profile assistant
completely into the euicc and then you
have an embedded local profile assistant
and that is something you can use in a
legacy device that does not have a local
profile assistant on the device but it's
inside the euicc so you can you can use
a legacy device that's not eim enabled
with an euicc that has an LPA embedded
in it that's sort of one of the use
cases of that the standard case though
is the lpad um in in the consumer sphere
so um we have the smdp plus I noticed or
you noticed too I hope in the M2M model
we had the smdp and now we have the smdp
plus because it does something more than
the smdp did in the machine to Machine
model so it's the enhanced data
preparation it does basically all of the
things that the smdp did all this
profile you know profile personalization
profile protection and all that stuff um
but it also has some additional features
um yeah so additional features in there
um now again going through the steps of
what the smdp is doing or the smdp Plus
in this case right we first generate the
profile package that's the up the
unpersonalized um package then we have
the PPP the protected um profile and
then it gets bound binding to one
specific uh UICC so it gets estab like
cryptographically gets assigned to that
single UICC we will get to the pki
infrastructure that's behind that in a
second um it stores that profile as well
until it is delivered to the euicc it
takes also care of the delivery into the
UICC and also some other bits which yeah
I skip in uh considering the the timing
uh issues in this talk so we also have
the discovery service and the discovery
service is something like a can you say
a notification delivery system um
because as I said all of the things that
I've been talking about are initiated by
the user so the user does something on
their smartphone and it triggers
something and it goes to talk to some
backend but maybe the backend doesn't
really have the data yet that it's
asking for or something like that so
maybe uh the the the eim profile is not
ready yet due to overload or what not or
what kind of situations and in this case
the smdp plus can basically register at
the smds that there is something pending
some operation some I want to notify
these cards uh these ecc's and the LPA
in the device is then polling regularly
the smds well do you have some kind of
notifications for me yes or no and if
yes then um inside the notification it
will know which smdp plus has some
pending operation and then the lpad will
go to that smdp plus and grab whatever
is there for this euicc so it's some
some kind of yeah uh could think of a
poor man's smsc or something like that
um so we have the security domains I
touched that very very uh briefly
initially when we talk about the euicc
so we have the security domain of the
certificate infrastructure that's all
behind this uh that's sort of the root
um security domain on the card on the
UICC then we have the isdr that
represents the smsr the secure router
inside the UICC and we have the isdp
that's then for each of the Prov ERS for
each of the mobile operators of which
you install the E eim profile each of
those eim profiles has an issue a
security domain of the provider um and
um there there can be multiple such
issue security uh multiple e in profiles
each of those has an isdp and each of
those could point to a different SMTP so
a different backend server who has been
uh creating these eim profiles for that
card now the actual delivery um from the
backend side to the card goes through
several tunnels which is Illustrated in
this diagram um roughly let's say
there's an outer tunnel that utilizes
the existing um encrypted uh overthe a
protocols that exist for classic SIM
cards and U SIM cards um and the least
common denominator for transporting this
over is actually um SMS transport
believe it or not um and then if devices
have further capabilities and for eim
they should um there's other protocols
like cat TP or HD GPS in more modern
implementations um and uh yeah so that's
sort of the the outer transport Channel
and then inside there we have an
additional encrypted transport Channel
That's based on
scp3 if anyone has ever done work with
Java cards they will know SC cpo3 as the
uh secure protocol how external programs
interface with Java with Java applets on
Java cards if htps is used as the
protocol to deliver it's TLS version 1.2
with pre-shared keys
and using the algorithm specify there so
it's a fixed set of ciphers and a fixed
TLS version now any people doing stuff
with TLS will like hm this is strange
but think about well if you actually
implement this inside the euicc you're
talking a very small microcontroller
with constrainted resources so um you
maybe cannot do public key cryptography
with x509 and and RSA and whatnot but
you go to pre-shared key and and sort of
you know try your best given the
constraints you
so this is a diagram of the certificate
change and the and the security
relationships between the different
elements um I'm not going to walk
through the diagram which is probably
impossible to read anyway so um
basically there is one roote of trust
this uh operated by the gsma the gsma
being the members Club of the public um
operators um of uh cell phone networks
um and uh they have a root certificate
or somebody has that on their behalf um
and this certificate is used to sign all
the different elements in this universe
so uh the certificate the root
certificate is used to sign certificates
for the euicc manufacturers so they can
sign per euicc certificates on each
euicc and then also the root certificate
of the gsma is used to sign certificates
of approved smdp pluses and smds and all
these Network elements so all of them
have to have certificates derived from
the same single root of trust operated
by the gsma and in order to get access
to that I think I have some slides yeah
compliance security exactly so um the
euicc there's a common protection
profile on e e 4 plus that needs to be
um you know um certified for the UICC
then you have uh certifications for the
production environment the process
security so there is uh different uh
yeah the SAS up for the euicc
personalization that's on the euicc side
there is the sasm for the subscription
management platforms so all the backend
infrastructure the software must be
certified the hosting must be certified
the business process must be certified
and of course I mean I don't know but I
guess it costs a [ __ ] lot of money um to
have any of these things certified I
mean uh given the complexity of the
systems um interestingly AWS now has a
gsma uh accredited hosting or Cloud
product so basically if you have a gsma
um certified software you can now run it
in a gsma certified uh Cloud environment
by AWS if you want that um so in this
case you you can afford not to have your
data center certified but you know
Amazon is doing that for you um yeah
then also there's functional compliance
testing so all of these software
elements actually need to be tested and
and also certified Again by gsma
approved scheme that they have delegated
to some entities that do this uh
certification and then of course all
these manufacturers and so on all need
to be accredited and and it's all
enforced via this pki basically if you
do not comply with any of those rules
you do not get a certificate or
certificate gets revoked or something
like that and then you cannot
participate in this club anymore and of
course you need to be a gsma member as
far as I know um as well to in addition
to all of that so okay a lot of talk
about a lot of things um uh now let's
look a bit at the procedures so we now
know there are different elements
there's sort of these SM things in the
back end and we have the euicc in the
device and the local profile assistant
uh in the device and now they each of
these they talk to each other and
there's a couple of different things
that they talk to each other the first
group of things is remote provisioning
meaning um so operations called profile
download initiation common Mutual
authentication profile download and
installation sort of self-explanatory um
and then there are so-called local
profile management operations about
enabling and disabling a profile listing
the profiles on an euicc you can even
set nicknames you know can give them
cute names your profiles on the card um
and um there is local EIC euicc
management such as reading the Eid from
the device because if the local profile
assistant the LPA wants to talk to the
back end of course it needs to tell the
back end which you know which euicc is
is uh is actually uh making the request
as memory reset stuff and so on so on so
um let's look at a couple of common
operations so this is the first step if
you as a consumer are getting an eim
that's the first step that's happening
is something called the download
initiation and it starts by some kind of
contractual relationship between you and
the mobile network operator that is
issuing this eim to you um that means
spilling information whatever is
exchanged and then the operator goes um
through a backend interface so the
so-called es2 plus interface and talks
to the smdp plus operator which most
often is a separate company that's
providing as a service it's not your
mobile operator um and the smdp plus
then um does some stuff generates
additional identifiers and so on um and
it generates most importantly also the
the the code um that you will use to
actually then install the the activation
code or the most often displayed is a QR
code but actually it's just a string
that contains the domain name of the
smdp plus plus some token that sort of
identifies which uh eim profile we're
talking about here in this operation so
that's a pure it starts with a business
operation between you and the mobile
network operator it continues with some
backend operation to the smdp plus
provider and nothing has actually
happened by the end of the concluding
that other than you being build um now
the next step is the download and
installation phase um and that's I know
it's small and so on but it's really
just a very high level overview of
what's what's happening there so we have
elements we have the operator that's the
mobile network operator that's selling
you a Sim subscription we have the smdp
plus operator the guy who operates the
eim backend we have the lpad that's
again your local profile assistant and
the device and we have the euicc and now
there's some talking going on so the
lpad needs to query the euicc like what
is your Eid and what's the default smdp
plus address and so on and so on and
then uh there is one line here called
just well refer to Common Mutual
authentication procedure SE and such and
such and that expands into a diagram
that's like three times the size of this
um which does the mutual authentication
between the euicc and the s DP plus so
at the end of this Mutual authentication
process by facilitating all these uh pki
x509 certificates in this entire chain
um the euicc knows it's talking to a
gsma accredited and approved smdp plus
and the smdp plus knows it is talking to
an euicc that was contains a profile
that has been issued by an euicc
manufacturer who has received a
certificate from the gsmi public key
infrastructure so basically they both
know they can trust each other because
they're part of the same same chain of
trust and from that point onward then
the actual like profile um building and
so on gets started it goes on for some
time and then we come to a process
called the profile installation where
the lpad and the euicc exchange a number
of commands so-call apdus that's smart
card uh um um packets basically
communication packets they go back and
forth and when all of this has happened
at some point uh we come to uh well a
profile that has been successfully
installed
on the euicc now a newly installed
profile is by definition explicitly not
activated right it's downloaded
installed but it's not active the act of
activation is something you have to do
explicitly by using a local profile
management operation between your lpad
on your device and the euicc and that's
the next step is the enable profile
device where really it's only you see
the end user using the Lui the local
user interface to doing some enduser
interactions the thing that end users do
and then we have the euicc and the
device baseband now where does the
device baseband come into this if you
switch your sim profile um the baseband
processor that handles all the cellular
um protocol stuff with the network it
needs to invalidate all the information
it may have ever read from the Sim
before including the MZ and everything
else because your sim has completely
changed now and it basically needs to
invalidate all that and that happens by
a so called refresh command so um during
this process it's basically determined
whether refresh is needed in most cases
yes and if a refresh is needed the euicc
using something called proactive Sim
which inverts the direction of the Sim
communication because a SIM card can
normally not initiate communication to
the to the Bas band it's only the other
way around so there's the piggyback
mechanism uh how it can tell basically
the Bas band hey by the way all the
information you think you knew about the
SIM card is now invalid you need to
basically start from scratch and it
comes like restarts and starts to read
all the information from the SIM card
and it determines it now as a new MZ and
it needs to roam to a different network
and it does the network registration and
so on and so on so that's what's
happening once you enable a new profile
in the car now um that is the consumer
model now let's get to the exciting new
buzzword the iot model you know the
machine to machine consumers and now iot
now the iot model has been developed
mostly to overcome problems in the
machine to machine eim model um uh where
I already hinted this there the problem
of sort of the business side and the
legal side not really being able and
Commercial side not being able to agree
on transferring sort of the the smsr uh
from one smsr operator to another in the
machine to machine case and now they
created something which I think is
actually really a nice uh I'm rather
happy with how it worked out so we we
take a lot from the consumerism so the
the the iot ism has much more in common
with the consumer ISM than with the
machine to machine ISM which is sort of
paradoxical if you think about it but it
is the way this is the way um
and uh it's sort of like a consumer eim
that's remote controlled so instead of
having this completely separate scheme
with the smsr and and whatever kind of
operations and the push model what we do
is we use the consumer model but instead
of a local user entering an activation
code we sort of have a remote user that
injects the activation code so it can do
the thing uh to to activate a new eim
profile and that's nice in a way that we
do away with this dependency on one
entity that has the control over this
euicc um and we get to the whatever 30
or so entities uh that compete with each
other which is slightly better than one
entity um and the way how they do is is
they take the LPA so the local profile
assistant that's running in your
smartphone and they split that in half
and the upper half of the LPA becomes
the eim the euic CC identity manager
which is yet another piece of server
software running somewhere in a data
center um and the lower part of it
becomes the IPA it's not a beer
unfortunately it's the um iot profile
assistant I think um and uh the IPA is
sort of a user interface less LPA uh
introducing an interface to the I the E
which is this server side infrastructure
which then does the same thing as the
user would have done such as sending an
activation code to to install a new isim
profile in there so the goals I set was
to work around these problems with smsr
migration in machine to machine um also
it turns out that iot devices
occasionally tend to be even smaller in
terms of CPU resources on their
application processor than the machine
to machine devices in the past so um it
might be Overkill to require that they
actually Implement a full-blown HTTP uh
and TLS stack um that might be difficult
K in some environments so um what they
did is they worked this new interface
between the IPA and the uh sorry between
the IPA and the eim the eim iot Remote
Manager uh called es IPA is that
interface um they designed this in a way
that it can be spoken over uh first of
all there's two different encodings
there's Jason encoding for well high
powered devices that can handle textual
representation and there's an asn1
representation for low power devices
that need binary encoding formats and
each of those encodings can be
transported either over htps or over
coab which is an iot related protocol
for resource constraint devices with
datagram TLS which is simpler than the
TCP based um uh TLS as we know it in
htps uh you can even Implement a
completely custom transport if you want
to because as a let's say an owner of a
fleet of I don't know how many iot
devices out there you can of course put
some code on as as IPA on your device
and some other code as eim in your back
end and they can talk whatever protocol
they want just as long as they can
encapsulate all the operations and
whatever that is needed of course you
won't be able to interoperate with other
devices but technically it's possible in
the spec even explicitly says yeah if
that's what you want to do you can do it
um so yeah it can be remotely triggered
so basically the the customer of such an
e iot subscription so you buy 100,000
iot Sim profiles and uh as a customer
you would operate your own e or you
would contract some party a third party
that is neither your operator nor the
euicc manufacturer a third party that
really just works for you to operate
that I eim or you operate it in-house um
and through this eim you can remotely
install whatever profiles you want on
your iot Fleet of devices um and nobody
else can basically tell you not to do
that other than gsma but yeah that's not
their rule so yeah that's sort of what's
new in the I iot profile um sorry iot
model now last part just a couple of
slides about eims versus private
networks which is a topic that's also
relevant to here at the CCC because
there's private seller Network oper uh
operated here now the entire gsma eim
universe has been built around a couple
of assumptions which I think were even
wrong back then and they were even wrong
right now so well a central root of
trust okay I mean if you're a GSM of
course that's what you want right I mean
you want to be the root of trust um
that's sort of understandable
um er gsma members or accredited parties
issuing profiles okay I can still
understand that but then there's for
example the requirement that you you
need public internet access to reach all
of these smdp smsr smds devices which
yeah well I have this private network of
whatever I don't want those devices to
talk to the public internet but in order
to install a new eim profile they now
need internet access hm um yeah not the
smartest idea uh and then also the otaa
mechanisms they all require an initial
trigger of SMS so in your private
Network where maybe you have data only
devices and you have no use for SMS or
voice calls and you would now have no
technical reason to deploy that
technology you now need to deploy an SMS
service center just so you can trigger
the https connection Activation so you
can download eim profiles over public
internet access from devices that you
never wanted to have public internet
access before so yeah well so in in
private networks you know and I'm
talking about you know the event
networks like here or also uh campus
networks let's say at a car manufacturer
or whatnot that's not really what they
want in the end yeah thanks um I'm
coming to the end here um yeah so yeah
you might not be a gsma member your
network might not be public you don't
might not want public internet access
and you might not want to have to deal
with Legacy SMS so yeah there is sort of
a disconnect between what's happening in
in you know the cellular world and in
the eim world to some extent um now uh
what you can do is basically have two
options either you you're part of this
gsma world and that means you have to
comply with all those requirements and
so on and your profiles are over the
public internet and actually you're
working in a system that's meant for
public networks but actually you do use
them in a private Network because you
have no other way or you theoretically I
don't think anyone does that at least
not yet you would operate your
alternative own route of trust like caer
was created to sort of um uh as an
alternative to to commercial Casa um
where then uh you would run your own
smtps smsr and all that infrastructure
the problem is then you cannot work with
a normal consumer device because the
euicc in there has a certificate from
the root of trust of gsma and that would
of course not accept any of the
certificates um of your own CA so that
can only work in a situation where you
produce your own devices and put euc's
on those devices or like in a plastic
form Factory in a Sim slot uh that have
certificates derived from your own pki
in in there right so that's sort of yeah
both choices are rather bad now here at
the camp uh the solution is obviously go
for the first part because people come
here with normal consumer devices so
this time is the first time that the GSM
team has some uh eims available if you
ask them this limited Supply because you
know it's of course much easier to py
physical SIM cards yeah then then to buy
some a blob of data is of course in much
more limited Supply Than Physical cars
um and
um uh the problem is well of course you
have to do this through some service
provider and um it's all done by that
service provider you can't run off all
of that you can't run it on premises you
can't control what's happening it's
basically all out of your hands and
that's sort of the the negative part of
it and it also means that this service
provider then knows of course the Eid of
all the people who have joined this Camp
here I mean yeah if you buy a physical
card here nobody knows except you know
maybe some of the people here but uh at
least nobody off off site and and not uh
some company somewhere yeah so yeah um
ah I forgot two more yeah one more slide
okay so me being an open source guy what
can we do with open source in this
universe and the answer is well
technically everything but then how do
we get all of this accredited and
approved and whatnot and authorized so
it can be used in production
environments so all of the specs are
public everything you you can Implement
all of that but you can't really use it
with consumer devices because your
software won't get this the the gsma
approval um and your hosting at home
won't get gsma approval and so yeah sort
of stuck there um now in the iot Sim
luckily there are two components which
do not require gsma certification which
is the IPA the um the local software
running on the device and also the eim
the E eicc identity manager which is the
part that you as an operator of a fleet
of iot devices want under your control
so there's some chance of at least
having three open source implementations
there and for the the LPA or IPA Google
actually released the one that's used in
chromeos as open source software so if
anyone wants to look at how this is done
you can do that and um uh you know Port
that to a general you can buy an UICC in
a normal form factor plug that into your
laptop and then try to run that uh local
profile assistance from chromis to to
get a feel of of you know what's
happening there what do the protocol
messages look like and so on that's
actually possible okay and with that we
come to further reading and the end of
file and we hopefully still have a few
minutes for questions and hopefully some
answers as well please raise your hand
as a signal Angel and uh yeah
[Applause]
thanks yeah so
we
um um so we we have decided to extend
Q&A uh if if there are questions no we
we are extending Q&A so hopefully there
will be enough time for
questions yeah please line up here with
the gentleman in the shirt over here the
Violet shirt blue good yeah blue shirt
purple whatever yeah thank you for the
talk so I have a question so I have a
phone that is can do eim and it has two
SIM slots so I can install 10 SIM cards
to my phone but I can only activate two
of them so in whatever combination what
is the reason for
this well that is a a general issue with
seller networks and um how they work in
a sense that um the entire spec and and
everything is designed in a way that
there's one subscriber using one modem
being attached to One Network and if you
think of it physically how it works
different operators get a different
spectrum and your modem needs to tune to
one particular frequency right and it
can only be at any given point in time
on that one frequency now if you have a
dual SIM phone that usually means you
have also a dual baseband phone at least
these days which means you basically
have two complete cellular modems in
there and they can be on two channels of
two operators or two technologies and so
on
yeah uh thank you for to um one thing I
didn't get is uh you've succeeded in
doing e here which means that you go
through a lot of Hoops but what is the
limiting factor uh for the eims uh in
the camp no I mean so first of all I had
no involvement with the eim here at the
camp just to be clear yeah yeah as in
the GSM team I don't know what they did
and whom they talk to and what not but I
guess it's basically those limited
number I think it's what 350 or
something like that they got for free
from some company and that's the
quantity they got for free I guess
that's sort of the yes on some very rely
on a company has generated of course
there's no other way you can do it with
a general consumer device that has the
gsma root of trust that you can't do
anything else
yeah hello if I were to root my phone uh
and have control of the operating system
can uh would that solve the problem with
the um
certificate no it does not because all
of this happens inside the euicc itself
so there is no reason like you can do
whatever want on the phone on the Bas
band you can root it you can do whatever
you want um but in the end the let's say
the the secure connection is always
between encrypted connection is always
between some code inside your sim card
and some code somewhere in in in the
cloud so the goal here obviously is to
just get some numbers over there into
your EC in your professional opinion if
I may say so was there any way that the
protocol could have been made simpler
without compromising usability or
security yeah um
I I don't really know to be honest you
know it's not really my um I'm I've
never designed any of these systems I
just look at them and uh think about
them and work with them so yeah I don't
really
know as as usual when you have some kind
of specification group there's different
people with different interests um some
of them well very small small amount of
them being technically and all the other
interests are commercial and then they
clash and then everybody wants to get
their pattern in the standard and
whatnot and then you end up with
something horribly complex you know
designed by committee it's
a yeah
so thanks for the talk um if I wanted to
um uh have my own you know commercial um
device like consumer device and
connected to my own network and I wanted
to put an eim on there
what Hoops so I understand that I would
need to have that signed by the gsma
what Hoops would I have to jump through
to get that done if I were and you know
assuming that I want to have my own set
of um parameters that I put in the
unpersonalized profile and the the
personalized profile well basically you
need to find an smdp plus operator um
who with whom you enter in a commercial
Arrangement so you can give the profile
data to them and they would create the
protected profile for you assigned by In
This chain of trust and so on um yeah
and I don't know the commercial terms
and so on if you want a list of those
companies there's a gsma website that
lists all of these accredited um smdp
plus
operators yeah um but I guess you know
mostly they would be interested like if
you want tens of thousands or hundreds
of thousands but not fewer than that so
that's sort of a bit of a problem
there hey uh thank you for the great
talk um on the M2M model what would
happen if the smsr provider were to go
bankrupt it's probably a question of the
escrow language in your commercial
contract with that provider I don't know
whether there's any I'm I'm not like
that's more a I I say a business process
kind of thing it's not really I'm
looking at the technical specs here it
might be that they have foreseen this
and there is some kind of part of the
the eim specs that cover those business
aspects but I'm not aware of of like um
any requirement
there hi thanks for the talk um I think
early on you mentioned the possibility
of virtualizing the euicc within the
general processor does this perhaps uh
hint at the possibility of an e euicc um
where multiple euicc could be run
perhaps with different roots of trust
um yes
potentially though it would mean that of
course you would have to um be able to
execute code in the context of wherever
this e euicc if you want to call it like
that I think it's called an i UICC then
or something like that I think I've
heard that term in the industry um um
yeah you would have to execute it with
that level of trust and I'm not sure in
which kind of secure englave Voodoo in
those processes they're trying to do
that so also doesn't look like a very
easy path
yeah so speaking of of secure enclaves
is if I understand correctly any profile
could be installed in any e USC which
means that there is a single key
extraction standing between us and
accessing all the secret of all the
possible uscc device so if we manage to
extract one of one set of Secrets then
we can create a a fake uscc that would
pass the testation no I mean that would
be the case if it was a shared secret uh
symmetric cry photography uh thing but
um there's actually a public key as it
depends on which specific interface and
so on but in the end this this this uh I
mean yes if you get like in any kind of
pki if you get to the private key of the
root CA yes then the system is owned but
I mean of course you know in any pki you
try to make that as hard as possible but
if you if you just um break the the the
key of one particular device um you n it
would be that device but not like the
overall system
right uh yes but I could install another
eim profile in that same device and
extract the keys from that profile to no
you would not because in order to
install an eim profile on an euicc you
need a certificate of an smdp plus and
not a certificate of um an euicc right
so it's it's a different tree in the pki
hierarchy and and all the code in place
um sort of of course make sure that you
not cannot use a certificate of an euicc
and and infers an smdb Plus or something
with that yeah okay maybe next question
yeah thanks we still have time okay okay
following the idea of PKA hierarchies I
mean there are a lot of issuing says or
however they are probably called
involved in here um and this would
require revocations um are they being
properly done are there such revocation
events already happened and did they
arrive at all device can you say
anything about that I did not look into
that sorry I I wish I knew um but yeah
sorry did look at
that uh in the uh iot um spe spec uh how
do we do the communication between the
eim and the IPA if we don't already have
a different profile is there like some
facility or do we have to flash some
initial uh Network contract on um you
can well I think there's different ways
how you can do that um well first of all
the device could have some other network
technology by which you could reach and
and there could be anything right so
assuming you're designing an iot device
and you run you can at least run some
custom software on that iot device you
can Implement whatever protocol you want
to talk to whatever part of software you
have somewhere else over whatever medium
and then that software basically is a
part of your eim that talks over the
public Internet to the smdp plus and to
all of that so because in that is not
possibly technically with the earlier uh
um eim profiles but because the way how
the the iot was designed you you
basically you are enabled to be a proxy
in there and the proxy can of course
have multiple parities and tunnel over
whatever protocol so and it could also
be that this other medium is you know a
couple of test points in the factory
while you're producing the device that's
also a medium by which you could
facilitate that
transfer okay all right I believe that's
all of the questions uh once again thank
you la Forge yeah thanks
[Applause]
[Music]
yeah