Validating rights to announce a prefix (was: Public shaming...)
Skywing at valhallalegends.com
Fri Aug 15 09:56:05 CDT 2008
<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.
From: michael.dillon at bt.com [mailto:michael.dillon at bt.com]
Sent: Friday, August 15, 2008 5:55 AM
To: nanog at 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
More information about the NANOG