Themis は、認証、保存、メッセージング、ネットワーク交換などの際にデータを保護するためのオープンソースの高レベル暗号化サービス ライブラリです。Themis は、ほとんどのアプリに共通する一般的なデータ保護のユースケースの 90% を解決します。
Themis は、単純な暗号化機能と複雑な暗号化機能の両方を簡単、迅速、安全に構築するのに役立ちます。 Themis を使用すると、開発者はアプリケーションの開発という主要な作業に集中できます。
アプリとバックエンドに保存されているシークレット(API キー、セッション トークン、ファイル)を暗号化します。
データベースに保存する前に機密データ フィールドを暗号化します( 「アプリケーション側のフィールド レベルの暗号化」 )。
Themis と Acra を使用した検索可能な暗号化、データのトークン化、データ マスキングをサポートします。
秘密を安全に交換します。当事者間で機密データを共有し、患者と医師の間でシンプルなチャット アプリを構築します。
集中型または分散型のアーキテクチャでエンドツーエンドの暗号化スキームを構築します。データを 1 つのアプリ上でローカルに暗号化し、どこでも暗号化して使用し、認証されたユーザーのみを復号化します。
リアルタイムの安全なセッションを維持する: 暗号化されたメッセージを送信して、接続されているデバイスをアプリから制御し、リアルタイムの機密データをアプリからバックエンドに受信します。
秘密を漏らさずに当事者間で秘密を比較します(ゼロ知識証明ベースの認証)。
すべてに適合する 1 つの暗号ライブラリ: Themis は、100% 互換性のある API を提供し、サポートされているすべてのプラットフォームで同じように動作するため、マルチプラットフォーム アプリ (例: Node.js バックエンドを備えた iOS+Android+Electron アプリ) に最適です。 。
Themis は、コア暗号セキュリティ操作の使用を簡素化する既製のビルディング ブロック(「暗号システム」)を提供します。
Themis は 4 つの重要な暗号化サービスを提供します。
私たちは Themis を作成して、その上に他の製品、つまり Acra や Hermes を構築しました。
モバイル、Web、デスクトップ、またはサーバー側アプリケーションに Themis をインストールするには、インストール ページを参照してください。ソースからビルドするのではなく、パッケージをインストールすることを強くお勧めします。
Themis は次の言語/プラットフォームで利用できます。それぞれの言語のハウツーを参照してください。
プラットフォーム | ドキュメント | 例 | バージョン |
---|---|---|---|
⚛️ リアクトネイティブ (iOS、Android) | React Native の使い方 | ドキュメント/例/反応ネイティブ | |
?スウィフト (iOS、macOS) | 迅速なハウツー | ドキュメント/例/Swift | |
Objective-C (iOS、macOS) | Objective-C のハウツー | ドキュメント/例/objc | |
☕️ Java (デスクトップ) | Java (デスクトップ) の使い方 | ドキュメント/サンプル/Java | |
☎️ Java (Android) | Java (Android) の使い方 | ドキュメント/例/アンドロイド | |
?コトリン (Android) | Kotlin (Android) の使い方 | ドキュメント/例/アンドロイド | |
?ルビー | Ruby の使い方 | ドキュメント/例/ルビー | |
?パイソン | Python の使い方 | ドキュメント/例/Python | |
? PHP | PHP の使い方 | docs/examples/php | |
➕ C++ | CPP の使い方 | ドキュメント/サンプル/C++ | |
? Node.js | JavaScript (Node.js) の使い方 | ドキュメント/サンプル/js | |
? Webアセンブリ | Javascript (WebAssembly) の使い方 | ドキュメント/サンプル/js | |
?行く | ハウツーに行く | ドキュメント/例/go | |
?さび | Rust のハウツー | ドキュメント/例/Rust | |
? Google Chrome 用の С++ PNaCl | WebThemisプロジェクト |
Themis は、x86_64/i386、ARM、Apple Silicon (ARM64)、さまざまな Android アーキテクチャの CPU アーキテクチャをサポートしています。
最新の安定した OS バージョンで 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 でサポートされているさまざまな言語、OS、x86/x64 アーキテクチャ間の互換性の問題を見つけるため) など、多くの自動セキュリティ テストを使用しています。セキュリティ テストの実践について詳しくは、Themis セキュリティ ドキュメントをご覧ください。
セキュリティ関連の問題を発見したと思われる場合は、[email protected] まで電子メールを送信してください。バグ報奨金プログラムが適用される場合があります。
Themis は、モバイルおよびサーバー プラットフォーム用の暗号化サービス ライブラリとして、安全なデータ交換とストレージを提供する「最先端の」暗号化ツールです。
Themis を使用すると、次のような現在のデータ プライバシー規制への準拠を強化できます。
規制の詳細については、ドキュメントをご覧ください。
Themis は、モバイル プラットフォーム用のデータ暗号化ライブラリとして OWASP によって推奨されています。
Themis は非営利プロジェクトと商業プロジェクトの両方で広く使用されており、いくつかの公開アプリケーションとライブラリはここで見つけることができます。
私たちのブログや寄稿者リストにも掲載されたいですか? Themis を使用して作成したプロジェクトについてお書きください。
貢献して永遠の尊敬を得る何かを探しているのであれば、問題リストから項目を選択してください。出発点として、投稿ガイドラインに進んでください。
これら多数のプラットフォームすべてで Themis をサポートするのは大変な作業ですが、私たちは Themis を誰にとっても便利に使えるように最善を尽くすよう努めています。ユーザーが遭遇する問題のほとんどは、インストール プロセスと依存関係の管理に関連しています。課題に直面した場合は、お知らせください。
Cossack Labs では、Themis および Themis を使用するアプリケーションのプロフェッショナル サポート サービスを提供しています。
このサポートには、Web アプリケーションとモバイル アプリケーションを中心としたライブラリの統合が含まれますが、これに限定されません。モバイルアプリケーション向けのエンドツーエンド暗号化スキームの設計と構築。社内ライブラリ統合または高レベルプロトコルのセキュリティ監査。暗号化を必要とするカスタム アプリケーション開発。コンサルティングおよびトレーニングサービス。
[email protected] までメールでお問い合わせいただくか、Cossack Labs のサイバーセキュリティ サービスをご確認ください。
技術的な質問をしたり、バグを報告したり、機能を提案したりする場合は、お気軽に GitHub でディスカッションを開始したり、問題トラッカーで問題を提起したり、[email protected] に書き込んでください。
Cossack Labs Limited のビジネス部門に問い合わせる場合は、[email protected] まで電子メールをお送りください。