Na žádost čtenářů jeden extra díl k seriálu o webovém bankovnictví –
tentokrát o bankovní aplikaci družstevní záložny finanční skupiny Fio.
11.7.2005 06:00 | Ondřej Čečák | přečteno 25063×
Družstevních záložen je v současné době v ČR dvacet (viz seznam činných družstevních záložen) a družstevní záložna Fio (která je součástí pražského brokerského domu Fio) je u nás zřejmě největší.
Na oficiálních stránkách záložny se dočtete:
Založení záložny se datuje do roku 1996. V dubnu 1998 se stala první finanční institucí v ČR nabízející obsluhu účtů po Internetu. Kolaps sektoru družstevních záložen na konci devadesátých let přestála Fio, družstevní záložna bez větších potíží pouze s drobným úbytkem členů a vkladů. Počínaje rokem 2001 se pak obnovil nárůst počtu klientů i objemu svěřených vkladů. V létě 2004 se stala jednou z prvních záložen splňujících podmínky euronovely zákona o spořitelních a úvěrních družstvech.
Jak je z výše uvedeného odstavce patrné, Fio nabízí Internetové bankovnictví. Oficiální softwarové požadavky jsou prohlížeč webových stránek (nejlépe Microsoft Internet Explorer verze 5.5 a vyšší, Netscape 6.x a vyšší, Opera 6.x a vyšší nebo Mozilla 1.x) a připojení na Internet. U požadavků je také zmíněno, že provozování podepisovací aplikace na jiných operačních systémech než je MS Windows je třeba projednat přes pobočku (o tom se zmíním ještě dále).
Výhodná je také možnost otestovaní vlastní webové aplikace předem prostřednictvím demoverze. Nejprve je nutné vyplnit formulář a poté vám na email v něm uvedený přijdou přihlašovací údaje, které stačí vložit rovnou do přihlašovací výzvy hlavní aplikace.
Podepisování aktivních transakcí není řešeno pomocí Javy, jako tomu bylo v předchozích případech, ale pomocí zvlášť dodávané aplikace. Kvůli bezpečnosti je nutné ještě před používáním aplikace vygenerovat klientský certifikát a přinést ho k ověření na pobočku (což se u žádné banky kromě Komerční banky pokud vím nedělá, certifikáty si uživatel obvykle podepisuje sám v jednoduchém webovém rozhraní certifikační autority banky).
A zde nastává malý problém – aplikace nabízená ke stažení je ve formě
binárního souboru typu win32. Zkoušel jsem ji spustit pomocí WINE, ale tam proběhla korektně pouze
instalace (průběh vlastně nebyl úplně korektní, protože jednou se objevilo
chybové okno o "neúspěšném expand group"), nicméně grafické nástroje
alespoň pro vytvoření certifikátu nefungovaly (hlavní aplikace končila na
chybě Unhandled exception: page fault on read access to 0x00000000 in
32-bit code (0x7c0024b9)
.
Jak je uvedeno u softwarových nároků aplikace, po zaslání dotazu (doporučený email je homebanking zavináč fio tečka cz) na linuxovou verzi by se vás měl ujmout pracovník, který vám ve finále pošle vlastní binární aplikaci. Vývoj grafické Linuxové aplikace je v plánu, zatím ale bez časového horizontu. Textová verze aplikace je tedy zatím nabízena na požádání.
Pokud jste už úspěšně obdrželi a rozbalili binární aplikaci, doporučuji přečtení přiloženého návodu. Pokud je v emailu informace, že program funguje pouze s jádrem 2.4, tak se jedná o drobnou chybu – já jsem na kernelu 2.6.12 nezaznamenal potíže (chyba byla později vyjasněna, takže na ni už možná nenarazíte).
Nejprve je nutné vygenerovat pár certifikátů, které budete používat pro digitální podepisování; s jedním z nich navíc budete muset kvůli bezpečnosti zajít na pobočku.
Ještě dodám, že jsem vše zkoušel na distribuci Debian GNU/Linux 3.1, dodaná aplikace byla dynamicky slinkována s knihovnami pro Red Hat Enterprise Linux 3, takže pokud jste na tom jinak, může se něco trochu lišit.
Nejprve je nutné vygenerovat privátní certifikát:
uzivatel@doma:~$ openssl genrsa -des3 -out fiohb.priv.key 1024 Generating RSA private key, 1024 bit long modulus .++++++ ..........................++++++ e is 65537 (0x10001) Enter pass phrase for fiohb.priv.key: fraze_pro_zasifrovani Verifying - Enter pass phrase for fiohb.priv.key: fraze_pro_zasifrovani
Následně k němu ještě vytvořte veřejný protějšek:
uzivatel@doma:~$ openssl rsa -in fiohb.priv.key -out fiohb.pub.key -pubout Enter pass phrase for fiohb.priv.key: fraze_pro_zasifrovani writing RSA key
Poslední věcí je vytvoření souboru s fingerprintem veřejného certifikátu. Pro ten už není uveden "standardní" postup, ale je potřeba použít dodanou binární aplikaci.
Program fgp
si ale bohužel nějak nerozumněl s knihovnou libcrypt.so
ze Sarge,
takže jsem si stáhl RPM balíček z CentOS
verze 3, vybalil z něj potřebnou knihovnu, kterou jsem dočasně umístil
do /usr/lib/
a nalinkoval jsem na ní, jak fgp
požadoval (viz
ldd fgp
). Konkrétně se jednalo o balíček openssl-0.9.7a-33.15.i386 a
knihovny (druhá bude potřeba později), které jsem pojmenoval /usr/lib/libcrypto.so.0.9.7a.custom
a
/usr/lib/libssl.so.0.9.7a.custom
a vytvořil potřebné linky.
Fingerprint pak snadno vygenerujete příkazem:
sandbox@doma:~/fiohb$ ./fgp fiohb.pub.key - 34 92 17 4A AD 0C 04 AF DC A5 90 D1 5C 89 C4 D5 uzivatel@doma:~/fiohb/$ ./fgp fiohb.pub.key - > fiohb.pub.key.fgp
Soubory fiohb.pub.key.fgp
a fiohb.pub.key
(nejlépe asi na disketě) si spolu s
uživatelským jménem a heslem vezměte na pobočku, kde zkontrolujete fingerprint
certifikátu banky a váš certifikát bude autorizován a přinesený nosič bude
uložen na bezpečném místě. Zadáním jména a hesla také získáte možnost
přihlášení a budete tak moci používat alespoň pasivní operace.
Zprovoznit aktivní operace je už o něco složitější. Nejprve je potřeba správně
nastavit aplikaci wsign
. Buďto můžete všechny soubory z archivu nahrát do
domovského adresáře, nebo vytvořit symbolické linky fiosign.cfg
a
fiosign.key
(pomocí ln -s
) ukazující na reálné
umístění konfiguračního souboru a privátního klíče.
Konfigurace je poměrně jednoduchá, jako příklad klidně poslouží můj fungující
konfigurační soubor fiosign.cfg
:
#server + port Server www.fio.cz:444 #login do zalozny Login "oc" #certifikat CA, ktera je podepsala certifikat serveru (default neni, musi byt #uveden zde nebo v parametrech pri startu wsign) CACert /home/sandbox/fiohb/FioCA.pem #proxy Proxy proxy.domena.cz:80 #nepouzivat proxy i kdyz je nakofigurovana NoProxy yes # code page pro zobrazovani # unix default je iso, win default je CP1250, dalsi platna hodnota je ASCII, # ale # neni implemtovana a zadna konverze se neprovadi CodePage ISO-8859-2 # Soubor s klicem defaultni hodnota je$(HOME)/fiosign.key #KeyFile /home/xxx/fiosign.key #cas expirace klice od posledniho pouziti ve vterinach KeyExpire 300
Pokud je vše správně nastaveno, můžeme přejít na vlastní řešení podepisování. Existují v zásadě dvě cesty, jak autorizovat aktivní transakce.
Ta první, perspektivnější, ale složitější, funguje tak, že pokud
prohlížeč narazí na MIME typ application/fioordersign, bude vědět, že má
spustit wsign
s parametrem -m
a dočasně vytvořeným souborem, kde je v současné
době přihlašovací jméno (měl by tam být i server, ale toho jsem si nevšiml).
Výhodou tohoto řešení je automatické spuštění aplikace pro podepisování a
rychlá reakce na změny v aplikaci. Nevýhodou je zřejmě nutnost napsání jednoduchého
wrapperu (alespoň u Mozilly/Firefoxe), který jednak zavolá program s
parametrem a jednak přesměruje vstup a výstup podepisovací aplikace někam
jinam než do ztracena (např. na jeden z terminálů, popř. pokud to bude možné tak
také pseudoterminálů). Možné je také spoustit na pseudoterminálu další
instanci Mozilly – aplikace se pak spustí v tom, ze kterého byla
inicializována.
Druhou možností je ruční spouštění aplikace spolu s dobrou konfigurací. Pak
bude autorizování fungovat tak, že po zadání transakce jednoduše spustíte
program wsign
bez parametru a necháte ověřit danou transakci.
Výhodou je snazší ověření a jednodušší spouštění ze sandboxu (tom se zmíním
ještě dále). Nevýhodou je nejistá budoucnost – jednou se soubor na
ověřování od banky může změnit a pak je třeba počítat s tím, že by případnou
nefunkčnost mohlo způsobovat právě tohle.
Já osobně jsem zvolil řešení druhé, i když se mi zdá, že první možnost bude také fungovat slušně, jenom s tím bude trochu více práce.
Vlastní zadávání transakcí pak vypadá tak, že si ve webové aplikaci zadáte
libovolný příkaz, pod výzvou k podepsání stisknete pokračovat a
"otevřený" soubor stornujete (Mozilla mi po úspěšném uložení souboru
občas úplně spadla). Pak pomocí programu wsign
transakci
digitálně podepište:
sandbox@doma:~/fiohb$ ./wsign jmeno souboru s klicem(default '/home/sandbox/fiosign.key'): <enter> Heslo ke klici: fraze_pro_zasifrovani **********DATA K PODPISU*********** Typ pokynu: Jednorázový platební příkaz Zdrojový účet: 111001725 Množství: 50.00 Měna: CZK Datum: 04.07.2005 Na účet: 490071003 Kód banky: 2700 Konstantní symbol: 0558 Variabilní symbol: 666 Specifický symbol: Vaše označení: Ondrej Cecak ************************************* ??? Podepsat tento pokyn? (a/n) a - OK - pokyn byl potvrzen
(pokud program sám neskončí, můžete mu po chvíli pomoci stisknutím CTRL + C,
popř. příkazem killall wsign
)
A je to. Pokud bude na příkazu vše v pořádku, příkaz bude zpracován a odeslán k vyřízení.
Možná jste si všimli, že v některých příkladech se nespouští binární soubory
od záložny přímo z uživatelského účtu uzivatel
, ale z tzv.
pískoviště – speciálního účtu sandbox
, který má omezená
práva. Vše je kvůli bezpečnosti, protože pokud si nejste jisti obsahem
binárního souboru, je dobré spouštět program mimo hlavní účet – chyba v
programu nebo případně zlý záměr pak nemůže snadno vést k poškození dat nebo způsobit
jejich prozrazení apod.
Bankovní aplikace Fia je svým designem podobná hlavním stránkám FIO a je dostupná v českém jazyce. Po přihlášení se dostanete na přehled zůstatků na účtech, nicméně není problém si toto výchozí chování změnit.
Microsoft Internet Explorer 5.5 *** Mozilla 1.7.8 *** Opera 8.01.
Navigace v aplikaci je řešena vodorovným dvojitým menu, kde je na prvním řádku určena hlavní volba a na řádku pod ním jsou další podrobnější odkazy.
Hlavních možností je celkem šest – Přehledy, Správa účtů, Podání pokynu, Nastavení (ve kterém se dají nastavit speciality u některých hlavních voleb), Globální nastavení a poslední volba slouží k odhlášení.
Pod první možností (či rovnou kartou) Přehledy se skrývají poměrně bohaté možnosti přehledu o účtech. Jednak zde najdete přehled zůstatků (v levém menu si můžete snadno a rychle nastavit k jakému datu zůstatky chcete, popř. můžete exportovat tabulku do souboru formátu MS Excel), přehled pohybů na účtu a provedených transakcí (které se dají snadno filtrovat podle různých kritérií), denní a měsíční zůstatky, přehled trvalých příkazů a informace o účtu.
Další volba Správa účtů slouží k zadání nebo nastavení termínovaného vkladu s obnovou, vkladu s výpovědní lhůtou, spořícího účtu s výpovědní lhůtou a běžného vkladu bez výpovědní lhůty.
Následuje možnost Podání pokynu, kde můžete zadat jednorázový, hromadný a trvalý příkaz k převodu, avízo, přesun na účtu (přesun v rámci podúčtů) a výpověď (včetně převodu finančních prostředků jinam).
V předposlední kartě Globální nastavení rychle zjistíte datum posledního přihlášení (včetně IP adresy), platnost hesla, které si zde můžete také změnit, možnost nastavení ukládání filtrovacích pravidel při hledání transakcí, nastavení intervalu automatického odhlašování, volbu stránky, která se zobrazí po přihlášení a zobrazování hlavičky.
Přehled převodů. *** Nastavení pohledu Správy účtů. *** Zadání trvalého příkazu (odkaz se otevírá v novém okně).
Aplikace bez problémů fungovala v Mozille (která sice nezobrazovala menu rychlé volby, což ale vůbec nevadí), Opeře (ve které zmíněné menu fungovalo stejně jako v IE) a Konqueroru (kde se menu rovněž nezobrazovalo); ELinks z neznámého důvodu stále zobrazoval pouze hlavní stránku. Fio HomeBanking se mi poměrně líbil, je v něm vše potřebné, ovládání je intuitivní a bez problémů všechno funguje jak má.