密码常识测试

对以下观点进行评论,分别论述你认为这个观点是正确还是错误的(1分)?为什么(2分)?你的参考资料或判断的信息来源是什么?(2分)

  1. 很多企业和技术人文都有下面这样的想法∶“由公司或自己开发一种密码算法,并将这种算法保密,这样就能保证安全。"
  2. 使用地低强度的密码算法,比如凯撒密码,也比完全不加密更安全。
  3. 一次性密码本(one-time pad)或一次一密是无法被破解的,所以日常的数据加密应该使用一次性密码本算法。
  4. 只要密码算法强度足够,实现正确就可以保证信息安全

1.很多企业和技术人文都有下面这样的想法∶“由公司或自己开发一种密码算法,并将这种算法保密,这样就能保证安全。"

答:错误。设计者应该公开加密/解密算法以对其进行攻击和密码分析测试,并且对未公开的算法进行严格的测试,因为它没有针对攻击进行测试。世上没有牢不可破的密码体制,任何密码体制都需要不断测试不断完善,闭源的密码体制由于其设计理念和使用群体的局限性并不能完善的测试该体制的安全性,而公开的算法已经过大量测试和同行评审,并且普遍的共识是它是安全的,那么这将使用户对系统更有信心

(1)密码算法的密码早晚会公诸于世

从历史上看,密码算法的密码最终无一例外地会被暴露出来。例如RSA公司开发的RC4密码算法曾经也是保密的,但最终还是被一位匿名人士开发并公开了与其等效的程序。

一旦密码算法的详细信息被暴露,依靠对密码算法本身进行保密来确保机密性的密码系统也就土崩瓦解了。反之,那些公开的算法从一开始就没想过要保密,因此算法的暴露丝毫不会削弱它们的强度。

(2)开发高强度的密码算法是非常困难的

要比较密码算法的强弱是极其困难的,因为密码算法的强度并不像数学那样可以进行严密的证明。密码算法的强度值能通过事实来证明,如果专业密码破译者经过数年的尝试仍然没有破解某个密码算法,则说明这种算法的强度较高。

稍微聪明一点的程序员很容易就能够编写出“自己的密码系统”。这样的密码在外行看来貌似牢不可破,但在专业密码破译者眼里,要破解这样的密码几乎是手到擒来。

现在世界上公开的被认为强度较高的密码算法,几乎是经过密码破译者长期尝试破解未果而存活下来的。因此,如果认为“公司自己开发的密码系统比那些公开的密码系统更强”,那只能说是过于高估自己公司的能力了。

试图通过对密码算法本身进行保密来确保安全性的行为,一般称为隐藏安全性,这种行为是危险且愚蠢的。

反过来说,将密码算法的详细信息以及程序源代码全部交给专业密码破译者,并且为其提供大量的明文和密文样本,如果在这样的情况下破译一段新的密文依然需要花上相对长的时间,就说明这是高强度的密码。

参考:关于安全性:为什么建议公开加密算法?密码和信息安全常识


2.使用低强度的密码算法,比如凯撒密码,也比完全不加密更安全

答:错误。正确的想法应该是:与其使用低强度的密码,还不如从一开始就不使用任何密码。

这主要是由于用户容易通过“密码”这一词获得一种“错误的安全感”。对于用户来说,安全感与密码的强度无关。而只是由“信息已经被加密了”这一事实产生的,而通常会导致用户在处理一些机密信息的时候麻痹大意。

参考:密码和信息安全常识


3.一次性密码本(one-time pad)或一次一密是无法被破解的,所以日常的数据加密应该使用一次性密码本算法。

答:错误。

(1)密钥配送问题
  密钥和原文以及密文都是等长的,目标端如果想解密就必须拿到密钥,如果能有一种方法将密钥安全地发送出去,那么岂不是也可以用同样的方法来安全发送明文吗?
(2)密钥保存问题
  如果有办法安全保存与明文一样长的密钥,那不是也有办法安全保存明文本身吗?也就是说,从一开始我们根本就不需要密码。
(3)密钥的重用
  在一次性密码本中绝对不能重用过去用过的随机比特序列,一次性密码本中的“一次性”也正是由此而来。这是因为作为密钥的比特序列一旦泄密,过去所有的机密通信内容将全部被解密。每个密钥只用一次,这即是缺点也是优点。意味着我们每次都要不停的更换密钥,增加了复杂性。
(4)密钥的同步
  当明文很长时,一次性密码本也会跟着变长。如果明文是一个大小为100MB的文件,则密钥的大小也一定是100MB。而且在通信过程中,发送者和接收者的密钥的比特序列不允许任何错位,否则错位的比特后的所有信息将无法解密。
(5)密钥的生成
  在一次性密码本中,需要生成大量的随机数。这里的随机数并不是通过计算机程序生成的伪随机数,而必须是无重复性的真正随机数。
参考:一次性密码本(绝对无法破译)


4.只要密码算法强度足够,实现正确就可以保证信息安全

答:错误。在信息安全的保障过程中,最重要以及最容易发生问题的就是人,由于人员失泄密导致的问题不计其数。密码算法自身的强度只能保证不被破译,实现正确能保证加解密的结果是正确的。另一方面,无论使用任何密码算法所生成的密文,只要将所有可能的密钥全部尝试一遍,就总有一天可以破译出来。因此,破译密文所需要花费的时间,与要保密的明文的价值之间的权衡就显得非常重要。

参考:保密工作警示教育案例密码学技术导论篇

posted @ 2023-02-25 14:38  20201324徐源  阅读(49)  评论(0编辑  收藏  举报