blob: b456d5630cda2c6a019d217c5df6f48a2288d162 [file] [log] [blame]
Vince Lehmanb722b102014-08-24 16:33:49 -05001Security Configuration
2=======================
3
4.. toctree::
5..
6
7The trust model of NLSR is semi-hierarchical. An example certificate signing hierarchy is:
8
9::
10
11 root
12 |
13 +--------------+---------------+
14 site1 site2
15 | |
16 +---------+---------+ +
17 operator1 operator2 operator3
18 | | |
19 +-----+-----+ +----+-----+ +-----+-----+--------+
20 router1 router2 router3 router4 router5 router6 router7
21 | | | | | | |
22 + + + + + + +
Ashlesh Gawande39cf81a2018-02-22 13:37:07 -060023 NLSR NLSR NLSR NLSR NLSR NLSR NLSR
Vince Lehmanb722b102014-08-24 16:33:49 -050024
Alexander Afanasyev7decbbf2014-08-24 21:29:01 -070025Each entity's name and corresponding certificate name follow the
Vince Lehmanb722b102014-08-24 16:33:49 -050026convention below:
27
28======== ===================================================== ================================= ===============================================
29Entity Identity Name Example Certificate Name Example
30-------- ----------------------------------------------------- --------------------------------- -----------------------------------------------
Ashlesh Gawande39cf81a2018-02-22 13:37:07 -060031root /\<network\> /ndn /ndn/KEY/1/%00/%01
32site /\<network\>/\<site\> /ndn/edu/ucla /ndn/edu/ucla/KEY/2/%00/%01
33operator /\<network\>/\<site\>/%C1.Operator/\<operator-name\> /ndn/edu/ucla/%C1.Operator/op1 /ndn/edu/ucla/%C1.Operator/op1/KEY/3/%00/%01
34router /\<network\>/\<site\>/%C1.Router/\<router-name\> /ndn/edu/ucla/%C1.Router/rt1 /ndn/edu/ucla/%C1.Router/rt1/KEY/4/%00/%01
35NLSR /\<network\>/\<site\>/%C1.Router/\<router-name\>/NLSR /ndn/edu/ucla/%C1.Router/rt1/NLSR /ndn/edu/ucla/%C1.Router/rt1/NLSR/KEY/5/%00/%01
Vince Lehmanb722b102014-08-24 16:33:49 -050036======== ===================================================== ================================= ===============================================
37
David Arjona2fa23ea2018-11-28 11:50:38 -060038Users should create keys according to the naming and signing hierarchies above. The
39``%C1.Operator`` and ``%C1.Router`` labels are NDN keywords that should not be modified
40by the user.
Vince Lehmanb722b102014-08-24 16:33:49 -050041
Ashlesh Gawandeb4567f42017-04-28 14:40:39 -050042
43.. note::
44
David Arjona2fa23ea2018-11-28 11:50:38 -060045 Detailed information about key setup is given in NLSR Developer's Guide and the
46 :doc:`beginners-guide`.
Ashlesh Gawandeb4567f42017-04-28 14:40:39 -050047
Vince Lehmanb722b102014-08-24 16:33:49 -050048Certificate Publishing
49----------------------
50
51In a network, every router should have the root certificate configured as a trust
52anchor. For each site, at least one router should publish the site certificate, and at
53least one router should publish the certificate of the site operator. Each router should
54publish its own certificate. All this information should be explicitly specified in the
55nlsr.conf file. For example, the following configuration file indicates that NLSR should
56publish the site certificate and the router certificate:
57
58::
59
60 ...
61 security
62 {
63 validator
64 {
65 ...
66 }
67 cert-to-publish "site.cert" ; name of the file which contains the site certificate (optional).
68 cert-to-publish "router.cert" ; name of the file which contains the router certificate (required).
69 ...
70 }