Κρυπτογράφηση αρχείων σε usb: Διαφορά μεταξύ των αναθεωρήσεων

Από Hellug Wiki
Χωρίς σύνοψη επεξεργασίας
μΧωρίς σύνοψη επεξεργασίας
 
(3 ενδιάμεσες εκδόσεις από 2 χρήστες δεν εμφανίζονται)
Γραμμή 1: Γραμμή 1:
Βασικά ο τίτλος δεν είναι πολύ κατάλληλος. Ηθελα λοιπόν σε ενα usb stick να μπορώ κάποια αρχεία να τα έχω κρυπτογραφημένα και να μπορώ χωρίς κόπο να τα βλέπω και απο linux και απο windows.
Βασικά ο τίτλος δεν είναι πολύ κατάλληλος. Ήθελα λοιπόν σε ενα USB stick να μπορώ κάποια αρχεία να τα έχω κρυπτογραφημένα και να μπορώ χωρίς κόπο να τα βλέπω και απο Linux και απο Windows.
 


* Μέσα απ'το linux χρειαζόμαστε το πακέτο cryptsetup:
* Μέσα απ'το linux χρειαζόμαστε το πακέτο cryptsetup:
<pre>
<pre>apt-get install cryptsetup</pre>
apt-get install cryptsetup
</pre>


* Φτιάχνουμε ενα αρχείο 200 περίπου Mb (ή όσης χορητικότητας πιστεύουμε οτι θα χρειαστούμε):
* Φτιάχνουμε ενα αρχείο 200 περίπου Mb (ή όσης χωρητικότητας πιστεύουμε ότι θα χρειαστούμε):
<pre>
<pre>dd if=/dev/urandom of=/tmp/encrypted.vol bs=1024 count=200000</pre>
dd if=/dev/urandom of=/tmp/encrypted.vol bs=1024 count=200000 </pre>


* Κάνουμε αντιστοίχηση του πρώτου ελεύθερου loop device με το αρχείο που δημιουργήσαμε:
* Κάνουμε αντιστοίχιση του πρώτου ελεύθερου loop device με το αρχείο που δημιουργήσαμε:
<pre>
<pre>
export LOOP=`losetup -f`
export LOOP=`losetup -f`
losetup $LOOP /tmp/encrypted.vol
losetup $LOOP /tmp/encrypted.vol
</pre>
</pre>
{{Προσοχή | Χρησιμοποιούμε τη σωστή απόστροφο: `}}


* Κρυπτογραφούμε όλο το αρχείο encrypted.vol με 256bit aes key και χρησιμοποιούμε LUKS standard format. Θα μας ζητήθεί να ορίσουμε δύο φορές ενα passphrase. Καλό θα είναι να είναι κάτι περίπλοκο και μεγάλο καθώς με αυτό το passphrase θα αποκρυπτογραφούμε το αρχείο κάθε φορα.
* Κρυπτογραφούμε όλο το αρχείο encrypted.vol με 256bit aes key και χρησιμοποιούμε LUKS standard format. Θα μας ζητήθεί να ορίσουμε δύο φορές ενα passphrase. Καλό θα είναι να είναι κάτι περίπλοκο και μεγάλο καθώς με αυτό το passphrase θα αποκρυπτογραφούμε το αρχείο κάθε φορα.
<pre>cryptsetup -c aes -s 256 --verify-passphrase luksFormat $LOOP</pre>
<pre>cryptsetup -c aes -s 256 --verify-passphrase luksFormat $LOOP</pre>
* Αποκρυπτογραφούμε το αρχείο και το δίνουμε ένα προσωρινό όνομα με το οποίο θα το αναγνωρίζει ο device mapper:
* Αποκρυπτογραφούμε το αρχείο και το δίνουμε ένα προσωρινό όνομα με το οποίο θα το αναγνωρίζει ο device mapper:
<pre>cryptsetup luksOpen $LOOP koukou</pre>
<pre>cryptsetup luksOpen $LOOP koukou</pre>


* Φτιάχνουμε το filesystem. Διαλέγουμε vfat για μπορούμε να το βλέπουμε και απο windows
* Φτιάχνουμε το filesystem. Διαλέγουμε vfat για μπορούμε να το βλέπουμε και απο windows
<pre>
<pre>mkdosfs /dev/mapper/koukou</pre>
mkdosfs /dev/mapper/koukou
 
</pre>
* Το κάνουμε mount κάπου:
* Το κάνουμε mount κάπου:
<pre>
<pre>
Γραμμή 34: Γραμμή 28:
</pre>
</pre>


* Τώρα μπορούμε να ρίξουμε μέσα στο /mnt/koukou όλα τα αρχεία μας τα οποία θέλουμε να είναί κρυπτογραφημένα. Μόλις μεταφέρουμε εκεί τα αρχεία μας, κάνουμε unmount το device koukou και το αποδεσμέυουμε απο τον device mapper:
* Τώρα μπορούμε να ρίξουμε μέσα στο /mnt/koukou όλα τα αρχεία μας τα οποία θέλουμε κρυπτογραφημένα. Μόλις μεταφέρουμε εκεί τα αρχεία μας, κάνουμε unmount το device koukou και το αποδεσμέυουμε απο τον device mapper:
<pre>
<pre>
umount /mnt/koukou
umount /mnt/koukou
Γραμμή 41: Γραμμή 35:


* Αφαιρούμε τη συσχέτιση του encrypted.vol με το loop device:
* Αφαιρούμε τη συσχέτιση του encrypted.vol με το loop device:
<pre>
<pre>losetup -d $LOOP </pre>
losetup -d $LOOP </pre>


* Τώρα λοιπόν έχουμε ενα encrypted image(/tmp/encrypted.vol) το οποίο περιέχει τα αρχεία μας. Το πέρνουμε και το βάζουμε μέσα στο usb stick (πχ /dev/sda1 mounted στο /media/disk)
* Τώρα λοιπόν έχουμε ενα encrypted image (/tmp/encrypted.vol) με τα αρχεία μας. Το αντιγράφουμε μέσα στο usb stick (πχ /dev/sda1 mounted στο /media/disk):
<pre>
<pre>mv /tmp/encrypted.vol /media/disk</pre>
mv /tmp/encrypted.vol /media/disk
<pre>


* Μέσα στο usb stick εχω τοποθετήσει το παρακάτω script για να μου κάνει αυτόματα όλη τη διαδικασία (δίνει read write δικαιώματα στον χρήστη με uid 1000 , αυτό το αλλάζετε όπως σας βολεύει). To script πρέπει να το τρέχετε σαν root μέσα απο το mount point του usb stick.
* Μέσα στο USB stick εχω τοποθετήσει το παρακάτω script για να κάνει αυτόματα όλη τη διαδικασία (δίνει read write [[Παραδοσιακά δικαιώματα αρχείων | δικαιώματα]] στον χρήστη με uid 1000, αυτό το αλλάζετε όπως σας βολεύει). To script πρέπει να το τρέχετε σαν root μέσα απο το mount point του usb stick.
<pre>
<pre>
cat > /media/disk/mount.sh << EOF
cat > /media/disk/mount.sh << EOF
Γραμμή 75: Γραμμή 66:
EOF
EOF
chmod +x /media/disk/mount.sh
chmod +x /media/disk/mount.sh
</pre>


</pre>
Θέλουμε λοιπόν τα αρχεία μας αυτα να τα βλέπουμε απο κάθε windows μηχανάκι:
Θέλουμε λοιπόν τα αρχεία μας αυτα να τα βλέπουμε απο κάθε windows μηχανάκι:


* Κατεβάζουμε το πάρα πολύ ωραίο open source utilitακι '''freeOTFE''', εγώ προτίμησα τα binary files κι όχι το full installation package.  Το τοποθετούμε μές στο usb και το κάνουμε unzip:
* Κατεβάζουμε το πάρα πολύ ωραίο open source [http://www.freeotfe.org/ freeOTFE]. Εγώ προτίμησα τα binary files κι όχι το full installation package.  Το τοποθετούμε μές στο usb και το κάνουμε unzip:
<pre>
<pre>
cd /media/disk
cd /media/disk
Γραμμή 87: Γραμμή 78:
</pre>
</pre>


Τώρα απο οποιοδήποτε windows μπορουμε να τρέχουμε το freeotfe.exe που βρήσκεται στο usb stick μας, και να κάνουμε mount το αρχείο encrypted.vol. Το freeotfe εχει την επιλογή να ανοίξει με portable mode, το οποίο σημαίνει οτι δεν χρειάζεται να κάνουμε καμία εγκατάσταση στο windows απο το οποιο το τρέχουμε.
Τώρα απο οποιοδήποτε Windows μπορουμε να τρέχουμε το freeotfe.exe που βρίσκεται στο USB stick μας και να κάνουμε mount το αρχείο encrypted.vol. Το freeotfe εχει την επιλογή να ανοίξει με portable mode, το οποίο σημαίνει οτι δεν χρειάζεται να κάνουμε καμία εγκατάσταση στα Windows όπου το τρέχουμε.
 
Με αυτό τον τρόπο έχουμε τη δυνατότητα να δούμε τα αρχεία μας απο οποιοδήποτε pc!
 


Ο λόγος που επέλεξα αυτόν τον τρόπο ήταν απλά επειδή μου δίνει την δυνατότητα να δώ τα αρχεία μου απο οποιοδήποτε pc βρήσκεται κοντά μου την ώρα που το χρειάζομαι.
[[Κατηγορία:Αταξινόμητα]]

Τελευταία αναθεώρηση της 12:47, 22 Μαρτίου 2012

Βασικά ο τίτλος δεν είναι πολύ κατάλληλος. Ήθελα λοιπόν σε ενα USB stick να μπορώ κάποια αρχεία να τα έχω κρυπτογραφημένα και να μπορώ χωρίς κόπο να τα βλέπω και απο Linux και απο Windows.

  • Μέσα απ'το linux χρειαζόμαστε το πακέτο cryptsetup:
apt-get install cryptsetup
  • Φτιάχνουμε ενα αρχείο 200 περίπου Mb (ή όσης χωρητικότητας πιστεύουμε ότι θα χρειαστούμε):
dd if=/dev/urandom of=/tmp/encrypted.vol bs=1024 count=200000
  • Κάνουμε αντιστοίχιση του πρώτου ελεύθερου loop device με το αρχείο που δημιουργήσαμε:
export LOOP=`losetup -f`
losetup $LOOP /tmp/encrypted.vol
Χρησιμοποιούμε τη σωστή απόστροφο: `
  • Κρυπτογραφούμε όλο το αρχείο encrypted.vol με 256bit aes key και χρησιμοποιούμε LUKS standard format. Θα μας ζητήθεί να ορίσουμε δύο φορές ενα passphrase. Καλό θα είναι να είναι κάτι περίπλοκο και μεγάλο καθώς με αυτό το passphrase θα αποκρυπτογραφούμε το αρχείο κάθε φορα.
cryptsetup -c aes -s 256 --verify-passphrase luksFormat $LOOP
  • Αποκρυπτογραφούμε το αρχείο και το δίνουμε ένα προσωρινό όνομα με το οποίο θα το αναγνωρίζει ο device mapper:
cryptsetup luksOpen $LOOP koukou
  • Φτιάχνουμε το filesystem. Διαλέγουμε vfat για μπορούμε να το βλέπουμε και απο windows
mkdosfs /dev/mapper/koukou
  • Το κάνουμε mount κάπου:
mkdir -p /mnt/koukou
mount /dev/mapper/koukou /mnt/koukou
  • Τώρα μπορούμε να ρίξουμε μέσα στο /mnt/koukou όλα τα αρχεία μας τα οποία θέλουμε κρυπτογραφημένα. Μόλις μεταφέρουμε εκεί τα αρχεία μας, κάνουμε unmount το device koukou και το αποδεσμέυουμε απο τον device mapper:
umount /mnt/koukou
cryptsetup luksClose koukou
  • Αφαιρούμε τη συσχέτιση του encrypted.vol με το loop device:
losetup -d $LOOP 
  • Τώρα λοιπόν έχουμε ενα encrypted image (/tmp/encrypted.vol) με τα αρχεία μας. Το αντιγράφουμε μέσα στο usb stick (πχ /dev/sda1 mounted στο /media/disk):
mv /tmp/encrypted.vol /media/disk
  • Μέσα στο USB stick εχω τοποθετήσει το παρακάτω script για να κάνει αυτόματα όλη τη διαδικασία (δίνει read write δικαιώματα στον χρήστη με uid 1000, αυτό το αλλάζετε όπως σας βολεύει). To script πρέπει να το τρέχετε σαν root μέσα απο το mount point του usb stick.
cat > /media/disk/mount.sh << EOF

#!/bin/sh

    DEVICEPATH=`dirname $0`/encrypted.vol
    MNTDIR=`mktemp -d`
    LOOPDEV=`losetup -f`

    losetup "$LOOPDEV" "$DEVICEPATH"
    cryptsetup luksOpen "$LOOPDEV" flashaki
    mount -t vfat -o nodev,noexec,nosuid,uid=1000,gid=100,umask=007,codepage=850,iocharset=utf8,shortname=mixed,quiet /dev/mapper/flashaki "$MNTDIR"
    echo "-------------------------------------------"
    echo "Encrypted container mounted at $MNTDIR"
    echo
    echo "Press any key to unmount"
    echo "-------------------------------------------"
    read key
    umount "$MNTDIR"
    rmdir "$MNTDIR"
    cryptsetup luksClose flashaki
    losetup -d $LOOPDEV
    echo "done"
EOF
chmod +x /media/disk/mount.sh

Θέλουμε λοιπόν τα αρχεία μας αυτα να τα βλέπουμε απο κάθε windows μηχανάκι:

  • Κατεβάζουμε το πάρα πολύ ωραίο open source freeOTFE. Εγώ προτίμησα τα binary files κι όχι το full installation package. Το τοποθετούμε μές στο usb και το κάνουμε unzip:
cd /media/disk
mkdir FreeOTFE
cd !$
unzip /path/to/FreeOTFE_4_00.zip

Τώρα απο οποιοδήποτε Windows μπορουμε να τρέχουμε το freeotfe.exe που βρίσκεται στο USB stick μας και να κάνουμε mount το αρχείο encrypted.vol. Το freeotfe εχει την επιλογή να ανοίξει με portable mode, το οποίο σημαίνει οτι δεν χρειάζεται να κάνουμε καμία εγκατάσταση στα Windows όπου το τρέχουμε.

Με αυτό τον τρόπο έχουμε τη δυνατότητα να δούμε τα αρχεία μας απο οποιοδήποτε pc!