]> pere.pagekite.me Git - homepage.git/blobdiff - blog/index.rss
Generated.
[homepage.git] / blog / index.rss
index ccf1c4ae1b9056cf2322f508676c8660900e3ccd..f1670fb5b5599797e7d28dfee058ac85c2bebbcf 100644 (file)
@@ -6,6 +6,99 @@
                 <link>http://people.skolelinux.org/pere/blog/</link>
                 <atom:link href="http://people.skolelinux.org/pere/blog/index.rss" rel="self" type="application/rss+xml" />
        
                 <link>http://people.skolelinux.org/pere/blog/</link>
                 <atom:link href="http://people.skolelinux.org/pere/blog/index.rss" rel="self" type="application/rss+xml" />
        
+       <item>
+               <title>Public Trusted Timestamping services for everyone</title>
+               <link>http://people.skolelinux.org/pere/blog/Public_Trusted_Timestamping_services_for_everyone.html</link>
+               <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Public_Trusted_Timestamping_services_for_everyone.html</guid>
+                <pubDate>Tue, 25 Mar 2014 12:50:00 +0100</pubDate>
+               <description>&lt;p&gt;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.&lt;/p&gt;
+
+&lt;p&gt;A solution to these problems is to have a trusted third party
+&quot;stamp&quot; the document and verify that at some given time the document
+looked a given way.  Such
+&lt;a href=&quot;https://en.wikipedia.org/wiki/Notarius&quot;&gt;notarius&lt;/a&gt; service
+have been around for thousands of years, and its digital equivalent is
+called a
+&lt;a href=&quot;http://en.wikipedia.org/wiki/Trusted_timestamping&quot;&gt;trusted
+timestamping service&lt;/a&gt;.  &lt;a href=&quot;http://www.ietf.org/&quot;&gt;The Internet
+Engineering Task Force&lt;/a&gt; standardised how such service could work a
+few years ago as &lt;a href=&quot;http://tools.ietf.org/html/rfc3161&quot;&gt;RFC
+3161&lt;/a&gt;.  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
+&quot;&lt;a href=&quot;https://duckduckgo.com/?q=rfc+3161+service&quot;&gt;rfc 3161
+service&lt;/a&gt;&quot; pointed me to at least
+&lt;a href=&quot;https://www.digistamp.com/technical/how-a-digital-time-stamp-works/&quot;&gt;DigiStamp&lt;/a&gt;,
+&lt;a href=&quot;http://www.quovadisglobal.co.uk/CertificateServices/SigningServices/TimeStamp.aspx&quot;&gt;Quo
+Vadis&lt;/a&gt;,
+&lt;a href=&quot;https://www.globalsign.com/timestamp-service/&quot;&gt;Global Sign&lt;/a&gt;
+and &lt;a href=&quot;http://www.globaltrustfinder.com/TSADefault.aspx&quot;&gt;Global
+Trust Finder&lt;/a&gt;.  The system work as long as the private key of the
+trusted third party is not compromised.&lt;/p&gt;
+
+&lt;p&gt;But as far as I can tell, there are very few public trusted
+timestamp services available for everyone.  I&#39;ve been looking for one
+for a while now. But yesterday I found one over at
+&lt;a href=&quot;https://www.pki.dfn.de/zeitstempeldienst/&quot;&gt;Deutches
+Forschungsnetz&lt;/a&gt;mentioned in
+&lt;a href=&quot;http://www.d-mueller.de/blog/dealing-with-trusted-timestamps-in-php-rfc-3161/&quot;&gt;a
+blog by David Müller&lt;/a&gt;.  I then found a good recipe on how to use
+over at the
+&lt;a href=&quot;http://www.rz.uni-greifswald.de/support/dfn-pki-zertifikate/zeitstempeldienst.html&quot;&gt;University
+of Greifswald&lt;/a&gt;.  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:
+
+&lt;p&gt;&lt;blockquote&gt;&lt;pre&gt;
+#!/bin/sh
+set -e
+url=&quot;http://zeitstempel.dfn.de&quot;
+caurl=&quot;https://pki.pca.dfn.de/global-services-ca/pub/cacert/chain.txt&quot;
+reqfile=$(mktemp -t tmp.XXXXXXXXXX.tsq)
+resfile=$(mktemp -t tmp.XXXXXXXXXX.tsr)
+cafile=chain.txt
+if [ ! -f $cafile ] ; then
+    wget -O $cafile &quot;$caurl&quot;
+fi
+openssl ts -query -data &quot;$1&quot; -cert | tee &quot;$reqfile&quot; \
+    | /usr/lib/ssl/misc/tsget -h &quot;$url&quot; -o &quot;$resfile&quot;
+openssl ts -reply -in &quot;$resfile&quot; -text 1&gt;&amp;2
+openssl ts -verify -data &quot;$1&quot; -in &quot;$resfile&quot; -CAfile &quot;$cafile&quot; 1&gt;&amp;2
+base64 &lt; &quot;$resfile&quot;
+rm &quot;$reqfile&quot; &quot;$resfile&quot;
+&lt;/pre&gt;&lt;/blockquote&gt;&lt;/p&gt;
+
+&lt;p&gt;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
+&lt;a href=&quot;http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=742553&quot;&gt;a bug
+in the tsget script&lt;/a&gt;, 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.&lt;/p&gt;
+
+&lt;p&gt;But the Internet need more public trusted timestamp services.
+Perhaps something for &lt;a href=&quot;http://www.uninett.no/&quot;&gt;Uninett&lt;/a&gt; or
+my work place the &lt;a href=&quot;http://www.uio.no/&quot;&gt;University of Oslo&lt;/a&gt;
+to set up?&lt;/p&gt;
+</description>
+       </item>
+       
        <item>
                <title>Video DVD reader library / python-dvdvideo - nice free software</title>
                <link>http://people.skolelinux.org/pere/blog/Video_DVD_reader_library___python_dvdvideo___nice_free_software.html</link>
        <item>
                <title>Video DVD reader library / python-dvdvideo - nice free software</title>
                <link>http://people.skolelinux.org/pere/blog/Video_DVD_reader_library___python_dvdvideo___nice_free_software.html</link>
@@ -27,7 +120,7 @@ and genisoimage&lt;/a&gt;, but these days I use the marvellous python library
 and program
 &lt;a href=&quot;http://bblank.thinkmo.de/blog/new-software-python-dvdvideo&quot;&gt;python-dvdvideo&lt;/a&gt;
 written by Bastian Blank.  It is
 and program
 &lt;a href=&quot;http://bblank.thinkmo.de/blog/new-software-python-dvdvideo&quot;&gt;python-dvdvideo&lt;/a&gt;
 written by Bastian Blank.  It is
-&lt;a href&quot;http://packages.qa.debian.org/p/python-dvdvideo.html&quot;&gt;in Debian
+&lt;a href=&quot;http://packages.qa.debian.org/p/python-dvdvideo.html&quot;&gt;in Debian
 already&lt;/a&gt; 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,
 already&lt;/a&gt; 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,
@@ -680,54 +773,5 @@ activities, please send Bitcoin donations to my address
 </description>
        </item>
        
 </description>
        </item>
        
-       <item>
-               <title>New chrpath release 0.16</title>
-               <link>http://people.skolelinux.org/pere/blog/New_chrpath_release_0_16.html</link>
-               <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/New_chrpath_release_0_16.html</guid>
-                <pubDate>Tue, 14 Jan 2014 11:00:00 +0100</pubDate>
-               <description>&lt;p&gt;&lt;a href=&quot;http://www.coverity.com/&quot;&gt;Coverity&lt;/a&gt; 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
-&lt;a href=&quot;https://scan.coverity.com/&quot;&gt;check of free software projects as
-a community service&lt;/a&gt;, 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
-&lt;a href=&quot;http://www.gnu.org/software/gnash/&quot;&gt;gnash&lt;/a&gt; and
-&lt;a href=&quot;http://sourceforge.net/projects/ipmitool/&quot;&gt;ipmitool&lt;/a&gt;
-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 &lt;a href=&quot;http://scan.coverity.com/projects/1179&quot;&gt;request
-checking of the chrpath project&lt;/a&gt;.  It was
-added to the checker and discovered seven potential defects.  Six of
-these were real, mostly resource &quot;leak&quot; 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
-&lt;a href=&quot;https://lists.alioth.debian.org/mailman/listinfo/chrpath-devel&quot;&gt;a
-mailing list for the chrpath developers&lt;/a&gt;, I decided it was time to
-publish a new release.  These are the release notes:&lt;/p&gt;
-
-&lt;p&gt;New in 0.16 released 2014-01-14:&lt;/p&gt;
-
-&lt;ul&gt;
-
-  &lt;li&gt;Fixed all minor bugs discovered by Coverity.&lt;/li&gt;
-  &lt;li&gt;Updated config.sub and config.guess from the GNU project.&lt;/li&gt;
-  &lt;li&gt;Mention new project mailing list in the documentation.&lt;/li&gt;
-
-&lt;/ul&gt;
-
-&lt;p&gt;You can
-&lt;a href=&quot;https://alioth.debian.org/frs/?group_id=31052&quot;&gt;download the
-new version 0.16 from alioth&lt;/a&gt;.  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.&lt;/p&gt;
-</description>
-       </item>
-       
         </channel>
 </rss>
         </channel>
 </rss>