密钥处理方法、装置及电子装置与流程

文档序号:27143204发布日期:2021-10-30 01:01阅读:85来源:国知局
1.本技术涉及信息安全
技术领域
:,具体而言,涉及一种密钥处理方法、装置及电子装置。
背景技术
::2.在当今信息时代,对信息进行加密十分重要,关系到个人、公司、国家的信息安全。目前对信息进行加密的方式通常为:通过加密密钥对原始数据进行加密,得到加密数据,通过解密密钥对加密数据进行解密,从而读取数据内容。3.需要说明的是,对于数据量较大的数据,或存在较为复杂的加解密需求的数据,对密码运算的算力的需求不同,也即,在不同的场景下,对密码运算的算力的需求是动态变化的。在相关技术中,可以通过负载器同时对多台加密设备进行调用,以充分利用密码运算的算力,从而满足不同场景下对密码运算的算力的需求。4.需要说明的是,通过负载器同时对多台加密设备进行调用时,若将某一台加密设备的密钥进行变更,则需要对负载器连接的其他加密设备进行密钥同步,才能使得多个加密设备用相同的密钥完成同一加解密任务。例如,可以手动对该设备的密钥进行备份,并对其他加密设备进行手动配置,使得多个加密设备的密钥实现同步变更,但是,手动同步密钥的方式繁琐、且效率低。为了提高同步密钥的效率,相关技术中还出现了在服务端增加密钥管理系统的方案,通过密钥管理系统同步密钥,但是,增加额外的系统并进行相应的配置,增加了系统的复杂度、且成本较高。5.此外,还需要说明的是,由于密钥同步和加解密任务是相互独立的任务,通过相关技术中的方案进行密钥同步时,若用户在进行密钥同步期间使用密钥进行密码运算,则未完成密钥同步的密码机设备执行密码运算时会产生错误。6.针对相关技术中对多台密码机进行密钥同步时操作繁琐、效率低,且密码机在密钥同步期间执行密码运算时,容易产生运算错误的问题,目前尚未提出有效的解决方案。技术实现要素:7.本技术提供一种密钥处理方法、装置及电子装置,以解决相关技术中对多台密码机进行密钥同步时操作繁琐、效率低,且密码机在密钥同步期间执行密码运算时,容易产生运算错误的问题。8.根据本技术的一个方面,提供了一种密钥处理方法。该方法包括:获取客户端发送的数据和负载器自身输出的数据,并对获取到的数据进行解析,其中,负载器用于协调多个密码机执行客户端指示的密码操作;在从获取到的数据中解析得到密钥指令的情况下,将密钥指令中的密钥操作指令添加至消息队列中,并从消息队列中获取密钥操作指令以对多个密码机执行密钥同步;在队列中存在密钥操作指令的情况下,若从获取到的数据中解析得到密码运算指令,则拦截密码运算指令,并在多个密码机完成密钥同步且消息队列释放密钥操作指令之后,向多个密码机发送密码运算指令,以使多个密码机采用相同的密钥对待处理数据执行密码运算。9.可选地,在获取客户端发送的数据和负载器自身输出的数据,并对获取到的数据进行解析之后,该方法还包括:在从获取到的数据中解析得到密钥指令的情况下,将密钥指令中的密钥生成指令按照预设规则发送至目标密码机,其中,目标密码机为多个密码机中的密码机,目标密码机用于生成密钥;向目标密码机发送密钥导出指令,并在导出已生成密钥的情况下,向多个密码机中除目标密码机之外的密码机发送密钥导入指令。10.可选地,在从获取到的数据中解析得到密钥指令的情况下,将密钥指令中的密钥生成指令按照预设规则发送至目标密码机包括:获取各个密码机的运行状态信息,并获取运行状态信息满足预设条件的密码机,得到至少一个候选密码机,其中,预设条件至少为以下之一:密码机的输入数据和输出数据的时间差小于预设时长,密码机执行密码运算所占用的带宽小于预设带宽;将密钥生成指令随机发送至候选密码机中的一个密码机,或将密钥生成指令按照预设顺序发送至候选密码机中的一个密码机。11.可选地,在从获取到的数据中解析得到密钥指令的情况下,将密钥指令中的密钥操作指令添加至消息队列中包括:在密钥操作指令为客户端发送的密钥导入指令或密钥删除指令的情况下,将密钥操作指令加入第一队列;在密钥操作指令为密钥导出指令的情况下,将密钥操作指令加入第二队列,其中,密钥导出指令用于指示导出多个密码机中的目标密码机所生成的密钥;在密钥操作指令为负载器发送的密钥导入的情况下,将密钥操作指令加入第三队列,其中,负载器发送的密钥导入用于指示将已生成的密钥导入多个密码机中目标密码机之外的密码机。12.可选地,从消息队列中获取密钥操作指令以对多个密码机执行密钥同步包括:从第一队列中获取密钥操作指令,将获取到的密钥操作指令发送至预设列表中的各个密码机,以基于获取到的密钥操作指令的内容对每个密码机中的密钥执行对应的密钥操作,其中,预设列表中存储有多个密码机的地址信息;从第二队列中获取密钥操作指令,并将获取到的密钥操作指令发送至目标密码机;从第三队列中获取密钥操作指令,并将获取到的密钥操作指令发送至预设列表中目标密码机以外的各个密码机。13.可选地,在从获取到的数据中解析得到密钥指令的情况下,将密钥指令中的密钥操作指令添加至消息队列中包括:在密钥操作指令为客户端发送的密钥导入指令、密钥删除指令或负载器发送的密钥导入指令的情况下,将密钥操作指令加入目标队列。14.可选地,从消息队列中获取密钥操作指令以对多个密码机执行密钥同步包括:从目标队列中获取密钥操作指令,将获取到的密钥操作指令发送至预设列表中的各个密码机,以基于获取到的密钥操作指令的内容对每个密码机中的密钥执行对应的密钥操作,其中,预设列表中存储有多个密码机的地址信息。15.可选地,在多个密码机完成密钥同步且消息队列释放密钥操作指令之后,向多个密码机发送密码运算指令,以使多个密码机采用相同的密钥对待处理数据执行密码运算包括:将密码运算指令发送至多个密码机,将待处理数据分割为多个数据包,并将多个数据包发送至多个密码机;接收各个密码机基于密码运算指令对数据包执行处理后的数据包,得到多个目标数据包,并将多个目标数据包合并后发送至客户端。16.根据本技术的另一方面,提供了一种密钥处理装置。该装置包括:第一获取单元,用于获取客户端发送的数据和负载器自身输出的数据,并对获取到的数据进行解析,其中,负载器用于协调多个密码机执行客户端指示的密码操作;第一执行单元,用于在从获取到的数据中解析得到密钥指令的情况下,将密钥指令中的密钥操作指令添加至消息队列中,并从消息队列中获取密钥操作指令以对多个密码机执行密钥同步;第二执行单元,用于在队列中存在密钥操作指令的情况下,若从获取到的数据中解析得到密码运算指令,则拦截密码运算指令,并在多个密码机完成密钥同步且消息队列释放密钥操作指令之后,向多个密码机发送密码运算指令,以使多个密码机采用相同的密钥对待处理数据执行密码运算。17.根据本发明实施例的另一方面,还提供了一种电子装置,包含处理器和存储器;存储器中存储有计算机可读指令,处理器用于运行计算机可读指令,其中,计算机可读指令运行时执行一种密钥处理方法。18.通过本技术,采用以下步骤:获取客户端发送的数据和负载器自身输出的数据,并对获取到的数据进行解析,其中,负载器用于协调多个密码机执行客户端指示的密码操作;在从获取到的数据中解析得到密钥指令的情况下,将密钥指令中的密钥操作指令添加至消息队列中,并从消息队列中获取密钥操作指令以对多个密码机执行密钥同步;在队列中存在密钥操作指令的情况下,若从获取到的数据中解析得到密码运算指令,则拦截密码运算指令,并在多个密码机完成密钥同步且消息队列释放密钥操作指令之后,向多个密码机发送密码运算指令,以使多个密码机采用相同的密钥对待处理数据执行密码运算。解决了相关技术中对多台密码机进行密钥同步时操作繁琐、效率低,且密码机在密钥同步期间执行密码运算时,容易产生运算错误的问题。通过负载器拦截密钥操作指令和密码运算指令,先同步密钥操作指令再执行密码运算指令,进而达到了提高密钥同步的效率、同时提高密钥同步过程中密码运算的准确率的效果。附图说明19.构成本技术的一部分的附图用来提供对本技术的进一步理解,本技术的示意性实施例及其说明用于解释本技术,并不构成对本技术的不当限定。在附图中:图1是根据本技术实施例提供的一种密钥处理方法的流程图;图2是根据本技术实施例提供的一种可选的密钥处理系统的示意图;图3是根据本技术实施例提供的一种密钥处理装置的示意图。具体实施方式20.需要说明的是,在不冲突的情况下,本技术中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本技术。21.为了使本
技术领域
:的人员更好地理解本技术方案,下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本技术一部分的实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本技术保护的范围。22.需要说明的是,本技术的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本技术的实施例。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。23.根据本技术的实施例,提供了一种密钥处理方法。图1是根据本技术实施例的密钥处理方法的流程图。如图1所示,该方法包括以下步骤:步骤s101,获取客户端发送的数据和负载器自身输出的数据,并对获取到的数据进行解析,其中,负载器用于协调多个密码机执行客户端指示的密码操作。24.具体的,可以通过负载器获取客户端发送的数据和负载器自身输出的数据。25.其中,客户端发送的数据为用户通过客户端向密码机发送的数据,可以包括用于指示生成密钥的数据(密钥生成指令)、用于指示添加密钥的数据(密钥导入指令)、用于指示删除密钥的数据(密钥删除指令)、待执行密码操作的数据,负载器可以获取客户端的输出数据并发送给密码机。26.其中,负载器自身输出的数据可以包括用于指示导出密钥的数据(密钥导出指令),具体地,在负载器将密钥生成指令发送给一个密码机,并接收到密码机生成密钥的反馈消息后,负载器生成密钥导出指令。27.需要说明的是,负载器作为客户端与多个密码机之间的数据交互设备,用于协调多个密码机执行客户端指示的密码操作,具体可以包括加密、解密、签名、验签、生成随机数、hash运算等密码操作,在协调多个密码机执行客户端指示的密码操作的同时,可以通过执行预设脚本来过滤获取到的输出数据,从而进行数据筛选,其中,预设脚本可以通过iptable语句(静态防火墙语句)进行编写,预设脚本中的脚本内容包括数据过滤规则,数据过滤规则中可以指示待过滤的数据的类型或内容。28.具体地,预设脚本接收客户端的输出数据和负载器的输出数据时,制定分包策略,将数据分为多个包,开启分包数对应的线程数对数据进行处理,例如,将客户端的输出数据分为3包,将负载器的输出数据也分为3包,开启6个线程对数据进行接收与处理,提高数据处理效率。29.进一步的,在获取客户端的输出数据和负载器的输出数据后,可以通过编写两个独立的回调函数对不同来源的输出数据进行处理,一方面可以避免数据堵塞,另一方面还可以避免不同来源的输出数据的混淆,例如,可以避免客户端发出的导入指令和负载器发出的导入指令的混淆。30.步骤s102,在从获取到的数据中解析得到密钥指令的情况下,将密钥指令中的密钥操作指令添加至消息队列中,并从消息队列中获取密钥操作指令以对多个密码机执行密钥同步。31.具体的,可以在载负载器中安装netfilter_queue组件,通过加载netfilter_queue组件对客户端的输出数据和负载器自身的输出数据进行解析,并将解析得到的密钥指令中的密钥操作指令按照类型和顺序放入队列中,同时将解析得到的密码运算指令存储在缓存区中。32.需要说明的是,密钥指令包括密钥生成指令或用于指示对密钥执行操作的密钥操作指令。其中,密钥生成指令用于指示一个密码机生成密钥,并将密钥存储在密码机的密码卡中,密钥可以为对称密钥和非对称密钥,对称密钥是指加密与解密的密钥为相同的密钥,非对称密钥是指加密与解密的密钥不相同,但是两种密钥之间存在对应关系。密钥操作指令可以包括客户端发送的密钥导入指令、密钥删除指令以及负载器发出的密钥导出指令,客户端发送的密钥导入指令用于指示在密码机中添加密钥,密钥删除指令用于指示删除密码机中已有的密钥,密钥导出指令用于指示将密码机生成的密钥导出。33.具体地,本实施例将密钥操作指令添加至消息队列中,在对多个密码机执行密钥同步时,从消息队列中获取密钥操作指令,并将密钥操作指令轮询发送至多个密码机,直至完成轮询发送任务,从消息队列中释放该密钥操作指令,同时,接收到密钥操作指令的密码机则执行指令内容,从而实现多个密码机执行密钥同步。34.步骤s103,在队列中存在密钥操作指令的情况下,若从获取到的数据中解析得到密码运算指令,则拦截密码运算指令,并在多个密码机完成密钥同步且消息队列释放密钥操作指令之后,向多个密码机发送密码运算指令,以使多个密码机采用相同的密钥对待处理数据执行密码运算。35.具体地,在操作密钥过程中,若用户正在使用该密钥进行密码运算,未完成密钥同步的密码机设备在执行密码运算时会产生错误数据,因而,本实施例拦截密码运算指令并放入缓冲区,直至密钥操作全部完成后,消息队列中不存在密钥操作指令的情况下,再释放缓冲区中的密码运算指令,从而保证了在进行密码运算时密钥已经同步完成,保证了密码运算的运算结果的准确性。36.需要说明的是,本实施例通过密码机获取客户端发送的数据和负载器自身输出的数据,拦截其中的密码运算指令,先根据密钥操作指令进行密钥同步,在密钥同步后在执行密码运算指令,无需设置额外的密钥管理系统,也无需对客户端、负载器以及密码机进行负复杂的配置修改,即可在完成密钥同步的情况下保证密钥运算的准确性。37.本技术实施例提供的密钥处理方法,通过采用以下步骤:获取客户端发送的数据和负载器自身输出的数据,并对获取到的数据进行解析,其中,负载器用于协调多个密码机执行客户端指示的密码操作;在从获取到的数据中解析得到密钥指令的情况下,将密钥指令中的密钥操作指令添加至消息队列中,并从消息队列中获取密钥操作指令以对多个密码机执行密钥同步;在队列中存在密钥操作指令的情况下,若从获取到的数据中解析得到密码运算指令,则拦截密码运算指令,并在多个密码机完成密钥同步且消息队列释放密钥操作指令之后,向多个密码机发送密码运算指令,以使多个密码机采用相同的密钥对待处理数据执行密码运算。解决了相关技术中对多台密码机进行密钥同步时操作繁琐、效率低,且密码机在密钥同步期间执行密码运算时,容易产生运算错误的问题。通过负载器拦截密钥操作指令和密码运算指令,先同步密钥操作指令再执行密码运算指令,进而达到了提高密钥同步的效率、同时提高密钥同步过程中密码运算的准确率的效果。38.可选地,在本技术实施例提供的密钥处理方法中,在获取客户端发送的数据和负载器自身输出的数据,并对获取到的数据进行解析之后,该方法还包括:在从获取到的数据中解析得到密钥指令的情况下,将密钥指令中的密钥生成指令按照预设规则发送至目标密码机,其中,目标密码机为多个密码机中的密码机,目标密码机用于生成密钥;向目标密码机发送密钥导出指令,并在导出已生成密钥的情况下,向多个密码机中除目标密码机之外的密码机发送密钥导入指令。39.具体的,当密钥指令类型为密钥生成指令时,可以将密钥生成指令发送至多个密码机中的一个密码机,也即目标密码机,目标密码机并根据密钥生成指令自动生成密钥。当目标密码机生成密钥后,可以向负载器发送反馈消息,负载器生成密钥导出指令,并将目标密码机生成的密钥导出至进行其他密码机,其中返回消息中携带有用于确定该目标密码机的信息,例如可以携带有该目标密码机的ip地址。40.可选的,在本技术实施例提供的密钥处理方法中,在从获取到的数据中解析得到密钥指令的情况下,将密钥指令中的密钥生成指令按照预设规则发送至目标密码机包括:获取各个密码机的运行状态信息,并获取运行状态信息满足预设条件的密码机,得到至少一个候选密码机,其中,预设条件至少为以下之一:密码机的输入数据和输出数据的时间差小于预设时长,密码机执行密码运算所占用的带宽小于预设带宽;将密钥生成指令随机发送至候选密码机中的一个密码机,或将密钥生成指令按照预设顺序发送至候选密码机中的一个密码机。41.需要说明的是,在相关技术中,将客户端发送的密钥生成指令随机发送给多个密码机中的一个密码机,以执行密钥生成操作,但是,在负载器下某台密码机满负荷运行,其他密码机尚未满负荷运行情况下,若使用该满负荷密码机进行生成密钥操作,导致效率低下。42.而本实施例可以获取密码机输入数据和输出数据的时延、执行密码运算过程中占有的带宽占情况,实时检测到密码机运行状态,得到运行状态良好,负载较低的候选密码机,从而控制将密钥操作分配到候选密码机上执行,达到了提高密钥生成的效率的效果。43.可选的,在本技术实施例提供的密钥处理方法中,在从获取到的数据中解析得到密钥指令的情况下,将密钥指令中的密钥操作指令添加至消息队列中包括:在密钥操作指令为客户端发送的密钥导入指令或密钥删除指令的情况下,将密钥操作指令加入第一队列;在密钥操作指令为密钥导出指令的情况下,将密钥操作指令加入第二队列,其中,密钥导出指令用于指示导出多个密码机中的目标密码机所生成的密钥;在密钥操作指令为负载器发送的密钥导入的情况下,将密钥操作指令加入第三队列,其中,负载器发送的密钥导入用于指示将已生成的密钥导入多个密码机中目标密码机之外的密码机。44.也即,将不同类型的指令输入不同队列的方式,实现不同类型指令的区分,从而便于按照不同类型对应的密钥同步方式对多个密码机进行密钥同步。45.可选的,在本技术实施例提供的密钥处理方法中,从消息队列中获取密钥操作指令以对多个密码机执行密钥同步包括:从第一队列中获取密钥操作指令,将获取到的密钥操作指令发送至预设列表中的各个密码机,以基于获取到的密钥操作指令的内容对每个密码机中的密钥执行对应的密钥操作,其中,预设列表中存储有多个密码机的地址信息;从第二队列中获取密钥操作指令,并将获取到的密钥操作指令发送至目标密码机;从第三队列中获取密钥操作指令,并将获取到的密钥操作指令发送至预设列表中目标密码机以外的各个密码机。46.具体的,预设列表存储有与负载器连接的多个密码机的地址信息,例如,可以为多个密码机的ip地址信息。当该密钥操作指令为第一类型指令时,可以直接按照多个密码机的ip地址将该指令发送至多个密码机中,并执行对应的密码操作,从而实现多个密码机的密钥同步;当该密钥操作指令为第二类型指令时,可以导出目标密码机中已经生成的密钥;当该密钥操作指令为第三类型指令时,可以向预设列表中的其余密码机发送已生成的密钥,例如,可以获取预设ip地址列表中的目标密码机的ip地址以外的ip地址,并按照获取到的ip地址发送对应密钥导入指令,从而实现多个密码机的密钥同步。47.除了将密钥操作指令分组放入不同的队列,还可以提取密钥导入指令、密钥删除指令放入同一个队列,而其他类型的密钥操作指令不执行放入队列的处理,可选的,在本技术实施例提供的密钥处理方法中,在从获取到的数据中解析得到密钥指令的情况下,将密钥指令中的密钥操作指令添加至消息队列中包括:在密钥操作指令为客户端发送的密钥导入指令、密钥删除指令或负载器发送的密钥导入指令的情况下,将密钥操作指令加入目标队列。48.可选的,在本技术实施例提供的密钥处理方法中,从消息队列中获取密钥操作指令以对多个密码机执行密钥同步包括:从目标队列中获取密钥操作指令,将获取到的密钥操作指令发送至预设列表中的各个密码机,以基于获取到的密钥操作指令的内容对每个密码机中的密钥执行对应的密钥操作,其中,预设列表中存储有多个密码机的地址信息。49.具体地,预设列表存储有与负载器连接的多个密码机的地址信息,例如,可以为多个密码机的ip地址信息,将客户端发送的密钥导入指令、负载器发送的密钥导入指令、以及客户端发送的密钥删除指令均放入同一队列,作为同一类型的指令,从队列中读取指令后,直接按照多个密码机的ip地址将指令发送至多个密码机中,并执行对应的密码操作,从而实现了多个密码机的密钥同步,由于无需区分客户端发送的密钥导入指令、负载器发送的密钥导入指令,无需设置多个不同的队列,简化了实现多个密码机的密钥同步的步骤。50.可选的,在本技术实施例提供的密钥处理方法中,在多个密码机完成密钥同步且消息队列释放密钥操作指令之后,向多个密码机发送密码运算指令,以使多个密码机采用相同的密钥对待处理数据执行密码运算包括:将密码运算指令发送至多个密码机,将待处理数据分割为多个数据包,并将多个数据包发送至多个密码机;接收各个密码机基于密码运算指令对数据包执行处理后的数据包,得到多个目标数据包,并将多个目标数据包合并后发送至客户端。51.在一种可选的实施例中,数据待处理数据可以为客户端发送的需要加密或解密的数据,密码运算指令可以为客户端输入的加密指令或解密指令,为了高效执行加密或解密操作,负载器将一个数据待处理数据均衡的分割为多个数据块,并在多个密码机上同时执行密码操作,之后再通过负载器将多个处理后的数据块进行组合,最终返回客户端加密或者解密完成的数据。52.图2为根据本技术实施例提供的一种可选的密钥处理系统的示意图,如图2所示:包括客户端、负载器以及多个密码机。负载器接收到来自客户端或目标密码机发送的数据,之后在负载器上执行预设脚本过滤并分流数据,具体地,通过加载netfilter_queue组件获取数据并对数据进行解析,得到密钥操作指令,将不同种类的密钥操作指令放入不同队列中。53.同时,读取负载器存储的多个密码机的ip列表,并读取队列中的密钥操作指令,根据密钥操作指令的种类将密钥操作指令下发给ip列表中的多个密码机,具体地,在密钥操作指令指示目标密码机已生成密钥的情况下,将密钥操作指令发送ip列表中目标密码机以外的密码机,在密钥操作指令指示导入密钥或删除密钥的情况下,将密钥操作指令发送ip列表中所有的密码机。54.进一步的,密码机在收到密钥操作指令后,对密码机密码卡中的密钥进行相应的操作,完成密钥同步变更,进而达到了提高密钥同步的效率、同时降低人力成本的效果。55.需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。56.本技术实施例还提供了一种密钥处理装置,需要说明的是,本技术实施例的密钥处理装置可以用于执行本技术实施例所提供的用于密钥处理方法。以下对本技术实施例提供的密钥处理装置进行介绍。57.图3是根据本技术实施例的密钥处理装置的示意图。如图3所示,该装置包括:第一获取单元301,第一执行单元302和第二执行单元303。58.第一获取单元301,用于获取客户端发送的数据和负载器自身输出的数据,并对获取到的数据进行解析,其中,负载器用于协调多个密码机执行客户端指示的密码操作。59.第一执行单元302,用于在从获取到的数据中解析得到密钥指令的情况下,将密钥指令中的密钥操作指令添加至消息队列中,并从消息队列中获取密钥操作指令以对多个密码机执行密钥同步。60.第二执行单元303,用于在队列中存在密钥操作指令的情况下,若从获取到的数据中解析得到密码运算指令,则拦截密码运算指令,并在多个密码机完成密钥同步且消息队列释放密钥操作指令之后,向多个密码机发送密码运算指令,以使多个密码机采用相同的密钥对待处理数据执行密码运算。61.本技术实施例提供的密钥处理装置,通过第一获取单元301获取客户端发送的数据和负载器自身输出的数据,并对获取到的数据进行解析,其中,负载器用于协调多个密码机执行客户端指示的密码操作;第一执行单元302在从获取到的数据中解析得到密钥指令的情况下,将密钥指令中的密钥操作指令添加至消息队列中,并从消息队列中获取密钥操作指令以对多个密码机执行密钥同步;第二执行单元303在队列中存在密钥操作指令的情况下,若从获取到的数据中解析得到密码运算指令,则拦截密码运算指令,并在多个密码机完成密钥同步且消息队列释放密钥操作指令之后,向多个密码机发送密码运算指令,以使多个密码机采用相同的密钥对待处理数据执行密码运算。解决了相关技术中对多台密码机进行密钥同步时操作繁琐、效率低,且密码机在密钥同步期间执行密码运算时,容易产生运算错误的问题,通过负载器拦截密钥操作指令和密码运算指令,先同步密钥操作指令再执行密码运算指令,进而达到了提高密钥同步的效率、同时提高密钥同步过程中密码运算的准确率的效果。62.可选地,在本技术实施例提供的密钥处理装置中,该装置还包括:第一发送单元,用于在获取客户端发送的数据和负载器自身输出的数据,并对获取到的数据进行解析之后,在从获取到的数据中解析得到密钥指令的情况下,将密钥指令中的密钥生成指令按照预设规则发送至目标密码机,其中,目标密码机为多个密码机中的密码机,目标密码机用于生成密钥;第二发送单元,用于向目标密码机发送密钥导出指令,并在导出已生成密钥的情况下,向多个密码机中除目标密码机之外的密码机发送密钥导入指令。63.可选地,在本技术实施例提供的密钥处理装置中,第一发送单元包括:获取模块,用于获取各个密码机的运行状态信息,并获取运行状态信息满足预设条件的密码机,得到至少一个候选密码机,其中,预设条件至少为以下之一:密码机的输入数据和输出数据的时间差小于预设时长,密码机执行密码运算所占用的带宽小于预设带宽;发送模块,用于将密钥生成指令随机发送至候选密码机中的一个密码机,或将密钥操作指令按照预设顺序发送至候选密码机中的一个密码机。64.可选地,在本技术实施例提供的密钥处理装置中,第一执行单元302包括添加模块,添加模块包括:第一添加子模块,用于在密钥操作指令为客户端发送的密钥导入指令或密钥删除指令的情况下,将密钥操作指令加入第一队列;第二添加子模块,用于在密钥操作指令为密钥导出指令的情况下,将密钥操作指令加入第二队列,其中,密钥导出指令用于指示导出多个密码机中的目标密码机所生成的密钥;第三添加子模块,用于在密钥操作指令为负载器发送的密钥导入的情况下,将密钥操作指令加入第三队列,其中,负载器发送的密钥导入用于指示将已生成的密钥导入多个密码机中目标密码机之外的密码机。65.可选地,在本技术实施例提供的密钥处理装置中,第一执行单元302包括第一执行模块,第一执行模块包括:第一获取子模块,用于从第一队列中获取密钥操作指令,将获取到的密钥操作指令发送至预设列表中的各个密码机,以基于获取到的密钥操作指令的内容对每个密码机中的密钥执行对应的密钥操作,其中,预设列表中存储有多个密码机的地址信息;第二获取子模块,用于从第二队列中获取密钥操作指令,并将获取到的密钥操作指令发送至目标密码机;第三获取子模块,用于从第三队列中获取密钥操作指令,并将获取到的密钥操作指令发送至预设列表中目标密码机以外的各个密码机。66.可选地,在本技术实施例提供的密钥处理装置中,第一执行单元302包括添加模块,添加模块还包括:第四添加子模块,用于在密钥操作指令为客户端发送的密钥导入指令、密钥删除指令或负载器发送的密钥导入指令的情况下,将密钥操作指令加入目标队列。67.可选地,在本技术实施例提供的密钥处理装置中,第一执行单元302包括第一执行模块,第一执行模块还包括:第四获取子模块,用于从目标队列中获取密钥操作指令,将获取到的密钥操作指令发送至预设列表中的各个密码机,以基于获取到的密钥操作指令的内容对每个密码机中的密钥执行对应的密钥操作,其中,预设列表中存储有多个密码机的地址信息。68.可选地,在本技术实施例提供的密钥处理装置中,第二执行单元303包括第二执行模块,第二执行模块包括:发送子模块,用于将密码运算指令发送至多个密码机,将待处理数据分割为多个数据包,并将多个数据包发送至多个密码机;接收子模块,用于接收各个密码机基于密码运算指令对数据包执行处理后的数据包,得到多个目标数据包,并将多个目标数据包合并后发送至客户端。69.密钥处理装置包括处理器和存储器,上述第一获取单元301,第一执行单元302和第二执行单元303等均作为程序单元存储在存储器中,由处理器执行存储在存储器中的上述程序单元来实现相应的功能。70.处理器中包含内核,由内核去存储器中调取相应的程序单元。内核可以设置一个或以上,通过调整内核参数来解决了相关技术中对多台密码机进行密钥同步时操作繁琐、效率低,且密码机在密钥同步期间执行密码运算时,容易产生运算错误的问题。71.本技术实施例还提供了一种电子装置,包含处理器和存储器;存储器中存储有计算机可读指令,处理器用于运行计算机可读指令,其中,计算机可读指令运行时执行一种密钥处理方法。本文中的电子装置可以是服务器、pc、pad、手机等。72.本领域内的技术人员应明白,本技术的实施例可提供为方法、系统、或计算机程序产品。因此,本技术可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本技术可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd‑rom、光学存储器等)上实施的计算机程序产品的形式。73.本技术是参照根据本技术实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。74.这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。75.这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。76.在一个典型的配置中,计算设备包括一个或多个处理器(cpu)、输入/输出接口、网络接口和内存。77.存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(ram)和/或非易失性内存等形式,如只读存储器(rom)或闪存(flashram)。存储器是计算机可读介质的示例。78.计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(pram)、静态随机存取存储器(sram)、动态随机存取存储器(dram)、其他类型的随机存取存储器(ram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、快闪记忆体或其他内存技术、只读光盘只读存储器(cd‑rom)、数字多功能光盘(dvd)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitorymedia),如调制的数据信号和载波。79.还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、商品或者设备中还存在另外的相同要素。80.以上仅为本技术的实施例而已,并不用于限制本技术。对于本领域技术人员来说,本技术可以有各种更改和变化。凡在本技术的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本技术的权利要求范围之内。当前第1页12当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1