View Issue Details

IDProjectCategoryView StatusLast Update
000203210000-004: Servicespublic2012-07-03 18:00
ReporterJim Luth Assigned ToMatthias Damm  
PriorityhighSeverityfeatureReproducibilityalways
Status closedResolutionwon't fix 
Fixed in Version1.02 
Summary0002032: Make 'X509 'Authority Key Identifier' extension mandatory for application instance certificates
Description

According to RFC 3280, the 'Authority Key Identifier' extension is mandatory for certificates signed by CAs. For self-signed CA- and non-CA-certificates this extension is optional.

This leads to following problem:

  • Server creates it's self-signed cert (A)
  • Cert (A) is copied to client trust cert store
  • Server cert gets invalid (e.g. expires), so a new one (B) is created
  • Cert (B) is copied to client trust cert store

Now the client connects to the server, the server sends it's cert to the client and the client PKI provider looks if the cert is trusted. When searching for the issuer cert of the server cert, it compares the Issuer of the server cert with the Subject of the certs in it's store.

If now the first cert looked at is (A), the compare returns true (Subject and Issuer of (A) and (B) are the same), and the signature of the server cert is checked. This check fails, as the signature of (B) is made with the key of (B), and the connection attempt will fail.

Adding the 'Authority Key Identifier' (AKID) extension to the certificates would prevent this problem, as PKI providers check this extension if existing when searching for an issuer certificate. The AKID would be different in (A) and (B), as the keys used in the certificates would be different.

This is why the 'Authority Key Identifier' extension should be made mandatory for all application instance certificates.

Additional Information

http://www.ietf.org/rfc/rfc3280.txt
-> 4.2.1.1 Authority Key Identifier

http://www.openssl.org/docs/apps/verify.html
-> VERIFY OPERATION

TagsNo tags attached.
Commit Version
Fix Due Date

Relationships

related to 0001893 closedRandy Armstrong 10000-006: Mappings Make 'X509 'Authority Key Identifier' extension mandatory for application instance certificates 

Activities

Jim Luth

2012-05-08 19:51

administrator   ~0003653

From telco minutes:

Mantis issue 1893 – need to create a copy of for Part 4 (with a note that Part 4 should describe expected behavior of tool and or manual install of certificates) – better solution is for part 4 to address it further.

Matthias Damm

2012-07-03 15:26

developer   ~0003827

Added the following text to 6.1.3 Determining if a Certificate is Trusted
The process of marking an ApplicationInstanceCertificates as trusted shall contain a verification if already trusted certificates are not detected as duplicates by the PKI infrastructure. This can happen if a new certificate was created for an application but no Authority Key Identifier is contained in the certificate.

Changed in document "OPC UA Part 4 - Services RC 1.02.19 Specification.doc"

Matthias Damm

2012-07-03 17:59

developer   ~0003834

Decided in telco on July 3 that we have enough information in Part 6 already.

Jim Luth

2012-07-03 18:00

administrator   ~0003835

Agreed to no fix in telecon.

Issue History

Date Modified Username Field Change
2012-05-08 19:49 Jim Luth New Issue
2012-05-08 19:49 Jim Luth Status new => assigned
2012-05-08 19:49 Jim Luth Assigned To => Matthias Damm
2012-05-08 19:49 Jim Luth Issue generated from: 0001893
2012-05-08 19:49 Jim Luth Relationship added related to 0001893
2012-05-08 19:50 Jim Luth Project 10000-006: Mappings => 10000-004: Services
2012-05-08 19:51 Jim Luth Note Added: 0003653
2012-07-03 15:26 Matthias Damm Status assigned => resolved
2012-07-03 15:26 Matthias Damm Resolution open => fixed
2012-07-03 15:26 Matthias Damm Note Added: 0003827
2012-07-03 17:58 Matthias Damm Status resolved => assigned
2012-07-03 17:59 Matthias Damm Status assigned => resolved
2012-07-03 17:59 Matthias Damm Resolution fixed => won't fix
2012-07-03 17:59 Matthias Damm Note Added: 0003834
2012-07-03 18:00 Jim Luth Status resolved => closed
2012-07-03 18:00 Jim Luth Note Added: 0003835
2012-07-03 18:00 Jim Luth Fixed in Version => 1.02