[EPIC]: End-to-end encrypted group messages
Maintainer antworten meist innerhalb von 1 Tag
Dieses Issue hat noch niemand übernommen.
Bewertung
- Schwierigkeit
- 5/5
- Geschätzter Aufwand
- Über eine Woche
- Anfängerfreundlichkeit
- 25/100
- Issue-Typ
- Feature
- Klarheit
- Größtenteils klar
- Aktivitätsstatus
- Aktiv
- Bereich
- mobile-dev, security
Rechercherichtung
Read the design sub-issue first and comment there before writing code. The starting point named here is mobile/lib/services/sqlite_signal_store.dart, which implements SenderKeyStore and defines the signal_sender_keys table; review it alongside the existing 1:1 Signal session flow. Done means the server relays encrypted group payloads and sender-key distribution, while the app encrypts and decrypts with GroupCipher and rotates keys when membership changes.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Beschreibung
Goal
Group messages are currently sent as plaintext envelopes (protected in transit by TLS, but readable by the server). Encrypt them end to end with Signal sender keys, so the server only relays ciphertext.
Starting point
- The app's Signal store already implements
SenderKeyStore(mobile/lib/services/sqlite_signal_store.dart), with asignal_sender_keystable. - 1:1 Signal sessions already exist, and are the usual way to deliver sender keys to each member.
Steps (sub-issues)
- Design note: the distribution and rotation rules.
- Server: route sender-key distribution messages and encrypted group payloads.
- App: encrypt and decrypt with
GroupCipher, distribute keys, rotate on membership changes.
Please read the design sub-issue first and comment there before writing code.
- Vorherrschende Sprache
- Dart
- Sterne
- 9
- Forks
- 5
- Ø Merge
- 49 Min.
- Gemergte PRs (30 T.)
- 34
Entwicklungsumgebung
- Enthält ein Dockerfile oder eine Docker-Compose-Datei
- Keine Pull-Request-Vorlage
- Kein Beitragsleitfaden
Erste Schritte
- Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
- Forken Sie das Repository und arbeiten Sie in einem Branch.
- Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.
Mehr aus CommandLineCoding/Elephant
-
area: mobile chore good first issue
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 76/100
CommandLineCoding/Elephant#247 ·
Maintainer antworten meist innerhalb von 1 Tag
-
area: mobile bug good first issue
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 88/100
CommandLineCoding/Elephant#245 ·
Maintainer antworten meist innerhalb von 1 Tag
-
area: mobile enhancement good first issue
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 88/100
CommandLineCoding/Elephant#183 ·
Maintainer antworten meist innerhalb von 1 Tag
-
area: mobile difficulty: medium enhancement
Schwierigkeit 4/5 3-5 Tage Anfängerfreundlichkeit 56/100
CommandLineCoding/Elephant#249 ·
Maintainer antworten meist innerhalb von 1 Tag
-
area: mobile chore difficulty: medium testing
Schwierigkeit 4/5 3-5 Tage Anfängerfreundlichkeit 66/100
CommandLineCoding/Elephant#248 ·
Maintainer antworten meist innerhalb von 1 Tag
Alle Issues in CommandLineCoding/Elephant
Ähnliche Issues
-
Schwierigkeit 1/5 Unter einer Stunde Anfängerfreundlichkeit 76/100
livekit/client-sdk-flutter#1281 ·
Maintainer antworten meist innerhalb von 4 Tagen
-
android bug priority: P1 qa
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 72/100
GHRik/bielik_oneclick_launcher#55 ·
Maintainer antworten meist innerhalb von 1 Tag
-
SchedulerBinding.requestPerformanceMode(mode) does not forward the requested mode to the engine.Offen
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 72/100
Maintainer antworten meist innerhalb von 1 Tag
-
carp demo apps enhancement
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 78/100
carp-dk/carp.sensing-flutter#670 ·
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 78/100