diff options
author | Rob Austein <sra@hactrn.net> | 2007-05-16 21:18:14 +0000 |
---|---|---|
committer | Rob Austein <sra@hactrn.net> | 2007-05-16 21:18:14 +0000 |
commit | 5548a29569ca2fc0641281784b51048917fd861f (patch) | |
tree | 62b50290a601c9fb8eda1edfaeb3972e70f757b6 | |
parent | 6470a0629d48831b00b1a878f09c5f1cc930ca86 (diff) |
Initial text on signed manifests
svn path=/docs/signed-manifests; revision=610
-rw-r--r-- | docs/signed-manifests | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/docs/signed-manifests b/docs/signed-manifests new file mode 100644 index 00000000..f1815cca --- /dev/null +++ b/docs/signed-manifests @@ -0,0 +1,36 @@ +;;; -*- Lisp -*- +;;; $URL$ +;;; $Id$ +;;; +;;; This file is psuedocode, I just wanted to take advantage of +;;; emacs's built-in support for languages with reasonable syntax. +;;; Final version will likely be either flat text or ASN.1. +;;; +;;; Signed manifests for RPKI repositories. We're using object (as +;;; opposed to channel) security for everything in the repository, +;;; which is the right thing to do for various reasons but leaves us +;;; open to attacks which intercept the rsync connection and drop +;;; valid objects out of an SIA collection. At present this is not +;;; detectable, so we need a mechanism. +;;; +;;; Manifest is modeled heavily on CRLs, because the issues involved +;;; in detecting stale manifests, manifest replays, etc are similar to +;;; those for CRLs. So, to a first approximation, we want all the +;;; fields that a CRL has. Syntax will probably differ, though, since +;;; RPKI repositories can contain objects not covered by CRLs (eg, +;;; ROAs), and we may well decide just to sign the manifest with CMS. +;;; +;;; See RFC 3280 5.1 for the CRL layout. +;;; +;;; We're only trying to cover objects in the same SIA collection +;;; (directory) as the manifest. We will probably want to name the +;;; manifest itself with a name derived from the g(ski) of the cert of +;;; which this is the SIA collection. We'll need an EE cert to sign +;;; the manifest; the EE cert should probably just use RFC 3779 +;;; inheritance to cover all the resources that its issuer holds. +;;; +;;; One possible way of representing the objects in a collection would +;;; be with pairs of: +;;; +;;; filename of the object (within the collection, eg, "fnord.cer") +;;; hash of the object (eg sha256(fnord.cer)) |