正确的理解加密芯片
2017-12-14 17:08
211 查看
在过去几年的工作中,用过N多次加密芯片,那个时候对加密芯片的理解就是,用一个单片机芯片,两端分别放好一样的密钥,然后自己定义一个通信协议。两边通过协议交换一下数据,如果数据是想要的认为加密成功,否则就失败停止工作。当接触加密芯片这个行业之后,发现其实上述的这种加密方式,也可以应用,只是此方式比较容易破解,也容易跳过加密芯片。但是真正的加密芯片就不一样了。下面我简单描述一下我现在对加密芯片的一些观点:
1、比较简单低成本的加密芯片(武汉瑞纳捷RJGT102),芯片内部是用的纯硬件的逻辑电路实现的。原理也是相互之间存放一样的密钥,用IIC(也可以别的通信协议)接口进行数据互换。当互换之前都运用一些加密算法(如:SHA-256),把密钥加密一下,防止在IIC数据线上抓下数据规律。
2、相对第一种加密芯片,这种芯片(武汉瑞纳捷RJMU401)的保护作用更加强大,当然成本也会贵一些。这种加密芯片通常会自带一个处理内核,并有一定的存储空间,目的是可以将其他MCU的部分程序或者是主要数据、算法放入加密芯片中。而加密芯片中会有很多加密算法保护这些数据、代码(如:DES/AES/SM1/SM4/RSA/SM2/SM3等等)。并且此类芯片通常还有防篡改检测电路、有防止外部恶意攻击的措施(主要防止破片抄袭)。
3、还有一些更加高端的加密芯片,他们的作用是由于保护一些互联设备、无线设备。此类加密芯片除了需要具备以上两点之外,还需要有一定的鉴权中心,提供密钥管理设备,用于密钥产生、销毁。密钥产生由密钥网关分发到加密芯片。从而实现远程、不定时的更换密钥。
以上这些观点仅代表个人,如果那些大神有更深的见解,请赐教!
1、比较简单低成本的加密芯片(武汉瑞纳捷RJGT102),芯片内部是用的纯硬件的逻辑电路实现的。原理也是相互之间存放一样的密钥,用IIC(也可以别的通信协议)接口进行数据互换。当互换之前都运用一些加密算法(如:SHA-256),把密钥加密一下,防止在IIC数据线上抓下数据规律。
2、相对第一种加密芯片,这种芯片(武汉瑞纳捷RJMU401)的保护作用更加强大,当然成本也会贵一些。这种加密芯片通常会自带一个处理内核,并有一定的存储空间,目的是可以将其他MCU的部分程序或者是主要数据、算法放入加密芯片中。而加密芯片中会有很多加密算法保护这些数据、代码(如:DES/AES/SM1/SM4/RSA/SM2/SM3等等)。并且此类芯片通常还有防篡改检测电路、有防止外部恶意攻击的措施(主要防止破片抄袭)。
3、还有一些更加高端的加密芯片,他们的作用是由于保护一些互联设备、无线设备。此类加密芯片除了需要具备以上两点之外,还需要有一定的鉴权中心,提供密钥管理设备,用于密钥产生、销毁。密钥产生由密钥网关分发到加密芯片。从而实现远程、不定时的更换密钥。
以上这些观点仅代表个人,如果那些大神有更深的见解,请赐教!
相关文章推荐
- 怎样正确的理解和解决 ORA-01843:not a valid month
- 正确理解hibernate的inverse属性
- String虽然很简单,但他的某些特性你真理解正确了吗?
- 架构之路---对ThreadLocal的正确理解
- if __name__ == '__main__' 如何正确理解?
- LKT4200 32位高端防盗版加密芯片
- 正确理解差异的“专业意义”与“统计学意义”
- ql数据库主键外键的正确理解-级联删除
- 正确理解 ThreadLocal 的原理与应用场景
- ATSHA204A加密芯片之--MAC校验代码
- 如何正确理解自动化测试技术
- 深入理解C实现文本文件的加密解密,读取长度操作
- 正确理解ThreadLocal
- LKT4101 8位增强型防盗版加密芯片
- LKT4104 8位多IO防盗版加密芯片
- 正确理解 C# 中的 ref 关键字 (续)
- 算法移植类加密芯片说明
- 正确理解文件与目录的可读、可写、可执行权限
- 关于Expdp/Impdp 并行导入导出详细测试结果和并行参数的正确理解!!
- 正确理解Linux内存占用过高的问题