【分享】bsp 安全功能介绍

基于TuyaOS系统下Linux内核的新平台导入、设备开发,如IPC、网关、中控、音箱、灯带、门铃等等
Post Reply
shanjm
Posts: 11

key-value 键值对(nvram)

​ key-value 键值对(nvram)存储在flash 独立的分区,采用双备份的存储方式和aes128 加密确保数据安全,密匙在编译的时候动态可配置,用于存储PID,UUID ,AUTH KEY 和加密密匙等重要信息。

文件系统加密

​ 文件系统采用AES128 aes-cbc-essiv:sha256 加密算法,密匙在工程kconfig 里可配置,存在key-value 键值对中,目前已经支撑squashfs,jffs2,ubifs2,yaffs2 的加密。

ota

​ ota 固件使用云端加签和本地 secp256k1加签结合的方式,确保安全的基础上,给用户多中选择配置。

一机一密

​ rootfs 登录密码使用sha256加密,系统集成linux 的overlay fs,用户产测注入不同的登录密码,保障不同的设备有不同的登陆密码。

串口禁用

​ uboot 里通过固定密码加enter 开关来进入uboot,enter 开关存在key-value 键值对中, linux 中的串口通过设置 key-value键值对来禁用串口,串口一单禁用,就无法登陆系统,也没有日志输出,保障了系统的安全。

kernel 加密

​ kernel 在打包时通过aes128加密,uboot 起来后加载kernel,解密kernel加载程序,密码在编译的时候可配置,密码不匹配,系统加载失败,保障非法kernel 在本系统中无法运行。

黑白名单

​ 用于对访问设备的ip进行安全控制,没有许可的ip 不允许访问系统。

非root 跑业务

​ 利用linux 的分级权限管理capabilities,来对root权限进行更加细粒度的划分,给普通用户运行程序的最小权限,保障系统的安全。

elf文件加签

​ 对elf 文件进行secp256k1加签,签名方法和ota 方式一致,密匙独立,签名放在elf 文件尾部,运行程序时linux 在load_elf_binary中加载elf 数据段和代码段之前进行验签,验证失败则不能运行程序,保证非法程序在系统中运行,利于系统安全。


Tags:
Post Reply