技术领域 本发明涉及一种保密或安全通信装置,特别是涉及一种采用片上系统(System On Chip,缩写为SoC)集成设计技术开发的高性能密码算法SoC芯片。 背景技术 随着信息科技的发展,信息安全保护变得越来越重要。较之用软件实现的密码技术, 使用密码芯片作为加密系统的核心载体不但能够实现加密功能,而且还带来物理保护的 好处,更加安全可靠。超大规模集成技术可以把许多功能容于一个密码芯片上,使密码 设备的体积大大减小,功耗显著降低,效率大大提高,并且使密码设备越来越适应便携、 移动、高速、多媒体的应用需要。密码芯片技术作为信息安全领域的核心技术,为信息 安全产业提供最底层的核心硬件支持,是当前解决信息安全问题的最好方案。 目前国内的密码芯片主要是提供性能单一的安全芯片,如模幂乘密码算法协处理 器、对称密码算法专用的芯片以及数字物理噪声源芯片等。这些密码芯片虽然部分采用 了片上系统的概念,但均是以单板方式实现的,由于芯片体系结构未能得到充分的优化 设计,所以普遍存在着功耗高,安全可靠性差、效率低等确定。完整的应用片上系统概 念、采用系统集成方法研制密码算法SoC芯片方面,尚未有相关产品及专利报道。 发明内容 本发明的目的在于克服现有密码芯片存在不足,提供一种应用片上系统概念、综合 考虑密码芯片设计的安全性、密码运算的高效性以及芯片面积、功耗等因素的高性能密 码算法SoC芯片。 为了实现上述目的,所采用的技术方案:一种高性能密码算法SoC芯片,通过一个 受嵌入式CPU核103控制的通用I/O接口107与外部系统之间交换数据、指令和地址信 息,所述SoC芯片置有公钥算法模块101进行多种公钥密码算法的运算、真随机数模块 102进行产生真随机数的运算、分组加密模块104进行多种对称密码算法的运算、Hash 算法模块105进行多种Hash算法的运算和安全保护电路106、片内安全数据/程序存储 器108,上述模块、电路和存储器均通过高速片上通信总线109相互连接,并受嵌入式 CPU核103的控制和调度。 本发明以嵌入式CPU核103及公钥算法模块101、真随机数模块102、分组加密模 块104、Hash算法模块105为主干,芯片内信息流通过嵌入式CPU核103与高速片上 通信总线调度,芯片内部与外部的全部数据交流均通过由嵌入式CPU核103控制的通 用I/O接口107进行,这样就有效地把加解密的处理过程与外部隔离。嵌入式CPU核 103通过通用I/O接口107从外界读取指令、地址、数据等,均表现为对I/O接口的读 写操作,而用于加解密运算操作的专用指令是非公开的,因此,恶意攻击者将难以理解 和分析芯片I/O接口的数据性质,也难以通过对公开指令的操作寻址芯片的保密区域, 获得有用资料。所述安全保护电路106,当它有输入信号时会产生复位时序,从而可以 实现在小于1ms的时间内清除片内所有的数据。为了保证在下电模式时该功能正常实 现,片上还可嵌入一个专用的时钟发生器用来产生此时的时钟。由于片内很多加密算法 可以并行执行,而且都是由硬件来实现的,所以该芯片具有抗定时和电源攻击的能力。 另外用户可以通过一个可认证的下载协议将其它的安全功能下载到芯片中,这样就能拓 展芯片的基本功能,甚至可以将其完全重新定义,得到如下的功能特性:安全密钥管理 功能如密钥生成、密钥存储、密钥交换、密钥更新、密钥撤消、密码协议支持功能如验 证、数据完整性和有效性、水印防伪、电子支付和维护功能如软件安全升级。本发明所 述SoC芯片通过应用片上系统概念、综合考虑密码芯片设计的安全性、密码运算的高效 性以及芯片面积、功耗等因素是一款集产生、存储和应用机密数据于一体的高性能密码 算法SoC芯片。 附图说明 图1为高性能密码算法SoC芯片结构示意图。 具体实施方式 下面结合附图,对本发明进一步详细描述:如图1所示,一种高性能密码算法SoC 芯片,通过一个受嵌入式CPU核103控制的通用I/O接口107与外部系统之间交换数据、 指令和地址信息,其特征在于所述SoC芯片置有公钥算法模块101进行多种公钥密码算 法的运算、真随机数模块102进行产生真随机数的运算、分组加密模块104进行多种对 称密码算法的运算、Hash算法模块105进行多种Hash算法的运算和安全保护电路106、 片内安全数据/程序存储器108,上述模块、电路和存储器均通过高速片上通信总线109 相互连接,并受嵌入式CPU核103的控制和调度。所述安全保护电路(106)内部置有侦 测部件,在探测到输入信号时产生复位时序,并根据所述嵌入式CPU核103发出的报 警指令启动内部应急时钟系统,在小于1ms的时间内清除片内所有的数据。所述片内安 全数据/程序存储器108由ROM和NSRAM(Non-volatile,Secure RAM)组成,其中ROM 存储启动程序,NSRAM存储应用程序、密钥及密钥管理程序,NSRAM连接有后备电 池且只能从内部访问。所述真随机数模块102和所述片内安全数据/程序存储器108的 ROM启动程序通过OTP技术为每块SoC芯片产生一个唯一的芯片ID,并将上述ID存 储在所述片内安全数据/程序存储器108的NSRAM上。 所述公钥算法模块101提供公钥密码算法RSA和ECC的加速功能,主要是完成快 速模幂及模乘运算。 所述真随机数模块102利用物理噪声源,采用硬件方式产生稳定的真随机位数据流, 经过所述嵌入式CPU核103内部处理后产生所需的随机数、密钥或密钥对等数据。 所述嵌入式CPU核103是整个芯片的调度中心,可采用16位、32位、64位等, 选用标准为功耗低、面积小,并可满足系统控制和数据处理的要求。 所述分组加密模块104是一个高速密码单元,可以完成对称密码算法DES、3DES、 AES等对称密钥密码算法,模式可选ECB、CBC、OFB64和CFB64。 所述Hash算法模块105完成快速Hash运算,包括SHA-1、MD5等算法。 所述安全保护电路106当有输入信号时会产生复位时序,还可根据所述CPU核103 的报警指令,启动自带的应急时钟系统,从而可以实现在小于1ms的时间内清除片内所 有的数据,保障信息不被泄漏。 所述通用I/O接口107用于完成所述密码芯片与外部系统之间数据、指令、地址的 交换。 所述片内安全数据/程序存储器108由ROM和NSRAM(Non-volatile,Secure RAM) 组成,其中ROM用来存储启动程序,使得可以下载基本功能固件或其他用户程序,如 SSL、IPSec等到NSRAM中;NSRAM用来存储应用程序、密钥及密钥管理程序等,该 内部RAM带后备电池,并且不能从外部访问。利用OTP技术和所述真随机数模块102 及ROM启动程序可以为每块芯片产生一个唯一的芯片ID,并存储在NSRAM上,起到 了芯片的唯一标识目的。 从集成了该芯片的板卡级设备的角度来看,本发明所述芯片是一个挂在外部系统总 线上的智能芯片接口单元。系统外部模块可通过片选信号选中此芯片,并通过片选端、 R/W端及其它控制端的端信号组合通知送到芯片通用I/O接口总线的数据性质。所述芯 片上电后,自动将各单元模块的相关寄存器复位,等待初始化进程;嵌入式CPU核首 先读入通信总线上的指令数据,并根据指令到指定区域下载相应的加解密程序及加解密 算法所需的数据资料、启动真随机数模块102生成所需的随机数或密钥等,完成芯片其 他模块的初始化工作,芯片转入等待状态,准备进行相关的算法操作。本发明所述密码 算法SoC芯片依据相关程序与设备系统配合进行两种内部操作:加解密数据的输入/输 出操作和内部加解密运算操作,状态标志分别为READY和BUSY,这两种状态标志用 于通知外部设备系统,以保证芯片及整个系统的安全、可靠运行。