8路继电器模块原理图
14.4 描述符概述
主处理器维护一个当前发安全会话以及这些会话的对应密钥和上下文的记录。一旦主机决定请求一个安全操作,它就建立一个描述符,这个描述符包含SEC执行这个安全操作的所有信息。主机在主存中创建这个描述符,然后将指向这个描述符的指针写入SEC一个通道的取FIFO。该通道用这个指针将描述符读入它的描述符缓冲区。一旦获得这个描述符,SEC通过它的总线主控能力来获得输入,并输出结果,因此使主处理机摆脱了数据传送和加密操作的负担。为方便测试,使用SEC的主机控制模式,主机可以直接向SEC写入密钥、上下文和文本数据。这种方法避免了使用描述符。
想了解更多关于密钥安全管理的内容吗?可以参考这篇密钥安全管理办法密钥分发管理。
14.4.1 描述符结构
SEC描述符在概念上与大多数具有DMA能力的设备所使用的描述符相似。这些描述符固定长度为64个字节,也就是八个64位的字(称为双字)。一个描述符由一个首部双字和七个指针双字组成。首部双字指明了要执行的安全操作、所需要的执行单元和每一个执行单元的模式。所有的指针字都具有相同的格式,包含用来定位输入或输出数据包的指针和长度信息(比如密钥、上下文或文本数据)。描述符中提供的大量指针允许多个算法同时操作,这些操作需要取得多个密钥,提取和返回上下文。不需要的指针双字可以指定它的长度为0,通道略过对应的操作。
对于密钥管理的技术细节,你可能会对这篇密钥的分类密钥管理内容密钥的生成感兴趣。
SEC描述符包含分散/聚集能力,这意味着描述符中的每一个指针可以直接指向一个连续的数据包,也可以指向一个链表,这个链表包含一系列用来装配数据包的指针和长度。当使用一个链表读取输入数据时,称之为聚集操作;当链表用于写输出数据时,称之为分散操作。
14.4.2 描述符格式—首部双字
描述符由主机建立,通过所请求的加密操作控制SEC。描述符首部定义了要执行的操作、每种操作的模式、以及控制器和通道进行内部数据传送所使用的内部地址。SEC的设备驱动程序允许主机为每个加密操作创建正确的首部。你是否想进一步了解更多的安全加密操作?那么数据库操作安全管理规范将是一个不错的选择。
如果你对密钥分配和管理系统的实现过程感兴趣,不妨看看这篇文章:安全实验课题简单实现密钥管理系统。或者,你还可以了解数据库描述符的更多细节。