车联网下传感器生成随机数的方法与流程

文档序号:16996634发布日期:2019-03-02 01:25阅读:446来源:国知局
车联网下传感器生成随机数的方法与流程

本发明属于车联网、传感器、随机数等技术领域,特别涉及一种车联网下传感器生成随机数的方法。



背景技术:

随机数通常是指由具有不可预知性和不确定性的源获取的数组成的序列,例如多次投掷硬币的统计结果即为一种随机数序列。随着互联网和计算机技术的快速发展,随机数在该领域的应用得到了全面发展,如信息安全、模拟仿真、数字签名、智能计算、数字系统的内建自检测、密码学密钥生成等等都需要用到随机数。

无论实际中采用的是真随机数发生器还是伪随机发生器,都必须具备两个基本的功能单元,一个是非确定性单元,它是整个系统不可预测性的来源,也是信息学中所谓的熵,是在随机数中用来作为随机源的信号源,也成为熵源。另一个是确定性算法,它借由随机源提供的随机信号,进一步地生成均匀、独立、数据稳定的输出序列。一般熵源是整个随机数生成系统中获取随机性的唯一来源,因此好的熵源对于一个随机数发生器的统计性、安全性、数据稳定性起着至关重要的作用。

随着微型计算机和通信技术的迅猛发展,现代传感器的发展走上了与微处理器、微型计算机和通信技术相结合的必由之路。常见传感器类型有压阻式、应变式、电容式传感器、磁电式传感器、压电式传感器等。考虑到温度、湿度、寄生电容等因素,传感器的数据具有不可预测性,这类数据是理想的随机数熵源。

随着汽车技术的不断发展,车内通信安全越来越受到人们的关注。作为安全模块中的一个重要成员,随机数的选取往往决定着安全体系的质量,在车联网下选取一个更加独立、不可预测性的随机数越来越重要。

公开于该背景技术部分的信息仅仅旨在增加对本发明的总体背景的理解,而不应当被视为承认或以任何形式暗示该信息构成已为本领域一般技术人员所公知的现有技术。



技术实现要素:

本发明的目的在于提供一种车联网下传感器生成随机数的方法,从而克服上述现有技术中的缺陷。

为实现上述目的,本发明提供了一种车联网下传感器生成随机数的方法,按照如下步骤进行:

s1,建立一个系统模型:包括车内传感器,作为采集数据的主要工具;轮询ecu,作为处理数据的主要控制器;随机数缓冲区,存储最后得到的随机数源;熵池,作为存储原始随机数源;

s2,车内传感器将采集到的数据传输到轮询ecu;

s3,轮询ecu接收到车内传感器传输来的数据,对数据进行三步处理,得到随机的数源并存储在熵池中;

s4,轮询ecu调用聚合和折叠操作将处理后的数源生成新的随机数样本;

s5,车内随机数样本通过缩减功能生成随机数缓冲区,输出随机数。

本发明进一步限定的技术方案为:

优选地,上述技术方案中,所述步骤s1和s2中,车内传感器包括车速传感器、温度传感器、加速度传感器。

优选地,上述技术方案中,所述步骤s3中,三步处理具体为:

s3.1:轮询ecu将清洗传感器所传输来的数据,其主要目标是清除数据序列中缓慢漂移的主要数据,这些漂移数据代表着车内传感器中可以被跟踪的任何模式,极大限制了敌对控制;

s3.2:传感器数据经过步骤3.1的清洗后,进行的是冲洗周期,经过进一步转换数据,使其成为连续的随机值序列;

s3.3:在经过步骤3.2的冲洗之后,现有的数据序列已经是稳定安全的,可以被分解并用作随机数源。

优选地,上述技术方案中,步骤s4具体为:

s4.1,将步骤s3所形成的随机数源聚合在一起,得到的结果存储在处理序列中,等待处理;

s4.2,收集到预定数量的随机数样本后,轮询ecu创建一个固定长度的比特串用于折叠操作;

s4.3,从步骤s4.1所形成的处理序列中弹出顶部元素,将其并入步骤s4.2的比特串中,让比特串具有位置指针;

s4.4,然后对顶部元素中的每一位进行异或操作,一旦完成该过程,将得到的新比特串送到缩减功能去。

优选地,上述技术方案中,步骤s5中,轮询ecu在执行了缩减功能后,将所得到的传感器随机数样本放入随机数输出池的尾部,形成随机数输出池,从而在输出池的头部输出随机数。

与现有技术相比,本发明具有如下有益效果:

本发明实现了随机数的提取,提高了随机数的质量,从而提高了车内通信的安全。

附图说明:

图1为本发明的总体设计图;

图2为本发明中三步处理流程图;

图3为本发明中聚合折叠及缩减功能流程图。

具体实施方式:

下面对本发明的具体实施方式进行详细描述,但应当理解本发明的保护范围并不受具体实施方式的限制。

除非另有其它明确表示,否则在整个说明书和权利要求书中,术语“包括”或其变换如“包含”或“包括有”等等将被理解为包括所陈述的元件或组成部分,而并未排除其它元件或其它组成部分。

本发明的方法以现有车内传感器、电子控制单元轮询ecu、熵池为应用系统基础,主要包括以下五部分:

1.建立一个系统模型

包括车内传感器、电子控制单元轮询ecu、随机数缓冲区以及熵池,车内传感器作为采集数据的主要工具,轮询ecu作为处理数据的主要控制器,随机数缓冲区是存储最后得到的随机数源,熵池作为存储原始随机数源。

2.车内传感器传输数据至轮询ecu

车内传感器包括车速传感器、温度传感器、加速度传感器等等,这些车内传感器将收集到的数据作为初始熵源传输给轮询ecu,等待轮询ecu处理。

3.轮询ecu对数据进行三步处理

轮询ecu接收到车内传感器传输来的数据,对数据进行三步处理,得到更加随机的熵源,如图2所示,具体步骤如下:

第一步,轮询ecu将清洗传感器所传输来的数据,其主要目标是清除数据序列中缓慢漂移的主要数据,这些漂移数据代表着车内传感器中可以被跟踪的任何模式,将这些数据挑选出去清除极大限制了敌对控制。去除数据集中非平稳的最简单的方法是区分数据,即获得它们的导数。对于当前数据集g,利用了加速度的一阶导数,即加加速度,如果数据是高度非平稳的,则可以通过不断地获取高阶导数来重复微分过程,直到达到设定的阈值。

第二步,传感器经过第一步的清洗后,使得现有数据比原始数据更加独立、不可预测,但仍然有可预测的数据模式,接下来进行的是冲洗周期,经过进一步转换数据,使其成为连续的随机值序列。在该步骤,该方法不直接操纵数据,取而代之的是将数据转换为n点的快速傅立叶变换,将数据转换为复杂的指数:在这里,为了有效的“扰乱”数据,将k的虚数用随机值替换。

第三步,在经过上一步的冲洗之后,现有的数据序列已经是稳定安全的,可以被分解并用作随机数源。

4.调用聚合和折叠操作生成新的随机数样本

轮询ecu调用聚合和折叠操作将车内随机数数据生成新的传感器样本,如图3所示,具体步骤如下:

第一步,将三步处理后的随机数g1、g2、..、gk聚合在一起,用e=g1g2..gk表示聚合后的结果,将e存储在处理队列a中。

第二步,一旦收集到足够的随机数样本,轮询ecu将创建一个固定长度为l的比特串t用于折叠操作。

第三步,从处理序列a中弹出顶部元素,将其并入比特串t中,让比特串t具有位置指针p。然后,我们对于e中第i位数据执行以下操作:

其中是按位异或。针对多个样本e1、e2...ek重复该过程,一旦这个过程完成,t被发送到缩减功能。

5.缩减功能生成随机数输出池

缩减功能是从传感器输出池和折叠功能两者输入,以便进一步混合非时间上局部的比特。缩减功能主要确保缩减函数难以逆转,防止输入的随机数重构,确保随机数源的不可预测性。缩减功能主要的操作如下:

对于缩减函数的输入是三个n位块,t,h1,h2分别对应于新处理的数据和头两个n位块。首先计算l作为替换表的输入,以获得输出s。以比特为单位的s的长度可以根据生成表的参数而变化。然后将h2,s,_h1连接在一起,并将结果附加到缓冲区的末尾,以清除已经在缓冲区中的比特的顺序和奇偶性,从而得到随机数输出池,输出随机数。

前述对本发明的具体示例性实施方案的描述是为了说明和例证的目的。这些描述并非想将本发明限定为所公开的精确形式,并且很显然,根据上述教导,可以进行很多改变和变化。对示例性实施例进行选择和描述的目的在于解释本发明的特定原理及其实际应用,从而使得本领域的技术人员能够实现并利用本发明的各种不同的示例性实施方案以及各种不同的选择和改变。本发明的范围意在由权利要求书及其等同形式所限定。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1