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í Klientské 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 Klientská 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:

  1. Název podepisovaného dokumentu
  2. Informace o podepisující osobě a podpisu dokumentu
  3. Otisk dokumentu před podpisem - SHA-256 kontrolní součet dokumentu před podpisem
  4. Ú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í Klientské 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.