Electronic Payment Systems 20-763 Lecture 6 Epayment Security II

sweetlipscasteΑσφάλεια

2 Νοε 2013 (πριν από 4 χρόνια και 5 μέρες)

97 εμφανίσεις

20
-
763 ELECTRONIC PAYMENT SYSTEMS


FALL 2002

COPYRIGHT © 2002 MICHAEL I. SHAMOS

Electronic Payment Systems

20
-
763



Lecture 6

Epayment Security II



20
-
763 ELECTRONIC PAYMENT SYSTEMS


FALL 2002

COPYRIGHT © 2002 MICHAEL I. SHAMOS

Public
-
Key (Asymmetric) Encryption

1. USERS WANT TO


SEND PLAINTEXT


TO RECIPIENT WEBSITE

2. SENDERS USE SITE’S PUBLIC


KEY FOR ENCRYPTION

3. SITE USES ITS PRIVATE


KEY FOR DECRYPTION

4. ONLY WEBSITE CAN


DECRYPT THE CIPHERTEXT.


NO ONE ELSE KNOWS HOW

SOURCE: STEIN,
WEB SECURITY

20
-
763 ELECTRONIC PAYMENT SYSTEMS


FALL 2002

COPYRIGHT © 2002 MICHAEL I. SHAMOS

Public
-
Key Encryption


Alice wants to send Bob a secure message M.


Alice uses Bob’s public key to encrypt M.


Bob uses his private key to decrypt M.


Bob is the ONLY ONE who can do this,

so M is secure.


Problem: Anyone could have sent it. Was it really Alice?

ALICE’S

CLEAR

TEXT

ALICE’S

CODED

TEXT

ALICE’S

CODED

TEXT

ALICE’S

CLEAR

TEXT

TRANSM ISSION

BOB DECRYPTS WITH

HIS PRIVATE KEY

ALICE ENCRYPTS WITH

BOB’S PUBLIC KEY

BOB’S

PUBLIC
KEY

BOB’S

PRIVATE
KEY

20
-
763 ELECTRONIC PAYMENT SYSTEMS


FALL 2002

COPYRIGHT © 2002 MICHAEL I. SHAMOS

Digital Authentication


Alice wants to send Bob a message M so that Bob is sure Alice
is the sender.


Alice uses her own private key to encrypt M.


Bob uses Alice’s public key to decrypt M.


Alice is the ONLY ONE who could have sent it.


Problem 1: Anyone can read it! Problem 2: Replay attack!

ALICE’S

CLEAR

TEXT

ALICE’S

CODED

TEXT

ALICE’S

CODED

TEXT

ALICE’S

CLEAR

TEXT

TRANSM ISSION

BOB DECRYPTS WITH

ALICE’S PUBLIC KEY

ALICE ENCRYPTS WITH

HER PRIVATE KEY

ALICE’S

PRIVATE

KEY

ALICE’S

PUBLIC

KEY

20
-
763 ELECTRONIC PAYMENT SYSTEMS


FALL 2002

COPYRIGHT © 2002 MICHAEL I. SHAMOS

Secure Authenticated Messages


Alice must send Bob a
secret

&
authenticated

message M so
Bob is sure it was sent by Alice. Use
both

encryption and
signature.

ALICE’S

CODED

TEXT

ALICE’S

CODED

TEXT

(AUTHENTICATED)

ALICE’S

CLEAR

TEXT

BOB DECRYPTS WITH

ALICE’S PUBLIC KEY

ALICE ENCRYPTS WITH

HER PRIVATE KEY

ALICE ENCRYPTS WITH

BOB’S PUBLIC KEY

ALICE’S

CODED AND

SIGNED TEXT

ALICE’S

CODED AND

SIGNED TEXT

T

R

A

N

S

M

I

T

ALICE’S

CLEAR TEXT

(DECRYPTED AND

AUTHENTICATED)

BOB DECRYPTS WITH

HIS PRIVATE KEY

BOB’S PUBLIC

ALICE’S PUBLIC

BOB’S PRIVATE

ALICE’S PRIVATE

4 KEYS

NEEDED:

20
-
763 ELECTRONIC PAYMENT SYSTEMS


FALL 2002

COPYRIGHT © 2002 MICHAEL I. SHAMOS

One
-
Way Trapdoor Function


A function that is easy to compute


Computationally difficult to invert
without knowing the
secret

(the “trapdoor”)


Example:
f

(x, y) = x•y


Given
f

(x, y), it is difficult to find either x or y


Given
f

(x, y) and x (the secret), it is easy to find y


Any one
-
way trapdoor function can be used in public
-
key cryptography.


20
-
763 ELECTRONIC PAYMENT SYSTEMS


FALL 2002

COPYRIGHT © 2002 MICHAEL I. SHAMOS

Rivest
-
Shamir
-
Adelman (RSA)


It is easy to
multiply

two numbers but apparently hard
to
factor

a number into a product of two others.


Given p, q, it is easy to compute n = p • q


Example: p = 5453089; q = 3918067



Easy to find n = 21365568058963


Given n, hard to find two numbers p, q with p • q = n


Now suppose n = 7859112349338149


What are p and q such that p • q = n ?


Multiplication is a
one
-
way function


RSA exploits this fact in public
-
key encryption


20
-
763 ELECTRONIC PAYMENT SYSTEMS


FALL 2002

COPYRIGHT © 2002 MICHAEL I. SHAMOS

RSA Encryption


Select two large prime numbers p, q (e.g. 1024 bits)


Let n = p • q


Choose a small odd integer e that does not divide

m =
(p
-

1)(q
-

1). Then x
(p
-
1)(q
-
1)
= 1 (mod n)


Compute d = e
-
1
(mod m
)


That is, d • e gives remainder 1 when divided by m


Then x
e

•d
= x (mod n) (by Fermat’s “Little” Theorem)


Public key is the pair (e, n)


Private key is the pair (d, n)


Knowing (e, n) is of no help in finding d. Still need p
and q, which involves factoring n

20
-
763 ELECTRONIC PAYMENT SYSTEMS


FALL 2002

COPYRIGHT © 2002 MICHAEL I. SHAMOS

MULTIPLICATION

MOD 7


INVERSE OF 5 IS 3

Multiplicative Inverses

Over Finite Fields


The inverse e
-
1

of a number e satisfies e
-
1
• e = 1


The inverse of 5 is 1/5


If we only allow numbers from 0 to n
-
1 (mod n), then for special
values of n, each e has a unique inverse


6


2 = 12

WHEN DIVIDED BY 7

GIVES REMAINDER 5

EACH ROW EXCEPT

THE ZERO ROW

HAS EXACTLY ONE 1


EACH ELEMENT HAS

A UNIQUE INVERSE

20
-
763 ELECTRONIC PAYMENT SYSTEMS


FALL 2002

COPYRIGHT © 2002 MICHAEL I. SHAMOS

RSA Encryption


Message M is a
number



To encrypt message M using key (e, n):


Compute C(M) = M

e

(mod n)



To decrypt message C using key (d, n):


Compute P(C) = C

d

(mod n)





Note that P(C(M)) = C(P(M)) = (M

e
)
d
(mod n)


= M

e

d
(mod n) = M

because e

d = 1 and m = (p
-
1)(q
-
1)


DEMO


20
-
763 ELECTRONIC PAYMENT SYSTEMS


FALL 2002

COPYRIGHT © 2002 MICHAEL I. SHAMOS

RSA Example

p = 61; q = 53

n = pq = 3233 (
modulus
, can be given to others)

e = 17 (
public exponent
, can be given to others)

d = 2753 (
private exponent
, kept secret!)

PUBLIC KEY = (3233, 17)

PRIVATE KEY = (3233, 2753)


To encrypt 123, compute 123
17

(mod 3233) =


337587917446653715596592958817679803 mod 3233 = 855



To decrypt 855, compute 855
2753
(mod 3233) = 123


(intermediate value has 8072 digits)



SOURCE:
FRANCIS LITTERIO

37 digits

20
-
763 ELECTRONIC PAYMENT SYSTEMS


FALL 2002

COPYRIGHT © 2002 MICHAEL I. SHAMOS

Trapdoor Functions for Cryptogrpahy


Any one
-
way trapdoor function
f
(
x
) can be used for
public
-
key cryptography


Alice wants to send message m to Bob


Bob’s public key
e

is a parameter to the trapdoor
function
f
e
(
x
) (the inverse
f
e

-
1
(
x
) is easy to compute
knowing Bob’s private key d but difficult without
d
)


Alice computes
f
e
(
m
), sends it to Bob


Bob computes
f
e

-
1
(
f
e
(
m
)) =
m

(easy if
d

is known)


Eavesdropper Eve can’t compute
m

=
f
e

-
1
(
f
e
(
m
))
without the trapdoor
d

to find the inverse
f
e

-
1


20
-
763 ELECTRONIC PAYMENT SYSTEMS


FALL 2002

COPYRIGHT © 2002 MICHAEL I. SHAMOS

Digital Signatures


A handwritten signature is a function of the signer
only, not the message


Handwritten signatures can be copied and forged


The digital equivalent of a handwritten signature
would be
useless

in eCommerce


Must be able to


Compare it with the “real” signature; AND


Must be sure it isn’t copied or forged


How can A prove his identity over the Internet?



20
-
763 ELECTRONIC PAYMENT SYSTEMS


FALL 2002

COPYRIGHT © 2002 MICHAEL I. SHAMOS

Digital Signatures


A digital signature is a function of
both

the
signer

and
the
message


A digital signature is a digest of the message
encrypted with the signer’s private key



MESSAGE M (LONG)

HASH

SIG

USE SECURE HASH ALGORITHM (SHA)


TO PRODUCE HASH (MESSAGE DIGEST)

ENCRYPT HASH USING SIGNER’S PRIVATE KEY

PRIVATE KEY

OF MR. A

THIS IS THE DIGITAL SIGNATURE

OF MR. A ON MESSAGE M

20
-
763 ELECTRONIC PAYMENT SYSTEMS


FALL 2002

COPYRIGHT © 2002 MICHAEL I. SHAMOS

Authentication by Digital Signature

MESSAGE (LONG)

HASH

HASH

RECIPIENT USES SHA

TO COMPUTE HASH

RECIPIENT DECRYPTS SIG

WITH SIGNER’S PUBLIC KEY

MESSAGE (LONG)

SIG

IF HASHES ARE EQUAL, MESSAGE IS AUTHENTIC.

WHY? IF ANY BIT OF M OR SIG IS ALTERED, HASH CHANGES.

RECIPIENT RECEIVES SIG + MESSAGE

=?

20
-
763 ELECTRONIC PAYMENT SYSTEMS


FALL 2002

COPYRIGHT © 2002 MICHAEL I. SHAMOS

Digital Signature


Message digest encrypted with signer’s private key


MESSAGE (LONG)

SIG

APPEND SIGNATURE TO MESSAGE; SEND BOTH

MESSAGE (LONG)

HASH

SIG

USE SHA TO PRODUCE HASH (MESSAGE DIGEST)

ENCRYPT HASH WITH SIGNER’S PRIVATE KEY

Recipient decrypts SIG with signer’s public key.

Recipient computes the message digest.

If it matches the SIG, the SIG is genuine


AND the message has not been altered!

PRIVATE KEY

20
-
763 ELECTRONIC PAYMENT SYSTEMS


FALL 2002

COPYRIGHT © 2002 MICHAEL I. SHAMOS

Discrete Logarithms


If a
b

= c, we say that log
a
c = b


Example: 2
32
= 4294927296 so log
2
(4294927296) = 32


Computing a
b

and log
a
c are both easy for real numbers



In a finite field, it is easy to calculate c = a
b
mod p but
given c, a and p it is
very difficult

to find b


This is the “discrete logarithm” problem



Analogy: Given x it is easy to find two real numbers y, z
such that x = y

z


Given an integer n it is hard to find two
integers

p, q
such that n = p

q

20
-
763 ELECTRONIC PAYMENT SYSTEMS


FALL 2002

COPYRIGHT © 2002 MICHAEL I. SHAMOS

Diffie
-
Hellman Key Exchange


Object: allow Alice and Bob to exchange a secret key


Protocol has two public parameters: a prime p and a
number g < p such that given 0 < n < p there is some k
such that g
k

= n (g is called a
generator
)


Alice and Bob generate random private values a, b
between 1 and p
-
2


Alice’s public value is g
a

(mod p); Bob’s is g
b

(mod p)


Alice and Bob share their public values


Alice computes (g
b
)
a

(mod p) = g
ba


Bob computes (g
a
)
b

(mod p) = g
ab
=

g
ba


Let key = g
ab
. Now both Alice and Bob have it.


No one else can compute it
--

they don’t know a or b

20
-
763 ELECTRONIC PAYMENT SYSTEMS


FALL 2002

COPYRIGHT © 2002 MICHAEL I. SHAMOS

El Gamal Encryption


Based on the discrete logarithm



Bob’s public key is (p, q, r)


Bob’s private key is s such that r = q
s

mod p



Alice sends Bob the message m by picking a random
secret number k and sending


(a, b) = (q
k

mod p, mr
k
mod p)


Bob computes


b (a
s
)
-
1
mod p = mr
k
(q
ks
)
-
1

= mq
ks
(q
ks
)
-
1

= m



(Bob knows s; nobody else can do this)

20
-
763 ELECTRONIC PAYMENT SYSTEMS


FALL 2002

COPYRIGHT © 2002 MICHAEL I. SHAMOS

Elliptic Curve Cryptography (ECC)


An elliptic curve is the set of points (x, y) satisfying

y
2

+ axy + by = x
3

+ cx
2

+ dx + e


x

y

An elliptic curve has the property that a

line drawn between two points of the curve

intersects the curve at a single point.

(Warning: need to include the point at infinity.)


This allows us to define P + Q so that the sum

is always another point on the curve.


If the sum P + Q is always on the curve, so are

the points P, P + P, P + P + P, . . .

= P, 2P, 3P, 4P, . . .


ONLINE TUTORIAL

20
-
763 ELECTRONIC PAYMENT SYSTEMS


FALL 2002

COPYRIGHT © 2002 MICHAEL I. SHAMOS

Elliptic Curve Operations

SOURCE:
INTEGRITY SCIENCES


The point at infinity
O

is an identity element

for addition

20
-
763 ELECTRONIC PAYMENT SYSTEMS


FALL 2002

COPYRIGHT © 2002 MICHAEL I. SHAMOS

Elliptic Curves Over Finite Fields


Select a large prime number p


Choose two non
-
negative integers a and b with

4a
2

+ 27b
2



0 (mod p)


The pairs (x, y) with x, y < p that satisfy

y
2

= x
3

+ ax + b (mod p)

are the
elliptic group mod p


addition is closed and associative (x + y) + z = x + (y + z)


there is an identity element
O

such that x +
O

= x


every element x has an inverse x
-
1

such that x + x
-
1

=
O


If y = k x (mod p), then given k and x it is
easy

to find y


but given x and y it is
computationally hard

to find k


So elliptic curves can be used for cryptography


20
-
763 ELECTRONIC PAYMENT SYSTEMS


FALL 2002

COPYRIGHT © 2002 MICHAEL I. SHAMOS

Elliptic Curves for El Gamal


Multiplication in the elliptic group corresponds to exponentiation
of real numbers


Solving y = k x (mod p) for k in the elliptic group is similar to
solving c = a
b (
mod p) for b in El Gamal (discrete logarithm)


Choose a special point g of the group (called a generator)


Bob’s private key is s; Bob’s public key is (g, s

g)


A plaintext message m is transformed to a point x in the group


Alice encrypts x by picking a random value k and sending

(k

g, x + k

s

g)




Bob decrypts by computing (x + k

s

g)
-

(k

g)

s = x


Alice sent him these

Bob knows s (his private key)

g and sg are public; Alice knows x and k

Can’t find s

from g and sg

20
-
763 ELECTRONIC PAYMENT SYSTEMS


FALL 2002

COPYRIGHT © 2002 MICHAEL I. SHAMOS

Security of ECC versus RSA

GRAPHIC:
RICHARD SOUTHERN


ECC Advantages


1. The elliptic curve logarithm

problem is harder than the

discrete logarithm problem.


2. Key size in ECC is much

smaller for a given security

level.


3. ECC is complicated; fewer

people understand it.


4. ECC is not patented.

20
-
763 ELECTRONIC PAYMENT SYSTEMS


FALL 2002

COPYRIGHT © 2002 MICHAEL I. SHAMOS

Birthday Attacks


Dave’s birthday is Jan. 29. How many people must
be in a room for the probability to be > 1/2 that
someone else was born on Jan. 29?


Probability that 1 person was not born on Jan. 29 =

364/365.


Probability that
n

people were not born on Jan. 29 is
p(
n
) = (364/365)
n
. Now choose
n

so that p(
n
) < 0.5


log p(
n
) <
n

log (364/635)


n

> log(1/2)/log(364/365)


253


If
n

= 183 (half of 366), p(
n
) = 0.6053. Less then
40% chance that someone else has same birthday

20
-
763 ELECTRONIC PAYMENT SYSTEMS


FALL 2002

COPYRIGHT © 2002 MICHAEL I. SHAMOS

Birthday Probabilities


Suppose a year has
d

days. How many people must
be in a room for the probability to be > 1/2 that some
pair of people have the same birthday?


Label the people 1 …
n


Probability that person
i

has no birthday in common
with people 1 …
i
-
1 is (
d
-

i + 1
)/d, so




If
d

= 365 and
n

= 23, p(
n
)


0.4927


If
d

= 365 and
n

= 50, p(
n
)


0.0296


For large
d
, taking
n



1.17 gives
p(
n
)
> 1/2

20
-
763 ELECTRONIC PAYMENT SYSTEMS


FALL 2002

COPYRIGHT © 2002 MICHAEL I. SHAMOS

Attacking Hash Algorithms


If two strings M and M* can be found such that

H
(M) =
H
(M*) then a hash algorithm can be
compromised


Let M = PO for $100; M* = PO for $100,000


John digitally signs
H
(M), so it can’t be altered!


If
H
(M*) =
H
(M) then we can “prove” in court that John
signed the $100,000 PO


Birthday attack: If the hash length is
b

bits, then
d

= 2

b
;



= 2

b/2


Try about 2

b/2

small variations of the message. Prob.

~ 50% we will find one that hashes to the same value


If the digest is 64 bits, try 2
32

variations. Possible!

20
-
763 ELECTRONIC PAYMENT SYSTEMS


FALL 2002

COPYRIGHT © 2002 MICHAEL I. SHAMOS

Major Ideas


Digital signature = message digest encrypted with signer’s private
key


Dual signature: two people sign a document without being able to
read the other person’s content


Blind signature: one person signs a document without being able
to read it


Any trapdoor function can be used for public
-
key cryptography


Great care must be used with public
-
key systems to avoid
protocol failure (allowing cracking through mistakes)


Elliptic
-
curve cryptography (ECC) is replacing RSA


Shorter keys for the same level of security

20
-
763 ELECTRONIC PAYMENT SYSTEMS


FALL 2002

COPYRIGHT © 2002 MICHAEL I. SHAMOS

Q

A

&