Urząd znakujący czasem – usługa działająca w ramach infrastruktury klucza publicznego, potwierdza czas przedstawienia urzędowi dokumentów elektronicznych.
Opis
Urząd znakujący może wystawiać stemple czasowe potwierdzając tym samym istnienie konkretnych danych w konkretnym momencie czasowym. Ważne jest, że stemple czasowe są podpisane przez urząd znakujący czasem co zapewnia niezaprzeczalność oraz to, że istnieje możliwość weryfikacji certyfikatu urzędu znakującego czasem (uwierzytelnianie). Zapytanie o wystawienie stempla czasowego oraz odpowiedź serwera jest zdefiniowana w dokumencie RFC 3161 ↓.
Zgłoszenie
TimeStampReq ::= SEQUENCE {
version INTEGER { v1(1) },
messageImprint MessageImprint,
--a hash algorithm OID and the hash value of the data to be time-stamped
reqPolicy TSAPolicyId OPTIONAL,
nonce INTEGER OPTIONAL,
certReq BOOLEAN DEFAULT FALSE,
extensions [0] IMPLICIT Extensions OPTIONAL }
MessageImprint ::= SEQUENCE {
hashAlgorithm AlgorithmIdentifier,
hashedMessage OCTET STRING }
W zgłoszeniu znajduje się przede wszystkim skrót danych, które mają zostać podstemplowane.
Odpowiedź
Odpowiedź opakowana jest CMS (jeden z formatów podpisu elektronicznego), w podpisanych danych znajduje się struktura:
TSTInfo ::= SEQUENCE {
version INTEGER { v1(1) },
policy TSAPolicyId,
messageImprint MessageImprint,
-- MUST have the same value as the similar field in TimeStampReq
serialNumber INTEGER,
-- Time-Stamping users MUST be ready to accommodate integers up to 160 bits.
genTime GeneralizedTime,
accuracy Accuracy OPTIONAL,
ordering BOOLEAN DEFAULT FALSE,
nonce INTEGER OPTIONAL,
-- MUST be present if the similar field was present in TimeStampReq. In that case it MUST have the same value.
tsa [0] GeneralName OPTIONAL,
extensions [1] IMPLICIT Extensions OPTIONAL }
gdzie: messageImprint to dane przysłane do podstemplowania, a genTime to czas podstemplowania.
Linki zewnętrzne