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

电子说

1.3w人已加入

描述

本文导读

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

一、安全加密芯片概述

加密芯片是对内部集成了各类对称与非对称算法,自身具有极高安全等级,可以保证内部储存的密钥和信息数据不被非法读取与篡改的一类安全芯片的通称。目前市场上面此类芯片有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块,安全性能一样。

SPI

图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。

SPI

图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安全芯片。

SPI

图3 FM15160特性

2.2  FM15160芯片封装

SPI

图4 FM15160 IC卡封装

2.3  FM15160原理图设计

SPI

图5 FM15160原理图

2.4  FM15160安全验证过程

芯片SPI接口为双向全双工、同步串行总线协议。

MCU通过SPI接口和FM15160进行通信,通信帧格式可以按照ISO7816,加密和解密都可以通过SPI接口按照ISO7816格式,发送数据到FM15160进行解密和解密。举例获取设备信息如下:

SPI

图6 获取设备信息

SPI

图7 相应数据

三、A 1006芯片应用设计

图8 A1006加密芯片

3.1  A1006概述

NXP的A1006具有安全认证功能,给设备的软件硬件提供了一个芯片级防止假冒、复制的强大安全解决方案。它具有低功耗、体积小、接口灵活、卓越的安全性等特点,同时A1006易于集成电子设备中。

3.2  芯片特性

  • 基于Diffie-Hellman的独特非对称性密钥交换协议,加密和解密使用两个不同的密钥;

  • 攻击自锁功能;

  • 验证时间小于50ms;

  • 支持单总线和I2C两种通信接口;

  • 功耗最低至3uA;

  • 4Kbit EEPROM、10年数据保存、50万次擦写;

  • 工作温度范围达到工业级:-40℃~85℃。

SPI

图9 A1006引脚图

SPI

图10 A1006引脚说明

3.3  A1006原理图概述

使用I²C接口和通常的EEPROM一样,使用比较常见,这里不再介绍。当使用单线接口OWI时,原理图设计如图10所示。在OWI线上,需要一个外接上电电阻,用于当主机和从机都释放总线时给总线供电。

SPI

图11 OWI操作连接

3.4  A1006安全验证过程

SPI

图12 A1006安全验证过程

  • host生成随机数r,与G组合成rG发送给A1006;

  • A1006利用私钥计算q(rG),并将结果和证书cert(Q)一同发送给Host;

  • Host先验证证书是否有效,如果有效就从证书中提取出公钥Q,并生成rQ,然后对比rQ和A1006返回的q(rG)是否相等,如果相等则认为此A1006验证通过,否则验证失败。

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分