Zeile 191: |
Zeile 191: |
| * [http://www.miewa.de miewa.de] | | * [http://www.miewa.de miewa.de] |
| * [http://blog.programmableweb.com/2011/06/21/lots-of-opportunities-to-dive-into-travel-apis/ Das ProgrammableWeb] bietet viele Infos rund um Web-APIs. | | * [http://blog.programmableweb.com/2011/06/21/lots-of-opportunities-to-dive-into-travel-apis/ Das ProgrammableWeb] bietet viele Infos rund um Web-APIs. |
| + | |
| + | == Sicherer Chat == |
| + | |
| + | === Ziel === |
| + | |
| + | Es soll ein sicherer Messenger geschaffen werden mit Hilfe von [[Open Source]], Identifizierung an Hand von privaten / öffentlichen Schlüsseln (siehe auch [[Kryptographie]]) und dezentralen Chat-Servern, die ihrerseits die Namen der Teilnehmer nicht kennen, sondern lediglich die öffentlichen Schlüssel. |
| + | |
| + | === Anforderungen === |
| + | |
| + | Die Anforderungen orientieren sich ungefähr an einem einfachen Whatsapp-Dienst. |
| + | |
| + | Whatsapp bietet |
| + | * sofortige Kommunikation |
| + | * leichtes Finden von Teilnehmern (über Telefonnummer aus Adressbuch) |
| + | * niedrige Hürde der Kommunikation (keine Anrede, kein Betreff) |
| + | * einfaches Nutzen von Gruppen |
| + | ** einfaches Hinzufügen |
| + | ** einfaches Austreten |
| + | * so gut wie kein Spam (wahrscheinlich durch Identifikation der Absender mittels Telefonnummer und zentraler Kontrolle durch Whatsapp/Facebook) |
| + | * Spaß durch Emoticons und sonstige Icons |
| + | * Versenden von Bildern (zur Bandbreitenersparnis auch in niedrigerer Auflösung) |
| + | * sichere Kommunikation (angeblich Ende-zu-Ende-Verschlüsselung) |
| + | |
| + | |
| + | |
| + | === Umsetzung === |
| + | |
| + | ==== Use Cases === |
| + | * Ablauf des Versendens einer Nachricht |
| + | ** Nachricht wird auf Client A erstellt |
| + | ** Nachricht wird auf Client A mit privatem Schlüssel des A verschlüsselt |
| + | ** Nachricht wird auf Client A mit öffentlichem Schlüssel des B verschlüsselt |
| + | ** Nachricht wird an Server (oder Servercluster) mit Ziel (öffentlicher Schlüssel des) B übermittelt |
| + | |
| + | * Ablauf des Empfangens einer Nachricht |
| + | ** Mittels [[HTTP-Long-Poll]] oder [[Server-Push]] wird die an (den öffentlichen Schlüssel des) B adressierte Nachricht vom Server (oder Servercluster) heruntergeladen. |
| + | ** Nachricht wird auf Client B mit privatem Schlüssel des B entschlüsselt. |
| + | ** Nachricht wird auf Client B mit öffentlichem Schlüssel des A entschlüsselt |
| + | ** Nachricht wird auf Client B gelesen. |
| + | |
| + | * Senden an eine Gruppe |
| + | ** wohl Senden mehrerer Nachrichten durch Client???? |
| + | ** oder Gruppenserver mit privatem/öffentlichem Schlüsselpaar??? |
| + | |
| + | * Hinzufügen eines Gruppenteilnehmers |
| + | |
| + | * Austreten aus einer Gruppe |
| + | |
| + | * Ausschließen aus einer Gruppe |
| + | ** durch Gruppeneigentümer - gibt es so etwas?? |
| + | |
| + | * Ausschließen des Empfangs von bestimmten Gruppenteilnehmern |
| + | |
| + | * Ausschließen von Spam |
| + | ** Nur durch Geheimhaltung öffentlicher Schlüssel zur Identifikation der Teilnehmer ???? |
| + | |
| + | |
| + | |
| + | === Weiteres aus dem Umfeld === |
| + | |
| + | * Möglicherweise ist [[XMPP]] ein Standard, auf den ein solcher sicherer Client aufgebaut werden kann. |
| + | * Für [[Android]] hat G Data [https://www.securechat.com/ mit Secure Chat] bereits einen [[Open Source]]-Client und -Server entwickelt (aber wohl noch nicht dezentrale Serverstruktur). |
| + | |
| | | |
| -------- | | -------- |