APNIC Home APNIC Home
Info & FAQ |  Resource services |  Training |  Meetings |  Membership |  Documents |  Whois & Search |  Internet community

You're here:  Home  Mailing Lists rescert 


[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Forcing RPKI revoke/rekey in left-right protocol



[More old mail]

At Wed, 18 Apr 2007 10:59:42 +0200, Róbert Kisteleki wrote:
> 
> [In the following I assume that we don't want data to flow from the RE 
> to the BE about CAs, classes and such.]

Right.

> My feeling is that the problem can be solved with a set of commands 
> (BE->RE), please check:
> 
> 
> 1. Ask for rekey on CAs tied to a parent
> (rekey-cas-from-parent :self-id 42
>                         :parent ripe)
> => ()
> 
> This is supposed to iterate through classes (CAs) from that parent, 
> generate new keys, and send them to be certified. After certification, 
> it activates the new key, but still keeps the old. From this point on, 
> all issuances should use the new key.
> :parent could be optional/unused, see above.
> 
> 2. Ask for reissuance of children with the latest CA key
> (reissue-children :self-id 42
>                    :parent ripe
>                    :child dexter)
> => ()
> 
> :parent could be optional/unused, see above.
> 
> :child can be optional (if specified, then only that child is reissued, 
> potentially only from a specific parent). I'd really, really like to 
> have such a message, since it solves another issue we had inside RIPE 
> (namely the potential to instruct the RE to issue a cert to a child, 
> whenever the BE feels like it).
> 
> 
> 3. Ask for revocation of certs issued by an "old key" (all old keys, if 
> there are more than one)
> (revoke-oldkey-certs :self-id 42
>                       :parent ripe)
> => ()
> This is essentially a preparation for shutting down an old key.
> :parent could be optional/unused, see above.
> 
> 
> 4. Drop old keys
> (drop-old-keys :self-id :42
>                 :parent ripe)
> => ()
> Get rid of old CA keys, potentially only for that :parent.
> This command may also trigger the previous one (3), just to be sure.
> :parent could be optional/unused, see above.

I'm not certain that we need all of these operations, but I think the
general approach here is reasonable, at least in terms of making
good use of the handles we have available.

I am not sure why I would ever call (4) without also calling (3), so I
would probably make them a single operation.

I'm not sure we need (2) but I see that you think RIPE does.  It's not
really in the rekey/revoke space, it's closer to the
(please-run-this-self-id-now) operation that we already have.

> I have one issue still: how is the BE supposed to know if the rekey 
> succeeded or not?

Rekey operation throws an error (immediate response) or calls an error
callback (asynchronous response), I would think.

> We may want to introduce a "current key generation" value associated
> with :self (or :self+:parent) that the BE keeps track of, so it
> knows if the RE has successfully rekeyed, thus child reissuance can
> begin.

This seems more complicated than necessary.

> Otherwise, at first it seems to me that this could be enough. Do you agree?

Good start, anyway.