'FIPS 140 and BIP 32 and 39

First off this is a messy post - sorry about that - just trying to get my head around this topic. But I have listed questions.

The CryptoCurrency Security Standard (CCSS) has a requirement for Key and Seed generation - see below:

The key or seed is generated using a Deterministic Random Bit Generator (DRBG) that conforms to NIST SP 800-90A

In order to understand this requirement I decided to apply the requirement to Metamask.

I note that metamask uses BIP 39 to generate the seed - which the standards states that you need to use PBKDF2 with HMAC-SHA512 to generate the final seed which I see is a FIPS 140 approved cryptographic algorithm. The entropy comes from crypto.getRandomValues() JS function which finding it hard to research - maybe conforms to SP 800-90 on Firefox, Chrome and other web browsers based of Chrome such as Brave and also Edge. But I am not 100% confident on that. Note: these are the supported browsers for Metamask extension.

So, the seed generation process uses BIP 39 to generate the seed which looks like uses a FIPS 140 approved algorithm to generate the seed. The source of the initial entropy comes from a JS function call which may work differently on different web browsers so not sure how I can validate that in all supported web browsers conforms to SP 800-90.

Now the key generation process...

With the seed generated by BIP 39 it is feed into a HMAC-SHA512 function which is again FIPS 140 approved algorithm - this is BIP 32.

Question: based on my research can I state that the key / seed generation mechanisms conform to SP-800-90??

Help!

Research

My general understanding is that anything FIPS 140 approved or compliant means it conforms to SP 800-90(A/B/C). CCSS - https://cryptoconsortium.notion.site/Details-dc3969962d33463692c0f39afe2f53b0 BIP - Bitcoin Improvement Proposal BIP 32 - https://learnmeabitcoin.com/technical/extended-keys#master-extended-keys BIP 39 - https://learnmeabitcoin.com/technical/mnemonic FIPS 140 approved algorithms - section 2.1.2 https://csrc.nist.gov/CSRC/media/projects/cryptographic-module-validation-program/documents/security-policies/140sp3381.pdf How does MetaMask generate your keys? - https://metamask.zendesk.com/hc/en-us/articles/360020091432-How-does-MetaMask-generate-your-keys- What Is Metamask Seed Phrase Generator in Cryptocurrency - https://www.eatmy.news/2021/10/what-is-metamask-seed-phrase-generator.html



Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source