Removed language versions, all-in english
All checks were successful
/ mirror (push) Successful in 4s
All checks were successful
/ mirror (push) Successful in 4s
This commit is contained in:
parent
8fe630dc59
commit
bc6e6b990d
@ -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) ?
|
|
@ -1,16 +1,50 @@
|
|||||||
# Beta Test Plan
|
# 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
|
- Handshakes
|
||||||
- ECDH
|
- Real-time data-stream encryption (and decryption)
|
||||||
- Compression
|
- Encrypted stream compression
|
||||||
- Audio error correction
|
- Transmission over audio stream
|
||||||
- In-call pubkey share
|
- Minimal error correction in audio-based transmission
|
||||||
- Trust shifts
|
- 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
|
- Call
|
||||||
- Encrypted if public key available
|
- Encrypted if public key available
|
||||||
- Allows users to share their public keys
|
- Allows users to share their public keys
|
Loading…
Reference in New Issue
Block a user