BT

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

| por Sergio De Simone Seguir 17 Seguidores , traduzido por Wellington Soares Seguir 1 Seguidores em 20 ago 2015. Tempo estimado de leitura: 2 minutos |

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

Olá visitante

Você precisa cadastrar-se no InfoQ Brasil ou para enviar comentários. Há muitas vantagens em se cadastrar.

Obtenha o máximo da experiência do InfoQ Brasil.

Dê sua opinião

HTML é permitido: a,b,br,blockquote,i,li,pre,u,ul,p

Receber mensagens dessa discussão
Comentários da comunidade

HTML é permitido: a,b,br,blockquote,i,li,pre,u,ul,p

Receber mensagens dessa discussão

HTML é permitido: a,b,br,blockquote,i,li,pre,u,ul,p

Receber mensagens dessa discussão

Dê sua opinião

Faça seu login para melhorar sua experiência com o InfoQ e ter acesso a funcionalidades exclusivas


Esqueci minha senha

Follow

Siga seus tópicos e editores favoritos

Acompanhe e seja notificados sobre as mais importantes novidades do mundo do desenvolvimento de software.

Like

Mais interação, mais personalização

Crie seu próprio feed de novidades escolhendo os tópicos e pessoas que você gostaria de acompanhar.

Notifications

Fique por dentro das novidades!

Configure as notificações e acompanhe as novidades relacionada a tópicos, conteúdos e pessoas de seu interesse

BT