TLS密码套件规范命名解释

1、TLS密码套件的命名规范

    TLS 1.2 规范

   

TLS1.3命名规范

所谓的TLS(Transport Layer Security)其实就是SSL。其中的差别为,SSL是旧版,而TLS是新版。SSL最后的二个版本为2.0及3.0。可是因为这二个版本过于老旧,且都存在有安全缺陷,因此不建议继续使用。而TLS的版本则由1.0起跳,后续的版本为1.1及1.2。目前这三个版本都是安全的,而接下来的ECDHE_RSA_WITH_AES_128_GCM_SHA256则是所谓的Cipher Suite。根据RFC 5246附录C的定义,Cipher Suite共分为三个部分,分别是密钥交换(Key Exchange)、加密算法(Cipher)及信息鉴别码(MAC;Message Authentication Code)
以此上图为例,密钥交换的算法为ECDHE_RSA。
ECDHE指的是Ephemeral Elliptic Curve Diffie-Hellman(有限域的椭圆曲线)算法。而RSA指的则是透过RSA算法签署ECDHE算法所传递的公钥参数。这是因为匿名的ECDHE算法无法抵挡中间人攻击所加入的防护机制。
Diffie-Hellman是一种用于协议密钥(Key Agreement)的非对称加密算法。透过DH算法,通信双方可以协商出共同的秘密密钥,而后将该密钥用于后续的对称式加密。而在TLS的构架中,则更进一步将DH算法加入短暂模式(DHE;Ephemeral DH)借此以支持所谓的Forward Secrecy,以达到在密钥外泄时,确保先前已加密数据的秘密性。然而由于DH算法的安全性是建构在数学上的难解问题,故算法的密钥长度必须够大,才能确保算法的安全性。以目前的标准来看,其建议长度为2048位。然而足够的密钥长度虽然可以确保算法的安全性,但牺牲掉的却是效率。为了改善这样的问题,因此有学者提出,可以用椭圆曲线函数(Elliptic Curve)实践DH算法,也就是所谓的ECDH(Elliptic Curve Diffie–Hellman)算法。ECDH算法最大的优势在于,在安全性强度相同的情况下,其所需的金钥长度较短。以DH算法密钥长度2048位为例。ECDH算法的密钥长度仅需要224位即可。同样的在TLS的构架中,ECDH算法也具备短暂模式–ECDHE,以借此支持Forward Secrecy。
接着加密算法的部分则是AES_128_GCM。
AES_128_GCM指的是透过AES算法的伽罗瓦/计数器模式(GCM;Galois/Counter Mode),以128位的密钥加密数据。这种作法,最大的特色是速度快、安全并且可以支持数据的完整性验证(Data Authentication)。并且伽罗瓦/计数器模式可经由硬体实作来实践低成本、低延迟的高速数据处理。
而最后信息鉴别码的部分则是SHA256。在TLS的构架中,信息鉴别码的产生采用的是HMAC(Keyed-Hash Message Authentication Code)算法。HMAC算法是一种以哈希函数搭配秘密密钥计算信息鉴别码的算法。由于计算信息鉴别码的过程中,需要使用哈希函数,因此需要搭配哈希算法。而此处所搭配的哈希算法为SHA256,故完整的表示方式为HMAC-SHA256。借此以确保信息的完整与不可伪造。其实对于安全防护而言,搞清楚这些规格只是第一步。如何透过这些安全防护技术保护资产免于风险恐怕才会是真正重要的课题。

参照上面对TLS1.2的描述不难看书TLS1.3对应的解释 ,这里不再作详细的解释

2、另外补充一点对 scyther 软件的汉化

      在源码中对软件界面的文字描述部分和执行的文字,以及关于设置界面的文字部分,参数部分的选择均可以被汉化掉。如何汉化,,,,需要在源代码中添加ECOD编码的支持,如果是使用的是编译器,preference中设置。如果在linux中直接编调试的代码,不需要设置。直接在源码中修改 。并将要改成中文的String 全部替换成对应的中文部分可以。

猜你喜欢

转载自www.cnblogs.com/xinxianquan/p/11233197.html
今日推荐