V současné době provozuje ČNB interně vyvíjený systém v C++ ve třívrstvé architektuře. Spolu se vstupními daty odesílá klient na server také hash, který je zašifrován privátním klíčem uživatele pomocí funkce OpenSSL: RSA_private_encrypt. Certifikát uživatele včetně privátního klíče je uložen na lokálním disku klientské stanice. Na serveru jsou uloženy veřejné klíče všech uživatelů. Server nad přijatými daty spočítá vlastní hash, který poté porovná s přijatým hashem klienta, dešifrovaným pomocí veřejného klíče uživatele funkcí OpenSSL: RSA_private_decrypt .
Tlustý klient běží na platformě Windows 7(10) a Linux Redhat 7, server běží na platformě Linux Redhat 7.
Ke každé klientské stanici je připojena čtečka, vyhovují standardu PC/SC (např. HID Omnikey 3121). Uživatelé používají čipové karty firmy SafeNet (nově po spojení Gemalto) - Smart Card model 330u, 400, 4100. Nyní se testuje další typ Gemalto MD840B. Nainstalovaná podpora karet pochází od stejné společnosti a jedná se o SW Gemalto/SafeNet Authentication Client verze 10.3.25.
Cílem je upravit výše zmíněnou aplikaci tak, aby klientské certifikáty byly uloženy na některé z uvedených karet, přičemž privátní klíč uložený na kartě je označen jako neexportovatelný a je přístupný pouze pomocí služeb karty.
Požadujeme dodání vhodného řešení, které zajistí uvedený cíl.
Součástí dodávky bude zejména
- Framework s rozhraním v C++, který zajistí:
o komunikaci s výše uvedenými typy karet
o Identifikaci konkrétního certifikátu na kartě
o Zašifrování nebo podpis dat na základě zvoleného certifikátu
o Reakce na vyndání karty ze čtečky, chyby čtení, apod.
- Dokumentovaný příklad konkrétního použití dodaného frameworku pro zamýšlený cíl
- Dokumentovaný příklad dešifrování na serverové straně, za předpokladu, že jej bude nutno modifikovat
- Konzultace při aplikaci úprav v systému ČNB na základě dodaných příkladů
Omezující podmínky:
Preferujeme multiplatformní řešení na open source nebo komerční bázi. Zásadní je řešení pro platformu Windows 7(10), na které budou probíhat akceptační testy. Testování funkcionality pro ostatní platformy nebude součástí dodávky.