一种具有安全协同能力的智能小车系统

allin2022-08-01  133



1.本发明涉及无人驾驶技术领域,具体涉及一种具有安全协同能力的智能小车系统。


背景技术:

2.从20世纪70年代开始,美国等发达国家开始进行无人驾驶汽车的研究,包括陆地车辆alv等项目,主要方向是军事、高速公路和城市环境,目的是为了减少人的失误;在国内,无人驾驶技术的发展也非常迅速,部分成果甚至处于世界领先水平;1992年,国防科技大学成功研制了国内第一辆无人驾驶汽车;承担配送、消毒等任务的无人送餐车、无人配送车、无人消毒车队伍在也抗疫前线大显身手;
3.然而,传统智能车应用对安全性的重视严重不足,如2014年黑客利用宝马connected drive数字服务系统漏洞可远程打开车门,约220万辆车受到影响;2015年黑客远程入侵一辆正在行驶的切诺基并做出减速、制动等操控,造成全球140万辆车被召回;2016年黑客通过日产聆风app的漏洞获取到司机驾驶记录并将汽车电量耗尽,日产随即禁用该app;随着无人车、自动驾驶等技术的普及,《速度与激情8》中遥控汽车跳楼的桥段也许离现实中的我们不再遥远;如何在危机四伏的网络空间确保智能车应用的安全性,是个亟待解决的问题;
4.智能小车应用场景丰富,前景广阔,但安全问题如果解决不好,将严重限制其推广应用和发展进步;因此设计一种具有高安全性、易用性和协同性好的智能小车系统,来解决上述现有技术存在的问题。


技术实现要素:

5.针对上述存在的问题,本发明旨在提供一种具有安全协同能力的智能小车系统,本系统通过对安全模块进行设计,开发具备多车安全协同能力的智能小车系统,能够实现身份认证、密钥协商、信息传输保密和防欺诈等安全防护能力,具有协同能力强、安全性能好的特点。
6.为了实现上述目的,本发明所采用的技术方案如下:
7.一种具有安全协同能力的智能小车系统,自下而上依次包括运动层、中间层和决策层;
8.所述运动层包括驱动模块、电源模块和控制模块,通过控制模块控制驱动模块和电源模块工作;
9.所述中间层包括音频模块、感知模块、通信模块和安全模块,为小车的音频、感知、通信和安全的智能应用提供支撑;
10.所述决策层包括决策模块和交互模块,用于执行小车的自主决策、多车协同和人工指令。
11.优选的,所述的感知模块的硬件部分主要包括摄像头和红外传感器,其中
12.所述红外传感器安装在车头左右,为小车行进提供基本的避障功能;
13.所述摄像头用于接收本地指令,对摄像头拍摄的图像帧经过压缩后,根据需要调用二维码解析、人脸识别、物体识别图像处理组件,解析处理后的信息将作为其他功能模块的输入。
14.优选的,所述的摄像头的人脸识别过程包括
15.step1.首先从摄像头读取图像帧,利用opencv库将图片处理成灰度图并裁剪,再调用opencv里的cascadeclassifier用已经训练好的分类器匹配该图像,然后把识别出的人脸轮廓标记矩形框;
16.step2.在此基础上,判断人脸的相对位置,调整摄像头云台使人脸保持在图像中央,即可实现人脸追踪;
17.step3.依照此方法,加载别的物品分类器,可以实现各种类型的物品识别和追踪。
18.优选的,所述的通信模块使用wifi和蓝牙通信,其通讯过程包括
19.step1.小车开机先连接设定好的wifi热点进入局域网,再主动向预置为“认证服务器”的小车发起连接请求,认证通过后即可获取当前在线的小车列表;
20.step2.有通信需求的小车之间通过握手认证建立一对一信道,通信结束后再通过挥手断开连接;
21.step3.如果作为“认证服务器”的小车下线,将由较早加入通信的另一小车接替;
22.其中在上述信息传递过程中,较短的指令类数据采用udp传输,接收方用udp反馈,长数据和文件的传输使用tcp传输。
23.优选的,所述的安全模块内嵌设有密钥协商协议,所述密钥协商协议用于两个实体建立通信前的握手,协议双方通过发消息完成双向身份认证、会话密钥协商和时间同步。
24.优选的,所述的密钥协商协议的秘钥协商过程包括
25.在密钥协商协议中,设合法的智能小车均共享认证密钥v,小车a向小车b发起握手,约定ek(x)表示用密钥k加密x,ta表示a的时间戳,依此类推,详细的密钥协商过程如:
26.step1.a生成安全的大素数p和z*
p
上的另一素数g,生成z*
p
上的随机数x,并计算x=g
x mod p;a将自己的名字以及使用认证密钥v加密的 p、g、x和本地时间戳ta发送给b;
27.其中,素数p为安全素数,即要求(p-1)/2也是素数;所述素数g能够生成z*
p
上足够大的子群,所述的本地时间戳ta为ev(p,g,x,ta);
28.step2.b收到该消息后,先使用认证密钥v解密ev(p,g,x,ta)得到p,g, x,ta,生成z*
p
上的随机数y,并计算y=g
y mod p和k=x
y mod p,k即为 a和b本次会话的临时密钥;b将自己的名字、使用认证密钥v加密的y和本地时间戳tb、使用会话密钥k加密的x发送给a;记录δa=t
a-tb作为双方时间差;
29.其中,所述本地时间戳tb为ev(y,tb),使用会话密钥k加密的x为e
k (x);
30.step3.a收到后,使用认证密钥v解密ev(y,tb)得到y,tb,计算会话密钥k=y
x mod p,使用k解密ek(x)得到x’,记录δb=t
b-ta作为双方时间差;a向b发送自己的名字和使用会话密钥k加密的y;
31.其中,所述使用会话密钥k加密的y为ek(y);
32.step4.b收到后,使用会话密钥k解密ek(y)得到y’,如果y’与y相同,则说明a已正确计算出同一会话密钥k,协商成功,否则报告协商失败。
33.优选的,在步骤step2中,若收到该消息后,使用认证密钥v解密e
v (p,g,x,ta)不能得到p,g,x,ta时,说明双方认证密钥不同,报告协商失败。
34.优选的,在步骤step3中,在a收到后,使用认证密钥v解密ev(y,tb) 得到y,tb,计算会话密钥k=y
x mod p,使用k解密ek(x)得到x’后,如果x’与此前发送的x相同,则说明b持有正确的认证密钥v,并正确生成了会话密钥k,如果x’与x不同则报告协商失败。
35.优选的,所述的决策模块包括单车决策单元和多车协同决单元,其中
36.所述单车决策单元通过感知模块提供的数据,判断自身状态和周围环境,实现按路线行进、避障;
37.所述多车协同单元收集汇总各小车提供的信息,接收人的指令或依据具体任务,规划出达成目标的相对优化方案,再将细化的指令下达给各小车,依靠多车协作共同完成任务。
38.本发明的有益效果是:本发明公开了一种具有安全协同能力的智能小车系统,与现有技术相比,本发明的改进之处在于:
39.针对目前广泛运用的智能车系统普遍存在“重功能实现、轻安全防护”的问题,本发明设计了一种基于智能开发板开发具备多车安全协同能力的智能小车系统,本系统通过在安全模块内嵌设计一套密钥协商协议,通过本协商协议的设计,可通过简单交互一次性完成两通信实体间的身份认证、会话密钥协商和时间同步,以保证智能小车系统全方位的安全防护能力,对于其他具备类似安全需求的系统具有普遍的适用性,在使用过程中,经试验验证,本系统既保证了智能小车系统全方位的安全防护能力,又能够对其他具备类似安全需求的系统进行安全赋能,体现了良好的通用性和可移植性,具有直接的实用价值和较好的应用前景。
附图说明
40.图1为本发明智能小车系统的架构图。
41.图2为本发明智能小车安全控制平台界面图。
42.图3为本发明实施例2密钥协商交互过程图。
43.图4为本发明实施例3智能小车产品图。
44.图5为本发明实施例3开机扫码界面图。
45.图6为本发明实施例3pc端握手信息界面图。
46.图7为本发明实施例3小车握手信息界面图。
47.图8为本发明实施例3小车接收加密的指令信息界面图。
48.图9为本发明实施例3小车接收时间戳错误的消息界面图。
49.其中:在图2中,图(a)为主界面图,图(b)为参数配置图,图(c) 为按键说明图,图(d)为关于结果界面图。
具体实施方式
50.为了使本领域的普通技术人员能更好的理解本发明的技术方案,下面结合附图和实施例对本发明的技术方案做进一步的描述。
51.实施例1:参照附图1-9所示的一种具有安全协同能力的智能小车系统,自下而上
依次包括运动层、中间层和决策层;
52.所述运动层包括驱动模块、电源模块和控制模块,通过控制模块控制驱动模块和电源模块工作,其中所述驱动模块为小车提供基本的运动能力,电源模块用于提供动力;
53.所述中间层包括音频模块、感知模块、通信模块和安全模块,在使用时,为小车的音频、感知、通信和安全的智能应用提供支撑;
54.所述决策层包括决策模块和交互模块,在使用时来执行小车的自主决策、多车协同和人工指令。
55.优选的,所述的音频模块主要实现音频播放和语音播报,来进行信息反馈,实现反馈信息和与人交互,具体为采用aipspeech库(百度ai开放平台的语音合成api)进行语音合成,可对灵活组合的文字内容进行语音播报;同时出于节省流量的考虑,同一内容仅在第一次播报时联网请求语音合成,并将获取的音频文件保存在本地,后续播报可离线进行。
56.优选的,所述的感知模块的硬件部分主要包括摄像头和红外传感器;其中:(1)所述红外传感器一般在车头左右各装一个,可感受一定距离(距离长短可调)范围内的障碍物,为小车行进提供基本的避障功能;(2)所述摄像头用于接收本地指令(智能小车平台没有键盘鼠标,依靠摄像头实现控制命令的而输入),摄像头拍摄的图像帧经过压缩后(小车cpu处理能力受限,压缩图像可加快运行速度),根据需要调用二维码解析、人脸识别、物体识别等图像处理组件,解析处理后的信息将作为其他功能模块的输入;带有云台的摄像头可通过调用控制模块操作云台舵机,在一定角度内左右旋转和上下俯仰,实现目标搜索、运动物体跟踪和人脸追踪等功能,大大加强了小车感知周围环境的能力;
57.具体的,本实施例所述智能小车的人脸识别过程采用python库扩展了人脸识别功能;其具体过程包括:step1.首先从摄像头读取图像帧,利用 opencv库将图片处理成灰度图并裁剪(这样可以大大加快后续处理速度且几乎不会降低准确率),再调用opencv里的cascadeclassifier用已经训练好的分类器匹配该图像,然后把识别出的人脸轮廓标记矩形框;step2. 在此基础上,判断人脸的相对位置,调整摄像头云台使人脸保持在图像中央,即可实现人脸追踪;step3.依照此方法,加载别的物品分类器,可以实现各种类型的物品识别和追踪(比如乒乓球、塑料瓶或另一辆小车);如上所述,借助python库,使得小车基于图像的感知能力几乎可以得到任意扩展,比如使用tensorflow2加载imagenet2012卷积神经网络可以识别 1000种物体。
58.优选的,所述的通信模块主要实现小车之间的信息通联,是小车之间协作和交互的基础;其中,本实施例所述智能小车平台本身提供wifi和蓝牙通信,zigbee和红外通信方式可通过外接usb卡实现;同时综合考虑对通信距离、速率和容量的需求,以及实现的便利性、与其他模块的兼容性,决定采用wifi作为主要通信手段,使得本智能小车系统的通信具有动态性和自组织性;在使用时:step1.小车开机先连接设定好的wifi热点进入局域网,再主动向预置为“认证服务器”的小车发起连接请求,认证通过后即可获取当前在线的小车列表;step2.有通信需求的小车之间通过握手认证建立一对一信道,通信结束后再通过挥手断开连接;step3.如果作为“认证服务器”的小车下线,将由较早加入通信的另一小车接替; step4.小车之间传递的大部分都是较短的指令类数据,采用udp传输,接收方将执行结果用udp反馈,传递长数据和文件时使用tcp以保证可靠传输。
59.优选的,所述的决策模块包括单车决策单元和多车协同决单元,是完成特定任务
和体现“智能”的关键;决策所需的信息,既可来自感知模块的输出,也可来自小车此前状态的记录,还可以是其他通信实体发来的信息;所述单车决策单元通过感知模块提供的数据,判断自身状态和周围环境,实现按路线行进、避障等基本功能;所述多车协同单元收集汇总各小车提供的信息,接收人的指令或依据具体任务,通过一定的智能算法,规划出达成目标的相对优化方案,再将细化的指令下达给各小车,依靠多车协作共同完成任务,且其具体实现的决策逻辑有很多,根据实际的智能应用场景可以定制和扩展;上述决策模块通过将指令下达给控制模块,实现对小车的诸如电机、转向轴、机械臂等可驱动部分进行控制,以执行具体动作。
60.优选的,所述的交互模块用于实现人机交互和小车之间的交互,交互主要通过指令进行;在使用时指令由特定格式的字符串组成,小车收到指令后先进行初步拆分,再送入相应模块执行;本实施例基于python tkinter 图形界面库开发“智能小车安全控制平台”(以下简称“平台”);平台界面简洁明晰,涵盖连接控制、移动控制、舵机控制、消息发送、视频传输和菜单按钮等组件,能够在安全的前提下,对小车移动、摄像头转动和机械臂动作进行实时遥控,可以便捷地向小车发送消息,小车摄像头拍摄的图像也能实时回传显示;为了便于遥控小车,运动相关的操作按钮均绑定了一些约定俗成的键盘按键(比如移动用“wasd”),从而使操作者可以像游戏一般自由灵活地掌控小车,显著增强了平台的操作性与易用性,平台提供的配置界面,方便对系统部分参数进行配置;平台主界面和参数配置、按键说明、关于界面如图2所示。
61.实施例2:与上述实施例1不同的是,在本智能小车中,安全是贯穿系统所有关键功能的主线,也是系统开发的重点和难点;以下从系统设计实现的安全特性和密钥协商协议两个方面出发,对安全模块的设计过程、设计原理和安全功能实现进行详细说明;
62.(一)安全特性
63.本智能小车系统运用了密码技术和安全协议,其安全性主要体现在开机扫码认证、接入认证、信息传输加密、会话密钥协商、消息时间戳和断开保护6个方面,具体描述如下:
64.1.开机扫码认证:小车开机时要求操作员出示认证二维码,通过摄像头扫描并解析内嵌字符串,只有该字符串匹配时才能进行后续操作,认证二维码起到类似开机密码的作用,防止非授权人员对小车进行操控;
65.对于从摄像头读取的图像帧,同样利用opencv库将图片处理成灰度图,再使用zbar库(zbar是一个轻量级的开源软件套件,用于从各种来源读取条形码,例如视频流,图像文件和原始强度传感器)识别图像中的二维码,并提取出二维码内嵌的字符串,过程中还用到了pil库对图像进行类型变换处理。
66.2.接入认证:接入认证用于防止非授权小车加入通信,合法的小车预置了同一个认证密钥,只有双方持有相同的认证密钥才能通过握手建立通信;具体来说,接入认证体现在密钥协商协议的过程中;有意向握手的双方通过认证密钥加密初始信息,如果认证密钥不同,则对方无法解密,导致协商失败,从而防止了不掌握认证密钥的通信方完成握手。
67.3.信息传输加密:小车之间的信息传输使用aes对称加密技术;aes 是安全性较高且开销较低的一种对称分组加密体制,用于防止攻击者通过监听无线信道来获取消息内容,保证即使攻击者进入小车所在的局域网也无法获取明文消息;本系统使用python中的
crypto库实现aes加密,并使用base64库对密文进行编码,以方便将密文数据流当作字符串在普通信道中传输。
68.4.会话密钥协商:密钥协商机制保证了智能小车系统内,一辆小车与不同小车建立通信、或与同一小车再次建立通信,都协商一个新的随机密钥用于aes加密;使用一对一的临时会话密钥大大增加了攻击方破解的难度,避免出现“单点突破,全局崩溃”的情况;即使是系统内经过认证的小车,也无法获取其他小车之间的通信内容,增强了应对内部攻击的防御能力。
69.5.消息时间戳:时间戳机制主要用于防止重放攻击、密文解析和恶意篡改;同一指令附加不同的时间戳后被aes加密成完全不同的密文,增加了攻击者破解密文指令的难度;攻击者在不知道会话密钥的前提下,篡改密文将破坏消息结构,导致接收方解密后不能得到正常明文,故无法通过伪造能通过验证的时间戳来达到欺骗目的;
70.具体做法是两小车在握手阶段记录与对方的时间差,建立通信后,发送方传递的每一条消息都会加上时间戳(在明文后附加表示从1970纪元到现在的秒数的数字串,再加密);接收方先验证消息是否来源于已握手的小车,解密后提取出对方时间戳,再计算双方时间差,判断其是否在允许的范围内(比如500ms),丢弃未通过时间戳验证的消息并向上层报告。
71.6.断开保护:建立通信的小车之间如果连续未通过时间戳验证,或发现对方偏离预定程序,将与其断开连接并向上层报告;断开保护机制使得系统内小车被恶意篡改、偏离任务目标或意外掉线后,能被及时发现,将损失降到最低;
72.具体做法是记录对方未通过时间戳验证的次数,如果连续第三次未通过验证,则将其从已握手列表中删除;此外,建立通信的小车之间通过定期发送心跳包确认对方在线,第三次未收到对方心跳也会将其删除。
73.(二)密钥协商协议
74.为了实现上述安全机制,在diffie-hellman协议的基础上,设计实现密钥协商协议,用于两个实体建立通信前的握手,协议双方合计发送三个消息就能完成双向身份认证、会话密钥协商和时间同步;
75.在本密钥协商协议中,假设合法的智能小车均共享认证密钥v,小车a向小车b发起握手,约定ek(x)表示用密钥k加密x,ta表示a的时间戳,依此类推,详细的密钥协商过程描述如下:
76.step1.a生成安全的大素数p(安全素数即要求(p-1)/2也是素数)和z*
p
上的另一素数g(能够生成z*
p
上足够大的子群),生成z*
p
上的随机数x,并计算x=g
x
modp;a将自己的名字以及使用认证密钥v加密的p、g、x和本地时间戳ta(即ev(p,g,x,ta))发送给b;
77.step2.b收到该消息后,先使用认证密钥v解密ev(p,g,x,ta)得到p,g,x,ta(如果解密后无法得到具有特定结构的字符串,说明双方认证密钥不同,报告协商失败),生成z*
p
上的随机数y,并计算y=gymodp和k=xymodp,k即为a和b本次会话的临时密钥;b将自己的名字、使用认证密钥v加密的y和本地时间戳tb(即ev(y,tb))、使用会话密钥k加密的x(即ek(x))发送给a;记录δa=t
a-tb作为双方时间差;
78.step3.a收到后,使用认证密钥v解密ev(y,tb)得到y,tb,计算会话密钥k=y
x
modp,使用k解密ek(x)得到x’(如果x’与此前发送的x相同则说明b持有正确的认证密钥v,并正
确生成了会话密钥k,如果x’与x不同则报告协商失败),记录δb=t
b-ta作为双方时间差;a向b发送自己的名字和使用会话密钥k加密的y(即ek(y));
79.step4.b收到后,使用会话密钥k解密ek(y)得到y’,如果y’与y相同则说明a已正确计算出同一会话密钥k,协商成功,否则报告协商失败;
80.上述密钥协商的消息交互过程如图3所示;
81.上述协议提供以下安全保证:一是没有正确的认证密钥v的实体无法参与协商;二是每次握手都产生新的临时会话密钥k;三是记录双方的时间差用于后续消息的时间戳验证;
82.上述密钥协商协议在经典的diffie-hellman密钥建立协议的基础上进行扩展,参数使用认证密钥v进行aes加密后传输,攻击者监听破解的难度更大;对于掌握认证密钥v的系统内成员,会话密钥k的安全性基于在有限域上计算离散对数的难度,只要安全素数p足够大,就能提供足够的计算安全性;此外,对整个系统内所有小车进行严格的时间同步较为困难,故本协议采用记录双方时间差的方式防止重放攻击,简化了系统设计。
83.实施例3:与上述实施例不同的是,为对上述具有安全协同能力的智能小车系统的功能进行验证,本实施例的具体方案如下:
84.(一)小车配置
85.本智能小车系统基于创乐博的智能小车平台,搭载树莓派(raspberrypi)4b4gb主板;编程语言支持python、c和scratch图形化编程工具,本作品的全部代码使用python语言编写;
86.小车的驱动模块由4个马达和4个麦克纳姆轮组成,通过4轮配合,小车不用转向即可朝8个方向前进;
87.电源模块主要是一块7.4v29.6wh锂电池,以及一个数字电压表;
88.控制模块集成在创乐博的转接板上,用于控制4个马达、摄像头云台舵机、机械臂舵机等驱动部分,以及连接电源和各种传感器等;
89.本智能小车系统目前包括2辆小车,如图4所示;
90.在上述模块基础上,一辆小车配备二维舵机云台摄像头和音响,另一辆小车配备4自由度机械臂和固定摄像头。
91.(二)安全功能测试
92.本系统各功能模块的实现代码,除了与动力控制相关的部分,都是平台无关的;故能运行python代码的设备,都可以加入本智能小车系统,通过wifi或蓝牙与小车进行通信;以下测试围绕安全功能实现展开,过程涵盖了其他各主要功能模块;为了方便测试,把一辆小车作为“认证服务器”(名字是“clb1”),使用pc作为另一“小车”(名字是“mypc”)发起握手,并向小车发送指令,然后再模拟被攻击的情形,检测小车是否能正确处置;由于本作品以安全功能实现为主,内部逻辑难以全部直观呈现,尽量把每一步的计算、交互过程输出展示;
93.1.开机扫码
94.将pc和小车连接到同一wifi,使用pc远程访问小车搭载的树莓派主板,运行小车主程序代码,小车开启摄像头并用语音播报“请出示二维码密钥”,等待操作员出示认证二维码。用小车摄像头扫描pc显示器上的二维码(内嵌字符串“hg2021”),小车将二维码解析
后与预置开机密钥进行比对,匹配后方可进入后续启动步骤,如图5所示;
95.图5右侧是在pc端打开的二维码图片,图5左侧是对小车系统的远程访问界面(打开了spyder ide),控制台内可见小车的输出信息,中央的正方形窗口是小车摄像头拍摄的实时图像;可见扫描到正确的二维码后,小车随即开启通信端口(tcp和udp的2110端口)监听;
96.2.密钥协商
97.pc运行主程序代码,对小车发起握手请求,pc端的输出信息如图6 所示,小车的输出信息如图7所示;
98.图6中,pc先随机生成diffie-hellman协议参数,图中三个数字分别是p,g,x,再加上本地时间戳,加密后对密文(即e v(p,g,x,ta))进行 base64编码,合成指令字符串后通过udp发送给小车,协议步骤

执行完毕;
99.图7中,小车正确接收了握手请求,执行协议步骤

,向pc回复udp 消息;
100.图6中,pc正确接收了小车回复,执行协议步骤

,向小车发送第二个udp消息。至此,pc端已显示握手成功,会话密钥协商完毕(图中划红线),并且记录了双方的时间差(30676ms);
101.图7中,小车正确接收了pc发来的第二个消息,执行协议步骤

。小车同样显示握手成功,会话密钥协商完毕(可见与pc端的会话密钥完全一致),并记录双方的时间差(-30935ms,与pc端记录的时间差基本成相反数);
102.需要指出的是,只有双方内置同一认证密钥,才能协商成功(本实施例中pc端和小车均以“ploughthewaves”作为认证密钥);此外,协商的会话密钥并非diffie-hellman协议直接得到的结果(一个z*p上的数字),而是将其进行md5运算后的结果当作aes密钥。
103.3.传输加密信息
104.密钥协商完毕后,双方传输的所有消息均使用协商好的会话密钥进行 aes加密(消息加密前添加时间戳);pc向小车传输一个简单的语音播报指令“speech||你好”(“||”是参数分隔符),小车的输出信息如图8所示;
105.图8可见小车收到密文后已成功解密(并去除时间戳),并正确执行;图中若干行成对的“tcp接入/tcp连接关闭”是pc每隔60秒发来的心跳包。
106.4.时间戳与断开保护
107.为了验证时间戳和断开保护机制的有效性,修改pc时间(调快1分钟)使之脱离允许的范围(500ms),再向小车连续发送消息“speech||你好”,小车的输出信息如图9所示;
108.图9中的第一个消息是pc端修改系统时间前发出的,可以正确执行;随后的消息是pc端修改系统时间后发出的,可见小车第三次收到时间戳错误的消息后,主动断开了与pc的连接;pc继续发送密文消息给小车,小车已显示“无法识别的指令”;上述实验表明,时间戳可以防范攻击者录制指令信号再重放的攻击手段,断开保护机制也已生效;
109.综上,本系统实现了安全能力的预期设计目标;安全模块贯穿各上层功能模块底层,实现了对系统全方位的安全防护能力,能够有效防御非授权操控、无认证接入、窃听消息、篡改指令、重放攻击和内部攻击等现有攻击模式和安全威胁。
110.(三)性能测试
111.安全性与易用性经常成为一对难以兼顾的矛盾;本实施例展示了对若干功能模块
的性能测试结果,旨在以数据说明:实现上述安全功能,并不会对功能执行速度和用户操控体验带来负面影响;
112.如无特别说明,以下实验均在一台pc机和一辆智能小车之间进行测试,智能小车搭载的嵌入式开发板为树莓派(raspberry pi)4b 4gb主板。实验计算机的配置如表1所示:
113.表1:实验计算机配置
[0114][0115]
所有实验均执行20次,取20次执行结果的平均值为有效数据。
[0116]
1.素数生成测试
[0117]
本系统设计实现的密钥协商协议由diffie-hellman协议扩展而来,其安全性基于在有限域上计算离散对数的难度,关键在于安全素数要足够大。生成大安全素数是整个密钥协商过程运算量最大、最耗时的环节,为了缩短整体时间开销,由计算能力更强的pc机作为握手发起方(图3中的a),担任生成大安全素数的运算工作;表2显示了pc机生成不同位数安全素数(使用python-rsa库)的平均时间开销(设置6线程加速),以及衡量耗时稳定程度的样本方差;
[0118]
表2:安全素数生成时间开销与样本方差
[0119][0120]
目前的密码学研究者认为,1024位素数仍是足够安全的;由表2可见,当使用1024位安全素数时,平均生成时间为1.2s左右;相比经典的 diffie-hellman协议,本密钥协商协议的握手发起报文已用认证密钥v加密,不掌握认证密钥v的攻击者无法知道握手发起方选用的安全素数p和本原元g,在破解diffie-hellman困难问题之前还多了一层aes加密保护,所以提供了比diffie-hellman协议更强的安全性。
[0121]
其实,由于安全素数p和生成元g不必保密,也可以重复使用,所以可以提前生成若干满足安全要求的大素数并保存起来,由握手发起方从中随机挑选使用,这样就省去了每次握手的素数生成时间。
[0122]
2.加解密测试
[0123]
在安全模式下,通信方之间传递的都是通过aes加密后的信息;发送方将指令字符串尾部追加一个时间戳后再进行aes加密;接收方则先进行aes解密后再去掉尾部时间戳。摄像头拍摄的图像帧首先使用cv2 库进行颜色通道转换(rgb转成bgr),然后进行jpg编码,再由narray 类型转bytes类型,最后进行aes加密;接收方先进行aes解密,将bytes 类型转回narray类型,解码后转成相应的图像对象,最后更新到图形界面的画布上;表3展示了pc机和小车分别进行指令加解密(包括添加或剥离时间戳)运算、图像编解码(还包括两次类型转换)运算和图像数据加解密运算的平均时间;
[0124]
表3:加解密和编解码运算的时间开销
[0125][0126]
从表3的数据可以得出以下结论:1.pc机的运算性能明显优于小车搭载的开发板(耗时相差2-50倍不等),所以耗时的运算应尽可能由算力更强的设备来执行;2.图像编码是最耗时的环节,比其他运算耗时多至少一个数量级,相对其他运算最有可能成为影响视频帧率的瓶颈;3.加解密运算耗时都在微秒级,相对于前后还需进行的其他运算(比如编解码和网络传输)微乎其微。
[0127]
由于摄像头拍摄的原始图像帧数据很大,直接进行网络传输将占用巨大带宽,在现有wifi通信环境下无法保证小车回传视频的流畅度;主要通过以下两种途径降低传输带宽消耗:一是将摄像头图像尺寸缩小,设置成320px
×
240px(经过实际测定,该尺寸的原始图像帧仍有约230.5kb,在10mbps带宽下每秒仅可传输约5.6帧);二是进行jpg压缩编码;为了兼顾压缩比和图像清晰度,经过反复试验,在可接受的失真限度内选定一个合适的图像质量参数,进行jpg压缩编码后的数据大小为3-20kb,取一个典型的均值10kb,则10mbps带宽下每秒可传输约128帧;而摄像头的输出帧率为每秒30帧,即只要单帧图像的处理(包括编码与加密)耗时,或网络传输的耗时,二者不超过33.33ms(处理和传输耗时不必相加,因为二者可以并行),就不会成为影响视频流畅度的瓶颈。
[0128]
3.通信延迟测试
[0129]
通信测试分为两步进行:第一步测试网络连通延迟,第二步测试小车接收、处理并回复消息的往返时间;
[0130]
在网络连通测试中,pc机向小车的tcp监听端口发送连接请求,记录小车返回tcp握手报文的平均时间为31.24ms;网络连通测试只到达小车传输层以下,其结果只与网络环境有关,反映的主要是wifi无线网络链路的延迟情况,与应用层的程序逻辑无关;
[0131]
在消息处理测试中,pc机向小车发送用于测试的udp短指令,小车按照通常流程解析指令,并立即回复一个udp消息,pc机记录下往返的平均时间为187.51ms;这个时间包含pc机生成指令、添加时间戳并加密、发送,小车接收、解密并判断时间戳、解析执行,再由小车到pc机按同样流程走一遍的耗时;可见,该测试已经覆盖网络各个层次,真实反映了小车接收并执行指令的时延,由于其涉及小车开发板上运行的程序逻辑,其耗时明显多于网络连通时延;与此相比,小车运行指令加解密运算的耗时(20+μs)是微不足道的,所以加密几乎不会对小车执行指令的时延产生可见的影响。
[0132]
4.密钥协商测试
[0133]
设置不同的安全素数位数,进行密钥协商测试,平均用时如表4所示:
[0134]
表4:密钥协商测试结果(单位:ms)
[0135][0136]
表4中的用时包含两次往返(图3中的3个报文,加上作为通信方b的小车向pc机反馈协商成功的报文,一共4个udp报文),不包括素数生成耗时;可见,安全素数位数翻倍并不会对密钥协商整体用时带来难以接受的影响,小车搭载的开发板完全能够胜任密钥协商过程中的运算工作;采用目前足够安全的1024位安全素数,密钥协商用时也不会超过1秒。
[0137]
综上,本系统实现的安全功能并没有成为系统性能的瓶颈;小车搭载的嵌入式处理器完全能够胜任安全相关的运算,并不会对整体运算速度和交互延迟产生用户可感知的显著影响。用户通过简洁易用的控制平台操作小车,安全相关的运算和交互均在用户“无感”的情况下在底层自动完成,几乎对用户“透明”,较好地实现了安全性与易用性的统一。
[0138]
以上显示和描述了本发明的基本原理、主要特征和本发明的优点。本行业的技术人员应该了解,本发明不受上述实施例的限制,上述实施例和说明书中描述的只是说明本发明的原理,在不脱离本发明精神和范围的前提下,本发明还会有各种变化和改进,这些变化和改进都落入要求保护的本发明范围内。本发明要求保护范围由所附的权利要求书及其等效物界定。

技术特征:
modp;a将自己的名字以及使用认证密钥v加密的p、g、x和本地时间戳t
a
发送给b;其中,素数p为安全素数,即要求(p-1)/2也是素数;所述素数g能够生成z*
p
上足够大的子群,所述的本地时间戳t
a
为e
v
(p,g,x,t
a
);step2.b收到该消息后,先使用认证密钥v解密e
v
(p,g,x,t
a
)得到p,g,x,t
a
,生成z*
p
上的随机数y,并计算y=g
y mod p和k=x
y modp,k即为a和b本次会话的临时密钥;b将自己的名字、使用认证密钥v加密的y和本地时间戳t
b
、使用会话密钥k加密的x发送给a;记录δa=t
a-t
b
作为双方时间差;其中,所述本地时间戳t
b
为e
v
(y,t
b
),使用会话密钥k加密的x为e
k
(x);step3.a收到后,使用认证密钥v解密e
v
(y,t
b
)得到y,t
b
,计算会话密钥k=y
x modp,使用k解密e
k
(x)得到x’,记录δb=t
b-t
a
作为双方时间差;a向b发送自己的名字和使用会话密钥k加密的y;其中,所述使用会话密钥k加密的y为e
k
(y);step4.b收到后,使用会话密钥k解密e
k
(y)得到y’,如果y’与y相同,则说明a已正确计算出同一会话密钥k,协商成功,否则报告协商失败。7.根据权利要求6所述的一种具有安全协同能力的智能小车系统,其特征在于:在步骤step2中,若收到该消息后,使用认证密钥v解密e
v
(p,g,x,t
a
)不能得到p,g,x,t
a
时,说明双方认证密钥不同,报告协商失败。8.根据权利要求6所述的一种具有安全协同能力的智能小车系统,其特征在于:在步骤step3中,在a收到后,使用认证密钥v解密e
v
(y,t
b
)得到y,t
b
,计算会话密钥k=y
x modp,使用k解密e
k
(x)得到x’后,如果x’与此前发送的x相同,则说明b持有正确的认证密钥v,并正确生成了会话密钥k,如果x’与x不同则报告协商失败。9.根据权利要求1所述的一种具有安全协同能力的智能小车系统,其特征在于:所述的决策模块包括单车决策单元和多车协同决单元,其中所述单车决策单元通过感知模块提供的数据,判断自身状态和周围环境,实现按路线行进、避障;所述多车协同单元收集汇总各小车提供的信息,接收人的指令或依据具体任务,规划出达成目标的相对优化方案,再将细化的指令下达给各小车,依靠多车协作共同完成任务。

技术总结
本发明公开了一种具有安全协同能力的智能小车系统,自下而上依次包括运动层、中间层和决策层;所述运动层包括驱动模块、电源模块和控制模块,通过控制模块控制驱动模块和电源模块工作;所述中间层包括音频模块、感知模块、通信模块和安全模块,为小车的音频、感知、通信和安全的智能应用提供支撑;所述决策层包括决策模块和交互模块,用于执行小车的自主决策、多车协同和人工指令;本系统通过对安全模块进行设计,开发具备多车安全协同能力的智能小车系统,能够实现身份认证、密钥协商、信息传输保密和防欺诈等安全防护能力,具有协同能力强、安全性能好的特点。安全性能好的特点。安全性能好的特点。


技术研发人员:谢振杰 付伟
受保护的技术使用者:中国人民解放军海军工程大学
技术研发日:2022.03.23
技术公布日:2022/7/5
转载请注明原文地址: https://www.8miu.com/read-2362.html

最新回复(0)