发明名称 面向城市安防的摄录设备实体认证方法
摘要 本发明提供一种面向城市安防的摄录设备实体认证方法,包括下述步骤:NVR封装并向终端发送M1认证激活分组;终端在收到M1认证激活分组后进行处理,并封装一个M2接入认证请求分组发送给NVR;NVR在收到M2接入认证请求分组后进行处理,并封装一个M3证书认证请求分组发送给认证服务器;认证服务器在收到M3证书认证请求分组后进行处理,并封装一个M4证书认证响应分组发送给NVR;NVR在收到M4证书认证响应分组后进行处理,并封装一个M5接入认证响应分组并发送给终端;终端在接收到NVR发送的M5接入认证响应分组后,进行进一步的处理。本发明用以对安防系统中通信实体之间的安全通信进行安全防护。
申请公布号 CN103905448A 申请公布日期 2014.07.02
申请号 CN201410130070.9 申请日期 2014.04.01
申请人 江苏物联网研究发展中心 发明人 姚尧;吕世超;芦翔;潘磊;周新运;孙利民;孙兆曙
分类号 H04L29/06(2006.01)I;H04L9/32(2006.01)I 主分类号 H04L29/06(2006.01)I
代理机构 无锡市大为专利商标事务所(普通合伙) 32104 代理人 曹祖良
主权项 一种面向城市安防的摄录设备实体认证方法,其特征在于,包括下述步骤:步骤一,NVR封装并向终端发送M1认证激活分组;M1认证激活分组包括下述字段:M1中的分组标识字段、M1中的认证标识字段、M1中的NVR随机数、认证激活时间、本地认证服务器的身份字段、M1中的ECDH曲线参数字段、M1中的NVR证书字段、M1中的NVR签名字段;其中:若M1中的分组标识字段的最低位的值为1,则M1中的认证标识字段采用以下算法来生成:auth_id1=SHA256(n<sub>NVR</sub>⊕Time<sub>active</sub>);若M1中的分组标识字段的最低位的值为0,则此时M1中的认证标识字段的值为上一次证书认证过程所协商的认证标识;M1中的NVR随机数n<sub>NVR</sub>由NVR采用随机数生成算法生成;Time<sub>active</sub>表示认证激活时间;本地认证服务器的身份字段表示NVR信任的认证服务器,本地认证服务器的身份字段的内容为认证服务器的账号;M1中的NVR证书字段中包含了NVR的证书;M1中的NVR签名字段是对M1分组中除了本字段之外所有其它数据字段的签名;步骤二,终端在收到M1认证激活分组后进行处理,并封装一个M2接入认证请求分组,然后将M2分组发送给NVR;具体包括:2‑1.终端收到M1认证激活分组后,存储NVR的证书,从NVR的证书中提取NVR证书公钥,用NVR证书公钥验证收到的M1分组中的NVR签名,若验证通过则进行步骤2‑2,否则解除终端与NVR之间的链接;2‑2.终端对比M1分组中的认证激活时间和自己的系统时间,如果二者在可接受时间范围内,则进行步骤2‑3,否则解除终端与NVR之间的链接;2‑3.终端查验M1分组中的本地认证服务器的身份字段,查看该字段中的认证服务器账号是否是自己想要连接的认证服务器,若是则进行步骤2‑4,否则解除终端与NVR之间的链接;2‑4.终端依据接收到的M1分组中的NVR随机数n<sub>NVR</sub>以及认证激活时间Time<sub>active</sub>,采用和M1中相同的方法计算得到M2中的认证标识字段,并与M1中的认证标识字段对比,若一致则进行步骤2‑5,否则解除终端与NVR之间的链接;2‑5.终端生成终端随机数n<sub>Terminal</sub>,根据M1分组中的ECDH曲线参数采用ECDH算法生成终端的临时私钥x和终端的临时公钥x·P,将终端临时公钥x·P作为终端密钥数据keydata<sub>Terminal</sub>;2‑6.终端封装M2接入认证请求分组并发送给NVR,M2接入认证请求分组包括下述字段:M2中的分组标识字段、M2中的认证标识字段、M2中的终端随机数、M2中的终端密钥数据、M2中的NVR随机数、M2中的NVR身份字段、M2中的ECDH曲线参数字段、M2中的终端证书字段、M2中的终端签名字段;其中:M2中的认证标识字段值与M1中的认证标识字段值相同;M2中的终端随机数n<sub>Terminal</sub>由终端采用随机数生成算法生成;M2中的终端密钥数据的内容是终端生成的用于ECDH交换的终端临时公钥x·P;M2中的NVR随机数与M1分组中的NVR随机数一致;M2中的NVR身份字段的内容为NVR的账号ID<sub>NVR</sub>;M2中的ECDH曲线参数字段与M1分组中的ECDH曲线参数字段相同;M2中的终端证书字段中包含了终端的证书;M2中的终端签名字段是对M2分组中除了本字段之外所有其它数据字段的签名;步骤三,NVR在收到M2接入认证请求分组后进行处理,并封装一个M3证书认证请求分组,然后将M3分组发送给认证服务器;具体包括:3‑1.NVR收到M2接入认证请求分组后,保存终端的证书,从终端的证书中提取终端证书公钥,用终端证书公钥验证收到的M2分组中的终端签名,若验证通过则进行步骤3‑2,否则解除终端与NVR之间的链接;3‑2.NVR查看M2中的NVR身份字段的内容是否是自己本身的账号,如果是,则进行步骤3‑3,否则解除终端与NVR之间的链接;3‑3.NVR查看M2中的NVR随机数是否与M1中的一致,如果一致则进行步骤3‑4,否则解除终端与NVR之间的链接;3‑4.NVR封装M3证书认证请求分组并发送给认证服务器;M3证书认证请求分组包括下述字段:M3中的IP地址索引字段、M3中的终端随机数、M3中的NVR随机数、M3中的终端证书字段、M3中的NVR证书字段、M3中的NVR签名字段;其中:M3中的IP地址索引字段由终端的IP地址||NVR的IP地址组成;M3中的终端随机数,与M2中的终端随机数一致;M3中的NVR随机数,与M2中的NVR随机数一致;M3中的终端证书字段,与M2中的终端证书字段一致;M3中的NVR证书字段,与M1中的NVR证书字段一致;M3中的NVR签名字段是对M3分组中除了本字段之外所有其它数据字段的签名;步骤四,认证服务器在收到M3证书认证请求分组后进行处理,并封装一个M4证书认证响应分组,然后将M4分组发送给NVR;具体包括:4‑1.认证服务器收到M3证书认证请求分组后,保存NVR的证书,从NVR的证书中提取NVR证书公钥来验证M3分组中的NVR签名,若验证通过则进行步骤4‑2,否则解除NVR与认证服务器之间的链接;4‑2.认证服务器验证终端证书和NVR证书,生成两个对应的证书验证结果,并使用自己的私钥来对证书验证结果字段签名;4‑3.认证服务器封装M4证书认证响应分组并发送给NVR;M4证书认证响应分组包括下述字段:M4中的IP地址索引字段、M4中的证书验证结果字段、M4中的认证服务器对证书验证结果字段的签名字段、M4中的认证服务器对M4分组的签名字段;M4中的IP地址索引字段的值和M3证书认证请求分组中的IP地址索引字段的值相同;M4中的证书验证结果字段中包含两个一次性随机数,第一个一次性随机数值和M3证书认证请求分组中的终端随机数相同,第二个一次性随机数值和M3证书认证请求分组中的NVR随机数相同;M4中的证书验证结果字段中还包含两个证书验证结果,第一个证书验证结果对应于M3证书认证请求分组中的终端证书,第二个证书验证结果对应于M3证书认证请求分组中的NVR证书;M4中的认证服务器对证书验证结果字段的签名字段,该字段内容为认证服务器单独地对证书验证结果字段的签名;M4中的认证服务器对M4分组的签名字段,是对M4分组中除了本字段之外所有其它数据字段的签名;步骤五,NVR在收到M4证书认证响应分组后进行处理,并封装一个M5接入认证响应分组,然后将M5分组发送给终端;具体包括:5‑1.NVR在认证前存有认证服务器的证书,在收到M4证书认证响应分组后,从认证服务器的证书中提取认证服务器证书公钥来验证M4中的认证服务器对M4分组的签名,若验证通过则进行步骤5‑2,否则解除NVR与认证服务器之间的链接;5‑2.NVR验证M4中的终端随机数和NVR随机数是否正确,如果正确则进行步骤5‑3,否则解除NVR与认证服务器之间的链接;5‑3.NVR从M4中提取M4中的证书验证结果字段和M4中的认证服务器对证书验证结果字段的签名字段,先用认证服务器证书公钥验证M4中的认证服务器对证书验证结果字段的签名,再通过查看终端的证书验证结果来决定是否允许终端接入和注册,如果允许终端接入和注册的话,则进行步骤5‑4,否则不允许终端接入和注册,则断开NVR和终端的链接;5‑4.NVR根据M1分组中的ECDH曲线参数采用ECDH算法生成NVR的临时私钥y和NVR的临时公钥y·P,将NVR的临时公钥y·P作为NVR密钥数据keydata<sub>NVR</sub>;NVR生成终端的接入结果,然后进行步骤5‑5;步骤5‑5.NVR运行ECDH算法,根据NVR临时私钥y和终端临时公钥x·P计算得到NVR侧主密钥;步骤5‑6.NVR封装M5接入认证响应分组并发送给终端;M5接入认证响应分组包括下述字段:M5中的分组标识字段、M5中的认证标识字段、M5中的终端随机数、M5中的NVR随机数、M5中的NVR密钥数据、M5中的接入结果字段、M5中的证书验证结果字段、M5中的认证服务器对证书验证结果字段的签名字段、M5中的NVR签名字段;其中:M5中的认证标识字段值与M1认证激活分组、M2接入认证请求分组中的认证标识字段值相同;M5中的终端随机数,与M2分组中的终端随机数一致;M5中的NVR随机数,与M1和M2分组中的NVR随机数一致;M5中的NVR密钥数据,是NVR生成的用于ECDH交换的NVR临时公钥y·P;M5中的接入结果字段用于表示是否允许接入终端;M5中的证书验证结果字段与M4中的证书验证结果字段一致;M5中的认证服务器对证书验证结果字段的签名字段与M4中的认证服务器对证书验证结果字段的签名字段一致;M5中的NVR签名字段是对M5分组中除了本字段之外所有其它数据字段的签名;步骤六.终端在接收到NVR发送的M5接入认证响应分组后,进行进一步的处理;处理的流程如下:6‑1.终端使用NVR证书公钥来验证M5分组中的NVR签名,若验证通过则进行步骤6‑2,否则解除终端与NVR之间的链接;6‑2.终端验证M5中的终端随机数、NVR随机数以及M5中的认证标识字段是否与M2分组中相应的字段一致,如果一致则进行步骤6‑3,否则解除终端与NVR之间的链接;6‑3.终端提取M5中的证书验证结果字段以及M5中的认证服务器对证书验证结果字段的签名字段;终端上也存有认证服务器的证书,从认证服务器的证书中提取认证服务器证书公钥来验证M5中的认证服务器对证书验证结果字段的签名,若验证通过则进行步骤6‑4,否则解除终端与NVR之间的链接;6‑4.终端从M5中的证书验证结果字段中查看NVR的证书验证结果,并查看M5中的接入结果字段,如果NVR的证书验证结果正确并且终端的接入结果也为允许的话,则终端运行ECDH算法,根据终端临时私钥x和NVR临时公钥y·P计算得到终端侧主密钥。
地址 214135 江苏省无锡市新区菱湖大道200号中国传感网国际创新园C座