CN114003970A - 一种基于哈希链的低开销消息完整性保护方法 - Google Patents

一种基于哈希链的低开销消息完整性保护方法 Download PDF

Info

Publication number
CN114003970A
CN114003970A CN202111248309.9A CN202111248309A CN114003970A CN 114003970 A CN114003970 A CN 114003970A CN 202111248309 A CN202111248309 A CN 202111248309A CN 114003970 A CN114003970 A CN 114003970A
Authority
CN
China
Prior art keywords
information
check code
hash chain
receiving end
message
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.)
Granted
Application number
CN202111248309.9A
Other languages
English (en)
Other versions
CN114003970B (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.)
CETC 54 Research Institute
Original Assignee
CETC 54 Research Institute
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 CETC 54 Research Institute filed Critical CETC 54 Research Institute
Priority to CN202111248309.9A priority Critical patent/CN114003970B/zh
Publication of CN114003970A publication Critical patent/CN114003970A/zh
Application granted granted Critical
Publication of CN114003970B publication Critical patent/CN114003970B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/64Protecting data integrity, e.g. using checksums, certificates or signatures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1004Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's to protect a block of data words, e.g. CRC or checksum
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services

Abstract

本发明公开了一种基于哈希链的低开销消息完整性保护方法,属于密码学技术领域。本发明中,发送端将原文、会话密钥和哈希链中存储的历史信息作为变换算法的输入,算法输出的变形文经CRC算法后生成用于消息完整性认证的校验码;发送端将原文和校验码发送至接收端后,接收端采用相同的变换算法和CRC算法进行计算,比较新生成的校验码与接收到的验证码是否相等就可验证消息的完整性。本发明能够用于消息完整性认证,相较于传统的基于对称密钥和非对称密钥的消息完整性保护方法,更加安全和高效。

Description

一种基于哈希链的低开销消息完整性保护方法
技术领域
本发明涉及密码学技术领域,具体涉及一种基于哈希链的低开销消息完整性保护方法。
背景技术
消息完整性认证是认证技术最主要的应用,它对网络通信安全具有至关重要的意义,是网络信息安全领域中非常值得关注和研究的问题。消息的完整性是信息安全的基本要求,在网络通信环境中,信息的接收者有必要对其收到的消息进行完整性认证,来鉴别信息发送者身份,验证信息在发送过程中是否被第三方修改、伪造或破坏。随着网络技术的不断进步,网络攻击行为层出不穷,保证信息的安全和高效传输变得越来越重要,特别是双方在一个不安全的信道上通信时,就需要有一种方法保证一方所发送的数据能够被另一方完整接收。基于哈希链的低开销消息完整性保护方法就是专门解决此类问题的。
传统的消息完整性保护方法包括基于对称密钥、基于非对称性密钥和基于循环校验码CRC等的消息完整性保护方法,其中基于对称密钥的方法如MD5,MD5以512位分组来处理输入的信息,算法的输出由4个32位分组级联后将生成一个128位散列值,每次运算都由前一轮的128位结果值和当前的512bit值进行运算,该算法可以为任何文件产生独一的“数字指纹”,通过检查文件前后MD5值是否发生了改变,就可知道原文件的完整性;基于非对称密钥的方法如RSA签名、DSS签名和Hash签名等,数字签名使用的是发送方的密钥对,发送方用自己的私钥进行加密,接收方用发送方的公钥进行解密,任何拥有发送方公钥的人都可以验证数字签名的正确性,该算法可以保证发送信息的完整性、身份的真实性和不可否认性;基于循环校验码CRC的方法如CRC-16,发送者通过信道传送原文信息和校验码,接收者收到发送信息后,提取出原始消息比特和附加在后面的校验码,并根据事先共享的密钥计算原始信息的校验码,如果计算出的校验码与接收到的校验码相等,则接收到完整的信息,该算法检测成本较低,对通信效率和安全提供了保障。
基于对称密钥的保护方法虽然加解密速度快,但是用于消息完整性保护的签名长度较大,基于非对称密钥的保护方法计算时间较长,基于循环校验码CRC的保护方法可以高效的完成数据校验和纠错过程,但是难以抵抗重放等攻击。因此,消息完整性保护算法的低开销和安全设计是一个值得解决的问题。
发明内容
针对现有技术中存在的问题,本发明提供一种基于哈希链的低开销消息完整性保护方法,能够用于数据完整性校验,该算法通过改进现有的基于对称密钥的消息完整性保护方法,引入哈希链来保存历史消息,利用消息传输确认机制来保证收发端哈希链的一致性,在计算过程中加入历史消息,最后采用循环校验码CRC算法校验数据完整性,使消息完整性认证过程安全且高效。
为了实现上述目的,本发明采用以下的技术方案:
一种基于哈希链的低开销消息完整性保护方法,包括以下步骤:
步骤1.发送端和接收端采用非对称加密算法协商出会话密钥;
步骤2.发送端在原文后填充一定长度的内容固定的数据,填充长度与CRC校验码长度相同,根据是否首次发送信息,进行如下处理:
(201)若为首次发送,将填充后的原文作为哈希链的待存储信息,将该信息和会话密钥IK作为散列变换算法的输入,生成变形文;
(202)若非首次发送,将填充后的原文与本地哈希链中的最新一条信息进行逻辑运算,生成哈希链的待存储信息,将该信息和会话密钥IK作为散列变换算法的输入,生成变形文;
步骤3.发送端采用CRC算法处理变形文,生成校验码,并将原文和生成的校验码发送到接收端;
步骤4.接收端收到发送信息后,在接收到的原文后填充一定长度的内容固定的数据,填充长度与CRC校验码长度相同,根据是否首次接收信息,进行如下处理:
(401)若为首次接收,将填充后的原文作为哈希链的待存储信息,将该信息和会话密钥IK作为散列变换算法的输入,生成新的变形文;
(402)若非首次接收,将填充后的原文与本地哈希链中的最新一条信息进行逻辑运算,生成哈希链的待存储信息,将该信息和会话密钥IK’作为散列变换算法的输入,生成变形文;
步骤5.接收端采用CRC算法处理变形文,生成新的校验码,比较新生成的校验码与接收到的校验码是否相等,并进行如下处理:
(501)若新生成的校验码与接收到的校验码相等,则接收到完整的消息,接收端利用收发双方的消息传输确认机制向发送方发送确认信息,发送端和接收端将本地保存的哈希链待存储信息加入到哈希链中,并在维护的哈希链中保存最新的多条信息;
(502)若新生成的校验码与接收到的校验码不等,则未接收到完整的消息,接收端利用收发双方的消息传输确认机制向发送方发送重传请求,重复步骤2和步骤3的过程。
进一步的,所述步骤1的具体实现过程如下:
步骤101,发送端产生本次通信的会话密钥IK,并使用接收方的公钥加密会话密钥,用发送方私钥进行签名,发送方通过安全的信道将加密后的会话密钥和签名发送到接收端;
步骤102,接收端收到发送的信息后,首先用发送方公钥验证签名,然后用自己的私钥解出会话密钥IK’,保存会话密钥用于本次通信。
本发明的有益效果在于:
1、本发明采用哈希链的思想,收发双方维护一个哈希链,保存若干条与历史消息和校验码相关联信息,利用消息传输确认机制来保证哈希链的一致性,在计算时引入哈希链存储的信息,使计算过程具有历史关联性,最后采用循环校验码CRC算法完成数据完整性的校验过程,在信道中只需传输原文和校验码信息。
2、相较于基于对称密钥的保护方法,本发明无需传输较大的签名信息,只需在信道中传输原文和校验码;相较于基于非对称密钥的保护方法,该算法更加高效,且能够抵抗重放等攻击。
附图说明
图1是本发明完整性保护方法的流程图。
图2是本发明实施例的原理示意图。
具体实施方式
为了使本发明的目的及优点更加清楚明白,下面结合附图和具体实施例对本发明做进一步的说明。应当理解,以下文字仅仅用以描述本发明的一种或几种具体实施方式,并不对本发明具体请求的保护范围进行严格限定。
一种基于哈希链的低开销消息完整性保护方法,如图2所示,该方法的实施通过发送单元、接收单元和哈希链存储单元完成。
发送单元是信息的发送方,产生收发双方间的会话密钥,将变换算法和CRC算法处理后的原文和校验码发送到接收单元,根据接收单元返回的消息确认消息维护本地存储的哈希链。
接收单元是信息的接收方,通过变换算法和CRC算法处理接收到的原文,根据计算出的校验码与接收到的校验码是否相等,向发送方返回消息确认信息,维护本地存储的哈希链。
哈希链存储单元由收发双方各自在本地维护,向发送单元和接收单元提供最新一条哈希链信息用于计算,并通过收发双方的消息传输确认机制确保同步。
进一步的,如图1所示,该方法的具体实施过程包括以下步骤:
步骤1.发送端和接收端采用非对称加密算法协商出会话密钥;
步骤2.发送端在原文后填充一定长度的数据,填充长度与CRC校验码长度相同,内容固定,根据是否首次发送信息,进行如下处理:
(1)若为首次发送,将填充后的原文作为哈希链的待存储信息,将该信息和会话密钥IK作为散列变换算法的输入,生成变形文;
(2)若非首次发送,将填充后的原文与本地哈希链中的最新一条信息进行运算(如异或),生成哈希链的待存储信息,将该信息和会话密钥IK作为散列变换算法的输入,生成变形文。
步骤3.发送端采用CRC算法处理变形文后生成校验码,并将原文和生成的校验码发送到接收端;
步骤4.接收端收到发送信息后,在接收到的原文后填充一定长度的数据,填充长度与CRC校验码长度相同,内容固定,根据是否首次接收信息,进行如下处理:
(1)若为首次接收,将填充后的原文作为哈希链的待存储信息,将该信息和会话密钥IK作为散列变换算法的输入,生成新的变形文;
(2)若非首次接收,将填充后的原文与本地哈希链中的最新一条信息进行运算(如异或),生成哈希链的待存储信息,将该信息和会话密钥IK’作为散列变换算法的输入,生成变形文。
步骤5.接收端采用CRC算法处理变形文后生成新的校验码,比较新生成的校验码与接收到的校验码是否相等,并进行如下处理:
(1)若新生成的校验码与接收到的校验码相等,则接收到完整的消息,接收端利用收发双方的消息传输确认机制(如TCP协议)向发送方发送确认信息,发送端和接收端将本地保存的哈希链待存储信息加入到哈希链中,并在维护的哈希链中保存最新的若干条(如10条)信息;
(2)若新生成的校验码与接收到的校验码不等,则未接收到完整的消息,接收端利用收发双方的消息传输确认机制(如TCP协议)向发送方发送重传请求,重复步骤2和3所述过程。
其中,步骤1的具体实现过程如下:
步骤101,发送端产生本次通信的会话密钥(IK),并使用接收方的公钥加密会话密钥,用发送方私钥进行签名,发送方通过安全的信道将加密后的会话密钥和签名发送到接收端;
步骤102,接收端收到发送的信息后,首先用发送方公钥验证签名,然后用自己的私钥解出会话密钥(IK’),保存会话密钥用于本次通信。
采用本发明方法,网络中的通信双方通过非对称密钥算法协商出通信的会话密钥,并通过消息传输确认机制在本地维护一个哈希链;发送端将原文、会话密钥和哈希链中存储的历史信息作为变换算法的输入,算法输出的变形文经CRC算法后生成用于消息完整性认证的校验码;发送端将原文和校验码发送至接收端后,接收端采用相同的变换算法和CRC算法进行计算,比较新生成的校验码与接收到的验证码是否相等就可验证消息的完整性。本发明能够用于消息完整性认证,相较于传统的基于对称密钥和非对称密钥的消息完整性保护方法,更加安全和高效。

Claims (2)

1.一种基于哈希链的低开销消息完整性保护方法,其特征在于,包括以下步骤:
步骤1.发送端和接收端采用非对称加密算法协商出会话密钥;
步骤2.发送端在原文后填充一定长度的内容固定的数据,填充长度与CRC校验码长度相同,根据是否首次发送信息,进行如下处理:
(201)若为首次发送,将填充后的原文作为哈希链的待存储信息,将该信息和会话密钥IK作为散列变换算法的输入,生成变形文;
(202)若非首次发送,将填充后的原文与本地哈希链中的最新一条信息进行逻辑运算,生成哈希链的待存储信息,将该信息和会话密钥IK作为散列变换算法的输入,生成变形文;
步骤3.发送端采用CRC算法处理变形文,生成校验码,并将原文和生成的校验码发送到接收端;
步骤4.接收端收到发送信息后,在接收到的原文后填充一定长度的内容固定的数据,填充长度与CRC校验码长度相同,根据是否首次接收信息,进行如下处理:
(401)若为首次接收,将填充后的原文作为哈希链的待存储信息,将该信息和会话密钥IK作为散列变换算法的输入,生成新的变形文;
(402)若非首次接收,将填充后的原文与本地哈希链中的最新一条信息进行逻辑运算,生成哈希链的待存储信息,将该信息和会话密钥IK’作为散列变换算法的输入,生成变形文;
步骤5.接收端采用CRC算法处理变形文,生成新的校验码,比较新生成的校验码与接收到的校验码是否相等,并进行如下处理:
(501)若新生成的校验码与接收到的校验码相等,则接收到完整的消息,接收端利用收发双方的消息传输确认机制向发送方发送确认信息,发送端和接收端将本地保存的哈希链待存储信息加入到哈希链中,并在维护的哈希链中保存最新的多条信息;
(502)若新生成的校验码与接收到的校验码不等,则未接收到完整的消息,接收端利用收发双方的消息传输确认机制向发送方发送重传请求,重复步骤2和步骤3的过程。
2.根据权利要求1所述的一种基于哈希链的低开销消息完整性保护方法,其特征在于,所述步骤1的具体实现过程如下:
步骤101,发送端产生本次通信的会话密钥IK,并使用接收方的公钥加密会话密钥,用发送方私钥进行签名,发送方通过安全的信道将加密后的会话密钥和签名发送到接收端;
步骤102,接收端收到发送的信息后,首先用发送方公钥验证签名,然后用自己的私钥解出会话密钥IK’,保存会话密钥用于本次通信。
CN202111248309.9A 2021-10-26 2021-10-26 一种基于哈希链的低开销消息完整性保护方法 Active CN114003970B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111248309.9A CN114003970B (zh) 2021-10-26 2021-10-26 一种基于哈希链的低开销消息完整性保护方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111248309.9A CN114003970B (zh) 2021-10-26 2021-10-26 一种基于哈希链的低开销消息完整性保护方法

Publications (2)

Publication Number Publication Date
CN114003970A true CN114003970A (zh) 2022-02-01
CN114003970B CN114003970B (zh) 2022-12-09

Family

ID=79924194

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111248309.9A Active CN114003970B (zh) 2021-10-26 2021-10-26 一种基于哈希链的低开销消息完整性保护方法

Country Status (1)

Country Link
CN (1) CN114003970B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115277219A (zh) * 2022-07-29 2022-11-01 中国第一汽车股份有限公司 消息加密方法、解密方法、装置及存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109995509A (zh) * 2019-05-08 2019-07-09 西安电子科技大学 基于消息恢复签名的认证密钥交换方法
CN111030821A (zh) * 2019-08-27 2020-04-17 杭州云象网络技术有限公司 一种基于双线性映射技术的联盟链加密方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109995509A (zh) * 2019-05-08 2019-07-09 西安电子科技大学 基于消息恢复签名的认证密钥交换方法
CN111030821A (zh) * 2019-08-27 2020-04-17 杭州云象网络技术有限公司 一种基于双线性映射技术的联盟链加密方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
施荣华等: "基于单向哈希链的Ad Hoc网络密钥协商协议", 《湖南大学学报(自然科学版)》 *
黄艺波等: "基于哈希链的BLE密钥协商方案设计", 《系统仿真学报》 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115277219A (zh) * 2022-07-29 2022-11-01 中国第一汽车股份有限公司 消息加密方法、解密方法、装置及存储介质

Also Published As

Publication number Publication date
CN114003970B (zh) 2022-12-09

Similar Documents

Publication Publication Date Title
US8687800B2 (en) Encryption method for message authentication
CN101917270B (zh) 一种基于对称密码的弱认证和密钥协商方法
CN111147225A (zh) 基于双密值和混沌加密的可信测控网络认证方法
CN106357690B (zh) 一种数据传输方法、数据发送装置及数据接收装置
CN105162599B (zh) 一种数据传输系统及其传输方法
CN102111273B (zh) 一种基于预共享的电力负荷管理系统数据安全传输方法
CN104901935A (zh) 一种基于cpk的双向认证及数据交互安全保护方法
CN114826656A (zh) 一种数据链路可信传输方法和系统
CN116321129B (zh) 一种轻量级的基于动态密钥的电力交易专网通信加密方法
CN104243494A (zh) 一种数据处理方法
CN114915396B (zh) 一种基于国密算法的跳变密钥数字通信加密系统和方法
CN114499857B (zh) 一种实现大数据量子加解密中数据正确性与一致性的方法
CN112713995A (zh) 一种用于物联网终端的动态通信密钥分发方法及装置
CN105099699A (zh) 基于物联网设备的安全高效通信方法及系统
CN114003970B (zh) 一种基于哈希链的低开销消息完整性保护方法
JPH09312643A (ja) 鍵共有方法及び暗号通信方法
CN114422135A (zh) 一种基于椭圆曲线的可验证的不经意传输方法
CN110417804B (zh) 一种适于单片机实现的双向身份认证加密通信方法及系统
CN111800784A (zh) 基于云计算的区块链云服务系统
CN114928503B (zh) 一种安全通道的实现方法及数据传输方法
CN112822015B (zh) 信息传输方法及相关装置
CN112787990B (zh) 一种电力终端可信接入认证方法和系统
CN101262334A (zh) 蓝牙数据传输加密方法
CN111865908B (zh) 一种基于随机加密策略的资源受限系统安全通讯方法
KR20150103394A (ko) 암호화 시스템 및 그것의 암호 통신 방법

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