Storing authentication tokens securely is critical to mobile app security. Tokens are the keys to user accounts, sensitive data, and services. If compromised, they can lead to identity theft, financial fraud, and data breaches. Here’s how to protect them:
Storing authentication tokens securely is critical to mobile app security. Tokens are the keys to user accounts, sensitive data, and services. If compromised, they can lead to identity theft, financial fraud, and data breaches. Here’s how to protect them: Key Takeaways:
- プラットフォーム固有のセキュア ストレージを使用: iOS Keychain または Android Keystore でのハードウェアバックアップされたセキュリティでトークンを保存します。
- リスト ストレージ: セキュアな暗号化のために、ツールを使用します。
EncryptedSharedPreferences(Android) または (iOS)CryptoKitトークン漏洩を制限 - : 短期間のトークンとリフレッシュトークンを回転することでリスクを減らします。セキュア コミュニケーション
- : 常に HTTPS を使用し、証明書ピンニングを実装して妨害を防ぎます。トークン ライフサイクルを管理
- : 盗難から被害を最小限に抑えるために、定期的にトークンを期限切れにし、リフレッシュし、取り消します。リフレッシュ トークン
Quick Comparison of Storage Methods:
| Storage Method | セキュリティレベル | 使いやすさ | ベストケース |
|---|---|---|---|
| メモリ内ストレージ | 高 | 低 | 短いセッション、高セキュリティの必要性 |
| ローカルストレージ | 低 | 高 | 非機密データ |
| セキュア Cookie | 高 | 中 | サーバーサイドコントロールを持つWebアプリ |
| iOS Keychain | 非常に高 | 中 | iOSアプリで機密情報を格納 |
| Android Keystore | 非常に高 | 中 | Androidアプリが安全なストレージを必要とする |
| カスタム暗号化 | 変数 | 中間 | 高度なセキュリティ要件 |
__CAPGO_KEEP_0__アプリの場合、さまざまなプラットフォームでトークンセキュリティを維持するために、これらのベストプラクティスを実装し、現在のトークンストレージ方法を検証する必要があります。
Faux Disk Encryption Realities of Secure Storage on Mobile Devices - Daniel Mayer & Drew Suarez
セキュアなトークンストレージの基本ルール
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.
HTTPSと証明書固定
HTTPS暗号化は、トークンを取得する攻撃者からデータを保護する最初の防御です。アプリとサーバー間のすべてのインタラクションはHTTPSを使用してデータを暗号化し、データを移動中に暴露されるのを防ぎます。
この機能をさらに強化するには、 証明書ピンニング. For Capacitor apps, @capgo/capacitor-ssl-pinning @__CAPGO_KEEP_0__/__CAPGO_KEEP_1__-ssl-pinning
はiOSとAndroidでCapacitorHttpにHTTPS接続をバンドルした証明書にピンします。このテクニックは、偽造証明書を使用しようとする場合でも、信頼できるサーバーとのみ通信するようにアプリを確実にします。証明書または公開鍵をハードコードすることで、アプリとサーバー間の直接的な信頼関係を確立します。 [5]
「あなたは、リモートホストのアイデンティティを相対的に確実に知りたい場合や、敵対的な環境で動作している場合には、常にピンを設定するべきです。ほとんどの場合、どちらも真実です。したがって、常にピンを設定するべきです」というOWASPピンニングチートシートの言葉に従います。 [5].
Twitterは、Man-in-the-Middle(MitM)攻撃に遭遇した後、モバイルアプリに証明書ピンニングを導入しました。チームはサーバーのSSL証明書公開鍵を直接アプリに埋め込みました。ユーザーが接続すると、アプリはピンした証明書と照合し、照合しない場合は接続を即座に終了しました。このアプローチは、MitM攻撃を大幅に削減し、プラットフォームへのユーザーの信頼を高めました。 ピンニングの方法は2つあります。 証明書ピンニング( 証明書の検証を行うことで最大のセキュリティを実現します。 )、または「公開鍵ピンニング( OkHttp __CAPGO_KEEP_0__ Alamofire __CAPGO_KEEP_0__ [5].
__CAPGO_KEEP_0__
トークン漏洩を最小限に抑える
トークン漏洩を最小限に抑える
- __CAPGO_KEEP_0__ 短期間の有効期限のあるアクセストークンを使用し、リフレッシュトークンと組み合わせて、長期間のアクセストークンを保持しないようにユーザーセッションを維持する __CAPGO_KEEP_0__
- 最小権限の原則を適用する __CAPGO_KEEP_0__. 例えば、ユーザープロファイルデータを読むために必要なトークンだけに権限を与えずに、アカウント設定を変更したり、支払い情報にアクセスしたりする権限を与えないようにする。
- Enable refresh token 回転, ここでは、各アクセストークンのリクエスト時に新しいリフレッシュトークンが発行されます。リフレッシュトークンが盗まれた場合、正当なアプリがそれを使用した後、有効期限が切れ、リスクウィンドウが減ります。 [4].
トークンの露出を制限することで、侵害から生じる可能性のある大きな被害を減らすことができます。次に、暗号化により、デバイスが物理的に侵害された場合でも、トークンが安全に残ります。
リストア中のトークンを暗号化する
リストア中の暗号化 デバイス上に保存されているトークンを保護します。デバイスが紛失、盗難、またはマルウェアによって侵害された場合でも、暗号化により、トークンが読み取れません。
現代のモバイルオペレーティングシステムは、標準的な方法である SharedPreferences のような Android または NSUserDefaults の iOS のような方法よりも、より信頼性の高いハードウェアバックストレージオプションを提供します。 [4].
- Android の場合: 使用
EncryptedSharedPreferences(Android 10 以降で利用可能)。このツールは暗号化とキー管理を自動的に処理し、実装を簡素化し、セキュリティを向上させます。 例えば、SecureJWTStorageclassは、複雑なカスタム暗号化を必要とせずにJWTを安全に保存および取得できるEncryptedSharedPreferencescode。 - For iOS: Keychainは、ハードウェアレベルの暗号化を使用して安全なトークンを保存するためのハードウェアレベルの暗号化を提供します。開発者は、
KeychainHelperクラスを使用してJWTトークンを管理するか、Keychainにトークンを保存する前にトークンを CryptoKit で暗号化することで、追加のセキュリティ層を追加できます。 [4].
AndroidとiOSは両方ともハードウェアバックアップされた暗号化を使用し、iOSのSecure EnclaveとAndroidのHardware Security Moduleを使用します。これらのコンポーネントは、メインオペレーティングシステムから隔離された、トラッキングレジスタハードウェアに暗号化キーを保存します。
最後に、明確なデータ保持ポリシーを確立します。期限切れのトークンを自動的に削除し、必要なくなったときにデバイスから安全に削除するようにします。これらの慣行により、トークンは絶対に必要な限りだけ保存されます。 [6].
プラットフォーム固有のトークン保存方法
各モバイルプラットフォームは、セキュリティとユーザー体験の両方のニーズを満たすために設計された、トークンを安全に保存するための独自のツールを提供します。これらのネイティブオプションは、HTTPS、暗号化、露出を制限するなどの基本的な慣行に基づいています。これらは、以前のセクションで議論されました。
Android: Keystoreと EncryptedSharedPreferences

Androidデバイスでは、強力なトークン保護を提供するKeystoreシステムとEncryptedSharedPreferencesを使用できます。 Keystoreシステムでは、暗号化された鍵を保護された環境で安全に保存し、取り出しが困難で、エクスポートも不可能です。これにより、鍵は安全な操作のみに使用できます。また、ユーザー認証を必要とする制限を追加することもできます。Android 9 (__CAPGO_KEEP_0__ 28) 以降のデバイスでは、 StrongBox KeyMint 標準のTrusted Execution Environment (TEE)よりも強力な隔離を提供するStrongBox KeyMintが利用可能です。StrongBoxが利用可能かどうかを確認するには、. The Keystore securely stores cryptographic keys in a protected environment, making them difficult to extract and ensuring they remain non-exportable. This means the keys can only be used for secure operations. Additionally, you can add restrictions like requiring user authentication. For devices running Android 9 (API level 28) or later, EncryptedSharedPreferencesでは、キー–値ペアを安全に保存する簡単な方法を提供します。データを暗号化し、鍵を安全に管理し、__CAPGO_KEEP_0__ 23 以上のレベルをサポートします。AndroidエンジニアのArunは、以下のようにその使いやすさを強調しています。 “__CAPGO_KEEP_0__の数行で、” FEATURE_STRONGBOX_KEYSTORE“” KeyGenParameterSpec.Builder.setIsStrongBoxBacked().
EncryptedSharedPreferences offers a simpler way to securely store key–value pairs. It encrypts data and securely manages keys, supporting API levels 23 and above. Arun, an Android Engineer, highlights its ease of use:
“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
KeychainとSecure Enclave Keychainは、パスワードやトークンなどの敏感データをAES-256-GCM暗号化で保護する安全なリポジトリです。 Keychainは、メタデータ用の1つのキーと各アイテムごとに一意のキーを使用するデュアルキー方式を採用しています。メタデータキーはSecure Enclaveによって保護され、高速な検索のためにキャッシュされます。 Keychainは、Secure Enclaveへのラウンドトリップが追加のセキュリティを提供するため、秘密キーはSecure Enclaveへのラウンドトリップが必要です。Keychainは、同一開発者が管理する同一開発者間のアイテムの安全な共有をサポートしています。 securityd Keychainは、Secure Enclaveによって管理されるdaemonによって管理されます。
Secure EnclaveはP256キーと約4MBのセキュアストレージで保護を強化します。さらにセキュリティを強化するには、Face ID、Touch ID、またはパスコード認証を必要とする設定を使用してAccess Control Lists (ACLs)を構成できます。 kSecAttrAccessibleWhenUnlocked.__CAPGO_KEEP_0__ .whenPasscodeSetThisDeviceOnly : Secure Storage Plugin
.Capacitor Framework Documentation Websiteクロスプラットフォームアプリ用に、.__CAPGO_KEEP_0__はプラットフォーム固有の.__CAPGO_KEEP_1__を必要とせずにトークンセキュリティを簡素化するセキュアストレージプラグインを提供しています。

For cross-platform apps, Capacitor offers secure storage plugins that simplify token security without requiring platform-specific code. @capgo/capacitor-persistent-account iOSではデータを暗号化されたシステムキーチェーンに保存し、AndroidではAES in GCMモードで生成されたAndroid Keystoreのキーを使用してデータを暗号化し、SharedPreferencesに保存します。ウェブ環境では、 @capgo/capacitor-persistent-account For even stricter security, the __CAPGO_KEEP_0__ option ensures data stays tied to the device, reducing the risk of unauthorized access. Be sure to handle edge cases like biometric lockouts or device resets, and regularly audit app entitlements and permissions. localStorage The Secure Enclave enhances protection with P256 keys and about 4 MB of secure storage.
2025年2月、martinkasaはcapacitor-secure-storage-pluginをv7のCapacitorにアップデートし、iOSおよびAndroidで文字列値の安全な保存を保証しました。これらのプラグインは、ログインクレデンシャルとJSONデータの保存に適しています。ただし、ネイティブソリューションに提供されるより細かい制御を欠く場合があります。エンタープライズレベルアプリケーションや高度なセキュリティニーズを持つアプリケーションでは、iOS Keychain ServicesやAndroid Keystore APIsなどのネイティブオプションや強化されたツールであるIonicのIdentity Vaultなどがより適切です。capacitorの公式ドキュメントでは、暗号化キーやセッショントークンなどの敏感データの保存にネイティブセキュアストレージを使用することを推奨しています。 __CAPGO_KEEP_0__アプリのライブアップデートの場合、Cloudflareなどのサービスはトークンセキュリティをさらに強化できます。__CAPGO_KEEP_0__のエンドツーヘンド暗号化により、セキュリティパッチやトークン管理の改善を含むアップデートが安全に配信され、セキュリティフレームワークの完整性が維持されます。’s Identity Vault - might be better suited. Capacitor’s official documentation also advises using native secure storage for sensitive data, such as encryption keys or session tokens.
When deploying live updates for Capacitor apps, services like Capgo Capgo
__CAPGO_KEEP_0__
__CAPGO_KEEP_0__
__CAPGO_KEEP_0__
__CAPGO_KEEP_0__の短期間のアクセストークンと長期間のリフレッシュトークンを組み合わせることは、安全なトークンハンドリングの重要な実践です。アクセストークンは、5~15分以内に期限切れにすることで、不正使用のリスクを軽減することができます。対照的に、リフレッシュトークンは、日単位または週単位で有効なままにすることができ、ユーザーが頻繁な再認証を必要とせずにセッションを維持できるようになります。
APIの安全性と効率性を維持するために、トークン期限切れが重要な役割を果たしています [7]トークンローテーション(以前発行されたトークンを無効化する)を組み合わせると、さらに保護の層が追加されます。この方法は、不正リフレッシュトークンの被害を最小限に抑え、古いトークンの再利用などの疑わしい活動を検出するのに役立ちます。
リフレッシュメカニズムの設計時には、リフレッシュプロセスでトークンを厳密に検証することを保証し、強制攻撃を防ぐためにレート制限を実施し、同時に複数の場所からリフレッシュ要求が発生した場合の異常を自動監視するようにしてください。セキュリティとパフォーマンスのバランスを取ることが、ユーザーセッションを保護することと、全体的なエクスペリエンスに影響を与えないようにすることの鍵です。
トークンの削除と無効化
トークン期限切れは重要ですが、トークンの削除は、ユーザーログアウト、紛失したデバイス、または疑わしいセキュリティ侵害などのシナリオでは、さらにセキュリティの層を追加します。ステートレスJWTアクセストークンは期限切れになるまで有効ですが、リフレッシュトークンの効果的な管理によって、新しいアクセストークンの発行をブロックできます。
Revoking tokens promptly prevents unauthorized access to sensitive resources [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.
It’s also important to have clear protocols in place for handling compromised tokens. These protocols should include immediate token revocation, automated security alerts, timely notifications to affected users, and the termination of all active sessions tied to the compromised token.
Secure Token Updates with OTA Systems
Once you’ve established a strong token lifecycle and revocation strategy, secure over-the-air (OTA) updates become essential for maintaining token security as threats evolve. OTA systems allow you to quickly deploy security patches, rotate API keys, update certificates, and refine validation logic - all without requiring manual updates from users.
For developers using Capacitor, tools like Capgo provide a compliant OTA solution with end-to-end encryption. This ensures that security updates are delivered safely to devices while adhering to Apple and Android guidelines. Such systems are particularly useful for addressing urgent security vulnerabilities.
脆弱性をさらに軽減するには、エッジケースや脆弱性を監視し、脆弱性を排除するためのリアルタイムの防御を実行します。
トークンストレージの比較: セキュリティと使いやすさ
トークンを安全に保存する方法を選ぶ際は、セキュリティと使いやすさのバランスをとることが重要です。選択肢は、攻撃への脆弱性とユーザー体験に直接影響します。ここでは、異なる保存方法のトレードオフを分析します。
メモリ内ストレージと永続化ストレージ
メモリ内ストレージ メモリ内ストレージは、トークンをアプリケーションメモリまたはJavaScript変数に保存するため、非常に安全なオプションです。トークンは永続化ストレージに書き込まれないため、従来のXSS攻撃を使用する攻撃者がアクセスする機会が減ります。 ただし、トークンはメモリ内ストレージに保存されているため、ユーザーがページをリフレッシュしたり新しいタブを開いたりするとトークンが消えます。このため、ユーザーがシームレスなブラウジング体験を求めるWebアプリでは、メモリ内ストレージは実用的なオプションではありません。一方で、
永続化ストレージ
方法、例えばローカルストレージ、セッションストレージ、またはクッキー - は、よりスムーズな体験を提供します。永続化ストレージに保存されたトークンは、ユーザーがブラウザを閉じてから戻ってきても、再度ログインする必要がなく、前の状態から続行できます。 __CAPGO_KEEP_0__ __CAPGO_KEEP_1__ [9].
しかし、この便利さはセキュリティリスクとともにやって来る。 [4]永続的なストレージは、XSS攻撃の脆弱性が高く、ローカルまたはセッションストレージからトークンを盗むことができる悪意のあるスクリプトが存在する
For mobile apps using Capacitor, . モバイルアプリケーションが__CAPGO_KEEP_0__を使用している場合、 [9]Webワーカー [9]セキュリティを高めながら、ユーザビリティを維持するために、メモリ内ストレージよりも優れている別のグローバルスコープで実行される
. Webワーカーがオプションではない場合、JavaScriptクロージャーはプライベートメソッドをシミュレートして、追加の保護層を追加する
. モバイル開発者は、ネイティブセキュアストレージとカスタム暗号化の利点と欠点を比較検討する必要がある Keychain/Keystore vs. Custom Encryption モバイルアプリケーションでは、
The beauty of these native tools lies in their simplicity. They’re built into the operating systems, so developers don’t have to write extensive code to implement them. Plus, they support features like 生体認証 と、集中管理された資格情報管理機能を備えたものは、セキュリティとユーザー体験の両方を向上させる [10].
カスタム暗号化一方、開発者に制御を与えるカスタム暗号化は、重大な課題も伴う。セキュリティは暗号化の実装とキー管理のセキュリティに依存しており、暗号化の実装とキー管理のセキュリティが十分でない場合、セキュリティが低下する [10]多くの開発者は、セキュアなシステムを作成するには複雑さを過小評価しており、これが脆弱性につながる可能性がある。加えて、暗号化の標準は進化し続けているため、カスタムソリューションには継続的な更新とメンテナンスが必要であり、これらはリソースを大量に消費する。ただし、チームがこの分野で深い専門知識を持っている場合に限り、リソースを大量に消費しない
セキュリティ対ユーザビリティ比較表
| ストレージ方法 | セキュリティレベル | ユーザビリティ | 実装の複雑さ | ベストケース |
|---|---|---|---|---|
| メモリ内ストレージ | 高 | リフレッシュで失われる低 | 低 | セキュリティが高く、短いセッション |
| ローカル ストレージ | 低 | 高 | 低 | 非機密データのみ |
| セッション ストレージ | 中 | 高 | Low | 一時セッションデータ |
| セキュアなCookie | High (with proper flags) | Medium | Medium | サーバーをサポートするWebアプリケーション |
| iOS Keychain | Very High | Medium | Low | iOSネイティブ/ハイブリッドアプリケーション |
| Android Keystore | 非常に高い | 中 | 低 | Androidネイティブ/ハイブリッドアプリ |
| カスタム暗号化 | __CAPGO_KEEP_0__ | 中 | 高 | 高度なセキュリティ要件 |
この表は、KeychainやKeystoreなどのプラットフォームネイティブのストレージオプションが、セキュリティと実装の容易さの強力な組み合わせを提供し、モバイルアプリケーションに適したものであることを強調しています。 これらは、開発者が暗号学をマスターする必要なく、堅固な保護を提供します。
Capacitorの開発者にとって、KeychainやKeystoreなどのネイティブソリューションにアクセスするための安全なストレージプラグインを使用することは、賢明な決定です。 これは、KeychainやKeystoreのハードウェアバックアップされたセキュリティと、Capacitorが提供するクロスプラットフォームの柔軟性を組み合わせるものです。
最終的には、トークンを保存する方法は、ユーザーの期待とアプリの脅威モデルに合わせる必要があります。敏感なデータを処理するアプリケーション、例えば医療アプリや金融アプリは、セキュリティを最優先する必要があります。対照的に、ユーザー体験を改善するために、より高いリスクを許容することができる消費者向けアプリは、より高いリスクを許容することができます。こうしたトレードオフを理解することで、必要な方法でトークンを保存することができます。
重要なポイント
ユーザーデータを保護するための安全なトークン保存は、技術上のベストプラクティスだけではなく、アプリの完整性を維持するために必要です。2022年の確認された侵害の81%は、弱い、再利用された、または盗まれたパスワードにリンクされています。 ベストプラクティス概要 [12]効果的なトークンセキュリティ計画は、複数の保護層に依存する必要があります。まず、ハードウェアバックアップされたセキュリティを提供するプラットフォームネイティブの安全な保存を使用してください。例えば、iOS KeychainとAndroid Keystoreは、ハードウェアバックアップされたセキュリティを提供します。
LocalStorageやIndexedDBにトークンを保存しないでください。
これらの方法はXSS攻撃に脆弱です。代わりに、オペレーティングシステムに組み込まれた安全な保存オプションに頼り、制限されたアクセスを確保してください。Capgoを使用する開発者には、セキュアな保存プラグインが提供されます。これにより、ネイティブの保護にアクセスすることができ、クロスプラットフォームの機能性を維持できます。 トークンライフサイクル管理はもう一つの重要な側面です。定期的にトークンを期限切れにし、リフレッシュトークンを回転させてください。アクセストークンが要求されたときに、新しいリフレッシュトークンを生成してください。Key Takeaways
Protecting user data through secure token storage is not just a technical best practice - it’s a necessity for maintaining your app’s integrity. With [2], as these methods are vulnerable to XSS attacks. Instead, rely on secure storage options built into the operating system, ensuring limited access. For developers using Capacitor, secure storage plugins provide a way to tap into native protections while maintaining cross-platform functionality.
Best Practices Summary [3]. 短いリフレッシュトークン期間は、盗難の場合の不正使用リスクを減らします。
署名キーを機密に保管し、必要なサービスのみに共有するようにしてください。 [1]. 不安全な実践を避けるようにしてください。トークンをログに記録したり、URLに埋め込んだりしないでください。 [11]これらのステップを組み合わせると、トークン管理戦略を強化できます。
開発者向けの次のステップ
これらのベストプラクティスを実行することで、トークンセキュリティを向上させることができます。
-
トークンストレージ方法を検証してください。 If you’re using insecure solutions like LocalStorage, prioritize migrating to platform-native secure storage. For Capacitor apps, adopt secure storage plugins to utilize native protections effectively.
-
層化された認証を実装してください。 低リスクのアクションには、単純な方法を使用してくださいが、敏感な操作には、多要素認証(MFA)またはバイオメトリクスを要求してください。Microsoftによると、MFAは99.9%の自動化されたサイバー攻撃をブロックできます。 MFA __CAPGO_KEEP_0__ [12]. しかし、ユーザー体験を考慮することは重要です。研究によると、ユーザーは約1/3がMFAの不便さのため避けることがあります [12].
-
OTA (オーバー・ザ・エア)更新システムを使用する セキュアで即時ロールアウトのためにツールとしてCapgoが利用できるように、Capacitorアプリの暗号化されたライブ更新を可能にします。セキュリティ修正がユーザーに到達するのを妨げずに、更新中のトークン安全性を確保します。
-
トークンライフサイクル管理に焦点を当てます。 定期的な期限切れ、更新、削除のプロトコルは不可欠です。実装がこれらの原則を反映していることを確認して、リスクを制限します。
-
認証パターンを監視する 不審な活動に目を付けて、脅威が進化するにつれてセキュリティ対策を調整する [13]. セキュリティの定期的な検査は、開発プロセスの定期的な作業であり、後思わないものでなければなりません。
モバイルセキュリティは進化し続けているものの、基本原則は同じです:ネイティブセキュアストレージを使用し、トークンライフサイクルを効果的に管理し、暗号化は交渉不能であることを保証する。 2022年時点で、81%のスマートフォンがバイオメトリクスを搭載しているため 開発者は、セキュリティとユーザー体験の両方を向上させる強力なツールを手に入れました。 [12]81% of smartphones now equipped with biometrics as of 2022
ユーザーがあなたにデータを預けるのを信頼している - あなたのトークンストレージの実践が、最高のセキュリティの基準を満たしていることを確認する
FAQs
::: faq
モバイル開発者がiOS KeychainとAndroid Keystoreを使用してセキュアなトークンストレージを実施する理由は何ですか?
プラットフォームネイティブのセキュアストレージ、例えばiOS KeychainとAndroid Keystoreを使用することは、モバイルアプリ内で敏感なデータを保護する上で重要な役割を果たします。これらのツールには 組み込み暗号化が組み込まれており、トークンが不正アクセスから保護されるように暗号化されています。さらに、ユーザー認証 が実装されており、ユーザーがデータにアクセスする前に自分の身元を確認する必要があります。これにより、セキュリティの追加の層が作成されます。1 つの特徴として、暗号化キーは
非エクスポート可能 です。つまり、これらのキーはデバイスから削除できず、キーが漏洩するリスクが大幅に低減されます。さらに、これらのシステムは、複雑な暗号化プロセスを手動で処理する必要がなく、開発者が容易に統合できるように設計されています。これらのツールを利用することで、アプリのセキュリティが強化され、開発者がセキュリティ基準を満たすことができます。 現代のセキュリティ基準に準拠 と 業界の推奨事項. :::
::: faq
モバイルアプリでトークンライフサイクルを安全に管理するためのベストプラクティスは何ですか?
モバイルアプリでトークンライフサイクルを安全に管理するには、開発者はいくつかの基本的な事項に従う必要があります。まず、 短期間のトークンを使用することから始めます。15分の有効期限を持つものなどです。これにより、トークンが不正に利用された場合の利用可能期間が最小限に抑えられます。 ユーザーの便利さを維持しながらセキュリティを損なわないように、リフレッシュトークン
を実装する必要があります。これにより、新しいトークンを取得することなく、ユーザーが何度もログインする必要がなくなります。 トークンの適切な保存は、不正アクセスを防ぐために重要です。常にプラットフォーム固有のセキュアストレージソリューションに頼る必要があります。例えば、 iOS または Android Keystore データを保護するために、特に設計されています。 また、トークンをハードコーディングしたり、プレーンテキストでアプリ内に保管したりしないようにしてください。そうすると、潜在的な脅威にさらされる可能性があります。トークン管理のセキュリティを強化し、潜在的な脆弱性からユーザーを保護するために、開発者はこれらの慣行を統合することができます。
:::
::: faq
カスタム暗号化を使用したトークンストレージのための課題は何があり、どの時点でネイティブソリューションよりも考慮すべきでしょうか。
トークンをモバイルアプリに保存する場合、カスタム暗号化は二重の刃に当たることがあります。カスタムソリューションがより制御が可能のように見えるかもしれませんが、実際には複雑さが増し、潜在的なセキュリティの欠陥を引き起こし、常に新しい脅威に追いつくためにメンテナンスが必要になります。プラットフォームが提供する組み込み暗号化ツールと比較すると、カスタムソリューションは、広範なテスト、詳細なドキュメント、強力な開発者コミュニティのサポートを欠いています。これにより、デバッグと統合はより大きなハードルとなります。
ただし、カスタム暗号化は標準ツールが扱うことができない非常に敏感なデータや厳格な規制要件を満たす必要がある場合には避けられません。そういった場合、開発者は ベストプラクティス を守り、 暗号化方法 は、業界標準に準拠した信頼性と安全性を保証します。カスタムの暗号化アプローチにダイブする前に、トレードオフを慎重に検討してください。 :::
セキュア トークン ストレージ: モバイル デベロッパー向けのベスト プラクティス
が使用されている場合、 セキュア トークン ストレージ: モバイル デベロッパー向けのベスト プラクティス でセキュリティとコンプライアンスを計画するには、 暗号化 で暗号化の実装詳細を参照してください。 コンプライアンス でコンプライアンスの実装詳細を参照してください。 Capgo セキュリティ スキャナー でCapgo セキュリティ スキャナーの製品ワークフローを参照してください。 Capgo セキュリティ 製品ワークフローにおけるCapgo セキュリティのための Capgo トラストセンター 製品ワークフローにおけるCapgo トラストセンターのための