All guides · Page 9
Browse by topic, or search for a specific concept, tool or platform.
Authenticated encryption for mobile data
Encrypted content can still be modified. AEAD combines confidentiality with integrity verification and associated-data binding.
Read the guideNonce discipline with AES-GCM
AES-GCM security depends on correct key and nonce use. Reusing a nonce under the same key can cause serious security failure.
Read the guideWhen to consider ChaCha20-Poly1305
ChaCha20-Poly1305 is an authenticated-encryption option. Evaluate device performance, platform support and protocol requirements together.
Read the guideNonce, IV and challenge: different requirements
These values are not interchangeable random strings. Requirements depend on the algorithm or protocol.
Read the guideCryptographically secure randomness on mobile
Cryptographic values need unpredictability. Randomness used for animation or game logic may be unsuitable.
Read the guideContext separation in HKDF key derivation
Deriving keys for different purposes requires domain separation. HKDF provides a defined construction for key derivation.
Read the guideChoosing cost for password-based key derivation
User passwords have different entropy from random keys. Derivation needs an appropriate method and parameters that increase guessing cost.
Read the guideHMAC, message integrity and shared secrets
HMAC verifies integrity between parties sharing a key. Every party with that key can also create valid tags.
Read the guideDigital signatures versus encryption
A signature verifies approval by a key; encryption restricts reading. One does not imply the other.
Read the guideWhat JWS and JWE provide in mobile protocols
JWS protects integrity and supports source authentication; JWE carries encrypted content. Dot-separated token fields are not necessarily confidential.
Read the guideEnvelope encryption for mobile data
Separating data-encryption keys from the keys protecting them can simplify lifecycle management. This is commonly called envelope encryption.
Read the guideKey versions and older encrypted data
After rotation, the application must know which key opens existing data. Make version identity explicit in the format.
Read the guideRecovery after mobile key invalidation
Device security or key-policy changes can make a key unavailable. Applications need a safe recovery route.
Read the guideReducing the lifetime of secrets in memory
Encrypted data may become plaintext when used. Unnecessary copies and long lifetimes broaden exposure.
Read the guideWhat a file hash establishes
Cryptographic hashes help compare files. An untrusted expected hash does not independently establish legitimacy.
Read the guideConstant-time APIs for secret comparisons
Comparison timing can reveal information about secret values. Suitable library APIs help reduce that exposure.
Read the guideQuestions to ask when buying white-box cryptography
White-box approaches target difficult environments where applications use keys locally. Evaluate claims against your application and threat model.
Read the guideDeveloping iOS cryptography with CryptoKit
CryptoKit supplies cryptographic APIs on Apple platforms. API choice remains connected to storage and protocol design.
Read the guideWhat Tink offers mobile projects
Tink aims to make cryptography easier to use safely. Confirm language and platform support in current documentation.
Read the guideUsing libsodium securely in mobile applications
libsodium offers high-level cryptographic options. Mobile integrations also depend on binding maintenance and native-library versions.
Read the guideLocal database encryption with SQLCipher
SQLCipher encrypts SQLite data. Key management is as important as the database solution itself.
Read the guideVerification with cryptographic test vectors
Successfully decrypting your own output is not sufficient verification. Known valid and invalid vectors reveal implementation defects.
Read the guideCryptographic agility and data formats
Future algorithm or policy changes require prepared formats. Flexibility must not allow clients to choose arbitrary weak methods.
Read the guideResponding to mobile key exposure
Compromise requires more than issuing a replacement. Determine what the old key could read or authorize.
Read the guideKMS and HSM roles in mobile architectures
KMS and HSM services manage server keys. They do not automatically place every phone-held secret inside the same boundary.
Read the guideAndroid upload keys and app signing keys
Upload keys and application signing keys can serve different roles. Reflect that distinction in access management and recovery.
Read the guideAPK signature schemes and verification scope
Signature schemes differ in integrity and compatibility properties. Evaluate signing configuration against supported Android targets.
Read the guideProtection compatibility during Android signing-key rotation
Key transitions can affect certificate checks, application recognition and server integrity policy as well as publication.
Read the guideProtection coverage in split APK distribution
An Android installation may contain several splits. Testing one local APK may miss parts of actual distribution.
Read the guideSecurity controls in dynamic feature modules
Downloaded features can change the code present after startup. Cover loading and first use in the protection plan.
Read the guideAndroid ABI coverage and protection tests
Native protection components may ship different binaries for each architecture. Each ABI needs security and stability acceptance.
Read the guideAndroid page-size compatibility for security SDKs
Native-library page-size compatibility can affect operation on newer devices. Security SDKs belong in that review.
Read the guideiOS provisioning and protection configuration
Provisioning and signing determine distribution identity. Protection must align with that identity and permitted capabilities.
Read the guideComparing iOS distribution entitlements
Entitlements define platform capabilities. Unexpected additions or removals between testing and release can change behavior.
Read the guideSymbol archives for protected iOS releases
Crash analysis requires symbols matching the shipped version. Hardening can make accurate mapping even more important.
Read the guideReproducibility in mobile builds
Reproducible builds aim to produce expected outputs from defined sources and environments. Protection randomness or environment dependence can affect that goal.
Read the guideLocking dependencies in mobile projects
Changing dependency resolution can produce different artifacts from the same source. Locking makes selected versions reviewable.
Read the guideVerifying downloaded build dependencies
A package name and version do not prove that the expected file was downloaded. Verification links downloads to trusted artifacts.
Read the guideBinding a mobile SBOM to a release
An SBOM should represent the actual protected, distributed package. A source-repository inventory alone may be incomplete.
Read the guideSigstore and mobile artifact provenance
Artifact signing connects output to a publication process. Sigstore is an ecosystem used for that purpose.
Read the guideWhat belongs in mobile build provenance?
Provenance explains the source, tooling and process behind an artifact, supporting later investigation.
Read the guideSigning secrets in mobile CI pipelines
Signing keys and publication tokens are high-value pipeline assets. Keep them out of repositories and logs.
Read the guideSeparation of duties in mobile release approval
Unrestricted power to change source, disable protection and publish signed packages concentrates risk.
Read the guideArtifact checksums for FTP and store delivery
Checksums help confirm that delivered files match approved packages. Hash the final modified artifact.
Read the guideData compatibility when rolling back mobile releases
Rollback is more than redistributing old code. New formats and key states may be incompatible with it.
Read the guideEnding support for older mobile versions safely
Old applications retain old security behavior. End-of-support policy must account for both protection and access.
Read the guidePackage identity and environment separation
Package names and bundle IDs are important identity components. Mixing test and production creates incorrect trust relationships.
Read the guideBuild flags and security features
Flags help testing and feature selection. Verify security-relevant flags explicitly in release gates.
Read the guideUpdating privacy disclosures after SDK changes
Security SDK updates can introduce different data or API use. Review store privacy disclosures alongside compatibility.
Read the guideA pre-release security evidence package
Release decisions need more than scan-report counts. Show scope, critical-flow results and accepted exceptions together.
Read the guide