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.

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 OCSP i CRL, NTP, DNS over TLS (DoT) 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, ...). Tots els serveis tenen compatibilitat IPv6.

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: 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 (TimeStampRequest) file, which contains a hash of the file you want to sign.
$ openssl ts -query -data file.png -no_nonce -sha512 -cert -out file.tsq
Envia un TimeStampRequest a FreeTSA.org i rep un fitxer tsr (TimeStampResponse).
$ 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 (Root + Intermediate Certificates) 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 tsr 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 (IPv4/IPv6).
$ 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

# Per defecte, el fitxer TSQ demana que es proporcioni la cadena de certificats (arrel i intermedi) a la resposta.
# Si no voleu fer això, heu de canviar la línia 16 per la línia 15 de l'script.


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 (Windows NT 10.0; Win64; x64; rv:84.0) Gecko/20100101 Firefox/84.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

NTP, DNS, DoT and DNSCRYPT services
## Normal DNS (Port 53): Any freeTSA IP (IPv4 or IPv6) will give you normal DNS resolution service.

## NTP Server: freetsa.org (IPv4 / IPv6)

$ ntpdate freetsa.org

## Freetsa offers DoT on port 853 (IPv4 / IPv6). Systemd-resolved example: /etc/systemd/resolved.conf 

DNS=2607:f130:0:f8::3085:e961#www.freetsa.org 2607:f130:0:f8::c5a7:17a4#www.freetsa.org 2607:f130:0:f8::73a7:a9f6#freetsa.org 2607:f130:0:f8::4a5c:6f8c#freetsa.org 2607:f130:0:f8::7e72:6308#freetsa.org 2607:f130:0:f8::a514:d89a#freetsa.org 2607:f130:0:f8::2bab:3a16#freetsa.org 2607:f130:0:f8::c619:9640#freetsa.org 2607:f130:0:f8::4fb7:9035#freetsa.org 2607:f130:0:f8::4c85:a645#www.freetsa.org fe80::216:3cff:fe7d:d4d9#freetsa.org
# Don't use all the interfaces, choose one or two, for example the only IPv4 and some other IPv6 of your choice.

## Two DNSCRYPT (TCP/UDP) FreeTSA servers (No logs, No DNSSEC, No anonymized DNS and No compatible with anonymization (https://github.com/DNSCrypt/dnscrypt-proxy/issues/1251))

Public server address: [2607:f130:0:f8::3085:e961]:553
Provider public key: d8ffbb42e031be7a79730b45568d496a4e8acb59aa8366fd6ab91e272a7d16e4
Provider name: 2.dnscrypt-cert.freetsa.org
DNS Stamp: sdns://AQcAAAAAAAAAH1syNjA3OmYxMzA6MDpmODo6MzA4NTplOTYxXTo1NTMg2P-7QuAxvnp5cwtFVo1Jak6Ky1mqg2b9arkeJyp9FuQbMi5kbnNjcnlwdC1jZXJ0LmZyZWV0c2Eub3Jn

Public server address: 173.82.18.238:553
Provider public key: d8ffbb42e031be7a79730b45568d496a4e8acb59aa8366fd6ab91e272a7d16e4
Provider name: 2.dnscrypt-cert.freetsa.org
DNS Stamp: sdns://AQcAAAAAAAAAETE3My44Mi4xOC4yMzg6NTUzINj_u0LgMb56eXMLRVaNSWpOistZqoNm_Wq5HicqfRbkGzIuZG5zY3J5cHQtY2VydC5mcmVldHNhLm9yZw

## DNSCrypt client: https://github.com/DNSCrypt/dnscrypt-proxy                                                                                                                                                                                                                  

Direccions FreeTSA IPv6
Cap d'aquestes IPv6 poden ser usades per la resolució DNSCRYPT (TCP/UDP), DoT (DNS over TLS), normal DNS i servidor NTP.

2607:f130:0:f8::3085:e961
2607:f130:0:f8::c5a7:17a4
2607:f130:0:f8::73a7:a9f6
2607:f130:0:f8::4a5c:6f8c
2607:f130:0:f8::7e72:6308
2607:f130:0:f8::a514:d89a
2607:f130:0:f8::2bab:3a16
2607:f130:0:f8::c619:9640
2607:f130:0:f8::4fb7:9035
2607:f130:0:f8::4c85:a645

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.