Time Stamp Authority

freeTSA.org provides a free Time Stamp Authority. Adding a trusted timestamp to code or to an electronic signature provides a digital seal of data integrity and a trusted date and time of when the transaction took place.

El "Segellat en temps confiable" és el procés que garanteix les dates de creació i/o modificació de fitxers electrònics (ex. contractes, informació d'investigació, registres mèdics, contingut web, etc). És usat per demostrar l'existència d'alguna informació abans d'una determinada data, impossibilitant que si l'amo de dita informació pot modificar-la sense comprometre a la vegada l'estampa en el temps aplicat (Llegir).

Per segellar varis arxius, el més simples és crear un fitxer de text amb tots els hashs dels fitxers desats per posteriorment executar sobre ell un segellat en el temps. Lògicament s'ha d'utilitzar en la creació d'aquest fitxer de text un algoritme de hash segur, per exemple SHA-512.

FreeTSA també ofereix la possibilitat de crear captures de URLs amb segellat de temps per evidenciar, com a tercer de confiança un determinat contingut en línia. Buscar els fitxers prèviament segellats en l'historial de FreeTSA és també possible utilitzant el hash del fitxer (no del fitxer ".tsq").

FreeTSA és possible utilitzar-se dins de la xarxa d'anonimat Tor mitjançant el seu domini ".onion". Si vostè desitja implementar en el seu projecto / negoci segellats de temps utilitzant FreeTSA, pot posar-se en contacto amb mi si així ho desitja. Usar de manera responsable.

Freetsa.org ofereix serveis NTP i DNSCRYPT pel temps de la sincronització i encriptació de resolució de nom respectivament. La resolució de DNS (Port 553) no tenen cap tipus de restricció (SPAM, Malware, Parental, ...). Cap log serà guardat i la rotació de claus serà cada 12 hores.

Guia estesa / Manuals de FreeTSA.
Domini de FreeTSA dins de la xarxa Tor: th3ccojidpgbgv5d.onion (https /http).
RFC 3161 TSA: Time-Stamp Protocol (TSP).
RFC 958 NTP: Network Time Protocol (NTP).
SSL Labs. Certificate Transparency NTP Pool Project associate membership.

Algoritmes suportats: md4 / md5 / rmd160 / sha / sha1 / sha224 / sha256 / sha384 / sha512.

Freetsa TSA Certificat: tsa.crt
Key modulus (sha256): 899ba3d9f777e2a74bdd34302bc06cb3f7a46ac1f565ee128f79fd5dab99d68b

Freetsa CA Certificat: cacert.pem
Key modulus (sha256): a4b1a0a81aef68be1cc985d0f83bd6539cfe84174587f900e15ffe3f65433056

Basics: TCP-based client



Create a tsq (TimeStampQuery) file, which contains a hash of the file you want to sign.
$ openssl ts -query -data file.png -no_nonce -sha512 -out file.tsq
Envia un TimeStampQuery a FreeTSA.org i rep un fitxer tsr( TimeStampRequest).
$ curl -H "Content-Type: application/timestamp-query" --data-binary '@file.tsq' https://freetsa.org/tsr > file.tsr
Amb els certificats públics tu pots verificar el TimeStampRequest.
$ openssl ts -verify -in file.tsr -queryfile file.tsq -CAfile cacert.pem -untrusted tsa.crt
###########################################################
# 1. create a tsq file (SHA 512)
###########################################################
openssl ts -query -data file.png -no_nonce -sha512 -out file.tsq

# Option -cert: FreeTSA is expected to include its signing certificate in the response. (Optional)
# If the tsq was created with the option "-cert", its verification does not require "-untrusted".
#$ openssl ts -query -data file.png -no_nonce -sha512 -cert -out file.tsq

# How to make Timestamps of many files?

# To timestamp multiple files, create a text file with all their SHA-512 hashes and timestamp it.
# Alternatively, you may pack all the files to be timestamped in a zip/rar/img/tar, etc file and timestamp it.

# Generate compilation.txt with all the hashes of the /var/log/ files.
$ find /var/log/ -type f -exec sha512sum {} + > compilation.txt

###########################################################
# 2. cURL Time Stamp Request Input (HTTP / HTTPS)
###########################################################

# HTTP 2.0 in cURL: Get the latest cURL release and use this command: curl --http2.
curl -H "Content-Type: application/timestamp-query" --data-binary '@file.tsq' https://freetsa.org/tsr > file.tsr

# Using the Tor-network.
#$ curl -k --socks5-hostname 127.0.0.1:9050 -H "Content-Type: application/timestamp-query" --data-binary '@file.tsq' https://th3ccojidpgbgv5d.onion/tsr > file.tsr

# tsget is very useful to stamp multiple time-stamp-queries: https://www.openssl.org/docs/manmaster/apps/tsget.html
#$ tsget -h https://freetsa.org/tsr file1.tsq file2.tsq file3.tsq

###########################################################
# 3. Verify tsg file
###########################################################

wget https://freetsa.org/files/tsa.crt
wget https://freetsa.org/files/cacert.pem

# Timestamp Information.
openssl ts -reply -in file.tsr -text

# Verify (two diferent ways).
# openssl ts -verify -data file -in file.tsr -CAfile cacert.pem -untrusted tsa.crt 
openssl ts -verify -in file.tsr -queryfile file.tsq -CAfile cacert.pem -untrusted tsa.crt
# Verification: OK
Client script Descarregar: client.pl

Cóm utilizar el cliente TSA TCP.
$ perl client.pl freetsa.org 318 file

client: tsq file: file.tsq 
client: tsr file: file.tsr 
client: [Connected to freetsa.org:318]
client: client: transfer of the file.tsq to the server completed 
client: 40	file.tsq


Signatura en línia



El fitxer mai deixarà el teu navegador. Descarrega el TimeSpamQuery o Response.
Seleccioneu un fitxer "tsq" i "tsr". Verificar

URL screenshot


URL screenshot: Firma + Segellat de temps de URLs. (Video)

Crear evidencies digitals de
  • contingut il·legal / No repudi d'un determinat contingut digital.
  • Demostrar una edició o borrat de notícies controvertides.
  • Apologies, calumnies, amenaces, insults fets a Internet (xarxes socials), estafes, phising, etc.
  • Temes de propietat intel·lectual d'articles, fotografies, plagis, etc.
  • Publicació indeguda de dades personals o confidencials.
  • Simplement demostrar l'existència d'un determinat contingut en un determinat moment en el temps.
$ curl --data "screenshot=https://www.fsf.org/&delay=n" https://freetsa.org/screenshot.php > screenshot.pdf
$ curl --data "screenshot=https://www.fsf.org/&delay=y" https://freetsa.org/screenshot.php > screenshot.pdf # (I'm Feeling Lucky)

### HTTP 2.0 in cURL: Get the latest cURL release and use this command: curl --http2.

### REST API in Tor: Add "-k --socks5-hostname localhost:9050".

# Normal domains within the Tor-network.
$ curl -k --socks5-hostname localhost:9050 --data "screenshot=https://www.fsf.org/&delay=y" https://th3ccojidpgbgv5d.onion/screenshot.php > screenshot.pdf

# ".onion" domain within the Internet.
$ curl -k --data "screenshot=https://th3ccojidpgbgv5d.onion/&delay=y&tor=y" https://freetsa.org/screenshot.php > screenshot.pdf

# ".onion" domain within the Tor network.
$ curl -k --socks5-hostname localhost:9050 --data "screenshot=https://th3ccojidpgbgv5d.onion/&delay=y&tor=y" https://th3ccojidpgbgv5d.onion/screenshot.php > screenshot.pdf
Opció 1: Integrar botó "URL screenshot" en el navegador fàcilment. (Sense icona).
1. Arrastrar el següent enllaç a la barra de marcadors amb el ratolí: "URL screenshot"
2. Mentre estiguis visualitzant una página que vulguis guardar a les adreçes d'interés, pitja al bookmarklet de la teva barra de preferits.

Opció 2: Integrar botó "URL screenshot" en el navegador (Com icona).
Es basa en importar un marcador a través de las opcions del navegador. (Descarregar bookmark).

- Firefox: Import Bookmark / Botó en barra d'eines..
- Opera:Import Bookmark / Botó en barra d'eines.
- Chrome: Import Bookmark / Botó en barra d'eines.


URL Screenshot content

Contingut de la web en format PDF / PNG (adjunt) + firma amb segellat de temps utilitzant SHA-512. (Aproximadament 25 segons).
Browser agent: 'Mozilla/5.0 (X11; Linux x86_64; rv:47.0) Gecko/20100101 Firefox/47.0'

Other informations



OCSP SERVER: http://www.freetsa.org:2560
$ openssl ocsp -sha512 -CAfile cacert.pem -issuer cacert.pem -cert tsa.crt -url http://freetsa.org:2560 -resp_text

CRL (Revocation List): https://www.freetsa.org/crl/root_ca.crl
$ wget http://www.freetsa.org/crl/root_ca.crl
$ openssl crl -in root_ca.crl -noout -text

Search Timestamp by file hash

Hash:

Linea de comandes.
$ curl -s https://freetsa.org/logs.gz | gunzip -c | grep -i 2f9462a4dbcb4af4f05a0d5

NTP and DNSCRYPT service
# NTP Server: freetsa.org (IPv4 / IPv6)
$ ntpdate freetsa.org


# DNSCRYPT Server parameters.
ProviderName     2.dnscrypt-cert.freetsa.org
ProviderKey      D8FF:BB42:E031:BE7A:7973:0B45:568D:496A:4E8A:CB59:AA83:66FD:6AB9:1E27:2A7D:16E4
ResolverAddress  205.185.116.116:553
DNS TXT record	 pubkey.freetsa.org

# Example using dnscrypt-proxy as client to connect with freetsa DNSCRYPT service.
$ dnscrypt-proxy --local-address=127.0.0.1:53 \
 	         --resolver-name=freetsa.org \
	         --resolver-address=205.185.116.116:553 \
	         --provider-name=2.dnscrypt-cert.freetsa.org \
	         --provider-key=D8FF:BB42:E031:BE7A:7973:0B45:568D:496A:4E8A:CB59:AA83:66FD:6AB9:1E27:2A7D:16E4


# The Freetsa server is in the default list of available servers in the dnscrypt-proxy client.
# To force the use of DNSCrypt-Freetsa server edit /etc/dnscrypt-proxy.conf and add "ResolverName freetsa.org" (by default "random").

# Server stamps encode all the parameters required to connect to a secure DNS server as a single string. Think about stamps as QR code, but for DNS.
sdns://AQcAAAAAAAAAACDY_7tC4DG-enlzC0VWjUlqTorLWaqDZv1quR4nKn0W5BsyLmRuc2NyeXB0LWNlcnQuZnJlZXRzYS5vcmc

Direccions FreeTSA IPv6
Cap d'aquestes IPv6 poden ser usades per la resolució DNSCRYPT (només DNSCRYPT en mode TCP).

2605:6400:20:6c8:d91a:d514:17f7:92be
2605:6400:20:6c8:51b1:66a5:8c48:77e4
2605:6400:20:6c8:727a:e557:8b6b:7335
2605:6400:20:6c8:636e:c6bb:1331:1c36

Security based HTTP response headers
- HPKP ajuda a prevenir atacs de home en el mig i certificats fake.
- HSTS força l' ús d'HTTPS en el navegador i mitiga alguns atacs de home en el mig.
- CSP ajuda a prevenir atacs XSS mitjançant injeccions de codi.