基于加密机的数据处理方法及加密机转让专利

申请号 : CN201910266538.X

文献号 : CN109981671B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 孙吉平陈文静

申请人 : 北京深思数盾科技股份有限公司

摘要 :

提供基于加密机的数据处理方法及加密机,该加密机包括密码芯片,方法包括:响应数据运算请求而获取待处理数据,将待处理数据和待处理数据传输前校验码发给密码芯片;接收密码芯片确定待处理数据成功通过待处理数据传输完整性校验后执行运算获得的运算结果和计算出的运算结果的第一传输前校验码;在成功通过第一运算结果传输完整性校验后将逆运算请求、运算结果和运算结果的第二传输前校验码发送给密码芯片;接收密码芯片确定运算结果成功通过第二运算结果传输完整性校验后执行逆运算获得的逆运算结果和计算出的逆运算结果的传输前校验码;在成功通过逆运算结果传输完整性校验后确定待处理数据与逆运算结果是否一致;若一致,表明数据运算成功。

权利要求 :

1.一种基于加密机的数据处理方法,所述加密机包括密码芯片,所述方法包括:

响应于数据运算处理请求而获取待处理数据,并将待处理数据和第四传输前校验码发送给密码芯片,其中,所述第四传输前校验码为待处理数据的传输前校验码;

接收运算结果和第一传输前校验码;其中,所述运算结果为所述密码芯片在确定所述待处理数据成功通过待处理数据传输完整性校验后,根据所述数据运算处理请求,对待处理数据执行预定运算所获得的结果;所述第一传输前校验码为由密码芯片计算得到的所述运算结果的传输前校验码,在所述运算结果成功通过第一运算结果传输完整性校验后,将数据逆运算请求、所述运算结果和第二传输前校验码发送给所述密码芯片,其中,所述第二传输前校验码为所述运算结果的传输前校验码;

接收逆运算结果以及第三传输前校验码;其中,所述逆运算结果为所述密码芯片在确定所述运算结果成功通过第二运算结果传输完整性校验后,根据数据逆运算请求,对所述运算结果执行所述预定运算的逆运算所获得的结果;所述第三传输前校验码为由密码芯片计算得到的所述逆运算结果的传输前校验码,在所述逆运算结果成功通过逆运算结果传输完整性校验后,确定所述待处理数据与所述逆运算结果是否一致,如果所述待处理数据与所述逆运算结果一致,则表明数据运算处理成功。

2.如权利要求1所述的方法,其中,所述待处理数据传输完整性校验包括:将所述第四传输前校验码与第四传输后校验码进行比较;其中,所述第四传输后校验码为利用与计算所述第四传输前校验码相同的校验算法计算得到的待处理数据的传输后校验码。

3.如权利要求1所述的方法,其中,所述数据运算处理请求包括数据加密请求和数据解密请求。

4.如权利要求1所述的方法,其中,所述第一运算结果传输完整性校验包括:将所述第一传输前校验码与第一传输后校验码进行比较;其中,所述第一传输后校验码为利用与计算所述第一传输前校验码相同的校验算法计算得到的所述运算结果的传输后校验码。

5.如权利要求1所述的方法,其中,所述第二运算结果传输完整性校验包括:将所述第二传输前校验码与第二传输后校验码进行比较;其中,所述第二传输后校验码为利用与计算所述第二传输前校验码相同的校验算法计算得到的所述运算结果的传输后校验码。

6.如权利要求3所述的方法,其中,所述逆运算结果传输完整性校验包括:将所述第三传输前校验码与第三传输后校验码进行比较;其中,所述第三传输后校验码为利用与计算所述第三传输前校验码相同的校验算法计算得到的逆运算结果的传输后校验码。

7.一种加密机,包括:

密码芯片,用于对待处理数据进行预定的数据运算处理;

存储器,其中存储有计算机程序指令;

处理器,所述计算机程序指令在由所述处理器执行时实现权利要求1-6中任一项所述的方法。

8.一种基于加密机的数据处理方法,包括:

向所述加密机发送数据运算处理请求和待处理数据的步骤,其中还通过所述加密机的内置应用程序将第四传输前校验码发送给所述加密机的密码芯片,其中,所述第四传输前校验码为待处理数据的传输前校验码;

接收来自所述加密机的对所述待处理数据进行了预定运算而得到的运算结果的步骤,其中还从所述密码芯片向所述内置应用程序发送第一传输前校验码,所述运算结果为所述密码芯片在确定所述待处理数据成功通过待处理数据传输完整性校验后,根据所述数据运算处理请求,对待处理数据执行预定运算所获得的结果,所述第一传输前校验码为由密码芯片计算得到的所述运算结果的传输前校验码;

在所述运算结果成功通过第一运算结果传输完整性校验后向所述加密机发送数据逆运算请求和所述运算结果的步骤,其中,还通过所述内置应用程序向所述密码芯片发送第二传输前校验码,其中,所述第二传输前校验码为所述运算结果的传输前校验码;

接收来自所述加密机的对所述运算结果进行了所述预定运算的逆运算而得到的逆运算结果的步骤,其中所述密码芯片还向所述内置应用程序发送第三传输前校验码,所述逆运算结果为所述密码芯片在确定所述运算结果成功通过第二运算结果传输完整性校验后,根据数据逆运算请求,对所述运算结果执行所述预定运算的逆运算所获得的结果,所述第三传输前校验码为由密码芯片计算得到的所述逆运算结果的传输前校验码;

在所述逆运算结果成功通过逆运算结果传输完整性校验后将所述待处理数据与所述逆运算结果进行比较的步骤,如果两者一致,则表明数据运算处理成功。

说明书 :

基于加密机的数据处理方法及加密机

技术领域

[0001] 本发明涉及计算机安全领域,尤其涉及用于提升密码芯片理数据可靠性的基于加密机的数据处理方法及加密机。

背景技术

[0002] 为了提高数据加解密的效率和安全性,密码芯片经常用来替代软算法进行密码运算,尤其是在需要高性能密码运算的应用领域。通常来讲,密码芯片都会提供一套应用程序编程接口(API),加密机设备(下文也简称为加密机)的内置应用程序(下文也称为内置应用程序)直接通过密码芯片提供的API来使用芯片提供的运算功能即可。但是,应用程序在使用芯片的密码运算功能时需要将数据从加密机内存传输到芯片内部,数据传输的过程由于需要涉及到加密机的其他硬件,因此数据存在丢失或不完整的可能。密码芯片内部由于硬件的电气特性也存在程序或数据不稳定的情况。综上,在使用密码芯片进行运算时可能会存在运算结果不正确的情况。
[0003] 因此,本领域存在提高密码芯片进行数据运算处理(例如,加解密数据)的可靠性的需求。

发明内容

[0004] 本发明的目的是提供一种能够提高数据运算处理(例如数据加解密运算处理)的可靠性的基于加密机的数据处理方法以及加密机。
[0005] 根据本发明的第一方案,提供了一种基于加密机的数据处理方法,加密机包括密码芯片,该方法包括:响应于数据运算处理请求而获取待处理数据,并将待处理数据和待处理数据的传输前校验码发送给密码芯片,接收密码芯片在确定待处理数据成功通过待处理数据传输完整性校验后根据数据运算处理请求对待处理数据执行预定运算所获得的运算结果和由密码芯片计算得到的运算结果的第一传输前校验码,在成功通过第一运算结果传输完整性校验后,将数据逆运算请求、运算结果和运算结果的第二传输前校验码发送给密码芯片,接收密码芯片在确定运算结果成功通过第二运算结果传输完整性校验后根据数据逆运算请求对运算结果执行预定运算的逆运算所获得的逆运算结果和由密码芯片计算得到的逆运算结果的传输前校验码,在成功通过逆运算结果传输完整性校验后,确定待处理数据与逆运算结果是否一致,如果待处理数据与逆运算结果一致,则表明数据运算处理成功。
[0006] 根据第一方案的优选实施例,待处理数据传输完整性校验包括将待处理数据的传输前校验码与利用与计算待处理数据的传输前校验码相同的校验算法计算得到的待处理数据的传输后校验码进行比较。
[0007] 根据第一方案的优选实施例,数据运算处理请求包括数据加密请求和数据解密请求。
[0008] 根据第一方案的优选实施例,第一运算结果传输完整性校验包括将运算结果的第一传输前校验码与利用与计算运算结果的传输前校验码相同的校验算法计算得到的运算结果的第一传输后校验码进行比较。
[0009] 根据第一方案的优选实施例,第二运算结果传输完整性校验包括将运算结果的第二传输前校验码与利用与计算运算结果的第二传输前校验码相同的校验算法计算得到的运算结果的第二传输后校验码进行比较。
[0010] 优选地,逆运算结果传输完整性校验包括将逆运算结果的传输前校验码与利用与计算逆运算结果的传输前校验码相同的校验算法计算得到的逆运算结果的传输后校验码进行比较。
[0011] 根据本发明的第二方案,提供了一种加密机,包括:密码芯片,用于对待处理数据进行预定的数据运算处理;存储器,其中存储有计算机程序指令;处理器,计算机程序指令在由处理器执行时实现上述各方案中任一方案所述的方法。
[0012] 根据本发明的第三方案,提供了一种基于加密机的数据处理方法,包括:向加密机发送数据运算处理请求和待处理数据,接收来自加密机的对待处理数据进行了预定运算而得到的运算结果,向加密机发送数据逆运算请求和运算结果,接收来自加密机的对运算结果进行了预定运算的逆运算而得到的逆运算结果,将待处理数据与逆运算结果进行比较,如果两者一致,则表明数据运算处理成功。
[0013] 根据本发明的上述方案,提供的基于加密机的数据处理方法和加密机考虑到数据传输的过程由于需要涉及到加密机设备的其他硬件而导致数据存在丢失或不完整的可能以及密码芯片内部由于硬件的电气特性也存在程序或数据不稳定的情况,能够对密码芯片进行的数据运算处理以及数据传输过程的安全性和可靠性进行验证,从而确保获得准确的、正确的运算处理结果,提升了加密机进行数据运算处理的安全性和可靠性。

附图说明

[0014] 通过参考附图对以下具体实施方式的描述,本公开的这些方案和其他方案以及上述以及其他的目的、优势和特征将变得显而易见,在附图中:
[0015] 图1是示出根据本公开实施例的加密机设备的架构的组成部件的框图;
[0016] 图2是说明据本公开的实施例的加密运算可靠性提升的流程时序图;
[0017] 图3是说明根据本公开的实施例的解密运算可靠性提升的流程时序图;
[0018] 图4是说明根根据本公开实施例的数据处理方法的各步骤的流程图;
[0019] 图5是是说明根据本公开另一实施例的用户接口侧的数据处理方法的各步骤的流程图。

具体实施方式

[0020] 这里给出的实施方案和附图示出了本发明的各种原理。应当理解的是,本领域技术人员能够设计出各种布置和实现方式,这些布置和实现方式虽然未在本文中明确描述或示出,但体现了本发明的这些原理并且包括在本公开的范围内。另外,本文描述的各种实施例不一定是相互排斥的,而是各种实施例可以组合以产生包含本发明原理的另外的实施例。为使本发明的目的、技术方案及优点更加清楚明白,以下参照附图并举实施例,对本发明进一步详细说明。
[0021] 图1示出了加密机设备10(也简称为加密机10)的架构的组成部件的框图。在至少一些实施例中,如图1所示,加密机设备10包括存储器101、处理器102、密码芯片103、用户接口104,处理器102可以包括内置应用程序105。具体地,加密机设备10的应用方面主要包括密码保护/校验以及数据加密/解密运算处理,这两种操作使用了密码芯片103内两个不同的业务密钥来实现。
[0022] 在本公开的一个实施例中,存储器101用于存储操作系统、其他应用程序以及操作系统和应用程序如内置应用程序105进行操作过程中所使用的程序数据和应用数据。处理器102用于执行加密机中所需执行的各种操作和处理。在各个实施例中,处理器102可以包括一个或多个处理核或处理单元。
[0023] 密码芯片103是加密机设备10中的安全芯片,是主要的密码学运算单元。密码芯片103的内部保存一些核心的业务密钥、种子码等数据,业务密钥对外部是不可见的,一切与业务相关的密码学运算都在密码芯片103内部完成,以最大程度地保证数据的安全。通常,为了提高性能,一台加密机设备10可内嵌有多个密码芯片103。
[0024] 在实施例中,用户接口104可以是用户能够与之进行交互的任何接口,该用户接口104可以通过应用程序编程接口(API)与内置应用程序105可通信地耦合。
[0025] 图1中所示的内置应用程序105可以是加密机设备10的内部模块,内置应用程序105通常可以是利用软件实现的应用程序,主要提供以下功能:加密机设备10的注册初始化、管理功能(复制管理员锁、系统设置)、密钥恢复等。在其他实施例中,内置应用程序105也可以通过固件来实现。
[0026] 如前所述,密码芯片103通常会提供一个或多个密码芯片API,加密机的内置应用程序105直接通过密码芯片103提供的密码芯片API来使用密码芯片103提供的运算功能。在这种情况下,内置应用程序105在使用密码芯片103的密码运算功能时需要将数据从加密机设备内存传输到密码芯片103的内部,数据传输的过程由于需要涉及到加密机设备10的其他硬件等相关元件,因此在传输过程中存在数据丢失或不完整的可能。密码芯片103内部由于硬件的电气特性也可能存在程序或数据不稳定或发生变化的情况。由于上述这些原因,在使用密码芯片103进行数据处理运算时可能会存在所得到的运算结果不正确的情况。
[0027] 有鉴于此,本发明公开了一种提升利用密码芯片103进行数据运算处理(例如,数据加解密)的可靠性的方案。该方案主要涉及到加密机设备10的内置应用程序105、密码芯片103和密码芯片API。该方案通过在内置应用程序105使用密码芯片103进行数据运算处理的过程中增加以下两方面的校验手段来提升密码芯片103进行数据运算处理(例如,对数据进行加解密)的可靠性:数据传输过程完整性校验、密码运算结果正确性校验。图2至图5分别示出了根据本发明的各个实施例的利用加密机设备10的密码芯片103进行数据运算处理(包括数据加密和数据解密处理)的方法的流程图。
[0028] 首先,下面分别介绍进行数据传输完整性校验的两个处理过程。在加密机设备10的密码芯片103的主要应用方面的上下文中,该过程主要涉及数据从内置应用程序传输到密码芯片103以及数据从密码芯片103传输到内置应用程序这两个方面。
[0029] A.数据传输过程完整性校验
[0030] 数据传输过程包括数据从内置应用程序105传输到密码芯片103和数据从密码芯片103传输到内置应用程序105这两个子过程。该过程的可靠性保证是通过数据完整性校验算法来实现的。
[0031] 数据从内置应用程序传输到密码芯片103
[0032] 在进行数据传输之前首先计算待运算数据的校验码,并将该校验码和数据一起传输给密码芯片103,密码芯片103接收到数据之后也会用同样的算法计算数据的校验码,如果计算的校验码和接收到的校验码是一致的则表明数据在传输过程并没有被改变,可以继续进行数据处理运算,例如密码运算。如果不一致,则表明数据已经被改变,那么密码芯片103直接返回错误提示,不进行数据处理运算,例如密码运算。
[0033] 数据从密码芯片103传输到内置应用程序
[0034] 在进行数据传输之前首先计算运算结果数据的校验码,并将该校验码和数据一起传输给密码芯片103,内置应用程序105接收到数据之后也会用同样的算法计算数据的校验码,如果计算的校验码和接收到的校验码是一致的则表明数据在传输过程并没有被改变,可以继续进行后续校验。如果不一致,则表明数据已经被改变,那么内置应用程序105直接返回错误提示,程序结束并退出。
[0035] 进一步,本发明的实施例还涉及加密机设备10的密码芯片103进行的数据运算处理的正确性校验,在本发明的上下文中,该数据运算处理正确性校验主要包括密码芯片103加密正确性校验和密码芯片103解密正确性校验这两个方面。
[0036] B.密码运算结果正确性校验
[0037] 数据处理运算,例如密码运算,主要包括密码芯片103加密数据和密码芯片103解密数据这两个运算过程。该运算过程的可靠性保证是通过使用密码芯片103对数据运算的结果进行逆运算来实现的。
[0038] 密码芯片103加密正确性校验
[0039] 执行该校验的前提是已经通过了数据传输过程完整性校验。内置应用程序105接收到密码芯片103加密结果之后,使用密码芯片103对加密结果进行解密,然后比较解密结果和待加密数据是否一致,如果一致,则表明密码芯片103加密结果是正确的,否则,内置应用程序105返回错误提示,程序结束并退出。
[0040] 密码芯片103解密正确性校验
[0041] 执行该校验的前提是已经通过了数据传输过程完整性校验。内置应用程序105接收到密码芯片103的解密结果之后,使用密码芯片103对解密结果进行加密,然后比较加密结果和待解密数据是否一致,如果一致,则表明密码芯片103解密结果是正确的,否则,内置应用程序105返回错误提示并退出。
[0042] 本发明方法与传统的使用密码芯片103加解密数据的优势主要在于添加了数据传输过程的完整性校验和密码芯片103运算结果校验,通过这两种校验可以有效侦测和防止数据在传输过程和密码运算过程的错误,及时发现可能发生的错误,提高运算结果的正确性。
[0043] 本发明提供的提升密码芯片103进行的数据处理运算(例如,加解密数据)的可靠性的方案,具体包括数据加密和数据解密两个过程,下面将参考图2和图3对该方法应用于加密机设备来用于对用户的数据进行加解密的过程进行详细说明。
[0044] 下面参考图2对该数据加密处理的流程进行说明。图2示出了根据本公开的实施例的加密运算可靠性提升的流程时序图。如图2所示,根据本发明的一个实施例的数据加密运算的过程包括加密过程和解密过程。
[0045] 下面对图2中所示的数据加密处理过程所涉及的加密过程进行说明。首先,用户向加密机设备10发起加密数据请求,将待加密数据(也称为明文或明文数据)作为参数传递给加密机设备。加密机设备10的内置应用程序105接收并解析用户请求,获得待加密数据。然后,加密机设备10的内置应用程序105计算待加密数据的校验码,将待加密数据和校验码一起经由密码芯片API传输给密码芯片103。接着,在密码芯片103接收到待加密数据和校验码之后,采用跟加密机设备10的内置应用程序105相同的算法计算待加密数据的校验码,如果计算出来的校验码和接收到的校验码是一致的,则认为在待加密数据传输过程没有出现错误,可以进行密码运算,否则直接返回错误信息。
[0046] 然后,密码芯片103对明文数据进行加密运算,得到加密结果(也称为密文或密文数据);密码芯片103计算加密结果的校验码,并将加密结果和结果校验码一起返回给加密机设备10的内置应用程序105。加密机设备10的内置应用程序105计算加密结果的校验码。
[0047] 然后,加密机设备10的内置应用程序105比较自己计算的校验码和接收到的校验码是否一致,如果一致,则认为在加密结果传输过程没有发生错误,加密结果是正确的,并将加密结果返回给用户,否则,直接返回错误信息。
[0048] 下面对图2中所示的数据加密处理过程所涉及的解密过程进行说明。首先,加密机设备10的内置应用程序105计算上述加密结果(也称为密文或密文数据)的校验码,然后将该加密结果作为待解密数据连同校验码一起经由密码芯片API发送给密码芯片103。
[0049] 接着,在密码芯片103接收到待解密数据和校验码之后,采用跟加密机设备10的内置应用程序105相同的算法计算待解密数据的校验码,如果计算出来的校验码和接收到的校验码是一致的,则认为在待解密数据传输过程没有发生错误,可以进行密码运算,否则,直接返回错误信息。
[0050] 然后,密码芯片103对密文数据进行解密运算,得到解密结果(也称为明文或明文数据);密码芯片103计算该解密结果的校验码,并将该解密结果连同解密结果的校验码一起返回给加密机设备10的内置应用程序105。随后,加密机设备10的内置应用程序105计算该解密结果的校验码。
[0051] 接着,加密机设备10的内置应用程序105比较自己计算的校验码和接收到的校验码是否一致,如果一致,则认为在解密结果传输过程没有发生错误,解密结果是正确的,并将解密结果返回给用户,否则,直接返回错误信息。
[0052] 然后,内置应用程序105比较明文数据和该解密结果是否一致,如果一致,则表明该数据加密处理成功,正常结束程序,否则,表明数据加密处理失败,异常退出。
[0053] 下面结合图3对数据解密处理的流程进行详细说明。图3示出了根据本公开的实施例的解密运算可靠性提升的流程时序图。如图3所示,数据解密运算的过程包括解密过程和加密过程。
[0054] 下面参考图3对数据解密处理过程所涉及的解密过程进行详细说明。首先,用户向加密机设备10发起解密数据请求,将待解密数据(也称为密文或密文数据)作为参数传递给加密机设备10。然后,加密机设备10的内置应用程序105接收并解析用户请求,获得待解密数据。此后,加密机设备10的内置应用程序105计算待解密数据的校验码,将待解密数据和校验码一起经由密码芯片API传输给密码芯片103。
[0055] 密码芯片103接收到待解密数据和校验码之后,采用跟加密机设备10的内置应用程序105相同的算法计算密文数据的校验码,如果计算出来的校验码和接收到的校验码是一致的,则认为在待解密数据传输过程没有发生错误,可以进行密码运算,否则,直接返回错误信息。
[0056] 密码芯片103对待解密数据进行解密计算,得到解密结果(也称为明文或明文数据)。然后,密码芯片103计算解密结果的校验码,并将解密结果和解密结果校验码一起经由密码芯片API返回给加密机设备10的内置应用程序105。加密机设备10的内置应用程序105计算解密结果的校验码。
[0057] 接着,加密机设备10的内置应用程序105比较自己计算的校验码和接收到的校验码是否一致,如果一致,则认为在解密结果传输过程没有发生错误,该解密结果是正确的,并将该解密结果返回给用户,否则,直接返回错误信息。
[0058] 下面参考图3对数据解密处理过程所涉及的加密过程进行详细说明。首先,加密机设备10的内置应用程序105计算上述解密结果(也称为明文或明文数据)的校验码,将该解密结果作为待加密数据连同校验码一起经由密码芯片API发送给密码芯片103。
[0059] 接着,在密码芯片103接收到待加密数据和校验码之后,采用跟加密机设备10的内置应用程序105相同的算法计算待加密数据的校验码,如果计算出来的校验码和接收到的校验码是一致的,则认为在待加密数据传输过程没有发生错误,可以进行密码运算,否则,直接返回错误信息。
[0060] 然后,密码芯片103对待加密数据进行加密计算,得到加密结果(也称为密文或密文数据)。然后,密码芯片103计算该加密结果的校验码,并将该加密结果连同该加密结果校验码一起经由密码芯片API返回给加密机设备10的内置应用程序105。随后,加密机设备10的内置应用程序105计算该加密结果的校验码。
[0061] 接着,加密机设备10的内置应用程序105比较自己计算的校验码和接收到的校验码是否一致,如果一致,则认为在加密结果传输过程没有发生错误,该加密结果是正确的,并将该加密结果返回给用户,否则,直接返回错误信息。
[0062] 然后,内置应用程序105比较密文数据和该加密结果是否一致,如果一致,则表明该数据解密处理成功,正常结束程序,否则,表明数据解密处理失败,异常退出。
[0063] 图4是说明根据本公开的一个实施例的数据处理方法的各步骤的流程图。根据该实施例,提供了一种基于加密机设备10的数据处理方法,该加密机设备10包括密码芯片103,该数据处理方法具体包括如图4中所示的以下各步骤S210-S260。具体为,S210:响应于数据运算处理请求而获取待处理数据,并将待处理数据和待处理数据的传输前校验码发送给密码芯片103;S220:接收密码芯片103在确定待处理数据成功通过待处理数据传输完整性校验后根据数据运算处理请求对待处理数据执行预定运算所获得的运算结果和由密码芯片103计算得到的运算结果的第一传输前校验码;S230:在成功通过第一运算结果传输完整性校验后,将数据逆运算请求、运算结果和运算结果的第二传输前校验码发送给密码芯片;S240:接收密码芯片103在确定运算结果成功通过第二运算结果传输完整性校验后根据数据逆运算请求对运算结果执行预定运算的逆运算所获得的逆运算结果和由密码芯片103计算得到的逆运算结果的传输前校验码;S250:在成功通过逆运算结果传输完整性校验后,确定待处理数据与逆运算结果是否一致;S260:如果待处理数据与逆运算结果一致,则表明数据运算处理成功。
[0064] 根据一个优选实施例,待处理数据传输完整性校验包括将待处理数据的传输前校验码与利用与计算待处理数据的传输前校验码相同的校验算法计算得到的待处理数据的传输后校验码进行比较。
[0065] 根据另一个优选实施例,数据运算处理请求包括数据加密请求和数据解密请求。
[0066] 根据另一个优选实施例,第一运算结果传输完整性校验包括将运算结果的第一传输前校验码与利用与计算运算结果的传输前校验码相同的校验算法计算得到的运算结果的第一传输后校验码进行比较。
[0067] 根据又一个优选实施例,第二运算结果传输完整性校验包括将运算结果的第二传输前校验码与利用与计算运算结果的第二传输前校验码相同的校验算法计算得到的运算结果的第二传输后校验码进行比较。
[0068] 优选地,逆运算结果传输完整性校验包括将逆运算结果的传输前校验码与利用与计算逆运算结果的传输前校验码相同的校验算法计算得到的逆运算结果的传输后校验码进行比较。
[0069] 根据本发明的另一个实施例,提供了一种加密机设备10,该加密机设备10包括:密码芯片103,用于对待处理数据进行预定的数据运算处理;存储器101,其中存储有计算机程序指令;处理器102,计算机程序指令在由处理器102执行时实现上述各实施例中任一个实施例或及组合所限定的方法。
[0070] 图5是说明根据本公开另一个实施例的用户接口104侧的数据处理方法的各步骤的流程图。根据本发明的该实施例,提供了一种基于加密机设备10的数据处理方法,该数据处理方法包括如图5中所示的以下各步骤S310-S350。具体为,S310:用户向加密机设备10发送数据运算处理请求和待处理数据;S320:用户接收来自加密机设备10的对待处理数据进行了预定运算而得到的运算结果;S330:用户向加密机设备10发送数据逆运算请求和运算结果;S340:用户接收来自加密机设备10的对运算结果进行了预定运算的逆运算而得到的逆运算结果;S350:用户将待处理数据与逆运算结果进行比较,如果两者一致,则表明数据运算处理成功。
[0071] 图5所示的实施例说明了当用户通过用户接口104与加密机设备10的输出设备(例如,显示设备)进行交互时在用户接口侧实现的数据处理方法的流程。值得注意的是,在该实施例中,用户接口104通过API与加密机设备10的内置应用程序105可通信地耦合,并且数据传输完整性校验是由加密机设备10的内置应用程序105来完成的。
[0072] 根据本发明的上述各个实施例,考虑到数据传输的过程由于涉及到加密机设备的各个硬件而导致数据存在丢失、损坏或由于任何其他原因而不完整的可能性,以及密码芯片内部由于硬件的电气特性也导致存在程序或数据不稳定的情况,上述各个实施例提供的基于加密机的数据处理方法和加密机设备能够对密码芯片进行的数据运算处理以及加密机设备的数据传输过程的安全性和可靠性进行验证,从而确保获得准确的、正确的运算处理结果,及时发现和纠正在数据运算处理期间可能发生的各种错误和故障,有助于提升加密机进行数据运算处理的安全性和可靠性。
[0073] 本文所示的流程图提供了各种处理动作的序列的示例。尽管以特定的顺序或顺序示出,除非另有说明,可以修改动作的顺序。因此,所示出的实施例仅为示例的目的而提供,可以按不同的顺序执行处理,并且可以并行地执行一些处理。另外,在各种实施例中可以根据需要省略一个或多个步骤。
[0074] 本文描述的实施例的软件可以经由其中存储有软件内容的计算机可读存储介质或任何制品来提供,或者经由通信接口来提供。计算机可读存储介质可以使机器执行所描述的功能或操作,包括以计算设备能访问的形式存储程序模块或数据内容的任何机制,例如,只读存储器,随机存取存储器,磁盘存储介质,光盘存储介质,闪存设备等。通信接口包括与硬连线、无线、光学等介质中的任何一种接口以与另一设备通信的任何机制,例如存储器总线接口、处理器总线接口、因特网连接、磁盘控制器等。
[0075] 本文描述的各种组件可以是用于执行所描述的操作或功能的模块。本文描述的每个组件包括软件、硬件、固件或其组合。这些组件可以实现为软件模块、硬件模块、专用硬件(例如,专用集成电路、数字信号处理器等)、嵌入式控制器等。
[0076] 说明书中对于“一个实施例”、“实施例”、“各个实施例”等的提及表明所描述的实施例可以包括特定的特征或结构。而且,这些短语不一定是指同一实施例。此外,当结合一个实施例描述特定的特征或结构时,无论是否做出明确说明,都认为结合其他实施例实现这些特征或结构均在本领域技术人员的知识和能力范围内的。
[0077] 除了以上本文所描述的内容之外,可以在不脱离本公开的范围的情况下对本公开的各个实施例进行各种修改和变型。因此,这里的说明、示例以及各个实施例应理解为说明性的而不是限制性的。本公开的范围应仅由所附权利要求及其等同内容和布置来限定。