国密(3)- 预主密钥/主密钥计算和Finished消息的加解密

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

本文给的例子是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

评论 18
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值