Šifrování dat v aplikaci SOFiE
Aplikace SOFiE podporuje následující šifrování přenášených a uložených dat:
Šifrování dat při přenosu. Probíhá vždy implicitně v rámci standardního kanálu webového protokolu HTTPS.
Šifrování uložených dat. Probíhá volitelně, dle konfigurace administrátora. Ve výchozím stavu je u nových instalací zapnuté.
Následující diagram znázorňuje situaci:
Pokud je šifrování uložených dat zapnuto, pak veškeré uložené soubory jsou na disku zašifrovány pomocí klíče DEK (data encryption key). Klíč DEK je unikátní pro každou zásilku. Tento DEK je následně zašifrován pomocí klíče KEK (key encryption key) a uložen na disk spolu se soubory. Klíč KEK je uložen v databázi, odděleně od zašifrovaných souborů a klíčů DEK. Jako šifra je použita symetrická AES_256_GCM.
Podporována je ještě rozšiřující funkce “šifrování heslem zásilky”. Pokud je tato funkce administrátorem povolena a uživatelem použita, je vygenerován ještě v prohlížeči uživatele unikátní klíč KEK na základě jím zadaného hesla zásilky. Ten je následně předán serveru a je serverem jednorázově využit k zašifrování a následně zapomenut, není nikde uložen. Data tak na serveru není následně možné rozšifrovat, aniž by uživatel znovu zadal tento unikátní klíč (resp. heslo, z něhož se vygeneruje). K datům zašifrovaným heslem zásilky tak nemá přístup nikdo, kdo nezná heslo zásilky, ani administrátor.