Elektronisch unterschreiben – digitale Signaturen

Das geregelte Ableben meines Fax-Gerätes ermuntert zu einer Recherche wie es denn um elektronische Unterschriften steht. Möglichst solche die juristisch auch eine Beweiskraft entfalten.

Das Verfahren für solche Signaturen lehnt sich stark an die Sicherung von Webseiten an – man generiert ein Schlüsselpaar – privat und öffentlich – und unterschreibt mit dem privaten Schlüssel. Der Gegenpart prüft die Signatur mit dem öffentlichen Schlüssel und wenn es kryptographisch passt, dann stammt die Unterschrift vom Inhaber des Schlüsselpaares.

Die Frage, die sich hier aufdrängt ist natürlich wie man davon ausgehen kann, das der Unterzeichnende tatsächlich derjenige ist für den er sich ausgibt. Diese Verbindung von Identität zu dem abstrahiertem Objekt eines öffentlichen Schlüssels ist das Zertifikat, welches den öffentlichen Schlüssel zu einem Subjekt (Identität) zuordnet. Elektronisch unterschreiben – digitale Signaturen weiterlesen

Google weiß es besser

Vor kurzem stieg in in Deutschland in einen TGV und loggte mich mit dem Laptop in das Zug-WLAN ein.

Kaum öffnete ich den Mail-Client schon haute mir Google die Warnmeldungen entgegen.

Was war passiert? Trotz deaktiviertem Standortverlauf in meinem Google-Account wurde der aktuelle Standort meines Handys verwendet um ein Login – angeblich aus Paris – zu verhindern.

Es war natürlich der Zug der französischen SNCF, dessen Routing wohl über ein IP-Knoten in Paris führt, woher wusste aber Google, dass ich mich zu der Zeit in Süddeutschland befand? Offensichtlich wird die Standortbestimmung des Mobiltelefones auch dazu benutzt um auf einem Laptop ein Zugriff eines „falsches Standortes“ zu unterbinden.

Obwohl ich bei den sofort ankommenden Warn-EMails angegeben habe, dass ich diesen Zugriff unternommen hatte, konnte ich mit dem o.g. Mail-Client keine Verbindung mehr mit dem Google-IMAP Server herstellen. Zudem ärgert mich diese Standortverwendung! Google erweckt mit seinen zahllosen Einstellmöglichkeiten, dass man Herr seiner Daten ist, aber wenn man nicht völlig ohne Standortbestimmung beim Handy operieren will, muss man implizit allen möglichen Google-Standortdiensten zustimmen.

Auch denjeniegen, die besser über einen Bescheid wissen als man selber. HAL 9000 lässt grüßen.

IPv6 ULA Adressen auf Dual-Boot Rechnern

Der Verbrauch aller verfügbaren IPv4 Adressen zwingt allmählich die ISPs (Internet Service Provider) den Kunden nicht mehr exklusiv eine IPv4 Adresse – weder dauerhaft noch temporär – zur Verfügung zu stellen. Stattdessen wird der begrenzte IPv4 Adressraum mit NAT (Network Adress Translation) auf ISP-Level erweitert – das sog. Carrier Grade NAT.
Für den Kunden bedeutet dies, dass er nicht mehr über eine stabile IPv4 Adresse verfügt, sondern nur noch über eine stabile – wenn auch sich temporär ändernde – IPv6 Adresse. Der Zugriff auf IPv4-only Webdienste erfolgt üblicherweise mit DS-Lite Tunnels in denen IPv4 Adressen in IPv6 Tunnel bis zum Provider gelangen, der dann mittels Carrier Grade NAT dem Paket eine momentan verfügbare öffentliche IPv4 Adresse zuweist und eine Zuordnungstabelle führt, um den Response dem ursprünglichen Anfrager zurückzuleiten.

Auf Kundenseite impliziert dieses Verfahren den Einsatz von IPv6 – mindestens auf Router-Level. Wobei durch Router-Propagation auch jeder Client hinter dem Router eine öffentliche IPv6 Adresse erhalten kann und performante IPv6 Verbindungen – ohne NAT und Zuordnungstabellen – aufbauen kann.
Die Entscheidung, ob der Zugriff auf eine URL mit IPv4 oder IPv6 erfolgt, trifft das Betriebssystem, vorausgesetzt der hostname lässt sich durch den verantwortlichen Nameserver in eine IPv4 und IPv6 Adresse auflösen. Da dies aber immer häufiger der Fall ist, steigen auch die IPv6 Anfragen durch alle Netzwerke….

…was der Grund für mich war auch im privaten Netzwerk durch den lokalen Nameserver alle hosts auf IPv6 aufzulösen. Da die GUA (Global Unicast Address) sich aber täglich ändert und ich zudem im privaten Netzwerk auch nur private (also nicht geroutete) Adressen verwenden will, trage ich dort die stabilen ULAs (Unique Local Address) ein, die eben nicht über eine Gateway Grenze geroutet werden.
Diese Adressen bestehen aus einem standardisierten 8bit Prefix (fd00::/8), gefolgt von einer Global+Subnet ID, die im Normalfall im Router eingestellt wird und durch diesen propagiert (Router Advertisement) wird. Die folgende Grafik zeigt den Aufbau der GLAs und ULAs

Zeigt GLA und ULA

Die niederwertigen 64bits werden lokal durch EUI-64 (Extended Unique Identifier) eingestellt – auch bekannt als Interface ID. Dies passiert überlicherweise mittels SLAAC (Stateless Address Autoconfiguration). Die EUI-64 besteht in der einfachsten Form aus einer MAC-Adresse (48bit) erweitert durch ein mittiges Einsetzen von 0xfffe. Dadurch entstehen permanente IPv6 Adressen – im Falle der ULA sogar dauerhaft permanent, da sich der Prefix – bestehend aus Global ID + Subnet ID – nicht ändert. Flankiert werden diese permanenten Adressen durch die Privacy Extensions for Stateless Address Autoconfiguration in IPv6 gemäß RFC4941. Diese erzeugen einen zufälligen Adressbestandteil auf der Interface ID und die damit gewonnen zusätzlichen temporären IPv6 Adressen können für ausgehende Verbindungen genutzt werden um eine vergrößerte Privatsphäre zu erhalten.

Bis zu diesem Punkt ist aus Administrationssicht alles in Ordnung. Schwierig wurde es mit der Einführung des RFC7217 A Method for Generating Semantically Opaque Interface Identifiers with IPv6 Stateless Address Autoconfiguration (SLAAC). Dieser sieht vor, die stabilen IPv6 Adressen im Bereich der EUI-64 Interface ID nicht mehr aufgrund der MAC ID zu generieren. An sich wäre das nicht schlimm, da die Adressen ja immer noch stabil sind und daher in eine DNS Konfiguration eingetragen werden können. Schwierig wird es aber wenn eine IPv6 Adresse eines Client-Netzwerkports auf einem Dual-Boot Rechner plötzlich anders lautet, da bspw. Linux und macOS den RFC7217 anwenden und auf unterschiedliche IPv6 Adressen kommen. Das lässt sich in einer DNS Konfiguration nicht mehr abbilden, es sei denn man vergibt auf dem Dual-Boot Rechner unterschiedliche Hostnamen (und IPv4 Adressen), wobei dann auf OSI-Level 2 eine ARP Adresse auf unterschiedliche IPv6 Adressen verzweigt, was ev. bei einem Switch zu Problemen führt.

Abhilfe schafft hier, auf Betriebssystemebene die Anwendung der RFC7217 zu verhindern, was bei genauerer Betrachtung die Privatsphäre nicht wesentlich beinträchtigt, da die temporären Adressen gemäß RFC4941 immer noch existieren und darüber hinaus der Footprint eines Anwenders durch viele andere Erkennungsmerkmale gewonnen werden kann (oder bspw. durch uBlock Origin verhindert werden kann).
Dies Abschaltung der RFC7217 Implementationen wird mit folgenden Kommandos erreicht (Quelle: https://www.fz-juelich.de/SharedDocs/Downloads/IAS/JSC/DE/tki/tki-0412.pdf?__blob=publicationFile)

  • auf Linux (ohne Network Manager, bspw. Ubuntu 14.04)

    in /etc/sysctl.conf folgendes eintragen (falls eth0 tatsächlich das richtige interface ist)

    net.ipv6.conf.eth0.use_tempaddr = 0

  • auf Linux (mit Network Manager, bspw. Ubuntu 16.04)

    user@host> nmcli conn show
    (zeigt die verfügbaren Netzwerknamen an – hier den richtigen heraussuchen, bspw. ‚Wired connection 1‘)
    user@host> nmcli conn edit 'Wired connection 1'
    nmcli> save
    nmcli> set ipv6.addr-gen-mode eui64
    nmcli> set ipv6.ip6-privacy 0
    nmcli> save
    nmcli> quit

  • auf macOS:

    $ echo net.inet6.send.opmode=0 >> /etc/sysctl.conf
    $ reboot

Das bessere Produkt aus dem Duden-Verlag

Deutsch Sprach – schwer Sprach… und weil das auch für mich gilt, hätte ich doch gerne die Unterstützung von den heimischen Erzeugnissen des Duden Verlags.

Jahrelang setzte ich dabei auf die SW Duden-Bibliothek in der Version 5.x – Wer sie kennt, kennt auch deren Macken und leider auch die Behäbigkeit mit der diese beseitigt oder auch gerne ignoriert wurden.
Wobei das mit der Ignoranz dann am Ende damit gelöst wurde, indem man die SW Version 5.x als obsolet deklarierte und die Version 6.x als (besseren) Nachfolger etablierte.

WarumDenn.net würde man denken – aber die vom Duden Verlag engagierte SW Truppe schickt einen vom Regen in die Traufe. Das kleinere Übel – man war es nie anders gewohnt – war und ist, dass man die SW auf Linux (zumindest Ubuntu 16.04. 64bit) nicht ordnungsgemäß zum Laufen bringt. Zuerst klappt der Start nicht, da eine gstreamer Komponente fehlt, die allerdings bei der Packetinstallation hätte automatisch installiert werden müssen, sofern die Paketabhängigkeiten gestimmt hätten. Nach Überspringen dieser Hürde startet das Programm endlich, nur um sofort mit einer Fehlermeldung zu terminieren, dass „wichtige Komponenten fehlen„. Welche das sind bleibt das Geheimnis der Softwerker – man kann nicht sagen dass die SW nicht sicher sei – sie ist ziemlich sicher: vor Benutzung.
Wie auch immer, was fehlt war das Vorhandsein des privaten Konfigurationsordners ~/.dudenbibliothek6 mit samt der Datei dudenbib.nbof. Geholfen hat mir dabei der Support – immerhin…. wenn auch mit teilweise hanebüchenen Aussagen.

dudenimport
Dieses Vorgeplänkel tritt aber sofort in den Schatten, wenn man zum ersten Mal startet und die bisherigen „Bücher“ der alten Version importieren möchte, denn nicht nur das Oxford Dictionary aus einem Fremdverlag wird nicht mehr akzeptiert (darauf war ich vorbereitet), sondern auch alle Produkte aus dem Duden Verlag vor 2007. Damit war jeglicher Content entwertet – geplante Obsoleszenz also. Die Frage an dieser Stelle wäre – kann man denn überhaupt mit einem Synonymwörterbuch, welches 10 Jahre alt ist, noch leben? Antwort: VERDAMMT, JA!
An dieser Stelle möchte ich der vollständigkeit halber erwähnen, dass man auch mit der alten Version 5.x weiterleben kann (war in diesem Artikel die Quintessenz), wenn man nicht gerade unter Linux arbeitet und/oder mit den Unzulänglichkeiten dieser Version noch Leben kann.

Trotzdem prozessierte mein Gehirn noch den Gedankengang zu Ende, die neue SW mit neuen (fast gleichem) Duden Büchern wieder zu füllen, kam aber in der Ergebnisauswertung zum Schluß, dass der Homer-Simpsons-Faktor zur groß wäre. Denn um sich auszumalen, dass der Content bei der nächsten Major Revision wieder entwertet wird und die SW sowieso kompletter Crap ist und ziemlich sicher bei der nächstes OS-Update Runde nicht mehr (ordnungsgemäß) funktioniert ist seeeeehr groß.

Und……es gibt eine Alternative: Das Duden Universalwörterbuch (aggregiert zumindest teilweise mehrere Duden Einzelbände) gibt es als pdf Datei. Und wer ein mächtiges PDF Tool besitzt (z.B. PDFStudio, MasterPDFEditor…) hat dann eine Kombination auf sehr gutem Inhalt (Duden) und sehr guter SW.
In all den Jahren hat der Duden Verlag immer nur auf seinen Inhalt geschaut, der konstant gute Qualität bietet, bei seiner SW allerdings fast nur Schrott produziert oder produzieren lassen. Ein weiteres Beispiel wäre die Duden Rechtschreibkorrektur. Wie nötig wäre ein solches Programm für Libre-/OpenOffice und wie gut war der Inhalt der alten Versionen. Es wurde aber aufgegeben – aus gutem Grund, sie SW war und passte sich auch nie der laufenden Entwicklung der Programme an (stand wohl nicht im Work-Package drin).
Schade Duden. Inhaltlich Top – SW Flop! Ob das auf Dauer gut geht bezweifle ich stark.

Ärger mit dem Energiesparmodus auf Android

Jedesmal wenn mein Samsung S6 Edge Handy in den Energiesparmodus (ab 50% Akkukapazität) übergeht entstehen negative Effekte.

Allen voran können manchmal keine Email Nachrichten mehr gesendet werden. Dieser Zustand ist allerdings auch dem windigen Provider O2/Telefónica geschuldet, dessen nicht-LTE-fähige Verbindungen sehr schlecht sind.
Kommt bei über 50% Akkukapazität (kein Energiesparmodus) noch beim Senden einer Email unter schlechten Empfangsbedingungen (bei O2/Telefónica die Regel)

Negative SMTP reply: 421 4.4.2 mail.mnet-online.de

..ist die Meldung bei unter 50% Akkukapazität (Energiesparmodus) dann plötzlich

ErrnoException: isConnected failed: ECONNRE...

..oder..

SSLException: Read error: ssl=0x7f519c3180:..

in diesem Moment funktionierte allerdings auch keine Internetverbindung im Chrome Browser. Dieser meldete beim Zugriffsversuch auf google.de:

"Diese Webseite ist nicht erreichbar. google.de hat die Verbindungs abgelehnt. Versuche Sie Folgendes:
Verbindung prüfen
ERR_CONNECTION_REFUSED

Beim besseren Empfang gibt sich das dann wieder. Nur die nicht gesendeten Emails werden selbst dann nicht mehr gesendet. Ob dies ein spezifisches Problem des K-9 Mailprogramms ist sei dahingestellt.
Auf das Thema hat mich übrigens DavDroid aufmerksam gemacht, dessen letztes Update vorgeschlagen hat sich selber aus dem „Optimierungsmechanismus“ von Android zu entfernen, da dieser eine Synchronisation im Energysparmodus abschaltet.

persistene Drehung von pdf Seiten

Im Falle von eingescannten Seiten die das Zielformat .pdf bekommen, stimmt manchmal die Ausrichtung nicht – Seiten sind bspw. 180° verdreht.

Relativ leicht passiert es dann, das man die Seiten dreht, das Dokument speichert und sich dann wundert, dass es beim erneuten Öffnen immer noch falsch ausgerichtet ist.

Der Grund dafür ist, dass viele PDF Programme – bspw. PDF Studio oder Master PDF Editor – das Rotieren in zwei Varianten zur Verfügung stellen.

1. Rotieren von Seiten im View Menü
2. Rotieren von Seiten im Documents Menü

Im ersten Fall rotiert man nicht-persistent (auch im Falle einer Speicherung) – nur im zweiten Fall bleibt die Rotation erhalten, sofern man das Dokument tatsächlich speichert.

eBooks auf gutem Weg

Während die Verlage (zumindest im technischen Bereich / IT) sukzessive Ihre Hausaufgaben gemacht haben:

* eBooks DRM-frei herauszugeben
* offenen Formate (PDF) unterstützen
* sogar alte DRM-gekaufte Produkte nachträglich als freien Download realisieren

steht nun der Digitalisierung in diesem Bereich nichts ernstes mehr im Wege. Besonders positiv hervorzuheben sind Franzis, Springer-Verlag (Wissenschaftsverlag) und Pearson um nur einige zu nennen.

Leidig sind nur die Störfeuer aus der Politik. Bei der Mehrwertsteuer gelten immer noch 19% auf eBooks, während es bei gedruckten Büchern nur 7% sind. Resourcenverschwendung beim Buchdruck wird belohnt!
Und jetzt soll auch noch die Buchpreisbindung auf eBooks kommen. Wozu? Um lokale Online-Händler zu belohnen? Für was? Gerade die SPD-geführten Ministerien für Wirtschaft sowie Justiz entpuppen sich als Schutzpatrone für die druckende Verlagswirtschaft. Mal schauen wie lange sie das noch können.

languagesetup manipuliert EFI boot order

Vorsicht bei einem dual-boot setup auf einem Mac OS X Rechner und der Verwendung des languagesetup tools. Das schlecht dokumentierte (siehe selbige manpage) Tool languagesetup unter Mac OS X (auch Mavericks) stellt die default language um und damit auch die angezeigte Sprache im Login-Window, welches im Falle einer internationalen Benutzung am besten Englisch sein sollte, auch wenn der Setup unüberlegterweise in Deutsch erfolgte.

Das Tool stellt leider als unangenehmen Seiteneffekt auch die Boot-Order in EFI wieder um, so dass Ubuntu via GRUB2 gar nicht mehr als Option beim Booten erscheint.
Abhilfe schafft folgende Prozedur:
Das Installationsmedium von Ubuntu (z.B. USB-Stick) wieder zur Hand nehmen und den Rechner mit gedrückter Auswahltaste starten. Dann den Punkt Ubuntu Live Modus starten. Die Ernüchterung an dieser Stelle kommt, wenn man bemerkt dass das benötigte tool efibootmgr dort gar nicht vorhanden ist. Mann muss es also per

sudo apt-get install efibootmgr

installieren, vorausgesetzt man kann eine Netzwerkverbindung aufbauen, oder man lädt sich das Paket von launchpad herunter – hier bspw. die Ubuntu Trusty (14.04) Variante – und spielt es per USB-Stick und Software-Center ein.

Dann ändert man die Boot-Order gemäß der Installationsanweisung wieder, in meinem Fall war das

sudo efibootmgr -o 0,80

Ein Dankeschön an die Ubuntu Community und ein dreifaches Pfui auf Apple, welches das Prinzip minimal invasiv geflissentlich ignoriert, in freudiger Erwartung der Weltbeherrschung.

Life Cycle of Systems – ISO 12207 im Schatten von ISO 15288

Wer Systeme mit einem hohen Anteil an Software entwirft oder betreut, steht vor großen Herausforderungen das System mit zur Abnahme beim Kunden konsistent (oder im Kosten-, Zeit- und Qualitätsrahmen) zu halten.
Im System Engineering ist ISO 15288 Systems and software engineering – System life cycle processes ein guter Ratgeber. Dort werden in einer Art Baukasten verschiedene Prozesse beschrieben, die man während der Lebenszeit (Life Cycle) auf das zu Zielsystem (System of interest) anwenden kann.
Doch sind diese – allen voran die technischen Prozesse in Kapitel 4 – gut genug wenn die wichtigen Systemelemente (Subsysteme) reine Software (SW) sind?
Theoretisch ja – praktisch vielleicht, es kommt auf das sog. Tailoring an. Es schadet aber nicht, in diesem Fall ISO 12207 Systems and software engineering — Software life cycle processes anzuschauen. Der Titel ist fast der gleiche wie bei ISO 15288 – sie orientiert sich auch stark an diese und gibt dem Leser 2 Möglichkeiten zur Benutzung vor.

  1. Das ganze System ist quasi Software – Man orientiert sich an den IO 15288 Prozessen und adaptiert diese gemäß Kapitel 6 von ISO 12207
  2. Das System besteht nicht nur aus SW – die ISO 15288 bestimmen das System of interest. Wird ein System Element als SW-item identifiziert wird dieses dann mit den Prozessen von Kapitel 7 des ISO 12207 Standards gehandelt. Dort werden 3 neue Prozessgruppen vorgestellt:
    • Software Implementation Processes
    • Software Support Processes
    • Software Resuse Processes

Gerade im 2.Ansatz liegt die Stärke, die überwiegend akzeptierten Vorgehensweisen von ISO 15288 auf die Spezifikas von SW zu übertragen, zumal ISO 12207 sich auch mit der ganzen Sprache eng an ISO 15288 anlehnt.