# 보안 모범 사례 (React Native) > 보안 저장소, SSL pinning, 난독화, 리버스 엔지니어링 방지, 민감한 데이터 - 20 면접 질문 - Senior - [면접 질문: React Native](https://sharpskill.dev/ko/technologies/react-native/interview-questions.md) ## 1. React Native 애플리케이션에서 인증 토큰과 같은 민감한 데이터를 저장하는 권장 방법은 무엇입니까? **답변** 인증 토큰과 같은 민감한 데이터는 react-native-keychain 또는 expo-secure-store와 같은 라이브러리를 사용하여 Keychain(iOS) 또는 Keystore(Android)에 저장해야 합니다. 이러한 시스템은 하드웨어 기반 암호화를 제공하며 루팅된 기기에서도 데이터 추출을 방지합니다. AsyncStorage는 데이터를 평문으로 저장하므로 민감한 정보에 절대 사용해서는 안 됩니다. ## 2. SSL pinning이란 무엇이며 React Native 애플리케이션에 구현해야 하는 이유는 무엇입니까? **답변** SSL pinning은 시스템 인증서 체인만 신뢰하는 대신 애플리케이션에 내장된 알려진 인증서 또는 공개 키에 대해 서버 인증서를 검증합니다. 이를 통해 공격자가 기기에 악성 인증서를 설치했더라도 man-in-the-middle 공격으로부터 보호됩니다. react-native-ssl-pinning 또는 TrustKit과 같은 라이브러리로 이 보호 기능을 구현할 수 있습니다. ## 3. React Native 애플리케이션의 JavaScript 코드를 리버스 엔지니어링으로부터 보호하는 방법은 무엇입니까? **답변** Metro bundler, react-native-obfuscating-transformer 또는 Hermes bytecode와 같은 도구를 사용한 JavaScript 코드 난독화는 코드를 이해하기 어렵게 만듭니다. Hermes는 JavaScript를 bytecode로 컴파일하여 보호 계층을 추가합니다. 그러나 난독화는 절대적인 보호가 아닙니다 - 공격자를 늦출 수는 있지만 리버스 엔지니어링을 완전히 막을 수는 없습니다. 중요한 시크릿은 절대 클라이언트 코드에 저장해서는 안 됩니다. ## 17개 추가 질문 이용 가능 - 프로덕션 React Native 애플리케이션에서 API 키와 시크릿을 어떻게 처리합니까? - root/jailbreak 탐지란 무엇이며 React Native에서 어떻게 구현합니까? 무료로 가입하기: https://sharpskill.dev/ko/login ## 기타 React Native 면접 주제 - [JavaScript 핵심](https://sharpskill.dev/ko/technologies/react-native/interview-questions/javascript-essentials.md): 25개 질문, Junior - [React 기초](https://sharpskill.dev/ko/technologies/react-native/interview-questions/react-fundamentals.md): 20개 질문, Junior - [React Native 기초](https://sharpskill.dev/ko/technologies/react-native/interview-questions/react-native-basics.md): 22개 질문, Junior - [React Hooks](https://sharpskill.dev/ko/technologies/react-native/interview-questions/react-hooks.md): 20개 질문, Junior - [React 및 React Native를 위한 TypeScript](https://sharpskill.dev/ko/technologies/react-native/interview-questions/typescript-for-react-native.md): 22개 질문, Junior - [React Native 컴포넌트 및 API](https://sharpskill.dev/ko/technologies/react-native/interview-questions/rn-components-api.md): 20개 질문, Junior - [React Native 스타일링 및 레이아웃](https://sharpskill.dev/ko/technologies/react-native/interview-questions/rn-styling-layout.md): 18개 질문, Junior - [React Native 내비게이션](https://sharpskill.dev/ko/technologies/react-native/interview-questions/rn-navigation.md): 22개 질문, Mid-Level - [React Native 상태 관리](https://sharpskill.dev/ko/technologies/react-native/interview-questions/rn-state-management.md): 24개 질문, Mid-Level - [React Native 네트워킹 및 API](https://sharpskill.dev/ko/technologies/react-native/interview-questions/rn-networking-api.md): 20개 질문, Mid-Level - [데이터 영속성](https://sharpskill.dev/ko/technologies/react-native/interview-questions/rn-data-persistence.md): 20개 질문, Mid-Level - [폼과 유효성 검사](https://sharpskill.dev/ko/technologies/react-native/interview-questions/rn-forms-validation.md): 18개 질문, Mid-Level - [React Native 애니메이션](https://sharpskill.dev/ko/technologies/react-native/interview-questions/rn-animations.md): 22개 질문, Mid-Level - [Native Modules & Bridge](https://sharpskill.dev/ko/technologies/react-native/interview-questions/rn-native-modules.md): 20개 질문, Mid-Level - [플랫폼별 코드](https://sharpskill.dev/ko/technologies/react-native/interview-questions/rn-platform-specific-code.md): 18개 질문, Mid-Level - [권한 및 디바이스 API](https://sharpskill.dev/ko/technologies/react-native/interview-questions/rn-permissions-apis.md): 20개 질문, Mid-Level - [Push Notifications](https://sharpskill.dev/ko/technologies/react-native/interview-questions/rn-push-notifications.md): 18개 질문, Mid-Level - [React Native 테스팅](https://sharpskill.dev/ko/technologies/react-native/interview-questions/rn-testing.md): 20개 질문, Mid-Level - [React Native 디버깅](https://sharpskill.dev/ko/technologies/react-native/interview-questions/rn-debugging.md): 18개 질문, Mid-Level - [Build & Deployment](https://sharpskill.dev/ko/technologies/react-native/interview-questions/rn-build-deployment.md): 20개 질문, Mid-Level - [Expo vs React Native Bare](https://sharpskill.dev/ko/technologies/react-native/interview-questions/expo-vs-bare-rn.md): 18개 질문, Mid-Level - [성능 최적화](https://sharpskill.dev/ko/technologies/react-native/interview-questions/rn-performance-optimization.md): 24개 질문, Senior - [메모리 관리](https://sharpskill.dev/ko/technologies/react-native/interview-questions/rn-memory-management.md): 20개 질문, Senior - [Architecture Patterns](https://sharpskill.dev/ko/technologies/react-native/interview-questions/rn-architecture-patterns.md): 22개 질문, Senior - [React Native New Architecture](https://sharpskill.dev/ko/technologies/react-native/interview-questions/rn-new-architecture.md): 24개 질문, Senior - [Offline-First Architecture](https://sharpskill.dev/ko/technologies/react-native/interview-questions/rn-offline-first.md): 20개 질문, Senior - [React Native CI/CD](https://sharpskill.dev/ko/technologies/react-native/interview-questions/rn-ci-cd.md): 20개 질문, Senior - [Monorepo와 코드 공유](https://sharpskill.dev/ko/technologies/react-native/interview-questions/rn-monorepo-architecture.md): 18개 질문, Senior - [고급 주제](https://sharpskill.dev/ko/technologies/react-native/interview-questions/rn-advanced-topics.md): 22개 질문, Senior - [앱 라이프사이클 및 백그라운드 실행](https://sharpskill.dev/ko/technologies/react-native/interview-questions/rn-app-lifecycle-background.md): 20개 질문, Mid-Level - [인증 및 세션 관리](https://sharpskill.dev/ko/technologies/react-native/interview-questions/rn-auth-session-management.md): 22개 질문, Mid-Level - [Monitoring & Crash Reporting](https://sharpskill.dev/ko/technologies/react-native/interview-questions/rn-monitoring-crash-reporting.md): 20개 질문, Senior --- Source: SharpSkill (https://sharpskill.dev), tech interview preparation for your real stack. HTML version of this page: https://sharpskill.dev/ko/technologies/react-native/interview-questions/rn-security-best-practices