NetKey、AppKey、DevKey和Session Key

在通信阶段使用NetKey,AppKey和DevKey。

Network Key:用来在Network Layer加密通信数据。NetKey是16字节。NetKey使用随机数产生方式,避免冲突。NetKey属于Configuration Client维护的NetKey List(12bits NetKey Index),可以多达4096个NetKey。可以通过Config NetKey Add的Message来给Node分配NetKey。

Application Key:用来在Upper Transport Layer加密通信数据。在Provisioning结束后,进入Configuration过程,添加AppKey并且把AppKey和具体的Model绑定。一个Model可以有251个AppKey。APPKey是16字节。AppKey使用随机数产生方式,避免冲突。APPKey属于Configuration Client维护的APPKey List(12bits AppKey Index),可以多达4096个AppKey。可以通过Config AppKey Add的Message来给Node分配AppKey。

NetKey Index(12bits)+AppKey Index(12bits)=24bits,使用3个字节表达。

Device Key:Configuration Client(比如Provisioner)通过这个密钥来管理Node,同时发布更新的网络信息和Application Key。

Configuration message通过这个Key来加密信息。

一个节点可以有一个Device Key,多个AppKey,多个NetKey,如下图所示:



Session Key:Provisioning过程使用到这个Key,在Provisioning的交换公开密钥获得ECDHSecret以及认证通过后,通过k1算法获得Session

Key。然后,Provisioner和Device用这个Session Key交换Provisioning Data。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,461评论 19 139
  • =========================================================...
    lavor阅读 8,831评论 0 5
  • 在我搭建基于Spring Cloud的微服务体系应用的时候所需要或者是常用的属性配置文件,还有这些属性的用途,此配...
    StrongManAlone阅读 9,607评论 0 18
  • 相识当年岁月 沉迷此时黄金 弥漫整夜风霜 拨开万里冬青
    诸葛万里阅读 949评论 0 0
  • 昨晚又做了一个大学时代的梦,似乎这大半年来时常会做上大学时的梦,也不知道什么原因。不过昨晚的梦倒挺有意思,醒来的时...
    三叶日行记阅读 1,592评论 0 1