【已解决】【TuyaOS OS】系统安全相关问题

IPC/NVR/可视门铃等具备多媒体能力的设备,扫地机/AGV等机器人设备


Post Reply
ryxiong
Posts: 25

请教下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)

qishan.wu
Posts: 3

Re: 【TuyaOS OS】系统安全相关问题

涉及功能有些多,我先确认下,会尽快回复。

qishan.wu
Posts: 3

Re: 【TuyaOS OS】系统安全相关问题

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启动应用程序,客户可根据自己需要配置。

  1. 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文件头部签名的三种方式。分别是不加签,云端加签,本地加签。
  1. vendor/rts3917/tuyaos/build/images.mk 中BUILD_KERNEL_IMAGE
    vendor/rts3917/tuyaos/build/images.mk 这个没有使用, 使用的是components/board_template/image_builder.mk
  1. 另外问下board configuration中两个配置的意义是什么,生成的zip包的用途是什么?看起来跟测试有关。
    [ ] product test libary pack support
    [ ] tuyaos product sign (NEW)

这两个配置是生成产测包,生成的zip包用来生产时使用,来验证硬件功能用。

ryxiong
Posts: 25

Re: 【TuyaOS OS】系统安全相关问题

请教下,sdk中并没有看到kernel的加密启动与安全启动等,另外还有些问题需要请教:
目前的产品对于安全是怎么实现的,需要做到哪些?
1.kernel的安全启动是否不需要?
2.kernel加密是否需要实现?
3.rootfs加密是否有实现:对于启动时需要传递给kernel的bootargs (即 dm-mod.create= 字串信息)是如何处理的,
有看到partition_config有把bootargs放到最后一个分区parttn_info中,但是看起来这个分区又没有被uboot等读取,所以看起很多地方并不完善

所以目前对于安全以及加密启动的细节,是客户自己来决定要实现哪些,以及如何实现么?是不是并没有统一的规范?

qishan.wu
Posts: 3

Re: 【TuyaOS OS】系统安全相关问题

目前ipc产品系统安全主要是指各个分区的加密,ota加验签。

  1. kernel安全启动,如果指的是secure boot,目前没有实现。
  2. kernel加密,涉及到uboot代码修改,目前ipc产品没有使用,客户可以根据需要自己开发。
  3. rootfs加密,已经实现,并在产品上验证过。
    dm-mod.create参数主要修改是文件系统分区大小计算,要按实际rootfs分区大小乘2。

例如:
mtdparts中是1408k(rootfs)
dm-mod.create=\"dm-crypt,,0,rw,0 2816
其中2816=1408*2,其它不用修改。

  1. partition_config这个组件是新开发的功能,还需要完善,目前ipc产品上没有使用,暂时不建议使用。
Post Reply