メインコンテンツにスキップ
解決策

Capacitor アップデート用の Code 署名による E2E 暗号化

RSA + AES 暗号化を使用してアップデートを暗号化し、企業向けおよび高セキュリティアプリ向けに設計

マーティン・ドナディュー

マーティン・ドナディュー

コンテンツマーケティング

Capacitor アップデート用の Code 署名による E2E 暗号化

Capacitor-updater code-updater は、現在、Code 署名によるエンドツーエンド暗号化をサポートしています。 Code 署名により、エンドユーザーのデバイスで実行されるアップデートが改ざんされていないことを確認し、Capacitor-updater の標準的なウェブ向けセキュリティよりもさらに高レベルの保護を提供します。

Capacitor-updater の標準セキュリティ

Capgo の標準セキュリティモデルは、ウェブホスティング プロバイダーと似ています。 Capgo はアップデートを保存します __CAPGO_KEEP_0__のデータは、RESTで暗号化され、HTTPSを使用して現代の暗号化方式で配信されます。同様に、開発者のコンピューターからアップデートを公開する場合、HTTPSを使用することになります。 __CAPGO_KEEP_0__のデフォルトのセキュリティは、SSL LabsのHTTPSテストでA+を獲得しています。

Capgoのデフォルトのセキュリティは、SSL LabsのHTTPSテストでA+を獲得しています(

Capgo’s default security scores an A+ on SSL Labs’ HTTPS test (、2022年11月)__CAPGO_KEEP_1__を使用するウェブアプリやIonicアプリの両方に、HTTPSを使用して、__CAPGO_KEEP_0__は、サーバーとエンドユーザーのデバイス間のネットワーク接続のプライバシーと完整性を保護します。これは、ウェブとIonicアプリの両方で機能する優れたセキュリティレベルです。

Like best-in-class web hosts, Capgo uses HTTPS to protect the privacy and integrity of network connections between the server and end users’ devices. This is an excellent level of security that works well both for the web and Ionic apps that use Capgo.

__CAPGO_KEEP_0__と多くのウェブホストが共有するもう一つの点は、AWS、GCP、または人気のクラウドプロバイダーから下位のクラウドインフラストラクチャを実行していることです。__CAPGO_KEEP_1__または他のウェブホストが実行するハードウェアとソフトウェアは、クラウドプロバイダーによって提供されるクラウドの供給 chainの一部です。

Another thing Capgo and most web hosts have in common is they run on lower-level cloud infrastructure, often from AWS, GCP, or another popular cloud provider. The hardware and software operated by these cloud providers and Capgo or other web hosts are part of the cloud supply chain.

しかし、明らかにハードウェアとソフトウェアの脆弱性が発見されます。クラウドプロバイダーは、時期の良いスケジュールで脆弱性を修正し、悪意のあるソフトウェア(e.g.

GoogleのSLSA)を予防します。 __CAPGO_KEEP_0__は、クラウドプロバイダーと同様に、クラウドインフラストラクチャの供給 chainの一部です。)、および、深い防御の層を構築し、実際には、クラウドインフラストラクチャは、ほとんどのウェブサイトとアプリのセキュリティニーズを満たしている。しかし、あるIonicアプリでは、クラウドインフラストラクチャの侵害を脅威モデルに含めています。これらのCapacitorのJSアプリに、ウェブ上の最高のセキュリティ要件を超えるものがあれば、codeのエンドツーエンドの署名に、Capgoに接続してください。 Capgoのアップデートの標準プロトコル.

エンドツーエンドのcodeの署名にCapgoを使用

Capgoのエンドツーエンドの署名は、codeを使用して、公開鍵暗号学を使用して、エンドユーザーのデバイスが、Capacitorのアプリ開発者から提供された、未変更のオリジナルのアップデートのみを実行することを保証します。

「エンドツーエンド」とは、開発者がアップデートを公開した時点から、エンドユーザーのデバイスがアップデートを受信して実行するまでの流れをカバーすることを意味します。「Codeの署名」は、暗号学と秘密のプライベートキーを使用して「署名」するcode、そして後に、信頼されたパブリックキーを使用して署名を検証することを意味します。

ここに、簡単な*のスキーマを示します。

Capgoの暗号化スキーマ

  • 実践では複雑ですが、暗号学は難しい

定義:

  • AES: Advanced Encryption Standard、シームトリック暗号化アルゴリズム、1つの鍵で暗号化と復号化を行います。
  • RSA: Rivest–Shamir–Adleman、非対称暗号化アルゴリズム、2つの鍵が使用されます: 公開鍵とプライベート鍵。
  • シファー:暗号化されたデータ。
  • セッションキー: AESアルゴリズムを使用してデータを暗号化および復号化するために使用されるキー。
  • チェックサム: ファイルのハッシュ
  • 署名: プライベートのRSAキーの暗号化されたチェックサム。パブリックのRSAキーの使用で検証できます。

アップデートを暗号化するためにAESアルゴリズムを使用します。アップロードごとにランダムなAESキーを生成し、AESキーとチェックサム(署名)を開発者のプライベートのRSAキーで暗号化します。アプリでは開発者のパブリックのRSAキーを使用してAESキーと署名(チェックサムに戻す)を復号化します。次に、復号化されたAESキーを使用してアップデートを復号化し、復号化されたアップデートのチェックサムを計算し、復号化された署名と比較します。

RSAは大量のデータを暗号化することができないため、2つの異なる暗号化アルゴリズムを使用します。アップデートを暗号化するためにAESを使用し、AESキーとチェックサムを暗号化するためにRSAを使用します。

Capgoがあなたのバンドルの内容を読むことができないようにするために、このような強力なセキュリティモデルを使用しています。このモデルは、多くの企業顧客でも使用されています。

アップデート暗号化V2 2024-08-27:

  • アプリに保存されているキータイプを変更しました。これは、暗号化に使用されていたパブリックキーを復元するために、復号化に使用されていたプライベートキーを使用するのを防ぐために行いました。現在、アプリは復号化に使用されるパブリックキーを保存しています。
  • チェックサムをCRC32アルゴリズムからSHA256アルゴリズムに変更しました。また、署名を開始しました。 署名を開始しました。When encryption V2 is configured, an update must have a valid signature. This is strictly enforced by the plugin.
  • We now enforce a valid signature encryption V2 is configured. These 3 changes have been done after a security analysis from a member of the community. They are here to prevent cryptographic attacks during update.

If you used encryption V1, migrate to V2 to benefit from the new security features. Follow the migration instructions.

Capgoのエンドツーヘンド code サインで、Capgoは「信頼できない」クラウドインフラストラクチャになります。 CapgoのクラウドプロバイダーまたはCapgo自体がcodeで署名されたアップデートを変更した場合、エンドユーザーのデバイスはアップデートを拒否し、すでにデバイスにインストールされている信頼できるアップデートを実行します。

While web-level HTTPS is sufficient for many apps, some large companies find the extra level of security from end-to-end code signing appealing. Some of these companies make finance apps that issue high-value, permanent transactions. Other companies have CISOs who include compromised cloud infrastructure in their threat models. We built end-to-end code signing in to Capgo for these use cases and are interested in hearing more from companies with higher-level security needs.

Enterprise向けのスタートガイド

For large companies or projects who care deeply about security, we want to make code signing easy to set up and maintain. To that end, we now provide the following features:

  • クイック証明書セットアップと設定
  • 開発サーバーに code を使用して、両方の Capgo と開発ビルドをサポートする
  • code のプロダクションサインインは、毎回の更新で実行されます。

Capgo code のサインインはすべての顧客に利用可能です。始めるには、セットアップの指示に従ってください。 クレジット.

__CAPGO_KEEP_2__ に多大な感謝の気持ちを表します。

この記事は「__CAPGO_KEEP_3__」に基づいています。 この記事はChat-GPT-3と協力して、改訂されています。 __CAPGO_KEEP_0__ アップデーターの __CAPGO_KEEP_1__ サインインを通じて、E2E暗号化を継続してください。 __CAPGO_KEEP_4__ を使用している場合 protectedTokens

Keep going from E2E Encryption for Capacitor Updater via Code Signing

__CAPGO_KEEP_1__ E2E Capacitor暗号化のためのCode署名 セキュリティとコンプライアンスの計画に役立つためにつなぎます。 暗号化 暗号化の実装詳細 コンプライアンス コンプライアンスの実装詳細 Capgoセキュリティスキャナー Capgoセキュリティスキャナーの製品ワークフロー Capgoセキュリティ Capgoセキュリティの製品ワークフロー Capgoトラストセンター Capgoトラストセンターの製品ワークフロー

Capacitor アプリのリアルタイム更新

ウェブ層のバグが実行中の場合、Capgo を使用して修正を配信するのではなく、数日間待ってアプリストアの承認を待つのではなくします。ユーザーはバックグラウンドで更新を受け取り、ネイティブの変更は通常のレビュー経路で残ります。

Get Started Now

Latest from our Blog

Capgo は、プロフェッショナルなモバイルアプリを作成するために必要な最良の洞察を提供します。