Conformidade FIPS¶
O Instituto Nacional de Padrões e Tecnologia (NIST) define os Padrões Federais de Processamento de Informações (FIPS).
FIPS são padrões e diretrizes para sistemas de computadores federais desenvolvidos pelo Instituto Nacional de Padrões e Tecnologia (NIST) de acordo com a Lei Federal de Gerenciamento de Segurança da Informação (FISMA) e aprovados pelo Secretário de Comércio.
Vinyl é um aplicativo .NET. A página a seguir declara a posição da Microsoft sobre a conformidade com FIPS em relação ao .NET:
https://docs.microsoft.com/en-us/dotnet/standard/security/fips-compliance
No contexto do Vinyl, a conformidade com FIPS restringe o uso de criptografia a:
- Bibliotecas criptográficas validadas por FIPS.
- Algoritmos criptográficos e tamanhos de chave aprovados pelo FIPS.
A criptografia inclui:
- Geração de números aleatórios
- Hashing
- Criptografia
- Assinaturas digitais
- Armazenamento e codificação de certificados
Configuração¶
O Vinyl não requer nenhuma configuração especial para permitir a conformidade com FIPS.
O próprio Vinyl não implementa nenhum algoritmo criptográfico. O Vinyl delega todas as operações criptográficas ao sistema operacional hospedar. Se o sistema operacional hospedar estiver configurado corretamente, o Vinyl usará implementações validadas por FIPS.
O Vinyl gera tokens de segurança usando apenas algoritmos aprovados pelo FIPS. Sempre que possível, o Vinyl afirma que os tokens de segurança de externo, como assinaturas digitais, usam apenas algoritmos aprovados pelo FIPS.
Habilitando FIPS no Windows¶
No Windows, o Use algoritmos compatíveis com FIPS para criptografia, hash e assinatura a política do sistema ativa o modo FIPS.
Habilitando FIPS no Linux¶
O Linux não tem equivalente à política de sistema FIPS do Windows. A ativação do FIPS no Linux varia de acordo com a distribuição e está fora do escopo deste documento. Os links a seguir fornecem um ponto de partida para diversas distribuições:
Em última análise, o .NET delega ao OpenSSL. Portanto, uma implementação de OpenSSL validada por FIPS deve ser instalada. Além disso, o OpenSSL deve ser configurado para ser executado no modo FIPS, por exemplo, definindo o OPENSSL_FIPS
variável de ambiente.
Usos da Criptografia¶
O Vinyl usa criptografia em vários subsistemas, incluindo:
- Geração de identificador de sessão
- Geração de token Cross-Site Request Forgery (CRSF).
- Hash de senha
- Geração de chave API
- Geração de senha de autenticação básica HTTP
- Assinatura de assinatura digital OAuth JWT e SAML
- Verificação de assinatura digital SAML SSO
- Assinatura de assinatura digital do provedor de identidade SAML
- Verificação de assinatura digital da WS-Federation
- Verificação de assinatura digital JWT SSO
- criptografia de coluna
- função de tempo de execução mvSQL RANDOMBYTES()