メイン コンテンツにスキップ
セキュア トークン ストレージ: モバイル デベロッパー向けベスト プラクティス

モバイル アプリのセキュリティにとって、認証トークンの安全な保管は重要です。トークンはユーザー アカウント、敏感なデータ、サービスへのアクセスキーです。漏洩すると、 身元不明の個人情報流用、金銭的詐欺、データ漏洩につながる可能性があります。ここでは、トークンを保護する方法を紹介します。

主なポイント:

  • プラットフォーム固有のセキュア ストレージを使用する: iOS Keychain または Android Keystore を使用してハードウェアバックアップされたセキュリティを実現します。
  • リストア中のトークンを暗号化する: Android の場合、 EncryptedSharedPreferences を使用し、iOS の場合、 CryptoKit を使用して安全な暗号化を実現します。
  • トークン漏洩を制限する短期間のトークンとトークン再発行を使用してリスクを軽減します。
  • 安全な通信常にHTTPSを使用し、証明書ピンニングを実装してインターセプトを防止します。
  • トークンライフサイクルを管理する定期的にトークンを期限切れにし、更新し、取り消しすることで、盗難による被害を最小限に抑えます。

ストレージ方法の比較:

ストレージ方法 セキュリティレベル 使いやすさ 最適な使用ケース
メモリ内ストレージ High Low 短いセッション、高度なセキュリティの必要性
ローカル ストレージ Low High 非機密データ
セキュア クッキー High Medium サーバーサイド コントロールのあるWeb アプリ
iOS キーチェーン __CAPGO_KEEP_0__ __CAPGO_KEEP_0__ iOSアプリで敏感なトークンを保存することは危険です
Android Keystore __CAPGO_KEEP_0__ __CAPGO_KEEP_0__ Androidアプリで安全なデータストレージを必要とします
カスタム暗号化 変数 __CAPGO_KEEP_0__ 特殊なセキュリティ要件

まず、アプリの現在のトークン保存方法を調査し、ユーザーとブランドを保護するためにこれらのベストプラクティスを実装してください。

Faux Disk Encryption Realities of Secure Storage on Mobile Devices - Daniel Mayer & Drew Suarez

Basic Rules for Secure Token Storage

Protecting tokens requires a layered approach to security. By combining multiple safeguards, you ensure that if one measure fails, others still protect sensitive data. For Capacitor apps, following these practices is essential for maintaining token security across platforms.

Use HTTPS and Certificate Pinning

HTTPS encryption is your first defense against token interception. Every interaction between your app and the server must use HTTPS to encrypt data in transit, preventing exposure to attackers.

To strengthen this further, implement certificate pinning. For Capacitor apps, @capgo/capacitor-ssl-pinning pins HTTPS connections to bundled certificates for CapacitorHttp on iOS and Android. This technique ensures your app communicates only with your trusted server, even if someone attempts to use a counterfeit certificate. By hardcoding your server’s certificate or public key into the app, you establish a direct trust relationship between the app and the server.

“You should pin anytime you want to be relatively certain of the remote host’s identity or when operating in a hostile environment. Since one or both are almost always true, you should probably pin all the time.” – OWASP pinning cheat sheet [5]

実世界の例: Twitterは、Man-in-the-Middle (MitM)攻撃に遭遇した後、モバイルアプリに証明書固定を導入しました。チームは、サーバーのSSL証明書の公開鍵を直接アプリに埋め込みました。ユーザーが接続したとき、アプリは固定された証明書と検証しました。マッチしない場合、接続は即座に終了されました。このアプローチは、MitM攻撃を大幅に削減し、プラットフォームへのユーザーの信頼を大幅に高めました。 [5].

選択肢は 証明書固定 (証明書の全体を検証) として最大のセキュリティを実現するか 公開鍵固定 (公開鍵のみを検証) として証明書の更新時に柔軟性を実現する ツールとして OkHttp Android用 Alamofire [5].

iOS用

これらのテクニックを実装することを簡単にする

トークン漏洩を減らすには、トークンのスコープと有効期間を制限する必要があります。考え方は単純です: トークンが有効期間が短く、許可が少ないほど、トークンが漏洩した場合のリスクが低くなります。

  • Use 短期間のアクセストークン を使用し、有効期限が分単位で測定されるようにします。リフレッシュトークンと組み合わせて、長期間のアクセストークンをデバイスに保持しないようにして、ユーザーセッションを維持します。このアプローチでは、盗まれたトークンがすぐに無効になります。
  • Apply the 最小権限原則を適用します。たとえば、ユーザープロファイルデータを読み取るためにのみ必要なトークンに、アカウント設定を変更する権限や支払い情報へのアクセス権を付与しないでください。
  • Enable リフレッシュトークン回転を有効にし、リフレッシュトークンが使用されたときに新しいアクセストークンを要求するたびに新しいリフレッシュトークンを発行します。リフレッシュトークンが盗まれた場合、正当なアプリが使用した後、無効になります。 [4].

By limiting token exposure, you reduce the chances of significant damage from a breach. Next, encryption ensures tokens remain secure even if a device is physically compromised.

物理的に侵害されたデバイスでもトークンが安全であることを保証するために、暗号化を使用します。

__CAPGO_KEEP_0__ デバイス上で保存されているトークンを保護するために、暗号化が実行されます。デバイスが紛失、盗難、またはマルウェアによって侵害された場合でも、暗号化によりトークンは読み取れません。

モダンなモバイルオペレーティングシステムでは、標準的な方法であるSharedPreferences on AndroidまたはNSUserDefaults on iOSよりもはるかに信頼性の高いハードウェアバックアップストレージオプションを提供しています。 [4].

  • For Android: 使用 EncryptedSharedPreferences (Android 10以降で利用可能)。このツールは暗号化と鍵管理を自動的に処理し、実装を簡素化しながらセキュリティを向上させます。たとえば、 SecureJWTStorage クラスはJWTを安全に保存および取得できます。 EncryptedSharedPreferences code
  • For iOS: Keychainはハードウェアレベルの暗号化を提供し、安全なトークンストレージを実現します。開発者はJWTトークンを管理するためにクラスを使用するか、またはCryptoKitを使用してトークンを暗号化することでセキュリティをさらに高めることができます。 KeychainHelper Androidの場合 iOSの場合 保存する前にKeychainに格納する [4].

AndroidとiOSは両方ともハードウェアバックアップされた暗号化を利用しています。iOSの場合はSecure Enclave、Androidの場合はHardware Security Moduleです。これらのコンポーネントは、主なオペレーティングシステムから隔離された、暗号化キーを耐用性のあるハードウェアに格納します。

最後に、明確なデータ保持ポリシーを確立します。有効期限切れのトークンを自動的に削除し、必要なくなったときにデバイスから機密情報を安全に削除します。これらの慣行により、絶対に必要な限りだけトークンが保存されるようにします。 [6].

プラットフォーム固有のトークン保存方法

各モバイルプラットフォームは、セキュリティとユーザー体験の両方のニーズに応じて、独自のツールを提供しています。これらのネイティブオプションは、HTTPS、暗号化、露出を制限するなどの基本的な慣行に基づいています。これらは、以前の議論で説明したものです。

Android: Keystoreと EncryptedSharedPreferences

EncryptedSharedPreferences

Androidデバイスは、KeystoreシステムとEncryptedSharedPreferencesを通じて、強力なトークン保護を提供しています。 Keystore EncryptedSharedPreferences EncryptedSharedPreferences. Keystoreは、保護された環境内で暗号化キーを安全に保存し、キーを抽出することを困難にし、キーを非エクスポート可能にします。これにより、キーは安全な操作のみに使用できます。さらに、ユーザー認証を必要とする制限を追加できます。Android 9 (API 28レベル) またはそれ以降のデバイスで StrongBox KeyMint 標準のTrusted Execution Environment (TEE)よりもさらに高い隔離を提供します。StrongBoxが利用可能かどうかを確認するには FEATURE_STRONGBOX_KEYSTORE, KeyGenParameterSpec.Builder.setIsStrongBoxBacked().

EncryptedSharedPreferencesは、暗号化されたキー–値ペアを安全に保存するよりシンプルな方法を提供します。データを暗号化し、キーを安全に管理し、APIレベル23以上をサポートします。AndroidエンジニアのArunは、以下のようにその使いやすさを強調しています:

“With just a few lines of code, we can significantly improve security by using EncryptedSharedPreferences. It’s a powerful and easy-to-use solution for securing sensitive data in Android apps.”

For best practices, implement error handling, rotate keys every 90–180 days, and avoid storing highly sensitive data (like credit card numbers) in SharedPreferences. Such data should be processed on secure backends instead.

iOS: Keychain and iOS: KeychainとSecure Enclave

On iOS, token security relies on the Keychain and Secure Enclave. Keychainは、パスワードやトークンなどの敏感データをAES-256-GCM暗号化で保護する安全なリポジトリです。Keychainは、メタデータと各アイテムごとのユニークキーを使用するデュアルキー方式を採用しています。メタデータキーはSecure Enclaveによって保護され、高速な検索のためにキャッシュされます。ただし、秘密キーはエンクラーブへの往復が必要なため、追加のセキュリティが実現します。Keychainは、同一開発者が管理するアプリ間でアイテムを安全に共有することもサポートしています。これはdaemonによって管理されます。 securityd Secure EnclaveはP256キーと約4MBの安全なストレージを使用して保護を強化しています。さらにセキュリティを高めるには、Face ID、Touch ID、またはパスコード認証を必要とする設定を使用してAccess Control Lists(ACL)を構成することができます。

オプションは、データをデバイスに紐付けし、不正アクセスのリスクを最小限に抑えるため、より厳密なセキュリティを実現します。 kSecAttrAccessibleWhenUnlocked__CAPGO_KEEP_0__ .whenPasscodeSetThisDeviceOnly Secure Storage Plugin

Capacitor Framework Documentation Website__CAPGO_KEEP_0__

Capacitor Framework Documentation Website

クロスプラットフォームアプリ用に、Capacitorはプラットフォーム固有のcodeを必要とせずにトークンセキュリティを簡素化するセキュアストレージプラグインを提供しています。 @capgo/capacitor-data-storage-sqlite __CAPGO_KEEP_0__/__CAPGO_KEEP_1__-persistent-account @capgo/capacitor-persistent-account Web環境では、デバッグ用途のみに使用されるため、暗号化されていません。 localStorage 2025年2月、martinkasaは__CAPGO_KEEP_0__-secure-storage-pluginを__CAPGO_KEEP_1__ v7に更新し、iOSとAndroidで文字列値のセキュアストレージを確保しました。

In February 2025, martinkasa updated the capacitor-secure-storage-plugin to support Capacitor v7, ensuring secure storage of string values across iOS and Android. These plugins are ideal for storing login credentials and JSON data. However, they may lack the granular control offered by native solutions. For enterprise-level apps with advanced security needs, native options like iOS Keychain Services and Android Keystore APIs - or enhanced tools like エンタープライズレベルアプリケーションには、ネイティブソリューションや強化されたツールであるIonicのIdentity Vaultなど、より高度なセキュリティニーズに対応するネイティブオプションが必要です。Capacitorの公式ドキュメントでは、敏感データの保存にはネイティブセキュアストレージを使用することを推奨しています。

Capacitorアプリ用のライブアップデートを展開する場合、Cloudflareなどのサービスを使用します。 Capgo Capgoのエンドツーヘンド暗号化により、セキュリティパッチやトークン管理の改善を含むアップデートは、安全性の枠組みを維持するために、安全かつ確実に配信されます。

トークンライフサイクルとセキュリティの管理

トークンを有効に管理するには、作成、期限切れ、削除を管理する必要があります。開発者は、強力なセキュリティ対策とユーザー体験の平滑性を両立させるシステムを設計する必要があります。ここでは、トークン期限切れ、削除、セキュアオーバー・ザ・エア(OTA)アップデートの戦略について説明します。これにより、トークン管理アプローチを構築するのに役立ちます。

トークン期限切れとリフレッシュ方法

短期間で期限切れになるアクセストークンと、長期間有効なリフレッシュトークンを使用することは、安全なトークンハンドリングの重要な実践です。アクセストークンは、5~15分以内に期限切れにすることで、漏洩した場合の不正使用リスクを軽減できます。対照的に、リフレッシュトークンは、ユーザーが頻繁な再認証を必要とせずにセッションを維持できるように、日単位または週単位で有効にできます。

APIのセキュリティと効率性を維持するために、トークン期限切れは重要な役割を果たします [7]トークンローテーション(以前発行されたトークンを無効化する方法)を組み合わせると、さらに保護の層が追加されます。この方法は、漏洩したリフレッシュトークンの被害を最小限に抑え、古いトークンの再利用などの疑わしい活動を検出するのに役立ちます。

When designing refresh mechanisms, ensure tokens are rigorously validated during the refresh process. Employ rate limiting to guard against brute force attacks and use automated monitoring to detect anomalies, such as refresh requests from multiple locations at the same time. Balancing security and performance is key to protecting user sessions without impacting the overall experience.

トークンを取り消し、無効化

While token expiration is crucial, token revocation adds another layer of security, especially in scenarios like user logout, lost devices, or suspected security breaches. Although stateless JWT access tokens remain valid until they expire, managing refresh tokens effectively can block the issuance of new access tokens.

トークンを取り消すと、非正当なアクセスを防ぐために敏感なリソースにアクセスすることができなくなります。 [8]. To invalidate tokens immediately, consider implementing a server-side blacklist that tracks revoked tokens and checks them during API requests. Additionally, Single Logout (SLO) functionality allows users to terminate multiple authentication sessions in one action, ensuring all related refresh tokens across connected services are revoked.

トークンが不正に利用されている場合に迅速に対応するための明確なプロトコルを確立することも重要です。これには、即時のトークン取り消し、自動セキュリティアラート、影響を受けたユーザーへの迅速な通知、そして関連するトークンと紐付けられたすべてのアクティブセッションの終了が含まれます。

OTAシステムを使用した安全なトークン更新

脆弱性が進化するにつれてトークンのセキュリティを維持するために、オーバー・ザエア(OTA)アップデートは、トークンライフサイクルと削除策を確立した後、不可欠です。OTAシステムは、迅速にセキュリティパッチを展開し、API キーを回転する、証明書を更新し、検証ロジックを精密化することができます。ユーザーから手動でアップデートを要求する必要はありません。

Capacitor を使用する開発者向けに、Capgo などのツールは、Apple と Android のガイドラインに準拠したエンドツーヘンド暗号化を備えた、OTA ソリューションを提供します。このソリューションにより、セキュリティアップデートは安全にデバイスに配信されます。

トークンのセキュリティをさらに高めるには、エッジの技術を活用して、脅威を監視し、緊急のセキュリティ脆弱性に対処するためのリアルタイムの防御を展開することができます。

トークンストレージの比較: セキュリティと使いやすさ

トークンを安全に保存する方法を選ぶ際は、セキュリティと使いやすさのバランスをとることが重要です。選択した方法は、攻撃に脆弱性を生み出す可能性と、ユーザー体験に影響を与える可能性があります。ここでは、異なる保存方法のトレードオフを分析します。

メモリ内ストレージと持続的ストレージ

メモリ内ストレージ メモリ内ストレージは、トークンをアプリケーションメモリまたは JavaScript 変数に保持するため、非常に安全なオプションです。トークンは持続的ストレージに書き込まれません。 持続的ストレージは、トークンを持続的ストレージに保存するため、より使いやすいオプションです。ただし、セキュリティ上のリスクが高まります。攻撃者が従来の XSS 攻撃を使用する場合、メモリ上のトークンにアクセスする機会が少なくなります。

ただし、トークンをメモリ上に保存すると、ユーザーがページをリフレッシュしたり、新しいタブを開いたりすると、トークンが消えます。これは、ユーザーが滑らかなブラウジング エクスペリエンスを期待するウェブ アプリケーションでは、メモリ上のストレージが実用的ではありません。

一方で 持続的ストレージ - ローカル ストレージ、セッション ストレージ、またはクッキーなどの方法 - は、より滑らかなエクスペリエンスを提供します。ローカルまたはセッション ストレージからトークンを取得することで、悪意のあるスクリプトがトークンを盗むことができるため、持続的ストレージは XSS 攻撃に脆弱です。 [9].

クッキーは、適切なフラグで保護されていない場合、CSRF 攻撃にさらされる可能性があります。 [4]モバイル アプリケーションで __CAPGO_KEEP_0__ を使用する場合

For mobile apps using Capacitor, は、別のグローバル スコープで実行されるため、セキュリティを向上させながら、メモリ上のストレージよりもユーザビリティを維持します。 Web Workers がオプションではない場合、JavaScript クロージャーはプライベート メソッドをシミュレートして、追加の保護層を追加できます。 [9]モバイル デベロッパーは、ネイティブ セキュア ストレージとカスタム暗号化の利点と欠点を比較検討する必要があります。 [9]__CAPGO_KEEP_0__

Keychain/Keystore vs. Custom Encryption

モバイルアプリケーション向けに プラットフォームネイティブの安全なストレージ iOS KeychainやAndroid Keystoreなどのプラットフォームネイティブの安全なストレージは、ハードウェアバックのセキュリティを提供し、トークンを抽出するのはとても困難です。

これらのネイティブツールの美しさは、シンプルさにある。オペレーティングシステムに組み込まれているため、開発者はそれらを実装するために、長い code を書く必要がありません。さらに、 生体認証 と、セントラライズされたクレデンシャルマネジメントなどの機能をサポートしています。これにより、セキュリティとユーザーコンビニエンスが向上します。 [10].

カスタム暗号化は、開発者に制御の余地を与えますが、重大な課題が伴います。セキュリティは、暗号化の実装とキー管理のセキュリティに依存しており、 [10]開発者はセキュアなシステムを作成するのに十分な複雑さを過小評価し、脆弱性につながる可能性があります。さらに、暗号化の標準は進化し続け、カスタムソリューションには継続的な更新とメンテナンスが必要であり、リソースを大量に消費します。

セキュリティ対ユーザビリティ比較表

ストレージ方法 セキュリティレベル 使いやすさ 実装の複雑さ ベストケース
メモリ内ストレージ リフレッシュ時に失われる (低) 高セキュリティ、短いセッション
ローカルストレージ __CAPGO_KEEP_0__
セッション ストレージ __CAPGO_KEEP_0__
セキュア クッキー 高 (適切なフラグとともに) サーバーをサポートするウェブアプリケーション
iOS Keychain 非常に高い iOSネイティブ/ハイブリッドアプリ
Android Keystore 非常に高い Androidネイティブ/ハイブリッドアプリ
カスタム暗号化 変数 日本語 高度のセキュリティ要件

プラットフォームネイティブのストレージオプションであるKeychainとKeystoreを使用すると、セキュリティと実装の容易さの強力な組み合わせが得られます。これにより、開発者が暗号学をマスターする必要なく、強力な保護が提供されます。

Capacitorの開発者にとって、KeychainとKeystoreなどのネイティブソリューションにアクセスするためのセキュアストレージプラグインを使用することは賢明な選択です。これにより、KeychainとKeystoreのハードウェアバックアップされたセキュリティと、Capacitorが提供するクロスプラットフォームの柔軟性が組み込まれます。

最終的には、トークンストレージの選択は、ユーザーの期待とアプリの脅威モデルに合わせる必要があります。敏感データを処理するアプリケーション、例えば医療または金融アプリケーションは、セキュリティを優先する必要があります。一方、消費者向けのアプリケーションでは、より高いリスクを許容して、ユーザー体験を改善することができます。こうしたトレードオフを理解することで、必要なストレージ方法を選択できます。

重要なポイント

ユーザーデータを保護するためのセキュアトークンストレージは、技術上のベストプラクティスだけではなく、アプリの完整性を維持するために必要です。 2022年の確認された侵害の81%は、弱い、再利用された、または盗まれたパスワードに関連していました。 [12]モバイル開発者は、強力なトークンセキュリティ対策を優先する必要があります。

ベストプラクティス概要

効果的なトークンセキュリティ計画は、複数の保護層に依存します。まず、__CAPGO_KEEP_0__を使用してください。 platform-native secure storageiOS KeychainやAndroid Keystoreなどのハードウェアバックのセキュリティを提供するストレージを使用すること

LocalStorageやIndexedDBなどの方法はXSS攻撃に脆弱です。 [2]開発者がCapacitorを使用している場合、セキュアなストレージプラグインは、クロスプラットフォーム機能を維持しながら、ハードウェア保護にアクセスする方法を提供します

トークンのライフサイクル管理はもう一つの重要な側面です。 [3]アクセストークンが要求されたときに毎回新しいリフレッシュトークンを生成するリフレッシュトークンローテーションを実装し、定期的にトークンを期限切れにします

短いリフレッシュトークンライフサイクルは、盗難の場合の不正使用リスクを減らします [1]署名キーを秘密に保ち、必須サービスのみに共有すること [11]トークンをログに記録したり、URLに埋め込んだりすることは避けるべきです

これらのステップは、トークン管理戦略を強化するのに役立ちます

開発者向けの次のステップ

  • これらのベストプラクティスに従って、トークンセキュリティを強化するためにアプリを改善する方法です:トークンストレージ方法を検証すること 非安全なソリューションであるLocalStorageを使用しているときは、プラットフォーム固有の安全なストレージに移行することを優先してください。Capacitorアプリでは、ネイティブの保護を効果的に利用するために安全なストレージプラグインを採用する必要があります。

  • 層化された認証を実装する __CAPGO_KEEP_0__アプリでは、低リスクのアクションのためにシンプルな方法を使用しますが、敏感な操作には多要素認証(MFA)またはバイオメトリクスを要求します。Microsoftによると、MFAは99.9%の自動化されたサイバー攻撃をブロックできます。 しかし、ユーザー体験を考慮する必要があります。研究によると、MFAの不便さのため、約1/3のユーザーがMFAを避けます。 OTA(オーバー・ザ・エア)の更新システムを使用して、安全で即時的なロールアウトを実現します。__CAPGO_KEEP_0__のようなツールを使用すると、__CAPGO_KEEP_1__アプリの暗号化されたライブ更新が可能になり、セキュリティ修正がユーザーに到達するのを妨げずにトークン安全性を維持できます。 [12]トークンライフサイクル管理に焦点を当てます。 [12].

  • 定期的な期限切れ、更新、削除のプロトコルは不可欠です。セキュリティリスクを制限するために、実装がこれらの原則を反映していることを確認する必要があります。 for secure and immediate rollouts. Tools like Capgo enable encrypted live updates for Capacitor apps, ensuring that security fixes reach users without compromising token safety during updates.

  • 異常な活動を監視し、進化する脅威に基づいてセキュリティ対策を調整する 低リスクのアクションのためにシンプルな方法を使用しますが、敏感な操作には

  • 多要素認証 またはバイオメトリクスを要求します。 [13]. Regular security audits should be a routine part of your development process, not an afterthought.

While mobile security continues to evolve, the core principles remain the same: use native secure storage, manage token lifecycles effectively, and ensure encryption is non-negotiable. With 2022年現在、81%のスマートフォンがバイオメトリクスを搭載しているため、開発者は、セキュリティとユーザー体験の両方を向上させる強力なツールを手に入れました。 ユーザーはあなたにデータを預けているので、トークンストレージの実践が、最高のセキュリティの標準を満たしていることを確認してください。 [12]FAQs

::: faq

iOS KeychainとAndroid Keystoreを使用して、セキュアなトークンストレージのためにモバイル開発者はなぜ必要か?

プラットフォームネイティブのセキュアストレージ、例えばiOS KeychainとAndroid Keystoreを使用することは、モバイルアプリ内で敏感なデータを保護する上で重要な役割を果たします。これらのツールは

組み込み暗号化

を備えており、トークンが不正アクセスから保護されます。さらに、 これらのツールは, ensuring that tokens remain protected from unauthorized access. On top of that, they incorporate ユーザーアUTHENTICATIONユーザーがデータをアクセスする前に、自分のアイデンティティを確認する必要があるため、追加のセキュリティ層が必要になります。

彼らの目立つ特徴の1つは、暗号化キーが 非エクスポート可能であることです。つまり、これらのキーはデバイスから削除できず、重大なリスクが軽減されます。 これらのシステムは、開発者が複雑な暗号化プロセスを手動で処理する手間を避けることができるように、各プラットフォームと組み込みやすく設計されています。 これらのツールを利用することで、開発者はアプリのセキュリティを強化し、現代のセキュリティ基準を満たすだけでなく、業界の推奨事項を遵守することができます。 FAQ モバイルアプリでトークンライフサイクルを安全に管理するためのベストプラクティスは何ですか? モバイルアプリでトークンライフサイクルを安全に管理するには、開発者はいくつかの基本的な実践に従う必要があります。まず、. :::

短期間のトークン

__CAPGO_KEEP_0__

__CAPGO_KEEP_1__ __CAPGO_KEEP_2__、15分以内の有効期限を持つものは、トークンが漏洩した場合の悪用の窓口を最小限に抑えるように設計されています。セキュリティを犠牲にしてユーザーの便利さを維持することなく、実装する refresh tokens。これにより、ユーザーが再びログインする必要なく、新しいトークンを取得できるようになります。

トークンの適切な保存は、不正アクセスを防ぐために重要です。常にプラットフォーム固有の安全な保存ソリューションに頼りましょう、例えば Keychain はiOS用、または Android KeystoreはAndroid用です。これらは、敏感なデータを保護するために特に設計されています。ハードコード化したトークンや、トークンをアプリ内で平文で保存することを避けましょう。これにより、潜在的な脅威にさらされる可能性があります。

これらの実践を統合することで、開発者はモバイルアプリケーションのトークン管理のセキュリティを向上させ、ユーザーを潜在的な脆弱性から保護できます。 :::

::: faq

カスタム暗号化を使用したトークン保存の潜在的な課題は何でしょうか。また、ネイティブソリューションよりもいつ使用すべきでしょうか。

トークンをモバイルアプリケーションに保存する場合、カスタム暗号化を使用すると二重の剣のように感じるかもしれません。カスタムソリューションがより制御が可能のように思えるかもしれませんが、実際には追加の複雑さをもたらすだけでなく、潜在的なセキュリティの欠陥をもたらす可能性があります。また、カスタムソリューションは、プラットフォームの提供する組み込み暗号化ツールと比較して、広範なテスト、詳細なドキュメント、強力な開発者コミュニティのバックアップが不足していることが多いです。これにより、デバッグと統合がより大きなハードルとなります。

その場合、標準ツールでは対応できない厳格な規制要件を満たす必要がある場合や、非常に敏感なデータを扱っている場合など、カスタム暗号化が避けられない状況もある。 これらの場合、開発者は標準ツールでは対応できない厳格な規制要件を満たす必要がある場合や、非常に敏感なデータを扱っている場合など、カスタム暗号化が避けられない状況もある。 ベストプラクティス 彼らが利用できるようにするためには 暗号化方法 安全性だけではなく、信頼性も高く、業界標準に準拠しています。カスタム暗号化アプローチに進む前に、トレードオフを慎重に検討してください。

セキュア トークン ストレージから続けて: モバイル開発者向けセキュア トークン ストレージのベスト プラクティス

Capgoを使用している場合、Capacitorの機能を利用できます。 セキュアなトークンストレージ: モバイル開発者向けのベストプラクティス セキュリティとコンプライアンスの計画に役立つためにつなぎましょう。 暗号化 暗号化の実装詳細のために 法的合致性 コンプライアンスの実装詳細について Capgo セキュリティ スキャナー Capgo セキュリティ スキャナーの製品ワークフローについて Capgo セキュリティ Capgo セキュリティの製品ワークフローについて、 Capgo トラスト センター Capgo トラスト センターの製品ワークフローについて

Live updates for Capacitor apps

When a web-layer bug is live, ship the fix through Capgo instead of waiting days for app store approval. Users get the update in the background while native changes stay in the normal review path.

Get Started Now

Latest from our Blog

Capgo gives you the best insights you need to create a truly professional mobile app.