X-Git-Url: http://pere.pagekite.me/gitweb/homepage.git/blobdiff_plain/eacb0e1fd307d875b021ed18eaa840e1c32a46ca..da87610a8a564cb884b9aea9e7746561c8503d39:/blog/index.html diff --git a/blog/index.html b/blog/index.html index 04a36e649e..6a18f73785 100644 --- a/blog/index.html +++ b/blog/index.html @@ -19,6 +19,105 @@ +
+
Public Trusted Timestamping services for everyone
+
25th March 2014
+

Did you ever need to store logs or other files in a way that would +allow it to be used as evidence in court, and needed a way to +demonstrate without reasonable doubt that the file had not been +changed since it was created? Or, did you ever need to document that +a given document was received at some point in time, like some +archived document or the answer to an exam, and not changed after it +was received? The problem in these settings is to remove the need to +trust yourself and your computers, while still being able to prove +that a file is the same as it was at some given time in the past.

+ +

A solution to these problems is to have a trusted third party +"stamp" the document and verify that at some given time the document +looked a given way. Such +notarius service +have been around for thousands of years, and its digital equivalent is +called a +trusted +timestamping service. The Internet +Engineering Task Force standardised how such service could work a +few years ago as RFC +3161. The mechanism is simple. Create a hash of the file in +question, send it to a trusted third party which add a time stamp to +the hash and sign the result with its private key, and send back the +signed hash + timestamp. Anyone with the document and the signature +can then verify that the document matches the signature by creating +their own hash and checking the signature using the trusted third +party public key. There are several commercial services around +providing such timestamping. A quick search for +"rfc 3161 +service" pointed me to at least +DigiStamp, +Quo +Vadis, +Global Sign +and Global +Trust Finder. The system work as long as the private key of the +trusted third party is not compromised.

+ +

But as far as I can tell, there are very few public trusted +timestamp services available for everyone. I've been looking for one +for a while now. But yesterday I found one over at +Deutches +Forschungsnetzmentioned in +a +blog by David Müller. I then found a good recipe on how to use +over at the +University +of Greifswald. The OpenSSL library contain both server and tools +to use and set up your own signing service. See the ts(1SSL), +tsget(1SSL) manual pages for more details. The following shell script +demonstrate how to extract a signed timestamp for any file on the disk +in a Debian environment: + +

+#!/bin/sh
+set -e
+url="http://zeitstempel.dfn.de"
+caurl="https://pki.pca.dfn.de/global-services-ca/pub/cacert/chain.txt"
+reqfile=$(mktemp -t tmp.XXXXXXXXXX.tsq)
+resfile=$(mktemp -t tmp.XXXXXXXXXX.tsr)
+cafile=chain.txt
+if [ ! -f $cafile ] ; then
+    wget -O $cafile "$caurl"
+fi
+openssl ts -query -data "$1" -cert | tee "$reqfile" \
+    | /usr/lib/ssl/misc/tsget -h "$url" -o "$resfile"
+openssl ts -reply -in "$resfile" -text 1>&2
+openssl ts -verify -data "$1" -in "$resfile" -CAfile "$cafile" 1>&2
+base64 < "$resfile"
+rm "$reqfile" "$resfile"
+

+ +

The argument to the script is the file to timestamp, and the output +is a base64 encoded version of the signature to STDOUT and details +about the signature to STDERR. Note that due to +a bug +in the tsget script, you might need to modify the included script +and remove the last line. Or just write your own HTTP uploader using +curl. :) Now you too can prove and verify that files have not been +changed.

+ +

But the Internet need more public trusted timestamp services. +Perhaps something for Uninett or +my work place the University of Oslo +to set up?

+
+
+ + + Tags: english, sikkerhet. + + +
+
+
+
Video DVD reader library / python-dvdvideo - nice free software
21st March 2014
@@ -38,7 +137,7 @@ and genisoimage, but these days I use the marvellous python library and program python-dvdvideo written by Bastian Blank. It is -in Debian +in Debian already and the binary package name is python3-dvdvideo. Instead of trying to read every block from the DVD, it parses the file structure and figure out which block on the DVD is actually in used, @@ -747,61 +846,6 @@ activities, please send Bitcoin donations to my address
-
-
New chrpath release 0.16
-
14th January 2014
-

Coverity is a nice tool to -find problems in C, C++ and Java code using static source code -analysis. It can detect a lot of different problems, and is very -useful to find memory and locking bugs in the error handling part of -the source. The company behind it provide -check of free software projects as -a community service, and many hundred free software projects are -already checked. A few days ago I decided to have a closer look at -the Coverity system, and discovered that the -gnash and -ipmitool -projects I am involved with was already registered. But these are -fairly big, and I would also like to have a small and easy project to -check, and decided to request -checking of the chrpath project. It was -added to the checker and discovered seven potential defects. Six of -these were real, mostly resource "leak" when the program detected an -error. Nothing serious, as the resources would be released a fraction -of a second later when the program exited because of the error, but it -is nice to do it right in case the source of the program some time in -the future end up in a library. Having fixed all defects and added -a -mailing list for the chrpath developers, I decided it was time to -publish a new release. These are the release notes:

- -

New in 0.16 released 2014-01-14:

- - - -

You can -download the -new version 0.16 from alioth. Please let us know via the Alioth -project if something is wrong with the new release. The test suite -did not discover any old errors, so if you find a new one, please also -include a test suite check.

-
-
- - - Tags: chrpath, debian, english. - - -
-
-
-

RSS feed