内容来自:《移动互联网时代的智能终端安全》李兴新侯玉华周晓龙郭晓花严斌峰等编著
在基础硬件具备自主可控的能力之后,在上层应用方面进行必要的安全加固就成为了终端安全的主要工作,其中硬件加密工作作为应用安全加固的基础工作之一,加密芯片是不可或缺的加密硬件。在U盾、智能卡、读卡器、加密板卡等产品中,以及网上银行、移动支付、数据安全、保密通信、版权控制和智能电网等领域,加密芯片都作为其中的一个重要的基础安全功能单元被广泛使用。
从定义上说,**加密芯片是一个具备独立生成密钥以及数据加解密能力的集成电路芯片,实现多种密码算法,使用密码技术保存密钥和敏感信息。**加密芯片内部拥有自己的CPU和存储器,用于加解密计算、存储密钥和敏感数据,为加密产品提供数据加解密和认证的服务。使用加密芯片进行加密的产品,由于密钥和加密数据被存储在加密芯片中,难以从外部窃取和解密,这样也就实现了保护数据安全的目标。
截至2015年6月,国家密码管理局已经认证了100多款国产的商用密码加密芯片产品。根据国家密码管理局商用密码检测中心发布的《安全芯片密码检测准则》,加密芯片被划分为3个安全等级。其中,安全等级1(最低等级)要求芯片能够应用在可以保证物理安全和输入输出信息安全的场合;安全等级2和安全等级3(最高等级)则要求芯片能够应用在无法保证物理安全和输入输出信息安全的场合,这就要求芯片必须具备相应逻辑和物理保护措施以保护敏感数据。
无论是何种等级的加密芯片都需要具备真随机数的生成能力,这就要求安全芯片必须具备根据电压、温度、频率等物理随机源直接生成随机数或者直接生成随机扩展算法的初始输入的能力。
在具备真随机数生成能力的基础上,加密芯片也必须要具备实现密码算法的能力,对于安全等级2和安全等级3的加密芯片,要求密码算法必须在专用硬件模块上实现。对于国家密码管理局认证的商密加密芯片产品,必须要使用国密算法,如分组密码算法中的SM1算法和SM4算法,公钥密码算法中的SM2椭圆曲线算法,杂凑密码算法中的SM3算法,序列密码算法中的祖冲之(ZUC)算法。
对于分组密码算法,加密芯片一般都支持ECB(Electronic Codebook,电码本工作模式)和CBC(Cipher-block Chaining,密码分组链接工作模式)模式。
对于安全等级2和安全等级3的加密芯片,由于可能工作在无法保证物理安全和输入输出信息安全的场合,因此需要具备防护各种攻击的能力,包括计时攻击、能量分析攻击、电磁分析攻击和故障攻击等,也需要具备密钥和敏感信息的自毁能力,以保证信息不被泄露。
对于一般的商用密码加密芯片产品,通常会采用国密算法,这些国密算法一般是在有限范围内公开,多数仅通过硬件加密模块实现,保证了一定级别的安全性。而对于有更高安全要求的专用密码安全芯片,如应用在一些军用或者国家机密场合的安全芯片,技术实现原理与商用密码安全芯片类似,但是会使用不公开的加密算法以达到更高的安全级别。
对于有着一定安全级别要求的保密场景,手机终端可以使用加密芯片对终端的应用数据进行加密存储和加密传输。如对于用户通信使用的电话、短信这些基础业务,可以通过加密芯片以及终端的必要改造实现通信数据的加密传输,运营商可以为有需求的用户提供加密通信的业务来保证用户通信的安全。随着移动互联网的发展,手机不再仅是一个通信工具,而是具备了移动电子商务、移动支付、移动互联网金融、移动政务、移动执法、移动办公等多种功能的智能终端,通过加密芯片以及相应应用的必要改造也可以对用户的这些个人信息、商务信息以及金融信息实现安全防护。(SIM卡那个芯片肯定是有的吧)