摘要

密码卡是一种密码设备,位于网络安全平台的物理层,通过各种密码算法为上层应用系统提供加解密、数字签名等密码运算服务。从云计算安全方面考虑,密码卡需要具备高速运算的特点,并且需要通过虚拟化技术实现高并发性。密码卡作为输入/输出(Input/Output,I/O)设备面临的挑战是,如何在虚拟化的情况下获得良好的I/O性能并有效地共享I/O设备。目前I/O虚拟化技术的发展相对滞后,影响了虚拟机的整体性能。基于此,该文提出了3种密码卡虚拟化设计方案,实现了基于现场可编程门阵列(FPGA)的软件虚拟化密码卡和基于单根I/O虚拟化技术的硬件虚拟化密码卡。在实际应用中,虚拟化密码卡通过高速外设部件互连标准(PCI-E)总线内置于服务器中,具备高性能并且通过软件调度可以被多用户共享。结果表明,该技术可应用于金融、电信等信息安全领域,具备广阔的应用前景。