SlideShare a Scribd company logo
1 of 40
Download to read offline
The Challenges of Web Security

         James H. Davenport

              University of Bath


          12 November 2012




    James H. Davenport   The Challenges of Web Security
Agenda



    1   How secure is the communication: can a third party eavesdrop
        on what is being shared?
    2   Is the “end” really who my device thinks it is, or am I the
        victim of a “man-in-the-middle” attack?
    3   Is the “end” my device is talking to the entity I intend my
        device to be talking to?
  The first two are essentially technical problems, but the third is
  definitely socio-technical.




                       James H. Davenport   The Challenges of Web Security
Internet and Security




  We don’t normally shout our PIN numbers out in crowded
  supermarkets, so why should we broadcast them on wireless
  networks?
  It’s not only James Bond who wants cryptography?




                    James H. Davenport   The Challenges of Web Security
Numbers rather than Padlocks (I)

Idea due to Diffie & Hellman (1976) [3]
A wishes to send x to B.
A and B each think of a random number, say a and b.
            A’s action          Message              B’s action
       multiply x by a
                                     xa

                                                     multiply message by b
                               xba = xab

  divide message by a
                                     xb

                                                     divide message by b

In practice, to avoid guessing, and numerical errors, x, a and b are
whole numbers modulo some large prime p.
                    James H. Davenport    The Challenges of Web Security
Numbers rather than Padlocks (I) — Large prime?



    A single processor can perform a few thousand million
    operations per second
    So maybe ‘large’ should mean more than that
    We could image the ‘bad guys’ having a thousand processors
    and maybe waiting weeks
    So maybe ‘large’ should mean more than that
    In fact ‘large’ is recommended to be > 10150 , e.g.
100000000000000000000000000000000000000000000000000
 00000000000000000000000000000000000000000000000000
 00000000000000000000000000000000000000000000000067



                   James H. Davenport   The Challenges of Web Security
Numbers rather than Padlocks (I) — snag


           A’s action         Message              B’s action
      multiply x by a
                                   xa

                                                   multiply message by b
                             xba = xab

  divide message by a
                                   xb

                                                   divide message by b

Eavesdropper computes xa · xb = x.
                          xab
So replacing the padlocks by numbers has given the eavesdropper
the chance of doing arithmetic.

                  James H. Davenport    The Challenges of Web Security
Numbers rather than Padlocks (II)

Let’s be more subtle : upgrade from multiplication to powers.
               A’s action                Message                B’s action
      raise x to power a
                                            xa

                                                                raise message to power b
                                  (x b )a   =    (x a )b

take ath root of message
                                            xb

                                                                take bth root of message

Surely this frustrates the eavesdropper?


                    James H. Davenport      The Challenges of Web Security
But what about logarithms?


               A’s action                Message                B’s action
      raise x to power a
                                            xa

                                                                raise message to power b
                                  (x b )a   =    (x a )b

take ath root of message
                                            xb

                                                                take bth root of message

Eavesdropper computes
log(x a ) · log(x b ) a log(x) · b log(x)
                     =                    = log(x).
    log(x ab )             ab log(x)
Essentially the same trick as before, but with logarithms!
                    James H. Davenport      The Challenges of Web Security
Do logarithms exist?

Remember that we are working modulo a large prime p. For
simplicity, I will take p = 41, since it’s small enough, and logs base
7, so that log(7) = 1.

             1 2 3 4 5 6 7 8 9 10
             0                 1
            11 12 13 14 15 16 17 18 19 20

            21 22 23 24 25 26 27 28 29 30

            31 32 33 34 35 36 37 38 39 40


So log(49) = 2, but 49 = 1 · 41 + 8≡ 8 since we are working
modulo 41, and log(7 · 8) = 3, but 7 · 8 = 56 ≡ 15, so log(15) = 3.


                    James H. Davenport   The Challenges of Web Security
Do logarithms exist?

Remember that we are working modulo a large prime p. For
simplicity, I will take p = 41, since it’s small enough, and logs base
7, so that log(7) = 1.

             1 2 3 4 5 6 7 8 9 10
             0                 1 2
            11 12 13 14 15 16 17 18 19 20
                         3
            21 22 23 24 25 26 27 28 29 30

            31 32 33 34 35 36 37 38 39 40


And we can fill in: 8 · 8 = 64 ≡ 23, so log(23) = 4. Also
8 · 15 = 120 ≡ −3 = 38 so log(38) = 2 + 3 = 5 and log(9) = 10.


                    James H. Davenport   The Challenges of Web Security
Do logarithms exist?

Remember that we are working modulo a large prime p. For
simplicity, I will take p = 41, since it’s small enough, and logs base
7, so that log(7) = 1.

             1 2 3 4 5 6 7 8                                  9 10
             0                 1 2                           10
            11 12 13 14 15 16 17 18                          19 20
                         3
            21 22 23 24 25 26 27 28                          29 30
                   4
            31 32 33 34 35 36 37 38                          39 40
                                  5

152 ≡ 20, so log(20) = 6. 202 = 400 ≡ 31, so log(31) = 12.


                    James H. Davenport   The Challenges of Web Security
Do logarithms exist?
Remember that we are working modulo a large prime p. For
simplicity, I will take p = 41, since it’s small enough, and logs base
7, so that log(7) = 1.
             1 2 3 4 5 6 7 8                                  9 10
             0                 1 2                           10
            11 12 13 14 15 16 17 18                          19 20
                         3                                       6
            21 22 23 24 25 26 27 28                          29 30
                   4
            31 32 33 34 35 36 37 38                          39 40
            12                    5
and we can keep going, but it’s a tedious process:
p operations for a table
                           √
methods taking roughly p operations are known, and faster
                             √
methods taking roughly e c log p log log p operations, or even
   √
   3         2
e c log p log log p operations, but it’s still tedious!
                    James H. Davenport   The Challenges of Web Security
Simplicity can be dangerous


    Not all p are equally difficult!
                                                                         p−1
    In particular, we would like p to be such that q =                    2    is also
    prime, so that q is a Sophie Germain prime



    Conjecturally, there are infinitely many of these
    Also,beware of shortcuts! In the 1980s, the Federal Reserve
    Bank needed such a system, and used GF (2127 ) rather than a
    prime near that.
                                            √
                                            3         2
    Coppersmith [1] broke this with a e 1.35 log p log log p attack,
    pragmatically 7 hours CPU on a 38.5MHz machine (one of
    the fastest in the world in 1982!).




                   James H. Davenport   The Challenges of Web Security
But it takes three messages

sequentially. Can we do better? Let x be a public number.
Again, A and B choose random numbers a and b.
                A’s action         Message           B’s action
       raise x to power a                            raise x to power b
                                    xa      xb


raise message to power a                             raise message to power b
                   (x b )a                           (x a )b

Now they are both in possession of (x a )b = (x b )a , which can be
used as the key for any standard cipher.
Two messages, and in parallel!
This is one reason why secure websites display a padlock: to
assure you that they have gone through this process between your
browser and the web site: so the communication is secure.
                    James H. Davenport   The Challenges of Web Security
The man in the middle (also known as Janus)

  Again, A and B choose random numbers a and b.
  But J chooses a and b .
             Diffie–Hellman 1                              Diffie–Hellman 2
   A does       Message        J does     J does                Message         B does
  make x a                     make x b make x a                                make x b
                xa    xb                                         xa        xb


    (x b )a              (x a )b               (x b )a               (x a )b
    Secure communication A ↔ J                 Secure communication J ↔ B
                Insecure communication between A and B
                J can read everything



                     James H. Davenport   The Challenges of Web Security
The man in the middle (also known as Janus)

  Again, A and B choose random numbers a and b.
  But J chooses a and b .
             Diffie–Hellman 1                              Diffie–Hellman 2
   A does       Message        J does     J does                Message         B does
  make x a                     make x b make x a                                make x b
                xa    xb                                         xa        xb


    (x b )a              (x a )b               (x b )a               (x a )b
    Secure communication A ↔ J                 Secure communication J ↔ B
                Insecure communication between A and B
                J can read everything



                     James H. Davenport   The Challenges of Web Security
Public Secrets! (I)

Original idea due to Rivest, Shamir & Adleman (1977) [6]
The analogy is with a signature: anyone who knows my signature
can check that it’s mine, but in principle only I can produce it
Theorem (Fermat’s Little Theorem (special case))
Let N = pq where p, q are different primes, then

                    mN−p−q+1 ≡ 1 (mod N)

(provided m is not divisible by p or q)

Corollary (RSA)
If de ≡ 1 (mod N − p − q + 1), (me )d ≡ m (mod N)

We think of e as the encryption exponent, and d as the
decryption exponent

                    James H. Davenport   The Challenges of Web Security
Public Secrets! (II)




Therefore, if I
     publish (my) N and d, but keep e (and p, q) secret
     Send you c := me (mod N).
     You can compute c d = (me )d ≡ m (mod N)
     and be sure that only I could have constructed c
Of course m must be self-identifying




                   James H. Davenport   The Challenges of Web Security
Breaking Public Secrets!


    Clearly if I can factor N, compute p and q, then I can
    compute e
    Factoring is hard! Best known algorithms again take
       √
       3         2
    e c log N log log N , with c ≈ 7.1.
    The current world record is a 768-bit number [4], using 2000
    CPU-years (and 2 elapsed years)
    A 1024-bit number would be 1011 times as difficult



    If I know d, e, then I can factor N [2]
    Nothing precludes there being a way of computing c some
    other way




                   James H. Davenport   The Challenges of Web Security
The Real Problem is Publishing



Original idea was literally that: XX Bank would publish the
number in the paper
    Certificates are quite long 2 × 1024 bits = 512 hexadecimal
    digits (compared with 8 or 16 for a wireless key)
    My bank, and my supermarket, and my railway company, and
    Amazon, and . . .
    How do I guarantee genuineness?
Hence what we need is a Public Key Infrastructure (PKI)




                   James H. Davenport   The Challenges of Web Security
today’s Web Public Key Infrastructure




Your browser has certain “Certificate Authorities” built into it
And these are used to sign the certificates of sites
Quite possibly through several layers
If this doesn’t check out, you get a warning




               James H. Davenport   The Challenges of Web Security
today’s Web Public Key Infrastructure (Chrome)




          James H. Davenport   The Challenges of Web Security
today’s Web Public Key Infrastructure




Your browser has certain “Certificate Authorities” built into it
And these are used to sign the certificates of sites
Quite possibly through several layers
If this doesn’t check out, you get a warning




               James H. Davenport   The Challenges of Web Security
today’s Web Public Key Infrastructure (Firefox)




          James H. Davenport   The Challenges of Web Security
today’s Web Public Key Infrastructure




Your browser has certain “Certificate Authorities” built into it
And these are used to sign the certificates of sites
Quite possibly through several layers
If this doesn’t check out, you get a warning




               James H. Davenport   The Challenges of Web Security
today’s Web Public Key Infrastructure (Firefox)




          James H. Davenport   The Challenges of Web Security
today’s Web Public Key Infrastructure




Your browser has certain “Certificate Authorities” built into it
And these are used to sign the certificates of sites
Quite possibly through several layers
If this doesn’t check out, you get a warning




               James H. Davenport   The Challenges of Web Security
today’s Web Public Key Infrastructure (Chrome)




          James H. Davenport   The Challenges of Web Security
today’s Web Public Key Infrastructure (Firefox 1)




           James H. Davenport   The Challenges of Web Security
today’s Web Public Key Infrastructure (Firefox 2)




           James H. Davenport   The Challenges of Web Security
This System has its Flaws



    There’s no mechanism for revoking a certificate:
    we just have to wait for it to expire
    (and certainly not of a root certificate, where the expiry
    periods are long)



    My biggest worry is about some of the intermediate authorities
    There are various technical chinks in the armour
    Especially for cloud-based servers [5]
Nevertheless it seems to work pretty well from a technical point of
view




                   James H. Davenport   The Challenges of Web Security
Human Beings have their Flaws



     Getting a certificate is pretty easy
     Basically, all you need is to be postmaster@mydomain.co.uk
     to get the certificate e-mailed to you
     And getting the domain is easy
     5 minutes and £5.39 to get JamesDavenport.me.uk
     And probably www.british-airway.co.uk
     Or many other forms of “typo-squatting” (such as expiry-date
     squatting)1
     If this doesn’t check out, you get a warning




1
    Pointed out by the audience
                      James H. Davenport   The Challenges of Web Security
The Human Side of Security (Thawte)




     James H. Davenport   The Challenges of Web Security
The Human Side of Security (Thawte)




     James H. Davenport   The Challenges of Web Security
Human Beings have their Flaws



     Getting a certificate is pretty easy
     Basically, all you need is to be postmaster@mydomain.co.uk
     to get the certificate e-mailed to you
     And getting the domain is easy
     5 minutes and £5.39 to get JamesDavenport.me.uk
     And probably www.british-airway.co.uk
     Or many other forms of “typo-squatting” (such as expiry-date
     squatting)2




2
    Pointed out by the audience
                      James H. Davenport   The Challenges of Web Security
Solutions?


     Whoever thinks his problem can be solved using
     cryptography, doesnt understand his problem and doesnt
     understand cryptography.
     Attributed by Roger Needham and Butler Lampson to
     each other
Basically, two families of solutions



     Certificate-based solutions, such as “Extended Verification”
     How much “extended validation” can the CA purchase for the
     price difference: $450?
     Name-based solutions, such as Nominet’s .uk proposal




                    James H. Davenport   The Challenges of Web Security
Extended validation (Thawte)




 James H. Davenport   The Challenges of Web Security
Solutions?


     Whoever thinks his problem can be solved using
     cryptography, doesnt understand his problem and doesnt
     understand cryptography.
                   Attributed by Roger Needham and
     Butler Lampson to each other
Basically, two families of solutions



     Certificate-based solutions, such as “Extended Verification”
     How much “extended validation” can the CA purchase for the
     price difference: $450?
     Name-based solutions, such as Nominet’s .uk proposal




                    James H. Davenport   The Challenges of Web Security
Nominet’s .uk proposal
http://www.nominet.org.uk/sites/default/files/
Nominet_FINAL_electronic_form3_0.pdf
   To further support the economic growth of the UK
   internet, we are holding a three month consultation
   about the potential introduction of a new service known
   as direct.uk, which would be specifically designed for
   businesses that are or want to get online, with a new
   shorter domain name of internet.uk rather than
   internet.co.uk.
   Proposed key features include; verification to check a
   registrant has a UK address, daily monitoring for
   malicious software and viruses, and a digital signature
   which minimises the risks of a domain name being
   hijacked. These measures would be supported by a
   trustmark to give consumers a clear sign that it was a
   verified domain name.
                  James H. Davenport   The Challenges of Web Security
References
     D. Coppersmith.
     Fast Evaluation of Logarithms in Fields of Characteristic Two.
     IEEE Trans. Information Theory, IT-30:587–594, 1984.
     J.-S. Coron and A. May.
     Deterministic Polynomial-Time Equivalence of Computing the RSA
     Secret Key and Factoring.
     J. Cryptology, 20:39–50, 2007.
     W. Diffie and M.E. Hellman.
     New Directions in Cryptography.
     IEEE Trans. Inform. Theory, IT-22:644–654, 1976.
     T. Kleinjung, K. Aoki, J. Franke, A.K. Lenstra, E Thom´, J.W. Bos, P. Gaudry, A. Kruppa, P.L.
                                                           e
     Montgomery, D.A. Osvik, H. te Riele, A. Timofeev, and P. Zimmermann.
     Factorization of a 768-bit RSA modulus.
     In T. Rabin, editor, Proceedings CRYPTO 2010, pages 333–350.
     T. Ristenpart and S. Yilek.
     When Good Randomness Goes Bad: Virtual Machine Reset
     Vulnerabilities and Hedging Deployed Cryptography.
     In Proceedings ISOC NDSS 2010, 2010.
     R.L. Rivest, A. Shamir, and L. Adleman.
     U.S. Patent 4405829 — Cryptographic Communications System and Method.
                              James H. Davenport        The Challenges of Web Security

More Related Content

What's hot

DRAW: Deep Recurrent Attentive Writer
DRAW: Deep Recurrent Attentive WriterDRAW: Deep Recurrent Attentive Writer
DRAW: Deep Recurrent Attentive WriterMark Chang
 
Deep Learning in Your Browser
Deep Learning in Your BrowserDeep Learning in Your Browser
Deep Learning in Your BrowserOswald Campesato
 
Deep Generative Models I (DLAI D9L2 2017 UPC Deep Learning for Artificial Int...
Deep Generative Models I (DLAI D9L2 2017 UPC Deep Learning for Artificial Int...Deep Generative Models I (DLAI D9L2 2017 UPC Deep Learning for Artificial Int...
Deep Generative Models I (DLAI D9L2 2017 UPC Deep Learning for Artificial Int...Universitat Politècnica de Catalunya
 
Applied Deep Learning 11/03 Convolutional Neural Networks
Applied Deep Learning 11/03 Convolutional Neural NetworksApplied Deep Learning 11/03 Convolutional Neural Networks
Applied Deep Learning 11/03 Convolutional Neural NetworksMark Chang
 
The technology behind_the_elemental_demo_16x9-1248544805
The technology behind_the_elemental_demo_16x9-1248544805The technology behind_the_elemental_demo_16x9-1248544805
The technology behind_the_elemental_demo_16x9-1248544805mistercteam
 

What's hot (7)

Digital signal processing part2
Digital signal processing part2Digital signal processing part2
Digital signal processing part2
 
DRAW: Deep Recurrent Attentive Writer
DRAW: Deep Recurrent Attentive WriterDRAW: Deep Recurrent Attentive Writer
DRAW: Deep Recurrent Attentive Writer
 
Deep Learning in Your Browser
Deep Learning in Your BrowserDeep Learning in Your Browser
Deep Learning in Your Browser
 
Deep Generative Models I (DLAI D9L2 2017 UPC Deep Learning for Artificial Int...
Deep Generative Models I (DLAI D9L2 2017 UPC Deep Learning for Artificial Int...Deep Generative Models I (DLAI D9L2 2017 UPC Deep Learning for Artificial Int...
Deep Generative Models I (DLAI D9L2 2017 UPC Deep Learning for Artificial Int...
 
Digital signal processor part 3
Digital signal processor part 3Digital signal processor part 3
Digital signal processor part 3
 
Applied Deep Learning 11/03 Convolutional Neural Networks
Applied Deep Learning 11/03 Convolutional Neural NetworksApplied Deep Learning 11/03 Convolutional Neural Networks
Applied Deep Learning 11/03 Convolutional Neural Networks
 
The technology behind_the_elemental_demo_16x9-1248544805
The technology behind_the_elemental_demo_16x9-1248544805The technology behind_the_elemental_demo_16x9-1248544805
The technology behind_the_elemental_demo_16x9-1248544805
 

Viewers also liked

Innovachron Offering
Innovachron OfferingInnovachron Offering
Innovachron Offeringremicote
 
Преподавание информационных технологий в ВУЗе: как вырастить специалиста-прак...
Преподавание информационных технологий в ВУЗе: как вырастить специалиста-прак...Преподавание информационных технологий в ВУЗе: как вырастить специалиста-прак...
Преподавание информационных технологий в ВУЗе: как вырастить специалиста-прак...Grigoriy Pechenkin
 
Is It True That (Presentation Intercultural Management Course 2011) Version 1...
Is It True That (Presentation Intercultural Management Course 2011) Version 1...Is It True That (Presentation Intercultural Management Course 2011) Version 1...
Is It True That (Presentation Intercultural Management Course 2011) Version 1...Pozzolini
 
Svíþjóð
SvíþjóðSvíþjóð
Svíþjóðjanusg
 
01. Negotiating Presentation For The Seminar Generic 2009 September Beta Rele...
01. Negotiating Presentation For The Seminar Generic 2009 September Beta Rele...01. Negotiating Presentation For The Seminar Generic 2009 September Beta Rele...
01. Negotiating Presentation For The Seminar Generic 2009 September Beta Rele...Pozzolini
 
Mainul Husain Presentation
Mainul Husain PresentationMainul Husain Presentation
Mainul Husain Presentationguest6a8907
 
How to succeeed as Club Seargeant-at-Arms
How to succeeed as Club Seargeant-at-Arms How to succeeed as Club Seargeant-at-Arms
How to succeeed as Club Seargeant-at-Arms Frances Kazan
 
From Notebook To Facebook 22082009 1.06
From Notebook To Facebook 22082009 1.06From Notebook To Facebook 22082009 1.06
From Notebook To Facebook 22082009 1.06Pozzolini
 
Starten met Infobright
Starten met InfobrightStarten met Infobright
Starten met InfobrightDaan Blinde
 
Responsible Tourism by Nicolás and Marcos
Responsible Tourism by Nicolás and MarcosResponsible Tourism by Nicolás and Marcos
Responsible Tourism by Nicolás and Marcosvivislide
 
Stephen Covey 9010
Stephen Covey   9010Stephen Covey   9010
Stephen Covey 9010vladgliga
 
1.0 Lesson One The I Needs The You Beta One 1.06 01012010
1.0 Lesson One The I Needs The You Beta One 1.06 010120101.0 Lesson One The I Needs The You Beta One 1.06 01012010
1.0 Lesson One The I Needs The You Beta One 1.06 01012010Pozzolini
 

Viewers also liked (20)

Innovachron Offering
Innovachron OfferingInnovachron Offering
Innovachron Offering
 
Преподавание информационных технологий в ВУЗе: как вырастить специалиста-прак...
Преподавание информационных технологий в ВУЗе: как вырастить специалиста-прак...Преподавание информационных технологий в ВУЗе: как вырастить специалиста-прак...
Преподавание информационных технологий в ВУЗе: как вырастить специалиста-прак...
 
Oliver Hamilton
Oliver HamiltonOliver Hamilton
Oliver Hamilton
 
Caims 2009
Caims 2009Caims 2009
Caims 2009
 
Safin
SafinSafin
Safin
 
Is It True That (Presentation Intercultural Management Course 2011) Version 1...
Is It True That (Presentation Intercultural Management Course 2011) Version 1...Is It True That (Presentation Intercultural Management Course 2011) Version 1...
Is It True That (Presentation Intercultural Management Course 2011) Version 1...
 
Svíþjóð
SvíþjóðSvíþjóð
Svíþjóð
 
Tribute
TributeTribute
Tribute
 
Goldenthings
GoldenthingsGoldenthings
Goldenthings
 
01. Negotiating Presentation For The Seminar Generic 2009 September Beta Rele...
01. Negotiating Presentation For The Seminar Generic 2009 September Beta Rele...01. Negotiating Presentation For The Seminar Generic 2009 September Beta Rele...
01. Negotiating Presentation For The Seminar Generic 2009 September Beta Rele...
 
Mainul Husain Presentation
Mainul Husain PresentationMainul Husain Presentation
Mainul Husain Presentation
 
Shemis
ShemisShemis
Shemis
 
How to succeeed as Club Seargeant-at-Arms
How to succeeed as Club Seargeant-at-Arms How to succeeed as Club Seargeant-at-Arms
How to succeeed as Club Seargeant-at-Arms
 
From Notebook To Facebook 22082009 1.06
From Notebook To Facebook 22082009 1.06From Notebook To Facebook 22082009 1.06
From Notebook To Facebook 22082009 1.06
 
Starten met Infobright
Starten met InfobrightStarten met Infobright
Starten met Infobright
 
Responsible Tourism by Nicolás and Marcos
Responsible Tourism by Nicolás and MarcosResponsible Tourism by Nicolás and Marcos
Responsible Tourism by Nicolás and Marcos
 
Md2010 jl-wp7-sl-dev
Md2010 jl-wp7-sl-devMd2010 jl-wp7-sl-dev
Md2010 jl-wp7-sl-dev
 
Stephen Covey 9010
Stephen Covey   9010Stephen Covey   9010
Stephen Covey 9010
 
1.0 Lesson One The I Needs The You Beta One 1.06 01012010
1.0 Lesson One The I Needs The You Beta One 1.06 010120101.0 Lesson One The I Needs The You Beta One 1.06 01012010
1.0 Lesson One The I Needs The You Beta One 1.06 01012010
 
Base New Berlin
Base New BerlinBase New Berlin
Base New Berlin
 

Similar to Science Cafe 2012

Online learning, Vowpal Wabbit and Hadoop
Online learning, Vowpal Wabbit and HadoopOnline learning, Vowpal Wabbit and Hadoop
Online learning, Vowpal Wabbit and HadoopHéloïse Nonne
 
Productive Use of the Apache Spark Prompt with Sam Penrose
Productive Use of the Apache Spark Prompt with Sam PenroseProductive Use of the Apache Spark Prompt with Sam Penrose
Productive Use of the Apache Spark Prompt with Sam PenroseDatabricks
 
SMARTen Up! Part 1 of 3 v2
SMARTen Up! Part 1 of 3 v2SMARTen Up! Part 1 of 3 v2
SMARTen Up! Part 1 of 3 v2Darren Kuropatwa
 
Talk icml
Talk icmlTalk icml
Talk icmlBo Li
 
ICSE2013
ICSE2013ICSE2013
ICSE2013swy351
 
DieHard: Probabilistic Memory Safety for Unsafe Languages
DieHard: Probabilistic Memory Safety for Unsafe LanguagesDieHard: Probabilistic Memory Safety for Unsafe Languages
DieHard: Probabilistic Memory Safety for Unsafe LanguagesEmery Berger
 
Distributed Coordinate Descent for Logistic Regression with Regularization
Distributed Coordinate Descent for Logistic Regression with RegularizationDistributed Coordinate Descent for Logistic Regression with Regularization
Distributed Coordinate Descent for Logistic Regression with RegularizationИлья Трофимов
 
dynamic programming Rod cutting class
dynamic programming Rod cutting classdynamic programming Rod cutting class
dynamic programming Rod cutting classgiridaroori
 
Neural networks with python
Neural networks with pythonNeural networks with python
Neural networks with pythonSimone Piunno
 
Class 29: Inheritance
Class 29: InheritanceClass 29: Inheritance
Class 29: InheritanceDavid Evans
 
Intro to threp
Intro to threpIntro to threp
Intro to threpHong Wu
 
Neural networks - BigSkyDevCon
Neural networks - BigSkyDevConNeural networks - BigSkyDevCon
Neural networks - BigSkyDevConryanstout
 
Introduction to Applied Machine Learning
Introduction to Applied Machine LearningIntroduction to Applied Machine Learning
Introduction to Applied Machine LearningSheilaJimenezMorejon
 

Similar to Science Cafe 2012 (20)

Online learning, Vowpal Wabbit and Hadoop
Online learning, Vowpal Wabbit and HadoopOnline learning, Vowpal Wabbit and Hadoop
Online learning, Vowpal Wabbit and Hadoop
 
Productive Use of the Apache Spark Prompt with Sam Penrose
Productive Use of the Apache Spark Prompt with Sam PenroseProductive Use of the Apache Spark Prompt with Sam Penrose
Productive Use of the Apache Spark Prompt with Sam Penrose
 
SMARTen Up! Part 1 of 3 v2
SMARTen Up! Part 1 of 3 v2SMARTen Up! Part 1 of 3 v2
SMARTen Up! Part 1 of 3 v2
 
Talk icml
Talk icmlTalk icml
Talk icml
 
ICSE2013
ICSE2013ICSE2013
ICSE2013
 
DieHard: Probabilistic Memory Safety for Unsafe Languages
DieHard: Probabilistic Memory Safety for Unsafe LanguagesDieHard: Probabilistic Memory Safety for Unsafe Languages
DieHard: Probabilistic Memory Safety for Unsafe Languages
 
Distributed Coordinate Descent for Logistic Regression with Regularization
Distributed Coordinate Descent for Logistic Regression with RegularizationDistributed Coordinate Descent for Logistic Regression with Regularization
Distributed Coordinate Descent for Logistic Regression with Regularization
 
SMARTen Up! Part 1 v3.1
SMARTen Up! Part 1 v3.1SMARTen Up! Part 1 v3.1
SMARTen Up! Part 1 v3.1
 
SMARTen Up! Part 1 v3.2
SMARTen Up! Part 1 v3.2SMARTen Up! Part 1 v3.2
SMARTen Up! Part 1 v3.2
 
MATALAB INTRO
MATALAB INTROMATALAB INTRO
MATALAB INTRO
 
SMARTen Up! Part 1 v3
SMARTen Up! Part 1 v3SMARTen Up! Part 1 v3
SMARTen Up! Part 1 v3
 
Algorithms Exam Help
Algorithms Exam HelpAlgorithms Exam Help
Algorithms Exam Help
 
Algorithm Assignment Help
Algorithm Assignment HelpAlgorithm Assignment Help
Algorithm Assignment Help
 
SMARTen Up! Part 1 Of 3
SMARTen Up! Part 1 Of 3SMARTen Up! Part 1 Of 3
SMARTen Up! Part 1 Of 3
 
dynamic programming Rod cutting class
dynamic programming Rod cutting classdynamic programming Rod cutting class
dynamic programming Rod cutting class
 
Neural networks with python
Neural networks with pythonNeural networks with python
Neural networks with python
 
Class 29: Inheritance
Class 29: InheritanceClass 29: Inheritance
Class 29: Inheritance
 
Intro to threp
Intro to threpIntro to threp
Intro to threp
 
Neural networks - BigSkyDevCon
Neural networks - BigSkyDevConNeural networks - BigSkyDevCon
Neural networks - BigSkyDevCon
 
Introduction to Applied Machine Learning
Introduction to Applied Machine LearningIntroduction to Applied Machine Learning
Introduction to Applied Machine Learning
 

Science Cafe 2012

  • 1. The Challenges of Web Security James H. Davenport University of Bath 12 November 2012 James H. Davenport The Challenges of Web Security
  • 2. Agenda 1 How secure is the communication: can a third party eavesdrop on what is being shared? 2 Is the “end” really who my device thinks it is, or am I the victim of a “man-in-the-middle” attack? 3 Is the “end” my device is talking to the entity I intend my device to be talking to? The first two are essentially technical problems, but the third is definitely socio-technical. James H. Davenport The Challenges of Web Security
  • 3. Internet and Security We don’t normally shout our PIN numbers out in crowded supermarkets, so why should we broadcast them on wireless networks? It’s not only James Bond who wants cryptography? James H. Davenport The Challenges of Web Security
  • 4. Numbers rather than Padlocks (I) Idea due to Diffie & Hellman (1976) [3] A wishes to send x to B. A and B each think of a random number, say a and b. A’s action Message B’s action multiply x by a xa multiply message by b xba = xab divide message by a xb divide message by b In practice, to avoid guessing, and numerical errors, x, a and b are whole numbers modulo some large prime p. James H. Davenport The Challenges of Web Security
  • 5. Numbers rather than Padlocks (I) — Large prime? A single processor can perform a few thousand million operations per second So maybe ‘large’ should mean more than that We could image the ‘bad guys’ having a thousand processors and maybe waiting weeks So maybe ‘large’ should mean more than that In fact ‘large’ is recommended to be > 10150 , e.g. 100000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000067 James H. Davenport The Challenges of Web Security
  • 6. Numbers rather than Padlocks (I) — snag A’s action Message B’s action multiply x by a xa multiply message by b xba = xab divide message by a xb divide message by b Eavesdropper computes xa · xb = x. xab So replacing the padlocks by numbers has given the eavesdropper the chance of doing arithmetic. James H. Davenport The Challenges of Web Security
  • 7. Numbers rather than Padlocks (II) Let’s be more subtle : upgrade from multiplication to powers. A’s action Message B’s action raise x to power a xa raise message to power b (x b )a = (x a )b take ath root of message xb take bth root of message Surely this frustrates the eavesdropper? James H. Davenport The Challenges of Web Security
  • 8. But what about logarithms? A’s action Message B’s action raise x to power a xa raise message to power b (x b )a = (x a )b take ath root of message xb take bth root of message Eavesdropper computes log(x a ) · log(x b ) a log(x) · b log(x) = = log(x). log(x ab ) ab log(x) Essentially the same trick as before, but with logarithms! James H. Davenport The Challenges of Web Security
  • 9. Do logarithms exist? Remember that we are working modulo a large prime p. For simplicity, I will take p = 41, since it’s small enough, and logs base 7, so that log(7) = 1. 1 2 3 4 5 6 7 8 9 10 0 1 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 So log(49) = 2, but 49 = 1 · 41 + 8≡ 8 since we are working modulo 41, and log(7 · 8) = 3, but 7 · 8 = 56 ≡ 15, so log(15) = 3. James H. Davenport The Challenges of Web Security
  • 10. Do logarithms exist? Remember that we are working modulo a large prime p. For simplicity, I will take p = 41, since it’s small enough, and logs base 7, so that log(7) = 1. 1 2 3 4 5 6 7 8 9 10 0 1 2 11 12 13 14 15 16 17 18 19 20 3 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 And we can fill in: 8 · 8 = 64 ≡ 23, so log(23) = 4. Also 8 · 15 = 120 ≡ −3 = 38 so log(38) = 2 + 3 = 5 and log(9) = 10. James H. Davenport The Challenges of Web Security
  • 11. Do logarithms exist? Remember that we are working modulo a large prime p. For simplicity, I will take p = 41, since it’s small enough, and logs base 7, so that log(7) = 1. 1 2 3 4 5 6 7 8 9 10 0 1 2 10 11 12 13 14 15 16 17 18 19 20 3 21 22 23 24 25 26 27 28 29 30 4 31 32 33 34 35 36 37 38 39 40 5 152 ≡ 20, so log(20) = 6. 202 = 400 ≡ 31, so log(31) = 12. James H. Davenport The Challenges of Web Security
  • 12. Do logarithms exist? Remember that we are working modulo a large prime p. For simplicity, I will take p = 41, since it’s small enough, and logs base 7, so that log(7) = 1. 1 2 3 4 5 6 7 8 9 10 0 1 2 10 11 12 13 14 15 16 17 18 19 20 3 6 21 22 23 24 25 26 27 28 29 30 4 31 32 33 34 35 36 37 38 39 40 12 5 and we can keep going, but it’s a tedious process: p operations for a table √ methods taking roughly p operations are known, and faster √ methods taking roughly e c log p log log p operations, or even √ 3 2 e c log p log log p operations, but it’s still tedious! James H. Davenport The Challenges of Web Security
  • 13. Simplicity can be dangerous Not all p are equally difficult! p−1 In particular, we would like p to be such that q = 2 is also prime, so that q is a Sophie Germain prime  Conjecturally, there are infinitely many of these Also,beware of shortcuts! In the 1980s, the Federal Reserve Bank needed such a system, and used GF (2127 ) rather than a prime near that. √ 3 2 Coppersmith [1] broke this with a e 1.35 log p log log p attack, pragmatically 7 hours CPU on a 38.5MHz machine (one of the fastest in the world in 1982!). James H. Davenport The Challenges of Web Security
  • 14. But it takes three messages sequentially. Can we do better? Let x be a public number. Again, A and B choose random numbers a and b. A’s action Message B’s action raise x to power a raise x to power b xa xb raise message to power a raise message to power b (x b )a (x a )b Now they are both in possession of (x a )b = (x b )a , which can be used as the key for any standard cipher. Two messages, and in parallel! This is one reason why secure websites display a padlock: to assure you that they have gone through this process between your browser and the web site: so the communication is secure. James H. Davenport The Challenges of Web Security
  • 15. The man in the middle (also known as Janus) Again, A and B choose random numbers a and b. But J chooses a and b . Diffie–Hellman 1 Diffie–Hellman 2 A does Message J does J does Message B does make x a make x b make x a make x b xa xb xa xb (x b )a (x a )b (x b )a (x a )b Secure communication A ↔ J Secure communication J ↔ B Insecure communication between A and B J can read everything James H. Davenport The Challenges of Web Security
  • 16. The man in the middle (also known as Janus) Again, A and B choose random numbers a and b. But J chooses a and b . Diffie–Hellman 1 Diffie–Hellman 2 A does Message J does J does Message B does make x a make x b make x a make x b xa xb xa xb (x b )a (x a )b (x b )a (x a )b Secure communication A ↔ J Secure communication J ↔ B Insecure communication between A and B J can read everything James H. Davenport The Challenges of Web Security
  • 17. Public Secrets! (I) Original idea due to Rivest, Shamir & Adleman (1977) [6] The analogy is with a signature: anyone who knows my signature can check that it’s mine, but in principle only I can produce it Theorem (Fermat’s Little Theorem (special case)) Let N = pq where p, q are different primes, then mN−p−q+1 ≡ 1 (mod N) (provided m is not divisible by p or q) Corollary (RSA) If de ≡ 1 (mod N − p − q + 1), (me )d ≡ m (mod N) We think of e as the encryption exponent, and d as the decryption exponent James H. Davenport The Challenges of Web Security
  • 18. Public Secrets! (II) Therefore, if I publish (my) N and d, but keep e (and p, q) secret Send you c := me (mod N). You can compute c d = (me )d ≡ m (mod N) and be sure that only I could have constructed c Of course m must be self-identifying James H. Davenport The Challenges of Web Security
  • 19. Breaking Public Secrets! Clearly if I can factor N, compute p and q, then I can compute e Factoring is hard! Best known algorithms again take √ 3 2 e c log N log log N , with c ≈ 7.1. The current world record is a 768-bit number [4], using 2000 CPU-years (and 2 elapsed years) A 1024-bit number would be 1011 times as difficult  If I know d, e, then I can factor N [2] Nothing precludes there being a way of computing c some other way James H. Davenport The Challenges of Web Security
  • 20. The Real Problem is Publishing Original idea was literally that: XX Bank would publish the number in the paper Certificates are quite long 2 × 1024 bits = 512 hexadecimal digits (compared with 8 or 16 for a wireless key) My bank, and my supermarket, and my railway company, and Amazon, and . . . How do I guarantee genuineness? Hence what we need is a Public Key Infrastructure (PKI) James H. Davenport The Challenges of Web Security
  • 21. today’s Web Public Key Infrastructure Your browser has certain “Certificate Authorities” built into it And these are used to sign the certificates of sites Quite possibly through several layers If this doesn’t check out, you get a warning James H. Davenport The Challenges of Web Security
  • 22. today’s Web Public Key Infrastructure (Chrome) James H. Davenport The Challenges of Web Security
  • 23. today’s Web Public Key Infrastructure Your browser has certain “Certificate Authorities” built into it And these are used to sign the certificates of sites Quite possibly through several layers If this doesn’t check out, you get a warning James H. Davenport The Challenges of Web Security
  • 24. today’s Web Public Key Infrastructure (Firefox) James H. Davenport The Challenges of Web Security
  • 25. today’s Web Public Key Infrastructure Your browser has certain “Certificate Authorities” built into it And these are used to sign the certificates of sites Quite possibly through several layers If this doesn’t check out, you get a warning James H. Davenport The Challenges of Web Security
  • 26. today’s Web Public Key Infrastructure (Firefox) James H. Davenport The Challenges of Web Security
  • 27. today’s Web Public Key Infrastructure Your browser has certain “Certificate Authorities” built into it And these are used to sign the certificates of sites Quite possibly through several layers If this doesn’t check out, you get a warning James H. Davenport The Challenges of Web Security
  • 28. today’s Web Public Key Infrastructure (Chrome) James H. Davenport The Challenges of Web Security
  • 29. today’s Web Public Key Infrastructure (Firefox 1) James H. Davenport The Challenges of Web Security
  • 30. today’s Web Public Key Infrastructure (Firefox 2) James H. Davenport The Challenges of Web Security
  • 31. This System has its Flaws There’s no mechanism for revoking a certificate: we just have to wait for it to expire (and certainly not of a root certificate, where the expiry periods are long)  My biggest worry is about some of the intermediate authorities There are various technical chinks in the armour Especially for cloud-based servers [5] Nevertheless it seems to work pretty well from a technical point of view James H. Davenport The Challenges of Web Security
  • 32. Human Beings have their Flaws Getting a certificate is pretty easy Basically, all you need is to be postmaster@mydomain.co.uk to get the certificate e-mailed to you And getting the domain is easy 5 minutes and £5.39 to get JamesDavenport.me.uk And probably www.british-airway.co.uk Or many other forms of “typo-squatting” (such as expiry-date squatting)1 If this doesn’t check out, you get a warning 1 Pointed out by the audience James H. Davenport The Challenges of Web Security
  • 33. The Human Side of Security (Thawte) James H. Davenport The Challenges of Web Security
  • 34. The Human Side of Security (Thawte) James H. Davenport The Challenges of Web Security
  • 35. Human Beings have their Flaws Getting a certificate is pretty easy Basically, all you need is to be postmaster@mydomain.co.uk to get the certificate e-mailed to you And getting the domain is easy 5 minutes and £5.39 to get JamesDavenport.me.uk And probably www.british-airway.co.uk Or many other forms of “typo-squatting” (such as expiry-date squatting)2 2 Pointed out by the audience James H. Davenport The Challenges of Web Security
  • 36. Solutions? Whoever thinks his problem can be solved using cryptography, doesnt understand his problem and doesnt understand cryptography. Attributed by Roger Needham and Butler Lampson to each other Basically, two families of solutions  Certificate-based solutions, such as “Extended Verification” How much “extended validation” can the CA purchase for the price difference: $450? Name-based solutions, such as Nominet’s .uk proposal James H. Davenport The Challenges of Web Security
  • 37. Extended validation (Thawte) James H. Davenport The Challenges of Web Security
  • 38. Solutions? Whoever thinks his problem can be solved using cryptography, doesnt understand his problem and doesnt understand cryptography. Attributed by Roger Needham and Butler Lampson to each other Basically, two families of solutions  Certificate-based solutions, such as “Extended Verification” How much “extended validation” can the CA purchase for the price difference: $450? Name-based solutions, such as Nominet’s .uk proposal James H. Davenport The Challenges of Web Security
  • 39. Nominet’s .uk proposal http://www.nominet.org.uk/sites/default/files/ Nominet_FINAL_electronic_form3_0.pdf To further support the economic growth of the UK internet, we are holding a three month consultation about the potential introduction of a new service known as direct.uk, which would be specifically designed for businesses that are or want to get online, with a new shorter domain name of internet.uk rather than internet.co.uk. Proposed key features include; verification to check a registrant has a UK address, daily monitoring for malicious software and viruses, and a digital signature which minimises the risks of a domain name being hijacked. These measures would be supported by a trustmark to give consumers a clear sign that it was a verified domain name. James H. Davenport The Challenges of Web Security
  • 40. References D. Coppersmith. Fast Evaluation of Logarithms in Fields of Characteristic Two. IEEE Trans. Information Theory, IT-30:587–594, 1984. J.-S. Coron and A. May. Deterministic Polynomial-Time Equivalence of Computing the RSA Secret Key and Factoring. J. Cryptology, 20:39–50, 2007. W. Diffie and M.E. Hellman. New Directions in Cryptography. IEEE Trans. Inform. Theory, IT-22:644–654, 1976. T. Kleinjung, K. Aoki, J. Franke, A.K. Lenstra, E Thom´, J.W. Bos, P. Gaudry, A. Kruppa, P.L. e Montgomery, D.A. Osvik, H. te Riele, A. Timofeev, and P. Zimmermann. Factorization of a 768-bit RSA modulus. In T. Rabin, editor, Proceedings CRYPTO 2010, pages 333–350. T. Ristenpart and S. Yilek. When Good Randomness Goes Bad: Virtual Machine Reset Vulnerabilities and Hedging Deployed Cryptography. In Proceedings ISOC NDSS 2010, 2010. R.L. Rivest, A. Shamir, and L. Adleman. U.S. Patent 4405829 — Cryptographic Communications System and Method. James H. Davenport The Challenges of Web Security