Themis est une bibliothèque de services cryptographiques open source de haut niveau permettant de sécuriser les données lors de l'authentification, du stockage, de la messagerie, de l'échange réseau, etc. Themis résout 90 % des cas d'utilisation typiques de la protection des données, courants pour la plupart des applications.
Themis aide à créer des fonctionnalités cryptographiques simples et complexes facilement, rapidement et en toute sécurité. Themis permet aux développeurs de se concentrer sur l'essentiel : développer leurs applications.
Chiffrez les secrets stockés dans vos applications et votre backend : clés API, jetons de session, fichiers.
Cryptez les champs de données sensibles avant de les stocker dans la base de données ( « chiffrement au niveau du champ côté application » ).
Prend en charge le cryptage consultable , la tokenisation des données et le masquage des données à l'aide de Themis et Acra.
Échangez des secrets en toute sécurité : partagez des données sensibles entre les parties, créez une application de chat simple entre les patients et les médecins.
Créez des systèmes de chiffrement de bout en bout avec une architecture centralisée ou décentralisée : chiffrez les données localement sur une seule application, utilisez-les chiffrées partout, décryptez uniquement pour les utilisateurs authentifiés.
Maintenez des sessions sécurisées en temps réel : envoyez des messages cryptés pour contrôler les appareils connectés depuis votre application, recevez des données sensibles en temps réel de vos applications vers votre backend.
Comparez les secrets entre les parties sans les révéler (authentification basée sur des preuves sans connaissance).
Une bibliothèque cryptographique qui s'adapte à tous : Themis est la meilleure solution pour les applications multiplateformes (par exemple, application iOS+Android+Electron avec 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 éléments de base prêts à l'emploi (« cryptosystèmes ») qui simplifient l'utilisation des opérations de sécurité cryptographique de base.
Themis fournit 4 services cryptographiques importants :
Nous avons créé Themis pour construire d'autres produits par-dessus, par exemple Acra et Hermes.
Reportez-vous à la page Installation pour installer Themis pour votre application mobile, Web, de bureau ou côté serveur. Nous recommandons fortement les packages d'installation au lieu de construire à partir des sources.
Themis est disponible pour les langues/plateformes suivantes, reportez-vous aux procédures de langue pour chacune :
Plate-forme | Documentation | Exemples | Version |
---|---|---|---|
⚛️ Réagir natif (iOS, Android) | Comment réagir natif | documents/exemples/react-native | |
? Swift (iOS, macOS) | Comment faire rapidement | documents/exemples/swift | |
Objective-C (iOS, macOS) | Comment faire Objective-C | documents/exemples/objc | |
☕️ Java (bureau) | Java (ordinateur de bureau) Comment faire | documents/exemples/java | |
☎️ Java (Android) | Java (Android) Comment faire | documents/exemples/android | |
? Kotlin (Android) | Kotlin (Android) Comment faire | documents/exemples/android | |
? Rubis | Comment faire pour Ruby | documents/exemples/ruby | |
? Python | Comment faire Python | documents/exemples/python | |
? PHP | Comment faire PHP | documents/exemples/php | |
➕C++ | Comment faire pour le RPC | documents/exemples/c++ | |
? Noeud.js | Javascript (Node.js) Comment faire | docs/exemples/js | |
? Assemblage Web | Javascript (WebAssembly) Comment faire | docs/exemples/js | |
? Aller | Aller comment | documents/exemples/aller | |
? Rouiller | Comment faire de la rouille | docs/exemples/rouille | |
? C++ PNaCl pour Google Chrome | Projet WebThemis |
Themis prend en charge les architectures CPU suivantes : x86_64/i386, ARM, Apple Silicon (ARM64), diverses architectures Android.
Nous construisons et vérifions Themis sur les dernières versions stables du système d'exploitation :
Nous prévoyons d'élargir cette liste avec un ensemble plus large de plates-formes. Si vous souhaitez contribuer à améliorer ou amener Themis sur votre plateforme ou votre langue préférée, contactez-nous.
La documentation pour Themis contient la documentation officielle en constante évolution, qui couvre tout, des directives de déploiement aux cas d'utilisation, avec de brèves explications sur les cryptosystèmes et l'architecture derrière la bibliothèque principale Themis.
Reportez-vous à la documentation pour en savoir plus sur :
Themis s'appuie sur des algorithmes cryptographiques éprouvés implémentés par des bibliothèques de cryptographie bien connues telles que OpenSSL, LibreSSL, BoringSSL. Reportez-vous à Cryptographie dans la documentation Themis pour en savoir plus.
Cette distribution inclut un logiciel cryptographique. Le pays dans lequel vous résidez actuellement peut avoir des restrictions sur l'importation, la possession, l'utilisation et/ou la réexportation vers un autre pays de logiciels de cryptage. AVANT d'utiliser un logiciel de cryptage, veuillez vérifier les lois, réglementations et politiques de votre pays concernant l'importation, la possession ou l'utilisation et la réexportation de logiciels de cryptage, pour voir si cela est autorisé. Voir http://www.wassenaar.org/ pour plus d'informations.
Le Département du Commerce du gouvernement américain, Bureau of Industry and Security (BIS), a classé ce logiciel sous le numéro ECCN (Export Commodity Control Number) 5D002.C.1, qui inclut un logiciel de sécurité des informations 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 réglementations administratives sur les exportations du BIS, section 740.13) pour le code objet et le code source.
Si votre application utilise Themis et que vous souhaitez la soumettre à l'App Store d'Apple, il existe certaines exigences pour déclarer l'utilisation de toute cryptographie.
Lisez à propos des réglementations d’exportation Apple sur la cryptographie pour Themis pour savoir quoi faire.
Chaque modification apportée à 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 de nombreux tests de sécurité automatisés, c'est-à-dire des analyseurs de code statiques, des outils de fuzzing, des analyseurs de mémoire, des tests unitaires (pour chaque plateforme), des tests d'intégration (pour trouver des problèmes de compatibilité entre les différents langages supportés par Themis, OS et architectures x86/x64). En savoir plus sur nos pratiques de tests de sécurité dans les documents de sécurité Themis.
Si vous pensez avoir trouvé un problème lié à la sécurité, veuillez nous envoyer un e-mail à [email protected]. Un programme de prime aux bogues peut s'appliquer.
En tant que bibliothèque de services cryptographiques pour plates-formes mobiles et serveurs, Themis est un outil de chiffrement « de pointe », qui permet un échange et un stockage sécurisés de données.
En utilisant Themis, vous pouvez atteindre une meilleure conformité avec les réglementations actuelles en matière de 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. Certaines applications et bibliothèques publiques peuvent être trouvées ici.
Vous souhaitez également figurer sur notre blog et sur la liste des contributeurs ? Écrivez-nous sur le projet que vous avez créé avec Themis !
Si vous cherchez quelque chose à quoi contribuer et gagner le respect éternel, choisissez simplement les éléments dans la liste des problèmes. Rendez-vous sur nos directives de contribution comme point de départ.
Prendre en charge Themis pour toutes ces nombreuses plates-formes est un travail difficile, mais nous essayons de faire 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, veuillez nous en informer.
Chez Cossack Labs, nous proposons des services de support professionnels pour Themis et les applications utilisant Themis.
Cette prise en charge inclut, sans toutefois s'y limiter, l'intégration de la bibliothèque, en mettant l'accent sur les applications Web et mobiles ; concevoir et créer des systèmes de chiffrement de bout en bout pour les applications mobiles ; audits de sécurité, pour les intégrations de bibliothèques internes ou de protocole de haut niveau ; développement d'applications personnalisées nécessitant de la cryptographie ; services de conseil et 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 à démarrer une discussion sur GitHub, à soulever un problème dans le suivi des problèmes ou à écrire à [email protected].
Pour parler à l'aile commerciale de Cossack Labs Limited, envoyez-nous un e-mail à [email protected].