Signaturen für Auto-Updates

Hier finden YaCy User Hilfe wenn was nicht funktioniert oder anders funktioniert als man dachte. Bei offensichtlichen Fehlern diese bitte gleich in die Bugs (http://bugs.yacy.net) eintragen.
Forumsregeln
In diesem Forum geht es um Benutzungsprobleme und Anfragen für Hilfe. Wird dabei ein Bug identifiziert, wird der thread zur Bearbeitung in die Bug-Sektion verschoben. Wer hier also einen Thread eingestellt hat und ihn vermisst, wird ihn sicherlich in der Bug-Sektion wiederfinden.

Signaturen für Auto-Updates

Beitragvon flori » Mo Mär 02, 2009 2:21 pm

Ich hab mir jetzt mal vorgenommen das Thema anzugehen, weil ich die AutoUpdate-Funktion sonst nicht verwenden würde :)

Mir ist dabei folgendes wichtig: Die Sache soll so einfach und simple wie möglich sein und es soll jedem möglich sein, seine eigene UpdateLocation aufzusetzten.

Ich denke, das wir für die Updates keine PKI brauchen, sondern das wir die PublicKeys einfach zu den UpdateLocations in die Config schreiben. Die PublicKeys sind zwar mit fast 600 Base64 Buchstaben etwas unhandlich, aber das geht schon. Die zu den tar.gzs gehörenden Signaturen, würde ich dann einfach noch mit der Erweiterung .sig versehen. Danach wird bei jedem Download überprüft, ob die Signatur vorhanden ist und ob sie stimmt: Wenn nicht, erscheint ein Hinweis auf der Statusseite und das Update wird nicht eingespielt. "Verlorengangene" Schlüssel könnte man dann nur über SVN, neues Release oder Handarbeit austauschen. Wenn dann jeder auf UpdateLocation-Betreiber auf seinen PrivateKey aufpasst, ist das unterschieben von falschen Updates kaum mehr möglich.

Das ganze wäre relativ einfach. Man könnte auch ein RootCA-Schlüssel pro Netz machen oder die Verschlüsselung auch für die YaCy-Kommunikation verwenden.
flori
 
Beiträge: 245
Registriert: Mi Jun 27, 2007 10:17 pm
Wohnort: Karlsruhe

Re: Signaturen für Auto-Updates

Beitragvon flori » Fr Apr 17, 2009 2:15 pm

So, ich habst jetzt endlich fertig und eingecheckt (r5822). Im Wiki gibts ne kleine Anleitung dazu.
Jetzt müss nur noch nach und nach jeder, der im Freeworld Updates zur Verfügung stellt, Keys und die Signaturen erzeugen.
flori
 
Beiträge: 245
Registriert: Mi Jun 27, 2007 10:17 pm
Wohnort: Karlsruhe

Re: Signaturen für Auto-Updates

Beitragvon Orbiter » Fr Apr 17, 2009 2:33 pm

uh, hatte beim SVN commit schon befürchtet dass das unübersichtlich und unhandlich wird. Das was du im Wiki beschreibst sieht aber sehr ordentlich aus.

Wenn jetzt jemand Releases zur Verfügung stellen will, muss er dann seinen public key in die Netzdefinition schreiben ins SVN einchecken? Dann kann ja jeder Developer quasi self-signing machen (was ok ist) und andere Release-Produzenten müssen um den Upload ihrer Keys bitten? Das ist eigentlich ganz nett.
Orbiter
 
Beiträge: 5797
Registriert: Di Jun 26, 2007 10:58 pm
Wohnort: Frankfurt am Main

Re: Signaturen für Auto-Updates

Beitragvon lulabad » Fr Apr 17, 2009 3:33 pm

Erster :P
Bitte mal überprüfen ob das was ich gemacht habe auch richtig ist.
lulabad
 
Beiträge: 709
Registriert: Mi Jun 27, 2007 11:40 am
Wohnort: Im Herzen Bayerns

Re: Signaturen für Auto-Updates

Beitragvon flori » Fr Apr 17, 2009 3:59 pm

Orbiter hat geschrieben:Wenn jetzt jemand Releases zur Verfügung stellen will, muss er dann seinen public key in die Netzdefinition schreiben ins SVN einchecken? Dann kann ja jeder Developer quasi self-signing machen (was ok ist) und andere Release-Produzenten müssen um den Upload ihrer Keys bitten? Das ist eigentlich ganz nett.

Jo, genauso.

lulabad hat geschrieben:Bitte mal überprüfen ob das was ich gemacht habe auch richtig ist.


Passt wunderbar. Ich konnte die Releases mit der Signature auch überprüfen.

Mit
Code: Alles auswählen
java -cp classes de.anomic.tools.CryptoLib --help

kann man übrigens auch direkt signieren, verifizieren und Schlüssel erzeugen. Z.B.:
Code: Alles auswählen
java -cp classes de.anomic.tools.CryptoLib --verify publicKey.file datei
flori
 
Beiträge: 245
Registriert: Mi Jun 27, 2007 10:17 pm
Wohnort: Karlsruhe

Re: Signaturen für Auto-Updates

Beitragvon Orbiter » Fr Apr 17, 2009 4:04 pm

was passiert mit releases, die nicht signiert wurden? hat man dann die Möglichkeit den Check zu übergehen?
Wie ist das mit dem Download-Release, da bleibt alles beim alten. Wenn ich da eine Signierung mit ablege, wie kann der Downloader dann 'händisch' die Signatur überprüfen? Kannst du das bitte in zwei Sätzen beschreiben, so dass ich es zum Download-Knopf dazu schreiben kann?
Orbiter
 
Beiträge: 5797
Registriert: Di Jun 26, 2007 10:58 pm
Wohnort: Frankfurt am Main

Re: Signaturen für Auto-Updates

Beitragvon flori » Fr Apr 17, 2009 4:33 pm

Orbiter hat geschrieben:was passiert mit releases, die nicht signiert wurden? hat man dann die Möglichkeit den Check zu übergehen?

Wenn zu einem Updatelocation Eintrag in der Netzdefinition kein key eingetragen ist, dann wird auch nichts überprüft.

Orbiter hat geschrieben:Wie ist das mit dem Download-Release, da bleibt alles beim alten. Wenn ich da eine Signierung mit ablege, wie kann der Downloader dann 'händisch' die Signatur überprüfen? Kannst du das bitte in zwei Sätzen beschreiben, so dass ich es zum Download-Knopf dazu schreiben kann?

Das weiß ich auch noch nicht wie man das macht. Die Schlüssel sind zwar nach Standards codiert, man kann die aber nicht einfach so an gpg oder so weiter geben. Die Anweisung würden ungefähr so aussehen:
Release und public key herunterladen, release entpacken, im YaCy-Verzeichnis "java -cp classes de.anomic.tools.CryptoLib --verify ../publicKey ../yacy_v0.75_20090417_5827.tar.gz" ausführen.

Das ganze macht aber wenig Sinn, weil der publicKey ja von der selben Quelle kommt und gleich mit gefälscht werden kann. Mir ging es auch in erster Linie darum, dass das automatische Nachladen von Code nicht ausgenutzt werden kann.
flori
 
Beiträge: 245
Registriert: Mi Jun 27, 2007 10:17 pm
Wohnort: Karlsruhe

Re: Signaturen für Auto-Updates

Beitragvon Orbiter » Mi Apr 22, 2009 11:50 pm

flori hat geschrieben:
Orbiter hat geschrieben:was passiert mit releases, die nicht signiert wurden? hat man dann die Möglichkeit den Check zu übergehen?

Wenn zu einem Updatelocation Eintrag in der Netzdefinition kein key eingetragen ist, dann wird auch nichts überprüft.


ja aber dann habe ich ja wieder keine Kontrolle darüber, ob die Releases ok sind oder nicht. Kannst du noch irgendwie eine Markierung beim Download dran machen, dass man sieht man bekommt das aus einer signierten Quelle?

Das gleiche auch beim automatischen Download: 'nur aus signierten files' würde da fehlen.

Hab meine keys jetzt auch eingepflegt.
Orbiter
 
Beiträge: 5797
Registriert: Di Jun 26, 2007 10:58 pm
Wohnort: Frankfurt am Main

Re: Signaturen für Auto-Updates

Beitragvon flori » Fr Mai 01, 2009 2:35 pm

Orbiter hat geschrieben:Hab meine keys jetzt auch eingepflegt.


Irgendwas stimmt mit deiner Serverkonfiguration nicht. Wenn ich die Datei http://latest.yacy.de/yacy_v0.77_200904 ... tar.gz.sig herunterladen will, schickt er den Header "Content-Encoding: gzip", obwohl es nicht encoded ist. Deshalb kann das nicht geladen werden.
flori
 
Beiträge: 245
Registriert: Mi Jun 27, 2007 10:17 pm
Wohnort: Karlsruhe


Zurück zu Fragen und Antworten

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 2 Gäste

cron