Digital Signatures

advertisement
DIGITAL SIGNATURES
Fred Piper
Codes & Ciphers Ltd
12 Duncan Road
Richmond
Surrey
TW9 2JD
Information Security Group
Royal Holloway, University of London
Egham, Surrey
TW20 0EX
Outline
1. Brief Introduction to Cryptography
2. Public Key Systems
3. Basic Principles of Digital Signatures
4. Public Key Algorithms
5. Signing Processes
6. Arbitrated Signatures
7. Odds and Ends
NOTE: We will not cover all the sections
Digital Signatures
2
The Essence of Security
– Recognition of those you know
– Introduction to those you don’t
know
– Written signature
– Private conversation
Digital Signatures
3
The Challenge
• Transplant these basic
social mechanisms to the
telecommunications
and/or business
environment.
Digital Signatures
4
The Security Issues
• Sender
– Am I happy that the whole world sees this ?
– Am I prepared to pay to stop them ?
– Am I allowed to stop them ?
• Recipient
– Do I have confidence in :
– the originator
– the message contents and message stream
– no future repudiation.
• Network Manager
– Do I allow this user on to the network ?
– How do I control their privileges ?
Digital Signatures
5
Cryptography is used to provide:
1. Secrecy
2. Data Integrity
3. User Verification
4. Non-Repudiation
Digital Signatures
6
Cipher System
Key k(E)
message
m
Key k(D)
cryptogram
message
c
m
Enciphering
Deciphering
Algorithm
Algorithm
Interceptor
Digital Signatures
7
The Attacker’s Perspective
Unknown Key
k(D)
Known c
Deciphering Wants m
Algorithm
Note: k(E) is not needed unless
it helps determine k(D)
Digital Signatures
8
Two Types of Cipher System
• Conventional or Symmetric
– k(D) easily obtained from k(E)
• Public or Asymmetric
– Computationally infeasible to
determine k(D) from k(E)
Digital Signatures
9
• THE SECURITY OF THE SYSTEM IS
DEPENDENT ON THE SECURITY OF
THE KEYS
Digital Signatures
10
Public Key Systems
• Original Concept
• For a public key system an enciphering algorithm is
agreed and each would-be
receiver publishes the key
which anyone may use to send a message to him.
• Thus for a public key system to be secure it must not be
possible to deduce the message from a knowledge of the
cryptogram and the enciphering key. Once such a system
is set up, a directory of all receivers plus their enciphering
keys is published. However, the only person to know any
given receiver’s deciphering key is the receiver himself.
Digital Signatures
11
Public Key Systems
• For a public key system, encipherment
must be a ‘one-way function’ which has a
‘trapdoor’. The trapdoor must be a secret
known only to the receiver.
• A ‘one-way function’ is one which is easy
to perform but very difficult to reverse. A
‘trapdoor’ is a trick or another function
which makes it easy to reverse the
function
Digital Signatures
12
Some Mathematical One-Way
Functions
1.
2.
3.
4.
5.
Multiplication of two large primes.
Exponentiation modulo n ( n = pq ).
x  ax in GF(2n) or GF(p).
k  Ek(m) for fixed m where Ek is encryption
in a symmetric key system which is secure
against known plaintext attacks.
x  a.x where x is an n-bit binary vector and
a is a fixed n-tuple of integers. Thus a.x is an
integer.
Digital Signatures
13
Public Key Cryptosystems
– Enable secure communications without
exchanging secret keys
– Enable 3rd party authentication ( digital
signature )
– Use number theoretic techniques
– Introduce a whole new set of problems
– Are extremely ingenious.
Digital Signatures
14
Digital Signatures
•
According to ISO, the term Digital
Signature is used: ‘to indicate a
particular authentication technique
used to establish the origin of a
message in order to settle disputes
of what message (if any) was sent’.
Digital Signatures
15
Digital Signatures
A signature on a message is some data that
• validates a message and verifies its origin
• a receiver can keep as evidence
• a third party can use to resolve disputes.
It should be
It depends on
u easy to compute
• the message
(by one person only)
• a secret parameter only
u easy to verify
available to the sender
u difficult to forge
Digital Signatures
16
Digital Signature
•
•
•
•
Cryptographic checksum
Identifies sender
Provides integrity check for data
Can be checked by third party
Digital Signatures
17
Hand-Written Signatures
•
•
•
•
Intrinsic to signer
Same on all documents
Physically attached to message
Beware plastic cards.
Digital Signatures
• Use of secret parameter
• Message dependent.
Digital Signatures
18
Principle of Digital Signatures
•
•
•
•
There is a (secret) number which:
Only one person can use
Is used to identify that person
‘Anyone’ can verify that it has been
used
NB: Anyone who knows the value of a
number can use that number.
Digital Signatures
19
Attacks on Digital Signature
Schemes
To impersonate A, I must either
• obtain A’s private key
• substitute my public key for A’s
NB: Similar attacks if A is receiving secret
data encrypted with A’s public key
Digital Signatures
20
Obtaining a Private Key
 Mathematical attacks
 Physical attacks
NB: It may be sufficient to obtain a
device which contains the key.
Knowledge of actual value is not
needed.
Digital Signatures
21
Certification Authority
AIM :
To guarantee the authenticity of public keys.
METHOD :
The Certification Authority guarantees the
authenticity by signing a certificate containing
user’s identity and public key with its secret key.
REQUIREMENT :
All users must have an authentic copy of the
Certification Authority’s public key.
Digital Signatures
22
Certification Process
Centre
Verifies
credentials
Creates
Certificate
Distribution
Owner
Generates
Key Set
Presents Public
Key and
credentials
Digital Signatures
Receives
(and checks)
Certificate
23
How Does it Work?
The CA certifies
that Fred Piper’s
public key
is………..
Electronically
signed by
the CA
• The Certificate can accompany all Fred’s
messages
• The recipient must directly or indirectly:
• Trust the CA
• Validate the certificate
Digital Signatures
24
User Authentication Certificates
• Ownership of certificate does not
establish identity
• Need protocols establishing use of
corresponding secret keys
Digital Signatures
25
WARNING
• Identity Theft
• You ‘are’ your private key
• You ‘are’ the private key
corresponding to the public key in
your certificiate
Digital Signatures
26
Certification Authorities
•
•
•
•
•
Problems/Questions
Who generates users’ keys?
How is identity established?
How can certificates be cancelled?
Any others?
Digital Signatures
27
Fundamental Requirement
Internal infrastructure to support
secure technological implementation
Digital Signatures
28
Is everything OK?
Announcement in Microsoft Security
Bulletin MS01-017
“VeriSign Inc recently advised
Microsoft that on January 29-30 2001
it issued two VeriSign Class 3 codesigning digital certificates to an
individual who fraudulently claimed to
be a Microsoft employee.”
Digital Signatures
29
RSA System
• Publish integers n and e where n = pq (p and q large
primes) and e is chosen so that (e,(p-1)(q-1)) = 1.
• If message is an integer m with 0 < m < n then the
cryptogram c = me (mod n).
• The primes p and q are ‘Secret’ (i.e. known only to the
receiver) and the system’s security depends on the
fact that knowledge of n will not enable the interceptor
to work out p and q.
Digital Signatures
30
RSA System
Since (e,(p-1)(q-1)) = 1 there is an integer d such that
ed = 1(mod(p-1)(q-1)).
[NOTE: without knowing p and q it is ‘impossible’ to
determine d.]
To decipher raise c to the power d.
Then m=cd (=med) (mod n).
System works because if n=pq,
ak(p-1)(q-1) + 1 = a (mod n)
for all a, k.
Digital Signatures
31
RSA Summary and Example
Theory
n = p.q
e.d  1(mod(p-1) (q-1))
Public key is (e, n)
Private key is (d,n)
Message M (0 < M < n)
Choice
2773 = 47.59
p=47 q=59
17.157 ≡ 1(mod 2668) e=17 d=157
(17,2773)
(157,2773)
M = 31
NB : Knowledge of p and q is required to compute d.
Encryption using Private Key :
C ≡ Me (mod n)
587 ≡ 3117 (mod 2773)
Decryption using Private Key :
M ≡ Cd (mod n)
31 ≡ 587157 (mod 2773)
Digital Signatures
32
El Gamal Cipher
– Work in GF(q)
– For practical systems
• q = large prime
• q = 2n
– Note: We will not define GF(2n). For a
prime q arithmetic in GF(q) is
arithmetic modulo q.
Digital Signatures
33
El Gamal Cipher
System wide parameters : integers g,p
NB:
p is a large prime and g is a primitive element
mod p.
A chooses private key x such that 1 < x < p - 1
A’s public key is y = gx mod p.
Note: x is called the discrete logarithm of y modulo p
to the base g.
Digital Signatures
34
El Gamal Encryption
If B wants to send secret message m to A then
1. B obtains A’s public key y plus g and p
2. B generates random integer k.
3. B sends gk (mod p) and c = myk (mod p) to A.
A uses x to compute yk from gk and then
evaluates m.
Digital Signatures
35
El Gamal Cipher
Important facts from last slide
• g is special type of number
• sender needs random number
generator
• cryptogram is twice as long as
message
Digital Signatures
36
El Gamal - Encryption - Worked Example
Prime p = 23
Primitive element a = 11
Private key x = 6 Public key y = 116(mod 23) = 9
To encipher m = 10
Assume random value k = 3
ak = 113 mod 23
= 20
yk = 1118 mod 23 = 16
myk = 10.16 mod 23 = 22
Thus transmit (20, 22)
Digital Signatures
37
El Gamal - Worked Example
To decrypt 20, 22
yk = (ak)x = 206 = 16 mod 23
To find m: solve c = myk mod p
i.e.
solve 22 = m 16 mod 23
Solution m = 10
Digital Signatures
38
Modular Exponentiation
• Both RSA and El Gamal involve computing
xa (mod N) for large x, a and N
• To speed up process need:
• Fast multiplication algorithm
• Avoid intermediate values becoming too
large
• Limit number of modular multiplications
Digital Signatures
39
How to Create a Digital Signature
Using RSA
MESSAGE
HASHING
FUNCTION
HASH OF MESSAGE
Sign using Private Key
SIGNATURE SIGNED HASH OF MESSAGE
Digital Signatures
40
How to Verify a Digital Signature Using
RSA
Message
Signature
Verify the
Received Signature
Message with
Appended Signature
Re-hash the
Received Message
Message
Signature
Hashing
Function
Verify using
Public Key
HASH OF MESSAGE
If hashes are equal,
signature is authentic
Digital Signatures
HASH OF MESSAGE
41
Requirements for Hash Function h
(H1) condenses message M of arbitrary length into
a fixed length ‘digest’ h(M)
(H2) is one-way
(H3) is collision free - it is computationally
infeasible to construct messages M, M' with
h(M) = h(M')
H3 implies a restriction on the size of h(M).
Digital Signatures
42
DSA
• Proposed by NIST in 1991
• Explicitly requires the use of a hash
function
– SHA-1
• Very different set of functional
capabilities than RSA
Digital Signatures
43
DSA Set Up
• System parameters
– select a 160-bit prime q
– choose a 1024-bit prime p so that q | p-1
– choose g  Zp* and compute a = g(p-1)/q mod p
– if a=1 repeat with different g
• User keys
– select random secret key x
(1 x q-1)
– compute public key y = ax mod p
Digital Signatures
44
Signing with DSA
• To sign message m
–
–
–
–
–
–
hash message m to give h(m) (1 h(m) q-1)
generate random secret k
(1 k q-1)
compute r = (ak mod p) mod q
compute k-1 mod q
compute s = k-1{h(m) + ar} mod q
signature on m is (r,s)
Digital Signatures
45
DSA Signature Verification
• To verify (r,s)
– check that 1 r q-1 and 1 s q-1
– compute w = s-1 mod q
– compute u1 = wh(m) mod q
– compute u2 = rw mod q
– accept signature if
– (au1yu2 mod p) mod q = r
Digital Signatures
46
Security of DSA
• Depends on
– taking discrete logarithms in GF(p) (GNFS)
– the logarithm problem in the cyclic subgroup
of order q
• algorithms for this take time proportional to q1/2
• we choose q  2160 and p  21024
– other concerns follow the case of El Gamal
signatures
Digital Signatures
47
Performance of DSA
• Using the subgroup of order q gives
good improvements over El Gamal
signatures
– for signature
– one (partial) exponentiation mod p, all other
operations less significant
– also there are opportunities for pre-computation
– for verification
– two (partial) exponentiations mod p, all other
operations less significant
Digital Signatures
48
DSA and RSA
• set a unit of time to be that required for one
1024-bit multiplication
• use e=216+1 and CRT for RSA
• pre-computation with DSA not included
RSA
DSA
S ign
384
240
V erify
17
480
• also a difference in the sizes of the
signatures
Digital Signatures
49
Signing and Verifying
• Which is more important - signature
or verification performance?
– depends on the application!
• certificates:
sign once but verify
very often
• secure E-mail: perhaps sign and verify
once
• document storage:
sign once but maybe
never verify
Digital Signatures
50
Digital Signatures for Short Messages
Padding /
Redundancy
Private
Key
RSA
Signature
Text
Signature
SEND
Public
Key
RSA
Padding /
Redundancy
Text
Verify
a) Construction
b) Deconstruction
Digital Signatures
51
Types of Digital Signature
1. Arbitrated Signatures
Mediation by third party, the arbitrator
u signing
u verifying
u resolving disputes
2. True Signatures
Direct communication between sender and receiver
Third party involved only in case of dispute
Digital Signatures
52
Arbitrated Signatures
Require trusted arbitrator
• Arbitrator is involved in
– Signing process
– Settlement of all disputes
– No one else can settle disputes
– Potential bottleneck
Digital Signatures
53
Example of Arbitrated Signature
Scheme (1)
Requirement: A wants to send B message
B wants assurance of contents,
that A was originator and that A
cannot deny either fact.
Assumption: A and B agree to trust an
arbitrator (ARB) and to accept
ARB’s decision as binding.
Digital Signatures
54
Example of Arbitrated Signature
Scheme (2)
Cryptographic Assumption
1. Will use symmetric Algorithm eg DES
2. Will use MACs
3. A has established a DES key KA
shared with ARB
4. B has established a DES key KB
shared with ARB
Digital Signatures
55
Example of Arbitrated Signature
Scheme (3)
A wants to send ‘signed’ message M to B
Simplified protocol
1) A
ARB : M1=M || MACKA
2) ARB uses KA to check MACKA
3) ARB
B : M2 = M1|| MACKB
4) B uses KB to check MACKB
Note: B has no way of checking MACKA is correct.
May be necessary to include identities in messages.
Digital Signatures
56
True Signature
True Signature Requirement
• Only one person can sign but anyone
can verify the signature
Public Key Requirement
• Anyone can encrypt a message but
only one person can decrypt the
cryptogram.
Digital Signatures
57
True Signature
It is ‘natural’ to try to adopt public
key systems to produce signature
schemes by using the secret key in
the signing process
Digital Signatures
58
Digital Signatures
Common Terminology identifies the
terms Digital Signature and True
Signature
Digital Signatures
59
The Decision Process
•
•
•
•
Do I need Cryptography?
Do I need Public Key Cryptography?
Do I need PKI?
How do I establish a PKI?
Digital Signatures
60
Often Heard
•
•
•
•
PKI has never really taken off
PKI is dead
I’ve got a PKI, what do I do with it?
Secure e-commerce needs PKI
Digital Signatures
61
Diffie Hellman Key Establishment
Protocol
General Idea: Use Public System
A and B exchange public keys: PA and PB
There is a publicly known function f which has 2
numbers as input and one number as output.
A computes f (SA, PB) where SA is A’s private key
B computes f (SB, PA) where SB is B’s private key
f is chosen so that f (SA, PB) = f (SB, PA)
So A and B now share a (secret) number
Digital Signatures
62
Diffie Hellman Key Establishment Protocol
For the mathematicians:
Agree: Prime p primitive element a
A : chooses random rA and sends a (modp)
B : chooses random rB and sends a (modp)
Key: s  a r r (modp)
Clearly any interceptor who can find discrete
logarithms can break the scheme
In this case
rA
r B
A
f(x, y)  x .
y
f(a
B
rA
, rB )  f(a
rB
, rA )  a
r A rB
Note: Comparison with El Gamal
Digital Signatures
63
D-H Man in the Middle Attack
A
B
PA
PF
PF
Fraudster
F
PB
The Fraudster has agreed keys with both A and B
A and B believe they have agreed a common key
Digital Signatures
64
D-H Man-in-the-Middle Attack
For the mathematicians
A
B
r
r
a A (m od p )
a F ( m od p)
r
a F ( m od p) Fraudster a r ( m od p)
F
B
The Fraudster has agreed keys with both A and B
A and B believe they have agreed a common key
Digital Signatures
65
Download