Themis 是一个开源高级加密服务库,用于在身份验证、存储、消息传递、网络交换等过程中保护数据。Themis 解决了大多数应用程序常见的 90% 的典型数据保护用例。
Themis 有助于轻松、快速、安全地构建简单和复杂的加密功能。 Themis 允许开发人员专注于主要事情:开发他们的应用程序。
加密应用程序和后端中存储的机密:API 密钥、会话令牌、文件。
在存储到数据库之前对敏感数据字段进行加密( “应用程序端字段级加密” )。
使用 Themis 和 Acra 支持可搜索加密、数据标记化和数据脱敏。
安全地交换秘密:在各方之间共享敏感数据,在患者和医生之间构建简单的聊天应用程序。
使用集中式或分散式架构构建端到端加密方案:在一个应用程序上本地加密数据,在任何地方使用加密数据,仅对经过身份验证的用户进行解密。
维护实时安全会话:发送加密消息以从您的应用程序控制连接的设备,从您的应用程序接收实时敏感数据到后端。
比较各方之间的秘密而不泄露它们(基于零知识证明的身份验证)。
一个适合所有这些的加密库:Themis 最适合多平台应用程序(例如,带有 Node.js 后端的 iOS+Android+Electron 应用程序),因为它提供 100% 兼容的 API,并且在所有支持的平台上以相同的方式工作。
Themis 提供现成的构建块(“加密系统”) ,可简化核心加密安全操作的使用。
Themis 提供 4 种重要的加密服务:
我们创建 Themis 是为了在其之上构建其他产品 - 即 Acra 和 Hermes。
请参阅安装页面,为您的移动、Web、桌面或服务器端应用程序安装 Themis。我们强烈推荐安装包而不是从源代码构建。
Themis 适用于以下语言/平台,请参阅每种语言/平台的语言说明:
平台 | 文档 | 示例 | 版本 |
---|---|---|---|
⚛️ React Native(iOS、Android) | 反应本机指南 | 文档/示例/react-native | |
?斯威夫特(iOS、macOS) | 斯威夫特指南 | 文档/示例/swift | |
Objective-C(iOS、macOS) | Objective-C 指南 | 文档/示例/objc | |
☕️ Java(桌面) | Java(桌面)指南 | 文档/示例/java | |
☎️ Java(安卓) | Java (Android) 指南 | 文档/示例/android | |
?科特林(安卓) | Kotlin (Android) 指南 | 文档/示例/android | |
?红宝石 | 红宝石指南 | 文档/示例/ruby | |
? Python | Python 指南 | 文档/示例/python | |
? PHP | PHP 指南 | 文档/示例/php | |
➕ C++ | CPP 指南 | 文档/示例/c++ | |
? Node.js | JavaScript (Node.js) 指南 | 文档/示例/js | |
?网络组装 | Javascript (WebAssembly) 指南 | 文档/示例/js | |
?去 | 转到指南 | 文档/示例/go | |
?锈 | Rust 指南 | 文档/示例/rust | |
?适用于 Google Chrome 的 С++ PNaCI | WebThemis项目 |
Themis 支持以下 CPU 架构:x86_64/i386、ARM、Apple Silicon (ARM64)、各种 Android 架构。
我们在最新的稳定操作系统版本上构建并验证 Themis:
我们计划通过更广泛的平台来扩展此列表。如果您想帮助改进 Themis 或将其引入您最喜欢的平台或语言 - 请联系我们。
Themis 的文档包含不断发展的官方文档,涵盖从部署指南到用例的所有内容,并对主要 Themis 库背后的密码系统和架构进行了简要说明。
请参阅文档以了解更多信息:
Themis 依赖于 OpenSSL、LibreSSL、BoringSSL 等知名加密库实现的经过验证的加密算法。请参阅 Themis 文档中的密码学以了解更多信息。
该发行版包括加密软件。您当前居住的国家/地区可能对加密软件的进口、拥有、使用和/或再出口到另一个国家/地区有限制。在使用任何加密软件之前,请检查您所在国家/地区有关进口、拥有或使用以及再出口加密软件的法律、法规和政策,以了解是否允许这样做。请参阅 http://www.wassenaar.org/ 了解更多信息。
美国政府商务部工业与安全局 (BIS) 已将此软件分类为出口商品控制编号 (ECCN) 5D002.C.1,其中包括使用非对称算法或执行加密功能的信息安全软件。此分发的形式和方式使其符合目标代码和源代码的许可证例外 ENC 技术软件无限制 (TSU) 例外(请参阅 BIS 出口管理条例,第 740.13 节)的出口资格。
如果您的应用程序使用 Themis 并且您想将其提交到 Apple App Store,则声明使用任何加密技术都有一定的要求。
请阅读有关 Themis 密码学的 Apple 出口法规,了解该怎么做。
Themis 核心库中的每项更改都正在由我们内部的密码学家和安全工程师团队进行审查和批准。对于每个版本,我们都会由不在 Themis 工作的密码学家进行内部审计。
我们使用大量自动化安全测试,即静态代码分析器、模糊测试工具、内存分析器、单元测试(每个平台)、集成测试(以查找 Themis 支持的不同语言、操作系统和 x86/x64 架构之间的兼容性问题)。在 Themis 安全文档中阅读有关我们安全测试实践的更多信息。
如果您认为发现了与安全相关的问题,请给我们发送电子邮件至 [email protected]。错误赏金计划可能适用。
作为移动和服务器平台的加密服务库,Themis 是一种“最先进”的加密工具,可提供安全的数据交换和存储。
使用 Themis,您可以更好地遵守当前的数据隐私法规,例如:
阅读文档中有关法规的更多信息。
Themis 被 OWASP 推荐作为移动平台的数据加密库。
Themis 广泛用于非商业和商业项目,一些公共应用程序和库可以在这里找到。
也想出现在我们的博客和贡献者列表中吗?请写信给我们您使用 Themis 创建的项目!
如果您正在寻找一些可以做出贡献并获得永恒尊重的东西,只需在问题列表中选择即可。请以我们的贡献指南为起点。
为所有这些众多平台支持 Themis 是一项艰巨的工作,但我们尽力让每个人都能方便地使用 Themis。我们的用户遇到的大多数问题都与安装过程和依赖关系管理有关。如果您面临任何挑战,请告诉我们。
在 Cossack Labs,我们为 Themis 和使用 Themis 的应用程序提供专业支持服务。
这种支持包括但不限于图书馆集成,重点是网络和移动应用程序;为移动应用程序设计和构建端到端加密方案;安全审计,用于内部图书馆集成或高级协议;需要加密技术的定制应用程序开发;咨询和培训服务。
请发送电子邮件至 [email protected] 或查看 Cossack Labs 网络安全服务。
如果您想提出技术问题、报告错误或建议功能,请随时在 GitHub 上发起讨论、在问题跟踪器中提出问题,或写信至 [email protected]。
如需与 Cossack Labs Limited 的业务部门联系,请发送电子邮件至 [email protected]。