parent
f98dc4a73b
commit
d28625bd8f
|
@ -17,30 +17,39 @@
|
||||||
für unsere Computer? Daten, Informationen, Wissen, Meinungen, Kunstwerke -
|
für unsere Computer? Daten, Informationen, Wissen, Meinungen, Kunstwerke -
|
||||||
kurz Inhalt. Er wird erstellt, verarbeitet und übertragen. Meist direkt
|
kurz Inhalt. Er wird erstellt, verarbeitet und übertragen. Meist direkt
|
||||||
elektronisch. Immer mehr Menschen haben einen Rechner mit Internetanschluss
|
elektronisch. Immer mehr Menschen haben einen Rechner mit Internetanschluss
|
||||||
zur Verfügung und evolutioneren damit Ihre Zusammenarbeit.</p>
|
zur Verfügung und evolutionieren damit ihre
|
||||||
|
Zusammenarbeit.</p>
|
||||||
|
|
||||||
<p>Inhalt wandert also von einer Nutzerin zum Nutzer und zurück. Dabei
|
<p>Inhalt wandert also von einer Nutzerin zum Nutzer und zurück. Dabei
|
||||||
muss er eine Form annehmen: Das Datenformat. Es legt fest, wie Daten - also
|
muss er eine Form annehmen: Das Datenformat. Es legt fest, wie Inhalt plus Verpackung
|
||||||
der Inhalt plus Verpackung - durch eine Software-Anwendung zu behandeln
|
zu handhaben sind, was darin stehen darf und wie das in einer Datei oder
|
||||||
sind. Damit ist das jeweils gewählte Datenformat zentral für die Frage, wie
|
über eine Internetverbindung dann konkret aussieht. Wer mitmachen möchte,
|
||||||
der Inhalt heute bearbeitet werden kann und wie lange das so bleiben
|
braucht eine Software, welche das Datenformat versteht. Sonst wäre der Inhalt
|
||||||
wird.</p>
|
für die eigene Anwendung wie eine unbekannte Fremdsprache. Wenn ein
|
||||||
|
Datenformat keine Speicherung von Fotos zuläßt, dann kann ich mit diesem eben
|
||||||
|
keine Fotos speichern. Die Wahl des Datenformats ist deshalb entscheidend
|
||||||
|
dafür, wie lange ich an meinen Inhalt herankomme und was ich mit ihm
|
||||||
|
machen kann.</p>
|
||||||
|
|
||||||
<p>Der einzelne Nutzer mag die Wirkung seiner Entscheidung bei jedem
|
<p>Der einzelne Nutzer mag die Wirkung seiner Entscheidung bei jedem
|
||||||
Abspeichern noch wenig bemerken. Wenn sich eine IT-Abteilung oder die
|
Abspeichern kaum bemerken. Wenn sich eine IT-Abteilung oder die
|
||||||
öffentliche Hand für ein Datenformat entscheiden, dann wirft das Wellen.
|
öffentliche Hand für ein Datenformat entscheiden, dann wirft das Wellen.
|
||||||
Die damit verbundene Wahl der Softwarelösung hat Auswirkungen auf viele
|
Die damit verbundene Wahl der Softwarelösung hat Auswirkungen auf viele
|
||||||
Jahre und Jahrzehnte hinweg. Je mehr wertvolle Schriftstücke, Tonaufnahmen
|
Jahre und Jahrzehnte hinaus. Je mehr wertvolle Schriftstücke, Tonaufnahmen
|
||||||
oder Bilder elektronisch abgelegt werden, desto wertvoller, darauf noch
|
oder Bilder elektronisch abgelegt werden, desto wertvoller, darauf noch
|
||||||
zugreifen zu können. Bewusst oder indirekt wird so auch die Entwicklung
|
zugreifen zu können. Bewusst oder indirekt wird so auch die Entwicklung
|
||||||
der Datenformate finanziert. Viele Softwarehersteller versuchen absichtlich
|
der Datenformate finanziert. Viele Softwarehersteller versuchen absichtlich
|
||||||
viele Nutzergruppen dazu zu verleiten, ein von Ihnen beherrschtes
|
Nutzer dazu zu verleiten, ein von ihnen beherrschtes
|
||||||
Datenformat zu nehmen. Der Hersteller erhält dann die Daten eines
|
Datenformat zu verwenden, zum Beispiel für die Konstruktionspläne von Fahrzeugen,
|
||||||
Unternehmens oder eines Staates als Faustpfand. Aus seiner Sicht eine
|
Gebäuden oder Maschinen. Der Hersteller der dazugehörigen CAD-Anwendung erhält dann
|
||||||
starke Verhandlungsposition für die Kosten der nächsten Version.</p>
|
praktisch diese Daten eines Unternehmens als Faustpfand.
|
||||||
|
Aus seiner Sicht ist das eine
|
||||||
|
starke Verhandlungsposition für die Kosten der nächsten Version.
|
||||||
|
Manchmal begeben sich auch ganze Staaten in eine solche Situation.</p>
|
||||||
|
|
||||||
<p>Deshalb ist es für ein gutes Datenformat unabdingbar, ein <a
|
<p>Deshalb kann ein gutes Datenformat nur ein <a
|
||||||
href="/projects/os/def.html">Offener Standard</a> zu sein. Diese
|
href="/projects/os/def.html">Offener Standard</a> sein.
|
||||||
|
Diese
|
||||||
Grundvoraussetzung ist jedoch nicht ausreichend. Das Datenformat muss
|
Grundvoraussetzung ist jedoch nicht ausreichend. Das Datenformat muss
|
||||||
zudem ein Problem angemessen lösen, also fachlich und technisch gut passen.
|
zudem ein Problem angemessen lösen, also fachlich und technisch gut passen.
|
||||||
Dazu lassen sich eine Vielzahl von Eigenschaften betrachten. Das <a
|
Dazu lassen sich eine Vielzahl von Eigenschaften betrachten. Das <a
|
||||||
|
@ -58,11 +67,11 @@
|
||||||
<p>Die erste Frage erläutert sich von selbst: Wer einen Text speichern,
|
<p>Die erste Frage erläutert sich von selbst: Wer einen Text speichern,
|
||||||
übertragen und durchsuchen möchte, der wird ungern ein Format für
|
übertragen und durchsuchen möchte, der wird ungern ein Format für
|
||||||
pixelbasierte Bilder wählen - obwohl bei eingescannten Papieren oder
|
pixelbasierte Bilder wählen - obwohl bei eingescannten Papieren oder
|
||||||
Faxsimiles im ersten Schritt unvermeidlich.</p>
|
Faksimiles im ersten Schritt unvermeidlich.</p>
|
||||||
|
|
||||||
<p>Spannender ist die zweite Frage: Ist das Format so kompliziert wie nötig
|
<p>Spannender ist die zweite Frage: Ist das Format so kompliziert wie nötig
|
||||||
und so einfach wie möglich? Es ist schwer ein Datenformat zu entwerden
|
und so einfach wie möglich? Es ist schwer, ein Datenformat zu entwerfen
|
||||||
oder auszuwählen, was diesem Minimalgebot entspricht.</p>
|
oder auszuwählen, welches diesem Minimalgebot entspricht.</p>
|
||||||
|
|
||||||
<p>Da ist einmal die schlechte Wirkung des <a
|
<p>Da ist einmal die schlechte Wirkung des <a
|
||||||
href="http://sourcemaking.com/antipatterns/design-by-committee">"Design
|
href="http://sourcemaking.com/antipatterns/design-by-committee">"Design
|
||||||
|
@ -81,8 +90,8 @@
|
||||||
<p>Hinzu kommt, dass Software-Lösungen oft mit einer Abhakliste bewertet
|
<p>Hinzu kommt, dass Software-Lösungen oft mit einer Abhakliste bewertet
|
||||||
werden. Zuerst dürfen sich alle Betroffenen etwas wünschen. Diese Wünsche
|
werden. Zuerst dürfen sich alle Betroffenen etwas wünschen. Diese Wünsche
|
||||||
sind oft konkrete Lösungsideen und werden zu der Liste für die Beschaffung
|
sind oft konkrete Lösungsideen und werden zu der Liste für die Beschaffung
|
||||||
verdichtet. Das Software-Produkt gewinnt mit den meisten Häkchen, was mein
|
verdichtet. Das Software-Produkt gewinnt mit den meisten Häkchen, was meist
|
||||||
ein Datenformat bedeutet in dem selten bis gar nicht gebrauchte Funktionen
|
ein Datenformat bedeutet, welches selten bis gar nicht gebrauchte Funktionen
|
||||||
enthält. Besser wäre es die Wünsche problemorientiert zu erfassen und mehr
|
enthält. Besser wäre es die Wünsche problemorientiert zu erfassen und mehr
|
||||||
Punkte für Lösungen zu verteilen, welche mit mehreren, einfachen, sich
|
Punkte für Lösungen zu verteilen, welche mit mehreren, einfachen, sich
|
||||||
ergänzenden Datenformaten arbeiten.</p>
|
ergänzenden Datenformaten arbeiten.</p>
|
||||||
|
@ -101,9 +110,9 @@
|
||||||
<p>Jede zusätzliche Funktion oder Regelung macht die Beschreibung eines
|
<p>Jede zusätzliche Funktion oder Regelung macht die Beschreibung eines
|
||||||
Datenformats exponentiell komplizierter. Die Nachteile sind immens. Die
|
Datenformats exponentiell komplizierter. Die Nachteile sind immens. Die
|
||||||
Entwickler von einer Software, welche mit einem Datenformat umgehen soll,
|
Entwickler von einer Software, welche mit einem Datenformat umgehen soll,
|
||||||
müssen die Beschreibung komplett durchdringen. Das umfaßt den ganzen Textes
|
müssen die Beschreibung komplett durchdringen. Das umfasst den ganzen Text
|
||||||
und dann alle Möglichkeiten, welche sich durch die Kombination der
|
und dann alle Möglichkeiten, welche sich durch die Kombination der
|
||||||
enthaltenden Elemente ergeben. Weniger zu lesen und zu verstehen, bedeutet
|
enthaltenden Elemente ergeben. Weniger lesen und verstehen zu müssen, bedeutet
|
||||||
eine einfachere und sicherere Umsetzung in der Software. Das führt zu mehr
|
eine einfachere und sicherere Umsetzung in der Software. Das führt zu mehr
|
||||||
Software, welche das Datenformat auf hohem Niveau spricht. Wettbewerb,
|
Software, welche das Datenformat auf hohem Niveau spricht. Wettbewerb,
|
||||||
Auswahl und damit mehr Nutzen für Anwender folgen nach.</p>
|
Auswahl und damit mehr Nutzen für Anwender folgen nach.</p>
|
||||||
|
@ -112,13 +121,14 @@
|
||||||
selten benötigte Vorkehrungen gibt. Das Format und dessen Umsetzungen in
|
selten benötigte Vorkehrungen gibt. Das Format und dessen Umsetzungen in
|
||||||
Software gleichen dann einem großen verwinkeltem Haus, bei dem manches
|
Software gleichen dann einem großen verwinkeltem Haus, bei dem manches
|
||||||
stark belebt ist, aber einige Räume oder Nischen praktisch nie betreten
|
stark belebt ist, aber einige Räume oder Nischen praktisch nie betreten
|
||||||
werden. Klar, so ein Haus lässt sich schwerer absichern. Angreifer könnten
|
werden. Klar, so ein Haus lässt sich schwerer
|
||||||
|
absichern. Einbrecher könnten
|
||||||
einfach ein in Vergessenheit geratenes Kellerfenster aufdrücken, oder beim
|
einfach ein in Vergessenheit geratenes Kellerfenster aufdrücken, oder beim
|
||||||
offiziellen Gang durch das Gebäude, unentdeckt etwas in einem dunklen
|
offiziellen Gang durch das Gebäude unentdeckt etwas in einem dunklen
|
||||||
Treppenabsatz verstecken.</p>
|
Treppenabsatz verstecken.</p>
|
||||||
|
|
||||||
<p>Experten betrachten Komplexität als das größte Problem für
|
<p>Experten betrachten Komplexität als das größte Problem für
|
||||||
Software-Sicherheit. Deshalb stehen viele Standards skeptisch bis
|
Software-Sicherheit. Deshalb stehen viele von ihnen Standards skeptisch bis
|
||||||
feindselig gegenüber.<a class="fn" href="#fn">1</a> </p>
|
feindselig gegenüber.<a class="fn" href="#fn">1</a> </p>
|
||||||
|
|
||||||
<p>Um die Risiken greifbarer zu machen, betrachten wir wie ein Rechner
|
<p>Um die Risiken greifbarer zu machen, betrachten wir wie ein Rechner
|
||||||
|
@ -136,21 +146,21 @@
|
||||||
geschehen könnte. Bei den 256 Fällen von Latin-9 ging das; bei Unicode
|
geschehen könnte. Bei den 256 Fällen von Latin-9 ging das; bei Unicode
|
||||||
fehlt diese Übersicht. Ein schlauer Angreifer mag dann Kombinationen
|
fehlt diese Übersicht. Ein schlauer Angreifer mag dann Kombinationen
|
||||||
finden, an welche der Entwickler nicht gedacht hat. Das kommt regelmäßig
|
finden, an welche der Entwickler nicht gedacht hat. Das kommt regelmäßig
|
||||||
vor. Hier zwei wirklich einfache Angriffe welche Komplexität ausnutzen: <a
|
vor. Hier zwei einfache Beispiele: 1. <a
|
||||||
href="http://de.wikipedia.org/wiki/Homographischer_Angriff">Der
|
href="http://de.wikipedia.org/wiki/Homographischer_Angriff">Der
|
||||||
homographische Angriff</a> täuscht Nutzer durch ähnlich aussehende
|
homographische Angriff</a> täuscht Nutzer durch ähnlich aussehende
|
||||||
Internetadressen. Das Kyrillische aus Unicode-Schriften eignet sich dafür.
|
Internetadressen. Das Kyrillische aus Unicode-Schriften eignet sich dafür.
|
||||||
Den Entwicklern eines bekannten Webservers wurden vor vielen Jahren <a
|
2. Den Entwicklern eines bekannten Webservers wurden vor vielen Jahren <a
|
||||||
href="https://www.bsi.bund.de/ContentBSI/grundschutz/kataloge/m/m05/m05102.html">die
|
href="https://www.bsi.bund.de/ContentBSI/grundschutz/kataloge/m/m05/m05102.html">die
|
||||||
Möglichkeiten von Unicode in URLs zum Verhängnis</a>.</p>
|
Möglichkeiten von Unicode in URLs zum Verhängnis</a>.</p>
|
||||||
|
|
||||||
<p>Es ist keine Überraschung, dass es mehr Anwendungen gibt, welche mit
|
<p>Es ist keine Überraschung, dass es mehr Anwendungen gibt, welche mit
|
||||||
Latin-9 "korrekt" umgehen können, als mit Unicode. Das Problem ist für
|
Latin-9 "korrekt" umgehen können als mit Unicode. Das Problem ist für
|
||||||
jedes "dicker" spezifizierte Datenformat ähnlich: Es gibt Anwendungen
|
jedes "dicker" spezifizierte Datenformat ähnlich: Es gibt Anwendungen
|
||||||
welche die seltenen Funktionen nicht verstehen. Schon weil es so viele
|
welche die seltenen Funktionen nicht verstehen. Schon weil es so viele
|
||||||
Funktionen sind, dass sich das nicht mehr testen läßt. Beworben wird dann
|
Funktionen sind, dass sich das nicht mehr testen lässt. Beworben wird dann
|
||||||
die Fähigkeit Datenformat X zu verstehen, aber ob das in der Praxis mit der
|
die Fähigkeit, Datenformat X zu verstehen, aber ob das in der Praxis mit der
|
||||||
Software klappt ist fraglich.</p>
|
Software klappt, ist fraglich.</p>
|
||||||
|
|
||||||
<p>Manche Datenformate bauen dieses Problem sogar direkt ein: Es gibt von
|
<p>Manche Datenformate bauen dieses Problem sogar direkt ein: Es gibt von
|
||||||
ihnen verschiedene Ausbaustufen. Wer hier feststellen möchte, ob
|
ihnen verschiedene Ausbaustufen. Wer hier feststellen möchte, ob
|
||||||
|
@ -176,31 +186,32 @@
|
||||||
Elemente (Javascript) enthalten. Das macht jede Datei zu einer potentiellen
|
Elemente (Javascript) enthalten. Das macht jede Datei zu einer potentiellen
|
||||||
Anwendung mit Befehlen für meinen Computer. Klar, dass Angreifer das
|
Anwendung mit Befehlen für meinen Computer. Klar, dass Angreifer das
|
||||||
ausnutzen, wie bei den <a
|
ausnutzen, wie bei den <a
|
||||||
href="https://www.bsi-fuer-buerger.de/ContentBSIFB/GefahrenImNetz/Schadprogramme/Viren/viren.html">Makro-Viren</a>.</p>
|
href="https://www.bsi-fuer-buerger.de/ContentBSIFB/GefahrenImNetz/Schadprogramme/Viren/viren.html">Makro-Viren</a>. </p>
|
||||||
|
|
||||||
<p>Die meisten Texte, welche übertragen werden, brauchen nur einen kleinen
|
<p>Die meisten Texte, welche übertragen werden, brauchen nur einen kleinen
|
||||||
Bruchteil dessen, was gängige Datenformate ihnen an Formatierungs-,
|
Bruchteil dessen, was gängige Datenformate ihnen an Formatierungs-,
|
||||||
Auszeichnungs- und Layout-möglichkeiten anbieten. Eine schlichte Datei aus
|
Auszeichnungs- und Layout-möglichkeiten anbieten. Eine schlichte Datei aus
|
||||||
Latin-9 Zeichen kann seit Jahrzehnten auf jeden Rechner mit einem "Editor"
|
Latin-9 Zeichen kann seit Jahrzehnten auf jeden Rechner mit einem
|
||||||
und allen Textverarbeitungen bearbeitet werden. Mit steigenden
|
einfachen Texteditor und allen Textverarbeitungen bearbeitet werden. Mit steigenden
|
||||||
Anforderungen könnte ein kleiner Teil von HTML 2 schon ausreichen, für
|
Anforderungen könnte ein kleiner Teil von HTML 2 schon ausreichen, für
|
||||||
Überschriften, Aufzählungen und Internetverweise. Oder eine <a
|
Überschriften, Aufzählungen und Internetverweise. Oder eine <a
|
||||||
href="http://de.wikipedia.org/wiki/Creole_(Markup)">schlichte,
|
href="http://de.wikipedia.org/wiki/Creole_(Markup)">schlichte,
|
||||||
textbasierte Auszeichnungsprache</a>, wie sie in Wikis Verwendung finden.
|
textbasierte Auszeichnungsprache</a>, wie sie in Wikis Verwendung finden.
|
||||||
Die Wikipedias und Weblogs dieser Welt belegen das.</p>
|
Die Wikipedias und Weblogs dieser Welt belegen, das sich sehr viel
|
||||||
|
Inhalt mit solch einfachen Mittel ausdrücken läßt.</p>
|
||||||
|
|
||||||
<p>Alle - außer den Herstellern der proprietären Software - haben ein
|
<p>Alle - außer den Herstellern der proprietären Software - haben ein
|
||||||
Interesse daran, dass verschiedene Software-Produkte im Wettbewerb stehen.
|
Interesse daran, dass verschiedene Software-Produkte miteinander im Wettbewerb stehen.
|
||||||
Und dass die Produkte sicher gegen Angreifer und gut interoperabel sind.
|
Und dass die Produkte sicher gegen Angreifer und gut interoperabel sind.
|
||||||
Das Minimalgebot für Datenformate fördert all das. Es besteht darin alles
|
Das Minimalgebot für Datenformate fördert all das. Es besteht darin, alles
|
||||||
Wegzulassen, was nicht unbedingt notwendig ist. Ziel ist <a
|
wegzulassen, was nicht unbedingt notwendig ist. Ziel ist <a
|
||||||
href="http://magplot.de/TasteForMakers">ein schlichtes und elegantes
|
href="http://magplot.de/TasteForMakers">ein schlichtes und elegantes
|
||||||
Design</a>. Schön ist ein Baukasten, bei dem sich aus wenigen
|
Design</a>. Schön ist ein Baukasten, bei dem sich aus wenigen
|
||||||
verschiedenen Elementen leicht unendliche viele Werke schaffen lassen.</p>
|
verschiedenen Elementen leicht unendliche viele Werke schaffen lassen.</p>
|
||||||
|
|
||||||
<p>Obwohl es gute Gründe geben kann, ein Datenformat zu nehmen, was mehre
|
<p>Obwohl es gute Gründe geben kann, ein Datenformat zu nehmen, welches mehre
|
||||||
Anforderungen bündelt, die Frage "Geht das einfacher?" gehört häufiger mit
|
Anforderungen bündelt, sollten wir uns öfter fragen: "Geht das
|
||||||
Nachdruck gestellt.</p>
|
einfacher?"</p>
|
||||||
|
|
||||||
<h2 id="fn">Fußnoten</h2>
|
<h2 id="fn">Fußnoten</h2>
|
||||||
<ol>
|
<ol>
|
||||||
|
@ -210,11 +221,11 @@
|
||||||
<a href="http://www.macfergus.com/pc">http://www.macfergus.com/pc</a></li>
|
<a href="http://www.macfergus.com/pc">http://www.macfergus.com/pc</a></li>
|
||||||
</ol>
|
</ol>
|
||||||
|
|
||||||
<p>Neben der Standardslizenz der Webseite steht dieser Artikel unter der <a
|
<p>Neben der Standardlizenz der Webseite steht dieser Artikel unter der <a
|
||||||
href="https://creativecommons.org/licenses/by-sa/3.0/">Creative Commons
|
href="https://creativecommons.org/licenses/by-sa/3.0/">Creative Commons
|
||||||
Attribution-ShareAlike 3.0 Unported (CC BY-SA 3.0)</a>.</p>
|
Attribution-ShareAlike 3.0 Unported (CC BY-SA 3.0)</a>.</p>
|
||||||
|
|
||||||
</body>
|
</body>
|
||||||
|
|
||||||
<timestamp>$Date$ $Author: Matthias Kirschner$</timestamp>
|
<timestamp>$Date$ $Author$</timestamp>
|
||||||
</html>
|
</html>
|
||||||
|
|
Loading…
Reference in New Issue