Software escrow – proces úschovy
Ze zcela logických důvodů se výrobci software staví negativně k jakékoliv manipulaci s jejich zdrojovými kódy včetně jejich předávání do úschovy. Vzhledem k dlouhodobým zkušenostem s vývojem software je pro nás tento postoj naprosto pochopitelný. Know-how, které si softwarová firma buduje i několik desítek let, musí střežit jako oko v hlavě. Proto jsme při návrhu plně elektronického postupu dbali na zajištění maximální ochrany proti vyzrazení zdrojových kódů. Přicházíme s postupem úschovy – zabezpečené software escrow , který díky principům asymetrické kryptografie garantuje ochranu kódu na nadstandardní úrovni. Výsledkem je nerozporovatelný fakt, že dešifrovat archív se zdrojovými kódy může pouze nabyvatel – uživatel software. Procesně pak zajistíme, že uživatel k archívu nezíská přístup dříve, než jsou prokázány stanovené podmínky výdeje.
Podívejme se na jednotlivé fáze naší služby zabezpečeného software escrow.
1. Konzultace smluvních vztahů
Výrobce a uživatel software uzavírají smlouvy, na základě kterých probíhá implementace, dodání a následná správa aplikace (rámcová smlouva o dílo, prováděcí smlouva o dílo – závazek k poskytnutí služeb, SLA, apod.). V rámci iniciační fáze poskytne náš právník konzultace k existujícím nebo právě vznikajícím kontraktům a vhodně k nim doplní software escrow smlouvu, která zajistí uživateli přístup ke zdrojovým kódům a dalšímu programovému vybavení nezbytnému k užívání software v případě naplnění podmínek výdeje ve smlouvě zachycených.
2. Vytvoření inventáře
Druhým důležitým krokem je sepsání inventáře, který popisuje veškeré programové vybavení nutné k řádné údržbě a provozu aktuální verze aplikace. Za sestavení inventáře odpovídá výrobce, zákazník jednotlivé položky schvaluje. Kompletní inventář, odsouhlasený oběma stranami, je předán DEPONESTu a zpravidla obsahuje následující položky:
Software escrow – itinerář
- Název software
- Verze aplikace
- Datum uvolnění verze
- Stručný popis funkčnosti
- Zdrojové kódy, knihovny třetích stran, postup sestavení software
- Popis vývojového prostředí – vývojové nástroje, DB spojení, konfigurace
- Aktuální technická dokumentace
- Aktuální projektová dokumentace sdílená se zákazníkem – business specifikace, funkční specifikace
- Jakékoliv další položky, které jsou specifické pro danou aplikaci (přístupové klíče a hesla)
Uschovávaný materiál je kompletní pouze tehdy pokud obsahuje veškeré programové vybavení, nutné k provozu, správě a údržbě aplikace. Vypracování a schválení kvalitního inventáře je základním stavebním prvkem software escrow.
3. Základní verifikace eventuálně zabezpečená verze
Další fáze procesu úschovy je nejdůležitějším krokem z hlediska zajištění investice do software. Základní verifikací ověříme, že uložený digitální materiál odpovídá sjednanému inventáři a zdrojové kódy včetně nezbytného příslušenství se slučují s konkrétním typem naprogramovaného software. Tuto verifikaci jsme schopni provést bez nutnosti čtení obsahu souborů zdrojových kódů. Službu nazýváme – zabezpečená verze software escrow:
Využitím zabezpečené verze eliminujeme riziko vyzrazení zdrojových kódů.
Pomocí specializovaného software vygeneruje uživatel pár klíčů: veřejný klíč určený k zašifrování dat pošle výrobci software a privátní klíč, který slouží k dešifrování, si uloží na bezpečné místo. Používaný nástroj využívá asymetrický RSA algoritmus v kombinaci se silnou symetrickou šifrou. DEPONEST ověří přítomnost všech souborů definovaných dohodnutým inventářem, aniž by získal možnost číst obsah souborů.
4. Technická verifikace
Technickou verifikací zdrojových kódů máme na mysli ověření, zda lze vytvořit z dodaných zdrojových kódů plnohodnotný informační systém ve stejné verzi, která je aktuálně provozována v živém provozu zákazníka. Zdrojové kódy jsou zkompilovány našimi IT specialisty pro konkrétní typ programového příslušenství. Cílem je zprovoznění programu a krátký smoke test (dle typu aplikace). Jedině tímto nebo obdobným způsobem lze spolehlivě ověřit důvěryhodnost uložených zdrojových kódů a korunovat tak smysluplnost celého software escrow procesu. Pokud technická verifikace provedena není, nezbývá než se spojit s nižší úrovní kontroly doplněnou čestným prohlášením výrobce software, který softwarový materiál do úschovy připravil.
Je zřejmé, že provádění technické verifikace vylučuje použití zabezpečené verze software escrow, protože zdrojové kódy musí být pro DEPONEST čitelné. Proto se v tomto případě klade důraz na smluvní zajištění jejich bezpečnosti.
5. Výdej úschovy
DEPONEST, na podnět uživatele, ověří naplnění podmínek výdeje archívu z úschovy. Uživatel dostane zašifrový balík, který dešifruje svým privátním klíčem. Zdrojové kódy a programové vybavení může převzít jiný softwarový dodavatel a uživatel může pokračovat v provozu software.