
Cadre cryptographique facile à utiliser pour la protection des données : messagerie sécurisée avec confidentialité persistante et stockage sécurisé des données. Dispose d'API unifiées sur 14 plateformes.
Themis est une bibliothèque open-source de services cryptographiques de haut niveau pour sécuriser les données lors de l'authentification, du stockage, de la messagerie, des échanges réseau, etc. Themis résout 90 % des cas d'usage typiques de protection des données courants pour la plupart des applications.
Themis aide à développer des fonctionnalités cryptographiques simples comme complexes, facilement, rapidement et en toute sécurité. Themis permet aux développeurs de se concentrer sur l'essentiel : le développement de leurs applications.
Chiffrer les secrets stockés dans vos applications et votre backend : clés API, jetons de session, fichiers.
Chiffrer les champs de données sensibles avant de les stocker en base de données (« chiffrement au niveau du champ côté application »).
Prise en charge du chiffrement interrogeable, de la tokenisation des données et du masquage des données avec Themis et Acra.
Échanger des secrets en toute sécurité : partager des données sensibles entre parties, créer une application de chat simple entre patients et médecins.
Construire des schémas de chiffrement de bout en bout avec une architecture centralisée ou décentralisée : chiffrer les données localement dans une application, les utiliser chiffrées partout, ne les déchiffrer que pour l'utilisateur authentifié.
Maintenir des sessions sécurisées en temps réel : envoyer des messages chiffrés pour contrôler les appareils connectés depuis votre application, recevoir des données sensibles en temps réel de vos applications vers votre backend.
Comparer des secrets entre parties sans les révéler (authentification basée sur les preuves à divulgation nulle de connaissance).
Une bibliothèque cryptographique pour toutes les plateformes : Themis est la solution idéale pour les applications multi-plateformes (par exemple, une application iOS+Android+Electron avec un backend Node.js), car elle fournit une API 100 % compatible et fonctionne de la même manière sur toutes les plateformes prises en charge.
Themis fournit des briques prêtes à l'emploi (« cryptosystèmes ») qui simplifient l'utilisation des opérations cryptographiques de sécurité de base.
Themis fournit 4 services cryptographiques importants :
Nous avons créé Themis pour construire d'autres produits par-dessus - à savoir Acra et Hermes.
Consultez la page Installation pour installer Themis pour votre application mobile, web, de bureau ou côté serveur. Nous recommandons vivement les paquets d'installation plutôt que la compilation depuis les sources.
Themis est disponible pour les langages/plateformes suivants, consultez les guides par langage pour chacun :
Themis prend en charge les architectures CPU suivantes : x86_64/i386, ARM, Apple Silicon (ARM64), et diverses architectures Android.
Nous construisons et vérifions Themis sur les dernières versions stables des systèmes d'exploitation :
Nous prévoyons d'élargir cette liste avec un ensemble plus large de plateformes. Si vous souhaitez aider à améliorer Themis ou l'apporter à votre plateforme ou langage préféré — contactez-nous.
La documentation de Themis contient la documentation officielle en constante évolution, qui couvre tout, des directives de déploiement aux cas d'usage, avec de brèves explications des cryptosystèmes et de l'architecture de la bibliothèque Themis principale.
Consultez la documentation pour en savoir plus sur :
Themis s'appuie sur des algorithmes cryptographiques éprouvés, implémentés par des bibliothèques cryptographiques bien connues telles qu'OpenSSL, LibreSSL, BoringSSL. Consultez la documentation Cryptographie dans Themis pour en savoir plus.
Cette distribution inclut un logiciel cryptographique. Le pays dans lequel vous résidez actuellement peut imposer des restrictions sur l'importation, la possession, l'utilisation et/ou la réexportation vers un autre pays de logiciels de chiffrement. AVANT d'utiliser un logiciel de chiffrement, veuillez vérifier les lois, règlements et politiques de votre pays concernant l'importation, la possession, l'utilisation et la réexportation de logiciels de chiffrement, afin de déterminer si cela est autorisé. Voir http://www.wassenaar.org/ pour plus d'informations.
Le Département du Commerce du gouvernement des États-Unis, Bureau of Industry and Security (BIS), a classé ce logiciel sous le numéro de contrôle des marchandises à l'exportation (ECCN) 5D002.C.1, qui inclut les logiciels de sécurité de l'information utilisant ou exécutant des fonctions cryptographiques avec des algorithmes asymétriques. La forme et la manière de cette distribution la rendent éligible à l'exportation dans le cadre de l'exception de licence ENC Technology Software Unrestricted (TSU) (voir les Export Administration Regulations du BIS, section 740.13) à la fois pour le code objet et le code source.
Si votre application utilise Themis et que vous souhaitez la soumettre à l'Apple App Store, certaines exigences concernent la déclaration de toute utilisation de cryptographie.
Lisez les règlements d'exportation d'Apple sur la cryptographie pour Themis pour savoir quoi faire.
Chaque modification de la bibliothèque principale de Themis est examinée et approuvée par notre équipe interne de cryptographes et d'ingénieurs en sécurité. Pour chaque version, nous effectuons des audits internes par des cryptographes qui ne travaillent pas sur Themis.
Nous utilisons beaucoup de tests de sécurité automatisés, à savoir des analyseurs de code statique, des outils de fuzzing, des analyseurs de mémoire, des tests unitaires (pour chaque plateforme), des tests d'intégration (pour détecter les problèmes de compatibilité entre les différents langages pris en charge par Themis, les systèmes d'exploitation et les architectures x86/x64). En savoir plus sur nos pratiques de test de sécurité dans la documentation sur la sécurité de Themis.
Si vous pensez avoir trouvé un problème lié à la sécurité, veuillez nous envoyer un e-mail à [email protected]. Un programme de bug bounty peut s'appliquer.
En tant que bibliothèque de services cryptographiques pour plateformes mobiles et serveurs, Themis est un outil de chiffrement « à la pointe de la technologie » qui offre un échange et un stockage sécurisés des données.
Grâce à Themis, vous pouvez atteindre une meilleure conformité avec les réglementations actuelles sur la confidentialité des données, telles que :
En savoir plus sur les Règlementations dans la documentation.
Themis est recommandé par l'OWASP comme bibliothèque de chiffrement de données pour les plateformes mobiles.
Themis est largement utilisé pour des projets non commerciaux et commerciaux, quelques applications et bibliothèques publiques sont disponibles ici.
Vous souhaitez également figurer sur notre blog et sur la liste des contributeurs ? Écrivez-nous à propos du projet que vous avez créé avec Themis !
Si vous cherchez à quoi contribuer pour gagner le respect éternel, choisissez simplement des éléments dans la liste des issues. Rendez-vous sur nos directives de contribution comme point de départ.
Supporter Themis sur toutes ces nombreuses plateformes est un travail difficile, mais nous faisons de notre mieux pour rendre l'utilisation de Themis pratique pour tout le monde. La plupart des problèmes rencontrés par nos utilisateurs sont liés au processus d'installation et à la gestion des dépendances. Si vous rencontrez des difficultés, n'hésitez pas à nous le faire savoir.
Chez Cossack Labs, nous proposons des services de support professionnels pour Themis et les applications qui utilisent Themis.
Ce support comprend, sans s'y limiter, l'intégration de la bibliothèque, avec un accent sur les applications web et mobiles ; la conception et la construction de schémas de chiffrement de bout en bout pour les applications mobiles ; les audits de sécurité, pour les intégrations internes de bibliothèques ou les protocoles de haut niveau ; le développement d'applications sur mesure nécessitant de la cryptographie ; le conseil et les services de formation.
Envoyez-nous un e-mail à [email protected] ou consultez les services de cybersécurité de Cossack Labs.
Si vous souhaitez poser une question technique, signaler un bug ou suggérer une fonctionnalité, n'hésitez pas à lancer une discussion sur GitHub, à ouvrir une issue dans le suivi des issues, ou à écrire à [email protected].
Pour parler à l'équipe commerciale de Cossack Labs Limited, envoyez-nous un e-mail à [email protected].
| Plateforme | Documentation | Exemples | Version |
|---|
| ⚛️ React Native (iOS, Android) | Guide React Native | docs/examples/react-native | |
| 🔶 Swift (iOS, macOS) | Guide Swift | docs/examples/swift | |
| 📱 Objective-C (iOS, macOS) | Guide Objective-C | docs/examples/objc | |
| ☕️ Java (Desktop) | Guide Java (Desktop) | docs/examples/java | |
| ☎️ Java (Android) | Guide Java (Android) | docs/examples/android | |
| 📞 Kotlin (Android) | Guide Kotlin (Android) | docs/examples/android | |
| 🔻 Ruby | Guide Ruby | docs/examples/ruby | |
| 🐍 Python | Guide Python | docs/examples/python | |
| 🐘 PHP | Guide PHP | docs/examples/php | |
| ➕ C++ | Guide C++ | docs/examples/c++ | |
| 🍭 Node.js | Guide Javascript (Node.js) | docs/examples/js | |
| 🖥 WebAssembly | Guide Javascript (WebAssembly) | docs/examples/js | |
| 🐹 Go | Guide Go | docs/examples/go | |
| 🦀 Rust | Guide Rust | docs/examples/rust | |
| 🕸 С++ PNaCl pour Google Chrome | Projet WebThemis |