一种基于肌电信号的随机序列产生装置及方法与流程

文档序号:12786017阅读:195来源:国知局
一种基于肌电信号的随机序列产生装置及方法与流程

本发明涉及一种基于肌电信号的随机序列产生装置及方法,属于信息安全领域的电子设备。



背景技术:

基于无线通线的可穿戴式设备正被越来越广泛的应用于老年人、残疾人和健康人的日常生活中,使用该网络中的传感器和非植入式设备可以采集各种人体的生理信号用于改善和提高人体的健康水平。肌电信号,作为可穿戴式设备采集的生理信号之一,通常用于帮助残疾人训练和适应假肢,目前也有很多用于康复和治疗的小游戏通过无线的方式采集并使用此信号来操作游戏。此外,健康人目前在运动过程中采集肌电信号以从中获得各块肌肉运动强度的信息。人体的生理信号是一种隐私,无论是存储还是传输均需要保证其安全,但是,在大部分应用场景中,用户对这类数据的安全并不重视或不够敏感。

目前我们使用的绝大部分软件中的动态验证码和用户的密码,都是一组伪随机序列,而非真随机序列,因此这些序列很容易被人破解,从而失去安全性。很多应用都会设定动态验证码的有效期,或者要求用户定时修改密码,这从某种程度上避免了用户密码被破解。然而,若能产生真随机序列则具有更好的安全性。

授权公告号为CN205721741U的实用新型公开了一种适用于RFID阅读器真随机数产生装置,其核心思想是提高振荡器的周期抖动以增加随机性,适用于RFID阅读器。授权公告号为CN205620988U的实用新型公开了一种硬件随机数发生器,可产生一位随机数。申请公布号为CN103870757A的发明提供了一种基于直角坐标系的数字密码编制方法,这一方法能产生两位数密码。

由于可穿戴式设备如传感器和非植入式设备的计算能力极弱,存储空间极小,因此上述产生随机数的方法均有一定程度上的不足。肌电信号是最为重要的特征之一,作为一种人体的生理特征,实验表明它具有极好的随机性。因此,本发明将基于肌电信号产生随机序列,用于健康领域的穿戴式设备的安全。



技术实现要素:

本发明是针对现有发明的不足,提供一种用于身体健康监控领域穿戴式设备应用的安全装置及方法。

本发明是这样实现的,一种基于肌电信号的随机序列产生装置包括肌电电极、前置放大电路、高通滤波电路、50Hz陷波电路、低通滤波电路、存储电路、模数转换电路、中央微处理器、数字序列输出接口,其特征在于:肌电电极的输出与前置放大电路的输入相连,前置放大电路的输出与高通滤波电路的输入相连,高通滤波电路的输出与50Hz陷波电路的输入相连,50Hz陷波电路的输出与低通滤波电路的输入相连,低通滤波电路的输出与模数转换电路相连输出数字信号,数字信号输入中央微处理器, 中央微处理器连接数字序列输出接口和存储电路。

所述前置放大电路优选AD620。

所述中央微处理器优选ATmega328。

所述模数转换电路优选ADS1298。

一种基于肌电信号的随机序列产生方法,首先使用前置放大电路AD620模块对肌电电极采集的信号进行放大,然后将放大的信号接入高通滤波电路,再将从高通滤波电路输出的信号接入50Hz陷波电路以除去工频干扰,然后将信号接入前置放大电路,将信号放大后再将信号接入低通滤波电路,最后输出肌电信号,将肌电信号通过使用ADS1298内置的A/D转换电路将模拟信号其转换为数字信号,然后由微处理器ATmega328中央取每一数字数据的最低位,根据不同需要输出指定长度的数字序列,这一数字序列即为随机序列。

所述装置是这样运作的:用户将该装置集成在可穿戴式设备中,需要使用时先设定所需随机序列的长度(若不设定则系统默认产生128位),该装置开始采集肌电信号并输出随机序列。

本发明的有益效果是:本装置可用于穿戴式设备产生随机序列用作密码或动态验证码,或者用于产生伪随机数的初始化随机因子。

附图说明

图1为本发明的总装示意图;

图2为随机序列产生流程图;

图3为该装置产生的随机序列用于生成动态验证码鉴别身份的流程图;

图4为该装置产生的随机序列用作密码保证数据传输的安全的流程图;

图5为该装置产生的随机序列用作随机因子产生密钥保证数据传输的安全的流程图;

图6为该装置产生的120个128位的随机序列的熵值分布图;

图7为该装置产生的120个128位的随机序列的熵值归一化分布图;

图8为该装置产生的120个128位的随机序列的随机性测试通过率;

图9为该装置产生的120个密钥的海明距离分布。

具体实施方式

如图1、图2所示,本发明是这样实现的,实现一种基于肌电信号的随机序列产生方法的装置包括肌电电极1、前置放大电路2、高通滤波电路3、50Hz陷波电路4、低通滤波电路5、模数转换电路6、中央微处理器7、数字序列输出接口8、存储电路9,所述肌电电极1的输出与前置放大电路2的输入相连,前置放大电路2的输出与高通滤波电路3的输入相连,高通滤波电路3的输出与50Hz陷波电路4的输入相连,50Hz陷波电路4的输出与低通滤波电路5的输入相连,低通滤波电路5的输出与模数转换电路6相连输出数字信号,数字信号输入中央微处理器7, 中央微处理器7连接数字序列输出接口8和存储电路9;随机序列产生方法是:首先使用前置放大电路AD620模块对肌电电极1采集的信号进行放大,然后将放大的信号接入高通滤波电路3,再将从高通滤波电路3输出的信号接入50Hz陷波电路4以除去工频干扰,然后将信号接入主放大器模块,将信号放大后再将信号接入低通滤波电路5,最后输出肌电信号,将肌电信号通过使用ADS1298内置的A/D转换电路将模拟信号其转换为数字信号,然后由微处理器ATmega328中央取每一数字数据的最低位,根据不同需要输出指定长度的数字序列,这一数字序列即为随机序列,将这一序列送入存储电路中储存起来,并通过数字序列输出接口将随机序列输出,按照应用对序列长度的要求,连续输出随机序列,直到满足要求为止。

如图3所示,展示了如何使用该装置产生的随机序列来生成动态验证码鉴别身份,在使用肌电电极采集肌电信号之后,对其进行放大,滤波之后存储在电路之中,并对其进行模数转化完成数字化并经数字序列输出接口输出。若序列长度满足需要,则将产生这一长度的随机序列对应的肌电信号进行单向哈希,将其与对应的随机序列一并传输到服务器端,服务器端将肌电信号的哈希值存储下来,并使用随机序列作为产生动态验证码的随机数种子,产生的动态验证码及随机序列被存在服务器上。服务器将不重复的动态验证码发给用户端,用户可以在终端上,如台式电脑,笔记本电脑,平板电脑或智能手机上输入这一动态验证码。在规定的时间和次数内正确输入动态验证码即完成用户身份鉴别,若用户超出了规定的时间或次数,服务器会锁定该用户,这是为了避免攻击者无限制的尝试动态验证码。

要求用户传输肌电信号的哈希值并由服务器将其存储下来,是用于避免用户否认自己传输过由肌电信号产生的随机序列给服务器用于产生动态验证码,即用户无法抵赖此事。

产生的动态验证码及对应地随机序列被存在服务器上用以保证这些动态验证码不被重复使用,以避免重放攻击,即避免用户的动态验证码被攻击者获取后重复使用。为了避免攻击者无限制的尝试,服务器将会限制用户在规定时间内使用动态验证码的次数,超过指定次数,将锁定该用户,即不允许该用户进行身份验证。

如图4所示,展示了随机序列用作密钥用于保证信息在传输过程中的安全的流程。在使用肌电电极采集肌电信号之后,对其进行放大,滤波之后存储在电路之中,由ADS1298对其进行模数转换以完成数字化,并经处理器ATmega328处理后将数字序列由输出接口输出。在输出指定长度的密钥序列给上层应用之后即完成密钥生成的过程,上层应用则使用此密钥对相应数据进行按指定的算法进行加密和解密。为了进一步提高安全性,上层应用可以将这些使用过的密钥记录下来,保证这些密钥不被重复使用。

如图5所示,展示了随机序列用作产生随机数的随机因子。在使用肌电电极采集肌电信号之后,对其进行放大,滤波之后存储在电路之中,由模数转换模块对其数字化,经中央处理器处理后得数字序列由输出接口输出。由于在使用相同随机数生成算法时,相同的随机种子会产生相同的随机数,因此在随机序列长度满足要求之后,还需要判断这些随机种子是否已经使用过,若已经被使用过,则直接丢弃这一随机种子,并重新产生不重复的随机种子,最后使用随机种子产生随机数用作密钥。使用此密钥可用于数据的加密和解密。

如图6所示,展示了使用该装置产生的120个128位的随机序列熵的分布图。从图中可以看到120个随机序列熵值均介于0.96和1.00之间。说明使用此装置产生的序列具有极好的随机性。

如图7所示,展示了使用该装置产生的120个128位的随机序列熵的归一化分布图。从图中可以看到120个随机序列的熵值中有85%介于0.99和1.00之间,仅有15%介于0.96和0.99之间,这一结果再次说明了这些随机序列的随机性绝大部分都非常好。

如图8所示,展示了使用该装置产生的120个128位的随机序列在美国国家标准与技术研究院(National Institute of Standards and Technology,NIST)建议的随机数性能评价的15项测试中的五项测试中的通过率。这五项测试分别为频率测试 (frequency test, F Test), 块频率测试(frequency test block,B Test),流程测试(runs test,R Test),块中最长游程测试(longest runs ones block test,L Test)和 近似熵测试,(approximate entropy test,A Test)。

如图9所示,展示了使用该装置产生的120个128位的随机序列海明距离值分布图。从图中可以看出这些随机序列的海明距离值分布近似于正态分布,均值非常接近64。任意2个序列的海明距离介于42到81之间,这一方面说明了这些序列之间的差异较大,用户想通过某一随机序列推断另一随机序列十分困难,另一方面说明了这些序列的随机性非常好。

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