• Xm chevron_right

      Funktionale Anforderung - Adressbuch

      Stefan · pubsub.movim.eu / xmpp-eagle · Wednesday, 17 June, 2020 - 16:55 edit · 2 minutes

    Die Anwendung eagle sollte ein Adressbuch haben, in dem der Benutzer Kontaktdaten einsehen, speichern und verwalten kann.

    Im Prototyp vom eagle haben wir erst einmal folgenden Quellen für Kontaktdaten implementiert:

    • abook Adressbuch Datei
    • Der OpenPGP Schlüsselbund von GnuPG
    • Das XMPP Adressbuch (XMPP roster)
    • Ein Verzeichnis zur Ablage von VCards

    Quellen

    Adressbuch Datei

    Die Anwendung sollte möglichst flexibel gestaltet werden. Wenn der Benutzer es bevorzugt seine Daten primäre via der Konsolen Anwendung abook zu verwalten, liest eagle die Daten, um diese auch in der Anwendung zu verwenden. Der Benutzer ist so nicht gezwungen eine Import / Export Funktion zu nutzen und so die Daten synchronisieren muss.

    OpenPGP Schlüsselbund

    Der OpenPGP Schlüsselbund enthält auch Kontaktdaten wie Name, E-Mail-Adressen oder XMPP-Adressen. Auch das Speichern von Bildern in öffentlichen OpenPGP Schlüssel ist möglich.

    XMPP Adressbuch

    Es sollten mehrere XMPP Adressen unterstützt werden, da es vorkommen kann, dass jemand z.b. einen privaten und beruflichen XMPP Account hat. Die XMPP roster Informationen sollen ebenfalls angezeigt werden.

    VCards

    Es kann vorkommen, dass jemand eine VCard zugeschickt bekommt oder von einer anderen Anwendung ein VCard export erstellt. eagle soll ein Verzeichnis mit VCard auslesen können und die Kontaktdaten zu den VCards anzeigen.

    Geburtstag

    Konsultiere Datenstellung der Geburtstage aus allen Quellen.

    Details

    Adressbuch Datei

    Das Dateiformat für abook sieht wie folgt aus:

    [format]
    program=abook
    version=0.6.1
    
    
    [0]
    name=Vorname1 Nachname1
    email=vorname1.nachname1@domain.tld,vorname1.nachname1@work.tld
    firstname=Vorname1
    lastname=Nachname1
    middlename=ZweiterName
    pager=Pager - Gibt es noch?
    address_lines=Strasse1,Oben Links die Wohnung
    birthday=1990-12-31
    block=www.domain.tld/blog
    jabber=xmpp@domain.tld
    companyname=Company
    work_address_lines=Straße 1,PLZ
    fingerprint=1234567890ABCDEF1234567890ABCDEF12345678
    city=City1
    state=State1
    zip=12345
    country=Germany
    phone=+491234567890
    workphone=+49987654321
    mobile=1234567
    fax=Faxnummer
    url=http://domain.tld
    nick=Nickname
    anniversary=1995-01-01
    notes=Notes1
    groups=Group1,Group2
    
    [1]
    name=Vorname2 Nachname2
    email=vorname1.nachname2@domain.tld
    firstname=Vorname2
    lastname=Nachname2
    address_lines=Strasse2
    jabber=xmpp@domain.tld
    fingerprint=1234567890ABCDEF1234567890ABCDEF12345678
    city=City2
    state=State2
    zip=12345
    country=Germany
    phone=+491234567890
    workphone=+49987654321
    mobile=1234567
    url=http://domain.tld
    notes=Notes2
    

    OpenPGP Schlüsselbund

    Im OpenPGP Schlüsselbund sollen nicht nur die Schlüssel angezeigt werden, sondern auch die Details zu den Unterschlüssel und Identitäten. Die wichtigsten Informationen soll in der Tabelle angezeigt werden.

    • Primäre Identität - Name und E-Mail-Adresse
    • Erster Eintrag mit XMPP-URI
    • Ablaufdatum des Schlüssels
    • Gültigkeit des Schlüssels

    Die primäre Identität wird angezeigt, da es sich mit hoher Wahrscheinlichkeit um die bevorzuge E-Mail-Adresse des Kontakts handelt. Da es sich bei eagle um einen XMPP Client handelt, sollte die Anwendung die Identitäten des Schlüssels scannen und den ersten Eintrag mit einer xmpp-URI ermitteln uns anzeigen.

    XMPP Adressbuch

    Die Anwendung soll mehrere XMPP Accounts unterstützen. Die XMPP Kontakte sollen angezeigt werden.

    • Name
    • XMPP Adresse
    • Subscription Status
    • Online Status
    • XMPP Account des eagle Nutzer (Multi Account Support)

    • wifi_tethering open_in_new

      This post is public

      nl.movim.eu

    • Pictures 1 image

    • visibility
    • Xm chevron_right

      OpenPGP und das Web of Trust

      Stefan · pubsub.movim.eu / xmpp-eagle · Tuesday, 16 June, 2020 - 05:00 edit · 2 minutes

    Wie funktioniert das Web of Trust? Bei diesem Punkt gibt es einiges zu beachten.

    Wie im letzten Kommentar angesprochen sollte man wegen der Anmerkung

    soziale Graphen eine begehrte Handelsware geworden

    einige Dinge wissen.

    Warum braucht man das Web of Trust?

    Bei der asymmetrisch Verschlüsselungsmethode hat man einen privaten und einen öffentlichen Bestandteil des Schlüssels. Man spricht hier von einem Schlüsselpaar. Der öffentliche Schlüssel wird untereinander ausgetauscht und der private Schlüssel bleibt immer im Besitzt des Eigentümers und darf nicht an dritte kommen. Wenn eine Person Alice den Schlüssel von Bob bekommt. Wie kann Alice sicherstellen, dass der erhaltene Schlüssel auch wirklich von Bob ist? Das ist sehr einfach! Alice trifft sich mit Bob und prüft den Fingerabdruck der Schlüssel. Wenn dieser korrekt ist, unterschreibt Alice mit ihren privaten Schlüssel den öffentlichen Schlüsseln von Bob.

    Ich, Alice, habe diesen Schlüssel geprüft, für richtig befunden und bin mir sicher, dass es sich um den Schlüssel von Bob handelt.

    Was ist die Konsequenz? Ich muss meine ganze Familie besuchen, um die Schlüssel zu prüfen. Dies ist in Zeiten mit Corona gar nicht so einfach. Dieses Problem lösen wir mit dem WoT. Die Schlüssel von Alice und Bob wurden gegenseitige unterschrieben.

    Alice sehe ich selten, aber Bob ist mein Arbeitskollege. Ich werde den Schlüssel von Bob wie oben schon beschrieben mit ihm prüfen. Des Weiteren gebe ich an, dass ich ein sehr starkes vertrauen in die Signaturen von Bob habe.

    Was passiert jetzt?

    Da ich BobsUnterschriften vertraue und Bob den Schlüssel von Alice unterschrieben hat. Ist der unterschriebene Schlüssel von Alice welchen ich vor ihr bekommen habe für mich gültig.

    Was ist aber das Problem?

    Das Konzept ist doch super, aber wo ist das Problem? Stichwort: Handelsware von soziale Graphen? In den öffentlichen Schlüssel steckt jetzt eine wichtige Information. Bob kennt Alice und Alice kennt Bob. Leider hat sich die Welt etwas geändert und man muss hierbei bedenken, dass man so Informationen über sich Preis gibt. Welche andere wiederum, was das eigentlich Problem ist, auswerten können.

    Das Problem lässt sich aber vermeiden.

    Minimaler öffentlicher öffentlicher Schlüssel

    Man kann den öffentlichen Schlüssel, welcher auch wirklich öffentlich (aus der Homepage) mit einer Option exportieren, dass die Schlüssel keine Signaturen enthalten. --export-options export-minimal. Dies ist sozusagen das "deaktivieren" von WoT. Es ist so möglich, dass jemand dennoch die Daten des Schlüssels hat. Jedoch nicht die Signaturen. Der richtige Schlüssel kann auf einem anderen Kommunikationsmedium (z.b. E-Mail) dann verschlüsselt an die Person übertragen werden.

    WKD

    Eine weitere Möglichkeit ist den Schlüssel nicht auf einem öffentlichen Keyserver hochzuladen sondern nur per WKD anzubieten. Das hilft dabei, die Information aus der Signatur nicht direkt einer Person zuzuordnen zu können.

    • wifi_tethering open_in_new

      This post is public

      nl.movim.eu

    • favorite

      1 Like

      debacle

    • Xm chevron_right

      Warum OpenPGP?

      Stefan · pubsub.movim.eu / xmpp-eagle · Sunday, 14 June, 2020 - 09:53

    Die verschiedenen Verschlüsselungsmethoden haben jeweils Vor- und Nachteile. Ob es hier ein richtig oder falsch gibt, kann ich nicht sagen. Abhängig vom Einsatzgebiet gibt es vielleicht ein besser oder schlechter geeignet.

    Warum ich OpenPGP bevorzuge

    Ein OpenPGP Key ist nicht an das Geräte / Client gebunden. Die Nachrichten können unabhängig davon entschlüsselt werden. Nachrichten welche an mich geschickt wurden, können mit dem privaten Schlüssel auch mit einem anderen Gerät entschlüsselt werden.

    Man kann das WoT nutzen, um die Schlüssel anderer Personen als gültig zu betrachten.

    Der Schlüssel kann z.b. auf einer Smartcard oder Token gespeichert werden. So kann ich den Schlüssel auch "mitnehmen".

    Die Nachrichten können verschlüsselt gespeichert werden und müssen nicht auf dem Client entschlüsselt werden.

    • wifi_tethering open_in_new

      This post is public

      nl.movim.eu

    • favorite

      2 Like

      debacle, Stefan

    • 3 Comments

    • Xm chevron_right

      GnuPG Schlüsselbund

      Stefan · pubsub.movim.eu / xmpp-eagle · Sunday, 14 June, 2020 - 05:33

    https://upload.movim.eu/files/04638dac6e7f7f0330099e0c0fc21a1b8425c2ab/32GBIklea67RzSO8PFLxnQqfn1iXVS4keDaIZewQ/Bildschirmfoto_OpenPGP.png

    Der GnuPG Schlüsselbund soll in das Adressbuch integriert werden. Die Reiter auf der linken Seite sind die Herkunft der Kontaktdaten. So können die Kontaktdaten aus verschiedenen Quellen in der Anwendung angezeigt werden.

    Mit einem Doppel-Klick lassen sich die Schlüssel Informationen anzeigen.

    Es werden die Schlüssel aus dem eigenen Keyring von GnuPG angezeigt.

    #GnuPGP

    • Xm chevron_right

      Nachricht oder Chat

      Stefan · pubsub.movim.eu / xmpp-eagle · Sunday, 14 June, 2020 - 05:31

    https://upload.movim.eu/files/04638dac6e7f7f0330099e0c0fc21a1b8425c2ab/rEWpMWcb9uf5sr3NPVghYQR68qvTdOIRP3bTnu5y/Bildschirmfoto_OX.png

    Ich habe aktuell Nachrichten verwenden. Wenn ich es richtig verstehe, dann haben Einzelnachrichten auch einen Betreff und Chats sind in einigen Clients mehr als einzeilige Eingabe dargestellt. Im Zusammenhang für eagle sehe ich mehr die Verwendung von Einzelnachrichten.

    Vor dem Senden suchen die Anwendung nach den Schlüsseln (Sender private key zum signieren und public Key des Empfänger zum verschlüsseln).

    • wifi_tethering open_in_new

      This post is public

      nl.movim.eu

    • Xm chevron_right

      Projektmanagement bei Freier Software?

      Stefan · pubsub.movim.eu / xmpp-eagle · Saturday, 13 June, 2020 - 04:32

    Braucht man Projektmanagement bei der Softwareentwicklung Freier Software?

    Einige Softwareprojekte der im Bereich FLOSS laufen so nebenher. Wenn das Projekt interessant ist, werden durch Pull-Requests sich einige Leute beteiligen. Aber wer trifft denn Entscheidungen, wenn es mal zu fragen kommt? Wie erfolgt die Kommunikation? Was ist denn, wenn das Projekt "übergeben" wird, weil der ursprüngliche Entwickler keine Zeit und Lust mehr hat?

    An der einen oder anderen Stelle kann Projektmanagement sicherlich ein wichtiger und hilfreicher Punkt sein. Eine Methode ist beispielsweise PRINCE2 (englisch Projects in Controlled Environments ‚Projekte in kontrollierten Umgebungen‘).

    Ich habe für das eagle Projekt jetzt eine eigene Organisation auf Codeberg angelegt. https://codeberg.org/eagle. Für das Management gibt es ein eigenes Projekt https://codeberg.org/eagle/eagle-mgmt.

    Alles was wichtig ist und sein könnte, werde ich im Project Initiation DocumentationDokument eintragen.

    #PRINCE2 #Projektmanagement

    • Xm chevron_right

      XMPP eagle - Kickoff

      Stefan · pubsub.movim.eu / xmpp-eagle · Friday, 12 June, 2020 - 16:34 edit · 2 minutes

    Seit einiger Zeit beschäftige ich mich in meiner Freizeit mit XMPP. Jetzt soll es etwas konkreter werden und ich möchte ein Freizeitprojekt starten. Ich habe schon mit etwas Programmierung begonnen, um einen ersten Eindruck zu bekommen.

    Die Idee

    Ich will nicht einen weiteren XMPP Client für Instant Messaging programmieren. Die Idee bei diesem Projekt ist eine Linux Desktop Anwendung als eine Art Groupware zu implementieren, welche sich primäre auf die Verwendung von OpenPGP (GnuPG) und XMPP konzentriert.

    So wird beispielweise der GnuPG Schlüsselbund nicht als Schlüssel dargestellt, sondern ist ein Bestandteil des Adressbuches.

    OpenPGP

    Auch die Adressen aus der XMPP Kontaktliste werde dem Benutzer im Adressbuch angezeigt.

    XMPP

    Dabei sind folgende Ideen bekommen:

    • Senden von Nachrichten (nicht Chat sondern mehr wie Mail)
    • Senden von verschlüsselten Nachrichten via OpenPGP
    • Mircoblogging via XMPP
    • Gruppenunterhaltungen für virtuelle Räume (MUC)
    • Aufgabenverwaltung via PubSub

    Wer könnte solch ein Programm gebrauchen?

    Vielleicht ist die Anwendung nicht nur privat interessant sondern kann auch z.b. für Unterricht oder in kleinen Unternehmen verwenden werden. Vielleicht kann man ein hilfreiches Programm entwickeln, um die digitale zusammenarbeit auf Basis von XMPP zu ermöglichen.

    Wie geht es weiter?

    Die Infrastruktur habe ich schon mal vorbereitet. Das sollte für den Anfang ausreichen, oder? Den Code müsste man jetzt schon mal dokumentieren und aufräume, damit man gleich von beginn einen saubere Codebasis hat.

    Als nächster Schritt sollte man die Produktbeschreibung erarbeiten. Was soll das Programm machen und für was ist es nicht gedacht? Wie soll es aussehen, wie soll es Funktionieren etc.

    Weitere Informationen

    Codeberg e.V.

    Die Entwicklung findet auf Codeberg statt. Siehe Präambel der Satzung des Vereins. https://codeberg.org/codeberg/org/src/branch/master/Satzung.md Ich möchte mit der Nutzung der Plattform den Verein unterstützen.

    Anoxinon e.V.

    Für den MUC und Mastodon habe ich die Dienste bei Anoxinon e.V. Siehe Informationen zum Verein in der Satzung: https://anoxinon.de/files/Satzung.pdf

    Mitmachen und Unterstützen

    Es werden bei der Softwareentwicklung nicht nur Programmierer benötigt. Man kann bei vielen Aufgaben helfen (Übersetzen, Feedback geben, Ideen einbringen, Testen, Fehler berichten,...) Alle diese Aufgaben sind neben der Entwicklung von Software für die Programmierer immer etwas schwer, besonders wenn es ein Freizeitprojekt ist.

    Wer Interesse hat, kann gerne im Gruppenchat vorbei kommen: xmpp:eagle@conference.anoxinon.me?join

    Project Initiation Documentation

    Mehr Informationen: Project Initiation Documentation

    Links

    • Mailingliste - https://framalistes.org/sympa/subscribe/xmpp-eagle
    • Mastodon - https://social.anoxinon.de/@eagle
    • Codeberg - https://codeberg.org/eagle
    • Pull mirroring auf Gitlab - https://gitlab.com/xmpp-eagle
    • XMPP Multi User Chat - xmpp:eagle@conference.anoxinon.me?join
    • Movim - https://nl.movim.eu/?community/pubsub.movim.eu/xmpp-eagle
    • Blog - https://nl.movim.eu/?node/pubsub.movim.eu/xmpp-eagle
    • wifi_tethering open_in_new

      This post is public

      nl.movim.eu

    • Pictures 1 image

    • visibility