基于加密短信远程控制车辆的系统及方法与流程

文档序号:12361005阅读:789来源:国知局

本发明涉及车辆控制领域,尤其涉及一种基于加密短信远程控制车辆的系统及方法。



背景技术:

目前市面上的汽车电子防盗器,普遍可以实现近距离控制汽车,如锁定、点火、开后备箱等。但是只能在近距离控制,也无法实现汽车实时状态远程上报,应用范围受限。

为了实现远距离信息传输,比较方便通用的通信方式是短信息。在短信通信系统中,用户手机和基站之间的通信是加密的,但是基站和基站却是明文发送。且用户手机在使用定位产品过程中也很容易泄漏通信数据内容。因此,很容易造成不法人员模拟短信内容、篡改用户手机号远程非法控制他人车辆。



技术实现要素:

本发明的目的是为了解决现有技术的不足,提供一种基于加密短信远程控制车辆的系统及方法,可以实现远程控制车辆、防止黑客的恶意攻击。

本发明的目的是通过以下技术方案实现的:

本发明的一个目的是提供一种基于加密短信远程控制车辆的系统,包括:

客户端,用于对短信进行加密,将短信发送给GSM通信模块;

GSM通信模块,用于传送短信和汽车数据,对新的短信进行校验;

汽车防盗器,用于根据短信内容采集汽车数据,并将汽车数据发送给GSM通信模块;

所述GSM通信模块分别与客户端、汽车防盗器通讯连接,所述客户端与汽车防盗器通讯连接。

上述的基于加密短信远程控制车辆的系统,其中,所述GSM通信模块包括数据存储模块。

上述的基于加密短信远程控制车辆的系统,其中,所述短信包括控制命令的内容。

本发明的另一个目的是提供一种基于加密短信远程控制车辆的方法,包括以下步骤:

加密短信:通过所述客户端对短信进行加密,在每个短信中添加序列号,所述序列号用于标示每条短信的先后次序;

短信解密和数据计算:所述客户端通过GSM网络将短信发送至GSM通信模块,所述GSM通信模块记录获取短信的时间戳,并计算获取短信的时间戳和世界协调时的差值;所述GSM通信模块对短信进行解密,得到短信中的序列号和控制命令的内容,并根据得到的序列号计算此序列号的后20个和前19个序列号;

数据存储:所述数据存储模块存储获取每个短信的时间戳和世界协调时的差值数据、每个序列号的后20个和前19个序列号的数据;

汽车数据采集:所述GSM通信模块将解密后的短信通过串口通信发送至汽车防盗器;所述汽车防盗器接收短信,并根据短信的控制命令的内容采集汽车数据,所述汽车防盗器通过串口通信将采集的汽车数据发送至GSM通信模块,所述GSM通信模块通过GSM网络将汽车数据发送至客户端。

上述的一种基于加密短信远程控制车辆的方法,其中,除所述客户端首次下发的短信中的序列号外,其它序列号都是在前一个序列号的基础上根据序列号加密算法计算的结果,所述序列号由四个字节组成。

所述序列号加密算法具体包括以下步骤:

将当前序列号的前一个序列号记为<H1><H2><H3><H4>,将当前序列号记为<FH1><FH2><FH3><FH4>;

计算一中间序列号<NH1><NH2><NH3><NH4>,其中:

<NH1>=<H1>+<H4>,

<NH2>=<H2>+<NH1>

<NH3>=<H3>+<NH2>

<NH4>=<H4>+<NH3>;

则<FH4><FH3><FH2><FH1>=<NH4><NH3><NH2><NH1>+<Offset>+0X1E,其中,<Offset>为客户端首次下发的序列号。

上述的基于加密短信远程控制车辆的方法,其中,所述GSM通信模块接收新的短信时,校验其序列号和时间戳,具体方法包括:

将获取的新短信的时间戳和世界协调时的差值记为A,将获取的上一条短信的时间戳和世界协调时的差值记为B,计算A和B的差值;

若-20min≤A-B≤20min,且新短信的序列号为根据上一个短信的序列号按照列号加密算法计算得到的其后20个和前19个序列号中的其中一个,则校验成功,发送短信至汽车防盗器;否则,校验失败,不发送短信。

上述的基于加密短信远程控制车辆的方法,其中,在短信校验过程中,若连续校验失败的短信数达到10条,则所述GSM通信模块判断存在恶意攻击,并发送警报信息至客户端。

上述的基于加密短信远程控制车辆的方法,其中,所述客户端在发送短信或所述汽车防盗器在发送汽车数据至所述GSM通信模块过程中,若发送失败,则重新发送,当发送失败的次数达到五次时,则停止发送此次信息。

综上所述,通过本发明的技术方案,可以远程控制车辆和获取车辆实时数据。本发明通过加密算法在短信中添加序列号,提高了短信的安全性,同时通过序列号和时间戳对短信进行校验,可以在不可靠无连接的短信通信基础上,实现一种相对安全可靠的通信,让黑客无法攻击、窃取车辆。

同时,本发明不限于汽车领域,还可以应用到其它基于短信的远程信息交互中,如可穿戴设备等。

附图说明

图1为本发明一种基于加密短信远程控制车辆的系统的原理图。

具体实施方式

下面结合附图对本发明的具体实施方式作详细介绍。

请参见图1,本发明的一种基于加密短信远程控制车辆的系统,所述系统包括客户端、GSM通信模块、汽车防盗器。

客户端对短信进行加密,通过在短信中添加序列号标识每条短信的先后次序。短信按照AT命令协议格式进行组包,在短信中包含控制命令的内容。

除客户端首次下发的短信的序列号外,其它序列号都是在前一个序列号的基础上根据序列号加密算法计算的结果,序列号加密算法具体包括以下步骤:

序列号由四个字节组成,则将当前序列号的前一个序列号记为<H1><H2><H3><H4>,将当前序列号记为<FH1><FH2><FH3><FH4>。

计算一中间序列号<NH1><NH2><NH3><NH4>,其中:

<NH1>=<H1>+<H4>,

<NH2>=<H2>+<NH1>

<NH3>=<H3>+<NH2>

<NH4>=<H4>+<NH3>;

则<FH4><FH3><FH2><FH1>=<NH4><NH3><NH2><NH1>+<Offset>+0X1E,其中,<Offset>为客户端首次下发的序列号。

例如,将<NH4><NH3><NH2><NH1>记为NH,将<FH4><FH3><FH2><FH1>记为FH,当<H1><H2><H3><H4>=<6><6><6><C>时,NH和FH的计算和结果如表一所示:

表一

序列号是由二个字节按照HEX明码方式组成,它的组成范围是0X0001-0XFFFF,由成员<H1>、<H2>、<H3>、<H4>组成,该计算按照计算机补码进行计算,对超出一个字节的溢出位进行丢弃。

每次计算中间序列号NH后自动加上<offset>和0X1E,通过<offset>可以有效的避免在序列号校验过程中出现序列号死循环值,导致短信序列号加密校验功能失效的情况。

客户端将加密后的短信通过GSM网络发送给GSM通信模块,为了确保短信可以发送成功,客户端在发送短信至GSM通信模块的过程中,若发送失败,则重新发送,当发送失败的次数达到五次时,则丢弃此条短信。

GSM通信模块接收发送成功的短信,并记录获取短信的时间戳,根据时间戳计算获取短信的时间戳和世界协调时的差值。在GSM通信模块中设置一数据存储模块,GSM通信模块将差值数据存储在数据存储模块中。

GSM通信模块对接收的短信进行解密,得到短信中的序列号和控制命令的内容,GSM通信模块根据得到的序列号计算此序列号的后20个和前19个序列号,并将此序列号的后20个和前19个序列号存储在数据存储模块中。

当GSM通信模块接收新的短信时,需要对校验其序列号和时间戳,由于考虑到GSM网络中可能会出现短信发送被延时的情况,所以在校验序列号时需要考虑序列号倒退也是合理情况,具体方法为:

将当前GSM通信模块收到的短信的序列号记为Sn,Sn后续的序列号应该是在Sn的基础上进行加密计算得到S(n+1),在S(n+1)的基础上,再次经过加密算法得到S(n+2),以此类推可以得到正向20条短信的序列号S(n+1)、S(n+2)、S(n+3)...S(n+20)。倒序反推,序列号Sn前一条序列号同样可以根据加密算法反推得到S(n-1),在S(n-1)的基础上反推得到S(n-2),以此类推最终得到S(n-19),得到反向19条短信的序列号S(n-1)、S(n-2)、S(n-3)...S(n-19)。

将获取的新的短信的时间戳和世界协调时的差值记为A,将获取的上一条短信的时间戳和世界协调时的差值记为B,计算A和B的差值。

当一条新的短信发送至GSM通信模块时,判断其序列号是否在[S(n-19),S(n-18),S(n-17)…S(n-1),S(n+1)、S(n+2)、S(n+3)…S(n+20)]的区间范围内,同时判断-20min≤A-B≤20min是否为真。若新的短信的序列号∈在[S(n-19),S(n-18),S(n-17)…S(n-1),S(n+1)、S(n+2)、S(n+3)…S(n+20)],且-20min≤A-B≤20min为真,则校验成功,发送短信至汽车防盗器;否则,校验失败,不发送短信。

在短信校验过程中,若连续校验失败的短信数达到10条,则所述GSM通信模块判断存在恶意攻击,并发送警报信息至客户端。

通过上述方法,本发明可以通过校验短信的时间戳和序列号屏蔽潜在的黑客攻击,只有真实用户的客户端的短信才可以被接收、执行。通过序列号的加密算法,使短信更安全。

若序列号、时间戳校验都成功,则该条短信将被GSM通信模块通过串口通信发送至汽车防盗器。同时GSM通信模块记录下该条短信的序列号,作为下条短信的序列号校验的判断依据。

汽车防盗器接收GSM通信模块发送到短信,并根据短信的控制命令的内容采集汽车数据,并通过串口通信将采集的汽车数据发送至GSM通信模块,GSM通信模块通过GSM网络将汽车数据发送至客户端。

在汽车防盗器在发送汽车数据至GSM通信模块的过程中,若发送失败,则重新发送,当发送失败的次数达到五次时,则停止发送此次数据。

通过本发明的技术方案,可以远程控制车辆和获取车辆实时数据。本发明通过加密算法在短信中添加序列号,提高了短信的安全性,同时通过序列号和时间戳对短信进行校验,可以在不可靠无连接的短信通信基础上,实现一种相对安全可靠的通信,让黑客无法攻击、窃取车辆。

同时,本发明不限于汽车领域,还可以应用到其它基于短信的远程信息交互中,如可穿戴设备等。

以上所述的实施例仅用于说明本发明的技术思想及特点,其目的在于使本领域内的技术人员能够了解本发明的内容并据以实施,不能仅以本实施例来限定本发明的专利范围,即凡依本发明所揭示的精神所作的同等变化或修饰,仍落在本发明的专利范围内。

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