CN114697119B - 数据检验方法、装置、计算机可读存储介质及电子设备 - Google Patents
数据检验方法、装置、计算机可读存储介质及电子设备 Download PDFInfo
- Publication number
- CN114697119B CN114697119B CN202210362152.0A CN202210362152A CN114697119B CN 114697119 B CN114697119 B CN 114697119B CN 202210362152 A CN202210362152 A CN 202210362152A CN 114697119 B CN114697119 B CN 114697119B
- Authority
- CN
- China
- Prior art keywords
- target
- key
- ciphertext
- test
- preset platform
- 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
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/06—Network architectures or network communication protocols for network security for supporting key management in a packet data network
-
- 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
Abstract
本发明公开了一种数据检验方法、装置、计算机可读存储介质及电子设备。涉及金融科技领域,该方法包括:从预设平台发送的目标加密报文中获取检验密文,其中,检验密文为预设平台基于第一密钥对预设的检验明文进行加密后得到的密文,检验明文为固定长度的字符;将检验密文与第一目标检验密文进行比对,其中,第一目标检验密文为基于当前密钥对检验明文进行加密后得到的密文;在检验密文与第一目标检验密文相同的情况下,确定当前密钥与第一密钥相同。本发明解决了现有技术中对解密结果的判定失误率大造成的无法准确判断加密方和解密方之间的密钥是否相同的技术问题。
Description
技术领域
本发明涉及金融科技领域,具体而言,涉及一种数据检验方法、装置、计算机可读存储介质及电子设备。
背景技术
随着科技的快速发展,合作方通讯在各行业系统(如:商业系统等)中普遍存在,一般通过互联网或者专线进行护理,为了保持通讯信息的安全,对通讯报文进行加密成了必要的手段。
数据加密的基本过程就是对原来为明文的文件或数据按某种算法信息处理,使其成为不可读的一段代码为“密文”,且这段密文只能在输入相应的密钥之后才能显示出原容,从而达到保护数据不被非法人窃取、阅读的目的。该过程的逆过程为解密,即将该编码信息转化为其原来数据的过程。
目前,在相关技术中,解密方对解密结果的判定失误率大,从而无法准确判断加密方和解密方之间的密钥是否相同,进而会导致加密方和解密方之间无法正常通讯。
针对上述的问题,目前尚未提出有效的解决方案。
发明内容
本发明实施例提供了一种数据检验方法、装置、计算机可读存储介质及电子设备,以至少解决现有技术中对解密结果的判定失误率大造成的无法准确判断加密方和解密方之间的密钥是否相同的技术问题。
根据本发明实施例的一个方面,提供了一种数据检验方法,包括:从预设平台发送的目标加密报文中获取检验密文,其中,检验密文为预设平台基于第一密钥对预设的检验明文进行加密后得到的密文,第一密钥用于加密预设平台发送给终端设备的第一数据,检验明文为固定长度的字符,用于检验第一密钥;将检验密文与第一目标检验密文进行比对,其中,第一目标检验密文为基于当前密钥对检验明文进行加密后得到的密文,当前密钥用于解密加密后的第一数据;在检验密文与第一目标检验密文相同的情况下,确定当前密钥与第一密钥相同。
进一步地,目标加密报文由预设平台对检验密文和加密报文进行组合得到,加密报文为预设平台基于第一密钥对第一数据进行加密后得到的密文。
进一步地,第一数据至少包括目标密钥,数据检验方法还包括:在确定当前密钥与第一密钥相同之后,基于当前密钥对加密报文解密,得到待处理的目标密钥;解析待处理的目标密钥,得到解析结果;基于解析结果生成目标返回加密报文,并发送至预设平台,以使预设平台基于目标返回加密报文确定当前密钥的密钥状态,其中,密钥状态包括未更新状态和更新状态。
进一步地,数据检验方法还包括:在解析结果表征待处理的目标密钥解析成功的情况下,基于目标密钥对检验明文加密得到第二目标检验密文;基于目标密钥对发送给预设平台的第二数据加密得到返回加密报文,其中,第二数据包括应答信息;组合第二目标检验密文和返回加密报文,得到目标返回加密报文。
进一步地,数据检验方法还包括:在解析结果表征待处理的目标密钥解析失败的情况下,基于当前密钥对检验明文加密得到第二目标检验密文;基于当前密钥对发送给预设平台的第二数据加密得到返回加密报文,其中,第二数据包括应答信息;组合第二目标检验密文和返回加密报文,得到目标返回加密报文。
进一步地,数据检验方法还包括:在返回加密报文中的预设位置处加入第二目标检验密文,得到目标返回加密报文。
进一步地,预设平台用于获取目标返回加密报文中的第二目标检验密文,并将第二目标检验密文与第三目标检验密文进行比对,其中,在第二目标检验密文与第三目标检验密文相同的情况下,预设平台确定密钥状态为未更新状态;在第二目标检验密文与第三目标检验密文不相同的情况下,预设平台将第二目标检验密文与第四目标检验密文进行比对;其中,第三目标检验密文为预设平台基于第一密钥对检验明文进行加密后得到的密文。
进一步地,在第二目标检验密文与第四目标检验密文相同的情况下,预设平台确定密钥状态为更新状态;其中,第四目标检验密文为预设平台基于目标密钥对检验明文进行加密后得到的密文。
进一步地,预设平台用于在第二目标检验密文与第四目标检验密文不相同的情况下,确定目标返回加密报文所对应的密钥为与第一密钥或目标密钥不相同的密钥。
进一步地,数据检验方法还包括:在当前密钥与第一密钥不同的情况下,控制第三方设备更新当前密钥与第一密钥为相同密钥。
根据本发明实施例的另一方面,还提供了一种数据检验装置,包括:获取模块,用于从预设平台发送的目标加密报文中获取检验密文,其中,检验密文为预设平台基于第一密钥对预设的检验明文进行加密后得到的密文,第一密钥用于加密预设平台发送给终端设备的第一数据,检验明文为固定长度的字符,用于检验第一密钥;比对模块,用于将检验密文与第一目标检验密文进行比对,其中,第一目标检验密文为基于当前密钥对检验明文进行加密后得到的密文,当前密钥用于解密加密后的第一数据;确定模块,用于在检验密文与第一目标检验密文相同的情况下,确定当前密钥与第一密钥相同。
根据本发明实施例的另一方面,还提供了一种计算机可读存储介质,计算机可读存储介质中存储有计算机程序,其中,计算机程序被设置为运行时执行上述的数据检验方法。
根据本发明实施例的另一方面,还提供了一种电子设备,电子设备包括一个或多个处理器;存储器,用于存储一个或多个程序,当一个或多个程序被一个或多个处理器执行时,使得一个或多个处理器实现用于运行程序,其中,程序被设置为运行时执行上述的数据检验方法。
根据本发明实施例的另一方面,还提供了一种计算机程序产品,包括计算机程序/指令,计算机程序/指令被处理器执行时实现上述的数据检验方法。
在本发明实施例中,采用对预设的检验明文加密,并基于加密后的检验明文判断加密方和解密方之间的密钥是否相同的方式,通过从预设平台发送的目标加密报文中获取检验密文,然后将检验密文与第一目标检验密文进行比对,从而在检验密文与第一目标检验密文相同的情况下,确定当前密钥与第一密钥相同。其中,检验密文为预设平台基于第一密钥对预设的检验明文进行加密后得到的密文,第一密钥用于加密预设平台发送给终端设备的第一数据,检验明文为固定长度的字符,用于检验第一密钥,第一目标检验密文为基于当前密钥对检验明文进行加密后得到的密文,当前密钥用于解密加密后的第一数据。
在上述过程中,采用固定长度的字符作为检验明文,避免了基于输入文本的长度确定补位字节的长度所导致的补位字节过短,从而避免基于不同长度的补位字节判定解密结果造成的判定失误率大的问题,提高了对解密结果判定的准确性。进一步地,由于第一密钥用于加密预设平台向终端设备发送的数据,当前密钥用于解密预设平台向终端设备发送的数据,因此,通过比对基于第一密钥、检验明文生成的检验密文与基于当前密钥、检验明文生成的第一目标检验密文,可以准确判断加密方与解密方之间的密钥是否相同。
由此可见,本申请所提供的方案达到了对预设的检验明文加密,并基于加密后的检验明文判断加密方和解密方之间的密钥是否相同的目的,从而实现了提高对解密结果判定的准确性的技术效果,进而解决了现有技术中对解密结果的判定失误率大造成的无法准确判断加密方和解密方之间的密钥是否相同的技术问题。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是根据本发明实施例的一种可选的数据检验方法的示意图;
图2是根据本发明实施例的一种可选的数据检验装置的示意图;
图3是根据本发明实施例的一种可选的电子设备的示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
需要说明的是,本公开所涉及的用户信息(包括但不限于用户设备信息、用户个人信息等)和数据(包括但不限于用于展示的数据、分析的数据等),均为经用户授权或者经过各方充分授权的信息和数据。
实施例1
在现有的相关技术中,DES(Data Encryption Standard,数据加密标准)是银行业界使用比较广泛的一种加解密算法。DES算法是分块加密的,每8个字节为1块,支持ECB(Electronic Codebook,电码本)、CBC(Cipher Block Chaining,密文分组链接)、CFB(Cipher Feedback,密文反馈)和OFB(Output Feedback,输出反馈)4种运算模式,其中,最常用的是ECB模式。在加密情况下,明文长度为N,则密文长度为((N/8)+1)*8;解密情况下,密文长度为N,则明文长度在((N/8)-1)*8到N之间。ECB和CBC两种方式较多情况下使用一种PKCS#5的补位原则,现有的算法中正是使用了这个补位部分,来判断解密是否是成功的和有效的。
具体地,PKCS#5的补位原则为:当输入文本的长度不是8个字节的倍数时,会对最后一部分长度不是8个字节的部分进行补位,当最后一部分的长度为1个字节时,补上7个字节的7值来形成最后一块,当最后一部分的长度为2个字节时,补上6个字节的6值来形成最后一块,以此类推;当输入文本的长度正好是8个字节的倍数时,补上8个字节的8值来形成最后一块。然后使用加密密钥对补位后的输入文本进行加密运算,得到加密结果。
与此相对,当对加密后的密文解密时,使用与加密时一致的密钥对密文进行解密运算之后得到解密结果,最后一段的内容,必然为8个8、7个7、6个6、5个5、4个4、3个3、2个2、1个1,此时系统便判定解密成功。
然而,DES算法基于PKCS#5补位原则的判定带有一定的偶然性的,解密结果中出现1个1的概率是出现8个8的概率是/>这两种概率不是同一个数量级的,其他情形的概率计算方法也是类似的。因此,当使用错误的密钥去对密文进行解密运算时,比如密钥更新时使用旧密钥解密新密文时,会在一定的概率上出现符合PKCS#5的补位原则而被错误判定解密成功的情形,尤其是在输入文本只补一个字节的情况下,其对解密结果发生错误判断的概率相对较高,从而会使银行和合作方之间无法进行通讯,有可能对应用系统造成致命的影响。
因此,为了解决上述问题,根据本发明实施例,提供了一种数据检验方法的实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
图1是根据本发明实施例的一种可选的数据检验方法的示意图,如图1所示,该方法包括如下步骤:
步骤S101,从预设平台发送的目标加密报文中获取检验密文,其中,检验密文为预设平台基于第一密钥对预设的检验明文进行加密后得到的密文,第一密钥用于加密预设平台发送给终端设备的第一数据,检验明文为固定长度的字符,用于检验第一密钥。
在步骤S101中,终端设备从预设平台发送的目标加密报文中获取检验密文,其中,预设平台设置在数据发送侧,终端设备设置在数据接收侧,在本实施例中,预设平台设置在银行侧,终端设备设置在与银行具有通讯关系的合作方侧。目标加密报文至少包括检验密文,还可以包括对待发送数据、发送方信息等数据加密后得到的密文。
具体地,银行和合作方之间可以相互约定一段固定长度的字符作为检验明文内容,其中,检验明文可以是由数字字符组成,也可以是由英文字母或其它字符(如:中文数字、罗马字符等字符)组成,还可以是由数字字符、英文字母、其它字符中的至少两种字符相结合组成,在本实施例中,检验明文为ESCOMMREQ。可选的,预设平台中设置有第一密钥,预设平台可以基于第一密钥对该检验明文ESCOMMREQ进行加密,得到16字节长度的加密报文,并将其随加密后的第一数据一起作为目标加密报文发送至终端设备,其中,预设平台同样采用第一密钥对第一数据进行加密。且需要说明的是,基于检验明文长度的不同,加密报文的长度也会有所不同。
进一步地,终端设备可以接收目标加密报文,并基于检验密文的预设位置或标记以及检验密文长度从目标加密报文中截取出检验密文,从而基于检验密文检验第一密钥。
需要说明的是,检验明文为固定长度的字符,避免了基于输入文本的长度确定补位字节的长度所导致的补位字节过短,从而避免了基于不同长度的补位字节判定解密结果造成的判定失误率大的问题。
步骤S102,将检验密文与第一目标检验密文进行比对,其中,第一目标检验密文为基于当前密钥对检验明文进行加密后得到的密文,当前密钥用于解密加密后的第一数据。
在步骤S102中,当前密钥设置在终端设备中,当前密钥至少用于解密终端设备所获取的加密后的第一数据。在获取到检验密文后,终端设备可以采用当前密钥对检验明文进行加密得到第一目标检验密文,并将第一目标检验密文与检验密文进行比对,以确定当前密钥与第一密钥是否相同。
需要说明的是,由于第一密钥用于加密预设平台向终端设备发送的数据,当前密钥用于解密预设平台向终端设备发送的数据,因此,通过比对基于第一密钥生成的检验密文与基于当前密钥生成的第一目标检验密文,可以准确判断加密方与解密方之间的密钥是否相同。
步骤S103,在检验密文与第一目标检验密文相同的情况下,确定当前密钥与第一密钥相同。
在步骤S103中,在一段明文的长度相对较长且其使用的字符的可选择性(如:使用数字字符,则每个字节可选择的字符有10种;使用英文字母,则每个字节可选择的字符有26种)相对较多的情况下,使用相同的密钥对相同的一段明文进行加密运算,必然将得到相同的密文,且使用不同的密钥对相同的一段明文进行加密运算,必然将得到不同的密文。因此,在检验密文与第一目标检验密文相同的情况下,终端设备可以确定当前密钥与第一密钥相同,在检验密文与第一目标检验密文不同的情况下,终端设备可以确定当前密钥与第一密钥不同,由此实现对当前密钥与第一密钥是否相同的准确判断。进而使得预设平台与终端设备在进行数据传输(如:常规交易的报文通讯)时,可以有效且快速识别双方密钥不相同的异常,进而保证后续对加密后的第一数据的解析和信息通讯(如:交易信息)的正确性。同时,还便于终端设备在密文在传输过程中发生篡改或者错误情况下,快速识别异常。
基于上述步骤S101至步骤S103所限定的方案,可以获知,在本发明实施例中,采用对预设的检验明文加密,并基于加密后的检验明文判断加密方和解密方之间的密钥是否相同的方式,通过从预设平台发送的目标加密报文中获取检验密文,然后将检验密文与第一目标检验密文进行比对,从而在检验密文与第一目标检验密文相同的情况下,确定当前密钥与第一密钥相同。其中,检验密文为预设平台基于第一密钥对预设的检验明文进行加密后得到的密文,第一密钥用于加密预设平台发送给终端设备的第一数据,检验明文为固定长度的字符,用于检验第一密钥,第一目标检验密文为基于当前密钥对检验明文进行加密后得到的密文,当前密钥用于解密加密后的第一数据。
容易注意到的是,在上述过程中,采用固定长度的字符作为检验明文,避免了基于输入文本的长度确定补位字节的长度所导致的补位字节过短,从而避免基于不同长度的补位字节判定解密结果造成的判定失误率大的问题,提高了对解密结果判定的准确性。进一步地,由于第一密钥用于加密预设平台向终端设备发送的数据,当前密钥用于解密预设平台向终端设备发送的数据,因此,通过比对基于第一密钥、检验明文生成的检验密文与基于当前密钥、检验明文生成的第一目标检验密文,可以准确判断加密方与解密方之间的密钥是否相同。
由此可见,本申请所提供的方案达到了对预设的检验明文加密,并基于加密后的检验明文判断加密方和解密方之间的密钥是否相同的目的,从而实现了提高对解密结果判定的准确性的技术效果,进而解决了现有技术中对解密结果的判定失误率大造成的无法准确判断加密方和解密方之间的密钥是否相同的技术问题。
在一种可选的实施例中,目标加密报文由预设平台对检验密文和加密报文进行组合得到,加密报文为预设平台基于第一密钥对第一数据进行加密后得到的密文。
可选的,在本实施例中,预设平台可以在加密报文的预设位置处加入检验密文。具体地,预设平台可以将检验密文附加在加密报文的最前端,也可以将检验密文附加在加密报文的最末端,还可以将检验密文附加在加密报文中的第N个字节后,从而得到目标加密报文。其中,需要说明的是,前述的预设位置处为终端设备与预设平台预先约定的位置。
需要说明的是,组合检验密文和加密报文,以使得终端设备每次都能依据检验密文对该加密报文所使用的密钥进行检验,也即判断终端设备和预设平台之间的密钥是否相同。此外,通过在加密报文的预设位置处加入检验密文,以便于终端设备对检验密文进行提取。同时,还便于终端设备在密文在传输过程中发生篡改或者错误情况下,快速识别异常。
在一种可选的实施例中,在确定当前密钥与第一密钥相同之后,终端设备可以基于当前密钥对加密报文解密,得到待处理的目标密钥,然后解析待处理的目标密钥,得到解析结果,从而基于解析结果生成目标返回加密报文,并发送至预设平台,以使预设平台基于目标返回加密报文确定当前密钥的密钥状态,其中,述第一数据至少包括目标密钥,密钥状态包括未更新状态和更新状态。
可选的,本申请可以应用于更新密钥场景。在本实施例中,在银行侧需要更新密钥时,银行侧可以通过向合作方侧的终端设备发送带有目标密钥的目标加密报文,并由终端设备基于签署方法对目标加密报文所使用的第一密钥与当前密钥比对。在确定当前密钥与第一密钥相同时,终端设备可以基于当前密钥对加密报文解密,得到待处理的目标密钥,然后对待处理的目标密钥进行约定的格式化解析,比如XML格式或者Json格式报文,以得到目标密钥。在解析过程中,可能存在解析失败的情况,因此,终端设备可以基于解析结果确定是否更新当前密钥为目标密钥,并基于密钥的更新结果生成目标返回加密报文发送至预设平台,以使银行侧基于目标返回加密报文确定合作方侧的密钥状态,并基于密钥状态确定在后续通讯中是否使用目标密钥进行通讯。其中,密钥状态中的未更新状态表征第一密钥未更新为目标密钥,更新状态表征第一密钥已更新为目标密钥;第一数据至少包括目标密钥,还可以包括请求信息,请求信息可以包括请求方(也即预设平台)的身份信息、请求时间、请求方签名等。且需要说明的是,请求信息也可以以明文或其它数据形式随目标加密报文一起发送至数据终端。
需要说明的是,在密钥更新场景下,当合作方侧获取到银行发送的新密钥或是银行接收到合作方侧返回的加密报文时,合作方侧或银行侧均需要判断双方的密钥是否相同。因此,在现有技术基于长度不确定的补位字节判定双方密钥是否相同的过程中,一旦判定出现失误,合作方侧或银行侧便无法正确识别新密钥或密钥的更新结果,进而导致通讯双方的密钥出现不同步,后续的所有通讯报文都无法正常加解密,且无法自愈,只能在系统外重新同步密钥。
因此,在本申请中,在合作方侧和银行侧均采用基于预设的检验明文生成的检验密文判断双方密钥是否相同,可以有效避免判定失误的现象发生,进而保证合作方侧和银行侧能够成功完成密钥更新。
在一种可选的实施例中,在解析结果表征待处理的目标密钥解析成功的情况下,终端设备可以基于目标密钥对检验明文加密得到第二目标检验密文,并基于目标密钥对发送给预设平台的第二数据加密得到返回加密报文,从而组合第二目标检验密文和返回加密报文,得到目标返回加密报文。其中,第二数据包括应答信息。
可选的,当终端设备确定解析成功,即得到格式正确的目标密钥时,终端设备可以将当前密钥更新为目标密钥,并启用目标密钥分别对应答信息和检验明文进行加密,再将加密得到的第二目标检验密文与返回加密报文组合,得到待发送至预设平台的目标返回加密报文。其中,应答信息至少包括应答方的身份信息、应答时间、应答方签名等信息。
需要说明的是,通过在待处理的目标密钥解析成功的情况下,采用目标密钥对应答信息和检验明文进行加密,以使得预设平台能够基于目标返回加密报文确定当前密钥的密钥状态。
在一种可选的实施例中,在解析结果表征待处理的目标密钥解析失败的情况下,终端设备可以基于当前密钥对检验明文加密得到第二目标检验密文,并基于当前密钥对发送给预设平台的第二数据加密得到返回加密报文,从而组合第二目标检验密文和返回加密报文,得到目标返回加密报文。其中,第二数据包括应答信息。
可选的,当终端设备确定解析失败,即得到格式错误的目标密钥时,终端设备保持当前密钥不变,并基于当前密钥分别对应答信息和检验明文进行加密,再将加密得到的第二目标检验密文与返回加密报文组合,得到待发送至预设平台的目标返回加密报文。其中,应答信息至少包括应答方的身份信息、应答时间、应答方签名等信息,以及当前密钥更新错误的原因。
需要说明的是,通过在待处理的目标密钥解析失败的情况下,采用当前密钥对应答信息和检验明文进行加密,以使得预设平台能够基于目标返回加密报文确定当前密钥的密钥状态。
在一种可选的实施例中,终端设备可以在返回加密报文中的预设位置处加入第二目标检验密文,得到目标返回加密报文。
可选的,终端设备可以将第二目标检验密文附加在返回加密报文的最前端,也可以将第二目标检验密文附加在返回加密报文的最末端,还可以将第二目标检验密文附加在返回加密报文中的第N个字节后,从而得到目标返回加密报文。其中,需要说明的是,前述的预设位置处为终端设备与预设平台预先约定的位置。
需要说明的是,组合第二目标检验密文和返回加密报文,以使得预设平台每次都能依据第二目标检验密文对该返回加密报文所使用的密钥进行检验,也即判断终端设备和预设平台之间的密钥是否相同。此外,通过在返回加密报文的预设位置处加入第二目标检验密文,以便于预设平台对第二目标检验密文进行提取。同时,还便于终端设备在密文在传输过程中发生篡改或者错误情况下,快速识别异常。
在一种可选的实施例中,预设平台用于获取目标返回加密报文中的第二目标检验密文,并将第二目标检验密文与第三目标检验密文进行比对,其中,在第二目标检验密文与第三目标检验密文相同的情况下,预设平台确定密钥状态为未更新状态;在第二目标检验密文与第三目标检验密文不相同的情况下,预设平台将第二目标检验密文与第四目标检验密文进行比对;其中,第三目标检验密文为预设平台基于第一密钥对检验明文进行加密后得到的密文。
可选的,银行侧在接收到目标返回加密报文后,可以通过预设平台截取返回加密报文中的第二目标检验密文。由于不知道合作方是否更新密钥成功,即是否使用了目标密钥加密应答信息,所以预设平台首先使用第一密钥加密检验明文得到第三目标检验密文,并将第二目标检验密文与第三目标检验密文进行比对,如果比对结果一致,则代表当前密钥的密钥状态为未更新状态,合作方启用新密钥失败,此时,预设平台可以对返回加密报文进行解密,并将解密得到的结果进行约定的格式化解析得到应答信息,以从应答信息中密钥更新的错误原因。
进一步地,如果第二目标检验密文与第三目标检验密文不同,则初步判定当前密钥已经更新,预设平台可以使用目标密钥加密检验明文得到第四目标检验密文,并将第二目标检验密文与第四目标检验密文进行比对。
需要说明的是,预设平台通过将第二目标检验密文与第三目标检验密文以及第四目标检验密文进行比对,可以准确判断终端设备所使用的密钥是否为当前密钥。
在一种可选的实施例中,在第二目标检验密文与第四目标检验密文相同的情况下,预设平台确定密钥状态为更新状态;其中,第四目标检验密文为预设平台基于目标密钥对检验明文进行加密后得到的密文。
可选的,在第二目标检验密文与第四目标检验密文相同的情况下,则预设平台确定合作方成功启用目标密钥,此时,预设平台也将第一密钥更新为目标密钥,以保证银行侧和合作方侧所使用的密钥相同。
在一种可选的实施例中,预设平台用于在第二目标检验密文与第四目标检验密文不相同的情况下,确定目标返回加密报文所对应的密钥为与第一密钥或目标密钥不相同的密钥。
可选的,在第二目标检验密文与第四目标检验密文不同的情况下,则预设平台确定合作方使用的密钥为未知密钥,此时,预设平台可以控制第三方设备更新银行侧和合作方侧的密钥,以使其恢复相同密钥。
需要说明的是,预设平台通过将第二目标检验密文与第四目标检验密文进行比对,可以准确判断以及终端设备所使用的密钥是否为目标密钥。
在一种可选的实施例中,终端设备可以在当前密钥与第一密钥不同的情况下,控制第三方设备更新当前密钥与第一密钥为相同密钥。
可选的,在确定当前密钥与第一密钥不同时,终端设备确定预设平台或己方所使用的密钥为未知密钥,此时,终端设备可以控制第三方设备更新银行侧和合作方侧的密钥,以使其恢复相同密钥。
需要说明的是,本申请所提供的方法能能够极大程度的加强判定结果的可靠性和正确性,确保后续对密钥或数据的解析和交易处理的正确性。
由此可见,本申请所提供的方案达到了对预设的检验明文加密,并基于加密后的检验明文判断加密方和解密方之间的密钥是否相同的目的,从而实现了提高对解密结果判定的准确性的技术效果,进而解决了现有技术中对解密结果的判定失误率大造成的无法准确判断加密方和解密方之间的密钥是否相同的技术问题。
实施例2
根据本发明实施例,提供了一种数据检验装置的实施例,其中,图2是根据本发明实施例的一种可选的数据检验装置的示意图,如图2所示,该装置包括:
获取模块201,用于从预设平台发送的目标加密报文中获取检验密文,其中,检验密文为预设平台基于第一密钥对预设的检验明文进行加密后得到的密文,第一密钥用于加密预设平台发送给终端设备的第一数据,检验明文为固定长度的字符,用于检验第一密钥;
比对模块202,用于将检验密文与第一目标检验密文进行比对,其中,第一目标检验密文为基于当前密钥对检验明文进行加密后得到的密文,当前密钥用于解密加密后的第一数据;
确定模块203,用于在检验密文与第一目标检验密文相同的情况下,确定当前密钥与第一密钥相同。
需要说明的是,获取模块201、比对模块202以及确定模块203对应于上述实施例中的步骤S101至步骤S103,三个模块与对应的步骤所实现的示例和应用场景相同,但不限于上述实施例1所公开的内容。
可选的,目标加密报文由预设平台对检验密文和加密报文进行组合得到,加密报文为预设平台基于第一密钥对第一数据进行加密后得到的密文。
可选的,第一数据至少包括目标密钥,数据检验装置还包括:第一解密模块,用于在当前密钥与第一密钥相同的情况下,基于当前密钥对加密报文解密,得到待处理的目标密钥;解析模块,用于解析待处理的目标密钥,得到解析结果;第一处理模块,用于基于解析结果生成目标返回加密报文,并发送至预设平台,以使预设平台基于目标返回加密报文确定当前密钥的密钥状态,其中,密钥状态包括未更新状态和更新状态。
可选的,比对模块还包括:第一加密模块,用于在解析结果表征待处理的目标密钥解析成功的情况下,基于目标密钥对检验明文加密得到第二目标检验密文;第二加密模块,用于基于目标密钥对发送给预设平台的第二数据加密得到返回加密报文,其中,第二数据包括应答信息;第一组合模块,用于组合第二目标检验密文和返回加密报文,得到目标返回加密报文。
可选的,比对模块还包括:第三加密模块,用于在解析结果表征待处理的目标密钥解析失败的情况下,基于当前密钥对检验明文加密得到第二目标检验密文;第四加密模块,用于基于当前密钥对发送给预设平台的第二数据加密得到返回加密报文,其中,第二数据包括应答信息;第二组合模块,用于组合第二目标检验密文和返回加密报文,得到目标返回加密报文。
可选的,第一组合模块或第二组合模块还包括:第二处理模块,用于在返回加密报文中的预设位置处加入第二目标检验密文,得到目标返回加密报文。
可选的,预设平台用于获取目标返回加密报文中的第二目标检验密文,并将第二目标检验密文与第三目标检验密文进行比对,其中,在第二目标检验密文与第三目标检验密文相同的情况下,预设平台确定密钥状态为未更新状态;在第二目标检验密文与第三目标检验密文不相同的情况下,预设平台将第二目标检验密文与第四目标检验密文进行比对;其中,第三目标检验密文为预设平台基于第一密钥对检验明文进行加密后得到的密文。
可选的,在第二目标检验密文与第四目标检验密文相同的情况下,预设平台确定密钥状态为更新状态;其中,第四目标检验密文为预设平台基于目标密钥对检验明文进行加密后得到的密文。
可选的,预设平台用于在第二目标检验密文与第四目标检验密文不相同的情况下,确定目标返回加密报文所对应的密钥为与第一密钥或目标密钥不相同的密钥。
可选的,数据检验装置还包括:控制模块,用于在当前密钥与第一密钥不同的情况下,控制第三方设备更新当前密钥与第一密钥为相同密钥。
实施例3
根据本发明实施例的另一方面,还提供了计算机可读存储介质,计算机可读存储介质中存储有计算机程序,其中,计算机程序被设置为运行时执行上述的数据检验方法。
实施例4
根据本发明实施例的另一方面,还提供了电子设备,其中,图3是根据本发明实施例的一种可选的电子设备的示意图,如图3所示,电子设备包括一个或多个处理器;存储器,用于存储一个或多个程序,当一个或多个程序被一个或多个处理器执行时,使得一个或多个处理器实现用于运行程序,其中,程序被设置为运行时执行上述的数据检验方法。
实施例5
根据本发明实施例的另一方面,还提供了一种计算机程序产品,包括计算机程序/指令,计算机程序/指令被处理器执行时实现上述的数据检验方法。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如单元的划分,可以为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例方法的全部或部分步骤。而前述的存储介质包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
以上仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (7)
1.一种数据检验方法,其特征在于,包括:
从预设平台发送的目标加密报文中获取检验密文,其中,所述检验密文为所述预设平台基于第一密钥对预设的检验明文进行加密后得到的密文,所述第一密钥用于加密所述预设平台发送给终端设备的第一数据,所述检验明文为固定长度的字符,用于检验所述第一密钥;
将所述检验密文与第一目标检验密文进行比对,其中,所述第一目标检验密文为基于当前密钥对所述检验明文进行加密后得到的密文,所述当前密钥用于解密加密后的第一数据;
在所述检验密文与所述第一目标检验密文相同的情况下,确定所述当前密钥与所述第一密钥相同;
其中,所述目标加密报文由所述预设平台对所述检验密文和加密报文进行组合得到,所述加密报文为所述预设平台基于所述第一密钥对所述第一数据进行加密后得到的密文;
其中,在所述当前密钥与所述第一密钥不同的情况下,控制第三方设备更新所述当前密钥与所述第一密钥为相同密钥;
其中,所述第一数据至少包括目标密钥,其中,在确定所述当前密钥与所述第一密钥相同之后,所述方法还包括:
基于所述当前密钥对所述加密报文解密,得到待处理的目标密钥;
解析所述待处理的目标密钥,得到解析结果;
基于所述解析结果生成目标返回加密报文,并发送至所述预设平台,以使所述预设平台基于所述目标返回加密报文确定所述当前密钥的密钥状态,其中,所述密钥状态包括未更新状态和更新状态;
其中,所述预设平台用于获取所述目标返回加密报文中的第二目标检验密文,并将所述第二目标检验密文与第三目标检验密文进行比对,其中,在所述第二目标检验密文与所述第三目标检验密文相同的情况下,所述预设平台确定所述密钥状态为未更新状态;在所述第二目标检验密文与所述第三目标检验密文不相同的情况下,所述预设平台将所述第二目标检验密文与第四目标检验密文进行比对;其中,所述第三目标检验密文为所述预设平台基于所述第一密钥对所述检验明文进行加密后得到的密文;
其中,在所述第二目标检验密文与所述第四目标检验密文相同的情况下,所述预设平台确定所述密钥状态为更新状态;其中,所述第四目标检验密文为所述预设平台基于所述目标密钥对所述检验明文进行加密后得到的密文。
2.根据权利要求1所述的方法,其特征在于,基于所述解析结果生成目标返回加密报文,包括:
在所述解析结果表征所述待处理的目标密钥解析成功的情况下,基于所述目标密钥对所述检验明文加密得到第二目标检验密文;
基于所述目标密钥对发送给所述预设平台的第二数据加密得到返回加密报文,其中,所述第二数据包括应答信息;
组合所述第二目标检验密文和所述返回加密报文,得到所述目标返回加密报文。
3.根据权利要求1所述的方法,其特征在于,基于所述解析结果生成目标返回加密报文,包括:
在所述解析结果表征所述待处理的目标密钥解析失败的情况下,基于所述当前密钥对所述检验明文加密得到第二目标检验密文;
基于所述当前密钥对发送给所述预设平台的第二数据加密得到返回加密报文,其中,所述第二数据包括应答信息;
组合所述第二目标检验密文和所述返回加密报文,得到所述目标返回加密报文。
4.根据权利要求2或3所述的方法,其特征在于,组合所述第二目标检验密文和所述返回加密报文,得到所述目标返回加密报文,包括:
在所述返回加密报文中的预设位置处加入所述第二目标检验密文,得到所述目标返回加密报文。
5.根据权利要求1所述的方法,其特征在于,所述预设平台用于在所述第二目标检验密文与所述第四目标检验密文不相同的情况下,确定所述目标返回加密报文所对应的密钥为与所述第一密钥或所述目标密钥不相同的密钥。
6.一种数据检验装置,其特征在于,包括:
获取模块,用于从预设平台发送的目标加密报文中获取检验密文,其中,所述检验密文为所述预设平台基于第一密钥对预设的检验明文进行加密后得到的密文,所述第一密钥用于加密所述预设平台发送给终端设备的第一数据,所述检验明文为固定长度的字符,用于检验所述第一密钥;
比对模块,用于将所述检验密文与第一目标检验密文进行比对,其中,所述第一目标检验密文为基于当前密钥对所述检验明文进行加密后得到的密文,所述当前密钥用于解密加密后的第一数据;
确定模块,用于在所述检验密文与所述第一目标检验密文相同的情况下,确定所述当前密钥与所述第一密钥相同;
其中,目标加密报文由预设平台对检验密文和加密报文进行组合得到,加密报文为预设平台基于第一密钥对第一数据进行加密后得到的密文;
其中,数据检验装置还包括:控制模块,用于在当前密钥与第一密钥不同的情况下,控制第三方设备更新当前密钥与第一密钥为相同密钥;
其中,第一数据至少包括目标密钥,数据检验装置还包括: 第一解密模块,用于在当前密钥与第一密钥相同的情况下,基于当前密钥对加密报文解密,得到待处理的目标密钥;解析模块,用于解析待处理的目标密钥,得到解析结果;第一处理模块,用于基于解析结果生成目标返回加密报文,并发送至预设平台,以使预设平台基于目标返回加密报文确定当前密钥的密钥状态,其中,密钥状态包括未更新状态和更新状态;
其中,预设平台用于获取目标返回加密报文中的第二目标检验密文,并将第二目标检验密文与第三目标检验密文进行比对,其中,在第二目标检验密文与第三目标检验密文相同的情况下,预设平台确定密钥状态为未更新状态;在第二目标检验密文与第三目标检验密文不相同的情况下,预设平台将第二目标检验密文与第四目标检验密文进行比对;其中,第三目标检验密文为预设平台基于第一密钥对检验明文进行加密后得到的密文;
其中,在第二目标检验密文与第四目标检验密文相同的情况下,预设平台确定密钥状态为更新状态;其中,第四目标检验密文为预设平台基于目标密钥对检验明文进行加密后得到的密文。
7.一种电子设备,其特征在于,所述电子设备包括一个或多个处理器;存储器,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现用于运行程序,其中,所述程序被设置为运行时执行所述权利要求1至5任一项中所述的数据检验方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210362152.0A CN114697119B (zh) | 2022-04-07 | 2022-04-07 | 数据检验方法、装置、计算机可读存储介质及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210362152.0A CN114697119B (zh) | 2022-04-07 | 2022-04-07 | 数据检验方法、装置、计算机可读存储介质及电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114697119A CN114697119A (zh) | 2022-07-01 |
CN114697119B true CN114697119B (zh) | 2023-10-10 |
Family
ID=82142818
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210362152.0A Active CN114697119B (zh) | 2022-04-07 | 2022-04-07 | 数据检验方法、装置、计算机可读存储介质及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114697119B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110929291A (zh) * | 2019-12-04 | 2020-03-27 | 楚天龙股份有限公司 | 一种存取文本文件的方法、装置和计算机可读存储介质 |
CN111131278A (zh) * | 2019-12-27 | 2020-05-08 | 京东数字科技控股有限公司 | 数据处理方法及装置、计算机存储介质、电子设备 |
CN113014380A (zh) * | 2021-02-08 | 2021-06-22 | 深圳市亿图软件有限公司 | 文件数据的密码管理方法、装置、计算机设备及存储介质 |
CN113794734A (zh) * | 2021-09-26 | 2021-12-14 | 上汽通用五菱汽车股份有限公司 | 车载can总线加密通信方法、控制装置和可读存储介质 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10439804B2 (en) * | 2017-10-27 | 2019-10-08 | EMC IP Holding Company LLC | Data encrypting system with encryption service module and supporting infrastructure for transparently providing encryption services to encryption service consumer processes across encryption service state changes |
-
2022
- 2022-04-07 CN CN202210362152.0A patent/CN114697119B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110929291A (zh) * | 2019-12-04 | 2020-03-27 | 楚天龙股份有限公司 | 一种存取文本文件的方法、装置和计算机可读存储介质 |
CN111131278A (zh) * | 2019-12-27 | 2020-05-08 | 京东数字科技控股有限公司 | 数据处理方法及装置、计算机存储介质、电子设备 |
CN113014380A (zh) * | 2021-02-08 | 2021-06-22 | 深圳市亿图软件有限公司 | 文件数据的密码管理方法、装置、计算机设备及存储介质 |
CN113794734A (zh) * | 2021-09-26 | 2021-12-14 | 上汽通用五菱汽车股份有限公司 | 车载can总线加密通信方法、控制装置和可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN114697119A (zh) | 2022-07-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110493197B (zh) | 一种登录处理方法及相关设备 | |
US8898086B2 (en) | Systems and methods for transmitting financial account information | |
US7499552B2 (en) | Cipher method and system for verifying a decryption of an encrypted user data key | |
CN111131278B (zh) | 数据处理方法及装置、计算机存储介质、电子设备 | |
JP2016515235A5 (zh) | ||
EP3637674A1 (en) | Computer system, secret information verification method, and computer | |
CN110071937B (zh) | 基于区块链的登录方法、系统及存储介质 | |
CN110929291A (zh) | 一种存取文本文件的方法、装置和计算机可读存储介质 | |
US20220109579A1 (en) | Method for the digital signing of a message | |
CN113610526A (zh) | 一种数据信任方法、装置、电子设备及存储介质 | |
CN113872770A (zh) | 一种安全性验证方法、系统、电子设备及存储介质 | |
CN111445250B (zh) | 一种区块链密钥测试方法及装置 | |
CN108376212B (zh) | 执行代码安全保护方法、装置及电子装置 | |
CN114697119B (zh) | 数据检验方法、装置、计算机可读存储介质及电子设备 | |
CN116361833A (zh) | 校验方法、装置及终端设备 | |
CN112149068A (zh) | 基于访问的授权校验方法、信息的生成方法及装置、服务器 | |
CN115550060A (zh) | 基于区块链的可信证书验证方法、装置、设备和介质 | |
CN113221074B (zh) | 一种离线授权方法 | |
US20090028338A1 (en) | Software product authentication | |
CN112733166A (zh) | license认证授权功能的实现方法及系统 | |
CN113158218A (zh) | 数据加密方法、装置及数据解密方法、装置 | |
CN112367171B (zh) | 一种基于rsa和MD5的数据传输方法及组件 | |
CN108880785A (zh) | 一种检测C++虚表被hook的方法、装置、终端及可读介质 | |
CN113872769B (zh) | 基于puf的设备认证方法、装置、计算机设备及存储介质 | |
CN111565178B (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 |