Na enkele onthullingen willen veel computergebruikers hun gegevens versleutelen. Zowel op de harde schijf als op online opslagruimte zoals aangeboden door Dropbox en konsoorten. Bij het versleutelen van gegevens kan je kiezen tussen twee methodes: versleuteling per partitie of per bestand. Enkel de laatste methode is geschikt voor het gebruik met online opslagruimte. Daarbij heeft de laatste methode het voordeel dat je een gedeelte van de partitie onversleuteld kunt blijven gebruiken terwijl de bestanden in een bepaalde map versleuteld worden. Met andere woorden veel flexibeler is. Let wel op met versleuteling, als je uw sleutel verliest of het wachtwoord vergeet kan je zelf niet meer aan uw versleutelde bestanden. Deze tip toont hoe je gebruiksvriendelijk een map met versleutelde bestanden kunt gebruiken. Hoewel er verschillende software bestaat (waaronder het bekende TrueCrypt) gebruik ik hier de volledig open Source EncFS software. Door het open Source karakter kan iedereen die dat wil controleren of er geen achterpoortjes ingebouwd zijn waardoor bepaalde instanties uw gegevens toch kunnen openen.
EncFS zit standaard in alle moderne distributies. In openSUSE 13.1 installeer je het pakket encfs en alle benodigde onderdelen (afhankelijke pakketten) met de opdracht:
dany@linux-bnqi:~> sudo zypper install encfs
root's password:
Gegevens van installatiebron laden...
Lezen van geïnstalleerde pakketten...
Afhankelijkheden tussen pakketten oplossen...
De volgende NIEUWE pakketten zullen worden geïnstalleerd:
encfs libboost_serialization1_53_0 librlog5
3 nieuw te installeren pakketten.
Totale downloadgrootte: 472,4 KiB Na de operatie zal aanvullend 2,1 MiB worden gebruikt.
Doorgaan? [j/n/? alle opties tonen] (j): j
pakket libboost_serialization1_53_0-1.53.0-4.1.2.x86_64 wordt opgehaald (1/3), 135,6 KiB (763,7 KiB uitgepakt)
Ophalen: libboost_serialization1_53_0-1.53.0-4.1.2.x86_64.rpm ...................................................[klaar]
pakket librlog5-1.4-14.1.2.x86_64 wordt opgehaald (2/3), 32,9 KiB ( 90,1 KiB uitgepakt)
Ophalen: librlog5-1.4-14.1.2.x86_64.rpm .........................................................................[klaar]
pakket encfs-1.7.4-22.1.2.x86_64 wordt opgehaald (3/3), 303,9 KiB ( 1,3 MiB uitgepakt)
Ophalen: encfs-1.7.4-22.1.2.x86_64.rpm ............................................................[klaar (776,7 KiB/s)]
(1/3) Installeert: libboost_serialization1_53_0-1.53.0-4.1.2 ....................................................[klaar]
(2/3) Installeert: librlog5-1.4-14.1.2 ..........................................................................[klaar]
(3/3) Installeert: encfs-1.7.4-22.1.2 ...........................................................................[klaar]
Deze stap moet je enkel uitvoeren als je nog geen met EncFS versleutelde map hebt. In deze map komen bestanden die je wilt versleutelen. De inhoud van deze map is voor iedereen zichtbaar maar de naar deze map gekopieerde bestanden en mappen zijn versleuteld. De versleuteling zorgt ervoor dat de bestandsnamen en bestandsinhoud niet herkenbaar zijn (ook niet voor programma's). De bestanden kunnen echter wel verwijderd worden (gebruik het toegangsrecht Kan lezen - read only - om dit te blokkeren).
dany@linux-bnqi:~> mkdir ".Versleutelde documenten"
De punt voor de mapnaam zorgt ervoor dat een gewone gebruiker de map niet ziet (verborgen map). Het gebruik van aanhalingstekens zorgt dat de mapnaam spaties mag bevatten.
dany@linux-bnqi:~> mkdir "Versleutelde documenten"
De mapnaam van deze map begint niet met een punt en is dus voor de gebruiker zichtbaar. Deze map bevat alle bestanden en mappen uit de versleutelde verborgen map, maar met leesbare namen en inhoud. M.a.w. in onversleutelde bruikbare vorm.
Onze twee pas aangemaakte mappen zijn nu nog gewone niet versleutelde mappen.
dany@linux-bnqi:~> encfs "/home/dany/.Versleutelde documenten" "/home/dany/Versleutelde documenten"
Een nieuw versleuteld volume wordt aangemaakt.
Kies de volgende optie:
kies "x" voor de expert configuratie mode,
kies "p" voor de voorgeconfigureerde paranoia mode.
Iedere andere keuze of een lege regel kiest de standaard mode.
?>
De standaard configuratie is geselecteerd.
De configuratie is afgelopen. Het bestandssysteem dat wordt aangemaakt
heeft de volgende eigenschappen:
Bestandssysteem versleutelalgoritme: "ssl/aes", versie 3:0:2
Bestandsnaam codering: "nameio/block", versie 3:0:1
Sleutelgrootte: 192 bits
Blokgrootte: 1024 bytes
Elk bestand bevat een 8 byte header met unieke IV data.
Bestandsnamen die gecodeerd zijn met een IV koppelmethode.
File holes passed through to ciphertext.
Voer nu een wachtwoord in voor uw bestandsyssteem.
Dit wachtwoord moet u onthouden, omdat dit later absoluut
niet meer opgevraagd kan worden. Het wachtwoord kan
echter later wel veranderd worden met encfsctl.
Nieuw EncFS wachtwoord:
EncFS wachtwoord ter controle:
Let op het gebruik van absolute paden (beginnen met een /). De eerste map zal de versleutelde en dus onleesbare bestanden bevatten. De tweede map dient enkel om toegang te krijgen tot de versleutelde bestanden. M.a.w. alles wat je opslaat in of kopieert naar de tweede map wordt versleuteld en in de eerste map opgeslagen. Alles wat je opent in de tweede map wordt geopend in de eerste map, met uw wachtwoord leesbaar gemaakt en doorgegeven aan het programma waarmee je het bestand opende.
dany@linux-bnqi:~>echo Probeer deze tekst te lezen. > Versleutelde\ documenten/lees.me
dany@linux-bnqi:~>mkdir Versleutelde\ documenten/Geheimen
dany@linux-bnqi:~>ls -l Versleutelde\ documenten/
totaal 8 drwxr-xr-x 2 dany users 4096 14 dec 15:43 Geheimen -rw-r--r-- 1 dany users 29 14 dec 15:43 lees.me dany@linux-bnqi:~> ls -l .Versleutelde\ documenten/ totaal 8 -rw-r--r-- 1 dany users 37 14 dec 15:43 gbLlhGuaPIIztn9CEbgv5PC6 drwxr-xr-x 2 dany users 4096 14 dec 15:43 hYh91IdOKPe9-2dh0Tsgg9jF
Hoewel ik hier een script publiceer voor KDE kan door het vervangen van de kdialog opdracht door gdialog dit script evengoed gebruikt worden voor Gnome.
#! /bin/bash
#
# encfs_kdialog Version 13.11
# 2013 Dany Pinoy <pindanet.be>
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
#
# Aanpassen naar eigen versleutelde map (src) en gewenst koppelpunt (target)
src="$HOME/.Versleutelde documenten"
target="$HOME/Versleutelde documenten"
# Messages (Weer te geven teksten)
msg_askpassword_title="encFS: wachtwoord ingeven ..."
msg_askpassword_text="Voer het wachtwoord voor de versleutelde map ($target) in"
msg_mount_mountError_title="encFS: Fout!"
msg_umount_finish_title="encFS"
msg_umount_finish_text="De versleutelde map is afgekoppeld"
if [ "$(cat /proc/mounts | grep encfs)" == "" ]; then # Mount (Aankoppelen)
mkdir "$target"
error=`encfs --extpass="kdialog --title \"${msg_askpassword_title}\" --password \"${msg_askpassword_text}\"" "$src" "$target" 2>&1`
if [ $? != 0 ]; then # Mount error (Fout bij het aankoppelen)
kdialog --title "${msg_mount_mountError_title}" --icon dialog-cancel --error "$error"
rm -r "$target"
exit
else
dolphin "$target" &
fi
else # Unmount (Afkoppelen)
fusermount -u "$target"
rm -r "$target"
kdialog --title "${msg_umount_finish_title}" --passivepopup "${msg_umount_finish_text}" 5
fi
Dit script moet je tweemaal gebruiken en heeft een dubbele werking (functie). Indien de versleutelde map gekoppeld is aan het koppelpunt waardoor je via het koppelpunt de versleutelde bestanden kunt gebruiken, wordt de versleutelde map afgekoppeld en het koppelpunt verwijdert. De bestanden en mappen in de versleutelde map zijn dan niet meer toegankelijk. Je wordt op de hoogte gebracht van het afkoppelen via een melding rechts onderaan het scherm.
Indien de versleutelde map niet toegankelijk is, wordt een koppelpunt aangemaakt, wordt het wachtwoord van de versleutelde map gevraagd en wordt de versleutelde map bij een correct wachtwoord gekoppeld. De versleutelde bestanden zijn dan via het koppelpunt toegankelijk.
Dit script is enkel te gebruiken als er een met EncFS versleutelde map bestaat en het pad in de variabele src is opgeslagen (aanpassen in script).
Sla dit script op als een verborgen bestand (naam begint met een .) en gebruik een Koppeling naar programma... (bestandsbeheerder Dolphin > snelmenu > Nieuw aanmaken > Koppeling naar programma...) om dit script met één simpele klik te starten en het zo nog gebruiksvriendelijker te maken. Dit is eigenlijk een gewoon tekstbestand met de volgende inhoud (voorbeeld):
[Desktop Entry] Comment[nl]= Comment= Exec=sh /home/dany/.encfs_kdialog.sh GenericName[nl]= GenericName= Icon=gcr-key MimeType= Name[nl]= Name= Path= StartupNotify=true Terminal=false TerminalOptions= Type=Application X-DBUS-ServiceName= X-DBUS-StartupType= X-KDE-SubstituteUID=false X-KDE-Username=
Indien de koppeling nog nooit werd gebruikt bevat het pictogram een uitroepteken in een rode bol. Bij de eerste start, wordt gevraagd of je het script vertrouwd. Na een klik op Doorgaan, wordt het script uitgevoerd en verdwijnt de rode bol met uitroepteken in het pictogram en het wantrouwen waarschuwingsvenster voor altijd.
Hoewel het script zijn werk doet, is het zeker voor verbetering vatbaar. Bestudeer het script, haal er de zwakke punten uit, pas het aan, voeg functies toe, enz. Publiceer de aanpassingen, wie weet heeft iemand er nog wat aan. Ik misschien.