Re: Secure(st) Messenger

“Enigma” von floeschi (CC BY 2.0)
Oder: Warum ich es für verfrüht halte, Threema für Textsecure/Signal aufzugeben, wie es Ulf Buermeyer bei netzpolitik.org fordert.

tl;dr: Textsecure/Signal sind zwar Open Source, aber die App funktioniert praktisch nur mit Verwendung der eigenen Telefonnumer und Telefonbuchupload. Es gibt außerdem kein tragbares Geschäftsmodell.

Aber es ist doch Open Source?

Der Reihe nach: Gestern machte die Meldung die Runde, dass die App Signal in der Version 2.0 veröffentlicht wurde. Signal ist ein sogenannter Secure Messenger, also ein Chatprogramm, dass es ermöglicht zwischen zwei oder mehreren Smartphones verschlüsselt auszutauschen. Lesen können Sie also nur die Empfänge, aber nicht die Geheimdienste oder Telekommunikationsanbieter.

Signal hatte schon immer einen großen Vorteil: Es ist Open Source. Das ist bei Crypto-Software relativ wichtig, weil man nur so nachvollziehen kann, ob die Verschlüsselung wirklich funktioniert. Und es hatte lange einen entscheidenden Nachteil: Signal ist eine iOS-only Software.

Es gibt ein Gegenstück auf Android, das Textsecure heißt, aber die beiden Apps konnten nicht miteinander reden. Bis jetzt, denn mit Version Signal 2.0 können iOS- und Android-Nutzer auch verschlüsselt miteinander chatten.

Aber gab es da nicht schon was? Dieses Threema?

In der Tat: Threema ist ebenfalls ein Secure Messenger und etwas besonderes geschafft hat. Threema war die erste App, die verschlüsseltes Nachrichtenverschicken in einer bedienbaren und leicht verständlichen Form für Smartphones umsetzte. Die App funktioniert sogar ganz ohne die Verwendung von Telefonnummern und man wird auch nicht gezwungen diese hochzuladen.

Aber Threema hat einen entscheidenden Nachteil: Es ist nicht Open Source. Der Quellcode der Komponente, die für die Verschlüsselung sorgt, ist zwar verfügbar, aber man kann sich nicht endgültig sicher sein, was in der App steckt. Ein Umstand, den wir schon vor zwei Jahren in einem Interview mit Manuel Kasper von Threema bemängelt hatten.

Die zweitbeste Lösung nach Offenlegung des Quellcodes ist eine Untersuchung des Codes von einer dritten, unabhängigen Firma. So was ist teuer und bis jetzt bei Threema nicht passiert. Und das ist der Grund, warum jetzt mit dem Erscheinen von Textsecure/Signal dazu aufgefordert wird, Threema hinzuschmeissen.

Klingt logisch: Open Source > Closed Source. Was stört dich daran?

Es fehlt ein Finanzierungsmodell. Derzeit wird Textsecure/Signal anscheinend durch die Freedom of the Press Foundation und den Open Tech Fund finanziert und hat Verschlüsselungstechnologie an WhatsApp verkauft. Damit kommt bestimmt einiges an Geld zusammen, ein nachhaltiges Geschäftsmodell ist das aber nicht.

Ganz im Gegenteil ist der Service mit einem Startup vergleichbar: Es gibt eine Anschubfinanzierung, aber niemand weiß, wie damit langfristig Geld verdient werden kann. Wie die jüngere Geschichte zeigt, bedeutet das entweder, dass der Service irgendwann abgeschaltet oder die Daten der User zu Geld gemacht werden1.

Außerdem wird der Open Tech Fund während seiner US-Regierungsnähe kritisiert. Zumindest in meiner Timeline ist wiederum diese Kritik umstritten, da auch andere gute Cryptoprojekte Regierungsprojekte sind/waren. Ich glaube persönlich nicht an eine fiese Backdoor im Code, aber durchaus daran, dass ein Funding auch mal eingestellt werden kann, wenn es opportun erscheint und dann siehe oben2.

Ja, na gut. Das mit dem Geld. Sonst noch was?

Als WhatsApp beim Bekannt- und Berühmtwerden in die Kritik kam, war einer der Hauptkritikpunkte der Upload des eigenen Telefonbuchs auf den WhatsApp-Server. Fast dieselbe Technologie verwendet auch Textsecure/Signal. Einziger Unterschied: Auf die Adressbuchdaten wird Mathematik angewendet, so dass nicht die eigentliche Telefonnummer hochgeladen wird, sondern ein Kennwert.

Das hilft leider gar nichts. Und das sage ich nicht, weil ich den Code von Hand nachgeprüft habe, das schreiben die Macher von Textsecure/Signal selber:

As far as we can determine, practical privacy preserving contact discovery remains an unsolved problem. For RedPhone, our user base is still manageable enough (for now) to use the bloom filter technique. For TextSecure, however, we’ve grown beyond the size where that remains practical, so the only thing we can do is write the server such that it doesn’t store the transmitted contact information, inform the user, and give them the choice of opting out.

Das Problem hierbei: Das Opt-Out ist nicht wirklich praktikabel. Ich habe es heute versucht und die App wird dadurch weitgehend unbenutzbar. Dazu kommt: Die User werden über ihre Handynummern eindeutig identifiziert, diese unnötigen Metadaten fallen also auf jeden Fall an. Und warum das gefährlich ist, wurde ja schon hinreichend geklärt.

Ja gut, sind halt auch nicht perfekt. Was soll’s?

Was mich an der Aufforderung Threema für Textsecure/Signal wegzuwerfen ärgert, ist die typische Elitenerdkurzsichtigkeit dahinter. Für Leute, die nichts lieber tun als jeden Tag einen neuen Cryptomessenger auszuprobieren ist das bestimmt sinnvoll. Aber wenn ich daran denke, wie lange es gedauert hat, mein soziales Umfeld von Threema zu überzeugen, finde ich es gefährlich, die Leute, die sich nicht täglich damit beschäftigen wollen, zum nächsten halbgaren Messenger zu scheuchen.   Threema war gegenüber WhatsApp eine deutliche Verbesserung, weil es pseudonyme Ende-zu-Ende-Verschlüsselung in bedienbar realisierte. Threema ist nicht perfekt, aber bevor ich einen Wechsel empfehle, muss der nächste Messenger wieder einen deutlichen Schritt nach vorne machen, also folgende Kritieren erfüllen:

  • Open Source
  • nachhaltiges Geschäftsmodell
  • bedienbar
  • mit selbstgewähltem Pseudonym nutzbar

Jetzt Wechselpanik zu verursachen halte ich sogar für gefährlich. Denn wenn Textsecure/Signal aufgrund der angesprochenen Kritikpunkte baden geht, wer glaubt würde dann noch einer Empfehlung zum nächsten wirklichen sicheren Ding folgen? Ich wäre – als normaler User – auf jeden Fall skeptisch.


Bild: “Enigma” von floeschi (CC BY 2.0)

0 0 0

  1. Oder der Laden verkauft wird und dann die Daten der User vom neuen Besitzer zu Geld gemacht werden. []
  2. Auch Threema ist nicht nachhaltig finanziert, weil Sie bis jetzt nur Geld von Neunutzern beim Kauf der App nehmen und davon gibt es ja nicht unendlich viele. Aber immerhin finanziert sich Threema aus eigener Kraft. []

21 Comments

Filed under webkrams, werkzeuge

21 Responses to Re: Secure(st) Messenger

  1. Was die Finanzierung angeht: der Punkt stünde nicht zur Debatte, wenn auch die Serversoftware frei installierbar ist und Federation ermöglicht. D.h. wenn jeder seinen eigenen TextSecure (oder whatever) Server betreiben kann, die sich alle untereinander unterhalten, dann braucht es nicht die eine singuläre Firma mit Geschäftsmodell. E-Mail, Jabber/XMPP oder auch Diaspora* machen es vor. Die Nutzer verteilen sich gleichmäßig auf viele Server, die durch eine verteilte Community verteilt betrieben und finanziert wird.

    Laut Ankündigung scheint Federation zumindest bei der Planung des Protokolls berücksichtig worden zu sein. Wenn TextSecure die Geschichte dahingehend öffnet, wäre dieser Kritikpunkt meiner Meinung nach vom Tisch.

  2. Juergen

    Das TextSecure die Telefonnummer nutzt ist nicht nur verständlich, sondern schlicht und ergreifend unabdingbar!

    Anders als Threema war (und ist) TextSecure auch ein SMS-Client -- Push-Nachrichten sind erst später dazugekommen, als zusätzliches Feature. Und das man zum versenden von SMS eine Telefonnummer benötigt dürfte irgendwie auf der Hand liegen, oder?

  3. Das kann man so argumentieren, aber dann ist es halt kein guter Secure Messenger.

    IMHO zeigt das auch eines Probleme in der App: Das ist halt kein von Grund auf gebauter möglichst anonymer, möglichst verschlüsselter Messenger, das ist eine Crypto-SMS gone WhatsApp-Klon, der einfach unnötigen Ballast mitschleppt. (Was besonders ironisch ist, da in dem Netzpolitik-Artikel Threema als Bloatware bezeichnet wird.)

    Also: Kann man so machen, dann ist man aber nicht der Standard für Secure Messaging.

  4. @LeSpocky: Stimmt. Das wäre vielleicht sogar ein weiterer Punkt, den ich als Anspruch an den “perfekten Messenger” mit aufnehmen würde.

  5. @maroulb

    They provide a TextSecure-Server at github: https://github.com/WhisperSystems/TextSecure-Server

  6. int9h

    WhisperSystems gehört Twitter bzw @moxie ist Head of Security bei Twitter.
    Sollte man eventuell auch erwähnen wenn man schon die “Freedom of the Press Foundation” und “Open Tech Fund” spricht.
    TextSecure und RedPhone wurden nach dem Verkauf an Twitter Open-Source.

  7. Peter

    @int9h
    Open Whispersystems gehört nicht twitter!
    http://support.whispersystems.org/customer/portal/articles/1474591-is-textsecure-owned-by-twitter-

    Im übrigen ist es langfristig geplant auch email adressen als nutzerkennung zuzulassen, das ermöglicht dann auch auf den upload des Telefonbuchs zu verzichten…

  8. @Peter

    ich denke nicht, dass es das besser macht, wenn auch/oder die E-Mail Adresse genutzt werden kann. Aus Meta-Daten-Perspektive spielt es wohl keine Rolle, vor allem dann nicht, wenn nach 2 oder 3 Jahren der Nutzung über Telefon, jetzt auch die E-Mail Adresse dazu kommt.

    Threema bleibt vorerst einer der wenigen Messenger, der anonym nutzbar ist. Gehe dann noch über VPN/TOR ins Netz und verzichte drauf, die eigene ID überall zu verbreiten, wie es manche Spezies auf FB machen, dann bleiben praktisch kaum noch Spuren über.

    Und Kompliment an den Autor, starker Artikel, teile ich doch gleich mal 🙂

  9. Peter

    @Bastie
    wenn man wirklich wert darauf legt, könnte man ja eine eigene email adresse dafür anlegen, damit wäre es das gleiche wie bei Threema.
    Ich denke aber, dass die Mehrheit der Menschen keine Lust mehr auf etwas wie ICQ hat wo man sich erst umständlich die Nummer geben lassen muss. Die Menschen wollen sofort kommunizieren können.

    Mit google account und GCM bist du wahrscheinlich trotz TOR und VPN nicht wirklich anonym….

  10. Ich denke aber, dass die Mehrheit der Menschen keine Lust mehr auf etwas wie ICQ hat wo man sich erst umständlich die Nummer geben lassen muss.

    Du meinst so wie beim Telefon, wo man auch immer erst umständlich die Nummern austauschen muss? o.O

  11. Bastie

    @Peter

    sicher, 100% Anonymität ist schwer zu erreichen, wäre mir auch bei TOR nicht sicher. Ist eben immer vom Szenario abhängig. Gegen geheime Dienste, gegen Schnüffelei von Netzgiganten usw.

    Aber wieso meinst du, dass es bei einer extra E-Mail das gleiche wie bei Threema wäre? Dort brauchst doch gar keine. Allerdings muss man dann natürlich die ID manuell mitteilen können, am besten verschlüsselt, wenn man sich nicht persönlich treffen kann.

  12. Peter

    @LeSpocky
    Die Telefonnummern hat man aber in den meisten Fällen schon …

  13. Peter

    @Bastie
    na man legt einfach eine email adresse nur für den messenger an. Und jedem mit dem man kommunizieren möchte, gibt man diese email adresse (statt der Threema ID). Ist natürlich umständlicher, aber ich bin wie gesagt davon überzeugt, dass die meisten nunmal automatisch sehen wollen wer von Ihren Kontakten den messenger benutzt (und auch selbst bei den Kontakten so angezeigt werden wollen)

  14. Ich kann deine Argumentation leider in weiten Teilen nicht nachvollziehen -- ein zentraler Vorwurf ist, signal sei nicht gut genug, um von Threema wegzugehen. Aber die Frage ist doch, warum nicht nur du dort bist sondern auch noch offenbar dein Umfeld motiviert hast, dorthin zu gehen. Woher sich Threema dein und aller Vertrauen verdient hat? Es bleibt ein reines Vertrauen -- und das umkehren, sie hätten noch nie Grund gegeben, ihnen nicht zu vertrauen, ist nur bedingt ein gutes Argument.
    Dich ärgert Elitenerdkurzsichtigkeit, dabei geht textsecure/signal genau den Weg der breiten Masse -- mit dem wohl bekannten (und auch stichhaltigen Gegenargument) Problem der Telefonnummer-Identifizierung. Die Idee dahinter ist ja genau, die breite Masse einfach anzusprechen mit einem einfachen Verfahren -- aus “Elitenerd”-Sicht wird das dann (zurecht) stark kritisiert, hat dafür das Potential die breite Masse zu erreichen. Ich finde da deine Argumentation nicht kongruent..

    Bei dem Geschäftsmodell zählst du potentielle Möglichkeiten für Signal auf bis hin zu “Daten der User zu Geld machen” (was ich bei den Hintergründen der Akteure sehr an den Haaren herbei gezogen finde), statt die naheliegendste mit aufzuführen: Warum sollten sie nicht einfach irgendwann doch Geld für die App nehmen. Das hat bei WhatsApp nach entsprechender Marktplatzierung wunderbar funktioniert, Threema zeigt, das Menschen bereit sind, Geld dafür zu bezahlen -- und OWS könnte das ebenfalls in Erwägung ziehen, die Notwendigkeit “abschalten” oder “Daten verkaufen” sehe ich überhaupt nicht..

    Also deine Forderungen an einen guten Messenger:

    -- Open Source
    erfüllt

    -- nachhaltiges Geschäftsmodell
    es gibt viel Potential und vor allem Zeit, dies zu entwickeln

    -- bedienbar
    joah, das kann noch besser werden 😉

    -- mit selbstgewähltem Pseudonym nutzbar
    eher eine Forderung aus “Elitenerd”-Perspektive denn wirklich wichtig für die Massen

  15. @Daniel: Dann will ich die von dir angesprochenen Punkten mal genauer erläutern. Grundsätzlich: Threema war damals eine entscheidende Verbesserung gegenüber WhatsApp. Ich würde bedenkenlos jeden Messenger empfehlen, der wieder ähnlich große Fortschritte bringt. Denn: Meinem Nicht-Nerd-Umfeld sind nur eine beschränkte Anzahl von Wechseln zuzumuten und wenn ich das jetzt für einen Messenger mache, der nur fast ähnlich gut ist, dann habe ich keinen Spielraum mehr, wenn in einem halben Jahr ein Messenger kommt, der es wirklich richtig macht. Zu den einzelnen Punkten:

    Vertrauen: Threema benutzt für die Crypto eine gut abgehangene Technik, die Open Source und vertrauenswürdig ist: NaCL. Ich kenn persönlich ein paar Leute, die sich diese App mal angeschaut haben und die davon ausgehen, dass das tatsächlich der Fall ist. Das Problem ist: Das sind halt Freunde mit privater Meinung, die sich klar sind, dass das kein Test ist und deshalb kann man damit nicht belastbar öffentlich gehen -- was man auch deshalb nicht machen will, um die Threemamacher nicht kostenfrei aus der Verantwortung entlassen will, selbst einen Code Review zu organisieren oder Open Source zu gehen. Es ist also -- für die breite Öffentlichkeit -- tatsächlich Hörensagen, aber mir gut genug.

    Das ersetzt also kein Code Review, aber ist für mich persönlich (mangels Alternativen) auch nicht völlig blindes vertrauen. Ebenso ist es für mich persönlich kein Unterschied (nicht: Die beste Lösung.), ob jemand, dem ich vertraue, die App dekompiliert oder ob es einen Quellcode gibt, bei dem ich mir aber nicht sicher sein kann, dass er wirklich verwendet wird, weil sich das wegen Apples Appstorepolitik nicht endgültig beweisen lässt. Erschwerend kommt hinzu: Threema ist AFAIK das einzige größere Produkt, dass die Firma anbietet und dessen Unique Selling Point ist Crypto -- sie sind also tatsächlich wirtschaftlich motiviert, dass die gut ist. (Eine Motivation, die man derzeit weder Signal/Textsecure noch WhatsApp unterstellen kann.)

    Verwendung von Telefonnummer: Es geht mir hier nicht so sehr darum, dass Textsecure/Signal die Telefonnummer verwendet -- das tut Threema nämlich auch -- sondern dass diese Verwendung alternativlos ist. (Wie gesagt: Technisch geht das, aber benutzbar ist die App dann nicht.) Mir ist klar, dass dieses Feature für viele unverzichtbar ist (Wie oft habe ich die Frage gehört “Wieso hab ich dich nicht bei Threema gefunden?”), aber wichtig ist, dass ich als User die Wahl habe es nicht zu benutzen.

    Mir sind die historischen Hintergründe bei Textsecure/Signal klar (schließlich war das mal für Crypto-SMS gedacht), aber die Art und Weise wie das jetzt umgesetzt wird, blendet einen wichtigen Teil aus: Die Diskussion um die Verwendung der Metadaten, die -- und das habe ich oben schon verlinkt -- eben genauso gefährlich/wichtig sind, wie die eigentlichen Inhalte.

    Das kann man machen, aber dann ist man eben nicht das alternativlose, allerbeste Angebot am Markt. Und anscheinend hast du mich missverstanden: Die Kurzsichtigkeit besteht nicht darin, an einem bestimmten Feature festzuhalten, sondern darin, ein in der Masse etabliertes Produkt für ein anderes Produkt zu verlassen, dass im Endeffekt keine deutliche Verbesserung bietet. (Ja, das kann noch werden. Aber dann ist dann der richtige Zeitpunkt gekommen. Nicht jetzt.)

    Dasselbe gilt auch für das Geschäftsmodell: Ja, das wäre möglich. Und wenn es soweit ist, bin ich bereit, dieses Argument zurückzuziehen. Aber -- um ein Argument von dir zu verwenden -- mir sind “diese Leute” bis jetzt nicht durch die Etablierung nachhaltiger Geschäftsmodelle für weit verbreitete Cryptosoftware aufgefallen. (Sondern durch mäßig subtile Eigenwerbung getarnt als Rant gegen E-Mail-Verschlüsselung.)

    Außerdem ließe sich dieses Argument auch weiter oben anwenden (Ich würde das nicht tun, ich will nur zeigen, dass “könnte ja noch werden” kein Argument ist): Ich habe keine Veranlassung an den Threema-Machern zu zweifeln und vielleicht kommt Open Source ja noch. (Macht nicht so viel Sinn, oder?)

    Um deinen Endpunkt aufzugreifen:

    Also deine Forderungen an einen guten Messenger:

    — Open Source
    erfüllt, es muss aber noch geklärt werden, wie man bei Software aus dem App-Store beweist, dass da tatsächlich der Open-Source-Code zugrunde liegt

    — nachhaltiges Geschäftsmodell
    muss daran gearbeitet werden, bis das vorgestellt wird, sehe ich keine Veranlassung diesen Punkt als abgehakt anzusehen

    — bedienbar
    Hier wird tatsächlich schon sehr viel richtig gemacht, ich finde Textsecure zum Beispiel einen äußerst komfortablen SMS-Client. Für Massentauglichkeit muss allerdings noch gewährleistet werden, dass man Video/Ton-Inhalte direkt in der App aufnehmen kann.

    — mit selbstgewähltem Pseudonym nutzbar
    Nicht erfüllt. Hier muss ich noch mal gegenreden, weil ich “eher eine Forderung aus “Elitenerd”-Perspektive denn wirklich wichtig für die Massen” als komplett daneben empfinde. Wenn wir einen Messenger wollen, der das kann was “wirklich wichtig” für die Massen ist, dann können auch gleich WhatsApp im technischen Stand von 2013 empfehlen. Secure Messenger sind immer ein Kompromiss und gerade bei der Verwendung von Metadaten ist das auch ein Punkt wo das gerade eine wichtige pädagogische Aufgabe einer solchen App ist: Die sichere Verwendung technisch zu ermöglichen und so umzusetzen, dass sie gelernt werden kann! (Siehe auch hier: Threema.)

  16. RA Michael Seidlitz

    „How Secure is ‪#‎TextSecure‬?“
    by Tilman Frosch, Christian Mainka, Christoph Bader, Florian Bergsma, Jörg Schwenk, Thorsten Holz,
    Horst Görtz Institute for IT Security
    Ruhr University Bochum

    http://eprint.iacr.org/2014/904.pdf

  17. @maroulb

    @ monoxyd:

    Ich verstehe irgendwie Dein Meta-Daten-Argument nicht.

    Nutze ich Signal, gibt es eine Verbindung von meinem Telefon zum Server. Mein Provider sieht also, dass ich den Service benutze. Allerdings ist nicht sichtbar mit wem ich kommuniziere (siehe: https://github.com/WhisperSystems/Signal-iOS/wiki/FAQ), was ja das eigentliche Argument bezgl. Meta-Daten ist.

    Wo genau siehst Du denn das Problem mit Meta-Daten?

  18. Christoph

    Ein paar Punkte:
    1. Threema hat auch kein nachhaltiges Geschäftsmodell: Von einmaligen 2 Euro pro User dauerhaft eine Infrastruktur und die Weiterentwicklung betreiben zu wollen ist das Gegenteil von Nachhaltig. Da sind ja schon viele darüber gestolpert, als das Wachstum der Benutzerzahlen nachgelassen hat.

    2. Das Open-Source Argument würde ich nicht zu hoch aufhängen: Ja, es ist nett, um zumindest die grundlegende Funktionsweise verifizieren zu können -- da finde ich Threemas Verweigerung schade. Aber hinterher läuft das ganz auf einem riesigen Close-Source Stack (iOS, ja, das trifft auch Android, bis hinunter zur Hardware).

    3. Den Punkt der US-Behörden-Finanzierung halte ich für totalen Bullshit: Wenn das ein Massstab ist, dann kann man ohnehin nur noch den Stecker ziehen, da wohl kaum noch benutzbare Technologie übrig bliebe.

    4. Open Source oder nicht, eines hat die jüngere Geschichte ja gezeigt: Es ist IMMER eine Frage des Vertrauens, auch bei Open Source -- selbst für Nerds. Ja, das Vertrauen kann nach hinten losgehen, aber etwas anderes haben wir nunmal nicht. Sich damit abzufinden scheint vielen schwer zu fallen.

    Ich finde es generell schade, dass die Diskussion schon wieder so religiös Schwarz/Weiss geführt wird. Ich freue mich, wenn es mehr Auswahl am Markt gibt. Das kann nur gut für alle sein.

  19. Juergen

    Nur so nebenbei: Whisper Systems hat gerade SMS-Verschlüsselung als Feature abgekündigt (mit sehr fragwürdiger Begründung -- es klingt eher so als wäre “Geht bei Apple nicht, deshalb lassen wir es jetzt halt ganz” der Hauptgrund): https://whispersystems.org/blog/goodbye-encrypted-sms/

    Da SMS-Verschlüsselung (z.B. bei Roaming im Ausland sehr nützlich) für mich das Hauptargument für TextSecure war kann ich daher jetzt niemandem mehr guten Gewissens zu dieser App raten. Die gleichen Features kriegt man auch bei anderen, nur das es da noch andere nützliche Features obendrauf gibt. Ich persönlich werde ab sofort nur noch Hoccer empfehlen… da gibt es noch weniger Bedenken bei der Privatsphäre, denn man kann kein Adressbuch hochladen, keine Mailadresse oder Telefonnummer angeben…

  20. Be8 e8 abbstanza noralme che iOS sia pif9 sicuro di Android. Su iOS vanno moltissimo di ottimizzazione mentre su Android (per quanto il codice venga ottimizzato) il supporto hardware e8 talmente esteso che ottimizzare in maniera molto profonda il sistema e8 pura utopia.Sarebbe strano il contrario (come Mac OSX vs Winzozz).

  21. Pingback: (Un)Sicherheit bei Instant Messengern – SUMOmag

Leave a Reply

Your email address will not be published. Required fields are marked *