当前位置: 首页 > 专利查询>东南大学专利>正文

一种针对车联网中大批量数据防篡改的签名算法制造技术

技术编号:22310724 阅读:67 留言:0更新日期:2019-10-16 10:33
本发明专利技术公开了一种针对车联网中大批量数据防篡改的签名算法,该算法通过链式存储结构、哈希摘要算法和CBC‑MAC算法的结合对车联网中存储于本地的诸如车速、GPS等周期产生的大批量数据进行防篡改保护。该算法根据数据产生时间对批量数据分文件存储,并通过文首数据签名算法连接文件实现链式存储结构;通过非文首签名算法连接相同文件内的数据帧。本算法加入了AES加密运算用于避免分组替换攻击的风险;且该算法仅需进行一次AES和一次SHA256,计算速度优于CBC‑MAC。通过上述算法,攻击者无论删除上一条数据或者修改上一条数据内容,通过本组数据的签名检查即可检出。通过该算法可以实现原始数据帧的防篡改签名及认证,具有更强的安全性和更高的计算效率。

An anti tamper signature algorithm for mass data in Internet of vehicles

【技术实现步骤摘要】
一种针对车联网中大批量数据防篡改的签名算法
本专利技术涉及车联网数据安全领域,具体为一种针对车联网中大批量数据防篡改的签名算法。
技术介绍
与实时产生数据的传输相比,车联网中本地保存的大批量数据的认证方与签名方一致,即均由车载记录设备完成,因此历史数据的签名可以由设备的私钥完成,该密钥只有本设备拥有。此外,历史记录数据一般为按一定周期产生的,且因行车过程中可能产生熄火停车导致车辆断电的情况,车载记录设备无法预知记录的结束,因此设备需要对产生的每一组数据单独进行签名。由于此类数据的记录周期一般比较短,如汽车行驶记录仪标准规定车辆需每隔0.2s记录汽车运行的各类参数,即1s约有5帧数据,根据规定中的参数要求,每帧数据明文大多数情况一般在64字节左右,即车辆行驶一小时记录的数据约为115.2kB共计18000组。当相关车联网应用(如交警事故鉴定应用)要求车辆传输此类数据时,一般会指定一个完整时间段的记录数据一次性传输,即如果应用需要车辆某一个小时的记录数据,则车载设备需要在传输前对这一小时内的18000条数据分别进行防篡改检验,如果通过CBC-MAC算法进行,将会非常耗时,此外,设备还需对整体记录的数据进行完整性检验,确保记录的数据组整体是完整的,没有被整条删除的数据,CBC-MAC则无法完成该记录。综上,车联网本地记录历史记录数据的传输特点包括:签名与认证由相同设备完成;产生的每组数据需要单独签名;数据具有单组小总量大的特征;数据单次传输需要对大量的单组数据进行分别的防篡改认证,同时需要验证其整体完整性。
技术实现思路
为解决上述问题,本专利技术公开了一种针对车联网中大批量数据防篡改的签名算法。专利技术目的:保证车联网中的大批量数据防篡改签名与认证的安全性与高效性,针对车联网数据具有的单组小、总量大、数据单次传输需要对大量的单组数据进行分别的防篡改认证以及完整性验证的需求,本专利技术提出了一种针对车联网中大批量数据防篡改的签名算法,通过该算法可以实现原始数据帧的防篡改签名及认证,具有更强的安全性和更高的计算效率。技术方案:一种针对车联网中大批量数据防篡改的签名算法,所述算法对车联网中存储于本地的周期产生的大批量数据进行防篡改保护;所述算法根据数据产生时间对批量数据分文件存储,对每一条原始数据均会计算其对应签名并一同保存,数据存储的文件基于数据产生的时间。每个文件中的第一条数据签名算法采用文首数据签名算法,以此完成本文件与上一文件的连接,从而实现文件整体的快速防篡改检验;文件中的其他数据采用非文首数据签名算法,以此完成相邻数据帧的连接,从而实现原始数据整组删除攻击检验。每个文件的第一条数据签名算法采用的文首数据签名算法步骤如下:步骤1:计算上一文件的明文内容LastTxt的SHA256哈希值LastHash;步骤2:将LastHash的高128位和低128位异或后赋值给16字节数组Y,由于散列函数本身具有单向性随机性,异或后的结果不会导致Y具有任何规律;步骤3:循环截取16字节本条数据赋值给16字节数组X,判断是否成功截取16字节数据,如果成功截取则直接通过私钥和AES算法计算AES(XXORY),其中XOR表示异或,并将计算结果更新至Y;步骤4:依次循环直至截取明文后的长度不足16字节,通过字节填补算法PKCS7对不足部分进行字节填补,完成填补后继续进行AES(XXORY)计算得到最终的128位签名数组Y的值;步骤5:对128位签名数据Y进行Base64编码得到最终的文首数据签名,并以ASCII码格式附于原始数据后,存储于本文件内。其他数据签名算法采用的非文首数据签名算法步骤如下:步骤1:通过16字节私钥KEY对本条数据D以16字节为周期进行异或,并将异或结果保存至X,假设本条数据长为31字节:则X的第1至16字节的结果为KEY[1:16]XORD[1:16],其中[1:16]表示数据的第1字节至第16字节,X的第17至31字节的结果为KEY[1:15]XORD[17:31];步骤2:通过AES计算算法对上一组数据的128位签名YLast进行一次运算AES(YLast)得到临时变量TempRes;步骤3:将步骤1中的X与步骤2中的TempRes拼接,并对此进行SHA256哈希计算;步骤4:将步骤3中的计算结果的高128位与低128位异或,得到最终的128位签名数组值YThis;步骤5:对128位签名数据YThis进行Base64编码得到最终的非文首数据签名,并以ASCII码格式附于原始数据后,存储于本文件内。本专利技术的有益效果为:本专利技术公开了一种针对车联网中大批量数据防篡改的方法,通过上述算法实现。该算法通过链式存储结构、哈希摘要算法和CBC-MAC算法的结合对车联网中存储于本地的诸如车速、GPS等周期产生的大批量数据进行防篡改保护。该算法根据数据产生时间对批量数据分文件存储,并通过文首数据签名算法连接文件实现链式存储结构;通过非文首签名算法连接相同文件内的数据帧。相较于HMAC算法,本算法加入了AES加密运算用于避免分组替换攻击的风险;且相较于CBC-MAC算法,该算法仅需进行一次AES和一次SHA256,计算速度优于CBC-MAC。通过上述算法,攻击者无论删除上一条数据或者修改上一条数据内容,通过本组数据的签名检查即可检出。通过该算法可以实现原始数据帧的防篡改签名及认证,具有更强的安全性和更高的计算效率。附图说明图1是本专利技术算法整体设计图图2是本专利技术设计的文首数据签名算法流程图图3是本专利技术设计的非文首数据签名算法流程图图4是本专利技术设计的防篡改签名算法验证效率与CBC-MAC的比较曲线图5是本专利技术设计的防篡改签名算法与其他签名的有效载荷比较曲线具体实施方式下面结合附图和具体实施方式,进一步阐明本专利技术,应理解下述具体实施方式仅用于说明本专利技术而不用于限制本专利技术的范围。一种针对车联网中大批量数据防篡改的签名算法,其整体结构如图1所示,对每一条原始数据均会计算其对应签名并一同保存,数据存储的文件基于数据产生的时间。对每一条原始数据均会计算其对应签名并一同保存,数据存储的文件基于数据产生的时间。每个文件中的第一条数据签名算法采用图2所示文首数据签名算法,以此完成本文件与上一文件的连接,从而实现文件整体的快速防篡改检验;文件中的其他数据采用图3所示非文首数据签名算法,以此完成相邻数据帧的连接,从而实现原始数据整组删除攻击检验。文首数据签名算法步骤如下:步骤1:计算上一文件的明文内容LastTxt的SHA256哈希值LastHash;步骤2:将LastHash的高128位和低128位异或后赋值给16字节数组Y,由于散列函数本身具有单向性随机性,异或后的结果不会导致Y具有任何规律;步骤3:循环截取16字节本条数据赋值给16字节数组X,判断是否成功截取16字节数据,如果成功截取则直接通过私钥和AES算法计算AES(XXORY),其中XOR表示异或,并将计算结果更新至Y;步骤4:依次循环直至截取明文后的长度不足16字节,通过字节填补算法PKCS7对不足部分进行字节填补,完成填补后继续进行AES(XXORY)计算得到最终的128位签名数组Y的值;步骤5:对128位签名数据Y进行Base64编码得到最终的文首数据签名,并以ASCII码本文档来自技高网...

【技术保护点】
1.一种针对车联网中大批量数据防篡改的签名算法,其特征在于:所述算法对车联网中存储于本地的周期产生的大批量数据进行防篡改保护;所述算法根据数据产生时间对批量数据分文件存储,对于每一条原始数据均会计算其对应签名并一同保存,数据存储的文件基于数据产生的时间,每个文件中的第一条数据签名算法采用文首数据签名算法,以此完成本文件与上一文件的连接,实现文件整体的快速防篡改检验;文件中的其他数据采用非文首数据签名算法,以此完成相邻数据帧的连接,实现原始数据整组删除攻击检验。

【技术特征摘要】
1.一种针对车联网中大批量数据防篡改的签名算法,其特征在于:所述算法对车联网中存储于本地的周期产生的大批量数据进行防篡改保护;所述算法根据数据产生时间对批量数据分文件存储,对于每一条原始数据均会计算其对应签名并一同保存,数据存储的文件基于数据产生的时间,每个文件中的第一条数据签名算法采用文首数据签名算法,以此完成本文件与上一文件的连接,实现文件整体的快速防篡改检验;文件中的其他数据采用非文首数据签名算法,以此完成相邻数据帧的连接,实现原始数据整组删除攻击检验。2.根据权利要求1所述的一种针对车联网中大批量数据防篡改的签名算法,其特征在于,每个文件的第一条数据签名算法采用的文首数据签名算法步骤如下:步骤1:计算上一文件的明文内容LastTxt的SHA256哈希值LastHash;步骤2:将LastHash的高128位和低128位异或后赋值给16字节数组Y,由于散列函数本身具有单向性随机性,异或后的结果不会导致Y具有任何规律;步骤3:循环截取16字节本条数据赋值给16字节数组X,判断是否成功截取16字节数据,如果成功截取则直接通过私钥和AES算法计算AES(XXORY),其中XOR表示异或,并将计算结果更新至Y;步骤4:依次循环直至截取明文后的长度不足16字节,通过字节填补算法PKCS...

【专利技术属性】
技术研发人员:秦文虎尚昊孙立博刘英杰
申请(专利权)人:东南大学
类型:发明
国别省市:江苏,32

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1