什么是SSL加密,什么是TLS加密

什么是SSL加密,什么是TLS加密,第1张

SSL加密是Netscape公司所提出的安全保密协议,在浏览器和Web服务器之间构造安全通道来进行数据传输,SSL运行在TCP/IP层之上、应用层之下,为应用程序提供加密数据通道,它采用了RC4、MD5以及RSA等加密算法,使用40 位的密钥,适用于商业信息的加密。

TLS是安全传输层协议。安全传输层协议(TLS)用于在两个通信应用程序之间提供保密性和数据完整性。该协议由两层组成: TLS 记录协议(TLS Record)和 TLS 握手协议(TLS Handshake)。较低的层为 TLS 记录协议,位于某个可靠的传输协议上面。

扩展资料:


SSL加密并不保护数据中心本身,而是确保了SSL加密设备的数据中心安全,可以监控企业中来往于数据中心的最终用户流量。

从某个角度来看,数据中心管理员可以放心将加密装置放在某个地方,需要使用时再进行应用,数据中心应该会有更合理的方法来应对利用SSL的恶意攻击,需要找到SSL加密应用的最佳实践。

TLS协议是可选的,必须配置客户端和服务器才能使用。主要有两种方式实现这一目标:一个是使用统一的TLS协议通信端口(例如:用于>

一旦客户端和服务器都同意使用TLS协议,他们通过使用一个握手过程协商出一个有状态的连接以传输数据。通过握手,客户端和服务器协商各种参数用于创建安全连接。

参考资料来源:百度百科-SSL加密技术

参考资料来源:百度百科-TLS

如何配置fabric-ca-server和fabric-ca-client之间的TLS连接。

首先我觉得这个功能很鸡肋,在实际应用中很少配置成enable TLS的,因为本身fabric CA就是用来管理证书(msp和tls);如果fabric CA要启用TLS,那么又得从别的CA服务器上签出一份TLS证书来,就绕来绕去了。

fabric-ca-server-configyaml文件里面配置TLS。

fabric-ca-client-configyaml

包含

除了使用yaml文件配置,server和client也可以在命令行配置TLS信息:

Server:

Client:

详细资料可自行搜索:Fabric-CA server CLI和Fabric-CA client CLI。

上期我们说到对称加密算法

AES DES

目前使用的几乎都是AES-GCM(DES安全性太差基本处于废弃状态)

那除了这两种还有其他的吗?

答案是有的

ChaCha20

那这种算法与AES-GCM相比有什么特别之处呢?

上图展示的是CHACHA20-Poly1305 与 AES-GCM 两种对称加密算法的加密效率。

从这张图中我们可以看到 ChaCha20的加密速度比AES快了差不多3倍左右。那为什么现在的网站打开都基本上AES-GCM呢?

仔细看图我们可以看到,这是基于ARM架构的移动端CPU的加密速度。CHACHA20虽然在移动端CPU架构上加解密速度非常快,但是在传统>的x86架构上却比AES慢。再加上支持CHACHA20的证书比较难申请的到。所以导致了现在的网站打开都基本上AES-GCM。

不过如果业务主要针对是移动端并且服务端硬件配置比较好且申请到了支持CHACHA20的证书。由于该算法在移动端加解密速度非常快。
所以能够得到较好的用户体验。(虽然从运维的角度来说应该尽量降低服务器的负载,将负载转移到用户端比较好。主要还是看如何取
舍)

首先我们了解下正常的>:java socket建立连接的过程如下: socket 1、 首先调用Socket类的构造函数,以服务器的指定的IP地址或指定的主机名和指定的端口号为参数,创建一个Socket流,在创建Socket流的过程中包含了向服务器请求建立通讯连接的过程实现。

TLS处理浏览器的多连接:会先通过>TLS其实是SSL,可能更正式的说法已经不用SSL了。TLS是一套基于非对称加密算法的安全传输协议,更严格来说,TLS先是通过非对称加密方式交换对称加密秘钥,然后采用对称加密算法进行安全传输。

非对称加密是这样的一把锁,有两把钥匙,任意一把钥匙可以把锁锁上,只有另一把钥匙才能将锁打开。这两把钥匙是成对的,可以互相解密。其中一把是公开的公钥,另一把是服务器持有的私钥。

任何人都可以用公钥加密一段消息发送给服务器,做到安全发送。另一方面,服务器可以用私钥加密一段消息,将消息明文和密文发送给接收者,以此证明自己的真实身份,这叫做签名。当然,现实中,是对消息的摘要进行签名加密,因为摘要比较小。
TLS的第一步,就是让发送者持有服务器的公钥。通常获得服务器公钥的方式,都是向服务器进行询问,然后由服务器明文发送过来的。为了保证这一步的安全性,确保明文发送过来的公钥没有被串改,我们又发明了证书。

证书由服务器名称信息和服务器公钥组成,然后加上证书签发机构CA和签发机构对前面信息的签名。改用证书机制后,服务器以明文发送自己的证书信息,使用者用CA的公钥验证证书签名,核对相关的服务器信息,然后就可以信任服务器的公钥了。

至于CA公钥的传递方式,一般是内置的或者通过实体进行传递。
一般服务器是不限制使用者访问的,所以服务器配置了证书和私钥,让发送者能够安全的从第一步开始建立加密通信机制。即使使用者不验证服务器证书,TLS仍旧是以加密方式进行,虽然安全度不是最高,但是屏蔽掉无聊的阿猫阿狗访问已经足够了。

更进一步,服务器可以配置双向认证,配置CA证书并要求认证使用者的证书。那么使用者在访问前就要配置由CA签发的个人证书和私钥,在第一步开始时把自己的证书和随机签名发过去让服务器进行认证。

使用双向认证的时候,通信的安全性已经足够高了:消息是加密的,并且不太容易在某个环节被串改,而使用者必须经过服务器用自己的CA签发授权证书后才能访问服务。
TLS的运用其实应该非常广,只要不是内网服务,而是向不安全的互联网公开的服务,并且在通信上没有使用任何加密手段,也没有特别有效的客户鉴权,都应该使用TLS。

比如有时候因为某种原因,不得不向互联网暴露mysql,redis或者其他开源软件的服务端口,这种大作死的行为,软件自带的脆弱的客户鉴权机制就跟杂草一样一踩就倒,已经是业界人尽皆知的情形。

如果能为这些开放的服务端口加上TLS双向认证通信,基本能把侵害排除99%了吧。那如何给这些服务增加TLS安全通信呢?

首先, 把公开的服务改成内网服务 。

第二, 在服务器和客户端之间配置TLS tunnel ,通过tunnel转发客户端和服务器之间流量。有很多TLS tunnel客户端可以使用,这种方式也不会对原系统造成任何改动,所谓各司其职。

SCHANNEL\Protocols 子项
协议 的注册表项下 SCHANNEL
键用于的控件使用的协议支持由 Schanneldll 文件,并限制该协议使用 TLS 服务器或 TLS 的客户端。
若要禁止使用的 SSL
30 或 TLS 10 之外的其他协议,请将 Enabled 值的 DWORD 鍊兼暟鎹改为 0x0 中下面的注册表项,在 协议 键下的每个:
目前的 Microsoft 消息队列使用的客户端和服务器之间只有 PCT 10
SCHANNEL\Ciphers 子项
密码 的注册表项下 SCHANNEL 键用于控制如 DES 或 RC4
对称算法的使用。 以下是在 密码 键下的有效注册表项。
SCHANNEL\Ciphers\RC4
128/128 子项:
rc4 128/128
此子项是指 128 位 RC4。
要允许此密码算法、 0xffffffff 到更改
启用 值的 DWORD 值数据,否则更改为 0x0 的 DWORD
值数据。 如果不配置 启用 值,启用了默认值。 此注册表项不能应用于不具备 SGC
证书
---------------------------------------------------------------------------------------
des:有好几种:0xffffffff 到更改 启用,否则更改为 0x0 ,不配置 启用
值,启用了默认值,但有很多不允许禁用的算法。。。
TLS 10 和SSL 30
:{}是要在regedit里建的值:
ssl_rsa_export_with_rc4_40_md5
{0x00,0x03}
ssl_rsa_with_rc4_128_md5
{0x00,0x04}
SSL_RSA_WITH_DES_CBC_SHA
{0x00,0x09}
ssl_rsa_with_3des_ede_cbc_sha
{0x00,0x0A}
ssl_rsa_export1024_with_des_cbc_sha
{0x00,0x62}
ssl_rsa_export1024_with_rc4_56_sha
{0x00,0x64}
TLS_RSA_WITH_DES_CBC_SHA
{0x00,0x09}
tls_rsa_with_3des_ede_cbc_sha
{0x00,0x0A}
tls_rsa_export1024_with_des_cbc_sha
{0x00,0x62
tls_rsa_export_with_rc4_40_md5
{0x00,0x03}
tls_rsa_with_rc4_128_md5
{0x00,0x04}
1
。。。。SCHANNEL\Ciphers\Triple
DES 128/128 子项:
三重 DES 168/168
2
。。。。SCHANNEL\Ciphers\RC2 56/56
子项:
DES 56/56
3
SCHANNEL\Hashes\MD5
子项:
md5
=====
例子:
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Hashes\MD5]
"Enabled"=dword:00000000
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Hashes\SHA]
"Enabled"=dword:ffffffff
SCHANNEL\Protocols\PCT 10\Client
SCHANNEL\Protocols\PCT 10\Server
SCHANNEL\Protocols\SSL 20\Client
SCHANNEL\Protocols\SSL 20\Server


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zz/10667894.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-10
下一篇2023-05-10

发表评论

登录后才能评论

评论列表(0条)

    保存