Btw let me know if I can ever be of help. Ryan Hurst Chief Technology Officer GMO Globalsign
twitter: @rmhrisk email: ryan.hu...@globalsign.com phone: 206-650-7926 Sent from my phone, please forgive the brevity. On Jun 14, 2013, at 3:09 PM, Jakob Bohm <jb-open...@wisemo.com> wrote: > On 6/13/2013 1:50 AM, Ryan Hurst wrote: >> They are doing a CA signed OCSP response, this is legitimate. >> >> We will do this in the not so distant future as well for many of our >> responses also. > > Please don't! > > As a knowledgeable GlobalSign customer I would prefer that you keep your root > private keys as secure as possible. > > Using CA signed OCSP responses implies some serious and almost > impossible to mitigate security risks: > > -+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ > -+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ > > For a "CRL-style" CA signed OCSP responder: > > - I define this as an OCSP responder that returns ONLY pregenerated > responses, which it receives a a regular batch of responses for all > issued certificates from the offline CA. > > 1. The short validity times expected by OCSP clients requires that new > response batches are created 100 times per day or more, while the need > to remain compatible with older (RFC2560) clients requires each > response in the batch to cover only one certificate. Together, these > two factors provides attackers with an easily collected collection of > millions of signatures on algorithmically predictable data issued by > the root key. This is exactly the kind of data needed for most > otherwise infeasible/theoretical attacks on a public/private key pair. > > 2. The only way to make the signed data in a pregenerated OCSP response > unpredictable is to include a random salt in a non-standard extension > in each response. To avoid leaking the state of the internal RNG of > the CA's HSM, such salt must be generated by a trusted RNG unrelated > to the one in the primary HSM. > > 3. Due to shortcomings of the OCSP protocol documents, response batches > can only be pregenerated ahead of time by including false time > information in them, (lack of clarity means that some clients might > reject producedAt values before thisUpdate) at best one could use the > CRL reference extension to indicate the true generation time, but only > if a real CRL is also generated as part of the batch. This makes it > hard to take the root key holding HSM temporarily offline for security > issues or any other good reason. This issue persists in RFC6960. > > 4. Due to shortcomings and lack of foresight in the OCSP protocol > documents, the generation and return of responses using the SHA-1 hash > algorithm will probably remain necessary at least until June 2021 (the > 10 year anniversary of RFC6277), and responses using the SHA-256 hash > algorithm until an unknown date after the year 2023 (since no RFC has > yet been issued specifying any other must-accept algorithms). > > Furthermore, there are no must-accept algorithms using any > contemporary version of DSA, nor using any algorithms not from the > NSA-designed MD4-derived old SHA algorithms. There is not even a > requirement that clients must accept the algorithm used to sign the > certificate being checked. This issue persists in RFC6960. > > 5. There is no feasible way to pregenerate negative responses for never- > issued certificates. Most notably, such negative responses cannot > cover a range of unissued serial numbers and standard practice uses > serial numbers so long that it is virtually impossible to even store > one bit of response data for each unused serial number, let alone > transmit such responses. The closest potential solution would be to > use a streaming algorithm to generate but not store a sequence of > SingleResponse for all serial numbers from X to Y, compute and store > the surrounding parts of a BasicOCSPResponse holding that sequence, > then recreate it on the fly when sending this response to a requestor, > however the transmission bandwidth of such a monster response would > still be prohibitive. This issue is present in RFC6960. > > 6. A "CRL-style" CA signed OCSP responder cannot respond to requests > covering more than one certificate, since doing so requires the > generation and storage of responses for almost infinitely many sets > of certificates. If the client implements RFC6960, it is possible to > simply send back a pre-signed response which is essentially the entire > CRL in a different format, however the protocol does not provide this > information in the Request, so this cannot be done until June 2023 (10 > year anniversary of RFC6960). > > -+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ > -+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ > > For a truly online CA-signed OCSP responder, things are even worse: > > - I define this as an OCSP responder which generates responses on the > fly and signs them with the CA root key. > > 1. It requires the CA root key to be available to at least one system > (HSM or otherwise) with access to the CA private key to be online in > a manner which completely prevents human vetting of requests (because > the root key must be used at very short notice 24x7). This provides > an avenue for seriously motivated attackers to work their way through > all the security layers one by one until they reach the private key. > > The GlobalSign root keys are such valuable targets to both criminal > and rogue government government groups that a STYX style operation to > capture them must always be expected. > > 2. It requires the HSM storing the root key to never be offline, at > all. This makes it impossible to take the root key holding HSM > temporarily offline for security issues or any other good reason. > > 3. Due to shortcomings and lack of foresight in the OCSP protocol > documents, the generation and return of responses using the SHA-1 hash > algorithm will probably remain necessary at least until June 2021 (the > 10 year anniversary of RFC6277), and responses using the SHA-256 hash > algorithm until an unknown date after the year 2023 (since no RFC has > yet been issued specifying any other must-accept algorithms). > > Furthermore, there are no must-accept algorithms using any > contemporary version of DSA, nor using any algorithms not from the > NSA-designed MD4-derived old SHA family. There is not even a > requirement that clients must accept the algorithm used to sign the > certificate being checked. This issue persists in RFC6960. > > 4. It allows, by design, anonymous remote users to request a huge > number of sample signatures made with the root private key, which is > exactly the unobtainable part of many known theoretical attacks, and > this is likely to be the case of many yet-to-be known future attacks. > > The standard countermeasures against such attacks are likely to be > ineffective in the case of a high profile OCSP responder: > > 4.1 Limiting the request rate to a safe value is not possible, an OCSP > responder for a large CA must by definition process millions of > requests per week, each with subsecond response time. > > 4.2 Watching for suspect request patterns and taking the system > offline until the attack fades away. Taking an OCSP responder offline > for even a few minutes will have devastating consequences that > preclude taking such measures on a mere suspicion (and when it is no > longer just a suspicion, it is probably too late). > > 4.3 Blocking IPs that issue suspiciously many requests will be > ineffective (because anyone going after such a high value target is > likely to use botnets or other request IP scattering techniques), and > counterproductive (because it will most likely detect and falsely > block major proxies, online virus scanning services etc.). > > 4.4 Salting the responses with random or other attacker-uncontrolled > data requires the ability to know which aspects of such salting will > prevent which attacks. And high profile CAs need to be prepared for > unknown attacks on their private key. Random salts also provide > attackers with excellent insights into the RNG employed, thus any > security weakness in the RNG design (even if it is backed by a true > quantum phenomenon hardware RNG) can be more readily exploited by > attackers. > > 4.5 Rejecting requests for the status of never issued certificates at > a front end without (indirect) root key access may reduce the > attackers flexibility in choosing data to be signed, but there are > still plenty of issued certificates that can be harvested from public > certificate uses, collated and sorted on their bit patterns relative > to the needs of the attempted attack. > > 4.6 Caching responses, so each certificate only gets a freshly signed > OCSP response once every few minutes, severely limits the ability of > OCSP clients to verify that the response is current, and cannot cope > with some of the protocol requirements (request nonces, multiple > certificates in one request, negative responses for never issued > certificates), while still providing lots of data (100.000 unique > signatures per issued cert per year of validity if you cache each > response for 5 minutes). And note that the attacker will have the > full root cert lifetime to gather up sample responses for input to his > cryptanalysis. > > -+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ > -+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ > > Contrast this with the security properties of a delegated OCSP > responder: > > 1. Delegated OCSP signing certs can be routinely revoked and replaced > as often as needed (you will need to set up a second OCSP responder > URL, with each URL the sole source of OCSP checking of certificates > issued to responders at the other URL). > > 2. Spare and backup responders can be prepared, complete with their own > private keys and certificates ahead of time. > > 3. Because their hardware lifetime is not tied to the (old) HSM holding > a 30+ year key, delegated OCSP responders can deploy new security > measures without having to work around hardware limitations of the > existing HSMs used. In fact, even if no HSM implementations of a new > security measure are available, an ordinary server with an ultra- > short-lifespan OCSP-responder certificate can do the job with little > overall risk until a more robust implementation is available. > > 4. Because there is no requirement that all responses are signed with > the same key, delegated OCSP responders can be set up as redundant > systems with multiple servers and sites handling the same OCSP URL, > allowing maintenance to be done without taking all the clients offline. > > 5. In case of non-compromised root key loss (imagine if the root key > facility had been in in Dresden last week or New York during Sandy or > the 2001 attack), a delegated OCSP responder with a pre-issued > non-expiring certificate can continue to serve customers while a new > root key is brought online, deployed into browser trust stores and > finally used to issue new replacement certificates. For good measure, > supplement with a set of similar delegated CRL signing certs, although > I suspect the latter would not be usable with many existing clients. > > 6. In case of root key compromise, a handful of almost-never-expiring > OCSP certificates can be pregenerated and stored at secure off-site > locations. In case of disaster, these can be installed on OCSP > servers that return "key compromise, certificate revoked" for all > requests that mention the lost CA. These (along with pre-signed > non-expiring revoke-all CRLs) can be used even if access to the > compromised root private key was lost in the disaster, e.g. due to > a too late triggering of a self-destruct mechanisms. Remember to not > use all the pre-issued OCSP certificates at once, hold some of them > back in case the online ones are compromised. > > > > Enjoy > > Jakob > -- > Jakob Bohm, CIO, Partner, WiseMo A/S. http://www.wisemo.com > Transformervej 29, 2730 Herlev, Denmark. Direct +45 31 13 16 10 > This public discussion message is non-binding and may contain errors. > WiseMo - Remote Service Management for PCs, Phones and Embedded > ______________________________________________________________________ > OpenSSL Project http://www.openssl.org > User Support Mailing List openssl-users@openssl.org > Automated List Manager majord...@openssl.org
smime.p7s
Description: S/MIME cryptographic signature