aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--presentations/070523.lacnic-pki.pdfbin150702 -> 0 bytes
-rw-r--r--presentations/100503-ripe-rpki+origin.pdfbin1441543 -> 0 bytes
-rw-r--r--presentations/Makefile15
-rw-r--r--presentations/README21
-rw-r--r--presentations/apnic30-rpki.pdfbin432410 -> 0 bytes
-rw-r--r--presentations/apnic30-rpki.zipbin238425 -> 0 bytes
-rw-r--r--presentations/big-picture.dot61
-rw-r--r--presentations/big-picture.pdfbin2780 -> 0 bytes
-rw-r--r--presentations/bpki-asymmetric.dot84
-rw-r--r--presentations/bpki-asymmetric.pdfbin5811 -> 0 bytes
-rw-r--r--presentations/bpki-symmetric.dot74
-rw-r--r--presentations/bpki-symmetric.pdfbin5392 -> 0 bytes
-rw-r--r--presentations/bpki.pdfbin47594 -> 0 bytes
-rw-r--r--presentations/bpki.tex80
-rw-r--r--presentations/entity-decompose.pdfbin62467 -> 0 bytes
-rw-r--r--presentations/images/key-rollover.dot124
-rw-r--r--presentations/images/key-rollover.pdfbin9045 -> 0 bytes
-rw-r--r--presentations/images/prague-whiteboard-2007-03-21-02-29-14.jpgbin343410 -> 0 bytes
-rw-r--r--presentations/images/prague-whiteboard-2007-03-22-21-50-26.jpgbin306385 -> 0 bytes
-rw-r--r--presentations/images/prague-whiteboard-2007-03-22-23-15-01.jpgbin339641 -> 0 bytes
-rw-r--r--presentations/images/repository-structure.dot42
-rw-r--r--presentations/images/repository-structure.pdfbin2828 -> 0 bytes
-rw-r--r--presentations/images/whiteboard-object-model.dot65
-rw-r--r--presentations/images/whiteboard-object-model.pdfbin3259 -> 0 bytes
-rw-r--r--presentations/repository-engine-objects.dot86
-rw-r--r--presentations/repository-engine-objects.pdfbin3971 -> 0 bytes
-rw-r--r--presentations/repository-structure.txt111
-rw-r--r--presentations/sample-irdb-data.sql80
28 files changed, 0 insertions, 843 deletions
diff --git a/presentations/070523.lacnic-pki.pdf b/presentations/070523.lacnic-pki.pdf
deleted file mode 100644
index 5ab83fa3..00000000
--- a/presentations/070523.lacnic-pki.pdf
+++ /dev/null
Binary files differ
diff --git a/presentations/100503-ripe-rpki+origin.pdf b/presentations/100503-ripe-rpki+origin.pdf
deleted file mode 100644
index 07b9e284..00000000
--- a/presentations/100503-ripe-rpki+origin.pdf
+++ /dev/null
Binary files differ
diff --git a/presentations/Makefile b/presentations/Makefile
deleted file mode 100644
index a568b5e4..00000000
--- a/presentations/Makefile
+++ /dev/null
@@ -1,15 +0,0 @@
-# $Id$
-
-all: repository-engine-objects.pdf bpki.pdf
-
-bpki.pdf: bpki-symmetric.pdf bpki-asymmetric.pdf
-
-.SUFFIXES: .pdf .dot .tex
-
-.dot.pdf:
- dot -Tps2 $< | ps2pdf - $@
-
-.tex.pdf:
- pdflatex $<
- pdflatex $<
- rm -f $*.log $*.aux
diff --git a/presentations/README b/presentations/README
deleted file mode 100644
index 6ff000fc..00000000
--- a/presentations/README
+++ /dev/null
@@ -1,21 +0,0 @@
-$Id$
-
-Ok, there's getting to be enough stuff in this directory to be
-confusing.
-
-README This file
-
-070523.lacnic-pki.pdf A presentation from LACNIC, May 2007
-
-bpki.pdf Old discussion of a design choice
- between two slightly different
- business PKI (BPKI) architectures
-
-entity-decompose.pdf An overview presentation
-
-images Some old pictures
-
-repository-engine-objects.dot Objects in the RPKI engine (PDF)
-repository-engine-objects.pdf Graphviz source for "
-
-repository-structure.txt Old notes on repository structure
diff --git a/presentations/apnic30-rpki.pdf b/presentations/apnic30-rpki.pdf
deleted file mode 100644
index 929fee26..00000000
--- a/presentations/apnic30-rpki.pdf
+++ /dev/null
Binary files differ
diff --git a/presentations/apnic30-rpki.zip b/presentations/apnic30-rpki.zip
deleted file mode 100644
index 60e562e0..00000000
--- a/presentations/apnic30-rpki.zip
+++ /dev/null
Binary files differ
diff --git a/presentations/big-picture.dot b/presentations/big-picture.dot
deleted file mode 100644
index 9da4cc2e..00000000
--- a/presentations/big-picture.dot
+++ /dev/null
@@ -1,61 +0,0 @@
-// $Id$
-//
-// First cut at a lame picture showing how all the tools fit together.
-//
-// Client -> server
-// Blue = read-only
-// Red = read-write
-// Diamond = program
-// Oval = disk
-
-digraph big_picture {
- rotate=90; size="11,8.5"; splines=true; ratio=fill;
-
- node [shape = diamond];
-
- rpkid -> irdbd [color = blue];
- rpkid -> pubd [color = red];
- myrpki -> rpkid [color = red];
- myrpki -> pubd [color = red];
- gui -> myrpki [color = red];
-// myrpki -> mysqld [color = red];
-// rpkid -> mysqld [color = red];
-// irdbd -> mysqld [color = blue];
-// pubd -> mysqld [color = red];
- rpkid -> rootd [color = red];
- pubd -> repository [color = red, arrowhead = none];
- rsyncd -> repository [color = blue, arrowhead = none];
- rcynic -> rsyncd [color = blue];
- cache -> rcynic [color = blue, arrowhead = none];
- rpki_rtr -> cache [color = blue];
- roa_to_irr -> cache [color = blue];
-
- repository [shape = oval];
- cache [shape = oval];
-
- subgraph cluster_irbe {
- label = "IR Back End";
- irdbd;
- myrpki;
- gui;
- }
-
- subgraph cluster_generation {
- label = "Generation";
- rpkid;
- rootd;
- }
-
- subgraph cluster_publication {
- label = "Publication";
- pubd;
- repository;
- rsyncd;
- }
-
- subgraph cluster_validator {
- label = "Validator";
- rcynic;
- cache;
- }
-}
diff --git a/presentations/big-picture.pdf b/presentations/big-picture.pdf
deleted file mode 100644
index 9704dd63..00000000
--- a/presentations/big-picture.pdf
+++ /dev/null
Binary files differ
diff --git a/presentations/bpki-asymmetric.dot b/presentations/bpki-asymmetric.dot
deleted file mode 100644
index 739cd6ee..00000000
--- a/presentations/bpki-asymmetric.dot
+++ /dev/null
@@ -1,84 +0,0 @@
-// $Id$
-//
-// Color code:
-// Black: Hosting entity
-// Blue: Hosted entity
-// Red: Cross-certified peer
-//
-// Shape code:
-// Octagon: TA
-// Diamond: CA
-// Record: EE
-
-digraph bpki_asymmetric {
- rotate = 90; size = "11,8.5"; splines = true; ratio = fill;
-
- // Hosting entity
- node [ color = black, shape = record ];
- TA [ shape = octagon ];
- rpkid [ label = "rpkid|{HTTPS server|HTTPS left-right client|CMS left-right}" ];
- irdbd [ label = "irdbd|{HTTPS left-right server|CMS left-right}" ];
- irbe [ label = "IRBE|{HTTPS left-right client|CMS left-right}" ];
-
- // Hosted entities
- node [ color = blue, fontcolor = blue ];
- Alice_CA [ shape = diamond ];
- Ellen_CA [ shape = diamond ];
-
- // Peers
- node [ color = red, fontcolor = red, shape = diamond ];
- Bob_CA;
- Carol_CA;
- Dave_CA;
- Frank_CA;
- Ginny_CA;
- Harry_CA;
-
- // EE certs issued to us by peers
- node [ color = red, fontcolor = red, shape = record ];
- Alice_Bob_EE [ label = "Alice-Bob\nBSC EE|{HTTPS up-down client|CMS up-down}" ];
- Alice_Carol_EE [ label = "Alice-Carol\nBSC EE|{HTTPS up-down client|CMS up-down}" ];
- Alice_Dave_EE [ label = "Alice-Dave\nBSC EE|{HTTPS up-down client|CMS up-down}" ];
- Ellen_Frank_EE [ label = "Ellen-Frank\nBSC EE|{HTTPS up-down client|CMS up-down}" ];
- Ellen_Ginny_EE [ label = "Ellen-Ginny\nBSC EE|{HTTPS up-down client|CMS up-down}" ];
- Ellen_Harry_EE [ label = "Ellen-Harry\nBSC EE|{HTTPS up-down client|CMS up-down}" ];
- Bob_EE [ label = "Bob\nEE|{HTTPS up-down|CMS up-down}" ];
- Carol_EE [ label = "Carol\nEE|{HTTPS up-down|CMS up-down}" ];
- Dave_EE [ label = "Dave\nEE|{HTTPS up-down|CMS up-down}" ];
- Frank_EE [ label = "Frank\nEE|{HTTPS up-down|CMS up-down}" ];
- Ginny_EE [ label = "Ginny\nEE|{HTTPS up-down|CMS up-down}" ];
- Harry_EE [ label = "Bob\nEE|{HTTPS up-down|CMS up-down}" ];
-
- edge [ color = black, style = solid ];
- TA -> Alice_CA;
- TA -> Ellen_CA;
-
- edge [ color = black, style = dotted ];
- TA -> rpkid;
- TA -> irdbd;
- TA -> irbe;
-
- edge [ color = blue, style = solid ];
- Alice_CA -> Bob_CA;
- Alice_CA -> Carol_CA;
- Alice_CA -> Dave_CA;
- Ellen_CA -> Frank_CA;
- Ellen_CA -> Ginny_CA;
- Ellen_CA -> Harry_CA;
-
- edge [ color = red, style = dotted ];
- Bob_CA -> Alice_Bob_EE;
- Carol_CA -> Alice_Carol_EE;
- Dave_CA -> Alice_Dave_EE;
- Frank_CA -> Ellen_Frank_EE;
- Ginny_CA -> Ellen_Ginny_EE;
- Harry_CA -> Ellen_Harry_EE;
-
- edge [ color = red, style = solid ];
- Bob_CA -> Bob_EE;
- Carol_CA -> Carol_EE;
- Dave_CA -> Dave_EE;
- Frank_CA -> Frank_EE;
- Ginny_CA -> Ginny_EE;
- Harry_CA -> Harry_EE;
-}
diff --git a/presentations/bpki-asymmetric.pdf b/presentations/bpki-asymmetric.pdf
deleted file mode 100644
index fbd0362d..00000000
--- a/presentations/bpki-asymmetric.pdf
+++ /dev/null
Binary files differ
diff --git a/presentations/bpki-symmetric.dot b/presentations/bpki-symmetric.dot
deleted file mode 100644
index 48e89483..00000000
--- a/presentations/bpki-symmetric.dot
+++ /dev/null
@@ -1,74 +0,0 @@
-// $Id$
-//
-// Color code:
-// Black: Hosting entity
-// Blue: Hosted entity
-// Red: Cross-certified peer
-//
-// Shape code:
-// Octagon: TA
-// Diamond: CA
-// Record: EE
-
-digraph bpki_symmetric {
- rotate = 90; size = "11,8.5"; splines = true; ratio = fill;
-
- // Hosting entity
- node [ color = black, shape = record ];
- TA [ shape = octagon ];
- rpkid [ label = "rpkid|{HTTPS server|HTTPS left-right client|CMS left-right}" ];
- irdbd [ label = "irdbd|{HTTPS left-right server|CMS left-right}" ];
- irbe [ label = "IRBE|{HTTPS left-right client|CMS left-right}" ];
-
- // Hosted entities
- node [ color = blue, fontcolor = blue ];
- Alice_CA [ shape = diamond ];
- Alice_EE [ label = "Alice\nBSC EE|{HTTPS up-down client|CMS up-down}" ];
- Ellen_CA [ shape = diamond ];
- Ellen_EE [ label = "Ellen\nBSC EE|{HTTPS up-down client|CMS up-down}" ];
-
- // Peers
- node [ color = red, fontcolor = red, shape = diamond ];
- Bob_CA;
- Carol_CA;
- Dave_CA;
- Frank_CA;
- Ginny_CA;
- Harry_CA;
- node [ shape = record ];
- Bob_EE [ label = "Bob\nEE|{HTTPS up-down|CMS up-down}" ];
- Carol_EE [ label = "Carol\nEE|{HTTPS up-down|CMS up-down}" ];
- Dave_EE [ label = "Dave\nEE|{HTTPS up-down|CMS up-down}" ];
- Frank_EE [ label = "Frank\nEE|{HTTPS up-down|CMS up-down}" ];
- Ginny_EE [ label = "Ginny\nEE|{HTTPS up-down|CMS up-down}" ];
- Harry_EE [ label = "Bob\nEE|{HTTPS up-down|CMS up-down}" ];
-
- edge [ color = black, style = solid ];
- TA -> Alice_CA;
- TA -> Ellen_CA;
-
- edge [ color = black, style = dotted ];
- TA -> rpkid;
- TA -> irdbd;
- TA -> irbe;
-
- edge [ color = blue, style = solid ];
- Alice_CA -> Bob_CA;
- Alice_CA -> Carol_CA;
- Alice_CA -> Dave_CA;
- Ellen_CA -> Frank_CA;
- Ellen_CA -> Ginny_CA;
- Ellen_CA -> Harry_CA;
-
- edge [ color = blue, style = dotted ];
- Alice_CA -> Alice_EE;
- Ellen_CA -> Ellen_EE;
-
- edge [ color = red, style = solid ];
- Bob_CA -> Bob_EE;
- Carol_CA -> Carol_EE;
- Dave_CA -> Dave_EE;
- Frank_CA -> Frank_EE;
- Ginny_CA -> Ginny_EE;
- Harry_CA -> Harry_EE;
-}
diff --git a/presentations/bpki-symmetric.pdf b/presentations/bpki-symmetric.pdf
deleted file mode 100644
index 9db46451..00000000
--- a/presentations/bpki-symmetric.pdf
+++ /dev/null
Binary files differ
diff --git a/presentations/bpki.pdf b/presentations/bpki.pdf
deleted file mode 100644
index 979c1380..00000000
--- a/presentations/bpki.pdf
+++ /dev/null
Binary files differ
diff --git a/presentations/bpki.tex b/presentations/bpki.tex
deleted file mode 100644
index c07c6534..00000000
--- a/presentations/bpki.tex
+++ /dev/null
@@ -1,80 +0,0 @@
-% $Id$
-%
-\documentclass[11pt]{article}
-\usepackage[pdftex]{graphicx}
-\usepackage{palatino}
-\usepackage{color}
-\DeclareGraphicsExtensions{.pdf}
-\setlength{\topmargin}{0in}
-\setlength{\headheight}{0in}
-\setlength{\headsep}{0in}
-\setlength{\oddsidemargin}{0in}
-\setlength{\evensidemargin}{0in}
-\setlength{\textheight}{9in}
-\setlength{\textwidth}{6.5in}
-\setlength{\parskip}{2ex}
-\setlength{\parindent}{0in}
-\hyphenpenalty=5000
-\tolerance=1000
-\hbadness=9999
-\sloppy
-\pagestyle{plain}
-%
-\begin{document}
-
-\section*{Implementation experience with the two BPKI models}
-
-Having recently converted my code base to the single-trust-anchor
-model Russ recommended, I thought it might be useful to share what
-I've learned. This may not apply to all implementations, but it does
-apply to mine, and given what I understand of RIPE's business model,
-it will probably apply to RIPE's implementation as well.
-
-In spite of a strong desire to do so, I was not able to use exactly
-the same BPKI keys and certificates for HTTPS and CMS. The reason for
-this is simple: each hosted entity in my engine has its own BPKI, as
-does the hosting entity, but the HTTPS listener is shared. The only
-ways I know of to avoid this would be to use separate listeners for
-each hosted entity, which scales poorly, or to rely on the TLS
-``Server Name Indication'' extension (RFC 4366 3.1) which is not yet
-widely implemented.
-
-\begin{figure}[hbp]
-\includegraphics[width = 6.5in]{bpki-symmetric}
-\caption{Symmetric BPKI model}
-\label{bpki-symmetric}
-\end{figure}
-
-Figure \ref{bpki-symmetric} shows my engine's view of the BPKI tree in
-the symmetric model. Black objects belong to the hosting entity, blue
-objects belong to the hosted entities, red objects are cross-certified
-objects from peers. The arrows indicate certificate issuance: solid
-arrows are the ones that my own RPKI engine will care about during
-certificate validation, dotted arrows show the origin of EE
-certificates my engine uses to sign things. ``BSC'' stands for
-``business signing context,'' which is a database object in my
-implementation representing the context needed to sign a CMS message
-or TLS session.
-
-Other than the above-mentioned annoyance with the HTTPS server
-certificate, the ``symmetric'' BPKI model worked out pretty much as
-expected here. The certificate tree looks complicated, but the set of
-certificates needed to build a particular validation chain is obvious,
-again excepting the HTTPS server case, where client certificate is the
-first hint that the engine has of the client's identity, so the server
-must be prepared to accept any current client certificate.
-
-\begin{figure}[hbp]
-\includegraphics[width = 6.5in]{bpki-asymmetric}
-\caption{Asymmetric BPKI model}
-\label{bpki-asymmetric}
-\end{figure}
-
-Figure \ref{bpki-asymmetric} shows my engine's view of the BPKI tree
-in the asymmetric model. Note that not much has changed here from the
-symmetric case. As far as I can tell, the asymmetric model is just as
-complex for my engine as the symmetric model; the only real difference
-is that the engine has to keep track of a larger number of BSC EE
-certificates in the asymmetric case.
-
-\end{document}
diff --git a/presentations/entity-decompose.pdf b/presentations/entity-decompose.pdf
deleted file mode 100644
index afde3c27..00000000
--- a/presentations/entity-decompose.pdf
+++ /dev/null
Binary files differ
diff --git a/presentations/images/key-rollover.dot b/presentations/images/key-rollover.dot
deleted file mode 100644
index 9b74ad30..00000000
--- a/presentations/images/key-rollover.dot
+++ /dev/null
@@ -1,124 +0,0 @@
-// $Id$
-//
-// A pictoral attempt to explain how key rollover works.
-
-digraph step0 {
- rotate=90; size="11,8.5"; splines=true; ratio=fill;
- alice [ shape = record, label = "{Issuer key whatever|Subject key Alice}" ];
- bob1 [ shape = record, label = "{Issuer key Alice|Subject key Bob1}" ];
- carol1 [ shape = record, label = "{Issuer key Bob1|Subject key Carol}" ];
- claire1 [ shape = record, label = "{Issuer key Bob1|Subject key Claire}" ];
- charlie1 [ shape = record, label = "{Issuer key Bob1|Subject key Charlie}" ];
- dave [ shape = record, label = "{Issuer key Carol|Subject key Dave}" ];
- danny [ shape = record, label = "{Issuer key Carol|Subject key Danny}" ];
- dale [ shape = record, label = "{Issuer key Claire|Subject key Dale}" ];
- donald [ shape = record, label = "{Issuer key Claire|Subject key Donald}" ];
- doug [ shape = record, label = "{Issuer key Charlie|Subject key Doug}" ];
- drew [ shape = record, label = "{Issuer key Charlie|Subject key Drew}" ];
- alice -> bob1;
- bob1 -> carol1;
- bob1 -> claire1;
- bob1 -> charlie1;
- carol1 -> dave;
- carol1 -> danny;
- claire1 -> dale;
- claire1 -> donald;
- charlie1 -> doug;
- charlie1 -> drew;
-}
-
-digraph step1 {
- rotate=90; size="11,8.5"; splines=true; ratio=fill;
- alice [ shape = record, label = "{Issuer key whatever|Subject key Alice}" ];
- bob1 [ shape = record, label = "{Issuer key Alice|Subject key Bob1}" ];
- bob2 [ shape = record, label = "{Issuer key Alice|Subject key Bob2}" ];
- carol1 [ shape = record, label = "{Issuer key Bob1|Subject key Carol}" ];
- claire1 [ shape = record, label = "{Issuer key Bob1|Subject key Claire}" ];
- charlie1 [ shape = record, label = "{Issuer key Bob1|Subject key Charlie}" ];
- dave [ shape = record, label = "{Issuer key Carol|Subject key Dave}" ];
- danny [ shape = record, label = "{Issuer key Carol|Subject key Danny}" ];
- dale [ shape = record, label = "{Issuer key Claire|Subject key Dale}" ];
- donald [ shape = record, label = "{Issuer key Claire|Subject key Donald}" ];
- doug [ shape = record, label = "{Issuer key Charlie|Subject key Doug}" ];
- drew [ shape = record, label = "{Issuer key Charlie|Subject key Drew}" ];
- alice -> bob1;
- alice -> bob2;
- bob1 -> carol1;
- bob1 -> claire1;
- bob1 -> charlie1;
- carol1 -> dave;
- carol1 -> danny;
- claire1 -> dale;
- claire1 -> donald;
- charlie1 -> doug;
- charlie1 -> drew;
-}
-
-digraph step2 {
- rotate=90; size="11,8.5"; splines=true; ratio=fill;
- alice [ shape = record, label = "{Issuer key whatever|Subject key Alice}" ];
- bob1 [ shape = record, label = "{Issuer key Alice|Subject key Bob1}" ];
- bob2 [ shape = record, label = "{Issuer key Alice|Subject key Bob2}" ];
- carol1 [ shape = record, label = "{Issuer key Bob1|Subject key Carol}" ];
- carol2 [ shape = record, label = "{Issuer key Bob2|Subject key Carol}" ];
- claire1 [ shape = record, label = "{Issuer key Bob1|Subject key Claire}" ];
- claire2 [ shape = record, label = "{Issuer key Bob2|Subject key Claire}" ];
- charlie1 [ shape = record, label = "{Issuer key Bob1|Subject key Charlie}" ];
- charlie2 [ shape = record, label = "{Issuer key Bob2|Subject key Charlie}" ];
- dave [ shape = record, label = "{Issuer key Carol|Subject key Dave}" ];
- danny [ shape = record, label = "{Issuer key Carol|Subject key Danny}" ];
- dale [ shape = record, label = "{Issuer key Claire|Subject key Dale}" ];
- donald [ shape = record, label = "{Issuer key Claire|Subject key Donald}" ];
- doug [ shape = record, label = "{Issuer key Charlie|Subject key Doug}" ];
- drew [ shape = record, label = "{Issuer key Charlie|Subject key Drew}" ];
- alice -> bob1;
- alice -> bob2;
- bob1 -> carol1;
- bob1 -> claire1;
- bob1 -> charlie1;
- bob2 -> carol2;
- bob2 -> claire2;
- bob2 -> charlie2;
- carol1 -> dave;
- carol1 -> danny;
- claire1 -> dale;
- claire1 -> donald;
- charlie1 -> doug;
- charlie1 -> drew;
- carol2 -> dave;
- carol2 -> danny;
- claire2 -> dale;
- claire2 -> donald;
- charlie2 -> doug;
- charlie2 -> drew;
-}
-
-digraph step3 {
- rotate=90; size="11,8.5"; splines=true; ratio=fill;
- alice [ shape = record, label = "{Issuer key whatever|Subject key Alice}" ];
- bob2 [ shape = record, label = "{Issuer key Alice|Subject key Bob2}" ];
- carol2 [ shape = record, label = "{Issuer key Bob2|Subject key Carol}" ];
- claire2 [ shape = record, label = "{Issuer key Bob2|Subject key Claire}" ];
- charlie2 [ shape = record, label = "{Issuer key Bob2|Subject key Charlie}" ];
- dave [ shape = record, label = "{Issuer key Carol|Subject key Dave}" ];
- danny [ shape = record, label = "{Issuer key Carol|Subject key Danny}" ];
- dale [ shape = record, label = "{Issuer key Claire|Subject key Dale}" ];
- donald [ shape = record, label = "{Issuer key Claire|Subject key Donald}" ];
- doug [ shape = record, label = "{Issuer key Charlie|Subject key Doug}" ];
- drew [ shape = record, label = "{Issuer key Charlie|Subject key Drew}" ];
- alice -> bob2;
- bob2 -> carol2;
- bob2 -> claire2;
- bob2 -> charlie2;
- carol2 -> dave;
- carol2 -> danny;
- claire2 -> dale;
- claire2 -> donald;
- charlie2 -> doug;
- charlie2 -> drew;
-}
-
-
-// Local Variables:
-// compile-command: "dot -Tps2 key-rollover.dot | ps2pdf - key-rollover.pdf"
-// End:
diff --git a/presentations/images/key-rollover.pdf b/presentations/images/key-rollover.pdf
deleted file mode 100644
index 1fb0d633..00000000
--- a/presentations/images/key-rollover.pdf
+++ /dev/null
Binary files differ
diff --git a/presentations/images/prague-whiteboard-2007-03-21-02-29-14.jpg b/presentations/images/prague-whiteboard-2007-03-21-02-29-14.jpg
deleted file mode 100644
index 79c0a807..00000000
--- a/presentations/images/prague-whiteboard-2007-03-21-02-29-14.jpg
+++ /dev/null
Binary files differ
diff --git a/presentations/images/prague-whiteboard-2007-03-22-21-50-26.jpg b/presentations/images/prague-whiteboard-2007-03-22-21-50-26.jpg
deleted file mode 100644
index 4c3c828d..00000000
--- a/presentations/images/prague-whiteboard-2007-03-22-21-50-26.jpg
+++ /dev/null
Binary files differ
diff --git a/presentations/images/prague-whiteboard-2007-03-22-23-15-01.jpg b/presentations/images/prague-whiteboard-2007-03-22-23-15-01.jpg
deleted file mode 100644
index 7b973ab0..00000000
--- a/presentations/images/prague-whiteboard-2007-03-22-23-15-01.jpg
+++ /dev/null
Binary files differ
diff --git a/presentations/images/repository-structure.dot b/presentations/images/repository-structure.dot
deleted file mode 100644
index 7154202d..00000000
--- a/presentations/images/repository-structure.dot
+++ /dev/null
@@ -1,42 +0,0 @@
-// $URL$
-// $Id$
-//
-// Pictures to go with repository-structure.txt. First picture is rekeying b with
-// a g(ski)/g(ski)/g(ski).cer model, second is with stable meaningless identifiers.
-
-graph rekeying_ski {
- rotate=90; size="11,8.5"; splines=true; ratio=fill;
- node [ shape=box ];
- a [ color=black, label="rsync://host/foo/g(ski(a)).cer" ]
- b [ color=red, label="rsync://host/foo/g(ski(a))/g(ski(b)).cer" ]
- c [ color=red, label="rsync://host/foo/g(ski(a))/g(ski(b))/g(ski(c)).cer" ]
- d [ color=red, label="rsync://host/foo/g(ski(a))/g(ski(b))/g(ski(c))/g(ski(d)).cer" ]
- a -- b [ color=red ];
- b -- c [ color=red ];
- c -- d [ color=red ];
- b_ [ color=green, label="rsync://host/foo/g(ski(a))/g(ski(b')).cer" ]
- c_ [ color=green, label="rsync://host/foo/g(ski(a))/g(ski(b'))/g(ski(c)).cer" ]
- d_ [ color=green, label="rsync://host/foo/g(ski(a))/g(ski(b'))/g(ski(c))/g(ski(d)).cer" ]
- a -- b_ [ color=green ];
- b_ -- c_ [ color=green ];
- c_ -- d_ [ color=green ];
-}
-
-graph rekeying_gensym {
- rotate=90; size="11,8.5"; splines=true; ratio=fill;
- node [ shape=box ];
- a [ color=black, label="rsync://host/foo/g(ski(a)).cer" ]
- b [ color=red, label="rsync://host/foo/G001/g(ski(b)).cer" ]
- c [ color=black, label="rsync://host/foo/G001/G002/g(ski(c)).cer" ]
- d [ color=black, label="rsync://host/foo/G001/G002/G003/g(ski(d)).cer" ]
- a -- b [ color=red ];
- b -- c [ color=red ];
- c -- d [ color=black ];
- b_ [ color=green, label="rsync://host/foo/G001/g(ski(b')).cer" ]
- a -- b_ [ color=green ];
- b_ -- c [ color=green ];
-}
-
-// Local Variables:
-// compile-command: "dot -Tps2 repository-structure.dot | ps2pdf - repository-structure.pdf"
-// End:
diff --git a/presentations/images/repository-structure.pdf b/presentations/images/repository-structure.pdf
deleted file mode 100644
index 0fcc7615..00000000
--- a/presentations/images/repository-structure.pdf
+++ /dev/null
Binary files differ
diff --git a/presentations/images/whiteboard-object-model.dot b/presentations/images/whiteboard-object-model.dot
deleted file mode 100644
index 3c61f3ab..00000000
--- a/presentations/images/whiteboard-object-model.dot
+++ /dev/null
@@ -1,65 +0,0 @@
-// $URL$
-// $Id$
-
-// This is an attempt to capture
-// http://subvert-rpki.hactrn.net/docs/prague-whiteboard-2007-03-22-23:15:01.jpg
-
-// {arrowhead,arrowtail} shapes to use for database object relationships:
-// 1- none
-// m- crow
-// Color code:
-// Blue: visible in left-right protocol
-// Green: created on the fly
-
-// Explanation for many-many mapping beween CA and child objects
-// (courtesy of RobL): Each child is an entity; each CA can have
-// multiple children, and each child can hold certs from multiple CAs.
-
-digraph rpki_engine_objects {
- rotate=90; size="11,8.5"; splines=true; ratio=fill;
- node [ shape=record ];
-
- // Objects visible in left-to-right protocol
- node [ color=blue ];
- self [ label="Self|{Preferences}" ];
- parent [ label="Parent|{URI|TA}" ];
- repo [ label="Repository|{URI|TA}" ];
- child [ label="Child|{TA}" ];
- biz_sign [ label="Business\nSigning Context|{Keypair|CertChain}" ];
-
- // Objects created on the fly by the RPKI engine
- node [ color=green ];
- ca [ label="CA|{CRL #|Last Issued Serial #}" ];
- child_cert [ label="Child Certificate" ];
- ee_cert [ label="EE Certificate|{ROA}" ];
- ca_key_pair [ label="CA Key Pair|{Latest CA Certificate|Latest CRL}" ];
-
- // One-many mappings
- edge [ color=blue, arrowtail=none, arrowhead=crow ];
- biz_sign -> child;
- biz_sign -> parent;
- biz_sign -> repo;
- self -> child;
- self -> parent;
- repo -> parent;
-
- // Many-many mappings
- edge [ color=green, arrowtail=crow, arrowhead=crow ];
- ca -> child;
-
- // One-many mappings
- edge [ color=green, arrowtail=none, arrowhead=crow ];
- ca -> ca_key_pair;
- child -> child_cert;
- self -> ca;
- parent -> ca;
-
- // Weird one-many
- edge [ color=green, arrowtail=none, arrowhead=crow, style=dashed ];
- ca_key_pair -> child_cert;
- ca_key_pair -> ee_cert;
-}
-
-// Local Variables:
-// compile-command: "neato -Tps2 whiteboard-object-model.dot | ps2pdf - whiteboard-object-model.pdf"
-// End:
diff --git a/presentations/images/whiteboard-object-model.pdf b/presentations/images/whiteboard-object-model.pdf
deleted file mode 100644
index 9b7da850..00000000
--- a/presentations/images/whiteboard-object-model.pdf
+++ /dev/null
Binary files differ
diff --git a/presentations/repository-engine-objects.dot b/presentations/repository-engine-objects.dot
deleted file mode 100644
index 24abc8dd..00000000
--- a/presentations/repository-engine-objects.dot
+++ /dev/null
@@ -1,86 +0,0 @@
-// $URL$
-// $Id$
-//
-// {arrowhead,arrowtail} shapes indicate database object relationships:
-// 1- none
-// m- crow
-//
-// Color code:
-// Blue: visible in left-right protocol
-// Green: created on the fly
-
-digraph rpki_engine_objects {
- rotate=90; size="11,8.5"; splines=true; ratio=fill;
- node [ shape=record ];
-
- // Objects visible in left-to-right protocol
- node [ color=blue ];
- self [ label="Self|{Preferences}" ];
- parent [ label="Parent|{URI|TA|SIA Base}" ];
- repo [ label="Repository|{URI|TA}" ];
- child [ label="Child|{TA}" ];
- biz_sign [ label="Business\nSigning Context|{Keypair|CertChain}" ];
- route_origin [ label="Route\nOrigin|{AS Number}" ];
-
- // Objects which left-right protocol sees as part of other
- // objects but which SQL needs to be separate for
- // normalization.
-
- addr_set [ label="Address\nPrefix", color=purple ];
-
- // Objects created on the fly by the RPKI engine
- node [ color=green ];
- ca [ label="CA|{Last CRL #|Next CRL Date|Last Issued Serial #|Last Manifest #|Next Manifest Date|SIA URI}" ];
- ca_detail [ label="CA Detail|{CA Private Key Handle|CA Public Key|Latest CA Certificate|Manifest EE Private Key Handle|Manifest EE Public Key|Latest Manifest EE Certificate|Latest Manifest|Latest CRL}" ];
-
- // Some question whether these objects need to be in database
- // per se or are just properties hanging on some other object
- // like ca or ca_detail. For manifests, we need last serial,
- // same as for CRL.
- roa [ label="ROA|{EE Certificate|ROA}" ];
-
- // This one is a table of everything we have ever issued to
- // this child, not to be confused with what's -currently-
- // issued to this child. Some question whether this hangs off
- // ca or ca_detail, but we -think- hanging off of ca_detail is
- // correct because certificates are issued by a particular
- // keypair.
-
- child_cert [ label="Child CA Certificate" ];
-
- // One-many mappings
- edge [ color=blue, arrowtail=none, arrowhead=crow ];
- self -> biz_sign;
- biz_sign -> child;
- biz_sign -> parent;
- biz_sign -> repo;
- self -> child;
- self -> parent;
- repo -> parent;
- self -> route_origin;
-
- route_origin -> addr_set [ color=purple, arrowtail=none, arrowhead=crow ];
-
- // This is many-many because each child is an entity, each CA
- // can have multiple children, and each child can hold certs
- // from multiple CAs (thanks, RobL).
- //
- ca -> child [ color=green, arrowtail=crow, arrowhead=crow ];
-
- // One-many mappings
- edge [ color=green, arrowtail=none, arrowhead=crow ];
- ca -> ca_detail;
- child -> child_cert;
- parent -> ca;
- ca_detail -> child_cert;
- ca_detail -> roa;
-
- // One-one mapping -- separate object to highlight dynamic nature
- edge [ color=green, arrowtail=none, arrowhead=none, style=solid ];
- route_origin -> roa;
-
-}
-
-// Local Variables:
-// compile-command: "dot -Tps2 repository-engine-objects.dot | ps2pdf - repository-engine-objects.pdf"
-// End:
diff --git a/presentations/repository-engine-objects.pdf b/presentations/repository-engine-objects.pdf
deleted file mode 100644
index 68c6d2d6..00000000
--- a/presentations/repository-engine-objects.pdf
+++ /dev/null
Binary files differ
diff --git a/presentations/repository-structure.txt b/presentations/repository-structure.txt
deleted file mode 100644
index 327663b7..00000000
--- a/presentations/repository-structure.txt
+++ /dev/null
@@ -1,111 +0,0 @@
-$Id$
-
-Copyright (C) 2007--2008 American Registry for Internet Numbers ("ARIN")
-
-Permission to use, copy, modify, and distribute this software for any
-purpose with or without fee is hereby granted, provided that the above
-copyright notice and this permission notice appear in all copies.
-
-THE SOFTWARE IS PROVIDED "AS IS" AND ARIN DISCLAIMS ALL WARRANTIES WITH
-REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
-AND FITNESS. IN NO EVENT SHALL ARIN BE LIABLE FOR ANY SPECIAL, DIRECT,
-INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
-LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
-OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
-PERFORMANCE OF THIS SOFTWARE.
-
-
-This note is an attempt to write up the conclusions that several of us
-came to at the RPKI meeting in Prague, March 2007.
-
-We currently have two examples of possible repository structure,
-neither of which is quite what at least some of us think we want yet.
-
-APNIC's hierarchy of directories named by the g(SKI) function applied
-to the public keys has some nice properties: in particular, the
-hierarchical structure (subjects being stored underneath their issuers
-when sharing a repository) has very nice scaling properties with
-rsync. With this structure, a top-down walk such as rcynic uses will
-pick up an entire tree as a side effect of fetching the top-most
-issuer's SIA collection. Combined with a trivial memory cache to let
-rcynic keep track of which URIs it has already fetched, this speeds up
-rcynic's runtime by nearly two orders of magnitude in testing late
-last year. The reason for this turns out to be simple: rsync is a
-reasonably fast protocol, so one rsync connection to fetch an SIA
-collection that hasn't changed takes approximately 500ms on not
-terribly exciting hardware -- but in a system with more than 40,000
-objects, the cumulative total of all those half-second rsync
-connections becomes significant.
-
-There is, however, one problem with the current APNIC structure: the
-g(SKI) naming scheme means that the URIs associated with every
-decendent of a particular node in the tree will change when that
-node's key changes. This means that a key rollover event near the
-root of the tree (eg, when APNIC's own key changes) will require a
-painfully large number of certificates to be reissued. NB: only one
-key is rolling in this scenario, the rest of the certificates are
-being reissued with the same key, and the only reason why they need to
-be reissued at all is that the path has changed.
-
-At the same time, the g(SKI) naming scheme has good properties for
-naming certificates and CRLs, as it means that we can perform "make
-before break" rollovers, leaving the old certificate path in place
-until the new one is fully operational.
-
-So the goal here is to preserve the nice hierarchical structure of
-APNIC's model, and preserve the nice properties of the g(SKI) naming
-for certificates and CRLs, while avoiding the need to reissue every
-desendent after a key rollover. We think that we can do this by using
-static names for the directories and g(SKI)-based names for the files.
-
-This immediately begs the question of what the static names should be.
-Some of us were tempted to make them organization names, but others of
-us felt strongly that they should be completely meaningless, as they
-only need to be unique within a particular parent directory and as we
-really want to avoid all the "identity" issues that we have thus far
-carefully avoided. We did not achieve consensus on this point, but I
-(sra) am firmly in the meaningless name camp on this one.
-
-The upshot of all this is that I expect to be using URIs like:
-
- rsync://hostname/g0001/g0002/g0003/
- rsync://hostname/g0001/g0002/g0003/g(ski).cer
- rsync://hostname/g0001/g0002/g0003/g(ski).crl
-
-where "gNNNN" indicates a generated symbol with no significance other
-than that it is unique enough to avoid collisions. In this particular
-case, the scope in which the symbol must be unique is just the
-directory in which it appears.
-
-We haven't yet discussed how to name ROAs, but since we expect ROAs to
-be tied to particular single-use EE certs, my guess is that a g(SKI)
-name based on the key of the EE cert would be appropriate, so either
-of the following forms would probably work:
-
- rsync://hostname/g0001/g0002/g0003/g0004/g(ski).roa
- rsync://hostname/g0001/g0002/g0003/g(ski)/g(ski).roa
-
-The latter violates the rule of only using g(SKI) names for files,
-never for directories, but in this case it'd probably be ok.
-
-This assumes that we're generating a new key for each ROA; if we're
-reusing keys (dunno), we'd need a naming scheme like:
-
- rsync://hostname/g0001/g0002/g0003/g(ski)/g0004.roa
-
-For those unfamiliar with the notation (borrowed from Lisp): g0001 etc
-are just "gensym" symbols, ie, the output of some function whose sole
-purpose is to generate meaningless symbols.
-
-See images/repository-structure.pdf for an illustration of the problem
-and solution.
-
-There may be compromise-driven rollover cases in which we will need to
-reissue all of the children of a node whose key has been compromised.
-Whether or not this is necessary depends on whether the master copy of
-the authoritative data is safe somewhere else; if it is, and the
-resource certificates are just a signed representation of an
-authoritative database that has not been compromised, reissuing all of
-the descendants may not be necessary, but if the resource certificates
--are- the database, and one level in it has been compromised, it's
-probably advisable to reissue all the descendants.
diff --git a/presentations/sample-irdb-data.sql b/presentations/sample-irdb-data.sql
deleted file mode 100644
index df24b48f..00000000
--- a/presentations/sample-irdb-data.sql
+++ /dev/null
@@ -1,80 +0,0 @@
--- $Id$
-
--- Copyright (C) 2007-2008 American Registry for Internet Numbers ("ARIN")
---
--- Permission to use, copy, modify, and distribute this software for any
--- purpose with or without fee is hereby granted, provided that the above
--- copyright notice and this permission notice appear in all copies.
---
--- THE SOFTWARE IS PROVIDED "AS IS" AND ARIN DISCLAIMS ALL WARRANTIES WITH
--- REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
--- AND FITNESS. IN NO EVENT SHALL ARIN BE LIABLE FOR ANY SPECIAL, DIRECT,
--- INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
--- LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
--- OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
--- PERFORMANCE OF THIS SOFTWARE.
-
-INSERT INTO registrant (IRBE_mapped_id) VALUES ('ARIN');
-INSERT INTO registrant (IRBE_mapped_id) VALUES ('TIER1_ISP1');
-INSERT INTO registrant (IRBE_mapped_id) VALUES ('TIER1_ISP2');
-INSERT INTO registrant (IRBE_mapped_id) VALUES ('JOES_PIZZA');
-
-INSERT INTO resource_class (subject_name, valid_until, registrant_id)
-SELECT 'All ARIN resources', '2099-12-31', registrant_id
-FROM registrant WHERE IRBE_mapped_id = 'ARIN';
-
-INSERT INTO resource_class (subject_name, valid_until, registrant_id)
-SELECT 'Tier 1 ISP foo subject name', '2008-12-31', registrant_id
-FROM registrant WHERE IRBE_mapped_id = 'TIER1_ISP1';
-
-INSERT INTO resource_class (subject_name, valid_until, registrant_id)
-SELECT 'Tier 1 ISP foo subject name', '2009-06-30', registrant_id
-FROM registrant WHERE IRBE_mapped_id = 'TIER1_ISP1';
-
-INSERT INTO resource_class (subject_name, valid_until, registrant_id)
-SELECT 'Tier 1 ISP bar subject name', '2007-07-31', registrant_id
-FROM registrant WHERE IRBE_mapped_id = 'TIER1_ISP2';
-
-INSERT INTO resource_class (subject_name, valid_until, registrant_id)
-SELECT 'arbitrary characters', '2007-12-31', registrant_id
-FROM registrant WHERE IRBE_mapped_id = 'JOES_PIZZA';
-
-INSERT INTO net (start_ip, end_ip, version, resource_class_id)
-SELECT 'DEAD:BEEF:0000:0000:0000:0000:0000:0000', 'DFFF:FFFF:FFFF:FFFF:FFFF:FFFF:FFFF:FFFF', 6, resource_class_id
-FROM resource_class WHERE subject_name = 'All ARIN resources';
-
-INSERT INTO net (start_ip, end_ip, version, resource_class_id)
-SELECT 'DEAD:BEEF:FACE:0000:0000:0000:0000:0000', 'DEAD:BEEF:FACE:FFFF:FFFF:FFFF:FFFF:FFFF', 6, resource_class_id
-FROM resource_class WHERE subject_name = 'TIER 1 ISP foo subject name' AND valid_until = '2009-06-30';
-
-INSERT INTO net (start_ip, end_ip, version, resource_class_id)
-SELECT 'DEAD:BEEF:FACE:FADE:0000:0000:0000:0000', 'DEAD:BEEF:FACE:FADE:FFFF:FFFF:FFFF:FFFF', 6, resource_class_id
-FROM resource_class WHERE subject_name = 'arbitrary characters' AND valid_until = '2007-12-31';
-
-INSERT INTO net(start_ip, end_ip, version, resource_class_id)
-SELECT '010.000.000.000', '010.255.255.255', 4, resource_class_id
-FROM resource_class WHERE subject_name = 'All ARIN resources';
-
-INSERT INTO net(start_ip, end_ip, version, resource_class_id)
-SELECT '010.128.000.000', '010.191.255.255', 4, resource_class_id
-FROM resource_class WHERE subject_name = 'Tier 1 ISP foo subject name' AND valid_until = '2009-06-30';
-
-INSERT INTO net(start_ip, end_ip, version, resource_class_id)
-SELECT '010.000.000.000', '010.063.255.255', 4, resource_class_id
-FROM resource_class WHERE subject_name = 'Tier 1 ISP foo subject name' AND valid_until = '2009-06-30';
-
-INSERT INTO net(start_ip, end_ip, version, resource_class_id)
-SELECT '010.128.000.000', '010.191.255.255', 4, resource_class_id
-FROM resource_class WHERE subject_name = 'arbitrary characters';
-
-INSERT INTO asn(start_as, end_as, resource_class_id)
-SELECT 12345, 12345, resource_class_id
-FROM resource_class WHERE subject_name = 'Tier 1 ISP foo subject name' AND valid_until = '2009-06-30';
-
-INSERT INTO asn(start_as, end_as, resource_class_id)
-SELECT 23456, 23457, resource_class_id
-FROM resource_class WHERE subject_name = 'Tier 1 ISP foo subject name' AND valid_until = '2009-06-30';
-
-INSERT INTO asn(start_as, end_as, resource_class_id)
-SELECT 34567, 34567, resource_class_id
-FROM resource_class WHERE subject_name = 'Tier 1 ISP foo subject name' AND valid_until = '2008-12-31';