SlideShare a Scribd company logo
1 of 50
Analysis of the network
security of the Mobile-ID
  identification protocol
              Peeter Laud
   Cybernetica AS & Tartu University
The object

s   A SIM-card that
    x   contains two private keys;
    x   is capable of signing with those keys;
    x   works like an ”‘ordinary”’ SIM-card otherwise.
s   During its activation SK AS issues certificates that
    x   bind the corresponding public keys to your name;
    x   state that the use of the first key is in identification
    x   . . . and the use of the second key is in signing documents.




                                                              MoMo, 07.09.2009 – 2 / 14
The signing procedure

s   The card receives (x, M ) from the mobile operator.
    x   x — the (short) message to sign;
        s   a couple of dozen bytes.
        s   might be the hash of the “real” message.
    x   M an explanatory text.
    x   the channel from operator to SIM-card is secure.
s   The card computes the control code cc(x) of x.
    x   cc(x) ∈ {0000, 0001, 0002, . . . , 9999}
s   The card shows cc(x) and M to the user (through the phone).
s   If cc(x) and M OK, the user gives his/her PIN to the card.
    x   Different PIN-s for different keys.
s   The card verifies PIN, sends sigsk (x) to the operator.

                                                             MoMo, 07.09.2009 – 3 / 14
The identification protocol
U            C              S              D               O                P                   U
     S                     skS            skD                              skU
                                              Server’s




                                                               protected
                                                               using KP
          get certS                              VPN




                                                                     ˜
                  TLS HS
                                               secret
                  Server     know certD
                                                key
                  U, P
                                 TLS HS
                              ˜
                              S, U, P, r1
                                       User
                        get certU      get certU
                                             ˜
                                             S, P, r1 r2       ˜
                                                               S, r1 r2
                                    CC1 := cc(r1 r2 )
                                                                 CC2 := cc(r1 r2 )
                  CC1               CC1                                     ˜
    CC1                                                                     S, CC2

                                                    ˜
                        Compare CC1 and CC2 . Check S.

                                                   sigskU (r1 r2 )                   PIN
                            sigskU (r1 r2 )
                   OK
                                                                                 MoMo, 07.09.2009 – 4 / 14
The identification protocol
U            C               S              D               O                P                   U
     S                      skS            skD                              skU
                                     Phone VPN




                                                                protected
                                                                using KP
          get certS




                                                                      ˜
                  TLS HS               and
                  U, P        know certSIM
                                       D
                                                                  user’s
                                  TLS HS
                                                                  secret
                               ˜
                               S, U, P, r1                         key
                         get certU      get certU
                                              ˜
                                              S, P, r1 r2       ˜
                                                                S, r1 r2
                                     CC1 := cc(r1 r2 )
                                                                  CC2 := cc(r1 r2 )
                  CC1                CC1                                     ˜
    CC1                                                                      S, CC2

                                                     ˜
                         Compare CC1 and CC2 . Check S.

                                                    sigskU (r1 r2 )                   PIN
                             sigskU (r1 r2 )
                  OK
                                                                                  MoMo, 07.09.2009 – 4 / 14
The identification protocol
U            C               S              D               O                P                   U
     S                      skS            skD                              skU




                                                                protected
                                                                using KP
          get certS                              VPN




                                                                      ˜
                  TLS HS
                   Client know certD
                  U, P
                 application
                                  TLS HS
                               ˜
                               S, U, P, r1
                         get certU      get certU
                                              ˜
                                              S, P, r1 r2       ˜
                                                                S, r1 r2
                                     CC1 := cc(r1 r2 )
                                                                  CC2 := cc(r1 r2 )
                  CC1                CC1                                     ˜
    CC1                                                                      S, CC2

                                                     ˜
                         Compare CC1 and CC2 . Check S.

                                                    sigskU (r1 r2 )                   PIN
                             sigskU (r1 r2 )
                  OK
                                                                                  MoMo, 07.09.2009 – 4 / 14
The identification protocol
U            C               S              D               O                P                   U
     S                      skS            skD                              skU




                                                                protected
                                                                using KP
          get certS                              VPN




                                                                      ˜
                  TLS HS
                  U, P        know certD
                                  TLS HS
                               ˜
                               S, U, P, r1
                         get certU      get certU
                                              ˜
                                              S, P, r1 r2       ˜
                                                                S, r1 r2
                                     CC1 := cc(r1 r2 )
                                                                  CC2 := cc(r1 r2 )
                  CC1                CC1                                     ˜
    CC1                                                                      S, CC2

                                                     ˜
                         Compare CC1 and CC2 . Check S.

                                                    sigskU (r1 r2 )                   PIN
                             sigskU (r1 r2 )
                  OK
                                                                                  MoMo, 07.09.2009 – 4 / 14
The identification protocol
U            C               S              D               O                P                   U
     S                      skS            skD                              skU




                                                                protected
                                                                using KP
          get certS                              VPN




                                                                      ˜
                  TLS HS
                  U, P        know certD
                                  TLS HS
                               ˜
                               S, U, P, r1
                         get certU      get certU
                                              ˜
                                              S, P, r1 r2       ˜
                                                                S, r1 r2
                                     CC1 := cc(r1 r2 )
                                                                  CC2 := cc(r1 r2 )
                  CC1                CC1                                     ˜
    CC1                                                                      S, CC2

                                                     ˜
                         Compare CC1 and CC2 . Check S.

                                                    sigskU (r1 r2 )                   PIN
                             sigskU (r1 r2 )
                  OK
                                                                                  MoMo, 07.09.2009 – 4 / 14
The identification protocol
U            C               S              D               O                P                   U
     S                      skS            skD                              skU




                                                                protected
                                                                using KP
          get certS                              VPN




                                                                      ˜
                  TLS HS
                  U, P        know certD
                                  TLS HS           DigiDocService
                               ˜
                               S, U, P, r1
                         get certU      get certU
                                              ˜
                                              S, P, r1 r2       ˜
                                                                S, r1 r2
                                     CC1 := cc(r1 r2 )
                                                                  CC2 := cc(r1 r2 )
                  CC1                CC1                                     ˜
    CC1                                                                      S, CC2

                                                     ˜
                         Compare CC1 and CC2 . Check S.

                                                    sigskU (r1 r2 )                   PIN
                             sigskU (r1 r2 )
                  OK
                                                                                  MoMo, 07.09.2009 – 4 / 14
The identification protocol
U            C               S              D           O                 P                   U
     S                      skS            skD                           skU




                                                             protected
                                                             using KP
          get certS                              VPN




                                                                   ˜
                  TLS HS
                  U, P        know certD
                                  TLS HS
                                                            ˜
                                                            S = (S, m)
                               ˜
                               S, U, P, r1        m — a message to be shown
                         get certU      get certU
                                                    on user’s phone screen
                                               ˜
                                               S, P, r1 r2 ˜
                                                           S, r1 r2
                                     CC1 := 1 —1 a 2 )
                                           r cc(r r random number (10 bytes)
                                                             CC2 := cc(r1 r2 )
                  CC1                CC1                                ˜
    CC1                                                                 S, CC2

                                                     ˜
                         Compare CC1 and CC2 . Check S.

                                                  sigskU (r1 r2 )                  PIN
                             sigskU (r1 r2 )
                  OK
                                                                               MoMo, 07.09.2009 – 4 / 14
The identification protocol
U            C               S                D              O                 P                   U
     S                      skS              skD                              skU




                                                                  protected
                                                                  using KP
          get certS                                VPN




                                                                        ˜
                  TLS HS
                  U, P        know certD
                                  TLS HS
                                                       mobile operator
                               ˜
                               S, U, P, r1
                         get certU      get certU
                                              ˜
                                              S, P, r1 r2        ˜
                                                                 S, r1 r2
                                     CC1 := cc(r1 r2 )
                                                                   CC2 := cc(r1 r2 )
                  CC1                CC1                                      ˜
    CC1                                                                       S, CC2
                  r2 —Compare CC and CC . Check S.
                       a short random number    ˜
                                         1         2


                                                       sigskU (r1 r2 )                  PIN
                             sigskU (r1 r2 )
                   OK
                                                                                    MoMo, 07.09.2009 – 4 / 14
The identification protocol
U            C               S              D               O                P                   U
     S                      skS            skD                              skU




                                                                protected
                                                                using KP
          get certS                              VPN




                                                                      ˜
                  TLS HS
                  U, P        know certD
                                  TLS HS
                               ˜
                               S, U, P, r1
                         get certU      get certU
                                              ˜
                                              S, P, r1 r2       ˜
                                                                S, r1 r2
                                     CC1 := cc(r1 r2 )
                                                                  CC2 := cc(r1 r2 )
                  CC1                CC1                                     ˜
    CC1                                                                      S, CC2

                                                     ˜
                         Compare CC1 and CC2 . Check S.

                                                    sigskU (r1 r2 )                   PIN
                             sigskU (r1 r2 )
                  OK
                                                                                  MoMo, 07.09.2009 – 4 / 14
The identification protocol
U            C               S              D               O                P                   U
     S                      skS            skD                              skU




                                                                protected
                                                                using KP
          get certS                              VPN




                                                                      ˜
                  TLS HS
                  U, P        know certD
                                  TLS HS
                               ˜
                               S, U, P, r1
                         get certU      get certU
                                              ˜
                                              S, P, r1 r2       ˜
                                                                S, r1 r2
                                     CC1 := cc(r1 r2 )
                                                                  CC2 := cc(r1 r2 )
                  CC1                CC1                                     ˜
    CC1                                                                      S, CC2

                                                     ˜
                         Compare CC1 and CC2 . Check S.
                                          SIM-card computes
                                                    sigskU (r1 r2 )                   PIN
                             sigskU (r1 r2 )
                  OK
                                                                                  MoMo, 07.09.2009 – 4 / 14
The identification protocol
U            C               S              D                O                    P                   U
     S                      skS            skD                                   skU




                                                                     protected
                                                                     using KP
          get certS                              VPN




                                                                           ˜
                  TLS HS
                  U, P        know certD
                                  TLS HS
                               ˜
                               S, U, P, r1
                         get certU      get certU
                                              ˜
                                              S, P, r1 r2            ˜
                                                                     S, r1 r2
                                     CC1 := cc(r1 r2 )
                                                                       CC2 := cc(r1 r2 )
                  CC1                CC1                                          ˜
    CC1                                                                           S, CC2

                                                     ˜
                         Compare CC1 and CC2 . Check S.
                                   DigiDocService computes
                                                sig (r r )                                 PIN
                                                       skU       1    2

                             sigskU (r1 r2 )
                  OK
                                                                                       MoMo, 07.09.2009 – 4 / 14
The identification protocol
U            C               S              D               O                P                   U
     S                      skS            skD                              skU




                                                                protected
                                                                using KP
          get certS                              VPN




                                                                      ˜
                  TLS HS
                  U, P        know certD
                                  TLS HS
                               ˜
                               S, U, P, r1
                         get certU      get certU
                                              ˜
                                              S, P, r1 r2       ˜
                                                                S, r1 r2
                                     CC1 := cc(r1 r2 )
                                                                  CC2 := cc(r1 r2 )
                  CC1                CC1                                     ˜
    CC1                                                                      S, CC2

                                                     ˜
                         Compare CC1 and CC2 . Check S.

                                                    sigskU (r1 r2 )                   PIN
                             sigskU (r1 r2 )
                  OK
                                                                                  MoMo, 07.09.2009 – 4 / 14
The identification protocol
U            C               S              D               O                P                   U
     S                      skS            skD                              skU




                                                                protected
                                                                using KP
          get certS                              VPN




                                                                      ˜
                  TLS HS
                  U, P        know certD
                                  TLS HS
                               ˜
                               S, U, P, r1
                         get certU      get certU
                                              ˜
                                              S, P, r1 r2       ˜
                                                                S, r1 r2
                                     CC1 := cc(r1 r2 )
                                                                  CC2 := cc(r1 r2 )
                  CC1                CC1                                     ˜
    CC1                                                                      S, CC2

                                                     ˜
                         Compare CC1 and CC2 . Check S.

                                                    sigskU (r1 r2 )                   PIN
                             sigskU (r1 r2 )
                  OK
                                                                                  MoMo, 07.09.2009 – 4 / 14
The identification protocol
U            C               S              D               O                P                   U
     S                      skS            skD                              skU




                                                                protected
                                                                using KP
          get certS                              VPN




                                                                      ˜
                  TLS HS
                  U, P        know certD
                                  TLS HS
                               ˜
                               S, U, P, r1
                         get certU      get certU
                                              ˜
                                              S, P, r1 r2       ˜
                                                                S, r1 r2
                                     CC1 := cc(r1 r2 )
                                                                  CC2 := cc(r1 r2 )
                  CC1                CC1                                     ˜
    CC1                                                                      S, CC2

                                                     ˜
                         Compare CC1 and CC2 . Check S.

                                                    sigskU (r1 r2 )                   PIN
                             sigskU (r1 r2 )
                  OK
                                                                                  MoMo, 07.09.2009 – 4 / 14
The identification protocol
U            C               S              D               O                P                   U
     S                      skS            skD                              skU




                                                                protected
                                                                using KP
          get certS                              VPN




                                                                      ˜
                  TLS HS
                  U, P        know certD
                                  TLS HS
                               ˜
                               S, U, P, r1
                         get certU      get certU
                                              ˜
                                              S, P, r1 r2       ˜
                                                                S, r1 r2
                                     CC1 := cc(r1 r2 )
                                                                  CC2 := cc(r1 r2 )
                  CC1                CC1                                     ˜
    CC1                                                                      S, CC2

                                                     ˜
                         Compare CC1 and CC2 . Check S.

                                                    sigskU (r1 r2 )                   PIN
                             sigskU (r1 r2 )
                  OK
                                                                                  MoMo, 07.09.2009 – 4 / 14
The identification protocol
U            C               S              D               O                P                   U
     S                      skS            skD                              skU




                                                                protected
                                                                using KP
          get certS                              VPN




                                                                      ˜
                  TLS HS
                  U, P        know certD
                                  TLS HS
                               ˜
                               S, U, P, r1
                         get certU      get certU
                                              ˜
                                              S, P, r1 r2       ˜
                                                                S, r1 r2
                                     CC1 := cc(r1 r2 )
                                                                  CC2 := cc(r1 r2 )
                  CC1                CC1                                     ˜
    CC1                                                                      S, CC2

                                                     ˜
                         Compare CC1 and CC2 . Check S.

                                                    sigskU (r1 r2 )                   PIN
                             sigskU (r1 r2 )
                  OK
                                                                                  MoMo, 07.09.2009 – 4 / 14
“Base” security model

s   There are several users and servers, some under adversarial control.
s   DigiDocService and mobile operator are honest.
    x   No confusion between different mobile operators.
s   Client apps. and phones have no malware.
    x   The channels between the user and client app. / phone are
        secure.
s The adversary controls the insecure channels. It can read and write
  them.
s The adversary can take messages apart and construct new messages.
  It can generate new keys, random numbers, etc.
s The adversary can start new sessions.
s The adversary schedules all parties.



                                                             MoMo, 07.09.2009 – 5 / 14
Perfect cryptography assumption

s   Messages have structure
    x   It is their syntax tree.
s   A message can be analysed only according to its structure:
    x   From (m1 , m2 ) find m1 and m2 .
    x   From enck (m) and k find m.
    x   etc.
s   To construct a message, we need all of its parts:
    x   Need sk and m to construct sigsk (m).
    x   etc.
s   Different structure ⇒ different message.
    x   does not apply to control codes.
s   This is a constraint on the adversary!

                                                           MoMo, 07.09.2009 – 6 / 14
Security properties we care about

s If U and S are honest then the TLS key they agreed on will not
  become known to the adversary.
s If S thinks it talks to U using key K and U is honest then U thinks
  it talks to S using key K.
We are protecting an honest server
s   Integrity for U follows from the properties of TLS handshake.




                                                            MoMo, 07.09.2009 – 7 / 14
Analysing the protocol

s We use the perfect cryptography assumption.
s The question “does protocol P” satisfy the security property S?” is
  undecidable in general.
s Still, there are tools that take the description of a protocol and
  output whether it is secure.
    x   Handle restricted classes of protocols.
    x   Sometimes give wrong answer.
        s   Only err at the side of caution.

s   We have used ProVerif, http://www.proverif.ens.fr
s   In the base security model the Mobile-ID identification protocol is
    secure against network attacks.




                                                            MoMo, 07.09.2009 – 8 / 14
Relaxing the security model

s   DigiDocService and Mobile Operator are just mediating parties.
s   The security of the protocol should not depend on their honesty.




                                                            MoMo, 07.09.2009 – 9 / 14
A possible scenario
           U




S




                          MoMo, 07.09.2009 – 10 / 14
A possible scenario
           U

                U



                                    S′
S




                          MoMo, 07.09.2009 – 10 / 14
A possible scenario
           U

                U



                                      S′
S

                          U, S ′ , m′ , r1
                                         ′




    DDS


                           MoMo, 07.09.2009 – 10 / 14
A possible scenario
               U

                    U



                                          S′
    S

                              U, S ′ , m′ , r1
                                             ′


U




        DDS


                               MoMo, 07.09.2009 – 10 / 14
A possible scenario
                        U

                             U



                                                   S′
    S

                                       U, S ′ , m′ , r1
                                                      ′


U

        U, S,
         m, r1



                 DDS


                                        MoMo, 07.09.2009 – 10 / 14
A possible scenario
                                U

                                        U



             Generate r2 , r2 , such that
                            ′
                                                        S′
    S
             cc(r1 r2 ) = c = cc(r1 r2 )
                                    ′  ′



                                            U, S ′ , m′ , r1
                                                           ′


U

        U, S,
         m, r1



                   DDS


                                             MoMo, 07.09.2009 – 10 / 14
A possible scenario
                                U

                                         U
                    S ′ , m ′ , r1 r 2

                                                                     S′
    S

                                                         U, S ′ , m′ , r1
                                                                        ′


U

        U, S,
         m, r1



                 DDS                         MO
                                                                       ′  ′
                                                  cc(r1 r2 ) = c = cc(r1 r2 )
                                                          MoMo, 07.09.2009 – 10 / 14
A possible scenario
                                    U

                                             U
                        S ′ , m ′ , r1 r 2

                                                                         S′
    S
                                                       c
                                                             U, S ′ , m′ , r1
                                                                            ′


U
                 c
        U, S,
         m, r1



                     DDS                         MO
                                                                           ′  ′
                                                      cc(r1 r2 ) = c = cc(r1 r2 )
                                                              MoMo, 07.09.2009 – 10 / 14
A possible scenario
                                    U
                                                  c
                                             U
                        S ′ , m ′ , r1 r 2

                                                                         S′
    S
                                                       c
                                                             U, S ′ , m′ , r1
                                                                            ′


U
                 c
        U, S,
         m, r1



                     DDS                         MO
                                                                           ′  ′
                                                      cc(r1 r2 ) = c = cc(r1 r2 )
                                                              MoMo, 07.09.2009 – 10 / 14
A possible scenario
                                    U
                                                  c
                                             U
                        S ′ , m ′ , r1 r 2

                                                                              S′
    S
                                                           c
                                                                  U, S ′ , m′ , r1
                                                                                 ′


U
                 c
        U, S,
         m, r1
                                                      sigskU (r1 r2 )


                     DDS                         MO
                                                                               ′  ′
                                                          cc(r1 r2 ) = c = cc(r1 r2 )
                                                                   MoMo, 07.09.2009 – 10 / 14
A possible scenario
                                          U
                                                        c
                                                   U
                              S ′ , m ′ , r1 r 2

                                                                                    S′
    S
                                                                 c
                     sigskU (r1 r2 )                                    U, S ′ , m′ , r1
                                                                                       ′


U
                 c
        U, S,
         m, r1
                                                            sigskU (r1 r2 )


                         DDS                           MO
                                                                                     ′  ′
                                                                cc(r1 r2 ) = c = cc(r1 r2 )
                                                                         MoMo, 07.09.2009 – 10 / 14
A possible scenario
Attack works even if the                    U
server computes the                                       c
control code c                                       U
                                S ′ , m ′ , r1 r 2

                                                                                      S′
     S
                                                                   c
                       sigskU (r1 r2 )                                    U, S ′ , m′ , r1
                                                                                         ′


 U
                   c
          U, S,
           m, r1
                                                              sigskU (r1 r2 )


                           DDS                           MO
                                                                                       ′  ′
                                                                  cc(r1 r2 ) = c = cc(r1 r2 )
                                                                           MoMo, 07.09.2009 – 10 / 14
Malware in user’s computer

s Full control over the client app. means knowing the TLS keys.
s Even a keylogger can cause a lot of harm if using the ID-card.
s A similar level of control for the mobile-ID protocol might be the
  control over which control code is shown to the user.
s If the display manipulator also has network access then the protocol
  can be broken.




                                                          MoMo, 07.09.2009 – 11 / 14
A possible scenario

      U




                  S




DDS




                      MoMo, 07.09.2009 – 12 / 14
A possible scenario

      U




                  S




DDS




                      MoMo, 07.09.2009 – 12 / 14
A possible scenario

      U




                  S




DDS




                      MoMo, 07.09.2009 – 12 / 14
A possible scenario

      U


          U


                  S




                      U



DDS




                      MoMo, 07.09.2009 – 12 / 14
A possible scenario

      U


          U


                  S




                      U



DDS




                      MoMo, 07.09.2009 – 12 / 14
A possible scenario

               U


                   U


                                     S

 U, S, m, r1


                                 ′       U
                       U, S, m, r1


DDS




                                         MoMo, 07.09.2009 – 12 / 14
A possible scenario

               U


                       U


                                              S

 U, S, m, r1
                   c       c′
                                          ′       U
                                U, S, m, r1


DDS

       ′
r 2 , r2


                                                  MoMo, 07.09.2009 – 12 / 14
A possible scenario

                              U
               ′  ′
        S, m, r1 r2
     S, m, r1 r2                      U


                                                             S
MO
                U, S, m, r1
                                  c       c′
                                                         ′       U
                                               U, S, m, r1


               DDS

                      ′
               r 2 , r2


                                                                 MoMo, 07.09.2009 – 12 / 14
A possible scenario

                              U
               ′  ′
        S, m, r1 r2
                                               c
     S, m, r1 r2                      U


                                                             S
MO
                U, S, m, r1
                                                                         c′
                                  c       c′
                                                         ′       U
                                               U, S, m, r1


               DDS

                      ′
               r 2 , r2


                                                                 MoMo, 07.09.2009 – 12 / 14
A possible scenario
                                      c′
                              U
               ′  ′
        S, m, r1 r2
                                                c
     S, m, r1 r2                      U


                                                              S
MO
                U, S, m, r1
                                                                          c′
                                  c        c′
                                                          ′       U
                                                U, S, m, r1


               DDS

                      ′
               r 2 , r2


                                                                  MoMo, 07.09.2009 – 12 / 14
A possible scenario
                                                   c′
                                           U
         ′  ′
sigskU (r1 r2 )             ′  ′
                     S, m, r1 r2
                                                             c
                  S, m, r1 r2                      U


                                                                           S
      MO
                             U, S, m, r1
                                                                                           c′
                                               c        c′
                                                                       ′           U
                                                             U, S, m, r1


                            DDS                                           ′  ′
                                                                 sigskU (r1 r2 )
                                   ′
                            r 2 , r2


                                                                                   MoMo, 07.09.2009 – 12 / 14
Other issues

s   If the user is duped to connect to a rogue site, then a
    man-in-the-middle attack is possible.
    x The attack gives the adversary access to the real site in the
      name of the user.
    x This attack is also present when authenticating with passwords
      (code cards, code calculators, one-time passwords, etc.)
    x This attack is not present when using the ID-card.
s   The SIM-card software shows embedded newlines in m as line breaks.
    x The server can construct a message m that obscures the actual
      control code.
    x Not exploitable if the DigiDocService is honest; but must be
      considered otherwise.



                                                              MoMo, 07.09.2009 – 13 / 14
Suggested changes

s   Instead of signing the challenge r, sign (r, S).
s   Whole challenge r should be chosen and the control code CC1
    computed by S.
    x   S must avoid control code collsions in parallel sessions with the
        same U .
s   Change the way m and CC2 are shown on the phone screen and/or
    educate users such that CC2 will not be obscured.



Still no protection against trojans in phone or computer.




                                                            MoMo, 07.09.2009 – 14 / 14

More Related Content

More from MobileMonday Estonia

Modern problems in backend engineering, Joel Mislav Kunst
Modern problems in backend engineering, Joel Mislav KunstModern problems in backend engineering, Joel Mislav Kunst
Modern problems in backend engineering, Joel Mislav KunstMobileMonday Estonia
 
Modern problems in backend engineering, Jüri Tarkpea
Modern problems in backend engineering, Jüri TarkpeaModern problems in backend engineering, Jüri Tarkpea
Modern problems in backend engineering, Jüri TarkpeaMobileMonday Estonia
 
Scientists meet Entrepreneurs - AI & Machine Learning, Mark Fishel, Institute...
Scientists meet Entrepreneurs - AI & Machine Learning, Mark Fishel, Institute...Scientists meet Entrepreneurs - AI & Machine Learning, Mark Fishel, Institute...
Scientists meet Entrepreneurs - AI & Machine Learning, Mark Fishel, Institute...MobileMonday Estonia
 
Scientists meet Entrepreneurs - AI & Machine Learning, Kristjan Korjus, Starship
Scientists meet Entrepreneurs - AI & Machine Learning, Kristjan Korjus, StarshipScientists meet Entrepreneurs - AI & Machine Learning, Kristjan Korjus, Starship
Scientists meet Entrepreneurs - AI & Machine Learning, Kristjan Korjus, StarshipMobileMonday Estonia
 
Scientists meet Entrepreneurs - AI & Machine Learning, Peeter Piksarv, Moonca...
Scientists meet Entrepreneurs - AI & Machine Learning, Peeter Piksarv, Moonca...Scientists meet Entrepreneurs - AI & Machine Learning, Peeter Piksarv, Moonca...
Scientists meet Entrepreneurs - AI & Machine Learning, Peeter Piksarv, Moonca...MobileMonday Estonia
 
Scientists meet Entrepreneurs - AI & Machine Learning, Tambet Matiisen, Unive...
Scientists meet Entrepreneurs - AI & Machine Learning, Tambet Matiisen, Unive...Scientists meet Entrepreneurs - AI & Machine Learning, Tambet Matiisen, Unive...
Scientists meet Entrepreneurs - AI & Machine Learning, Tambet Matiisen, Unive...MobileMonday Estonia
 
Scientists meet Entrepreneurs - AI & Machine Learning, Dima Fishman, Universi...
Scientists meet Entrepreneurs - AI & Machine Learning, Dima Fishman, Universi...Scientists meet Entrepreneurs - AI & Machine Learning, Dima Fishman, Universi...
Scientists meet Entrepreneurs - AI & Machine Learning, Dima Fishman, Universi...MobileMonday Estonia
 
Space Edition, Sven Lilla, ESA BIC
Space Edition, Sven Lilla, ESA BICSpace Edition, Sven Lilla, ESA BIC
Space Edition, Sven Lilla, ESA BICMobileMonday Estonia
 
Space Edition, Kadri Bussov, EST Cube
Space Edition, Kadri Bussov, EST CubeSpace Edition, Kadri Bussov, EST Cube
Space Edition, Kadri Bussov, EST CubeMobileMonday Estonia
 
Space Edition, Kalev Koppel, KappaZetta
Space Edition, Kalev Koppel, KappaZettaSpace Edition, Kalev Koppel, KappaZetta
Space Edition, Kalev Koppel, KappaZettaMobileMonday Estonia
 
Space Edition, Dr. Ali Nadir Arslan
Space Edition, Dr. Ali Nadir Arslan Space Edition, Dr. Ali Nadir Arslan
Space Edition, Dr. Ali Nadir Arslan MobileMonday Estonia
 
Product Marketing, Kair Käsper, Pipedrive
Product Marketing, Kair Käsper, PipedriveProduct Marketing, Kair Käsper, Pipedrive
Product Marketing, Kair Käsper, PipedriveMobileMonday Estonia
 
Product Marketing, Mattias Liivak, Fortumo
Product Marketing, Mattias Liivak, FortumoProduct Marketing, Mattias Liivak, Fortumo
Product Marketing, Mattias Liivak, FortumoMobileMonday Estonia
 
What Does it take to Develop Kickass Products?, Laura Noodapera
What Does it take to Develop Kickass Products?, Laura NoodaperaWhat Does it take to Develop Kickass Products?, Laura Noodapera
What Does it take to Develop Kickass Products?, Laura NoodaperaMobileMonday Estonia
 
What Does it take to Develop Kickass Products?, Britt Maasalu
What Does it take to Develop Kickass Products?, Britt MaasaluWhat Does it take to Develop Kickass Products?, Britt Maasalu
What Does it take to Develop Kickass Products?, Britt MaasaluMobileMonday Estonia
 
Meeting Female Entrepreneurs in Tech, Triinu Sirge
Meeting Female Entrepreneurs in Tech, Triinu SirgeMeeting Female Entrepreneurs in Tech, Triinu Sirge
Meeting Female Entrepreneurs in Tech, Triinu SirgeMobileMonday Estonia
 
Meeting Female Entrepreneurs in Tech, Triin Kask
Meeting Female Entrepreneurs in Tech, Triin KaskMeeting Female Entrepreneurs in Tech, Triin Kask
Meeting Female Entrepreneurs in Tech, Triin KaskMobileMonday Estonia
 
Meeting Female Entrepreneurs in Tech, Seren Eilmann
Meeting Female Entrepreneurs in Tech, Seren EilmannMeeting Female Entrepreneurs in Tech, Seren Eilmann
Meeting Female Entrepreneurs in Tech, Seren EilmannMobileMonday Estonia
 
Meeting Female Entrepreneurs in Tech, Kei Karlson
Meeting Female Entrepreneurs in Tech, Kei KarlsonMeeting Female Entrepreneurs in Tech, Kei Karlson
Meeting Female Entrepreneurs in Tech, Kei KarlsonMobileMonday Estonia
 

More from MobileMonday Estonia (20)

Modern problems in backend engineering, Joel Mislav Kunst
Modern problems in backend engineering, Joel Mislav KunstModern problems in backend engineering, Joel Mislav Kunst
Modern problems in backend engineering, Joel Mislav Kunst
 
Modern problems in backend engineering, Jüri Tarkpea
Modern problems in backend engineering, Jüri TarkpeaModern problems in backend engineering, Jüri Tarkpea
Modern problems in backend engineering, Jüri Tarkpea
 
Scientists meet Entrepreneurs - AI & Machine Learning, Mark Fishel, Institute...
Scientists meet Entrepreneurs - AI & Machine Learning, Mark Fishel, Institute...Scientists meet Entrepreneurs - AI & Machine Learning, Mark Fishel, Institute...
Scientists meet Entrepreneurs - AI & Machine Learning, Mark Fishel, Institute...
 
Scientists meet Entrepreneurs - AI & Machine Learning, Kristjan Korjus, Starship
Scientists meet Entrepreneurs - AI & Machine Learning, Kristjan Korjus, StarshipScientists meet Entrepreneurs - AI & Machine Learning, Kristjan Korjus, Starship
Scientists meet Entrepreneurs - AI & Machine Learning, Kristjan Korjus, Starship
 
Scientists meet Entrepreneurs - AI & Machine Learning, Peeter Piksarv, Moonca...
Scientists meet Entrepreneurs - AI & Machine Learning, Peeter Piksarv, Moonca...Scientists meet Entrepreneurs - AI & Machine Learning, Peeter Piksarv, Moonca...
Scientists meet Entrepreneurs - AI & Machine Learning, Peeter Piksarv, Moonca...
 
Scientists meet Entrepreneurs - AI & Machine Learning, Tambet Matiisen, Unive...
Scientists meet Entrepreneurs - AI & Machine Learning, Tambet Matiisen, Unive...Scientists meet Entrepreneurs - AI & Machine Learning, Tambet Matiisen, Unive...
Scientists meet Entrepreneurs - AI & Machine Learning, Tambet Matiisen, Unive...
 
Scientists meet Entrepreneurs - AI & Machine Learning, Dima Fishman, Universi...
Scientists meet Entrepreneurs - AI & Machine Learning, Dima Fishman, Universi...Scientists meet Entrepreneurs - AI & Machine Learning, Dima Fishman, Universi...
Scientists meet Entrepreneurs - AI & Machine Learning, Dima Fishman, Universi...
 
Space Edition, Sven Lilla, ESA BIC
Space Edition, Sven Lilla, ESA BICSpace Edition, Sven Lilla, ESA BIC
Space Edition, Sven Lilla, ESA BIC
 
Space Edition, Kadri Bussov, EST Cube
Space Edition, Kadri Bussov, EST CubeSpace Edition, Kadri Bussov, EST Cube
Space Edition, Kadri Bussov, EST Cube
 
Space Edition, Kalev Koppel, KappaZetta
Space Edition, Kalev Koppel, KappaZettaSpace Edition, Kalev Koppel, KappaZetta
Space Edition, Kalev Koppel, KappaZetta
 
Space Edition, Dr. Ali Nadir Arslan
Space Edition, Dr. Ali Nadir Arslan Space Edition, Dr. Ali Nadir Arslan
Space Edition, Dr. Ali Nadir Arslan
 
Product Marketing, Kair Käsper, Pipedrive
Product Marketing, Kair Käsper, PipedriveProduct Marketing, Kair Käsper, Pipedrive
Product Marketing, Kair Käsper, Pipedrive
 
Product Marketing, Marelle Ellen
Product Marketing, Marelle EllenProduct Marketing, Marelle Ellen
Product Marketing, Marelle Ellen
 
Product Marketing, Mattias Liivak, Fortumo
Product Marketing, Mattias Liivak, FortumoProduct Marketing, Mattias Liivak, Fortumo
Product Marketing, Mattias Liivak, Fortumo
 
What Does it take to Develop Kickass Products?, Laura Noodapera
What Does it take to Develop Kickass Products?, Laura NoodaperaWhat Does it take to Develop Kickass Products?, Laura Noodapera
What Does it take to Develop Kickass Products?, Laura Noodapera
 
What Does it take to Develop Kickass Products?, Britt Maasalu
What Does it take to Develop Kickass Products?, Britt MaasaluWhat Does it take to Develop Kickass Products?, Britt Maasalu
What Does it take to Develop Kickass Products?, Britt Maasalu
 
Meeting Female Entrepreneurs in Tech, Triinu Sirge
Meeting Female Entrepreneurs in Tech, Triinu SirgeMeeting Female Entrepreneurs in Tech, Triinu Sirge
Meeting Female Entrepreneurs in Tech, Triinu Sirge
 
Meeting Female Entrepreneurs in Tech, Triin Kask
Meeting Female Entrepreneurs in Tech, Triin KaskMeeting Female Entrepreneurs in Tech, Triin Kask
Meeting Female Entrepreneurs in Tech, Triin Kask
 
Meeting Female Entrepreneurs in Tech, Seren Eilmann
Meeting Female Entrepreneurs in Tech, Seren EilmannMeeting Female Entrepreneurs in Tech, Seren Eilmann
Meeting Female Entrepreneurs in Tech, Seren Eilmann
 
Meeting Female Entrepreneurs in Tech, Kei Karlson
Meeting Female Entrepreneurs in Tech, Kei KarlsonMeeting Female Entrepreneurs in Tech, Kei Karlson
Meeting Female Entrepreneurs in Tech, Kei Karlson
 

Recently uploaded

ERP Contender Series: Acumatica vs. Sage Intacct
ERP Contender Series: Acumatica vs. Sage IntacctERP Contender Series: Acumatica vs. Sage Intacct
ERP Contender Series: Acumatica vs. Sage IntacctBrainSell Technologies
 
Enterprise Knowledge Graphs - Data Summit 2024
Enterprise Knowledge Graphs - Data Summit 2024Enterprise Knowledge Graphs - Data Summit 2024
Enterprise Knowledge Graphs - Data Summit 2024Enterprise Knowledge
 
Microsoft CSP Briefing Pre-Engagement - Questionnaire
Microsoft CSP Briefing Pre-Engagement - QuestionnaireMicrosoft CSP Briefing Pre-Engagement - Questionnaire
Microsoft CSP Briefing Pre-Engagement - QuestionnaireExakis Nelite
 
Simplified FDO Manufacturing Flow with TPMs _ Liam at Infineon.pdf
Simplified FDO Manufacturing Flow with TPMs _ Liam at Infineon.pdfSimplified FDO Manufacturing Flow with TPMs _ Liam at Infineon.pdf
Simplified FDO Manufacturing Flow with TPMs _ Liam at Infineon.pdfFIDO Alliance
 
Easier, Faster, and More Powerful – Alles Neu macht der Mai -Wir durchleuchte...
Easier, Faster, and More Powerful – Alles Neu macht der Mai -Wir durchleuchte...Easier, Faster, and More Powerful – Alles Neu macht der Mai -Wir durchleuchte...
Easier, Faster, and More Powerful – Alles Neu macht der Mai -Wir durchleuchte...panagenda
 
1111 ChatGPT Prompts PDF Free Download - Prompts for ChatGPT
1111 ChatGPT Prompts PDF Free Download - Prompts for ChatGPT1111 ChatGPT Prompts PDF Free Download - Prompts for ChatGPT
1111 ChatGPT Prompts PDF Free Download - Prompts for ChatGPTiSEO AI
 
The Value of Certifying Products for FDO _ Paul at FIDO Alliance.pdf
The Value of Certifying Products for FDO _ Paul at FIDO Alliance.pdfThe Value of Certifying Products for FDO _ Paul at FIDO Alliance.pdf
The Value of Certifying Products for FDO _ Paul at FIDO Alliance.pdfFIDO Alliance
 
Breaking Down the Flutterwave Scandal What You Need to Know.pdf
Breaking Down the Flutterwave Scandal What You Need to Know.pdfBreaking Down the Flutterwave Scandal What You Need to Know.pdf
Breaking Down the Flutterwave Scandal What You Need to Know.pdfUK Journal
 
Oauth 2.0 Introduction and Flows with MuleSoft
Oauth 2.0 Introduction and Flows with MuleSoftOauth 2.0 Introduction and Flows with MuleSoft
Oauth 2.0 Introduction and Flows with MuleSoftshyamraj55
 
AI presentation and introduction - Retrieval Augmented Generation RAG 101
AI presentation and introduction - Retrieval Augmented Generation RAG 101AI presentation and introduction - Retrieval Augmented Generation RAG 101
AI presentation and introduction - Retrieval Augmented Generation RAG 101vincent683379
 
TopCryptoSupers 12thReport OrionX May2024
TopCryptoSupers 12thReport OrionX May2024TopCryptoSupers 12thReport OrionX May2024
TopCryptoSupers 12thReport OrionX May2024Stephen Perrenod
 
Integrating Telephony Systems with Salesforce: Insights and Considerations, B...
Integrating Telephony Systems with Salesforce: Insights and Considerations, B...Integrating Telephony Systems with Salesforce: Insights and Considerations, B...
Integrating Telephony Systems with Salesforce: Insights and Considerations, B...CzechDreamin
 
IESVE for Early Stage Design and Planning
IESVE for Early Stage Design and PlanningIESVE for Early Stage Design and Planning
IESVE for Early Stage Design and PlanningIES VE
 
Choosing the Right FDO Deployment Model for Your Application _ Geoffrey at In...
Choosing the Right FDO Deployment Model for Your Application _ Geoffrey at In...Choosing the Right FDO Deployment Model for Your Application _ Geoffrey at In...
Choosing the Right FDO Deployment Model for Your Application _ Geoffrey at In...FIDO Alliance
 
Intro in Product Management - Коротко про професію продакт менеджера
Intro in Product Management - Коротко про професію продакт менеджераIntro in Product Management - Коротко про професію продакт менеджера
Intro in Product Management - Коротко про професію продакт менеджераMark Opanasiuk
 
TEST BANK For, Information Technology Project Management 9th Edition Kathy Sc...
TEST BANK For, Information Technology Project Management 9th Edition Kathy Sc...TEST BANK For, Information Technology Project Management 9th Edition Kathy Sc...
TEST BANK For, Information Technology Project Management 9th Edition Kathy Sc...marcuskenyatta275
 
WebRTC and SIP not just audio and video @ OpenSIPS 2024
WebRTC and SIP not just audio and video @ OpenSIPS 2024WebRTC and SIP not just audio and video @ OpenSIPS 2024
WebRTC and SIP not just audio and video @ OpenSIPS 2024Lorenzo Miniero
 
Secure Zero Touch enabled Edge compute with Dell NativeEdge via FDO _ Brad at...
Secure Zero Touch enabled Edge compute with Dell NativeEdge via FDO _ Brad at...Secure Zero Touch enabled Edge compute with Dell NativeEdge via FDO _ Brad at...
Secure Zero Touch enabled Edge compute with Dell NativeEdge via FDO _ Brad at...FIDO Alliance
 
Easier, Faster, and More Powerful – Notes Document Properties Reimagined
Easier, Faster, and More Powerful – Notes Document Properties ReimaginedEasier, Faster, and More Powerful – Notes Document Properties Reimagined
Easier, Faster, and More Powerful – Notes Document Properties Reimaginedpanagenda
 
WSO2CONMay2024OpenSourceConferenceDebrief.pptx
WSO2CONMay2024OpenSourceConferenceDebrief.pptxWSO2CONMay2024OpenSourceConferenceDebrief.pptx
WSO2CONMay2024OpenSourceConferenceDebrief.pptxJennifer Lim
 

Recently uploaded (20)

ERP Contender Series: Acumatica vs. Sage Intacct
ERP Contender Series: Acumatica vs. Sage IntacctERP Contender Series: Acumatica vs. Sage Intacct
ERP Contender Series: Acumatica vs. Sage Intacct
 
Enterprise Knowledge Graphs - Data Summit 2024
Enterprise Knowledge Graphs - Data Summit 2024Enterprise Knowledge Graphs - Data Summit 2024
Enterprise Knowledge Graphs - Data Summit 2024
 
Microsoft CSP Briefing Pre-Engagement - Questionnaire
Microsoft CSP Briefing Pre-Engagement - QuestionnaireMicrosoft CSP Briefing Pre-Engagement - Questionnaire
Microsoft CSP Briefing Pre-Engagement - Questionnaire
 
Simplified FDO Manufacturing Flow with TPMs _ Liam at Infineon.pdf
Simplified FDO Manufacturing Flow with TPMs _ Liam at Infineon.pdfSimplified FDO Manufacturing Flow with TPMs _ Liam at Infineon.pdf
Simplified FDO Manufacturing Flow with TPMs _ Liam at Infineon.pdf
 
Easier, Faster, and More Powerful – Alles Neu macht der Mai -Wir durchleuchte...
Easier, Faster, and More Powerful – Alles Neu macht der Mai -Wir durchleuchte...Easier, Faster, and More Powerful – Alles Neu macht der Mai -Wir durchleuchte...
Easier, Faster, and More Powerful – Alles Neu macht der Mai -Wir durchleuchte...
 
1111 ChatGPT Prompts PDF Free Download - Prompts for ChatGPT
1111 ChatGPT Prompts PDF Free Download - Prompts for ChatGPT1111 ChatGPT Prompts PDF Free Download - Prompts for ChatGPT
1111 ChatGPT Prompts PDF Free Download - Prompts for ChatGPT
 
The Value of Certifying Products for FDO _ Paul at FIDO Alliance.pdf
The Value of Certifying Products for FDO _ Paul at FIDO Alliance.pdfThe Value of Certifying Products for FDO _ Paul at FIDO Alliance.pdf
The Value of Certifying Products for FDO _ Paul at FIDO Alliance.pdf
 
Breaking Down the Flutterwave Scandal What You Need to Know.pdf
Breaking Down the Flutterwave Scandal What You Need to Know.pdfBreaking Down the Flutterwave Scandal What You Need to Know.pdf
Breaking Down the Flutterwave Scandal What You Need to Know.pdf
 
Oauth 2.0 Introduction and Flows with MuleSoft
Oauth 2.0 Introduction and Flows with MuleSoftOauth 2.0 Introduction and Flows with MuleSoft
Oauth 2.0 Introduction and Flows with MuleSoft
 
AI presentation and introduction - Retrieval Augmented Generation RAG 101
AI presentation and introduction - Retrieval Augmented Generation RAG 101AI presentation and introduction - Retrieval Augmented Generation RAG 101
AI presentation and introduction - Retrieval Augmented Generation RAG 101
 
TopCryptoSupers 12thReport OrionX May2024
TopCryptoSupers 12thReport OrionX May2024TopCryptoSupers 12thReport OrionX May2024
TopCryptoSupers 12thReport OrionX May2024
 
Integrating Telephony Systems with Salesforce: Insights and Considerations, B...
Integrating Telephony Systems with Salesforce: Insights and Considerations, B...Integrating Telephony Systems with Salesforce: Insights and Considerations, B...
Integrating Telephony Systems with Salesforce: Insights and Considerations, B...
 
IESVE for Early Stage Design and Planning
IESVE for Early Stage Design and PlanningIESVE for Early Stage Design and Planning
IESVE for Early Stage Design and Planning
 
Choosing the Right FDO Deployment Model for Your Application _ Geoffrey at In...
Choosing the Right FDO Deployment Model for Your Application _ Geoffrey at In...Choosing the Right FDO Deployment Model for Your Application _ Geoffrey at In...
Choosing the Right FDO Deployment Model for Your Application _ Geoffrey at In...
 
Intro in Product Management - Коротко про професію продакт менеджера
Intro in Product Management - Коротко про професію продакт менеджераIntro in Product Management - Коротко про професію продакт менеджера
Intro in Product Management - Коротко про професію продакт менеджера
 
TEST BANK For, Information Technology Project Management 9th Edition Kathy Sc...
TEST BANK For, Information Technology Project Management 9th Edition Kathy Sc...TEST BANK For, Information Technology Project Management 9th Edition Kathy Sc...
TEST BANK For, Information Technology Project Management 9th Edition Kathy Sc...
 
WebRTC and SIP not just audio and video @ OpenSIPS 2024
WebRTC and SIP not just audio and video @ OpenSIPS 2024WebRTC and SIP not just audio and video @ OpenSIPS 2024
WebRTC and SIP not just audio and video @ OpenSIPS 2024
 
Secure Zero Touch enabled Edge compute with Dell NativeEdge via FDO _ Brad at...
Secure Zero Touch enabled Edge compute with Dell NativeEdge via FDO _ Brad at...Secure Zero Touch enabled Edge compute with Dell NativeEdge via FDO _ Brad at...
Secure Zero Touch enabled Edge compute with Dell NativeEdge via FDO _ Brad at...
 
Easier, Faster, and More Powerful – Notes Document Properties Reimagined
Easier, Faster, and More Powerful – Notes Document Properties ReimaginedEasier, Faster, and More Powerful – Notes Document Properties Reimagined
Easier, Faster, and More Powerful – Notes Document Properties Reimagined
 
WSO2CONMay2024OpenSourceConferenceDebrief.pptx
WSO2CONMay2024OpenSourceConferenceDebrief.pptxWSO2CONMay2024OpenSourceConferenceDebrief.pptx
WSO2CONMay2024OpenSourceConferenceDebrief.pptx
 

Peeter Laud: "Formal Analysis of the Mobile-ID protocol"

  • 1. Analysis of the network security of the Mobile-ID identification protocol Peeter Laud Cybernetica AS & Tartu University
  • 2. The object s A SIM-card that x contains two private keys; x is capable of signing with those keys; x works like an ”‘ordinary”’ SIM-card otherwise. s During its activation SK AS issues certificates that x bind the corresponding public keys to your name; x state that the use of the first key is in identification x . . . and the use of the second key is in signing documents. MoMo, 07.09.2009 – 2 / 14
  • 3. The signing procedure s The card receives (x, M ) from the mobile operator. x x — the (short) message to sign; s a couple of dozen bytes. s might be the hash of the “real” message. x M an explanatory text. x the channel from operator to SIM-card is secure. s The card computes the control code cc(x) of x. x cc(x) ∈ {0000, 0001, 0002, . . . , 9999} s The card shows cc(x) and M to the user (through the phone). s If cc(x) and M OK, the user gives his/her PIN to the card. x Different PIN-s for different keys. s The card verifies PIN, sends sigsk (x) to the operator. MoMo, 07.09.2009 – 3 / 14
  • 4. The identification protocol U C S D O P U S skS skD skU Server’s protected using KP get certS VPN ˜ TLS HS secret Server know certD key U, P TLS HS ˜ S, U, P, r1 User get certU get certU ˜ S, P, r1 r2 ˜ S, r1 r2 CC1 := cc(r1 r2 ) CC2 := cc(r1 r2 ) CC1 CC1 ˜ CC1 S, CC2 ˜ Compare CC1 and CC2 . Check S. sigskU (r1 r2 ) PIN sigskU (r1 r2 ) OK MoMo, 07.09.2009 – 4 / 14
  • 5. The identification protocol U C S D O P U S skS skD skU Phone VPN protected using KP get certS ˜ TLS HS and U, P know certSIM D user’s TLS HS secret ˜ S, U, P, r1 key get certU get certU ˜ S, P, r1 r2 ˜ S, r1 r2 CC1 := cc(r1 r2 ) CC2 := cc(r1 r2 ) CC1 CC1 ˜ CC1 S, CC2 ˜ Compare CC1 and CC2 . Check S. sigskU (r1 r2 ) PIN sigskU (r1 r2 ) OK MoMo, 07.09.2009 – 4 / 14
  • 6. The identification protocol U C S D O P U S skS skD skU protected using KP get certS VPN ˜ TLS HS Client know certD U, P application TLS HS ˜ S, U, P, r1 get certU get certU ˜ S, P, r1 r2 ˜ S, r1 r2 CC1 := cc(r1 r2 ) CC2 := cc(r1 r2 ) CC1 CC1 ˜ CC1 S, CC2 ˜ Compare CC1 and CC2 . Check S. sigskU (r1 r2 ) PIN sigskU (r1 r2 ) OK MoMo, 07.09.2009 – 4 / 14
  • 7. The identification protocol U C S D O P U S skS skD skU protected using KP get certS VPN ˜ TLS HS U, P know certD TLS HS ˜ S, U, P, r1 get certU get certU ˜ S, P, r1 r2 ˜ S, r1 r2 CC1 := cc(r1 r2 ) CC2 := cc(r1 r2 ) CC1 CC1 ˜ CC1 S, CC2 ˜ Compare CC1 and CC2 . Check S. sigskU (r1 r2 ) PIN sigskU (r1 r2 ) OK MoMo, 07.09.2009 – 4 / 14
  • 8. The identification protocol U C S D O P U S skS skD skU protected using KP get certS VPN ˜ TLS HS U, P know certD TLS HS ˜ S, U, P, r1 get certU get certU ˜ S, P, r1 r2 ˜ S, r1 r2 CC1 := cc(r1 r2 ) CC2 := cc(r1 r2 ) CC1 CC1 ˜ CC1 S, CC2 ˜ Compare CC1 and CC2 . Check S. sigskU (r1 r2 ) PIN sigskU (r1 r2 ) OK MoMo, 07.09.2009 – 4 / 14
  • 9. The identification protocol U C S D O P U S skS skD skU protected using KP get certS VPN ˜ TLS HS U, P know certD TLS HS DigiDocService ˜ S, U, P, r1 get certU get certU ˜ S, P, r1 r2 ˜ S, r1 r2 CC1 := cc(r1 r2 ) CC2 := cc(r1 r2 ) CC1 CC1 ˜ CC1 S, CC2 ˜ Compare CC1 and CC2 . Check S. sigskU (r1 r2 ) PIN sigskU (r1 r2 ) OK MoMo, 07.09.2009 – 4 / 14
  • 10. The identification protocol U C S D O P U S skS skD skU protected using KP get certS VPN ˜ TLS HS U, P know certD TLS HS ˜ S = (S, m) ˜ S, U, P, r1 m — a message to be shown get certU get certU on user’s phone screen ˜ S, P, r1 r2 ˜ S, r1 r2 CC1 := 1 —1 a 2 ) r cc(r r random number (10 bytes) CC2 := cc(r1 r2 ) CC1 CC1 ˜ CC1 S, CC2 ˜ Compare CC1 and CC2 . Check S. sigskU (r1 r2 ) PIN sigskU (r1 r2 ) OK MoMo, 07.09.2009 – 4 / 14
  • 11. The identification protocol U C S D O P U S skS skD skU protected using KP get certS VPN ˜ TLS HS U, P know certD TLS HS mobile operator ˜ S, U, P, r1 get certU get certU ˜ S, P, r1 r2 ˜ S, r1 r2 CC1 := cc(r1 r2 ) CC2 := cc(r1 r2 ) CC1 CC1 ˜ CC1 S, CC2 r2 —Compare CC and CC . Check S. a short random number ˜ 1 2 sigskU (r1 r2 ) PIN sigskU (r1 r2 ) OK MoMo, 07.09.2009 – 4 / 14
  • 12. The identification protocol U C S D O P U S skS skD skU protected using KP get certS VPN ˜ TLS HS U, P know certD TLS HS ˜ S, U, P, r1 get certU get certU ˜ S, P, r1 r2 ˜ S, r1 r2 CC1 := cc(r1 r2 ) CC2 := cc(r1 r2 ) CC1 CC1 ˜ CC1 S, CC2 ˜ Compare CC1 and CC2 . Check S. sigskU (r1 r2 ) PIN sigskU (r1 r2 ) OK MoMo, 07.09.2009 – 4 / 14
  • 13. The identification protocol U C S D O P U S skS skD skU protected using KP get certS VPN ˜ TLS HS U, P know certD TLS HS ˜ S, U, P, r1 get certU get certU ˜ S, P, r1 r2 ˜ S, r1 r2 CC1 := cc(r1 r2 ) CC2 := cc(r1 r2 ) CC1 CC1 ˜ CC1 S, CC2 ˜ Compare CC1 and CC2 . Check S. SIM-card computes sigskU (r1 r2 ) PIN sigskU (r1 r2 ) OK MoMo, 07.09.2009 – 4 / 14
  • 14. The identification protocol U C S D O P U S skS skD skU protected using KP get certS VPN ˜ TLS HS U, P know certD TLS HS ˜ S, U, P, r1 get certU get certU ˜ S, P, r1 r2 ˜ S, r1 r2 CC1 := cc(r1 r2 ) CC2 := cc(r1 r2 ) CC1 CC1 ˜ CC1 S, CC2 ˜ Compare CC1 and CC2 . Check S. DigiDocService computes sig (r r ) PIN skU 1 2 sigskU (r1 r2 ) OK MoMo, 07.09.2009 – 4 / 14
  • 15. The identification protocol U C S D O P U S skS skD skU protected using KP get certS VPN ˜ TLS HS U, P know certD TLS HS ˜ S, U, P, r1 get certU get certU ˜ S, P, r1 r2 ˜ S, r1 r2 CC1 := cc(r1 r2 ) CC2 := cc(r1 r2 ) CC1 CC1 ˜ CC1 S, CC2 ˜ Compare CC1 and CC2 . Check S. sigskU (r1 r2 ) PIN sigskU (r1 r2 ) OK MoMo, 07.09.2009 – 4 / 14
  • 16. The identification protocol U C S D O P U S skS skD skU protected using KP get certS VPN ˜ TLS HS U, P know certD TLS HS ˜ S, U, P, r1 get certU get certU ˜ S, P, r1 r2 ˜ S, r1 r2 CC1 := cc(r1 r2 ) CC2 := cc(r1 r2 ) CC1 CC1 ˜ CC1 S, CC2 ˜ Compare CC1 and CC2 . Check S. sigskU (r1 r2 ) PIN sigskU (r1 r2 ) OK MoMo, 07.09.2009 – 4 / 14
  • 17. The identification protocol U C S D O P U S skS skD skU protected using KP get certS VPN ˜ TLS HS U, P know certD TLS HS ˜ S, U, P, r1 get certU get certU ˜ S, P, r1 r2 ˜ S, r1 r2 CC1 := cc(r1 r2 ) CC2 := cc(r1 r2 ) CC1 CC1 ˜ CC1 S, CC2 ˜ Compare CC1 and CC2 . Check S. sigskU (r1 r2 ) PIN sigskU (r1 r2 ) OK MoMo, 07.09.2009 – 4 / 14
  • 18. The identification protocol U C S D O P U S skS skD skU protected using KP get certS VPN ˜ TLS HS U, P know certD TLS HS ˜ S, U, P, r1 get certU get certU ˜ S, P, r1 r2 ˜ S, r1 r2 CC1 := cc(r1 r2 ) CC2 := cc(r1 r2 ) CC1 CC1 ˜ CC1 S, CC2 ˜ Compare CC1 and CC2 . Check S. sigskU (r1 r2 ) PIN sigskU (r1 r2 ) OK MoMo, 07.09.2009 – 4 / 14
  • 19. The identification protocol U C S D O P U S skS skD skU protected using KP get certS VPN ˜ TLS HS U, P know certD TLS HS ˜ S, U, P, r1 get certU get certU ˜ S, P, r1 r2 ˜ S, r1 r2 CC1 := cc(r1 r2 ) CC2 := cc(r1 r2 ) CC1 CC1 ˜ CC1 S, CC2 ˜ Compare CC1 and CC2 . Check S. sigskU (r1 r2 ) PIN sigskU (r1 r2 ) OK MoMo, 07.09.2009 – 4 / 14
  • 20. “Base” security model s There are several users and servers, some under adversarial control. s DigiDocService and mobile operator are honest. x No confusion between different mobile operators. s Client apps. and phones have no malware. x The channels between the user and client app. / phone are secure. s The adversary controls the insecure channels. It can read and write them. s The adversary can take messages apart and construct new messages. It can generate new keys, random numbers, etc. s The adversary can start new sessions. s The adversary schedules all parties. MoMo, 07.09.2009 – 5 / 14
  • 21. Perfect cryptography assumption s Messages have structure x It is their syntax tree. s A message can be analysed only according to its structure: x From (m1 , m2 ) find m1 and m2 . x From enck (m) and k find m. x etc. s To construct a message, we need all of its parts: x Need sk and m to construct sigsk (m). x etc. s Different structure ⇒ different message. x does not apply to control codes. s This is a constraint on the adversary! MoMo, 07.09.2009 – 6 / 14
  • 22. Security properties we care about s If U and S are honest then the TLS key they agreed on will not become known to the adversary. s If S thinks it talks to U using key K and U is honest then U thinks it talks to S using key K. We are protecting an honest server s Integrity for U follows from the properties of TLS handshake. MoMo, 07.09.2009 – 7 / 14
  • 23. Analysing the protocol s We use the perfect cryptography assumption. s The question “does protocol P” satisfy the security property S?” is undecidable in general. s Still, there are tools that take the description of a protocol and output whether it is secure. x Handle restricted classes of protocols. x Sometimes give wrong answer. s Only err at the side of caution. s We have used ProVerif, http://www.proverif.ens.fr s In the base security model the Mobile-ID identification protocol is secure against network attacks. MoMo, 07.09.2009 – 8 / 14
  • 24. Relaxing the security model s DigiDocService and Mobile Operator are just mediating parties. s The security of the protocol should not depend on their honesty. MoMo, 07.09.2009 – 9 / 14
  • 25. A possible scenario U S MoMo, 07.09.2009 – 10 / 14
  • 26. A possible scenario U U S′ S MoMo, 07.09.2009 – 10 / 14
  • 27. A possible scenario U U S′ S U, S ′ , m′ , r1 ′ DDS MoMo, 07.09.2009 – 10 / 14
  • 28. A possible scenario U U S′ S U, S ′ , m′ , r1 ′ U DDS MoMo, 07.09.2009 – 10 / 14
  • 29. A possible scenario U U S′ S U, S ′ , m′ , r1 ′ U U, S, m, r1 DDS MoMo, 07.09.2009 – 10 / 14
  • 30. A possible scenario U U Generate r2 , r2 , such that ′ S′ S cc(r1 r2 ) = c = cc(r1 r2 ) ′ ′ U, S ′ , m′ , r1 ′ U U, S, m, r1 DDS MoMo, 07.09.2009 – 10 / 14
  • 31. A possible scenario U U S ′ , m ′ , r1 r 2 S′ S U, S ′ , m′ , r1 ′ U U, S, m, r1 DDS MO ′ ′ cc(r1 r2 ) = c = cc(r1 r2 ) MoMo, 07.09.2009 – 10 / 14
  • 32. A possible scenario U U S ′ , m ′ , r1 r 2 S′ S c U, S ′ , m′ , r1 ′ U c U, S, m, r1 DDS MO ′ ′ cc(r1 r2 ) = c = cc(r1 r2 ) MoMo, 07.09.2009 – 10 / 14
  • 33. A possible scenario U c U S ′ , m ′ , r1 r 2 S′ S c U, S ′ , m′ , r1 ′ U c U, S, m, r1 DDS MO ′ ′ cc(r1 r2 ) = c = cc(r1 r2 ) MoMo, 07.09.2009 – 10 / 14
  • 34. A possible scenario U c U S ′ , m ′ , r1 r 2 S′ S c U, S ′ , m′ , r1 ′ U c U, S, m, r1 sigskU (r1 r2 ) DDS MO ′ ′ cc(r1 r2 ) = c = cc(r1 r2 ) MoMo, 07.09.2009 – 10 / 14
  • 35. A possible scenario U c U S ′ , m ′ , r1 r 2 S′ S c sigskU (r1 r2 ) U, S ′ , m′ , r1 ′ U c U, S, m, r1 sigskU (r1 r2 ) DDS MO ′ ′ cc(r1 r2 ) = c = cc(r1 r2 ) MoMo, 07.09.2009 – 10 / 14
  • 36. A possible scenario Attack works even if the U server computes the c control code c U S ′ , m ′ , r1 r 2 S′ S c sigskU (r1 r2 ) U, S ′ , m′ , r1 ′ U c U, S, m, r1 sigskU (r1 r2 ) DDS MO ′ ′ cc(r1 r2 ) = c = cc(r1 r2 ) MoMo, 07.09.2009 – 10 / 14
  • 37. Malware in user’s computer s Full control over the client app. means knowing the TLS keys. s Even a keylogger can cause a lot of harm if using the ID-card. s A similar level of control for the mobile-ID protocol might be the control over which control code is shown to the user. s If the display manipulator also has network access then the protocol can be broken. MoMo, 07.09.2009 – 11 / 14
  • 38. A possible scenario U S DDS MoMo, 07.09.2009 – 12 / 14
  • 39. A possible scenario U S DDS MoMo, 07.09.2009 – 12 / 14
  • 40. A possible scenario U S DDS MoMo, 07.09.2009 – 12 / 14
  • 41. A possible scenario U U S U DDS MoMo, 07.09.2009 – 12 / 14
  • 42. A possible scenario U U S U DDS MoMo, 07.09.2009 – 12 / 14
  • 43. A possible scenario U U S U, S, m, r1 ′ U U, S, m, r1 DDS MoMo, 07.09.2009 – 12 / 14
  • 44. A possible scenario U U S U, S, m, r1 c c′ ′ U U, S, m, r1 DDS ′ r 2 , r2 MoMo, 07.09.2009 – 12 / 14
  • 45. A possible scenario U ′ ′ S, m, r1 r2 S, m, r1 r2 U S MO U, S, m, r1 c c′ ′ U U, S, m, r1 DDS ′ r 2 , r2 MoMo, 07.09.2009 – 12 / 14
  • 46. A possible scenario U ′ ′ S, m, r1 r2 c S, m, r1 r2 U S MO U, S, m, r1 c′ c c′ ′ U U, S, m, r1 DDS ′ r 2 , r2 MoMo, 07.09.2009 – 12 / 14
  • 47. A possible scenario c′ U ′ ′ S, m, r1 r2 c S, m, r1 r2 U S MO U, S, m, r1 c′ c c′ ′ U U, S, m, r1 DDS ′ r 2 , r2 MoMo, 07.09.2009 – 12 / 14
  • 48. A possible scenario c′ U ′ ′ sigskU (r1 r2 ) ′ ′ S, m, r1 r2 c S, m, r1 r2 U S MO U, S, m, r1 c′ c c′ ′ U U, S, m, r1 DDS ′ ′ sigskU (r1 r2 ) ′ r 2 , r2 MoMo, 07.09.2009 – 12 / 14
  • 49. Other issues s If the user is duped to connect to a rogue site, then a man-in-the-middle attack is possible. x The attack gives the adversary access to the real site in the name of the user. x This attack is also present when authenticating with passwords (code cards, code calculators, one-time passwords, etc.) x This attack is not present when using the ID-card. s The SIM-card software shows embedded newlines in m as line breaks. x The server can construct a message m that obscures the actual control code. x Not exploitable if the DigiDocService is honest; but must be considered otherwise. MoMo, 07.09.2009 – 13 / 14
  • 50. Suggested changes s Instead of signing the challenge r, sign (r, S). s Whole challenge r should be chosen and the control code CC1 computed by S. x S must avoid control code collsions in parallel sessions with the same U . s Change the way m and CC2 are shown on the phone screen and/or educate users such that CC2 will not be obscured. Still no protection against trojans in phone or computer. MoMo, 07.09.2009 – 14 / 14