数据迁移方法及系统与流程

文档序号:17938475发布日期:2019-06-18 22:50阅读:335来源:国知局
数据迁移方法及系统与流程

本申请实施例涉及数据安全技术领域,尤其涉及数据迁移方法及系统。



背景技术:

通常情况下,为了防止密码类数据的泄露,一般都不会明文保存用户的密码,也不会保存密码的可逆密文,而是将密码的不可逆的hmac(密钥相关的哈希运算消息认证码,hash-basedmessageauthenticationcode)值作为密码校验数据保存。进一步地,还可以使用加密机对密码的多轮hmac值进行加密后作为密码校验数据保存。多轮hmac会使非法用户付出更多的算力。并且使用加密机加密会把多轮hmac值隐藏,使非法用户得不到对比原文,大幅提升了破解难度。

这种方案虽然可以大幅提升安全性,但也存在一些问题。例如当用户需要进行业务拆分时,可能需要使用到旧的密码校验数据,同时又需要使用一套新的加密机。但由于新的加密机和原有加密机中的业务密钥不一致,这样就会导致新的加密机无法正常解密和校验旧的密码校验数据。



技术实现要素:

有鉴于此,本申请实施例提供了一种数据迁移方法及系统,能够在确保安全性的同时实现加密机之间的数据迁移。

第一方面,本申请实施例提供了一种数据迁移方法,应用于加密机,该方法包括:迁移准备阶段:源加密机通过终端将由与源加密机匹配的第一管理员锁生成的密钥加密包发送给目标加密机,目标加密机将密钥加密包发送给与目标加密机匹配的第二管理员锁;接收到同步请求时,源加密机从第一管理员锁获取第一管理员锁基于密钥加密包中的临时密钥生成的第一密钥同步包,目标加密机从第二管理员锁获取第二管理员锁基于密钥加密包中的临时密钥生成的第二密钥同步包;数据迁移阶段:源加密机使用源业务密钥对从终端接收的原数据密文进行处理得到原数据后,使用基于第一密钥同步包获得的临时密钥,对原数据进行加密得到原数据临时密文,并通过终端发送给目标加密机;目标加密机使用基于第二密钥同步包获得的临时密钥,对原数据临时密文进行处理得到原数据后,使用目标业务密钥对原数据进行加密,并发送给终端。

在一些实施例中,临时密钥包括用于加解密的第一临时密钥和用于生成/验证原数据的校验码的第二临时密钥。

在一些实施例中,第一密钥同步包是通过使用第一共享密钥对临时密钥计算第一校验码后,使用第二共享密钥对临时密钥和第一校验码加密生成的;第二密钥同步包是通过使用第三共享密钥对临时密钥计算第二校验码后,使用第四共享密钥对临时密钥和第二校验码加密生成的。

在一些实施例中,在迁移准备阶段之前还包括迁移验证阶段:源加密机通过终端将第一管理员锁生成的第一请求包发送给云端,目标加密机通过终端将第二管理员锁生成的第二请求包发送给云端,并通过终端接收云端在对第一请求包和第二请求包进行验证并通过后返回的表示验证通过的信息。

在一些实施例中,第一请求包是基于第二请求包生成的,并且云端在对第一请求包和第二请求包进行验证包括验证第一请求包中是否包括第二请求包中的预定信息。

在一些实施例中,通过终端接收云端在对第一请求包和第二请求包进行验证并通过后返回的表示验证通过的信息,包括:源加密机通过终端接收云端返回的第一迁移命令包,并发送给第一管理员锁进行验证;目标加密机通过终端接收云端返回的第二迁移命令包,并发送给第二管理员锁进行验证。

在一些实施例中,对第一迁移命令包进行验证包括验证第一迁移命令包中是否包括第二管理员锁的标识;对第二迁移命令包进行验证包括验证第二迁移命令包中是否包括第一管理员锁的标识。

第二方面,本申请实施例提供了一种数据迁移系统,包括源加密机和目标加密机,其中,源加密机包括:第一处理模块,其配置为通过终端将由与源加密机匹配的第一管理员锁生成的密钥加密包发送给目标加密机,以及接收到同步请求时从第一管理员锁获取第一管理员锁基于密钥加密包中的临时密钥生成的第一密钥同步包;第一加密模块,其配置为使用源业务密钥对从终端接收的原数据密文进行处理得到原数据后,使用基于第一密钥同步包获得的临时密钥对原数据进行加密得到原数据临时密文并通过第一处理模块发送给终端;目标加密机包括:第二处理模块,其配置为将密钥加密包发送给与目标加密机匹配的第二管理员锁,以及接收到同步请求时从第二管理员锁获取第二管理员锁基于密钥加密包中的临时密钥生成的第二密钥同步包;第二加密模块,其配置为使用基于第二密钥同步包获得的临时密钥对从终端接收到的原数据临时密文进行处理得到原数据后,使用目标业务密钥对原数据进行加密并通过第二处理模块发送给终端。

第三方面,本申请实施例提供了一种数据迁移系统,包括源加密机和目标加密机,其中,源加密机包括:第一处理器;第一存储装置,其上存储有计算机程序,该计算机程序当由第一处理器运行时能够实现如上述第一方面中任一实施例所描述的数据迁移方法中由源加密机实现的处理;目标加密机包括:第二处理器;第二存储装置,其上存储有计算机程序,该计算机程序当由第二处理器运行时能够实现如上述第一方面中任一实施例所描述的数据迁移方法中由目标加密机实现的处理。

第四方面,本申请实施例提供了一种计算机可读介质,其上存储有第一计算机程序和第二计算机程序,第一计算机程序被处理器执行时能够实现如上述第一方面中任一实施例所描述的数据迁移方法中由源加密机实现的处理,第二计算机程序被处理器执行时能够实现如上述第一方面中任一实施例所描述的数据迁移方法中由目标加密机实现的处理。

本申请实施例提供的数据迁移方法及系统,可以将加密机之间的数据进行安全迁移。即通过在迁移准备阶段进行临时密钥的同步,进而在数据迁移阶段,可以将源加密机使用源业务密钥处理后的原数据密文,经过临时密钥加密传给目标加密机。这样,目标加密机同样可以利用临时密钥进行处理,并使用目标业务密钥进行重新加密,从而此后可以使用目标加密机实现加解密等业务功能。

附图说明

通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本申请的其它特征、目的和优点将会变得更明显:

图1为本申请提供的数据迁移方法的一个实施例的流程示意图;

图2为本申请提供的数据迁移方法的又一个实施例的流程示意图;

图3为本申请提供的数据迁移系统的一个实施例的结构示意图;

图4为本申请提供的数据迁移系统的一个实施例的证书体系结构示意图。

具体实施方式

下面结合附图和实施例对本申请作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释相关发明,而非对该发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与有关发明相关的部分。

需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。

请参见图1,其示出了本申请提供的数据迁移方法的一个实施例的流程示意图。该数据迁移方法可以应用于加密机,包括以下步骤:

步骤101,源加密机通过终端将由与源加密机匹配的第一管理员锁生成的密钥加密包发送给目标加密机。

在本实施例中,为了实现不同加密机之间数据的安全迁移,在迁移准备阶段,与源加密机匹配的第一管理员锁可以生成密钥加密包。这样,源加密机可以通过终端将该密钥加密包发送给目标加密机。其中,密钥加密包中可以包括临时密钥。这里的临时密钥可以用于对不同加密机(即源加密机和目标加密机)之间所需迁移的数据进行加密和解密,从而有助于提高数据迁移的安全性。

在本实施例中,源加密机通常是指用户现有或更换前所使用的加密机,如旧加密机。而目标加密机通常是指用户新增或更换后所使用的加密机,如新加密机。并且每个加密机配备有与之对应的管理员锁,且为不同业务的加密机配备的管理员锁不同。需要说明的是,这里的源加密机中使用的业务密钥一般与目标加密机中使用的业务密钥不同。

需要说明的是,加密机通常只负责进行一些密码学运算处理,并不存储处理后的数据。而处理后的数据一般会存储在数据库服务器上。因此,通过终端可以实现数据库服务器中数据的读取与写入,并可以实现源加密机与目标加密机的间接通信连接。

可以理解的是,上述临时密钥可以是各种加解密方法所使用的密钥。例如临时密钥可以包括对称密钥。作为另一示例,临时密钥可以包括用于加解密的第一临时密钥和用于生成/验证原数据的校验码的第二临时密钥。

步骤102,目标加密机将密钥加密包发送给与目标加密机匹配的第二管理员锁。

在本实施例中,目标加密机在通过终端接收到源加密机发送的密钥加密包时,可以将其发送给与目标加密机匹配的第二管理员锁。这样,可以将密钥加密包中的临时密钥保存在第二管理员锁的内存中。

在一些可选的实现方式中,加密机(的加密模块中)在出厂之前可以预设有密钥和/或证书,如根证书、设备ca(certificateauthority,电子商务认证授权机构)证书、加密机私钥、加密机公钥证书、软件ca证书等。其中,加密机私钥与加密机公钥证书中的公钥可以是一对rsa(公钥加密算法)密钥对。同时,管理员锁在出厂之前也可以预设有密钥和/或证书,如根证书、设备ca证书、管理员锁私钥、管理员锁公钥证书、软件ca证书等。其中,管理员锁私钥与管理员锁公钥证书中的公钥也可以是一对rsa密钥对。

可选地,为了提高密钥加密包传输的安全性,第一管理员锁还可以使用第一管理员锁私钥对生成的密钥加密包进行签名。此时,第二管理员锁在获取到第一管理员锁公钥证书的情况下,例如源加密机通过终端将密钥加密包和第一管理员锁公钥证书发送给目标加密机后,第二管理员锁可以使用第一管理员锁公钥证书来验证密钥加密包的签名。

进一步地,为了提高密钥加密包传输的安全性,在第一管理员锁获取到第二管理员锁公钥证书的情况下,例如目标加密机通过终端将其发送给源加密机后,第一管理员锁还可以再用第二管理员锁公钥证书对临时密钥加密来生成密钥加密包。此时,第二管理员锁可以使用第二管理员锁私钥解密密钥加密包,以及可以用第一管理员锁公钥证书来验证密钥加密包的签名。

步骤103,接收到同步请求时,源加密机从第一管理员锁获取第一管理员锁基于密钥加密包中的临时密钥生成的第一密钥同步包,目标加密机从第二管理员锁获取第二管理员锁基于密钥加密包中的临时密钥生成的第二密钥同步包。

在本实施例中,在接收到同步请求时,第一管理员锁可以基于密钥加密包中的临时密钥,来生成第一密钥同步包。例如第一管理员锁可以直接将临时密钥封装为第一密钥同步包;或者可以用源加密机公钥证书对临时密钥加密生成第一密钥同步包;再或者可以用与源加密机共用的对称密钥对临时密钥加密生成第一密钥同步包。同时,第二管理员锁也可以基于密钥加密包中临时密钥,来生成第二密钥同步包。例如第二管理员锁直接将临时密钥封装为第二密钥同步包;或者可以用目标加密机公钥证书对临时密钥加密生成第二密钥同步包;再或者可以用与目标加密机共用的对称密钥对临时密钥加密生成第二密钥同步包。此时,源加密机可以从第一管理员锁获取第一密钥同步包,从而可以将其中的临时密钥保存在内存中。并且目标加密机可以从第二管理员锁获取第二密钥同步包,从而可以将其中的临时密钥保存在内存中。这样可以使源加密机和目标加密机更加安全地获得相同的临时密钥。

需要说明的是,上述同步请求可以是同时发送给源加密机和目标加密机的。例如,在第二管理员锁将临时密钥保存在内存中时,终端可以同时向源加密机和目标加密机发送同步请求。作为示例,上述同步请求也可以是依次发送给两者的。例如,在第二管理员锁将临时密钥保存在内存中时,目标加密机可以向终端发送同步请求,以用于请求源加密机同步密钥。这样,终端可以先向源加密机发送同步请求。之后,源加密机在将临时密钥保存在内存中时,也可以向终端发送同步请求,以用于请求目标加密机同步密钥。这样,终端可以再向目标加密机发送同步请求。又例如,在第二管理员锁将临时密钥保存在内存中的情况下,终端可以先向目标加密机发送同步请求。在目标加密机将临时密钥保存在内存中的情况下,终端可以再向源加密机发送同步请求。同步请求的具体发送流程在本申请中并不限制。

通常情况下,加密机与对应匹配的管理员锁中一般会有一些相同的核心数据。核心数据如可以包括(但不限于)以下至少一项:keyseed,用于产生应用密钥的种子码;kseed,用于产生kenc和kmac的种子码,等等。其中,kenc是加密机和管理员锁共享的用于加解密的对称密钥;kmac是加密机和管理员锁共享的用于计算校验码(mac,messageauthenticationcodes)的密钥。

在一些实施例中,为了进一步提高临时密钥的传输安全性,第一管理员锁可以先使用第一共享密钥对临时密钥计算第一校验码。然后,可以再使用第二共享密钥对临时密钥和第一校验码进行加密,从而生成第一密钥同步包。其中,第一共享密钥、第二共享密钥可以分别为源加密机和第一管理员锁共享的kmac、kenc。这样,源加密机在获取到第一密钥同步包时,可以先使用第二共享密钥进行解密,之后可以再使用第一共享密钥校验第一校验码。

可选地,第二管理员锁同样可以使用上述方法来生成第二密钥同步包。即先使用第三共享密钥对临时密钥计算第二校验码。然后,再使用第四共享密钥对临时密钥和第二校验码进行加密,从而生成第二密钥同步包。其中,第三共享密钥、第四共享密钥可以分别为目标加密机和第二管理员锁共享的kmac、kenc。这样,目标加密机在获取到第二密钥同步包时,可以先使用第四共享密钥进行解密,之后可以再使用第三共享密钥校验第二校验码。

步骤104,源加密机使用源业务密钥对从终端接收的原数据密文进行处理得到原数据后,使用基于第一密钥同步包获得的临时密钥,对原数据进行加密得到原数据临时密文,并通过终端发送给目标加密机。

在本实施例中,在完成迁移准备阶段之后,源加密机和目标加密机之间可以进行数据迁移。在数据迁移阶段,终端可以将获取的原数据密文发送给源加密机。这样,源加密机可以使用源业务密钥对原数据密文进行解密和/或校验等处理,从而得到原数据。接着,源加密机可以使用基于第一密钥同步包获得的临时密钥,对原数据进行加密,以得到原数据临时密文。并且源加密机可以通过终端将其发送给目标加密机。这样可以有助于提高原数据迁移的安全性,降低数据泄露的风险。

需要说明的是,这里的原数据可以是各种密码类数据,如可以包括(但不限于)密码、口令、hmac值等等。原数据密文可以是经源加密机对原数据进行处理得到的、且需要进行迁移的数据。由于原数据密文往往只能被源加密机解密和/或校验,因此,终端需要先将其发送至源加密机进行处理。

可选地,若临时密钥可以包括用于加解密的第一临时密钥和用于生成/验证原数据的校验码的第二临时密钥,则此时源加密机可以先使用第二临时密钥生成原数据的校验码。之后,可以使用第一临时密钥对原数据和原数据的校验码进行加密,从而得到原数据临时密文。这样可以有助于进一步提高原数据临时密文的安全性。

步骤105,目标加密机使用基于第二密钥同步包获得的临时密钥,对原数据临时密文进行处理得到原数据后,使用目标业务密钥对原数据进行加密,并发送给终端。

在本实施例中,由于源加密机和目标加密机中均存储有相同的临时密钥,因此目标加密机在接收到终端发送的原数据临时密文时,可以使用基于第二密钥同步包获得的临时密钥,对原数据临时密文进行解密等处理,从而得到原数据。接着,目标加密机可以使用目标业务密钥对原数据进行签名和/或加密等处理。并且目标加密机可以将处理后的原数据再次发送给终端。这样终端可以对该数据进行存储,或者将该数据发送至数据库服务器进行存储。之后,目标加密机便可以对处理后的原数据进行解密和/或校验等处理。

需要说明的是,这里的存储方式在本申请中并不限制。例如可以将目标加密机处理后的原数据替换原数据密文。或者也可以将目标加密机处理后的原数据存储在与原数据密文的存储位置不同的位置。

可选地,若临时密钥可以包括用于加解密的第一临时密钥和用于生成/验证原数据的校验码的第二临时密钥,则此时目标加密机可以使用第一临时密钥对原数据临时密文进行解密,得到原数据和原数据的校验码。之后,可以使用第二临时密钥对原数据的校验码进行验证。

本实施例提供的数据迁移方法,可以将不同加密机之间的数据进行安全迁移。即通过在迁移准备阶段进行临时密钥的同步。进而在数据迁移阶段,可以将源加密机使用源业务密钥处理后的原数据密文,经过临时密钥加密传给目标加密机。这样,目标加密机同样可以利用临时密钥进行处理,并使用目标业务密钥进行重新加密,从而此后可以使用目标加密机实现加解密等业务功能。

需要说明的是,由于源加密机和目标加密机往往属于同一用户,因此两者之间通常可以通过用户的终端来直接进行通信连接。在一些应用场景中,源加密机与目标加密机进行通信之前,还需要经过第三方(如厂商所提供的云端管理服务)验证。

继续参见图2,其示出了本申请提供的数据迁移方法的又一个实施例的流程图。该数据迁移方法在迁移准备阶段之前,还可以包括迁移验证阶段。具体可以包括以下步骤:

步骤201,源加密机通过终端将第一管理员锁生成的第一请求包发送给云端。

在本实施例中,当需要进行加密机的数据迁移时,相关加密机首先会进入迁移验证阶段。此时,与源加密机匹配的第一管理员锁可以生成第一请求包。这样,源加密机可以通过终端将该第一请求包发送给云端。这里的第一请求包可以是用于云端对源加密机进行验证的数据包,其中可以包括(但不限于)以下至少一项:用户标识、设备(源加密机)标识、第一管理员锁标识等等。

作为示例,用户可以通过终端向源加密机发起数据迁移请求。此时,源加密机可以检查是否与第一管理员锁连接(如第一管理员锁是否插入)。且在连接的情况下,可以认证第一管理员锁。认证通过后可以将获取的设备(源加密机)标识发送给第一管理员锁。加密机设备内部可设置有设备识别模块(一种加密芯片),用于存放一些不可篡改的重要数据,如加密机自身的设备标识。

在一些实施例中,第一管理员锁还可以使用第一管理员锁私钥对第一请求包进行签名。此时,源加密机可以将第一请求包和第一管理员锁公钥证书,通过终端发送给云端。

步骤202,目标加密机通过终端将第二管理员锁生成的第二请求包发送给云端。

在本实施例中,在进入迁移验证阶段后,第二管理员锁可以生成第二请求包。这样,目标加密机可以通过终端将该第二请求包发送给云端。这里的第二请求包可以是用于云端对目标加密机进行验证的数据包,其中可以包括(但不限于)以下至少一项:用户标识、设备(目标加密机)标识、第二管理员锁标识等等。

作为示例,用户可以通过终端向目标加密机发起数据迁移请求。此时,目标加密机可以检查是否与第二管理员锁连接(如第二管理员锁是否插入)。且在连接的情况下,可以认证第二管理员锁。认证通过后可以将从设备识别模块中获取的设备(目标加密机)标识发送给第二管理员锁。

可选地,第二管理员锁还可以使用第二管理员锁私钥对第二请求包进行签名。此时,目标加密机可以将第二请求包和第二管理员锁公钥证书,通过终端发送给云端。

需要说明的是,上述数据迁移请求可以是用户通过终端同时向源加密机和目标加密机发起的;也可以是依次分别向两者发起。例如终端可以先向目标加密机发起数据迁移请求。且在终端接收到第二请求包的情况下,可以再向源加密机发起数据迁移请求。又例如反之,即终端可以先向源加密机发起数据迁移请求。且在终端接收到第一请求包的情况下,可以再向目标加密机发起数据迁移请求。

步骤203,通过终端接收云端在对第一请求包和第二请求包进行验证并通过后返回的表示验证通过的信息。

在本实施例中,云端可以对第一请求包和第二请求包进行验证。并且在验证通过后,云端可以向终端返回表示验证通过的信息。此时,终端可以将该信息发送给源加密机和目标加密机。这样,源加密机和目标加密机可以通过终端接收表示验证通过的信息。也就是说,云端验证源加密机和目标加密机通过,两者可以进入迁移准备阶段。

可以理解的是,上述验证方式在本申请中并不限制。例如,云端可以利用第一、第二管理员锁公钥证书分别验证第一、第二请求包的签名。

在一些实施例中,第一请求包还可以是基于第二请求包生成的。例如,终端可以先向目标加密机发起数据迁移请求。且在接收到第二请求包的情况下,可以将第二请求包同时发送给云端和源加密机;或者可以将第二请求包仅发送给源加密机。此时,第一管理员锁可以对第二请求包进行解析,从而生成包含第二请求包中预定信息的第一请求包。其中,预设信息可以是第二请求包中的至少一项内容,如目标加密机标识、第二管理员锁标识等等。

在终端接收到第一请求包的情况下,可以将第一请求包发送给云端;或者可以将第一、第二请求包同时发送给云端。当云端接收到第一、第二请求包时,可以验证第一请求包中是否包括第二请求包中的预定信息。如果包括,则可以说明验证通过。

可选地,第二请求包也可以是基于第一请求包生成。具体生成过程可以参见上述第一请求包的生成过程,此处不再赘述。此时,云端可以验证第二请求包中是否包括第一请求包中的预定信息。如果包括,则可以说明验证通过。

进一步地,上述表示验证通过的信息可以包括第一迁移命令包和第二迁移命令包。也就是说,云端在验证第一、第二请求包通过的情况下,可以生成第一、第二迁移命令包。并可以通过终端分别发送给源加密机和目标加密机。进而,源加密机可以将第一迁移命令包发送给第一管理员锁进行验证。而且目标加密机可以将第二迁移命令包发送给第二管理员锁进行验证。

例如,云端可以根据第一、第二请求包的内容,来分别生成第一、第二迁移命令包。此时,第一管理员锁可以验证第一迁移命令包中的内容是否与源加密机和/或第一管理员锁的信息相同。第二管理员锁可以验证第二迁移命令包中的内容是否与目标加密机和/或第二管理员锁的信息相同。如果相同,可以说明验证通过。

又例如,云端可以根据第二请求包来生成第一迁移命令包。并可以根据第一请求包来生成第二迁移命令包。再例如,云端还可以生成同时包含第一、第二请求包的至少部分内容的第一、第二迁移命令包。作为示例,第一迁移命令包中可以包括(但不限于)目标加密机标识、第二管理员锁标识等等。而第二迁移命令包中可以包括(但不限于)源加密机标识、第一管理员锁标识等等。此时,第一管理员锁可以验证第一迁移命令包中是否包括目标加密机和/或第二管理员锁的相关信息。例如可以验证第一迁移命令包中的管理员锁标识是否与第二管理员锁公钥证书中的管理员锁标识相同。而第二管理员锁可以验证第二迁移命令包中是否包括源加密机和/或第一管理员锁的相关信息。例如可以验证第二迁移命令包中的管理员锁标识是否与第一管理员锁公钥证书中的管理员锁标识相同。

在本申请实施例中,厂商云端管理服务也可以同时持有根证书、软件ca证书等。其中,厂商云端管理服务私钥和厂商云端管理服务公钥证书中的公钥也可以是一对rsa密钥对。在这里,为了提高云端与终端、加密机之间通信的安全性,降低信息泄露的风险,云端可以先使用云端管理服务私钥对第一迁移命令包进行签名,再利用第一管理员锁公钥证书进行加密。同时,云端可以使用云端管理服务私钥对第二迁移命令包进行签名,再利用第二管理员锁公钥证书进行加密。

需要说明的是,对于上述各实施例中的数据迁移方法,在利用公钥证书验证签名之前,可以先根据根公钥来验证各公钥证书,从而确保公钥证书的准确性和真实性。

本实施例提供的数据迁移方法,通过增加迁移验证过程,可以进一步丰富和完善该方法,有利于扩大方法的适用范围。

本申请还提供了一种数据迁移系统。该数据迁移系统可以包括源加密机和目标加密机。参见图3,其示出了本申请提供的数据迁移系统的一个实施例的结构示意图。

如图3所示,源加密机31可以包括第一处理模块311和第一加密模块312。在这里,第一处理模块311可以配置为通过终端将由与源加密机匹配的第一管理员锁生成的密钥加密包发送给目标加密机,以及接收到同步请求时,从第一管理员锁获取第一管理员锁基于密钥加密包中的临时密钥生成的第一密钥同步包。第一加密模块312可以配置为使用源业务密钥,对从终端接收的原数据密文进行处理得到原数据后,使用基于第一密钥同步包获得的临时密钥,对原数据进行加密得到原数据临时密文,并通过第一处理模块发送给终端。

从图3中可以看出,目标加密机32可以包括第二处理模块321和第二加密模块322。在这里,第二处理模块321可以配置为将密钥加密包发送给与目标加密机匹配的第二管理员锁,以及接收到同步请求时,从第二管理员锁获取第二管理员锁基于密钥加密包中的临时密钥生成的第二密钥同步包。第二加密模块322可以配置为使用基于第二密钥同步包获得的临时密钥,对从终端接收到的原数据临时密文进行处理得到原数据后,使用目标业务密钥对原数据进行加密,并通过第二处理模块发送给终端。

其中,这些模块的名称在某种情况下并不构成对该模块本身的限定。例如,第一处理模块还可以被描述为“通过终端将由与源加密机匹配的第一管理员锁生成的密钥加密包发送给目标加密机,以及接收到同步请求时从第一管理员锁获取第一管理员锁基于密钥加密包中的临时密钥生成的第一密钥同步包的模块”。

可以理解的是,该系统中记载的诸模块与参考图1至图2描述的方法中的各个步骤相对应。由此,上文针对方法描述的操作、特征以及产生的有益效果同样适用于该系统及其中包含的模块,在此不再赘述。

需要说明的是,加密机中的加密模块在出厂前可以预置有:根证书、设备ca证书、加密模块私钥、加密模块公钥证书、软件ca证书、厂商云端管理服务公钥证书等。管理员锁在出厂前可以预置有:根证书、设备ca证书、管理员锁私钥、管理员锁公钥证书、软件ca证书、厂商云端管理服务公钥证书等。此外,属于同一组的加密模块和管理员锁内应有相同的以下密钥和数据:keyseed、kseed、kenc、kmac、用户标识、加密模块分组标识等。可以参见图4,其示出了数据迁移系统的一个实施例的证书体系结构示意图。

由图4可知,证书体系中的每一条链路都可以组成一个有效的证书链。例如根ca证书、设备ca证书和管理员锁公钥证书可以组成管理员锁公钥证书链。

可以理解的是,附图中的流程图和框图,图示了按照本申请各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。

描述于本申请实施例中所涉及到的模块可以通过图3所示的硬件的方式实现,也可以通过软件的方式来实现。如加密机可以包括第一处理器和第一存储装置。第一存储装置上可存储有计算机程序,该计算机程序当由第一处理器运行时能够实现如图1-2所示的实施例中由源加密机实现的处理。又如目标加密机可以包括第二处理器和第二存储装置。第二存储装置上可存储有计算机程序,该计算机程序当由第二处理器运行时能够实现如图1-2所示的实施例中由目标加密机实现的处理。

作为另一方面,本申请还提供了一种计算机可读介质。这里的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。该计算机可读介质可以是上述各实施例中描述的源加密机和目标加密机中所包含的;也可以是单独存在,而未装配入源加密机和目标加密机中。上述计算机可读介质承载有第一计算机程序和第二计算机程序。当第一计算机程序被处理器执行时,使得源加密机可以实现如上述任一实施例所描述的数据迁移方法中由源加密机实现的处理。当第二计算机程序被处理器执行时,使得目标加密机可以实现如上述任一实施例所描述的数据迁移方法中由目标加密机实现的处理。

以上描述仅为本申请的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本申请中所涉及的发明范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离上述发明构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本申请中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1