CSEc Erasekey

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

CSEc Erasekey

Jump to solution
2,473 Views
xiaoweix
Contributor III

CSEc 擦除密钥用到的KDF函数,从一个密钥生成一个密钥,这个函数里面用到的master euc key可以是M1-M3吗,还是必须是明文?For the KDF function used in CSEc key erasure, which generates one key from another key, can the master euc key used in this function be M1-M3, or must it be plaintext?

0 Kudos
Reply
1 Solution
2,426 Views
Senlent
NXP TechSupport
NXP TechSupport

Hi@xiaoweix

是key不是M值,KDF函数的参数命名方式写的也很清楚,Authkey,不是M值。

View solution in original post

0 Kudos
Reply
7 Replies
2,443 Views
Senlent
NXP TechSupport
NXP TechSupport

Hi@xiaoweix

首先不能单独的对任何一个密钥进行擦除操作, 只能通过CSEc模块恢复出厂设置的命令擦除所有的密钥 。

 

 

 

所以我们可以看看我们提供的回复出厂设置命令的示例工程:你可以看到KDF的输入是MasterEcuKey而不是M值。Senlent_0-1763435900191.png

 

0 Kudos
Reply
2,438 Views
xiaoweix
Contributor III
@nxp TechSupport Senlent非常感谢您的回复,但我还是有点不明白,官方给的KDF函数展开,用的是36.5.13.28 CMD_MP_COMPRESS这个命令,Parameter Direction Width
DATA <n> IN n * 128
PAGE_LENGTH IN 16
MP_COMPRESS OUT 128
输入的DATA不止有128bit,可以n个,那这样是可以把M1-M3加载进去的吗,然后用这个来生成一个临时key,再来计算授权码,然后可以实现回复出厂化设置吗?
0 Kudos
Reply
2,439 Views
xiaoweix
Contributor III
非常感谢您的回复,但我还是有点不明白,官方给的KDF函数展开,用的是36.5.13.28 CMD_MP_COMPRESS这个命令,Parameter Direction Width
DATA <n> IN n * 128
PAGE_LENGTH IN 16
MP_COMPRESS OUT 128
输入的DATA不止有128bit,可以n个,那这样是可以把M1-M3加载进去的吗,然后用这个来生成一个临时key,再来计算授权码,然后可以实现回复出厂化设置吗?
0 Kudos
Reply
2,434 Views
Senlent
NXP TechSupport
NXP TechSupport

Hi@xiaoweix

我不知道我们是不是在讨论同一个函数。

KDF函数是自己定义的一个用于计算 M1~M5值的工具函数

KDF(AuthKey, Constant, K_out)

参数AuthKey和 Constant均为 16个字节长度的输入参数, K_out为 32个字节长度的输出

KDF函数功能是将参数 AuthKey和 Constant连接后,使用 CSEc模块的 CSEC_DRV_MPCompress()压

缩算法API,得到输出的 K_out。

整个重置的流程是:

CSEC_DRV_Init(&csec1_State);
Res = CSEC_DRV_InitRNG();
Res = CSEC_DRV_DbgChal(Challenge);
Res = CalculateDbgAuth(MASTER_ECU_KEY,Challenge,DbgAuth);
Res = CSEC_DRV_DbgAuth(DbgAuth);

初始化谁随机数,

生成随机数“Challenge”,

用户将该随机数与MASTER_ECU_KEY 和 UID 一起用于返回授权请求。

如果 CSEc 确认授权,则此功能会删除存储在 NVM 内存中的所有密钥(实际密钥和过期密钥)。

0 Kudos
Reply
2,430 Views
xiaoweix
Contributor III
@nxp TechSupport Senlent非常感谢您的回复,
KDF函数功能是将参数 AuthKey和 Constant连接后,使用 CSEc模块的 CSEC_DRV_MPCompress()压
缩算法API,得到输出的 K_out。
那KDF是只能用明文和Constant连接,不能用密文和Constant连接是吗?
期待您的回复!
0 Kudos
Reply
2,427 Views
Senlent
NXP TechSupport
NXP TechSupport

Hi@xiaoweix

是key不是M值,KDF函数的参数命名方式写的也很清楚,Authkey,不是M值。

0 Kudos
Reply
2,419 Views
xiaoweix
Contributor III
非常感谢
0 Kudos
Reply