| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 网络协议 -> TLS与端到端加密 -> 正文阅读 |
|
[网络协议]TLS与端到端加密 |
引言之前写过几期古关于HTTPS的文章,主要是讲HTTPS的加密过程和浏览器的检测机制。然后还有对MITM的一些讲解。具体如下: TLSTLS(Transport Layer Security),是一种安全协议,翻译过来为“传输层安全性协议”。它的前身是SSL,安全套接层(Secure Sockets Layer)。目的是为互联网通信提供数据隐私保护和数据完整性保障。为什么叫传输层加密协议?若加密在会话层或应用层完成,则所有的传输层控制信息对攻击者来说都是可知的。若加密由传输层来完成,则仅仅在网络层及以下各层的控制信息是暴露的。若加密由网络层来完成,则网络层协议控制信息对网络层的PDU所通过的每一个节点都是不可知的,因而中间节点无法正确选择路由。所以网络层一般不能提供端到端保护。这样,传输层就是实现端到端加密的最低层。 1994年,网景公司(Netscape)推出首版网页浏览器——网景导航者,同时推出了HTTPS协议,以SSL进行加密,这就是SSL的起源。 不久后,国际互联网工程任务组IETF将SSL进行标准化,1999年公布TLS 1.0标准文件(RFC 2246)。随后又公布TLS 1.1(RFC 4346,2006年)、TLS 1.2(RFC 5246,2008年)和TLS 1.3(RFC 8446,2018年)。 在浏览器、电子邮件、即时通信、VoIP、网络传真等应用程序中,广泛使用这个协议。许多网站,如Google、Facebook、Wikipedia等也以这个协议来创建安全连线,发送资料。目前已成为互联网上保密通信的工业标准。 但是TLS有一个缺点,就是我们上面说的:TLS保证的是客户端和服务器之间的通信不被中间网络设备窃听,但无法保证不被云服务商窃听。如图: 数据的加密传输看似很安全,不会像明文那样在互联网上裸奔。但这种安全感仅仅是一种假象,因为解密数据的密钥存储在服务器中,云服务商可以像拿着钥匙开锁那样,打开和关闭加密,随意查看数据内容。 虽然目前广泛使用的AES-256加密算法,从数学理论角度来说无法破译,黑客破解加密算法的威胁是不存在的,但是密钥丢失或被盗才是数据泄漏的根本原因。因为这些密钥由云服务商的系统管理员保管。相当于你把贵重物品锁在保险柜中,但钥匙是由其他人保管。在这个模型中,你必须完全信任第三方负责任和有能力抵御外部及内部的威胁。如果服务商丢失了密钥,你的通信将失去保护。 密钥的集中式存储也非常容易遭受攻击。虽然大型互联网公司似乎在安全方面拥有几乎无法穿透的网络防御,但是实际情况并非如此。6000万Dropbox账号信息被窃取;10亿雅虎用户的账号信息泄露等事件表明:集中式存储为黑客提供单一攻击点,对于黑客来说,这等同于面对一座金矿,破坏大门就可以获取全部数据。 即使防御了外部攻击,组织内部集中管理密钥也好不到哪去。据调查报告显示,54%的信息技术安全人员承认,他们不知道所有的加密密钥和证书存放在何处,或者谁拥有使用他们的权限。很容易想象员工会意外地丢失密钥及数据信息本身。即使是像微软这样的大公司,通常为管理密钥的管理员账号设置了默认的空白密码,被劫持的管理员账号可以访问集中密钥存储库,可以轻松解密大量公司数据。 解决以上问题的一种最佳实践就是采用“端到端加密”。 端到端加密端到端加密是通信安全的最高标准,只有发送方和指定的接收方可以访问数据内容,其他任何第三方机构和个人都不能访问服务器上的加密数据。 在端到端加密中,加密发生在终端设备。消息和文件在离开手机或电脑之前被加密,一直到目标设备才会被解密。因此,黑客无法在通信传输途中窃听,也无法通过入侵服务器来获取数据,因为他们没有私钥。密钥存储在用户的个人设备上,只能通过用户设备访问,极大的增加了窃取数据难度。如图: 可以看到,数据在起始设备端加密,仅在到达授权设备时解密,任何中间点(如云服务提供商)都只有密文。密钥仅在用户设备本地维护,不依靠服务商或机构内部集中管理。使用端到端加密可以防止明文数据泄露,同时防止黑客的集中攻击。 端到端加密对数据的整个生命周期加以保护,是唯一可用的、有效保护数据安全的选项,攻击者想要获取端到端加密的数据极其困难。 APP、网站这些应用,ISP可以访问其服务器上的用户数据,因为这些云服务商持有数据的解密密钥。当我们使用这些互联网服务时,数据会在服务商的服务器上解密。因此,服务商能够为用户推送有针对性的广告、对用户所有行为进行大数据分析,识别和提取用户的敏感数据。相比之下,构建良好的端到端加密系统具备以下优势:
一些IM软件如:WhatsApp、Signal、telegram、iMessage等,都采用了端到端加密。 走在前沿苹果公司在加密通信和隐私保护这方面无疑是走在世界的前沿。我个人不是果粉,但公平地说,在隐私保护这块,没有其他科技巨头比苹果做得更好。去年10月,苹果甚至为 Safari 浏览器的书签提供端到端加密。这意味着任何人,甚至是苹果,都无法访问用户保存的 Safari 书签。我们简要看下苹果的一些保护措施:
不过,今年4月,欧盟的《数字市场法案》再次补充更新,苹果即将面临将Siri、Appstore、浏览器、Messages和FaceTime等一系列服务进行重大改进的要求。法案涉及的条款要求苹果的通信、语音与视频通话应用必须与开通协同工作,尤其是端到端的加密服务,要求在所有加密信息服务中强制进行CSAM扫描。甚至要求苹果手机开放侧载。 这些举措使得端到端加密名存实亡,苹果的应用安全,隐私的保护都将成为过去式。面对这样的规则,苹果表现的态度也十分强硬,而代价就是罚款,并且一罚再罚。 2021年,苹果公司最终决定对iOS相册引入CSAM扫描的计划做出了让步,在外界对其隐私的危险性提出严厉批评后同意推迟。 总之,DMA法案的提出,使得苹果在安全和隐私方面的保护大打折扣。不过苹果依然在努力对抗这一切。因为安全性是苹果设备与其他竞品的一大优势。 反观国内情况,微信、QQ等用户数量极其庞大的IM软件,却没有使用端到端加密。2013年的QQ数据库泄露事件,有7000多万用户数据被泄露。引发一系列安全问题和隐私保护问题,若采用端到端加密则不会出现这样大规模的隐私泄露。 更多内容敬请关注(公众号)“极客随想”。 |
|
网络协议 最新文章 |
使用Easyswoole 搭建简单的Websoket服务 |
常见的数据通信方式有哪些? |
Openssl 1024bit RSA算法---公私钥获取和处 |
HTTPS协议的密钥交换流程 |
《小白WEB安全入门》03. 漏洞篇 |
HttpRunner4.x 安装与使用 |
2021-07-04 |
手写RPC学习笔记 |
K8S高可用版本部署 |
mySQL计算IP地址范围 |
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/26 0:29:26- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |