Onera Docs
E2EE Architecture

Security Analysis

Cryptographic strength and attack resistance matrix

Security Analysis

Cryptographic Strength

ComponentSecurity LevelNotes
Master Key256-bitExceeds 128-bit security target
XSalsa20-Poly1305256-bitAEAD with 192-bit nonces
X25519~128-bitStandard elliptic curve security
Argon2idMemory-hard256MB default resists GPU attacks
BLAKE2b256-bitFaster than SHA-256, equally secure

Attack Resistance Matrix

Attack VectorMitigationEffectiveness
Brute-force passwordArgon2id (256MB × 3 iterations)~1 attempt/second on high-end GPU
Server database breachMaster key not stored; shares distributedFull breach insufficient for decryption
XSS (cross-site scripting)Non-extractable session keysAttacker cannot export keys
MITM (man-in-the-middle)TLS 1.3 requiredConnection integrity verified
Replay attacksUnique nonces per encryptionEach ciphertext unique
Offline attack on encrypted dataAEAD authenticationTampering detectable
Device theft (locked)Session timeout, device keyRequires server secret
Device theft (unlocked)Out of scopePhysical security responsibility

XOR Sharding vs Shamir Secret Sharing

PropertyXOR (Onera)Shamir
ThresholdAll shares requiredk-of-n configurable
Implementation complexityTrivialPolynomial arithmetic
Error detectionNone built-inThreshold provides redundancy
Attack surfaceSingle equationMore complex reconstruction
Audit simplicityTrivial verificationRequires crypto expertise

Our Choice: XOR sharding because all-or-nothing security is appropriate when shares are stored in fundamentally different trust domains (device, server, user memory).

Known Limitations

Security Boundaries:

  1. Physical device access while unlocked: An attacker with physical access to an unlocked device can access decrypted data. Mitigation: session timeouts.

  2. Malicious browser extension: Extensions with sufficient permissions could read page content. Mitigation: users should audit installed extensions.

  3. Compromised browser: A compromised browser could be modified to exfiltrate keys. Mitigation: keep browser updated.

  4. Social engineering: Users could be tricked into revealing recovery phrases. Mitigation: user education.

  5. Memory forensics: Keys in RAM could theoretically be extracted. Mitigation: libsodium secure memory; keys zeroed on lock.

Defense in Depth Summary

Each layer provides independent protection, ensuring that compromising a single layer does not expose user data.

On this page