CN116366206B - 一种增强密码卡可靠性的方法及系统 - Google Patents
一种增强密码卡可靠性的方法及系统 Download PDFInfo
- Publication number
- CN116366206B CN116366206B CN202310639757.4A CN202310639757A CN116366206B CN 116366206 B CN116366206 B CN 116366206B CN 202310639757 A CN202310639757 A CN 202310639757A CN 116366206 B CN116366206 B CN 116366206B
- Authority
- CN
- China
- Prior art keywords
- data
- minimum unit
- data transmission
- transmission minimum
- group
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 24
- 230000002708 enhancing effect Effects 0.000 title claims abstract description 17
- 230000005540 biological transmission Effects 0.000 claims abstract description 176
- 238000012795 verification Methods 0.000 claims abstract description 54
- 230000006870 function Effects 0.000 description 8
- 238000007726 management method Methods 0.000 description 4
- 238000013524 data verification Methods 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 1
- JJWKPURADFRFRB-UHFFFAOYSA-N carbonyl sulfide Chemical compound O=C=S JJWKPURADFRFRB-UHFFFAOYSA-N 0.000 description 1
- 230000015556 catabolic process Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 230000002194 synthesizing effect Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/004—Arrangements for detecting or preventing errors in the information received by using forward error control
- H04L1/0056—Systems characterized by the type of code used
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/12—Arrangements for detecting or preventing errors in the information received by using return channel
- H04L1/16—Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
- H04L1/18—Automatic repetition systems, e.g. Van Duuren systems
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/43—Assembling or disassembling of packets, e.g. segmentation and reassembly [SAR]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/12—Details relating to cryptographic hardware or logic circuitry
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/20—Manipulating the length of blocks of bits, e.g. padding or block truncation
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D30/00—Reducing energy consumption in communication networks
- Y02D30/50—Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Storage Device Security (AREA)
Abstract
本发明涉及信息安全技术领域,具体涉及一种增强密码卡可靠性的方法及系统,方法包括:将待运算数据拆分为N个数据组,针对每个数据组分别产生一个校验数据,两者组成数据传输最小单位分组;根据数据传输最小单位分组中的校验数据,校验该分组中的数据组是否正确;若某一数据传输最小单位分组校验失败,则设置密码卡寄存器的数值为该分组编号,密码卡驱动程序根据该寄存器数值重传该分组编号下的数据传输最小单位分组,重传两次仍失败,则确定该数据传输最小单位分组存在错误,密码运算结束;若各数据传输最小单位分组均校验通过,则密码卡内部算法核侧执行密码运算。本发明可以快速发现并定位明文数据传输错误,确保密码卡密码运算数据的可靠性。
Description
技术领域
本发明涉及信息安全技术领域,更具体的说是涉及一种增强密码卡可靠性的方法及系统。
背景技术
电子设备受到不良器件、宇宙射线、电磁干扰、传输干扰等因素的影响可能出现比特反转的现象,比特反转危害性很大,一旦发生可能造成数据错误、系统崩溃等严重后果。比特反转的现象在航空航天、车载等领域容易出现。
密码卡是具有密码运算功能、密钥管理功能、物理随机数产生功能和设备自身安全保护措施的密码设备,密码卡可以应用在需要密码运算和密钥管理等安全功能的、具有PCI/PCIE/SATA/USB等协议的通信设备、计算机设备、安全保密设备上,例如:虚拟专网(VPN)设备、证书中心(CA)系统的有关设备、网络密码机、安全服务器、安全终端、安全管理中心、密钥管理设备等。PCI密码卡作为部署在应用端的重要安全设备,实现密钥生成、管理、保护、高速签名、验证、加密和解密操作,是信息安全产业链中最基本的、不可缺少的密码设备。
密码卡有多种接口形态,包括USB、SATA、PCIE等接口。作为密码卡产品,密码运算数据流关键路径涉及密码卡内部的算法核->密码卡内部内存->PCIE/USB/SATA传输->主机内存等,任何环节都可能产生错误,PCIE/USB/SATA传输仅是众多环节中的一环。密码卡产品的工作环境多样化,可能面临任何环境的侵袭。
现有模式,以客户业务执行SM2签名操作为例,假如明文数据在主机传递给密码算法核的过程中出现错误(主机内存中发生1比特反转),密码运算过程中不会产生错误。密码卡完成签名运算并将签名结果返回客户业务,只有客户业务调用SM2验证签名操作时才能发现验签错误。因此,现有模式下一旦数据传输过程中发生错误,密码卡无法识别及响应,密码卡内部的算法核或客户业务仍做大量无用功才发现出现了错误,但哪里出现了错误却无从得知,需要耗费大量时间进行排查。
发明内容
有鉴于此,本发明提供了一种在数据传输过程中,可以快速发现并定位明文数据传输错误,安全、正确且高效的解决密码卡数据传输过程中面临的威胁,确保密码卡密码运算数据的可靠性。
第一方面,本发明提供一种增强密码卡可靠性的方法,包括以下步骤;
从主机内存侧到密码卡内部算法核侧的数据传输阶段,包括:
将待运算数据拆分为N个数据组;
针对待运算的每个数据组分别产生一个校验数据,每个数据组和对应的校验数据组成数据传输最小单位分组;
根据数据传输最小单位分组中的校验数据,校验该分组中的数据组是否正确;
若某一数据传输最小单位分组校验失败,则设置密码卡寄存器的数值为该分组编号,密码卡驱动程序根据该寄存器数值重传该分组编号下的数据传输最小单位分组,重传两次仍然失败,则确定该数据传输最小单位分组存在错误,密码运算结束,并返回错误;
若各数据传输最小单位分组均校验通过,则密码卡内部算法核侧执行密码运算。
进一步的,从主机内存侧到密码卡内部算法核侧的数据传输阶段,各数据传输最小单位分组均校验通过后,对各数据传输最小单位分组进行组合后传输至密码卡内部算法核进行密码运算,或密码卡内部算法核侧根据数据传输最小单位分组的预置地址,读取数据并进行密码运算。
进一步的,从密码卡内部算法核侧到主机内存侧的数据传输阶段,包括:
将密码卡内部算法核侧运算完成的数据拆分为N个数据组;
针对运算完成的每个数据组对应产生一个校验数据,每个数据组和对应的校验数据组成数据传输最小单位分组;
根据数据传输最小单位分组中的校验数据,校验该分组中的数据组是否正确;
若某一数据传输最小单位分组校验失败,则设置密码卡寄存器的数值为该分组编号,密码卡驱动程序根据该寄存器数值重传该分组编号下的数据传输最小单位分组,重传两次仍然失败,则确定该数据传输最小单位分组存在错误,密码运算结束,并返回错误;
若各数据传输最小单位分组均校验通过,则将数据交付给客户端。
进一步的,从密码卡内部算法核侧到主机内存侧的数据传输阶段中,各数据传输最小单位分组均校验通过后,将各数据传输最小单位分组组合为业务数据并交付给客户端。
进一步的,针对待运算数据或运算完成的数据,拆分的数据组为63个32位数据,校验数据为1个32位数据。
进一步的,若拆分的某一数据组不足63个32位数据,不足的数据补0xaacc3377。
第二方面,本发明提供一种增强密码卡可靠性的系统,包括:拆分组合模块、校验模块和重传模块;
从主机内存侧到密码卡内部算法核侧的数据传输阶段:
所述拆分组合模块用于将待运算数据拆分为N个数据组;
所述校验模块用于针对待运算的每个数据组分别产生一个校验数据,每个数据组和对应的校验数据组成数据传输最小单位分组;并根据数据传输最小单位分组中的校验数据,校验该分组中的数据组是否正确;
所述重传模块用于设置寄存器,若某一数据传输最小单位分组校验失败,则设置寄存器数值为该分组编号,密码卡驱动程序根据该寄存器数值重传该分组编号下的数据传输最小单位分组,重传两次仍然失败,则确定该数据传输最小单位分组存在错误,密码运算结束,并返回错误;
密码卡内部算法核侧用于在各数据传输最小单位分组均校验通过后,执行密码运算。
进一步的,所述拆分组合模块还用于在各数据传输最小单位分组均校验通过后,对各数据传输最小单位分组进行组合后传输至密码卡内部算法核。
进一步的,从密码卡内部算法核侧到主机内存侧的数据传输阶段:
所述拆分组合模块用于将密码卡内部算法核侧运算完成的数据拆分为N个数据组;
所述校验模块针对运算完成的每个数据组对应产生一个校验数据,每个数据组和对应的校验数据组成数据传输最小单位分组;并根据数据传输最小单位分组中的校验数据,校验该分组中的数据组是否正确;
所述重传模块用于设置寄存器,若某一数据传输最小单位分组校验失败,则设置寄存器数值为该分组编号,密码卡驱动程序根据该寄存器数值重传该分组编号下的数据传输最小单位分组,重传两次仍然失败,则确定该数据传输最小单位分组存在错误,密码运算结束,并返回错误;
所述拆分组合模块还用于在各数据传输最小单位分组均校验通过时,将数据交付给客户端。
经由上述的技术方案可知,与现有技术相比,本发明公开提供了一种增强密码卡可靠性的方法及系统,本发明能够将待运算的数据、运算完成的数据进行拆分和组合,并针对每个拆分的数据组快速的生成校验数据,根据校验数据验证该数据组是否正确,能够重传校验失败的数据传输最小单位分组,重传、校验连续失败两次后,不进行密码运算或不将数据返回客户业务。本发明以最小的代价换取密码卡的可靠性,解决无法识别受环境等因素影响而造成密码运算数据错误的情况,杜绝错误数据传递给密码卡内部的算法核或客户业务。同时,能够第一时间发现明文数据传输错误,并定位错误明文数据所处的数据传输最小单位分组的位置,仅重传该数据传输最小单位分组的数据,确保密码卡的可靠性。解决现有模式下一旦数据传输过程中发生错误,密码卡无法识别及响应,密码卡内部的算法核或客户业务仍做大量无用功才发现出现了错误,但哪里出现了错误却无从得知的情况。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本发明提供的增强密码卡可靠性的方法的流程图;
图2为本发明提供的数据传输最小单位分组的示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例公开了一种增强密码卡可靠性的方法,从主机内存侧到密码卡内部算法核侧的数据传输阶段,包括以下步骤:
将待运算数据拆分为N个数据组;
针对待运算的每个数据组分别产生一个校验数据,每个数据组和对应的校验数据组成数据传输最小单位分组;
根据数据传输最小单位分组中的校验数据,校验该分组中的数据组是否正确;分组之后采用CRC32算法对拆分的各个数据组进行运算,产生一个校验数据,数据传输过程,密码卡内部算法核接收到某一数据传输最小单位分组之后,重新采用CRC32算法对该分组中的数据组进行运算,再次产生一个校验数据,比较新计算的校验数据与传输过程中包含的校验数据,若两者一致则表示数据校验正确。
若某一数据传输最小单位分组校验失败,则设置密码卡寄存器的数值为该分组编号,密码卡驱动程序根据该寄存器数值重传该分组编号下的数据传输最小单位分组,重传两次仍然失败,则确定该数据传输最小单位分组存在错误,密码运算结束,并返回错误;
若各数据传输最小单位分组均校验通过,则密码卡内部算法核侧执行密码运算。
该传输阶段中,各数据传输最小单位分组均校验通过后,对各数据传输最小单位分组进行组合后传输至密码卡内部算法核进行密码运算,或密码卡内部算法核侧根据数据传输最小单位分组的预置地址,读取数据并进行密码运算。
该实施例中,如图2所示,针对待运算数据或运算完成的数据,拆分的数据组为63个32位数据,校验数据为1个32位数据。若拆分的某一数据组不足63个32位数据,不足的数据补0xaacc3377。
假设待传输数据为2048字节,则数据被拆分为9个组,最后一个组只有8个32位,其余55个32位补0xaacc3377。
采用CRC32算法对63个32位数据组进行运算,产生1个32位的校验数据,数据组和校验数据共同组成数据传输最小单位分组(64个32位数据)。上述2048字节数据在传输时,需要传输9个分组。
上述9个分组的数据传输完毕后,对每一分组进行校验,假设第8个分组校验出错,则寄存器设置为8,密码卡驱动程序获取该数据后会重传第8个分组数据,密码卡内部算法核接收到数据后会再次验证。
具体校验过程为:数据传输过程中以多个数据传输最小单位分组的形式传输,密码卡内部算法核侧到主机内存侧接收到数据后,重新采用CRC32算法对拆分的数据组63个32位数据进行运算,运算结束产生1个32位的校验数据,比较新计算的校验数据与传输过程中包含的校验数据,若两者一致则表示数据校验正确。
9个分组校验通过后,在密码卡内部算法核中,将数据组合并进行密码运算。如果校验错误的分组重传两次仍然校验出错,则直接返回错误。
在一个实施例中,从密码卡内部算法核侧到主机内存侧的数据传输阶段,包括以下步骤:
将密码卡内部算法核侧运算完成的数据拆分为N个数据组;
针对运算完成的每个数据组对应产生一个校验数据,每个数据组和对应的校验数据组成数据传输最小单位分组;
根据数据传输最小单位分组中的校验数据,校验该分组中的数据组是否正确;
若某一数据传输最小单位分组校验失败,则设置密码卡寄存器的数值为该分组编号,密码卡驱动程序根据该寄存器数值重传该分组编号下的数据传输最小单位分组,重传两次仍然失败,则确定该数据传输最小单位分组存在错误,密码运算结束,并返回错误;
若各数据传输最小单位分组均校验通过,则将数据交付给客户端。
该传输阶段中,各数据传输最小单位分组均校验通过后,将各数据传输最小单位分组组合为业务数据并交付给客户端。
在一个具体实施例中,如图2所示,本发明方法供包括两个阶段,第一个阶段为从主机内存侧到密码卡内部算法核侧的数据传输阶段(见下述S1-S6),第二阶段为从密码卡内部算法核侧到主机内存侧的数据传输阶段(见下述S7-S12),增强密码卡可靠性的方法的整体流程如下:
S1、在主机内存侧,待运算数据被拆分为N个数据组,每个分组63个32位数据。
S2、在主机内存侧,基于每63个32位的数据,快速产生1个32位校验数据,数据组和校验数据进一步组成数据传输最小单位分组。
S3、通过密码卡驱动程序传输N个最小单位分组或指定的数据传输最小单位分组数据至密码卡内部算法核。
S4、密码卡内部算法核接收待运算数据后,对每个数据传输最小单位分组进行校验。
S5、若各最小单位分组校验通过,则在密码卡内部算法核中合成数据(或密码卡内部算法核根据预置地址对应关系读取数据)并进行密码运算。若某数据传输最小单位分组校验失败则设置密码卡寄存器的数值为该数据传输最小单位分组的编号,密码卡驱动程序根据该寄存器数值重传指定的(即该分组编号下的)最小单位分组,跳转至S3,重试两次仍然失败则返回错误。
S6、密码运算结束或者产生错误退出。密码运算正常结束,则进行S7的操作。
S7、在密码卡算法核内,运算完成的数据被拆分为N个分组,每个分组63个32位数据,同S1。
S8、在密码卡算法核侧,基于每63个32位的数据组,快速产生1个32位校验数据,数据组和校验数据进一步组成数据传输最小单位分组。同S2。
S9、密码卡内部算法核侧启动回传,传输N个数据传输最小单位分组或指定的数据传输最小单位分组数据至主机内存侧。即S3的反向操作。
S10、主机内存侧接收待运算数据,并对每个数据传输最小单位分组进行校验。同S4。
S11、若各数据传输最小单位分组校验通过则将数据交付客户业务。若某数据传输最小单位分组校验失败则设置密码卡寄存器的数值为该数据传输最小单位分组的编号,密码卡驱动程序根据该寄存器数值重传指定的(即该分组编号下的)数据传输最小单位分组,跳转至S9,重试两次仍然失败则返回错误。
S12、密码运算结束,将各数据传输最小单位分组数据组合为业务数据并返回客户业务,密码运算完成。
本发明实施例还提供一种增强密码卡可靠性的系统,包括:拆分组合模块、校验模块和重传模块;
从主机内存侧到密码卡内部算法核侧的数据传输阶段:
拆分组合模块用于将待运算数据拆分为N个数据组;
校验模块用于针对待运算的每个数据组分别产生一个校验数据,每个数据组和对应的校验数据组成数据传输最小单位分组;并根据数据传输最小单位分组中的校验数据,校验该分组中的数据组是否正确;
重传模块用于设置寄存器,若某一数据传输最小单位分组校验失败,则设置寄存器数值为该分组编号,密码卡驱动程序根据该寄存器数值重传该分组编号下的数据传输最小单位分组,重传两次仍然失败,则确定该数据传输最小单位分组存在错误,密码运算结束,并返回错误;
密码卡内部算法核侧用于在各数据传输最小单位分组均校验通过后,执行密码运算。
密码卡内部算法核侧数据校验通过后,经过拼接组合模块组合后将数据移交密码卡算法核进行密码运算,或密码卡算法核根据数据传输最小单位分组和拆分单元的地址对应关系,读取数据并进行密码运算。
从密码卡内部算法核侧到主机内存侧的数据传输阶段:
拆分组合模块用于将密码卡内部算法核侧运算完成的数据拆分为N个数据组;
校验模块针对运算完成的每个数据组对应产生一个校验数据,每个数据组和对应的校验数据组成数据传输最小单位分组;并根据数据传输最小单位分组中的校验数据,校验该分组中的数据组是否正确;
重传模块用于设置寄存器,若某一数据传输最小单位分组校验失败,则设置寄存器数值为该分组编号,密码卡驱动程序根据该寄存器数值重传该分组编号下的数据传输最小单位分组,重传两次仍然失败,则确定该数据传输最小单位分组存在错误,密码运算结束,并返回错误;
拆分组合模块还用于在各数据传输最小单位分组均校验通过时,将数据交付给客户端。
总结来说,拆分组合模块运行于系统主机内存和密码卡内部算法核中,主机内存和密码卡内部的算法核是密码卡产品数据交互的两个端点。数据以32位数据对齐,数据传输最小单位分组为64个32位。
拆分组合模块具备拆分和组合功能,拆分功能能够将数据拆分为多个拆分单元,每个单元63个32位数据,不足的数据补0xaacc3377。
组合功能能够聚集多组验证通过的数据传输最小单位分组的数据,提炼出有效的63个32位数据并组合起来。密码卡内部算法核可以不使用组合功能,根据数据传输最小单位分组和拆分单元的地址对应关系,读取待运算数据即可。
快速校验模块基于拆分组合模块拆分的63个32位数据,快速产生一个32位的校验数据,每63个32位数据产生一个32位校验数据,32位校验数据和数据组成数据传输最小单位分组。
快速校验模块根据数据传输最小单位分组中的数据以及校验数据,校验63个32位数据是否正确,如果校验错误则直接返回数据校验错误。
重传模块设置寄存器数值,该寄存器在主机侧和密码内部均能访问,该寄存器代表重传某个指定的数据传输最小单位分组编号。快速校验模块一旦返回数据校验错误,重传模块计算出是某个数据传输最小单位分组发生错误并设置数据重传寄存器。该寄存器设置后,密码卡驱动程序重传该数据传输最小单位分组数据并重新校验数据。主机内存侧数据校验通过,经过拼接组合模块组合后将数据移交客户业务。密码卡内部算法核侧数据校验通过,经过拼接组合模块组合后将数据移交算法核进行密码运算或算法核根据数据传输最小单位分组和拆分单元的地址对应关系,读取数据并进行密码运算。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (9)
1.一种增强密码卡可靠性的方法,其特征在于,包括以下步骤;
从主机内存侧到密码卡内部算法核侧的数据传输阶段,包括:
将待运算数据拆分为N个数据组;
针对待运算的每个数据组分别产生一个校验数据,每个数据组和对应的校验数据组成数据传输最小单位分组;分组之后采用CRC32算法对拆分的各个数据组进行运算,产生一个校验数据;
根据数据传输最小单位分组中的校验数据,校验该分组中的数据组是否正确;密码卡内部算法核接收到某一数据传输最小单位分组之后,重新采用CRC32算法对该分组中的数据组进行运算,再次产生一个校验数据,比较新计算的校验数据与传输过程中包含的校验数据,若两者一致则表示数据校验正确;
若某一数据传输最小单位分组校验失败,则设置密码卡寄存器的数值为该分组编号,密码卡驱动程序根据该寄存器数值重传该分组编号下的数据传输最小单位分组,重传两次仍然失败,则确定该数据传输最小单位分组存在错误,密码运算结束,并返回错误;
若各数据传输最小单位分组均校验通过,则密码卡内部算法核侧执行密码运算。
2.根据权利要求1所述的增强密码卡可靠性的方法,其特征在于,从主机内存侧到密码卡内部算法核侧的数据传输阶段,各数据传输最小单位分组均校验通过后,对各数据传输最小单位分组进行组合后传输至密码卡内部算法核进行密码运算,或密码卡内部算法核侧根据数据传输最小单位分组的预置地址,读取数据并进行密码运算。
3.根据权利要求1所述的增强密码卡可靠性的方法,其特征在于,从密码卡内部算法核侧到主机内存侧的数据传输阶段,包括:
将密码卡内部算法核侧运算完成的数据拆分为N个数据组;
针对运算完成的每个数据组对应产生一个校验数据,每个数据组和对应的校验数据组成数据传输最小单位分组;
根据数据传输最小单位分组中的校验数据,校验该分组中的数据组是否正确;
若某一数据传输最小单位分组校验失败,则设置密码卡寄存器的数值为该分组编号,密码卡驱动程序根据该寄存器数值重传该分组编号下的数据传输最小单位分组,重传两次仍然失败,则确定该数据传输最小单位分组存在错误,密码运算结束,并返回错误;
若各数据传输最小单位分组均校验通过,则将数据交付给客户端。
4.根据权利要求3所述的增强密码卡可靠性的方法,其特征在于,从密码卡内部算法核侧到主机内存侧的数据传输阶段中,各数据传输最小单位分组均校验通过后,将各数据传输最小单位分组组合为业务数据并交付给客户端。
5.根据权利要求1所述的增强密码卡可靠性的方法,其特征在于,针对待运算数据或运算完成的数据,拆分的数据组为63个32位数据,校验数据为1个32位数据。
6.根据权利要求5所述的增强密码卡可靠性的方法,其特征在于,若拆分的某一数据组不足63个32位数据,不足的数据补0xaacc3377。
7.一种增强密码卡可靠性的系统,其特征在于,包括:拆分组合模块、校验模块和重传模块;
从主机内存侧到密码卡内部算法核侧的数据传输阶段:
所述拆分组合模块用于将待运算数据拆分为N个数据组;
所述校验模块用于针对待运算的每个数据组分别产生一个校验数据,每个数据组和对应的校验数据组成数据传输最小单位分组;并根据数据传输最小单位分组中的校验数据,校验该分组中的数据组是否正确;分组之后采用CRC32算法对拆分的各个数据组进行运算,产生一个校验数据;密码卡内部算法核接收到某一数据传输最小单位分组之后,重新采用CRC32算法对该分组中的数据组进行运算,再次产生一个校验数据,比较新计算的校验数据与传输过程中包含的校验数据,若两者一致则表示数据校验正确;
所述重传模块用于设置寄存器,若某一数据传输最小单位分组校验失败,则设置寄存器数值为该分组编号,密码卡驱动程序根据该寄存器数值重传该分组编号下的数据传输最小单位分组,重传两次仍然失败,则确定该数据传输最小单位分组存在错误,密码运算结束,并返回错误;
密码卡内部算法核侧用于在各数据传输最小单位分组均校验通过后,执行密码运算。
8.根据权利要求7所述的增强密码卡可靠性的系统,其特征在于,所述拆分组合模块还用于在各数据传输最小单位分组均校验通过后,对各数据传输最小单位分组进行组合后传输至密码卡内部算法核。
9.根据权利要求7所述的增强密码卡可靠性的系统,其特征在于,从密码卡内部算法核侧到主机内存侧的数据传输阶段:
所述拆分组合模块用于将密码卡内部算法核侧运算完成的数据拆分为N个数据组;
所述校验模块针对运算完成的每个数据组对应产生一个校验数据,每个数据组和对应的校验数据组成数据传输最小单位分组;并根据数据传输最小单位分组中的校验数据,校验该分组中的数据组是否正确;
所述重传模块用于设置寄存器,若某一数据传输最小单位分组校验失败,则设置寄存器数值为该分组编号,密码卡驱动程序根据该寄存器数值重传该分组编号下的数据传输最小单位分组,重传两次仍然失败,则确定该数据传输最小单位分组存在错误,密码运算结束,并返回错误;
所述拆分组合模块还用于在各数据传输最小单位分组均校验通过时,将数据交付给客户端。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310639757.4A CN116366206B (zh) | 2023-06-01 | 2023-06-01 | 一种增强密码卡可靠性的方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310639757.4A CN116366206B (zh) | 2023-06-01 | 2023-06-01 | 一种增强密码卡可靠性的方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116366206A CN116366206A (zh) | 2023-06-30 |
CN116366206B true CN116366206B (zh) | 2023-08-25 |
Family
ID=86939948
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310639757.4A Active CN116366206B (zh) | 2023-06-01 | 2023-06-01 | 一种增强密码卡可靠性的方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116366206B (zh) |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007174024A (ja) * | 2005-12-20 | 2007-07-05 | Sony Corp | 暗号処理装置 |
CN103378931A (zh) * | 2012-04-26 | 2013-10-30 | 国民技术股份有限公司 | 数据发送方法、数据接收方法及信号处理模块 |
CN107257270A (zh) * | 2017-05-31 | 2017-10-17 | 张超 | 基于混合自动重传请求的数据传输方法及系统 |
CN107679424A (zh) * | 2017-09-25 | 2018-02-09 | 中孚信息股份有限公司 | 一种pcie转sata密码卡及系统 |
CN113489570A (zh) * | 2021-06-30 | 2021-10-08 | 郑州云海信息技术有限公司 | 一种PCIe链路的数据传输方法、装置及设备 |
CN113824551A (zh) * | 2020-06-19 | 2021-12-21 | 中创为(成都)量子通信技术有限公司 | 一种应用于安全存储系统的量子密钥分发方案及装置 |
CN114401081A (zh) * | 2022-03-03 | 2022-04-26 | 矩阵时光数字科技有限公司 | 数据加密传输方法、应用及系统 |
WO2022213564A1 (zh) * | 2021-04-07 | 2022-10-13 | 东南大学 | 一种物联网无线终端量子密钥分发与协商方法 |
CN116073987A (zh) * | 2023-01-05 | 2023-05-05 | 苏州浪潮智能科技有限公司 | 一种分组密码模式的可靠性设计方法、密码卡、服务器 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2016059012A (ja) * | 2014-09-12 | 2016-04-21 | 富士通株式会社 | 受信装置、送信装置およびデータ転送システム |
-
2023
- 2023-06-01 CN CN202310639757.4A patent/CN116366206B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007174024A (ja) * | 2005-12-20 | 2007-07-05 | Sony Corp | 暗号処理装置 |
CN103378931A (zh) * | 2012-04-26 | 2013-10-30 | 国民技术股份有限公司 | 数据发送方法、数据接收方法及信号处理模块 |
CN107257270A (zh) * | 2017-05-31 | 2017-10-17 | 张超 | 基于混合自动重传请求的数据传输方法及系统 |
CN107679424A (zh) * | 2017-09-25 | 2018-02-09 | 中孚信息股份有限公司 | 一种pcie转sata密码卡及系统 |
CN113824551A (zh) * | 2020-06-19 | 2021-12-21 | 中创为(成都)量子通信技术有限公司 | 一种应用于安全存储系统的量子密钥分发方案及装置 |
WO2022213564A1 (zh) * | 2021-04-07 | 2022-10-13 | 东南大学 | 一种物联网无线终端量子密钥分发与协商方法 |
CN113489570A (zh) * | 2021-06-30 | 2021-10-08 | 郑州云海信息技术有限公司 | 一种PCIe链路的数据传输方法、装置及设备 |
CN114401081A (zh) * | 2022-03-03 | 2022-04-26 | 矩阵时光数字科技有限公司 | 数据加密传输方法、应用及系统 |
CN116073987A (zh) * | 2023-01-05 | 2023-05-05 | 苏州浪潮智能科技有限公司 | 一种分组密码模式的可靠性设计方法、密码卡、服务器 |
Non-Patent Citations (1)
Title |
---|
混沌加密卡的设计与实现;陈文渊;《中国优秀硕士学位论文全文数据库 基础科学辑 2023年第01期》;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN116366206A (zh) | 2023-06-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112446785B (zh) | 跨链交易方法、系统、装置、设备和存储介质 | |
CN104463007B (zh) | 数据验证方法及其装置 | |
US10425231B2 (en) | Information processing apparatus and method for authenticating message | |
CN110570196A (zh) | 交易数据处理方法、装置、终端设备以及存储介质 | |
CN113179240B (zh) | 密钥保护方法、装置、设备及存储介质 | |
JP7347895B2 (ja) | ハードウェア検出方法ならびに装置、デバイス、および記憶媒体 | |
US10862675B2 (en) | Method for exchanging messages between security-relevant devices | |
CN112865959B (zh) | 分布式节点设备的共识方法、节点设备及分布式网络 | |
US11290257B2 (en) | Data transfer system and transfer method | |
CN101980471B (zh) | 数字签名方法、数字签名的验证方法、装置及系统 | |
CN109981671B (zh) | 基于加密机的数据处理方法及加密机 | |
CN116366206B (zh) | 一种增强密码卡可靠性的方法及系统 | |
Luo et al. | Differential fault analysis of SHA-3 under relaxed fault models | |
CN116866062A (zh) | 加密报文传输方法、装置、设备及介质 | |
CN107223322A (zh) | 签名验证的方法、设备和系统 | |
CN102884744B (zh) | 用于保护有待于通过接口传输的数据包的方法和设备 | |
JPH11133854A (ja) | データ送信装置、データ受信装置及びデータ伝送システム | |
CN113572717B (zh) | 通信连接的建立方法、洗护设备及服务器 | |
CN113489589A (zh) | 数据加密、解密方法、装置及电子设备 | |
CN111461706A (zh) | 基于区块链的用户信息绑定方法及装置 | |
EP3742662A1 (en) | Method for securing against fault attacks a verification algorithm of a digital signature of a message | |
CN116668004B (zh) | 一种异常信息的快速识别方法、装置及其存储介质 | |
US20220276841A1 (en) | Communication data text confusion encryption method | |
CN113938279B (zh) | 密钥交换方法、设备和系统 | |
EP3361670A1 (en) | Multi-ttp-based method and device for verifying validity of identity of entity |
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 |