本文给的例子是ECC-SM3-SM4-CBC;
GBT-38636-2020(传输层密码协议TLCP) 定义了pre-master key 和 master key;
Pre- master Key 48字节长度,version 2字节,随机数46字节,由客户端产生。采用SM2加密后的密文放在client key exchange 里发送;

pre-master key:
0101 版本号
E582AAC5064CF164DCAC7A14BFEC7BF30AF646558DC7DC63CBC77265EDE6E7721D2161FA098EF3EC41FECBFEF107 46字节随机数
Master key 计算公式:
下面是标准的master key的计算方法;

如果客户端和服务端在hello消息都携带了extended_master_secret扩展项的话,将会采用扩展方法进行master key的计算,这个方法在RFC7627里定义。不在本国密规范定义;
master_secret = PRF(pre_master_secret, "extended master secret", session_hash)[0..47];
A0 = seed = 6d617374657220736563726574B20653C9B35996333D8079CF401FE28791704502700584C4C6A0F04894597DE1D76E6BC156B1BA2A5CEA6C251B6C2038E00CBD8194132BC33452E22E0F324F2D
A1 = 45 AC 10 55 74 46 2C 6A 68 41 6C 93 22 94 F2 8F 88 C7 1C 76 EC 22 E9 09 29 D3 D1

本文详细解析了TLS协议中的ECC-SM3-SM4-CBC密码套件,包括pre-masterkey和masterkey的生成过程。介绍了masterkey的计算方法,以及PRF函数在生成client_write_MAC_secret和server_write_MAC_secret等工作密钥中的应用。同时,展示了Finished消息的加密解密流程,以及SM3和HMAC在验证消息完整性的关键作用。整个过程揭示了TLS协议确保数据安全的复杂性和严谨性。

1424

被折叠的 条评论
为什么被折叠?



