1、前提介绍
JTAG鉴权方法通过用户名、密码及硬件密钥验证,实现对芯片调试接口的安全访问控制。
用户需要通过全程认证后才能通过jtag接口访问soc,防止非法使用jtag读取和写入片上信息;
JTAG(IEEE 1149.1)最初用于电路板生产测试和边界扫描,现在广泛用于芯片调试、程序烧录及端口状态检测。JTAG接口通常包括TDI、TDO、TMS、TCK四根信号线,部分设计还可增加TRST作为复位线。通过JTAG链,外部设备可以访问芯片内部寄存器和功能模块,因此接口安全性至关重要。
在RISCV中,可以使用jtag利用openocd、gdb等软件工具访问soc的寄存器和功能模块;
2、车载以太网芯片的JTAG鉴权方法
针对车载芯片的安全需求,昆高新芯微电子提出了一种基于双层密钥和用户名密码的鉴权方法:
芯片唯一标识与密钥配置
每片芯片配置唯一的Chip ID,以及三个鉴权密钥:auth_key0、auth_key1、auth_key2。
访问请求验证流程
用户通过JTAG接口发起访问请求,依次输入用户名(user_name)、密码1(password1)和密码2(password2)。
密码1和密码2分别与硬件算法计算的期望结果进行比较。
若验证成功,JTAG访问模块被使能,允许调试或访问芯片内部;若任意验证失败,则进入重试等待。
当重试次数达到上限,硬件逻辑停止鉴权流程,关闭访问通道,并可通过以太网报文通知受信端口,防止恶意访问。
安全特性
一芯片一密码:同一批次芯片使用不同用户名和密码,避免批量破解风险。
访问次数限制:防止暴力破解,超过限制立即锁定JTAG权限。
硬件算法保护:密钥验证在硬件层完成,提高安全性。
3、高安全性芯片(HS芯片)的JTAG加解锁
以德州仪器 TI JacintoTM 7系列为例,JTAG接口的安全控制包括两种方案:
离线加解锁
对核心镜像进行x509证书签名,配置debug extension设置JTAG权限。
适用于调试需求少、镜像可实时更新的环境。
部署简单,但灵活性较低。
实时加解锁
系统默认锁死JTAG,通过外部接口发送特定解锁证书进行权限解锁。
芯片下电后仍保持锁死状态。
安全性高,操作便捷,适合后期调试需求多且镜像更新受限的环境。
4、总结
JTAG鉴权方法的核心是通过多层认证机制控制接口访问,包括用户名密码、硬件密钥验证、访问次数限制及证书授权等措施。不同芯片平台可采用硬件算法验证、离线或实时加解锁方案,以确保芯片内部功能和数据的安全性,同时防止未授权访问和潜在攻击。