📅  最后修改于: 2021-01-12 04:40:05             🧑  作者: Mango
密码系统是密码技术及其随附基础结构的实现,以提供信息安全服务。密码系统也称为密码系统。
让我们讨论一个简单的密码系统模型,该模型为正在传输的信息提供机密性。下图说明了此基本模型-
该图显示了一个发送方,该发送方希望以某种方式将一些敏感数据传输到接收方,以使在通信信道上进行侦听或窃听的任何一方都无法提取数据。
这个简单的密码系统的目标是,在过程结束时,只有发送者和接收者才知道明文。
基本密码系统的各个组成部分如下-
纯文本。是传输期间要保护的数据。
加密演算法。这是一个数学过程,可为任何给定的明文和加密密钥生成密文。它是一种加密算法,将纯文本和加密密钥作为输入并生成密文。
密文。它是加密算法使用特定的加密密钥生成的明文的加密版本。密文不受保护。它在公共频道上流动。可以访问该通信通道的任何人都可以拦截或破坏它。
解密算法,这是一个数学过程,可为任何给定的密文和解密密钥生成唯一的明文。它是一种密码算法,将密文和解密密钥作为输入,并输出纯文本。解密算法本质上是逆向加密算法,因此与之紧密相关。
加密密钥。这是发件人已知的值。发送者将加密密钥与明文一起输入到加密算法中,以计算密文。
解密密钥。这是接收者已知的值。解密密钥与加密密钥有关,但并不总是相同。接收器将解密密钥与密文一起输入解密算法中,以便计算明文。
对于给定的密码系统,所有可能的解密密钥的集合称为密钥空间。
拦截器(攻击者)是试图确定明文的未授权实体。他可以看到密文,并且可以知道解密算法。但是,他绝不能知道解密密钥。
从根本上讲,基于在系统中执行加密解密的方式,有两种类型的密码系统-
这些密码系统之间的主要区别是加密和解密密钥之间的关系。逻辑上,在任何密码系统中,两个密钥都是紧密关联的。实际上,用与加密密钥无关的密钥解密密文是不可能的。
使用相同密钥对信息进行加密和解密的加密过程称为对称密钥加密。
对称密码系统的研究称为对称密码学。对称密码系统有时也称为秘密密钥密码系统。
对称密钥加密方法的一些著名示例是-数字加密标准(DES),三重DES(3DES),IDEA和BLOWFISH。
1970年之前,所有密码系统都采用对称密钥加密。即使在今天,它的相关性仍然很高,并且已在许多密码系统中广泛使用。这种加密不太可能消失,因为它比非对称密钥加密具有某些优势。
基于对称密钥加密的密码系统的主要特征是-
使用对称密钥加密的人员必须在交换信息之前共享一个公共密钥。
建议定期更改密钥,以防止对系统造成任何攻击。
需要一种健壮的机制来在通信方之间交换密钥。由于需要定期更改密钥,因此该机制变得昂贵且麻烦。
在n个人的组中,要实现任何两个人之间的两方通信,组所需的密钥数为n×(n – 1)/ 2 。
此加密中的密钥长度(位数)较小,因此,加密/解密过程比非对称密钥加密要快。
运行对称算法所需的计算机系统处理能力较小。
使用对称密钥密码术存在两个限制性挑战。
密钥建立-在进行任何通信之前,发送者和接收者都需要就秘密对称密钥达成一致。它需要适当的安全密钥建立机制。
信任问题-由于发送方和接收方使用相同的对称密钥,因此隐含要求发送方和接收方彼此“信任”。例如,可能发生的情况是,接收者已将密钥丢失给了攻击者,而未通知发送者。
这两个挑战极大地限制了现代交流。今天,人们需要与不熟悉且不受信任的各方交换信息。例如,在线卖方和客户之间的通信。对称密钥加密的这些限制导致了非对称密钥加密方案。
使用不同密钥对信息进行加密和解密的加密过程称为非对称密钥加密。尽管密钥不同,但是它们在数学上相关,因此,通过解密密文来检索纯文本是可行的。下图描述了该过程-
非对称密钥加密发明于20世纪,以通信的人之间的预共享密钥的必要性过来。此加密方案的主要特征如下-
该系统中的每个用户都需要具有一对不同的密钥,即私钥和公钥。这些密钥在数学上相关-当一个密钥用于加密时,另一个可以将密文解密回原始明文。
它要求将公钥放入公共存储库,并将私钥作为一个受到严格保护的秘密。因此,这种加密方案也称为公钥加密。
尽管用户的公钥和私钥是相关的,但从计算上找到另一个是不可行的。这是该方案的优势。
当Host1需要将数据发送到Host2时,他从存储库中获取Host2的公钥,对数据进行加密并进行传输。
Host2使用其私钥提取明文。
此加密中的密钥长度(位数)很大,因此,加密-解密过程比对称密钥加密要慢。
运行非对称算法所需的计算机系统的处理能力更高。
对称密码系统是一个自然的概念。相反,公钥密码系统很难理解。
您可能会认为,加密密钥和解密密钥如何“相关”,但无法从加密密钥确定解密密钥?答案在于数学概念。可以设计其密钥具有此属性的密码系统。公钥密码术的概念相对较新。公钥算法比对称算法少。
公钥密码系统面临一个重大挑战-用户需要相信,他在与某人通信时使用的公钥确实是该人的公钥,并且未被恶意第三方欺骗。
这通常是通过包含受信任的第三方的公钥基础结构(PKI)来完成的。第三方安全地管理和证明公钥的真实性。当要求第三方为任何通信者X提供公共密钥时,他们被信任提供正确的公共密钥。
第三方通过证明,公证或其他某种方式满足用户的身份要求-X是唯一的X或全局唯一的X。使已验证的公共密钥可用的最常见方法是将它们嵌入由受信任的第三方进行数字签名的证书中。
下面给出了两种类型的密码系统的基本密钥属性的摘要-
Symmetric Cryptosystems | Public Key Cryptosystems | |
---|---|---|
Relation between Keys | Same | Different, but mathematically related |
Encryption Key | Symmetric | Public |
Decryption Key | Symmetric | Private |
由于两个系统的优缺点,对称密钥和公共密钥密码系统经常在实际的信息安全系统中一起使用。
在19世纪,荷兰译电员A. Kerckhoff提供一个良好的密码系统的要求。 Kerckhoff指出,即使系统的所有内容(除了密钥)都是公共知识,加密系统也应该是安全的。 Kerckhoff为密码系统定义的六个设计原则是-
如果不是数学上的话,密码系统在实践中应该是坚不可摧的。
密码系统落入入侵者之手不应导致系统受到任何损害,从而避免给用户带来任何不便。
密钥应该易于传达,记忆和变化。
密文应该可以通过不安全的渠道电报传输。
加密设备和文件应该是便携式的,并且可以由一个人操作。
最后,该系统必须易于使用,既不需要精神压力,也不需要了解一系列长规则。
第二条规则目前称为Kerckhoff原理。几乎所有当代加密算法(例如DES,AES等)都应用了该算法。这些公共算法被认为是完全安全的。加密消息的安全性完全取决于秘密加密密钥的安全性。
保持算法秘密可能会成为密码分析的重要障碍。但是,只有在严格限制的范围内使用算法时,才可以将算法保密。
在现代时代,密码学需要迎合连接到Internet的用户。在这种情况下,使用秘密算法是不可行的,因此Kerckhoff原则成为现代密码术中设计算法的基本准则。