可证明安全的物联网设备网络流量整形方法技术

技术编号:29683518 阅读:15 留言:0更新日期:2021-08-13 22:07
本发明专利技术提出了一种可证明安全的物联网设备网络流量整形方法,包括以下步骤:步骤1)客户端生成随机数k

【技术实现步骤摘要】
可证明安全的物联网设备网络流量整形方法
本专利技术涉及物联网隐私信息安全防护
,具体设计一种物联网设备网络流量整形方法。
技术介绍
近年来,物联网设备(智能手环、智能门禁等)在日常生活中越来越普遍。但是,在极大地方便人们日常生活的同时,物联网设备也带来了新的安全隐患。物联网设备的一个内在功能是,当用户的行为发生改变时,物联网设备将会响应该事件,进而产生更多网络数据。例如用户通过智能门禁开门时,网络流量速率产生一个峰值。根据该特点,攻击者可推断出用户何时出门、何时回家等生活习惯。因而物联网设备的网络流量外在特征(如速率、报文长度、报文时间间隔)与用户具体活动相关。即使传输内容己加密,攻击者仍可据此推断出用户活动的时间和类型。因此物联网设备用户的隐私安全面临着严峻的考验。为了阻止攻击者根据网络流量外在特征推断出用户的活动模式,现有工作提出了很多的解决方案来消除物联网设备网络流量的特殊特征。其中主要的方法是进行流量填充,物联网设备随机发送一些填充报文,攻击者无法区分出哪些是真实的报文,哪些是填充报文。经过流量填充后的网络流量特征不同于填充之前的流量特征,从而达到迷惑攻击者的目的。
技术实现思路
本专利技术的目的是提供一种可证明安全的物联网设备网络流量整形方法,以原有的报文时间间隔和报文长度为输入,产生新的、随机化的报文时间间隔和报文长度,使得攻击者无法从新的报文时间间隔和报文长度推断出与原报文时间间隔和报文长度相关的任何信息,从而保护了用户隐私信息。本专利技术的目的是这样实现的:一种可证明安全的物联网设备网络流量整形方法,其特征在于,包括以下步骤:步骤1)客户端生成随机数k1和r1,以k1为客户端私钥,计算客户端公钥Pc=gk1modq,q为已知素数,g为素数q的一个生成元,将Pc和随机数r1发送给服务端;步骤2)服务端生成随机数k2和r2,以k2为服务端端私钥,计算服务端公钥PS=gk2modq,q为已知素数,g为素数q的一个生成元,发送公钥PS、随机数r2、报文长度的最大值Lmax、报文长度的最小值Lmin、报文时间间隔的最大值Imax给客户端,报文时间间隔的最小值不用发送,默认为0;步骤3)客户端和服务端利用各自的私钥和对方的公钥,计算出共同密钥k;步骤4)客户端发送,客户端计算h1=HMAC(k|r1|r2|count),计算I=h1modImax得到数据发送的时间间隔;计算h2=HMAC(k|r1|r2|count|h1),计算L=h2mod(Lmax-Lmin)+Lmin得出数据发送长度,客户端等待I时间,发送长度为L的报文,其中,|表示字符串联,count初始为零,每发送一个报文,count值加1,HMAC是一种基于密钥的消息认证码算法,它所产生的消息认证码是一个伪随机串;客户端接收,客户端将接收到的报文进行还原。步骤5)服务端发送,服务端计算h1=HMAC(k|r2|r1|count),计算I=h1modImax得到数据发送的时间间隔;计算h2=HMAC(k|r2|r1|count|h1),计算L=h2mod(Lmax-Lmin)+Lmin得出数据发送长度,服务端等待I时间,发送长度为L的报文,其中,|表示字符串联,count初始为零,每发送一个报文,count值加1,HMAC是一种基于密钥的消息认证码算法,它所产生的消息认证码是一个伪随机串;服务端接收,服务端将接收到的报文进行还原。作为本专利技术的进一步限定,所述步骤3)中根据Deffie-Hellman密钥交换算法,客户端和服务端可利用自己的私钥和对方的公钥,计算出共同密钥k,对于客户端,k计算为:对于服务端端,k计算为:作为本专利技术的进一步限定,所述步骤4)具体步骤如下:步骤4-1)客户端计算h1=HMAC(k|r1|r2|count),后计算I=h1modImax得到数据发送的时间间隔;步骤4-2)计算h2=HMAC(k|r1|r2|count|h1),后计算L=h2mod(Lmax-Lmin)+Lmin得出数据发送长度;步骤4-3)读取消息队列,若无消息,则填充数据至L长度,封装数据,增加“数据类型”字段,并将该字段赋值为0;增加“结束状态”字段,并将该字段赋值为0;增加“长度”字段,并将该字段赋值为0;步骤4-4)若有消息,则读取消息队列中的消息,记消息长度为N,若N>L,读取长度为L的数据内容;封装数据,增加“数据类型”字段,并将该字段赋值为1;增加“结束状态”字段,并将该字段赋值为0;增加“长度”字段,并将该字段赋值为L,剩余的数据内容放回到队头中;否则,读取长度为N的数据内容并填充至L长度;封装数据,增加“数据类型”字段,并将该字段赋值为1;增加“结束状态”字段,并将该字段赋值为1;增加“长度”字段,并将该字段赋值为N;步骤4-5)等待I时间,发送报文;每发送一个报文,count值加1。步骤4-6)重复步骤4-1)到步骤4-5)直到客户端所有数据发送完毕。步骤4-7)客户端构建数据接收缓冲区C,C初始化为空值;步骤4-8)客户端接收服务端发送的报文;步骤4-9)客户端判断接收报文中的“数据类型”字段值,若为0,执行步骤4-10);若为1,执行步骤4-11),否则,报错;步骤4-10)丢弃全部数据内容;步骤4-11)根据‘长度’字段读取全部数据内容,判断“结束状态”字段值,若为0,将读取的数据内容保存至C,执行步骤4-8);否则,若为1,将读取的数据内容保存至C,并将C中的所有内容提交至正常业务程序,清空C中内容,继续执行步骤4-8)直至所有数据接收完毕。作为本专利技术的进一步限定,所述步骤5)具体步骤如下:步骤5-1)服务端端发送报文的时间间隔计算为:h1=HMAC(k|r2|r1|count),计算I=h1modImax得到数据发送的时间间隔;步骤5-2)服务端端发送报文的长度计算为:计算h2=HMAC(k|r2|r1|count|h1),后计算L=h2mod(Lmax-Lmin)+Lmin得出数据发送长度;步骤5-3)读取消息队列,若无消息,则填充数据至L长度,封装数据,增加“数据类型”字段,并将该字段赋值为0;增加“结束状态”字段,并将该字段赋值为0;增加“长度”字段,并将该字段赋值为0;步骤5-4)若有消息,则读取消息队列中的消息,记消息长度为N,若N>L,读取长度为L的数据内容;封装数据,增加“数据类型”字段,并将该字段赋值为1;增加“结束状态”字段,并将该字段赋值为0;增加“长度”字段,并将该字段赋值为L,剩余的数据内容放回到队头中;否则,读取长度为N的数据内容并填充至L长度;封装数据,增加“数据类型”字段,并将该字段赋值为1;增加“结束状态”字段,并将该字段赋值为1;增加“长度”字段,并将该字段赋值为N;步骤5-5)等待I时间,发送报文;每发送一个报文,count值加1。步骤5-6)重复步骤5-1)到步骤5-5)本文档来自技高网...

【技术保护点】
1.一种可证明安全的物联网设备网络流量整形方法,其特征在于,包括以下步骤:/n步骤1)客户端生成随机数k

【技术特征摘要】
1.一种可证明安全的物联网设备网络流量整形方法,其特征在于,包括以下步骤:
步骤1)客户端生成随机数k1和r1,以k1为客户端私钥,计算客户端公钥Pc=gk1modq,q为已知素数,g为素数q的一个生成元,将Pc和随机数r1发送给服务端;
步骤2)服务端生成随机数k2和r2,以k2为服务端端私钥,计算服务端公钥PS=gk2modq,q为已知素数,g为素数q的一个生成元,发送公钥PS、随机数r2、报文长度的最大值Lmax、报文长度的最小值Lmin、报文时间间隔的最大值Imax给客户端,报文时间间隔的最小值不用发送,默认为0;
步骤3)客户端和服务端利用各自的私钥和对方的公钥,计算出共同密钥k;
步骤4)客户端发送,客户端计算h1=HMAC(k|r1|r2|count),计算I=h1modImax得到数据发送的时间间隔;计算h2=HMAC(k|r1|r2|count|h1),计算L=h2mod(Lmax-Lmin)+Lmin得出数据发送长度,客户端等待I时间,发送长度为L的报文,其中,|表示字符串联,count初始为零,每发送一个报文,count值加1,HMAC是一种基于密钥的消息认证码算法,它所产生的消息认证码是一个伪随机串;客户端接收,客户端将接收到的报文进行还原。
步骤5)服务端发送,服务端计算h1=HMAC(k|r2|r1|count),计算I=h1modImax得到数据发送的时间间隔;计算h2=HMAC(k|r2|r1|count|h1),计算L=h2mod(Lmax-Lmin)+Lmin得出数据发送长度,服务端等待I时间,发送长度为L的报文,其中,|表示字符串联,count初始为零,每发送一个报文,count值加1,HMAC是一种基于密钥的消息认证码算法,它所产生的消息认证码是一个伪随机串;服务端接收,服务端将接收到的报文进行还原。


2.根据权利要求1所述的物联网设备网络流量整形方法,其特征在于,所述步骤3)中根据Deffie-Hellman密钥交换算法,客户端和服务端可利用自己的私钥和对方的公钥,计算出共同密钥k,对于客户端,k计算为:对于服务端端,k计算为:


3.根据权利要求2所述的物联网设备网络流量整形方法,其特征在于,所述步骤4)具体步骤如下:
步骤4-1)客户端计算h1=HMAC(k|r1|r2|count),后计算I=h1modImax得到数据发送的时间间隔;
步骤4-2)计算h2=HMAC(k|r1|r2|count|h1),后计算L=h2mod(Lmax-Lmin)+Lmin得出数据发送长度;
步骤4-3)读取消息队列,若无消息,则填充数据至L长度,封装数据,增加“数据类型”字段,并将该字段赋值为0;增加“结束状态”字段,并将该字段赋值为0;增加“长度”字段,并将该字段赋值为0;
步骤4-4)若有消息,则读取消息队列中的消息,记消息长度为N,若N>L,读取长度为L的数据内容;封装数据,增加“数据类型”字段,并将该字段赋值为1;增加“结束状态”字段,并将该字段赋值为0;增加“长度”字段,并将该字段赋值为L,剩余的数据内容...

【专利技术属性】
技术研发人员:何高峰肖咸财魏千峰司勇瑞
申请(专利权)人:南京邮电大学
类型:发明
国别省市:江苏;32

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1