<security person rant>

"Easy upgrade" to PKI after the fact might as well be a misnomer.  In 
particular, there will likely be no way to ensure that nobody uses the old 
system instead of the new, spiffy and "secure"-ified system.  This means that 
support for the old, "insecure" system must be kept around indefinitely, for 
all practical considerations - which opens you to downgrade attacks and all 
sorts of other unpleasantness from the backwards compatibility baggage involved.

Now, it may well be that we don't need a full blown PKI here, but I think that 
we should be extremely wary of any scheme that proposes to be future 
upgradeable to be "more secure", especially when we are talking about a mostly 
decentralized system where there isn't going to be much of a practical push to 
force people to upgrade.

At the risk of opening the door to much flame-age, consider that with dnssec, 
my understanding here is that we will *still* have to keep around support for 
non-secured queries for a very, very long time until everyone (or some level of 
"everyone" that we consider "good enough", which is also unlikely to be the 
case for a very long time) runs dnssec-ified authoritative name servers for 
their domains.  This means that the non-secured "plain" DNS path will continue 
to remain open for attack for years to come, even if everyone on this list, and 
the root/gTLDs/cccTLDs magically stopped what they were doing right now and 
somehow rolled out dnssec tomorrow.  Being forced to keep this code around 
leaves you open to downgrade attacks.

To give a quick example off the top of my head of why this can be dangerous, 
consider the following back-of-the-napkin scenario:

Even with signature expiration times in place in dnssec to try and prevent 
replaying of old signed zones that would allow downgrade attacks for any 
domains not listed as supporting dnssec, an adversary in your packet path can 
still (probably) have a reasonable shot at successfully forcing a downgrade 
attack and subsequently spoofing data using "plain" DNS fallback.  For example, 
to validate validity timestamps on signatures, you need to have valid local 
system time, and how do you update your local system time?  Do you use NTP over 
the public Internet?  If so, an attacker in your packet path can change your 
system time and replay old dnssec signatures, thus allowing downgrade attacks 
for domains that were previously not using dnssec by taking advantage of 
"plain" DNS fallback code.

Now, I'm not really trying to bash dnssec here, but rather point out that 
"upgrading" to something that's secure later on should be considered 
practically a non-option in a (mostly) decentralized scenario like how the 
global routing DFZ is managed.  I'm also not trying to bash your proposal 
specifically (or the level of security it provides), but rather just call 
attention to the uncomfortableness to anything that provides "soft" security 
from the get-go with a later option for upgrade to "hard" security.

</security person rant>

Now, it may well be that we really don't need PKI here for reasonable security 
(and I am explicitly *not* commenting on whether this is or is the case here), 
but we had better be damn sure that we make the right call there before rolling 
anything like this out, or we'll be dealing with the security consequences for 
a very long time to come.

There are just *so* many things that make handling a "secure" upgrade to a 
well-entrenched protocol that provides "hard" security, while keeping 
reasonable functionality an extremely difficult task (to say the least), that 
you would likely almost be better scrapping the existing (well, new) protocol 
entirely and coming up with a new one from scratch should such prove necessary.

- S

-----Original Message-----
From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]
Sent: Friday, August 15, 2008 5:55 AM
To: nanog@nanog.org
Subject: RE: Validating rights to announce a prefix (was: Public shaming...)

> Okay, I admit I haven't paid the closest attention to RPKI,
> but I have to ask: Is this a two-way shared-key issue, or
> (worse) a case where we need to rely on a central entity to
> be a key clearinghouse?
>
> The reason why I mention this is obvious -- the entire PKI
> effort has been stalled (w.r.t. authority) because of this
> particular issue.

Who says there needs to be a PKI infrastructure in order to
do this? There are other ways of authenticating data. For instance
ARIN could hold the data that they have validated on their own
servers and people could use HTTPS queries to ensure that they
get the answers that they thought they would get.

As for how the address owner delegates the right to announce
a prefix, they could either operate their own database and
ARIN would have a pointer to it, or they could register the
data in ARIN's database by some secure means. There is no
reason why "secure means" could not include various out of
band authentication systems.

People are too hung up on cryotographically secure PKI systems
which are way overkill for this problem. In fact, it should be
possible to design an architecture that allows for an easy upgrade
to PKI if it should be determined at some future date, that PKI
is necessary.

--Michael Dillon


Reply via email to