
Benutzerfreundliches kryptografisches Framework für Datenschutz: sicheres Messaging mit Forward Secrecy und sichere Datenspeicherung. Verfügt über einheitliche APIs auf 14 Plattformen.
Themis ist eine Open-Source-Bibliothek für hochwertige kryptografische Dienste zum Schutz von Daten bei Authentifizierung, Speicherung, Messaging, Netzwerkaustausch usw. Themis löst 90 % der typischen Datenschutz-Anwendungsfälle, die in den meisten Apps üblich sind.
Themis hilft, sowohl einfache als auch komplexe kryptografische Funktionen einfach, schnell und sicher zu entwickeln. Themis ermöglicht Entwicklern, sich auf das Wesentliche zu konzentrieren: die Entwicklung ihrer Anwendungen.
Verschlüsseln Sie gespeicherte Geheimnisse in Ihren Apps und im Backend: API-Schlüssel, Sitzungstokens, Dateien.
Verschlüsseln Sie sensible Datenfelder, bevor Sie sie in der Datenbank speichern ("anwendungsseitige Feldverschlüsselung").
Unterstützt durchsuchbare Verschlüsselung, Daten-Tokenisierung und Datenmaskierung mit Themis und Acra.
Tauschen Sie Geheimnisse sicher aus: teilen Sie sensible Daten zwischen Parteien, erstellen Sie eine einfache Chat-App zwischen Patienten und Ärzten.
Bauen Sie Ende-zu-Ende-Verschlüsselungsschemata mit zentralisierter oder dezentralisierter Architektur auf: Daten lokal in einer App verschlüsseln, überall verschlüsselt verwenden, nur für authentifizierte Benutzer entschlüsseln.
Halten Sie Echtzeit-Sicherheitssitzungen aufrecht: senden Sie verschlüsselte Nachrichten, um verbundene Geräte über Ihre App zu steuern, und empfangen Sie in Echtzeit sensible Daten von Ihren Apps an Ihr Backend.
Vergleichen Sie Geheimnisse zwischen Parteien, ohne sie preiszugeben (Authentifizierung auf Basis von Zero-Knowledge-Beweisen).
Eine Kryptografie-Bibliothek, die für alle passt: Themis ist die beste Wahl für plattformübergreifende Apps (z. B. iOS+Android+Electron-App mit Node.js-Backend), da es eine 100 % kompatible API bietet und auf allen unterstützten Plattformen auf die gleiche Weise funktioniert.
Themis bietet fertige Bausteine („Kryptosysteme“), die die Verwendung der zentralen kryptografischen Sicherheitsoperationen vereinfachen.
Themis bietet 4 wichtige kryptografische Dienste:
Wir haben Themis entwickelt, um darauf andere Produkte aufzubauen – z. B. Acra und Hermes.
Siehe die Seite Installation, um Themis für Ihre Mobile-, Web-, Desktop- oder Serveranwendung zu installieren. Wir empfehlen dringend Installationspakete anstelle eines Builds aus dem Quellcode.
Themis ist für die folgenden Sprachen/Plattformen verfügbar; für jede Sprache siehe Sprach-Anleitungen:
Themis unterstützt die folgenden CPU-Architekturen: x86_64/i386, ARM, Apple Silicon (ARM64), verschiedene Android-Architekturen.
Wir bauen und verifizieren Themis auf den neuesten stabilen OS-Versionen:
Wir planen, diese Liste um ein breiteres Spektrum an Plattformen zu erweitern. Wenn Sie helfen möchten, Themis zu verbessern oder auf Ihre bevorzugte Plattform oder Sprache zu bringen – melden Sie sich.
Die Dokumentation für Themis enthält die sich ständig weiterentwickelnden offiziellen Dokumente, die alles von Bereitstellungsrichtlinien bis zu Anwendungsfällen abdecken, mit kurzen Erklärungen der Kryptosysteme und der Architektur hinter der Hauptbibliothek Themis.
In der Dokumentation erfahren Sie mehr über:
Themis stützt sich auf bewährte kryptografische Algorithmen, die von bekannten Kryptografie-Bibliotheken wie OpenSSL, LibreSSL, BoringSSL implementiert werden. Weitere Informationen finden Sie in der Dokumentation Kryptografie in Themis.
Diese Distribution enthält kryptografische Software. Das Land, in dem Sie sich derzeit aufhalten, kann Beschränkungen für die Einfuhr, den Besitz, die Verwendung und/oder die Wiederausfuhr von Verschlüsselungssoftware in ein anderes Land erlassen haben. Bevor Sie Verschlüsselungssoftware verwenden, prüfen Sie bitte die Gesetze, Vorschriften und Richtlinien Ihres Landes bezüglich Einfuhr, Besitz oder Verwendung sowie Wiederausfuhr von Verschlüsselungssoftware, um festzustellen, ob dies erlaubt ist. Weitere Informationen finden Sie unter http://www.wassenaar.org/.
Das US-Handelsministerium, Bureau of Industry and Security (BIS), hat diese Software als Export Commodity Control Number (ECCN) 5D002.C.1 eingestuft, die Informationssicherheitssoftware umfasst, die kryptografische Funktionen mit asymmetrischen Algorithmen verwendet oder ausführt. Die Form und Art dieser Distribution machen sie für den Export unter der Lizenzausnahme ENC Technology Software Unrestricted (TSU) (siehe BIS Export Administration Regulations, Abschnitt 740.13) sowohl für Objektcode als auch für Quellcode förderfähig.
Wenn Ihre Anwendung Themis verwendet und Sie sie im Apple App Store einreichen möchten, gibt es bestimmte Anforderungen an die Deklaration der Verwendung von Kryptografie.
Lesen Sie die Apple-Exportbestimmungen zur Kryptografie für Themis, um herauszufinden, was zu tun ist.
Jede Änderung an der Themis-Kernbibliothek wird von unserem internen Team aus Kryptografen und Sicherheitsingenieuren geprüft und freigegeben. Für jedes Release führen wir interne Audits durch Kryptografen durch, die nicht an Themis arbeiten.
Wir setzen umfangreiche automatisierte Sicherheitstests ein, z. B. statische Code-Analysatoren, Fuzzing-Tools, Speicher-Analysatoren, Unit-Tests (für jede Plattform), Integrationstests (um Kompatibilitätsprobleme zwischen verschiedenen von Themis unterstützten Sprachen, Betriebssystemen und x86/x64-Architekturen zu finden). Lesen Sie mehr über unsere Sicherheitstestpraktiken in der Themis-Sicherheitsdokumentation.
Wenn Sie glauben, ein sicherheitsrelevantes Problem gefunden zu haben, schreiben Sie uns bitte eine E-Mail an [email protected]. Ein Bug-Bounty-Programm kann zur Anwendung kommen.
Als Bibliothek für kryptografische Dienste für Mobile- und Serverplattformen ist Themis ein Verschlüsselungswerkzeug nach "Stand der Technik", das einen sicheren Datenaustausch und eine sichere Speicherung ermöglicht.
Mit Themis können Sie eine bessere Einhaltung der aktuellen Datenschutzbestimmungen erreichen, wie z. B.:
Erfahren Sie in der Dokumentation mehr über Vorschriften.
Themis wird von OWASP empfohlen als Datenverschlüsselungsbibliothek für mobile Plattformen.
Themis wird häufig sowohl für nicht-kommerzielle als auch für kommerzielle Projekte verwendet, einige öffentliche Anwendungen und Bibliotheken finden Sie hier.
Möchten Sie auch in unserem Blog und auf der Liste der Mitwirkenden erscheinen? Schreiben Sie uns über das Projekt, das Sie mit Themis erstellt haben!
Wenn Sie nach einer Möglichkeit suchen, einen Beitrag zu leisten und sich ewigen Respekt zu verdienen, wählen Sie einfach etwas aus der Liste der Issues. Beginnen Sie mit unseren Richtlinien für Mitwirkende.
Themis für all diese zahlreichen Plattformen zu unterstützen, ist harte Arbeit, aber wir geben unser Bestes, um die Nutzung von Themis für alle bequem zu machen. Die meisten Probleme, auf die unsere Benutzer stoßen, stehen im Zusammenhang mit dem Installationsprozess und der Abhängigkeitsverwaltung. Wenn Sie auf Herausforderungen stoßen, lassen Sie es uns bitte wissen.
Bei Cossack Labs bieten wir professionelle Support-Dienstleistungen für Themis und Anwendungen, die Themis verwenden.
Dieser Support umfasst unter anderem die Bibliotheksintegration mit Schwerpunkt auf Web- und Mobilanwendungen; das Entwerfen und Erstellen von Ende-zu-Ende-Verschlüsselungsschemata für mobile Anwendungen; Sicherheitsaudits für interne Bibliotheksintegrationen oder Protokolle auf hoher Ebene; individuelle Anwendungsentwicklung, die Kryptografie erfordert; Beratung und Schulungsdienste.
Schreiben Sie uns eine E-Mail an [email protected] oder sehen Sie sich die Cybersicherheitsdienste von Cossack Labs an.
Wenn Sie eine technische Frage stellen, einen Fehler melden oder eine Funktion vorschlagen möchten, können Sie gerne eine Diskussion auf GitHub starten, ein Issue im Issue-Tracker eröffnen oder an [email protected] schreiben.
Um mit dem Geschäftsbereich von Cossack Labs Limited zu sprechen, schreiben Sie uns eine E-Mail an [email protected].
| Plattform | Dokumentation | Beispiele | Version |
|---|
| ⚛️ React Native (iOS, Android) | React Native-Anleitung | docs/examples/react-native | |
| 🔶 Swift (iOS, macOS) | Swift-Anleitung | docs/examples/swift | |
| 📱 Objective-C (iOS, macOS) | Objective-C-Anleitung | docs/examples/objc | |
| ☕️ Java (Desktop) | Java (Desktop)-Anleitung | docs/examples/java | |
| ☎️ Java (Android) | Java (Android)-Anleitung | docs/examples/android | |
| 📞 Kotlin (Android) | Kotlin (Android)-Anleitung | docs/examples/android | |
| 🔻 Ruby | Ruby-Anleitung | docs/examples/ruby | |
| 🐍 Python | Python-Anleitung | docs/examples/python | |
| 🐘 PHP | PHP-Anleitung | docs/examples/php | |
| ➕ C++ | C++-Anleitung | docs/examples/c++ | |
| 🍭 Node.js | Javascript (Node.js)-Anleitung | docs/examples/js | |
| 🖥 WebAssembly | Javascript (WebAssembly)-Anleitung | docs/examples/js | |
| 🐹 Go | Go-Anleitung | docs/examples/go | |
| 🦀 Rust | Rust-Anleitung | docs/examples/rust | |
| 🕸 С++ PNaCl für Google Chrome | WebThemis-Projekt |