암호화
이 플러그인의 설치 단계와 전체 마크다운 가이드를 포함한 설정 명령어를 복사하세요.
Capgo provides robust end-to-end encryption for your app bundles, ensuring that your JavaScript code and assets are protected during transmission and storage. This encryption system is designed to give you complete control over your app’s security while maintaining the convenience of live updates.
__CAPGO_KEEP_0__
OverviewCapgo의 암호화 시스템은 업로드된 패키지를 비인가 접근으로부터 보호하기 위해 업계 표준 암호화 방법을 사용합니다. 암호화가 활성화되면 개발 환경을 떠나는 패키지는 암호화되어 저장되고 전송되며, 사용자의 장치에서 앱이 패키지를 해독할 때까지 암호화된 상태로 유지됩니다.
실제로 암호화가 보호하는 것: 업로드된 패키지를 저장 및 전송하기 전에 Capgo가 암호화합니다. 이로써 저장소 또는 전송 중에 패키지 내용을 비인가 접근으로부터 보호하고, 유효한 암호화된 업데이트를 발행할 수 있는のは 당신의 개인 키를 보유한 사람들만이 됩니다. 업로드된 웹 자산을 역공학할 수 없게 만드는 것은 아닙니다. 클라이언트가 업데이트를 해독하기 위해 사용하는 공개 키는 앱에 분포되어 있으므로, 충분한 노력만 하면 패키지 내용을 검사할 수 있습니다. 암호화가 필요한 경우
How Encryption Works
__CAPGO_KEEP_0__ uses a hybrid encryption approach that combines RSA and AES encryption for optimal security and performance:Capgo Encryption Flow

1. 키 생성
1. 키 생성 섹션- 개인 키: 개발 환경에서 안전하게 생성 및 저장되며 암호화에 사용됩니다.
- 공개 키: 개인 키에서 파생되며 앱의 Capacitor 설정에서 암호화에 사용됩니다.
- 세션 키: 각 업로드 배ंडल에 대한 임의 AES 키
2. 암호화 프로세스
2. 암호화 프로세스 섹션- 각 업로드 배ंडल에 대한 임의 AES 세션 키가 생성됩니다.
- 배ंडल은 AES 세션 키를 사용하여 암호화됩니다.
- __CAPGO_KEEP_0__ __CAPGO_KEEP_1__
- __CAPGO_KEEP_0__ __CAPGO_KEEP_1__
- __CAPGO_KEEP_0__ __CAPGO_KEEP_1__
__CAPGO_KEEP_0__ __CAPGO_KEEP_1__
3. Decryption Process
3. Decryption Process- __CAPGO_KEEP_0__ __CAPGO_KEEP_1__
- Capgo SDK
- __CAPGO_KEEP_0__ __CAPGO_KEEP_1__
- __CAPGO_KEEP_0__ __CAPGO_KEEP_1__
- __CAPGO_KEEP_0__ __CAPGO_KEEP_1__
__CAPGO_KEEP_0__ __CAPGO_KEEP_1__
Capgo vs Other Platforms
Capgo vs Other 플랫폼| Feature | Capgo | 다른 OTA 플랫폼 |
|---|---|---|
| 배포 콘텐츠 | 저장/전송 중 암호화; 여전히 앱 바이너리와 함께 결정된 역공학자에 의해 검사할 수 있습니다. | 공개적으로 읽을 수 있습니다. |
| 보안 방법 | __CAPGO_KEEP_0__ 암호화 | Code에 한정된 서명 |
| 개인 정보 수준 | __CAPGO_KEEP_0__ 보호; 역공학 방지 기능 없음 | 플랫폼이 code에 접근할 수 있습니다. |
| 보호 | 내용 + 무결성 + 진위성 | 무결성 + 진위성만 |
이것이 중요합니다:
- Code 서명 __CAPGO_KEEP_0__ 서명은 업데이트가 변조되지 않았는지와 올바른 출처에서 왔는지 확인합니다.
- Capgo 암호화 __CAPGO_KEEP_0__는 Encryption V2를 표준 암호화 방법으로 사용합니다:
- 암호화 방법 __CAPGO_KEEP_0__는 현재 표준으로 Encryption V2를 사용합니다.
Encryption V2 (현재 표준)
__CAPGO_KEEP_0__는 RSA-4096를 향상된 보안을 위해 사용합니다.Capgo는 AES-256-GCM를 인증된 암호화를 위해 사용합니다.
__CAPGO_KEEP_0__는 데이터의 무결성을 검증합니다.
__CAPGO_KEEP_0__는 성능과 보안을 향상합니다.- 앱이 배포된 후에도 역공학이 가능합니다.
- 업데이트를 암호화하고 전송하는 동안 업데이트를 위조한 암호화된 업데이트를 훨씬 더 어렵게 만듭니다. 공격자는 업데이트를 암호화하고 로드하기 위해 사용하는 개인 키가 필요합니다.
- __CAPGO_KEEP_0__는 업데이트를 암호화하고 전송하는 동안 업데이트를 위조한 암호화된 업데이트를 훨씬 더 어렵게 만듭니다. 공격자는 업데이트를 암호화하고 로드하기 위해 사용하는 개인 키가 필요합니다.
- __CAPGO_KEEP_0__는 업데이트를 암호화하고 전송하는 동안 업데이트를 위조한 암호화된 업데이트를 훨씬 더 어렵게 만듭니다. 공격자는 업데이트를 암호화하고 로드하기 위해 사용하는 개인 키가 필요합니다.
__CAPGO_KEEP_0__
__CAPGO_KEEP_0__- RSA-2048을 사용하여 키 암호화
- AES-256-CBC를 사용하여 패키지 암호화
- CLI에서 더 이상 사용할 수 없습니다.
- __CAPGO_KEEP_0__에서 V1을 사용하는 앱은 V2로 마이그레이션해야 합니다.
__CAPGO_KEEP_0__
__CAPGO_KEEP_0__ __CAPGO_KEEP_1__1차: 암호화 키 생성
__CAPGO_KEEP_0__ __CAPGO_KEEP_1__First, generate your encryption keys using the Capgo CLI:
# Generate new encryption keys (creates files in current directory)npx @capgo/cli@latest key create이것이 생성됩니다.
.capgo_key_v2: 개인 키(이것은 안전하게 보관하세요!).capgo_key_v2.pub: 공개 키(앱에서 사용합니다.)
이 파일들은 명령어를 실행한 현재 디렉토리에서 생성됩니다.
Step 2: Capacitor을 Capacitor 설정에 저장하세요 (필수)
Capacitor Step 2: Capacitor을 Capacitor 설정에 저장하세요 (필수)당신 은/는 Capacitor 설정에 Capacitor을 저장하여 모바일 앱이 패키지를 해독할 수 있도록 해야 합니다.
# Save public key from file to Capacitor config (required)npx @capgo/cli@latest key save --key ./.capgo_key_v2.pub
# Or save public key data directlynpx @capgo/cli@latest key save --key-data "$CAPGO_PUBLIC_KEY"Step 3: Capacitor 플랫폼을 동기화하세요 (필수)
Capacitor Step 3: Capacitor 플랫폼을 동기화하세요 (필수)__CAPGO_KEEP_0__을 저장한 후 은/는 Capacitor 플랫폼을 동기화하여 네이티브层에 업데이트된 설정을 복사해야 합니다.
# Sync the platform to copy config to nativenpx cap sync파일 암호화
파일 암호화1. 업로드 중 암호화
__CAPGO_KEEP_0____CAPGO_KEEP_1__
# Upload with automatic encryptionnpx @capgo/cli@latest bundle upload --key-v2
# For external storage, you must encrypt first (see Manual Encryption Workflow below)__CAPGO_KEEP_4__
__CAPGO_KEEP_5____CAPGO_KEEP_6__
-
__CAPGO_KEEP_7__
__CAPGO_KEEP_8__ npx @capgo/cli@latest bundle zip com.example.app --path ./dist --key-v2 -
__CAPGO_KEEP_10__
__CAPGO_KEEP_11__ npx @capgo/cli@latest bundle encrypt ./com.example.app.zip CHECKSUM_FROM_STEP_1 -
Capgo에 등록하기 위해 저장소(예: S3)에 업로드하세요.
터미널 창 # First upload the encrypted bundle to your storage (e.g., AWS S3)aws s3 cp ./encrypted-bundle.zip s3://your-bucket/encrypted-bundle.zip# Then register with Capgo using the external URLnpx @capgo/cli@latest bundle upload --external https://your-storage.com/encrypted-bundle.zip --iv-session-key IV_SESSION_KEY_FROM_STEP_2
키 관리
키 관리보안 키 저장
보안 키 저장개인 키 옵션:
-
파일 기반(개발용):
터미널 창 # Key stored as .capgo_key_v2 file in project rootnpx @capgo/cli@latest bundle upload --key-v2 -
CI/CD 환경 변수 (CI/CD):
터미널 창 # Store in environment variable for CIexport CAPGO_PRIVATE_KEY="$(cat .capgo_key_v2)"npx @capgo/cli@latest bundle upload --key-data-v2 "$CAPGO_PRIVATE_KEY"
공개 키 설정 (필수):
# Must save public key to Capacitor config for mobile appnpx @capgo/cli@latest key save --key ./.capgo_key_v2.pub프로덕션 환경:
- 보안 키 관리 서비스 (AWS KMS, Azure Key Vault 등)에서 개인 키를 저장하십시오.
- CI/CD 비밀 관리를 사용하여 개인 키를 관리하십시오.
- 개인 키를 버전 관리에 포함하지 마십시오.
키 사용:
- 개인 키: CLI을 사용하여 배ंडल 업로드 중 암호화 (보안 유지)
- 공개 키: __CAPGO_KEEP_0__ 구성에서 암호화에 사용하는 데 저장 (안전한 커밋)
키 회전
키 회전 섹션보안을 강화하기 위해 정기적으로 암호화 키를 회전하세요:
-
새 키 생성:
터미널 창 # Navigate to desired directory first, then create keysmkdir ./new-keys && cd ./new-keysnpx @capgo/cli@latest key create -
Capacitor 구성에 새 공개 키를 저장하세요:
터미널 창 npx @capgo/cli@latest key save --key ./new-keys/.capgo_key_v2.pub -
애플리케이션 구성 업데이트 새로운 공개 키와 함께
-
업데이트된 애플리케이션 배포 새 키로 암호화된 패키지를 업로드하기 전에
보안 최적화
제목: 보안 최적화키 보안
제목: 키 보안- 개인 키를 절대 공유하지 마세요 환경 또는 팀 구성원 사이에
- 다른 환경 (개발, 스테이징, 운영) 에서 다르게 키를 사용하세요. for different environments (dev, staging, production)
- __CAPGO_KEEP_0__ (권장: 6-12 개월)
- __CAPGO_KEEP_1__ 적절한 키 관리 시스템을 사용하여
__CAPGO_KEEP_2__
__CAPGO_KEEP_3__- 다운로드 패턴이나 실패를 위한 모니터링 __CAPGO_KEEP_4__ (모바일 앱의 경우 필수)
- __CAPGO_KEEP_5__ __CAPGO_KEEP_6__
- __CAPGO_KEEP_7__ __CAPGO_KEEP_8__
- Implement __CAPGO_KEEP_0__
__CAPGO_KEEP_1__
Section titled “__CAPGO_KEEP_2__”- Limit access to encryption keys to authorized personnel only
- __CAPGO_KEEP_3__ access for key management operations
- __CAPGO_KEEP_4__ key usage and access regularly
- Implement __CAPGO_KEEP_5__ and recovery procedures
문제 해결 암호화
제목 '문제 해결 암호화'일반적인 문제
제목 '일반적인 문제'해독 실패:
- 암호화에 사용한 공개 키와 일치하는 개인 키를 확인하십시오.
- 암호화에 사용한 공개 키와 일치하는 개인 키를 확인하십시오.
ivSessionKey암호화에 사용한 공개 키와 일치하는 개인 키를 확인하십시오. - 암호화에 사용한 공개 키와 일치하는 개인 키를 확인하십시오.
암호화 V2 (V1은 더 이상 지원되지 않습니다)를 사용하십시오.
- 키 관련 오류:
- 개인 키 형식이 올바른지 확인하십시오 (PEM 형식).
- __CAPGO_KEEP_0__
성능 문제:
- 대형 번들 암호화/복호화 시간이 더 걸릴 수 있습니다.
- Delta (매니페스트) 업데이트 사용을 고려하여 번들 크기를 줄이십시오.
- 복호화 중 장치 성능을 모니터링하십시오.
Debug 명령어
Debug 명령어암호화 상태 확인:
npx @capgo/cli@latest app debug암호화/복호화 워크플로우 테스트:
# Test the complete workflow: zip → encrypt → decrypt → unzipnpx @capgo/cli@latest bundle zip com.example.app --key-v2npx @capgo/cli@latest bundle encrypt ./com.example.app.zip CHECKSUM --jsonnpx @capgo/cli@latest bundle decrypt ./encrypted-bundle.zip IV_SESSION_KEY복호화 구현은 다음 표준을 따릅니다:
AES-256Capgo’s encryption implementation follows industry standards:
- RSA-4096: 키 보호를 위한 강력한 비대칭 암호화
- GCM Mode: 신뢰성과 진위성을 제공하는 암호화
- Secure Random: 암호학적으로 안전한 난수 생성
- 복사하기규정 준수 및 표준
이것은 Capgo를 다음 규정에 따라야 하는 애플리케이션에 적합하게 만듭니다.:
- GDPR (일반 데이터 보호 규정)
- HIPAA (건강 보험 포트 ability 및 책임성 법)
- SOC 2 (서비스 조직 제어 2)
- ISO 27001 (정보 보안 관리)
성능 고려 사항
제목 "성능 고려 사항"암호화 오버헤드
제목 "암호화 오버헤드"- 배포 크기: 암호화 된 배포는 약 1-2%의 오버헤드가 발생합니다.
- 처리 시간__CAPGO_KEEP_0__
- 메모리 사용량: 임시적으로 암호화/복호화 작업 중에 메모리 사용량이 증가합니다.
최적화 팁
최적화 팁- Delta (매니페스트) 업데이트를 사용하여 암호화된 데이터 전송을 최소화하세요.
- 이미지를 WebP 형식으로 변환하여 번들 크기를 최적화하세요.
- JavaScript 및 CSS 파일을 번들링하기 전에 크기를 최소화하세요.
- 사용하지 않는 의존성을 제거하고 code
- 오래된/느린 장치에서 장치 성능을 모니터링하세요.
다음 단계
다음 단계- Learn about Custom Storage to use encryption with your own infrastructure
- Explore Channels Set up
- Set up CI/CD Integration Learn about
If you are using 암호화 __CAPGO_KEEP_0__과 연결하여 보안 및 규정 준수 계획을 수립하세요. 규정 준수 규정 준수 구현 세부 사항에 대해. Capgo 보안 스캐너 Capgo 보안 스캐너의 제품 워크플로에 대해. Capgo 보안 Capgo 보안의 제품 워크플로에 대해. Capgo 신뢰 센터 Capgo 신뢰 센터의 제품 워크플로에 대해. 조직 보안 조직 보안 구현 세부 사항에 대해.