密钥加密的核心原则是使用双方之间的共享密钥来加密和解密消息。相同的密钥用于加扰和解密邮件,以便只有预期的收件人才能阅读它们。这是通过使用加密算法完成的,该算法对明文消息和密钥执行数学运算以生成密文,该密文显示为随机且不可读的字符。然后,收件人使用相同的密钥和算法将密文解密回原始明文消息。密钥算法的优势在于密钥的保密性,因为任何没有密钥的人都无法破译消息。算法本身(如 AES)可作为公共标准使用。
基于密钥的身份验证
基于密钥的身份验证是一种通过间接比较密钥来验证用户身份的方法,密钥是用户和系统之间的共享密钥。当系统需要在授予对敏感数据或资源的访问权限之前验证用户的身份时,这种身份验证方法广泛用于计算机系统。
在这种身份验证方法中,只有用户和系统知道密钥。密钥通常是在用户注册时在用户和系统之间安全交换一次的随机值。然后,用户和系统稍后使用此密钥来处理身份验证流期间交换的数据。
一种常见的身份验证方法是质询-响应方法,其中系统向用户发送随机、不可重复的消息(质询),以通过要求用户使用共享密钥加密消息来证明其身份。然后,用户通过向加密消息提供密钥来响应质询。系统对同一消息运行相同的操作。如果结果匹配,则意味着用户和系统都使用相同的密钥,这使得用户可信,因为只有该用户应该知道密钥值。此外,窃听用户和系统之间的通信不会泄露有关密钥的任何信息。这是设计使然:加密算法密钥无法根据明文和相应密文的知识来计算。这些算法使得攻击者必须尝试所有可能的键值。由于典型的密钥长度为 128 位,因此 2128可能的键值,对应于 3.4x1038.如果计算机每秒可以尝试 10 亿个密钥 (<>9),大约需要 1022年,这比宇宙的年龄还要多。用于此目的的典型算法是AES(一种名为AES-MAC的特殊风格),或HMAC(基于哈希的MAC)。这些是使用单向加密的特殊结构,它将任意明文消息作为输入,并生成称为“消息身份验证代码”(MAC)的固定大小签名作为输出,而不是密文。
通过验证用户已知的密钥是否与存储在系统中的密钥匹配,系统可以确定用户就是他们声称的身份。
图1 - 使用基于密钥的MAC算法的质询-响应身份验证
优点和缺点
基于密钥的身份验证的一个关键好处是简单,因为用户和系统共享相同的密钥,密钥管理更容易:每个用户都有一个唯一的密钥,并且系统知道每个用户的密钥。为了降低密钥存储要求,系统可以选择使用唯一的根密钥,通过将根密钥与用户的身份组合来计算每个用户的密钥。然后,不再需要维护(用户,密钥)对的数据库,而是在每次需要时根据用户的身份和根密钥重新计算用户的密钥。
基于密钥的身份验证的一个潜在缺点是用户和系统需要共享相同的密钥。当用户和系统位于不同的物理位置或无法安全通信时,这可能具有挑战性。但是,存在一些使用基于公钥的加密协议(Diffie-Hellmann)的技术,以在不安全的网络上执行安全的密钥交换。
另一个警告是,如果密钥被泄露,那么整个身份验证方法的安全性也可能受到损害,特别是当系统使用根密钥时。泄露唯一的根密钥将允许攻击者通过知道他们的身份来冒充任何用户,从而破坏整个系统。
总结:
基于密钥的身份验证是一种广泛使用的方法,用于验证 Kerberos 等计算机系统中用户的身份。它简单、安全,并且可以以最小的开销快速执行,但在密钥分发和密钥泄露的弹性方面存在挑战。
审核编辑:郭婷
全部0条评论
快来发表一下你的评论吧 !