X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=secnet.git;a=blobdiff_plain;f=NOTES;h=84453dfbf12cc7abd1bb66267107dfa037b7aae9;hp=2443549cb67232ce64fe9b8f127ba20a31e32019;hb=446353cd8ce62c2feecafb91e7a6cbe97aaa8914;hpb=b2a56f7c93d221607864761c590952b9a614dc9f diff --git a/NOTES b/NOTES index 2443549..84453df 100644 --- a/NOTES +++ b/NOTES @@ -60,6 +60,17 @@ explicit option. NB packets may be routed if the source OR the destination is marked as allowing routing [otherwise packets couldn't get back from eg. chiark to a laptop at greenend]). +[the even newer plan] + +secnet sites are configured to grant access to particular IP address +ranges to the holder of a particular public key. The key can certify +other keys, which will then be permitted to use a subrange of the IP +address range of the certifying key. + +This means that secnet won't know in advance (i.e. at configuration +time) how many tunnels it might be required to support, so we have to +be able to create them (and routes, and so on) on the fly. + ** VPN-level configuration At a high level we just want to be able to indicate which groups of @@ -182,6 +193,11 @@ i? is appropriate index for receiver Note that 'i' may be re-used from one session to the next, whereas 'n' is always fresh. +The protocol version selection stuff is not yet implemented: I'm not +yet convinced it's a good idea. Instead, the initiator could try +using its preferred protocol (which starts with a different magic +number) and fall back if there's no reply. + Messages: 1) A->B: *,iA,msg1,A,B,protorange-A,nA @@ -231,9 +247,7 @@ retransmit or confirm reception. It is suggested that this message be sent when a key times out, or the tunnel is forcibly terminated for some reason. -XXX not yet implemented. - -8) i?,i?,NAK/msg8 +8) i?,i?,NAK (encoded as zero) If the link-layer can't work out what to do with a packet (session has gone away, etc.) it can transmit a NAK back to the sender. The sender @@ -256,3 +270,9 @@ Keepalives are probably a good idea. **** Protocol sub-goal 3: send a packet 9) i?,i?,msg0,(send-packet/msg9,packet)_k + +Some messages may take a long time to prepare (software modexp on slow +machines); this is a "please wait" message to indicate that a message +is in preparation. + +10) i?,i?,msg8,A,B,nA,nB,msg?