文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

加密技术在安全连接背后的工作原理

2024-12-02 15:59

关注

【51CTO.com快译】在当今的数字世界中,无论何时何地,人们都在交换信息,并且每天都在呈指数级增长。跨系统交换数据的安全性至关重要,因为它们容易受到网络攻击。

随着世界朝着数字化的方向发展,建立安全连接并了解其工作原理也变得更加重要。随着IT技术的发展,出现了很多现代化的技术与产品,并改变了人们日常的工作和生活的方式。人们从零售购物转向网上购物、金融交易实现数字化,货币实现数字化,以及图片共享和列表等等。

由于人们的大部分活动都是在线进行的,那么如何确保通过网络传输的数据安全?本文将介绍幕后发生的事情及其工作原理。

信息交流

当人们交换信息时,通常使用像互联网,但由于其性质是共享的,任何人都可能拦截并查看交换的信息。

在这种情况下,通信的双方可以采用加密策略,采用加密格式发送消息,该格式可由收件人读取。早期的系统是交换一个共享密钥,发送方使用该密钥进行加密,接收方将使用该密钥进行解密。由于两者使用相同的密钥,因此称为对称密钥。接收方使用密钥进行解码,只有在双方采用同一密钥时才可能进行解码。但是如果中间人知道这个密钥,就可以读取和更改消息。

为了使用公共通道进行有效通信,人们可以利用使用两个密钥的公钥密码。一个是公共的,另一个是私有的。这种技术称为非对称加密或公钥加密。

公钥密码

在公钥密码中使用两个密钥:一个称为公钥,另一个称为私钥。这两个密钥是相互关联的,公钥不能与其他私钥一起使用,反之亦然,它们是绑定在一起的。这些密钥用于散列函数以生成数据的散列值,并使用公钥对其进行加密。消息的预期接收者使用相应的私钥对其进行解密,并且只有关联的私钥才能对其进行解密。

如果中间人窃取了密钥,他就会发送公钥来加密,并使用私钥来解密以改变原始消息,然后将使用预期接收者的公钥进行加密。这样,原来的发送方和接收方就不会知道有中间人的更改,他们会认为发送和接收的内容是准确的。

由于公钥和私钥很容易落入中间人的手中,因此应该有一种对服务器进行身份验证的方法,服务器通过出示其身份证书来验证其身份。服务器从受信任的第三方系统获取其身份证书,而第三方通常是证书颁发机构(CA)。CA就像政府办公室或受信任的代理,遵守公共密钥基础(PKI)标准和颁发证书的准则,而作为CA的实体都会遵循。

在验证预期用户的真实性之后,CA颁发证书并使用其私钥签署证书。该签名称为证书的数字签名。正在使用的证书种类繁多,并且每种证书都有其各自的用途。例如在当今客户端和服务器之间的Web交换世界中,使用X509证书,它遵循ASN.1(抽象语法表示法一)标准。

这个证书通常作为二进制数据存储在文件系统中,这些数据通常被转换为称为PEM(隐私增强电子邮件)的Base64 ASCII文件,这些文件具有.pem、.crt、.cer等扩展名。

例如X509v3证书内容如下:

Properties files

  1.  Data: 
  2.  
  3.  Version: 3 (0x2) 
  4.  
  5.  Serial Number 
  6.  
  7.  Signature Algorithm 
  8.  
  9.  Issuer 
  10.   
  11.  Validity 
  12.  
  13.   Not Before 
  14.  
  15.   Not After 
  16.  
  17.   Subject 
  18.  
  19.   Subject Public Key Info 
  20.  
  21.   Public Key Algorithm 
  22.  
  23.   Public-Key 
  24.  
  25.  X509v3 extensions 
  26.   
  27.  Signature Algorithm 
  28.  
  29.  Signature Value 

签名值

例如某个医生的办公室通过其网站允许患者在线注册他们的详细信息并安排预约。服务器就会起CA的作用,并证明其身份,并获得以他的域名(医生办公室)为主题的证书。CA验证医生的办公室身份并向服务器颁发X509证书。参阅下面使用OpenSSL命令生成的x509证书内容示例。

使用SSL/TLS的安全连接

两方之间的安全连接是使用SSL/TLS协议标准建立的。而SSL之前使用过,但由于安全漏洞而被弃用,现在主要使用TLS。SSL/TLS层位于TCP/IP之上,在应用层之前。所以驻留在应用层的应用会自动被安全协议覆盖。

考虑一下医生办公室网上预约的例子,在部署应用程序之前,服务器对CA采取了几个步骤。

SSL握手

证书链看起来是什么样的?

使用OpenSSL验证证书链:

仅使用中间人验证证书。

下面给出了由不同中间人签署的证书的验证。

中间人证书和根证书作为OpenSSL的一个文件。

通过正确的中间人证书和根证书链的验证。

在找到正确的中间人证书和根证书后,OpenSSL能够验证叶证书。

结论

了解密码技术将使人们对每天访问的网站充满信心,并且可以更深入地了解浏览器在与其他方握手期间出现任何异常情况下尝试与他人通信的内容。关于证书认证的力量将使人们能够在网上安全地做更多的事情。

原文Cryptography and Secure Connection: How It Works,作者:Joseph Stephen Savariraj

【51CTO译稿,合作站点转载请注明原文译者和出处为51CTO.com】

 

来源:51CTO内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯