Themis é uma biblioteca de serviços criptográficos de alto nível de código aberto para proteger dados durante autenticação, armazenamento, mensagens, troca de rede, etc. Themis resolve 90% dos casos de uso típicos de proteção de dados que são comuns para a maioria dos aplicativos.
Themis ajuda a construir recursos criptográficos simples e complexos de maneira fácil, rápida e segura. Themis permite que os desenvolvedores se concentrem no principal: desenvolver seus aplicativos.
Criptografe segredos armazenados em seus aplicativos e back-end: chaves de API, tokens de sessão, arquivos.
Criptografe campos de dados confidenciais antes de armazená-los no banco de dados ( "criptografia em nível de campo do lado do aplicativo" ).
Suporta criptografia pesquisável , tokenização de dados e mascaramento de dados usando Themis e Acra.
Troque segredos com segurança: compartilhe dados confidenciais entre as partes, crie um aplicativo de bate-papo simples entre pacientes e médicos.
Crie esquemas de criptografia 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 do seu aplicativo, receba dados confidenciais em tempo real dos seus aplicativos para o seu back-end.
Compare segredos entre as partes sem revelá-los (autenticação baseada em prova de conhecimento zero).
Uma biblioteca criptográfica que se adapta a todos : Themis é a mais adequada para aplicativos multiplataforma (por exemplo, aplicativo iOS + Android + Electron com back-end Node.js) porque fornece API 100% compatível e funciona da mesma maneira em todas as plataformas suportadas .
Themis fornece blocos de construção prontos (“criptosistemas”) que simplificam o uso das principais operações de segurança criptográfica.
Themis fornece 4 serviços criptográficos importantes:
Criamos a Themis para construir outros produtos - ou seja, Acra e Hermes.
Consulte a página de instalação para instalar o Themis para seu aplicativo móvel, web, desktop ou servidor. É altamente recomendável pacotes de instalação em vez de compilar a partir do código-fonte.
Themis está disponível para os seguintes idiomas/plataformas, consulte os tutoriais de idiomas para cada um:
Plataforma | Documentação | Exemplos | Versão |
---|---|---|---|
⚛️ Reagir nativo (iOS, Android) | Como reagir nativo | documentos/exemplos/react-native | |
? Rápido (iOS, macOS) | Como fazer rápido | documentos/exemplos/swift | |
Objective-C (iOS, macOS) | Como fazer com Objective-C | documentos/exemplos/objc | |
☕️Java (Desktop) | Instruções sobre Java (desktop) | documentos/exemplos/java | |
☎️Java (Android) | Java (Android) Como fazer | documentos/exemplos/android | |
? Kotlin (Android) | Kotlin (Android) Como fazer | documentos/exemplos/android | |
? Rubi | Como fazer Ruby | documentos/exemplos/ruby | |
? Pitão | Como fazer Python | documentos/exemplos/python | |
? PHP | Como fazer PHP | documentos/exemplos/php | |
➕C++ | Como fazer CPP | documentos/exemplos/c++ | |
? Node.js | Como fazer Javascript (Node.js) | documentos/exemplos/js | |
? WebAssembly | Como fazer Javascript (WebAssembly) | documentos/exemplos/js | |
? Ir | Vá como fazer | documentos/exemplos/go | |
? Ferrugem | Como fazer ferrugem | documentos/exemplos/ferrugem | |
? С++ PNaCl para Google Chrome | Projeto WebThemis |
Themis suporta as seguintes arquiteturas de CPU: x86_64/i386, ARM, Apple Silicon (ARM64), várias arquiteturas Android.
Construímos e verificamos Themis nas versões estáveis mais recentes do sistema operacional:
Planejamos expandir esta lista com um conjunto mais amplo de plataformas. Se você quiser ajudar a melhorar ou trazer o Themis para sua plataforma ou idioma favorito, entre em contato.
A documentação do Themis contém documentos oficiais em constante evolução, que cobrem tudo, desde diretrizes de implantação até casos de uso, com breves explicações sobre sistemas criptográficos e 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 conhecidas, como OpenSSL, LibreSSL, BoringSSL. Consulte Criptografia nos documentos da 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 relativas à importação, posse ou uso e reexportação de software de criptografia para ver se isso é permitido. Consulte http://www.wassenaar.org/ para obter mais informações.
O Departamento de Comércio do Governo dos EUA, Bureau de Indústria e Segurança (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 o modo desta distribuição tornam-na 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) para código-objeto e código-fonte.
Se o seu aplicativo usa Themis e você deseja enviá-lo à Apple App Store, existem certos requisitos para declarar o uso de qualquer criptografia.
Leia sobre os regulamentos de exportação da Apple sobre criptografia para Themis para descobrir o que fazer.
Cada alteração na biblioteca principal do Themis está sendo revisada e aprovada por nossa equipe interna de criptógrafos e engenheiros de segurança. Para cada lançamento, realizamos auditorias internas por criptógrafos que não trabalham no Themis.
Usamos muitos testes de segurança automatizados, ou seja, analisadores de código estático, ferramentas de difusão, analisadores de memória, testes unitários (por cada plataforma), testes de integração (para encontrar problemas de compatibilidade entre diferentes linguagens suportadas pelo Themis, sistemas operacionais e arquiteturas x86/x64). Leia mais sobre nossas práticas de testes de segurança nos documentos de segurança da Themis.
Se você acredita ter encontrado um problema relacionado à segurança, envie-nos um e-mail para [email protected]. O programa de recompensas por bugs pode ser aplicado.
Como uma biblioteca de serviços criptográficos para plataformas móveis e de servidor, Themis é uma ferramenta de criptografia de “última geração”, que fornece troca e armazenamento seguro de dados.
Usando Themis, você pode alcançar uma melhor conformidade com as regulamentações atuais de privacidade de dados, como:
Leia mais sobre Regulamentos nos documentos.
Themis é recomendado pela OWASP como biblioteca de criptografia de dados para plataformas móveis.
Themis é amplamente utilizado para projetos comerciais e não comerciais. Algumas aplicações públicas e bibliotecas podem ser encontradas aqui.
Quer aparecer em nosso blog e também na lista de colaboradores? Escreva-nos sobre o projeto que você criou usando Themis!
Se você está procurando algo para contribuir e ganhar respeito eterno, basta escolher as coisas na lista de questões. Consulte nossas diretrizes de contribuição como ponto de partida.
Apoiar o Themis para todas essas inúmeras plataformas é um trabalho árduo, mas tentamos fazer o nosso melhor para tornar o uso do Themis conveniente para todos. A maioria dos problemas que nossos usuários encontram estão relacionados ao processo de instalação e ao gerenciamento de dependências. Se você enfrentar algum desafio, por favor nos avise.
Na Cossack Labs, oferecemos serviços de suporte profissional para Themis e aplicativos que usam Themis.
Este suporte inclui, mas não se limita à integração de bibliotecas, com foco em aplicações web e mobile; projetar e construir esquemas de criptografia ponta a ponta para aplicações móveis; auditorias de segurança, para integrações de bibliotecas internas ou protocolo de alto nível; desenvolvimento de aplicativos personalizados que requerem criptografia; serviços de consultoria e treinamento.
Envie-nos um e-mail para [email protected] ou confira os serviços de segurança cibernética do 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, levantar um problema no rastreador de problemas ou escrever para [email protected].
Para falar com a ala comercial da Cossack Labs Limited, envie-nos um e-mail para [email protected].