“key_share”和"pre_shared_key" 的区别


越是基本的问题或者概念越是难解释或者讲清楚,论文写到现在真的好无助的样子 。

   在LTS协议中牵扯到握手的认证和秘钥建立的时候,这连个概念经常混淆,TLS1.3版本协议为参照,区别这两个概念

1、概念的解释

          key_share是椭圆曲线类型对应的公钥扩展。

          pre_shared_key(对称秘钥)是预共享秘钥认证机制PSK生成的对称秘钥,PSK是一种身份认证机制。

2、key_share中包含的是椭圆曲线类型对应的公钥

          psk其实即使Session ticket外加一些检验的东西 ,

3、目前来说已经实现的TLS1.3中并不是不能连接TLS1.2,这就牵扯到TLS协议的降级保护问题。

    在TLS1.3协议版本中定义的时候为了能够兼容TLS1.2,添加了额外的信息

 像 在 ClientHello 结构体中存在的  legancyVersion   legacySessioID   LegacyCompressionMethods 的定义为了兼容TLS1.2,但是,在TLS1.3中的 Support_version的优先级明显高于 legancyVersion

ClientHello主要通过Extension 传递协商必要的材料(参数,算法),第一次CLientHello 至少包含以下五个Extension :

     ServerName :请求的主机名

     SupportedVersion :支持的协议版本

     SignatureAlgorithms: 所支持的签名算法

     SupportedGroup: 用于秘钥交换

     key_share:秘钥协商对应的公钥,每一个supportgroup需要有对应的keySahre

     key_share:  

4、HKDF(HMAC_base_key_derivation_function)秘钥导出函数

5、TLS1.3 定义了多种报文

6、    

 

 

 

         

         

      

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM