kategorie:

menu:


Hledání tématu diplomky

25.01.2011   ::    topic: Diplomka

Tento příspěvek jsem sepsal jako bezmocné postesknutí nad údělem studenta a vývojáře open source. Předem upozorňuji že se jedná o výlevy mé choré mysli s informační hodnotou blížící se nule.

K zakončení magisterského studia je potřeba vypracovat a před komisí obhájit diplomovou práci. Hned na začátku tohoto vyčerpávajícího procesu je potřeba udělat snad nejdůležitější část – vybrat si téma a vedoucího práce.

Moje představy byly jasné – chtěl jsem aby mě práce bavila, podstatnou část tvořilo programování a výsledek neskončil v šuplíku…

Nechci křivdit lidem ze své domovské katedry – Katedry Počítačů, ale přijde mi že témata většinou vymýšleli tak aby si je nikdo nechtěl vybrat. Hodně kolegů se kterými jsem mluvil je z výběru podobně znechuceno jako já… Nabízená témata jsou buď:

  • na diplomku tak jednoduchá že by se u státnic musel stydět – různé informační systémy v PHP, editor se zvýrazňováním syntaxe…
  • naprosto mimo můj obor – síťařina, hardware, grafika…
  • příliš teoretické či zaměřené na analýzu – benchmark různých implementací XXX, bezpečnostní audit XXX…
  • pro mě nudné – zpracování textu, syntaktická analýza, překladače…
  • zastaralé – vyučující rádi recyklují témata z minulých let, na kterých nikdo nepracoval a neobtěžují se zjistit současný stav problému. Takže není problém narazit na téma týkající se technologie která je již dávno mrtvá, nebo týkající se problému který již někdo úspěšně vyřešil…

Celkem rychle jsem se rozhodl že musím přijít s vlastním tématem a najít někoho kdo by byl ochoten takovou práci vést. Nejraději bych pracoval na nějakém zajímavém open source projektu, aby výsledek byl užitečný pro co nejvíce lidí… Poměrně zajímavá i schůdná se zdála práce na Fprint – projekt přinášející podporu čteček otisků prstů na Linuxové systémy. Bylo by užitečné rozšířit množinu podporovaných čteček, včetně té která se nachází v mém notebooku. Navíc jsem se dočetl, že stav projektu i jeho integrace do dnešních desktopových systémů dost pokulhává.

Fprint

V rámci své práce jsem chtěl vytvořit ovladač pro svoji čtečku otisků a poté se zaměřit na nejbolestivější místa projektu fprint – integrace do Gnome/KDE a nemožnost používat čtečku jako úschovnu pro hesla. V současné chvíli, pokud jste šťastným majitelem podporované čtečky, můžete se sice do systému přihlásit pouhým naskenováním prstu, ale pokud používáte šifrovaný disk nebo šifrovanou klíčenku, musíte po přihlášení tak jako tak zadat heslo k otevření takového úložiště. Díky tomu čtečka otisku prstu nepřináší na Linuxu žádný komfort navíc…

Moje čtečka otisků je VFS451 od Validity Sensors (usbid 138a:0007). Podle materiálů které jsou dostupné na internetu to vypadá že tato čtečka podporuje ukládání referenčního otisku přímo v hardwaru, stejně tak jeho ověření a uchovávání hesel…

S reverzním inženýrstvím usb ovladače mám již nějaké zkušenosti, tak jsem čekal že vytvořit ovladač nebude moc velký problém. Dump usb komunikace z Windows ale vypadá dost šíleně, po několika pokusech bylo zřejmé že veškerá komunikace je šifrována a bez dokumentace k senzoru se nikam nepohnu. V x86 assembleru moc dobrý nejsem takže z disassemblovaného ovladače jsem toho také moc nevyčetl.

Do Validity Inc. jsem mail ani neposílal. Na svých stránkách píší že dokumentaci poskytují pouze svým obchodním partnerům. Tak jsem se tedy obrátil na HP a jejich partnery – Novell a RedHat. Z Novellu nepřišla odpověď žádná, mail se asi někde ztratil. Pánové z Brněnského RedHatu se snažili pomoci, výsledek komunikace je ale takový že od HP mohou dostat dokumentaci pouze k serverovému hardwaru. Po měsíci přišel mail od programového manažera HP, v což jsem již nedoufal. Obsah mě ale příliš nepotěšil. Dokumentaci k čtečkám od Validity sice mají, ale nemohou ji poskytnout nikomu venku. Nicméně prý pracují na uzavřené knihovně která má spolupracovat s fprint a má přinést podporu pro tyto kousky hardwaru. Souhrn komunikace si můžete přečíst v mailové konferenci fprint. K výsledku jsem poměrně skeptický. Vývojáři Fprint určitě nebudou chtít udržovat api pro uzavřený blob. Uvidíme, možná nás HP překvapí.

Tím jsem myšlenku na přispívání do Fprint opustil. V současnosti není v Fprint podporováno žádné zařízení které by umožňovalo ukládání hesel přímo v senzoru, takže není možné bezpečnou cestou používat otisk prstu k připojování šifrovaných zařízení. Bez tohoto podle mě nemá práce na Fprint smysl, protože nepřinese žádný komfort navíc. Jsem otráven přístupem výrobců hardwaru…

Co se tématu diplomky týče, tak jsem nakonec sáhnul po implementaci videokonferencí pro instant messaging klienta Makneto, které na Brněnském FITu vypsal Jaroslav Řezník z RedHatu. O tom ale zas jindy…