嵌入式系统加密方案
文章目录
1、嵌入式代码加密:
1.1 禁止读出Flash存储器内容,可以代码中设置也可以烧录时添加加密选项;
1.2 STM32用ID加密程序;
2、传输层协议加密
传输层协议modbus rtu/modbus tcp以及DL645协议加密
modbus rtu/modbus tcp常用指令有 03 06 16指令
2.1加时间戳和ID号、校验位验证唯一性
2.2 重发机制的完善
2.3混合加密
一般情况下要保证数据的安全性和加解密的效率,都是对称加密和非对称加密结合使用的,称之为混合加密。例如,我们可以先产生一个随机数,也就是所谓的会话密钥(Session Key),作为对称加密的密钥,用来加密数据。然后用非对称加密方式的公钥加密会话密钥,因为会话密钥很短,通常只有 16 字节或 32 字节,所以慢一点也无所谓。对方拿到密文(非对称加密后的会话密钥)后用私钥解密,取出会话密钥。这样,双方就实现了对称密钥的安全交换,后续就不再使用非对称加密,全都使用对称加密发送数据。这样做就可以先保证密钥传输的安全性,再间接的保证通讯的安全性,即可以保证密钥传输的安全性,同时也可以保证后续数据传输过程中加解密的效率,因为我们只需要用非对称加密方式来加密会话密钥,而数据的加密则使用对称加密的方式。我们所熟知的HTTPS协议的底层原理,其实使用的就是这个原理。
2.4安全性身份认证
关于身份认证,首先是针对非对称加密来讲的,就是说我们拥有两个密钥,一个是公钥,一个是私钥。
• 公钥加密,私钥解密的作用是加密信息。因为只有拥有私钥的人才可以获取信息明文。
• 私钥加密,公钥解密的作用是身份认证。因为只有拥有私钥的人才可以发送信息密文。