Page 1 of 1
【已解决】【TuyaOS OS】系统安全相关问题
Posted: 2023年 Jun 9日 16:52
by ryxiong
请教下tuyaos常规的系统安全部分的配置需要配置哪些,是否配置secure boot \\ cryptfs \\ user mode run app即可。
CONFIG_TUYA_TARGET_SECURE_BOOT
CONFIG_TUYA_TARGET_CRYPTFS_ENABLE
CONFIG_TUYA_TARGET_USER_MODE_RUN_APP
另外swupgrade_unpack option config 下面的
[ ] enable url install
[ ] sleep a while between sectors when doing erase/write
[ ] enable write flash before check. for double copy only now.
[ ] ir handler use 128kb block flash
[ ] tuya could sign and local verify
这些建议怎么配置。
另外对于secure boot:
我看vendor/rts3917/tuyaos/build/images.mk 中的
ifeq ($(CONFIG_TUYA_TARGET_SECURE_BOOT),y)
78 define BUILD_KERNEL_IMAGE
79 $(BUILD_SYSTEM)/scripts/mkits.sh -A $(TARGET_ARCH) -C none \
80 -a $(TARGET_KERNEL_LOADADDR) -e $(TARGET_KERNEL_ENTRY) \
81 -k $(TARGET_IMAGES)/zImage-dtb -s $(TARGET_IMAGES)/vboot_env.bin -o $(TARGET_IMAGES)/uboot.its
82 @cp $(TARGET_IMAGES)/u-boot.dtb $(TARGET_IMAGES)/u-boot-pubkey.dtb
83 $(MKIMAGE) -f $(TARGET_IMAGES)/uboot.its -k $(TARGET_SECURE_KEY) -K $(TARGET_IMAGES)/u-boot-pubkey.dtb -r $(TARGET_IMAGES)/kernel.bin
84 endef
被components/board_template/image_builder.mk中的BUILD_KERNEL_IMAGE覆盖了,导致并没有执行到,问下这是bug还是本来如此。
另外问下board configuration中两个配置的意义是什么,生成的zip包的用途是什么?看起来跟测试有关。
[ ] product test libary pack support
[ ] tuyaos product sign (NEW)
Re: 【TuyaOS OS】系统安全相关问题
Posted: 2023年 Jun 12日 14:13
by qishan.wu
Re: 【TuyaOS OS】系统安全相关问题
Posted: 2023年 Jun 13日 15:27
by qishan.wu
1.
CONFIG_TUYA_TARGET_SECURE_BOOT 目前只有配置项,底层没有实现secure boot
CONFIG_TUYA_TARGET_CRYPTFS_ENABLE 开启后,rootfs,drv,user分区会加密
CONFIG_TUYA_TARGET_USER_MODE_RUN_APP 这个是不使用root,使用user启动应用程序,客户可根据自己需要配置。
- swupgrade_unpack option config 下面这些配置项,主要一些平台问题处理,ipc产品可以不用开启。
[ ] enable url install 表示通过http upgrade下载固件,ipc产品没有使用这个。
[ ] sleep a while between sectors when doing erase/write nor flash写和擦flash时等待5ms, 一些产品cpu占用率优化.
[ ] enable write flash before check. for double copy only now. 双备份情况下,可以选择先写后校验, 单分区不需要。
[ ] ir handler use 128kb block flash 使用128k擦除,主要是nand flash,ipc目前没有用。
[ ] tuya could sign and local verify 这个用来加签和验签。 tuyaos支持的关于OTA文件头部签名的三种方式。分别是不加签,云端加签,本地加签。
- vendor/rts3917/tuyaos/build/images.mk 中BUILD_KERNEL_IMAGE
vendor/rts3917/tuyaos/build/images.mk 这个没有使用, 使用的是components/board_template/image_builder.mk
- 另外问下board configuration中两个配置的意义是什么,生成的zip包的用途是什么?看起来跟测试有关。
[ ] product test libary pack support
[ ] tuyaos product sign (NEW)
这两个配置是生成产测包,生成的zip包用来生产时使用,来验证硬件功能用。
Re: 【TuyaOS OS】系统安全相关问题
Posted: 2023年 Jul 5日 09:57
by ryxiong
请教下,sdk中并没有看到kernel的加密启动与安全启动等,另外还有些问题需要请教:
目前的产品对于安全是怎么实现的,需要做到哪些?
1.kernel的安全启动是否不需要?
2.kernel加密是否需要实现?
3.rootfs加密是否有实现:对于启动时需要传递给kernel的bootargs (即 dm-mod.create= 字串信息)是如何处理的,
有看到partition_config有把bootargs放到最后一个分区parttn_info中,但是看起来这个分区又没有被uboot等读取,所以看起很多地方并不完善
所以目前对于安全以及加密启动的细节,是客户自己来决定要实现哪些,以及如何实现么?是不是并没有统一的规范?
Re: 【TuyaOS OS】系统安全相关问题
Posted: 2023年 Jul 5日 17:47
by qishan.wu
目前ipc产品系统安全主要是指各个分区的加密,ota加验签。
- kernel安全启动,如果指的是secure boot,目前没有实现。
- kernel加密,涉及到uboot代码修改,目前ipc产品没有使用,客户可以根据需要自己开发。
- rootfs加密,已经实现,并在产品上验证过。
dm-mod.create参数主要修改是文件系统分区大小计算,要按实际rootfs分区大小乘2。
例如:
mtdparts中是1408k(rootfs)
dm-mod.create=\"dm-crypt,,0,rw,0 2816
其中2816=1408*2,其它不用修改。
- partition_config这个组件是新开发的功能,还需要完善,目前ipc产品上没有使用,暂时不建议使用。