Zhiyi Zhang
Apr 2020
An identity is a name that is associated with a pair of public/private key pair.
Each key pair also has a name
example is identity nameKEY is a const component in all NDN key names123 is key IDA certificate is an Data packet whose content is the public key bits and is signed by a CA
A device can have multiple identities.
/zhiyi-home/laptop, /ndn/edu/ucla/zhiyi, /ndn/edu/ucla/ndncertAn identity can have multiple keys.
/ndn/edu/ucla/zhiyi has multiple keys because I keep renewing my key pair for best practiceEach key can have multiple certificates.
/ndn/edu/ucla/zhiyi/KEY/123 can have multiple certificates: a self-signed certificate, and a number of certificates issued by the NDN testbed CA.Trust schema is based on identities, keys, and certificates.
/home/<>*: /home/temperature, /home/bedroom/heater/home/zhiyi/KEY/<>: only Zhiyi's key can be used to sign these Interest/Data packets/home/zhiyi/KEY/123 and impersonate me.In ValidatorConfig's syntax that has been supported by ndn-cxx.
You can use it in your program 😄
rule
{
id "home data rule"
for data
filter
{
type name
name /home
relation is-prefix-of
}
checker
{
type customized
sig-type rsa-sha256
key-locator
{
type name
name /home/zhiyi
relation is-prefix-of
}
}
}
trust-anchor
{
type file
file-name "anchor.cert"
}
Find more details from the NDN website.