-
Notifications
You must be signed in to change notification settings - Fork 275
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Make bouncycastle dependency abstracted #1500
Comments
Also, if you want to use BouncyCastle's BCFIPS provider for other things in the same environment/classpath, the two providers don't get along well. Working around it is kind of inconvenient. The Search Guard plugin directly uses org.bouncycastle.crypto.generators.OpenBSDBrcypt from the BC provider, which is not present in the BCFIPS provider. |
What is a better alternative to bouncycastle we are considering here, which is less prone to CVE flagging? Also could you please elaborate a bit more on the issue here
|
The CVE factor is just one of a few reasons for wanting to swap out BouncyCastle. For example, an organization might have a policy dictating which Java crypto providers were acceptable for applications they use. One very important reason is the desire to use only FIPS 140-2 certified providers, for which the normal BouncyCastle BC provider is not acceptable. BouncyCastle does have a FIPS 140-2 certified BCFIPS provider, however, it is not possible to use them both on the same classpath. bcgit/bc-java#282 (Like many others, we have tried and seen the wreckage.) Rather than hard-coding a specific provider in Search Guard plugin, it would be far better IMHO to state the algorithm/keysize requirements so that the consumer can use a Java crypto provide that meets those requirements. There would be no harm in having BC as a default in the Java code if there were some way to configure an override to that default. |
It's probably the case that the majority of consumers are fine with using BC. It's just that when you need to replace it, you're really stuck. There is no workaround other than modifying the Search Guard source code. |
Thanks for the details. It makes sense to make the crypto providers configurable (yet with strong/popular defaults). A FIPS 140-2 provider also seems to be a popular feature ask on security plugin side https://discuss.opendistrocommunity.dev/t/opendistro-fips-140-compliance/2103, Since the looks to be on Security plugin side, i'll transfer this issue to the security repo for further follow up. |
@CEHENKLE seems like I don't have permissions to transfer issue to security repo. Could you please help with this? |
Has this issue been put on OpenSearch Roadmap right? |
@duhang Thanks for your interest, this is not being tracked in any of the security plugin teams backlogs. If you are interested in seeing this happen in a future OpenSearch release I would love review a draft pull request. I've also added the |
… root dir of OSD (opensearch-project#1500) * Add lint rule to forbid imports from packages Signed-off-by: Craig Perkins <[email protected]> * Add eslint rule to forbid imports from path containing packages/ from root dir of OSD Signed-off-by: Craig Perkins <[email protected]> --------- Signed-off-by: Craig Perkins <[email protected]> Co-authored-by: Stephen Crawford <[email protected]> Co-authored-by: Peter Nied <[email protected]>
Is your feature request related to a problem? Please describe.
The problem is that security scans complain about bouncycastle from time-to-time. Perhaps we can upgrade / fix the CVEs, but perhaps we can workaround the security issue by removing bouncycastle
Describe the solution you'd like
@wjcarpenter can give more details, but some abstraction?
Describe alternatives you've considered
We will also follow-up for the specific bouncycastle CVE reports ; cc @nicolasbockg
The text was updated successfully, but these errors were encountered: