[vwnc] X509.Certificate issue

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
2 messages Options
Reply | Threaded
Open this post in threaded view
|

[vwnc] X509.Certificate issue

kobetic
I haven't been following X.509 developments in a while, but the specs used to be fairly adamant about requiring CA certificates to have BasicConstraints. Here's the relevant bit on BasicConstraints from RFC#5280 which seems to be the latest:
------
 Conforming CAs MUST include this extension in all CA certificates
   that contain public keys used to validate digital signatures on
   certificates and MUST mark the extension as critical in such
   certificates.  
-------
BC is the primary attribute that distinguishes certificates that are allowed to issue other certificates from the rest. This distinction is critical from the security point of view. Without it a CA has no way to prevent its subjects from issuing fraudulent certificates. For example if ACME-CA issues a certificate to John Doe, and John Doe then turns around and issues a certificate for Bank Of America for his phishing web server, a web browser has no way of distinguishing it from other valid certificates issued by ACME-CA. Not unless it can determine that John Doe has no right to issue other certificates. That's what BC is for.

KeyUsage has a flag that is relevant (keyCertSign). It seems that the new versions of the spec are more strict about requiring inclusion of this extension as well (for CAs), but it doesn't allow using it instead of BC.

------
        ...
           Conforming CAs MUST include this extension in certificates that
   contain public keys that are used to validate digital signatures on
   other public key certificates or CRLs.  When present, conforming CAs
   SHOULD mark this extension as critical.
       
        ...

      The keyCertSign bit is asserted when the subject public key is
      used for verifying signatures on public key certificates.  If the
      keyCertSign bit is asserted, then the cA bit in the basic
      constraints extension (Section 4.2.1.9) MUST also be asserted.

-------

So I'd say that the new CA certificate is quite suspicious, failing fairly fundamental criteria of the spec.
That's why the framework complains about it.

As far as work-arounds go, that should be fairly easy. This warning, as all the other X.509 Warnings, is resumable. So I'd suggest to use a handler with a big, fat comment explaining why you're forced to ignore a serious security warning, making sure that the certificate in question (parameter of the exception) is the one that you're willing to tolerate in your application, and if so then resume the exception. Otherwise pass it on.

HTH,

Martin

"Mark Petersen"<[hidden email]> wrote:

> A server we use XmlRpc with had a new certificate installed today.  I
> believe it was from VeriSign.  I'm trying to update our X509Registry and
> have run into a problem.  When I try to add the new certificate (after
> removing the old one) I get "Basic Constraints are required for a CA
> certificate".  Comparing old and new certificates I see the following
> differences in the section that seems to be the problem:
>
> Old:
>             0a:78:35:02:e2:a6:69:ea:07
>             Exponent: 65537 (0x10001)
>             X509v3 extensions:
>             X509v3 Basic Constraints: critical
>             CA:TRUE
>             Signature Algorithm: sha-1WithRSAEncryption
>             69:45:54:43:b6:5d:c0:b0:1b:3a:88:7c:e9:33:67:1b:1b:32:
>
> New:
>                                                                                                                                        
>                                                                                                                                        
>               5d:a9:04:b5:98:b8:06:22:81                                                                                              
>               Exponent: 65537 (0x10001)                                                                                                
>               X509v3 extensions:                                                                                                      
>               X509v3 Key Usage: critical                                                                                              
>               Digital Signature, Non Repudiation, Key Encipherment, Encryption                                                        
>               SubjectKeyIdentifier:                                                                                                    
>               2.5.29.31:                                                                                                              
>               2.5.29.35:                                                                                                              
>               2.5.29.37: Signature Algorithm: sha-1WithRSAEncryption                                                                  
>               43:b5:d5:a2:80:5f:7f:ad:51:20:ca:69:29:bb:1b:65:d2:1e:                                                                  
>                                                                                                                                        
>
>
>
> Indeed, I don't see a Basic Constraints stanza in the new certificate.  Is
> Basic Constraints: now Key Usage:?  Any ideas why this would be?  Is there
> a work-around or fix?
>
> Thanks,
>
>
>                                                                            
>  Mark K. Petersen        (Embedded image moved to    Home Office: (319)    
>  Semiconductor Research  file: pic20898.jpg)         406-4165 Cell: (845)  
>  and Development Center                              235-4360              
>  IBM Global Engineering                              Internet email:      
>  Solutions                                           [hidden email]  
>                                                      DMACS Wiki            
>                                                      DMACS Forum          
>                                                                            
>
>
>
>
>
>
> _______________________________________________
> vwnc mailing list
> [hidden email]
> http://lists.cs.uiuc.edu/mailman/listinfo/vwnc
>

_______________________________________________
vwnc mailing list
[hidden email]
http://lists.cs.uiuc.edu/mailman/listinfo/vwnc
Reply | Threaded
Open this post in threaded view
|

Re: [vwnc] X509.Certificate issue

MarkPetersen
Thanks for the information, Martin.  Yes, I was able to proceed and load.
I forwarded your comments to the owner of the certificate.  He says he got
it from GeoTrust, who uses VeriSign as their root cert signer.  Seems odd
they would ignore Basic Constraints.

Thanks,


                                                                           
 Mark K. Petersen        (Embedded image moved to    Home Office: (319)    
 Semiconductor Research  file: pic12852.jpg)         406-4165 Cell: (845)  
 and Development Center                              235-4360              
 IBM Global Engineering                              Internet email:      
 Solutions                                           [hidden email]  
                                                     DMACS Wiki            
                                                     DMACS Forum          
                                                                           








                                                                                                                         
  From:       [hidden email]                                                                                        
                                                                                                                         
  To:         Mark Petersen/Fishkill/IBM@IBMUS                                                                          
                                                                                                                         
  Cc:         <[hidden email]>                                                                                        
                                                                                                                         
  Date:       11/23/2009 04:18 PM                                                                                        
                                                                                                                         
  Subject:    [vwnc] X509.Certificate issue                                                                              
                                                                                                                         





I haven't been following X.509 developments in a while, but the specs used
to be fairly adamant about requiring CA certificates to have
BasicConstraints. Here's the relevant bit on BasicConstraints from RFC#5280
which seems to be the latest:
------
 Conforming CAs MUST include this extension in all CA certificates
   that contain public keys used to validate digital signatures on
   certificates and MUST mark the extension as critical in such
   certificates.
-------
BC is the primary attribute that distinguishes certificates that are
allowed to issue other certificates from the rest. This distinction is
critical from the security point of view. Without it a CA has no way to
prevent its subjects from issuing fraudulent certificates. For example if
ACME-CA issues a certificate to John Doe, and John Doe then turns around
and issues a certificate for Bank Of America for his phishing web server, a
web browser has no way of distinguishing it from other valid certificates
issued by ACME-CA. Not unless it can determine that John Doe has no right
to issue other certificates. That's what BC is for.

KeyUsage has a flag that is relevant (keyCertSign). It seems that the new
versions of the spec are more strict about requiring inclusion of this
extension as well (for CAs), but it doesn't allow using it instead of BC.

------
             ...
                Conforming CAs MUST include this extension in certificates
that
   contain public keys that are used to validate digital signatures on
   other public key certificates or CRLs.  When present, conforming CAs
   SHOULD mark this extension as critical.

             ...

      The keyCertSign bit is asserted when the subject public key is
      used for verifying signatures on public key certificates.  If the
      keyCertSign bit is asserted, then the cA bit in the basic
      constraints extension (Section 4.2.1.9) MUST also be asserted.

-------

So I'd say that the new CA certificate is quite suspicious, failing fairly
fundamental criteria of the spec.
That's why the framework complains about it.

As far as work-arounds go, that should be fairly easy. This warning, as all
the other X.509 Warnings, is resumable. So I'd suggest to use a handler
with a big, fat comment explaining why you're forced to ignore a serious
security warning, making sure that the certificate in question (parameter
of the exception) is the one that you're willing to tolerate in your
application, and if so then resume the exception. Otherwise pass it on.

HTH,

Martin

"Mark Petersen"<[hidden email]> wrote:

> A server we use XmlRpc with had a new certificate installed today.  I
> believe it was from VeriSign.  I'm trying to update our X509Registry and
> have run into a problem.  When I try to add the new certificate (after
> removing the old one) I get "Basic Constraints are required for a CA
> certificate".  Comparing old and new certificates I see the following
> differences in the section that seems to be the problem:
>
> Old:
>             0a:78:35:02:e2:a6:69:ea:07
>             Exponent: 65537 (0x10001)
>             X509v3 extensions:
>             X509v3 Basic Constraints: critical
>             CA:TRUE
>             Signature Algorithm: sha-1WithRSAEncryption
>             69:45:54:43:b6:5d:c0:b0:1b:3a:88:7c:e9:33:67:1b:1b:32:
>
> New:
>

>

>               5d:a9:04:b5:98:b8:06:22:81

>               Exponent: 65537 (0x10001)

>               X509v3 extensions:

>               X509v3 Key Usage: critical

>               Digital Signature, Non Repudiation, Key Encipherment,
Encryption
>               SubjectKeyIdentifier:

>               2.5.29.31:

>               2.5.29.35:

>               2.5.29.37: Signature Algorithm: sha-1WithRSAEncryption

>               43:b5:d5:a2:80:5f:7f:ad:51:20:ca:69:29:bb:1b:65:d2:1e:

>

>
>
>
> Indeed, I don't see a Basic Constraints stanza in the new certificate.
Is
> Basic Constraints: now Key Usage:?  Any ideas why this would be?  Is
there
> a work-around or fix?
>
> Thanks,
>
>
>

>  Mark K. Petersen        (Embedded image moved to    Home Office: (319)

>  Semiconductor Research  file: pic20898.jpg)         406-4165 Cell: (845)

>  and Development Center                              235-4360

>  IBM Global Engineering                              Internet email:

>  Solutions                                           [hidden email]

>                                                      DMACS Wiki

>                                                      DMACS Forum

>

>
>
>
>
>
>
> _______________________________________________
> vwnc mailing list
> [hidden email]
> http://lists.cs.uiuc.edu/mailman/listinfo/vwnc
>


_______________________________________________
vwnc mailing list
[hidden email]
http://lists.cs.uiuc.edu/mailman/listinfo/vwnc

pic12852.jpg (9K) Download Attachment