Solved

ignore CRL during smart card logon (3rd party CA)

Posted on 2008-10-01
7
2,150 Views
Last Modified: 2013-12-04
Hello,

we're using smart cards (required) provided by a third party to logon to windows. Every now and then the CRL-retrieval fails which obviously is not good. Usually a new CRL is successfully retrieved prior to the old CRL expires but on two occasions it did not.
This meant that all users was locked out and only got a error message when they tried to logon to windows.

So, to minimize the impact if this should happen again I'd like to be able to ignore the expiration-date of a CRL.
Basically:
if a CRL exists, check it
if it's old, ignore it and let the users in
Yes, I am aware that this is a security issue, but it is only during a very limited time that a potential hacker/disgruntled employee can use it.

Is it at all possible to ignore CRL-checking during windows logon?
Is it possible to have the granularity I want?

regards,
M
0
Comment
Question by:M031097
  • 4
  • 3
7 Comments
 
LVL 31

Expert Comment

by:Paranormastic
Comment Utility
Personally, I think a better solution would be to contact the CA provider, which I am assuming is a business partner's internal CA, and ask them to publish their CRL more often than what is set for the expiration period.
Normally the CRL will automatically publish itself at 90% of the lifespan, if memory serves.  What is normally done is to publish it at least at the halfway point.  By this I mean that if it publishes once per week, have it scripted to do so every 3 days, if once per day then script every 12 hours, etc.  This way there is plenty of overlap.
Sometimes they don't think of scripting copying the CRL from the windows\system32\certsrv\certenroll directory to the CRL distribution points automatically - this could easily be done in the same script.
If you want to be extra helpful to them, I have a generic script for doing so in this article you could send them:
http://www.experts-exchange.com/Microsoft/Windows_Security/Q_23813051.html

This way you do not compromise your security for their shortcomings.  Bypassing this type of setting is really not a good idea if cert logon is required.
Note: if it is just a connection issue to  the CRL, the first time the client connects it will cache the CRL and a method to validate the cert offline.  This is done mainly for laptops.  The previous 10 user accounts that log in (using or not using certs) will be cached by default.
0
 

Author Comment

by:M031097
Comment Utility
Thanks for your input.

Unfortunately it's not really what I'm after.
The CRLs are created as soon as a certificate is revoked.

So it's not really the CRL-generation that causes problem, it's during the times where
the retrieval from the third-party CA fails, regardless of reason.
And fails for the entire validity of course.

/M
0
 
LVL 31

Expert Comment

by:Paranormastic
Comment Utility
I still hold true to my previous answer, but with this change put into it to make it real.

It sounds to me like there is an issue with how and/or how often they publish their CRLs.  Maybe not enough bandwidth, but probably more likely either issuing Base CRLs every revocation instead of Delta CRLs, or having a Base CRL that is just getting out of hand.

1) When certs are revoked either wait until the next CRL publication period, or create a Delta CRL as needed.
2) Adjust certificate lifetimes so that the CRL does not become overly populated (512 key - do not use, 1024 = 1 year, 2048 = 3 year max).
3) Base CRLs are only issued on predetermined schedule.  This should be every 1/2 CRL Publication Interval - e.g. weekly CRL should be pushed by automated batch script every 3 or 4 days.  This allows for clients to download the new CRL prior to need.
4) Consider extending the CRL publication Interval to reduce the need to check it, if it is being issued to oftten already.
5) Conider issuing the Base CRL more frequently if the Delta CRLs are getting unruly.
6) When issuing certs, consider adding more procedures to the vetting process to reduce revocations during the issuance stage.  If not already using certutil -dump to verify (or some other similar process) then that would be a good place to start to cut down on a number of issuance related issues.
7) Implement OCSP.  This is automatic with Vista/2008 and most current Linux distros.  WinXP/03 and earlier you can shop for 3rd party OCSP client software.  This would also require an OCSP server to be set up on the CA end - if this is a big enough place like DoD where htey are revoking certs frequently under legitimate pretenses, then they would likely already have this in place on their end.  Otherwise they might want to do this.  In a nutshell, OCSP sends info about the cert (about the cert - not you) to the OCSP responder which checks its database and send you back its reply saying if that single cert is good or not.  No more big giant CRL downloads, only tiny 16k OCSP responses.  The OCSP responder gets updated by CRL and is authorized by the CA.  In MS CAs this is best done when upgrading from 2003 to 2008 CA (and is one of many major reasons to do so).  Plus it cuts down on their bandwidth costs.  It technically can be done under 2003, but its a mess - do it when upgarding to 08, trust me.
8) Here is the big one - time to close out this CRL and start a new one - this is assuming that the CA isn't coming from a major non-commercial CA like DoD.  In other words, the CRL is too big, time to make it so that the old one can just be downloaded and left alone, and all new certs are issued so that they are checked against a new CRL.  This can be done a number of different ways:
7a) Issue a new CA cert for the issuing CA (can still keep the same CA keyset).  This is actually the suggested option in most cases.  The root CA should hopefully be a different server, so impact should be nominal.
7b) CRL partitioning or other alternate method of splitting up the CRL into chunks.
0
Better Security Awareness With Threat Intelligence

See how one of the leading financial services organizations uses Recorded Future as part of a holistic threat intelligence program to promote security awareness and proactively and efficiently identify threats.

 

Author Comment

by:M031097
Comment Utility
Hi again,

I am sorry, I might have been unclear but you're missing the point.

In 99% of the time everything works fine.
It is not the CRL in itself that is the problem it is how Windows uses the CRL.
When you use a third-party CA you trust that CA... in every way... BUT, if
you cannot download the new CRL during the old CRLs validity (again, for
whatever reason), what will you do?

You do have many valid points, but the main problem is, that if you fail the 3rd
party CRL download....well what then?
0
 
LVL 31

Accepted Solution

by:
Paranormastic earned 500 total points
Comment Utility
Normally the answer would be to log in using username and password.  If it is set to force SC logon, then you wouldn't have much for options.

I'm not sure if this is supported pre-Vista, but you can try it out... backup your registry and system state first...  Again, I really don't think this is a good idea for a production environment, but...
http://technet.microsoft.com/en-us/library/cc721959.aspx
0
 
LVL 31

Expert Comment

by:Paranormastic
Comment Utility
The main idea of getting them to publish the CRL by script instead of automatically is so that the clients do have the ability to download it early.  The CRL should not expire in less than a full day, even in secure environments.  Usually in normal environments once a week or month is plenty.  Then you push a script to cut a new CRL well before the old one expires, cutting down on latency issues (not to mention giving the CA admin time to recover in case of failure right before the CRL expires).
0
 

Author Comment

by:M031097
Comment Utility

It seems that what I want to do is not possible.
A sort-of dynamic disabling of CRL-checking.

Any way, thanks for your input

Regards,
M
0

Featured Post

Threat Intelligence Starter Resources

Integrating threat intelligence can be challenging, and not all companies are ready. These resources can help you build awareness and prepare for defense.

Join & Write a Comment

Recently, a new law in my state forced us to get a top-to-bottom analysis of all of our contract client's networks. While we have documentation, it was spotty at best for some - and in any event it needed to be checked against reality. That was m…
The term "Bad USB" is a buzz word that is usually used when talking about attacks on computer systems that involve USB devices. In this article, I will show what possibilities modern windows systems (win8.x and win10) offer to fight these attacks wi…
Here's a very brief overview of the methods PRTG Network Monitor (https://www.paessler.com/prtg) offers for monitoring bandwidth, to help you decide which methods you´d like to investigate in more detail.  The methods are covered in more detail in o…
Polish reports in Access so they look terrific. Take yourself to another level. Equations, Back Color, Alternate Back Color. Write easy VBA Code. Tighten space to use less pages. Launch report from a menu, considering criteria only when it is filled…

772 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

10 Experts available now in Live!

Get 1:1 Help Now