[Nfd-dev] Handling new content in app for pending interest in NFD

Dave Oran (oran) oran at cisco.com
Mon Mar 30 13:35:58 PDT 2015


> On Mar 30, 2015, at 4:06 PM, Wentao Shang <wentaoshang at gmail.com> wrote:
> 
> 
> 
> On Mon, Mar 30, 2015 at 12:52 PM <Marc.Mosko at parc.com> wrote:
> I’ll add that in addition to the content having a PIT entry, Nacho Solis has suggested that a router should verify that a Content Object came in a face from which it was requested.  Otherwise, there’s a potential for off-path attacks sending content objects that match popular well-known names.  A variation on that, rather than tracking forward paths, would be to at minimum verify that a content object comes from a face for which there’s a corresponding FIB entry for the name.
> 
> This requirement makes sense for transit routers that receive packets from other routers. But I'm not sure whether this is necessary for forwarding daemons handling local applications... The pushed data should never get out of the local forwarder unless there is a PIT entry specifying a path pointing to some other router.
> 
If “local” really means LOCAL (i.e. same machine) then the risks are low since you can only poison other applications on the same machine. However, I’ve noticed that the current NFD<->host stack design does not enforce same machine boundaries and in fact encourages remote NFD connections by using UDP sockets.

I still think Mark Mosko’s rules should be enshrined in the architecture and the code. You can relax the “local forwarder” case by having all the applications share one logical local face with no security isolation among them as far as the forwarder is concerned. Then the rule would be satisfied as the PIT would indicate the Interest was in fact forwarded over the same “interface” that data came back from.

DaveO.


> Wentao
>  
> 
> Marc
> 
> On Mar 30, 2015, at 12:08 PM, Wentao Shang <wentaoshang at gmail.com> wrote:
> 
>> I agree with Dave.
>> 
>> In principle, router should not cache unsolicited data. In the situation we are discussing, the application should either just push the data out, which may be dropped by NFD if the interest has expired, or store the data in some application-level cache (or repo) for future fetching.
>> 
>> Wentao
>> 
>> On Mon, Mar 30, 2015 at 11:52 AM Dave Oran (oran) <oran at cisco.com> wrote:
>> Isn’t this what the repo was invented for?
>> 
>> Holding packets in a router that has forgotten that they were asked for is a giant invitation to cache pollution/poisoning attacks.
>> 
>> > On Mar 30, 2015, at 2:24 PM, Haowei Yuan <hyuan at wustl.edu> wrote:
>> >
>> > I think as long as the data has actually been requested by an Interest
>> > packet, it is safe to send the Data packet to NFD. The NFD will either
>> > forward or drop the Data packet by checking if the Interest has
>> > expired.
>> >
>> > If the Interest has expired, Data packet is dropped, and the consumer
>> > is still interested in the data, the consumer could resend the
>> > Interest. Hopefully this time, the Data packet can be generated and
>> > sent faster by the application so that NFD will forward it.
>> >
>> > Haowei
>> >
>> >
>> > On Mon, Mar 30, 2015 at 1:12 PM, Anil Jangam <anilj.mailing at gmail.com> wrote:
>> >>
>> >> On Mar 30, 2015 11:08 AM, "Dehart, John" <jdd at wustl.edu> wrote:
>> >>>
>> >>>
>> >>> Is there any harm in it pushing the data out without knowing for sure if
>> >>> the
>> >>> Interest is still active?
>> >>>
>> >> If data is so critical, can the Interest be refreshed proactively before it
>> >> expires?
>> >>
>> >> /anil
>> >>
>> >>> John
>> >>>
>> >>>> On Mar 30, 2015, at 1:05 PM, Burke, Jeff <jburke at remap.ucla.edu> wrote:
>> >>>>
>> >>>>
>> >>>>
>> >>>>>
>> >>>>>
>> >>>>> On Mon, Mar 30, 2015 at 10:28 AM Burke, Jeff <jburke at remap.ucla.edu>
>> >>>>> wrote:
>> >>>>>>
>> >>>>>>
>> >>>>>> Hi folks,
>> >>>>>>
>> >>>>>> We are facing this scenario in a few applications:
>> >>>>>>
>> >>>>>> 1) Interest received by NFD, passed to an application
>> >>>>>> 2) Application not able to respond to interest, so interest stays in
>> >>>>>> NFD PIT
>> >>>>>> 3) Some time passes, but not enough for the Interest to expire
>> >>>>>> 4) Application generates data (e.g., from a sensor reading) that would
>> >>>>>> answer the Interest in the NFD PIT
>> >>>>>>
>> >>>>>> Question: How does app know to inform NFD it has the data after step 4,
>> >>>>>> and how should it do that?
>> >>>>>>
>> >>>>>> - In this type of app, should it push the data unsolicited to the NFD
>> >>>>>> and let it decide if there is something to do?
>> >>>>>
>> >>>>>
>> >>>>> In my opinion, as long as the application is certain that the Interest
>> >>>>> has arrived and is stored in NFD's PIT, it can just push the data out to
>> >>>>> NFD.
>> >>>>
>> >>>>
>> >>>>
>> >>>> How certain does it have to be?  There is a chance it could have
>> >>>> expired...
>> >>>> jeff
>> >>>>
>> >>>>
>> >>>>
>> >>>>
>> >>>>
>> >>>>>
>> >>>>> Wentao
>> >>>>>
>> >>>>>>
>> >>>>>> - Is it recommended to implement an application-level PIT so the app is
>> >>>>>> sure this data is solicited?  (Why add another PIT?)
>> >>>>>>
>> >>>>>> Thank you,
>> >>>>>> Jeff
>> >>>>>>
>> >>>>>> _______________________________________________
>> >>>>>> Nfd-dev mailing list
>> >>>>>> Nfd-dev at lists.cs.ucla.edu
>> >>>>>> http://www.lists.cs.ucla.edu/mailman/listinfo/nfd-dev
>> >>>>
>> >>>> _______________________________________________
>> >>>> Nfd-dev mailing list
>> >>>> Nfd-dev at lists.cs.ucla.edu
>> >>>> http://www.lists.cs.ucla.edu/mailman/listinfo/nfd-dev
>> >>>
>> >>>
>> >>>
>> >>> _______________________________________________
>> >>> Nfd-dev mailing list
>> >>> Nfd-dev at lists.cs.ucla.edu
>> >>> http://www.lists.cs.ucla.edu/mailman/listinfo/nfd-dev
>> >>>
>> > _______________________________________________
>> > Nfd-dev mailing list
>> > Nfd-dev at lists.cs.ucla.edu
>> > http://www.lists.cs.ucla.edu/mailman/listinfo/nfd-dev
>> 
>> 
>> _______________________________________________
>> Nfd-dev mailing list
>> Nfd-dev at lists.cs.ucla.edu
>> http://www.lists.cs.ucla.edu/mailman/listinfo/nfd-dev
>> _______________________________________________
>> Nfd-dev mailing list
>> Nfd-dev at lists.cs.ucla.edu
>> http://www.lists.cs.ucla.edu/mailman/listinfo/nfd-dev
> 





More information about the Nfd-dev mailing list