From e68136ea99f439b79ee55b5448a56a435fd1cdeb Mon Sep 17 00:00:00 2001 From: ange Date: Mon, 17 Feb 2025 08:54:27 +0000 Subject: [PATCH 1/9] feat: Beta Test Plan --- docs/BetaTestPlan.md | 12 ++++++++++++ 1 file changed, 12 insertions(+) create mode 100644 docs/BetaTestPlan.md diff --git a/docs/BetaTestPlan.md b/docs/BetaTestPlan.md new file mode 100644 index 0000000..0db6acc --- /dev/null +++ b/docs/BetaTestPlan.md @@ -0,0 +1,12 @@ +# Beta Test Plan + +## Selection of Core Functionalities + +## Definition of Beta Testing Scenarios + +## Coverage of Key User Journeys + +## Clear Evaluation Criteria + +## Deliverables & Format + -- 2.45.2 From b9cd2a49e355f71ac2bae8abe1e1b13ba249e58a Mon Sep 17 00:00:00 2001 From: ange Date: Wed, 19 Feb 2025 07:38:58 +0000 Subject: [PATCH 2/9] feat: Core Functionalities --- docs/BetaTestPlan.md | 36 +++++++++++++++++++++++++++++++----- 1 file changed, 31 insertions(+), 5 deletions(-) diff --git a/docs/BetaTestPlan.md b/docs/BetaTestPlan.md index 0db6acc..4245305 100644 --- a/docs/BetaTestPlan.md +++ b/docs/BetaTestPlan.md @@ -1,12 +1,38 @@ # Beta Test Plan -## Selection of Core Functionalities +## Core Functionalities -## Definition of Beta Testing Scenarios +### Icing lib +- Key generation +- (De)crypt audio -## Coverage of Key User Journeys +### Icing dialer (based on Icing lib) +- Call + - Encrypted if public key available + - Call history -## Clear Evaluation Criteria +- Contacts + - Contact creation / editing + - Contact sharing via QR code / VCF + - Contact search + - Favorite contacts + - Storage of user private / public keys in contact sheet + - Blocked number + - Contact preview (picture, number, public key...) -## Deliverables & Format +- Visual voicemail + - Play / Pause + - Notification + - Quick link to call, text, block, share number... + +- SIM settings + - Default SIM + +- SMS? + +## Beta Testing Scenarios + +## User Journeys + +## Evaluation Criteria -- 2.45.2 From 3e48c0846eaaefe3f35bc940db92a9eced0baa08 Mon Sep 17 00:00:00 2001 From: ange Date: Wed, 19 Feb 2025 09:14:48 +0000 Subject: [PATCH 3/9] feat: User Journeys --- docs/BetaTestPlan.md | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/docs/BetaTestPlan.md b/docs/BetaTestPlan.md index 4245305..1262668 100644 --- a/docs/BetaTestPlan.md +++ b/docs/BetaTestPlan.md @@ -16,7 +16,7 @@ - Contact sharing via QR code / VCF - Contact search - Favorite contacts - - Storage of user private / public keys in contact sheet + - Storage of user public keys - Blocked number - Contact preview (picture, number, public key...) @@ -33,6 +33,18 @@ ## Beta Testing Scenarios ## User Journeys +Karen, a 45 years-old mom just divorced from her husband. She wants to call her +layer about who is going to have custody of the children. The husband always +records and listens to the private conversations of her wife. To make sure he +cannot get any information, she uses Icing dialer to call her lawyer and +encrypt the full conversation. + +Paul, a 22 years-old developer is currently working, for the U.S. Government, +on a top secret project. He decides to go to China, for vacations, but +everything goes wrong! His application is failing in the middle of the day and +no one is qualified to fix it. Paul doesn't have WiFi but he has an +international plan for his phone. With Icing dialer, he can call his company +and help fix the problem safe from the Chinese spies. ## Evaluation Criteria -- 2.45.2 From 7b6c90e371bbc616a2b4a28bb00cc02a47cba326 Mon Sep 17 00:00:00 2001 From: ange Date: Wed, 19 Feb 2025 09:19:28 +0000 Subject: [PATCH 4/9] feat: Beta Testing Scenarii --- docs/BetaTestPlan.md | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/docs/BetaTestPlan.md b/docs/BetaTestPlan.md index 1262668..8a846bb 100644 --- a/docs/BetaTestPlan.md +++ b/docs/BetaTestPlan.md @@ -30,7 +30,19 @@ - SMS? -## Beta Testing Scenarios +## Beta Testing Scenarii + +- Call from Icing dialer to another dialer (Google, Apple...) +- Normal call from Icing dialer to another Icing dialer +- Encrypted call from Icing dialer to another Icing dialer +- Normal call from Icing dialer to a contact that has an Icing public key but + not Icing dialer +- Create / Edit / Save contact with(out) public key +- Export contact as QR code / VCF +- Import contact +- Listen to voicemail +- Record encrypted call and check the encryption +- Change default SIM ## User Journeys Karen, a 45 years-old mom just divorced from her husband. She wants to call her -- 2.45.2 From 1bd35f4a1beb414af916a5f22243290b49b71dde Mon Sep 17 00:00:00 2001 From: ange Date: Wed, 19 Feb 2025 09:23:04 +0000 Subject: [PATCH 5/9] feat: Evaluation Criteria --- docs/BetaTestPlan.md | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/docs/BetaTestPlan.md b/docs/BetaTestPlan.md index 8a846bb..5f979a1 100644 --- a/docs/BetaTestPlan.md +++ b/docs/BetaTestPlan.md @@ -1,7 +1,6 @@ # Beta Test Plan ## Core Functionalities - ### Icing lib - Key generation - (De)crypt audio @@ -31,7 +30,6 @@ - SMS? ## Beta Testing Scenarii - - Call from Icing dialer to another dialer (Google, Apple...) - Normal call from Icing dialer to another Icing dialer - Encrypted call from Icing dialer to another Icing dialer @@ -59,4 +57,11 @@ international plan for his phone. With Icing dialer, he can call his company and help fix the problem safe from the Chinese spies. ## Evaluation Criteria - +- Can a private key be generated +- Can a normal call be made? +- Can an encrypted call be made? +- Can a contact be created / edited / imported / exported? +- Can a voicemail be listened to? +- Is the encryption fast enough, light enough to be usable (audible call) +- Is the encryption strong enough not to be deciphered by a modern (as of 2025) + supercomputer? -- 2.45.2 From d978bc25de7cdbe5ed0bb696939b1d93fbba3f5e Mon Sep 17 00:00:00 2001 From: ange Date: Wed, 19 Feb 2025 09:26:03 +0000 Subject: [PATCH 6/9] fix: typos --- docs/BetaTestPlan.md | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/docs/BetaTestPlan.md b/docs/BetaTestPlan.md index 5f979a1..01ac85a 100644 --- a/docs/BetaTestPlan.md +++ b/docs/BetaTestPlan.md @@ -49,12 +49,12 @@ records and listens to the private conversations of her wife. To make sure he cannot get any information, she uses Icing dialer to call her lawyer and encrypt the full conversation. -Paul, a 22 years-old developer is currently working, for the U.S. Government, -on a top secret project. He decides to go to China, for vacations, but -everything goes wrong! His application is failing in the middle of the day and -no one is qualified to fix it. Paul doesn't have WiFi but he has an -international plan for his phone. With Icing dialer, he can call his company -and help fix the problem safe from the Chinese spies. +Paul, a 22 years-old developer is currently working for the U.S. Government, on +a top secret project. He decides to go to China, for vacations but everything +goes wrong! His application is failing in the middle of the day and no one is +qualified to fix it. Paul doesn't have WiFi but he has an international plan +for his phone. With Icing dialer, he can call his company and help fix the +problem safe from potential Chinese spies. ## Evaluation Criteria - Can a private key be generated -- 2.45.2 From 452f540dc120cd74871093187254010e71ef27f3 Mon Sep 17 00:00:00 2001 From: ange Date: Wed, 19 Feb 2025 09:51:35 +0000 Subject: [PATCH 7/9] feat: Icing protocol Features --- docs/BetaTestPlan.md | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/docs/BetaTestPlan.md b/docs/BetaTestPlan.md index 01ac85a..16a1e1b 100644 --- a/docs/BetaTestPlan.md +++ b/docs/BetaTestPlan.md @@ -1,11 +1,16 @@ # Beta Test Plan -## Core Functionalities -### Icing lib -- Key generation -- (De)crypt audio +## Core Features -### Icing dialer (based on Icing lib) +### Icing protocol +- Key generation +- Handshake +- ECDH +- Compression +- Audio error correction +- Vocal filter + +### Icing dialer (based on Icing lib, based itself on Icing protocol) - Call - Encrypted if public key available - Call history -- 2.45.2 From 4773a2550e6f55d427f807a51b17a7b4fddd219a Mon Sep 17 00:00:00 2001 From: stcb <21@stcb.cc> Date: Wed, 19 Feb 2025 10:25:38 +0000 Subject: [PATCH 8/9] Add --- docs/BetaTestPlan.md | 24 ++++++++++++++++++------ 1 file changed, 18 insertions(+), 6 deletions(-) diff --git a/docs/BetaTestPlan.md b/docs/BetaTestPlan.md index 16a1e1b..d8c00fc 100644 --- a/docs/BetaTestPlan.md +++ b/docs/BetaTestPlan.md @@ -3,16 +3,20 @@ ## Core Features ### Icing protocol -- Key generation -- Handshake +- Handshakes - ECDH - Compression - Audio error correction -- Vocal filter +- In-call pubkey share +- Trust shifts -### Icing dialer (based on Icing lib, based itself on Icing protocol) +### Icing dialer (based on Icing kotlin library, an Icing protocol implementation) - Call - Encrypted if public key available + - Allows users to share their public keys + - Normal call if conditions unment + - Encrypted and clear DTMF transmission + - SIM choice on call - Call history - Contacts @@ -30,9 +34,17 @@ - Quick link to call, text, block, share number... - SIM settings - - Default SIM + - Default SIM choice + +- Asymetric Keys + - Secure storage + - Generation at startup if missing + - Full key management + - Secure generation + - Exportation on creation (insecure generation) + - Importation + - Trust shift -- SMS? ## Beta Testing Scenarii - Call from Icing dialer to another dialer (Google, Apple...) -- 2.45.2 From 6eb59622a321d216254e40322eec8ce60f24c38c Mon Sep 17 00:00:00 2001 From: stcb <21@stcb.cc> Date: Wed, 19 Feb 2025 12:22:38 +0000 Subject: [PATCH 9/9] fix --- docs/BetaTestPlan.md | 49 +++++++++++++++++++++++++++----------------- 1 file changed, 30 insertions(+), 19 deletions(-) diff --git a/docs/BetaTestPlan.md b/docs/BetaTestPlan.md index d8c00fc..4a1e76f 100644 --- a/docs/BetaTestPlan.md +++ b/docs/BetaTestPlan.md @@ -46,32 +46,43 @@ - Trust shift -## Beta Testing Scenarii -- Call from Icing dialer to another dialer (Google, Apple...) -- Normal call from Icing dialer to another Icing dialer -- Encrypted call from Icing dialer to another Icing dialer -- Normal call from Icing dialer to a contact that has an Icing public key but - not Icing dialer +## Beta Testing Scenarios +- Clear call from Icing dialer to another dialer (Google, Apple...) +- Clear call from Icing dialer to another Icing dialer +- Clear call from Icing dialer to an icing pubkey-known contact but without Icing dialer +- Encrypted call from Icing dialer to a known contact with Icing dialer +- Encrypted call from Icing dialer to an unknown contact with Icing dialer - Create / Edit / Save contact with(out) public key -- Export contact as QR code / VCF -- Import contact +- Share contact as QR code / Vcard +- Import contact from QR code / Vcard - Listen to voicemail - Record encrypted call and check the encryption - Change default SIM ## User Journeys -Karen, a 45 years-old mom just divorced from her husband. She wants to call her -layer about who is going to have custody of the children. The husband always -records and listens to the private conversations of her wife. To make sure he -cannot get any information, she uses Icing dialer to call her lawyer and -encrypt the full conversation. -Paul, a 22 years-old developer is currently working for the U.S. Government, on -a top secret project. He decides to go to China, for vacations but everything -goes wrong! His application is failing in the middle of the day and no one is -qualified to fix it. Paul doesn't have WiFi but he has an international plan -for his phone. With Icing dialer, he can call his company and help fix the -problem safe from potential Chinese spies. +Mathilda, 34 years-old, connects to her PayPal account from a new device. +To authenticate herself, PayPal sends her a code on her voicemail. +Mathilda being aware of the risks of this technology, she has set up strong Icing authentication with her network provider by registering a pair of her Icing public keys. +When she calls her voicemail, Icing protocol is triggered and checks for her key authentication ; +it will fail if the caller does not pocesses the required Icing keys. +Mathilda is thus the only one granted access, and she can retreive her PayPal code securely. + +Jeff, 70 years-old, calls his bank after he had a problem on his bank app. +The remote bank advisor asks him to authenticate, making him type his password on the phone dialer. +By using the Icing protocol, not only would Jeff and the bank be assured that the informations are transmitted safely, +but also that the call is coming from Jeff's phone and not an impersonator. + +Elise is a 42 years-old extreme reporter. +After interviewing Ukrainian opposition's leader, the SBU (ex KGB) are looking for her accross the whole country. +She hides in western moutains near Romania, and she barely receive cellular network. +She suspects her phone line to be monitored, so the best she can do to call for extraction safely, is to use her Icing dialer. + +Paul, a 22 years-old developer working for a big company, decides to go to China for vacations. +But everything goes wrong! The company's product he works on, is failling in the middle of the day and no one is +qualified to fix it. Paul doesn't have WiFi and his phone plan only covers voice calls in China. +With Icing dialer, he can call his collegues and help fix the +problem, safe from potential Chinese spies. ## Evaluation Criteria - Can a private key be generated -- 2.45.2