Visão geral do NSS

Você está lendo a versão em inglês deste conteúdo porque ainda não há uma tradução para este idioma. Ajude-nos a traduzir este artigo!

Bibliotecas de Criptografia de Código Aberto

Arquitetura de Segurança de Aplicativos Comprovada

Se você quer adicionar suporte para SSL, S/MIME, ou outros padrões de segurança de Internet na sua aplicação, você pode usar Network Security Services (NSS) para implementar todos os seus recursos de segurança. NSS provê uma implementação completa de código aberto das bibliotecas de criptogragia usadas pela AOL, Red Hat, Google e outras empresas em uma variedade de produtos, incluindo os seguintes:

NSS inclui um framework no qual desenvolvedores e OEMs (Fabricante Original do Equipamento) podem contribuir com correções, como código assembler, para otimizar o desempenho em suas plataformas. NSS 3.x foi certificado em 18 plataformas.

Para informações mais detalhadas sobre NSS, veja wiki.mozilla.org e NSS FAQ.

Código-fonte de uma interface Java para NSS está disponível na árvore CVS da Mozilla. Para detalhes, veja Network Security Services for Java.

NSS faz uso do Netscape Portable Runtime (NSPR), uma API de código aberto de plataforma neutra para funções do sistema projetada para facilitar o desenvolvimento entre plataformas. Assim como NSS, NSPR foi testado em vários produtos. Para maiores informações, veja a Página do Projeto NSPR.

Interoperabilidade e Padrões Abertos

Você pode usar NSS para suportar uma variedade de padrões de segurança na sua aplicação, incluindo os seguintes:

  • SSL v3. O protocolo Secure Sockets Layer (SSL) permite uma autenticação mútua entre cliente e servidor e o estabelecimento de uma conexão autenticada e criptografada.
  • TLS v1.3 (RFC 8446), TLS v1.2 (RFC 5246), TLS v1.1 (RFC 4346), TLS v1 (RFC 2246). O protocolo Transport Layer Security (TLS) do IETF que substitui SSL.
  • PKCS #1. Padrão RSA que rege a implementação de criptografia de chave pública com base no algoritmo RSA.
  • PKCS #3. Padrão RSA que rege a implementação do acordo de chave Diffie-Hellman.
  • PKCS #5. Padrão RSA que rege a criptografia baseada em senha, por exemplo, para criptografar chaves privadas para armazenamento.
  • PKCS #7. Padrão RSA que rege a aplicação de criptografia a dados, por exemplo, assinaturas digitais e envelopes digitais.
  • PKCS #8. Padrão RSA que rege o armazenamento e a criptografia de chaves privadas.
  • PKCS #9. Padrão RSA que rege os tipos de atributos selecionados, incluindo aqueles usados com PKCS #7, PKCS #8, e PKCS #10.
  • PKCS #10. Padrão RSA que rege a sintaxe para solicitações de certificado.
  • PKCS #11. Padrão RSA que controla a comunicação com tokens criptográficos (como aceleradores de hardware e cartões inteligentes) e permite a independência do aplicativo de algoritmos e implementações específicas.
  • PKCS #12. Padrão RSA que rege o formato usado para armazenar ou transportar chaves privadas, certificados e outros materiais secretos.
  • S/MIME (RFC 2311 and RFC 2633). Especificação de mensagem IETF (baseada no popular padrão Internet MIME) que fornece uma maneira consistente de enviar e receber dados MIME assinados e criptografados.
  • X.509 v3. Padrão ITU que rege o formato de certificados usados para autenticação em criptografia de chave pública.
  • OCSP (RFC 2560). O Online Certificate Status Protocol (OCSP) rege a confirmação em tempo real da validade do certificado.
  • PKIX Certificate and CRL Profile (RFC 3280). A primeira parte do padrão de quatro partes em desenvolvimento pelo grupo de trabalho Public-Key Infrastructure (X.509) da IETF (conhecido no PKIX) para uma infraestrutura de chave pública para a Internet.
  • RSA, DSA, ECDSA, Diffie-Hellman, EC Diffie-Hellman, AES, Triple DES, DES, RC2, RC4, SHA-1, SHA-256, SHA-384, SHA-512, MD2, MD5, HMAC: Algoritmos criptográficos comuns usados em criptografia de chave pública e de chave simétrica.
  • FIPS 186-2 gerador de números pseudo-aleatórios.

Para detalhes completos, veja Tecnologias de Criptografia.

Validação FIPS 140 e Teste NISCC

O módulo de criptografia do software NSS foi validado três vezes para conformidade com o FIPS 140 nos Níveis de Segurança 1 e 2. Para mais informações, veja a página NSS FIPS (Ou essa página).

As bibliotecas NSS passaram nas suites de testes NISCC TLS/SSL e S/MIME (1,6 milhão de casos de teste com dados de entrada inválidos).

Kit Completo de Desenvolvimento de Software

Além de bibliotecas e APIs, o NSS fornece ferramentas de segurança necessárias para depuração, diagnósticos, gerenciamento de certificados e chaves, gerenciamento de módulos de criptografia e outras tarefas de desenvolvimento.

NSS vem com um extenso e crescente conjunto de documentação, incluindo material introdutório, referências de API, páginas man para ferramentas CLI, e códigos de exemplo.

NSS está disponível como código e bibliotecas (dinâmicas) compartilhadas. Cada versão do NSS é compatível com versões anteriores, permitindo que os usuários do NSS atualizem para as novas bibliotecas compartilhadas do NSS sem recompilar ou reconectar seus aplicativos.

Licenciamento e Distribuição de Código Aberto

NSS está disponível sob a Licença Pública Mozilla, versão 2. O código-fonte mais recente está disponível gratuitamente em todo o mundo a partir de https://www.mozilla.org e seus sites espelhados (mirrors).