Difference between revisions of "Timestamp"

From Ilianko
 
(26 intermediate revisions by the same user not shown)
Line 1: Line 1:
 
[[Image:timestamp.jpg|thumb|right|250px|Немски печат за дата и час, 1960s]]
 
[[Image:timestamp.jpg|thumb|right|250px|Немски печат за дата и час, 1960s]]
  
 +
== timestamp или удостоверявание на време ==
  
[[Category:Интернет Сигурност]]
+
Данни, които '''идентифицират и удостоверяват''', кога (година, ден,час, секунда ...) е възникнало дадено събитие.
 +
*пощенско клеймо
 +
*[[електронно удостоверение на време]]
 +
 
 +
 
 +
 
 +
 
 +
==Удостоверители за време==
 +
 
 +
За да има юредическа стойност удостоверението за време, то трябва да бъде издадено от [http://ec.europa.eu/information_society/policy/esignature/eu_legislation/trusted_lists/index_en.htm сертифициран удостоворител в границите на европейски съюз]. За България е серитифицирана [http://www.crc.bg КРС], която от своя страна е [http://crc.bg:8080/dpls/apex/f?p=923:310:3952311760191391::NO::: сертифицирала удостоверители], като [http://www.b-trust.org Борика-Банксервиз АД (B-trust)],  [http://www.infonotary.com Инфоарти АД] и други.
 +
 
 +
[http://www.b-trust.org/?p=timestamp В момента единствено B-trust предлага безплатно издаване на удостоверение за време.]
 +
 
 +
 
 +
==Инстaлиране на TS клиент==
 +
 
 +
За издаване на timestamp ни е нужна заявка за издаване. Заявката е в определeн формат според [http://www.ietf.org/rfc/rfc3161.txt препоръка RFC3161].
 +
 
 +
За генериране на заявката може да се използва [http://www.opentsa.org/ openTSA], инструмент включен в [http://www.openssl.org/ 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
 +
 
 +
<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
 +
 
 +
[[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