[0017] S3、网络服务器创建一个长度为n的比特数组,初始值都为0;然后从1‑n这n个自然数中,随机选择出不相同的m个自然数,并将m个自然数的每一个数在所述比特数组中的对应位置设置为1,形成一个n比特的初始位图;
[0018] S4、将所述n比特的初始位图进行t次的移位操作后,获得工作密码表位图;其中t为所述物联网终端的设备ID的哈希值转换的整数;
[0019] S5、网络服务器将所述工作密码表位图与所述基础凯撒密码表的行以及列分别进行配对,将基础凯撒密码表中对应的行和列来组成对应所述物联网终端的工作密码表;
[0020] S6、网络服务器将基础凯撒密码表、n比特的初始位图发送给所述物联网终端;所述物联网终端将所述n比特的初始位图进行t次的移位操作后,获得工作密码表位图;将所述工作密码表位图与所述基础凯撒密码表的行以及列分别进行配对,将基础凯撒密码表中对应的行和列来组成与网络服务器相同的工作密码表;使用工作密码表进行信息加密。
[0021] 进一步的,步骤S1中,所述基础凯撒密码表包含字母、数字和其他特殊字符。
[0022] 进一步的,步骤S2中,所述物联网终端首次接入网络服务器时,向网络服务器发送请求接入消息,该消息中包括物联网终端的设备ID和设备属性信息。
[0023] 进一步的,步骤S3中,随机选择出不相同的m个自然数的过程包括:
[0024] (1)创建一个空的集合或数组,用于存储随机选择的数字;
[0025] (2)初始化一个计数器,初始值为0;
[0026] (3)循环执行以下步骤,直到计数器为m:
[0027] 生成一个介于1到n之间的随机自然数r;
[0028] 如果集合或数组中已经包含随机自然数r,则返回重新生成随机自然数r;
[0029] 否则,将随机自然数r添加到所述集合或数组中,并将计数器加1;
[0030] (4)完成循环后,所述集合或数组中存储的m个数字即为随机选择的不相同的m个自然数。
[0031] 进一步的,步骤S4中,网络服务器设置第一hash函数并反馈给所述物联网终端,网络服务器将所述物联网终端的设备ID作为第一hash函数的输入,通过第一哈希函数获得哈希值。
[0032] 更进一步的,步骤S6中,所述物联网终端将设备ID作为第一hash函数的输入,通过第一哈希函数获得哈希值,使用与步骤S4同样的方法将哈希值转换为整数t。
[0033] 进一步的,步骤S5、S6中所述工作密码表更新的方法包括:
[0034] 当所述物联网终端与所述网络服务器以生成的工作密码表开始进行业务通信后,所述网络服务器确定通信业务对安全性的需求等级,根据该等级来确定工作密码表的更新周期;当更新周期到来时,所述网络服务器与所述物联网终端,重新执行步骤S3‑S6。
[0035] 本发明另一方面还提出了一种城市规划领域物联网终端的信息安全系统,所述系统应用了上述城市规划领域物联网终端的信息安全方法。
[0036] 与现有技术相比,本发明具有如下的有益效果:
[0037] 1)本发明提供了简化的加密机制:通过使用凯撒密码和较小的密码表,可以实现相对简单的加密机制。这减轻了物联网终端的计算负担,适应了资源受限的环境。
[0038] 2)本发明实现了设备个性化的信息安全:通过将设备ID与密码表关联,每个设备都可以有独特的密码表配置。这使得每个终端都有自己的加密设置,提供了个性化的安全性。
[0039] 3)本发明提供了基于哈希的设备验证:使用设备ID作为哈希函数的输入,并根据哈希值选择密码表的特定行和列,可以验证终端的身份。这提供了一种简单但有效的身份验证机制,确保通信的双方是预期的终端和服务器。
[0040] 4)本发明保护通信内容:凯撒密码可以对通信内容进行加密,提供一定的保护。即使在资源受限的环境中,也可以对数据进行一定程度的保密,防止未经授权的访问和窃听。
附图说明
[0041] 图1是本发明实施例的流程示意图。
具体实施方式
[0042] 需要说明的是,在不冲突的情况下,本发明中的实施例及实施例中的特征可以相互组合。
[0043] 为使本发明专利的目的、特征更明显易懂,下面结合附图对本发明专利的具体实施方式作进一步的说明。
[0044] 本实施例中,提出的方法流程如图1所示,包括参数设定阶段,工作密码表设定阶段和工作密码表更新阶段。
[0045] 一、参数设定阶段:
[0046] 步骤1:网络服务器上设置有基础凯撒密码表:创建一个n×n的基础凯撒密码表,包含字母、数字和其他特殊字符,确保包含所需的字符集。例如n×n是32×32。
[0047] 步骤2:当某个物联网终端首次接入网络服务器时,所述物联网终端向网络服务器发送请求接入消息,该消息中至少包括物联网终端的设备ID和设备属性信息。
[0048] 步骤3:网络服务器接收到请求接入消息后,保存设备ID,并根据物联网终端的设备属性信息来确定确定物联网设备类型,并根据物联网设备类型来分配对应的密码表大小:m×m,例如,选择8×8或16×16的密码表。所分配的密码表的大小与物联网设备的信息处理能有关。信息处理越小,则只能使用越小的密码表。其中m
[0049] 步骤4:网络服务器向所述物联网设备反馈基础凯撒密码表和第一hash函数。
[0050] 二、工作密码表设定阶段:
[0051] 步骤5:网络服务器创建一个长度为n的比特数组,初始值都为0,用于存储移位后的位图。
[0052] 步骤6:网络服务器从1‑n这n个自然数中,随机选择出不相同的m个自然数。
[0053] 随机选择流程如下:
[0054] 步骤6.1:创建一个空的集合或数组,用于存储随机选择的数字;
[0055] 步骤6.2:初始化一个计数器,初始值为0;
[0056] 步骤6.3:循环执行以下步骤,直到选择的数字达到m个:
[0057] 生成一个介于1到n之间的随机自然数r;
[0058] 如果集合或数组中已经包含随机自然数r,则返回到上一步,重新生成随机自然数r;
[0059] 否则,将随机自然数r添加到集合或数组中,并将计数器加1;
[0060] 完成循环后,集合或数组中存储的m个数字即为随机选择的结果。
[0061] 步骤7:根据步骤6所选择出的集合或数组中的每一个数值,在长度为n的比特数组中的对应位置设置为1。例如,该集合中存在一个数值为4,则将长度为n的比特数组中的第四个比特设置为1。从而形成一个n比特的初始位图。
[0062] 步骤8:将所述物联网终端的设备ID作为第一hash函数的输入,通过第一哈希函数获得一个哈希值。将哈希值转换为一个整数t,转换方法可采用现有技术中常规的转换方法。将n比特的初始位图进行t次的移位操作后获得的比特数组即为工作密码表位图。
[0063] 步骤9:网络服务器将工作密码表位图与所述基础凯撒密码表的行或列进行配对,选择基础凯撒密码表中对应的行和列来组成工作密码表。即,如果工作密码表位图是:00110001 01100100 01001000 00000000。在32位中有8位被设置为1,分别是3,4,8,10,11,
14,18,21。因此,通过在基础凯撒密码表中选择行数是3,4,8,10,11,14,18,21,列数也是3,
4,8,10,11,14,18,21的字符,形成了8×8的工作密码表。网络服务器保存该工作密码表。
[0064] 步骤10:网络服务器将n比特的初始位图发送给物联网终端。
[0065] 步骤11:物联网终端将自身的设备ID作为第一hash函数的输入,通过第一哈希函数获得一个哈希值。将哈希值转换为一个整数t,转换的方法与步骤8的转换方法相同。将n比特的初始位图进行t次的移位操作后获得的比特数组即为工作密码表位图。
[0066] 步骤12:物联网终端将工作密码表位图与密码表的行或列进行配对,选择基础凯撒密码表中对应的行和列来组成工作密码表。从而形成了与网络服务器相同的工作密码表。
[0067] 三、工作密码表更新阶段:
[0068] 步骤13:当物联网终端与网络服务器以生成的工作密码表开始进行业务通信后,网络服务器确定通信业务对安全性的需求等级,根据该等级来确定工作密码表的更新周期。
[0069] 步骤14:当更新周期到来时,网络服务器通知物联网终端,重新执行步骤5‑步骤12。
[0070] 本实施例提出的方法适应不同计算资源限制:物联网终端通常具有有限的计算资源,无法使用复杂的加密算法和密钥管理机制。通过选择较小的密码表大小(如8×8或16×16),可以适应物联网终端的计算资源限制,降低加密操作的复杂性和计算负担。
[0071] 本实施例提出的方法关联设备ID与密码表:在物联网中,设备ID是用于标识和区分不同终端的重要信息。通过将设备ID作为输入进行哈希计算,并根据哈希值的特定位置来选择密码表的行和列,可以将每个设备关联到一个唯一的密码表配置。这样可以提供个性化的加密设置,增强了安全性和终端身份的验证。
[0072] 以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。