首页 >
TLS/SSL
✍ dations ◷ 2025-08-29 03:46:49 #TLS/SSL
传输层安全性协议(英语:Transport Layer Security,缩写:TLS)及其前身安全套接层(英语:Secure Sockets Layer,缩写:SSL)是一种安全协议,目的是为互联网通信提供安全及数据完整性保障。网景公司(Netscape)在1994年推出首版网页浏览器-网景导航者时,推出HTTPS协议,以SSL进行加密,这是SSL的起源。IETF将SSL进行标准化,1999年公布第一版TLS标准文件。随后又公布RFC 5246 (2008年8月)与 RFC 6176 (2011年3月)。在浏览器、电子邮件、即时通信、VoIP、网络传真等应用程序中,广泛支持这个协议。主要的网站,如Google、Facebook等也以这个协议来创建安全连线,发送数据。当前已成为互联网上保密通信的工业标准。SSL包含记录层(Record Layer)和传输层,记录层协议确定传输层数据的封装格式。传输层安全协议使用X.509认证,之后利用非对称加密演算来对通信方做身份认证,之后交换对称密钥作为会谈密钥(Session key)。这个会谈密钥是用来将通信两方交换的数据做加密,保证两个应用间通信的保密性和可靠性,使客户与服务器应用之间的通信不被攻击者窃听。TLS协议采用主从式架构模型,用于在两个应用程序间透过网络创建起安全的连线,防止在交换数据时受到窃听及篡改。TLS协议的优势是与高层的应用层协议(如HTTP、FTP、Telnet等)无耦合。应用层协议能透明地运行在TLS协议之上,由TLS协议进行创建加密信道需要的协商和认证。应用层协议传送的数据在通过TLS协议时都会被加密,从而保证通信的私密性。TLS协议是可选的,必须配置客户端和服务器才能使用。主要有两种方式实现这一目标:一个是使用统一的TLS协议端口(例如:用于HTTPS的端口443);另一个是客户端请求服务器连接到TLS时使用特定的协议机制(例如:邮件、新闻协议和STARTTLS)。一旦客户端和服务器都同意使用TLS协议,他们通过使用一个握手过程协商出一个有状态的连接以传输数据。通过握手,客户端和服务器协商各种参数用于创建安全连接:早期的研究工作,为方便改造原有网络应用程序,在1993年已经有了相似的Berkeley套接字安全传输层API方法。SSL(Secure Sockets Layer)是网景公司(Netscape)设计的主要用于Web的安全传输协议,这种协议在Web上获得了广泛的应用。基础算法由作为网景公司的首席科学家塔希尔·盖莫尔(Taher Elgamal)编写,所以他被人称为“SSL之父”。2014年10月,Google发布在SSL 3.0中发现设计缺陷,建议禁用此一协议。攻击者可以向TLS发送虚假错误提示,然后将安全连接强行降级到过时且不安全的SSL 3.0,然后就可以利用其中的设计漏洞窃取敏感信息。Google在自己公司相关产品中陆续禁止回溯兼容,强制使用TLS协议。Mozilla也在11月25日发布的Firefox 34中彻底禁用了SSL 3.0。微软同样发出了安全通告。IETF将SSL标准化,即 RFC 2246 ,并将其称为TLS(Transport Layer Security)。从技术上讲,TLS 1.0与SSL 3.0的差异非常微小。但正如RFC所述"the differences between this protocol and SSL 3.0 are not dramatic, but they are significant enough to preclude interoperability between TLS 1.0 and SSL 3.0"(本协议和SSL 3.0之间的差异并不是显著,却足以排除TLS 1.0和SSL 3.0之间的互操作性)。TLS 1.0包括可以降级到SSL 3.0的实现,这削弱了连接的安全性:1–2。TLS 1.1在 RFC 4346 中定义,于2006年4月发表,它是TLS 1.0的更新。在此版本中的差异包括:微软、Google、苹果、Mozilla四家浏览器业者将在2020年终止支持TLS 1.0及1.1版。TLS 1.2在 RFC 5246 中定义,于2008年8月发表。它基于更早的TLS 1.1规范。主要区别包括:TLS 1.3在 RFC 8446 中定义,于2018年8月发表。它基于更早的TLS 1.2规范,与TLS 1.2的主要区别包括:网络安全服务(NSS)是由Mozilla开发并由其网络浏览器Firefox使用的加密库,自2017年2月起便默认启用TLS 1.3。随后TLS 1.3被添加到2017年3月发布的Firefox 52.0中,但它由于某些用户的兼容性问题,默认情况下禁用。直到Firefox 60.0才正式默认启用。Google Chrome曾在2017年短时间将TLS 1.3设为默认,然而由于类似Blue Coat Systems(英语:Blue Coat Systems)等不兼容组件而被取消。wolfSSL在2017年5月发布的3.11.1版本中启用了TLS 1.3。 作为第一款支持TLS 1.3部署,wolfSSL 3.11.1 支持 TLS 1.3 Draft 18( 现已支持到Draft 28),同时官方也发布了一系列关于TLS 1.2和TLS 1.3性能差距的博客。在客户端和服务器开始交换TLS所保护的加密信息之前,他们必须安全地交换或协定加密密钥和加密数据时要使用的密码。用于密钥交换的方法包括:使用RSA算法生成公钥和私钥(在TLS 握手协议中被称为TLS_RSA)、Diffie-Hellman(在TLS握手协议中被称为TLS_DH)、临时Diffie-Hellman(在TLS握手协议中被称为TLS_DHE)、椭圆曲线迪菲-赫尔曼(在TLS握手协议中被称为TLS_ECDH)、临时椭圆曲线Diffie-Hellman(在TLS握手协议中被称为TLS_ECDHE)、匿名Diffie-Hellman(在TLS握手协议中被称为TLS_DH_anon)和预共享密钥(在TLS握手协议中被称为TLS_PSK)。TLS_DH_anon和TLS_ECDH_anon的密钥协商协议不能验证服务器或用户,因为易受中间人攻击因此很少使用。只有TLS_DHE和TLS_ECDHE提供前向保密能力。在交换过程中使用的公钥/私钥加密密钥的长度和在交换协议过程中使用的公钥证书也各不相同,因而提供的强健性的安全。2013年7月,Google宣布向其用户提供的TLS加密将不再使用1024位公钥并切换到至少2048位,以提高安全性。消息认证码(MAC)用于对数据完整性进行认证。HMAC用于CBC模式的块密码和流密码,AEAD用于身份验证加密,例如GCM模式和CCM模式。以下简要介绍SSL协议的工作方式。客户端要收发几个握手信号:TLS利用密钥算法在互联网上提供端点身份认证与通讯保密,其基础是公钥基础设施。不过在实现的典型例子中,只有网络服务者被可靠身份验证,而其客户端则不一定。这是因为公钥基础设施普遍商业运营,电子签名证书通常需要付费购买。协议的设计在某种程度上能够使主从架构应用程序通讯本身预防窃听、干扰和消息伪造。TLS包含三个基本阶段:在第一阶段,客户端与服务器协商所用密码算法。当前广泛实现的算法选择如下:TLS/SSL有多样的安全保护措施:
相关
- 肺泡蛋白沉积症肺泡蛋白沉着症(pulmonary alveolar proteinosis,PAP),又名肺泡蛋白沉积症,是一种罕见的肺部疾病。患者体内肺表面活性物质衍生的脂蛋白化合物在肺泡内异常聚积,干扰肺部正常的气
- 木质素木质素(拉丁语、英语、德语: Lignin)是一类复杂的有机聚合物,其在维管植物和一些藻类的支持组织中形成重要的结构材料。木质素在细胞壁的形成中是特别重要的,特别是在木材和树皮
- 仪式仪式,是对具有宗教或传统象征意义的活动的总称。仪式具有一定的时段、特定的场合,与个人或团体判断有关;可以由个体、群体或团体组织主持和组织进行;个体的社会身份转变,如结婚,诞
- 复分解反应复分解反应又称双置换反应,是由两种化合物,通过互相交换成分并生成两种新化合物的反应,模式为AB+CD→AD+CB。必发生在水溶液中,它是基本类型的化学反应之一。复分解都不是氧化还
- ZooBankZooBank是一个开放取用网站,由国际动物命名法委员会管理,作为动物命名的正式登记处所。任何的分类作为(如发表新分类或物种名称,以及变更其名称)必须要在ZooBank登录,才能获得《国
- 色界色界(梵语:rūpa-dhātu),或称色界天,又称色地(rūpa-bhūmi),佛教术语,世界的三界(欲界、色界及无色界)之一。据佛典说法,此界位于“欲界”之上。此界天人,仍保有色身(物质身),而已无欲乐,故
- 突厥突厥(土耳其语:Türk;维吾尔语:تۈرك / Türk),是生活在欧亚大陆,使用突厥语族语言的民族群体,狭义的突厥人专指曾建立突厥汗国那部分古突厥人(即以阿史那部落为核心的部落联盟);广
- 智者学派智辩家(希腊语:σοφιστής, sophistes)是古希腊公元前5世纪至4世纪时的一种类型的教师。他们中的许多善于哲学和修辞学,但也有人教授音乐、体育和数学。他们通常声称自己
- 澄清湖棒球场坐标:22°39′15.89″N 120°21′32.71″E / 22.6544139°N 120.3590861°E / 22.6544139; 120.3590861高雄市立澄清湖棒球场是位于台湾高雄市的一座棒球场,于1999年启用,时为
- 视图视图表 (View) 是在关系数据库中,将一组查询指令构成的结果集,组合成可查询的数据表的一种数据库对象。与数据表不同的是,数据表是一种实体结构(Physical Structure),但视图表是