论文部分内容阅读
随着固态硬盘(Solid State Disk)在高端数字领域的广泛应用,用户数据的存储安全成为一个重要课题。现有的数据保护技术有软件加密、Trusted Platform Module(TPM)芯片、加密卡硬件加密等技术。软件加密占用主机资源,硬件加密实施成本高,在固态硬盘控制器中实施加密引擎,无需独立的硬件实现并且加解密操作对用户透明,是一种安全实用的方案。通过研究分析固态硬盘的读写数据流,根据加密引擎的位置提出了加密固态硬盘的设计方案。高级加密标准算法(Advanced Encryption Standard, AES)作为取代数据加密算法(Data Encryption Standard, DES)被广泛应用于用户敏感数据的保护。为了获得高速加密引擎,需要大量的硬件逻辑。提出了一种速度与面积折中的AES加密引擎实施方案,使用流水线技术提高加密引擎的吞吐率;通过查表方式实现SubBytes/ InvSubBytes运算,减少加密引擎消耗的硬件逻辑,充分使用闲置的Block RAM,并且将Sbox和Invbox存放在同一Block RAM中,减少AES加密引擎对Block RAM资源的消耗。加密引擎的安全性取决于密钥体系的设计,根据硬盘数据读写的特点,提出了多种密钥存储应用体系,使加密引擎的输入流对用户透明,并且使用扇区级密钥和文本密钥提高密钥破解难度。使用Xilinx ISE软件在Xilinx FPGA xc6slx45-3fgg484上对加密引擎进行仿真,加密引擎占用785个slice,时钟频率达到232.748MHz,吞吐率达到1.986Gbits/s。实验结果表明:加密引擎的吞吐率能够满足Serial Advanced Technology Attachment(SATA)1.0接口固态硬盘的读写速率,加密引擎可以在固态硬盘中实施。