"Piping" af gpg output
Hej derude
Jeg er i den situation at jeg har noget meget kritisk data som jeg har liggende på systemet i en kraftigt krypteret tekstfil. GPG kan afkryptere filen, men gør det ved at oprette en ny fil som jeg efterfølgende skal slette.
Mit filsystem er ext3, så jeg har forstået at det ikke er helt simpelt at lave en wipe på de ukrypterede data, pga et eller andet journal-gøjl i ext3.
Løsningen må jo være at få sendt gpg's output direkte til en tekst-editor (f.eks nano) og altså helt uden om harddisken - data på RAM er jo immervæk lettere at få til at forsvinde.
Er der en måde hvorpå man kan sende en fil direkte til et program, så den afkrypterede data ikke kommer i kontakt med disken? Jeg tænkte på noget i retning af:
Jeg har ikke helt styr på hvad piping er og hvad syntaxen er, så jeg gætter lidt basseret på hvad jeg syntes jeg har set i ny og næ. Problemet med overstående kommando (der faktisk virker... ish) er at den piper password prompten (altså lidt tekst), og jeg kan ikke rigtig styre gpg fra nano? Kan jeg måske bruge emacs i stedet for? Eller kan jeg få gpg til at lave en pipe som output og efterfølgende "fange" denne med et program?
Jeg er meget inkompetent på dette område, så jeg beklager selvfølgelig at jeg ikke rigtig aner hvad jeg snakker om. Al hjælp modtages med tak :)
Jeg er i den situation at jeg har noget meget kritisk data som jeg har liggende på systemet i en kraftigt krypteret tekstfil. GPG kan afkryptere filen, men gør det ved at oprette en ny fil som jeg efterfølgende skal slette.
Mit filsystem er ext3, så jeg har forstået at det ikke er helt simpelt at lave en wipe på de ukrypterede data, pga et eller andet journal-gøjl i ext3.
Løsningen må jo være at få sendt gpg's output direkte til en tekst-editor (f.eks nano) og altså helt uden om harddisken - data på RAM er jo immervæk lettere at få til at forsvinde.
Er der en måde hvorpå man kan sende en fil direkte til et program, så den afkrypterede data ikke kommer i kontakt med disken? Jeg tænkte på noget i retning af:
gpg -d krypteret_fil | nano -v
Jeg har ikke helt styr på hvad piping er og hvad syntaxen er, så jeg gætter lidt basseret på hvad jeg syntes jeg har set i ny og næ. Problemet med overstående kommando (der faktisk virker... ish) er at den piper password prompten (altså lidt tekst), og jeg kan ikke rigtig styre gpg fra nano? Kan jeg måske bruge emacs i stedet for? Eller kan jeg få gpg til at lave en pipe som output og efterfølgende "fange" denne med et program?
Jeg er meget inkompetent på dette område, så jeg beklager selvfølgelig at jeg ikke rigtig aner hvad jeg snakker om. Al hjælp modtages med tak :)
Kommentarer7
Re: "Piping" af gpg output
Hvorfor ikke bare gøre som alle os andre og bruge dm-crypt, der automatisk kan wrappe alt så kun krypteret data tilgår din harddisk.
Eller truecrypt kan selvfølgelig også dette, dm-crypt er bare nemmere da det er en del af kernen.
/Gumle
Re: "Piping" af gpg output
dm-crypt er *ikke* særlig nemt at bruge da det er en del af kernen! Som minimum skal en bruger som jeg bruge cryptsetup og efterfølgende rode rigtig meget for at få noget op at køre - og det ville oven i købet blive noget rod, da jeg i så fald skal have en fil (mini filsystem) med en låst størrelse på en given placering, som jeg efterfølgende kan placere mine kritiske data i. Men jeg skal manuelt "aktivere" cryptsetup og mounte før jeg kan arbejde med data, og efterfølgende demounte. Og det skal jeg gøre hver gang jeg skal bruge mine data (hvor jeg skal huske password og algoritmer, krypteringsstyrke o.lign.). Processen ville blive lidt nemmere hvis jeg skrev et script, men det kan jeg stadig ikke finde ud af :/
Hvis du tænkte på at kryptere hele hardisken, er det nok en anden sag. Men det har jeg vitterligt ikke lyst til.
Med gpg skal jeg blot bede den om at afkryptere, indsæt password, tilgå mine data, slet lortet => Done. Det er da rimelig nemt.
Men der er ingen grund til at bruge asymetrisk kryptering til mine data, det kan jeg godt se. Jeg må se efter et program som Truecrypt eller noget der er lidt simplere - Jeg mener, hvor svært kan det være at kryptere en enkel fil på 30 kB, så jeg skal indtaste et password på 26 tegn for at få lov til at læse data?
Re: "Piping" af gpg output
du kan også lege lidt med variabler ie $out =´komando´
nano $out
Re: "Piping" af gpg output
Jeg har lige været på google og på under 1min fandt jeg vim gpg plugin :P
http://www.vim.org/scripts/script.php?script_id=661
Det er da en løsning på dit problem, men hvordan at du ellers får korrekt pipet det manuelt ud hvis det er det som du ønsker ved jeg nu ikke helt.
/Gumle
Re: "Piping" af gpg output
Det er sku det nemmeste kryptering jeg nogen sinde har arbejdet med, og hvis dine data er så kritiske som du siger, så er dette ihvertfald ikke en alt for besværlig måde at gøre det på. Plus at en tre lags truecrypt kryptering nok også er lidt mere sikret end en lille gpg fil.
Re: "Piping" af gpg output
Så den korrekte process ikke tested med gpg men me et perl scrip der simulere
out=´gpg quiet -decrypt -quiet 2>/dev/null´
echo $out | vim -
og for at afslutte den uden din hemmellige tekst gemt som en bask variabl
out="not here"
hvis do stadigvæk har problemer kan du løbe outputted igennem grep
Dit største problem er at der er et interactivt ellement i gpg kan du slippe af med det er det godt.
læs iøvrigt http://tldp.org/LDP/abs/html/
følgende oneliner virker måske også gpg --quiet -d |exec vim -
#4 Efter et lille kig, viser
Efter et lille kig, viser det sig faktisk at gedit faktisk har et sådan plugin klar til brug (jeg installerede seahorse for et stykke tid siden). At plugin'et ikke virker, fordi det er defekt for tiden er så noget andet :D (øv!)
Vim plugin lader til at være lige det jeg søger, desværre har jeg ikke plads til at installere det for tiden - hvilket er lidt pinligt, jeg dummede mig da jeg oprettede systemets partitioner.
#3 og #6
Jeg bliver nok nød til at springe piping og variabler over for denne gang, jeg er ikke dygtig nok til at forsøge mig med den slags og heller ikke helt tid til at sætte mig ind i stoffet. Sygt link i øvrigt :)
Jeg ved ikke helt hvad gpg --quiet gør. For gpg skal jo på en eller anden vis fodres med password'et til decrypteringen, netop det interaktive element. Jeg kan ikke helt se hvordan man kan komme uden om at skulle indtaste password :(
#5
Truecrypt eller cryptsetup er givetvis bedre løsninger end en simpel kryptering fra gpg - Kgpg virkede ellers meget fint dengang jeg kørte KDE, jeg ved ikke helt hvorfor seahorse, KPA og de andre GNOME værktøjer til gpg virker så dårligt i øjeblikket (de kan næsten ikke bruges til noget som helst). Kgpg var meget nemt at bruge! Jeg er ikke et sekund i tvivl om at Truecrypt er nemmere at bruge end cryptsetup.
Tusind tak skal I have for svarerne. Jeg må vente og se om bug'en i gedits plugin bliver løst, eller om jeg skal installere vim og plugin eller truecrypt eller eksperimentere med cryptsetup. Jeg skal i hvert fald have løst mit pladsproblem på rodartitionen, jeg kan ikke engang opdatere firefox pga pladsmangel :/