Unencrypt Avenue Code (D. Loss)

Konversation mit Dirk Loss (Uni Münster) über Kryptographie und freie Software

An: Johannes Weigel
Betreff: Kryptographie und freie Software

Hallo Johannes,

eine guten Tipp, in welcher Form du deine Ergebnisse veröffentlichen könntest, habe ich leider nicht. Ein paar Anregungen möchte ich dir aber geben:

* Anscheinend hat ein gewisser Mark Ontkush bereits 1996 herausgefunden, dass die Avenue-Skripte nur mit einem einfachen Vigenere-Code verschlüsselt werden [1]. Anhand seiner Hinweise in [2] dürften sehr viele Programmierer eine Entschlüsselungsroutine entwickeln können (bzw. schon entwickelt haben).

Daher würde ich dir empfehlen, den Schwerpunkt der Veröffentlichung eher auf die grundsätzlichen Thematik zu legen: Einsatz unsicherer Verschlüsselungsverfahren, Reaktionen des Herstellers und der Anwender, rechtliche und ethische Aspekte von Reverse Engineering und Kryptanalyse. Auch deine Vermutung, dass einfache Verschlüsselungen in Wirklichkeit eine Art Backdoor für die Hersteller darstellen, ließe sich vielleicht diskutieren.

* Arcview ist AFAIK proprietäre Software und damit wohl für Publikationen, die sich mit Freier Software beschäftigen, zunächst einmal kaum interessant.

Außerdem: Wenn du Avenue-Skripte als Freie Software veröffentlichen möchtest, wirst du sie sinnvollerweise überhaupt nicht verschlüsseln. Andererseits kannst du Autoren proprietärer Avenue-Skripte nicht grundsätzlich dazu zwingen, den Code unverschlüsselt (oder auch überhaupt im Quellcode) zu
veröffentlichen, damit du dich davon überzeugen kannst, dass sie keinen Code verwendet haben, der z. B. unter der der GNU GPL steht.

Schöne Grüße
Dirk

[1] Message-ID: <4lo47s$fio%amenti.rutgers.edu>#1/1)
[2] http://www.spatial.maine.edu/ucgis/testproc/ontkush/

---------------------------------

An: Dirk Loss
Betreff: Re: Kryptographie und freie Software

Hallo Dirk,

Tausend Dank für den Hinweis mit Mark Ontkush. In dem Text steht so ziemlich alles drin, was ich vorhatte zu publizieren (auf alle Fälle alles, was nötig ist, einen Entschlüsselungsalgorithmus zu programmieren). Es liefe also auf den 'grundsätzlicheren' Schwerpunkt hinaus. Interessant ist dabei der Aspekt, dass es für Avenue-Code ja weder ein sicheres Verschlüsselungsverfahren noch die Möglichkeit gibt, den Code in compilierter Form abzuspeichern. Jeder Avenue-Code ist dadurch heute inspizierbar. Dadurch wird Avenue-Programmierung (als Bestandteil des proprietären ArcView) zwar nicht zu 'Freier Software' i.e.S., aber sie wird Open Source, was m.E. dem Grundgedanken Freier Software Aufwind gibt ;-)

Grüße aus H,

Johannes

---------------------------------

An: Johannes Weigel
Betreff: Re: Kryptographie und freie Software

> Jeder Avenue-Code ist dadurch heute
> inspizierbar. Dadurch wird Avenue-Programmierung (als Bestandteil des
> proprietären ArcView) zwar nicht zu 'Freier Software' i.e.S., aber sie wird
> Open Source,


Nein, wohl eher sowas wie "Shared Source", und das auch ungewollt.

Unter "Open Source" Software wird heute allgemein solche Software verstanden, welche die Open Source Definition der OSI (Open Source Initiative) erfüllt. http://www.opensource.org/docs/definition_plain.html>.

Die Verfügbarkeit des Quellcodes ist dabei nur eine von neun Anforderungen. Insbesondere wird bei proprietären Avenue-Programmen die Modifikation und Weiterverbreitung von den Autoren nicht erlaubt.

Interessant ist außerdem, dass Paragraph 2 der Open Source Definition explizit sagt: "Deliberately obfuscated source code is not allowed." Auch eine leicht zu knackende Verschlüsselung dürfte immerhin noch als "obfuscation" gelten.

Kurz: Dass du proprietäre Avenue-Programme inspizieren kannst, hilft dir in Sachen Open Source und Freie Software gar nichts. Im Gegenteil, es kann sogar schaden. Siehe z.B. <http://www.gnu.org/projects/dotgnu/index.html> "Don't read unpublished Microsoft information".

Schöne Grüße
Dirk

---------------------------------

An: Dirk Loss
Betreff: Re: Kryptographie und freie Software

Hallo Dirk,

Eine Verschlüsselung, die jeder knacken kann, ist so viel wert wie keine Verschlüsselung. Eigentlich noch weniger, da die Firma ESRI ja immer noch behauptet, die Verschlüsselung hätte irgend einen Wert. Das wirkt ein bisschen, wie in Südeuropa Fußgänger zur Benutzung eines Zebrastreifens aufzufordern, auch wenn die Autofahrer davor nicht bremsen. Ich zeige nur, dass die Verschlüsselung wertlos ist (ich kann sie ja nicht besser machen oder so tun als wäre sie das), ansonsten gibt es auch für Avenue Verfahren zur Obfuscation von Quellcode, z.B. Uglify ( http://www.quantdec.com/encrypt/uglify.htm ), die jedem zugänglich sind und nicht ohne weiteres reversibel sind. Nur sollte eben jeder wissen, was er tut, wenn er seinen Quellcode verschlüsselt. Ob Modifikation und Weiterverbreitung erlaubt ist, wird ansonsten, wie Du weißt, nicht mit Verschlüsselung, sondern mit Hilfe von Lizenzvereinbarungen geregelt, ob die Programmierung nun auf Basis eines proprietären Systems erfolgt oder nicht.


Danke ansonsten für die Open Source-Definition. Den Begriff habe ich wohl falsch verwendet (beim Versuch, eine Abgrenzung öffentlich zugänglichen Quellcodes zu "Freier Software" vorzunehmen). Was den Schaden für die Open Source-Welt betrifft, glaube ich, dass der eher von der Firma Microsoft ausgeht, als vom Zugang zu unveröffentlichter Information. Das steht aber auf einem anderen Blatt, es geht ja nicht um Microsoft. Aber in eine Schmuddel-Ecke möchte ich mich auch nicht drängen lassen, immerhin gibt es bzgl. der Legalität des von mir geschriebenen Codes unterschiedliche Ansichten (wenn man bei Quellcode von legal und illegal sprechen kann; zumindest gilt 'in dubio pro reo'), außerdem habe ich ihn zu keinem illegalen Zweck programmiert oder dazu verwendet und habe das auch nicht vor, und drittens distanziere ich mich auch in den beiliegenden Readme-Dateien von jeder illegalen Verwendung. Verziehen sei mir nochmal die Verwendung des Begriffs Open Source (wenngleich mein Unencrypt-Programm, wie ich meine, die OSI-Kriterien erfüllt), aber der Einstieg in die große weite Linuxwelt ist mir bisher leider noch nicht wirklich gelungen.

Tschau,

Johannes

---------------------------------

An: Johannes Weigel
Betreff: Re: Kryptographie und freie Software

Hallo Johannes!

> Eine Verschlüsselung, die jeder knacken kann, ist so viel wert wie keine
> Verschlüsselung. Eigentlich noch weniger, da die Firma ESRI ja immer noch
> behauptet, die Verschlüsselung hätte irgend einen Wert.
[...]
> Nur sollte eben jeder wissen, was er
> tut, wenn er seinen Quellcode verschlüsselt. Ob Modifikation und
> Weiterverbreitung erlaubt ist, wird ansonsten, wie Du weißt, nicht mit
> Verschlüsselung, sondern mit Hilfe von Lizenzvereinbarungen geregelt, ob
> die Programmierung nun auf Basis eines proprietären Systems erfolgt oder
> nicht.

Ja, hier bin ich völlig deiner Meinung.

> Was den Schaden für die Open
> Source-Welt betrifft, glaube ich, dass der eher von der Firma Microsoft
> ausgeht, als vom Zugang zu unveröffentlichter Information.

Was ich meinte ist: Sourcecode, der offen liegt, aber unter einer proprietären Lizenz steht, _kann_ unter Umständen die Gefahr bergen, dass irgend jemand Teile des Codes unerlaubterweise in Freie Software einfließen lässt -- vielleicht sogar unbeabsichtigt. Lies mal "LWN: The Solaris trap" [1] für
ein Beispiel.

Persönlich halte ich dies nicht für ein großes Problem: Bevor man Code übernimmt, muss man in jedem Fall die Lizenzbedingungen genau prüfen. Ich wollte nur ein Beispiel zeigen, dass das Offenlegen von Sourcecode nicht immer positiv für die Free Software Community ist. Ein weiteres Argument wäre
zum Beispiel, dass auf diese Weise der Anreiz vermindert wird, für das Programm freie Alternativen zu entwickeln.

> Aber in eine
> Schmuddel-Ecke möchte ich mich auch nicht drängen lassen, immerhin gibt es
> bzgl. der Legalität des von mir geschriebenen Codes unterschiedliche
> Ansichten (wenn man bei Quellcode von legal und illegal sprechen kann;
> zumindest gilt 'in dubio pro reo'), außerdem habe ich ihn zu keinem
> illegalen Zweck programmiert oder dazu verwendet und habe das auch nicht
> vor, und drittens distanziere ich mich auch in den beiliegenden
> Readme-Dateien von jeder illegalen Verwendung.

IMHO ist gegen deine Veröffentlichung des Entschlüsselungsprogramms nichts einzuwenden.

Rechtlich hast du wohl nur dann ein Problem, wenn du damit tatsächlich gegen den Lizenzvertrag von ArcView verstößt (so wie es Damian Spangrud behauptet) und du diesen Lizenzvertrag auch wirklich explizit akzeptiert hast -- Shrink-Wrap Verträge sind in Deutschland AFAIK nicht wirksam. Aber ich bin kein Jurist.

Die ganze Geschichte erinnnert mich etwas an die "Full-Disclosure"-Diskussion unter IT-Sicherheitsexperten: Darf man auf Sicherheitslücken in Software hinweisen und sogar Programme veröffentlichen, die diese ausnutzen? Wenn ja, wie sollte man sinnvollerweise vorgehen bzw. was sollte man vorher noch erledigen (z. B. den Hersteller informieren)? Bruce Schneier hat dazu z. B. einen guten Artikel geschrieben.[2]

> Verziehen sei mir nochmal die Verwendung des Begriffs Open Source

Kein Problem. Wenn du dich näher über Freie Software und Open Source (und die unterschiedlichen Ziele der beiden Bewegungen) informieren willst, schau dich einfach ein bisschen auf den Homepages der FSF [3] und der OSI [4] um.

> (wenngleich mein Unencrypt-Programm, wie ich meine, die OSI-Kriterien
> erfüllt),

Ich habe mir den Lizenztext noch nicht genau angesehen, aber er scheint mir eine Mischung aus der DaltonGIS-Lizenz [5] und der Benchmark GIS License [6] zu sein. Aufgefallen ist mir die Werbeklausel, die an die "obnoxious BSD advertising clause" [7] erinnert. Warum nimmst du nicht eine einfachere und verbreitertere Lizenz, z. B. die X11-Lizenz [8] oder eine andere Freie Software Lizenz [9]?

Schöne Grüße
Dirk

[1] <http://old.lwn.net/1999/features/Solaris.phtml>
[2] <http://www.counterpane.com/crypto-gram-0111.html>
[3] <http://www.fsf.org/philosophy/philosophy.html>
[4] <http://www.opensource.org/>
[5] <http://daltongis.crosswinds.net/agreement.htm>
[6] <http://www.benchmarkgis.com/license.htm>
[7] <http://www.fsf.org/philosophy/bsd.html>
[8] <http://www.x.org/terms.htm>
[9] <http://www.gnu.org/licenses/license-list.html#TOCGPLCompatibleLicenses>

---------------------------------

URL: http://www.ecogis.de/dirk.html

Homepage: http://www.ecogis.de/

last edited: Johannes Weigel, September 21, 2002