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

CapacitorのE2E暗号化されたアップデートをCodeで署名

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

記事のクレジット

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

ライター

バレリア

レビュアー

ジョーダン

エディター

E2E暗号化によるCapacitorアップデーターへのCode署名による保護

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

Capacitor-アップデーター

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

CapgoはSSL LabsのHTTPSテストでA+を獲得

CapgoのデフォルトセキュリティはSSL LabsのHTTPSテストでA+を獲得しています。__CAPGO_KEEP_0__-アップデーター、2022年11月)

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.

クラウドインフラストラクチャサプライチェーン

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.

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

GoogleのSLSA クラウドインフラストラクチャは、実際には多くのウェブサイトとアプリケーションのセキュリティニーズを満たしています。しかし、あるIonicアプリには、クラウドインフラストラクチャを脅威モデルに含める必要があります。これらの__CAPGO_KEEP_0__のJSアプリケーションは、ウェブ上の最高のセキュリティ要件を満たします。__CAPGO_KEEP_1__のエンドツーエンドの署名を__CAPGO_KEEP_2__と__CAPGO_KEEP_2__に導入しました。), and build layers of defense in depth, and in practice, cloud infrastructure has shown to meet most websites and apps’ security needs. However, some Ionic apps include compromised cloud infrastructure in their threat models. For these Capacitor JS apps with the highest security requirements above the web, we built end-to-end code signing in to Capgo and the Capgo の標準プロトコル更新.

End-to-end code 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_1__

「Capgo」のエンドツーヨーロード__CAPGO_KEEP_1__サインは、公開鍵暗号学を使用して、エンドユーザーのデバイスが、__CAPGO_KEEP_2__アプリ開発者によって公開されたオリジナルの更新のみを実行することを保証します。

  • 暗号化は実際には難しい

ここに、簡単な*スキーマがあります。:

  • __CAPGO_KEEP_0__暗号化スキーマ
  • 暗号学は実践では複雑です
  • 定義
  • AES: Advanced Encryption Standard、シームトリック暗号化アルゴリズム、1つの鍵で暗号化と復号が行われます。
  • ファイルのハッシュ: ファイルのチェックサム
  • 署名: 私有RSA鍵で暗号化されたチェックサムです。 公開RSA鍵を使用して検証できます。

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

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

このように、Capgo もあなたのバンドルの内容を読むことができません。このは、多くの企業顧客が使用する堅牢なセキュリティモデルです。

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

  • アプリに保存されている鍵のタイプを変更しました。これは、暗号化に使用されていた公開鍵を、復号化に使用されていたプライベート鍵から推測するのを防ぐために行いました。 これで、アプリは復号化に使用される公開鍵を保存します。
  • チェックサムをCRC32アルゴリズムからSHA256アルゴリズムに切り替えました。または、 バンドルを署名することを始めました。暗号化V2が有効になっている場合、更新には有効な署名が必要です。これはプラグインによって厳格に強制されます。
  • V2の有効な署名暗号化が強制されます。 これは、コミュニティのメンバーから行われたセキュリティ分析の結果で、3つの変更が行われました。これらは、更新中に暗号攻撃を防ぐために行われました。

V1の暗号化を使用した場合は、V2にマイグレーションして、新しいセキュリティ機能を利用することをお勧めします。migration instructionsを参照してください。 エンドツーエンドの__CAPGO_KEEP_0__署名により、__CAPGO_KEEP_1__は「信頼できない」クラウドインフラストラクチャになります。__CAPGO_KEEP_2__のクラウドプロバイダーまたは__CAPGO_KEEP_3__自体が、__CAPGO_KEEP_4__署名の更新を変更した場合、エンドユーザーのデバイスはその更新を拒否し、既にデバイスにインストールされている信頼できる更新を実行します。.

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.

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.

ビジネスユーザー向けの導入

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:

  • __CAPGO_KEEP_0__署名の開発サーバーに対する__CAPGO_KEEP_0__署名のサポート
  • Capgoと開発ビルドの両方に対するcode署名の開発サーバー
  • 更新ごとにcode署名の生産

Capgo code の署名はすべての顧客に利用可能です。始めるには、以下の手順に従ってください。 セットアップの手順.

クレジット

多大な感謝を表します。 イオニックこの記事は この記事 Chat-GPT-3で書き直され、適応されました。

Capacitor Code の署名を使用してアップデートを続けます。

__CAPGO_KEEP_0__ __CAPGO_KEEP_1__ の署名を使用してアップデートを続けます。 Capacitor Code の署名を使用してアップデートを続けます。 セキュリティと法的合致の計画を立てるために、E2E暗号化を使用してアップデートを続けます。 暗号化 暗号化の実装詳細のために 法的適合性 法的適合性の実装詳細のために Capgo セキュリティ スキャナー Capgo セキュリティ スキャナーの製品ワークフロー Capgo セキュリティ Capgo セキュリティの製品ワークフロー Capgo トラスト センター Capgo トラスト センターの製品ワークフロー

Capacitorのライブアップデート

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

マーティンによる人間のサポート

今すぐ始めよう

最新のブログ記事

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