セキュリティのベストプラクティス
セキュアストレージ、SSL pinning、難読化、リバースエンジニアリング対策、機密データ
20 面接問題·
Senior
1React Nativeアプリケーションで認証トークンのような機密データを保存する推奨される方法は何ですか?
1
React Nativeアプリケーションで認証トークンのような機密データを保存する推奨される方法は何ですか?
回答
認証トークンのような機密データは、react-native-keychainやexpo-secure-storeなどのライブラリを使用してKeychain(iOS)またはKeystore(Android)に保存する必要があります。これらのシステムはハードウェアベースの暗号化を提供し、rootされたデバイスでもデータ抽出から保護します。AsyncStorageはデータを平文で保存するため、機密情報には決して使用すべきではありません。
2SSL pinningとは何で、なぜReact Nativeアプリケーションに実装すべきなのですか?
2
SSL pinningとは何で、なぜReact Nativeアプリケーションに実装すべきなのですか?
回答
SSL pinningは、システムの証明書チェーンのみを信頼するのではなく、アプリケーションに埋め込まれた既知の証明書または公開鍵に対してサーバー証明書を検証します。これにより、攻撃者がデバイスに悪意のある証明書をインストールしていても、man-in-the-middle攻撃から保護されます。react-native-ssl-pinningやTrustKitなどのライブラリでこの保護を実装できます。
3React NativeアプリケーションのJavaScriptコードをリバースエンジニアリングから保護するにはどうすればよいですか?
3
React NativeアプリケーションのJavaScriptコードをリバースエンジニアリングから保護するにはどうすればよいですか?
回答
Metro bundler、react-native-obfuscating-transformer、Hermes bytecodeなどのツールによるJavaScriptコードの難読化は、コードを理解しにくくします。HermesはJavaScriptをbytecodeにコンパイルし、保護層を追加します。ただし、難読化は絶対的な保護ではなく、攻撃者の作業を遅らせるものの、リバースエンジニアリングを完全に防ぐことはできません。重要なシークレットは決してクライアントコードに保存すべきではありません。
4
本番環境のReact NativeアプリケーションでAPIキーやシークレットをどのように扱うべきですか?
5
root/jailbreak検出とは何で、React Nativeでどのように実装しますか?
+17 面接問題
その他のReact Native面接トピック
JavaScript の基礎
Junior
25問React の基礎
Junior
20問React Native の基礎
Junior
22問React Hooks
Junior
20問React と React Native のための TypeScript
Junior
22問React Native のコンポーネントと API
Junior
20問React Native のスタイリングとレイアウト
Junior
18問React Native ナビゲーション
Mid-Level
22問React Native の状態管理
Mid-Level
24問React Native のネットワーキングと API
Mid-Level
20問データの永続化
Mid-Level
20問フォームとバリデーション
Mid-Level
18問React Native アニメーション
Mid-Level
22問Native Modules & Bridge
Mid-Level
20問プラットフォーム固有のコード
Mid-Level
18問権限とデバイスAPI
Mid-Level
20問Push Notifications
Mid-Level
18問React Native のテスト
Mid-Level
20問React Native のデバッグ
Mid-Level
18問Build & Deployment
Mid-Level
20問Expo vs React Native Bare
Mid-Level
18問パフォーマンス最適化
Senior
24問メモリ管理
Senior
20問Architecture Patterns
Senior
22問React Native の New Architecture
Senior
24問Offline-First Architecture
Senior
20問React Native の CI/CD
Senior
20問Monorepoとコード共有
Senior
18問高度なトピック
Senior
22問アプリのライフサイクルとバックグラウンド実行
Mid-Level
20問認証とセッション管理
Mid-Level
22問Monitoring & Crash Reporting
Senior
20問