基于MEMS密码锁和双FPGA的SATA硬盘物理加密系统转让专利

申请号 : CN200810038181.1

文献号 : CN101281502B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 张卫平许鹏陈文元李怡斌汤坚

申请人 : 上海交通大学

摘要 :

一种信息安全技术领域的基于MEMS密码锁和双FPGA的SATA硬盘物理加密系统。本发明中,MEMS密码锁驱动及认证模块与用于物理认证的FPGA专用板通讯,PCI控制器把PCI总线上的指令转化为第一FPGA芯片内部总线端指令,由I/O信号扩展芯片输出控制字到MEMS密码锁驱动电路驱动MEMS密码锁解码,同时MEMS密码锁产生密钥信号,密钥处理模块读取密钥信号,判断正确与否,若正确,发送密钥到第一FPGA芯片,并经PCI控制器传回主机,主机收到后启动联接和扫描硬件模块,使系统识别加密硬盘,硬盘信息即正确读写;若错误,密钥处理模块发送复位相位到PCI局部总线执行MEMS密码锁复位动作,同时传给主机错误密码的信息。

权利要求 :

1.一种基于MEMS密码锁和双FPGA的SATA硬盘物理加密系统,包括:MEMS密码锁驱动及认证模块、联接和扫描硬件模块、用于物理认证的FPGA专用板、用于数据加密/解密的FPGA专用板和MEMS密码锁,其特征在于:所述用于物理认证的FPGA专用板包括:第一FPGA芯片、PCI控制器、EEPROMPCI配置芯片、可擦除的第一ROM、MEMS密码锁驱动电路、MEMS控制模块、密钥处理模块;

所述用于数据加密/解密的FPGA专用板包括:第二FPGA芯片、可擦除第二ROM、IDE-SATA转换接口、加密/解密模块;

上述MEMS密码锁驱动及认证模块、联接和扫描硬件模块安装在主机的操作系统硬盘内,分别通过PCI总线和SATA总线和两块FPGA专用板联接,两块FPGA专用板仅通过主机间接进行通信,受主机的控制,其中:所述MEMS密码锁驱动及认证模块以PCI协议通讯方式与第一FPGA芯片和MEMS密码锁驱动电路进行通讯;

所述MEMS控制模块是控制第一FPGA芯片运行的指令模块,它存储在第一ROM中,系统上电后开始工作;

所述EEPROM PCI配置芯片通过内部的PCI驱动程序正确驱动PCI控制器,完成主机与PCI控制器控制信号、地址线和数据线的配置,使PCI控制器正常工作;

所述PCI控制器把PCI总线上的指令转化为PCI局部总线端指令,由局部总线指令控制I/O扩展芯片;

所述I/O扩展芯片根据局部总线指令输出控制字到MEMS密码锁驱动电路驱动MEMS密码锁解码,解码的同时MEMS密码锁产生密钥信号;

所述密钥处理模块读取MEMS密码锁发来的密钥信号,判断正确码或是错误码的来临,若取得32位正确码,发送密钥到第一FPGA芯片;

所述第一FPGA芯片把获得的密钥经PCI控制器传给主机,主机启动联接和扫描硬件模块;

所述联接和扫描硬件模块扫描系统中的SATA硬盘,该系统中的SATA硬盘是通过SATA-IDE转换接口和IDE-SATA转换接口连接,在两个转换接口之间是第二FPGA芯片来完成有128位密钥的AES算法加密/解密,系统扫描后SATA硬盘被系统识别,同时把32位正确密钥传给第二FPGA芯片相连的加密/解密模块;

所述第二FPGA芯片根据获得的密钥控制硬盘信息的正确读写,若判断错误码来临,由密钥处理模块发送复位相位到PCI局部总线执行MEMS密码锁复位动作同时把一个表示错误的信号指令传给主机;

所述加密/解密模块对主机在读写加密/解密IDE硬盘的数据传输的数据流,进行加密/解密处理,同时还驱动第二FPGA芯片控制读写的数据传输。

2.根据权利要求1所述的基于MEMS密码锁和双FPGA的SATA硬盘物理加密系统,其特征是,所述的用于物理认证的FPGA专用板和用于数据加密/解密的FPGA专用板都是以FPGA芯片为核心,用于物理认证的FPGA专用板进行物理加密,用于数据加密/解密的FPGA专用板进行数据的加密/解密。

3.根据权利要求1或2所述的基于MEMS密码锁和双FPGA的SATA硬盘物理加密系统,其特征是,所述的用于数据加密/解密的FPGA专用板上一端装有SATA-IDE转换接口,与主机的SATA接口联接,另一端装有IDE-SATA转换接口,与所加密SATA硬盘的SATA接口相连,数据在加密/解密模块之外是SATA接口协议进行串行传输的。

4.根据权利要求1所述的基于MEMS密码锁和双FPGA的SATA硬盘物理加密系统,其特征是,所述的SATA-IDE转换接口在第一FPGA芯片把32位正确密钥传给主机之前,不能正常工作,当主机收到32位正确密钥之后,启动联接和扫描硬件模块,主机才给SATA-IDE转换接口一个使能信号,让其正常工作。

5.根据权利要求1所述的基于MEMS密码锁和双FPGA的SATA硬盘物理加密系统,其特征是,所述的第一FPGA芯片一端与PCI控制器相连,一端与MEMS密码锁驱动电路相接,它在PIO方式下进行数据传输。

6.根据权利要求1所述的基于MEMS密码锁和双FPGA的SATA硬盘物理加密系统,其特征是,所述的第二FPGA芯片一端与SATA-IDE转换接口相连,另一端与IDE-SATA转换接口相连,数据在第二FPGA芯片是以并行的IDE协议传输的,第二FPGA芯片在DMA模式下工作。

7.根据权利要求1所述的基于MEMS密码锁和双FPGA的SATA硬盘物理加密系统,其特征是,所述的密钥处理模块是一块微控制器,其一端与密码锁密钥输出线相连用于接收密钥信号;一端与第一FPGA芯片相连,在32位密钥全部接收到后,传给第一FPGA芯片,由第一FPGA芯片向主机发送;另一端连接PCI局部总线用于在MEMS密码锁锁死,即密码验证失败时,输出MEMS密码锁复位相位。

8.根据权利要求1所述的基于MEMS密码锁和双FPGA的SATA硬盘物理加密系统,其特征是,所述的MEMS密码锁驱动及认证模块存储在主机的操作系统硬盘中,用于在操作系统环境下驱动用于物理认证的FPGA专用板,并提供认证功能,若认证通过,可以读取此硬盘信息;若认证错误失败,复位MEMS密码锁复位到初始位置,继续下一次认证。

说明书 :

基于MEMS密码锁和双FPGA的SATA硬盘物理加密系统

技术领域

[0001] 本发明涉及的是一种信息安全技术领域的系统,具体的说,涉及的是一种基于MEMS(微机电系统)密码锁和双FPGA(现场可编程门阵列)的SATA硬盘物理加密系统。

背景技术

[0002] 信息安全对于企业、政府、国防等部门有着极其重要的意义。一般现有的硬盘加密方法都通过存储介质保存密钥,使用比较器比对输入密钥正确与否,此方法保密性差,易于破解。并且大多硬盘加密系统不具有认证功能,能够进入系统的非法用户还是可以读取硬盘信息,系统的安全保密作用大大降低。
[0003] 经对现有技术的文献检索发现,中国专利“一种计算机硬盘加密装置”,专利号99113164.9,授权公告日2003年2月5日,通过加密芯片而组成的加密电路,加密芯片是由控制单元电路、加解密单元电路,RAM存储器及控制开关K组成,对进出硬盘的数据流选择性的硬件加密,从而实现介质加密。但此专利中使用用户输入信息的方式作为硬盘加密的密钥,并通过密钥比对器判定密钥是否正确。这种通过存储器保存密钥的方法易于被非法用户破解,保密性差。检索中还发现,中国专利“计算机硬盘数据加密方法及其装置”,公开号CN 1641522A,公开日2005年7月20日,加密系统放置在硬盘与主机之间,对计算机的硬盘和主机之间传输数据进行加密,当主机向硬盘写数据时,数据流被加解密模块所截获,从密钥管理模块中读取加密过程中所需要的密钥,对数据流进行加密处理。此加密系统密钥存储在密钥管理器,并且由此密钥直接参与硬盘数据加密,这种方式一方面密钥容易被破解,另一方面用户不需进行认证即可启动加密解密模块,只要进入系统还是可以读取硬盘信息。

发明内容

[0004] 本发明的目的在于克服现有技术中存在的不足,提供一种基于MEMS密码锁和双FPGA的SATA硬盘物理加密系统,使其达到通过物理方法产生密钥加密/解密硬盘的目的。本发明结合MEMS密码锁与硬盘加密系统,MEMS密码锁中机械固化了32位密码,以此作为FPGA硬盘数据加密/解密模块的密钥,只容许合法用户通过物理认证后才能获得该密钥,根据密钥来对数据进行加密/解密,才能读取硬盘资料,两个FPGA之间的协作是通过主机来控制的。
[0005] 本发明是通过以下技术方案实现的,本发明包括:MEMS密码锁驱动及认证模块、联接和扫描硬件模块、用于物理认证的FPGA专用板、用于数据加密/解密的FPGA专用板和MEMS密码锁。
[0006] 所述用于物理认证的FPGA专用板包括:第一FPGA芯片、PCI控制器、EEPROMPCI配置芯片、可擦除的第一ROM、MEMS密码锁驱动电路、MEMS控制模块、密钥处理模块;
[0007] 所述用于数据加密/解密的FPGA专用板包括:第二FPGA芯片、可擦除第二ROM、一个IDE-SATA转换接口、一个SATA-IDE转换接口、加密/解密模块;
[0008] 上述部件中,MEMS密码锁驱动及认证模块、联接和扫描硬件模块安装在主机的操作系统硬盘内,分别通过PCI总线和SATA总线和两块FPGA专用板联接,两块FPGA专用板没有直接联接,而是通过主机间接进行通信,受主机的控制,其中:
[0009] 所述MEMS密码锁加密卡驱动及认证模块以PCI协议通讯方式与第一FPGA芯片和MEMS密码锁驱动电路进行通讯;
[0010] 所述MEMS控制模块是控制第一FPGA芯片运行的指令模块,它存储在第一ROM中,系统上电后开始工作;
[0011] 所述EEPROM PCI配置芯片通过内部的PCI驱动程序正确驱动PCI控制器,完成主机与PCI控制器控制信号、地址线和数据线的配置,使PCI控制器正常工作;
[0012] 所述PCI控制器把PCI总线上的指令转化为PCI局部总线端指令,由局部总线指令控制I/O扩展芯片;
[0013] 所述I/O扩展芯片根据局部总线指令输出控制字到MEMS密码锁驱动电路驱动MEMS密码锁解码,解码的同时MEMS密码锁产生密钥信号;
[0014] 所述密钥处理模块读取MEMS密码锁发来的密钥信号,判断正确码或是错误码的来临,若取得32位正确码,发送密钥到第一FPGA芯片;
[0015] 所述第一FPGA芯片把获得的密钥经PCI控制器传给主机,主机启动联接和扫描硬件模块;
[0016] 所述联接和扫描硬件模块扫描系统中的SATA硬盘,该系统中的SATA硬盘是通过SATA-IDE转换接口和IDE-SATA转换接口连接,这样在两个转换接口直接是第二FPGA芯片来完成有128位密钥的AES算法加密/解密,系统扫描后SATA硬盘被系统识别,同时把32位正确密钥传给第二FPGA芯片相连的加密/解密模块;
[0017] 所述第二FPGA芯片根据获得的密钥控制硬盘信息的正确读写,若判断错误码来临,由密钥处理模块发送复位相位到PCI局部总线执行MEMS密码锁复位动作同时把一个表示错误的信号指令传给主机;
[0018] 所述加密/解密模块对主机在读写加密/解密SATA硬盘的数据传输的数据流,进行加密/解密处理,同时还驱动第二FPGA芯片控制读写的数据传输。
[0019] 所述的MEMS密码锁驱动及认证模块存储在主机的操作系统硬盘中,用于在操作系统环境下驱动用于物理认证的FPGA专用板,并提供认证功能,若认证通过,可以读取此硬盘信息;若认证错误失败,复位MEMS密码锁复位到初始位置,继续下一次认证。
[0020] 所述的用于物理认证的FPGA专用板和用于加密/解密的FPGA专用板都是以FPGA芯片为核心,用于物理认证的FPGA专用板进行物理加密,用于加密/解密的FPGA专用板进行数据的加密/解密。
[0021] 所述的第一FPGA芯片和第二FPGA芯片是两块FPGA芯片,它们是两块专用板的核心。第一FPGA芯片一端与PCI控制器相连,一端与MEMS密码锁相接,负责物理认证,由于物理认证中数据的传输量不大,它在PIO方式下进行数据传输。
[0022] 所述的第二FPGA芯片一端与SATA-IDE转换接口相连,另一端与IDE-SATA转换接口相连,同时存储加密/解密模块的可擦除第二ROM也与其相联,它负责控制对读写数据的加密/解密。由于此时的数据传输量较大,数据在第二FPGA芯片是以并行的IDE协议下传输的,第二FPGA芯片在DMA模式下工作。
[0023] 所述的用于加密/解密的FPGA专用板上一端装有SATA-IDE转换接口,与主机的SATA接口联接,另一端装有IDE-SATA转换接口,与所加密SATA硬盘的SATA接口相连,数据在加密/解密模块之外是以SATA接口协议下串行传输的。
[0024] 所述的SATA-IDE转换接口在第一FPGA芯片把32位正确密钥传给主机之前,不能正常工作,当主机收到32位正确密钥之后,启动联接和扫面硬件模块,主机才给SATA-IDE转换接口一个使能信号,让其正常工作。
[0025] 所述的加密/解密模块采用经典的AES-128加密算法以MEMS密码锁产生的密钥对主机与硬盘间数据针对性地进行加密/解密处理。该模块固化在第二ROM中,同时,与第二ROM相连的第二FPGA芯片接在两个IDE-SATA转换接口之间,实现数据在第二FPGA芯片是在并行的ATA协议下传输。
[0026] 所述的联接和扫描硬件模块,是在非加密状态下安装在主机的操作系统硬盘上的,等待主机接收到32位正确密钥时,启动该模块,该模块首先给SATA-IDE转换接口一个有效使能信号,使其正常工作,然后利用枚举的方式扫描已经改动,系统识别出所加密的SATA硬盘。
[0027] 所述的密钥处理模块是一块微控制器,其一端与密码锁密钥输出线相连用于接收密钥信号;一端与第一FPGA芯片相连,在32位密钥全部接收到后,传给第一FPGA芯片,由第一FPGA芯片向主机发送;另一端连接PCI局部总线用于在MEMS密码锁锁死,即密码验证失败时,输出MEMS密码锁复位相位。
[0028] 所述的PCI控制器主要由PCI控制芯片构成,是连接PCI总线与PCI局部总线的桥梁,一端与主机PCI总线连接,另一端连接第一FPGA芯片。
[0029] 所述的EEPROM PCI配置芯片与PCI控制器直接相连,通过存储在配置芯片内部的PCI驱动程序正确驱动PCI控制器,完成主机与PCI控制器控制信号、地址线和数据线的配置,使PCI控制器正常工作。
[0030] 所述的MEMS密码锁控制模块被固化在第一FPGA芯片中,用来接收主机通过PCI总线传输过来的密码,然后将密码转换为可以控制密码锁运行的控制信号,然后由第一FPGA芯片输出给密码锁驱动电路。
[0031] 所述的MEMS密码锁驱动电路一端与第一FPGA芯片联接,另一端与MEMS密码锁联接。它由4块L6234电机驱动芯片组成。每块L6234驱动一个微电机。
[0032] 所述的密钥处理模块是一块微控制器,其一端与密码锁密钥输出线相连用于接收密钥信号;一端与第一FPGA芯片相连,在32位密钥全部接收到第一FPGA芯片内的寄存器后,通过PCI控制器返回给主机,主机向第二块专用板中的加密/解密模块发送。
[0033] 所述的可擦除第一ROM和可擦除第二ROM是一般的可擦除只读存储器,其中第一ROM与第一FPGA芯片联接,用于固化MEMS控制模块,第二ROM与第二FPGA芯片联接,用于固化加密/解密模块,它们在系统上电后,自动配置FPGA,使两个FPGA芯片正常工作。
[0034] 所述的MEMS密码锁是一种物理加密装置,与密码锁驱动电路相连,它以反干涉齿轮集固化32位二元密码。两个鉴码电机的轴上都装有耦合机构。其耦合盘上设计了与硬盘加密系统密钥对应的缺口。在其解码过程中,耦合机构产生一串信号,以这种物理的方式产生的信号作为硬盘加密系统的密钥。
[0035] 所述的SATA硬盘是基于SATA协议传输的普通串口硬盘,支持热插拔。
[0036] 本发明使用MEMS密码锁特有的机械结构产生硬盘加密的密钥,用此密钥参与硬盘加密系统。计算机中装有两块硬盘,一块硬盘直接与主板IDE口相连,其中装有操作系统,数据不做加密处理,可以直接读取。另一块是SATA硬盘,它通过用于数据加密/解密的FPGA专用板与主板SATA接口相连。此硬盘需通过MEMS密码锁认证,若认证通过,产生一串合法密钥,此密钥由用于物理认证的FPGA专用板通过PCI控制器传给主机,同时第一FPGA芯片给主机一个反馈信号,主机来对反馈值进行判断,若密码正确,主机使SATA-IDE接口的使能端有效,并开启扫描硬件模块,这样被加密的SATA硬盘就被系统识别,启动第二FPGA芯片完成对数据的加密/解密。
[0037] 与现有技术相比,本发明的有益效果是:把MEMS密码锁与硬盘加密系统结合在一起极大加强了安全强度。其中MEMS密码锁采用特殊的物理密码,破解的概率只有二千万分之一;硬盘加密使用了介质加密的方法,即使把硬盘偷走,在其他机器上也只能被系统认为是一块未格式化的硬盘,无法读出其中的正确信息。同时,本发明采用两块FPGA芯片,一块负责物理认证,一块负责数据的加解密,两片芯片的有效协作,提高了数据传输速率。

附图说明

[0038] 图1为本发明结构框图

具体实施方式

[0039] 下面结合附图对本发明的实施例作详细说明:本实施例在以本发明技术方案为前提下进行实施,给出了详细的实施方式和具体的操作过程,但本发明的保护范围不限于下述的实施例。
[0040] 如图1所示,本实施例包括:MEMS密码锁驱动及认证模块、联接和扫描硬件模块、用于物理认证的FPGA专用板、用于数据加密/解密的FPGA专用板和MEMS密码锁。
[0041] 所述用于物理认证的FPGA专用板包括:第一FPGA芯片、PCI控制器、EEPROMPCI配置芯片、可擦除的第一ROM、MEMS密码锁驱动电路、MEMS控制模块、密钥处理模块。
[0042] 所述用于数据加密/解密的FPGA专用板包括:第二FPGA芯片、可擦除第二ROM、IDE-SATA转换接口、SATA-IDE转换口、加密/解密模块。
[0043] 所述的MEMS密码锁驱动及认证模块、联接和扫描硬件模块安装在主机的操作系统硬盘内,分别通过PCI总线和SATA总线和两块FPGA专用板联接。两块FPGA专用板没有直接联接,而是通过主机间接进行通信,受主机的控制。
[0044] MEMS密码锁加密卡驱动及认证模块以PCI协议通讯方式与第一FPGA芯片和MEMS密码锁驱动电路进行通讯,MEMS控制模块是用Veriloge HDL语言写的控制第一FPGA芯片运行的指令模块,它存储在第一ROM中,系统上电后开始工作。EEPROM PCI配置芯片通过内部的PCI驱动程序正确驱动PCI控制器,完成主机与PCI控制器控制信号、地址线和数据线的配置,使PCI控制器正常工作,PCI控制器把PCI总线上的指令转化为PCI局部总线端指令,由局部总线指令控制I/O扩展芯片,I/O扩展芯片根据局部总线指令输出控制字到MEMS密码锁驱动电路驱动MEMS密码锁解码,解码的同时MEMS密码锁产生密钥信号,密钥处理模块读取MEMS密码锁发来的密钥信号,判断正确码或是错误码的来临,若取得32位正确码,发送密钥到第一FPGA芯片,第一FPGA芯片把获得的密钥经PCI控制器传给主机,主机启动联接和扫描硬件模块,扫描系统中的SATA硬盘,该系统中的SATA硬盘是通过SATA-IDE转换接口和IDE-SATA转换接口连接,这样在两个转换接口直接是第二FPGA芯片,来完成有128位密钥的AES算法加密/解密,对于两个转换接口终端的SATA硬盘还能保证是SATA接口,不影响其热插拔的特点,系统扫描后SATA硬盘被系统识别,同时把32位正确密钥传给第二FPGA芯片相连的加密/解密模块,第二FPGA芯片根据获得的密钥控制硬盘信息的正确读写;若判断错误码来临,由密钥处理模块发送复位相位到PCI局部总线执行MEMS密码锁复位动作同时把一个表示错误的信号指令传给主机。与第二FPGA芯片相连的第二ROM内存储着加密/解密模块,该模块不但能够对数据进行加密和解密,还能够驱动第二FPGA芯片控制读写的数据传输。
[0045] 所述的MEMS密码锁驱动电路一端与第一FPGA芯片联接,另一端与MEMS密码锁联接,它由第一FPGA芯片控制,根据来自PCI控制器传过来的PCI指令,来控制后面相连的MEMS密码锁,MEMS密码锁驱动电路由4块L6234电机驱动芯片组成,每块L6234驱动一个微电机。其中两个是鉴码电机,进行鉴码;另外两个是复位电机,用于密码错误后电机的复位。
[0046] 所述的PCI控制器主要由PCI控制芯片构成,是连接PCI总线与PCI局部总线的桥梁,一端与主机PCI总线连接,另一端连接第一FPGA芯片。它是主机与第一FPGA芯片数据和信号传输的通道,上电之后,有EEPROM PCI配置芯片对其进行配置,使它能够正常工作。
[0047] 所述的第一FPGA芯片和第二FPGA芯片是两块专用板的核心。第一FPGA芯片联接PCI控制器和MEMS驱动电路,它负责物理认证。由于物理认证中数据的传输量不大,它是在PIO模式下工作;第二FPGA芯片联接SATA-IDE转换接口和IDE-SATA接口,同时存储加密/解密模块的第二ROM也与其相联,第二FPGA芯片负责控制对读写数据的加密/解密。由于此时的数据传输量较大,该芯片在DMA模式下工作。
[0048] 所述的EEPROM PCI配置芯片直接与第一FPGA芯片相连,用于配置PCI接口控制器,使其正常工作。
[0049] 所述的IDE-SATA接口和SATA-IDE接口是IDE接口和SATA接口的转换器,是联接主机系统硬盘和所加密的SATA硬盘,实现数据的串行传输和并行传输之间的转换,保证加密/解密数据是在第二FPGA芯片内是并行传输,而最终的加密硬盘是SATA接口,顺利实现热插拔。SATA-IDE接口SATA端接主机的SATA接口,IDE端接用于加密/解密的FPGA专用板上的IDE扩展接口,保证数据经主机到进入第二FPGA芯片之前数据是串行传输;IDE-SATA接口IDE端联接从第二FPGA芯片引出的扩展IDE接口,SATA端接联接SATA应旁的SATA接口,这样一方面保证数据在第二FPGA芯片内部数据是并行传输的,符合IDE接口传输协议,有利于较快的进行数据加密/解密,另一方面保证数据在进/出SATA硬盘的时候数据是串行传输,符合SATA接口传输协议,顺利使硬盘实现热插拔。
[0050] 所述的密钥处理模块是一块微控制器,接收密码锁密钥输出线发送的密钥信号。其一端与密码锁密钥输出线相连用于接收密钥信号;一端与第一FPGA芯片相连,当32位密钥全部接收到密钥处理模块后,它把该32位密钥传给第一FPGA芯片,通过PCI控制器返回给主机,主机向第二块专用板中的加密/解密模块发送。
[0051] 所述的可擦除第一ROM和可擦除第二ROM是一般的可擦除只读存储器,其中第一ROM与第一FPGA芯片联接,用于固化MEMS控制模块,第二ROM与第二FPGA芯片联接,用于固化加密/解密模块,它们在系统上电后,自动配置FPGA,使两个FPGA芯片正常工作。
[0052] 所述的数据加密/解密模块固化在第二ROM中,第二FPGA芯片上电后,默认的执行保存在第二ROM中的模块,它采用经典的AES-128加密算法,对主机在读写SATA硬盘时数据传输的数据信号流,进行加密/解密处理。在对SATA硬盘执行写操作时,主机通过第二FPGA芯片把数据传给加密模块,未经过加密的明文数据通过AES-128加密算法对其加密后,存储在SATA硬盘上的是密文数据。而在对SATA硬盘执行读操作时,存储在SATA硬盘上的密文数据,首先通过AES-128算法对其解密,再通过第二FPGA芯片传送给主机,此时得到的数据是经过解密后的明文数据。主机端的数据流始终都是明文数据,因此数据加密/解密模块对于主机而言是透明的。
[0053] 所述的MEMS密码锁是一种物理加密装置,它以反干涉齿轮集固化32位二元密码,两个鉴码电机的轴上都装有耦合机构,其耦合盘上设计了与硬盘加密系统密钥对应的缺口,在其解码过程中,耦合机构产生一串信号,以这种物理的方式产生的信号作为硬盘加密系统的密钥。
[0054] 所述的MEMS密码锁驱动及认证模块存储在主机的操作系统硬盘中,用于在操作系统环境下驱动用于物理认证的FPGA专用板。它是使用VC开发的MFC程序,调试成功后在非加密环境下安装在主机上非加密的操作系统硬盘上,当系统开启后,桌面会主动跳出一个要求输入密码的对话框,等密码输入确认后,主机将密码通过PCI控制器传给第一FPGA芯片,在第一FPGA芯片控制下提供认证功能,若认证通过,可以读取此硬盘信息;若认证错误失败,复位MEMS密码锁复位到初始位置,继续下一次认证。
[0055] 所述的联接和扫描硬件模块存储在主机的操作系统硬盘中,它是利用VC编写的MFC程序,模块启动后先给SATA-IDE接口一个有效信号,使其正常工作,接着通过枚举的方式快速检索资源管理器内存区有没有硬件改动,若发现有新安装的硬件,就启动它开始工作,其实该模块的功能是使SATA-IDE接口联通并用软件的方式实现了手动点击资源管理器中的“扫描检测硬件改动”。用于当物理认证后给主机相连的SATA-IDE转换口有效的使能信号,使之正常工作,同时扫描主机新安装的硬件,使当系统通过物理认证后及时的刷新资源管理器,使系统发现所加密的硬盘,增加系统的稳定性。
[0056] 所述的SATA硬盘是基于SATA接口传输的普通串口硬盘,它数据的传输遵循SATA接口协议,并支持热插拔。
[0057] 上述系统工作时,编写MEMS密码锁驱动及认证模块以及联接和扫描硬件模块,在非加密硬盘操作系统环境下加载到主机中,同时编写MEMS控制模块和加密/解密模块分别固化到两个专用板的第一ROM和第二ROM中,在进行MEMS密码锁认证前,加密盘盘符不可见。需通过认证程序认证,才能在资源管理器中看到加密硬盘盘符,并读取其中数据。认证程序首先弹出窗口要求输入密码。输入密码确认后,MEMS密码锁驱动及认证模块以PCI协议通讯方式与用于物理认证的FPGA专用板通讯,EEPROM PCI配置芯片配置PCI芯片,使得PCI总线指令可以通过PCI芯片传送到MEMS密码锁控制模块,用以通过MEMS密码锁驱动电路驱动MEMS密码锁执行鉴码动作。在鉴码的同时,由MEMS密码锁机械结构产生密钥信号传输至FPGA密钥处理模块。FPGA密钥处理模块在接收到一个密钥信号时,把此密钥保存,并且计数器从零开始计数,到下一个密钥信号来临后清零,并与前几个密钥一起保存起来,重新开始计数,这些保存的密钥与MEMS密码锁的走码位一致,当计数器超时得时候说明遇到错位码,此时可以根据所记录的密钥,使MEMS密码锁复位到初始位置。在密钥处理模块接收到32位密码后,说明得到的密钥是正确的。由密钥处理模块把此密钥经第一FPGA芯片和PCI控制器传给主机,主机启动联接和扫描硬件模块,此时SATA-IDE控制接口正常工作,SATA硬盘被系统识别,同时主机将密钥传给第二FPGA芯片,第二FPGA芯片相连的第二ROM中数据加密/解密模块根据此密钥解密硬盘信息,由此可以正确读取资料,并正确写入数据;如果计数器计数超出设定的最大值还没接收到下一个密钥信号来临,说明MEMS密码锁遇到错位锁死。这时MEMS密码锁需要复位,密钥处理模块根据所记录的密码位,输出复位信号到MEMS密码锁控制模块,MEMS密码锁反向走码复位到初始相位,并将结果通过PCI控制器反馈给认证模块。认证失败,需要再次输入密码,重新进行认证。在加密硬盘首次使用时,认证通过后还需在操作系统环境下分区并格式化硬盘,使其分区表也作加密处理,然后才能读写信息。