一、加密算法简介
1、HASH算法
哈希散列算法和哈希摘要算法
(1)概念:把一段任意长度的数据变成均匀分布固定长度的数据、反之不可以。y=Hash(x) 已知x可以得到y,反之不可以
(2)常见hash算法
MD5(64位) 、SHA、SHA1(160位) 、SHA256(256位)、SHA512(512位)、RIPEMD-160(160位)
2、对称加密和非对称加密
(1)常见对称加密算法
DES:数据加密标准,速度较快,一共有三个参数入口(原文,密钥,加密模式)。
3DES:是以DES为基础更安全的变形,对数据进行了三次加密,
AES:高级加密标准,新一代标准,加密速度更快,安全性更高
(2)常见非对称加密算法
RSA:该算法基于一个数论事实:将两个大质数相乘十分容易,但是想要对其乘积进行因式分解却及其困难,因此可以将乘积公开作为加密密钥
ECC: Ellipse Curve Cryptography,椭圆曲线算法(比特币使用)。通过椭圆曲线方程性质产生密钥。ECC164位的密钥相当于RSA1024位密钥提供的保密强度,而且计算量更小,处理速度更快,存储空间和传输带宽占用较少。
(3)加密方式对比
加密方式 常见算法 优点 缺点
对称加密|DES、3DES、AES、TDEA、RC5、Blowfish、IDEA、...|加解密快速,使用简单;
常用于对大量数据加密|
密码/密钥需要在网络上传输,不安全;秘钥管理困难;安全等级依赖秘钥长度
非对称加密
RSA、ECC、...
只有公钥在网络上传输,私钥留在本地,相对安全
加解密比较慢,使用复杂;有被劫持风险
混合模式(对称和非对称)
使用对称加密模式,但是对加密的密码使用非对称加密方式传输
3、国密算法
加密名称 加密方式 说明
SM1 对称加密 强度与AES相当,不公开
SM2 非对称加密 基于ECC
SM3 哈希算法 校验结果为256位,安全性要高于MD5算法和SHA-1算法
SM4 对称算法 密钥长度和分组长度均为128位,安全性上高于3DES算法
二、安全芯片解读
1、安全芯片类型
按照硬件不同可分为以下三类:
(1)EEPROM加密:通过在EEPROM寄存器上通过user id,password认证的方式存储客户的核心数据。价格便宜、安全性较低
(2)逻辑电路加密:以逻辑门的方式把加密算法固化在硬件芯片中,一般为软硬件双结合的方式进行算法认证,此类芯片一般使用AES对称算法进行算法认证。
(3)单片机加密:采用智能卡内核如增强型8051内核 、ARM 32位SecurCore内核(SC100基于ARM7TDMI、SC300基于Cortex-M3),与专门处理加密算法的协处理器合二为一。可将一小部分代码移植到其中,功能强大,为常见的加密芯片类型。
(4)智能卡加密:使用存储器总线加密(Bus Encryption)技术,数据以密文方式存储在存储器中,即使入侵者获得数据总线的数据,也不可能知道密钥或者别的敏感信息(如数据还原方法);使用ISO7816协议
2、协处理器简介
(1)概念:一种协助中央处理器完成其无法执行或执行效率、效果低下的处理工作而开发和应用的处理器
(2)特点:
特点 说明
处理特定任务
数学协处理器可以控制数字处理;图形协处理器可以处理视频绘制
内核相连
可以附属于ARM处理器。通过扩展指令集或提供配置寄存器来扩展内核处理功能。通过协处理器接口与ARM内核相连
扩展指令集
提供一组专门的新指令添加到标准ARM指令集中,来扩展指令集。这些新指令是在ARM流水线的译码阶段被处理的。如果在译码阶段发现是一条协处理器指令,则把它送给响应的协处理器。如果该协处理器不存在,或不认识这条指令,则ARM认为发生了未定义指令异常
3、安全芯片工作模式
真值点判断:主控MCU在工作时,判断一下外部的加密芯片是否合法,然后决定自身是否要正常工作。判断加密芯片是否合法的方式有:PIN 码验证,对称算法运算(AES,DES 等),非对称算法运算(RSA,ECC 等),散列算法(HMAC-MD5,HMAC-SHA,HMAC-SM3 等)
数据加解密:将一部分数据秘钥存放在加密芯片中,当主控MCU工作需要解密时,从加密芯片将秘钥读出,然后在主控芯片中再解成明文使用。常见的加解密算法有:对称算法(AES,DES 等),非对称算法运算(RSA,ECC)等。
功能运算:将主控芯片的一部关键代码放在加密芯片中,当主控 MCU 工作时,传入参数,请求加密芯片执行运算,并获取计算结果。