Difference between revisions of "Timestamp"
(24 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 или удостоверявание на време == | ||
+ | Данни, които '''идентифицират и удостоверяват''', кога (година, ден,час, секунда ...) е възникнало дадено събитие. | ||
+ | *пощенско клеймо | ||
+ | *[[електронно удостоверение на време]] | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | + | ==Удостоверители за време== | |
− | + | За да има юредическа стойност удостоверението за време, то трябва да бъде издадено от [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 клиент== | ||
− | [[Category: | + | За издаване на 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
Contents
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