接上帖
在传统的加密算法中, 用于解密消息的密钥与用于加密的密钥是相同的,该密钥必须被秘密保存, 并按一定规则进行变化。这样, 密钥分配在链路加密系统中就成了一个问题, 因为每一个节点必须存储与其相连接的所有链路的加密密钥, 这就需要对密钥进行物理传送或者建立专用网络设施。而网络节点地理分布的广阔性使得这一过程变得复杂, 同时增加了密钥连续分配时的费用。 节点加密 尽管节点加密能给网络数据提供较高的安全性, 但它在操作方式上与链路加密是类似的: 两者均在通信链路上为传输的消息提供安全性; 都在中间节点先对消息进行解密,然后进行加密。因为要对所有传输的数据进行加密, 所以加密过程对用户是透明的。 然而,与链路加密不同, 节点加密不允许消息在网络节点以明文形式存在,它先把收到的消息进行解密, 然后采用另一个不同的密钥进行加密, 这一过程是在节点上的一个安全模块中进行。 节点加密要求报头和路由信息以明文形式传输, 以便中间节点能得到如何处理消息的信息。因此这种方法对于防止攻击者分析通信业务是脆弱的。 端到端加密 端到端加密允许数据在从源点到终点的传输过程中始终以密文形式存在。采用端到端加密(又称脱线加密或包加密), 消息在被传输时到达终点之前不进行解密, 因为消息在整个传输过程中均受到保护, 所以即使有节点被损坏也不会使消息泄露。 端到端加密系统的价格便宜些, 并且与链路加密和节点加密相比更可靠,更容易设计、实现和维护。端到端加密还避免了其它加密系统所固有的同步问题, 因为每个报文包均是独立被加密的, 所以一个报文包所发生的传输错误不会影响后续的报文包。此外,从用户对安全需求的直觉上讲, 端到端加密更自然些。单个用户可能会选用这种加密方法, 以便不影响网络上的其他用户, 此方法只需要源和目的节点是保密的即可。 端到端加密系统通常不允许对消息的目的地址进行加密, 这是因为每一个消息所经过的节点都要用此地址来确定如何传输消息。由于这种加密方法不能掩盖被传输消息的源点与终点, 因此它对于防止攻击者分析通信业务是脆弱的。 |