12.3 安全套接层 12.3.1密码学

12.3 安全套接层

Secure Socket Layer,是Netscape研发的用以保障在Internet上安全传输数据的技术,利用数据加密(Encryption)技术,可确保数据在网络上之传输过程中不会被截取及窃听。充分理解SSL是如何工作的,有很多你需要学习技术,从加密到私钥和公钥对,再到证书。本节讨论详细SSL及其组件。

12.3.1密码学

我们时不时需要一个安全信息通道,使得信息是安全的,即便外部可以访问信息,也不能篡改信息。
从历史上看,密码只关心加密和解密,在双方可以放心的交换信息,只有他们可以读取消息。在开始的时候,人们使用对称密码加密和解密消息。**对称密码使用相同的密钥来加密和解密消息**。这是一个非常简单的加密/解密技术。

对称加密例子

假设,加密方法是:循环前移字母表中每个字符n位数。

  • 因此,如果密码是2,加密版“ThisFriday”是“vjkuhtkfca”。当你到了字母表结尾的单词,循环前移两位将得到字母表开头的单词,因此y变成a
  • 相应的,如果知道密钥是2,则对密文循环右移2位即可解密消息。

对称加密不适合互联网

对称加密要求双方提前知道用于加密/解密的密钥。对称加密是不适合互联网的原因如下:

  • 两人交换消息往往不知道对方。例如,在亚马逊网站上购买一本书,你需要发送您的个人资料和信用卡信息。如果对称密码被使用,你必须调用亚马逊的交易之前必须同意这个密钥。
  • 每个人都希望能够与其他各方沟通。如果使用对称密码,每个人在不同的地方都会有不同的独特的钥匙
  • 信息在互联网上通过许多不同的计算机传播。这样很容易挖掘其他人的消息。对称密码体制并不能保证数据不被第三方篡改

因此,今天的安全通信在互联网上使用非对称加密,提供了这三个特点:

  • 加密/解密信息对第三方进行加密隐藏。只有预期的接收者才能解密
  • 身份验证。验证确保实体就是声称者。
  • 数据的完整性。许多计算机在互联网上发送的消息传递。它必须是确保发送的数据不变,完好无损。

公钥私钥

在非对称加密中,加密和解密的数据是通过使用一对非对称密钥(公钥和私钥)来实现的

  • 私钥是私有的。颁发者必须保持私钥放在一个安全的地方,不能落入任何另一方的手里。
  • 公钥用于加密,通常谁都可以下载公钥与颁发者进行沟通。

您可以使用工具来生成公钥和私钥。这些工具将在本章后面讨论。

公钥加密的优点

公钥加密的优点是:使用公共密钥加密的数据只能使用对应的私钥进行解密,同样的,使用私钥加密的数据只能使用对应的公钥解密
这优雅的**算法是基于大素数**,由Ron RivestAdi Shamir,和Len Adleman在麻省理工学院(MIT)在1977年发明的。它们简称为RSA算法,基于他们的姓氏的首字母。

RSA算法是在互联网上的被广泛使用,特别是电子商务领域。
爱丽丝(Alice)与鲍伯(Bob)是广泛地代入密码学和物理学领域的通用角色。这里我也会使用他们。