• Internet History,Technology,and Security -Security: Web Security(Week9)


    Week 9

    This week, we’ll be covering web security. We apply the basic ideas of encryption and signing to who we actually secure the connections that we use on today’s Web and Internet.

    学习的时间总是过的很快的。转眼间我们就来到了最后一周。在最后一周里我们将加密和签名的基本思想应用于我们在今天的Web和Internet上使用的实际保护连接的人身上。

    Securing Web Connections

    Security Public/Private Key - Secure Sockets


    先在上一节课中,提出了两个概念:保密性和可靠性,我们有谈到了一些简单可行的方法来确保像凯撒密码这样的东西的保密性,比如使用一个基于共享的数字签名来实现完整性。但在互联网世界,这样很难,因为你不能总是将用户先聚集到某个地点,然后与他们分享这个签名,再让他们回到各自的生活去使用他。

    Public-key cryptography(公钥加密系统)被认为是解决这个问题的一种非常优雅的解决方案。它是由DiffieHellman在1976年提出的。它依赖于两把钥匙,它是不对称的,这意味着我们不再使用相同的密钥来加密和解密,有一个不需要任何保护的公钥,还有一个自己保存的私钥。你发送公共密钥,公共密钥被用来进行加密,然后使用私钥进行解密。它们在数学上是相关的,以一种很好理解的方式,但是很难计算出它们的密钥长度,因为这二者都足够长。

    如果你要用公钥加密系统,必须要先产生一个密钥对,生成密钥对的第一步是选择两个非常大的质数,然后让它们相乘,然后通过一些步骤处理,再通过一些计算,我们就可以得到公钥和私钥。这个有一个例子:数字55124159的因子是什么?这个问题是非常难的。但是如果已经有了一个因数,求另一个因数是相当容易的:什么数乘以7919会等于55124159?只要做一下除法就知道另一个因子是6961。而公钥就相当于55124159,Eve等人可以知道这个公钥,但是要从55124159中知道他的一个因子也就是私钥是非常苦难的。

    对于分解大素数之积,如果已知一个因子,那么知道另一个因子会相当容易。但是如果只想通过积来得出两个因子,那会相当困难,这就要极其庞大的计算。这就是公钥加密安全性能的理论,当然我们说破解它是非常困难的,但也并非不可能。如果你有一台超级计算机,然后让它一直工作几个月,也许可能就会被破解。

    再拥有这样的密码机制之后,工程师们就对原本的网络层次做出一些修改。在应用层与传输层之间增加一个新的概念:TLS(Transport Layer Security,传输层安全协议),也被称作SSL(Secure Sockets Layer,安全套接层协议)或者HTTPS。它负责加密和解密应用层传递过来的信息,保证传递信息的可靠,而其他层次则维持原来的搬运工作。这样就保证了数据从离开电脑时,就是加密状态,直到进入目的地的TLS被解密位置。这样大大加强了数据的保密性。即使别人窃取了你的信息,也不过是密文而已。

    因为成本的原因,很多企业使用混合制,即一部分功能使用HTTP,这样使得信息的安全不能得到完全的保证。所以我们在网页上填一些敏感的信息的时候,要注意是不是HTTPS。

    Identity on the Web

    Security - Integrity and Certificate Authorities


    SSL实现了信息传递的保密性,那么剩下的问题就是可靠性。在网络中,我们如何确信对方即使你想联系的哪个人呐?在现实中,你可以通过见面来判断对方是不是你需要联系的哪个人,哪么在网络中,你怎么判断对方的真实性呐。为了解决这个问题,CA机构就应运而生。CACertificate Authority证书授权机构)的简称。

    CA是一个具有公信力的第三方机构,在这个机构能够提供证明,证明网站发布的公钥的所有权确实是此网站,以及网站拥有者的身份。

    具体的工作流程是这样的,举个例子来详细的说明这个机构的机制。

    亚马逊先去CA申请数字认证。Verisign完成验证亚马逊网站的身份后,向其授权了安全认证。于是,亚马逊网站在把公钥发送给用户之前,先发送给Verisign,Verisign通过自己的private key,把生成的证书摘要(digest)附在亚马逊的公钥上面,再送回亚马逊。带有digest的公钥,就和以前不同了。它是经过一个第三方具有公信力的公司赋予数字证明的公钥,所以具有身份验证性和信用。这样,别的人就很难去伪造它。用户想在亚马逊上购物,浏览亚马逊的网站,输入敏感信息时。浏览器(或者操作系统)可以检测到Amazon public key是经过Verisign验证的。这样就保证了公钥的的确确是亚马逊发送过来的。用户输入的信息被公钥加密,再送回Amazon,Amazon使用它的private key解密,得到明文。一轮安全的传输就完成了。

    在网络中传递的要么是亚马逊的公钥、要么是用户加密后的密文。私钥都保存在Verisign和Amazon的服务器中,这样就实现了在危险的网络环境下的信息传递的安全性

    其实你应该可以看出来,信息的可靠性也是依靠公钥加密的方法实现的,只是我们创立了一个值得信任的第三方,让第三方为我们的信息签个名。


    PS:(当写到这里的时候,意味着我们要真正的结束了这门课的学习。我会在下周分享我对这门课的心得体会。)

  • 相关阅读:
    Photoshop给草坡上的人物加上大气的霞光
    Photoshop给人像加上个性裂纹肌肤
    Photoshop快速给美女人像换头发
    Oracle和SQLite位数不足补0
    Oracle和Postgis数据库地理坐标系下面积计算
    SQLite3中自增主键归零方法
    Arcgis-Tools_06矢量数据按国土分解
    Arcgis-Issues_03Arcgis最佳路径分析
    Arcgis-Tools_05批量导出地图
    Oracle_C#连接Oracle数据库
  • 原文地址:https://www.cnblogs.com/fcw245838813/p/12099452.html
Copyright © 2020-2023  润新知