Crypto

GUI pro linux kernel CryptoAPI - verze 0.1.5



Proč?

Práci s GUI považuji v některých případech za komfortnější a rychlejší. Navíc, pro méně často používané operace neustále zapomínám ten správný tvar příkazového řádku, potřebné příkazy a nerad ztrácím čas jejich neustálým hledáním v dokumentaci a pod.
Práce se skripty rovněž není vždy to pravé ořechové, takže jsem se pokusil tento problém aspoň trochu řešit.


Popis programu

Jedná se o jednoduché grafické rozhraní pro základní práci s CryptoAPI linuxového kernelu.
Rozhraní umožňuje vytvoření nového konteineru pro šifrovaný filesystém a práci s již existujícími soubory.

V současné době program umožňuje:


Program je vlastně jenom grafickým rozhraním nad sledem následujících příkazových řádků (přibližný tvar; s použitím suda):

inicializace API
sudo /sbin/modprobe cryptoloop
sudo /sbin/modprobe CIPHERMODUL


vytváření kontejneru:
echo PASSWORD | sudo /sbin/losetup \
-e CIPHER -k BITS \
-p 0 LOOPDEVICE CONTAINER

sudo /sbin/mkfs -t FSTYPE LOOPDEVICE
sudo mount -t FSTYPE LOOPDEVICE tmpMountDir
cd tmpMountDir
chmod a+rw ./
sudo umount tmpMountDir
sudo /sbin/losetup -d LOOPDEVICE


připojování kontejneru:
echo PASSWORD | sudo /sbin/losetup \
-e CIPHER -k BITS \
-p 0 LOOPDEVICE CONTAINER

sudo mount -t FSTYPE LOOPDEVICE TARGETDIR


odpojování kontejneru:
sudo umount TARGETDIR
sudo /sbin/losetup -d LOOPDEVICE;



Aplikace je programovaná v prostředí Kylix 3 Open Edition.

Výchozí jazyk je angličtina.
Současně jsou ale k dispozici jazykové konfiguační soubory a jazyk aplikace lze pak jednoduše změnit pomocí konfiguračního dialogu.

Program se stále vyvíjí a jeho funkčnost může být tím pádem omezena nebo se může chovat poněkud nepředvidatelně.

Můžete jej klidně používat ale je to na vaše na vlastní riziko a zříkám se jakékoliv záruky na funkčnost, zabezpečení, stabilitu atd.


Licence

GNU GPL, v 2.0 a pozdější.
Text licence přiložen v souboru COPYING.


Ovládání programu

Stručný návod pro práci s programem:

Vytvoření nového kontejneru
  1. vybrat položku menu Soubor/Nový (klávesová zkratka Ctrl+N) nebo kliknout na tlačítko hlavního panelu s nápisem "Nový".
  2. zadat jméno a cestu k nově vytvářenému souboru
  3. zadat velikost souboru
  4. vybrat šifrovací algoritmus a počet bitů klíče
  5. vybrat typ souborového systému
  6. povolit/zakázat nastavení atributu 'a+rw' pro souborový systém (povolit = každý bude mít právo zapisovat do něj; zakázat = zapisovat bude smět POUZE superuživatel)
  7. zadat heslo do příšlušných polí (2x kvůli ověření překlepů)
  8. zvolit jestli je nutné použít sudo (vhodné konzultovat se správcem systému)
  9. tlačítkem "OK" zahájit vytvoření kontejneru se šifrovaným souborovým systémem

Připojení existujícího kontejneru
  1. otevřít připojovací dialog - položka menu Soubor/Připojit (klávesová zkratka Ctrl + ) nebo tlačítkem "Připojit" na hlavním panelu
  2. vybrat soubor obsahující šifrovaný soub. systém
  3. vybrat adresář do které se má šifrovaný systém připojit
  4. vybrat použitou šifru a velikost klíče
  5. zadat heslo pro připojení kontejneru (2x kvůli kontrole překlepů)
  6. v případě potřeby zvolit použití sudo
  7. tlačítkem "OK" připojit souborový systém

Odpojení připojeného kontejneru
  1. ukončit všechny aplikace a procesy používající adresář a souborový systém který chceme odpojit
  2. otevřít odpojovací dialog - menu Soubor/Odpojit (klávesová zkratka Ctrl + ) nebo tlačítkem "Odpojit" na hlavním panelu aplikace
  3. vybrat adresář pro odpojení
  4. v případě potřeby zvolit použití sudo
  5. tlačítkem "OK" odpojit souborový systém


Obrázky aplikace


hlavni okno
Hlavní okno aplikace (Linux RH7.3, IceWM)

vytvoreni kontejneru
Dialog vytvoření nového kontejneru.

pripojeni kontejneru
Dialog připojení kontejneru.

odpojení kontejneru
Dialog odpojení kontejneru.

konfigurace - jazyk
Volba jazyka aplikace.

konfigurace - inicializace
Nastavení inicializace CryptoAPI.

Stažení software

Aktuální verze aplikace je 0.1.5 (19.9.2003) - viz. novinky v nejnovější verzi (ChangeLog). .

K dispozici je kompilovaná binárka (RedHat 7.3), jazykové soubory (zatím jen český a slovenský, oba v kódování iso-8859-2) a nakonec zdrojové soubory.


Instalace a konfigurace

  1. stáhnout a nainstalovat runtime knihovny Kylixu 3 (cca 2,6 MB).

    Knihovny je nutné rozbalit do některého z adresářů uvedených v souboru /etc/ld.so.conf (např. do adresáře /lib) a potom zadat v terminálovém okně příkaz ldconfig. K provedení těchto úkonů budete možná potřebovat administrátorské oprávnění.

    Tento bod je možné vynechat pouze když máte nainstalované a funkční vývojové prostředí Kylix3.

    Bez uvedených knihoven bohužel nebude možné aplikaci spustit.


  2. stáhnout zkompilovaný program (viz. odkaz "binárka" ve "Stažení software") v archivu "binary.tgz" a rozbalit jej. Soubory "Crypto" a "Crypto.sh" je nutné umístit někam do cesty proměnné PATH, kde je systém najde, případně na ně vytvořit odkazy.

    Soubor "Crypto.sh" je pouze skript pro spuštění "Crypto" bez úvodního propagačního okna (vlastnost všech programů kompilovaných v Kylixu OE).
Příkazem "Crypto" nebo "Crypto.sh" lze potom program normálně spustit a používat.

Po prvním spuštění a ukončení se v domácím adresáři uživatele vytvoří podadresář ".CryptoAPI" ve kterém budou uloženy konfigurační soubory aplikace.

V případě že chcete "lokalizovanou" verzi programu, můžete si stáhnout jazykové soubory (balík "languages.tgz"). Tyto je nutné rozbalit do výše zmíněného konfiguračního adresáře. Pak už zbývá jenom spustit Crypto a v konfiguračním dialogu vybrat a nastavit jazyk. Po korektním ukončení aplikace bude vaše volba zapsána v konfiguračním souboru.

Jestli chcete jazykové soubory nainstalovat PŘED prvním spuštěním aplikace a tedy konfigurační adresář ještě neexistuje, musíte jej vytvořit ručně. Nejlépe to lze provést ve vašem oblíbeném souborovém manažeru nebo v terminálovém okně příkazem:

mkdir ~/.CryptoAPI

a pak do něj zkopírovat (rozbalit) zmíněné soubory.

Kromě jazykových souborů je v adresáři ".CryptoAPI" uložen konfigurační soubor aplikace "Crypto.ini", který se vytváří a aktualizujě automaticky.


V případě že program bude používat normální uživatel, ne jenom správce systému, je nutné mít nainstalované a správně nakonfigurované SUDO.

V konfig. souboru /etc/sudoers je potřebné mít pro uživatele povolené použití příkazů modprobe, losetup, mount, umount, mkfs, chmod a to bez nutnosti zadávat přihlašovací heslo.

Soubor tedy musí obsahovat řádky:

ALL     ALL=NOPASSWD:/sbin/modprobe
ALL     ALL=NOPASSWD:/sbin/losetup
ALL     ALL=NOPASSWD:/bin/mount
ALL     ALL=NOPASSWD:/bin/umount
ALL     ALL=NOPASSWD:/sbin/mkfs
ALL     ALL=NOPASSWD:/bin/chmod


Pro někoho je to díra do zabezpečení systému ale zatím nevím o jiné možnosti jak umožnit běžnému uživateli používat linux Crypto API ani o možnosti jak zapsat na příkazový řádek sérii příkazů které očekávají uživatelský vstup (moc rád se nechám poučit).


Další plány

Rád bych v blízké době přidělal možnost používat sudo s možností zadání přihlašovacího hesla - možná se tím aspoň trochu zvýší zabezpečení systému.
Problém použití CryptoAPI je totiž v tom že standardně je mountování, nahrávání modulů a vytváření filesystému atd. povoleno jen správci systému, ne běžnému uživateli.
Jestli má někdo nápad jak uvedený problém lépe řešit, doufám že se o něj podělí a výsledkem by mohl být lepší program.

Velmi vítané jsou všechny připomínky jazykoznalců a překlady jazykových souborů do jiných řečí.


Kontakt

Připomínky a návrhy zasílejte na E-mail : pcernoch zavinac volny.cz


Aktualizováno: 19.9.2003, © Peter Cernoch