Closed
Bug 1398261
Opened 7 years ago
Closed 6 years ago
Visa: Non-BR-Compliant OCSP Responders
Categories
(CA Program :: CA Certificate Compliance, task)
Tracking
(Not tracked)
RESOLVED
FIXED
People
(Reporter: kathleen.a.wilson, Assigned: masilva, NeedInfo)
References
Details
(Whiteboard: [ca-compliance] [ocsp-failure])
Problems have been found with OCSP responders for this CA, and reported in the mozilla.dev.security.policy forum here: https://groups.google.com/d/msg/mozilla.dev.security.policy/o1MX07iWDco/RuM1NK_0AQAJ As per section 4.9.10 of the BRs, OCSP responders MUST NOT respond with a “good” status for unissued certificates. The effective date for this requirement was 2013-08-01. Please provide an incident report in this bug, as described here: https://wiki.mozilla.org/CA/Responding_To_A_Misissuance#Incident_Report
Comment 1•7 years ago
|
||
Marcelo: it has now been 13 days. Please respond ASAP to tell us how you plan to address this issue. Gerv
Assignee | ||
Comment 2•7 years ago
|
||
Hi Kathleen/Gerv, after numerous tests, we were unable to replicate this issue. We have then escalated this issue to our vendor to review, confirm and remediate any issues with the OCSP responder. They were able to reproduce the tests using the MS certutil command using a "fake" certificate including our OCSP URL, and got the expected result: Request unauthorized (6). Please see below the test results: ============= 50 54 1:54:18 PM 9/22/2017 2.5227428 certutil.exe 10.86.141.251 ocsp.visa.com OCSP OCSP:Request, Version = v1 (0) {HTTP:32, TCP:31, IPv4:30} Frame: Number = 54, Captured Frame Length = 154, MediaType = WiFi + WiFi: [Unencrypted Data] .T....., (I) + LLC: Unnumbered(U) Frame, Command Frame, SSAP = SNAP(Sub-Network Access Protocol), DSAP = SNAP(Sub-Network Access Protocol) + Snap: EtherType = Internet IP (IPv4), OrgCode = XEROX CORPORATION + Ipv4: Src = 10.86.141.251, Dest = 198.241.174.58, Next Protocol = TCP, Packet ID = 26918, Total IP Length = 90 + Tcp: Flags=...AP..., SrcPort=55640, DstPort=HTTP(80), PayloadLen=50, Seq=694651240 - 694651290, Ack=3077059779, Win=258 + Http: HTTP Payload, URL: /ocsp - OCSP: Request, Version = v1 (0) - OcspRequest: 0x1 + SequenceHeader: - TbsRequest: + SequenceHeader: 0x1 DefaultVersion: v1 (0) + SequenceofHeader: RequestList - Request: - SequenceHeader: + AsnId: Sequence and SequenceOf types (Universal 16) + AsnLen: Length = 42, LengthOfLength = 0 - ReqCert: + SequenceHeader: + HashAlgorithm: IdSha1 (1.3.14.3.2.26) + IssuerNameHash: Hash of Issuer's DN - IssuerKeyHash: Hash of Issuer's public key + AsnOctetStringHeader: - SerialNumber: 65568 - SerialNumber: 65568 + AsnIntegerHeader: AsnInt: 65568 (0x10020) 0 55 1:54:18 PM 9/22/2017 2.8383556 certutil.exe ocsp.visa.com 10.86.141.251 TCP TCP:Flags=...A...., SrcPort=HTTP(80), DstPort=55640, PayloadLen=0, Seq=3077059779, Ack=694651290, Win=513 {TCP:31, IPv4:30} 383 56 1:54:18 PM 9/22/2017 2.8383556 certutil.exe ocsp.visa.com 10.86.141.251 OCSP OCSP:Response, Status = Request unauthorized (6) {HTTP:32, TCP:31, IPv4:30} ============= We are also testing a different vendor solution and planning to replace it soon. Thanks, Marcelo
Comment 3•7 years ago
|
||
I get an unauthorized response if I send a nonce, but that's appears to be true for any serial number, including valid ones (e.g. https://crt.sh/?q=329cf245b61e639b759b048b8f5c8399fe676be17766d38e18c23aac6a6e50e8. When passing no nonce the problem is clearly demonstrable. Here's an easy way to replicate it using the OpenSSL CLI: 1) Download a copy of the Visa eCommerce Issuing CA (https://crt.sh/?id=12629307). You can click "download certificate PEM" on the left side of the page. 2) Within the directory you saved the file: openssl ocsp -issuer 12629307.crt -serial 1010101010101010101010101011010101011010 -url http://ocsp.visa.com/ocsp -no_nonce You will get a response that looks like: Response verify OK 1010101010101010101010101011010101011010: good This Update: Sep 29 17:00:01 2017 GMT Next Update: Oct 7 17:00:02 2017 GMT
Assignee | ||
Comment 4•7 years ago
|
||
(In reply to Paul Kehrer from comment #3) > I get an unauthorized response if I send a nonce, but that's appears to be > true for any serial number, including valid ones (e.g. > https://crt.sh/ > ?q=329cf245b61e639b759b048b8f5c8399fe676be17766d38e18c23aac6a6e50e8. When > passing no nonce the problem is clearly demonstrable. > > Here's an easy way to replicate it using the OpenSSL CLI: > > 1) Download a copy of the Visa eCommerce Issuing CA > (https://crt.sh/?id=12629307). You can click "download certificate PEM" on > the left side of the page. > 2) Within the directory you saved the file: openssl ocsp -issuer > 12629307.crt -serial 1010101010101010101010101011010101011010 -url > http://ocsp.visa.com/ocsp -no_nonce > > You will get a response that looks like: > > Response verify OK > 1010101010101010101010101011010101011010: good > This Update: Sep 29 17:00:01 2017 GMT > Next Update: Oct 7 17:00:02 2017 GMT Thank you Paul. I was able to run the test now, and actually I've noticed some issues on the results. I can see the "Good" response as you have indicated, but I can also notice that our OCSP service has indicated a “Response verify failure” message, indicating that the Issuer Certificate wasn’t verified, of course because our OCSP doesn’t recognized any info from this fake certificate. By using the Windows Certutil tool to perform the same test we didn't get a good response, and we were wondering whether the openssl doesn't have an appropriate behavior when this type of test is done. Therefore, we have escalated it to the vendor again looking for some clarification. Please see below the complete results: C:\OpenSSL\bin>openssl ocsp -issuer eCommIssuingCA.crt -serial 1010101010101010101010101011010101011010 -url http://ocsp.visa.com/ocsp -no_nonce Response Verify Failure 15440:error:27069065:OCSP routines:OCSP_basic_verify:certificate verify error:ocsp_vfy.c:138:Verify error:unable to get local issuer certificate 1010101010101010101010101011010101011010: good This Update: Oct 1 17:00:01 2017 GMT Next Update: Oct 9 17:00:02 2017 GMT C:\OpenSSL\bin>
Comment 5•7 years ago
|
||
Hi Marcelo, For clarity, the "response verify failure" message is being emitted by OpenSSL because OpenSSL is failing to build a trust chain locally to validate the response. It is not being emitted by your OCSP service, which is, indeed, completely bamboozled. You may get a clean response from OpenSSL by by fetching a Visa eCommerce Root certificate from e.g. https://crt.sh/?d=896972, concatenating it with the Visa eCommerce Issuing CA certificate (in my example, 12629307.crt), and passing it to openssl, like: $ cat 12629307.crt 896972.crt > combined $ openssl ocsp -issuer 12629307.crt -serial 1234 -url http://ocsp.visa.com/ocsp -no_nonce -CAfile combined Response verify OK 1234: good This Update: Oct 2 17:00:00 2017 GMT Next Update: Oct 10 17:00:01 2017 GMT I expect you will find this is not a fault with the openssl client.
Comment 6•7 years ago
|
||
As Tim already mentioned, the error you're seeing is a local validation error from OpenSSL and is not germane to the issue. Frankly, the responses we've received to date do not demonstrate the technical acumen that is required to operate a CA with public trust, and the lackadaisical manner in which VISA has approached responding to this (and other) issues is deeply concerning.
Comment 7•7 years ago
|
||
The responses to date have to be vetted and require a level of scrutiny and approval prior to posting on any public forum. The OCSP issue identified is actively being researched by our engineers and with the Vendor of our OCSP service. We are also pursuing a replacement, as alternative providers are being validated and tested. If the current vendor is unable to support the required fix, or provide an acceptable explanation, a replacement solution will be introduced and implemented. Visa has not approached this in a lackadaisical manner, but additionally has had to focus on the impact to a complex infrastructure and systems that changes could introduce. Visa is committed to partnering with Mozilla and the CA/Browser forum with their desire to better secure browsers, users, and the infrastructure we all use.
Comment 8•7 years ago
|
||
We reached a conclusion that our current vendor is unable to provide us a workable solution that supports our desire to successfully mitigate this issue. We are moving our OCSP infrastructure to a new platform that meets the requirements of the Mozilla Root Program and CA/Browser Forum Baseline Requirements. We are currently identifying risk and a implementation plan, and expect to complete the transition shortly. We will provide a delivery date once we have finalized the transition plan.
Comment 9•7 years ago
|
||
(In reply to Jason Crawford from comment #8) > We reached a conclusion that our current vendor is unable to provide us a > workable solution that supports our desire to successfully mitigate this > issue. We are moving our OCSP infrastructure to a new platform that meets > the requirements of the Mozilla Root Program and CA/Browser Forum Baseline > Requirements. We are currently identifying risk and a implementation plan, > and expect to complete the transition shortly. We will provide a delivery > date once we have finalized the transition plan. While it's encouraging to see that Visa recognizes the need to transition its OCSP infrastructure, there's still some concerning issues at play here. 1) The response status code requirement was widely discussed, given the roll it played in Diginotar. As noted in Comment #0, this has been a requirement since 2013. Why did Visa not detect or implement these changes, and not discover its vendor was not capable of providing this until 3 days ago (Comment #8)? 2) Visa's issues in testing (Comment #2) don't align with the responses in Comment #7. That is, the matter is not just the timeliness (which seems to be what Comment #7 refers to), but the degree of understanding of the underlying issue - again, widely discussed within the industry. 3) This doesn't provide any sort of information into the post-mortem response process - understanding what procedures Visa already had in place to measure and assess compliance, what steps it took (in 2013) to ensure compliance, why those steps failed, and how those steps are being remediated. Concretely, without understanding these issues, it's unclear that the solution proposed in Comment #8 will meaningfully address the issues - the community has no knowledge that Visa's future selection of a vendor will be able to ensure compliance, nor that its compliance staff will review changes to the BRs, nor that its incident response team will be able to suitably respond to incidents. These are reasons that the discussion on https://bugzilla.mozilla.org/show_bug.cgi?id=1391087#c19 become all the more pertinent, and information that Visa can share to this specific incident can significantly help or hinder those discussions.
Flags: needinfo?(masilva)
Comment 10•7 years ago
|
||
(In reply to Ryan Sleevi from comment #9) > (In reply to Jason Crawford from comment #8) > > We reached a conclusion that our current vendor is unable to provide us a > > workable solution that supports our desire to successfully mitigate this > > issue. We are moving our OCSP infrastructure to a new platform that meets > > the requirements of the Mozilla Root Program and CA/Browser Forum Baseline > > Requirements. We are currently identifying risk and a implementation plan, > > and expect to complete the transition shortly. We will provide a delivery > > date once we have finalized the transition plan. > > While it's encouraging to see that Visa recognizes the need to transition > its OCSP infrastructure, there's still some concerning issues at play here. > > 1) The response status code requirement was widely discussed, given the roll > it played in Diginotar. As noted in Comment #0, this has been a requirement > since 2013. Why did Visa not detect or implement these changes, and not > discover its vendor was not capable of providing this until 3 days ago > (Comment #8)? The original implementation of our OCSP was conducted and implemented under the assumption that the solution provided met the necessary requirements (2014), unfortunately I cannot assume what the engineer at that time concluded. As we have focused on aligning our PKI offering with Baseline requirements, our legacy solutions are undergoing re-evaluation and testing. With the decision to move to a new solution, this is intended to include the OCSP solution as well. The new dedicated technical staff supporting the PKI solution is also focused on Mozilla, BR and industry requirements as part of the long term strategy. > 2) Visa's issues in testing (Comment #2) don't align with the responses in > Comment #7. That is, the matter is not just the timeliness (which seems to > be what Comment #7 refers to), but the degree of understanding of the > underlying issue - again, widely discussed within the industry. We have the upmost confidence that the staff supporting our systems today have a deep understanding of the underlying issue. Having inherited the infrastructure, there was an assumption that existing services were complaint as the focus was on moving to newer technology. The gap Mozilla identified would have been replaced with the new solution, in which all compliance requirements would be tested, along with the annual audit, but has now been accelerated to mitigate the issue. > 3) This doesn't provide any sort of information into the post-mortem > response process - understanding what procedures Visa already had in place > to measure and assess compliance, what steps it took (in 2013) to ensure > compliance, why those steps failed, and how those steps are being > remediated. Concretely, without understanding these issues, it's unclear > that the solution proposed in Comment #8 will meaningfully address the > issues - the community has no knowledge that Visa's future selection of a > vendor will be able to ensure compliance, nor that its compliance staff will > review changes to the BRs, nor that its incident response team will be able > to suitably respond to incidents. > These are reasons that the discussion on > https://bugzilla.mozilla.org/show_bug.cgi?id=1391087#c19 become all the more > pertinent, and information that Visa can share to this specific incident can > significantly help or hinder those discussions. We will provide post mortem details along with our targeted delivery date once we have finalized the transition. Where it will be difficult to provide details for the legacy systems, the PKI teams goal to align to and stay in alignment with baseline requirements, as well as dedicated SMEs with Vendor and compliance requirements in scope will ensure the continued testing and validation of compliance.
Comment 11•7 years ago
|
||
(In reply to Jason Crawford from comment #10) > We will provide post mortem details along with our targeted delivery date > once we have finalized the transition. Where it will be difficult to provide > details for the legacy systems, the PKI teams goal to align to and stay in > alignment with baseline requirements, as well as dedicated SMEs with Vendor > and compliance requirements in scope will ensure the continued testing and > validation of compliance. It has now been a month and a half since this comment and three months have elapsed since the issue was reported. The "Visa eCommerce Issuing CA" OCSP responder is still not in compliance with the Baseline Requirements. When will this be fixed?
Comment 12•7 years ago
|
||
(In reply to Jonathan Rudenberg from comment #11) > (In reply to Jason Crawford from comment #10) > > > We will provide post mortem details along with our targeted delivery date > > once we have finalized the transition. Where it will be difficult to provide > > details for the legacy systems, the PKI teams goal to align to and stay in > > alignment with baseline requirements, as well as dedicated SMEs with Vendor > > and compliance requirements in scope will ensure the continued testing and > > validation of compliance. > > It has now been a month and a half since this comment and three months have > elapsed since the issue was reported. The "Visa eCommerce Issuing CA" OCSP > responder is still not in compliance with the Baseline Requirements. When > will this be fixed? The vendor solution we had previously been testing failed to meet our requirements. We have developed an in house solution that will meet our internal requirements and resolve this issue. In order to avoid any potential impact to services, our current timeline for deploying the solution into our production environment is January. At this current moment, we are continuing to test and validate the solution in our non-production environment in preparation for the production deployment after the holidays.
Comment 13•6 years ago
|
||
The internal solution that was deployed in our non-production environment has been tested and validated successfully. We remain on schedule for our production deployment.
Comment 14•6 years ago
|
||
This issue has been resolved as our new solution has been successfully deployed and validated. The Visa OCSP Service is responding properly to all validation requests.
Comment 15•6 years ago
|
||
(In reply to Jason Crawford from comment #14) > This issue has been resolved as our new solution has been successfully > deployed and validated. The Visa OCSP Service is responding properly to all > validation requests. Great news! When will we see the post-mortem details that you promised in comment 10? I hope you realize that comment 12 does nothing to address the underlying systemic cause of this issue and what Visa has done or will do to prevent a similar problem from occurring in the future.
Comment 16•6 years ago
|
||
Changing QA contact per https://bugzilla.mozilla.org/show_bug.cgi?id=1438254
QA Contact: gerv → wthayer
Comment 17•6 years ago
|
||
(In reply to Wayne Thayer [:wayne] from comment #15) > (In reply to Jason Crawford from comment #14) > > This issue has been resolved as our new solution has been successfully > > deployed and validated. The Visa OCSP Service is responding properly to all > > validation requests. > > Great news! > > When will we see the post-mortem details that you promised in comment 10? I > hope you realize that comment 12 does nothing to address the underlying > systemic cause of this issue and what Visa has done or will do to prevent a > similar problem from occurring in the future. Once notified by Mozilla, our investigation confirmed Mozilla’s finding and identified shortcomings with our vendor’s documentation and procedures, both from architecture and operational perspectives. After further discussions with the vendor, we decided that the product in place wasn't adequate for the integration with our Certificate Management software, and decided to replace the product. Our initial implementation of OCSP services was focused on OCSP functionality, prior to our efforts in becoming BR compliant. The role for validating compliance with BR has been re-assigned a dedicated resources, and the original resources has been removed. The realigned role will now work directly with our technical engineers on technical validations and compliance requirements. This measures put into place to ensure that BR and Root Program compliance would be maintained moving forward.
Updated•6 years ago
|
Status: NEW → RESOLVED
Closed: 6 years ago
Resolution: --- → FIXED
Updated•2 years ago
|
Product: NSS → CA Program
Updated•1 year ago
|
Whiteboard: [ca-compliance] → [ca-compliance] [ocsp-failure]
You need to log in
before you can comment on or make changes to this bug.
Description
•