计算机网络技术与服务/安全与密码学元素
外观
在网络环境中,安全机制的基本目标是
- 端点认证;
- 数据完整性:我们希望确保数据从源到目的地在传输过程中未被篡改;
- 机密性:我们希望确保数据不会被除预期接收者以外的任何人读取。
这些目标是通过使用密码机制实现的。这些机制应用于两种不同的情况下,即两种不同的操作
- 加密:它包括对交换的数据进行加密,即更改数据包的内容,以便只有授权的人才能重建原始内容;
- 签名:它用于保证数据完整性和发送者身份验证,通过在消息末尾添加一个小的字节序列来实现,该序列取决于数据本身以及发送者所拥有的某些信息
- 端点可以重新计算此字节序列,以检查数据是否被修改;
- 该操作类似于错误检测码的操作,但与之不同的是,字节序列基于一个秘密密钥。
密钥类型有两种
- 共享(或对称)密钥:相同的密钥,它是一个字节序列,既用于加密/签名,也用于解密/验证数据。密钥必须在通信站之间保密,这带来了挑战,因为用于协商密钥的通信本身应该安全;
- 非对称密钥:使用两个不同的密钥来加密/签名和解密/验证数据。这两个密钥中有一个称为公钥,用于解密源主机使用其私钥加密的数据包,可以随意共享;另一个密钥必须保密。这两个密钥的关系是,用其中一个密钥加密的数据只能用另一个密钥解密。
- 例如,如果您想安全地发送文件,可以使用私钥应用密码算法并公开公钥:这样,任何希望与该主机安全通信的人都可以使用该密钥加密消息,因为只有该主机拥有私钥,才能进行解码。
- 为了检查发送者的身份,机制类似:如果您想确保用户可以检查消息是否来自特定发送者,他们只需使用发送者的公钥来解密发送者发送的消息即可。
- 与对称密钥相比,非对称密钥的鲁棒性较低,并且使用它们的算法需要更多的计算资源。
- 在许多情况下,非对称密钥用于安全通信并协商对称密钥
- 主机发送它打算用于该单向通信的公钥到目标主机;
- 目标主机选择一个对称密钥,并通过使用之前接收到的公钥加密它来转发;
- 源主机使用私钥解密消息,从那时起它将使用消息中包含的对称密钥。
关键点: 当有人收到与某个实体相关的公钥时,必须确保该实体的身份,即它确实是它声称的实体:为此,我们使用证书。
它们是允许您检查公钥是否属于某个实体的文档。数字证书包含
- 有关密钥的信息;
- 有关所有者身份的信息;
- 已验证证书内容的实体的数字签名。
签名不过是一个字节序列,一种摘要,使用证书颁发机构的私钥加密。验证签名意味着检查证书是否已由证书颁发机构验证,因此您只需使用其证书(其中包含公钥)来解密签名即可。认证实体的证书可能已经为主机所知,例如因为它已经存在于操作系统或 Web 浏览器中,或者它可能需要下载并依次以相同方式验证。根 CA 证书必须以可靠的方式获得。