[Ndn-interest] [Question] What's the purpose of the NFD's default signing key?

Lan Wang (lanwang) lanwang at memphis.edu
Thu Feb 23 05:58:30 PST 2017


Alex,

Thank you for the information.  Just a few clarification questions:

On Feb 22, 2017, at 11:22 PM, Alex Afanasyev <aa at cs.ucla.edu<mailto:aa at cs.ucla.edu>> wrote:

As Lan pointed out already, [1] is very old guide for NDNx codebase and many statements there don't apply to NFD.

The "default" key that is created by nfd-start is only used to sign responses for NFD management requests and commands and current tools don't do validation of the responses.  The applications and tools that want to register prefixes with NFD, they need to use keys that are authorized by NFD for this operation.

Why and how do applications and tools get keys authorized by NFD?  Does every application need to do this?

Lan

 In our default deployment, we have a very relaxed policy to allow any local registrations, which can be tied up in nfd.conf.  The default policy for "remote" registration (using /localhop/nfd) is to deny all and on our testbed nodes we require commands to be signed by a valid NDN Testbed certificate.

---
Alex

On Feb 21, 2017, at 10:55 AM, Lei Pi <lpi at memphis.edu<mailto:lpi at memphis.edu>> wrote:

Hi,

While
​reading
 documents on redmine, I found myself confused
​ with​
​
​
​
​
the "Using registerPrefix with NFD" part of article "Application Development Documentation / Guides"[1].
​ ​
The original text of the article goes as follows:

>>> When you install NFD, it installs a default signing key on your system. For registerPrefix to create a signed command interest using this default signing key, your application needs to use the default KeyChain constructor and call setCommandSigningInfo so that the Face can sign the command interest created by registerPrefix

​But
​ ​
when an application sends out a command interest, the recipient
​should
 check if the interest's signing key is finally signed by an
​administrator's
 signing key in order to reject unauthorized commands
​.​


So what's the purpose of the NFD's default signing key? Why should the app use this key
​ to initialize its identity​
? Note the NFD's default signing key is not signed by anyone
​[2].​

If it is also
​ for
 defend
​ing​
against unauthorized command interests, then any local app, including possible malwares, can also use this key to sign their interest by simply using the default keychain.
If not, what other purpose could it be?


​[1] https://redmine.named-data.net/projects/application-development-documentation-guides/wiki/Using_Client_Libraries_with_NDNx_vs_NDNx-TLV_vs_NFD#Using-registerPrefix-with-NFD
​[2] https://github.com/named-data/NFD/blob/master/tools/nfd-start.sh#L42 ​

​

Thank you. ​
--
Regards,
Lei
​Pi
University of Memphis​
_______________________________________________
Ndn-interest mailing list
Ndn-interest at lists.cs.ucla.edu<mailto:Ndn-interest at lists.cs.ucla.edu>
http://www.lists.cs.ucla.edu/mailman/listinfo/ndn-interest

_______________________________________________
Ndn-interest mailing list
Ndn-interest at lists.cs.ucla.edu<mailto:Ndn-interest at lists.cs.ucla.edu>
http://www.lists.cs.ucla.edu/mailman/listinfo/ndn-interest

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.lists.cs.ucla.edu/pipermail/ndn-interest/attachments/20170223/4eb62010/attachment.html>


More information about the Ndn-interest mailing list