Thanks Brian. We just started our investigation of what it will take to FIPS'ify ATS (have a config option). Also looking into what additional work would be required to complete this work. We can figure out the best approach and follow through on the work to get the work reviewed and added to github after we get a better grasp on the work.
More news and likely questions as well to follow. Craig S. From: Bryan Call <bc...@apache.org<mailto:bc...@apache.org>> Date: Thursday, December 24, 2015 at 1:32 PM To: "dev@trafficserver.apache.org<mailto:dev@trafficserver.apache.org>" <dev@trafficserver.apache.org<mailto:dev@trafficserver.apache.org>> Cc: Craig Schomburg <cra...@cisco.com<mailto:cra...@cisco.com>> Subject: Re: Question regarding FIPS mode support for Apache Traffic Server There is also code that disables locking for FIPS, that was the main part of TS-3576. If you would like to submit a github pull request to create a configurable option that would enable FIPS and enable the locking that would be great. I would also be in favor of having a configurable option to use SHA256 instead of MD5. I don't know of anyone working on these enhancements. -Bryan On Dec 23, 2015, at 5:33 AM, Craig Schomburg (craigs) <cra...@cisco.com<mailto:cra...@cisco.com>> wrote: I was looking through various Apache Traffic Server posts and noticed that some FIPS related work was done with Apache Traffic Server (ATS). Was looking for someone with first hand knowledge of the ATS FIPS status that might have some time for a few questions... I am working with one of our product teams on FIPS enablement on a product that is using Apache Traffic Server. I just completed upgrading our product to pull in ATS 6.0.0 code base and started working on enabling FIPS mode. Had a few questions pertaining to FIPS support on ATS 6.0.0 as well as some changes made via "TS-3576 Remove the need for FIPS locking for OpenSSL". First question is basically how far has the support for FIPs mode progressed with ATS? Follow up question and observation... I had to make local modifications to the TS-3576 change that was mentioned in a thread regarding SSL_CTX_add_extra_chain_cert_file() update of FIPS mode. As was mentioned in the separate e-mail thread the committed code really does nothing as the FIPS_mode() call simply reads the current state and then the call to FIPS_mode_set(mode) basically sets OpenSSL to the same state it is already in (NO-OP). +#ifdef OPENSSL_FIPS + int mode = FIPS_mode(); + FIPS_mode_set(mode); + Debug("ssl", "FIPS_mode: %d", mode); +#endif I made a local modification in our repository to basically add a new config option to records.config and then set the mode based on the config setting. That got me by the first issue then I hit the next major issue which is that the Apache Traffic Server code is pretty heavily entrenched in using MD5. Since MD5 is not FIPS compliant the call to MD5_Init() in the Ink code then causes a process to crash. I am now looking into the possibility of converting the existing MD5 references to SHA256 or making a model where it could be switched between MD5/SHA256 based on the fips_mode setting. Have not really started digging into this yet as I wanted to first probe the ATS community to see if this work may have already been started, if there was any position statement, plan, etc. on moving to a FIPS compliant hash, or if this work was being avoided for other reasons. Any input would be greatly appreciated. Likewise if there is a better forum for posting this question, please let me know. Thanks, Craig Schomburg