密码学中的主要算法:
- 单项散列(md5,sha1,sha256):保证消息的完整性。
- 消息认证(hmac):保证消息的完整性和真实性。
- 数字签名:保证消息的完整性、真实性和不可否认性。
- 伪随机数生成(ctr_drbg):生成随机数增加安全性。
- 对称加密(aes):加密通信消息。
- 非对称加密(ecc,rsa,dh):加密通信消息。
- 公钥密码(ecdh,rsa):交换密钥。
物联网设备端应用:
- ota固件校验:通过单项散列算法(md5)校验固件是否完整。
- mqtt连接:
- 证书:通过公钥密码算法得到对称加密秘钥,进行对称加密 aes-cbc。
- psk:通过认证消息找到密钥,进行对称加密通信。
- 动态注册:通过消息认证码算法发送动态注册消息,通过对称加密解密出设备信息。
- tls:遵循tls标准,使用相应的密码学套件。
常见问题:
1.证书加密和密钥加密的区别?
证书加密消耗资源更多(rom,ram),但是由于使用了临时密钥,保证了前向安全。
2.设备密钥泄漏怎么办?
密钥应当妥善并安全地保存在设备当中,根据安全性可以使用软加固、TEE和安全芯片等方式存储。如若设备密钥泄漏,则需在后台删除设备信息,以保护数据安全。