A Performance Evaluation Study of an X.509 Compliant Public Key Infrastructure Emilia Rosti

advertisement
A Performance Evaluation
Study of an X.509 Compliant
Public Key Infrastructure
Emilia Rosti
Joint work with Danilo Bruschi and Arianna
Curti
Dipartimento di Scienze dell’Informazione
Università degli Studi di Milano
rose@dsi.unimi.it
© Rosti/DSI
NPS - 02/22/01
1
Outline
•
•
•
•
•
•
PKI: what it is
X.509: what it means
Certificate revocation protocols
Modeling a PKI
Results
Future work
© Rosti/DSI
NPS - 02/22/01
2
Public Key Infrastructure
• A system comprising policies, software and
hardware components that realize a trusted
third party that guarantees
– authenticity,
– ownership,
– validity,
of “keys” and information related to them.
– implements “organized” trust relationships
© Rosti/DSI
NPS - 02/22/01
3
PKI - Certificates
• End users generate public-private key
pairs
• Certificate associated with public
component of each key pair
– information about owner, certifier entity,
certificate validity, algorithm used for
signature, digital signature of the certifier
entity
© Rosti/DSI
NPS - 02/22/01
4
PKI - Certificates
• Certificate authenticity
– issued by PKI
• Certificate ownership
– binding between certificate and
organization (person) indicated on it
• Certificate validity
– not revoked
© Rosti/DSI
NPS - 02/22/01
5
PKI - Components
• Registration Authority
– authenticates users, distributes keys and
certificates, requests certificates
• Certification Authority
– digitally signs, distributes, and revokes
certificates, issues lists of revoked certificates
• trusted third party
• Directory
– stores certificates for public access
– X.500 directory with LDAP access protocol
© Rosti/DSI
NPS - 02/22/01
6
PKI – End users
• People and/or software applications
– request ceritificate from CA or via RA, access
Directory to download lists of revoked
certificates and certificates of other party
– may have SW or HW devices for
signature/encryption (smart card)
© Rosti/DSI
NPS - 02/22/01
7
PKI - Functionalities
• Issueing certificates
• Distributing certificates
• Distributing certificate status information
– certificate revocation lists (CRLs)
• Distributing policies adopted when
issueing certificates
© Rosti/DSI
NPS - 02/22/01
8
Public Key Infrastructure
Directory
certificate and CRL retrieval
certificates
and CRL
certificate and CRL retrieval
RA
certificate and
CRL distribution
certificate
requests/
revocations
certificate
issueing
end
user
Registration Authority
(optional)
CA
Certification Authority
© Rosti/DSI
NPS - 02/22/01
9
X.509
• Standard protocol for authentication
services in X.500 Directory Service
– part of X.500 Directory Recommendation
– adopted by Visa, Mastercard, Netscape,
Entrust, TimeStep
© Rosti/DSI
NPS - 02/22/01
10
X.509v3
• Current standard
– extension of X.509
– more flexible structure
• from hierarchical structure with three levels
Internet Policy Registration Authority (root)
Policy Certification Authorities (level 2)
Certification Authorities (level 3
to flat structure with cross certification among
CAs
– no need to traverse the tree up to IPRA
© Rosti/DSI
NPS - 02/22/01
11
X.509v3 certificate
• (X.509) Information about
– version and serial number
– subject (key owner)
– issuer (CA that issued certificate)
– validity (not before, not after)
– subject public key info (key and algorithm
to be used with)
– algorithm used for signing
– signature of certificate
© Rosti/DSI
NPS - 02/22/01
12
X.509v3 certificate
• v3 extensions
– authority key ID (if CA has multiple
signature keys)
– subject key info (if subject has multiple
keys)
– key usage restrictions
– certificate policies
– CA and subject attributes
– certification constraints
– CRL distribution points
© Rosti/DSI
NPS - 02/22/01
13
Certificate revocation
• Certificates may be revoked before their
natural expiration date
– private key compromised/lost
– canceled account
• Certificate status information must be
published for end user to be able to
verify certificates they handle
© Rosti/DSI
NPS - 02/22/01
14
Certificate revocation
• Certificate Revocation List
– serial numbers of revoked certificates
– time of revocation
– CA signature
– CRL issuance time
– next CRL issuance time
• Size
– 51B + 9B*#revoked_certificates [MITRE 94]
– entries deleted after certificate expiration
© Rosti/DSI
NPS - 02/22/01
15
Certificate revocation
protocols
• Periodic publication of CRL
– possibly outdated information
• overissued CRL
• periodic publication of updates (delta-CRL)
• On demand status verification via OCSP
(On-line Certificate Status Protocol)
– timely status information
• Revocation policies performance analysis
[Cooper1999, 2000]
© Rosti/DSI
NPS - 02/22/01
16
Modeling a PKI
• Who
• CA, RA, Directory, end users
– does what
• transaction identification
• service demands
– and how
• different policies for revocation information
management
© Rosti/DSI
NPS - 02/22/01
17
Modeling a PKI
• CA transactions
– certificate issuance
• self-signed, RA-generated, renewal
– cross-certification
– certificate revocation
– CRL publication
© Rosti/DSI
NPS - 02/22/01
18
Modeling a PKI
• RA transactions
– certificate issuance request
– certificate revocation request
• Directory transactions
– search, modify, add, delete
• End users transactions
– certificate issuance/revocation request
– certificate status verification
© Rosti/DSI
NPS - 02/22/01
19
Modeling a PKI - Transactions
• Self-signed certificate requests
– user generates request and protects it with
shared secret
– CA authenticates sender and shared secret,
generates certificate, inserts it in local DB,
signs reply and sends it to user
– user verifies CA signature, sends ack to CA
– CA publishes certificate in Directory
© Rosti/DSI
NPS - 02/22/01
20
Modeling a PKI - Transactions
• RA-generated certificate requests
– RA verifies user request, signs it and sends
it to CA
– CA verifies RA signature, generates
certificate, inserts it in local DB, signs and
sends it to RA
– RA verifies CA signature, sends certificate
to user, ack to CA
– CA publishes the certificate in Directory
© Rosti/DSI
NPS - 02/22/01
21
Modeling a PKI - Transactions
• Self-signed revocation requests
– user generates revocation request, signs it
and sends it to CA
– CA verifies user’s signature, adds serial
number and revocation time to local DB,
sends signed reply to user
– user verifies CA signature
© Rosti/DSI
NPS - 02/22/01
22
Modeling a PKI - Transactions
• RA-generated revocation requests
– RA generates revocation request, signs it
and sends it to CA
– CA verifies RA signature, adds serial
number and revocation time to local DB,
sends signed reply to RA
– RA verifies CA signature and informs user
© Rosti/DSI
NPS - 02/22/01
23
Modeling a PKI - Transactions
• CRL generation
– CA reads revocation list, last full CRL and
delta-CRL from local DB
– CA generates new delta-CRL and signs it
– CA updates local DB
– CA publishes delta-CRL in Directory
© Rosti/DSI
NPS - 02/22/01
24
Modeling a PKI - Methodology
• Queueing network model
– hierarchical analysis
• components in isolation
• complete model
• enhancements
– analytic and simulation
• exponentially distributed service times and customers
interarrival times
– single and multiclass customer population
• different resource usage by various transactions
– closed and open models
© Rosti/DSI
NPS - 02/22/01
25
Modeling a PKI - Objectives
• Bottleneck analysis
• Impact of population mix on response
time
• Maximum arrival rate for an acceptable
response time
• What if analysis
© Rosti/DSI
NPS - 02/22/01
26
Modeling a PKI - Assumptions
• 2048 RSA bit signature key for CA
– dedicated cryptographic coprocessor
•
•
•
•
•
•
•
MD5 hash
Simple queries by CA to local certificate DB
Certificates for signature keys only
Delta-CRL
Off-line full CRL generation
Signed messages
Network communication services ignored
© Rosti/DSI
NPS - 02/22/01
27
Modeling a PKI - Assumptions
• Multiclass customer population
– class 1: self-signed certificate request
– class 2: self-signed revocation request
– class 3: delta-CRL generation
– class 4: RA-generated certificate request
– class 5: RA-generated revocation request
– class 6: cross-certification request
© Rosti/DSI
NPS - 02/22/01
28
PKI complete model
RA
© Rosti/DSI
CA
NPS - 02/22/01
Rep
29
Basic models
• CA model in isolation
• RA model in isolation
DISK
CPU
CrytoCoP
© Rosti/DSI
NPS - 02/22/01
30
Basic models parameters
• Number of users/certificates: 50,000
• Avg. number of revoked certificates: 20%
• Service demands estimation (ms)
– time to sign 166 ms, to verify signature 4 ms
cl1
cl2
CAmod
CPU
0.215
0.049
DISK
43.163 32.373
CCP
340
170
RAmod
CPU
DISK
CCP
© Rosti/DSI
cl3
3.584
44.36
166
cl4
cl5
cl6
0.182
0.051
0.199
43.167 32.337 32.373
336
170
336
0.215
0.081
32.835 21.144
340
340
NPS - 02/22/01
cl1: self-sig. req.
cl2: self-sig. rev.
cl3: delta-CRL
cl4: RA-gen req.
cl5: RA-gen rev.
cl6: cross-cert.
31
Basic model results
• Signature is the bottleneck operation
• CA and RA can be modeled as load
independent servers
– service rates are throughputs obtained
– service times in complete model (ms)
CA
RA
© Rosti/DSI
cl1
340
cl2
170
cl3
166
cl4
336
340
NPS - 02/22/01
cl5
170
340
cl6
336
cl1: self-sig. req.
cl2: self-sig. rev.
cl3: delta-CRL
cl4: RA-gen req.
cl5: RA-gen rev.
cl6: cross-cert.
32
Complete model
RA
CA
Dir
• Only 5 classes
– class 6 accounts for less than 0.02%
• Directory
– certificate publication: 6ms
– CRL publication: 12ms
© Rosti/DSI
NPS - 02/22/01
33
Complete model assumptions
• Variable population mixes on classes 1, 2, 3,
4, 5
– class 3 arrival rate is fixed
• generation of delta-CRL every 10 minutes
• 3 = 0.001667 req/s
– variable splits of total arrival rate  among classes
•
•
•
•
•
© Rosti/DSI
1 = 1( - 3)
2 = 2( - 3)
4 = 4( - 3)
5 = 5( - 3)
1 + 2 + 4 + 5 = 1
NPS - 02/22/01
34
Model results
• Certificate requests rate larger than
revocation requests rate
– very unbalanced: total request fraction 82%
• 1 = 4 = 41%
• 2 = 5 = 9%
– less unbalanced: total request fraction 66%
• 1 = 4 = 33%
• 2 = 5 = 17%
© Rosti/DSI
NPS - 02/22/01
35
More certificate requests
classe1: richieste
self_signed
22,5
s
20
Response time
17,5
classe2: revoche
self-signed
15
12,5
classe3: CRL
10
7,5
5
classe4: richieste
RA-generated
2,5
66% new
certificate
requests
3 < max < 3.5
0
0
0,5
1
1,5
2
2,5
3
3,5
4
classe5: revoche
RA-generated
Arrival rate
25
classe1: richieste
self-signed
s
22,5
20
classe2: revoche
self-signed
Response time
17,5
15
12,5
classe3: CRL
10
7,5
classe4: richieste
RA-generated
5
82% new
certificate
requests
3 < max < 3.5
2,5
0
0
© Rosti/DSI
0,5
1
1,5
2
Arrival rate
2,5
3
3,5
classe5: revoche
RA-generated
NPS - 02/22/01
36
Model results
• Only RA-generated certificate and
revocation requests
– 4 = 82%
– 5 = 18%
• Only self-signed certificate and
revocation requests
– 1 = 82%
– 2 = 18%
© Rosti/DSI
NPS - 02/22/01
37
Unique request source
30
s
25
Response time
classe3: CRL
20
classe4: richieste
RA-generated
15
10
5
classe5: revoche
RA-generated
0
0
0,5
1
1,5
2
2,5
3
RA-generated
only requests
2.5 < max < 3
3,5
Arrival rate
s
25
Response time
30
20
classe1: richieste
self-signed
classe2: revoche
self-signed
15
10
classe3: CRL
5
0
0
© Rosti/DSI
0,5
1
1,5
2
Arrival rate
2,5
3
3,5
NPS - 02/22/01
self-signed
only
requests
2.5 < max < 3.5
38
Model results
• Revocation requests rate larger than
certificate requests rate
– very unbalanced: tot. revocation fraction 82%
• 1 = 4 = 9%
• 2 = 5 = 41%
– less unbalanced: tot. revocation fraction 66%
• 1 = 4 = 17%
• 2 = 5 = 33%
© Rosti/DSI
NPS - 02/22/01
39
More revocation requests
s
35
classe1: richieste
self-signed
30
classe2: revoche
self-signed
Response time
25
20
classe3: CRL
15
10
classe4: richieste
RA-generated
5
66% revocation
requests
4 < max < 4.5
0
0
0,5
1
1,5
2
2,5
3
3,5
4
4,5
classe5: revoche
RA-generated
5
Arrival rate
classe1: richieste
self-signed
Response time
s
25
20
classe2: revoche
self-signed
15
classe3: CRL
10
classe4: richieste
RA-generated
5
0
0 0,5 1 1,5 2 2,5 3 3,5 4 4,5 5 5,5
© Rosti/DSI
Arrival rate
82% revocation
requests
4.5 < max < 5
classe5: revoche
RA-generated
NPS - 02/22/01
40
Model results
• Balanced load
– 1 = 2 = 4 = 5 = 25%
– with  - 3 such that response time is less
than 5s, N  755,000
• Crev = 151,000
• SCRL = 1.3MB, average size of a full CRL
– SCRL = 51 + 9*Crev B
• TCRL = 0.568 s, time to generate a full CRL
– TCRL = Tdisk + Thash + Tsig
irrelevant since performed every 4 hours
© Rosti/DSI
NPS - 02/22/01
41
Balanced load
s
35
classe1: richieste
self-signed
30
classe2: revoche
self-signed
Response time
25
20
classe3: CRL
15
10
classe4: richieste
RA-generated
5
0
0
0,5
1
1,5
2
2,5
3
3,5
4
4,5
classe5: revoche
RA-generated
Arrival rate
3.5 < max < 4
© Rosti/DSI
NPS - 02/22/01
42
Model results
• Balanced load
– 1 = 2 = 4 = 5 = 25%
–  max = 3.5 req/s, Resp-Time < 5s
• Limit frequency of full CRL publication
without affecting performance
– 5 minutes
• Limit frequency of delta-CRL publication
without affecting performance
– 1 minute
© Rosti/DSI
NPS - 02/22/01
43
Impact of full CRL generation
80
classe1: richieste
self-signed
s
70
classe2: revoche
self-signed
Response time
60
50
classe3: delta-CRL
40
30
classe4: richieste
RA-generated
20
6 = 0.00007
once every
4 hours
classe5: revoche
RA-generated
10
0
0
0,5
1
1,5
2
2,5
3
3,5
4
classe6: full-CRL
Arrival rate
classe1: richieste
self-signed
40
s
30
classe2: revoche
self-signed
Response time
35
25
classe3: delta-CRL
20
variable 6
classe4: richieste
RA-generated
15
10
5
classe5: revoche
RA-generated
0
classe6: full-CRL
0
0,5
© Rosti/DSI
1
1,5
2
2,5
Arrival rate
3
3,5
4
NPS - 02/22/01
44
Model results
• Signed log files
– each operation performed by CA logged
– CA signs each file entry
– service times per class (s)
CA
cl1
cl2
cl3
cl4
cl5
2.498
1.332
1.162
2.162
1.332
cl1: self-sig. req.
cl2: self-sig. rev.
cl3: delta-CRL
cl4: RA-gen req.
cl5: RA-gen rev.
© Rosti/DSI
NPS - 02/22/01
45
Signed log file
• Unbalanced load
– 1 = 4 = 41%, 2 = 5 = 9%
• max  0.4 req/s
– 1 = 4 = 17%, 2 = 5 = 33%
• max  0.66 req/s
• Balanced load
– 1 = 4 = 2 = 5 = 25%
• max  0.5 req/s
© Rosti/DSI
NPS - 02/22/01
46
Plain vs signed log files
35
classe1: richieste
self-signed
Response time
s
30
25
classe2: revoche
self-signed
20
classe3: CRL
15
classe4: richieste
RA-generated
10
classe5: revoche
RA-generated
5
0
0
0,5
1
1,5
2
2,5
3
3,5
4
Arrival rate
sat  0.5 vs 3.7 req/s
© Rosti/DSI
NPS - 02/22/01
47
Enhancements
• Directory requests according to
[Cooper2000]
– sliding window over-issued delta-CRL
• full CRL every 20 hours
• delta-CRL every ten minutes, valid for 4 hours
– directory utilization increases
– max not affected
© Rosti/DSI
NPS - 02/22/01
48
Enhancements
• Revocations are signed and immediately
published
– users query the repository directly – no CRL
– 2.5 < max < 3 req/s with balanced and
unbalanced load
© Rosti/DSI
NPS - 02/22/01
49
Response time
s
Over-issued CRL vs no CRL
25
classe1: richieste
self-signed
20
classe2: revoche
self-signed
15
classe3: CRL
Over-issued CRL
w/ balanced load
10
classe4: richieste
RA-generated
5
classe5: revoche
RA-generated
0
0
0,5
1
1,5
2
2,5
3
3,5
Arrival rate
4
classe6: accessi
al Repository
s
35
classe1: richieste
self-signed
30
Response time
25
classe2: revoche
self_signed
20
15
classe3: richieste
RA_generated
10
5
classe4: revoche
RA-generated
0
0
0,5
© Rosti/DSI
1
1,5
2
Arrival rate
2,5
3
revocations
signed
individually
balanced load
3,5
NPS - 02/22/01
50
Enhancements
• Online Certificate Status Protocol
– users query OCSP responder
– only OCSP responder downloads CRL
– OCSP signs replies to users
– max_OCSP  5.67 query/s
– 3.5 < max < 4 req/s with balanced load
© Rosti/DSI
NPS - 02/22/01
51
OCSP
s
45
classe1: richieste
self-signed
40
Response time
35
30
classe2: revoche
self-signed
25
classe3: delta-CRL
single OCSP
20
classe4: richieste
RA-generated
15
10
classe5: revoche
RA-generated
5
0
0
0,5
1
1,5
2
2,5
3
3,5
classe6: richieste
all'OCSP
4
Arrival rate
classe1: richieste
self-signed
40
s
35
classe2: revoche
self-signed
Response time
30
25
classe3: CRL
11 OCSP server
20
15
classe4: richieste
RA-generated
10
5
classe5: revoche
RA-generated
0
0
0,5
© Rosti/DSI
1
1,5
2
2,5
Arrival rate
3
3,5
4
4,5
classe6: responder
NPS - 02/22/01
OCSP 1-11
52
Future work
• Compare results with software-only
systems
– no cryptographic coprocessor used
• Include communication time
– bottleneck might switch
• Add Timestamp Authority
• Estimate total number of users for a
given performance level
© Rosti/DSI
NPS - 02/22/01
53
Bibliography
• Cooper1999: D.A. Cooper, A model of
certificate revocation, 15th Annual
Computer Security Application
Conference, pp 256-264, 1999.
• Cooper2000: D.A. Cooper, A more
efficient use of delta-CRL, 2000 IEEE
Symposium of Security and Privacy, pp
190-202, 2000.
© Rosti/DSI
NPS - 02/22/01
54
Download