基于IP复用方法实现的硬盘加密卡,是一种用于保障数据存储安全的硬件加密装置。那么基于IP复用的硬盘加密卡是如何设计的呢?我今天就给大家讲一下。
一、硬盘加密卡总体结构
硬盘加密卡的总体结构如图1所示。
硬盘加密卡由“主加密卡”和“密钥存储卡”组成,主加密卡又由核心部件及外围电路组成。核心部件采用知识产权(lntellectual Property,IP)复用的设计方法,由现场可编程门阵列(Field Pt08rammable Gate Ar-ray,FPGA)实现,主要组成包括:硬盘控制IP、加解密IP、密钥管理IP、16_2_n模块和n_2_16模块等,其结构如图2所示。其中16 2 n模块将16位的IDE数据宽度转换为n位加解密IP的数据宽度,而n- 2_16模块实现相反方向的转换。
外围电路主要包括:IDE接口电路、密钥接口电路、驱动电路、外部时钟电路等,用以实现各种协议间的物理接口、信号的驱动以及时钟的产生。
密钥存储卡以智能卡方式实现,除提供正确的加解密密钥外,还和主加密卡之间进行相互认证,进一步保证密钥存储的安全性。
二、核心部件中各IP的设计
1、硬盘控制IP
硬盘控制IP的主要功能为:接管硬盘控制器对硬盘的操作,实现对硬盘读写的全面控制;控制加解密IP完成数据文件加密和解密操作;控制密钥管理IP从密钥存储卡中获取加密和解密密钥。
硬盘控制IP的外部接口如图3所示。
_硬盘控制IP的T作状态机如图4所示。
上电复位后,硬盘控制IP控制密钥管理IP从密钥存储卡中获取加密和解密密钥;密钥成功获取后,进入空闲状态,等待主机进行读写操作;当主机发出写命令时,硬盘控制IP控制加密和解密IP对从主机输入的待加密数据文件加密,并在加密操作完成后,将已加密数据文件送人硬盘,然后返回到空闲状态,等待下一次读写操作;当主机发出读命令时,硬盘控制IP控制加密和解密IP将从硬盘中读出的待解密数据文件进行解密,并在解密操作完成后,将已解密数据送人主机,然后返回到空闲状态,等待下一轮的读写操作。
2、加密和解密IP
加密和解密IP中实现了分组长度128位、密钥长度128位的AES加密算法,以对在主机和硬盘之间传输的数据进行加密和解密操作,其外部接口如图5所示。
AES加密算法主要由密钥扩展、加密和解密三部分组成。其实现结构如图6所示。
密钥扩展以原始密钥扩展出后续各轮中密钥加法运算所需的轮密钥。
加密过程为:
(1)将明文映射到状态矩阵,井进行初始的密钥加法运算;
(2)进行10次轮运算,除最后一轮不做列混合外,其余各轮均由字节替换、行移位、列混合、密钥添加四个性换依次对状态矩阵进行操作;
(3)把状态矩阵映射为密文,完成加密过程。
解密时,可以用上述四个置换的逆置换直接生成AES的解密算法。
加密和解密IP的工作状态机如图7所示。
上电复位后,加密和解密IP从密钥管理IP处获取加密和解密密钥。并对其进行扩展,以得到加密和解密所需的各轮子密钥,之后进入空闲状态,等待硬盘控制IP发出加密和解密命令;硬盘控制IP发出加密和解密的过程中,输入缓冲区已经被占满,则保持现有的加密和解密状态,直到出现可用缓冲后,再继续之前中断的操作;加密和解密过程完成后,硬盘控制IP会将加密和解密IP输出缓冲区中的加密和解密结果全部读出,之后返回到空闲状态,等待下一轮解密和解密的开始。
3、密钥管理IP
在现代密码学中,加密算法的安全性是基于密钥的安全性,而不是加密算法的细节的安全性。因此,如何保证密钥的安全性成为设计中最为关键的问题之一。
主加密卡通过密钥管理IP进行如下的最终解密和解密密钥获取过程,以保证密钥存储的安全性,其中的主要参数如表1所示:
(1)密钥存储卡对主加密卡的认证
密钥管理IP从密钥存储卡获得一个随机数Randl:密钥管理IP用Kauth对Randl进行3DES加密,并将加密结果Res1返回给密钥存储卡;密钥存储卡用Kauth对Randl进行相同运算,并将运算结果Re2与Res1进行比较,如果相同则通过认证,否则,将无法对密钥存储卡进行访问。这一认证过程也称为外部认证。
(2)主加密卡对密钥存储卡的认证
密钥管理IP从密钥存储卡获得一个随机数Rand2;密钥存储卡使用认证密钥Kauth对Rand2进行3DES加密,并将加密结果Res3送给密钥管理IP;密钥管理IP利用Kauth对Rand2进行相同运算,并将运算结果Res4与Re83进行比较,如果相同则认证通过,否则无法继续进行后续操作。这一认证过程也称为内部认证。
(3)最终加密和解密密钥的生成
内部认证和外部认证通过后,密钥管理IP从密钥存储卡中读取密钥素材Kraw,并利用加密密钥Kenc对Kraw进行3DES加密,生成最终加解密密钥Kfinal密钥管理IP的外部接口如图8所示。
工作状态机如图9所示。
上电复位后,如果密钥管理IP检测到有密钥存储卡的插入,则立即开始进行外部认证和内部认证;如果认证失败,则跳转到停止状态,无法进行后续操作;外部认证和内部认证通过之后,密钥管理IP从密钥存储卡中读取密钥素材Kraw。并以此生成最终的加解密密钥Kfina。
小知识之ip复用
ip复用就是要使一个ip地址重复使用的意思,NAT和PAT就是典型的例子。