
Framework criptográfico fácil de usar para la protección de datos: mensajería segura con secreto perfecto hacia adelante y almacenamiento seguro de datos. Tiene APIs unificadas en 14 plataformas.
Themis es una librería de código abierto de servicios criptográficos de alto nivel para proteger datos durante la autenticación, el almacenamiento, la mensajería, el intercambio en red, etc. Themis resuelve el 90 % de los casos de uso típicos de protección de datos que son comunes en la mayoría de las aplicaciones.
Themis ayuda a construir funciones criptográficas, tanto simples como complejas, de forma fácil, rápida y segura. Themis permite a los desarrolladores centrarse en lo principal: desarrollar sus aplicaciones.
Cifra los secretos almacenados en tus aplicaciones y backend: claves de API, tokens de sesión, archivos.
Cifra los campos de datos sensibles antes de almacenarlos en la base de datos (“cifrado a nivel de campo en el lado de la aplicación”).
Soporta cifrado buscable, tokenización de datos y enmascaramiento de datos con Themis y Acra.
Intercambia secretos de forma segura: comparte datos sensibles entre las partes, crea una aplicación de chat sencilla entre pacientes y médicos.
Construye esquemas de cifrado de extremo a extremo con arquitectura centralizada o descentralizada: cifra los datos localmente en una aplicación, úsalos cifrados en todas partes y descifra solo para el usuario autenticado.
Mantén sesiones seguras en tiempo real: envía mensajes cifrados para controlar los dispositivos conectados desde tu aplicación y recibe datos sensibles en tiempo real desde tus aplicaciones hasta tu backend.
Compara secretos entre las partes sin revelarlos (autenticación basada en pruebas de conocimiento cero).
Una única librería criptográfica que se adapta a todos: Themis es la mejor opción para aplicaciones multiplataforma (p. ej., una aplicación iOS+Android+Electron con backend Node.js) porque proporciona una API 100 % compatible y funciona de la misma manera en todas las plataformas compatibles.
Themis proporciona bloques de construcción listos para usar (“criptosistemas”), que simplifican el uso de las operaciones fundamentales de seguridad criptográfica.
Themis proporciona 4 servicios criptográficos importantes:
Creamos Themis para construir otros productos sobre él, es decir, Acra y Hermes.
Consulta la página de Instalación para instalar Themis en tu aplicación móvil, web, de escritorio o de servidor. Recomendamos encarecidamente los paquetes de instalación en lugar de compilar desde el código fuente.
Themis está disponible para los siguientes lenguajes/plataformas; consulta las guías de lenguajes para cada uno:
Themis es compatible con las siguientes arquitecturas de CPU: x86_64/i386, ARM, Apple Silicon (ARM64) y varias arquitecturas de Android.
Compilamos y verificamos Themis en las últimas versiones estables de los sistemas operativos:
Planeamos ampliar esta lista con un conjunto más amplio de plataformas. Si quieres ayudar a mejorar Themis o llevarlo a tu plataforma o lenguaje favorito — ponte en contacto con nosotros.
La Documentación de Themis contiene la documentación oficial en constante evolución, que cubre todo, desde pautas de implementación hasta casos de uso, con breves explicaciones de los criptosistemas y la arquitectura detrás de la librería principal de Themis.
Consulta la documentación para obtener más información sobre:
Themis se basa en algoritmos criptográficos probados implementados por librerías de criptografía muy conocidas, como OpenSSL, LibreSSL y BoringSSL. Consulta la documentación sobre Criptografía en Themis para obtener más información.
Esta distribución incluye software criptográfico. El país en el que resides actualmente puede tener restricciones sobre la importación, posesión, uso y/o reexportación a otro país de software de cifrado. ANTES de usar cualquier software de cifrado, consulta las leyes, regulaciones y políticas de tu país sobre la importación, posesión, uso y reexportación de software de cifrado, para ver si está permitido. Consulta http://www.wassenaar.org/ para obtener más información.
El Departamento de Comercio del Gobierno de los Estados Unidos, Oficina de Industria y Seguridad (BIS), ha clasificado este software con el Número de Control de Mercancías de Exportación (ECCN) 5D002.C.1, que incluye software de seguridad de la información que utiliza o realiza funciones criptográficas con algoritmos asimétricos. La forma y la manera de esta distribución la hacen elegible para exportación bajo la excepción de Licencia ENC Technology Software Unrestricted (TSU) (consulta las Regulaciones de la Administración de Exportaciones del BIS, Sección 740.13), tanto para código objeto como para código fuente.
Si tu aplicación usa Themis y quieres enviarla a la Apple App Store, existen ciertos requisitos para declarar el uso de cualquier tipo de criptografía.
Lee sobre las regulaciones de exportación de Apple sobre criptografía para Themis para saber qué hacer.
Cada cambio en la librería principal de Themis es revisado y aprobado por nuestro equipo interno de criptógrafos e ingenieros de seguridad. Para cada versión, realizamos auditorías internas a cargo de criptógrafos que no trabajan en Themis.
Usamos muchas pruebas de seguridad automatizadas, es decir, analizadores estáticos de código, herramientas de fuzzing, analizadores de memoria, pruebas unitarias (por cada plataforma) y pruebas de integración (para encontrar problemas de compatibilidad entre los distintos lenguajes compatibles con Themis, sistemas operativos y arquitecturas x86/x64). Lee más sobre nuestras prácticas de pruebas de seguridad en la documentación de seguridad de Themis.
Si crees que has encontrado un problema relacionado con la seguridad, envíanos un correo electrónico a [email protected]. Puede aplicarse el programa de recompensas por errores (bug bounty).
Como librería de servicios criptográficos para plataformas móviles y de servidor, Themis es una herramienta de cifrado “de última generación” que proporciona intercambio y almacenamiento seguros de datos.
Con Themis, puedes lograr un mejor cumplimiento de las normativas actuales de privacidad de datos, como:
Lee más sobre las Regulaciones en la documentación.
Themis está recomendado por OWASP como librería de cifrado de datos para plataformas móviles.
Themis se usa ampliamente tanto en proyectos no comerciales como comerciales; aquí puedes encontrar algunas aplicaciones y librerías públicas.
¿Quieres aparecer también en nuestro blog y en la lista de colaboradores? Escríbenos sobre el proyecto que has creado con Themis.
Si buscas algo a lo que contribuir y ganarte el respeto eterno, solo tienes que elegir algo de la lista de issues. Dirígete a nuestras Pautas de contribución como punto de partida.
Mantener Themis para todas estas numerosas plataformas es un trabajo duro, pero hacemos todo lo posible para que usar Themis sea cómodo para todos. La mayoría de los problemas que encuentran nuestros usuarios están relacionados con el proceso de instalación y la gestión de dependencias. Si te enfrentas a alguna dificultad, avísanos.
En Cossack Labs ofrecemos servicios de soporte profesional para Themis y las aplicaciones que usan Themis.
Este soporte incluye, entre otros: la integración de la librería, con un enfoque en aplicaciones web y móviles; el diseño y la construcción de esquemas de cifrado de extremo a extremo para aplicaciones móviles; auditorías de seguridad, para integraciones de librerías internas o protocolos de alto nivel; desarrollo de aplicaciones personalizadas que requieran criptografía; y servicios de consultoría y formación.
Envíanos un correo electrónico a [email protected] o consulta los servicios de ciberseguridad de Cossack Labs.
Si quieres hacer una pregunta técnica, reportar un error o sugerir una función, no dudes en iniciar una discusión en GitHub, abrir un issue en el rastreador de issues, o escribir a [email protected].
Para hablar con el área comercial de Cossack Labs Limited, envíanos un correo electrónico a [email protected].
| Plataforma | Documentación | Ejemplos | Versión |
|---|
| ⚛️ React Native (iOS, Android) | Guía de React Native | docs/examples/react-native | |
| 🔶 Swift (iOS, macOS) | Guía de Swift | docs/examples/swift | |
| 📱 Objective-C (iOS, macOS) | Guía de Objective-C | docs/examples/objc | |
| ☕️ Java (Escritorio) | Guía de Java (escritorio) | docs/examples/java | |
| ☎️ Java (Android) | Guía de Java (Android) | docs/examples/android | |
| 📞 Kotlin (Android) | Guía de Kotlin (Android) | docs/examples/android | |
| 🔻 Ruby | Guía de Ruby | docs/examples/ruby | |
| 🐍 Python | Guía de Python | docs/examples/python | |
| 🐘 PHP | Guía de PHP | docs/examples/php | |
| ➕ C++ | Guía de C++ | docs/examples/c++ | |
| 🍭 Node.js | Guía de JavaScript (Node.js) | docs/examples/js | |
| 🖥 WebAssembly | Guía de JavaScript (WebAssembly) | docs/examples/js | |
| 🐹 Go | Guía de Go | docs/examples/go | |
| 🦀 Rust | Guía de Rust | docs/examples/rust | |
| 🕸 С++ PNaCl para Google Chrome | Proyecto WebThemis |