本发明涉及计算机技术领域,尤具体地说是一种实用性强、基于硬件的计算机接口加密装置及方法。
背景技术:
在涉密办公等应用场合,通常会采取一定的数据安全措施。例如在普通计算机上安装特定的管理软件,对计算机的对外接口进行权限管理。该方式实现的成本很低,但是由于完全在软件层面实现,容易被修改破解,而且会额外占用系统资源,影响计算机的性能。
针对这一问题,本发明专利提出了一种基于硬件的接口加密技术,可以对计算机的硬盘接口、网络接口、usb接口进行加密处理,防止涉密信息外泄。
技术实现要素:
本发明的技术任务是针对以上不足之处,提供一种实用性强、基于硬件的计算机接口加密装置及方法。
一种基于硬件的计算机接口加密装置,包括连接处理器的io接口芯片,该io接口芯片对外提供io接口并连接有tcm芯片、fpga芯片,所述io接口包括usb接口、网络接口、sata接口;上述fpga芯片内配置有加密算法,用于将基于usb接口、网络接口、sata接口进行传输的数据进行加密。
所述fpga芯片与io接口芯片之间采用高速全双工的通信接口,该fpga芯片内部存放加密算法、秘钥并由tcm芯片进行管理。
所述tcm芯片连接flash存储器,fpga芯片内部存放的加密算法、秘钥存放在tcm芯片连接的flash存储器中,每次开机时由tcm芯片加载到fpga芯片中。
所述tcm芯片还连接有销毁开关,并在该tcm芯片连接的flash存储器中存储有销毁代码,当触发销毁开关时,销毁代码擦除存放在flash存储器中的密码算法、秘钥数据。
所述加密算法、秘钥使用配套的usbkey进行在线更新,在线更新时处理器通过io接口芯片的usb接口读取所需的数据,经由tcm芯片写入flash存储器中保存。
一种基于硬件的计算机接口加密方法,基于上述装置,其实现过程为:
一、当io接口调用数据时,进行数据加密:首先获取待加密数据;然后通过tcm芯片,将保存在flash存储器中的加密算法加载至fpga芯片中;最后由fpga芯片对待加密数据进行加密;
二、当读取已加密数据时,进行数据解密:首先获取待解密数据;然后通过tcm芯片,将保存在flash存储器中的密钥加载至fpga芯片中;最后由fpga芯片对待解密数据进行解密。
所述加密过程包括硬盘数据加密、网络传输数据加密和移动设备数据加密,其中,硬盘数据加密是指当硬盘连接到sata接口时,硬盘中存储的所有数据经过步骤一的加密过程;网络传输数据加密是指对通过网络接口连接到同一网络中并相互通信的计算机传输数据进行步骤一的加密过程;移动设备数据是指当使用包括u盘、移动硬盘的设备连接到usb接口上并复制数据时经过步骤一的加密过程;相对应的,步骤二的解密过程包括通过密钥对硬盘数据解密、网络传输数据解密和移动设备数据解密。
所述步骤一中的数据加密具体过程为:
首先待加密数据由处理器发送给io接口芯片;
io接口芯片发出数据加密的请求,fpga芯片启动加密命令,调用加密算法对待加密数据进行加密;
加密后的数据再发送至io接口芯片中;
io接口芯片将加密后的数据发送至usb接口、网络接口或sata接口中。
所述步骤二中的数据解密具体过程为:
首先待加密数据由处理器发送给io接口芯片;
首先通过usb接口、网络接口或sata接口将待解密数据发送至io接口芯片中;
io接口芯片发出数据解密的请求,fpga芯片启动解密命令,调用密钥对待解密数据进行加密;
解密后的数据再发送至io接口芯片中;
io接口芯片再将解密后的数据发送给处理器进行解读。
还包括步骤三:在线更新的步骤,该步骤具体为:通过usbkey,对加密算法、秘钥进行在线更新,在线更新时处理器通过io接口芯片的usb接口读取所需的数据,经由tcm芯片写入flash存储器中保存。
本发明的一种基于硬件的计算机接口加密装置及方法,具有以下优点:
本发明的一种基于硬件的计算机接口加密装置及方法,可以对计算机的硬盘接口、网络接口、usb接口进行加密处理,防止涉密信息外泄;该设计使用高性能fpga进行数据的加密、解密,可对通过硬盘接口、网络接口、usb接口传输的任意数据进行加密操作,加密过程不需要应用层软件的配合、不占用cpu资源、不影响数据传输速率,实用性强,适用范围广泛,易于推广。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
附图1为本发明的装置结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明的方案,下面结合具体实施方式对本发明作进一步的详细说明。显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明的目的在于克服上述技术背景中计算机发热元件的散热方式现状,提供一种占用空间小、结构简单且不增加整机功率的计算机辅助散热方法。
如附图1所示,一种基于硬件的计算机接口加密装置,包括连接处理器的io接口芯片,该io接口芯片对外提供io接口并连接有tcm芯片、fpga芯片,所述io接口包括usb接口、网络接口、sata接口;上述fpga芯片内配置有加密算法,用于将基于usb接口、网络接口、sata接口进行传输的数据进行加密。
所述fpga芯片与io接口芯片之间采用高速全双工的通信接口,,例如pcie等,以便满足对外接口对传输速率的要求。
该fpga芯片内部存放加密算法、秘钥并由tcm芯片进行管理。
所述tcm芯片连接flash存储器,fpga芯片内部存放的加密算法、秘钥存放在tcm芯片连接的flash存储器中,每次开机时由tcm芯片加载到fpga芯片中。
所述tcm芯片还连接有销毁开关,并在该tcm芯片连接的flash存储器中存储有销毁代码,当触发销毁开关时,销毁代码擦除存放在flash存储器中的密码算法、秘钥数据。
所述加密算法、秘钥使用配套的usbkey进行在线更新,在线更新时处理器通过io接口芯片的usb接口读取所需的数据,经由tcm芯片写入flash存储器中保存。
在本发明中,加密算法使用fpga实现,算法本身可以在线更新。
密码算法、秘钥的部署可在客户现场进行,未投入使用的机器不带有密码算法相关的数据、可以有效避免生产、运输、储存过程中的密码算法、秘钥泄露风险。
带有销毁开关,可在紧急情况下擦除密码算法、秘钥数据。
本发明可对通过sata接口(可连接硬盘、光驱)、网络接口、usb接口传输的任意数据进行加密处理。
一种基于硬件的计算机接口加密方法,基于上述装置,实现以下功能:
1、计算机硬盘中存储的所有数据经过加密,拆除硬盘安装到其他不具备正确秘钥的机器上,无法读取存放的数据。擦除秘钥后硬盘中的数据也不可读取,可用于数据的应急销毁。
2、网络传输的数据经过加密,接入同一网络的机器必须具备正确秘钥才能相互通讯,未经授权接入的其他计算机无法与网内的涉密机器互联。
3、使用u盘、移动硬盘等设备复制的数据经过加密,只能在具备正确秘钥的机器上才能读取,可以有效避免使用移动存储介质造成的涉密信息外泄。
其实现过程为:
一、当io接口调用数据时,进行数据加密:首先获取待加密数据;然后通过tcm芯片,将保存在flash存储器中的加密算法加载至fpga芯片中;最后由fpga芯片对待加密数据进行加密;
二、当读取已加密数据时,进行数据解密:首先获取待解密数据;然后通过tcm芯片,将保存在flash存储器中的密钥加载至fpga芯片中;最后由fpga芯片对待解密数据进行解密。
所述加密过程包括硬盘数据加密、网络传输数据加密和移动设备数据加密,其中,硬盘数据加密是指当硬盘连接到sata接口时,硬盘中存储的所有数据经过步骤一的加密过程;网络传输数据加密是指对通过网络接口连接到同一网络中并相互通信的计算机传输数据进行步骤一的加密过程;移动设备数据是指当使用包括u盘、移动硬盘的设备连接到usb接口上并复制数据时经过步骤一的加密过程;相对应的,步骤二的解密过程包括通过密钥对硬盘数据解密、网络传输数据解密和移动设备数据解密。
fpga内部存放的加密算法、秘钥等由tcm芯片进行管理,算法、秘钥存放在tcm芯片外挂的flash存储器中,每次开机时由tcm芯片加载到fpga。
所述步骤一中的数据加密具体过程为:
首先待加密数据由处理器发送给io接口芯片;
io接口芯片发出数据加密的请求,fpga芯片启动加密命令,调用加密算法对待加密数据进行加密;
加密后的数据再发送至io接口芯片中;
io接口芯片将加密后的数据发送至usb接口、网络接口或sata接口中。
所述步骤二中的数据解密具体过程为:
首先待加密数据由处理器发送给io接口芯片;
首先通过usb接口、网络接口或sata接口将待解密数据发送至io接口芯片中;
io接口芯片发出数据解密的请求,fpga芯片启动解密命令,调用密钥对待解密数据进行加密;
解密后的数据再发送至io接口芯片中;
io接口芯片再将解密后的数据发送给处理器进行解读。
还包括步骤三:在线更新的步骤,该步骤具体为:通过usbkey,对加密算法、秘钥进行在线更新,在线更新时处理器通过io接口芯片的usb接口读取所需的数据,经由tcm芯片写入flash存储器中保存。
上述具体实施方式仅是本发明的具体个案,本发明的专利保护范围包括但不限于上述具体实施方式,任何符合本发明的一种基于硬件的计算机接口加密装置及方法的权利要求书的且任何所述技术领域的普通技术人员对其所做的适当变化或替换,皆应落入本发明的专利保护范围。