Báječný svět

elektronického podpisu

Jiří Peterka, 2022

Jak v programu Adobe Acrobat Reader nastavit podpisové schéma RSASSA-PSS

Pro zaručené (i uznávané a kvalifikované) elektronické podpisy využívající algoritmus RSA existují v rámci standardu PKCS#1 dvě různá podpisová schémata:

  • RSASSA-PKCS1-v1_5 (od: RSA Signature Scheme with Appendix), v programu Reader označováno jako RSA s PKCS#1 v.1.5
  • RSASSA-PSS (od: RSA Signature Scheme with Appendix - Probabilistic Signature Scheme), v programech Adobe označováno jako RSA s SSA-PSS (PKCS#1 v.2.1)

První z nich je starší, a defaultně jej používá většina nástrojů a služeb pro podepisování s využitím RSA. Druhé podpisové schéma je novější, robustnější a tudíž celkově bezpečnější. Hlavní rozdíl mezi nimi je v tom, že první (RSASSA-PKCS1-v1_5) je deterministické podpisové schéma: podpis stejného obsahu pomocí stejného soukromého klíče bude vždy stejný. Druhé schéma je pravděpodobnostní: podpis stejného obsahu stejným klíčem bude pokaždé jiný. Dále: první schéma umožňuje extrahovat z podpisu otisk podepsaného obsahu, zatímco druhé schéma toto neumožňuje.

Program Adobe Acrobat Reader ve svých aktuálních verzích podporuje obě podpisová schémata. Defaultně používá první z nich (RSASSA-PKCS1-v1_5), ale umožňuje přejít i na používání druhého podpisového schématu (RSASSA-PSS). Nelze tak ale učinit jen v rámci uživatelského nastavení, a (na platformě Windows) je nutný zásah do databáze Registry. Takovýto zásah by ale měl provádět jen uživatel s dostatečnými znalostmi, který „ví co dělá“.

Přepnutí mezi oběma schématy se provádí přes změnu hodnoty položky bEnableRSAPSSSigning, v Registry na cestě Počítač\HKEY_CURRENT_USER\Software\Adobe\Adobe Acrobat\DC\Security\cPubSec\cRSAPSSSigning. Jde o položku typu dword (REG_DWORD). Její absence či nastavení na hodnotu 0 znamená použití prvního podpisového schématu (staršího RSASSA-PKCS1-v1_5), nastavení na hodnotu 1 znamená použití druhého podpisového schématu (novějšího RSASSA-PSS).

Bohužel přenastavení hodnoty položky bEnableRSAPSSSigning, zdokumentované v návodech od společnosti Adobe, ke skutečnému využití druhého podpisového schématu v programu Adobe Acrobat Reader nepostačuje. Další (oficiálně nezdokumentovanou) podmínkou je vypnutí chráněného režimu (po spuštění programu).

Pokud by k vypnutí chráněného režimu nedošlo, při nastavení položky bEnableRSAPSSSigning na hodnotu 1 by program Adobe Acrobat Reader hlásil chybu CSP (zprostředkovatele kryptografických služeb systému Windows) s kódem 2148073511, a žádný podpis by nevytvořil.