Časové značky - Informace pro uživatele

Účelem je přiřadit nezpochybnitelnou časovou informaci k určitému objektu. Ta většinou slouží jako doklad, že dokument existoval v daném okamžiku v minulosti. O časové razítko k souboru může zažádat uživatel (je možné generovat časová razítka pro PDF dokumenty v Adobe Acrobat Readeru po jeho nakonfigurování) nebo server (využití při podepisování logů).

Razítka vydává autorita časových razítek neboli TSA (Time-Stamp Authority). Správa serveru časových razítek je zajištěna v rámci CESNET PKI. Server časových razítek je dostupný na adrese:

Následující postup je určen pouze pro OS UNIXového typu. V tomto postupu připravíme soubor s daty, vygenerujeme pro něj časovou značku a ověříme, že je tato značka validní.

Nejprve připravte datový soubor:

echo 'kuna nese nanuk' > data.txt

Máme soubor s názvem data.txt, ke kterému chceme získat časové razítko. Nejprve musíme pomocí OpenSSL vygenerovat TSA žádost:

openssl ts -query -data data.txt -no_nonce -cert -out data.tsq

Žádost je uložena v souboru data.tsq. Nyní stačí žádost odeslat na server časových razítek:

cat data.tsq | curl -s -S -H 'Content-Type: application/timestamp-query' --data-binary @- https://tsa.cesnet.cz:5817/tsa -o data.tsr

Razítko je nyní uloženo v souboru data.tsr. Samotný obsah razítka v lidsky čitelné podobě získáte pomocí příkazu

openssl ts -reply -in data.tsr -text

Nyní můžete ověřit, že se souborem nikdo nemanipuloval. Pro ověření podpisu je nutné nejprve stáhnout všechny certifikáty CA až po kořen a umístit je do jednoho souboru:

curl -s -S https://crt.cesnet-ca.cz/CESNET_CA_Root.pem -o CESNET_CA_Root.pem
curl -s -S https://crt.cesnet-ca.cz/PersonalSigning2.pem -o PersonalSigning2.pem
cat CESNET_CA_Root.pem PersonalSigning2.pem > TrustedCertificates.pem

V souboru TrustedCertificates.pem je po tomto kroku seznam certifikátů CA. Nyní můžete podpis ověřit:

openssl ts -verify -data ./data.txt -in ./data.tsr -CAfile ./TrustedCertificates.pem

Pokud vše proběhlo správně, měli byste vidět něco jako

Verification: OK

Nyní můžete zkusit, co se stane, pokud zmodifikujete datový soubor data.txt. Změňte obsah tohoto souboru:

echo 'jelenovi pivo nelej' > data.txt

a znovu spusťte příkaz

openssl ts -verify -data ./data.txt -in ./data.tsr -CAfile ./TrustedCertificates.pem

Ověření by mělo selhat s chybovou hláškou podobné této:

Verification: FAILED
140345687674584:error:2F064067:time stamp routines:TS_CHECK_IMPRINTS:message imprint mismatch:ts_rsp_verify.c:672:

V současné době je služba určena pro výzkumné a vzdělávací instituce a další registrované uživatele.

Službu poskytuje sdružení CESNET bezplatně.

Veškeré náměty a připomínky posílejte na adresu support@cesnet.cz.