CN110336678B - 一种针对车联网中大批量数据防篡改的签名算法 - Google Patents

一种针对车联网中大批量数据防篡改的签名算法 Download PDF

Info

Publication number
CN110336678B
CN110336678B CN201910654022.2A CN201910654022A CN110336678B CN 110336678 B CN110336678 B CN 110336678B CN 201910654022 A CN201910654022 A CN 201910654022A CN 110336678 B CN110336678 B CN 110336678B
Authority
CN
China
Prior art keywords
data
signature
algorithm
xor
file
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201910654022.2A
Other languages
English (en)
Other versions
CN110336678A (zh
Inventor
秦文虎
尚昊
孙立博
刘英杰
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Southeast University
Original Assignee
Southeast University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Southeast University filed Critical Southeast University
Priority to CN201910654022.2A priority Critical patent/CN110336678B/zh
Publication of CN110336678A publication Critical patent/CN110336678A/zh
Application granted granted Critical
Publication of CN110336678B publication Critical patent/CN110336678B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/12Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0618Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
    • H04L9/0631Substitution permutation network [SPN], i.e. cipher composed of a number of stages or rounds each involving linear and nonlinear transformations, e.g. AES algorithms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0643Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3236Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
    • H04L9/3239Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions involving non-keyed hash functions, e.g. modification detection codes [MDCs], MD5, SHA or RIPEMD
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3247Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Power Engineering (AREA)
  • Health & Medical Sciences (AREA)
  • Computing Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Medical Informatics (AREA)
  • Storage Device Security (AREA)

Abstract

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

Description

一种针对车联网中大批量数据防篡改的签名算法
技术领域
本发明涉及车联网数据安全领域,具体为一种针对车联网中大批量数据防篡改的签名算法。
背景技术
与实时产生数据的传输相比,车联网中本地保存的大批量数据的认证方与签名方一致,即均由车载记录设备完成,因此历史数据的签名可以由设备的私钥完成,该密钥只有本设备拥有。
此外,历史记录数据一般为按一定周期产生的,且因行车过程中可能产生熄火停车导致车辆断电的情况,车载记录设备无法预知记录的结束,因此设备需要对产生的每一组数据单独进行签名。由于此类数据的记录周期一般比较短,如汽车行驶记录仪标准规定车辆需每隔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(X XOR Y),其中XOR表示异或,并将计算结果更新至Y;
步骤4:依次循环直至截取明文后的长度不足16字节,通过字节填补算法PKCS7对不足部分进行字节填补,完成填补后继续进行AES(X XOR Y)计算得到最终的128位签名数组Y的值;
步骤5:对128位签名数据Y进行Base64编码得到最终的文首数据签名,并以ASCII码格式附于原始数据后,存储于本文件内。
其他数据签名算法采用的非文首数据签名算法步骤如下:
步骤1:通过16字节私钥KEY对本条数据D以16字节为周期进行异或,并将异或结果保存至X,假设本条数据长为31字节:则X的第1至16字节的结果为KEY[1:16]XOR D[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(X XOR Y),其中XOR表示异或,并将计算结果更新至Y;
步骤4:依次循环直至截取明文后的长度不足16字节,通过字节填补算法PKCS7对不足部分进行字节填补,完成填补后继续进行AES(X XOR Y)计算得到最终的128位签名数组Y的值;
步骤5:对128位签名数据Y进行Base64编码得到最终的文首数据签名,并以ASCII码格式附于原始数据后,存储于本文件内。
非文首数据签名算法步骤如下:
步骤1:通过16字节私钥KEY对本条数据D以16字节为周期进行异或,并将异或结果保存至X,假设本条数据长为31字节:则X的第1至16字节的结果为KEY[1:16]XOR D[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码格式附于原始数据后,存储于本文件内。
根据上述设计,通过C#编写软件仿真生成各类签名各2000组,假设本文设计的签名算法将这2000组数据存于4个链接文件中,其签名验证耗时如图4所示。
在网络数据传输领域,被传输的帧需要在被传输内容头尾加入数据长度等其他辅助解析字段,记载着内容数据的那部分被称为有效载荷(Payload)。而防篡改签名只是用于安全检验,实际没有增加文本的信息内容,却会占用实际的存储空间,为了衡量文本中实际与车辆各类信息相关的数据占比,定义有效载荷比为明文数据长度/(明文数据长度+签名长度)。由于ECDSA签名结果为64字节,经过Base64编码后为88字节;CBC-MAC签名需要附加初始向量,一共32字节,经Base64编码后为44字节;本发明设计的签名算法为16字节,经Base64编码后为24字节。根据每组数据的长度不同,其有效载荷比曲线如图5所示,可见本发明所设计的防篡改签名算法有效载荷比远高于ECDSA算法和CBC-MAC签名算法。车辆周期性记录的数据单条长度一般不超过128字节,此时ECDSA算法的有效载荷比仅为59.26%,CBC-MAC算法的有效载荷比为74.42%,本文设计的算法则可达84.21%。
本发明方案所公开的技术手段不仅限于上述实施方式所公开的技术手段,还包括由以上技术特征任意组合所组成的技术方案。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也视为本发明的保护范围。

Claims (2)

1.一种针对车联网中大批量数据防篡改的签名方法,其特征在于:对车联网中存储于本地的周期产生的大批量数据进行防篡改保护;根据数据产生时间对批量数据分文件存储,对于每一条原始数据均会计算其对应签名并一同保存,数据存储的文件基于数据产生的时间,每个文件中的第一条数据签名算法采用文首数据签名算法,以此完成本文件与上一文件的连接,实现文件整体的快速防篡改检验;文件中的其他数据采用非文首数据签名算法,以此完成相邻数据帧的连接,实现原始数据整组删除攻击检验;
所述非文首数据签名算法步骤如下:
步骤1:通过16字节私钥KEY对本条数据D以16字节为周期进行异或,并将异或结果保存至X,假设本条数据长为31字节:则X的第1至16字节的结果为KEY[1:16] XOR D[1:16],其中[1:16]表示数据的第1字节至第16字节,X的第17至31字节的结果为KEY[1:15] XOR D[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码格式附于原始数据后,存储于本文件内。
2.根据权利要求1所述的一种针对车联网中大批量数据防篡改的签名方法,其特征在于,每个文件的第一条数据签名算法采用的文首数据签名算法步骤如下:
步骤1:计算上一文件的明文内容LastTxt的SHA256哈希值LastHash;
步骤2:将LastHash的高128位和低128位异或后赋值给16字节数组Y,由于散列函数本身具有单向性随机性,异或后的结果不会导致Y具有任何规律;
步骤3:循环截取16字节本条数据赋值给16字节数组Z,判断是否成功截取16字节数据,如果成功截取则直接通过私钥和AES算法计算AES(Z XOR Y),其中XOR表示异或,并将计算结果更新至Y;
步骤4:依次循环直至截取明文后的长度不足16字节,通过字节填补算法PKCS7对不足部分进行字节填补,完成填补后继续进行AES(Z XOR Y)计算得到最终的128位签名数组Y的值;
步骤5:对128位签名数据Y进行Base64编码得到最终的文首数据签名,并以ASCII码格式附于原始数据后,存储于本文件内。
CN201910654022.2A 2019-07-19 2019-07-19 一种针对车联网中大批量数据防篡改的签名算法 Active CN110336678B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910654022.2A CN110336678B (zh) 2019-07-19 2019-07-19 一种针对车联网中大批量数据防篡改的签名算法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910654022.2A CN110336678B (zh) 2019-07-19 2019-07-19 一种针对车联网中大批量数据防篡改的签名算法

Publications (2)

Publication Number Publication Date
CN110336678A CN110336678A (zh) 2019-10-15
CN110336678B true CN110336678B (zh) 2022-04-29

Family

ID=68145734

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910654022.2A Active CN110336678B (zh) 2019-07-19 2019-07-19 一种针对车联网中大批量数据防篡改的签名算法

Country Status (1)

Country Link
CN (1) CN110336678B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113595731A (zh) * 2021-05-31 2021-11-02 作业帮教育科技(北京)有限公司 一种分享链接的防护方法、装置及计算机可读存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106788969A (zh) * 2016-12-02 2017-05-31 航天星图科技(北京)有限公司 一种数据文件的传输方法
CN108197262A (zh) * 2017-12-30 2018-06-22 惠龙易通国际物流股份有限公司 一种交易记录存储方法、设备及计算机存储介质

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106788969A (zh) * 2016-12-02 2017-05-31 航天星图科技(北京)有限公司 一种数据文件的传输方法
CN108197262A (zh) * 2017-12-30 2018-06-22 惠龙易通国际物流股份有限公司 一种交易记录存储方法、设备及计算机存储介质

Also Published As

Publication number Publication date
CN110336678A (zh) 2019-10-15

Similar Documents

Publication Publication Date Title
CN106230851B (zh) 基于区块链的数据保全方法及系统
CN103634114B (zh) 智能密码钥匙的验证方法及系统
US8095792B2 (en) One way authentication
CN112199649A (zh) 基于区块链的移动边缘计算下的匿名身份验证方法
CN103733564A (zh) 利用隐式证书链的数字签名
CN112732695B (zh) 一种基于区块链的云存储数据安全去重方法
CN107566360B (zh) 一种数据认证码的生成方法
CN109981285A (zh) 一种口令保护方法、口令校验方法及系统
CN111444257A (zh) 一种基于区块链的电子证据的存储方法及系统
CN112906056A (zh) 一种基于区块链的云存储密钥安全管理方法
CN115001775B (zh) 数据处理方法、装置、电子设备及计算机可读存储介质
CN102857487B (zh) 一种远程招标方法及系统
CN113259116A (zh) 一种基于聚合签名的传感器数据上链方法及系统
CN116232600A (zh) 一种基于区块链的数据安全存储方法及系统
WO2000013368A1 (en) Method of authenticating or 'digitally signing' digital data objects
CN110336678B (zh) 一种针对车联网中大批量数据防篡改的签名算法
CN113508407A (zh) 用于运行分布式数据库系统的方法、分布式数据库系统和工业自动化系统
CN102136904A (zh) 一种基于分组密码的消息鉴别方法
CN111428253B (zh) 一种适用于区块链的数据保护方法及系统
CN113901140A (zh) 基于区块链的工控设备数据上链方法
CN111478948B (zh) 区块链接入方法、物联网设备及存储介质
CN118296660B (zh) 一种传感器数据采集的可信终端实现方法
JP4860314B2 (ja) 情報処理装置、タイムスタンプトークンの発行方法、及び、コンピュータプログラム
CN114978694B (zh) 基于数字签名的数据体生成方法、装置、设备及存储介质
CN114266061B (zh) 一种基于散列链的离线数据防篡改方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant