
 
A  software  developer  of  IoT  components 
supports  an  ICS  with  stores identity  certificates  of 
all sold code and code updates. The certificates do 
not  contain  any  public  keys,  just  signed  and  time 
stamped hashes of provided code. The certificate can 
have  a  status  signed  by  the  developer,  e.g. 
“depreciated  code”.  The  status  should  be  time 
stamped too. 
If  a  given  code,  when  running,  is  a 
communicating  entity  in  the  IoT  system,  then  the 
entity has to be authenticated. If the entity runs on a 
device  having  a  cryptoprocessor,  then  the 
cryptoprocessor can sign an authentication message 
to be sent, and even to cipher messages if needed. 
An  IoT  device  or  gateway  does  not  have  to  be 
equipped in a cryptoprocessor, when it is placed in a 
physically  secure  environment.  In  that  case  the 
ciphering  keys  are  generated  on  the  device  during 
setup time together with the corresponding identity 
certificate.  Then  the  certificate  is  stored  in 
corresponding  infield  and  maintenance  ICSes. 
Similarly,  IoT  services,  running  somewhere  in  the 
Internet or in an intranet, have keys and certificates 
generated during setup time.  
Depending  on  the  purpose  of  the  IoT  system, 
access to the infield and maintenance ICSes can be 
opened  to  any  Internet query,  or  can  be  protected. 
The first case suits those IoT systems that offer data 
for  public  usage  directly  from  IoT  devices, 
guaranteeing  their  source.  In  the  second  case,  the 
IoT system is a private one, and is accessible via the 
Internet using VPNs or it offers only pre-processed 
data via network services.  
Many  IoT  systems  are  closed  solutions  for 
private  usages.  However,  there  are  some  publicly 
accessible  IoT  devices  or  services  to  find  in  the 
Internet.  There  are  concepts,  and  may  be  already 
deployments,  of  federated  systems  (where  services 
of  one  owner  can  access  devices  belonging  to 
another  one).  There  are  also  concepts  of  mobile 
devices that can move from one gateway to another. 
The more open is a system the more important is the 
identity checking. Moreover, trust information about 
IoT  devices  and  services  becomes  desired.  The 
ICSes  help  to  quickly  find  and  check  identity  of 
entities in question. Moreover, a relevant party may 
sign trust label of a selected device or service adding 
that signature to the identity certificate in its ICS. A 
certification body that approves legality of medical 
devices  or  services  could  be  such  a  party.  The 
certification  body  can  maintain  its  own  ICS  to 
enable easy access to certified by the body identities 
of approved devices/services.  
The  described  ICSes  should  be  able  to 
communicate with each other, to download required 
certificates  or  to  update  their  status.  The  ICSes 
belong  to  different  parties  and  can  run  on  various 
computer platforms. To facilitate the communication 
a common  protocol has  to be  chosen and  standard 
data structures for certificate representation has to be 
applied.  
Key servers widely used today could be adapted 
to  the  schema  described  above.  A  common 
infrastructure  for  carrying  signed  identities  of 
components  would  be  efficient,  even  if  some  of 
them  do  not  have  attached  public  keys  (i.e.  code 
identities).  LDAP/LDAPS  could  be  applied  for 
message exchange between ISCes. OpenPGP can be 
used  and  may  be  extended  as  a  data  structure 
standard for IoT identity certificates. An attempt of 
such  extension  has  been  already  proposed  in  an 
Internet-draft (Atkins 2015). This draft defines a set 
of notations that may be used when signing an IoT 
device certificate. However the draft does not cover 
code  identities,  neither  above-mentioned  attributes 
of IoT devices or code status. 
5  CONCLUSIONS 
The  techniques  for  digital  certification  available 
nowadays  can  be  used  in  IoT  systems  to  improve 
security of gathered data and to provide better trust 
for  the  systems.    However  they  do  not  allow 
building  such  infrastructure  of  cooperating  ICS  as 
described  in  the  previous  chapter.  The  proposed 
infrastructure could help in more efficient certificate 
distribution  between  the  parties  concerned.  It  is 
expected  that  IoT  system  will  be  very  numerous. 
Therefore, we could deploy such ISC infrastructures 
along  with  them  without  scalability  problems. 
Moreover, the infrastructure provides two important 
features: identification of responsible parties thanks 
to  their  certificates,  and  cryptographically  secured 
states  of  IoT  components  (which  can  change  over 
time). The features could strengthen security of IoT 
systems, and ease their software design. 
We are going to check out the presented above 
concept  building  an  experimental  network  of 
cooperating ICSes. The network will serve a set of 
sensors  attached  to  a  gateway.  Stored  certificates 
will be grouped in domains related to responsibilities 
of  ICSes’  owners.  Access  rights  for  reading  and 
updating  of  the  domains  will  be  defined  in  policy 
descriptors.  Automatic  certificate  synchronization 
could  be  performed  according  to  the  policies. 
Moreover,  we  are  going  to  propose  a  structure  of 
Key-Server Adaptation to IoT Systems
159