Jak już wcześniej pisałem, dziś postanowiłem opisać pierwszą metodę szyfrowanie danych, dziś AES-Loop.

Przez wiele osób kojarzone z jądrem 2.4.X niestety Loop-AES nigdy w nim nie był i pewnie już nigdy nie będzie, jest dostępny tylko i wyłącznie jako patch/moduł na oba 2.4.X i 2.6.X.

Jak sama nazwa wskazuje Loop-AES koduje za pomocą algorytmu AES i nie da się go zmienić na żaden inny. Loop-AES nie używa crypto-loop-a który pojawił się w 2.6.X a na dodatek nie zadziała gdy jest on wkompilowany, co wcale nie jest dobra ani fajne bo dla osób które migrują np. z crypto-loop-a (inny algorytm niż AES) operacja jest utrudniona.
Muszę też dodać że Loop-AES jest „kapryśny” podczas kompilacji, o czym będę pisał później.

A teraz do rzeczy:

1. Musimy mieć źródła kernel-a możliwie nowego które pobieramy do /usr/src (http://www.kernel.org/)
2. Rozpakowywanemu je do /usr/src/linux
3. Pobieramy AES-Loop (http://loop-aes.sourceforge.net/) i rozpakowywanemu do /usr/src/loop-AES-XXXXX
4. Pobieramy i rozpakowywanemu util-linux do /usr/src/util-linux (http://www.kernel.org/pub/linux/utils/util-linux/)

5.MODUŁ – Ustawiamy kernel tak aby NIE posiadał:
< > Loopback device support

Spotkałem się już z kilkoma opisami które piszą że do Loop-AES wymagane są: RAM disk czy też MINIX (system plików), nie wiem do czego to ma być ale testowałem i nie są wymagane. (Ram disk może być gdy ktoś by chciał kodować / ale można to samo zrobić wkompilowując Loop-AES w jądro.
5. WKOMPILOWANY W JĄDRO – zanim przystąpimy do ustawiania kernel-a musimy go zpatchować:
cd /usr/src/linux
patch -p1 < /usr/src/loop-AES-vX.XX/kernel-2.6.X.diff
potem „make menuconfig”
i wybieramy:
<*> Loopback device support
[*] AES encrypted loop device support (NEW)

6. Kompilujemy, instalujemy a potem uruchamiamy nowy kernel.
7. Teraz kompilacja Loop-AES, bardzo zalecam: make clean && make
8. Potem wskakujemy do util-linux i patchujemy jego źródło patchem z loop-AES:
patch -p1 <../loop-AES-vX.XX/util-linux-X.XXX.diff
9. Instalacja util-linux trzeba wykonać dokładnie tak:
# export CFLAGS=-O2
# export LDFLAGS=’-static -s’
# ./configure
# make SUBDIRS=”lib mount”
# cd mount
# install -m 4755 -o root mount umount /bin
# install -m 755 losetup swapon /sbin
# rm -f /sbin/swapoff && ( cd /sbin && ln -s swapon swapoff )
# rm -f /usr/share/man/man8/{mount,umount,losetup,swapon,swapoff}.8.gz
# install -m 644 mount.8 umount.8 losetup.8 /usr/share/man/man8
# install -m 644 swapon.8 swapoff.8 /usr/share/man/man8
# rm -f /usr/share/man/man5/fstab.5.gz
# install -m 644 fstab.5 /usr/share/man/man5
# cp -p /lib/modules/`uname -r`/block/loop.ko /boot/loop-`uname -r`.ko
(zalecenia autora)

10. Na koniec można wykonać mały test funkcjonoania Loop-AES wchodząc do katalogu źródeł Loop-AES i wykonując „make tests” co powinno dać nam wynik:
*** Tests result ok ***

11. KONIEC INSTALACJI :>

UŻYTKOWANIE

A. Szyfrowanie ala cała partycja.

1. Jeżeli mamy jakąś miłą partycję którą możemy wykorzystać pod Loop-AES, musimy wymłócić na niej dane. W tym celu:
dd if=/dev/zero of=/dev/hdaX bs=4k
co skutecznie zastąpi wszelkie dane na partycji losowymi danymi.
wersja hARdCORE (losowymi danymi)
dd if=/dev/urandom of=/dev/hdaX bs=4k
co niestety może potrwać i zależy w dużej mierze od mocy obliczeniowej naszego komputera.

2. Inicjacja szyforwania partycji:
losetup -e AES256 -T /dev/loop0 /dev/hdaX
Potem wpisujemy hasło, im dłuższe i bardziej zróżnicowane tym lepsze.
Zamiast AES 256bit możemy jeszcze użyć AES128 i AES192 jednak trzeba pamiętać że zwiększa to prawdopodobieństwo że ktoś rozkoduje nasze dane. (nieznacznie)

3. Inicjujemy system plików:
mkfs -t xfs /dev/loop0
Ja używam xfs oraz reiserfs ale każdy może wybrać co chcesz np. ext3 i nie wpłynie to w żaden sposób na bezpieczeństwo naszych danych.

4. Montujemy partycję:
losetup -e AES256 /dev/loop0 /dev/hdaX
mount /dev/loop0 /mnt/szyfrowana

GOTOWE :>

5.Aby odmontować:
umount /dev/loop0
losetup -d /dev/loop0

Można też się bawić w skrypty czy wpisy do fstab tak aby system montował naszą partycję przy starcie:

/dev/hdaX /mnt/szyfrowana xfs defaults,loop=/dev/loop0,encryption=AES256 0 0

i pytał o hasło :>

Ja osobiście do zamiast hasło używam pliku umieszczonego na pen-drive w którym mam jakieś kilka kilo danych prosto z /dev/urandom

A montuje to za pomocą skryptu:
#/bin/sh
mount /dev/sda1 /mnt/flash
cat /mnt/flash/klucz | losetup -e AES256 /dev/loop0 /dev/hdaX
mount -t xfs /dev/loop0 /mnt/szyfrowana

B. Szyfrowanie ala plik

1. Tworzymy plik w którym będą nasze dane:
dd if=/dev/zero of=/root/zaszyfrowany bs=4k count=2560

2. Wiążemy pętle z plikiem
losetup -e AES256 -T /dev/loop0 /root/zaszyfrowany

3. Tworzymy system plików:
mkfs -t xfs /dev/loop0

4. Montujemy plik:
losetup -e AES256 /dev/loop0 /root/zaszyfrowany
mount /dev/loop0 /mnt/zaszyfrowany

Tak samo jak z partycją tak i z plik możemy wpisać do fstab.

To chyba tyle 🙂

Dodam jeszcze że X w moim opisie oznacz coś co trzeba zmienić dopasować pod własny system lub jest to wersja programu pakietu itp.

Strona domowa: http://sourceforge.net/projects/loop-aes/

Jeżeli ktoś ma jakieś pytanie to proszę kierować je na forum.

Tagged with:
 


Portal Bezpieczna Sieć - Forum komputerowe, Informatyka śledcza, bezpieczeństwo, backtrack, kali - Kali Linux Polska Edycja - Polska Edycja Backtrack - Poradnik dla gracza - Praca oparta na wiedzy i edukacji - Seriws Laptopów Katowice - Sklep Komputerowy Katowice - Odzyskiwanie Danych Katowice - Parking BETA przy lotnisku Pyrzowice - miejsce Run w sieci - Prawda od promocjach ,Informatyka, promocje, ceny, ekonomia, ekologia, filozofia - Prawda na tematy informatyki, ekonomii, ekologii - Wróżka, Poezja - eMono-cykl, SegWay, AirWheel, SoloWheel

stat4u