
Framework criptográfico fácil de usar para proteção de dados: mensagens seguras com sigilo perfeito e armazenamento seguro de dados. Possui APIs unificadas em 14 plataformas.
Themis é uma biblioteca open-source de serviços criptográficos de alto nível para proteger dados durante autenticação, armazenamento, mensagens, troca em rede, etc. Themis resolve 90% dos casos típicos de proteção de dados comuns à maioria dos aplicativos.
Themis ajuda a construir funcionalidades criptográficas simples e complexas de forma fácil, rápida e segura. Themis permite que os desenvolvedores se concentrem no principal: desenvolver seus aplicativos.
Criptografe segredos armazenados nos seus aplicativos e no backend: chaves de API, tokens de sessão, arquivos.
Criptografe campos de dados sensíveis antes de armazená-los no banco de dados ("criptografia de campo no lado do aplicativo").
Suporte a criptografia pesquisável, tokenização de dados e mascaramento de dados usando o Themis e o Acra.
Troque segredos com segurança: compartilhe dados sensíveis entre as partes, crie um aplicativo de chat simples entre pacientes e médicos.
Construa esquemas de criptografia de ponta a ponta com arquitetura centralizada ou descentralizada: criptografe dados localmente em um aplicativo, use-os criptografados em qualquer lugar, descriptografe apenas para usuários autenticados.
Mantenha sessões seguras em tempo real: envie mensagens criptografadas para controlar dispositivos conectados a partir do seu aplicativo, receba dados sensíveis em tempo real dos seus aplicativos para o seu backend.
Compare segredos entre as partes sem revelá-los (autenticação baseada em prova de conhecimento zero).
Uma única biblioteca criptográfica que serve para todos: Themis é a melhor opção para aplicativos multiplataforma (ex.: app iOS+Android+Electron com backend Node.js) porque oferece API 100% compatível e funciona da mesma forma em todas as plataformas suportadas.
Themis fornece blocos de construção prontos (“criptossistemas”) que simplificam o uso das operações criptográficas centrais de segurança.
Themis fornece 4 serviços criptográficos importantes:
Criamos o Themis para construir outros produtos sobre ele — ou seja, o Acra e o Hermes.
Consulte a página Instalação para instalar o Themis no seu aplicativo móvel, web, desktop ou no servidor. Recomendamos fortemente os pacotes de instalação em vez de compilar a partir do código-fonte.
Themis está disponível para as seguintes linguagens/plataformas; consulte os guias de linguagem para cada uma:
Themis suporta as seguintes arquiteturas de CPU: x86_64/i386, ARM, Apple Silicon (ARM64) e várias arquiteturas Android.
Compilamos e verificamos o Themis nas versões estáveis mais recentes dos sistemas operacionais:
Planejamos expandir esta lista com um conjunto mais amplo de plataformas. Se você quiser ajudar a melhorar ou levar o Themis para a sua plataforma ou linguagem favorita — entre em contato.
Documentação do Themis contém a documentação oficial em constante evolução, que cobre desde diretrizes de implantação até casos de uso, com breves explicações sobre os criptossistemas e a arquitetura por trás da biblioteca principal do Themis.
Consulte a documentação para saber mais sobre:
Themis depende de algoritmos criptográficos comprovados, implementados por bibliotecas de criptografia bem conhecidas, como OpenSSL, LibreSSL e BoringSSL. Consulte a documentação Criptografia no Themis para saber mais.
Esta distribuição inclui software criptográfico. O país em que você reside atualmente pode ter restrições à importação, posse, uso e/ou reexportação para outro país de software de criptografia. ANTES de usar qualquer software de criptografia, verifique as leis, regulamentos e políticas do seu país sobre importação, posse ou uso e reexportação de software de criptografia, para ver se isso é permitido. Consulte http://www.wassenaar.org/ para mais informações.
O Departamento de Comércio do Governo dos EUA, Bureau of Industry and Security (BIS), classificou este software como Export Commodity Control Number (ECCN) 5D002.C.1, que inclui software de segurança da informação que usa ou executa funções criptográficas com algoritmos assimétricos. A forma e a maneira desta distribuição a tornam elegível para exportação sob a exceção License Exception ENC Technology Software Unrestricted (TSU) (consulte os Regulamentos de Administração de Exportação do BIS, Seção 740.13) tanto para código objeto quanto para código-fonte.
Se o seu aplicativo usa o Themis e você deseja enviá-lo para a Apple App Store, há certos requisitos relacionados à declaração do uso de qualquer tipo de criptografia.
Leia sobre regulamentações de exportação da Apple sobre criptografia para o Themis para saber o que fazer.
Cada alteração na biblioteca principal do Themis é revisada e aprovada pela nossa equipe interna de criptógrafos e engenheiros de segurança. Para cada lançamento, realizamos auditorias internas feitas por criptógrafos que não trabalham no Themis.
Usamos muitos testes automatizados de segurança, como analisadores estáticos de código, ferramentas de fuzzing, analisadores de memória, testes unitários (para cada plataforma), testes de integração (para encontrar problemas de compatibilidade entre as diferentes linguagens suportadas pelo Themis, sistemas operacionais e arquiteturas x86/x64). Leia mais sobre nossas práticas de testes de segurança na documentação de segurança do Themis.
Se você acredita que encontrou um problema relacionado à segurança, envie um e-mail para [email protected]. O programa de bug bounty pode ser aplicável.
Como uma biblioteca de serviços criptográficos para plataformas móveis e servidores, o Themis é uma ferramenta de criptografia “estado da arte”, que fornece troca segura de dados e armazenamento.
Usando o Themis, você pode alcançar maior conformidade com os regulamentos atuais de privacidade de dados, tais como:
Leia mais sobre Regulamentações na documentação.
O Themis é recomendado pelo OWASP como biblioteca de criptografia de dados para plataformas móveis.
O Themis é amplamente utilizado em projetos não comerciais e comerciais. Alguns aplicativos e bibliotecas públicos podem ser encontrados aqui.
Quer aparecer no nosso blog e na lista de contribuidores também? Escreva-nos sobre o projeto que você criou usando o Themis!
Se você está procurando algo para contribuir e ganhar respeito eterno, basta escolher os itens na lista de issues. Use as nossas diretrizes de contribuição como ponto de partida.
Dar suporte ao Themis para todas essas inúmeras plataformas é um trabalho árduo, mas fazemos o nosso melhor para tornar o uso do Themis conveniente para todos. A maioria dos problemas que nossos usuários encontram está relacionada ao processo de instalação e ao gerenciamento de dependências. Se você enfrentar desafios, avise-nos.
Na Cossack Labs, oferecemos serviços profissionais de suporte para o Themis e para aplicativos que usam o Themis.
Esse suporte inclui, mas não se limita à integração da biblioteca, com foco em aplicações web e móveis; projeto e construção de esquemas de criptografia de ponta a ponta para aplicativos móveis; auditorias de segurança, para integrações internas da biblioteca ou protocolos de alto nível; desenvolvimento de aplicativos personalizados que exijam criptografia; consultoria e serviços de treinamento.
Envie-nos um e-mail para [email protected] ou confira os serviços de segurança cibernética da Cossack Labs.
Se você quiser fazer uma pergunta técnica, relatar um bug ou sugerir um recurso, sinta-se à vontade para iniciar uma discussão no GitHub, abrir uma issue no rastreador de issues, ou escrever para [email protected].
Para falar com o setor comercial da Cossack Labs Limited, envie-nos um e-mail para [email protected].
| Plataforma | Documentação | Exemplos | Versão |
|---|
| ⚛️ React Native (iOS, Android) | Guia do React Native | docs/examples/react-native | |
| 🔶 Swift (iOS, macOS) | Guia do Swift | docs/examples/swift | |
| 📱 Objective-C (iOS, macOS) | Guia do Objective-C | docs/examples/objc | |
| ☕️ Java (Desktop) | Guia do Java (Desktop) | docs/examples/java | |
| ☎️ Java (Android) | Guia do Java (Android) | docs/examples/android | |
| 📞 Kotlin (Android) | Guia do Kotlin (Android) | docs/examples/android | |
| 🔻 Ruby | Guia do Ruby | docs/examples/ruby | |
| 🐍 Python | Guia do Python | docs/examples/python | |
| 🐘 PHP | Guia do PHP | docs/examples/php | |
| ➕ C++ | Guia do C++ | docs/examples/c++ | |
| 🍭 Node.js | Guia do Javascript (Node.js) | docs/examples/js | |
| 🖥 WebAssembly | Guia do Javascript (WebAssembly) | docs/examples/js | |
| 🐹 Go | Guia do Go | docs/examples/go | |
| 🦀 Rust | Guia do Rust | docs/examples/rust | |
| 🕸 С++ PNaCl para Google Chrome | projeto WebThemis |