储存密钥和信息数据不被非法读取与篡改该如何保证?

加密芯片内部集成了什么算法?自身安全等级如何?如何保证内部储存的密钥和信息数据不被非法读取与篡改?

 
加密芯片是对内部集成了各类对称与非对称算法,自身具有极高安全等级,可以保证内部存储的密钥和信息数据不会被非法读取与篡改的一类安全芯片的统称。在嵌入式行业应用广泛。他的前身就是水电气表等行业的ESAM模块,专门用于线路数据的加密传输与密钥安全存放。随时代变迁演变出另一种用法,即嵌入式行业的版权保护应用。防止自主知识产权和研发成果被非法盗用。
 
一、安全加密芯片概述
 
加密芯片是对内部集成了各类对称与非对称算法,自身具有极高安全等级,可以保证内部储存的密钥和信息数据不被非法读取与篡改的一类安全芯片的通称。目前市场上面此类芯片有FM15160、A1006等。
 
1.1  安全加密芯片应用领域
 
使用到安全加密芯片的产品:银行加密U盾、刻录机、加密硬盘、PC锁、手机、智能门锁、公交地铁等。在使用到安全加密芯片这些产品中,储存在安全芯片里面的数据会进行高可靠性加密处理,使得这些数据很难被非法窃取。
 
IBM有一个专门的安全软件部门:IBM Client Security Software,配合安全芯片使用,可以对用户的数据进行加密处理,将密钥通过安全芯片储存在安全芯片中。例如你设置的开机密码、硬盘密码、BIOS密码、指纹信息、硬盘上数据加密使用的密钥指令的全部再次加密后,储存在安全芯片中,如果想要破解,就需要首先破解安全加密芯片。
 
例如硬盘加密,只要设置好密码,正常使用情况下,可以完全不用理会;如果密码忘记,这个硬盘就相对于报废了。同样,如果别人拿到你的硬盘,如果不知道密码,即使将硬盘接到别的机器上面,也是无法读出数据的,对于重要信息,能起到非常好的保密作用。
 
1.2  加解密算法
 
1.2.1  对称加密算法
 
对称加密算法也叫(私钥加密),指加密和解密使用相同密钥的加密算法,有时又叫传统加密算法。使用对称加密算法时,它要求发送方和接收方在安全通信之前,就商定一个密钥,对称算法安全性完全依赖密钥,泄漏密钥就意味任何人都可以对他们发送或者接收的信息解密。主要包括:DES、3DES、TDEA、AES、IDEA等。
 
DES加密算法使用64位密钥(实际56位)对64位固定长度信息加密,是早期的通信加密方法。由于密钥长度不够,在1977年就被暴力破解(穷举攻击法)。
 
在DES之后,又发展出TDES(3DES)算法,就是使用多个56位密钥对数据进行多次加密,使得密钥长度到达192位(实际168位),对应目前的计算机运算能力是无法破解的,但是该算法需要花费较大的软硬件代价,效率不尽人意。
 
为了解决TEDS的问题,又发展出AES算法。速度比TDES块,安全性能一样。
储存密钥和信息数据不被非法读取与篡改该如何保证?
                                                                              图1 AES和3DES的比较
 
1.2.2  非对称加密算法
 
非对称加密算法需要两个密钥:公开密钥和私有密钥。公开密钥与私钥是一对,如果用公开密钥加密数据,只有对应的私有密钥才能解密。如果使用私有密钥加密数据,只有公开密钥才能解密。非对称加密算法的保密性比较好,它消除了最终用户交换密钥的需要。非对称密钥也有缺点,在某些极端情况下,加解密速度会比对称加密慢1000倍。
 
常用的非对称加密算法有:RSA、Elgamal、背包算法、ECC(椭圆曲线加密算法)。
 
RSA速度慢,适合少量数据加密,算法目前密钥长度低于1024位的,目前也面临被破解的风险。
 
ECC所需的密钥长度比RSA短,安全性能高于RSA。但是算法数学理论非常深奥和复杂,工程应用中较难实现。
 
ECC和RSA相比,在许多方面都有绝对优势,主要体现在以下几个方面:
 
抗攻击性强。相同的密钥长度,其抗攻击性要强很多倍;
 
计算量小,处理速度快。ECC总的速度比RSA、DSA要快很多;
 
储存空间占用小。ECC的密钥尺寸和系统参数与RSA、DSA相对要小很多,意味着它所占用的储存空间小,对应IC卡的应用具有特别重要的意义;
 
带宽要求低。当对长消息进行加密时,ECC和RSA、DSA有相同的带宽要求,对应短消息加密时,ECC带宽要求比RSA、DSA低很多。带宽要求使得ECC在无线网络领域具有广泛的应用前景。
 
1.2.3  杂凑算法
 
Hash算法又称为摘要算法,它可以将任意数据通过一个函数转换成固定长度的数据串,主要用于验证消息是完整性和发送消息的者是否为冒充。应用主要有文件校验、数字签名、鉴权协议等。该算法有极低的概率出现不同的数据处理后出现相同的结果。
 
目前常用的Hash算法有:MD4、MD5、SHA-1等。
 
1.2.4  国密算法
 
任何一个国家,出于政治和经济需要,以及站在维护国家安全的角度,在密码的管理上都是非常严格的,我国也发展出一系列国家加密算法,简称国密算法,如SM1、SM2、SM3、SM4、SSF33等。如对称算法SM4,非对称算法SM2,杂凑算法SM3。
 
1.3  安全加密芯片处理速度
 
加密芯片数据加密、解密速度是芯片性能一个重要指标。比较使用3DES算法,使用MCU软件实现的处理数据流加密非常慢,但是使用加密芯片可以轻松实现6Mbps的处理速度。如比较复杂的ECC算法,在A1006加密芯片上,认证时间50ms。
储存密钥和信息数据不被非法读取与篡改该如何保证?
                                                                            图2 FM15160运行速度
 
1.4  芯片安全特性
 
芯片防篡改设计,唯一系列号,可以防止SEMA/DEMA、SPA/DPA、DFA和时序攻击;
 
多种检测传感器:高压和低压传感器、频率传感器、滤波器、脉冲传感器、温度传感器等;
 
具有传感器寿命测试功能,一旦芯片检测到非法探测,将启动内部的自毁功能;
 
总线加密,具有金属屏蔽防护层,探测到外部攻击后,内部数据自毁;
 
真随机数发生器,避免伪随机数。
 
1.5  芯片评估保证级
 
信息安全产品分级评估是指依据国家标准GB/T 18336-2001,综合考虑产品的预期应用环境,通过对信息安全的整个生命周期,包括技术、开发、管理、交付等部分进行全面的安全性评估和测试,验证产品的保密性、完整性和可用性程度,确定产品对预期应用而言是否足够安全,已经在使用中隐含的安全风险是否可以容忍,产品是否满足相应评估保证等级的要求。
 
在GB/T 18336中定义了一下7个评估保证级:
 
评估保证级1(EAL1)-功能测试;
 
评估保证级2(EAL2)-结构测试;
 
评估保证级3(EAL3)-系统地测试和检查;
 
评估保证级4(EAL4)-系统地设计、测试和复查;
 
评估保证级5(EAL5)-半形式化设计和测试;
 
评估保证级6(EAL6)-半形式化验证的设计和测试;
 
评估保证级7(EAL7)-形式化验证的设计和测试。
 
分级评估是通过对信息技术产品的安全性进行独立评估后所取得的安全保证等级,表明产品的安全性级可信度。获取的认证级别越高,安全性与可信度越高,产品可对抗更高级别的威胁,适用于较高的风险环境。
 
如SmartMX2TM安全微控制器获取EAL6+通用安全标准认证。
 
二、FM15160芯片应用设计
 
2.1  FM15160概述
 
FM15160是一款基于FLASH的USB key安全芯片。
储存密钥和信息数据不被非法读取与篡改该如何保证?