第三周进展

发布时间 2023-12-09 18:59:31作者: 周意凯

密码套件(微软资料)

密钥交换   签名  主体加密    消息身份验证   椭圆曲线

 

由此小结一下 TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256的含义

    1)TLS:Transport Layer Security (TLS),表明了密钥套件的协议
    2)ECHDE:Elliptic Curve Diffie-Hellman Ephemeral (ECDHE),表明了密钥交换的算法
    3)RSA:Rivest Shamir Adleman algorithm (RSA),表明了签名加密算法、握手期间的身份认证机制。
    ECHDE_RSA,用于决定客户端与服务器之间在握手时如何身份验证。
    当服务器配置ECC证书时,加密套件只能选择XXX_ECDSA_XXX或者ECDH_XXX。
    当服务器配置RSA证书时,只能选择RSA_XXX或者ECDHE_RSA_XXX形式的加密套件。
    ECDHE_RSA,表明了证书必须是RSA签名的,证书里的公钥必须是RSA的公钥。
    4)AES_128_GCM,用于加密消息流。上面的ciphersuite.info原话直译是:在 Galois/Counter 模式下具有 128 位密钥的高级加密标准 (AES 128 GCM)。其中,
    AES:Advanced Encryption Standard,AES,会话加密算法。用于加密消息流
    128:会话加密密钥的大小(128位)
    GCM:GCM ( Galois/Counter Mode) 指的是该对称加密采用Counter模式,并带有GMAC消息认证码。二者分别保证了加密算法的保密性、完整性。
    5)SHAR256,Secure Hash Algorithm 256 (SHA256),消息认证码算法 使用SHA算法,长度是256位,用于创建消息摘要,消息流每个数据块的加密散列。
    6)整体上,显然这是TLS握手过程中Server Hello里面携带的信息,由两个字节表示。我们可以从TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256分析出,从数据交换身份验证到会话加密、消息加密都有算法约定

原文链接:https://blog.csdn.net/H_O_W_E/article/details/125247938

 

GCM和CBC都是AES的分组模式之一

详见:https://zhuanlan.zhihu.com/p/558881344

 

抓包数据中:

Server Hello,Certificate

82、83字节是00 3c        
TLS_RSA_WITH_AES_128_CBC_SHA256
306~30e字节是2a 86 48 86 f7 0d 01 01 0b     
Algorithm Id: 1.2.840.113549.1.1.11 (sha256WithRSAEncryption)

 

 

 

在Lua语言中,do ... end 被用来创建一个局部作用域,以控制变量的可见性和生命周期。在Wireshark的Lua插件中,使用 do ... end 可以确保在插件中定义的变量不会影响到其他部分的代码,并且可以避免命名冲突。

 

 心得体会:

实在是不方便调试,也不知道哪里错了。说实话学会写最简单的lua了之后,这个项目就变成了wireshark数据分析,因为难得做不来,只能基于抓包数据来写代码。