Popis generování SMS klíče
Účel dokumentu
Tento spis popisuje účel a možné použití dokumentu „Protokol o podpisu dokumentu“ a způsob generování SMS klíče při podepisování v prostředí Hypoteční zóny. Dále obsahuje informace pro ověření jednoznačné vazby SMS klíče na podepisovaný dokument.
Protokol o podpisu dokumentu
Tento dokument je generován systémem Hypoteční zóna pro klienty. Týká se elektronicky podepsaných dokumentů s využitím SMS klíče a slouží pro předání informací pro ověření jednoznačné vazby SMS klíče na podepisovaný dokument.
Protokol o podpisu dokumentu obsahuje především následující informace:
- Název podepisovaného dokumentu
- Informace o podepisující osobě a podpisu dokumentu
- Otisk dokumentu před podpisem - SHA-256 kontrolní součet dokumentu před podpisem
- Údaj pro ověření SMS klíče - RSASSA_PSS podepsaný kontrolní součet dokumentu před podpisem (dále jen "podepsaný kontrolní součet dokumentu").
Pokud byl dokument podepsán více klienty, tak informace 2 až 4 jsou uvedeny pro každý podpis samostatně.
Způsob generování SMS klíče
SMS klíč je odvozen od obsahu podepisovaného dokumentu. Níže uvedený postup zajišťuje jednoznačnou vazbu mezi podepisovaným dokumentem a SMS klíčem. Ten je klientovi zaslán na registrovaný mobilní telefon, pomocí kterého potvrdí svůj souhlas s obsahem dokumentu (elektronicky jej podepíše).
1/ Výpočet podepsaného kontrolního součtu dokumentu
Podepsaný kontrolní součet dokumentu je vytvořen pomocí podpisového schématu RSASSA-PSS, s následujícími vlastnostmi:
- hashAlgorithm = SHA-256,
- maskGenAlgorithm = mgf1SHA256,
- saltLength = 32 (octets),
- trailerField = 1
- Podpis kontrolního součtu: PKCS7 - SHA256 with RSA
- Podpisový certifikát použitý v tomto kroku je identický s certifikátem použitým pro podepsání dokumentu po ověření SMS klíče zadaného klientem.
2/ Výpočet SMS klíče
SMS klíč je jednoznačně odvozen od podepsaného kontrolního součtu dokumentu. Hodnota podepsaného kontrolního součtu je napřed redukována na délku 64bitů a následně pomocí převodní tabulky převedena na textovou podobu SMS klíče.
3/ Ověření vazby SMS klíče na podepsaný dokument
Pro ověření vazby SMS klíče na podepsaný dokument jsou potřeba následující dokumenty:
- Samotný podepsaný dokument
- Protokol o podpisu dokumentu.
Oba dokumenty jsou dostupné v prostředí Hypoteční zóny.
Postup ověření:
1/ Získání verze dokumentu před podpisem
Pomocí vhodného nástroje (například Acrobat Reader) je možné z podepsaného dokumentu zobrazit libovolnou předchozí verzi DPF dokumentu. Pro ověření je potřeba zobrazit verzi podepsaného dokumentu před kontrolovaným podpisem a tuto verzi uložit na disk.
2/ Ověření verze
Správnost verze před podpisem je možné ověřit pomoci výpočtu kontrolního součtu uloženého dokumentu pomocí algoritmu SHA-256 a jeho porovnání s údaji uvedenými v Protokolu o podpisu dokumentu.
3/ Uložení veřejného klíče banky
Pomocí vhodného nástroje (například Acrobat Reader) je možné uložit veřejný klíč podpisového certifikátu banky.
4/ Ověření podepsaného kontrolního součtu dokumentu
Podepsaný kontrolní součet dokumentu je vytvořen pomocí podpisového schématu RSASSA-PSS s výše uvedenými parametry. Na základě informací získaných v předchozích krocích je možné ověřit správnost uvedeného podepsaného kontrolního součtu dokumentu v „Protokolu o podpisu dokumentu“.
5/ Ověření vazby SMS klíče na podepsaný kontrolní součet dokumentu
Převod podepsaného kontrolního součtu dokumentu na SMS klíč probíhá následovně:
- Kontrolní součet se zpracovává jako bitové pole a opakovaně půlí. Poloviny se bitově sčítají pomocí operace XOR až do konečné délky 64bitů.
- Bity 0, 1, 62 a 63 se pomocí XOR sečtou a podle výsledku se volí převodní tabulka:
- 0 = T0
- 1 = T1
- Převodní tabulky jsou definované jako:
- T0=83rgqphd7bmso265v9txfw4ncuki1aej
- T1=wts5k2jbve3xf16aqu49d87ngcophirm
- Bity 2 až 61 se rozdělí na skupiny po 5 bitech a následně se převedou na číslo (hodnoty 0 až 31). Podle nich se ve zvolené tabulce T0 nebo T1 vyhledá odpovídající znak.
- Výstupní znaky se zformátují pro snadnější čtení a zadávání (tři skupiny po čtyřech znacích, oddělené pomlčkou)
- Výsledkem je SMS klíč, ve tvaru podle příkladu: der4-57ec-we1n.
Pomocí tohoto postupu je možné ověřit vazbu SMS klíče na podepsaný kontrolní součet dokumentu a tím i samotný podepsaný dokument.