About DHTs, byzantine robustness, and security (was Re: A roadmap for end-point identifiers? ...)

2003-09-11 Thread Pekka Nikander
Iljitsch van Beijnum wrote:

The basic assumption in byzantine robustness is that as long as the
number of dishonest participants do not exceed a treshold ratio
(e.g. one third of all participants), the system does not fail.
Ok, I'm going to read up on this stuff but in the mean time: it's pretty 
obvious that if you want to be sure that a certain node doesn't deceive 
you, you must check with a significant number of different nodes to see 
if they agree. This is going to cost you performance.
It is going to cost some performance, I agree.  However, if you
arrange your data so that it is self authenticating, then the only 
reason for byzantine robustness is protection from DoS and negative
answers.  That is, if you can arrange your data so that if you do
receive a positive response, you can check that the response is
genuine, then the task is somewhat simplified.

Whether you can arrange your data to be self authenticating or not
depends on many factors.  One factor is whether your primary identifiers
are cryptographic in nature or not.
In the case of DHT servers, the more servers there are, the less
likely it is that the treshold would be exceeded.  Hence, even if
you are relying on strangers, you are relying on them in a random
manner, making any collusion highly unlikely, and impossible in
practise.
I just don't see it happening. If we reach a million multihomers, 
900,000 of which are SOHO/private persons at some point in the future, 
and every piece of information is replicated in 10 places, there is 
still a 35% chance that a fortune 500 company has to rely on basement 
multihomers exclusively for this incredibly sensitive stuff. And 
remember: no SLAs, nothing.
I do understand your view.  But I don't share it.  I am sure
someone will sooner or later produce a statistical analysis
that can be used to quantify the danger.
We have to remember that even if we took the very simplistic
approach and distributed the data over all of those basement
servers, data about each separate identifier would be located
on different basement servers.  Furthermore, the exact set of
servers serving data about a particular identifier would be
extremely dynamic, since hosts would be joining and leaving
the DHT service network all the time.  Hence, even though I
agree that such an arrangement might scare pants off from an
IT manager, it might actually work extremely well and be extremely 
robust in practise.

I think we need some experimentation first. Maybe set up a shadow DNS 
that uses DHT?
Excellent idea.  I wish I had more time to study the few ongoing
DHT experiments that there are.
Yes, mobility is complex. But don't you have the home agent as a 
fallback? So even in this case the regular PA home address should work 
most of the time.
Well, yes, you would need some kind of a home agent for rendezvous.
However, if you bind your identity to your initial rendezvous
server, you create an additional single point of failure.  That
happens to be one of the problems with the current MIP and
MIPv6 practises.
On the other hand, if you do separate your identifiers and
locators, you can move around your home servers, or even
have multiple of them, thereby increasing resiliancy.
So you're saying: use PI first, PA as fallback?

I am saying that depending on application.
No, that's no way to build something reliable. Either you always first 
do PA and only use the potentially non-routable addresses as a fallback, 
or you need two faced DNS or complex IGP tricks.
I agree that you need two faced DNS.  I don't see any specific
reason why you should always do PA first and then PI, or vice
versa.  You do feed the DNS names to your applications anyway, and
you can do what I proposed (before you have real identifiers),
if you wish.  That is one reason why I see some value of using
PI addresses temporarily (for 3-5 years or so) as identifiers.
And that is one reason why I understand that many network
managers would like to have them.
Personally, I don't much like PI addresses.  IMHO, they seem to
create more complications than solve.  However, as a step towards a
proper separation of identifiers and locators, they are probably
needed.  Not by me, but by many network managers.
We need to protect the infrastructure.  As I wrote, the danger is not
that much to the communicating hosts but to the infrastructure.
I'm not sure what you mean. Routers? DNS servers?
All end-hosts and all subnets.  Basically, everything.

   an attacker may launch a denial-of-service attack on a given node A
   by contacting a large number of nodes, claiming to be A, and
   subsequently diverting the traffic at these other nodes so that A is
   harmed.
Not really big news. ... But it has nothing to do with multihoming,
mobility or IPv6.
It may not be big news, but it was news back when MIPv6 was at
the IESG for the first time.  And yes, what I am writing about
has everything to do with mobility and multi-homing.  And perhaps
even IPv6.
Unfortunately neither IPsec 

Re: A roadmap for end-point identifiers? (was Re: where the indirection layer belongs)

2003-09-10 Thread Pekka Nikander
 spend a few years  
trying to make one that is all things to all people, I think we should  
start by making the simplest one we can possibly make and let everyone  
who feels they can do better have a go after that.
I am always in favour of beauty contests and market evaluations.

I'm not worried about security as these are end-to-end mechanisms. If  
two hosts feel they don't have to protect their communication, who are  
we to say that they must? 
We need to protect the infrastructure.  As I wrote, the danger is not
that mcuh to the communicating hosts but to the infrastructure.
Some excepts from the above mentioned draft:

2.1 Target

   Basically, the target of an attack can be any node or network in the
   Internet (stationary or mobile). The basic differences lie in the
   goals of the attack: does the attacker aim to *divert* (steal) the
   traffic destined to and/or sourced at the target node, or does it aim
   to cause denial-of-service to the target node or network. The target
   does not typically play much of a active role attack. As an example,
   an attacker may launch a denial-of-service attack on a given node A
   by contacting a large number of nodes, claiming to be A, and
   subsequently diverting the traffic at these other nodes so that A is
   harmed. A itself need not be involved at all before its
   communications start to break. Furthermore, A is not necessarily a
   mobile node; it may very well be stationary.
3.1.2 Stealing addresses of stationary nodes

   The attacker needs to know or guess the IP addresses of both the
   source of the packets to be diverted (A in the example above) and the
   destination of the packets (B). This means that it is difficult to
   redirect *all* packets to or from a specific node because the
   attacker would need to know the IP addresses of all the nodes with
   which it is communicating.
   Nodes with well-known addresses, such as servers and those using
   stateful configuration, are most vulnerable. Nodes that are a part of
   the network infrastructure, such as DNS servers, are particularly
   interesting targets for attackers, and particularly easy to identify.
If you feel a mechanism is too insecure,  
either slap some additional IPsec or TLS on top of it, or don't use the  
mechanism.
Unfortunately neither IPsec nor TLS pixie dust helps here.

--Pekka Nikander


IETF IPng Working Group Mailing List
IPng Home Page:  http://playground.sun.com/ipng
FTP archive:  ftp://playground.sun.com/pub/ipng
Direct all administrative requests to [EMAIL PROTECTED]



A roadmap for end-point identifiers? (was Re: where the indirection layer belongs)

2003-09-08 Thread Pekka Nikander
[Please direct replies either to the IPv6 or the IETF
mailing lists, but not both.  The default should be IPv6,
imho.]
Pekka Nikander wrote:
 Now, even though I believe that we should solve the problems (and
 apparently believe that there are sensible solutions), achieving
 consensus on solutions that require architectural change may take too
 long.  Hence, I also believe that we need some kind of a road map,
 with some temporary or intermediate solutions along the way to a
 more long-standing set of solutions.
Robert Honore replied:
 I agree, and your statement corresponds to what Keith Moore says about
 the solutions fitting into a framework that is yet to be specified.  I
 believe specification of that framework begins with our defining
 what an end-point is.
Good that we agree on a need for a roadmap.  Now, I want to return
back to your original problem analysis:
 *Stable (or reliable) end-point identifiers
 *Resiliency of application (protocol) in the face of sudden
  IP address changes
 *Self-organised networks
These are the goals that we need to focus on.  While designing
the longer term architectural solutions, we need to preserve
the current functionality, and think about transition mechanisms.
From this point of view, the only (semi-)stable end-point
identifiers we have today are IP addresses.  We both agree, and
I think quite a few others agree, that IP addresses are not very
good end-point identifiers.  However, they are used as such today.
Furthermore, it will take quite a long time to get something to replace
the IP addresses as end-point identifiers.  As has been discussed
several times, domain names do not work well enough, and therefore
we need a new name space, I think.
Consequently, we have to provide (semi-)stable IP addresses
for IPv6 networks.  Based on the recent discussion at the IPv6
WG, apparently people think that PA addresses are not stable
enough.  Hence, at least to me, the Hinden/Haberman addresses
look like a good temporary solution.  It seems to provide stable
IP addresses, which can temporarily be used as end-point identifiers,
with the expectation that they will be eventually replaced with
proper end-point identifiers.
What comes to application resiliency, Christian Huitema's
approach of (mis)using Mobile IP may work well enough for a while.
However, it has a number of architectural problems that make
me to think about it only as a temporary solution.  Going further,
if we did not have any other reasons for proper end-point
identifiers, I think that Dave Croker's MAST might be good next
step.  However, since I do think that we most probably do need
stable and secure end-point identifiers, I think that something
like HIP will be more appropriate.
[I'm relatively ignorant to the exact details of self-organized
 networks, and therefore I don't want to comment that.]
Given the above, I think we could have a roadmap that might
look something like the following:
 Stable identifiers:Hinden/Haberman - New name space
   for end-point
 Resiliency on  Huitema MIPv6  -- (MAST) --- identifiers
 address changes:   multi-homing   (maybe HIP)
--Pekka Nikander


IETF IPng Working Group Mailing List
IPng Home Page:  http://playground.sun.com/ipng
FTP archive:  ftp://playground.sun.com/pub/ipng
Direct all administrative requests to [EMAIL PROTECTED]



Re: Mumbles about HIP (was Re: apps people?)

2003-08-14 Thread Pekka Nikander
Fred,

Fred Templin wrote:
There was a HIP mailing list for a long time @lists.freeswan.org.
Yes, I'm subscribed to that list - since 7/16/2002, actually. There was
a pretty healthy amount of traffic between 3/14/03 - 3/26/03 and then
it went silent. 
I guess the list crashed at 3/26/03, short shortly thereafter.
Your address probably got lost already then, since it did have some
more traffic afterwards.  Then it crashed again sometime in July,
and AFAIK it has not been restored after that.
Since then, I have received two messages - one on 6/29/03
and another on 8/10/03 (only two days ago) - both messages were from
you, actually. I never saw any announcement of the new list...
Those must have been crossposted to some other list.
The 8/10/03 message I meant to crosspost to the new list
(not the old one), but my fingers made a mistake.  The other
list the message was crossposted to was multi6.
I don't remember about the 6/29/03 one.  (I've been spending
time with my family all the summer, and reading mail at odd
hours without enough of coffee.)
We announced the new list on the new list :-)  My intention is to
annouce it elsewhere, too, but that is just still in my pipeline.
--Pekka Nikander


IETF IPng Working Group Mailing List
IPng Home Page:  http://playground.sun.com/ipng
FTP archive:  ftp://playground.sun.com/pub/ipng
Direct all administrative requests to [EMAIL PROTECTED]



Mumbles about HIP (was Re: apps people?)

2003-08-14 Thread Pekka Nikander
Fred,

Fred Templin wrote:
...  but do you truly have an alternate proposal that
will work for intermittently-connected/disconnected sites, sites that
frequently change provider points of attachment, multi-homed sites,
etc? I asked others the same question and they mumbled something
about HIP but ducked my pointed questions as to how soon we could
expect to see an alternate proposal.
As far as I see, HIP does not currently provide anything for
intermittently-conneted/disconnnected sites.  Perhaps it could,
but AFAIK nobody has *seriously* considered that question.
(My gut feeling is that if HIP was adopted, the nature of this
and many other questions would change quite a lot.  But that
is just an educated guess, at best.)
     So,
unless there is some grand solution currently being architected in some
skunkworks project out of the public eye ...   (And if there is such a stealth
mode project in the works, I think it high time that it be fully disclosed
to the community in good faith.)
I don't know about any skunkwork projects.  However, since HIP was
mentioned, perhaps I should try to clarify the situation.
There was a HIP mailing list for a long time @lists.freeswan.org.
However, due to hardware problems the list crashed three times during
the last year or so, losing its membership at least once, and the
archive at least once, too.  (I don't remember the details).
Anyway, there is now a new HIP mailing list @honor.trusecure.com,
see http://honor.trusecure.com/mailman/listinfo/hipsec
We tried to subscribe everybody we knew about to the new mailing
list, but I am sure some addresses just got lost.  If you
are interested, please join to the new mailing list.  It is currently
very low volume, but may get some traffic fairly soon (see below).
However, I don't expect it to get anywhere near IPNG volumes...
What comes to the architecture and base protocol specs, they are
fairly close to be ready for experimental.  On the other hand,
serious work on multi-homing, mobility, IPv4 NAT traversal and
DNS issues has only recently begun, and requires lots of work
before completed.
As I mentioned at the multi6 meeting in Vienna, there are currently
four interoperating implementations, at least two of which also
support limited HIP based mobility.  At least one even supports
mobility between IPv6 and IPv4.  I am not aware of any implementations
that would seriously support multi-homing, even though some support
for that is in draft-nikander-hip-mm-00.txt
There are also some discussions going on with some ADs about the
possibility of a working group that would produce experimental RFCs.
However, it is not clear whether such a group, if created, should be
a working group or an IRTF research group.  That is an issue that
should be discussed fairly soon at the hipsec ML.
--Pekka Nikander


IETF IPng Working Group Mailing List
IPng Home Page:  http://playground.sun.com/ipng
FTP archive:  ftp://playground.sun.com/pub/ipng
Direct all administrative requests to [EMAIL PROTECTED]



Summary: Reason for the explicit link-layer address options in ND?

2003-02-13 Thread Pekka Nikander
Thanks, Jim and Francis, for your timely answers to my
question.  Yes, like Jari pointed out, we are working
on using IPsec for SEND, and we need to understand ND
better to make it *right*.  However, that discussion
belongs to the very silent SEND mailing list, and should
be continued only there, IMHO.  (I've inserted Reply-To:
headers to facilitate that...)

Now, the ND specs as such are clear.  No problem with
that.  It is just that the design rationale behind the
specs in not written anywhere (as usual), and that was
the reason for asking my question.  We are not attempting
to redefine or even revise the ND architecture, we are
attempting to understand it fully so that we can design
proper security for it.

Now, if I read correctly what you Jim and Francis are saying,
there seems to be a number of reasons for the design.
Please correct me if I get this wrong; I am rewriting what
I read to see if I understand it correctly.

  1. Architecture

 It was deemed architecturally good to place ND
 at the IP/ICMP layer rather than below it.  The
 main benefits from this are the following:

- allows extension headers to be used
- allows IPsec protection for ND
- allows using routing and destination options

  2. Implementation

 Early implementation experience showed that as
 a consequence of the design, implementation becomes
 simpler.  In particular, NUD and prefix assimilation
 become part of the IP layer.

 I have one further question about that: what do
 you mean with prefix assimilation?  I didn't find
 the term in RFC2461 or RFC2462.


The reasons for the link layer address options were
the following:

  3. Extensibility (with extension headers etc).

 This seems to be a direct consequence of the
 architectural design decision.

  4. Support for future functionality like proxy ND

 Again, this seems to follow the architectural
 principle layed out above.

  5. Better support for the Override bit

 Now, I have a question about the Override bit.
 I didn't quite understand how it could be used
 for node discovery during first phase when
 link-layer addresses are not shared.

 What did you mean with that, Jim?

Finally, the reasons for not peeking at the actual
link layer addresses used in the link layer frame can
be summarized as follows:

  6. Separation of function

 This again follows the architectural principle.
 Especially, it was viewed that checking the
 link-layer addresses is a link layer function,
 and it should be separate from the IP layer.

Is that all or am I missing something?  Or is there
something above that doesn't belong there?

Now, if you want to discuss how security fits in this
all, may I suggest that we do it on the SEND list?
(Personally I have trouble in keeping track with
 the IPv6 list volume, as I have also other things
 to do but participate to the IETF work.)

--Pekka Nikander


IETF IPng Working Group Mailing List
IPng Home Page:  http://playground.sun.com/ipng
FTP archive:  ftp://playground.sun.com/pub/ipng
Direct all administrative requests to [EMAIL PROTECTED]




Reason for the explicit link-layer address options in ND?

2003-02-12 Thread Pekka Nikander
On the behalf of the SEND DT, I'd like to get
a clarification to the current ND design from
those who were around back when RFC2461 and
RFC2462 were written.

Specifically, we'd like the know the exact
reasons why RFC2461 uses separate source/target link
layer address options instead of relying on the
actual source link layer addresses used in the
link layer frame?  Furthermore, why are the actual
link layer addresses used in the link layer frame
completely ignored, and not checked to match with
the options?

Is this just a layering question, an attempt to
avoid layer violations?  Or were there behind
other goals, like allowing proxy ND?

The reason why I am asking this is that the current
situation makes security design tricky.  That is,
the Secure ND part of SEND (as opposed to Secure RD)
is all about creating a secure binding between an IP
address and a link layer address.

The WG decided to pursue the idea of using public
key based AH to secure the NA (and NS) messages.
That requires that the hosts learn the public keys
of the other hosts on the local link.  Basically,
there are two know methods for distributing the
public keys:  Using certificates and relying on
a (local) CA, or using Cryptographically Generated
Addresses (CGA).

Now, for zero-config operation, we would like to
use the CGA ideas.  Furthermore, there is a possible
attack against link local addresses, and that attack
can be partially dwarfed if we bind both the link
layer address and the public key to the IP address
in CGA.

Under the current design, the CGA processing at the
AH layer becomes very tricky, if we attempt to include
the link layer address into the CGA process.

--Pekka Nikander




IETF IPng Working Group Mailing List
IPng Home Page:  http://playground.sun.com/ipng
FTP archive:  ftp://playground.sun.com/pub/ipng
Direct all administrative requests to [EMAIL PROTECTED]




Re: globally unique site local addresses

2002-11-25 Thread Pekka Nikander
Michel,

Michel Py wrote:

I think that the split space is better, for the following reason: truly
unique is a paid feature. People that pay for the feature will want a
guarantee that they will get what they paid for, which is truly unique,
which means the only model that works is split space.


Michel Py wrote:

Since truly unique would have a fee, the people that pay the fee will
finance the development effort. From an enterprise standpoint, $50 a
year is not significant if it buys the *guarantee* that the address is
unique. The truly unique feature is like insurance.


Let me try to understand why exactly some people would be
willing to pay a fee for truly uniqueness.  I'm probably
missing some issues here; your input is valued.

First of all, there is no such thing as an absolute guarantee
for global uniqueness.  Misconfigurations happen.  Thus, the
real difference between the split space and mixed space model
is that in the split space model, *nobody* is *supposed* to
configure or use a registered prefix, while in the mixed space
model someone *may* legitimitely use it.  However, even in the
mixed space model the party having preformed the registration has
some kind of ownership/moral property rights over the prefix,
giving them more rights over those that haven't registered
the prefix but happen to be using it anyway.

Thus, whatever you pay, you don't have any absolute guarantee
that nobody else is using your prefix.  What you have is some kind
of right over the prefix, the right having been aquired by
registering and paying.

Now, the case seems to depend on psychology and the formulation
of rights.  In the split space case the rights are easier to formulate,
more natural, and stronger in that sense.  Nobody is supposed to
use your prefix, and therefore they are wrong if they use your prefix,
and you can sue them (or, in Europe, you can dispise and ignore them :-)

As far as I understand, it would be possible to come fairly close
to that even in the mixed space model.  If you have registered a
prefix, nobody else can register the same prefix, and if you ever see
someone using you prefix, they are wrong by letting the prefix to
leak, and you can sue them (or at least dispise and ignore them :-)

So, to me, it looks like the only thing truly uniqueness buys
is that if your prefix is ever leaked by someone else but you,
you may have better chances to shut them down, since you can morally
require them to change their prefix.  The cost of tracking down
the party leaking the prefix seems to be the same.

In both cases registration buys you the assurance that you do not
need to renumber you prefix, ever.

--Pekka Nikander


IETF IPng Working Group Mailing List
IPng Home Page:  http://playground.sun.com/ipng
FTP archive:  ftp://playground.sun.com/pub/ipng
Direct all administrative requests to [EMAIL PROTECTED]




Re: unique enough [RE: globally unique site local addresses]

2002-11-25 Thread Pekka Nikander
Michel,


My $0.02 about the hash/random/collision issue: It's a non-issue.


I would agree with you, but only if I shared the same view of the
GUPI prefix usage.  That is, if GUPIs are really used only by
explicit administrator action in big corporations, then fine.
But unfortunately I don't believe so.


The prefix generation happens only one time for the site. Collisions
would not be detected until two sites merge or establish a VPN
connection.


Agreed.  Though, I can vision dynamic sites that are created
and dismissed fairly often.  OTOH, if we decide to define a GUPI
address space, we can formulate the usage guidelines so that
they should not be used in such a case, and that a still
another type of addresses are needed for such sites.


The site gets its GUPI /48 prefix once, then the network administrator
configures all routers within the site with subnets that fit in that
prefix. This could be automated, but the fact of the matter is that
there needs to be a router somewhere that seeds this prefix. If what you
are talking about is automatic subnet number generation, this would be a
zeroconf issue.


Agreed.  But I can also see a semi-automatic case; a SOHO or non-IT
company configuring their network, and pushing a button to generate
a site prefix for their network.  Most probably they would not want
to pay the *trouble* of registering their prefix; still the fee might
be a non-issue for them.

A site note:  The reason for the registration fee is to discourage
prefix hoarding.  The fee can be lower than the trouble needed for
registering a single prefix.  (When registering multiple prefixes,
the trouble for the subsequent prefixes is much lower than in the
beginning, since learning is a big part of the initial trouble.)


Besides the fact that making site-locals too easy is bad, I don't see
why obtaining the prefix should be generated by a router. It is clear
that the first thing the network administrator would do is to write down
the /48 s/he will be using, and would be the one requesting the prefix
in the first place.


Hmm.  I would agree that this is the case today, more or less.
But, iff small sites become common, the situation would be different.

If I remember correctly, one of the design goals in the whole IPv6
standardization has been minimization of human intervention.  That's
the reason why we have address autoconfiguration, that's the reason
why we have been developing router renumbering etc.  Or am I mistaken?

Thus, I think that *if* we create these GUPI prefixes, their creation
should be semi-automatic.  Not fully automatic since they are not
always needed.  But, sure, we can start with a completely manual
process and revise it later, if people feel that there is some
danger is such a semi-automatic creation.


Also, whatever the random/hash algorithm is chosen and published, it
also is clear that the first thing that the network administrator would
do is to go to the web to find if someone has already written an applet
that would do the job.


There will be sites that do not have Internet access at the time
they want to configure their prefix.  Either they will hand pick one,
most probably causing unnecessary collisions, or the process should
be semi-automatic, with built-in assistance in routers or in router
configuration software.

--Pekka Nikander


IETF IPng Working Group Mailing List
IPng Home Page:  http://playground.sun.com/ipng
FTP archive:  ftp://playground.sun.com/pub/ipng
Direct all administrative requests to [EMAIL PROTECTED]




Summary some possible long term consequences of GUPI prefixes

2002-11-25 Thread Pekka Nikander
I'm trying to understand this whole GUPI prefix business.
I have to say that I'm fairly confused, and therefore
this attempt to summarize and envision the case.
Please correct wherever I've mistaken.

The GUPI proposal seems to have grown from the concerns
regarding site locals.  (I have to confess that I still
do not quite understand why some people think that site
locals are that bad; I guess there have been too many
messages.  I am still looking for the pro and cons drafts
Margaret(?) suggested/asked for a few hundred messages
back.  Anyway, that's not the point here.)

The GUPI prefixes seem to have a lot of desirable
properties.  Leaking GUPI addresses are less likely to
cause confusion than leaking SL addresses.  Site
merger is easier with GUPI prefixes than without.
GUPI prefixes allow limited inter-site communication
through direct peering or tunneling.  Statistically
unique GUPI prefixes would be easy to generate.  etc.

Some people seem to think that GUPIs would reduce the
need for IPv6 NAT.  Maybe so, maybe not.  More below.

Requiring mandatory registration for GUPIs may make
it easier to track down people leaking GUPI routes,
but not necessarily so.  But at least that would give
us a scape goat, someone to yell at if a prefix is
leaked.  OTOH, mandatory registration would make it
very hard to use them at non-connected sites.

Now, suppose for a moment that we do have such GUPI
prefixes.  That is, prefixes that are (statistically)
globally unique, provider independent, free, forever
valid requiring never renumbering, and easy to generate
even for non-connected sites.

I guess almost everyone would start using them.  At least
I would personally, just for my personal VPN between my
office and home.  Thus, there would be millions of these
prefixes in use.  With some more invention, such as using
them for PANs or semi-stable ad hoc networks, there would
be billions of dynamic sites using these prefixes.

From a site multi-homing (multi6) perspective, it might
become again a (not so) good idea to perform prefix translation
at the site exit routers.  If you configure your network
so that all hosts defend the same IID with the GUPI prefix
and the global prefixes, thereby making IIDs unique
within the site, you could fairly safely translate a GUPI
prefix in source addresses into your global prefix for
outgoing packets and vice versa for incoming packets.
MULTI6 solved :-)

From a mobile networks (nemo) perspective, you could use
your GUPIs inside your mobile network (airplane, car),
and again perform prefix translation at the site exit
router.  NEMO solved :-)

(For those you missed the irony:  I know pretty well
that prefix translation would not solve the problems
multi6 or nemo are addressing.  I just want to point out
that GUPIs might make people to consider prefix translation
more seriously, since it would look safer with GUPIs.)

More seriously, there would be a tendency to consider
GUPI addresses as immutable identifiers for hosts,
making the aggretable global PA addresses mere locators.
Thus, it might form a step towards an architecture
where identifiers and locators are separated.

Now, honestly, I do not know if that would be a good
step or not.  We just have to understand that there would
be a strong temptation to view the situation so.
Furthermore, I guess that many people might just start
using the GUPI addresses so, without thinking too much
about the architectural consequences.

--Pekka Nikander


IETF IPng Working Group Mailing List
IPng Home Page:  http://playground.sun.com/ipng
FTP archive:  ftp://playground.sun.com/pub/ipng
Direct all administrative requests to [EMAIL PROTECTED]




Re: globally unique site local addresses

2002-11-24 Thread Pekka Nikander
Michel,


In any case, a modest suggestion:  Let's separate
the GUPI prefix generation and registration processes,
and make them sequential.


I have another suggestion: Let's split the FEC0::/10 space in two parts:
One for the unregistered good-enough and one for the registered truly
unique. By default, the good enough would be used and a random/hash
method would be used. But the network administrator would have a choice
of getting a truly unique registered prefix instead. This would likely
need to access some web page and pay a nominal fee.

If the address space is split, then we have a guarantee that the hash
process used for good enough will not grab addresses in the range that
is used for truly unique.


Let me try to briefly analyse the differences between the methods,
the mixed space and the split space methods:

  - In either method, you can generate a prefix and register
it as a GUPI prefix belonging to you right away.

  - In the mixed space method, you may have to need a couple of
prefixes before you get one registered.  OTOH, if you really
need a registered prefix, you can combine generation and
registration, and start configuring your routers only once
you have got a prefix registered.  Thus, no big difference
in practise.

  - In the mixed space method, you can generate a prefix now and
try to register it later, with a fairly large probability
of succeeding.  In the split space method, if you only later
need a genuinely globally unique address and are not willing to
pay for one now, you have to renumber.

  - In the split space method, you can tell directly from a prefix
whether it is genuinely globally unique or not.  In the mixed
space method you can query the registry whether the prefix has
been registered, but even if it is, there may be also other sites
that are using the prefix.  The probability of the existence
of such sites is low, though.

  - In the split space method, you can be almost sure that nobody
else is using your globally unique prefix, and if they do,
they do it in error.  In the mixed space method, you cannot be
sure that nobody else is using your prefix, but if they do,
you know that they cannot register it.

Thus, from my point of view, the differences seem to boil down
into two issues:

  1. In the mixed space method, you can defer your registration and
 still have a fairly large probability of succeeding later in
 registration.

  2. In the split space method, you can have more confidence that
 no-one else is using your truly unique prefix.

I can't say which is better.

--Pekka Nikander



IETF IPng Working Group Mailing List
IPng Home Page:  http://playground.sun.com/ipng
FTP archive:  ftp://playground.sun.com/pub/ipng
Direct all administrative requests to [EMAIL PROTECTED]




Re: globally unique site local addresses

2002-11-24 Thread Pekka Nikander
Michel Py wrote:

There is room for both models at the same, and good enough is not
going to be good enough for everybody.


Margaret Wasserman wrote:

I would need to see a very compelling case for why two types
of globally-unique/provider-independent addressing are needed
before I would like to see two models.


Good enough ones are easy to generate without too much human
intervention, for example, without any connection to the
registry.  OTOH, they are not necessarily unique, and therefore
not good enough for some people.  IMHO, both types are needed.


I think that one of the benefits of globally-unique/provider-
independent addresses over site-locals is that it is possible
to tell (when one is leaked in any of the possible ways)
exactly where the address came from...  This would, of course,
work best if the addresses were actually unique, rather than
mostly-unique.


Requiring that everybody registers their GUPI addresses will
not make everyone to register them.  OTOH, you could argue that
if we mandate registration, and someone uses some prefix
without registering them, it's their problem.

In any case, a modest suggestion:  Let's separate the GUPI
prefix generation and registration processes, and make them
sequential.

The prefix generation could be a semi-automatic hashing based
process, generating  a prefix that is only statistically unique.
If real uniqueness is required, the administrator could take the
generated prefix and attempt to register it against a modest fee.
It that succeeds, good.  If that particular prefix is already
taken, the admin can generate a new prefix and try again.

Registration would require not only registering the prefix but
also showing the input.  That would discourage people from
hoarding easy prefixes or adjacent prefixes, since looking
for suitable hash input for such prefixes would not be that
easy.  Furthermore, if really needed, the fee can be gradually
raised as the registry starts to fill up, thereby discouraging
new registrations.

The basic benefit of this method is that there would be only one
way of generating GUPI addresses, and that would be an easy one.
Additionally, the method would initially keep the GUPI prefix
space sparce and evenly distributed; that might be advanteous.
For example, deferring regisration of one's prefix would not be
that risky, since the probability of succeeding later would be
still fairly high.

--Pekka Nikander


IETF IPng Working Group Mailing List
IPng Home Page:  http://playground.sun.com/ipng
FTP archive:  ftp://playground.sun.com/pub/ipng
Direct all administrative requests to [EMAIL PROTECTED]




Re: unique enough [RE: globally unique site local addresses]

2002-11-24 Thread Pekka Nikander
Margaret,


It is actually my (weak) understanding that taking more inputs
does not actually result in more uniqueness, at least for
random number generation.

Does anyone know how that works for hashing?


AFAIK, the bigest problem with random number generation is
non-random seed data.  Adding more sources of randomness
helps in that.  In this case, relying in just one MAC address
as a seed for a hash function is probably not good enough, but
e.g. taking the MAC address *and* the machine's current idea
of date  time in millisecond precision probably is.

As another issue, just picking a cryptographically strong
hash function and using it as a random number generator is
typically *not* good enough for many uses of random numbers,
but IMHO it is OK for generating these kinds of identifiers.

Thus, if we want a method for automatically generating
prefixes for globally unique enough site local addresses,
a decent method might be

  sha1( current date and time in ms | interface MAC )

where the date  time would be a 64 bit integer and the
MAC address either 48 or 64 bit MAC, the 48 bit version
enlarged to 64 bits.  Note that there is no need for time
synchronization.  If there are more implementations of MD5
than SHA-1, MD5 would be good here, too.

In the case of a collision, the algorithm can be simply
rerun.  The new result will be completely different.

--Pekka Nikander


IETF IPng Working Group Mailing List
IPng Home Page:  http://playground.sun.com/ipng
FTP archive:  ftp://playground.sun.com/pub/ipng
Direct all administrative requests to [EMAIL PROTECTED]




Reminder: Secure Neighbor Discovery (SEND) BOF tomorrow Tuesday at5pm

2002-07-15 Thread Pekka Nikander

(Apologies for the cross posting.)

Folks,

I just want to remind you that a BOF on Securing IPv6
Neighbor Discovery (SeND) is going to talk place
tomorrow (on Tuesday) at 5pm in room 303.

The mailing list archive is available at
http://standards.ericsson.net/lists/ietf-send/maillist.html
There are only about 30 messages at the archive.  Other than
the archive, there aren't any specific web pages for the BOF,
yet.

The proposed charter can be found in a recent message, at
http://standards.ericsson.net/lists/ietf-send/msg00029.html

The BOF agenda, with the required reading list, is available at
http://standards.ericsson.net/lists/ietf-send/msg00030.html

We have only one hour available for the BOF, and a largish
number of presentations.  Thus, it is highly adviced to
read the drafts beforehand.  Most of the drafts are short;
none of them are over 20 pages, and many less than 10.

--Pekka Nikander (co-chair)


IETF IPng Working Group Mailing List
IPng Home Page:  http://playground.sun.com/ipng
FTP archive:  ftp://playground.sun.com/pub/ipng
Direct all administrative requests to [EMAIL PROTECTED]




Re: Using a bit as a protection against bidding down / for something else

2002-04-04 Thread Pekka Nikander

Keith,

 if yahoo.com thinks there's any value at all in the client's IP address,
 they're deluded.  
 
 the only way to reliably know a client is if the client presents you with 
 cryptographic proof that they sent that message, and you trust the keying 
 material on which that proof is based.

I completely agree with you if the goal is to know *who* the
client is, for any reasonable meaning of *who*.  But that is
*NOT* the goal.  For MIPv6, the *final* goal is to learn if
the client is *authorized* to create bindings, i.e. source
routes, for the _home address_ that it is using.  The process
to learn whether it is authorized or not is basically a two
step process:

   Step 1.  Detect if the client wants to use the default
authorization mechanism, i.e. RR, or something
stronger.

   Step 2.  Use the authorization mechanism to detect if
the client is really authorized.

It was an _explicit_ IESG requirement that the authorization
mechanism MUST NOT rely on trusted third parties, i.e. on
a security infrastructure.  Hence the infrastructureless
methods.

If we want to take the security-infrastructureless route,
we have little to build up but the routing infrastructure
and the addresses.

(The secure ND case does not apply for an arbitrary client
  for contacting yahoo.com.  I'm too tired to try to think
  generally right now, and to work out more generic examples.)

--Pekka Nikander


IETF IPng Working Group Mailing List
IPng Home Page:  http://playground.sun.com/ipng
FTP archive:  ftp://playground.sun.com/pub/ipng
Direct all administrative requests to [EMAIL PROTECTED]




Re: Using a bit as a protection against bidding down / for somethingelse

2002-04-04 Thread Pekka Nikander

Keith Moore wrote:
 so rather than trying to squeeze a protocol negotiation bit into 
 the address, maybe folks should be trying to add the necessary
 information to DNS so that it can be verified by DNSSEC.

That can be done.  For MIPv6 it just requires that we have
fully deployed secure reverse DNS.

 I realize it's ugly to add more frobs to DNS, but IMHO trying to
 further constrain the use of the IPv6 address space is far uglier.

The bit method is also a performance issue.  Do we want a
server to do a DNS lookup each and every time someone
talking with it wants to do MIPv6 RO?  Do we want to include
DNS lookups in Secure ND?

--Pekka Nikander



IETF IPng Working Group Mailing List
IPng Home Page:  http://playground.sun.com/ipng
FTP archive:  ftp://playground.sun.com/pub/ipng
Direct all administrative requests to [EMAIL PROTECTED]




CGA vs. Zero-conf security (was Re: Using a bit as a ....)

2002-04-04 Thread Pekka Nikander

[I changed the subject since the topic was changed.]

James,

You are reading that I were saying more than I am,
probably since the word security is so ill defined.
I even catch myself using it in different meanings,
and it is sometimes very hard to unambiguosly understand
the exact meaning.

 Thus, this all is really about zero-configuration security.  Such
 security, by nature, is never strong by the strict definition of
 strong, but it can be *much* stronger than the current no-security
 situation.  Basically, such security can provide quite a lot of
 defence against various DoS attacks.
 
  I think you are making too strong a claim here.

It looks like you are reading my statement somehow
differently than I am.

  All that CGA does is allow a node to know that
  a packet came from a node claiming to possess
  a certain public key. The packet could have been
  rewritten in transit, or the public key may not
  come from a reliable source, etc.

Right, in a way.  But maybe wrong, in another way.

To be more precise, CGA + self signed certificate
that contains the CGA address  shows that somebody
has, once but maybe 10 years ago, taken the effort
to create a public key pair, an CGA address based
on the public key, and signed a statement containing
the CGA address using the private key corresponding
to the public key.   The security of this statement
relies on cryptographic primitives, i.e. public key
crypto and the hardness of reversing even around
60 bit one-way-function.  Thus, the security here is
an *economic* function, a function of the fact that
creating such a stament for any *given* address would
be prohibitively costly for most if not all organizations.

To say anything more than that, you have to

a) define exact semantics for the self-signed cert, and

b) run a cryptographic challenge-response protocol
   that provides a timeliness proof about the
   availability of the private key.

That allows you to do more, but it certainly does not allow
you to do end-to-end security for many meanings of that
phrase.

  Real end to end security requires being able to authenticate that the packet
  contents were not modified in transit, i.e. a digital signature, and
  that the public key can be trusted. If a signature is used, then
  Diffie-Hellman or another protocol is required, and both sides must
  agree on the protocol and the parameters, e.g. p and g if Diffie-Hellman
  is used, and that the public key came from a trusted source.

I am not quite sure what you are exactly saying, but to
the extend I understand I think that we agree.  That is,
I think that  you are basically saying that CGA as such
is not enough,  but we need a cryptographic protocol on
the top of that.  That I agree with.  What comes to
trusted source, I am not sure.  Trust and trusted are
also terms that are a lot misused in security literature.

Indeed, the crusial issue here is trust.  However, trust
is *not* a binary, non-qualified thing.  It is a quite
complex phenomenon both in technical and psyco/sociological
sense, but let's not go there.  For now it is sufficient
to understand that Alice trusts Bob for some things but
not for others.

The issue here is that you can *choose* to trust public keys
for *certain* purposes, just based on the belief that it would
be sufficiently hard for an attacker to break the assumed
cryptographic scenario, e.g. CGA.

  I think CGA is a good solution to the MIPv6 BU security problem, and
  maybe for ND security as well, but I think it is prudent to not
  overstate the case.

I did not mean to overstate.  I am sorry that my original
sayings about zero-conf security could be read so.

Generic zero-conf end-to-end confidentiality and integrity
does not exist, since the *application* that requires
confidentiality and integrity has application level
access control and authorization requirements.

On the other hand, it seems to be possible to create
zero-conf security for certain signalling tasks, such
as mobility and maybe ND.  BTW, MIPv6 CGA is not the
best example of zero-conf mobility security, HIP is
a much better one.

--Pekka


IETF IPng Working Group Mailing List
IPng Home Page:  http://playground.sun.com/ipng
FTP archive:  ftp://playground.sun.com/pub/ipng
Direct all administrative requests to [EMAIL PROTECTED]




Re: Using a bit as a protection against bidding down / for something else

2002-04-04 Thread Pekka Nikander

Steve,

 I think that making such a reservation is not *quite* as harmless as
 you imply.  If I understand correctly, if we were to agree today to
 reserve a bit in the IPv6 IID (or a subrange of the IID space), the
 Mobile IP folks would then immediately proceed to put some language
 in the Mobile IPv6 spec requiring (or forbidding) certain behavior
 for packets carrying (or not carrying) IIDs from that reserved space.
...

You are right, of course.  It is good that you say that
so clearly.  To me this has been too implicit, and I couldn't
have expressed it.

Just two observations:

  1. Having a switch that suddenly *allows* RR to be
 used for the reserved space is much easier than
 vise versa.  Such a switch can be a MUST in MIPv6.

  2. RO (and hence RR) is an optimization.  An optimization
 that people want, but an optimization anyway.  If
 two hosts don't do RO, they can still communicate.

--Pekka Nikander


IETF IPng Working Group Mailing List
IPng Home Page:  http://playground.sun.com/ipng
FTP archive:  ftp://playground.sun.com/pub/ipng
Direct all administrative requests to [EMAIL PROTECTED]




Re: Using a bit as a protection against bidding down / for something else

2002-04-04 Thread Pekka Nikander

Folks,

I am getting tired in trying to argue for splitting
the IPv6 address space into two subsets, and for
perhaps reserving a bit in the IID, for the purpose
of providing footing for work on security MIPv6
and ND, and perhaps also securing other signalling
functions.

To me, the problems with end-host mobility and end-host
multihoming are just two faces of a more generic problem,
the end-point naming problem.  In that arena I am very
much in favour of Noel Chiappa's thinking.  I think
that we need a new end-point name space, and we even
have a decent candidate for that: HIP.

 From that point of view, Mobile IPv6 and CGA are
just stepping stones towards the direction that
I personally believe that we will head sooner or
later anyway.  I think that CGA and ABK are great
ideas that could make the current architecture
quite a bit more secure before doing the big transition
into separate end-point name space.

What comes to ND, securing ND is a hard matter
as long as the hosts do not have cryptographic
end-point identities.  Once they do, the problem
is *much* simpler to solve.  CGA and ABK seem to
help in this area quite much by providing a means
to still use addresses as primary end-point identifiers,
and to convert the addresses into public keys.
If we take the other approach of using public keys
as primary end-point identifiers, we do not any
more have that problem.  Or at least the problem
is different.

Thus, with these observations and expressions of
my personal beliefs, I hereby withdraw back to
my humble researcher chamber, and don't bother
your standardization work with too radical issues.

Yours sincerely,

--Pekka Nikander
   A poor researcher exhausted in the mill


IETF IPng Working Group Mailing List
IPng Home Page:  http://playground.sun.com/ipng
FTP archive:  ftp://playground.sun.com/pub/ipng
Direct all administrative requests to [EMAIL PROTECTED]




Re: Using a bit as a protection against bidding down / for something else

2002-04-03 Thread Pekka Nikander

Brian,

 Hesham Soliman (ERA) wrote:
The scenario Brian mentioned
will not be an issue for bidding down attacks
related to mobility. 

Brian E Carpenter wrote:
 Can you explain? I don't see why you can't have an evil MitM 
 intercepting binding updates and bidding them down.

This is really a question of perception and threat model.

Technically you are right.  An evil MitM can intercept
binding updates and bid them down.  However, the evil
MitM can do worse things, like prevent communication
altogether.  It can also perform a classic MitM attack,
changing message contents on the fly.

The goal of MIPv6 security is not to protect against
classic MitM attacks.  It is designed to secure
mobility signalling, i.e. messages that change a node's
(CNs) internal routing information.  That is, the goal
is to prevent false bindings from being created at a CN,
and thereby prevent traffic diversion and DoS, among other
things.

Now, the design goal for the MIPv6 security design was
do no harm, meaning that MIPv6 must not make Internet
any less secure than it is already now.  From that point
of view, the selected MIPv6 security mechanism, Return
Routability (RR), is approaching the goal from below.
That is, it still allows time shifting attacks where
an attacker is able to create a binding when a Mobile Node
is not active, and thereby prevent the legitimite MN from
communicating with the CN once it becomes active.  (There
are also other DoS concerns involved where other hosts or
parts of the network become victims of DDoS attacks.)
Now, RR reaches the goal by reducing the time window
for the time shifting attacks to a few minutes.

Thus, RR as such, is insecure.  A MitM can break it easily.
Now, one goal of the bit method was to reserve some footing
for the more secure protocols.  That is, if we assume that
there are two types of mobile nodes, weak ones and strong
ones, but only one type of corresponding nodes, ones that
are able to act either as weak or strong, the bit method
does indeed seem to create some footing.

When a strong MN talks to the CN, a MitM can still prevent
all communications between the MN and the CN and it can change
MN's address into a weak one on packets flowing MN-CN
and back to the strong one on packets flowing on CN-MN.

However, if we consider our security goal, that doesn't matter.
Our goal was prevent the creation of false bindings.  The
MitM cannot create a false binding for the MN at the CN, and
it cannot fool the MN to believe that it has succesfully
created a binding at the CN.

The crusial assumptions here are the following:

  1.  We want to prevent the MitM from creating bindings
  for some addresses even if it is able to break
  the weak method.  This creates some footage for
  the strong methods.

  2.  The MNs make an a priori decision whether they want
  to use a strong or the weak method.

  3.  Our goal is to allow the MN to securely indicate
  the CN whether it wants to use the weak or strong
  method.

Now, under these specific conditions the bit method seems
to work.  Not perfectly, but well enough.   On the other hand,
the bit method *cannot* be used as a generic bidding down
protection, as I mistakenly thought for a couple of weeks.
And of course it is possible that there is still some flaw
in my thinking and/or in the explanation above.  If that is
the case, I'd be happy if you or anyone could please point
that out.

Well, personally I consider the bit method as a gross
hack, and really wish that we can create something better.
The need is there.  We just need a method.

--Pekka Nikander


IETF IPng Working Group Mailing List
IPng Home Page:  http://playground.sun.com/ipng
FTP archive:  ftp://playground.sun.com/pub/ipng
Direct all administrative requests to [EMAIL PROTECTED]




Re: Using a bit as a protection against bidding down / for something else

2002-04-03 Thread Pekka Nikander

Tony,

I agree with you that the bit method is not a good method.
On the effective value of the method I have to *disagree*, though.
There is, however, a need to divide the IP addresses into two
sets:

   1. Addresses for which CGA (or something similar) is *required*.

   2. Addresses for which CGA (or somethign similar) is not used
  or is optional.

The reason for this is the bidding down attack.

 The fundemental decision comes down to; does the MN generate a CGA, and
 send a PK to the CN, or not. If it does the CN has what it needs to
 verify the IID, and if it doesn't then the receiver might waste a few
 cycles deciding that the IID is not based on a PK. The action the
 receiver takes at that point will be exactly the same as if it had seen
 the proposed bit cleared. THE BIT PROVIDES NO VALUE TO THIS PROCESS.

Here I have to *strongly* disagree.

The bit is one method for providing protection against the
bidding down attack.  It effectively creates two IP address spaces,
those for which the receiver *requires* CGA, and those for which it
does not.

If we do *not* do this distinction, a Man-in-the-Middle can claim,
for *any* IP address, that CGA (or something similar) is not used.
That reduces the security of all addresses to the same base line,
effectively creating a situation where CGA (or similar) does not
provide any additional value at all.  Ergo, *something* that divides
the IP address set into two distinct sets *is* needed, or otherwise
CGA and related methods bring no additional value.

If everybody agrees that CGA (and any security that is *not* based
on an external infrastructure but on intrinsic cryptography)
is a bad idea, then fine with me.  Let's forget this discussion.
But then we are effectively saying that zero-configuration security
is a bad idea and we don't want it.

Thus, this all is really about zero-configuration security.  Such
security, by nature, is never strong by the strict definition of
strong, but it can be *much* stronger than the current no-security
situation.  Basically, such security can provide quite a lot of
defence against various DoS attacks.

This two-address-space thing is only required for those recipients
that support both the current nodes with no understanding about
zero-conf security and the future nodes that do care about zero-conf
security.   As I noted before, it requires that the initiator commits
a priori either to the weak method or the strong method.

The details differ, quite a lot in fact, depending on whether
we speak about MIPv6 or something else, e.g. secure Neighbor Discovery.
But the same need: dividing the address space into two distinct sets,
is there.  Or at least that is my current understanding.  Maybe I am
wrong.

Personally, I do not believe that any bold statements help here.
At least to me, this whole zero-conf security business is so new
that at least I need to have very humble attitude here.  I learn
new issues all the time.   On the other hand, IMHO we really want
to go towards zero-conf security.  And if we do, we need some kind
of transition mechanism.  Dividing the IPv6 address space seems to
serve as an important piece of such a transition mechanisms.

Of course, there are different ways of dividing the IPv6 address
space.  If everybody thinks that using a bit in the IID is a bad
idea, then maybe we should consider distinct routing prefixes for
mobile hosts, and distinct link local addresses for secure ND.

--Pekka


IETF IPng Working Group Mailing List
IPng Home Page:  http://playground.sun.com/ipng
FTP archive:  ftp://playground.sun.com/pub/ipng
Direct all administrative requests to [EMAIL PROTECTED]




Re: Using a bit as a protection against bidding down / for somethingelse

2002-04-03 Thread Pekka Nikander

Bob,

 This is staring to sound a lot more like a research project than 
 something the IETF should be considering standardizing now.  I wonder if 
 it might be better to complete the research and then decide the best way 
 to signal it's usage (e.g., bit, control protocols, etc.).

You may be right that *how* exactly to *use* the bit is
more a research issue than a standardization issue.  At least
we should get much more peer-review from the security people
on CGA and any other such methods.

However, what Erik and the MIPv6 Design Team suggested is that
the bit is *reserved* at this time for future use.  From
the MIPv6 point of view, it *also* acts as a safeguard against
the possible future situation where RR becomes the weakest
link in IPv6 security, e.g. because ND gets secured.  It would
allow gradual shift-out from RR at that point of time.

Basically, it looks like we are not much going anywhere:

  - The currently known alternatives to RR do not seem to
get accepted at the MIPv6 WG due to IPR issues.
Personally I consider it very unlikely that new similar
methods would magically emerge without IPRs.

  - Thus, MIPv6 Route Optimization cannot move forward
unless RR can be made secure enough.

  - It looks like some people (me included) would not like
to see RR widely deployed *unless* there is a clear way
out of it.  A way that does *not* require world-wide
security infrastructure.

  - The bit method is one such a way, but nobody wants
to adopt it, at least not for MIPv6 RR.

  - Ergo, MIPv6 is stuck, again.

Actually, it *may* be possible to augment RR design so that no
such external safeguard, as the bit, is needed.  We are looking
at that, right now.  Unfortunately there are some IPR issues on
that path, too, and I don't know if they can be resolved.

However, even if we could fix RR, that does *not* remove
the need for other zero-conf security solutions (such as
Secure ND), as I explained in the other note to Tony.

Thus, I really think that we should make such a bit
*reservation* for two reasons:  Firstly, to provide
a migration path to zero-conf security, e.g. Secure ND,
and secondly, to provide a controlled way of disabling
RR for certain *addresses*.  (Note that it must be
disabled for *addresses*, not nodes, due to MitM and
impersonation attacks.)  If it later turns out that
the reservation does not need to be used, after all,
the better.  Then release it or use it for something even
more productive.

--Pekka Nikander


IETF IPng Working Group Mailing List
IPng Home Page:  http://playground.sun.com/ipng
FTP archive:  ftp://playground.sun.com/pub/ipng
Direct all administrative requests to [EMAIL PROTECTED]




Re: Using a bit as a protection against bidding down / for something else

2002-04-03 Thread Pekka Nikander

Tony, Brian, and others,

Sorry about this volume, but let me try to simplify once more.
I am now shifting quite far away from the immediate need, MIPv6,
whose issues *may*, perhaps, be solved otherwise, and argue more for
the other thing, Secure ND, and other related zero-conf security
protocols.



Firstly, assume that there is no external infrastructure that we
may rely on.  That is, we are playing zero-conf game.

Now, what we want to do is to create two playgrounds:

   1. The current non-secure playground
   2. A new zero-conf-secure playground

We can make these completely distinct.  The nodes (childs?)
in the new playground only communicate there, and the nodes
in the current one only here.  In this case there is no problem
the zero-conf nodes refuse to talk to the non-secure nodes,
and that's it.

What we want to achieve, though, is a situation where the
zero-conf nodes can also talk to the non-secure nodes.
If a zero-conf node initiates the communication, this is
probably not a problem, since it needs to look up some
properties of the recipient anyway, and these properties
can include credentials that identify the recipient as a
zero-conf node.  (Maybe these credentials can also be
secured with a zero-conf method, and if so, naming seems
to *help* there, too.  But it certainly does not solve all
problems.)

The problematic case is when some stranger contacts a zero-conf
node.  It must be able to tell if that new node is a zero-conf
node or a non-secure node.  And this becomes tricky due to
the possibility of man-in-the-middle and masquerade attacks.

Relying on looking up credentials each and every time is one
possibility.  But that is inefficient; large servers are
unlikely to do that.

Naming the nodes in the playgrounds differently, as suggested,
seems to provide *some* help.  It is definitely not a panacea,
MitM and masquarading attacks can still play *some* nasty games.
However, the cannot steal zero-conf addresses, because
zero-conf addresses are explicitly named as zero-conf addresses
and because the attackers cannot provide the cryptographic
credentials required from zero-conf addresses.  (The latter is
an intrinsic property that defines zero-conf security addresses.)



Maybe that approaches the essense of the issue.  The issue was
initially about MIPv6 RR vs. other MIPv6 security methods.
However, the issue seems to be more and more shifting towards
this zero-conf (secure ND) vs. current situation issue.  Or so
at least in my mind, I don't know about others.

I hope that this helps, or that it at least leads us to collectively
learn something.

--Pekka Nikander


IETF IPng Working Group Mailing List
IPng Home Page:  http://playground.sun.com/ipng
FTP archive:  ftp://playground.sun.com/pub/ipng
Direct all administrative requests to [EMAIL PROTECTED]




Re: Using a bit as a protection against bidding down / for somethingelse

2002-04-03 Thread Pekka Nikander

John,

 My understanding of this entire discussion was that the bit method
 was more along these lines:
 
   1. Addresses for which something stronger than Return Routability
  is needed.
 
   2. Addresses for which Return Routability is sufficient.

It originally certainly was.  However, at least my thinking has
evolved since then.  That is, it *may* be possible, perhaps, to
solve the RR bidding down issue separately.  We still don't know.

I'll let Jari's reply to stand for the rest.

--Pekka Nikander



IETF IPng Working Group Mailing List
IPng Home Page:  http://playground.sun.com/ipng
FTP archive:  ftp://playground.sun.com/pub/ipng
Direct all administrative requests to [EMAIL PROTECTED]




Re: Allocating a bit in the RFC2374 Interface Identifier

2002-03-25 Thread Pekka Nikander

Brian,

 No. Quoting Pekka Nikander's original description of the bidding-down attack:
 
  Note that an active attacker at the path between Alice and Bob is able
  o clear a set bit.  However, that changes the address, and Alice is
  not going to answer to any possible replies sent by Bob.  Thus, the
  bit prevents the attacker from impersonating as Alice and fooling Bob
  to use the less secure protocol.
 
 This doesn't satisfy me. If the attacker is capable of clearing the bit
 in the source address of packets from Alice to Bob, it is equally capable
 of setting the bit in the destination address of packets from Bob to Alice.
 (The proof of concept here is every NAT box sold so far.)
 So I don't see why the attacker can't conduct a complete bidding-down attack
 in which Alice sees only packets with the bit set, and Bob sees only packets
 with the bit cleared. Alice will believe she has asserted strong security
 available, Bob will believe the opposite, and both will be fooled.

I am tired, and probably the situation is more complex, but this my initial
reaction.  It looks like in the scenario you describe Alice and Bob
would end up running different protocols:  Alice the strong one, which
the attacker presumedly cannot break, and Bob the not-so-strong one,
which the attacker presumedly can break.  Thus, Bob would end up running
the not-so-strong protocol with the attacker, but the address used would
not be Alice's address.

But I start to believe that I am missing here things, and that the
reality is more complex than what we thought at the MIPv6 DT.  That is,
at least we need a mechanism for Alice to securely learn about the
mechanisms Bob supports.  Maybe we could use the bit here, too, but
my brains just fail to analyze what happens to the address-spoofing
MitM in that case; maybe you could perform the attack in both directions?
But would that matter?  If there is an attacker that can spoof packets
and break the less secure protocol, it can create security associations
with the less-secure protocol anyway, be there the legitimite peer or not.

Erik, Jari, or Gab, I guess it's your turn :-)

--Pekka Nikander


IETF IPng Working Group Mailing List
IPng Home Page:  http://playground.sun.com/ipng
FTP archive:  ftp://playground.sun.com/pub/ipng
Direct all administrative requests to [EMAIL PROTECTED]




Re: Allocating a bit in the RFC2374 Interface Identifier

2002-03-24 Thread Pekka Nikander

Erik,

 Perhaps the question was about the whole address and not just the interface
 ID. You've described how the interface ID is crypgraphically tied to a 
 public key.  But this doesn't per-se prevent somebody fabricating a 
  CGA address using an arbitrary prefix.

You are right.

Michael  Tuomas suggested that stuff included also the prefix,
hence

   iid = low64(hash(PK, prefix, stuff))  mask

This makes it harder to transfer iids from one link to another,
or to create pre-computed iids.  But it doesn't prevent fabricanting
CGA addresses; they are all fabricated by the host itself, after all.
That is explained in detail in draft-roe-mobileip-updateauth-02.txt.

What CGA is all about is that it is (believed to be) hard to
create two create two PK, stuff pairs that happen to have
the same IID, or -- more importantly -- to find a PK, stuff pair
that yields a given IID.  That also set some restrictions on what
one can include in stuff.

 The way to avoid this for MIPv6 is to do a return routability test 
 when the CGA address is verified. The RR test would ensure that the 
 peer is reachable at the prefix. (And the RR test would essentially be done
 as part of the challenge to have the peer sign the nonce using the private
 key.)

That's right.  CGA alone doesn't really show that somebody owns
an address.  In the non-local case, you must always perform the
RR test also, they way you note.

--Pekka


IETF IPng Working Group Mailing List
IPng Home Page:  http://playground.sun.com/ipng
FTP archive:  ftp://playground.sun.com/pub/ipng
Direct all administrative requests to [EMAIL PROTECTED]




Re: Allocating a bit in the RFC2374 Interface Identifier

2002-03-21 Thread Pekka Nikander

Glenn Morrow wrote:
   In which case, I violently agree with Keith. We've already
   overloaded IP addresses with two functions - locator and
   identifier.
 
 I would rather see the WG focus on the value of using a bit to specify 
 whether the address is intended to be both a locator and identifier or 
 just a locator. I personally believe this would be a far better use of 
 real estate than the other proposal. I certainly wouldn't expect any 
 dicision soon on either proposed use, though.

Well, the original idea was to reserve a bit to indicate that the
address is Cryptographically Generaged Address (CGA), basically
meaning that

if the bit is set, then
   interface id = low64(hash(PK, stuff))  mask

where
   PK  is a public key to be used as an identifier for the host
   stuff   is contains other parameters (see the earlier messages)
   hashis a cryptographic hash function, e.g. SHA1
   low64   is a function that takes lowest 64 bits
   maskindicates that we have to clear/set some bits of the iid

In essense, that would allow anyone to determine if a given public
key belongs to a host, just inspecting the public key, the address,
and the stuff above.  See e.g.

   Michale Roe and Greg O'Shea, Childproof authentication for MIPv6,
   Computer Communications Review, April 2001,
   http://www.research.microsoft.com/users/gregos/CAM-v9.pdf

or

   Pekka Nikander, Denial-of-Service, Address Ownership, and Early
   Authentication in  the IPv6 World, Cambridge Protocols Workshop,
   April 2001, http://www.tml.hut.fi/~pnr/publications/cam2001.pdf

for research papers touching the idea.  There is also a number of
internet drafts that describe in more detail how CGA could be
used for a number of purposes, including but not limited to Mobile
IPv6.

Unfortunately, this method is encumbered by IPR claims from Microsoft
and Ericsson, and therefore it received violent opposition at the
mobile-ip working group.  As a result, the MIPv6 Design Team resolved
to the more modest proposal of just allocating the bits, in the
hope that the IPR issues could be dealed in a way or another.

--Pekka Nikander


IETF IPng Working Group Mailing List
IPng Home Page:  http://playground.sun.com/ipng
FTP archive:  ftp://playground.sun.com/pub/ipng
Direct all administrative requests to [EMAIL PROTECTED]




Re: Allocating a bit in the RFC2374 Interface Identifier

2002-03-21 Thread Pekka Nikander

Pekka Savola wrote:
 We MUST NOT reserve bits in the address to support IPR'd mechanisms.

Actually, the intention is just the reverse.  The intention is to
reserve a bit (or bit pattern) so that the IPR'd mechanims NEED NOT
to be used for future better security protocols.  CGA can be used
independent on whether there are any bits reserved or not.

The bit method would leave the door open to any future security mechanisms,
including those based on AAA and CGA.

But I think Erik is better in expressing the issue, he first
proposed the bit method anyway.

--Pekka Nikander


IETF IPng Working Group Mailing List
IPng Home Page:  http://playground.sun.com/ipng
FTP archive:  ftp://playground.sun.com/pub/ipng
Direct all administrative requests to [EMAIL PROTECTED]




Re: Allocating a bit in the RFC2374 Interface Identifier

2002-03-21 Thread Pekka Nikander

Mohan Parthasarathy wrote:
 Now, when bob receives the packet sent by Alice, he has no other knowledge
 about Alice except the packet itself. In particular, the only information
 he has about Alice is the source IP address in the packet.
 
 I am missing something here. Isn't the packet carrying any other
 information at all ?

An attacker can change any field in the packet.  However, if the
attacker changes the source address, the packet is not about Alice
any more.  Thus, the packet does carry information, but the only
piece of information that can be _securely_ relied on is the address.

I think others, like Dave Thaler, are saying this more clearly here,
probably due to my shortcomings in handling the English language.

--Pekka


IETF IPng Working Group Mailing List
IPng Home Page:  http://playground.sun.com/ipng
FTP archive:  ftp://playground.sun.com/pub/ipng
Direct all administrative requests to [EMAIL PROTECTED]




Allocating a bit in the RFC2437 Interface Identifier

2002-03-20 Thread Pekka Nikander
cannot ask Alice, since an attacker impersonating as Alice would lie,
and say that Alice supports only the default, less secure protocol.

In other words, there must be a method, independent on Alice's
actions, that securely gives Bob reliable information about the
protocols Alice supports.  If such a method does not exist, and there
is an attacker that can break one of the protocols, the attacker can
claim that Alice supports only the protocol that it is able to break,
thereby making it impossible for Bob to use the other more secure
protocols.

This is the essense of the bidding down attack:  an attacker that is
able to break one of a number of security protocols can impersonate
Alice to Bob unless Bob can learn, independent of Alice, what
protocols Alice supports.

See http://playground.sun.com/mobile-ip/WG-archive/frm05357.html
and http://www.piuha.net/~jarkko/publications/mipv6/Bidding_down.txt
for more details.

Note that with respect to the bidding down attack the discussing about
allowing Bob to determine, by looking at the address, whether Alice is
satisfied with the default protocol or not.  That allows Bob to
continue quickly in the default case.  What to do, in exact terms, in
the non-default case (other than not using the default protocol) is
beyond the scope of this note.  Especially, we are *not* suggesting
that there should be additional bit(s) reserved for specific needs.

Specific needs
==

Currently there seems to be only one situation where we want to
introduce a default, not-so-good-but-good-enough security protocol
that anybody can use, with the anticipation that in the future there
will be a number of better-and-more-secure variants.  This is the
Mobile IPv6 situation, where Return Routability (RR) will be the
baseline security protocol.  However, the situation is in no way
specific to Mobile IP.  There will clearly be other needs too, e.g.,
secure multicast or anycast might have the same need.

In the case of Mobile IP, we definitely want to have a method where it
is possible to tell whether a given Mobile Node wants to use RR or
not.  In this case, the most secure security protocol is to disallow
the function completely, i.e., say that Mobile IP Route Optimization
MUST NOT be used for this host.  For example, stationary hosts most
probably want to forbid Mobile IP Route Optimization.  However, if we
want universal deployment for Mobile IPv6, the default clearly cannot
be to disallow Mobile IP.  Instead, the default case clearly needs to
be the lowest common denominator, Return Routability (RR), and it is
up to each host to separately indicate when it wants to use some more
secure protocol, including the no-RO at all choice.

The suggestion
==

Now, Mobile IPv6 Security Design Team has discussed whether it would
be possible to allocate a bit (or a bit pattern) on the IPv6 64 bit
Interface Identifier field, with the intention of later defining a
method that allows peer hosts to securely find out what security
protocols, and perhaps other functional features, the host using the
address supports.  That is, if the bit is cleared, the host is happy
to rely on the default security protocols and semantics, as defined in
the base IPv6 RFCs.  Thus, its peers are allowed to use the default
semantics and protocols when dealing with this host.  If the bit is
set, on the other hand, the host instructs its peers that the host is
not happy with the default semantics and protocols, and instructs the
peers to look for more information.  The exact way of how to look for
this information is to be defined later.

Note that an active attacker at the path between Alice and Bob is able
to clear a set bit.  However, that changes the address, and Alice is
not going to answer to any possible replies sent by Bob.  Thus, the
bit prevents the attacker from impersonating as Alice and fooling Bob
to use the less secure protocol.

The immediate intention at the mobile-ip WG is to the define the
Return Routabilility (RR) security method as the default Mobile IP
Route Optimization methods, to be used by all hosts that have the said
bit cleared.  If the bit is set, the corresponding hosts must go to
find out what Mobile IP security method the mobile node supports.  If
the corresponding node cannot find out this information securely, it
MUST NOT use Return Routability.  This effectively blocks the bidding
down attack, as discussed above.

--Pekka Nikander
   on the behalf of the MIPv6 Security Design Team


IETF IPng Working Group Mailing List
IPng Home Page:  http://playground.sun.com/ipng
FTP archive:  ftp://playground.sun.com/pub/ipng
Direct all administrative requests to [EMAIL PROTECTED]




Re: Allocating a bit in the RFC2374 Interface Identifier

2002-03-20 Thread Pekka Nikander

Brian E Carpenter wrote:
 I must say I don't understand the reference to RFC2437...
 presumably you mean 2374, which will be obsoleted anyway.

2437 was a mistake, pardon my poor sleep deprived brain.
The subject line should now have the right reference.

 In which case, I violently agree with Keith. We've already
 overloaded IP addresses with two functions - locator and
 identifier. We've been rebuffing various suggestions for
 yet more overloading for years (the porno bit for example) and
 this is in the same category - not the right place to put a security
 hint. It's quite inappropriate to damage the opaqueness of a pure ID
 field in such a way. If a security hint is needed, it should be somewhere
 else.

A security hint is needed.  Please read the bidding down notes
to see why.  For reference, here are the URLs again:

http://playground.sun.com/mobile-ip/WG-archive/frm05357.html
http://www.piuha.net/~jarkko/publications/mipv6/Bidding_down.txt

If you don't agree with the argumentation, please let us know,
in detail, where you disagree.

What comes to the method of passing the hint, I (and the whole
design team) really wish the hint could be placed somewhere
else.  However, we just haven't been able to find such a way.
We would be more than happy to use some other method, but we
just haven't been able to find one, given the constraints.

 On a practical point, I don't see how this fits with the addressing
 architecture (draft-ietf-ipngwg-addr-arch-v3-07.txt) which requires
 that For all unicast addresses, except those that start with binary 
 value 000, Interface IDs are required to be 64 bits long and to be
 constructed in Modified EUI-64 format. It also doesn't fit with
 the RFC 3041 privacy extensions.

I'll let Erik to address this one, my knowledge fails here.

--Pekka


IETF IPng Working Group Mailing List
IPng Home Page:  http://playground.sun.com/ipng
FTP archive:  ftp://playground.sun.com/pub/ipng
Direct all administrative requests to [EMAIL PROTECTED]




Re: Securing Neighbor Discovery

2002-03-13 Thread Pekka Nikander

Dan McDonald wrote:
  Your attacker is often a legitimate user of the link.

James Kempf wrote:
  Right, that's the point I was trying to bring up in my response to Alex.
  Just because someone has undergone AAA successfully doesn't mean that
  they won't disrupt the link.

I completely agree.  Additionally, I'd like to see an
infrastructureless solution to be used anywhere possible.
Why?  Basically because an infrastructureless solution means
that we can make it to work with zero configuration, while
any infrastructure necessarily needs that either the initial
credentials must be configured or that new nodes must learn
the credentials of the infrastructure through leap of faith.

Dan McDonald wrote:
  In a perfect world, ND would allow a host to only do host-type things,
  and then only on behalf of the host itself.
 
...
  Solve the aforementioned Jeff Schiller problem, and you probably can
  secure ND.  If you can't, all such solutions will just limit your
  troublemakers to who is allowed on the LAN.
...

James Kempf wrote:
  What we were trying to do in the ABK draft was provide a way that a node
  on the link could determine definitively that a particular ND/RA message
  came from the node/router possessing that identity. There main issue is
  some way to establish the right of the node to possess that identity
  beforehand, and we included sketches of a couple ways that seem
  consistent with current practice. We probably need to flesh these out
  some.
 
  That said, ABK is a new an largely unknown technology. In the security
  area, old and well trusted technologies are often easier to make work,
  because the holes are well known and can be patched around. So a
  solution based on IPsec, should it be possible to make it work and prove
  secure, would certainly be of interest.

Already a year ago I tried to point out that CGA can be used
to solve the ND security problem.  Since CGA is able to securely
bind a public key to a interface ID, you can use CGA to verify
that the right party speaks for the interface ID.  That seems
to be sufficient to solve ND.  However, it doesn't help much
with router discovery.  Personally, I think that ABK might have
great potential for router discovery, since ABK can to convert
even network prefixes into public keys.  Now, if we just could
figure out how we could use ABK to somehow express trust relationships
between more covering prefixes (e.g. 3ff0::/16) and subprefixes
(e.g. 3ff0:1::/20), then we would have something...

Back then I also wrote an I-D, which describes one method how
CGA can be used for ND.  For various reasons that I-D never
got published, but it has been available and is still available at
http://www.tml.hut.fi/~pnr/publications/draft-nikander-ipng-pbk-addresses-00.txt

The basic ideas are also described in

Pekka Nikander, Denial-of-Service, Address Ownership,
and Early Authentication in the IPv6 World, presented
at Cambridge Security Protocols Workshop 2001,
April 25-27, 2001, Cambridge University. To be published
in the workshop proceedings at the LNCS series.

A pre-publication version of the paper is available at
http://www.tml.hut.fi/~pnr/publications/cam2001.pdf

--Pekka Nikander


IETF IPng Working Group Mailing List
IPng Home Page:  http://playground.sun.com/ipng
FTP archive:  ftp://playground.sun.com/pub/ipng
Direct all administrative requests to [EMAIL PROTECTED]




Re: [mobile-ip] Re: IPv6 ingress filtering early access

2002-01-07 Thread Pekka Nikander

Michael Thomas wrote:

 So here's a most-likely crazy idea: why can't we
 treat the ingress filtering router like a CN which
 must first be sent a BU which it verifies in
 whatever manner the CN would? This already has a
 requirement to not be bound to mythical PKI's,
 etc. Given FMIP, the access routers are probably
 going to end up having to process things like BU's
 anyway.


I was drifting into this direction myself.  But how?
Introduce a new ICMP message saying: send me a BU
if you want to use HAO?

 Also: if we have ingress filtering taken care of
 directly, is there any reason to preserve the HAO
 at all? I thought its entire raison d'etre was to
 provide a means of coexisting with ingress
 filtering -- which we've already proven is just
 shifting the problem around instead of providing
 something useful.

Now THAT sounds like the most reasonable thing that
I have heard about ingress filtering for a long time!

To me, it seems like combinding RR and CGA, the
ingress filtering router can fairly easily determine
that the MN really owns the home address, and
thereafter pass it.  As an immediate reaction, the
only problem seems to be that CGA requires fairly
heavy CPU load.  Could RR be enough in this case,
since the CoA and HoA are on the different sides
of the router?

--Pekka Nikander


IETF IPng Working Group Mailing List
IPng Home Page:  http://playground.sun.com/ipng
FTP archive:  ftp://playground.sun.com/pub/ipng
Direct all administrative requests to [EMAIL PROTECTED]




Re: IPv6 ingress filtering early access

2002-01-06 Thread Pekka Nikander

Francis,

I wrote:
Thus, making your system to help at all, it would require that
EVERYBODY ELSE FORBIDS Home Address Option altogether.


Francis Dupont wrote:
 = everybody else is better than everybody (:-).


I think the main reason for our disagreement is that you mostly seem to
think that MIPv6 will be employed by operators.  I don't.  If MIPv6
will ever become common, I certainly want to run my own MIPv6 Home
Agent, in the same way I am running my own DNS server, my own SMTP
server, etc.  That is, the only service that I buy is IP connectivity,
and I really really really want to have an Internet that allows you
to buy IP connectivity, and provide all of the rest of the
infrastructure yourself.  I don't want to be part of a global AAA.
[Personally, I would consider such a requirement fascist.]

Now, returning to the real issue.  I just want to second Jari Arkko's
statement:

   A.  We seem to agree that HAO may be dangerous since it potentially
   makes IP traceback more difficult.

   B.  There seems to be two possible solutions:

  B.1 Make the Binding Cache hard state instead of a cache.
  That is, mandate that CN accepts HAO if and only if there
  is a corresponding binding in the binding cache.  (Or,
  at minimum, that it keeps trace of received HAOs for
  traceback purposes.)

  B.2 Mandate that every ingress router everywhere in the Internet
  either checks that the HAO is legitimate, or drops it.

That is, my (possibly flawed) understanding of your ingress filtering
draft requires B.2.  If B.2 was mandated, the CN could accept HAO
and rely that it is authentic.  On the B.1 case, on the other hand,
it is the CN's responsibility to decide whether to rely on HAO or not.

As far as I can see, that is the difference.  As a practical result,
B.1 allows anybody to use MIPv6 security protocols (whatever it will be),
establish bindings, and use HAOs.  B.2, on the other hand, would restrict
where you can use BUs, and that your home agent must be part of the
still-not-existing global AAA infrastructure so that you could use HAO.
As a result, all the work that we have done with RR and CGA would be
unnecessary, since you would mandate AAA, and while you are mandating
it, you just could use it for basic MIPv6 security as well.

Francis, if you insist to keep your opinion that B.2 with all its
consequences is better, there is nothing I can do.  On the other hand,
if I have really misunderstood the practical consequences of your draft,
please enlighten me, and explain in detail how you expect it to work
so that MIPv6 route optimization could still be used by private persons
and small organizations that are not part of the alledged global AAA
infrastructure.

--Pekka Nikander


IETF IPng Working Group Mailing List
IPng Home Page:  http://playground.sun.com/ipng
FTP archive:  ftp://playground.sun.com/pub/ipng
Direct all administrative requests to [EMAIL PROTECTED]




Re: IPv6 ingress filtering early access

2002-01-04 Thread Pekka Nikander

I wrote:

 The draft is quite nice, thanks for writing it.  There are a few problems,

though, that I see.  Firstly, I really do find it unrealistic to assume
that each and every site in the world would understand AAA, and change their
ingress filtering rules based on AAA information.


Francis Dupont wrote:

  = this is not exactly I propose, my idea is:

  - to do better ingress filtering based on AAA for sites where there are
some mobile nodes (aka visited sites).


Why do you assume that AAA would be used everywhere where there are
mobile nodes?  For example, if I am visiting with my friends at their
place, why couldn't I just use their private WLAN to connect my wireless
PDA to the Internet?  If I could not use their private WLAN, I would
consider that as a flaw in the design if the Internet.  Similarily, our
local university campus provides open WLAN for anyone, for anyone to
connect to the Internet.

It is so much simpler to run these kinds of networks without any kinds
of authentication that they will continue to exist, even though many
current open WLAN networks may turn into requiring some kind of
authentication.  But even when they start to require authentication and/or
authorization, that authentication or authorization is more likely to be
based on 802.1x or PANA than AAA, and even if RADIUS/DIAMETER is used,
the non-ISP connectivity providers are unlikely to be part of the AAA
infrastruture.  For example, I run an open WLAN at my home, and even
though I may require some kind of authentication in the future, it is
very unlikely that I would run RADIUS or DIAMETER.

Thus, making your system to help at all, it would require that
EVERYBODY ELSE FORBIDS Home Address Option altogether.  It is not only
a mobile host that can send HAO, any host can send it.  If an intruder
can break into 10 million poorly protected home PCs, they can be converted
into MN looking devices that send fake HAOs.  Sure the ISP can drop all
packets containing HAO sent from their home customer sites, but that
would break the ability to use your PDA/other device through your
friend's WLAN while visiting at their place.

Do you see my point now?

  - to do better anti-spoofing filtering for sites from where some mobile
nodes are (aka home sites).


I do not argue with that part.  You draft may well have some value
protecting the home sites of MNs.

 There is no constraint on sites where are the regular correspondent nodes
 (aka correspondent domains) which should be the vast majority of sites.


As I said above, either you must assume that any site can host MNs
(in addition to CNs), ---or--- you must forbid sending HAO containing
packets from those sites that are assumed not tho host MNs.  My main
point is that forbidding HAOs to be sent from the majority of the
Internet would largely foil the purpose of Mobile IPv6.

 I don't know how this is done everywhere but in many sites I can see
 a special network for nomadic nodes with special network access control
 and small priviledges just because by definition local network managers
 have not the control of them, so IMHO this is not unrealistic to ask
 to sites which welcome mobile nodes to have a responsible attitude towards
 security.


My point is that almost every home will, in the future, be a potential
site hosting MNs.



Secondly, such a the proposed practice would basically foil all of the
designed zero-configuration nature of IPv6.  That is, the reason for IPv6
stateless autoconfiguration is to allow hosts to be plugged in to a IPv6
network without any prior configuration.  IMHO, such a practice would be
very good in many environments, even in public access WLANs.  (I know that
some people disagree with me.)

 = this is very unrealistic because this forgets the third letter of AAA.
 And of course this doesn't go well with the responsible use of the network
 principle.


Most homes do not even know about responsible use of network principle.
It is just that since you can buy an Apple Airport (or whatever) from
your local shop, and set it up within minutes, that will happen.  Actually,
it is already happening in many places in the US and scandinavia.

Remember me setting up an WLAN access point at IPCN'2001 in Paris?


-

Now, the point is that those are also exactly the organizations
that are most _unlikely_ to use advanced ingress filtering methods,
 
 = the solution in this case is just to filter out HAO, i.e. to refuse
 mobile nodes.


... and what I am saying, such a practise is unreasonable and would severly
restrict our possibility to use the future Internet.  In other words,
madating that ingress filtering MUST refuse HAO (unless special means is
used to ensure that the Home Address is valid), besides being expensive
and unrealistic, would result in MIPv6 being used only be the telecom
vendors, not by the rest of us.

--Pekka Nikander

IPv6 address ownership and autoconfig problems (was Re: [mobile-ip] Routing header Vs tunneling

2001-12-12 Thread Pekka Nikander

Glenn,

[I am redirecting this to ipng, in addition to mobile-ip,
 since the address ownership problems are a larger issue
 than just a Mobile IPv6 security thing.]

Glenn Morrow writes:
 What prevents a node from obtaining and using any number of free or 
 not free (i.e. in use by another legitimate node) IP addresses such
 that they can spoof addresses albeit only on the same subnet IF INGRESS 

 FILTERING is used on the first hop. Use of IPSEC is not mandated. Use of 
 INGRESS FILTERING is not mandated, either. What is the interaction with 
 control lists, etc.. etc.. etc.. Are there any provisions for 
 anti-mac-spoofing, etc.. etc.. etc.. Pekka's draft which detailed most 
 of the holes has expired, perhaps he is listening and will republish it.


The old address-ownership draft is available at
http://www.tml.hut.fi/~pnr/publications/draft-nikander-ipng-address-ownership-00.txt

If there is demand I'd be happy to revise it.  Would it
be useful to revise it and publish it as an informational RFC?
Please note that many of the issues discussed in that draft
are also discussed in my Cambridge Security Protocols Workshop
paper, which will eventually be published in the LNCS series.
A pre-publication version of that is available at
http://www.tml.hut.fi/~pnr/publications/cam2001.pdf

BTW, while you consider ingress filtering etc, you may find
it entertaining to read our recent half-serious half-joking
paper titled IPv6 Source Addresses Considered Harmful,
available at http://www.tml.hut.fi/~pnr/publications/nordsec2001.pdf

--Pekka Nikander


IETF IPng Working Group Mailing List
IPng Home Page:  http://playground.sun.com/ipng
FTP archive:  ftp://playground.sun.com/pub/ipng
Direct all administrative requests to [EMAIL PROTECTED]




Comments to draft-castelluccia-sgmv6-00.txt

2001-12-04 Thread Pekka Nikander

Claude,

[I am not a member in msec or smug, and therefore I don't
know if this point has been taken up there already.  It may
even be that my message is rejected from those list due to
my non-membership status.]

I find the idea presented in the draft very refreshing and
beautiful.  The fact that multicast group IDs are 112 bits
(instead of 64 bits) makes it work even better than for
basic SUCV/CAM.  On the other hand, since I am no expert
in multicast and have only a very bad understanding on how
you create new multicast groups in the first place, I cannot
comment that side.

Anyway, in Section 5.3 you write:

  2. The private key, the public key, the counter and the GroupID
   are distributed to the (authorized) group members. Note that
   private key requires confidentiality because it only has to
   be known to the authorized group members.  The public key,
   the counter and the GroupID can be sent in clear but require
   integrity.


Now, I was left wondering why to send the private key itself?
If we assume that all the hosts in the multicast group have
their own public/private key pair (e.g. for basic SUCV or
in order to authenticate them for some other reason),
wouldn't it be easier just to delegate the right to join
the multicast group?  That is, instead of sending the private
key, you would send an SPKI or KeyNote2 certificate stating
that the public key of the host is authorized to join the
multicast group represented by the group key?

Delegation would make key distribution easier.  Instead
of sending the private key in a secure channel you just
distribute the certificate.  You don't even need to authenticate
the member host if you know its public key beforehand.
The certificate could take care of the integrity of the
group public key, the counter and the GroupID, i.e. it
would basically be a self-signed certificate.

Furthermore, the delegation model would have additional
benefits, i.e. it would allow better control of membership.
If you add validity time to the certificate, you could control
how long the hosts are members of the group.  Secondly, if
you distribute the private key, any host in the group can
leak the private key, and you don't know who it was.  In
the delegation model, if a host leaks its own private key,
you definitely know who it was, and you don't renew that
host's certificate when it expires.  (I assume, here,
of course that the certificates would have relatively
short lifetime, e.g. in the order of minutes or hours.)

The delegation approach would also help with the replay
attack problem (Section 6.3), since it would effectively
limit the validity of the reports with the validity of
the certificate.

I am not so sure about the anycast case, though.  My
understanding about anycast is that in anycast you want
all anycast hosts to behave equally.  Therefore they
should look the same, and distributing the private key
might actually be a good idea.

--Pekka Nikander


IETF IPng Working Group Mailing List
IPng Home Page:  http://playground.sun.com/ipng
FTP archive:  ftp://playground.sun.com/pub/ipng
Direct all administrative requests to [EMAIL PROTECTED]




Re: draft-kempf-ipng-netaccess-threats-00.txt

2001-11-26 Thread Pekka Nikander

If somebody wants to build a network where anybody can walk up and connect
yet want to limit the damage one visitor can do to another, it seems
like assuming pre-configured IPsec SAs for the multicast addresses used
by Neighbor Discovery is a non-starter.


I completely argree.

You may also want to have a look at my Cambridge
Security Protocols Workshop 2001 paper.

Pekka Nikander, Denial-of-Service, Address Ownership,
and Early Authentication in the IPv6 World,, presented
at Cambridge Security Protocols Workshop 2001,
April 25-27, 2001, Cambridge University. To be published
in the workshop proceedings at the LNCS series.

http://www.tml.hut.fi/~pnr/publications/cam2001.pdf

--Pekka


IETF IPng Working Group Mailing List
IPng Home Page:  http://playground.sun.com/ipng
FTP archive:  ftp://playground.sun.com/pub/ipng
Direct all administrative requests to [EMAIL PROTECTED]




A method to prevent DoS in IPv6 DAD and Mobile IPv6

2001-03-18 Thread Pekka Nikander


A number of recent ID:s have shown a number of potential 
security deficiencies in the way IPsec is used in a number
of IPv6 signalling functions, including Duplicate Address
Detection (DAD) and Mobile IPv6 Binding Updates (BUs).  The
relevant drafts include the following.

   draft-arkko-icmpv6-ike-effects-00.txt
   draft-nikander-ipng-address-ownership-00.txt

The so called PBK-keys (draft-bradner-pbk-frame-00.txt)
attemts to solve the Mobile IPv6 related problem by
proposing a new class of identifiers, EIDs.  In some respects
that approach is similar to the HIP approach.

While thinking about the problem, an idea of using the IPv6
interface identifier as a cryptographic token appeared to me.
That is, by generating the interface identifier from components
using a cryptographic one-way function, one can "bind" the
interface identifier to the components, and the base security
on the components. 

The idea is very new, and comments are solicited.  Currently a
working copy of the forthcoming -00 drafts is available at

http://www.tml.hut.fi/~pnr/publications/draft-nikander-ipng-pbk-addresses-00.txt

I'll be working with the draft during my flights to Minneapolis,
posting is as soon as drafts are accepted again.  

There is currently a plan to discuss related issues at the Mobile IP 
WG meeting and the SAAG session on Thursday.

--Pekka Nikander
  Ericsson

IETF IPng Working Group Mailing List
IPng Home Page:  http://playground.sun.com/ipng
FTP archive:  ftp://playground.sun.com/pub/ipng
Direct all administrative requests to [EMAIL PROTECTED]




A new I-D on authorization issues in IPv6

2001-02-23 Thread Pekka Nikander

[My aplogies for sending this to three separage
lists, but IMHO this is really relevant to all of them.]

A have submitted a new I-D concerning a number of 
authorization issues in IPv6 related signalling,
including Mobile IPv6 Binding Updates.  The purpose
of the I-D is to summarize and clarify the situation
from this specific security point of view.  As it
has not appeared in the archieves yet, it is also
available at

  http://www.nomadiclab.com/~pnr/publications/\
draft-nikander-ipng-address-ownership-00.txt

I hope that the draft can act as one input to the
the forthcoming Mobile IPv6 discussion to be held
at Minneapolis, and clarify some issues related to
using IPsec in IPv6 to protect various kinds of
signalling messages.

For your convenience, I've included the draft abstract
below.  

--Pekka Nikander


Abstract

   This document seeks to clarify a number of problems related to
   authorization of changing local routing information in the current
   IPv6 architecture.  This document does not (currently) cover actual
   routing protocols.  Instead, in IPv6, there are a number of
   additional mechanisms that allow local routing information to be
   changed.  Some mechanisms are meant to be used only locally, while
   someof them allow changes to be initiated from a remote location;
   in the latter case, IPsec is used to protect the relevant
   signalling messages.  However, the current specifications are
   partially obscure about the actual authorization requirements that
   must be met in order to be actually secure.  The purpose of this
   document is to clarify the situation, and foster understanding of
   the potential attacks and required countermeasures.

   In this document, we first collect together and summarize the
   non-routing-protocol mechanisms that allow routing information to
   be changed.  After that, we classify the mechanisms using a couple
   of orthogonal dimensions.  Finally, we discuss the authorization
   requirements for the different mechanisms.

   It is important to note that the security problems discussed in
   this document become relevant only when we start to consider
   multiple security domains.  As long as the mechanisms are used only
   within a single security domain, where all nodes are equally
   trusted, the problem does not exist.  However, if several security
   domains are connected together, or if anything like "opportunistic
   IPsec", as promoted by John Gilmore, becomes reality, the problems
   discussed in this document will become very real.

   An other way of expressing the scope of the problems is to say that
   the attacks can be characterized as insider attacks.  In general,
   the IPsec architecture, as it stands today, is relatively good in
   keeping outsiders out.  However, it is currently not nearly as good
   at dealing with attacks from within.  In a way, when IPsec is used
   to protect application level traffic, the applications are assumed
   to take care of their specific protection needs, e.g., in the form
   of user names, passwords, and application or operating system
   access control lists.  Unfortunately, when IPsec is used to protect
   traffic signalling, as discussed in this document, the controls do
   not seem to be adequate.  Basically, this is an authorization
   problem.

IETF IPng Working Group Mailing List
IPng Home Page:  http://playground.sun.com/ipng
FTP archive:  ftp://playground.sun.com/pub/ipng
Direct all administrative requests to [EMAIL PROTECTED]