Re: [homenet] draft-ietf-homenet-front-end-naming-delegation vs. DynDNS

2018-07-23 Thread Toke Høiland-Jørgensen
Juliusz Chroboczek  writes:

>> Why? What is wrong with the owner of the network selecting which devices
>> / services he/she wants globally reachable
>
> I don't think this is about global reachability (which is hopefully
> managed by PCP), it's about exporting names into the global DNS. We
> ought to distinguish the two -- you can be remotely reachable without
> publishing your name in the DNS.

Fair enough.

>> without each device/service having to implement (and be configured for)
>> an external naming provider?
>
> Roughly 100% of Homenet devices don't need a name in the global DNS --
> neither SIP, nor Skype, nor BitTorrent, nor syncthing, nor anything
> else that normal people run in their home relies on the DNS for
> locating remote peers.

Well, those all work because they use a "giant MITM in the cloud"
rendezvous point. If publishing things into global DNS worked reliably
and automatically, and we had IPv6 everywhere, such designs would not be
needed...

> In the rare case where a device needs to be in the global DNS (and the
> only case I can see is that of a web server), I'd much rather
> configure that on the device itself than on the buggy web interface of
> my ISP-provided CPE (or, even worse, "in the cloud").

Right, I can certainly see where you're coming from with this :)

-Toke

___
homenet mailing list
homenet@ietf.org
https://www.ietf.org/mailman/listinfo/homenet


Re: [homenet] draft-ietf-homenet-front-end-naming-delegation vs. DynDNS

2018-07-23 Thread Gert Doering
Hi,

On Mon, Jul 23, 2018 at 08:50:50PM +0200, Toke Høiland-Jørgensen wrote:
> Juliusz Chroboczek  writes:
> 
> > Exporting names from the Homenet into the global namespace, on the
> > other hand, should be done by the hosts, with no involvement of any
> > third party (neither the ISP nor the Homenet itself). This is where I
> > argue for some form of end-to-end, secured, dynamic DNS update.
> 
> Why? What is wrong with the owner of the network selecting which devices
> / services he/she wants globally reachable without each device/service
> having to implement (and be configured for) an external naming provider?

This is homenet.  There is nobody here who manages the network.

Which seems to be the main difference in views here - "I have a middlebox
where I can do configuration" vs. "the network is not managed, if I want
something to happen, I do it on the host".

Looking at my parents' setup, things like "teamviewer" work because they
do not need configuration on their router.  It has its own namespace,
registers the host, and it can be found  (due to IPv4 NAT, it needs to
also use a rendezvous server, but that might hopefully go away one day).

Gert Doering
-- NetMaster
-- 
have you enabled IPv6 on something today...?

SpaceNet AG  Vorstand: Sebastian v. Bomhard, Michael Emmer
Joseph-Dollinger-Bogen 14Aufsichtsratsvors.: A. Grundner-Culemann
D-80807 Muenchen HRB: 136055 (AG Muenchen)
Tel: +49 (0)89/32356-444 USt-IdNr.: DE813185279

___
homenet mailing list
homenet@ietf.org
https://www.ietf.org/mailman/listinfo/homenet


Re: [homenet] draft-ietf-homenet-front-end-naming-delegation vs. DynDNS

2018-07-23 Thread Juliusz Chroboczek
> Why? What is wrong with the owner of the network selecting which devices
> / services he/she wants globally reachable

I don't think this is about global reachability (which is hopefully managed
by PCP), it's about exporting names into the global DNS.  We ought to
distinguish the two -- you can be remotely reachable without publishing
your name in the DNS.

> without each device/service having to implement (and be configured for)
> an external naming provider?

Roughly 100% of Homenet devices don't need a name in the global DNS --
neither SIP, nor Skype, nor BitTorrent, nor syncthing, nor anything else
that normal people run in their home relies on the DNS for locating remote
peers.

In the rare case where a device needs to be in the global DNS (and the
only case I can see is that of a web server), I'd much rather configure
that on the device itself than on the buggy web interface of my
ISP-provided CPE (or, even worse, "in the cloud").

-- Juliusz

___
homenet mailing list
homenet@ietf.org
https://www.ietf.org/mailman/listinfo/homenet


Re: [homenet] draft-ietf-homenet-front-end-naming-delegation vs. DynDNS

2018-07-23 Thread Juliusz Chroboczek
> Apparently my comment was clear as mud. I meant this:
> https://tools.ietf.org/html/draft-ietf-opsawg-mud-25

Quote, "YANG-based JSON that describes a Thing", unquote.  61 pages.
Revision 25, and still a draft.  I wish you a lot of fun implementing that.

> Having a public/private zone pair where the public zone is an image of
> the private zone that is constructed following rules, the default rule
> being "don't copy," seems very straightforward to me. It's not clear to
> me in what sense it's brittle.

It's brittle because you have state in the network.  (You know, end-to-end
argument and so on.)

More concretely:

  - what happens when the current hidden master loses an election?  Is the
state magically transferred?
  - what happens when the current hidden master crashes/is unplugged/is retired?

 let alone the issue of electing the hidden master in the first place,
which I believe Daniel hasn't addressed at all.

> To me, the difference between what you are proposing, Juliusz, and what
> Daniel is proposing, is where the control point is. For you, the control
> point is the device.

That's right.

> For Daniel, the control point is the resolver.

Which resolver?  (I could be wrong, but I don't think that the Homenet
architecture has a central resolver.)

-- Juliusz

___
homenet mailing list
homenet@ietf.org
https://www.ietf.org/mailman/listinfo/homenet


Re: [homenet] draft-ietf-homenet-front-end-naming-delegation vs. DynDNS

2018-07-23 Thread Toke Høiland-Jørgensen
Juliusz Chroboczek  writes:

> Exporting names from the Homenet into the global namespace, on the
> other hand, should be done by the hosts, with no involvement of any
> third party (neither the ISP nor the Homenet itself). This is where I
> argue for some form of end-to-end, secured, dynamic DNS update.

Why? What is wrong with the owner of the network selecting which devices
/ services he/she wants globally reachable without each device/service
having to implement (and be configured for) an external naming provider?

-Toke

___
homenet mailing list
homenet@ietf.org
https://www.ietf.org/mailman/listinfo/homenet


Re: [homenet] draft-ietf-homenet-front-end-naming-delegation vs. DynDNS

2018-07-23 Thread Juliusz Chroboczek
> By using DynDns are you proposing to remove the requirement of having
> a naming resolution mechanism internally in the homenet ?

No.  Naming *internal* to the Homenet needs another mechanism, perhaps
what Ted is designing (and implementing), perhaps something else.

Exporting names from the Homenet into the global namespace, on the other
hand, should be done by the hosts, with no involvement of any third party
(neither the ISP nor the Homenet itself).  This is where I argue for some
form of end-to-end, secured, dynamic DNS update.

> But considering that we need an internal dns to serve internal requests
> (regardless of an ISP connection) and that we also need an outsourced
> one for external resolution, isn't it simpler to make them synchronize
> in a primary / secondary fashion ?  Wouldn't it be an extra work to
> manage (update/add/delete) multiple records through dyndns ?

I claim it isn't.  Synchronising with the external DNS provider is no more
work than synchronising with the hidden master, and it avoids the hairy
issue of electing the hidden master.

> From my understanding dyndns would solve just a small part of the whole
> problem being tackled here which is: providing internal/external name
> resolution and manage the synchronization of an entire zone, rather than
> updating a single record continuously.

It solves the issue of exporting names into the public namespace.  This
has nothing to do with name resolution internal to the Homenet.

-- Juliusz

___
homenet mailing list
homenet@ietf.org
https://www.ietf.org/mailman/listinfo/homenet


Re: [homenet] draft-ietf-homenet-front-end-naming-delegation vs. DynDNS

2018-07-23 Thread Elson Oliveira
Hi Juliusz, 
I'm just catching up in the mailing list here and I'd like to clarify if my 
understanding is correct.

By using DynDns are you proposing to remove the requirement of having a naming 
resolution mechanism internally in the homenet ?  

DynDns does work nicely to update a single record whenever it changes. But 
considering that we need an internal dns to serve internal requests (regardless 
of an ISP connection) and that we also need an outsourced one for external 
resolution, isn't it simpler to make them synchronize in a primary / secondary 
fashion ?
Wouldn't it be an extra work to manage (update/add/delete) multiple records 
through dyndns ?

>From my understanding dyndns would solve just a small part of the whole 
>problem being tackled here which is:  providing internal/external name 
>resolution and manage the synchronization of an entire zone, rather than 
>updating a single record continuously. 


Cheers
Elson

-Original Message-
From: homenet  On Behalf Of Juliusz Chroboczek
Sent: Thursday, July 19, 2018 4:38 PM
To: Ted Lemon 
Cc: Homenet 
Subject: Re: [homenet] draft-ietf-homenet-front-end-naming-delegation vs. DynDNS

> One way to automate this would be using mud.

A bright light shines from the heavens, bathing you in its warm glow.  An 
enormous, white temple stands to the north, taking most of your view.

In order to enter the Temple of Homenet Naming, you must travel up the large 
staircase that stands in front of you.

Exits: North, West, East, South.

(Perhaps you had something else in mind when you said MUD?)

___
homenet mailing list
homenet@ietf.org
https://www.ietf.org/mailman/listinfo/homenet

___
homenet mailing list
homenet@ietf.org
https://www.ietf.org/mailman/listinfo/homenet


Re: [homenet] draft-ietf-homenet-front-end-naming-delegation vs. DynDNS

2018-07-23 Thread Ted Lemon
Apparently my comment was clear as mud.   I meant this:
https://tools.ietf.org/html/draft-ietf-opsawg-mud-25

Having a public/private zone pair where the public zone is an image of the
private zone that is constructed following rules, the default rule being
"don't copy," seems very straightforward to me.   It's not clear to me in
what sense it's brittle.   Requiring each device to be configurable with a
way to update a name server Out There, and managing the set of devices that
are publishing their names, seems not merely brittle but also difficult to
operate.   To me, the difference between what you are proposing, Juliusz,
and what Daniel is proposing, is where the control point is.   For you, the
control point is the device.   For Daniel, the control point is the
resolver.   Each of these has different properties in terms of
manageability.   Depending on how each is used, your model may be easier or
harder.

What I have set up in my home assumes the mud model, although that's not
actually implemented yet, and even the topology is a work in progress
because I haven't gone back and fixed everything yet.   The model is that
all of my IoT devices are on their own network, which is firewalled from
the rest of my network and has no external connectivity by default.   If a
device needs external access, it gets access to what mud says it needs
access to (e.g., it can download its firmware updates, but not log in to
facebook).   If it wants to be externally reachable, its mud description
would say so, and would say what would be allowed to reach in and touch it.

This model would work with non-IoT devices as well—if they don't have mud
descriptions, then by default they can reach out to touch anything, but
nothing is allowed to reach in to touch them, and their names are not
published.

What's good about this model is that things can happen completely
automatically.   The end user is not asked to understand security models,
and need take no action other than enrolling devices on the network, which
I think is unavoidable.   The only problem with this is that there's no way
to automatically corral IoT devices to the IoT network.

That said, what I've described here is out of scope for the current
discussion, other than with respect to naming.

On Thu, Jul 19, 2018 at 4:38 PM, Juliusz Chroboczek  wrote:

> > One way to automate this would be using mud.
>
> A bright light shines from the heavens, bathing you in its warm glow.  An
> enormous, white temple stands to the north, taking most of your view.
>
> In order to enter the Temple of Homenet Naming, you must travel up the
> large staircase that stands in front of you.
>
> Exits: North, West, East, South.
>
> (Perhaps you had something else in mind when you said MUD?)
>
___
homenet mailing list
homenet@ietf.org
https://www.ietf.org/mailman/listinfo/homenet


Re: [homenet] draft-ietf-homenet-front-end-naming-delegation vs. DynDNS

2018-07-19 Thread Juliusz Chroboczek
> One way to automate this would be using mud.

A bright light shines from the heavens, bathing you in its warm glow.  An
enormous, white temple stands to the north, taking most of your view.

In order to enter the Temple of Homenet Naming, you must travel up the
large staircase that stands in front of you.

Exits: North, West, East, South.

(Perhaps you had something else in mind when you said MUD?)

___
homenet mailing list
homenet@ietf.org
https://www.ietf.org/mailman/listinfo/homenet


Re: [homenet] draft-ietf-homenet-front-end-naming-delegation vs. DynDNS

2018-07-19 Thread Jacques Latour
The provisioning process for front end naming delegation we’re thinking of 
includes the provisioning of the domain name itself at the registry, and the 
setup on the home gateway itself and registration with an external secondary 
anycast for global name resolution. The gateway would have an internal and 
external view, where the external view would sync with the outsourced DNS 
service, could be using standard IXFR/AXFR methods.  We would sign both 
internal/external views with DNSSEC and publish a CDS that the registry can 
take to bootstrap the delegation. We need to add a Dyn like process to sync 
external dynamic addresses to the external zone file.

We’re not planning to use home.arpa because it will not have a secure chain of 
trust and if we have a domain name for external reachability (example.ca) then 
might as well use it internally.

As a side note, I don’t think we should even think of building a solution to 
make home.arpa a secure delegation, it’s a good domain name for internal use 
and avoid name collisions, not good for DNSSEC.

From: homenet  On Behalf Of Ted Lemon
Sent: Thursday, July 19, 2018 9:31 AM
To: Stephen Farrell 
Cc: Homenet ; Daniel Migault ; 
Juliusz Chroboczek 
Subject: Re: [homenet] draft-ietf-homenet-front-end-naming-delegation vs. DynDNS

One way to automate this would be using mud.

On Thu, Jul 19, 2018 at 9:28 AM, Stephen Farrell 
mailto:stephen.farr...@cs.tcd.ie>> wrote:

(with no hats...)

On 19/07/18 10:42, Juliusz Chroboczek wrote:

>> Also, think of the privacy implications if all of the services on the
>> homenet had to be discovered from a shared zone like 
>> dyndns.org<http://dyndns.org>.

> Quite the opposite.  In the trivial update protocol, the update is
> end-to-end, encrypted, and only the host and the DNS provider see the
> data.  Every Homenet, every host, heck, even every application can use
> a different DNS provider, and each DNS provider only sees the data that
> was explicitly sent to it.

I'm also a bit puzzled by how the subset of records to be
globally published relates to the set of records that are
to be internally visible. I guess this is not something
that we'd fully standardise, but there are privacy issues
here if too much gets published globally, so there may be
some protocol (change/tweak) required to make it possible
for implementers to distinguish which information ought be
globally visible, and which not.

Cheers,
S.

___
homenet mailing list
homenet@ietf.org
https://www.ietf.org/mailman/listinfo/homenet


Re: [homenet] draft-ietf-homenet-front-end-naming-delegation vs. DynDNS

2018-07-19 Thread Juliusz Chroboczek
> On the other hand same thing using nsupdate (using TSIG and dynamic
> dns) is one command line + input file for nsupdate:

Cool.

Whichever end-to-end (host to DNS provider with no intermediate proxying)
encrypted and authentified protocol you pick, I'm with you.

-- Juliusz

___
homenet mailing list
homenet@ietf.org
https://www.ietf.org/mailman/listinfo/homenet


Re: [homenet] draft-ietf-homenet-front-end-naming-delegation vs. DynDNS

2018-07-19 Thread Tero Kivinen
Juliusz Chroboczek writes:
> And it's literally four lines of shell:
> 
> while true; do
> wget --post-data 'name=gameserver.myhome.net=topsecret' \
>  https://dyndns.example.com
> sleep $((24 * 3600))
> done

How does that get both IPv4 and IPv6 addresses published? Perhaps bit
more parameters are needed?

The reason people use those dyndns services is because they only use
IPv4, and they have NATs, and they want to publish the outer address
of the NAT. I would hope we are getting proper non-natted IPv6
networks with globally routable address at home too, so you do not
need to use such hacks.

On the other hand same thing using nsupdate (using TSIG and dynamic
dns) is one command line + input file for nsupdate:
--
nsupdate -k $KEYFILE << EOF
server ns.example.com.
zone myhome.net.
update add gameserver.myhome.net. 3600 A $IP4
update add gameserver.myhhome.net. 3600  $IP6
send
EOF
--
No need to sleep and do operations periodically, you only need to run
this when the IP-addresses change...
-- 
kivi...@iki.fi

___
homenet mailing list
homenet@ietf.org
https://www.ietf.org/mailman/listinfo/homenet


Re: [homenet] draft-ietf-homenet-front-end-naming-delegation vs. DynDNS

2018-07-19 Thread Juliusz Chroboczek
>> And it's literally four lines of shell:

> vs

> while true; do
> (omitted for brevity)

You're doing end-to-end dynamic update over DNS, which is fine with me.
The exact transport we end up using doesn't matter that much.

You're not doing the proxying through a hidden master mandated by Daniel's
draft, which is what I find complex and fragile.

-- Juliusz

___
homenet mailing list
homenet@ietf.org
https://www.ietf.org/mailman/listinfo/homenet


Re: [homenet] draft-ietf-homenet-front-end-naming-delegation vs. DynDNS

2018-07-19 Thread Mark Andrews


> On 19 Jul 2018, at 11:58 pm, Mark Andrews  wrote:
> 
> 
> 
>> On 19 Jul 2018, at 11:30 pm, Juliusz Chroboczek  wrote:
>> 
>>>   I am not speaking about discovery within the Homenet. I am speaking about
>>>   exporting names into the global DNS, which is what Daniel's draft is
>>>   about.
>> 
>>> Yes, but the problem is that you are treating this as if these are two
>>> separate problems, but they are not.
>> 
>> These are two completely different problems, with different default
>> behaviours and different failure modes.
>> 
>> The default behaviour for the local zone is that devices should be
>> discoverable.  The default behaviour for the public DNS is that a device
>> should not be published unless it takes explicit action.
>> 
>> It makes a lot of sense to have two different protocols, rather than
>> essentially leaking a local zone into the ISP's DNS servers.
>> 
>>>   I'm not following your reasoning here -- why does the zone being tied to
>>>   the ISP imply that we must use a more complex protocol?
>> 
>>> Doing this transaction over HTTP means another service that the ISP has
>>> to operate,
>> 
>> Not the ISP, a third-party DNS provider.  That's the whole point.
>> 
>>> and another service that the HNR has to connect to.
>> 
>> Not the HNR, the end host.  That's the whole point.
>> 
>> And it's literally four lines of shell:
>> 
>>   while true; do
>>   wget --post-data 'name=gameserver.myhome.net=topsecret' \
>>https://dyndns.example.com
>>   sleep $((24 * 3600))
>>   done
> 
> vs
> 
> while true; do
>   (
>   # delete all the existing  records
>   update delete host.example.com IN 
>   # add in all the GUA  records
>   ifconfig -a inet6 |
>   sed -n -e '/%/d' -e '/ ::1 /d' -e '/ 
> fd[0-9a-f][[0-9a-f]:/d’ \
>   -e 's/inet6/update add host.example.com 3600 IN /‘ \
>   -e 's/ prefixlen.*//p’
>   # tell nsupdate to send the update request.  Nsupdate will work 
> out zone and
>   # DNS servers to send the update request too.
>   echo send
>   ) | nsupdate -y Khost.example.net.+001+56524
>   sleep $((24 * 3600))
> done

And I forgot to mention that this supports multiple  records.

> 
>>>   Quite the opposite. In the trivial update protocol, the update is
>>>   end-to-end, encrypted, and only the host and the DNS provider see the
>>>   data.
>> 
>>> You've published a record in a public zone. It doesn't matter that the
>>> protocol you used to publish it is privacy-protecting, because the
>>> publication of the name immediately negated that.
>> 
>> With delegation through an ISP-controlled hidden master, the ISP gets
>> a database of all the names published by all of its users.
>> 
>> With an encrypted connection to a DNS provider, the ISP needs to troll all
>> of the DNS providers in order to build such a database.
>> 
>>> I actually share your concern that what he's got written down right now
>>> is more complicated than it needs to be, and this is partly because it
>>> was originally motivated by his work at an ISP.
>> 
>> Uh-huh.
>> 
>> -- Juliusz
>> 
>> ___
>> homenet mailing list
>> homenet@ietf.org
>> https://www.ietf.org/mailman/listinfo/homenet
> 
> -- 
> Mark Andrews, ISC
> 1 Seymour St., Dundas Valley, NSW 2117, Australia
> PHONE: +61 2 9871 4742  INTERNET: ma...@isc.org
> 
> ___
> homenet mailing list
> homenet@ietf.org
> https://www.ietf.org/mailman/listinfo/homenet

-- 
Mark Andrews, ISC
1 Seymour St., Dundas Valley, NSW 2117, Australia
PHONE: +61 2 9871 4742  INTERNET: ma...@isc.org

___
homenet mailing list
homenet@ietf.org
https://www.ietf.org/mailman/listinfo/homenet


Re: [homenet] draft-ietf-homenet-front-end-naming-delegation vs. DynDNS

2018-07-19 Thread Mark Andrews


> On 19 Jul 2018, at 11:30 pm, Juliusz Chroboczek  wrote:
> 
>>I am not speaking about discovery within the Homenet. I am speaking about
>>exporting names into the global DNS, which is what Daniel's draft is
>>about.
> 
>> Yes, but the problem is that you are treating this as if these are two
>> separate problems, but they are not.
> 
> These are two completely different problems, with different default
> behaviours and different failure modes.
> 
> The default behaviour for the local zone is that devices should be
> discoverable.  The default behaviour for the public DNS is that a device
> should not be published unless it takes explicit action.
> 
> It makes a lot of sense to have two different protocols, rather than
> essentially leaking a local zone into the ISP's DNS servers.
> 
>>I'm not following your reasoning here -- why does the zone being tied to
>>the ISP imply that we must use a more complex protocol?
> 
>> Doing this transaction over HTTP means another service that the ISP has
>> to operate,
> 
> Not the ISP, a third-party DNS provider.  That's the whole point.
> 
>> and another service that the HNR has to connect to.
> 
> Not the HNR, the end host.  That's the whole point.
> 
> And it's literally four lines of shell:
> 
>while true; do
>wget --post-data 'name=gameserver.myhome.net=topsecret' \
> https://dyndns.example.com
>sleep $((24 * 3600))
>done

vs

while true; do
(
# delete all the existing  records
update delete host.example.com IN 
# add in all the GUA  records
ifconfig -a inet6 |
sed -n -e '/%/d' -e '/ ::1 /d' -e '/ 
fd[0-9a-f][[0-9a-f]:/d’ \
-e 's/inet6/update add host.example.com 3600 IN /‘ \
-e 's/ prefixlen.*//p’
# tell nsupdate to send the update request.  Nsupdate will work 
out zone and
# DNS servers to send the update request too.
echo send
) | nsupdate -y Khost.example.net.+001+56524
sleep $((24 * 3600))
done

>>Quite the opposite. In the trivial update protocol, the update is
>>end-to-end, encrypted, and only the host and the DNS provider see the
>>data.
> 
>> You've published a record in a public zone. It doesn't matter that the
>> protocol you used to publish it is privacy-protecting, because the
>> publication of the name immediately negated that.
> 
> With delegation through an ISP-controlled hidden master, the ISP gets
> a database of all the names published by all of its users.
> 
> With an encrypted connection to a DNS provider, the ISP needs to troll all
> of the DNS providers in order to build such a database.
> 
>> I actually share your concern that what he's got written down right now
>> is more complicated than it needs to be, and this is partly because it
>> was originally motivated by his work at an ISP.
> 
> Uh-huh.
> 
> -- Juliusz
> 
> ___
> homenet mailing list
> homenet@ietf.org
> https://www.ietf.org/mailman/listinfo/homenet

-- 
Mark Andrews, ISC
1 Seymour St., Dundas Valley, NSW 2117, Australia
PHONE: +61 2 9871 4742  INTERNET: ma...@isc.org

___
homenet mailing list
homenet@ietf.org
https://www.ietf.org/mailman/listinfo/homenet


Re: [homenet] draft-ietf-homenet-front-end-naming-delegation vs. DynDNS

2018-07-19 Thread Ted Lemon
One way to automate this would be using mud.

On Thu, Jul 19, 2018 at 9:28 AM, Stephen Farrell 
wrote:

>
> (with no hats...)
>
> On 19/07/18 10:42, Juliusz Chroboczek wrote:
>
> >> Also, think of the privacy implications if all of the services on the
> >> homenet had to be discovered from a shared zone like dyndns.org.
>
> > Quite the opposite.  In the trivial update protocol, the update is
> > end-to-end, encrypted, and only the host and the DNS provider see the
> > data.  Every Homenet, every host, heck, even every application can use
> > a different DNS provider, and each DNS provider only sees the data that
> > was explicitly sent to it.
>
> I'm also a bit puzzled by how the subset of records to be
> globally published relates to the set of records that are
> to be internally visible. I guess this is not something
> that we'd fully standardise, but there are privacy issues
> here if too much gets published globally, so there may be
> some protocol (change/tweak) required to make it possible
> for implementers to distinguish which information ought be
> globally visible, and which not.
>
> Cheers,
> S.
>
___
homenet mailing list
homenet@ietf.org
https://www.ietf.org/mailman/listinfo/homenet


Re: [homenet] draft-ietf-homenet-front-end-naming-delegation vs. DynDNS

2018-07-19 Thread Juliusz Chroboczek
> I am not speaking about discovery within the Homenet. I am speaking about
> exporting names into the global DNS, which is what Daniel's draft is
> about.

> Yes, but the problem is that you are treating this as if these are two
> separate problems, but they are not.

These are two completely different problems, with different default
behaviours and different failure modes.

The default behaviour for the local zone is that devices should be
discoverable.  The default behaviour for the public DNS is that a device
should not be published unless it takes explicit action.

It makes a lot of sense to have two different protocols, rather than
essentially leaking a local zone into the ISP's DNS servers.

> I'm not following your reasoning here -- why does the zone being tied to
> the ISP imply that we must use a more complex protocol?

> Doing this transaction over HTTP means another service that the ISP has
> to operate,

Not the ISP, a third-party DNS provider.  That's the whole point.

> and another service that the HNR has to connect to.

Not the HNR, the end host.  That's the whole point.

And it's literally four lines of shell:

while true; do
wget --post-data 'name=gameserver.myhome.net=topsecret' \
 https://dyndns.example.com
sleep $((24 * 3600))
done

> Quite the opposite. In the trivial update protocol, the update is
> end-to-end, encrypted, and only the host and the DNS provider see the
> data.

> You've published a record in a public zone. It doesn't matter that the
> protocol you used to publish it is privacy-protecting, because the
> publication of the name immediately negated that.

With delegation through an ISP-controlled hidden master, the ISP gets
a database of all the names published by all of its users.

With an encrypted connection to a DNS provider, the ISP needs to troll all
of the DNS providers in order to build such a database.

> I actually share your concern that what he's got written down right now
> is more complicated than it needs to be, and this is partly because it
> was originally motivated by his work at an ISP.

Uh-huh.

-- Juliusz

___
homenet mailing list
homenet@ietf.org
https://www.ietf.org/mailman/listinfo/homenet


Re: [homenet] draft-ietf-homenet-front-end-naming-delegation vs. DynDNS

2018-07-19 Thread Stephen Farrell

(with no hats...)

On 19/07/18 10:42, Juliusz Chroboczek wrote:

>> Also, think of the privacy implications if all of the services on the
>> homenet had to be discovered from a shared zone like dyndns.org.

> Quite the opposite.  In the trivial update protocol, the update is
> end-to-end, encrypted, and only the host and the DNS provider see the
> data.  Every Homenet, every host, heck, even every application can use
> a different DNS provider, and each DNS provider only sees the data that
> was explicitly sent to it.

I'm also a bit puzzled by how the subset of records to be
globally published relates to the set of records that are
to be internally visible. I guess this is not something
that we'd fully standardise, but there are privacy issues
here if too much gets published globally, so there may be
some protocol (change/tweak) required to make it possible
for implementers to distinguish which information ought be
globally visible, and which not.

Cheers,
S.


0x5AB2FAF17B172BEA.asc
Description: application/pgp-keys


signature.asc
Description: OpenPGP digital signature
___
homenet mailing list
homenet@ietf.org
https://www.ietf.org/mailman/listinfo/homenet


Re: [homenet] draft-ietf-homenet-front-end-naming-delegation vs. DynDNS

2018-07-19 Thread Ted Lemon
On Thu, Jul 19, 2018 at 5:42 AM, Juliusz Chroboczek  wrote:

> > In order for services to be discoverable on the homenet, they have to
> > publish their contact info on the homenet. The protocol that everyone
> > uses for this is DNSSD. This is how you find your printer when you want
> > to print to it. Nobody uses the ad-hoc DynDNS protocol for this.
>
> I am not speaking about discovery within the Homenet.  I am speaking about
> exporting names into the global DNS, which is what Daniel's draft is about.
>

Yes, but the problem is that you are treating this as if these are two
separate problems, but they are not.   If we need devices to know how to do
one thing, that's enough.   We shouldn't demand that they know how to do
two things that accomplish the same thing.   So if we need service
registration, we shouldn't also have a second method of publishing names,
because that's additional work for the device manufacturer.


> > The reverse mapping zone has to be delegated by the ISP, so we might as
> > well do it in a prefix delegation transaction.
>
> I'm not following your reasoning here -- why does the zone being tied to
> the ISP imply that we must use a more complex protocol?
>

Again, we are already doing DHCP PD to get the prefix from the ISP.   The
transaction is already happening.   Sending our ZSK to the root along with
the IP address of our public or hidden primary for the reverse zone isn't a
lot of additional work.   Doing this transaction over HTTP means another
service that the ISP has to operate, and another service that the HNR has
to connect to.   So it's not a simplication—it's a complexification, even
though the protocol itself is simple.


> > Also, think of the privacy implications if all of the services on the
> > homenet had to be discovered from a shared zone like dyndns.org.
>
> Quite the opposite.  In the trivial update protocol, the update is
> end-to-end, encrypted, and only the host and the DNS provider see the
> data.  Every Homenet, every host, heck, even every application can use
> a different DNS provider, and each DNS provider only sees the data that
> was explicitly sent to it.
>

You've published a record in a public zone.   It doesn't matter that the
protocol you used to publish it is  privacy-protecting, because the
publication of the name immediately negated that.

In Daniel's protocol, the data goes from host to hidden primary to DNS
> provider.  The hidden primary is probably controlled by the ISP, which is
> convenient if you happen to be a privacy-violating ISP.


The hidden primary would be on an HNR, so unless the HNR is controlled by
the ISP, the hidden primary isn't either.   In principle, at least, the
hidden primary should only be exposing names to the ISP that are intended
to be exposed.

The reason I was hassling  Daniel about implementations at the mic is that
I actually share your concern that what he's got written down right now is
more complicated than it needs to be, and this is partly because it was
originally motivated by his work at an ISP.   Now that he isn't doing that,
we have an opportunity to do a rethink about what is good and bad about the
proposal, and I think we should take advantage of this opportunity.

That said, DNS delegation and IXFR are well-understood technologies that
are well-suited to the purpose we have here, so I think we should be
careful when trying to simplify this to make sure that what is being
proposed actually has that effect!
___
homenet mailing list
homenet@ietf.org
https://www.ietf.org/mailman/listinfo/homenet


Re: [homenet] draft-ietf-homenet-front-end-naming-delegation vs. DynDNS

2018-07-19 Thread Juliusz Chroboczek
> In order for services to be discoverable on the homenet, they have to
> publish their contact info on the homenet. The protocol that everyone
> uses for this is DNSSD. This is how you find your printer when you want
> to print to it. Nobody uses the ad-hoc DynDNS protocol for this.

I am not speaking about discovery within the Homenet.  I am speaking about
exporting names into the global DNS, which is what Daniel's draft is about.

> It's certainly true that we could use an HTTPS-based protocol for setting up
> delegations for the forward mapping zone. This makes a great deal of sense,

Good.

> The reverse mapping zone has to be delegated by the ISP, so we might as
> well do it in a prefix delegation transaction.

I'm not following your reasoning here -- why does the zone being tied to
the ISP imply that we must use a more complex protocol?

> So if you are advocating this second thing, that makes sense, and we should
> definitely talk about whether it makes sense to do it this way.

Let's.

> Also, think of the privacy implications if all of the services on the
> homenet had to be discovered from a shared zone like dyndns.org.

Quite the opposite.  In the trivial update protocol, the update is
end-to-end, encrypted, and only the host and the DNS provider see the
data.  Every Homenet, every host, heck, even every application can use
a different DNS provider, and each DNS provider only sees the data that
was explicitly sent to it.

In Daniel's protocol, the data goes from host to hidden primary to DNS
provider.  The hidden primary is probably controlled by the ISP, which is
convenient if you happen to be a privacy-violating ISP.

-- Juliusz

___
homenet mailing list
homenet@ietf.org
https://www.ietf.org/mailman/listinfo/homenet


Re: [homenet] draft-ietf-homenet-front-end-naming-delegation vs. DynDNS

2018-07-18 Thread Ted Lemon
The trivial update protocol isn't a standard protocol, and doesn't do what
we need it to do.   In order for services to be discoverable on the
homenet, they have to publish their contact info on the homenet.   The
protocol that everyone uses for this is DNSSD.   This is how you find your
printer when you want to print to it.   Nobody uses the ad-hoc DynDNS
protocol for this.

What the DynDNS protocol does is to allow you to track the IP address of
your home gateway using a single A record in someone else's zone (e.g.,
dyndns.org).   It doesn't let you populate your own zone, and you can't do
service discovery on the resultant DNS entry, because service discovery is
a bit more complicated than that.

It's certainly true that we could use an HTTPS-based protocol for setting
up delegations for the forward mapping zone.   This makes a great deal of
sense, since the forward mapping zone shouldn't have to be tied to the
ISP.   The reverse mapping zone has to be delegated by the ISP, so we might
as well do it in a prefix delegation transaction.

So if you are advocating this second thing, that makes sense, and we should
definitely talk about whether it makes sense to do it this way.   If you
are talking about the first thing, then maintaining a zone in the homenet
is definitely a requirement.  Also, think of the privacy implications if
all of the services on the homenet had to be discovered from a shared zone
like dyndns.org.

On Wed, Jul 18, 2018 at 9:35 PM, Juliusz Chroboczek  wrote:

> > All of this can be done in the DNS without resorting to any other
> protocol.
>
> Excellent.
>
> So what technical reasons are there to prefer the complexity of
> draft...front-end-naming-delegation over a trivial update protocol,
> whether encapsulated in HTTPS or DNS?
>
> -- Juliusz
>
> ___
> homenet mailing list
> homenet@ietf.org
> https://www.ietf.org/mailman/listinfo/homenet
>
___
homenet mailing list
homenet@ietf.org
https://www.ietf.org/mailman/listinfo/homenet


Re: [homenet] draft-ietf-homenet-front-end-naming-delegation vs. DynDNS

2018-07-18 Thread Juliusz Chroboczek
> All of this can be done in the DNS without resorting to any other protocol.

Excellent.

So what technical reasons are there to prefer the complexity of
draft...front-end-naming-delegation over a trivial update protocol,
whether encapsulated in HTTPS or DNS?

-- Juliusz

___
homenet mailing list
homenet@ietf.org
https://www.ietf.org/mailman/listinfo/homenet


Re: [homenet] draft-ietf-homenet-front-end-naming-delegation vs. DynDNS

2018-07-18 Thread Mark Andrews
All of this can be done in the DNS without resorting to any other protocol.

_dns-update._udp SRV is registered with IANA for finding where to send
UPDATE request to if the SOA MNAME or the NS’s are not reasonable.
UPDATEs can be secured with TSIG (shared secret) or SIG(0) (public key
cryptography).  The later has the advantage that there isn’t a scaling
issue as the KEY record is stored in the zone.

If you want to experiment with this named has an update policy rule that
allows just such secured updates.

update-policy {
grant example.com name * KEY;
grant * self . [type list];
};

where example.com is a TSIG or KEY record used by the administrator
to install the KEY record for the node initially.

Garbage collection (GC) had never been defined by a DNS protocol but a simple
one would be to request a TYPE that can live a long side CNAME (like KEY
does) which has the type code to be removed and GC time.  Server policy
could be to add this or the client could include the record in the UPDATE
request. Doing GC with a record like this would be trivial for a DNS server.

DNSSEC servers already do wall clock time based regeneration of RRSIGs using
the type covered and expiry fields of the RRSIG records.  GC would use a
similar mechanism.

> On 19 Jul 2018, at 7:21 am, Juliusz Chroboczek  wrote:
> 
> Dear all,
> 
> Since the 1990s, people have been putting their dynamically allocated IPv4
> addresses into global DNS by using a family of gratuitiously incompatible
> trivial protocols.  The technique doesn't have an official name (let alone
> a specification), and is usually referred to as DDNS, DynDNS or Dynamic DNS.
> 
> The basic idea is as follows:
> 
>  - the client is configured with its DynDNS provider;
>  - whenever its public IP changes, the client makes an HTTP request to
>register the name directly with the provider.
> 
> Usually, but not always, there's some form of garbage collection -- if the
> client fails to refresh its name within some timeframe, the entry is
> deleted.  Security can be achieved either by using HTTPS with a plaintext
> password, or by using clear HTTP and a cryptographic challenge mechanism.
> 
> This kind of protocol has a number of desirable features:
> 
>  - the client side can be implemented in roughly 4 lines of Python;
>  - it's end-to-end, so no privacy issues (if using HTTPS);
>  - it's end-to-end, so it doesn't depend on any local infrastructure;
>  - it's end-to-end, so it can be used in a foreign network (e.g. you can
>use it to advertise the address of the game server you run on your
>laptop during IETF meetings).
> 
> DynDNS has been widely deployed for 20 years or so, and would appear to
> solve the problem of name outsourcing quite nicely.  What technical
> problem is draft-ietf-homenet-front-end-naming-delegation solving that is
> not adequately solved by a DynDNS-style solution?
> 
> This is a question that I've been asking since July 2014:
> 
>  https://mailarchive.ietf.org/arch/msg/homenet/7JmkTCBSSMs5nnH3VWPj6JAL0cA
> 
> and I still haven't received an answer I could understand.
> 
> -- Juliusz
> 
> ___
> homenet mailing list
> homenet@ietf.org
> https://www.ietf.org/mailman/listinfo/homenet

-- 
Mark Andrews, ISC
1 Seymour St., Dundas Valley, NSW 2117, Australia
PHONE: +61 2 9871 4742  INTERNET: ma...@isc.org

___
homenet mailing list
homenet@ietf.org
https://www.ietf.org/mailman/listinfo/homenet


[homenet] draft-ietf-homenet-front-end-naming-delegation vs. DynDNS

2018-07-18 Thread Juliusz Chroboczek
Dear all,

Since the 1990s, people have been putting their dynamically allocated IPv4
addresses into global DNS by using a family of gratuitiously incompatible
trivial protocols.  The technique doesn't have an official name (let alone
a specification), and is usually referred to as DDNS, DynDNS or Dynamic DNS.

The basic idea is as follows:

  - the client is configured with its DynDNS provider;
  - whenever its public IP changes, the client makes an HTTP request to
register the name directly with the provider.

Usually, but not always, there's some form of garbage collection -- if the
client fails to refresh its name within some timeframe, the entry is
deleted.  Security can be achieved either by using HTTPS with a plaintext
password, or by using clear HTTP and a cryptographic challenge mechanism.

This kind of protocol has a number of desirable features:

  - the client side can be implemented in roughly 4 lines of Python;
  - it's end-to-end, so no privacy issues (if using HTTPS);
  - it's end-to-end, so it doesn't depend on any local infrastructure;
  - it's end-to-end, so it can be used in a foreign network (e.g. you can
use it to advertise the address of the game server you run on your
laptop during IETF meetings).

DynDNS has been widely deployed for 20 years or so, and would appear to
solve the problem of name outsourcing quite nicely.  What technical
problem is draft-ietf-homenet-front-end-naming-delegation solving that is
not adequately solved by a DynDNS-style solution?

This is a question that I've been asking since July 2014:

  https://mailarchive.ietf.org/arch/msg/homenet/7JmkTCBSSMs5nnH3VWPj6JAL0cA

and I still haven't received an answer I could understand.

-- Juliusz

___
homenet mailing list
homenet@ietf.org
https://www.ietf.org/mailman/listinfo/homenet