From bc6e6b990d5bb436edb4b2a54276eb3c046263f2 Mon Sep 17 00:00:00 2001 From: stcb <21@stcb.cc> Date: Thu, 27 Feb 2025 15:52:27 +0200 Subject: [PATCH] Removed language versions, all-in english --- docs/BetaTestPlan_FR.md | 92 ------------------- .../{BetaTestPlan_EN.md => beta_test_plan.md} | 50 ++++++++-- 2 files changed, 42 insertions(+), 100 deletions(-) delete mode 100644 docs/BetaTestPlan_FR.md rename docs/{BetaTestPlan_EN.md => beta_test_plan.md} (67%) diff --git a/docs/BetaTestPlan_FR.md b/docs/BetaTestPlan_FR.md deleted file mode 100644 index b7d3ea5..0000000 --- a/docs/BetaTestPlan_FR.md +++ /dev/null @@ -1,92 +0,0 @@ -# Beta Test Plan - -## Fonctionnalités Principales - -### Protocole Icing -- Poignées de main -- ECDH -- Compression -- Correction d’erreurs audio -- Partage de clé publique pendant l’appel -- Changements de confiance - -### Icing Dialer (basé sur la bibliothèque Kotlin Icing, une implémentation du protocole Icing) -- Appel - - Chiffré si la clé publique est disponible - - Permet aux utilisateurs de partager leurs clés publiques - - Appel normal si les conditions ne sont pas réunies - - Transmission DTMF chiffrée et en clair - - Choix de la carte SIM lors de l’appel - - Historique des appels - -- Contacts - - Création / modification de contacts - - Partage de contacts via QR code / VCF - - Recherche de contacts - - Contacts favoris - - Stockage des clés publiques des utilisateurs - - Numéros bloqués - - Aperçu du contact (photo, numéro, clé publique, etc.) - -- Messagerie vocale visuelle - - Lecture / Pause - - Notification - - Accès rapide pour appeler, envoyer un SMS, bloquer ou partager le numéro - -- Paramètres SIM - - Choix de la SIM par défaut - -- Clés asymétriques - - Stockage sécurisé - - Génération au démarrage en cas d’absence - - Gestion complète des clés - - Génération sécurisée - - Exportation lors de la création (génération non sécurisée) - - Importation - - Changement de confiance - -## Scénarios de Test Bêta -- Appel normal depuis Icing Dialer vers un autre dialer (Google, Apple…) -- Appel normal depuis Icing Dialer vers un autre Icing Dialer -- Appel normal depuis Icing Dialer vers un contact connu pour sa clé publique Icing mais sans Icing Dialer -- Appel chiffré depuis Icing Dialer vers un contact connu utilisant Icing Dialer -- Appel chiffré depuis Icing Dialer vers un contact inconnu utilisant Icing Dialer -- Création / modification / enregistrement d’un contact avec (ou sans) clé publique -- Partage de contact sous forme de QR code / Vcard -- Importation de contact depuis un QR code / Vcard -- Écoute de la messagerie vocale -- Enregistrement d’un appel chiffré et vérification du chiffrement -- Changement de la SIM par défaut - -## Parcours Utilisateurs - -Mathilda, 34 ans, se connecte à son compte PayPal depuis un nouvel appareil. -Pour s’authentifier, PayPal lui envoie un code sur sa messagerie vocale. -Consciente des risques liés à cette technologie, Mathilda a mis en place une authentification Icing robuste avec son fournisseur de réseau en enregistrant une paire de ses clés publiques Icing. -Lorsqu’elle appelle sa messagerie vocale, le protocole Icing se déclenche et vérifie son authentification par clé ; -l’appel échouera si l’interlocuteur ne possède pas les clés Icing requises. -Mathilda est ainsi la seule à obtenir l’accès, et elle peut récupérer son code PayPal en toute sécurité. - -Jeff, 70 ans, appelle sa banque après avoir rencontré un problème sur son application bancaire. -Le conseiller bancaire à distance lui demande de s’authentifier en saisissant son mot de passe sur le téléphone. -En utilisant le protocole Icing, non seulement Jeff et la banque ont la garantie que les informations sont transmises en toute sécurité, -mais aussi que l’appel provient bien du téléphone de Jeff et non d’un imposteur. - -Elise, une reporter intrépide de 42 ans, -après avoir interviewé le leader de l’opposition ukrainienne, se retrouve recherchée dans tout le pays par la SBU (ex-KGB). -Elle se cache dans les montagnes de l’Ouest, près de la Roumanie, et reçoit à peine le réseau cellulaire. -Soupçonnant que sa ligne téléphonique est surveillée, le mieux qu’elle puisse faire pour appeler en toute sécurité pour demander une extraction est d’utiliser son Icing Dialer. - -Paul, un développeur de 22 ans travaillant pour une grande entreprise, décide de partir en vacances en Chine. -Mais tout tourne mal ! Le produit de l’entreprise sur lequel il travaille tombe en panne en plein milieu de la journée et personne n’est -qualifié pour le réparer. Paul n’a pas de WiFi et son forfait téléphonique ne couvre que les appels vocaux en Chine. -Avec Icing Dialer, il peut appeler ses collègues et contribuer à résoudre le problème, en toute sécurité face aux éventuels espions chinois. - -## Critères d’Évaluation -- Une clé privée peut-elle être générée ? -- Un appel normal peut-il être passé ? -- Un appel chiffré peut-il être passé ? -- Un contact peut-il être créé / modifié / importé / exporté ? -- Une messagerie vocale peut-elle être écoutée ? -- Le chiffrement est-il suffisamment rapide et léger pour être utilisable (appel audible) ? -- Le chiffrement est-il suffisamment robuste pour ne pas être déchiffré par un supercalculateur moderne (à partir de 2025) ? diff --git a/docs/BetaTestPlan_EN.md b/docs/beta_test_plan.md similarity index 67% rename from docs/BetaTestPlan_EN.md rename to docs/beta_test_plan.md index 4a1e76f..2a39134 100644 --- a/docs/BetaTestPlan_EN.md +++ b/docs/beta_test_plan.md @@ -1,16 +1,50 @@ # Beta Test Plan -## Core Features +## Core Functionalities -### Icing protocol +--- +### Action Plan review: + +In our previous Action Plan, we listed the following functionnal specifications: +- Phone call encryption between two known pairs, that exchanged keys in person. *Mandatory* +- Phone dialer that is discret and functional, and should not disturb a normal use (clear phone call). *Mandatory* +- Phone call encryption between two unknown pairs, with key exchange on the go. Optional. +- SMS encryption between two known pairs (in person key exchange). Optional. + +We now retain only the two first functional specifications. + +### Core Functionalities + +Based on this review, here are all the core functionnalities we set: + +#### Icing protocol +- Advanced protocol documentation, paving the way for a full RFC. + +The protocol definition will include as completed: +- Peer ping +- Ephemeral key gestion +- Perfect Forward Secrecy - Handshakes -- ECDH -- Compression -- Audio error correction -- In-call pubkey share -- Trust shifts +- Real-time data-stream encryption (and decryption) +- Encrypted stream compression +- Transmission over audio stream +- Minimal error correction in audio-based transmission +- Error handling and user prevention + +And should include prototype or scratches functionalities, among which: +- Embedded silent data transmission (silently transmit light data during an encrypted phone call) +- On-the-fly key exchange (does not require prior key exchange, sacrifying some security) +- Strong error correction + +#### Kotlin Lib ? + +#### The Icing dialer (based on Icing kotlin library, an Icing protocol implementation) + +The Icing dialer should be a fully transparent and almost undistinguishable smartphone dialer. +Any Icing-unaware user should be able to use the dialer smoothly to make calls to anyone. + +The dialer should propose a full set of functionnalities to handle its Icing protocol implementation. -### Icing dialer (based on Icing kotlin library, an Icing protocol implementation) - Call - Encrypted if public key available - Allows users to share their public keys