BT

Disseminando conhecimento e inovação em desenvolvimento de software corporativo.

Contribuir

Tópicos

Escolha a região

Início Notícias AWS s2n: A implementação open source do protocolo TLS com menos de 6.000 linhas

AWS s2n: A implementação open source do protocolo TLS com menos de 6.000 linhas

Favoritos

A Amazon Web Services recentemente divulgou o projeto s2n, uma implementação open source dos protocolos TLS/SSL que pretende ser simples, pequena, rápida que tem a segurança como prioridade.

De acordo com a Amazon, parte dos desafios com o protocolo TLS é a sua complexidade. A OpenSSL, que é a implementação referência "de facto", possui quase 500.000 linhas de código, e pelo menos 70.000 linhas de código são referentes ao protocolo TLS. Esse tamanho traz diversos desafios para auditorias de código, revisões de segurança, desempenho e eficiência.

Por outro lado, optou-se por não implementar as extensões menos comuns e as funcionalidades que tem um registro de vulnerabilidade, como a renegociação da sessão e o DTLS. Assim, o s2n tem conseguido manter seu tamanho com pouco mais do que 6.000 linhas de código C99. Ainda de acordo com a Amazon, isso facilita as revisões do s2n, que até o momento já passou por três avaliações externas de segurança e pentests. Adicionalmente, o s2n se baseia em vários mecanismos para melhorar a segurança:

  • Exclusão de dados após leitura: buffers de dados não cifrados são apagados logo depois de serem lidos pelo aplicativo;
  • Geração de números aleatórios compartimentada: o s2n usa dois geradores diferentes de números aleatórios, um para dados públicos que podem aparecer em texto claro, e outro para dados privados;
  • Criptografía modular: Diferentes bibliotecas de criptografía podem ser usadas com s2n, tais como OpenSSL, LibreSSL, e outros;
  • Técnicas para ter segurança na linguagem C: o s2n usa técnicas para reduzir os riscos associados ao C99 e sua biblioteca padrão, tal como impor boundary check em todos os acessos à memória, strings e serialização.

Atualmente, o s2n implementa toda a funcionalidade necessária para integração com os serviços AWS - incluindo Elastic Load Balancing, Amazon CloudFront, Amazon S3, etc - e seu rollout começará nos próximos meses. Mais importante ainda, graças a TLS ser um protocolo padronizado, a integração não deve implicar em mudanças em aplicativos externos.

Quanto a utilização da sua API, o s2n é projetado seguindo a API POSIX I/O para fazer a sua utilização intuitiva a todos os desenvolvedores familiarizados com o padrão POSIX I/O. Curiosamente, o s2n não utiliza qualquer lock ou mutexes.

De acordo com a Amazon, a implementação s2n é análoga à biblioteca libssl do projeto OpenSSL. Sendo liberada sob a licença Apache Software License 2.0. Mais informações podem ser encontras na página do projeto hospedado no Github ou no Blog da AWS.

Avalie esse artigo

Relevância
Estilo/Redação

Conteúdo educacional

BT