Re: Verschlüsseltes tgz mit "garbage after EOF"

From: Timm Wimmers <timm(at)ticore.de>
Date: Tue, 30 Jun 2009 11:25:11 +0200

Oliver Fromme schrieb:
> Timm Wimmers wrote:
> > Ich würde gern ein verschlüsseltes tgz erstellen in etwa wie folgt:
> >
> > $ tar cjf - $SOURCEFOLDER | \
> > openssl bf -e \
> > -out $SOURCEFOLDER.tgz.enc \
> > -pass pass:SILLYPASS
> >
> > Wenn ich das jetzt wieder "decode" in etwa so:
> >
> > $ openssl bf -d \
> > -in $SOURCEFOLDER.tgz.enc \
> > -out $SOURCEFOLDER.tgz \
> > -pass pass:SILLYPASS
> >
> > Bekomme ich das TGZ entschlüsselt und kann es eigentlich ganz gut
> > entpacken, allerdings schmeißt bzip2 folgende Meldung aus:
> >
> > "bzip2: (stdin): trailing garbage after EOF ignored"
> >
> > Ich vermute openssl arbeitet blockweise und füllt am Ende fehlende Daten
> > bis zur Blockgrenze an das tgz an, also hängen da ein paar Bytes zuviel
> > dran. Da bzip2 die Datei ordnungsgemäß entpackt, mach ich mir jetzt
> > nicht allzu große Sorgen, bin mir aber unsicher.
>
> openssl bf arbeitet in der Tat blockweise, aber das betrifft
> nur die interne arbeitsweise. Wenn Du beliebige Daten durch
> "openssl bf -e | openssl bf -d" schickst, kommt am Ende das
> Original wieder Byte-für-Byte wieder heraus.
>
> Das Problem muss also woanders liegen.
>
> Ich verwende in einem Skript etwas ähnliches, um Backups zu
> verschlüsseln. Das von Dir geschilderte Problem tritt dort
> nicht auf. Allerdings gibt es da zwei wesentliche Unter-
> schiede: Erstens verwende ich gzip statt bzip2 (das hat
> Performance-Gründe), und zweitens verwende ich es separat
> als Kommando in der Pipe, nicht als Option -j bzw. -z von
> tar (ebenfalls aus Performance-Gründen).
>
> Vielleicht solltest Du das mal ausprobieren; evtl. kannst Du
> damit einzugrenzen, wo das Problem tatsächlich liegt. Eine
> andere Möglichkeit wäre, testweise mal gnutar statt bsdtar
> zu probieren.
>
> Gruß
> Olli

Ja, wenn ich das so mache funktioniert das sehr gut:

$ tar cf - $SOURCE | \
     gzip -c - - | \
     openssl bf -e -pass pass:silly > out.tgz.bf

Wie folgt entschlüsselt, bekomme ich ein korrektes tgz:

$ openssl bf -d -in out.tgz.bf -out out.tgz -pass pass:silly

Vielen Dank Olli.

Vielleicht sind mir noch einige Fragen gestattet, denn verschlüsselte
(Offsite-) Backups sind genau mein Ziel. :)

Wie gehst du vor? Also womit verschüsselst du und welcher "Cipher"
genießt dein Vertrauen? Würdest du deine verschlüsselten Backups auch
außerhalb ("untrusted network") ablegen, z.B. auf einem FTP-Server oder
Amazon S3?

-- 
Gruß, Timm
To Unsubscribe: send mail to majordomo(at)de.FreeBSD.org
with "unsubscribe de-bsd-questions" in the body of the message
Received on Tue 30 Jun 2009 - 11:25:25 CEST

search this site