本发明涉及信息安全技术领域,具体地说是一种高速sata接口密码模块的通信方法及装置。
背景技术:
随着信息化的高速发展,信息安全在计算机领域中有着不可或缺的作用。尤其国家自提倡国产化替代以来,信息安全显得日益重要。
在信息传输中,为了保护信息数据不被窃取或篡改,发展了许多加密算法,比如:sm2、sm3、sm4等等。
目前的密码模块普通内部电路结构复杂、成本高,而且当有大量数据需要同时加密时,目前的密码模块存在数据传输速度慢的问题。
技术实现要素:
本发明的目的在于一种高速sata接口密码模块的通信方法及装置,用于解决现有的密码模块传输速度慢、成本高的问题。
本发明解决其技术问题所采取的技术方案是:
本发明第一方面提供了一种高速sata接口密码模块的通信方法,该方法包括以下步骤:
上位机将数据包通过sata接口发送至密码芯片cpu;
密码芯片cpu根据数据包内的scsi指令进行加密处理,并将处理后的数据包上传至上位机。
结合第一方面,在第一方面第一种可能实现的方式中,所述的scsi指令包括普通通道指令与高速通道指令。
结合第一方面,在第一方面第二种可能实现的方式中,通过普通通道指令处理数据包的方法包括:
sata接口收到上位机数据包;
密码芯片cpu根据数据包内的普通通道指令类型调用相应的内部资源加密处理数据;
将处理好的数据进行打包,并通过sata接口将in包数据上传至上位机。
结合第一方面,在第一方面第三种可能实现的方式中,通过高速通道指令处理数据包的方法包括:
sata接口与密码芯片cpu内部的算法内核引擎模块建立桥接;
密码芯片cpu内部的算法内核引擎模块通过预置的密钥对sata接口接收的数据包进行加密处理并通过sata接口发送给上位机。
结合第一方面,在第一方面第四种可能实现的方式中,密码芯片cpu内部的算法内核引擎模块通过预置的密钥对sata接口接收的数据包进行加密处理具体包括:根据高速通道指令中的不同逻辑地址选择不同的预置密钥来计算加密算法。
本发明第二方面提供了一种高速sata接口密码模块装置,该装置通过sata接口与上位机通信,包括cpu芯片;在cpu芯片内设置有芯片算法内核引擎模块,用于处理对称算法高速加密指令;数据读取模块,用于读取上位机传来的数据包的指令类型;调用模块,用于调用芯片算法内核引擎模块的工作;密钥存储模块,用于按照指令类型的不同存储预置的密钥;加密模块,用于处理除对称算法高速加密指令以外的其他指令。
结合第二方面,在第二方面第一种可能实现的方式中,所述的sata接口还包括msata接口。
本发明第二方面的所述装置能够实现第一方面及第一方面的各实现方式中的方法,并取得相同的效果。
由以上技术方案可见,本发明通过不同的指令类型选择不同的密钥进行加解密,无需进行密钥切换,增强了设备在各应用场景中的适配性。如果是对称算法,则直接调用芯片算法内核引擎模块依据高速通道指令中的不同逻辑地址选择不同的预置密钥来计算;如果是对称算法之外的其他算法,则cpu依据普通通道指令的类型,进行加解密算法计算,实现了较高性能的密码算法功能。sm2密钥对生产可达900次/s,sm2签名算法可达1000次/s,sm4对称算法可达200mb/s。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为一种高速sata接口密码模块的通信方法流程示意图;
图2为本发明实施例所应用的一种高速sata接口密码模块装置结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明中的技术方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
如图1所示,一种高速sata接口密码模块的通信方法,该方法包括以下步骤:
s1、上位机将数据包通过sata接口发送至密码芯片cpu;
s2、密码芯片cpu根据数据包内的scsi指令进行加密处理,并将处理后的数据包上传至上位机。
scsi指令包括普通通道指令与高速通道指令。
通过普通通道指令处理数据包的方法包括:
a1、sata接口收到上位机数据包;
a2、密码芯片cpu根据数据包内的普通通道指令类型调用相应的内部资源加密处理数据;
a3、将处理好的数据进行打包,并通过sata接口将in包数据上传至上位机。
通过高速通道指令处理数据包的方法包括:
b1、sata接口与密码芯片cpu内部的算法内核引擎模块建立桥接;
b2、密码芯片cpu内部的算法内核引擎模块通过预置的密钥对sata接口接收的数据包进行加密处理并通过sata接口发送给上位机。
b3、密码芯片cpu内部的算法内核引擎模块通过预置的密钥对sata接口接收的数据包进行加密处理具体包括:根据高速通道指令中的不同逻辑地址选择不同的预置密钥来计算加密算法。
如图2所示,一种高速sata接口密码模块装置,本装置具备satarevision3.0的device接口,上位机通过对本装置进行io操作实现密码算法指令的通信,本装置可作为一种sata接口硬盘类设备与具备satahost接口的windows及linux主机连接,包括cpu芯片;在cpu芯片内设置有芯片算法内核引擎模块,用于处理对称算法高速加密指令;数据读取模块,用于读取上位机传来的数据包的指令类型;调用模块,用于调用芯片算法内核引擎模块的工作;密钥存储模块,用于按照指令类型的不同存储预置的密钥;加密模块,用于处理除对称算法高速加密指令以外的其他指令。sata接口还包括msata接口,可适用更小尺寸。
以上所述仅是本发明的具体实施方式,使本领域技术人员能够理解或实现本发明。对这些实施例的多种修改对本领域的技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
1.一种高速sata接口密码模块的通信方法,其特征是,该方法包括以下步骤:
上位机将数据包通过sata接口发送至密码芯片cpu;
密码芯片cpu根据数据包内的scsi指令进行加密处理,并将处理后的数据包上传至上位机。
2.根据权利要求1所述的方法,其特征是,所述的scsi指令包括普通通道指令与高速通道指令。
3.根据权利要求2所述的方法,其特征是,通过普通通道指令处理数据包的方法包括:
sata接口收到上位机数据包;
密码芯片cpu根据数据包内的普通通道指令类型调用相应的内部资源加密处理数据;
将处理好的数据进行打包,并通过sata接口将in包数据上传至上位机。
4.根据权利要求2所述的方法,其特征是,通过高速通道指令处理数据包的方法包括:
sata接口与密码芯片cpu内部的算法内核引擎模块建立桥接;
密码芯片cpu内部的算法内核引擎模块通过预置的密钥对sata接口接收的数据包进行加密处理并通过sata接口发送给上位机。
5.根据权利要求4所述的方法,其特征是,密码芯片cpu内部的算法内核引擎模块通过预置的密钥对sata接口接收的数据包进行加密处理具体包括:根据高速通道指令中的不同逻辑地址选择不同的预置密钥来计算加密算法。
6.一种高速sata接口密码模块装置,利用权利要求1-5任意一项所述的方法,其特征是,该装置通过sata接口与上位机通信,包括cpu芯片;在cpu芯片内设置有芯片算法内核引擎模块,用于处理对称算法高速加密指令;数据读取模块,用于读取上位机传来的数据包的指令类型;调用模块,用于调用芯片算法内核引擎模块的工作;密钥存储模块,用于按照指令类型的不同存储预置的密钥;加密模块,用于处理除对称算法高速加密指令以外的其他指令。
7.根据权利要求6所述的装置,其特征是,所述的sata接口还包括msata接口。
技术总结