X-Git-Url: https://pere.pagekite.me/gitweb/homepage.git/blobdiff_plain/e704f8ad20e8ff15e8050eadfee243ae0ab777f3..d92811437f795412c6a59b7f3c2a78eacabfc8ea:/blog/archive/2017/06/index.html diff --git a/blog/archive/2017/06/index.html b/blog/archive/2017/06/index.html index 8cecd31ce4..ebc47ce861 100644 --- a/blog/archive/2017/06/index.html +++ b/blog/archive/2017/06/index.html @@ -21,6 +21,112 @@

Entries from June 2017.

+
+
+ Idea for storing trusted timestamps in a Noark 5 archive +
+
+ 7th June 2017 +
+
+

This is a copy of +an +email I posted to the nikita-noark mailing list. Please follow up +there if you would like to discuss this topic. The background is that +we are making a free software archive system based on the Norwegian +Noark +5 standard for government archives.

+ +

I've been wondering a bit lately how trusted timestamps could be +stored in Noark 5. +Trusted +timestamps can be used to verify that some information +(document/file/checksum/metadata) have not been changed since a +specific time in the past. This is useful to verify the integrity of +the documents in the archive.

+ +

Then it occured to me, perhaps the trusted timestamps could be +stored as dokument variants (ie dokumentobjekt referered to from +dokumentbeskrivelse) with the filename set to the hash it is +stamping?

+ +

Given a "dokumentbeskrivelse" with an associated "dokumentobjekt", +a new dokumentobjekt is associated with "dokumentbeskrivelse" with the +same attributes as the stamped dokumentobjekt except these +attributes:

+ + + +

This assume a service following +IETF RFC 3161 is +used, which specifiy the given MIME type for replies and the .tsr file +ending for the content of such trusted timestamp. As far as I can +tell from the Noark 5 specifications, it is OK to have several +variants/renderings of a dokument attached to a given +dokumentbeskrivelse objekt. It might be stretching it a bit to make +some of these variants represent crypto-signatures useful for +verifying the document integrity instead of representing the dokument +itself.

+ +

Using the source of the service in formatDetaljer allow several +timestamping services to be used. This is useful to spread the risk +of key compromise over several organisations. It would only be a +problem to trust the timestamps if all of the organisations are +compromised.

+ +

The following oneliner on Linux can be used to generate the tsr +file. $input is the path to the file to checksum, and $sha256 is the +SHA-256 checksum of the file (ie the ".tsr" value mentioned +above).

+ +

+openssl ts -query -data "$inputfile" -cert -sha256 -no_nonce \
+  | curl -s -H "Content-Type: application/timestamp-query" \
+      --data-binary "@-" http://zeitstempel.dfn.de > $sha256.tsr
+

+ +

To verify the timestamp, you first need to download the public key +of the trusted timestamp service, for example using this command:

+ +

+wget -O ca-cert.txt \
+  https://pki.pca.dfn.de/global-services-ca/pub/cacert/chain.txt
+

+ +

Note, the public key should be stored alongside the timestamps in +the archive to make sure it is also available 100 years from now. It +is probably a good idea to standardise how and were to store such +public keys, to make it easier to find for those trying to verify +documents 100 or 1000 years from now. :)

+ +

The verification itself is a simple openssl command:

+ +

+openssl ts -verify -data $inputfile -in $sha256.tsr \
+  -CAfile ca-cert.txt -text
+

+ +

Is there any reason this approach would not work? Is it somehow against +the Noark 5 specification?

+ +
+
+ + + Tags: english, offentlig innsyn, standard. + + +
+
+
+
NÃ¥r nynorskoversettelsen svikter til eksamen... @@ -108,7 +214,7 @@ trengs korrekturlesning etter automatisk oversettelse.

  • April (2)
  • -
  • June (1)
  • +
  • June (2)
  • @@ -390,7 +496,7 @@ trengs korrekturlesning etter automatisk oversettelse.

  • drivstoffpriser (4)
  • -
  • english (346)
  • +
  • english (347)
  • fiksgatami (23)
  • @@ -428,7 +534,7 @@ trengs korrekturlesning etter automatisk oversettelse.

  • nuug (188)
  • -
  • offentlig innsyn (31)
  • +
  • offentlig innsyn (32)
  • open311 (2)
  • @@ -458,7 +564,7 @@ trengs korrekturlesning etter automatisk oversettelse.

  • skepsis (5)
  • -
  • standard (52)
  • +
  • standard (54)
  • stavekontroll (6)