Difference between revisions of "Timestamp"

From Ilianko
 
(17 intermediate revisions by the same user not shown)
Line 5: Line 5:
 
Данни, които '''идентифицират и удостоверяват''', кога (година, ден,час, секунда ...) е възникнало дадено събитие.
 
Данни, които '''идентифицират и удостоверяват''', кога (година, ден,час, секунда ...) е възникнало дадено събитие.
 
*пощенско клеймо
 
*пощенско клеймо
*електронно удостоверение на време
+
*[[електронно удостоверение на време]]
  
  
Line 16: Line 16:
 
[http://www.b-trust.org/?p=timestamp В момента единствено B-trust предлага безплатно издаване на удостоверение за време.]
 
[http://www.b-trust.org/?p=timestamp В момента единствено B-trust предлага безплатно издаване на удостоверение за време.]
  
is a sequence of characters or encoded information identifying when a certain event occurred, usually giving date and time of day, sometimes accurate to a small fraction of a second. The term derives from rubber stamps used in offices to stamp the current date, and sometimes time, in ink on paper documents, to record when the document was received. A common example of this type of timestamp is a postmark on a letter. However, in modern times usage of the term has expanded to refer to digital date and time information attached to digital data. For example, computer files contain timestamps that tell when the file was last modified, and digital cameras add timestamps to the pictures they take, recording the date and time the picture was taken.
 
Contents
 
  
    1 Digital timestamps
+
==Инстaлиране на TS клиент==
    2 Examples
 
    3 Standardization
 
    4 Other meanings
 
    5 See also
 
    6 Notes
 
  
Digital timestamps
+
За издаване на timestamp ни е нужна заявка за издаване. Заявката е в определeн формат според [http://www.ietf.org/rfc/rfc3161.txt препоръка RFC3161].
  
A timestamp is the time at which an event is recorded by a computer, not the time of the event itself. In many cases, the difference may be inconsequential: the time at which an event is recorded by a timestamp (e.g., entered into a log file) should be close to the time of the event.
+
За генериране на заявката може да се използва [http://www.opentsa.org/ openTSA], инструмент включен в [http://www.openssl.org/ OpenSSL] след версия 0.99.
  
The sequential numbering of events is sometimes called timestamping[citation needed].
+
За проверка на текущата версия на OpenSSL използвайте:
 +
openssl version
  
This data is usually presented in a consistent format, allowing for easy comparison of two different records and tracking progress over time; the practice of recording timestamps in a consistent manner along with the actual data is called timestamping.
+
Ако версията е по-малка от 0.99 изтеглете и компилирайте по-нова версия:
 +
sudo su
 +
cd ~/
 +
mkdir ts
 +
cd ts
 +
wget http://www.openssl.org/source/openssl-1.0.1c.tar.gz
 +
tar -zxf openssl-1.0.1c.tar.gz
 +
cd openssl-1.0.1c
 +
./config --prefix=/home/student/ts
 +
make
 +
make install
  
Timestamps are typically used for logging events or in a sequence of events (SOE), in which case each event in the log or SOE is marked with a timestamp. In filesystems, timestamp may mean the stored date/time of creation or modification of a file.
+
==Създаване на директория за съхранение на сертификати==
  
 +
Уместно е да се създаде директория за съхранение на сертификатите на организаците, на които ще се доверяваме.
 +
sudo su
 +
cd ~/
 +
mkdir ts/CA
 +
 
 +
Изтеглянe на сертификата, с който се удостоверяват подписаните от B-trust документите. Този сертификат ще се ползва впоследствие при удостоверяване на удостоверението за време.
 +
 +
cd ts/CA
 +
wget http://ilianko.com/RootCA5.pem
 +
За улеснение сертификатът е качен на ilianko.com. Същият сертификат може да се изтегли от http://b-trust.org, но в друг формат.
 +
 +
 +
Генериране на хеш на сертификата, който ще ползва от openTSA.
 +
 +
cd ~/ts
 +
bin/c_rehash CA/
 +
 +
==Генериране на заявка за удостоверение за време==
 +
 +
Документът, който искаме да подпечатаме е файлът text.time. От text.time ще се генерира хеш посредством SHA1.
 +
ts/bin/openssl ts -query -data text.time -sha1 -no_nonce -cert -out text.time.tsq
 +
 +
Преглед на заявката може да направим с:
 +
ts/bin/openssl ts -query -in text.time.tsq -text
 +
Изход от командата:
 +
Version: 1
 +
Hash Algorithm: sha1
 +
Message data:
 +
    0000 - 58 1a 1d d4 74 80 2e 9b-65 a6 1a ea 4e 0b 99 c6  X...t...e...N...
 +
    0010 - 76 2a 8b fc                                      v*..
 +
Policy OID: unspecified
 +
Nonce: unspecified
 +
Certificate required: yes
 +
Extensions:
 +
 +
Ясно се вижда стойността на хеша, която ще бъде заявена за удостоверяване:
 +
''581a1dd474802e9b65a61aea4e0b99c6762a8bfc''
 +
 +
==Изпращане TS заявката ==
 +
 +
Може да се ползва web формата на http://www.b-trust.org/?p=timestamp.
 +
След качване на заявката автоматично се праща отговор с удостоверение за време на изпратения хеш.
 +
 +
==Проверка на удостоверението за време==
 +
 +
За визуализиране на удостоверението за време може да се ползва:
 +
ts/bin/openssl ts -reply -in text.time.tsr -text
 +
 +
<code><pre>
 +
Status info:
 +
Status: Granted.
 +
Status description: Operation Okay
 +
Failure info: unspecified
 +
 +
TST info:
 +
Version: 1
 +
Policy OID: 0.4.0.2023.1.1
 +
Hash Algorithm: sha1
 +
Message data:
 +
    0000 - 58 1a 1d d4 74 80 2e 9b-65 a6 1a ea 4e 0b 99 c6  X...t...e...N...
 +
    0010 - 76 2a 8b fc                                      v*..
 +
Serial number: 0x03A353327A25
 +
Time stamp: Oct 12 11:54:20 2012 GMT
 +
Accuracy: unspecified seconds, 0x01F4 millis, unspecified micros
 +
Ordering: yes
 +
Nonce: unspecified
 +
TSA: DirName:/C=BG/L=Sofia/O=BORICA - BANKSERVICE AD, EIK 201230426/OU=B-Trust/CN=B-Trust Time Stamp Authority/street=bul. Tsarigradsko shose No 117/postalCode=1784/emailAddress=ca5tss@b-trust.org/telephoneNumber=+359 2 9 215 100
 +
Extensions:
 +
 +
</pre></code>
 +
Виждат се времето на подпечатване ''Time stamp: Oct 12 11:54:20 2012 GMT'' и издателя на печата ''BORICA - BANKSERVICE AD''.
 +
 +
За удостоверяване на удостоверението за време:
 +
ts/bin/openssl ts -verify -data text.time -in text.time.tsr -CApath ts/CA
 +
 +
Полученият отговор трябва да изглежда:
 +
Verification: OK
 +
 +
Ако няма наличен сертификат на издателя на удостоверение за време отговорът ще е:
 +
  Verification: FAILED
 +
3076750056:error:2F06D064:time stamp routines:TS_VERIFY_CERT:certificate \
 +
verify error:ts_rsp_verify.c:246:Verify  error:unable to get local issuer certificate
 +
 +
 +
== Подписване на документ ==
 +
 +
Доказването на произхода на време-подписаната информация, може да стане с електронно подписване. Електронното подписване не е задължително да бъде с X.509 сертифициран универсален електронен подпис, а може да се извърши и с openPGP сертификат
 +
 +
apt-get install gnupg
 +
gpg --gen-key
 +
gpg -a --detach-sign text
 +
 +
 +
 +
 +
 +
 +
 +
 +
 +
 +
 +
 
  
 
http://security.stackexchange.com/questions/4518/how-to-estimate-the-time-needed-to-crack-rsa-encryption
 
http://security.stackexchange.com/questions/4518/how-to-estimate-the-time-needed-to-crack-rsa-encryption
  
[[Category:Интернет сигурност]]
+
[[Category:Мрежова сигурност]]

Latest revision as of 05:21, 15 October 2012

Немски печат за дата и час, 1960s

timestamp или удостоверявание на време

Данни, които идентифицират и удостоверяват, кога (година, ден,час, секунда ...) е възникнало дадено събитие.



Удостоверители за време

За да има юредическа стойност удостоверението за време, то трябва да бъде издадено от сертифициран удостоворител в границите на европейски съюз. За България е серитифицирана КРС, която от своя страна е сертифицирала удостоверители, като Борика-Банксервиз АД (B-trust), Инфоарти АД и други.

В момента единствено B-trust предлага безплатно издаване на удостоверение за време.


Инстaлиране на TS клиент

За издаване на timestamp ни е нужна заявка за издаване. Заявката е в определeн формат според препоръка RFC3161.

За генериране на заявката може да се използва openTSA, инструмент включен в OpenSSL след версия 0.99.

За проверка на текущата версия на OpenSSL използвайте:

openssl version

Ако версията е по-малка от 0.99 изтеглете и компилирайте по-нова версия:

sudo su
cd ~/
mkdir ts
cd ts
wget http://www.openssl.org/source/openssl-1.0.1c.tar.gz
tar -zxf openssl-1.0.1c.tar.gz
cd openssl-1.0.1c
./config --prefix=/home/student/ts
make
make install

Създаване на директория за съхранение на сертификати

Уместно е да се създаде директория за съхранение на сертификатите на организаците, на които ще се доверяваме.

sudo su
cd ~/
mkdir ts/CA
 

Изтеглянe на сертификата, с който се удостоверяват подписаните от B-trust документите. Този сертификат ще се ползва впоследствие при удостоверяване на удостоверението за време.

cd ts/CA
wget http://ilianko.com/RootCA5.pem

За улеснение сертификатът е качен на ilianko.com. Същият сертификат може да се изтегли от http://b-trust.org, но в друг формат.


Генериране на хеш на сертификата, който ще ползва от openTSA.

cd ~/ts
bin/c_rehash CA/

Генериране на заявка за удостоверение за време

Документът, който искаме да подпечатаме е файлът text.time. От text.time ще се генерира хеш посредством SHA1.

ts/bin/openssl ts -query -data text.time -sha1 -no_nonce -cert -out text.time.tsq

Преглед на заявката може да направим с:

ts/bin/openssl ts -query -in text.time.tsq -text

Изход от командата:

Version: 1
Hash Algorithm: sha1
Message data:
   0000 - 58 1a 1d d4 74 80 2e 9b-65 a6 1a ea 4e 0b 99 c6   X...t...e...N...
   0010 - 76 2a 8b fc                                       v*..
Policy OID: unspecified
Nonce: unspecified
Certificate required: yes
Extensions:

Ясно се вижда стойността на хеша, която ще бъде заявена за удостоверяване: 581a1dd474802e9b65a61aea4e0b99c6762a8bfc

Изпращане TS заявката

Може да се ползва web формата на http://www.b-trust.org/?p=timestamp. След качване на заявката автоматично се праща отговор с удостоверение за време на изпратения хеш.

Проверка на удостоверението за време

За визуализиране на удостоверението за време може да се ползва:

ts/bin/openssl ts -reply -in text.time.tsr -text
 Status info:
Status: Granted.
Status description: Operation Okay
Failure info: unspecified

TST info:
Version: 1
Policy OID: 0.4.0.2023.1.1
Hash Algorithm: sha1
Message data:
    0000 - 58 1a 1d d4 74 80 2e 9b-65 a6 1a ea 4e 0b 99 c6   X...t...e...N...
    0010 - 76 2a 8b fc                                       v*..
Serial number: 0x03A353327A25
Time stamp: Oct 12 11:54:20 2012 GMT
Accuracy: unspecified seconds, 0x01F4 millis, unspecified micros
Ordering: yes
Nonce: unspecified
TSA: DirName:/C=BG/L=Sofia/O=BORICA - BANKSERVICE AD, EIK 201230426/OU=B-Trust/CN=B-Trust Time Stamp Authority/street=bul. Tsarigradsko shose No 117/postalCode=1784/emailAddress=ca5tss@b-trust.org/telephoneNumber=+359 2 9 215 100
Extensions:

Виждат се времето на подпечатване Time stamp: Oct 12 11:54:20 2012 GMT и издателя на печата BORICA - BANKSERVICE AD.

За удостоверяване на удостоверението за време:

ts/bin/openssl ts -verify -data text.time -in text.time.tsr -CApath ts/CA

Полученият отговор трябва да изглежда:

Verification: OK

Ако няма наличен сертификат на издателя на удостоверение за време отговорът ще е:

 Verification: FAILED
3076750056:error:2F06D064:time stamp routines:TS_VERIFY_CERT:certificate \
verify error:ts_rsp_verify.c:246:Verify  error:unable to get local issuer certificate


Подписване на документ

Доказването на произхода на време-подписаната информация, може да стане с електронно подписване. Електронното подписване не е задължително да бъде с X.509 сертифициран универсален електронен подпис, а може да се извърши и с openPGP сертификат

apt-get install gnupg
gpg --gen-key
gpg -a --detach-sign text







http://security.stackexchange.com/questions/4518/how-to-estimate-the-time-needed-to-crack-rsa-encryption