售前咨询
技术支持
渠道合作

加密套件:密码,算法以及安全设置

随着HTTPS的普及,SSL加密慢慢也广为人知。说到加密一次,就不得不提一个词语——“密码”。密码这个词组虽然普通,但是对于加密来说是十分重要的一部分。

什么是加密密码?

密码这一词,在SSL行业角度来说密码是算法,具体的说,他们是执行加密与相对应解密的一个组合,这需要依赖计算机的处理能力。但密码最早出现是用于军事方面,古罗马凯撒皇帝通过独特的方式与将领进行军事通信,这个独特的方式就是凯撒密码。

随着时间的转移,密码变得越来越复杂,但其背后的原理逻辑还是不变的。无论是凯撒密码,还是第二次世界大战的密文,或今天所用的算法,都是把一些信息通过特殊的方式进行重新编辑,只有目标人群才能阅读并理解。

两种密码

从最终目标分析,SSL加密的加密算法有两种,对称性和非对称性。首先取决于执行的加密类型,然后就是对称或非对称加密。

对称加密涉及一对密钥,或者顾名思义,这对密钥是对称关系,它们的功能分别是加密与解密。在浏览器和服务器之间的加密Web连接中可看到这一点。SSL证书通过身份验证和SSL握手完成后,浏览器和服务器交换对称的“会话密钥”,以便在访问期间安全地进行通信。虽然这些会话密钥在起作用,但它们使用正是对称密码。

相反,使用非对称加密时,浏览器和服务器是不同的两个密钥,最明显的例子是在SSL握手过程中使用的公钥/私钥对。一个密钥加密,另一个密钥解密。这种加密需要不同种类的密码,即不对称算法。

普通密码

一般,在加密中使用的多种不同的密码结合。SSL使用的加密方式,不是仅使用一个算法,而是多种算法组合,这种组合方式被称为“加密套件”。

目前,网络安全技术人员正向这种概念深入研究,坚信日后将会在这个领域取得成功。但目前了解的对称与非对称加密类型,正研究不同的密码和它们所服务的函数,然后讨论如何构建一个加密套件。

下面是一些密码和其他算法的例子:

密钥交换

Key Exchange

RSA公钥加密算法是1977年由罗纳德·李维斯特(Ron Rivest)、阿迪·萨莫尔(Adi Shamir)和伦纳德·阿德曼(Leonard Adleman)一起提出的。是目前使用广泛的非对称加密算法。

Diffie-Hellman(DH)

以Whitfield Diffie和Martin Hellman命名。这是一个公钥主要用于交换密钥的公共通道。像DH这样的方法之前,必须以物理形式传输密钥。

Elliptic Curve Diffie-Hellman(ECDH)

一种密钥协商协议,使双方使用椭圆曲线密钥对,建立共享密钥(直接用作密钥或通过公共渠道安全地导出密钥)。

PSK

通常写为TLS-PSK,这是一种提供基于在各方之间交换的共享对称密钥的安全通信的密码。

加密密码

AES

高级加密标准,又名Rijndael,是NIST批准的加密密码,块为128位,对称密钥长度是为128, 192位或256位。

Camellia

与AES相似的对称密钥的分组密码,由NTT和Mitsubishi在日本开发,经ISO / IEC,欧盟和日本CRYPTREC项目批准。

ARIA

这是另一个类似于AES的分组密码,ARIA是由2003年在韩国的一组研究人员开发的。

数据完整性/认证

基于哈希的认证码(HMAC)

这是一种消息认证,使用加密散列来验证消息并确保数据完整性,认为SHA-256。

认证加密

AE或认证加密在单个编程接口下的数据上提供保密性,完整性和认证保证。通常与块密码一起使用。

显然,这并不是一个完整的列表,还有几十个密码。下面将介绍密码套件,再介绍。

什么是加密套件?

加密套件是用于在SSL / TLS握手期间协商安全设置的算法的组合。在ClientHello和ServerHello消息交换之后,客户端发送优先级列表的密码支持套件。然后,服务器使用从列表中选择的密码套件进行响应。

加密套件为以下组合:

密钥交换算法(RSA,DH,ECDH,PSK)

认证算法(RSA,DSA)

批量加密算法(AES,Camellia,ARIA)

消息认证码算法(SHA-256)

这里是一个加密套件的例子:

TLS _ECDHE_ RSA _ WITH_AES_128_GCM _ SHA256

TLS是协议。从ECDHE开始,在握手期间,密钥将通过临时ECDHE进行交换。RSA是认证算法。AES_128_GCM是批量加密算法。SHA-256是散列算法。

大多数浏览器和服务器都有各自支持的密码套件列表,两者将在握手过程中进行优先顺序比较,以确定使用的安全设置。

最后作为TLS 1.3最终版本,这一切都会改变。虽然以前SSL / TLS通过TLS 1.2版本是使用上诉描述的加密套件模板,但1.3版本的加密套件将会有所改变,因为它们仅用于协商加密和HMAC算法。

因为1.3加密套件的结构与之前的版本不同,所以它们与旧的TLS版本不能进行互换。

要点总结

密码是算法,用于加密和解密。它们可以是对称的或不对称的,这取决于它们支持的加密类型。

加密套件是用于在SSL / TLS握手期间协商安全设置的密码的命名组合。在握手期间,客户端和服务器交换密码套件的优先级列表,并决定两者最佳支持的套件。

在TLS 1.3中,加密套件的结构将改变。

文章翻译thesslstore

上一篇:

下一篇:

相关文章