🔐 🧅 📬 🛡️ 🔑 📷 📱
|
|
|
🔒 Sécurité & Crypto
💬 Messagerie
🎨 Interface
🔒 Protection
|
┌──────────────────────────────────────────────────┐
│ UI Layer │
│ Fragments · ViewModels · Adapters │
├──────────────────────────────────────────────────┤
│ Repository Layer │
│ ChatRepository — source de vérité unique │
├────────────────┬────────────────┬────────────────┤
│ Room DB │ Crypto │ Transport │
│ (SQLCipher) │ PQXDH + DR │ Tor P2P .onion │
│ │ + ML-DSA-44 │ + Mailbox │
├────────────────┴────────────────┴────────────────┤
│ JNI Bridge (FialkaNative) │
│ Fialka-Core — bibliothèque Rust native │
│ AES-GCM · ChaCha20 · Ed25519 · X25519 · ML-KEM │
│ ML-DSA · HKDF · Double Ratchet · Onion │
└──────────────────────────────────────────────────┘
📖 Détails — Architecture complète · Protocole crypto · Structure du projet
⚠️ Prérequis : Android 13+ (API 33) — Fialka requiert Android 13 minimum pour garantir l'accès au StrongBox (hardware security module) et aux APIs Keystore robustes qui protègent la passphrase SQLCipher. Environ 60 % du parc Android actif est compatible. Les appareils sous Android 12 ou inférieur ne pourront pas installer l'application.
# 1. Clone
git clone https://github.com/FialkaApp/Fialka-Android.git
cd Fialka-Android
# 2. Build
./gradlew assembleDebug📖 Guide complet — Installation & Configuration
Voir toutes les mesures de sécurité (32 items)
| Mesure | Statut |
|---|---|
| Identité : 1 seed Ed25519 → tout (Account ID, .onion, X25519, ML-KEM, fingerprint) | ✅ |
| Zéro serveur central — P2P intégral via Tor Hidden Services (.onion) | ✅ |
| Zéro Google, zéro Firebase — aucune dépendance corporate | ✅ |
| Chiffrement E2E (PQXDH : X25519 + ML-KEM-1024 + AES-256-GCM / ChaCha20) | ✅ |
| Double Ratchet avec PFS + healing | ✅ |
| SPQR : ré-encapsulation ML-KEM-1024 toutes les 10 messages | ✅ |
| ML-DSA-44 : signature PQ hybride sur le handshake | ✅ |
| Ed25519 : signature classique par message (badge ✅/ |
✅ |
| Fialka Mailbox : livraison offline (4 modes : P2P, perso, privé, public) | ✅ |
| UnifiedPush + ntfy.sh (notifications sans Google, self-hostable) | ✅ |
| Sealed Sender via Tor (supérieur à Signal — IP jamais visible) | ✅ |
| Zeroing mémoire (clés intermédiaires, HKDF, MnemonicManager) | ✅ |
| Mutex par conversation (thread-safe) | ✅ |
| SQLCipher (base locale chiffrée AES-256) | ✅ |
| Message padding taille fixe (256/1K/4K/16K — anti traffic analysis) | ✅ |
| Dummy traffic configurable (trafic factice par conversation) | ✅ |
| Fichiers E2E (AES-256-GCM, transfert P2P via Tor) | ✅ |
| PBKDF2 PIN (600K itérations + salt) | ✅ |
| R8/ProGuard obfuscation + log stripping complet | ✅ |
| Fingerprint emojis 96-bit anti-MITM + QR code SHA-256 scanner | ✅ |
| App Lock (PIN + biométrie) | ✅ |
| BIP-39 backup/restore (24 mots) → restaure toute l'identité | ✅ |
allowBackup=false, zéro logs sensibles |
✅ |
| StrongBox hardware key storage (si disponible) | ✅ |
| DeviceSecurityManager (probe StrongBox + profil sécurité) | ✅ |
| FLAG_SECURE (toutes activités sensibles + dialogs) | ✅ |
| Protection anti-tapjacking (filterTouchesWhenObscured) | ✅ |
| usesCleartextTraffic=false (zéro trafic HTTP) | ✅ |
| Deep link hardening (whitelist, limites, anti-injection) | ✅ |
| Clipboard EXTRA_IS_SENSITIVE + auto-clear 30s | ✅ |
| SecureFileManager (suppression 2 passes : aléatoire + zéros) | ✅ |
| Photos one-shot (vue unique, suppression sécurisée 2 phases) | ✅ |
| Messages éphémères (30s → 1 mois) | ✅ |
| Audit sécurité V3.4.1 — 42+ vulnérabilités corrigées | ✅ |
📖 Analyse complète —
SECURITY.md· Protocole crypto
| Version | Thème | Statut |
|---|---|---|
| V1 | Core — E2E, contacts, conversations, push, fingerprint, SQLCipher, App Lock, éphémère | ✅ Done |
| V2 | Crypto Upgrade — Full Double Ratchet X25519, Curve25519 natif | ✅ Done |
| V2.1 | Account Lifecycle — BIP-39 backup, restauration, suppression, dead convo | ✅ Done |
| V2.2 | UI Modernization — 5 thèmes, animations, CoordinatorLayout, zero hardcoded colors | ✅ Done |
| V3 | Security Hardening — R8, delete-after-delivery, padding, HMAC UID, PBKDF2, dummy traffic, fichiers E2E | ✅ Done |
| V3.1 | Settings Redesign — Paramètres Signal-like, PIN 6 chiffres, sous-écran Confidentialité | ✅ Done |
| V3.2 | Ed25519 Signing — Signature par message, badge ✅/ |
✅ Done |
| V3.3 | Material 3 + Tor + Attachment UX — Migration M3, intégration Tor complète, icônes inline | ✅ Done |
| V3.4 | PQXDH + Security — ML-KEM-1024 post-quantique, deep link v2, QR auto-fill, DeviceSecurityManager StrongBox | ✅ Done |
| V3.4.1 | One-Shot + Security Audit — Photos éphémères, grille BIP-39, QR fingerprint, audit sécurité (42+ fixes) | ✅ Done |
| V3.5 | SPQR + ChaCha20 — Triple Ratchet PQ (ML-KEM toutes les 10 msgs), ChaCha20-Poly1305 alternatif | ✅ Done |
| V4.0 | Kill Firebase — P2P .onion + Mailbox store-and-forward, invite QR, deep links | ✅ Done |
| V4.0.1 | Keystore direct (FialkaSecurePrefs), SQLCipher 4.14.1, transport fiabilité (retry 15s, fallback Mailbox, fetch adaptatif) | ✅ Done |
| V4.0.2 | Fialka-Core Rust JNI — pont JNI 30 fonctions, suppression BouncyCastle, crypto 100% Rust native, submodule git | ✅ Done |
| V4.1 | UX — App disguise (icône + faux écran), Dual PIN + Panic Button, messages vocaux E2E (Opus), reply/quote | 🔜 |
| V4.2 | Sealed Sender réel (VXEdDSA), multi-device Sesame, audit externe (Cure53 / Trail of Bits) | 🔜 |
| V5.0 | Long terme — FN-DSA Falcon-512 signatures PQ par message, réseau Mailbox décentralisé, Bluetooth/WiFi fallback | 🔮 |
📖 Détails — Changelog complet
- Fork le repo
- Crée ta branche (
git checkout -b feature/ma-feature) - Commit (
git commit -m 'Ajout de ma feature') - Push (
git push origin feature/ma-feature) - Ouvre une Pull Request
⚠️ Pour toute modification crypto, ouvrir une issue d'abord pour discussion.
| Document | Contenu |
|---|---|
| Architecture | Patterns, layers, flux des demandes, cycle de vie |
| Protocole Crypto | X25519, Double Ratchet, fingerprint, modèle de menace |
| Installation | Prérequis, build, dépendances |
| Structure | Arbre complet du projet |
| Changelog | Historique V1 → V4.0.1 |
| Sécurité | Audit complet, limites connues |
|
|
| Standard | Référence | Utilisation dans Fialka |
|---|---|---|
| ML-KEM-1024 | NIST FIPS 203 | Key Encapsulation Mechanism post-quantique (hybride PQXDH) |
| ML-DSA-44 | NIST FIPS 204 | Signature numérique post-quantique (handshake) |
| Ed25519 | RFC 8032 | Signature classique par message + seed d'identité |
| X25519 | RFC 7748 | Échange de clés Diffie-Hellman sur courbe elliptique |
| PQXDH | Signal Specification | Protocol d'accord de clés post-quantique hybride |
| Double Ratchet | Signal Specification | Perfect Forward Secrecy + auto-healing |
| ChaCha20-Poly1305 | RFC 8439 | Chiffrement symétrique authentifié (alternative AES) |
| AES-256-GCM | NIST SP 800-38D | Chiffrement symétrique authentifié (principal) |
| HKDF | RFC 5869 | Dérivation de clés cryptographiques |
| PBKDF2 | RFC 8018 | Dérivation de clé depuis le PIN (600 000 itérations) |
| BIP-39 | Bitcoin Core | Mnémonique 24 mots pour la sauvegarde d'identité |
Ce projet est sous licence GPLv3. Consultez les Conditions d'utilisation et la Politique de confidentialité avant toute utilisation.
⚠️ Avertissement : Fialka est un outil. Les développeurs n'opèrent aucune infrastructure, ne stockent aucune donnée utilisateur, et ne peuvent accéder à aucun message. L'implémentation cryptographique n'a pas été auditée par un cabinet de sécurité tiers. Aucune garantie de sécurité absolue n'est fournie. L'utilisation de ce logiciel est à vos propres risques et sous votre entière responsabilité. Voir TERMS.md.
Cette distribution inclut des logiciels cryptographiques. Le pays dans lequel vous résidez peut imposer des restrictions à l’importation, la possession, l’utilisation et/ou la réexportation vers un autre pays de logiciels de chiffrement. AVANT d’utiliser tout logiciel de chiffrement, veuillez vérifier les lois, règlements et politiques de votre pays concernant l’importation, la possession ou l’utilisation de tels logiciels, et leur réexportation, afin de déterminer si cela est autorisé. Voir https://www.wassenaar.org/ pour plus d’informations.
Le Département du Commerce des États-Unis, Bureau of Industry and Security (BIS), a classé ce logiciel sous le numéro de contrôle des exportations (ECCN) 5D002.C.1, qui englobe les logiciels de sécurité de l’information utilisant ou mettant en œuvre des fonctions cryptographiques avec des algorithmes asymétriques. La forme et les modalités de distribution de cette licence rendent ce logiciel éligible à l’exportation au titre de l’exception de licence ENC « Technology Software Unrestricted (TSU) » (voir les règlements d’administration des exportations du BIS, section 740.13) pour le code objet et le code source.
Union européenne — Règlement (UE) 2021/821 (biens à double usage) : Ce logiciel relève de la catégorie 5, Partie 2 (« Sécurité de l'information ») de l'Annexe I du Règlement (UE) 2021/821. En tant que logiciel à source ouverte librement accessible au public (licence GPLv3, disponible sur GitHub), il bénéficie de l'exemption prévue par la Note Logiciel Générale (NLG) ainsi que par la Note sur la Cryptographie (Note 3), qui excluent du champ des contrôles à l'exportation les logiciels « accessibles au public ». Aucune autorisation d'exportation spécifique n'est requise au sein de l'Union européenne pour ce logiciel.
France — LCEN 2004 (Art. 30, Loi n° 2004-575 du 21 juin 2004) : En France, l'utilisation des moyens de cryptologie est libre depuis la loi pour la Confiance dans l'Économie Numérique (LCEN) du 21 juin 2004, désormais codifiée dans le Code des postes et des communications électroniques. Aucune déclaration préalable ni autorisation n'est requise pour utiliser ce logiciel sur le territoire français.
© 2024-2026 FialkaApp Contributors. Licensed under GPLv3.
"Vos messages, vos clés, votre vie privée."