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/ndncert
An 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.