Willkommen zur Vorstellung von

 

 

Extensible Messaging and Presence Protocol

(früher Jabber von „(daher-)plappern“)

Erweiterbares Nachrichten- und Anwesenheitsprotokoll

OFFENER STANDARD

DEZENTRAL

ERWEITERBAR

FLEXIBEL

SICHERHEIT

VERSCHLÜSSELUNG

Was Bietet XMPP?

OFFENER STANDARD

DEZENTRAL

XMPP Netzwerk Aufbau

Clients bei verschiedenen XMPP Servern

Server - Server Kommunikation

Clients in Multi-User-Chat (MUC)

Server - Server Kommunikation

Ähnlichkeiten mit E-Mail

ERWEITERBAR

FLEXIBEL

Erweiterungen (XEPs)

Erweiterbar - mithilfe der Leistung von XML kann jeder benutzerdefinierte Funktionen auf den Kernprotokollen aufbauen.

Flexibel - XMPP-Anwendungen, die über IM hinausgehen, umfassen Netzwerkmanagement, Content-Syndizierung, Tools für die Zusammenarbeit, Dateifreigabe, Spiele, Remote-Systemüberwachung, Webdienste, leichtgewichtige Middleware, Cloud Computing und vieles mehr.

ERWEITERBAR

# Ein Empfänger
echo 'Hallo Welt!' | sendxmpp -t -r echobot -u echobot -j fr32k.de:63034 -p 123 picard@fr32k.de
# MUC
echo 'Hallo Welt!' | sendxmpp -t -r echobot -c linux-whv@chat.ffnw.de -u echobot -j fr32k.de:63034 -p 123 picard@fr32k.de

Beispiel: Terminal

ERWEITERBAR

import pyxmpp
from pyxmpp.jabber.client import JabberClient

class EchoBot(JabberClient):
	def __init__(self, jid, passwd):
	tls = pyxmpp.streamtls.TLSSettings(require=True, verify_peer=False)
	JabberClient. __init__(self, pyxmpp.jid .JID(jid), passwd, tls_settings=tls,
        auth_methods=["sasl : PLAIN"])
	
	def message(self, stanza):
		if stanza.get_type() == "chat" and stanza.get_body() != None :
			m = pyxmpp.message.Message(stanza, to_jid=stanza.get_from(),
                        from_jid=stanza.get_to())
			self.stream.send(m)
			
	def session_started( self ):
		JabberClient.session_started(self)
		self.stream.set_message_handler("normal", self.message)
		
bot = EchoBot("echobot@fr32k.de/test", "123" )
bot.connect()
try:
	while 1: bot.loop(1)
	except KeyboardInterrupt: bot.disconnect()

Beispiel: Python

SICHERHEIT

VERSCHLÜSSELUNG

SASL und TLS sind Kern bestandteil der XMPP Spezifikationen

Ende-zu-Ende-Verschlüsselung
OpenPGP, Off-the-Record Messaging (OTR) & Omemo.

 

Durch Perfect Forward Secrecy(PFS) wird außerdem erreicht, dass bei Verlust von privaten Schlüsseln vorherige Traffic Mitschnitte nicht entschlüsselt werden können.

Client-zu-Server- & Server-zu-Server-Verschlüsselung

Client A

Server A

Server B

Client B

XMPP Installation

PC:  Gajim

==> https://gajim.org

Android:  Conversations

==> https://conversations.im

IOS:  ChatSecure

==> https://chatsecure.org

Link Sammlung

https://xmpp.org/
https://de.wikipedia.org/wiki/OMEMO
https://de.wikipedia.org/wiki/Off-the-Record_Messaging
https://de.wikipedia.org/wiki/Perfect_Forward_Secrecy
https://github.com/xsf
https://de.wikipedia.org/wiki/OpenPGP
https://gajim.org
https://conversations.im
https://chatsecure.org

Multi-User-Chat (MUC)

linux-whv@chat.ffnw.de

Linux Wilhelmshaven und Umland

Danke

Ende

Willkommen zur Vorstellung von XMPP

By picardtux

Willkommen zur Vorstellung von XMPP

Erweiterbares Nachrichten- und Anwesenheitsprotokoll

  • 1,960