之前几篇文章介绍了权限以及相应权限的含义,本部分主要介绍如何切换安全状态Z的值从而获取相应的操作权限。
外部认证获取权限介绍
外部认证密钥:39类型的3DES密钥。
再增加39类型密钥时会有一个“后续状态”的字节,该字节只有低4位有效。表示外部认证通过后的芯片切换的状态。
后续状态为一个字节,只有低4位有效范围为0~F,高四位值任意。
后续状态 = ‘X5’:表示外部认证通过后芯片安全状态Z切换到5。
后续状态 = ‘X8’:表示外部认证通过后芯片安全状态Z切换到8。
后续状态 = ‘XD’:表示外部认证通过后芯片安全状态Z切换到D。
Eg.80D4 0100 15 39F0F0FAFF11223344556677881122334455667788;例如增加该00号39密钥时“后续状态”字节为FA。表示如果使用00号39密钥进行外部认证通过后芯片的安全状态将会切换到A。
注:可以增加多条39外部认证密钥,通过使用不同的39密钥进行外部认证获取相应的权限
认证次数说明
外部认证是可以设置认证次数的,一旦达到认证次数则锁死密钥,以防止认为的恶意攻击。增加39类型密钥时会有一个“错误计数器”的字节。只要在“错误计数器”达到最小值之前认证成功“错误计数器”会复位到所设置的最大值
错误计数器为一个字节,分为两部分:高4位X和低4位Y部分。
X ≥ Y (X=0除外),表示可尝试的最大认证次数为Y;
X < Y或(X=0) ,表示该密钥可以无限次认证,没有错误次数限制;
Eg:错误计数器 = ‘FF:表示外部认证最大认证次数为F次
错误计数器 = ‘F9:表示外部认证最大认证次数为9次
错误计数器 = ‘89:表示可以无限次进行外部认证
错误计数器 = ‘00:表示可以无限次进行外部认证
错误计数器 = ‘01:表示可以无限次进行外部认证
下篇文章会介绍外部认证的流程示例。