メインコンテンツにジャンプ
ソリューション

E2E Encryption for Capacitor Updater via Code Signing

RSA + AES 暗号化を使用したアップデートの暗号化、エンタープライズ向けと高セキュリティアプリ向けに設計

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

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

コンテンツマーケター

E2E Encryption for Capacitor Updater via Code Signing

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

Capacitor アップデートのデフォルトセキュリティ

デフォルトでは、Capgo のセキュリティモデルはウェブホスティングプロバイダーのものと似ています。 Capgo はアップデートを __CAPGO_KEEP_0__は、データを保存するときに暗号化します。 __CAPGO_KEEP_0__は、HTTPSを使用して、最新の暗号化方式でデータを送信します。同様に、開発者のコンピューターからアップデートを公開する場合も、HTTPSを使用します。

CapgoはSSL LabsのHTTPSテストでA+を獲得しています。

Capgoの標準的なセキュリティ設定は、SSL LabsのHTTPSテストでA+を獲得しています。https://www.ssllabs.comNovember 2022

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.

クラウドインフラストラクチャの供給 chain

Capgoとほとんどのウェブホストは、AWS、GCP、または他の人気のクラウドプロバイダーから提供される下位レベルのクラウドインフラストラクチャを実行しています。Capgoまたは他のウェブホストが実行するハードウェアとソフトウェアは、クラウド供給 chainの一部です。

クラウド供給 chainとそのセキュリティモデルは、多くのウェブサイトとアプリケーションで機能しています。クラウドプロバイダーを使用するウェブ開発者は、ファイルをアップロードしたものが実行または提供されるものであることを信頼し、ファイルが改ざんされていないことを期待しています。クラウドプロバイダーは、インフラストラクチャをセキュアに保つために頑張っています。

しかし、明らかにハードウェアとソフトウェアの脆弱性が発見されます。クラウドプロバイダーは、時期の良いスケジュールで脆弱性を修正し、悪意のあるソフトウェア(e.g. GoogleのSLSA)を予防します。 __CAPGO_KEEP_1__は、GoogleのSLSAを使用して、悪意のあるソフトウェアを予防します。)、と、防御の層を重ねることができます。実際には、クラウドインフラは多くのウェブサイトやアプリのセキュリティニーズを満たしています。ただし、イオニックアプリのいくつかには、クラウドインフラの侵害を脅威モデルに含めています。これらの Capacitor JS アプリに最も高いセキュリティニーズがあるウェブ上のアプリについては、 Capgo と code におけるエンドツーエンドの Capacitor サインを構築しました。 Capgo Updates 標準プロトコル.

End-to-end code signing with Capgo

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

“End-to-end” means this security covers the flow from the time a developer publishes an update to the time an end user’s device receives and runs the update. “Code signing” is using cryptography and a secret private key to “sign” code, and later using a trusted public key to verify the signature.

ここに、簡単な*スキーマがあります。エンドツーエンドの __CAPGO_KEEP_0__ サインのしくみを説明するために。

Capgo エンコードスキーマ

  • 実用上複雑な暗号学は難しい

定義:

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

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

RSAを使用して大量のデータを暗号化することはできません。したがって、AESをアップデートの暗号化に使用し、RSAをAESキーとチェックサムの暗号化に使用します。

このように、Capgo もあなたのバンドルの内容を読むことができません。このは、多くのエンタープライズカスタマーが使用する堅牢なセキュリティモデルです。

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

  • アプリに保存されているキーを変更しました。これは、暗号化に使用されていた公開キーを復元するのを防ぐために行いました。以前は復号化に使用されていた秘密キーから復元することができました。現在、アプリは復号化に使用される公開キーを保存しています。
  • チェックサムをCRC32アルゴリズムからSHA256アルゴリズムに変更しました。または、 バンドルに署名を開始しました暗号化V2が設定されている場合、更新には有効な署名が必要です。このルールはプラグインによって厳格に適用されます。
  • セキュリティ分析からコミュニティのメンバーが実施した3つの変更は、更新中に暗号攻撃を防ぐために実施されました。

V1を使用していた場合は、V2に移行して新しいセキュリティ機能を利用することをお勧めします。次の 移行ガイド.

With end-to-end code signing, Capgo becomes a “trustless” cloud infrastructure. If one of Capgo’s cloud providers or even Capgo itself were to modify a code-signed update, end users’ devices would reject that update and run the previous, trusted update that’s already on the device.

HTTPSレベルでのWebは多くのアプリケーションでは十分ですが、大規模企業では、エンドツーエンドのcode署名による追加のセキュリティレベルが魅力的なものです。金融アプリを開発する企業は、高額の永久取引を実行することがあります。CISOは、クラウドインフラの侵害を脅威モデルに含めることがあります。Capgoにエンドツーエンドのcode署名を実装したのは、これらのケースに対応するためです。より高度なセキュリティニーズを持つ企業からさらに情報を得たいと思っています。

エンタープライズ用のスタートガイド

セキュリティに深く関心を持つ大規模企業やプロジェクト向けに、code署名を簡単に設定および維持できるようにしたいと思っています。そこで、以下の機能を提供しています。

  • 証明書の設定と構成の迅速化
  • Support for code signing development servers with both Capgo and development builds
  • __CAPGO_KEEP_1__と開発版の両方でcodeの署名サーバー

Capgo code signing is available for all customers. To get started, follow the __CAPGO_KEEP_0__と__CAPGO_KEEP_1__の署名はすべての顧客に利用可能です。始めるには、以下の手順に従ってください。.

セットアップの手順

クレジット __CAPGO_KEEP_0__に感謝します。イオニック この記事は この記事をchat-gpt-3で書き直し、適応しました。

CapacitorアップデータのE2E暗号化から続けてCode署名を使用してください。

__CAPGO_KEEP_0__を使用している場合 E2E CapacitorエンクリプションのためのCode署名 セキュリティとコンプライアンスの計画に役立つように接続する エンクリプション エンクリプションの実装詳細 コンプライアンス コンプライアンスの実装詳細 Capgo セキュリティ スキャナー Capgo セキュリティ スキャナーの製品ワークフロー Capgo セキュリティ Capgo セキュリティの製品ワークフロー Capgo トラスト センター Capgo トラスト センターの製品ワークフロー

ライブアップデートはCapacitorアプリに適用されます。

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

マーティンから人間のサポートを受けます。

今すぐ始めましょう。

最新のブログ記事

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