Mengamankan __CAPGO_KEEP_0__ Anda API keys Kunci API yang aman sangat penting untuk melindungi data pengguna dan memenuhi aturan toko aplikasi. Mengungkapkan kunci dapat menyebabkan pelanggaran data, penyalahgunaan layanan, dan kompromi akun.
Hindari menyimpan __CAPGO_KEEP_0__ di __CAPGO_KEEP_0__ Anda
- Jangan menyimpan kunci di codeGunakan variabel lingkungan atau file yang aman.
- : iOS Keychain dan AndroidEncryptedSharedPreferences Mengenkripsi __CAPGO_KEEP_0__ Anda.
- Mengamankan API Anda : Tambahkan lapisan keamanan tambahan dengan enkripsi AES-256.
- : Transport yang aman. : Selalu gunakan HTTPS dan pertimbangkan sertifikat SSL pinning.
- : Pantau dan rotasi kunci. : : Rutin rotasi kunci dan track penggunaan untuk anomali.
: Dengan menerapkan praktik-praktik ini, Anda dapat melindungi aplikasi, memenuhi pedoman Apple dan Google, dan melindungi pengguna.
: Metode Penyimpanan Kunci yang Aman API
: Hapus API Kunci dari Sumber Code
: Menggunakan API kunci secara langsung dalam sumber code dapat menyebabkan paparan melalui dekomiplasi atau kebocoran repository. Untuk menghindari hal ini, pertimbangkan pendekatan-pendekatan berikut:
- : Gunakan : variabel lingkungan : untuk pengembangan lokal.
- Simpan kunci di konfigurasi file yang aman yang dikecualikan dari pengawasan versi.
- Rely pada layanan konfigurasi remote untuk mengelola kunci.
Untuk iOS, pertimbangkan menggunakan file XCConfig untuk memisahkan konfigurasi dari basis kode Anda. Pada Android, Anda dapat mengelola kunci menggunakan gradle.properties:
# Store in ~/.gradle/gradle.properties
API_KEY=your_key_here
# Reference in build.gradle
buildConfigField "String", "API_KEY", "\"${project.API_KEY}\""
Alat Keamanan Platform
Manfaatkan alat-alat khusus platform untuk meningkatkan keamanan saat menyimpan API kunci.
Di iOS, gunakan Jasa Kunci Utama untuk penyimpanan yang aman:
let query: [String: Any] = [
kSecClass as String: kSecClassGenericPassword,
kSecAttrAccount as String: "APIKey",
kSecValueData as String: apiKey.data(using: .utf8)!
]
let status = SecItemAdd(query as CFDictionary, nil)
For Android, manfaatkan EncryptedSharedPreferences untuk penyimpanan kunci yang aman:
val masterKey = MasterKey.Builder(context)
.setKeyScheme(MasterKey.KeyScheme.AES256_GCM)
.build()
val sharedPreferences = EncryptedSharedPreferences.create(
context,
"secret_shared_prefs",
masterKey,
EncryptedSharedPreferences.PrefKeyEncryptionScheme.AES256_SIV,
EncryptedSharedPreferences.PrefValueEncryptionScheme.AES256_GCM
)
Jelaskan Kunci dengan Lingkungan
Pakai kunci yang berbeda API untuk lingkungan pengembangan, pengujian, dan produksi. Setiap lingkungan harus memiliki:
- Jadwal rotasi kunci unik.
- Pantau penggunaan.
- Kontrol akses ketat.
Simpan kunci spesifik lingkungan di variabel CI/CD yang aman Alih-alih menggunakan file konfigurasi. Hal ini memastikan kunci tetap terlindungi sementara mendukung proses pembangunan otomatis. Selain itu, pastikan mekanisme transportasi yang aman telah dipasang untuk melindungi kunci selama transmisi.
Advanced Mobile iOS Security – Runtime Attacks & API Key …
API Key Transport Security
Mengamankan kunci API selama pengiriman sangat penting untuk melindungi data pengguna dan memenuhi persyaratan toko aplikasi. Langkah keamanan transportasi yang kuat membantu mencegah serangan seperti man-in-the-middle dan akses tidak berwenang.
Implementasi HTTPS
To secure API communication, always redirect HTTP traffic to HTTPS. Use TLS 1.3 or later and obtain SSL certificates from a trusted Certificate Authority.
Contoh dasar untuk mengaktifkan HTTPS dalam Node.js Express Aplikasi:
const express = require('express');
const app = express();
// Redirect HTTP to HTTPS
app.use((req, res, next) => {
if (!req.secure) {
return res.redirect('https://' + req.headers.host + req.url);
}
next();
});
Untuk lapisan perlindungan tambahan, pertimbangkan untuk menerapkan sertifikat pinning.
Penguncian Sertifikat SSL
Penguncian sertifikat memastikan bahwa sertifikat SSL server sesuai dengan salinan yang dipercaya, sehingga mencegah penggunaan sertifikat palsu.
Pada iOS, Anda dapat menerapkan penguncian sertifikat menggunakan URLSession. Berikut adalah contoh:
class APIManager: NSObject, URLSessionDelegate {
func urlSession(_ session: URLSession, didReceive challenge: URLAuthenticationChallenge, completionHandler: @escaping (URLSession.AuthChallengeDisposition, URLCredential?) -> Void) {
guard let serverTrust = challenge.protectionSpace.serverTrust,
let certificate = SecTrustGetCertificateAtIndex(serverTrust, 0) else {
completionHandler(.cancelAuthenticationChallenge, nil)
return
}
// Compare certificate with pinned certificate
if validateCertificate(certificate) {
completionHandler(.useCredential, URLCredential(trust: serverTrust))
} else {
completionHandler(.cancelAuthenticationChallenge, nil)
}
}
}
Selain mengamankan transportasi, enkripsi kunci API pada tingkat aplikasi.
Enkripsi Kunci API
Enkripsi kunci API menambahkan lapisan keamanan lainnya. Capgo, misalnya, menggunakan enkripsi end-to-end untuk pembaruan aplikasi.
“Hanya solusi dengan enkripsi end-to-end yang benar, yang lain hanya menandatangani pembaruan” - Capgo [1]
Untuk mengenkripsi kunci API, gunakan algoritma enkripsi yang dapat diandalkan. Berikut adalah contoh mengenkripsi kunci API dengan AES-256-GCM di Node.js:
const crypto = require('crypto');
function encryptAPIKey(apiKey, encryptionKey) {
const iv = crypto.randomBytes(16);
const cipher = crypto.createCipheriv('aes-256-gcm', encryptionKey, iv);
let encrypted = cipher.update(apiKey, 'utf8', 'hex');
encrypted += cipher.final('hex');
return {
encrypted: encrypted,
iv: iv.toString('hex'),
tag: cipher.getAuthTag().toString('hex')
};
}
Menggabungkan HTTPS, penguncian sertifikat, dan enkripsi memastikan pertahanan yang kuat untuk kunci API Anda.
Pengelolaan Kunci API
Pengelolaan kunci API yang efektif berarti memantau penggunaannya secara ketat, memutar kunci secara berkala, dan menerapkan kontrol akses yang ketat. Langkah-langkah ini membantu melindungi data sensitif dan memastikan kinerja yang sesuai dengan persyaratan toko aplikasi.
Penggunaan Monitoring
Mengawasi penggunaan API kunci sangat penting untuk mengidentifikasi aktivitas yang tidak biasa. Gunakan analitik waktu nyata untuk mengawasi:
- Pola dan volume permintaan
- Lokasi geografis akses
- Rasio dan jenis kesalahan
- Kegagalan autentikasi
Contoh berikut ini menggunakan Node.js:
const apiMetrics = {
trackRequest: (apiKey, endpoint) => {
// Log request details
const requestData = {
timestamp: new Date().toISOString(),
endpoint,
apiKey: hashKey(apiKey),
geoLocation: getRequestLocation(),
responseTime: calculateResponseTime()
};
// Alert on suspicious patterns
if (isAnomalous(requestData)) {
notifySecurityTeam(requestData);
}
}
};
Gaya Rotasi Kunci
Saat Anda telah memiliki kontrol atas penggunaan, pastikan untuk memutar kunci secara teratur. Proses rotasi otomatis dapat membantu Anda tetap kompatibel dengan persyaratan toko aplikasi. Berikut beberapa strategi rotasi:
- Rotasi darurat: Mengaktifkan kunci segera jika Anda curiga ada pelanggaran.
- Rotasi yang dijadwalkan: Perbarui kunci produksi setiap trimester.
- Rotasi pengembangan: Perbarui kunci untuk lingkungan pengujian setiap bulan.
Untuk mengurangi gangguan, gunakan periode transisi selama perubahan kunci:
const keyRotation = {
oldKey: process.env.OLD_API_KEY,
newKey: process.env.NEW_API_KEY,
transitionPeriod: 7 * 24 * 60 * 60 * 1000, // 7 days
startDate: new Date()
};
Pengaturan Kontrol Akses
Pengawasan dan rotasi hanya merupakan bagian dari persamaan. Anda juga perlu menerapkan kontrol akses ketat. Tugaskan izin berdasarkan kebutuhan dan tetaplah pada prinsip kebijaksanaan yang paling sedikit:
const accessControl = {
validateAccess: (apiKey, requestedOperation) => {
const keyPermissions = getKeyPermissions(apiKey);
const environmentType = getCurrentEnvironment();
return isOperationAllowed(keyPermissions, requestedOperation, environmentType);
}
};
Ulangi secara teratur siapa yang memiliki akses, sesuaikan izin jika perlu, dan atur peringatan otomatis untuk aktivitas yang tidak biasa. Langkah-langkah ini akan membantu Anda menjaga keamanan yang kuat sambil tetap memenuhi aturan toko aplikasi.
Capgo Fitur Keamanan

Capgo memperkuat keamanan aplikasi dengan menggabungkan metode penyimpanan dan transportasi yang aman dengan fitur canggih yang dibangun ke dalam platformnya.
Capgo Arsitektur Keamanan
Sistem Capgo telah berhasil mengirimkan lebih dari 23,5 juta pembaruan yang aman ke 750 aplikasi produksi [1]It uses enkripsi ujung ke ujung, sehingga hanya pengguna yang berwenang saja yang dapat mengenkripsi pembaruan. Berikut adalah penjelasan tentang pengaturan keamanannya:
const capgoSecurity = {
encryptionType: 'end-to-end',
keyStorage: {
separate: true,
encrypted: true,
environment: process.env.NODE_ENV
},
updateVerification: async (update) => {
const isValid = await verifySignature(update);
const isAuthorized = await checkUserPermissions(update.userId);
return isValid && isAuthorized;
}
};
Rancangan ini tidak hanya melindungi kunci API tetapi juga memudahkan pemenuhan persyaratan aplikasi toko.
Persyaratan Aplikasi Toko
Capgo memastikan pembaruan dapat dikirimkan dengan cepat dan aman, mencapai tingkat kesuksesan global 82%, dengan 95% pengguna aktif yang menerima pembaruan dalam waktu 24 jam [1]. Fitur-fitur ini membantu mengatasi potensi kelemahan:
- Penggantian kunci otomatis yang sesuai dengan kebijakan aplikasi toko
- Kontrol pengembangan yang disesuaikan dengan lingkungan tertentu
- Otorisasi yang Rinci untuk Mengelola Perbaruan
Integrasi Keamanan CI/CD
Capgo bekerja lancar dengan platform CI/CD untuk meningkatkan perlindungan kunci API. Berikut adalah contoh integrasinya:
capgo_deployment:
environment:
- CAPGO_API_KEY: ${SECURED_API_KEY}
- APP_ENV: production
security:
- signature_verification: true
- key_rotation: enabled
- access_control: role_based
| Fitur Keamanan | Implementation |
|---|---|
| Enkripsi Kunci | Enkripsi Dari Awal Sampai Akhir Selama Pembangunan dan Pengiriman |
| Pengendalian Akses | Otorisasi Berdasarkan Peran untuk Pengaktifan Pengiriman |
| Pengelolaan Audit | Log yang Komprehensif dari Semua Aktivitas Pengiriman |
| Pengendalian Versi | Penyimpanan yang aman dari pembaruan yang di-deploy |
“Enkripsi akhir-ke-akhir. Hanya pengguna Anda yang dapat mengenkripsi pembaruan Anda, tidak ada orang lain.” [1] - Capgo
Ringkasan
Mengamankan kunci API sangat penting untuk memenuhi persyaratan toko aplikasi dan melindungi data pengguna. Berikut adalah ringkasan cepat dari praktik-praktik penting dan apa yang harus dilakukan selanjutnya.
Daftar Periksa Keamanan
Table di bawah ini menyoroti langkah-langkah penting untuk melindungi kunci API sambil tetap sesuai dengan standar Apple dan Google:
| Langkah Keamanan | Persyaratan Implementasi | Dampak Kepatuhan |
|---|---|---|
| Keamanan Penyimpanan | Pakai enkripsi akhir-ke-akhir dan lingkungan terpisah | Mematuhi aturan perlindungan data Apple/Google |
| Layer Transportasi | Menggunakan HTTPS dan mengikat sertifikat SSL | Mengamankan data selama transmisi |
| Pengendalian Akses | Menggunakan hak akses berdasarkan peran dan merekam log akses | Mencegah akses tidak berizin |
| Pengelolaan Kunci | Mengganti kunci secara otomatis dan menggunakan kunci yang spesifik untuk lingkungan | Mengamankan keamanan yang kuat dan berkelanjutan |
Referensi ke daftar periksa ini sebagai panduan untuk mengamankan kunci API Anda.
Next Steps
-
Audit Implementasi Saat Ini
Ulas kembali metode penyimpanan dan transportasi kunci yang ada sekarang dan cari kelemahan, terutama pada enkripsi dan pengungkapan sumber code.
-
Implementasi Langkah Keamanan
Terapkan enkripsi end-to-end untuk mengurangi risiko dan memenuhi persyaratan toko aplikasi.
-
Establisihkan Sistem Monitoring
Set up peringatan otomatis dan lakukan audit secara berkala untuk memastikan keamanan terus berlanjut.
“Komitmen Toko Aplikasi” - Capgo [1]
Teruskan dari API Keamanan Kunci untuk Kepatuhan Toko Aplikasi
Jika Anda menggunakan API Keamanan Kunci untuk Kepatuhan Toko Aplikasi untuk merencanakan keamanan dan kepatuhan, hubungkannya dengan Kripsi untuk detail implementasi di Kripsi, Kepatuhan untuk detail implementasi di Kepatuhan, Pemindaian Keamanan Capgo Untuk alur kerja produk dalam Scanner Keamanan Capgo. Keamanan Capgo untuk alur kerja produk dalam Capgo Keamanan. Capgo Trust Center untuk alur kerja produk di Capgo Pusat Kepercayaan.