Die Entwickler des GNUnet-Frameworks, das für den Aufbau von sicheren, dezentralen P2P-Netzwerken ohne einzelne Ausfallpunkte und zur Gewährleistung der Privatsphäre der Nutzer konzipiert wurde, haben die erste Version der Bibliothek libgnunetchat 0.1.0 veröffentlicht. Diese Bibliothek vereinfacht die Nutzung der GNUnet-Technologien und des GNUnet Messenger-Dienstes zur Erstellung sicherer Chat-Anwendungen.
Libgnunetchat bietet eine separate Abstraktionsschicht über dem GNUnet Messenger, die grundlegende Funktionalitäten umfasst, die in Messengern verwendet werden. Der Entwickler kann sich auf die Erstellung der Benutzeroberfläche mit einem GUI-Toolkit seiner Wahl konzentrieren und muss sich nicht um die Komponenten kümmern, die mit der Organisation des Chats und der Interaktion zwischen den Nutzern verbunden sind. Die auf libgnunetchat basierenden Client-Implementierungen bleiben untereinander kompatibel und können miteinander interagieren.
Um die Vertraulichkeit zu gewährleisten und die Abhörung von Nachrichten zu verhindern, wird das Protokoll CADET (Confidential Ad-hoc Decentralized End-to-End Transport) eingesetzt, das eine vollständig dezentrale Interaktion zwischen einer Gruppe von Nutzern mit Hilfe von End-to-End-Verschlüsselung der übermittelten Daten ermöglicht. Den Nutzern wird die Möglichkeit geboten, Nachrichten und Dateien zu senden. Der Zugriff auf die Nachrichten in Dateien wird nur den Gruppenmitgliedern gewährt. Zur Koordination der Interaktion zwischen den Teilnehmern des dezentralen Netzwerks kann eine verteilte Hashtabelle (DHT) oder spezielle Einstiegspunkte verwendet werden.
Neben dem Messenger werden in libgnunetchat auch folgende GNUnet-Dienste verwendet:
- GNS (GNU Name System, eine vollständig dezentrale und zensurresistente Alternative zu DNS) zur Bestimmung veröffentlichter Einträge in öffentlichen Chatseiten (Lobbien), zum Öffnen von Chats und zum Austausch von Anmeldedaten.
- ARM (Automatic Restart Manager) zur Automatisierung des Starts aller für den Betrieb erforderlichen GNUnet-Dienste.
- FS (File Sharing) für sicheres Hochladen, Senden und Organisieren des gemeinsamen Zugriffs auf Dateien (sämtliche Informationen werden nur in verschlüsselter Form übertragen, und die Verwendung des GAP-Protokolls verhindert, dass nachverfolgt werden kann, wer eine Datei hochgeladen oder heruntergeladen hat).
- IDENTITY zur Erstellung, Löschung und Verwaltung von Konten sowie zur Verifizierung der Parameter eines anderen Nutzers.
- NAMESTORE für die lokale Speicherung von Adressbuch und Chatinformationen sowie zur Veröffentlichung von Einträgen auf Chat-Seiten, die über GNS zugänglich sind.
- REGEX zur Veröffentlichung von Informationen über Teilnehmer, die es ermöglichen, schnell einen öffentlichen Gruppenchat zu einem bestimmten Thema zu erstellen.
Die Hauptfunktionen der ersten Ausgabe von libgnunetchat:
- Verwaltung von Konten (Erstellung, Ansicht, Löschung) und die Möglichkeit, zwischen verschiedenen Konten während der Nutzung zu wechseln.
- Möglichkeit zur Umbenennung des Kontos und Aktualisierung des Schlüssels.
- Austausch von Kontakten über öffentliche Chat-Seiten (lobbie). Informationen über den Nutzer können sowohl im Format eines Textlinks als auch in Form eines QR-Codes erhalten werden.
- Kontakte und Gruppen können separat verwaltet werden, es ist möglich, verschiedene Nicknamen mit verschiedenen Gruppen zu verknüpfen.
- Möglichkeit, einen direkten Chat mit jedem Teilnehmer aus dem Adressbuch anzufordern und zu eröffnen.
- Abstraktion der Benutzer- und Chatansichten zur Vereinfachung der Einbindung in die gewünschte Benutzeroberfläche.
- Unterstützung für das Senden von Textnachrichten, Dateien und Organisation des gemeinsamen Zugriffs auf Dateien.
- Unterstützung für das Senden einer Lesebestätigung und die Möglichkeit, den Empfangsstatus der Nachricht zu überprüfen.
- Möglichkeit der automatischen Löschung von Nachrichten nach einer festgelegten Zeit.
- Flexible Möglichkeiten zur Verwaltung von Dateien im Chat, z.B. kann eine Miniaturansicht des Inhalts angezeigt werden, während der Inhalt selbst verschlüsselt bleibt.
- Möglichkeit zur Anbindung von Handlern zur Verfolgung aller Operationen (Hochladen, Senden, Entfernen aus Indizes).
- Unterstützung für den Empfang von Einladungen zum Anschluss an neue Chats.
Zusätzlich kann die Veröffentlichung des fertigen Messengers GNUnet Messenger 0.7 hervorgehoben werden, der eine GTK3-basierte Schnittstelle bietet. GNUnet Messenger setzt die Entwicklung des grafischen Clients cadet-gtk fort, der auf die Bibliothek libgnunetchat portiert wurde (die Funktionalität von cadet-gtk wurde in eine universelle Bibliothek und ein GTK-Schnittstellen-Wrapper aufgeteilt). Die Anwendung unterstützt die Erstellung von Chats und Chatgruppen, das Management eines Adressbuchs, den Versand von Einladungen zum Beitritt zu Gruppen, das Senden von Textnachrichten und Sprachaufzeichnungen, die Organisation des gemeinsamen Zugriffs auf Dateien sowie den Wechsel zwischen mehreren Konten. Für Liebhaber der Adresszeile wird ein Konsolenmessenger auf Basis von libgnunetchat entwickelt, der sich jedoch noch in der Anfangsphase befindet.


Quelle: opennet.ru
